Fork me on GitHub
#cljs-dev
<
2015-08-06
>
martinklepsch16:08:22

@dnolen: wondering how goog-define could/should handle metadata? declare doesn’t allow metadata right?

dnolen16:08:17

@martinklepsch: you should try it, I don’t see why it wouldn’t.

martinklepsch16:08:35

(declare ^{:my-meta true} my-var) — I tried this and meta returns nil

dnolen16:08:41

@martinklepsch: did you try in Clojure?

martinklepsch17:08:10

probably should try proper cljs as well?

dnolen17:08:12

@martinklepsch: yeah I would not use any bootstrapped thing yet as any source of reference

dnolen18:08:31

so it seems like goog-define needs to emit a comment w/o a trailing semi-colon

martinklepsch18:08:43

@dnolen: ugh. I saw that one before but failed to check if js* emits a ;

dnolen18:08:31

@martinklepsch: the issue is not js*, it’s just the JS expression/statement handling logic

dnolen18:08:51

@martinklepsch: see cljs.compiler/emit-wrap

dnolen18:08:06

it will just emit the trailing semi

dnolen18:08:50

all we need to do is check if we’re emitting an :op of type :js where the content of what we’re about to emit starts with /*

dnolen18:08:09

we could be more general, but I really don’t see the benefit of that - no one should be using js* anyway

dnolen18:08:27

we don’t care if people using js* get broken at all

martinklepsch18:08:45

ok, I think I see it

martinklepsch18:08:17

@dnolen: If you haven’t already done it I can try myself at a patch

dnolen18:08:32

@martinklepsch: not working on it, go for it!

dnolen18:08:03

@martinklepsch: this is the life of a ClojureScript compiler hacker 😛

martinklepsch18:08:30

@dnolen: probably not a now-thing but maybe its a good idea to deprecate the ^{:jsdoc “@define”} at some point?

dnolen18:08:18

@martinklepsch: there’s nothing to deprecate ^{:jsdoc …} has other uses

martinklepsch18:08:58

sure. more thinking about the 20 lines that are cljs.compiler/get-define

dnolen18:08:50

@martinklepsch: ah, maybe … we rarely “deprecate” anything a la Clojure

dnolen18:08:00

preferred to just have docs point to the right new thing

martinklepsch18:08:37

yeah was just thinking out loud. deleting some code always feels good 😉

dnolen18:08:15

yeah deleting is good if we’re making something simpler

dnolen18:08:25

but deleting an existing feature is unlikely

jackjames19:08:10

so, wrt building master on windows...

jackjames19:08:31

it's actually not too bad in the end, but the current wiki page can send people down dead ends (afaict) that consume countless hours of pain

jackjames19:08:53

i don't know java. i took a total stab in the dark here, and it worked: https://www.refheap.com/107799#L-25

jackjames19:08:12

before doing that, ./script/build failed w/: https://www.refheap.com/107824

dnolen19:08:59

@jackjames: if you could clean up the Windows instructions page that would be very helpful

dnolen19:08:20

@jackjames: -cp syntax is definitely different on Windows

jackjames19:08:00

@dnolen: any possibility of a solution that would make it possible to build from master on windows w/out modifying source (script) files?

dnolen19:08:33

@jackjames: I don’t see how if the -cp syntax is different

jackjames19:08:45

not sure either, but possibly detecting windows there similarly to the code just above for detecting hudson?

dnolen19:08:31

@jackjames: would take script/build.bat

dnolen19:08:53

if there’s a reasonable way to detect windows sure

dnolen19:08:02

this is outside of anything I know (or want to know about)

dnolen19:08:12

happy to take a patch if someone else sorts it out though of course

jackjames19:08:40

tbh, i'd really prefer not to do the wiki-editing. apologies; it's just not something i feel comfortable doing at this point. hopefully my notes can help someone who wishes to volunteer for that...

shaun-mahood19:08:44

@jackjames: I'll give it a shot if no one else is up for it, there's not too many Windows cljs developers so I'm happy you did the leg work.

jackjames19:08:29

great. happy to assist in any other way that i can...lmk if you need anything tested or have any questions