How I got tricked into writing a Clojure port
summary
Project ports Clojure to Dart/Flutter as ClojureDart and already runs a bootstrapped compiler that can compile itself and user apps on the Dart VM and JS, with a later mode targeting native Flutter. Implementation covers most core namespaces and collections and is 80% complete with generics, named params, and an added await special form for Dart async. Biggest current work is whole-program type inference and automatic magic cast insertion for collection interop. Estimated public release targeted Q1 2022.
AI-written summary · about
chapters (14)
- 0:00Who's that guy?
- 0:39Tensegritics
- 0:57Clojure Dart
- 1:37Contingency or frequency illusion
- 2:29First they laugh at you...
- 2:51So, what's Dart + Flutter?
- 3:56Dart dynamism: it's complicated
- 4:49It's not the destination, it's the journey!
- 9:10Dart specifics: optionals
- 9:56Dart specifics: nullability
- 12:20Dart specifics: generics . Unlike Java, generics are not erased: you can't pass a List where alist is expected even if it holds only Strings
- 17:13Dart specifics: require
- 17:35Dart specifics: async
- 22:24Are we there yet?








