Fork me on GitHub
#hoplon
<
2017-10-18
>
thedavidmeister01:10:31

@flyboarder @alandipert what's up with .hl files and dependencies?

flyboarder01:10:10

basically dont use them in libraries

flyboarder01:10:26

otherwise whoever consumes the library needs to use the boot-hoplon task

thedavidmeister01:10:51

ah ok, so make sure everything is just .cljs

flyboarder01:10:55

@thedavidmeister also, are you available for hire at all in the future? possibly for contracted/part-time work?

thedavidmeister01:10:26

atm i just do ad-hoc contracts and work remotely

thedavidmeister01:10:50

so, available for whatever...

flyboarder01:10:35

@thedavidmeister awesome, I’m having difficulty finding clojure devs in my area, and now that we have funding i’d like to move things along as quickly as possible Amelia said she was working with you so I thought it would work well if I could get you onboard

thedavidmeister01:10:03

yeah for sure, milly was telling me a bit about what you've been working on

thedavidmeister01:10:06

sounds interesting

thedavidmeister01:10:30

want to organise a hangout?

flyboarder01:10:06

yeah sounds good!

thedavidmeister01:10:10

well i am available after 3pm today if you want, it's 12:20 now

flyboarder01:10:37

yeah sure, that’s about 10:30 my time

flyboarder01:10:01

pm but im heading into the office once everyone is off the network to do some stuff

flyboarder01:10:17

so i’m available until very late tonight

thedavidmeister01:10:40

well we can keep it quick so you can your shit done 😉

thedavidmeister01:10:23

@flyboarder what's your email? i'll send a calendar invite

thedavidmeister10:10:59

is there any way to get at the reset! of a cell directly?

thedavidmeister10:10:33

when i add-watch on an atom, the callback fn is triggered every time reset! is called, even if the old and new values are the same

thedavidmeister10:10:27

cells seem to follow the propagation graph logic even at the add-watch level, so the callback is only triggered if old and new values change

thedavidmeister10:10:33

however, this doesn't seem to be the case for lens callbacks, the update callback of a lens is always called even if subsequent calls are passed the same argument

thedavidmeister10:10:06

is there any way to get at/inject a callback for updates against a cell that is not a lens?

thedavidmeister10:10:23

is this question identical to the discussion we all had the other day? 😛

thedavidmeister11:10:33

@alandipert ^^ FYI, would love to hear your thoughts on this tx, i know we discussed something similar a while back

alandipert15:10:02

thedavidmeister that's a really interesting distinction, i'm not sure if it's intentional. i would guess it is, since the "implementation" of a lens might not follow value diff semantics and so the "raw" reset is useful.

flyboarder18:10:29

@alandipert @thedavidmeister been looking through javelin’s code, still boggles my mind but I found that lenses are always updated and input cells update their state then propagate the cell, the issue for @thedavidmeister is line 25 https://github.com/hoplon/javelin/blob/master/src/javelin/core.cljs#L25 deep in the propagation code, I don’t see an easy way to circumvent this or provide our own propagation implementation, but perhaps thats the real issue, no way to set a custom propagator

flyboarder18:10:11

I think something like the hoplon multimethod idea would work well here, use a multimethod to do the propagation and override that when we want something else to happen

flyboarder18:10:35

@alandipert @micha is there a document available that the javelin cell graph is based on? like a research paper or something?

alandipert18:10:55

flyboarder part 3 "implementation" of http://cs.brown.edu/~sk/Publications/Papers/Published/mgbcgbk-flapjax/paper.pdf is maybe the best high level description of the general technique

alandipert18:10:00

re: that pdf, just looked at it, section 3.4 in particular has the juiciest bits

dm319:10:33

multimethods will be slow

dm319:10:59

I’d attach that logic to the celll

dm319:10:31

(when (-update-prev-state cell) ..propagate..)

alandipert20:10:43

that's the way i went with my cell.js which i haven't polished or shared yet

alandipert20:10:30

... you can pass cells the test function to use when making them. weird/bad things become possible