At the Boston Lisp Meeting I gave a variant of my LambdaConf 2019 talk about lessons going from Lisp to OCaml—to a crowd of Lispers rather than typed FPers. I now think I should go back to Lisp, because I myself can add types to Lisp more easily than macros to OCaml or Haskell.
-
Show this thread
-
Now, the Lisp I am going back to is not Common Lisp, it's Gerbil Scheme https://cons.io/ or maybe Racket https://racket-lang.org/ — because only they already have good support for the kind of non-local module-scoped hygienic expansion necessary for type inference.
3 replies 2 retweets 12 likesShow this thread -
Another reason for reverting to Lisp is that I realize that I have to play on my strengths, not my weaknesses, and that under right deadlines I don't have the time to become the expert I'd have to be to make my immediate projects work in e.g. Haskell.
1 reply 0 retweets 7 likesShow this thread -
Finally, interacting with now former employees, I realized sharing a mindset is essential to building software together, and that I am unlikely to find Haskellers who understand much less appreciate the system paradigm, not to mention tooling support. But many Lispers like types.
1 reply 1 retweet 12 likesShow this thread -
In the "programming language" paradigm, the code you write *is* "the program". In the "system" paradigm, it is an interaction with the system, that *builds* "the program". Build time effects are sacrilegious impurity to the former, often necessary scaffolding to the latter.
1 reply 4 retweets 28 likesShow this thread -
Replying to @Ngnghm
Is there more to read about the system paradigm? Or is something you made up just now? How is Lisp better at it? Is it about macros? Are macros super good for systems?
1 reply 0 retweets 1 like
The classic article on the system paradigm vs the programming language paradigm is "The Structure of a Programming Language Revolution" by Richard P. Gabriel https://www.dreamsongs.com/Files/Incommensurability.pdf … Macros are "just" formalizing the fact that building software uses scaffolding all the way down.
-
-
Replying to @Ngnghm @alex_berg
@Ngnghm Thank you for the reference to that paper. I really enjoyed it. Very glad to read something that relates Kuhn to our field. Relevant as I most deeply grok Haskell/Idris (languages paradigm), but am deeply fascinated by Erlang/Scheme/Racket/Smalltalk (systems paradigm).0 replies 0 retweets 3 likesThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!