1. Home
  2. /
  3. Haskell
  4. /
  5. Recursion with Guards

Recursion with Guards - Haskell Typing CST Test

Loading…

Recursion with Guards — Haskell Code

Recursive function with guards to compute absolute value.

absVal :: Int -> Int
absVal x
	| x < 0 = -x
	| otherwise = x

main = print (absVal (-10))

Haskell Language Guide

Haskell is a purely functional, statically typed programming language known for immutability, strong type inference, mathematical precision, and high reliability. It is widely used in finance, compilers, research, distributed systems, and correctness-critical software.

Primary Use Cases

  • ▸Pure functional application development
  • ▸Distributed systems
  • ▸Financial trading engines
  • ▸Compilers & language tooling
  • ▸Formal verification
  • ▸Research & algorithm modeling
  • ▸Simulation & high-assurance software

Notable Features

  • ▸Purely functional programming
  • ▸Lazy evaluation model
  • ▸Advanced type system (typeclasses, GADTs, HKTs)
  • ▸Strong type inference
  • ▸Immutability-first design
  • ▸Concise mathematical syntax

Origin & Creator

Developed by a committee of academics in 1990 led by Simon Peyton Jones, Paul Hudak, and Philip Wadler to create a standard pure functional language.

Industrial Note

Haskell excels in domains needing mathematical correctness, high-assurance code, compiler/tooling development, fintech trading systems, distributed ledgers, blockchain research, and formally verifiable system design.

More Haskell Typing Exercises

Haskell Pure FunctionsHaskell Factorial and RecursionHaskell Map and FilterHaskell Maybe TypeHaskell Zip and List ComprehensionHaskell Higher-Order FunctionsHaskell Pattern Matching on TuplesHaskell Infinite ListsHaskell Function Composition

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher