Skip to content

Commit 13cf30d

Browse files
committed
*: improve writing style in notes
1 parent 3193cb5 commit 13cf30d

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ To sort and filter the list interactively, visit the [webpage](https://dbohdan.g
2121
| AngelScript | [AngelScript](http://www.angelcode.com/angelscript/) | C++ | Ref. counting + cycle-detecting tracing GC | Zlib | A statically typed curly brace language resembling C++ itself. |
2222
| Anko | [Anko](https://github.com/mattn/anko/) | Go | Go's GC | MIT | Scriptable interpreter with syntax similar to Go. |
2323
| ArkScript | [ArkScript](https://github.com/SuperFola/Ark) | C++ | None (resource release is destruction + optional manual MM) | MPL-2.0 | A small functional Lisp-like programming language. Separate bytecode compiler and VM. |
24-
| Asp | [Asp](https://www.asplang.org/) | C | Ref. counting inside a static memory area | MIT | Python-like. Targets embedded systems. Allows blocking calls in scripts without blocking the application. Runs compiled bytecode. Not related to Microsoft's Active Server Pages. |
24+
| Asp | [Asp](https://www.asplang.org/) | C | Ref. counting inside a static memory area | MIT | Python-like. Targets embedded systems. Allows making blocking calls in scripts without blocking the main application. Runs compiled bytecode. Not related to Microsoft's Active Server Pages. |
2525
| Awk | [Libmawk](http://repo.hu/projects/libmawk/) | C | Ref. counting | **GPL-2.0** | Implements Awk. A fork of mawk 1.3 restructured for embedding. |
2626
| Awk, Basic, Pascal | [Libfawk](http://repo.hu/projects/libfawk/) | C | Ref. counting | BSD-3-Clause | A multi-language VM. Includes compilers for three languages: Fawk (Awk dialect), Fbas (Basic dialect), and Fpas (Pascal dialect). |
2727
| Basic | [MY-BASIC](https://github.com/paladin-t/my_basic) | C | Ref. counting + cycle-detecting tracing GC | MIT | A Basic dialect with prototype-based OOP. |
@@ -32,10 +32,10 @@ To sort and filter the list interactively, visit the [webpage](https://dbohdan.g
3232
| C#, other CLR languages | [Mono](http://www.mono-project.com/docs/advanced/embedding/scripting/) | C | Tracing | MIT and other | Implements the [CLR](https://en.wikipedia.org/wiki/Common_Language_Runtime). |
3333
| ChaiScript | [ChaiScript](http://chaiscript.com/) | C++ | Ref. counting | BSD-3-Clause | A header-only C++14 interpreter library. |
3434
| Clojure | [sci](https://github.com/borkdude/sci) | Clojure | host VM's GC | EPL-1.0 | An interpreter for a subset of Clojure for Clojure and ClojureScript. |
35-
| Common Expression Language (CEL) | [cel-go](https://github.com/google/cel-go) | Go | Go's GC | Apache-2.0 | A non-Turing-complete expression language. |
35+
| Common Expression Language (CEL) | [cel-go](https://github.com/google/cel-go) | Go | Go's GC | Apache-2.0 | Rust implementation of CEL, a non-Turing-complete expression language. |
3636
| Common Expression Language (CEL) | [cel-python](https://github.com/cloud-custodian/cel-python) | Python | Python's GC | Apache-2.0 | A non-Turing-complete expression language. |
3737
| Common Expression Language (CEL) | [cel-rust](https://github.com/clarkmcc/cel-rust) | Rust | None | MIT | A non-Turing-complete expression language. |
38-
| Common Lisp | [Clasp](https://github.com/drmeister/clasp) | Common Lisp, C++ | MPS GC (Boehm-Weiser also supported) | LGPL-2.0-or-later | Full Common Lisp implementation well integrated with C++, using LLVM for the code generation, to integrate closely with C++ applications or libraries. |
38+
| Common Lisp | [Clasp](https://github.com/drmeister/clasp) | Common Lisp, C++ | MPS GC (Boehm-Weiser also supported) | LGPL-2.0-or-later | Full Common Lisp implementation well-integrated with C++, using LLVM for code generation to integrate closely with C++ applications or libraries. |
3939
| Common Lisp | [Embeddable Common Lisp](https://gitlab.com/embeddable-common-lisp/ecl) | Common Lisp, C | Boehm-Weiser GC | LGPL-2.0-or-later | Full Common Lisp implementation, available as a shared library `libecl.so` embeddable in any C, C++ or other application. |
4040
| daScript | [daScript](https://dascript.org/) | C++ | None (region-based + manual MM?) | BSD-3-Clause | A statically-typed [performance-oriented](https://dascript.org/#performance) scripting language. |
4141
| Datalog | [AbcDatalog](http://abcdatalog.seas.harvard.edu/) | Java | JVM's GC | BSD-3-Clause | Implements Datalog. |
@@ -45,7 +45,7 @@ To sort and filter the list interactively, visit the [webpage](https://dbohdan.g
4545
| Datalog | [Datalog (MITRE Corporation)](http://datalog.sourceforge.net/) | C | Tracing (Lua's GC) | LGPL-2.0-or-later | Implements Datalog. It is implemented on top of Lua 5.3 and can be extended with Lua functions. |
4646
| Dhall | [Dhall](https://dhall-lang.org/) | Haskell | Haskell's GC | BSD-3-Clause | A statically-typed functional configuration language. Not Turing-complete. Untrusted code: can't access the file system, can fetch Dhall libraries over HTTP(S) from static URLs (but libraries aren't allowed to access your data), can use up memory and CPU time for a DoS attack. Has a work-in-progress Clojure and Ruby implementation. |
4747
| DWScript | [DWScript](https://bitbucket.org/egrange/dwscript/) | Object Pascal (Delphi 2009 or later) | Ref. counting + cycle-detecting tracing GC | MPL-1.1, GPL-3.0 (JavaScript code generator) | [Description](https://www.delphitools.info/dwscript). A statically typed Delphi/Free Pascal-like language. Can compile to JavaScript. |
48-
| Dyon | [Dyon](https://github.com/pistondevelopers/dyon) | Rust | None (Rust-style [lifetimes](http://www.piston.rs/dyon-tutorial/lifetimes.html)) | Apache-2.0 or MIT | Has optional, optimistic (succeed-by-default) static type checking. |
48+
| Dyon | [Dyon](https://github.com/pistondevelopers/dyon) | Rust | None (Rust-style [lifetimes](http://www.piston.rs/dyon-tutorial/lifetimes.html)) | Apache-2.0 or MIT | Features optional, optimistic (succeed-by-default) static type checking. |
4949
| Expr | [Expr](https://github.com/antonmedv/expr) | Go | Go's GC | MIT | Compiles and evaluates statically-typed expressions. |
5050
| Falcon | [Falcon](http://falconpl.org/) | C++ | Tracing | **GPL-2.0** or custom | The GC is pluggable. |
5151
| fe | [fe](https://github.com/rxi/fe) | C | Tracing | MIT | Uses a fixed-size memory region. No `malloc`. |
@@ -67,7 +67,7 @@ To sort and filter the list interactively, visit the [webpage](https://dbohdan.g
6767
| JavaScript | [Duktape](http://duktape.org/) | C | Ref. counting + cycle-detecting tracing GC | MIT | Implements JavaScript E5/E5.1. |
6868
| JavaScript | [Espruino](https://github.com/espruino/Espruino) | C | Tracing | MPL-2.0 | Implements a subset of JavaScript ES5 in a way suitable for embedded hardware with 8+ KiB RAM. |
6969
| JavaScript | [Goja](https://github.com/dop251/goja) | Go | Go's GC | MIT | Implements ECMAScript 5.1. Better standard compliance and performance than otto. |
70-
| JavaScript | [GraalJS](https://github.com/oracle/graaljs) | C++, C, Java | JVM's GC | UPL-1.0 | Implements ECMAScript 2022 for GraalVM (HotSpot JVM) using Truffle. |
70+
| JavaScript | [GraalJS](https://github.com/oracle/graaljs) | C++, C, Java | JVM's GC | UPL-1.0 | Implements ECMAScript 2022 for GraalVM (HotSpot JVM) using the Truffle framework. |
7171
| JavaScript | [JerryScript](https://github.com/jerryscript-project/jerryscript) | C | Tracing | Apache-2.0 | A full ECMAScript 5.1 interpreter written in C99 and optimized for low memory consumption. Uses CMake. |
7272
| JavaScript | [jsish](https://github.com/pcmacdon/jsish) | C | Ref. counting | MIT | A JavaScript ES 5.2+ interpreter. Internally structured after Tcl with an extensive C API. Features include subinterpreters, introspection, SQLite bindings, and a web framework with WebSocket support. The code is valid C and C++. |
7373
| JavaScript | [MuJS](https://mujs.com/) | C | Tracing | ISC | Implements JavaScript (ES5). Has a similar C interface to Lua. |
@@ -78,14 +78,14 @@ To sort and filter the list interactively, visit the [webpage](https://dbohdan.g
7878
| Jsonnet | [Jsonnet](https://jsonnet.org/) | C++ | Tracing | Apache-2.0 | A functional configuration language that extends JSON. Untrusted code: can't access the file system or network, can use up memory and CPU time for a DoS attack. Has [bindings](https://jsonnet.org/ref/bindings.html) for C, C++, Go, Python, and other languages, as well as a separate native Go implementation. |
7979
| Ketos | [Ketos](https://github.com/murarth/ketos) | Rust | None (no heap allocation)? | Apache-2.0 | A functional Lisp. |
8080
| LIL | [LIL](http://runtimeterror.com/tech/lil/) | C, Object Pascal (separate implementations) | None (no reference support) | Zlib | A Tcl-like language incompatible with mainline Tcl. |
81-
| Lily | [Lily](https://github.com/FascinatedBox/lily/) | C | Ref. counting + tracing GC | MIT | A language focusing on expressiveness and safety. |
81+
| Lily | [Lily](https://github.com/FascinatedBox/lily/) | C | Ref. counting + tracing GC | MIT | A language focused on expressiveness and safety. |
8282
| ljs | [ljs](https://github.com/mingodad/ljs) | C | Tracing | MIT | Lua 5.3, Lua 5.1, and LuaJIT with a C/C++/Java/JavaScript syntax. Can convert Lua source code to ljs. |
8383
| Lua | [Go-Lua](https://github.com/Shopify/go-lua) | Go | Go's GC | MIT | Implements a subset of Lua 5.2. |
8484
| Lua | [GopherLua](https://github.com/yuin/gopher-lua) | Go | Go's GC | MIT | Implements Lua 5.1 with the added support for Go's channels. Lacks the debug hooks and several functions from the C version. |
8585
| Lua | [Lua](http://lua.org/) | C | Tracing | MIT | The reference implementation of what is likely the world's most popular embedded scripting language. Allows you to precompile scripts to bytecode. Versions 5.1-5.3, which are the ones used today, are not fully compatible with each other. |
8686
| Lua | [LuaJ](https://sourceforge.net/projects/luaj/) | Java | JVM's GC | MIT | A Lua 5.2 spec-compliant interpreter written in Java for JME and JSE. Complies Lua directly to JVM bytecode. |
8787
| Lua | [LuaJIT](http://luajit.org/) | C | Tracing | MIT | Fully compatible with Lua 5.1. Has a built-in C FFI library. [Performance comparison](https://luajit.org/performance.html). |
88-
| Lua | [Lua-ML](https://github.com/lindig/lua-ml) | OCaml | OCaml's GC | BSD-2-Clause | Embeddable Lua 2.5 reimplementation that integrates with OCaml type and module system. It's possible to extend or even replace the standard library with your own modules. |
88+
| Lua | [Lua-ML](https://github.com/lindig/lua-ml) | OCaml | OCaml's GC | BSD-2-Clause | Embeddable Lua 2.5 reimplementation that integrates with OCaml type and module system. It is possible to extend or even replace the standard library with custom modules. |
8989
| Lua | [Luau](https://luau-lang.org/) | C | Tracing | MIT | Roblox [fork of Lua 5.1](https://luau-lang.org/why) as a scripting language for games to support a gradual type system as well as limiting the set of standard libraries exposed to the users and implements extra sandboxing features to be able to run unprivileged code. Whenever possible, Luau aims to be backwards-compatible with Lua 5.1 and at the same time to incorporate features from later revisions of Lua. |
9090
| Lua | [luerl](https://github.com/rvirding/luerl) | Erlang | Tracing | Apache-2.0 | An implementation of Lua 5.2 in pure Erlang with some features like `goto` absent. |
9191
| Lua | [MoonSharp](https://www.moonsharp.org/) | C# | CLR's GC | BSD-3-Clause and other | CLR Based Lua implementation that is 99% compatible with Lua 5.2 |
@@ -105,7 +105,7 @@ To sort and filter the list interactively, visit the [webpage](https://dbohdan.g
105105
| Prolog | [Golog](https://github.com/mndrix/golog) | Go | Go's GC | MIT | Implements a subset of standard Prolog. |
106106
| Python | [CircuitPython](https://github.com/adafruit/circuitpython) | C | Tracing | MIT | A fork of MicroPython, designed for API uniformity across many microcontrollers. |
107107
| Python | [gpython](https://github.com/go-python/gpython) | Go | Go's GC | BSD-3-Clause | Implements a subset of Python 3.4. |
108-
| Python | [GraalPy](https://github.com/oracle/graalpython) | C, Java | JVM's GC | UPL-1.0 | Implements Python 3 for GraalVM (HotSpot JVM) using Truffle. |
108+
| Python | [GraalPy](https://github.com/oracle/graalpython) | C, Java | JVM's GC | UPL-1.0 | Implements Python 3 for GraalVM (HotSpot JVM) using the Truffle framework. |
109109
| Python | [Jython](http://www.jython.org/) | Java | JVM's GC | PSFL (BSD-like) | An implementation of Python 2 for the JVM. |
110110
| Python | [MicroPython](https://github.com/micropython/micropython) | C | Tracing | MIT | Implements Python 3.4 syntax and some of the core datatypes. |
111111
| Python | [PikaPython](https://github.com/pikasTech/PikaPython) | C | Ref. counting | MIT | Implements a variant of Python 3. The degree of compatibility with Python seems to be undocumented. Runs in as little as 4 KiB of RAM. Targets microcontrollers and Linux. |
@@ -127,27 +127,27 @@ To sort and filter the list interactively, visit the [webpage](https://dbohdan.g
127127
| Rune | [Rune](https://github.com/rune-rs/rune) | Rust | Ref. counting | MIT or Apache-2.0 | An embeddable dynamic programming language. Asynchronous-first and [const-evaluation](https://rune-rs.github.io/#const-evaluation). |
128128
| Scheme | [Animula](https://gitlab.com/hardenedlinux/animula) | C | Tracing | Compiler: **GPL-3.0-or-later**, VM: LGPL-3.0-or-later | An optimizing compiler and VM for embedded systems. R7RS. |
129129
| Scheme | [Chibi Scheme](https://github.com/ashinn/chibi-scheme) | C | Tracing | BSD-3-Clause | Implements R7RS small. |
130-
| Scheme | [CHICKEN Scheme](https://call-cc.org/) | C | Tracing | BSD-3-Clause | Implements R5RS (with some [changes](http://wiki.call-cc.org/man/4/Supported%20language)). R7RS support is a work in progress. [Examples of embedding CHICKEN](https://wiki.call-cc.org/embedding). |
130+
| Scheme | [CHICKEN Scheme](https://call-cc.org/) | C | Tracing | BSD-3-Clause | Implements R5RS (with some [changes](http://wiki.call-cc.org/man/4/Supported%20language)). R7RS support is a work in progress. See [examples of embedding CHICKEN](https://wiki.call-cc.org/embedding). |
131131
| Scheme | [GNU Guile](https://www.gnu.org/software/guile/) | C | [Boehm](https://www.gnu.org/software/guile/manual/html_node/Conservative-GC.html) | LGPL-3.0-or-later | ["Guile mostly implements R6RS."](https://www.gnu.org/software/guile/manual/guile.html#R6RS-Support) |
132132
| Scheme | [Kawa](https://www.gnu.org/software/kawa/) | Java | JVM's GC | MIT | R7RS. Supports the javax.script API. [Evaluating Scheme expressions from Java](https://www.gnu.org/software/kawa/Evaluating-Scheme-expressions-from-Java.html). |
133133
| Scheme | [s7](https://ccrma.stanford.edu/software/snd/snd/s7.html) | C | Tracing | BSD-3-Clause | Implements a subset of R5RS/R7RS. Descended from TinyScheme. |
134-
| Scheme | [Steel](https://github.com/mattwparas/steel) | Rust | Ref. counting + tracing GC | Apache-2.0 or MIT | Aims for eventual R5RS and R7RS compliance. Has extensions inspired by Racket. |
134+
| Scheme | [Steel](https://github.com/mattwparas/steel) | Rust | Ref. counting + tracing GC | Apache-2.0 or MIT | Aims for eventual R5RS and R7RS language compliance, with extensions inspired by Racket. |
135135
| Scheme | [TinyScheme](http://tinyscheme.sourceforge.net/) | C | Tracing? | BSD-3-Clause | Implements a subset of R5RS. |
136136
| SGScript | [SGScript](https://github.com/snake5/sgscript) | C | Ref. counting + tracing CG | MIT | [Features](http://www.sgscript.org/pages/advdocs/sgscript.docs.htm#Why-SGScript) include a built-in data serialization format, coroutines, class-based OOP, sandboxed evaluation, a built-in debugger and profiler. |
137137
| shell | [sh](https://github.com/mvdan/sh) | Go | Go's GC | MIT | Implements POSIX shell, Bash, and mksh in pure Go. There are caveats with compatibility. See the [readme](https://github.com/mvdan/sh#caveats) and issues like [mvdan/sh#221](https://github.com/mvdan/sh/issues/221). |
138138
| Shine | [Shine](https://github.com/richardhundt/shine) | C | Tracing | MIT | A language based on Lua with additional safety and expressiveness features implemented as a fork of LuaJIT. |
139139
| simpleeval | [simpleeval](https://github.com/danthedeckie/simpleeval) | Python | Python's GC | MIT | Evaluates expressions in a subset of Python. |
140140
| Snek | [Snek](https://github.com/keith-packard/snek) | C | Tracing | **GPL-3.0-or-later** | A Python-inspired language. Targets "processors too small to run MicroPython". |
141-
| SquiLu | [SquiLu](https://github.com/mingodad/squilu) | C++ | Ref. counting | MIT, some extensions LGPL or GPL | A fork of [Squirrel](http://squirrel-lang.org/). Changes the syntax to accept a subset of JavaScript and C/C++. Implements Lua's features like string pattern matching and global table manipulation functions. Adds extensions for database access (SQLite3, MySQL, PostgreSQL), sockets, and other features. |
141+
| SquiLu | [SquiLu](https://github.com/mingodad/squilu) | C++ | Ref. counting | MIT, some extensions LGPL or GPL | A fork of [Squirrel](http://squirrel-lang.org/). Changes the syntax to accept a subset of JavaScript and C/C++. Implements Lua's features like string pattern matching and global table manipulation functions. It adds extensions for database access (SQLite3, MySQL, PostgreSQL), sockets, and other features. |
142142
| Squirrel | [Squirrel](http://squirrel-lang.org/) | C++ | Ref. counting | MIT | A language inspired by Lua and JavaScript/Python. Has a Lua-like C++ API. Differentiates itself from Lua with the use of reference counting in place of Lua's tracing GC, a curly-brace syntax, built-in class-based OOP, and zero-indexed arrays. |
143143
| Starlark | [Starlark (Go)](https://github.com/google/starlark-go/) | Go | Go's GC | BSD-3-Clause | A small dialect of Python for configuration. Not Turing-complete. Untrusted code: can't access the file system and network, can use up memory and CPU to perform a DoS attack. [Spec](https://github.com/bazelbuild/starlark). [Python bindings](https://github.com/caketop/python-starlark-go). |
144144
| Starlark | [Starlark (Java)](https://github.com/bazelbuild/bazel/tree/master/src/main/java/net/starlark/java) | Java | JVM's GC | Apache-2.0 | Starlark for the JVM. The original implementation. |
145145
| Starlark | [Starlark (Rust)](https://github.com/facebookexperimental/starlark-rust) | Rust | ? | Apache-2.0 | Starlark in Rust. [Python bindings](https://github.com/inducer/starlark-pyo3). |
146146
| Tcl | [Jim Tcl](http://jim.tcl-lang.org/) | C | Tracing | BSD-2-Clause | Largely compatible with Tcl 8.5 with its own additions. |
147147
| Tcl | [JTcl](https://github.com/jtcl-project/jtcl) | Java | Ref. counting | Various BSD-like | Tcl 8.4 with some 8.5 features for the JVM. |
148-
| Tcl | [Molt](https://github.com/wduquette/molt) | Rust | Ref. counting | BSD-3-Clause | A minimal Tcl implementation for Rust applications and libraries. |
148+
| Tcl | [Molt](https://github.com/wduquette/molt) | Rust | Ref. counting | BSD-3-Clause | A minimal Tcl implementation designed for Rust applications and libraries. |
149149
| Tcl | [Picol](https://chiselapp.com/user/dbohdan/repository/picol/) | C | None (no reference support) | BSD-2-Clause | A header-only library interpreter for a limited dialect of Tcl. |
150-
| Tcl | [Tcl](http://tcl-lang.org/) | C | Ref. counting | Tcl license (BSD-like) | An embeddable general-purpose scripting language with a rich C API. Has a cross-platform GUI toolkit called [Tk](https://wiki.tcl-lang.org/477). [How to embed Tcl in C applications](https://wiki.tcl-lang.org/2074). |
150+
| Tcl | [Tcl](http://tcl-lang.org/) | C | Ref. counting | Tcl license (BSD-like) | An embeddable general-purpose scripting language with a rich C API. Includes a cross-platform GUI toolkit called [Tk](https://wiki.tcl-lang.org/477). See ["How to embed Tcl in C applications"](https://wiki.tcl-lang.org/2074). |
151151
| Toy | [Toy](https://github.com/Ratstail91/Toy) | C | Ref. counting | Zlib | Has an optional type system. [Embedding Toy](https://toylang.com/deep-dive/embedding-toy). |
152152
| Umka | [Umka](https://github.com/vtereshkov/umka-lang) | C | Ref. counting | BSD-2-Clause | Statically typed. |
153153
| Wirefilter | [Wirefilter](https://github.com/cloudflare/wirefilter) | Rust | None (no dynamic memory allocation) | MIT | An expression language for Wireshark-like filters. |

0 commit comments

Comments
 (0)