Fork me on GitHub
#cljs-dev
<
2015-12-13
>
mfikes00:12:32

Are the ops supported cljs.analyzer/parse the ClojureScript special forms? That would mean they are { var, if, case*, throw, try, def, fn*, letfn*, do, let*, loop*, recur, quote, new, set!, ns, deftype*, defrecord*, ., js* }

dnolen00:12:50

@mfikes: yes in that there have to be parse cases for special forms. There may be some additional internal cases in the future.

mfikes14:12:56

I wonder if Clojure preserves the order of libs in an ns form. (I failed to empirically show that it doesn’t—something that can be done for ClojureScript.)

bronsa14:12:38

@mfikes: it does, but it's an impl detail AFAIK

dnolen17:12:30

@mfikes: there’s a ticket for that

mfikes17:12:04

@dnolen: A ticket to require that ClojureScript honor ns form textual order?

dnolen17:12:13

@mfikes: yes there’s a ticket for that already

thheller17:12:28

is this really something that cljs should have officially?

thheller17:12:14

doesn't strike my as something that should be actively encouraged

thheller17:12:11

well I guess it works in clojure since ns is actually a macro not a special form

mfikes17:12:48

But Nicola’s take was that it is just an accident in Clojure.

thheller17:12:56

yeah would be nice to get an official word on that

mfikes17:12:09

One thing to ponder: What if textual order in an ns form is inconsistent with the partial order induced by the existing :requires in the dependent namespaces.

dnolen17:12:10

load order matters

dnolen17:12:14

in Clojure and ClojureScript

dnolen17:12:28

if you cannot reason about than the occasionally top level side effectful thing can’t be done

dnolen17:12:46

if someone suppplies a patch for CLJS-1453 it will be applied

dnolen17:12:56

not interested in anymore discussion about the rationale

mfikes17:12:46

Wrt my last comment: Perhaps if it simply does what Clojure does today, it all pans out.

Alex Miller (Clojure team)19:12:21

I would inc dnolen - given that namespace loading can have side effects it makes no sense for ordering not to matter to me

ewen20:12:55

Hi, I guess alter-meta! only works on atoms in clojurescript, right? Would a pull request to fix the docstring be considered? https://github.com/clojure/clojurescript/blob/master/src/main/cljs/cljs/core.cljs#L9120

mfikes20:12:04

@ewen: In terms of process, generally things are discussed here or IRC to vet ideas. PRs are not taken. Instead tickets are filed in JIRA and patches attached. CA must be signed.

mfikes20:12:01

(Ahh, I see you have a ticket and came here to discuss the issue.)

ewen20:12:24

yes that's the reason simple_smile