tweetnacl | carmine | |
---|---|---|
2 | 1 | |
21 | 1,139 | |
- | 0.1% | |
0.0 | 7.1 | |
about 7 years ago | 27 days ago | |
C | Clojure | |
MIT License | Eclipse Public License 1.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.
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.)
carmine
What are some alternatives?
LoopVectorization.jl - Macro(s) for vectorizing loops.
goose - The Next-Level background job processing library for Clojure
cl4py - Common Lisp for Python
aws-api - AWS, data driven
lang
awesome-compilers - :sunglasses: Curated list of awesome resources on Compilers, Interpreters and Runtimes
cl-cuda - Cl-cuda is a library to use NVIDIA CUDA in Common Lisp programs.
hissp - It's Python with a Lissp.
julia - The Julia Programming Language