alexgordon changed the topic of #elliottcable to: https://gist.github.com/atg/0c323cc4b80c7372d05de77ab39b5d32 slash-𝕯𝖊𝖓-𝖔𝖋-𝕯𝖊𝖙𝖊𝖗𝖒𝖎𝖓𝖊𝖉-𝕯𝖆𝖒𝖘𝖊𝖑𝖘 || #ELLIOTTCABLE is not about ELLIOTTCA
alexgordon has joined #elliottcable
<ELLIOTTCABLE> alexgordon: not far off
<alexgordon> he's got cancer?
<ELLIOTTCABLE> …
<alexgordon> it's like a baby, but bad news
Sorella has quit [Ping timeout: 264 seconds]
embri0n has quit [Ping timeout: 260 seconds]
<ljharb> ELLIOTTCABLE: :-) ty
<ljharb> ELLIOTTCABLE: i'm 33, she's 39
embri0n has joined #elliottcable
<ELLIOTTCABLE> I can't make nyc / babel-plugin-istanbul work
<ELLIOTTCABLE> it's all such a mess
<ELLIOTTCABLE> wtffff why is thsi tooling so complicated ;_;
cloudhead has quit [Ping timeout: 260 seconds]
Sorella has joined #elliottcable
embri0n has quit [Quit: Leaving...]
embri0n has joined #elliottcable
<ELLIOTTCABLE> halp
<ELLIOTTCABLE> got fed up and wrote it up
<ELLIOTTCABLE> Sorella: teaching PL?
<Sorella> ELLIOTTCABLE: https://github.com/origamitower/canel.es/blob/master/documentation/overview.md#canelés. TL;DR: it's like Racket (the environment), but running on a browser, with semantics more aligned with JS, and able to use any JS library (through a FFI layer)
<ELLIOTTCABLE> mmmmm!
<ELLIOTTCABLE> I like the sound of that a lot
<ELLIOTTCABLE> what do you mean with “semantics more aligned with JS”
<ELLIOTTCABLE> is it still a lisp, broadly speaking?
<ELLIOTTCABLE> (Sorry, my experience with racket, beyond as an engine for r6rs, is limited)
<ELLIOTTCABLE> (I know it has some language-transformation shit though)
<ELLIOTTCABLE> “a programming language framework” ahhah
<ELLIOTTCABLE> Sorella: do you know of my work? :P
<ELLIOTTCABLE> jesus christ some of this reads like Paws circa 2012
<Sorella> The semantics are similar to a small subset of ES2015. It doesn't have any syntax by default, you have compiler modules, and they convert whatever syntax to Core's AST, and that gets transformed to something that can run in the browser.
<Sorella> I might've read about Paws in the past, but I don't remember much about it.
<ELLIOTTCABLE> semantics are *wildly* different, so it's not at all, like, related to your Actual Goals (in terms of distribution benefits of being JSlike and whatnot)
<ELLIOTTCABLE> but in terms of everything you describe with ‘layers’, and what I'd probably call ‘abstraction-additve’ programming-language design? yeah.
<ELLIOTTCABLE> Paws is literally designed with a “Paws' Core”, and then “Paws' Fullness” (a ‘layer’ containing some of my more esoteric / fun PLT theories and ideas)
<ELLIOTTCABLE> just thought the parallels were cute :P
<ELLIOTTCABLE> “But I think Racket not having a web-based implementation of something like DrRacket, and having most languages using uncommon syntax like S-expressions increases the barrier-to-entry significantly.”
<ELLIOTTCABLE> no fucking kidding, yeezus
<ELLIOTTCABLE> Sorella: Did you go for a true-subset of ES6? Or, like, a pseudo-subset? The former sounds … Hard™ to do, without copying a lot of the same errors
<ELLIOTTCABLE> (oh hey, Sorella, pronouns? I just realized I don't know)
<Sorella> It contains a very small subset (values, scoping semantics, closures), and then adds records, variants, and protocols with multi-dispatch.
<Sorella> I go by either they or she.
<ELLIOTTCABLE> k!
<Sorella> At first I wanted to make it a "real subset". But then it's too easy to break the language guarantees, and adding a FFI isn't *that* expensive, so I limited the JS parts a bit more and added some other useful stuff.
<ELLIOTTCABLE> I know nothing about implementing an FFI, tell me more?
<ELLIOTTCABLE> ack but I'm afk
<ELLIOTTCABLE> Sorella: thanks for the quick interlocution :3
<embri0n> time for zzzzs
<ELLIOTTCABLE> Sorella: allow me to Paws at you, sometime. I think you'd like some of my ideas. (Minus the type-safety)
<ELLIOTTCABLE> -embri0n
<purr> ELLIOTTCABLE: who?
<embri0n> cheers
embri0n has quit [Quit: Leaving...]
<Sorella> I just have a few nodes in the AST that interact with JS objects (and do some checks so they don't break the Core semantics). So you have `HostCall(fn, args)`, `HostMethodCall(obj, key, args)`, `HostGet(obj, key)` and `HostSet(obj, key, value)`. Languages can decide how to expose that, but the plan is to have a language where you declare an interface like:
<Sorella> `interface SomeModule for 'some-module' where procedure someOp(String, String) -> String`, then it generates a module that converts from Core strings to JS strings, and vice-versa.
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
alexgordon has joined #elliottcable
Pyrrh_ has quit [Read error: Connection reset by peer]
Pyrrh_ has joined #elliottcable
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
alexgordon has joined #elliottcable
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
alexgordon has joined #elliottcable
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Pyrrh_ has quit [Read error: Connection reset by peer]
Pyrrh_ has joined #elliottcable
Sorella has quit [Quit: Connection closed for inactivity]
embri0n has joined #elliottcable
embri0n has quit [Quit: Leaving...]
embri0n has joined #elliottcable
embri0n has quit [Remote host closed the connection]
cloudhead has joined #elliottcable
embri0n has joined #elliottcable
embri0n has quit [Client Quit]
thealphanerd has quit [Quit: farewell for now]
thealphanerd has joined #elliottcable
Sorella has joined #elliottcable
Pyrrh_ has quit [Read error: Connection reset by peer]
Pyrrh_ has joined #elliottcable
alexgordon has joined #elliottcable
Sgeo has quit [Read error: Connection reset by peer]
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
alexgordon has joined #elliottcable
whitequark has left #elliottcable [#elliottcable]
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
alexgordon has joined #elliottcable
cloudhead has quit [Ping timeout: 265 seconds]
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
cloudhead has joined #elliottcable
embri0n has joined #elliottcable
alexgordon has joined #elliottcable
embri0n has quit [Quit: Leaving...]
Pyrrh_ has quit [Read error: Connection reset by peer]
Pyrrh_ has joined #elliottcable
wraithgar has joined #elliottcable
Sgeo has joined #elliottcable
cloudhead has quit [Quit: leaving]
cloudhead has joined #elliottcable
embri0n has joined #elliottcable
<cloudhead> what's up
<Pyrrh_> debating with myself about the merits of taking a nap vs actually doing something useful with my evening
<Pyrrh_> sup with you?
<Pyrrh_> also hi
<Pyrrh_> I'm Pyrrh
<cloudhead> can't you take like, a super short nap?
<cloudhead> hello
<cloudhead> , I'm cloudhead
<pikajude> i got my 1976 keys guys
<Pyrrh_> I probably could but then I will be grumpy and therefore unproductive. Might as well make it count
<cloudhead> hmm I see
<cloudhead> 1976 keys?
<pikajude> Not mine obviously that's a weird ass layout
<pikajude> that's the color scheme though
<cloudhead> omg that looks amazing
<pikajude> ❤️
<cloudhead> I have a WASD
<cloudhead> I actually want one of these: https://input.club/whitefox
<cloudhead> if they're ever available
<pikajude> i love the whitefox but i heard the creator is really inconsistent
<cloudhead> hmm I See
<jfhbrook> I just have a das keyboard
<jfhbrook> it's the greatest, I love it
<cloudhead> yeah those are also nice
<cloudhead> I don't like the newer models though
eligrey has joined #elliottcable
<pikajude> i have a GON NS NerD TKL
<pikajude> i'm not sure how many of those words are relevant
<cloudhead> looks dope
<cloudhead> what switches?
<pikajude> red
<cloudhead> nice
wraithgar has quit [Quit: Leaving]
<pikajude> clickity clackity clack
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
alexgordon has joined #elliottcable