ergolib
with-c-syntax
ergolib | with-c-syntax | |
---|---|---|
6 | 4 | |
140 | 135 | |
- | - | |
0.0 | 0.0 | |
almost 3 years ago | over 1 year ago | |
Common Lisp | 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.
ergolib
-
Lisp in Space
I have a macro in my personal library called BINDING-BLOCK that eliminates many though not all of the parens in common code idioms:
https://github.com/rongarret/ergolib/blob/master/core/bindin...
But like many of the sibling comments say, if you think getting rid of the parens entirely is desirable then you have missed the point, which is that Lisp code is not text, it's a data structure, a linked list, and the best way of serializing a linked list is with delimiters a the start and end, like so:
(1 2 3)
-
Lisping at JPL Revisited
I believe the OP's ergolib provides an example. From https://github.com/rongarret/ergolib/blob/master/core/bindin..., the examples show code like:
;;; (bb
-
Did anyone use Lisp in their home computers during the early PC revolution of the late 70s/early 80s (Apple, C64, etc.)? What was that experience like?
Yes. It was awesome. I used P-Lisp on an Apple II in the late 70s and it pretty much laid the foundation for my whole career. In the 80s I did my compiler class assignments in Lisp while everyone else was using Pascal or C. I got my assignments done in an hour while everyone else took days. I still got an A. I did my masters and Ph.D. thesis work using Coral Common Lisp (now Clozure Common Lisp) first on a Mac Plus, then a Mac II, then a Quadra. Nowadays I run CCL on an MBP. I still use some of the library code I wrote back in the 90s.
-
Eliminating Format from Lisp (2003)
to get a list of primes under 100.
See https://github.com/rongarret/ergolib for an implementation of WITH-COLLECTOR and lots of other constructs that are IMHO the Right Way to write code.
-
Common Lisp Resources
Any code modification is a potential security issue. There is nothing special about dynamic class redefinition in this regard.
I use it for deployment. I can deploy new code without having to take my application down. In fact, not only do all my existing instances get updated, but I also use an ORM [1] that automatically updates my database tables too.
[1] https://github.com/rongarret/ergolib/blob/master/layer1/sql....
- How do you use Lisp at work?
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?
quilc - The optimizing Quil compiler.
maxima - Computer Algebra System written in Common Lisp (GPL CAS based on DOE-MACSYMA)
weblog - a weblog
spinneret - Common Lisp HTML5 generator
opendylan - Open Dylan compiler and IDE
learning-lisp
PC-LISP - Franz Lisp dialect Lisp system
shen-cl - Shen for Common Lisp (Unmaintained)
screenshotbot-oss - A Screenshot Testing service to tie with your existing Android, iOS and Web screenshot tests
llama - lisp-like application markup
AI-Feynman
fructure - a structured interaction engine 🗜️ ⚗️