embedded-scripting-languages
glsp
embedded-scripting-languages | glsp | |
---|---|---|
11 | 8 | |
1,218 | 388 | |
- | - | |
8.1 | 3.6 | |
about 2 months ago | about 2 years ago | |
Rust | ||
- | 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.
embedded-scripting-languages
-
Steel – An embedded scheme interpreter in Rust
Hopefully the linked README provides a general overview (I know I need to write some more documentation!), but Steel is an implementation of the scheme programming language (not entirely compliant yet, but aiming for R5RS and R7RS compliance). It can be used as a standalone language via the interpreter/repl (like Python or Racket), or it can be embedded inside applications, like Lua. There are hundreds (thousands, probably) of embeddable languages, each with their own flavor - see a list compiled here for example https://github.com/dbohdan/embedded-scripting-languages
Use cases are generally for either configuration, scripting, or plugins - so scripting in games, or adding extensions to your text editor without having to use FFI or RPC + serializing a bunch of data. The advantage it has over using dynamic libraries (in general) is it runs in the same process, and can access the internal data structures directly without a lot of ceremony involved. The downside is typically is not as fast as native code unless a JIT is involved.
Javascript is an example of an embedded scripting, where the browser is the host application.
-
Lua: The Little Language That Could
> There is a huge opportunity, IMO, for more players here.
There are quite a few embeddable scripting languages [1]. I think these days it's less common to embed a language mostly because there are good high-level languages that applications can be predominantly written in.
[1] https://github.com/dbohdan/embedded-scripting-languages
- Ask HN: Embeddable Value-Oriented Languages?
- Embedded Scripting Languages
-
Simple statically typed language with value semantics?
I'm not a huge fan of Lua but I think it is at least way more popular and better on every measure than TCL. There are plenty of other better less well-known options too: Rhai, Wren, AngelScript, Starlark (for some use cases), etc. There's a good list here.
- Language Interpreter for Coding Game
-
Choosing scripting extension - need advice
or perhaps use one of this list (depending on who's writing the configuration): https://github.com/dbohdan/embedded-scripting-languages
- Ana is a Python, PHP, and C inspired dynamically typed scripting language
-
How to implement an in-game programming language?
https://github.com/dbohdan/embedded-scripting-languages (coincidentally, from a user whose name I recognize from the Tcl wiki)
- Do you have problem to visit LambdaChip website?
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:
What are some alternatives?
Ark - ArkScript is a small, fast, functional and scripting language for C++ projects
libtcod - A collection of tools and algorithms for developing traditional roguelikes. Such as field-of-view, pathfinding, and a tile-based terminal emulator.
grule-rule-engine - Rule engine implementation in Golang
libtcod-vcpkg-template - A template for C++17 libtcod projects. This template uses Vcpkg to fetch dependencies.
wasmer-go - 🐹🕸️ WebAssembly runtime for Go
NetLogo - turtles, patches, and links for kids, teachers, and scientists
starlight - a go wrapper for google's starlark embedded python language
bracket-lib - The Roguelike Toolkit (RLTK), implemented for Rust.
Rhai - Rhai - An embedded scripting language for Rust.
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)
wazero - wazero: the zero dependency WebAssembly runtime for Go developers
phel-lang - Phel is a functional programming language that transpiles to PHP. A Lisp dialect inspired by Clojure and Janet.