Fork me on GitHub
#cljs-dev
<
2019-08-16
>
favila11:08:55

The key here is that in js, strings are not objects, they are primitives

👍 1
favila11:08:09

Different from Java

favila11:08:49

Thus they have value equality and not identity

favila11:08:05

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

scknkkrer14:08:27

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.

scknkkrer14:08:20

Some Resources says Rich HICKEY made Clojurescript.

scknkkrer14:08:23

I’m confused.

alexmiller14:08:14

Rich Hickey and a team of others, including Stuart Sierra, made ClojureScript

👍 1
scknkkrer14:08:45

@bronsa, Actually, I wanted to know, who is come up with the idea first ? And, @alexmiller answered my question. Thank you!

bronsa14:08:23

before clojurescript proper there was a version of clojurescript in clojure-contrib by chris houser

😱 1
bronsa14:08:40

the design of it had nothing to do with the current clojurescript afaik

bronsa14:08:56

but the idea for a clojurescript was around for a while

scknkkrer14:08:10

@bronsa, The current implementation started from Rich and a team of developers.

scknkkrer14:08:12

OMG, @bronsa. Can @chouser tell me about the first implementation ?

scknkkrer14:08:43

A little history lesson would be nice.

bronsa14:08:27

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

bronsa14:08:14

IIRC that version didn't have its own compiler per se, but piggiebacked on the clojure one

bronsa14:08:33

so quite a different beast than what we have now

dnolen15:08:39

@scknkkrer it was most definitely Rich Hickey's idea

dnolen15:08:17

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.

dnolen15:08:44

this is trivially confirmed by looking at the original commits in the Git history

scknkkrer15:08:17

Oh, welcome Boss. I’m looking at them now. @bronsa mentioned about early implementations, do you know anything about them ?

dnolen15:08:16

far as I know the Chouser version doesn't have anything at all to do w/ what Rich did

dnolen15:08:48

Rich had a very specific set of design goals

1
alexmiller16:08:45

<shocked face/>

😂 1
dnolen15:08:08

most of this information is covered in the repo in org mode files as well as in his initial release talk

dnolen15:08:15

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 🙂

dnolen15:08:35

I was in the IRC channel since 2008, I was well aware of all the things going on at the time

scknkkrer15:08:22

That’s why I call you Boss. 😂

dnolen15:08:24

as you can the Chouser thing fundamentally started from a place Rich didn't want start - reusing the Clojure compiler

dnolen15:08:48

he wanted a new implementation done purely w/ Clojure basic data structures

dnolen15:08:52

"Clojure-in-Clojure"

1
scknkkrer19:08:38

I like this phrase!

roman01la16:08:05

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)

dnolen17:08:20

@roman01la on the list of TODOs

dnolen17:08:32

there's a bunch of work in place but a bit more to do

roman01la17:08:54

ok, just making sure I understand why this is happening

roman01la17:08:50

We are moving to advanced compilation now, type inference definitely helps. Thanks a lot for that!

dnolen17:08:26

yeah it's not that much more work I think - the type information is there now

dnolen17:08:37

what's missing is treating a Closure libry as a kind ClojureScript namespace

dnolen17:08:48

put all their info into the compiler state so that type inference will work