nandi/frqpublic Fork 0
main
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 12h ago1# 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 9h ago14 package resolves and tests in a second. `just test dart`.
The binding is Dart, and it works f7aea3b nandi 12h ago15* **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 1h ago19## Why Dart
The binding is Dart, and it works f7aea3b nandi 12h ago20
The last of the Clojure 284b59c nandi 1h 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 12h ago25
The last of the Clojure 284b59c nandi 1h ago26The ClojureDart is all gone now, and the shape it left is the one to keep:
27Nim owns the rules, Dart owns the platform.