nandi/frqpublic Fork 0
f912073996723d02b1fbf114648b36e57ced6678
Commits
Clone
git clone https://git.rickub.com/nandi/frq.git
git clone ssh://git@rickub.com/nandi/frq.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

README.md · 27 lines · 1.2 KBmarkdown Blame HistoryRaw
The binding is Dart, and it works f7aea3b nandi yesterday1# The Dart side
2
3Packages that are Dart rather than ClojureDart, and are not Flutter.
4
5## Why this is a separate tree
6
7`frq_core` is the binding to the Nim core in `nim/`. It is `dart:ffi` and
8`dart:convert` and nothing else, and keeping it out of `flutter/` buys two
9things:
10
11* **It tests on the plain Dart VM.** `flutter/pubspec.yaml` depends on the
12 Flutter SDK, so `dart pub get` cannot resolve it at all — anything living
13 there needs a Flutter toolchain to run one assertion about a string. This
Six verbs, and the last of the nix 2e24e64 nandi yesterday14 package resolves and tests in a second. `just test dart`.
The binding is Dart, and it works f7aea3b nandi yesterday15* **It says which way the dependency goes.** The Flutter app depends on this
16 by path. Nothing here may depend on Flutter, and if that ever becomes
17 tempting the thing being written belongs on the other side of the line.
18
The last of the Clojure 284b59c nandi 18h ago19## Why Dart
The binding is Dart, and it works f7aea3b nandi yesterday20
The last of the Clojure 284b59c nandi 18h ago21The binding was ClojureDart for exactly one commit, which is how it got its
22own README section. Writing it in the language being removed meant fighting
23generic interop — `lookupFunction` takes two type arguments — for a file that
24is pure marshalling. In Dart it is a typedef.
The binding is Dart, and it works f7aea3b nandi yesterday25
The last of the Clojure 284b59c nandi 18h ago26The ClojureDart is all gone now, and the shape it left is the one to keep:
27Nim owns the rules, Dart owns the platform.