lamb/README.md

27 lines
697 B
Markdown

**Lamb** is a toy dynamically typed functional programming language
It's not meant for real-world use but for educational purposes on writing an interpreter with pattern matching in Haskell.
**Features**
* No re-assignment (i.e., once you bind a value, you can't re-assign it)
* Pattern matching: `f([]) -> "nothing". f([a]) -> one thing".`
* Imperative I/O
* Higher-order functions
* Lexical scope
**Hello World!**
From `examples/helloworld.lamb`:
hello() -> "hello, " + hello("world").
hello(object) -> object + "!".
putstrln(hello()).
See other examples in the `examples` directory.
**License**
Licensed under the terms of the zlib license. See `LICENSE` for details.