farolero
cloture
farolero | cloture | |
---|---|---|
16 | 8 | |
358 | 371 | |
- | - | |
2.4 | 4.5 | |
15 days ago | 6 months ago | |
Clojure | Common Lisp | |
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.
farolero
-
clojure from common lisp
You can use this library to get CL-style conditions and restarts in Clojure: https://github.com/IGJoshua/farolero
-
Val on Programming: What makes a good REPL?
True, the CL REPL is more useful than the Clojure REPL, but CL has a 20-30 year head start in development. Plus, Clojure was developed as a hosted language, and runs on .NET, Javascript, JVM, and even Dart (in-progress).
Since exceptions are quite deeply integrated into those platforms (as opposed to conditions), it has "bled through" to the Clojure APIs, and, in turn, REPL.
Folks have written a CL-style condition/restart library for Clojure (https://github.com/IGJoshua/farolero) too.
- IGJoshua/farolero: Thread-safe Common Lisp style conditions and restarts for Clojure(Script).
- Opinions of "brothers and sisters"...
-
How to handle errors or failed computations in clojure?
conditions/restarts are also a possibility https://github.com/IGJoshua/farolero
-
ClojureRS – Clojure interpreter implemented in Rust
Someone added conditions/restarts to Clojure: https://github.com/IGJoshua/farolero
It does allow errors to be caught by the Repl and just.hkw to handle them.
-
What are the advantages of Hy/Hissp over python bindings for CL/Clojure?
farolero
-
Clojure REPL vs. CLI: IDE Wars
This is interesting tool[1] that allows much the same with Clojure
[1]: https://github.com/IGJoshua/farolero
-
Do we have good use case based examples of usage of derive based hierarchies and multi-methods?
https://github.com/IGJoshua/farolero This uses derive hierarchies to enable general error handling.
- Show HN: Farolero – Common Lisp style-conditions and restarts for Clojure
cloture
-
Trouble defining a Lisp-1 DSL in Common Lisp
For reference, and to show that it's possible, you might be interested in how I did this for Cloture (Clojure in CL): https://github.com/ruricolist/cloture/blob/master/clojure/core.lisp
-
The Jank Language: LLVM Hosted Clojure
Why not use something like https://github.com/ruricolist/cloture (a Clojure "adapter" that runs on Common Lisp) if you want that?
- Cloture – Implementation of Clojure in Common Lisp
- ClojureRS – Clojure interpreter implemented in Rust
- Clojure – Differences with Other Lisps
-
Clojure, but without the JVM?
Clojure on Common Lisp: https://github.com/ruricolist/cloture
- Seeking clojure-styled concurrency operators for common lisp
-
On Repl-Driven Programming
It does not offer the full experience. It has no breakloop and no ability to browse and edit the live running environment. It has no ability to rummage around inside the dynamic environment of a suspended function call, much less to redefine the suspended function or the types of its parameters, nor to restart the suspended call. Indeed, the JVM makes some of that stuff really inconvenient to do.
You cannot do everything from the Clojure repl in the way you can from a Common Lisp repl or from a Smalltalk worksheet.
I don't know that the Clojure language design forbids it; you might, for example, implement Clojure on top of a Lisp or Smalltalk environment and hook up their tools to Clojure through its interop. That might work, and ruricolist has been working on such an implementation called Cloture:
https://github.com/ruricolist/cloture
But existing Clojure implementations don't have the full set of tools.
What are some alternatives?
cloroutine - Coroutine support for clojure
janet - A dynamic language and bytecode vm
ex - In which we deal with exceptions the clojure way
clojerl - Clojure for the Erlang VM (unofficial)
wingman - Restartable exception handling for Clojure, allowing you to recover from exceptions without unwinding the stack.
clj-chrome-devtools - Clojure API for controlling a Chrome DevTools remote
clojure-scheme - Clojure to Scheme to C to the bare metal.
etaoin - Pure Clojure Webdriver protocol implementation
py4cl2 - Call python from Common Lisp
planck - Stand-alone ClojureScript REPL
cafe-latte - An implementation of Common Lisp dynamic variables, control flow operators, and condition system in plain Java.
ClojureRS - Clojure, implemented atop Rust (unofficial)