ELLIOTTCABLE changed the topic of #elliottcable to: screw syntax, make neat languages
Sgeo has joined #elliottcable
<joelteon> hey guys
<joelteon> anybody know where to find a nice text file full of english swears
<joelteon> american english
vil has quit [Ping timeout: 240 seconds]
vil has joined #elliottcable
yorick has quit [Read error: Connection reset by peer]
vil_ has joined #elliottcable
vil_ has quit [Quit: :qa!]
vil has quit [Quit: :qa!]
vil has joined #elliottcable
vil has quit [Quit: WeeChat 0.3.8]
sharkbot has quit [*.net *.split]
vil has joined #elliottcable
vil has quit [Client Quit]
vil has joined #elliottcable
alexgordon has quit [Quit: Textual IRC Client: www.textualapp.com]
oldskirt has quit [Read error: Connection reset by peer]
oldskirt has joined #elliottcable
<gkatsev> it's going to be hot in florida
<gkatsev> guess I'll be packing shorts and tshirts
sharkbot has joined #elliottcable
<glowcoil> ok ELLIOTTCABLE cloudhead here is a language idea
<glowcoil> i guess this might be hands or something
<glowcoil> one cool thing you can do:
<glowcoil> f( g() )
<glowcoil> g returns 10 times, now f is called 10 times
<glowcoil> but
<glowcoil> :
<glowcoil> a = { g() {
<glowcoil> whoops
<glowcoil> a = { g() }
<glowcoil> now a refers to a set
<glowcoil> of all the results of g
<glowcoil> that is populated over time
<glowcoil> whereas
<glowcoil> a = g()
<glowcoil> a always refers to the latest result of g
<glowcoil> and then some good comprehensions like
<glowcoil> { x for x in g() if x > 3 }
<glowcoil> but perhaps different syntax
eligrey has quit [Quit: Leaving]
oldskirt has quit [Quit: gone]
oldskirt has joined #elliottcable
oldskirt has quit [Changing host]
oldskirt has joined #elliottcable
<ELLIOTTCABLE> glowcoil: that leaves you with no way to assign the 10-sequential-results of g() to a variable.
<ELLIOTTCABLE> I know you hated that aspect of Paws, but I'm still convinced it's the least jarring, and single-most-useful, abstraction.
<ELLIOTTCABLE> Executing the rest of <code block>, with `a` *appearing* to be a single variable at a single point in time, *multiple times* with each value for a, without having to wrap it in a further function or add a callback or further manipulate the code itself to do so,
<ELLIOTTCABLE> is the single most common usage scenario.
<ELLIOTTCABLE> that said, paws not having *any other* approaches available, without some questionable and possibly-impossible abstractions written for you, was a huge failing.
<ELLIOTTCABLE> so: I'd like to see something halfway between the two. Retaining the Paws multiple-return == multiple-fork abstraction as the primary one, but with builtin tooling for multiple-return == multiple-pass *as well*.
<ELLIOTTCABLE> (i.e. lisp-style *sited* multi-values, with functions capable of taking multiple values being able to take a multi-return function as an argument, directly.)
<ELLIOTTCABLE> and of course wrapping multiple returns into a data-structure (say an array-ish type, or some continuously-growing ‘reactive’ approximation thereof) is a given. that doesn't really need much support at the language-level, would definitely be a syntactic abstraction over a semantic library-abstratction
<ELLIOTTCABLE> just thoughts.
<ELLIOTTCABLE> give zero fucks about language design right now.
<ELLIOTTCABLE> devyn: just, met a girl, she's a huge troll.
<oldskirt> so basically lua's `...`? function foo() return 1,2,3 end a,b,c=1,2,3 can be put into a table a={...} and passed as remaining parameters print(a, b, foo())
<oldskirt> and "multiple return" I would understand as "yield" from generators
gozala has quit [Quit: Connection closed for inactivity]
<devyn> hm interesting
<devyn> also
<devyn> you guys
<devyn> I might be crazy
<devyn> but
<devyn> I just bought a Raspberry Pi with the intention of doing bare metal programming on it
<devyn> because I found out that the firmware is actually really really well documented
<devyn> and fairly sane to do anything
<devyn> plus, ARM
<ELLIOTTCABLE> oldskirt: neither sounds related.
<devyn> oldskirt: "multiple return" as "yield" from generators is, actually, somewhat related
<devyn> oldskirt: just think of continuations, and then Paws executions are just mutable coroutines-as-objects
<devyn> basically
<oldskirt> where does the mutability come in?
<devyn> as in
<devyn> instead of getting a new continuation when you call it
<devyn> the continuation modifies itself
<ELLIOTTCABLE> execution is what it sounds like.
<ELLIOTTCABLE> Everybody, always, for four fucking years, has told me that my explanations of that make no sense
<oldskirt> (sounds like lua's coroutines)
<devyn> yes
<ELLIOTTCABLE> and since literally day one, before I knew what CPS, or coroutines, or delimited continuations, or program-counters, were,
<devyn> coroutines, however
<ELLIOTTCABLE> I *never* understood how the fucking concept was confusing.
<ELLIOTTCABLE> “A Function, is a first-class representation of a mathematical function, that you can put into a variable, so that you can send it messages / call methods on it.”
<ELLIOTTCABLE> “An Execution, is a first-class representation of a *particular execution*, or run-through, of a block of code; that you can put into a variable, so you can send it messages / call methods on it.”
<ELLIOTTCABLE> what's so hard about a thing named a fucking Execution that is a goddamned representation of the execution of some code. ಠ_ಠ
<ELLIOTTCABLE> I think now that I'm pushing through the burn-out on the project, I'm letting out my passive-aggresive side :P
* ELLIOTTCABLE toddles off back to his television
<devyn> you see, ELLIOTTCABLE, that makes sense to me now but I don't know whether it would have if I didn't know what it was in the first place
<ELLIOTTCABLE> yah that's my issue
<devyn> think that explanation requires too much context
<devyn> and "why?"
<devyn> essentially
<ELLIOTTCABLE> I just, can't fathom, how that's confusing
<ELLIOTTCABLE> oh the “why” I can get
<ELLIOTTCABLE> I can go *on* to explain how they're useful
<ELLIOTTCABLE> but explaining first-class *functions* to a newcomer to programming is just as confusing
<devyn> yep
<devyn> I'm currently teaching JavaScript to a noob
<ELLIOTTCABLE> “Wait, I have to store the *idea* of multiplication somewhere, and then give it a name!?”
<ELLIOTTCABLE> yeah I love teaching JS so much.
<ELLIOTTCABLE> NICOLE
<devyn> I was teaching her about all the different values
<devyn> and I had already told her about functions
<devyn> having names and all
<devyn> and she was fine with that
<devyn> but then when I told her about functions as values
<devyn> she was totally confused
<ELLIOTTCABLE> her, as in, our Nicole? :D
<ELLIOTTCABLE> or a different her?
<devyn> no, I don't know who that is
<ELLIOTTCABLE> oh poop k
<ELLIOTTCABLE> @nicoou
<devyn> different her. I may get her in here some day
<devyn> if she improves
<devyn> heh
* ELLIOTTCABLE sighs
<ELLIOTTCABLE> grumpymode.
<ELLIOTTCABLE> good night, though, assembling IKEA furniture at a friend's new place
<devyn> it's currently 2:30am
<devyn> and I have work at 9
<devyn> why am I up
<ELLIOTTCABLE> half past four /=
<devyn> wow it's raining very hard now
<devyn> huh
<devyn> ok
<devyn> probs gon gone nao
<devyn> bai
<ELLIOTTCABLE> I got my new chair
<ELLIOTTCABLE> exciting
<devyn> oh
<devyn> cool
<devyn> new chair?
<ELLIOTTCABLE> yeah; I've needed a chair for when my legs get tired, for a while
<ELLIOTTCABLE> http://ell.io/i5N0X
<devyn> damn there's just something so satisfying about the domain i.ell.io
<devyn> idk what
<devyn> but
<devyn> wow
* ELLIOTTCABLE grins
<ELLIOTTCABLE> I'm really surprised anybody else feels that. Kinda creepy.
<devyn> ELLIOTTCABLE: dude you need to put up a web IRC chat client tuned to this channel at http://oi.ell.io
<ELLIOTTCABLE> But yes, that's how I feel about it :P
<devyn> oh and
<devyn> nice chair
<devyn> heh
<devyn> looks like it has a lot of support
<ELLIOTTCABLE> Yes. This chair has sex with your back.
<ELLIOTTCABLE> My back, it has been literally wined, dined, foreplayed, and then visiciously, wonderfully *fucked*.
Willox_ has quit [Ping timeout: 245 seconds]
Willox_ has joined #elliottcable
prophile has joined #elliottcable
prophile has quit [Quit: The Game]
<cloudhead> lol @ real world haskell book
<purr> lol
<cloudhead> :D
yorick has joined #elliottcable
Sorella has joined #elliottcable
Sorella has quit [Changing host]
Sorella has joined #elliottcable
Sgeo has quit [Read error: Connection reset by peer]
PragCypher has joined #elliottcable
PragCypher has quit [Remote host closed the connection]
PragCypher has joined #elliottcable
Rusky has joined #elliottcable
Rusky has quit [Ping timeout: 276 seconds]
oldskirt_ has joined #elliottcable
oldskirt_ has joined #elliottcable
oldskirt_ has quit [Changing host]
oldskirt has quit [Ping timeout: 240 seconds]
prophile has joined #elliottcable
alexgordon has joined #elliottcable
PragCypher has quit [Quit: Leaving]
gozala has joined #elliottcable
oldskirt_ is now known as oldskirt
eligrey has joined #elliottcable
oldskirt has quit [Read error: Connection reset by peer]
oldskirt has joined #elliottcable
oldskirt_ has joined #elliottcable
oldskirt_ has joined #elliottcable
oldskirt_ has quit [Changing host]
oldskirt has quit [Ping timeout: 258 seconds]
prophile has quit [Quit: The Game]
trolling has joined #elliottcable
<trolling> I wish someone would just kill Rupert Murdoch
<trolling> doesn't have to be anybody here, just somebody
<trolling> it can't be that hard
trolling has quit [Quit: Lost terminal]
<glowcoil> ELLIOTTCABLE: that's literally what a = g() would be
<glowcoil> ELLIOTTCABLE: hands is just about looking at you defining a dependency graph and giving you tools to express different kinds of dependencies
<glowcoil> ELLIOTTCABLE: starting from kind of a higher level so it's less of a tarpit
<glowcoil> i spose
Sorella has quit [Quit: Ex-Chat]
oldskirt_ is now known as oldskirt
oldskirt has quit [Ping timeout: 252 seconds]
Willox_ has quit [Ping timeout: 245 seconds]
oldskirt has joined #elliottcable
<alexgordon> glowcoil!
gozala has quit [Ping timeout: 252 seconds]
gozala has joined #elliottcable
Willox_ has joined #elliottcable
Sgeo has joined #elliottcable
vigs has quit [Ping timeout: 258 seconds]
prophile has joined #elliottcable
vigs has joined #elliottcable
vil has quit [Quit: WeeChat 0.3.8]
vil has joined #elliottcable
prophile has quit [Quit: The Game]
prophile has joined #elliottcable