←2011-02-19 2011-02-20 2011-02-21→ ↑2011 ↑all
00:00:19 <Phantom_Hoover> Because if you do it's just equivalent to whatever the fancy name for boolean circuits is.
00:00:33 <quintopia> wow
00:00:35 <jayCampbell> i can nand
00:00:39 <quintopia> that Yourself guy is a douche
00:00:47 <elliott> quintopia: ?
00:00:53 <fizzie> oerjan: BrAiNfucK, doubling as a subtle dig against the financial industry.
00:00:54 <elliott> oh on the forum thing
00:01:01 <elliott> "Then you're not doing it because you want to use it, you're just doing it to waste time. Not that there's anything wrong with doing that for the sake of doing it, it's just often a very bad decision in terms of productivity."
00:01:07 <Sgeo_> ‫kcufniarb
00:01:11 <oerjan> fizzie: hey i didn't notice that
00:01:15 -!- elliott has set topic: Being in this channel is a very bad decision in terms of productivity. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:01:19 <quintopia> "Reinventing the wheel is rarely a productive use of anyone's time."
00:01:20 <oerjan> (SYNCHRONICITY)
00:01:23 <Phantom_Hoover> [[I don't know what makes you think having no keywords will make it easier to parse. It'd make it much, much harder, at least from my experience :/]] — Madk
00:01:58 <Phantom_Hoover> PUNCTUATION: FUNDAMENTALLY HARDER TO PARSE
00:02:45 <quintopia> it depends on the language. sometimes keywords decrease ambiguity by making the language regular or at least context-free
00:03:16 <Phantom_Hoover> elliott, hey, being in this channel *is* a bad decision in terms of productivity.
00:03:19 <Phantom_Hoover> Just ask cpressey.
00:03:45 <Phantom_Hoover> ALSO: Underload in dc.
00:03:56 <Phantom_Hoover> Interesting?
00:04:06 <oerjan> THAT MEANS IT'S TC
00:04:14 * oerjan slithers back into the corner
00:04:25 <elliott> dc isn't TC :P
00:04:28 <elliott> Well.
00:04:31 <elliott> If you use the register stacks.
00:04:33 <elliott> Then maybe
00:04:42 <oerjan> elliott: IF IT CAN DO UNDERLOAD THEN IT IS
00:04:56 <elliott> oerjan: NOT IF IT'S RESTRICTED UNDERLOAD
00:05:09 <Phantom_Hoover> elliott, LET'S SUPPOSE THAT SEGFAULTS DO NOT EXIST
00:05:10 <jayCampbell> hoover, i think you're correct, this set of gates makes up a boolean circuit
00:05:16 <oerjan> RESTRICTED? YEAH LEAVE OUT a*! OH WAIT
00:05:18 <elliott> *J. Edgar Hoover,
00:05:24 <elliott> If you're going to abbreviate at least get it right!
00:05:28 <Phantom_Hoover> elliott, *Herbert Hoover
00:05:33 <elliott> oerjan: LAWLS
00:05:34 -!- yorick has quit (K-Lined).
00:05:40 <elliott> `addquote * yorick has quit (K-Lined)
00:05:51 <elliott> Think #freenode will know why he was K-lined? :P
00:06:31 <elliott> Phantom_Hoover: *W. H. "Boss" Hoover
00:06:36 <HackEgo> 317) * yorick has quit (K-Lined)
00:08:52 <Phantom_Hoover> Well, fool that I am, I did enquire in #freenode as to whether they disclosed reasons for K-lines.
00:08:57 <Phantom_Hoover> They said no.
00:09:34 <jayCampbell> alas, poor yorick
00:09:55 <Phantom_Hoover> I knew him, Horatio!
00:09:59 -!- Zuu has quit (Read error: Connection reset by peer).
00:10:35 <quintopia> there's some channel here where you could be kicked for making shakespearean references around him...which was that?
00:10:54 <elliott> #boring
00:11:01 <fizzie> On a real IRC server "/stats K" would give you a list of K-lines, including the reason-message, but of course not on freenode.
00:11:05 <Phantom_Hoover> quintopia, re that Yourself guy, I am actually inclined to agree with him.
00:11:20 <Phantom_Hoover> Imperative esolangs are no longer fun.
00:11:39 <quintopia> he got more reasonable on the second page
00:12:00 <elliott> fizzie: Is it just me, or are freenode convinced that they're the only IRC network that matters out there?
00:12:05 <elliott> Thus their complete ignorance of all conventions.
00:12:34 <quintopia> Phantom_Hoover: i disagree
00:12:48 <Phantom_Hoover> quintopia, hm?
00:12:48 <quintopia> there are fun imperative esolangs still being invented
00:13:17 <Phantom_Hoover> quintopia, but every other esolang is one, and novelty is stretched thin.
00:13:20 <quintopia> usually it's because they involve some sort of unusual control flow that requires funky ways of thunking
00:14:21 <quintopia> i agree that the "here's some instructions! string them together in order!" is usually pretty boring
00:14:36 -!- Zuu has joined.
00:14:36 -!- elliott has quit (Read error: Connection reset by peer).
00:14:37 <quintopia> but that doesn't mean imperative esolangs are dead
00:14:58 -!- elliott has joined.
00:15:55 <Sgeo_> Why do email addresses allow comments?
00:16:27 <ais523> so that they can allow nested comments
00:16:28 -!- elliott has quit (Read error: Connection reset by peer).
00:16:42 <ais523> quintopia: hmm, would you consider Forte imperative?
00:16:51 <ais523> it's definitely /disguised/ as imperative, but I'm not sure that that means it is
00:16:58 <Sgeo_> ais523, uh
00:17:09 <ais523> Sgeo_: I may not have been being entirely serious
00:17:20 <Sgeo_> Ok, thoght so, wasn't sure
00:18:28 -!- elliott has joined.
00:18:55 <elliott> ping
00:18:57 <elliott> ping ping
00:19:32 <elliott> ais523: Forte would be more fun if every command was a number.
00:19:39 <ais523> ouch
00:19:42 <quintopia> ais523: i can't really see exactly how the control flow in it works.
00:19:43 <elliott> With all the same redefinition applying.
00:19:46 <ais523> it wouldn't make too much difference, actually
00:19:48 <elliott> quintopia: by changing numbers
00:19:53 <elliott> ais523: But it would be more fun!
00:19:54 <ais523> because you just wouldn't change the numbers in question at all
00:19:56 <quintopia> DUH
00:19:59 <elliott> ais523: you'd have to
00:19:59 <elliott> somehow
00:20:19 <ais523> making a large Forte program normally involves reserving a block of small integers and deciding in advance that you won't change them at all
00:21:15 <elliott> ais523: bring thutubot back!
00:21:23 -!- augur has quit (Ping timeout: 250 seconds).
00:21:44 -!- coppro has quit (Quit: leaving).
00:22:00 <oerjan> <ais523> it's definitely /disguised/ as imperative, but I'm not sure that that means it is <-- shades of Feather?
00:22:10 -!- thutubot has joined.
00:22:12 <ais523> Feather isn't disguised as anything, as far as I know
00:22:23 <ais523> also, I've completely forgotten the commands for this thing
00:22:25 <ais523> let me look at the source
00:22:29 <elliott> +haskell 2+2
00:22:31 <elliott> ,haskell 2+2
00:22:32 -!- coppro has joined.
00:22:34 <elliott> -haskell 2+2
00:22:37 <elliott> .haskell 2+2
00:22:41 <elliott> £haskell 2+2
00:22:42 <ais523> + is the command character
00:22:46 <elliott> +haskell 2+2
00:22:49 <oerjan> ais523: no i mean forte might have shades of feather
00:22:50 <elliott> doesn't it talk to \bot for that?
00:22:59 <elliott> oerjan: anything self-modifying has shades of feather
00:23:00 <ais523> it does, but I fear it's broken
00:23:05 <oerjan> with its changing unchanging things
00:23:13 <elliott> ais523: can you paste the code again? :-P
00:23:14 <ais523> it did send the /msg to lambdabot, by the look of it
00:23:35 <ais523> and with the right syntax
00:23:46 <ais523> but lambdabot decided not to reply for whatever reason
00:24:13 <oerjan> ais523: didn't lambdabot sometimes fail with unregistered nicks
00:24:14 <elliott> wow, thutu is whitespace-sensitive?
00:24:19 <ais523> oerjan: might be
00:24:20 <ais523> elliott: yep
00:24:25 <ais523> +hello
00:24:25 <thutubot> Hello, ais523!
00:24:25 <oerjan> > 2+2
00:24:26 <lambdabot> 4
00:24:26 <thutubot> 4
00:24:30 <elliott> like, indentation-sensitive?
00:24:32 <ais523> yep
00:24:36 <elliott> +hello
00:24:36 <thutubot> Hello, elliott!
00:24:37 <oerjan> wtf
00:24:39 <elliott> wow, fast
00:24:39 <ais523> just because I hate it doesn't mean I won't do it
00:24:39 <elliott> +hello
00:24:39 <thutubot> Hello, elliott!
00:24:42 <elliott> +hello
00:24:42 <thutubot> Hello, elliott!
00:24:43 <oerjan> > 5
00:24:44 <lambdabot> 5
00:24:44 <thutubot> 5
00:24:47 <oerjan> uh uh
00:24:49 <elliott> oerjan: it relies on lambdabot to evaluate haskell
00:24:50 <elliott> :P
00:24:50 <Phantom_Hoover> +hello
00:24:51 <thutubot> Hello, Phantom_Hoover!
00:24:54 <elliott> +haskell 7+9
00:25:07 <ais523> the +haskell was a joke
00:25:12 <oerjan> elliott: yeah but it resends _every_ lambdabot message it sees, even those here in the channel
00:25:16 <Phantom_Hoover> BEST. COP-OUT. EVER.
00:25:18 <elliott> oerjan: it's written in thutu, give it a break
00:25:22 <Phantom_Hoover> @echo Yo.
00:25:22 <lambdabot> echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486", msgCommand = "PRIVMSG", msgParams = ["#esoteric",
00:25:22 <lambdabot> ":@echo Yo."]} rest:"Yo."
00:25:22 <thutubot> echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486", msgCommand = "PRIVMSG", msgParams = ["#esoteric",
00:25:23 <thutubot> ":@echo Yo."]} rest:"Yo."
00:25:23 <ais523> <thutubot> PRIVMSG lambdabot :@run 7+9
00:25:27 <elliott> ...
00:25:29 <elliott> X-D
00:25:39 <elliott> @run 7+9
00:25:40 <lambdabot> 16
00:25:40 <thutubot> 16
00:25:57 <elliott> oerjan: hm you know my regexp language?
00:26:03 <ais523> +ul (:aSS):aSS
00:26:03 <thutubot> (:aSS):aSS
00:26:07 <oerjan> elliott: not on the spot...
00:26:10 <ais523> that one isn't cheating, btw
00:26:12 <elliott> oerjan: where {a,b,c} -> replace b with c in a and repeat?
00:26:14 <elliott> oerjan: where those are three lines
00:26:15 <ais523> it's an actuall Underload-in-Thutu
00:26:17 <ais523> *actual
00:26:17 <oerjan> ais523: so can it run my turing machine? >:)
00:26:23 <elliott> and if you end up with anything other than three lines, print it
00:26:24 <elliott> you implemented it
00:26:25 <ais523> oerjan: likely very slowly
00:26:33 <ais523> and I think there's a timeout which doesn't display a message
00:26:42 <ais523> at least I hope there is, because otherwise you'll use up all my CPU and memory for no reason
00:26:54 <Phantom_Hoover> elliott, incidentally, why don't you like phpBB?
00:26:56 <ais523> +ul (:^):^
00:26:57 <thutubot> ...out of time!
00:27:24 <elliott> Phantom_Hoover: I don't like that style of forum in general
00:27:25 <ais523> anyway: http://sprunge.us/KEEC?thutu
00:27:29 <elliott> "?thutu"
00:27:30 <elliott> classic
00:27:35 * ais523 feels confident in adding the query param in the knowledge it won't work
00:27:37 <Phantom_Hoover> elliott, I agree, actually...
00:27:49 <ais523> heh, it just added line numbers and nothing else
00:27:58 <Phantom_Hoover> The noise:signal ratio is way too high, for a start.
00:28:25 <elliott> Phantom_Hoover: oh, I'm only a member of two, and one of them is private (the other semi-private) so that isn't really an issue
00:28:30 <elliott> but they're just really badly-designed in general
00:28:31 <ais523> I doubt that'd matter in an esolangs forum
00:28:34 <elliott> compared to email, for instance
00:28:41 <ais523> the issue is that a forum just isn't the right place for that sort of thing
00:28:44 <ais523> I like the IRC+wiki combination
00:28:49 <Phantom_Hoover> elliott, no, I mean in terms of UI.
00:28:55 <elliott> Phantom_Hoover: Exactly
00:29:04 <elliott> They tend to have huge swathes of the screen devoted to ego :)
00:29:26 <ais523> +quit
00:29:38 <ais523> hmm, +quit seems to be broken
00:29:38 <Phantom_Hoover> And a stupid box. And they don't have nice support for hierarchical comments.
00:29:50 <ais523> oh, I know why
00:29:53 <ais523> it's because we're on a different ircd
00:30:01 <ais523> it's set to only allow +quit from an identified ais523
00:30:01 <elliott> ais523: a different, shitty ircd
00:30:08 <ais523> but the syntax for being identified is different
00:30:13 -!- thutubot has quit (Remote host closed the connection).
00:30:15 <elliott> so far, it has been: less reliable; more annoying (throttling); ...
00:30:35 <ais523> the reliability recently doesn't count, Freenode were being DDOSed
00:30:53 <elliott> ais523: no, apart from that
00:30:56 <elliott> ais523: yesterday, we had massive desync
00:31:03 <elliott> I could talk to zzo38 but neither of us could see pikhq_'s messages, only clog could
00:31:07 <elliott> upon reconnecting, i could talk to pikhq_ but not zzo38
00:31:12 <ais523> wow, that's confusing
00:31:14 <elliott> then everyone saw /my conversation with zzo38/ -- including me --
00:31:16 <elliott> repeated into the channel
00:31:18 <elliott> including me quitting
00:31:18 <ais523> like a semi netsplit
00:31:20 <pikhq_> Dang that was a tedious proof.
00:31:26 <elliott> insane crap like that kept happening for the next 20 minutes or so
00:31:30 <elliott> it was ridiculous
00:31:34 <pikhq_> "Prove that if ad-bc≠0, then the reduced row echelon form of [[a,b],[c,d]] is [[1,0],[0,1]]."
00:31:48 <Phantom_Hoover> IRCNet is the one run by psychopaths, yes?
00:32:00 <Gregor> OK, maple cream soda syrup is made.
00:32:03 <Gregor> It is BLACK.
00:32:14 <elliott> Gregor: Seriously I want to buy some of this from you
00:32:17 <oerjan> +ul (( )S)(^!!)(((~:^~(~)S(^!!)~(^)~:^^)(!~(:^!^)~^^^)(!!~(:^!!^)~^^!^))(!(~:^~(^!!)~:^^)(!~(:^!^)~^^!^)(!!~(:^!^)~^^^))(!!(~(:^!!^)~^^!!^)(!(:)S(^!)~:^^)(!!(~)S(^)~:^^))):^^!^!!^
00:32:18 <elliott> Phantom_Hoover: That's EFnet.
00:32:28 <ais523> oerjan: shall I bring thutubot back so you can do that?
00:32:30 <elliott> IRCnet ... might be, I guess, but EFnet is the one known for batshit insanity.
00:32:31 <Gregor> elliott: It costs me about the same as it would to buy normal soda :P
00:32:35 <Gregor> elliott: E_NOTSHIPPABLE
00:32:49 <elliott> Gregor: ;_;
00:32:50 -!- thutubot has joined.
00:32:52 <elliott> Gregor: But it sounds so delicious
00:32:54 <ais523> oerjan: try again now
00:32:57 <Gregor> elliott: IT SO IS
00:32:57 <elliott> And I want to give you millions of pounds for it
00:33:59 -!- lionod420 has joined.
00:33:59 -!- elliott has quit (Read error: Connection reset by peer).
00:34:27 -!- elliott has joined.
00:34:28 <oerjan> +ul (( )S)(^!!)(((~:^~(~)S(^!!)~(^)~:^^)(!~(:^!^)~^^^)(!!~(:^!!^)~^^!^))(!(~:^~(^!!)~:^^)(!~(:^!^)~^^!^)(!!~(:^!^)~^^^))(!!(~(:^!!^)~^^!!^)(!(:)S(^!)~:^^)(!!(~)S(^)~:^^))):^^!^!!^
00:34:31 <thutubot> : ~ ~: ~~ ~:: ~:~ ~~: ~~~ ~::: ~::~ ~:~: ~:~~ ~~:: ~~:~ ~~~: ~~~~ ~:::: ~:::~ ~::~: ~::~~ ~:~:: ~:~:~ ~:~~: ~:~~~ ~~::: ~~::~ ~~:~: ~~:~~ ~~~: ...too much output!
00:34:44 <oerjan> ok then
00:34:45 <ais523> is that correct?
00:34:50 <pikhq_> 5 fucking cases.
00:34:52 -!- lionod420 has left (?).
00:34:53 <oerjan> certainly looks so
00:34:54 <pikhq_> 5 fucking row reductions.
00:34:56 <pikhq_> Bleck.
00:35:04 <pikhq_> At least it wasn't *hard*. :P
00:35:05 <elliott> lol @ too much output emulation
00:35:07 <elliott> does it just talk to fungot? >:D
00:35:08 <oerjan> the expanded version doesn't fit on an irc line, of course
00:35:18 <oerjan> and is much slower
00:35:23 <ais523> elliott: no, if you compare thutubot and fungot, you'll see the errors are slightly different and happen at different times
00:35:27 <elliott> SUUUUURE
00:35:38 <ais523> ^ul (( )S)(^!!)(((~:^~(~)S(^!!)~(^)~:^^)(!~(:^!^)~^^^)(!!~(:^!!^)~^^!^))(!(~:^~(^!!)~:^^)(!~(:^!^)~^^!^)(!!~(:^!^)~^^^))(!!(~(:^!!^)~^^!!^)(!(:)S(^!)~:^^)(!!(~)S(^)~:^^))):^^!^!!^
00:35:51 <ais523> also, thutubot only checks "too much output" after a full S instruction
00:35:53 <ais523> meaning you can trick it
00:36:00 <oerjan> ais523: i did the expanded version in your js interpreter and it took several minutes to print enough that i could see it was working
00:36:01 <elliott> oerjan: so wait, what was the minimal set again?
00:36:12 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc)S
00:36:12 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc
00:36:12 <oerjan> elliott: ~:()^
00:36:17 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc)S
00:36:17 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc
00:36:20 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc)S
00:36:21 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc
00:36:23 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc)S
00:36:23 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc
00:36:28 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:28 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz
00:36:30 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:30 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz
00:36:33 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:33 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz
00:36:36 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:36 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz
00:36:40 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:40 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz
00:36:43 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:43 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz ...too much output!
00:36:46 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:46 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz ...too much output!
00:36:48 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:48 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz ...too much output!
00:36:51 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:51 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz ...too much output!
00:36:55 <elliott> mwahahaha
00:36:57 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:36:57 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz ...too much output!
00:37:01 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:37:01 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz ...too much output!
00:37:06 <elliott> oh come on
00:37:08 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:37:08 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz ...too much output!
00:37:14 <elliott> X_X
00:37:16 <elliott> how long are irc messages these days!
00:37:19 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:37:19 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcx
00:37:24 <elliott> excellent
00:37:26 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:37:26 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz
00:37:31 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyzQUIT)S
00:37:31 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyzQ
00:37:38 <elliott> darn :D
00:38:52 <ais523> it won't overflow from one line to the next, I don't htink
00:39:55 <oerjan> fizzie: we have no fungot
00:40:33 <ais523> elliott: wow you've been spamming up my backlog
00:40:40 <elliott> ais523: sorry!
00:41:01 <ais523> anyway, I'm pretty surprised it got that Underload turing machine so fast
00:41:06 <oerjan> elliott: you could at _least_ have used a binary search
00:41:09 <ais523> given how fundamentally inefficient Thutu is
00:41:22 <elliott> oerjan: PSHT
00:41:39 <oerjan> ais523: the turing machine with ! is pretty efficient i should think
00:41:47 <ais523> Thutu's O(n) behind anything else
00:41:55 <ais523> as it has to regex the whole of memory every time it runs a command
00:42:42 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
00:43:44 <oerjan> <ais523> it won't overflow from one line to the next, I don't htink <-- i think that may be freenode servers cutting it off, i've noticed they started doing that, i think after the ircd switch
00:44:21 <ais523> they always cut it off, even beforehand
00:44:30 <ais523> wrapping's done by the client, I thought
00:44:34 <elliott> indeed
00:44:38 <oerjan> i had the impression it changed to be more annoying
00:44:59 <oerjan> maybe by irssi no longer understanding how long lines it could send
00:46:09 <oerjan> that cutoff message is 421 chars not including the nick
00:46:52 <elliott> poor irssi
00:47:05 <elliott> ais523: now you've got me thinking about disguises...
00:47:31 <elliott> for instance, a functional language where the only operation is destructive assignment
00:47:36 <oerjan> hm the server's initial messages includes TOPICLEN=390 but nothing for general messages
00:48:15 <ais523> it's always 510 minus header
00:48:51 <oerjan> oh
00:49:02 <ais523> but guessing the length of the header can be tricky
00:49:56 <elliott> hmm
00:50:03 <elliott> you know, the markov bots in this channel aren't nearly fun enough!
00:50:13 <elliott> by fun i mean advanced
00:50:14 <elliott> obviously
00:50:27 <oerjan> yeah talking behind fungot's back when it isn't here, how civilized
00:51:07 <elliott> :D
00:51:11 <elliott> hm
00:51:15 <elliott> *hmm
00:51:18 <elliott> I know megahal uses two markov chains
00:51:22 <elliott> one going forwards from the topic, one backwards
00:51:25 <elliott> to make a complete sentence
00:51:29 <elliott> but how does it know what to start with
00:51:30 <elliott> ?
00:51:34 <elliott> obviously it doesn't take the complete input line
00:52:36 <elliott> PSHT
00:52:36 * Phantom_Hoover → sleep
00:52:38 <elliott> WHY AREN'T YOU ALL EXPERTS
00:52:38 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:53:03 <elliott> hm darn
00:53:09 <elliott> i was about to say that we DEFINITELY need a bot written in haskell here
00:53:13 <elliott> but lah de dah
00:53:14 <elliott> mr. lambdabot
00:53:16 <elliott> is fagging up the place
00:53:17 <elliott> oerjan: ban it
00:53:30 <ais523> I like lambdabot
00:53:34 <ais523> we can have two haskellbots if needed
00:53:36 <elliott> i know i just want a niche
00:53:47 <elliott> ok fine i'll write a bot.
00:53:57 <elliott> first things first, IRC parser.
00:54:20 -!- poiuy_qwert has joined.
00:54:32 <Sgeo_> Stan Jones should totally be campaigning against quackery
00:54:55 <Sgeo_> Nope
00:54:58 <oerjan> elliott: YOU FORGOT TO SIGN
00:55:01 <Sgeo_> "Jones continues to promote the use of colloidal silver as a home remedy.
00:55:01 <Sgeo_> "
00:55:02 <elliott> oerjan: wat
00:55:10 <oerjan> YOUR MESSAGE
00:55:14 <oerjan> ON THE WIKI
00:55:23 <oerjan> ais523: BAN HIM
00:55:30 * Sgeo_ hits elliott with |x|/x
00:55:57 <elliott> @hoogle Parser
00:55:57 <lambdabot> module Language.Haskell.Parser
00:55:57 <lambdabot> Text.Parsec.ByteString type Parser = Parsec ByteString ()
00:55:57 <lambdabot> Text.Parsec.String type Parser = Parsec String ()
00:55:57 <thutubot> module Language.Haskell.Parser
00:55:57 <thutubot> Text.Parsec.ByteString type Parser = Parsec ByteString ()
00:55:57 <thutubot> Text.Parsec.String type Parser = Parsec String ()
00:56:02 <elliott> @hoogle Parser Char a
00:56:02 <lambdabot> Did you mean: :: Parser Char /count=20
00:56:02 <lambdabot> Text.ParserCombinators.Parsec.Char type CharParser st = GenParser Char st
00:56:02 <thutubot> Did you mean: :: Parser Char /count=20
00:56:02 <thutubot> Text.ParserCombinators.Parsec.Char type CharParser st = GenParser Char st
00:56:02 <oerjan> Sgeo_: x/|x|, he might be complex
00:56:05 <elliott> @hoogle Parser String
00:56:05 <lambdabot> Did you mean: :: Parser String /count=20
00:56:05 <lambdabot> No results found
00:56:06 <thutubot> Did you mean: :: Parser String /count=20
00:56:06 <thutubot> No results found
00:56:09 <elliott> SHUT UP THUTUBOT
00:56:28 <Sgeo_> Ok, so Stan Jones is an idiot
00:56:41 <elliott> prefix = User <$> many1 (noneOf "!") <*> (char '!' *> many1 (noneOf "@")) <*> (char '@' *> many1 (noneOf " "))
00:56:46 <elliott> oerjan: please make that less horrifying. thanks.
00:57:00 <oerjan> argh
00:57:02 <elliott> @hoogle (m a, m b, m c) -> m (a,b,c)
00:57:03 <lambdabot> No results found
00:57:03 <thutubot> No results found
00:57:05 <elliott> worth a try :-P
00:57:16 <elliott> @hoogle Char -> Parser String
00:57:17 <lambdabot> No results found
00:57:17 <thutubot> No results found
00:57:20 <elliott> @hoogle Char -> Parser Char
00:57:21 <lambdabot> No results found
00:57:21 <thutubot> No results found
00:57:28 <elliott> ok fuck this i'l lcheck the docs
00:57:30 <elliott> *i'll check
00:57:40 <oerjan> elliott: liftM3 (,,)
00:57:55 <elliott> oerjan: doesn't help, there's no uncurry3 :D
00:57:59 <elliott> :t liftM3
00:57:59 <oerjan> ah
00:58:00 <lambdabot> forall a1 a2 a3 r (m :: * -> *). (Monad m) => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r
00:58:00 <thutubot> forall a1 a2 a3 r (m :: * -> *). (Monad m) => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r
00:58:03 <elliott> aha
00:58:04 <elliott> liftM3 User
00:58:19 <Sgeo_> oerjan, what does x/|x| do to duals?
00:58:33 <oerjan> Sgeo_: what is a dual?
00:58:36 <elliott> liftM3 User
00:58:37 <elliott> (many1 (noneOf "!"))
00:58:37 <elliott> (char '!' *> many1 (noneOf "@"))
00:58:37 <elliott> (char '@' *> many1 (noneOf " "))
00:58:37 <elliott> good enough
00:58:39 -!- augur has joined.
00:58:58 <Sgeo_> oerjan, forget the symbol, but (dual)^2 = 0
00:59:05 <Sgeo_> http://en.wikipedia.org/wiki/Dual_numbers
00:59:23 <oerjan> elliott: heh i thought everyone wanted to use <*> _instead_ of the liftM* functions
00:59:37 <elliott> oerjan: that would be more ugly in this case, no? :)
00:59:52 <oerjan> indeed it so seems
01:00:54 <elliott> char ':' *>
01:00:54 <elliott> try (liftA3 User
01:00:54 <elliott> (many1 (noneOf "!"))
01:00:54 <elliott> (char '!' *> many1 (noneOf "@"))
01:00:54 <elliott> (char '@' *> many1 (noneOf " ")))
01:00:55 <elliott> <|> Server <$> many1 (noneOf " ")
01:00:57 <elliott> yay uglies!
01:01:06 <elliott> augh, that doesn't even work, but it did a second ago
01:01:56 <elliott> @hoogle [m a] -> m [a]
01:01:56 <lambdabot> Prelude sequence :: Monad m => [m a] -> m [a]
01:01:56 <lambdabot> Control.Monad sequence :: Monad m => [m a] -> m [a]
01:01:56 <lambdabot> Language.Haskell.TH.Syntax sequenceQ :: [Q a] -> Q [a]
01:01:56 <thutubot> Prelude sequence :: Monad m => [m a] -> m [a]
01:01:56 <thutubot> Control.Monad sequence :: Monad m => [m a] -> m [a]
01:01:56 <thutubot> Language.Haskell.TH.Syntax sequenceQ :: [Q a] -> Q [a]
01:01:58 <elliott> no wiat
01:01:59 <elliott> *wait
01:02:00 <elliott> @hoogle [m a] -> m a
01:02:00 <lambdabot> Control.Monad msum :: MonadPlus m => [m a] -> m a
01:02:00 <lambdabot> Test.QuickCheck oneof :: [Gen a] -> Gen a
01:02:01 <lambdabot> Data.IntMap unions :: [IntMap a] -> IntMap a
01:02:01 <thutubot> Control.Monad msum :: MonadPlus m => [m a] -> m a
01:02:01 <thutubot> Test.QuickCheck oneof :: [Gen a] -> Gen a
01:02:01 <thutubot> Data.IntMap unions :: [IntMap a] -> IntMap a
01:02:06 <elliott> gah what is it again
01:02:48 <elliott> ah, asum
01:02:49 <elliott> :t asum
01:02:50 <lambdabot> Not in scope: `asum'
01:02:50 <thutubot> Not in scope: `asum'
01:02:58 <elliott> from Data.Foldable
01:03:22 <Gregor> Hmmm
01:03:28 <Gregor> Maple cream soda: Not as good as I'd hoped.
01:03:33 <elliott> Gregor: :<
01:04:23 <Gregor> It's not bad, but I'd rather just have normal cream soda :P
01:04:34 <oerjan> elliott: i think the traditional Parsec function is choice
01:04:36 <elliott> I put maple syrup on EVERYTHING
01:04:37 <elliott> oerjan: indeed
01:04:50 <elliott> oerjan: it occurs to me that I should be using attoparsec, because irc messages might not be valid utf-8
01:04:56 <elliott> oerjan: otoh, i'm probably justified in just dropping ones that aren't :)
01:05:12 <elliott> but then i think the io system cannot recover from invalid utf-8.
01:05:16 <elliott> so i'm going to have to use binary IO anyway.
01:05:48 <oerjan> well Parsec is capable of parsing more than Strings
01:06:15 <elliott> oerjan: yeah. but i don't think there's built-in bytestring support?
01:06:30 <oerjan> i don't know what they've added recently
01:07:11 <elliott> Attoparsec is FASHIONABLE, anyway!
01:07:26 <oerjan> elliott: also i vaguely recall the io system can be set to a different encoding
01:07:37 <elliott> you can set it to be all binary about things
01:07:44 <oerjan> that too
01:07:44 <elliott> but.
01:08:13 <elliott> oerjan: which just sets the encoding to latin-1 btw :P
01:08:25 <oerjan> perhaps
01:08:30 <elliott> that too. perhaps.
01:11:03 <pikhq_> Odd that it wouldn't be able to recover from invalid UTF-8...
01:11:11 <pikhq_> Given that it takes effort to make that happen.
01:11:14 <elliott> pikhq_: well it causes an exception.
01:11:20 <elliott> so i'm not sure getLine would do something sane after that
01:11:40 <pikhq_> They literally did go to extra work to make it not recover from invalid UTF-8?
01:11:43 <oerjan> hm that would be even worse for getContents, i assume...
01:11:43 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:11:50 <elliott> pikhq_: not really, it's just that invalid utf-8 -> exception
01:11:59 <elliott> and after an exception i wouldn't expect it to e.g. discard the rest of the line as you'd want
01:12:03 <pikhq_> elliott: Yes, and you have to do extra work to cause that.
01:12:09 <elliott> pikhq_: as opposed to what?
01:12:13 <elliott> pikhq_: the whole point is that it interprets the unicode
01:12:21 <elliott> and puts it into (utf-32) Chars
01:13:21 <pikhq_> elliott: Half the point of UTF-8's design is to make it literally automatic to recover from invalid UTF-8.
01:13:29 <elliott> i don't think you quite understand.
01:13:35 <elliott> hGetLine cannot possibly succeed on a line with invalid utf-8.
01:13:41 <elliott> because it returns a String
01:13:42 <elliott> which is [Char]
01:13:47 <elliott> and each Char is a unicode codepoint
01:13:51 <elliott> so when it encounters invalid UTF-8
01:13:54 <elliott> it /cannot/ return a String
01:13:57 <elliott> because the result would not be valid
01:13:59 <elliott> thus, it has to trigger an error
01:14:00 <pikhq_> If you want to make it "correct", replace it with the replacement character.
01:14:02 * Sgeo_ hits elliott in the head with a UTF-8 BOM
01:14:03 <Gregor> Actually I think there's too much maple.
01:14:15 <elliott> pikhq_: that would not be an accurate hGetLine function.
01:14:18 <Gregor> It's overpowering.
01:14:24 <elliott> Gregor: NEVER
01:14:38 <Sgeo_> Not like he can hear me
01:14:59 <pikhq_> Oh, sorry, I should shaddup.
01:15:08 <Sgeo_> pikhq_, wha?
01:15:13 <pikhq_> "The Unicode Standard requires decoders to '...treat any ill-formed code unit sequence as an error condition. This guarantees that it will neither interpret nor emit an ill-formed code unit sequence.'"
01:15:13 -!- elliott has quit (Read error: Connection reset by peer).
01:15:18 <Sgeo_> Oh
01:15:39 -!- elliott has joined.
01:15:45 <elliott> <pikhq_> Oh, sorry, I should shaddup.
01:15:47 <elliott> <elliott> pikhq_: ?
01:15:49 <elliott> * Disconnected (Connection reset by peer).
01:15:53 <pikhq_> See log.
01:16:07 <elliott> 17:15:13 <pikhq_> "The Unicode Standard requires decoders to '...treat any ill-formed code unit sequence as an error condition. This guarantees that it will neither interpret nor emit an ill-formed code unit sequence.'"
01:16:08 <elliott> lawl
01:16:30 <elliott> 17:14:02 * Sgeo_ hits elliott in the head with a UTF-8 BOM
01:16:34 <elliott> UTF-8 BOM.
01:16:40 <elliott> congratulations, you're eligible for the special olympics
01:16:43 <pikhq_> Sgeo_: UTF-8 BOM is entirely valid and semantically meaningless.
01:16:50 <pikhq_> elliott: UTF-8 BOM is entirely valid and semantically meaningless.
01:16:56 <Sgeo_> pikhq_, oh, thought it was invalid
01:16:57 <elliott> pikhq_: And Special Olympics-worthy.
01:17:04 <pikhq_> elliott: Yes. And Microsoft does it.
01:17:07 <Sgeo_> elliott, my failed joke was that there's no such valid thing
01:17:10 <elliott> precisely
01:17:15 <Sgeo_> And I wasa mistaken
01:17:23 <Sgeo_> *was
01:17:45 <pikhq_> Literally the only reason to *ever* use it is if you want some in-channel signalling about whether or not a string is UTF-8.
01:17:53 <pikhq_> And even then, it's pretty stupid.
01:18:19 -!- Mathnerd314 has joined.
01:19:31 <pikhq_> Not to mention that it ruins programs that aren't designed around Unicode, but aren't UTF-8 incompatible.
01:20:20 <pikhq_> Obvious example: it breaks shebang.
01:20:39 <elliott> Shebangggggggggggggggggg
01:25:11 <Sgeo_> UTF-8 incompatible?
01:25:24 <Sgeo_> Oh, >127 stuff
01:28:51 -!- iconmaster has quit (Quit: Bersirc 2.2: Looks, feels and sounds (?!) different! [ http://www.bersirc.org/ - Open Source IRC ]).
01:31:40 <elliott> Glaaah, this is the broken.
01:31:50 <elliott> Perhaps oerjan is to blame.
01:32:09 <oerjan> latin-1 encoding should work fine for irc anyways?
01:32:18 -!- pikhq_ has changed nick to pikhq.
01:32:26 <elliott> oerjan: erm we use utf-8 plenty :D
01:32:28 <elliott> and latin-1 never
01:32:34 <pikhq> oerjan: 不本当!
01:32:43 <oerjan> pikhq: i see only blanks
01:32:55 <pikhq> oerjan: Not my fault your client is broken.
01:32:58 <oerjan> elliott: i mean ghc's latin-1 encoding, which doesn't delete anything
01:33:06 <oerjan> pikhq: only putty
01:33:07 <elliott> oerjan: well right. but what if i want to, like, process things?!
01:33:15 <elliott> oerjan: putty is fine, i strongly suspect your client
01:33:44 <oerjan> elliott: no, i can copy and paste the characters fine
01:33:53 <elliott> oerjan: heh
01:33:57 <pikhq> elliott: It's irssi.
01:34:00 <elliott> oerjan: try editing your connection settings, there may be an encoding property
01:34:02 <elliott> pikhq: see what oerjan said
01:34:12 <pikhq> oerjan: Something is definitely borken.
01:34:18 <pikhq> What's your locale?
01:34:25 <oerjan> elliott: it is putty's not having suitable fonts
01:34:35 <elliott> oerjan: does it not do fallback?hm
01:34:37 <elliott> *fallback? hm
01:34:39 <elliott> pikhq: dude he's on windows
01:34:39 <oerjan> pikhq: the error is not on irssi
01:34:51 <oerjan> or terminal
01:34:53 <pikhq> elliott: His client isn't.
01:35:06 <elliott> stopbeing dense
01:35:17 <oerjan> pikhq: the problem is on the windows side
01:35:32 <pikhq> oerjan: Here's a nickle, kid. Get yourself a real OS.
01:35:32 <oerjan> putty refuses to use more than one font
01:36:04 <oerjan> and i have no font containing both european and oriental characters
01:36:36 <pikhq> Sure you do. MS Mincho, at a minimum.
01:36:41 <pikhq> (warning: MS Mincho SUCKS ASS)
01:36:52 <oerjan> and the fonts that i was suggested to download recently didn't help
01:37:02 <oerjan> pikhq: this is windows xp btw
01:37:06 <Sgeo_> If my browser were working, I'd google MS Mincho. It's not. What is it?
01:37:24 <pikhq> Yes. MS Mincho first shipped with Windows 3.1.
01:37:40 <pikhq> (though I think only for Japanese versions of the OS on not-NT)
01:38:01 <pikhq> Sgeo_: MS Mincho is a very, very old Japanese font.
01:38:14 <oerjan> pikhq: oh putty also refuses to use non-monospace fonts
01:38:16 <pikhq> As required by relevant JIS standards, it is also a Latin-1 font.
01:38:41 * Sgeo_ decides to learn Falcon
01:39:29 * Sgeo_ believes himself too out of it right now to incur permanent brain damage
01:39:33 <oerjan> pikhq: hm you were right, MS Mincho does work, though looking horribly
01:40:22 <Sgeo_> Actually, I just want to understand the monad debacle
01:40:58 <pikhq> oerjan: Told ya on both counts.
01:42:49 <oerjan> MS Gothic might be better
01:44:00 <Sgeo_> The Falcon homepage decided to show me an eyesore
01:44:22 <pikhq> MS Gothic also sucks.
01:44:30 <pikhq> Though less so for screen use.
01:46:37 <Sgeo_> Although maybe I just need to get used to the syntax
01:46:45 <Sgeo_> Many good languages may look like eyesores
01:47:34 <oerjan> argh it got even worse when i increased font size to something otherwise comfortable
01:47:35 <Sgeo_> And I just proved in #falcon that I'm too out of it to incur any braindamage
01:48:10 <Sgeo_> I conflated comprehensions with compatibility with for
01:49:31 -!- FireFly has quit (Quit: swatted to death).
01:49:48 <oerjan> oh wait somehow all the fonts were set to bold
01:49:48 <Sgeo_> Why am I secretly expecting to be amazed by Falcon?
01:51:53 <Sgeo_> d = [=>].comp( [0:6],
01:51:53 <Sgeo_> { n => [ 'a'/ n, n] } )
01:52:09 <Sgeo_> Despite the hideousness of the above, they are not against syntactic sugar
01:52:25 <Sgeo_> Again, maybe my eyes need to adjust
01:53:18 <elliott> jhj
01:54:23 <elliott> oerjan: are you SURE putty doesn't do fallback?
01:54:32 <zzo38> I have MS Gothic font.
01:54:42 <zzo38> PuTTY only uses the font which is set. It will not switch to other fonts.
01:54:54 <zzo38> (I am using PuTTY now)
01:55:08 <oerjan> elliott: i am sure that i see blanks for japanese when i set the font to courier new
01:55:29 <elliott> putty sucks then :P
01:55:50 <zzo38> I see the replacement boxes. But I can copy it to the clipboard and put in another program to make the Japanese text viewable.
01:56:32 <oerjan> zzo38: actually after i set putty to utf-8 i don't even see boxes, just a blank space, which is rather annoying
01:56:46 <oerjan> (sometimes no hint it's actually _there_)
01:57:12 <oerjan> well i didn't see boxes before either, but irssi showed question marks
01:57:22 <zzo38> Which is strange, since I can see the replacement boxes. It is set to UTF-8.
01:57:28 <oerjan> what font?
01:58:11 <oerjan> maybe it depends on font
01:58:43 <zzo38> Courier New 10
01:58:49 <oerjan> huh me too
01:59:37 <zzo38> However, I do not have antialiasing or cleartype turned on.
02:00:36 <oerjan> maybe my putty is too old, i don't think i've ever upgraded
02:01:14 <elliott> oerjan: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
02:01:15 <elliott> yw
02:01:23 <elliott> unless you used the installer: http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe
02:01:57 -!- Mathnerd314 has quit (Ping timeout: 276 seconds).
02:02:00 <elliott> prefix :: Parser Prefix
02:02:00 <elliott> prefix = do
02:02:00 <elliott> char ':'
02:02:00 <elliott> liftA3 User
02:02:00 <elliott> (many1 (noneOf "!"))
02:02:00 <elliott> (char '!' *> many1 (noneOf "@"))
02:02:02 <elliott> (char '@' *> many1 (noneOf " "))
02:02:04 <elliott> <|> Server <$> many1 (noneOf " ")
02:02:06 <elliott> *Main> parse prefix "" ":abc"
02:02:08 <elliott> Left (line 1, column 5):
02:02:12 <elliott> unexpected end of input
02:02:14 <elliott> expecting "!"
02:02:16 <elliott> oerjan: i've put try everywhere and it still ain't working :(
02:02:33 <elliott> oh
02:02:34 <elliott> now it works :D
02:02:49 -!- pikhq_ has joined.
02:03:22 <elliott> hey pikhq
02:03:25 <elliott> gimme a list of all irc commands in the spec
02:04:17 <oerjan> elliott: shouldn't that <|> be indented less than the do
02:04:26 <elliott> oerjan: no.
02:04:30 <elliott> oerjan: :foo is how server prefixes go
02:04:50 <elliott> aha
02:04:51 <oerjan> um but do clients see those?
02:04:53 <elliott> when I use *> it parses wron
02:04:54 <elliott> g
02:04:55 <elliott> instead of >>
02:05:02 <elliott> oerjan: yes; ":server PING foo" for one
02:05:04 <elliott> same for motd, etc.
02:05:06 <elliott> NAMES lists
02:05:10 <elliott> tons of shit
02:05:18 <elliott> haskell needs a $ for operators
02:05:19 <elliott> like
02:05:20 <oerjan> elliott: ah yes that annoyed me the other day, *> is fixity 4 while >> is 1
02:05:24 <elliott> foo *>$ bar
02:05:25 <elliott> :D
02:05:28 <elliott> oerjan: indeed
02:05:36 <elliott> oerjan: I just want to be agood anti-monadic citizen!
02:05:49 <elliott> @hoogle f a -> f b -> f b
02:05:49 <lambdabot> Control.Applicative (*>) :: Applicative f => f a -> f b -> f b
02:05:49 <lambdabot> Prelude (>>) :: Monad m => m a -> m b -> m b
02:05:49 <lambdabot> Control.Monad (>>) :: Monad m => m a -> m b -> m b
02:05:49 <thutubot> Control.Applicative (*>) :: Applicative f => f a -> f b -> f b
02:05:49 <thutubot> Prelude (>>) :: Monad m => m a -> m b -> m b
02:05:49 <thutubot> Control.Monad (>>) :: Monad m => m a -> m b -> m b
02:05:51 <oerjan> although my annoyment was trying to make a really awful haskell hack, so..
02:05:59 <elliott> oerjan: haha what were you trying to do?
02:06:09 -!- pikhq has quit (Ping timeout: 240 seconds).
02:06:47 <oerjan> elliott: i was trying to make an expression that gave different but valid results if replacing, hm what was it...
02:06:55 <elliott> <Guest24913> "This sentence is false" is like : x = x == false
02:07:02 <elliott> STUNNING PHILOSOPHICAL THOUGHT FROM #HASKELL
02:07:21 <oerjan> elliott: ah replacing <- with < -
02:07:42 <elliott> <Guest24913> which is a paradox
02:07:42 <elliott> <Guest24913> paradox means our language and logic is broken
02:07:46 <elliott> <Guest24913> a paradox is an human infinite loop
02:07:55 <elliott> WHY ARE YOU IN MY #HASKELL, GUEST NUMBER 24913
02:07:56 <oerjan> and i _almost_ had it if not for the fact <* was fixity 4
02:08:00 <elliott> oerjan: hahaha
02:08:18 <elliott> <Guest24913> the fact that we interpret sentences that are broken means that language is broken
02:08:18 <elliott> <Guest24913> we should fix it, and math, and programming
02:08:30 <oerjan> (i considered redefining operators to be cheating)
02:08:42 <elliott> <Guest24913> it should not be possible to be able to fail to divide by 0
02:09:02 <pikhq_> elliott: Alex? I'd consider Alex to actually be a legitimate instance of animal language.
02:09:09 <elliott> yes, that one, Alex
02:09:41 <elliott> would have been fun to talk to him
02:09:44 <pikhq_> The most convincing bit being that Alex actually performed innovation with language.
02:10:08 <elliott> pikhq_: yes. also it seems like he expressed his motions a lot more fluidly than the apes
02:10:09 <oerjan> <elliott> foo *>$ bar <-- (foo *>)$ should work
02:10:09 <pikhq_> (upon being shown an apple for the first time, Alex referred to it as a "banerry".)
02:10:16 <elliott> it could just be that apes are really boring people :D
02:10:22 <elliott> oerjan: indeed.
02:10:25 <elliott> oerjan: but that's quite ugly
02:10:39 <elliott> hmm is abc!@ a valid irc username?
02:10:45 <elliott> i.e. can the username and hostname be empty?
02:11:01 <Sgeo_> "In Falcon, to store and handle efficiently strings, strings are built on a buffer in which each character occupies a fixed space. The size of each character is determined by the size in bytes needed by the widest character to be stored."
02:15:42 <elliott> @hoogle liftA4
02:15:42 <lambdabot> No results found
02:15:42 <thutubot> No results found
02:15:44 <elliott> @hoogle liftM4
02:15:44 <lambdabot> Control.Monad liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r
02:15:45 <thutubot> Control.Monad liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r
02:15:47 <elliott> oerjan: GASP
02:15:56 <elliott> so applicatives aren't as powerful as monads then ;D
02:16:36 <oerjan> perhaps.
02:16:43 <elliott> oh wait
02:16:44 <elliott> i only need 3
02:16:46 <oerjan> :t liftA2.liftA2
02:16:47 <elliott> FUCK YEAH
02:16:47 <lambdabot> forall (f :: * -> *) a b c (f1 :: * -> *). (Applicative f, Applicative f1) => (a -> b -> c) -> f (f1 a) -> f (f1 b) -> f (f1 c)
02:16:47 <thutubot> forall (f :: * -> *) a b c (f1 :: * -> *). (Applicative f, Applicative f1) => (a -> b -> c) -> f (f1 a) -> f (f1 b) -> f (f1 c)
02:16:52 <elliott> oerjan: ha ha fail
02:16:58 <elliott> (most useless function ever?)
02:17:11 <elliott> :t ((.).(.)) liftA2 liftA2
02:17:11 <oerjan> oh wai
02:17:12 <lambdabot> forall b (f :: * -> *) a b1 c. (Applicative f) => (a -> b1 -> c) -> (b -> a) -> f (b -> b1) -> f b -> f c
02:17:12 <thutubot> forall b (f :: * -> *) a b1 c. (Applicative f) => (a -> b1 -> c) -> (b -> a) -> f (b -> b1) -> f b -> f c
02:17:13 <elliott> can breasts save us?!
02:17:15 <oerjan> t
02:17:40 <elliott> :t \a b c d e -> liftA2 (liftA3 a b c) d
02:17:40 <lambdabot> forall t a b c c1 b1 (f :: * -> *). (Applicative f) => (a -> b -> c -> c1) -> (b1 -> a) -> (b1 -> b) -> f (b1 -> c) -> t -> f b1 -> f c1
02:17:40 <thutubot> forall t a b c c1 b1 (f :: * -> *). (Applicative f) => (a -> b -> c -> c1) -> (b1 -> a) -> (b1 -> b) -> f (b1 -> c) -> t -> f b1 -> f c1
02:17:43 <oerjan> no, because the first argument of liftA* isn't monadic
02:17:47 <elliott> oerjan: i gather then that it is impossible.
02:18:05 <oerjan> hm...
02:18:17 <oerjan> :t liftA3 id . liftA2
02:18:18 <lambdabot> forall c a b c1. (a -> b -> c1) -> ((c -> a) -> c -> b) -> ((c -> a) -> c) -> (c -> a) -> c1
02:18:18 <thutubot> forall c a b c1. (a -> b -> c1) -> ((c -> a) -> c -> b) -> ((c -> a) -> c) -> (c -> a) -> c1
02:18:27 <oerjan> sheesh
02:19:04 <Sgeo_> What's the "correct" way to internally store Unicode strings?
02:19:11 <elliott> oerjan: what's the parsec thing for "ANY STRING WHATSOEVER GOD DAMN"
02:19:19 <Sgeo_> I'm pretty sure Falcon's doing it wrongly, but what's a right way?
02:19:37 <Sgeo_> I suggested UTF-8, person guessed that that wasn't used because it breaks indexability
02:20:07 <oerjan> elliott: many anyChar
02:20:20 <elliott> oerjan: that's so lame.
02:20:24 <elliott> that's the lamest lame that ever was lame.
02:20:27 <elliott> in fact it may be MAXIMUM LAME.
02:21:03 <elliott> :t sepBy
02:21:04 <lambdabot> Not in scope: `sepBy'
02:21:04 <thutubot> Not in scope: `sepBy'
02:21:06 <elliott> :t Text.Parsec.sepBy
02:21:07 <lambdabot> Couldn't find qualified module.
02:21:07 <thutubot> Couldn't find qualified module.
02:21:13 <elliott> :t Text.ParserCombinators.Parsec.sepBy
02:21:13 <lambdabot> forall tok st a sep. Text.ParserCombinators.Parsec.Prim.GenParser tok st a -> Text.ParserCombinators.Parsec.Prim.GenParser tok st sep -> Text.ParserCombinators.Parsec.Prim.GenParser tok st [a]
02:21:14 <thutubot> forall tok st a sep. Text.ParserCombinators.Parsec.Prim.GenParser tok st a -> Text.ParserCombinators.Parsec.Prim.GenParser tok st sep -> Text.ParserCombinators.Parsec.Prim.GenParser tok st [a]
02:21:17 <elliott> O_O
02:21:42 <Sgeo_> Ah, in Falcon, 32-bit storage can be forced
02:22:02 <elliott> @pl flip (<$>)
02:22:02 <lambdabot> flip (<$>)
02:22:02 <thutubot> flip (<$>)
02:22:12 <elliott> no wait it's actually >>= i want here
02:22:13 <elliott> so oerjan
02:22:15 <Sgeo_> My aneurism is done
02:22:17 <elliott> what's the equivalent of >>= for monads :-D
02:22:23 <elliott> erm
02:22:26 <elliott> what's the equivalent of >>= for applicatives :-D
02:22:27 <elliott> totally
02:22:28 <elliott> ruined my joke there
02:22:50 <oerjan> :t ((.).(.)) (liftA3 id) liftA2
02:22:51 <lambdabot> forall b c d a b1. (a -> b1 -> c -> d) -> (b -> a) -> ((b -> b1) -> b) -> ((b -> b1) -> c) -> (b -> b1) -> d
02:22:51 <thutubot> forall b c d a b1. (a -> b1 -> c -> d) -> (b -> a) -> ((b -> b1) -> b) -> ((b -> b1) -> c) -> (b -> b1) -> d
02:23:28 <elliott> args <- sepBy pArgument (char ' ')
02:23:29 <elliott> args' <- (string " :" >> (:[]) <$> many anyChar) <|> return []
02:23:29 <elliott> return (args ++ args')
02:23:31 <elliott> oerjan deuglify, thanks
02:23:40 <elliott> hm wait
02:23:43 <elliott> that's liftA2 isn't it
02:23:55 <oerjan> elliott: FUNNY GUY
02:24:13 <oerjan> hm that didn't work either
02:24:20 <oerjan> elliott: yeah
02:24:30 <elliott> liftA2 (++)
02:24:30 <elliott> (sepBy pArgument (char ' '))
02:24:30 <elliott> (((string " :" *>) $ (:[]) <$> many anyChar) <|> return [])
02:24:32 <elliott> quite impressively ugly, that
02:24:43 <oerjan> :t ((.)(.)) (liftA3 id) liftA2
02:24:44 <lambdabot> forall (f :: * -> *) a b c (f1 :: * -> *). (Functor f, Applicative f1) => f ((a -> b -> c) -> f1 a) -> f (((a -> b -> c) -> f1 b) -> (a -> b -> c) -> f1 c)
02:24:44 <thutubot> forall (f :: * -> *) a b c (f1 :: * -> *). (Functor f, Applicative f1) => f ((a -> b -> c) -> f1 a) -> f (((a -> b -> c) -> f1 b) -> (a -> b -> c) -> f1 c)
02:24:58 <oerjan> sheesh
02:25:01 <elliott> oerjan: just write it out manually good god :D
02:25:56 <oerjan> :t \f w x y z -> liftA3 id (liftA2 w x y) z
02:25:57 <lambdabot> forall t b c d a b1 (f :: * -> *). (Applicative f) => t -> (a -> b1 -> b -> c -> d) -> f a -> f b1 -> f b -> f c -> f d
02:25:57 <thutubot> forall t b c d a b1 (f :: * -> *). (Applicative f) => t -> (a -> b1 -> b -> c -> d) -> f a -> f b1 -> f b -> f c -> f d
02:26:45 <oerjan> oh
02:26:55 <oerjan> :t \f w x y z -> liftA2 id (liftA2 w x y) z
02:26:56 <lambdabot> forall t b c a b1 (f :: * -> *). (Applicative f) => t -> (a -> b1 -> b -> c) -> f a -> f b1 -> f b -> f c
02:26:56 <thutubot> forall t b c a b1 (f :: * -> *). (Applicative f) => t -> (a -> b1 -> b -> c) -> f a -> f b1 -> f b -> f c
02:27:28 <oerjan> um wtf is with that t
02:27:34 <elliott> your f
02:27:35 <elliott> you don't use it
02:27:36 <oerjan> oh
02:27:37 <elliott> Q.E.D.
02:27:49 <elliott> gah, why can't ghci just stub out invalid functions with undefined when loading a module
02:27:51 <oerjan> :t \f w x y z -> liftA3 id (liftA2 f w x ) y z
02:27:52 <lambdabot> forall b c d a b1 (f :: * -> *). (Applicative f) => (a -> b1 -> b -> c -> d) -> f a -> f b1 -> f b -> f c -> f d
02:27:52 <thutubot> forall b c d a b1 (f :: * -> *). (Applicative f) => (a -> b1 -> b -> c -> d) -> f a -> f b1 -> f b -> f c -> f d
02:27:52 <elliott> would be so convenient
02:28:11 <oerjan> elliott: indeed
02:28:26 <elliott> pikhq_: hm is "PRIVMSG<space><space>#esoteric" OK in IRC?
02:28:28 <elliott> or is it always one-space
02:28:31 <oerjan> i recall a reddit post about that a few weeks ago
02:29:04 <elliott> oerjan: yes, cdsmith was complaining about ghci :)
02:30:32 -!- pikhq has joined.
02:30:43 -!- pikhq_ has quit (Ping timeout: 246 seconds).
02:32:49 <elliott> pikhq:
02:32:51 <elliott> <elliott> pikhq_: hm is "PRIVMSG<space><space>#esoteric" OK in IRC?
02:32:51 <elliott> <elliott> or is it always one-space
02:33:27 <elliott> liftA2 (++)
02:33:27 <elliott> (many ((char ' ' *>) $ try $ liftA2 (:) (noneOf ": ") (many1 (noneOf " "))))
02:33:27 <elliott> (((string " :" *>) $ (:[]) <$> many anyChar) <|> return [])
02:33:28 <elliott> oerjan
02:33:32 <elliott> i don't think my parser is going too well
02:34:16 <oerjan> O_o
02:34:21 <elliott> yay it's nicer now
02:34:27 <elliott> pArguments :: Parser [String]
02:34:27 <elliott> pArguments = many (char ' ' *> pArgument)
02:34:27 <elliott> where pArgument = liftA2 (:) (noneOf ": ") (many1 (noneOf " "))
02:34:27 <elliott> <|> char ':' *> many anyChar
02:36:17 <elliott> @hoogle Either a b -> Maybe b
02:36:17 <lambdabot> Data.Typeable typeOf2 :: Typeable2 t => t a b -> TypeRep
02:36:17 <lambdabot> Prelude either :: (a -> c) -> (b -> c) -> Either a b -> c
02:36:17 <lambdabot> Data.Either either :: (a -> c) -> (b -> c) -> Either a b -> c
02:36:18 <thutubot> Data.Typeable typeOf2 :: Typeable2 t => t a b -> TypeRep
02:36:18 <thutubot> Prelude either :: (a -> c) -> (b -> c) -> Either a b -> c
02:36:18 <thutubot> Data.Either either :: (a -> c) -> (b -> c) -> Either a b -> c
02:36:22 <elliott> psht
02:36:24 <elliott> how can that not exist
02:36:40 <elliott> parseMessage :: ByteString -> Maybe Message
02:36:40 <elliott> parseMessage = either (const Nothing) Just . parse pMessage "<irc>" . B.toString
02:36:41 <elliott> yay
02:37:45 <elliott> oh wait argh
02:37:48 <oerjan> (char ' ' *> try `id` liftA2 (:) (noneOf ": ") (many1 (noneOf " "))) >:)
02:37:52 <elliott> oerjan: OH WONDERFUL
02:37:55 <elliott> `id`
02:37:56 <elliott> lol @ that
02:38:01 <elliott> data Message = Message Prefix Command [String] deriving (Show, Eq)
02:38:04 <elliott> oerjan: SPOT THE INCONVENIENT
02:38:12 <oerjan> i'd been waiting for a chance to try that one
02:38:24 <elliott> like i said, we need @infixify
02:38:28 <elliott> hmm
02:38:30 <elliott> since it's FIXing it
02:38:34 <elliott> we should call it @spoil
02:38:35 <elliott> or @break
02:39:23 <HackEgo> No output.
02:40:55 <oerjan> HackEgo is an ego, it has no id
02:44:10 <Sgeo_> Well, I just said something nice about Falcon.
02:44:15 <Sgeo_> Where are the flying pigs?
02:44:48 <zzo38> It is permitted with two spaces I tried sending the message to myself and it works
02:45:21 <zzo38> Sgeo_: Maybe the flying pigs are in the card game with flying cards and also flying pigs.
02:47:31 <elliott> that doesn't mean it's permitted for servers to send it
02:47:58 <zzo38> elliott: Servers probably shouldn't send it.
02:49:05 <elliott> hmm maybe I should split up Message and Line
02:54:09 <elliott> bleh, but pattern-matching on that would suck
02:54:13 <elliott> like
02:54:18 <elliott> foo (Line prefix (Message cmd args))
02:54:19 <elliott> ugly
02:54:25 <elliott> oerjan you know why haskell sucks
02:54:28 <elliott> no structural subtyping ;D
02:55:06 -!- elliott has quit (Read error: Connection reset by peer).
02:55:22 -!- elliott has joined.
02:55:33 <elliott> <elliott> hmm maybe I should split up Message and Line
02:55:35 <elliott> <elliott> bleh, but pattern-matching on that would suck
02:55:39 <elliott> <elliott> like
02:55:41 <elliott> <elliott> foo (Line prefix (Message cmd args))
02:55:43 <elliott> <elliott> ugly
02:55:45 <elliott> <elliott> oerjan you know why haskell sucks
02:55:47 <elliott> <elliott> no structural subtyping ;
02:55:49 <elliott> *;D
02:57:46 <zzo38> What are you trying to make now?
02:58:19 <elliott> botte
02:58:24 <oerjan> elliott: i saw all the messages already
02:58:37 <elliott> oerjan: well my connection is really unreliable
02:58:42 <elliott> and usually stuff doesn't get through before i ping out
03:01:33 <oerjan> elliott: maybe you could define some operator constructors
03:01:51 <elliott> oerjan: :D
03:01:54 <oerjan> foo (prefix :+ cmd :- args)
03:01:54 <elliott> always the solution
03:02:08 <elliott> oerjan: clearly it should be :< for the prefix
03:02:13 <elliott> and :- for the args
03:02:14 <elliott> because of logic
03:02:18 <oerjan> O KAY
03:02:18 <elliott> foo (prefix :< cmd :- args)
03:02:21 <elliott> NOW IT'S TRULY UNREADABLE
03:05:07 <elliott> oerjan: possibly just (prefix :< Message cmd args) would be saner :D
03:05:21 <oerjan> mhm
03:05:43 <Sgeo_> I really, really, really, like Falcon's fself
03:06:16 <elliott> /home/elliott/Code/botte/IRC.hs:17:16:
03:06:16 <elliott> Ambiguous occurrence `Line'
03:06:16 <elliott> It could refer to either `Main.Line', defined at /home/elliott/Code/botte/IRC.hs:15:5
03:06:16 <elliott> or `Text.Parsec.Line', imported from Text.Parsec at /home/elliott/Code/botte/IRC.hs:3:0-38
03:06:17 <elliott> argh
03:07:13 <oerjan> hiding (Line)
03:07:28 <elliott> oerjan: oh sure
03:07:29 <elliott> you
03:07:30 <elliott> always with your
03:07:32 <elliott> "solutions"
03:07:33 <elliott> sickening
03:08:26 <pikhq> *Huh*. Christianity in Sub-Saharan Africa actually predates European colonialism.
03:08:29 <zzo38> Are you trying to make IRC with Haskell?
03:08:37 <elliott> zzo38: irc bot
03:08:38 <zzo38> pikhq: I didn't know that.
03:09:02 <pikhq> Ethiopia has had Orthodox Christianity since the 4th century.
03:09:32 <pikhq> Sorry, *probably earlier than that*. It became the state religion in the 4th century.
03:10:16 <zzo38> I didn't know that either.
03:10:35 <zzo38> Now are they going to put that on Jeopardy?
03:10:55 <oerjan> SORRY JEOPARDY IS DEAD
03:11:03 <elliott> yeah a robot won it
03:11:03 <oerjan> THE MACHINES HAVE TAKEN OVER
03:11:07 <elliott> now it's over
03:11:28 <zzo38> A computer did win Jeopardy. But that is only because of a very stupid mistake Ken made in wagering.
03:11:48 <oerjan> EXCUSES, EXCUSES
03:11:49 <zzo38> Some people think it is because of the speed of the computer, but that actually has nothing to do with it.
03:12:18 <elliott> zzo38: so you think it had absolutely no chance of winning if Ken didn't make one stupid mistake :D
03:12:20 <pikhq> Ethiopia wasn't even effected by European colonialism.
03:12:26 <elliott> that's a bit... overconfident
03:12:53 <zzo38> elliott: No. What I think is that in the specific circumstances, Ken could certainly have played better and won.
03:13:03 <elliott> not if the machine killed him
03:13:21 <pikhq> Oh, wait, it was. It was occupied by Italy...
03:13:24 <pikhq> For 5 years.
03:13:45 <pikhq> All sorts of weird.
03:15:01 <zzo38> At the beginning of the game, the computer had a good chance of winning as much as anyone else (they are all very good Jeopardy players). However, at the end, it was Ken who was best and should have won if he had not made that mistake.
03:15:20 <Sgeo_> Falcon arrays are downright BIZZARE
03:15:40 <Sgeo_> calling = .[printl &value]
03:15:40 <Sgeo_> calling.value = "Hello world"
03:16:45 <zzo38> The other thing is where the daily doubles are on the board.
03:17:09 <zzo38> But in terms of how good they are, all three players are actually equally good as far as I can tell.
03:17:16 <pikhq> Which apparently isn't truly random.
03:17:24 <pikhq> Bravo to IBM for figuring that out.
03:17:54 <pikhq> (weighted towards the left side of the board and higher values.)
03:18:06 <elliott> how long until that's fixed :D
03:18:10 <zzo38> I didn't know that either.
03:18:15 <elliott> pikhq: more impressive if the computer found it out itself
03:18:22 <pikhq> elliott: The computer didn't.
03:18:27 <elliott> THEN IT SUCKS
03:18:47 <Sgeo_> Falcon's oob stuff is interesting... but seems inflexible
03:18:51 <pikhq> IBM merely checked it out, discovered that, and then programmed Watson to try and get the Daily Double early.
03:20:10 <pikhq> elliott: I dunno if they'll actually fix it.
03:20:10 -!- elliott has quit (Read error: Connection reset by peer).
03:20:16 <pikhq> For all I know, it's intentional.
03:20:52 -!- elliott has joined.
03:21:04 <elliott> sduhfgdfhiokgkdsfgjlns,dfgjlsdfn
03:21:06 <oerjan> it makes sense to prefer higher values, i should think
03:21:14 -!- Lymia_ has joined.
03:21:15 <oerjan> somewhat
03:22:04 -!- Lymia has quit (Disconnected by services).
03:22:05 -!- Lymia_ has changed nick to Lymia.
03:22:06 -!- Lymia has quit (Changing host).
03:22:06 -!- Lymia has joined.
03:22:52 <oerjan> Lymia: someone isn't using their cloak right
03:23:05 <Lymia> =p
03:25:56 <elliott> THAT'S NOT HOW YOU WEAR QUOTES
03:25:59 <elliott> ...
03:25:59 <elliott> cloaks
03:27:45 <oerjan> "Quotes are not reliable wardrobe." -- Oscar Wilde
03:27:52 <elliott> oerjan, ban everyone
03:28:02 <oerjan> you think?
03:28:43 <elliott> yes
03:28:46 <elliott> it is a good idea
03:28:49 <elliott> do it
03:29:16 <oerjan> I'LL HAVE TO CONFER WITH FIZZIE
03:29:31 <elliott> oerjan: helo
03:29:32 <elliott> i am fizzie
03:29:38 <elliott> talk through elliott's account because am fizzie
03:29:41 <oerjan> fuzzy, maybe
03:29:42 <zzo38> Remember that in this special Jeopardy game, the units of scoring are not worth any money. Money is played only according to placement, not by points.
03:29:47 <elliott> oerjan: yes, i say this idea (the idea of banning everyone) is a good idea, it should be put into practice
03:29:52 <elliott> i am sleep now because in finland it is 7 pm
03:29:53 <elliott> which is bed time
03:30:00 <elliott> i will hand computer back over to elliott now
03:30:01 <elliott> make it so
03:30:34 <oerjan> elliott: you must be confusing fizzie with Ilari, he doesn't have that bad grammar
03:30:50 <elliott> oerjan: Ilari has bad grammar?
03:31:01 <oerjan> he leaves out articles, i've noticed
03:31:10 <elliott> WRETCHED SCU
03:31:11 <elliott> *SCUM
03:31:12 <elliott> ban him
03:31:14 <elliott> also, everyone else
03:31:26 <elliott> oerjan: look when finns get tired
03:31:28 <elliott> their grammar is not so good.
03:31:31 <elliott> stop being intolerant
03:32:16 <oerjan> hey i'm not intolerant, it's hard being native non-indoeuropean
03:32:39 <zzo38> You need not ban *everyone*, just stop reading it or set usermode +D or if it is taking too much energy on the servers, tell them to switch it off. And/or ask the people who set up the IRC logs for their opinion.
03:32:40 <oerjan> unable to understand the logical perfection that is english
03:32:43 <elliott> oerjan: I AM FIZZIE AND I AM BACK AND GRAMMATICALLING PROPERLY NOW BECAUSE I WAS TOLD THAT EVEN THOUGH I AM TIRED I MUST BE UNLIKE A FINNISH
03:32:56 <oerjan> zzo38: do you _ever_ get jokes?
03:32:58 <elliott> oerjan: I REQUEST THAT YOU BAN EVERYONE I AM ANGRY SO I AM USING A CAPITALS LOCK OKAY GOODBYE
03:33:02 <elliott> ...who said it was a joke
03:33:05 <elliott> i hate everyone
03:33:11 <oerjan> O KAY
03:33:18 <elliott> oerjan: but no, no he doesn't
03:34:12 -!- augur has quit (Remote host closed the connection).
03:34:28 -!- elliott has quit (Read error: Connection reset by peer).
03:34:33 <zzo38> elliott: Including yourself?
03:34:50 -!- elliott has joined.
03:34:54 <elliott> my hatred is what disconnected me oerjan. that, and peer pressure.
03:35:00 <elliott> i see you have still not banned everyone
03:35:04 <elliott> when will this be rectified?
03:35:08 <elliott> aw c'mon
03:35:10 <elliott> just for like
03:35:12 <elliott> two minutes
03:35:14 <elliott> i dare you
03:35:16 <elliott> no wait
03:35:18 <elliott> DOUBLE DOG
03:35:20 <elliott> DARE
03:35:22 <elliott> YOU
03:35:27 <oerjan> zzo38: rumors have it you cannot truly hate everyone without hating yourself first
03:35:41 <elliott> that's true. so ban
03:35:48 <pikhq> oerjan: I'm pretty sure you're native Indo-European.
03:35:54 <elliott> look at pikhq
03:35:57 <elliott> with his fucking racism
03:35:57 <elliott> ban him
03:35:58 <elliott> and also
03:36:02 <oerjan> pikhq: yes. i was talking about Ilari.
03:36:02 <elliott> ban all people who are not pikhq
03:36:04 <pikhq> Unless, secretely, you're from... FINLAND!
03:36:10 <elliott> OMG
03:36:14 <pikhq> URALIC!
03:36:14 <elliott> THAT EXPLAINS ... ABSOLUTE NOTHING!
03:36:16 <elliott> *ABSOLUTELY
03:36:48 <oerjan> i cannot quite recall whether i have any finnish ancestry
03:37:03 <oerjan> (kvener, as they're called in norway)
03:37:03 <elliott> hmm, kind of like you can't recall whether or not you COMMITED A CRIME yes which you did yes
03:37:05 <elliott> ban yourself
03:37:07 <elliott> and everyone who is not yourself
03:37:12 <elliott> kvener? what a weird name for finns
03:37:53 <oerjan> only the immigrant ones from centuries past
03:38:17 <elliott> ah. we usually call them GET YOUR OWN COUNTRY YOU FUCKERS
03:38:21 <elliott> TAKE OOR JERBS
03:38:40 <pikhq> "From centuries past", eh?
03:38:47 <pikhq> Here we call those REAL AMERICANS.
03:39:04 <pikhq> The natives and the recent immigrants, though? DEY TAKE OOR JERBS.
03:39:25 <elliott> ASPIKYTITISM
03:39:56 <pikhq> Especially the damned dirty Mexicans. How *dare* they take our shitty, underpaid jobs that we don't want!
03:41:08 <elliott> hmm
03:41:09 <elliott> oerjan
03:41:12 <elliott> do we actually have a lambda calculus bot in here
03:41:16 <elliott> i think not
03:41:19 <elliott> this is a gross omission
03:41:31 <oerjan> pure untyped, i assume you mean
03:41:40 <oerjan> since otherwise lambdabot would qualify
03:42:02 <elliott> indeed
03:42:04 <Sgeo_> Ok. I like what I know about Falcon.
03:42:17 <Sgeo_> Sue me.
03:42:57 <zzo38> Sgeo_: I do not think that is good reason to sue you?
03:43:30 <elliott> oerjan: also an abstraction eliminator. we need one of them.
03:43:31 <elliott> what else.
03:43:32 <oerjan> elliott: indeed, he doesn't.
03:43:40 <elliott> oerjan: told you
03:44:01 <elliott> the world would be so much better if people just believed everything i said qithout questioning it first
03:44:08 <elliott> ... 19:42:04 <Sgeo_> Ok. I like what I know about Falcon.
03:44:11 <elliott> ok no zzo38 is totally wrong
03:44:17 <elliott> that is a legitimately good reason to sue Sgeo
03:44:25 <elliott> memoserv has to hear about this
03:44:27 <oerjan> elliott: but then horrible things could happen whenever you made a spelling error, like that q
03:44:32 <elliott> oerjan: wut
03:44:44 <zzo38> elliott: I don't think so! At least, it is not a good reason for *me* to sue Sgeo.
03:44:51 <elliott> Sgeo_ Falcon does monads by having an extra bit associated with every single value.
03:44:54 <elliott> Called the "out of bound" value.
03:44:58 <elliott> "monads"
03:45:02 <elliott> I don't even know what they are, but they call them monads.
03:45:14 <oerjan> elliott: i mean what if you wanted to say "kiss everyone" and accidentally wrote "kill everyone" instead?
03:45:14 <elliott> how... can you even like it
03:45:16 <elliott> jesus christ
03:45:24 <elliott> oerjan: what was that q though
03:45:26 <Sgeo_> I like the out-of-bound value stuff.
03:45:27 <elliott> also, killing everyone sounds good
03:45:32 <oerjan> (ok so the opposite currently seems more likely)
03:45:35 <oerjan> elliott: qithout
03:45:38 <Sgeo_> I don't... know if I want to know what you mean by them calling them monads
03:45:45 <elliott> Sgeo_: ok so you're obviously just trolling
03:46:06 <Sgeo_> ..no?
03:46:10 <elliott> Sgeo_: that's what THEY call it
03:46:29 <Sgeo_> Maybe they can implement monads by using the oob stuff, but...
03:46:55 <elliott> ok it's no longer just a random hypothesis, Sgeo_ has been getting steadily more stupid over the period of months
03:47:06 <Sgeo_> I said maybe
03:47:10 <Sgeo_> I have a headache right now
03:47:11 <elliott> i don't think the condition can progress any further though, liking Falcon is pretty low
03:47:42 <oerjan> elliott: clearly he needs to take more C-vitamins
03:47:57 <Sgeo_> Falcon has something called "Message-Oriented Programming". Worshipping it at the level they do, and calling it that, is pretty silly, but I like it better than C#'s stuff
03:48:01 <elliott> maybe...maybe his father has been firing lasers at his brain
03:48:07 <elliott> to make sure he never grows the capacity to think for himself
03:48:12 <elliott> and is stuck in his tyrannical grasp of idiocy FOREVER
03:48:31 <Lymia> Let's try estrogen injections.
03:48:54 <oerjan> maybe his father is a mad scientist only keeping Sgeo_ around for spare parts. i recall that from narbonic.
03:48:56 <elliott> Lymia: i don't even want to know the thought process leading up to that
03:49:19 <Lymia> Complete silliness!
03:49:47 <oerjan> wasn't that what they tried on turing
03:49:53 <elliott> Sgeo_: go sleep until you have the ability to form coherent thoughts and lose the ability to form incoherent thoughts like liking falcon
03:50:07 <elliott> oerjan: "tried", it was quite successful apart from the part where he killed himself
03:50:37 <oerjan> THE PATIENT REFUSED TO COMPLETE THE TREATMENT
03:50:45 <oerjan> AND HAS NO ONE BUT HIMSELF TO BLAME
03:50:56 <elliott> :D
03:51:06 <Lymia> elliott, well.
03:51:13 <Lymia> A sterile Sgeo_ would be better for the world!
03:51:37 <elliott> Lymia: that's true, but a Sgeo_ with breasts is possibly the most fearful thing i can imagine.
03:51:51 <elliott> wait he'd never bother coming on IRC. hm.
03:52:09 <elliott> SO WHO'S GOING TO GET THE OESTROGEN
03:52:20 <Sgeo_> I'm about to take a Tylenol
03:53:18 <elliott> Sgeo_: IF YOU DON'T LIVE TO SEE ANOTHER DAY
03:53:20 <elliott> WE WILL
03:53:20 * Lymia castrates Sgeo_. With a knife.
03:53:21 <elliott> AVENGE
03:53:22 <elliott> YOUR NAME
03:53:26 <elliott> AGAINST THE EVIL
03:53:28 <elliott> DANGEROUS
03:53:31 <elliott> SATAN
03:53:32 <elliott> KNOWN AS
03:53:35 <elliott> "T Y L E N O L"
03:54:07 <elliott> hmm this is reminding me of that time Sgeo_ didn't want to try vanilla essence because it has a tiny amount of alcohol in it
03:54:26 <Lymia> How did you get from point A to point B?
03:54:42 <elliott> Lymia: wat
03:55:47 <Sgeo_> Other things about falcon I Like: forfirst/formiddle/forlast
03:56:05 <oerjan> a formiddable language
03:56:17 <elliott> oerjan: ok seriously
03:56:23 <elliott> you have to ban Sgeo_ before he goes completely insane
03:56:28 <Lymia> I mean.
03:56:38 <elliott> oerjan: consider that 90% of the things cpressey said in here were elaborate yarns about insane language features that turned out to be actual falcon features.
03:56:43 <Lymia> How did Sgeo's thought process get there!
03:56:44 <elliott> ok not really but the point is, that is something that could have happened.
03:56:51 <elliott> Lymia: from where to where
03:56:55 <elliott> oerjan: that is how bad Falcon is.
03:56:56 <elliott> it is just the worst.
03:56:57 <Lymia> Never mind~
03:57:01 <elliott> he is insane. he needs containment. which is banning.
03:57:06 <elliott> Lymia: YOUR SENTENCES MAKE NO SENSE
03:57:39 <Sgeo_> Lymia, I got to Tylenol by having a headache
03:57:39 <Lymia> ;-;
03:57:40 -!- azaq231 has joined.
03:59:52 <Lymia> Falcon looks like your standard maybe-overbloated language if you ask me-- based on the Wikipedia page that is.
04:00:35 <elliott> Lymia: It's INCREDIBLY overbloated.
04:00:43 <Lymia> Also.
04:00:48 <Lymia> Basic-style syntax is NO.
04:00:49 <elliott> Lymia: We have tried to troll their IRC channel by suggesting utterly ridiculous features that nobody would ever think are a good idea.
04:00:49 <Lymia> D=
04:00:55 <elliott> Not ONCE did they go "ha ha no maybe not".
04:00:58 <elliott> They were all "ooh INTERESTING".
04:01:07 <elliott> And seriously.
04:01:14 <elliott> Implementing monads by sticking an extra bit on to every value.
04:01:16 <elliott> What is even that.
04:01:24 -!- azaq23 has quit (Ping timeout: 240 seconds).
04:01:24 <Lymia> wat
04:01:32 <Sgeo_> elliott, that extra bit isn't really for monads, I think
04:01:38 <elliott> Nobody in the universe has figured out what that even means yet.
04:01:39 <elliott> Nobody.
04:02:00 <pikhq> Huh. The UK keyboard layout...
04:02:04 <pikhq> Looks painful.
04:02:09 <elliott> pikhq: What part of it exactly?
04:02:10 <Lymia> That being said.
04:02:10 <elliott> I use it :-P
04:02:18 <Lymia> The most obvious thing that hits me when I read that page is this: Falcon is designed for embedding[20] into and extending other systems with a linkable runtime library, libfalcon.
04:02:20 <elliott> # is a bit of a pain but I just swap £ with it because who talks about money
04:02:26 <Lymia> w. h. a. t.
04:02:27 <elliott> Lymia: yeah afaict that's bullshit
04:02:29 <zzo38> There are a few things I like in Falcon: continuations, coroutines, meta compilation, macros, synchronization. Probably the standard libraries is too many though, some could belong to separate libraries instead?
04:02:29 <elliott> nobody does that
04:02:32 <elliott> i don't even know why it's there
04:02:33 <elliott> who cares
04:02:36 <elliott> it's a stupid vanitypage
04:02:44 <elliott> it should be deleted because falcon is the worst
04:02:56 <pikhq> elliott: It's just got a lot of bizarro changes from the US one for no good reason that makes things harder to type.
04:03:03 <elliott> pikhq: I dislike the US layout
04:03:05 <Sgeo_> Falxon has macros?
04:03:08 <Sgeo_> Falcon
04:03:12 <pikhq> elliott: What about it?
04:03:16 <elliott> pikhq: It's just awkward to me.
04:03:19 <elliott> \ for instance.
04:03:20 <Lymia> zzo38, just go use Lisp.
04:03:40 <pikhq> elliott: Funny, that's something I dislike about the UK layout.
04:03:45 <pikhq> That's fucking Shift right there!
04:03:52 <elliott> pikhq: ...no, \ is above shift.
04:04:03 <zzo38> Lymia: Maybe Lisp works better, I have never used Falcon or Lisp, though.
04:04:07 <pikhq> elliott: Not on the UK layout.
04:04:07 <Sgeo_> I am upset over "Message-oriented" being a "paradigm"
04:04:15 <pikhq> http://upload.wikimedia.org/wikipedia/commons/d/da/KB_United_Kingdom.svg
04:04:25 <Sgeo_> And having nothing to do with OOP messaging
04:04:30 <pikhq> Teeny-tiny shift = WUT
04:04:43 <Sgeo_> NOTHING. It's an event system, basically
04:04:45 <elliott> oh well our left shift keys are small.
04:04:48 <elliott> but no that isn't the layout i have
04:04:52 <elliott> i guess the apple versions are different
04:05:02 <zzo38> Sgeo_: Yes Falcon does have macros. That is what I like about it, that it has macros. Too many programming language they didn't put macros.
04:05:35 * Sgeo_ sees the macro stuff in wiki
04:05:41 <Sgeo_> That's pretty... icky
04:06:09 <elliott> zzo38 and Sgeo_ -IN- #esoteric circus
04:06:40 <oerjan> well it's better than elliott and Vorpal.
04:07:07 <pikhq> elliott: What's *really* annoying is US International, though.
04:07:14 <pikhq> Fucking dead keys!'
04:07:28 <elliott> oerjan: *and Vorpal-in-crazy-mode
04:07:38 <Lymia> elliott, are they related?
04:07:54 <elliott> I get along with him fine nowadays until he goes into WHOOPS LET'S LATCH ON TO ANYTHING I CAN USE TO MAKE A POINT ABOUT HOW TERRIBLE ELLIOTT IS mode.
04:07:57 <pikhq> `, ~, ^, ', and " become dead keys.
04:07:58 <elliott> Lymia: Hm?
04:08:02 <elliott> pikhq: yeah that's just bullshit.
04:08:05 <pikhq> Do you have any *idea* how annoying that is to program with?
04:08:06 <oerjan> damn now elliott went into crazy mode
04:08:12 <elliott> oerjan: I did? :P
04:08:21 <Lymia> Everybody's insane to somebody!
04:08:23 <oerjan> yes
04:08:29 <elliott> oerjan: howso
04:08:54 <HackEgo> No output.
04:08:58 <pikhq> So much better to just have a compose key.
04:09:03 -!- augur has joined.
04:09:13 <oerjan> elliott: you started blathering about Vorpal
04:09:26 <oerjan> yes it was my fault to remind you
04:09:35 <elliott> oerjan: it was two lines... hardly blathering
04:09:38 <elliott> i dunno what you're going on about
04:09:57 <elliott> i'm not the only one to notice that he goes on tirades like that on a semi-regular basis, anyway
04:10:27 <oerjan> elliott: no, but only you respond to it like a chain reaction
04:10:27 <pikhq> Okay, actually, *this* just pains me: http://en.wikipedia.org/wiki/File:KB_Japanese.svg
04:10:42 <pikhq> And keep in mind that that keyboard is usually used as an ordinary QWERTY board.
04:10:43 <elliott> oerjan: he only does it to me, so that's hardly surprising
04:11:37 <pikhq> LOOK AT THE SPACE BAR. IT IS TINY. SO TINY.
04:12:19 <zzo38> Yes it is small because they add so many keys
04:12:34 <oerjan> there was no space for it
04:12:50 <pikhq> AND IT DOES THE SAME THING AS THE 変換 KEY RIGHT NEXT TO IT.
04:12:52 <pikhq> REALLY.
04:13:02 <pikhq> Erm, well.
04:13:12 <pikhq> It does both 変換 and space, depending on input mode.
04:14:21 <Lymia> So.
04:14:32 <pikhq> And I'm not really sure why they felt that they needed a key for turning on half-width kana.
04:14:48 <Lymia> Why did they create that, instead of just using a phonetic->text system?
04:15:26 <pikhq> Lymia: The worst part is, *most people in Japan type using a phonetic->text system*.
04:15:33 <pikhq> Lymia: Like, 90% of people.
04:15:37 <Lymia> Heh.
04:15:49 <Lymia> Wouldn't you need to use something like that to type kanji anyways?
04:15:50 <pikhq> All the kana keys on there aren't used by most people.
04:15:50 <Lymia> >.>
04:15:54 <pikhq> Yes, you do.
04:16:04 <zzo38> Just one extra key should do instead of that many, and then have it pushed combination with the other key for other function, such as switch kana/ASCII mode, and also the switched whether space bar is kanji or not (and if you use other kanji mode).
04:16:11 <pikhq> It just goes from kana->kanji instead of romaji->kana&kanji.
04:16:43 <pikhq> zzo38: Don't even need that many.
04:16:53 <pikhq> Japanese input works *perfectly* on a US QWERTY keyboard.
04:17:22 <elliott> serves them right for speaking moonspeak
04:17:30 <elliott> THEY GET KEYBOARDIAL PAIN
04:17:32 <pikhq> Not even a compromise. Most of the keys added for controlling the IME are controlling little-used functions.
04:19:23 <pikhq> The 変換 key is entirely replaced by the space bar, 無変換 can be done by *just not pressing space*, I don't even think there is even a legitimate use for the 半角/全角 key, and カタカナ/ひらがな can be done by just selecting the katakana option in the IME menu.
04:19:32 -!- copumpkin has joined.
04:19:58 <pikhq> Oh, yeah, and the 英数 function on caps lock is just to make it less of a pain to do numeral entry in kana mode.
04:20:26 <elliott> IME sounds like a huge pain in the arse
04:20:28 <pikhq> In short, the Japanese keyboard layout has no reason to exist.
04:20:37 <pikhq> elliott: Eh, not really.
04:21:02 <Lymia> pikhq, dosn't Japanese input mode have a Fsomething button to go hiragana->katakana anyways?
04:21:09 <pikhq> Lymia: Probably.
04:21:16 <zzo38> I invented a bit different system. Function keys are to the left. ALT keys are now like ALTGR (but still labeled ALT). When SCROLL LOCK (now labeled KANA LOCK) is pushed, it enters kana mode, and CAPS LOCK (now labeled CASE LOCK) in kana mode switches hiragana/katakana. There is no half-pitch/full-pitch.
04:21:24 <elliott> oh goody, zzo38 redesigns computers part 3984598
04:21:25 <pikhq> It doesn't even come up all *that* often, anyways.
04:22:16 <zzo38> In ASCII mode, the ALT keys are used to select accented letters, suits, arrow symbols, and a few mathematical symbols. In kana mode, ALT is used for voice mark and SHIFT for semivoice.
04:22:23 <ais523> there's an old and probably incorrect saying about the wise man adapting to the world, and the fool adapting the world to himself
04:22:27 <ais523> I don't think it takes zzo38 into account at all
04:22:28 <zzo38> SHIFT is also used in kana mode for small letters.
04:22:37 <elliott> ais523: there's a slightly less old saying
04:22:39 <Sgeo_> Falcon's out-of-band does remind me a bit of Either...
04:22:51 <elliott> ais523: "The reasonable man adapts himself to the world; the unreasonable man persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man."
04:22:54 <elliott> and the zzo38 version
04:22:55 <elliott> `quote reasonable
04:23:13 <pikhq> Oh, yeah, and Korean keyboards use much the same layout. Even though there's hardly even a need for an IME.
04:23:14 <zzo38> There is also conversion tables for converting between ASCII, CP437, Commodore 64, and some other systems, with its internal code.
04:23:17 <elliott> ais523: eh:
04:23:18 <elliott> ais523: <zzo38> Some people are reasonable, some people who are not reasonable insist on changing things so therefore progress depends on not reasonablepeple
04:23:20 <ais523> zzo38 just invents an entire world that's consistent and internally makes sense, but nobody else has any idea about
04:23:20 <HackEgo> 160) <zzo38> Some people are reasonable, some people who are not reasonable insist on changing things so therefore progress depends on not reasonablepeple
04:23:24 <elliott> there we go
04:23:38 <pikhq> Really, just a need to switch between hangul and QWERTY.
04:23:41 <Lymia> `run rm -rf zzo38
04:23:43 <HackEgo> No output.
04:23:53 <ais523> Lymia: I don't think zzo38 is a directory
04:24:00 <Lymia> Best to be sure.
04:24:01 <elliott> -rf can remove files too
04:24:09 <ais523> indeed, although the -r is redundant there
04:24:20 <ais523> also, I'm one of those people who tries to avoid using -f as a rm parameter ever
04:24:28 <ais523> although occasionally it's needed
04:24:49 <ais523> tcsh annoys me with its incessant prompting, although even then I pipe yes into rm rather than having to settle for -f
04:24:53 <zzo38> Also, the ENTER key is now labeled "ENTER/NEW LINE".
04:25:03 <zzo38> And the space bar is labeled SPACE
04:25:05 <elliott> ais523: tcsh automatically aliases rm? i doubt it
04:25:08 <elliott> shells don't handle coreutils
04:25:22 <ais523> elliott: it does something to rm, I'm not sure if it's aliasing it or using a builtin that prompts a lot
04:25:28 <elliott> ais523: probably centos configuration
04:25:32 <ais523> perhaps
04:25:39 <ais523> although bash doesn't do that in centos
04:25:46 <elliott> ais523: because configuration files are per-shell
04:25:49 <elliott> and tcsh is what comes by default
04:25:51 <elliott> so...
04:25:55 <elliott> i seem to have no csh installed here; that's reassuring
04:25:59 <ais523> hmm, isn't there a non-per-shell one?
04:26:06 <elliott> ais523: well, not one that both csh and bash could read :)
04:26:08 <Lymia> `ls
04:26:10 <HackEgo> babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine \ quotes \ test \ test.c \ tmpdir.19433
04:26:26 <elliott> ais523: btw, you ARE still in England right? just that your sleep schedule is even more insane than usual
04:26:30 <ais523> I'm pretty sure csh/bash polyglots are possible
04:26:32 <Lymia> `run rm -rf *
04:26:34 <HackEgo> No output.
04:26:34 <ais523> and indeed
04:26:36 <Lymia> `ls
04:26:37 <HackEgo> babies \ bin \ paste \ tmpdir.19519
04:26:39 <Lymia> :<
04:26:42 <elliott> argh
04:26:43 <elliott> Lymia
04:26:45 <elliott> `hlep
04:26:46 <HackEgo> No output.
04:26:46 <elliott> `help
04:26:48 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
04:26:58 <ais523> Lymia: it's irritating having to revert everything when you do that
04:27:03 <Lymia> Sorry!
04:27:10 <elliott> `revert 90
04:27:11 <HackEgo> Done.
04:27:13 <elliott> `quote yorick
04:27:14 <HackEgo> 317) * yorick has quit (K-Lined)
04:27:21 <Lymia> `ls
04:27:22 <HackEgo> babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine \ quotes \ test \ test.c \ tmpdir.19734
04:27:23 <Lymia> =p
04:27:26 <elliott> Lymia: observe your damage: http://codu.org/projects/hackbot/fshg/index.cgi/rev/0f00c1d46b43
04:27:51 <Lymia> :(
04:27:53 * Lymia cries
04:28:08 <elliott> yes. you are bad.
04:28:15 <elliott> ais523: so, er, in the england you're in, it's 4:56 am, isn't it?
04:28:21 <zzo38> I think there is revert function, though?
04:28:34 <zzo38> In case you messed up too many things.
04:28:39 <elliott> zzo38: indeed, i reverted
04:28:41 <ais523> elliott: I think I'm in the same timezone as you
04:28:49 <elliott> ais523: I'M JUST CHECKING
04:28:50 <ais523> unless you fled to Canada
04:28:56 <elliott> wel lthere's an idea.
04:28:59 <elliott> *well there's
04:29:03 <ais523> I'm a little irritated at having to stay up all night, actually
04:29:13 <elliott> heh, why?
04:29:28 <ais523> err, personal matters, it wouldn't do to say it in a public channel
04:29:34 <elliott> oh, I just meant, why irritated
04:29:36 <elliott> but OK
04:29:45 <pikhq> Baaaah, privacy.
04:29:59 <elliott> ("it wouldn't do" set my internal IRC vocaliser to English aristocracy mode, though you should know)
04:30:13 <pikhq> elliott: *Damn* you stay up late.
04:30:19 <elliott> pikhq: >_>
04:30:25 <elliott> An all-nighter is seeming quite necessary at this point.
04:30:39 <elliott> I, er, have been failing to get any daylight into my waking periods.
04:30:39 <pikhq> elliott: It's not usually something I think about, but damn, you crazy.
04:30:45 <pikhq> oerjan too.
04:30:59 <elliott> yeah i dunno how ais523 is so chill about it, this is a pain :D
04:31:22 <pikhq> zzo38, you crazy too, but that has nothing to do with sleeping habits or lack thereof. :P
04:31:24 <ais523> elliott: I knew it would happen in advance and slept all day
04:31:40 <elliott> pikhq, you crazy. for saying "you crazy" WAY too much
04:31:45 <ais523> but it's annoying due to messing up my ability to actually do work
04:32:04 <ais523> not because of the time - I do lots of work at 4/5 am - but because I'm best at doing it while in bed
04:32:06 <pikhq> elliott: Sorry for slang permeating my brain and coming out on occasion.
04:32:12 <ais523> another advantage of a netbook...
04:32:35 <elliott> don't need a netbook for that
04:32:40 <elliott> i'm in bed right now with a 13" laptop
04:32:48 <elliott> ok so it is a bit light as these things go.
04:32:52 <ais523> oh, I've used larger ones before as well
04:33:14 <ais523> but it's nice to be able to put your netbook down on a single A4 sheet of cardboard when you don't want to hold it for a while
04:33:18 <Lymia> `run sed s/EgoBot/\[DATA EXPUNGED\]/g < quotes | paste
04:33:20 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28318
04:33:21 <elliott> any larger wouldn't be very lap-friendly i think, this is quite nice, especially since it has a pretty high resolution for its size
04:33:45 <elliott> Lymia: sed fail
04:33:48 <elliott> you need some quoting
04:33:48 <ais523> elliott: does DNA Maze run windowed for you?
04:33:51 <Lymia> :(
04:33:54 <elliott> ais523: err, yes, why?
04:33:58 <Lymia> `run sed "s/EgoBot/\[DATA EXPUNGED\]/g" < quotes | paste
04:33:58 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.14572
04:33:59 <ais523> ah, just wondering
04:34:01 <elliott> ais523: a rather big window, however
04:34:06 <elliott> ais523: does it not for you?
04:34:12 <ais523> the engine itself can only handle 1024 x 768
04:34:16 <ais523> my screen's only 768 pixels high
04:34:19 <elliott> ah
04:34:22 <elliott> so it automatically fullscreens?
04:34:24 <elliott> heh
04:34:31 <oerjan> `quote EgoBot
04:34:32 <HackEgo> 2) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 295) <Vorpal> !bfjoust test (-)*10000 <EgoBot> Score for Vorpal_test: 12.9 <Vorpal> yay \ 296) <Vorpal> !bfjoust test (++-)*1000000 <Vorpal> probably will suck <EgoBot> Score for Vorpal_test: 30.4 <Vorpal> what \ 304) [on egojoust] <elliott>
04:34:35 <ais523> so it used to draw a window if the screen was at least 800 high, or force the screen res to 1024x768 otherwise
04:34:40 <elliott> ais523: well, my previous laptop was 1366x768 (again 13 inches) but this is 1440x900
04:34:40 <ais523> but that looks weird on a widescreen
04:34:43 <Lymia> `run sed "s/[^<]EgoBot/that idiot/g" < quotes | paste
04:34:46 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1253
04:34:51 <elliott> which is much nicer than the previous
04:34:53 <elliott> although i still maximise my browser
04:35:06 <elliott> Lymia: that removes the relevant character
04:35:14 <Lymia> :(
04:35:16 <elliott> you really want a (?!) there but i doubt sed supports that
04:35:21 <ais523> I changed it last night to center 1024x768 in an otherwise blank screen, if your natural screen res was less than (or less than or equal to?) 800 high, but larger than 1024x768
04:35:23 <ais523> elliott: it doesn't
04:35:29 <Lymia> `run sed "s/\bEgoBot\b/that idiot/g" < quotes | paste
04:35:31 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.8889
04:35:35 <elliott> ais523: wow, development :-D
04:35:47 <ais523> also fixed the crash on left-click
04:35:53 <elliott> ais523: it isn't a crash
04:35:56 <elliott> it's just a screen-of-weirdness
04:35:58 <ais523> although the bar at the top of the screen that says the controls is still lying
04:36:01 <elliott> ais523: fixed the mouse behaviour in the menu yet? :P
04:36:11 <Lymia> `run sed "s/ EgoBot / that idiot /g" < quotes | paste
04:36:13 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.31546
04:36:14 <ais523> oh, I thought I just hadn't implemented that at all
04:36:21 <elliott> ais523: you did, it just works really badly
04:36:39 <ais523> well, in that case I probably didn't finish implementing it
04:36:39 <Lymia> `run sed "s/EgoBot/that idiot/g" < quotes > quotes
04:36:41 <HackEgo> No output.
04:36:41 <Lymia> :V
04:36:44 <elliott> `run perl -e 's/\b(.*)+?\b/rand > .7 ? "bork" : $1/e' <quotes | paste
04:36:48 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.14592
04:36:48 <Lymia> `quote that idiot
04:36:48 <ais523> what are the current semantics, and what would you suggest changing?
04:36:49 <HackEgo> No output.
04:36:49 <elliott> Lymia: firstly, that fails
04:36:53 <elliott> redirection doesn't work like that
04:36:54 <elliott> secondly
04:36:56 <elliott> STOP MAKING ME REVERT
04:36:59 <ais523> you can't redirect into and out of the same file
04:37:15 <elliott> ais523: semantics: you click somewhere in the menu, it focuses somewhere almost, but not entirely, not where you clicked
04:37:20 <elliott> desirable behaviour: it focuses what you click.
04:37:21 <elliott> `help
04:37:23 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
04:37:36 <elliott> `revert 92
04:37:38 <HackEgo> Done.
04:37:42 <ais523> elliott: ah, you click, and it gets the location of the click wrong and switches to an entirely different level?
04:37:46 <elliott> `revert 97
04:37:46 <Lymia> I'll stop messing with HackEgo!
04:37:47 <HackEgo> Done.
04:37:48 <elliott> ais523: yes
04:37:50 <elliott> `run perl -e 's/\b(.*)+?\b/rand > .7 ? "bork" : $1/e' <quotes | paste
04:37:55 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18904
04:38:09 <elliott> oops
04:38:14 <elliott> `run perl -pe 's/\b(.*)+?\b/rand > .7 ? "bork" : $1/ge' <quotes | paste
04:38:30 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5158
04:38:44 <elliott> i should sleep soon
04:38:46 <ais523> what's (.*)+? meant to mean?
04:38:58 <elliott> ais523: err, good question
04:39:04 <ais523> the +? seems entirely redundant there
04:39:05 <elliott> `run perl -pe 's/\b(.+?)\b/rand > .7 ? "bork" : $1/ge' <quotes | paste
04:39:19 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.2317
04:39:34 <elliott> beautiful
04:39:35 <elliott> just beautiful
04:39:46 <elliott> hmm, does [^\b] work in perl?
04:39:47 <elliott> I somehow doubt it
04:40:01 <elliott> `run perl -pe 's/\b([^\b]+)\b/rand > .9 ? "bork" : $1/ge' <quotes | paste
04:40:03 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27700
04:40:15 <elliott> hmm, that is quite broken
04:40:15 <ais523> elliott: you mean \w, don't you?
04:40:22 <elliott> oh, is \w = [^\b]?
04:40:25 <ais523> \b is the boundary between \w and \W
04:40:33 <ais523> and thus zero-width
04:40:38 <elliott> is there a name for (\s|^|$)? :P
04:40:56 <elliott> `run perl -pe 's/\w+?/rand > .9 ? "bork" : $1/ge' <quotes | paste
04:40:56 <ais523> I don't think so
04:40:57 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.13472
04:41:02 <elliott> what the
04:41:04 <ais523> also, you want + not +? there
04:41:05 <elliott> `run perl -pe 's/\w+/rand > .9 ? "bork" : $1/ge' <quotes | paste
04:41:07 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.7053
04:41:15 <elliott> ais523: I dunno, http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.13472 is quite spectacular
04:41:19 <Lymia> elliott, now all you need to do is echo that back to quotes.
04:41:20 <Lymia> :V
04:41:29 <elliott> `run perl -pe 's/\w+/rand > .9 ? "bork" : $0/ge' <quotes | paste
04:41:31 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19716
04:41:32 <elliott> `run perl -pe 's/\w+/rand > .9 ? "bork" : $&/ge' <quotes | paste
04:41:34 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.25593
04:41:52 <elliott> <oklopol> i can get an bork bork of bork bork, you bork quote bork on that.
04:42:00 <elliott> <oerjan> In an alternate universe, ehird has bork
04:42:14 <elliott> <mycroftiv> [...] sometimes i cant get out of bed becasue the geometry of the sheet tangle is too fascinating from a topological bork
04:42:19 <elliott> this is brilliant
04:42:26 <elliott> <GregorR-L> If I ever made a game where you jabbed bears ... <GregorR-L> I'bork call it jabbear.
04:42:27 <Lymia> elliott.
04:42:30 <Lymia> I dare you to write it back to quotes.
04:42:30 <elliott> I was hoping for "I'd call it bork."
04:42:38 <elliott> <oklopol> GregorR: are you talking about ehird's virginity or your soda bork?
04:42:41 <elliott> <bork> no bork <Deewiant> No?! <Deewiant> I've been living a lie <ehird> yep. <Deewiant> Excuse me while I jump out of the window ->
04:42:42 <elliott> OH GOD, NO BORK
04:42:51 <elliott> <apollo> Maternal instincts? <bork> Don't you just leave the bork in a box until it starts crying, and then shake it until it stops?
04:42:58 <elliott> <Warrigal> Porn. <Warrigal> bork, see?
04:43:04 <elliott> this is too amazing.
04:43:07 <elliott> possibly too amazing for the world.
04:43:25 <elliott> * oerjan swats FireFly since he's easier to hit -----### <FireFly> bork * FireFly bork
04:44:23 <elliott> <bork> I can do everything a Turing machine can bork, except love
04:44:29 <elliott> <dtsund> For those who don't know: INTERCAL is basically the I Wanna Be The bork of programming languages. Not useful for anything serious, but pretty bork when viewed from the outside.
04:44:38 <elliott> ais523: comment on INTERCAL's status as the I Wanna Be The bork of programming languages.
04:44:45 <elliott> also, how bork it is when viewed from the outside.
04:44:53 <elliott> <scarf> and an AMICED literal would presumably /bork/ info to the source <scarf> whatever info bork added, that's the value that the AMICED doesn'bork contain <scarf> it's all falling into place
04:44:53 <elliott> Well, that makes about as much sense as the original.
04:45:23 <ais523> AMICED actually makes more sense than some of the other things in TURKEY BOMB
04:45:46 <ais523> because the spec strongly implies that there's an inherent "list of everything that exists" that you can subtract things from
04:46:04 <ais523> negative bit sizes work better than fractional
04:46:32 <elliott> ais523: meh, it just subtracts fractional things from the list
04:46:35 <elliott> or rather adds i suppose
04:46:54 <ais523> well, there's a potentially infinite type you can take the complement of
04:46:58 <ais523> but I forget what it's called
04:47:03 <elliott> ais523: PUDDING?
04:47:08 <ais523> that could be it
04:47:48 <oerjan> ...turkey bomb is the programming language of triangle and robert? makes sense.
04:52:40 <oerjan> *chirp*
04:53:01 <zzo38> Yes I think it is PUDDING type. I think TURKEY BOMB is not implementable?
04:53:03 <ais523> I don't know what you're talking about
04:53:10 <ais523> zzo38: I tried to implement it, but gave up after a while
04:53:18 <ais523> I think there's at least one method of interpreting the spec such that it's TC, though
04:53:22 <ais523> although I'm not entirely sure
04:58:00 -!- elliott has quit (Read error: Connection reset by peer).
04:58:21 -!- elliott has joined.
04:59:29 <elliott> i am really going to bed
04:59:33 <elliott> in like 3 seconds
04:59:40 * Lymia puts spiders in elliott's bed
05:00:00 <oerjan> elliott: you need to work on your arithmetic
05:00:24 <elliott> oerjan: you need to work on NO BACKCHATTING
05:00:36 <oerjan> what's that
05:00:43 <elliott> EXACTLY
05:00:57 <oerjan> ok
05:01:35 <zzo38> Lymia: I put big spider in my bed already. So if you have no more left you do not have to worry about it anymore. You can just take a cold shower or hot acid or whatever you want to, instead.
05:01:51 <elliott> ...
05:01:52 <elliott> o k
05:01:55 * Lymia puts a landmine into zzo38's mattress
05:02:01 <elliott> `addquote <zzo38> Lymia: I put big spider in my bed already. So if you have no more left you do not have to worry about it anymore. You can just take a cold shower or hot acid or whatever you want to, instead.
05:02:02 <Lymia> Are you sure we arn't talking with a Markov bot?
05:02:02 <HackEgo> 318) <zzo38> Lymia: I put big spider in my bed already. So if you have no more left you do not have to worry about it anymore. You can just take a cold shower or hot acid or whatever you want to, instead.
05:02:07 <elliott> we need two quote files, "funny" and "despair"
05:02:09 <elliott> Lymia: already asked him that.
05:02:12 <elliott> he CLAIMS no
05:02:21 <zzo38> Lymia: I don't think so
05:02:38 <ais523> Lymia: zzo38's taking revenge in a way that's vaguely similar to sarcasm, but improved a lot and twisted into near-unrecognisability
05:02:49 <zzo38> I am not Markov bot.
05:02:54 <Lymia> Yes you are.
05:03:01 <zzo38> Actually I am not.
05:03:06 <zzo38> (As far as I know)
05:03:30 <zzo38> How many landmines do you have?
05:03:35 <Lymia> You act like it!
05:04:05 <zzo38> Lymia: Maybe to you it seems like it but actually it is not.
05:04:28 <ais523> <fizzie> Physically press a WIN-WIN SCEs are that. (Highways here
05:04:29 <elliott> ais523: are you sure any of your zzo38 theories are correct?
05:04:34 <zzo38> ais523: Revenge? Why do you think it is revenge?
05:04:37 <ais523> What's Known fact.
05:04:40 <elliott> X-D
05:04:47 <elliott> I'm not sure it's possible to attach logic to zzo38
05:05:03 <ais523> <elliott> Ther and hit silver compounds out two days.net) joined happen fFSPG... atom, molecule money. :P
05:05:11 -!- Lymia_ has joined.
05:05:19 <ais523> <Vorpal> elliott> Sir, are you
05:05:21 -!- Lymia has quit (Disconnected by services).
05:05:22 -!- Lymia_ has changed nick to Lymia.
05:05:24 -!- Lymia has quit (Changing host).
05:05:24 -!- Lymia has joined.
05:06:08 <ais523> OK, enough markovbotting for me
05:08:51 -!- elliott has quit (Ping timeout: 240 seconds).
05:37:45 -!- Lymia has quit (Ping timeout: 240 seconds).
05:46:02 -!- pikhq_ has joined.
05:46:14 -!- pikhq has quit (Ping timeout: 250 seconds).
05:59:20 -!- azaq231 has quit (Quit: Leaving.).
05:59:32 <Gregor> http://lonelydino.com/?id=355
06:10:26 <pikhq_> That was definitely a good one.
06:10:44 * pikhq_ has T-Rex is Lonely in his feed reader.
06:26:06 <jayCampbell> ok water-based minecraft NAND takes 2 torches, 2 sand and 6 signs
06:28:07 <Gregor> Ahhhh, OK, maple soda with appreciably less syrup per liter = a delightful and refreshing experience.
06:28:48 -!- boysetsfrog has joined.
06:30:51 <Gregor> Also I think if I used my normal amount of syrup but less maple it'd be better.
06:31:06 <Gregor> Basically, maple extract is the most crazy-powerful extract I've ever used.
06:31:14 <pikhq_> Gregor: It's fucking maple.
06:31:44 <Gregor> pikhq_: Yeah, so? Anise is fucking ANISE.
06:51:07 -!- fungot has joined.
06:54:58 -!- oerjan has quit (Quit: leaving).
06:55:35 -!- asiekierka has joined.
07:01:53 -!- orcus_nine has quit (Read error: Operation timed out).
07:31:08 -!- pikhq has joined.
07:31:34 -!- pikhq_ has quit (Ping timeout: 272 seconds).
07:44:59 -!- orcus_nine has joined.
07:50:10 -!- orcus_nine has quit (Ping timeout: 276 seconds).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:43 -!- orcus_nine has joined.
08:24:27 -!- orcus_nine has quit (Ping timeout: 260 seconds).
08:31:05 -!- wth has joined.
08:40:11 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
09:06:19 -!- asiekierka has quit (Ping timeout: 276 seconds).
09:23:31 <jayCampbell> redd.it/foxg0
09:25:20 -!- MigoMipo has joined.
09:40:00 -!- Phantom_Hoover has joined.
09:57:21 <Phantom_Hoover> 19:54:26 <Lymia> How did you get from point A to point B? ← ais523's crazy routing algorithm.
09:58:18 <Phantom_Hoover> 20:00:49 <elliott> Lymia: We have tried to troll their IRC channel by suggesting utterly ridiculous features that nobody would ever think are a good idea.
09:59:07 <Phantom_Hoover> Also, elliott attempted to wring a design philosophy out of the designer, although for the sake of my sanity I seem to have forgotten it.
09:59:40 <Phantom_Hoover> 20:03:05 <Sgeo_> Falxon has macros?
09:59:56 <olsner> that sounds interesting, what are you suggesting features for?
10:00:10 <Phantom_Hoover> That was IIRC one of my troll suggestions: Lisp-style macros on the AST.
10:00:19 <Phantom_Hoover> olsner, Falcon.
10:00:24 <Phantom_Hoover> #falcon on Freenode.
10:00:49 <Phantom_Hoover> AKA Borglang.
10:00:49 <olsner> programming language?
10:01:34 <Phantom_Hoover> Yes. It's what you get when someone who thinks "FEEEAAATTTUUUURRREESSS" is a coherent design principle to make a language.
10:01:47 <Phantom_Hoover> s/to make/makes/
10:01:51 <olsner> hmm, doesn't google well... I have now run out of attention to dedicate to this issue
10:02:39 <Phantom_Hoover> 20:04:52 <elliott> i guess the apple versions are different
10:02:56 <Phantom_Hoover> Apple keyboards are US with some minor changes IIRC.
10:16:22 <Phantom_Hoover> 20:22:39 <Sgeo_> Falcon's out-of-band does remind me a bit of Either...
10:16:24 <Phantom_Hoover> HOW
10:26:12 -!- sebbu2 has joined.
10:29:13 -!- sebbu has quit (Ping timeout: 250 seconds).
10:29:57 * Phantom_Hoover wonders how much space a Befunge program needs if it's bounded in one dimension to stay TC.
10:36:28 <olsner> do befunge programs store data (only) in the funge-space?
10:42:42 -!- zzo38 has quit (Remote host closed the connection).
10:43:08 <Phantom_Hoover> olsner, ...no?
10:43:12 <Phantom_Hoover> They have a stack.
10:55:52 -!- BeholdMyGlory has joined.
10:56:55 <Phantom_Hoover> Also, fungespace is still infinite, just bounded in one direction.
10:57:14 <Phantom_Hoover> So in a narrow enough tube, control structures become impossible.
10:58:14 <olsner> but if you have external storage, why would it need to be infinite at all?
10:58:46 <Phantom_Hoover> Because you need to be able to write arbitrarily long programs for TCness.
10:59:27 -!- FireFly has joined.
11:03:16 <olsner> well, yes, but can't you just read the program from stdin? (befunge has IO?)
11:10:40 -!- wth has quit (Quit: Leaving.).
11:11:59 -!- cheater00 has quit (Ping timeout: 240 seconds).
11:14:20 -!- cheater00 has joined.
11:18:27 -!- asiekierka has joined.
11:19:35 -!- cheater00 has quit (Ping timeout: 240 seconds).
11:20:21 -!- cheater00 has joined.
11:51:00 <Gregor> I spilled peppermint extract on my hand.
11:51:02 <Gregor> BURNS SO MUCH.
11:56:24 -!- boysetsfrog has quit (Quit: ...).
12:03:28 <Vorpal> <Phantom_Hoover> That was IIRC one of my troll suggestions: Lisp-style macros on the AST.
12:03:32 <Vorpal> ... they implemented it?
12:03:43 <Phantom_Hoover> No idea.
12:03:56 <Vorpal> Phantom_Hoover, but falcon isn't an AST-language iirc. You need something like lisp syntax to do it!
12:04:48 -!- MigoMipo has quit (Read error: Connection reset by peer).
13:12:20 -!- asiekierka has quit (Ping timeout: 250 seconds).
13:16:39 <Phantom_Hoover> Vorpal, hence "AST".
13:30:15 <Vorpal> Phantom_Hoover, yes but that's insane
13:38:17 <Phantom_Hoover> Yes, that's the point.
13:55:32 -!- pikhq_ has joined.
13:55:56 -!- pikhq has quit (Ping timeout: 276 seconds).
14:11:02 -!- pikhq has joined.
14:11:18 -!- pikhq_ has quit (Ping timeout: 264 seconds).
14:13:50 <Vorpal> extra/libsamplerate 0.1.7-1 [installed]
14:13:51 <Vorpal> Secret Rabbit Code - aka Sample Rate Converter for audio
14:13:57 <Vorpal> strange package description
14:16:06 -!- pikhq has quit (Read error: Operation timed out).
14:16:20 -!- pikhq has joined.
14:21:14 <fizzie> Description: Audio sample rate conversion library
14:21:14 <fizzie> libsamplerate (aka Secret Rabbit Code) is a library for audio rate conversion.
14:21:19 <fizzie> I guess it's their official code name.
14:21:32 <Vorpal> ah
14:22:38 <fizzie> Actually based on http://www.mega-nerd.com/SRC/ it seems that Secret Rabbit Code is the official name, and libsamplerate is just their boring business name. :p
14:30:15 -!- sebbu has joined.
14:30:23 -!- sebbu has quit (Changing host).
14:30:23 -!- sebbu has joined.
14:33:27 -!- sebbu2 has quit (Ping timeout: 246 seconds).
14:35:34 -!- pikhq has quit (Ping timeout: 240 seconds).
14:35:50 -!- pikhq has joined.
14:36:11 -!- asiekierka has joined.
14:49:44 -!- iconmaster has joined.
14:55:01 -!- sebbu has quit (Read error: Connection reset by peer).
14:55:32 -!- sebbu has joined.
14:55:32 -!- sebbu has quit (Changing host).
14:55:32 -!- sebbu has joined.
15:22:33 -!- Mathnerd314 has joined.
15:23:20 -!- Behold has joined.
15:23:25 <Vorpal> Behold, BeholdMyGlory, there?
15:23:38 -!- BeholdMyGlory has quit (Read error: Operation timed out).
15:23:58 <Ilari> Haha... "The current protocol for IP addresses is defined as IPv4 which is the fourth revision of the Internet protocol.". Except that it is the first verion of IP itself and the second version of low-level packet protocols.
15:24:06 <Vorpal> Behold, just wondering about one thing I saw... Are you involved in mupen64 stuff, or is that someone else with the same nick?
15:24:22 <Ilari> Ugh. Mupen64.
15:24:31 <Vorpal> Ilari, mupen64plus to be accurate
15:24:36 <Vorpal> Ilari, what's wrong with it?
15:24:44 <Vorpal> Ilari, there aren't really any choices if you are on linux
15:25:04 <Behold> Vorpal: That's me, I started building a PyQt frontend for Mupen64Plus, though I gave up on in mainly because of lack of time etc
15:25:19 <Ilari> Ah, mupen64plus.
15:25:21 <Vorpal> Behold, ah... I was searching for a frontend to use with the newish versions
15:25:36 <Behold> You'll want to use wxMupen64Plus
15:25:47 <Vorpal> Behold, got a link? I didn't see it listed anywhere
15:25:52 <Behold> https://bitbucket.org/auria/wxmupen64plus
15:25:59 <Ilari> There's talk (but no action) about adding rerecording to Mupen64plus.
15:26:11 <Vorpal> Behold, how feature-complete is it? compared to the old 1.5-series GUI
15:26:31 <Vorpal> Ilari, personally that is not a feature I care about, so I don't really feel any problems with it lacking
15:26:34 <Behold> Well, I haven't tested it yet myself, but Auria claims it's just about ready for a 0.1 release
15:26:35 <Vorpal> I just want the games to play well
15:26:40 <Behold> Config works, ROM browser works
15:26:48 <Vorpal> Behold, cheats? ;P
15:26:53 <Behold> No idea :P
15:27:05 <Vorpal> Behold, I wanted to try out that making-link-fly-in-oot one
15:27:11 <Vorpal> just to see what it was like
15:27:15 <Vorpal> (I beat the game ages ago)
15:27:19 <Behold> You can ask in #mupen64plus, Auria seems to be online at the moment
15:27:34 <Vorpal> Behold, meh, can just as well download and try it out
15:27:35 <ais523> rerecording has a bunch of advantages for even casual players
15:27:41 <ais523> because everyone wants their savestates to work properly
15:28:08 <Vorpal> ais523, isn't save states just about dumping the complete internal state at a given point?
15:28:09 <Behold> Vorpal: Note though, that you have to symlink the plugins to PREFIX/lib/wxmupen64plus
15:28:19 <Behold> For the time being
15:28:20 <Vorpal> Behold, okay, that's strange
15:28:41 <Behold> It's quite new and mainly developed on OS X, so that's why
15:28:54 <Vorpal> Behold, hm no Makefile
15:28:57 <ais523> Vorpal: if you can do that reliably and reproducably, rerecording's almost trivila
15:28:59 <ais523> *trivial
15:29:03 <ais523> but a lot of emulators can't
15:29:07 <Vorpal> "waf"?
15:29:09 <ais523> due to issues like threading
15:29:11 <Vorpal> what the heck is that
15:29:12 <Behold> Yup, waf
15:29:22 <Vorpal> Behold, but what is it?
15:29:23 <Behold> I think it's Python based
15:29:40 <Vorpal> Behold, doesn't seem to be in arch linux repos
15:29:45 <Vorpal> at least not under that name
15:29:48 <Behold> Nope, in AUR as python-waf
15:29:57 <Vorpal> Behold, meh, work :P
15:30:19 <Behold> Also, you need wxgtk-2.9 from AUR
15:30:56 <Vorpal> Behold, *way* too much work
15:31:01 <Vorpal> Behold, I'll just use command line
15:31:17 <Sgeo_> But I don't WANNA take in nutrients
15:31:21 <Behold> All right, though you could just use yaourt or something :P
15:31:27 <Phantom_Hoover> Sgeo_, THEY'RE GOOD FOR YOU
15:31:28 <Behold> For installing the packages
15:31:31 <Phantom_Hoover> EAT YOUR GREENS
15:31:34 <Vorpal> Behold, I would
15:31:34 <Phantom_Hoover> ALSO VITAMIN C
15:31:41 <Vorpal> Behold, yes but I have a Sempron 3300+
15:31:44 <Vorpal> Behold, this would take ages to build
15:31:48 <Vorpal> wxgtk I mean
15:32:18 * Phantom_Hoover tries to think how long the IWC timestream has been exploding for.
15:32:27 <Behold> Oh, okay
15:33:14 <fizzie> Waf is yet another build system; but installing anything shouldn't be necessary for building waffy stuff, they just bundle the waf script. (Though I guess if it's a development repo and not a release, it might not include that.)
15:39:38 <Ilari> Basically, if you have reliable savestating, save stream of inputs so far into savestate, have option to export inputs and have a way to play back inputs from given file.
15:44:25 <Sgeo_> I'm bored
15:44:38 <Sgeo_> Should I play with Windows Server 2003 or Windows Server 2008
15:46:42 <fizzie> You should average them to get Windows Server 2005.5, it has novelty value.,
15:48:11 <Sgeo_> lol
15:48:41 * Sgeo_ wonders if there are Chrome skins for Firefox
15:48:43 * Sgeo_ googles
15:49:02 <Sgeo_> This will annoy elliott, who doesn't believe in making one browser look like another.
15:49:12 <Sgeo_> Fuck his beliefs.
15:49:41 <fizzie> Religious intolerance? On my #esoteric? Well, I never!
15:50:21 <Sgeo_> Chromifox doesn't do what I need
15:54:02 <olsner> fizzie: bah, tolerance is boring
15:55:46 <fizzie> olsner: Not if it's ZERO TOLERANCE.
15:55:52 <fizzie> That sounds so sci-fi.
16:01:26 -!- pikhq_ has joined.
16:01:33 -!- pikhq has quit (Ping timeout: 260 seconds).
16:24:44 -!- MigoMipo has joined.
16:34:23 <fizzie> http://zem.fi/egostats/ -- first per-program plots: those "average tape contents at the end of a match for different tape lengths" plots for everyone.
16:34:51 <fizzie> I should probably try to find a job which involves mostly plotting different kinds of graphs. :p
16:35:16 <ais523> fizzie: "person who makes managers' reports look snazzy"
16:35:33 <ais523> there's probably a snappier name for that, but it's entirely in marketingspeak so nobody understands it
16:40:42 <fizzie> I don't know, aren't those graphs and plots mostly content-free? (Though I guess the egojoust plots I've been cranking -- pun inteded -- out are a bit on the silly side too. The "program size vs. score" scatterplot reminds me of that pirates/global warming graph.)
16:50:44 <Vorpal> fizzie, what about the author similarity graph?
16:51:51 <quintopia> fizzie: what's left on the tape at the end of a match is not as useful as what "this program left in the cell the last time it moved away from it"
16:53:43 <fizzie> quintopia: Yes, but the former was easier to collect. I'll try the latter thing too.
16:54:53 <quintopia> fizzie: it's not hard to collect. just have a parallel array as you simulate it, and every time a > happens, it copies the value from that cell to the other array iff it has a greater magnitude value.
16:55:08 <fizzie> Yes, I didn't say "hard"; I said the other was easier.
16:55:34 <quintopia> mm
17:06:45 <fizzie> Now it collects that; but it needs to be swangled into a plot too.
17:10:36 <fizzie> All these statistics are bloating my poor results.txt; it's 11.5 megabytes already.
17:13:00 -!- asiekierka has quit (Read error: Operation timed out).
17:13:33 <quintopia> lol
17:13:43 <quintopia> you keep it all in a txt file?
17:13:58 <fizzie> It goes into a .txt file first, then it's parsed into a .npz and a .dat.
17:14:47 <fizzie> (The first is numpy's own storage format; the second is just a pickle'd Python data structure.)
17:20:13 <fizzie> The "take max at < and >" strategy ends up copying opponent-set tape structures if the program just >s over them, but I don't think I can be bothered to write some sort of "maximum value the program actually edited" thing; besides, even that will fail if the program jiggles the cell.
17:20:26 <fizzie> The plots are there now, anyway; they have some amount of correlation, but that's not surprising.
17:22:30 <fizzie> Well, the defend9.5 and defend9.75 -built structures are a lot more visible on the max-left graphs.
17:23:28 <quintopia> http://zem.fi/egostats/plot_p38_ptapemax.png haha
17:23:49 <quintopia> space_elevator *always loses* on tape length 10 :P
17:24:38 <fizzie> Not quite; according to http://zem.fi/egostats/plot_tlpoints.png the average points on tape 10 are quite close to 0.
17:24:46 <fizzie> There are more spectacular losers, like myndzi_3pass.
17:25:23 <fizzie> FFSPG used to pretty much always lose on tape length 10 too, until Gregor special-cased it.
17:26:29 <quintopia> well that plot indicates that it at least *almost* always loses there
17:26:36 <quintopia> i can special case it too
17:26:40 <quintopia> to use a faster clear
17:27:53 <fizzie> As an aside, your "chilling" is broken on these stats; I still haven't fixed the undocumented-hack "*-1" in cranklance to do anything sensible, so it parses as *0.
17:31:13 <quintopia> !bfjoust space_elevator http://sprunge.us/VTjO
17:31:19 <quintopia> let's see if that improves
17:35:48 <EgoBot> Score for quintopia_space_elevator: 52.3
17:37:16 <quintopia> yep. it went up slightly.
17:38:12 -!- BeholdMyGlory has joined.
17:38:59 -!- Behold has quit (Ping timeout: 240 seconds).
17:41:18 -!- pikhq has joined.
17:42:01 -!- pikhq_ has quit (Ping timeout: 276 seconds).
17:46:15 * Sgeo_ is going to try Linux From Scratch at some point
17:47:43 -!- augur has quit (Remote host closed the connection).
17:48:39 <Gregor> elliott: WHERETF IS LANCE
17:48:49 <Gregor> fizzie: I'm tired of waiting, how's cranklance?
17:49:11 <Gregor> fizzie: (And can it generate the states table on-demand? :) )
17:49:31 <fizzie> For your purposes, you might find gearlance more suitable. :p
17:50:09 <fizzie> (It's crank but with all the kludged-in tape/whatever statistics collection dropped out; it just outputs vaguely egojoust-like <<>><X<<blah-line.)
17:50:24 <Gregor> I don't necessarily need egojoust-style output *shrugs*
17:51:02 <fizzie> Well, cranklance outputs 169 lines of statistics for each match.
17:52:24 * Gregor hmms.
17:52:49 -!- poiuy_qwert has joined.
17:53:03 <fizzie> I think I'll manually compare crank/gear against egojsout for a few games.
17:53:36 <quintopia> you should probably throw in the whole s/*-1/100000/ thing
17:53:44 <quintopia> err
17:53:47 <quintopia> *100000
17:53:50 <quintopia> you know XD
17:54:02 -!- Mathnerd314 has quit (Ping timeout: 250 seconds).
17:54:40 <fizzie> At least allegro vs. FFSPG gives identical (score-wise; didn't compare traces) results.
17:55:15 <Gregor> fizzie: Sauce.
17:56:10 <fizzie> Decoybooster2 vs. quapping_turtle too.
17:56:28 <Gregor> How 'bout jix_wiggle3 v aiswhatever_defend14
17:56:47 <fizzie> Parse error vs. parse error. :p
17:56:55 <Gregor> HOORAY
17:57:37 * Sgeo_ wonders if Linux XP has stopped being downright evil yet
17:58:24 * Sgeo_ is going to try it
17:58:59 <fizzie> It's just one file, so you can find it at http://zem.fi/~fis/gearlance.c -- I think the summed score at the end of the <<>> characters is in fact opposite sign than egojoust (at least it's the opposite sign than egojsout); and it runs only 42 configs (straight/straight and straight/inverted) and doesn't return-from-main the score.
18:00:20 <fizzie> And there's the oft-mentioned -1 thing.
18:00:48 <fizzie> I wasn't really setting out to write a egojoust replacement here, since, you know, lance was 98% done or however much it was again, I forget.
18:02:08 <Gregor> fizzie: Can haz copyright and license header.
18:02:24 * Sgeo_ abruptly decides that he's not interested.
18:04:32 <Sgeo_> http://peppermintos.com/
18:04:45 <Sgeo_> What the fuck does "fully integrates with <list of websites>" mean?
18:05:34 <fizzie> Gregor: Okay, I copypasted a BSD2 header from Wikipedia into the file. Let's hope it doesn't have any unfilled <copyright holder> placeholders.
18:06:14 <fizzie> Sgeo_: That the <list of websites> is pre-bookmarked in the browser?-)
18:06:25 <Sgeo_> hehe
18:06:27 <Sgeo_> Hmm
18:06:41 <Sgeo_> Ah. They're pre-bookmarked in the menu
18:06:54 <Sgeo_> http://peppermintos.com/wp-content/uploads/2010/04/Office_menu-300x187.jpg
18:06:58 <fizzie> I guess they could have even Prism'd them or something fancy.
18:07:08 <Sgeo_> They say they use Prism
18:07:15 <Sgeo_> http://peppermintos.com/screenshots/
18:07:19 <fizzie> Ah. Well, then.
18:08:03 <jayCampbell> ais523: and Phantom_Hoover and folks,
18:08:15 <Sgeo_> "On February 1, 2011, Mozilla announced that Prism would no longer be maintained, its ideas having been subsumed into a newer project called Chromeless"
18:09:16 <jayCampbell> http://www.minecraftforum.net/viewtopic.php?f=1020&t=185543
18:09:23 <fizzie> prism.mozillalabs.com is curiously silent about it being deprecated technology.
18:09:32 <jayCampbell> minecraft water nand gate nailed down
18:10:01 <Sgeo_> Let's burn the redstone stockpiles to the ground!
18:10:46 <jayCampbell> everyone bitches about "but you have to reset it yourself"
18:10:56 <jayCampbell> if i wanted easy i'd break out photoshop
18:11:10 <jayCampbell> doing it the hard way is sort of the point
18:15:02 <ais523> jayCampbell: there's a separate channel, #esoteric-minecraft, for Minecraft discussion
18:15:14 <ais523> because it got to such a point that it was drowning out everything else in the channel
18:15:27 <ais523> (even though Minecrafy is obviously ontopic here, being an esolang)
18:16:19 <jayCampbell> that's actually how i got back on this server
18:16:30 <jayCampbell> but folks on that channel said it wasn't for esoteric minecraft programming
18:16:38 <fizzie> Yes, it's a badly named channel.
18:17:12 <fizzie> It's more about a particular server which has a number of #esoteric folks on it; I think for actual programming-related stuff #esoteric-"main" is more suitable.
18:19:05 <quintopia> jayCampbell: build an 8-bit adder and i will promote your youtube video
18:19:35 -!- sebbu has quit (Ping timeout: 250 seconds).
18:20:00 -!- sebbu has joined.
18:21:48 <jayCampbell> that's sort of the goal
18:21:50 <fizzie> Gregor: I updated the .c file with one that does finally do the -1 thing too.
18:22:37 <jayCampbell> i think there's not enough vertical room to do 8 bit multiplication
18:23:26 <jayCampbell> also can't stop thinking about the fire-based gates
18:25:03 <fizzie> Gregor: Also, are you sure you don't want to wait for a (..[..)-strict implementation any longer simply because eliminating the current incompatible contestants (defend14, spookygoth, wiggle3, careful, careless) will bump your FFSPG score up by a whole lot?
18:25:18 <Gregor> fizzie: law
18:25:19 <Gregor> *lawl
18:25:29 <Gregor> fizzie: Actually I was considering rewriting at least the ones that nobody's maintaining
18:25:40 <Gregor> fizzie: ais523 can rewrite defend14 himself :P
18:25:49 <fizzie> You could probably just expand them out if nothing else.
18:26:10 <fizzie> Okay, based on file sizes the others seem reasonably short.
18:26:28 -!- Mathnerd314 has joined.
18:29:14 <fizzie> I think crank/gear should do the ((a{b{c}d}e)*3)*2 → aaabaaabcdddeddde thing right, but I haven't really tested that one.
18:31:14 <Phantom_Hoover> <jayCampbell> i think there's not enough vertical room to do 8 bit multiplication
18:31:24 <Phantom_Hoover> Obvious solution: sand gates.
18:31:45 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
18:36:25 <jayCampbell> hm?
18:36:47 -!- azaq23 has joined.
18:36:58 <jayCampbell> i mean these gates need a couple spaces of vertical drop each to function
18:37:14 -!- augur has joined.
18:37:34 <jayCampbell> oh, do you mean like,
18:38:05 <jayCampbell> when computation is approaching bedrock,
18:38:46 <jayCampbell> knock out torches under tall columns of sand which releases certain water streams at cloud layer
18:38:52 <pikhq> "Computation is approaching bedrock", eh? All in favor of creating a Minecraft computer at bedrock with I/O at surface level?
18:39:25 <pikhq> Even better, create a Youtube video and claim that somehow it's all being done in an obviously insufficient Redstone circuit. Just to fuck with people. :)
18:39:27 <fizzie> "Captain, the computation is approaching bedrock!" is something I could imagine hearing in some scifi-ish anime series.
18:39:44 <pikhq> fizzie: Seems like something Gainax would write.
18:40:08 <fizzie> Oh, and "Deploy sand gates!" is a very appropriate response, too.
18:40:19 <pikhq> :)
18:44:23 <Gregor> 1 25 69.86 32.21 Gregor_furry_furry_strapon_pegging_girls.bfjoust
18:44:24 <Gregor> 2 26 58.66 20.90 Gregor_ill_bet_you_have_four_decoys.bfjoust
18:44:24 <Gregor> 3 14 52.80 22.05 Deewiant_allegro.bfjoust
18:44:24 <Gregor> 4 43 52.28 21.33 quintopia_space_elevator.bfjoust
18:44:24 <Gregor> 5 17 51.77 21.24 Deewiant_pendolino.bfjoust
18:44:24 <Gregor> 6 24 51.24 20.90 Gregor_furry_furry_leather_discipline_girls.bfjoust
18:44:25 <Gregor> Bahahaahahah
18:44:28 <Gregor> fizzie: Bug?
18:44:49 <Gregor> Actually, maybe the four borken programs caused that.
18:44:52 <jayCampbell> searched "sand gate", had never seen this 16-bit adder in pure sand
18:45:12 <Gregor> fizzie: (I was actually referring to "ill_bet_you_have_four_decoys" being second as the potential bug)
18:45:30 <fizzie> Gregor: Weirdness; I don't see that here.
18:45:33 <jayCampbell> quintopia: http://www.minecraftforum.net/viewtopic.php?f=23&t=6471
18:45:50 <fizzie> Though it is #7 here, which is a bit suspicious.
18:46:00 <Gregor> fizzie: It's #7 in reality.
18:46:12 <fizzie> Ah.
18:46:17 <fizzie> Hmm.
18:47:29 <Gregor> fizzie: Hmm, wait, it's #7 when done with gearlance for you?
18:47:35 <ais523> so, is four tripwires the new optimal number to avoid?
18:47:44 <fizzie> Gregor: Well, crank, but it's very identical code.
18:47:56 <fizzie> (My stats script parses the cranklance extended output.)
18:48:05 <fizzie> http://zem.fi/~fis/egostats/ are crank-given results.
18:48:07 <Gregor> ais523: It's not even tripwires, just any four decoys :P
18:48:49 <Gregor> fizzie: Why do you have 42 programs?
18:49:13 <fizzie> 47 from in_egobot, minus those five which parse-error.
18:49:34 <Gregor> Five? I have only four with parse errors.
18:50:09 <fizzie> Maybe my hill is not quite the latest.
18:50:45 <Gregor> fizzie: Can you update it and see if ill_bet_you_have_four_decoys moves? I strongly suspect that it bumped up just because all of its real competition was killed for parse errors, but that might have been after some change you don't have ...
18:51:11 <fizzie> I should probably hg clone your hill instead of wget -r -l 1 -A bfjoust -nd -np all the time. :p
18:51:18 <Gregor> Yes :P
18:52:04 <fizzie> No, I still get five parse errors:
18:52:04 <fizzie> $ ls hill/*.bfjoust | while read f; do echo -n "$f "; ./gearlance $f $f; done | grep parse
18:52:04 <fizzie> hill/ais523_defend14.bfjoust parse error: [..] crossing out of a ({..}) level
18:52:04 <fizzie> hill/impomatic_spookygoth.bfjoust parse error: [..] crossing out of a ({..}) level
18:52:04 <fizzie> hill/jix_wiggle3.bfjoust parse error: [..] crossing out of a ({..}) level
18:52:04 <fizzie> hill/myndzi_careful.bfjoust parse error: [..] crossing out of a ({..}) level
18:52:06 <fizzie> hill/myndzi_careless.bfjoust parse error: [..] crossing out of a ({..}) level
18:53:00 <Gregor> Oh, hahahah, I ran it through report so it deleted defend14 :P
18:54:06 <Gregor> Anyway, still doesn't explain the score.
18:56:24 <fizzie> Right. I get 42.39 score, -0.10 points for Gregor_ill_bet_you_have_four_decoys here. Do you have some sort of a breakdown.txt for it?
18:58:15 <Gregor> fizzie: http://sprunge.us/jVYE
18:58:17 -!- sebbu2 has joined.
18:58:17 -!- sebbu2 has quit (Changing host).
18:58:17 -!- sebbu2 has joined.
18:59:34 <Gregor> Huh, the scores are still backwards, but in a weird way.
18:59:40 <Gregor> As they're not always backwards or something ...
19:00:03 <Gregor> Aha
19:00:12 <Gregor> I only reversed the scores in one place >_>
19:01:07 <Gregor> fizzie: http://sprunge.us/SQiS Bug?
19:01:35 -!- sebbu has quit (Ping timeout: 250 seconds).
19:01:45 <Gregor> fizzie: Or is that just to make it tie?
19:02:17 <Gregor> OK, yeah, that bugfix bugfixed it.
19:02:50 <fizzie> At least the intended logic there is that fallA doesn't insta-quit to check for ties, while fallB does insta-quit while independently checking for ties. (And the next-cycle code doesn't check for fall-off-a-tape at all.)
19:03:43 <Gregor> Got it.
19:04:06 <Gregor> I had neglected to change the score direction there, so it turned a loss into a SUPERLOSS.
19:04:12 <Gregor> Or maybe a superwin ...
19:04:14 <Gregor> Either way it was wrong.
19:04:44 <fizzie> Right; you might have wanted just to put -score instead of score in main(), you know. :p
19:05:02 -!- Sgeo has joined.
19:05:26 <Sgeo> How not to make an impressive YouTube video: Show an OS booting for a minute
19:05:29 <Sgeo> Seriously
19:05:37 <Sgeo> http://www.youtube.com/watch?v=unb8P0xVgbI
19:06:15 <fizzie> (It used to be so that the score++/score-- in run() directly affected the running sum, but currently the value -- which is always -1, 0 or 1 -- is written into an array, and main() then prints out the <>s after everything's been done, and computes the sum.)
19:06:24 <Phantom_Hoover> Sgeo, I'M ON THE EDGE OF MY SEAT
19:06:32 <Phantom_Hoover> OMG PROGRESS BAR
19:06:35 <Phantom_Hoover> IS IT GOING TO START
19:06:43 <Phantom_Hoover> THE TENSION IS KILLING ME
19:07:13 <Gregor> !bfjoust watch_gearlance_faillol <3
19:07:13 <Phantom_Hoover> THIS MAN IS HITCHCOCKIAN IN HIS MASTERY OF OMG IT'S MOVING
19:07:31 <Phantom_Hoover> AND IT'S PAST HALFWAy
19:07:46 <Phantom_Hoover> OMG IT WENT BLACK WHILE THE BAR WAS IN THE MIDDLE
19:07:57 <Phantom_Hoover> MOUSE LOGINSCREENDESKTOPOMG
19:08:23 <Phantom_Hoover> LOOK AT THAT STANDARD GNOME DESKTOP WITH
19:08:28 <Phantom_Hoover> SLIGHTLY DIFFERENT FONTS
19:08:28 -!- sebbu2 has changed nick to sebbu.
19:09:13 <fizzie> Gregor: It would be hileeeerious if you double-flipped the scores again somehow and that got a 100.0.
19:09:55 <Gregor> if (!strncmp(argv[1], "Gregor_", 7)) score = -42; else if (!strncmp(argv[2], "Gregor_", 7)) score = 42;
19:10:41 * Gregor wonders what's going on ...
19:11:01 <fizzie> http://codu.org/eso/bfjoust/breakdown.txt seems to be getting quite long.
19:11:09 <Gregor> Oh for eff's sake >_<
19:11:23 <Gregor> It's also quite wrong :P
19:11:33 <Gregor> It was going to call everyone a tie with everyone.
19:11:46 <Gregor> (In spite of what breakdown said)
19:12:12 <fizzie> Heh, that's very... diplomatic.
19:12:23 <Gregor> !bfjoust watch_gearlance_faillol <3
19:12:46 <EgoBot> Score for Gregor_watch_gearlance_faillol: 0.0
19:12:47 <EgoBot> Score for Gregor_watch_gearlance_faillol: 0.0
19:13:10 <Gregor> THE REVOLUTION IS OVER
19:13:57 <fizzie> You realize I'm going to shift all the blame for lance-ursurpuration over to you when elliott asks? :p
19:14:15 <Gregor> It is entirely my fault.
19:14:17 <Gregor> But come on.
19:14:28 <Gregor> We gave him over a week to implement what is essentially an elaborate Brainfuck interpreter.
19:14:52 <fizzie> I'm going to be all "but all I wanted was beautiful butterfly pictures! it's not me! it's him!"
19:15:04 -!- oerjan has joined.
19:17:11 <oerjan> is it tunes.org that is slow, or just my connection...
19:17:30 <ais523> it can be pretty slow
19:17:34 <Gregor> !bfjoust return_of_myndzi_careless >+++++>+++++>----->----->+>->>>((>[(-)*126(-.)*3{}])*22)*22
19:17:40 <ais523> but to me, it doesn't seem to be consistent
19:17:49 <oerjan> starting a reload seemed to help
19:18:02 <Gregor> Whoops, did that wrong.
19:18:05 <EgoBot> Score for Gregor_return_of_myndzi_careless: 30.1
19:18:14 <Gregor> !bfjoust return_of_myndzi_careless >+++++>+++++>----->----->+>->>>((>[(-)*126(-.)*3{}])%22)*22
19:18:17 <EgoBot> Score for Gregor_return_of_myndzi_careless: 30.7
19:18:27 <Gregor> !bfjoust return_of_myndzi_careful >+++++++++++++++++++++++++>+++++++++++++++++++++++++>+++++++++++++++++++++++++>------------------------->------------------------->------------------------->>((>[-[++[(-.)*2((-)*28(.-)*4)*4{}]]])%21)*21
19:19:57 <EgoBot> Score for Gregor_return_of_myndzi_careful: 32.5
19:20:23 <Gregor> !bfjoust return_of_jix_wiggle3 http://sprunge.us/MGOR
19:20:33 <ais523> Gregor: is egobot still running egojoust?
19:20:34 <EgoBot> Score for Gregor_return_of_jix_wiggle3: 36.0
19:20:50 <fizzie> Oh, incidentally, gear doesn't differentiate between the * and % delimiters at all; if there's a {} directly inside a () block, it gets turned into a (..{..}..) construct.
19:20:54 <Gregor> ais523: No.
19:21:08 <ais523> ah, if I hadn't been up for over 24 hours I'd go fix my programs now
19:21:14 <ais523> as it is, you'll have to wait until later
19:23:58 <Gregor> !bfjoust return_of_impomatic_spookygoth (>(+)*7)*2(>+++>+++)*3(>([+{[(-)*7([-{[(-)*122[-]]}])%5]}])%6>([+{[(-)*7([-{[(-)*122[-(])*14)*10>([-{[(+)*7([+{[(+)*122[+]]}])%5]}])%6]}])%5]}])%6[-]
19:24:03 <EgoBot> Score for Gregor_return_of_impomatic_spookygoth: 0.0
19:24:04 <Gregor> (That might be wrong :P )
19:24:09 <Gregor> Bleh
19:24:13 <Gregor> spookygoth is a mess X-D
19:24:46 <Gregor> ais523: defend14 is the only one that needs fixing.
19:25:23 <ais523> it'll be fixed eventually
19:25:38 <ais523> defend9.75 also needs fixing for a different reason, although it may be under a different name at this rate
19:26:55 <fizzie> When you hit defend9.9990234375 (which is just 10-(1/2)^10, i.e. not so many iterations) the name is starting to be a bit silly.
19:27:14 <Gregor> fizzie: Feel like fixing impomatic_spookygoth? :P
19:27:38 <fizzie> Gregor: hg clone http://codu.org/eso/bfjoust/in_egobot/ hill → "updating to branch default ... abort: 00manifest.i@4ce17470b7c9: no node!". That was strange.
19:27:51 <Gregor> fizzie: That ... is strange.
19:27:58 <fizzie> I could try, if only for the reason that I'd get my name on the list that way.
19:29:15 <Gregor> fizzie: I don't suppose you have an expander sittin' around somewhere.
19:30:47 <fizzie> !bfjoust return_of_impomatic_spookygoth http://p.zem.fi/spookyfix
19:31:00 <EgoBot> Score for fizzie_return_of_impomatic_spookygoth: 30.8
19:31:08 <fizzie> Unfortunately not; I kept putting that off until later all the time.
19:31:24 <fizzie> (That was done by manual expansion.)
19:31:58 <Gregor> I was trying to replace ()...() with ({...}), but I suppose for spookygoth that doesn't work :P
19:32:13 <Gregor> !bfjoust furry_furry_strapon_pegging_girls http://sprunge.us/CCAN
19:32:18 <EgoBot> Score for Gregor_furry_furry_strapon_pegging_girls: 68.0
19:32:47 <Gregor> Why did that go down, it should've been identical except using nested (... wait, I did that wrong.
19:33:03 <fizzie> Yeah, it does that ([+)*6 ... ([-)*5 ... some other [s ... (])*14 thing, which isn't so easily covertible.
19:33:07 <Gregor> !bfjoust furry_furry_strapon_pegging_girls http://sprunge.us/jMbE
19:33:10 <EgoBot> Score for Gregor_furry_furry_strapon_pegging_girls: 69.8
19:33:25 <Gregor> fizzie: Do you support (({{}})) nesting, btw?
19:33:35 <fizzie> It *should* work, but it's not tested.
19:34:04 <fizzie> I've tested that the parser does parse those correctly -- well, up to two levels deep, anyway -- but I'm not entirely certain about the interpreting. By my logic it should work.
19:34:37 <Gregor> Interpreting it is no different from interpreting any other ({}) loop, so long as you have the inner {} associated with the outer () properly.
19:34:39 <fizzie> I didn't really have any real nested-{{}} programs to test against, I just tried one real trivial test case and compared traces.
19:40:09 <Gregor> OK, banana soda: Banana extract is not strong enough to overpower the citric acid, HOWEVER, banana-citrus soda is a TROPICAL DELIGHT
19:42:15 <cheater00> heh someone put minecraft in the AUR
19:43:10 <fizzie> Minecraft is in the Ubuntu Software Center, isn't it?
19:43:43 <fizzie> In the "canonical partners" repository, I think.
19:43:54 <fizzie> Or somewhere.
19:44:21 <fizzie> (I think it was shown in some Software Center screenshot.)
19:45:51 <Phantom_Hoover> "In most American states it is perfectly legal to keep a monkey." — TV
20:04:24 <Vorpal> I'm afraid I decoded the Maya thing.
20:04:27 <Vorpal> They were off by one
20:05:18 <Vorpal> What they were counting down to was IPv4 exhaustion.
20:12:25 -!- zzo38 has joined.
20:17:36 <cheater00> NEW WORLD ORDER!!!
20:19:07 <oerjan> now reverse lexicographical by the arabic alphabet
20:19:26 <oerjan> oh and the reverse is for the alphabet, not the letters
20:20:23 <Vorpal> cheater00, they weren't counting with the lazy modern ISPs
20:20:24 <oerjan> er
20:20:41 <oerjan> *not the letters in words
20:21:02 <fizzie> Gregor: Please to be fetching http://zem.fi/~fis/gearlance.c again; there was a really stupid gaffe for the [ handling for the right player. (I *know* they're supposed to use the tape value at the start of the cycle, I had it just fine in chainlance, I could swear I had it right in some point in cranklance too, but now it was wrong.)
20:21:04 <Vorpal> <cheater00> heh someone put minecraft in the AUR <-- err what
20:21:24 <fizzie> Gregor: Also if you have some good command for rerunning the hill with the new code, that might be a good idea. :p
20:21:32 <cheater00> Vorpal: yeah, that's what i thought too
20:21:38 <cheater00> after all why would someone put it there
20:21:58 <fizzie> Gregor: (Noticed this when I got asymmetric results for gearlancing "foo vs bar" and "bar vs foo".)
20:22:49 -!- augur has quit (Remote host closed the connection).
20:22:55 <Vorpal> fizzie, how could it differ so much between the players?
20:23:51 <fizzie> Vorpal: Somehow I had managed to stupidly use the current tape value also in B player's [ and ] instructions, instead of the cached copy of tape-as-start-of-the-cycle. Mea maxima culpa. I have no excuse.
20:24:52 <Vorpal> fizzie, wouldn't that be maximus?
20:25:05 <cheater00> minimus
20:25:07 <fizzie> Could be; I don't really speak latin.
20:25:11 <Gregor> !bfjoust rerun_the_hill <3
20:25:12 <Vorpal> fizzie, nor do I
20:25:21 <cheater00> it's actually the way fizzie said it
20:25:23 <fizzie> To emphasize the message, the adjective "maxima" may be inserted, resulting in "mea maxima culpa," which would translate as "my most [grievous] fault."
20:25:27 <fizzie> Yeah, wp seems to agree.
20:25:31 <Vorpal> Gregor, that won't rerun /all/ of it?
20:25:40 <Vorpal> fizzie, ah
20:25:40 <Gregor> Vorpal: I trashed the cache.
20:25:46 <EgoBot> Score for Gregor_rerun_the_hill: 0.0
20:25:48 <Vorpal> Gregor, ah
20:25:52 <Vorpal> !bfjoust
20:25:52 <EgoBot> Use: !bfjoust <program name> <program> . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/
20:26:25 <Vorpal> fizzie, how goes elliott's plain lance?
20:26:58 <fizzie> Vorpal: No news, elliott hasn't been here at all; so Gregor jumped the... is it gun? Well, jumped the something.
20:27:04 <fizzie> Shark. No, not that.
20:27:09 <Vorpal> fizzie, jumped the lance
20:27:38 <Gregor> I jumped no gun. elliott has officially taken way too damned long.
20:27:41 <oerjan> <Vorpal> fizzie, wouldn't that be maximus? <-- no. the -a ending shows that the words agree in gender.
20:27:48 <fizzie> Gregor: I like your "parse error is a tie" handling; <3 manages to die with the old careless.
20:28:01 <fizzie> s/die/tie/
20:28:58 <oerjan> (also case and number, but that's the same for maximus)
20:29:10 <Vorpal> fizzie, how does gear/crank/chain-lance differ?
20:29:29 <pikhq> fizzie: I dispute your orthographic choices!
20:29:40 <pikhq> fizzie: "MEA MAXIMA CVLPA", man.
20:29:52 <pikhq> And fuck the Catholics.
20:30:07 <Vorpal> pikhq, correction: fuck the Christians.
20:30:22 <oerjan> (also not all words use -a for the feminine nominative singular ending, but i think it's the most common one.)
20:30:42 <pikhq> Vorpal: It's the Roman Catholics in particular that are responsible for the abuse of Latin.
20:30:52 <fizzie> Vorpal: chainlance is the "translate to handcrafted assembler with everything in registers" thing that was supposed to be fast but wasn't (think "chainsaw"); cranklance is the threaded-goto-style C interpreter reimplementation for my plotting purposes (think "hand-cranked chainsaw"); gearlance is cranklance but with the useless statistics code dropped off (think "oh uh huh weird, my names are all bicycle-themed already, let's go with that theme").
20:31:07 <pikhq> The other pre-Luther churches used completely different liturgical languages.
20:31:36 <Vorpal> fizzie, ah
20:31:36 <zzo38> You think they are abuse?
20:31:54 <Vorpal> oerjan, shouldn't a male use a masculine form of that then?
20:31:54 <pikhq> zzo38: They certainly abused Latin.
20:31:55 <zzo38> There are a few different Latin used sometimes?
20:33:05 <oerjan> Vorpal: it's the noun culpa that determines that
20:33:29 <Vorpal> ah
20:33:53 <fizzie> Vorpal: Ah, here's the screenshot I saw when they were advertising Ubuntu 10.10: http://pics.webchimp.me.uk/minecraft/ubuntu10.10_supported_games.png -- but Minecraft is not in the Software Center now, so... *shrug*.
20:34:13 <fizzie> (Perhaps they just wanted to cash in the hype.)
20:34:22 <pikhq> zzo38: Church Latin uses Italian phoneme values.
20:34:25 <pikhq> Which is WRONG.
20:35:50 <zzo38> Yes I think it is wrong.
20:36:09 <zzo38> But it is the kind of Latin the church decide to make and use.
20:37:20 <pikhq> Because it's in freaking Italy.
20:38:05 <zzo38> It is in Vatican City, which is its own country. But it is in Italy. Which is why they can speak Italian.
20:39:31 <pikhq> Freaking church gettings its own country.
20:40:08 <zzo38> Perhaps they require their own laws, which is why they need their own country?
20:41:21 <oerjan> zzo38: the pope was pretty pissed off about not being independent during the time the vatican was part of italy
20:41:27 -!- augur has joined.
20:41:40 <zzo38> oerjan: Why? Is it because they required their own laws?
20:43:39 <pikhq> zzo38: Historically, the Vatican was the government of much of what is modern-day Italy.
20:43:42 <pikhq> The Papal States.
20:43:57 <oerjan> zzo38: i would think it's because the catholic church considers itself more important than countries, and so consider it insulting for its headquarters to be bound by some other country's laws. also many people have tried to manipulate the pope/church during history (and vice versa, the popes were no saints (that's a joke, because officially by the church some _were_))
20:44:02 <oerjan> *-)
20:44:32 <oerjan> incidentally part of the treaty with italy was that the vatican should _stop_ interfering in world politics
20:45:29 <oerjan> er, *-*-)
20:46:29 <Gregor> OK, banana-citrus soda was pretty darn good, but I'm now trying replacing half of the banana with an orange-lemon-anise blend.
20:46:37 <Gregor> This should be a TROPICAL EXPLOSION OF AWESOME
20:47:10 <oerjan> are you sure this doesn't count as Tastes Man Was Not Meant To Know?
20:47:23 <Gregor> Banana-orange-lemon is hardly a rare combo.
20:47:25 <zzo38> If you want it exploding then you should add bombs too! Now we have banana-orange-lemon-anise-cirtus-bombs-soda.
20:47:32 <Gregor> Anise should just add some depth and warmth to it.
20:50:53 <zzo38> I have read of a game which is cross between Chess and Ultima, called Stupid. There are three variants: Pure Stupid, Total Stupid, and Plane Stupid.
20:52:10 <pikhq> oerjan: Well, the Vatican was only not a government unto itself for a few decades...
20:52:20 <pikhq> Erm, unless you go back to the 600s.
20:52:40 <zzo38> pikhq: What kind of government is it?
20:52:50 <pikhq> zzo38: Monarchy.
20:53:03 <Gregor> Theocracy :P
20:53:18 <pikhq> Gregor: Well, yes.
20:53:26 <ais523> it's an appointed, rather than hereditary, monarchy
20:53:31 <ais523> is there a separate name for that?
20:53:33 <oerjan> in practice, absolutist monarchy
20:53:47 <pikhq> ais523: s/appointed/elected/
20:54:02 <pikhq> Though the electors *themselves* are appointed.
20:55:10 <ais523> pikhq: it isn't exactly an election
20:55:22 <ais523> because the people whose choice it is are all locked in a room until they come to a unanimous decision
20:56:54 <Gregor> Let's lock everyone in the USA in a room until they unanimously decide on a president.
20:57:07 <zzo38> I guess they want to be *really sure* of it. But what if they cannot agree? Then it won't work very well because one guy might starve to death or be threatened as such. Or, will try to throw the other guy out the window?
20:57:18 <ais523> Gregor: that would be hilarious
20:57:31 <ais523> zzo38: I think the idea is that they'll agree to anyone rather than starve to death
20:57:56 <pikhq> IIRC food is brought in by dumbwaiter.
20:58:00 <oerjan> 1870-1929
20:58:12 <Gregor> ais523: With the US, all the fit, healthy people would die first since they have no fat on them, leaving the moribund critically obese people to all vote for the republican.
20:59:05 <zzo38> Well, some person there will not like the dumbwaiter, and so will try to prevent receiving food in that way.
20:59:13 <oerjan> i'm not sure the decision is unanimous, actually
21:01:19 <oerjan> it seems like it starts as 2/3 and goes down after seven ballots
21:01:22 <pikhq> Ah, they just allow a limited number of servants in for things.
21:01:52 <oerjan> um wait, there's more than seven before that point
21:01:54 <ais523> oerjan: how a) practical, b) boring
21:02:08 <ais523> can it ever go below 50%+1?
21:02:09 <oerjan> http://en.wikipedia.org/wiki/Papal_conclave#Voting
21:02:26 <oerjan> ais523: the number of candidates is reduced to two as well, so that's probably not necessary
21:02:38 -!- elliott has joined.
21:02:46 <elliott> A new predefined macro __COUNTER__ has been added. It expands to sequential integral values starting from 0. In conjunction with the ## operator, this provides a convenient means to generate unique identifiers.
21:02:52 -!- elliott has quit (Client Quit).
21:03:00 <oerjan> of course these are the current rules, the pope can and has changed them many times, i believe
21:03:24 <zzo38> elliott: In C? I guess that work
21:03:28 <ais523> hmm, that predef could be really useful in C-INTERCAL
21:03:42 <zzo38> Why they just write one message and quit?
21:03:43 <ais523> at the moment, it does more or less exactly that, but by running its own preprocessor over the preprocessed C source
21:04:04 <ais523> however, it needs to generate each identifier exactly twice
21:04:21 <ais523> and I'm not sure if there's an obvious way to do that with __COUNTER__, as you can't do arithmetic inside token pasting
21:04:37 <zzo38> Currently I can just write a interpreted code in Enhanced CWEB to do that. And also doing arithmetic with it, too.
21:05:10 <zzo38> (Since it allows you to add additional preprocessors before the C preprocessor)
21:05:13 -!- Wamanuz5 has quit (Read error: Connection reset by peer).
21:05:26 -!- Wamanuz5 has joined.
21:06:29 -!- elliott has joined.
21:06:33 <elliott> ais523: easy
21:06:37 <elliott> #define foo() foo_(__COUNTER__)
21:06:39 <elliott> #define foo_(id) ...
21:06:53 <ais523> err, does that work?
21:06:57 <elliott> yes
21:07:06 <elliott> the expansion goes foo_(__COUNTER__) -> foo_(34) ->
21:07:08 <elliott> ...
21:07:12 <elliott> ais523: just like you can do
21:07:21 <elliott> #define stringify(x) stringify_(x)
21:07:21 <ais523> oh, but the pairs might not be in logically related contexts in the source
21:07:23 <zzo38> You don't do arithmetic like that? Except in #if and stuff like that, you don't do arithmetic with preprocessor
21:07:24 <ais523> otherwise it would be easy
21:07:24 <elliott> #define stringify_(x) #x
21:07:39 <elliott> ais523: hmm
21:07:44 <ais523> preprocessor arithmetic only happens inside #if conditions
21:08:10 <ais523> so you can't do the arithmetic in the preprocessor full stop as you can't return anything but a boolean, nor can you do it at compile time because then it's too late to do token pasting
21:08:12 <zzo38> ais523: Yes, that is my point.
21:08:22 <elliott> ais523: untrue
21:08:28 <elliott> chaos-pp has libraries for arithmetic in cpp
21:08:31 <elliott> that can output as plain decimals
21:08:33 <elliott> in the code
21:08:40 <elliott> (note: chaos-pp is completely insane)
21:08:50 <ais523> elliott: oh, via the emulate-an-ALU-using-#defines method?
21:08:59 <ais523> I'm pretty sure someone submitted that to the IOCCC once
21:09:02 <elliott> ais523: no
21:09:11 <elliott> ais523: It's advanced enough to have multiple types of list and recursion, and it even supports _bignums_
21:09:16 <elliott> (there's a fibonacci written in chaos-pp)
21:09:37 <zzo38> elliott: Yes but I do not think you can take actual numbers as input with it? Since it cannot do preprocessor with actual numbers. WIth faking it, you can do it, for sure. So chaos-pp might be good for faking it.
21:09:54 <elliott> zzo38: what?
21:09:56 <elliott> no, you can do
21:09:58 <zzo38> They are not the same numbers used in normal C codes.
21:09:58 <elliott> foo(42) -> 43
21:10:00 <elliott> as a macro
21:10:01 <elliott> yes, they are
21:10:15 <elliott> I think with the "42" form it only supports up to 512 for _input_
21:10:20 <elliott> so you'd need (4 2) for more, I think
21:10:45 <zzo38> elliott: See? That is what I meant. It is limited and cannot use the same numbers as the C codes except in very limited way.
21:11:07 <elliott> zzo38: you could easily make 2^32 preprocessor defines
21:11:09 <elliott> and cover the whole 32-bit range
21:11:18 <zzo38> Still, if you need bignums, that is how you do it.
21:11:26 <zzo38> elliott: That is how you waste memory!!!
21:11:41 <elliott> what?
21:11:46 <elliott> well in the preprocessor sure.
21:12:11 <zzo38> Yes, there will not be enough memory in a 32-bit computer for the preprocessor!!
21:12:31 <elliott> !!!!!!!!!
21:12:35 <elliott> You only need one exclamation mark.
21:12:38 <pikhq> zzo38: Good thing I have a 64-bit computer.
21:12:39 <pikhq> :P
21:12:54 <elliott> pikhq: Or an OS that can swap.
21:13:37 <zzo38> Then you will need a 64-bit computer to compile 32-bit program.
21:13:57 <elliott> 64-bit programs can use 32-bit integers.
21:13:58 <elliott> zzo38: And: <elliott> pikhq: Or an OS that can swap.
21:14:54 <zzo38> And making 2^32 preprocessor defines will make the preprocessor very slow, isn't it?
21:15:08 <elliott> Define slow.
21:16:08 <zzo38> I mean it will take a long time to parse all of the definitions, since there is too many, and then the dictionary to search for the words will also be very large, even if it is very efficient.
21:16:18 -!- Wamanuz5 has quit (Ping timeout: 246 seconds).
21:16:26 -!- Wamanuz5 has joined.
21:16:35 <elliott> zzo38: It's just four billion.
21:16:37 <elliott> That's not much!
21:17:18 <zzo38> It may be four billion, but it still has to do a lot of things with each one.
21:17:18 -!- elliott has quit (Read error: Connection reset by peer).
21:17:39 -!- elliott has joined.
21:18:13 <zzo38> And even if you can swap, or have 64-bit computer, the preprocessor will still take up a very large amount of too much memory.
21:18:14 <pikhq> Who cares about efficiency, we're talking hypotheticals!
21:18:22 <elliott> <elliott> zzo38: It's just four billion.
21:18:23 <elliott> <elliott> That's not much!
21:18:41 <jayCampbell> you know who else liked efficiency
21:18:47 <elliott> Hitler?
21:18:52 <elliott> The Jews?
21:18:55 <elliott> Jewish Hitler?
21:19:03 <zzo38> O, hypothetical. In that case, yes it works.
21:19:04 <elliott> Jewish Robo-Hitler?
21:19:10 <jayCampbell> yeah that last one
21:19:11 <elliott> Robo-Jewish Robo-Hitler?
21:20:02 <oerjan> <zzo38> Then you will need a 64-bit computer to compile 32-bit program. <-- reminds me of some forms of the halting problem :)
21:20:42 <oerjan> (or well, i think they're called hierarchy theorems)
21:24:21 <elliott> hey oerjan, go prove some theorems about underload.
21:24:36 <oerjan> elliott: i've got one on the backburner
21:24:42 <elliott> EXCELLENT.
21:24:59 <elliott> ais523: you are BACKBURNED
21:25:26 <oerjan> basically trying to combine the ~ and ! (the simple one) eliminations to get rid of both simultaneously
21:25:58 <elliott> oerjan: that's not a theorem! theorems are COMPLICATED things
21:26:11 <oerjan> erm
21:26:18 <elliott> oerjan: try "underload with reverse-backtracking continuations forms a semigroup under equivalence of compressed results"
21:26:51 <oerjan> underload always forms a semigroup, that's sort of a given for concatenative languages
21:27:00 <elliott> oerjan: fine, FIELD then
21:27:02 <zzo38> Theorems are not always complicated things, I think
21:27:12 <elliott> "Underload forms a field under strong influence of bullshit."
21:27:21 <oerjan> THAT MIGHT BE
21:27:48 <ais523> I've been vaguely trying to prove Burro to form a cartesian closed category with only one object
21:27:58 <ais523> but in my head, which is a little hard as I can't remember all the axioms
21:28:08 <oerjan> ouch
21:29:11 <zzo38> Are you really sure that Burro programs form a group? Do Revaver2pi programs (without I/O) form a group? I do not know the answer to either question, although I can guess.
21:29:27 <ais523> zzo38: original Burro didn't, and I pointed out the mistake, and cpressey fixed it
21:30:14 <zzo38> ais523: Well, good. It is what I thought too. What exactly was changed?
21:30:22 <elliott> aaaaargh, ghc's line-handling sucks
21:30:43 <elliott> :t init
21:30:43 <lambdabot> forall a. [a] -> [a]
21:30:44 <thutubot> forall a. [a] -> [a]
21:31:08 <ais523> zzo38: the \ command, IIRC; previously \ cancelled out / but not vice versa
21:31:16 <oerjan> ais523: you might want to fix that thutubot lambdabot parsing
21:31:18 <ais523> it was fixed by making / self-inverse, instead
21:31:35 <ais523> oerjan: why? it's not like I take thutubot here often anyway
21:31:36 -!- thutubot has quit (Remote host closed the connection).
21:31:38 <zzo38> Yes, that is exactly what I thought was wrong, too.
21:31:48 <oerjan> ais523: well no but lambdabot seems to be permanent now
21:32:05 <oerjan> and it _should_ just be a case of checking the recipient...
21:32:36 <elliott> <oerjan> MAINTAIN THUTU CODE
21:32:58 <oerjan> elliott: well i mean it _ought_ to be just a single regexp
21:33:03 <ais523> elliott: at least Thutu isn't massively unmaintainable
21:33:21 <ais523> it's relatively readable as esolangs go, in the sense of "if you know the lang you can read someone else's program in it, sort of"
21:34:29 <oerjan> +help
21:34:39 <oerjan> apparently no such thing
21:34:43 <oerjan> +?
21:35:07 <oerjan> WE DEMAND DOCUMENTATION. AND HELPDESK.
21:35:24 <oerjan> oh wait
21:37:37 <elliott> Main.hs: "<irc>" (line 1, column 32):
21:37:38 <elliott> uKnexpected " "
21:37:38 <elliott> O
21:37:39 <elliott> *O K
21:37:45 <elliott> lol "uKnexpected"
21:38:08 <oerjan> it clearly snapped up your K
21:38:09 -!- elliott has quit (Read error: Connection reset by peer).
21:38:19 <ais523> oerjan: IIRC, +help does exist
21:38:26 <ais523> but I parted the bot from the channel before you asked it
21:38:33 <oerjan> ais523: yeah yeah
21:38:34 <ais523> hmm, does your client not show join/part?
21:38:40 -!- elliott has joined.
21:38:40 <ais523> (actually, I quit it from the server)
21:38:48 <oerjan> ais523: what do you think the "uh wait" was about :D
21:38:54 <oerjan> *oh wait
21:39:09 <ais523> ah
21:40:00 <elliott> ais523: for your next trick, write featherbot
21:40:23 <jayCampbell> i made a NAND out of wool, torches and gravel
21:40:31 <ais523> elliott: Feather is massively bad at I/O
21:40:47 <elliott> ais523: meh, good enough
21:40:47 <jayCampbell> computing with FIRE
21:40:52 <ais523> I suppose I'll have to implement it eventually just because langs without I/O tend to be hard to tell they're working
21:41:01 <ais523> but I haven't put much consideration into how
21:41:09 <oerjan> CLEARLY NEEDS MONADS
21:45:38 <zzo38> I would like to know whether you think Revaver2pi programs without ! forms a group.
21:46:28 -!- pikhq has quit (Ping timeout: 240 seconds).
21:46:28 -!- pikhq_ has joined.
21:46:31 <Gregor> http://www.evitaminstore.com/index.php?target=categories&category_id=103 Which of these things needs to be soda?
21:47:06 <ais523> Gregor: is that your day job?
21:47:08 <elliott> disappointing lack of cannabis on that list :-P
21:47:11 <elliott> ais523: haha
21:47:16 <elliott> My day job is making random soda.
21:47:17 <ais523> also, my mind inserted an l after the evi
21:47:20 <elliott> But my night job is making random soda.
21:47:51 <zzo38> Gregor: Maybe mke with all of it mixed together, if you can do so, and then write report about it.
21:48:00 <Gregor> zzo38: Yeahno.
21:48:32 <elliott> glah, parsec can be a real bitch
21:48:33 <oerjan> ais523: i have that trouble with SATA
21:48:45 <ais523> heh
21:49:09 <pikhq_> Wow.
21:49:23 <oerjan> pikhq_ is astonished
21:49:29 <pikhq_> The US has a law on the books mandating that we *invade the Hague* if we are put on trial for war crimes by the International Court of Justice.
21:49:52 <pikhq_> Passed in 2002, and signed into law by Bush.
21:50:36 <pikhq_> Erm, International Criminal Court.
21:50:38 <Gregor> lawl
21:50:39 <pikhq_> That's the actual name.
21:50:54 <pikhq_> It also forbids us from giving military aid to any country party to the Court.
21:51:01 <elliott> Ha
21:51:09 <pikhq_> Except NATO members.
21:51:28 <elliott> ais523: challenge: write a PRNG macro using __COUNTER__
21:51:34 <pikhq_> Note: there are 34 countries *not* party to it.
21:51:37 <elliott> such that RAND evaluates to an integer expression
21:51:40 <elliott> :-D
21:52:31 <pikhq_> They are: Armenia, Monaco, Russia, Ukraine, Algeria, Angola, Cameroon, Cape Verde, Côte d'Ivoire, Egypt, Eritrea, Guinea-Bissau, Morocco, Mozambique, São Tomé and Príncipe, Sudan, Zimbabwe, Bahamas, Haiti, Jamaica, the United States, Bahrain, Iran, Israel, Kuwait, Kyrgyzstan, Oman, Philippines, Solomon Islands, Syria, Thailand, United Arab Emirates, Uzbekistan and Yemen.
21:52:43 -!- ais523 has quit (Remote host closed the connection).
21:52:58 <pikhq_> Erm, sorry. Those are signatories that haven't signed.
21:53:10 <pikhq_> Erm, that haven't ratified.
21:53:11 -!- elliott has quit (Read error: Connection reset by peer).
21:53:17 <pikhq_> There are *3* states that haven't signed.
21:53:27 <pikhq_> China, India, Pakistan.
21:53:39 -!- elliott has joined.
21:53:42 <elliott> fuck. this. connection
21:54:52 <oerjan> does this mean neither australia nor new zealand receives us military aid? >:)
21:55:13 <elliott> they just fight with kangaroos
21:56:16 <Gregor> And fuck sheep
21:56:17 <oerjan> oh not to mention japan and south korea...
21:56:24 <pikhq_> oerjan: Loophole allowing for "major non-NATO allies" to get aid.
21:58:11 * oerjan notes sudan is on the list of non-ratifiers
21:58:23 <oerjan> despite their president being indicted
21:58:50 <Phantom_Hoover> pikhq_, I love all those things which are signed by everyone but <list of 3rd world countries> and the US.
21:58:52 <elliott> pikhq_: How do I get GMP 4 on Debian? gcc 4.4 appears to require it.
21:59:04 <elliott> Even though this ships with gcc 4.4.something, I can't find a package.
21:59:18 <Gregor> elliott: apt-get build-dep gcc
21:59:18 <Gregor> :P
21:59:24 <elliott> Phantom_Hoover: third world countries like monaco
21:59:47 <elliott> Gregor: Yah, tried that, no GMP-like things appeared.
21:59:50 <elliott> Gregor: Which is bizarre.
21:59:59 <pikhq_> oerjan: The ICC claims a limited form of world-wild jurisdiction.
22:00:01 <Gregor> That ... is bizarre.
22:00:16 <elliott> Gregor: Now admittedly the version I'm trying to build is 0.0.1 versions ahead of the one this system ships with... but it doesn't mention upping any dependency in the changelog :P
22:00:26 <pikhq_> oerjan: The US managed to talk everyone down from giving them universal jurisdiction in the general case.
22:00:26 <elliott> GMP 3 is easily-available in the repos, but that's quite plainly not GMP 4.
22:00:34 <elliott> World-WILD
22:00:38 <pikhq_> Wide.
22:00:43 <Gregor> http://www.evitaminstore.com/index.php?target=categories&category_id=103 <-- does nobody have any suggestions for which of these need to be soda? :P
22:00:57 <elliott> Gregor: All of them plus BOMBS (suggestion courtesy of zzo38)
22:01:15 <pikhq_> Now, they have jurisdiction: where the person accused of committing a crime is a national of a state party (or where the person's state has accepted the jurisdiction of the court), where the alleged crime was committed on the territory of a state party (or where the state on whose territory the crime was committed has accepted the jurisdiction of the court), or where a situation is referred to the court by the UN Security Council.
22:01:20 <Gregor> Lamp oil, rope, bombs ... you want it?
22:02:30 <pikhq_> In addition to jurisdiction over any case of: genocide, crimes against humanity, war crimes, and wars of agression.
22:02:58 <pikhq_> If they had any balls, they'd attempt to exercise jurisdiction over Bush & co.
22:03:04 <oerjan> wait they do crimes _other_ than those?
22:03:11 <elliott> but they'd get invaded!!!
22:03:16 <elliott> oerjan: yes, they also do petty theft
22:03:28 <pikhq_> oerjan: If it gets referred up to them.
22:03:29 * oerjan swats elliott -----###
22:03:45 <pikhq_> oerjan: It's a court of last resort.
22:04:11 <elliott> so wait
22:04:16 <elliott> the us signed up for the ICC
22:04:17 <oerjan> i knew that, but i thought it was only a court of last resort for that kind of crimes
22:04:18 <elliott> but hates it? :D
22:04:25 <pikhq_> elliott: They signed and then didn't ratify.
22:04:29 <oerjan> elliott: precisely!
22:04:47 <elliott> "On 17 March 2006, Lubanga became the first person ever arrested under a warrant issued by the International Criminal Court."
22:04:51 <elliott> xD
22:04:55 <elliott> i'm imagining a very orderly arrest now.
22:05:32 <elliott> [[Some commentators have argued that the Rome Statute defines crimes too broadly or too vaguely. For example, China has argued that the definition of ‘war crimes’ goes beyond that accepted under customary international law.[31]]]
22:05:33 <elliott> oh china
22:05:35 <oerjan> <elliott> Gregor: All of them plus BOMBS (suggestion courtesy of zzo38) <-- TURKEY BOMBS SHOULD BE AN OBVIOUS ADDITION
22:05:35 <elliott> you so funny
22:05:49 <pikhq_> oerjan: Oh, they don't have jurisdiction over anything else.
22:06:04 <elliott> oerjan: now i need to find that joke meat energy drink site
22:07:28 <pikhq_> Oh, wait, yes they do.
22:07:45 <pikhq_> If the UN Security Council refers something to the ICC, the ICC has jurisdiction.
22:07:49 <elliott> pikhq_: there is /also/ an international court of jews, sorry, justice
22:07:49 <pikhq_> Even if it is petty theft.
22:07:58 <elliott> http://en.wikipedia.org/wiki/International_Court_of_Justice
22:08:00 <elliott> as a separate thing inside the UN
22:08:12 <elliott> lol "peace palace"
22:08:36 <pikhq_> Note that the US has veto in the UN Security Council.
22:09:22 <pikhq_> The US, in a show of dickishness, seems to have arranged it so they have no real reason to comply with any international law.
22:09:33 <pikhq_> Or, indeed, anything but "rape everything".
22:09:50 <elliott> WAR ON NOT RAPING EVERYTHING
22:10:07 <elliott> NEWSFLASH: NOT RAPING EVERYTHING WINS WAR ON NOT RAPING EVERYTHING
22:15:53 -!- elliott has quit (Quit: Leaving).
22:15:59 -!- elliott has joined.
22:17:03 * Phantom_Hoover thinks he just saw a YouTube comment complaining about how people don't see the human tragedies behind zombie apocalypses.
22:17:30 <elliott> what
22:17:50 <elliott> Clearly they have never seen Shaun of the Dead, also known as: THE MOST EMPATHY-FILLED ZOMBIE FILM EVER.
22:18:02 * Phantom_Hoover must torrent that some time.
22:18:04 <quintopia> it's so british
22:18:16 <elliott> It's so Simon Pegg X-P
22:18:19 <Phantom_Hoover> I've watched all of the decent Red Dwarf episodes.
22:18:45 <elliott> Haha, Wikipedia indirectly calls Shaun of the Dead a romantic comedy.
22:18:49 <elliott> "Shaun of the Dead is a 2004 British romantic zombie comedy"
22:18:56 <elliott> (Romantic zombie comedy: SOUNDS LIKE SOMETHING MUCH BETTER THAN IT MEANS)
22:19:07 <Gregor> First real multiflavor soda I've made: SO GOOD
22:19:48 <elliott> Phantom_Hoover: btw, unefunge fits your definition
22:19:58 * Phantom_Hoover facepalms
22:20:05 <elliott> ?
22:20:13 <Phantom_Hoover> How did I miss that...
22:20:19 <elliott> Phantom_Hoover: Miss what, Unefunge?
22:20:32 <Phantom_Hoover> Yes.
22:23:24 <elliott> oerjan: looks like j-invariant deleted their reddit account now
22:23:25 <elliott> HISTORY REPEATS ITSELF
22:23:54 <oerjan> :(
22:29:37 <oerjan> hm !()^ and sorta S are easy to remove ~! from, then it starts getting tricky
22:30:43 <oerjan> hm wait a is easy too
22:30:43 -!- elliott has quit (Read error: Connection reset by peer).
22:31:08 -!- elliott has joined.
22:31:20 -!- pikhq_ has quit (Ping timeout: 240 seconds).
22:31:31 -!- pikhq has joined.
22:33:42 <oerjan> hm actually only ~ is difficult, which means it's just a matter of using the already know removal of that _first_
22:33:44 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:33:50 <oerjan> *known
22:34:16 <elliott> All GCC ports for the following operating systems have been declared obsolete:
22:34:16 <elliott> BeOS (*-*-beos*)
22:34:18 <elliott> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
22:34:21 <elliott> Miscellaneous System V (*-*-sysv*)
22:34:24 <elliott> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
22:34:56 <elliott> oerjan: so do you think that :()^ might be TC?
22:35:00 <elliott> that seems highly unlikely to me
22:35:05 <oerjan> elliott: i doubt that too
22:35:06 -!- Zuu has quit (Ping timeout: 260 seconds).
22:35:16 <elliott> oerjan: is that not what you are trying to prove? or do ou mean that :a()^ might be?
22:35:16 <oerjan> just have no actual proof yet
22:35:18 <elliott> *do you
22:35:20 <elliott> or whatever
22:35:58 <oerjan> elliott: currently i'm trying to prove that :*()a^ is
22:36:24 <oerjan> i spoke to soon above, i'd somehow missed listing *
22:36:26 <oerjan> *too
22:36:30 <elliott> oerjan: does your ! removal involve ~?
22:36:38 <elliott> because if not, you could just use your existing ~ expansion obviously
22:37:05 <oerjan> elliott: the new one _looked_ like it wouldn't, :!()a^ don't seem to require ~
22:37:24 <elliott> oerjan: then you're sorted, aren't you
22:37:27 <elliott> replace ~ with your expansion
22:37:28 <elliott> apply ! removal
22:37:33 <oerjan> the old one used ~ all over the place, in the form of ais523's ~a*^
22:37:49 <oerjan> elliott: i'm still missing *, i'm telling you
22:38:04 <elliott> oerjan: i'm talking about :*()a^
22:38:50 -!- elliott has quit (Quit: Leaving).
22:38:55 -!- elliott has joined.
22:38:59 <elliott> <elliott> oerjan: i'm talking about :*()a^
22:39:02 <oerjan> yes, i need to implement * in the same transformation.
22:39:24 <oerjan> note that the instructions are not implemented as _exact_ equivalents, only ~ can be done that way
22:39:41 -!- zzo38 has quit (Remote host closed the connection).
22:40:05 <elliott> oerjan: ofc
22:40:06 <oerjan> instead my idea is to have a stack which looks like this: (junk)(a)(junk)(b)(junk)
22:40:34 <oerjan> and then implement each instruction in such a way that it ignores the junk
22:40:58 <oerjan> (S can only be approximately, naturally)
22:41:02 <elliott> hey oerjan, can i rename [[BF instruction minimalization]] to [[BF instruction minimalisation]], mr. wiki admin
22:41:24 <oerjan> ...
22:41:27 <elliott> :D
22:41:33 <elliott> <oerjan> FFFFFFUUUUUUUUUUUUUUUUUUU
22:42:56 <Gregor> oerjan: DON'T DO IT
22:43:23 <oerjan> actually my recent FFFFFFUUUUUUUUUUUUUU is that FFFFFUUUUUUUUU is now on the reddit default top menu of reddits, and _all_ the slightly scientific subreddits have been shifted out. at this rate i might have to make an actual account ;(
22:43:35 <elliott> it's 7/12
22:43:37 <elliott> F7U12
22:43:42 <elliott> GET IT RIGHT unlike me
22:43:53 <elliott> oerjan: call your account oerjan, nobody will ever suspect
22:44:03 <elliott> heh that's actually free
22:44:16 <oerjan> i know it's a specific number, i couldn't be bothered
22:44:22 <oerjan> yay
22:44:33 <elliott> yes, yay, i can totally STALK YOU ON REDDIT now!
22:44:55 <elliott> there should be a button to unsubscribe from all the default reddits :p
22:45:00 <oerjan> i'll make a different account for my wet furry porn subreddits, of course
22:45:09 <elliott> darn
22:45:50 * elliott contemplates `addquote <oerjan> i'll make [...] wet furry porn[...], of course
22:47:01 <cheater00> hi
22:47:03 <oerjan> FEEL FREE
22:47:11 <elliott> hmm I wonder if Joy was the first notable concatenative language after Forth?
22:48:05 <elliott> "To facilitate the comparison between the two languages it is also possible to define a w == [dup] dip Then the square of 3 is also computed in Joy by
22:48:05 <elliott> 3 [*] w"
22:48:06 <elliott> wait what...
22:48:09 <elliott> surely w == [dup] dip i
22:48:29 <oerjan> it's actually obvious that no matter how i go about it, i can just drop the already known way to reduce ~ away in. unfortunately i may have to use it indirectly for * as well.
22:48:31 <cheater00> nice, found a br*infuck interpreter for TECO
22:48:34 <elliott> heh i wonder if you can do currying in concatenative languages.
22:48:44 <elliott> (as in, sanely)
22:49:02 <oerjan> elliott: certainly, ((a)(b)) is a tuple
22:49:12 <elliott> oerjan: oh, i mean more Joy than Underload
22:49:17 <elliott> oerjan: as in, instead of
22:49:18 <elliott> 3 3 *
22:49:24 <elliott> 3 * 3 swap call
22:49:25 <elliott> or something
22:49:29 <elliott> except that's gros
22:49:30 <elliott> *gross
22:49:31 <elliott> obviously
22:50:33 <oerjan> (x)(y)z = (y)a(z)*(x)~^
22:50:42 <elliott> oerjan: dammit i am aware okay :D
22:50:47 <elliott> that you can, physically do it
22:50:58 <elliott> i mean, could you base a language around it without it being as gross as above
22:51:19 <oerjan> well you can also do
22:51:19 -!- elliott has quit (Read error: Connection reset by peer).
22:51:26 <oerjan> ((y)z)(x)~^
22:51:37 -!- elliott has joined.
22:51:50 <oerjan> <oerjan> well you can also do
22:51:54 <oerjan> <oerjan> ((y)z)(x)~^
22:52:01 <elliott> yes yes yes :P
22:52:30 <oerjan> (x)~^ is practically an idiom in underload, it's nice for lists
22:53:05 <oerjan> ((x1)~^(x2)~^...(xn)~^) gives you an iterable list, and you _don't_ need to know the length in advance
22:53:56 <oerjan> the disadvantage being you also cannot stop early (although you can of course ignore the later ones)
22:55:38 <oerjan> ^ul (junk)(a)(junk)a(*)**a((junk))(~aS:^):^
22:55:38 <fungot> ((junk))((a(junk)*))(junk) ...out of stack!
22:55:54 <oerjan> oh wait i hadn't finished righting it
22:56:19 <oerjan> that's supposed to become :
22:58:41 <oerjan> ^ul (junk)(b)(junk)a(*)**a((junk))*:*^(~aS:^):^
22:58:41 <fungot> (junk)(b(junk)*)(junk)(b(junk)*)(junk) ...out of stack!
22:58:56 <oerjan> that's better
23:00:05 <oerjan> ^ul (junk)(b)(junk)**(~aS:^):^
23:00:05 <fungot> (junkbjunk) ...out of stack!
23:00:08 <oerjan> that's !
23:00:26 <cheater00> sup oerjan
23:00:47 <oerjan> cheater00: finding out how to eliminate ~ and ! from underload simultaneously
23:00:59 <cheater00> what be underload?
23:01:06 <oerjan> http://esolangs.org/wiki/Underload
23:01:55 <oerjan> ais523's elegant language - and _still_ some of its instructions are redundant for TC-ness
23:02:32 <oerjan> ^ul (junk1)(b)(junk2)a(*)**a(junk3)(~aS:^):^
23:02:32 <fungot> (junk3)((b(junk2)*))(junk1) ...out of stack!
23:03:05 <oerjan> hm that's wrong
23:03:50 <oerjan> oh
23:04:20 <oerjan> ^ul (junk1)(b)(junk2)a*a(junk3)(~aS:^):^
23:04:20 <fungot> (junk3)((b(junk2)))(junk1) ...out of stack!
23:04:23 <elliott> ^ul ((x1)~^(x2)~^(x3)~^)(S)~^
23:04:23 <fungot> x1 ...out of stack!
23:04:44 <elliott> ^ul ((x1)~^(x2)~^(x3)~^)((~S):^)~^
23:04:45 <fungot> x1 ...out of stack!
23:04:54 <oerjan> you need to apply to something self-replicating
23:04:57 <elliott> i tried
23:04:58 <elliott> see last attempt
23:06:02 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)(S:)~(S:)~
23:06:09 <oerjan> ...apparently not
23:06:11 <cheater00> oerjan: http://www.ee.ryerson.ca/~elf/hack/academic.html
23:06:17 <oerjan> oh
23:06:20 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)(S:)~(S:)~^
23:06:20 <fungot> x1x2x3
23:07:19 <elliott> oerjan: hmm can you rebuild the list that way?
23:07:28 <oerjan> sure
23:07:39 <olsner> wtf, how did my server end up in runlevel "unknown"?
23:07:57 <elliott> lol, init
23:08:30 <olsner> they do still use init though, I hope? because I just told init to go to runlevel 3 :)
23:08:50 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)()~((a(~^)*)~a*^:^):^(~aS:^):^
23:08:54 <elliott> well i dunno how it works with this upstart crap.
23:08:55 <fungot> ...out of time!
23:08:58 <oerjan> huh
23:09:03 <oerjan> oh duh
23:09:43 <Sgeo> Peppermint One's bootloader or whatever looks suspiciously like Ubuntu's
23:10:12 <cheater00> oerjan
23:10:14 <cheater00> i have a question
23:10:30 <cheater00> i need you to help me decide upon a possibility in the near time
23:10:39 <cheater00> should i spider the whole of ftp://publications.ai.mit.edu/ or not
23:10:54 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)()~(((a(~^)*)~a*^a(:^)*):^)~^(~aS:^):^
23:10:54 <fungot> (((a(~^)*)~a*^a(:^)*):^)((x3)~^)((x2)~^)((x1)~^)() ...out of stack!
23:11:04 <oerjan> um
23:11:11 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)()~(((a(~^)~*)~a*^a(:^)*):^)~^(~aS:^):^
23:11:12 <fungot> (((a(~^)~*)~a*^a(:^)*):^)(~^(x3))(~^(x2))(~^(x1))() ...out of stack!
23:11:24 <oerjan> duh
23:11:31 <elliott> argh, what's the "proper" way to make parsec ignore whitespace again...
23:11:31 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)()~(((a(~^)**)~a*^a(:^)*):^)~^(~aS:^):^
23:11:31 <fungot> (((a(~^)**)~a*^a(:^)*):^)((x1)~^(x2)~^(x3)~^) ...out of stack!
23:11:36 <oerjan> elliott: there you go
23:11:40 <elliott> oerjan: yay
23:11:49 <elliott> oerjan: now do fold :D
23:11:51 <elliott> although
23:11:53 <elliott> i guess that is a fold
23:11:57 <elliott> just a specialised one :D
23:12:11 -!- iconmaster has quit (Quit: Get out of that boring IRC client! It's no good for you. Bersirc 2.2 is your answer! [ http://www.bersirc.org/ - Open Source IRC ]).
23:12:14 <oerjan> cheater00: you do _not_ need my help on that, no.
23:12:24 <cheater00> b-but
23:12:42 <oerjan> since i have absolutely no expertise in the matter
23:12:52 <elliott> oerjan: is responding to cheater00's inanity really a productive use of time
23:12:54 <oerjan> elliott: indeed
23:12:56 * elliott says that as an expert timewaster
23:13:08 <oerjan> elliott: um that was to your fold comment
23:13:13 <elliott> oerjan: i realised
23:13:16 <elliott> you're not /that/ fast at typing
23:13:42 <oerjan> YOU DON'T SAY
23:13:47 * Phantom_Hoover → sleep
23:14:01 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:14:02 <cheater00> elliott: he typed it in a flash of omnipotent understanding of the universe, which made his thought and action ten thousand times faster.
23:14:23 <oerjan> hm actually a(:^)* is no shorter than :a~*
23:14:35 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)()~(((a(~^)**)~a*^:a~*):^)~^(~aS:^):^
23:14:35 <fungot> (((a(~^)**)~a*^:a~*)(a(~^)**)~a*^:a~*)((x1)~^(x2)~^(x3)~^) ...out of stack!
23:15:15 <cheater00> oerjan: i'm not sure why you're still concerned with character-based languages. everyone knows that the graphics are the future: http://www.archive.org/details/AlanKeyD1987
23:16:28 <oerjan> elliott: also, spaces
23:16:34 <elliott> i know _that_
23:16:38 <elliott> it's lexeme i'm thinking of i think
23:16:46 <oerjan> and lexeme
23:17:00 <elliott> which appears to not be in parsec 3.
23:17:07 <elliott> oh it's in .Token I think
23:17:20 <elliott> Couldn't match expected type `GenTokenParser s u m'
23:17:20 <elliott> against inferred type `Parser String'
23:17:21 <elliott> s i g h
23:18:00 <oerjan> elliott: i have a slight amount of goodwill and patience, which is sometimes use. although i think his last comment crossed the line a bit.
23:18:06 <oerjan> *i sometimes
23:18:17 <elliott> goodwill and pati... sorry, i understand neither of these word
23:18:18 <elliott> *words
23:18:23 <elliott> can i set things on fire now?
23:18:30 <oerjan> O KAY
23:18:45 <elliott> like your house!! very pretty!! ... needs more fire!
23:18:47 <oerjan> (I'M SHOWING SOME GOODWILL HERE, TO DEMONSTRATE)
23:19:03 <elliott> :t lex
23:19:04 <lambdabot> String -> [(String, String)]
23:19:05 <elliott> huh
23:19:12 <elliott> > lex "AXIOMATA DECANT"
23:19:12 <lambdabot> [("AXIOMATA"," DECANT")]
23:19:15 <elliott> heh
23:20:07 <oerjan> FAIL
23:20:19 <oerjan> oh wait
23:20:25 <oerjan> it of course takes only one
23:20:38 <oerjan> it's for ReadS parsing
23:21:31 <oerjan> aren't Parser and GenTokenParser compatible?
23:21:42 * Sgeo decides he wants to try Zenwalk
23:22:12 -!- FireFly has quit (Quit: swatted to death).
23:22:13 <elliott> oerjan: nah
23:22:15 <elliott> it's for the "language" stuff
23:22:17 <elliott> that nobody uses
23:22:29 <oerjan> in old parsec Parser is just a type synonym for GenParser Char ()
23:22:47 <elliott> @pl let f _ [] = id; f e (x:xs) = f e xs . g e x
23:22:47 <lambdabot> (line 1, column 9):
23:22:47 <lambdabot> unexpected "["
23:22:47 <lambdabot> expecting pattern or "="
23:22:51 <elliott> @pl let f _ [] = id; f e (x:xs) = f e xs . g e x in f
23:22:51 <lambdabot> (line 1, column 9):
23:22:51 <lambdabot> unexpected "["
23:22:51 <lambdabot> expecting pattern or "="
23:22:52 <elliott> oh come on
23:23:03 <elliott> :t (>=>)
23:23:04 <lambdabot> forall a (m :: * -> *) b c. (Monad m) => (a -> m b) -> (b -> m c) -> a -> m c
23:23:04 <elliott> :t foldM
23:23:05 <lambdabot> forall a b (m :: * -> *). (Monad m) => (a -> b -> m a) -> a -> [b] -> m a
23:23:10 -!- jayCampbell has quit (Ping timeout: 245 seconds).
23:23:18 <oerjan> elliott: SINCE WHEN DOES @pl DO MULTIPLE CASE PATTERNS
23:23:39 <oerjan> it barely does single ones
23:23:56 <elliott> @hoogle foldM
23:23:56 <lambdabot> Control.Monad foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a
23:23:57 <lambdabot> Control.Monad foldM_ :: Monad m => (a -> b -> m a) -> a -> [b] -> m ()
23:23:57 <lambdabot> Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
23:23:58 <elliott> oerjan: BLAH BLAH BLAH
23:25:03 <oerjan> elliott: although that is obviously a fold over \x r -> r . g e x
23:25:12 <elliott> oerjan: well yes.
23:25:29 <elliott> if you want to be PEDANTIC about it.
23:26:00 <oerjan> elliott: also you use f e only for the g e part, so you can just as well combine it
23:26:56 <pikhq> "In her will [...] she has asked that her skin be turned into wallets, her feet into umbrella stands, and her flesh into 'Newkirk Nuggets,' then grilled on a barbecue."
23:27:01 <pikhq> Wikipedia on Ingrid Newkirk, founder of PETA.
23:27:06 <pikhq> The *fuck*?
23:27:27 <Sgeo> pikhq, who cares? It's not like she'll need her body after she's dead.
23:28:21 <elliott> indeed :D
23:28:23 <oerjan> :t \e -> foldr (flip (.) . g e) id
23:28:24 <lambdabot> forall t a a1. (SimpleReflect.FromExpr (t -> a1 -> a -> a)) => t -> [a1] -> a -> a
23:28:28 <oerjan> erm
23:28:37 <oerjan> :t \ge -> foldr (flip (.) . ge) id
23:28:38 <lambdabot> forall a a1. (a1 -> a -> a) -> [a1] -> a -> a
23:28:54 <pikhq> Sgeo: Still fucking weird coming from someone morally opposed to any use of animal-bits post-mortem.
23:29:13 <elliott> oerjan: it should probably be a foldl' though
23:29:18 <elliott> pikhq: it's consensual
23:29:26 <elliott> pikhq: it's meant to be, like, satirical.
23:29:30 <elliott> it's still fucking creepy tho
23:30:00 <elliott> :t \(p::[a]) f -> foldl' f [] p
23:30:01 <lambdabot> A pattern type signature cannot bind scoped type variables `a'
23:30:01 <lambdabot> unless the pattern has a rigid type context
23:30:01 <lambdabot> In the pattern: p :: [a]
23:30:04 <elliott> FUCK YOU
23:30:10 <elliott> :t \p f -> foldl' f [] (p :: [a])
23:30:10 <lambdabot> Inferred type is less polymorphic than expected
23:30:11 <lambdabot> Quantified type variable `a' is mentioned in the environment:
23:30:11 <lambdabot> p :: [a] (bound at <interactive>:1:1)
23:30:14 <elliott> :t \p f -> foldl' f [] p
23:30:15 <lambdabot> forall b a. [b] -> ([a] -> b -> [a]) -> [a]
23:30:24 <elliott> :t \f p -> foldl' f [] p
23:30:24 <lambdabot> forall b a. ([a] -> b -> [a]) -> [b] -> [a]
23:30:39 <pikhq> Not that surprising that PETA would have weird, creepy shit like that going on, though. Considering that this is a schizo organisation that is both opposed to killing animals and kills animals.
23:32:36 <oerjan> elliott: i don't think it looks like a foldl' unless you provide the final argument as well
23:32:50 <elliott> run :: Env -> [E] -> ([E] -> [E])
23:32:51 <elliott> oerjan: ^
23:32:57 <elliott> it's basically just repeated application of eval
23:33:02 <elliott> where eval :: Env > E -> ([E] -> [E])
23:33:04 <elliott> repeated composition, rather
23:33:08 <elliott> eval last . eval secondtolast . ...
23:33:37 <oerjan> let f _ [] y = y; f e (x:xs) y = f e xs (g e x y) in f
23:33:54 <oerjan> then it's an "obvious" foldl
23:34:20 <elliott> yeah, it's just that i'm retarded
23:34:30 <oerjan> foldl' (flip (f e)) y
23:34:37 <oerjan> er, *g e
23:34:39 <elliott> Couldn't match expected type `[E] -> [E]'
23:34:39 <elliott> against inferred type `[E]'
23:34:39 <elliott> In the expression: foldl' (flip (eval e)) [] p
23:34:39 <elliott> In the definition of `run': run e p = foldl' (flip (eval e)) [] p
23:34:39 <elliott> Failed, modules loaded: none.
23:34:39 <elliott> beep
23:36:50 <oerjan> boop
23:38:05 <elliott> run e p = foldl' (\f i -> eval e i . f) id p
23:38:06 <elliott> here
23:38:14 <elliott> @pl \f i -> eval e i . f
23:38:14 <lambdabot> flip ((.) . eval e)
23:38:17 <elliott> @pl \i f -> eval e i . f
23:38:18 <lambdabot> (.) . eval e
23:38:31 <elliott> run e = foldl' (flip ((.) . eval e)) id
23:38:47 <elliott> now why does that not do anything...
23:38:52 <elliott> oh
23:38:55 <elliott> parser is broken
23:42:47 <oerjan> ^ul (junk1)(b)(junk2)a(*)**a((junk3))*(junk4)(~aS:^):^
23:42:48 <fungot> (junk4)((b(junk2)*)(junk3))(junk1) ...out of stack!
23:43:32 <oerjan> ok that's the right a i think
23:44:51 <oerjan> ^ul (junk1)((boo!)S(junk2))(junk3)a(*)**^(junk4)(~aS:^):^
23:44:51 <fungot> boo!(junk4)(junk2junk3)(junk1) ...out of stack!
23:44:59 <oerjan> oops
23:45:07 <oerjan> oh
23:45:16 <oerjan> ^ul (junk1)((boo!)S)(junk3)a(*)**^(junk4)(~aS:^):^
23:45:16 <fungot> boo!(junk4)(junk1junk3) ...out of stack!
23:45:51 <elliott> hey oerjan
23:45:53 <elliott> you know what sucks?
23:45:57 <oerjan> ^ul (junk1)((boo!)S)(junk3)a(*)**^(~aS:^):^
23:45:57 <fungot> boo!(junk1junk3) ...out of stack!
23:45:58 <elliott> being unable to use point-free style with pattern-matching
23:46:02 <elliott> conside
23:46:04 <elliott> *consider
23:46:05 <oerjan> that's the one for ^
23:46:13 <elliott> foo (C x) = x+3
23:46:17 <elliott> you should be able to write
23:46:21 <elliott> foo . C = (+3)
23:46:22 <elliott> :D
23:46:34 <oerjan> O_o
23:47:12 <elliott> oerjan: what, that's genius.
23:48:13 <oerjan> O KAY
23:48:47 <oerjan> ever so slightly syntactically ambiguous, though.
23:49:33 <oerjan> hm actually if you know the kinds of constructors you _could_ disambiguate that.
23:49:53 <elliott> oerjan: just wait until you get two argument constructors. then we have to bring out the titties.
23:50:25 <elliott> "Sir, sir! Our constructors have TWO ARGUMENTS!!" "... BRING OUT THE TITTIES." "A...are you sure that's a good idea, sir?!" "THEY'RE OUR ONLY HOPE"
23:51:02 -!- pikhq_ has joined.
23:51:49 -!- pikhq has quit (Ping timeout: 276 seconds).
23:53:51 <Ilari> Okay, finally got specs for SHA-512/224 and SHA-512/256.
23:55:53 <elliott> "The minimum adjustments to the existing environment of Venus to support human life would require three major changes to the planet:
23:55:54 <elliott> Reducing Venus's 450°C (850°F) surface temperature.
23:55:54 <elliott> Eliminating most of the planet's dense 9 MPa (~90 atm) carbon dioxide atmosphere, via removal or conversion to some other form.
23:55:54 <elliott> Addition of breathable oxygen to the atmosphere."
23:55:59 <elliott> To terraform Venus, first, make Venus nothing like Venus.
23:56:06 <Sgeo> WTF
23:56:16 <Sgeo> Who decided that a .torrent.zip made any sense?
23:58:23 * oerjan recalls some suggestion of settling the upper atmosphere of venus with giant airships first, solves two of the problems
23:58:47 <elliott> oerjan: i would _not_ sign up for that :D
23:58:50 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:58:59 <oerjan> elliott: IT WOULD BE SAFER THAN ON THE SURFACE
23:59:02 <elliott> "What's the weather like outside?" "Oh, you know... Venusy..."
23:59:11 <elliott> "WE HAVE A RIP!" "Aw feck."
←2011-02-19 2011-02-20 2011-02-21→ ↑2011 ↑all