opendylan
Carp
Our great sponsors
opendylan | Carp | |
---|---|---|
7 | 72 | |
409 | 5,130 | |
2.0% | 2.5% | |
5.0 | 4.0 | |
4 days ago | about 1 month ago | |
Dylan | Haskell | |
GNU General Public License v3.0 or later | 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.
opendylan
-
A language you feel the most productive with?
Carp, Lux and Dale are 3 I'm familiar with.There's also Dylan, though that one dropped its parentheses. But if we go by the brackets, technically, we can argue that any expression-based languages is a Lisp. I once wrote a Lisp to JS transpile whose output had more parens than the input. :)
-
CppCast: Julia
Julia is a Lisp in the same form as Dylan.
- LLVM Internals: The Bitcode Format
Carp
-
Carp lang: statically typed Lisp, no GC
Found this page to be a nice intro to the syntax and semantics:
https://github.com/carp-lang/Carp/blob/master/docs/LanguageG...
I'm excited about Carp's comprehensive and well documented[1] interoperability with C, which unlocks lots of potential for interfacing with existing libraries.
Tim Dévé has even created a game for the Nintendo Game Boy Advance by using Carp's C interoperability; you can play an emulated version online[2].
[1]: https://github.com/carp-lang/Carp/blob/master/docs/CInterop....
I tried it out months ago. It has a really limiting REPL if you’re coming from other lisps like Common Lisp or even Clojure. If your bag is interactive development, then that might be a bummer. https://github.com/carp-lang/Carp/blob/master/docs/Manual.md...
The goal is certainly to have a language suitable for "real-time applications" (read games/audio), that's not my area of expertise however so your definition of real-time might not be different than mine.
As it compiles to C, any microcontroller with a compiler that supports something that looks like C can work. I've run Carp code on a GBA (as mentionned somewhere else in the comments), esp32, esp8266, as well as Arduboy & Pygamer via Arduino.
There is some more information about running Carp on embedded platforms in the docs[0].
One last thing I wanted to mention is that Carp is still very much in flux so it might not be the best choice for longterm projects, but if you're interested in playing with the language there is usually always someone to answer questions on the Gitter[1].
[0] https://github.com/carp-lang/Carp/blob/master/docs/Embedded....
-
Is there a language with lisp syntax but C semantics?
There's Dale, Extempore (more particularly, XTlang which is the statically-typed part of Extempore), Carp, and one more that I can't remember right now that basically maps to C++, more-or-less directly.
-
Suggested programming projects with overall goal of creating a complete Lisp Operating System
Carp lang
So, there are some variant Lisps that try to do this -- the one that comes to mind is Carp.
-
Carp - If Clojure and Rust Had A Baby
Language Docs: https://github.com/carp-lang/Carp/blob/master/docs/LanguageGuide.md Carp More Advanced Docs: https://github.com/carp-lang/Carp/tree/master/docs Carp Gitter Link: https://gitter.im/carp-lang/Carp
-
Any Clojurian who moved in from Clojure?
Carp is a statically typed Clojure-like language written in Haskell.
What are some alternatives?
awesome-lisp-companies - Awesome Lisp Companies
Fennel - Lua Lisp Language
sectorlisp - Bootstrapping LISP in a Boot Sector
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
hy - A dialect of Lisp that's embedded in Python
femtolisp - a lightweight, robust, scheme-like lisp implementation
babashka - Native, fast starting Clojure interpreter for scripting
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
trivial-gamekit - Simple framework for making 2D games
nim-esp8266-sdk - Nim wrapper for the ESP8266 NON-OS SDK
mirage - MirageOS is a library operating system that constructs unikernels
joker - Small Clojure interpreter, linter and formatter.