History of Lisp Parentheses (2019)

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

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • history-of-lisp-parens

    Discontinued a history of Lisp's most notorious artifact, parentheses

  • > M-expressions ("never implemented")

    There were a bunch of approaches and even implemented languages.

    https://github.com/shaunlebron/history-of-lisp-parens/blob/m...

  • cl-sdl2

    Common Lisp bindings for SDL2 using C2FFI.

  • I dunno, my Lisp code comes back in pretty frequently, but I'm defining new functions, using CLOS, making use of let* or other nifty macros (uiop:nest is occasionally useful), and refactoring when a function gets too large. But compared to horrors I've frequently seen in JavaLand (especially in older code when the more modern practice of extract function refactoring was less common, more laborious, and not really automated), tons of Lisp code I come across from others has been pretty sane as far as indentation and spacing goes.

    It seems like a problem mostly handled by style, just because you can easily represent the whole expanded AST in one function definition doesn't mean you should. And sure there are plenty of (in my opinion) not so great examples out there, like it's rather unfortunate that this is the first example for the cl-sdl2 project: https://github.com/lispgames/cl-sdl2/blob/main/examples/basi... (Though on another metric, the longest line is only 96 characters; most of my lines happen to be under 80 but I don't hold myself to that limit, my screen and editor windows support wide lines by default, like >200 characters wide.) The huge nest of with-macros further impedes runtime redefinition and modification, because now sure you can change code and redefine the function, but your game loop isn't going to see any of that on further iterations. At least the other renderer.lisp example is moving in a better direction splitting the game loop up into several draw functions, and you see those have a normal pattern of going out and then back in.

    Urbit docs for its language Hoon once called the phenomenon something like "attacking the right margin". I recalled this fosdem paper describing it more https://archive.fosdem.org/2018/schedule/event/urbit/attachm... especially in 6.3.2:

    > There are two common syntactic problems in functional languages: closing terminator piles (eg, right parens in Lisp) and indentation creep. A complex function will have a deep AST; if every child node in that AST is indented past its parent, any interesting code tends to creep toward the right margin. To solve terminator piles, there are two forms of every Hoon twig: “tall” and “flat”, ie, multiline and single-line. Tall twigs can contain flat twigs, but not vice versa, mimicking the look of “statements” and “expressions” in an imperative language. Flat form is enclosed by parentheses and separated by a single space; tall form is separated by multiple spaces or a newline, and (in most cases) not enclosed at all. ...

    > Right-margin creep is prevented by backstep indentation; where a classical

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

    An operating function

  • ?., which reverses q and r.

    Hoon code is rather interesting to look at, especially the rune vs keyword syntax (random file: https://github.com/urbit/urbit/blob/master/pkg/arvo/lib/aqua...) but I don't think it's worth the effort.

  • Mathics

    This repository is for archival. Please see https://github.com/Mathics3/mathics-core

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

  • Jack Dorsey has set a 1 billion sats (10 bitcoin) bounty for a permissionless alternative to GitHub based on Nostr

    1 project | /r/Bitcoin | 4 Mar 2023
  • I Don't See the Appeal of Crypto

    1 project | /r/IntellectualDarkWeb | 28 Feb 2023
  • [SERIOUS] What are your thoughts on a Decentralized Twitter?

    1 project | /r/CryptoCurrency | 14 Dec 2022
  • Blockchain OS

    1 project | /r/osdev | 12 Dec 2022
  • The world needs a free and decentralized social network

    1 project | /r/AskLibertarians | 14 Sep 2022