4 ms·
Classical Lisp was never really big on FP. Scheme is the variant in which FP is more emphasized. If you look at the code of OpenGenera, it’s mostly OO/imperati
by mruts 8y ago
Classical Lisp was never really big on FP. Scheme is the variant in which FP is more emphasized.
If you look at the code of OpenGenera, it’s mostly OO/imperative.
Though modern FP has significantly diverged from Lisp and it’s roots. Things like static-typing, higher kinded types, etc etc
- ssivark 8y agoTo cut to the chase, is the takeaway claim that it's easy+performant to write low level code in lisp? Out of curiosity, what would be good examples along these lines? Thanks!
- jonjacky 8y agoSeveral examples inline, and links to more, here: https://news.ycombinator.com/item?id=16471019 https://news.ycombinator.com/item?id=16471019
- mruts 8y agoCheck out https://github.com/mietek/mit-cadr-system-software https://github.com/mietek/mit-cadr-system-software Itss a tape dump of the CADR system. Also you could check out OpenGenera, but it's not (legally) available. If you want modern examples, check out SBCL, the Common Lisp compiler https://github.com/sbcl/sbcl https://github.com/sbcl/sbcl While a Scheme and not a Lisp, you can check out Gambit Scheme. https://github.com/gambit/gambit https://github.com/gambit/gambit It's written in a functional style and compiles Scheme to C. The generated code is really fast. As an aside, there really should be no difference in performance between a loop and a tail recursive call, assuming the compiler does TCO. So if that's your definition of "functional", then it should have the same performance as any "imperative" language.