Iota
with-c-syntax
Iota | with-c-syntax | |
---|---|---|
4 | 4 | |
254 | 133 | |
- | - | |
0.0 | 0.0 | |
5 months ago | over 1 year ago | |
C | Common Lisp | |
- | Do What The F*ck You Want To Public License |
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.
Iota
-
Lisping at JPL Revisited
> but what sub-languages are we talking about? I only see a library with helper functions and macros. That's Common Lisp, not a derivative.
If your language is a DSL factory, the line between your language and DSLs naturally blurs. If https://github.com/y2q-actionman/with-c-syntax exists, does it mean that C is a DSL of Common Lisp, given a good enough standard library? If https://github.com/calyau/maxima exists, does it mean that Maxima is just Common Lisp with more maths? If https://github.com/Shen-Language/shen-cl and https://github.com/coalton-lang/coalton/ exist, does it mean that Shen and Coalton are just a fancy way of writing Common Lisp in an immutable way? If https://github.com/froggey/Iota exists and we can play sdlquake on Mezzano, does it mean that LLVM-IR is a dialect of Common Lisp?
The above series of questions is not meant to be fully credible - it's meant to be food for thought.
- LLVM to Common Lisp Transpiler
-
Why Static Languages Suffer From Complexity
C++, ~haskell, python, mathematica... capisce? :)
with-c-syntax
- With-C-Syntax
-
Lisping at JPL Revisited
> but what sub-languages are we talking about? I only see a library with helper functions and macros. That's Common Lisp, not a derivative.
If your language is a DSL factory, the line between your language and DSLs naturally blurs. If https://github.com/y2q-actionman/with-c-syntax exists, does it mean that C is a DSL of Common Lisp, given a good enough standard library? If https://github.com/calyau/maxima exists, does it mean that Maxima is just Common Lisp with more maths? If https://github.com/Shen-Language/shen-cl and https://github.com/coalton-lang/coalton/ exist, does it mean that Shen and Coalton are just a fancy way of writing Common Lisp in an immutable way? If https://github.com/froggey/Iota exists and we can play sdlquake on Mezzano, does it mean that LLVM-IR is a dialect of Common Lisp?
The above series of questions is not meant to be fully credible - it's meant to be food for thought.
-
Common Lisp vs Racket
More to the point of how simple (and easy) defmacro is compared to syntax-case and syntax-rules, I like another fare post: https://fare.livejournal.com/189741.html If you're as smart as fare, it "isn't too hard to translate it".
Though I concede this case could be analogous to trying to write a Doubly Linked List in Rust. So I'd more like to see a concrete case you have in mind where the tradeoffs are squarely against CL. Like, the loop macro is more complicated than any I have written myself, but you can break it down, and it's not that bad -- I think Norvig's version is pretty neat to study: https://norvig.com/paip/loop.lisp This project (and it's not the only one!) adding C syntax to CL https://github.com/y2q-actionman/with-c-syntax I think is more complicated than loop, and is sort of where I'd put the level of "complicated things" at that I'd like to see an example from the Scheme world that clearly shows defmacro's deficiencies on some metrics. (Fewer bugs? Easier to add new features to? Shorter code? Faster performance either at compile time or runtime or both? Easier to understand or faster to implement for people with similar levels of skill in the language?)
-
Using ELisp as an HTML templating engine
Lisp has served as an inspiration to so many programming language designs, Javascript included, that saying a language feature isn't really unique to Lisp is a bit like saying that The Lord of the Rings is just a bunch of fantasy clichés. It's true in some sense, but it also conveys a deeply flawed understanding.
Here[1] is a fun example of what's possible that would be difficult to do in many other languages without essentially just giving up and dumping the C style code in a string and calling some sort of eval on it and that is very much not the same thing.
[1] https://github.com/y2q-actionman/with-c-syntax/
What are some alternatives?
ChezScheme - Chez Scheme
maxima - Computer Algebra System written in Common Lisp (GPL CAS based on DOE-MACSYMA)
shen-cl - Shen for Common Lisp (Unmaintained)
spinneret - Common Lisp HTML5 generator
learning-lisp
ergolib - A library designed to make programming in Common Lisp easier
llama - lisp-like application markup
Graal - GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀
fructure - a structured interaction engine 🗜️ ⚗️