defmacro - Functional Programming For The Rest of Us - 0 views
-
In a lazy language you have no guarantee that the first line will be executed before the second! This means we can't do IO, can't use native functions in any meaningful way (because they need to be called in order since they depend on side effects), and can't interact with the outside world! If we were to introduce primitives that allow ordered code execution we'd lose the benefits of reasoning about our code mathematically
-
continuations, monads, and uniqueness typing.
-
Alonzo Church developed a formal system called lambda calculus. The system was essentially a programming language for one of these imaginary machines
- ...18 more annotations...