15:03 PM
michaniskin
none of them can do the stateful traversals you can do in jquery
15:04 PM
take enlive for instance
15:04 PM
jjttjj joined the channel
15:04 PM
suppose you want to traverse a document in a way that has branches, like the nodes you've visited affect the path you continue on in your traversal of the docuemnt
15:05 PM
this is impossible to do in any of the things
15:05 PM
zippers don't help
15:05 PM
the zipper code was way worse than the naive thing i wrote
15:05 PM
crazydiamond
it was probably way to universal
15:05 PM
michaniskin
things like enlive can't do stateful traversal
15:06 PM
this is a case where immutable data doesn't help at all
15:06 PM
very much like the dom in browsers
15:06 PM
we *need* to be able to mark nodes in place
15:06 PM
and edit them
15:06 PM
and so on
15:07 PM
crazydiamond
huh
15:07 PM
michaniskin
because we need to be able to encapsulate logic in small pieces
15:07 PM
like with immutable data you take a thing and build a new thing
15:07 PM
crazydiamond
15:08 PM
michaniskin
basically xml is a total fail because it's not really data
15:08 PM
it's a tree, yes
15:08 PM
but that's not really data
15:08 PM
you need lists, sets, maps, and atoms, at least
15:09 PM
and the whole attribute/child duality destroys any "datalike" properties
15:10 PM
i mean just look at what the clojure data representation of an xml document looks like
15:11 PM
{:tag :foo :attributes {:attr1 "attrval1"} :children [...]}
15:12 PM
crazydiamond
well, and why it isn't data?
15:12 PM
michaniskin
oh it's data
15:12 PM
it just has no meaning
15:13 PM
like we could do that in clojure
15:13 PM
imagine if vectors didn't exist
15:13 PM
crazydiamond
well, you might have a child and an attribute
15:13 PM
with the same name
15:13 PM
michaniskin
{:type :vector :first-child ... :second-child ...}
15:14 PM
it's just not useful
15:14 PM
crazydiamond
{:type :vector :data '(1 2 3 ...)}
15:14 PM
michaniskin
right and each piece of data can have an arbitrary :type
15:15 PM
which means a different thing
15:15 PM
and the meaning could depend on other things in arbitrary places in relation to that thing
15:15 PM
crazydiamond
{:type :hash-map :data {}}
15:15 PM
michaniskin
{:type :person ...}
15:15 PM
{:type :foobar ...}
15:16 PM
i dunno, i plumbed the depths of it, and there is no solution
15:16 PM
i even wrote code that would parse the xml schema
15:16 PM
and emit clojure code hlisp style representing each element and so on
15:17 PM
but the schema has affordances for things that make that approach very difficult
15:33 PM
robink_ joined the channel
15:33 PM
agarman has quit
15:33 PM
agarman joined the channel
15:35 PM
agarman has quit
16:37 PM
nonrecursive joined the channel
16:39 PM
TheAncientGoat has quit
16:42 PM
pandeiro
have any of you guys tried to create an uberjar with a *.cljc namespace as :main ? doesn't seem to work, currently
17:10 PM
hayohayo joined the channel
17:15 PM
agarman joined the channel
17:45 PM
agarman has quit
17:46 PM
agarman joined the channel
17:59 PM
nathan7 joined the channel
18:08 PM
jjttjj has quit
18:12 PM
agarman has quit
18:18 PM
cldwalker has quit
19:14 PM
tcrawley is now known as tcrawley-away
19:18 PM
tcrawley-away is now known as tcrawley
19:51 PM
jjttjj joined the channel
20:04 PM
tcrawley is now known as tcrawley-away
20:24 PM
nonrecursive has quit
20:33 PM
tcrawley-away is now known as tcrawley
20:38 PM
jjttjj has quit
21:24 PM
jjttjj joined the channel
21:25 PM
tcrawley is now known as tcrawley-away
21:27 PM
johnmendonca joined the channel
21:45 PM
johnmendonca has quit
21:56 PM
lunaticleo joined the channel
21:57 PM
johnmendonca joined the channel
21:58 PM
johnmendonca has quit
22:00 PM
lunaticleo has quit
23:20 PM
jjttjj has quit
23:42 PM
i'm trying to figure out why some tasks, when they throw an ex-info, show a stacktrace, while others don't
23:42 PM
e.g., boot-test/test shows just test output, even though it throws
23:58 PM
crazydiamond
pandeiro, may be it's suppressing stdout in some dirty way?