tweetnacl | bel | |
---|---|---|
2 | 1 | |
21 | 25 | |
- | - | |
0.0 | 5.1 | |
about 7 years ago | 9 days ago | |
C | Perl | |
MIT License | GNU General Public License v3.0 only |
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.
tweetnacl
-
Why Lisp? (2015)
Because that product was an embedded system running on a very small SoC. It only had 1MB of flash and 192k of SRAM. It's theoretically possible to run CL on a system that small -- Coral Common Lisp ran on a Mac Plus with 1MB of RAM back in the 1980s -- but nothing off-the-shelf will do that today.
(I did, however, put a little Scheme interpreter on it as an easter egg :-)
I do have some CL code that supports the crypto project. The back-end for this:
https://stage.sc4.us/sc4/sc4tk.html
is written in CL (though all the actual encryption is done client-side in Javascript). I also have some prototype crypto code that I don't really use for anything, including this double-ratchet implementation:
https://github.com/rongarret/tweetnacl/blob/master/ratchet.l...
and some elliptic curve code:
http://www.flownet.com/ron/lisp/djbec.lisp
-
Teaching Compilers Backward
Of course. There are many. Any binary format. Any ASN.1 format. DEF and LEF for hardware descriptions. The output of mysqldump.
Here's another example:
https://github.com/rongarret/tweetnacl/blob/master/ratchet.l...
starting at line 82. (That's one that I designed.)
bel
-
Why Lisp? (2015)
If I may be so bold as to recommend my in-progress Bel implementation: https://github.com/masak/bel
Caveat: I'm still working towards being able to recommend Bel _unconditionally_, not just for small programs. Right now you'll experience unreasonable slowness, terse/uninformative error messages, and missing documentation -- probably in that order. All of those are being addressed. But already today, it's fun to play with.
What are some alternatives?
LoopVectorization.jl - Macro(s) for vectorizing loops.
cl4py - Common Lisp for Python
lang
julia - The Julia Programming Language
awesome-compilers - :sunglasses: Curated list of awesome resources on Compilers, Interpreters and Runtimes
aws-api - AWS, data driven
hissp - It's Python with a Lissp.
janet - A dynamic language and bytecode vm
github-orgmode-tests - This is a test project where you can explore how github interprets Org-mode files