Tuesday, November 1, 2022

Decker 1.0

John Earnest:

Decker builds on the legacy of HyperCard and the visual aesthetic of classic MacOS. It retains the simplicity and ease of learning that HyperCard provided, while adding many subtle and overt quality-of-life improvements, like deep undo history, support for scroll wheels and touchscreens, more modern keyboard navigation, and bulk editing operations.

[…]

For more complex projects, Decker features a novel scripting language named Lil which is strongly influenced by both Lua, an imperative language popular for embedding in tools and game engines, and Q, a functional language in the APL family used with time-series databases. Lil is easy to learn and conventional enough not to ruffle any feathers for users with prior programming experience, but also includes pleasant surprises like implicit scalar-vector arithmetic and an integrated SQL-like query language.

Via John Gruber:

Decker is astonishing. At first glance you might mistake it as shallow, a fun nostalgic gimmick. […] The whole thing is beautiful and fun and useful and so engaging that I literally had a dream about using it last night. I don’t know what I’m going to make with Decker but I’ll be damned if I’m not going to make something. It’s that inspiring.

[…]

The native Mac app is just 4 MB. It’s free of charge and open source, but Earnest is accepting voluntary payments on the downloads page.

John Earnest:

Decks are usually distributed through the web, and to users who have a web browser. By making the document format amenable to embedding inside a valid HTML document’s <script> tag (with the necessary considerations for escaping special character sequences), it is possible to distribute decks as operating system- and architecture-agnostic “self-executing” documents which can also be read and manipulated without a complete HTML parser.

[…]

Advanced users may want to edit their Lil scripts using their favorite text editor. The document format puts special emphasis on representing scripts with their whitespace intact and a minimum of escaped characters to facilitate this.

[…]

Building upon the above, advanced users may want to store and track decks using existing source-control systems. Documents therefore use a line-oriented format compatible with tools like diff and attempt, within reason, to reflect localized edits to a deck in localized changes to the file.

1 Comment RSS · Twitter

This is genuinely really cool.

Leave a Comment