00:00:19 <Phantom_Hoover> Because if you do it's just equivalent to whatever the fancy name for boolean circuits is.
00:00:53 <fizzie> oerjan: BrAiNfucK, doubling as a subtle dig against the financial industry.
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: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: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: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:04:14 * oerjan slithers back into the corner
00:04:31 <elliott> If you use the register stacks.
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: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:24 <elliott> If you're going to abbreviate at least get it right!
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: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: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: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: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: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:19:32 <elliott> ais523: Forte would be more fun if every command was a number.
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: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:32 -!- coppro has joined.
00:22:42 <ais523> + is the command character
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:30 <elliott> like, indentation-sensitive?
00:24:39 <ais523> just because I hate it doesn't mean I won't do it
00:24:49 <elliott> oerjan: it relies on lambdabot to evaluate haskell
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:18 <elliott> oerjan: it's written in thutu, give it a break
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 <thutubot> echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486", msgCommand = "PRIVMSG", msgParams = ["#esoteric",
00:25:23 <ais523> <thutubot> PRIVMSG lambdabot :@run 7+9
00:25:57 <elliott> oerjan: hm you know my regexp language?
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 <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: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: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:35 * ais523 feels confident in adding the query param in the knowledge it won't work
00:27:49 <ais523> heh, it just added line numbers and nothing else
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:29:04 <elliott> They tend to have huge swathes of the screen devoted to ego :)
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: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:14 <elliott> then everyone saw /my conversation with zzo38/ -- including me --
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: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:32:00 <Gregor> OK, maple cream soda syrup is made.
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:50 -!- thutubot has joined.
00:32:52 <elliott> Gregor: But it sounds so delicious
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:52 -!- lionod420 has left (?).
00:34:54 <pikhq_> 5 fucking row reductions.
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: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: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: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: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:08 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:37:08 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz ...too much output!
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:26 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz)S
00:37:26 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyz
00:37:31 <elliott> +ul (abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyzQUIT)S
00:37:31 <thutubot> abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcxyzQ
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: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: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: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: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:49:02 <ais523> but guessing the length of the header can be tricky
00:50:03 <elliott> you know, the markov bots in this channel aren't nearly fun enough!
00:50:27 <oerjan> yeah talking behind fungot's back when it isn't here, how civilized
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:34 <elliott> obviously it doesn't take the complete input line
00:52:38 <elliott> WHY AREN'T YOU ALL EXPERTS
00:52:38 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:53:09 <elliott> i was about to say that we DEFINITELY need a bot written in haskell here
00:53:34 <ais523> we can have two haskellbots if needed
00:53:36 <elliott> i know i just want a niche
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: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:30 * Sgeo_ hits elliott with |x|/x
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 <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 <lambdabot> Did you mean: :: Parser String /count=20
00:56:06 <thutubot> Did you mean: :: Parser String /count=20
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:02 <elliott> @hoogle (m a, m b, m c) -> m (a,b,c)
00:57:16 <elliott> @hoogle Char -> Parser String
00:57:20 <elliott> @hoogle Char -> Parser Char
00:57:28 <elliott> ok fuck this i'l lcheck the docs
00:57:55 <elliott> oerjan: doesn't help, there's no uncurry3 :D
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:19 <Sgeo_> oerjan, what does x/|x| do to duals?
00:58:33 <oerjan> Sgeo_: what is a dual?
00:58:37 <elliott> (char '!' *> many1 (noneOf "@"))
00:58:37 <elliott> (char '@' *> many1 (noneOf " "))
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? :)
01:00:54 <elliott> (char '!' *> many1 (noneOf "@"))
01:00:54 <elliott> (char '@' *> many1 (noneOf " ")))
01:00:55 <elliott> <|> Server <$> many1 (noneOf " ")
01:01:06 <elliott> augh, that doesn't even work, but it did a second ago
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: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:03:28 <Gregor> Maple cream soda: Not as good as I'd hoped.
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: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:08:13 <elliott> oerjan: which just sets the encoding to latin-1 btw :P
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: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:38 <Sgeo_> Not like he can hear me
01:14:59 <pikhq_> Oh, sorry, I should shaddup.
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:39 -!- elliott has joined.
01:15:45 <elliott> <pikhq_> Oh, sorry, I should shaddup.
01:15:49 <elliott> * Disconnected (Connection reset by peer).
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:30 <elliott> 17:14:02 * Sgeo_ hits elliott in the head with a 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:15 <Sgeo_> And I wasa mistaken
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:25:11 <Sgeo_> UTF-8 incompatible?
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: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: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: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:39 <elliott> pikhq: dude he's on windows
01:34:39 <oerjan> pikhq: the error is not on irssi
01:34:53 <pikhq> elliott: His client isn't.
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: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: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:58:11 <oerjan> maybe it depends on font
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: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> (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:16 <elliott> oerjan: i've put try everywhere and it still ain't working :(
02:02:49 -!- pikhq_ has joined.
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:30 <elliott> oerjan: :foo is how server prefixes go
02:04:51 <oerjan> um but do clients see those?
02:04:53 <elliott> when I use *> it parses wron
02:05:02 <elliott> oerjan: yes; ":server PING foo" for one
02:05:18 <elliott> haskell needs a $ for operators
02:05:20 <oerjan> elliott: ah yes that annoyed me the other day, *> is fixity 4 while >> is 1
02:05:36 <elliott> oerjan: I just want to be agood anti-monadic citizen!
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: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: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: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: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:56 <elliott> so applicatives aren't as powerful as monads then ;D
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:58 <elliott> (most useless function ever?)
02:17:11 <elliott> :t ((.).(.)) liftA2 liftA2
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: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: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: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:24 <elliott> that's the lamest lame that ever was lame.
02:20:27 <elliott> in fact it may be MAXIMUM LAME.
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:42 <Sgeo_> Ah, in Falcon, 32-bit storage can be forced
02:22:12 <elliott> no wait it's actually >>= i want here
02:22:15 <Sgeo_> My aneurism is done
02:22:17 <elliott> what's the equivalent of >>= for monads :-D
02:22:26 <elliott> what's the equivalent of >>= for applicatives :-D
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:24:13 <oerjan> hm that didn't work either
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: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: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: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:28:26 <elliott> pikhq_: hm is "PRIVMSG<space><space>#esoteric" OK in IRC?
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: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> (many ((char ' ' *>) $ try $ liftA2 (:) (noneOf ": ") (many1 (noneOf " "))))
02:33:27 <elliott> (((string " :" *>) $ (:[]) <$> many anyChar) <|> return [])
02:33:32 <elliott> i don't think my parser is going too well
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:40 <elliott> parseMessage :: ByteString -> Maybe Message
02:36:40 <elliott> parseMessage = either (const Nothing) Just . parse pMessage "<irc>" . B.toString
02:37:48 <oerjan> (char ' ' *> try `id` liftA2 (:) (noneOf ": ") (many1 (noneOf " "))) >:)
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: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:18 <elliott> foo (Line prefix (Message cmd args))
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:41 <elliott> <elliott> foo (Line prefix (Message cmd args))
02:55:45 <elliott> <elliott> oerjan you know why haskell sucks
02:55:47 <elliott> <elliott> no structural subtyping ;
02:57:46 <zzo38> What are you trying to make now?
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:54 <oerjan> foo (prefix :+ cmd :- args)
03:02:08 <elliott> oerjan: clearly it should be :< for the prefix
03:02:18 <elliott> foo (prefix :< cmd :- args)
03:05:07 <elliott> oerjan: possibly just (prefix :< Message cmd args) would be saner :D
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: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: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 <oerjan> THE MACHINES HAVE TAKEN 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: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: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: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: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:25:56 <elliott> THAT'S NOT HOW YOU WEAR QUOTES
03:27:45 <oerjan> "Quotes are not reliable wardrobe." -- Oscar Wilde
03:29:16 <oerjan> I'LL HAVE TO CONFER WITH FIZZIE
03:29:38 <elliott> talk through elliott's account because am fizzie
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:30:00 <elliott> i will hand computer back over to elliott now
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:26 <elliott> oerjan: look when finns get tired
03:31:28 <elliott> their grammar is not so good.
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: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:27 <oerjan> zzo38: rumors have it you cannot truly hate everyone without hating yourself first
03:35:48 <pikhq> oerjan: I'm pretty sure you're native Indo-European.
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:14 <elliott> THAT EXPLAINS ... ABSOLUTE NOTHING!
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: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: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:56 <pikhq> Especially the damned dirty Mexicans. How *dare* they take our shitty, underpaid jobs that we don't want!
03:41:12 <elliott> do we actually have a lambda calculus bot in here
03:41:31 <oerjan> pure untyped, i assume you mean
03:41:40 <oerjan> since otherwise lambdabot would qualify
03:42:04 <Sgeo_> Ok. I like what I know about Falcon.
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:32 <oerjan> elliott: indeed, he doesn't.
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: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: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: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: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: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: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: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 * Lymia castrates Sgeo_. With a knife.
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:55:47 <Sgeo_> Other things about falcon I Like: forfirst/formiddle/forlast
03:56:05 <oerjan> a formiddable language
03:56:23 <elliott> you have to ban Sgeo_ before he goes completely insane
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: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: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: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:55 <elliott> Not ONCE did they go "ha ha no maybe not".
04:00:58 <elliott> They were all "ooh INTERESTING".
04:01:14 <elliott> Implementing monads by sticking an extra bit on to every value.
04:01:24 -!- azaq23 has quit (Ping timeout: 240 seconds).
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:02:00 <pikhq> Huh. The UK keyboard layout...
04:02:09 <elliott> pikhq: What part of it exactly?
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: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:32 <elliott> i don't even know why it's there
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:12 <pikhq> elliott: What about it?
04:03:16 <elliott> pikhq: It's just awkward to me.
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: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:21 <Lymia> Everybody's insane to somebody!
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:13:12 <pikhq> It does both 変換 and space, depending on input mode.
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: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: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: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: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: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: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:38 <pikhq> Really, just a need to switch between hangul and QWERTY.
04:23:53 <ais523> Lymia: I don't think zzo38 is a directory
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: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: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: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:37 <HackEgo> babies \ bin \ paste \ tmpdir.19519
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:14 <HackEgo> 317) * yorick has quit (K-Lined)
04:27:22 <HackEgo> babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine \ quotes \ test \ test.c \ tmpdir.19734
04:27:26 <elliott> Lymia: observe your damage: http://codu.org/projects/hackbot/fshg/index.cgi/rev/0f00c1d46b43
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:41 <ais523> elliott: I think I'm in the same timezone as you
04:28:50 <ais523> unless you fled to Canada
04:29:03 <ais523> I'm a little irritated at having to stay up all night, actually
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: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: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: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:48 <ais523> elliott: does DNA Maze run windowed for you?
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: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:22 <elliott> so it automatically fullscreens?
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: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: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: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: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 <ais523> what are the current semantics, and what would you suggest changing?
04:36:49 <elliott> Lymia: firstly, that fails
04:36:53 <elliott> redirection doesn't work like that
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: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: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 <Lymia> I'll stop messing with HackEgo!
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: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: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:46 <elliott> hmm, does [^\b] work in perl?
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 <ais523> elliott: you mean \w, don't you?
04:40:25 <ais523> \b is the boundary between \w and \W
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:57 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.13472
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: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:26 <elliott> <GregorR-L> If I ever made a game where you jabbed bears ... <GregorR-L> I'bork call it jabbear.
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: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: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: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:48 <oerjan> ...turkey bomb is the programming language of triangle and robert? makes sense.
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: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: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: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: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: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: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: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: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: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: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: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:16:22 <Phantom_Hoover> 20:22:39 <Sgeo_> Falcon's out-of-band does remind me a bit of Either...
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: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: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: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:30:15 <Vorpal> Phantom_Hoover, yes but that's insane
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: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: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: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: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: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:29:03 <ais523> but a lot of emulators can't
15:29:09 <ais523> due to issues like threading
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: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:28 <Behold> For installing the packages
15:31:41 <Vorpal> Behold, yes but I have a Sempron 3300+
15:31:44 <Vorpal> Behold, this would take ages to build
15:32:18 * Phantom_Hoover tries to think how long the IWC timestream has been exploding for.
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: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:41 * Sgeo_ wonders if there are Chrome skins for Firefox
15:49:02 <Sgeo_> This will annoy elliott, who doesn't believe in making one browser look like another.
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.
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: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: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:35:48 <EgoBot> Score for quintopia_space_elevator: 52.3
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: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: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: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: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: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: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: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: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: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: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:45 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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:05:18 <Vorpal> What they were counting down to was IPv4 exhaustion.
20:12:25 -!- zzo38 has joined.
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: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:07 <fizzie> Could be; I don't really speak latin.
20:25:11 <Gregor> !bfjoust rerun_the_hill <3
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 <Gregor> Vorpal: I trashed the cache.
20:25:46 <EgoBot> Score for Gregor_rerun_the_hill: 0.0
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: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: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 <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: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: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: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:32 <oerjan> incidentally part of the treaty with italy was that the vatican should _stop_ interfering in world politics
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: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: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:37 <elliott> #define foo() foo_(__COUNTER__)
21:07:06 <elliott> the expansion goes foo_(__COUNTER__) -> foo_(34) ->
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: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:28 <elliott> chaos-pp has libraries for arithmetic in cpp
21:08:31 <elliott> that can output as plain decimals
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: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:58 <zzo38> They are not the same numbers used in normal C codes.
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: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:35 <elliott> You only need one exclamation mark.
21:12:38 <pikhq> zzo38: Good thing I have a 64-bit computer.
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: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: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:19:03 <zzo38> O, hypothetical. In that case, yes it works.
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: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: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: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: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: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: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:39 <oerjan> apparently no such thing
21:35:07 <oerjan> WE DEMAND DOCUMENTATION. AND HELPDESK.
21:37:37 <elliott> Main.hs: "<irc>" (line 1, column 32):
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: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: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: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: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: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:32 <elliott> glah, parsec can be a real bitch
21:48:33 <oerjan> ais523: i have that trouble with SATA
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: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: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: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: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: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:24 <elliott> Phantom_Hoover: third world countries like monaco
21:59:47 <elliott> Gregor: Yah, tried that, no GMP-like things appeared.
21:59:59 <pikhq_> oerjan: The ICC claims a limited form of world-wild jurisdiction.
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: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: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: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:25 <pikhq_> elliott: They signed and then didn't ratify.
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: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:35 <oerjan> <elliott> Gregor: All of them plus BOMBS (suggestion courtesy of zzo38) <-- TURKEY BOMBS SHOULD BE AN OBVIOUS ADDITION
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: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:50 <elliott> Clearly they have never seen Shaun of the Dead, also known as: THE MOST EMPATHY-FILLED ZOMBIE FILM EVER.
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:20:19 <elliott> Phantom_Hoover: Miss what, Unefunge?
22:23:24 <elliott> oerjan: looks like j-invariant deleted their reddit account now
22:29:37 <oerjan> hm !()^ and sorta S are easy to remove ~! from, then it starts getting tricky
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:34:16 <elliott> All GCC ports for the following operating systems have been declared obsolete:
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: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: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: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: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:33 <elliott> <oerjan> FFFFFFUUUUUUUUUUUUUUUUUUU
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:53 <elliott> oerjan: call your account oerjan, nobody will ever suspect
22:44:16 <oerjan> i know it's a specific number, i couldn't be bothered
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:50 * elliott contemplates `addquote <oerjan> i'll make [...] wet furry porn[...], of course
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: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:49:02 <oerjan> elliott: certainly, ((a)(b)) is a tuple
22:49:12 <elliott> oerjan: oh, i mean more Joy than Underload
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 -!- elliott has quit (Read error: Connection reset by peer).
22:51:37 -!- elliott has joined.
22:51:50 <oerjan> <oerjan> well you can also do
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!
23:00:05 <oerjan> ^ul (junk)(b)(junk)**(~aS:^):^
23:00:05 <fungot> (junkbjunk) ...out of stack!
23:00:47 <oerjan> cheater00: finding out how to eliminate ~ and ! from underload simultaneously
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: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:44 <elliott> ^ul ((x1)~^(x2)~^(x3)~^)((~S):^)~^
23:04:54 <oerjan> you need to apply to something self-replicating
23:06:02 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)(S:)~(S:)~
23:06:11 <cheater00> oerjan: http://www.ee.ryerson.ca/~elf/hack/academic.html
23:06:20 <oerjan> ^ul ((x1)~^(x2)~^(x3)~^)(S:)~(S:)~^
23:07:19 <elliott> oerjan: hmm can you rebuild the list that way?
23:07:39 <olsner> wtf, how did my server end up in runlevel "unknown"?
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:09:43 <Sgeo> Peppermint One's bootloader or whatever looks suspiciously like Ubuntu's
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: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: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: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: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:56 * elliott says that as an expert timewaster
23:13:08 <oerjan> elliott: um that was to your fold comment
23:13:16 <elliott> you're not /that/ fast at typing
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:38 <elliott> it's lexeme i'm thinking of i think
23:17:00 <elliott> which appears to not be in parsec 3.
23:17:20 <elliott> Couldn't match expected type `GenTokenParser s u m'
23:17:20 <elliott> against inferred type `Parser String'
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:17 <elliott> goodwill and pati... sorry, i understand neither of these word
23:18:23 <elliott> can i set things on fire now?
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: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:15 <elliott> it's for the "language" stuff
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:51 <elliott> @pl let f _ [] = id; f e (x:xs) = f e xs . g e x in f
23:23:04 <lambdabot> forall a (m :: * -> *) b c. (Monad m) => (a -> m b) -> (b -> m c) -> a -> m c
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 <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:25:03 <oerjan> elliott: although that is obviously a fold over \x r -> r . g e x
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:27 <Sgeo> pikhq, who cares? It's not like she'll need her body after she's dead.
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: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: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: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:15 <lambdabot> forall b a. [b] -> ([a] -> b -> [a]) -> [a]
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: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: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:38:05 <elliott> run e p = foldl' (\f i -> eval e i . f) id p
23:38:31 <elliott> run e = foldl' (flip ((.) . eval e)) id
23:38:47 <elliott> now why does that not do anything...
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:45:16 <oerjan> ^ul (junk1)((boo!)S)(junk3)a(*)**^(junk4)(~aS:^):^
23:45:16 <fungot> boo!(junk4)(junk1junk3) ...out of stack!
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:17 <elliott> you should be able to write
23:47:12 <elliott> oerjan: what, that's genius.
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: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."