4 ms·
Only tangentially related, but for anyone interested in the idea of a simple, quick Python-like scripting Lisp, there are two Clojure-style languages to look at
by netbioserror 2y ago
Only tangentially related, but for anyone interested in the idea of a simple, quick Python-like scripting Lisp, there are two Clojure-style languages to look at:
1) Hy (https://hylang.org/ https://hylang.org/, compiles to Python bytecode, usually slower than Python but compatible with all Python libraries)
2) Janet (https://janet-lang.org/ https://janet-lang.org/, very light Lua-style embeddable VM ~1 Mb, roughly twice as fast as Python for similar ops, very easy C interop)
- psychoslave 2y agoThat might look like a whim, but I always found Lisp to be a rebutal language due to it’s mandatory enclosing brackets. As M-expressions avoid this pitfall, I wonder if any actually language either implemented the homoiconicity and conceptual elegance of Lisp without requiring these encompassing parentheses.
- mik1998 2y agoMathematica.
- vindarel 2y agoI'll say Factor, maybe red-lang. (parens are great though ;) structural editing, no-brainer syntax, easy to extend the language. Once you pop parens, you can't stop)
- bunderbunder 2y agoThough, Factor is a concatenative language, so not exactly a lisp. Though it still has a lot to love for a lisper.
- baq 2y agohttps://github.com/yaml/yamlscript https://github.com/yaml/yamlscript yes, it's exactly what you think it is - here's the whole description, very to-the-point: > Program in YAML really needn't say more.
- SomeoneFromCA 2y agoHy looks good, python would benefit from lisp-like macros.
- bunderbunder 2y agoIt does, though I would also point out that decorators also cover a lot of the same practical use cases. And is probably the preferable solution if your goal is to benefit Python code in general. Hy macros can only be used from Hy code, so it's not really an "improve my Python codebase" play so much as it is a "I want a lisp that can leverage the existing Python ecosystem" play. Kind of like Clojure vis-a-vis Java.
- refset 2y ago3) Basilisp (https://github.com/basilisp-lang/basilisp https://github.com/basilisp-lang/basilisp, "A Clojure-compatible(-ish) Lisp dialect targeting Python 3.8+")
- vindarel 2y ago> quick python-like scripting since we're at it, why not a batteries-included Common Lisp: https://github.com/ciel-lang/ciel https://github.com/ciel-lang/ciel it comes as a binary that starts fast and that includes libraries for mundane tasks. (for more CL<->Python if anyone's interested: https://github.com/CodyReichert/awesome-cl?tab=readme-ov-file#python https://github.com/CodyReichert/awesome-cl?tab=readme-ov-fil...)
- trenchgun 2y agoCiel looks awesome
- emptysongglass 2y agoThis looks so cool. For CL newbies wanting to try and grok the value of a SLIME and REPL driven approach to development, are there any good beginner articles?
- vindarel 2y agoan actually difficult question! Different persons will absorb different things from articles, and will enjoy different projects as a first encounter. Pointers: https://lispcookbook.github.io/cl-cookbook/ https://lispcookbook.github.io/cl-cookbook/ (and see the Emacs or the debugging pages to see what's possible) see https://www.youtube.com/@CBaggers/playlists https://www.youtube.com/@CBaggers/playlists and either his introductions to Slime, either his introductions to CEPL to play with graphics interactively, also for graphics, a new 3D system in development: https://www.youtube.com/watch?v=liaLgaTOpYE https://www.youtube.com/watch?v=liaLgaTOpYE for an overview of how thought through is REPL driven development in CL: https://mikelevins.github.io/posts/2020-12-18-repl-driven/ https://mikelevins.github.io/posts/2020-12-18-repl-driven/ and, we are lucky (or cursed :] ), there are many more cool articles on the topic.
- koito17 2y agoCiel is exactly what I wanted out of a "scripting language" that runs atop Common Lisp. Really glad that you mentioned it. The built-in SLY/SLIME support makes me instantly want to ditch Babashka for this
- Kodiologist 2y agoHy slower than Python? It shouldn't be, at least at run-time. I maintain Hy. If you notice any meaningful performance differences, that's a bug.
- bunderbunder 2y agoI'm guessing what might really be happening is that functional code can be slow in Python. And Hy tends to encourage functional code where vanilla Python mostly discourages it.