cl-gserver
Akka.net
cl-gserver | Akka.net | |
---|---|---|
12 | 20 | |
194 | 4,620 | |
- | 0.6% | |
8.0 | 9.3 | |
7 days ago | 6 days ago | |
Common Lisp | C# | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
cl-gserver
-
Why Lisp?
> static strong typing
Alright, here is it: https://github.com/coalton-lang/coalton/
> small efficient native binaries
The numbers are: with SBCL's core-compression, a web app with dozens on dependencies will weight ±30 to 40MB. This includes the compiler, the debugger, etc. Without core compression, we reach ±150MB.
> The actor runtime?
the actor library: https://github.com/mdbergmann/cl-gserver
> couldn't find a way to make money with it. I suspect many other programmers are in my boat.
Alright. Some do, that's life. Yes, some companies go with CL even in 2023 (https://lisp-journey.gitlab.io/blog/lisp-interview-kina/, they released https://github.com/KinaKnowledge/juno-lang lately; Feetr (finance): https://twitter.com/feetr_io/status/1587182923911991303)
https://github.com/azzamsa/awesome-lisp-companies/
> Give us an HTTP (1.x & 2.0) and WebSockets libraries
How so? We have those libraries. HTTP/2: https://github.com/zellerin/http2/
https://github.com/CodyReichert/awesome-cl
- Sento: Actor Framework for Common Lisp
- Sento actor framework 3.0 released - no new features, many API changes: cleanups, obstacles removed, and hopefully a more consistent way of doing things.
- New version of the Sento Actor Framework released with a few new goodies in future handling. Nicer syntax and futures can now be mapped.
-
Between Two Lisps (2020)
It's nice to see the CL ecosystem evolving. SBCL sees regular updates with new optimizations. The editor support is getting better: [Vim, Atom, Sublime, VSCode… have good to very good support](https://lispcookbook.github.io/cl-cookbook/editor-support.ht...), & Jupyter notebook, the Lem editor… and a new lisper started a CL editor based on Tauri: [Parrot](https://github.com/fonol/parrot). Cool projects emerge ([lisp-stats](https://github.com/Lisp-Stat/lisp-stat/), the [Sento / cl-gserver](https://github.com/mdbergmann/cl-gserver) actors library, the Kons-9 3D graphics library, the CLOG web-gui…)
> 50MB
With compression (zstd now), SBCL binaries weigh ±25MB. Start-up time is super fast. I built a standalone binary for my web app, it is straightforward to start it on the background and access it from an Electron window.
-
LEM - What If Emacs Was Multithreaded
what's nice in CL is that we can choose. We have a nice actor-style library now (https://github.com/mdbergmann/cl-gserver).
-
Moving from the BEAM to Common Lisp: What are my concurrency options?
You might be interested in cl-gserver0.
-
Low weight timeouts async `ask` operations
Version 1.9 of cl-gserver adds low weight timeouts for async ask operations with the help of timer wheels. https://github.com/mdbergmann/cl-gserver
-
CL hash-table thread-safety
Have a look at the tests here: https://github.com/mdbergmann/cl-gserver/blob/master/tests/hash-agent-test.lisp
-
Curiosity: scheduler choices for lispy microservice architecture.
I have seen cl-gearman used in the wild (for example for Ultralisp), there is lfarm (distributing work across machines, on top of lparallel and usocket), "jobs" and "workers" makes me think cl-gserver (Erlang-inspired GenServer, actors pattern)… not really answering, throwing ideas in case you didn't see them, and furnish this discussion a bit :]
Akka.net
-
What is the fastest producer consumer model in C#
akka.net actors. Actors all the way! https://getakka.net
- .NET - iskustva s akka.net?
-
MassTransit with MSMQ vs RabbitMQ
If it's the former you may want to take a look at something like the actor model akka.net with persistent actors (https://getakka.net/articles/persistence/architecture.html). No need of an external message broker or mass transit (which is a wrapper over different message brokers). You could use sqllite for persisting the actors state to recover in case of a restart.
-
For .NET 6+, is there value in using NHibernate with Sprint.net or should I stick with EF Core and the usual supporting libraries?
Spring and Hibernate are the goto libraries in Java land and I suspect that's the primary motivation for your colleague's recommendations. It's quite easy to bulldoze someone less experienced with your ideas so be careful of that. I'd avoid both. They aren't bad libraries at all but they have a 'legacy' feel and it will make your application less future proof. Would a distributed system be viable? If so then I'd recommend Akka, there'a .NET port of it that's well supported and maintained.
-
Learning resource for seniors
Is akka a good alternative?
- Carl Hewitt has died [pdf]
-
Using functional extensions in production C# code?
However, I've found that sometimes, they are a little -too- functional. I'm a bit more preferential to Akka.Net's implementation of Option and Try, if only because they have good 'escape hatches' where you interrogate them in a more procedural manner.
-
Microsoft RulesEngine. Feedback from those that have used it in enterprise environments
This project is also what ultimately led to the creation of Akka.NET - I wrote an overview on how our application was built here: https://aaronstannard.com/markedup-akkadotnet/
-
Questions about network programming with C#
You may also want to take a look at queues (e.g. RabbitMQ) or even something like Akka.NET or Microsoft Orleans.
-
What does the .NET ecosystem offer in terms of distributed data processing frameworks?
From the title I immediately thought AKKA.NET or Orleans
What are some alternatives?
Common-Lisp-Actors - An actor system for Common Lisp.
protoactor-dotnet - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
juno-lang - Juno Language Repository
Orleankka - Functional API for Microsoft Orleans http://orleanscontrib.github.io/Orleankka
opendylan - Open Dylan compiler and IDE
Orleans - Cloud Native application framework for .NET
lfarm - Distribute work across machines using the lparallel API.
.NET port of LMAX Disruptor - Port of LMAX Disruptor to .NET
s2 - A data-binding function for the DOM.
.NEXT Raft
lisp-stat - Lisp-Stat main system
MBrace - MBrace Core Libraries & Runtime Foundations