prechelt-phone-number-enco
ulisp
prechelt-phone-number-enco | ulisp | |
---|---|---|
3 | 33 | |
- | 361 | |
- | - | |
- | 2.6 | |
- | about 1 year ago | |
C++ | ||
- | MIT 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.
prechelt-phone-number-enco
-
Optimising Common Lisp to try and beat Java and Rust on phone encoding 2/2
> it’s using Unicode-aware string stuff
Rust uses UTF-8 internally for Strings, so it's very efficient to parse a file into a String, then using slices to go through it... this is probably the best you can get as parsing ASCII input as UTF-8 is very efficient (the 0-bit is always zero in ASCII, the unicode decoder only needs to check that's the case for every byte, so it's not some kind of complicated computation it's doing to decode)...
If you use bytes for everything, you will make the whole code much harder to follow and it still won't run faster.
Check for yourself: https://github.com/renatoathaydes/prechelt-phone-number-enco...
-
Learning Common Lisp to beat Java and Rust on a phone encoding problem
This is a pretty introductory CL article, mostly a commentary on Norvig's solution to the problem. Still, I learned about the #. readmacro from it. The conclusion: "[The Lisp implementation] was the fastest implementation for all input sizes except the largest one, where it performed just slightly worse than my best Java implementation." GH repo at https://github.com/renatoathaydes/prechelt-phone-number-enco.... Sounds like he was mostly measuring the performance of the SBCL bignum implementation.
-
How to write slow Rust code
source: https://github.com/renatoathaydes/prechelt-phone-number-enco...
ulisp
- How to Write a (Lisp) Interpreter (In Python)
- Show HN: I Made a Lisp
-
Lisp Badge LE
I love his projects too. He's also the creator of uLisp.
http://www.ulisp.com/
-
Lisp in Space
Not CL, but there is ulisp (http://www.ulisp.com/) for microcontrollers, supposed to be really tiny, and there is Carp (https://github.com/carp-lang/Carp) which is without a GC so seems suitable for real-time stuff.
- uLisp: Lisp for Microcontrollers
-
fe: A tiny, embeddable language implemented in ANSI C
There's also ulisp (for Arduino projects etc.): http://www.ulisp.com/
This is larger, because there are functions for accessing peripherals, and the core is more standard lispy with 'caadr' et.al., and it has a compacting GC, so images can be saved as a compact blob.
- ¿Any interpreted lenguage working in low memory microcontrollers?
-
Anyone tried to run ECL on a Pi Pico?
You might consider uLisp, it's very Common Lispy for the memory constraints given (sans macros and splicing quote). And you can still connect to it and save an image. I've tried it and it works well enough. Here is the homepage.
- Scamp – a self-contained Forth computer
-
What do you think of Forth?
Agreed - the interactivity is good. Lisp is close (have you seen http://www.ulisp.com/ - I can't believe they got into into that small a target!). Python is ok, but for some reason I don't use the REPL in the same way I do in Forth - I think calling functions is just harder somehow. Mostly is exploring valves from the Python REPL.
What are some alternatives?
woo - A fast non-blocking HTTP server on top of libev
ecl
prechelt-phone-number-encoding - Comparison between Java and Common Lisp solutions to a phone-encoding problem described by Prechelt
Lua-RTOS-ESP32 - Lua RTOS for ESP32
jelm - Extreme Learning Machine in J
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
prechelt-phone-number-encoding - Comparison between Java and Common Lisp solutions to a phone-encoding problem described by Prechelt
lispBM - An interpreter for a concurrent lisp-like language with message-passing and pattern-matching implemented in C.
bordeaux-threads - Portable shared-state concurrency for Common Lisp
tinyscheme - TinyScheme is easy to learn and modify. It is structured like a meta-interpreter, only it is written in C.
cl-cookbook - The Common Lisp Cookbook
quickjs-esp32 - QuickJS port for ESP32