Hacker News new | past | comments | ask | show | jobs | submit | kennytilton's comments login

I have written a couple of 80kloc Common Lisp apps. Not a problem. But we all are used to what we are used to, and anything different offends.


Working eight tickets in thirty minutes, while yapping away about Flutter/MX, a sophisticated state manager wrapping Flutter, thanks to a Clojure implementation that compiles to Dart: https://youtu.be/18AbXfQdq68 . The product? The flutter_tts (text-to-speech) demo rethunk.

Popcorn left as an exercise.


I definitely identify with addressed concerns over the hassles of my go-to debug approach, viz. print statements. I have a rather intense state engine that, when things go awry, can be brutal to debug with prints. But now I am doing ClojureDart, which I know is on the FS roadmap. The state engine is stable these days, but if it misfires before you get to CLJD, forgive me if I swipe your idea and roll my own ad hoc, informally-specified, bug-ridden, slow implementation of half of FlowStorm. Maybe a tenth.


Hi Kenny! Go ahead! There is a ton to explore in this area, so looking forward to whatever works for you.

ClojureDart is still on FlowStorm roadmap, just waiting for the self hosted version there.


FYI, they recently resumed activity on Hoplon. Good to see!


(a) Is six months a long time? (b) And then they delivered successfully. (c) Not seeing a problem.

I know, I have been beating on CLJD like I was its Daddy wrapping it in a reactive framework, despite their warning that there would be surprises. I had one problem that turned out to be a simple bug in CLJD.

I also follow their channel on the #clojurians Slack and see they are doing a profoundly deep job on the compiler. This means a robust product, not one that has developers forever looking over their shoulders at the language they are using.

Six months for that is nothing. Now send them eight dollars. jk. :)


"a full rewrite will be absolutely necessary"

cough Well, this article _is_ about a delightful Lispy alternative to Dart that compiles to Dart, yielding a superior language with Genuine Dart Inside(tm) and elegant support of Flutter.

Dart may end up living on inside ClojureDart, much like DOS living on deep inside Windows and PCs.


As a Dart/Flutter outsider myself, I am finding all this "Dart no, Flutter yes" traffic intriguing. I am also a lisper, so no need to sell me on the difficulties of Dart, even if it were the perfect static typed OO, but it sounds like we have a great UI stuck inside an unloved language.

Happy opportunity for ClojureDart!

btw, in case anyone is wondering, I am not a part of Team CLJD at all. My hack is my own separate effort.


I agree "UI = f(state)" rocks. That was the one thing React got right. But they never worked out state management, other than to kick off the Flux monstrosity that Redux ran with, and every other UI I can find.

As for what I call the "Lego model" of UI construction, while definitely off-putting, I think the "why" is prolly "simplicity thru decomposition". So we do a bit more typing but have a dead simple approach to building our UIs.

The nice thing about any Lisp with its macro capabilities is that we can wrap sth like Flutter to produce a library that remains Flutter, but hides the noise.

ClojureDart offers a so-called "widget" macro, and my Matrix library goes a different way, making every constructor such as "scaffold" into a friendlier macro.


By popular request, a video[0] of my workflow using ClojureDart and Matrix to live code Flutter. The last few minutes show me probing a new bug! I experiment, and find a partial workaround that hints at a solution.

[0]: https://www.youtube.com/watch?v=qQiTfIc7nDo


Voila! https://www.youtube.com/watch?v=qQiTfIc7nDo

Please let me know what else you might like to see.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: