The key here is that in js, strings are not objects, they are primitives
Different from Java
Thus they have value equality and not identity
And it makes sense that js would do this, because the fields of js objects (=maps) are identified by strings, not something struct-like or something only real to the compiler
Is @stuartsierra author of the Clojurescript. Sorry for the basic question, but Iβm writing a book that I hoped it will use as academic metarial, It is important that my informations are absolute true.
Some Resources says Rich HICKEY made Clojurescript.
Iβm confused.
Rich Hickey and a team of others, including Stuart Sierra, made ClojureScript
https://github.com/clojure/clojurescript/graphs/contributors
@bronsa, Actually, I wanted to know, who is come up with the idea first ? And, @alexmiller answered my question. Thank you!
before clojurescript proper there was a version of clojurescript in clojure-contrib by chris houser
the design of it had nothing to do with the current clojurescript afaik
but the idea for a clojurescript was around for a while
@bronsa, The current implementation started from Rich and a team of developers.
Right ?
yes
A little history lesson would be nice.
I believe chouser was also part of the team of developers that worked with rich on the current impl, so some of his prior work may have played a part in the current impl, but I have no idea if that's the case
IIRC that version didn't have its own compiler per se, but piggiebacked on the clojure one
so quite a different beast than what we have now
@scknkkrer it was most definitely Rich Hickey's idea
he did the initial analyzer/compiler bits by himself - he pulled in the Relevance team mostly to work on porting the standard library, implement the REPL, docs etc.
this is trivially confirmed by looking at the original commits in the Git history
Oh, welcome Boss. Iβm looking at them now. @bronsa mentioned about early implementations, do you know anything about them ?
far as I know the Chouser version doesn't have anything at all to do w/ what Rich did
Rich had a very specific set of design goals
most of this information is covered in the repo in org mode files as well as in his initial release talk
I mean was there following along w/ all the various activities so I don't know who you're going to ask that has more context / information π
I was in the IRC channel since 2008, I was well aware of all the things going on at the time
Thatβs why I call you Boss
. π
as you can the Chouser thing fundamentally started from a place Rich didn't want start - reusing the Clojure compiler
he wanted a new implementation done purely w/ Clojure basic data structures
"Clojure-in-Clojure"
<shocked face/>
Whyβs cljs compiler unable to infer NumberFormat
and its properties here even though it comes from Closure Library? Is that because the compiler does not leverage type information from Closure Library?
(ns test.core
(:import [goog.i18n NumberFormat]))
(set! *warn-on-infer* true)
(.. NumberFormat -Format -DECIMAL)
@roman01la on the list of TODOs
there's a bunch of work in place but a bit more to do
ok, just making sure I understand why this is happening
We are moving to advanced compilation now, type inference definitely helps. Thanks a lot for that!
yeah it's not that much more work I think - the type information is there now
what's missing is treating a Closure libry as a kind ClojureScript namespace
put all their info into the compiler state so that type inference will work
I like this phrase!