ClojureDart
gambit
ClojureDart | gambit | |
---|---|---|
27 | 12 | |
1,337 | 1,253 | |
1.0% | 0.6% | |
9.1 | 8.9 | |
7 days ago | 8 days ago | |
Clojure | Scheme | |
- | 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.
ClojureDart
- ClojureDart – Clojure Dialect for Flutter and Dart
- Embedding Clojure into iOS Applications
-
Why Lisp?
> "ClojureDart is production-ready: you can ship applications right now.
Source: https://github.com/Tensegritics/ClojureDart
See a live demo here: https://www.youtube.com/watch?v=dqBeGpuedf0
ClojureDart is very similar to ClojureScript, which the GP is already comfortable with.
-
Is Clojure the only language you need?
Ah, and there is also a new version of Clojure in active development - ClojureDart. It is a port of Clojure language to Dart with the primary goal of using Flutter framework and getting a native mobile and desktop UI.
-
So you're using a weird language
There is a port of the Clojure language to Dart with Flutter support: https://github.com/Tensegritics/ClojureDart
-
What features should a Lisp IDE have?
Now https://github.com/Tensegritics/ClojureDart exist to build GUI with flutter.
-
language bindings?
There are ways, but it is generally a lot of work, for example there is ClojureDart https://github.com/Tensegritics/ClojureDart . Though unusually that sort of thing is normal for Clojure, because it is a hosted language (Clojure -> JVM, ClojureScript -> JS, etc).
- Jumping back in!
-
Clojure Single Codebase?
Something to checkout for mobile and desktop is: https://github.com/Tensegritics/ClojureDart
-
Clojure Scripting on Node.js
Basically, you take a programming language and make it work on a platform that meant to be programmed using a different PL. Clojure is hosted by design - it's not Java, but can be used to program for JVM. It ain't Javascript, but can be used to target nodejs and browser; not an [official] CLR language, but you can write .Net programs. You can use Clojure to make Flutter apps with ClojureDart. You can integrate Python into Clojure with libpython-clj. Or write Clojure to target Erlang/OTP; or Rust; or R; There's even a clojure-like language for Lua - Fennel.
There's something about Clojure people like so much, they want it to work atop any platform.
https://github.com/Tensegritics/ClojureDart
https://github.com/clj-python/libpython-clj
https://github.com/clojerl/clojerl
https://github.com/clojure-rs/ClojureRS
https://github.com/scicloj/clojisr
https://fennel-lang.org
gambit
- Why Lisp?
-
Is Raven still in use?
- Gambit: web-server example
-
Gambit – open-source tools for doing computation in game theory
Not to be confused with Gambit (Scheme programming language implementation):
https://github.com/gambit/gambit
https://gambitscheme.org/
- Gambit Homepage is back up
- GambitScheme: A New Home Page
-
A small scheme VM, compiler, and REPL in 4k
The Ribbit compiler was developed using Gambit but most of the code is portable. I rewrote a few parts with cond-expand to port rsc.scm to older versions of Gambit and also Guile and Chicken. If you pull the latest commit the Ribbit system should work with any of those Scheme systems. The README also contains usage instructions, here is a relevant part:
The Ribbit compiler is written in Scheme and can be executed with Gambit, Guile or Chicken. It has been tested with Gambit v4.7.5 and above. For the best experience install Gambit from https://github.com/gambit/gambit .
Currently Ribbit supports the target languages C, JavaScript, Python and Scheme which are selectable with the compiler's `-t` option with `c`, `js`, `py`, and `scm` respectively. The compacted RVM code can be obtained with the target `none` which is the default.
The `-m` option causes a minification of the generated program. This requires a recent version of Gambit.
The `-l` option allows selecting the Scheme runtime library (located in the `lib` subdirectory). The `min` library has the fewest procedures and a REPL that supports the core Scheme forms only. The `max` library has most of the R4RS predefined procedures, except for file I/O. The `max-tc` library is like `max` but with run time type checking. The default is the `max-tc` library.
Here are a few examples:
Use Gambit to compile the minimal REPL to JavaScript
-
Racketscript/Racketscript: Racket to JavaScript Compiler
That is a bummer about the expired certificate. You can access the site using http instead of https if you are comfortable doing so. I have never seen this live REPL before and have just used their Github repo to get the latest: https://github.com/gambit/gambit
I think it is great someone is trying to get Racket compiling to Javascript again. I also agree with you about the REPL; while it is interesting to compile Racket to JS, having a REPL, a live environment and all the features of something like ClojureScript has much more utility.
-
Gambit: Ever came across BUILD_EXE_META_INFO_FILE_PARAM?
Don't hesitate to submit the problems you encounter to the issue tracker on github (https://github.com/gambit/gambit/issues).
-
Visual Tutor for Scheme?
But it's command like tool, I don't think that there is Online tool even smilar to the Python tool you showed. You can try creating issue with a question on https://github.com/gambit/gambit/issues Marc Feeley may consider that it's also nice idea to show usage of Gambit, he was working on making Gambit on new try.scheme.org website, I've also did some help.
-
gambitscheme.org inaccessibe?
Edit: somebody opened an issue for this https://github.com/gambit/gambit/issues/649
What are some alternatives?
gallery - Flutter Gallery was a resource to help developers evaluate and use Flutter
biwascheme - Scheme interpreter written in JavaScript
valence-native - A React environment for cross platform desktop apps
racketscript - Racket to JavaScript Compiler
vim-iced - Clojure Interactive Development Environment for Vim8/Neovim
ribbit - A small and portable Scheme implementation with AOT and incremental compilers that fits in 4K. It supports closures, tail calls, first-class continuations and a REPL.
slsa - Supply-chain Levels for Software Artifacts
opendylan - Open Dylan compiler and IDE
babashka - Native, fast starting Clojure interpreter for scripting
Core - Scheme's commonly used small functions
language - Design of the Dart language
schism - A self-hosting Scheme to WebAssembly compiler