Fork me on GitHub
#clojurescript
<
2015-07-12
>
steveb8n02:07:16

@dnolen: ok thanks. I’ll keep that in mind.

wagjo12:07:11

is it possible to use something like radium with om, so that I can keep my component styles inline?

dnolen18:07:24

thinking about a new namespace that provides the bootstrapped functionality

dnolen18:07:33

will probably provide analyze, emit, eval, and some basic compiler environment constructors

dnolen18:07:37

all of these will be based on strings

dnolen18:07:46

load-file or something like it will be bindable thing

dnolen18:07:05

thinking everything should probably be async, so file loading is possible in all contexts

dnolen18:07:35

less concerned about awkwardness of async due to core.async

dnolen18:07:37

(go (let [result (<! (eval-chan "(+ 1 2)"))] (js/alert result)))

dnolen18:07:55

feedback on this welcome simple_smile which is why I’m mentioning here it

dnolen18:07:05

ideas for what this namespace would be called also welcome

jonas19:07:36

@dnolen: why string based eval?

meow19:07:29

I like painting bikesheds. How about strap?

dnolen19:07:49

@jonas: because there no such thing as files or any kind of standard I/O in JavaScript?

dnolen19:07:39

pkobrien: candidate one simple_smile

wildermuthn19:07:41

cljs.cljs? I like the idea of using async throughout.

jonas19:07:29

@dnolen: I was thinking eval should be form based (no IO) as in clj

meow19:07:39

This part is the most fun. I love naming things. Domain names, modules, repos.

dnolen19:07:58

@jonas oops, right sorry just wasn’t clear about that

meow19:07:03

@dnolen: Here's one ripe with subtlety: affirm

dnolen19:07:23

analyze (string), eval (form), emit(AST -> string)

jonas19:07:42

dnolen: that makes sense

jonas19:07:43

since compile <-> emit is kind of the same thing here

dnolen19:07:00

@jonas: anything that relies on I/O is out of scope for what I’d like to implement

dnolen19:07:06

I/O is something for other people to sort out

jonas19:07:39

ok, since there’s no standard to rely on

dnolen19:07:06

@wildermuthn: yeah thought about that too :)

dnolen19:07:55

Weird file name cljs/cljs.cljs heh

wildermuthn19:07:02

simple_smile Might be a bit too cute

dnolen20:07:48

cljs.meta-circular, cljs.meta ?

spiralganglion20:07:47

My hunch is that the fact that it's meta-circular matters more to you, @dnolen than it does to people who'll end up using it. Besides, cljs.meta is a really special namespace — we might want to save it for some sort of giant space laser that connects a REPL to the metaverse computer.

spiralganglion20:07:01

Personally, I'm fond of strap or bootstrap

magnars20:07:36

cljs.self ?

spiralganglion20:07:15

Um.. Hi @magnars. Feel like playing the lottery?

magnars20:07:29

I think we blew our chances simple_smile

wildermuthn20:07:46

cljs.this, cljs.that hah

dnolen20:07:14

@magnars: ha, thought about that one too.

spiralganglion20:07:25

I do quite like it.

wildermuthn20:07:41

:thumbsup: to self

meow20:07:59

self is pretty cool

magnars20:07:11

@ivanreese and I blew our chances at a winning lottery ticket for self, so it must be. 😇

spiralganglion20:07:41

And it's not like anyone is going to be implementing a Self compiler in CLJS, right?

spiralganglion20:07:21

Because that might inspire someone to create a JS compiler in CLJS.. and then.. a CLJS compiler in CLJS..

spiralganglion20:07:26

Which would be ridiculous.

shofetim20:07:32

So after watching dnolen's om.next video, and a few talks on falcor & relay, I think I "get it" in regards to querying the server for data, but I'm uncertain what an idiomatic way of sending requests to the server to update data would look like. Are there any existing ideas of what this will look like? I think that is what was being referred to by the first To Do item at https://youtu.be/ByNs9TG30E8?t=1862 ?

dnolen20:07:00

@shofetim: it’s not something that is done explicitly same as Relay

dnolen20:07:16

it's something handled under the covers by whatever store you plug in.

shofetim20:07:54

Are there any existing demo stores?

shofetim20:07:37

The stores will be plug-able in om.next?

shofetim20:07:55

(Sever side it will, but it seems like this has to be client side?)

dnolen20:07:29

@shofetim: they already are pluggable, but there needs to be more baking.

shofetim20:07:45

@angusiguess: @dnolen Thank you, that puts me on the right track.

dnolen20:07:50

I’m a bit heads down with bootstrapping and getting that into a release, once that’s out of the way Om Next will get fully baked at a fast clip simple_smile

shofetim20:07:16

Thank you. I've used om and like it, but Om Next looks like what I've been searching for, for the last 3-4 yrs, and I concur that the ideas are just not present in academia.

mikethompson20:07:08

cljs.inception (idea stolen from Chrome devtools inception)

mikethompson21:07:22

cljs.to-be-or-not-to-be

angusiguess21:07:27

cljs.ouroboros cljs.<-

meow21:07:21

+1 for cljs.inception (assuming we get unlimited votes)

meow21:07:19

doh! we already have that in core.async

meow21:07:29

cljs.begin

mikethompson21:07:06

cljs.therefor-I-am

mfikes21:07:03

Yes, cljs.descartes has a nice ring

mikethompson22:07:59

cljs.I-compile-therefor-I-am seemed too long simple_smile

shriphani22:07:04

hi, does destructing a vector in cljs differ from how it is done in clojure ?

shriphani22:07:34

I’ve got this simple bit of cljs - in advanced mode this throws a RangeError: Maximum call stack size exceeded

shriphani22:07:45

said bit of cljs ^

shriphani22:07:59

with :optimization :none, this goes through just fine.

shriphani22:07:03

what’s going on ?

shriphani22:07:26

and this is what I did in the console: https://www.refheap.com/106292

shriphani22:07:47

even if I avoid destructuring and use (nth coll 1), it falls apart. any ideas ?

spiralganglion22:07:40

cljs.jot-clips-recur

spiralganglion22:07:32

More serious: cljs.script