< 1206924725 0 :ihope__!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1206924727 0 :ihope__!unknown@unknown.invalid NICK :ihope < 1206925352 0 :cherez!n=cherez@r02snw275.desktop.umr.edu JOIN :#esoteric < 1206925808 0 :ihope_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1206926522 0 :wildhalcyon!unknown@unknown.invalid QUIT :"ChatZilla 0.9.81 [Firefox 2.0.0.13/2008031114]" < 1206928374 0 :EgoBot!n=EgoBot@71.237.179.105 JOIN :#esoteric < 1206929264 0 :vixey!n=vicky@amcant.demon.co.uk JOIN :#esoteric < 1206929641 0 :Sukoshi!unknown@unknown.invalid QUIT :"Leaving" < 1206929829 0 :ihope__!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1206930273 0 :Tritonio__!n=Tritonio@150.140.229.252 JOIN :#esoteric < 1206930287 0 :Tritonio_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206930330 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokoko < 1206930335 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokokokoko < 1206930337 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that is all < 1206930386 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1206930460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oko < 1206930884 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1206932004 0 :Tritonio_!n=Tritonio@150.140.229.252 JOIN :#esoteric < 1206932031 0 :Tritonio__!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206932447 0 :ihope__!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I agree. < 1206933180 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :what language is it that takes the fewest line to write a mini-schime, prolog, mini-haskell and metainterpreter in? < 1206933198 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :I want to mimimize the sum of lines of code of all those programs < 1206933259 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :(level of abstraction of the metainterpreter would be that it actually describes every feature of the language, doesn't just call eval or whatever) < 1206933268 0 :ehird!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1206933272 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :right now I am guessing Scheme < 1206933306 0 :ihope___!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1206933308 0 :ihope___!unknown@unknown.invalid NICK :ihope < 1206934009 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oklotalk! < 1206934054 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :**which have an actual implementation < 1206934079 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oklotalk has an implementation! < 1206934083 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, almost < 1206934085 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206934093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't have a parser < 1206934100 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe some day... < 1206934222 0 :atsampson!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1206934558 0 :ihope__!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1206935934 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :vixey: i'm guessing scheme too < 1206935976 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :because of the metainterpreter part < 1206936074 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :vixey: Scheme sounds like a good theory, but it might be more interesting to design a language with creating these types of interpreters in mind < 1206936291 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: haskell :) < 1206936452 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :scheme is pretty much designed for that < 1206936471 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :except instead of "interpreters", it's designed to extend scheme itself to become any of those languages < 1206938153 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1206938153 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/dT236x14.txt < 1206938156 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :idea.. < 1206938182 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :it's scheme and prolog like, 'function' calls can return multiple times and backtrack but they also return values (loose use of 'return' since you could often supply the return value of a function to generate its parameters like in any logic language) < 1206938203 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and i have to add that mandolin is a really awesome instrument < 1206938209 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(to play) < 1206938409 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :any remarks? < 1206938420 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :your scheme is very simple :) < 1206938429 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and you kinda need to parse stuff < 1206938438 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :or it's cheating! < 1206938445 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :oops there is at least one mistake, I meant to write (conj (= #t result) (eval this env)) < 1206938544 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :if I was going to tack on a parser the language would have to support strings.. < 1206938568 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :I guess syntax sugar for lists of atoms it ok < 1206938584 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :is* < 1206939204 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1206940151 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :vixey: nifty < 1206940276 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :what flavor of scheme is that written for? MzScheme? < 1206940303 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :none really < 1206940316 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :r5s5? < 1206940362 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :well it would hopefully be a subset of macroexpanded R5RS < 1206941869 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :this is really interesting: http://www.firstsounds.org/sounds/ < 1206945660 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :good night everyone < 1206945668 0 :vixey!unknown@unknown.invalid PRIVMSG #esoteric :night < 1206945693 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1206947596 0 :Tritonio_!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :Judofyr!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :oklopol!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :bsmntbombdood!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :Deformative!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :Quendus!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :GregorR!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :olsner!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :AnMaster!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :SimonRC!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :cmeme!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :EgoBot!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947596 0 :sekhmet!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :cherez!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :pikhq!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :vixey!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :tejeez!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :Deewiant!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :sebbu!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :lament!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :lifthrasiir!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :Overand!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :ihope!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947597 0 :mtve!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206947640 0 :ihope!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1206947640 0 :Tritonio_!n=Tritonio@150.140.229.252 JOIN :#esoteric < 1206947640 0 :vixey!n=vicky@amcant.demon.co.uk JOIN :#esoteric < 1206947640 0 :EgoBot!n=EgoBot@71.237.179.105 JOIN :#esoteric < 1206947640 0 :cherez!n=cherez@r02snw275.desktop.umr.edu JOIN :#esoteric < 1206947640 0 :sekhmet!n=pez@wilug/madlug/sekhmet JOIN :#esoteric < 1206947640 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1206947640 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1206947640 0 :oklopol!n=oklofok@oklopol.yok.utu.fi JOIN :#esoteric < 1206947640 0 :Deformative!n=joe@c-68-61-240-49.hsd1.mi.comcast.net JOIN :#esoteric < 1206947640 0 :bsmntbombdood!n=gavin_@75-166-172-110.hlrn.qwest.net JOIN :#esoteric < 1206947640 0 :sebbu!n=sebbu@ADijon-152-1-18-90.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1206947640 0 :lifthrasiir!n=lifthras@haje8.kaist.ac.kr JOIN :#esoteric < 1206947640 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1206947640 0 :Overand!i=overand@dissociative.net JOIN :#esoteric < 1206947640 0 :AnMaster!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1206947640 0 :SimonRC!n=sc@fof.durge.org JOIN :#esoteric < 1206947640 0 :Quendus!n=Quendion@145.175.adsl.brightview.com JOIN :#esoteric < 1206947640 0 :GregorR!n=gregor@71.237.179.105 JOIN :#esoteric < 1206947640 0 :cmeme!n=cmeme@boa.b9.com JOIN :#esoteric < 1206947640 0 :lament!n=lament@S010600110999ad06.vc.shawcable.net JOIN :#esoteric < 1206947640 0 :tejeez!n=tejeez@dsl-lhtgw1-fe7adf00-87.dhcp.inet.fi JOIN :#esoteric < 1206947640 0 :Deewiant!n=mniemenm@iruel.hut.fi JOIN :#esoteric < 1206947640 0 :mtve!i=mtve@mtve.vm.jvds.com JOIN :#esoteric < 1206949280 0 :atsampson!n=ats@7hw.poik.net JOIN :#esoteric < 1206950399 0 :clog!unknown@unknown.invalid QUIT :ended < 1206950400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1206950661 0 :GreaseMonkey!n=saru@219-89-58-116.dialup.xtra.co.nz JOIN :#esoteric < 1206951437 0 :Judofyr_!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1206951437 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206953435 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1206953826 0 :EgoBot!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206953826 0 :sekhmet!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206954572 0 :EgoBot!n=EgoBot@71.237.179.105 JOIN :#esoteric < 1206954580 0 :sekhmet!n=pez@adsl-76-204-90-133.dsl.mdsnwi.sbcglobal.net JOIN :#esoteric < 1206954716 0 :EgoBot!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1206954776 0 :EgoBot!n=EgoBot@71.237.179.105 JOIN :#esoteric < 1206955117 0 :sekhmet!unknown@unknown.invalid QUIT :brown.freenode.net irc.freenode.net < 1206955162 0 :sekhmet!n=pez@adsl-76-204-90-133.dsl.mdsnwi.sbcglobal.net JOIN :#esoteric < 1206956695 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"gnihgt" < 1206960096 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, was just implementing FPSP, and the mycology output is confusing < 1206960105 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"UNDEF: cFP outputs never mind, BAD: P reflects" < 1206960110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's all from FPSP atm < 1206960692 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that's the way it has to be done < 1206960696 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :with all output instructions < 1206960709 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :i.e. first output "UNDEF: cFP outputs" < 1206960712 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and then call P < 1206960722 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and then if it outputs, it outputs what it outputs < 1206960732 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but if it reflects, "never mind, BAD: P reflects" < 1206960846 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1206960846 0 :Judofyr_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206964448 0 :vixey!unknown@unknown.invalid QUIT :"Leaving" < 1206969294 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1206972850 0 :RodgerTheGreat!n=Rodger@wads-5-233-27.resnet.mtu.edu JOIN :#esoteric < 1206972864 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :'morning, everyone < 1206973591 0 :jix!n=jix@dyndsl-091-096-050-044.ewe-ip-backbone.de JOIN :#esoteric < 1206973603 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hey, jix < 1206973986 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1206974804 0 :ais523!n=ais523@sm01-fap01.bham.ac.uk JOIN :#esoteric < 1206975148 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mörning < 1206975163 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :howdy oklopol, ais523 < 1206975170 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi RodgerTheGreat < 1206975199 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION did finish that INTERCAL continuation library that was being discussed yesterday < 1206975217 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at about 6am this morning, because I couldn't sleep and started working on it again at about 5am < 1206975300 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the issue was "cFP outputs never mind" < 1206975312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what did it say "never mind" or ? < 1206975331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it was confusing < 1206975367 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe a comma before never mind would help with grammer ;) < 1206975431 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"grammar" < 1206975474 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what licence is cfunge under? < 1206975503 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I ask because I have an INTERCAL/Befunge link-together in mind as the next thing to do now I have INTERCAL/C < 1206975521 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although writing COME FROMs in Befunge would be a little strange < 1206975583 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as far as I can tell, you'd have to have them read their arguments from the playfield rather than the stack < 1206975798 0 :marshmallows!n=vicky@amcant.demon.co.uk JOIN :#esoteric < 1206976492 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, GPL3 < 1206976503 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, OK < 1206976509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, is it a problem? < 1206976519 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C-INTERCAL is GPL2 < 1206976523 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that's not really a problem < 1206976529 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not "2 or later"? < 1206976534 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :2+, sorry < 1206976538 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1206976547 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well, it is also C99 < 1206976556 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, that could also be a problem < 1206976557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so not sure how well it would work on old systems < 1206976569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it currently uses boehm-gc but it is not hard to change that < 1206976569 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you use VLAs then it would be right out, because C-INTERCAL doesn't like linking to them < 1206976598 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I don't use VLA I think, but I use "dynamic sized array at end of struct" < 1206976610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is a bit different < 1206976613 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that shouldn't be a problem as long as you're storing them on the heap < 1206976627 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well yes I malloc them < 1206976633 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's just that C-INTERCAL does crazy stack tricks to to handle communication between processes < 1206976646 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can do just about anything you like on the heap, but you have to be a lot more careful on the stack < 1206976652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I do push some structs on stack < 1206976671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, returning a struct, not a reference to one in one place < 1206976699 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's fine, as long as they're fixed-size < 1206976705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you don't leave them there too long < 1206976719 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(as in, you don't try to FORGET stack elements with useful data still in them) < 1206976729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well also you will need to fix a few mem leaks, while I do offer a way to compile without boehm-gc, I only use it to be able to run valgrind for detecting stuff like "invalid read" < 1206976741 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it does have a few mem leaks without boehm-gc < 1206976751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :patches are welcome of course < 1206976754 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C-INTERCAL's compiler is full of memleaks, but the programs it produces are leak-free as far as I can tell < 1206976780 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, basically it allocates cells in chunks for fungespace, but it throws away references to old chunks < 1206976803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :depending on the garbage collector to remove them if/when the chunk is no longer used < 1206976813 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :would refcounting work? < 1206976827 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well boehm-gc is a mark-and-sweep < 1206976828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(in INTERCAL, the garbage-collector actually affects the semantics of the language) < 1206976847 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I know, I was just wondering if it was a simple enough problem that refcounting would work instead < 1206976858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, maybe < 1206976859 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or whether you have more complicated problems like circular dependencies < 1206976904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway the funge-space stuff is one of the few thing with a good abstraction around, so should be possible to just replace it, with something else implementing the same basic stuff < 1206976934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, get/set cell, load file, write out to file, get bounds, do wrapping < 1206976959 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as for how an INTERCAL/Befunge link would work from the Befunge end, I've so far been doing links by implementing INTERCAL flow control operations < 1206976970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, until recently I even had two different versions, one for befunge93 that used a static array and one with hash library for befunge98 < 1206976972 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's NEXT, NEXT FROM, COME FROM, RESUME, and FORGET < 1206976988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, fingerprints are easy to code I think < 1206976990 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or hope < 1206976990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :some of them would be easy to implement with a fingerprint; COME FROM and NEXT FROM would be harder < 1206976996 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tell me if I need to write more docs < 1206977005 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because they have an effect even when the IP isn't there < 1206977015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I do plan loading of fingerprints with dlopen in future < 1206977019 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to make it even easier < 1206977024 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :currently just must compile it in < 1206977049 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also, I depend on POSIX, I don't think it would run under windows or such < 1206977049 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, all the INTERCAL expansions are compile-in, so you'd have to hack the source code to anything you wanted to compile into it anyway < 1206977059 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :either that, or abstract main() away to be a small part of the program < 1206977063 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :last I tried it *did* run under freebsd < 1206977080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well main, for correct funge98 I need argc/argv < 1206977081 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(because C-INTERCAL deletes main()s in programs it links against because it already has its own) < 1206977086 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :due to y (sysinfo) < 1206977099 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you can store them in globals < 1206977105 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I do, in main < 1206977112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'll gladly try to work out a way to pass command-line args around < 1206977131 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well command line arguments for interpreter options too < 1206977154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh and you probably want to remove -fvisibility=hidden heh that I got in my cmake file for levels above DEBUG < 1206977178 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what does that do? < 1206977185 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, man gcc? ;P < 1206977195 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :basically it hides symbols < 1206977200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to reduce file size < 1206977205 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: have you seen how long man gcc is? I'll try to find it in the info index, though < 1206977213 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, / searches in man page < 1206977215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :man gcc < 1206977216 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :type: < 1206977222 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/-fvisibility < 1206977229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :press n for next match < 1206977229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206977233 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, wait, I *may* do VLA in one place < 1206977235 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks < 1206977265 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh yes, but can be worked around quite easily < 1206977269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just used inside one function < 1206977275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not passed around or anything < 1206977292 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/hlgy6w58.html < 1206977303 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: in that case it's probably OK < 1206977331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also non-boehm-gc code may be suboptimal in places < 1206977349 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/IbsRCM89.html < 1206977351 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is one example < 1206977378 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that VLA's fine < 1206977378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ec_cord is a string that is very fast to append do, provided with boehm-gc < 1206977394 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how much storing things in globals do you do, by the way, and how much on the stack? < 1206977421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well not globals, mostly static, and that isn't global < 1206977435 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :statics are heap storage, so that's good enough < 1206977444 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, not exactly heap, but not stack either < 1206977446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but well store depends on what you mean, ie storing a pointer to a HUGE object in a static variable < 1206977452 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think they have their own static space < 1206977454 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like the funge space < 1206977468 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the issue for C-INTERCAL linking is a very simple stack vs. not stack < 1206977481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because I merged the C and INTERCAL call stacks together into one massive confusing stack < 1206977485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you want to have several funge programs at once you need some substantial redesign < 1206977493 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in different funge spaces < 1206977500 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you just want concurrent funge that works of course < 1206977532 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also I'm working on a draft for a debugging protocol < 1206977540 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :would be all ifdef anyway < 1206977543 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for speed < 1206977563 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the INTERCAL debugger is linked into the object program, which has function calls to the debugger added by the compiler < 1206977575 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was the strangest way I could think of to do it while still being practical < 1206977583 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nah I would use tcp socket or unix socket to talk to the debugger < 1206977591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks for the first (now outdated) draft < 1206977596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the second isn't yet redy < 1206977606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://rage.kuonet.org/~anmaster/tmp/frontend-prococol.pdf < 1206977632 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and another thing < 1206977660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I plan so substantial redesign of interface in the near future, ie parameter order, to make it more unified < 1206977684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :atm I think StackPush(value, stackpointer) other things take the "me" pointer first < 1206977689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I plan to clean that up < 1206977694 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'll leave it for a while, anyway, because there's going to be a major release of C-INTERCAL tomorrow < 1206977701 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1206977702 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :April 1 is a good day to release INTERCAL compilers on < 1206977707 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, note I don't know intercal at all heh < 1206977716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :partly because nobody believes you until they've seen the code < 1206977718 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well beoynd that you use PLEASE a lot < 1206977722 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not a lot < 1206977726 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :1/4 of the time, on average < 1206977730 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not to much < 1206977750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not sure how you plan the integration thing? < 1206977755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is how it would work? < 1206977769 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :basically, you add INTERCAL control flow operators as a loaded-by-default fingerprint < 1206977780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(the loaded-by-default is so that you can access the Befunge code at all) < 1206977788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206977805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are 6 main control flow commands/objects/etc that you need to implement < 1206977809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well loaded by default, won't be in my code, but I guess you can implement that yourself < 1206977824 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, it would be a compiler-specific addition < 1206977830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interpreter < 1206977839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there is no way you can sanely compile befunge < 1206977858 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: C-INTERCAL is always compiled, but I was planning to go along the bundle-an-interpreter route < 1206977869 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1206977878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and don't break mycology ;P < 1206977906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it shouldn't do, unless it checks for reflections with no fingerprints loaded, but I'm deliberately breaking the spec there < 1206977914 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aye it does check that iirc < 1206977920 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just like I had to invent some new syntax for the C to INTERCAL link < 1206977930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1206977941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, I could always invent some sort of specifically-fooling-Mycology loader problem < 1206977947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/problem/program/ < 1206977967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, the six commands that would need implementing: < 1206977973 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway I'll aim for free standing code to work well, don't blame me if a new feature I add break stuff for you < 1206977975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just a warning ;P < 1206977981 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :- line label, which is easy in most languages but much harder in Befunge < 1206977988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't mind at all < 1206977995 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even I often add new features that break stuff for me < 1206977999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also, I do stuff like < 1206978000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#define VectorCreateRef(a, b) (& (fungeVector) { .x = (a), .y = (b) }) < 1206978010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then I can create a vector on stack in the parameter list < 1206978017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no idea if that feature would break intercal? < 1206978021 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :doubt it < 1206978031 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as long as it doesn't stay there between commands < 1206978047 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um, well you would need to hack the main loop anywya < 1206978049 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway* < 1206978058 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interpreter.c < 1206978068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :though interpreter.c contains mor < 1206978069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :more* < 1206978164 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you want to see some never-before-seen won't-even-run-on-released-compilers-yet INTERCAL, there's http://filebin.ca/xwthjm/continuation.i which is one of the example programs I'll be releasing tomorrow < 1206978189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um < 1206978197 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206978201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is it highlightning it as < 1206978218 0 :ehird!n=ehird@91.105.71.247 JOIN :#esoteric < 1206978225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Database/Progress? < 1206978229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes kate < 1206978242 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Kate recognises INTERCAL as some sort of obscure database script < 1206978251 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://filebin.ca/xwthjm/continuation.i < 1206978256 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :continuations in INTERCAL < 1206978275 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(the Wikipedia article example doesn't work because it assumes interactive input of commands, impossible in a compiled language) < 1206978275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl food < 1206978284 0 :ehird!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206978296 0 :ehird!n=ehird@91.105.71.247 JOIN :#esoteric < 1206978297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh dear, I scared away ehird < 1206978322 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sowwy < 1206978324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1206978329 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this is the lame computer < 1206978331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the crashy one < 1206978338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :takes a few startups to get going.. < 1206978374 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: did you see the link I posted? < 1206978413 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, checknig logs now < 1206978502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh, at 6am... < 1206978511 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i have finished software projects at 8am < 1206978514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I couldn't sleep last night, so I spent the time doing something useful < 1206978517 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :having started working on them 2pm the earlier day < 1206978522 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was trying to sleep from about 1am to 5am, though < 1206978524 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :with no sleep in between, of course :-) < 1206978537 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :actually, that's pretty much the only software i DO finish < 1206978601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: suggestion - use boehm gc in C-INTERCAL's compiler (not the output) < 1206978603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gcc does that < 1206978611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but, still keep using free() (well, the gc equivs) < 1206978616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just there to tidy up every now and then < 1206978618 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :seems to work well in gcc < 1206978632 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I can't think of any particular reason why it's leaking, probably just oversights every now and again < 1206978645 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the fact that the memory allocation pattern is so complex that Splint can't follow it < 1206978721 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because i was up late yesterday and the clock said 31st < 1206978728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :when i woke up today i thought it was internet jackass day < 1206978732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was sorely disappointed < 1206978797 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's tomorrow, which is statistically the most likely day for an INTERCAL compile to be released on < 1206978805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mostly because we keep aiming for it deliberately < 1206978812 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: bah, but that's being KIND on internet jackass day < 1206978820 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or maybe an intercal compiler is in fact a very horrible thing to give < 1206978821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :probably. < 1206978825 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what's wrong with a little kindness? < 1206978887 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: insert grouchy commnet < 1206978888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that http://filebin.ca/xwthjm/continuation.i < 1206978890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*comment < 1206978893 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :don't really understand it < 1206978901 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I doubt many people do < 1206978903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: INTERCAL code is not easily understandable! Suprise! < 1206978907 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, btw where does C-INTERCAL have it's svn/cvs/whatever? < 1206978911 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it doesn't < 1206978915 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't own a web server < 1206978920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? cathedral? < 1206978922 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you don't need a web server for a distributed system ;) < 1206978930 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, it's cathedral at the moment < 1206978937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'git/hg/darcs init', 'git/hg/darcs add ...' < 1206978949 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I don't even have an Internet connection most of the time < 1206978950 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, try lauchpad for bzr, I think there exist similar got git and hg < 1206978958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: all of those need no internet connection < 1206978975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: they're 100% offline unless you tell them to push/pull < 1206978980 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the other thing is that I like to do massive breaking changes < 1206978988 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's why branches were invented < 1206978989 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :such as renaming all the variables in the entire program < 1206978994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes that works well with distributed version control < 1206978999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :make a new branch 'rename-all-variables' < 1206979002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :do it < 1206979009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :keep making changes in the main branch if you want < 1206979009 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes something like that is what is happening in cfunge atm < 1206979010 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :finally, merge it < 1206979018 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mostly the VCSs can merge all the changes together < 1206979024 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :can merge algorithms really handle that sort of change? < 1206979031 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, more or less yes < 1206979033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: more or less < 1206979037 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it will come into conflicts ofc < 1206979041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, maybe a few conflicts < 1206979043 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not much < 1206979044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it can start up a nice graphical tool to let you select what you want < 1206979052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it's mostly point-n-click for when it can't work it out < 1206979056 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :do any of them also run on DOS? < 1206979061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1206979067 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I do development there too, for the Windows version of C-INTERCAL < 1206979072 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: git runs via cygwin but i don't think cygwin runs on DOS < 1206979076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think darcs might run on DOS < 1206979084 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hg is written in Python, so if you can get a Python to run on DOS it's likely < 1206979088 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(targetting DOS + POSIX manages to cover most of the world's commonly used OSs) < 1206979089 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, doesn't darcs need haskell? < 1206979099 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You can cross-compile < 1206979103 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206979103 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or get a binary < 1206979104 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Haskell can be compiled into C IIRC < 1206979109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Into C? no < 1206979112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haskell isn't interpreted < 1206979117 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :There are interpreters, but it's mainly compiled to native code < 1206979125 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Most things use GHC extensions, including darcs. < 1206979129 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GHC compiles into native code via C-- < 1206979134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(C-- is related to the GHC project, same people) < 1206979138 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, so it's bundle-an-interpreter-style compilation < 1206979143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Uhh, no? < 1206979146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Haskell has no 'eval' < 1206979148 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It is 100% compiled < 1206979158 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: bytecode interp, not Haskell interp? < 1206979159 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It just seems dynamic because of all the type inferrence < 1206979167 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: No. C-- then compiles to native code < 1206979177 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1206979179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Haskell -> Core (GHC's internal functional language) -> C-- -> native < 1206979184 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's how I thought it worked, but you were confusing me < 1206979190 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sorry:) < 1206979196 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :GHC can generate C code < 1206979198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'll go and ask in #haskell about darcs < 1206979200 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: If you tell it to < 1206979205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Funny thing about GHC's C backend: < 1206979209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It requires a perl script. < 1206979219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :This perl script looks at the assembly output of ghc, and turns tail calls into JMPs < 1206979228 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1206979230 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :This perl script is a 'literate perl' script < 1206979238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And has to be processed to remove the comments. < 1206979242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh my < 1206979243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It is called the Evil Mangler. < 1206979244 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :=pod < 1206979245 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :=cut < 1206979249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: No, it's custom < 1206979253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, Knuth infected? < 1206979256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1206979258 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why not do it the standard way? < 1206979261 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Literate Haskell is popular < 1206979269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because it's Evil, and iirc very old < 1206979270 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes I like LaTeX, but I don't like literate programming < 1206979282 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GHC was around before the Monad typeclass came about. < 1206979284 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :That's totally awesome ehird < 1206979295 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :There's even GHC code which uses monads without using the Monad typeclass because it wasn't invented yet < 1206979298 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I never knew the evil mangler was in perl < 1206979313 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Those continuations are really concise, btw. Impressive. < 1206979323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL: Flexible, and concise1 < 1206979324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*! < 1206979328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's like Lisp++++ < 1206979349 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: especially as CREATE has some similarities to macro definition, but the C-INTERCAL version is rather limited at the moment < 1206979371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[16:02] "DOS" ? < 1206979372 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[16:02] do you mean Windows? < 1206979380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: which DOS version? < 1206979395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mainly test it on NTVDM, as that's where it'll be run in practice < 1206979401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um < 1206979408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I have DOS system disks for versions 4 and 6 knocking around somewhere < 1206979415 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, NTVDM is crap < 1206979431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I got to watch the fun, going to join #haskel < 1206979437 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ll* < 1206979441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for some reason, tar crashes it 100% of the time and autoconf crashes it about 30% of t he time < 1206979441 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: these people are retarded < 1206979442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[16:03] he's talking about the windows command shel < 1206979461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION watches both side with amusement < 1206979470 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you know NTVDM is gone in 64-bit windows < 1206979479 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does anything replace it? < 1206979482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ais523 still supports systems with 8mb of ram. < 1206979488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't think 64-bit is on the horizon ;) < 1206979501 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, no x86_64 system that has gone into 64-bit mode can run 16-bit code any longer < 1206979506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you need something like dosbox then < 1206979507 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've heard that the Vista version of NTVDM is actually better than the XP version, but have never had the opportunity or inclination to check < 1206979536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh and that reminds me, cfunge by default use 64-bit integers for it's data < 1206979543 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but you can select 32-bit at compile time < 1206979548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it need to be at least 32-bit < 1206979553 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or stuff *WILL* break < 1206979571 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fingerprints will fail and everything will come crashing down < 1206979574 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1206979587 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :In unrelated news, I've actually read the API for DOS 1 < 1206979590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have toyed with the idea of 128 bits however < 1206979592 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it didn't even support directories < 1206979598 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :using gcc __int128_t iirc < 1206979604 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haven't tried it yet < 1206979607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but easy to test < 1206979622 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh well.. < 1206979624 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :darcs is out of the qusetion < 1206979626 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Try git. < 1206979632 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Before you but in.. < 1206979638 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't think your precious bzr works on 16bit systems. < 1206979648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I was going to say git works on DOS < 1206979652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :doesnt'* < 1206979658 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think you could get it to < 1206979658 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it hardly works on windows < 1206979660 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :through some posix stuffs < 1206979662 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so dos... < 1206979664 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1206979668 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm wait < 1206979671 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to try python < 1206979676 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and ask which version of python will run on DOS < 1206979681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#python for laffs < 1206979690 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DJGPP generally does a very good job of pretending to be POSIX, given the circumstances it has to deal with < 1206979697 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wait, that's a good point < 1206979708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://git.or.cz/ maybe you could give it a try < 1206979708 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I recently discovered that ulimit is implemented the same way as fork < 1206979724 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, always fail but with a plausible error message that /could/ have happened in practice < 1206979759 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw, git is a little lower level as far as merging goes < 1206979761 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm can't you compile haskell to C, and I'm quite sure GCC can compile to 16-bit, I even used gcc for 8-bit < 1206979762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ^ < 1206979767 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it WILL do the auto merging thing < 1206979776 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but if it fails you'll have to start the graphical tool yourself < 1206979777 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1206979795 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, graphical tool? dos? < 1206979798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but the generated c code won't work .. < 1206979800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ERR_NOTREALISTIC < 1206979805 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Uhm, he doesn't develop solely on DOS < 1206979810 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, oh, why won't it work? < 1206979818 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: because it's low-level :) < 1206979825 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :closures and thunks and all that mean it's pretty hack < 1206979826 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :y < 1206979829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you mean, depends on endianness? < 1206979830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and such? < 1206979839 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh looky.. < 1206979842 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :darcs WILL work, probably < 1206979844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :via go32 < 1206979851 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :go32? < 1206979858 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DOS 32-bit extender < 1206979860 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is this about unreal mode hack thing? < 1206979864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1206979868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh my < 1206979869 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it makes I/O incredibly slow < 1206979869 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it should make ghc work < 1206979871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and so darcs < 1206979884 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: darcs is molasses slow anyway so you shouldn't worry! < 1206979887 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :usable, but slow :) < 1206979888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that is one thing, I don't know if cfunge will work on 16-bit or even big endian < 1206979890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :very usable in fact < 1206979893 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's highly user friendly < 1206979899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in fact I have doubts about big endian < 1206979903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& is based on a Theory of Patches written by a physicist < 1206979927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, some hacks I need to do for the floating point fingerprints may not work on big endian < 1206979929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure < 1206979934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :typedef union u_doubleint { < 1206979935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : double d; < 1206979935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : struct { int32_t high; int32_t low; } i; < 1206979935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :} doubleint; < 1206979937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes sucks < 1206979947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and if you leave a program producing too much output without pressing a key, the program slows down to very slow speeds < 1206979947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I need to for FPDP < 1206979953 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I'm not sure if that's a bug in go32 or NTVDM < 1206979962 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, tried dosbox? < 1206979985 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1206979989 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also if you run it under NTVDM, why not just run the version control under windows, as you already use windows then? < 1206980014 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was just teasing really, as I can always run it on Linux and copy the files across via USB < 1206980019 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also does C-INTERCAL work on x86_64 linux? < 1206980025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it should do < 1206980030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :C-INTERCAL probably works on the C64 < 1206980032 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :might need to change a define somewhere < 1206980033 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, eh, no network for dos? < 1206980045 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: nor Windows, nor Linux more than half the time < 1206980064 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah but LAN I mean < 1206980077 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: don't have that either < 1206980078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or if you use qemu or such for windows, local simulated network < 1206980088 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the Windows 95 box won't shut down properly if it's connected to a network < 1206980090 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, right, distributed version control is for you < 1206980097 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and my only Ethernet cable's about 50 cm long < 1206980098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah, darcs seems the right one < 1206980101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :windown 95? :( < 1206980102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since if you're going to change every variable name < 1206980105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then wanting to merge < 1206980109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you need something that's really really clever at merging < 1206980113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :even if it's a little slow in the process < 1206980133 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah darcs I guess < 1206980154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, can you push to a usb memory with darcs? < 1206980161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seems like ais523 need that < 1206980164 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: push == 'cp .darcs' < 1206980169 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as a last resort. < 1206980173 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok true.. < 1206980174 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I seriously doubt it would be a problem < 1206980177 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1206980179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just copy over the repository < 1206980189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, except, windows HATE things starting with . < 1206980191 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: each copy, branch etc you have contains the whole history for the whole repository < 1206980193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: err, wait < 1206980195 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's called _darcs < 1206980196 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just because of that < 1206980199 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, you can create them in some apps, but it won't work in others < 1206980205 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah yes, 8.3 filenames < 1206980209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my mistake < 1206980210 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in DOS it would be _darcs. < 1206980212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ah, but will it use 8.3 filenames everywhere? < 1206980216 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, it's _darcs everywhere < 1206980225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it is a directory I suspect < 1206980226 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DOS requires at least one . in a filename < 1206980227 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: _darcs/ should be 8.3-safe < 1206980233 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not a file < 1206980237 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even a directory name, but that's normally hidden from the user < 1206980238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :_darcs is a directory < 1206980239 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :by the OS < 1206980242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1206980245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1206980246 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :directory names follow the same rules as filenames < 1206980258 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so I call the INTERCAL install directory ick-0.28 < 1206980262 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: darcs should work fine if you can get it to compile < 1206980270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which looks perfectly natural, but technically speaking .28 is the extension < 1206980287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not when extracted on linux or so < 1206980301 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw, with a dvcs, transitioning from cathedral to bazarr is simple < 1206980307 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION downloaded the source for darcs < 1206980311 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the 'let everyone see the source' part is trivial < 1206980320 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you just 'darcs push' onto a public server < 1206980330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :letting people submit patches is built in-- < 1206980333 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'darcs send' goes through email < 1206980335 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then you can 'darcs apply' < 1206980348 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and, other people can 'darcs get' your public repository, and fork it < 1206980356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then if you want you can 'darcs pull' from theirs and merge their changes at any point < 1206980364 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but, if you want, you can just keep track of your own changes < 1206980365 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, one thing, I got no clue how cfunge would work out under DOS, in fact I suspect it won't work on windows even. it depends on recent POSIX in many case, as in POSIX 2001 < 1206980367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and publish a tarball < 1206980395 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :everyone here hsould publish some unreleased bit of code < 1206980398 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't support all features on all platforms < 1206980405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah good for you < 1206980408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: I did already, or did you want something else? < 1206980417 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I missed it < 1206980423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I only test cfunge on gentoo linux and freebsd, because that is all I got < 1206980430 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :x86 and x86_64 < 1206980436 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no clue about how it works on other stuff < 1206980446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I hope it works as I use size_t and so on where it should be used < 1206980449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: ais523 posted continuations in intercal < 1206980452 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, C-INTERCAL < 1206980455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since he added an extension mechanism < 1206980462 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://filebin.ca/xwthjm/continuation.i < 1206980495 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :CLC-INTERCAL has a CREATE statement too, which is actually used to implement the entire compiler < 1206980505 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the statement you're creating is written in bytecode not INTERCAL < 1206980515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, another thing: you will need to have a different fingerprint if you do stuff like pre-loading custom fingerprint < 1206980527 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1206980532 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :different handprint < 1206980534 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :different handprint, you mean < 1206980537 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1206980539 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1206980547 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would be < 1206980553 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also, a custom fingerprint can be overridden, so I guess things may break? also easy to unload a fingerprint < 1206980557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just unload NULL < 1206980558 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hahahah, i love smalltalk < 1206980567 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i just started up yesterday's image i was developing a seaside wiki < 1206980569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that will unload the top item from every opcode stack < 1206980572 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and i loaded my browser from history < 1206980576 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and the session is EXACTLY as i left it < 1206980590 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :smalltalk is infectious, it magically makes everything running on it suspendable & resuable < 1206980591 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1206980592 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*resumably < 1206980606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, maybe you want to provide some hard coded specific ones in the range ASCII 127-255, unlike fingerprints < 1206980617 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :depends on what you need/want < 1206980617 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that could be an idea < 1206980626 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... ABSTAIN and ONCE could be quite useful in Befunge < 1206980644 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :COME FROM/NEXT FROM/labels would have to read data from the playfield somehow, though < 1206980657 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, "However, a Funge-98 interpreter may also expose any number of proprietary instructions above ASCII 127 or below ASCII 0." < 1206980664 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that you could exploit < 1206980679 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL uses various characters above 127 anyway < 1206980682 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least in some character sets < 1206980691 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm? < 1206980707 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"Funge-98 source files are made up of Funge characters. The Funge-98 character set overlays the ASCII subset used by Befunge-93 and may have characters greater than 127 present in it (and greater than 255 on systems where characters are stored in multiple bytes; but no greater than 2,147,483,647.) The Funge character set is 'display-independent.' That is to say, character #417 may look like a squiggle < 1206980708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : on system Foo and a happy face on system Bar, but the meaning is always the same to Funge, 'character #417', regardless of what it looks like." < 1206980712 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"In other words, what Funge characters look like on a particular computer or OS depends entirely on that computer or OS." < 1206980714 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :with Princeton syntax, then you either need Latin-1, Unicode, or the ability to overpunch < 1206980730 0 :shinkuzin_!n=r0x@189.13.95.51 JOIN :#esoteric < 1206980738 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: maybe I should add punctuation there: "cFP outputs - never mind, P reflects" i.e. P didn't output anything, reflected instead < 1206980741 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(backspace is part of the character set in INTERCAL, and used as a compose character) < 1206980746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yeah < 1206980763 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but then, you have the source for your interpreter so you know that it reflects and doesn't output anything < 1206980774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, um you know, I will watch your stuff with interest, because I think it is crazy < 1206980777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1206980796 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: craziness is what it's all about with INTERCAL < 1206980805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or to be precise being unlike any other language < 1206980806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, indeed, but was confusing me, as in "oh no, yet another cryptic error" < 1206980815 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it manages to subtly parody most languages you're likely to have heard of < 1206980819 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as I started implementing A < 1206980842 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I generally do the instructions from A-Z heh < 1206980857 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, even on befunge? < 1206980872 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't have much in common with Befunge yet < 1206980875 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also I don't see how the the interface would work < 1206980878 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although the threading model is similar < 1206980887 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: are you aware of the concept of a COME FROM? < 1206980911 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's the main INTERCAL control flow statement < 1206980915 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I know it exists, and what it does, but well I do not wish to be affiliated with it ;P < 1206980930 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, my idea was that you could drop them into your Befunge code < 1206980946 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :wow.. I can't read intercal at all though < 1206980951 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, in cfunge there are NO goto, except in library code, ie code I took from gnulib (like GNU's getline() < 1206980963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, maybe hash library got some goto, not sure < 1206980970 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: barely anyone can < 1206980973 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but no code I wrote has any goto < 1206980991 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, you use function calls, don't you? < 1206980995 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's NEXT in INTERCAL < 1206980999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think ais523 and the CLC-INTERCAL maintainer are the only people who can program INTERCAL proficiently < 1206981005 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: wrong < 1206981006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well functions I use. but I try to mark stuff as inline ;) < 1206981008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe a few others < 1206981015 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe about 10 by my count < 1206981022 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :remember that oerjan wrote an Unlambda interp in it < 1206981039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: OK, but I assume it took him ages and a lot of pain < 1206981046 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I mean, you wrote that continuation library in a day < 1206981056 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it wasn't very difficult < 1206981062 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :most of the groundwork was there already < 1206981068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but still I would like to know more about how the befunge <-> intercal interface would work < 1206981078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :something like evalasbefuge(some code)? < 1206981080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or what? < 1206981083 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK, lets use printable characters for now < 1206981090 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you write an INTERCAL program, and a Befunge program < 1206981097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1206981109 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the compiler creates a combined executable using the compiled INTERCAL, and Befunge with a bundled interp < 1206981124 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm ok, cfunge is in no way small though < 1206981128 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then the IP can move from the INTERCAL code to the Befunge code and back using several techniques < 1206981157 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you put markers in the code, like COME FROMs, which enable programs to steal control from each other or to give control to each other < 1206981157 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :71K for a dynamically linked binary at -O3, stripped < 1206981166 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's not too bad < 1206981188 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I'd abstract the Befunge interp into the runtime libraries to avoid bloating things, probably < 1206981195 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also likely to grow, as I add more fingerprints < 1206981201 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :however, the runtime's statically-linked at the moment < 1206981209 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I don't care too much about output file size < 1206981220 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL's pretty resource-hungry as it is < 1206981233 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, the binary in question is one without boehm-gc so just libm.so.6 and libc.so.6 < 1206981234 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although with many of the advanced features turned off C-INTERCAL can be quite lean too < 1206981305 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not sure about heap size, but I normally slightly favour speed rather than memory usage when I have to choose < 1206981374 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C-INTERCAL has the -F optimisation, which analyses your program to see if it's deterministic and terminating (the termination check's achieved by running it for 4 billion threading ticks to see if it's ended), and if it is just records the output it produces and gives you a shell script as the 'executable' < 1206981382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was added for a joke, of course < 1206981397 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1206981404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that ignores file IO? < 1206981414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or any input in fact < 1206981414 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there is no file IO in INTERCAL core < 1206981426 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and input's detected as marking the program as nondeterministic < 1206981453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's probably a hole in it somewhere, thoguh < 1206981511 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, according to massif the heap profiler, part of valgrind, the binary I mentioned above uses 8 MB memory at most when running mycology < 1206981517 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :note that cell size was 32-bit in it < 1206981521 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you should optimize all constant bits < 1206981521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries with -DUSE64 < 1206981528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try to analyze which bits don't utilize non-deterministic things < 1206981531 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and printf-them < 1206981535 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: constants are a moving target in INTERCAL < 1206981543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah, but you could do some kind of static analysis < 1206981545 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can even assign to them if you have the right compiler options set < 1206981554 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I do do some static analysis < 1206981572 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mostly to see when multiple commands can be strung together in a row without needing full guarding < 1206981586 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but checking to see if code always does the same thing is really hard < 1206981597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: run it a few times < 1206981597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1206981601 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :that dd/sh stuff is so cool < 1206981607 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.google.com/search?hl=en&client=firefox-a&rls=com.ubuntu%3Aen-GB%3Aofficial&hs=Hog&q=%22HTTP+considered+harmful%22&btnG=Search <-- this should have more results < 1206981611 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: yep < 1206981628 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, now this is odd, with 64-bit cells it uses 8.474 MB, so most data isn't cell data? then wtf is it < 1206981635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: most INTERCAL code is /designed/ to have exceptional cases < 1206981644 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: pointers? Malloc minimum block sizes? < 1206981655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: use a fuzzing program < 1206981667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(generates craploads of random data, shoves it at the app at high speeds) < 1206981669 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm, pointers maybe yes, the funge-space code is kind of messy in that aspect < 1206981691 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Fuzz_testing < 1206981695 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :valgrind doesn't want to work on -m32 binaries however, so don't know < 1206981733 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you just know that people will use obscure features like symlinked variables in order to confuse the fuzz tester < 1206981736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, < 1206981738 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Your search - "gopher considered harmful" - did not match any documents. < 1206981739 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206981746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :therefore gopher is better than http < 1206981748 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206981751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :logic is great < 1206981772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: isn't that a good thing? < 1206981779 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a program that behaves differently on -FF < 1206981796 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ehird: you just know that people will use obscure features like symlinked variables in order to confuse the fuzz tester < 1206981799 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I tend to consider optimisation changing the behaviour of a program to be a bug < 1206981801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf is a symlinked variable? < 1206981811 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's normally called operand overloading < 1206981817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh C++? < 1206981824 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's operator overloading < 1206981832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206981839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is operand overloading then? < 1206981846 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Operand overloading: if I do .1/.2 then all references to .1 from then on actually refer to .2 < 1206981867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: if the magic text is in the program output -F already breaks < 1206981877 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, eww < 1206981878 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so in the continuation code, for instance, if I assign to or read :1601 I'm actually assigning to or reading the first arg of the CREATE statement < 1206981879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sketch for an intercal program: < 1206981882 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what languages got that? < 1206981886 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no it doesn't, I grep for the magic text < 1206981890 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: just INTERCAL < 1206981891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :output the magic text, output 'echo "Hello, world!"' < 1206981894 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1206981898 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although unification in Prolog is vaguely similar < 1206981898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-F and no -F are different < 1206981901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one is: < 1206981907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :echo "Hello, world!" < 1206981908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one is: < 1206981916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hello, world! > < 1206981928 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I just use the non--F executable if I spot the magic word in the output < 1206981937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1206981939 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :magic? < 1206981946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: end of a shell heredoc < 1206981947 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it generates: < 1206981950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cat <<-F*ICK* < 1206981951 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1206981953 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :xxyz? (wild guess) < 1206981954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :F*ICK* < 1206981955 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or similar < 1206981961 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ah < 1206981963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that < 1206981980 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: 'twould be xyzzy, but actually I use ickTERM with some weird capitalisation mix followed by a long string of punctuation < 1206981991 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1206981996 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, why heredoc at all? < 1206982000 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on the basis that anyone who actually generates output to produce that likely deserves what they get < 1206982004 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: twisted optimisation technique < 1206982007 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, heredoc actually create a temp file < 1206982010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in bash < 1206982015 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: bash sucks, suprise < 1206982015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when it reads the heredoc < 1206982018 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :zsh &co don't do that < 1206982019 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they are Sane < 1206982044 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: DOS implements pipes using tempfiles between the commands < 1206982052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1206982063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so trying to cut off a pipe from an infinite loop using head actually causes your computer's disk to fill up < 1206982074 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I can tell you right away that there is *no way* you would get cfunge to run on DOS < 1206982092 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: oh dear, you might cause me to take that as a challenge < 1206982110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, of course if you rewrite large parts it may work < 1206982134 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: even Emacs runs on DOS nowadays, and it's terribly bloated < 1206982138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but nothing will stop my code from depending on POSIX when I feel that I have a reason to < 1206982143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, :( < 1206982146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: POSIX dependencies are fine < 1206982166 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DJGPP implements all of the POSIX functions, by returning plausible output, or when that's impossible, plausible error codes < 1206982184 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so fork is basically implemented as pid_t fork(void) {errno=ENOMEM; return -errno;} < 1206982232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :languages are so broken < 1206982234 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they have no call/cc < 1206982243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I may decide to depend on a working fork if you try to make it run on dos ;) < 1206982254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what languages? < 1206982265 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: then I'd link it up to a custom version of the INTERCAL threader just to annoy you < 1206982269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, can DJGPP do pthreads? < 1206982273 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no idea < 1206982290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, because one thing I pondered is a fingerprint for "true" concurrency < 1206982296 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in really using threads < 1206982299 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just a wild idea < 1206982304 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :along with the ipv6 sockets one < 1206982312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there is a fingerprint for ipv6 sockets < 1206982318 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: then you'd lose the thread speed guarantees < 1206982318 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SOCK and/or SCKE < 1206982325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yeah < 1206982340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my C-INTERCAL continuation program depends on them < 1206982342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but a fingerprint for such threads, if anyone wants < 1206982350 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :would have compare and exchange and so on of course < 1206982424 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: INTERCAL has ONCE and AGAIN, which are some of the most flexibile thread-sync mechanisms I've seen yet < 1206982443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how do they work? < 1206982447 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :with computed ABSTAIN, ONCE and AGAIN, there are several mutexes, spinlocks, and semaphores in the INTERCAL continuation program < 1206982470 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: DO COMMAND ONCE changes into DON'T COMMAND AGAIN when executed, atomically with its execution < 1206982475 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so only one thread is allowed through it < 1206982484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and REINSTATE changes it back to the original form < 1206982493 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes right, but that would not allow multi cpu < 1206982514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the semantics work fine with multi CPU, just that implementing it might be a bit tricky < 1206982517 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is the reason I'm interested in a fingerprint for "real" threads < 1206982577 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :basically: since everyone is going multicore today, befunge's t is no longer effective, therefore I add this fingerprint to make befunge attractive to the enterprise market ;) < 1206982579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or something like that < 1206982659 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: tons of languages < 1206982665 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that sounds just like the sort of justification people use for INTERCAL features < 1206982666 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206982671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed heh < 1206982679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, take a look at the TOYS fingerprint < 1206982685 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you will feel at home < 1206982689 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I have done < 1206982728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my firefox is borken < 1206982736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, some of those I can see the cause of the names for, but well, M - kittycat I just don't get < 1206982737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sometimes when loading a page it finishes loading but does not render the new page < 1206982739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and stays at the old one < 1206982742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but e.g. can't select text < 1206982743 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, try konqueror < 1206982744 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and links don't work < 1206982749 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :even though the text cursor appears < 1206982756 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: unacceptable, it doesn't work with anything < 1206982758 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a cat's ears < 1206982772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206982782 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :konqueror's really good on some sites, but it screws up on anagolf for some reason < 1206982784 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well the middle of my M doesn't touch the base of the line < 1206982791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: its cats ears + top of head < 1206982793 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's fine on first viewing, but deteriorates on refreshes < 1206982797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :besides < 1206982803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also: S - chicane U - tumbler < 1206982807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe princeton's M looked ok < 1206982811 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't even know what a "chicane" is < 1206982812 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :their U was probably more spiky < 1206982820 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: a bend in a road shaped like the letter S < 1206982824 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1206982829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and what is a tumbler? < 1206982833 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so, a chicane is a bend in a road shaped like a chicane < 1206982834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"V - dixiecup" yet another odd one < 1206982839 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a glass you drink water out of < 1206982843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah I see < 1206982843 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't get the V, though < 1206982850 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the character's called 'book' in INTERCAL < 1206982896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: look at it on the side < 1206982901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a slightly-open book < 1206982902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like < 1206982905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :put a book down < 1206982908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it won't fully close < 1206982923 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I understand why 'book', just not why 'dixiecup' < 1206982924 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thingy. < 1206982931 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1206982941 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.ideafinder.com/history/inventions/dixiecup.htm < 1206982941 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :? < 1206982952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :made to look like a flimsy plastic cup < 1206982953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i guess < 1206983179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://acarol.woz.org/ When will C-INTERCAL work on this? < 1206983201 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and are mirrors for C/CLC-INTERCAL appreciated? < 1206983207 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i have a whole VPS server < 1206983208 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :being useless < 1206983252 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: about that link: when it becomes Turing-complete, I'll be on the task < 1206983268 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Who needs TC? < 1206983285 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes for C-INTERCAL, although it's the CLC-INTERCAL maintainer who hosts both compilers and mirrors them too, you might want to ask them < 1206983328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Oh, and if you eve do need hosting for a darcs repository or similar, the same server will still be sitting around doing nothing < 1206983346 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(I consider eso-std.org and elliotthird.org close to 'nothing' as they will haev basially no overhead :p) < 1206983368 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's probably also worth pointing out that your mirroring capabilities will be nowhere near Debian's < 1206983368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hmm. parser.y looks like Perl. < 1206983384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Perhaps, but my updating capabilities will far exceed it. < 1206983396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Also, when e.g. patches are released I'd probably make a pre-patched version for convenience < 1206983429 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's Bison < 1206983435 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also meant to be yacc-compatible < 1206983444 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's probably all the % signs that are throwing you < 1206983453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Debian do that too < 1206983463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, the indentation style and the $x stuff < 1206983469 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but do they update regularly :) < 1206983477 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes < 1206983479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Besides, debian do stuff to their packages. < 1206983481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :within days, often < 1206983488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I just mirror stuff. < 1206983496 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the Debian repos host the original, and a patch to Debianise it < 1206983501 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can download either separately < 1206983504 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Days, bah. I offer 3 days max wait ;) < 1206983519 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: then they'd have been faster than you in some cases < 1206983530 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ubuntu, on the other hand, never even replied to my emails < 1206983559 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Normally it'd take me a day or less. < 1206983572 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Since I'd see it the day or the next day, and upgrade it. < 1206983582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :By the way, patch(1) doesn't like your patch < 1206983619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, tried different -p? < 1206983644 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=459577 (look at the email timestamps) < 1206983647 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-p0, -p1 and so on < 1206983656 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: check the newlines < 1206983672 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DOS newlines crept into 0.27 in idiotism.oil by mistake < 1206983679 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the patch has Unix newlines < 1206983683 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and that's enough to confuse patch < 1206983709 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's what the email exchange I linked was about, actually < 1206983752 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :patching file src/idiotism.oil < 1206983753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hunk #1 FAILED at 207. < 1206983753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hunk #2 FAILED at 480. < 1206983753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 out of 2 hunks FAILED -- saving rejects to file src/idiotism.oil.rej < 1206983757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so yeah < 1206983782 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: OTOH, unlike the Debian maintainer, you wouldn't be too scared to merge the patch by hand, right? < 1206983842 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Most certainly not < 1206983843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206983879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Gosh, patch is such an arcane format < 1206983879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1206983909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Just replace all the DOS with UNIX, right? < 1206983939 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, that's how I fixed it < 1206983940 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :tofrodos will be quicker then < 1206983948 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, that's the reason that the patch is confused like that < 1206983973 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :one of the first things I did when I started work on 0.28 was to notice that the newlines in idiotism.oil were wrong, and ran tofrodos on it... < 1206983985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'And for probably obvious reasons I don't want to hand-merge it.' --> 'I am a delicate soul and I never use a keyboard. I love my mouse. Please don't make me do scary things.' < 1206983989 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :harsh? maybe ;) < 1206984003 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: to be honest, I'm not sure if anyone in the world but me knows OIL < 1206984009 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't even qualify as a proper esolang < 1206984019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I suspect it's TC for the same reasons that Thue is < 1206984055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :This implementation was created by Eric S. Raymond during a fit of lunacy from which he has since mostly recovered. < 1206984058 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(Joris Huizer, who has contributed so many patches to C-INTERCAL recently that there's a Joris-specific changelog section, sent a few OIL corrections in, but confessed to not really understanding the syntax) < 1206984064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :first comes denial.. < 1206984133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: eek, no manpage < 1206984134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206984138 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: there is a man page < 1206984140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :doc/ick.1 < 1206984158 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also an info page doc/ick.info (requires compilation, source in doc/ick.txi) < 1206984165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'-b option that disables the INTERCAL-72 random-bug feature' <-- commonly used, I assume < 1206984175 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you'd be surprised how often I forget < 1206984185 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but 90% of the time it doesn't matter < 1206984265 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, the next version is adding -w, -a, -e, and -E to that manpage < 1206984306 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :-a = enable CREATE, -e = enable external calls and expansion libraries, the other two aren't very interesting < 1206984361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: /* AIS: < 1206984363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that must get tedious < 1206984369 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not really < 1206984375 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it helps when grepping < 1206984378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :replacing everyone else's comments with something similar would be simpler :P < 1206984401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the unattributed bits belong to the top-of-file copyright holder in most cases < 1206984411 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you'll see other people's initials scattered around too, just not as much as mine < 1206984414 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm. < 1206984415 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$ ick; echo $? < 1206984416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1206984425 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's correct < 1206984426 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :best true(1) ever < 1206984431 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you told it to do nothing, and it did < 1206984477 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: does it ever exit(1)? < 1206984481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just seems to do 1241 and similar < 1206984512 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I don't know of a way to get an exit code of precisely 1 < 1206984512 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are a lot of other nonzero exit codes available, though < 1206984524 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :try compiling an invalid INTERCAL program (DO(1)NEXT will do), and look at the exit code then < 1206984553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$ echo 'DO(1)NEXT' |ick ; echo $? < 1206984553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bash: echo: write error: Broken pipe < 1206984563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :need to pipe to a file < 1206984563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206984566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ick doesn't accept files on stdin < 1206984581 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :invalid: 230 < 1206984581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :however, I have a symlink tty.i to /dev/tty in my INTERCAL programs directory < 1206984606 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: C-INTERCAL sends back the error number as the exit code < 1206984613 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the OS will normally modulo-256 it < 1206984650 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so I get 129 on that program, for instance < 1206984654 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no output file option? :( < 1206984663 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: at present, no < 1206984671 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because none of the options take arguments < 1206984677 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you have -o to pipe the output C to stdout, though < 1206984684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :34 < 1206984684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ICL579I WHAT BASE AND/OR LANGUAGE INCLUDES 34? < 1206984685 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you can redirect it elsewhere from there < 1206984691 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i know that shouldn't work < 1206984694 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's not how you input numbers in INTERCAL < 1206984694 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but the error is amusing < 1206984697 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :try THREE FOUR < 1206984698 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WHAT BASE INCLUDES 34?! < 1206984700 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, yes, i know < 1206984736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: any base-12 names? :P < 1206984758 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: input is in spelt-out decimal, in a variety of languages < 1206984767 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but programs internally can use any base from 2 to 7 < 1206984781 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :according to the file extension (.i, .3i, .4i, ..., .7i) < 1206985137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, i know < 1206985140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just an amusing error < 1206985185 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now... to use continuations.i to make a continuation-based web framework, plug it into fastcgi, and write the world's second web intercal program: a wiki for INTERCAL information < 1206985188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or am i just silly < 1206985199 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: entirely possible < 1206985211 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it'll take several days even for someone used to INTERCAL, at least < 1206985240 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, probably the best route is: < 1206985254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1. write a fastcgi/scgi thingy for intercal < 1206985272 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2. get continuations working OK with it, do sample HELLO WORLD app < 1206985284 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :3. translate some of the stuff here http://www.double.co.nz/scheme/modal-web-server.html (just the ideas, not the actual functions, of course) < 1206985294 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :4. write basic things like the 'counter with ++ and -- buttons' < 1206985301 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's probably worth pointing out that that continuation library slows down the program by a factor of n+2 if you've created n continuations < 1206985302 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :5. build it up to a 'you can change this page' thing < 1206985305 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then add a formatter < 1206985311 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then add multiple pages < 1206985314 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then add revisions < 1206985317 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and voila < 1206985317 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so unless you find some way to reuse them, the whole thing will ground to a halt < 1206985317 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1206985325 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you delete continuations? < 1206985338 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: at the moment, no < 1206985342 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the standard practice for continuation web servers is that after a while you expire old continuatins < 1206985345 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, unless you hook into the internals < 1206985349 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for the purposes of this they'll not be used often < 1206985355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it shouldn't be ridiculously hard to do, though < 1206985358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so i guess once every hour purging them would work < 1206985395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1206985396 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: INTERCAL doesn't have a current-time function, but I suppose you could deduce it from incoming HTTP headers if they happened to contain something time-related < 1206985399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you are insane < 1206985413 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: one http request = one tick < 1206985420 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well if it doesn't have current time, befunge does < 1206985421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1206985428 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :every N ticks, expire continuations not used for M ticks (where M>N) < 1206985446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, there is even a "high resolution timer" fingerprint < 1206985451 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: unfortunately, the threader and external calls system conflict with each other < 1206985456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: since it'll mostly be in a nop busyloop when not handling requests < 1206985459 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, eh? < 1206985460 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you couldn't have continuations And befunge < 1206985460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :obviously i won't try and thread it < 1206985463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it'll handle one request at a time < 1206985466 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh you mean non-reentrant? < 1206985468 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they both do entirely different unusual stack things < 1206985480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and are both heavily setjmpy, but in different ways < 1206985480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1206985489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1206985503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: CONT fingerprint for cfunge please < 1206985513 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: :D < 1206985515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, not sure how it would work < 1206985522 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... maybe you could do something using TRDS < 1206985530 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I will NOT implement TRDS < 1206985532 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's pretty continuation-like < 1206985533 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I just won't < 1206985534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you know what continuations are right? < 1206985547 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I think I know, if they are what I think < 1206985552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, anonymous method < 1206985558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that can be passed around < 1206985559 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, that's a lambda < 1206985564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1206985577 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lambda = anonymous method that can be passed around, and can be filled out at runtime < 1206985587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :he's thinking of closures < 1206985588 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :continuation = snapshot of the state of the program that can be restored at a later time < 1206985592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ah yes < 1206985594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ah < 1206985596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that's the one < 1206985599 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'll explain continuations to AnMaster trivially < 1206985604 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well then I don't know what a continuation is no < 1206985610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you know the call stack? it includes the return addresses, local variables, etc < 1206985616 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aye yes < 1206985623 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, a continuation is a copy of that call stack < 1206985624 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but not the heap < 1206985630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then you can resume the continuatoin < 1206985630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :call and ret in asm iirc < 1206985637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it replaces the stack with theo ne in the continuation < 1206985659 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so you are trying to sneak in that back tracking stuff that's soooo slow? < 1206985660 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: basically, you need these: < 1206985663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and no < 1206985667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :continuations are useful besides < 1206985669 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206985670 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e.g. seaside web framework < 1206985671 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :uses them < 1206985679 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ofc the Copy Whole Stack method is inefficient < 1206985681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but easy to implement < 1206985684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so a saved state? < 1206985684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1206985690 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: kind of, but the heap stays the same < 1206985691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: use Underlambda, then you can store continuations in the URL < 1206985692 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of the call stack but nothing else? < 1206985696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or the normal stack too? < 1206985704 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's true.. but then you can hijack the app < 1206985706 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: in the case of Befunge, both < 1206985712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: for befunge you will wont both, i guess < 1206985714 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well there is no call stack < 1206985715 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :really < 1206985719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: your C call stack < 1206985722 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :copy the c call stack < 1206985723 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah yes < 1206985731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes you have to do some weird memcpy stuff < 1206985733 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, how on earth would I access the C call stack? < 1206985733 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :involving things like < 1206985736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :int xyzzy; < 1206985739 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I got no idea where it is < 1206985741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :int *stack = &xyzzy-1; < 1206985743 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :stuff like that < 1206985746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1206985751 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's nonportable < 1206985753 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that sounds non-portable < 1206985757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's kind of nonportable < 1206985758 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you can get round that by implementing your own stack < 1206985762 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but you can get it working semi-reasonably < 1206985765 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that would be tricky in this case < 1206985771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1206985774 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: or use CPS < 1206985779 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: unworkable in C < 1206985780 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it has no closures < 1206985783 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to drop local vars < 1206985787 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ehird: I'm not going to do that you know < 1206985787 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and pass around structures < 1206985795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: fine, implement your own call stack < 1206985798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but here's what you need: < 1206985808 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you could use STASHes rather than local vars, so it isn't completely ridiculous < 1206985816 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it is still somewhat ridiculous < 1206985838 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'm not going to do any setjmp or similar either < 1206985847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :C -- Makes a continuation whose return point is here. If we've just created the continuation, push 0 on to the stack. Otherwise, push the value we got and then 1 on to the stack. < 1206985848 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I prefer clean code < 1206985854 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when doing C < 1206985862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :R -- Takes a continuation and a value off the stack, and returns to the continuation passing the value. < 1206985865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there < 1206985866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's it < 1206985869 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's the CONT fingerprint < 1206985887 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, sounds like a feral fingerprint? < 1206985895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but note... < 1206985898 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: tame continuations would be a contradiction < 1206985899 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :continuations must be reusable < 1206985904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1206985906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if i store a continuation somewhere < 1206985909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then i can use R as many times as i awnt < 1206985911 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*want < 1206985927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and that is where I say no. I have decided to not implement MODE because it isn't tame < 1206985929 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you can make reusable continuations out of non-reusable continuations < 1206985938 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: kind of < 1206985941 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not always though < 1206985947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's what I did in the INTERCAL continuation library < 1206985950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you are so uptight regarding esolangs < 1206985958 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well I may do MODE < 1206985966 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whenever a continuation is spent, I generate another identical one with the same number < 1206985968 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not TRDS and CONT, sure if someone makes a patch < 1206985969 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm not implementing this feature because i value MAINTAINABILITY and READABILITY and PORTABILITY < 1206985977 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :even though it's BEFUNGE < 1206985988 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyway, http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons < 1206985992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :explains it simpl;y < 1206985998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, right, befunge is turing complete, you can simulate the continuations in it! < 1206986064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Befunge-98, you mean < 1206986070 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, right indeed < 1206986093 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, though, Befunge-93 with BIGNUM would be turning complete too I think? < 1206986101 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1206986111 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :uhm, you couldn't simulate continuations reasonably < 1206986114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :without fisrt-class functions < 1206986116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could simulate a Minsky machine using the playfield or the swap instruction < 1206986119 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its totally useless < 1206986124 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it wouldn't be very befunge-like, though < 1206986127 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you could simulate first-class functions < 1206986139 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the point is it's nigh-on impossible < 1206986140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: INTERCAL doesn't have first-class functions, yet I programmed continuations in it < 1206986147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unless you make a compiler do it = more work than implementing CONT < 1206986151 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: intercal != befunge < 1206986196 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant said he wouldn't have done TRDS if he knew how messy it was iirc < 1206986227 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what I *may* do is add a full blown libffi < 1206986227 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's pretty like continuations, though < 1206986239 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then you can do whatever you want basically < 1206986246 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :assuming non-sandbox mode < 1206986270 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1206986273 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a new funge98 impl < 1206986277 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, hm? < 1206986278 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in the infocom Zmachine no less < 1206986279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://mbays.freeshell.org/zedfunge.html < 1206986331 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, I probably would have anyway, and then said that anyway ;-) < 1206986358 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: you've worked with TRDS, how continuation-like is it? < 1206986361 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm? < 1206986381 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: continuation-like? what exactly do you mean? < 1206986392 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: we were discussing continuations in Befunge < 1206986400 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was wondering whether TRDS already provided a way to do that < 1206986406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because it acts in a similar manner < 1206986407 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can't < 1206986408 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I mean, I'm stubborn enough to have probably done it anyway :-P < 1206986409 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it isn't reusable < 1206986414 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you cannot send values back < 1206986417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it does IO < 1206986419 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and changes the heap < 1206986426 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :IO and heap must never be modified for continuations < 1206986434 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: so not continuation-like enough < 1206986434 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it makes them useles < 1206986435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1206986436 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't do IO, necessarily < 1206986441 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or what did you mean by that < 1206986453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: ehird means that continuations don't reset the input stream < 1206986456 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but TRDS does < 1206986457 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or are you talking about something else < 1206986471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: it rewinds stdout < 1206986478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& stidn < 1206986481 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :you mean, if there's a getchar() or putchar() somewhere < 1206986484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :then TRDS would rerun it? < 1206986487 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :if so, that's false < 1206986489 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :because it doesn't < 1206986503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1206986506 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it would remove it from the screen < 1206986513 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also < 1206986515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it SHOULD rerun it < 1206986516 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :hm? that's impossible :-P < 1206986517 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if it was a continuation < 1206986537 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :in all honesty the IO semantics of TRDS are 100% unspecified < 1206986542 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1206986546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: put your files in a top-level directory when you make tarballs fck sake < 1206986548 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the original implementation doesn't do getchar() and putchar() < 1206986554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, hm? < 1206986554 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :when time traveling < 1206986557 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you just defecated on my ~/ < 1206986558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what do you mean? < 1206986558 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but it would do file input and output < 1206986565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I do use a subdir < 1206986567 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1206986577 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless tar is doing something messy? < 1206986578 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://en.wikipedia.org/wiki/Tarball#Tarbombs < 1206986591 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ccbi does that to me when I try to unpack it < 1206986597 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe you've got the wrong interp < 1206986600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't tar bomb < 1206986608 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or maybe there's a worldwide tar conspiracy against Befunge < 1206986614 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :CCBI is in a zip file, and a subdir of its own O_o < 1206986632 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/fTreKx91.html < 1206986638 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, wtf are you talking about? < 1206986639 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I thought it would be < 1206986651 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe there's something wrong with the way tar handles 7zip, or something < 1206986654 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is always subdir of it's own < 1206986663 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: possibly < 1206986691 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what exact tar ball is it you have an issue with? < 1206986695 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :link please < 1206986715 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1206986723 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, waiting < 1206986734 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because I can't see any tar file I made got that problem < 1206986814 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was my mistake < 1206986815 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1206986818 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1206986823 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so what did you do? < 1206986832 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :long story < 1206986832 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206986838 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I would like to know < 1206986873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, I have an entire section about extracting tarballs in the C-INTERCAL docs on the basis that some Windows users might not understand it, so I'd like to know too < 1206987001 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i had some directories called things like 'src' in ~/ < 1206987056 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has an idea for a really mean way to confuse a user: create a symlink from every possible valid filename to the user's home directory into the user's home directory itself < 1206987074 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, that would use excessive disk space unless your filesystem optimised it < 1206987087 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: most filesystems can handle infinite length filenames nowadays < 1206987102 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, you could invent one that couldn't < 1206987110 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :limit it to 8.3, for instance < 1206987118 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yet still have it capable of optimising vast symlink farms < 1206987169 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hmm < 1206987173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Could you do continuations in sh? < 1206987189 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's a bit hard to get at internal state < 1206987203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you'd probably have to implement your own stack system, etc < 1206987205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'm sure you could do SOMETHING though.. < 1206987209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like.. use && < 1206987211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo && bar && xyz < 1206987216 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and use exit codes and stuff < 1206987217 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1206987228 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: oh, sh's Turing-complete, so it's possible somehow, the interesting question is how easy it is < 1206987262 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, i had some directories called things like 'src' in ~/ <-- yes and? < 1206987268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how did it happen < 1206987273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I would like to know < 1206987281 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I got ~/src too < 1206987292 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :~/src/cfunge/trunk is where I keep cfunge < 1206987302 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i create directories all the time < 1206987308 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes and? < 1206987315 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so i thought your tarball did it < 1206987322 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but i did < 1206987329 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see, you didn't look for a "cfunge" there? < 1206987334 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i did < 1206987337 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a long story < 1206987339 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1206987362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you cast printf calls to void < 1206987362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1206987379 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: for linting < 1206987396 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, the version of lint I used doesn't care, but some older ones that other people delinted with do < 1206987405 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after all, it has a return value... < 1206987427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i think i want to die < 1206987432 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1206987435 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd do #define Printf(x) (void)printf(x) if I were you... < 1206987448 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: lint can be useful, but can also be annoying < 1206987450 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or, if you prefer, the variadic function version and call vprintf < 1206987459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#define LintSucksSoGodDamnMuch (void)printf < 1206987461 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but being far too false-positivy is useful < 1206987468 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but yes, further, I'd just shut lint up :-P < 1206987478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#define LintSucksSoGodDamnMuch (void) < 1206987485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :LintSucksSoGodDamnMuch printf("really\n"); < 1206987490 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least there are lots of comments now where I explain things to humans that Splint flagged up as being suspicious < 1206987504 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and added in a /*@-something@*/ comment to let Splint know I really meant it < 1206987566 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is your template engine custom? < 1206987582 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what do you mean by 'template engine' in this context? < 1206987596 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the template < 1206987603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :c fiel thingy < 1206987605 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the $ instructions < 1206987611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ehird: for linting < 1206987617 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah that is why I don't use splint < 1206987627 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: which file? < 1206987628 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's a good idea but not properly implemented < 1206987632 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the template c file < 1206987634 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for the output < 1206987638 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's custom < 1206987647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the substitutions are done in a massive switch near the bottom of perpet.c < 1206987652 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1206987655 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just before the bit that calls system() a lot < 1206987679 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not mine, though, it was there when I started working on the compiler < 1206987719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/p.rb?nop Seperates the usable languages from the toy ones < 1206987720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1206987750 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: more to the point, separates the compilers from the interpreters < 1206987771 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because a compiler erroring out is generally 'failed' on anagolf, but an interp erroring out is generally 'success' if the right output's on stdout < 1206987774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ohoooo < 1206987775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/reveal.rb?nop/irori/1204644403&hs < 1206987776 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cleverrr < 1206987783 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hardly < 1206987791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it seperates the things taht require verbosity and those that don't < 1206987792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206987796 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I contributed ; as a program to every single language, and it 'worked' on most of them < 1206987801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : http://golf.shinh.org/reveal.rb?nop/irori/1204644403&hs < 1206987806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that site is just odd? < 1206987808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e.g. Ada and Erlang fails < 1206987810 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lots of errors? < 1206987815 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or maybe I should blame firefox? < 1206987819 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what does @ do in Python again? < 1206987821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: blame firefox < 1206987824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's haskell < 1206987833 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in a pattern match, < 1206987835 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I said the wrong language for some reason < 1206987843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :X@Y means that 'match X like normal, but bind Y to the whole thing' < 1206987847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(x:xs)@xss < 1206987849 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was busy reading Perl documentation at the time, and got confused < 1206987849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :xss is (x:xs) < 1206987861 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haskell lets you do patterns on the LHS apparently < 1206987862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so main@a=a < 1206987863 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is main = main < 1206987866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so an infinite loop < 1206987872 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that, obviously, outputs fine < 1206987889 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :main=main errors out in ghc, at least, because it detects the loop < 1206987895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: in ghci < 1206987896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not ghc < 1206987905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in fact < 1206987906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not even ghci < 1206987907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :jus tlambdabot < 1206987907 0 :cherez!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1206987945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$ echo 'main=main'>foo.hs&&ghc foo.hs -o loop&&rm foo.hs&&./loop < 1206987949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :though it might pick up on it eventually < 1206987954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but anagolf only runs for ~2 seconds < 1206987997 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://golf.shinh.org/reveal.rb?nop/ais523/1204732604&m4 < 1206988000 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :did you not consider a newline? < 1206988001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you're right, but I'm sure I have a memory of the loop being detected somewhere < 1206988009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or perhaps a space < 1206988011 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you can view solutions there? where's the link to reveal.rb? < 1206988017 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I forgot about the trailing-whitespace thing < 1206988021 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it is if you run it for a while < 1206988029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: only on closed problems < 1206988029 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: on the contest page, after the deadline < 1206988034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the name becomes a link < 1206988035 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the solutions aren't shown before the deadline < 1206988042 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :some deadlines are infinite < 1206988047 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and since there's a random number at the end < 1206988051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it won't be trivial to guess < 1206988054 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1206988069 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: presumably the links wouldn't work even if you did guess them? < 1206988070 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and evidently there's no indication of the deadline in the main listing :-/ < 1206988110 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, contests that are before the deadline are listed at the top, but unless a contest ended recently there's no after-deadline vs. no-deadline notification < 1206988145 0 :shinkuzin_!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1206988196 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ew, topological sorting with regex < 1206988227 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I hacked up a solution in bash that used tsort, but it doesn't give the first answer in alphabetical order, so it was rejected < 1206988345 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: some Perl golfers will try to do anything with regex < 1206988346 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i am adding an odd challenge < 1206988353 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally because it often ends up shortest < 1206988354 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because only compiled languages will probably manage < 1206988359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :print 0 .. 99999 < 1206988364 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that normally takes a while < 1206988371 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the binary, alnum, symbol is mine, BTW < 1206988399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, with leading 0 or not? < 1206988404 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Print out a lot _56K BEWARE_ < 1206988408 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :56k beware, amusing < 1206988412 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: with leading 0 and 99999 < 1206988428 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/p.rb?Print+out+a+lot+_56K+BEWARE_ < 1206988432 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :may crash $BROWSER < 1206988449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :esp. don't try resizing < 1206988541 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Firefox managed fine for me < 1206988599 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1206988601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haskell times out < 1206988605 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :even the one i used to generate < 1206988625 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : print 0 .. 99999 < 1206988628 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mh < 1206988630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries < 1206988667 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: even C times out for me < 1206988671 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :does it? < 1206988676 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe a bad example < 1206988686 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1206988689 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I/O-bound would be my guess < 1206988698 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :leave it there and see if anyone finds a solution < 1206988717 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after all, I was using printf, which is slow < 1206988727 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.424s < 1206988729 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not too bad.. < 1206988753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: maybe storing as an array of chars would work better < 1206988754 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then just puts < 1206988785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1206988790 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what is the time limit? < 1206988796 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that would go over the input size limit < 1206988807 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m2.625s < 1206988809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :locally < 1206988814 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is what my code in bash takes < 1206988815 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless you compressed < 1206988820 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ^ < 1206988826 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so that server must suck < 1206988831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i meant < 1206988834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :operate on an array of chars < 1206988844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :char a[6]; < 1206988845 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: then you'd hit the memory limit < 1206988856 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what is the time limit < 1206988857 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you don't get it < 1206988858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1206988861 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because it fails at 2 seconds < 1206988862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :char a[6]="0"; < 1206988863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or so < 1206988866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ...? < 1206988866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then do arithmetic on that < 1206988869 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and just puts() when required < 1206988875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :jeez < 1206988943 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no? < 1206988953 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how long is timeout on that site? < 1206988957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: don't ask me!! < 1206988966 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :few seconds < 1206988995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, then it got a sucky CPU < 1206989016 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: like 1.5 seconds < 1206989021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1206989022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and its run under limits < 1206989022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1206989029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it cant use resourcse < 1206989038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its in the arbitary code execution business < 1206989042 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's not gonna let you do just anything < 1206989048 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1206989089 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1206989162 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: really interesting problem, though, I wonder if anyone will manage to produce that output by any means at all < 1206989168 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: does underlambda have continuations? < 1206989180 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if not, you should add 'em :) < 1206989186 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, i mean call/cc of course < 1206989203 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.335s < 1206989203 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :writing a client-side continuation wiki will be hilarious < 1206989205 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :locally < 1206989208 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you'll get hidden input form fields < 1206989212 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: fisrt-time always lasts more < 1206989212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yet it fails due to timeout on server < 1206989216 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :with loads of underload code in it < 1206989221 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ? < 1206989225 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: running a program the fisrt time always takes longer < 1206989236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it tool less than a second locally < 1206989244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yet that site fails due to timeout < 1206989251 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: running a program the fisrt time always takes longer < 1206989251 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: running a program the fisrt time always takes longer < 1206989253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :every time < 1206989257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I tried several times < 1206989258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so... < 1206989294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, IO on that site sucks, basically? < 1206989304 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably due to all the sandboxing < 1206989311 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, it redoes the program < 1206989315 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it overrides syscall IIRC < 1206989315 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try running a program just installed < 1206989321 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, main(_,a){system(gets(a));} < 1206989324 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :IO sucks, there's no transformer for it! < 1206989326 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206989326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why does that timeout for the system challenge? < 1206989331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it works on the second < 1206989334 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but none other < 1206989352 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: timeouts depend on how many entries there are < 1206989365 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/entries/examples/ < 1206989373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I don't think that's the problem here < 1206989377 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1206989380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i really want test scripts < 1206989384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'd write one in bash: < 1206989391 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :./prog; echo $? < 1206989398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and expect a number for the output < 1206989401 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :would be fun < 1206989501 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/p.rb?Encoder+decoder I love this encoding method < 1206989502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206989507 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its just so obvious < 1206989564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :,>,,,,,[-<->],[-]+[->,+]<[<]<[>>[.[-]>[>]<[.[-]]<[<]>]]>>[.>>]<<<[.<<] wow < 1206989582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but yeah, underlambda continuations? < 1206989595 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: C < 1206989607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so why does it fail so much at IO? < 1206989613 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you get the call stack and value stack in one listy thing < 1206989628 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that you can adapt to become a continuation with a few commands < 1206989644 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you define a command to make that convenient? < 1206989645 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I tried to make gcc compile a unrolled version to C, it did pretty well here, blazing fast 0.3 seconds, < 1206989653 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :c is going to be a synonym for traditional call/cc, but there are a lot of other sorts of continuation you can make < 1206989653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yet that server says timout < 1206989656 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :timeout* < 1206989666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you define commands, though? < 1206989670 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I get 0.01 seconds for a Perl program that goes up to 9999 < 1206989677 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but 29999 times out < 1206989683 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm not really sure, yet < 1206989692 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think so but I haven't worked out the details < 1206989694 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw, the magic line thinig -- i suggest seperating it from the specification < 1206989697 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206989698 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i suggest: < 1206989707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if the program starts with #!, interpreters must ignore everything up to the next newline < 1206989724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then the actual programming language is all platonic and pure and that's just a nice helper for scripts < 1206989733 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't specify interpreter executable name or anything < 1206989738 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the whole point of the magic line was actually to make it possible to write an Underlambda interp in m4 < 1206989763 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1206989773 0 :jix!n=jix@dyndsl-085-016-237-215.ewe-ip-backbone.de JOIN :#esoteric < 1206989774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, maybe just drop the magic line thing altogether then :-) < 1206989778 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's not as if 'underlambda file' is hard < 1206989783 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it would just make it 'cleaner' imo < 1206989791 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I like to have delimiters < 1206989824 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the | also gives you a way to do program/output separation for interps with one input stream < 1206989855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok, but the problem is that it's not quite the 'ultimate functional/stack/rewrite language' < 1206989858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because it has that kludge < 1206989871 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't strike me as being a kludge < 1206989884 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it's optional except for primitive interps anyway < 1206989910 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :# is an illegal char in Underlambda, so it's easy enough to tell whether it was given or not < 1206989914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's a kludge because it brings things like UNIX into the picture < 1206989923 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and assumes that interpreters are called 'underlambda' < 1206989929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and that /usr/bin/env does what you want < 1206989940 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, I don't care too much about the script thing < 1206989948 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#underlambda would almost do just as well < 1206989958 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but why not make it scriptable if you have the chance? < 1206989973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: here's an idea.. < 1206989979 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :make # a comment character to end-of-line < 1206989982 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes you can already do that with (...)! < 1206989990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it would provide that script thing without being a kludge < 1206990010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :comment-to-end-of-line would be a huge kludge < 1206990023 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok, then just make the #! thing an implementation detail < 1206990026 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :however, I'm toying with the idea of a comment-backwards-to-start-of-file syntax < 1206990028 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :same with the m4-required-delimiters < 1206990048 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then the language itself is pure, platonic, ideal, etc < 1206990055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it's just the interpreter syntax < 1206990109 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1206990124 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there should be separate syntax for the program < 1206990133 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and what goes on around it to separate things for the interp < 1206990149 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the #! stuff can just be a recommended method of encapsulating a program for storage in a file system < 1206990156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, in a little footnote < 1206990164 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's also worth noting that yours sucks for irc bots < 1206990172 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since you have to input invalid programs and let the irc bot add the magic < 1206990172 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206990184 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, you just input program fragments < 1206990198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: even so, it would be nicer to be able to input a whole program < 1206990221 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how do you view the actual programs for that golf site? < 1206990230 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: click on a username after the deadline < 1206990267 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to figure out how it works < 1206990294 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: how what works < 1206990303 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/reveal.rb?Encoder+decoder/nuko/1202353533&bf < 1206990303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its open source < 1206990315 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1206990351 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wait, it can't work < 1206990358 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it throws away some of the input it needs < 1206990370 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.722s < 1206990375 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for a bash version locally < 1206990377 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ^ < 1206990395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'd say that server is rather broken < 1206990398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: well it does work < 1206990400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's not < 1206990407 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but complaining about it to me won't help. contact shinh < 1206990412 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it is very very slow < 1206990416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: remember that BLIT story I linked? < 1206990418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, is he on irc? < 1206990427 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: which one? < 1206990437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no. You'll have to use the electronic transmission framework over addresses before a domain name < 1206990438 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also known as email < 1206990442 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes he is, #codegolf on this server < 1206990446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://www.infinityplus.co.uk/stories/blit.htm < 1206990449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ooh, is he? < 1206990449 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and is online right now < 1206990455 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well sod it then < 1206990458 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's what /whois is for, right? < 1206990463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i guess so < 1206990463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206990464 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait I can see < 1206990471 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the "encode" is part of the input < 1206990484 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, it occurs to me that BLITs do exist.. < 1206990506 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the videos which induce seizures in people suffering from epilepsy < 1206990521 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :like that pokémon episode < 1206990545 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes! < 1206990549 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :did it involve parrots? < 1206990557 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no < 1206990571 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1206990572 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that is mentionned here: http://en.wikipedia.org/wiki/Motif_of_harmful_sensation < 1206990578 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1206990582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: bugged shinh yet? < 1206990586 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :IIRC there is an explosion and Pikachu's eye's flash < 1206990590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, too lazy < 1206990592 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :only a fe were hurt < 1206990594 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: i know of it < 1206990606 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :denshi something porygon, I believe < 1206990610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1206990611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kind of < 1206990617 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :DennÅ Senshi Porygon sez wikipedia < 1206990618 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, also the "gas" alternative refuses code that work locally, it should mention it is x86 not x86_64 < 1206990619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :..... < 1206990641 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :offending frame #1: http://upload.wikimedia.org/wikipedia/en/b/b4/Pikachu_seizure-2.jpg < 1206990650 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well duhhhh < 1206990656 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because everyone uses x86_64 and x86 is sooo rare < 1206990685 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well x86_64 is getting more common < 1206990701 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :of course, being a harmful video, it is on Youtube < 1206990707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: heh < 1206990714 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Monroe was right < 1206990739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the promotional video for this horrid olympics logo: http://upload.wikimedia.org/wikipedia/en/e/e4/All_London_2012_logos.PNG < 1206990742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :caused some seizures, iirc < 1206990754 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :how timely, I just watched that pokemon scene a week or two ago < 1206990765 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I recall being surprised at how easily people get seizures < 1206990772 0 :marshmallows!unknown@unknown.invalid QUIT :"Leaving" < 1206990778 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, I remember the news reports, they had to show the olympics video at 1/10 speed on the news so as not to cause seizures in people < 1206990793 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yep < 1206990795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was hilarious < 1206990808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :perhaps they had seizures from the shock of how crap the logo was < 1206990862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: just watched it < 1206990865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :was that *it*? < 1206990872 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1206990875 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I suppose it was < 1206990880 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :on a big TV though < 1206990890 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :with a the kid sitting 1m away < 1206990892 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: i guess so < 1206990896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm, 1m < 1206990898 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in a dark room < 1206990901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you give too much credit to little kids < 1206990908 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :when they are naturally epileptic < 1206990924 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :+ usual hysteria < 1206990933 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it's a popular show < 1206990935 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that logo is embarassingly bad < 1206990939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: you bet.. < 1206990963 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Then, there was the case of Ecky Thump < 1206990974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: as usual, wikipedia says it best: < 1206990976 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why is there no logo at the top!? —Preceding unsigned comment added by 86.160.179.159 (talk) 20:22, 30 October 2007 (UTC) < 1206990976 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : It's hidden halfway through the article because everybody's ashamed of it. --67.160.32.3 (talk) 00:02, 27 November 2007 (UTC) < 1206990978 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :The sketch in one episode of the Goodies that made a guy die laughing < 1206990992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Fatal_hilarity < 1206991047 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's a great Wikipedia article title < 1206991068 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"London 2012 has stated that the new logo is aimed at reaching young people. " < 1206991090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.albinoblacksheep.com/flash/rgb my favourite seizure flash < 1206991113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think it should be my 'under construction' page < 1206991114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206991127 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"It was widely commented that the logo resembles an image of the cartoon character Lisa Simpson performing fellatio[22] and others have complained that it looks like a distorted Swastika." < 1206991136 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how people who get seizures from stuff like that pokemon manage on the internet < 1206991139 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: it's true! < 1206991154 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :you'd expect them to be dropping like flies < 1206991171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: well, that WOULD kind of solve the problem.. < 1206991178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1206991196 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :now that i look at it, it does look exactly like lisa simpson performing fellatio. < 1206991202 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ouch my eyes < 1206991205 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :amazing that i haven't noticed it before < 1206991211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: hee < 1206991213 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :jesus christ that is bad to look at < 1206991215 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dudududadadaddudu < 1206991217 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dudududadadadu < 1206991224 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dududududududududududududududu < 1206991260 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Surely that was developed for use at Gitmo? < 1206991292 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, the shot where there are just the three stripes that don't flash ruins the effect < 1206991295 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1206991363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :speaking of epilepsy < 1206991363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.theinquirer.net/gb/inquirer/news/2008/03/31/epilepsy < 1206991369 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1206991373 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1206991383 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i love the jump from 'The site linked to ebaumsworld' to 'anonymous did it' < 1206991412 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1206991418 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :heh, I love how people are treating "anonymous" as if it was a single organized entity < 1206991421 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :as if Anonymous were an organisation < 1206991452 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the whole fucking point is that not only do they not have names, they do not have authewntication or authorisation < 1206991479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: to be honest they do it themselves < 1206991486 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there can't be any leadership as they cannot tell one another apart and cannot tell "members" from non-"members" < 1206991486 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm talking about the 7chan&co that are attacking CoS < 1206991514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Well, they do all use one wiki & irc channel... They have unintentionally created an entity out of themselves < 1206991526 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :kinda < 1206991553 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :at least my city has a nice logo for its upcoming olympics: http://en.wikipedia.org/wiki/Image:2010_Winter_Olympics_logo.svg < 1206991597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :stonehenge robot < 1206991604 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1206991672 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's a statue that's standing on the beach downtown < 1206991707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bullcrap < 1206991775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is there an underlambda that works Right Now and you can write stuff in? < 1206991784 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1206991788 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh: 'I feel we have too many problems these days. Please make some time delay before adding problem. I personally think ~5 active problems are enough to work hard for each problem.' < 1206991789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :poor shinh < 1206991792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can't keep up < 1206991792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1206991794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think I pasted it already, though < 1206991801 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can dig it out again if you like < 1206991816 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it's only half-complete, but what's implemented works, and I haven't written the rest of the implementation) < 1206991826 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/implementation/specification/ < 1206991879 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :who was it that said were were out of over/under/un/whatever lambda names? < 1206991885 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a few days ago < 1206991915 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird said it < 1206991926 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I just came up with a name < 1206991931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :uberlambda < 1206991934 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206991936 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sounds fun < 1206991972 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1206992052 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://pastebin.ca/965007 if you're interested < 1206992064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it's there even if you aren't interested < 1206992079 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1206992086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that is redundant < 1206992096 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you said 'if' not 'iff' < 1206992096 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: in what way? < 1206992110 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if (you.interested) { exists = true; } /* exists may be true anyway */ < 1206992112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: if doesn't imply not-fi < 1206992115 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what you said is like: < 1206992123 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if (you.interested) { exists = true; } else { exists = true; } < 1206992130 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I stated that exists was true anyway, not merely that it may be true anyway < 1206992150 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so yes, redundant, but only because my second statement was a generalisation of the first < 1206992182 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is that as usable as Underload/more usable/what? < 1206992184 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or is it less < 1206992193 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's more usable than Underload < 1206992198 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it has arithmetic, if you've noticed < 1206992212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it's meant to be able to divide too but I couldn't figure out the rewrite rule) < 1206992236 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the idea is that although you /can/ write the lower-tiered things with rewrite rules, any sane implementation should optimise things like addition < 1206992242 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(although that one doesn't) < 1206992243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: any eaxmples? < 1206992255 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not really < 1206992264 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I have a few files I've been working on < 1206992302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :((::**:*:*:*:*)((:)~*(*)*:o(h)~^^O):::**::***^!)::*::***^ohhhhhhhhhhhO( < 1206992302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :)!()i((o(h):*::**::*::***^hO^)~HI:^):^^uhhhhhhhhhhhO < 1206992311 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a test of tier 1a < 1206992315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1206992317 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is that < 1206992326 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :low-tier Underlambda < 1206992330 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh god < 1206992335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the sort which is easy to implement, but hard to write < 1206992347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as you get into higher tiers it becomes easier to write and more readable, but harder to implement < 1206992354 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the high tiers compile into the low ones < 1206992383 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Hello, world!)S doesn't work < 1206992384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1206992392 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(hello)S outputs (hello) < 1206992393 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1206992409 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and (hello)S outputting (hello) is unreliable and shouldn't be guaranteed < 1206992421 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you see, Underlambda has first-class functions, rather than first-class strings < 1206992437 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there'll be some syntax like "Hello, world!"somethinggoeshere in a higher tier, though < 1206992480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so right now i cannot write real programs < 1206992480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :great < 1206992481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206992490 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's why it's a work in process < 1206992499 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/process/progress/ < 1206992515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: C doesnt' work yet < 1206992519 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :BTW, it will eventually be the case that Brainfuck minus comments is also legal Underlambda < 1206992523 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: C ought to work < 1206992531 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but remember that it isn't call/cc, but a precursor to it < 1206992615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: (a)(b)CS < 1206992616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :outputs nothng < 1206992621 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :call/cc can be implemented in terms of it; prepend an A and append ^Q works as long as you don't want to send a payload, if you want to send payloads it's slightly more complicated < 1206992637 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it works for me < 1206992668 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I get ((a)(b)(S)) mixed in with the debug output < 1206992744 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can turn the debug output off by commenting one of the lines out for a cleaner view < 1206992751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: make it: < 1206992757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :((STACK)(CONT)) < 1206992761 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise it's a bit fiddly < 1206992772 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, you're defeating the whole point of C < 1206992776 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that sort of thing is what c is for < 1206992788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C is the low-tier accessor routine that lets you implement it < 1206992793 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, even so < 1206992796 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's (STACK(CONT)) < 1206992798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is silly < 1206992800 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whichever way you look at it < 1206992819 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not when you take into account how Underlambda lists work < 1206992844 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's just ((a)(b)(c)) and you use continuations and all sorts of fancy tier 3 stuff to process them (or alternatively, an optimising interp that does it sanely) < 1206992857 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eh. ais523: nice quine: C:^^ < 1206992859 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1206992860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not quine < 1206992863 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :infini loop < 1206992881 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why the colon? < 1206992890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: to duplicate the continuation < 1206992896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise, once we ^^, the program becomes '^^' < 1206992936 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK, I see < 1206993001 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :CC^^ also works < 1206993051 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that one's cooler < 1206993080 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's a stack element that's apparently doing nothing but is in fact providing input to the second C < 1206993222 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: C^C^C^C^ < 1206993227 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :keep adding more ^s, get more stuff < 1206993259 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a nice recursive pattern there < 1206993270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh dear, are we going to end up with a new rival to Subtle Cough? < 1206993347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :somehow I doubt that C and ^ are TC by themselves < 1206993350 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1206993363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well its certainly more powerful than subtle cough < 1206993389 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a bit louder than a subtle cough < 1206993399 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but not quite an obvious cough < 1206993441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow, CCC^^ made Perl segfault < 1206993481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :me too < 1206993485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its pretty though < 1206993503 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wonder why it segfaults on something as innocent-looking as that? < 1206993510 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's not as if the strings got very long < 1206993571 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: report it as a bug < 1206993593 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'd have to pin it down first < 1206993609 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and anyway, I'm tired after a night of no sleep, so I think I'll go home now < 1206993612 0 :ais523!unknown@unknown.invalid QUIT :"bye!" < 1206993622 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was just about to ask something < 1206993623 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1206994628 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :through lack of inspiration, I decided to re-write the team whiteboard upside-down < 1206994690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, eh? < 1206994715 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :FDJ < 1206994719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :??????????? < 1206994719 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :um, < 1206994722 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :AFJ < 1206994730 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what are you talking about? < 1206994758 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :tomorrow < 1206995048 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :???? < 1206995050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1206995054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: april fools day < 1206995054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1206995066 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that is several hours left < 1206995074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its not even april 1st yet.. < 1206995079 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:24 31 march < 1206995084 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mån mar 31 21:24:44 CEST 2008 < 1206995085 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :here < 1206995094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC did it for TOMORROW < 1206995100 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1206995100 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. the next time people will see it is toorrow < 1206995101 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh, man- I need to plan some kind of brilliant april fools day joke < 1206995102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*tomorrow < 1206995112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: get a BLIT onto some high-profile website < 1206995117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I wonder what the RFC ppl will come up with < 1206995186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes a note to himself so he won't get fooled by other family members in the morning < 1206995186 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: how about the old staples of turning shit upside-down, and related ones < 1206995196 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm always so sleepy in the mornings < 1206995200 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or post-its on the bottom of the mice < 1206995217 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: nah, but coming up with something *involving* staples could be fun < 1206995232 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :maybe I'll burn all my roommate's possessions < 1206995237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1206995242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would be too evil < 1206995259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least if you did it < 1206995259 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :better: < 1206995272 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :april's fools would be to make your roommate *believe* you've burned all her possessions < 1206995282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1206995314 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: i still say BLIT < 1206995321 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"steal" everything. He wigs out like "where's all my stuff?" "Ahahaha- just kidding. I took all the stuff and just hid it" "Oh- heh. Where is it?" "In this small box. I burned everything to make sure you wouldn't find it by accident." < 1206995329 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1206995466 0 :cherez!n=cherez@r02snw275.desktop.umr.edu JOIN :#esoteric < 1206995466 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :lossy compression < 1206995487 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :olsner: exactly! :D < 1206995488 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if there is something funny I could do with the book-case... < 1206995502 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :turn it around, so that the books are facing the wall < 1206995517 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that just feels unfunny though < 1206995521 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: scan every book, mirror all the pages, reprint and rebind them all. < 1206995531 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :too difficult < 1206995539 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but just imagine the effect < 1206995543 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :um, yeah < 1206995554 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :if I had the proper equipment, I'd totally do it < 1206995559 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you could reverse someone's desk, like put the monitor facing backwards, with all the cables hanging down the front < 1206995573 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :not possible with these desks < 1206995582 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :grmbl < 1206995603 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :how about just editing people's config files to mirror the stereo to their speakers. See how long, if ever, it takes for them to notice. < 1206995603 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and that just sounds like a way to waste people's time without being funny < 1206995613 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no speakers < 1206995616 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and no root < 1206995617 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :fuck < 1206995621 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :double fuck < 1206995632 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :kind of unfunny waste of someone's time, yeah < 1206995640 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I could swap people's monitors though < 1206995644 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :we get 2 each here < 1206995651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its very simple < 1206995653 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the best thing to do is < 1206995657 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :take someone's monitor away < 1206995661 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :make a photo of the screen behind them < 1206995662 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :"Cake in the canteen!" -> "Fooled ya!" note instead of cake < 1206995662 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then < 1206995666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :claer off the desktop < 1206995666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :100% < 1206995670 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so that its just the bg image < 1206995675 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and set that picture to the background < 1206995683 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'who the hell took away my monitor's screen?!?!?!?!' < 1206995689 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :heh, wonder if that fool's anyone though < 1206995693 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"invisible monitor lol" < 1206995696 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :haven't6 got the equipment < 1206995697 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :*fools < 1206995698 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :olsner: people do it just as a regular desktop < 1206995702 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but as a prank it woudl work great < 1206995716 0 :sekhmet!unknown@unknown.invalid PRIVMSG #esoteric :Could take a screenshot of the person's desktop, set that as the background, then remove all their actual icons < 1206995718 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i vote for a shot in the head < 1206995723 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :sekhmet: boring < 1206995724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.flickr.com/photos/w00kie/7234920/in/set-180637/ < 1206995732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that, but without the menus etc < 1206995733 0 :sekhmet!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Yeah, I lose. < 1206995733 0 :sekhmet!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1206995735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sekhmet: too common < 1206995736 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...or what were we talking about? < 1206995792 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: check the date of today or tomorrow (depending on time zone) < 1206995795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :more: http://www.flickr.com/photos/w00kie/sets/180637/ < 1206995805 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :olsner: check my nick, i'm never serious < 1206995820 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...assuming you recall me telling that to you earlier < 1206995856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i guess in the usual case i have no idea what day it is < 1206995864 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :never serious? not even when saying you're never serious? < 1206995873 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's pretty simple to guess from what you're ...swiggling < 1206995877 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not a man of words < 1206995893 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :olsner: when saying that, i'm the least serious ever < 1206995900 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :from my viewpoint, however, you're made entirely of words < 1206995916 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oklopol :: [String] < 1206996339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh wow < 1206996339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.flickr.com/photos/w00kie/11033741/in/set-180637/ < 1206996489 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :kewl < 1206996494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1206996501 0 :wildhalcyon!n=chatzill@c-69-243-94-185.hsd1.md.comcast.net JOIN :#esoteric < 1206996503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(trick: the sleeve is the only thing outside the pic) < 1206996511 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I guessed < 1206996518 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :hola < 1206996555 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I read the second comment and figured it out instantly < 1206996776 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, the next thing to do is set up two screens to look like the two portals from Portal. < 1206996906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: wait, how about < 1206996909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :two screens back to back < 1206996915 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one looks through to the wall < 1206996917 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and so does the other < 1206996921 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206996930 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it seems like there's TWO empty screens < 1206996932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :from both sidse < 1206996936 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :actually, wait, no < 1206996937 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :which one? < 1206996939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one screen looks to the wall < 1206996942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the other one sees the other screen < 1206996943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206997097 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :So, ehird, I took what you said yesterday and spent some time looking at my project. < 1206997191 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and ate it < 1206997192 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :? < 1206997216 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :No, I thought about how I might tweak it to make it more... real world applicable. < 1206997219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206997235 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I didn't have any access to outside communication, I was very bored. < 1206997242 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I came up with a design I thought was pretty neat < 1206997292 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I wanted to look at a couple things first - to really flesh out the idea, y'know? < 1206997335 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Unfortunately, what I implemented was very, very close to Smalltalk. :-( < 1206997485 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :There are some differences - I've made processes and interfaces part of the language structure, but otherwise its very similar. < 1206997520 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: So use smalltalk! < 1206997575 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :But I was trying to create something different. Unique. I kind of feel like I failed in that endeavor < 1206998250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: You independantly invented Smalltalk. < 1206998264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Many people have started at a basis and arrived at something terrible. < 1206998271 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But you're clever enough to come up with Smalltalk. < 1206998274 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That's pretty good, I'd say. < 1206998404 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :This is simply a sign that Smalltalk is the messiah. < 1206998561 0 :RedDak!n=dak@87.18.81.172 JOIN :#esoteric < 1206998636 0 :wildhalcyon!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206998719 0 :wildhalcyon!n=chatzill@c-69-243-94-185.hsd1.md.comcast.net JOIN :#esoteric < 1206998726 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Sorry, back < 1206998789 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I don't want to say I implemented Smalltalk, or wrote a smalltalk specification, but all the ideas I had were ideas that were written into Smalltalk - including some things such as what questions an object should be able to ask - or even the concept of objects asking questions < 1206999163 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: have you looked at colorforth? < 1206999172 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I've glanced at it once, why? < 1206999181 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I thought it might give you ideas < 1206999185 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :like the color < 1206999196 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or the minimalism < 1206999211 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :or the insanity? < 1206999220 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that too < 1206999252 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I'm down with the last two < 1206999252 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :also, smalltalk IS the messiah. < 1206999254 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :color too, alright < 1206999259 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I don't know abotu that lament. < 1206999266 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I'm not crazy about the syntax < 1206999272 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: more generally, the pre-parsing < 1206999273 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: well, why did you invent it and not something else? :{ < 1206999304 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I didn't invent the syntax, just the language itself < 1206999306 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :and the internet < 1206999312 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :and color. < 1206999324 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the syntax is a very small part of smalltalk. < 1206999330 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's superficial. < 1206999355 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Squeak has several alternate syntaxes < 1206999364 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you can switch from one to another in the editor < 1206999376 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :For real? < 1206999379 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :alternative syntaxes? < 1206999386 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you can probably add your own fairly easily < 1206999429 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :too bad it's squeak :( < 1206999455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :squeak sucks because of its UI < 1206999459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and its closed-world view < 1206999461 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(also, what's wrong with the syntax? the method calls in particular are awesome) < 1206999465 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :well, I could write my own UI too < 1206999466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't mind the vm + custom ui view < 1206999468 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but plz make it not as ugly < 1206999475 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and plz make outside-world interaction easy < 1206999475 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the ui's allright < 1206999485 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :lament - its weird how sometimes the variables go in front, sometimes in back. And they're addicted to colons < 1206999489 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but the closed world thing kinda kills it :( < 1206999493 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: ?????? < 1206999496 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1206999514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: you sound like everyone who has never programmed in smalltalk < 1206999526 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I never have programmed in smalltalk < 1206999527 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& only superficially understands it < 1206999549 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: perhaps you should. It is the messiah after all. < 1206999550 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :suprise! < 1206999558 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: then you don't know if you invented smalltalk or not < 1206999560 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I'm only complaining about the syntax, not the deeper structure < 1206999571 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yeah, but it looks you don't know/don't understand the syntax < 1206999599 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe I don't I guess. < 1206999604 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Smalltalk's syntax is simple and elegant. < 1206999622 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :heh : http://www.esug.org/whyusesmalltalktoteachoop/smalltalksyntaxonapostcard/ < 1206999644 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :thanks for that < 1206999669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#(..) sucks though < 1206999678 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you should be able to do expressions in it < 1206999679 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not just constants < 1206999744 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bah, real Smalltalks use _ for assignment, and render it as left-arrow < 1206999747 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1206999749 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: :) < 1206999756 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Squeak renders ^ as up-arrow < 1206999757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i love it < 1206999766 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :_ was originally left-arrow, to go with ^ as up-arrow < 1206999782 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'd prefer <- < 1206999784 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :squeakhas both of those < 1206999799 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a<-b a < (-b) < 1206999805 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to bed < 1206999814 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :byebye SimonRC :-) < 1206999814 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Well, this turned out worthwhile then < 1206999824 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :bye SimonRC < 1206999827 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: try programmign in smalltalk :) < 1206999828 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :of course, the idea of arbitrarily replacing characters with other characters fits nicely with smalltalk's idea of a closed world < 1206999842 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean by closed world? < 1206999843 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :or at least, squeak's < 1206999854 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: when you start squeak < 1206999857 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you get one window < 1206999860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :where its own graphics engine runs < 1206999866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and its own windows, font rendering, mouse handling etc < 1206999870 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: many smalltalks, including squeak, try to be an operating system instead of just an interpreter < 1206999877 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and generally you are encouraged to stay out of things like the filesystem < 1206999881 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and handle everything in the VM < 1206999886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the VM can be stored and reloaded from a single file < 1206999903 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :squeak is an operating system for its VM < 1206999915 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: the reason of course is that smalltalk WAS an operating system < 1206999931 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Oh, okay < 1206999936 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :sure, and that's fine, but these days it's a pretty dumb approach < 1206999948 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :on the other hand, gnu smalltalk seems to be under active development :) < 1206999948 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :so its closed in the sense that it keeps you out of the rest of your machine? < 1206999954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wildhalcyon: not keep you out < 1206999959 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just nudge you in the other direction < 1206999960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hard. < 1207000003 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1207000003 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the real issue is that the concept of a "program" makes a lot sense in smalltalk than it does in, say, java < 1207000008 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :er < 1207000011 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :*a lot LESS sense < 1207000016 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1207000023 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :smalltalk is a bunch of objects < 1207000025 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe I can still implement my design in Smalltalk. That might still be interesting. < 1207000032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and an app is nothing < 1207000033 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :which is really fun one on hand, but absolutely painful and retarded on the other. < 1207000037 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you just create objects and tell them to do stuf < 1207000039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :f < 1207000041 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just like an OS < 1207000048 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and likely one of the main reasons why smalltalk died < 1207000049 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: you CAN do headless stuff with squeak iirc < 1207000052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's even gtk bindings and stuff < 1207000099 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: sure but i don't even want to think about the terrible dependency hell that results due to everything being together as one Big Ball Of Mud while you're developing it. < 1207000111 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Can you spawn additional processes in smalltalk from a single process? < 1207000112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: yeah < 1207000114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's not ideal < 1207000122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: what do you think about Factor? < 1207000128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its listener/IDE thing is custom ui < 1207000130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it supports scripting < 1207000134 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i haven't seen it < 1207000140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its like Squeak lite that hugs the outside world < 1207000151 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i think stack based languages are stupid < 1207000169 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Why? (I agree, but just curious what you think) < 1207000181 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: not stack-based < 1207000182 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :concatenative < 1207000182 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :because a stack is a very unnatural abstraction < 1207000183 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1207000201 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: so unix pipes are unnatural? < 1207000204 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Lament, only if you're not talking about a stack of books, or papers, or anything else that appears naturally as a stack < 1207000222 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: unix pipes are dataflow < 1207000229 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: so is a stack language < 1207000244 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: how do you do "rot" in unix? < 1207000268 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: you don't because unix pipes are crippled dataflow < 1207000279 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, you don't because it's not stack-based < 1207000281 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(languages (applicative (in (backwards (is (composition (function))))))) -- Slava Pestov, creator of Factor < 1207000304 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to be honest most functions i write are function composition with a little bit of application < 1207000312 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so that seems reasonable < 1207000623 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1207001092 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207001179 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207001440 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: a program (a function) should deal with the stuff in the domain of the problem it is solving. < 1207001458 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: and not with the stuff which is completely irrelevant to the problem it is solving. < 1207001478 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"A programming language is low level when its programs require attention to the irrelevant." < 1207001501 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :stack management is exactly this type of low-level irrelevant stuff. < 1207001548 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :also, remember the whole conversation in #haskell from yesterday about how good names are and how silly Peaker is for trying to get rid of them. Having a stack means exactly that - you get rid of names. < 1207001620 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :Smalltalk is pretty cool < 1207001630 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :I read the design principles document < 1207001636 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: well, the idea is making it high-level enough through defining words that you don't see the stack manip < 1207001641 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& providing combinators to hide it < 1207001643 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like recursion in haskell. < 1207001662 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that doesn't solve the loss-of-names problem < 1207001667 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :which also happens in haskell a lot < 1207001673 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(esp. with pointfree style) < 1207001697 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :compare and contrast with the wonderful magical smalltalk method call syntax :) < 1207001700 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: but haskell is restricted to one return value < 1207001710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and using (.) the rightmost can only consume one value < 1207001716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and also since haskell isn't designed for that < 1207001717 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: right, which makes the problem a little less important < 1207001720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't have a lot of the useful combinators < 1207001736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :real concatenative languages have useful combinators and none of those restrictions < 1207001776 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you still have to keep track of the stack (i'm guessing) < 1207001852 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :hell, 'dup' is the first word introduced < 1207001868 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in the cookbook < 1207001909 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :also, the argument about function application being backwards looks completely retarded given code like this: < 1207001913 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :[ drop "negative" ] [ zero? [ "zero" ] [ "positive" ] if ] < 1207001952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: you don't have to keep track of the stack because there are high-level combinators doing it for you < 1207001960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and introducing 'dup' is just like introducing recursion in a haskell tutorial < 1207001968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you rarely use it < 1207002003 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :honestly this single defn is enough to make me never look at Factor again < 1207002004 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :: sign-test ( n -- ) dup 0 < [ drop "negative" ] [ zero? [ "zero" ] [ "positive" ] if ] if print ; < 1207002014 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: it's a COOKBOOK < 1207002019 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, that word definition is horible < 1207002024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is true < 1207002027 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'Shuffle word and definition cookbook' < 1207002029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's 'reference' < 1207002031 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not tutorial < 1207002037 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: can you give a good-looking definition for sign-test? < 1207002056 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: you would rarely want to write a function like that < 1207002065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenative is the factor channel. ask them. i don't code in factor much < 1207002070 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i see :) < 1207002089 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i don't want to go there, it would come across as trolling < 1207002115 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: they're very friendly < 1207002127 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just say that you were wondering if this looks ugly to anyone else < 1207002128 0 :wildhalcyon!unknown@unknown.invalid PRIVMSG #esoteric :alright, I need to get out of here. Thanks for the help ehird and lament < 1207002128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1207002133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bye wildhalcyon :) < 1207002167 0 :wildhalcyon!unknown@unknown.invalid PART #esoteric :? < 1207002168 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :aha, here it is in a different part in the cookbook, using a different combinator: < 1207002171 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :{ { [ dup 0 > ] [ "positive" ] } { [ dup 0 < ] [ "negative" ] } { [ dup zero? ] [ "zero" ] } } cond < 1207002193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: that will look better on multi lines < 1207002200 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :{ { [ dup 0 > ] [ "positive" ] } < 1207002200 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :why the 'dup's everywhere? because stack-based languages suck < 1207002205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: err no < 1207002208 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because that's not typical code < 1207002209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :seriously < 1207002212 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenative < 1207002229 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :also, the 'cond' at the end is just so ugly < 1207002237 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :maybe i'm not Japanese enough < 1207002238 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :to appreciate it < 1207002253 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: Slava Pestov is certainly not japanese.. < 1207002256 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenative < 1207002269 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you're reading the program top to bottom. If the cond body is two pages long, you have to scroll down first to see that it's a cond, then scroll back up. < 1207002280 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenative < 1207002285 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also < 1207002289 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if it's not two pages long, you still have to do it mentally < 1207002289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you hae a two-page long cond body < 1207002292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :your code is fucked < 1207002323 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if it's two lines long, you still have to glance at the end of the thing to see that it's a cond. The point is, you just can't read the code in order that it's written. < 1207002358 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :anyway, you don't program in Factor so i don't have to convince you of anything :) < 1207002360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenative < 1207002361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenative < 1207002361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenative < 1207002366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: i do occasionally < 1207002426 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you suggest me to go to #concatenative just to tell them "hey, your language sucks"? < 1207002467 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1207002473 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to ask them about your queries in a reasoned manner < 1207002479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and debate the plusses and minuses < 1207002487 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :as far as i can see, they're not queries. < 1207002488 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric : :) < 1207002505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: they are, they have the implicit 'Am I wrong?' < 1207002514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you are new to factor, you are unconvinced. of course they'll be friendly < 1207002517 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm just saying it sucks, and i think i have explained why. I'm not wrong. :) < 1207002535 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1207002546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: you are wrong, and #concatenative will tell you why < 1207002557 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(not factor, which i'm sure is awesome. Just the idea of stack-based languages) < 1207002561 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :being 100% sure that you are correct without asking the people who can truly tell you why they think you are wrong is just idiotic < 1207002597 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, i'm clearly right about the difficult-to-read word order < 1207002614 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: just ask < 1207002617 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and no < 1207002619 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :about what??? < 1207002620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you are not clearly right < 1207002625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenative. seriously < 1207002631 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yes, i'm clearly right < 1207002640 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :just like i'd be clearly right if i said "lisp has lots of parentheses" < 1207002666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#concatenativeeeeee < 1207003002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: just joining doesn'tt help, i imagine < 1207003002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1207003034 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :fine < 1207003127 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: neither does leaving again < 1207003128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1207003174 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :since you do program in factor, feel free to tell me how i'm wrong if you ever find out :) < 1207003678 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :haha "While there is a very nice slope of indentation as one follows code down into the depths of nesting, that is about the only notion of elegance that could possibly come to one's mind when considering this code." < 1207006356 0 :ehird_!n=ehird@91.105.71.247 JOIN :#esoteric < 1207006412 0 :ehird!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1207006457 0 :ehird_!unknown@unknown.invalid PRIVMSG #esoteric :bye ghost < 1207006500 0 :ihope!n=ihope@tapthru/resident/ihope JOIN :#esoteric < 1207006508 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ello. < 1207007312 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1207007698 0 :wildhalcyon!n=chatzill@c-69-243-94-185.hsd1.md.comcast.net JOIN :#esoteric