< 1262995202 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Note: mmm-mode is common across Emacs and XEmacs, SO DON'T GO RUNNING TO THE FSF :P) < 1262995228 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I should just write my own editor. With multiple major modes. And breakout. < 1262995232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :In fact, forget the editor. < 1262995233 0 :ais523!unknown@unknown.invalid QUIT :Remote closed the connection < 1262995245 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Breakout: inside the blocks, breakout. < 1262995254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Multiple major modes + Breakout = best game/editor/OS ever?? < 1262995269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(yes) < 1262995336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(pikhq: You wouldn't happen to have any idea of how to whip mmm-mode into submission?) < 1262995598 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1262995641 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Bah. It's ridiculous that none of the modern editors were designed with modes being an atomic, composable thing. < 1262995646 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Were these things even *designed*??? < 1262995648 0 :jpc!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1262995653 0 :jpc1!n=jw@unaffiliated/javawizard2539 JOIN :#esoteric < 1262995797 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I strongly suspect that all editors were evolved. < 1262995816 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Except Notepad. That's just stagnant. < 1262995834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :At least notepad is totally consistent. < 1262995851 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1262995865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess I'm just going to have to write my own editor. *sigh* < 1262995917 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't Notepad have some sort of unicode issues? < 1262995924 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Not in Vista onwards. < 1262995933 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh < 1262995968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Notepad is basically perfect, except for the unnecessary .LOG feature. < 1262996059 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Editor wishlist: File's modes are a tree; the topmost mode is managed by the editor. < 1262996067 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I've said this before, but someone should make an esolang whose source files start with .LOG < 1262996089 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Modes are self-contained: they can be applied to any buffer, with any settings (for instance, base indent N for code embedded in HTML), < 1262996109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and things like every instance of a mode in the same buffer being the "same instance" are possible < 1262996113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for e.g. completion, etc < 1262996116 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(or even interactive evaluation) < 1262996132 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, buffers are abstract and, hopefully, composable < 1262996141 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can define a buffer that is the rot13 of a file, for instance < 1262996150 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and modifying and saving it rot13s the contents and puts it in the file < 1262996206 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now someone pledge to switch to my editor if it's any good so i have some sort of motivation. < 1262996282 0 :Sgeo!unknown@unknown.invalid PART #esoteric :? < 1262996285 0 :Sgeo!n=Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1262996303 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I definately want to try it < 1262996307 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*definitely < 1262996314 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :do you still use windows < 1262996321 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1262996324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bugger < 1262996335 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well you'll have to switch to something that runs X unless I change my mind :P < 1262996360 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You can't use GTK+ or Qt or wxWindows or something along those lines? < 1262996372 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: pledged < 1262996382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: why thank you. < 1262996384 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Xming = awesome < 1262996385 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :just get that < 1262996397 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Windows runs X. Just not as well as anything else ever. < 1262996402 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah I was considering telling him to just get an X server < 1262996407 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: what, even ubuntu < 1262996423 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION installs xming himself < 1262996425 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Have you ever used X on Windows? < 1262996432 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Cygwin X is shit < 1262996435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :xming isn't, from what i hear < 1262996443 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Xming is good < 1262996448 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Granted, part of the issues are because Cygwin isn't all that great... But still. < 1262996459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Xming is totally Windows, no cygwin < 1262996463 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sees a screenshot < 1262996473 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :...Ubuntu on Windows? < 1262996479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, with coLinux. < 1262996479 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :no, X on windows < 1262996482 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: X11 using programs are either Cygwin or not on Windows, though. < 1262996487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(a driver that runs a linux kernel) < 1262996491 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh, yeah < 1262996496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1262996498 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :coppro, yes, I know, but the screenshot on the wiki page < 1262996505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: pikhq's right, you know; I do want to depend on posix < 1262996512 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I mean, not fork() or anything < 1262996520 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :probably mmap() though.... < 1262996522 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*though... < 1262996522 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: language? < 1262996527 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but I refuse to depend on Cygwin < 1262996528 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hm, I'm going to have to try coLinux < 1262996536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: oh, I assumed C; good point, there's no reason to assume C < 1262996547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm... perhaps Scheme < 1262996596 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although I'd have to write my own impl for the $whatever_toolkit bindings and the like < 1262996604 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(scheme implementation state is... rather dismal) < 1262996627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you have to donate to xming to get the latest version that's kinda lame < 1262996639 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :6.9.0.31 vs 7.5.0.15 < 1262996689 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'll probably just depend on Tk or something (with default config on X11 that makes it not be shit) < 1262996706 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I believe newer Tks can do Xft and the like; pikhq will know. < 1262996714 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and Tk is native on Windows < 1262996718 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1262996721 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :OS X I don't really care about because I won't be using it soon < 1262996729 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wait, it's possible to have non-shitty Tk? < 1262996732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes < 1262996734 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And Tk is nativish on OS X. < 1262996736 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Yes. < 1262996741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok, Tk 8.5+ includes the new theming engine and outline fonts < 1262996752 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: http://tktable.sourceforge.net/tile/ < 1262996753 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's slightly shitty on UNIX still, but it at least isn't complete suck now. < 1262996754 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Pick a theme, any theme. < 1262996772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://tktable.sourceforge.net/tile/screenshots/unix.html < 1262996783 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And it's still got one of the nicer APIs... < 1262996784 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oooo < 1262996785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Note the reasonableness of Default, Revitalized and Clam. < 1262996830 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :No vistanative or sevennative ? < 1262996839 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :winnative uses native Windows widgets. < 1262996843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you know IDLE? Python? < 1262996845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That's Tk. < 1262996864 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes, and that's why I held my believe that Tk was shit < 1262996872 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I'm misremembering IDLE's look < 1262996877 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :have you ever used IDLE on Windowsw? < 1262996877 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: xpnative uses the XP themed widgets API. < 1262996879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Windows < 1262996881 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it is 100% native < 1262996888 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: winnative uses actual widgeets though < 1262996893 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The same API is used for Vista and 7. < 1262996897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I could write the editor in Tcl. pikhq: Tcl has lambda right? < 1262996903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or rather, closures < 1262996905 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :http://zzo38computer.cjb.net/img_10/healthbaseisreallystupi.png < 1262996915 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Well, I don't think I've used IDLE on Windows in a very long time < 1262996916 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hold on < 1262996923 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Kinda-sorta-maybe. < 1262996930 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Elaborate. < 1262996960 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: donate and mirror imo < 1262996983 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: It isn't open source. < 1262996990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The old binaries are public domain but the donate ones aren't. < 1262996994 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1262996997 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Unless you're actually instructing me to violate copyright law. < 1262996999 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to guess that this is what you'd actually *want*: http://www.tcl.tk/cgi-bin/tct/tip/187 < 1262997019 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But that isn't accepted. < 1262997027 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :What can I do in practice? < 1262997033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Also, does Tcl let you use dashes-in-names? < 1262997042 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Is that the default naming convention?) < 1262997043 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I've had no trouble with the PD release < 1262997056 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Whereas this is what you actually get: http://www.tcl.tk/cgi-bin/tct/tip/194.html < 1262997056 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :but I'll be fair in saying I haven't used it a ton < 1262997062 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: It's from 2007. Donate release is from 2010. < 1262997064 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Tcl allows you to use dashes-in-names. < 1262997067 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Kinda crappy. < 1262997073 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Is it the naming convention? < 1262997076 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The typical naming convention is underscores, however. < 1262997076 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :old != bad < 1262997090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Yes, but it's a whole major version behind. That's just crappy behaviour on tnhe part of the author. < 1262997092 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(don't see it much, though) < 1262997105 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: He probably bumped the major when he closed it off < 1262997127 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :people wouldn't donate for 6.9.0.32 when they can get 6.9.0.31 < 1262997187 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: what do you mean, don't see it much? < 1262997226 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ... There's like 20 names in underscores in the n section of my manpages... < 1262997233 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1262997238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So most names are scruncheduplikethis? < 1262997275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's just that, say, run-extended-command is much nicer than run_extended_command or runextcmd. < 1262997280 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, you've just got things like the string proc. < 1262997286 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ugh, yeah. < 1262997287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ugly. < 1262997304 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"string is", "string range", etc. < 1262997324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I could do Scheme+Tk... < 1262997360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(STklos) < 1262997370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Wait. < 1262997375 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :STklos changed to Gtk. Ugh. < 1262997417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I swear my editor will have a _nice_ user interface. < 1262997441 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Keyboard-oriented but point-'n-clickable and no RSI. < 1262997516 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Definitely no modal dialogs, except maybe if you run I-want-a-crazy-WIMP-file-selector. < 1262997540 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :("dialog" with no title bar will appear in the bottom of the window, probably.) < 1262997547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Like a souped-up minibuffer. < 1262997550 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm going for today. Bye. < 1262997570 0 :ehird!unknown@unknown.invalid QUIT : < 1262998877 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I think this has 3 instructions, not 2 instructions http://esoteric.voxelperfect.net/wiki/Ultimate_bf_instruction_minimalization%21 < 1262998917 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Because, no operation is one of the instructions, too (see the information about "(" command) < 1262999087 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :zzzzzzzzz < 1262999279 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :yyyyyyyyy < 1263000202 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1263000213 0 :zzo38!unknown@unknown.invalid QUIT :"Good day" < 1263001095 0 :oklopol!n=oklopol@a91-153-117-63.elisa-laajakaista.fi JOIN :#esoteric < 1263001109 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is OpenSVN dead? < 1263001345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :your MOM is dead < 1263002217 0 :oklofok!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263002437 0 :Cerise!unknown@unknown.invalid QUIT :farmer.freenode.net irc.freenode.net < 1263002469 0 :Cerise!i=jerry@unaffiliated/cerise JOIN :#esoteric < 1263003283 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote closed the connection < 1263003531 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird, i was thinking in the graphics language, we'd need a function that takes some shapes and constructs and arbitrary composite shape out of (copies of) them < 1263003630 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :e.g. group { ... } where everything in ... is a subpart of the group object; so their positions are bound to the group objects, their sizes, etc. < 1263003647 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :so that if you scale the group object, the subobjects scale, if you rotate it, they as a whole rotate, etc etc. < 1263003654 0 :FireFly!unknown@unknown.invalid QUIT :"Leaving" < 1263003669 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ping me with an opinion when you get back < 1263003676 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :augur, what, are you making a competitor to SL? < 1263003683 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :sgeo: whats SL < 1263003699 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Second Life < 1263003704 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1263003772 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :were trying to design the latex-of-images, so to speak < 1263003837 0 :Pthing!unknown@unknown.invalid PRIVMSG #esoteric :svg? < 1263004830 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, I want to make some aperiodic tiles. < 1263004904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we have a course about tiling, but not in this semester :'( < 1263004946 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i hear it's rather hard to do that < 1263004959 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I think I can make some aperiodic tiles for a half-plane. < 1263005001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how then? < 1263005009 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Give me a moment. < 1263005030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you use wang tiles? < 1263005045 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1263005073 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess it's a w.l.o.g system < 1263005080 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*. < 1263005086 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :A without loss of generality system? < 1263005088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1263005118 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that you can simulate any set of tiles using wang tiles... but that's actually not at all true < 1263005156 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Surely for every set of nice tiles, there's a Turing machine that halts if and only if it has a periodic tiling. < 1263005180 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, obviously < 1263005196 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Put the tiles together in every possible way; halt when you make something whose edges have the right symmetry. < 1263005204 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just enumerate all possible ways to piece those tiles together, and for each check whether it fits its own boundary < 1263005216 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...i think ;) < 1263005288 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i haven't actually thought much about tiling, just seen the proof of tm < tiling with a seed tile, once < 1263005331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where seed tile is a tile you have to use, then you can force the initial turing machine block to be on the plane < 1263005342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but you already knew that < 1263005462 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Did I? < 1263005492 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i usually assume people know the things i know through the same media i know them < 1263005517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't mean physical medium, more like context < 1263005558 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in any case, the original use of aperiodic tilings was to show tiling is undecidable even without a seed tile < 1263005571 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(the guy who proved it with a seed tile actually postulated the opposite) < 1263005672 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so did you have something for half-plane? < 1263005693 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i would probably need paper and an afternoon < 1263005852 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1743607 < 1263005896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1263005905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why is there a row of e on the bottom? < 1263005916 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Because the bottom matches with the edge of the half-plane. < 1263005921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean the problem is trivial if you have seed tile :P < 1263005922 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*s < 1263005955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i assumed you just require it to fill half the plane sensibly, and the rest can fail < 1263005999 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i'll read it still, maybe < 1263006083 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Am I allowed to congratulate myself on my insight even if the problem is trivial? < 1263006153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :certainly, especially as i consider it trivial only because i know how a turing machine is embedded given a seed tile, and i don't even see how to do it given a seed *row* :) < 1263006168 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Wonderful! < 1263006252 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay i think they are aperiodic, but can't really see why < 1263006281 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean i can't find a counter-example, what does it do? < 1263006287 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :You know how Sturmian words are aperiodic and can be collapsed? < 1263006336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :very vaguely < 1263006343 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :are they err < 1263006363 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Take the infinite Fibonacci word: ABBABABBABBAB... < 1263006365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err i'll just google, i'm thing of lind... something < 1263006387 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :The letter A only occurs in the string AB. Replace AB with A, and you get ABAABABA... < 1263006395 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Then the letter B only occurs in the string AB, and so on. < 1263006409 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Therefore, this is a Sturmian word. < 1263006437 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's an infinite fibonacci word? < 1263006466 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :It's a thing that you get by repeatedly applying the replacement {A -> B, B -> AB}, or an equivalent one. < 1263006478 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1263006592 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :My tiling, going from the bottom up, repeatedly applies the replacement {AB -> B, B -> A}, thereby forcing the bottom row to be an infinite Fibonacci word. < 1263006649 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Though it uses the color O to represent nulls, which it ignores from then on. < 1263006671 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1263006824 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm quite convinced that works < 1263006827 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :It's easy enough to make the tiles allow any Sturmian word, except I don't know how to force alpha to be irrational. < 1263006883 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :The resulting set of tiles will contain 22 instead of 7. < 1263006943 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Now to ponder how to tile the entire plane. < 1263007069 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, a turing machine can be pretty easily embedded given a seed row < 1263007076 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Lessee. These tiles cannot tile the entire plane as long as there is are at least two tiles, horizontally separated, each containing an A or B; each one would generate more of itself below itself until they got crowded out. < 1263007127 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :those tiles certainly can fill the whole plane < 1263007135 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in fact just one of them can < 1263007214 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Hence the "as long as . . ." part. < 1263007280 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i didn't actually read what you said, sorta half-asleep < 1263007303 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just looking for errors in what you say i guess, easy way out < 1263010778 0 :coppro!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1263013691 0 :oklofok!n=oklopol@a91-153-117-63.elisa-laajakaista.fi JOIN :#esoteric < 1263014010 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263014184 0 :Pthing!unknown@unknown.invalid QUIT :Remote closed the connection < 1263015046 0 :soupdragon!n=somebody@unaffiliated/fax JOIN :#esoteric < 1263015580 0 :jpc1!unknown@unknown.invalid QUIT :"I will do freaking anything for a new router." < 1263015615 0 :jpc!n=jw@unaffiliated/javawizard2539 JOIN :#esoteric < 1263017242 0 :jpc!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263017371 0 :zzo38!n=zzo38@h24-207-48-53.dlt.dccnet.com JOIN :#esoteric < 1263017440 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I made a beer program in Icoruma (a markup language for RPG rules). Why? is, just because I can, that's why. http://pbox.ca/11dhp < 1263017541 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :To write a brainfuck interpreter, would be more difficult, because Icoruma lacks two things, input facilities and infinite loops (although you could still do infinite self-recursion) < 1263019156 0 :jpc!n=jw@unaffiliated/javawizard2539 JOIN :#esoteric < 1263019250 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :+ < 1263019443 0 :lifthrasiir!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1263019448 0 :lifthrasiir!i=oRrvoslN@haje12.kaist.ac.kr JOIN :#esoteric < 1263019829 0 :jpc!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1263019829 0 :jpc!n=jw@unaffiliated/javawizard2539 JOIN :#esoteric < 1263020032 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hey zzo I didn't get around to trying to compile your forth yet :( < 1263020150 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1263020243 0 :zzo38!unknown@unknown.invalid QUIT :"I am still in the process of writing the adventure standard library but now I have to sleep OK thanks bye" < 1263020801 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1263021263 0 :whtspc!n=chatzill@a230060.upc-a.chello.nl JOIN :#esoteric < 1263021366 0 :whtspc!unknown@unknown.invalid PART #esoteric :? < 1263023103 0 :coppro!unknown@unknown.invalid QUIT :Remote closed the connection < 1263023150 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1263023838 0 :Sgeo!unknown@unknown.invalid QUIT :"Leaving" < 1263023999 0 :clog!unknown@unknown.invalid QUIT :ended < 1263024000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1263024726 0 :pikhq_!n=pikhq@75-106-100-139.cust.wildblue.net JOIN :#esoteric < 1263025596 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263025855 0 :coppro!unknown@unknown.invalid QUIT :"I am leaving. You are about to explode." < 1263030084 0 :lament!n=lament@S0106002312fa554a.vc.shawcable.net JOIN :#esoteric < 1263030875 0 :lament!unknown@unknown.invalid QUIT : < 1263031590 0 :jpc!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1263032194 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1263033197 0 :Slereah_!n=Slereah@ANantes-259-1-93-84.w92-139.abo.wanadoo.fr JOIN :#esoteric < 1263034147 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263035271 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1263036841 0 :lifthrasiir!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1263037225 0 :rodgort!unknown@unknown.invalid QUIT :Client Quit < 1263037235 0 :rodgort!n=rodgort@li14-39.members.linode.com JOIN :#esoteric < 1263037548 0 :kar8nga!n=kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1263037721 0 :MizardX!n=MizardX@unaffiliated/mizardx JOIN :#esoteric < 1263037812 0 :FireFly!n=firefly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1263040520 0 :Sgeo!n=Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1263040954 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :okay I think I figured out an algorithm < 1263041454 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :where is my reward? < 1263041481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon, algo for what? < 1263041488 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :parsing < 1263041501 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon, parsing what language? < 1263041522 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I figure if you just parse every length 1 subseqence, then every length 2 subseqence, ... up to the lenght of your input < 1263041526 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :that should work fine.. < 1263041551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon, parsing what language? C? English? infix math notation? Haskell? < 1263041568 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon, link to your IRP programmer projecteuler account? < 1263041578 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :http://projecteuler.net/index.php?section=profile&profile=InternetRelayProgrammer < 1263041584 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1263041591 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1263041595 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :3 done! < 1263041603 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Btw, congrats on beating #2 < 1263041605 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Yeah < 1263041622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : http://projecteuler.net/index.php?section=profile&profile=InternetRelayProgrammer <-- redirects to front page? < 1263041629 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :not here < 1263041641 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster, im not parsing a specific language but a class of languages < 1263041666 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :how it work is every word is given a category, and a parse is such that the categories all fit together properly < 1263041673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon, what class? < 1263041682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which* < 1263041756 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :my idea for the algorithm is that you take as input, all the pases of the subseqences < 1263041769 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :then making a parse for the full thing just means connecting those up < 1263041786 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon, *which class* < 1263041881 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :it is used for english language btw < 1263041904 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :that's an example: Frank < ((gave > (a > flower)) > (to > Mary)) < 1263041933 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :that's a parse of Frank gave a flower to Mary, and the semantics are GIVE(FLOWER,MARY,FRANK) < 1263042416 0 :lifthrasiir!i=WzcD9SdX@haje12.kaist.ac.kr JOIN :#esoteric < 1263042570 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh lol, i thought "congrats on beating #2" meant soupdragon was now #2 on the overall player ranking. < 1263042696 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :haha I wish < 1263043209 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i never got very far, all the problems started looking the same after, well, whatever amount i did < 1263043224 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(also there was the fact they were hard, but let's not mention that.) < 1263044856 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1263045273 0 :ehird!n=ehird@91.104.236.31 JOIN :#esoteric < 1263045313 0 :BeholdMyGlory!n=behold@d83-183-181-73.cust.tele2.se JOIN :#esoteric < 1263045427 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You have to be logged in to be able to view the profile < 1263045660 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, if you're somehow reading logs of #xkcd, don't read what I said. I sort of hinted at a somewhat important FS spoiler < 1263045669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Quick, name an editor: Alter or Amend < 1263045669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :If you're the lowercase type, you could pick from one of these: alter or amend < 1263045680 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I am, in fact, stalking you, so thanks for the info? < 1263045701 0 :ais523!n=ais523@unaffiliated/ais523 JOIN :#esoteric < 1263045804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ah < 1263045828 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ehird: amend is very fuzzy and touchable. < 1263045840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Totally. < 1263045872 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :alter sounds like it wants to change the world with its old ideas < 1263045908 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, alter's old ideas, or the old ideas of the world? < 1263045926 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :alter's < 1263045929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1263045960 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what sort of editor would it be? Didn't you say you wanted to write a text editor recently? < 1263045989 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yes, and I decided I would and expanded a bit on my ULTIMATE VISION yesterday. < 1263045997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1263046018 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Driven by my frustration at how hard it is to do multiple major modes in Emacs, while trying to make a Frink Server Pages mode. < 1263046034 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1263046044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :tl;dr blurb: Buffers are abstract and possibly composable; modes are atomic, not regexp hacks operating on a buffer, and composable; < 1263046053 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fully extendable like emacs; < 1263046059 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :less RSI than emacs; < 1263046070 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, sounds nice. What language would it use instead of elisp? < 1263046075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and simultaneously command/keyboard based while still being comfortably point-and-clickable while appropriate < 1263046078 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the end < 1263046130 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :very nice. < 1263046135 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1263046135 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :we gonna see some changes around here < 1263046144 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Undecided. I'm probably going to use Tk for the GUI toolkit (don't worry, it doesn't have to be ugly! See http://tktable.sourceforge.net/tile/screenshots/unix.html; default, revitalized and clam are nice.), so I might use Tcl, but probably not since Tcl doesn't do lambdas well and stuff. < 1263046145 0 :Sgeo_!n=Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1263046148 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I might use Scheme. < 1263046155 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So, undecided, basically. < 1263046187 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1263046191 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, alter > amend < 1263046199 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1263046209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So 1:1. < 1263046483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :back < 1263046513 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, amend sounds like it can not completely restructure things. Just amend, like amendments to the US constitution < 1263046526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alter sounds much more powerful and capable < 1263046572 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what's this debate about? < 1263046580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to radically restructure things, if that is required. As well as just making small alterations should that be your goal < 1263046586 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, naming of ehird's editor < 1263046597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Quick, name an editor: Alter or Amend < 1263046597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : If you're the lowercase type, you could pick from one of these: alter or amend < 1263046597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :* ais523 (n=ais523@unaffiliated/ais523) has joined #esoteric < 1263046600 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pick whatever backronyms better < 1263046608 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't do backronyms. < 1263046618 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, someone else will if it becomes popular < 1263046625 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you want the backronym to be a good one rather than a terrible one < 1263046647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :personally I'd go for "alter" because it sounds more like "editor", and I think name-feel is important < 1263046648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well that is easy, alter stands for alter < 1263046664 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :People backronymmed "vi"? < 1263046673 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :People backronymmed "Notepad"? < 1263046687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm pretty sure Emacs is a unique recipient, and it was an acronym to start with. < 1263046702 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Also, it's technically not just an editor, as I'm fairly sure it would make a good mail interface too. (BUT NO TETRIS!) < 1263046728 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if it's not powerful enough to implement tetris, it fails as an editor < 1263046738 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :otoh, feel free to not include tetris as part of the standard distribution < 1263046740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, notepad = note or text editor plus a diagram. Oh sorry, did it have to make sense too? < 1263046740 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's certainly powerful enough. < 1263046747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'll just kill you if you do it. < 1263046764 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, isn't vim = Vi IMproved? < 1263046768 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or something like that < 1263046791 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe it's called VI because it's the world's sixth best editor < 1263046804 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1263046827 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :NOTEPAD: Not Only a Text Editor: Putrid Alchemic Death! < 1263046846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that high ranking? I doubt it. lets see... better ones: emacs, nano, joe, pico, kate, gedit < 1263046853 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it would be the seventh at most < 1263046873 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Come on, even I won't argue that nano is better than vi. < 1263046883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Only a zealot or an idiot who really likes nano would do that. < 1263046886 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think I can either, I was trying to come up with a plausible argument and failed < 1263046889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I presume you're not the latter. < 1263046893 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the best I can manage is "nano is better for beginners" < 1263046905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: AnMaster's argument is undoubtedly "vi is the worst thing EVARRRRRRRRRRRR and I hate it" < 1263046905 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which I don't consider to be an important property of an editor < 1263046926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And gedit? No... not really. < 1263046943 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well, vi probably isn't. worse. But personally I found vi more confusing than nano < 1263046944 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :gedit's "good enough", I use it sometimes, but I don't think it's better than vi < 1263046946 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Kate, well, I disagree, but we're getting into actual personal opinion here. < 1263046957 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, kate > gedit, I really should install kate on here < 1263046965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1263046966 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Joe, joe isn't bad. So sure, if you have idiosyncratic tastes. < 1263046971 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :"Good Enough eDIT" < 1263046974 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I want cake < 1263046977 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION scares AnMaster: Tuomov uses joe, you know < 1263046978 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :who doesn't < 1263046990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sudo aptitude install kate < 1263046990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, and he listed pico as well as nano < 1263046994 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how disingenuous < 1263046997 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I noticed < 1263047001 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I was working on a Python project, and was asked what editor I use. "Kate". "You get a girl to type in your programs for you? Lucky!" < 1263047013 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in conclusion, the defensible subset of his list is {emacs, joe, kate} < 1263047025 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yotto < 1263047040 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: was that a "joke" and if so was it yours or did this actually happen < 1263047064 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :It was a joke, it actually happened, although perhaps phrased differently, I don't remember. < 1263047083 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :It was 2005 or 2006, so < 1263047089 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :a few times i've gotten a girl to read my books to me. < 1263047098 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :it's great except it doesn't work < 1263047107 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :yeah I was gonna say, how does that work < 1263047118 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :because i need to constantly explain notation, and need to take pauses to think about proofs < 1263047124 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :works great for fiction tho < 1263047137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what we need is 2D natural language < 1263047137 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1263047138 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :mind doen't drift when the stream is constant < 1263047237 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :also with math and cs there's the slight problem the girl might get bored if she doesn't understand a single word < 1263047265 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :yeah girls don't understand things like math and computing < 1263047273 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or LIFIE < 1263047275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*LIFE < 1263047279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :OR BREATHING < 1263047281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: some do < 1263047289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think soupdragon was being sarcastic < 1263047289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe. < 1263047307 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wishes there were more girls in his programming classes < 1263047324 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh shit, i was supposed to meet this dude today and teach him game theory < 1263047333 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm... I can't develop my editor in OS X because Tk is yuck on OS X < 1263047334 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :prisoners dilemma < 1263047340 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(16:30 now) < 1263047344 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, because the tcl/tk os x comes with is old < 1263047348 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and i'm too lazy to install a new one < 1263047350 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :will he show up? < 1263047359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :doing it in a vm would be a bit of a bitch though < 1263047360 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i don't really let people here < 1263047368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so i have to install a non-os x OS on a second partition < 1263047378 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :if he's still up for it, maybe uni, oh wait, it's saturday < 1263047385 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you really want to create an editor that will be ugly on OS X? < 1263047386 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ooh, I've just had a ridiculous thought < 1263047389 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :an inside-out VM < 1263047397 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, you open a second OS inside your first one < 1263047402 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1263047410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then the VM sort of 'flips' and leaves you with your original OS running inside the new one < 1263047411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's the same thing as a vm :p < 1263047414 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Ok, around 2 o'clock then. Where do we meet? < 1263047415 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah. < 1263047420 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :seems we also set a time < 1263047422 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: Well, _anything_ that isn't Cocoa is ugly on OS X. < 1263047427 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :one fucking thing to do all week < 1263047427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or Carbon I guess if used carefully. < 1263047433 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I won't be using OS X soon anyway. < 1263047483 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: even if the girl was a mathematician, it's possible she wouldn't understand a single word, starting from a random chapter, with a random topic < 1263047503 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :although i'm not arguing girls usually have different interests < 1263047542 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ais523: don't VMs usually have a different sort of hardware on the inside to the outside?: < 1263047543 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Any ideas on what I should start reading online so conversation in here stops going over my head? < 1263047556 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: yes, but I don't think that's a fundamental limitation < 1263047559 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what subset of conversation < 1263047562 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just it's done that way because that way's easier < 1263047563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :we talk about everything < 1263047569 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok < 1263047571 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263047575 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: the interesting stuff or the OS stuff < 1263047579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :* ehird scares AnMaster: Tuomov uses joe, you know <-- name sounds familiar, can't place it. < 1263047584 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1263047585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: we don't do much os stuff anymore :| < 1263047587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Ion. < 1263047600 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the cool thing about your inside-out vm would clearly be the switching animation < 1263047603 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : oh, and he listed pico as well as nano <-- if you didn't realise it, it was half a joke. < 1263047607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ouch < 1263047614 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i label pretty much anything as OS stuff that contains individual program names :D < 1263047621 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm imagining the VM inside growing to be as big as the screen, and the other OS shifting into the window area < 1263047629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :while the window chrome fades appropriately < 1263047630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1263047633 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: lulz < 1263047639 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: OK, that /would/ be a great animation < 1263047641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, anyway, I would place emacs, kate, joe and nano above vi, but vim above nano < 1263047643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it would be: < 1263047650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :emacs, kate, joe, vim, nano, vi < 1263047677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I find it hard to imagine even you could place nano below vi < 1263047677 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i should probably call it something else, maybe "conversations containing individual program names". < 1263047682 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if some sort of hypervisor would be needed < 1263047689 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eh, tuomov isn't all bad. Yes, ion's license is really stupid, and he's a total asshole... but I read his blog a bit a while back, and he has a lot of good ideas < 1263047701 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is afraid he got a random uni acquaintance mad! < 1263047720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, possibly also gedit should be above vi, it isn't too bad. < 1263047721 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: I assumed you'd have one anyway, because virtualisation's really slow without it, and I can't imagine how the operation of turning a VM inside-out would work otherwise < 1263047730 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, would you agree with that list? < 1263047740 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Well, off to watch a movie on YouTube < 1263047742 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I've never used joe < 1263047743 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :also soupdragon: not far from the truth, prisoner's dilemma was in the last exam < 1263047752 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1263047757 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I don't think kate > vim is uncontroversial (and emacs v vim is definitely controversial) < 1263047760 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :sorry about random buffer emptying. < 1263047760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, only used it a bit, not much. The editors I actually use often are emacs, kate and nano < 1263047795 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Nothing is better than vim. < 1263047800 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :vim rules all. < 1263047802 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Muahahahaha < 1263047813 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has become addicted to using Chrome's Task manager to kill everything and close all tabs except one < 1263047814 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kate + joe > vim is highly controversial < 1263047822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :very few people would agree with that < 1263047839 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nano > vi too, although saying vi instead of vim means more people would agree < 1263047842 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but still controversial < 1263047862 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nano and vi have similar capabilities, I think < 1263047874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well, depends on what aspect you are rating. Customisability: then vim is probably directly after emacs. Ease of use: then my rating probably isn't too far off < 1263047875 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :vi's harder to learn but a bit faster to use once you have < 1263047882 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: nano doesn't have vi's composable commands < 1263047884 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nor :! < 1263047889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :afaik < 1263047893 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or ex mode < 1263047894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it's not even remotely as powerful as vi < 1263047897 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1263047901 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I said capable, not powerful < 1263047903 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :How is it that I always get interested in stuff for stupid reasons? < 1263047906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I agree that vi's a lot more powerful < 1263047906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :LOL < 1263047914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster thinks emacs is easier to use than kate or joe or nano? < 1263047915 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :My reason for learning Python in the first place is rather idiotic < 1263047921 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :what would it be < 1263047929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :on crack on crack on crack, crack crack crack crack crack crack, onnnnnn crack < 1263047934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just call it the AnMaster song < 1263047941 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :The fact that the interpreter is free < 1263047953 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :us who are afraid of programs can have a side conversation about liking stuff < 1263047964 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: one fun test is to find someone who doesn't know how to use editors at all, and see how long it takes them to exit editors they haven't seen before < 1263047966 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that's not a reason < 1263047968 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh well aren't they for most languages? < 1263047977 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :: aye < 1263047986 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :what less-mainsteam spoken/human languages do you do? < 1263047994 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, I didn't know that < 1263048001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can get emacs, vi[m], and nano any way round on that test, depending on the details < 1263048001 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :everyone < 1263048012 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I seriously thought I had to pay some company or other to use C or C++ < 1263048034 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: finnish < 1263048045 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :it's a dead language on the north coast of the world < 1263048046 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: that used to be the case, maybe 10 or so years ago < 1263048049 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a finn speaks finnish? gosh amazing < 1263048049 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not any more though < 1263048051 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1263048054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: err... gcc? < 1263048058 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :*used < 1263048060 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :late 1980s < 1263048063 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I may have been reading about C and C++ 10 years or more ago < 1263048064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: was it available for Windows 10 years ago? < 1263048071 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :In books < 1263048072 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263048076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well djgpp when was that < 1263048080 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Hm, I also read about Perl, so < 1263048083 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, good point < 1263048087 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1989 < 1263048096 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe first usable 1990-1991 < 1263048104 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so more like 20 years < 1263048105 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Also, I remember talking to some waitress being so excited that the Java SDK was free < 1263048122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Waitresses excited about the Java SDK being free. < 1263048122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :O-kay. < 1263048126 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no, I was < 1263048131 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1263048133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1263048138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You're crazy. :P < 1263048142 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :that's just as weird < 1263048143 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1263048148 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps weirder. < 1263048150 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1263048153 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hi soupdragon < 1263048157 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I can almost imagine a waitress-by-day, master-hax0r-by-night. < 1263048163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: how old were you < 1263048165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like 12? < 1263048178 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :when ehird was 12, he was already programming for nasa < 1263048184 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I don't remember. Probably around that age, or younger? < 1263048185 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :seems it was 1996 before DJGPP could completely self-bootstrap < 1263048189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: DON'T TELL THEM < 1263048193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: self-bootstrapping isn't important < 1263048197 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh was that confidential < 1263048199 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I know < 1263048203 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: ULTRA CONFIDENTIAL < 1263048203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm just amused at the timelag < 1263048216 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :EVERYONE TYPE /CLEAR PLS < 1263048217 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hmmmmm < 1263048220 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :this conversation isn't im[proving my mood < 1263048230 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"I thought of this episode yesterday while playing around with my laptop’s webcam and a Python shell. Finally I wrote a little fun script that does almost the same: Just register it as a hg hook and it takes a picture of you exactly at the unique moment when merging fails and it sends it directly and without any further questions to Twitpic and Twitter:" < 1263048236 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://andialbrecht.wordpress.com/2009/05/09/when-merging-fails/ < 1263048240 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hi SimonRC < 1263048254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: what, are you upset that I programmed for nasa*? < 1263048255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*lie < 1263048262 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ehird, re[ae]ddit < 1263048263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that seems like a rather weird thing to do < 1263048278 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: you took 10 mis to spot me? < 1263048279 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mean, the merge-fail thing < 1263048282 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :what is the term for non-computer programming/informal language? < 1263048287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: click the link for the reason < 1263048291 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: natural language < 1263048297 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :but they are not all natural < 1263048302 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :like the ones people make up for films < 1263048313 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :constructed language < 1263048313 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/conlang < 1263048317 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there is no good name < 1263048319 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Or Loxian? < 1263048328 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :<3 Enya < 1263048330 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but what is the union of conangs and natlangs? < 1263048331 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hmmmmm < 1263048351 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I still don't get it even after reading the page < 1263048357 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hey im going out see you < 1263048362 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the page didn't really say anything useful other than the quote < 1263048367 0 :soupdragon!unknown@unknown.invalid QUIT :"Leaving" < 1263048380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: merge failing = terrible emotional anguish < 1263048384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :terrible emotional anguish = funny < 1263048390 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm just vaguely annoyed at people being more capable than I was at their age. It happens all the time on this channel < 1263048392 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, merge failing = merge failing < 1263048395 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :schadenfreude = funny < 1263048399 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't see why it's particularly anguishing < 1263048400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: for you perhaps < 1263048403 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ACTION read "i'm going out to see you" < 1263048405 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because you have to merge manually < 1263048413 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: just get a time machine < 1263048429 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: but that only happens if either there's a conflict, or the merge is trivial but something the VCS didn't think of < 1263048431 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, same here < 1263048441 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: when i was 12, i was just as stupid as now < 1263048441 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Or are more capable than I currently am now < 1263048451 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in the first case you need to talk with the person who made the other version, and sort it out with them, the second case is easy < 1263048460 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, one of my projects that hasn't got off the ground is my own VCS < 1263048460 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :plus i didn't know any math < 1263048467 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i remember when i was... 10? i was jealous of an 11 year old who could code c because i couldn't :p < 1263048469 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Although I take some comfort in the fact that when I try to tell people that, they don't believe me < 1263048472 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :not knowing any math makes you worthless < 1263048478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :...as if c was some immensely difficult thing or whatever < 1263048482 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: could you code C at age 11? < 1263048500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i don't know when i learned c. maybe 11 yeah < 1263048502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or very early 12 < 1263048520 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i learned c++ at 10 from a book, first tried coding in it when i was like 13 or 14 < 1263048528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't recall learning it, I wrote hello world and 99 bottles of beer, wrote some stupid unworking interpreters some time later, and then suddenly the next time I grokked it completely < 1263048529 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :or maybe it was 11 < 1263048534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and...now I'm pretty good at c < 1263048541 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :all i know is it took months < 1263048558 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :and i think i didn't really understand most of the last 200 or so pages < 1263048567 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :just had to read all of it < 1263048582 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, I learnt Prolog something like 7 years before I got my hands on a Prolog interp < 1263048593 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :how did it go? < 1263048602 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :If you consider reading from a book enough to learn a language, then I learned C++, Perl, COBOL, and probably some others < 1263048605 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pretty well, actually < 1263048611 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I sort-of understood how it worked, just couldn't try anything out < 1263048613 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I've never actually written a line of Perl or COBOL in my life < 1263048614 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i was pretty much fluent right away, in the c subset that is < 1263048616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263048619 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and when I installed gprolog much later, I could write in it < 1263048628 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :IDENTIFICATION DIVISION. < 1263048632 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :There. I wrote a line of COBOL < 1263048636 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :luckily Prolog syntax is trivial, otherwise it would be easy to mess it up < 1263048647 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders whether to install windows or linux on the separate partition; Windows plays nicer with Frink, I believe, and is easier to set up to be bearable for me, but Linux lets me use tk more "natively" < 1263048653 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: also, half the stuff you write is probably valid Perl by chance, assuming appropriate imports < 1263048665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :prolly linux, debian or something so i don't have to get packages myself < 1263048666 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1263048680 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :all of the stuff < 1263048686 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if preceded by a single use statement < 1263048700 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm assuming no source filters, they make it too easy < 1263048706 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Ok, this is the second time in two days I've experienced deja vu < 1263048710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then you're wrong < 1263048719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I get deja vu all the time < 1263048731 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: it's a sign of alzheimer's < 1263048732 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: was that "then you're wrong" directed at me? < 1263048736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes :P < 1263048747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :In fact, often I'm sure that I've had the same deja vu more than once before. < 1263048754 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can make anything a valid Perl program with "use ACME::JAPH;" at the top < 1263048755 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think this is because the deja vu implants such fake memories in my brain. < 1263048762 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :rather than me actually having recurring deja vu < 1263048765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I wasn't counting that < 1263048771 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Same when I think I've had a dream before < 1263048775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(or had a prequel to a dream I just had before) < 1263048779 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :This time, the statement about deja vu wasn't part of the deja vu < 1263048785 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Often, it is < 1263048823 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: my dreams seem to be more consistent with each other than they are with real life < 1263048918 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my dreams are great. < 1263048933 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they're like really well made movies < 1263048957 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird < 1263048958 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :opinion? < 1263048963 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was sad waking up from a dream recently even though I was tense as hell in it because the story was so good :) < 1263048994 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Admittedly at the time I was some of yours ages I did not have aaccess to the technology you have. My parents have never been great upgrades of computing hardware. < 1263048994 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :also, anyone have a CS4 serial number? :| < 1263049007 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://torrent-site.getityourself/ < 1263049030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: as i said. time machine < 1263049051 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in a different way < 1263049082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1263049093 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird :P < 1263049161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : AnMaster thinks emacs is easier to use than kate or joe or nano? <-- "isn't too far off". kate and nano I would place above emacs at least in ease of use. Maybe joe too. < 1263049170 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl again < 1263049175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :isn't too far off, that was like a half of your list < 1263049306 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Time for movie watching < 1263049346 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird, whats your opinion on groups? < 1263049366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/shrugggggggggggg < 1263049377 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :many are dead, but some are still vibrant communities < 1263049381 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :well you seemed pretty opinionated the other day :| < 1263049395 0 :pikhq_!unknown@unknown.invalid NICK :pikhq < 1263049401 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :did I successfully pick the wrong meaning of "groups"? < 1263049419 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1263049426 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Depends on your notions of "usability". < 1263049440 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Usable by an expert on the program, or usable by someone who knows nothing about it? < 1263049446 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It makes a difference. < 1263049454 0 :Sgeo_!unknown@unknown.invalid QUIT :"Leaving" < 1263049460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :he said "easy to use" < 1263049467 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is definitely the latter < 1263049487 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, okay then. < 1263049503 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, nano, kate, and joe are all much easier to use. < 1263049506 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :there's a group theory course in both the psychology and the math dep < 1263049520 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Since they don't assume you're putting in time to learn them. < 1263049532 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, true < 1263049586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyone know if there's a website that lets you set up like a little poll thing without bullshit or ads or whatever, i wanna make one for alter/amend :P < 1263049592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh forgot one that ranks above vi: ed < 1263049592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1263049621 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :vi > ed in terms of ease of use, almost certainly < 1263049628 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because you can use it much like ed, just ignoring the visual stuff < 1263049653 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or you can use it visually, which is at least not a complete mindfuck for a new user. < 1263049679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ed has much less clutter in the user interface to distract new users. < 1263049709 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ah, I have seen a polling website like that somewhere... < 1263049714 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think I found a nice one < 1263049793 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263049802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if lowercase vs title case would sway people's opinions < 1263049810 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :alter < 1263049810 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :amend < 1263049810 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :--- < 1263049811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Alter < 1263049811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Amend < 1263049820 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :most_pleasing(X) == most_pleasing(Y)? < 1263049880 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well the one I had seen is SurveyMonkey < 1263049903 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and what are these words for? < 1263050011 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The name of my editor. < 1263050071 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.doodle.com/rhriqxe2rb226it2 < 1263050082 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I prefer alter to Alter. But both are better than amend/Amend < 1263050084 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: ais523: pikhq: you are contractually obligated to vote < 1263050090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you too < 1263050116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, at least it should be "alter" that you type in the terminal in any case. < 1263050123 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I disagree with your contractual obligations < 1263050135 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are several reasons I don't have a binding contract on me to do that < 1263050140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is it because you refuse to use web browsers or something < 1263050142 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and if I have a voidable contract on me to do that, I hereby void it < 1263050145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what ais523 said. < 1263050146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or are you just nitpicking and will vote anyway :) < 1263050147 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, legal reasons < 1263050150 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how about a word that isn't already used for something? < 1263050159 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: I'll add an other option < 1263050193 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, unable to vote. Page requires javascript < 1263050197 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.doodle.com/rhriqxe2rb226it2 < 1263050224 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I dunno which is easier to type < 1263050243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :both are pretty easy < 1263050297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :both are left-hand-heavy on QWERTY, but really, neither are problematic < 1263050305 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I avoided theone with COBOL connotations < 1263050326 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, at least it doesn't seems to have registered my vote. Page didn't reload or anything < 1263050345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, however, put me down for "alter" in lower case < 1263050352 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :why is upgrading xterm reducing its size by 205kB? < 1263050355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I made a poll so I didn't have to tally the votes myself. < 1263050360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Just enable JS for three seconds... < 1263050361 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that is somewhat add < 1263050363 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*odd < 1263050385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :COBOL connotations, what a problem :P < 1263050391 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't that be ALTER < 1263050399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'm not running X atm < 1263050406 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :cobol isn't case-sensitive IIRC < 1263050424 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well use a text-mode browser that does javascript? < 1263050437 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: OK, I voted < 1263050439 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in w3m < 1263050442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: AnMaster is just a malcontent, he'll come up with objection after objection most likely < 1263050448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm okay w3m might do it < 1263050449 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there's a link to a JS-free version, I used that < 1263050453 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :* shrug < 1263050459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there is? < 1263050474 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's probably removed if you have JS available < 1263050482 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :by the KS itself < 1263050484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*JS < 1263050490 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thought so < 1263050499 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also voted with w3m < 1263050503 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure it worked < 1263050510 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyway it beats all the other poll sites which are straight out of the 90s and filled with ads < 1263050526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or would you have _preferred_ I used Angelfire Polls or something :-P < 1263050543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it did not. < 1263050545 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :click the non-js link. < 1263050566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I did click the non-js one < 1263050578 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :did you put a name in? maybe it's requiring that < 1263050609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I did put a name in < 1263050617 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also now some of them are grayed out < 1263050619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how strange < 1263050654 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm unable to select anything but "other" now < 1263050658 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah i think you're meant to be able to like... change your vote or something, this thing is really designed for multiple choice polls I think < 1263050658 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the other options are grayed out < 1263050661 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lemme see if Ii set the settings wrong < 1263050684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Limit number of OKs per participant (row) to 1 < 1263050684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Limit number of OKs per option (column) Limit: 1 < 1263050699 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, i see < 1263050713 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the latter one means "people can only select every option unless nobody else has" < 1263050715 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :due to limit: 1 < 1263050716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fix'd < 1263050728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can even change your vote now and shizz if you like that kind of thing < 1263050758 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION makes a mental note: make poll site that isn't total bullshit < 1263050823 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and stop AnMaster from voting because he'll just reject the thisguyhasalreadyvotedsodon'tlethimvoteagain cookie :P < 1263050852 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I just did rm ~/.w3m/cookie afterwards < 1263050865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this is why we can't have nice things. < 1263050924 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, nice what? < 1263050968 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just things in general, or some specific things? < 1263050982 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :mostly those that cost too much < 1263051050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, according to the old or the new classification system? < 1263051118 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1263051162 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: you haven't voted :| < 1263051178 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :wait what vote i haven't been reading < 1263051181 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.doodle.com/rhriqxe2rb226it2 < 1263051223 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :WHY NOT TETRIS I LIKE TETRIS < 1263051232 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes for breakfast < 1263051235 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes out to have a life < 1263051276 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: VOTE BASTARD < 1263051276 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1263051295 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"BASTARD" is not an option in this poll. < 1263051298 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes for breakfast < 1263051324 0 :lieuwe!i=3efb65d9@gateway/web/freenode/x-biycevoaosulzhit JOIN :#esoteric < 1263051329 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh no, now SimonRC gone for breakfast twice without going back in between < 1263051331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1263051341 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so he must come back twice afterwards < 1263051347 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :err < 1263051349 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i already voted < 1263051397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1263051398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you didn't < 1263051401 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you have to click save < 1263051404 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :hi, i was thinking about writing an implementation for a high level esolang, but none of the articles on the wiki are descripive enough... < 1263051406 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also put in a name if you didn't i guess < 1263051413 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lieuwe: define high level :) < 1263051417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :most esolangs are low level < 1263051448 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: a language which understands the concepts of functions and expressions ;-p < 1263051455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :underload! < 1263051457 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: plug underload. < 1263051475 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, Underload's rather low-level < 1263051482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it understands the concept of a function. < 1263051486 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. it has functions < 1263051496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it has expressions. which are the functions. < 1263051498 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but Underload (and more so Underlambda) treat everything as functions from stacks of functions to stacks of functions < 1263051498 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Esolangs tend to be rather low-level < 1263051515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: *functions from stacks of functions from stacks of ... < 1263051525 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, it's infinitely recursive < 1263051533 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you define "function" = "function from stack of functions to stack of functions" < 1263051545 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the recursion bottoms out eventually because some of the stacks are going to be empty < 1263051554 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :type UL = Stack UL -> Stack UL < 1263051558 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :IF ONLY THAT TYPED < 1263051563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(it does with newtype around it) < 1263051616 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I'm vaguely interested to see an Underload implementation in pure Haskell now < 1263051622 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not quite what i need :-p might be time to create my own esolang... < 1263051625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :way ahead of you, writing it now < 1263051636 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although, it could be a little tricky because Underload is strict and Haskell is lazy < 1263051638 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lieuwe: sure, we welcome every esolang < 1263051640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unless it's crap < 1263051647 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1263051651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so statistically we have ~0.1% probability of welcoming an esolang < 1263051658 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1263051658 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: :-P < 1263051668 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :statistically, though, the vast majority of bad esolangs are trivial BF variants < 1263051679 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ais523: sad, but true < 1263051683 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'm gonna implement underload without S first, because S just makes things uglier < 1263051692 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :agreed < 1263051696 0 :pikhq!n=pikhq@75-106-100-139.cust.wildblue.net JOIN :#esoteric < 1263051703 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could implement Underlambda, S means something different there < 1263051713 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lolo < 1263051714 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*lol < 1263051723 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i clicked save < 1263051724 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh name < 1263051726 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://www.doodle.com/rhriqxe2rb226it2 :| < 1263051727 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it means "output this function", but doesn't specify the format (the only restriction is that you have to be able to read the function back in again later) < 1263051760 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i was thinking about something with too much brackets(even worse than lisp one-liners...) < 1263051786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lieuwe: just do "pure" (original mccarthy) lisp with s-expressions and no (quote x) shorthand as 'x < 1263051790 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1263051795 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :wee < 1263051797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm... I've just realised that maybe implementing it in a Windows VM with WinHugs and an XEmacs without a Haskell mode is not the best idea < 1263051802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh well! < 1263051804 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Underload does have quite a lot of parens too < 1263051805 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i have a primitive javascript prolog interpreter < 1263051806 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1263051817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION secretly opens Emacs in OS X instead < 1263051819 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: get haskell-mode, then < 1263051828 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :way too much work when I could just open the host emacs < 1263051841 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and get inferior haskell mode for free < 1263051857 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although winhugs is surprisingly nice < 1263051904 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :beh, that's the #2 problem with Windows: it's such a pain to install anything < 1263051909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it has a haskell module manager thingy, lets you browser typeclasses, their superclasses, members and instances, lets you browse defined names (functions or values) and their types, and search them... < 1263051921 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's taken around 2 months so far to install the Xilinx development environment on this Windows computer, for instance < 1263051932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :...and types plus their constructors and typeclass instances < 1263051936 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh, it's not hard < 1263051942 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: nah, not nearly good enough, i was thingking about using every possible type off bracket for different things ()<>{}[]\/ etc. < 1263051949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :installing xemacs was just clicking next a bunch of times; haskell-mode would just be putting stuff in C:\home\.xemacs < 1263051951 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lieuwe: heh go ahead < 1263051966 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lieuwe: most of us find that syntax is the least interesting avenue for esolangs, but there are some it works for < 1263051967 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e.g. smith < 1263051998 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, smith is more concept than syntax < 1263052006 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: hmm, ah, well, i'll just mess about with this for a while... < 1263052010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL plays with syntax quite a bit, although that's the least interesting part of the language < 1263052015 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a good start though < 1263052028 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :making a non-syntax esolang is _hard_ < 1263052052 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I think Forte's aided by its syntax, although again the syntax isn't the point there < 1263052129 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: lol, I didn't even realise how ugly S would be, I just thought it'd be adding IO or making it ([UL],String) < 1263052137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :having to have the string versions of the functions never even crossed my mind < 1263052153 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :S is truly ugly, that's why Underlambda doesn't have Underload's S < 1263052206 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ulChar 'a' = (\(x:xs) -> (\ys -> x:ys):xs) < 1263052238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and S slowed the development of the efficient underload compiler, due to the interpretation of ^ as "include text" < 1263052240 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or "eval" < 1263052248 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes < 1263052259 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although, derlo is pretty fast, despite being an interp < 1263052260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ulChar '^' = (\(x:xs) -> x xs) < 1263052260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pretty < 1263052280 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :would be fun if you could write that as (:) -> ( ) or something < 1263052299 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or maybe (:) -> ($) < 1263052302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to avoid whitespace issues < 1263052316 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :;query lambdabot < 1263052332 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fail :P < 1263052344 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :[15:51] @pl (\(x:xs) -> x xs) < 1263052345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: or rather to avoid () being () issues < 1263052345 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :[15:51] ap head tail < 1263052350 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1263052359 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a rather pretty version of it < 1263052370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ap is monadic iirc but for functions i believe it's < 1263052376 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ap f g x = (f x) (g x) < 1263052380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. branching of a sort < 1263052391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :more like the s combinator < 1263052392 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ap = apply, maybe < 1263052397 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, that's exactly the s combinator, isn't it? < 1263052397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not really < 1263052399 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1263052401 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ap = S. < 1263052403 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1263052404 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263052405 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :right yes < 1263052406 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm dumb < 1263052413 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :```sxyz = ``xz`yz < 1263052432 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Of course, that it *is* the S combinator on the functions is just coincidence. :P < 1263052466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ugh, I can't do: < 1263052470 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ulChar '*' = \(x:y:xs) -> (x.y):xs < 1263052476 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because x and y are wrapped in a newtype < 1263052482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haskell should allow recursive types :( < 1263052484 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :who cares about type safety < 1263052603 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :\(UL x:UL y:xs) -> (x.y) : xs < 1263052611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, yes < 1263052615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or newtype UL = UL { app :: [UL] -> [UL] } < 1263052636 0 :soupdragon!n=somebody@unaffiliated/fax JOIN :#esoteric < 1263052653 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or use (.) from Control.Category and define an instance Category UL < 1263052808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, you got it wrong < 1263052819 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :\(UL x:UL y:xs) -> UL (x.y) : xs < 1263052836 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Quite right < 1263052844 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I recommend the custom (.) TBH :-P < 1263052859 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I wish this were Caleskell and (.) = fmap < 1263052860 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :whats UL < 1263052863 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :underload < 1263052867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hey, maybe I could just define (.) = fmap < 1263052870 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You can set (.) = fmap easily < 1263052906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Wonder if Applicative has anything useful or whatever < 1263052926 0 :kar8nga!unknown@unknown.invalid QUIT :Remote closed the connection < 1263052937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh, that won't work though < 1263052946 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Because the first argument is a function < 1263052948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Control.Category it is < 1263052979 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :http://www.pasteit4me.com/99004 < 1263052983 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Caleskell makes (.)=fmap. < 1263052993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :he knows < 1263052995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, id and (.) form a monoid. < 1263052995 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. So ehird said. < 1263053021 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :you are a monoid < 1263053036 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, I can use newtype deriving can't I < 1263053047 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You can use whatever you like; the world is open to you < 1263053054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :^___^ < 1263053066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Cannot derive well-kinded instance of form `Category (UL ...)' < 1263053066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Class `Category' expects an argument of kind `* -> * -> *' < 1263053069 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And here we find our problem. < 1263053082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :newtype UL = UL ([UL] -> [UL]) deriving (Category) < 1263053092 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, true, it wants a different kind < 1263053100 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I'll just define my own (.) typeclass. < 1263053101 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't really matter though < 1263053113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yes it does, it means I can't do it without an ugly type alias < 1263053136 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :One ugly type alias versus hundreds of ugly (UL f) -> UL (f x) ! < 1263053143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Fiiiine. < 1263053146 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1263053160 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ugh, I wish Haskell allowed recursive types. < 1263053163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It is limiting my expression! < 1263053193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Ooh, but I can't do that. < 1263053198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :type UL = UL' [UL] [UL] < 1263053205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fgsfds < 1263053218 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :data UL = UL [UL] [UL] < 1263053221 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Haha, good point. < 1263053222 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And if I add a new newtype, I need to define Category on it manually. < 1263053227 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :zero = UL [] [] < 1263053228 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :...which I can't do because of kinds. < 1263053258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'm just going to define a separate operator for UL-(.) < 1263053268 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not your own type class? < 1263053283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :If I make it (class Composable a) then I can't do the traditional (.) on functions. < 1263053309 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hmmh, this is a bit annoying. < 1263053328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Haskell's typeclass system is kinda crap. < 1263053348 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1263053353 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't say that :-P < 1263053355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sweet, (..) isn't a valid identifier? < 1263053360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Because of ranges. < 1263053368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I should just say fuck it and use OCaml. < 1263053373 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It allows recursive types. :P < 1263053397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Have you noticed that all the good operator names are taken < 1263053405 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No < 1263053411 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :have you noticed that import qualified Prelude < 1263053420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: i'd rather not < 1263053425 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :that's insane < 1263053439 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I'll be patriotic and use (£) < 1263053450 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Have you noticed that Japanese punctuation is mostly unused as operators? < 1263053462 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Ooh, what's that Japanese dot thing? < 1263053471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That they use instead of . because they like big, fat, chunky hollow things. < 1263053477 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :o < 1263053498 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Wonder if (∘) is an identifier < 1263053498 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The... Period? :P < 1263053506 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: nooo it's fatter. < 1263053524 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, ASCII only :P < 1263053533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I may just end up calling it o < 1263053534 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :According to Unicode, (。) is a "ideographic full stop". < 1263053577 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a full stop. < 1263053596 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or, if you prefer, a kuten. < 1263053649 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: are there "invalid" UL programs, do you think? < 1263053654 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or is (/) matching not strictly required < 1263053662 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the matching is required < 1263053666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. ) without ( is like any other unhandled character, an error < 1263053672 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but only when run < 1263053676 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a compile-time error < 1263053680 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :alright < 1263053685 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although you can handle it at runtime instead if you prefer < 1263053689 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kay < 1263053695 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: You could also use Japanese quote marks. < 1263053701 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : 「 」 『 』 < 1263053704 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1263053705 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but something like "x" is a runtime error, right? < 1263053710 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, in Underload < 1263053727 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Irritating Haskell semantics: < 1263053727 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in Underlambda, it's compile-time unless you defined it in advance, or it's inside a string literal < 1263053729 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I love those < 1263053729 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :「 」 『 』 < 1263053737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(error "foo") is not the same as (\() -> error "foo") < 1263053744 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Fucking impurity < 1263053750 0 :Pthing!n=pthing@cpc11-pres4-0-0-cust168.pres.cable.virginmedia.com JOIN :#esoteric < 1263053758 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is error monadic? < 1263053761 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1263053763 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :error :: String -> a < 1263053766 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1263053774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's what e.g. (1 `div` 0) gives < 1263053782 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even Perl6 does better < 1263053784 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it has lazy errors < 1263053817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"You did not provide any name." voted for alter < 1263053820 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :who's that; pikhq? < 1263053830 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not I. < 1263053862 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: can you work it out by elimination? < 1263053867 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if it's AnMaster voting twice < 1263053881 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Well, of course error "foo" != \()->error "foo". < 1263053885 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster is a malcontent, he tries very hard to stray from outright malicious < 1263053889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so I doubt it < 1263053894 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :that's me I voted < 1263053894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although it is the same vote < 1263053896 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's _|_ != \()->_|_ right there. < 1263053910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yes, and _|_ is shit :( < 1263053921 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: So, you want a total language. < 1263053929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, because totality implies sub turing completeness :P < 1263053931 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :total awesome language < 1263053936 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird no it doesn't < 1263053937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe have partiality be a monad < 1263053943 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And totality implies no _|_. < 1263053946 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: total language + partiality monad != total < 1263053951 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And no _|_ implies totality. < 1263053956 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :== non-total but with the total bits marked < 1263053959 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kinda like haskell+io tbh < 1263053982 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you can model lambda calculus, turing machines with semantics, mu-operators < 1263053982 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what's the partiality monad again, data Partial a = Now a | Later (Partial a)? < 1263053996 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: well the "total fp" paper says it is sub-tc < 1263054000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :* ais523 wonders if it's AnMaster voting twice <-- no, why? < 1263054003 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :codata Computation a = Now a | Delay (Computation a) < 1263054019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, it had to be someone < 1263054024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: s/codata/data/ if you want to model it in haskell right < 1263054031 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :screw haskell < 1263054035 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, someone voted twice? < 1263054037 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is not an answer < 1263054044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: because you said you removed the cookie < 1263054143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well yes, I always do. < 1263054180 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I wouldn't vote twice, that is against my morals < 1263054232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm... a UL program ins1ins2 is identical to (ins1)(ins2)* < 1263054248 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not quite < 1263054250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so I think I'll structure my parser as String -> [UL] and then fold compose them < 1263054258 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(ins1ins2) = (ins1)(ins2)* < 1263054263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ins1ins2 = (ins1)(ins2)*^ < 1263054264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm... a UL program ins1ins2 is identical to (ins1)(ins2)*^ < 1263054267 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1263054268 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you get the idea :P < 1263054269 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1263054378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ugh, lambdabot can't pattern match on tuples? < 1263054393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :`@pl let (x,xs') = f xs in x : f xs'` fails < 1263054398 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :pl can't < 1263054433 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well right < 1263054436 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Use fst/snd < 1263054462 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[16:27] ehird: @pl let blah = f xs in fst blah : f (snd blah) < 1263054463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[16:27] lambdabot: fst (f xs) : f (snd (f xs)) < 1263054468 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Thanks, lambdabot. < 1263054469 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1263054488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[16:27] ehird: @pl \blah -> fst blah : f (snd blah) < 1263054489 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[16:27] lambdabot: liftM2 (:) fst (f . snd) < 1263054491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Now we're getting somewhere < 1263054497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :liftM2 has a more general name right < 1263054497 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I guess what you want is liftM2... yeah, that. < 1263054538 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ulSplit' ('(':xs) = let (x,xs') = ulSplit' xs in x : ulSplit' xs' < 1263054538 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ulSplit' ('(':xs) = liftM2 (:) fst (ulSplit' . snd) $ ulSplit' xs < 1263054544 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The latter is, shall we say, uncompelling < 1263054580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm... would you accept an implementation that, if you give it an unmatched ), discards it and the rest of the program, as conforming? < 1263054600 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, because an unmatched ) is undefined behaviour < 1263054606 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I think an error message would be more useful < 1263054648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, but I'm going for implementation simplicity and purity here < 1263054753 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, aren't you supposed to be able to escape those (but no one implements that). or something like that < 1263054760 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1263054774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Other characters are reserved, but nobody implements the reservation. < 1263054780 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :They cannot be used in a valid Underload program. < 1263054780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, in theory you can use " as an escape character in Underload, but that's sufficiently unimplemented that it doesn't count as part of the lange < 1263054781 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah that was it < 1263054785 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*lang < 1263054788 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not in theory, it's not part of the spec < 1263054789 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, right < 1263054801 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, but nobody obeys the spec < 1263054804 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not even me < 1263054806 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :w00t, tokenizer done, man, that was easy :-p < 1263054809 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I kind-of like it that way, though, it's very eso < 1263054889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what I mean is < 1263054895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in theory no you cannot use " as an escape char < 1263054899 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it isn't in the specc < 1263054901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just reserved < 1263054902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*spec < 1263054918 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I thought the spec said you could use " as an escape char < 1263054927 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but given that it's on a wiki, maybe someone edited it to match reality < 1263054954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/files/underload/underload.html < 1263054956 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can escape []<> < 1263054958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but not () < 1263054961 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :god only knows why < 1263055013 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1263055020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: my implementation will support infinite-length programs < 1263055028 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: which is the one that works with infinite lists, foldl or foldr < 1263055030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foldr right? < 1263055064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I know why too, it's an implementation details of my first underload interp that somehow made it into the spec < 1263055069 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, foldr < 1263055076 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : you can escape []<> <-- but do those even mean anything in the language? < 1263055076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: slight issue with my impl, there's no way to inspect the output < 1263055080 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1263055085 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, :D < 1263055086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they are reserved, you cannot use them without escaping < 1263055089 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just you aren't allowed to use them < 1263055096 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you'd better have a test suite whose output only depends on the length of the resulting stack < 1263055098 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, can you escape a literal " though < 1263055100 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise i can't test this thing :) < 1263055103 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1263055107 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, how fun < 1263055186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, why can't you allow output? < 1263055216 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because I'm representing underload functions as haskell functions < 1263055243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A UL program is a function from a list of UL programs to a list of UL programs. < 1263055297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Main> length $ ulRun "(:)(:)*^" < 1263055297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*** Exception: /Users/ehird/Code/scraps/2010-01/underload.hs:(18,8)-(25,31): Non-exhaustive patterns in function ulSplit' < 1263055297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That may look like an error message... but it's actually a bug in my parser. < 1263055298 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, why not make it a function to a tuple of output and ul pgoram < 1263055313 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that isn't sufficient < 1263055315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :program* < 1263055318 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'd need a function (function → string) < 1263055330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and that string must be the original UL source code < 1263055336 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm okay < 1263055339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'd have to pass around the string anywhere, which removes all the purity < 1263055344 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1263055400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: so the partiality monad, can it be used just like the identity monad in haskell < 1263055411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :val <- partialFunc x < 1263055415 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1263055418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :return (someComputation val) < 1263055501 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Main> length $ ulRun "(:)(:)*^" < 1263055502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*** Exception: /Users/ehird/Code/scraps/2010-01/underload.hs:13:25-45: Non-exhaustive patterns in lambda < 1263055504 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's alive!!! < 1263055512 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gimme some test program and the length of the tape it should result in :P < 1263055537 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Main> length $ ulRun "(poop)(:)(:)*^" < 1263055538 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*** Exception: Invalid instruction: p < 1263055538 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, what < 1263055559 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Main> length $ ulRun "(poop):" < 1263055559 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*** Exception: Invalid instruction: p < 1263055564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okay some quoting issues here. < 1263055580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1263055585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :would help if i actually put the quoting stuff in < 1263055587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::))))))) < 1263055637 0 :Asztal!n=asztal@host86-159-105-254.range86-159.btcentralplus.com JOIN :#esoteric < 1263055669 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird that's correct but it has super powers too < 1263055700 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird here is an example http://moonpatio.com:8080/fastcgi/hpaste.fcgi/view?id=562 < 1263055735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and (Now True) y = y < 1263055735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and (Now False) _ = Now False < 1263055735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and x (Now True) = x < 1263055735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and _ (Now False) = Now False < 1263055736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and (Delay x) (Delay y) = Delay (and x y) < 1263055736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there should be like a wrapper function < 1263055751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :toPartial1 :: (a -> b) -> Partial a -> Partial b < 1263055779 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: okay so what's interesting about that snippet < 1263055786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bear in mind i'm in retard mode (my only mode) < 1263055816 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird it uses lazy-lazy evaluation, if you write this in direct haskell style it would diverge on many more cases < 1263055834 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :so what it shows is that the partiality monad can give you even more lazyness than lazy evaluation < 1263055865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm it'd be cool if sequencing was an evaluation < 1263055867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is >> = seq < 1263055870 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*was a monad < 1263055882 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :>>= = $! or w/e it's called < 1263055957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: taking a break from underload to write that i'm afraid < 1263055966 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't mind < 1263056000 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey even optional sequencing < 1263056008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :data Sequence a = Strict a | Lazy a < 1263056048 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263056052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so should return be strict or lazy, I wonder < 1263056053 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think lazy < 1263056073 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because you might use it at the end of your mega sequence function or w/e < 1263056144 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263056146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instance Functor Sequence where < 1263056146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : fmap f (Strict a) = strictorlazy (f $! a) < 1263056146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : fmap f (Lazy a) = lazy (f a) < 1263056153 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1263056154 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: any ohpinyuns on strictorlazy there? < 1263056157 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think strict < 1263056162 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :strictness should propagate < 1263056166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but then, if you do < 1263056170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :do foo <- astrict; return foo < 1263056171 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :im not sure if it works < 1263056173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that turns it into a lazy < 1263056175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since return = lazy < 1263056183 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so maybe strictness should fade quickly < 1263056192 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, wait < 1263056194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it should definitely be strict < 1263056203 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise your "strict" application isn't, which is ridiculous < 1263056222 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :got functor, monad, let's give it an applicative instance < 1263056244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1263056245 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(<*>) :: f (a -> b) -> f a -> f b < 1263056258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe the strict or laziness of the function should determine the strictness or laziness of the result < 1263056259 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah! i like that < 1263056264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unless it doesn't make sense < 1263056269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no wait, it does < 1263056272 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lazy = avoid evaluating this < 1263056275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so avoid evaluating any applications of this < 1263056335 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although shouldn't (Strict f <*> Lazy x) be Lazy (f $! x) < 1263056343 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: opinyons? Applicative sure is tricky :P < 1263056390 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :well im not sure this even works < 1263056396 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :it's not completely clear what 'strict' means < 1263056402 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1263056404 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :and I assume lazy is just the identity < 1263056405 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok let's define < 1263056417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah the lazy portion of the monad is identity monad < 1263056421 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*is the identity monad < 1263056423 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :you might elaborate a bit by defining this in ocaml (or similar, strict language) simultaneously < 1263056431 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :strict = evaluate this before doing anything else < 1263056444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lazy = use haskell semantics < 1263056444 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :and see what sort of intesection you get < 1263056451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: i'll try that after doing it in haskell since i know haskell better < 1263056466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ofc "evaluate this before doing anything else" doesn't help if the thing is a function and you're applying it < 1263056467 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1263056467 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes it does < 1263056470 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you make the result lazy < 1263056477 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then you can ignore the result of the application and do-anything-else < 1263056481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :without having the function evaluated < 1263056514 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Y'want an applicative instance and have a monad instance? pure=return;(<*>)=ap < 1263056524 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: shaddap < 1263056528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1263056535 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Monad should be Applicative f => Monad f, clearly < 1263056549 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263056563 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And Applicative should be Functor f => Applicative f. < 1263056564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Lazy f <*> Strict x = lazy (f $! x) < 1263056564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or < 1263056564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Lazy f <*> Strict x = strict (f $! x) < 1263056570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it is < 1263056575 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird I just mean any strict language like ML or scheme or whatever < 1263056580 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1263056582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: yeah i know < 1263056585 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1263056589 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Applicative makes sense, just not monad. < 1263056597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION makes it lazy (f $! x) because he already has a definition resulting in strict (f $! x) < 1263056599 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can always change it < 1263056613 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although that violates "evaluate this before anything else" < 1263056613 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263056617 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe i should change the definition < 1263056632 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Strict: If you ever use this, evaluate it before doing so. < 1263056652 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The Functor instance should satisfy < 1263056652 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : fmap f x = pure f <*> x < 1263056657 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so pure = lazy < 1263056665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so Lazy f <*> x < 1263056808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is (<*) x `seq` y `seq` x or y `seq` x < 1263056813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i guess the former < 1263056836 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1263056840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION omits *> and <* < 1263056844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let the compiler infer them < 1263056918 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Main> runSequence (do x <- strict [1..]; return 3) < 1263056919 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1263056921 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's certainly wrong. < 1263056949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Main> (const 3) $! [1..] < 1263056950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1263056951 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :?! < 1263056987 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh ofc < 1263056993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mean deepSeq < 1263057004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: do you think it's more useful with deepseq or as is < 1263057013 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think it should be deepseq personally < 1263057055 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :deepseq ;p < 1263057077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what does that mean :P < 1263057170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: so I'd like to officially call SequenceT (Partial a) the Haskell monad :P < 1263057180 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I can't stop you < 1263057184 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or can you < 1263057185 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :f $!!!!!!!!! x = rnf x `seq` f x < 1263057196 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I like that < 1263057202 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how does rnf differ from deepseq < 1263057240 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What is deepseq < 1263057349 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :typeclass < 1263057351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :deeply evaluates < 1263057355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like for [...] it's map seq < 1263057357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1263057358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fold seq < 1263057358 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Where is it < 1263057367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://209.85.229.132/search?q=cache:RV_IB04cfYoJ:hackage.haskell.org/packages/archive/hxt/7.4/doc/html/Control-Strategies-DeepSeq.html+deepseq&cd=1&hl=en&ct=clnk&client=safari has it, it's also in Pugs < 1263057371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :where's rnf < 1263057382 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has been reading up on the Cont monad... < 1263057383 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Control.Parallel.Strategies in parallel < 1263057387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah, x `deepSeq` y == rnf x `seq` y < 1263057394 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Unsurprising :-P < 1263057398 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. Makes continuations seem clever, rather than obscure magic. < 1263057421 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1263057429 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that restricts my monad to Control.Parallel.Strategies.NFData < 1263057438 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wish there was like haskell but strict so i could implement this :) < 1263057500 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Throw a bunch of #s everywhere? :P < 1263057514 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and ! and seq. < 1263057534 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... And wonder why people reading your code hate you so damned much. < 1263057618 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: not sufficient, I need deepSeq < 1263057622 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :without a typeclass < 1263057866 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there is a language around somewhere that aims to be a strict Haskell < 1263057902 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :HAQUELLE < 1263058005 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i have an ocaml compiler < 1263058006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ocaml it is < 1263058035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dammit, no ocaml-mode < 1263058036 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1263058082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let's see how much ocaml i remember < 1263058375 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I can't find it though < 1263058515 0 :Sgeo!n=Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1263058530 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you know ocaml right < 1263058617 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.reddit.com/r/AskReddit/comments/anexq/hey_reddit_what_awesome_graffiti_have_you_found/c0igyyg < 1263058755 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: is it http://www.haskell.org/haskellwiki/DDC ? < 1263058779 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: vaguely, although I haven't written it for a while < 1263058806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :type 'a sequence = Strict of 'a | Lazy of (() -> 'a) < 1263058807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why is this a syntax error? < 1263058812 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in the Lazy of part < 1263058966 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I take it that's fictional < 1263058986 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: perhaps reading the epilogue and the alternate ending will remove any doubts you have < 1263058994 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yes indeed: this person is quantum! < 1263058997 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes < 1263058999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :He experiences every branch of the many worlds. < 1263059144 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so, in other words, it was all, in fact, offtopic < 1263059191 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :are you actually complaining about someone posting a really good piece of fiction :) the only point of threads like that is for entertainment, truth is more or less irrelevant especially if it's that well-written < 1263059212 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :flossdaily is well-known for spinning yarns anyway so it doesn't really "fool" anyone < 1263059228 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : Flossdaily, you successfully managed to completely derail the entire point of this thread. I applaud you for that. < 1263059231 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not actually complaining < 1263059236 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm just amused < 1263059245 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :MysteryStain's comment sums up my attitude < 1263059268 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then the answer is yes :P < 1263059295 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, are we asking and answering questions recursively? < 1263059309 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :two simultaneous conversations with someone is one thing, but this... < 1263059339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i can barely talk to normal people because I can't argue recursively with them :( < 1263059365 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe i should start calling them "linears" :D < 1263059375 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : i can barely talk to normal people because I can't argue recursively with them :( < 1263059377 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that needs sigging < 1263059382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(and I agree with the sentiment) < 1263059396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm not even joking, I think about everything with nesting < 1263059403 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't even know how to argue linearly < 1263059407 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I know you aren't joking < 1263059419 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i know you know i aren't joking. < 1263059425 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sometimes I end up in queue-arguments rather than stack-arguments < 1263059433 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which are equally confusing for someone not used to that sort of thing < 1263059444 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally caused by answering logs rather than conversing in realtime < 1263059523 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for AnMaster to come in with a nonsequitur < 1263059583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :recently i was arguing with someone and they said "~p => q, bad(q), therefore good(p)" and I said "even assuming bad(q), ~prevents(q,p) => unconnected(p,q), ~prevents(q,p), therefore your argument is invalid" < 1263059586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they didn't get it < 1263059612 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :we were talking about that in #agda the other < 1263059612 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :day < 1263059621 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :and when I say talking.. I mean trying really hard to make puns about it < 1263059643 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :talking about what < 1263059648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :people sucking at recursion? < 1263059650 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :that logical fallacy < 1263059679 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, "~p => q, bad(q), therefore good(p)" is valid, but it can be rebutted with ~(~p => q) < 1263059689 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(assuming p has no other consequences) < 1263059696 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263059701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if recursion is self-calling, clearly cursion is calling < 1263059707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :people suck at cursion. < 1263059739 0 :kar8nga!n=kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1263059763 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyone know why i can't do < 1263059764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :type 'a sequence = Strict of 'a | Lazy of (() -> 'a) < 1263059764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in ocaml? < 1263059916 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what error are you getting? < 1263059940 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :File "sequence.ml", line 1, characters 44-45: < 1263059940 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Error: Syntax error < 1263059952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :error is at Lazy of |(|... < 1263059965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :try an extra pair of parens around everything past the = < 1263059969 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: yeah, DDC < 1263059975 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :O'Caml is rather finicky about precedence, I normally end up putting parens everywhere < 1263059993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that won't work, it's a type declaration, no? < 1263060006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep, that breaks it even moreer < 1263060007 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*more < 1263060028 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :more parens!! < 1263060035 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what about fewer parens, then? < 1263060041 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just Lazy of () -> 'a < 1263060046 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html < 1263060050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: same error < 1263060061 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: that's not what he's trying to do < 1263060068 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in my search for that language, I found this: http://lambda-the-ultimate.org/node/1546 <-- oh dear < 1263060069 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :? < 1263060069 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: that isn't the same as () -> 'a afaik < 1263060076 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :it's better! < 1263060087 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: almost done with the basics off my lang :-) < 1263060091 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"Why do languages even touch execution which is a technique used to get around current hardware limitations? What will happen when processors can execute seemingly infinite instructions at the exact same time?" < 1263060093 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :crackpot detected < 1263060102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: but it's not what i'm trying to model. < 1263060114 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what you mean < 1263060122 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I'm just saying, read this < 1263060129 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Why? I do not want to use it. < 1263060143 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1263060147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Even if I do, that does not help my syntax problem. < 1263060249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe i need to give () -> 'a a name < 1263060310 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: here's an example from the O'Caml book I have: "type 'a listf = | Val of 'a | Fun of ('a -> 'a) * 'a listf" < 1263060313 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the leading | is redundant < 1263060328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what's that weird * 'a listf' < 1263060349 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it means that a Fun is a tuple < 1263060354 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :right < 1263060355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :of a funtion from 'a to 'a, and an 'a listf < 1263060356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1263060357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'a listf < 1263060358 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*function < 1263060368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :OH < 1263060370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(() < 1263060371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(unit < 1263060374 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I am so fucking dumb < 1263060380 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html < 1263060434 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah i just relooked at that and it is what i want < 1263060441 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you use a module without opening it in ocaml i forget < 1263060454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh just use it < 1263060457 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :http://caml.inria.fr/pub/docs/manual-ocaml/manual004.html :P < 1263060476 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I can never remember any of the module stuff < 1263060479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehh, I wish I could use the lazy keyword directly < 1263060485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instead of Lazy (lazy poop) < 1263060560 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ouch windows 7 < 1263060571 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why does this thing insist on grouping, say, two folder windows? < 1263060578 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it makes it almost impossible to switch between them quickly with the mouse < 1263060717 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even worse, it starts fading windows in and out while you're trying to choose which to select < 1263060728 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is fine if you're going slowly, but massively annoying if you already know which you want < 1263061008 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :im actually still realizing just how brilliant that Metamorphosis of Prime Intellect is < 1263061024 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: huh? < 1263061035 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hi SimonRC < 1263061037 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :MPI? < 1263061048 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :you don't know it? < 1263061052 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: once again I must speak several times before you notice me :-) < 1263061061 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I meant, what is MPI? < 1263061064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: is your nick a Clangers reference? < 1263061070 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ais523 yes! < 1263061165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: The Metamorphosis of Prime Intellect is a novel. < 1263061173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.kuro5hin.org/prime-intellect/ < 1263061183 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :("This online novel contains strong language and extreme depictions of acts of sex and violence. Readers who are sensitive to such things should exercise discretion.", etc.) < 1263061189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Speaking of which I really must get around to reading it sometime. < 1263061226 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I think that I must have read it a long time ago < 1263061239 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :but probably not all the way through < 1263061240 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :im not sure < 1263061259 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Windows 7 is application based < 1263061264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's not "grouping two folders" < 1263061268 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the task bar is filled with application icons < 1263061272 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I know how it works < 1263061280 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't prevent it being inconvenient, though < 1263061289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :click Explorer. click the relevant window < 1263061291 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that was hard < 1263061295 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, but it's two clicks < 1263061299 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes how the things in the task bar can have status bars < 1263061303 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the thing you have to click on doesn't appear until after the first one < 1263061309 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which makes it impossible to plan where you're going before you do < 1263061310 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I was Remote Assisting a friend who has Win7 < 1263061315 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's not hard, but it /is/ slow < 1263061326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes, browsers use that to show progress of a download, it's nice < 1263061343 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: WFM. also, with browsers it shows all tabs, not windows < 1263061344 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is nice < 1263061353 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: I can't use http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html, it doesn't let a lazy computation depend on itself < 1263061361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"Raise Undefined if the forcing of x tries to force x itself recursively." < 1263061368 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not with Firefox, at least < 1263061370 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :...All tabs? That would be pain for me < 1263061370 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1263061378 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hmmm < 1263061379 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: IE does it, I think Chrome too < 1263061384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Firefox sucks at platform-nativity < 1263061386 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION often has a LOT of tabs in one window < 1263061389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :use Chrome, it's the best windows browser < 1263061397 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :didn't Okasaki use lazyness like this to do infinite streams < 1263061399 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: can't install software here < 1263061399 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I don't understand < 1263061406 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :maybe I am just imagining that < 1263061411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: tell them to install chrome, then :P < 1263061419 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Chrome++ < 1263061419 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: it's generalised laziness < 1263061420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1263061421 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why? IE and Firefox are both good enough < 1263061424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's generalised lazy/strictness < 1263061444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: IE 8 is alright < 1263061451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but firefox makes you select a window, *then* a tab < 1263061453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is, indeed, inefficient < 1263061456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but not Windows' fault < 1263061467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: but you're doing that anyway < 1263061471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: it's just the evaluation order monad :-) < 1263061473 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no you're not < 1263061476 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're selecting the firefox icon on the task bar, then the individual firefox tab < 1263061476 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you click IE, then the tab < 1263061480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :vs < 1263061486 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you click Firefox, then the window, then the tab < 1263061492 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1263061494 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except I only use one Firefox window at a time < 1263061503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, don't. < 1263061514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1263061520 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the only reason to open multiple windows of the same browser, apart from showing two things side-by-side or ontop of each other which is rare, is to organise tabs < 1263061535 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and if Win7 is just going to lump all the tabs together anyway, why the hell are you opening multiple browser windows? < 1263061566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in other words, Firefox is giving you the choice here, IE is forcing you to effectively use just a single window < 1263061579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you define an infix op in ocaml? < 1263061594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not sure, never tried < 1263061609 0 :jpc!n=jw@unaffiliated/javawizard2539 JOIN :#esoteric < 1263061649 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :( op ) < 1263061653 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Ctrl-Click the taskbar icon to cycle through windows in that group. < 1263061688 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: that's suboptimal because it's worse than alt-tab in nearly every respect < 1263061696 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :control-clicking implies I'm using the keyboard < 1263061707 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in which case I wouldn't want to use the mouse, because using the keyboard /and/ the mouse is incredibly slowing < 1263061709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: don't bother, ais523 has been anti-win7 every time he's mentioned it, even though the task bar is superior to the os x dock < 1263061720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no it's not < 1263061722 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I mostly like it, just the taskbar gets in my way a lot < 1263061724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :always keep one hand on the keyboard, duh < 1263061735 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I have both hands on my laptop keyboard atm < 1263061744 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :moving both hands over to the desktop is substantially slower than moving just one < 1263061749 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1263061753 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and that just one I want to put on the mouse, because I'm using it for web browsing < 1263061757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you're criticising a UI because you use a laptop as well as a desktop < 1263061765 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it doesn't account for the movement time < 1263061765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, I am < 1263061771 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :talk about looking for a complaint < 1263061792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: a UI that assumes I'm focusing all my attention on that UI is suboptimal design < 1263061809 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quite often I want to use one or both of my hands for something else, e.g. typing on another computer < 1263061892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, the UI is slower even when you are focusing all your attention on that computer < 1263061906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a UI that assumes one hand on the keyboard, one on the mouse, /consistently/ (like Blender) is fine < 1263061913 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :one that makes you move around a lot isn't, though < 1263061920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure there is some hack to make it use the old taskbar < 1263061952 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :There is one case in which giving each tab its own thumbnail is slower, which is when you want to pick a window, not a tab (so that you can open a new tab, for example). I find that more common than wanting to open a particular tab. < 1263061959 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what I'd really like is something where multiple windows of the same app unbunch, with a text legend to say which is which < 1263061968 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but otherwise the same as it is < 1263061980 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that would be inconsistent UI, and so no sane UI maker would do it, despite being useful < 1263061995 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: agreed, if that case wasn't useful to you you wouldn't have multiple windows in the first place, as it's the only reason to use them < 1263062082 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :I should really try this "never combine" option for the taskbar, see how that works out. It seems to have been improved since the RC. < 1263062101 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1263062146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ooh, there is a "never combine" option, thanks < 1263062161 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that fixes the issues I was having with it nicelyt < 1263062163 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*nicely < 1263062168 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, it does just what I described < 1263062277 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I just noticed there is a text legend if there's room. < 1263062398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: i'm trying to do an infinite stream now actually < 1263062447 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :...actually, no point < 1263062453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it'd just be the regular stream impl < 1263062458 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let's try... < 1263062466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1263062535 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets "int sequence sequence" back from the type checker < 1263062537 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well that's not right < 1263062570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :trying to implement `foo = do _ <- lazy foo; strict 42` < 1263062572 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. < 1263062580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lazy foo >>= (\_ -> strict 42) < 1263062610 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: wtf are you guys talking 'bout :-p < 1263062627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lieuwe: a monad for lazy or strict evaluation, duh. < 1263062629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1263062647 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :ehird: a what for what or what what? < 1263062648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you don't know functional programming it won't make any sense to you < 1263062650 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's ok :P < 1263062679 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Chrome is so fast, especially when all its children are crashed < 1263062683 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fffff i really need my >>= itself to be lazy < 1263062700 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: :-p < 1263062701 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Learn you some lambda. < 1263062706 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1263062709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1263062710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : | Lazy x -> f (x ()) < 1263062712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :god i'm dumb < 1263062716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Lazy == Strict < 1263062739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so... i need all my values to be unit->'a < 1263062742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but some pre-forced < 1263062775 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Erm. Not you. < 1263062778 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lieuwe: You. Learn you some lambda. < 1263062783 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: note that lazy = return, by the monad laws, iirc < 1263062795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah i had that in my haskell version < 1263062801 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because return x >>= f = f x < 1263062804 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but i'm doing it in ocaml first because it's clearer what is strict and what is lazy < 1263062808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and also because rnf requires a typeclass < 1263062814 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and for the same reason Set is not a monad Sequence cannot be < 1263062817 0 :bsmntbombdood!n=gavin@97-118-250-86.hlrn.qwest.net JOIN :#esoteric < 1263062820 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(typeclass restriction on its argument) < 1263062824 0 :lieuwe!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: eh, why? < 1263062834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lieuwe: because functional programming is the best. < 1263062834 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait not really return, just id, since you pass it something monadic < 1263062844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no, you don't < 1263062855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :data Sequence a = Strict a | Lazy a < 1263062867 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you have foo = do ..., so foo must me monadic... < 1263062869 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i guess Strict !a could work < 1263062872 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and then lazy foo < 1263062877 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: right it was nested monadic or whatever < 1263062881 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm trying to fix it shush :P < 1263062887 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how's this for a gnarly type sig < 1263062889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :val ( >>= ) : 'a sequence -> ('a -> 'b sequence) -> 'b sequence = < 1263062892 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1263062893 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wrong one < 1263062898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :val ( >>= ) : 'a sequence -> ((unit -> 'a) -> 'b sequence) -> 'b sequence = < 1263062933 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :# foo ();; < 1263062933 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :- : int sequence = Strict 42 < 1263062933 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :woot < 1263062938 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let rec foo () = < 1263062939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Lazy (fun () -> foo ()) >>= (fun _ -> < 1263062939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Strict 42) < 1263062953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh wait I can rewrite (fun () -> foo ()) as foo < 1263062954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :excellent < 1263062962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let rec foo () = Lazy foo >>= (fun _ -> Strict 42) < 1263062971 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess it should be "sequenced" not "sequence" < 1263063021 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that () arg is just because ocaml doesn't like you doing that otherwise :P < 1263063036 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :rnf is for deep normalization though, not just top constructor (which doesn't require a type class in haskell) < 1263063061 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes, but it behaved rubbishly like that < 1263063068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :do x <- strict [1..]; return 42 < 1263063078 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kinda poopy if that is == return 42 < 1263063092 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1263063140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let rec ones () : (int list) sequence = < 1263063141 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Lazy ones >>= (fun me -> < 1263063147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so me : unit -> int list < 1263063160 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Lazy (fun () -> 1 :: (me ()))) < 1263063173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Error: This expression has type int list sequence < 1263063173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : but an expression was expected of type int list < 1263063173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wut?? < 1263063225 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let rec ones () : (int list) sequenced = < 1263063225 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Lazy ones >>= (fun me -> < 1263063225 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Lazy (fun () -> 1 :: (me ()))) < 1263063226 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION can't see anything wrong with that < 1263063250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just `ones = do me <- lazy ones; lazy (1 : me)` < 1263063258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :more or less < 1263063293 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1 :: me is int list, right < 1263063309 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1 :: me () is int list < 1263063323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so Lazy (fun () -> 1 :: me ()) is (int list) sequenced < 1263063345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so (fun me -> Lazy (fun () -> 1 :: me ())) is (unit -> int list) -> (int list) sequenced < 1263063362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is what the right operand to >>= should be. < 1263063377 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and therefore the result of >>=, assuming the left hand is typed properly, < 1263063381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is (int list) sequenced < 1263063393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :therefore ones () is of type (int list) sequenced, therefore the left hand side, Lazy ones, is typed correctly < 1263063397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :QED < 1263063400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now why does ocaml disagree? < 1263063408 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um the right operand to >>= should have an arbitrary first argument, surely? < 1263063445 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(>>=) :: Monad m => m a -> (a -> m b) -> m b < 1263063456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :val ( >>= ) : 'a sequenced -> ((unit -> 'a) -> 'b sequenced) -> 'b sequenced = < 1263063457 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : < 1263063464 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :type 'a sequenced = < 1263063465 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : | Strict of 'a < 1263063465 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : | Lazy of (unit -> 'a) < 1263063465 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let ( >>= ) (x : 'a sequenced) (f : (unit -> 'a) -> 'b sequenced) : 'b sequenced = < 1263063466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : match x with < 1263063466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : | Strict x -> f (fun () -> x) < 1263063467 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : | Lazy x -> f x < 1263063470 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :we need to preserve laziness, you see < 1263063533 0 :Slereah!n=Slereah@ANantes-259-1-75-52.w92-135.abo.wanadoo.fr JOIN :#esoteric < 1263063535 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1263063546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION discovers he can make ones not a function < 1263063547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let rec ones : int list sequenced = < 1263063547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Lazy (fun () -> ones) >>= (fun me -> < 1263063548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Lazy (fun () -> 1 :: me ())) < 1263063551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: "oh well" meaning? < 1263063642 0 :lieuwe!unknown@unknown.invalid QUIT :"Page closed" < 1263063648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm does ocaml have undefined < 1263063653 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nothing. it wasn't me. you cannot prove it. nobody saw me. oh wait, you did. < 1263063686 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how could it? it's a bottom. < 1263063698 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hi oerjan < 1263063702 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes and? < 1263063710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i just want something that types for any type and barfs on execution < 1263063716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haskell subverts the type system with this, why can't ocaml < 1263063720 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: error? < 1263063721 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i can use unsafe.coerce or something iirc in ocaml < 1263063724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :internals or something < 1263063734 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: error is not defined :/ < 1263063735 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or raise something < 1263063744 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :let everything = everything < 1263063746 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1263063760 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah raise will work < 1263063765 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :let rec** < 1263063768 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :# let rec everything = everything;; < 1263063768 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Error: This kind of expression is not allowed as right-hand side of `let rec' < 1263063771 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hmm maybe it's disallowed :( < 1263063777 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :oh well you could use rectypes for a Y combinator < 1263063783 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :make omega < 1263063785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :exception Barf < 1263063786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let barf = raise Barf < 1263063792 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :you can do without Y actually < 1263063814 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1263063816 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that needs to be barf () < 1263063843 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :augur !!!!!!! < 1263063850 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I figured out how to parse CCG < 1263063853 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :O_O < 1263063855 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1263063859 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :it took me a long time but I worked it out < 1263063893 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I might code it tommowor < 1263063908 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what i'd end up doing is a left-to-right parser < 1263063921 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :which tries to build a left-corner parse < 1263063921 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: aha < 1263063928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the problem is that since ones : int list sequence < 1263063933 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Lazy ones : int list sequenced sequenced < 1263063933 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :and when it cant, it tries compose, or lift, etc etc < 1263063949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, /me is confused < 1263063949 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :and it backtracks when it cant do anything, to try alternatives < 1263064009 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :augur, oh yeah something a bit irritating was none of the papers on parsing it has T, just B_n < 1263064039 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what < 1263064047 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh, compose < 1263064053 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :not lift < 1263064055 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :meh. < 1263064057 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :there's a few papers about parsing these but they're kinda confusing < 1263064067 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :like.. I couldn't follow any of them < 1263064092 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i should try to write a parser too < 1263064092 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1263064104 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :augur in your prolog < 1263064106 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1263064108 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1263064111 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1263064219 0 :Slereah_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263064244 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :augur what language do yu use < 1263064261 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :augur is a ruby guy. < 1263064321 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :for the prolog interp? < 1263064335 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its in JS. theres no web-based Prolog interp so ive decided to make one < 1263064359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://ioctl.org/logic/prolog1 < 1263064363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://yieldprolog.sourceforge.net/ < 1263064368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I beg to differ. < 1263064371 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :for the parser < 1263064374 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1263064380 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :how'd you find these? < 1263064383 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Google. < 1263064386 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"javascript prolog" < 1263064389 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1263064404 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It lets you find pages on the web by typing in keywords found in those pages or pages that link to them. < 1263064420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It even ranks them by how relevant it thinks they are to your keywords, using a fancy algorithm based on pages that link to it. < 1263064423 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :well thats ok. that wasnt the only reason i was making this. < 1263064424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You should try it sometime. < 1263064608 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Yield Prolog looks quite nice, infact < 1263064705 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: in total languages there's no runPartial :: Partial a -> a, so i guess it's sorta like how the haskell runtime does runIO :: IO a -> a right? < 1263064719 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1263064790 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what about bottom, can you do this in a total language + Partial: < 1263064797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bottom :: Partial a < 1263064797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bottom = do < 1263064797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : foo <- bottom < 1263064798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : return foo < 1263064802 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1263064810 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'll take that as a no < 1263064871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you implement _|_ then < 1263064888 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :bottom = Delay bottom < 1263064900 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :it's a properly guarded corecursion < 1263064907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Delay = Later for me < 1263064911 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(because I like Now/Later as a name pair) < 1263064923 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyway, yeah, should have thought of that... < 1263064931 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Now/Later heh < 1263064938 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes for a bit < 1263064944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: so when do I have to explicitly say Delay < 1263064946 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what language are you asking about, ehird < 1263064949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as opposed to it being identical to the identity monad < 1263064984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Main> runPartial $ factorial 33 < 1263064985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*** Exception: stack overflow < 1263064987 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :shweet < 1263064996 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hahaha < 1263064997 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(yeah ok factorial isn't partial shut up) < 1263065003 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird :( < 1263065008 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :runPartial _ = error "stack overflow" < 1263065017 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :you suck ehird. you suck so much. < 1263065019 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :T_T < 1263065046 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :augur: from you that's a compliment, right? < 1263065057 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :well no, not in this case < 1263065064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was going to make some sort of a comment or another about being straight but decided not to open that can of worms < 1263065072 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not with augur < 1263065074 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :what can of worms < 1263065074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is never a good idea < 1263065082 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh WELL < 1263065091 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird, its ok < 1263065094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: invoking his "make a bunch of gay innuendo" procedure < 1263065095 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :we know you're a queer anyway < 1263065104 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :innuendo? < 1263065105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :("I'll invoke your procedure if you know what I mean") < 1263065112 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :x3 < 1263065128 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what the heck is that smiley < 1263065136 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :X3 < 1263065141 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a cross-eyed cat < 1263065152 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :not cross eyed < 1263065167 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: data PartialList a = Nil | Cons a (Partial (PartialList a)) < 1263065167 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or < 1263065172 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: data PartialList a = Nil | Cons (Partial a) (Partial (PartialList a)) < 1263065174 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :presumably the former < 1263065177 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1263065180 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its the squinted-eyes you get when you laugh too hard < 1263065190 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird data List list a = Nil | Cons a (list a) < 1263065201 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: http://www.doodle.com/rhriqxe2rb226it2 you are contractually obligated to vote due to pledging. kthx :P < 1263065213 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: how fancy < 1263065213 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1263065216 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ehird data List list a = Nil | Cons a (list list a) < 1263065221 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :one of them... < 1263065226 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: no that's ridiculous < 1263065231 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you do List Poop a < 1263065233 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :there's some kind of methodical way to do it < 1263065234 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you get < 1263065238 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :soupdragon: no way list list a types < 1263065240 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Cons a (Poop Poop a) < 1263065248 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I kind of get it < 1263065249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so that's basically list... for one iteration < 1263065254 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :the thing can't self apply < 1263065282 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah, PartialList a should only ever be used as Partial (PartialList a) < 1263065288 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise, pHead :: PartialList a -> a < 1263065293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and that's just not very partial is it now < 1263065294 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if it should be a list or list a < 1263065376 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pTail :: PartitalList a -> Partial (PartialList a) < 1263065376 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :↑ this desugars to < 1263065385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pTail :: Partial (PartialList' a) -> Partial (Partial (PartialList' a)) < 1263065387 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :List a list = Nil | Cons a list List a (List a) < 1263065387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :TOO MANY PARTIALS < 1263065393 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :yerh < 1263065414 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*PartialList < 1263065418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not PartitalList :P < 1263065448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pTail :: PartialList a -> Partial (PartialList a) < 1263065449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pTail lst = do < 1263065449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Cons _ xs <- lst < 1263065449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : xs < 1263065452 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :weirdest function I ever did see < 1263065460 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :data List wrapper a = Nil | Cons (wrapper a) (wrapper (List wrapper a)) < 1263065469 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :woah < 1263065493 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :type PartialList = List Partial < 1263065508 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: done < 1263065532 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or perhaps = Partial (List Partial) < 1263065538 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: you are a good person and deserve much praise < 1263065548 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yay! < 1263065551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: http://www.doodle.com/rhriqxe2rb226it2 Voting is NOT OPTIONAL < 1263065563 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :coppro, you're awesome < 1263065565 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no but visiting is, right? < 1263065574 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: NO < 1263065579 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn < 1263065594 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehird: tell coppro: "coppro: ehird says you're awesome" < 1263065598 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: ehird says you're awesome < 1263065604 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*tell coppro: "ehird < 1263065609 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1263065669 0 :soupdragon!unknown@unknown.invalid PRIVMSG #esoteric :ACTION spills worms all over everyone < 1263065721 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :O_O < 1263065822 0 :soupdragon!unknown@unknown.invalid QUIT :"Leaving" < 1263065873 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: either that poll is broken in IE, or it requires registration. in any case, i consider myself excused. < 1263065911 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :probably the former < 1263065912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you forgot to enter a name < 1263065916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: he uses IE 8 < 1263065919 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1263065922 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :IE 8 is quite solid, and what corporation wouldn't support it? < 1263065927 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :probably what ehird said then < 1263065936 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yeah, 8 is good < 1263065937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: (it's to the left of the choices) < 1263065939 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :not great < 1263065942 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :but good < 1263065947 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: apart from the UI above the page < 1263065955 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :true < 1263065957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they fucked up with the whole removing the menus thing < 1263065979 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what _choices_? < 1263065990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: the checkboxes < 1263066000 0 :ais523!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1263066003 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait, alter and amend are your suggested editor names? < 1263066009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes... < 1263066013 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :something wrong with that? :D < 1263066033 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ic i thought they were some kind of polling options... < 1263066038 0 :lament!n=lament@S0106002312fa554a.vc.shawcable.net JOIN :#esoteric < 1263066165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you are now contractually obligated to specify other < 1263066194 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i cannot, there is nowhere to write it. MWAHAHA < 1263066207 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's not my fault :( < 1263066261 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but i think my not being able to recognize that the other options _were_ editor names was a good enough reason to specify Other... < 1263066295 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :would you prefer EhirdsEd or something insane like that :P < 1263066297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*inane < 1263066303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :freudian slip... < 1263066341 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as for slip, what about "writhe" < 1263066375 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION attempts to decode that sentence < 1263066405 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i suggest "writhe", as an insane typo of write < 1263066434 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also in the spirit of lewis carroll, iirc < 1263066467 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The Mock Turtle went on. .We had the best of educations . . . Reeling and Writhing, of course, to begin with, and then the different branches of Arithmetic.Ambition, Distraction, Uglification, and Derision.. < 1263066499 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that would have been better with proper punctuation, naturally < 1263066557 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :writhe is too unpleasant, clearly :P < 1263066602 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh WELL < 1263066704 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION slaps oerjan < 1263066777 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I have invented a method for never losing anything. < 1263066797 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Suppose you have 100 items, and you are afraid of losing even one of them. This means you have 100 opportunities to lose something. < 1263066798 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: the game < 1263066822 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Consider these 100 items to be 100 one-item piles. Put two of these piles together; now you have 99 piles, meaning 99 opportunities to lose something. < 1263066851 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Put two piles together again; then you'll have only 98 opportunities to lose something. Simply repeat until you have 0 opportunities to lose something, and you will never lose anything again. < 1263066861 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's the Haystack solution. oh wait... < 1263066876 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i sense an induction base problem < 1263066890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: impossible < 1263066892 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can only get to 1 < 1263066897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :combining the last two piles into 1 < 1263066901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ 1 chance of losing everything < 1263066936 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Ah, but there is a flaw in your reasoning! < 1263066942 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Simply consider yourself to be one of the items! < 1263066959 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: but that would go against the well-known advice of egg-sperts! < 1263066964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :item = thing-that-can-be-lost, correct? < 1263066971 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I can't lose myself, so I am not an item. < 1263066972 0 :coppro!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1263066972 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :If you carry all your stuff with you all the time, you will never lose anything. < 1263067004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :are we ignoring environmental factors here? < 1263067004 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :That's kind of a strange definition of an item. < 1263067008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e.g. stuff dropping out of pockets < 1263067011 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: your method appears foolproof. < 1263067023 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Zip your pockets. < 1263067023 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: your method was to stop you ever losing anythhing < 1263067025 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*anything < 1263067030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and involved putting everything together < 1263067051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so if you say "put everything together" in response to "how can i stop these pesky things being lost", clearly everything that is a thing can be lost < 1263067058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise your response should have said "put every losable thing together" < 1263067063 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1263067066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :therefore, since I cannot lose myself, I am not a thing. < 1263067066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :QED < 1263067088 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Also, consider building all your stuff into a tower so tall it can be seen from anywhere in the world. < 1263067095 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION approves: http://blog.makezine.com/archive/2010/01/toy_train_used_to_calibrate_fusion.html < 1263067119 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(yeah it's from reddit. so what, it's awesome) < 1263067201 0 :Slereah_!n=Slereah@ANantes-259-1-75-52.w92-135.abo.wanadoo.fr JOIN :#esoteric < 1263067248 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Or sell all of your stuff and buy a backpack full of iPhones. < 1263067283 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION realizes that was blogspam based on http://www.nytimes.com/2009/12/29/science/29train.html?_r=4&ref=science < 1263067489 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1263067532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :grr, new york times wants me to login < 1263067547 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :MWAHAHA i got past without this time < 1263067564 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I think I created a New York Times account. < 1263067565 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :incidentally i never login when it wants me to < 1263067579 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :You know, this is what BugMeNot was made for. < 1263067695 0 :MigoMipo!n=MigoMipo@84-217-10-79.tn.glocalnet.net JOIN :#esoteric < 1263067746 0 :MizardX-!n=MizardX@unaffiliated/mizardx JOIN :#esoteric < 1263068607 0 :zzo38!n=zzo38@h24-207-48-53.dlt.dccnet.com JOIN :#esoteric < 1263068666 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :How can I make a program to read fax document, with a barcode and with filling in like scantron forms < 1263068702 0 :MizardX!unknown@unknown.invalid QUIT :Connection timed out < 1263068732 0 :MizardX-!unknown@unknown.invalid NICK :MizardX < 1263068809 0 :coppro!unknown@unknown.invalid QUIT :"I am leaving. You are about to explode." < 1263068845 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1263069080 0 :zzo38!unknown@unknown.invalid QUIT :Remote closed the connection < 1263070598 0 :snowscape!n=chatzill@87.114.79.245.plusnet.thn-ag2.dyn.plus.net JOIN :#esoteric < 1263071186 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1263071474 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263074313 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1263074522 0 :pikhq!n=pikhq@75-106-100-139.cust.wildblue.net JOIN :#esoteric < 1263074534 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1263074824 0 :pikhq!n=pikhq@75-106-100-139.cust.wildblue.net JOIN :#esoteric < 1263075331 0 :coppro!unknown@unknown.invalid QUIT :Remote closed the connection < 1263075426 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1263075666 0 :MigoMipo!n=MigoMipo@84-217-10-79.tn.glocalnet.net JOIN :#esoteric < 1263075695 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote closed the connection < 1263077064 0 :lament!unknown@unknown.invalid QUIT : < 1263077928 0 :Azstal!n=asztal@host86-163-46-112.range86-163.btcentralplus.com JOIN :#esoteric < 1263078077 0 :MigoMipo!n=MigoMipo@84-217-10-79.tn.glocalnet.net JOIN :#esoteric < 1263078262 0 :Aszstal!n=asztal@host86-156-199-83.range86-156.btcentralplus.com JOIN :#esoteric < 1263078546 0 :Asztal!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263078556 0 :Aszstal!unknown@unknown.invalid NICK :Asztal < 1263078984 0 :Azstal!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1263079032 0 :ehird!unknown@unknown.invalid QUIT : < 1263079270 0 :snowscape!unknown@unknown.invalid QUIT :Remote closed the connection < 1263079789 0 :ehird!i=5b68ec1f@gateway/web/freenode/x-kwvqdmlfsszrxziz JOIN :#esoteric < 1263079791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hello! < 1263079794 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Guess what OS I am using. < 1263079797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro cannot guess. < 1263079833 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :EhirdOS? < 1263079833 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :OpenVMS < 1263079877 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Plan9 from Bell Labs? :-) < 1263079881 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: I. Wish. < 1263079883 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Windows? < 1263079887 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I really, really anti-wish. < 1263079892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1263079896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Good luck getting it running on this hardware, though I love the thing. < 1263079900 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Nope. < 1263079927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Nice try. < 1263079928 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Imma go with Linux. < 1263079938 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Konqueror. < 1263079940 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :4.3. < 1263079971 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Aww, darn you. < 1263079978 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Fucking web chat exposin' mah browser. < 1263079985 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hahah. < 1263080021 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :linux? how vanilla. < 1263080087 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Quite. < 1263080261 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :well guess what os *i'm* on! < 1263080283 0 :Pthing!unknown@unknown.invalid PRIVMSG #esoteric :losethos < 1263080308 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Windows < 1263080310 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Pthing: regarding svg: not quite. < 1263080320 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :cheater < 1263080332 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :[16:37:59] === CTCP version reply “mIRC v6.31 Khaled Mardam-Bey” from oklofok < 1263080361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: oklOS < 1263080367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm still relying on you to write that someday < 1263080379 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :coppro: it's cheating even if you admit it is. < 1263080430 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ehird: might be long till i next program anything. < 1263080469 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: i'll totally pay you to do it* < 1263080471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*lie < 1263080486 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ACTION i tired of explaining stuff to simpletons < 1263080488 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :*is < 1263080548 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :explanation: oklofok is a mathematician now. he is only allowed to prove the programs exist, not to write them. < 1263080577 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1263080614 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :can he prove them correct but not test them? < 1263080615 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however, if you input his proof to Coq, you can extract the program for there. < 1263080623 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*from < 1263080656 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: if it's not in oklo style, it's not an oklo program. < 1263080667 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :true that < 1263080808 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :also great news, i did manage to meet the game theory dude < 1263080818 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :so i did not get a mortal enemy. < 1263080915 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers doing something