< 1315526472 861874 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au JOIN :#esoteric < 1315527476 611370 :Gregor!foobar@codu.org PRIVMSG #esoteric :In Catholicism, the halting problem is believed to be unsolvable for infants who die before baptism. < 1315527540 180595 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, it's unsolvable for most other TC systems... < 1315527726 103861 :Gregor!foobar@codu.org PRIVMSG #esoteric :Well, this is quite the opposite of atheinformatic common wisdom, which is that the halting problem is solvable for all humans. (doesHalt (x:human) -> true) < 1315527754 754913 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah, I see < 1315527764 931264 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I read about Curry-Howard and how you can use it to make intuitionistic logic with Haskell. But how can you make Typographical Number Theory with Curry-Howard? < 1315527862 476041 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But still, even if you write the program in Haskell using intuitionistic logic, you still need to ensure all outputs are defined if the input is defined. Sometimes is difficult due to halting problem but you can make a subset that halts. It is still not complete, they could make up a PROVE pragma to do it? < 1315527923 264492 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And if there is no proof, use the ASSUME pragma. < 1315528195 349206 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 260 seconds < 1315528219 752515 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1315529304 740246 :ive!~nn@189.179.239.6 QUIT :Ping timeout: 252 seconds < 1315529557 350049 :kmc_!~keegan@184.236.193.96 JOIN :#esoteric < 1315529568 802418 :nooga!~nooga@maverick.aircity.pl QUIT :Ping timeout: 252 seconds < 1315529667 681422 :kmc!~keegan@184.242.223.100 QUIT :Ping timeout: 252 seconds < 1315529753 399139 :kmc__!~keegan@108.117.158.224 JOIN :#esoteric < 1315529970 101585 :kmc_!~keegan@184.236.193.96 QUIT :Ping timeout: 250 seconds < 1315529995 829163 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com QUIT :Remote host closed the connection < 1315530137 761882 :kmc_!~keegan@173-114-137-186.pools.spcsdns.net JOIN :#esoteric < 1315530319 662278 :kmc__!~keegan@108.117.158.224 QUIT :Ping timeout: 252 seconds < 1315530412 672264 :kmc_!~keegan@173-114-137-186.pools.spcsdns.net NICK :kmc < 1315530829 140459 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :sam hughes is a bastard :( < 1315531302 733316 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :quintopia, hmm? < 1315531557 959323 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :the yawning tweet. elliott made me yawn over irc last night and i had to fight not to yawn reading that tweet < 1315532194 631282 :cheater!~ubuntu@ip-80-226-24-8.vodafone-net.de QUIT :Ping timeout: 260 seconds < 1315532500 204245 :DH____!~DH____@unaffiliated/dh----/x-6288474 QUIT :Remote host closed the connection < 1315534532 847186 :DH____!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1315534942 257802 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :honestly I've been using try almost as much as if < 1315534950 60828 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :WHY PYTHON. < 1315534955 51558 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :try's a better control construct all round < 1315534983 942308 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in fact, is try+recursion TC? my guess is yes < 1315534987 470432 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I guess it's just that exception hierarchies are annoying. < 1315534994 612700 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: I believe we had a discussion about this once < 1315534995 224826 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although that's a bit wooly as it doesn't define what sort of data's allowed < 1315535005 37837 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a language that uses only exception handling with the ability for recursion. < 1315535042 726193 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also with some new constructs. Like a "lower" keyword to return to a previous exception level. :D < 1315535081 85817 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and exceptions would essentially be like ADT < 1315535208 242779 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the difficult part would be fitting IO into this model. < 1315535232 619775 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :without adding something that is not strictly exception handling. < 1315535278 199130 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :clearly we need an unthrow < 1315535286 314131 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is a bit like RESUME NEXT from BASIC < 1315535290 456265 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :only with exceptions instead < 1315535323 513850 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well I think that would similar to what lower does. < 1315535330 929780 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :returns back to the original raise. < 1315535346 74068 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so you could have an implicit try around the entire program < 1315535363 479576 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that catches IO exceptions, and then lowers something back. < 1315535369 883080 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the lower would be the return value of the raise, perhaps? < 1315535553 64431 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :sounds like coroutines < 1315535553 579898 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it would be similar to functions but backwards. :P < 1315535572 642013 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :up and back down instead of down and back up. < 1315535685 851088 :kmc!~keegan@173-114-137-186.pools.spcsdns.net QUIT :Quit: Leaving < 1315535756 338282 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Quit: Leaving. < 1315535836 932019 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION will implement this when has a moment. < 1315536052 978858 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think having a pattern matching construct along with recursion would allow it to be Turing complete? < 1315536115 963402 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1315536125 3386 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :otherwise I don't think you can branch. < 1315536160 804878 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh wait nevermind you could via recursion. < 1315536177 356805 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and just a regular catch without any kind of special pattern matching. < 1315536359 599189 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net JOIN :#esoteric < 1315536391 731472 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :00:17:56: In Catholicism, the halting problem is believed to be unsolvable for infants who die before baptism. < 1315536395 105250 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :00:19:00: well, it's unsolvable for most other TC systems... < 1315536407 318234 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i am not entirely sure i want a TC system based on dying infants. < 1315536414 516254 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't want one either < 1315536436 749694 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, it's a case of "I wouldn't buy such a system if I were offered one" < 1315536447 31696 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :rather than "if such a system already existed, I wouldn't want it to be TC", which seems kind-of irrelevant < 1315536469 4652 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :important clarification, that. < 1315536560 105490 :pikhq!~pikhq@174-22-159-231.clsp.qwest.net QUIT :Ping timeout: 260 seconds < 1315536598 28392 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric : clearly we need an unthrow < 1315536614 410683 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i thought common lisp conditions were supposed to support that < 1315536619 659680 :copumpkin!~pumpkin@unaffiliated/pumpkingod NICK :pirateat41 < 1315536620 459936 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :probably they do < 1315536629 256706 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the concept is a relatively obvious one, and not even particularly eso < 1315536803 51228 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::( < 1315536812 522127 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :man you guys have such high standards. < 1315536911 317244 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :now I'm trying to work out if "uncatch" is a sane and useful concept (outside the concept of Feather, where everything's sane by comparison and I have no idea what would be useful) < 1315536967 331324 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I believe an uncatch would negate a catch below it? < 1315536970 952170 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :um isn't uncatch just rethrowing? although if you also have unthrow you'd want a new catch to be able to unthrow all the way back < 1315536995 321340 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was thinking that it should work even after an unthrow < 1315537003 312454 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as in, you do throw; uncatch; < 1315537006 29886 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :eek < 1315537089 773325 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ais523: i assume that would go up the catch chain until you hit something which _doesn't_ unthrow < 1315537109 655036 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm so confused now. < 1315537119 589518 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if you remembered a history of throws and catches it might not be so hard < 1315537130 403302 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and if there was no unthrow then it wouldn't get to run, so it would essentially be an ununthrow < 1315537134 179642 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, I'm confused now too, and this is much less confusing than Feather < 1315537153 571353 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so we have rethrow = uncatch, and ununthrow which reverses an unthrow? < 1315537173 74268 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't see why you couldn't keep stacking un- prefixes forever and getting meaningful operations < 1315537176 293092 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ais523: actually i think it's more subtle than that < 1315537180 77218 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although whether they were /useful/ would be another matter < 1315537227 42980 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :in a handler, when you have the option both to rethrow and to unthrow, there's the question of exactly _when_ you discard the unthrow possibility < 1315537248 622295 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :especially because you also have the option to throw an unrelated exception < 1315537266 79171 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh and the option of just exiting at handler level, which probably must discard the unthrow to make sense < 1315537301 914638 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I take it it doesn't make sense to throw one exception, throw an unrelated exception, then unthrow the first one? < 1315537308 709016 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and if it does, can you subsequently unthrow the second? < 1315537318 274725 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ais523: i was just thinking about that < 1315537326 9762 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :you'd need an unthrow stack :P < 1315537340 481652 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so it's OK if you unthrow the second, then the first? < 1315537347 701287 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm beginning to think this is a bit like setjmp in C, with all the restrictions that has < 1315537356 39471 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and using continuations instead would be how you break the restrictions < 1315537367 918809 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :heh < 1315537420 278275 :pirateat41!~pumpkin@unaffiliated/pumpkingod NICK :copumpkin < 1315537449 290448 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well < 1315537453 963828 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :each exception would have its own unthrow stack < 1315537456 8317 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so, not a problem. < 1315537483 263911 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: er, it's when you mix exceptions you need an unthrow stack < 1315537514 12151 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh, well then the exception would just have an unthrow pointer... < 1315537523 525300 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you unthrow the exception, control goes back to where it was thrown. < 1315537528 140923 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :done. < 1315537561 138145 :ive!~nn@189.179.239.6 JOIN :#esoteric < 1315537572 416111 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: but we have the option of having an explicitly manipulatable unthrow stack which the other functions can be written in terms of... < 1315537588 553975 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wait, there are functions in this language? < 1315537589 555990 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::P < 1315537603 300241 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i didn't know we were discussing a particular language < 1315537605 138742 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :This can probably be easily expressed with continuations. < 1315537627 296339 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Although, what continuation can be sensibly thrown is another question. < 1315537645 414261 :Jafet!~Jafet@unaffiliated/jafet QUIT :Read error: Connection reset by peer < 1315537683 367106 :lambdabot!~lambdabot@li85-105.members.linode.com JOIN :#esoteric < 1315537687 379603 :Jafet!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1315537695 216613 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(1) perform a command while pushing current continuation to unthrow stack. the command may or may not do any throwing. (2) pop unthrow stack, discarding it. (3) pop unthrow stack, returning to continuation. < 1315537716 403967 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(4) throw an exception. < 1315537726 126105 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :...perhaps one that takes a replacement for whatever-value-caused-the-problem as its parameter. < 1315537734 182720 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :then the _usual_ way to throw an exception would be combining (1) and (4) < 1315537743 209021 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Well, the stack is an implementation detail. < 1315537752 148658 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh wait. this doesn't support uncatch. < 1315537754 517469 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :not really sure it's necessary... < 1315537789 912157 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Jafet: actually i'm here mostly making the stack explicit in a vain hope of making the semantics understandable < 1315537815 683157 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :throw/unthrow/catch is really really simple.. :P < 1315537836 462278 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uncatch I'm not too clear on. < 1315537837 710272 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :but if there are enough options, you'd surely end up with enough power to explicitly manipulate the stack. < 1315537838 391271 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :By "unthrow", I presume you mean "go back to where the exception occurred and continue". < 1315537843 763996 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes. < 1315537843 962379 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Jafet: yeah < 1315537865 517559 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :But how would you continue? An error just occurred. < 1315537873 983296 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...they're not errors < 1315537882 50663 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Okay, which language is this < 1315537886 864006 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it isn't one. < 1315537888 464712 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :not yet. < 1315537895 378537 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: IT'S NOT ENOUGH UNTIL YOU CAN DO PROLOG IN THE EXCEPTION SYSTEM < 1315537897 884041 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION is going to make basic implementation with throw/unthrow/catch < 1315537904 856519 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(including cut) < 1315537905 135702 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: UNECESSARY < 1315537909 25134 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :But exceptions are usually used to signal errors, so you need some way to continue that doesn't cause the error again < 1315537914 856744 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I posit that the throw/unthrow/catch is easily < 1315537917 280395 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Turing complete. < 1315537936 624223 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :fuck turing completeness < 1315537937 278925 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :I suggest returning a continuation that replaces the thing that caused the error, if applicable < 1315537945 847594 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :provided that catch is a recursive control flow statement. < 1315537957 667374 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Jafet: that's the idea, except it's not really a continuation. < 1315537974 827929 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :just a.. value. an exception < 1315537982 63088 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you replace the throw with an exception < 1315537984 565974 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :everything is exceptions. < 1315537991 613527 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which are, in my implementation, essentially ADTs < 1315538004 699049 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*future implementation < 1315538008 815576 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Jafet: note that common lisp actually _does_ support something like unthrow, afair < 1315538058 100520 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Jafet: presumably however, each type of exception would contain enough information to tell whether it could be safely continued from < 1315538078 800772 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :I'm confused by CakeProphet already. That's good, right? < 1315538079 629988 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :so probably fatal errors wouldn't have the option < 1315538091 266283 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well, fatal errors could just be pre-defined < 1315538099 343534 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Jafet: i haven't got around to reading him yet :P < 1315538101 460690 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and then if you unthrow: undefined behavior. < 1315538136 446256 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Just make it impossible to name the type of a fatal error, so the programmer can't ever handle one. < 1315538145 985180 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well, that's an option. < 1315538181 384127 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: note that all of this tends to be complicated if you have asynchronous exceptions and need to worry about exactly when to reinstall exception handlers < 1315538193 407422 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(and that's even without unthrow, i take) < 1315538202 144179 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...asynchronous exceptions? < 1315538215 701279 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: ghc allows throwing exceptions into other threads :P < 1315538226 114258 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah < 1315538228 398272 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(i don't think it allows unthrow though) < 1315538241 599515 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well, hmmm.. I'm sure something could be workd out. :P < 1315538248 191228 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that can be worried about later. < 1315538249 36727 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :To unthrow, you'd have to wrap everything in the Cont type or something < 1315538261 281258 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Perhaps static typing should be left out of your project < 1315538263 347813 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...I really don't see a need for explicit continuations. < 1315538272 576781 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: oh and the worry of when to reinstall handlers applies regardless < 1315538290 850238 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(what happens if your handler has an error) < 1315538315 753145 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :same thing that happens in any other code < 1315538320 358452 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :>_>? < 1315538325 294254 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I am not seeing the problem. < 1315538351 50227 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: um it's a common problem when actually _using_ exceptions handlers. < 1315538491 369292 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...well when you throw an exception in a handler it would just rise up to the next handler. < 1315538507 940727 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric : Just make it impossible to name the type of a fatal error, so the programmer can't ever handle one. <-- erm i didn't mean fatal in the sense you couldn't handle them further up, just fatal in the sense you cannot reasonably continue from them. actually i'm not sure there is a real difference. < 1315538610 670251 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: yes but you might want to install a temporary handler for your handler. and then _still_ be able to unthrow the original. but i guess that can be worked out with ordinary control flow. < 1315538614 595993 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Every exception should be revertable! Design the language to enforce this. < 1315538633 150774 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Except, maybe, really really fatal errors. < 1315538654 105425 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ProgramWasStabbedToDeathException < 1315538664 699059 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CPUOnFireException < 1315538694 382828 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :prepareWaterBalloonCatapult < 1315538706 676603 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :see, you can recover from that. < 1315538710 351801 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :O KAY < 1315538858 406771 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :SIGKILL is really, really fatal in most Unices, as there's no way to block or handle it < 1315538877 61897 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: Java allows throwing exceptions at other threads too < 1315538883 820803 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but decided that was a bad idea after a while < 1315538895 837052 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :heh < 1315538917 401022 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :threads are for ninnies < 1315539688 358245 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :Yeah, you should only use ucontext. < 1315540081 54260 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :APPLICATION USAGE None. < 1315540100 320880 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :pikhq_: man page disagrees with you < 1315540101 485792 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :forget throwing exceptions at other threads, I want to throw exceptions across the network < 1315540170 859260 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :posix/botnet.h bn_throw_exception < 1315540185 368649 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :\o/ < 1315540185 860195 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net PRIVMSG #esoteric :  | < 1315540186 29434 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net PRIVMSG #esoteric :  |\ < 1315540287 956375 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, sounds like another feature for my hypothetical INTERCAL IRC client < 1315540293 532119 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :along with CTCP SWAPNICK < 1315540306 310122 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that basically just swaps the I/O handles so each client is now controlling the other's connection < 1315540426 588168 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :haha < 1315540440 639866 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :The "else" here seems idiotic to me. If I have statements A and B in my "try" block, and C in my "else" block, how does that differ from having A, B and C in the "try" block? —Preceding unsigned comment added by 192.91.171.42 (talk) 20:06, 16 March 2010 (UTC) < 1315540449 430294 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...lol < 1315540465 434281 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :how indeed < 1315540467 686277 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :192.91.171.42 is perhaps not that smart. < 1315540493 267166 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :else is like finally except it only runs on an exception? or? < 1315540498 180751 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :does the else block, in whatever language was on that page, run if an exception isn't caught? < 1315540502 844049 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes. < 1315540505 841100 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, IP addresses starting 192 confuse me < 1315540506 247171 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Ruby and Python have it. < 1315540523 246963 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :are there general-purpose 192 addresses as well as all the special-cased ones? < 1315540532 752085 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I have no idea. < 1315540550 954273 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but anyways, the difference is that the else clause does not trigger any of the exception handlers. < 1315540559 856561 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so that you don't catch anything you don't want to catch. < 1315540608 995720 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ah so it is run _only_ if no exception is raised < 1315540614 888503 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :correct. < 1315540649 529130 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm actually surprised that very few languages have that. < 1315540652 954262 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :or wait, what if there is one but no handler matches < 1315540657 166412 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :though I suppose putting everything in the try block is mostly equivalent. < 1315540672 530201 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't believe Python allows try-else < 1315540701 367815 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the two forms are try-finally and try-except[-else-[finally]] < 1315540733 56417 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Exception_handling_syntax#Python < 1315540746 92433 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...yes that's the article whose talk page I just read. < 1315540751 808863 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :yup < 1315540894 736473 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you'll note that Perl < 1315540907 285153 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :'s exception handling system is absolutely silly. < 1315540922 507396 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :also that ' is ridiculously close to return < 1315540935 544278 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :wow, you have to eval {} for perl exceptions < 1315540947 441111 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well eval {} is a special case. < 1315540951 851775 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's not quite the same as eval "code" < 1315540974 155399 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :aah < 1315540985 282249 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :eval { } is basically "run this and ignore errors" < 1315541002 159877 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but everything is parsed at compiletime < 1315541006 865786 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :unlike eval "code" < 1315541031 185313 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :$fail = not eval { < 1315541031 858394 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol < 1315541043 627875 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :So it's a syntactic oddity, not a semantic one? < 1315541053 719821 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I suppose. < 1315541066 26106 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the semantic oddity is weird scoping rules. as the article mentions. < 1315541071 43132 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you have to dynamically scope $@ < 1315541121 403296 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :er... well, you don't always have to. < 1315541151 667422 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in any case I never use that. :P I've used eval once to import something that was entirely optional < 1315541182 965232 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in Perl most "error handling" is to ignore the error and return undef < 1315541213 358547 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :close(FILE) || die "Could not close $file" < 1315541245 417538 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :when would you not be allowed to close a file? < 1315541252 403431 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also the Haskell example looks a little bit ugly < 1315541263 604241 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Patashu: if it had already been closed I believe. < 1315541279 103055 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't understand the explicit type signatures... < 1315541288 580115 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :that's silly though, it's not like a double free, it's not dangerous < 1315541321 636660 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :>>> x = open ("test", "w") < 1315541321 858169 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :>>> x.close() < 1315541322 18132 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :>>> x.close() < 1315541324 91884 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :Still an error condition. < 1315541325 986871 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Python apparently agrees. < 1315541337 769180 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and Python thinks everything is dangerous and should raise exceptions. :P < 1315541415 678943 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I have honestly never tried to close a file twice < 1315541419 876271 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so I have no idea what happens in most languages. < 1315541441 390809 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Double_file_closing_syntax < 1315541444 619120 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Gogogo < 1315541485 564665 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :dClose = (>>) `on` hClose < 1315541516 122258 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :not quite < 1315541517 249238 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Is there a language where you can type file.close().close() < 1315541558 860393 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t on < 1315541559 752151 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall b c a. (b -> b -> c) -> (a -> b) -> a -> a -> c < 1315541584 433054 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :dClose = join . (>>) `on` hClose < 1315541587 596197 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::P < 1315541625 534261 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I'm not so sure about that either < 1315541632 562269 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric ::t join . (>>) `on` hClose < 1315541634 198290 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Not in scope: `hClose' < 1315541636 404101 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oops < 1315541665 570513 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric ::t join . (>>) `on` (undefined :: String -> Maybe ()) < 1315541667 195576 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Occurs check: cannot construct the infinite type: b = b -> a < 1315541667 461960 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Probable cause: `>>' is applied to too few arguments < 1315541667 621655 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : In the second argument of `(.)', namely `(>>)' < 1315541676 51621 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what I suspected < 1315541684 267265 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :also, two issues < 1315541715 375339 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :but I'm guessing you meant < 1315541718 858670 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t join . ((>>) `on` (undefined :: String -> Maybe ())) < 1315541719 723513 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `Maybe (Maybe ())' < 1315541719 883406 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type `String -> Maybe ()' < 1315541719 883600 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Probable cause: `on' is applied to too few arguments < 1315541725 386138 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :you don't want composition < 1315541729 121149 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :you want application < 1315541730 107741 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :??? < 1315541730 267320 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t join ((>>) `on` (undefined :: String -> Maybe ())) < 1315541730 955646 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :String -> Maybe () < 1315541735 301881 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...right < 1315541795 329816 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...well that was productive. < 1315541813 612988 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@pl test < 1315541813 852306 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :test < 1315541837 180068 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@pl \x -> hClose x >> hClose x < 1315541837 348225 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :liftM2 (>>) hClose hClose < 1315541848 308929 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric : also the Haskell example looks a little bit ugly <-- the nested catch'es because it is catching two different exception types. there's a function catches which takes a list of handlers but it requires them to be wrapped with Handler. < 1315541863 895819 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :*is because < 1315541891 621572 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and also it's making Int and Double into exception types on the fly. < 1315542159 415159 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric : I don't understand the explicit type signatures... <-- oh right haskell uses type hackery to allow _any_ type to be used as an exception if it has an Exception instance. but this requires type signatures for catch to know which exceptions you are intending to catch. < 1315542203 655037 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :@hoogle Control.Exception.catch < 1315542204 519137 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Exception catch :: Exception e => IO a -> (e -> IO a) -> IO a < 1315542204 686657 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Exception.Base catch :: Exception e => IO a -> (e -> IO a) -> IO a < 1315542204 847843 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Exception catches :: IO a -> [Handler a] -> IO a < 1315542368 922632 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :the Exception class is quite clever, it essentially allows you to make a new type a subtype of another for exception purposes. < 1315542407 585603 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.4.0.0/Control-Exception.html) < 1315542536 304813 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric : oops <-- a tip when using :t with variables it doesn't know is to put ? in front of them to make them implicit parameters. < 1315542543 723619 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::t ?s + ?t < 1315542545 103212 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (?s::a, ?t::a, Num a) => a < 1315542601 127101 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ACTION feels monologuing < 1315542636 318591 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :this is just about the point when there would be a netsplit < 1315543693 153623 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl split net < 1315543761 840890 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1315543807 107124 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :They said in live theatre that still picture photography is permitted, but video camera and tape recorder is not allowed. But, is shorthand allowed? < 1315543875 608145 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: it probably is not a big enough problem for them to care about it < 1315543971 797768 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If you learn shorthand, are you going to record a live show or a movie by shorthand? < 1315543998 149268 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And then, you can transcribe it into the computer when you go home. < 1315544025 806521 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 252 seconds < 1315546045 899366 :tiffany!~tiffany@188.215.83.116 QUIT :Ping timeout: 246 seconds < 1315546835 587872 :DH____!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1315546839 65017 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1315546915 756479 :CakeProphet!~adam@h2.52.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1315546916 358744 :CakeProphet!~adam@h2.52.18.98.dynamic.ip.windstream.net QUIT :Changing host < 1315546916 519661 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1315547188 360124 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :http://www.barnesandnoble.com/s/Capital%20in%20Disequilibrium?store=ebook < 1315547188 833906 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1315547195 36405 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Just... the price disparity < 1315547200 863486 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :For the same book < 1315547206 244931 :DH____!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1315547241 896348 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :(Warning: mises stuff) < 1315547326 877348 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net QUIT :Ping timeout: 246 seconds < 1315547403 295536 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!wacro < 1315547404 289695 :EgoBot!foobar@codu.org PRIVMSG #esoteric :TCCDP < 1315547440 466730 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Turing-Complete Consensual Double Penetration < 1315547730 764031 :Vorpal!~AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1315547989 534447 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (+) <$> [1..10] <*> [1..10] < 1315547991 644970 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,4,5,6,7,8,9,10,11,3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,5,6,7... < 1315548006 354963 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (+) <$> [1..3] <*> [1..3] < 1315548007 917818 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,4,3,4,5,4,5,6] < 1315548046 445494 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> sort $ (+) <$> [1..3] <*> [1..3] < 1315548048 144536 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,3,4,4,4,5,5,6] < 1315548056 654937 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> sort $ (+) <$> [1..5] <*> [1..5] < 1315548058 119495 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,3,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,9,9,10] < 1315548095 49842 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: is there some sort of theoretical mathematics behind this? < 1315548165 477102 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> map length . group . sort $ (+) <$> [1..5] <*> [1..5] < 1315548167 737568 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3,4,5,4,3,2,1] < 1315548175 778058 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: it's far too simple to be considered theoretical. < 1315548189 709360 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I mean is there some kind of property of abstract algebra. < 1315548194 414286 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :also, anyone who has ever played a dice game with two dice should understand this... < 1315548214 753865 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric ::t (<*>) < 1315548215 636155 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (f :: * -> *) a b. (Applicative f) => f (a -> b) -> f a -> f b < 1315548219 51919 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :^ Hint < 1315548234 258209 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :pikhq_: huh? < 1315548256 997550 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: look at a 5*5 square. consider the lengths of the diagonals. < 1315548276 95907 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :"That's just what the Applicative [a] instance means, silly." < 1315548297 825808 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(chessboard style) < 1315548306 788339 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If you wanted to make a Haskell program as a HTML document (although I prefer TeX instead), you could use the command in HTML for that purpose, I think. < 1315548322 509063 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's not [a] that's applicative here. < 1315548331 518029 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: well, right, it makes intuitive sense. < 1315548337 41380 :kmc!~keegan@cpe-74-68-127-232.nyc.res.rr.com JOIN :#esoteric < 1315548351 173975 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric ::t (+) <$> [1..10] < 1315548351 838108 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Num a, Enum a) => [a -> a] < 1315548353 641059 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I was hoping maybe I could learn some general abstract nonsense. I guess not. :P < 1315548354 815109 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Some game with two dice, is, backgammon. But I also played a chess variant using two dice to decide which kind of pieces you are allowed to move on your turn. < 1315548360 170966 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :I'm saying "it is". < 1315548373 234823 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: now if you were to sum _many_ such lists, each of form [0,1] - then you would have reinvented binomial distribution. < 1315548404 664138 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric ::t <$> < 1315548406 240564 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :parse error on input `<$>' < 1315548416 152689 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric ::t (<$>) < 1315548416 312903 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> map length . group . sort $ sum <$> replicateM 6 [0,1] < 1315548417 480753 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b < 1315548418 408599 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,6,15,20,15,6,1] < 1315548421 969020 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :pikhq_: oh right.. < 1315548434 468115 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> (+) <$> (+) < 1315548436 46211 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Overlapping instances for GHC.Show.Show (a -> (a -> a) -> a -> a) < 1315548436 214271 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arisin... < 1315548453 400979 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Lymee: composition < 1315548480 140165 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :Lymee: fmap on a->b is just (.) < 1315548487 533630 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :(and <$> is a synonym for fmap) < 1315548493 781777 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :Ah =p < 1315548499 458568 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :(and in Caleskell, (.) is a synonym for fmap) < 1315548546 972323 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (*) <$> [1..10] <*> [1..10] < 1315548548 458395 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3,4,5,6,7,8,9,10,2,4,6,8,10,12,14,16,18,20,3,6,9,12,15,18,21,24,27,30,... < 1315548567 204467 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: I was thinking of it as being similar to a cartesian product as that is what you would get if you substituted (+) for (,) < 1315548588 982701 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (*) <$> [1..4] <*> [1..4] < 1315548590 520040 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3,4,2,4,6,8,3,6,9,12,4,8,12,16] < 1315548595 533731 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: oh, you are confused about what <*> means for lists? < 1315548604 176728 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i thought you were asking something beyond that. < 1315548605 342197 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no I know what it means. < 1315548607 801681 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...I was. < 1315548612 876000 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :once upon a time, I did a study on this pattern < 1315548617 674524 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :it has an interesting self-similarity property < 1315548638 628746 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: well yes it is similar to a cartesian product. applying (+) to each element in it. < 1315548642 831139 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :each extra time you're repeating the operation, it shifts an initial curve to higher derivatives < 1315548646 474226 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: something to do with properties of addition that are distinct from say, (,) or other binary operations. < 1315548648 260092 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :isn't that just a multiplication table? < 1315548654 434202 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(uncurry (+), technically) < 1315548744 407127 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: that give duplicate results in that way when you apply it to a cartesian product. < 1315548748 634673 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: oh, well that, (n+1) + (n-1) == n+n so the sum stays constant on each diagonal < 1315548765 222773 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Once I did try on paper trying to figure out (x ->) monad and it seem fmap = (.) < 1315548797 288500 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and so simply when you do length . group . sort you are simply calculating the length of each diagonal in a complicated way < 1315548814 687311 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: are there other operators that have this characteristic? < 1315548836 985207 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (-) <$> [1..4] <*> [1..4] < 1315548838 362861 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [0,-1,-2,-3,1,0,-1,-2,2,1,0,-1,3,2,1,0] < 1315548855 47263 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> sort $ (-) <$> [1..4] <*> [1..4] < 1315548856 722065 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [-3,-2,-2,-1,-1,-1,0,0,0,0,1,1,1,2,2,3] < 1315548867 887101 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that one does. :P < 1315548874 730620 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: f(n+k, n-k) == f(n,n) means f(m,n) == f(m+n,0). so only things that are themselves functions of m+n < 1315548894 341912 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah, okay. < 1315548900 182182 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: oh right, (-) gives the diagonals the _other_ way < 1315548927 697566 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(n+k)-(m+k) == n-m < 1315548929 457943 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: also it's a function of m+n < 1315548930 247685 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :right < 1315548943 42676 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: um - < 1315548959 625572 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :*um m-n isn't a function of m+n < 1315548994 628250 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :m - n = m + (-n) ? or does that not count? < 1315549097 925402 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :@oerjan: http://pastebin.com/D5JHEyeM < 1315549098 261753 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Unknown command, try @list < 1315549103 933597 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :thanks for helping me understand it < 1315549136 523944 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: no, that does not count. you are essentially doing a mirror reflection of the n direction, which as i said makes the diagonals go the other direction. < 1315549151 980824 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh okay. < 1315549155 923293 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :there is no function f such that m-n = f(m+n). < 1315549195 511310 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (.&.) <$> [1..4] <*> [1..4] < 1315549197 231731 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Ambiguous type variable `a' in the constraints: < 1315549197 403923 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : `Data.Bits.Bits a' < 1315549197 564566 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ... < 1315549215 152124 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (.&.) <$> ['a'..'d'] <*> ['a'..'d'] < 1315549216 847457 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (Data.Bits.Bits GHC.Types.Char) < 1315549217 116763 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use of `D... < 1315549225 981722 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :er. < 1315549235 341286 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Haskell isn't C? < 1315549248 421831 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what do? < 1315549272 928432 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :add a type signature < 1315549281 572943 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric : > (.&.) <$> [1..4] <*> [1..4] :: [Int] < 1315549313 233668 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :er < 1315549317 349965 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> (.&.) <$> [1..4] <*> [1..4] :: [Int] < 1315549318 736566 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,0,1,0,0,2,2,0,1,2,3,0,0,0,0,4] < 1315549403 436805 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (.|.) <$> [1..4] <*> [1..4] < 1315549405 180389 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Ambiguous type variable `a' in the constraints: < 1315549405 517872 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : `Data.Bits.Bits a' < 1315549405 677780 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ... < 1315549407 229059 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: lambdabot apparently doesn't use extended defaulting, so if you include a class it doesn't know, it refuses to try. < 1315549407 786986 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh rite < 1315549415 455045 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> (.|.) <$> [1..4] <*> [1..4] :: [Int] < 1315549416 779235 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,3,3,5,3,2,3,6,3,3,3,7,5,6,7,4] < 1315549433 525355 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :3 seems to be the favorite. :P < 1315549465 874031 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :erm s/know/know from the haskell report, where for some stupid reason the Random class seems to have been excluded in ghc, i think that's a bug/ < 1315549482 524835 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :> xor <$> [1..4] <*> [1..4] :: [Int] < 1315549483 463858 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [0,3,2,5,3,0,1,6,2,1,0,7,5,6,7,0] < 1315549486 306144 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :(Just for completeness.) < 1315549494 458588 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is there a such thing as (x ->) monad? < 1315549506 697448 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: yes, import Control.Monad.Reader < 1315549537 124273 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :it's isomorphic to the Reader Monad, so defined there < 1315549558 212649 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> join (+) 2 -- lambdabot has it automatically imported < 1315549559 744560 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 4 < 1315549567 476423 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :OK. < 1315549576 814270 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: also lambdabot's @pl command uses it heavily < 1315549599 545714 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I found what I figured out the definition of unit/join/fmap that I made up are in fact the correct ones and the same ones they use. < 1315549659 451206 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And in fact it does make sense. < 1315549694 546476 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: also yes fmap = (.) for that monad/functor, lambdabot even defines (.) = fmap as one of its "caleskell" modifications < 1315549696 590368 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But "join" really should be a member of the "Monad" class. It is stupid that they don't do it that way!! < 1315549719 949868 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Yes, that is what I came up with. < 1315549791 294423 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: it's probably because Functor is younger than Monad and no one has implemented the needed subclass defaulting extensions to make that combine without being annoying < 1315549794 779960 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Hmmm. Since doing this over and over by the central limit theorem gets you a normal distribution, the normal distribution must be infinitely differentiable < 1315549827 754697 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Patashu: pretty sure it is < 1315549875 61119 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Yes; if they did implement the subclass extensions, it would in fact work much better because you can define a monad in terms of unit/join/fmap or return/bind. < 1315549877 331897 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Basically, what I wanted to come up with about a year ago were equations for step 1 towards normal distribution, step 2, step 3, step 4... with step infinity being the normal distribution < 1315549884 26204 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :So all continuous equations < 1315549931 205086 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :So that you can have the classes required by constraints have implementations mentioned in both class declarations and in instance declarations for a class. < 1315550065 785726 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :normal distributions are hungry. < 1315550068 625264 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de JOIN :#esoteric < 1315550092 600981 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :they want to assimilate everything into their normalcy. < 1315550148 641674 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Patashu: of course that it's infinitely differentiable is rather obvious from the explicit formula for its density function < 1315550157 754 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net PRIVMSG #esoteric :CakeProphet: ASSIMILATE! < 1315550168 634071 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :even analytic < 1315550187 212773 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :oerjan: yes, but I figured it out without needing to know that \o/ < 1315550191 174103 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :math is beautiful and all that < 1315550211 230805 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yeah < 1315550362 605303 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :One of my idea about Haskell, is to make ASSUME and PROVE pragma, which can be used with proofs using Curry-Howard but can have other uses, too, such as optimization or checking some properties of the program. < 1315550464 956092 :clog!~nef@bespin.org QUIT :Ping timeout: 260 seconds < 1315550480 631107 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: such as monad laws? < 1315550518 231468 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :monad laws: https://github.com/copumpkin/categories/blob/master/Categories/Monad.agda < 1315550567 348264 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :CakeProphet: Not what I meant, but it might be usable for such things possibly; I don't know. What I mean is that ASSUME means assume the property that for all defined inputs, there is a defined output, while the PROVE pragma checks this property if possible. < 1315550606 957651 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I don't know whether this allows checking monad laws, though. < 1315550643 285812 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: checking things automatically is generally either not possible or in very restricted cases, computationally intractable < 1315550659 606784 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :automated theorem proving fields tend to be happy when they find "just" doubly exponential algorithms < 1315550662 349700 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(The other idea would be that ASSUME is completely ignored when optimization is turned off except that ASSUME is still used in checking with PROVE) < 1315550663 245106 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'd imagine there's some kind of way to apply function definitions until you get from one end of the equality to the other, so to speak. < 1315550688 714266 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :by syntax transformations, rather than explicit input checking. < 1315550689 940200 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: Yes I know it is not always possible to check. But it is sometimes possible. < 1315550699 838772 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :how do you determine when it's possible?! :P < 1315550719 255573 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :but yeah, I support automated theorem proving for some things < 1315550721 776529 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :copumpkin: you have a program impatiently press a button when he gets tired of waiting for the answer. < 1315550725 155459 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I just don't think haskell is the place for it < 1315550728 723904 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/program/programmer/ < 1315550733 374247 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :For example, it uses no "undefined", it uses no loops, and all functions it calls have that property. < 1315550741 731926 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And it has no inexhaustive patterns. < 1315550756 987579 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :if it doesn't have any of those it's not an interesting case < 1315550775 617158 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you can restrict something to only do structural recursion < 1315550781 462208 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :except in haskell things are a lot trickier < 1315550783 63946 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It it *does* have those things, then you can have something for doing metatheorems. < 1315550787 822050 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :because you frequently deal with infinite data < 1315550806 463477 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Or just ASSUME it if you have proved it yourself and do not want to put it in the program. < 1315550818 126265 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so is syntax transformations not a viable option? < 1315550825 290309 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: assume = unsafeCoerce < 1315550829 542003 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :or undefined :) < 1315550847 769335 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :according to the curry-howard correspondence < 1315550850 149573 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But ASSUME and PROVE only apply to the functions you tell it to do, not everything. < 1315550876 786260 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :how are they different from undefined? and I don't get the point of prove < 1315550893 575322 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: Yes I have thought of that, too. It allows you to construct proofs in that way. But it won't do with what I proposed having ASSUME and PROVE pragmas. < 1315550942 452284 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :So that {-# PROVE f #-} checks the property of the function f, and {-# ASSUME f #-} tells it to assume that f has that property for optimization purpose and for PROVE pragmas. < 1315550968 184331 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :{-# PROVE f 5 == 6 #-} ? < 1315550990 940967 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you might be interested in http://pauillac.inria.fr/~naxu/research/escH-hw.pdf < 1315550999 799933 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :{-# ASSUME funky #-} < 1315551002 855552 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :which does as much checking of haskell as I think is possible < 1315551027 837308 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: No, I mean check the property, if possible, that the output will always be defined for all defined inputs of the function. < 1315551054 1321 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :PROVE doesn't sound like the right name for it, then < 1315551056 955079 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :TOTAL < 1315551067 42684 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(If it checks successfully, it can also do the same as ASSUME for purpose of optimization.) < 1315551085 971275 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I'm not sure what you mean there < 1315551094 933672 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :can you give an example of a case where you'd use them? < 1315551105 151297 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :what would the properties look like? < 1315551110 275249 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :according to C-H, they're just types < 1315551217 691452 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But for the proof to be valid, all functions must have defined outputs for all defined inputs. Otherwise you can write undefined or whatever else like that. You also need to ensure no unsafe functions being used, too. < 1315551225 737147 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :oh sure < 1315551228 226276 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that's what TOTAL means < 1315551241 340822 :augur!~augur@pool-71-178-133-196.washdc.east.verizon.net JOIN :#esoteric < 1315551246 906674 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :You could have PROVE pragma can have local assumptions in parentheses, perhaps, if you want to make those assumptions locally. < 1315551258 642482 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I think you should learn agda :) < 1315551270 885749 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :just to see what proofs and statements in a total language look like < 1315551275 344932 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :if nothing else < 1315551302 273245 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@src concatMap < 1315551303 144667 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :concatMap f = foldr ((++) . f) [] < 1315551312 412679 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@src foldr < 1315551313 434793 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :foldr f z [] = z < 1315551313 703821 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :foldr f z (x:xs) = f x (foldr f z xs) < 1315551392 705855 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Call it TOTAL if you do not like the name PROVE, but what name would you give ASSUME then? Would you keep it same or do differently? < 1315551411 324841 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t ((++) . f) < 1315551412 820992 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (f :: * -> *). (Monoid a, SimpleReflect.FromExpr (f a), Functor f) => f (a -> a) < 1315551428 874897 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@unpl ((++) . f) < 1315551429 796117 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(\ c -> (++) (f c)) < 1315551481 716200 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: I still don't understand the point of ASSUME. You mentioned curry-howard, and the language of propositions in curry-howard is that of types. So I don't see why you need a separate construct for ASSUME instead of just a type. Can you explain what kind of propositions you'd put in it? < 1315551566 670338 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1315551598 578457 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :2src (++) < 1315551601 56594 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@src (++) < 1315551602 71028 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :[] ++ ys = ys < 1315551602 239579 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(x:xs) ++ ys = x : (xs ++ ys) < 1315551602 399321 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :-- OR < 1315551602 414416 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :xs ++ ys = foldr (:) ys xs < 1315551977 918138 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Monad axioms: < 1315551978 114744 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Kleisli composition forms < 1315551979 63107 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a category < 1315551986 143615 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a beautiful haiku from HaskellWiki < 1315551999 376248 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :CakeProphet: Yes, I like that. < 1315552135 345684 :augur!~augur@pool-71-178-133-196.washdc.east.verizon.net QUIT :Ping timeout: 260 seconds < 1315552152 712056 :ive!~nn@189.179.239.6 QUIT :Quit: leaving < 1315552447 769140 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: For example, you write a function you know has the properties required but the computer cannot check. Another use is optimization. And one more use is if you write functions but you are trying to check using assumptions; although in this case you might want local assumptions. < 1315552531 548257 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I keep asking, what is the language of these properties? how do you check them, and how do you incorporate knowledge about things? So far you seem to be waving your hands and saying effectively "automated theorem proving" which is a large and complicated area < 1315552600 270535 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :is it just something you know to be true, that can be used as a rewrite rule? < 1315552601 537395 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :You still have to write most of it yourself, but for example, it checks that you have no inexhaustive patterns, no unsafe functions, no undefined stuff, and that all functions it calls also have that property. < 1315552607 545106 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :because GHC already has those < 1315552610 859554 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I thought that was PROVE < 1315552612 317737 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :copumpkin: it is a required exercise in this channel to invent your own perfect system which looks entirely plausible as long as you keep it only in your head < 1315552613 293298 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :or TOTAL < 1315552620 608534 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :oerjan: I see < 1315552628 626363 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If you need more complicated then you could make up a metatheorems system < 1315552648 766274 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :anyway, I still think that before embarking on this journey you should learn a tiny bit of what's already out there < 1315552662 720211 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you mentioned C-H but I'm not getting the impression it has anything to do with it, from what you've said so far < 1315552674 722061 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :ASSUME just causes it to *assume* these things are true without checking, both for optimization and for proof. < 1315552681 343308 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: RULE < 1315552703 492594 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :http://www.haskell.org/ghc/docs/latest/html/users_guide/rewrite-rules.html < 1315552710 528277 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I know about rewrite rules pragma. < 1315552717 527089 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I'm asking, how is it different? < 1315552823 23802 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :How is it the same? < 1315552846 868836 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you haven't given me any examples of what an actual ASSUME pragma would even look like, so I don't know < 1315552885 303323 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you're hand-waving and saying optimization :P I'm saying it sounds like you can provide equations that your definition satisfies and ask the compiler to optimize based on them, using rules pragmas < 1315552888 460705 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It would look like: {-# ASSUME f #-} just like that, to assume it for function f. < 1315552894 757105 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :assume WHAT? < 1315552903 22609 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that it terminates? < 1315552926 440094 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: Yes, that it terminates, has no undefined or unsafe, has no inexhaustive patterns. < 1315552950 743487 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :does fix (1:) terminate? < 1315553044 555430 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :That is difficult. Is fix (1:) a valid proof for Curry-Howard? < 1315553059 852511 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it's a proof of [Integer] :) < 1315553069 2858 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :how could it not terminate? < 1315553080 502056 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :also, how do you deal with the paradoxes in Haskell that don't arise from recursion? < 1315553086 628269 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :Patashu: it produces an infinite list < 1315553105 6353 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :fix is basically the fundamental building block for non-termination < 1315553121 18220 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: Paradoxes that arise from anything have those kind of things disallowed in a PROVE and assumed that they don't have them in an ASSUME. < 1315553129 488639 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Probably "fix" would be disallowed in a PROVE. < 1315553136 500074 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :sure < 1315553137 938158 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But I don't know a lot about it for sure. < 1315553141 586931 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :but x = 1:x < 1315553145 635487 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :which is the same as fix (1:) < 1315553159 995387 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that is allowed in agda, for example, but only if your list is codata < 1315553165 821621 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it's productive corecursion < 1315553168 966888 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1315553171 32192 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: That is also recursion because it refers to itself, which I think would also be disallowed < 1315553192 370688 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :almost all interesting programs will have some form of recursion in them < 1315553203 650134 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :theorem provers force you to write structural recursion usually < 1315553213 901571 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :because it's clear that they terminate < 1315553217 961679 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :That is, "fix" is disallowed unless you specifically allow it with {-# ASSUME fix #-} or with a local assumption. < 1315553275 53038 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: Yes, you could have some that are clear to terminate; you might also be able to have a metatheorems system to write your own proofs of termination and nonparadoxes < 1315553290 927034 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :why even bother doing this in haskell though? < 1315553301 794756 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :the language of those proofs is going to be a completely different language < 1315553307 414619 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :in agda, you get it as your basic language < 1315553314 745382 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :in haskell, also < 1315553318 840913 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(You cannot do this more than one level though; I think Godel's Theorem or whatever prevents it) < 1315553322 590278 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :what is the benefit of guaranteed terminating functions? < 1315553366 23442 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :copumpkin: what makes it clear? Are they explicitly typed so that it can be determined that they terminate at compiletime? < 1315553369 229981 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Of course not all functions have to be; your program can contain such functions just fine. But to check them with these kind of pragmas it would not work if you have things the computer won't check < 1315553394 591703 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :CakeProphet: yes, but what makes it clear is that there's a (t least one) data constructor being consumed for every recursive call < 1315553396 775190 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :That is, you only use the pragmas on some functions, not all of them. < 1315553412 288552 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :CakeProphet: for example f (x : xs) = blah (f xs) is fine < 1315553415 733635 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :copumpkin: ah so no laziness here. < 1315553420 329058 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :f (x : xs) = blah (f (x : xs)) is not < 1315553425 234270 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :CakeProphet: no, there can be laziness < 1315553437 935113 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :whether it's lazy or not is an implementation detail < 1315553451 964528 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: I mean, what kind of benefit does annotating functions this way give you? < 1315553498 565357 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :copumpkin: ...but that wouldn't terminate for a lazy infinite list. < 1315553522 418436 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :CakeProphet: yes, there's an explicit separation between data (finite things) and codata (potentially infinite things) < 1315553529 462432 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: In a proof program, to make the compiler check your proof. In other programs, to use with local assumptions to check certain properties locally. < 1315553535 362265 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :CakeProphet: and the safeness conditions are different for them < 1315553540 435205 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah < 1315553548 713282 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: but your language for writing proofs is horrible, in haskell < 1315553562 652382 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I've written proofs about basic natural arithmetic in haskell and it's really painful < 1315553578 865286 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :proving anything remotely useful is completely out of the question < 1315553584 127679 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :especially since we don't have dependent types < 1315553585 894765 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: Really? It seem, if you have the (x ->) monad then you can use do-notation. < 1315553601 702284 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I don't follow :) < 1315553667 720444 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I do believe you could prove the monad laws through a combination of step-by-step syntactic transformations and pattern matching. < 1315553675 738268 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :for an individual instance < 1315553692 862554 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And it automatically gives you the fantasy rule if you do that too, I think. < 1315553719 468059 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :return a >>= f = concatMap f [a] = foldr ((++).f) [] [a] = ... < 1315553742 748075 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: for example < 1315553744 588714 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :do-notation in the (x ->) monad as a replacement for the decision theorem, check. < 1315553745 400342 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :say you just wrote addition < 1315553752 706856 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :oerjan?? < 1315553775 681775 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: so you just defined (+). Now you want to prove that it's commutative. But first you must state that it's commutative. How do you do that? < 1315553805 868197 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :copumpkin: the (x ->) monad could sort of work as a way to hide assumptions in your proof terms... < 1315553815 275407 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i think. < 1315553819 149883 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :except your proof terms are all trivial < 1315553825 368454 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: What is decision theorem? Sorry I don't know what that is? < 1315553871 729441 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: it's a metatheorem of logic with says that if you prove B from assumptions A1,A2,... then you can prove A1 -> A2 -> ... -> B < 1315553893 322255 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :anyway < 1315553899 318467 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: I don't know, but I do know how to write it in TNT. But how can you make TNT with Curry-Howard? I don't know that either. That is why I want to learn. < 1315553901 56912 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you'd state your commutative theorem < 1315553902 469454 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and i think you could sort of extract one of the A's into an (x ->) monad < 1315553911 229188 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :forall x y. x + y == y + x < 1315553925 647713 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that would be your proposition to prove < 1315553954 202603 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: I believe you need toluene, sulfuric acid, and nitric acid < 1315553960 90913 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that kind of type can only be awkwardly translated to haskell < 1315553963 132749 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :because it's dependent < 1315553969 733232 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: I'm not sure if Curry-Howard will help you with acquiring those things though. < 1315553983 638250 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and the only place you can depend on parameters in haskell is for type-level parameters < 1315553990 609739 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :which means your addition needs to be over type-level naturals < 1315553991 508552 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :TNT here is short for Typographical Number Theory, though. < 1315553998 819839 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and that needs to be type-level equality < 1315554002 925215 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: I have done type-level natural numbers. < 1315554021 489749 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: that's fine. Do you know what a proof of that would look like? < 1315554037 62239 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you'd proceed by induction over one or both of the arguments < 1315554042 165922 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :except you can't do that in haskell < 1315554046 626238 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :because they're types < 1315554054 106285 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :so you need to hack it in with a typeclass < 1315554065 138173 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I do know what a proof of it looks like in TNT. < 1315554072 156385 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :forall x y. (Nat x, Nat y) => x :+ y :== y :+ x < 1315554081 640922 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that's what the actual statement would look like < 1315554096 364586 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :proofs of simple things like commutativity in haskell can be done < 1315554102 477689 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :but they're proofs over things people don't typically work with < 1315554107 259289 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :type-level naturals < 1315554108 418110 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And I have tried using classes too. But, it seems some things it will ignore anyways < 1315554122 723528 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :when I write a program I'm not writing a list of type-level numbers < 1315554127 720895 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I'm writing a value-level list < 1315554133 574687 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and haskell gives me no way to say anything about that list < 1315554142 469170 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :(except very slightly with GADTs) < 1315554173 961105 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :the reason anyone who cares about writing proofs uses dependent types is that they let you state and prove most things you care about in your program < 1315554180 191135 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :since you _can_ actually make statements about values < 1315554186 802141 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that's why I keep pushing you towards agda :P < 1315554197 495558 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that also checks for you that all your functions terminate < 1315554201 331800 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and warns you if it can't see that they do < 1315554210 975402 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :so you can still write functions that don't obviously terminate < 1315554225 80579 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :but by default it checks < 1315554269 706921 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :does a brainfuck interpreter obviously terminate? :P < 1315554273 821744 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :no < 1315554274 977569 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that would be pretty amazing if it did. < 1315554294 255611 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :there's no (obvious) succinct way to state a checkable termination condition < 1315554301 258209 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :copumpkin: so wait, adga /can't/ solve the halting problem? < 1315554304 417314 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :why do I want it then? < 1315554310 529677 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :? < 1315554314 168034 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :? < 1315554317 897605 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::? < 1315554319 293967 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I did make type-level natural numbers using type families. < 1315554319 880612 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :terminating agda isn't turing-complete < 1315554329 476805 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it's conservative < 1315554345 182250 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it might warn you that a terminating function doesn't terminate because its simple condition isn't accurate < 1315554356 696286 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :but it won't ever decide that a non-terminating function does terminate < 1315554392 514437 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :but because of that, you can trust proofs in it < 1315554408 436604 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it also makes you realize how overrated turing-completeness is < 1315554460 562529 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :That is why you don't want Agda. But you might want to use some of their features in Haskell, but not always. However there are things neither of these have but then there can be other extensions, including type families and other stuff too. < 1315554476 720781 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :what is why you don't want it? < 1315554498 297355 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I actually think agda's default is the better one < 1315554503 433649 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :There could be some way converting between type-level programming and value-level programming, probably with some restrictions. < 1315554525 736162 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: Are you sure? I don't agree but that is just my opinion. < 1315554543 151198 :Vorpal!~AnMaster@unaffiliated/anmaster QUIT :Quit: ZNC - http://znc.sourceforge.net < 1315554546 112955 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :why do you disagree? < 1315554556 892627 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I'm not even sure what you dislike about it? :P < 1315554570 615349 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :In most cases you do not want such restrictions. < 1315554577 615566 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :as I said < 1315554584 44676 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :all it does is warn you if you don't meet them < 1315554591 633054 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it doesn't stop you from writing such functions < 1315554631 982439 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and regardless of whether you think it's practical < 1315554637 87928 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :if you want to talk to people about proofs < 1315554646 696290 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :they're not going to take you seriously if you don't understand how proofs work :) < 1315554650 725276 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and what is needed to construct them < 1315554658 656851 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But if you have a PROVE pragma like I described, it would check other functions it calls, too, not necessarily all cases of those other functions. (And it would be error rather than warning, allowing you to speed up the compiler, as well as a few other things.) < 1315554679 938097 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :yes, but _what_ can you prove in haskell? < 1315554722 448528 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I do have a proof in a book on the table in front of me, of commutative addition, in TNT. < 1315554726 828380 :oerjan!oerjan@tyrell.nvg.ntnu.no QUIT :Quit: Later < 1315554730 522270 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :its type system isn't expressive enough to even state, let alone prove anything that might be useful to an optimizer < 1315554736 914789 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :TNT is not haskell < 1315554752 121545 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :One thing I want to learn is to be able to make TNT with Curry-Howard if there is some way. < 1315554773 194260 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I think you're missing a key part of this < 1315554792 321234 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you can't write forall or exists in haskell < 1315554804 897659 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :its type system doesn't allow it < 1315554819 141650 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that's in fact the main distinguishing characteristic between its type system and agda's < 1315554831 357527 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :O, I thought you could make up some things with it somehow < 1315554854 219639 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you can, but by hacking at the type level, and doing so is extremely painful and indirect < 1315554867 492632 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :but most things people care about aren't at the type level < 1315554878 730139 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :if I want to say a list is sorted < 1315554884 349649 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :or addition is commutative < 1315554892 388951 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :or anything more interesting than that < 1315554894 773556 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I need to say forall < 1315554906 149176 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :forall numbers x and y, x + y == y + x < 1315554962 132168 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that forall gives you basically boundless power to state theorems < 1315554976 256149 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and makes the type system simpler in many ways < 1315554983 525171 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and more complicated in many others < 1315554995 104989 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :anyway, gotta sleep now < 1315555007 604412 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :but if you want something like haskell but with more type-level goodness < 1315555019 502332 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :check out http://lambda-the-ultimate.org/node/4088 < 1315555051 389875 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :OK I will look < 1315555517 243129 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :GHC has GADTs, type families, and other stuff, too. I was making preprocessor for Haskell, which does things including anonymous macros and other features, maybe I can put some of these kind of type-level stuff too. However, note this program does not accept layout mode and I do not plan to add it (although you can add it in yourself if you want to, or do whatever else you want to it) < 1315555618 584316 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Such as, if you write 3 in a type context it will replace it with (Succ (Succ (Succ Zero))) < 1315556142 834716 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com QUIT :Remote host closed the connection < 1315558204 344715 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Python topic line says "NO LOL" < 1315558209 563370 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I wonder if they enforce that. < 1315558213 884325 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/Python/#python/ < 1315558278 624638 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Yes. < 1315558298 530262 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :It raises the channel mean IQ, if only by a little. < 1315558329 100791 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :"NO LOL | NO PROJECT EULER | ..." it said when I /list'd few weeks ago to pick some new channels. < 1315558349 334656 :clog!~nef@bespin.org JOIN :#esoteric < 1315558354 956936 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Jafet: lol < 1315558364 637895 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Strange things to prohibit, lol. < 1315558412 558634 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Not really; python is full of lol. < 1315558417 997103 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :More proof that pythonistas are actually jerks, lol. < 1315558579 193944 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :yes they do < 1315558593 294928 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :if you go in there and say LOL you get banned after 1 warning < 1315558603 526296 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :http://pound-python.org/ "Our tireless moderators ensure that disruptive conversations and people are removed from the channel quickly and with a minimum of fuss. -- Most notably, we don't tolerate use of "LOL" or other forms of 'chatspeak'." < 1315558610 60704 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Ah, cheater would be the one to know the details. < 1315558630 257558 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :i've been around < 1315558640 300335 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wow that's hilarious < 1315558643 891604 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :yes < 1315558644 410076 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I might actually have to lol. < 1315558644 570115 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :it is < 1315558650 780894 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perhaps I will rofl < 1315558656 556875 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :and they are like very fucking adamant about it < 1315558662 798437 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :it's like LOL killed someone's parent < 1315558663 219659 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :s < 1315558664 560020 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :oh god. not even lol? < 1315558665 919130 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :ACTION cries < 1315558667 124584 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :yes < 1315558686 829449 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :goon project: let's all go in and say 'lol' simultaneously < 1315558692 139158 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :do they permit hehe or haha or snickers or chuckles < 1315558732 742274 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :No forms of hilarity at all. Python is serious business. < 1315558778 111327 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I am in Python right < 1315558814 245168 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but I'd rather not get band as I have a vhost which would make it permanent on this nick. < 1315558814 650153 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I don't think I;ve ever heard anything good about #python < 1315558827 484205 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: probably because I've been bashing it nonstop for the past few days. < 1315558835 964689 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and probably because you're in #esoteric a lot < 1315558845 526264 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :But the website says you get personalized service and everything. < 1315558865 120305 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :of course they'd praise themselves < 1315558872 939596 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :it doesn't help < 1315559119 728717 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :help what help < 1315559140 417174 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :help < 1315559146 976879 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :. < 1315559202 765054 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :bash: .: filename argument required < 1315559203 790269 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :.: usage: . filename [arguments] < 1315559249 144910 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :. < 1315559274 681446 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :irp: fatal give a shit exception < 1315559292 247008 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oops < 1315559824 855295 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :https://gist.github.com/1205816 looks bad < 1315560581 942096 :derrik!~xix@175-97-131-46.internet.emt.ee JOIN :#esoteric < 1315560677 883800 :derdon!~derdon@p5DE89578.dip.t-dialin.net JOIN :#esoteric < 1315561255 208949 :derrik!~xix@175-97-131-46.internet.emt.ee QUIT :Ping timeout: 252 seconds < 1315564657 44947 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1315564790 468048 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1315566171 832338 :derdon!~derdon@p5DE89578.dip.t-dialin.net QUIT :Remote host closed the connection < 1315567511 92484 :sllide!~jari@ip565eb113.direct-adsl.nl JOIN :#esoteric < 1315569119 654256 :derrik!~xix@62.65.227.153.cable.starman.ee JOIN :#esoteric < 1315569179 822877 :derrik!~xix@62.65.227.153.cable.starman.ee QUIT :Client Quit < 1315569190 447335 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which is what I'm currently doing. < 1315569235 124890 :derrik!~xix@62.65.227.153.cable.starman.ee JOIN :#esoteric < 1315569572 868663 :derrik!~xix@62.65.227.153.cable.starman.ee QUIT :Ping timeout: 252 seconds < 1315569699 654587 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net JOIN :#esoteric < 1315569719 579803 :pikhq_!~pikhq@71-219-194-208.clsp.qwest.net QUIT :Ping timeout: 260 seconds < 1315570605 464606 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :which is < 1315572061 908542 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net JOIN :#esoteric < 1315572115 600290 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :aaaaaaaaaaaaaaa < 1315572159 365906 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1315572811 567583 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au QUIT :Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 . < 1315575208 999524 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :wow :) < 1315575482 906330 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hhehe that paste thing < 1315575751 61713 :DH____!~DH____@unaffiliated/dh----/x-6288474 QUIT :Remote host closed the connection < 1315575784 768270 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :it's not hehehe, it's AAAAAAAAAAAA < 1315575853 369356 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :the worst thing is T before the Point and xx->method(xx,... < 1315575861 532090 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :otherwise it would be quite nice < 1315575899 510276 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :it almost looks like something I would do were I trying to do awful things in C to make boring things more amusing maybe < 1315575921 546416 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :almost < 1315575941 668784 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :by looks I mean "is in the style of" < 1315575948 93184 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :uhum < 1315575964 616687 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :as I would most likely go about it a bit differently < 1315576015 873747 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :then check this out: http://stackoverflow.com/questions/351733/can-you-write-object-oriented-code-in-c < 1315576018 944615 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric ::D < 1315576088 919838 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :i'm coding for bare metal now and i would like to use some basic OO style < 1315576099 307010 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :naturally I'm more interested in functional c < 1315576099 980358 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :porting Objective-C runtime is not worth it < 1315576105 270148 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :and I hate C++ < 1315576114 498337 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :monqy: oh, that too < 1315576121 55216 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :clang has blocks! < 1315576129 40029 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :but they need a runtime ;/ < 1315576597 504587 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :That sort of thing also hangs one function pointer/method to each object of a "class", bloating them by quite a lot, since they're going to be identical for all objects. The syntax with a separate vtbl is even uglier, though, something like "xx->vtbl->method(xx, ...)". < 1315576616 319529 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :yeah < 1315576621 658229 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :there should be vtable < 1315576637 8686 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :but then again call syntax gets uglier < 1315576702 388095 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :You can do some sort of an equally ugly macro to rewrite CALL(obj, method, arg1, arg2, ...) into obj->vtbl->method(obj, arg1, arg2, ...). (Or just write C.) < 1315576728 119569 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :that's right < 1315577032 71728 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :another option is to take C's yacc definition and code every goddamn semantic rule + add your own few < 1315577042 248816 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :then use this as a preprocessor < 1315577802 389156 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Quit: Computer has gone to sleep. < 1315577851 566272 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :or develop new language that compiles to C < 1315578384 733860 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1315579269 39533 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :sounds like fun < 1315579332 633322 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1315579337 32903 :Gregor!foobar@codu.org PRIVMSG #esoteric :You don't reaaaaally need to code every semantic rule, just the AST, and make them all compile down into themselves by default. < 1315579406 918530 :Gregor!foobar@codu.org PRIVMSG #esoteric :You could use Fythe :P < 1315579565 648827 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :i target bare metal since i'm writing an experimental kernel < 1315579655 325941 :Gregor!foobar@codu.org PRIVMSG #esoteric :I just meant you could use Fythe as the engine for a C+whatever->C translator < 1315579845 714699 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :I've just read the documentation < 1315579854 171884 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :but i think it's not enough ;f < 1315579863 11789 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what documentation < 1315579911 847627 :Gregor!foobar@codu.org PRIVMSG #esoteric :Yeah, what documentation? :P < 1315579940 232163 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :the pdf file You provided on the plof.org :D < 1315579969 910703 :Gregor!foobar@codu.org PRIVMSG #esoteric :*fythe.org < 1315579985 857644 :Gregor!foobar@codu.org PRIVMSG #esoteric :Yeah, I'm not so great with documentation X-P < 1315580019 3765 :Gregor!foobar@codu.org PRIVMSG #esoteric :Anyway, one of these days I'm going to write GGGGCCCC (GGGGC-C-to-C-Compiler) in Fythe ... but until then, take my "recommendations" as mostly the blathering of a madman. < 1315580092 726349 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :GGGGC ? < 1315580117 556534 :Gregor!foobar@codu.org PRIVMSG #esoteric :Gregor's General-purpose Generational Garbage Collector < 1315580167 260229 :Gregor!foobar@codu.org PRIVMSG #esoteric :It's a precise GC for C (and because it's precise, it requires the user to do a bunch of boilerplate to make sure things never overlap improperly) < 1315580198 631283 :Gregor!foobar@codu.org PRIVMSG #esoteric :Erm, s/overlap improperly/aren't visible to the GC/, or something like that :P < 1315580202 566476 :Gregor!foobar@codu.org PRIVMSG #esoteric :Weird attempt at phrasing :P < 1315580222 728973 :Gregor!foobar@codu.org PRIVMSG #esoteric :Point is, it requires boilerplate, so I was thinking of making a C->C compiler that just injects the boilerplate for you. < 1315580791 747295 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :oh < 1315580812 327128 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :sounds really nice < 1315580882 671090 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :but I still got this : https://gist.github.com/1206470 :D < 1315580941 173185 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yikes < 1315580945 457235 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :it parses C. The thing is i don't know yacc tricks enough to make it output the input without writing much < 1315581081 140442 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :Gregor: haha, GGGGCCCC is a very good name < 1315581127 552562 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net JOIN :#esoteric < 1315581509 123768 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1315582836 156544 :tiffany!~tiffany@188.215.83.116 JOIN :#esoteric < 1315583427 641943 :Gregor!foobar@codu.org PRIVMSG #esoteric :olsner: I'm pretty proud of it :P < 1315585623 652964 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1315585631 802304 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : http://powdertoy.co.uk/ < 1315585637 446939 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :help where is my life going < 1315585646 647682 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :i'm sure there are things that aren't this < 1315585651 541636 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :but i don't know what they are < 1315585663 880287 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi < 1315585668 608644 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh falling sand < 1315585672 306913 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :yes < 1315585675 189871 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :except < 1315585678 428782 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :with nukes < 1315585848 832398 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :And CAs which can be used for heat. < 1315586223 270320 :Gregor!foobar@codu.org PRIVMSG #esoteric :nooga: Incidentally, if you read the in-progress Fythe spec, can you tell me where it was most ridiculously confusing? :) < 1315586416 466593 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :21:30:15: <Taneb> I leave you with http://esoteric.voxelperfect.net/wiki/User:Taneb/XSLT_S_and_K < 1315586423 678986 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<s><k/><k/></s> ain't right < 1315586440 635413 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<<s><k/></s>><k/></<s><k/></s>> < 1315586443 318642 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :MUCH BETTER < 1315586491 570270 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote <ais523> this strikes me as probably better than a singularity, because you can't trust a random AI, but you can probably trust olsner < 1315586496 194867 :HackEgo!foobar@codu.org PRIVMSG #esoteric :642) <ais523> this strikes me as probably better than a singularity, because you can't trust a random AI, but you can probably trust olsner < 1315586504 282855 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION decides to briefly worry that ais was serious. < 1315586776 468646 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :22:29:49: <CakeProphet> you have typeclasses, and instances of such. if the type matches the instance declaration then it has an implementation of the methods. < 1315586776 666972 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :22:30:03: <CakeProphet> there isn't any sort of re-routing or conditional logic involved. < 1315586779 739313 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: You are wrong. < 1315587170 581428 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :00:17:56: <Gregor> In Catholicism, the halting problem is believed to be unsolvable for infants who die before baptism. < 1315587170 782695 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :00:19:00: <ais523> well, it's unsolvable for most other TC systems... < 1315587174 517086 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais considers humans tc? < 1315587188 292208 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: Ridiculous, I no. < 1315587193 436359 :Gregor!foobar@codu.org PRIVMSG #esoteric :>_< < 1315587194 572944 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I no too. < 1315587195 805975 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: Ridiculous, I know. < 1315587197 39218 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :[asterisk]two < 1315587211 46025 :Gregor!foobar@codu.org PRIVMSG #esoteric :Since when am I so terrible at English :'( < 1315587240 319190 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Saints wind ham eye sow terrible add English? < 1315587246 361847 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Couldn't think of anything for terrible or English :( < 1315587268 532233 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :tearable < 1315587283 24158 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Thanks < 1315587286 64112 :Gregor!foobar@codu.org PRIVMSG #esoteric :Tearable at ink-lash < 1315587288 663046 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :X-D < 1315587292 311473 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's not even a word. < 1315587301 635808 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Saints wind ham eye sow tearable add ink lash? < 1315587303 516472 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :BEAUTIFUL < 1315587306 272273 :Gregor!foobar@codu.org PRIVMSG #esoteric :I will give you two lashings every time you claim that "lash" isn't a word. < 1315587316 971846 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Lash is a word, ink is a word, I'm sceptical of ink-lash < 1315587333 729546 :Gregor!foobar@codu.org PRIVMSG #esoteric :It's hyphenated, it's referring to a lashing with ink :P < 1315587349 473880 :Gregor!foobar@codu.org PRIVMSG #esoteric :If I take a whip and dip it in ink, then lash you with it, that's an ink-lash. < 1315587359 40726 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The worst kind of lash. < 1315587359 521447 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :elliott: Well, the combination of humans and data storage definitely is. Without data storage, the system is comically restricted. < 1315587364 853132 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :I mean, jeeze, human memory *sucks*. < 1315587372 352216 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq: you have infinite data storage? ok < 1315587379 306979 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :elliott: Of course. < 1315587395 787393 :Gregor!foobar@codu.org PRIVMSG #esoteric :pikhq: We were referring to individual humans, not groups. < 1315587402 331470 :Gregor!foobar@codu.org PRIVMSG #esoteric :Individual humans are plainly not TC. < 1315587403 131026 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :03:10:38: <Jafet> By "unthrow", I presume you mean "go back to where the exception occurred and continue". < 1315587411 536999 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you guys realise languages already have this? < 1315587424 820315 :Gregor!foobar@codu.org PRIVMSG #esoteric :For instance, C+POSIX :P < 1315587427 808883 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :IIRC Ruby lets you "continue" from an exception handling clause, but I may be wrong < 1315587430 420223 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :Gregor: Sure they are. They can simulate certain simple UTMs just fine if you give them an infinite paper spool and an infinite pen. < 1315587434 578232 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Common Lisp obviously has it < 1315587444 93162 :Gregor!foobar@codu.org PRIVMSG #esoteric :pikhq: halts (x:human) -> true < 1315587445 935104 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :elliott: What, don't you shop at the Frictionless Pully Store, fine purveyor of physical impossibilities? < 1315587453 264790 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :Gregor: Oh, fine, *and immortality*. < 1315587459 213719 :Gregor!foobar@codu.org PRIVMSG #esoteric :pikhq: So, not human :P < 1315587494 929610 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :Gregor: I didn't realise "mortal" was part of the definition of "human". < 1315587513 586014 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :An immortal human with infinite storage capability < 1315587521 152070 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Find me a transhumanist who'd say "oh, well that's just a bloody HUMAN". < 1315587566 778035 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :The infinite storage capability here is clearly external. < 1315587578 436644 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :I'm specifying an infinite paper spool and an infinite pen. < 1315587621 749360 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<pikhq> I have no idea what the Chinese Room argument is. < 1315587629 167571 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<pikhq> And/or, am stupid enough to buy it. < 1315587662 651039 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :Okay, fine, I'm just being completely and utterly silly. < 1315587684 576849 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :And no, I don't buy the Chinese Room argument. It's a bunch of stupid wanking. < 1315587790 503998 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :Gregor: first of all I would add really simple, but complete, example of small language < 1315587853 680610 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Specifications should not include examples. < 1315587883 454069 :Gregor!foobar@codu.org PRIVMSG #esoteric :Well, the Fythe spec is wildly incomplete anyway, I was more concerned about whether what little is already there makes any sense :P < 1315587905 111575 :Gregor!foobar@codu.org PRIVMSG #esoteric :nooga: That being said, BOOM: https://bitbucket.org/GregorR/fythe/src/tip/fythecore/fml.fythe < 1315587946 517054 :Gregor!foobar@codu.org PRIVMSG #esoteric :(Down to line 283 is the language, beyond that is a small standard library written in it) < 1315587972 991272 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :great < 1315587975 358923 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :elliott: RFCs often do. < 1315587984 924780 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :RFCs are just requests for comment :P < 1315587992 70607 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :Admittedly, RFCs aren't so much "formal specs" as they are "brief descriptions". < 1315588010 119250 :Gregor!foobar@codu.org PRIVMSG #esoteric :The Fythe spec is certainly not a formal spec. < 1315588310 501916 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It certainly should be. < 1315588322 48969 :Gregor!foobar@codu.org PRIVMSG #esoteric :Hahaha no. < 1315588341 881561 :Gregor!foobar@codu.org PRIVMSG #esoteric :Eventually, it would be nice to have a formal spec. < 1315588367 290370 :Gregor!foobar@codu.org PRIVMSG #esoteric :Especially seeing as that a formal spec for Fythe plus an implementation of any language in Fythe = a formal spec for that language. < 1315588372 378793 :Gregor!foobar@codu.org PRIVMSG #esoteric :In the interim, hahaha no :P < 1315588421 256903 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :well < 1315588422 780653 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :uh < 1315588444 301439 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Formal specs are easy :P < 1315588492 62914 :Gregor!foobar@codu.org PRIVMSG #esoteric :nooga: Please note that for all my evangelism of Fythe (because it's awesome), at this point it's basically at the proof-of-concept phase :P < 1315588506 661645 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :i noticed ;) < 1315588781 108165 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :04:07:32: <CakeProphet> also the Haskell example looks a little bit ugly < 1315588785 193331 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: that's because it's a stupid example < 1315588820 594213 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :throw (42 :: Int) < 1315588820 762248 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : `catches` [ \(e::Double) -> print (0,e) < 1315588820 922453 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : , \(e::Int) -> print (1,e) ] < 1315588825 214109 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :is a nicer way of formatting the same thing, though < 1315588879 898384 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :04:17:28: <oerjan> <CakeProphet> also the Haskell example looks a little bit ugly <-- the nested catch'es because it is catching two different exception types. there's a function catches which takes a list of handlers but it requires them to be wrapped with Handler. < 1315588881 738978 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh um right < 1315588885 240252 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :need Handler <dollar sign> before those < 1315588886 160611 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but w/e < 1315588978 150950 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :05:47:21: <Sgeo> (Warning: mises stuff) < 1315588986 86588 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: too late i had a heart attack n/ died bcuz of ur ignorance fucker < 1315588991 698285 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :;_; < 1315589001 541183 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :rip < 1315589010 154826 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :06:00:56: <CakeProphet> > sort $ (+) <$> [1..5] <*> [1..5] < 1315589010 315207 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :06:00:58: <lambdabot> [2,3,3,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,9,9,10] < 1315589010 315360 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :06:01:35: <CakeProphet> oerjan: is there some sort of theoretical mathematics behind this? < 1315589011 496878 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i... < 1315589032 743312 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :XD < 1315589036 326868 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric ::t <*> < 1315589037 175268 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :parse error on input `<*>' < 1315589043 249465 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric ::t (<*>) < 1315589044 80057 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (f :: * -> *) a b. (Applicative f) => f (a -> b) -> f a -> f b < 1315589046 380192 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :rip Phantom_Hoover killed by () < 1315589211 701103 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :06:24:25: <oerjan> erm s/know/know from the haskell report, where for some stupid reason the Random class seems to have been excluded in ghc, i think that's a bug/ < 1315589212 305541 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :huh < 1315589229 392995 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :06:24:25: <oerjan> erm s/know/know from the haskell report, where for some stupid reason the Random class seems to have been excluded in ghc, i think that's a bug/ < 1315589231 403258 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :erm < 1315589232 468827 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :06:24:54: <zzo38> Is there a such thing as (x ->) monad? < 1315589232 629174 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :06:25:06: <oerjan> zzo38: yes, import Control.Monad.Reader < 1315589232 629273 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :06:25:37: <oerjan> it's isomorphic to the Reader Monad, so defined there < 1315589234 853536 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or Control.Monad.Instances < 1315589330 840097 :brisingr!~brisingr@79.117.75.161 JOIN :#esoteric < 1315589643 824071 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :07:45:19: <copumpkin> terminating agda isn't turing-complete < 1315589643 984529 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :07:45:29: <copumpkin> it's conservative < 1315589644 144783 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :07:45:45: <copumpkin> it might warn you that a terminating function doesn't terminate because its simple condition isn't accurate < 1315589644 144958 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :07:45:56: <copumpkin> but it won't ever decide that a non-terminating function does terminate < 1315589644 145061 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :07:46:32: <copumpkin> but because of that, you can trust proofs in it < 1315589651 987287 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: So they fixed that bug where _|_ is provable? < 1315589753 470820 :sllide!~jari@ip565eb113.direct-adsl.nl QUIT :Ping timeout: 276 seconds < 1315589921 319507 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :08:50:04: <CakeProphet> Python topic line says "NO LOL" < 1315589921 515737 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :08:50:09: <CakeProphet> I wonder if they enforce that. < 1315589921 515914 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :08:50:13: <CakeProphet> s/Python/#python/ < 1315589921 516019 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :08:51:18: <Jafet> Yes. < 1315589921 516124 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :08:51:38: <Jafet> It raises the channel mean IQ, if only by a little. < 1315589928 681625 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Jafet: Nah, it just raises the channel mean pedantry level. < 1315589935 751676 :brisingr!~brisingr@79.117.75.161 QUIT :Ping timeout: 260 seconds < 1315590048 315619 :brisingr!~brisingr@79.117.75.161 JOIN :#esoteric < 1315590170 224687 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :elliott? < 1315590200 548934 :brisingr!~brisingr@79.117.75.161 NICK :eliottt < 1315590206 686942 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<elliott> copumpkin: So they fixed that bug where _|_ is provable? < 1315590206 846325 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :oh, you're brisingr? < 1315590207 387540 :eliottt!~brisingr@79.117.75.161 PRIVMSG #esoteric :copumpkin: yes? < 1315590210 925487 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No, I'm not :P < 1315590213 167548 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :elliott: just now < 1315590218 982937 :eliottt!~brisingr@79.117.75.161 NICK :brising < 1315590220 306143 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: Convenient < 1315590221 635067 :brising!~brisingr@79.117.75.161 NICK :brisingr < 1315590233 471670 :brisingr!~brisingr@79.117.75.161 PRIVMSG #esoteric ::) < 1315590278 688505 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :15:08:02: <nooga> but I still got this : https://gist.github.com/1206470 :D < 1315590284 113606 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nooga: I don't believe that works < 1315590289 493832 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :There's the typedef issue < 1315590374 833913 :pikhq!~pikhq@71-219-196-242.clsp.qwest.net PRIVMSG #esoteric :Yeah, it doesn't seem to be handling the disambiguation. < 1315590965 962275 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1315592129 325139 :Taneb!~Taneb@host-2-99-86-217.as13285.net JOIN :#esoteric < 1315592140 888616 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Hello! < 1315592361 1006 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi < 1315592374 366866 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I was thinkinh < 1315592384 123527 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :With a g and no h on the end < 1315592404 804463 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Functional languages should ideally have no side effects, right? < 1315592423 562178 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Yes, I would think so < 1315592427 281382 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :And an imperative language is little but side effects, right? < 1315592471 280685 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :An imperative language is side effect per command, but you could still have things that the side effects are limited to certain areas < 1315592472 266774 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Taneb: Not true < 1315592480 999751 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :elliott: compile and see for yourself < 1315592493 824223 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Good code in imperative languages essentially mimics functional code :) < 1315592519 848418 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nooga: Compiling won't tell me if it's a correct parser, but I know that C isn't context-free, and can only be parsed with yacc by using the embedded C code to sort things out < 1315592528 451615 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :How about, a pair of a functional language and an imperative language, with the functional language in the back and an imperative language in the front < 1315592533 785466 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't need to compile it to know this < 1315592542 845233 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :elliott: ah, the yacc file < 1315592557 239094 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :So the imperative language can use functions defined in the functional language < 1315592562 6829 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :yeah guys < 1315592569 474263 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :since GHC compiles to C, AFAIR < 1315592572 857481 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Taneb: That is one thing that can be done, I suppose. Even, with Haskell, you can have a C program and Haskell program using FFI, where the main function is in C. < 1315592625 915568 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nooga: No, it does not < 1315592632 163995 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-fvia-C is deprecated and hasn't been the default ever < 1315592635 662528 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hmm, well < 1315592639 845395 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't remember if/when itw as last the default < 1315592689 955187 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :In some ways this is ideal; the functional language can be as pure as it likes, and the imperative language can do what it does best: filling in the bits that can't be done by a pure functional language (eg, IO) < 1315592712 932275 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Also, XSLT S and K is going well < 1315592728 395167 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Taneb: That's basically what Haskell does, except that the language is one. < 1315592739 491987 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You can model impure things in a pure language. < 1315592772 990092 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's more convenient than having a separate imperative language, because in a pure language you can use the pure language's functional strengths in the model of the impurity. < 1315592808 565483 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And modelling an impure thing of course doesn't violate the purity of the rest of the language, since it's just a model. < 1315592970 429325 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Just a though < 1315592971 291113 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :t < 1315593019 282118 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Not saying it's a bad thought, I'm just saying that this is essentially what Haskell does < 1315593031 859112 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Except that it models the imperative language inside the functional one, which is more convenient < 1315593081 526989 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :so if monads don't have side effects < 1315593107 520606 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :what would be the opposite thing which is crammed with side effects < 1315593122 680601 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :What < 1315593135 370664 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :if you wanted side effects, as many side effects as possible < 1315593145 783681 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :What does "monads don't have side effects" mean < 1315593163 442265 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i don't know. < 1315593179 409875 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I think he may be referring speciffically to the IO monad, but I'm not good at Haskell enough to be sure < 1315593191 745044 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That still doesn't make any sense < 1315593216 392159 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i hope i am not interrupting something valuable < 1315593221 685767 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Probably not < 1315593264 379313 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1315593265 418366 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :anyway, as a self-styled game developer, every bit of code i write will necessarily trigger multimedia events < 1315593287 952621 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's perfectly possible to write games in a purely functional style without littering code with side-effects. < 1315593290 953785 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :well maybe not every single bit < 1315593296 236433 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :There are very few esolangs speciffically designed for game-making < 1315593302 21770 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Taneb: specifically < 1315593307 72871 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Thank you < 1315593314 855959 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I knew I was getting that word wrong < 1315593322 855672 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Single f, double l < 1315593326 133374 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :itidus20: You probably want to read http://prog21.dadgum.com/23.html < 1315593330 713996 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And its linked followups < 1315593353 163204 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's just one example, but it's very untrue to say that games are inherently side-effectful < 1315593417 726501 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :elliott: aha.. very interesting < 1315593456 996704 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :so one might say the game code really exists inside that "process one frame" < 1315593477 197023 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :now... this idea sits well with me actually < 1315593485 300236 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :itidus20: Hey, I said include the follow-ups too :P < 1315593494 258235 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :but i wanna talk about that first < 1315593516 862445 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Have fun with that, then < 1315593518 363251 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Yes you could have game in no side-effect, where the code is a function taking inputs having to do with frame and outputs for their result, is one possible way to do so. < 1315593533 582140 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :a while ago i was playing with the idea of a language where you write code which will be called once every frame < 1315593539 545007 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Or to process events is another way < 1315593556 774891 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :so again < 1315593570 95109 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :elliott: what's wrong with that C syntax < 1315593580 728554 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :afk < 1315593584 744224 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nooga: <elliott> nooga: Compiling won't tell me if it's a correct parser, but I know that C isn't context-free, and can only be parsed with yacc by using the embedded C code to sort things out < 1315593597 290869 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :By definition, it cannot parse C correctly < 1315593646 132691 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://calculist.blogspot.com/2009/02/c-typedef-parsing-problem.html has information on it, I can't find the better blog post I read a while ago about it < 1315593664 559935 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :aha < 1315593666 807123 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nooga: Read these two: < 1315593669 729820 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://eli.thegreenplace.net/2007/11/24/the-context-sensitivity-of-cs-grammar/ < 1315593670 23305 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://eli.thegreenplace.net/2011/05/02/the-context-sensitivity-of-c%E2%80%99s-grammar-revisited/ < 1315593706 500010 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I may make a Feather derivative < 1315593709 545146 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Called McGraw < 1315593767 758074 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what will it do < 1315593793 618107 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Access to alternate universes, time travelling to the future < 1315593894 985915 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Time police < 1315594014 153501 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I know about typedef parsing in C. CWEB has the same problem but it is capable to parse typedefs correctly; it doesn't parse #include files but you can use the @s and @f command to affect formatting of anything and make them parse differently. < 1315594089 165314 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I think I may have finished XSLT S and K < 1315594095 750247 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I have no idea if it would work or not < 1315594125 811085 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1315594168 252863 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi ais523 < 1315594243 384680 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hi elliott < 1315594265 976550 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi ais523 < 1315594268 916793 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Enhanced CWEB is completely impossible to parse unless you can read all include files and definitions of metamacros. < 1315594498 640399 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Just spotted a huge flaw in XSLT S and K < 1315594512 892957 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :But I can't quite describe it < 1315594543 66214 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"There can only be at most 256 different smob types in the system. Instead of registering a huge number of smob types (for example, one for each relevant C struct in your application), it is sometimes better to register just one and implement a second layer of type dispatching on top of it. This second layer might use the 16 extra bits to extend its type, for example." < 1315594543 863773 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :augh < 1315594551 406804 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: feel my pain k thx < 1315594555 719817 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :It doesn't realise that <a/><b/> is equivalent to <a><b/></a> when <a> is at the start of a document < 1315594570 767471 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, wouldn't k thx mean I was thanked no matter what I did? < 1315594591 430873 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :k thx 4 !smoking < 1315594594 404300 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: that API seems usable but far from ideal < 1315594647 862117 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps it should work along the lines of <apply><apply><s/><k/></apply><k/></apply> < 1315594672 639765 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah apply is a separate node type < 1315594675 245919 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :s and k are leaves < 1315594680 932798 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :apply is a branch < 1315594693 362946 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yeah but i guess it's designed because of the internals of the scheme implementation < 1315594695 468228 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :speeeeeeed and all that < 1315594867 459677 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://alan.dipert.org/ Who wants to bet on the probability that this is the Alan Dipert who owns esolangs.org? < 1315594901 640964 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"Lisp to PHP Compiler" --https://github.com/alandipert < 1315594903 372030 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm gonna say p=one < 1315594915 932924 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Trying to find a newer email address than that aol one.) < 1315594926 664520 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I'll say p=0.94 < 1315594940 986031 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :elliott: "email" at the top of his site < 1315594946 287740 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Bye < 1315594947 300041 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I always assumed Graue owned esolangs.org (the name itself, not the website there) < 1315594947 460404 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Yep < 1315594949 21736 :Taneb!~Taneb@host-2-99-86-217.as13285.net QUIT :Quit: Goodbye < 1315594954 217855 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: But I don't know it's the same Alan Dipert < 1315594956 846473 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Worth an email, though < 1315594962 756204 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: just ask if it's the same Alan Dipert < 1315594972 797120 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I'll do that, and include what I said last time :P < 1315594979 953727 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Did you email the AOL address? < 1315594983 315905 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yeah < 1315594993 221465 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Turns out nobody uses AOL anymore, who'da thunk it < 1315595037 421631 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :elliott: whois dipert.org has the same address < 1315595060 655261 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :(You might want to tell him to update that while you're at it) < 1315595092 386866 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Too late, sent out an unsure message < 1315595102 789869 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But thanks for the confirmation < 1315595126 529588 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think it's always best to be unsure even when it's obvious < 1315595154 852852 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"Sorry, I killed + ate the old Alan Dipert two years ago to the day. I inherited his name, email address, and all property but esolangs.org. So unfortunately you have the wrong person." < 1315595169 233522 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Darn < 1315595169 393725 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It COULD happen. < 1315595224 446669 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I made a webpage for TeX to PNG; you could use that (source codes is available if you want to make your own copy) and cache the results by uploading files to the wiki that are named by their text and use those images in wiki < 1315595246 321043 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Google does that too < 1315595252 304358 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, probably LaTeX < 1315595255 924523 :brisingr!~brisingr@79.117.75.161 QUIT :Ping timeout: 260 seconds < 1315595258 910939 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But only you use TeX, so :P < 1315595274 588842 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :elliott: Why didn't they inherit esolangs.org? Did someone else take over? < 1315595288 86582 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :zzo38: No, the ghost of Alan Dipert started running it < 1315595294 741085 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Unfortunately ghosts can have no effect on the material world whatsoever < 1315595348 311417 :brisingr!~brisingr@79.117.75.161 JOIN :#esoteric < 1315595365 142254 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: gah, how do you use {{unsigned}} if the comment was edited to add a bunch of stuff over numerous hours? < 1315595386 505787 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :by the same person? < 1315595392 655606 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just give the last timestamp, I think < 1315595426 158903 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :What seem to me, many programs try to call TeX externally from webpages and whatever are dealing with security wrongly. I use it by making the new format file this one http://zzo38computer.cjb.net/texify/texify.php?source=3 and then adding a time limit and memory limit to the program. < 1315595431 438321 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :--(this comment by 18:35, 9 September 2011 at 121.45.148.1 UTC; please sign your comments with ~~~~) < 1315595431 916738 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :argh < 1315595435 822293 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I hate the ordering of unsigned's arguments < 1315595464 509023 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: well, I did call it unsigned2 originally < 1315595471 309211 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but someone went and renamed it to unsigned < 1315595478 199671 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: haha, on wikipedia or the esolang wiki? < 1315595486 867855 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :former, looks like < 1315595496 184114 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the reversed arguments are convenient when copying time/username from the history < 1315595501 141136 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no, it's Esolang I'm talking about < 1315595507 636056 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I didn't invent either template on Wikipedia < 1315595512 534260 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://esoteric.voxelperfect.net/w/index.php?title=Template:Unsigned&action=history < 1315595514 435659 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :doesn't look renamed < 1315595524 183687 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(cur) (last) 22:17, 20 September 2006 Ihope127 (Talk | contribs) (Template:Unsigned2 moved to Template:Unsigned) < 1315595527 194288 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ihope ¬_¬ < 1315595528 727001 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :elliott: So you're ehird. < 1315595536 101195 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Some systems try to stop you from using various disallowed TeX commands in the front-end by stopping ^^ and other things, which can cause various kind of problems but I did it differently, stopping disallowed things in the format file. < 1315595541 917941 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's not the right way to move pages, person who isn't tswett < 1315595545 372437 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: No, I'm shachaf. < 1315595552 549611 :JuliaSH!sherin2001@62.122.4.155 JOIN :#esoteric < 1315595566 535202 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :elliott: So that would probably mean you're in BST instead of EDT. < 1315595581 598169 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's so geographist. < 1315595588 851097 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Why do our timezones need to be correlated with our location? < 1315595600 669158 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: What timezone are you on these days? < 1315595602 12766 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :elliott: huh. What did that Ihope127 guy do, and what was wrong with it? < 1315595613 349478 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :tswett: Moved something by copying, I think... I'm not atcually sure < 1315595620 737055 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Wait, did he... move something by copying? < 1315595623 271969 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I might be wrong though. < 1315595630 770298 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The history doesn't make sense. < 1315595631 780820 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Yeah, that is indeed the wrong way to do it. < 1315595635 112457 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: mostly UTC+1, but I was in something more like UTC+8 yesterday/today < 1315595636 184385 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Maybe it was moved properly, then unsigned[two] got deleted. < 1315595638 383599 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Then you recreated it. < 1315595647 738066 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Then again, the wiki *is* public domain, so at least it's a *legal* way to do things... < 1315595687 680324 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If you copy my program for safe TeX entered remotely, please *do not* use e-TeX, pdfTeX, XeTeX, LaTeX, LuaTeX, etc, because that will result in security holes. Use it only with the One True TeX. < 1315595715 869590 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The One True TeX doesn't have more-notation, though. < 1315595720 80140 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Can I use it with moreTeX? < 1315595771 336459 :JuliaSH!sherin2001@62.122.4.155 PART :#esoteric < 1315595776 823199 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :elliott: I don't know moreTeX. Anyways, TeX isn't supposed to be any other programming language such as Haskell, C, or Lua (except for LuaTeX). < 1315595853 137044 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i think the problem with functional programming languages is that they haven't found their edsger dijkstra yet < 1315595860 123139 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If you write your own TeX variant, it is your job to deal with the security issues yourself if you want to use it with that. < 1315595874 155716 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :itidus20: how is this a problem with functional programming languages < 1315595875 878682 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :howard curry is more like the charles babbage of functional programming < 1315595886 466498 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :whatever his name is < 1315595913 537183 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :have you used any functional languages < 1315595979 141593 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i can't help thinking functional languages care more about being consistent than being useful < 1315595979 629557 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I disabled the following commands for security purpose: \special \font \errorstopmode \input \openout \openin \closeout \closein \write \read \immediate \errmessage \jobname \fontname \mag \magnification \dump < 1315596031 807030 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Which things related to category theory cannot be made in Haskell? < 1315596032 456876 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :the fact is not everything can be neatly expressed as a function < 1315596053 213405 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :itidus20 once again philosophises without knowing what he's talking about < 1315596067 810265 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :like, could you make gimp in haskell? < 1315596078 950261 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :when i say haskell i mean any functional programming language < 1315596089 589299 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :itidus20: well, TCness... < 1315596100 439841 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so the only issue would be trying to get a good API to GTK or whatever < 1315596129 736468 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Yes, if you have a good enough event system you could probably do it. < 1315596158 108869 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :itidus20, could you make gimp in asm? < 1315596171 147926 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i dunno ^_^;;; < 1315596191 231683 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :i've seen GUI interactive programs of similar complexity written in asm < 1315596198 811944 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :so yes you probably could < 1315596222 310901 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :the question is whether it would be a good idea to do that < 1315596239 370261 :cheater!~ubuntu@ip-80-226-24-1.vodafone-net.de PRIVMSG #esoteric :no, it would not be the besti dea because of haskell's stdlib still not being the best < 1315596244 483702 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :im just being cruel < 1315596258 138259 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :cruel is the fitting word < 1315596265 835036 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cheater: you could just /compile/ it into asm < 1315596276 766261 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It is probably not best idea writing all programs in asm because them it work only on the computers it is designed on work on. < 1315596281 286272 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the problem, itidus20, is that you're assuming you can make judgements on what is or is not possiblew tih functional languages given only a cursory reading of functional programming materials, and never actually trying to program in one < 1315596292 735128 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and ignoring the fact that thousands of people write useful programs in purely functional languages < 1315596326 546639 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But of course if you write a program that is meant only a DOS program, or only a program meant to run on NES/Famicom emulator, you can write it fine using asm < 1315596361 22260 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: quick opinion: is "common subset of OCaml and F#" a sane language? As in, only using language elements with identical syntax in the two languages? < 1315596364 776151 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :ok ok uh.. what about game of life? < 1315596369 39661 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(If the emulator is accurate enough, you could even put it in a cartridge and run in real NES/Famicom hardware on television) < 1315596389 401167 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :itidus20: Are you seriously implying nobody has ever created a game of life program in haskell before? < 1315596399 543843 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's practically a mainstream languages. Intel uses it, for chrissakes. < 1315596400 989544 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :well im wondering how painful it is < 1315596411 644403 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://hackage.haskell.org/packages/archive/pkg-list.html < 1315596412 170661 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :life program: Conway's Life cellular automaton < 1315596417 213138 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :brians-brain program: A Haskell implementation of the Brian's Brain cellular automaton < 1315596429 605460 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And Hackage is only a small subset of all the Haskell programs written. < 1315596565 497170 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i could say that it may be difficult to write an OS in a functional language.. but that is probably because machine code is geared towards imperative, and that computers are not really ready yet for such things < 1315596585 738924 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://programatica.cs.pdx.edu/House/ < 1315596599 18262 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://www.ninj4.net/kinetic/ (seems to be a dead link though) < 1315596607 396841 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://lambda-the-ultimate.org/node/299 < 1315596616 200774 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :There's another Haskell OS that I don't recall the name of. < 1315596621 534646 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric ::"> ok ......... well then. i submit < 1315596867 190880 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :THERE WAS A VISIBLE SUPERNOVA AND NOBODY FUCKING TOLD ME??????????????????????????/ < 1315596888 451081 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :it was years ago < 1315596904 651181 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :you're just too far away because you're on earth < 1315596925 468477 :silence1!~base_syst@ip-109-90-146-231.unitymediagroup.de JOIN :#esoteric < 1315596950 816612 :silence1!~base_syst@ip-109-90-146-231.unitymediagroup.de PRIVMSG #esoteric :l < 1315596957 853763 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :a race of humanoids is really scrambling to escape imminent doom after the supernova < 1315596960 997055 :silence1!~base_syst@ip-109-90-146-231.unitymediagroup.de PART :#esoteric < 1315597071 279379 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :bye < 1315597178 671404 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Aw, dammit, it's brightest tonight and you need binoculars. < 1315597232 964640 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote <Phantom_Hoover> THERE WAS A VISIBLE SUPERNOVA AND NOBODY FUCKING TOLD ME??????????????????????????/ < 1315597234 884911 :HackEgo!foobar@codu.org PRIVMSG #esoteric :643) <Phantom_Hoover> THERE WAS A VISIBLE SUPERNOVA AND NOBODY FUCKING TOLD ME??????????????????????????/ < 1315597243 10452 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom_Hoover: Finally we know what would warrant cursing from you. < 1315597244 980289 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :/ < 1315597284 886817 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :looking into space just makes me feel very dizzy < 1315597294 424299 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :makes my visual field feel too "big" < 1315597315 73735 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :elliott, bastard smug uncle in France with binoculars dammit. < 1315597338 901560 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :thats me < 1315597356 980615 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :headache caused by such thoughts < 1315597381 38789 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I do have ideas related to operating system in Haskell. A program is simply any pure value (even a function), no specific type is required. Although type is exported so that you can put programs together with correct type. There is no IO monad, but there is the operating system monad, which is exposed so that you can call a program with overriding system calls (a bit like ptrace, I suppose). < 1315597429 994452 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And you can make up an IO monad that can then be run in the operating system monad, to work programs written for other (imperative) operating systems. < 1315597433 82303 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :elliott has shown me that it's been done.. < 1315597537 145834 :Taneb!~Taneb@host-2-99-86-217.as13285.net JOIN :#esoteric < 1315597545 376567 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :hlep < 1315597550 964078 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And devices, files, etc, can also be Haskell functions accessible by querying the operating system monad. < 1315597555 954180 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Getting a 412 error trying to edit the wiki < 1315597568 642636 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :That's my first 412 error < 1315597570 704744 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric ::) < 1315597580 485351 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :But still, I kinda want to edit the wiki < 1315597593 360639 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :It also doesn't let me preview < 1315597680 591178 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Any suggestions? < 1315597690 61527 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You put a span or div in there < 1315597692 789657 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Use the span or div templates < 1315597740 63338 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :There are other things that can cause such errors too < 1315597740 223282 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :No "<"s or ">"s < 1315597764 479018 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Lots of &lt;s and &gt;s though, could that be it? < 1315597783 129456 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :The signature hack is another way < 1315597790 267656 :tswett!~Warrigal@171.64.42.221 QUIT :Changing host < 1315597790 427936 :tswett!~Warrigal@unaffiliated/ihope JOIN :#esoteric < 1315597809 436796 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Signature hack? < 1315597810 413179 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Taneb: Dunno, pastebin what you were trying to save? < 1315597846 641284 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :http://pastebin.com/P78hqgx2 < 1315597934 100821 :yorick!~yorick@unaffiliated/yorick JOIN :#esoteric < 1315597950 415813 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Something that has not been corrected. It should be permitted for selected confirmed users not to be blocked by this program < 1315598144 47943 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :So, any suggestions? < 1315598169 788661 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :is it true that functional means nothing is so-called hard-coded? < 1315598215 84926 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I would have thought the very opposite < 1315598234 831614 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :itidus20: what does functional have to do with hard-coded < 1315598269 277222 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Taneb: hmm, dunno what could be triggering it, ask ais523 < 1315598286 464251 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :ais523, any ideas? < 1315598302 105999 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what's a 412 error anyway? < 1315598312 781705 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Precondition Failed < 1315598316 210162 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :The precondition on the request for the URL /w/index.php evaluated to false. < 1315598316 932164 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Taneb: are you trying to edit via esolangs.org, or esoteric.voxelperfect.net? < 1315598318 621414 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :aha < 1315598323 94467 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you're probably triggering the spam filter < 1315598332 966631 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's famous for triggering on, among other things, div and span < 1315598340 342745 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :No divs or spans < 1315598351 81521 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: http://pastebin.com/P78hqgx2 < 1315598359 277884 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :stop repeating the two seconds of conversation i had with Taneb about this :P < 1315598376 213042 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, &lt; or &gt; could well be it < 1315598386 126747 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :They were in before < 1315598387 718234 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :he saved it with &lt;s and gts before, I believe < 1315598390 27791 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Taneb: do you know of the <nowiki> tag? < 1315598395 15090 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I do not < 1315598396 701306 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it'd make that rather easier to read < 1315598399 157381 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but yeah nowiki would help < 1315598407 917478 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :How does it work? < 1315598409 729674 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :nevermind.. disregard my last post.. was a mistakle < 1315598414 87535 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it basically means "interpret everything up to the next </nowiki> literally" < 1315598424 34840 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Ooh < 1315598427 925015 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :As in, plaintext? < 1315598430 636937 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1315598442 434404 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<pre><nowiki>....</nowiki></pre> is useful < 1315598442 757716 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :<pre><nowiki> is a common pairing < 1315598446 785560 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although I'm not sure if the wiki allows <pre> < 1315598464 210307 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :anyway, binary search on preview may help you work out what's offending < 1315598496 184129 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it does allow pre < 1315598519 979286 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I know a spambot once made a page which was incredibly hard to delete because its name tripped the spam filter < 1315598532 660664 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and trying to follow any links from it caused the spam filter to be tripped on the /referrer/ < 1315598540 417617 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Using nowiki and <s and >s doesn't help < 1315598551 596821 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in the end, #esoteric figured out what was going on and I spoofed the referrer to delete it < 1315598559 712694 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Taneb: well, it makes it more readable, at least < 1315598587 764515 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the thing is, I have no access to the spam filter < 1315598603 155787 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and know nothing about how it behaves, but for what we've deduced by experiment < 1315598607 765350 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :banning div and span is really obvious < 1315598616 492908 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but there are probably other things in there that are much less obvious < 1315598666 154926 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :binary search seems to be the way to go < 1315598674 388108 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :try previewing the first half, then the first quarter, etc, until it works < 1315598838 831283 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :The line <xsl:copy-of select="../*[3]"/> seems to trip it < 1315598857 826345 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ouch, I wonder what's wrong with that line? < 1315598866 601925 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you could try binary-searching even within the line < 1315598871 28494 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that definitely doesn't trip any spam filters I know of < 1315598876 39990 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I didn't think I knew them all < 1315598913 971409 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :It doesn't like "../*[3]" < 1315598920 868458 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :With or without quotes < 1315598939 758144 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :../ < 1315598964 152152 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :That's the smallest it will go and still trip the filter < 1315599131 828074 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a/ha/ < 1315599139 516769 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :haha < 1315599140 875137 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :.</nowiki>.<nowiki>/ < 1315599143 237462 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what a terrible spam filter < 1315599144 89814 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :should avoid tripping it < 1315599158 260930 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :I've saved it in a way that works < 1315599179 473166 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I well know Esolang's spam filter is terrible < 1315599207 689318 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :My way of fixing it was the slightly less readable .&#46;/ < 1315599208 985045 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I know you know < 1315599219 688619 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :&#46; works even inside nowiki? < 1315599223 240329 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Yeah < 1315599231 76173 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :So does <s>...</s> < 1315599234 626661 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Which is annoying < 1315599242 618675 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :As I am using <s> for something else < 1315599254 321345 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :HTML isn't wiki < 1315599342 181447 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :HTML character entities still work < 1315599542 213513 :Taneb_!~Taneb@host-2-99-86-217.as13285.net JOIN :#esoteric < 1315599632 411608 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :this prog21.dadgum is quite cool < 1315599638 75157 :Taneb!~Taneb@host-2-99-86-217.as13285.net QUIT :Ping timeout: 276 seconds < 1315599667 533789 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :now i am very impressed to see a section beginning "I want to talk about performance coding. Not coding for speed, but coding as performance, a la live coding." < 1315599680 756685 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :because i have actually wondered about that very same thing before < 1315600221 22055 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Interactive_computation < 1315600257 641539 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :"the Turing machine model only provides an answer to the question of what computability of functions means and, with interactive tasks not always being reducible to functions, it fails to capture our broader intuition of computation and computability." -- no doubt this is controversial statement to make < 1315600264 371831 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net QUIT :Quit: later chat < 1315600416 880550 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :looks like an advertisement article. < 1315600429 601026 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :note references being basically all the same few people. < 1315600441 603205 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :ahhhhhhhh < 1315600466 954954 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Can't say for sure, but... < 1315600473 598705 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :no thats quite true < 1315600511 898681 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :at least 3 references to the one author < 1315600515 514739 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :and no actual references < 1315600532 18124 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :"References and external web sources" you're right... thats not wiki style < 1315600543 922638 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :My bias against the idea is probably showing (in that I wouldn't complain much about an under-referenced article about a concept I liked). < 1315600568 4520 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is there a point-free case command in Haskell? < 1315600575 364936 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No. < 1315600674 896750 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Why? < 1315600929 991058 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :elliott: i dont even know what it means. and i am sure it has nothing to do with how to code an x86 < 1315600975 932541 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :You should make the esolang wiki spam filter to be bypassed for the specified users if they are logged in. You could have it a field manually set in the user profile by administrators. < 1315601186 518684 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :elliott: isn't gcc's C parser also made in YACC? < 1315601226 926648 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No, gcc's C parser is hand-written. I think they used to use a yacc parser. But yacc is turing-complete. < 1315601243 62948 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The point is that you have to keep track of the typedefs by using yacc's blocks after the production < 1315601245 545087 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i.e. foo { ... } < 1315601254 369451 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That parser doesn't do so, so it can't possibly parse correctly. < 1315601281 372250 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I wrote more stuff relating to proposal of more-notation, including some possible circumstances in which it could be used. http://www.haskell.org/haskellwiki/User:Zzo38/Proposal_for_more-notation < 1315601351 692880 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :elliott: clang's parser as well as tcc's one is also hand written < 1315601353 704947 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :this sucks < 1315601374 501615 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :nooga: Is there anything wrong with that? < 1315601385 437627 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: there you go, http://www.haskell.org/haskellwiki/User:Zzo38/Proposal_for_more-notation < 1315601428 490139 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, right < 1315601455 461740 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wow, zzo38's writing style is instantly recognisable anywhere < 1315601496 702932 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :ais523: That is because you have a lot of practice, because of we are all in this IRC together. < 1315601547 486893 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps < 1315601553 130260 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Does this document interest to you at all? Do you have any opinion/comment? You could write it on the IRC, or on the talk page of the wiki. < 1315601578 776865 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'll have to think about it < 1315601702 57071 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :zzo38: hard to hack in < 1315601781 990836 :atrapado!~user@95.169.240.67 JOIN :#esoteric < 1315601794 118135 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :nooga: Yes, that is what I thought. But I did be careful when writing that document, to make it not harder than it should be. < 1315602114 880058 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ACTION → looking in vain for the supernova. < 1315602235 844480 :augur!~augur@208.58.5.87 JOIN :#esoteric < 1315602396 485543 :augur!~augur@208.58.5.87 QUIT :Remote host closed the connection < 1315602444 664076 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Hmm, I think I saw it very faintly. < 1315602461 130609 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Aha, binoculars < 1315602463 497534 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :*! < 1315602507 449718 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :https://lh3.googleusercontent.com/-WLhqP3Po6hI/Tmp-VbpyS6I/AAAAAAAAAS8/UZq_G1bYfd8/s640/IMG_20110909_163314.jpg warning: dead animal < 1315602538 973357 :jcp!alex@bzflag/contributor/javawizard2539 QUIT :Ping timeout: 240 seconds < 1315602543 184090 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au JOIN :#esoteric < 1315602643 991653 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I have no binoculars. There is also stuff in the way such as grapes and so on. < 1315602652 439312 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: I am unable to discern your reasons for linking to this. < 1315602695 303475 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I guess I'm hoping someone could identify it < 1315602701 241573 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh < 1315602712 520660 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :dead < 1315602728 927066 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :its a dead animal hope this helps < 1315602730 149588 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :help i can't stop laughing < 1315602737 94982 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Awww, the supernova is just a type 1a. < 1315602737 904668 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :its name was barry < 1315602784 583562 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom_Hoover: hi im dead animal < 1315602786 36146 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :it's not that dead animals are funny, it's that sgeo linking a picture of a dead animal out of nowhere is funny < 1315602804 275693 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and then in post saying he hoped someone could identify it < 1315602818 271515 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :we will find who did this............... < 1315602823 834526 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :we will ARREST THEM FOR JUSTICE.............. < 1315602911 478271 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is there any context sgeo < 1315602917 47507 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :any at all < 1315602945 562471 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I was walking to the school today, and stepped on it thinking it was a tree stump. When I walked back home, I noticed the bone < 1315602947 492636 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :bones < 1315602958 377387 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :poor bones < 1315602997 420325 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Oops you made a mistake. < 1315603002 848050 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oops < 1315603008 267493 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and then you took a picture of it < 1315603028 595372 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :this makes it even better < 1315603053 419919 :jcp!alex@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1315603143 276165 :brisingr!~brisingr@79.117.75.161 QUIT :Read error: Connection reset by peer < 1315603217 353935 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :You'd think Sgeo was 13. < 1315603245 741662 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Silly Seth and the Mystery of the Dead Animal. < 1315603421 246500 :Taneb_!~Taneb@host-2-99-86-217.as13285.net QUIT :Ping timeout: 276 seconds < 1315603582 997471 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote <Phantom_Hoover> It is like the Holocaust but with Nazis. < 1315603585 325627 :HackEgo!foobar@codu.org PRIVMSG #esoteric :644) <Phantom_Hoover> It is like the Holocaust but with Nazis. < 1315603928 515988 :Taneb!~Taneb@host-2-99-86-217.as13285.net JOIN :#esoteric < 1315604768 553709 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :as in the nazis are dying? < 1315605494 989420 :boily!~boily@mtl.savoirfairelinux.net QUIT :Ping timeout: 252 seconds < 1315605674 248072 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1315606426 349218 :Taneb!~Taneb@host-2-99-86-217.as13285.net PRIVMSG #esoteric :Goodnight < 1315606868 800147 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: the esolangs.org owner replied < 1315606877 239717 :DH____!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1315606878 854131 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :offering to point it at any dns server < 1315606891 906958 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I doubt pointing it at voxelperfect's would work, since it doesn't know about esolangs.org < 1315606897 588624 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah, interesting < 1315606912 177737 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't have a handy DNS server for the purpose < 1315606931 203851 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yep, I think I'll tell him to go with the other option (investigate yi.org which I mentioned since I'd seen it used a lot) < 1315606937 500425 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: any non-canyonthing suggestions for good free dns servers? < 1315607898 224350 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :ok guys.. i have a new idea to drop < 1315607904 704828 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: afraid.org < 1315607940 937640 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :someone said "linked lists are inherently superior to arrays/arraylists when it comes to removing items from them" < 1315607958 627954 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Better than yi.org? :-P < 1315607984 496307 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: Well, having not heard of yi.org, my response is "blerfmleh" < 1315607984 784361 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :arraylists? < 1315607985 106222 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"Why is it free? It's quite simple. We wanted a challenge... that's it." ;; heh, such reassuring words. < 1315607985 419312 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :so i started thinking, and i said "there could be an array traversing protocol. 2 kinds of items. 1) a number indicating how many data items follow 2) a number of which array index to jump to" < 1315607997 980866 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :0:[3] 1:[a] 2:[b] 3:[c] 4:[6] 5:[?] 6:[2] 7:[d] 8:[e] < 1315608006 346014 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :0: read 3 values. 4: jump to cell 6. 6: read 2 values. < 1315608025 405135 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: That being said, it looks like yi.org is more focused on "dynamic DNS", whereas afraid.org is more focused on being a conventional interface with all the BINDing bells and whistles. < 1315608035 358722 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Right. < 1315608055 649625 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :It's not a matter of how to do it within a language that makes linked lists better, it's the underlying structure that makes certiain operations more efficient < 1315608058 601391 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :this idea of mine probably isn't all that wonderful.. but welll... yeah thats my latest thought < 1315608069 231654 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :*better for tasks which linked lists are better at < 1315608101 2446 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or I'm misunderstanding you. That's likely < 1315608121 548283 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Aight, sent off another email to the 'pert. < 1315608127 592130 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Also he might end up in here, I mentioned that I asked the channel. < 1315608236 945968 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Linked lists can be done in C, and in Haskell. < 1315608255 582536 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :Sgeo: i'll code up my idea,, to make it more concrete < 1315608676 409868 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com JOIN :#esoteric < 1315608728 61702 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :http://codepad.org/xWNBCwng < 1315608735 513560 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi alandipert < 1315608745 187277 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :hi! < 1315608753 236337 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hi! < 1315608758 414126 :Gregor!foobar@codu.org PRIVMSG #esoteric :lo! < 1315608758 843628 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :it's been a few years, thought to pop in :-) < 1315608767 541212 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :its not tested.. but it is supposed to do what i said < 1315608768 193008 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :ACTION formerly wooby, if anyone recalls < 1315608773 35248 :Gregor!foobar@codu.org PRIVMSG #esoteric :Ahhhhhhhhhhhhhhhhhhh < 1315608773 495057 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Can you switch text/binary I/O mode in Haskell? < 1315608790 313234 :Gregor!foobar@codu.org PRIVMSG #esoteric :alandipert: So presumably you're from a society that only gives you a non-ridiculous name when you reach a certain age? ;) < 1315608817 40319 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I probably shouldn't have expected the domain to be owned by a completely random stranger :P < 1315608818 211046 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :ok i can see an optimization already < 1315608831 884103 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :lol < 1315608878 466284 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :http://codepad.org/Yhjjp7nk < 1315608880 288026 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Quit: Computer has gone to sleep. < 1315608902 835542 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Oh, sorry, wasn't paying any attention < 1315608912 471403 :Gregor!foobar@codu.org PRIVMSG #esoteric :<elliott> I probably shouldn't have expected the domain to be owned by a completely random stranger :P // um ... so who does own it? < 1315608923 97113 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: alandipert :P < 1315608923 410953 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :Sgeo: ok have a look and if you're an expert code reader it might make some sense.. < 1315608930 138233 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :it wouldn't make sense to me though < 1315608940 31524 :Gregor!foobar@codu.org PRIVMSG #esoteric :alandipert: Oh! FIX FIX FIX IT NOW YOU EVIL EVIL BEING < 1315608943 601898 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :back in a few, will toggle DNS bits shortly < 1315608958 30249 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Forgive Gregor, he isn't accustomed to humans. < 1315608958 267340 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :ACTION writing esolang for dns manipulation < 1315608963 203430 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh dear < 1315608975 655399 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: What have you _done_???? < 1315608982 839234 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I suppose esolangs.org was a great social manipulation thing < 1315608983 861731 :Gregor!foobar@codu.org PRIVMSG #esoteric :SOLVED ALL PROBLEMS? < 1315608990 766072 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :everyone just sort-of assumed that Graue owned it < 1315608991 475912 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :Gregor: i remember from like 5 years ago a c->bf design, scanned from a napkin < 1315608992 860184 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :So it's an array that contains indexes into the array? < 1315609004 927905 :Gregor!foobar@codu.org PRIVMSG #esoteric :alandipert: It wasn't scanned from a napkin X-D < 1315609005 87925 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :Sgeo: it contains 2 things < 1315609011 682109 :Gregor!foobar@codu.org PRIVMSG #esoteric :It was scanned from scribbling on normal paper :P < 1315609012 8562 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :run lengths and indexes < 1315609019 320065 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :oh ok :-) < 1315609023 496627 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I found who owned it ages ago, I think < 1315609024 704553 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I forget why < 1315609026 745321 :alandipert!~alandiper@cpe-174-109-209-095.nc.res.rr.com PRIVMSG #esoteric :ACTION thinks it would have been cooler if it was on a napkin < 1315609028 610300 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, did a whois < 1315609029 475436 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :!bfjoust does_this_work_yet (>)*8(>[-])*21 < 1315609037 345175 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​Score for ais523_does_this_work_yet: 18.3 < 1315609037 986620 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fungot: say hi to alandipert < 1315609038 146625 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :elliott: wait for cloud to return. < 1315609046 951467 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :^style irc < 1315609047 111347 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) < 1315609049 595087 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fungot: say hi, more verbosely < 1315609050 506413 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :elliott: basically you want your function to return for the cell processor? this one is older. see http://okmij.org/ ftp/ papers/ lagarias/ paper/ html/ fnord < 1315609059 440686 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i will try it out :-s < 1315609075 928307 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :itidus20, to be clear, your structure has no random-access, which is the main benefit of arrays over linked-lists. < 1315609079 217954 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :who wrote fungot's Underload interp? fizzie? < 1315609079 627933 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :ais523: so does noone do mysql with scheme? i am sure it can be < 1315609080 231386 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :(iiuc) < 1315609081 717183 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Where'd that okmij come from? :P < 1315609089 226622 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it's written in befunge, so yes < 1315609093 927498 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :Sgeo: oh.... hmmm good point < 1315609094 979605 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wow, fungot sounded surprisingly zzo38y there < 1315609095 806856 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :ais523: error in string-set!: expected type pair, got ' 65'. it was confusing since the only common language they have used until then. what were you expecting perhaps fnord discussions? < 1315609115 968762 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :^style < 1315609116 160439 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc* jargon lovecraft nethack pa sms speeches ss wp youtube < 1315609116 677899 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: well, various people have written Befunge programs < 1315609119 66711 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :Sgeo: i expect it's not every day that some fool manages to make an array not have random access < 1315609122 524708 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I wrote a Deadfish interp in it, just because < 1315609135 577105 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: befunge isn't known for its modularity... < 1315609151 86397 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :itidus20, well, I think what you did is more of a linked-list, or linked-list like thing, implemented inside of an array < 1315609164 120587 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: really? it modularises pretty well < 1315609174 394793 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :Sgeo: its sort of clever, right? < 1315609180 134386 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I guess storage offsets are useful < 1315609208 12460 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep, that's all you really need to do subroutine calls < 1315609209 198268 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :itidus20, your code still only shows a portion of your idea < 1315609223 317245 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :together with some way to implement a return address stack < 1315609231 924240 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(and I suppose you could use SUBR for that if you didn't want to hand-roll one) < 1315609253 768059 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :Sgeo: well the idea is to make deletion less expensive in an array < 1315609352 557187 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Store it in an array. Keep a separate record of "deleted" items, which does not require actually altering the storage array. ... actually, scrap that. What is the purpose of deleting from a random access array? < 1315609389 198168 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :well i was responding to something someone in another channel typed < 1315609389 358087 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :And if you don't care about random-access, why are you using an array? < 1315609390 720652 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :namely < 1315609402 23903 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :"linked lists are inherently superior to arrays/arraylists when it comes to removing items from them" < 1315609438 525555 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I don't know what they mean by arraylists, but... define "removing" < 1315609455 179466 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Do they mean just shiftig everything else so that there's no gap in the indexing? < 1315609457 94567 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :removing means deleting < 1315609478 426810 :Gregor!foobar@codu.org PRIVMSG #esoteric :Sgeo: An arraylist is generally a list of arrays, presenting the illusion elements of the inner arrays being a single, cohesive array. It's great for concatenating, and usually fast for indexing. < 1315609511 829101 :Gregor!foobar@codu.org PRIVMSG #esoteric :And yes, removing an element from a list is an O(1) operation, whereas removing an element from an array is an O(n) operation with n being the size. < 1315609521 741868 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't really like arraylists. < 1315609533 419386 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: And they don't like you. < 1315609545 390315 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: It's not my fault they're not ropes. < 1315609567 833008 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Gregor, why would someone want to "remove" an element from an array in that fashion? < 1315609588 187422 :Gregor!foobar@codu.org PRIVMSG #esoteric :Sgeo: Don't ask me. < 1315609609 676951 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :But I can think of ways using a secondary record to deal with it. Would make accessing a bit slower though < 1315609638 358600 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Um, and inserting... um, ok, this is going into bad idea land < 1315609638 565622 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :my idea might not be as hot as i expected < 1315609646 303925 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i didnt think it through < 1315609656 800007 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Land of Bad and Ideas < 1315609675 54864 :nooga!~nooga@maverick.aircity.pl QUIT :Ping timeout: 252 seconds < 1315609696 309280 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :shit < 1315609703 489053 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :itidus20, I didn't mean your idea < 1315609716 857169 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :(which you still have not entirely expressed in code) < 1315609735 26559 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Just... unneeded < 1315609757 203422 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i will have another crack at this < 1315609800 848537 :FireFly!~firefly@unaffiliated/firefly QUIT :Quit: FireFly < 1315609841 523616 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Keep in mind that memory can be described as an array. So implementing a data structure in an array does not give benefits over implementing it using pointers < 1315609891 550774 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :(I'm sure at some level "memory is an array" is inaccurate. Finegaling by the OS or something) < 1315610125 507036 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :paging makes it less of an array. < 1315610206 74261 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1315610370 945807 :atrapado!~user@95.169.240.67 QUIT :Quit: FIN < 1315610625 558674 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :ok this is the actual working code: http://codepad.org/H8oSpLVR < 1315610639 555192 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :i can't believe how difficult that proved for me < 1315610737 32563 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :but it is occuring to me this system might not actually 'work' how its supposed to < 1315610748 858970 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :if one actually tries to delete from the array < 1315611139 157941 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :basically i think it will work as long as you delete more than 1 cell at a time < 1315611199 820981 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :itidus20, what is that supposed to do? < 1315611219 130358 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :it needs further devving >:) < 1315611266 838701 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hey, the Java committee decided on the lambda syntax, and it features 0 octothorpes < 1315611283 608475 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, what is it? < 1315611290 264535 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/003936.html < 1315611291 844469 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :they stole C#'s :) < 1315611304 718347 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :mmm, committees < 1315611353 898373 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, if that allowed a return type to be specified, as in (int x, int y) -> int {x + y;} < 1315611360 827307 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :elliott, C++ uses that syntax too? < 1315611368 278553 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then it would be pretty similar to C++'s in that case < 1315611374 641849 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is [](int x, int y) -> int {x + y;} < 1315611375 589220 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :itidus20, is the structure supposed to be such that the 0th slot has 0 items, 1st has 1, etc.? < 1315611386 900897 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :umm, {return x + y;} I think < 1315611390 731233 :itidus20!~itidus20@120.147.173.44 PRIVMSG #esoteric :ill get back to you < 1315611413 141957 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :wait, C++ has lambda syntax? < 1315611413 478681 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :O_O < 1315611421 285232 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and rvalue references! < 1315611527 939158 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :C++ or C++0x? < 1315611549 784158 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :C++0x is C++ < 1315611572 789495 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yep, it was ratified, was it not? < 1315611597 505774 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: yes, and thus retroactively became correct < 1315611605 52073 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :haha < 1315611607 96230 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :feather-std < 1315611623 101009 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh no, I think we've managed to mix three metaphors in a way that actually makes sense < 1315611681 476628 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :anyway, that Java syntax seems fine to me < 1315611690 79367 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :indeed < 1315611694 536321 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote <ais523> oh no, I think we've managed to mix three metaphors in a way that actually makes sense < 1315611696 974627 :HackEgo!foobar@codu.org PRIVMSG #esoteric :645) <ais523> oh no, I think we've managed to mix three metaphors in a way that actually makes sense < 1315611757 808480 :DH____!~DH____@unaffiliated/dh----/x-6288474 QUIT :Remote host closed the connection < 1315612006 957704 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I only see two metaphores in "feather-std" < 1315612019 601741 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or, um, is metphore the right wword? < 1315612030 512883 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1315612061 36946 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Sgeo: you possibly missed the Agora reference < 1315612103 637290 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Oh, in retroactive correctness? < 1315612108 221176 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes < 1315612204 20754 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I understand the eso-std reference but not entirely why it fits in < 1315612212 381497 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ACTION → sleep < 1315612213 732473 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Quit: Leaving < 1315612617 100920 :MSleep!~fyrc@c-174-55-44-190.hsd1.pa.comcast.net JOIN :#esoteric < 1315612623 680484 :MSleep!~fyrc@c-174-55-44-190.hsd1.pa.comcast.net NICK :MDude < 1315612793 139836 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection