| The binding is Dart, and it works f7aea3b nandi 12h ago | 1 | # The Dart side |
| 2 | |
| 3 | Packages 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 |
| 9 | things: |
| 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 ago | 14 | package resolves and tests in a second. `just test dart`. |
| The binding is Dart, and it works f7aea3b nandi 12h ago | 15 | * **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 ago | 19 | ## Why Dart |
| The binding is Dart, and it works f7aea3b nandi 12h ago | 20 | |
| The last of the Clojure 284b59c nandi 1h ago | 21 | The binding was ClojureDart for exactly one commit, which is how it got its |
| 22 | own README section. Writing it in the language being removed meant fighting |
| 23 | generic interop — `lookupFunction` takes two type arguments — for a file that |
| 24 | is pure marshalling. In Dart it is a typedef. |
| The binding is Dart, and it works f7aea3b nandi 12h ago | 25 | |
| The last of the Clojure 284b59c nandi 1h ago | 26 | The ClojureDart is all gone now, and the shape it left is the one to keep: |
| 27 | Nim owns the rules, Dart owns the platform. |