tool-conventions
Carp
tool-conventions | Carp | |
---|---|---|
3 | 84 | |
287 | 5,393 | |
2.4% | 0.0% | |
5.6 | 0.7 | |
9 days ago | about 1 year ago | |
Haskell | ||
Artistic 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.
tool-conventions
-
Isolates, MicroVMs, and WebAssembly (In 2022)
> Better interoperability
AFAIK, the examples you give all target a basic C ABI [0] or can be made to target the same ABI. In Rust, it means targeting wasm32-unknown-emscripten
The Rust team is also working on a "WASM ABI"[1] which would be useful in taking advantage of stuff like multi-value returns, and other compilers could just choose to target that. More likely, the C ABI on WASM will be updated to account for missing features, and that'll be the standard for interoperability in the WASM ecosystem.
[0]: https://github.com/WebAssembly/tool-conventions/blob/main/Ba...
[1]: https://github.com/rust-lang/lang-team/blob/master/design-me...
-
Features of a dream programming language: 2nd draft.
C ABI: Compatible with the C language Application Binary Interface (ABI). So code in the language is usable from other languages. Inspired by Zig. Since compiling to WASM is desirable, WASM's C ABI could probably be used, instead of a separate implementation towards the C ABI.
-
Crates for (mutable) statics with non const initialization.
There is maybe a solution. From what I found the linker will glue constructor functions and they have an associated priority. (look https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md here for the "linking meta data section"). I explored the ldd/wasm source code directory and it looks like there are also destructor functions. I have not found out in which sections such functions should be placed (after 1h of exploration). Would you like to pursue? I am ok to receive pushes or even share owner ship of the repository.
Carp
- Carp: A statically typed Lisp, without a GC, for real-time applications
- How to Write a (Lisp) Interpreter (In Python)
-
Roc – A fast, friendly, functional language
Carp - https://github.com/carp-lang/Carp - "A statically typed lisp, without a GC, for real-time applications." where it's "Ownership tracking enables a functional programming style while still using mutation of cache-friendly data structures under the hood".
-
Ask HN: Looking for statically typed, No-GC and compiled Lisp/scheme
Looking for a personal project so open-source would be great, but maturity/production readiness is not really a factor.
The only significant thing i can find so far is https://github.com/carp-lang/Carp.
Anything notable that i might have missed ?
- NASA just sent a software update to a spacecraft 12B miles away
-
Lisp in Space
Not CL, but there is ulisp (http://www.ulisp.com/) for microcontrollers, supposed to be really tiny, and there is Carp (https://github.com/carp-lang/Carp) which is without a GC so seems suitable for real-time stuff.
- Carp
-
Yet nobody questions ABAP, Lua, Julia, Groovy or Scala, both of them are under Lisp in TIOBE Index
by their powers combined
- Good languages for writing compilers in?
-
Emerging Rust GUI libraries in a WASM world
Everybody is trying to make a more user-friendly Rust. The problem is that it is not clear yet whether that's possible, and if it is, how it may look. I know Vale and have tried it, though it's extremely early to judge anything so far. It does have a much stronger theoretical background than V, but even the theory is not completely clear at this point.
There is also Carp by the way: https://github.com/carp-lang/Carp
What are some alternatives?
ts-belt - 🔧 Fast, modern, and practical utility library for FP in TypeScript.
awesome-lisp-companies - Awesome Lisp Companies
dwarf-2-sourcemap - A DWARF to SourceMaps converter for WASM
sectorlisp - Bootstrapping LISP in a Boot Sector
wyrcan
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
ramda - :ram: Practical functional Javascript
Fennel - Lua Lisp Language
krustlet - Kubernetes Rust Kubelet [Moved to: https://github.com/krustlet/krustlet]
femtolisp - a lightweight, robust, scheme-like lisp implementation
io-ts - Runtime type system for IO decoding/encoding
hy - A dialect of Lisp that's embedded in Python