dgoffredo
with-c-syntax
dgoffredo | with-c-syntax | |
---|---|---|
3 | 4 | |
- | 135 | |
- | - | |
- | 0.0 | |
- | over 1 year ago | |
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.
dgoffredo
-
Using ELisp as an HTML templating engine
Yes, using anylisp as a anything templating engine. I love this stuff.
It's not as ideal, but you can even get away with this in Python using comprehensions and functions. Any language with nested data structure literals will do. Really, any expression language.
Here's a Python version: https://github.com/dgoffredo/dgoffredo.github.io/blob/master...
and a Javascript version: https://github.com/dgoffredo/llama/blob/master/llama/xml.js
...and as others have said, Scheme has "sxml," which I use here: https://github.com/dgoffredo/xsd-gc
-
Show HN: Md2blog – A zero-config static site generator for dev blogs
Always interesting to see what someone else came up with for their static site generator. If I had known about yours, I might have used it instead of writing mine: https://github.com/dgoffredo/dgoffredo.github.io
-
Chicken Scheme
I even do a minimal version of SXML in python, using python's lists, because it's much better than the DOM/builder way.
https://github.com/dgoffredo/dgoffredo.github.io/blob/372300...
You could do the exact same thing in javascript.
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?
markblog - The way to blog with markdown.
maxima - Computer Algebra System written in Common Lisp (GPL CAS based on DOE-MACSYMA)
spinneret - Common Lisp HTML5 generator
learning-lisp
shen-cl - Shen for Common Lisp (Unmaintained)
llama - lisp-like application markup
fructure - a structured interaction engine 🗜️ ⚗️
ltk
ergolib - A library designed to make programming in Common Lisp easier
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
vernacular - Module system for languages that compile to Common Lisp
Iota - LLVM to Common Lisp transpiler.