5 ms·
There are also plenty of Lisp programmers that think that it's a real tool to solve real problems, not just an educational oddity. There are a bunch of Lisps o
by davexunit 9y ago
There are also plenty of Lisp programmers that think that it's a real tool to solve real problems, not just an educational oddity. There are a bunch of Lisps out there, and plenty of them are by no means toys. My laptop's initial RAM disk and init system are Scheme programs.
- krapp 9y agoAnd it's not a Lisp per se, but WebAssembly's text format uses s-expressions[0]. It's likely that the "oddity" of Lisps will seem less odd as adoption increases if they stick with that. [0]https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_format https://developer.mozilla.org/en-US/docs/WebAssembly/Underst...
- tomjakubowski 9y agogcc’s IR, “GIMPLE”, is also commonly printed in s-expression form.
- Mikeb85 9y agoAs is LLVM's. I think JVM's might be too, but not 100% sure. Haskell is also pretty much just a lisp with a whole lot of sugar added on.
- eropple 9y agoHow is Haskell a Lisp? To me, a Lisp pretty necessarily needs to treat the structure of its code as mutable data, which seems kind of incompatible?
- dllthomas 9y ago> How is Haskell a Lisp? ... both communities care a lot about rose trees?
- dllthomas 9y agoIf you squint right, both monads and lisp S-expressions are rose trees.
- mattgreenrocks 9y agoThe evaluation model of both is quite similar though (reduction), and you can see it in the similarities between Core Haskell and Core Scheme. AFAIK, there are very few truly built in types in Haskell. Most everything can be built out of data constructors and functions. That idea of many things being in language user space is pretty Lisp-y IMO.
- lispm 9y agoThe evaluation model is different. Lisp is using strict evaluation and Haskell is using lazy evaluation. Haskell is statically typed, Lisp is not. Lisp uses s-expressions for writing programs, Haskell does not. Generally Haskell and Lisp are very different languages: in syntax, semantics and pragmatics (how the language is used).
- kazinator 9y agoNo, it actually doesn't; that is a common misconception. Lisp images can modify themselves at run-time by replacing global function bindings with new functions, not by mutating code. Lisp macros must not in fact mutate the incoming source code which they transform.
- Mikeb85 9y ago> How is Haskell a Lisp? The same way Lisp is a functional language. It has to do with how both languages are built from only a few basic primitives, and how both are based on Lambda calculus.
- eropple 9y agoAn ML is also not a Lisp, though.
- dang 9y agoI had no idea they did that! Thanks! I was just thinking this morning about making Arc work in web assembly sometime.
- criddell 9y agoI just listened to an interview with Philippe Kahn and he mentioned that the language he uses today is Scheme.
- muxator 9y agowhat are you using? I want to try it.
- pmoriarty 9y agoNot to mention that one can get static typing in Lisps, if one wanted. See Typed Racket, for instance: https://download.racket-lang.org/docs/5.0/pdf/ts-guide.pdf https://download.racket-lang.org/docs/5.0/pdf/ts-guide.pdf