< 1205713736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, there? < 1205713765 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1205713790 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, would you want to implement my extended C version? it would include regex for return and parameters as oklopol suggested < 1205713848 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1205713972 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Should I allow "define" ? It opens up room for side effects. < 1205713981 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Without "define" side effects are much harder to create. < 1205714054 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :define == global variable. < 1205714061 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I am thinking of only allowing const globals. < 1205714301 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :are you writing a scheme? < 1205714325 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1205714336 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Just thinking about taking features from scheme. < 1205714496 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in scheme, define is hardly responsible for side effects < 1205714516 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :yeah you use set! < 1205714540 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :But it can be. < 1205714548 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :no I don't think so < 1205714554 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Without define there is no room for side effects anywhere. < 1205714557 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :it's probably not R5RS COMPLIANT < 1205714578 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :(let ((x '())) (set! x 3) ....) < 1205714653 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :(define x 3) (+ x x) (define x 4) (+ x x) The define has a side effect, it causes a different result. < 1205714767 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you don't know what "side effects" mean. < 1205714771 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :*means < 1205714837 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Equivalent to doing nothing. < 1205714849 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Defining alters the environment. < 1205714887 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :16:42 Without define there is no room for side effects anywhere. < 1205714892 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't have a precise definition of effects :S < 1205714899 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :lament: In my language. < 1205714911 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :apparently non-termination can be considered an effect < 1205714930 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Eh, let me rephrase. < 1205714947 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Define cause side effects, so I cannot decide to implement it or not. < 1205714961 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the Recursion monad :) < 1205714979 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :lament: Touche regarding my previous statement. < 1205714998 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :data Rec a = Now a | Later (Rec a) < 1205714998 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :All books are 3 characters. Check syntax and try again < 1205715021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, ? < 1205715091 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, Rec is now or later? < 1205715091 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1205715120 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :non-termination is then indicated by Later (Later (Later ( ... :) < 1205715136 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :have you heard of sturctural recursion < 1205715149 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(or the other thing I can't remember the name of) < 1205715155 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :codata? < 1205715163 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no < 1205715165 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(which is what this Rec should be) < 1205715171 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :general recursion < 1205715172 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in scheme, only top-level defines are sideeffecting < 1205715173 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it means you can't call yourself in general, but must use a specific combinator < 1205715184 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :eliminators < 1205715188 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :folds < 1205715199 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wait, that's not true is it < 1205715199 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :e.g. those ^^ < 1205715230 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it's true < 1205715235 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lament: i think define is equivalent to set! whenever a define of the same variable is in the same scope < 1205715248 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :1:=> (define (foo) (begin (define x 2) (display x) (define x 54) (display x))) < 1205715252 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :1:=> (foo) < 1205715252 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :5454# < 1205715255 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the one I studued was for machines where everything was a Nat, and the only recursion was calling yourself with an argument decremented < 1205715268 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no, apparently it's only top-level. < 1205715271 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you can do most stuff, but not (e.g.) Ackermann's < 1205715285 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1205715305 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i didn't even realize scheme behaved this way. This is most odd. < 1205715309 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :define is the same as set! on the top level if the variable is bound < 1205715326 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and not otherwise? i see. < 1205715333 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: you have to admit my example doesn't output what you expect it to output. < 1205715375 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :probably to make toplevel interactive mode not require any (less?) special treatment? < 1205715400 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :since in an interactive interpreter you definitely want to allow redefinitions < 1205715412 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :actually that's bigloo < 1205715416 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :zzzzzzzzzzzz < 1205715421 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and PLT simply doesn't allow me to execute that statement < 1205715428 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"define: not allowed in an expression context in: (define x 54)" < 1205715433 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: primitive recursion < 1205715444 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yup < 1205715444 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :lamet use let instead of begin < 1205715445 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :zzzzzzzzzzzz < 1205715456 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :sorry? < 1205715472 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :maybe that's wrong too < 1205715478 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :no, it doesn't matter what you use < 1205715480 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i quote r5rs < 1205715492 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"Definitions may occur at the beginning of a (that is, the body of a lambda, let, let*, letrec, let-syntax, or letrec-syntax expression)" < 1205715500 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the key phrase being "at the beginning" < 1205715615 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :scheme is annoyingly complicated for being supposedly so simple < 1205715617 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but it's good complexity < 1205715674 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :there's a special case for allowing definitions inside a begin when that begin is your first statement < 1205715684 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ie (begin (begin (define x 2)) (display x)) ==> "2" < 1205715700 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :so the begins get "folded" < 1205715821 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(begin (begin (define x 1) (display x)) (define x 2) (display x)) ==> "12" ; look, i'm redefining stuff! < 1205715870 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(i don't actually get it, why is that allowed?) < 1205716032 0 :jix!n=jix@78.47.212.92 JOIN :#esoteric < 1205716054 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ohh < 1205716085 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the begins don't just get folded, they also get folded with the top level < 1205716096 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :so the definitions inside a begin on top level are top-level definitions < 1205716101 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and work like set! < 1205716120 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :> (begin (define x 1) (display x) (define x 2) (display x)) < 1205716121 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :12 < 1205716129 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but trying to put that in a function is an error < 1205716134 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :because you're no longer on top level < 1205716193 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :isn't that kinda stupid? < 1205716257 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks the top level environment should not be "magical" < 1205716391 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks some more and changes his mind < 1205717048 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :lament: Heh. < 1205718230 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is bored < 1205718248 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'd be at a party right now if it weren't so far away or if dad wasn't working < 1205718800 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1205719439 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :haha, party < 1205719659 0 :sebbu!unknown@unknown.invalid QUIT :"@+" < 1205721433 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1205721498 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I feel like doing a random comic. Ideas, anyone? < 1205721535 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :frogs < 1205721551 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :dragons < 1205721552 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1205721557 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Hot dogs. < 1205721557 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Umbrellas. < 1205721571 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and a haunted castle < 1205721580 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Skis. < 1205721580 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Party hats. < 1205721580 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Chimney sweeps. < 1205721585 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm. I'm pondering here < 1205721592 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Emmanuel Kant. < 1205721595 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :slereah_: quality over quantity, dude < 1205721599 0 :Corun!unknown@unknown.invalid PART #esoteric :? < 1205721610 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, what's the criteria for random quality? < 1205721654 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :10% Nobel prize quality, 10% Plan 9 from outer space. Fill in the intermediates yourself < 1205721655 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :thought provoking, original and interesting. < 1205721676 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :something that sparks my interest and that I can build from. < 1205721689 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Mad Science! < 1205721695 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that sparks _my_ interest < 1205721715 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and it could tie up all the other suggestions < 1205721746 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205721763 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :mad science and chimney sweeps sounds like a good candidate < 1205721878 0 :slereah_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205721893 0 :slereah_!n=slereah@ANantes-252-1-47-244.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205721907 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :genetically engineered dragons used as chimney sweepers < 1205721908 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :INTERNEEEEEEEEEEEEETS >:| < 1205721994 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I can already picture them. < 1205721994 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Like hairy chinese dragons. < 1205722656 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : i love hot dogs < 1205722660 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :damn i'm hungry < 1205722759 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :See RodgerTheGreat? It's a story that just write itself! < 1205722786 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1205722795 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm already off and running on some steampunk < 1205722796 0 :calamari!n=calamari@ip24-255-58-177.tc.ph.cox.net JOIN :#esoteric < 1205724191 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :'Conformance checkers must check that the input document conforms when scripting is disabled, and should also check that the input document conforms when scripting is enabled. (This is only a "SHOULD" and not a "MUST" requirement because it has been proven to be impossible. [HALTINGPROBLEM])' < 1205724226 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :~http://www.w3.org/TR/html5/ < 1205724232 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.w3.org/TR/html5/ < 1205724264 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Yes, let's also put in a spec "Conforming programs SHOULD try to make 1+1=3" < 1205724339 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's a strawman: it is probably only impossible for _some_ input documents < 1205726857 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a small tidbit of things to come: http://www.nonlogic.org/dump/images/1205723239-preview.png < 1205727034 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oooh, steampunk. < 1205727335 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1205727463 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Which reminds me, in case any of you haven't noticed, that Casey and Andy has resumed. < 1205727727 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and as a bonus, some character designs: http://www.nonlogic.org/dump/images/1205724112-chars.png < 1205727853 0 :adu!n=andrew@pool-71-178-14-80.washdc.fios.verizon.net JOIN :#esoteric < 1205728435 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :1337. < 1205728533 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm aiming for 2-3 pages for a quick story here over the course of the next week or so, and if It turns out well, I'll think about continuations < 1205728654 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :continuations are good. i hear delimited ones are even better. < 1205728656 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :continuations? < 1205728687 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :I recently realized how to implement a tail-call on ppc < 1205728736 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: whats a delimited continuation? < 1205728961 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :better ? :S < 1205728971 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I thought they are equivalent < 1205729287 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh i'm a bit vague on that < 1205729390 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what to do < 1205729724 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think it is something like, an ordinary continuation contains the entire rest of the program, while a delimited continuation only contains it _up to a point_ < 1205729819 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and then you can do some kind of manipulation of what happens once you reach that point < 1205729843 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1205729846 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :combined with the usual use and even reentering of the continuation < 1205729961 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :O_o http://rosettacode.org/wiki/Rot-13#XSLT < 1205730267 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :i think we have different ideas about what a continuation is < 1205730303 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :what aspect of programming languages should I write about? < 1205730309 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :xslt is so lame < 1205730341 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: I think you should write about genaric datastructures and how they relate to binding environments < 1205730354 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :for example < 1205730358 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what a genaric datastructure is < 1205730362 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :any other ideas? < 1205730379 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :a genaric "list of integer" would have only elements that are of type integer < 1205730393 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I can't write about this topic though < 1205730401 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :what for? school? < 1205730415 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :because I'm bored < 1205730420 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205730448 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :then write about the most common 101 datatypes used in the industry today < 1205730460 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric ::[ < 1205730589 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :i would imagine the top 10 would be (int, string, bool, vector, list, float, hash-table, enum, exception, and possibly queues) < 1205730641 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: why are you asking if you don't want my ideas? < 1205730710 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: what do you want to write about? < 1205730718 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I can't decide < 1205730768 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :then maybe the wisest option is not to write anything < 1205730792 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :perhaps reading would be a better idea < 1205732255 0 :olsner!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205735514 0 :andydude!n=andrew@pool-71-178-14-80.washdc.fios.verizon.net JOIN :#esoteric < 1205735516 0 :adu!unknown@unknown.invalid QUIT :Connection timed out < 1205735570 0 :andydude!unknown@unknown.invalid NICK :adu < 1205736306 0 :atsampson!n=ats@7hw.poik.net JOIN :#esoteric < 1205736401 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1205736756 0 :oklopol!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1205736756 0 :cmeme!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1205736756 0 :cherez!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1205737013 0 :atsampso1!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205737100 0 :cmeme!n=cmeme@boa.b9.com JOIN :#esoteric < 1205737121 0 :oklofok!n=oklofok@spark.turku.fi JOIN :#esoteric < 1205737351 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1205737913 0 :oklofok!unknown@unknown.invalid QUIT :Remote closed the connection < 1205737931 0 :cherez!n=cherez@r02snw275.desktop.umr.edu JOIN :#esoteric < 1205737972 0 :oklofok!n=oklofok@spark.turku.fi JOIN :#esoteric < 1205739549 0 :andydude!n=andrew@pool-71-178-14-80.washdc.fios.verizon.net JOIN :#esoteric < 1205739625 0 :adu!unknown@unknown.invalid QUIT :Nick collision from services. < 1205739633 0 :andydude!unknown@unknown.invalid NICK :adu < 1205740799 0 :clog!unknown@unknown.invalid QUIT :ended < 1205740800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1205742251 0 :oerjan!unknown@unknown.invalid QUIT :"Gooed knight" < 1205744128 0 :Tritonio_!n=Tritonio@150.140.229.38 JOIN :#esoteric < 1205745155 0 :adu!unknown@unknown.invalid QUIT :Remote closed the connection < 1205746375 0 :Tritonio_!unknown@unknown.invalid QUIT :Remote closed the connection < 1205762922 0 :slereah__!n=slereah@ANantes-252-1-6-149.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205763767 0 :slereah_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205764085 0 :slereah_!n=slereah@ANantes-252-1-84-17.w81-48.abo.wanadoo.fr JOIN :#esoteric < 1205764912 0 :slereah__!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205766559 0 :Tritonio_!n=Tritonio@150.140.229.38 JOIN :#esoteric < 1205766959 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: the comic looks good so far < 1205766972 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but the blond guy's hair changes colour < 1205766980 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :everything changes color < 1205767057 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :alas using the standard technique of making everything capital letters prevents the full effect of something being called "the Apparatus" < 1205767068 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(i.e. the capital A gets lost) < 1205767132 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :granted < 1205767167 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :keep us updated < 1205767341 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I shall < 1205769870 0 :jix!n=jix@78.47.212.92 JOIN :#esoteric < 1205770998 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1205773104 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1205773587 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, comic? < 1205773593 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, what comic? < 1205773607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(hm, could you make an esolang of it?) < 1205773930 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://www.nonlogic.org/dump/images/1205723239-preview.png < 1205773957 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(by RodgerTheGreat unless my memory is like swiss cheese) < 1205774141 0 :sebbu!n=sebbu@ADijon-152-1-93-16.w81-50.abo.wanadoo.fr JOIN :#esoteric < 1205774696 0 :ehird!n=ehird@91.105.73.126 JOIN :#esoteric < 1205774737 0 :ehird!unknown@unknown.invalid TOPIC #esoteric :#esoteric - Extending tetration to the reals in Brainfuck. | Logs: http://ircbrowse.com/cdates.html?channel=esoteric | Wiki: http://esolangs.org/wiki/ | The Esoteric File Archive: http://esolangs.org/files/ < 1205774799 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows = new? < 1205774807 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :hi ehird < 1205774807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[16:26] [Whois] marshmallows is an operator on channels: #ALGOL < 1205774809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well that does it < 1205774811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1205774823 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :evidently; an agent of evil < 1205774827 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205774900 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has discovered marshmallows's secret, with the help of the mighty Logs < 1205774929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :data Rec a = Now a | Later (Rec a) < 1205774930 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :All books are 3 characters. Check syntax and try again < 1205774932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :brilliant < 1205774944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fix Later < 1205774944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205774958 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed o_O < 1205775009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: your scheme is broken, by the way < 1205775022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#;1> (define (foo) (begin (define x 2) (display x) (define x 54) (display x))) < 1205775022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#;2> (foo) < 1205775022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :254#;3> < 1205775040 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bigloo is not a scheme interpreter < 1205775043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not a conforming one at least < 1205775077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: however, remove (begin ...) and replace with ... < 1205775082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's implicit in lambda-bodys < 1205775088 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and your example becomes standard < 1205775119 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : thought provoking, original and interesting. < 1205775121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :YOUR MOTHER < 1205775128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION kicks self repeatedly as punishment < 1205775150 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :for what? o_O < 1205775170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: saying that :D < 1205775171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : 'Conformance checkers must check that the input document conforms when scripting is disabled, and should also check that the input document conforms when scripting is enabled. (This is only a "SHOULD" and not a "MUST" requirement because it has been proven to be impossible. [HALTINGPROBLEM])' < 1205775175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's perfectly reasonable < 1205775182 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ensuring validity is perfectly fine < 1205775194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the only time it would break is pretty much when a deliberately malicious script was there < 1205775338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : 02:25:51 < 1205775338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : I am trying to decide if I should even implement closures. 02:30:50 < 1205775338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : They are so slow. < 1205775347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :closures are slow, let's go writing micro-optimized languages < 1205775371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mean jeez < 1205775372 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its an esolang < 1205775373 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1205775410 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: "comment..." < 1205775414 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's what smalltalk does < 1205775418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and uses '...' for string < 1205775418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1205776606 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what to do < 1205776615 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :should I use haskell or scheme to write a WAM in? < 1205776625 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :(or C, or something else?) < 1205776749 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Prolog. *ducks* < 1205777091 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what's bigloo? < 1205777138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://uncyclopedia.org/wiki/An_article_that_contains_nothing_but_a_cut-down_version_of_itself_that_does_not_contain_itself < 1205777143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: your scheme apparently < 1205777148 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(i know what bigloo is. I just don't understand why everybody hates it so much when it seems one of the better implementations) < 1205777178 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in general the scheme community is weird in that they hate stuff that's clearly good < 1205777178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: because it ISN'T a scheme implementation < 1205777189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it is broken. < 1205777197 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so obviously not 'clearly good' < 1205777202 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean it isn't? they say it's "mostly compliant" < 1205777212 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :which is as good as most things < 1205777238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: the reason your example gets that output is because bigloo is broken. < 1205777242 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bigloo is also broken in countless other ways. < 1205777247 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ergo, bigloo is not clearly good < 1205777350 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :is gcc broken because it supports single-line comments in C? < 1205777381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: look, bigloo is broken < 1205777398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but evidently you know more about scheme than me and #scheme and you must, therefore, be right when you claim that bigloo is 'clearly good' without justification < 1205777430 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :how's saying it's broken without justification any better than saying it's clearly good without justification? < 1205777442 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :When i said "clearly good", i mostly referred to r6rs, by the way :) < 1205777453 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :hahaha < 1205777454 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :which is an unrelated issue < 1205777471 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :R6RS is great! < 1205777482 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't even matter if it's great or not so great < 1205777488 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :It's like eating mcdonalds everday < 1205777490 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the amount of hate #scheme generates towards it is just unbelievable < 1205777537 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: why do you say that? < 1205777986 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I can't produce a rational argument, I simply feel that way < 1205777994 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :This is funny though http://www.utdallas.edu/~ramakrishnan/Projects/GC_for_C/index.htm < 1205778000 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gc for c is not funny... < 1205778008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, that page is < 1205778010 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I need a GC < 1205778015 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but boehm's gc, for instance, is a good idea for real use < 1205778018 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I don't really want to write one < 1205778021 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: boehm. it is great. < 1205778026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well tested, robust, very widely used.. < 1205778032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just don't fuzz about with pointers too much ;) < 1205778034 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :PLEASE DON’T USE THE CONTENTS OF THIS PAGE FOR PLAGIARISM < 1205778034 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :It didn't compile for me < 1205778039 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I'll try again < 1205778068 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :is that embedded INTERCAL code? < 1205778075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/* < 1205778075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : <> < 1205778075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : < 1205778075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*/ < 1205778081 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/* < 1205778081 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :This is the source code of our collector. Save this file in the name "GC.h" and gothrough the "Read_me.pdf" and "User_Manual.pdf" file for more details. < 1205778081 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*/ < 1205778092 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also it has excessive whitespace and each stdlib include file is extensively documented < 1205778113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :FOR EXAMPLE: < 1205778113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/* < 1205778114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : This header file is included inorder to enable us to do string operations < 1205778114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*/ < 1205778114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#include < 1205778145 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: their malloc printf's when it can't allocate < 1205778147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : if(gc_ptr == NULL) < 1205778147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : { < 1205778147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : /* return NULL */ < 1205778147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : printf("\nYour Request cannot be satisfied even after Garbage Collection \n"); < 1205778147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : return NULL; < 1205778149 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : } < 1205778160 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and on incorrect calls, prompts the user < 1205778161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : printf("\nGC_ERROR 1 : The argument for the GC_malloc function should always be positive"); < 1205778161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : printf("\nDo u want to exit or continue without allocation (y/n ) : "); < 1205778161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : scanf(" %c",&gc_continue); < 1205778172 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1205778204 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: you could use that for the befunge 'ask on div 0' thing < 1205778204 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205780384 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1205781195 0 :ehird`ii!n=ehird`ii@91.105.73.126 JOIN :#esoteric < 1205781208 0 :ehird`ii!unknown@unknown.invalid PRIVMSG #esoteric :testy < 1205781223 0 :ehird`ii!unknown@unknown.invalid PRIVMSG #esoteric :echo>foo sending to irc is a weird feeling < 1205781259 0 :ehird`ii!unknown@unknown.invalid PRIVMSG #esoteric :testy2 < 1205781272 0 :ehird`ii!unknown@unknown.invalid PRIVMSG #esoteric :testy3 < 1205781286 0 :ehird`ii!unknown@unknown.invalid PRIVMSG #esoteric :very amusing little thing.. gotta play with this some more < 1205781371 0 :ehird`ii!unknown@unknown.invalid PRIVMSG #esoteric :now... how do I quit?\! < 1205781502 0 :ehird`ii!unknown@unknown.invalid QUIT :Remote closed the connection < 1205781727 0 :ehird_!n=ehird@91.105.73.126 JOIN :#esoteric < 1205781731 0 :ehird!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1205783804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, err? < 1205783809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : now... how do I quit?\!? < 1205783813 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what were you doing? < 1205784073 0 :ehird_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205784241 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there? < 1205784268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if a befunge interpreter runs out of memory trying to push a value on stack, what should it do? call abort() or reflect with known broken state? < 1205784283 0 :ehird_!n=ehird@91.105.73.126 JOIN :#esoteric < 1205784443 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION had a lucid dream! < 1205784464 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.dreamviews.com/community/showpost.php?p=735756&postcount=104 < 1205784503 0 :slereah_!unknown@unknown.invalid NICK :slereah__ < 1205784686 0 :ais523!n=ais523@147.188.254.202 JOIN :#esoteric < 1205784786 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: do you want a medal? :P < 1205784791 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :hi, ais523 < 1205784809 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :'You are dreaming. Do a reality check!' <-- no. I am not < 1205784823 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :I do not use a computer in my dreams, because that would be sad. :D < 1205784844 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: hi < 1205784847 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't either < 1205784863 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't remember having used a computer in dreams < 1205784865 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :(Strangely enough, because I'm on the computer ALL THE TIME irl) < 1205784872 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But apparently some people do < 1205784874 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I often think about programming whilst trying to fall asleep < 1205784885 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :i'm heavy in lucid dreams < 1205784886 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'd say the best solution is to reflect, but at that point the befunge program can't really do anything about the situation so might as well abort < 1205784895 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, what was " very amusing little thing.. gotta play with this some more" about? < 1205784899 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :like i'm carrying all the weight of my mind saying 'you're not meant to be able to do this in dreams, damnit' while walking < 1205784906 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: a file-system based FIFO irc client < 1205784913 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: context? < 1205784917 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you cat to 'in' files and tail -f 'out' files < 1205784920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes because I just replaced the stack array pointer will a null pointer anyway XD < 1205784922 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :and it has a directory tree < 1205784927 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :of server/entity/in,out < 1205784940 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, link? < 1205784944 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, coolness < 1205784950 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does anyone here have code for a very simple IRC client, so that it could be translated into an esolang? < 1205784952 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: running out of memory when pushing a value on the on stack < 1205784958 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :er, s/the on/the/ < 1205784959 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://www.suckless.org/wiki/tools/irc/irc_it < 1205784964 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: from the people who brought you wmii&dwm < 1205784970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, tried zsh irc? or was it zirc? < 1205784974 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, yes i do < 1205784983 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.suckless.org/wiki/tools/irc/simple_irc_client < 1205784986 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :isn't that convenient? ;) < 1205784994 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: <250 lines of c < 1205785015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, anyway there is an irc client in *pure* zsh, no external commands called < 1205785023 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes i know < 1205785024 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and you can work in your shell at the same time < 1205785025 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :i told you about it. < 1205785030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it kind of hooks into the shell < 1205785035 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :i told you about it. < 1205785052 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: be warned, sic isn't very nice to use < 1205785054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, nah you didn't, I remember it was someone on #gentoo-amd64 who did < 1205785061 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's bitchx-style - multiplexes everything into one stream < 1205785062 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: I don't care particularly < 1205785064 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :so you get mixed up channels < 1205785066 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1205785066 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's the proof of concept, really < 1205785080 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you can always just start two clients for two channels and use them with different nicks < 1205785087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what language? befunge? < 1205785094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: INTERCAL < 1205785094 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :presumably befunge-98 < 1205785097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah < 1205785099 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: uhh, intercal has sockets? < 1205785107 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :you cannot use netcat: you need stdin for user input < 1205785143 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL + PSOX has sockets!@ < 1205785154 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because I just found out that CLC-INTERCAL added generalised networking support < 1205785154 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(previously, networking could only be used to steal data from other INTERCAL programs) < 1205785155 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, -_- < 1205785156 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes < 1205785160 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oh shut up. < 1205785169 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :especially since the overhead to using psox from intercal would be painful < 1205785174 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I would have done it like that if it weren't for the networking library already present < 1205785178 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :(ditto in just about every non-brainfuck language. don't fool yourself :)) < 1205785181 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, oh why would it? < 1205785183 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and ehird_: you could localise the overhead in a subroutine pretty easily < 1205785191 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: psox is basically brainfuck-centric. < 1205785197 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo just says it isn't for marketing potential < 1205785216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least in C-INTERCAL; CLC-INTERCAL would be harder because some ASCII characters are easier to produce than others < 1205785219 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, bf centric? how+ < 1205785222 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/+/?/ < 1205785225 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(because it uses Baudot as its character set) < 1205785226 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: try and use it, then see :) < 1205785235 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck-centric sounds boring < 1205785240 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, is C-intercal modular/extensible/foobarbaz? < 1205785245 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I might write a SOCKET foobar. < 1205785249 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It was designed mostly from the point of view of using Brainfuck, but it doesn't actually force you to use Brainfuck < 1205785251 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: pretty much < 1205785256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, a "foobar"? < 1205785263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I'm writing an FFI for it at the moment, which would make it even more extensible < 1205785263 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :== intercallish for module? < 1205785272 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: pretty much :D < 1205785274 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ehirdish < 1205785281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: generally we just use library files which you literally copy into a program's source code < 1205785297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're all kept with the distribution to avoid line number clashes < 1205785302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it's sort of like CPAN, but lower tech) < 1205785313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, couldn't be done for networking I think? would need some interpreter level support < 1205785319 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There is a loopback mechanism making it usable (but not easily) in languages that take in lines and not individual characters < 1205785323 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: CLC-INTERCAL has that < 1205785346 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you just need to write a specially crafted line with the line number 666 < 1205785355 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205785358 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1205785359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :?! < 1205785369 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's INTERCAL, what did you expect < 1205785370 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I may implement it in C-INTERCAL some time soon, but I'd use the line number 1666 so as to use a line number already reserved for the compiler < 1205785375 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, not that -_- < 1205785387 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I just realised we've exausted all possible Unlambda/Underload/Overload/etc names < 1205785389 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Oh wait < 1205785390 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Overlambda < 1205785392 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :that's what's left < 1205785396 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1205785406 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, sidewayslambda? < 1205785410 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I guess overlambda would be a 15-tier system < 1205785416 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: with things like an ffi at the very bottom < 1205785418 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Underlambda exists? < 1205785423 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: Underlambda is just a cross between Unlambda/Underload < 1205785424 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, did you say line number reserved for compiler, errrrrrrrr? < 1205785425 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: ais523's new language < 1205785425 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes < 1205785429 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm working on the spec at the moment < 1205785432 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :so that tier-1 is a glorified ffi with tcness < 1205785436 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: lines 1000-1999 are for the syslib < 1205785442 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205785449 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, so your program must be shorter than 1000 lines? < 1205785453 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1205785456 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you can use 2000-.. < 1205785458 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, 2000-65535 are fine < 1205785465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so a LOT of whitespace lines? < 1205785465 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and not every line needs a number anyway < 1205785472 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1205785475 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: your line numbers needn't be in order < 1205785476 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :just do '2000 foo' < 1205785478 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or contiguous < 1205785481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: (2000) foo < 1205785483 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205785484 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205785485 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1205785485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh line as in 10 PRINT HELLO GOTO 10 < 1205785485 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205785485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205785497 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: like that < 1205785502 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the numbers needn't be in order < 1205785504 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, is there a C-INTERCAL grammar that isn't yacc/lex anywhere? < 1205785506 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :like, a spec for it < 1205785509 0 :slereah__!unknown@unknown.invalid PRIVMSG #esoteric :*PRINT LOOK AROUND YOU < 1205785522 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: you can deduce it from the C-INTERCAL manual < 1205785529 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or there's an IACC grammar in CLC-INTERCAL < 1205785543 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: alternatively, how hard would it be to hack c-intercal to produce some simple output which gave start+end+token-type positions for intercal? < 1205785544 0 :sebbu!unknown@unknown.invalid QUIT :"reboot" < 1205785549 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: not hard < 1205785551 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :that would be syntax-highlighting sorted < 1205785591 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: I'd planned that sort of thing already < 1205785603 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you should see the grammar, though, it takes lexical tie-ins to a whole new level < 1205785612 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: maybe it should dump it as an INTERCAL program which constructs the data structure < 1205785613 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205785634 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: you say such things in jest. Have you ever looked at CLC-INTERCAL? < 1205785638 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's full of that sort of thing < 1205785675 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C-INTERCAL compiles to a non-esolang, therefore has to be saner < 1205785675 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: whoaa, wait < 1205785678 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :http://www-cs-faculty.stanford.edu/~knuth/programs/tpk.i < 1205785681 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :that gives me an ideaaaaaa < 1205785682 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but CLC-INTERCAL compiles to custom bytecode < 1205785686 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :an ideaaaaaaaaaaaaa < 1205785690 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :TAOCP in INTERCAL. < 1205785696 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :There's already one in redcode, so.. < 1205785698 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :TAOCP? < 1205785711 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is TAOCP? < 1205785717 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1205785725 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Knuth you people!!! < 1205785729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205785738 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :The Art of Computer Programming! < 1205785738 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've bacronymed it into "The Art Of Computer Programming", but am not sure whether I am right < 1205785754 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :You know, Knuth's '70-Aleph0 work < 1205785758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, well since it is kuth, why not do TeX in intercal? < 1205785762 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :the origin of tex/ < 1205785762 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205785767 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ehh, taocp is in blocks < 1205785771 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :you can translate one algo at a time < 1205785774 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :but tex.. sheesh < 1205785777 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :http://www-cs-faculty.stanford.edu/~knuth/programs/tex.web <-- tex82 < 1205785780 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :hideous :D < 1205785787 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, I mean a tex processor/interpreter/whatever in intercal < 1205785788 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :& is actually in an HTML document < 1205785789 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :which is hilarious < 1205785794 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: hideously complex. < 1205785807 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, yes both are < 1205785814 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: INTERCAL-72 acts block-structured and imperative, because all languages were back then < 1205785822 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it's not too hard to translate that sort of code < 1205785831 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :luckily, CLC-INTERCAL sorted out the problem by banning NEXT < 1205785835 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: um no.. < 1205785841 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and even in C-INTERCAL I consider using it for subroutines to be bad form < 1205785846 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you can do TAOCP one at a time < 1205785846 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :sheehs < 1205785850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, err? < 1205785867 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://impomatic.blogspot.com/ < 1205785870 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :that'st he redcode one < 1205785880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, I just said coding a a program in intercal that can process TeX < 1205785888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and produce, say, *.dvi < 1205785916 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: do you know how complex tex is? < 1205785920 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :and how quite primitive intercal is? < 1205785922 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, rather complex yes < 1205785924 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :well, it has loads of stuff < 1205785924 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I know that < 1205785927 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: INTERCAL isn't primitive < 1205785929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that was why I suggested it < 1205785931 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I meant it like.. < 1205785937 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it just looks that way from a read through the INTERCAL-72 manual < 1205785937 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :primitive as in very repetitive < 1205785940 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :to do even basic stuff < 1205785943 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :read a more modern manual, you'll get the hang of it < 1205785950 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :since although it has many instructions, they do not do much useful < 1205785969 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: 'implement tex' is like saying 'implement c' < 1205785975 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :except a little less horrific < 1205785976 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err that http://www-cs-faculty.stanford.edu/~knuth/programs/tex.web, got weird stuff in it < 1205785979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :while p≠null do < 1205785982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf? < 1205785984 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's html... < 1205785988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"pâ‰"?! < 1205785989 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :save it as .html < 1205785990 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :then ctrl-a < 1205785996 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :and copy it into a .web file < 1205786001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :have you not seen a backtracking, or multithreaded, or class-oriented, or overloading and enslaving-using INTERCAL program? < 1205786005 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :uhu < 1205786005 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or are you stuck in 1972? < 1205786016 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'm trying to say that the basic operations like text transforming < 1205786017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, "enslaving-using"? < 1205786018 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :are very tedious < 1205786025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: like pointers, but in reverse < 1205786041 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a CLC-INTERCAL concept that's kind of hard to explain and that I don't understand properly < 1205786042 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in reverse... not sure I get what you mean? < 1205786050 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: neither do I < 1205786062 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: anyway, those chars are things like ≠ < 1205786067 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :(=/= if you can't see it) < 1205786068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, so what are they, you maintain a intercal implementation right? < 1205786071 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :so save as html! < 1205786074 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't implement them < 1205786078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, I got utf8 here < 1205786083 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah < 1205786090 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: save tex.web as an html document damnit < 1205786090 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so CLC does? < 1205786094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1205786109 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's the only INTERCAL implementation I know that actually handles the type system properly < 1205786124 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, isn't it rather silly that it is on the internet as text/plain < 1205786134 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C-INTERCAL's version is a statically-typed hack that usually works correctly, but with one exception that it's worth warning people against < 1205786134 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :tex.web proves that you can write good software with any tools < 1205786210 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: knuth's webserver is bugged, so what < 1205786225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205786233 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :lament: or rather without... like dynamic memory allocation! < 1205786245 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION remembers that Wikipedia refuses to serve any documents with the type text/plain because IE keeps trying to interpret it as JavaScript and running it < 1205786257 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.classnamer.com/ < 1205786261 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :what's tex.web? < 1205786268 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they use text/css, which in all commonly-used browsers does what text/plain ought to do < 1205786273 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: http://tug.org/texlive/devsrc/Build/source/texk/web2c/tex.web < 1205786275 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: source to tex, circa 82 < 1205786281 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :lament: no, that's more recent < 1205786289 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's still tex.web < 1205786289 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :why is it in an HTML file? < 1205786295 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :3.141592 < 1205786299 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :lament: Yeah someone linked it a while ago < 1205786302 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :because WEB is a literate programming system < 1205786305 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: who cares < 1205786308 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :lament: no, it's in a
< 1205786311 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :anyway
< 1205786313 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :THE REAL REASON
< 1205786318 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :is that knuth wanted to put tex.web on his website
< 1205786318 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ehird: me since I have NFI what it is
< 1205786322 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :so he wrote an html document wrapping it
< 1205786325 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :and uploaded it
< 1205786329 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: with an extra ! at the start of the program, TECO becomes a literate programming language
< 1205786329 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :but he uploaded as tex.web
< 1205786330 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ok
< 1205786335 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :and his webserver serves not-.html as text/plain
< 1205786349 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: it's Knuth's TeX typesetting system, as it was in 1982
< 1205786355 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'm not sure why i would be interested in TECO :)
< 1205786367 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: it's a classic esolang
< 1205786369 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I want to learn teco. :(
< 1205786374 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it wasn't intended as such originally
< 1205786385 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IMO it's up there with BancSTAR
< 1205786390 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i don't think things like that qualify as esolangs
< 1205786408 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :hmm
< 1205786410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :BancSTAR is clearly an esolang, despite the fact that it was intended as a serious language
< 1205786413 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :its code looks like noise
< 1205786417 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :I want a language that is pure-literate
< 1205786418 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but so does binary code
< 1205786418 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's like Network Headache
< 1205786427 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lament: TECO is binary, more or less
< 1205786431 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :hmm
< 1205786434 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :what about nested literate
< 1205786436 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :all the characters in the character set, including the control codes, have meanings
< 1205786438 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ais523: right. that doesn't make it an esolang.
< 1205786442 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :comment>>
< 1205786449 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :no wait
< 1205786451 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :reverse that
< 1205786453 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's not being unreadable that makes something an esolang
< 1205786454 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: TECO isn't !comment!code!comment!code!
< 1205786456 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :comment>code>comment>code<<<
< 1205786467 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :so like this:
< 1205786467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it amounts to that because the chances of the bits between the !s having any meaning is very low
< 1205786477 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :This procedure does X, then does Y:
< 1205786493 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :>X{y:int >our temp var< ...}$<
< 1205786494 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D
< 1205786753 0 :tola!n=tola@82-36-97-250.cable.ubr01.king.blueyonder.co.uk JOIN :#esoteric
< 1205786974 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: perl global variable initialized to false
< 1205786975 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :quick!
< 1205786976 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D
< 1205786978 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :no wait
< 1205786984 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :initalized to true
< 1205787009 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: $]
< 1205787018 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's the version number, which is not false, and therefore true
< 1205787026 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wow
< 1205787027 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D
< 1205787040 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless you happen to be using Perl version 0, which doesn't exist
< 1205787077 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: multiple statements in one expression?
< 1205787087 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :do{statement;statement;}
< 1205787093 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the last statement gives the value of the expression
< 1205787113 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and those braces don't count as braces for any purpose but for delimiting the do
< 1205787122 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they can't be redo'ne, for instance
< 1205787129 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you can put a real pair of braces inside them if you like
< 1205787202 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: (??{$foo})
< 1205787203 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :right
< 1205787204 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :?
< 1205787208 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes
< 1205787249 0 :slereah__!unknown@unknown.invalid PRIVMSG #esoteric :ACTION received this : http://membres.lycos.fr/bewulf/Russell/Ada2.jpg
< 1205787250 0 :slereah__!unknown@unknown.invalid PRIVMSG #esoteric ::D
< 1205787304 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastebin.ca/946562 this would be the ugliest perl ever if it actually worked
< 1205787318 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: you've never seen ugly Perl, obviously
< 1205787351 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :uh... you can't /assign/ to the version number
< 1205787353 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes classnamer.com
< 1205787390 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you never use <> again, you could instead use $/ as a default-true global
< 1205787395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(the line separator)
< 1205787400 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"RecursiveLolcatMonitor"  hehehe
< 1205787407 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I /think/ newline is true
< 1205787434 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, newline is apparently false
< 1205787436 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i have to escape $/ in a regexp obviously
< 1205787482 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK, then use $. which is the number of times you've called <> so far
< 1205787491 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it'll be 1 by that point in the program, and you're allowed to assign to it
< 1205787518 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wtf use does that var have
< 1205787534 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: writing line numbers in the margin of documents
< 1205787538 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and translating sed into perl
< 1205787544 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: here is my error
< 1205787547 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Bareword found where operator expected at lit.pl line 4, near "s/[^@]*/print $.?"$0":"
$0
< 1205787580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :be kind on yourself and use a different delimiter than / for the regexp
< 1205787580 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and $0 isn't interpolated, damn
< 1205787583 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::(
< 1205787595 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can write s%[^@]*%print... for instance
< 1205787601 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what did you expect $0 to be?
< 1205787609 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: whole-match
< 1205787611 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$&
< 1205787676 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :E>1
0
1
0
1
0
1
0
1
0
1
0
1
0
< 1205787678 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :that's what it does now < 1205787678 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205787685 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :s%[^@]*%print $.?$&:"
$&
";$.=!$.%e and redo; < 1205787817 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: isn't that what it's meant to do? < 1205787833 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: um..no < 1205787836 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :it's meant to return the whole match < 1205787849 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's because s%%e will insert the result of the expression into the original string < 1205787860 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :okay.. :p < 1205787868 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :put ;"" at the end of the expression < 1205787873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you have no replacement < 1205787879 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :E>

Literate program

helloworldabcdef
< 1205788078 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :
< 1205788085 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or you'll keep matching no chars at the start of the string... < 1205788088 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :my /e is broken < 1205788089 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205788128 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205788132 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :it now infiniloops < 1205788154 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ahh i see < 1205788205 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: really, i just want to eval some code when i see some stuff < 1205788209 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :then remove that stuff from the document < 1205788224 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :use /eg, rather than looping < 1205788240 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then you don't start from the start every time < 1205788251 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but then my @ replacement doesn't work < 1205788266 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :since the rules have to be done one after another, in a 'try this, or this, or this' fashion < 1205788274 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :then advance how much it consumed < 1205788319 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: you aren't replacing the @s < 1205788325 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just the characters between them < 1205788334 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :s/@/$.=!$.;""/e and redo; < 1205788338 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :QED < 1205788376 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205788379 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :I want ^@ < 1205788390 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :but then i get < 1205788391 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :Literate programhelloworldabcdef < 1205788391 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric : < 1205788525 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: !$. == $. < 1205788529 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :or: $. == 0 < 1205788532 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :then !$. == 0 < 1205788566 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :or rather < 1205788571 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :my $.=!$. in my replacement doesn't work < 1205788598 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... I've never used ; in an /e replacement before, but presumably it works (I can't think of what else it would do other than error) < 1205788692 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://collabedit.com/display?id=ae50449cf0ae8339cc7a28cf546ff29c cute. i'm going to put my code here as an experiment < 1205788713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird_: I'm too busy with other things right now to help, really < 1205788722 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you ask again on Thursday I'll be a lot freer < 1205789237 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :"Object-oriented programming is an exceptionally bad idea which could only have originated in California." -Djikstra, apparently < 1205789347 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure that objects have failed < 1205789434 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, should the interpreter abort() on any out of memory conditions or just on stack one? < 1205789483 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think you'll find that your interpreter will abort() by itself if it runs out of memory ;-) < 1205789487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, on stack-stack the specs seem to suggest it should work as r, but it doesn't say anything about other routines < 1205789492 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: for { and } it should be r < 1205789493 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeh < 1205789513 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I tried with ulimit -v, it didn't abort, it caused GC to print lots of warnings < 1205789517 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and errors < 1205789521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it didn't abort < 1205789553 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :right, C doesn't have exceptions. :-P < 1205789561 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ok point taken < 1205789573 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I forgot to check some return values of mallocs for NULL indeed < 1205789672 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: linux will kill a process -- any process -- if it runs out of memory < 1205789681 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :write a 4-line malloc wrapper that abort()s on NULL. < 1205789682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, yes I know that < 1205789684 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :use it everywhere. < 1205789695 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, well that slows things down ;P *runs* < 1205789762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, and I would need one for calloc, and one for GC_MALLOC_ATOMIC and so on < 1205789764 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :realloc too < 1205789901 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I dumped a trace from mycology, one instruction for each line: < 1205789903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ wc -l trace.txt < 1205789903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :125363 trace.txt < 1205789931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :processing 125363 befunge instructions in 0.08 second, amazing what modern computers can do really < 1205789986 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and most of that is IO reading file in < 1205790008 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: never use calloc() < 1205790013 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :calloc is a sign of lazy programming < 1205790014 0 :mib_ko3mgv8a!i=5761e6f3@gateway/web/ajax/mibbit.com/x-6151f3e594c7e948 JOIN :#esoteric < 1205790018 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :plus, it's slow, which matters to you so much < 1205790031 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, hm? slower than malloc + memset to fill with 0 after? < 1205790046 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that in itself is pretty slow < 1205790059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, needed that in that place hrrm < 1205790072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION rewrites < 1205790073 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: fix that place < 1205790074 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205790108 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway my tests shows than around 0.06 seconds = loading file, the rest two = run program < 1205790122 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :most time is spent in hash code in both cases < 1205790137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as funge-space = hash table < 1205790137 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :huh? hashing? < 1205790140 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, ok < 1205790150 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :what's wrong with calloc? < 1205790175 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, for a start, funge-space must be initialised to 0 < 1205790188 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :actually, to ' ', i.e. 32. < 1205790197 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so assuming that 0.02 is spent at program running, my interpreter runs mycology at about 6 MHz, or slightly faster due to rounding < 1205790198 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: you can't initialize ALL Of fungespace. < 1205790200 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :um, yes, that was what I meant < 1205790209 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: you just use a default value on a hash table < 1205790215 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205790217 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, of course it isn't, default value == ' ' < 1205790227 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :we need a UniFunge < 1205790229 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205790231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so if no cell exist it returns space < 1205790237 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there is a Unefunge already < 1205790238 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :it's like befunge, but abusing tons of unicode < 1205790239 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, unefunge does exist < 1205790243 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: unifunge, dmanit < 1205790244 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, unicode < 1205790246 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1205790246 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :outch < 1205790248 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1205790263 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, there is ping-pong < 1205790278 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I wonder why just 6 MHz :/ < 1205790282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or so < 1205790314 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, you are obviously using a few hundred real instructions for each virtual one < 1205790316 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still pretty fast compared to bashfunge that was at most in the khz range < 1205790317 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205790372 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: write an asmfunge < 1205790375 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205790382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, forget that! < 1205790395 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(ping-pong has a custom charset) < 1205790410 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually a faster hash library would help < 1205790416 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I used gprof < 1205790425 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :most time is spent in searching hash table < 1205790461 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you are using a perfect hash table, right? < 1205790462 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1205790498 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird_, err? I just took a hash library that was easy to use, had a compatible license, and didn't suck too much < 1205790502 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :probably far from best < 1205790505 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: xD < 1205790508 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :you have a finite set of keys. < 1205790512 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :ergo: http://www.gnu.org/software/gperf/ < 1205790519 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a known set of keys, too < 1205790530 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: exactly < 1205790542 0 :ehird_!unknown@unknown.invalid NICK :ehird < 1205790561 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, anyway I don't know what my hash will contain, it could be any befunge program < 1205790562 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1205790574 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you should learn about hash tables.. < 1205790580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you know exactly what keys you will have < 1205790585 0 :mib_ko3mgv8a!unknown@unknown.invalid QUIT :"http://www.mibbit.com ajax IRC Client" < 1205790591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes I should learn about them < 1205790600 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: basically: < 1205790610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, keys will be structs like { .x = ..., .y = ... } < 1205790611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you have a finite set of keys and you know exactly what keys are possible, < 1205790613 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least they are now < 1205790616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1205790629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Please tell AnMaster his fungespace has a warped, terrible design. < 1205790637 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it probably hash < 1205790639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :has* < 1205790640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I agree < 1205790651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, but I got an abstraction so easy to change < 1205790655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if you use a perfect hash functino like gperf will generate for you and stop using structs for the keys you will be great < 1205790665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you might have to throw out your abstraction for efficiency < 1205790688 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205790721 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, hm it is just a case of get/set functions and load file and wrap < 1205790748 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually the most efficient representation for funge-space is a hard problem < 1205790765 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, well it is a 2D array that need to be sparse < 1205790772 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes, i know < 1205790785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and negative values are valid < 1205790790 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like say, -4,-6 < 1205790791 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :often the middle is very dense, so an array would be good < 1205790794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :totally valid < 1205790838 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but the program might store a value anywhere in funge-space, so you must be able to handle that without suddenly allocating a multi-PB array < 1205790846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, indeed < 1205790861 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :some kind of trie would suck for the common case... < 1205790867 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, valid ranges here are, depending on compile time options, either int32_t or int64_t < 1205790880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for both x and y < 1205790889 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and you will want to exploit high code locality < 1205790890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205790896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'mv *.pl *.py' should work :( < 1205790900 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :clever *-globbing. < 1205790906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as replacement < 1205790909 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: how would that work? < 1205790914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: move all .pl to .py < 1205790922 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there is usually a "rename" utility < 1205790923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it would need to be integrated into the shell < 1205790923 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: the * is taken as the 'common part' < 1205790932 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yup < 1205790932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not if the shell was clever with * globbing < 1205790943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you consider * to be a special variable-alike < 1205790948 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: um, then the shell would need to know about cp < 1205790951 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: no < 1205790953 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :autoload zmv < 1205790954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, try rename like SimonRC said < 1205790961 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, zsher? < 1205790970 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: it would work for 'foo *.pl *.py' < 1205790974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it would just redefine what * means < 1205790983 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, why not write such a shell? < 1205790999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: lazy < 1205791002 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, also how would it call it? call the function x times? < 1205791008 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or program or whatever < 1205791014 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not sure yet < 1205791015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :use the right tool for the job < 1205791015 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205791016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :man rename < 1205791034 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, or just a simple loop < 1205791039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: shut UP, every time someone comes up with an idea, even if not intended to be made into practice, you yell at them for not using your preferred toolchain < 1205791039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1205791050 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no he isn't < 1205791056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for file in *.pl; do mv "$file" "$(basename "$file" .pl).py"; done < 1205791059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :NOT TESTED < 1205791069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so don't complain if that does the wrong thing < 1205791077 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you could get rid of basename calll < 1205791078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :call* < 1205791086 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :using parameter expansion iirc < 1205791102 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :left as an exercise to the reader ;P < 1205791127 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ls >>= mv `ap` (s/*pl/*py/) < 1205791129 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1205791140 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, is that zsh? < 1205791144 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :no < 1205791150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, what shell? < 1205791156 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :none < 1205791162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh what is it then? < 1205791170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's haskell with the right functions < 1205791175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205791180 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :list-monad + IO i think < 1205791187 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and... s/// :P < 1205791246 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :perl has lots of good quoting .. I wish more langs had < 1205791325 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :you can add regex functions to any language, but you have to use strings :/ < 1205791569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, as far as I can see reading gperf docs, it seems to require a static data set, wouldn't that mean it would just match a single program, ie, mycology, or wumpus or whatever? < 1205791595 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: your data set is (x,y).. < 1205791596 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :0,0 < 1205791597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :0,1 < 1205791600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205791601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1205791601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1205791606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, and negative values < 1205791610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes yes whatever < 1205791610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205791622 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Just use gperf for each data range you offer (32 and 64) < 1205791630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and use one or the other hash depending on the choice < 1205791635 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205792174 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'm still not sure I understand, from reading gperf docs it seems to be for strings only? :/ and where does it do ranges? < 1205792191 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, -2^31 to 2^31 < 1205792193 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1205792233 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't have disk space for a file with 2 * 2^64 lines < 1205792397 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205792402 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you could jit stuff < 1205792417 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :initially, interpret < 1205792445 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :if a region is executed a lot with no change, JIT it, but look out for changes to an "dependents" the region has < 1205792557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, good idea, but considering mycology, most sections aren't executed several times < 1205792575 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well there will be little speed penalty < 1205792603 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, JIT would mean compile to machine code? < 1205792609 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205792612 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you know that fails on lots of OS < 1205792618 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like openbsd that I'm on atm < 1205792620 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : 'mv *.pl *.py' should work :( < 1205792622 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well the JVM manages it < 1205792633 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: 'ren *.pl *.py' does work in DOS < 1205792638 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and does what you wanted < 1205792643 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because the shell does no globbing at all < 1205792646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, memory pages are either writable or executable but not both < 1205792657 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that is because DOS relies on the program to do globbing < 1205792663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, important security feature of modern systems < 1205792674 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: so how to JVMs do JITting? < 1205792682 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but self-modifying code is often useful! < 1205792698 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, they mark themself as needing writable stack/whatever < 1205792706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err executable and writable < 1205792713 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however it is complex to do that < 1205792715 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1205792747 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, also compile to machine code, well what arch < 1205792755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :x86? x86_64? ppc? ppc64? < 1205792760 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :whatever is supported < 1205792767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I want portable code, and I use all of those arches myself < 1205792775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :note that I'm not good at asm either < 1205792788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: then just use a portable asm < 1205792794 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wait, you want me to do something 1000 JMV and .NET engineers can't and produce a protable JITter? < 1205792795 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like C--, or an OISC < 1205792797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, eh? < 1205792812 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(C-- would be the 'serious' choice) < 1205792829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that would mean a compiler at runtime? < 1205792832 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1205792839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless I misunderstood C-- < 1205792843 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it just assembles into a range of different architectures < 1205792843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :got a link for C--? < 1205792846 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a programming language < 1205792858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, right, but how would that work for JIT? < 1205792862 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1205792877 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how to compile code not at runtime when the code is written at runtime? < 1205792884 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://www.cminusminus.org/ < 1205792892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... for JIT you'd probably have to precompile some example asm < 1205792906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and then use the results of that as your asm for the target system < 1205792920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1205793034 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"Research on C-- and Quick C-- is supported by a generous gift from Microsoft Research and by the National Science Foundation under grant number 0325460." < 1205793038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205793041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :m$... < 1205793107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they probably need a portable asm for some reason < 1205793120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C-- is used by ghc as well, according to Wikipedia < 1205793140 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway it doesn't make sense for a JIT as far as I can see < 1205793151 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :back < 1205793152 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :who said something < 1205793185 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: me, AnMaster, SimonRC < 1205793266 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: < 1205793273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes? < 1205793277 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'M$' is pretty immature < 1205793288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes they are < 1205793290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs < 1205793294 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: simon peyter jones -- Haskeller and one of the founders of GHC, the main haskell compiler -- is on MS research < 1205793298 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and also made c-- < 1205793311 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1205793318 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that would explain why ghc uses C-- and Microsoft funds it < 1205793322 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205793367 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :microsoft is evil!!!! < 1205793373 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :boycott ghc! < 1205793375 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks that there are all types of people at Microsoft; the company itself is completely self-serving and acts in a way most of its employees dislike, but the employees themselves aren't all bad < 1205793399 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're mostly just confounded by the company's rules to the point where they're not allowed to do nonevil things all that often < 1205793399 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :microsoft is, first of all, Big < 1205793412 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :yhc looks really cool < 1205793415 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: and has Various Noodly Appendages < 1205793419 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, see what I said about gperf < 1205793432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, care to explain my questions? < 1205793450 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ehird check it out < 1205793479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, their marketing is evil < 1205793481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: meh < 1205793487 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1205793489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, just one word: "sourcefource" < 1205793494 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it even fooled their own employees < 1205793496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or however they spell it < 1205793517 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there is a Great War between God and Evil, and Linux is Good and M$$$$ and the $PEOPLE$ who use it SUCK and are EVIL!!! Why is everyone so STUPID to use it????? < 1205793519 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(one of the MS high-ups related to Vista was fooled by a 'Vista Capable' sticker into buying a machine that basically couldn't run it) < 1205793526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is perhaps exaggerating to the point of stereotypes < 1205793536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but I have seen this stereotype around in a very literal form :) < 1205793557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes indeed you are < 1205793567 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I know there are good ppl at MS < 1205793573 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but the company *IS* evil < 1205793581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION agrees with AnMaster < 1205793584 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: evil is such a funny term < 1205793585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :define it. < 1205793586 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, it does nasty things < 1205793591 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except I would have highlighted the word 'company' < 1205793592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ais523 can do that < 1205793603 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but only to the extent that many companies would in that situation < 1205793608 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :i.e. natural dominance < 1205793645 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: outsourcing, eh? < 1205793647 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and its software is comstimes dreadful < 1205793651 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*sometimes < 1205793664 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes I would define evil as the microsoft company < 1205793673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ehird, I'm still not sure I understand, from reading gperf docs it seems to be for strings only? :/ and where does it do ranges? < 1205793680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, care to answer? < 1205793696 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the hash function for a range is the identity function. < 1205793704 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :assuming its result can fit in that range that is < 1205793715 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err? < 1205793774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"# The gperf utility is tuned to execute quickly, and works quickly for small to medium size data sets (around 1000 keywords). It is extremely useful for maintaining perfect hash functions for compiler keyword sets. Several recent enhancements now enable gperf to work efficiently on much larger keyword sets (over 15,000 keywords). When processing large keyword sets it helps greatly to have over 8 megs < 1205793774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : of RAM. " < 1205793801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that software must be old < 1205793805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or rather the docs must < 1205793865 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not all computers have a lot of memory < 1205793885 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although ehird laughed at the Emacs documentation for saying things like 'if you don't have a mouse' < 1205793888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, true, yet I fail to see how gperf, after reading the docs, can do this < 1205793939 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, good night < 1205793940 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was using a computer which was too simple to run Emacs or even vim (I had to learn some minimal vi), and where I had to supply my own terminal (telnet or ssh) < 1205793966 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205793977 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what are vim's advantages over emacs? < 1205794035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: no RSI < 1205794061 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in particular? < 1205794075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: smaller keystrokes feel like they do more < 1205794080 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. more of a wizard < 1205794094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :+ its range-thingy system is cool < 1205794100 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :apparently test show that it isn't much faster though < 1205794103 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes < 1205794108 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :if at all faster < 1205794114 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :because you have to tink more < 1205794128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: most experienced vim users won't think about most of the keystrokes, I think.. < 1205794130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :same with emacs < 1205794130 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you can press arrow keys much faster than type complex movement commands < 1205794136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and hardly < 1205794142 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :4 words along: < 1205794146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :M-> M-> ... < 1205794147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or < 1205794150 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :4w < 1205794156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or.. < 1205794159 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :C-u 4 M-> < 1205794170 0 :oklofok!unknown@unknown.invalid QUIT :No route to host < 1205794329 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I just noticed the command line of my IRC client: konversation -caption Konversation --icon=konversation < 1205794337 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :surely that's a bit more repetitive than would be needed? < 1205794355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: M-4 M-> < 1205794408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, not M->, that's end-of-document < 1205794411 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe M-.? < 1205794421 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no, M-f < 1205794424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err, I meant < 1205794424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :--> < 1205794427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as in the arrow key < 1205794443 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i would have said f, but SimonRC said 'you can press ARROW KEYS ..' < 1205794471 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, yes < 1205794476 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :waitamo... < 1205794479 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks < 1205794491 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :for speed purposes, vim has arrow keys < 1205794495 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :they're marked hjkl < 1205794508 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :they are just as fast as arrows to type < 1205794518 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :though switching modes will slow you down < 1205794519 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: vi was invented before arrow keys < 1205794520 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :deal with it < 1205794527 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well yes < 1205794531 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, its easier to switch modes with hjkl because your hands are closer < 1205794538 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you have to move your hands to the arrow keys. < 1205794551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :plus at least one person -- me -- finds the layout of the arrow keys uncomfortable to use < 1205794555 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and literally, as the i key is right next to them < 1205794696 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: soo... there's a couple advantages for you < 1205794697 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1205794705 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, and vim integrates with the unix way < 1205794708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :filters, etc < 1205794721 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you have probably seen the recent thing about using vi(m) for a hex editor < 1205794724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::!xxd -> to hex < 1205794729 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::!xxd -r -> and back < 1205794740 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205794743 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::!%xxd < 1205794744 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::!%xxd -r < 1205794745 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's M-x hexl-mode in Emacs < 1205794753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, but that's not the point < 1205794759 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the point is that 'xxd' can know nothing about vi(m) < 1205794761 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and still function fine < 1205794780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's probably a way to do that in Emacs somewhere too < 1205794792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's probably hardly ever used, though, because Emacs purists tend to resist using any non-Emacs programs < 1205794804 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Emacs is often described as an OS. It isn't. It's a shell < 1205794818 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION can imagine an OS that uses Emacs as a window manager < 1205794821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I am just demonstrating the vi philosophy < 1205794830 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205794835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I personally think the philosophy of filters etc. is a lot nicer than emacs' < 1205794837 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I approve of the vi philosophy < 1205794846 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and i would use vim if lisp&haskell weren't painful with it < 1205794854 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :vi and emacs are good for different things < 1205794874 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :emacs is very good with programming languages, for instance, but less good for conffiles and still less good for formatted text < 1205794903 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's irritating to have to type M-q regularly just to get lines to wrap properly (even with auto-fill-mode turned on) < 1205794941 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i would say that vi is very good for programming languages too < 1205794944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :we just need a modern vi < 1205794968 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: its main issue (also its main strength, but not in this context) is that vi doesn't know enough about the file it's editing < 1205794994 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for instance, python-mode in Emacs can automatically move a line between all the correct possible indentations when you press tab, and tell you what they close < 1205795003 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that sort of thing doesn't fit well in vi < 1205795004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you underestimate modern vim < 1205795009 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205795017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but, yes that issue needs some thinking < 1205795017 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but IMO making vi more like emacs defeats the point of vi < 1205795038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: indeed < 1205795043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :we need a third option < 1205795043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like < 1205795044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :vi < 1205795045 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :^ < 1205795046 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :| < 1205795050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :---------> ??? < 1205795051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :| < 1205795052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :v < 1205795052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :emacs < 1205795062 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now, obviously linking the top and the bottom won't work < 1205795071 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but if you can figure out ???, you can bend them both half-way < 1205795071 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thought ??? was what you did just before you profited < 1205795075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and maybe come up with something decent < 1205795079 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: may be so! ;) < 1205795092 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :??? would be a great name for a program < 1205795100 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to type it as \?\?\? in most shells < 1205795107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you couldn't run it at all in Windows < 1205795115 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(because it's an invalid filename in NTFS) < 1205795127 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hehehe < 1205795139 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I created a file called .url once somehow < 1205795162 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$ ??? < 1205795162 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :/usr/bin/ld: dmd: No such file: File format not recognized < 1205795162 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :collect2: ld returned 1 exit status < 1205795167 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :windows wouldn't let me name other files similar things < 1205795188 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was curious to see what would happen < 1205795225 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it seems that the first three-char filename in alphabetical order in my home dir was 'c++' (a directory), and I also had a program c++ on my system < 1205795237 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but dmd was also a directory (me experimenting with D), and so c++ couldn't link it < 1205795284 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes (impending NFS downtime) < 1205795284 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: better - *** < 1205795289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$ *** < 1205795289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bash: Root.pm: command not found < 1205795293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you get fun error messages! < 1205795309 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, capital R makes it come first alphabetically < 1205795332 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, I've seen a shell-script used to implement init, which used shell globbing to run all the startup scripts in priority order < 1205795346 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because the filenames encode the priority in ASCIIbetical order using numbers < 1205795353 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :echo "#!/bin/sh\nsudo rm -rf *" > ~ehird/\ \ \ \ \ .sh < 1205795355 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes (impending NFS downtime) < 1205795364 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you make cpan sane? :/ < 1205795373 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like, NOT ask me about every single thing < 1205795374 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: you forgot to chmod it +x < 1205795382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I haven't seen how CPAN is implemented < 1205795384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and NOT spew out 9 pages of output that reads like a conversation with a child < 1205795387 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but have only had trouble with it myself < 1205795401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(that was the time I tried, and failed, to install Perligata) < 1205795412 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'I didn't find X! Ok, now I'm searching for it... found X in: (9 long directories). Initializing package bootup system... continue? [y]' < 1205795421 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1205795424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :==> Auto-install the 67 mandatory module(s) from CPAN? [y] < 1205795428 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :after a list of 67 modules < 1205795431 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :with detailed version info < 1205795438 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: apt-get does that too < 1205795443 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: one per line. < 1205795446 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1205795455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: did i mention it listed all the files in the package i'm installing? < 1205795458 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :close to 1000 of them < 1205795460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one per line. < 1205795464 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :including all the tests. < 1205795499 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I wonder if anyone's written a grep program (or sed if grep isn't powerful enough) that filters out all the useless stuff from CPAN? < 1205795548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I think it's called /dev/null < 1205795567 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, that wouldn't filter out anything < 1205795570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cpan () { yes | cpan $* > /dev/null 2>&1 } < 1205795592 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :/dev/dotstar might be more useful < 1205795612 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you'd have to create that device somehow < 1205795620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: see my function < 1205795629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, there should be a mkdev: < 1205795637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mkdev /dev/foo '...' < 1205795638 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :example: < 1205795651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mkdev /dev/foo perl -e "print 'ima /dev;\n'" < 1205795655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cat /dev/foo => ima /dev < 1205795667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mkdev /dev/rot13 rot13 < 1205795677 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :echo "hi" >/dev/rot13; cat /dev/rot13 => < 1205795678 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1205795725 0 :oklofok!n=oklofok@spark.turku.fi JOIN :#esoteric < 1205795747 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there might be some way to rig one of those up out of mknod and some custom kernel modules < 1205795762 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I don't feel like trying right now < 1205795931 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: acme:: is fun < 1205795942 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: seen Acme::Bleach? < 1205795950 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it predates Whitespace < 1205795993 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :my favorite is 'dont' < 1205796009 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :dont { foo } # foo is never executed < 1205796020 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: INTERCAL has that feature < 1205796027 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: many times < 1205796051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe(PROB) { foo } # foo is executed, probability PROB < 1205796060 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe { foo } # foo is executed, with a random probability < 1205796066 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: but that isn't what MAYBE does in INTERCAL! < 1205796070 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it should abuse ranges < 1205796075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe(1..0) { one out of ten times } < 1205796081 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe { ... } then picks a random range, of course. ;) < 1205796118 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :an INTERCAL-named version would be double_oh_seven(PROB) { foo } < 1205796183 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although emulating INTERCAL MAYBE would be great < 1205796197 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe { ... } (store a continuation on a continuation stack, then execute ...) < 1205796209 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :go_ahead; (pop a continuation from the continuation stack) < 1205796224 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you can apparently do continuations in perl < 1205796227 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Jifty does it apparently < 1205796241 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :go_back; (if the top continuation on the continuation stack is not stale, go back to it except don't execute the maybe and mark it as stale; otherwise pop it) < 1205796258 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(popping a continuation discards it) < 1205796262 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's the INTERCAL backtracking model in a nutshell < 1205796280 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :Could you do Prolog in INTERCAL? < 1205796292 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: I have a very unfinished Prolog-to-INTERCAL compiler somewhere < 1205796297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't see any technical reason why not < 1205796312 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL has all the features needed to easily implement Prolog < 1205796408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it even has a unification-like feature, but it turns out to be more confusing than useful to try to compile Prolog unification into it < 1205796423 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mostly because INTERCAL doesn't support as many data types natively as Prolog does < 1205796480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but also because it isn't properly transitive like Prolog unification is < 1205796505 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL is crazy..... < 1205796545 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: really? that's an odd and unique opinion < 1205796563 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1205796563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nobody has ever thought that before :) < 1205796633 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :many of the Acme:: modules appear to have no documentation < 1205796642 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I found this in one of the READMEs: "If this is still here it means the programmer was too lazy to create the readme file." < 1205796685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://search.cpan.org/~rjbs/Acme-Lingua-EN-Inflect-Modern-0.003/lib/Acme/Lingua/EN/Inflect/Modern.pm < 1205796710 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... the readme was added in a later version... I still don't understand, though, while I would need to prevent users accessing my web server on a full moon < 1205796749 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://search.cpan.org/src/GMCCAR/Acme-ManekiNeko-0.02/ManekiNeko.pm < 1205796850 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haha: `use less 'memory';` < 1205796853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://search.cpan.org/src/ADAMK/Acme-BadExample-1.00/lib/Acme/BadExample.pm < 1205796922 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :found in a BUGS section: "Any use of this module should be considered a bug." < 1205796937 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :CPAN Acme:: could have a whole qdb to itself < 1205796939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205796940 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably does, for that matter < 1205796942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: haha < 1205796948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what we need is a qdb-spawning site < 1205796958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you enter a name, click a button, and whooomp a qdb < 1205796972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it could have All Time Tops For All QDBs < 1205796973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and similar < 1205796981 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow, Acme:: has a lot of esolangs in it < 1205796999 0 :tola!unknown@unknown.invalid PART #esoteric :? < 1205797018 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I vow to get BadExample running! < 1205797022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :..sometime < 1205797071 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION still wants to write revcat < 1205797079 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a program that detects what's connected to its stdout and stdin < 1205797085 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and then copies its /output/ to its /input/ < 1205797109 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :last I tried, though, I couldn't figure out how to do it < 1205797135 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you should be able to do things like revcat < src.txt | revcat | revcat >> dest.txt copies dest.txt to src.txt, as long as src.txt exists < 1205797214 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think someone was trying to talk to me, but whatever it was is past my scroll buffer < 1205797294 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: nobody's mentioned your nick in the last 2 days in #esoteric < 1205797306 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least, not while I was here at the time (I checked my personal logs) < 1205797310 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205797324 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :checking clog's or cmeme's are likely to produce better results < 1205797336 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :well, it must've been between 10:30 am today and now < 1205797398 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er i mentioned your nick < 1205797405 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205797423 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but only to point out that i thought you were responsible for the recent comic link < 1205797445 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh, the "in progress" shot? < 1205797462 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the mad science Apparatus one :) < 1205797484 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205797498 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :this http://www.nonlogic.org/dump/images/1205723239-preview.png < 1205797907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: revcat is impossible < 1205797918 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's possible in some cases < 1205797921 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but not all < 1205797931 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. yes | revcat | less doesn't make a whole lot of sense < 1205797966 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AFAICT it would have to do something clever, and probably OS-dependent, to figure out what was connected to the other end of stdout and stdin < 1205798124 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, th pipe case is impossible < 1205798127 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since shells manage that internally < 1205798142 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the most introspection you could do is 'a process is ripping out my insides' < 1205798182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :couldn't you get all revcat processes to check the process table to see which processes were other revcats? < 1205798194 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and then send test data to see which order they were connected in? < 1205798200 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: maybe