< 1296950469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : execlp("sh", "-c", cmd, NULL); < 1296950469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1296950474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this seems to not inherit your PATH or something < 1296950481 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's telling me it can't find yes or cat < 1296950520 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296950522 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I don't want -c < 1296950523 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I don't think < 1296950530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"sh -c /usr/bin/yes" doesn't work < 1296950549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : -c Read commands from the command_string operand < 1296950549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : instead of from the standard input. Special < 1296950549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : parameter 0 will be set from the command_name op‐ < 1296950549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : erand and the positional parameters ($1, $2, etc.) < 1296950549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : set from the remaining argument operands. < 1296950550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1296950553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where's the eval part :P < 1296950573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm that _is_ it < 1296950725 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The first arg is argv[0], isn't it? < 1296950762 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ohh < 1296950763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1296950836 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK, so I need two pipes for my two-process case. < 1296950851 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pipe1[0] is what process #1 writes to < 1296950857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pipe1[1] is what process #2 reads from < 1296950864 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pip2[0] is what process #2 writes to < 1296950865 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*pipe2 < 1296950870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pipe2[1] is what process #1 reads from < 1296950870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1296950872 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :no, [0] is the read end, [1] is the write end < 1296950875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :err < 1296950877 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1296950916 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :so I think youdup2(pipe1[0], 1) to hook up a read-end to stdin < 1296950926 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :*you'd do dup2 < 1296950928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipe2[0], 0); < 1296950928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipe1[1], 1); < 1296950933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1296950936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wait what? < 1296950944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stdin is 0 < 1296950946 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :whichever is stdin and stdout, can never remember that :) < 1296950965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (n == 0) { < 1296950965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipe2[0], 0); < 1296950965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipe1[1], 1); < 1296950965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } else { < 1296950965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipe1[0], 0); < 1296950966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipe2[1], 1); < 1296950968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } < 1296950970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :simple enough < 1296950991 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay, it's working < 1296951015 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :in the 1-process case, do you make a single process talking to itself? < 1296951034 0 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1296951037 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: :D < 1296951040 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that would be amazing < 1296951074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://translate.google.com/#de|de|pv%20zk%20bschk%20pv%20zk%20pv%20bschk%20zk%20pv%20zk%20bschk%20pv%20zk%20pv%20bschk%20zk%20bschk%20pv%20bschk%20bschk%20pv%20kkkkkkkkkk%20bschk%0A%0A <-- they changed the button to say Beatbox :D < 1296951110 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :don't know of any program that can usefully talk to itself, but there's no reason not to support it < 1296951172 0 :buttsbutts!~butts@91.105.71.61 JOIN :#esoteric < 1296951172 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951174 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wooo < 1296951177 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951177 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it works < 1296951179 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :empirically verified by: butts < 1296951180 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951183 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951185 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :teehee < 1296951186 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951188 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951191 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric :butts < 1296951192 0 :buttsbutts!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296951210 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :read: 6: arg count < 1296951212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1296951214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296951244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wut < 1296951245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it no work < 1296951246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i sads < 1296951257 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :u suks < 1296951260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hey olsner the reading it is the brokes? this makes me an sads < 1296951264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*a brokes < 1296951298 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :read? arg count? < 1296951302 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I don't get it < 1296951330 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: no that's not the bug < 1296951334 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :reading just blocks < 1296951346 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :funny googling for "-1^1/2" gives 0.5 due to weird parsing of where the () should go < 1296951346 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, it would block until something writes to the other end < 1296951351 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :funny,* < 1296951355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: i'm pretty sure nc writes to the other end < 1296951404 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, could try strace with the follow forks and log pids options < 1296951409 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :to see what's going on < 1296951418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sounds scary... okay < 1296951428 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :if you're just blocking it should be alright < 1296951440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "E", 1) = 1 < 1296951440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "x", 1) = 1 < 1296951441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "c", 1) = 1 < 1296951441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "e", 1) = 1 < 1296951441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "s", 1) = 1 < 1296951441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "s", 1) = 1 < 1296951443 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, " ", 1) = 1 < 1296951445 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "F", 1) = 1 < 1296951447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "l", 1) = 1 < 1296951449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "o", 1) = 1 < 1296951452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "o", 1) = 1 < 1296951453 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "d", 1) = 1 < 1296951455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, ")", 1) = 1 < 1296951457 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "\r", 1) = 1 < 1296951459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[pid 18122] read(0, "\n", 1) = 1 < 1296951461 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*someone's* terribly efficient < 1296951463 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but if something forks and starts polling or something like that, you might be getting too much output for comfort :) < 1296951467 0 :buttsbutts!~butts@91.105.71.61 JOIN :#esoteric < 1296951467 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net NOTICE * :*** Looking up your hostname... < 1296951467 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net NOTICE * :*** Checking Ident < 1296951467 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net NOTICE * :*** No Ident response < 1296951467 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net NOTICE * :*** Couldn't look up your hostname < 1296951467 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net 001 buttsbutts :Welcome to the freenode Internet Relay Chat Network buttsbutts < 1296951468 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net 002 buttsbutts :Your host is card.freenode.net[38.229.70.20/6667], running version ircd-seven-1.0.3 < 1296951474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...ok so this time it works? :D < 1296951474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296951477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it must be flooding < 1296951478 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :obviously < 1296951483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bet it's being throttled as we speak < 1296951484 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net 003 buttsbutts :This server was created Sun Sep 26 2010 at 01:24:51 UTC < 1296951484 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net 004 buttsbutts card.freenode.net ircd-seven-1.0.3 DOQRSZaghilopswz CFILMPQbcefgijklmnopqrstvz bkloveqjfI < 1296951484 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net 005 buttsbutts CHANTYPES=# EXCEPTS INVEX CHANMODES=eIbq,k,flj,CFLMPQcgimnprstz CHANLIMIT=#:120 PREFIX=(ov)@+ MAXLIST=bqeI:100 MODES=4 NETWORK=freenode KNOCK STATUSMSG=@+ CALLERID=g :are supported by this server < 1296951484 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net 005 buttsbutts SAFELIST ELIST=U CASEMAPPING=rfc1459 CHARSET=ascii NICKLEN=16 CHANNELLEN=50 TOPICLEN=390 ETRACE CPRIVMSG CNOTICE DEAF=D MONITOR=100 :are supported by this server < 1296951484 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::card.freenode.net 005 buttsbutts FNC TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:4,NOTICE:4,ACCEPT:,MONITOR: EXTBAN=$,arx WHOX CLIENTVER=3.0 :are supported by this server < 1296951484 0 :buttsbutts!unknown@unknown.invalid QUIT :Excess Flood < 1296951488 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yep :D < 1296951523 0 :buttsbutts!~butts@91.105.71.61 JOIN :#esoteric < 1296951523 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net NOTICE * :*** Looking up your hostname... < 1296951523 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net NOTICE * :*** Checking Ident < 1296951523 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net NOTICE * :*** No Ident response < 1296951523 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net NOTICE * :*** Couldn't look up your hostname < 1296951525 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 001 buttsbutts :Welcome to the freenode Internet Relay Chat Network buttsbutts < 1296951527 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 002 buttsbutts :Your host is niven.freenode.net[140.211.166.4/6667], running version ircd-seven-1.0.3 < 1296951529 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :this is useful < 1296951529 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 003 buttsbutts :This server was created Tue Feb 23 2010 at 23:01:59 UTC < 1296951531 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 004 buttsbutts niven.freenode.net ircd-seven-1.0.3 DOQRSZaghilopswz CFILMPQbcefgijklmnopqrstvz bkloveqjfI < 1296951532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: it is < 1296951533 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 005 buttsbutts CHANTYPES=# EXCEPTS INVEX CHANMODES=eIbq,k,flj,CFLMPQcgimnprstz CHANLIMIT=#:120 PREFIX=(ov)@+ MAXLIST=bqeI:100 MODES=4 NETWORK=freenode KNOCK STATUSMSG=@+ CALLERID=g :are supported by this server < 1296951534 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: it is very useful < 1296951535 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 005 buttsbutts SAFELIST ELIST=U CASEMAPPING=rfc1459 CHARSET=ascii NICKLEN=16 CHANNELLEN=50 TOPICLEN=390 ETRACE CPRIVMSG CNOTICE DEAF=D MONITOR=100 :are supported by this server < 1296951537 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 005 buttsbutts FNC TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:4,NOTICE:4,ACCEPT:,MONITOR: EXTBAN=$,arx WHOX CLIENTVER=3.0 :are supported by this server < 1296951538 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it is buttsbutts < 1296951539 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 251 buttsbutts :There are 440 users and 59684 invisible on 26 servers < 1296951541 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 252 buttsbutts 30 :IRC Operators online < 1296951543 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 253 buttsbutts 1 :unknown connection(s) < 1296951543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait for it < 1296951545 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 254 buttsbutts 34526 :channels formed < 1296951547 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 255 buttsbutts :I have 3898 clients and 1 servers < 1296951547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we're gonna end up staring at the camera < 1296951549 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 265 buttsbutts 3898 5233 :Current local users 3898, max 5233 < 1296951549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pointed at the screen < 1296951551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :showin the camera < 1296951551 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 266 buttsbutts 60124 70432 :Current global users 60124, max 70432 < 1296951552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*showing < 1296951553 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 250 buttsbutts :Highest connection count: 5234 (5233 clients) (1295329 connections received) < 1296951555 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 375 buttsbutts :- niven.freenode.net Message of the Day - < 1296951557 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- Welcome to niven.freenode.net in Corvallis, Oregon, US. Our < 1296951559 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- thanks to Oregon State University for sponsoring this server! < 1296951560 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just as soon as we get past the motd! < 1296951561 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- < 1296951563 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- NIVEN, LAWRENCE VAN COTT [1938-]. Architect of Known Space, < 1296951565 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- the setting of Protector, World of Ptaavs and the < 1296951567 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- Ringworld series. Author of "Flash Crowd", a canonical < 1296951569 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- sociological hard science fiction short story dealing with < 1296951571 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- effects of near instantaneous transportation on a modern < 1296951573 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :so much bullshits < 1296951573 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::niven.freenode.net 372 buttsbutts :- technological society. In addition, he is well known for his < 1296951573 0 :buttsbutts!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296951576 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296951579 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :elliott: fail < 1296951581 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :perhaps you could make it ignore the motd :) < 1296951582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: i ^C'd it < 1296951585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because, you know, no :P < 1296951680 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :so what was the configuration there? < 1296951690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :echo USER butts butts butts butss < 1296951690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :echo NICK buttsbutts < 1296951691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :echo JOIN '#esoteric' < 1296951691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :while read line; do < 1296951691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : sleep 2 < 1296951691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : echo PRIVMSG '#esoteric' ":$line" < 1296951693 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :done < 1296951695 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and < 1296951697 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ catbus 'nc irc.freenode.net 6667' ./hello < 1296951705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catbus adds -DGAPING_SECURITY_HOLE to any copy of nc! < 1296951736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i just need to extend it to N processes < 1296951738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sounds "fun" < 1296951782 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :what, you've just implemented exactly two processes and not N? < 1296951789 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: at this point, yes < 1296951790 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :2's not a number you know < 1296951793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just to check that everything was working < 1296951794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296951795 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that could be even cleaner in haskell < 1296951796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh indeed it isn't < 1296951802 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: what could, the shell script? < 1296951805 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1296951808 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :it's just an interact < 1296951813 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: no it isn't < 1296951815 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"sleep 2" < 1296951817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::t interact < 1296951818 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(String -> String) -> IO () < 1296951818 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :fuck that < 1296951821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you'd need -> IO String) -> IO () < 1296951822 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :unsafePerformIO < 1296951826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: VISIONARY < 1296951833 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :why the sleep, anyway? < 1296951837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i fear the day when Haskell becomes mainstream and idiots solve their problems with unsafePerformIO < 1296951839 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: because otherwise it floods < 1296951839 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1296951846 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :pff < 1296951856 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott. < 1296951862 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :someone should make a throttleList :: Int -> [a] -> [a] < 1296951863 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1296951863 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I doubt that will happen. < 1296951866 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :that produces shit slowly < 1296951883 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :obviously, you just add another middle step that's cat with delay < 1296951886 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :it's referentially transparent < 1296951893 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :so it's a perfectly good place to use unsafePerformIO < 1296951900 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you have a catbus after all < 1296951916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipes[(i-1)%total][0], 0); < 1296951916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipes[i][1], 1); < 1296951919 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can't be that easy, can it? < 1296951925 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :why not? < 1296951929 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1296951933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this kind of stuff sounds hard :D < 1296951934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fds and stuff! < 1296952005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ha olsner < 1296952006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it isn't that easy < 1296952009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :my thing still hasn't connecte < 1296952010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :d < 1296952086 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, it should be that simple :) < 1296952106 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :had an off-by-one i think < 1296952141 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :for child 0, what's (0-1)%total? < 1296952151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well let's say there's 2 < 1296952157 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right now i pass 1 as total < 1296952160 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it's -1%1 < 1296952169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which ends up as ... 0, aha < 1296952172 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it should be %2 < 1296952174 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but actually < 1296952177 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I just changed it to pass argc as total < 1296952182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it's (0-1)%2 = 1 < 1296952206 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :obviously total is 2 if you have two processes :) < 1296952212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1296952216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i have no idea what's wrong < 1296952218 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1296952233 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :solution < 1296952242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :./catbus 'nc irc.freenode.net 6667 | tee log' ./hello < 1296952246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(wish shells let you tee fds) < 1296952247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. < 1296952251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>+&2 < 1296952256 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sends stdout to both stdout /and/ stderr < 1296952261 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :prolly zsh can do that :P < 1296952292 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :tee /dev/fd/2 perhaps? < 1296952293 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1296952299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: ah, indeed < 1296952301 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296952303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dunno if sh does that though < 1296952312 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :seems like hello gets nc's output, but nc doesn't get hello's output < 1296952320 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so uh < 1296952333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hello is process 1 (after process 0) < 1296952334 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it's < 1296952342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stdout --> pipes[1][1] < 1296952343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now in process 0 < 1296952344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's < 1296952348 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-1%2 = 1 < 1296952351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pipes[1][0] goes to stdin < 1296952353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so that should be working < 1296952354 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1296952362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :how does c do negative modulo < 1296952423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> printf("%d\n", (-1)%2); < 1296952423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-1 < 1296952424 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : : parse error on input `;' < 1296952429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: let's talk about how C's modulo semantics are fucktarded. < 1296952432 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :(i?i-1:total-1) < 1296952538 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it's probably undefined for negative values or something like that < 1296952547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1296952550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :C is a real shitfucking language. < 1296952551 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I wrote a stupid little piano piece. It's about 30 seconds long. How would you feel about recording it? < 1296952552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :technical term < 1296952556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@elliott-MacBookAir:~/Code/catbus$ ./catbus 'nc irc.freenode.net 6667' ./hello < 1296952557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@elliott-MacBookAir:~/Code/catbus$ < 1296952557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that worked! < 1296952567 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(still haven't thought of a hostname :D) < 1296952581 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :haskell has mod and rem, and I have no idea how either of them works for negative values < 1296952583 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, stupid bug < 1296952591 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but I think both are well-defined in different ways < 1296952594 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> -1 `mod` 2 < 1296952595 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : -1 < 1296952597 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> -1 `rem` 2 < 1296952598 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : -1 < 1296952602 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: lol < 1296952602 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :> mod (-1) 2 < 1296952603 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 1 < 1296952606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1296952607 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sheesh < 1296952611 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :"kgsGtp versions 3.3.12 and later, at least up to 3.3.20, have a bug that makes them babble a debug line, "ACTION IS TO MOVE OR SCORE", over and over while playing. Keep using version 3.3.11. You don't believe that any programmer worth his salt would keep the stupidest possible bug in his program over 10 versions? Check for yourself, if you don't believe me. Apparently programming go software has some pretty bad side effects on the brain." < 1296952613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you'd think `` would take precemadance < 1296952617 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :You would. < 1296952626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haskell _really_ needs to integrate - into the language syntax :P < 1296952631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's just so stupid as it is < 1296952634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(- 3) should be (subtract 3) < 1296952655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: my machine just lagged to hell, i surmise that i fucked something up < 1296952669 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I concur < 1296952670 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh duh < 1296952698 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :come on buttsbutts! < 1296952732 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think it's a forkbomb or something < 1296952742 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :even though that - *oh* < 1296952742 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296952746 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : for (i = 0; i < nprocs; i++) < 1296952746 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : spawn(argv[i], i); < 1296952748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: spot the awesome error < 1296952777 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: define a function count_ones that takes an integer to the number of 1s in the integer's binary representation < 1296952786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: see bit twiddling hacks page :P < 1296952793 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what < 1296952807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www-graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive < 1296952809 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and all the methods below < 1296952817 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Heh... Hit a IPv6-only site. Chinese so no idea what it says... < 1296952827 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh interesting < 1296952848 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i didnt realize it was a thing < 1296952852 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it is :P < 1296952855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's a thing thing < 1296952860 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :how weird! < 1296952864 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :well i did one in ruby < 1296952866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i dunno if it's actually useful < 1296952883 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :def count_ones n; n.to_s(2).gsub(/0/,'').length; end < 1296952908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: maybe i should have an option to specify the shell to use < 1296952909 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :a friend has a shorter but slower version that has scan(/1/) in place of the gsub < 1296952912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :rather than just always using sh < 1296952920 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: oh please, that doesn't even count it properly < 1296952924 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that just uses a function that does all the work for you to do it < 1296952925 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what? < 1296952931 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh well true :) < 1296952934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's not even cheating, that's just... :P < 1296952943 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its just elegant, short, simple, beautiful < 1296952944 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1296952949 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :beautiful? < 1296952950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hardly < 1296952952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :there's no reason to involve strings < 1296952953 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :true x3 < 1296952958 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1296952960 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also you have /0/ when it could be '0' < 1296952963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :YOUR CODE IS BAD AND YOU ARE BAD < 1296952973 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :gsub just converts '0' to /0/ < 1296952973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: here's a better version of the same evil < 1296952985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def count_ones n; n.to_s(2).count('1'); end < 1296952992 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :no really? < 1296953003 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :fantastic! < 1296953027 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: awesome bug < 1296953033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it is, totally < 1296953037 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :accidental forkbombs: the best forkbombs? < 1296953059 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: can't you just plug in your custom shell by having e.g. 'zsh -c foo' as a command? < 1296953073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: well yeah, but then you need an extra level of quoting < 1296953082 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :so? :) < 1296953100 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also, dammit, it's 48 lines, and will be about 53 when i add more error checking, I can afford _one_ flag! < 1296953138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if (!strcmp(argv[1], "-s") && argc > 2) { shell = argv[2]; argc -= 2; } < 1296953141 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i want to see the haskell version, but apparently there is no standard to-binary function :( < 1296953153 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: but there is Data.Bits < 1296953156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so you can do it _properly_ < 1296953158 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the Kernighan way for instance < 1296953162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also, there's < 1296953163 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::t showBase < 1296953163 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1296953163 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Not in scope: `showBase' < 1296953164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or whatever it was < 1296953168 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :there's a SHELL environment variable (on my system), I wonder if that's portable and meant to indicate the preferred shell < 1296953266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: i think it just indicates the shell you're running < 1296953270 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ideally you'd just use the integer's binary representation directly < 1296953274 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :as an inplace bit array < 1296953278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: also, having "SHELL=foo ./myprog" fuck it up because myprog uses catbus sounds "nice" < 1296953301 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: seriously, look at Data.Bits < 1296953301 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :n.bits.count(1) < 1296953315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, in ruby < 1296953315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1296953315 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :thatll take too long < 1296953320 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: in anything, i mean < 1296953326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://hackage.haskell.org/packages/archive/base/4.2.0.0/doc/html/Data-Bits.html < 1296953336 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it has &, so you can do the kernighan method easy < 1296953340 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :http://senseis.xmp.net/?FreeGo ....ok, random .NET debate in the middle of a Go website < 1296953351 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no certainly. < 1296953383 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :" And for most things, we should be using C anyway. Object orientation takes one away from the machine even if computers are now fast enough to overwhelm that. Computers are not object oriented, they are imperitive, so we should, when it makes sense, write that way." < 1296953391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let count 0 = 0; count n = (n .&. 1) + count (n `shiftR` 1) in count 0b0110 < 1296953392 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Not in scope: `b0110' < 1296953394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :grr < 1296953404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let count 0 = 0; count n = (n .&. 1) + count (n `shiftR` 1) in count 54 < 1296953405 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Ambiguous type variable `a' in the constraint: < 1296953405 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : `Data.Bits.Bits a' < 1296953405 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a... < 1296953409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let count 0 = 0; count n = (n .&. 1) + count (n `shiftR` 1) in count (54 :: Int) < 1296953410 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 4 < 1296953414 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tada! < 1296953416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: done. < 1296953422 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :D: < 1296953428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin gets to point-free it < 1296953434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::t zero < 1296953435 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Not in scope: `zero' < 1296953435 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :pff < 1296953436 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :fuck that < 1296953442 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::pl let count 0 = 0; count n = (n .&. 1) + count (n `shiftR` 1) in count (54 :: Int) < 1296953445 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :er < 1296953446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: fail < 1296953448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl \n -> if n==0 then 0 else (n .&. 1) + count (n `shiftR` 1) < 1296953448 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :ap (flip if' 0 . (0 ==)) (liftM2 (+) (.&. 1) (count . (`shiftR` 1))) < 1296953448 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :@pl let count 0 = 0; count n = (n .&. 1) + count (n `shiftR` 1) in count (54 :: Int) < 1296953448 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :54 :: Int .&. 1 + (54 :: Int) (54 :: Int `shiftR` 1) < 1296953452 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :what are you trying to do, anyway? < 1296953459 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: count bits! < 1296953459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: count set bits < 1296953471 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries it kernighan's way < 1296953489 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let count 0 = 0; count n = 1 + count (v .&. (v-1)) < 1296953490 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : not an expression: `let count 0 = 0; count n = 1 + count (v .&. (v-1))' < 1296953496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let count 0 = 0; count n = 1 + count (v .&. (v-1)) in count (54::Int) < 1296953496 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `SimpleReflect.Expr' < 1296953497 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : against inferred ... < 1296953499 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1296953500 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296953501 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :elliott: oh I wrote something for that the other day < 1296953505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let count 0 = 0; count n = 1 + count (n .&. (n-1)) in count (54::Int) < 1296953506 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :this is so much easy in peano numerals < 1296953506 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 4 < 1296953509 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tada! < 1296953512 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :numSuccs = id < 1296953515 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Brian Kernighan's method goes through as many iterations as there are set bits. So if we have a 32-bit word with only the high bit set, then it will only go once through the loop." < 1296953523 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Published in 1988, the C Programming Language 2nd Ed. (by Brian W. Kernighan and Dennis M. Ritchie) mentions this in exercise 2-9. On April 19, 2006 Don Knuth pointed out to me that this method "was first published by Peter Wegner in CACM 3 (1960), 322. (Also discovered independently by Derrick Lehmer and published in 1964 in a book edited by Beckenbach.)" < 1296953528 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so yeah i pretty much WIN? < 1296953544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@hoogle a -> (a -> a) -> Int -> a < 1296953544 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Data.Sequence adjust :: (a -> a) -> Int -> Seq a -> Seq a < 1296953544 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Data.IntMap adjust :: (a -> a) -> Key -> IntMap a -> IntMap a < 1296953544 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Prelude maybe :: b -> (a -> b) -> Maybe a -> b < 1296953547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hey copumpkin < 1296953552 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :hey babe < 1296953553 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I think you can do the whole catbus thing in a shell with something like, mkfifo foo; (a | b | c) <>foo < 1296953555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why does haskell not come with the induction combinator for naturals < 1296953558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is it because it's a fag? < 1296953560 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1296953564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that requires a fifo though < 1296953567 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and is ugly < 1296953572 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: whatchu mean induction combinator < 1296953575 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i dont know this < 1296953577 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :explain? < 1296953582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: compare: < 1296953593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :P(0) -> (forall n, P(n) -> P(Sn)) -> forall n, P(n) < 1296953595 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :over the naturals < 1296953596 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :AND < 1296953607 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a -> (a -> a) -> Int -> a < 1296953610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where the impl is < 1296953629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :rec x _ 0 = x; rec x f n = f (rec x f (n-1)) < 1296953637 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :uh? < 1296953676 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: you school him < 1296953683 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I never got how and why v & (v-1) does useful stuff... I should figure that out some day < 1296953697 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Quick question about Underload: In stack notation, does the * command go like s2 s1 -> s2&s1, or s2 s1 -> s1&s2 ? < 1296953701 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: v &= v-1 clears the least significant bit < 1296953706 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: (a)(b)* === (ab) < 1296953716 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: thanks! < 1296953722 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yw :) < 1296953723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1296953731 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, shouldn't it be most significant? < 1296953741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I doubt it < 1296953743 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin always schools me < 1296953748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: bit twiddling hacks page is infallible < 1296953748 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its pretty hot.. ;o < 1296953763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :come on buttsbutts! < 1296953765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you can do it! < 1296953776 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, v and v-1 will always differ in the LSB < 1296953786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IT ISN'T WORKING WHY ISN'T IT WORKING < 1296953810 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Darn- my Lua Underload interpreter isn't running the Fibbonchi series program, and I thoght the * might of been a problem < 1296953824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: show code :) < 1296953830 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :k < 1296953837 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :so theres t-grep, right < 1296953841 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :stack = {} < 1296953841 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :tape = {} < 1296953841 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ptr = 1 < 1296953841 0 :iconmaster!unknown@unknown.invalid QUIT :Excess Flood < 1296953844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FAIL < 1296953847 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :which is pretty painful to use but it exists < 1296953851 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :is there t-diff? < 1296953851 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: eh? < 1296953854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what's t-grep < 1296953860 0 :iconmaster!~iconmaste@cci-209150237034.clarityconnect.net JOIN :#esoteric < 1296953861 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :tgrep: grep for trees < 1296953863 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: use a pastebin :P < 1296953865 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :whoops lol < 1296953869 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: e.g. pastebin.com < 1296953873 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :thx < 1296953874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: anyway while you can do catbus with a sufficiently bloated shell, you can also do tee < 1296953881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: and catbus is a pipe fitter in the same grand ol' Unixy tradition < 1296953886 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :usually trees in s-expression notation < 1296953890 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wonderfully, the name actually makes sense :) < 1296953891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1296953894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"bus" would make sense < 1296953900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but technically it's catting between the pipes < 1296953902 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it's catbus! < 1296953914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: t-diff might make use of zippers :D < 1296953923 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :maybe! < 1296953923 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and also there's a catbus in the famous anime movie < 1296953930 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: no shit < 1296953932 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :how do you think it was named < 1296953936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(the tool that is) < 1296953944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catbus reference -> OMG IT ACTUALLY FITS -> perfect < 1296953953 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :exactly :) < 1296953985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now all i have to do is finish it, give it a 90s-style unformatted web page, and put the catbus right-aligned < 1296953987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like the cool kids do < 1296954000 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ok im back and with a pastebin! http://pastebin.com/EHDf7gME < 1296954008 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :anyway it's obviously more fun doing it in C, plus a fifo is actually a bit ugly when you just need the pipe object itself < 1296954016 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: what do you mean back, do you close your irc client every time you tab away? :p < 1296954031 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: what does "io.read("*l")" do? < 1296954033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the *l part < 1296954046 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no, itjust closed me for flooding < 1296954050 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : elseif char == ":" then < 1296954050 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : table.insert(stack,stack[#stack]) < 1296954054 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't it be stack[0] there? < 1296954062 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or does table.remove remove from the end? < 1296954069 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :lists are 1-based... < 1296954073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :er right [1] < 1296954079 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: s and A aren't valid underload commands, it's not case-insensitive < 1296954082 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :remove removes ti from end < 1296954092 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ok ill fix s amd a < 1296954101 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, can't see an obvious mistake < 1296954109 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :me niether.... lol < 1296954112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : elseif char == "^" then < 1296954112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : newprog = table.remove(stack) < 1296954112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : for i=1,#newprog do < 1296954112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : table.insert(tape,ptr + i,string.sub(newprog,i,i)) < 1296954112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : end < 1296954114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait what? < 1296954124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ inserts the top of stack into the program < 1296954125 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. < 1296954137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(abc)(def)*^blah -> (abcdef)^blah -> abcdefblah < 1296954140 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :i did that lol < 1296954144 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh indeed < 1296954147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but what's with the for loop there? < 1296954149 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :OH! i know whats wrong < 1296954169 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :i needed to insert each character into the program individually < 1296954199 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :but if i just did table.insert(tape,ptr,string.sub(newprog,i,i)) it would put it in the program in reverse < 1296954212 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :but table.insert(tape,ptr + i,string.sub(newprog,i,i)) wont work either < 1296954217 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: can't you just do < 1296954222 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :program = program .. table.remove(stack) < 1296954244 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :that would append the program on the END of the tape < 1296954249 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :not at the ^ < 1296954255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh. right. < 1296954267 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :the program itself is a list of characters, remember < 1296954269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: i would remove the first char of the program whenever you execute it < 1296954271 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then you could do < 1296954274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :program = table.remove(stack) .. program < 1296954287 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :sure... that would be more effiecent. < 1296954296 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :OK then, on to rewriting! < 1296954298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also less error-prone < 1296954300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1296954311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wow, stracing this is a real mess < 1296954427 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :how shocking < 1296954429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok, nc isn't getting the input, but hello is < 1296954439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@elliott-MacBookAir:~/Code/catbus$ ./catbus 'tee /dev/fd/2 | nc irc.freenode.net 6667' './hello' < 1296954439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^C < 1296954439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@elliott-MacBookAir:~/Code/catbus$ ./catbus 'nc irc.freenode.net 6667' 'tee /dev/fd/2 | ./hello' < 1296954439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** Looking up your hostname... < 1296954439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** Checking Ident < 1296954653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok so i=1 < 1296954659 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :1 ? 0 : 1 < 1296954660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :--> 0 < 1296954664 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pipes[0][0] -> stdin < 1296954666 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: 0 is the reading end right? < 1296954668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i believe so < 1296954668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then < 1296954675 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pipes[1][1] -> stdout < 1296954678 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that seems... totally correct < 1296954679 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1296954680 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bug < 1296954681 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but not a relevant one < 1296954785 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Just had a realization- Putting new symbols after the ^ is the same as recursion, all I need to do is to share a few variables < 1296954791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: yep < 1296954795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : switch (fork()) { < 1296954795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : case 0: < 1296954795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (dup2(pipes[i ? i-1 : nprocs-1][0], 0) < 0 || < 1296954795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipes[i][1], 1) < 0) { < 1296954796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : perror("dup2"); < 1296954798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : exit(3); < 1296954802 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } < 1296954805 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: does that look broken to you? < 1296954868 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :not that I know :) 'i' goes from 0 to nprocs-1 right? < 1296954900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: yep < 1296954910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : for (i = 0; i < nprocs; i++) < 1296954910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (pipe(pipes[i]) < 0) { < 1296954910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : perror("pipe"); < 1296954910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : exit(3); < 1296954910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } < 1296954911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : for (i = 1; i < argc; i++) < 1296954913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : spawn(argv[i], i-1); < 1296954916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(second loop is for argc to simplify logic after I got confused) < 1296954923 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*is over < 1296954949 0 :Lymia_!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296954958 0 :Lymia!unknown@unknown.invalid QUIT :Disconnected by services < 1296954984 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Do you suspect gremlins? I sure do. < 1296954992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nprocs is set to argc, btw. < 1296954993 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wait... < 1296954999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It should be argc-1. < 1296954999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1296955006 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1296955032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay, it works now < 1296955035 0 :buttsbutts!~butts@91.105.71.61 JOIN :#esoteric < 1296955035 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** Looking up your hostname... < 1296955035 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** Checking Ident < 1296955037 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** Couldn't look up your hostname < 1296955039 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** No Ident response < 1296955039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I love you too, buttsbutts. < 1296955040 0 :buttsbutts!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296955059 0 :buttsbutts!~butts@91.105.71.61 JOIN :#esoteric < 1296955059 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** Looking up your hostname... < 1296955059 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** Checking Ident < 1296955061 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** Couldn't look up your hostname < 1296955063 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net NOTICE * :*** No Ident response < 1296955065 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net 001 buttsbutts :Welcome to the freenode Internet Relay Chat Network buttsbutts < 1296955067 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net 002 buttsbutts :Your host is holmes.freenode.net[213.232.93.3/6667], running version ircd-seven-1.0.3 < 1296955069 0 :buttsbutts!unknown@unknown.invalid PRIVMSG #esoteric ::holmes.freenode.net 003 buttsbutts :This server was created Tue Feb 23 2010 at 23:01:30 GMT < 1296955071 0 :buttsbutts!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296955087 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm, I think that "catbus a b c d" is actually the same as "catbus a <(b|c|d)" < 1296955091 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I don't think that's right < 1296955113 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I think that possibly my original interpretation at http://esoteric.voxelperfect.net/wiki/User_talk:Chris_Pressey#catbus is what was intended < 1296955237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13:40:20 polycat: run a set of programs and pipe all their outputs together to all their inputs < 1296955238 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, that sounds a bit different from the simple ring of processes < 1296955239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: HA < 1296955241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I WAS RIGHT < 1296955248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i...think < 1296955250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's still ambiguous >_< < 1296955352 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Woot! I got the interpreter to work! < 1296955360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay! i got catbus to work! < 1296955362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we're all happy! < 1296955374 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: in the mood to GOLF? < 1296955377 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you should totally golf catbus. < 1296955378 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Thanks! I'll pastebin it in a second. < 1296955408 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.com/rKsCwUgK < 1296955423 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I decided I don't like golfing after my last attempts failed to be immediately awesome < 1296955431 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: how fast does it run the look and say? :P < 1296955441 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :idk lemme try it < 1296955507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: not that golfing it would be too difficult, it's already pretty darn short: http://sprunge.us/SfZL < 1296955545 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, first step would be to remove all error checking obviously :) < 1296955583 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :err that has one argument swapped < 1296955584 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but whatever < 1296955606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: int n,p[256][2];s(char*c,int i){... :P < 1296955626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers dynamically allocating pipes, for all those >256 command pipelines. < 1296955628 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you don't need n, you can just reuse argc and inline spawn into main < 1296955649 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: oh indeed < 1296955656 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :say, is look-and-say sequence SUPPOSED to print 2113 forever? < 1296955670 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and you can just allocate a few million pipes and let lazy allocation fix it < 1296955672 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: I ... don't believe so. I think that happens if your * is the wrong way around. < 1296955677 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: ah yes, Lazy C. < 1296955685 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :OLOL. thanks, leme fix it. < 1296955685 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the language of choice for true masochists. < 1296955710 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, zeroed pages that get lazily mapped as you use them < 1296955763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :int i,p[256][2];main(c,v){for(i=1;i0;);} < 1296955785 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :it printed two commas, waited for a looooooong time, and then halted. < 1296955803 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Methinks something wrong with my implementation < 1296955832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :int i,p[256][2];main(c,v){for(i=1;i0;);} < 1296955841 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :int i,p[256][2];main(c,v){for(i=1;i0;);} < 1296955844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: oh yeah < 1296955857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1296955858 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"pipes" < 1296955858 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :in practice you < 1296955867 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :int i,p[256][2];main(c,v){for(i=1;i0;);} < 1296955870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: ? < 1296955872 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you'll be limited by the maximum command line length < 1296955883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :int i,p[256][2];main(c,v){for(i=1;i0;);} < 1296955888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :skillz. < 1296955895 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :(just switched to a keyboard with enter where ' used to be) < 1296955909 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :int i,p[256][2];main(c,v){for(i=1;i0;);} < 1296955910 0 :Lymia_!unknown@unknown.invalid PRIVMSG #esoteric :`run echo fork while fork | perl < 1296955916 0 :Lymia_!unknown@unknown.invalid NICK :Lymia < 1296955917 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296955917 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296955920 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: that won't work. < 1296955926 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Don't expect it to. < 1296955926 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1296955934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that was 175 chars < 1296955937 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296955940 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :NOT BAD < 1296955951 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Are you.... < 1296955954 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Golfing C < 1296955955 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :? < 1296956002 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, is that what you're doing? < 1296956008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well, I was there. < 1296956020 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I have a rather less compact version here that's actually useful :P < 1296956096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: oh man < 1296956107 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: $ catbus '(echo y; cat) | tee x' < 1296956110 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: same as yes >x < 1296956115 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :beautiful, or beautiful??? < 1296956129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :full implementation of yes: < 1296956137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ catbus '(echo y; cat) | tee /dev/fd/2' 2>&1 < 1296956146 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :could change i to 0-based since you're using i-1 more often than i, save a couple of bytes < 1296956147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it's like Haskell's fix :) < 1296956154 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also, maybe :P < 1296956165 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: int i,p[256][2];main(c,v){--c;for(;i0);} ? < 1296956165 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and then do the equivalent of c+i%c-1 < 1296956192 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Is it OK if I'm scared of you? < 1296956193 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :plus/minus 0, 1 or 2 to get it right, of course < 1296956201 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Sure, works for me < 1296956212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: No, I don't think you understand: I'm *really* scared of you. < 1296956218 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Sure, works for me < 1296956233 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: int i,p[256][2];main(c,v){for(c--;i0);} < 1296956234 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Saved a character. < 1296956236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You're very welcome. < 1296956245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Man, that program is insanely short. < 1296956304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm isn't there some limts.h thing for max argc? < 1296956314 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not limits.h < 1296956322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ARG_MAX < 1296956364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[When looking at ARG_MAX/NCARGS, you have to consider the space comsumption by both argv[] and envp[] (arguments and environment). < 1296956364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Thus you have to decrease ARG_MAX at least by the results of "env|wc -c" and "env|wc -l * 4" [3] for a good estimation of the currently available space.]] < 1296956396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: fuck that, I'll just pick a sufficiently large value < 1296956457 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :256 seems sufficiently large already < 1296956487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: prolly... but I should add a check for max argc then < 1296956498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: and writing those few lines to error out is just as much work as making it dynamically allocated < 1296956501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it feels bad < 1296956512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: ofc, this has to be balanced against the additional /complexity/ that malloc gives... < 1296956540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll compensate by removing useless error-checking :) < 1296956545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : EFAULT pipefd is not valid. < 1296956545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : EINVAL (pipe2()) Invalid value in flags. < 1296956545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : EMFILE Too many file descriptors are in use by the process. < 1296956545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : ENFILE The system limit on the total number of open files has been < 1296956545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : reached. < 1296956549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK, so pipe() will never fail, probably < 1296956570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ cat /proc/sys/fs/file-max < 1296956570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :367911 < 1296956570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1296956607 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dup2 can't fail in any reasonable way either... apart from being interrupted by a signal, but fuck that. < 1296956635 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fork() can't fail other than being out of memory or forking too much. won't happen. < 1296956644 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :"note that catbus does not print error messages. if it fails, use strace to determine the nature of the failure." < 1296956667 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: The kind of argument list you'd need to cause a failure in dup2 or fork wouldn't fit in any system's argument list :P < 1296956681 0 :cheater-!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296956702 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay, it's shorter now < 1296956709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ooh, I can replace my < 1296956712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if (!fork()) { entire function } < 1296956713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with < 1296956715 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if (fork()) return; < 1296956716 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :if I get there, I will make my OS have no silly limits like that, it'll just be limited by available memory < 1296956724 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Saved another: int i,p[512];main(c,v){for(--c;i0);} < 1296956733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: well in this case fork() can fail only when running out of memory or due to a ulimit < 1296956742 0 :cheater-!~cheater@g224203065.adsl.alicedsl.de JOIN :#esoteric < 1296956744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ulimit, well, shit's gonna fail, obviously, that's why you set it < 1296956754 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I meant for the argument list < 1296956757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: right < 1296956777 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: if the arglist will fit into memory, and the fds are only limited by available memory too (as they would be for you), then this program will never fail unless you fill up memory with arguments :P < 1296956778 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Nice. < 1296956799 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm, I think I can interleave pipe creation with spawning < 1296956800 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait, no < 1296956801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :never mind < 1296956807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, not sanely anyway < 1296956820 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: My bad, that should be )-2, not )-1 < 1296956821 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I did think about reusing argv storage for the pipes < 1296956830 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: lol < 1296956838 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: do what olsner said :D < 1296956841 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :or making it recursive < 1296956854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :woo, the only way wait can fail is ECHILD, which is what I want, or EINTR/EINVAL < 1296956856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :latter obviously doesn't apply < 1296956860 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :stack limits are pretty low, but it does get dynamically allocated < 1296956863 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and I didn't handle EINTR anyway < 1296956880 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :39 lines, awesome < 1296956888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catbus.c:32: warning: ignoring return value of ‘pipe’, declared with attribute warn_unused_result < 1296956890 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but why... < 1296956898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : EFAULT pipefd is not valid. < 1296956899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : EINVAL (pipe2()) Invalid value in flags. < 1296956899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : EMFILE Too many file descriptors are in use by the process. < 1296956899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : ENFILE The system limit on the total number of open files has been reached. < 1296956908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :come on, that's not even remotely worth checking :P < 1296956988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: actually, (catbus prog) is basically the direct analogy of (fix f) in haskell < 1296956998 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(catbus cat) hangs, just like (fix id) does < 1296957007 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :yep, if piping is function composition then catbus is fix < 1296957018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(catbus '(echo y; cat) | tee x') is fix ("y\n" ++) < 1296957019 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like er < 1296957035 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :not exactly of course, but close enough for analogy < 1296957040 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fix (\foo -> ("y\n" ++ foo) ... tee stuff doesn't apply here) < 1296957043 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: yeah < 1296957051 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Oleg implemented a shell with monads/composition, I think < 1296957057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I bet there, the analogy applies directly < 1296957063 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :> fix (interleave [0..]) < 1296957064 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [0,0,1,0,2,1,3,0,4,2,5,1,6,3,7,0,8,4,9,2,10,5,11,1,12,6,13,3,14,7,15,0,16,8... < 1296957079 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: heh, what :) < 1296957116 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: beautiful... < 1296957127 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :@oeis 0,0,1,0,2,1,3,0,4,2,5,1,6,3,7,0,8,4,9,2,10,5,11,1,12,6,13,3,14,7,15,0,16 < 1296957130 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a(2n) = n, a(2n+1) = a(n). < 1296957130 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [0,0,1,0,2,1,3,0,4,2,5,1,6,3,7,0,8,4,9,2,10,5,11,1,12,6,13,3,14,7,15,0,16,8,... < 1296957175 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: thats so nifty < 1296957180 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :so beautiful < 1296957191 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :the visual of it.. < 1296957194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i would hit that < 1296957197 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hugs copumpkin < 1296957200 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :T_T < 1296957204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah copumpkin < 1296957207 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur needs some of your SCHOOLING < 1296957221 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :!c printf("%d\n", 0 || 23); < 1296957226 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :!c printf("%d\n", 0 || 0); < 1296957238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hey olsner < 1296957242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :while (wait(&st) != -1) < 1296957247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (WEXITSTATUS(st) != 0) < 1296957250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : ret = 1; < 1296957252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :COMPARE WITH < 1296957252 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1296957253 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1296957261 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :while (wait(&st) != -1) < 1296957263 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: who the fuck discovered that < 1296957263 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296957267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : ret ||= WEXITSTATUS(st); < 1296957269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :!c printf("%d\n", 0 || 23); < 1296957270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :BEAUTIFUL < 1296957272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OR BEAUTIFUL OLSNER < 1296957274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1296957276 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it might be &&= < 1296957279 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :augur: I saw Cale write it in #haskell a while back < 1296957287 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :damn cale < 1296957290 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1296957292 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1296957294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's ||= < 1296957300 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I think you want to fail if any child fails < 1296957305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: i already do < 1296957306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but i turned < 1296957309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if (x != 0) ret = 1; < 1296957310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :into < 1296957311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ret ||= x; < 1296957319 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now my program has only ONE LEVEL OF NESTING < 1296957323 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :NICE < 1296957324 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What language has ||=? < 1296957327 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: C < 1296957330 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1296957331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :c doesn't < 1296957331 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No < 1296957331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :omg < 1296957333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's the worst < 1296957334 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: lots of them < 1296957335 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why is c the worst? < 1296957342 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You can use |=. < 1296957348 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: not if WEXITSTATUS(st) > 1 < 1296957363 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although, the exit status having all the set bits of all the statuses is cool < 1296957364 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Do you need it to be exactly one? :-P < 1296957366 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. st1 | st2 | st3 ... < 1296957369 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :return !!res then, if you must < 1296957377 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Well, 2 is used for "usage error" and 3 for "catbus error". < 1296957392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: or I could just do < 1296957394 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ret = x?1:ret; < 1296957398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ret = ret || WEXITSTATUS(st); < 1296957407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: hey, that's even not incomprehensible < 1296957408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll take it < 1296957432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/FCLO < 1296957436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wonderful < 1296957531 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I wish modulo in C behaved well though < 1296957715 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm, can you recover stderr after duping it away? < 1296957720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipes[i ? i-1 : nprocs-1][0], 0); < 1296957720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipes[i][1], 1); < 1296957720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : execlp(shell, shell, "-c", cmd, NULL); < 1296957720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : perror("execl"); < 1296957723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the perror goes to a black hole as it is < 1296957725 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1296957727 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it shouldn't ... < 1296957730 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1296957744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'm confused now. < 1296957752 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you aren't duping away stderr :) < 1296957792 0 :iconmaster!unknown@unknown.invalid QUIT :Quit: see you all tomorrow! let's see if I can't get that Underload interpreter to work. < 1296957797 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: YEAH BUT IT DINT WORK < 1296957959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you know what C needs? < 1296957962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :else fall; < 1296957967 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :falls to the else in the previous branch < 1296957968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for instance < 1296957982 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if (argc > 1 && !strcmp(argv[1], "-s")) { < 1296957985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : argc--; < 1296957987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (argc > 1) { < 1296957989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : shell = argv[2]; < 1296957991 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : argc--; < 1296957994 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } else fall; < 1296957999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :} else if (argc < 2) { ... } < 1296958000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or < 1296958001 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait no < 1296958003 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that makes no sense :D < 1296958040 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :good, I hadn't started reading it :P < 1296958063 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: is there a neat way to get from fix (interleave [0..]) to a(2n) = n, a(2n+1) = a(n)? < 1296958122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (argc > 1 && !strcmp(argv[1], "-s")) { < 1296958122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : argc--; < 1296958122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (argc > 1) { < 1296958122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : shell = argv[2]; < 1296958122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : argc--; < 1296958123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } < 1296958125 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } < 1296958127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (argc < 2) { < 1296958131 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : fprintf(stderr, "usage: %s [-s shell] cmd ...\n", argv[0]); < 1296958133 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : exit(2); < 1296958135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } < 1296958137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: deugly that :P < 1296958139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(notably, "catbus -s" fails with the right error message) < 1296958162 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: press backspace, hold until not ugly < 1296958175 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that would remove feature!!!!! < 1296958184 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :exactly!!!!! < 1296958197 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :THAT WOULD REMOVE FUTURE < 1296958250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: but feature is useful! < 1296958251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1296958253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maybe it isn't < 1296958258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but it feels like if you want to do advanced pipe-fitting < 1296958264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you might wanna use a fancy shell or sth < 1296958298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hey i just realised catbus could operate on files < 1296958305 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :orly < 1296958311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catbus <(nc irc.freenode.net 6667) <(./hello) < 1296958347 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, but are those bidirectional files/pipes that you get? < 1296958371 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I think so, yes < 1296958388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1296958388 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and the programs would have to read from stdout? < 1296958389 0 :buttsbutts!~butts@91.105.71.61 JOIN :#esoteric < 1296958389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1296958392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296958397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :looks like it's only in < 1296958398 0 :buttsbutts!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296958401 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1296958496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (argc < 2) < 1296958496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : usage(); < 1296958496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : else if (!strcmp(argv[1], "-s")) { < 1296958496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (argc < 3) < 1296958496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : usage(); < 1296958497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : shell = argv[2]; < 1296958499 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : argv += 2; < 1296958501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : argc -= 2; < 1296958503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : } < 1296958505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :De-uglied :P < 1296958520 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I did that quite well < 1296958527 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: eh? :P < 1296958529 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd prefer shell = argv[0] afterwards < 1296958530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296958532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you sneaky < 1296958536 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: *argv[1] < 1296958546 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait no < 1296958549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes indeed < 1296958551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :argv[1] < 1296958552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :isn't it? < 1296958557 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :argv += 2 < 1296958566 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: yes < 1296958567 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hence argv[2] becomes argv[0] :-P < 1296958568 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :or *argv < 1296958571 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1296958577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: should be ++ then < 1296958585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :shell = argv[2]; < 1296958586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :argv++; < 1296958587 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :argc--; < 1296958590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but wait < 1296958596 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it should skip both -s and the shell thing < 1296958599 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so surely it should be += 2 < 1296958601 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aargh < 1296958633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :argv = {"/bin/catbus", "-s", "blah"}; < 1296958641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh rightd < 1296958642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*right < 1296958655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Why would you want it to be argv[0] before, though? < 1296958657 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*after, < 1296958658 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That seems uglier. < 1296958685 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd rather it reflect the state afterwards, so I don't have to think about where in argv it is now < 1296958696 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Since the value isn't dropped from argv < 1296958698 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Doesn't matter, nothing looks at it :P < 1296958700 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: :| < 1296958713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Arguably I should have a cmds variable that I just set to the correct start. < 1296958783 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :extra variables cost lots of characters, bad for golfing unless you get all of them back somewhere else :) < 1296958837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/hCCO It's uglier now :P < 1296958857 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/tmp/cave-2011-02-05-2.ogg <-- I got inspiration from another channel so you guys can all SUCK IT < 1296958858 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Than before it had -s or -v.) < 1296958877 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: but who inspired you to go there for inspiration? huh? < 1296958887 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296958893 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :olsner: ... fail. < 1296958922 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: What. < 1296958925 0 :TLUL_!~TLUL@wikia/The-last-username-left JOIN :#esoteric < 1296958936 0 :TLUL!unknown@unknown.invalid QUIT :Disconnected by services < 1296958936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: This is awesome btw. < 1296958940 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What was the inspiration>? < 1296958943 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*inspiration? < 1296958944 0 :TLUL_!unknown@unknown.invalid NICK :TLUL < 1296958991 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Somebody's writing a slow-paced sort of platformery adventury kind of game, this is supposed to be music for a cave level. < 1296959037 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :"slow-paced" isn't the right phrase, let's go with "mellow" < 1296959779 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :BTW: Inspiration for putting the bassoon in: A truck drove by at exactly the right time X-P < 1296959787 0 :Mathnerd314!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1296959797 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: fix (interleave [0..]) !! n can be computed really easily < 1296959798 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1296959801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Do something with a TECHNO BEAT < 1296959803 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :using binary < 1296959805 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets killed < 1296959814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix (interleave [1..]) < 1296959815 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [1,1,2,1,3,2,4,1,5,3,6,2,7,4,8,1,9,5,10,3,11,6,12,2,13,7,14,4,15,8,16,1,17,... < 1296959818 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix (interleave [100..]) < 1296959819 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [100,100,101,100,102,101,103,100,104,102,105,101,106,103,107,100,108,104,10... < 1296959825 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Nn-ts-nn-ts-nn-ts-nn-ts-nn-ts-nn-ts-nn-ts-nn-ts-nn-ts-nn-ts DONE < 1296959837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: *Cats-n-boots-n-cats-n-boots-n-... < 1296959853 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Oh yeah, that's right :P < 1296959857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix (flip interleave [0.]) < 1296959858 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : A section must be enclosed in parentheses thus: (0 .) < 1296959861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix (flip interleave [0..]) < 1296959865 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :gsub (binary n) /^(.+)01*$/ "\1" < 1296959865 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1296959896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix (0 : flip interleave [0..]) < 1296959897 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `[a -> t]' < 1296959897 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : against inferred type `m a1... < 1296959903 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix ((0 :) . flip interleave [0..]) < 1296959904 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [0,0,0,0,1,0,2,0,3,1,4,0,5,2,6,0,7,3,8,1,9,4,10,0,11,5,12,2,13,6,14,0,15,7,... < 1296959913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix (interleave [0..]) < 1296959914 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [0,0,1,0,2,1,3,0,4,2,5,1,6,3,7,0,8,4,9,2,10,5,11,1,12,6,13,3,14,7,15,0,16,8... < 1296959918 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1296959920 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's different < 1296959924 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix ((0 :) . flip interleave [1..]) < 1296959924 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ofcourse its different < 1296959925 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [0,0,1,0,2,1,3,0,4,2,5,1,6,3,7,0,8,4,9,2,10,5,11,1,12,6,13,3,14,7,15,0,16,8... < 1296959928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :study that! < 1296959932 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix ((0 :) . flip interleave [1..]) !! 999 < 1296959934 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 62 < 1296959937 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix ((0 :) . flip interleave [1..]) !! 9999 < 1296959937 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :> interleave [1..] < 1296959938 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Overlapping instances for GHC.Show.Show ([t] -> [t]) < 1296959938 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : arising from a use ... < 1296959940 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :What does that even do. < 1296959940 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1296959947 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix ((0 :) . flip interleave [1..]) !! 1000 < 1296959949 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 500 < 1296959987 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: check out the binary solution i provided above < 1296959992 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its from a friend. :T < 1296960008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1296960011 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now do it with bit twiddling < 1296960017 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :easy! < 1296960034 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :> interleave [1..] < 1296960035 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Overlapping instances for GHC.Show.Show ([t] -> [t]) < 1296960035 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : arising from a use ... < 1296960038 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :What does interleave do? < 1296960040 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::v < 1296960056 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :while n & 1; n >>= 1; end; n >>= 1 < 1296960084 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: interleave takes two lists and interleaves them < 1296960090 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1296960102 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :> interleave [0,1,2] [10,11,12] < 1296960103 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [0,10,1,11,2,12] < 1296960173 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :so.... < 1296960187 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :> interleave [1..] [2..] < 1296960188 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,1... < 1296960241 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :is there a function that does intercal's mingle? < 1296960252 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1296960306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: lol < 1296960311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :isn't that interleave < 1296960319 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> interleave [a,b,c] [x,y,z] < 1296960320 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [a,x,b,y,c,z] < 1296960350 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :no. mingle interleaves bits of numbers! < 1296960470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: yes < 1296960471 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> bits 123 < 1296960472 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Not in scope: `bits' < 1296960482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1296960483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1296960502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> map testBit [0..] < 1296960503 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Ambiguous type variable `a' in the constraints: < 1296960503 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : `Data.Bits.Bits a' < 1296960503 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : ... < 1296960506 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> map testBit [0..] (3::Int) < 1296960507 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `GHC.Types.Int -> t' < 1296960507 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : against inferred ... < 1296960514 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::t map testBit [0..] < 1296960515 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Ambiguous type variable `a' in the constraints: < 1296960515 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : `Bits a' arising from a use of `testBit' at :1:4-10 < 1296960515 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : `Enum a' < 1296960522 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> map (flip testBit) [0..] (42::Int) < 1296960523 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `GHC.Types.Int -> t' < 1296960523 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : against inferred ... < 1296960531 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::t map (flip testBit) [0..] < 1296960531 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall a. (Bits a) => [a -> Bool] < 1296960539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::t mapM (flip testBit) [0..] < 1296960540 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall a. (Bits a) => a -> [Bool] < 1296960547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> mapM (flip testBit) [0..] (42::Int) < 1296960549 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [False,True,False,True,False,True,False,False,False,False,False,False,False... < 1296960565 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let bits n = mapM (flip testBit) [0..bitSize n] in bits (1::Int) < 1296960566 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Overlapping instances for GHC.Show.Show (a -> [GHC.Bool.Bool]) < 1296960567 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : arising f... < 1296960572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let bits n = mapM (flip testBit) [0..bitSize n] n in bits (1::Int) < 1296960574 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [True,False,False,False,False,False,False,False,False,False,False,False,Fal... < 1296960577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1296960581 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296960582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296960624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let bits = mapM (flip testBit) [0..]; mingle m n = interleave (bits m) (bits n) in mingle (2::Int) (3::Int) < 1296960625 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [False,True,True,True,False,False,False,False,False,False,False,False,False... < 1296960629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. < 1296960649 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mingling of 10_2 and 11_2 = 1110_2 < 1296960651 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not sure that's right, but :D < 1296960761 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296960806 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: ok, as soon as error reporting works, this is catbus 1.0 :P < 1296960813 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I bet cpressey comes back all OH NO THAT'S NOT HOW IT WAS MEANT TO WORK < 1296960842 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :wow, already < 1296961082 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: well, I dropped the -s feature. < 1296961085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since it's pretty useless really. < 1296961095 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* < 1296961098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (fork()) return; < 1296961098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipes[i ? i-1 : nprocs-1][0], 0); < 1296961099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dup2(pipes[i][1], 1); < 1296961099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : write(2,"hi\n",3); < 1296961099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : execlp("/bin/sh", "/bin/sh", "-c", cmd, NULL); < 1296961099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : perror("execl"); < 1296961101 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : exit(3); < 1296961103 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :--> hi is never seen. < 1296961108 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :forking + shared fds = happyness?? < 1296961121 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :didn't I already say it was an unnecessary feature? :) < 1296961236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: aaaand it works before the dup2s < 1296961243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :conclusion: dup2ing stdin/stdout = no more stderr. < 1296961265 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, if stderr == stdout, maybe closing stdout will also close stderr somehow < 1296961273 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but that seems weird too < 1296961288 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes to fd 3 instead < 1296961299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@elliott-MacBookAir:~/Code/catbus$ ./catbus ls 3>x < 1296961299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@elliott-MacBookAir:~/Code/catbus$ cat x < 1296961299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@elliott-MacBookAir:~/Code/catbus$ < 1296961300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol what? < 1296961307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :conclusion: dup2 BREAKS EVERYTHING < 1296961322 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :catbus? < 1296961325 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :What is that supposed be? < 1296961327 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :A challenge of some sort? < 1296961332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :A thing! < 1296961347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm, i'm gonna remove all the different error codes since i just realised my architecture breaks it :D < 1296961349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because spawn does exit(3) < 1296961350 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but that's the child < 1296961355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it just turns into exit status 1 in the parent < 1296961370 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what is this catbus thing? < 1296961380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: a Unix pipe-fitting utility < 1296961383 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catbus cmd1 cmd2 cmd3 < 1296961383 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is like < 1296961386 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cmd1 | cmd2 | cmd3 < 1296961389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :except cmd3 is then tied to cmd1 < 1296961392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. < 1296961396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cmd1's output goes to cmd2 < 1296961398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cmd2's output goes to cmd3 < 1296961401 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cmd3's output goes to cmd1 < 1296961452 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1296961458 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Where does input to catbus go? < 1296961459 0 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1296961476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: The bit bucket :P < 1296961482 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1296961494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If I did it in the way I _think_ it might have been intended, it would go to every process. But. < 1296961529 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :So. < 1296961532 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :What use would this be again? < 1296961544 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :shell pipe fixpoints < 1296961564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what olsner said : < 1296961565 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296961574 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I am back now in case you have other question. < 1296961574 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catbus '(echo y; cat) | tee /dev/fd/2' 2>&1 < 1296961577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ that's the same as "yes" < 1296961578 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, pipe fixpoints! the shell isn't necessarily involved < 1296961587 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I will fix the thing you said wrong. < 1296961694 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :OK I fixed it, now it has "#!/usr/bin/env bash" instead of "#!/bin/bash". < 1296961709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1296961715 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you may want a space after #! < 1296961716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :some systems require that < 1296961801 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Can you show me where is the document that says that? < 1296961858 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: I forget. < 1296961965 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I have seen on Wikipedia where it says blanks after ! are OK, but it does not say such things are required. < 1296961976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :only on some systems < 1296962029 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Which systems? < 1296962067 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :don't know exactly < 1296962073 0 :augur!~augur@208.58.6.161 JOIN :#esoteric < 1296962342 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I did find something that says it is rumored but is not confirmed. "It is rumored that some systems only recognize an executable script when it starts with the four bytes `#! /', probably because the GNU autoconf manual says so, but it seems impossible to find confirmation for this rumor." < 1296962723 0 :Lymia!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296962752 0 :Lymia!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296962771 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296962771 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296962935 0 :elliott!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296963495 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: That would be one bizarrely-broken system. < 1296963911 0 :Lymia!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296963937 0 :Lymia!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296963953 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296963953 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296963997 0 :azaq23!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296964632 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I do not know of any such system either, I just have it for now without a space after ! < 1296964991 0 :Mathnerd314!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296965059 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Gregor. < 1296965076 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Highlighting: You're doing it wrong. < 1296965081 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1296965086 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :May I suggest that you modify egojoust to make it run once with + - polarities normal. < 1296965096 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Wait. < 1296965115 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :You run it once with polarities normal, and once with one program's swapped, right? < 1296965145 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but that's done by report.c, not egojoust.c (IIRC) < 1296965166 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :egojoust dosn't do that? < 1296965182 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Are you sure? < 1296965185 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Nope :) < 1296965197 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :*pokes at the code* < 1296965236 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric : for (polarity = 0; polarity < POLARITIES; polarity++) { < 1296965236 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric : /* set up the polarity */ < 1296965242 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric : for (tapelen = MINTAPELEN; tapelen <= MAXTAPELEN; tapelen++) { < 1296965245 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Then what's all this in egojoust.c < 1296965292 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Nope, you're right :P < 1296965299 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :egojoust does the running in every mode. < 1296965310 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Also. < 1296965317 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :May I ask why those are on the same indentation level. < 1296965323 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Confused me for a second when I glanced over the code. < 1296965337 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :(Wait, what? Why is it looping over the polarities, then entering another loop?) < 1296965346 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, it does run once with polarization normal. < 1296965361 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :When POLARITY = 3 < 1296965368 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :s/POLARITY/polarity/ < 1296965380 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Err, vice-versa, when it's 0 :P < 1296965396 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't it be impossible to tie if you didn't run it with both swapped. < 1296965423 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That would give unfair advantage to swap. < 1296965434 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Swap? < 1296965443 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Both swapped is identical to neither swapped, and one swapped is identical to the other swapped. < 1296965460 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1296965504 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: to make it COMPLETELY FAIR, it should run once with all + and - swapped each uniformly at random < 1296965516 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296965528 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, finally. To get the number of points a program has won, you take abs(return)/(21*4) right? < 1296965534 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :And if return is zero, it's a tie. < 1296965538 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :If return is negative, left has won. < 1296965543 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :And if return is positive, right has won. < 1296965556 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Seems that way. < 1296965815 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Do you believe how badly the English language functions work in MSE? < 1296965856 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :MSE? < 1296965867 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: MSE = Magic Set Editor < 1296965873 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1296965878 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :You use that? < 1296965878 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::s < 1296965914 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: I used to use that, now I don't because I write a new program called TeXnicard. < 1296966076 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :In MSE, you get "101th" when converting 101 to English ordinal. In TeXnicard, you get "101st" or "one hundred first" (depending on which command you use). < 1296966112 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :("101st" is correct; even Wikipedia says so.) < 1296966975 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hugs Gregor <3 < 1296968033 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hugs Gregor? < 1296968052 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Highlighting: You're still doing it wrong. < 1296968062 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I'm hugging you! < 1296968075 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I'm incorporeal, and as such unhuggable. < 1296968110 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1296968658 0 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1296968757 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Where do you think chess was invented first, India or China? < 1296968888 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: I do not think you can hug them by computer. < 1296968911 0 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1296968926 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I don't think Chess was "first invented" < 1296968947 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Or rather, "invented first" :P < 1296968971 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It slowly evolved, it's hard to say which game first in the middle counts as "Chess" < 1296969046 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Do you know how Xiangqi is played? < 1296969053 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Nope < 1296969072 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Do you know how Chaturanga is played? < 1296969100 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Nope < 1296969105 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I barely know how Chess is played :P < 1296969131 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Why? What things about Chess do you not know? < 1296969164 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I know the rules, not how it's played. < 1296969174 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Have you never played? < 1296969216 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Do you know anything about Xiangqi or Chaturanga at all? < 1296969380 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I've played Chess, but that doesn't mean I know how, and I know nothing of the latter two. < 1296969542 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Weird question: is there something you can do with sound/music to make it sound better on tinny speakers? Sort of adapt it to the expectation that it'll be played on speakers that suck ... < 1296969553 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Chaturanga is not played much any more and is only of historical interest. It is like Chess, but there is no castling, no pawn initial double step, the queen moves one diagonal, the bishop moves exactly two diagonal (leaping), stalemate wins for the stalemated player, and pawns only promote to lost pieces the same as the kind of piece in the that position in the initial setup. < 1296969680 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Xiangqi is very popular today and it is also called "Chinese Chess". It is played on 9x10 board, only 5 pawns for each player at the start, horses and elephants cannot jump, there is a river in the middle, kings cannot leave the palace and are not allowed to look at each other, and there is also cannons. < 1296969701 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has been playing Go < 1296969724 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :What does "look at each other" mean? < 1296969761 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: It means they are in the same column and there are no pieces in between. Any move that causes such a position is an illegal move. < 1296969783 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, play Go! < 1296969860 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: I have played Go, too. I am not very good, but I did play once against someone in my school who was better since he was Japanese. I was better at Shogi, though, than him. He gave me a Shogi game as a gift. < 1296969926 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: About tinny speakers, I don't know, have you tried changing the equalizer? < 1296969960 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but just poking around at it doesn't really suggest much to me (and I'm no audiophile) ... was hoping somebody would have more specific ideas. < 1296970007 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Unfortunately I do not have any more specific ideas. Maybe someone else in this channel might, but I do not think so. < 1296970194 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :At least it is worth a try. < 1296971294 0 :Lymia_!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296971300 0 :Lymia!unknown@unknown.invalid QUIT :Disconnected by services < 1296971301 0 :Lymia_!unknown@unknown.invalid NICK :Lymia < 1296971301 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296971301 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296972852 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :gregor: there is something you can do. there is, in fact, an algorithm < 1296972868 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Look up a device called the zo personal music something or other < 1296972990 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That seems more "device" than "algorithm" ... < 1296973000 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :waitwtf < 1296973012 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :You just plug it in between speakers and a device? < 1296973017 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1296973018 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :So it's an expensive algorithm in a shiny box :P < 1296973023 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1296973062 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Has anybody reverse-engineered it though? (Or is it just some well-known algorithm?) < 1296973090 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i think it's proprietary. and i've not heard of anyone deblackboxing it. < 1296973100 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1296973111 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :this is an existence proof. sorry i couldn't be more constructive. < 1296973116 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Heh :) < 1296973867 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, meh. < 1296973876 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :First version of the BF joust evolver. < 1296973891 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :"Meh" doesn't sound like "COMPLETE SUCCESS" < 1296973905 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Clone->Mutate->Fight->Isolate highest scoring bots->Clone->... < 1296973919 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I might add crossovers, etc if I can figure out a sensable way to add them. < 1296974069 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Gregor. < 1296974070 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Quick question. < 1296974077 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :(a{b}c{d}e)*2 < 1296974084 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :That is evaluated as aabccdee right? < 1296974109 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Why do you expect me to remember things I wrote so long ago X-P < 1296974117 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Dunno! < 1296974139 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure ais would have yelled at me if I'd done it wrong. < 1296974170 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test {<} < 1296974210 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :EgoBot: Hello? < 1296974256 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_test: 0.0 < 1296974268 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :lawl *sleep* < 1296974592 0 :Zuu!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296974595 0 :Zuu_!zuu@unaffiliated/zuu JOIN :#esoteric < 1296974818 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: my reading of the wiki page spec is that that is not necessarily legal syntax, i don't know what implementations actually do. < 1296974878 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in fact i think at least one implementation used a pushdown automaton method which wouldn't support that < 1296974886 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(very vaguely recalled) < 1296975024 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: in fact the command about needing square bracket matching doesn't make sense as written with your syntax < 1296975027 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*comment < 1296975034 0 :azaq23!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1296975080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there's probably some way to rewrite it so it does, though < 1296975161 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well just requiring bracket matching in c would work < 1296975240 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm or maybe you actually just need to consider matching in ace as a whole < 1296975245 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(in addition to b, d < 1296975287 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :) < 1296975414 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm lessee < 1296975515 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :([[{}]{}])%2 then = [[[[ ]] ]] but there's a subtlety: one of the two ]'s arising from the middle does _not_ match a [ arising from the one it syntactically matches originally < 1296975526 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which seems unintuitive to say the least < 1296975631 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which means that for all _real_ purposes, you probably want to just use (a{b(c)*nd}e)%n instead < 1296975674 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well naturally you could rewrite the (a{b}c)%n as (a)*n b (c)*n too < 1296975685 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait no < 1296975705 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's precisely when _not_ each of a and c match separately it's useful < 1296975780 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh and my "unintuitive" above can also be taken to mean "cannot be run efficiently without actually expanding it to what it's an abbreviation of" < 1296975795 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well not obviously anyway < 1296975828 0 :Lymia!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296975857 0 :Lymia!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296975897 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Do you have any public domain copy of the deutrocanonical books? < 1296975913 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(Also known as apocrypha) < 1296976008 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Pretty sure there should be some translations thereof on Project Gutenberg. < 1296976055 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: OK. I have a full copy of the KJV in my gopher service but the other books that are not included in KJV still have to be added. < 1296976166 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: why are you collecting the christian mythos? < 1296976195 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: The KJV should actually have the apocrypha. < 1296976250 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: really? i've never known it to? < 1296976253 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: I have various plain ASCII text files collected. < 1296976261 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: Though not doctrine, they are considered "important" and "divinely inspired" in the Anglican church. < 1296976283 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: Some printings may omit it, but it *is* a part of the same translation. < 1296976302 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: do you use them for anything? < 1296976329 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: Sometimes I look, but mostly it is just for service. < 1296976339 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296976339 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296976362 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: is it a public collection on the web? < 1296976364 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: http://en.wikisource.org/wiki/Bible_%28King_James%29/1_Esdras Here's the start of the King James Apocrypha. < 1296976392 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: It is publicly available at: gopher://zzo38computer.cjb.net/1textfile and at http://zzo38computer.cjb.net/textfile/ < 1296976507 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :They are not currently accessible by teletype or fax. < 1296976550 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :ah, so you do have a sense of humor :P < 1296976585 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :so what did you think of ETAS? you're the one who inspired it, surely you have a comment. < 1296976617 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Just let me look one more time. < 1296976660 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I think it is not bad. < 1296976738 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I think I have once read a letter someone sent to some magazine where they suggested calling 2 bits a "crumb". < 1296976747 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: is this also a mirror of textfiles.com? < 1296976766 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh that's not a bad idea. i might change it to that. < 1296976781 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: Some of the files are such a mirror. Others I added myself. < 1296976799 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Also, it is does not have all of the textfiles.com files either. < 1296976803 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1296976933 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :EAT? < 1296976935 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :EATS/ < 1296976938 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ETAS> < 1296976942 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :GAHAhAHAHA < 1296976945 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Actually here is a proper URL: gopher://zzo38computer.cjb.net:70/1misctext < 1296976952 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(The other URL is wrong) < 1296976967 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :the http URL worked tho, and ff doesn't support gopher anymore anyway :P < 1296976986 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :My mind has given up the gost < 1296976988 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ghost < 1296976997 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :sleep then? < 1296977003 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :you know it's almost 3 in the morning right? < 1296977004 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I need to eats < 1296977021 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: do you think ETAS is TC? intuitionally? < 1296977098 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: I find that question difficult. < 1296977119 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :me too, but i feeeeeel like it might be. < 1296977121 0 :asiekierka!~asiekierk@178235033089.elblag.vectranet.pl JOIN :#esoteric < 1296977141 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it might be. < 1296977164 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :If ff doesn't support gopher anymore, use a different client such as Bash Gopher. < 1296977187 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1296977212 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :That is OK; you do not have to. These files are available on HTTP as well. < 1296977321 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :are you in quebec? < 1296977387 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :No. You should be able to see my service provider is not in Quebec? < 1296977510 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i didn't bother to whois you :P < 1296977563 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I will tell you, I am in British Columbia. But even IRC protocol sends the address with each message, too. < 1296977616 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :...do you use raw irc? < 1296977712 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I use a IRC client I wrote by myself. I think it is the only one following the RFC, someone on this channel tested that, I think. < 1296977794 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: zzo38 *is* in fact a native English speaker. His usage of English is just decidedly odd. < 1296977832 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i had concluded as much < 1296977865 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i had to ask though because his usage is very similar to a non-native speaker I know in Quebec < 1296977909 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And yet, he's not Quebecois. Go figure. < 1296977978 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: what did you write it in? < 1296978035 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: PHP, but if I ever rewrite it, it will not be in PHP. And it uses PuTTY as a terminal window. < 1296978044 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Can't you check that using VERSION command? < 1296978091 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :sure can! :P < 1296978111 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :but your description of it was better < 1296978137 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :in which way is it the only one following the RFC? < 1296978247 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I think it is the only one where CTRL+A and commands can be placed in the middle of another text. I think someone on this channel has tested that feature. < 1296978310 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it is the only one that will accept commands in that way. < 1296978324 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(Other clients just ignore such commands) < 1296978349 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh you mean it won't put the ^A character in the middle of a message? < 1296978353 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :for instance < 1296978360 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, have you ever used a different IRC client? < 1296978397 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: Yes once, and it isn't very good that is why I wrote my own. < 1296978397 0 :myndzi!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296978429 0 :myndzi!myndzi@c-24-19-39-178.hsd1.wa.comcast.net JOIN :#esoteric < 1296978441 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: My client will allow putting any characters anywhere in a message. What I mean is when ^A character is in the middle of a message, other clients will ignore it, while my client will accept and understand the command. < 1296978476 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i sort of get it, i guess? < 1296978513 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :You might be able to find that in the IRC logs for this channel. < 1296978521 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :right < 1296978732 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :echo misctext/dream | nc -q -1 zzo38computer.cjb.net 70 | less < 1296978819 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1296978892 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Apparently someone (not me) had a dream once that ended in credits. < 1296978898 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i saw that < 1296978904 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :is the * really you < 1296978949 0 :Lymia_!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296978955 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I am not sure actually. Since it is a dream, I do not know if I can remember accurately or not. < 1296978971 0 :Lymia!unknown@unknown.invalid QUIT :Disconnected by services < 1296978972 0 :Lymia_!unknown@unknown.invalid NICK :Lymia < 1296978973 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296978973 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296979017 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i remember several of my dreams. not accurately probably, but i do know it was me that had the dream < 1296979054 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :sometimes i've had dreams that i was convinced would be great movie or tv show inspirations < 1296979098 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: what is your primary language of choice? like if you just wanted to throw together a tool real quick? < 1296979116 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: It depends a lot on what tools I wanted to throw together. < 1296979144 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :okay? example? < 1296979199 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I have used shell scripts for some things, Forth for some things, C for some things, Javascript for some things, QBASIC for some things, PHP for some things..... < 1296979199 0 :clog!unknown@unknown.invalid QUIT :ended < 1296979200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1296979229 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1296979263 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :And also AWK. < 1296979279 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :never quite got the hang of awk... < 1296979384 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :One of the utility programs that comes with TeXnicard for making a book from the "plain.cards" file is written in awk. I also wrote a program in awk to calculate totals and summaries from logs of drive wiping. < 1296979428 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :when do you use Forth? < 1296979493 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I have once written a quick program in Forth to decode the level files from StroQ. < 1296979557 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :the most i ever did with forth is the first few PE problems. then i got pissed off at its data types and how hard it is to do floating point stuff and gave up < 1296979569 0 :hagb4rd!~hagb4rd@koln-4db4f334.pool.mediaWays.net JOIN :#esoteric < 1296979883 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :The reason for that conversion program was because I was porting that game to the GameBoy. < 1296980113 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i'm not familiar with the game actually < 1296980366 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I have the ROM file, which I have wrote it myself. < 1296980404 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i don't have a gameboy < 1296980422 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :one time i wanted to port conquest to my calculator, but i never did it < 1296980437 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: You can also use a emulator. < 1296980450 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh, yeah. < 1296980459 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :what is the original written in? < 1296980541 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: I don't know. I rewrote the game engine and just copied some of the levels. But I added some of my own levels and other stuff too, to make 256 levels in total. < 1296980568 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :mmm < 1296980739 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Do you know? Some business had a form you have to fill for booking annual leave (holiday/vacation), but you had to select a reason from the list. The list included, as well as "Holiday", also things like "Acne", "Authorised Sabatical Leave", "Compassionate", "Ear Infection", "Hearing Loss", "Ill", "Sickness", "Drug Abuse / Dependance", "Surgery - Thumb", "Pelvic(F Only) C Mskele other", and others. < 1296980776 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :where did you find this? < 1296980801 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I think it was on Daily WTF. < 1296980825 0 :nddrylliog_!~ndd@cable-213.214.45.84.coditel.net JOIN :#esoteric < 1296980843 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296980887 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :One possibly reason for this strange things is that they took the program from another company where the employees filled in everything themself and then made a list of it. < 1296980908 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :that's what i figured < 1296980946 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Also, this form is not meant for anything other than vacation, so the reason list is irrelevant. < 1296980965 0 :nddrylliog_!unknown@unknown.invalid NICK :nddrylliog < 1296980997 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :right < 1296982140 0 :nddrylliog!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296982538 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I have experimented once with having cards in Magic: the Gathering that has "lose priority" as part of its cost. < 1296982743 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i played MTG once < 1296982753 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :you wouldn't happen to want a deck would you? < 1296982784 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :I'll sell you one including a "Mercenary Knight" and a "Faerie Conclave" for $8.25 plus shipping < 1296982791 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :(not sure what that is in CAD) < 1296982902 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I want not any deck. I prefer to play only Limited. < 1296982947 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :What can you figure out from this? ~ has "Lose priority: This ability does nothing. Any player may play this ability." Whenever that ability would resolve (if this ability is still in play), instead the ability's controller selects one of his/her opponents, and that player wins the game. If that player would win the game in this way, instead the ability's controller wins the game. < 1296983148 0 :TLUL!unknown@unknown.invalid QUIT :Quit: *disappears in a puff of orange smoke* < 1296983183 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :sounds complicated < 1296983198 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i don't know enough MTG to figure out why it would be useful though < 1296983331 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Actually it is my attempt at a "fixed" version of the following (also non-existent) card: {0}: You win. Any player can play this ability. < 1296983384 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :It is vastly overpowered, which is why I have attempted to correct it. < 1296983409 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296983830 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I have once in a tournament (a booster draft) finished in second place, but only because my score was not computed correctly. I should have got first place. My opponent quit in the middle of the second game of a match, because he did not like the rules. I was arguing with him about what the rules are, so he called a judge and the judge agreed I was correct, so he quit. < 1296983950 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :However, that was the only tournament in which I did not finish in last place. < 1296984005 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :HA < 1296984187 0 :Lymia_!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296984195 0 :Lymia!unknown@unknown.invalid QUIT :Disconnected by services < 1296984195 0 :Lymia_!unknown@unknown.invalid NICK :Lymia < 1296984196 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296984196 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296984273 0 :asiekierka!unknown@unknown.invalid QUIT :Ping timeout: 250 seconds < 1296984673 0 :kar8nga!~kar8nga@j-75.vc-graz.ac.at JOIN :#esoteric < 1296985151 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Apnic extended statistics file has 3.121612548828125 blocks free... But apparently APNIC will also get 1.54 blocks from VARIOUS (not yet shown in the stats). If there won't be panic, that is enough to push APNIC depletion to end of June (at 1 block per month rate)... < 1296985161 0 :MigoMipo!~John@84-217-15-6.tn.glocalnet.net JOIN :#esoteric < 1296985187 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :is it purely coincidence that panic is an anagram of apnic? < 1296985269 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I think APNIC is the one most vulernable to panic, but the others in big three are by no means invulernable. Looks like the other two won't get very much, at least until big three deplete. < 1296985372 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Counting blocks from VARIOUS, APNIC has something like 4.67 blocsk left (not counting the reserved block). < 1296985800 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Seems like counting VARIOUS but not counting reserved blocks, APNIC has the largest pool. < 1296985822 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :and the overwhelmingly fastest depletion rate < 1296985871 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :APNIC allocates about half of all the addresses allocated (and the ratio is increasing). < 1296985997 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... Maybe "% allocated" vs. "% time" curves for last 13 whole months for all RIRs would tell something... < 1296986018 0 :hagb4rd!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296986019 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :(in practicular, how linear those curves are). < 1296986142 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::> < 1296986148 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Framework for my BF Joust evolver is done. < 1296986154 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :All I need to do now is to implement the mutation routine. < 1296986198 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust silly -+---<-+->+->---+><<-+>+-<>-+> < 1296986272 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_silly: 0.0 < 1296986316 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Well, actually I'll pick 2010-01-01, 2011-02-04 as that interval has 400 days... < 1296986331 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :is that something your prog generated Lymia? < 1296986354 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1296986357 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's completely random. < 1296986357 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1296986372 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Again. < 1296986373 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :mm < 1296986376 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I need to implement mutation. < 1296986399 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :This one got through by virtue of dying the slowest. < 1296986400 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1296986445 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: i blathered on a bit above about why (a{b}c{d}e)%n doesn't make much sense, see logs < 1296986480 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1296986524 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(basically if c matches internally, just use (a{b(c)*nd}e)%n. otherwise, brackets in a c and e might not match after expansion the other brackets that they visually match before.) < 1296986676 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Bluh. < 1296986680 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Two last things I need to implement. < 1296986693 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Reading BF Joust programs to internal representation, and mutation. < 1296986693 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::s < 1296986696 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's 4:22AM < 1296986788 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh. you're central time. a midwesterner? < 1296986800 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1296986830 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :when did you wake up yesterday? :P < 1296986843 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Noon < 1296986844 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1296986847 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Urg. < 1296986849 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :me too < 1296986853 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :and i drank so much coffee < 1296986860 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :147 line Scala program just generated 42 freaking classes. < 1296986866 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1296986877 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, Scala compiles to JVM bytecode. < 1296986888 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Appearently each lambda expression is compiled to it's own class. < 1296986888 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::s < 1296986894 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1296986900 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :wat=that's ridiculous < 1296986921 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Each "object XXX" is compiled into a "XXX.class" and a "XXX$.class" < 1296986946 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :well, each one is small in terms of total bytecodes i hope < 1296987234 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: and why can't I PM you? < 1296987595 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm you are both registered, so it's not that < 1296987822 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Picking last two months, now the rate seems to be something like 1.1x/8 a month. December was already quite active and seems January was even more so... < 1296988014 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :At rate of 1.3x/8 a month, the pool would last only about 3.6 months (end of May). < 1296988150 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Judging from forward projection lengths, real problems with IPv4 depletion start around end of the year... < 1296988239 0 :zzo38!unknown@unknown.invalid QUIT :Quit: EOT < 1296988241 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :As that's when ISPs start to run out of addresses, unable to get more. < 1296988857 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1296988858 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1296988914 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :as long as they don't start before world ipv6 day < 1296988917 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :that's the important thing < 1296988985 0 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1296989218 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1296989478 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1296989629 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And that really means major problems of class "better have IPv6 widely deployed before then". < 1296989768 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1296989786 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Looks like there arn't any crash bugs in my BF Joust evolver... < 1296989793 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to let it run for a night and see what comes out. < 1296990451 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust completely_random .>[[()*7].][(()*5)*3-[[]<[]()*7-<]]>[>.>>.][>()*8<]+(+->+[+[]()*12(()*5-[(.[[[[[][]](.)*1>][-][]]]<+)*3[]((()*1[]>)*1)*9+()*3[]][[]+[>][]>]()*2>+-)*3]>)*6-.+.++(()*9[>][()*4.<[]-])*4 < 1296990577 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_completely_random: 0.0 < 1296990626 0 :Zuu_!unknown@unknown.invalid NICK :Zuu < 1296990890 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :lul < 1296991034 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :(If you have to ask, I did that to make sure that there were no bugs in the muation engine) < 1296991080 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :(Well... no obvious bugs...) < 1296991100 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :(I'll be pissed if I find the evolver crashed when I wake up) < 1296991108 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Night! < 1296991518 0 :asiekierka!~asiekierk@178235033089.elblag.vectranet.pl JOIN :#esoteric < 1296991620 0 :fxkr!unknown@unknown.invalid QUIT :Quit: kernel update < 1296991762 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :http://i.imgur.com/1N8AH.png < 1296991774 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :CONCLUSION: Patrick Stewart does not age. < 1296991803 0 :fxkr!~fxkr@unaffiliated/fxkr JOIN :#esoteric < 1296992824 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (f)(c)a(~)*~a(~^)*a(~^)*SS < 1296992824 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :((f)~^)~^(c)~ < 1296992919 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (f)(c)a(~)*~a(~^)*a(~^)**SS < 1296992919 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(c)~((f)~^)~^ ...out of stack! < 1296992988 0 :Cheery!~cheery@a88-113-50-171.elisa-laajakaista.fi JOIN :#esoteric < 1296993458 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION welcomes Cheery on general principles < 1296993488 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296993534 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (SS)(e2)(a(~)*~a(~^)*a(~^)**)~*a(~a)~(*~^)**~^ < 1296993534 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :~a(a(~)*~a(~^)*a(~^)**e2)*~^ ...out of stack! < 1296993545 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :THINGS THAT ANNOY ME PART 76: < 1296993556 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Why doesn't dc have a pop instruction? < 1296993624 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It is literally impossible to remove the top of the stack without either designating a bit bucket somewhere or using some witchcraft with the conditionals. < 1296993656 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i assume designating a bit bucket isn't _that_ awkward... < 1296993673 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :given 256 registers iirc < 1296993681 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :d!=r should actually work, come to think of it. < 1296993710 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Since the conditional instructions are the only ones which remove an item from the stack without any side effects, assuming they're false. < 1296993828 0 :sebbu!~sebbu@ADijon-152-1-27-215.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1296994001 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (e1)(e2)a(~)~(~^)**a(a)~(*)**a~*SS < 1296994001 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~(e2)~^)*)e1 ...out of stack! < 1296994034 0 :sebbu2!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1296994080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (e1)(e2)a(~)~(~^)**a(a)~(*)**~*SS < 1296994080 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :a(~(e2)~^)*e1 ...out of stack! < 1296994911 0 :sebbu!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296994937 0 :sebbu!~sebbu@ADijon-152-1-27-215.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1296996476 0 :Phantom__Hoover!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296996624 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (z)(c)a(~)*~a(~^)*a:(y)*a(~^)*a(*)*~*^aSaS < 1296996624 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :((z)~^)((c)~(((z)~^)y)~^) < 1296996668 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (z)(c)a(~)*~a(~^)*a:(y)*a(~^)*a(*)*~*^aSaSaS < 1296996668 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :((z)~^)((c)~(((z)~^)y)~^) ...out of stack! < 1296997731 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (y)(c)~a(a(~)*~a(~^)*a:)~(*a(~^)*a(*)*~*^x)**a(~a)~(*~^)**~aSaSaS < 1296997731 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(c)(~a(a(~)*~a(~^)*a:(y)*a(~^)*a(*)*~*^x)*~^) ...out of stack! < 1296997946 0 :nddrylliog!~ndd@vpn-a-183-228.epfl.ch JOIN :#esoteric < 1296997970 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (y)((aSaS)~((z)~^)~^)~a(a(~)*~a(~^)*a:)~(*a(~^)*a(*)*~*^x)**a(~a)~(*~^)**~^ < 1296997970 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...bad insn! < 1296997988 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :Underload <3 < 1296998009 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now why did it do that < 1296998099 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (y)(aSaS)~a(a(~)*~a(~^)*a:)~(*a(~^)*a(*)*~*^x)**a(~a)~(*~^)**~^ < 1296998099 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(~a(a(~)*~a(~^)*a:(y)*a(~^)*a(*)*~*^x)*~^) ...out of stack! < 1296998174 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm that looks correct < 1296998294 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (y)((aSaS)~((z)~^)~^)~a(a(~)*~a(~^)*a:)~(*a(~^)*a(*)*~*^x)**a(~a)~(*~^)**~^ < 1296998294 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...bad insn! < 1296998328 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (y)((aSaS)~(aSaS(z)~^)~^)~a(a(~)*~a(~^)*a:)~(*a(~^)*a(*)*~*^x)**a(~a)~(*~^)**~^ < 1296998328 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :((aSaS)a(~)*~a(~^)*a:(y)*a(~^)*a(*)*~*^x) ...out of stack! < 1296998360 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :it would be nice if fungot pointed out exactly where the error lied < 1296998361 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: i couldn't find anything for puffs. ( i use that :) what is a lambda function, but i'm also interested in distributed systems in the presence of call/ cc, < 1296998384 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :fungot: interesting random semi-believable text generation algorithm you have there < 1296998385 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i could easily add some printing < 1296998385 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: printf is even more powerfull than this .el? (: i'm used to clos in scheme, < 1296998412 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fungot is eerily clairvoyant < 1296998412 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no one answered < 1296998540 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (z)(aSaS)a(~)*~a(~^)*a:(y)*a(~^)*a(*)*~*^x < 1296998540 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...bad insn! < 1296998555 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's what it should pass through < 1296998581 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait duh < 1296998625 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's entirely correct, it should try to run the x. my fault for putting a dummy variable there :D < 1296998642 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (z)(aSaS)a(~)*~a(~^)*a:(y)*a(~^)*a(*)*~*^aSaSx < 1296998642 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :((z)~^)((aSaS)~(((z)~^)y)~^) ...bad insn! < 1296998664 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :...that's not expected < 1296998672 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1296998694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i just didn't exhaust the stack < 1296999310 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296999401 0 :Sgeo__!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1296999494 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (aSaSaSx)(((c)~((z)~^)~^)~((y)~^)~^)~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^ < 1296999494 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :((z)~^)((c)~(((z)~^)y)~^) ...out of stack! < 1296999561 0 :Sgeo_!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296999921 0 :HackEgo!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1297000029 0 :EgoBot!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1297000029 0 :lambdabot!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1297000058 0 :EgoBot!~EgoBot@codu.org JOIN :#esoteric < 1297000244 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!)(a(~((~a(^)*~^)~^)~^)*(~a(~a~*((H)S)~*^)*~^)~^ < 1297000244 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...unterminated (! < 1297000252 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1297000290 0 :hagb4rd!~hagb4rd@koln-d93296f0.pool.mediaWays.net JOIN :#esoteric < 1297000301 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!)a(~((~a(^)*~^)~^)~^)*(~a(~a~*((H)S)~*^)*~^)~^ < 1297000301 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :H < 1297000303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1297000534 0 :HackEgo!~HackEgo@codu.org JOIN :#esoteric < 1297000725 0 :Asphyxia^T_T!~email@ppp-201-20.movi.com.ar JOIN :#esoteric < 1297000753 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (x)((aSaS)~((y)~^)~^)~a(~!)~(~^)**a(~a)~(*~^)**~^ < 1297000753 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(x) ...out of stack! < 1297000966 0 :hagb4rd!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297001391 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~****^(Boo!)~^ < 1297001392 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297001397 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eek < 1297001414 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:^):^ < 1297001415 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of time! < 1297001439 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~****^aSaS < 1297001439 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~(a(~((~a(^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*(~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*(~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^) ...out of stack! < 1297001512 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((*)S)~*^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~****^(Boo!)~^ < 1297001513 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297001523 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :...oh wait < 1297001665 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((*)S)~*^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~****aSaS < 1297001665 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~)~(~^)**a(a)~(*)**~*~a(~)~(~^)**a(a)~(*)**~*:a(~)~(~^)**a(a)~(*)**~*)((~a(~a~*((*)S)~*^)~*^)~^) < 1297001755 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~**** < 1297001762 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~****^ < 1297001780 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~****^aS < 1297001780 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~(a(~((~a(^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*(~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*(~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^) < 1297001792 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~****^aSaS < 1297001792 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~(a(~((~a(^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*(~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*a(~((~a(^)~*^)~^)~^)*(~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^) ...out of stack! < 1297001835 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)~(a(~)~(~^)**a(a)~(*)**~*):(~)~:(:)~****^(!)~^ < 1297001835 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297001902 0 :Asphyxia^T_T!unknown@unknown.invalid PART #esoteric :? < 1297001930 0 :nddrylliog!unknown@unknown.invalid PART #esoteric :? < 1297001956 0 :Lymia!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1297001963 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (~a(~a~*((H)S)~*^)*~^):a(~)~(~^)**a(a)~(*)**~*(!)~^ < 1297001963 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297001970 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (~a(~a~*((H)S)~*^)*~^):a(~)~(~^)**a(a)~(*)**~* < 1297001976 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (~a(~a~*((H)S)~*^)*~^):a(~)~(~^)**a(a)~(*)**~*aSaS < 1297001977 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~(~a(~a~*((H)S)~*^)*~^)~^)*~a(~a~*((H)S)~*^)*~^) ...out of stack! < 1297001984 0 :Lymia!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1297002076 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (e1)(e2)a(~)~(~^)**a(a)~(*)**~*aSaS < 1297002076 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~(e2)~^)*e1) ...out of stack! < 1297002137 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a~*((H)S)~*^)~^):a(~)~(~^)**a(a)~(*)**~*aSaS < 1297002137 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~((~a~*((H)S)~*^)~^)~^)*(~a~*((H)S)~*^)~^) ...out of stack! < 1297002320 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((H)S)~*^)~*^)~^):a(~)~(~^)**a(a)~(*)**~*aSaS < 1297002320 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~((~a(~a~*((H)S)~*^)~*^)~^)~^)*(~a(~a~*((H)S)~*^)~*^)~^) ...out of stack! < 1297002351 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((H)S)~*^)~*^)~^):a(~)~(~^)**a(a)~(*)**~*(!)~^ < 1297002351 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297002456 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297002462 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((H)S)~*^)*~^)~^):a(~)~(~^)**a(a)~(*)**~*(!)~^ < 1297002462 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :H < 1297002563 0 :Lymia_!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1297002689 0 :Lymia!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297002829 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (x):(y)~(z):(~)~:(:)~****aSaS < 1297002829 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(z~z:z)(x) < 1297002846 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (x):(y)~(z):(~)~:(:)~****aSaSaSaSaS < 1297002846 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(z~z:z)(x)(y)(x) ...out of stack! < 1297002897 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (s):(i)~(*a):(~)~:(:)~****^ < 1297002904 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (s):(i)~(*a):(~)~:(:)~****^aSaS < 1297002904 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :((((is)s)((is)s))) ...out of stack! < 1297002921 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (i):(s)~(*a):(~)~:(:)~****^aSaS < 1297002921 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :((((si)i)((si)i))) ...out of stack! < 1297002949 0 :zeotrope!~dfd@unaffiliated/zeotrope JOIN :#esoteric < 1297003025 0 :Lymia_!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297003189 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((y)S)~*^)*~^)~^)((~a(~a~*((e)S)~*^)*~^)~^)((~a(~a~*((H)S)~*^)*~^)~^)(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)(~a(~)~(~^)**a(a)~(*)**~*)::**^(!)~^ < 1297003189 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297003343 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((i)S)~*^)*~^)~^)((~a(~a~*((a)S)~*^)*~^)~^)((~a(~a~*((H)S)~*^)*~^)~^)(~a(~!)~(~^)**a(~a)~(*~^)**~^)(~a(~)~(~^)**a(a)~(*)**~*)::**^(!)~^ < 1297003343 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297003347 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ff < 1297003374 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1297003493 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((i)S)~*^)*~^)~^)((~a(~a~*((a)S)~*^)*~^)~^)((~a(~a~*((H)S)~*^)*~^)~^)((~a(~a(~!)~(~^)**a(~a)~(*~^)**~^)*~^)~^)(~a(~)~(~^)**a(a)~(*)**~*)::**^(!)~^ < 1297003493 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :H < 1297003557 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((y)S)~*^)*~^)~^)((~a(~a~*((e)S)~*^)*~^)~^)((~a(~a~*((H)S)~*^)*~^)~^)((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)*~^))(~a(~)~(~^)**a(a)~(*)**~*)::**^(!)~^ < 1297003564 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1297003628 0 :Lymia!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1297003642 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((y)S)~*^)*~^)~^)((~a(~a~*((e)S)~*^)*~^)~^)((~a(~a~*((H)S)~*^)*~^)~^)((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)*~^)~^)(~a(~)~(~^)**a(a)~(*)**~*)::**^(!)~^ < 1297003642 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Hey < 1297003661 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((y)S)~*^)*~^)~^)((~a(~a~*((e)S)~*^)*~^)~^)((~a(~a~*((H)S)~*^)*~^)~^)((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)*~^)~^)(~a(~)~(~^)**a(a)~(*)**~*)::**^(aSaS)~^ < 1297003661 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Hey(~a(~a~*((y)S)~*^)*~^) ...out of stack! < 1297003759 0 :fxkr!unknown@unknown.invalid QUIT :Quit: leaving < 1297003970 0 :MigoMipo!~John@84-217-15-6.tn.glocalnet.net JOIN :#esoteric < 1297004180 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)(a(~)~(~^)**a(a)~(*)**~*):(~)~*:*~(:)~**^(Boo!)~^ < 1297004180 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297004183 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ff < 1297004273 0 :asiekierka!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1297004323 0 :jix!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1297004555 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((y)S)~*^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)~*^)~^)(a(~)~(~^)**a(a)~(*)**~*):(~)~*:*~(:)~**^(Boo!)~^ < 1297004555 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297004694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((*)S)~*^)~*^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)*~^)~^)(a(~)~(~^)**a(a)~(*)**~*):(~)~*:*~(:)~**^(Boo!)~^ < 1297004695 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297004799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((*)S)~*^)*~^)~^):((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)*~^)~^)(a(~)~(~^)**a(a)~(*)**~*):(~)~*:*~(:)~**^(Boo!)~^ < 1297004800 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :************************************************************************************************************************************************************************************************************************************************************************************************************************************ ...too much output! < 1297004805 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :finally < 1297005167 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, what are you doing? < 1297005250 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: The usual, abusing #esoteric as his personal REPL < 1297005261 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :embedding unlambda in underload < 1297005282 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, hah < 1297005359 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (aSaS)(c):a~(!)~*a(~a)~(*~^)**a*~*^ < 1297005360 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(~a(!c)*~^)(c) < 1297005368 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (aSaSaS)(c):a~(!)~*a(~a)~(*~^)**a*~*^ < 1297005368 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(~a(!c)*~^)(c) ...out of stack! < 1297005577 0 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1297006274 0 :iconmaster!~iconmaste@cci-209150237034.clarityconnect.net JOIN :#esoteric < 1297006627 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :http://programmers.stackexchange.com/questions/3233/why-do-programmers-write-applications-and-then-make-them-free < 1297006630 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Words fail me. < 1297007224 0 :Lymia_!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1297007277 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :http://www.reddit.com/r/math/comments/fg092/number_of_factorizations_of_n/ < 1297007291 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Surely this is just the partition number of the prime factors? < 1297007354 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :i.e. if n has k prime factors, it can be factorised in B_n ways. < 1297007381 0 :Behold!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1297007391 0 :Lymia!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297007432 0 :jix!jix@tomakin.h-ix.net JOIN :#esoteric < 1297007589 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1297007867 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: no, some of those might give identical factorizations < 1297007879 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, oh, yes. < 1297008013 0 :impomatic!~chatzilla@86.241.112.87.dyn.plus.net JOIN :#esoteric < 1297008016 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Hi :-) < 1297008026 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1297008054 0 :Slereah!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1297008074 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Has anyone heard of HDNA? It an esoteric language from 1982. I can't find much info about it :-( < 1297008129 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh god, they're making an Atlas Shrugged film. < 1297008161 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I suppose it'll be good for crowd control. < 1297008183 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :impomatic: What was the lang like? Sounds fun. < 1297008247 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :impomatic: I see why it's hard to find- I Googled it and the page is swamped with a Sony product. < 1297008280 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1297008281 0 :Slereah!x@ANantes-259-1-10-216.w92-135.abo.wanadoo.fr JOIN :#esoteric < 1297008290 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Elliott! Hello. < 1297008322 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :WHO IS THIS MASTER OF ICONS < 1297008341 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :an expert in Tetris hermeneutics < 1297008346 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :obviously < 1297008347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1297008372 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :lol, hi. < 1297008382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ping < 1297008386 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pong < 1297008399 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: btw i realised that (catbus a b c d) = (catbus 'a | b | c | d') < 1297008402 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: I am the ruler of your little icons on your desktop. < 1297008409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and i think accidentally found the best programming paradigm in the process < 1297008420 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: Basically instructions in the language are pairs of characters which can modify / copy other pairs of characters. I tried to program something in it a long time ago but failed. :-( < 1297008428 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster, that's not a very large domain. < 1297008441 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: indeed < 1297008447 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what is the best programming paradigm? < 1297008451 0 :asiekierka!~asiekierk@178235033089.elblag.vectranet.pl JOIN :#esoteric < 1297008460 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: I rule my OWN icons too, and my desktop is kinda cluttered... < 1297008462 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :The interpreter I had for HDNA was written in BASIC. < 1297008470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: the one where one would naturally invent the operator "fix (f.)", not "fix f" < 1297008487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::t fix (("y"++).) < 1297008504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I have made an excellent Underload discovery! < 1297008510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot? < 1297008512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh dear < 1297008518 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: hm? < 1297008518 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Noooooooo < 1297008520 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: pray, tell! < 1297008546 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :what have we done to deserve this? lambdabot!? < 1297008553 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :od, dear! where is Lambabot? < 1297008560 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wrote up on the wiki how to do abstraction elimination in underload < 1297008561 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :He's not in #haskell either! < 1297008570 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :I ate him. SOrry guys, i was hungry. < 1297008572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ((a)(b)(c)(d))(*)*^(::**)(~a*)~^()~^ < 1297008575 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: *she* < 1297008578 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: this results in ((a)(b)(cd)) < 1297008583 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :O KAY < 1297008588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hey < 1297008589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no wait < 1297008591 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :olsner, SHE IS STILL NOT IN #HASKELL < 1297008593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: this is something like 1/4th of an Underload self-interpreter < 1297008600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you see that church numeral? < 1297008606 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1297008608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: how you'd actually do it is like this < 1297008609 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: maybe this is why she left :/ < 1297008618 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: the stack is: (stack)(size of stack as church numeral) < 1297008620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: to do *, you do < 1297008644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ((*)*^) dip subtract1 (~a*)~^()~^ < 1297008655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: for any instruction, replace * with the appropriate one, and subtract1 with the appropriate stack effect < 1297008671 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: this is huge, it means you can do an Underload self-interpreter *metacircularly* < 1297008680 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: also, it invalidates ais' claim that you _cannot_ break ((a)(b)(c)(d)) apart < 1297008684 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you can if you know the length < 1297008694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um sure < 1297008712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i was really chuffed about figuring this out, why aren't you excited < 1297008720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :underload self-interp!!!! < 1297008746 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :You can break ((a)(b)(c)(d))- can't you just call ^ twice? or am i not getting it? < 1297008754 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it should obviously be possible in a sense < 1297008756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: erm, break as in break into multiple pieces < 1297008763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes but I think I've just shown that it's even _quite easy_ < 1297008775 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: oh, lol. Ill just stop talking now. < 1297008786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: it's ok :) < 1297008815 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: btw if the stack is "(stack) (stack size) (operation to do) (function from stack size to new stack size)", then you can do: < 1297008862 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(~) dip (*^) 2dip ^(~a*)~^()~^ < 1297008885 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(~)~a*^(*^)~a*~a*^^(~a*)~^()~^ < 1297008887 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: (~)~a*^(*^)~a*~a*^^(~a*)~^()~^ < 1297008893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's < 1297008907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stack, size, operation, stack size to new stack size --> new stack, new size < 1297008911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where stack is ((a)(b)(c)(d)...) < 1297008916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with last elements being top < 1297008942 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um to me it's pretty obvious that you can emulate things on a list with length < 1297008958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well sorry for having a revelation unworthy of the underload god :) < 1297008973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I was thinking about how to do a self-interpreter and this handles everything apart from () and ^ in one go < 1297009006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sheesh :P < 1297009022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm not actually following your details, anyway < 1297009033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what part don't you get? or do you mean you're ignoring :P < 1297009200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: sheehs :| < 1297009219 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: um i think you want (~a~*), not (~a*), otherwise you reverse the list < 1297009225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :er right < 1297009243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :er are you _sure_ < 1297009247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)(c)(d)() < 1297009249 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)(c)()(d) < 1297009254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)(c)()((d)) < 1297009256 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh right yes < 1297009259 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(~)~a*^(*^)~a*~a*^^(~a~*)~^()~^ < 1297009276 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :I think my Lua Underload interpreter works, and the Look-and-say sequence program is wrong somehow. The fibbonchi sequence AND the thue-morse sequence works. < 1297009281 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what's subtract for underload numerals? < 1297009290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: show code again? :p < 1297009293 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :look and say is not broken < 1297009301 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ok ill pastebin iut < 1297009309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((a)(b)(c))(::**)(*)(SUBTRACT)(~)~a*^(*^)~a*~a*^^(~a~*)~^()~^SS < 1297009309 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :~a~* ...bad insn! < 1297009314 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((a)(b)(c))(::**)(*)(SUBTRACT)(~)~a*^(*^)~a*~a*^^(~a~*)~^()~^aSaS < 1297009314 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :~a~* ...bad insn! < 1297009329 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i muuuust knoooow < 1297009349 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.com/qHVsusrg < 1297009376 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :subtract is a little tricky < 1297009379 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (s2)(s1)*S < 1297009379 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :s2s1 < 1297009385 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: table.insert(stack,s2..s1) < 1297009386 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in the * rule < 1297009391 0 :Phantom__Hoover!unknown@unknown.invalid QUIT :Quit: Leaving < 1297009435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the rest looks ok, though i can't see whether your ( is right or not based on a quick glance < 1297009449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: also note that you don't error out when an invalid instruction is executed < 1297009461 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1297009490 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I only need decrement < 1297009490 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not subtract < 1297009500 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok that's a bit easier < 1297009596 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (aS(:^)S):^ < 1297009596 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(aS(:^)S):^ < 1297009608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think (:aSS):aSS is the shortest possible quine < 1297009798 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!())(!(~(:)~(*)**~)))(:^)(::::****)^^aS < 1297009798 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...bad insn! < 1297009801 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1297009821 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!())(!(~(:)~(*)**~))(:^)(::::****)^^aS < 1297009821 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(~(:)~(*)**~) < 1297009826 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er < 1297009830 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!())(!(~(:)~(*)**~))(:^)(::::****)^^!aS < 1297009830 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(::::!()****) < 1297009848 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm maybe not the _optimal_ representation < 1297009855 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not to mention it didn't work < 1297009863 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION back < 1297009869 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait did it < 1297009908 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!())(!(!(~(:)~(*)**~)))(:^)(::::****)^^!aS < 1297009908 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:::!()***) < 1297009929 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :off by one error :) < 1297009930 0 :jix!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1297009939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ul ((a)(b)(c))(::**)(*)(SUBTRACT)(~)~a*^(*^)~a*~a*^^(~a~*)~^()~^aSa < 1297009944 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: But if I reverse the * then all the OTHER program break... it's probably in the (). < 1297009946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((a)(b)(c))(::**)(*)(DECREMENT)(~)~a*^(*^)~a*~a*^^(~a~*)~^()~^aSa < 1297009947 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :rather < 1297009950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :will simulate a * < 1297009955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: possibly. < 1297010025 0 :jix!jix@tomakin.h-ix.net JOIN :#esoteric < 1297010029 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!())(!(~(:)~(*)**~))(a(!)~*)(::**)^^(:^)(::::****)^^!aS < 1297010029 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:!()*) < 1297010034 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Slashes has a hueg horizontal scroll < 1297010153 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!())(!(!(~(:)~(*)**~)))(a(!)~*)(::**)^^(:^)(::::****)^^!aS < 1297010153 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(!()) < 1297010158 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1297010167 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (!())(~(:)~(*)**~)(a(!)~*)(::**)^^(:^)(::::****)^^!aS < 1297010167 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(::!()**) < 1297010172 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: is this meant to be *subtract*? < 1297010174 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*decrement < 1297010184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i thought underload was _elegant_ :) < 1297010197 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Say, what is the look-and-say sequence program SUPPOSED to print out? < 1297010199 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes, i realized while fixing my off by one error that _iterating_ the fix would subtract < 1297010213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: 1, 11, 21, 1211 < 1297010216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :111221 < 1297010222 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :312211 < 1297010227 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13112221 < 1297010232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :1113213211 < 1297010235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(done manually) < 1297010236 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It DEFINATLY isnt doing that. < 1297010252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((:))(:::***)^S < 1297010252 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:)(:)(:)(:) < 1297010298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):((:))~^~((*))~^SS < 1297010298 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(*)(*)(*)(*)(:)(:)(:)(:) < 1297010305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):((:))~^~((*))~^~SS < 1297010305 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:)(:)(:)(:)(*)(*)(*)(*) < 1297010312 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):((:))~^S < 1297010312 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:)(:)(:)(:) < 1297010318 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):((:))~^(!)*S < 1297010318 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:)(:)(:)(:)! < 1297010327 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):((:))~^(!!)*S < 1297010327 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:)(:)(:)(:)!! < 1297010331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1297010336 0 :jix!unknown@unknown.invalid QUIT :Remote host closed the connection < 1297010337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: unfortunately i can't use my stack trick to do decrement < 1297010340 0 :jix!jix@tomakin.h-ix.net JOIN :#esoteric < 1297010341 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because it requires decrement :) < 1297010346 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to figure out how many :s to pop < 1297010405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***)(:)~^S < 1297010405 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric ::::: < 1297010407 0 :jix!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1297010414 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***)(:)~^(!())*S < 1297010415 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!() < 1297010421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*S < 1297010421 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!() < 1297010422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*SS < 1297010422 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!():::*** < 1297010438 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*S~(*)~ < 1297010438 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!() ...out of stack! < 1297010443 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: look-and-say only works if * is reversed... but no OTHER program works if * is reversed. < 1297010451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: o_O < 1297010455 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :wierd. < 1297010457 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*~(*)~^ < 1297010459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*~(*)~^SS < 1297010459 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :****::::!() < 1297010475 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(*)~^~(:)~^(!())*SS < 1297010475 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!()**** < 1297010479 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(*)~^~(:)~^(!())**S < 1297010479 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :****::::!() < 1297010485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(*)~^~(:)~^(!())*S < 1297010486 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!() < 1297010488 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1297010496 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: have you tested all your individual functions? < 1297010500 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*~(*)~^~SS < 1297010500 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!()**** < 1297010503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*~(*)~^~*S < 1297010504 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :****::::!() < 1297010512 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Wait, the others work too! < 1297010519 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: lol < 1297010535 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(*)~^~(:)~^SS < 1297010535 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::**** < 1297010537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(*)~^~(:)~^*S < 1297010537 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :****:::: < 1297010539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :GAH < 1297010543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^~(*)~^*S < 1297010544 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::**** < 1297010549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*~(*)~^*S < 1297010549 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!()**** < 1297010551 0 :jix!jix@tomakin.h-ix.net JOIN :#esoteric < 1297010552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :there < 1297010552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ^ < 1297010555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :decrement < 1297010558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!())*~(*)~^*SS < 1297010558 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!()**** ...out of stack! < 1297010564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::(:)~^(!())*~(*)~^* < 1297010572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait no < 1297010578 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:::***):(:)~^(!()!())*~(*)~^*SS < 1297010578 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :::::!()!()**** ...out of stack! < 1297010581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :decrement. < 1297010599 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((a)(b)(c))(::**)(*)(:(:)~^(!()!())*~(*)~^*)(~)~a*^(*^)~a*~a*^^(~a~*)~^()~^aSa < 1297010599 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...bad insn! < 1297010603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1297010631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: isn't that decrement? < 1297010675 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :possibly < 1297010694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um wait !()!() = !() < 1297010700 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :!!()() then < 1297010704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you ungrateful scum :| < 1297010788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@hoogle (b -> c) -> (t -> a -> b) -> t -> a -> c < 1297010824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1297010835 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(.).(.) < 1297010845 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric ::t (.).(.) < 1297010848 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliot: I wonder why it broke the FIRST time I reversed * and not the second... 0_o < 1297010850 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :arghmore < 1297010860 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(.).(.) :: (b -> c) -> (a -> a1 -> b) -> a -> a1 -> c < 1297010877 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I was hoping someone had given the "titties operator" a more pleasing name. < 1297010883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: gremlins < 1297010893 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :lol! Definatly gremlins. < 1297010895 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(.:), but it's not exported from anywhere I know of. < 1297010991 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: It turns out that HDNA is another name for Typogenetics http://www.csse.monash.edu.au/hons/projects/1999/Andrew.Snare/thesis.pdf < 1297010999 0 :Lymia_!unknown@unknown.invalid NICK :Lymia < 1297011000 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1297011000 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1297011030 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :impomatic: Good find! leme take a look. < 1297011149 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: There's a section on it in Goedel, Escher, Bach if you have a copy < 1297011290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :note: your copy may have collapsed into a singularity under its own mass < 1297011436 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, have you read GEB? < 1297011442 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1297011449 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how many pages is it? < 1297011450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's...yeah < 1297011455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :over 700, below 800 < 1297011458 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1297011469 0 :zeotrope!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297011471 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mostly skipped over the long rewriting proofs of logical statements < 1297011476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they were quite dull < 1297011479 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1297011501 0 :hagb4rd!~hagb4rd@koln-4db43929.pool.mediaWays.net JOIN :#esoteric < 1297011509 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what is the book actually about. I haven't really understood that from hearing about it < 1297011549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's, er, about. < 1297011549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Umm. < 1297011551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's a book. < 1297011553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :A book with pages. < 1297011555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Any questions? < 1297011561 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes! < 1297011578 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Then I refer you to Chris Pressey's review. < 1297011589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: http://esolangs.org/wiki/User:Chris_Pressey#G.C3.B6del.2C_Escher.2C_Bach:_An_Eternal_Golden_Braid < 1297011611 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, is it a bit about everything? The way that for example science of discworld books can cover everything from evolution and steam engines to Cantor's various proofs < 1297011625 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: More like: it's about nothing. < 1297011629 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, aha < 1297011631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHICH IS EVERYTHING < 1297011633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or something. < 1297011638 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :right. I see what you mean < 1297011651 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(:a~(!)~*a(~a)~(*~^)**a*~*^)*~^)~^)~(((a(~)*~a(~^)*a(~^)**)~*a(~a)~(*~^)**~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^ < 1297011653 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :o night of pan! < 1297011660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1297011666 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm, my mouse isn't moving any more < 1297011669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's quite worrying < 1297011671 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :dammit < 1297011680 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait duh < 1297011686 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(:a~(!)~*a(~a)~(*~^)**a*~*^)*~^)~^)~(((a(~)*~a(~^)*a(~^)**)~*a(~a)~(*~^)**~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^(!)~^ < 1297011687 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : * ...out of stack! < 1297011707 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1297011717 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what are you _doing_ < 1297011735 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translating unlambda into underload < 1297011755 0 :elliott!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1297011762 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1297011771 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, he seem to uh... like or dislike A New Kind of Science in that list XD < 1297011773 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hard to tell < 1297011779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: EVER-LOVIN' MIND < 1297011790 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: couldn't you just regexp it with http://esolangs.org/wiki/Underload#Unlambda_to_Underload < 1297011793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1297011797 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I thought everything with Wolfram was basically silly? < 1297011801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: EVER < 1297011802 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :LOVIN' < 1297011802 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :MIND < 1297011814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: is there an unlambda self-interp that doesn't use d or c? :D < 1297011822 0 :cheater-!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1297011824 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :bbl food < 1297011847 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't know, i know there's another self-interp but haven't really looked at it < 1297011857 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually a couple others, i think < 1297011859 0 :cheater-!~cheater@e181053107.adsl.alicedsl.de JOIN :#esoteric < 1297011971 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (*a)::(c)~(d)~^a~*:(. )~^a~(.*)~^a*~*^aSaS < 1297011971 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(((. (cd))(.*(cd)))) ...out of stack! < 1297011979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297011992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aSSaSSination < 1297012000 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :dammit i did not mess up that part < 1297012121 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :This blog seems to cover Typogenetics http://typogenimages.wordpress.com < 1297012256 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that guy seems a bit obsessed :-) < 1297012268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :interesting posts though < 1297012349 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : dammit i did not mess up that part <-- uh did you want to mess it up? < 1297012360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1297012388 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would have been simpler to fix :D < 1297012409 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm let me check... < 1297012486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(:a~(!)~*a(~a)~(*~^)**a*~*^)*~^)~^)~((~a(^)*~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^ < 1297012492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(:a~(!)~*a(~a)~(*~^)**a*~*^)*~^)~^)~((~a(^)*~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^(!)~^ < 1297012493 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297012504 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(:a~(!)~*a(~a)~(*~^)**a*~*^)*~^)~^)~((~a(^)*~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^aSaS < 1297012504 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(~(a(~(a(~((~a(^)*~^)~^)~^)*(~a(:a~(!)~*a(~a)~(*~^)**a*~*^)*~^)~^)~^)*(~a(~a~*((*)S)~*^)*~^)~^)~^)*a(~(a(~((~a(^)*~^)~^)~^)*(~a(:a~(!)~*a(~a)~(*~^)**a*~*^)*~^)~^)~^)*(~a(~a~*(( )S)~*^)*~^)~^) ...out of stack! < 1297012553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@unpl (.).(.) < 1297012557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1297012596 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(^)*~^)~^)~((~a(^)*~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^ < 1297012602 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(^)*~^)~^)~((~a(^)*~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^(!)~^ < 1297012603 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : * < 1297012645 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Haskell challenge: write < 1297012652 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :minimise :: (Ord b) => (a -> b) -> [a] -> a < 1297012656 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and < 1297012657 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maximise :: (Ord b) => (a -> b) -> [a] -> a < 1297012660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :point-free. < 1297012669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(You can use .:) < 1297012673 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I had < 1297012675 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maximum .: map < 1297012676 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and < 1297012678 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :minimise .: map < 1297012681 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but they return the function result. < 1297012681 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(^)*~^)~^)~(((a(~)*~a(~^)*a(~^)**)~*a(~a)~(*~^)**~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^(!)~^ < 1297012681 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : < 1297012723 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok d is working < 1297012725 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :THAT'S NOT AN ATTEMPT < 1297012815 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1297012836 0 :cheater-!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297012853 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :aren't there *By versions of those functions < 1297012854 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :? < 1297012864 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes, but you want *On... but pretend the By versions don't exist < 1297012908 0 :cheater-!~cheater@e181142126.adsl.alicedsl.de JOIN :#esoteric < 1297012917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i can't get it elegant even with By anyway < 1297012951 0 :impomatic!unknown@unknown.invalid QUIT :Quit: ChatZilla 0.9.86 [Firefox 3.5.16/20101130074636] < 1297013002 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so anyway, is it any coincidence that the way catbus operates made me realise that Underload is the perfect programming language??? < 1297013011 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think: NOT < 1297013176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: btw I simplified the yes implementation < 1297013184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ catbus 'echo y; tee /dev/fd/2' 2>&1 < 1297013186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no need for cat < 1297013227 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but instead you have tee, which does more than cat? :) < 1297013243 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :not instead < 1297013244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I already had te < 1297013244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*tee < 1297013248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it was < 1297013255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ catbus '(echo y; cat) | tee /dev/fd/2' 2>&1 < 1297013261 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but then i realised that that was redundant < 1297013283 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: also, I realised that from a functional perspective, < 1297013292 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catbus p = p | p | p | p | ... < 1297013293 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not < 1297013300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catbus p = ... | p | p | p | p | ... < 1297013310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: because the former is actually equivalent, thanks to the fact that it's the same p < 1297013315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :even though the "first" p never gets any input < 1297013338 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::(:a~(!)~*a(~a)~(*~^)**a(~^)*a*~*^)~(((a(~)*~a(~^)*a(~^)**)~*a(~a)~(*~^)**~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^(!)~^ < 1297013338 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297013345 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*facepalm* < 1297013355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you may want to use an implementation with a debugger :) < 1297013392 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait of course < 1297013490 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(~)~(~^)**a(a)~(*)**~*)::((~a(:a~(!)~*a(~a)~(*~^)**a(~^)*a*~*^)*~^)~^)~(((a(~)*~a(~^)*a(~^)**)~*a(~a)~(*~^)**~^)~^)~^a~*:((~a(~a~*(( )S)~*^)*~^)~^)~^a~((~a(~a~*((*)S)~*^)*~^)~^)~^a*~*^(!)~^ < 1297013499 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : * ** *** **** ***** ****** ******* ******** ********* ********** *********** ************ ************* ************** *************** **************** ***************** ****************** ******************* ******************** ********************* ********************** *********************** ************************ ...too much output! < 1297013503 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :YES! < 1297013512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: :D < 1297013516 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION does a happy dance < 1297013518 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so was that all manual < 1297013522 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and therefore wasted effort < 1297013528 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or do you have a program to do it < 1297013540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1297013545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(wasted but cool effort, mind) < 1297013546 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um it's manual because i'm constructing the translation... < 1297013556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: right. i would construct it by writing a program :P < 1297013557 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i thought i'd put it on the wiki < 1297013573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you have to write a program! because then you can translate a self-interp! < 1297013573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1297013575 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :does it even do c? < 1297013591 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : < 1297013594 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :err < 1297013604 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that thing above was ``. `cd`.*`cd < 1297013612 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : oerjan: you may want to use an implementation with a debugger :) <-- You. Suggesting a debugger. What happened to you? < 1297013620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: subtle cough < 1297013626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: by debugger, i mean it prints a stack trace every instruction < 1297013631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :debugger, not interactive debugger < 1297013633 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm okay < 1297013666 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so you prefer cfunge over ccbi then? cfunge has a non-interactive debugger. CCBI has an interactive one < 1297013682 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well it depends on the language. for befunge, the best debugger is a graphical one < 1297013690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that shows the ips moving about the field (at reduced/stepping pace) < 1297013697 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and has all the various info about the code to the right hand side < 1297013701 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and allows you to modify fungespace to test things < 1297013704 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, with befunge-98 that can be problematic < 1297013706 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :due to the size < 1297013715 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: that's why i said stepping < 1297013719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you'd also have some key to bounce about the iPs < 1297013719 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :that is how my spiral ide looked... < 1297013720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*IPs < 1297013722 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1297013725 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so you could quickly jump there < 1297013731 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I could easily imagine debugging fungot like that < 1297013732 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i've heard that nowadays, fnord from scientistians are more common :) though i like what i've seen online ( while i was finishing up the vector shuffling, some bastards started solving it < 1297013739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: oh and it'd have to allow going backwards in time < 1297013740 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :obviously < 1297013762 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: once each function is constructed the translation is just search-and-replace, plus moving ` postfix, just like with the simpler ski version already on the underload page < 1297013769 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well okay. So you want an interactive debugger then < 1297013781 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: hardly anything like gdb < 1297013784 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more like a live evaluation environment < 1297013794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also if the debugger's input language is an esolang then i'm all for it < 1297013799 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: cool < 1297013800 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, genera-style? < 1297013808 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no, befunge-debugger-style :P < 1297013814 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well duh < 1297013819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm i vaguely feel like writing a -98 interp now < 1297013848 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :there should be an easier way to debug multithreaded c programs... < 1297013850 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reads the Fungicide rankings < 1297013853 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :recommendations? < 1297013853 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ha ha ccbi is faster than cfunge < 1297013857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: yes: don't use threads < 1297013867 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: not an option < 1297013873 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not using threads is always an option < 1297013878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's the option of sanity < 1297013893 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :when the project is to implement a scheduler in a prebuilt thread system < 1297013898 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :not an option < 1297013904 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :best way to debug? < 1297013906 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't sound something very debuggable at all. < 1297013911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :use printf. < 1297013912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and trial and error. < 1297013913 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1297013914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and think. < 1297013918 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :sucks < 1297013928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :easier than stepping through a complex, vaguely nondeterministic execution trail < 1297013959 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :bleh < 1297014066 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: will you eat your hat if I can get an elegant, functional funge-98 interpreter faster than cfunge? < 1297014069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :god i hope fusion is good < 1297014087 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I don't believe that is impossible < 1297014094 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, further I don't have a hat < 1297014094 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: but worthy of hat-eating? < 1297014096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :buy one < 1297014099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and eat it < 1297014101 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if i can < 1297014107 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no < 1297014122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you suck < 1297014197 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, but I promise to eat Gregor's tricorne if he sends it to me and you manage to do this and implement TRDS and every other fingerprint in existence currently < 1297014208 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and manage to complete it this year < 1297014211 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :that is important < 1297014220 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :you can't put it off forever you see < 1297014227 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ah, clearly I will implement no MKRY fingerprints, as an err... memorial! < 1297014234 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wrong! < 1297014237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the fact that this keeps my sanity fully intact is ENTIRELY coincidental < 1297014240 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you will do them all < 1297014245 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :or it isn't fair < 1297014252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no! that would be ... insulting! < 1297014263 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, then there is no hat eating that will happen < 1297014270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :YOU'RE LAME < 1297014274 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so are you < 1297014278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you're lamer < 1297014281 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, TRDS is fun < 1297014283 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lamerest < 1297014287 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :most enlaming < 1297014294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so hey, those bounds things < 1297014301 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :how do the bounds go boundy < 1297014302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mean like < 1297014307 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why are you introducing yourself to me? < 1297014307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i remember some special shrinking thing < 1297014335 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HOW THE BOUNDS SHRINK < 1297014340 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what bounds < 1297014344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with y < 1297014347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you have to report minimum bounds or something < 1297014352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :by keeping track < 1297014353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1297014358 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, uh with the y instruction? < 1297014362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i dunno man < 1297014363 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh THAT! < 1297014363 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297014367 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hurrrf < 1297014380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah so like i remember being told that like < 1297014384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :YOU MUST PLAN FOR THIS < 1297014384 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you need to track the outer bounding rectangle < 1297014386 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FROM THE VERY START < 1297014389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and i'm like < 1297014389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :okay how < 1297014391 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and shrink it as required < 1297014405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :okay, but that seems like it'd require conditioning on every write < 1297014405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1297014409 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how, well you could recalculate the bounding box around non-space every time < 1297014412 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :only if x or y are in the maximum < 1297014413 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thing < 1297014414 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. < 1297014414 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :or you could do it smarter < 1297014417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :only if you remove from a boundary < 1297014417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i guess < 1297014426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then i could just scan that one column < 1297014427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or row < 1297014432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and see if there's any shit left < 1297014433 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and if so shrink it < 1297014439 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, cfunge tracks a count for each row and column for set cells < 1297014447 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :to make this fast < 1297014498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1297014510 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'm sure there are other ways to do it < 1297014520 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :has mycelium been taken yet? < 1297014521 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as a name < 1297014525 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :think so < 1297014530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :shiro it is < 1297014531 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :wasn't it some other test suite? < 1297014538 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1297014546 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, anyway you also have to beat the speed of jitfunge for proper hat eating! < 1297014551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fuck you :P < 1297014565 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok, so i'll implement Vector < 1297014567 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, actually hat eating if you get within 2% of it or such :P < 1297014568 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :used for coords, velocity < 1297014581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1297014585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evil, terrible, amazing idea < 1297014589 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :what < 1297014595 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :use type-level peano numerals to specify number of dimensions < 1297014603 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1297014604 0 :Lymia_!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1297014605 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vector (S (S Z)) is (a,b,c) < 1297014610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1297014611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a,b) < 1297014613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vector (S (S (S Z))) is (a,b,c) < 1297014615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297014615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :naw < 1297014620 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you realise that you only need befunge and trefunge as such < 1297014621 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll just make it 2D for now < 1297014624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :easy enough to extend it later < 1297014628 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :"html5 is a nice step towards sanity, if you close your eyes to most of the spec" < 1297014634 0 :Lymia!unknown@unknown.invalid QUIT :Disconnected by services < 1297014635 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1297014636 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Want it to be A) fast, and B) impossibly impossible to mkae? do it in ASSEMBLY! (lol,jk) < 1297014641 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :*make < 1297014641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: nothx < 1297014643 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1297014646 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :<3 haskell < 1297014654 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: yeah, but i want to be the first interp to support N-dimensional programs _efficiently_ < 1297014662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: as opposed to, say, Language::Befunge, which does it VERY SLOWLY < 1297014666 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or whatever it's called now < 1297014676 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, Language::Befunge did *everything* very slowly < 1297014682 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1297014708 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so it was *relatively* efficient at n-dimensional! < 1297014766 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((z)S)~*^)*~^)~^)((~a(~a~*((y)S)~*^)*~^)~^)((~a((a(:^)*a(~a)~(*~^)**(~!)~(~^)**^):^)*~^)~^)((~a(~a~*((x)S)~*^)*~^)~^)(~a(~)~(~^)**a(a)~(*)**~*)(::**)^^(!)~^ < 1297014766 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :x ...out of stack! < 1297014807 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i simply cannot get this right on the first try, can i < 1297014819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION defines cells first < 1297014822 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as Int32s < 1297014846 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Wait, efficient and in Haskell? < 1297014860 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: YES < 1297014864 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Haskell code can be pretty fast. < 1297014868 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I KNOW < 1297014875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Fingerprint proposal: LAZY < 1297014884 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how would it work < 1297014894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Makes the entire evaluation lazy. < 1297014904 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes okay but /how/ < 1297014907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: 30 30p would evaluate instantly. < 1297014910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :30 30g would then do the same. < 1297014914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Only when you tried to output the result, would it hang. < 1297014919 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :This applies to every single operation. < 1297014922 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Including those in other fingerprints. < 1297014922 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how could you tell that something loops forever < 1297014925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ... < 1297014928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Shoot Vorpal. < 1297014938 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shoots Vorpal. < 1297014941 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh wait misread you < 1297014952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah, shooting makes Vorpal understand things < 1297014956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :noted < 1297014962 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :no it happened just before < 1297014969 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, anyway, how could you ensure that thread interaction would work here < 1297014973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah. it clearly goes back in time and makes you understand. < 1297014975 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :My bullets are made of understandium. < 1297014978 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: difficulty. or do i mean badly? < 1297014984 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*difficultly. < 1297014985 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :*retrounderstandium < 1297015010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1297015012 0 :impomatic!~chatzilla@86.241.112.87.dyn.plus.net JOIN :#esoteric < 1297015012 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, you mean understoodium < 1297015013 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((y)S)~*^)*~^)~^)((~a((a(:^)*a(~a)~(*~^)**(~!)~(~^)**^):^)*~^)~^)(~a(~)~(~^)**a(a)~(*)**~*)^(!)~^ < 1297015014 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297015020 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is there a better name for the Cell^D where D=dimensions pairs than "Vector"? < 1297015026 0 :asiekierka!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1297015027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what do ccbi/cfunge call it < 1297015039 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, cell as in a value? < 1297015045 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :or cell as in x,y,z,value? < 1297015055 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: as in (x,y) < 1297015057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or (x,y,z) < 1297015058 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :tuple < 1297015061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: coords and velocity basically < 1297015063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: fail < 1297015063 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, funge_vector < 1297015068 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so, Vec then :P < 1297015074 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no idea about ccbi here < 1297015074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or Vector < 1297015075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I GUESS < 1297015084 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it is an n-tuple. why fail? < 1297015089 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: because! < 1297015101 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now i get to define the fungespace < 1297015102 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh joy < 1297015119 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wait a second. Didn't you start on this about a year ago < 1297015121 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :last time < 1297015125 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :then gave it up < 1297015127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: yes < 1297015129 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Any idea how to create a programming game based on Underload? < 1297015133 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why not reuse your code! < 1297015135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :let's see if I can get further by doing things wildly inefficiently < 1297015142 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: that's lost to the mists of time. also, i never implemented anything. < 1297015144 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :I haz an esolang idea. A language where each single character is a command, and it uses up the ENTIRE Unicode set! < 1297015148 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ah < 1297015166 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster, s/haz/has/ < 1297015178 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (f)(aSaSc)(a(:^)*a(~a)~(*~^)**(~!)~(~^)**^):^ < 1297015178 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...out of stack! < 1297015188 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :It would make insanly tiny code, BUT the interpreter would be insanely large! < 1297015189 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ho hum < 1297015192 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster, also your idea sounds like unefunge with a huge instruction set < 1297015201 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1297015214 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster, also tiny in what measurement < 1297015215 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: J would be a good place to start, or golfscript < 1297015229 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ok, ill do some research. < 1297015232 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster, in bytes I presume? < 1297015232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION decides to call Int32s "values" instead < 1297015241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :J wouldn't be a good place to start. < 1297015246 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster, if so take a look at some compact RISC assemblers < 1297015249 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why 32 < 1297015251 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :in fact, "golfierscript" might a good name if your operations are useful enough < 1297015259 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is wondering if control codes would make good commands < 1297015259 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: because that's the "standard". also, It'll Be Parameterisable Later! < 1297015262 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, if you can't support 64 then you can't even compete with cfunge < 1297015268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh shut up. < 1297015275 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm not going to feature-creep it before i've written a single function, dude < 1297015281 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, XD < 1297015296 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :data FungeSpace = FungeSpace (Map Vector Value) Vector Vector < 1297015298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :do I need anything more? < 1297015302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the two Vectors are minimum and maximum bounds < 1297015306 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, vector vector? < 1297015307 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1297015325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, maybe I should use "IntMap Value (IntMap Value)" < 1297015332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since that uses BIG-ENDIAN PATRICIA TREES < 1297015341 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, are they good? < 1297015347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, but it uses Int only, not Int32. < 1297015350 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it could magically be 64-bit. < 1297015358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: well supposedly it's a lot better for int keys: < 1297015358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The implementation is based on big-endian patricia trees. This data structure performs especially well on binary operations like union and intersection. However, my benchmarks show that it is also (much) faster on insertions and deletions when compared to a generic size-balanced map implementation (see Data.Map). < 1297015367 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and Okasaki is behind it. < 1297015371 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, but cfunge can do 32 bit with a compile time switch! < 1297015371 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it's probably good. < 1297015412 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: but anyway, any more elements of fungespace I need to plan for do you think < 1297015415 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (f)(c)(a(:^)*a(~a)~(*~^)**(~!)~(~^)**aSaS^):^ < 1297015415 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(~!~a((a(:^)*a(~a)~(*~^)**(~!)~(~^)**aSaS^):^)*~^~^)(c) ...bad insn! < 1297015425 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (f)(c)(a(:^)*a(~a)~(*~^)**(~!)~(~^)**aSaSaS^):^ < 1297015425 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(~!~a((a(:^)*a(~a)~(*~^)**(~!)~(~^)**aSaSaS^):^)*~^~^)(c)(f) ...out of stack! < 1297015461 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well hm. arbitrary tuples! (I have some plans for efunge with "rich values" in funge space for stuff like SOCK) < 1297015465 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(it would be interesting) < 1297015467 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: i don't mean expansion plans. < 1297015470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1297015472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :things I need in the structure. < 1297015475 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: This is like the third time you've written 'data FungeSpace = something' and asked if it's sufficient, and likely also the third time you'll end up writing at most a few functions to support it before giving up < 1297015482 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no, not really. < 1297015494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: DON'T TELL THEM MY SECRET < 1297015499 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, third? I thought it was second? < 1297015503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah i don't think it's the third < 1297015507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :therefore Deewiant is a stinky filthy liar < 1297015510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and we should kill him < 1297015513 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, btw I always done stack before funge space < 1297015525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i like to get types down before (not) doing stuff < 1297015538 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The stack is about three lines in Haskell if you don't care about efficiency < 1297015546 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hah yeah < 1297015581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :type Stack = [Value] < 1297015582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :type StackStack = [Stack] < 1297015582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Done < 1297015644 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((z)S)~*^)*~^)~^)((~a(~a~*((y)S)~*^)*~^)~^)((~a((a(:^)*a(~a)~(*~^)**a(~!)~(~^)**^):^)*~^)~^)((~a(~a~*((x)S)~*^)*~^)~^)(~a(~)~(~^)**a(a)~(*)**~*)(::**)^^(!)~^ < 1297015644 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :x < 1297015657 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :excellent < 1297015659 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Meh: < 1297015664 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :data FungeSpace = FungeSpace (Map Vector Value) < 1297015666 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I can expand it later. :P < 1297015727 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION briefly considers a FUNGE MONAD < 1297015739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'm now, like, 5 minutes away from giving up. < 1297015744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That's, like, three more than Deewiant's expecting. < 1297015940 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((~a(~a~*((x)S)~*^)*~^)~^)((~a(!!)*~^)~^)((~a(~a~*((y)S)~*^)*~^)~^)((~a(~a~*((z)S)~*^)*~^)~^)(a(~)~(~^)**a(a)~(*)**~*)(::**)^^(!)~^ < 1297015940 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :y < 1297015991 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you are like haskell you know < 1297015997 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1297015999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lazy? < 1297016001 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, LAZY! < 1297016002 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1297016020 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you should be a comedian. a really bad comedian. < 1297016060 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has an urge to addquote [To Vorpal] you should be a comedian. [...] < 1297016083 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*[to < 1297016090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quotes get formatted how I say, dammit. < 1297016094 0 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1297016100 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why lower case there < 1297016113 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because. < 1297016119 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1297016120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's how []s are written in my world. < 1297016137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, most of these operations only make sense inside THE FUNGE MONAD < 1297016150 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which I guess is just a state monad < 1297016152 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I prefer them all upper case becasue that is how df does it! < 1297016159 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :O KAY < 1297016162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(see wut i did thar) < 1297016186 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, http://df.magmawiki.com/index.php/File:Carp_escape.jpg < 1297016241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :data FungeState = < 1297016242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : FungeState { stackStack :: StackStack < 1297016242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : , fungeSpace :: FungeSpace < 1297016242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : , somethingGoesHere :: someType } < 1297016243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :valid Haskell! < 1297016246 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, http://df.magmawiki.com/index.php/File:Carp_escape.jpg < 1297016252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://df.magmawiki.com/index.php/File:Carp_escape.jpg < 1297016259 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you finally saw it < 1297016261 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://df.magmawiki.com/index.php/File:Carp_escape.jpg < 1297016262 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://df.magmawiki.com/index.php/File:Carp_escape.jpg < 1297016264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i saw it all the time < 1297016266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i was busy pasting < 1297016269 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you never replied yeah < 1297016316 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Not in scope: type variable `someType' < 1297016316 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1297016318 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :needs to be < 1297016321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :forall someType. someType < 1297016321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297016410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.Types> emptyFungeSpace !@ (42,42) < 1297016410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :32 < 1297016411 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :woo < 1297016542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what module is `on` in again? < 1297016544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no hoogle :x < 1297016550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok i'll google. < 1297016553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for hoogle. < 1297016558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Data.Function. < 1297016569 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, did you know that the df author is a mathematician? < 1297016576 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1297016602 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, where is lambdabot? < 1297016646 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :My dad's threatening to take away the mifi he gave me if I don't type stuff up for my step-mom < 1297016661 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.Types> bounds (FungeSpace (Map.fromList [((42,42),3),((-2,40),9)])) < 1297016661 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((-2,40),(42,42)) < 1297016662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay! < 1297016662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: down < 1297016667 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__, MOVE OUT FROM YOUR PARENTS. YOU ARE OLD ENOUGH! < 1297016678 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: we've tried. < 1297016680 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :he won't listen. < 1297016711 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no point saying it over and over for the next twenty years < 1297016746 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :In this document, short stacks are generally notated left to right to mean bottom to top. The leftmost values listed in the documentation are the bottommost and the first to be pushed onto the stack. Long stacks are notated top to bottom, to mean precisely that, top to bottom.. < 1297016748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i was afraid that was going to go: < 1297016752 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Long stacks are notated right to left, " < 1297016756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297016761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*," < 1297016767 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :I'd need to get a job, and possibly not attend school, or not attend as much < 1297016770 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :YOU JUST HAVE TO DECIDE WHETHER IT'S LONG ENOUGH TO FIGURE OUT WHICH WAY TO READ IT < 1297016785 0 :Lymia_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION claps < 1297016787 0 :Lymia_!unknown@unknown.invalid PRIVMSG #esoteric :Yay! < 1297016790 0 :Lymia_!unknown@unknown.invalid NICK :Lymia < 1297016790 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1297016790 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1297016795 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :By BF Joust evolver works. < 1297016795 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::s < 1297016799 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Now to see how well it works. < 1297016801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297016801 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__: type stuff up for your step-mom and keep the rage to yourself < 1297016803 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :awesome! < 1297016808 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I inputted the top 10 warriors on the hill. < 1297016811 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Let's see what comes out. < 1297016819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: and continue to take the abuse and idiocy he gets from his father? < 1297016837 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes. life's a bitch. < 1297016849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: why is this preferable to sgeo moving out like he should have anyway < 1297016867 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust first_test >>-(>++++++->---+)*1>+>->.->+>[-[<-()*24[--]]+>[+()*22[++]]->]+ < 1297016879 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric : Sgeo__, MOVE OUT FROM YOUR PARENTS. YOU ARE OLD ENOUGH! < 1297016885 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :VORPAL LOOKS DOWN ON YOU, SGEO < 1297016892 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :me too! < 1297016899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for once Vorpal said the right thing :P < 1297016902 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: he does not have the resources to live on his own at the moment. he just said as much. < 1297016909 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_first_test: 0.0 < 1297016925 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1297016925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: I don't think you realise just how bad the situation with sgeo's parents are < 1297016931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*is < 1297016945 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Is ()*blah illegal? < 1297016957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: might be, if it is that's a bug < 1297016958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor! < 1297016971 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I don't remember >:P < 1297017002 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Just filter it out, it's pointless anyway :P < 1297017007 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also transform (x)*1 into x < 1297017022 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :at every step, probably < 1297017065 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :that's cheating. the algorithm should find that optimization itself < 1297017076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: no, it's working around a bug in Gregor's code < 1297017081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok the latter thing is cheating, but so what < 1297017090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bounds :: FungeSpace -> (Vector,Vector) < 1297017090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bounds (FungeSpace m) = < 1297017090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : let keys = Map.keys m < 1297017090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : xs = map fst keys < 1297017090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : ys = map snd keys < 1297017090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : in ((minimum xs, minimum ys), < 1297017090 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is writing an awesome solver of things < 1297017092 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : (maximum xs, maximum ys)) < 1297017095 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: YOURS MAY BE EFFICIENT, BUT MINE IS ELEGANT < 1297017097 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(pointfree patches welcome) < 1297017098 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin, what kind of things? < 1297017108 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, are you talking about cfunge? < 1297017114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1297017117 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And... SHIRO < 1297017128 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Why Shiro? < 1297017145 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Anyone experienced with ARM assembly language? < 1297017151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Because it's a fungus-related name and it's short and nice enough. < 1297017177 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, I was about to say "yes" but then realised I had misread it as "AVR". So no < 1297017178 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test_0 ()*1>[[-]>] < 1297017178 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That's not fungus-related at all. < 1297017183 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_test_0: 5.1 < 1297017184 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test_1 >[[-]>] < 1297017200 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_test_1: 5.1 < 1297017222 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh, wait, it is. < 1297017232 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: I have an Arduino here I haven't experimented much with. I never managed to find a decent assembly tutorial. < 1297017268 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_0 (+>>)*2>(>([-[+]]+>)*3[-]-)*33 < 1297017272 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, well that is ARM and I can't help you there < 1297017272 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_0: 4.2 < 1297017277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I'll call it 城. You know, for short. < 1297017281 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or more sanely, 白 :P < 1297017286 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, or? < 1297017298 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_1 (+>>)*2>(>[(-)*20[+]]+>[[-]]-)*32 < 1297017303 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_1: 14.7 < 1297017307 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :... < 1297017314 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I don't have the selection step backwards, do I. < 1297017321 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, oh it is AVR < 1297017325 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I thought it was ARM < 1297017326 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1297017326 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Arduino = AVR :-) I'm just about to buy an ARM board though < 1297017336 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, AVR is quite nice < 1297017342 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, very sane instruction set < 1297017351 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, and of course GCC supports it if you want to do C < 1297017370 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, which AVR is it? < 1297017393 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: can you recommend a tutorial on the assembly. One that doesn't treat me like I've never programmed before. < 1297017417 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, not really. I used the reference guide for the ATmega32A that I used < 1297017428 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, I don't know which model you have < 1297017431 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ATmega168 < 1297017440 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, no clue about that model even < 1297017472 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, we have a lot of evaluation boards with ATmega32 at the university I study at. I found it quite easy to learn how to use them < 1297017501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: putFS k v = modify $ \fs@FungeSpace{fungeSpace} -> fs{fungeSpace=insertFS k v fungeSpace}) < 1297017502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: :( < 1297017555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :putFS k v = modify $ \fs -> fs{fungeSpace=insertFS k v (fungeSpace fs)} < 1297017556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :slightly better < 1297017568 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_0 (+>>)*2>(>([-[+]]+>)*3[-]-)*33 < 1297017572 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_0: 5.5 < 1297017577 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, looks like ATmega32A is beefier when checking specs < 1297017589 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_1 (+>>)*2>(>[(-)*20[+]]+>[[-]]-)*32 < 1297017590 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :http://www.atmel.com/dyn/products/product_card.asp?part_id=4404&category_id=163&family_id=607&subfamily_id=760 < 1297017591 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :http://www.atmel.com/dyn/products/Product_card.asp?part_id=3303 < 1297017592 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_1: 12.7 < 1297017594 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :OK. < 1297017598 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :My evolver just sucks. < 1297017599 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1297017614 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, used the AVR Dragon board with JTAG stuff to program the ATmega32A < 1297017673 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well your has higher clock speed < 1297017721 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :ACTION googles how to move out  < 1297017723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Aww. < 1297017729 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: I suggest removing the ()* and ()% code. < 1297017730 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION came up with a name for my lang idea: Onecode < 1297017732 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: I bet it will do better. < 1297017740 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :? < 1297017745 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, maybe. < 1297017745 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :The Arduino has a bootloader so it can be programmed over USB. I've programmed it a bit in C, but that's about it. (Flashing Hello World in Morse Code, etc!) < 1297017746 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Because it'll have a simpler view of the program. < 1297017756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Make sure to expand all the programs on the hill first (or do it in your loading stage). < 1297017761 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1297017770 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, ah < 1297017774 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: < 1297017776 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :bounds (FungeSpace m) = (both minimum &&& both maximum) . unzip . Map.keys $ m < 1297017776 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric : where both = join (***) < 1297017794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: That's actually quite elegant. < 1297017796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Saved for later. < 1297017808 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :How far did funktio's HsFunge get, btw? < 1297017820 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, well the RISC code of AVR was trivial to learn I found. But I coded both PIC12F629 and H8/300 before < 1297017821 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :All the way through. < 1297017832 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_1 >+>->+>->+>->+>---<++<--<++<>-(<++<++(-+)*16>([]>)*17>)*5>(-)*16>>([]-)*15>([].)*17>([]+.-)*16(>(.><[]-)*21[.-])*21 < 1297017838 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_1: 0.2 < 1297017840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers renaming getFS and putFS to peek and poke... < 1297017846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But then they don't mirror the Funge instructions' names. :( < 1297017849 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_2 >+>->+><>+>->+>---<++<--<++<>-(<++<++(-.+)*17>([])*16>)*5>(-)*16>(+)*15>(-)*15>(.)*15>([]+.-)*17(>.[-+])*21 < 1297017856 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, if you are mainly used to x86 it might help to remember that it is a load/store arch < 1297017858 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_2: 0.0 < 1297017861 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::v < 1297017865 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1297017871 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I guess I'll check if expanding loops helps. < 1297017878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, an empty Funge stack is an infinite list of zeroes, right? < 1297017896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Yeah, I think it isn't "clever" enough to understand ()* properly. To use really bad terminology. < 1297017903 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Quite. But you need to be able to give the length of the nonempty bit. < 1297017916 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yeah what Deewiant said faster than I could write it < 1297017918 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(So you can't just store it as an infinite [Int]) < 1297017924 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'm running the mutation function used on the whole thing on each loop, or repeat segment. < 1297017927 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Right. < 1297017932 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Just checking that there's always a TOS and SOS. < 1297017934 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(But ([Int],Int) might be sufficient.) < 1297017939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: You remember to remove the previous warriors of this generation before trying a new one, right? < 1297017944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise they'll just end up fighting each other. < 1297017947 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :? < 1297017951 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: ? < 1297017958 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why not just [Int] and handle empty stack separately? < 1297017969 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If he doesn't want to. :-P < 1297017972 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the way I have it coded, the previous generation becomes garbage collection fodder. < 1297017973 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1297017987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: I mean - < 1297017999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: If the current generation is {a,b,c,d} < 1297018006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Then do you remember to remove a from the hill before trying b? < 1297018014 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise, your program could decide that d is really good because it beat a, b and c. < 1297018035 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I'm doing a matchup of each bot agienst each bot at every step. < 1297018038 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: ([Int], Int) is I think no more convenient than a finite list, because you have to keep track of the Int all the time. < 1297018042 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: OK. < 1297018044 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :I'm fantasizing about finding a job, leaving this house... but in all liklihood nothing will change :( < 1297018051 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Just don't battle multiple individuals from the same generation. < 1297018065 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :? < 1297018074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1297018081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What am I saying that you don't understand? < 1297018097 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :<elliott> Lymia: Just don't battle multiple individuals from the same generation. < 1297018103 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :What do you suggest instead? < 1297018104 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :>.< < 1297018112 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Battle agienst the previous generation instead? < 1297018119 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Yes, obviously. < 1297018124 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Eh... < 1297018127 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :That might actually be a good idea. < 1297018127 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :>.< < 1297018128 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Otherwise you can have ten really shit contestants, and one of them wins because it beats the others. < 1297018138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Despite the fact that it will lose against anything good. < 1297018185 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I would suggest battle against current and previous < 1297018207 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Urg. < 1297018210 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If this is generic genetic-algo talk, often you can just propagate few best people of a previous generation unchanged into the new, and then do the ranking there. < 1297018224 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :That'd be harder to implement < 1297018225 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you battle the current as well then you get a dependency against what order you generated them in, which seems a bit messy. < 1297018227 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :;-; < 1297018242 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, unless you pre-generate them all, of course. < 1297018245 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :"Do not leave your home on a bad note if at all possible," < 1297018247 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :HAHAHAHAHA < 1297018274 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust spookygoth >(-)*9>(+)*9(>--->+++)*3(>([+)*6[(-)*7([-)*5[(-)*122[-(])*14 >([+)*6[(-)*7([-)*5[(-)*122[-(])*14)*10>([-)*6[(+)*7([+)*5[(+)*122[+(])*14[-] < 1297018285 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Actually. < 1297018288 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott. < 1297018296 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I could just concat the list of the old programs with the new ones. < 1297018298 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :And select from that. < 1297018300 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for impomatic_spookygoth: 32.8 < 1297018313 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Sure. < 1297018322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That would be reasonable enough. < 1297018340 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust spookygoth >(-)*9>(+)*9(>------>)*3(>([+)*6[(-)*7([-)*5[(-)*122[-(])*14>([+)*6[(-)*7([-)*5[(-)*122[-(])*14)*10>([-)*6[(+)*7([+)*5[(+)*122[+(])*14[-] < 1297018367 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for impomatic_spookygoth: 32.1 < 1297018423 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :is the ()* notation just to make the programs short enough to fit in a privmsg? was it dreamed up for no other reason? < 1297018426 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :impomatic: Stop beating monorail. < 1297018463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: Efficiency. < 1297018466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Of interpretation.) < 1297018495 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh is it interpreted directly? < 1297018508 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs and prays < 1297018510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/WhWe <-- in which Haskell records drive me to drink, suicide, despair. < 1297018523 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I now know that the df wiki uses postgre (it started erroring!) < 1297018530 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, hypothetically, would I e able to ask you for advice? < 1297018530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: SHUT UP, I AM DESPAIRING < 1297018540 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :s/ e // < 1297018547 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :erm, *be < 1297018547 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__, it all depends on what it is about < 1297018560 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1297018567 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__, not if it is about vitamins in oranges. < 1297018568 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust spookygoth (>(+)*7)*2(>+++>+++)*3(>([+)*6[(-)*7([-)*5[(-)*122[-(])*14>([+)*6[(-)*7([-)*5[(-)*122[-(])*14)*10>([-)*6[(+)*7([+)*5[(+)*122[+(])*14[-] < 1297018574 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for impomatic_spookygoth: 32.4 < 1297018575 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__: SHUT UP ABOUT KT-AT < 1297018583 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Going by what Vorpal said.) < 1297018585 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :LOLOL < 1297018597 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I don't know yet if it is about that < 1297018605 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, it was about moving out. < 1297018619 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__, well okay. what do you wonder about it? < 1297018648 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hey Deewiant, rewrite my code. (Your rewrite of bounds was your ticket to a lifetime of rewriting code involving Haskell vectors. It's punishment.) < 1297018658 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Nothing yet, I think. Maybe some encouragement. Perhaps things like whether I should look for and apply for a job first, or see that places to live exist first < 1297018678 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes that the average Unicode chart would fill a 500-page book and then some. < 1297018686 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__, well I don't know much about US. You might have more luck with pikhq and Gregor there < 1297018713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__: Do things I say count as encouragement, or am I too hilariously abrasive? < 1297018721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Non-hilariously abrasive is not a valid answer.) < 1297018730 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__, personally I haven't yet moved out because I haven't had any need. I will likely during next summer (since I plan to continue studies at a different university then) < 1297018764 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i'm too much of a pessimist. you definitely need a job first, cuz...there aren't many jobs < 1297018778 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well that might be US < 1297018787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo says he likes drudgery maintenance programming, and he likes C#. < 1297018791 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, I wasn't saying I'd move out first then look for job. Just saying whether I should research jobs in isolation of housing requirements < 1297018794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can't be too hard to get a job like that :P < 1297018808 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :looking in Sweden I'm qualified for most programming jobs and there is a *huge* lack of workers here for that < 1297018822 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :meaning I could pretty much pick what I wanted < 1297018824 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_0 >[(+)*17>(>++++++>---+--)*1>+>]->->+(>[-(+)*22[-]]+>[+(-)*21[+]]->+)*21 < 1297018828 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_0: 9.4 < 1297018838 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_1 >[(+)*17>(-)*19(>++++++>------)*1>+>]->->+(>[[-(+)*22[-]]+>[+(-)*21[+]]->]+)*21 < 1297018839 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: you forgot to remove the () code :P < 1297018842 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_1: 23.0 < 1297018844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1297018849 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'll do that later. < 1297018850 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1297018853 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :sgeo: you need to research them together. you can't have a job you can't live near and you can't afford housing without a high enough salary < 1297018859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: what's 0 vs 1 here? one generation later? < 1297018866 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no. < 1297018871 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Last place, vs top place. < 1297018876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1297018879 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: how many generations? < 1297018888 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :13 < 1297018902 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, in Sweden the situation for computer scientists and computer engineers is pretty much that you can name your pay. There is such a lack of people with the right education here. < 1297018906 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: try 100 < 1297018916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: can i come live there?! < 1297018917 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=3 < 1297018922 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :any haskell job openings? < 1297018927 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, mostly C# < 1297018929 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1297018935 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :uhh... any python? :P < 1297018945 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, possibly at universities < 1297018954 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maybe i'll pass < 1297018957 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, anyway I could survive coding C# if I had to (though not C++) < 1297018968 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, compared to C++... C# is quite sane < 1297018978 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeaaaah but no thanks < 1297018987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :unless i'm paid like a million pounds < 1297018996 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I doubt you can go *that* far < 1297018997 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i wonder how to make my accessing code less awful < 1297019003 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :blehhh why do haskell records suck so much < 1297019004 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :elliott, C# is not terrible. It's not great, but not terrible < 1297019007 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :worst part of the language < 1297019015 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :I mean, relative to other mainstream languages < 1297019053 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I still wonder. < 1297019063 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Why arn't we using managed languages for browsers. < 1297019075 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :because they are slow < 1297019084 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :or at least people think so < 1297019085 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It would eliminate the problem of arbitary code execution < 1297019088 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(and many of them are) < 1297019099 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I don't see how it being slow is a bigger concern that security. < 1297019100 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1297019113 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Lymia, it isn't. But to many people it is < 1297019114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we are, it's called java < 1297019116 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*script < 1297019118 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nasty typo < 1297019125 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, XD < 1297019126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also js in browser is already incredibly slow. < 1297019134 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Wasn't there a browser written in Java once? < 1297019135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: firefox's UI is all javascript at least < 1297019138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well. javascript and xml. < 1297019140 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and css. < 1297019146 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :XUUUUL. < 1297019151 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(It's good for shouting.) < 1297019151 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__, yes < 1297019151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: but the real question is: why aren't we using managed languages for everything. < 1297019156 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo__, for sunos iirc < 1297019157 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and the answer is that people suck. < 1297019161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, managed doesn't matter. safe does. < 1297019165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you can compile a safe language to raw machine-code. < 1297019186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :05:36:54 Weird question: is there something you can do with sound/music to make it sound better on tinny speakers? Sort of adapt it to the expectation that it'll be played on speakers that suck ... < 1297019188 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I want to compile it to a lower level! < 1297019189 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I guess "managed" is a bit too general. < 1297019196 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Well, you can compress music to shit to make it sound good in cars. < 1297019199 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Unless you do something really weird, anything memory safe should work, no? < 1297019212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Indeed. < 1297019232 0 :Sgeo__!unknown@unknown.invalid PRIVMSG #esoteric :Nimrod ::trollface:: < 1297019236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :time until Lymia joins my Cult of Why Does Every Operating System And Program And Thing Suck Ever: a few weeks. < 1297019244 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::V < 1297019252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: (partially Vorpal): I'm counting on you to be nice to the initiate-to-be. < 1297019282 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, uh. I don't agree they all suck. Genera didn't really suck! < 1297019291 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*all the ones anyone uses < 1297019298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also, I said "partially Vorpal" < 1297019302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it was directed to about half of you. < 1297019304 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, :P < 1297019317 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wait is this some transporter accident thing? < 1297019321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1297019329 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :awesome < 1297019337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :06:52:23 Gregor. < 1297019337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :06:52:24 Quick question. < 1297019337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :06:52:31 (a{b}c{d}e)*2 < 1297019338 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that is invalid < 1297019340 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although i think i've told you that < 1297019342 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: is it a cult of personality? < 1297019344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(in more ways than one) < 1297019345 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Speaker equalization" is a term associated with the "take into account the suckiness of my speakers" sort of things, but there's of course only that much you can do. < 1297019348 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: if hate is a personality. < 1297019350 0 :Sgeo__!unknown@unknown.invalid NICK :Sgeo < 1297019360 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :no, you are the personality < 1297019365 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1297019365 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hate is. < 1297019416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:31:07 quintopia: It is publicly available at: gopher://zzo38computer.cjb.net/1textfile and at http://zzo38computer.cjb.net/textfile/ < 1297019416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:33:02 They are not currently accessible by teletype or fax. < 1297019417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:33:45 ah, so you do have a sense of humor :P < 1297019422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: i don't think he was joking. < 1297019432 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I wonder how this would look like for minecraft! A lot simpler I bet. http://df.magmawiki.com/images/6/67/DFflowchart.png < 1297019439 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh and that flow chart is INCOMPLETE! < 1297019444 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: what the heck :D < 1297019449 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: do not shatter my entire worldview please < 1297019450 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what? < 1297019454 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that chart < 1297019469 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, "Production flowchart for all workshops. Not all items are represented!" < 1297019474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1297019491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1297019493 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I think it makes perfect sense < 1297019498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i've forgotten how to code with haskell records :( < 1297019500 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to see the same in GraphViz. < 1297019513 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :is it the fsm for individual dwarves? < 1297019515 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It does pretty horrible things to large graphs.) < 1297019525 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297019532 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :well i can't read it < 1297019540 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, no a flow chart for requirements and dependencies between different workshops < 1297019542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: his irc client just syntax highlights the raw messages btw < 1297019544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and handles input < 1297019544 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :like how you produce glass < 1297019545 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :#haskell used to have a troll that popped in regularly to complain about records and pretty much said nothing else < 1297019551 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :you can figure it out from that diagram < 1297019557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that's not a troll, that's a hero < 1297019567 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Whereas here we have elliott who complains about a lot more things too. Multi-tasking! < 1297019576 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :vorpal: i can't read the diagram < 1297019585 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, oh? why not < 1297019606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I COMPLAIN ABOUT YOU < 1297019628 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: i guess it doesn't render in high enough resolution? < 1297019636 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, zoom in? < 1297019642 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, in firefox click on it < 1297019650 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: well, it appeared this person didn't use haskell at all except for the purpose of complaining about records in haskell < 1297019669 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :yeah. that doesn't help in the default android browser...it just stays blurry < 1297019670 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and yeah it would do weird things in graphvis < 1297019672 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :viz* < 1297019705 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, can't help you with that < 1297019823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1297019825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :findMin :: Map k a -> (k, a)Source < 1297019825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :O(log n). The minimal key of the map. < 1297019825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :findMax :: Map k a -> (k, a)Source < 1297019825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :O(log n). The maximal key of the map. < 1297019832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if you can specify a comparatorator < 1297019848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, seems to be hardcoded :( < 1297019856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because of the Ord instance I guess < 1297019863 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :if you newtype the key type you can have your own Ord instance < 1297019894 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It uses Ord because it uses the structure of the tree, you'd have to specify the comparator manually for every single function if you wanted to do that; and that's what the Ord instance basically is :-P < 1297019896 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It can't really work with a comparatomator that hasn't been... < 1297019900 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Like, what Deewiant says. < 1297019900 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :http://imgur.com/AAZln < 1297019902 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: indeed < 1297019910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: yeah but i need two different ords :P < 1297019912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in one map < 1297019917 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, you need two maps ;-) < 1297019925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: two fungespaces? :D < 1297020003 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you can use minimumBy on keys < 1297020017 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that's what i did < 1297020017 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1297020020 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :basically < 1297020044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner do you know why Haskell is the worst language ever? < 1297020056 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because push and pop at the bottom of http://sprunge.us/WhWe are impossible to implement if not hideously ugly, and this will never change < 1297020062 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and that's why all haskell programmers are bad people < 1297020063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :PROVE ME WRONG < 1297020073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bash.org tells me this is the most effective way of getting help < 1297020085 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You just lack all the relevant helper functions < 1297020095 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it probably is < 1297020100 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: oh yeah, like what < 1297020105 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Like, say, pop that works on a StackStack instead of a StateT FungeState IO < 1297020135 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pop :: State StackStack Value < 1297020137 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For instance :-P < 1297020151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I don't think there's any mechanisms to use a "sub-state" in State < 1297020156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so I'm not sure how you'd do that < 1297020162 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :just add a mechanism then < 1297020163 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or do you mean turn the record into stacked StateTs? < 1297020165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that seems ugly < 1297020168 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Of course there is, runState < 1297020178 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's just pop :: StackStack -> (StackStack, Value) < 1297020183 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: That would just give me a tuple of (StackStack, Value). < 1297020186 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I just used State to avoid writing StackStack twice :-D < 1297020188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: So I'd have to do get and put. :P < 1297020190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1297020194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well it'd be < 1297020214 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, from df wiki article: "(Note that the labor associated with the skill "small animal dissection" (namely "Extract from a dead animal") is used solely at a butcher's shop. But that skill is one of the three that can build a kennel, and is listed as such. Just accept it.)" < 1297020217 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pop = do (x,ss') <- popSS . stackStack <$> get; modify $ \fs -> fs{stackStack = ss'} < 1297020220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh yeah, so elegant. < 1297020222 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1297020228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :voorwat < 1297020233 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Vorpal: wat < 1297020236 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :We play Dwarf Fortress here too? < 1297020239 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, indeed! < 1297020243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Vorpal does < 1297020247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the rest of us just play minecraft < 1297020250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aka < 1297020253 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I play minecraft as well < 1297020254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Dwarf Fortress: The Wimpmode < 1297020262 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: modifySS :: StackStack -> StateT FungeState IO, etc. < 1297020264 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Notch's wad of horrible code? < 1297020268 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1297020276 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Lymia, yes but the game itself is good < 1297020277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: That should be called putSS. < 1297020278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Indeed. < 1297020278 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or something like newSS rather, whatever. < 1297020282 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Lymia, as in, it is fun to play < 1297020282 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Lymia, it's horrible code but it's a fun game. < 1297020290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: We are more familiar with how bad his code is than anyone else, being Scientists. < 1297020294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Applied Scientists of Code. < 1297020298 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Also, we have a special channel for this, at #esoteric-minecraft < 1297020301 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :You mean reverse engineers? < 1297020305 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1297020306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: No, we just have a proxy. :p < 1297020320 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :write modifyStackStack :: (StackStack -> StackStack) -> (FungeState -> FungeState), then push x = modify (modifyStackStack (x:)), pretty much... < 1297020324 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, THIS IS SECRET WE SHOULD BE TALKING IN -MINECRAFT < 1297020325 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Reverse engineering stuff is fun! < 1297020326 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1297020330 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: FINALLY < 1297020335 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hello < 1297020342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oerjan has managed to translate unlambda fully into underload < 1297020344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :including d, v, and c < 1297020376 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you need more to modify the head stack of the stackstack though, which I assume is what you're supposed to do there? < 1297020391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that's the TOSS < 1297020409 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, elliott, you will need to modify SOSS too in some cases < 1297020418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: yeah, but i can do that manually < 1297020421 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(though not SOSSAR) < 1297020424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :all i want is push and pop and shit :P < 1297020427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SOSSAR? < 1297020427 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(note: olsner will get it) < 1297020443 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, Swedish political joke < 1297020452 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :bad one too :/ < 1297020455 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, yes < 1297020456 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :true < 1297020456 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well that was obvious < 1297020459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(it being bad) < 1297020473 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : ais523: oerjan has managed to translate unlambda fully into underload <--- hey, I did that too < 1297020478 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was the inspiration for Underlambda < 1297020484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although, I accidentally deleted it < 1297020502 0 :cheater00!~cheater@g231049150.adsl.alicedsl.de JOIN :#esoteric < 1297020504 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's what inspired me to save backups in different directories, so I wouldn't be caught out again by rm * < 1297020512 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, haha < 1297020512 0 :cheater-!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297020518 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ais523. < 1297020524 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Translate Brainfuck into Unlambda. < 1297020528 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and *I* made 1/4th of an Underload self-interpreter < 1297020529 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ((a)(b)(c)(d))(*)*^(::**)(~a~*)~^()~^ < 1297020530 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1297020533 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: this results in ((a)(b)(cd)) < 1297020534 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: I translated P'' into Unlambda a while ago < 1297020547 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Translate Haskell into Unlambda. < 1297020548 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: without cheating, presumably < 1297020551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yep < 1297020560 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ((a)(b)(c))(::**)(*)(SUBTRACT)(~)~a*^(*^)~a*~a*^^(~a~*)~^()~^ is, modulo errors, the skeleton of most of a self-interpreter < 1297020565 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the first two stack elements are the stack, and its size < 1297020566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: that would be ouch, although also interesting < 1297020572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: a decrement-by-one goes in place of SUBTRACT < 1297020578 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: do you need to know the size? < 1297020580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes < 1297020586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, basically, given < 1297020598 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to figure out where it comes up < 1297020599 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stack, size of stack, operation to execute, function from size of stack to size of stack after operation < 1297020600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it gives you < 1297020606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :new stack, size of new stack < 1297020609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because how it works is < 1297020613 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, in order to get rid of the rest of the stack < 1297020613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((a)(b)(c)(d)) < 1297020614 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1297020615 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after pushing < 1297020616 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((a)(b)(c)(d)*) < 1297020617 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1297020619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)(cd) < 1297020622 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then it goes < 1297020623 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)(cd)() < 1297020625 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because you don't have infra and ultra, like in underlambda < 1297020625 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)()(cd) < 1297020628 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)()((cd)) < 1297020631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)((cd))() < 1297020632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)(b)((cd)) < 1297020636 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)((cd))(b) < 1297020638 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)((cd))((b)) < 1297020641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)((b))((cd)) < 1297020644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(a)((b)(cd)) < 1297020645 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :etc. < 1297020648 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to reclaim the stack < 1297020704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, I have some upp code somewhere that rewires an Underload program to do that automatically < 1297020735 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: jesus christ i hate you :D < 1297020739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"so hey oerjan did this thing" < 1297020741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"YEAH, I DID THAT ONCE" < 1297020743 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"and I did this thing" < 1297020745 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"BEEEN THEEERE" < 1297020753 0 :Behold!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1297020757 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: your approach is different to mine, though < 1297020766 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it's fine for them both to exist < 1297020768 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1297020782 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_2 >>->(>.+++++<-----)*2>-(+-)*5--++([-[[--](+)*20[<]]+-[<+[(+[])*8]+].>]>+)*19 < 1297020793 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: is that the result of your BF Joust evolver? < 1297020797 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_3 (>>->(>.++++<---+--)*1>>)*3.(-)*6-->+([-[--(+)*20[-]]+-[<+(+)*10[][]].>]+)*23 < 1297020798 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1297020804 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: how many generations? < 1297020807 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it certainly doesn't look like the sort of thing someone would write by hand < 1297020808 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_2: 0.0 < 1297020809 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[][] is obviously dead code < 1297020810 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :75 < 1297020811 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_3: 8.4 < 1297020815 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no it isn't < 1297020819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, indeed < 1297020820 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: SHALL I BAN HIM < 1297020825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: who < 1297020828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's actually impossible to write dead code in BF Joust < 1297020837 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: THAT AIS523 RASCAL < 1297020840 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's possible. < 1297020840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes! < 1297020843 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :<[] < 1297020843 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except right at the start of the program < 1297020844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, all you need is a way to go from church numeral of ascii value of *valid* underload instruction --> quotation of its operation plus function representing its stack effect < 1297020846 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :The [] is dead code. < 1297020848 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when you know the opponent isn't interfering < 1297020848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and also a gigantic table of output values < 1297020853 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I think you can even output ( and ) < 1297020854 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: oh, right < 1297020854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :by using "a" < 1297020859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: after mapping all the subelements < 1297020863 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you can, just only in pairs < 1297020866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: right < 1297020884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so yes, I think you could make a complete underload self-interpreter in maybe 15 to 20 lines, ignoring the ascii table < 1297020889 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott. < 1297020896 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that seems plausible < 1297020900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Stop pinging me like that. It's really irritating. < 1297020905 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hugs elliott <3 < 1297020906 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Sorry~ < 1297021012 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've been working on 1cnis all weekend < 1297021020 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:14:28 Looks like there arn't any crash bugs in my BF Joust evolver... < 1297021020 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:14:35 I'm going to let it run for a night and see what comes out. < 1297021021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what happened? < 1297021025 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It crashed. < 1297021026 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :adding a few features like a simple preprocessor (RLE and substitution of constants) < 1297021026 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: really? < 1297021030 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION decides to just spam it < 1297021033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: really < 1297021036 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: spam what < 1297021049 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :s: ((~a(~(*a(~^)*a(*)*~*^)~*a(~a(a(~)*~a(~^)*a:)~)~(**a(~a)~(*~^)**~^)**a(~a)~(*~^)**~^)*~^)~^) < 1297021050 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've decided that I really badly want to generate a 2,3 machine initial condition using 1cnis < 1297021053 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :k: ((~a(~a(~!)~(~^)**a(~a)~(*~^)**~^)*~^)~^) < 1297021055 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i: ((~a(^)*~^)~^) < 1297021058 0 :pumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1297021058 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :v: ((~a((a(:^)*a(~a)~(*~^)**a(~!)~(~^)**^):^)*~^)~^) < 1297021060 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :` (postfix): a(~)~(~^)**a(a)~(*)**~* < 1297021062 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ouch, that's complex < 1297021063 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :.x: ((~a(~a~*((x)S)~*^)*~^)~^) < 1297021065 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :d: (((a(~)*~a(~^)*a(~^)**)~*a(~a)~(*~^)**~^)~^)))~^) < 1297021065 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably to allow for c < 1297021068 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :c: ((~a(:a~(!)~*a(~a)~(*~^)**a(~^)*a*~*^)*~^)~^) < 1297021070 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :e: ((~a(!!)*~^)~^) < 1297021071 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also d < 1297021073 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :End of file: (!)~^ < 1297021086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: does that end of file do anything useful? < 1297021089 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the method I used to allow for d was rather simpler than that, IIRC < 1297021090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, yes < 1297021095 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: run the program... < 1297021107 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw, when implementing catbus, I realised that Underload was the epitomic programming paradigm < 1297021112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :epitomic? < 1297021113 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1297021116 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1297021118 0 :TLUL!~TLUL@wikia/The-last-username-left JOIN :#esoteric < 1297021124 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mean, what does the word mean? < 1297021127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the epitome! < 1297021132 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because it's the same as the paradigm that catbus (now called "tie") gives Unix pipes < 1297021134 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which I will now clal < 1297021134 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*call < 1297021144 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :purely functional recursively-composed piping < 1297021149 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*purely functional recursively-composed concatenative piping < 1297021159 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :haha, that is a good description < 1297021160 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: for instance: < 1297021168 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ tie 'nc irc.freenode.net 6667 | ./mybot' < 1297021174 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: tie ties the two ends of this pipe together < 1297021182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so that mybot's output goes back to nc < 1297021190 0 :copumpkin!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1297021196 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but the thing is, from a functional perspective, we can see tie as fixing function concatenation < 1297021213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: (tie (nc irc.freenode.net 6667 | ./mybot)) = nc irc.freenode.net 6667 | ./mybot | nc irc.freenode.net 6667 | ./mybot | nc irc.freenode.net 6667 | ./mybot | nc irc.freenode.net 6667 | ./mybot | ... < 1297021216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I know I created a bunch of stuff doing that sort of thing a while back < 1297021225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the thing to realise here is that the "nc"s and "mybots" there are the same < 1297021229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because of referential transparency < 1297021234 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to be precise, I created a wrapper executable that did what named pipes did, because I was unaware of the existence of named pipes < 1297021237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the interesting thing is that the first nc never gets any input < 1297021239 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yep < 1297021241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so although tie's semantics are to tie the end to the start < 1297021245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it actually just creates an infinite chain < 1297021247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :semantically < 1297021257 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the executables share state < 1297021267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's more like, you'd do it like < 1297021270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :foo <- nc irc.freenode.net 6667 < 1297021272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bot <- mybot < 1297021273 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then it's < 1297021277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :foo | bot | foo | bot | ... < 1297021305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, yes, basically, as far as I can tell, the perfect paradigm is _lazy_, purely functional, concatenative piping < 1297021315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: lazy being important because it lets you construct that infinite pipeline without indirection < 1297021322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :of course, evaluating such a lazy language sounds non-trivial < 1297021327 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :we should make a lazy underload < 1297021334 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :agree < 1297021342 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :without S and infinite loops, you could lazify it without making any difference < 1297021358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: in other news, I have been working on a specification for Underload < 1297021359 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I/O is always an issue in lazy langs... < 1297021370 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you mean there isn't one? < 1297021375 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the special thing about this specification is that it's formal < 1297021391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it consists of a mix of English prose and Haskell, where the Haskell takes precedence over the English in cases of contradiction < 1297021399 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the Haskell specifies the executable formal semantics of the language < 1297021406 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that it doubles up as a reference interpreter is just a bonus < 1297021410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1297021418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I was inspired by http://catseye.tc/projects/burro/doc/burro.html < 1297021437 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, is haskell itself formally specified? < 1297021438 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, at least that one loads < 1297021459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the plan is to finish it off, get your approval, and call that the Official Underload Specification(TM) ... there's at least reason to claim the language needs a second specification < 1297021467 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in that this one lacks the " stuff that nobody implements :P < 1297021476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's quite hard coding Haskell to convey semantics well < 1297021487 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :easier than coding C to convey semantics well < 1297021489 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or VHDL < 1297021495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I've been avoiding helper functions in case their "implementation details" affect the semantics < 1297021498 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Haskell and Prolog are good langs for that sort of thing < 1297021500 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :e.g., I didn't use Parsec for the parser < 1297021505 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523 why VHDL as an example < 1297021511 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(mostly because a language's definition depending on Parsec's is just insane) < 1297021513 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I would say INTERCAL or befunge even more so < 1297021527 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: becaues VHDL is so incredibly low-level < 1297021545 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but it would be easier with VHDL than with INTERCAL! < 1297021548 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: What helper functions did you say I needed again? :-) < 1297021550 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :levels of programming aren't numbered, but if they were, VHDL would be at least 2 or 3 below machine code < 1297021573 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, very true < 1297021596 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :writing VHDL is quite painful I have to say from personal experience < 1297021601 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I think olsner had it mostly right 2011-02-06 21:43:37 ( olsner) write modifyStackStack :: (StackStack -> StackStack) -> (FungeState -> FungeState), then push x = modify (modifyStackStack (x:)), pretty much... < 1297021614 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Just add modifyStack in the middle :-P < 1297021618 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: hmm, interesting, you should be able to say "modifyOn stackStack" < 1297021624 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whereas INTERCAL is slightly above < 1297021626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: also, that doesn't make popping any easier < 1297021636 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Maybe I'll use data-accessor, so that I /can/ say "modifyOn stackStack" < 1297021651 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think INTERCAL's about as easy to use as asm for that purpose < 1297021656 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_4 >>>>(>>>..+<-----)*3>>[(.-(-)*6)*1--]+(.[[-][([[<+-+-][-]]+-)*3[<[][<<<([]>[])*9]+]]>]>+)*18 < 1297021657 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although harder to read afterwards < 1297021683 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13:37:26 it would be nice if fungot pointed out exactly where the error lied < 1297021683 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :elliott: they work now, gave it a link to < 1297021685 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1297021690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: wat < 1297021691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: how do the evolved jousters do against [>[-]+]? < 1297021699 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's close to the smallest BF Joust program that does decently at all < 1297021703 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_4: 0.5 < 1297021705 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :[>[-]+]? < 1297021716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust lout [>[-]+] < 1297021717 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evo_5 >>>>(>>+..+>----)*3>>[(.-)*2--<]+(.[[-][(+[+-+-][[.]-]-)*4[[><[<]][<<(>[])*8]+]]>]>.+)*18 < 1297021718 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust attack1 [>[-]+] < 1297021722 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::v < 1297021723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: IT'S CALLED LOUT NOW < 1297021724 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1297021729 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I called it attack1 first! < 1297021731 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Decoys and brute force? < 1297021733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I CALLED IT LOUT SECOND < 1297021736 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for ais523_attack1: 1.2 < 1297021736 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evo_5: 0.4 < 1297021736 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for elliott_lout: 1.2 < 1297021741 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Buh. < 1297021747 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to revise the program. < 1297021747 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: it's basically just brute force, the decoys happen mostly by chance < 1297021755 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ais523, by chance? < 1297021760 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, as a side-effect < 1297021763 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1297021767 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :of needing a nonzero value to repeat the loop < 1297021769 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's used to keep the loop going, right? < 1297021770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1297021783 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :How am I supposed to figure out which DSPs are best for my requirements? < 1297021790 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: with your brain? < 1297021806 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust attackminus1 (>)*9([-]>)*20 < 1297021811 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for ais523_attackminus1: 5.6 < 1297021811 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: That isn't what I meant by the question. < 1297021816 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's how it looks if you don't use decoys to keep the loop going < 1297021825 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it scores slightly better because at least it beats tripwire :) < 1297021872 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"You can easily manipulate record fields in a Control.Monad.State.State monad" < 1297021877 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I think I'll use data-accessor < 1297021880 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test [>[+]-] < 1297021884 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Vorpal_test: 1.2 < 1297021887 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test [>[+]+] < 1297021894 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Vorpal_test: 1.2 < 1297021897 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test [>[-]-] < 1297021902 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust lout2 [>[-]>[-]+] < 1297021904 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Vorpal_test: 1.2 < 1297021906 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1297021908 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_lout2: 1.1 < 1297021912 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1297021924 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust byebyetripwire . < 1297021930 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_byebyetripwire: 5.6 < 1297021952 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :For one thing, I ought to have a program that accurately emulates the DSP, is Free software, and is written in some literate programming system. Now we can avoid vendor lock. < 1297021952 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test >+>+>+>+>[>[+]-] < 1297021957 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Vorpal_test: 0.0 < 1297021960 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1297021963 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, does FYB have that situation where programs can do well against "good" programs, but lose against no-ops? < 1297021964 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test >+>+>[>[+]-] < 1297021970 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Vorpal_test: 0.0 < 1297021973 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :why < 1297021984 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust test >+[>[+]-] < 1297021985 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: there pretty much are no good DSPs, on that basis < 1297021989 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Vorpal_test: 1.2 < 1297021991 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're all massively vendor-specific < 1297021992 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hrrm < 1297021995 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Also, I should have it using program on external RAM/ROM, no special software required. < 1297021995 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :what does tripwire do again? alternate? < 1297022002 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol @ literate programming requirement < 1297022011 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: no, it skips the first couple of nonzero locations it notices < 1297022016 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on the basis that they're probably decoys < 1297022019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a pure fast-rush attacker < 1297022034 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297022039 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and that gives it the edge to beat other fast-rush attackers < 1297022040 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust byebyetripwire >>+>([-]>)*100 < 1297022045 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_byebyetripwire: 1.4 < 1297022047 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1297022054 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Does it only skip the first decoy? < 1297022063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it skips the first decoy, and the space after < 1297022070 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust byebyetripwire >+>([-]>)*100 < 1297022072 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :try adding that decoy on the second tape element, rather than the third < 1297022073 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_byebyetripwire: 1.2 < 1297022081 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust byebyetripwire (>)*10([-]>)*100 < 1297022084 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_byebyetripwire: 5.4 < 1297022093 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: The reason for the literate programming requirement is for similar reasons to the other requirements. That means full and accurate documentation for the device is available, because the book is the same as the program. < 1297022094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, perhaps the tripwire up there really does skip just one < 1297022110 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which tripwire does best depends on how decoy-heavy the other programs are < 1297022128 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust lout2 [>[-]>[-](+)*10] < 1297022128 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :And it needs that I can have that a user program on the DSP cannot damage the hardware. < 1297022133 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_lout2: 4.1 < 1297022139 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :interesante < 1297022145 0 :kar8nga!~kar8nga@78.104.81.189 JOIN :#esoteric < 1297022186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Surely it should be modifyTOSS, not modifyStack. :-) < 1297022190 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: was that day of the day of the day thing on the mainpage you? I can't remember your exact IP any more, but it's in the right range < 1297022190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Actually, wait, the stack is the name of the TOSS. < 1297022194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yep < 1297022198 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, yes < 1297022209 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :does bfjoust use wrapping? < 1297022250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :modifyStack :: (Stack -> Stack) -> FungeState -> FungeState < 1297022251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :modifyStack f st{stackStack=(s:ss)} = st{stackStack = f s : ss} < 1297022251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :modifyStack f st{stackStack=[]} = st{stackStack = [f []]} < 1297022252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugliest code EVAR < 1297022253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: yes < 1297022255 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :And that it is possible to write a user program on it that can make two channels of audio output and one channel of video output including emulation of other systems such as GameBoy Advance, and Commodore 64, audio/video, and other things that you are able to program in. < 1297022259 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: 8-bit wrapping, it makes a really big difference < 1297022265 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Is such DSP existing? < 1297022270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in that it's possible to take a flag down from 128 to 0 either upwards or downwards < 1297022281 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1297022284 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :so then < 1297022290 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: DSPs typically can't run processor emulators at any reasonable speed, they have the wrong sort of architecture < 1297022301 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you'd have better luck for doing that with an FPGA, but those are realy problematic for other reasons < 1297022301 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust lout3 [>[-]>[-]-] < 1297022303 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :O, and also RAM accessible by both the DSP and external processors at the same time. < 1297022306 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_lout3: 0.7 < 1297022313 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1297022327 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I do not need to emulate any processor. Just emulation of the audio/video units of other systems. < 1297022329 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust beatstripwire (>)*100 < 1297022331 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Why would the stack stack ever be empty? < 1297022334 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_beatstripwire: 0.0 < 1297022340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: hmm < 1297022342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Because it has an infinite number of empty stacks on it. < 1297022344 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust beatstripwire .(>)*100 < 1297022347 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_beatstripwire: 0.0 < 1297022348 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :CPU emulation can be done using a normal processor which is connected to the DSP. < 1297022349 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1297022351 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: that loses to tripwire because it falls off the other end before tripwire can reach it < 1297022353 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: So... it's never empty < 1297022354 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it needs to be slower than that < 1297022356 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1297022358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It can be physically empty. < 1297022363 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :tripwire has to contain conditionals, they slow down the movement < 1297022365 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Just like the stack [] is actually [0,0,0,0,...]. < 1297022369 0 :Behold!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1297022385 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Still, pop is quite ugly: {{ pop = do x <- tos; modifyStack tail; return x }} -- and that doesn't even handle an "empty" stack. < 1297022387 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :So. < 1297022393 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((modifyStack tail) will fail.) < 1297022394 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :How embaressing is it to lose to a noop again? < 1297022404 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: modifyStack (drop 1) < 1297022406 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Do you know anything about these kind of things to be able to give answer? < 1297022412 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Fair enough. < 1297022413 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: not very < 1297022416 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1297022425 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Are you sure that won't be inefficient, though? :-) < 1297022433 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!fyb shouldnt-win % < 1297022436 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: not really, except that what you say seems incredibly optimistic, based on the typical behaviour of FPGA and DSP vendors < 1297022441 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Representing stacks as [Int32] already is ;-) < 1297022459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Well, not _that_ inefficient. < 1297022466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Most stack operations are perfectly linked-list-friendly. < 1297022521 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but having the stack be essentially a pointer to a struct stack { stack* next; int* value; } is a bit wasteful :-P < 1297022534 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :modifyFungeSpace f st{fungeSpace=fs} = st{fungeSpace = f fs} < 1297022537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Parse error in pattern" < 1297022537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHYY < 1297022541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1297022542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Needs to be < 1297022545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :st@FungeState < 1297022551 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :ais523: It doesn't matter if the vendor will provide the Free literate program that accurately emulates the DSP, as long as such a program can be exist. < 1297022551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because, you know, it's just not ugly enough as it is. < 1297022555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Wasteful memory-wise, sure. < 1297022562 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'll pack it together later. :p < 1297022565 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Also cpu-wise. < 1297022578 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you don't *have* to pattern-match the record you know < 1297022586 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_shouldnt-win: 5.1 < 1297022588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: MEH < 1297022589 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :And that the vendor cannot deny that the emulator works properly. < 1297022595 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Not really... < 1297022603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: As I said, most operations are linked-list friendly. < 1297022604 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Swapping the top two elements of the stack is what, three memory reads and four writes? :-P < 1297022617 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :modifyFungeSpace f st = st { fungeSpace = f (fungeSpace st) } < 1297022620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: OH NOES < 1297022625 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: MINE'S MORE EFFICIENT < 1297022640 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Hey, Funge-98 is all about the SPEED < 1297022644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IT IS < 1297022646 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ALL ABOUT THE SPEED < 1297022657 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I want to start with basic programs, start evolving, and see what happens. < 1297022660 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :So. < 1297022661 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Do you have to keep track of how many real stacks there are on the stackstack? < 1297022665 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :[>[-]+] < 1297022668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Probably the best idea. Ask ais523 for attackN and defendN. < 1297022669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :For some N. < 1297022682 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :And [(++++++++)*100] < 1297022704 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes ais523  < 1297022710 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Maybe, I can't remember. < 1297022726 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HEY VORPAL < 1297022728 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :umm, hmm < 1297022734 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Probably not for the standard, but maybe a fingerprint. < 1297022771 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Now I just have to figure out how to rename modifyStack so that I don't have to do modify $ modifyStack which looks ugly :P < 1297022775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Maybe mStack. < 1297022789 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I could put them in the monad, but, that's UGLY! < 1297022794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK, no it's not. < 1297022796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's going in the monad. < 1297022870 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ais523, <elliott> Lymia: Probably the best idea. Ask ais523 for attackN and defendN. < 1297022883 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: yep, I'm trying to package them atm < 1297022929 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you might want to omit the really bad ones < 1297022938 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :istr there were two or so really bad defend ones < 1297022944 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :indeed, the first few were all awful < 1297022949 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because defend's harder to write than attack < 1297022955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : No instance for (Applicative (StateT FungeState IO)) < 1297022956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wtf? < 1297022967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think 5 was the only one that accomplished anything at all, and 7 was the first really good one < 1297022989 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust stall >>>(+)*30<[+](>)*25+[>[-]+] < 1297022990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: just give the attacks and defend5/7, then < 1297022993 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_stall: 0.0 < 1297022993 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no point starting on a terrible hill < 1297023010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now I'm wondering what happened to 6 and 8 < 1297023025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm also curious as to why 7 beats 9 on the hill, too; I think 9 might just be too complex for its own good < 1297023057 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :what does defend do? just sit at home and keep it from zeroing? < 1297023060 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust horrible_idea (>)*10([-]>>)*20 < 1297023065 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_horrible_idea: 2.3 < 1297023072 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: I think so, although that's kind-of hard to do < 1297023076 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :defend1, that is < 1297023078 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1297023095 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :defend7 alternates between preventing its own flag from zeroing, and zeroing its opponent's < 1297023108 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :how? < 1297023112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: http://pastebin.com/raw.php?i=kEDLr57T < 1297023123 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Thakns < 1297023125 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :does it figure out the width of the game? < 1297023126 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Thanks* < 1297023127 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: by relying on the fact that (+)*128 increases the flag faster than any loop can decrease it < 1297023154 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it simply cycles each of the tape elements through their 256 possible values in turn, relying on the fact that the opponent is locked in place and can't interfere < 1297023163 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297023179 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1297023207 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I got a checksum fail on defend2 < 1297023212 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :how does it find its way home again? < 1297023238 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :+>+[]<[[[+..+]+]+] < 1297023244 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Is this defend2? < 1297023268 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1297023274 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it might be a newline issue < 1297023278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: how do you implement Applicative for a monad? < 1297023306 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pure = return, (<*>) = ap < 1297023309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1297023321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-- sigh < 1297023321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (Monad m) => Applicative (StateT s m) where < 1297023321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : pure = return < 1297023321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : (<*>) = ap < 1297023351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! < 1297023353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and a monad! < 1297023355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nothing can stop me now! < 1297023360 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :I was wondering: I would like to put my Lua Underload interpreter on the Esoteric File Archive. I'm kinda new to this; how would I do this? < 1297023374 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Ha, you fell into my trap: I just tried to guilt you into actually doing something! < 1297023383 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`addquote Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! and a monad! nothing can stop me now! < 1297023385 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :294) Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! and a monad! nothing can stop me now! < 1297023386 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: ...I'm so glad I didn't realise you were doing that :-D < 1297023391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: you need to email it to someone with admin access there < 1297023398 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :most such people are relatively inactive, though < 1297023398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: YOU FORGOT TWO SPACES BETWEEN EACH MESSAGE :D < 1297023403 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think there's a list somewhere < 1297023404 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust stall >>+++++>(+)*30[]<[+](>)*25+[>[-]+] < 1297023407 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ... and now you're done with it for this attempt. :-D < 1297023412 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ok thanks! ill look for the list. < 1297023420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: no just say another thing that upsets me < 1297023423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like < 1297023429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i bet you can't even make that typecheck < 1297023435 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_stall: 0.0 < 1297023442 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1297023448 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :brilliant < 1297023451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297023452 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It won't work anymore now that you know what to expect < 1297023458 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: (>)*25 will always die < 1297023462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1297023463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :almost always < 1297023465 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the tape is 10-30 long < 1297023470 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297023477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Why did you admit what you were doing :/ < 1297023478 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i thought the min was 30 < 1297023504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: WHYY < 1297023508 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :the point here was to make egobot take as long as possible to reply tho, not win < 1297023514 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Because you said I was wrong, and I knew it'd make you stop anyways < 1297023518 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Am I the only person who is both sufficiently obsessed with reproducibility and needing of randomness to explicitly srand(0)? < 1297023533 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: lawl < 1297023539 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: you do know that srand(1) happens by default, right? (at least in C) < 1297023541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: no i'll keep going < 1297023542 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: And I was right again! < 1297023543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I MUST KEEP GOING < 1297023546 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so 1 is clearly the standard seed for reproducible randomness! < 1297023554 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Not talking about C, and a lot of languages autoseed. < 1297023564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'M GOING TO WRITE A FUNGESPACE PARSER NOW < 1297023568 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :AND YOU'RE NOT GOING TO BE ABLE TO STOP ME < 1297023570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HOW DO YOU FEEL ABOUT THAT < 1297023578 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Good luck with that, that's actually a bit of a pain :-D < 1297023582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Really? < 1297023588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It's just the same as Befunge-93 loading, isn't it? < 1297023598 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe not if you're happy with inefficiency and only Befunge and that data structure < 1297023606 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And no, not quite < 1297023608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : No, if you see a k followed by three 2s then you have to erase a spiral pattern going out from the centre. < 1297023616 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : This arises because of a comma instead of a . in the original spec. < 1297023617 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You need to drop form feeds, for instance < 1297023620 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : so 1 is clearly the standard seed for reproducible randomness! <-- no it is 4 iirc < 1297023633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no, that's the reproducible random number < 1297023636 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the 4 in the xkcd comic isn't a seed < 1297023637 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not the reproducible seed < 1297023641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :DON'T YOU KNOW ANYTHING < 1297023644 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh right < 1297023655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: DING DING DING NEW DEPENDENCY < 1297023657 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :BYTESTRING < 1297023661 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust stall >+++>--->(+)*30[]<[+](>)*6+[>[-]+] < 1297023669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: (whenever your Haskell program gets a new dependency you have to do that) < 1297023671 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's the law < 1297023674 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_stall: 0.4 < 1297023678 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Let's write a Befunge to Hasell compiler. < 1297023683 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: No :P < 1297023689 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :lul what did it beat? < 1297023701 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust it_kills_tripwire [-] < 1297023702 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : 294) Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! and a monad! nothing can stop me now! < 1297023705 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, okay and then < 1297023709 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :what do we get next < 1297023716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Fungespace loading, as I said. < 1297023720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well, befungespace. < 1297023733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right now I have no idea how I'm going to do Lahey-wrapping. Probably the easy way. < 1297023736 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, right. Remember you need to handle all line endings < 1297023741 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, \r \n and \r\n < 1297023756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: \r *space* \n? < 1297023757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297023758 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :BEST LINE ENDING < 1297023759 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_it_kills_tripwire: 5.4 < 1297023764 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hah, alas no < 1297023781 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Shiro.Types is rapidly turning into Shiro.Everything, < 1297023782 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Everything. < 1297023791 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, bad design < 1297023794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :\r is 13, right? < 1297023797 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: I'll split it up later. < 1297023798 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Unsurprisingly most of your code has something to do with types < 1297023800 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :back when I wrote DOS programs, I used to end lines with \n\r < 1297023801 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I think s < 1297023803 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :so* < 1297023805 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: :D < 1297023808 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on the basis that it worked and I didn't know better < 1297023823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: >_< < 1297023823 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hahaha < 1297023824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*ais523: < 1297023825 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(pure \n doesn't work on DOS, it moves one line down without returning to the start of the line, unless it's sent to a function like printf that translates newlines) < 1297023826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :terrible typo < 1297023827 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ais523. < 1297023831 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Name the three worst of those. < 1297023840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Actually I think I'll split it up now. < 1297023850 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think seeing full stops on IRC is particularly /bad/, it's just weird < 1297023872 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whereas commas in that position are an insane default in some clients < 1297023881 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hey! < 1297023894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, but what do I call the module with both Value and Vector < 1297023899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TypesBeginningWithV? < 1297023902 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :BasicTypes < 1297023904 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that's what I was going to say! < 1297023908 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I shall switch mine to ; then < 1297023912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*ais523; < 1297023923 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust stall +>->+>(+)*30[]<[-](>)*6+[>[-]+] < 1297023923 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hah, beat you to it < 1297023930 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_stall: 0.4 < 1297023938 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no you didn't < 1297023944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : ais523, I shall switch mine to ; then < 1297023945 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, uh? < 1297023945 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : *ais523; < 1297023948 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I was correcting your line. < 1297023951 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh right < 1297023964 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I didn't say I *had* switched it < 1297023966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think I'll just put Vector in Shiiro.Value. < 1297023967 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :just that I shall < 1297023968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :No reason not to, really. < 1297023971 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :which is different < 1297023977 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so your correction was incorrect < 1297024052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cardinal :: Vector -> Bool < 1297024052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cardinal (a,b) = ok a && ok b < 1297024052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : where ok x = x == -1 || x == 0 || x == 1 < 1297024054 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SO ELEGAN < 1297024054 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :T < 1297024056 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*ELEGANT < 1297024080 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust stall +>->+>>+<(+)*30[]<[-]<[-](>)*7+[>[-]+] < 1297024102 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_stall: 2.9 < 1297024108 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :whoa < 1297024108 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1297024119 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: See, splitting this up was the wrong decision, I have a circular dependency now. < 1297024134 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm? < 1297024146 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: abs x <= 1 < 1297024152 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: LESS EFFICIENT < 1297024158 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: No branches < 1297024162 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: MORE EFFICIENT < 1297024163 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Shiro.Stack has functions to push and pop from stacks in the Funge monad FM. < 1297024176 0 :pumpkin!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1297024177 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, another issue with that cardinal one: 1,1 is cardinal in your example < 1297024178 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Shiro.Monad defines FM and FungeState, its state. < 1297024184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FungeState contains a StackStack. < 1297024190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So Shiro.Stack depends on Shiro.Monad and vice versa. < 1297024202 0 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1297024224 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I believe your cardinal function is highly bugged! < 1297024243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh indeed < 1297024248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but that's irrelevant < 1297024250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :circular dependency! < 1297024251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm fucked! < 1297024252 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how so < 1297024256 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because circular < 1297024260 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why is that bad < 1297024273 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I mean it can be initialised in a specific order no? < 1297024288 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust headdesk (>)*10([-])*1(<)*10[](+)*256(>)*11([-])*1(<)*11[](+)*256(>)*12([-])*1(<)*12[](+)*256 < 1297024293 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I wonder. < 1297024294 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_headdesk: 5.4 < 1297024298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: um I think the module system has troubles < 1297024300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with it < 1297024300 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :If I continued this pattern, how well would it do. < 1297024302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :even so, it's ugly < 1297024305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is why people have Types modules < 1297024309 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, even if in the same module? < 1297024317 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'm just going to put all my types in one module < 1297024318 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :WOULD IT BEAT TRIPWIRE? < 1297024322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and have values and functions others < 1297024328 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1297024366 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but then that's ugly < 1297024367 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1297024471 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust silly [[](+)*128] < 1297024479 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_silly: 5.6 < 1297024491 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, does this mean that I beat tripwire? < 1297024499 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1297024502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1297024505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think so, ask ais523 :P < 1297024528 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: report.txt has all the details < 1297024540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but yes, that beats tripwire, it doesn't suicide fast enough to die first, and doesn't set decoys < 1297024554 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :nescience_shade? < 1297024557 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :tripwire is gone. < 1297024577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :gasp < 1297024583 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :We killed it. < 1297024583 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :D= < 1297024596 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :!help bfjoust < 1297024597 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Sorry, I have no help for bfjoust! < 1297024599 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1297024600 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . < 1297024608 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :what was the page < 1297024615 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Generation 11 is full of variations on < 1297024615 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :[>[+]-.-.-.-.---] < 1297024616 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::v < 1297024629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: suggestion: pit programs against *all* previous generations < 1297024634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or at least the past, say, 5 to 10 < 1297024642 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what would that be? < 1297024645 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: that way you avoid regressing < 1297024646 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what would that be? < 1297024649 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :O(n!) or something? < 1297024655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :um no < 1297024658 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :assuming every generation is the same size < 1297024660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then it's O(1) < 1297024664 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I mean. < 1297024684 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's already O(n^2) to the number of bots in each generation... < 1297024692 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :keeping the top two from each generation into the next is also a good idea < 1297024708 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :O(n^(h+1)) where n is the generation size and h the amount of historical generations you compete against < 1297024717 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : keeping the top two from each generation into the next is also a good idea < 1297024718 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this < 1297024719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just do that < 1297024723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then it's two more warriors per generation < 1297024724 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1297024737 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Good idea, I guess. < 1297024760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: All sequences of bytes represent a valid fungespace, right? < 1297024780 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Unless you want to treat the input as encoded somehow (e.g. UTF-any), yes. < 1297024833 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: I see no indication that form feeds must be ignored in Befunge. < 1297024836 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"In Trefunge-98, the Form Feed (12) character increments the z coordinate and resets the x and y coordinates to zero." < 1297024844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But nowhere does it say that it is non-literal in Befunge-98. < 1297024857 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: IT HAS BEEN INFERRED now shut up. < 1297024870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Sorry, am I reminding you of Vorpal-circa-2008? :-) < 1297024877 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or was it 2009. < 1297024910 0 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1297024920 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant's silence only serves as confirmation. < 1297024933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: So is \r
\n a valid line terminator? < 1297024934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : < 1297024947 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hah, that's an interesting question actually :-D < 1297024962 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"Subsequent lines in Unefunge are simply appended to the first" < 1297024970 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, is \r\n\n\r a valid double line terminator? < 1297024973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Ah, is that from what you inferred it? < 1297024981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*fix that line to make sense < 1297024986 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Pretty much, yes < 1297024993 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Unefunge? < 1297024996 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: STILL ... I really don't see even an implication that form feeds get ignored in Befunge :D < 1297025001 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Is that supposed to be a mix of Unlambda ane Befunge? < 1297025002 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: like befunge-98, but one-dimensional < 1297025004 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Form feeds in befunge should work analogously to newlines in befunge < 1297025006 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :and* < 1297025007 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Er < 1297025010 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :s/befunge$/unefunge/ < 1297025010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Based on what? :-D < 1297025019 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Because it only makes sense < 1297025023 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'm trying to DS9k here, you should be supportive. < 1297025025 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Okay, fine. < 1297025032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Add \r\n to the next Mycology. :-) < 1297025033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what do newlines do in unefunge nayway? < 1297025037 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*anyway < 1297025048 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: "Subsequent lines in Unefunge are simply appended to the first" < 1297025054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1297025072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ascii invented textspeak < 1297025073 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And "End-of-line markers are never copied into Funge-Space. ", of course. < 1297025073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"who are you?" (WRU), "are you?" (RU) < 1297025075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297025132 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust bfbf (>+)*9<((+)*127<)*8(>)*8+[[+]>+] < 1297025137 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_bfbf: 0.0 < 1297025148 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fromByteString = go . filter (/=ff) < 1297025164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Shiro: The only Befunge-98 implementation supporting \r\n as a line terminator. < 1297025178 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1297025197 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd argue that that's incorrect but I don't really care enough :-D < 1297025224 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust bfbf (>+)*9<((+)*127<)*7(>)*7+[[+]>+] < 1297025225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yeah, it probably is. < 1297025230 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_bfbf: 0.0 < 1297025232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Technically, that should actually be two lines. < 1297025242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I think it's \r\n, except with a forceful break after the \r. < 1297025249 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because the form-feed operates on lines here. < 1297025284 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-- bug: this accepts \r\n as one newline, whereas it should be < 1297025285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-- the same as \n\n, technically, but who gives a fuck, considering < 1297025285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-- that the ignoring thing isn't actually in the spec at all < 1297025353 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1297025359 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 1 [>] < 1297025366 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_1: 5.6 < 1297025388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: What do initial newlines do? < 1297025390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Add padding? < 1297025398 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Increment the y-coordinate? < 1297025405 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 1 +[[-]+] < 1297025410 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Cause the program to infinite loop, guaranteed? < 1297025411 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 2 [>] < 1297025415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Right. < 1297025439 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_2: 8.2 < 1297025439 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_1: 4.9 < 1297025489 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 3 +[>+] < 1297025493 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_3: 0.0 < 1297025497 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust bfbf ((>+)*4(+<)*4)*64(>)*9+[>[-]+] < 1297025500 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for quintopia_bfbf: 1.0 < 1297025512 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust dumb [+>] < 1297025517 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_dumb: 5.6 < 1297025524 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :whoa < 1297025540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `GHC.Word.Word8' < 1297025540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : against inferred type `Value' < 1297025541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh christ :) < 1297025541 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust dumb [[+>]+] < 1297025544 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_dumb: 0.0 < 1297025554 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hooray, (/= fromIntegral ff) < 1297025558 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 4 +[>+<] < 1297025584 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_4: 0.0 < 1297025640 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 5 ([>][<])*42 < 1297025645 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_5: 5.6 < 1297025674 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 6 ([>][+][<])*42 < 1297025681 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_6: 5.6 < 1297025708 0 :kfr!unknown@unknown.invalid PART #esoteric :? < 1297025713 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 7 [[-]>] < 1297025738 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 8 >>+[[-]>] < 1297025741 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_7: 5.4 < 1297025744 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_8: 5.2 < 1297025823 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : Vorpal: I see no indication that form feeds must be ignored in Befunge. <-- oh? < 1297025827 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ask Deewiant then < 1297025830 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :for where that came from < 1297025866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: His ass, AFAICT. < 1297025869 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1297025874 0 :copumpkin!unknown@unknown.invalid NICK :c0w < 1297025894 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : elliott, is \r\n\n\r a valid double line terminator? <-- triple I think. \r\n, \n, \r < 1297025902 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no clearly it's four < 1297025903 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :\r < 1297025904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :\n < 1297025905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :\n < 1297025906 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :\r < 1297025906 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297025929 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no < 1297026135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fromByteString = FungeSpace . foldl' go Map.empty . zip [0..] . B8.lines . B.filter (/= fromIntegral ff) < 1297026136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : where go m (y,s) = B.foldl' (\m' w -> Map.insert (y,undefined) (fromIntegral w) m') m s < 1297026137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :almost done! < 1297026211 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fromByteString = FungeSpace . snd . foldl' go (0, Map.empty) . B8.lines . B.filter (/= fromIntegral ff) < 1297026211 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : where go (y,m) s = (y+1, snd $ B.foldl' (\(x,m') w -> (x+1, Map.insert (y,x) (fromIntegral w) m')) (0,m) s) < 1297026214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: and how long is YOUR reader < 1297026222 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Very, because my data structure is much more intricate < 1297026231 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And it handles trefunge and unefunge correctly :-P < 1297026232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> fromByteString "abc\ndef" < 1297026232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FungeSpace (fromList [((0,0),97),((0,1),98),((0,2),99),((1,0),100),((1,1),101),((1,2),102)]) < 1297026234 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Look at that, it's perfect. < 1297026244 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 9 ++[.+.-+.-.+.>+>+<<] < 1297026246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I bet it's even efficient, thanks to phyooosion! < 1297026254 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_9: 0.0 < 1297026272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FungeSpace (fromList [((0,0),13)]) < 1297026285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :turns out lines doesn't support \r or \r\n < 1297026292 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 10 >++[.+.-+.-.+.>+<] < 1297026339 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_10: 0.0 < 1297026375 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I fail to remove 32s, yay < 1297026407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(That breaks my bounds function) < 1297026412 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, what re you rying to do. < 1297026415 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :With the -+ and all. < 1297026426 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 11 (>)*9([-]>)*20 < 1297026434 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_11: 5.6 < 1297026438 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Just experiment, is all. I am not trying to win, really. < 1297026445 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust a_derp >-[>[-]+] < 1297026457 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_a_derp: 1.2 < 1297026517 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1297026537 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 12 (>+)*9[+] < 1297026553 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_12: 0.3 < 1297026575 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 12 (>-)*11[-] < 1297026594 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_12: 0.0 < 1297026622 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 13 (>+)*5[+.] < 1297026641 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_13: 0.0 < 1297026690 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 14 ()))((((((((((((((((************** < 1297026690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : paying for homework is fine, as long as you pay well, IMO < 1297026692 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : for example "I'll pay you us$5 this is good money for you considering how poor you are!" is not pay well. it's insulting. make it us$500. < 1297026693 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_14: 0.0 < 1297026696 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :monochrom: the PoppaVic of #haskell? < 1297026788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fromByteString :: ByteString -> FungeSpace < 1297026788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fromByteString = snd . foldl' line (0, emptyFungeSpace) . B8.lines . B.filter (/= fromIntegral ff) < 1297026788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : where line (y,fs) s = (y+1, snd $ B.foldl' (byte y) (0,fs) s) < 1297026788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : byte y (x,fs') w = (x+1, insertFS (x,y) (fromIntegral w) fs') < 1297026796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: how readable is THAT!! < 1297026815 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it actually is pretty readable, if you read it backwards :P < 1297026841 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 15 (>++++++++++>++++<++++>+++++++>++<++++>++++[>+++<+++>++<++++]>>+++<+++>+>++++++<++++>+++>+<++++<+<++++<<++++>+<+[<+>+])*12[-<>+]+[+]<[-]<>><><<>>><<><>>+++++++ < 1297026874 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_15: 0.0 < 1297026915 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: You're going to need a union function or give that a FungeSpace as input if you want to implement 'i' without mostly rewriting that < 1297026936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Easy enough to take a FungeSpace as input... probably more efficient than union too. < 1297026941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Does "i" really load at position (0,0)? < 1297026963 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, "i" takes the position as input < 1297026973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ah, that's easy enough to do as well. < 1297026974 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And if you take a FungeSpace as input, you need to not overwriting existing stuff with spaces < 1297026979 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :overwrite* < 1297027025 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust 16 This is a test of the emergency broadcast system < 1297027040 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for zzo38_16: 5.6 < 1297027063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh joy < 1297027087 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, not sure < 1297027094 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :That's strange. It is not a valid program but I still earned 5.63 < 1297027098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mergeByteString :: FungeSpace -> Vector -> ByteString -> FungeSpace < 1297027098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mergeByteString fs (ox,oy) = snd . foldl' line (oy,fs) . B8.lines . B.filter (/= fromIntegral ff) < 1297027098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : where line (y,fs) s = (y+1, snd $ B.foldl' (byte y) (ox,fs) s) < 1297027098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : byte y (x,fs) w = (x+1, if fs !@ (x,y) == space then insertFS (x,y) (fromIntegral w) fs else fs) < 1297027103 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Tada < 1297027115 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, it did nothing < 1297027120 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Wrong < 1297027123 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, I presume unknown chars are ignored < 1297027124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Whyso < 1297027128 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, so it beat some other program < 1297027129 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: fromIntegral w == space, not fs !@ (x,y) < 1297027137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh, right < 1297027161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mergeByteString :: FungeSpace -> Vector -> ByteString -> FungeSpace < 1297027161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mergeByteString fs (ox,oy) = snd . foldl' line (oy,fs) . B8.lines . B.filter (/= fromIntegral ff) < 1297027161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : where line (y,fs) s = (y+1, snd $ B.foldl' (byte y) (ox,fs) s) < 1297027161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : byte y (x,fs) w = (x+1, let wv = fromIntegral w in if wv == space then insertFS (x,y) wv fs else fs) < 1297027163 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or w == fromIntegral space, maybe :-P < 1297027173 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(For MORE SPEED) < 1297027194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I have to do fromIntegral w anyway in the non-space case :P < 1297027197 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :But it does not save my program in the directory < 1297027205 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: But not in the space!! < 1297027232 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(It did save my others ones and then it deleted them) < 1297027234 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh no!!! < 1297027238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It would be less ugly that way actually. < 1297027244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: BETTER: < 1297027247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: if w == 32 < 1297027251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: THAT AVOIDS THE EXPENSIVE CONVERSION < 1297027253 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :MAGIC NUMBER < 1297027265 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Arguably, space, cr, lf, and ff should be Integral a => a's. < 1297027269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I have to do "fromIntegral ff" here too. < 1297027271 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I'll fix that. < 1297027307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mergeByteString :: FungeSpace -> Vector -> ByteString -> FungeSpace < 1297027307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mergeByteString fs (ox,oy) = snd . foldl' line (oy,fs) . B8.lines . B.filter (/= ff) < 1297027307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : where line (y,fs) s = (y+1, snd $ B.foldl' (byte y) (ox,fs) s) < 1297027307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : byte y (x,fs) w = (x+1, if w == space then fs else insertFS (x,y) (fromIntegral w) fs) < 1297027315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Now all I need is a "lines" that works on \r\n and \r :P < 1297027361 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Look at Data.List.Split (package is called split) < 1297027394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Data.LIST??? < 1297027400 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: ByteStrings, man! They're EFFICIENT < 1297027408 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right, bytestring has lines too < 1297027411 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I know of split, but, yeah. < 1297027415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Right. And it only works with \n. < 1297027416 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, do it manually then < 1297027433 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I would, except ByteString's API doesn't exactly have the most useful set of functions. < 1297027462 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :You don't use \r only as newlines anymore, I think? Linefeed moves to next line and has implied carriage return when a text file is output to the terminal on UNIX, but really, on a printer, you should use both (it doesn't matter the order), except blank lines can have just \n. So use "unix2dos" program to pipe a file to the printer? < 1297027469 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION just noticed that Unicode has a reserved character called Snowman. SNOWMAN! < 1297027496 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: Why? < 1297027506 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: http://unicodesnowmanforyou.com/ < 1297027507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: Not reserved. < 1297027518 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: lol. < 1297027536 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: It also has Goat, Love Hotel, ... < 1297027542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But no TROLL FACE> < 1297027544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*FACE. < 1297027546 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: Im makin a lang called Onecode which is going to use all the Unicode characters. < 1297027552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: Gooood luck with that :P < 1297027557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: Especially all the Han characters. < 1297027561 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: Good, this has been ideas from a while. < 1297027569 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IDEAS FROM A WHILE < 1297027582 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, my GOAl is to use all of em, but idk if I can... < 1297027592 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :The next idea is to make programming language using all Computer Modern symbols (including mathematics). < 1297027593 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm just filling as many as I cn for now. < 1297027667 0 :elliott!unknown@unknown.invalid PART #esoteric :? < 1297027677 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :awwww bye Elliott < 1297027694 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1297027710 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Maybe I'll use this, doesn't look overengineered at _all_: "attosplit library: Split a lazy bytestring at boundaries defined by an attoparsec parser" < 1297027719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stringsearch library: Fast searching, splitting and replacing of ByteStrings < 1297027719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1297027736 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION says 〠 looks funny < 1297027816 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: I do not have that font. < 1297027836 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: Then it must look VERY funny to you. < 1297027856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: http://hackage.haskell.org/package/stringsearch < 1297027867 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Think I need Boyer-Moore to search for newlines, or maybe Karp-Rabin? < 1297027921 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, if they don't have Aho-Corasick, go with Karp-Rabin < 1297027962 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: It just doesn't display. < 1297028006 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: It's a CJK Postal Face, whatever that is. < 1297028079 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: :D < 1297028090 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :d/win 3 < 1297028095 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :Onecode is going to have lots and lots of data types. Ideas for really esoteric data types? < 1297028120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: ordered graphs < 1297028139 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :sounds cool... < 1297028174 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: i just made them up :) < 1297028177 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :good luck finding out what they are < 1297028209 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :that's an actual data type... Wiki it. < 1297028225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: ah, that's not what i meant < 1297028232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: an ordered set is just a list without duplicates < 1297028235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so an ordered graph is ??? < 1297028245 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :o lol. A graph w/o dupilacites? < 1297028253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :errrr no < 1297028288 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :i'm not getting it, i guess. I really need to learn more mathematics and stuff. < 1297028294 0 :nddrylliog!~ndd@vpn-a-183-222.epfl.ch JOIN :#esoteric < 1297028356 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :So... Graphs are a definite consideration for a Onecode data type. < 1297028399 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :iconmaster: graphs are just tuples < 1297028410 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :so are most important mathematical structures < 1297028413 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: < 1297028417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mergeByteString :: FungeSpace -> Vector -> ByteString -> FungeSpace < 1297028417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mergeByteString fs (ox,oy) = snd . foldl' line (oy,fs) . B8.lines . B.filter (/= ff) < 1297028417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : where line (y,fs) s = (y+1, snd $ B.foldl' (byte y) (ox,fs) s) < 1297028417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : byte y (x,fs) w = (x+1, if w == space then fs else insertFS (x,y) (fromIntegral w) fs) < 1297028419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what's that in ooc < 1297028420 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :turing machines? actually tuples < 1297028421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1297028423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1297028425 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1297028427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1297028429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :uh < 1297028431 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what's your lang called again < 1297028432 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :kripke structures? actually tuples < 1297028433 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :your new one < 1297028435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that < 1297028439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :crowbar. < 1297028447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: more seriously: http://esolangs.org/wiki/Talk:Crowbar < 1297028468 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :so far nobody can take upon elliott in the "Let's make nddrylliog run away as quick as we can" challenge < 1297028470 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott: oh hai there. < 1297028476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HI < 1297028477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297028545 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: your body is so sexy < 1297028580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Does Mycology test \r\n or \r terminators? < 1297028583 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :coppro: why hello there. < 1297028600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ignore coppro, he eats shit *rimshot* < 1297028601 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: \r\n only IIRC < 1297028614 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :coppro: is it my tight S-size OpenSUSE t-shirt that makes me look so sexy? < 1297028617 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: how early? :P < 1297028634 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's all written with DOS newlines... < 1297028651 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: argh :) < 1297028689 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the Instruction Pointer section is damned lies, right? < 1297028693 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pretty sure t gives you multiple IPs < 1297028716 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is amazed at the staggaring array of Unicode arrows. < 1297028757 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is not takling about what anyone else is saying, and should be ignored. < 1297028757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :RITE??? < 1297028766 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, probably < 1297028806 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: What happens if two IPs write to the same location in fungespace simultaneously? :D < 1297028817 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Nothing happens simultaneously < 1297028821 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Except with Vorpal's ATHR < 1297028824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: How are the IPs loaded? < 1297028825 0 :iconmaster!unknown@unknown.invalid PRIVMSG #esoteric :elliott: THe universe explodes. < 1297028828 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1297028830 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: How are the IPs ordered? < 1297028836 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Read the section on t :-P < 1297028858 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It does leave at least one ambiguity but you'll get the idea < 1297028859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :THAT'S WHAT THEY'RE EXPECTING ME TO DO < 1297028869 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is in presentation-making mode < 1297028879 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Is it just me or is the Funge-98 spec totally illogically ordered? < 1297028892 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :... maybe? < 1297028898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"To remember which is which, visualize yourself on the seat of a bicycle, looking down at the handlebars:" < 1297028900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1297028907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :worst justification for syntax ever < 1297028909 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's actually a good memory rule < 1297028911 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Worked for me, anyway < 1297028928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh god, you can ... pop the delta? < 1297028931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1297028954 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think wrapping is going to be very hard to implement with my Map structure. < 1297028976 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1297028992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: What kind of structure do I want? :-P < 1297028995 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :I *hate* wikimedia markup < 1297029008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: *mediawiki < 1297029019 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :right < 1297029052 0 :cheater00!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297029056 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, you actually want a bucket PR-CIF k-d tree of axis-aligned bounding boxes but for you, storing an additional (Vector,Vector) will suffice < 1297029090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Is that what you actually use? :P < 1297029094 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that ByteString example looks fun though - if you care to explain it a bit more when I get back I might have a shot at it < 1297029107 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, I just have an array of bounding boxes because I've been too lazy to code up k-d trees :-P < 1297029110 0 :cheater00!~cheater@g231051170.adsl.alicedsl.de JOIN :#esoteric < 1297029112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also, storing just one additional (Vector,Vector) in the fungespace? Really? < 1297029115 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :cause right now I have a train to take. seeya! < 1297029119 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: bai < 1297029126 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It's good enough, yes. < 1297029137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh, two vectors. < 1297029138 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For most non-pathological cases anyway. < 1297029140 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Just lower/upper bound? < 1297029142 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1297029155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Then just iterate going forwards until I hit that. Right. < 1297029165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Or, I could just use my bounds function for now and optimise it later :P < 1297029175 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: slowdown.b98 is designed to trip up such things, right? < 1297029181 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. :-P < 1297029194 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or wait, actually no. < 1297029199 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :What do you dislike about Mediawiki markup? < 1297029207 0 :Cheery!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1297029209 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It does invoke that by accident, but it's not "designed" to do it. :-D < 1297029214 0 :impomatic!unknown@unknown.invalid QUIT :Quit: http://shiar.nl/calc/z80/optimize < 1297029230 0 :iconmaster!unknown@unknown.invalid QUIT :Quit:  < 1297029233 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The "design" was just to jump out of cfunge's statically allocated space. :-P < 1297029244 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Remote host closed the connection < 1297029286 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Did cfunge ever get fast at slowdown? < 1297029305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or did he microoptimise so much that changing the algos was impossible :D < 1297029320 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, he hasn't looked into changing the algos, he's sticking with the static area + hash map < 1297029383 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Basically, he's optimised for one program (fungot) and has therefore captured the entire Befunge-98 implementation market, which consists of fizzie. < 1297029383 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :elliott: the line starting with ' alternatively' was for jix < 1297029388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: :P < 1297029401 0 :nddrylliog!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297029407 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ccbi is mostly faster than cfunge on fungot these days (last I checked on something, anyway) < 1297029408 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: i demand an accounting. i will look into it. i never managed to move from one place to another, rather than " from" < 1297029501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yeah, but fizzie will never use CCBI because it's impossible to get a D compiler. < 1297029506 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I love the way that fungot needs leading space to move < 1297029506 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ais523: scheme grammar or english grammar?) guitar riffs this band is doing it as an educational tool < 1297029511 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :some sort of run-up, presumably < 1297029517 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: eh? < 1297029535 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Presumably not, yes < 1297029535 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it can't move "from", just " from" < 1297029542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297029554 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what's the directory of bfj programs again? < 1297029557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :guitar riffs as an educational tool sound interesting < 1297029572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also, (pick i (grammar scheme)) < 1297029602 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Why is "y" so crazy. < 1297029674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SHRO is 0x5348524F, I think < 1297029676 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*think. < 1297029846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Except for any limitations noted above or hitherto undiscovered, FBBI v0.98 is 100% compliant with the Funge-98 Final Specification, located at" < 1297029847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1297029868 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/eso/bfjoust/in_egobot/ < 1297029874 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: ^ < 1297029894 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :thx < 1297029911 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :which one is tripwire? :P < 1297029948 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes advance < 1297030018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Man, Deewiant never told me I'd have to use my brain to prove him wrong. < 1297030141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : let x' = if vx > 0 && x >= mxx then mnx + vx else x + vx < 1297030141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : y' = if vy > 0 && y >= mny then mny + vy else y + vy < 1297030144 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wait. < 1297030160 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's actually just: < 1297030176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :minimumx + ((x - minimumx + velocityx) % maximumx) < 1297030177 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right? < 1297030202 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if I'll ever be required to allocate several contiguous page frames or if I can take all the shortcuts I want < 1297030207 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :No wait... < 1297030217 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :minimumx + ((x - minimumx + velocityx) % (maximumx - minimumx)) < 1297030249 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for Deewiant to correct him < 1297030267 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I can't remember how that works like that, my algo is different < 1297030284 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it's just f x vx mnx, for some f < 1297030293 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'd ask you what your algo is, but then I'd be Vorpal :D < 1297030307 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Read the source :-P < 1297030325 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : Worked for me, anyway <-- same for me < 1297030328 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance origin east emptyFungeSpace < 1297030328 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(*** Exception: divide by zero < 1297030329 0 :Lymia_!~moe@adsl-68-95-252-93.dsl.rcsntx.swbell.net JOIN :#esoteric < 1297030330 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hell yeah < 1297030337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Hells < 1297030348 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Awesome, you can't do %0. < 1297030358 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, PR-CIF? < 1297030378 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance origin east emptyFungeSpace < 1297030379 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297030381 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Clearly it is perfect < 1297030402 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, your algo for? < 1297030403 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's a variant of the MX-CIF and PR k-d trees :-P < 1297030406 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Moving. < 1297030413 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, moving as in j? < 1297030419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :No, just as in moving. < 1297030421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :As in going forward. < 1297030426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :advance :: Vector -> Vector -> FungeSpace -> Vector < 1297030426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :advance (x,y) (vx,vy) fs = < 1297030426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : let ((mnx,mny),(mxx,mxy)) = bounds fs < 1297030426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : x' = mnx + ((x - mnx + vx) `mod` (mxx - mnx + 1)) < 1297030426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : y' = mny + ((y - mny + vy) `mod` (mxy - mny + 1)) < 1297030429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : in (x',y') < 1297030431 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh. Adding delta to current < 1297030435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: And wrapping. < 1297030436 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :and then checking for wrapping < 1297030441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: No checks here :P < 1297030448 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh? < 1297030452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :See the use of mod. < 1297030458 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it doesn't work for non-cardinal < 1297030462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You sure? < 1297030469 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, 99.99% < 1297030472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Why? < 1297030478 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ask Deewiant < 1297030483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (3,0) (2,0) hello < 1297030484 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297030487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(hello is just the fungespace "hello") < 1297030488 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : It's a variant of the MX-CIF and PR k-d trees :-P <-- I don't know of either < 1297030492 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :What is the correct bibliography citation to cite one program I wrote within another? < 1297030504 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it won't work for 2,7 or such I suspect < 1297030515 0 :Lymia!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297030520 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: I don't see why not < 1297030529 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (0,0) (2,7) hello < 1297030529 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(2,0) < 1297030531 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, because it wraps the wrong way as far as I can tell < 1297030532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hmm < 1297030539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Is that right? < 1297030541 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, pretty sure that is the wrong place < 1297030543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) is current pos < 1297030545 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :not 100% sure < 1297030545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(2,7) is delta < 1297030550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think (2,7) should loop forever, right? < 1297030551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :delta < 1297030554 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and bounding box? < 1297030564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It's just the fungespace "hello". < 1297030564 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, all deltas will loop forever if they don't hit anything < 1297030578 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I know seven different hello world in befunge < 1297030587 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It's just the fungespace "hello". < 1297030591 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1297030597 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :you mean literally < 1297030603 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well then I think it must be wrong < 1297030605 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ask Deewiant < 1297030608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Remember when you and Vorpal talked about Funge-98 and whenever he didn't understand you just repeated the same thing? < 1297030611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It totally works, doesn't it? < 1297030639 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I tried to interpret non-literally :P < 1297030667 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It's like saying ";" to a Prolog query. < 1297030677 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what does that do < 1297030689 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Tries to find another answer for you. < 1297030690 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1297030698 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297030699 0 :Lymia_!unknown@unknown.invalid NICK :Lymia < 1297030701 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1297030701 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1297030709 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1297030710 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Reminds me of DMM's Pavlov operating system. < 1297030714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"no, I didn't want that" "Did you want this instead?" < 1297030715 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, then I guess that makes sense! < 1297030740 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Well. < 1297030747 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :That was a rather egregious failure. < 1297030754 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Did you know that many commands that have the same name in DVI and GF formats also have the name code number? This is probably done on purpose that one program can read both files using the same set of @d macros? < 1297030756 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :what was < 1297030756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :?- member(X, [1,2,3]). < 1297030756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :X = 1 ; < 1297030756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :X = 2 ; < 1297030756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :X = 3 ; < 1297030756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :false. < 1297030763 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I tried to start the BF Joust evolver with random programs. < 1297030764 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Those semicolons are what I typed.) < 1297030776 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It is now generation 156 < 1297030777 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"Onecode's major goal is to use every Unicode character in its commands. It currently is including an accumulator, and as many data types as possible." < 1297030780 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :The bots all start with [] < 1297030784 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's so going to be the longest fix ever < 1297030791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: [[In the days when the Sussman was a novice, Minsky once came to him as he sat hacking at the PDP-6. < 1297030792 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"What are you doing?", asked Minsky. < 1297030792 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"I am training a randomly wired neural net to play Tic-tac-toe", Sussman replied. < 1297030792 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Why is the net wired randomly?", asked Minsky. < 1297030792 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"I do not want it to have any preconceptions of how to play", Sussman said. < 1297030793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Minsky then shut his eyes. < 1297030793 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Lymia, whops < 1297030794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*longest spec < 1297030795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Why do you close your eyes?" Sussman asked his teacher. < 1297030797 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"So that the room will be empty." < 1297030799 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :At that moment, Sussman was enlightened.]] < 1297030811 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1297030818 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: evolving from random programs can still be interesting < 1297030829 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, starting from simple bots resulted in a brute force attacker. < 1297030833 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :With no variation. < 1297030835 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I thought of the same quote there < 1297030835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Heh. < 1297030857 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Starting with complex bots causes the complex bots to gather mutations and become worse. < 1297030872 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to figure out a way to make it work better when I get back from dinner. < 1297030879 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Lymia, genetic algorithms are hard. < 1297030882 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Maybe something ELSE will spring up... < 1297030884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: it's not genetic < 1297030886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's hill-climbing < 1297030887 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh < 1297030889 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I see < 1297030889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :unless Lymia added breeding < 1297030895 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I might. < 1297030902 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Cross over the best few bots. < 1297030905 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Add them to the hill. < 1297030910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Crossing BF is very hard. < 1297030914 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, some said generation so I thought genetic < 1297030921 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :If the bots are related, they might get better overall. < 1297030922 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :and yeah what elliott said < 1297030928 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :If the bots are completely different, then the end result will fail. < 1297030931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I blame Vorpal for this advance algorithm not working. < 1297030932 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's the opposite of real life! < 1297030939 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what algorithm? < 1297030942 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :In real life, inbreeding makes things worse. < 1297030946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The same as the one I pasted. < 1297030948 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :In BF, inbreeding has the chance to make things better! < 1297030950 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs < 1297030951 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : let ((mnx,mny),(mxx,mxy)) = bounds fs < 1297030952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : x' = mnx + ((x - mnx + vx) `mod` (mxx - mnx + 1)) < 1297030952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : y' = mny + ((y - mny + vy) `mod` (mxy - mny + 1)) < 1297030952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : in (x',y') < 1297030954 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I told you it wouldn't work < 1297030956 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :so.... < 1297030964 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Insert derivative "wincest" comment here. < 1297030964 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, anyway it doesn't handle negative coords does it? < 1297030968 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1297030973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It does, I think. < 1297030976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: But I still blame you for it not working. < 1297030977 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :like wrapping from 0,10 to 0,-230 < 1297030989 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'm not involved in it, so that makes no sense < 1297030989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That's why it uses mnx/mny. < 1297030992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Yes it does. < 1297031003 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :.[>.[]-]-.+[]>-> < 1297031004 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Oh? < 1297031006 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :This is VERY intresting. < 1297031029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust toto .[>.[]-]-.+[]>-> < 1297031037 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust toto .[>.[]-]-.+[]>-> < 1297031047 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :also curses on all these plastic cards. I have three different for university (doors, library, student card for discounts). Couldn't they combine those into one? < 1297031048 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Isn't this one step removed from a brute force attack? < 1297031062 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :i.e. [>[-]-] < 1297031074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: be thankful: you don't have a Door < 1297031075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cue ais523 < 1297031078 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hah yes < 1297031097 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Maybe for privacy purposes they give you three instead of just one? I don't know. < 1297031098 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they are all the same card for me < 1297031104 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, heh < 1297031114 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but are you still a student? < 1297031117 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I expect a simple attackX like bot by generation 300 < 1297031118 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1297031123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :he studies Ph.D.s < 1297031125 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh I thought you were teaching < 1297031125 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, technically I'm only a second year < 1297031126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: lawl < 1297031128 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :... < 1297031129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: TA < 1297031130 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :And then they take over. < 1297031130 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what < 1297031133 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :And nothing else gets made. < 1297031134 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :The End. < 1297031135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh < 1297031135 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what? < 1297031138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you're doing worse than oklopol! < 1297031140 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: What kind of Ph.D.s? < 1297031141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no wait < 1297031143 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you're doing better than oklopol! < 1297031151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: teaching assistant < 1297031153 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1297031154 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: phdy phds < 1297031167 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: did your first year take exceptionally long or is my perception of time skewed? < 1297031179 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: the counter reset when I finished my Master's degree < 1297031180 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :it is strange it isn't called Comp.D or such < 1297031181 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, right now, the status quo is "These bots are trying to not die from wandering off the tape. Therefore we will stick ourselves." < 1297031186 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :All our graduate students are also teaching; the new rules say that even "purely research" people have to do 56 hours of teaching per year. Granted, that's not very much. < 1297031189 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I mean why it is it all Ph.D < 1297031191 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh < 1297031197 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ph stands for philosophy after all < 1297031200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no < 1297031204 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for elliott_toto: 0.0 < 1297031204 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: those rules aren't new in our department, they've been like that for a while < 1297031205 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for elliott_toto: 0.0 < 1297031209 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ? < 1297031212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: "philosophy" used to just mean "science" < 1297031214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The term "philosophy" does not refer solely to the modern field of philosophy, but is used in a more broad sense in accordance with its original Greek meaning, which is "love of wisdom". In most of Europe, all fields other than theology, law and medicine were traditionally known as philosophy. < 1297031216 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, aha < 1297031248 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :today they should all be Sci.D then < 1297031252 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :including medicine and so on < 1297031253 0 :c0w!unknown@unknown.invalid NICK :copumpkin < 1297031258 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well probably not law < 1297031261 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :or theology < 1297031268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we should start handing out Ls.D.s! < 1297031274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Law Science Doctorates, or something < 1297031276 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, XD < 1297031285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and in countries with evil communist education? well, they offer FREE LSD < 1297031289 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I think it is likely Jur.D < 1297031319 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :The command for no operations is different in GF and DVI, but they have a different name so that you can tell the difference. < 1297031331 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott. < 1297031332 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... < 1297031343 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :How much do you think it would help if I added a pesudoopcode "loop forever" < 1297031343 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, and? how is this relevant to the current discussion < 1297031347 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Which would basicly be (x)*100000 < 1297031347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: Not at all. < 1297031351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well. < 1297031352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Maybe. < 1297031358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: try *1024 < 1297031361 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more is unlikely to help < 1297031367 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :100000 is the opcode limit. < 1297031368 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::v < 1297031370 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hey Vorpal, what's a good wrapping algorithm < 1297031380 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: No I just wrote a message from a few minutes ago and I typed the next line more slowly, sorry < 1297031394 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Well, they started this study-year at our place, and they've had some moderate trouble in inventing teaching tasks for everyone. I'm doing the assistantizing thing for "Machine Learning: Advanced Probabilistic Methods" now because of that. < 1297031395 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, a trivial one for cardinal then the slow one for non-cardinal. Since the non-cardinal is so much rarer < 1297031414 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: What's the non-cardinal one, I only care about perfect algorithms < 1297031426 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, XD < 1297031432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Microoptimisation starts as soon as I get full pass on Mycology < 1297031437 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And no sooner < 1297031449 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the one in the spec < 1297031464 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: The spec doesn't have an algorithm < 1297031468 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes it does < 1297031472 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, in a very confusing place < 1297031478 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yy < 1297031478 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Yay < 1297031498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :/wrap/ doesn't find it < 1297031501 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :is there a language wherein it is provably undecidable whether or not it is Turing-complete? < 1297031503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well < 1297031503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :When the IP attempts to travel into the whitespace between the code and the end of known, addressable space, it backtracks. This means that its delta is reversed and it ignores (skips over without executing) all instructions. Travelling thus, it finds the other 'edge' of code when there is again nothing but whitespace in front of it. It is reflected 180 degrees once more (to restore its original delta) and stops ignoring instructions. Execution t < 1297031503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hen resumes normally - the wrap is complete. < 1297031505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Do you mean that? < 1297031513 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you fail: http://catseye.tc/projects/funge98/doc/funge98.html#Wrapping < 1297031513 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1297031514 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: Oolzybub and Murphy is TC iff Goldbach < 1297031519 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Do you mean that quote? < 1297031525 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should try an unsubtle push. < 1297031528 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes < 1297031530 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Something like a new opcode "ClearCell" < 1297031535 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Which would translate to "[-]" < 1297031535 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Oozlybub < 1297031537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: http://catseye.tc/projects/oozlybub-and-murphy/ < 1297031546 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: goldbach is not provably undecidable afaik < 1297031551 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that paragraph is the slow algorithm < 1297031570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: well sure < 1297031584 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"When the IP attempts to travel into the whitespace between the code and the end of known, addressable space," < 1297031589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :does this mean whenever it hits whitespace of any sort? < 1297031599 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or just when it hits the maximum or something? < 1297031613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I just don't quite understand it :P < 1297031614 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, when it hits/goes past the edge works < 1297031638 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, also don't feel bad for not understanding it. Not everyone can have an intellect like me, cpressey and Deewiant! < 1297031640 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1297031647 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1297031648 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey clearly doesn't have the intellect, he couldn't implement it properly. < 1297031649 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(aka, a mad one) < 1297031660 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :If Goldbach conjecture is not provably undecidable, can you make one that involves something which is provably undecidable, but can still be turing-complete based on that? < 1297031663 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :he just barfed out some text and now we're stuck with it, 13 years later :) < 1297031670 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yeah < 1297031682 0 :Behold!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1297031760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I still don't quite get it :P < 1297031767 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK, let's see. < 1297031782 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, cfunge implements it as the slow variant < 1297031785 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :you can read it's code < 1297031798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If the IP's x or y is greater than the maximum x or y, then we go into a loop, with vx and vy both negated. < 1297031815 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Then we keep advancing with the delta until we go past the other end of the space. < 1297031823 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I believe ccbi instead solves diophantine equations! < 1297031831 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If we're at one end, we start executing there normally. < 1297031834 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust finally +>.[]([-]-->++)*12[<.>.+]-+. < 1297031835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise, we're in an infinite loop or something. < 1297031840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Can't read cfunge code, it's GPL';d. < 1297031842 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*GPL'd. < 1297031843 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_finally: 0.0 < 1297031873 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, okay: detect you went past end. Reverse delta. Go back until you hit other end. Reverse again. Continue execution < 1297031878 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, did that make more sense? < 1297031886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Except with non-cardinal direction you *might not hit the other end*. < 1297031888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You might just go past it. < 1297031889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And then what? < 1297031903 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, reverse and start from the first position inside of course < 1297031928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Rihgt. < 1297031929 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Right. < 1297031934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Now to translate that to functional code. < 1297031935 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and that will always exist unless another thread messes up < 1297031944 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, someho < 1297031945 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :how* < 1297032002 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: What happens then :P < 1297032012 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, buggered if I know < 1297032016 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, probably infinite loop < 1297032021 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :in the wrapping code < 1297032033 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, not that there is any sensible suggestion as for what you should do < 1297032043 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you don't exactly have ATHR < 1297032086 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: doing all of mycology, even TRDS? < 1297032093 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's a separate test < 1297032093 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I hope so < 1297032096 0 :zzo38!unknown@unknown.invalid PART #esoteric :? < 1297032120 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, maybe get it running in mycology and do wrapping when you hit that < 1297032123 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :that seems saner < 1297032130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :loop (x,y) (vx,vy) fs = < 1297032130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : let ((mnx,mny),(mxx,mxy)) = bounds fs < 1297032130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : in if x < mnx || y < mny < 1297032130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : then (mnx+vx, mny+vy) < 1297032130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : else if x > mnx || y > mny < 1297032130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : then loop (x-vx, y-vy) < 1297032132 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : else (x,y) < 1297032136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That look about right? < 1297032145 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(vx,vy) there are ORIGINAL (vx,vy) < 1297032147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not flipped < 1297032170 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :why tuple things up like that? < 1297032181 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :copumpkin: because they're Vectors < 1297032186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :funge vectors < 1297032191 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :pff who cares :P < 1297032343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :argh, i need to flip < and > < 1297032352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :depending on which way we're travelling < 1297032352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1297032376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> :load "Shiro/FungeSpace.hs" < 1297032376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[1 of 2] Compiling Shiro.Value ( Shiro/Value.hs, interpreted ) < 1297032376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[2 of 2] Compiling Shiro.FungeSpace ( Shiro/FungeSpace.hs, interpreted ) < 1297032376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Shiro/FungeSpace.hs:64:12: < 1297032376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `(t, t1)' < 1297032378 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : against inferred type `(t, t1) -> (t, t1) -> (t2, t3) -> (t, t1)' < 1297032380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Probable cause: `loop' is applied to too few arguments < 1297032381 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :if it's possible to do regex->DFA->minimal equivalent DFA->regex, why can i not find where someone has already built a regex minimizer? < 1297032382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : In the expression: loop (x - vx, y - vy) < 1297032384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : In the expression: < 1297032386 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if x > mnx || y > mny then loop (x - vx, y - vy) else (x, y) < 1297032388 0 :elliott!unknown@unknown.invalid PART #esoteric :? < 1297032392 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1297032394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.Value> :load "Shiro/FungeSpace.hs" < 1297032396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[1 of 2] Compiling Shiro.Value ( Shiro/Value.hs, interpreted ) < 1297032398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[2 of 2] Compiling Shiro.FungeSpace ( Shiro/FungeSpace.hs, interpreted ) < 1297032400 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ok, modules loaded: Shiro.Value, Shiro.FungeSpace. < 1297032402 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (0,0) (2,7) hello < 1297032404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::1:20: Not in scope: `hello' < 1297032408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> let hello = mergeByteString (0,0) emptyFungeSpace "hello" < 1297032410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (0,0) (2,7) hello < 1297032412 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297032414 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1297032416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :did not mean to copy that much < 1297032418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1297032420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: sam hughes did < 1297032464 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oho... < 1297032575 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :there is no software section on qntm :/ < 1297032614 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's in the blog < 1297032624 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297032642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1297032644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"It's also been proven that the process of simplifying a regular expression to any significant extent is seriously computationally challenging." < 1297032652 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1297032653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where is it < 1297032685 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297032686 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i found it < 1297032694 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :it's not the full minimizer < 1297032704 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :just a decent DFA->regex alg < 1297032743 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: and a regexp parser < 1297032756 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :yes well < 1297032774 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i don't actually know how to minimize a DFA :P < 1297032806 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, this scares me: http://qntm.org/chomsky (the mention of PHP) < 1297032816 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :PHP? Seriously?! < 1297032817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :My current ongoing pet project is input validation for web forms. Cross-site scripting attacks are incredibly prevalent. There are many ways to avoid them. One of them is to escape literally everything input by a user and thereby permit no formatting whatsoever. Another is to permit users to use some hideous non-standard non-HTML markup, such as Wikipedia's syntax or Markdown. There are a million of these formats - seemingly one per wiki - and th < 1297032817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ey are all very slightly different which makes learning them a massive irritation, particularly if, like me, you already know the one true markup language, namely HTML itself. < 1297032820 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[more justification] < 1297032836 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[So anyway, during this process I decided that it would be easier to handle an arbitrary context-free grammar if I first rendered it into Chomsky Normal Form. It turned out that I was mistaken, and I am now using an entirely different approach, which means toCnf() is useless to me. Still, it might be useful to you! < 1297032836 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :]] < 1297032836 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yes I saw that... < 1297032927 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :also the comments on his DFA->regex say that his solution is not exactly amazing in terms of giving small output, and there may be better solutions already in existence... < 1297032985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> let hello = mergeByteString (0,0) emptyFungeSpace "hello" < 1297032986 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (0,0) (2,7) hello < 1297032986 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297032988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :gah!! < 1297033008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (4,0) east hello < 1297033009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(4,0) < 1297033009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (5,0) east hello < 1297033009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(5,0) < 1297033009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1297033017 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :so you haven't given up yet :D < 1297033069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well it wraps properly now but still doesn't fucking handle non-cardinal < 1297033083 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: what should (2,7) on "hello" do? loop forever, right? < 1297033084 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :starting at (0,0) < 1297033100 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but my algorithm can't return that, because it only returns a position in the bounding box < 1297033103 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and none of those "loop forever" < 1297033128 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no, it returns to (0,0) < 1297033138 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as that's the only point in-bounds on that lahey-line < 1297033141 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it returns to 0,0 forever < 1297033143 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1297033153 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ...so my algo did work all along < 1297033158 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1297033161 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no you said it went to (0,2) < 1297033163 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :... < 1297033165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1297033168 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok well it works now :P < 1297033183 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, but you need to handle bottom here, in case the algorithm for looping never returns < 1297033186 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :that can happen < 1297033186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (4,0) (2,0) hello < 1297033186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297033188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's not right, is it? < 1297033190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :should be (2,0) < 1297033205 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ask ais523 or Deewiant. I'm going to sleep < 1297033206 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :night! < 1297033238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1297033240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well it should < 1297033243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*should be < 1297033243 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If your bounding box goes to (5,0) it should be (1,0)? < 1297033250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: fungespace is "hello" < 1297033260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so no < 1297033265 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Then (0,0) is right < 1297033272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> hello < 1297033272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FungeSpace (fromList [((0,0),104),((1,0),101),((2,0),108),((3,0),108),((4,0),111)]) < 1297033272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> bounds hello < 1297033272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((0,0),(4,0)) < 1297033278 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You know that you can test these easily enough using CCBI's debugger? :-P < 1297033289 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That would require getting a D compiler. < 1297033294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Well, I dunno about that (0,0) < 1297033298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The space is, conceptually, < 1297033300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hellohellohellohello < 1297033302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :We're on the "o" < 1297033304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :We want to go forwards two < 1297033306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So we end up at "e" < 1297033308 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Which is (2,0) < 1297033310 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It only requires a compiler if you're as paranoid about binaries as fizzie is. < 1297033318 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So surely (4,0) + (2,0) = (2,0). < 1297033325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Heh, fizzie's paranoid about binaries? < 1297033327 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"e" is (1,0). < 1297033332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Er, right. < 1297033335 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So it should be (1,0). < 1297033340 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But it gives (0,0). < 1297033343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :No? < 1297033404 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You try to go forwards two, but you can't, so you reverse and travel backwards four, hitting the "h", at which point there's again only emptiness in front of you, so you reverse again and are at (0,0). < 1297033426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: So Fungespace doesn't actually wrap intuitively. < 1297033427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wonderful :P < 1297033428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Funge-space < 1297033437 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Was what Vorpal said about the algorithm possibly not terminating actually true or just crap? < 1297033466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>_> < 1297033475 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you start on an empty line, the "travel to next nonspace cell" algo doesn't terminate since there's no nonspace. < 1297033500 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (0,0) east emptyFungeSpace < 1297033500 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297033502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Does too. < 1297033508 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :loop (x,y) (vx,vy) (mnx,mny) (mxx,mxy) < 1297033508 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : | x < mnx && y < mny = (mnx+vx, mny+vy) < 1297033509 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : | x > mnx || y > mny = loop (x-vx, y-vy) (vx,vy) (mnx,mny) (mxx,mxy) < 1297033509 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : | otherwise = (x,y) < 1297033519 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Of course that algorithm might be totally broken. I think it fails for negative cardinalities, for instance. < 1297033521 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's not "travel to next nonspace cell" < 1297033524 0 :nddrylliog!~ndd@dhcp-83-219-104-237.customers.tvtnet.ch JOIN :#esoteric < 1297033526 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Since (0,0) isn't a nonspace cell. :-P < 1297033543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: No, but it's "where to go next". :p < 1297033547 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: But I don't see what's nonintuitive about (0,0). < 1297033554 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Hmm, although ... worryingly, that will cause infinite ticks. < 1297033557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1297033558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh, wait. < 1297033563 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If advance coords == coords, then loop forever. < 1297033570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (4,0) (-2,0) hello < 1297033570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(2,0) < 1297033571 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (2,0) (-2,0) hello < 1297033571 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297033576 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wait, that's right X-D < 1297033586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (0,0) (-2,0) hello < 1297033586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297033587 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*That's* not. < 1297033612 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, that should be (4,0). :-P < 1297033662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (0,0) (-2,0) hello < 1297033662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) < 1297033670 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Even after adding ltx which is (>) if vx < 0 and (<) otherwise. < 1297033672 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Same for gt and y. < 1297033675 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::-/ < 1297033690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh wait. < 1297033693 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :back < 1297033697 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I need to flip mn* and mx* in that case. < 1297033698 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Aargh. < 1297033721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WTF. < 1297033732 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :No, surely that's not necessary. < 1297033738 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : Was what Vorpal said about the algorithm possibly not terminating actually true or just crap? <-- false in practise unless you have t. Then you can have another thread remove that thing from you making it shrink the bounds so you never even get inside the bounds < 1297033751 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm wait < 1297033756 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I think k and p could do it < 1297033760 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yes indeed < 1297033762 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Mycothread test that by any chance? :P < 1297033777 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the t test is in the main mycology iirc? < 1297033787 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :and I doubt it does < 1297033806 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course it doesn't test stuff that would cause the interp to infloop :-P < 1297033817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Should do < 1297033818 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1297033835 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but I'm pretty sure k and t could od it < 1297033837 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :do* < 1297033860 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Bleeeeh... this is the worst. < 1297033875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I have no idea how I need to tweak this for negative deltas. < 1297033977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :loop (x,y) (vx,vy) (mnx,mny) (mxx,mxy) < 1297033977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : | x < mnx && y < mny = (mnx+vx, mny+vy) < 1297033977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : | x > mnx || y > mny = loop (x-vx, y-vy) (vx,vy) (mnx,mny) (mxx,mxy) < 1297033977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : | otherwise = (x,y) < 1297033980 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :This code is absolutely perfect. < 1297033983 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If Deewiant disagrees, he's wrong. < 1297033988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And only ABSOLUTE PROOF can change my mind. < 1297034028 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Does it work? If not, it's imperfect. :-P < 1297034076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh yes. Give me some inputs, and if you don't like the output, you'd better point me to the place in the code that causes them to be incorrect. < 1297034081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise I, you know, don't believe you. < 1297034086 0 :azaq231!~derivecto@p4FF6864B.dip0.t-ipconnect.de JOIN :#esoteric < 1297034099 0 :azaq231!unknown@unknown.invalid QUIT :Changing host < 1297034099 0 :azaq231!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1297034108 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: sorry, where does mx come in? < 1297034115 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Run Mycology and if it works, that probably works. < 1297034115 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mx is max < 1297034117 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its not used in that at all < 1297034119 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott: proof? that sounds like a job for Crowbar. < 1297034120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It can't run shit :P < 1297034122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: ??? < 1297034125 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :look at the definition < 1297034133 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its the last arg, but that arg is never used otherwise < 1297034150 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, right < 1297034245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Ambiguous type variable `a' in the constraint: < 1297034245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : `Ord a' arising from a use of `>' at Shiro/FungeSpace.hs:69:40-42 < 1297034246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Maaaan < 1297034254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Why you gotta be so that < 1297034257 0 :azaq23!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1297034259 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :yeah i bet you're ambiguous < 1297034279 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> let hello = mergeByteString (0,0) emptyFungeSpace "hello" < 1297034280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Shiro.FungeSpace> advance (0,0) (-2,0) hello < 1297034280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(4,0) < 1297034283 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ha ha Deewiant < 1297034285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Nwo it am perfect < 1297034286 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Now < 1297034296 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(But ugley) < 1297034309 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it am perfect but ugley! < 1297034332 0 :lambdabot!~lambdabot@li85-105.members.linode.com JOIN :#esoteric < 1297034382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: you could say its butt-ugley < 1297034383 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1297034412 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :@botsnack < 1297034413 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1297034456 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh, botsnack does work. wrong face though < 1297034462 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :`botsnack < 1297034551 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1297034552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: what face should it be < 1297034610 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297034628 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^def botsnack ul (:D)S < 1297034628 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Defined. < 1297034629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^botsnack < 1297034629 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1297034639 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :five Hackbot one too! < 1297034642 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :*give < 1297034667 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://cpansearch.perl.org/src/SIMONW/Bot-BasicBot-Pluggable-Module-Fun-0.9/lib/Bot/BasicBot/Pluggable/Module/Botsnack.pm < 1297034670 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :googling suggests :) is correct < 1297034681 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric ::) is lame and oldschool < 1297034728 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :`run echo -e '#!/bin/sh\necho '\''OH BARF >XO'\''' > bin/botsnack; chmod 0755 bin/botsnack < 1297034730 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1297034733 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :`botsnack < 1297034735 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :OH BARF >XO < 1297034738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: anyway if advance pos == pos and pos has a space at it, what do you do? destroy the ip? < 1297034746 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: theoretically it should take 0 ticks forever < 1297034749 0 :Behold!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1297034754 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but that would stop other ips from running < 1297034757 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Infinite loop. < 1297034760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah. < 1297034765 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, lock up forever in calculating wrapping :P < 1297034779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: not in calculating wrapping, it'll actually have to be a special case :) < 1297034781 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or do what CCBI does and detect the situation and abort with a nice error :-P < 1297034786 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no it doesn't < 1297034790 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: but it's perfectly valid! < 1297034792 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: does for me < 1297034794 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why < 1297034801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: because my algorithm doesn't even look at fungespace < 1297034803 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: CCBI has a compatibility option in case you actually want to infloop < 1297034803 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just uses the bounds < 1297034804 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :thx gregor < 1297034812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'll do it the Befunge-93 way. < 1297034816 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you have to? < 1297034817 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :also, what's the best kool-aid flavor? < 1297034823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The program is on a line with no non-space cells. < 1297034837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Do you want to loop forever, or terminate the program? (loop/terminate) < 1297034838 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> < 1297034847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: why? < 1297034859 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well okay you don't I guessd < 1297034861 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :guess* < 1297034868 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, since space takes no time < 1297034873 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Bit more powerful version of program searching for powers of two lacking 1248: ~950 million powers of two per minute. < 1297034909 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, is it even possible to have a power of two lacking all of those? < 1297034925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Wait, for "hello", is the maximum bound (5,0) or (4,0)? < 1297034926 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, even 2^0 = 1 < 1297034933 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Define "maximum bound" < 1297034939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: The thing y returns. < 1297034943 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(4,0). < 1297034945 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :1, 2, 4, 8 that is. < 1297034958 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, actually the last digit must be even. So that leaves 6 as the only remaining alternative < 1297034958 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :2^16 = 65536. < 1297034962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yay, I'm doin it rite. < 1297034968 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah yes < 1297034981 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1297034988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Rapidly growing anxiety at the prospect of actually having to write the interpreter loop at this junction. < 1297035010 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And that's the only one below 5 bilionth power... < 1297035065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :For all these reasons, when encountering any unimplemented instruction (this includes instructions like | in Unefunge,) the Funge interpreter should at least provide an option for informing the user that it was told to execute an instruction that isn't implemented, and possibly warning the user that this file might be an incorrect language or version. < 1297035073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Does anything actually do that? :-P < 1297035089 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ccbi --warnings < 1297035106 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cfunge -W < 1297035133 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :rcfunge2 -w < 1297035148 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hahaha < 1297035149 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :stinkhorn --warnings < 1297035157 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :For anything else than 2^16: >2^7368000000 < 1297035171 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: $ shiro foo.b98 < 1297035179 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The program is trying to execute the illegal instruction (something goes here). < 1297035182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Do you want to: < 1297035188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(1) Reflect and continue execution; < 1297035192 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(2) Substitute another instruction; or < 1297035193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(3) Terminate? < 1297035194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> < 1297035201 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :THIS IS THE SOLUTION TO ALL AMBIGUITIES < 1297035239 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course that's somewhat problematic if the program you're running wants to read stdin. < 1297035272 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And also, (1) is quite clearly mandated. :-P < 1297035293 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I don't see why, the interpreter would give control back to the program afterwards. < 1297035298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Maybe it'll pop up a graphical dialogue box instead. < 1297035319 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: shiro foo.b98 < file < 1297035324 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :>2^10000000000 < 1297035329 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: /dev/tty < 1297035349 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you make it actually use that, fine :-D < 1297035409 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it should only do that for division by zero < 1297035412 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: When a program tries to read a non-existent file: < 1297035416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Abort/Retry/Fail? < 1297035422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Befunge-98 specifies the result of /0 (0) < 1297035431 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I know, I was joking < 1297035434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1297035472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... < 1297035511 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I love ?'s name. < 1297035517 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :wtfbbq < 1297035522 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I'm looking over the TV listings. < 1297035527 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :MSNBC is apparently having Sex Slave Day < 1297035531 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What < 1297035560 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :"Sex Slaves: The Teen Trade", "Sex Slaves in the Suburbs", "MSNBC Undercover: Sex Slaves: Texas" < 1297035569 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Amazing. < 1297035590 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Then "MSNBC Undercover: Sex Slaves: Minh's Story" < 1297035593 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That's four hours of sex slaves. < 1297035618 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't mind four hours of sex slaves IF YOU KNOW WHAT I MEAN < 1297035697 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: 1kxy executes x twice before executing y, right? < 1297035699 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :When travelling east. < 1297035703 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And 2kxy executes it thrice. < 1297035725 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But 0kxy jumps straight to y. < 1297035726 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :x being a bad example because it changes the delta, but yes < 1297035726 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Correct? < 1297035732 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: x was a variable. < 1297035737 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I figured < 1297035744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: What about (-1)kxy? < 1297035754 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :UNDEF < 1297035764 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The consensus is to reflect, I think < 1297035782 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Obviously nkxy for n <= 0 actually jumps n instructions after the y. < 1297035783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So: < 1297035786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :0kxy --> y < 1297035789 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-1kxyz --> z < 1297035796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-2kabcd --> d < 1297035802 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :BEST BEHAVIOUR Y/B < 1297035803 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Y/N < 1297035806 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's an option Mycology doesn't take into account :-D < 1297035816 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: If I implement it will you fix Mycology? :D < 1297035819 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I thought of using the absolute value, but not that < 1297035842 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's, like, totally logical. < 1297035897 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[Rc/Funge–98, by Mike Riley, is another POSIX-only interpreter written in C (though not C99, like cfunge). This one is set apart from all the others in that it: < 1297035897 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :First implemented Befunge–98. < 1297035897 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :]] < 1297035900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Pretty sure that FBBI was first. < 1297035926 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Wrong. < 1297035931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(You might want to note that he, er, is no longer the developer, although I understand that this page is pretty old.) < 1297035931 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1297035936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: How strange. < 1297035944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Or are you saying that FBBI doesn't even come close to being an implementation? :-) < 1297035959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I note the latest version doesn't test it. < 1297035978 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, Rc/Funge-98 was just the first impl. < 1297035990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1297035995 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FBBI came out in 1998, I think, so it must have been pretty close. < 1297036022 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :With the latest versions I haven't bothered to test stuff that doesn't work too well :-P < 1297036027 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And that won't ever get updated < 1297036063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Going east, starting at the beginning of the line, considering x as a nop, with 1 on the stack, xk goes: < 1297036070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(where _x_ denotes ip is here) < 1297036075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :_x_k --> execute x < 1297036082 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :x_k_ --> execute x from start of line < 1297036085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :_x_k --> execute k < 1297036087 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*x < 1297036088 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1297036092 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as in, k wraps around < 1297036093 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"From start of line"? < 1297036096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yes. < 1297036098 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Everything wraps around < 1297036108 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: So k wraps around to find x, runs it, and then the IP wraps around to x. < 1297036109 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But note that you are executing the x at the k < 1297036109 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1297036115 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Er. < 1297036122 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :This matters for instructions that take the IP's position into account < 1297036124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Does that means that "kj" moves down from k? :-D < 1297036127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Awesome. < 1297036141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: What does 11kkj do? < 1297036142 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mycology is pretty nitpicky about k, don't worry < 1297036147 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Don't ask me about nested k. < 1297036148 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :JUST OUT OF CURIOSITY < 1297036149 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Just don't. < 1297036152 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'M ASKING < 1297036157 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IIIIII'M ASKING < 1297036159 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal disagrees with me on it anyway. < 1297036165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well let me try and work it out myself. < 1297036174 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Let's say 11kkx, where x does nothing. < 1297036182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So. < 1297036192 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :left-k goes to execute right-k. < 1297036206 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :In my defence, cfunge special-cases nested k and I don't. < 1297036206 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :k is defined as being based on the "path of the IP". < 1297036212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So k finds the right k again. < 1297036214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And executes it. < 1297036217 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right k finds the right k again. < 1297036219 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And executes it. < 1297036228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Aaaand it's an infinite loop taking 0 ticks. < 1297036229 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Right k doesn't find itself. < 1297036232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ORLY? < 1297036236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Then it finds the next instruction in Funge-space in the path of the IP (note that this cannot be a marker such as space or ;)," < 1297036243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The IP is still on the first k. < 1297036246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The next instruction after the IP is the second k. < 1297036249 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So the second k finds the second k. < 1297036254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And executes it. < 1297036260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Which actually pops *0* off the stack! < 1297036264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because now we have no stack left. < 1297036267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And so it skips the x. < 1297036272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So 11kxy goes to y after 0 ticks. < 1297036275 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, nested k is an issue < 1297036276 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm too tired to think about this now, do whatever you like. :-P < 1297036277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well, after 1 tick. < 1297036279 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :read the code if you care < 1297036286 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Nonono, I just came up with a new opinion. < 1297036290 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I don't really care about it. No one uses it anyway! < 1297036298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: 11kxy. < 1297036302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1297036304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11kkxy < 1297036306 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, there is a test case in tests/ in cfunge for it iirc < 1297036307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Stack = 1 1. < 1297036309 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :check there if you care < 1297036310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :k pops first stack. < 1297036312 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Stack = 1. < 1297036317 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It goes to execute the second k. < 1297036319 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :k pops first stack. < 1297036322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Stack = 0 0 0 0 0 0 ... < 1297036325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The IP is still on the first k. < 1297036333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The next instruction in Funge-space in the IP's path is the second k, therefore. < 1297036335 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what about 3 nested k? < 1297036339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It goes to execute the second k. < 1297036344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The second k pops off 0. < 1297036348 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Since it's 0, it skips the second k. < 1297036351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It goes on to x. < 1297036352 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :night! → < 1297036360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: 11kkxy goes on to x in one tick. < 1297036365 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: How does cfunge behave? < 1297036391 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Download it and find out. I don't want to think about this now, and I honestly don't remember how cfunge works. < 1297036397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Okay fine. < 1297036408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Is there an instruction in CCBI that just prints something out to the screen? :P < 1297036410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Optimistic, I know. < 1297036420 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Like , or .? What do you mean? < 1297036420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Just something that doesn't fuck with things and lets me see what gets executed. < 1297036427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Something that doesn't change the stack. < 1297036428 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Use the tracer < 1297036435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Okay. < 1297036436 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And step through things < 1297036440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Is there an explicit nop isntruction? < 1297036442 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But it does k in one step, so it won't help you with that < 1297036442 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :z < 1297036443 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in funge98 i mean < 1297036454 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: If it does k in one step, then this doesn't help at all :P < 1297036457 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*that doesn't help at all < 1297036482 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Read the source. :-P < 1297036536 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Your interpretation agrees with me. < 1297036537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :\o/ < 1297036537 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :  | < 1297036537 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric : /< < 1297036555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I think mine and therefore yours is pretty much objectively correct :P < 1297036561 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION returns < 1297036595 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: "The next instruction in Funge-space in the path of the IP" refers to the instruction after the k, so it's the one after the inner k < 1297036610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I disagree. < 1297036615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It refers to the instruction after the k. < 1297036617 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1297036630 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: The next instruction in Funge-space in the path of the IP is the next instruction that the IP would hit. < 1297036634 0 :nddrylliog!unknown@unknown.invalid QUIT :Quit: Ex-Chat < 1297036642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I don't think it refers to the next instruction [relative to the k]. < 1297036705 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!bfjoust evoa +>-->---->++<.-<->>>>++>++++>->++>.+>>>.<(>---[+])*58<>-..<<->><><>- < 1297036725 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_evoa: 11.3 < 1297036770 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Hey! < 1297036773 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It didn't completely fail1 < 1297036776 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!*