←2012-04-05 2012-04-06 2012-04-07→ ↑2012 ↑all
00:03:06 <shachaf> elliott: I got it done!
00:03:20 <olsner> I wonder if I could css transform an iframe to make thumbnails of these in a gallery
00:04:19 -!- derdon has quit (Remote host closed the connection).
00:09:39 <olsner> or did you mean one of those meatspace galleries?
00:11:01 <monqy> I want theatrical adaptations of marquee.php and marquee2.php
00:12:08 -!- david_werecat has joined.
00:13:04 <elliott> olsner: yes a meatspace gallery
00:13:06 <elliott> although a net one works too
00:13:20 <elliott> shachaf: What was it?
00:14:16 -!- david_werecat has left.
00:16:52 <shachaf> elliott: What's it to you?
00:18:19 <elliott> shachaf: It.
00:20:43 <olsner> hmm, maybe a virtual meatspace gallery then? I wonder how well webgl combines with iframes
00:20:50 <RocketJSquirrel> Argh, followed an ad link for some reason to the "shocking" "discovery" that Kevin Bacon is related to his wife. They're TENTH cousins, once removed.
00:20:55 <RocketJSquirrel> And to them, apparently, that's distressing.
00:21:01 <RocketJSquirrel> Presumably because they're fucking idiots.
00:24:05 <elliott> shachaf: What *happened* to mmorrow, man?
00:24:28 <elliott> RocketJSquirrel: TENTH COUSINS?!?!?!?!?!
00:24:34 <elliott> That's practically fuckin' yer parents.
00:25:25 <elliott> Hello! I've just realized that Haskell is no good for working with functions!
00:25:32 <pikhq> Hooray, family trees as cyclic graphs. :P
00:26:16 <ais523> elliott: what should it be able to do that it can't?
00:26:53 <elliott> ais523: nothing, that was one of my famous quoteless quotes
00:27:00 <elliott> of this nonsense: http://www.haskell.org/pipermail/haskell-cafe/2012-April/100608.html
00:29:39 <elliott> they don't appear to understand extensional equality
00:31:10 -!- augur has quit (Remote host closed the connection).
00:32:07 -!- augur has joined.
00:35:03 <elliott> @time
00:35:04 <lambdabot> Local time for elliott is Fri Apr 6 01:34:56
00:37:01 <kmc> "I guess Lisp might be of this kind, but I'm not sure. In addition, I'm not a fan of parentheses."
00:37:03 <kmc> ffffffffffffffffff
00:37:06 * kmc has a stroke and dies
00:37:39 <kmc> i'm looking to buy a battleship BUT IT CAN'T BE GREY
00:37:51 -!- augur has quit (Remote host closed the connection).
00:38:15 -!- augur has joined.
00:38:19 <elliott> kmc: also, by "battleship" I mean "yacht"
00:38:36 <elliott> I bought this battleship "Haskell" and it's all big and heavy and shit, it's really bad at battling
00:38:36 <kmc> the best kind of yacht is a decommissioned battleship
00:39:13 <kmc> they used to paint crazy stripes on battleships to confuse rangefinding
00:39:19 <kmc> http://en.wikipedia.org/wiki/Dazzle_camouflage
00:39:30 <elliott> that's fucking awesome
00:40:30 <elliott> http://upload.wikimedia.org/wikipedia/commons/c/c9/Dazzle-ships_in_Drydock_at_Liverpool.jpg awesome
00:41:48 <kmc> 'Dazzle makeup, or "CV Dazzle" (computer vision dazzle), to hamper automatic computer detection and recognition of faces, has been mooted as a response to mass surveillance'
00:42:37 <elliott> 2219
00:43:11 -!- augur has quit (Ping timeout: 276 seconds).
00:43:38 -!- parkkk has quit (Read error: Connection reset by peer).
00:45:28 <Sgeo> Of what kind?
00:45:36 <elliott> mass
00:46:28 <kmc> *
00:55:06 -!- hagb4rd2 has joined.
00:55:06 -!- hagb4rd has quit (Disconnected by services).
00:55:07 -!- hagb4rd2 has changed nick to hagb4rd.
00:55:15 <elliott> why do people try and install yi
00:55:28 <elliott> i have seen people honestly think the best way to start writing haskell is to install yi to edit it with
00:56:51 <monqy> :(
00:57:05 <Madoka-Kaname> yi is?
00:57:23 <elliott> Madoka-Kaname: an editor written in haskell
00:58:11 <kmc> which usually does not build
00:58:33 <kmc> i mean, they might have heard it's like xmonad
00:58:39 <kmc> xmonad is good software which works
00:58:39 <elliott> i built yi once... once
00:58:48 <kmc> not that using xmonad will help you start writing haskell
00:58:49 <monqy> I also built yi once once
00:59:29 -!- augur has joined.
01:03:33 <kmc> elliott, i mean a lot of haskell beginners are True Believers who want to purge their life of everything non-Haskell
01:03:58 <elliott> are you sure i mean i'm not disbelieving you necessarily but i've never got that impression from anyone
01:04:03 <elliott> maybe the xmonad adoption a bit
01:04:22 <kmc> the same people usually talk about writing an operating system in Haskell, without necessarily understanding what an OS is
01:05:07 <elliott> ok well i've never heard that :P
01:05:33 <elliott> if only there were more people who _do_ know what an OS is who wanted to write them in functional languages
01:05:34 <kmc> like the Linux kernel is 10 million lines of code evolved over 20 years but if we used haskell we could rewrite it in 5k lines in a month
01:06:14 <kmc> i think they're extrapolating from typical beginner experiments -- prime number sieve, toy lisp, etc.
01:06:15 <pikhq> Perhaps if you also replace all hardware with a Reduceron.
01:06:44 <kmc> they assume the same expressiveness ratio applies to everything
01:07:28 <kmc> to be fair, most of the 10 MLoC in Linux is support for obscure devices and platforms
01:07:42 <kmc> and legacy cruft
01:07:58 <elliott> speaking of OSes -- can I get you to implement @ for me kmc
01:08:15 <shachaf> @ isn't written in Haskell.
01:08:18 <shachaf> @ is written in @
01:08:21 <kmc> of course
01:08:23 <shachaf> @ takes 0 lines of code to write in @
01:08:28 <pikhq> No, it's written in @lang.
01:08:29 <shachaf> Because you already have @
01:08:38 <pikhq> Also Forth.
01:08:42 <elliott> It's not written in Forth!
01:09:03 <elliott> I considered using Forth as a low-level layer at one point, but I couldn't make it cohere with my requirements.
01:09:15 <shachaf> "cohere"?
01:09:23 <shachaf> You could just say "there", you know.
01:09:35 <elliott> ais523: kick shachaf
01:09:52 <ais523> elliott: that was actually funny
01:10:07 -!- augur has quit (Remote host closed the connection).
01:10:22 <elliott> doesn't matter
01:10:37 <shachaf> It may have been funny, but it was also intherent. :-(
01:10:55 <elliott> That's... not a word.
01:11:11 <elliott> shachaf: {{Block}}
01:11:56 <shachaf> What does that do?
01:12:12 <shachaf> I don't speak mediawikese.
01:12:15 <elliott> "You have been blocked from editing for violating Wikipedia policy. If you believe this block is unjustified, you may contest this block by replying here on your talk page by adding the text {{unblock|your reason here}}. You may also email the blocking administrator or any administrator from this list instead, or submit a request for unblock to the Unblock Ticket Request System."
01:16:55 -!- zzo38 has joined.
01:18:13 -!- pikhq has quit (Ping timeout: 246 seconds).
01:18:17 -!- pikhq_ has joined.
01:18:56 <zzo38> I found a Haskell package for monoid-transformer; it has Reader and State, both of which are also applicative. I know all applicative can make monoid transformer. Is there any monoid transformer which cannot make applicative?
01:20:15 <zzo38> (There is no Writer transformer, although there certainly can be; it would be just the pair of monoids)
01:22:59 <elliott> I like that package.
01:23:05 <elliott> Apart from the Henning.
01:23:21 <Sgeo> Henning?
01:23:45 -!- augur has joined.
01:24:02 <elliott> Henning Thielemann, the author, has a somewhat infamous style in which types are always named "T" and classes are always named "C", intended to be used qualified e.g. State.T, State.put, etc.
01:24:18 <elliott> Apart from being ugly, this leads to wonderful instance lists that look like:
01:24:19 <elliott> C T
01:24:19 <elliott> C T
01:24:20 <elliott> C T
01:24:20 <elliott> C T
01:24:29 <elliott> because Haddock doesn't disambiguate the names (apart from the link destinations).
01:24:46 <zzo38> Should they add commands to Haddock to deal with this?
01:24:57 <elliott> No, he should just stop doing that.
01:25:07 <elliott> It's not as if any command would be required; it can know when disambiguation is required automatically.
01:25:16 <elliott> And probably it would be an improvement. But it wouldn't make the style any less awful.
01:25:25 <zzo38> OK
01:25:28 <kmc> i think in isolation it's a fine style, but it's not what anyone else does, and the tools don't support it well
01:26:00 <kmc> it's more common in M L
01:26:02 <kmc> ML*
01:26:19 <elliott> It works in ML because ML has a module system. We have a piece of cardboard.
01:26:34 <elliott> (I also find it less distateful in ML because ".t" is a lot less ugly than ".T"...)
01:28:33 <zzo38> But all of them that they defined, are all the monoid transformer made from a applicative; so instead, can you make up a type: newtype ApMonoid f t = ApMonoid (f t); instance (Applicative f, Monoid t) -> Monoid (ApMonoid f t) where { mempty = ApMonoid $ pure mempty; mappend (ApMonoid x) (ApMonoid y) = ApMonoid $ liftA2 mappend x y; };
01:29:01 <zzo38> How do you mean, that ML has a module system and we have cardboard?
01:29:25 <elliott> ML has a powerful module system with functors (not the same as CT/Haskell functors; they're higher-order modules)
01:29:30 <elliott> Haskell's module system is... significantly less expressive
01:30:34 <elliott> These blog posts show an example of how Haskell's module system is significantly more limiting:
01:30:35 <elliott> http://augustss.blogspot.co.uk/2008/12/somewhat-failed-adventure-in-haskell.html
01:30:37 <elliott> http://augustss.blogspot.co.uk/2008/12/abstraction-continues-i-got-several.html
01:30:38 <elliott> http://augustss.blogspot.co.uk/2008/12/abstracting-on-suggested-solutions-i.html
01:30:40 <elliott> http://augustss.blogspot.co.uk/2008/12/ocaml-code-again-im-posting-slight.html
01:32:07 <kmc> yeah, Haskell's module system is much simpler
01:32:13 <kmc> but I wouldn't say it's bad
01:32:16 <ais523> admittedly, it works in ML because it's common, and so people know to make tools that understand it
01:32:19 <kmc> it's good within the scope of what it tries to do
01:32:23 <ais523> s/admittedly/arguably/
01:32:36 <kmc> in Haskell the module system is expected to carry less of the abstractive weight
01:32:50 <zzo38> One thing is that you cannot hide or override class instances in Haskell; and I would like to have those features too
01:33:14 <kmc> yeah, type classes kind of suck
01:33:28 <kmc> i think that's "type classes suck" and not "modules suck because they don't let us work around type classes sucking"
01:34:55 <ais523> <Larry Wall> We've also seen the rise of PHP, which takes the worse-is-better approach to dazzling new depths, as it were. By and large PHP seems to be making the same progression of mistakes as early Perl did, only slower.
01:35:10 <zzo38> In addition, both hide/override class instances, and a kind for modules, are ideas for my new programming language (called Ibtlfmm currently; if you don't like that name, call it HELLwaPAIN or something else). There is the @ kind which is the kind of program modules, etc. This will solve it too, I think. As well as having macros, that also helps.
01:37:31 <elliott> I must ask: Who suggested the name HELLwaPAIN?
01:37:50 <elliott> * bottle (bottle@ has joined #haskell
01:37:50 <elliott> <bottle> Consider a mass-damper-spring system. I dont get how the forces in each direction can be equal at any given moment. then how could it move? Like My''+by'+ky=F
01:38:07 <zzo38> elliott: Someone did, in #haskell channel.
01:38:24 <elliott> kmc: Consider a mass-damper-spring system. I dont get how the forces in each direction can be equal at any given moment. then how could it move? Like My''+by'+ky=F
01:38:41 <zzo38> Perhaps, we should make up a channel or wiki or repository or whatever we can put all idea of everyone and discussion, to make a complete document.
01:38:54 <kmc> what
01:39:13 <elliott> kmc: Consider a mass-damper-spring system. I dont get how the forces in each direction can be equal at any given moment. then how could it move? Like My''+by'+ky=F
01:39:15 <elliott> hth
01:48:04 <Phantom_Hoover> I thought elliott was trying to physics and I was sniggering until I read scrollback.
01:48:40 <ais523> Phantom_Hoover: and now you're laughing out loud?
01:48:50 <Phantom_Hoover> Now I'm confused.
01:49:03 <Phantom_Hoover> I'm too sleepy for differential equations (I hate differential equations).
01:50:19 <elliott> Phantom_Hoover: Consider a mass-damper-spring system. I dont get how the forces in each direction can be equal at any given moment. then how could it move? Like My''+by'+ky=F
01:52:40 <Phantom_Hoover> that
01:52:42 <Phantom_Hoover> oh god
01:52:43 <Phantom_Hoover> that's
01:52:54 <Phantom_Hoover> a second-order homogeneous differential equation
01:52:59 <Phantom_Hoover> my second least favourite kind
01:53:21 <Phantom_Hoover> *second-order homogeneous linear
01:54:01 <Phantom_Hoover> (My least favourite is second-order nonhomogeneous. I really hate those.)
01:55:52 <elliott> Phantom_Hoover: I had nonhomogeneous milk once.
01:55:59 <elliott> But it made me ill.
01:56:12 <shachaf> I think Oleg wrote a paper about that.
01:56:34 <elliott> Wait, homogenisation doesn't have anything to do with safety, that's pasteurisation.
01:56:38 <elliott> WHY IS MILK SO COMPLICATED
01:57:31 <shachaf> > fix milk
01:57:34 <lambdabot> milk (milk (milk (milk (milk (milk (milk (milk (milk (milk (milk (milk (mil...
01:59:18 <shachaf> elliott: Basically, "programming language" is another word for "syntax".
02:01:22 <elliott> shachaf: Can you explain people whose attitude to new languages is "is this better than $LANG? Let me prod it incessantly in an attempt to rpove it's not"?
02:01:37 <shachaf> elliott: kmc has a few words to say about that.
02:01:48 <zzo38> But there is some way I was think of, make up a typeclass with no instance, and it is defined in the main module of your program; that way the main module exports the implementation (which can include types) to the other module that uses it. Still that is not quite perfect
02:02:47 <elliott> shachaf: Oh god.
02:05:35 <shachaf> elliott: "why don't we"
02:05:51 <shachaf> Which means "explain to me in detail what each character of that thing does.
02:05:59 <shachaf> "
02:06:50 <zzo38> "The Person data type now has two parameters. This might be bearable, but imagine a more complicated example where Ops contains 15 types. And every time you add a field with a new type to Person you have to update every single place in the program that mentions the Person type." But can't you use a type synonym?
02:07:17 <shachaf> Why do type synonyms help?
02:07:31 <elliott> shachaf: Is ^^^^ some kind of four-eyed monstrosity?
02:07:48 <elliott> zzo38: No, because you need to keep the type parameters along
02:07:54 <elliott> Person a b c d e ... -> Person a b c d e ... -> ...
02:08:31 <zzo38> elliott: I mean like, type Person = XPerson XString XDouble;
02:08:48 <elliott> Sure, but the whole point is that you write code polymorphic in that...
02:08:52 <elliott> Which has to use type variables.
02:11:55 <zzo38> There are no zero parameter type classes in Haskell, either.
02:16:41 -!- augur has quit (Remote host closed the connection).
02:16:53 <RocketJSquirrel> <elliott> WHY IS MILK SO COMPLICATED
02:16:55 <RocketJSquirrel> Better question:
02:16:58 <RocketJSquirrel> Why is milk so disgusting?
02:17:38 <itidus20> milk inspired 100s of soy products
02:18:01 <RocketJSquirrel> Most of which are almost as disgusting as milk >_>
02:18:10 <kmc> http://teamsuperforest.org/superforest/wp-content/uploads/2010/05/Picture-3.png
02:18:16 <zzo38> class Ops x where { type XString_ x :: *; type XDouble_ x :: *; concatenate_ :: x -> XString_ x -> XString_ x -> XString_ x; xshow_ :: x -> XDouble_ x -> XString_ x; }; type XString = XString_ (); type XDouble = XDouble_ (); concatenate :: Ops () => XString -> XString -> XString; concatenate = concatenate_ (); xshow :: Ops () => XDouble -> XString; xshow = xshow_ ();
02:18:21 <elliott> RocketJSquirrel: *Why is milk so unfnarftastic?
02:18:36 <elliott> kmc: HELP
02:18:40 <kmc> grass ---cow---> milk
02:18:42 <elliott> kmc: Too much milk!!!
02:18:46 <elliott> Thank you, that's better.
02:19:02 <kmc> milk <- cow -< grass
02:19:16 <itidus20> i want some quark with 10% fat
02:19:21 <elliott> milk ---cow---> grass
02:19:25 <elliott> The forbidden reaction.
02:19:34 <elliott> Feed a cow milk and it'll poop grass.
02:19:45 <kmc> milk ←cow⤙ grass
02:19:57 <RocketJSquirrel> elliott: "unfnarftastic"
02:19:59 <RocketJSquirrel> That's a new'n.
02:22:53 <zzo38> Will the code I specified work (if you define the instance only in the main module of the program)?
02:23:35 <elliott> zzo38: Yes, but it means you cannot use more than one choice of types per program.
02:23:49 <elliott> So it significantly limits composability and reuse.
02:24:02 <zzo38> Yes I know that there is that problem.
02:25:09 <shachaf> elliott: People who say "ofc" are the devil.
02:25:12 <zzo38> If they allowed you to hide instances in Haskell, you could do it in the other way too. They should make an extension which allows you to hide instances.
02:25:47 <zzo38> And to make default instances which will have a lower priority than other instances.
02:26:57 <elliott> shachaf: ofc
02:29:01 <zzo38> I think it should be allowed in GHC to have an extension which you can define instances with priorities, and that local instances override imported instances, and that the new instance will be used in imported functions if and only if there are the constraint mentioning that instance in the type of the imported function that you are calling
02:29:18 <elliott> * #haskell Banlist: Sat Jan 21 19:19:41 gio123!*@* lindbohm.freenode.net
02:29:22 <elliott> shachaf: Why do I know the name gio123?
02:29:48 <kmc> isn't he the one who keeps looking for confluence experts
02:29:55 <zzo38> And then add zero-parameter type classes, and now you have it.
02:30:36 <elliott> kmc: That rings a bell.
02:30:40 <zzo38> How difficult would it be to implement these two things?
02:30:58 <elliott> kmc: Not a troll though, are they? I didn't realise #haskell ever actually banned unconstructive people.
02:31:20 <kmc> i don't recall what happened
02:31:27 <shachaf> elliott: gio123 got pretty rude some of the time.
02:31:51 <kmc> i think my favorite #haskell question ever was
02:31:55 <kmc> @quote ubuntu.freebsd
02:31:56 <lambdabot> NIXDAEMON-COOL says: how to uncompile make into java gcc 3.3 under ubuntu freebsd ??
02:32:02 <elliott> :D
02:32:14 <kmc> after much prodding and language barrier, this person did in fact have a haskell question
02:32:24 <elliott> that seems like a relative of "How do I patch KDE2 under FreeBSD?"
02:32:48 <kmc> yeah
02:36:06 <shachaf> Squectangles.
02:36:21 <elliott> wat
02:36:54 <shachaf> 1.21 gigawat
02:37:22 <zzo38> I have previously written about a proposal for instance disambiguation extension, but now I have a much simpler idea. * Instances defined in the current module override instances in imported modules. * Instances can have an optional priority, where higher priority instances override lower ones. * Overriding instances does not affect functions from imported modules unless the instance is mentioned in the constraint of the type signature of that function.
02:37:58 <Sgeo> "(Also, this post was an April Fools prank; the effect may or may not be real, and all citations are either irrelevant or fictional.) "
02:38:06 * Sgeo is now slightly humiliate
02:38:07 <Sgeo> d
02:39:07 <zzo38> What do you think of this much simpler and more consistent instance disambiguation proposal?
02:39:55 -!- augur has joined.
02:39:56 <zzo38> Actually, I don't know if associated types might mix this up.
02:49:28 -!- augur has quit (Remote host closed the connection).
02:54:55 -!- augur has joined.
03:05:16 -!- augur has quit (Remote host closed the connection).
03:05:37 -!- TodPunk has quit (Read error: Connection reset by peer).
03:06:13 -!- TodPunk has joined.
03:23:17 <zzo38> I have not quite reached 23rd experience level in the Dungeons&Dragons game yet.
03:26:44 -!- augur has joined.
03:27:17 <Phantom_Hoover> Most annoying thing about American culture in general: the Jew jokes.
03:27:25 <Phantom_Hoover> They're so utterly baffling if you don't already know.
03:27:36 <monqy> what's a jew jokes
03:29:05 <Phantom_Hoover> (This is a general pop culture thing which has bemused me for ages, not any particular American trip thing.)
03:30:12 <kmc> whee time to reinstall all my haskell packages with profiling
03:31:39 <elliott> kmc: Why did you install them without in the first place?
03:32:16 <kmc> because i foolishly installed some of my haskell system from debian
03:32:42 <shachaf> kmc: Debian has -prof packages.
03:32:53 <kmc> yeah
03:33:43 <elliott> $ which ghc
03:33:43 <elliott> /opt/ghc/bin/ghc
03:33:53 * kmc just disables profiling for now
03:33:58 <shachaf> shachaf@carbon:~$ which ghc
03:33:59 <shachaf> /usr/local/bin/ghc
03:34:15 <elliott> shachaf: WRONG PATH. MY PATH IS BETTER BECAUSE IT'S MY PATH
03:34:29 <shachaf> Are we talking about life here?
03:35:08 <elliott> Yes.
03:37:24 <ais523> $ which ghc
03:37:25 <ais523> /usr/bin/ghc
03:37:27 <ais523> I win!
03:37:43 <elliott> ais523: no, that's losing
03:37:49 <elliott> that's what gave kmc all the Problem
03:37:56 <elliott> i bet you don't even have 7.4!!!
03:38:08 <ais523> not like I use it very much anyway
03:38:16 <ais523> hmm, ./ghc would be the losiest
03:40:08 * Sgeo renames some sort of Esme interpreter to ghc
03:40:30 <Sgeo> Although an existing Esme interpreter would be a bit ...
03:41:45 <shachaf> ais523: GHC 7.4 lets you work miracles.
03:41:50 <shachaf> shachaf@carbon:~$ ghci
03:41:58 <shachaf> λ> data Miracle = Miracle
03:41:58 <shachaf> λ>
03:42:03 <shachaf> QED
03:46:39 <elliott> shachaf: How do you disable the startup messages?
03:47:00 <ais523> that prompt is obnoxious
03:47:06 <shachaf> elliott; Careful pasting.
03:47:16 <shachaf> I know that answer is disappointing. :-(
03:49:31 <zzo38> I think the monad/comonad that has been called phantom/cophantom and by a few other names, can actually be used with any category that has final/initial objects.
03:50:58 <Phantom_Hoover> I love how much of stats is just covering up arbitrary constants with someone's name.
03:56:52 <RocketJSquirrel> <Phantom_Hoover> Most annoying thing about American culture in general: the Jew jokes. // wut
03:57:18 <Phantom_Hoover> RocketJSquirrel, the UK doesn't really have a significant Jewish presence in its culture.
03:57:34 <RocketJSquirrel> No shit.
03:57:48 <RocketJSquirrel> "Jewish presence" != "Jew jokes"
03:57:54 <Phantom_Hoover> As such, the jokes in American media go completely over my head.
03:58:37 <RocketJSquirrel> Oy vey, don't get so verklempt.
03:59:14 * elliott can't figure out whether Phantom_Hoover is talking about jokes originating from Jewish culture or stereotypical nonsense
03:59:24 <RocketJSquirrel> Yeah, neither can I.
03:59:24 <Phantom_Hoover> Both.
03:59:42 <RocketJSquirrel> 'cuz jokes originating from Jewish culture are also known as the actually-funny jokes.
04:00:08 <elliott> BTW what does "verklempt" mean and am I allowed to use it
04:00:23 <elliott> It is the best-sounding word
04:00:28 <RocketJSquirrel> elliott: Roughly "distraught", and no, your nose is too small.
04:00:43 <RocketJSquirrel> Well, not quite distraught ... more ... verklempt ...
04:00:50 <RocketJSquirrel> Y'know, emotional.
04:01:02 <elliott> Tired and emotional?
04:01:07 <RocketJSquirrel> Definitely not tired.
04:01:10 <elliott> Whoosh.
04:01:18 <elliott> http://en.wikipedia.org/wiki/Tired_and_emotional
04:01:33 <RocketJSquirrel> Hyuk
04:01:43 <Phantom_Hoover> <RocketJSquirrel> 'cuz jokes originating from Jewish culture are also known as the actually-funny jokes.
04:01:45 <RocketJSquirrel> "Chiefly not Jewish euphemism"
04:02:05 <Phantom_Hoover> Even unfunny jokes are less baffling than things that look like jokes but make no sense to you.
04:02:15 <RocketJSquirrel> Oh shit it's midnight I've gotta go to sleep BAHEE
04:02:34 <elliott> Who the hell sleeps at midnight?????? RocketJSquirrel that's who.
04:03:28 <shachaf> Ew.
04:03:42 <shachaf> elliott: What do I do if I want to not turn out like RocketJSquirrel?
04:03:50 <elliott> Okay, first don't be a squirrel.
04:03:56 <elliott> Second, don't sleep at midnight.
04:04:12 <RocketJSquirrel> *flying squirrel
04:04:19 <Phantom_Hoover> wait does RocketJSquirrel use the same american time as m
04:04:22 <Phantom_Hoover> e
04:04:25 <elliott> @time Phantom_Hoover
04:04:26 <lambdabot> Local time for Phantom_Hoover is Fri Apr 6 04:00:51
04:04:27 <elliott> @time RocketJSquirrel
04:04:28 <lambdabot> Local time for RocketJSquirrel is Fri Apr 6 00:03:53
04:04:34 <elliott> Phantom_Hoover: YOU REALLY NEED TO FIX THAT CLAWK
04:04:36 <shachaf> @time shachaf
04:04:40 <lambdabot> Local time for shachaf is Thu Apr 5 21:04:02 2012
04:04:43 <elliott> @tachaf
04:04:43 <lambdabot> Unknown command, try @list
04:04:56 * Phantom_Hoover → sleep
04:04:57 -!- Phantom_Hoover has quit (Quit: Leaving).
04:05:04 <shachaf> elliott: HA HA!
04:05:13 <shachaf> I remember when you said that last time.
04:05:32 <elliott> Me too!
04:07:11 <shachaf> @bless
04:07:11 <lambdabot> Unknown command, try @list
04:07:14 <shachaf> @thankyou
04:07:15 <lambdabot> you are welcome
04:07:20 <shachaf> WHOA, DUDE
04:07:28 <shachaf> how did it know
04:17:36 <elliott> whoaaaaaa
04:26:52 -!- cheater__ has quit (Ping timeout: 246 seconds).
04:32:57 <elliott> kmc: What's your blog thing about global variables to avoid that unsafePerformIO bug?
04:33:24 <kmc> what about it
04:33:30 <kmc> you want link?
04:33:34 <elliott> Yar
04:33:40 <elliott> Googling is like, 10x more work than asking you
04:33:47 <kmc> http://mainisusuallyafunction.blogspot.com/2011/11/global-locking-through-stableptr.html
04:34:08 <shachaf> copumpkin: That reminds me, you owe me some dola.
04:34:24 <elliott> kmc: Thanks.
04:34:37 <elliott> kmc: Just tortured innocent #haskell member with it after they asked about unsafePerformIO'd IORefs.
04:34:40 <elliott> God's work.
04:35:07 <shachaf> God Swork.
04:35:32 <kmc> lals
04:35:39 <kmc> 'swounds
04:35:44 <kmc> 'sblood
04:36:38 <kmc> elliott, you tortured them by telling them how to work around a nasty compiler bug?
04:38:20 <elliott> kmc: yes
04:38:44 <elliott> kmc: they went from "I have to be careful with unsafePerformIO" to "I have to write unportable C code and use the FFI _and_ be careful wit unsafePerformIO"
04:38:45 <elliott> *with
04:39:12 <kmc> haha
04:39:19 <kmc> it's really a shocking bug
04:39:24 <kmc> given how common the unsafePerformIO global trick is
04:41:44 <elliott> I should sleep soon. I'll need it tomorrow.
04:42:01 <kmc> oh?
04:43:04 <elliott> kmc: A certain... esoteric matter relating to the timely evaporation of blockades.
04:43:35 -!- cheater__ has joined.
04:43:35 <kmc> watch out for your chi enerchy
04:43:39 * kmc has no idea what elliott is talking about
04:44:17 <shachaf> Is that about those books?
04:45:43 <elliott> What books?
04:48:52 <zzo38> I have not used unsafePerformIO global trick; I have many alternative ways
04:50:50 <zzo38> One thing I have is the Data.Extensible.Product module and that could be used to store global settings by using (StateT IO)
04:51:20 <shachaf> zzo38: You can also store global settings by using (StateT ... IO) any other way.
04:52:02 <zzo38> shachaf: Yes you can do so. However, if you have a bunch of different module with different global variables, it would be difficult to put them all together
04:53:14 <zzo38> If you want to be able to load/save the global states in files as well, then you can combine it with Data.Extensible.List as well.
04:56:31 -!- azaq23 has quit (Quit: Leaving.).
04:59:42 -!- oklopol has quit (Read error: Connection reset by peer).
04:59:52 -!- oklopol has joined.
05:04:35 <zzo38> Actually there are other uses for the Data.Extensible.... stuff too
05:07:06 <zzo38> I changed the traverseBox in Graphics.DVI to use both Applicative and Monad, because I also changed the other thing so that after it accesses the contents of boxes and other nodes that can contain other nodes, the box itself (after it has been modified) is accessed too.
05:09:22 -!- elliott has quit (Ping timeout: 245 seconds).
05:09:28 <zzo38> Why is the unsafePerformIO global trick used that often? Can't some optimization and other stuff capable of mixing it up?
05:15:27 <zzo38> Also, do you know any example of a monoid transformer which is not applicative?
05:28:25 -!- MDude has changed nick to MSleep.
05:42:29 -!- augur has quit (Remote host closed the connection).
05:46:49 -!- augur has joined.
05:50:29 -!- augur has quit (Remote host closed the connection).
05:50:54 -!- augur has joined.
05:51:27 -!- augur has quit (Read error: Connection reset by peer).
05:51:35 -!- augur has joined.
06:15:33 -!- cheater__ has quit (Ping timeout: 246 seconds).
06:17:47 -!- cheater__ has joined.
06:21:50 -!- asiekierka has joined.
07:12:26 -!- monqy has quit (Quit: hello).
07:30:46 <shachaf> 00:11 -!- monqy [~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net] has quit [Quit: hello]
07:30:51 <shachaf> Ah, monqy.
07:30:55 <shachaf> monqy: hi
07:39:14 <shachaf> hi monqy
08:04:11 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
08:58:29 <shachaf> zzo38: Is dvi-processing better than HPDF?
08:59:42 <zzo38> shachaf: In some ways, probably it is. But in other way, dvi-processing is not complete and lacks some things; later version might improve that.
09:00:39 <shachaf> Hmm.
09:00:47 <shachaf> The main things I don't like about HPDF are:
09:01:02 <shachaf> All the overly complicated and stupid PDF stuff.
09:01:07 <shachaf> The inability to use any TFM font.
09:01:22 <shachaf> The inability to both read and write DVI files (HPDF writes only).
09:01:54 <zzo38> shachaf: OK.
09:02:43 <zzo38> Other things some people might not like about HPDF is the monadic interface; a declarative interface might be preferred. (Even the author of HPDF complained about this, actually)
09:03:01 <shachaf> Oh, and the monadic interface.
09:03:08 <shachaf> I would prefer a declarative interface.
09:06:28 <zzo38> Actually, the traverseBox function in dvi-processing is monadic but that is all. (I have only used it with the writer monad, but you can use it with other monads too, if you have a use for it)
09:07:03 <shachaf> Can I use it with all monads at once?
09:09:08 <zzo38> shachaf: I suppose so, in case of polymorphic functions that use it.
09:18:17 -!- monqy has joined.
09:39:44 -!- Vorpal has joined.
10:11:49 -!- oerjan has joined.
10:42:16 <oerjan> <olsner> http://olsner.se/marquee.php <-- apparently marquee can crash IE 8. who knew.
10:43:17 <ais523> poor oerjan and his browser
10:43:28 <oerjan> well "crash", i had to kill the process, which seems to cause it to reload everything in a weird state
10:45:16 <olsner> oerjan: that page might also involve an infinite iframe recursion
10:45:18 <oerjan> it happened once before, it _looks_ like it makes tabs be distinct processes or something, which they usually aren't.
10:45:48 <ais523> oerjan: I crashed ie4 with an infinite frameset recursion once
10:45:56 <ais523> well, more than once
10:46:15 <oerjan> olsner: yes it started rolling and then halted, waiting indefinitely for everything to load, i stopped it at =hundredsomething but the cpu was still pegging
10:46:30 <olsner> ah, yes, <marquee><iframe src="marquee.php?s=1" height="100%"/></marquee>, the php script adds one to s for each frame
10:46:50 <olsner> to avoid simplistic iframe recursion checks :)
10:47:26 <ais523> olsner: why?
10:47:55 <olsner> ais523: some browsers immediately abort if they see an iframe with the same url as an outer page
10:47:57 <ais523> the page is kind-of boring in my firefox, btw
10:48:01 <ais523> olsner: not that
10:48:08 <ais523> I mean, why were you trying to nest infinitely many iframes?
10:48:11 <ais523> inside marquees?
10:48:28 <olsner> why would I not?
10:48:55 <ais523> because I can't figure out what you'd be hoping to accomplish
10:48:59 <ais523> other than, apparently, crashing IE
10:49:50 <oerjan> olsner: do the other examples do infinite recursion?
10:50:16 -!- MoALTz has quit (Read error: Connection reset by peer).
10:50:43 <oerjan> olsner:
10:50:44 <oerjan> olsner:
10:50:44 <olsner> oerjan: yes, all except marquee2
10:50:45 <oerjan> olsner:
10:50:45 <kmc> about:<script>while(1){window.open(document.src);}</script>
10:50:51 -!- MoALTz has joined.
10:51:03 <oerjan> ok i'll risk trying marquee2 then
10:51:23 -!- ais523 has changed nick to about.
10:52:59 <oerjan> that got nauseating around =4 or so :P
10:55:56 * about waits to see how often they get mispinged
10:55:59 <about> once so far :)
10:57:27 <olsner> oerjan: try 100, that's a better demonstration I think
10:58:01 <oerjan> olsner: erm i fear that will just crash it again - it wasn't precisely _zippy_ at 5 either...
10:58:28 <olsner> how can they have trouble with marquees? :(
10:59:36 <about> what would be great would be a webpage that crashes every commonly used browser
10:59:43 <about> probably with a different exploit for each
10:59:52 <about> wouldn't work for long, though
11:00:09 <oerjan> whew i tried =20 and i managed to close the tab normally - barely
11:00:50 <about> OK, two mispings
11:00:53 <about> both from the same person :)
11:01:04 <oerjan> what are these mispings you are talking about.
11:01:12 <oerjan> ...
11:01:29 * oerjan actually wasn't thinking when he wrote that.
11:02:39 -!- zzo38 has quit (Remote host closed the connection).
11:02:40 <about> oh, you mean it was accidental? from you, I'd have assumed it was deliberate every time
11:02:54 <oerjan> well it's about time
11:04:08 <olsner> hmm, interesting, nested marquees also cause opera to use a bit of cpu time... and the cpu usage depends on the number of *visible* marquees
11:04:30 <oerjan> exercise: formulate all your sentences so the about is a part of them.
11:04:52 <about> I don't know about that
11:05:07 <oerjan> _the_ about
11:05:21 * about what are you referring?
11:05:33 <oerjan> yes.
11:05:36 <about> meh, that's really twisted grammar
11:05:37 <about> and obviously so
11:06:15 -!- oerjan has changed nick to the.
11:06:28 * the government is watching you!
11:06:32 -!- the has changed nick to oerjan.
11:06:32 <about> nick-protected, I already checked with nickserv :)
11:07:02 <oerjan> i didn't get a protection warning...
11:07:56 <about> hmm
11:07:59 <about> did nickserv lie to me?
11:08:03 <about> or did it just go somewhere else?
11:08:21 <about> heh, "an" is Vorpal
11:08:39 <about> and it even fits, being his initials
11:09:44 <oerjan> i just meant i got no warning when /nick the
11:10:03 <about> I know
11:10:05 <oerjan> except it was obviously registered
11:12:35 -!- Cainogenos has joined.
11:13:05 <Cainogenos> Hello
11:13:54 <about> hi
11:14:04 <Cainogenos> Hello about, how are you doing today?
11:14:11 <about> have we put our welcome message back from the april fools' one yet?
11:14:17 <about> `welcome about
11:14:26 <HackEgo> about: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
11:14:31 <about> yes we have, good
11:14:34 <about> `welcome Cainogenos
11:14:38 <HackEgo> Cainogenos: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
11:14:48 -!- Cainogenos has left.
11:15:09 <about> that was weird
11:15:11 <about> how about that?
11:16:20 * oerjan wonders how many people are looking for the other #esoteric, but are scared away by our welcome message before we can point them on
11:17:06 <about> about half?
11:17:34 <oerjan> good prior that
11:21:31 <olsner> nice, it just started snowing, quite a lot too
11:22:21 <oerjan> the snow here is taking a nap on the ground
11:31:13 -!- Phantom_Hoover has joined.
11:34:04 -!- monqy has quit (Quit: hello).
11:39:38 -!- asiekierka has quit (Remote host closed the connection).
12:15:46 <ion> http://i.imgur.com/k1RB5.jpg
12:17:30 -!- derdon has joined.
12:21:43 <Phantom_Hoover> Vintage jokes are best jokes.
12:29:55 <oerjan> <shachaf> λ> data Miracle = Miracle
12:30:10 <oerjan> i'dathought newtype Miracle = Miracle Miracle, more like
12:30:37 -!- azaq23 has joined.
12:32:19 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
12:38:37 -!- asiekierka has joined.
12:43:45 <oerjan> 04:04:26: <lambdabot> Local time for Phantom_Hoover is Fri Apr 6 04:00:51
12:43:45 <oerjan> 04:04:27: <elliott> @time RocketJSquirrel
12:43:45 <oerjan> 04:04:28: <lambdabot> Local time for RocketJSquirrel is Fri Apr 6 00:03:53
12:43:45 <oerjan> 04:04:34: <elliott> Phantom_Hoover: YOU REALLY NEED TO FIX THAT CLAWK
12:43:45 <oerjan> 04:04:36: <shachaf> @time shachaf
12:43:47 <oerjan> 04:04:40: <lambdabot> Local time for shachaf is Thu Apr 5 21:04:02 2012
12:44:28 <oerjan> i have a hunch time server use is not as widespread as i'd hoped.
12:45:14 <oerjan> @time
12:45:18 <lambdabot> Local time for oerjan is Fri Apr 6 14:44:40 2012
12:45:25 <olsner> @time
12:45:26 <lambdabot> Local time for olsner is Fri Apr 6 14:44:50
12:45:43 <olsner> my clock is correct, according to my clock anyway
12:47:52 <oerjan> oh hm
12:48:16 <oerjan> on further investigation, it's the codu logs which are off; the rest are reasonably synchronized with each other.
12:48:42 <oerjan> RocketJSquirrel: ^
12:49:05 <oerjan> um wait no
12:49:24 <oerjan> phantom_hoover is also off, but by precisely one minute :P
12:49:32 <oerjan> er
12:49:38 <olsner> three minutes?
12:49:47 <oerjan> right
13:10:25 -!- about has changed nick to ais523.
13:10:28 <ais523> OK, too many mispings
13:12:22 <oerjan> no one can bear being misped all the time
13:30:41 <oerjan> hm the nearby burger king i've never tried is supposedly open today
13:31:48 * oerjan hasn't been outside the house since tuesday because of fever and then easter closure
13:32:28 <oerjan> *since monday
13:33:19 -!- augur has quit (Remote host closed the connection).
13:38:53 -!- Taneb has joined.
13:40:34 -!- Taneb has quit (Read error: Connection reset by peer).
13:41:51 -!- Taneb has joined.
13:43:36 <Taneb> Hello!
13:46:48 <ais523> hi
13:47:36 <Taneb> Do you know where the Magma Hideout in Pokemon Emerald is?
13:48:16 <ais523> if aqua and magma have separate hideouts, no
13:48:21 <ais523> they're in the same place in ruby and sapphire
13:48:31 <ais523> and I know those, but not emerald
13:48:47 <ais523> I can look it up easily enough if you're desperate to know
13:49:25 <ais523> Jagged Pass
13:49:48 <ais523> it requires the Magma Emblem in your inventory
13:50:08 <Taneb> Thank you
13:50:14 <ais523> if you have acro bike, you can reach it going up from lavaridge; otherwise, you can reach it going down from Mt. Chimney
13:51:36 <Taneb> Got it
13:55:05 -!- Taneb has quit (Read error: Connection reset by peer).
13:55:28 -!- Taneb has joined.
14:00:52 -!- Frooxius has quit (Ping timeout: 244 seconds).
14:02:42 -!- Ngevd has joined.
14:03:20 <ais523> Taneb: Ngevd: oh, the Master Ball's in there, probably you shouldn't leave until you find it
14:03:33 -!- Taneb has quit (Ping timeout: 248 seconds).
14:03:39 <ais523> wait, no it isn't, that's in Ruby
14:03:41 <ais523> not Emerald
14:04:07 <Ngevd> Thanks!
14:04:07 <Ngevd> :)
14:04:24 <ais523> so yes, no master ball there for you, it must be somewhere else
14:04:55 <ais523> ah, aqua hideout in emerald :)
14:06:24 <ais523> Ngevd: ^
14:06:30 <Ngevd> I did see
14:06:45 <ais523> just making sure
14:06:49 -!- MSleep has changed nick to MDude.
14:08:03 -!- ais523 has quit (Read error: Connection reset by peer).
14:08:03 -!- Ngevd has quit (Read error: Connection reset by peer).
14:08:21 -!- Taneb has joined.
14:17:39 -!- oerjan has quit (Quit: leaving).
14:18:40 -!- cheater_ has joined.
14:19:01 -!- cheater__ has quit (Ping timeout: 248 seconds).
14:38:25 -!- derdon has quit (Remote host closed the connection).
14:41:33 -!- Taneb has quit (Quit: Goodbye).
14:45:04 -!- Taneb has joined.
14:45:29 <Taneb> Hello
14:46:17 <itidus20> Welcome to Esolang Town.
14:49:35 <Taneb> Hmm...
14:49:42 <Taneb> ...nah
14:49:46 <Taneb> Nevermind
14:50:08 <itidus20> it was just a joke since you have been playing pokemon lately
14:50:33 <itidus20> and i havent played pokemon since the blue one came out so i can't do any proper joke
15:03:28 -!- Taneb has quit (Read error: Connection reset by peer).
15:05:44 -!- pikhq has joined.
15:06:16 -!- pikhq_ has quit (Ping timeout: 272 seconds).
15:06:32 -!- hagb4rd has quit (Quit: hagb4rd).
15:26:36 -!- elliott has joined.
15:26:41 <elliott> Hey shachaf.
15:43:25 -!- MoALTz_ has joined.
15:45:38 -!- MoALTz has quit (Ping timeout: 246 seconds).
15:45:52 -!- MoALTz_ has quit (Read error: Connection reset by peer).
15:46:49 -!- MoALTz_ has joined.
15:47:19 -!- Taneb has joined.
15:50:08 -!- Ngevd has joined.
15:50:46 -!- Taneb has quit (Read error: Connection reset by peer).
15:52:44 -!- Ngevd has changed nick to Taneb.
16:03:22 -!- Taneb has quit (Ping timeout: 245 seconds).
16:04:53 -!- Taneb has joined.
16:09:09 <elliott> Taneb: Hi! welcome to murder!
16:09:28 <Taneb> elliott: Hello!
16:10:10 <elliott> Taneb: Hi!
16:10:17 <elliott> How long is it until 1 am?
16:10:48 <Taneb> elliott, just under 8 hours
16:12:33 <elliott> Taneb: :(
16:13:37 <elliott> Taneb: Can you slow time down?
16:13:51 <Taneb> Only for myself
16:14:20 <elliott> Darn.
16:14:46 <elliott> Taneb: Can you at least make people I don't like stop posting on reddit?
16:15:06 <Taneb> elliott, for that I think you need Phantom_Hoover
16:16:10 <elliott> *sigh*
16:18:08 <elliott> Holy crap the new Google Groups interface is bad.
16:19:13 -!- Taneb has quit (Ping timeout: 245 seconds).
16:19:46 <elliott> RocketJSquirrel: Yoooo implement my language for me
16:28:41 <elliott> 10:45:18: <oerjan> it happened once before, it _looks_ like it makes tabs be distinct processes or something, which they usually aren't.
16:28:44 <elliott> @tell oerjan that's a feature
16:28:44 <lambdabot> Consider it noted.
16:30:20 <elliott> 11:16:20: * oerjan wonders how many people are looking for the other #esoteric, but are scared away by our welcome message before we can point them on
16:30:35 <elliott> @tell oerjan also i'm just going to reply in the logs from now on because @tell is too much typing
16:30:35 <lambdabot> Consider it noted.
16:30:50 <elliott> oerjan: lots i figure, but i don't feel the need to cater to anybody so impatient by putting it in the same message
16:31:14 <elliott> they already get one strike against them for thinking a one-# channel on freenode would be about it; parting immediately is strikes 2 & 3
16:41:55 <RocketJSquirrel> elliott: OK, but I'll only implement it in JavaScript.
16:42:03 <elliott> RocketJSquirrel: But...
16:42:11 <elliott> RocketJSquirrel: It IS JavaScript!
16:42:16 <Sgeo> Bleh at candyfab.org being down
16:42:29 <elliott> If JavaScript was a statically-typed, functional systems programming language.
16:42:33 <Sgeo> Metacircular interpreter?
16:42:37 * RocketJSquirrel nods sagely.
16:42:48 <RocketJSquirrel> elliott: OK, I'll implement a compiler for it in JS.
16:42:54 <Sgeo> I have no idea what one actually looks like, but know of it due to knowing a little about SICP
16:43:07 <RocketJSquirrel> elliott: People will definitely appreciate opening their web browser to compile your code (no, it won't work in Node.js)
16:43:37 <elliott> RocketJSquirrel: What will it compile down to?
16:43:45 <RocketJSquirrel> Also JavaScript.
16:44:10 <elliott> RocketJSquirrel: That's not funny. You should have said, e.g. "SPARC asm".
16:44:28 <elliott> "68k code for the Macintosh"
16:44:45 <RocketJSquirrel> m68k code for A/UX.
16:45:12 <elliott> Yes.
16:45:17 <elliott> m68k code for OS X.
16:45:20 <Sgeo> Univac
16:45:30 <elliott> It only works inside the Basilisk emulator.
16:45:35 <elliott> And only if it's running on an OS X host.
16:46:19 * Sgeo goes to look for a UNIVAC emulator
16:46:38 <shachaf> elliott
16:47:30 <elliott> shachaf: The person who asked the first SO question I ever answered wrote a Haskell tutorial!
16:47:42 <elliott> I guess me answering someone's question makes them go from beginner to expert in three months.
16:47:44 <shachaf> Uh-oh.
16:47:46 <elliott> No wait, four.
16:48:02 <Sgeo> Linky to SO question?
16:48:13 <elliott> http://stackoverflow.com/questions/8502201/remove-file-if-it-exists-in-haskell --> http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/
16:48:21 <elliott> Learn Haskell Fast and Hard
16:48:21 <elliott> Blow your mind with Haskell
16:49:03 <itidus20> The cookies contain marzipan. Paradise ruined.
16:49:11 <elliott> "Mainstream languages share the same foundations:
16:49:11 <elliott> variables
16:49:11 <elliott> loops
16:49:11 <elliott> pointers1
16:49:11 <elliott> data structures, objects and classes (for most)"
16:49:12 <elliott> 1. Even if most recent languages try to hide them, they are present.↩
16:49:34 <elliott> shachaf: hi whats sharing
16:49:41 <shachaf> elliott: HLEP whats pointer
16:49:52 <elliott> [[
16:49:53 <elliott> Hard Difficulty Part:
16:49:53 <elliott> Functional style; an example from imperative to functional style
16:49:53 <elliott> Types; types and a standard binary tree example
16:49:53 <elliott> Infinite Structure; manipulate an infinite binary tree!
16:49:53 <elliott> Hell Difficulty Part:
16:49:55 <elliott> Deal with IO; A very minimal example
16:49:57 <elliott> ]]
16:50:00 <shachaf> elliott: pointign is rdue.
16:50:09 <elliott> Did you know that basic IO in Haskell is HELL DIFFICULTY?
16:50:22 <Sgeo> Um, wouldn't it be more accurate to say "Mainstream languages are usually abstract enough to hide things such as underlying GOTOs. Haskell has abstractions such that..."
16:50:31 <Sgeo> Hmm, not sure how to continue that
16:50:40 <shachaf> Sgeo: Haskell don't hide the gotos, man!
16:51:05 -!- Taneb has joined.
16:51:14 <itidus20> I don't like the way that i'm insulting an actual person's name by saying: H*ell
16:51:20 <Taneb> Hello
16:52:27 <elliott> This tutorial is unfortunately lacking in the kind of gross errors I like to see.
16:52:29 <elliott> It's just boring.
16:52:43 <elliott> "Integer have no limit except the capacity of your machine:" OR DOES THEY??????
16:53:07 <Sgeo> There is a limit though ...
16:53:11 <RocketJSquirrel> Integers have no limit beyond the capacity of your IMAGINATION
16:53:35 <elliott> Oh, wait, I thought that said "Int".
16:53:43 <elliott> Sgeo: No, Integer has no limit.
16:53:45 <Sgeo> elliott, *clap* *clap* *clap*
16:53:57 <Sgeo> elliott, doesn't Integer on GHC use Int# internally?
16:54:06 <elliott> I am talking about Haskell.
16:54:07 <Sgeo> For ... something to do with whatchamacallit
16:54:15 <shachaf> Sgeo: Only for small numbers?
16:54:17 <elliott> If gcc has a bug, it does not matter one bit about C.
16:54:17 <shachaf> @src Integer
16:54:18 <lambdabot> data Integer = S# Int#
16:54:18 <lambdabot> | J# Int# ByteArray#
16:54:21 <shachaf> elliott: We got the point, though.
16:54:27 <elliott> shachaf: It stores the number of limbs as an Int#.
16:54:35 <elliott> Well, technically gmp does.
16:54:39 <elliott> But that means GHC does too.
16:54:44 <shachaf> I mean S#
16:54:57 <shachaf> elliott: The point is: PEOPLE ARE ALL STUPID
16:55:33 <itidus20> thanks to the wonders of networking you never truely know how big the capacity of your distributed machine might be
16:55:42 <elliott> "Note we can declare function with ' in their name. Here:
16:55:42 <elliott> square ⇔ square' ⇔ square'' ⇔ square '''"
16:55:52 <shachaf> "hi. my name is elliott, and ur stupid lol" -- elliott "u r dum" elliott
16:55:57 <elliott> Those strings are *clearly* nonequal!!!!!!!
16:56:01 <elliott> Also one of them has a SPACE!!!!
16:56:02 <elliott> shachaf: True.
16:56:11 <elliott> "Note: the if .. then .. else Haskell notation is more like the ¤?¤:¤ C operator. You cannot forget the else."
16:56:17 <elliott> Not true! I have almost assuredly forgotten the else before.
16:56:28 <elliott> "The hard part could now begins." Oooooooooooooooooooooh!
16:56:59 <itidus20> there could be a node on your distributed processing network which was added by a time traveller which has more capacity than all of the rest of the internet
16:57:14 <elliott> "Recursion is generally perceived as slow in imperative language. But it is generally not the case in functional programming. Most of the time Haskell will handle recursive function efficiently." -- followed by a tail-recursive loop _without_ a strictness annotation that will blow the stack, foldl-style.
16:57:23 <itidus20> technically speaking
16:57:34 <elliott> Also
16:57:34 <elliott> if l == []
16:57:34 <elliott> then n
16:57:34 <elliott> else let x = head l
16:57:34 <elliott> xs = tail l
16:57:45 <Sgeo> Wait what
16:57:48 <elliott> (Okay, at least they rewrite it with pattern-matching afterwards. But it's still abominable.)
16:57:55 <elliott> Sgeo: What?
16:58:00 <Sgeo> elliott, no in for that let
16:58:14 <elliott> It's an excerpt.
16:58:19 <olsner> Sgeo: do you really want to know?
16:58:21 <Sgeo> Ah, ok
16:58:21 <shachaf> elliott: "See this red button right there? Instead of pressing it, you could press this much nicer-looking green button!"
16:59:08 <itidus20> the green button is a political tool
16:59:26 <Sgeo> I, for one, plan on taking over the world with pattern-matching
16:59:34 <elliott> "Instead of saying: foo l = if l == [] then <x> else <y> You simply state:
16:59:34 <elliott> foo [] = <x>
16:59:34 <elliott> foo l = <y>"
16:59:40 <elliott> NOT IF <x> CONTAINS l
16:59:55 <elliott> "In Haskell you can simplify function definition by curry them. For example, instead of writing:
16:59:55 <elliott> f x = (some expresion) x
16:59:55 <elliott> you can simply write
16:59:55 <elliott> f = some expression"
17:00:02 <itidus20> finally the humans still do 8 hour workdays regardless of which button you push
17:00:26 <itidus20> but the longer you hold off pushing the green button, the more the humans can adapt to their 8 hour days
17:00:33 <elliott> "But as Haskell is lazy, it doesn’t evaluate (f z x) and push this to the stack. This is why we generally use foldl' instead of foldl; foldl' is a strict version of foldl. If you don’t understand what lazy and strict means, don’t worry, just follow the code as if foldl and foldl' where identical."
17:00:35 <elliott> Real helpful.
17:00:36 <shachaf> elliott: I was happier before you made me less happierful. :-(
17:00:47 <shachaf> tHANKS, eLLIOTT
17:00:52 <elliott> I like how he introduces foldl before foldr.
17:01:06 <itidus20> technological advancement is really an arms race against human relaxation
17:01:14 <shachaf> elliott: foldr isn't tail recursive!
17:01:18 <elliott> tl;dr:
17:01:18 <elliott> type Name = AnotherType is just an alias and the compiler doesn’t do any difference between Name and AnotherType.
17:01:18 <elliott> data Name = NameConstructor AnotherType make a difference.
17:01:18 <elliott> data can construct structures which can be recursives.
17:01:18 <elliott> deriving is magic and create functions for you.
17:01:20 <shachaf> You gotta have tail recursion, man.
17:01:26 <elliott> I love to make a difference.
17:01:50 -!- Nisstyre has quit (Quit: Leaving).
17:02:02 <shachaf> Note to self: Never write anything that elliott can read.
17:02:05 <shachaf> Ever.
17:02:08 <elliott> [[Generally, in Haskell:
17:02:08 <elliott> “if it compiles it certainly does what you intended”]]
17:02:13 <shachaf> elliott: Did you read that one story?
17:02:20 <elliott> This is the best way to identify people who have never actually written a Haskell program that I know of.
17:02:22 <elliott> shachaf: Which one?
17:03:18 <shachaf> http://www.andersen.sdu.dk/vaerk/hersholt/Something_e.html
17:03:26 <shachaf> THAT'S RIGHT
17:03:34 <elliott> Oooh, and then he gives a Show instance for his binary tree type that doesn't produce syntactically-valid Haskell!
17:03:51 -!- Taneb has quit (Read error: Connection reset by peer).
17:03:54 <shachaf> elliott: To be fair, you don't need to produce syntactically-valid Haskell.
17:03:55 <elliott> shachaf: tl;dr u mad
17:04:00 <elliott> Yes you do!
17:04:01 -!- Ngevd has joined.
17:04:03 <shachaf> I often don't.
17:04:03 <elliott> Otherwise the precedence stuff breaks.
17:04:05 <elliott> Also it's awful.
17:04:10 <elliott> And if you don't do it I hate you.
17:04:23 -!- Ngevd has changed nick to Taneb.
17:04:42 <elliott> "In fact, if you are a bit pedantic, you should state that Haskell is non-strict. Laziness is just a common implementation for non-strict languages."
17:04:46 <elliott> Hey, don't start being accurate now..
17:04:47 <elliott> *.
17:05:12 <shachaf> elliott: I got into this great argument in another channel the other day.
17:05:23 <elliott> Go on.
17:05:29 <shachaf> Someone was asking: "Are Python generators a form of lazy evaluation?"
17:05:45 <shachaf> I said that not really, etc., and talked about why and so on.
17:06:01 <shachaf> After a while, I realized that no one had ever said what "lazy evaluation" actually meant!
17:06:13 <shachaf> We were just arguing about words! It was a complete waste of time!
17:06:16 <shachaf> Isn't that great?
17:06:30 <shachaf> I should've caught it sooner, but even so.
17:06:51 <elliott> I bet that channel sucks.
17:07:00 <elliott> The best word arguments are in #haskell.
17:07:13 <shachaf> elliott: Hey, now, #haskell is full of arguments about words.
17:07:15 <itidus20> shachaf: I love arguments that revolve around the term exist being undefined. (not really)
17:07:33 <shachaf> itidus20: The great part is that there are so many of these that you don't even notice.
17:07:47 <shachaf> Because *you* have a clear definition for the term, after all.
17:07:52 <elliott> shachaf: Exactly.
17:07:56 <elliott> They're the best word arguments.
17:08:38 <shachaf> I should start being like conal.
17:08:44 <shachaf> "What does it mean?"
17:09:02 <shachaf> Maybe that's being like Feynman.
17:09:33 <elliott> I think it'd be pretty depressing to hold the view that all arguments are either disagreements about definitions or irreconcilable value systems.
17:09:35 <elliott> It might be accurate, though.
17:09:38 <itidus20> Bill Clinton really did it the best
17:11:57 <elliott> shachaf: Were you there for that argument about whether IO is pure or not in #haskell?
17:12:01 <elliott> That was *such fun*.
17:12:27 <elliott> It was marginally better than most arguments about that because roconnor came up with a definition of purity.
17:12:40 <shachaf> elliott: I once heard that there's a philosophical tradition in India where people say something along the lines of: "These are the axioms *I* believe in. What axioms do *you* believe in? OK, let's take the intersection of those and just use them, for the purpose of this argument."
17:12:50 <shachaf> That sounds way too reasonable to actually be true, though.
17:12:59 <itidus20> shachaf: well if you look into india..
17:13:15 <itidus20> they had it all sorted
17:13:45 <elliott> I don't believe the intersection of two axiomatic systems is going to produce anything useful unless they have a close common ancestor.
17:13:45 -!- quintopia has quit (Remote host closed the connection).
17:13:58 -!- quintopia has joined.
17:14:46 <itidus20> modern indians are such a strong stereotype that people are blinded to the truth of ancient india
17:14:54 <itidus20> i know you're not etc
17:15:04 <itidus20> but i was etc
17:15:16 <shachaf> elliott: I think most pairs of humans share some number of axioms.
17:15:30 <shachaf> elliott: Certainly you'll agree that arguing about results derived from unshared axioms is pretty useless?
17:16:07 <olsner> I think most humans have no clue about what their axioms are
17:16:32 -!- Taneb has quit (Read error: Connection reset by peer).
17:16:52 -!- Taneb has joined.
17:17:02 <itidus20> it is said that some indian guy had some kind of proto-calculus about 1000 years ago
17:17:11 <itidus20> some wiki reference i forget
17:17:14 <elliott> shachaf: Apart from what olsner said, I'm not sure that's actually meaningful, since people argue about axioms all the time.
17:17:45 <elliott> You could say that's inherently pointless, but it seems silly to declare Falso vs. ZFC an inherent draw.
17:17:57 <shachaf> Sure -- but it's a very different sort of argument.
17:17:59 <elliott> (Okay, those two might be equivalent.)
17:18:13 <elliott> (Substitute a less powerful theory than ZFC.)
17:18:26 <itidus20> also.. humans will inevitably evolve into something more complex
17:18:30 -!- MoALTz_ has quit (Quit: brb).
17:18:32 <itidus20> or die out
17:18:46 <shachaf> And if you can't agree on the axioms, then arguing arguing about distant results might well be even less useless.
17:18:50 -!- MoALTz has joined.
17:20:07 <elliott> Even less useless indeed.
17:20:31 <shachaf> Sorry. I meant EVEN LESSER USEFULLESSEREASTER
17:20:45 <shachaf> Isn't that coming up?
17:21:51 -!- Taneb has quit (Quit: bbl).
17:23:13 <elliott> shachaf: Why is Haskell kinda crappy?
17:24:56 <elliott> 03:16:44 <dobblego> zipWith ($) = (<*>) + juggling
17:24:57 <elliott> dobblego is *wrong* in this log. :(
17:24:59 <shachaf> elliott: Because there aren't enough MONAD TUTORIALS
17:25:15 <shachaf> @ty juggling
17:25:16 <lambdabot> Not in scope: `juggling'
17:25:21 <shachaf> wow, that dibble
17:25:26 <shachaf> go
17:27:31 <elliott> You're really boring.
17:31:08 -!- Nisstyre has joined.
17:45:06 <elliott> RocketJSquirrel: Why is resource management hard? :(
17:45:21 <RocketJSquirrel> elliott: Cannot answer question. Heap depleted.
17:45:56 <elliott> RocketJSquirrel: Your brain doesn't overcommit?
17:46:18 <RocketJSquirrel> Segmentation fault
17:47:53 <elliott> RocketJSquirrel: This is what happens when you write sentience in C.
17:48:08 -!- Nisstyre has quit (Quit: Leaving).
17:48:46 <itidus20> its a shame in my opinion that the reason that most programming flaws matter is that flaws create security holes or possibly leak into damaging important programs... like a hello world in general doesn't need to work very well
17:49:14 <itidus20> in most situations you could afford 100mb of ram to run a hello world
17:51:35 <itidus20> i guess what i mean is that i had nothing more suitable to say and didn't want to be silent
17:55:05 <elliott> NOTHING IS SOFTENING
17:56:42 -!- zzo38 has joined.
17:57:25 <shachaf> elliott: It's a hint by the universe that it's time to go shopping.
17:58:50 <elliott> h;elp
18:23:20 <itidus20> ok.. some thought resulted in an idea probably old as the hills.. chess where captures only result in the piece losing the ability to capture 2)if the enemy king is threatened with loses the ability to capture you win and 3)
18:23:50 <itidus20> you can displace a piece by some fancy displacement rules if you capture a piece which has lost the abiliyt to capture
18:24:39 <itidus20> it's essentially nerfed chess
18:30:06 <elliott> shachaf: how can i create a list starting from the middle?
18:34:46 <elliott> <brownies> is it a true statement that a Type is just a set of Typeclasses?
18:37:52 -!- oerjan has joined.
18:41:02 <oerjan> @tell elliott Sure, but i'm not sure if it's an _intended_ feature...
18:41:02 <lambdabot> Consider it noted.
18:42:00 <oerjan> @tell Heck, usually I read the @tell's first in the logs anyway :P
18:42:01 <lambdabot> Consider it noted.
18:42:27 <oerjan> oops
18:42:34 -!- MDude has quit (Quit: later chat).
18:42:56 <oerjan> poor Heck, is going to be so confused
18:44:09 -!- MDude has joined.
18:45:47 <oerjan> <elliott> they already get one strike against them for thinking a one-# channel on freenode would be about it; parting immediately is strikes 2 & 3
18:47:10 <oerjan> especially the part where you assume it's impatience
18:52:15 <elliott> back
18:52:15 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
18:52:22 <elliott> oerjan: what's not intended feature
18:52:28 <elliott> :? i forgot context
18:54:08 <elliott> anyway the only explanation for expecting such things in a channel starting with one # on freenode is if you decided to connect to freenode without having the most cursory understanding of its purpose, and then without reading a single word of the MOTD you get in response
18:54:08 -!- oerjan has quit (Quit: Lost terminal).
18:54:32 <elliott> such people are not really worth spoon-feeding
18:54:45 <elliott> if they also leave immediately
18:55:21 <elliott> you can either educate yourself beforehand, or wait for others to teach you, but if you just join blindly and give up as soon as the first piece of information comes in then you deserve what you get
18:55:27 -!- oerjan has joined.
18:56:10 <elliott> <oerjan> <elliott> they already get one strike against them for thinking a one-# channel on freenode would be about it; parting immediately is strikes 2 & 3
18:56:10 <elliott> <oerjan> DON'T YOU KNOW SUCH THINKING IS BAD KARMA
18:56:10 <elliott> <oerjan> especially the part where you assume it's impatience
18:56:10 <elliott> <elliott> back
18:56:10 <elliott> <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
18:56:12 <elliott> <elliott> oerjan: what's not intended feature
18:56:14 <elliott> <elliott> :? i forgot context
18:56:16 <elliott> <elliott> anyway the only explanation for expecting such things in a channel starting with one # on freenode is if you decided to connect to freenode without having the most cursory understanding of its purpose, and then without reading a single word of the MOTD you get in response
18:56:20 <elliott> * oerjan has quit (Quit: Lost terminal)
18:56:22 <elliott> <elliott> such people are not really worth spoon-feeding
18:56:24 <elliott> <elliott> if they also leave immediately
18:56:26 <elliott> <elliott> you can either educate yourself beforehand, or wait for others to teach you, but if you just join blindly and give up as soon as the first piece of information comes in then you deserve what you get
18:57:02 <oerjan> O KAY
18:58:03 <oerjan> (that means: i don't fully agree, but my intuition is screaming that it would be a large mistake to debate this, and if you add to that the disconnect and my belief in synchronicity...)
18:58:42 <shachaf> "THINKING IS BAD" -- elliott
18:59:37 <elliott> if you want to cater to people who join the wrong channels because they didn't do any research then /msg them after they leave
19:00:47 <shachaf> elliott: GUESS WHAT I HAVE TO DO
19:01:30 <shachaf> HINT: THE ANSWER IS "SOMETHING"
19:09:59 -!- asiekierka has quit (Remote host closed the connection).
19:10:43 <oerjan> hm this is slightly puzzling. i got the idea to check if my ip had changed after the disconnect, and it hasn't. but my first reconnect afterwards doesn't have reverse dns registered.
19:10:55 <zzo38> http://zzo38computer.cjb.net/dnd/recording/level20_idea.txt
19:11:21 <oerjan> (*listed in the finger output)
19:12:34 <oerjan> the connect before that, and the new terminal i opened after that, had reverse dns listed.
19:15:14 <zzo38> Are they good idea?
19:15:57 <elliott> <navaati> oh, makes me think about a question : agda enforces that the programs terminate. must i conclude from this that agda is not turing-complet® ?
19:16:00 <elliott> turing-complet®
19:16:08 <itidus20> * Rotating mazes which are also full of illusions, signs with false
19:16:09 <itidus20> information, and a false goal. -- bruce lee would get a kick (oh god the puns) out of this
19:16:40 <elliott> @time
19:16:40 <lambdabot> Local time for elliott is Fri Apr 6 20:17:08
19:16:48 <elliott> aaargh so tempted to downvote this guy
19:17:18 <itidus20> @time lambdabot
19:17:18 <lambdabot> I live on the internet, do you expect me to have a local time?
19:17:32 <itidus20> well played
19:18:10 <Sgeo> @time asdf
19:18:12 <lambdabot> Local time for asdf is Fri Apr 6 15:18:11 2012
19:18:16 <Sgeo> ??
19:18:32 <Sgeo> Oh, there is an asdf on Freenode
19:18:48 <lambdabot> Local time for Sgeo is Fri Apr 6 15:18:40
19:19:01 -!- Case1 has joined.
19:19:03 <Sgeo> o.O
19:19:06 <Sgeo> `welcome Case1
19:19:07 <elliott> `welcome Case1
19:19:08 <oerjan> lambdabot doesn't respond to CTCP TIME either, sneaky bastard
19:19:10 <elliott> Nooooo!
19:19:10 <HackEgo> Case1: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
19:19:13 <elliott> I lose.
19:19:24 <HackEgo> Case1: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
19:19:38 <Case1> hello
19:20:04 <zzo38> Case1: Hello. What question?
19:20:06 <itidus20> oerjan: ahh.. boredom leads one to many weird bot queries
19:20:20 <elliott> ...do they need to have a question?
19:20:21 <oerjan> `run ? esoteric # :P
19:20:24 <HackEgo> This channel is about programming -- for the other kind of esoterica, try #esoteric on irc.dal.net.
19:20:37 -!- MDude has quit (Ping timeout: 276 seconds).
19:20:54 <zzo38> elliott: No, but in case they do, please to ask question.
19:21:00 <Case1> Ah k. I thought it was about the other kind of esoteric
19:21:06 <itidus20> Case1: basically.. don't flee if you're here for computer programming languages
19:22:22 <Case1> Any programmimg language in particular? or just programming languages in general?
19:22:25 <zzo38> Case1: The main topic is esoteric computer programming (more information is available in wiki); but we are often not on topic and discuss whatever happens to be discussed at the time, including computer programming, mathematics, IRC services, and everything else too
19:22:34 <itidus20> esoteric ones.
19:22:39 <zzo38> Case1: See the wiki; they are esoteric programming languages (INTERCAL, brainfuck, etc)
19:23:04 <zzo38> (If you are unable to access the wiki, some of us might still be able to help)
19:23:10 <Case1> k
19:23:39 <Case1> So when do I get to see the infinate tape
19:23:44 <Case1> *infinite
19:23:52 <elliott> RocketJSquirrel is selling that.
19:23:55 <elliott> or oerjan. who knows.
19:24:00 <zzo38> Case1: The topic messages change very often and sometimes contain lies
19:24:02 <Case1> and how do you loop it
19:24:34 -!- MDude has joined.
19:24:48 <Sgeo> If it loops, it's not really infinite. Although it would be ... unbounded is I guess the right word?
19:26:28 <Case1> unbounded seems more appropriate
19:26:43 <elliott> Sgeo: An unbounded tape isn't cycli.
19:26:45 <elliott> *cyclic.
19:26:48 <elliott> A cyclic tape is just cyclic.
19:26:55 <Sgeo> Ah, ok
19:26:58 <elliott> I mean... I suppose you can say there's no "bounds" on the tape itself.
19:27:02 <elliott> But there's a bound on how much data it'll store.
19:28:35 <Case1> it's like a lemniscate
19:29:48 <Case1> or something. BRB AFK
19:30:38 -!- oerjan has set topic: This channel is about programming. | If you find the key to the matrix of solidity, please hand it in in the reception. | http://codu.org/logs/_esoteric/.
19:31:08 <oerjan> LESS LIABLE?
19:31:32 <zzo38> Do you like rotating mazes? Do you like the other idea?
19:31:40 -!- elliott has set topic: Do you like rotating mazes? Do you like the other idea? | http://codu.org/logs/_esoteric/.
19:31:42 <elliott> better
19:32:21 <oerjan> OKAY
19:32:46 * oerjan now wonders how many people here came looking for the other kind of esoteric, but stayed nevertheless.
19:33:05 <elliott> at least one i think
19:33:18 <itidus20> Super ASCII MZX Town sounds fun
19:33:44 <zzo38> itidus20: It is a computer game series I made; but currently only the first part of the series is complete.
19:34:09 <itidus20> It's like the coolest name ever
19:34:25 <elliott> oerjan: certainly some of them have stayed a day or two
19:34:27 <zzo38> itidus20: OK; however, some people don't quite like this name
19:35:02 <elliott> oerjan: hey can you implement my programming language. RocketJSquirrel said he'd only do it in javascrip
19:35:03 <elliott> t
19:35:10 <itidus20> zzo38: even i can't believe how much i wanted a super nintendo when it first came out....
19:35:12 <oerjan> what language.
19:35:31 <elliott> oerjan: uh it doesn't really have a name :/
19:35:33 <elliott> yet
19:35:41 <oerjan> IC
19:35:50 <elliott> the functional systems programming language one
19:35:51 <zzo38> oerjan: Count how many. (And if someone ask about astrology then make a comment about the Agora horoscope on your webpage, which probably won't answer their question nevertheless)
19:35:55 <oerjan> ouch
19:36:00 <elliott> what :P
19:36:05 <oerjan> elliott: i suspect that's a "no", then.
19:36:10 <itidus20> the only thing i want more now than i wanted a super nintendo is a wife and kids
19:36:14 <elliott> but it doesn't even need a GC!
19:36:24 <itidus20> nothing else is that desirable
19:36:34 <oerjan> zzo38: too much work
19:36:56 <zzo38> itidus20: Super ASCII MZX Town is not for Super Nintendo though; it is for MegaZeux, which runs on Windows, Linux, Macintosh, Nintendo DS, and more
19:37:09 <itidus20> yes but it has the word Super
19:37:57 <itidus20> and it has the word ASCII.. which is of course also some japanese game company who makes rpgmakers among other things
19:39:17 <zzo38> As far as I know, it won't run on the Super Nintendo (unless someone managed to port MegaZeux to Super Nintendo)
19:40:28 <itidus20> but the mere word association with super makes me like it..
19:41:09 <itidus20> and im getting less bored now that i have some newspapers, tape, and scissors to play with.. so i'll afk
19:42:04 -!- MDude has quit (Ping timeout: 276 seconds).
19:46:16 * oerjan imagines itidus20 taping together a letter from newspaper letters
19:48:42 <itidus20> yeah... an imagined newspaper made military sim model ended up being me deciding to nap instead
19:50:37 <oerjan> 17:02:02: <shachaf> Note to self: Never write anything that elliott can read.
19:50:37 <oerjan> 17:02:05: <shachaf> Ever.
19:51:45 <oerjan> meanwhile, i seem to manage to write things elliott cannot read, without meaning to...
19:53:58 <Sgeo> http://bulbapedia.bulbagarden.net/wiki/Splash_(move) why does this exist?
19:54:34 <oerjan> Sgeo: well you see, a long time ago, the universe exploded...
19:54:42 <zzo38> Sgeo: I suppose, because passing is not allowed
19:55:34 <zzo38> (Although using a pokeball in a trainer battle is effectively passing; so you can use that)
19:58:55 <elliott> oerjan: wat
19:59:05 <elliott> Sgeo: so magikarp has something to do
19:59:32 <oerjan> elliott: he asked why something existed
19:59:40 <zzo38> elliott: If it did not have that, it could use struggle
20:02:38 <Sgeo> Even the Pokedex entries call it pathetic, apparently
20:02:55 <Sgeo> (Magikarp, I mean)
20:03:12 <elliott> oerjan: i meant
20:03:16 <elliott> <oerjan> meanwhile, i seem to manage to write things elliott cannot read, without meaning to...
20:03:16 <zzo38> Well, it is good if you are trying to pass
20:03:31 <oerjan> 17:24:56: <elliott> 03:16:44 <dobblego> zipWith ($) = (<*>) + juggling
20:03:31 <oerjan> 17:24:57: <elliott> dobblego is *wrong* in this log. :(
20:03:35 <elliott> Sgeo: did you seriously not know about magikarp before today
20:03:37 <elliott> i mean come on
20:03:39 <Sgeo> Apparently what it evolves into is good?
20:03:48 <Sgeo> elliott, I knew a little, mostly from a certain video
20:03:49 <zzo38> Gyarados
20:03:50 <oerjan> elliott: like the Qdeql TC proof :P
20:03:55 <elliott> Sgeo: have you never played pokemon
20:04:07 <Sgeo> elliott, I played a little, once or twice
20:04:27 <oerjan> also, that's not wrong, assuming juggling means "adding newtype wrapping + unwrapping"
20:04:48 <zzo38> Have you played Pokemon Card? It is a different game.
20:05:02 <elliott> oerjan: it's wrong in context
20:05:05 <elliott> dobblego said zip <*> ap
20:05:10 <elliott> someone else said something with zipWith ($)
20:05:26 <elliott> but ok i guess if i expand my definition of "juggling" to the breaking point :P
20:05:29 <zzo38> ($) is like infix id
20:05:36 <elliott> you said that at the time, yes.
20:05:58 <oerjan> :t zip <*> ap
20:05:59 <lambdabot> Couldn't match expected type `[b]'
20:05:59 <lambdabot> against inferred type `[a] -> [b1]'
20:05:59 <lambdabot> In the second argument of `(<*>)', namely `ap'
20:06:16 <oerjan> promising.
20:06:23 <elliott> oh it was zip <*> tail i think
20:08:47 <elliott> http://stackoverflow.com/questions/10048213/managing-state-chapter-3-of-sicp you won't win this one dmwit!!!!
20:10:36 <Sgeo> http://www.youtube.com/watch?v=ye7b3bOQ6lY
20:14:52 <oerjan> elliott: HEY WHY DID YOU LOCK THE WIKI
20:16:11 <elliott> oerjan: what
20:16:15 <elliott> ???
20:16:36 <elliott> no, nobody has edited anything.
20:16:45 <oerjan> MPISSOLBE
20:16:48 <elliott> don't say things like that, they send me into sysadmin panic attack :|
20:16:56 <elliott> i had already loaded up the sandbox and was about to ssh in
20:17:00 <oerjan> mm, the power of fear
20:17:23 <elliott> anyway, everyone's keeping quiet for fear of the rising storm.
20:17:51 <oerjan> ah yes.
20:17:59 <elliott> even if it is tomorrow.
20:18:13 <oerjan> the storm of a myriad shady characters
20:18:45 <elliott> http://www.youtube.com/watch?v=YtIoW_Sm3w8 "A car crash that lasts the duration of a month. The car is slowly colliding with the wall at 7mm per hour."
20:19:41 <quintopia> wow
20:19:48 <quintopia> you can post videos that long?
20:19:49 <quintopia> neat
20:20:22 <elliott> it is not at 1x speed :P
20:20:27 <elliott> though there are videos that last like a year i think
20:20:29 <elliott> that stupid repetition stuff
20:21:18 -!- shachaf has quit (Ping timeout: 245 seconds).
20:22:54 -!- shachaf has joined.
20:23:50 <elliott> http://www.humanmolecule.net/ help
20:24:40 <Case1> BAK
20:24:57 <Case1> @carcrash: but is it art
20:24:57 <lambdabot> Unknown command, try @list
20:25:23 <Case1> i like 4d mazes
20:25:32 <elliott> don't prefix references with @, it upsets the bot
20:25:50 <Case1> yeah, IC
20:27:42 <Sgeo> elliott, wtf
20:28:06 <Case1> http://www.urticator.net/maze/ home of the 4d maze. caution: may cause severe disorentation
20:28:10 <Sgeo> Is that... trying to count number of atoms of various elements in a human?
20:28:21 <elliott> Sgeo: i have no idea
20:28:44 <Sgeo> Note the computer-scientific notation for the number of atoms in the "molecule"
20:29:25 <Case1> It's trying to overextend the subatomic model into the macroverse, for some reason
20:30:21 <elliott> What if EARTH is just one big molecule of EARTH???
20:30:24 <elliott> Science!
20:30:45 <Sgeo> I think it's supposed to be an analogy for how being made up of molecules kind of dampens the idea of free will?
20:30:57 <Sgeo> http://www.eoht.info/page/Human+molecule
20:31:07 <elliott> No, I think it's attempting to apply molecular interactions to social situations somehow.
20:31:08 <Sgeo> Things of that nature
20:31:10 <Sgeo> o.O
20:31:18 <oerjan> ^asc |
20:31:18 <fungot> 124.
20:31:30 <elliott> (I found this because the Libb Thims guy is banned from Wikipedia for creating articles about things like this.)
20:31:41 <elliott> Sgeo: That's a WP mirror, I think?
20:31:53 <elliott> Oh, maybe not.
20:32:07 <elliott> "Latest page update: made by Sadi-Carnot" -- same guy.
20:33:20 -!- Case2 has joined.
20:33:38 -!- Case1 has quit (Ping timeout: 240 seconds).
20:35:00 <elliott> too many casen
20:35:26 <Case2> I just registered this one
20:35:51 <Sgeo> "where, according to recent Internet polls, about 57% of people agree that they are a giant molecule."
20:36:04 <quintopia> elliott: re: human molecule. i had no idea we had so many of some of those elements in us
20:36:22 <Case2> we're made of dirt
20:37:08 <elliott> Sgeo: :D
20:39:56 <Sgeo> Do they say the word "metaphorically" anywhere?
20:40:11 <Sgeo> French composer Hector Berlioz used the term “human molecule” in 1854, albeit, it seems, rather metaphorically.
20:40:22 <Sgeo> French historian Hippolyte Taine, independent and contrary to prior metaphorical use of the term human molecules by Berloiz, was the first to use the term in a scientific sense and to build argument on this concept, and to have others adopt his usage.
20:43:50 <zzo38> The program Daedalus also has 4D (and even 5D) maze
20:44:22 <Madoka-Kaname> Not in a 4D prospective projection.
20:44:50 <zzo38> The program is GPL so you can modify it to have that if you like to
20:45:33 <Sgeo> But I can't make my modifications then sell the modified game without revealing the source to my modifications
20:45:42 <Sgeo> (Ok, so not really a big deal in this case)
20:45:53 -!- hagb4rd has joined.
20:46:13 <Case2> hey zzo38, any relation to http://jyte.com/profile/zzo38computer.cjb.net ?
20:46:25 <zzo38> Case2: I am that one.
20:46:39 <zzo38> http://zzo38computer.cjb.net/ is my OpenID.
20:47:36 <zzo38> (Also, zzo38computer.cjb.net is my computer; the computer I am using to send this message right now, in fact)
20:48:10 <quintopia> (he is the only person left still actively using a cjb domain)
20:48:50 <Case2> TIL
20:49:10 <Case2> I'm not sure how large of a coincidence this is...
20:49:24 <zzo38> quintopia: I don't think so
20:49:58 <quintopia> zzo38: who else?
20:50:17 <Case2> jyte is yet another highly focussed self-obsoletion effort
20:51:12 <zzo38> quintopia: Air Time Canada also uses it for some of their programs
20:51:38 <quintopia> zzo38: i do not know what that is
20:52:57 <elliott> dmwit won :(
20:56:04 <zzo38> I use cjb for dynamic DNS service; it was the one I found when I first wanted to find a dynamic DNS service to my suitability. Now I run IRC, HTTP, and gopher.
20:56:41 <Case2> " An enigmatic figure, apparently of some history on the internet. zzo38 has featured in numerous internet circles, including the ZZT community and Something Awful. Despite high levels of competence in a great many facets of web-based programming and other areas of general computer knowledge, he remains completely unable to correctly spell the words 'avatar' and 'picture'. "
20:57:28 <elliott> quintopia: cjb.net has inexplicably redesigned.
20:57:38 <Case2> "He is still active, having recently appeared on Z2 and has even produced a ZZT game entitled Aksana ZZT, but his true identity remains a mystery to which only a select few on the website claim to be privy." /spam
20:57:40 <zzo38> Case2: Most of that isn't true. I have never been in Something Awful, for some thing.
20:57:41 <elliott> And it looks like they don't offer subdomains any more :P
20:58:05 <zzo38> I have used ZZT, though; that part is true.
21:00:07 <Case2> well, it's from UD, which is known for checking their facts and then checking again. SEG
21:01:04 <oerjan> UD?
21:01:10 <Case2> urbandictionary
21:02:35 <oerjan> enigmatic, yes. his spelling is now impeccable, however.
21:03:45 <zzo38> It contains lies! I have never been in Something Awful. But I have found one forum in which an impostor was claiming to be me (I forget what it was now, or how I found it; but it was not a subject matter I was interested in anyways)
21:04:13 <oerjan> as it was when he first came here. so even what information was originally true is many years out of date.
21:04:39 <zzo38> The comment about the spell is also lies
21:04:48 <zzo38> But the part about ZZT is correct.
21:05:48 <elliott> Thanks, the explanation of ST is really helpful! – Chris Taylor 1 min ago
21:05:48 <elliott> Thanks, this is a great answer. – Chris Taylor 1 min ago
21:05:50 <elliott> PICK MINE
21:08:07 <zzo38> In fact I was one of the administrators of ZZT community, but the other administrators liked to change my messages so that they didn't make any sense any more; replacing spellings with wrong ones, pictures with other ones which don't belong, and URLs with invalid URLs which point to nonexistent resources (someone changed a URL to a .ZZT file to instead point to "shootmeintheskull"; which is a nonexistent file), and other changes
21:09:36 <Case2> ZZT admins were a clownery bunch, eh
21:12:54 <olsner> my eyes feel weird after playing that maze game
21:13:07 <elliott> zzo38: can you teach me how to spell "picture"
21:13:40 <zzo38> elliott: Look it up in the dictionary. Probably it is already correct
21:14:15 <Case2> CTS
21:14:27 <oerjan> elliott: how do i trick the spam filter? i am trying to add a wayback link to a site that is now in it (http://www.greatestjournal.com)
21:15:20 <oerjan> and the site without wayback is already on that page
21:15:29 -!- calamari has joined.
21:15:33 <elliott> oerjan: oh huh
21:15:42 <Case2> elliott: which maze? the 4d one?
21:15:55 <elliott> oerjan: i'd rather not trick it, i'd rather just disable Spamblacklist tbh
21:16:06 <elliott> Case2: i'm not olsner
21:16:17 <elliott> oerjan: we don't have any entries in it right now, so all our entries come from the wikimedia metawiki source
21:16:24 <elliott> oerjan: which is probably overly-restrictive.
21:16:27 <oerjan> elliott: oh. ok.
21:16:28 <elliott> and besides our spam comes from very few sites.
21:16:37 <elliott> gimme a second to comment it out
21:17:07 <elliott> oerjan: try now
21:18:06 <olsner> elliott: are you sure you're not me?
21:19:01 <oerjan> elliott: thanks it worked
21:21:22 <elliott> http://esolangs.org/wiki/Esolang_talk:Community_portal#SpamBlacklist_disabled SO OFFICIAL
21:22:33 <zzo38> Case2: If you want to know better my things then, you should get a more updated information at http://en.wikipedia.org/wiki/User:Zzo38
21:24:09 <Case2> ah k
21:27:08 <Case2> "This user is confused by every aspect of life, including his/her own confusion."
21:27:32 <Case2> how sure are you about your own confusion?
21:27:44 <elliott> ask pokemons
21:27:56 <zzo38> Case2: If I am sure, that that make me to be confused?
21:27:57 -!- derdon has joined.
21:28:45 <zzo38> Your active pokemon is now confused.
21:29:21 -!- NihilistDandy has joined.
21:29:22 <Case2> heh
21:29:46 <Case2> http://www.youtube.com/watch?v=B9h1tR42QYA Tiktaalik - Your Inner Fish
21:30:41 <Vorpal> * oerjan wonders how many people are looking for the other #esoteric, but are scared away by our welcome message before we can point them on <-- there is another one?
21:30:47 <zzo38> I can play Pokemon Card too. But my opponent they try to pick up too many cards and lose due to running out of cards
21:30:52 <elliott> `? esoteric
21:30:56 <HackEgo> This channel is about programming -- for the other kind of esoterica, try #esoteric on irc.dal.net.
21:31:03 <zzo38> Approx. 1/4 of the time
21:31:04 <Vorpal> heh
21:31:38 <elliott> <dmwit> There is a way. But it's silly, and you shouldn't do it.
21:31:38 <elliott> <dmwit> ?wiki existential type
21:31:38 <elliott> <lambdabot> http://www.haskell.org/haskellwiki/existential_type
21:31:39 <Vorpal> I guess it was discovered recently? I don't remember that message from before...
21:31:45 <Vorpal> (with recently I mean sometime time year)
21:31:47 <elliott> shachaf: You've made me start mentally phrasing everything in terms of big red buttons.
21:31:58 <Vorpal> s/time //
21:32:10 <elliott> Vorpal: Yes, someone looking for that kind of stuff joined here and searched other networks.
21:32:14 <elliott> Then they told us they'd found it on dalnet.
21:32:17 <Vorpal> ah
21:32:46 <Vorpal> I'm kind of surprised dalnet still exists
21:33:31 <oerjan> irc networks never die, they just something something
21:33:55 <Vorpal> a memorable quote that one
21:34:13 <oerjan> very
21:35:47 * oerjan gets the bright idea of trying http://planet.freenode.net.nyud.net/
21:37:51 <elliott> ooh i just had an idea
21:37:59 <elliott> oh hm
21:38:02 <elliott> *sigh*
21:38:05 <elliott> variance ruins my ideas again
21:38:11 <elliott> why can't everything just be covariant
21:38:17 <elliott> i want covariant functions
21:38:20 <elliott> a -> b
21:38:25 <elliott> where a and b are both covariant somehow
21:39:37 <elliott> "One of the major new features that this upgrade will bring is the ability to identify using ssl certificates." :D
21:40:09 <elliott> "As of the services upgrade date, any nicks unused for > 150 days are at risk of being dropped. This includes grouped nicks. The easy way to avoid this happening is to use each of your grouped nicks (while identified to the appropriate account) within the next few weeks – and to drop those that you don’t need anymore!"
21:40:10 <elliott> eek!
21:40:14 -!- oerjan has changed nick to oerjan_.
21:40:17 -!- oerjan_ has changed nick to oerjan.
21:40:26 <oerjan> NOW THAT WAS EASY
21:40:39 -!- zzo38 has changed nick to zzo38_.
21:40:41 -!- zzo38_ has changed nick to zzo38__.
21:40:42 -!- zzo38__ has changed nick to zzo38___.
21:40:43 -!- zzo38___ has changed nick to zzo38____.
21:40:44 -!- zzo38____ has changed nick to zzo38_____.
21:40:51 <Vorpal> oh god
21:40:59 -!- elliott has changed nick to elliott_________.
21:41:17 -!- elliott_________ has changed nick to ehird.
21:41:25 -!- ehird has left ("Leaving").
21:41:27 -!- zzo38_____ has changed nick to zzo38______.
21:41:29 -!- zzo38______ has changed nick to zzo38_______.
21:41:31 -!- zzo38_______ has changed nick to zzo38________.
21:41:31 <Vorpal> well, I do that sort of stuff regularly (connecting a separate client to not small channels)
21:41:32 -!- zzo38________ has changed nick to zzo38_________.
21:41:33 -!- zzo38_________ has changed nick to zzo38__________.
21:41:50 <oerjan> zzo38__________: you really have all those registered? :P
21:41:54 <zzo38__________> oerjan: No.
21:42:03 <zzo38__________> oerjan: I only have zzo38 zzo38_ zzo38__ zzo38___
21:42:14 -!- zzo38__________ has changed nick to zzo38.
21:42:30 -!- elliott has joined.
21:42:32 <elliott> ok i think i got them all
21:42:40 -!- coppro has changed nick to coppro_.
21:42:42 -!- coppro_ has changed nick to scshunt_.
21:42:44 -!- scshunt_ has changed nick to seanhunt.
21:42:50 -!- seanhunt has changed nick to schunt.
21:42:55 -!- schunt has changed nick to coppro.
21:43:32 <quintopia> zzo38: what do you enjoy writing?
21:43:42 <elliott> @time
21:43:43 <lambdabot> Local time for elliott is Fri Apr 6 22:44:10
21:43:47 <elliott> two hours
21:43:51 <elliott> six upvotes in two hours
21:43:52 <elliott> yikes
21:44:23 <zzo38> quintopia: Various things sometimes; including the D&D recording
21:44:30 <coppro> elliott: /msg nickserv info elliott
21:44:45 <zzo38> Sometimes I write stuff by hand too
21:44:57 -!- coppro has changed nick to cu.
21:44:58 -!- cu has changed nick to coppro.
21:45:13 <zzo38> Usually just my own things though; trying to think about mathematics or computer programming or whatever I will write them on paper to think about it better
21:45:22 <elliott> coppro: not all my nicks are grouped
21:45:45 <coppro> ah
21:46:12 -!- derdon has quit (Ping timeout: 252 seconds).
21:46:23 <quintopia> zzo38: so stories sometimes too? what is the longest one?
21:47:01 -!- derdon has joined.
21:47:07 <elliott> @time
21:47:07 <lambdabot> Local time for elliott is Fri Apr 6 22:47:35
21:47:21 <elliott> four hours.
21:47:24 <elliott> not that i'm counting or anything...
21:47:32 <zzo38> quintopia: The D&D recording. And even that one is not yet complete.
21:47:40 <olsner> four hours? but it was two hours 3 minutes ago?
21:48:07 <zzo38> (And I do sometimes write computer programs by hand on paper; especially Haskell programs)
21:48:08 <elliott> olsner: different thing this time!
21:48:32 <quintopia> zzo38: coding, even by hand, is usually not classed as "writing"
21:49:25 <zzo38> Well, I do that anyways; do other people writing computer codes by hand? Do other Haskell programmers do so?
21:49:46 <quintopia> i sometimes do
21:50:03 <quintopia> tho less so when i have portable devices handy
21:50:23 <quintopia> i would have thought someone who types as fast as you would prefer typing in most instances
21:50:41 <zzo38> quintopia: But I am not always working on the computer.
21:52:09 <quintopia> do you ever write programs on paper when you are in the same room as the computer?
21:53:31 <elliott> olsner: this one is to do with a certain... quick-quick matter
21:53:32 <zzo38> quintopia: I might when I am resting in bed, but usually it isn't when I am in the same room as the computer
21:53:57 <olsner> elliott: not quite sure what that matter is
21:55:31 <quintopia> zzo38: what kind of TIcalc do you have?
21:55:54 <zzo38> quintopia: TI-92
21:57:10 -!- monqy has joined.
21:57:23 <elliott> hi monqy
21:57:47 <monqy> hi
22:05:38 <quintopia> zzo38: +? full keyboard?
22:06:11 <zzo38> quintopia: Can you please be more specific?
22:07:03 <quintopia> http://en.wikipedia.org/wiki/File:Ti-92plus.jpg
22:07:27 <monqy> oh hey I have one of those
22:07:55 <elliott> is it good
22:08:02 <monqy> i forget
22:08:08 <quintopia> i think it was the first to have a clock
22:08:16 <monqy> i inherited it when i was a kiddo because graphing calculators were cool
22:08:17 <quintopia> realtime clock, that is
22:08:38 <monqy> but by the time I actually needed a fancy calculator it was banned
22:08:46 <monqy> for being too cool
22:09:12 <zzo38> http://zzo38computer.cjb.net/img_0F/screen0.png Multiple-choice-question what is it a picture of? [a] Low res Lobster [b] It looks cute and deadly at the same time [c] a brown dinosaur with too many legs [d] A mutated scorpion eating a triptych [e] This is what happens when you smoke a pipe [f] Some roguelike game [g] MegaZeux [h] That's a picture of SWMBO [i] This is a pipe; the text is lying
22:10:13 <monqy> [q] all of the above
22:10:19 <quintopia> that's a pretty good rendering from ascii
22:12:01 <quintopia> zzo38: picture of your calc?
22:12:25 <zzo38> I used a program to make semitransparency of windows; that caused it to run very slowly but was useful for this purpose
22:13:42 <quintopia> zzo38: was it the original (1995) or the plus (1998)?
22:14:20 <zzo38> quintopia: I have the original calculator not the plus
22:14:27 <quintopia> oh
22:14:28 <quintopia> ok
22:14:46 -!- NihilistDandy has quit.
22:14:50 <quintopia> do you know if the BASIC used by 89/92+ and the BASIC used by the 92 are different?
22:15:33 <zzo38> I don't know.
22:16:44 <quintopia> okay
22:17:12 <quintopia> i have some programs (games) i wrote for my (now-defunct) TI-89 which you could try to run
22:20:33 <zzo38> I made up a card game called Solter Solitaire once in TI-92, later on I implemented in on computer as well, and using other programs designed for implementing card games
22:21:22 <Sgeo> I wonder if hgmail.com might be trying to phish from clueless users
22:21:33 <Sgeo> Although I guess I would expect they'd use a gmail theme
22:22:45 <zzo38> The Haddock document for dvi-processing is now available.
22:34:12 <elliott> oerjan: hey aren't functions covariant in their argument in set theory?
22:34:16 <elliott> since they're just sets of tuples
22:35:51 <elliott> "I'm always nervous about monads for configuration because they come on the "wrong end" of the lambda expressions, i.e. f :: Int -> Config -> Int looks massively less efficient than f :: Config -> Int -> Int. I'll check out reflection. – Jeff Burdges 23 mins ago"
22:35:53 <elliott> what
22:39:21 <Sgeo> I think I vaguely understand that concern
22:39:38 <elliott> yeah but it's silly because he's using it to store memoised values specifically here
22:39:51 <oerjan> elliott: if you try to apply a function to the first part of the tuples that make up a function, the result is not a function, but a relation...
22:40:35 <elliott> oerjan: yes true
22:40:46 <elliott> oerjan: but that's still more than you can do in type theory :)
22:41:53 <oerjan> in fact this may mean that relations are in a way _both_ covariant and contravariant on both sides
22:42:32 <elliott> oerjan: i think in a non-constructive setting, everything is both covariant and contravariant in everything
22:42:43 <elliott> because you don't need to supply values to a function to get their outputs, you can see the inputs and outputs right there
22:43:24 <elliott> well hmm
22:43:28 <elliott> are relations contravariant in their results?
22:43:53 <oerjan> you can compose relations, and both functions and inverse functions are relations.
22:44:24 <elliott> right
22:45:01 <oerjan> oh hm this might be because the category of relations is self-dual
22:45:27 <oerjan> so covariance and contravariance is the same thing
22:45:59 <elliott> i think i know what that means (being self-dual), but can you explain it, i'm no good at CT :(
22:46:01 <elliott> or anything
22:46:03 <elliott> but esp. CT
22:47:16 -!- Phantom_Hoover has joined.
22:47:58 <oerjan> the map swapping fst and snd in the tuples is a contravariant bijective functor from Rel to itself.
22:48:12 <elliott> right
22:48:17 <elliott> thanks
22:48:36 * elliott never did get around to reading Mac Lane.
22:48:49 * oerjan neither :P
22:49:22 <elliott> yeah, but you're a wizard who just magically knows stuff.
22:49:28 <elliott> (what did you read? or did you just magically know it.)
22:51:42 <oerjan> well there was a lot of osmosis from seminars involving C*-algebra categories, and some homological algebra and algebraic topology stuff, and some browsing the math encyclopedia...
22:52:23 <elliott> right, so you just magically know it
22:55:13 <oerjan> yep
22:55:19 <elliott> :(
22:56:24 <oerjan> i vaguely recall the most basic stuff may have been mentioned in one of the courses for some of that.
22:56:48 <oerjan> vaguely enough that i have no idea which course :P
23:01:36 <elliott> @time
23:01:36 <lambdabot> Local time for elliott is Sat Apr 7 00:02:04
23:01:39 <elliott> 3 in 1
23:02:21 -!- Patashu has joined.
23:02:58 <Sgeo> http://blog.tojicode.com/2012/04/if-i-built-physics-engine.html I'm not happy with the necessity of optimizing for speed over abstraction
23:04:02 <zzo38> Let's play Pokemon Card.
23:04:11 <elliott> Sgeo: It's JavaScript.
23:14:59 -!- derdon has quit (Remote host closed the connection).
23:20:03 -!- oerjan has quit (Quit: goudanite).
23:49:59 <elliott> @time
23:50:00 <lambdabot> Local time for elliott is Sat Apr 7 00:50:27
23:50:02 <elliott> oh well
23:52:06 <elliott> - - [06/Apr/2012:23:40:52 +0000] "GET /wiki/Entropy HTTP/1.1" 200 23016 "-" "Less Trivial HTTP for Common Lisp (not Mozilla)"
23:52:06 <elliott> ??????????????
23:55:03 <zzo38> They just wanted to ensure the word "Mozilla" was in there, even though it is not Mozilla, I guess.
23:56:56 <zzo38> Do you know there is no mass today? There is still the church service, though.
23:58:22 <elliott> I was just wondering why anyone would request that page with Common Lisp :P
23:58:26 <elliott> Maybe 'cuz it was on proggit.
←2012-04-05 2012-04-06 2012-04-07→ ↑2012 ↑all