Skip to content

Instantly share code, notes, and snippets.

@xieyuheng
Last active November 16, 2024 17:46
Show Gist options
  • Save xieyuheng/17b98896f9e371b20b4d3e0d4b026a7e to your computer and use it in GitHub Desktop.
Save xieyuheng/17b98896f9e371b20b4d3e0d4b026a7e to your computer and use it in GitHub Desktop.
writing program in lisp is like building your house on shifting sand
the idea of lisp is good, thanks john mccarthy,
but the truth of the history of lisp is that,
there are many lisp systems, they compete with each other by optimization and new features,
maybe non of the people have bad intentions, but in effect every lisp system try to lock-you-in.
common-lisp coming to being because they struggle to write portable code,
then a committee is formed to design a "common"-lisp.
then common-lisp systems start the game all over again,
competing with each other by optimization and new features,
thus SBCL, CCL, ECL, ABCL, ACL, CLISP, ...
they still struggle to write portable code.
common-lisp failed it's goal to be a "common" lisp,
and there is no enjoyable applications written in common-lisp.
they do not write apps they just enjoy optimize their compilers,
and come up with new features to write blogs and books and papers about.
i try to read a book -- "1993-building-problem-solvers"
the code is in common-lisp: https://github.com/xieyuheng/1993-building-problem-solvers
you can not run the code anymore.
you can either update the code to newer version of SBCL, SBCL, CCL, ECL, ABCL, ACL, CLISP, ...
or you can just learn by reading the code and reimplement the ideas.
and the ideas are buried under the CLOS style OOP code,
which common-lispers are so proud of,
but imo it is not better then javascript's OOP.
scheme is no better, it is only a vehicle via which you learn ideas.
i was learning propagator model from sussman's papers,
the code was written on mit-scheme version 9.2: https://github.com/cicada-lang/propagator-original
so it only runs on this version, not even 10.0,
but now the stable mit-scheme version is 12.1.
writing code for such platform is like building your house on shifting sand.
i might enjoy a sand sculpture show, and learn ideas from that.
but i will never build my house on shifting sand.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment