< 1207958435 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: RodgerTheGreat@gmail.com - it's on my website, too < 1207958455 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Only the first line, the rest will be piped into the user. < 1207958546 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What the *fuck*? < 1207958562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh yes, that thing. < 1207958566 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Vista's driver model involves *doing AES-128 on the video layer*. < 1207958576 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: I can use Procs directly, though, can't I < 1207958597 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Shore *shrugs* < 1207958640 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if they use PGP on all output from the sound drivers, too. :p < 1207958775 0 :kwertii!unknown@unknown.invalid QUIT :"bye" < 1207958779 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Hmm. If I have a Proc object, what can I *do* with it? Specifically, I want to slurp all output. < 1207958786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess I'll just write my own starter. It doesnt' need to be in ps < 1207959127 0 :kwertii!n=kwertii@c-71-202-121-102.hsd1.ca.comcast.net JOIN :#esoteric < 1207959307 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Okay. Coded the thread. Now to figure out pthreads. < 1207959548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :phew < 1207959550 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think that should work < 1207959559 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1207959611 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :*Parser> parse parseChord "" "C7b9#11" < 1207959612 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Right (RootedChord C (fromList [0,1,4,6,7,10])) < 1207959614 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :<3 < 1207959619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: What's more, it's a compiler option! < 1207959622 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: Yaey. < 1207959625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err. < 1207959628 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Compile-time option. < 1207959632 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-DWITH_FORTUNE to enable < 1207959644 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i love how if it compiles, it works < 1207959656 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(i'm not sure why it compiles though) < 1207959747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: yes < 1207959766 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: there's even libraries for HTML generation that make invalid HTML a type-error < 1207959780 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: I've always wanted to make one for XML where you can just write some instances corresponding to the schema < 1207959791 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION loves a lot of the HTML renderers out there. . . < 1207959807 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And how *trivial* it is to make valid, well-formed HTML that they can't render. < 1207959812 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(or even parse) < 1207959840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: I can't compile EgoBot on this machine because it is linux-specific. D: < 1207959844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Can you try my changes? < 1207959849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: WebKit! WebKit! < 1207959854 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(It's open source, so you can't complain.) < 1207959864 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :KHTML doesn't parse it. < 1207959882 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I have yet to find a browser that parses this: http://pikhq.nonlogic.org/test.html < 1207959885 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It validates, though. < 1207959897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :KHTML is NOT WebKit. < 1207959910 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I know. I'm not feeling like installing WebKit yet. < 1207959919 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Lemme wait unto KDE 4.1. < 1207959925 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :until, even. < 1207959927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: And suprise, it doesn't work. Guess why? *Nobody* uses short closing tags. < 1207959937 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But it's valid and well-formed. < 1207959937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And -- shock -- rendering engines are designed to be practical. < 1207959953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :If they were a platonic, standards-supporting ideal they wouldn't render invalid pages. < 1207959971 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Some claim to attempt to be that ideal. < 1207959983 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :While they can't parse test.html, they fail epically. < 1207959991 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :epicly, even. < 1207960016 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :None claim to be that ideal. < 1207960026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :No sane one, anyway. < 1207960035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The standards suck, anyway. < 1207960086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: No? :( < 1207960382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Well, I have a patch if you want it < 1207960388 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, yeah. That SGML part is a real bitch. ;) < 1207960407 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Remind me tomorrow. < 1207960529 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Aww. I can't even test it locally, y'see. < 1207960538 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :LOSAH < 1207961278 0 :kwertii!unknown@unknown.invalid QUIT :"bye" < 1207961292 0 :kwertii!n=kwertii@c-71-202-121-102.hsd1.ca.comcast.net JOIN :#esoteric < 1207961480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: I use a non-Linux system. So yeah. < 1207961511 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What do you run? < 1207961545 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If it's Windows, install Cygwin. If it's OS X, install the development environment from your install discs. < 1207961616 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(insofar as I'm aware, Egobot runs on most POSIX targets) < 1207962017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: It does not. cpkt. < 1207962030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Relies on linux headers, elf, all that stuff. < 1207962048 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: How dare you? < 1207962069 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: He didn't write cpkt. < 1207962069 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Do you do the ELF loading yourself or some such? < 1207962072 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1207962076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :He just uses it to trace the syscalls or.. something. < 1207962083 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It seems to serialize some state or.. actually I don't know what it does. < 1207962084 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION kicks *cpkt* devs instead. :p < 1207962097 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Err, pikhq, I don't think it could be portable. < 1207962108 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It does pretty deep magic to lodge in to the process. < 1207962113 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1207962119 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Why*? < 1207962127 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Surely there's a good reason. < 1207962128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Because it's the only way to do... whatever it does. < 1207962142 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: aha < 1207962142 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ckpt - process checkpoint library < 1207962142 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :www.cs.wisc.edu/~zandy/ckpt < 1207962142 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Copyright (c) 2002-2005 Victor C. Zandy zandy@cs.wisc.edu < 1207962145 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :process checkpointing. < 1207962150 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :totally non-portable in every shape or form < 1207962161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Basically, it can freeze a running process to disk. < 1207962164 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Then thaw it out again. < 1207962183 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: aw, man- that's terrible! < 1207962194 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :how the fuck do they mess it up that badly? < 1207962229 0 :boily!n=boily@bas2-quebec14-1167939321.dsl.bell.ca JOIN :#esoteric < 1207962297 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jebus. < 1207962308 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I can understand why they have to do such deep magic. . . < 1207962316 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But why must *Gregor* use it? < 1207962328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I think to remember all the definitions made in the esolangs. < 1207962330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Between runs. < 1207962340 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Since they are in a variety of languages < 1207962345 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Also, I wonder: can User Mode Linux run on OS X? < 1207962350 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't think s < 1207962351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1207962353 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I remember some guy getting it to work on Cygwin. . . < 1207962355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But I have Parallels and QEMU. < 1207962363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So it isn't hard to get Linux up. < 1207962370 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and pikhq: how the FUCK is that supposed to be valid HTML? < 1207962378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: it is valid html < 1207962380 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: Read up on SGML. < 1207962382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the feature is inherited from SGML < 1207962385 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I call total bullshit < 1207962388 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And run it through the W3C validator. < 1207962396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: 'i have never heard of this obscure feature' != 'total bullshit' < 1207962409 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately a lot of people have that preconception. < 1207962413 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It gives 4 or 5 warnings, saying basically "This is valid, but nobody *supports* it." < 1207962418 0 :olsner!n=salparot@79.136.60.96 JOIN :#esoteric < 1207962426 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And then hands me a "Valid HTML4" button. < 1207962428 0 :Iskr!unknown@unknown.invalid QUIT :"Leaving" < 1207962463 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :even if it *is* a part of the standard, it's ridiculous. It's unreadable and breaks all the preexisting conventions of the format < 1207962477 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No it doesn't. < 1207962485 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The preexisting conventions of the format *are* SGML. < 1207962488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: You are incredibly idealistic if you think that HTML has conventions. < 1207962491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Much less reasonable ones. < 1207962495 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Here's a hint: that SGML feature predates HTML. < 1207962499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :HTML is *unbearably* bad. < 1207962562 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: then it's cruft and should be deprecated < 1207962580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: most of HTML is cruft < 1207962582 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :In fact, I'd interpret the fact that it's unsupported on sane browsers as deprecation < 1207962598 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there is no such thing as a sane browser. they must be insane to read most of the html out there. < 1207962614 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's explicitly deprecated in HTML 4.01. But, most of HTML 4.01 *is*. < 1207962700 0 :timotiis!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207962719 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :if it's explicitly deprecated, it isn't valid HTML, ergo my original argument stands. < 1207962754 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :anything that was deprecated and still works is a bonus feature, rather than something you can reasonably test for compliance. Your methodology and argument is flawed. < 1207962773 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[01:12] if it's explicitly deprecated, it isn't valid HTML, ergo my original argument stands. < 1207962774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wrong < 1207962781 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :deprecated != invalid < 1207962797 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :By the same notion, K&R function declarations are invalid C. < 1207962810 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(in fact, they're deprecated but *required* by the ISO C spec) < 1207962810 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and for many practical purposes, they are < 1207962823 0 :boily!unknown@unknown.invalid QUIT :"Schtroumpf!" < 1207962824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: wow < 1207962826 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what a load of crap < 1207962835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'invalid' is so far apart from 'practical purposes' < 1207962879 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BTW, HTML 4.01 itself is considered deprecated. ;) < 1207962968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Unfortunately. XHTML is far worse. < 1207962995 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :True.' < 1207963002 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It has some things that are nicer. . . < 1207963007 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And an assload of things that are worse. < 1207963024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1. Take horrible markup format rooted in history, arcane things and ad-hoc design. 2. Take *generic* markup format that misused in 90% of cases. 3. Stick them together < 1207963036 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And before you say 'XHTML 2', *please* don't. That thing is god-awful < 1207963048 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :NOW, there is slightly good news < 1207963051 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :XML *itself* is SGML-based. < 1207963053 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1207963061 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :HTML 5 *will be better* than HTML 4.01 < 1207963068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It won't be perfect because it's mostly backwards compatible. < 1207963073 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But it *is* relatively sane. < 1207963079 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Especially the nice, short doctype: < 1207963085 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sure, that's invalid SGML. Who cares? < 1207963100 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Basically, they're dropping the SGML base? Whee. < 1207963130 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://www.roesler-ac.de/wolfram/hello.htm#Intercal <- this does not seem correct < 1207963137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Yeah. < 1207963157 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: it's correct in a perverse way < 1207963166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: errors in programs are printed out by the intercal compiler < 1207963170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: at runtime < 1207963178 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric ::O < 1207963180 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and 'NOT' makes a statement not executed unless explicitly enabled < 1207963184 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Of course, that is a total cheat. < 1207963196 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but an awesome cheat < 1207963199 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: What I think is the minimal HTML 5 document:

Hello, world!

< 1207963221 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. Sane. < 1207963223 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: The reason why it is quite decent is twofold: < 1207963228 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Requiring container tags? Glee! < 1207963243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1. The W3C didn't get their paws on it until it was almost done < 1207963246 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shudders at the

tag < 1207963251 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2. The WHATWG did it before that. The WHATWG are clever. < 1207963252 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, in traditional HTML. < 1207963265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :3. Ian Hixie did lots of work on it because he is in the WHATWG. Ian Hixie is *very* clever, and sane. < 1207963271 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So threefold! < 1207963277 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: You might be able to drop the

s. < 1207963293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But

isn't too bad. < 1207963299 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Semantically it makes sense. < 1207963309 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And having some text in the root and others in elements is a bad weird. < 1207963310 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But meh. < 1207963361 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My problem with

is how it acts in HTML 4.01 and below, actually. < 1207963368 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Specifically, it doesn't need to be closed. < 1207963372 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://www.roesler-ac.de/wolfram/hello.htm#Pocket-Calculator < 1207963377 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Ah, yes. That thing. < 1207963383 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure if that's still in HTML 5. < 1207963384 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :With this technique, you cal also write "HELLO BOOB" < 1207963397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :HTML 5 is certainly lenient. < 1207963408 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So it retains a lot of HTML's quirks. < 1207963415 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But on the *overall*, it's sane. < 1207965220 0 :ehird!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1207972861 0 :Judofyr_!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1207972861 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1207973041 0 :Deformative!unknown@unknown.invalid QUIT :Remote closed the connection < 1207973101 0 :Deformative!n=joe@c-68-61-240-49.hsd1.mi.comcast.net JOIN :#esoteric < 1207973137 0 :Deformative!unknown@unknown.invalid QUIT :Remote closed the connection < 1207973176 0 :Deformative!n=joe@c-68-61-240-49.hsd1.mi.comcast.net JOIN :#esoteric < 1207977064 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1207977071 0 :RodgerTheGreat!n=Rodger@wads-5-233-27.resnet.mtu.edu JOIN :#esoteric < 1207977085 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Client Quit < 1207979615 0 :cmeme!unknown@unknown.invalid QUIT :"Client terminated by server" < 1207979626 0 :cmeme!n=cmeme@boa.b9.com JOIN :#esoteric < 1207979857 0 :sebbu2!n=sebbu@ADijon-152-1-75-235.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1207980905 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207982414 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1207985733 0 :oklopol!n=nnscript@oklopol.yok.utu.fi JOIN :#esoteric < 1207987199 0 :clog!unknown@unknown.invalid QUIT :ended < 1207987200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1207987427 0 :adu!n=andrew@pool-71-178-14-80.washdc.fios.verizon.net JOIN :#esoteric < 1207989183 0 :kwertii_!n=kwertii@c-71-202-121-102.hsd1.ca.comcast.net JOIN :#esoteric < 1207989521 0 :kwertii_!unknown@unknown.invalid QUIT :"bye" < 1207990145 0 :kwertii!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1207991298 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1207991661 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1207991859 0 :Iskr!n=i@host88-84-dynamic.54-82-r.retail.telecomitalia.it JOIN :#esoteric < 1207992984 0 :oklopol!n=nnscript@194.157.8.100 JOIN :#esoteric < 1207992990 0 :oklopol!unknown@unknown.invalid QUIT :Remote closed the connection < 1207993002 0 :oklopol!n=nnscript@194.157.8.100 JOIN :#esoteric < 1207994892 0 :adu!unknown@unknown.invalid QUIT :"Bye" < 1207995353 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1207998710 0 :oklofok!n=nnscript@194.157.8.100 JOIN :#esoteric < 1207998763 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1207999318 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1207999423 0 :Slereah!n=Vampire_@ANantes-252-1-71-168.w81-250.abo.wanadoo.fr JOIN :#esoteric < 1207999988 0 :oklofok!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1208000004 0 :oklopol!n=nnscript@194.157.8.100 JOIN :#esoteric < 1208000563 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1208006467 0 :pikhq!unknown@unknown.invalid QUIT :Remote closed the connection < 1208006482 0 :pikhq!n=pikhq@209.248.125.70 JOIN :#esoteric < 1208008101 0 :Judofyr!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1208008101 0 :Judofyr_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1208009220 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1208012461 0 :oklopol!i=oko@dsl-tkubrasgw1-ffb1c100-137.dhcp.inet.fi JOIN :#esoteric < 1208013130 0 :ehird!n=ehird@91.105.104.73 JOIN :#esoteric < 1208014684 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :logo FAIL: http://www.harveyshopfitters.co.uk/images/menu_01.gif < 1208014815 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that cons cell you created, can i include that with your nick/name in my oklotalk report? would be cool to have something like "user experiences" :D < 1208014857 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :more impressive if *others* can do something with it than if i can. < 1208014928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: brb, with you in a sec < 1208014929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and yes < 1208014933 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wanna code some more though too < 1208014934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208014946 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but for the record, if you didn't know, my name is elliott hird < 1208014952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and please don't get the wrong number of ls and ts < 1208014954 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208014961 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey, i've always known it. < 1208015005 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :would be awesome if you did something, i'm trying to get people to write me an stdlib :) < 1208015012 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not many are that interested to :O < 1208015039 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not that i'm too lazy to do it, just that it's a bit useless if i do it < 1208015078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because of course i can do it trivially... well, you too, but i'm also trying to get normal people to write something with it. < 1208015093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :normal coders that is < 1208015094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, hm? < 1208015111 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, yes I read it has "shoplifter" first time < 1208015115 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :naturally i consider #eso guys a few grades up :D < 1208015134 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's not the point, although i did too < 1208015155 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what's the point then? < 1208015163 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1208015188 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :logo < 1208015195 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see people in it. < 1208015198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's a boring logo yes, but boring logos with symbols meaning nothing is rather common < 1208015230 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err what? < 1208015246 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah could be a person using some kind of tool < 1208015250 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's doggie style, receiver laying down < 1208015256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*lying < 1208015256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1208015257 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err < 1208015262 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :english is too hard < 1208015264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, you know this qualifies as "inkblot".... < 1208015271 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no it doesn't < 1208015294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pervertness then? < 1208015301 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or at least dirty minded < 1208015364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you know, i'm male < 1208015441 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so am I, and? < 1208015459 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I don't think about such things all the time < 1208015500 0 :timotiis!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1208015588 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i do admit i'm a sick pervert, but i'm 100% sure that logo can only be conceived as a sex act < 1208015652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, to me it looks like a person using a "slipmaskin" don't know English word for it < 1208015680 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: looks like front-to-front to me < 1208015707 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a handheld device that you put a paper (that got sand glued to it) on. then you use the device to make wood smooth < 1208015711 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what's the English word? < 1208015712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ironing board or smth? < 1208015720 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no < 1208015723 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :sander?> < 1208015733 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ironing board or smth? <-- that would be making clothes flat < 1208015745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarr... < 1208015751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you confuse them your clothes would looks very bad < 1208015754 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't know what slip was < 1208015759 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :very important to not confuse them < 1208015768 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, well slip in Swedish can be other stuff too < 1208015773 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, possibly < 1208015791 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, something to do with boats I think the other meaning is < 1208015798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I'm no boat expert) < 1208015843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, anyway google images to the rescue: http://www.fynda.se/bilder/londa_slipmaskin_ld1211.jpg < 1208015872 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, SimonRC: well, the hands seem to be on the receiver, so i would've said doggie < 1208015879 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but stick figures, so go figure < 1208015930 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty sure sander was right < 1208015935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1208015942 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or is that like a hone or smth < 1208015942 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why not mail the company and ask which one it is < 1208015947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure they would *love* it < 1208015950 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs < 1208015952 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't really know this stuff even in finnish < 1208016042 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, well slipmaskin can be for other materials than wood, for example metal < 1208016054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it seems that "sander" is correct < 1208016079 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is definately a sexual act. < 1208016079 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1208016086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyhoo < 1208016099 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :definitely < 1208016101 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: soo i'll write some more okocode if you put otobot in here, or give me an oklotalk interpreter < 1208016105 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1208016113 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll put it up :-) < 1208016116 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, if you give me an oklotalk interpreter, i'll even write a special testimonial < 1208016130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to put in the Report on the Algorithmic Programming Language Oklotalk < 1208016135 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1208016142 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can give you the compiled version. < 1208016161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i'm on a mac < 1208016165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so that would be thoroughly unhelpful < 1208016196 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :compiled into pyc, man < 1208016228 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1208016230 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :endianness < 1208016232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1208016234 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1208016247 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i'll add an awesome REPL < 1208016249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and send you a patch < 1208016249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208016253 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1208016256 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and a debugger < 1208016265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and maybe add continuations < 1208016273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I want to see it too so I can see how it works < 1208016278 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then I may help writing some code < 1208016297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: oklopol's python code uses 1-2 letter variables names and has no comments < 1208016298 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and little whitespace < 1208016303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it is only for the hardened obfuscated python editor < 1208016309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there is an awesome repl already < 1208016317 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well not awesome, but somewhat working < 1208016318 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"hardened obfuscated python editor"? < 1208016338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you need to be really good at editing dense, obfuscated python < 1208016351 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well count me out then < 1208016351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i will add history that is stored across sesssions, completion, brace matching.. < 1208016357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208016360 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: (hardened ((obfuscated python) editor)) for the parse tree < 1208016366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and the debugger and continuation stuff, of course < 1208016371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I suggest you make your code more readable if what ehird said is true < 1208016389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: he likes it that way < 1208016390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i do too < 1208016403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, try something like literate programming, just for a change < 1208016413 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to read code with comments imo :) < 1208016414 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eww < 1208016416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :literate programming < 1208016417 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(though IMO that is going too far in the other direction) < 1208016426 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and the shorter the easier to read :) < 1208016426 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but maybe they will cancel out? < 1208016428 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah, comments are mostly useless. < 1208016430 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but.. < 1208016432 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a few of them is alright < 1208016438 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and you will end up with something usable < 1208016444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like, instead of # loop through all elements in the array and xor them into the checksum, resulting in a floob < 1208016445 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :do < 1208016445 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, good comments that just specify stuff like interfaces, can be very nice < 1208016451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :comments above the function < 1208016451 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so you can just take a quick glance < 1208016454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :about what it does < 1208016456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not how < 1208016457 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like < 1208016464 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :# provides a checksum used as a floob < 1208016473 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but most of the time good code is self-explanatory < 1208016477 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :comments can be misleading < 1208016486 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :good variable names too < 1208016488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they make it easier for someone who doesn't *really* understand the source code to try and edit it < 1208016491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :often messing up things subtly < 1208016496 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i have a few comments, but they are mostly useful for myself :P < 1208016502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, comments are very hard to keep up to date < 1208016515 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed. < 1208016516 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I agree you shouldn't overdo comments < 1208016541 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but you could use good variable and function names < 1208016549 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i might let you play with my implementation once i've submitted it < 1208016552 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there's a problem with all that: writing oko-python is fun < 1208016566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ie, single char ones like i and j should be used for looping nothing else < 1208016570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fuck readability and maintainability, it's fun < 1208016575 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :dense code helps you get more on the screen < 1208016580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well x and y are ok if you are doing co-ordinates < 1208016595 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, agreed, but good variable names is still important < 1208016599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :very important < 1208016608 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you like to stare at code like a work of art < 1208016612 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :there is a definite maintainability drop as code goes beyond one screenful < 1208016615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i like to have fun when writing it < 1208016621 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC++ < 1208016626 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, yes that is why you split functions < 1208016631 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well, ok, give me the pyc < 1208016632 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and mark them as "inline" < 1208016636 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no < 1208016646 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that is not the point < 1208016648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :making the code modular is good < 1208016657 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I meant there is a definite mainatainability drop as the length of the program goes over one screenful < 1208016665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1208016671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, still how much do you save writing "int a" instead of "int sum" < 1208016672 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instead of making the current code easy to understand < 1208016679 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :think of a shorter, more self-describing way to express it < 1208016682 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a far better use of time < 1208016688 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :macros, lots of macros < 1208016691 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, as a variable name < 1208016696 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, you use a language that doesn't require stupidly verbose type declarations < 1208016699 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so that becomes '' < 1208016701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you just use a. < 1208016707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: however, in the case of C < 1208016712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: please read K&R < 1208016720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, even then calling the variable sum is better < 1208016722 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :their style is *exemplary* C < 1208016728 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :one- and two- letter variable names help you get most functions on to 1 or 2 lines < 1208016730 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and is very short, concise, uses mostly 1-char variable names, < 1208016732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, macors do have their place yes, but again it is easy to overdo it < 1208016737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and tries to keep things about one screenful < 1208016741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: and how can you argue with K&R? < 1208016745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is just imo, but usually, if a variable can have a very simple name without being misleading, you are doing a conceptually trivial thing much too verbosely... but i'm prolly wrong, no need to tell me that. < 1208016754 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes! < 1208016757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you're right < 1208016758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, because it is not available as a free pdf < 1208016759 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you agree? < 1208016762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :afaik < 1208016762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :niec. < 1208016775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: HAHAHAHAHA < 1208016780 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is the funniest thing i've heard all day < 1208016787 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so I haven't read it < 1208016789 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :also, document the datastructures, not the functions < 1208016795 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, yes very true < 1208016797 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the former is rather more helpful < 1208016809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I bet AnMaster would complain about K&Rs style if he read it. < 1208016817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'how can they make their code so OBFUSCATED' < 1208016822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'these people's C is horrible' < 1208016825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, however something like a one line comment above the prototype in the header file is useful < 1208016835 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :for example, that prototype J interpreter is easy to read once you know what the datastructures are < 1208016837 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, and if a library for others to use: much more < 1208016842 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on the public funtions < 1208016848 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, and probably yes < 1208016853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: yes, that prototype J interpreter is actually quite simple when you read it < 1208016879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the immediate shock reaction is very telling of the bad assumptions programmers make < 1208016891 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, would you like the man page for fopen to say: "opens a file, read source to see what the parameters are for and what the valid values for the mode parameter is" < 1208016893 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you understand some code immediately because it has tons of comments and all that < 1208016896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you probably understand it wrong < 1208016899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that question is to ehird too < 1208016899 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and editing it is dangerous < 1208016904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :with a more concise style, you learn the code < 1208016910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then you learn it PROPERLY, and editing is easier < 1208016928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that is a totally irrelevant question < 1208016937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, oh? it is code documentation < 1208016941 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in a way < 1208016953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: totally stupid attempt to clutch at straws < 1208016955 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1208016964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, how do you mean? < 1208016969 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1208016973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: run this for me < 1208016975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'man fopen|wc -l' < 1208016995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :124 on freebsd < 1208017006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ditto here. do you know how long the gnu version is? < 1208017013 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's god-awful < 1208017017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes, 130 lines < 1208017023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so 6 more < 1208017024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that must be an old version < 1208017025 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I checked < 1208017032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but anyway, the gnu version *tells you less* < 1208017035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the bsd writing style is better < 1208017041 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :more concise, and more information packed < 1208017048 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I agree freebsd got better man pages < 1208017049 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :124 is a bit excessive, it's got bigger over the years < 1208017050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BUT! < 1208017053 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you read the manpage < 1208017061 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a LOT of it is stuff to do with standards compliance < 1208017065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and historical stuff < 1208017070 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :when writing a new app, normally that doesn't apply < 1208017073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes I fully agree about comments < 1208017088 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SO, if fopen was new and written today < 1208017092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, if you look in cfunge source you won't find a lot of comments, mostly something like "this function does foo" < 1208017094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or such < 1208017095 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a good manpage would be much shorter < 1208017102 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :+ the gpl header in each file < 1208017104 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is about all < 1208017111 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: license headers in each file is so horrid < 1208017112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i hate it < 1208017114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so redundant < 1208017117 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1208017121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'this function does foo' < 1208017122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i suggest < 1208017122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'foo' < 1208017124 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instead of < 1208017132 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'This function calculates the checksum of s' < 1208017133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try < 1208017136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'Calculate the checksum of s' < 1208017146 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you said a lot in fopen man page was about standard < 1208017147 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wrong < 1208017161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :4 lines are < 1208017161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: looks like it to me < 1208017164 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: .pyc plz? < 1208017169 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can dcc it < 1208017173 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh righ. < 1208017174 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :t < 1208017175 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, however man fopen is about three functions < 1208017182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :FOPEN(3) FreeBSD Library Functions Manual FOPEN(3) < 1208017182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :NAME < 1208017182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : fopen, fdopen, freopen -- stream open functions < 1208017184 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they share man page < 1208017192 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, I don't like man(1) anyway < 1208017194 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you also get the spec wannabe, so comments on that too < 1208017200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, want info *runs* < 1208017201 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for documenting functions i prefer tools that extract stuff out of the source < 1208017205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically < 1208017211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :documentation should be as close as possible to the thing it documents < 1208017214 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well gnu info is worse < 1208017214 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1208017217 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :otherwise it has a far higher chance of being irrelevant < 1208017218 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or out of date < 1208017223 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yup * 2 < 1208017234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well you could use something like doxygen then < 1208017236 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: :) < 1208017241 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: doxygen's a bad exampl < 1208017241 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e < 1208017242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but if you use that, I just say eww < 1208017243 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sun got that mostly right, with JavaDoc < 1208017246 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's TOO verbose < 1208017250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, doxygen sucks < 1208017256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: cli is the repl < 1208017258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :good idea, bad implementation < 1208017261 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but the idea is alright < 1208017262 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it seems it's not coming < 1208017266 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1208017267 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ? < 1208017273 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1208017273 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1208017275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :upload it somewhere < 1208017279 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps i'm not identified < 1208017279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and send the url to me < 1208017281 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1208017283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm not < 1208017286 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now i am < 1208017295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, auto generated man pages then? < 1208017307 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, there is a gnu tool that can auto generate a man page from --help output < 1208017312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :help2man I think the name is < 1208017327 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Forth traditionally has one "screen" of pure comments for each "screen" of code. < 1208017335 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you need to give it some options to make sure it doesn't add the "see info page for more" crap < 1208017342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it isn't too bad with the right options < 1208017355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: trying to figure out how to accept that < 1208017356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::--) < 1208017363 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in text files, just have half of the line for comment and half for code I suppose < 1208017365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1208017384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, nah, too much comments, usually I need way less < 1208017385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I really need to get a place to put my thoughts on code < 1208017396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then i can point them to it < 1208017400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instead of wording it badly on irc < 1208017411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however: the more obfuscated the code, the more comments needed < 1208017418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it is better to give usable variable names < 1208017430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: cli.pyc is a repl, and if you want to do something with context, oklotalk.pyc has a Runner class, which can .run() code, and stores context... and oklotalk.run() runs code < 1208017446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, what is a "repl"? < 1208017451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: read/eval/print/loop < 1208017452 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :read-eval-print-loop < 1208017454 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1208017456 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1208017460 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :damn ehird and his divine typing skills < 1208017467 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in concatenative languages you can express it almost exactly like that < 1208017477 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :DEFINE loop = read eval print loop. < 1208017485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1208017494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(loop (print (eval (read)))), is, of course, ridiculous < 1208017495 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1208017512 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1208017526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :isn't that the same in "lispy" syntax? < 1208017555 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1208017555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sexps < 1208017560 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its totally backwards < 1208017562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1208017601 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in concisative languages, you can write it as readevalprintloop < 1208017611 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cise does this easily < 1208017617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it owns so bad < 1208017621 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i gotta get on it soon < 1208017628 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1208017628 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: or rather - 'in ambigious languages' < 1208017629 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1208017634 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the send failed < 1208017634 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :specifically, parsing cise is turing complete < 1208017641 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hehehe < 1208017642 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you need to know the definitions to parse it properly < 1208017643 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1208017645 0 :jix!n=jix@dyndsl-085-016-238-032.ewe-ip-backbone.de JOIN :#esoteric < 1208017649 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1208017651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes < 1208017655 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1208017660 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'readevalprintloop' could be 're adev alpri ntlo op' < 1208017678 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the magic is that you need to have those defined already. < 1208017700 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, oklopol < 1208017703 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you need to have explicit tokenization somewhere in file < 1208017704 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it is decided at runtime < 1208017706 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1208017708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i see < 1208017712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so if i use stuff from a library < 1208017714 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i have to specify which ones < 1208017717 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it can parse it right < 1208017720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :won't that be verbose? < 1208017750 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :specify which ones? < 1208017758 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: imagine this < 1208017765 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'import foolib; readevalprintloop' < 1208017771 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foolib could have 're', 'adev' etc < 1208017776 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you would have to scan foolib, i guses < 1208017777 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*guess < 1208017804 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yes, but i do not have all parsing rules done yet. < 1208017819 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :all i know is i'll choose something that makes sense < 1208017842 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cise isn't at all ready yet < 1208017855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1208017859 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll up the interp btw < 1208018166 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ping < 1208018169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: pingu < 1208018474 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :back < 1208018484 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :downloading < 1208018492 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okies < 1208018514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i guess now i'll decompile it < 1208018514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208018519 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208018532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that wouldn't be very fair, now would it < 1208018539 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it wouldn't be readable for one thing < 1208018555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :python bytecode would be fun to learn < 1208018562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The only other documented tester of Oklotalk-- is Elliott hird, who implemented a synthetic lisp style cons cell in pure Oklotalk. This was done based on solely the rational number example, implying the language can be picked up in an instance given a basic knowledge of the concepts involved. < 1208018563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208018567 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's very high-level, i'm prettu sure you could < 1208018574 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208018582 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well didn't you pretty much do that? < 1208018595 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or did i explain much :D < 1208018606 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1208018607 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i did < 1208018607 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1208018610 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarr < 1208018619 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hird < 1208018624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i *did* fail your name < 1208018628 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1208018631 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :credit me as 'ehird' < 1208018637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's 1337++ < 1208018648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :To be exact, also integers, strings and lists are things, but "thing" refers to user-created things (the "{...}" ones) in this document. Atoms aren't, in Oklotalk--, due to their special call behavior. < 1208018662 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :things are things except when they're not < 1208018663 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's true for this version < 1208018664 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you can have things < 1208018667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which are not like the other things < 1208018669 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208018697 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i put alot of thought into finding a good name for 'em :-) < 1208018705 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: how about 'responder' < 1208018709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208018712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha :d < 1208018713 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208018716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for Oklotalk, of course. < 1208018720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklotalk-- is set in stone too much :P < 1208018736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh and i came up with a little 'syntaxful' oklotalk-- variation < 1208018742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do tell < 1208018742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gonna rewrite my cons cell with it < 1208018767 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hey, i just noticed something < 1208018771 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklotalk doesn't need comments < 1208018773 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just use < 1208018773 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"strings" < 1208018856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: http://pb.vjn.fi/p641631565.txt < 1208018857 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1208018862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i have many more ideas for the syntax < 1208018869 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but that's just adding one or two niceties < 1208018871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i like it < 1208018882 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, the thing is, "comments" are in fact just another kind of string. < 1208018891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well yeah < 1208018894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but anyhoo < 1208018896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my example < 1208018896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208018899 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is actual oklotalk ofc < 1208018919 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarr i thought of that too, acttually < 1208018921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1208018935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :might be nice < 1208018952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah < 1208018954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically < 1208018960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just adding infix stuff < 1208018961 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1208018965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the thing that makes it special is my indentation style < 1208018972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try and read this < 1208018972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(= cons {(-> [h t] {(-> [$pb :] [h t]) (-> $car h) (-> $cdr t) (-> [$setcar h] h) (-> [$setcdr t] t) (-> [$! 0] h) (-> [$! n] (! t (- n 1))) (-> $length (+ 1 (length t)))})}) < 1208018975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :even if you add newlines < 1208018976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i meant the indentation actually. < 1208018977 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's still hard to read < 1208018984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but my style combined with the indentaiton < 1208018990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :makes it nice and trivial < 1208018998 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i read it quite easily, but indeed, some might not < 1208019012 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarr, i meant i thought of *the indentation style* < 1208019017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1208019017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1208019029 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i assumed infix was just automatic because... well, it usually is < 1208019033 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1208019037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for single statements < 1208019050 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm also pondering whether i should add precedence to oklotalk, still < 1208019114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you should only add precedence when you write programs < 1208019118 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and see where parens crop up < 1208019120 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :parens are evil < 1208019126 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: actually < 1208019131 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i've always wanted to do a language where < 1208019133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2*3 + 4 < 1208019134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and < 1208019137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 * 3+4 < 1208019139 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :graphica! < 1208019140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :parse like you would expect < 1208019143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208019146 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've come up with that too :) < 1208019158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : yes < 1208019158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : sexps < 1208019158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : its totally backwards < 1208019163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but what about multiple spaces < 1208019164 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well xml is worse < 1208019170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 * 3+4 / 2 * 3+4 < 1208019172 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well, graphica isn't exactly that < 1208019176 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :totally epical < 1208019177 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :S-Expressions > xml < 1208019179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, epical < 1208019182 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is't sexps + infix if no spaces < 1208019189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no the repl is backawrds < 1208019191 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, same basic idea < 1208019194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*backwards < 1208019195 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*it's < 1208019204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I prefer RPN too < 1208019208 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1208019216 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i just like concatenative languages < 1208019216 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...rpn? :O < 1208019219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not just for the RPN < 1208019222 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okorpn < 1208019242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :befunge is more or less RPN < 1208019242 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :{$f [$pb :] ->; ...} = cons < 1208019242 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1208019248 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but not concatenative < 1208019260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how do you push 20 on the stack? a2* would work in funge98 < 1208019277 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: do you know concatenativity? < 1208019311 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I know the word and I know forth is such a language < 1208019315 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :concatenativity is RPN jesus < 1208019318 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not the details indeed < 1208019319 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the idea is that if you're point-free (meaning no variables -> no scope), you can just combine functions by combining their sources < 1208019320 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: forth isn't concatenative < 1208019322 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :really < 1208019323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1208019326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but here is the definition < 1208019333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1208019334 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in applicative languages, the invisible space operator is application < 1208019335 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo bar < 1208019336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is foo(bar) < 1208019338 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :concatenating their sources < 1208019344 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in concatenative languages, the invisible space operator is composition < 1208019345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes right < 1208019345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo bar < 1208019346 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is foo . bar < 1208019348 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1208019352 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pretty much < 1208019352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :means bash is a applicative language < 1208019355 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1208019358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no it isn't < 1208019361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1208019361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1208019362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kind of < 1208019367 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :myfunction argument < 1208019367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a weird kind of applicative languages < 1208019368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1208019369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1208019374 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the cool thing about concatenative languages < 1208019378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is that because space = composition < 1208019386 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :putting two valid programs together is their composition < 1208019388 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so what is foo . bar < 1208019388 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then < 1208019394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in C syntax < 1208019397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: foo . bar is \x -> bar (foo x) < 1208019400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can't express it in c < 1208019402 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't have closurse < 1208019411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well then you can't express it so I get it :P < 1208019412 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, actually that's bar . foo < 1208019418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but concatenative languages use it like that < 1208019422 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: basically < 1208019427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in 'foo . bar' < 1208019430 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is a function: < 1208019433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1208019436 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(x) { return foo(bar(x));} < 1208019444 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1208019444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in concatenative languages, 'foo bar' is 'bar . foo' < 1208019449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and < 1208019450 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'2' < 1208019453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is a function pushing 2 < 1208019460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then you have [...] to make functions < 1208019460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so < 1208019463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 3 + < 1208019464 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is < 1208019471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(x) { return +(3(2(x))); } < 1208019477 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and the initial x passed to the program < 1208019478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is the empty stack < 1208019481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what does that evalute to? < 1208019482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so that program pushes 2 < 1208019486 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wel < 1208019488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2(x) < 1208019492 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is x+[2] < 1208019497 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :assuming 2 is a function < 1208019502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, that makes a stack like x but with 2 added to it < 1208019505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then passes that to 3 < 1208019508 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then passes that to + < 1208019511 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok. < 1208019513 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which adds the top two avlues together < 1208019514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now < 1208019516 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :when you call a function < 1208019518 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it gets the current stack < 1208019521 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. 'x' gets it < 1208019522 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1208019524 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :at the start of the program < 1208019527 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :an empty stack is passed < 1208019534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1208019537 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[...] is an anonymous function < 1208019542 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so all it does is stack operations? < 1208019543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'[...] i' is '...' < 1208019550 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: kind of, but stack is an implementation detail < 1208019579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :can't see the point of it though really < 1208019611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what's the point of anything really < 1208019616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a paradigm < 1208019619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a very interesting one < 1208019622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1208019628 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why is it useful < 1208019640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why is it better than say functional programming < 1208019641 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the same way any paradigm is useful over any other < 1208019661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, like? < 1208019695 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, and what existing languages are concatenative < 1208019705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and is any of them non-esoteric? < 1208019712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: most of them are non-esoteric < 1208019714 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1208019718 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like? < 1208019727 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Joy was created to research the implications < 1208019732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Factor, however, is the prime example < 1208019736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Slava Pestov is its head < 1208019739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :author of jEdit < 1208019751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it has a web server, is used to develop apps, has a small but strong community, etc < 1208019756 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it has a channel here, #concatenative < 1208019763 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :factorcode.com < 1208019853 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wikipedia call Joy "functional" < 1208019858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1208019941 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, functional but concatenative < 1208019943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: oh and Cat < 1208019946 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Cat is like Joy, but strongly typedf < 1208019956 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not man cat? < 1208019961 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1208019962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :catlanguage.com < 1208019971 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cat is certainly "concatenative" though XD < 1208019978 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not turing complete < 1208020008 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, not related to lolcode? ;P < 1208020014 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1208020022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :predates it < 1208020037 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :er wait < 1208020038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dead link < 1208020064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://cat-language.com/ < 1208020117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that one is functional too? < 1208020136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1208020141 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :are *all* concatenative languages functional? < 1208020145 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: most are < 1208020147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1208020150 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :most of them have side-effects < 1208020153 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so functional but not purely < 1208020166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but all of them have [...] and use combinators for 'if' and all that stuff < 1208020170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but in e.g. factor < 1208020171 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well most functional languages allow side effects, even haskell does it in special contexts iirc < 1208020173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :side effects are trivial < 1208020181 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and haskell doesn't, it just lets you emulate it < 1208020191 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it lets you do file IO < 1208020207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or how the heck did they write darcs in haskell? < 1208020210 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm fairly sure a concatenative language has to be functional < 1208020253 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because you can't use something like goto for program flow, you have to have a way to nest code... this essentially lets you have functions < 1208020254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's hard to explain < 1208020260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: haskell can be used for very real, IO-doing apps < 1208020265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but it is done in a purely functional way < 1208020274 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'll word-drop... Monads < 1208020274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i'm assuming a stack here, perhaps a wider consideration of concatenativity might let you be imperative. < 1208020284 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: basically, the only non-functional part is the small runtime written in c < 1208020285 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes I heard that word < 1208020289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is 100% detached from the haskell code < 1208020289 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1208020296 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its hard to explain, most newbies misunderstand it < 1208020298 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :was just about to ask what it meant < 1208020301 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but just believe me when i say -- < 1208020308 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haskell is 100% purely functional < 1208020321 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, file IO is a side effect, right? < 1208020339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes but the haskell doesn't do it < 1208020345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i told you, it's hard to explain < 1208020347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it doesn't have side-effects, it just has a construct for ordering evaluating, in which case you can have the program receive a conceptual list of inputs that will ever be given, and read from that < 1208020353 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this list can only be read sequentially < 1208020356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: eeeeh, no < 1208020357 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and is the IO monad < 1208020359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right, so everyone using darcs just imagined they commited a file < 1208020359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no that's wrong < 1208020360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1208020362 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it really didn't do it? < 1208020362 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no? < 1208020368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ... what an IDIOTIC comment < 1208020377 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes I'm aware of that < 1208020380 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but you make no sense < 1208020380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its not the Haskell that does the IO. < 1208020394 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: most people have a lot of trouble with monads. i'm not going to explain it over irc. < 1208020397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just trust me. i'm right. < 1208020403 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what's wrong about my explanation? < 1208020454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hm < 1208020455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not srue < 1208020472 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not saying it's exactly that, but it somewhat corresponds to that :) < 1208020506 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can think of actions that effect the IO monad as taking stuff from the list < 1208020515 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and at recursion, passing the tail < 1208020520 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because you've used the head < 1208020574 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you can also do stuff like output, and tell the IO monad how to read, but you can find a similar analogy for that too < 1208020592 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how < 1208020593 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1208020594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what < 1208020648 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: did you try the interp? < 1208020651 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :does it work at all? < 1208020763 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: going to < 1208020786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::: " < 1208020786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : } < 1208020810 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it seems this is an idle day for me, so i'll be here waiting, i guess! :D < 1208020842 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i haven't tried anything that shouldn't work btw, so don't be surprised if it's trivial to crash < 1208020844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well, it works < 1208020845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1208020855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not much to see really < 1208020862 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you can't crash it that easily ofc < 1208020870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because it just excepts < 1208020921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, if you find bugs, i may remention you in the report!! < 1208020932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: there's lots of bugs < 1208020934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just not on valid code < 1208020934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1208020939 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1208020941 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i find the scoping odd though < 1208020943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :here's an example < 1208020944 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :prolly, prolly < 1208020962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(= ptr {(-> o {(-> $get o) (-> [$set o] o)})}) < 1208020967 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you see the o < 1208020968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bound in < 1208020969 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[$set o] < 1208020979 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i would expect that to be local to that pattern match, and just return the o < 1208020979 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then < 1208020981 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :on a future get < 1208020984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the get would refer to the objects o < 1208020985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but instead < 1208020990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it somehow 'overrides' the thing's o < 1208020995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is that intentional? < 1208020997 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1208021000 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if so, how is it done consistently? < 1208021010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's only a problem at recursion < 1208021032 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mutable objects and functions at the same time don't really mix < 1208021036 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i wasn't afraid ofc < 1208021046 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :recursion will remake the scope < 1208021051 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nothing else < 1208021094 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see, usually you will not use a *field* in a pattern, you will use new varnames... using field names in a pattern will have the side-effect of changing the field. < 1208021172 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you find problems with it, do tell me. sofar, it seems to have been a good idea < 1208021229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, apart from the fact it may make it easy to make mistakes; this of course i don't care about at all, oklotalk is supposed to be fun and easy to code, if you *know what you're doing, and are perfect* < 1208021396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, the bot is offline :( < 1208021401 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1208021408 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :otobot I mean < 1208021412 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or whatever it's name was < 1208021486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wtdf < 1208021488 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1208021494 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :invalid username i=-1 :D < 1208021505 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err yes I agree it is invalid < 1208021507 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see irc standard < 1208021523 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric := is not valid in nicks iirc < 1208021526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :brb phone < 1208021527 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't use it < 1208021688 0 :oktabot!n=oktaboto@88.193.177.137 JOIN :#esoteric < 1208021705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a-ha, cannot have ident and realname be the same as nick, it seems :O < 1208021717 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (= ptr {(-> o {(-> $get o) (-> [$set o] o)})}) < 1208021717 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :<<<25877720>>> < 1208021729 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (= x (ptr 7)) < 1208021729 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :<<<25884032>>> < 1208021733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (= y x) < 1208021734 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :<<<25884032>>> < 1208021738 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (set x 5) < 1208021739 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1208021742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (get x) < 1208021742 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1208021743 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (get y) < 1208021744 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1208021751 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (= x (ptr 8)) < 1208021751 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :<<<25883472>>> < 1208021756 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (get y) < 1208021757 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1208021761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (set y 7) < 1208021762 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :7 < 1208021764 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (get x) < 1208021765 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :8 < 1208021777 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea why i'm doing this < 1208021789 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm so goddamn paranoid stuff just stops working out of nowhere :D < 1208021862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[17:35] a-ha, cannot have ident and realname be the same as nick, it seems :O < 1208021864 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can < 1208021865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1208021891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::: x < 1208021891 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :<<<25883472>>> < 1208021893 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::: (+ x y) < 1208021894 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :f < 1208021903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::: º·Ë„‰‚·„°)(ÔË°*(Ë—‚Ë_SAO—±ÅÍÚ((((ÆÒ–ºÈËU0(WA*$()£$ < 1208021903 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :An error: Unmatching parens @ row 1. < 1208022128 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well, i couldn't connect < 1208022129 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1208022135 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i cannot see those chars < 1208022175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: they're jewnicode < 1208022223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah eunuchcode < 1208022410 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well i just do whatever happens to happen if unicode is used. it's supposed to be used with ascii atm < 1208022417 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: 9ii09i < 1208022418 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :ii09i < 1208022487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::: ømgø∂∑†ƒ < 1208022488 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :ømgø∂∑†ƒ < 1208022491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::: "ømgø∂∑†ƒ") < 1208022492 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :An error: Unmatching parens @ row 1. < 1208022492 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::: "ømgø∂∑†ƒ" < 1208022493 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :ømgø∂∑†ƒ < 1208022496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::: (length "ømgø∂∑†ƒ") < 1208022496 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :An error: invalid literal for int() with base 10: '\xc3\xb8mg\xc3\xb8\xe2\x88\x82\xe2\x88\x91\xe2\x80\xa0\xc6\x92' < 1208022497 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1208022499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1208022505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: open stdin in unicode mode < 1208022506 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :same with files < 1208022511 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and replace '' with u'' < 1208022515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then it'll be jewnicode < 1208022526 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is taht so? < 1208022541 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :alternatively, you could put the jewnicode into auschwitz < 1208022552 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but then you'd be an nascii < 1208022562 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (length "seher") < 1208022562 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :An error: invalid literal for int() with base 10: 'seher' < 1208022576 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps i should fix that :D < 1208022589 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see < 1208022596 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: (lolimagination "14354") < 1208022598 0 :oktabot!unknown@unknown.invalid PRIVMSG #esoteric :14354 < 1208022613 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lmao < 1208022636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :long story short, strings can only be int()'d atm < 1208022661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so i saved a few chars ;) < 1208022737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at some point i though i might make oklotalk only do base 16 numbers < 1208022835 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they're much more natural < 1208022889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hmm, all my esoideas from earlier today have just gone < 1208022897 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have gone? < 1208022949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1208022956 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :liek how < 1208022959 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :forgotten? < 1208023069 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1208023122 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you know a set of combinators that are tc given call/cc, but not without? < 1208023146 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty sure that cannot exist, but... < 1208023158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no, i don't think there is any < 1208023158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1208023162 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can implement loops with call/cc. < 1208023168 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, somewhat < 1208023171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so maybe < 1208023178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: like, make a functional equiv. of brainfuck < 1208023179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :without loops < 1208023181 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then add call/cc < 1208023182 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and maybe. < 1208024366 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1208025200 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, still care about PSOX? < 1208025212 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Barely. < 1208025222 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If anyone still cares about PSOX, I'm thinking of adding an ASCII mode < 1208025233 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, why only barely? < 1208025541 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because I've got an assload of other stuff to do. < 1208025615 0 :oklofok!n=nnscript@dsl-tkubrasgw1-ffbbc100-204.dhcp.inet.fi JOIN :#esoteric < 1208025983 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hehehe < 1208025999 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Elsenet, some people are playing with a bot called nicknick < 1208026012 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it steals nicks whenever anyone changes nick < 1208026022 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, you didn't answer me yesterday (or was it two days ago?): what use would PSOX be to me as a befunge programmer < 1208026025 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :to get back, you have to o two more steps < 1208026036 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :thus resulting in 6 lines of nick changes overall < 1208026043 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster, none I guess < 1208026046 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :head-spinning stuff < 1208026056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok thank you < 1208026077 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I mean, assuming befunge can access the network and files and stuff < 1208026122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: heh < 1208026137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders idly about a program that can solve the halting problem for *itself* < 1208026145 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :actually, a good irc server would make all this nicky stuff automatic < 1208026148 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :did that make any sense at all? < 1208026153 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: same as regular halting problem < 1208026154 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like < 1208026161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if a nick is online for more than N time < 1208026166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it gets registered < 1208026171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then... somehow you can claim it < 1208026172 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't know < 1208026190 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well you need to work somewhat on the details < 1208026192 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :really irc is far too klunky < 1208026197 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1208026201 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you could do channel registration easily < 1208026211 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : to get back, you have to o two more steps < 1208026211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you go in to an unused channel it's registered to you < 1208026214 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well /ns ghost < 1208026215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1208026222 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :funny to kill a bot that wya < 1208026223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :way* < 1208026232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if the channel dies, then it is dropped < 1208026236 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: lots of places have no /ns < 1208026248 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, right /msg nickserv/userserv/whatever < 1208026249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess what IRC needs is a well thought out replacement < 1208026253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if they got services < 1208026263 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not all have those < 1208026273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the only bit networks without services these days are efnet and ircnet < 1208026277 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :big* < 1208026294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, sure some got account based system < 1208026297 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or similar < 1208026332 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: some have none < 1208026352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes ircnet and efnet these days < 1208026361 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as I said all other large network do use services nowdays < 1208026394 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :does anyone else think irc sucks? ;) < 1208026482 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, support Haver! lol < 1208026489 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oklohi < 1208026495 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: haver kinda punts on the hard stuff < 1208026517 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :howso? < 1208026579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't really do anything new < 1208026648 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1208026649 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1208026658 0 :jix!n=jix@dyndsl-085-016-232-171.ewe-ip-backbone.de JOIN :#esoteric < 1208026754 0 :oktabot!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1208026776 0 :oklofok!unknown@unknown.invalid QUIT :Success < 1208026790 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :NOOOOOOOOOOO < 1208026792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :NO MORE OKLOTALK < 1208027225 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1208028154 0 :Judofyr_!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1208028154 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1208028197 0 :Judofyr_!unknown@unknown.invalid NICK :Judofyr < 1208030823 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :d < 1208030830 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: so about that egobot patch.. < 1208031233 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: :D < 1208031618 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION PONDERS < 1208031628 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :SILC has an interating alternative to nicks < 1208031651 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :everyone has cryptographic identites, and nikcs are merely decorative < 1208031684 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Programs that solve the halting problem for themselves are easy. < 1208031715 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :obviously, it will always halt, because a halting-problem-solver must < 1208031722 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :therefore it is just "true" < 1208032304 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can INTERCAL do string processing" < 1208032305 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :? < 1208032607 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes < 1208032614 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: it is turing complete < 1208032618 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there is an intercal cgi script < 1208032622 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can it do it well? < 1208032635 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you can't do anything 'well' in intercal < 1208032638 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :every operation is tedious and verbose < 1208032640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but you can do it < 1208032643 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's pretty standard < 1208032665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: http://www.muppetlabs.com/~breadbox/intercal/ins/insstart.html < 1208032667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :intercal cgi script < 1208032673 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Because I'm planning a PSOX-ASCII, which will return argumnts like: 12345,hi,0 < 1208032684 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I want to know how Intercal would handle stuff like that < 1208032795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Uh, you can do binary in intercal too. < 1208032807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But if you want true INTERCAL support, you have to do input and output in roman numerals. < 1208032811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Since that's all that's standard. < 1208032817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, no < 1208032819 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :input in text numerals < 1208032821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :output in roman numerals < 1208032824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :input like: < 1208032825 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..PSOX_ASCII is not about to support that < 1208032829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'ONE ZERO NINE FIVE ZERO' < 1208032831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :output like < 1208032833 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'MXVIIVIVI' < 1208032838 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sometimes with bars or underscores < 1208032845 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*PSOX-ASCII < 1208032853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Well duh, I could have guessed that. You don't like actually designing things that work.. < 1208032871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :character io extensions exist < 1208032873 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't want something centered on any language < 1208032875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but they are not standard < 1208032887 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: PSOX is centered around brainfuck. Stating anything to the contrary is just a lie < 1208032903 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that's why I'm working on PSOX-ASCII < 1208032935 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Which will be centered around something else. Yay! < 1208032950 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although I wonder if I should just break it off PSOX entirely to make it much more flexible.. < 1208032985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or just give up psox < 1208033047 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, the current spec/codebase, or the idea entirely? < 1208033185 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: both < 1208036939 0 :timotiis_!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1208036987 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1208037358 0 :Judofyr_!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1208037358 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1208037723 0 :timotiis!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1208038053 0 :Judofyr_!unknown@unknown.invalid NICK :Judofyr < 1208039639 0 :Judofyr_!n=Judofyr@cE699BF51.dhcp.bluecom.no JOIN :#esoteric < 1208039639 0 :Judofyr!unknown@unknown.invalid QUIT :Connection reset by peer < 1208040697 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1208043133 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1208043140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dead day today < 1208043538 0 :pikhq!unknown@unknown.invalid QUIT :"REbooting for new kernel"