From 802558bf3e17242b1516d26722f8a3ff87fcff74 Mon Sep 17 00:00:00 2001 From: Scott Richmond Date: Wed, 9 Jul 2025 23:50:12 +0000 Subject: [PATCH] Update README.md --- README.md | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index be588f6..32efc97 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ ![Ludus logo](logo.png) ## Ludus: A friendly, dynamic, functional language -Ludus is a scripting programming language that is designed to be friendly, dynamic, and functional. +Ludus is a scripting programming language that is friendly, dynamic, and functional. -This repo currently contains a work-in-progress implementation of an interpreter for the Ludus programming language, using [Janet](https://janet-lang.org) as a host language. +This repo contains a work-in-progress implementation of an interpreter for the Ludus programming language, using Rust as the host language. Ludus is part of the [_Thinking with Computers_ project](https://alea.ludus.dev/twc/), run by Scott Richmond at the University of Toronto, with collaborator Matt Nish-Lapidus; Bree Lohman and Mynt Marsellus are the RAs for the project. Ludus is our research language, which aspires to be a free translation of Logo for the 2020s. Here are our design goals: @@ -24,12 +24,10 @@ Ludus is emphatically functional: it uses functions for just about everything. T Also, we believe that Ludus's immutable bindings and persistent or immutable data structures and careful approach to manipulating state lead to a lot of good pedagogical results. Learning a programming language involves learning how to model what's going on inside the computer; Ludus, we think, makes that both simpler and easier. -If you're looking for cognate languages, Ludus takes a _lot_ of design inspiration from Clojure and Elixir (which itself took a lot from Clojure). (The current--quick, dirty, and slow--version of Ludus is written in [Janet](https://janet-lang.org).) Clojure and Elixir are great! If you're asking why you should use Ludus instead of them, you're already at the point where you should be using them. Ludus is, maybe, for the people whom you'd like to work with in 5 years at your Pheonix shop (but even then, probably not). +If you're looking for cognate languages, Ludus takes a _lot_ of design inspiration from Clojure and Elixir (which itself took a lot from Clojure). Clojure and Elixir are great! If you're asking why you should use Ludus instead of them, you're already at the point where you should be using them. Ludus is, maybe, for the people whom you'd like to work with in 5 years at your Pheonix shop (but even then, probably not). ### Status -Pre-alpha, still under active development. Lots of things change all the time. - -The current version of Ludus is a pure function that runs in JavaScript as a WASM blob. We have plans for more and better things. +Pre-alpha, still under active development. Lots of things change all the time. Definitely some broken bits, especially around processes. ### Use Current emphasis is on the web version: https://web.ludus.dev. @@ -44,11 +42,7 @@ Current emphasis is on the web version: https://web.ludus.dev. * Careful, explicit state management using `box`es * Clean, concise, expressive syntax * Value-based equality; only functions are reference types - -#### Under construction -* Actor-model style concurrency. -* Faster, bytecode-based VM written in a systems language, for better performance. -* Performant persistent, immutable data structures, à la Clojure. +* Persistent, immutable data structures, à la Clojure ### `Hello, world!` Ludus is a scripting language. At current it does not have a good REPL. Our aim is to get interactive coding absolutely correct, and our efforts in [ludus-web](https://github.com/thinking-with-computers/ludus-web) are currently under way to surface the right interactivity models for Ludus.