Functional Programming - caffeine-suite/caffeine-script GitHub Wiki
Related: Declarative Programming
Functional Oriented Programming (FOP)
Pure-functional programming has zero side-effects. Functional Oriented programming attempts to minimize side-effects, but uses them where it makes sense. In other words, in an imperative language, it's programming in a mostly-functional style.
CaffeineScript Enhancements for Functional Oriented Programming
- Everything Returns a Value
- Smart This-Binding helps bridge the FOP/OOP (Functional / Object Oriented Programming) gap
- Comprehensions and Iteration allows you to express complex 'loops' in a declarative, functional way
- Expressive Literals, including Structuring, Destructuring and Restructuring allow you to construct and disassemble complex data-structures with little or no imperative code
- Restructuring combines destructuring and structuring into a functionally-useful form