hoplon

The :hoplon: ClojureScript Web Framework - http://hoplon.io/
dave 2020-03-13T00:13:28.220600Z

a coworker of mine and i are just a little doubtful that it's smart enough to figure out where the cells are 100% of the time it works totally fine in simple cases like (cell= [one-cell another-cell]) or (cell= (:something some-cell)), but as the expressions get more and more complex, we think trusting it is a bit of a leap of faith

dave 2020-03-13T00:13:46.221Z

the big thing for me, though, is that it isn't immediately obvious to the human reading the code where the cells are

dave 2020-03-13T00:14:02.221200Z

it feels a bit too magic to me sometimes

micha 2020-03-13T00:15:01.222Z

i've never seen a case where a formula couldn't figure out which things are cells, because it just calls cell? on them

micha 2020-03-13T00:15:24.222500Z

but when you want to do some certain types of things it can be difficult for a human

micha 2020-03-13T00:16:52.223800Z

especially if you need to do something like (formulet [x (cell 100)] (when @some-other-cell x))

micha 2020-03-13T00:17:41.224600Z

like if you want to manipulate cells as cells inside a formula, and not just the values contained in the cells

micha 2020-03-13T00:19:18.225100Z

like in the above example the formula wouldn't update when some-other-cell updates

dave 2020-03-13T00:20:30.225700Z

ah! yeah, i guess that would be an example of something you can do with formula-of and formulet, but not cell=, because cell= eagerly treats cells as their values

dave 2020-03-13T00:20:52.226400Z

it is pretty uncommon to need to do that, though

micha 2020-03-13T00:20:55.226500Z

yeah, there are ways, but it's more quirky

micha 2020-03-13T00:21:16.226900Z

like (cell= (when @~some-other-cell x))

micha 2020-03-13T00:21:43.227500Z

the ~ guy hides some-other-cell from the cell= code walker

micha 2020-03-13T00:22:20.227900Z

but it's probably overkill, just use formulet or whatever in that case for sure

2020-03-13T00:45:09.228900Z

Yeah personally I've found cell= to be really reliable for what it does. (and yeah formula-of and fomulet handle the cases it's not perfect for)

dave 2020-03-13T00:46:48.229500Z

i can't personally think of an example of cell= failing to recognize cells, especially if you know how to use ~

micha 2020-03-13T00:47:47.230200Z

the ~ form has some quirks that can be surprising

micha 2020-03-13T00:48:04.230400Z

in other words annoying lol

2020-03-13T00:54:29.230900Z

I way more often get tripped up by the templating nuances in hoplon

2020-03-13T01:12:19.231200Z

conditional children, another landmine

2020-03-13T01:12:33.231500Z

ie if vs if-tpl

micha 2020-03-13T01:13:05.231800Z

ah, yes, that templating

2020-03-13T01:14:19.232600Z

i feel that part was clearer back when hlisp was a thing, since the only elements you used were markup or special ones

2020-03-13T01:15:10.233700Z

like the templating model made sense if you knew mustache or whatever. now with everything intermingled, more conceptual overhead

2020-03-13T01:15:46.234300Z

ahem, "power" 😬