←2012-10-26 2012-10-27 2012-10-28→ ↑2012 ↑all
00:00:10 <Bike> but how do I specify an unsigned four-digit quater-imaginary number
00:00:51 <FreeFull> I don't think cobol does quarter-imaginary numbers
00:01:16 <Bike> clear deficiency.
00:02:32 <olsner> Sgeo: is that your university doing cobol courses?
00:02:45 <Sgeo> olsner, no
00:02:59 <Phantom__Hoover> doubtful considering it's an irish tld
00:03:15 <Phantom__Hoover> although ireland would be less rural than Sgeo's university
00:03:39 <Sgeo> Phantom__Hoover, what, just because my school used to literally be an agricultural school?
00:04:01 <olsner> yeah, they don't teach agriculture in cities
00:04:47 <Bike> what's wrong with farming, eh?
00:04:54 <Phantom__Hoover> Sgeo, it's called FARMINGDALE
00:05:12 <olsner> for real?
00:05:16 <Bike> haha.
00:05:22 <Phantom__Hoover> if you asked me to come up with the most ridiculously agrarian name possible i would think that too blatant
00:17:38 <kmc> 'Formula 1 organisers in India say they are determined to ensure that the track near Delhi is completely "dog proof" ahead of Sunday's race'
00:19:32 <Phantom__Hoover> "guard dogs have been deployed throughout the track"
00:19:51 <Sgeo> I think I have another criticism of Clojure
00:20:18 * Phantom__Hoover sits ready in rapt fascination
00:20:41 <Sgeo> There are several ways to find the value associated with a key in a hash-map. This, in and of itself, is not a problem.
00:21:12 <Sgeo> You can use the hash-map as a function, or use the get or find functions, or use a keyword as a function if the key you want is a keyword
00:21:36 <Bike> wait, like, you have :x as a key in the hash, so you can do (:x hashtable) to get the value?
00:21:40 <Sgeo> Yes
00:22:10 <Bike> weird
00:22:21 -!- augur_ has joined.
00:22:26 <Sgeo> Now, the problem I have with this is, what if I want to make my own data structure that fakes being a hash-map. I have to implement both the structure as being funcallable, and the Associative protocol
00:22:39 -!- augur has quit (Read error: Connection reset by peer).
00:22:52 <Sgeo> I think keywords as functions just use the Associative protocol. I might not even have the right name for it
00:24:03 -!- augur_ has quit (Read error: Connection reset by peer).
00:25:02 -!- augur has joined.
00:26:00 <Sgeo> Bike, it seems to be more common than (hashtable :x)
00:41:43 -!- copumpkin has changed nick to Michelangelo.
00:41:52 -!- Michelangelo has changed nick to copumpki.
00:41:54 -!- copumpki has changed nick to copumpkin.
00:43:48 <Bike> i also find that weird, but I'm already used to it.
00:46:41 <Sgeo> And I don't know when (get hashtable :x) is ever used, maybe people who don't realize that the other forms also accept an optional what to return if it's not there parameter the way get does
00:50:13 <elliott> shachaf: What is lens?
00:50:35 <copumpkin> baby don't hurt me
00:50:37 <copumpkin> don't hurt me, no more
00:50:40 <shachaf> elliott: A Norwegian word meaning "hi monqy".
00:51:06 -!- hagb4rd has quit (Quit: hagb4rd).
00:51:08 <shachaf> Where's oerjan, by the way?
00:52:32 <Sgeo> <ohpauleez> Sgeo: When your key is not a keyword
00:52:32 <Sgeo> <ohpauleez> or when your collection can be a number of things (all that support get)
00:53:03 <Sgeo> I guess get could also be used with ->
00:53:32 <Sgeo> <Sgeo> ,({1 2 3 4} 1)
00:53:32 <Sgeo> <clojurebot> 2
00:53:32 <Sgeo> <ohpauleez> ,([1 2 3 4] 1 2)
00:53:32 <Sgeo> <clojurebot> #<ArityException clojure.lang.ArityException: Wrong number of args (2) passed to: PersistentVector>
00:53:32 <Sgeo> <Sgeo> ,(get [1 2 3 4] 1 2)
00:53:33 <Sgeo> <ohpauleez> ,(get [1 2 3 4] 6 2)
00:53:35 <Sgeo> <clojurebot> 2
00:53:37 <Sgeo> <clojurebot> 2
00:55:24 -!- copumpkin has changed nick to OMARCOMINYO.
00:59:16 <olsner> shachaf: eating, last I heard
00:59:42 <olsner> but that was a few days ago, may have changed since
01:01:03 -!- OMARCOMINYO has changed nick to copumpkin.
01:05:04 <FreeFull> Does lambdabot do some form of lisp?
01:08:14 <olsner> yeah, it does haskell
01:08:41 <elliott> I'm so glad we have Sgeo here to paste logs from Clojure channels in here.
01:08:45 <kmc> lolololololololol
01:08:50 <elliott> Otherwise we might forget that this is #clojure.
01:09:25 <kmc> yeah in the mainstream programming world, haskell is 'some kind of lisp' and yet the differences between python and ruby are vast and important
01:09:37 <FreeFull> ..
01:09:38 <kmc> perspective is a funny thing
01:09:59 <elliott> kmc
01:09:59 <elliott> kmc
01:10:00 <elliott> i think
01:10:01 <FreeFull> I just wanted to be silly and make a long string using lots of conses
01:10:01 <elliott> olsner
01:10:02 <Bike> FreeFull: judging by @list, not really?
01:10:03 <elliott> might have been joking
01:10:04 <kmc> elliott
01:10:08 <FreeFull> But the haskell form of that is much shorter =P
01:10:08 <kmc> yes i know olsner was joking
01:10:37 <olsner> kmc: I'm glad you know
01:10:56 <kmc> i'm glad i know you're glad i know
01:10:57 <FreeFull> (cons 'S' (cons 't' (cons 'r' (cons 'i' (cons 'n' 'g')))))
01:11:00 <shachaf> kmc: Why was ε afraid of ζ?
01:11:07 <kmc> why
01:11:18 <shachaf> Because ζηθ!
01:11:19 <FreeFull> Because 7 8 9
01:11:20 <Bike> man you can't use single quotes like that in lisp, you'll break something
01:11:43 <FreeFull> 'Bike'
01:11:49 <Bike> D:
01:11:57 <kmc> shachaf: idgi
01:12:09 <shachaf> kmc: Why was epsilon afraid of zeta? Because zeta eta theta!
01:12:14 <FreeFull> I think int something = 'abcd'; is valid C
01:12:15 <shachaf> Zeta ate-a theta.
01:12:30 <FreeFull> shachaf: Are they consecutive in the greek alphabet?
01:12:35 <shachaf> Yes.
01:12:57 <kmc> i see
01:13:10 <shachaf> Hmph. Best try another joke.
01:13:15 <shachaf> kmc: Where does a general keep his armies?
01:13:19 <kmc> where
01:13:23 <shachaf> In his sleevies!
01:13:32 <kmc> hehehe
01:13:35 <kmc> that's a popsicle stick joke
01:13:41 <kmc> FreeFull: Strin . g
01:13:48 <ais523> wow
01:13:48 <shachaf> What's that?
01:13:52 <ais523> esolang just got an anonymous edit
01:13:53 <olsner> what bothers me about that is that sleevies is (probably) just a made up word
01:13:55 <ais523> from an IPv6 address
01:13:59 <kmc> nice
01:14:03 <kmc> it must be aliens from the future
01:14:36 <elliott> ais523: wait, that works?
01:14:40 <kmc> are strings lists in any common lisps?
01:14:40 <elliott> well
01:14:43 <elliott> good thing i set that up!
01:14:46 <FreeFull> > 'S':'t':'r':'i':'n':'g':[]
01:14:48 <lambdabot> "String"
01:15:00 <kmc> i thought haskell was practically the only language where the "built-in" / "default" string type is a linked list
01:15:03 <ais523> elliott: apparently it works
01:15:05 <shachaf> > 'S':'t':'r':'i':'n':'g':"ent"
01:15:05 <olsner> well, common lisps other than haskell then
01:15:06 <lambdabot> "Stringent"
01:15:10 <kmc> olsner: clearly
01:15:17 <Bike> wait, haskell strings are linked lists, really?
01:15:21 <kmc> yes
01:15:26 <kmc> type String = [Char]
01:15:35 <Bike> why?
01:15:36 <FreeFull> kmc: What, you didn't know lisp did strings as linked lists?
01:15:46 <shachaf> Bike: Because Haskell is all about List Processing.
01:15:51 <Bike> snerk
01:15:51 <shachaf> Being a Lisp.
01:16:05 <shachaf> @quote list.processing
01:16:06 <lambdabot> monochrom says: in retrospect, it seems lisp designers were more interested in list processing than functional programming
01:16:09 <kmc> FreeFull: Common Lisp? Scheme? Clojure? Maclisp? what?
01:16:12 <kmc> "Lisp" isn't a language
01:16:29 <shachaf> Lisp 1.5 is a language.
01:16:33 <Bike> is that really "in retrospect"
01:16:44 <Bike> in lisp 1.5 you could use lists as functions!
01:16:51 <kmc> Bike: well, it avoids introducing new concepts to the language, if you have lists and chars already
01:16:55 <Bike> processing lists with lists, the way of the future.
01:16:59 <Sgeo> Clojure strings are not lists but you can convert them into.... a list-like thing
01:17:00 <kmc> and it gives you lazy strings in a natural way
01:17:07 <kmc> but it's horribly inefficient
01:17:13 <Bike> yeah that's what I was going to say
01:17:14 <FreeFull> Well I guess strings aren't lists in common lisp
01:17:18 <kmc> if you want to efficiently store text in Haskell, you use Data.Text
01:17:20 <Bike> is there not a type for vectors/arrays/whatever
01:17:22 <olsner> since all existing lisps were designed in the past, anything we say about lisp is in retrospect
01:17:32 <kmc> there are many many array/vector types in Haskell
01:17:33 <kmc> too many
01:17:35 <elliott> Bike: it's a historical accident
01:17:36 <Bike> sweet.
01:17:39 <kmc> it's just that they aren't imported by default
01:17:44 <elliott> kmc: well there are like three
01:17:46 <Bike> elliott: that strings are lists?
01:17:51 <elliott> and one of them is a replacemen tfor one of the others
01:17:53 <FreeFull> olsner: I think you'll find most languages were designed in the past, assuming there is a design
01:17:53 <elliott> Bike: yes
01:17:54 <kmc> Data.Text is the way to go for efficient text storage, afaik
01:17:59 <kmc> unless that's changed again
01:17:59 <shachaf> Data.Text doesn't give you random access. :-(
01:18:00 <elliott> Bike: it made sense in 1992, it doesn't make sense in 2012
01:18:00 <kmc> it uses UTF
01:18:01 <Bike> that's quite the accident
01:18:02 <kmc> -16 internally
01:18:05 <kmc> which is kinda gross
01:18:06 <elliott> shachaf: random access is irrelevant
01:18:11 <elliott> kmc: icu compatibility
01:18:16 <kmc> random access to Unicode codepoints isn't too useful
01:18:16 <elliott> Bike: it is actually worse than you think
01:18:21 <elliott> Bike: since haskell has lots of pointers in its linked list
01:18:23 <elliott> because non-strictness
01:18:23 <shachaf> elliott: You can't even mark a point in a string with an index and then index into that point later, though.
01:18:24 <Bike> elliott: made sense in 1992? but lisps that existed in '92 used arrays for strings
01:18:24 <kmc> because codepoints != characters != anything you care about
01:18:32 <kmc> Bike: but they aren't lazy
01:18:44 <kmc> and also Lisp had more pretentions to being real-world useful than Haskell circa 1992
01:18:45 <elliott> it's like 16 bytes to the character or something iirc
01:18:49 <Bike> strange, strange, very strange
01:18:50 <Sgeo> In Haskell you can have an infinitely long String
01:18:52 <Bike> oh I suppose that's true though.
01:19:00 <elliott> actually String is sometimes faster than the alternatives amusingly
01:19:08 <kmc> you have to remember, for the first 10+ years of its life, Haskell was explicitly a language for PL researchers
01:19:09 <Sgeo> > fix ("Honk " ++)
01:19:11 <lambdabot> "Honk Honk Honk Honk Honk Honk Honk Honk Honk Honk Honk Honk Honk Honk Honk...
01:19:12 <FreeFull> > repeat 'a'
01:19:14 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
01:19:16 <Bike> how very strange to consider
01:20:02 <elliott> kmc: arguably it still is :)
01:20:07 <kmc> well yeah
01:20:22 <kmc> but i think before 2000 there were very few people claiming otherwise
01:20:28 <kmc> now there is a large IRC channel full of them
01:20:45 <shachaf> #haskell is pretty bad these days, by the way.
01:20:54 <shachaf> "surprised??"
01:20:56 <elliott> i would like to see kmc visit #haskell sometime
01:21:05 <kmc> shachaf: what now
01:21:06 <Bike> what is wrong with #haskell?
01:21:13 <shachaf> kmc: Same old.
01:21:24 <shachaf> #haskell-blah alternates between bad and good, depending on time zone.
01:21:32 <elliott> which timezones are the bad ones
01:21:44 <shachaf> :-(
01:21:47 <kmc> Bike: newbie joins, newbie asks standard newbie question, everyone starts shouting out their favorite explanation, then everyone argues about which one is best, then irrelevant tangents
01:21:51 <kmc> newbie is confused
01:21:57 <kmc> nobody actually cares about figuring out the one best way to teach something
01:22:02 <Bike> wait, are you telling me not every speech about programming is like that
01:22:06 <kmc> everyone's too heavily invested in their pet explanation
01:22:08 <shachaf> kmc: Remember sorear?
01:22:14 <kmc> i felt the same way
01:22:16 <kmc> which is why i left
01:22:22 <kmc> after making some halfassed attempt to be better
01:22:23 <kmc> shachaf: no
01:22:27 <shachaf> Those were the days.
01:22:57 <kmc> Bike: also they act like a research paper on a topic is equivalent to mature tested packaged software
01:23:14 <Bike> groan.
01:23:23 <kmc> if your problem can't generate an academic paper then it's already solved
01:23:29 <elliott> tbh i don't really see that attitude in #haskell at all
01:23:30 <kmc> it's just a trivial matter of engineering
01:23:35 <elliott> the research paper thing that is
01:23:37 <kmc> i've seen it a few times
01:23:49 <kmc> somebody was like "lol, just write a JVM backend for GHC, problem solved"
01:23:53 <kmc> as though this would be completely trivial
01:24:03 <elliott> the #1 problem is idiots who don't know anything about haskell trying to answer an overly-broad question like "what are monads" that they don't themselves understand
01:24:04 <elliott> imo
01:24:09 <kmc> yeah
01:24:12 <kmc> that is a bigger problem
01:24:15 <shachaf> Yes.
01:24:26 <elliott> (and I say idiots only because they decide they are competent enough to educate others, not because they merely don't know)
01:24:32 <kmc> also #haskell has a bunch of dumb inside jokes
01:24:43 <kmc> if you mention monads everyone is like "lolololololololol burritos"
01:24:56 <Sgeo> elliott, now I'm scared that I'm an idiot
01:24:58 <kmc> completely drowning out any attempt at a serious answer (not that such attempts would generally be successful)
01:25:04 <kmc> also lambdabot is a huge inside joke
01:25:18 <kmc> because she implements this bizarre variant of haskell which seems to exist to confuse beginners and entertain experts
01:25:23 <kmc> pretty trollish basically
01:25:28 <shachaf> kmc: You should post that post on what's wrong with #haskell
01:25:49 <elliott> Sgeo: i don't know how to answer that
01:26:02 <kmc> people are always like "lambdabot is a great resource for learning Haskell!!" and then when the learner actually uses it, they have to explain why it thinks functions are numbers or whatever
01:26:07 <kmc> :t (.)
01:26:08 <lambdabot> forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b
01:26:08 <Bike> it what.
01:26:10 <kmc> :t 3 3
01:26:11 <lambdabot> forall t t1. (Num (t1 -> t), Num t1) => t
01:26:14 <olsner> and then everyone blames Cale for making lambdabot's haskell weird, and Cale vehemently denies having anything to do with it
01:26:21 <elliott> kmc: btw you are way too cynical about lambdabot, cale obviously feels its variants are useful and helpful for its target audience
01:26:28 <Bike> i seem to have opened up a terrifying line of information here
01:26:29 <elliott> it is unfortunate that it causes problems but i don't think it is really malicious
01:26:35 <Sgeo> > 3 5
01:26:36 <lambdabot> 3
01:26:37 <elliott> just obviously lambdabot never get updated ever since have you seen its codebase
01:26:40 <shachaf> I don't think there's a whole lot of malice in #haskell
01:26:48 <Sgeo> Bike,
01:26:49 <elliott> (by "cale" here I mean "broadly-approximated cale")
01:26:51 <shachaf> Malice is easier to deal with, usually.
01:26:53 <Sgeo> > (sin + cos) 2
01:26:54 <lambdabot> 0.4931505902785393
01:26:55 <elliott> (which means "Whoever is responsible for them" or whatever)
01:26:58 <elliott> *whoever
01:27:00 <elliott> Bike: welcome to #esoteric
01:27:06 <elliott> it's crap
01:27:07 <Bike> hello #esoteric
01:27:08 <Sgeo> > (sin + cos) 0
01:27:09 <lambdabot> 1.0
01:27:19 <Bike> Sgeo: is the same as sin 0 + cos 0, or what
01:27:26 <Sgeo> > (sin * sin + cos * cos) 12345
01:27:28 <lambdabot> 0.9999999999999999
01:27:29 <Sgeo> Yes
01:27:38 <Bike> that's kinda cool actually.
01:27:48 <Sgeo> It's not a stanard Haskell thing
01:28:12 <Bike> so I gathered
01:28:13 <kmc> elliott: i don't think it's malicious, but the fact that it's gone on this long indicates a certain lack of regard for beginners
01:28:17 <shachaf> #esoteric is also a big inside joke.
01:28:17 <oonbotti> Nothing here
01:28:28 <Bike> yes I've gotten that impression, shachaf
01:28:31 <kmc> which is incongruous with a community that is constantly patting itself on the back over how friendly it is
01:28:40 <kmc> one of the main things i learned from #haskell is that friendly != helpful
01:29:09 <elliott> kmc: well experts are misserved by lambdabot's other problems
01:29:13 <elliott> like how it keeps crashing
01:29:17 <elliott> and that stupid L.hs nondeterministic thing
01:29:28 <elliott> it is just unmaintained, can't really single out any individual problem imo
01:29:38 <shachaf> Cale "maintained" flip into L.hs
01:29:41 <shachaf> @ty flip
01:29:42 <lambdabot> forall a b c. (a -> b -> c) -> b -> a -> c
01:29:46 <shachaf> whoa, dudeb
01:29:48 <shachaf> What?
01:29:53 <kmc> a lot of IRC channels are too unfriendly to be helpful, but #haskell is too friendly to be helpful
01:29:56 <elliott> kmc: btw i think the patting themselves on the back thing is generally over
01:30:01 <elliott> > flip
01:30:01 <kmc> elliott: oh really
01:30:03 <lambdabot> Overlapping instances for GHC.Show.Show
01:30:03 <lambdabot> ((a ->...
01:30:06 <elliott> kmc: well i don't see it
01:30:12 <elliott> kmc: anyway looks like it's your birthday 'cuz flip looks normal to me
01:30:18 <kmc> haha
01:30:22 <kmc> but (.) is still weird
01:30:23 <shachaf> I asked Cale to change it back today.
01:30:26 <kmc> heh
01:30:32 <shachaf> Maybe he listened.
01:30:34 <olsner> flip used to be weird too?
01:30:45 <elliott> olsner: yes, it was strong
01:30:53 <shachaf> Yep, f (b -> c) -> b -> f c
01:30:55 <elliott> strong :: (Functor f) => f (a -> b) -> a -> f b
01:30:59 <elliott> i think edwardk calls it strong
01:31:02 <elliott> so i am calling it strong
01:31:03 <elliott> to be cool
01:31:03 <shachaf> strength?
01:31:06 <elliott> oh maybe
01:31:15 <elliott> it's the proof term that every haskell Functor is a strong functor right
01:31:21 <kmc> shachaf: I got my Stripe CTF shirt today!
01:31:26 <shachaf> kmc: Oh.
01:31:29 <shachaf> :-(
01:31:33 <olsner> @djinn (Functor f) => f (a -> b) -> a -> f b
01:31:33 <kmc> u no?
01:31:33 <lambdabot> Error: Class not found: Functor
01:31:36 <shachaf> Nope.
01:31:43 <olsner> djinn doesn't do classes, I guess
01:31:48 <shachaf> elliott: want another proof that every functor is strong??
01:31:52 <shachaf> proof = undefined
01:32:13 <elliott> @djinn-env
01:32:14 <lambdabot> data () = ()
01:32:14 <lambdabot> data Either a b = Left a | Right b
01:32:14 <lambdabot> data Maybe a = Nothing | Just a
01:32:14 <lambdabot> data Bool = False | True
01:32:14 <lambdabot> data Void
01:32:15 <lambdabot> type Not x = x -> Void
01:32:17 <lambdabot> class Monad m where return :: a -> m a; (>>=) :: m a -> (a -> m b) -> m b
01:32:20 <lambdabot> class Eq a where (==) :: a -> a -> Bool
01:32:21 <lambdabot> either :: (a -> c) -> (b -> c) -> Either a b -> c
01:32:25 <elliott> olsner: you need to teach it about functor i think
01:32:28 <elliott> idk how
01:32:33 <olsner> idk either
01:32:39 <elliott> @help djinn
01:32:39 <lambdabot> djinn <type>.
01:32:39 <lambdabot> Generates Haskell code from a type.
01:32:39 <lambdabot> http://darcs.augustsson.net/Darcs/Djinn
01:32:42 <elliott> no
01:32:42 <elliott> wrong
01:32:42 <shachaf> elliott: It won't help.
01:32:50 <shachaf> djinn is "stupid" about classes
01:32:50 <Bike> it knows about monads but not functors?
01:32:52 <shachaf> Observe:
01:32:55 <shachaf> @djinn a -> m a
01:32:56 <lambdabot> -- f cannot be realized.
01:33:01 <shachaf> Er.
01:33:04 <elliott> Bike: so does the haskell 2010 standard :(
01:33:04 <shachaf> @djinn Monad m => a -> m a
01:33:05 <lambdabot> f = return
01:33:08 <shachaf> @djinn Monad m => b -> m b
01:33:08 <lambdabot> -- f cannot be realized.
01:33:19 <elliott> shachaf: haha
01:33:19 <elliott> good
01:33:26 <Bike> i'm pretty dumb at haskell but I thought monads were functors?
01:33:39 <Sgeo> Mathematically
01:33:39 <elliott> Bike: yep.
01:33:39 <Bike> *haskell, math, life
01:33:51 <elliott> haskell only has a direct monad class
01:33:51 <shachaf> Functor? I 'ardly know 'er!
01:33:56 <elliott> there's a functor class in the standard libraries
01:34:00 <Bike> very strange
01:34:02 <elliott> (and applicative, the "half-way" point in a sense)
01:34:10 <elliott> but they're not superclasses of monad due to -- wait for it -- historical accident
01:34:12 <shachaf> kmc: When are you running the kmc code contest?
01:35:00 <elliott> :t (.)
01:35:01 <lambdabot> forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b
01:35:04 <elliott> Ah, good.
01:35:18 <Phantom__Hoover> <Sgeo> elliott, now I'm scared that I'm an idiot
01:35:28 <shachaf> @let switchify f = (.f)
01:35:30 <lambdabot> Defined.
01:35:31 <shachaf> @ty switchify
01:35:33 <lambdabot> forall (f :: * -> *) a b. (Functor f) => f a -> (a -> b) -> f b
01:35:36 <shachaf> zomg
01:35:55 <Phantom__Hoover> you're not an idiot generally since you don't confidently spew bullshit
01:36:39 <shachaf> Phantom__Hoover: pssst, i heard Sgeo made 6 bf derivatives before breakfast today
01:36:55 <Phantom__Hoover> then he's not an idiot, he's a dead man walking
01:37:33 <elliott> shachaf: Doesn't the Functor (.) upset you?
01:37:37 <elliott> It should use the Category (.).
01:37:59 <olsner> obviously it just predates Category, and no-one's bothered to update it yet
01:38:03 <shachaf> elliott: Maybe it should use the -> .
01:38:16 <elliott> shachaf: No. Prelude should use the Category (.).
01:38:35 -!- hagb4rd has joined.
01:40:24 <Phantom__Hoover> :t (*)
01:40:25 <lambdabot> forall a. (Num a) => a -> a -> a
01:41:07 <kmc> shachaf: it shipped from colorado
01:41:27 <shachaf> elliott: is there a place in the uk called "colourado"
01:41:34 <elliott> yes
01:41:40 <shachaf> "i knew it"
01:41:59 <Phantom__Hoover> it's an australian hair salon apparently
01:49:30 -!- Arc_Koen has quit (Quit: Arc_Koen).
01:52:49 <Sgeo> Phantom__Hoover, what if I make a meta-language to describe BF derivatives
01:53:03 <Phantom__Hoover> you mean tr?
01:53:05 <Bike> can the language describe itself
01:54:33 <pikhq> More-like sed
01:55:45 <Phantom__Hoover> depends on how awful it is
01:55:49 <shachaf> kmc: Do you have any good train facts for me?
01:56:54 <kmc> just... general train facts?
01:57:55 <shachaf> Specific ones are good too.
01:58:09 <kmc> i mean, are you looking for a specific kind of train fact
01:58:11 <copumpkin> choo choo
01:58:13 <kmc> do you know about gauntlet track?
01:58:32 <kmc> http://en.wikipedia.org/wiki/Gauntlet_track
01:58:37 <pikhq> Trains are actually electric carts. (in CJK)
01:58:46 <kmc> it is a strange kind of arrangement which is useful in many ways
01:59:56 <Sgeo> Why the fuck would the word "arrangement" make me think of Worlds?
02:00:09 <copumpkin> kmc: interesting
02:01:46 <shachaf> kmc: Nope.
02:03:18 <kmc> when a two-track line has to cross a narrow bridge, it's sometimes better to use two overlapping tracks on the bridge, rather than a true single track segment
02:03:25 <kmc> you can still only have one train on the bridge at once
02:03:41 <kmc> but the mechanical bits on either side to go back to two tracks are simpler
02:03:58 <kmc> purely static bits of steel, vs. points that need to move, and might ice up, etc.
02:04:38 <kmc> shachaf: here is another train fact:
02:04:57 <kmc> the New York Subway construction workers use temporary construction lights consisting of five incandescent bulbs mounted together on a board
02:05:17 <shachaf> I've heard that one before, I think?
02:05:22 <shachaf> > 120*5 -- or something like that
02:05:23 <lambdabot> 600
02:05:26 <kmc> yes
02:05:29 <copumpkin> kmc: how many abandoned stations are there in manhattan?
02:05:31 <kmc> they run them off third rail power
02:05:37 <copumpkin> also, have you visited the city hall one?
02:05:44 <kmc> http://www.columbia.edu/~brennan/abandoned/
02:05:55 <copumpkin> wow
02:05:55 <kmc> i've been through it on the 6, but i couldn't see much
02:05:59 <copumpkin> sweet
02:06:00 <kmc> need to bring a powerful flashlight
02:06:09 <shachaf> kmc: Did you hear copumpkin is leaving Boston? :-(
02:06:11 <copumpkin> I want to explore them all
02:06:20 <copumpkin> shachaf: don't tell him, he wouldn't approve
02:06:22 <kmc> you are copumpkin?
02:06:26 <Phantom__Hoover> isn't the new york underground an amalgamation of like 5 different private networks
02:06:35 <copumpkin> kmc: yep :P
02:06:36 <kmc> Phantom__Hoover: basically 3
02:06:39 <shachaf> kmc: Oops. I didn't tell you.
02:07:13 <kmc> Phantom__Hoover: a few of the elevated lines might date back to the era when there were more than 3
02:07:14 <shachaf> copumpkin likes category theory more than boston :'(
02:07:20 <kmc> and a few bits of the system used to be LIRR, and stuff like that
02:07:45 <shachaf> copumpkin: What will you be doing in CT?
02:08:32 <kmc> but mainly it was the IRT (today, numbered lines), the BMT (mostly the NQR and JZ), and the city-run-from-the-start IND (the ACE, BDFM, and G)
02:09:05 <kmc> but the city was heavily involved with planning from the start
02:09:17 <kmc> in fact sometimes the city would build the lines on behalf of these private companies
02:09:19 <kmc> but then also compete with them
02:09:33 <kmc> and would impose terms that caused them to go bankrupt
02:09:41 <kmc> and would condemn the structures so they could be bought cheaper
02:09:49 <kmc> it was some kind of really fucked up hybrid public/private system
02:17:21 <copumpkin> shachaf: um
02:18:36 <copumpkin> shachaf: writing software!
02:18:40 <copumpkin> >_>
02:18:56 <shachaf> copumpkin: What software?
02:19:11 <shachaf> Is it still that capitaliq thing?
02:19:52 <copumpkin> nah, that's what I'm quitting
02:19:59 <copumpkin> bwater.com
02:20:52 <shachaf> Oh.
02:21:01 <shachaf> Bah, another finance thing?
02:21:23 <shachaf> Well, I guess you already lost your soul at clarifi anyway.
02:21:30 <copumpkin> lol
02:23:17 <kmc> moving to Westport?
02:26:03 <copumpkin> probably Wilton, but yeah
02:26:06 <copumpkin> something like that
02:26:25 <kmc> ok
02:26:30 <kmc> i don't know what that area is like; is it nice?
02:26:38 <kmc> it's a bit far from NYC but not totally unreasonable for a day trip
02:26:48 <copumpkin> some employees actually commute
02:26:52 <copumpkin> I'm not up for it though
02:26:53 <kmc> yeah i bet
02:26:58 <copumpkin> there's a bus from manhattan every day
02:27:04 <copumpkin> it seemed nice from what I saw
02:27:14 <copumpkin> kinda posh, apparently, but a lot of that part of CT is
02:27:22 <elliott> more like Category Theory
02:27:24 <shachaf> copumpkin: There are buses from Manhattan to Boston more than once a day!
02:27:28 <copumpkin> I'll probably be visiting NY a lot
02:27:35 <kmc> commuting on the bus or train you can at least work or read or sleep
02:27:36 <copumpkin> shachaf: I mean a company bus
02:27:39 <shachaf> Oh.
02:27:58 <copumpkin> yeah, but still, being on a bus ~2.5 hours a day isn't my idea of fun
02:28:01 <copumpkin> even if I'm reading or something
02:28:06 <shachaf> Maybe I should move to NY.
02:28:30 <copumpkin> but it's still within a reasonable distance from boston, too
02:28:50 <copumpkin> and the local airport has direct flights to Tampa :)
02:29:19 <shachaf> copumpkin: Have you considered the other coast?
02:29:28 <copumpkin> makes Tampa more of a pain
02:29:37 <shachaf> Who needs Tampa?
02:29:42 <copumpkin> I'm not opposed to it in principle
02:30:19 <kmc> what's so great about tampa
02:30:23 -!- Phantom_Hoover has joined.
02:30:25 <shachaf> ==kmc
02:30:48 <Sgeo> shachaf, if you move to NY, you'll be moving closer to me.
02:30:50 <Sgeo> Just a warning.
02:30:52 <copumpkin> my gf lives there and has to stay there for the next 1.5 years
02:31:53 <shachaf> Sgeo: Is NYC now Clojureland?
02:32:31 <copumpkin> there's a big haskell meetup there starting up
02:32:40 <Sgeo> shachaf, I take it you've never seen me obsessed with other languages?
02:32:47 -!- Phantom__Hoover has quit (Ping timeout: 246 seconds).
02:33:10 <shachaf> copumpkin: When do they meet?
02:33:16 <copumpkin> Nov 14th is the first
02:33:21 <shachaf> Hmm.
02:33:23 -!- augur has quit (Remote host closed the connection).
02:33:23 <copumpkin> http://www.meetup.com/NY-Haskell/
02:37:31 -!- constant has changed nick to function.
02:37:40 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:41:02 <zzo38> What tvtropes does my Dungeons&Dragons story applies/misapplies/strangeapplies?
02:42:31 <copumpkin> the pics from Cortlandt st. station on that site are kinda eerie
02:47:20 <copumpkin> someone needs to make a post-apocalyptic RPG set almost entirely in the NYC subway system, with occasional glimpses of the destruction above
02:47:53 <Bike> charles barkley: shut up and jam: gaiden
02:48:18 <zzo38> copumpkin: Try it.
02:48:50 <copumpkin> I'd prefer to explore, not make the game :)
02:48:55 <copumpkin> and I don't really get to explore the real thing
02:51:23 <kmc> copumpkin: did you ever play Fallout 3?
02:51:28 <copumpkin> I did :)
02:51:29 <copumpkin> I loved it
02:51:32 <kmc> large parts are set in the DC subway
02:51:35 <copumpkin> yeah
02:51:36 <kmc> it's a cool game
02:51:42 <copumpkin> different from other fallouts
02:51:46 <copumpkin> but still lots of fun
02:51:47 <kmc> should i play fallout 1/2?
02:51:56 <copumpkin> I love those too, but they have a different feel to them
02:52:08 <copumpkin> good old games has them on sale occasionally, I think
02:52:24 <kmc> i have... copies
02:52:30 <shachaf> kmc: Should you play Psychonauts?
02:52:33 <shachaf> A: Yes
02:52:35 <kmc> playing it's slightly annoying, i think they work in wine
02:52:39 <kmc> shachaf: i tried but it segfaulted :(
02:52:48 <copumpkin> kmc: then yeah :) unfortunatley the low res is the most annoying thing for me
02:52:56 <copumpkin> I played fallout 1 just recently
02:53:00 <shachaf> kmc: The Linux version from HB?
02:53:09 <copumpkin> it's still pretty good, if you don't mind the low res
02:54:03 -!- augur has joined.
02:55:15 <kmc> shachaf: yeah
02:55:41 <shachaf> kmc: I don't have hardware acceleration working so I can't test it.
02:55:48 <shachaf> I just booted to Windows.
02:57:33 <kmc> DECtalk DTC01 (with a cat for scale)
02:57:37 <kmc> Cat (with a DECtalk DTC01 for scale)
02:57:40 <kmc> http://en.wikipedia.org/wiki/File:DECtalk_DCT01_and_Tink.jpg
03:03:58 -!- Nisstyre-laptop has joined.
03:16:35 <zzo38> In this Dungeons&Dragons game, well, one thing it does have is evil chancellor. Also, what do they call the strange plan, such as my plan involving the afro wig and beard trimmer, nobody seem to know what it is for, do you know what it is for?
03:17:31 -!- hagb4rd has quit (Quit: hagb4rd).
03:26:34 -!- DDR has joined.
03:28:50 <DDR> Hey, just wanted to publicly thank Oerjan for cleaning up my ComeFrom page.
03:28:56 <DDR> "Thanks!"
03:29:12 <shachaf> DDR: I think public thanks are more fruitful when the person you're thanking is around.
03:29:23 <DDR> Yeah, can't have everything. :P
03:30:50 <DDR> Anyhow, that about wraps it up for me. See ya.
03:31:11 <pikhq> @tell oerjan 21:28 < DDR> Hey, just wanted to publicly thank Oerjan for cleaning up my ComeFrom page.
03:31:12 <lambdabot> Consider it noted.
03:31:24 <DDR> Thanks.
03:31:29 -!- DDR has left.
03:34:04 <kmc> `run echo ørjan | iconv -t iso646-no
03:34:07 <HackEgo> iconv: illegal input sequence at position 0
03:34:18 <kmc> `run echo ørjan | iconv -t iso646-no -f utf-8
03:34:22 <HackEgo> ​|rjan
03:34:34 <shachaf> @arr jan
03:34:34 <lambdabot> I'll keel haul ya fer that!
03:34:38 <shachaf> @ørr
03:34:39 <lambdabot> Maybe you meant: arr yarr
03:44:25 <kmc> shachaf: did you see http://amoffat.github.com/sh/
03:44:35 <shachaf> kmc: Yep.
03:44:44 <kmc> i used it for a nontrivial project
03:44:46 <kmc> it's pretty nice
03:44:54 <Sgeo> https://www.casascius.com/ pretty. Of course, only interested in prettyness, so can only imagine getting the 0-bitcoin one
03:45:08 <kmc> Sgeo: but what does it have to do with clojure?
03:45:15 -!- lahwran has quit (Excess Flood).
03:45:32 <Sgeo> Erm, better yet, the 25 BTC with no bitcoin value
03:45:36 <Sgeo> That's what I was thinking of
03:45:50 <Sgeo> Why is there a meme of me being Clojure obsessed
03:45:56 <kmc> uh
03:46:07 <Sgeo> I'm always obsessed with whatever my current language of the minute is, and currently that's Clojure
03:46:12 <Sgeo> It varies over time.
03:47:03 <kmc> Vires in Numeris
03:48:40 -!- lahwran has joined.
03:49:50 <shachaf> droppingWhile p l f = fst . foldrOf l (\a r -> let s = f a *> snd r in if p a then (fst r, s) else (s, s)) (noEffect, noEffect)
04:20:30 <Sgeo> elliott, tswett coppro update
04:31:46 <Sgeo> It's been a while since I've read Ubersoft
04:35:39 <Sgeo> Hmm, Reddit hates Ubersoft
04:35:49 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer).
04:36:24 -!- Nisstyre-laptop has joined.
04:36:55 -!- hagb4rd has joined.
04:40:59 -!- monqy has joined.
04:47:00 <zzo38> Does anyone discovered checkmate with a king move?
04:54:59 -!- Frooxius has quit (Ping timeout: 245 seconds).
05:03:02 <coppro> Sgeo: I know, thanks.
05:37:03 <Sgeo> Fight... for the sky......
05:37:08 <Sgeo> waiting for my..............ride
05:50:00 <ion> Flex Mex http://youtu.be/GTwrVAbV56o
05:51:10 -!- zzo38 has quit (Ping timeout: 244 seconds).
06:17:13 -!- hagb4rd has quit (Ping timeout: 245 seconds).
06:37:20 -!- sivoais has quit (Ping timeout: 244 seconds).
06:43:16 -!- sivoais has joined.
06:53:16 -!- AnotherTest has joined.
06:53:56 <AnotherTest> Hello
06:53:56 -!- AnotherTest has quit (Client Quit).
06:54:08 -!- AnotherTest has joined.
06:55:08 -!- shubshub has joined.
06:55:22 <shubshub> Guess what guys
06:56:09 * shubshub is making a new language
06:56:13 <monqy> hi hi
06:56:17 <monqy> is it a good language ?
06:56:37 <shubshub> its another form of batch
06:56:38 <shachaf> monqy: is hi hi a quine
06:56:40 <shachaf> in the language
06:56:42 <shachaf> hi
06:56:49 <monqy> oh right you're the batch guy aren't you
06:56:54 <shubshub> yea
06:57:16 <shubshub> This time its Batch modified for making video games
06:57:53 <monqy> how does that work :oi
06:58:16 <shubshub> Using Batch files to make new custom commands
06:58:43 <monqy> what does that mean :o
06:58:58 <shubshub> -_-
06:59:01 <shubshub> -.-
06:59:29 <shubshub> ldo you jknopw anything about batch?
06:59:36 <shubshub> lulwut
06:59:53 <shubshub> do you know anything about batch?
06:59:58 <shubshub> ***
07:00:59 <monqy> no
07:06:04 <elliott> shubshub: do you know anything
07:07:02 <shachaf> elliott: do you know anything
07:08:26 <monqy> shachaf: do you know anything
07:09:07 <shachaf> zomg
07:09:29 <ion> monqy: do 𝖄𝕺𝖀 know anything
07:09:29 <shachaf> red text??
07:10:41 <shubshub> elliot: I know evertything about making games in batch
07:11:44 <monqy> everything???? that's a lot of thing!
07:11:46 <monqy> can you teach me
07:12:00 <shubshub> really?
07:12:42 <ion> monqy: No, just evertything.
07:13:07 <monqy> oh....
07:13:17 <shachaf> everty
07:13:24 <shachaf> is that more or less than eleventy
07:13:29 <shachaf> > compare "everty" "eleventy"
07:13:30 <lambdabot> GT
07:13:35 <shachaf> wow
07:13:58 <ion> > compare "everty" "9000"
07:13:59 <lambdabot> GT
07:14:16 <monqy> well, eleventything isn't a lot of thing, so that's not saying much
07:46:24 <Sgeo> wtf
07:46:32 <Sgeo> Chrome doesn't want pages on my HD using geolocation'
07:48:35 -!- Bike has quit (Quit: (but seriously)).
07:49:20 <elliott> shachaf: How does edwardk define iteratees again?
07:49:25 <elliott> ISTR some definition.
07:50:30 <shachaf> elliott: You mean the pseudo-iteratee "It" thing in Trifecta?
07:50:53 <shachaf> data It r a = Pure a | It a (r -> It r a) ?
07:51:23 <elliott> shachaf: Something like that, yes.
07:51:30 <elliott> I remember some "f" being involved, though.
07:51:36 <elliott> Some "Iterator" type from some earlier thing.
07:53:55 <elliott> shachaf: Anyway, I want the "lens" package of iteratees/pipes/whatever.
07:54:16 <shachaf> elliott: There are too many iteratee packages, so you want another one to solve everything?
07:54:33 <shachaf> Except this one is written by edwardk and he makes it so much better than all the others that they all stop being relevant?
07:54:42 <shachaf> And also it has crazy types.
07:55:05 -!- zzo38 has joined.
07:57:06 <elliott> <shachaf> elliott: There are too many iteratee packages, so you want another one to solve everything?
07:57:11 <elliott> That was the idea of lens, right?
07:57:24 <elliott> Seems to have worked, no?
07:57:43 <shachaf> Sort of.
07:57:54 <shachaf> lens also replaced a whole bunch of "unrelated" packages.
07:58:03 <shachaf> What with the whole uniplate/biplate/zipper/etc. business.
07:58:45 -!- shubshub has left.
07:58:57 <elliott> shachaf: Right. So I guess this hypothetical package -- let's call it pipe -- would also replace, um, I don't know, edwardk's package with those other Traversable-type classes.
07:59:06 <elliott> And maybe that reducers package, that seems sort of vaguely marginally related.
07:59:09 <elliott> And... unix?
07:59:21 <elliott> And yaml. It'll probably have a YAML parser.
07:59:46 <shachaf> YAML = the devil
08:00:05 <shachaf> Oops, no.
08:00:07 <shachaf> YAML = the future
08:00:29 <shachaf> elliott: Comment on Rogach's code in #haskell
08:00:31 <elliott> Does the creator of YAML use IRC?
08:00:37 <elliott> (So I can @tell him or her or them that.)
08:00:39 <ion> YAML all the things!
08:00:52 <shachaf> Mention "unlines" and Data.Text and all that.
08:01:07 <ion> Why isn’t the Haskell syntax based on YAML?
08:01:16 <shachaf> elliott: There are three "YAML people"
08:01:44 <shachaf> All of them can be found on IRC occasionally, though the one who wrote the spec is usually not around.
08:02:28 <shachaf> elliott: ((intercalate "\n" output) ++ "\n")
08:03:11 <elliott> shachaf: You know which "YAML person" I mean.
08:04:05 <ion> (++"\n") =<< output
08:05:42 <shachaf> (++ion)
08:05:55 <shachaf> elliott: Sometimes.
08:10:10 <shachaf> elliott: He is now!
08:10:12 <shachaf> Happy?
08:10:31 <elliott> shachaf: of course not
08:10:42 <shachaf> Never happy.
08:10:48 <elliott> never happy.
08:11:09 <shachaf> droppingWhile p l f = fst . foldrOf l (\a r -> let s = f a *> snd r in if p a then (fst r, s) else (s, s)) (noEffect, noEffect)
08:14:47 -!- ais523 has quit.
08:20:08 -!- ogrom has joined.
08:24:29 -!- Vorpal has joined.
08:24:39 <ion> @hoogle noEffect
08:24:40 <lambdabot> No results found
08:25:10 <shachaf> -- | The 'mempty' equivalent for a 'Gettable' 'Applicative' 'Functor'.; noEffect :: (Applicative f, Gettable f) => f a; noEffect = coerce $ pure ()
08:25:35 <elliott> @src coerce
08:25:36 <lambdabot> Source not found. I am sorry.
08:25:48 <shachaf> Do I have to do everything for you?
08:25:54 <elliott> yes
08:25:57 <shachaf> class Functor f => Gettable f where coerce :: f a -> f b
08:26:35 <elliott> noEffect is a bad name.
08:27:01 <elliott> shachaf: (Also ew, that typeclass is just isomorphic-to-Const-x-for-some-x.)
08:27:12 <shachaf> elliott: Exactly.
08:27:18 <shachaf> Do you know why he added it?
08:27:31 <shachaf> Also, class Applicative f => Settable f where untainted :: f a -> a
08:28:30 <elliott> <shachaf> Do you know why he added it?
08:28:32 <elliott> For overloading, probably.
08:28:38 <shachaf> For type errors!
08:28:45 <elliott> What?
08:28:50 <shachaf> If you try to set with a getter or get with a setter, you get a huge ugly unification error.
08:29:00 <shachaf> But if you use these type classes, you get "No instance for (Gettable Mutator)"
08:30:55 <zzo38> I suppose often you don't know what is better name that is why you have bad name
08:31:30 <shachaf> elliott: "pretty cool huh"
08:31:36 <shachaf> monqy: "huh monqy"
08:31:58 <shachaf> elliott: Do you understand the Bazaar business?
08:32:36 <monqy> ????? why did you say my name ???? what is going on
08:32:47 <shachaf> monqy: the sky is falling
08:32:55 <monqy>
08:32:57 <shachaf>
08:34:53 -!- monqy has quit (Quit: hello).
08:40:25 <elliott> maybe type Pipe f i o a b = forall r. (forall r'. (i -> f r') -> (a -> f r') -> f r') -> (o -> f r) -> (b -> f r) -> f r
08:43:18 <shachaf> There must be a Poe's law for crazy types.
08:44:49 <elliott> type Stream f p o a = Stream { runStream :: forall r. (o -> f p) -> (a -> f r) -> f r }
08:44:50 <elliott> type Pipe f i o a b = forall ii oo aa bb. Stream f (Pipe f ii i aa a) i a -> Stream f (Pipe f o oo b bb) o b
08:44:52 <elliott> That looks right to me.
08:47:14 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
08:47:48 <elliott> shachaf: (How do you write Pipe f i i a a with that?)
08:50:03 <Sgeo> elliott, [S] update
08:50:16 <shachaf> [S]geo?
08:50:19 <shachaf> [S]illy?
08:50:23 <shachaf> [S]i monqy?
08:52:27 <Sgeo> shachaf, go read Homestuck
08:52:48 <shachaf> Homestuck?
08:52:52 <shachaf> Is that what those updates are about?
08:53:24 <Sgeo> Yes
08:53:31 <fizzie> I thought they were updates of people on channel. :/
08:53:38 <fizzie> Like, there's a new elliott firmware.
08:53:44 <elliott> they're updates of who sgeo has decided to randomly ping for no reason today
08:53:59 <fizzie> elliott: Are you out of beta yet?
08:54:03 <elliott> like if you had a list whose purpose was to announce updates to itself
08:54:05 <elliott> fizzie: no :'(
08:54:12 <elliott> fizzie: too buggy
08:54:28 <zzo38> Now I have to vs Arizona in the final series. Arizona is the only team I have ever lost against. Alvarez (SF) and Butler (C) are injured, so if Levine (C) or Colvin (SF) gets injured too then I will have none left and I will be out. But maybe if Murray (C on opposing team, and their only good player) gets injured, I might have a better chance.
08:55:13 <Sgeo> Huh, never thought zzo38 would be into Fantasy Sports. Although I have no idea which one that is
08:55:16 <shachaf> Sgeo: http://slbkbs.org/jsgif/ to the rescue!
08:55:20 <zzo38> Well, tomorrow I will know what happened.
08:55:48 <zzo38> Sgeo: Franchise Basketball in X-BIT BBS
09:01:25 <zzo38> Butler is injured for ten games, so therefore you will be out for a long time. Maybe if there are the players available to buy, the first player I buy in next season should be a C position in order to avoid this problem. It might also be a good idea to get a F position since I don't have enough of those either.
09:03:46 -!- ogrom has quit (Ping timeout: 255 seconds).
09:15:29 -!- zzo38 has quit (Quit: zzo38).
09:20:00 -!- Nisstyre-laptop has quit (Quit: Leaving).
11:26:56 -!- Phantom_Hoover has joined.
11:37:20 -!- Arc_Koen has joined.
11:37:54 -!- Taneb has joined.
11:54:29 -!- Taneb has quit (Ping timeout: 255 seconds).
12:06:51 <quintopia> i'm assuming C is catcher and F is fielder?
12:07:09 <elliott> F is for Feather.
12:07:49 <quintopia> Feather Fall Potion
12:13:48 -!- oerjan has joined.
12:14:25 <oerjan> @messages
12:14:26 <lambdabot> pikhq said 8h 43m 13s ago: 21:28 < DDR> Hey, just wanted to publicly thank Oerjan for cleaning up my ComeFrom page.
12:14:43 <oerjan> @tell DDR you're welcome
12:14:44 <lambdabot> Consider it noted.
12:17:01 <Arc_Koen> hello oerjan
12:17:10 <elliott> oerjan: btw you realise "I think the main reason the featured languages are currently stalled is that he thinks all of the better current suggestions need editing improvement before promotion." is not really true right :P
12:17:28 <oerjan> no, i actually didn't
12:17:32 <elliott> ok
12:17:34 <elliott> probably i should reply
12:17:47 <oerjan> hi Arc_Koen
12:17:49 <elliott> (the real reason is that I would have to write a good blurb, and i am stupendously lazy)
12:17:56 <oerjan> AHA
12:18:16 <Arc_Koen> what if someone else was to write the blurb?
12:18:39 <elliott> well that could be good
12:18:39 <oerjan> as are we all, except those who have real jobs and therefore cannot find the time.
12:18:50 <elliott> i am a terrible perfectionist though so i would probably still end up editing it to heck
12:19:01 <elliott> possibly we should get someone on board just to do featured language stuff
12:19:04 <elliott> like say oerjan!
12:19:54 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
12:26:15 -!- hagb4rd has joined.
12:28:00 <oerjan> Arc_Koen: btw you don't actually need to put <pre> and </pre> in the same line as the neighboring content... an initial or final newline will usually be ignored
12:29:16 <oerjan> *a single
12:30:47 -!- Phantom_Hoover has joined.
12:50:38 <Arc_Koen> yes I noticed that
12:51:12 <Arc_Koen> you have no idea how much time I spend testing different formats after I've edited a page and before I hit save changes :(
12:53:13 <Jafet> You could make one featured language page, then tell people their languages can get featured if the pages for those languages are as good as the featured one.
12:53:15 <oerjan> heh
12:53:35 <oerjan> *Arc_Koen: heh
12:54:12 <Arc_Koen> thanks for that ski thing
12:55:16 <Arc_Koen> hey I had an idea for a stack-based language
12:55:23 <Arc_Koen> functional and reversible
12:55:32 <nortti> how would it work?
12:56:02 <Arc_Koen> so there is one main stack
12:56:05 <Arc_Koen> and functions
12:56:39 <Arc_Koen> functions get a copy of the current stack to operate on, and when they are done, the top element from their stack is pushed on the stack
12:57:05 <Arc_Koen> and loop constructs can only appear in the main function
13:00:20 <Arc_Koen> (but the main function has no ways to pop its stack, since functions can only add items to it)
13:00:20 <Arc_Koen> so basically functions can contain instructions or call other functions, and the main function can only use loop constructs and call other functions
13:00:20 <Arc_Koen> and there's an auxiliary stack where data is pushed to make operations reversible
13:00:20 <Arc_Koen> (for instance if you have an instruction "not" that pops the top item and replaces it with 0 if it was nonzero or 1 if it was 0, then it would also push the original number to the auxiliary stack so that it can be reversed)
13:00:20 <Arc_Koen> and there should be some control flow operators that allow to reverse operations
13:00:21 <Arc_Koen> anyway I'll be back later see you
13:03:19 <oerjan> @tell Arc_Koen that doesn't quite fit my intuition of "reversible" as it seems at best injective and not bijective. btw have you looked at Kayak?
13:03:19 <lambdabot> Consider it noted.
13:05:42 -!- function has changed nick to trout.
13:06:11 <oerjan> i find this nick change both fishy and dysfunctional
13:06:49 <fizzie> Good for slappin', tho'.
13:07:40 <oerjan> @slap fizzie
13:07:40 * lambdabot smashes a lamp on fizzie 's head
13:07:59 <oerjan> no, lambdabot, that's the wrong kind of slapping
13:08:35 <nortti> :P
13:08:41 <nortti> @slap nortti
13:08:41 * lambdabot locks up nortti in a Monad
13:09:22 <oerjan> a monad of no escape
13:09:48 <oerjan> @unmtl Cont ()
13:09:49 <lambdabot> Plugin `unmtl' failed with: `Cont ()' is not applied to enough arguments, giving `/\A. (A -> ()) -> ()'
13:09:57 <oerjan> @unmtl Cont () Nortti
13:09:57 <lambdabot> (Nortti -> ()) -> ()
13:10:16 <fizzie> A monad of solidity.
13:12:57 <elliott> oerjan: Isn't it cool how when you have ((Q -> Void) -> Void), you know there must be a Q in there somewhere? But you can't get at it.
13:13:02 <elliott> Excluded middle, man.
13:13:28 <oerjan> yeah
13:14:01 <oerjan> or does it really mean that
13:14:15 <elliott> Depends what you mean by mean.
13:14:54 <elliott> oerjan: (It's not quite true; cf. http://r6.ca/blog/20040616T005300Z.html.)
13:15:48 * oerjan swats elliott's final period -----###
13:16:41 * nortti blows up
13:18:21 <elliott> (The problem is that the Q term (which you must have) can depend on the (Q -> Void) argument it gets.)
13:18:36 <elliott> (So you don't have a standalone Q argument.)
13:18:50 <elliott> Er, s/argument/term/.
13:19:07 <elliott> (You have a (Q -> Void) -> Q term, though, i.e. not Q implies Q, which is exactly what you need to prove... not not Q.)
13:19:14 <oerjan> ah yes any A which is a boolean tautology but not an intuitionistic one satisfies ¬¬A but not A intuitionistically
13:19:40 <elliott> Still -- when you have ((Q -> Void) -> Void), you know you have (Q -> Void) -> Q, but you can't get at that, either.
13:19:42 <elliott> So that's a thing, too.
13:19:47 <elliott> Or -- wait, yes you can.
13:19:54 <elliott> Plug it into the former, ex falso quodlibet.
13:19:59 <elliott> OK, ignore me.
13:20:06 <elliott> But it's still cool, even though I don't know what "it" is any more.
13:20:58 <oerjan> the cool that you can understand is not the true cool
13:30:12 -!- oerjan has quit (Quit: etc. etc. etc.).
14:31:11 -!- Frooxius has joined.
14:43:39 <Arc_Koen> oerjan: yes I have. and how would it not be reversible?
14:43:39 <lambdabot> Arc_Koen: You have 1 new message. '/msg lambdabot @messages' to read it.
14:51:52 -!- hagb4rd has quit (Quit: hagb4rd).
14:52:08 <elliott> he left
14:54:09 <Arc_Koen> elliott: well that's not irreversible! he could just join again
14:55:22 -!- Jafet has quit (Quit: Leaving.).
15:29:11 -!- hagb4rd has joined.
15:33:03 -!- Jafet has joined.
15:54:24 -!- Frooxius_ has joined.
15:56:34 -!- Frooxius has quit (Ping timeout: 260 seconds).
15:56:35 -!- Frooxius_ has changed nick to Frooxius.
16:04:23 -!- Nisstyre-laptop has joined.
16:12:47 -!- elliott has quit (Remote host closed the connection).
16:53:21 -!- zzo38 has joined.
16:59:43 -!- epicmonkey has joined.
17:00:29 -!- barts_ has quit (Read error: Operation timed out).
17:02:49 -!- barts_ has joined.
17:07:07 -!- Phantom__Hoover has joined.
17:09:56 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
17:48:11 -!- Bike has joined.
18:37:15 -!- AnotherTest has left.
19:05:56 -!- Taneb has joined.
19:11:47 <zzo38> Do you like this? http://forums.nesdev.com/viewtopic.php?p=101816#p101816
19:14:57 <Sgeo> By "fixed jump" you mean you can't move around mid-jump?
19:15:04 <Sgeo> BZFlag is like that unless you have the Wings flag
19:15:33 -!- Taneb has quit (Ping timeout: 245 seconds).
19:15:58 <zzo38> No, I mean you cannot change the height.
19:23:20 <zzo38> In some games if you release the jump button you fall down but I don't like that much; I prefer if you push jump you cannot stop it unless hitting the ceiling or reached the maximum jump height.
19:23:50 -!- ais523 has joined.
19:25:44 -!- monqy has joined.
19:30:53 <Sgeo> Ah
19:31:46 <olsner> `quote lisp
19:31:57 <HackEgo> 574) <shachaf> elliott: GHC bug? Come on, it's the parentheses. <shachaf> The more parentheses you add, the closer it is to LISP, and therefore the more dynamically-typed. \ 771) <oklofok> you tell us you're making a lisp interpreter, but you don't mention its polterchrist is c++ templates? <oklofok> isn't that like telling us you're taking a bath and not mentioning you're bathing in a WORLD FULL OF SNAKES
19:32:39 <olsner> "polterchrist" :)
19:49:45 <Sgeo> :(
19:49:55 <Sgeo> I still have no idea whether I'm supposed to evacuate
19:50:28 <zzo38> Is there a fire?
19:50:37 <zzo38> If not, then I think you are not supposed to evacuate.
19:51:35 <Sgeo> zzo38, there's a hurricane heading for.. somewhere vaguely in my area, I think
19:52:30 <Phantom__Hoover> oh no
19:52:39 <Phantom__Hoover> all the sheep will be blown away :(
19:52:49 <Sgeo> lol
19:56:38 <Sgeo> It's really not a very agrarian place
19:56:48 <Sgeo> It used to be 100 years ago, but isn't now.
19:57:41 <kmc> yeah i'm gonna get hurricane'd as well
19:57:46 <kmc> i just stockpiled a bunch of water
19:58:10 <kmc> how ironic because hurricanes are made of water, am i rite
19:58:33 <kmc> zzo38: that's right, if you need to evacuate for any other reason, the authorities will come by and set your house on fire so you know
19:58:58 <kmc> http://www.getty.edu/art/gettyguide/artObjectDetails?artobj=1271
20:00:03 <olsner> Sgeo: I thought the hurricane was going for boston, but maybe there are multiple hurricanes
20:00:57 <Sgeo> olsner, I think the entire east coast is vaguely on alert
20:02:25 <Sgeo> Well, not "entire"
20:02:37 <Phantom__Hoover> olsner, hurricanes are big and also move
20:02:56 <kmc> Phantom__Hoover: that's just a theory
20:03:07 <olsner> apparently I'm about 50km from the east coast, should I be on alert too?
20:03:14 <kmc> i think hurricanes are small and stay in one place and are caused by gay marriage
20:03:15 <Bike> they're also made of clouds, are you stockpiling clouds?
20:03:18 <kmc> teach the controversy!
20:03:53 <Phantom__Hoover> olsner is in america?
20:04:50 <olsner> Phantom__Hoover: no
20:05:36 <Phantom__Hoover> i think i'm quite far from the east coast
20:05:42 <Phantom__Hoover> england is confusting
20:06:52 <kmc> in england east is on the west
20:08:18 <nortti> what?
20:08:29 <kmc> that's why they drive on the left
20:08:48 <olsner> haven't really noticed before, but in swedish storms are called unweathers
20:09:17 <nortti> strange
20:13:55 <zzo38> Do you like the other stuff I have written other than the fixed jump?
20:21:55 -!- sirdancealot7 has quit (Ping timeout: 272 seconds).
20:37:13 <Phantom__Hoover> kmc, where do you live in Americaland btw
20:38:13 <kmc> cambridge ma
20:38:43 -!- sirdancealot7 has joined.
20:39:50 <Phantom__Hoover> is there likely to be a water shortage
20:42:53 <kmc> no
20:53:00 -!- augur has quit (Ping timeout: 268 seconds).
20:59:02 -!- augur has joined.
21:05:03 <kmc> from django.utils.crypto import constant_time_compare
21:14:30 -!- TeruFSX has quit (Read error: Connection reset by peer).
21:14:58 -!- TeruFSX has joined.
21:17:45 -!- TeruFSX has quit (Remote host closed the connection).
21:18:17 -!- TeruFSX has joined.
21:25:46 <nortti> http://i1.kym-cdn.com/photos/images/original/000/317/740/011.jpg
21:27:38 -!- epicmonkey has quit (Ping timeout: 245 seconds).
21:28:29 -!- kallisti has quit (Quit: Changing server).
21:41:17 -!- kallisti has joined.
21:45:31 <kmc> heh
21:45:33 <kmc> what's the actual story
21:46:48 <zzo38> I tried to think of how to make the rules of Magic: the Gathering cards in Haskell. There would be the way to create/destroy objects given timestamps, object references, some command to used for changeable text (such as (textColor Red) and so on, in some monad), call with overridable rules, static with overridable rules, triggers, wait for user input, etc
21:47:14 <olsner> for starters that it's too unrelated arcs, other than that I think they're just made of quite sturdy wood
21:47:39 <zzo38> Actually perhaps you also need to specify with the changeable text function, what object is belongs to
21:48:20 <olsner> kmc: http://www.snopes.com/photos/architecture/nagasaki.asp
21:53:45 <kmc> the braces inside the wieliczka salt mine are mostly made of wood and are many hundreds of years old
21:54:00 <kmc> they are preserved by the super saltiness
21:55:10 -!- zzo38 has quit (Remote host closed the connection).
21:56:26 <Phantom__Hoover> olsner, they also only have to support themselves.
21:56:31 <kmc> wheeee git commit -am $'foo\n\nbar'
22:34:59 -!- copumpkin has joined.
22:46:10 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
22:46:26 -!- Phantom__Hoover has joined.
22:54:10 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
22:54:26 -!- Phantom__Hoover has joined.
23:20:32 -!- Vorpal has quit (Ping timeout: 246 seconds).
23:49:09 <kmc> the laptop i want is now available on lenovo's australia site, but not the US site
23:49:17 <kmc> of course everything is 40% more expensive on the australia site
23:50:04 <shachaf> What do you want?
23:50:13 <shachaf> The X carbon thing with i7 and 8GB RAM?
23:50:22 <kmc> yes
23:50:47 <kmc> AU$ 2,299 :X
23:50:53 <shachaf> Demand that they put it on the US website!
23:51:00 <kmc> that's almost 2400 in real dollars
23:51:34 <shachaf> Hmm? It's over 4800 reals.
23:51:42 <kmc> i knew you were going to say that
23:51:56 <kmc> why is everything 40% more expensive in .au
23:52:01 <shachaf> cerqvpgnoyrchaf
23:52:11 <kmc> it's not enough that it's way too fucking hot and all the plants and animals are trying to kill you?
23:52:23 -!- Phantom_Hoover has joined.
23:52:34 <kmc> cerqvpgwhat?
23:52:42 <kmc> crna gora?
23:52:55 <shachaf> ?
23:53:53 <olsner> kmc: which lenovo?
23:54:48 <shachaf> kmc: Do you know that if you have any polynomial with nonnegative integer coëfficients, and you give me its value at one positive integer point, I can ask for its value at one other point and tell you the polynomial?
23:55:06 <olsner> in related news, quantal's version of grub *might* be able to boot my system, how do I figure out whether it actually can without hosing my existing and working grub?
23:55:19 -!- Phantom__Hoover has quit (Ping timeout: 252 seconds).
23:56:38 <kmc> olsner: ?
23:56:54 <kmc> shachaf: hax
23:57:02 <kmc> i seem to remember hearing that but i don't know how it works
23:57:31 <shachaf> It's very simple.
23:57:36 <olsner> kmc: was wondering which model "the X carbon thing" was exactly
←2012-10-26 2012-10-27 2012-10-28→ ↑2012 ↑all