Lisp-Stick on a Python

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • py4cl

    Call python from Common Lisp

  • If you want to use Python libs from CL, see py4cl: https://github.com/bendudson/py4cl the other way around, calling your efficient CL library from Python: https://github.com/marcoheisig/cl4py/ There might be more CL libraries than you think! https://github.com/CodyReichert/awesome-cl (or at least a project sufficiently advanced on your field to join forces ;) )

  • cl4py

    Common Lisp for Python

  • If you want to use Python libs from CL, see py4cl: https://github.com/bendudson/py4cl the other way around, calling your efficient CL library from Python: https://github.com/marcoheisig/cl4py/ There might be more CL libraries than you think! https://github.com/CodyReichert/awesome-cl (or at least a project sufficiently advanced on your field to join forces ;) )

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • awesome-cl

    A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.

  • If you want to use Python libs from CL, see py4cl: https://github.com/bendudson/py4cl the other way around, calling your efficient CL library from Python: https://github.com/marcoheisig/cl4py/ There might be more CL libraries than you think! https://github.com/CodyReichert/awesome-cl (or at least a project sufficiently advanced on your field to join forces ;) )

  • calysto_scheme

    A Scheme kernel for Jupyter that can use Python libraries

  • microKanren

    The implementation of microKanren, a featherweight relational programming language

  • which uses a Lisp to define itself. This means roughly that if you understand enough Lisp to understand this program (and the little recursive offshoots like eval-cond), there is nothing else that you have to learn about Lisp. You officially have read the whole language reference and it is all down to libraries after that. Compare e.g. with trying to write Rust in Rust where I don't think it could be such a short program, so it takes years to feel like you fully understand Rust.

    Indirectly this also means that lisps are very close at hand for “I want to add a scripting language onto this thing but I don't want to, say, embed the whole Lua interpreter” and it allows you to store user programs in a JSON column, say. You also can adapt this to serialize environments so that you can send a read-only lexical closure from computer to computer, plenty of situations like that.

    Aside from the most famous, you have things like this:

    1. The heart of logic programming is also only about 50 lines of Scheme if you want to read that:

    https://github.com/jasonhemann/microKanren/blob/master/micro...

    2. Hygienic macros in Rust probably owe their existence to their appearance in Lisps.

    C2 asks the same question here: https://wiki.c2.com/?LispShowOffExamples with answers like

    3. The object model available in Common Lisp was more powerful than languages like Java/C++ because it had to fit into Lisp terms (“the art of the metaobject protocol” was the 1991 book that explained the more powerful substructure lurking underneath this object system), so a CL programmer could maybe use it to write a quick sort of aspect-oriented programming that would match your needs.

    4. Over there a link shows how in 16 LOC you can implement a new domain-specific language to define and run finite state machines: http://www.findinglisp.com/blog/2004/06/automaton-cleanup.ht...

  • sucle

    Common Lisp Voxel Game Engine

  • clinch

    Common Lisp 3D/2D Graphics Engine for OpenGL

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • trial

    A fully-fledged Common Lisp game engine

  • nyxt

    Nyxt - the hacker's browser.

  • legit

    CL interface to the GIT binary. (by Shinmera)

  • There is something I saw on the wild here https://github.com/Shinmera/legit/blob/master/repository.lis... which thought was pretty cool.

    We all know about memoize, but let's say I want to define a global hashmap, where the keys are actual pieces of code and the value the result that would be evaluated when executed. Something like this:

      | Key                        | Value                          |

  • nimforum

    Lightweight alternative to Discourse written in Nim

  • You sound like you are in just the right demographic to love Nim...The Forum [1] is a good place to get support.

    https://forum.nim-lang.org/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts