Clojurians
#cljs-dev
<
2018-07-08
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

bronsa17:07:39

@dnolen any plans for migrating core.async's codebase to match clojure's implementation once @ambrosebs is done with the AST format porting? I wouldn't mind helping out with that, or doing it myself if that's not on anybody else's plate, it should fix some long standing bugs

dnolen17:07:02

@bronsa was just thinking about that today :)

dnolen17:07:30

I’m not aware anyone wanting to take it on, but with @ambrosebs changes it should hopefully be pretty boring

bronsa17:07:11

yeah I don't think it should be much work after that, I'll have a look in the next few weeks then if nobody else beats me to it

ambrosebs17:07:07

@dnolen thanks for screening all that. exciting!

dpsutton17:07:04

Did you write the paper that implemented records which were automatically converted into types when used a certain amount of times?

ambrosebs18:07:54

I'm currently writing a paper that auto generates types and specs from Clojure data structures, if that's what you mean?

dpsutton18:07:40

Yes I think that's what I was thinking of. I stumbled across it a month or so ago.

dnolen19:07:21

@ambrosebs no problem, excited too :slightly_smiling_face:

bronsa19:07:23

@ambrosebs for cljs core.typed are you planning to hook the cljs namespace system into the t.a one or just use the cljs one? (I'm talking about the resolve-var/`t.a.env` stuff)

bronsa19:07:14

the former would mean full compatibility with t.a which would be quite cool, but I remember it not being that trivial when i worked on it for t.a.js

bronsa19:07:15

having a completely unified analysis framework between clj and cljs has been my dream for years :simple_smile:, this is huge

ambrosebs19:07:02

@bronsa I'm not really sure. my main concern has been backwards compatibility so far, so ana/resolve-var is a bit of a mutant (we desugar dotted variables after calling resolve-var). perhaps you can have another look now that the road's a little clearer :slightly_smiling_face:

ambrosebs19:07:54

I liked where you were going with it in t.a.js, didn't try to emulate yet tho.

ambrosebs19:07:46

only just starting to get cljs core.typed back up and running, so I don't know the answer yet

bronsa19:07:41

ok cool, will def take a look when I get some free time and see if I have any suggestions

bronsa19:07:06

either way even just a shared ast format will bring most of the value I reckon. still blows my mind how much can be shared given entirely different hosts & evaluation models

bronsa19:07:21

one thing I massively regret is not having namespace qualified the host specific ops

bronsa19:07:21

I wonder if we could do that for cljs

ambrosebs19:07:04

that would be nice

ambrosebs22:07:20

@bronsa just including an optional renaming pass to opt-in to qualified ops in t.a.jvm would be cool

ambrosebs22:07:56

at least it sounds relevant to core.typed

bronsa23:07:38

yeah that sounds like a good idea