Factorial Calculator - Ml Typing CST Test
Loading…
Factorial Calculator — Ml Code
Calculates factorial using recursion.
fun fact 0 = 1
| fact n = n * fact(n-1)
val result = fact 5;
print(Int.toString(result) ^ "\n");Ml Language Guide
ML (Meta Language) is a functional programming language known for its strong static type system, type inference, and pattern matching capabilities. It emphasizes immutability, recursion, and expressive type-safe programming, making it ideal for symbolic computation, theorem proving, and compiler development.
Primary Use Cases
- ▸Compiler and interpreter development
- ▸Theorem proving and formal verification
- ▸Symbolic computation
- ▸Algorithm prototyping
- ▸Academic research and teaching functional programming
Notable Features
- ▸Strong static typing with type inference
- ▸Pattern matching for control flow
- ▸Immutable data structures by default
- ▸First-class functions and higher-order functions
- ▸Module and functor system for abstraction
Origin & Creator
ML was developed in the early 1970s by Robin Milner and colleagues at the University of Edinburgh as a metalanguage for the LCF theorem prover.
Industrial Note
ML influenced many functional languages like OCaml, F#, and Haskell. It is still used in formal methods, compiler construction, and language research.