Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

dibblego - scalaz author

Name: Anonymous 2014-10-08 17:11

https://twitter.com/dibblego/with_replies

King dibblego dethroned from his scalaz project for mysterious IRC `trust violation' against new Code of Conduct

Name: Anonymous 2014-10-08 21:28

>>5
What is wrong with dibblego?

<dibblego> same answer
<dibblego> this question generalises to "use types"
<dibblego> how do I know my Int is a valid age?
<dibblego> well how indeed? how did you even come to that conclusion?
<dibblego> well, because age returns Int
<dibblego> stop doing that!
<dibblego> Age returns a value between 0 and MAX_AGE
<dibblego> oh, then you want a type for that
<dibblego> but what about my Int!
<dibblego> there was never an Int
<dibblego> but I want to use it as an Int!
<dibblego> so do that
<dibblego> but it is clumsy and annoying to convert all the time!
<dibblego> so use libraries
<dibblego> which library?
<dibblego> well, in this case, lenses
<dibblego> or prisms or whateva
<dibblego> but now I have to learn lens!
<RaceCondition> at some point I still have to convert Int => Age
<dibblego> yes, you do
<dibblego> Nope.
<dibblego> do you know how I know you dont have that point?
<dibblego> because *nobody does because it does not exist*
<dibblego> go on then, convert 3333 to Age
* dibblego twiddles
<dibblego> how do I get the (a) out of (IO a)?
<dibblego> you don't
<dibblego> but I need the (a)!
<dibblego> so get it
<dibblego> but how?
<dibblego> libraries
<dibblego> what do you mean libraries!?
<dibblego> you know, like say, the IO monad
<dibblego> but now I have to learn monads!
<dibblego> yes, you do
<dibblego> but I want the (a) out of (IO a)!
<dibblego> no you don't!
<dibblego> yes I do, don't tell me what I want!
<dibblego> well, I know you don't want it, because it is *not a thing that exists*
<dibblego> gah, but I want things that don't exist
<dibblego> yes, I want puppies all over my face right now, doesn't exist
<dibblego> IO is a terrible example of course
<dibblego> how about this one
<dibblego> how do I get the A out of (B => A)?
<dibblego> you give it a B
<dibblego> but I don't have a B!
<dibblego> then you don't have an A
<dibblego> but I need it!
<dibblego> libraries
<dibblego> (or doesn't exist)
<dibblego> of course, you might have f(x) is believed to always return an Int in Age range
<dibblego> but unfortunately, some assclown made f return Int
<dibblego> and so, you draw a line in the sand and say, "enough! no more assclowns from here on!"
<RaceCondition> if I have Age1, Age2, Age3, etc upto Age<Max>, and say, also, AgeInvalid, I'd still want exhaustion checks in my rawAge match { ... } expression so as to make sure I didn't forget the `case _ => AgeInvalid` bit
<dibblego> then you fix it at that point
<dibblego> that's what really happens
<dibblego> that's just Option[Age] — you have exhaustion checks
<dibblego> you really want a *type error*
<dibblego> these are just limitations of impredicate logic
<dibblego> in light of this, scala says, "you know, I may be wrong here, but you probably want to do the Invalid/None case"
<RaceCondition> so what is the purpose of exhaustion checks in the first place then?
<dibblego> that is an exhaustion check — a sad consolation
<dibblego> to make up for the limitations of the type system in this case
<RaceCondition> if I validate input then the type system can't help me
<dibblego> the benefit is expressiveness on a turing machine


This isnt symptomatic of schizo or aspergers, but there's definitely something wire that got fused in his brain to make him talk on and on to himself like that. Any idea what condition it might be?

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List