I think I need to remove the debug logging from Eucalypt. Smallest build size is 8kb gzipped with logging removed:
../../docs/small.html 22.62 kB │ gzip: 7.97 kBWonder if I could use a macro to strip it out. 🤔
you could use a macro yes
probably
Lots of simplifying Eucalypt today. I'm getting ready to make r/render re-entrant so there can be multiple on the same page. Will add a failing test with two different r/render calls that conflict. I think this will make the code much cleaner and more functional too, with less global vars.
Are you using the logging at all? I think I might just rip it out since I am not actually using it. I generally just add logging when I need to debug and remove it again afterwards.
so thats now [true true true] and it wasn't before?
yep, before it was false false false
fixing javascript, one clojure idea at a time
the next idea is to make #{..} return a set that actually works with collection equality =
I can't change object literals but I'd like to make a Map type which also works with that. Perhaps as a separate namespace
or perhaps with an object literal notation like #map {:a 1} or so
the main driver for this change was eucalypt which compares hiccup
Does squint currently turn #{} into https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set ?
yes
🆒
and (= a b) into a==b ?
well that's the part which just changed
I see, that makes sense.
it now uses squint_core._EQ_ for this. when you write (identical? a b) it should do the same as a === b which was the behavior of = before
yes
the real meat is in dequal
got it 🙂