Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaredly/j3
Another attempt to realize my programming language
https://github.com/jaredly/j3
algebraic-data-types algebraic-effects lisp pure
Last synced: 12 days ago
JSON representation
Another attempt to realize my programming language
- Host: GitHub
- URL: https://github.com/jaredly/j3
- Owner: jaredly
- Created: 2023-01-05T06:32:39.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-07T03:37:28.000Z (2 months ago)
- Last Synced: 2024-10-04T13:36:22.905Z (about 1 month ago)
- Topics: algebraic-data-types, algebraic-effects, lisp, pure
- Language: JavaScript
- Homepage:
- Size: 64.5 MB
- Stars: 18
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Roadmap: Roadmap.md
Awesome Lists containing this project
README
# jerd, or maybe stoa
This used to be the repo of a programming language + structured editor.
Now I'm calling it a Language Development Environment; it's an editor that you can use to incrementally create self-hosted programming languages.
Currently I'm working on a terminal-based incarnation, because I thought it would be fun, and because the constraints allow me to focus in on the core functionality. You can see an example of what it looks like [here](https://x.com/jaredforsyth/status/1831887867712565312).
If you want to try out the terminal interface, you'll need two commands:
- `npm run ows` starts the server, which manages persistence
- `npm run owc` will start the cli clientBoth use `bun`, which handily evaluates typescript files without any fuss.
I recommend `pnpm` for installing the dependencies.
## The Compiler Tutorial
I've written a compiler (and type-checker) tutorial using the previous version of the Language Development Environment, which can be viewed at https://compiler.jaredforsyth.com. There's a lot of good stuff there, but I want to rewrite it entirely, and as a part of that I realized I needed to rebuild the LDE from the ground up. As one does.
## Repo organization
it is notmost of the new work is happening in the `one-world` directory.
other directories contain various previous versions.