glsp
steel
glsp | steel | |
---|---|---|
8 | 9 | |
388 | 856 | |
- | - | |
3.6 | 9.0 | |
about 2 years ago | 5 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
glsp
-
Steel – An embedded scheme interpreter in Rust
3. Typed Racket
I almost used https://gamelisp.rs/ for a project but the nightly feature it needs broke and it's no longer maintained, glad to see something similar arise! You might want to consider adopting their choice of VecDeque as a list replacement, I think it makes a lot more sense than naive linked lists on modern machines.
-
Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.68]
Varied employment history has left me with great soft skills and a broad grab-bag of technical skills, mostly leaning towards high-performance systems programming. Major solo projects have included the scripting language GameLisp, a 2D game engine, and a novel computer vision library.
-
Interesting or distinctive lisps?
"Gamelisp is a scripting language for Rust game development." Feature list from the page: No garbage collection pauses (runs gc once per frame), Seamless Rust API, Memory-safe, Feature-rich ("Pattern‑matching, iterators, coroutines, macros..."), Easy entity scripting.
-
RoguelikeDev Does The Complete Roguelike Tutorial - Week 1
I'm using Rust to build a host program, and the actual game logic written in GameLisp on top of the bracket-lib. I only have superficial knowledge of Rust, 0 lisp experience, and never embedded a language before, so that's a lot to learn and implement at the same time.
-
RoguelikeDev Does The Complete Roguelike Tutorial Starting June 29th 2021
I'm not sure I'll go to the end of the 8 weeks, but I'll make that as fun/interesting as possible and (try to) use GameLisp!
-
Implementing a VM: how unsafe should I go?
I feel qualified to answer this! GameLisp was once implemented with highly unsafe code, but later on I reimplemented it using only safe code, with a very small amount of optional unsafety behind a feature flag. GameLisp's performance is currently somewhere between Lua and Python when unsafe code is switched on, or a bit slower than Python when unsafe code is switched off.
- Practicality of embedding a lisp/scheme interpreter that is implemented as C library?
-
Version 0.2 of GameLisp, a scripting language for Rust game development
It took a lot of wrestling with the type system, but I've managed to wring out several API improvements for version 0.2. I already considered GameLisp's Rust API to be best-in-class, and this release polishes it even further:
steel
-
Helix: Release 24.03 Highlights
I absolutely don't mind the plugin system being a Scheme. It's a plugin for a text editor, and Steel(https://github.com/mattwparas/steel) seems to be a lot less of a maintenance burden than WASM plugins(besides that I find the WASM tooling to be extremely complex).
But besides all that, Helix learned be that I don't need fancy plugins or endless finicking with config files and toolchains. Using a combination of other tools, like yazi and lazygit, helps me not only inside my editor but outside of it as well. And Kakoune does this even better. In that regard it has been a real eye-opener and refreshing. The downside is, it's hard to go back to other editors!
- Steel – An embeddable and extensible Scheme dialect
-
Steel – An embedded scheme interpreter in Rust
Basically the differences are in the concepts you'll use to write code. Lisps themselves are very different from each other, but just like the languages you're used to, lisps have standard libraries that can be called, and those building blocks can be used to build applications or whatever else. In this case specifically, Steel provides the facility to call Rust functions within a Steel program: https://github.com/mattwparas/steel.
So, although I haven't used Steel, it looks like the advantage you'd get from using it is the opportunity to take advantage of features it provides like transducers and contracts, which are feature common to other Lisps as well.
So, just like choosing any other language, it boils down to a series of tradeoffs.
-
What’s everyone working on this week (19/2023)?
I've been adding my language steel as the plugin language for helix. There is a lot of discussion around what the plugin system will look like for helix and I figured I'd give it a shot since steel was designed originally for embedding. So far its working pretty well, it turns helix into emacs (without the nearly 50 years of development, so not quite as good). I'm reasonably confident the changes won't be accepted upstream (my language is a scheme but I am the only developer at the moment), but even if not it is a really fun experiment. Hoping that it can be used as a basis for whatever plugin system they eventually land on. An example of what configuration would look like:
-
What’s everyone working on this week (7/2023)?
Working on automatic doc generation for steel. I've been procrastinating building this out for a while - some of the easy cases are really easy, while the hard cases are definitely not easy.
-
What's everyone working on this week (6/2023)?
I'm working on steel, an embedded scheme like programming language. I have lofty goals of eventually adding a JIT and making it viable as a standalone language, but for now its just about as fast as python, and makes for fairly pleasant embedded scripting. Recently added modules and dylibs, and am working on getting documentation into a better place so that adding more libraries becomes easier. I've written a functioning slack bot in it, which is pretty fun, eventually want to make a discord bot as well out of it just to stress test it a bit
- Guile Steel: a proposal for a systems Lisp
What are some alternatives?
libtcod - A collection of tools and algorithms for developing traditional roguelikes. Such as field-of-view, pathfinding, and a tile-based terminal emulator.
freya - Native GUI library for 🦀 Rust powered by 🧬 Dioxus and 🎨 Skia.
libtcod-vcpkg-template - A template for C++17 libtcod projects. This template uses Vcpkg to fetch dependencies.
astro-float - Arbitrary precision floating point numbers library
NetLogo - turtles, patches, and links for kids, teachers, and scientists
schemetran
bracket-lib - The Roguelike Toolkit (RLTK), implemented for Rust.
rust-s3-async-ffi - Asynchronous streaming of AWS S3 objects in C and C++ powered by rust-s3
medley - The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
mdbook-pdf-headless_chrome - A forked version from headless_chrome used by mdbook-pdf for the latest version and expanding some response timeout to 300 seconds.
phel-lang - Phel is a functional programming language that transpiles to PHP. A Lisp dialect inspired by Clojure and Janet.
tesseract-wasm - JS/WebAssembly build of the Tesseract OCR engine for use in browsers and Node