Fork me on GitHub
#hoplon
<
2016-07-13
>
tbrooke01:07:40

@jumblerg: Is there just a simple Hoplon-UI demo? It looks interesting but not sure where to begin

jumblerg01:07:47

@tbrooke: i suggest approaching it with caution right now, since it is changing constantly; i’m guessing that we’ve captured 80-90% of the use cases in some sort of implementation at this point, but we need to do a major refactoring before too many people start depending on it.

jumblerg01:07:16

i’ll send you some code snippets as examples, however.

adamw06:07:05

@jumblerg: can we add an ':id' tag somewhere in the flow? It's very useful when debugging 🙂

adamw06:07:20

& this change

adamw06:07:30

has broken submit - getting an error

ui.cljs:585 Uncaught TypeError: (intermediate value)(intermediate value)(...).call is not a function(anonymous function) @ ui.cljs:585
which I think is because the submit in the let is hiding the destructure from attrs. Over-exuberant find/replace?

jumblerg12:07:36

@adamw: precisely. that was fixed a couple days ago on master i think.

jumblerg12:07:06

i'm reticent expose ids to the surface area of the api, but i do think we can modify defelem so the tag of the element itself corresponds to its symbolic name and maybe add some other attribute to assist with debugging.

genRaiy16:07:43

@micha launches a volley of heavy weight explanations 🙂

flyboarder17:07:34

lol “Launching the koala's"

flyboarder18:07:42

@alandipert: what are you using for the dependency graphing in javelin?

alandipert18:07:01

@flyboarder: what do you mean by graphing? visualizing?

flyboarder18:07:07

well i’d like to visualize it, but I was originally referring to the system itself

alandipert18:07:40

in the past i've written stuff to visualize using d3 via dagre-d3, http://tailrecursion.com/~alan/ttt/basic.html

alandipert19:07:01

unfortunately i lost the source to that 😞 but i remember it wasn't much code

alandipert19:07:30

since then there have been some innovations that could make graphing cells more awesome, in particular Var meta in cljs

alandipert19:07:54

so we could put the source code of formula cells on them, to see the formula code later in a live graph view

flyboarder19:07:43

yeah that would be sweet

flyboarder19:07:56

nice little version you got going on there tho!

alandipert19:07:11

can you elaborate on what you mean "by the system itself"... you mean like, the algorithm for doing the formulas in dependency order?

flyboarder19:07:48

I thought you might use something like stuartsierra/dependency or maybe tools.namespace

alandipert19:07:45

in the same general category, but javelin's needs are different

alandipert19:07:53

in particular javelin supports dynamically adding new formulas at runtime

alandipert19:07:03

and also anonymous formulas

alandipert19:07:01

the algorithm is adapted from the one in flapjax, but uses an immutable priority-map instead of a mutable heap

alandipert19:07:09

there are basically two popular ways of doing dataflow in UI, dirty checking and propagation

alandipert19:07:13

when they say 'dataflow constraint' you can sub in equality, since that's the only constraint javelin imposes... propagation is equality based. things happen when the new value isn't equal to the previous

alandipert19:07:45

the mark-sweep strategy they describe is what angular does

alandipert19:07:59

aka dirty-checking

flyboarder19:07:07

ok makes sense

flyboarder19:07:23

my needs arent nearly as complex as to handle changes between dependent items so i’ll probably stick with the dependency lib

flyboarder19:07:41

thanks for the link tho

alandipert19:07:26

oh, this might be handy also if you're doing something simple https://gist.github.com/alandipert/1263783

alandipert19:07:35

if you have a graph, it orders them in dependency order

alandipert19:07:42

the nodes that is

alandipert19:07:53

for any map of item to sets of item

flyboarder19:07:55

what I am trying to do is make a better version of vulcanize as a boot task, so I need dependency mgmt between files and then code inlining

alandipert19:07:26

oh, i would use the kahn sort thing then probably... scan the files and build up a map of file -> files it depends on

alandipert19:07:42

then you can get the dependency-sorted list of files by calling kahn on that map