ec changed the topic of #elliottcable to: #
<cuttle> tea tea tea tea
<cuttle> (although in this case tea is defined as instant chai with *way* too much sugar)
<cuttle> ELLIOTTCABLE:
<cuttle> ooh lots of elliottcable to read
<alexgordon> hi cuttle
<cuttle> alexgordon: present
<cuttle> alexgordon: compiler errors could be *way* better than they are, and what I've concluded about parsing is that it's *really* easy, but making parsing with good errors takes a lot more raft
<cuttle> craft*
<alexgordon> cuttle: yeah
<alexgordon> though if you control the grammar it's easy to make grammars that have good errors
<cuttle> joelteon: isn't covariant functor just normal functor in haskell? and contravariant is the different kind?
<cuttle> alexgordon: yeah
<cuttle> alexgordon: i like what you said re lua vs scala and rust
<cuttle> alexgordon: i am a bit scared about rust re that
<alexgordon> yeah well it's probably not going to get *less* complex
<alexgordon> cuttle: anyway I was trying to work out... WTF are traits for?
<alexgordon> like, what is the use case
<cuttle> well
<cuttle> they replace both interfaces and inheritance
<alexgordon> wtf are those two for?
<cuttle> alexgordon: sadly, yes (re less complex)
<alexgordon> why not just remove interfaces and inheritance :P
<cuttle> alexgordon: well, code reuse, which, contrary to popular belief, is nice to have
<cuttle> and
<cuttle> contracts
<cuttle> interfaces for contracts are *very* useful in a statically typed language like scala
<alexgordon> e.g.?
<cuttle> and traits avoid a lot of the mess of multiple inheritance
<cuttle> well like
<cuttle> functor/mappable for instance
<cuttle> like, c++ is duck typed in its generids
<cuttle> generics*
<cuttle> concepts were meant to fix that but got pushed
<cuttle> because templates are more like copypaste macros than like generics
<alexgordon> eh I'm unconvinced
<cuttle> you *can't do things* without them
<cuttle> like
<alexgordon> dynamic languages seem to do fine without
<cuttle> well of course
<cuttle> scala is not a dynamic language
<alexgordon> it is
<cuttle> and C++ is dynamic wrt its generics
<cuttle> …what
<cuttle> let's redefine things randomly for fun?
<alexgordon> scala is as dynamic as it gets!
<cuttle> sure scala has a lot more runtime things than java
<cuttle> but
<cuttle> it has a very static type system
<cuttle> so if you're going to say that, then haskell is dynamic
<alexgordon> nah, haskell doesn't have messaging
<cuttle> and then you should fucking specify which aspect of the language you are saying is dynamic
<cuttle> scala
<cuttle> what do you mean by messaging
<alexgordon> sending a message to an object
<alexgordon> like in smalltalk
<cuttle> scala does not have method_missing-type stuff
<cuttle> it is built on java
<cuttle> where did you get the idea that it does?
<alexgordon> java has messaging
<alexgordon> when you call a method in java it sends a message to the object
<alexgordon> like in objc
<cuttle> it has messages like in erlang, where you send a *value* to an object, but that is done in userspace with an infix operator overloaded
<cuttle> ok so now we're defining java and objc to be dynamic?
<alexgordon> objc sure is
<cuttle> well sure
<cuttle> you can say id
<cuttle> etc.
<alexgordon> java is based on objc which is based on smalltalk
<cuttle> ugggggh
<cuttle> if you can define java to be dynamic then it is impossible for me to have a conversation with you
<alexgordon> I'm not defining it to be, I'm arguing that it is
<alexgordon> when you do
<cuttle> without interfaces, then in java, your generic capabilities would be significantly reduced and you would have to rewrite a lot of code for every possible type that they use
<cuttle> like the problem that templates solve
<alexgordon> foo.someMessage(bar) in java, that's the same as `foo someMessage:bar` in smalltalk
* cuttle rolls eyes
<cuttle> you can say vtables are that too
<cuttle> in c++
<alexgordon> no, vtables are not messages
<alexgordon> in particular C++ has no reflection
<alexgordon> java does
<cuttle> java's type system does not let you do certain things
<cuttle> without interfaces
<cuttle> thus, they are useful in it, whether or not you define it as dynamic
<cuttle> this is the most fucking red-herringy redirected derailed conversation i have ever fucking had
<alexgordon> lol
<purr> lol
<alexgordon> read about reflection in java
<alexgordon> it's not as static as you think, compile errors aside
<cuttle> reflection is very hurtful to performance
<cuttle> and it's jit so if there's no reflection in the code it doesn't need the runtime information
<alexgordon> sure
<alexgordon> but reflection is the measure of how dynamic a language is
<cuttle> so while it's *technically* possible to use reflection in java, that doesn't equate it to ruby
<alexgordon> reflection is all but impossible in C++
<cuttle> that's almost as bad as saying they're both turing equivalent and thus the same language
<cuttle> what are you arguing here
<cuttle> java is more dynamic than c++, and less dynamic than ruby
<cuttle> because it's more dynamic than c++, you can do reflection
<cuttle> because it's less dynamic than ruby, you need interfaces
<alexgordon> no because
<cuttle> it is *also* less dynamic than smalltalk, despite being derived from it
<alexgordon> dynamic typing is orthogonal to static typing
<cuttle> explain yourself
<alexgordon> interfaces form part of the static type system
<alexgordon> but java also has dynamic typing
<alexgordon> if it didn't there'd be no messaging, no reflection, like in C++
<alexgordon> C++ is a static only language in other words, whereas java, objc are both static AND dynamic
<cuttle> sure, but the perf difference between reflection-using code and non-reflection-using code demonstrates that it is NOT IN USE ALL THE ITME
<cuttle> it's a CONTINUUM
<cuttle> it's not like both are static fucking switches
<cuttle> more aspects of java are dynamic than c++
<cuttle> but less than ruby
<cuttle> how fucking hard is this
<alexgordon> lol temper
<purr> lol
<alexgordon> in fact objc's dynamic type system has changed relatively little, but it's static typing has been made much more strict recently (because of ARC)
<alexgordon> anyway, I agree this is a stupid aside
<cuttle> literally, you do more derailing in any given conversation than the most passionate men's-rights-activist
<alexgordon> child support is evil
<alexgordon> cuttle: yeah but I'm only derailing from my own damn question :P
<cuttle> ...i fail to see how that applies
<alexgordon> we were talking about traits being useful in scala
<cuttle> yeah
<cuttle> and they are
<cuttle> they're like ruby mixins
<cuttle> plus the escape hatch to the type system that interfaces are
<cuttle> so they're useful in both ways
<alexgordon> oh right mixins
<cuttle> you know how java always has both an interface and impl to everything?
<joelteon> hey
<joelteon> nothing wrong with MRAs
<cuttle> traits combine those
<alexgordon> so I guess traits are more important the more OO the language is
<cuttle> joelteon: except that they *tend* to be thinly veiled anti-women's-rights reactionaries
<alexgordon> traits/mixins
<joelteon> ok
<cuttle> everyone says use composition but that is no fun and verbose
<joelteon> yeah
<cuttle> mixins are good
<joelteon> fair enough
<cuttle> joelteon: i agree that men are not in a perfect position in today's society, and there is a lot of work to be done in both directions
<cuttle> but
<alexgordon> cuttle: but python doesn't have mixins and it gets along fine, I suppose mainly because it's not OMG FULL OOP like ruby is
<joelteon> both the activists have good points
<alexgordon> cuttle: now who's derailing!
<alexgordon> ;)
<cuttle> a lot of people who called themselves mras are not actually interested in equality
<cuttle> alexgordon: i'm talking to joelteon
<joelteon> i just dislike when people refer to an entire group based on the actions of a small group of angry reactionaries
<cuttle> joelteon: no, it's not a small group
<joelteon> it's annoying as butts
<joelteon> really?
<joelteon> have you conducted a study?
<alexgordon> eh
<cuttle> i feel like mras are angry reactionaries with much more frequency than feminsists
<cuttle> no i have not conducted a study
<alexgordon> what's the point of men's rights activists again?
<alexgordon> I don't get it
<joelteon> stuff
<joelteon> same as feminists, different issues
<alexgordon> but the issues seem to be mainly brought on by themselves
<joelteon> ooooooo
* alexgordon is a misandrist, clearly
<cuttle> alexgordon: haha
<cuttle> egh both of these conversations do not seem to be going interested good places :P
* cuttle goes off to produce hip hop beats
<alexgordon> cuttle: nooo
<joelteon> i bet he was already leaving and just wanted an excuse
<joelteon> brb im gonna get some coffee
<alexgordon> damit
<alexgordon> damm
<alexgordon> it
<cuttle> alexgordon: if you buzz me with something cool to say i will be back in here :p
<joelteon> i wish there was a starbucks inside my house
<joelteon> :(
* cuttle just bought some tea
<joelteon> ok brb
<cuttle> so i can make it without going somewhere
<cuttle> \o/
<joelteon> ok back
<joelteon> that was quick
<joelteon> only 18 min
eligrey has quit [Quit: Leaving]
jdhartley has quit [Ping timeout: 245 seconds]
cuttle has quit [Ping timeout: 245 seconds]
cuttle has joined #elliottcable
alexgordon has quit [Quit: Computer has gone to sleep.]
jdhartley has joined #elliottcable
Sgeo_ has joined #elliottcable
Sgeo__ has joined #elliottcable
Sgeo has quit [Ping timeout: 260 seconds]
Sgeo_ has quit [Ping timeout: 260 seconds]
fwg has joined #elliottcable
jdhartley has quit [Ping timeout: 264 seconds]
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
fwg has quit [Ping timeout: 245 seconds]
fwg has joined #elliottcable
jdhartley has joined #elliottcable
yorick has joined #elliottcable
whitequa1k is now known as whitequark
cloudhead has joined #elliottcable
cloudhead has quit [Ping timeout: 245 seconds]
yorick has quit [Remote host closed the connection]
eligrey has joined #elliottcable
niggler has joined #elliottcable
<cuttle> ELLIOTTCABLE: did you give me a domain on ell.io or something? I can't remember
PragCypher has joined #elliottcable
alexgordon has joined #elliottcable
alexgordon has quit [Quit: Computer has gone to sleep.]
alexgordon has joined #elliottcable
<ELLIOTTCABLE> hi, all
<ELLIOTTCABLE> cuttle: I think so, idr D:
<ELLIOTTCABLE> cuttle: I think you have an account on the server, and a folder in ell.io/ dedicated to you … not sure …
<ELLIOTTCABLE> micah.ell.io or ell.io/micah
<ELLIOTTCABLE> or sommat?
<joelteon> gotoh.ell.io
<ELLIOTTCABLE> joelteon: what?
<alexgordon> hi ELLIOTTCABLE l
<ELLIOTTCABLE> hi
<purr> ELLIOTTCABLE: hi!
<alexgordon> hi ELLIOTTCABLE
<alexgordon> holy SHIT ELLIOTTCABLE has 7694 followers
<alexgordon> that's some serious internet popularity