Why Turtl Switched from Common Lisp to JavaScript

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
  • woo

    A fast non-blocking HTTP server on top of libev

  • Strange, there is a great web server woo [1] and great parallel futures library for async lparalel [2] that we use with great results.

    [1] https://github.com/fukamachi/woo (4x faster than nodejs)

  • quick-patch

    Easily override quicklisp projects without using git submodules

  • On this:

    > I don’t have to deal with quicklisp’s “all or nothing” packaging that doesn’t support version pinning.

    it's easy to clone a given version on quicklisp's local-projects, but we also have Qlot and the emerging CLPM. See also the new https://github.com/tdrhq/quick-patch/

  • 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
  • core-cl

    (experimental, deprecated) Common Lisp core for Turtl. The goal is to put all logic in lisp, and embed in other runtimes (Node-webkit, Android, iOS). Note that most desktop/mobile browsers now support the features that turt/js needs to run, so turtl/core has reached the end of its life. It remains as a reference or as a great place to pick up from if lisp is needed in the future.

  • The backend switched from CL -> Nodejs, the frontend switched from JS -> Rust core bundled with JS ui.

    There was an experimental app core written in CL (https://github.com/turtl/core-cl) that is basically the precursor to what the rust core is today. I did have success embedding lisp (via ECL) into other components (like node-webkit at the time) but ultimately it was kind of an uphill battle, as with many off-the-beaten-path things in common lisp.

  • wookie

    Asynchronous HTTP server in common lisp

  • In this case, an async (via cl-async) application served by an async app server (http://wookie.lyonbros.com/), so async all the way down using evented I/O vs an async server (Woo) that farms out all requests to a synchronous thread pool.

  • doc

    Flexible documentation generator for Common Lisp projects. (by 40ants)

  • That is why I've put about half of this year into the Common Lisp documentation generator for all of my libraries.

    If you are interested, please read it's docs and join the effort of making good documentation for CL projects: https://40ants.com/doc/

  • 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
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