ELLIOTTCABLE changed the topic of #elliottcable to: a _better_ cult
<evaryont> ELLIOTTCABLE: what happened? No invites?
alexgord_ has joined #elliottcable
Determinist_ has joined #elliottcable
Determinist has quit [Ping timeout: 250 seconds]
prophile has joined #elliottcable
_whitelogger has joined #elliottcable
evaryont has quit [*.net *.split]
nuck has quit [*.net *.split]
irclogger_com has quit [*.net *.split]
sammcd has quit [*.net *.split]
prophile has quit [*.net *.split]
alexgord_ has quit [*.net *.split]
alexgordon has quit [*.net *.split]
vil has quit [*.net *.split]
sharkbot has quit [*.net *.split]
gkatsev has quit [*.net *.split]
ohhmaar has quit [*.net *.split]
joelteon has quit [*.net *.split]
audy has quit [*.net *.split]
Determinist_ has quit [*.net *.split]
Rusky has quit [*.net *.split]
Sgeo has quit [*.net *.split]
jeannicolas has quit [*.net *.split]
eligrey has quit [*.net *.split]
vigs has quit [*.net *.split]
perrier has quit [*.net *.split]
purr has quit [*.net *.split]
devyn has quit [*.net *.split]
ELLIOTTCABLE has quit [*.net *.split]
SwooshyCueb has quit [*.net *.split]
inimino has quit [*.net *.split]
ChanServ has quit [*.net *.split]
bluebie has quit [*.net *.split]
jesusabdullah has quit [*.net *.split]
ec has quit [*.net *.split]
rf has quit [*.net *.split]
yorickpeterse has quit [*.net *.split]
_whitelogger has joined #elliottcable
_whitelogger has joined #elliottcable
_whitelogger has joined #elliottcable
_whitelogger has joined #elliottcable
_whitelogger has joined #elliottcable
_whitelogger has joined #elliottcable
_whitelogger has joined #elliottcable
SwooshyCueb has joined #elliottcable
Determinist_ has joined #elliottcable
Rusky has joined #elliottcable
Sgeo has joined #elliottcable
inimino has joined #elliottcable
evaryont has joined #elliottcable
prophile has joined #elliottcable
vigs has joined #elliottcable
audy has joined #elliottcable
yorickpeterse has joined #elliottcable
perrier has joined #elliottcable
nuck has joined #elliottcable
bluebie has joined #elliottcable
sammcd has joined #elliottcable
irclogger_com has joined #elliottcable
ohhmaar has joined #elliottcable
sharkbot has joined #elliottcable
joelteon has joined #elliottcable
gkatsev has joined #elliottcable
jesusabdullah has joined #elliottcable
vil has joined #elliottcable
jeannicolas has joined #elliottcable
devyn has joined #elliottcable
ELLIOTTCABLE has joined #elliottcable
bluebie has quit [Quit: Linkinus - http://linkinus.com]
prophile has quit [Changing host]
prophile has joined #elliottcable
ChanServ has joined #elliottcable
prophile has quit [Quit: The Game]
devyn has quit [*.net *.split]
ELLIOTTCABLE has quit [*.net *.split]
ChanServ has quit [*.net *.split]
ChanServ has joined #elliottcable
ELLIOTTCABLE has joined #elliottcable
devyn has joined #elliottcable
vil has quit [Ping timeout: 240 seconds]
vil has joined #elliottcable
<devyn> fuck it, haPaws is happening /now/
<devyn> ELLIOTTCABLE!
yorick has joined #elliottcable
evaryont has quit [Ping timeout: 276 seconds]
yorickpeterse has quit [Quit: The NSA took my baby]
yorickpeterse has joined #elliottcable
yorickpeterse has quit [Changing host]
yorickpeterse has joined #elliottcable
prophile has joined #elliottcable
prophile has quit [Quit: The Game]
alexgordon has joined #elliottcable
Determinist has joined #elliottcable
Determinist_ has quit [Ping timeout: 245 seconds]
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
Determinist has quit [Ping timeout: 240 seconds]
Determinist has joined #elliottcable
Determinist has quit [Quit: Textual IRC Client: www.textualapp.com]
prophile has joined #elliottcable
prophile has quit [Quit: The Game]
prophile has joined #elliottcable
<joelteon> what's hapaws?
<devyn> my haskell paws
<joelteon> oh ok
eligrey has joined #elliottcable
prophile has quit [Quit: The Game]
<devyn> oh man I'm worried I'm going to have to resort to something ugly like Typeable to make the Objects an open class
<devyn> >_<
<joelteon> please don't devyn
<joelteon> please don't
<devyn> I think it's the only option though. Paws has... really loose typing. Not really typing at all; typing is an implementation detail
<alexgordon> hi devyn
<devyn> but yet it should be able to make new kinds of objects behind the scenes
<devyn> hi alexgordon
<joelteon> oh good
<joelteon> i hate strong typing
<joelteon> i'd rather write lots and lots of unit tests
<devyn> haha, I feel the same
<devyn> but such is Paws
<alexgordon> joelteon: LOL
<alexgordon> joelteon: not sure if serious
<joelteon> i'm always serious, alexgordon
<joelteon> always
<alexgordon> [-] _ [-]
<devyn> http://i1.minus.com/i0caxK6XHX2de.png por que no los todos?
<devyn> los dos*
<devyn> fuck
<devyn> lol
<devyn> I haven't slept and I don't actually know spanish
<devyn> :P
<joelteon> lol
<joelteon> i wish my language was as easy to lex as paws
<devyn> yeah I don't really even need a lexer
<devyn> I just thought it'd be fun
<devyn> :p
<devyn> and it's 90% of it anyway; the lexer → Script part is barely anything
<devyn> ...but I have to figure out how I'm going to you know, structure all of these objects
<devyn> because uckfing dynamic
<ELLIOTTCABLE> hi …
<ELLIOTTCABLE> devyn: oh, hi, are you paws?
<devyn> ELLIOTTCABLE: I'm paws
<ELLIOTTCABLE> I'm unreasonably, unbelievably hungover
<devyn> lol
<ELLIOTTCABLE> brought some really high-abv craft beers to a party
<ELLIOTTCABLE> that I really shouldn't have gone to
<ELLIOTTCABLE> was some awkward, insane bullshit
<ELLIOTTCABLE> like, the story, if I even could explain, would be, I just, can't.
<devyn> was there sex involved
<ELLIOTTCABLE> but. yeah. ended up basically chugging my beers to get drunker and drunker because I didn't want to be there and was hurt by shit going on,
<devyn> oh.
<devyn> okay.
<ELLIOTTCABLE> was a *miracle* that I didn't puke in the cab on the ride home.
<devyn> :(
<devyn> that sucks
<ELLIOTTCABLE> and beyond a miracle that I had the presence-of-mind and self-control to *not puke at home*, either. Like, I'm so totally impressed with myself, all the other shitty shit aside, that I kept my shit together, walked my dogs, and sat on the couch doing nothing, without puking anywhere.
<ELLIOTTCABLE> meh. anyway.
<ELLIOTTCABLE> devyn: btw, no single implementation *needs* to make it easy to add more types.
<ELLIOTTCABLE> The spec, obviously, has to allow for it, so implementations themselves can include, say, a number, or string, or dog, type.
<ELLIOTTCABLE> but there's no reason, once *you've* decided you're going to include a number and a string type, that you must *also* support later extension with a Dog type.
<ELLIOTTCABLE> that's a decision you can make if you *want*, I mean, extensibility of implementation is cool and all. Just not required.
<ELLIOTTCABLE> if it's simplest to make Object, Label, and Execution *completely separate things*, that just happen to share some details, then go ahead and do so.
<ELLIOTTCABLE> hope that's good news.
<devyn> alright then, I may just pull a lua and include some kind of generic "userdata" type that is mostly useless except for using as a handle
<ELLIOTTCABLE> Pull a Lua™, lol
<devyn> :p
<devyn> because I started writing this
<devyn> and I screamed.
<ELLIOTTCABLE> what's so bad about that? how
<ELLIOTTCABLE> how's Typable* work?
<ELLIOTTCABLE> eh. later. too hungover for Haskell.
<devyn> basically it allows you to cast types at runtime by keeping whatever the actual type of something is handy, and then you can do a type-safe cast from a typeclass-only object to an actual concrete object
<ELLIOTTCABLE> that'd make a great domain. http://toohungoverforhaskell.com/
<devyn> basically, it's like if I have an interface
<devyn> and an actual class
<devyn> and I use a switch statement to cast if it is that class
<devyn> I forget
<devyn> which language has that
<devyn> Scala maybe?
<ELLIOTTCABLE> wat
<ELLIOTTCABLE> ♪ Isolated System
<ELLIOTTCABLE> nothin'? really?
<ELLIOTTCABLE> -start
<ELLIOTTCABLE> lol
* ELLIOTTCABLE pokes purr
<devyn> purr\GH (?)
<ELLIOTTCABLE> “lolling-as-a-systems-test”
<devyn> ^ like that
<devyn> basically Typeable lets you do that
<devyn> ELLIOTTCABLE: anyway I wrote a lexer and specs and documentation https://github.com/devyn/haPaws
<ELLIOTTCABLE> the only interesting code in a Paws implementation at the moment, is the execution model
<ELLIOTTCABLE> whatever the declarative-language equivalent of the reactor is
<ELLIOTTCABLE> probably term-reduction based?
<ELLIOTTCABLE> spec?
<devyn> spec as in
<devyn> tests
<ELLIOTTCABLE> thought as much
<ELLIOTTCABLE> thought Haskell didn't need tests, really. Isn't that sort of the point?
<devyn> static typing catches a lot of dumb mistakes but programs can still typecheck and be functionally wrong
<devyn> this helps ensure that you're doing what you actually think you're doing
<devyn> but you definitely need fewer tests
<devyn> a lot fewer basic sanity tests
<devyn> and more of the statistical verifying, this is what it actually does kind
<devyn> there's even a Haskell package called QuickCheck that will basically generate tons of completely random values for you to throw at your functions to test them
<devyn> to hopefully verify that they can handle what they're expected to
<devyn> but yeah it's way more about the *functionality* than the "this returns the kind of thing it's supposed to"
<ELLIOTTCABLE> I don't know, that doesn't sound like it'd prevent me from writing most of the tests I write. o_O
<ELLIOTTCABLE> curiosity:
<ELLIOTTCABLE> alexgordon, devyn, etc:
<ELLIOTTCABLE> opinions on contracts-style programming?
<ELLIOTTCABLE> can't remember if that's what it's actually called
<devyn> I don't normally write tests in Haskell. I'm kinda just trying it out
<devyn> since you requested like, as clear as possible
<devyn> everything
<ELLIOTTCABLE> but basically bolting a type-checking system ontop of a pre-existing dynamic system.
<devyn> :p
<ELLIOTTCABLE> devyn: <'3
<ELLIOTTCABLE> awesome.
<alexgordon> hi
<ELLIOTTCABLE> good idea.
<ELLIOTTCABLE> I am very heather-grey, today. Grey socks, grey lazy-sweatpants, grey sport-jacket-thingie-that's-a-size-too-large-for-me-but-that-I-wear-anyway-cuz-Apple
<devyn> this kind?
<ELLIOTTCABLE> that's the one I saw, couple years ago
<ELLIOTTCABLE> I have this strange fetish for CoffeeScript variants.
<ELLIOTTCABLE> was a big fan of Iced CoffeeScript for a while, but it's pretty much a dead project. |=
<ELLIOTTCABLE> afaict, contracts are an opt-in, run-time-only, type-checking system.
<ELLIOTTCABLE> to do exactly what strong typing, as described above, at least: obviate the need for writing any tests that test basic type-related functionality.
<devyn> yeah pretty much, although not just type-checking
<devyn> more like
<devyn> value-dependent type checking
<ELLIOTTCABLE> hm?
<devyn> you can actually make sure that the values are in a certain range
<devyn> etc.
<devyn> because it's at runtime
* ELLIOTTCABLE nods
<ELLIOTTCABLE> contracts were always attractive to me
<ELLIOTTCABLE> because they're so *flexible*. Opt-in.
<ELLIOTTCABLE> Obviously you lose a lot of the power of static typing when it's not pervasive / built-in / prescriptionary
<devyn> unrelated but also "contracts", you've seen https://www.ethereum.org/ ?
<ELLIOTTCABLE> but … it's me, I like giving the programmer lots of rope to hang themselves with, you know
<devyn> I totally misunderstood it until yesterday
<ELLIOTTCABLE> wassat
<devyn> blockchain-as-an-application-platform
<devyn> basically
<devyn> lol
<ELLIOTTCABLE> oh, that's the
<ELLIOTTCABLE> yeah that
<ELLIOTTCABLE> you misunderstood it? why?
<devyn> when I heard contracts I thought it was limited to just like, micro-versions of traditional contracts, where people are bound to an agreement over money
<devyn> but it's more than that
<devyn> it does that too, but more
<ELLIOTTCABLE> oh yeah definitely
<ELLIOTTCABLE> definitely missed the point :P
<ELLIOTTCABLE> Ethereum looks neat.
<devyn> yeah
<devyn> lol
<devyn> you know I haven't slept and I'm actually still really excited to work on Paws
<devyn> ^_^
<ELLIOTTCABLE> devyn: ('=
<devyn> tell me more about NoObject. is it just a singleton? can it have members and such? does it ever even appear?
<ELLIOTTCABLE> It's a specification mechanism, nothing more.
<ELLIOTTCABLE> There were a couple algorithms in the spec (themselves, not even actually necessarily implemented the way they were described, which was a lot of whitequark's issue with the spec),
<ELLIOTTCABLE> that had really confusing / wishy-washy “… if so, then this algorithm has no result.”
<ELLIOTTCABLE> and then footnotes saying ‘Having no result is different from returning a nothing …’
<ELLIOTTCABLE> and then other algorithms which invoked them, and depended on whether they terminated without result, or whether they returned nothingness, or …
<ELLIOTTCABLE> yeah it was a mess.
<ELLIOTTCABLE> most likely, your implementation will involve a semaphore result (returning `undefined` in my JavaScript implementation, for instance), or involve throwing an exception which the consumer is expected to catch, or similar.
<ELLIOTTCABLE> far from perfectly specified right now. |=
<devyn> I could literally return 'undefined'
<devyn> which causes an exception
<devyn> Prelude> undefined
<devyn> *** Exception: Prelude.undefined
<devyn> undefined :: a
<devyn> Prelude> :t undefined
* ELLIOTTCABLE shrugs
<ELLIOTTCABLE> I can't load the spec, twtf
<ELLIOTTCABLE> … my server is down
<ELLIOTTCABLE> no wonder purr isn't here
<ELLIOTTCABLE> wtf
<ELLIOTTCABLE> what the fuck I can't log into linode
<ELLIOTTCABLE> devyn: if you didn't get it figured out, NoObject exists for step 4.d and subsequently step 5 of advance()
<devyn> I'm not there yet anyway so I just won't worry about it'
<devyn> just trying to get data structures down
<ELLIOTTCABLE> kk
<devyn> I think I'll go with the more strongly typed + Typeable
<devyn> in fact
<devyn> but I'll make it less stupid
<devyn> lol
<ELLIOTTCABLE> what the fuck
<ELLIOTTCABLE> devyn: can you ping ell.io from where you are?
<devyn> it does not responding
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<ELLIOTTCABLE> devyn: wat
<devyn> it's just dead
<devyn> 29 packets transmitted, 0 received, 100% packet loss, time 28008ms
<ELLIOTTCABLE> god, I feel hungover
<devyn> I closed my blinds to make it seem like it's still night
<devyn> so I continue to be productive
<devyn> :p
<ELLIOTTCABLE> LOL
<ELLIOTTCABLE> I need to poo.
<ELLIOTTCABLE> but I'm freaking out over my server being down.
<devyn> ELLIOTTCABLE: https://twitter.com/StatusLinode
<devyn> 5:59AM EDT (UTC -4): At this time all hosts are up and running. All Linodes within the Newark datacenter should be running or are in the queue to be started shortly. If you have questions or concerns, please feel free to open a ticket via the Linode Manager.
<devyn> so I guess there goes that
<devyn> you better contact them.
<ELLIOTTCABLE> yeah, shit
<ELLIOTTCABLE> no purr?
<vigs> RIP purr
glowcoil has joined #elliottcable
ec has joined #elliottcable
<devyn> glowcoil
<devyn> aww
<devyn> lol
<joelteon> typeable is designed for writing ruby code in haskell
<devyn> no, not really. Ruby doesn't have interfaces
<devyn> this is targeted at an entirely different problem :p
<joelteon> lol yeah
<joelteon> that's what Dynamic is for
alexgordon has joined #elliottcable
<ELLIOTTCABLE> no purr? /=
<ELLIOTTCABLE> gruuuump
<ELLIOTTCABLE> glowcoil: hey, you.
<joelteon> rrrrrrrr
* ELLIOTTCABLE pats joelteon
purr has joined #elliottcable
* joelteon nibbles ELLIOTTCABLE's fingers
<joelteon> fucking meow
<vigs> purr! \o/
purr has quit [Remote host closed the connection]
<ELLIOTTCABLE> writing a systemd service for purr, 'cuz fuck this
purr has joined #elliottcable
purr has quit [Remote host closed the connection]
purr has joined #elliottcable
purr has quit [Remote host closed the connection]
eligrey has quit [Ping timeout: 258 seconds]
yorick has quit [Remote host closed the connection]
<ELLIOTTCABLE> hi, all
<vigs> hello elliott
<ELLIOTTCABLE> hello.
<vigs> It took me three tries to type your name. My boss is named Eliot (he's French) and I guess being French means he has fewer consonants in his name.
<vigs> aaanyway what's up?
<ELLIOTTCABLE> watching Archer with some friends
<vigs> nice
<vigs> I need to catch up on Archer :|
<ELLIOTTCABLE> GW2, I think
<ELLIOTTCABLE> time for that
<vigs> nice
<vigs> I've just been playing guitar for a few hours. What is responsibility, right?