sb-simd
DISCONTINUED
Carp
Our great sponsors
sb-simd | Carp | |
---|---|---|
11 | 84 | |
72 | 5,393 | |
- | 0.2% | |
8.4 | 0.7 | |
almost 2 years ago | about 1 year ago | |
Common Lisp | Haskell | |
MIT License | Apache License 2.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.
sb-simd
-
The Usability of Advanced Type Systems: Rust as a Case Study
> fully dynamic
Well, no, it's SBCL. Common Lisp has support for types, but most compilers only use them for optimization, SBCL goes one step further and emits warnings when you mismatch types. And looking at the code, I can see lots of type declarations.
It's also interesting to note that the code does not seem to be using SBCL's new SIMD library*, so it could be sped up even more.
* <https://github.com/marcoheisig/sb-simd>, see the texinfo file for documentation.
-
Implementation comparison
I suppose that using arrays + using SIMD instructions could be even faster. Someone is already doing that: https://github.com/marcoheisig/sb-simd/blob/master/examples/simd-dot.lisp .
-
Which programming language or compiler is faster
Common Lisp (sbcl) performance via native implementation of simd [0] is very impressive ! It is litteraly acheieving C/Cpp speeds (within few ms). Great work by Marco Heisig
-
Quite amazing SBCL benchmark speed with sb-simd vectorization
You can see on Programming Language and Compiler Benchmark site the amazing speed of SBCL when sb-simd is used for vectorization.
-
How to speed up array writes?
For SBCL-specific, Marco and Bela have put in a ton of work at sb-simd - may be the OP finds the relevant simd interface there!
-
Programming Language and compiler Benchmarks
And sb-simd is getting very-very impressive to say the least thanks to Marco Heisig.
-
Best Lisp(s) for Functional & (seperately) Systems programming?
You can use sb-simd for manual vectorisation with SBCL. Manual vectorisation is definitely more hassle than automatic vectorisation, but often worth it.
-
Common Lisp (SBCL) slower than Python 3.9?
Fully agreed. One more library that could open up areas is also coming soon. Though documentation is still to be written. Please check sb-simd I wish I could have supported Marco even more.
-
Common Lisp still beats Java, Rust, Julia, Dart in 2021 on benchmarks based on phone number encoding from the famous paper "Lisp as an alternative to Java" from 21 years ago
I have a few benchmark programs (https://github.com/bpecsek/spectralnorm.git) I have originally developed for The Computer Language Benchmark Game and now I am using them to check regression /benchmark sb-simd (https://github.com/marcoheisig/sb-simd.git) during development doing it with Marco Heisig you can see strange results.
Carp
- How to Write a (Lisp) Interpreter (In Python)
-
Roc – A fast, friendly, functional language
Carp - https://github.com/carp-lang/Carp - "A statically typed lisp, without a GC, for real-time applications." where it's "Ownership tracking enables a functional programming style while still using mutation of cache-friendly data structures under the hood".
-
Ask HN: Looking for statically typed, No-GC and compiled Lisp/scheme
Looking for a personal project so open-source would be great, but maturity/production readiness is not really a factor.
The only significant thing i can find so far is https://github.com/carp-lang/Carp.
Anything notable that i might have missed ?
-
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.
- Good languages for writing compilers in?
-
Emerging Rust GUI libraries in a WASM world
Everybody is trying to make a more user-friendly Rust. The problem is that it is not clear yet whether that's possible, and if it is, how it may look. I know Vale and have tried it, though it's extremely early to judge anything so far. It does have a much stronger theoretical background than V, but even the theory is not completely clear at this point.
There is also Carp by the way: https://github.com/carp-lang/Carp
-
Microsoft rewriting core Windows libraries in Rust
(Carp)[https://github.com/carp-lang/Carp]
-
Lexer in Haskell
Carp (parser source code)
-
Carp lang: statically typed Lisp, no GC
Found this page to be a nice intro to the syntax and semantics:
https://github.com/carp-lang/Carp/blob/master/docs/LanguageG...
I'm excited about Carp's comprehensive and well documented[1] interoperability with C, which unlocks lots of potential for interfacing with existing libraries.
Tim Dévé has even created a game for the Nintendo Game Boy Advance by using Carp's C interoperability; you can play an emulated version online[2].
[1]: https://github.com/carp-lang/Carp/blob/master/docs/CInterop....
What are some alternatives?
sbcl - Mirror of Steel Bank Common Lisp (SBCL)'s official repository
awesome-lisp-companies - Awesome Lisp Companies
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
sectorlisp - Bootstrapping LISP in a Boot Sector
Fennel - Lua Lisp Language
femtolisp - a lightweight, robust, scheme-like lisp implementation
hy - A dialect of Lisp that's embedded in Python
babashka - Native, fast starting Clojure interpreter for scripting
mirage - MirageOS is a library operating system that constructs unikernels
trivial-gamekit - Simple framework for making 2D games
nim-esp8266-sdk - Nim wrapper for the ESP8266 NON-OS SDK
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).