2008-02-01: 00:06:25 -!- slereah__ has joined. 00:06:25 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 00:13:10 http://en.wikipedia.org/wiki/Water_integrator 00:13:12 :D 00:21:55 <3 GLOBAL-LET 00:22:21 it is the solution to all global variable redefinition messiness and thread safe global variable redefinition hell! 00:23:13 (global-let ((g1 v1) ...) body...) just like a let, but the variables are globals, redefined only in that body (that thread, form, etc) 00:24:46 it also lets you implement dynamic scoping, amusingly 00:25:09 (define x 2) (define (g) x) (define (f) (global-let ((x 3)) (g)) 00:25:13 (f) ===> 3 00:26:30 actually, if you replace all lets with global-lets, you get dynamic scoping 00:26:36 a better name is perhaps dynlet 00:31:51 -!- helios_ has quit ("Leaving"). 00:46:39 Hm. What if I wrote my own awesome EsCo? 00:49:33 -!- ehird` has quit ("K-Lined by peer"). 00:50:02 -!- Tritonio__ has joined. 00:50:13 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 01:09:15 -!- sebbu2 has joined. 01:23:31 -!- jix has joined. 01:23:52 -!- sebbu has quit (Success). 02:10:14 -!- jix has quit ("CommandQ"). 02:21:50 -!- immibis has joined. 02:36:55 SUPER DANCE EXPLOSION TIME 02:37:13 AAAAAAAAAAAAAAAH 03:46:42 -!- immibis has quit ("my client's gone silly and i am restarting it."). 03:47:09 -!- immibis has joined. 03:53:39 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 03:53:58 -!- immibis has joined. 04:18:23 -!- oerjan has joined. 04:18:30 -!- oerjan has quit (Client Quit). 04:45:11 -!- immibis has quit (Read error: 110 (Connection timed out)). 05:21:35 -!- calamari has joined. 05:43:15 -!- immibis has joined. 06:35:20 -!- calamari has quit ("Leaving"). 07:55:47 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:07:13 -!- GreaseMonkey has quit ("You enabled the bomb, arsehole."). 09:16:12 -!- oklopol has quit (Read error: 110 (Connection timed out)). 09:19:16 -!- oklopol has joined. 10:26:51 -!- helios24 has joined. 11:45:19 -!- Corun has joined. 12:13:18 -!- Insane has joined. 12:13:25 Does the BF bot in here have a console? 12:13:29 !bf +++++++. 12:13:48 !bf +++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++. 12:13:51 • 12:13:54 :D 12:14:01 That beeps on consoles 12:14:01 heh 12:14:14 but mine gives [7] instead of nothing 12:14:15 :P 12:14:50 !bf ++++++++++.++++++++++.-------.++++++++++. 12:14:55 Hrm 12:14:59 interesting 12:15:21 !bf +++++++++++++.+++++++++++++++++++++++++++++++++++. 12:15:23 0 12:15:44 !bf +[] 12:15:56 .. 12:16:24 !bf ++++++++++++++++++++++++++++++++++++++++++++++++[.] 12:16:30 :( 12:16:36 !bf ++++++++++++++++++++++++++++++++++++++++++++++++[. 12:16:39 !bf ++++++++++++++++++++++++++++++++++++++++++++++++. 12:16:41 0 12:16:43 Hmm 12:16:45 No debugging? 12:16:50 *debugging error messages 12:17:16 like "unmatched [" or "infinite loop: stack overflow" 12:23:11 -!- faxathisia has joined. 12:33:10 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 12:34:08 Hi EgoBot.. 12:41:50 -!- jix has joined. 12:42:20 -!- Insane has quit ("Have a nice day!"). 12:49:07 -!- helios24 has quit ("Leaving"). 13:05:07 -!- Corun has quit ("This computer has gone to sleep"). 13:14:27 -!- oerjan has joined. 13:22:55 -!- helios24 has joined. 13:27:18 Hi. 13:27:56 Hi 15:04:47 -!- Tritonio__ has quit (Remote closed the connection). 15:17:44 -!- timotiis has joined. 15:23:15 -!- ehird` has joined. 16:11:30 (decl map (-> (-> a b) (a) (b))) 16:11:35 haskellisp! 16:13:24 hm 16:13:27 maybe 16:13:35 (decl ...),in the definition 16:28:35 Wel, I hope the Wine thingy works. 16:33:29 "Insufficient privileges". 16:33:34 How do I gain moar? 16:34:02 sudo 16:34:35 It's not in the console, it's in, Wine. 16:34:49 run for president 16:35:26 Well, I can't wait 5 years to play! 16:37:51 slereah__: sudo wine foo 16:37:59 (note;evil) 16:41:52 I'm okay wioth evil. 16:44:46 slereah@Vixem:~$ sudo wine c:\\Program\ Files\\Nobilis\\Hard\ to\ be\ a\ God\\AWE.exe" 16:44:55 Still insufficient. 16:47:30 Hm. Wait, is it a windows error or a Linux error? 16:57:32 windoze 16:58:06 Shit. 16:58:35 I guess it's time for sum dual booting. 17:01:12 http://apcmag.com/system/files/images/linux-to-linux-and-xp.body-thumbnail.png 17:01:16 Love the sound of this. 17:06:30 -!- ais523 has joined. 17:06:53 hello ehird` 17:07:33 hi 17:08:03 sorry I haven't been online recently 17:08:06 I was busy in RL 17:09:00 how is the Underload compiler getting on? 17:09:09 you only have the Scheme version on your website 17:09:56 ais523: i'm not on my main machine right now so i don't have the dev version 17:09:57 but, soon 17:10:02 aha 17:11:33 TINEBT (This is not Emacs, but TINEBT) 17:12:05 SNUSP's acronym works along similar lines 17:12:52 actually, i'm going to make it a strictly-evaluated, pointer using recursive acronym 17:12:55 the name is TINE 17:12:56 and you say: 17:13:07 This is not Emacs (but TINE) 17:13:15 where the pointer to (but TINE) is implicit in the TINE name 17:14:19 to get round the fact that recursive acronyms otherwise have to be lazy? 17:14:29 or at least have a termination condition? 17:15:18 yes 17:15:36 you have to go further than that 17:15:42 make a recursive acronym that's capable of segfaulting 17:16:42 XINEBACEOX is not Emacs, but a copy of the expansion of X 17:18:09 better 17:18:14 you must make this into an esolang now 17:18:35 how do we get the emacs relation though 17:18:41 I like the way you managed to keep it pronounceable, though 17:18:51 and Emacs isn't a recursive acronym anyway AFAIR 17:19:01 'zine bach ee ox' 17:19:10 ais523: but i mean in the esolang. 17:19:19 maybe it's based on the expansion of acronyms in a 'source' 17:19:31 lazy, so: 17:19:39 TIARA=TIARA is a recursive acronym 17:19:40 works 17:19:41 but 17:19:50 its grammar would look like English; sort of like COBOL 17:20:01 except that it's string-rewriting and you refer to other commands with acronyms 17:20:01 XINEBACEOX=XINEBACEOX is not Emacs, but ^XINEBACEOX 17:20:10 where ^ is the 'force' operator, which implies consing 17:20:23 then you could write "a copy of the expansion of" and it would mean something in the language 17:20:29 also, the interpreter is graphical if you run it from a terminal 17:20:31 this program: 17:20:34 XINEBACEOX=XINEBACEOX 17:20:36 = 17:20:37 err 17:20:37 wait 17:20:41 XINEBACEOX=XINEBACEOX is not Emacs, but ^XINEBACEOX 17:20:41 = 17:20:43 XINEBACEOX 17:20:48 ^^ that program, when run, produces this: 17:21:15 XINEBACEOX, XINEBACEOX is not Emacs, but ^XINEBACEOX, XINEBACEOX is not Emacs, but XINEBACEOX is not Emacs, but ^XINEBACEOX,... 17:21:21 but expanded inline using ansi codes 17:21:28 ooh ... a recursive acronym quine! 17:22:37 that would just be a one-letter recursive acronym 17:22:56 like the entry from the IAQ: "C is a recursive acronym. It stands for 'C'." 17:23:17 CITRORI - CITRORI is the result of running itself 17:23:58 ah... a declarative language 17:24:04 I haven't seen any of those since Prolog 17:25:19 why are they not more common? 17:25:38 because people haven't yet realized computers are unbelievably fast. 17:26:07 you would think that someone would have tried to create another by now 17:26:16 actually, they probably have, just I haven't heard of the result 17:26:19 eh... i'm fairly sure there are others 17:26:33 and we don't seem to have any declarative esolangs yet 17:26:34 i've made a stub of one, for instance 17:26:43 mine was a bit eso 17:26:56 anyway, matlab is kinda declarative 17:27:04 ainnit? 17:27:12 my memory of it is that it's pure imperative 17:27:20 but maybe I use a different set of features to you 17:27:26 i've never tried it. 17:27:48 -!- oerjan has quit ("Good night"). 17:27:49 i was just assuming, since... well, it's math 17:28:30 a declarative language is one where you say what to do but not how 17:28:35 come to think of it, APL's a bit like that 17:28:46 hmm, not exactly. 17:28:59 apl is declarative, in a way, just like functional languages 17:29:18 but not as much as Prolog 17:29:23 yeah 17:29:39 anyways, regexps and sql are declarative 17:29:39 a proper declarative language would, in my view, solve simultaneous equations without extra language features 17:29:50 although the tc parts of sql are imperative, i guess 17:30:01 but Prolog doesn't allow infinite backtracking of reals in arithmetic expressions... 17:30:18 e.g. I can type X=Y+1, X=2*Y-3 17:30:36 you can do that in prolog? 17:30:37 that can check the solution to the simultaneous equation 17:30:38 i mean 17:30:41 the other way 17:30:42 but can't solve it if neither X nor Y are bound 17:30:51 oh, right 17:31:05 you can work around the problem by putting in infinite number generators for X and Y 17:31:14 but of course that fails because the program then takes infinite time to run 17:31:19 uncountably infinite, in fact 17:31:42 so what's really needed is some sort of clever reference scheme that allows such code to be legal and return a right answer each time 17:31:57 well, i've been thinking about adding axioms to a language 17:32:28 i mean, so that you could specify axioms using which stuff like that is resolved. 17:34:22 my original idea was to get a book with mathematical proofs, and try to get my interp to solve them as i read it :D 17:34:45 * ais523 tried that once 17:34:48 but the result was lousy 17:34:50 well, the ones that are done using purely by manipulating symbols 17:34:56 yeah, that might be 17:35:03 it tried to prove things by blind random search through the axioms and rules of inference... 17:35:17 hehe, i'd go for evolution 17:35:38 hmm 17:35:47 that's actually pretty much the same in this case 17:37:21 did you manage to prove anything? 17:39:38 well, everything it proved was true 17:39:43 but mostly obvious and useless 17:40:36 i guess you need to give it a prod to the right direction 17:41:27 anyway, i think i'll try that today 17:51:50 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 18:05:40 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 18:07:20 -!- Hiato has joined. 18:08:12 -!- oklopol has joined. 18:21:39 -!- slereah__ has quit (Remote closed the connection). 18:22:21 -!- Slereah has joined. 18:30:43 HI 18:30:53 HELLO 18:32:23 so oklopol 18:32:27 ist thous alivest 18:32:40 hello 18:33:35 ais523, too i guess 18:33:43 yes, I'm alive 18:33:48 i think... 18:34:22 heh :) 18:34:26 oklopol appears not to be 18:34:29 maybe i need an 18:34:30 OKLOPING 18:35:23 * ais523 is usually alive when online 18:35:38 because I actually turn my computer off when I'm not using it... 18:36:11 oklopol doesn't! 18:36:13 oklopol: okloping 18:38:48 do you ever try to ping people on IRC using /ping? 18:38:51 * ais523 tries 18:39:07 when I'm pinged it shows up at my end 18:39:39 but presumably doesn't set off the FLASH EVERYTHING alert 18:40:40 ais523: oklopol's client sucks 18:41:10 well, even mine had beep-when-someone-says-your-nick support off by default 18:41:22 although I now have an alternative I like better 18:41:54 if i'm invited somewhere, Konversation says "XXX invited you to a channel" 18:42:03 HEY THX FOR THE INFO! :)) 18:42:25 (and it doesn't open the channel or anything) 18:42:31 anyway, pong 18:42:58 that all came 18:42:59 and indeed, i never turn off my computer, except when i have to 18:43:00 at once. 18:43:02 ;| 18:43:17 hey, you can send any sort of ctcp request to anyone 18:44:08 oklopol: that's #tmpchatwithais523oklopol 18:45:51 -!- ais523 has quit ("looking for another connection..."). 18:54:50 -!- Sgeo has joined. 18:57:11 -!- ais523 has joined. 19:33:19 oklopol: how would you expect Konversation to behave? 19:33:37 lament: perhaps telling him what the channel is 19:33:55 What's going on? 19:34:30 oh 19:34:39 * ais523 was having a furious argument about Lisp with ehird` in another channel 19:34:58 hardly a furious argument 19:35:18 maybe not 19:44:51 so i'm thinking of writing an organizer-life application with emphasis on long-term stability and lack of bitrot 19:45:00 err 19:45:03 *organizer-like 19:45:41 with the idea that 50 years from now it would work just as well as today, and compile and install very easily. 19:45:58 lament: paul graham wants to give you money 19:46:28 if you write it in arc (THE HUNDRED YEARS LANGUAGE REMEMBER) using its ASCII and support it will be a working webapp in 100 years 19:46:59 i haven't heard of arc 19:47:08 * lament researches 19:48:22 lament: it's a laughable dialect of lisp 19:48:25 okay, it seems pretty clear that arc will not pass the "easy installation" requirement 19:48:34 6 years in development, and we get a 1000 line of scheme 19:48:36 compiler. 19:48:38 since it will most likely be completely lost 19:48:38 and it sucks. 19:48:42 and it's hilarious. 19:48:50 lament: ok, you need to upgrade your sarcasm detector 19:48:55 anyway my conclusion was that i have to program in C89 without using any external libraries. 19:48:57 but your project is infeasable 19:49:12 os' might be totally differnt in 50 years 19:49:23 C89 was designed to be portable to anything 19:49:33 ais523: was designed to be. 19:49:43 that seems to be the most important design rule of the standardisation 19:49:58 it's hard to imagine an OS architecture that a C89 compiler couldn't be written for 19:50:12 ehird`: just that out of languages i know, c89 seems the most likely one to be available on any platform within my lifetime 19:50:28 lament: to be honest i can't see a point to your project 19:50:33 ehird`: think of it this way. There's a reason header file names are limited to 5.1 characters 19:50:49 umm... not 5, maybe 6? 19:50:54 less than 8, anyway 19:51:08 i think that might be a myth. 19:54:02 string is 6 19:54:45 so is stdint 19:54:49 but that's C99 19:55:11 it seems doing IO in pure c89 is pretty painful, though. 19:55:23 snprintf is missing 19:56:01 yes, that's a serious problem 19:56:06 you have to either aim at a temporary file 19:56:10 also, many modern computing devices already don't have a terminal emulator 19:56:18 or to calculate the length in advance (which is frought with danger) 19:56:23 or to use a different function than sprintf 19:56:33 it's quite a bit of pain to get one for, say, a cellphone, i would imagine 19:56:38 as for the lack of a terminal emulator; C89 never says you have to have one 19:56:50 no, but you need to run the program somehow 19:56:52 all that it requires for a hosted implementation are stdin, stdout and sterr streams 19:57:15 which could connect to anything: files, for instance 19:57:43 i'm pretty sure trying to design a program still easily usable in 50 years is a mistake. 19:57:45 likewise, the standard stipulates that they need not actually be able to do any sending-receiving on things that aren't newline-terminated 19:57:55 Publish the file format, make it simple and human-readable, write a MODERN program to munge it. 19:58:04 In the future, if anyone cares,t hey can write a program to manipulate it. 19:59:48 i think that might be a myth. 20:00:07 I checked the draft standard, which guarantees 8.1 will be available, but no more 20:00:42 and it simply has to provide unique mappings for the filenames, so it can choose a different naming structure if it likes 20:01:05 IIRC there's some C compiler for a computer with a weird filesystem that maps the extension of the file to a subdirectory that contains the files 20:01:17 o 20:01:21 so a .c file is in a subdirectory called c and a .h file is in a subdirectory called h 20:01:41 it's a method of complying with the standard while working around a stupid filename length limit 20:08:17 -!- RedDak has joined. 20:18:30 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 20:19:15 -!- helios24 has quit ("Leaving"). 20:30:48 ehird`: you don't understand. Suppose it's a to-do list. 20:31:00 with your long-term goals 20:31:12 so have it as a simple text file 20:31:18 edited with LamentsFancy2008Program 20:31:23 way in the future, see it 20:31:30 see your text-only spec of the simple, human readable file format 20:31:37 either read the file yourself or write a simple app to do it 20:31:47 -!- ais523 has left (?). 20:31:49 sure, certainly 20:32:05 but it's nicer to have the simple app already written 20:32:19 then...that's about 50 lines of c 20:32:25 might not work in the future 20:32:28 who knows 20:33:42 but why not just write a program you can always use 20:33:51 then it needs to have a decent ui 20:34:12 it still might not run in the future. 20:34:18 also, i find 'a text editor' is good 20:34:33 a text editor is not a to-do list :) 20:34:49 a text editor is a great way to create and edit one 20:42:10 -!- Tritonio_ has joined. 21:12:58 -!- Slereah has quit (Remote closed the connection). 21:53:06 -!- RedDak has quit (Remote closed the connection). 22:01:06 -!- pikhq has joined. 22:05:49 -!- Slereah has joined. 22:17:51 -!- Hiato has quit (Read error: 110 (Connection timed out)). 22:31:12 -!- Tritonio_ has quit (Remote closed the connection). 22:52:20 -!- helios24 has joined. 23:12:26 -!- Sgeo has joined. 23:14:58 80x24 terminals are so tiny :D 23:15:29 http://vt100.net/vt100.jpeg 23:15:29 -!- helios24 has quit ("Leaving"). 23:16:09 80x24? What is that, a watch? 23:31:53 Slereah: 80x24 text 23:31:54 duh. 23:31:59 the standard for terminals 23:32:02 including terminal emulators 23:32:15 lament: in that picture sure 23:32:15 ;) 23:32:27 Yes, I suck 23:38:51 it's not really a standard for terminals 23:38:56 it's just vt100 23:39:14 which is a standard for terminal emulators :) 23:39:49 ahhhh http://en.wikipedia.org/wiki/Image:Asr33.jpg 23:41:18 Hello, I am number 5 23:44:25 i want a lisp machine 23:45:29 make one 23:45:42 SHAZAM! 23:46:05 they are awfully pretty, it's true 23:46:09 http://en.wikipedia.org/wiki/Image:LISP_machine.jpg 23:47:08 and the keyboard 23:47:08 <3 23:47:11 and the editor! 23:55:10 -!- timotiis has quit ("leaving"). 2008-02-02: 00:11:14 isn't it emacs? 00:15:44 lament: similar 00:15:46 but moreawesomer 00:27:49 vim? :) 00:28:52 -!- Tritonio_ has joined. 00:47:57 -!- immibis has joined. 00:55:08 -!- GreaseMonkey has joined. 01:01:10 lament: no way 01:01:12 not for lisp. 01:01:21 you need an introspective, interacting and allt hat stuff editor for lisp 01:01:31 the lisp machine editor was so intwined with it 01:02:41 -!- danopia`school has joined. 01:24:05 -!- danopia has quit (Read error: 110 (Connection timed out)). 01:34:02 -!- ehird` has quit ("K-Lined by peer"). 02:03:25 -!- danopia`school has changed nick to danopia. 04:06:40 -!- danopia`school has joined. 04:08:25 -!- Slereah has quit (calvino.freenode.net irc.freenode.net). 04:08:26 -!- lament has quit (calvino.freenode.net irc.freenode.net). 04:08:27 -!- danopia has quit (calvino.freenode.net irc.freenode.net). 04:08:27 -!- immibis has quit (calvino.freenode.net irc.freenode.net). 04:08:27 -!- Tritonio_ has quit (calvino.freenode.net irc.freenode.net). 04:08:29 -!- EgoBot has quit (calvino.freenode.net irc.freenode.net). 04:10:37 -!- danopia`school has changed nick to danopia. 04:17:32 -!- immibis has joined. 04:17:36 Netsplit! Take cover! 04:17:41 lo 04:18:22 -!- Slereah has joined. 04:18:22 -!- lament has joined. 04:22:58 -!- EgoBot has joined. 04:24:09 -!- Tritonio_ has joined. 04:27:48 -!- faxathisia has quit ("If there are any aliens, time travellers or espers here, come join me!"). 05:07:28 -!- oerjan has joined. 05:37:26 -!- oerjan has quit ("leaving"). 06:25:58 -!- oerjan has joined. 07:38:29 -!- faxathisia has joined. 07:56:42 -!- immibis has quit ("Clap on! , Clap off! Clap@#&$NO CARRIER"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:53:07 -!- puzzlet has quit ("Lost terminal"). 08:54:57 -!- GreaseMonkey has quit ("i are sleeps gnight"). 09:31:56 -!- oerjan has quit ("Some other time"). 10:18:35 -!- Figs has joined. 10:19:53 Hello 10:20:40 -!- Figs has set topic: Why did the programmer die in the shower? He wasn't using lazy evaluation when he read the instructs "lather, rinse, repeat.". 10:21:03 -!- Figs has set topic: Why did the programmer die in the shower? He wasn't using lazy evaluation when he read the instructions "lather, rinse, repeat.". 10:21:07 :D 10:35:51 -!- helios24 has joined. 11:01:50 -!- Hiato has joined. 11:12:33 Greetings 11:15:35 And goodbye. 11:15:36 -!- Figs has left (?). 11:30:49 -!- Hiato has quit ("Leaving."). 12:05:08 -!- timotiis has joined. 12:05:47 -!- helios24 has quit (Remote closed the connection). 12:06:09 -!- helios24 has joined. 12:13:57 -!- lifthrasiir has quit (Remote closed the connection). 12:20:08 -!- timotiis has quit (Remote closed the connection). 12:28:17 -!- puzzlet has joined. 12:41:22 -!- Tritonio_ has quit (Remote closed the connection). 13:29:23 -!- helios24 has quit ("Leaving"). 14:18:34 -!- timotiis has joined. 15:33:33 -!- chuck has joined. 16:49:50 -!- oerjan has joined. 16:53:29 -!- ehird` has joined. 16:57:54 -!- ehird` has quit (Read error: 104 (Connection reset by peer)). 16:58:09 -!- ehird` has joined. 16:59:37 -!- ehird` has set topic: Why did the programmer die in the shower? He wasn't using lazy evaluation when he read the instructions "lather, rinse, Why did the programmer die in the shower? He wasn't. 17:07:46 -!- ehird` has quit (Read error: 113 (No route to host)). 17:07:52 -!- Slereah has quit (Remote closed the connection). 17:13:21 -!- ehird` has joined. 17:21:41 -!- ehird` has quit ("K-Lined by peer"). 17:29:24 -!- ehird` has joined. 17:33:26 -!- ehird` has quit (Remote closed the connection). 17:44:25 -!- ehird` has joined. 17:54:02 -!- ehird` has quit (Remote closed the connection). 18:28:40 -!- Tritonio_ has joined. 18:52:13 -!- oerjan has quit ("Good night"). 18:57:23 -!- ehird` has joined. 18:59:48 -!- Tritonio__ has joined. 19:00:58 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 19:02:10 -!- helios24 has joined. 19:06:36 -!- ehird` has quit (Remote closed the connection). 19:12:21 -!- ehird` has joined. 19:15:51 -!- jix has quit ("CommandQ"). 19:20:14 -!- rpsetzer has joined. 19:20:35 hello people! 19:20:59 I am interested in Malbolge 19:21:36 I stumbled upon some discussion logs from this channel 19:22:07 about a paper written in Japanese by Hisashi Iizawa 19:22:18 at that time, some tried to translate it 19:22:25 sadly, the links are dead 19:22:31 ah 19:22:39 thhe 99bob sites malbolge page 19:22:41 has a link to it 19:22:43 -!- ehird` has left (?). 19:22:47 -!- ehird` has joined. 19:22:48 in the comment 19:22:48 s 19:24:10 A link to "Programming Method in Obfuscated Language Malbolge/me" in English? 19:24:18 let me check again, I started from there 19:24:29 no, in japanese 19:25:08 damn... 19:25:34 -!- ehird` has quit ("K-Lined by peer"). 19:38:20 -!- ehird` has joined. 19:38:33 -!- ehird` has quit (Read error: 104 (Connection reset by peer)). 19:42:29 -!- ehird` has joined. 19:42:57 any luck rpsetzer? 19:43:26 nope, the paper does not seem to exist in english 19:43:28 :( 19:43:50 so translate it 19:43:57 anyone knows Japanese? 19:43:59 babelfish might be a good start 19:44:02 ah! yes, pikhq does 19:44:08 so does Sukoshi, iirc, but they're not here 19:44:33 hm I bet the translation will suck if done by a translation engine 19:44:35 brb 20:00:04 -!- rpsetzer has quit ("ChatZilla 0.9.80 [Firefox 2.0.0.11/2007112718]"). 20:08:19 -!- immibis has joined. 20:12:33 x=5+x 20:13:20 -!- Tritonio__ has quit (Remote closed the connection). 20:15:40 oklopol: okloping 20:15:56 x == NaN 20:16:07 immibis: no, x= 20:16:10 (In haskell.) 20:25:02 oklopol: pokloing 20:27:32 faxathisia: faxoping 20:32:31 Sgeo: sgeoping 20:33:00 !! 20:33:03 Huh? 20:33:29 ? can't talk now 20:37:20 oklopol: finally 20:59:51 -!- immibis has left (?). 21:01:41 oklopol: okloping 21:19:52 -!- jix has joined. 21:19:57 anybody: anyping 21:32:53 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 21:34:40 -!- oklopol has joined. 21:38:06 oklopol: you back? 21:43:26 repop 21:43:30 hies 21:43:39 i'm going to sleep, now, though :D 21:46:21 aw 21:46:21 bye 21:46:22 ;) 21:46:24 *:) 21:49:08 -!- chuck has quit (Read error: 104 (Connection reset by peer)). 21:49:12 -!- chuck has joined. 22:23:28 -!- jix has quit ("This computer has gone to sleep"). 22:45:32 So who IS alive? 22:49:46 :\ 22:52:53 -!- slereah__ has joined. 22:53:16 myself 22:56:32 Hello yourself. 23:04:27 heh 23:04:30 who else is aliev 23:04:31 *ve 23:30:04 -!- Tritonio_ has joined. 23:38:11 nobody is alive? ;) 23:41:54 I am 23:42:11 Though I need to reboot soon. I'm still in the dual-booting installing process 23:49:27 OK who is alive and alive constantly 23:53:21 .. 23:55:43 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 23:57:29 -!- timotiis has quit ("leaving"). 23:58:52 -!- helios24 has quit ("Leaving"). 2008-02-03: 00:04:17 :| 00:24:08 -!- immibis has joined. 00:26:12 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 00:26:34 -!- Tritonio_ has joined. 01:04:59 -!- chuck has quit (Connection timed out). 01:12:24 -!- slereah__ has joined. 01:22:35 -!- slereah__ has quit ("Konversation terminated!"). 01:34:40 -!- immibis has quit (Remote closed the connection). 01:34:53 -!- immibis has joined. 01:42:55 -!- ehird` has quit ("K-Lined by peer"). 01:48:53 -!- pikhq has quit ("leaving"). 01:55:21 -!- pikhq has joined. 01:55:34 -!- GreaseMonkey has joined. 01:56:38 -!- pikhq has quit (Client Quit). 01:57:34 -!- pikhq has joined. 02:23:00 -!- immibis has quit (Remote closed the connection). 02:23:23 -!- immibis has joined. 02:29:23 -!- Slereah has joined. 02:33:02 -!- immibis has quit (Remote closed the connection). 02:33:15 -!- immibis has joined. 03:27:47 -!- calamari has joined. 03:44:18 -!- immibis has quit (Remote closed the connection). 03:44:48 -!- immibis has joined. 03:52:42 -!- Tritonio_ has quit (Remote closed the connection). 03:57:53 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 04:43:12 -!- immibis_ has joined. 04:56:20 -!- calamari has quit ("Leaving"). 05:08:11 -!- immibis_ has changed nick to immibis. 05:09:20 -!- Sgeo has quit (Remote closed the connection). 05:55:15 -!- puzzlet has quit (Remote closed the connection). 05:55:22 -!- puzzlet has joined. 05:58:26 -!- immibis has left (?). 07:08:39 -!- pikhq has quit (Read error: 110 (Connection timed out)). 07:10:21 -!- lifthrasiir has joined. 07:29:51 -!- immibis_ has joined. 07:31:38 -!- immibis_ has left (?). 07:53:27 -!- adu has joined. 07:53:57 hi 07:55:22 hey 07:56:30 * faxathisia is debugging a compiler and getting nowhere :/ 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:32 :( 08:00:49 I haven't worked on my language in awhile, like a whole week 08:01:10 but I just thought of another operator I could get rid of 08:01:45 I've been trying to minimize the number of operators in my lang, and until recently I had it down to parentheses, ' ', and '=' 08:02:14 and I think I can get rid of '=' and keep it Turring, complete 08:03:17 what is this language ? 08:03:41 it started out as my frustration with Haskell, but it has evolved into Haskell-- 08:04:12 hehe 08:04:13 so obviously, ' ' it the function application operator 08:04:32 What is your frustration with haskell? 08:04:45 mainly with numeric types and type classes 08:04:55 the monadic stuff is really nice tho 08:05:05 I just hate how Haskell does numbers 08:05:36 Haskell has 3 exponentiation operators, I think that is rediculous 08:05:57 hmm.. I think 3 is acceptable 08:06:12 although 4 makes more sense to me 08:06:13 Haskell has 5 type classes (i.e. interfaces) for describing what Float and Double can do 08:06:27 and the names they use are rediculous 08:06:57 (It makes sense to describe exp inductively on N, understand it's properties, generalize it to Z, then Q) 08:07:16 then you make a new def. for R using pages and pages of calculus :S 08:07:32 faxathisia: 4 operators? thats silly you only need ^ in the (Num a) type class (which is where (*) is defined as well), and have it opperate differently when the context is (Num Float) 08:07:35 so what do () = and ' ' do? 08:08:43 well, '()' do the obvious 08:08:54 :( 08:08:55 and ' ' is function application, like Haskell 08:09:19 but '=' is not quite like assignment, its used for pairing a key and a value 08:09:25 but that key does not need to be a literal 08:10:16 for example "c = ('a' = 1, 'b' = 2)" will make a function/hash-table such that when you apply it "c 'b'" the result is 2 08:11:08 when the binding is between a pattern and an expression, the '=' operator becomes a lambda 08:11:45 so "c = (\x = (x*x))" defines the square function 08:11:55 why the /? 08:12:01 opps, why \ 08:12:09 the \ is to distinguish between symbols and pattern-variables 08:12:25 x is the symbol/unquoted-string "x" 08:12:34 \x is a pattern that matches anything and binds it to x 08:12:58 ok 08:13:09 and it also resembles Haskells lambda syntax (\x -> x*x) 08:14:46 but I was thinking about the binding operator, and I was wondering if it was really needed 08:16:06 because everything can be though of as a query or a command anyways, and if there is no interpretation of either in the current namespace, then there would technically be an error, but if the error of not finding any current bindings was instead used as the method of binding, then the '=' operator is useless 08:16:28 :) 08:18:12 does that make sense? 08:18:45 yeah, cool 08:19:10 so instead of (\x = (x*x)) you write (x*x) ? 08:19:23 so the square function would be defined as "sq \x (x*x)" 08:20:17 but this means lists could also be defined differently, as "ls 1 4" would equate to ls[1] = 4, its almost like prologizing everything 08:20:29 it reminds me of the mathematical distinction between functions and relations 08:20:34 there is very little difference 08:21:09 and since there is a binding for "ls 1", the evaluation gives the result "4" 08:22:33 cuz in prolog all functions are basically booleans, if you want to assign "X = ls[1]" you have to write "nth(1, ls x)." thats what I meant by "prolog-izing" 08:23:01 nth(1, ls, x). 08:23:33 -!- oerjan has joined. 08:27:51 faxathisia: so what compiler are you working on? 08:28:01 for Janus 08:28:13 I have a self interpreter, 08:28:25 so I need to compile programs to run in it 08:28:59 now that I wrote an interpreter and compiler.. when the self interpreter doesn't work the problem could be.. anywhere :S 08:30:06 I wonder if I should just write my own Sint based on theirs.. 08:31:40 hmm whats Janus? 08:33:03 It's like the While language (minimalsit turing complete imperative), but every program can be run forwards or backwards 08:34:31 for example, http://rafb.net/p/7HtmQg50.txt 08:35:33 ok so its the forwards-backwards Janus 08:35:54 I google'd some other Janus's related to Ada95 and Prolog 08:36:02 huh? 08:36:29 http://www.rrsoftware.com/html/prodinf/janus95/j-ada95.htm 08:36:45 ah 08:37:53 whats a "Sint" 08:38:08 Self interpreter 08:38:12 o 08:38:38 http://rafb.net/p/Qc9qZq34.txt 08:38:48 That's extracted form a PDF 08:44:14 -!- GreaseMonkey has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. thx."). 08:46:49 so is that PostScript then? 08:51:20 or is that Janus? 08:52:36 That's the self interpreter I am trying to make work 08:55:52 ic 09:00:18 -!- lifthrasiir has quit (Remote closed the connection). 09:02:45 -!- adu has quit (Remote closed the connection). 09:37:54 -!- RedDak has joined. 09:51:25 -!- chuck has joined. 10:12:36 -!- sebbu2 has quit (Read error: 104 (Connection reset by peer)). 10:14:59 -!- sebbu has joined. 10:34:00 -!- oerjan has quit ("leaving"). 10:50:47 -!- helios24 has joined. 11:25:05 -!- timotiis has joined. 11:37:35 -!- Tritonio_ has joined. 12:28:55 -!- jix has joined. 14:05:43 -!- Slereah has quit (Remote closed the connection). 14:18:40 -!- n0nsense has joined. 14:19:15 -!- n0nsense has left (?). 14:50:14 -!- n0nsense has joined. 14:50:24 -!- n0nsense has left (?). 15:55:43 -!- oerjan has joined. 16:17:15 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)). 16:17:59 -!- Tritonio_ has joined. 16:48:30 -!- helios24 has quit ("Leaving"). 17:19:00 -!- oerjan has quit ("leaving"). 17:20:35 -!- Slereah has joined. 17:56:25 -!- ehird` has joined. 17:57:51 * faxathisia pings back at ehird 17:58:01 wow, that's some shite networking 18:17:03 omfg, the asshole paul graham patented continuation-based webservers: http://www.google.com/patents?id=WE8GAAAAEBAJ&dq=6205469 18:17:37 * faxathisia LOL @ "the asshole paul graham" 18:18:06 * faxathisia also agrees with this after reading him talking nonsense about Prolog 18:18:50 'Weird since Linus probably doesn’t use TextMate.' i'm suprised this had to be qualified with 'probably' 18:19:04 because linux definately edits on a mac 18:19:35 linus sometimes uses Mac OS and TextMate 18:19:48 that's when he is doing ruby on rails work 18:20:04 he's rewriting the kernel in rails 18:20:08 haha 18:20:15 it's productive 18:20:16 whlie flying around in a pink elephant 18:20:23 but he's considering switching to arc 18:20:28 for speed 18:29:52 faxathisia: you'll hate this guy re: prolog too http://www.yosefk.com/blog/high-level-cpu-follow-up.html 18:31:16 well he's just some guy who can't program and no-ones likely to listen to 18:32:22 you could question pg's programming ability too 18:32:38 I do :P 18:32:47 faxathisia: he does make hardware, though: http://www.yosefk.com/blog/the-high-level-cpu-challenge.html 18:33:10 omfg, tcl on board 18:33:14 worst idea ever 18:46:09 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 18:46:30 -!- Tritonio_ has joined. 18:55:47 -!- slereah__ has joined. 19:01:49 * SimonRC performs necromancy. 19:02:03 I just resurrected a 6-month-dead thread. 19:02:16 That's almost a century in Internet years. 19:02:23 Brillant. 19:02:35 hm? 19:03:33 @Paul Graham: the bastard! 19:04:11 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)). 19:04:58 yep 19:05:27 speaking of which, this chatterbot makes me sick: http://rome.purepistos.net/mathetes/ 19:05:33 It's been on his fucking website for several years! 19:05:52 it says i'm not a human because i'm not catholic :) 19:05:58 SimonRC: seriously? 19:06:04 oh 19:06:04 well 19:06:05 yes 19:06:11 it was filed in 1997, so him describing it on his website 19:06:13 doesn't count 19:07:06 ah, ok 19:08:11 SimonRC: but this is an example why software patents are sickening 19:08:33 have you read what he says about software patents? 19:09:05 what? 19:09:57 he has written an essay on why software patents are not particularly evil 19:10:29 :) 19:10:46 to be honest the 'software patent' stuff is pretty misguided: patents, full stop, are broken 19:10:58 i can understand the core idea to a degree but everything on top of that is hideously wrong 19:19:25 -!- RedDak has quit (Read error: 110 (Connection timed out)). 19:20:51 -!- Tritonio_ has joined. 19:21:02 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)). 19:23:21 -!- Slereah has quit (Connection timed out). 19:27:32 -!- slereah__ has quit (Remote closed the connection). 20:00:40 -!- chuck has changed nick to _chuck[server]. 20:19:30 -!- _chuck[server] has changed nick to chuck. 20:28:48 -!- Hiato has joined. 20:34:43 -!- Hiat1 has joined. 20:35:07 -!- pikhq has joined. 20:49:56 -!- Corun has joined. 20:50:08 -!- chuck has changed nick to chuck-blah. 20:50:10 -!- chuck-blah has changed nick to chuck. 20:53:04 -!- Hiato has quit (Read error: 110 (Connection timed out)). 21:24:29 -!- und3f has joined. 21:24:34 -!- und3f has left (?). 21:25:13 -!- RedDak has joined. 21:30:26 bsmntbombdood: you know you talked about segfault handling for a bf interp? 21:30:33 http://libsigsegv.sourceforge.net/ portable lib to do it 21:30:34 crazy 21:36:42 * SimonRC goes 21:41:48 -!- Hiat1 has quit (Read error: 110 (Connection timed out)). 21:45:02 bah why are revision controlsystems always mutable? 21:45:04 :( 21:45:09 filesystems should never modify data! 21:47:53 oh well, MINE will be an immutable, garbage-collected filesystem database! :D 21:58:33 -!- jix has quit ("This computer has gone to sleep"). 22:18:23 -!- RedDak has quit ("I'm quitting... Bye all"). 22:50:30 -!- timotiis has quit ("leaving"). 22:54:27 libsigsegv could be a fun way to implement a really esoteric language implementation 22:54:51 i'm thinking a ->C Cheney on the MTA compiler, using libsigsegv to allocate *all* memory and its stack overflow detection to unwind 2008-02-04: 00:56:01 -!- ehird` has quit (No route to host). 00:56:30 -!- ehird` has joined. 01:03:04 I wonder how crazy an esoteric language can get re: modifiable syntax 01:03:29 Maybe something that starts off dirt-simple forth-style parsing, then is extended in itself into a crazy crescendo of modifiable, extendable, pluggable, composable syntax from hell 01:24:16 -!- GreaseMonkey has joined. 01:26:51 ehird`: it's called "Perl" 01:27:11 heh 01:27:23 not quite - it doesn't have extendable syntax to that degree 01:27:31 -!- ehird` has quit ("K-Lined by peer"). 01:39:06 -!- sebbu has quit ("@+"). 02:38:52 -!- immibis has joined. 02:58:55 -!- adu has joined. 02:59:09 i'm sad 02:59:25 I just found two languages which are nearly Identical to my dream language 03:04:00 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 03:04:21 -!- immibis has joined. 03:11:01 adu: that sucks 03:11:09 you say there's two... 03:11:52 Io (no keywords, i like) and Z (functions == relations, i like) 03:12:59 Io method syntax: Object method Args 03:13:11 Z function syntax: Function Args 03:13:21 both have minimal syntax as well 03:36:42 -!- Corun has quit ("This computer has gone to sleep"). 04:08:17 -!- danopia has quit (Read error: 110 (Connection timed out)). 05:07:33 -!- oerjan has joined. 05:21:12 -!- adu has left (?). 05:57:43 -!- oerjan has quit ("leaving"). 06:07:20 -!- immibis has left (?). 06:54:18 -!- immibis has joined. 07:10:55 -!- pikhq has quit ("leaving"). 07:32:49 -!- lifthrasiir has joined. 07:39:37 -!- chuck_ has joined. 07:43:37 -!- chuck has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:09 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 08:16:47 -!- Aatch has joined. 08:36:04 -!- GreaseMonkey has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. thx."). 09:10:10 ehird`, Yeah that's what I want 09:10:44 ehird`, Just getting a really good mixfix parser and hooking it up to whatever lambda calculus you want 09:59:15 -!- Aatch has left (?). 10:01:33 -!- faxathisia has quit ("If there are any aliens, time travellers or espers here, come join me!"). 10:58:37 -!- RedDak has joined. 11:49:52 -!- Corun has joined. 11:56:58 -!- Corun has quit ("This computer has gone to sleep"). 12:32:30 -!- chuck_ has changed nick to chuck. 13:46:42 -!- timotiis has joined. 14:12:25 -!- RedDak has quit ("I'm quitting... Bye all"). 14:48:07 -!- jix has joined. 15:36:00 -!- faxathisia has joined. 15:36:08 !Huh 15:36:11 Huh? 16:49:39 -!- ehird` has joined. 16:49:59 -!- ehird` has quit (Client Quit). 16:50:27 -!- ehird` has joined. 17:02:12 -!- oerjan has joined. 17:05:17 -!- helios24 has joined. 17:30:30 -!- sebbu has joined. 18:06:18 -!- Corun has joined. 18:16:25 oklopol: okloping 18:34:44 b:4>@[n;&0n=n:+/_sqr 50{c+(-/x*x;2*/x)}/c:+,/(-1.5+2*(!w)%w),/:\:-1+2*(!w)%w:200;:;4];`mandel.pbm 6:"P4\n",(5:2#w),"\n",_ci 2_sv'-1 8#,/+(2#w)#b 18:34:52 I wish K systems still offered a free interpreter. 18:35:17 apologies, Kx systems 18:35:44 -!- jix has quit (Read error: 104 (Connection reset by peer)). 18:35:55 -!- jix has joined. 18:36:19 -!- jix has quit (Read error: 104 (Connection reset by peer)). 18:36:39 -!- jix has joined. 18:36:48 As it stands now I can't even see how you can pay them for one 18:38:51 very unfortunate 18:39:44 * SimonRC watches "Barack Obama @ Google" 18:39:46 What a pity I can't vote for him 18:40:59 hm... doesn't the US presidential candidate foreigners like best usually turn out too left-wing for americans? 18:41:12 SimonRC: he's probably the best one left.. this is unsuprising, e.g. kucinich had no hope in hell so his dropping out is unimportant (though apart from the ufo stuff he was great) 18:41:33 i also note that reading k comments changes how i type like this. damn you, kx systems and your commenting style 18:41:38 he dropped out because he was abducted by aliens? 18:42:04 ehird`: what is this commenting style? 18:42:06 lament: possibly :p 18:42:33 SimonRC: lowercase, concise, not always grammatically correct 18:42:34 If they got Hillary back that would make an alarmingly-long time with only Bushes and Clintons in the House 18:42:34 e.g. http://www.kx.com/a/k/examples/bell.k 18:42:42 ehird`: heh 18:43:01 kind of like k code 18:43:25 http://kx.com/a/k/examples/read.k some more kx systems commenting in the same style 18:44:02 hmm, forthy 18:44:14 SimonRC: no 18:44:14 APL-y 18:44:22 it's a derivative 18:44:35 that is some cray line-noise syntax 18:44:39 *crazy 18:44:47 SimonRC: pretty much like APL, but sans crazy characters 18:44:51 i like it 18:44:52 I have seen it before, but it still surprises me 18:44:55 http://www.kuro5hin.org/story/2002/11/14/22741/791 this is good stuff 18:45:03 unfortunately if you go to kx.com there's no reference to it 18:45:13 &they seem to not offer interpreters for it any more, beyond the obvious one you need to run their kdb+ software 18:45:24 pity 18:45:30 you could implement one yourself maybe? 18:45:39 for playing it doesn't need to be fast 18:45:51 SimonRC: k is a large language. 18:45:54 lots of built in stuff. 18:45:58 nor would you need all the libraries from the beginning 18:45:59 :-( 18:46:06 all code uses most of them. 18:46:17 that's k style 18:46:29 their interpreter is very concise though. 18:46:36 there's no language spec 18:46:41 an alternate interpreter would be hard 18:47:21 ther is a manual and a dictionary though 18:47:25 true 18:47:26 but still 18:48:10 SimonRC: plus i don't really want to damage kx's profits etc 18:48:19 i think for something like k they deserve it ;) 18:49:09 unfortunately i can't really afford kdb+ just to try out k 18:49:10 :) 18:49:24 no-one would use your terp in place of their product 18:49:37 also, look at J, which is similar I hear 18:49:45 SimonRC: well, they used to commercially sell the interp. 18:50:07 if they were still interested in that they would still be selling it 18:50:27 or, you could email them about it 18:50:46 I am sure they would like to hear from a fan 18:51:29 true, i'll keep searching for a copy of the interp though 18:51:29 :) 18:51:36 they used to offer a free one 18:52:12 k is hard to google 18:52:45 much unlike c 18:53:43 c is popular enough 18:53:56 d has the same problem except k is more obscure so it is almost impossible 18:54:19 i may have to use the web archie 18:54:22 *archive 18:54:39 -!- slereah__ has joined. 18:54:39 It's really hard to turn haskell into scheme... 18:54:54 Along the way I found K Links put up by the other of the kuro5hin article, and "No Stinking Loops", a collection of links for various APL-derived languages; interpreting the latter my best guess is that versions 2 and 3 of K are obsolete and version 4 is now called "Q". 18:54:56 that is confusing 18:55:08 ahhh: 18:55:08 It used to be the case that you could download a demo version of K from the Kx website. However, in 2003 Kx systems released Q which merges the features of K and Ksql and is meant to be the successor to both. At some point they deleted the K download since it is no longer a featured language; however they did not add a Q download. Kx still offers trial versions of Q, but it is on a by request basis. Abcarter 15:05, 25 August 2006 (U 18:55:08 TC) 18:55:16 SimonRC: i doubt an email from a fan would help then:) 18:55:39 A correction and a comment. I had thought that Q was the successor to both ksql and k. It is the successor to ksql and it does merge the features of ksql and k, however it is still written entirely in k, though a newer version. It would be nice for Kx to offer older versions of k without support, but it's not clear that it is in their interest to do so. Abcarter 00:19, 1 December 2006 (UTC) 18:55:40 ok 18:55:41 that;s confusing 18:58:56 SimonRC: http://en.wikipedia.org/wiki/Talk:K_%28programming_language%29 take a look at the prototype j interp 18:58:59 very epic 19:00:51 gcc complains about it :) 19:00:59 but sure enough it works 19:01:12 sweet, 1/0 segfaults 19:01:21 so does any unrecognized instruction 19:01:24 <3 19:02:14 hm i am talking a lot 19:07:31 Hm 19:07:35 does it even define 'mv'?:| 19:07:49 oh 19:07:50 yes 19:10:17 -!- ais523 has joined. 19:10:50 hello ehird` 19:10:57 hello 19:11:03 i was just blabbing on endlessly about k 19:11:17 in particular arthur's first prototype j interp: http://rafb.net/p/zcG1y584.txt 19:12:41 that looks pretty obfuscated for an interpreter... 19:13:14 ais523: ever read k/j code? 19:13:22 no 19:13:36 http://www.kx.com/a/k/examples/bell.k 19:13:42 bell labs benchmark 19:13:50 even more impressive: 19:13:54 http://www.kx.com/a/k/read.k translates k code into english 19:15:02 * ais523 runs the original paste through cpp and indent 19:15:15 ais523: i wouldn't 19:15:19 it's not k/j style 19:15:34 it might at least give me a chance of reading it more easily... 19:15:35 certainly if you want to understand code written in those languages you should get used to code like that 19:15:46 perhaps a slow read through it will be beneficial 19:15:48 :-) 19:15:49 * ais523 has written code like that before 19:16:01 ais523: ah, but has your code powered banks and stuff? 19:16:13 no 19:16:15 or full enterprise-quality relational databases? 19:16:23 they'd be crazy to run code that isn't well-commented and indented 19:16:25 well, technically THAT doesn't but the k interp is tiny and really fast and IS used for those 19:16:29 because it would be harder to spot the bugs 19:16:38 ais523: no, not with k.. it's a paradigm shift. 19:16:44 read the .k files i showed you 19:16:55 ais523: It's an APL descendant 19:17:33 I was talking about the C code you pasted originally 19:17:37 http://www.kuro5hin.org/story/2002/11/14/22741/791 this is a good explanation of why k is like that 19:17:44 ais523: it is basically in the style of k/j code, that c code. 19:18:12 also, cpp+indent won't help you. i tried for amusement 19:18:19 it does help 19:19:32 ais523: do you know if there is a way to make a template or something for catseye URLs so we don't have to change them all on the wiki every time cpressey moves around? 19:19:41 oerjan: shouldn't be too hard 19:20:22 oerjan: yes 19:20:24 shall i make one? 19:20:51 template name=catseye, and i only need to handle the domain not filepaths 19:20:52 right? 19:20:59 pretty much 19:21:12 yes please :) 19:21:25 you could do a template which was used along the lines of {{catseye|projects/worb/|description}} 19:21:32 er, we want to be able to do file paths 19:21:42 you would be able to 19:21:47 by putting more between the two | signs 19:21:59 current url? 19:22:05 catseye.tc 19:22:08 making the template's code: 19:22:18 [http://catseye.tc/{{{1}}} {{{2}}}] 19:22:44 ais523: heh, i've added fancy comments to make changing the url easy 19:22:48 perhaps a bit overboard 19:22:57 no, making wikis easy to use is important 19:23:08 you might even want to add documentation in a 19:24:46 i hope mediawiki strips comments decently 19:25:26 kay gimme a second 19:25:29 logging in to test it 19:26:02 hmm 19:26:08 by default it uses its second parameter as the description 19:26:11 without the catseye.tc stuff 19:26:19 i think it should have the http://catseye.tc/... in with it 19:26:20 agreed? 19:26:49 ais523: oo crap, you know mw right? is there a way to like save a variable or something 19:26:55 i guess i could do template:catseye being 19:27:01 {{catseye/inner|theurl}} 19:27:08 with /inner having nowikis around the argument places 19:27:14 hopefully that metaness would work. 19:27:20 have a look at what I've done so far 19:27:20 ais523: would it? 19:27:27 yeah i know 19:27:27 :| 19:27:33 I'm not entirely sure what you're trying to get at 19:27:38 oh wait 19:27:40 you edited my stuff 19:27:42 heh 19:27:48 hey, it's a wiki... 19:27:53 the default is currently parameter 1 19:27:56 ais523: yeah but i was working on it 19:27:56 :p 19:28:03 but you can change it by putting things between the | and the }}} 19:28:13 i know mw templates 19:31:05 ok 19:31:07 almost got it working 19:31:08 :-P 19:31:40 ah wait 19:31:41 silly me 19:31:46 ais523: got it, just give me a second 19:32:41 you're only passing one param to catseye/inner, rather than 2, and MW params are 1-based not 0-based 19:32:54 the only way to pass in {{{0}}} is to explicitly write 0= in the template call to give a named parameter 19:32:55 is it 19:32:55 okay 19:33:44 ok 19:33:47 got it apart from one case 19:33:50 which i am about to fix now 19:34:08 ais523: in: 19:34:11 {{{a|b}}} 19:34:14 can b include argument refs? 19:34:17 yes 19:34:34 curious 19:34:48 this is catseye/inner 19:34:48 [http://{{{1}}}/{{{2}}} {{{3| http://{{{1}}}/{{{2}}} }}}] 19:34:57 the {{{1}}}{{{2}}} arent getting expanded 19:35:02 are you passing it three arguments? 19:35:42 ah, the problem is that you need to write {{{1|}}} and {{{2|}}} in the main catseye template 19:35:51 ahhh 19:35:52 okay 19:35:54 because otherwise if param 2 is missing you pass it the literal string {{{2}}} rather than a blank string 19:36:15 ah wait! 19:36:18 we want to default to [1] etc 19:36:20 since htat's what MW does 19:36:22 not the full url 19:36:26 right? 19:36:39 so that catseye is always isomorphic to []s 19:37:00 in that case you want a null string as the default 19:37:08 so it autonumbers the URL 19:37:12 excellent, ais523 -- i fixed it up 19:37:26 and its dirt simple to change the url, since it's right there, easily visible 19:37:43 now -- how do we get all pages that link to a url containing catseye 19:37:45 the next problem is to find all the links to catseye 19:37:58 normally you'd do that using http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Special:Linksearch, but it appears to not be installed on Esolang 19:38:47 if only we could run arbitary code on the wiki server! 19:38:50 oh wait. 19:38:52 :) 19:39:10 API is disabled, too, so checking all the pages by hand is likely to be the only option 19:39:51 ais523: I have a better idea. 19:39:56 what? 19:40:09 i assume [[Chris Pressey]] is a good place to start 19:40:24 I'll write a program that wget's every entry on the language list concurrently, tries to find catseye in a url, and saves it to disk if it finds it :D 19:40:29 then I can run a script to do the replacement! \o/ 19:40:37 yay 19:41:17 guess i should go write it 19:41:17 :-P 19:41:30 hmm, this is either going to be a superb use for perl, or a hilariously evil use for bash 19:41:58 some links have been changed to catseye.tc, while some are still the broken catseye.webhop.net 19:42:22 oerjan: Well, they're both wrong 19:42:23 :-) 19:42:47 might even be some wayback links hiding in there, unless cpressey fixed it all 19:43:05 * ais523 tries opening up the Esolang database dump in Emacs to find the links that way 19:43:12 oh, database dump 19:43:13 that's a good idea 19:43:26 hmm, ok here's the plan 19:43:32 shout out a page name to me and i'll magically fix it 19:43:44 i will multithread and also look myself. 19:43:57 Befunge 19:44:48 lots in the history of the language list 19:44:58 but I think all the external links are supposed to have been removed from there 19:45:15 fixed pages: befunge,ALPACA 19:45:39 Smallfuck 19:45:52 Wierd 19:46:19 SMETANA 19:46:31 beta-Juliet 19:46:54 up to SMETANA 19:47:13 Esoteric programming language 19:47:26 Muriel 19:47:36 ALPACA 19:47:43 (but you've done that one already...) 19:47:51 up to Esoteric 19:47:51 SMITH 19:48:01 RUBE 19:48:16 Blank 19:48:28 Hunter 19:48:44 Noit o' mnain worb 19:48:54 RedGreen 19:48:55 up to SMITH 19:49:14 just a note 19:49:16 SARTRE 19:49:22 we're getting some catseye.tc//foo because of the / in the links 19:49:23 thats ok though 19:49:46 Thue 19:49:57 Ypsilax 19:49:58 oerjan: you're welcome to help too :-P 19:50:05 er... 19:50:05 i am up to RUBE 19:50:15 Strelnokoff 19:50:24 Blank 19:50:29 2iota 19:50:48 Version 19:51:04 Up to hunter 19:51:06 database is being flakey 19:51:07 oops 19:51:10 ais523: how much more? 19:51:16 oerjan: oops? 19:51:26 not sure 19:51:38 I'm only 4% of the way through the dump but that isn't a very reliable measurement 19:51:52 i hope these aren't just the first 4% 19:51:52 :| 19:51:56 ais523: did you strip all the HISTORY out? 19:51:58 that might help. 19:52:11 the current versions are stored separately from the history 19:52:17 I'm viewing the current versions at the moment 19:52:23 but the history makes up the bulk of the dump 19:52:30 which is why 4% is such a low number 19:52:43 i.e. we get all the links we're interested in first 19:52:45 exactly 19:52:51 ais523: can you grep to find the history section 19:52:53 and then kill to EOF? 19:52:54 ehird`: i tried starting from the back but someone already did ;) 19:53:16 ehird`: I don't know enough about the layout of a MW database dump to do that reliably 19:53:23 up to Thue by the way 19:53:29 shelta done 19:53:33 ais523: grep for obvious things? :P 19:53:40 Like, grep for a page name you've already seen 19:53:55 what with all the links in the wiki? 19:53:56 Just done thue 19:53:59 ais523: True.. 19:54:05 it would probably be easier just to add to the list than try to find its end 19:54:05 grep without [[]] around? 19:54:27 Up to Ypsilax 19:54:42 squishy2k 19:55:14 Up to 2iota 19:55:25 Chris Pressey 19:55:35 ais523: Fixed that one already. 19:55:39 Beturing 19:55:47 Braktif 19:55:59 Shelta 19:56:09 ILLGOL 19:56:15 did Shelta 19:56:21 Bear Food 19:56:33 MDPN 19:56:51 My mouse skills sure are improving! 19:57:03 Sally: this page seems to have identical content to Bear Food; maybe worth investigating if one or the other of the pages are vandalism? 19:57:17 Squishy2K 19:57:23 ais523: bear food is legit 19:57:26 Tamerlane 19:57:36 TURKEY BOMB 19:57:38 Up to Bear Food 19:57:48 Star W 19:57:54 Sally and Bear Food are legit 19:57:57 Circute 19:58:08 Sbeezg 19:58:18 PESOIX 19:58:37 that's it for mainspace 19:59:02 Up to Tamerlane 19:59:08 no, wait, there's more... 19:59:10 Vertica Smile 19:59:29 up to TURKEY BOMB 19:59:30 scratch that, I was right first time 19:59:34 ais523: What about other namespaces? 19:59:53 Talk:Braktif 19:59:57 Up to Star W 20:00:13 the Bear food link is now incorrect 20:00:23 oerjan: {{sofixit}} 20:00:43 Esoteric Topics in Computer Programming 20:00:45 Up to sbeezg 20:00:49 argh, it seems they aren't sorted by namespace after all 20:01:09 fsck. 20:01:28 i cannot find the right page 20:01:29 that is it 20:01:44 I've gone past the end of the article-text table and ended up in the links table 20:01:47 so I think that's everything 20:01:50 unless I missed one 20:03:15 some of the new links point to 404s at Catseye, by the way 20:03:17 Esoteric Topics in Computer Programming -- no suitable link 20:03:20 ais523: yeah.. 20:03:22 needs some fixup 20:03:23 we'll have to check which ones actually do need waybacking 20:03:27 but, recent changes. 20:03:29 so it'll be easy 20:03:34 i for one have worn out my fingers for now 20:03:48 i dominate Recent Changes 20:03:49 awesome 20:04:38 there's also Special:Whatlinkshere/Template:Catseye if we need to find all the pages in the future for some reason 20:06:03 hmm 20:06:09 my /inner trick is no longer neccessary 20:06:23 i will remove 20:07:37 ais523: okies 20:07:44 as for your comments about K 20:07:49 to me it looks like what GolfScript ought to be 20:07:55 ais523: heh, indeed 20:07:58 except it's serious! 20:08:10 * ais523 sees no reason why a language like that cannot be serious 20:08:12 should the link to Cat's Eye Technologies: Esoteric Topics in Computer Programming from Esoteric programming language be reverted to wayback, or changed to projects? 20:08:21 oerjan: well, it was an article 20:08:24 it's about the column itself 20:08:25 so find the article or leave it 20:08:30 so it should probably be the Wayback link 20:08:36 if the article isn't on catseye any more 20:08:59 http://golf.shinh.org/p.rb?Number+lines my challenge is pretty interesting! 20:09:00 ais523: yeah 20:09:42 ehird`: I entered that one already 20:09:45 I'm 9th for Perl entries 20:09:49 hm, speaking of which, who here uses reddit? http://reddit.com/r/programming/info/67myb/comments/ the prototype j interp 20:09:49 which is not really very good 20:09:55 its at 0 points right now, so..:) 20:10:15 I'm still winning outright on Perl ROT13s, though 20:10:39 http://golf.shinh.org/p.rb?Minimal+scheme+interpreter look, all the lovely cheats! 20:10:42 if only my examples were OK 20:10:52 (hint: my entry doesn't rot13 punctuation marks between Z and a properly, but it doesn't need to based on the examples given) 20:11:10 I think it may also exploit UB in the Perl implementation 20:11:26 http://golf.shinh.org/reveal.rb?Minimal+scheme+interpreter/notogawa%28embed%29/1201272045&hs <-- ooh, clever 20:13:06 Haskell in the style of Prolog! 20:13:06 what the? 20:14:40 ah just a typo 20:15:16 * ais523 is upset that there aren't more genuine entries in the Underload contest 20:16:23 http://golf.shinh.org/p.rb?simple+language the one challenge that nobody will not cheat on! 20:16:24 My Perl entry is genuine (although not quite compliant); there are also Ruby and PostScript entries that look genuine 20:16:40 the funnest thing about mine is that the only primitive stuff is the infix ops 20:16:40 I'm not sure about the large C one, because I don't understand the word in the parens 20:16:44 like : and {...} and * + etc 20:16:51 if is called like a composite 20:16:57 because {} is a lambda 20:17:21 ais523: i think hidoi=embed 20:17:24 mugoi=genuine 20:17:29 ok 20:17:42 those crazy japanese rubyist golfers 20:21:06 i ought to write some c code like the j interp 20:22:53 * SimonRC tries to figure out what the "rsh" thing is in that APL-like terp 20:23:06 SimonRC: evilness 20:23:16 evilness and DEATH 20:24:14 SimonRC: that interp isn't intentionally like that, btw. that's just how the guy codes. he went on to create K, and his product KDB by Kx systems has *no loops at all* 20:24:15 none. 20:24:19 and it's a full freaking rdbms 20:25:23 is APL 2D? 20:25:26 -!- jix has quit (Read error: 113 (No route to host)). 20:25:27 if not, it ought to have been 20:25:50 and there's nothing wrong with using combinators to avoid needing to write loops 20:25:53 ah, reshape 20:25:56 several languages use that method 20:26:10 that is a nice feature 20:26:23 it doesn't use combinators, really 20:26:28 it uses some weird stuff 20:26:36 ais523: and no, because that's actually the opposite of apl philosophy 20:26:51 waitamo, surely it must have a wait-for-input loop? 20:26:58 OTOH, few others are needed 20:27:06 just implicit loops in various things 20:27:15 ehird`: K's adverbs remind me of combinators 20:27:21 even though technically speaking they aren't 20:27:46 SimonRC: beats me, all i know is that they have 0 loops in their code 20:27:51 which has been verified by them multiple times 20:27:59 waiting for input isn't a loop 20:27:59 -!- RedDak has joined. 20:28:02 it's just waiting for input 20:28:15 just like sleep commands which wait for time needn't be loops 20:29:01 short waits (a few microseconds) on PIC microcontrollers, for instance, are often achieved by putting in several useless flow-control commands so as to cause the microcontroller to waste time figuring out how to follow them 20:29:08 http://cdn-www.cracked.com/articleimages/wong/computer.jpg this is ... brilliant 20:29:32 -!- danopia has joined. 20:29:32 aiming a CALL at a RETURN of a procedure you already have takes it a whole 4 us to process, with just one machine-language word 20:29:38 whereas most commands run in 1 us 20:29:46 ehird`, hah 20:29:58 AnMaster: it's ironic, of course -- which loads of people don't seem to grok. 20:30:02 indeed 20:30:05 come to think of it, you could create really evil obfuscated code by combining that sort of thing with the built in clock cycle counter... 20:30:07 ehird`, of course it is ironic 20:30:21 AnMaster: some people have thought it was serious 20:30:35 they did? 20:30:36 wtf 20:30:52 well with some americans, you never know, they could mean it 20:31:56 * oerjan finished checking the recent changes. Good night. 20:32:15 -!- oerjan has quit ("leaving"). 20:32:34 what recent changes? 20:32:35 he 20:32:36 h 20:32:40 he dropped asleep 20:32:41 he was: 20:32:48 'omg..last change... i can..make it....urghfdkgh' 20:33:12 AnMaster: we made fun of chris pressey^H^H^H^H^H^H^H^H^H^H^H made a template for catseye links and changed all of them to it 20:33:14 because the domain changes often 20:33:40 eh? 20:33:51 :-| 20:34:08 I mean the REPL 20:34:25 or the thing that waits for incoming connections to a db, or wheatever 20:35:06 SimonRC: it has 0 loops 20:35:09 that's all i know 20:35:29 the best low-level trick I have seen is calling the next instruction: you execute everything up to the next return, return, then execute it again, and return from the original subroutine 20:35:36 ehird`: so yuo said 20:36:45 SimonRC: that's the method used for constants in Modular SNUSP 20:36:55 which I am very impressed by 20:37:00 where? 20:37:45 there are some examples on the wiki 20:38:00 http://esolangs.org/wiki/SNUSP 20:38:45 the third line of (rsh) is an evil trick 20:38:53 SimonRC: what does rsh do 20:39:11 reshape, on that obfuscate C thing posted earlier 20:39:24 it "reshapes" an array 20:39:46 its not obfuscated, SimonRC.. 20:39:50 the third line uses an overlapped move if the destination is much bigger than the source 20:39:51 that is just how arthur codes.. 20:39:56 who? 20:40:09 guy who helped create J (that's a basic interp for j), and Kx guy 20:40:10 he made K, too 20:40:11 and KDB+ 20:40:15 cool 20:40:22 he in all honesty codes C just like that link.. 20:40:56 the unusual thing is not that he codes like that, but that he codes like that even with people watching 20:41:13 ais523: the literal kind of people watching? 20:41:16 i.e. over-his-shoulder 20:41:22 over the Internet 20:41:33 ah, you mean publishing his code? 20:41:39 I've written code like that, and I assume most coders have at some point, but not if anyone else is likely to read it 20:41:41 well, sure. he advocates concise programming like that 20:41:46 because I would feel the need to explain it 20:41:51 i mean, K is totally based around that kind of stuff 20:42:17 the point is that #defining language constructs to give them shorter names would be considered by many people to be excessive abbreviation 20:43:00 and most companies would probably fire people for it 20:43:02 ais523: unless you were raised on APL, like he was :-) 20:43:18 ... and unless you found your own company and make loads of money selling enterprise-level database systems! 20:43:21 :-P 20:43:22 are you aware of how the IOCCC got started in the first place? 20:43:35 ais523: It sneezed out of arthur's nose? 20:43:44 some major piece of software, I think maybe UNIX sh, was written in C 20:43:54 but with #defines to look like some other language, maybe ALGOL or Pascal 20:44:01 ahh yes 20:44:05 that thing 20:44:20 and one of the IOCCC creators was working on the code and put out a Net-wide challenge for people to find code harder to work with 20:44:36 (for the record: this is a paraphrase, not the literal story) 20:45:37 speaking of 'serious' obfuscated c: the joy interp is quite odd 20:46:07 why are you looking at the joy interpreter? 20:46:17 lament: huh? 20:46:31 why wouldn't i? 20:46:37 oh 20:46:40 i dunno... it's joy? 20:47:03 there's nothing wrong with Joy 20:47:25 * ais523 thinks that 2008 will be the year of concatenative languages 20:47:34 or at least ought to be 20:47:42 suuure. 20:47:42 i'm not really a fan of concatentative languages for practical purposes 20:47:58 * SimonRC reocmmnds that people get a copy of ColorForth 20:48:07 not to use, but just to read Chuck's code 20:48:09 it depends on what you mean by 'practical' 20:48:10 it is amazing 20:48:16 when I'm coding for speed/portability, I use C 20:48:22 SimonRC: amazing? 20:48:26 when I'm not, I use whatever lang I like 20:48:37 yes, a real insite as to just how small programs can be 20:48:41 and normally aim for what I consider elegant 20:48:45 SimonRC: chuck is my favourite insane outsider programmer guy! 20:48:53 chuck's and insider 20:48:58 and normally consider concatenative langs to be elegant for any particular job 20:48:59 ehird`: err 20:49:05 he's been doing programming his whole career 20:49:10 chuck: unless you're chuck moore, not you 20:49:16 SimonRC: yeah 20:49:19 ah okay hahah 20:49:22 but still 20:49:23 :D 20:49:40 ISTR that Chuck Moore is usually called "chipChuck" 20:50:13 what is ISTR anyway 20:50:41 I Seem To Recall 20:50:46 I Seem To Remember 20:50:59 probably either depending on context 20:51:06 that J terp needs at least a few comments 20:51:12 SimonRC: bah, comments 20:51:19 something like chipChuck's commenting style would work great 20:51:26 comments are for losers, unless they're only used once every 15 lines, like in k code 20:51:46 he thinks that 5 words and a stack picture are enough for a whole function 20:51:48 comments are useful when learning a language 20:51:54 where function is one of those things 20:51:56 I still have some assembly code where every line is commented 20:51:59 ais523: arthur is hardly learning c 20:52:01 :-) 20:52:05 because it was a program I was learning on 20:52:14 speaking of which, the colorforth distro has disappeared it seems 20:52:16 they are also useful for helping other people understand your code 20:52:16 from colorforth.com 20:52:22 TBH, 1 or two words for each of those operators would be enough and really help 20:52:27 especially if it's a case of "why did you do that" rather than "what are you doing" 20:52:33 I used a windows port of colorForth 20:53:37 where HAS his code gone 20:53:55 aha 20:54:01 http://www.colorforth.com/install.htm 20:54:14 he doesn't share his source. 20:54:36 "WinColorForth" or something like that 20:55:04 alas the editor is not written in cf :-( 20:55:28 I made a modification so you can't crash the icon editor by going beyond the last icon 20:55:41 i want to write some c code like that interp, but have no idea where to start :| 20:55:59 actually, doesn't it interpret as-read? 20:56:05 does plus do: read_expr() or something 20:56:19 chipChuck also made a chip editor and simulator in 20k that simulates his chip better than the multi-$100,000 professional ones do 20:57:46 if you read thedailywtf.com, that won't surprise you in the least 20:58:10 SimonRC: http://www.nsl.com/papers/origins.htm wowzers! the original interp had one-space indentation and some blank lines 20:58:42 1-space indentation is a sure sign of a golfer at heart 21:00:03 ais523: no -- no indentation is 21:00:20 there are other reasons to use no indentation 21:00:35 but 1-space gives the impression of "do I really have to indent this? Stop forcing me to indent!" 21:01:00 By the way, I think that interpreter may have platform-specific fragments 21:01:14 which is why it segfaults 21:01:54 i am quite confused as to what the # and , operators do 21:02:01 actually, { too 21:02:12 ~ also does some weird stuff 21:03:07 is either z or l taken as proglang names? 21:03:14 z is 21:03:28 also oklopong 21:03:30 use   21:03:36 if you want a really short lang name 21:03:56 (I've HTML-encoded that so it shows up readably on IRC) 21:04:24 i wonder if is taken as a name 21:04:35 the trick to writing code like that is to keep refactoring and to readily chuck away features 21:05:01 m/^(a*)b\1$/ a^nba^n matcher in perl 21:05:19 cut away all unnecessary layers of absraction, then cut away a few ones you thought were necessary too 21:05:22 chuck away moore features 21:05:29 :-) 21:05:31 groan 21:05:42 then compile your code at max optimisation and decompile it again 21:05:47 no 21:05:53 max space optimisation 21:06:01 but optimised for 'generic' 21:06:07 no, not generic 21:06:10 specific 21:06:15 YAGNI 21:06:16 hmm... how common are compilers for a lang into itself? 21:06:24 that optimise the code but leave it legal in the original lang 21:07:05 http://everything2.com/index.pl?node_id=1398015 i like this language 21:08:15 'Examples of functional languages are Lisp, and Forth.' whut 21:09:15 well, Lisp is certainly capable of being functional 21:09:30 .. 21:09:37 i was thinking more of the forth reference 21:09:48 I don't know that much about Forth, but from what I know I would expect that it can be written in a vaguely functional style if necessary 21:10:23 ... no 21:10:23 forth is the antifunctional language. 21:10:37 SimonRC: back me up here i'm lazy :P 21:11:09 back and forth 21:11:23 i'm too tired to make a pun, but you get my point 21:11:33 most langs can be written in a vaguely functional style 21:11:57 except for the ones which are ridiculously imperative, to the extent that they don't even have second-class functions like C 21:11:57 * SimonRC re-reads 21:12:20 and for Prolog, of course, which still manages to be entirely unlike anything else and yet somehow mainstream 21:12:26 forth is low-level with super-duper macros 21:12:43 does it have an eval command? 21:12:48 no, ais523 21:12:48 lots of forth doesn't even have dynamic allocation: everything is static 21:12:49 it does not 21:12:59 forth is far too old, and low-level for that 21:13:05 ah, in that case writing it functionally would probably be quite difficult 21:13:14 whereas almost all functional langs have GC 21:13:38 Unlambda only needs reference-counting 21:14:39 of course, most langs end up needing GC when they get advanced enough 21:15:00 recent versions of C-INTERCAL, for instance, need GC to find and remove inaccessible portions of threads 21:15:16 (Being able to backtrack past fork() really puts a strain on a language.) 21:15:41 ais523: you use the boehm gc for that? right? right?! 21:15:47 refcounting 21:16:05 within libickmt.a, so it's transparent to the user 21:16:13 bah 21:16:16 boehm is superiaur 21:16:27 boehm is slower, and not always right 21:16:40 refcount is fine because so far, luckily, there's no way to get into a loop of thread-referencing 21:17:02 well, boehm never frees something it shouldn't. let's put it that way 21:17:02 refcount sucks on the cache behaviour 21:17:08 SimonRC: yep 21:17:10 ehird`: wel... 21:17:24 SimonRC: and naw, i'm pretty sure it never frees something it shouldn't. 21:17:30 since it counts everything 21:17:40 sometimes it causes a memory leak, though 21:17:44 you can legally write a pointer to a file and read it in in C, thereby hiding it from the collector 21:18:05 luckily, so far, it's impossible to send an INTERCAL thread across a network 21:18:07 ais523: yes, especially if you don't null your list pointers 21:18:17 CLC-INTERCAL apparently allows file-handles to be sent across a network 21:18:33 and reading or writing to them will read or write to the relevant file in the remote location 21:18:34 a fake pointer that hits a linked-list node will retain the entire list unless you null pointers 21:18:48 SimonRC: and.. does c-intercal do this 21:18:53 dunno 21:18:57 probably not 21:19:05 it doesn't currently null down the list, I don't think 21:19:10 just decrements the refcount 21:19:17 after all, those pointers might be being used by something else 21:19:30 the refcount is necessary because it actually affects the semantics of the language 21:20:01 I meant in Boheme GC 21:20:05 the threads act sort-of like a tree. When a thread dies, one leaf of the tree is removed, making all the tree back to the next branchpoint inaccessible 21:20:31 SimonRC: boehm 21:20:41 likewise when a thread backtracks, it will be killed unless no other threads survive at the fork() that created it 21:20:54 although it isn't a fork() in INTERCAL, of course, but instead multiple COME FROMs aiming at the same line 21:20:58 * SimonRC sings the Boehm Rhapsody. 21:21:39 # mamaaaaaa, just segfaulted a process # 21:21:42 Boehmian 21:22:03 # freed a pointer that was live, it derefed and then it died # 21:22:08 :-P 21:22:18 I wonder if it's possible to use valgrind as a garbage collector? 21:22:25 lament: I know 21:22:45 ais523: it would make early LISP ones look positively zippy 21:23:07 I wasn't wondering if it was efficient, just if it was possible 21:24:01 A cool trick I have seen is to have a 1-many refcount as a single bit in the pointer: when you duplicate a pointer, set the refcount to "many". Most pointers are never really duplicated, so most stuff gets freed straight away, with less left for the GC 21:24:13 refcounts in the pointer are *way* better for the cache 21:24:17 -!- RedDak has quit ("I'm quitting... Bye all"). 21:24:21 ais523: dunno 21:26:20 well, that C is commented now 21:27:27 SimonRC you commented it? 21:27:30 that's illegal. 21:27:35 that's a magical creation! 21:29:25 did you at least use //-style comments? 21:29:33 I did so comprehensively, with stuff like: 21:29:35 if(n-=wn)mv(z->p+wn,z->p,n);R z;} // "overlapping move" to fill rest 21:29:54 /* */ seems wrong there, even if it's more portable 21:30:10 most lines have 2..3 word of comment 21:31:06 All that really need documenting is the operator semantics and the two data structures involved 21:31:18 everything else is simple 21:31:33 SimonRC: you evil evil person 21:33:46 SimonRC: paste it so i can burn you at the steak. mm, steak. 21:34:29 where is the pastebin? 21:35:06 http://pastebin.ca 21:38:04 rafb.net/paste 21:40:17 http://pastebin.ca/891738 21:48:00 # 21:48:00 #define P printf // monadic op 21:48:00 # 21:48:00 #define R return // dyadic op 21:48:04 pray tell how does that help you 21:48:09 huh? 21:48:36 oops 21:48:56 SimonRC: it would help if in your //operators line you did a symbol->op mapping 21:48:57 try now 21:48:58 * ais523 was wondering about that too, but didn't comment for some reason 21:49:33 SimonRC: try linking the new one 21:49:33 :P 21:49:36 http://pastebin.ca/891750 21:50:14 SimonRC: also, see where i linked above 21:50:18 wow, that's genuine old-fashioned K&R C 21:50:24 it's the original version, which HAS indentation 21:50:27 well, onespc ;) 21:50:29 and some newlines (2) 21:50:35 ais523: sure. j is old. 21:50:39 and it contains a buffer overflow 21:50:49 many 21:50:52 yes, it does -- but there's probably tons of those in regular K 21:50:59 for a reason, too 21:51:00 that is the first prototype remember 21:51:13 the reason being: that's the k mindset 21:51:18 you don't care about things like that 21:51:21 C s[99];while(gets(s)) should never be written by anyone 21:51:32 because there's no way to guarantee that the user types in 98 or fewer characters 21:51:41 yes there is 21:51:42 ais523: thanks for the c lesson! 21:51:48 you make sure the only user is you 21:51:50 the function gets itself is very hard to use 21:51:56 in a way that can't segfault 21:52:10 actually gets is impossible to use properly 21:52:10 ais523: read:impossible 21:52:23 wait that's a lie 21:52:25 I did write code that used it safely once as proof-of-concept 21:52:30 you can trap sigsegv to expand 21:52:31 :-) 21:52:33 it redirected stdin to a file that it created itself 21:52:37 ais523: ow 21:52:45 mmap? 21:52:50 and array overflows don't necessarily cause sigsegv, they just do so sometimes 21:52:58 ehird`: no, it actually used the filesystem 21:53:02 so as to do it in portable C89 21:54:05 -!- helios24 has quit ("Leaving"). 21:54:31 btw SimonRC 21:54:45 find does do something 21:54:48 i just don't know what 21:54:56 no 21:55:01 it really doesn't 21:55:11 it is an operator that returns stack garbage 21:55:33 SimonRC: well, it does something in the repl 21:55:33 it is supposed to look up a value in an array 21:55:33 :P 21:55:42 how do you know that? 21:55:42 :P 21:55:53 maybe 21:56:01 but it isn't implemented 21:56:11 thats far too conventional for that btw ;) 21:56:43 anyway -- switch to the indented version 21:56:53 CBA 21:57:32 itll take 2 secs 21:57:34 :| 21:57:47 you do it then 21:58:03 hah 21:58:04 also 21:58:11 I *ma(n){R(I*)malloc(n*4);} 21:58:18 that's wrong for today's machines 21:58:19 :) 21:58:26 I *ma(n){R(I*)malloc(n*sizeof I);} // obviously 21:58:28 sizeof exists for a reason 21:58:36 ais523: didn't back then at least not widely 21:58:39 it was prototype ffs for one person's machine 21:58:51 I write portably even just for personal code 21:58:54 unless I have a reason not to 21:59:05 because I often end up trying to run it on a different machine... 21:59:12 -!- pikhq has joined. 21:59:13 also, odd things happen if malloc returns values near the bottom of memory... 21:59:32 ais523: do you know when that code was written? 21:59:32 the token-classifier might misclassify them as operators or variables 21:59:36 in the 80s, at latest 21:59:42 ehird`: style 21:59:53 default-to-int all over the place 22:00:00 SimonRC: yes 22:00:02 i know 22:00:08 and abusing that to return ptrs 22:00:08 it's really a B program ina disguise 22:00:08 :) 22:00:10 after all, I use Gnome/GNU/Linux, GNU/Windows, Explorer/Windows, and Common Desktop Environment/SunOS reasonably often 22:00:18 gnu/linux 22:00:21 and have been known to use DOS on occasion 22:00:22 you pretentious! 22:00:34 * ais523 spells it out in full when both parts are relevant 22:00:56 after all, using the acronym is the only way that people will realise what I mean by GNU/Windows 22:01:09 SimonRC: change your comments to be aligned and start them with //NB. 22:01:15 I've never seen anyone write Explorer/Windows before, but they should more often so that people realise that the OS is not the computer or the GUI 22:01:16 J uses NB. as a comment indicator 22:01:20 and generally has them aligned 22:01:46 #define NB // 22:01:48 :-) 22:01:52 I dont' *think* that weorksd 22:01:56 *works 22:01:59 the pp-phases are in the wrong order 22:02:44 SimonRC: doesn't. 22:02:46 cpp strips comments. 22:03:10 technically speaking, all comments have to be replaced by a positive amount of whitespace 22:04:04 i want a compiler that replaces comments with whitespace corresponding to fibonacci numbers, incrementing each commentused 22:04:04 btw, has anyone here used m4? 22:04:09 vaguely 22:04:31 I'm used to changequote([,])-ed m4 as a result of reading the source of Autocong 22:04:36 s/g$/f/ 22:04:52 Actually, I think the #line directive is mostly for the use of seperate preprocessors 22:05:02 m4 is capable of generating them 22:05:09 SimonRC: no 22:05:09 it's also useful for things like lex and yacc 22:05:10 its for 22:05:12 when you're compiling into C 22:05:14 1. gcc can report proper errors 22:05:17 after cpp 22:05:24 and 2. compiler output 22:05:28 can do #line"srcfile" 4 22:05:29 but that doesn't use #line, but # 22:05:43 that is, what cpp does 22:05:43 true 22:21:42 -!- ais523 has left (?). 22:27:27 SimonRC: q about the interp 22:27:32 is there any way to construct vectors? 22:30:59 what do you mean "construct"? 22:34:44 SimonRC: make new ones from inside code 22:34:51 also: paul graham is a fucking idiot 22:34:54 how about iota? 22:35:00 he deleted my comment on the 'what would this look like in other languages' 22:35:06 what was that? 22:35:08 and where? 22:35:22 i see probably why - he said 'joke submissions will be deleted'. apparently, because my code was concise and didn't look like a 'regular' language, it was obviously fake! 22:35:26 bloody retard 22:35:37 respond with evidence to support you 22:35:55 SimonRC: someone asked me what language it was. i responded 'the language of paul graham deleting comments for no reason'. he'll probably see. 22:35:57 to actually get numbers, you can use 0-9 which are 0-dimensional arrays if 1 number 22:36:09 where? 22:36:13 and which lang? 22:36:26 SimonRC: it was a little language i've been making for a while 22:36:32 and yeah i know with 0-d arrays 22:36:35 but what about more? 22:36:40 http://arclanguage.org/item?id=722 22:36:47 rewriting it quickly, it was this: 22:37:25 #rg"said"[ looks K-y 22:37:49 which in both his beloved code-tree measurement and characters, is much shorter 22:37:55 and also far more understandable, i think 22:37:57 SimonRC: yes 22:38:43 he's very arrogant, i must say 22:38:49 calling that a 'gag submission'? 22:39:04 because he can't grasp the concept that maybe some languages are 1. very, VERY different and 2. much shorter than his beloved arc 22:39:18 2, i believe, had a noticable effect... but i'm cynical 22:39:41 it looks more specialised than arc 22:39:42 oh yes, and mine doesn't fuck up unicode by converting ÂŁ to GBP, dropping umlauts and accents and other atrocities 22:39:50 SimonRC: hardly. only with the web lib 22:39:56 and incidentally look at the original example 22:39:59 if that's not specialized?! 22:40:06 ok 22:40:12 is ther a spec online? 22:40:15 (defop said req 22:40:15 (aform [w/link (pr "you said: " (arg _ "foo")) 22:40:15 (pr "click here")] 22:40:15 (input "foo") 22:40:16 (submit))) 22:40:19 SimonRC: no, it has no spec 22:40:25 adding a link to that would help convince him 22:40:26 only a 1000 line compiler that basically compiles a toy lisp dialect to scheme. 22:40:28 oh 22:40:32 for mine 22:40:35 eh, no, there isn't 22:40:40 it's still under development 22:40:50 but fsck him, it is not a joke language 22:41:02 the "for mine" changes the meaning of the line above so much 22:41:17 lol 22:41:22 heh 22:41:35 the compiler is supposed to be the spec 22:41:49 SimonRC: you buy into that? 22:42:02 it is very precise... 22:42:21 and I suspect subtle bugs will be quickly outed 22:43:16 you buy into the whole arc crap, then 22:43:37 I have not seen many problems with it, though I haven't been looking 22:43:39 tell me some 22:44:09 i would but i'd just be repeating myself and countless others 22:44:21 arc is a toy that took 6 years to make and it's useless for anything but trivial web apps. 22:44:47 not 6 continuous years 22:45:07 he probably spent most of that time throwing stuff away, to get a good ballence 22:45:18 you really did buy into all the hype 22:45:19 anyone can make a huge programming language 22:45:20 cute :) 22:45:41 OTOH, it isn't actually useful yet 22:46:06 it is at the same stage of development as, say, Glass is now 22:46:13 and about the same age, I'd guess 22:46:50 unless Glass has modules, inwhich case Glass is more advanced 22:46:57 or unicode support 22:47:01 heh 22:47:03 ah, yes 22:47:14 SimonRC: try posting a unicode comment on the arc forum 22:47:20 especially with ÂŁ or the yen symbol 22:47:26 laughter follows 22:47:26 I can guess what will happen 22:47:29 SimonRC: guess 22:47:34 you will be wrong 22:47:57 i'll bet ÂŁ100000 on it :P 22:48:50 the point of abstract data types is that you can (e.g.) store strings as some kind of unicode but give them the interface of a linked list of boxed unicode codepoints 22:49:16 guess! 22:49:32 it gets converted to "GBP" or whatever? 22:50:04 SimonRC: yep, and some characters get changed into completely irrelevant ones 22:50:09 heh 22:50:12 pay up 22:51:05 oh crap 22:51:06 :( 22:51:09 you looked in the logs. 22:51:25 I have scrollback 22:51:31 looooooooooooots of scrollback 22:52:31 back to 11 Jan here 22:52:32 SimonRC: what would you have guessed not having looked? 22:52:39 and wow 22:53:07 otherwise I would guess they became ? 22:53:20 heh 22:53:22 also, http://reddit.com/r/programming/info/67l5f/comments/c03310l 22:53:26 best language ever! 22:54:05 heh 22:54:25 hm 22:54:28 i'm going to codetree-size up: 22:54:29 #rg"said"[ it has arc's main features 22:54:35 let's think.. 22:54:40 SimonRC: NO! it misses fn->lambda 22:54:45 true 22:55:03 #rg -> 1 tok -> 1 22:55:09 "said" -> 1 tok -> 2 22:55:16 (err, i can count strings as one token right? good) 22:55:22 [...] -> 1 nested -> 3 22:55:27 4 22:55:31 [...] -> 5 22:55:34 x -> 6 22:55:35 . -> 7 22:55:37 8 22:55:40 "click here" -> 9 22:55:43 [...] -> 10 22:55:47 "you said: " -> 11 22:55:49 !! -> 12 22:55:51 x -> 13 22:55:52 Huh? 22:55:53 14 22:55:58 woop 22:56:00 14 22:56:15 arcs is 23 22:56:52 do you have an implementation? 22:57:20 SimonRC: Just like all good languages -- no, and if I did I wouldn't have written the web server yet. 22:57:20 :) 22:57:29 by the way, here's a translation of that into english 22:57:31 #rg"said"[ Register "said", doing: 22:57:52 Display a form with the elements: 22:58:03 An input field, with the action taking 'x': 22:58:12 A link, with the text "click here" leading to: 22:58:18 Concatentate "you said: " with x. 22:58:22 (end link, input field) 22:58:24 A submit button. 22:58:27 (end form, registration) 22:59:04 I might add then it'd be: 22:59:30 #rg"said"[ put a small spec online and re-try submitting that to PG 23:01:08 SimonRC: it would be incredibly incomplete. it's a many-nuanced language. 23:01:20 especially the parsing. there's no statement delimiters but variadic functions are possibly. 23:01:25 *possible 23:05:02 SimonRC: try and work out that one 23:05:03 :-) 23:05:14 gets(nil) 23:05:16 STDIN.read 23:05:19 * SimonRC considers SADOL 23:05:23 * SimonRC goes away 23:05:27 ooh 23:05:28 gets(0) 23:05:38 hm 23:05:39 doesn't work 23:07:08 haha 23:07:08 p eval gets(nil).gsub(",","*") 23:07:42 -!- timotiis has quit ("leaving"). 23:10:06 woot 23:10:07 #!perl -n 23:10:07 s/,/*/g;print eval $_ 23:12:59 main(_,a){gets(a);...} /* this is evil */ 23:21:04 Wow. 23:21:27 http://www.google.com/translate?u=http%3A%2F%2Fwww.nmt.ne.jp%2F%7Eysas%2Fdiary%2F%3F200705b%23200705161&langpair=ja%7Cen&hl=en&ie=UTF8 Scroll down to the codeGolf Evil c compiler 23:21:31 someone actually wrote a ccompiler for it 23:21:36 non-mangled src:http://www.nmt.ne.jp/~ysas/diary/?200705b#200705161 23:51:22 who's alive 23:54:09 -!- sebbu has quit ("@+"). 2008-02-05: 00:08:02 * pikhq contemplates making an IRC bot 00:10:04 it's pretty straightforward, really 00:10:28 I can link you to a Java lib that could let you finish a BF bot in about half an hour 00:11:11 I'm trying to make one in PEBBLE. 00:11:52 And I'll probably give up soon. 00:12:17 I'll just make a PEBBLE bot, then. 00:12:29 Or. . . I dunno. 00:12:38 Somehow, I've lost sense of what I want to actually *do*. 00:14:04 pikhq: Write a bot, in PEBBLE, which can interpret PEBBLE via either brainfuck or c. 00:14:44 -!- zbrown has joined. 00:15:22 ehird`: Only if you implement PEBBLE in PEBBLE. 00:15:35 I will! ... just later 00:15:46 pikhq: Actually, yeah. Don't use PSOX or anything, just netcat! 00:15:57 ..wow, that means writing a brainfuck interp in PEBBLE 00:15:58 xD 00:16:16 ;) 00:17:28 pikhq: seriously, you want a PEBBLE 2 which does automatic allocation of temporary variables. 00:17:35 they're a real drag. 00:17:39 :P 00:19:21 http://pc11.2ch.net/test/read.cgi/tech/1173057314/ heh look, my submission is mentioned in the last few posts. 00:19:25 cute, if only i could read japanese 00:19:31 (google is fun) 00:28:34 If only I could read *complex* Japanese. 00:29:54 * pikhq begins the PEBBLE 2 stuff 00:30:00 Now that I have time to actually think it over! 00:35:35 I'm thinking one of the things PEBBLE 2 will have is a more useful preprocessing stage. 00:35:55 I present new doodles: http://nonlogic.org/dump/images/1202171064-dud1.png, http://nonlogic.org/dump/images/1202171075-dud2.png 00:36:56 Among other things, I'm thinking about axing the add and addvar bit. . . 00:37:28 There will be a += macro, which will act appropriately based upon whether one of its arguments is a variable or a number. 00:39:02 pikhq: omg, you'll have to implement garbage collection of temp vars 00:39:04 you must! :D 00:39:22 are you thinking about building some kind of system for configuring a build to target different BF interpreters? 00:39:24 Of course. 00:39:32 pikhq: pwnsome 00:39:38 that makes even the c backend non-trivial! 00:39:46 Like, the ability to tell the compiler things like wrapping and EOF behavior? 00:40:14 RodgerTheGreat: That's part of *why* I plan on having a better preprocessor. 00:40:28 ah 00:40:36 So, you can do "IF {WRAPPING} {wrapping code} else {non-wrapping code}" 00:40:47 pikhq: shouldn't that be automatic and abstracted away 00:40:48 :-| 00:41:00 sounds pretty nifty either way 00:41:03 ehird`: That will be used for implementation of the stdlib macros. 00:41:15 Hopefully, I'll have all that junk abstracted away. 00:41:16 also, why if {wrapping} 00:41:18 you can just do 00:41:20 if wrapping 00:41:29 The two would be equivalent. 00:42:13 pikhq: could you please write your own parser? :P 00:42:21 writing pebble in tcl syntax is unbearable to say the least 00:42:25 (my vote: s-exp! s-exp!) 00:43:05 Grr. You *have* to say that just as I'm thinking "let's just do proper, full-on Tcl syntax, rather than my abused bits of it". 00:43:48 can you make something similar to assert() for debugging? 00:43:54 pikhq: :) 00:43:58 Well, you must! 00:44:11 even in a limited form, you could save BF coders a load of sanity 00:44:11 RodgerTheGreat: I can see pikhq is going to have a field day with brainfuck text generation algorithms.. 00:44:20 heheh 00:44:34 Hmm. There's a thought. 00:44:34 "astrnfld1==2" 00:44:38 I'm looking forward to seeing what he can come up with 00:44:45 pikhq: What? Build text generation in to it? If so, yes. 00:45:00 ehird`: PEBBLE 1 has (limited) text generation already. 00:45:07 Yeah, but not awesome :P 00:45:08 To not have that much would make PEBBLE 2 a *downgrade*. 00:45:13 You should be able to do: 00:45:16 txtgen "hello" > var 00:45:23 where var is an array 00:45:26 yes -- you must implement arrays! 00:45:36 I'd do something like "assert cell = value [error message] " or "assert cells = 'several ascii representations' [error message]" 00:46:16 if pikhq and calamari put their heads together I have no doubt the result would be incredible. 00:46:35 pikhq: I venture: PEBBLE2 should be totally self-hosted. 00:46:47 With some kind of crappy, limited tcl interpreter that you can use to compile itself. 00:46:57 In my current syntax, 'assert {$cell == value} "ERROR here"' or some such. 00:47:06 ehird`: Are you fucking insane? 00:47:13 pikhq: Yes. Why shouldn't I be? 00:47:15 I want to actually have an implementation, thanks. 00:47:26 You'd have one. The tcl one. 00:47:31 Which you could use to compile the pebble2 one. :< 00:47:33 However. . . 00:47:48 If I make PEBBLE2 powerful enough, I *could* manage to do self-hosting. 00:48:03 Exactly! It would evolve around a REAL-WORLD PROBLEM: compiling an esoteric language. 00:48:42 on one hand, some of the data structure implementations necessary would probably be excruciating, but on the other hand it would be pretty nifty 00:49:28 RodgerTheGreat: Given sane arrays, one could at least pull it off. ;) 00:49:34 RodgerTheGreat: So give it arrays and structures. 00:49:42 Then you just have to implement a compilation technique for them ;) 00:50:29 hm. doing pointers would really suck, but heaps can be done in-place to create a non-pointer based map structure in an array 00:50:36 that'd probably be your best bet 00:50:37 pikhq: But think how awesome an s-exp syntax would be: 00:50:46 (defstruct tmpvar 00:50:56 field something 00:50:57 field something 00:50:58 field something) 00:51:00 :P 00:52:27 pikhq: Actually, it would be very good for e.g. the macros. 00:52:40 Since macros are just compile-time procedures, a lot of pebble stuff would be trivial 00:52:49 And your preprocessor would be elegant, instead of just dumb replacement. 00:54:18 ehird`: You realise that I don't think functionally, right? 00:54:32 pikhq: s-expression syntax != functional. 00:55:16 pikhq: But macros like that are really elegant. Basically, whenever you see a call to one, in the compiler, you interpret it with the arguments as in the code (well, unevaluated of course). Whatever that returns is used instead of the macro call. 00:55:52 (defmacro thing (...) (if *wrapping* ...return wrapping code... ...return non-wrapping code...)) 00:55:55 stuff like that 00:56:04 This is what I'm thinking of ATM: http://pastebin.ca/891941 00:56:24 Sorry for the Tcl syntax; it comes to mind easily. 00:57:09 Well yeah, but that'd be far more elegant with lisp-style macros 00:57:16 Although that is kind of similar 00:57:22 it just exposes some of the internal workings 00:58:02 Of course, that syntax would be a royal PITA to self-host. 00:58:32 What syntax? 00:58:43 The lisp syntax with those macros? 00:58:48 Tcl-style syntax. 00:58:50 Ah. 00:58:54 The lisp syntax wouldn't. :P 00:59:12 Since writing an s-expression parser is trivial, and walking one and doing stuff with it too 00:59:35 How would the string substitutions I have work in sexps? 00:59:50 pikhq: I'm not sure exactly what you mean. 00:59:51 :| 00:59:55 oh 00:59:58 those things 01:00:03 "Invalid type for $out in __BRAINFUCK__+=. $out is [TYPE $out]; should be var." 01:00:07 Well, ERROR runs at compile-time right? 01:00:13 $out and [TYPE $out] are both substituted. . . 01:00:14 Yeah. 01:00:19 If so, you'd just make error a normal function, and make it take any arguments 01:00:26 So in a macro: 01:00:52 (error "Invlaid type for " out "in brainfuck-+=. " out " is " (type-of out) "; should be var.") 01:00:57 Not the prettiest example, but you get the idea. 01:01:03 You could also implement a formatting langugae. 01:01:17 (format "Invalid type for ~ in brainfuck-+=. ..." a) 01:01:22 You are still not realising one thing. . . 01:01:28 well, maybe something like $~ if ~ is too common 01:01:40 A self-hosting PEBBLE. . . 01:01:43 yes... 01:01:48 And you want formatting languages in it. . . 01:01:54 Are you fucking mad? 01:02:09 pikhq: If you have enough high-level stuff in, then it should be ok. But I agree. 01:02:16 so use the regular error form. 01:02:18 That's not hard. 01:02:27 And, if you must -- make it compiler-only. 01:03:07 -- evals to -= $out 1 which evals to __-= $out 1. . . Which is done in-compiler. 01:03:22 That's simple. 01:03:26 Like I said: lisp macros. 01:06:03 pikhq: Basically, the compiler is a bunch of functions. 01:06:09 'defmacro' adds a new function to the compiler. 01:06:14 Whenever that function is seen as being invoked, 01:06:26 the function inside the compiler is called, and then the invokation is replaced with the result of that. 01:06:34 It's very, very simple, and doesn't require any preprocessor. 01:09:04 -!- Sgeo has joined. 01:09:28 pikhq: IMO the compiler would be simpler and more elegant, and so would be the code. 01:09:41 a poll on a philosophy blog: 01:09:45 "Will the most common response to this poll be 'No'?" 01:09:54 lament: old 01:10:09 pikhq: Oh, maybe I should explain HOW you replace the invokation with the result of calling the compiler function (macro) 01:10:17 (defmacro foo () '(+ 2 2)) 01:10:23 See? It just returns the code as a list. 01:13:19 -!- olsner has joined. 01:13:24 -!- sarehu has joined. 01:13:39 must one join *every* channel? :P 01:13:50 no, just this one. 01:14:03 It's the official one for esolangs. 01:14:03 pikhq: Talk tomorrow. 01:14:08 ehird`: Mmkay. 01:17:02 -!- Corun has quit ("Bleh, Bunnies!"). 01:17:19 -!- BMeph has joined. 01:20:54 why did i not join this earlier? :| 01:21:27 sarehu: are you aware of the esolangs wiki? 01:21:41 yes generally 01:21:55 i don't know then :) 01:29:51 -!- calamari has joined. 01:32:34 Ah, calamari. 01:32:39 hi 01:33:29 -!- ehird` has quit (Read error: 113 (No route to host)). 01:37:11 calamari: pikhq is working on a new version of Pebble. I encourage you to join forces with him and create something epic. 01:37:23 Mostly discussing planning ATM. 01:37:35 http://pastebin.ca/891941 02:01:08 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 02:35:38 -!- olsner has quit ("Leaving"). 04:20:12 -!- chuck has quit (Read error: 104 (Connection reset by peer)). 04:21:50 -!- calamari has quit (Read error: 104 (Connection reset by peer)). 04:34:49 -!- oerjan has joined. 04:38:12 -!- calamari has joined. 04:49:03 -!- GreaseMonkey has joined. 04:50:36 Does anyone have a BF program that prints the prime decomposition of a number? 04:57:08 -!- calamari has quit (calvino.freenode.net irc.freenode.net). 04:57:08 -!- sarehu has quit (calvino.freenode.net irc.freenode.net). 04:57:08 -!- faxathisia has quit (calvino.freenode.net irc.freenode.net). 04:57:09 -!- oklopol has quit (calvino.freenode.net irc.freenode.net). 04:57:09 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net). 04:57:09 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net). 04:57:10 -!- GregorR has quit (calvino.freenode.net irc.freenode.net). 04:59:12 -!- sekhmet has quit (calvino.freenode.net irc.freenode.net). 05:00:48 -!- sekhmet has joined. 05:01:31 -!- oklopol has joined. 05:01:31 -!- calamari has joined. 05:01:31 -!- sarehu has joined. 05:01:31 -!- faxathisia has joined. 05:01:31 -!- bsmntbombdood has joined. 05:01:31 -!- AnMaster has joined. 05:01:31 -!- GregorR has joined. 05:32:57 -!- pikhq has quit ("leaving"). 05:55:18 -!- oerjan has quit ("leaving"). 05:57:01 -!- calamari has quit (Read error: 104 (Connection reset by peer)). 06:09:45 -!- olsner has joined. 06:18:01 -!- calamari has joined. 06:23:42 -!- calamari_ has joined. 06:23:42 -!- calamari has quit (Read error: 104 (Connection reset by peer)). 06:28:24 -!- calamari_ has quit (Remote closed the connection). 07:39:31 -!- BMeph has quit ("calls it a night"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:32:02 -!- cherez has quit (calvino.freenode.net irc.freenode.net). 08:32:03 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net). 08:32:58 -!- faxathisia has quit (Remote closed the connection). 08:35:18 -!- sekhmet has quit (Remote closed the connection). 08:35:20 -!- sekhmet has joined. 08:36:41 -!- GreaseMonkey has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. thx."). 08:48:20 -!- olsner has quit ("Leaving"). 08:51:11 -!- Deewiant has joined. 08:51:20 -!- cherez has joined. 09:56:56 -!- Corun has joined. 11:06:33 -!- sarehu has quit (Remote closed the connection). 11:06:43 -!- sarehu has joined. 11:26:44 -!- danopia has quit (Client Quit). 11:28:17 -!- danopia has joined. 11:48:52 -!- Corun has quit ("This computer has gone to sleep"). 12:22:16 -!- sarehu has quit (Remote closed the connection). 12:22:32 -!- sarehu has joined. 12:56:52 -!- sebbu has joined. 13:06:52 -!- helios24 has joined. 14:28:11 -!- jix has joined. 16:12:31 -!- timotiis has joined. 16:27:16 -!- Hiato has joined. 16:27:22 Hello 16:33:34 -!- sarehu has quit (Remote closed the connection). 16:33:53 -!- sarehu has joined. 16:46:02 -!- oerjan has joined. 17:02:15 -!- Corun has joined. 17:02:43 -!- Hiato has quit (Read error: 110 (Connection timed out)). 17:07:22 -!- Corun has quit ("This computer has gone to sleep"). 17:25:30 -!- Hiato has joined. 17:26:01 Meh... what does Machine Check Exception mean? That's my new BSoD flavour of the week :( 17:44:26 It means that the machine only takes cash. 17:44:51 Send your cash to Microsoft Inc. 17:44:53 Well, how do I fix it, I use a cheque account 17:44:56 oh, I see 17:51:03 cheques, how quaint. you must be american ;) 17:51:16 er wait 17:51:40 * oerjan remembers 17:52:23 indeed :P 17:52:25 saw an article about the SA power shortage in the Economist in the library today, btw 17:52:40 I guess South Africa is in Mexico anyhow ;) 17:52:49 Really, what did it say? 17:52:58 Well, there's still plenty of cheques in France too! 17:53:43 that it's a mess caused by politicians not deciding to fix it in time, was my impression 17:54:15 or rather spending too much time discussing how much to privatize 17:54:50 well, then I guess the partial truth is escaping ;) 17:55:29 but it's got more to do with cheques under the table than handshakes above it (if you get my meaning :P ) 17:55:48 i'd guess 17:57:46 oh and it was suggested it might reduce economic growth from 6 to 3 percent 17:58:08 heh, lol 17:58:14 I didn't even know that one 17:59:29 -!- ais523 has joined. 17:59:42 but yes, they shut down all of the mines in SA for about 6 weeks. Our economy is a raw materials/minerals economy. Currently, every time someone flips the switch to cut Sandton (a wealthy business suburb), SA loses in the tens of millions per hour... 18:00:11 that is excluding the fact that we make a vast majority of the GDP of Gold mining, which is currently not really hapenning 18:00:48 yeah the article mentioned the shutdown too 18:01:10 and that the mines managed to get a promise of reliable power out of it 18:01:22 (at 90% normal level) 18:01:26 yeah, they did, a 90% increase 18:01:30 :) yeah, lol 18:02:37 90% of 0 is still 0... 18:03:14 very very true, that's the irony :P 18:04:23 but, that is of course, only true if you are cynical - like asi523 and I :P 18:04:34 -!- RedDak has joined. 18:13:55 Hiato: according to Wikipedia, a Machine Check Exception is really bad 18:14:08 so I believe :( 18:14:12 it seems to mean that something went badly wrong with the hardware 18:14:18 i.e. checksum failure on RAM or cache 18:14:28 and it apparently is often caused by overheating 18:14:36 at least, you have to hope that's what's causing it 18:15:40 yeah, I was originally under the impression that this is what occurs when I use my X86_64 cpu heavily (really heavily, been brute forcing my own encryption methods, and breadth searching conway's game of life for methuselahs) in 32bit mode. 18:16:25 you could always try filling the computer with liquid nitrogen 18:16:35 ISTR that method was used to set an overclocking record at one time 18:16:55 yes, while that would be fun, it would most certainly burn through both my tower and my pockets :P 18:17:15 yeah, something stupendous like 6Ghz of a Pentuim 4 18:17:28 the computer still managed to overheat eventually even though the outside was frozen. They only just had enough time to take a photo of the screen showing the fast clock speed before the computer turned itself off for heat reasons 18:18:09 heh, awesome :D 18:23:15 -!- AnMaster has changed nick to AnMaster_. 18:23:21 -!- AnMaster_ has changed nick to AnMaster1. 18:24:01 -!- AnMaster1 has changed nick to AnMaster. 18:28:25 -!- sarehu has quit (Remote closed the connection). 18:28:35 -!- sarehu has joined. 18:41:26 -!- RedDak has quit (Remote closed the connection). 18:42:19 in reference to the topic: 18:42:21 repeat. 18:42:26 repeat :- repeat. 18:42:28 * lament dies 18:42:38 lament: wow, that was unexpected 18:44:53 a bit before my estimate, that 18:45:53 besides, I didn't even finish writing the line that is actually needed to make that into an infinite loop 18:46:01 now, if I write: 18:46:11 goal :- repeat, fail. 18:46:16 -!- ais523 has left (?). 18:46:19 -!- ais523 has joined. 18:48:32 * ais523 thinks that all langs should have some easy way to implement multithreading and backtracking 18:48:45 because they can be hard to implement if the language doesn't give specific features that allow it 18:48:58 call/cc is normally enough to write an implementation, though 18:49:46 call/cc + mutable state gives you all monads 18:50:27 is threading a monad? 18:50:33 it strikes me as being more of an antimonad 18:50:38 hm... 18:50:42 because monads cause things to happen in order 18:50:50 and threading causes things to happen in an apparently random order 18:50:51 backtracking certainly is 18:50:57 agreed 18:51:50 cooperative threading can probably be put in a monad 18:52:07 again agreed 18:52:33 one thing I like about INTERCAL's threading model is the way that it's cooperative threading allows guarantees on the relative speed of threads 18:52:41 which can be used for logic on occasion 18:52:47 e.g. the C-INTERCAL Hello, World on the wiki 18:52:58 s/it's/its/ 18:53:38 OTOH, the model is completely impractical for serious langs as far as I can tell 18:53:48 the backtracking model, on the other hand, is quite elegant while still being unusual 19:49:39 -!- oerjan has quit ("Good night"). 20:11:26 -!- ehird` has joined. 20:18:21 -!- ehird` has set topic: OLD TOPIC IS GONE. 20:18:53 -!- fax has joined. 20:18:57 Hi 20:19:15 Anyone know anything about ABSYS? 20:20:16 no 20:20:17 what is that 20:20:54 fax: i have a question -- are you the same fax as faxastheisdfsdkf or however you spell it or are there two confusingly-similarly-named people in here 20:20:59 the first logic programming language, appanetly 20:21:29 yeah, It's me 20:22:17 fax: hmm, i didn't know you were UK. :p 20:22:32 fax: http://en.wikipedia.org/wiki/ABSYS well, one publication 20:22:35 i hope you have fun tracking it down 20:23:02 -!- ais523 has quit (Remote closed the connection). 20:23:47 there is a suprisingly large number of british folk in here 20:24:07 must be something in the water.. 20:24:26 Hey! 20:24:42 I tried to add mutable conses to haskell but failed :/ 20:25:15 -!- ais523 has joined. 20:25:21 sorry about that 20:25:48 it seemed as though the window manager went crazy; no window frames were available, just the client areas of the windows, which acted as normal 20:26:10 fax: trivial 20:26:33 type MList a = ST [a] 20:26:35 i think 20:26:35 :-) 20:26:46 ais523: your WM crashed 20:26:51 morale: always keep an xterm open 20:26:52 presumably 20:27:00 I had two open 20:27:09 but logout/login solved it 20:27:50 ehird`: was it you who added the latest anarchy golf challenges? 20:27:52 use twm, that never crashes :-) 20:27:57 ais523: which ones? 20:28:08 two versions of multiply 20:28:12 (speaking of which, it seems the japanese userbase of anarchy golf call it anagolf, which is far easier to type) 20:28:14 nope, i didn't 20:28:14 and a simple program interpreter 20:28:16 weirdx or whoever did 20:28:19 i did the simple program one 20:28:25 which is of course not simple at all :-) 20:28:39 well, I have a /genuine/ entry for it 20:28:40 wowzer 20:28:40 ais523(genuine) 20:28:49 ais523: show the code? that's pretty cool :D 20:28:53 although it doesn't nest parens more than 2 deep in all circumstances 20:28:59 heh 20:29:13 ais523: my "Multiply" entry is clever 20:29:21 * ais523 pastes 20:29:24 p eval gets(nil).gsub(",","*") 20:29:29 Multiply long: 20:29:35 http://pastebin.ca/892988 20:29:38 $<.map{|x|p eval x.gsub(",","*")} 20:29:45 * fax is forbidden .. http://www.absysinfo.com/ 20:29:51 ais523: wow, it compiles. 20:30:06 ais523: it doesn't actually do any parsing stuff though, does it? 20:30:06 more a s/// to change the code into Perl 20:30:09 no 20:30:11 just transforms the non-perl bits into perl 20:30:15 it doesn't nest parens more than 1 level deep either 20:30:37 I could actually write a shorter version that did, but only if they upgraded Perl to 5.010 20:30:45 which I don't think has been released yet 20:30:53 ais523: the thing about yours is that it isn't as conceptually elegant 20:30:56 in mine, 20:30:59 'if' is a composite 20:31:02 well, it isn't implemented as one 20:31:04 but it's called as one 20:31:09 since {...} is a lambda 20:31:16 I thought you might be doing that 20:31:24 but if is your only combinator, so I optimised for that 20:31:30 hehe :) 20:31:42 there are some shortcomings as well; you can't call a variable i or f, for instance, because those letters are part of the word if 20:31:46 hahah 20:31:51 and the lexer doesn't distinguish word boundaries in keywords 20:31:58 the cool thing about mine is that it's... pretty hard to parse properly 20:32:02 {x. x} {x. x} 20:32:07 that's either two lambdas, or a call to a lambda 20:32:15 (note: \n is not a seperator) 20:32:19 ack 3 4 fact 4 would work. 20:32:48 \n in my compiler means "print the result of evaling the next expression unless it's a subroutine definition" 20:32:57 ais523: btw 20:33:00 I look for a : on a line to see whether to print or not 20:33:01 you know the evil c compiler entry? 20:33:15 sort of 20:33:18 I have it up at the moment 20:33:29 ais523: yeah, well i underestimated those japanese 20:33:33 http://www.nmt.ne.jp/~ysas/diary/?200705b#200705161 someone made a real compiler for it. 20:33:35 compiles to postscript. 20:33:37 I mean -- WTF? 20:33:46 http://www.google.com/translate?u=http%3A%2F%2Fwww.nmt.ne.jp%2F%7Eysas%2Fdiary%2F%3F200705b%23200705161&langpair=ja%7Cen&hl=en&ie=UTF8 translated page, but the source is messed up 20:34:03 'Evil C Compiler to the ANAGORU finally written in PostScript. ă¨ă‚Šă‚ăăšçź­ăŹă™ă‚‹ä»Ąĺ‰Ťă«ĺ‹•ä˝śă™ă‚‹ă‚‚ă®ă‚’ă€ĺŹ–り急ăŽăイăŠăŞĺŚ–ă‚‚ă›ăšç”źă§ă‚łăźăă。 Shorten work in the meantime before that, without a moment to raw binary also committed. ă™ă‚“ă”ăŹă§ă‹ă„ă‘ă©ă€ă“ă‚Śă€ă‚¤ăłăă‚­ăŞă‚Šă«ăˇă‚ă‚“ă¨ă‚łăłă‘イă«ă™ă‚‹ă€‚ So very big, but this one, and the pseudo-respectable compilation. 20:34:03 ăźă¨ăă°FizzBuzzăŞă‚‰ă“ă†ă€‚ For example if I FizzBuzz.' 20:34:07 err 20:34:09 how did that happen 20:34:15 those japanese chars weren't in my browser. 20:34:19 is that the same person who submitted a genuine entry for the Underload compiler in PostScript? 20:34:33 ais523: not sure. ysas is the url name 20:34:37 and ehird`, it's worse over here, I ended up with a paste full of mojibake 20:34:51 ais523: :) 20:35:05 the Underload entry was by yshl, not ySas 20:35:11 but it's possible that they're the same person 20:35:15 similar name 20:35:17 so i guess so 20:35:34 ais523: there's such a language gap on anagolf, especially with the ruby focus and ruby being the biggest in japan :-) 20:36:05 Ruby vs. Perl is probably the biggest language war in golfing 20:36:18 ais523: ruby's quite a newcomer to golfing though 20:36:21 but it's *great* at it 20:36:36 both Ruby and Perl are pretty good 20:36:44 and which one wins tends to depend on the details of the problem 20:36:50 that war is interesting because it's so close 20:37:36 ehird`: does Haskell have an eval? 20:37:44 ais523: no, it's a static, compiled language 20:37:48 even Hugs doesn't have one 20:37:49 a 'simple language' to Haskell 'compiler' might work better than compiling into Perl 20:37:53 because the syntax is more similar 20:38:06 ais523: You could call out to ghc. :-) Unless exec is denied 20:38:12 but as you denied exec I can't even call out 20:38:29 ais523: aww 20:38:30 sorry :) 20:38:37 exec is usually denied, as it's the default 20:38:40 but yeah, despite haskell's dynamic 'feel', it's very very static 20:38:54 although exec can be useful when testing 20:39:19 while testing that simple language compiler I used recursive calls to perl rather than eval so that error messages came up on stderr 20:40:17 ais523: it's funny, anagolf's architechture at fisrt appears simple 20:40:21 but if you look at the code it's crazy 20:40:26 all the sandboxing tricks and all that 20:40:39 I was writing a message about how the sandboxing must be difficult but you beat me to it 20:40:56 hehe 20:41:17 pity that anagolf doesn't allow 1-byte palindromic quines 20:41:28 because is a palindromic quine in GolfScript 20:41:32 ais523: http://pc11.2ch.net/test/read.cgi/tech/1173057314/ yours and mine challenges are mentioned near the end :-P 20:41:46 all the rest is completely unintelligable, of course. 20:41:56 but if you scroll down to 141 it's there 20:42:29 I can't figure the page 20:42:34 ais523: ? 20:42:37 the links are all mailto: aimed at invalid addresses 20:42:49 ais523: oh, that's random wacky 2channel stuff 20:42:53 it stops the thread being bumped. 20:42:53 and there seems to be no content other than the challenge names 20:43:02 not on that post, it appears 20:43:10 [all this knowledge re: 2ch is probably useless since i know no japanese] 20:43:19 [but i know it's the largest bbs in the world, with over 2million visitors a day] 20:44:40 ais523: sometimes in that thread you can work out posts from the ones following it 20:44:51 like, someone mentiones goruby in 122, and then what follows appears to be an implementation of it 20:45:01 a golfing version of Ruby? 20:45:22 I'm not surprised that that has a built-in uudecode, because it must be useful for compressing code into binary 20:45:35 (actually, uuencode is more commonly useful for that) 20:45:50 ais523: yes, its included in ruby 1.9 20:45:54 for No Apparent Reason (TM) 20:46:13 'make golf' is the best command-line invokation ever, though 20:46:22 that cheat BF entry for the uudecode still has me amused 20:46:29 I'm sure a genuine entry would be shorter 20:46:38 but a BoolFuck entry would be shorter still 20:48:46 ais523: http://en.wikipedia.org/wiki/2ch with wikipedia articles like this, who needs knowledge of japanese? 20:49:01 still not any closer to reading that anagolf thread though :P 20:50:38 hmm... I wonder how easy it is to do bitwise BF arithmetic? 20:52:35 hard 20:52:54 it would probably be easiest to split the number into bits first 20:53:12 for that you just need a divide/modulo instruction 20:53:14 or routine 20:53:25 I wonder whether, if I find a K interpreter, I could convince shinh to add it to anagolf? 20:53:44 http://golf.shinh.org/langs.html there seems to be one or two propeitery interps there, so it should be ok 20:54:02 they have J and A+ 20:54:05 why not write your own non-proprietary reimplementation? 20:54:12 ais523: it's too comprehensive, K. 20:54:16 also, because anagolf considers speed too. 20:54:22 K is incredibly fast on tons of stuff 20:54:23 and the interp si tiny 20:54:27 (fits in lvl1 cache of cpu) 20:54:51 that's why reimplementing it shouldn't be too difficult 20:55:00 the new version probably wouldn't be as high-quality 20:55:09 but hopefully wouldn't take very long to write 20:55:35 ais523: the library is comprehensive 20:55:46 and that's proprietary too? 20:55:51 that could be a problem 20:55:52 ais523: yep, i think 20:56:05 they offered a free K3 interpreter before, it was just one binary 20:56:07 for all platforms 20:56:09 (win, linux) 20:56:14 i can find it with google, but yeah 20:56:17 you have the binary, that's it 20:56:25 what license is it under 20:56:34 if it's public domain, it might be possible to decompile it 20:56:44 ais523: 'all rights reserved' kind of thing 20:56:44 especially if you have the same code for multiple OSs 20:56:51 so not possible then 20:56:57 not legal, certainly 20:57:19 if k was easier to googlle. :| 20:59:25 wow, searching via Wikipedia I found a page elsewhere called "K for Joy Programmers" 20:59:32 ais523: nsl.com? 20:59:35 yes 20:59:40 no stinkin' loops, that's the best k site 20:59:45 http://www.nsl.com/k/bf.k they have a bf interp and a ->c compiler 20:59:50 here's the compiler: 20:59:51 c:{`bf.out.c 0:"char m[9999];char*p=m;int main(){",(,/@[256#"";_ic"<>+-.,[]" 20:59:52 :;("--p;";"++p;";"++*p;";"--*p;";"putchar(*p);";"*p=getchar();";"while(*p){" 20:59:52 "}")]_ic x), "}"; `4:"gcc -o bf.out -O3 -w bf.out.c"; `3: "rm -f bf.out.c";} 21:00:33 they're working on an Unlambda implementation as well 21:00:43 so they certainly seem esolang-aware over there 21:00:46 ais523: http://www.nsl.com/k/befreak.k <-- Befreak in K, *with a gui*... certainly a new implementation would be hel 21:00:48 l 21:01:04 http://www.nsl.com/papers/befreak.htm take a look at how comprehensive the gui is 21:01:58 a gui isn't very useful for golfing, generally speaking 21:02:03 sure 21:02:09 but i wouldn't want to impact on MY k experience 21:02:10 :-) 21:03:37 hmm 21:03:42 is cat in unlambda even possible? 21:03:46 well 21:03:50 without a huge switch table for every 255 char 21:04:15 yes 21:04:19 you can use the | command 21:04:28 sorry, combinator-like action-like object 21:04:52 ah yes 21:06:02 -!- jix has quit ("CommandQ"). 21:06:47 that K implementation of Unlambda looks excessively long 21:07:02 I may have to get on with writing my Underload/Unlambda/Brainfuck hybrid lang 21:07:31 which Unlambda can be trivially compiled into 21:07:37 The EsCo 9000? 21:07:45 and yet which can be interpreted simply as well 21:08:12 then combining an Unlambda->Underlambda compiler and an Underlambda interp would give an Unlambda interp 21:08:13 ais523: want to help me find a k interp for linux? :P 21:08:15 or windows, i guess 21:09:29 it was on nsl, but the link seems to be broken 21:09:32 that is, the link from Wikipedia to it 21:09:44 is Wayback working for you? It wasn't for me earlier 21:09:58 aha, wayback! good idea 21:10:00 hm 21:10:01 slow loading 21:10:30 sufficiently slow that my browser timed out when I tried 21:10:51 well 21:10:52 it loaded. 21:10:58 so i'm telling it to go fish for kx.com 21:12:34 ais523: trying 2005 21:12:40 -!- helios24 has quit ("Leaving"). 21:12:47 ah 21:12:48 http://www.nsl.com/misc/k/ 21:12:51 let's wayback that 21:14:17 no matches 21:14:18 sdfjksdf 21:14:57 -!- GreaseMonkey has joined. 21:15:58 incidentally, do you think that $/=$] is an abusive way to switch Perl into slurp mode? 21:16:16 it's a golfing trick I use myself; set the newline separator to the Perl version string 21:16:21 which is unlikely to be anywhere in the input 21:20:28 -!- ais523 has quit (Remote closed the connection). 21:22:46 -!- ais523 has joined. 21:22:53 sorry about that 21:22:55 what did I miss? 21:23:06 * ais523 's window manager crashed again 21:23:14 nothing 21:23:15 at all 21:23:17 also 21:23:19 $/=0 21:23:21 isn't that shorter 21:23:31 (also, that's SCARY ambiguity with a /= b) 21:24:14 not equals is != in Perl 21:24:22 no 21:24:24 doesn't it stringify 0 ? 21:24:25 divide-equals 21:24:34 and not really, because a lone $ always gobbles up the next character at least 21:24:36 fax: that's ok 21:24:40 no golf challenges have 0 in the info iirc 21:24:42 and yes, 0 is stringified 21:24:44 wait 21:24:46 oh I see 21:24:47 stringified as its char 21:24:47 right 21:25:02 http://web.archive.org/web/*/http://www.kx.com/download/download.htm <-- ais523: archives, but inaccessable 21:25:30 I suppose there's probably a special variable that's undef by default, but I can't be bothered to find out which one when $] works almost as well for this purpose 21:25:59 and ehird`: I'm the sort of person who's idealistic enough to avoid using a language if it doesn't have an open-source implementation I can mess around with 21:26:09 although not exclusively 21:26:14 ais523: you owe it to yourself to try k :) 21:26:24 but enough to not download closed-source interps for languages like K 21:26:25 i think kx systems have every right to keep it under wraps 21:26:28 it's like a secret weapon 21:26:47 if it's really that good, someone should reimplement it 21:26:57 sort of like the dmd/gdc thing 21:27:04 Why's k so good? 21:27:11 I couldn't really see why.. 21:27:23 fax: craziness 21:27:25 it reminds me a lot of the things I like to look for in a language 21:27:28 ais523: gdc is not a reimplementaiton! 21:27:28 hehe 21:27:32 it shares the open source backend with dmd. 21:27:33 although I don't like it as much as ehird`, I think 21:27:39 it just layers it on top of gcc. 21:27:49 fax: that and extreme conciseness and *speed* 21:27:51 gcc is the backend, I think 21:27:54 I like J a lot.. I couldn't get into K 21:27:55 it outperforms c in a lot of cases 21:27:59 ais523: it uses the dmd backend. 21:28:13 I think we're arguing over which end is the backend and which end is the frontend 21:28:17 fax: k is like j, but taken to the logical extreme and then whipped around until it was just that bit faster and shorter 21:28:25 ais523: it uses the 'guts' of dmd. 21:28:32 OK 21:28:37 the only reason dmd isn't open is that the frontend has code by other people. 21:30:08 here's Y in k 21:30:09 Y:{{x[{x[x]y}[y]]z}[x][{x[{x[x]y}[y]]z}[x]]y} 21:30:16 yarg, that's awful 21:30:20 yep! 21:30:25 it looks better in most syntaxes 21:30:31 it utilizes the fact that by default 'x,y,z' are your first arguments 21:30:32 by default. 21:30:35 you don't need to name them 21:30:47 yes, but other langs do that as well 21:30:49 since most k functions take 3 or less arguments, that's probably good 21:30:49 :P 21:30:53 wtf.. lol 21:30:54 Mathematica uses #1, #2, #3 for instance 21:31:01 and the pattern doesn't end there 21:31:06 longer than arc :P? 21:31:15 fax: naw, shorter :P 21:31:15 on the other hand, Mathematica is even worse for excessive brackets 21:31:19 arc is like java compared to k! 21:31:32 so what is Java like compared to K? 21:31:53 this K sounds like a piece of proprietary junk. 21:32:06 lament: proprietary, but not junk. 21:32:29 * ais523 still thinks that with enough effort it would be possible to come up with something even smaller and faster 21:32:41 (fn (m) ([_ _] (fn (y) (m [(y y) _])))) 21:32:41 -!- Tritonio_ has joined. 21:32:51 fax: sure, but that is in a different style 21:32:55 you do [_ _] and call that 21:32:57 you could do that in k too. 21:33:01 lament: http://www.kuro5hin.org/story/2002/11/14/22741/791 21:33:07 ais523: probably in forth. 21:33:12 ais523: k is tried and tested, though. 21:33:17 lament: forth is not short 21:33:24 ais523: KDB is used by tons of banks and governments and shiz 21:33:25 either that or you've just fallen for their advertising 21:33:27 and just plain K is too 21:33:29 so it's that long for.. readability? :D 21:33:42 ais523: naw, kx don't acknowledge k any more 21:33:43 :) 21:33:48 just did research. 21:33:58 hm 21:34:03 -!- RedDak has joined. 21:34:03 kx just updated their home page :| 21:34:46 what, during this conversation? 21:35:05 since yesterday.. 21:36:06 * ais523 was wondering for a moment if they were monitoring #esoteric so that they could alter their website to fit the conversations 21:36:38 heh 21:36:53 kx-if you're reading me, put up a free k3 trial. thanks 21:37:21 ais523: it seems, though, that concatentative languages might be the wrong way for conciseness... 21:37:28 i feel ninjacode2 is needed! :P 21:37:40 what makes you think that? 21:37:46 K is quite concatenative-like 21:37:49 just with infix notation 21:37:56 well, you know what i meant 21:37:57 ;) 21:38:11 ais523: not strictly, though... because of the monadic/dyadic stuff 21:38:19 ah yes 21:38:31 which seems like a really good way to pack code into small boxes 21:38:38 the infixness is a way to use two functions on each character 21:38:58 OTOH it makes it considerably harder to create virtual temporary variables 21:39:19 ais523: personally i think three would be cool 21:39:23 infix,prefix,postfix 21:39:27 but that's basically impossible 21:39:31 that would be ambiguous 21:39:35 since a!b is either a postfix, then b 21:39:38 or infix a, b 21:39:41 or a, prefix b 21:39:54 i can handle only two options, but three?! no way ;) 21:40:05 !a! would be just as bad 21:40:08 Huh? 21:40:16 sorry EgoBot 21:40:22 heh 21:40:35 ais523: yeah 21:40:48 though infix, in itself, is ambiguious 21:41:55 K enforces right-to-left evaluation for some reason 21:42:02 left-to-right is more natural, I would have thought 21:42:05 because that's the most useful, ais523 21:42:09 it reduces parens in more cases 21:42:22 unintuitive, but they have years of practice with that kind of stuff :P 21:44:25 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 21:52:57 -!- Hiato has quit (Read error: 110 (Connection timed out)). 22:01:41 -!- Tritonio_ has quit (Remote closed the connection). 22:03:12 -!- slereah__ has joined. 22:21:08 -!- ais523 has quit ("bye"). 22:49:46 -!- RedDak has quit (Remote closed the connection). 22:54:26 -!- olsner has joined. 22:58:49 -!- Corun has joined. 23:00:30 -!- timotiis_ has joined. 23:07:52 -!- timotiis_ has quit ("leaving"). 23:15:27 -!- pikhq has joined. 23:18:11 pikhq: hi 23:21:15 -!- Geekthras has joined. 23:26:25 pikhq: ping 23:26:55 ehird`: Pong. 23:27:03 pikhq: any thoughts re: pebble2? 23:27:13 Woah pikhq? 23:27:13 Just one ATM. . . 23:27:22 Geekthras: Yeah? 23:27:35 Geekthras: From #xkcd, I see. ;) 23:27:43 Yup 23:28:38 -!- timotiis has quit (Read error: 110 (Connection timed out)). 23:35:13 Geekthras: So, what brings you here? 23:35:24 Not much 23:35:25 ack 23:35:30 -!- Geekthras has changed nick to Geekthras|Dinnar. 23:42:58 -!- Geekthras|Dinnar has changed nick to Geekthras. 23:43:15 Just hanging out 23:46:38 finally got around to making a bf compiler 23:47:18 I'm finally getting around to revising PEBBLE. 23:47:36 ehird`: BTW, I'm thinking of implementing PEBBLE2 in Plof. 23:47:56 pikhq: :( but .. self-hosting lisp syntax! 23:47:57 :O 23:48:29 I never said what syntax I'd use. 23:48:37 Remember: Plof has a runtime-modifiable syntax. 23:51:17 okay, yeah, but .. macros 23:51:19 and self-hosting 23:51:20 :( 23:55:20 http://web.archive.org/web/20041014021225/http://kx.com/cgi-bin/getSoftware_new.pl?klin.zip=y i hope this works :) 23:55:26 dmanit 23:55:27 nope 23:56:21 ehird`: Plof can have *everything* replaced at runtime. 23:56:37 not good enough! :( 23:56:42 i want a self-hosted, lisp-syntax pebble! :P 23:56:46 maybe i should make it. heh 23:57:01 Well, everything except for the PSL semantics, which are about as hard to replace as the machine code on a traditional CPU. . . 23:57:11 And I've yet to rule out sexp syntax. 23:57:20 ;p 23:58:27 pikhq: OK, but self-hosting 23:58:27 :P 2008-02-06: 00:00:17 http://web.archive.org/web/*/http://kx.com/cgi-bin/getSoftware_new.pl?klin.zip=y damnit, none ofthem want to work 00:04:26 -!- olsner has quit ("Leaving"). 00:12:35 speaking of which i really ought to get elliotthird.org up 00:12:48 eh, as soon as i settle on a programming language and get Nodist written... 00:12:49 (never) 00:25:58 hm 00:26:09 does cpressey ever come by here? 00:31:28 -!- slereah__ has quit (calvino.freenode.net irc.freenode.net). 00:31:28 -!- sarehu has quit (calvino.freenode.net irc.freenode.net). 00:32:33 -!- slereah__ has joined. 00:32:33 -!- sarehu has joined. 00:32:34 -!- sebbu has quit ("@+"). 00:41:05 Rarely, if ever. 00:43:42 what's his nick when he does, then? 00:53:21 -!- ehird` has quit ("K-Lined by peer"). 01:21:36 -!- calamari has joined. 01:29:24 -!- Corun has quit ("This computer has gone to sleep"). 01:42:35 cpressey. 01:43:22 heh 01:56:39 http://rafb.net/p/Ir9XSN95.html finally! 01:57:54 You say 'finally'? 01:58:05 it was bugging before 01:58:26 Ah, an interpreter. 01:58:33 Only slightly harder than a compiler. 01:58:57 yeah 01:59:21 mostly just getting loops to work recursively 02:08:33 ah, that's a nifty way to do [] 02:09:27 yeah much better than keeping track of depth 02:18:27 -!- GreaseMonkey has changed nick to yeknoMesaerG. 02:22:59 -!- yeknoMesaerG has changed nick to GreaseMonkey. 02:24:03 -!- calamari has quit ("Leaving"). 02:24:46 -!- danopia`school has joined. 02:29:38 -!- danopia has quit (Nick collision from services.). 02:38:27 -!- immibis has joined. 02:47:05 -!- danopia`school has changed nick to danopia. 03:12:34 http://www.codu.org/pics/displayimage.php?album=4&pos=0 // how to choose a democratic candidate 03:18:18 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 03:18:45 -!- calamari has joined. 03:18:57 haha. Somebody's telomeres are eroding! 03:19:03 hey, calamari 03:19:06 hi 03:20:42 what're you up to this evening? 03:37:11 Hey, calamari. I plan to pick your brains for PEBBLE 2 when I code it a bit further. 03:37:26 ok 03:37:32 Not quite yet, though. 03:37:40 Still got some stuff to do for my calc class. . . 06:03:43 -!- calamari has quit ("Leaving"). 06:10:00 Hey wait calamari was the BASIC2BF guy right? 06:16:09 BFBASIC, yes 06:16:23 I told him he was my hero when I realized that 06:17:00 ...that's awesome 06:17:54 yeah, I know 06:18:47 this is what is great about the internet: Not only can you meet your heroes, you can find out that the dude you've been chatting with for a couple days IS one of your heroes 06:26:18 hah 06:26:19 yeah 06:27:05 oh fuck 06:27:09 i LOVE this album 06:27:26 Infected Mushroom - Vicious Delicious 06:31:41 -!- immibis has joined. 06:32:41 -!- immibis has set topic: THIS IS THE TOPIC. 06:35:06 -!- sarehu has quit (Remote closed the connection). 06:35:17 -!- sarehu has joined. 06:37:54 -!- Geekthras has quit ("Leaving"). 06:53:41 06:54:27 that is not well-formed xml on many clients. 06:54:43 for example, ones that say (bsmntbombdood) or bsmntbombdood: 06:55:24 huh? 06:57:49 (bsmntbombdood) is not well-formed xml. 06:58:01 nor is bsmntbombdood: 06:58:01 immibis: get a real client 06:58:07 06:58:16 06:58:24 :) 06:58:46 oklopol: how do you know what client i have? 06:59:03 you have a client that shows (nick) for privmsgs 06:59:12 no, actually i don't. 06:59:13 but some do. 06:59:24 i think xchat shows nick | message 06:59:26 hey 07:00:01 yep yep, i just seem to have missed a few of your lines 07:04:47 Just closing some xml tags that weren't closed. 07:04:47 we need a bot for this 07:04:47 07:04:47 * immibis starts netbeans (no this doesn't need a closing tag) 07:04:47 you already did it, didn't you? 07:05:20 not yet, no 07:09:37 -!- olsner has joined. 07:24:01 is "-->" the end of an html comment? 07:24:10 yes 07:24:19 and olsner has joined this channel 07:24:47 indeed. 07:24:51 oh 07:25:14 anyways, i think i need to get going now, you keep up the good work! -> 07:25:54 what was all the fuzz about? 07:25:58 that's --> to you! 07:26:19 well, es0n00b1 has joined this channel 12:53:27 what was that web address again?? 12:53:30 thx 12:54:22 found lazy bird - cool 12:56:38 OUCH 12:57:14 really cant make head or tail of Lazy Bird. 12:57:57 Well, for instance, the Fibonacci is thusly : 12:59:04 ^x^y [A printing function that takes y as an argument] xx [a function to change the sort-of memory that takes x as an argument] 12:59:47 If I call that function u (and that's pretty much what it is), and I apply it to itself (`uu), I get : 13:00:08 ^y [A printing function that takes y as an argument] uu [a function to change the sort-of memory that takes y as an argument] 13:00:32 The ^x disappear because it suffered function application, so all x's are replaced by the argument. 13:00:55 If I apply it to the list [0, 1], I get : 13:01:11 -!- jix has joined. 13:01:30 [Prints the first element of [0,1]] uu [a function to change [0,1]] 13:01:58 It then prints 0, and the printing function disappear (because it converts to the identity function) 13:02:24 So I'm left with uu [a function to change [0,1]], which then converts to uu [1,1] 13:02:43 And I'm back at the beggining, but with a new argument. 13:02:48 And so it continues. 13:03:10 ok - kind of makes sense 13:03:33 but how is it adding the arguments together. 13:03:47 You use the adding function! 13:04:09 i must have missed the addition within the code 13:04:18 I use Church numerals. It's ^f^x f(f(f(f(...f(x)...)))) 13:04:31 The number of f's indicates the number. 13:04:56 i understand you have to use the adding function, but where is it in the code? 13:05:08 hmm 13:05:28 wholey moley 13:05:40 It's here : `sb`y0``v0i 13:06:00 But well, to make it more compact, and to avoid using variables, I used the combinators. 13:06:22 `sb is equivalent to ^a^f^x.f(afx). It means +1 13:06:25 talk about obsficated code 13:06:58 Because if you enter a Church numeral into that function, for instance two ^g^y.g(gy), you get : 13:07:03 ok - this looks like a whole new area of maths 13:07:15 (to me, anyhow) 13:08:00 (listening and learning) 13:08:29 (^a^f^x.f(afx))^g^y.g(gy) converts to ^f^x.f(^g^y.g(gy)fx) (a replaced by ^g^y.g(gy)), converts to ^f^x.f(^y.f(fy)x) (g replaced by f), converts to ^f^x.f(f(fx)) (y replaced by x) 13:09:09 So in the end, your function is the argument of a new f. 13:09:48 ok - kind of follow. your using recursion. dont pretend to understand the rest 13:10:11 Numbers aren't just numbers. 13:10:22 They're used for function iteration. 13:10:51 So for instance, if to the number 3, I apply two arguments, the successor argument (s, meaning +1) and another number, you get : 13:10:58 yeah - i keep finding "Church numerals" in a number of places 13:11:50 (^f^x.f(f(f(x)))) s 5 converts to (^x.s(s(s(x)))) 5 converts to s(s(s(5))) 13:12:15 So you take the successor of 5, and the successor of the successor, and the successor of it 13:12:28 =8? 13:12:40 So says math teachers! 13:12:48 ok - getting there 13:13:05 Or ^f^x.f(f(f(f(f(f(f(f(x))))))) in lambdas. 13:13:29 but you dont need a symbol for the number 5, as 5 can be determined as a string of successions from 0?? 13:13:51 Yes. I just write it 5 because it's shorter. 13:16:11 right. kind of getting the idea behind it. still not fully understanding all the symbols involved 13:16:27 Well, there's only two symbols. 13:16:50 There's the lambda (I use ^ for it, sometimes people use \), and there's variables. 13:17:51 If there's a variable that's next to a lambda, it's bound. The most important thing about this is that, if there's something applied to the expression, the left-most lambda symbol is replaced by that expression. 13:18:21 Ie : (^x.xy)a converts to ay 13:19:04 There's also the delta, but I think I never saw it outside of Turing's paper. 13:19:38 (^x.x.x.y.y)a == aayy?? 13:20:10 Well, the syntax is, the dot only serves the purpose of separating lambda variables from the expression itself. 13:20:23 That way, you can just use one lambda. 13:20:35 oh. (^x.xxyy)a == aayy 13:20:50 For instance, ^x(^y(^z(xyz))) can be written as ^xyz.xyz 13:21:32 thas getting confusing 13:21:56 It's just a syntax matter. 13:21:58 does (^xyz.xyz)a make any sense 13:22:59 -!- oerjan has joined. 13:23:06 Hell, the original Chruch notation was {^x{^y{^z[(xy)z]}}} (a) 13:23:26 ok 13:23:38 (^xyz.xyz)a -> Leftmost bound variable is x -> ^yz.ayz 13:23:39 so x would be replaced by a 13:23:50 yep - got it 13:24:11 multiplication is the built out of additions somehow 13:24:28 using function of function?? 13:24:30 The other notation convention is that abc = (ab)c 13:24:39 You can build it out of addition 13:24:54 But multiplication is actually easier than addition in lambdas. 13:25:15 ok - exponentiation?? 13:25:22 Even better. 13:25:37 Multiplication is ^m^n^f.n(mf) 13:25:49 Exponentiation is ^m^n.nm 13:26:52 ok - can it perform integration or differentiation. I have a nasty little differential equation that has been bothering me since my old PhD days 13:27:12 Well, it can, since it's TC. 13:27:18 But there's no simple way to do it 13:27:26 dang 13:28:43 you any good at differential equations. My problem SHOULD have a solution, but I have no idea how to attack it easily 13:28:59 Well, I do physics, not math. 13:29:12 physics is maths, no? 13:29:14 But you can try 13:29:20 Physics is lazy maths. 13:29:25 lol 13:29:42 * oerjan notes "Sukoshi`" in this morning's logs 13:29:57 just after we talked about her... 13:30:04 TRWBW is always giving me the look because I use differential elements as variables 13:30:25 "DIFFERENTIALS DO NOT WORK THAT WAY" 13:30:27 TRWBW? 13:30:32 On #math 13:30:37 dx/dt=Aexp(-B/t)*(x^m)*(1-x)^n 13:31:26 (trying to remember which version of the equation this is, so it will work properly) 13:31:39 0 A>0 13:31:52 B>0 13:31:53 Are the x^m and all outside of the exponential? 13:32:22 the ^n only applies to (1-x) 13:33:04 So... A * (x^m) * [(1-x)^n] * e^(-B/t)? 13:33:11 initial conditions start at x=0,t=0 13:33:15 yes, you are right 13:34:09 and i know x=0,t=0 LOOKS wrong, but it works if you rearrange the equation to two integrals, with x on one side and t on the other, and use x=0 and t=0 as limiting conditions 13:34:48 Well, I'd personnaly just say that it's dx = A * (x^m) * [(1-x)^n] * e^(-B/t) dt, and then integrates to get x(t) = A * (x^m) * [(1-x)^n] * e^(-B/t) * (-1/B) 13:35:21 And then, mathematicians would get their Morbo masks and say "DIFFERENTIALS DO NOT WORK THAT WAY" 13:35:32 so INT(x=0->x,(x^-m)*x^n.dx)=INT(t=0->t,Aexp(-B/t).dt) 13:36:10 oops: INT(x=0->x,(x^(-m))*x^(-n).dx)=INT(t=0->t,Aexp(-B/t).dt) 13:36:48 Well, I didn't use boundaries for the integration. 13:36:56 integrals on both sides do not have elimentary solutions 13:37:05 There's a constant that should remains, but you can get rid of it via initial conditions. 13:37:33 Hell. 14H37 13:37:38 true. starting conditions are important though 13:37:49 I don't have pants on and I should get going in 5 minutes. 13:38:09 -!- Corun has joined. 13:38:16 as i want to solve for t when x=1 13:38:22 You can check #math, they'll probably help you. 13:38:27 or, at least a good approximate 13:38:36 may go there later. time for bed. 13:39:08 have a good day. it's gonna be a hard nights sleep for me. the brain might not stop for a while now. 13:39:18 ciao for now 13:39:21 -!- es0n00b has quit (Read error: 131 (Connection reset by peer)). 13:39:21 -!- es0n00b1 has quit (Read error: 131 (Connection reset by peer)). 13:39:23 B ai 13:55:03 -!- ihope has joined. 14:00:35 -!- helios24 has joined. 14:05:58 -!- ihope_ has joined. 14:23:18 -!- ihope has quit (Read error: 110 (Connection timed out)). 15:01:05 -!- tejeez has joined. 15:54:04 -!- ehird` has joined. 15:54:27 haskell code looks really good on one line 15:55:04 pikhq: wrong 15:55:08 turing machine was post-LC, i believe 15:55:21 not sure 15:55:54 hm 15:55:57 1936 16:01:03 -!- oerjan has quit ("Et cetera, et cetera"). 16:05:04 -!- tejeez_ has joined. 16:09:09 -!- tejeez has quit (Read error: 145 (Connection timed out)). 16:17:56 -!- atsampson has quit ("Lost terminal"). 16:21:29 -!- tejeez_ has changed nick to tejeez. 16:31:44 -!- ihope_ has quit (Read error: 110 (Connection timed out)). 16:32:54 -!- helios24 has quit (Remote closed the connection). 16:33:22 -!- helios24 has joined. 16:50:39 They wdere pretty much the same year 16:55:52 5+4=2 16:56:52 Z/Z7? 16:57:22 Z/Z7 = Z+9 16:58:12 Oh noes! 16:58:26 What is this mooncode? 16:58:53 e 16:58:53 esolangs 16:59:31 That narrow it down to a few hundred languages 17:00:37 -!- ihope_ has joined. 17:00:40 -!- ihope_ has changed nick to ihope. 17:01:43 -!- ihope_ has joined. 17:19:08 -!- ihope has quit (Read error: 110 (Connection timed out)). 17:24:07 pikhq: pikhping 17:36:16 -!- puzzlet_ has joined. 17:49:11 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 17:53:32 -!- ais523 has joined. 18:00:49 -!- atsampson has joined. 18:15:13 -!- puzzlet_ has quit (Remote closed the connection). 18:15:16 -!- puzzlet has joined. 18:43:35 -!- ehird` has quit (Read error: 113 (No route to host)). 18:44:45 -!- ehird` has joined. 18:45:43 -!- ais523 has quit (""""). 19:26:06 -!- slereah__ has joined. 19:26:53 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 19:29:31 -!- asiekierka has joined. 19:29:34 Hey 19:29:54 Is there a BF interpreter that shows the movement of the head? 19:30:48 BF developers? 19:31:12 BF developers? What is it? 19:31:26 Also the one on the Love Machine 9000, if you chose to display the memory tape. 19:31:33 Brainfuck Developers. Google it! 19:31:37 oh 19:42:27 -!- Tritonio_ has joined. 19:45:43 -!- as13k13rka has joined. 19:46:55 is there a BF interpreter for mobile phones? Java 19:46:57 J2M# 19:47:00 J2ME* 19:47:22 No idea 19:59:17 -!- asiekierka has quit (Read error: 110 (Connection timed out)). 19:59:31 -!- asiekierka has joined. 20:11:15 -!- as13k13rka has quit (Read error: 110 (Connection timed out)). 20:13:36 http://www.walenz.org/Dijkstra/ 20:26:44 -!- asiekierka has quit (Read error: 110 (Connection timed out)). 20:27:00 -!- faxathisia has quit ("If there are any aliens, time travellers or espers here, come join me!"). 20:34:13 I'm sure it wouldn't be all that complicated to write one. 20:36:27 a horse could write that 20:36:52 Hooves can't type. 20:37:02 neither can hands 20:37:08 it's the owner that writes. 20:37:31 well types 20:52:08 -!- Sgeo has joined. 21:00:59 -!- oerjan has joined. 21:06:24 Chapter 10: An Essay on the Notion: "The Scope of Variables" 21:06:26 "Quotes" 21:06:43 -!- ihope_ has quit ("ChatZilla 0.9.80 [Firefox 2.0.0.12/2008020121]"). 21:08:03 Chapter 11: "The Scope of Essays": A variable notion 21:08:20 *Variable Notion 21:33:40 whazz the password to read your essay on AMS 21:39:35 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 21:43:31 -!- oklopol has joined. 21:44:32 wb oklopol 21:44:46 no problem! 21:45:22 i tried to allocate some memory, so the natural result was a reboot 21:45:37 ubuntu always knows what's best for me 21:56:33 -!- sebbu has quit ("@+"). 22:12:19 -!- sebbu has joined. 22:17:08 oklopol: i assume you have to pay/be a member of AMS to read it 22:18:04 i assume that too 22:32:05 -!- jix has quit ("This computer has gone to sleep"). 22:56:16 -!- Corun has quit (Read error: 110 (Connection timed out)). 23:09:13 * Sgeo has an interesting idea for domain4, actually 23:10:30 The first function should control what format most functions use 23:11:45 Does anyone care? 23:13:09 * Sgeo also thought of a new type 23:16:44 What idea? 23:17:29 ehird`: LC and TM were produced independently, and published in consecutive months. 23:18:40 STRINGNL 23:18:53 Which will be a string containing no newlines 23:21:57 Also, 0x00 0x04 0x00 controls whether functions in domain 0x04 accept FNUM(1), LNUM, or VARG(LNUM) 23:27:51 http://trac2.assembla.com/psox/changeset/65/trunk look good? 23:30:18 pikhq? 23:30:28 Hmm? 23:31:56 Any comments on that changeset? 23:32:14 Not ATM. 23:42:28 -!- ihope has joined. 23:44:37 Hiope 23:44:51 Gseo. 23:45:11 Which is a greeting followed by something else, I guess. 23:45:36 Clearly, I should start greeting people with "gse". 23:45:38 :-) 23:45:42 Greetings Supreme Evil Overlords 23:45:53 Ah, that's it! 23:47:39 Not just Evil Overlords, but Evil Overlords Ruining Just Another Nation. Or something like that, anyway. 23:48:05 Well, I for one welcome I supreme evil overlords. 23:48:40 Hello, International Of-Pancakes Experts! 23:51:53 -!- es0n00b has joined. 23:52:00 Hello, world! 23:53:07 Hello esotericnewbie 23:53:37 lol 23:53:53 Will any backwards-in-time travellers in the channel please write "Hello, world!" 23:54:23 (sorry, i just loves "Hello, world!" programs) 23:55:36 i'm currently wrestling with the idea of Church numerals. I blame slerah_ 23:55:53 es0n00b, look at my latest commit? 23:57:22 Sgeo> what you mean by "commit?" 23:57:29 !dlrow ,olleH 23:57:32 Huh? 23:57:37 Just look at http://trac2.assembla.com/psox/changeset/65/trunk 23:58:18 slereah__: hah, imposter! 23:58:30 Howdy ho slereah_. Hows your day? 23:58:37 you didn't write it _before_ my request like es0n00b did. 23:58:55 I think I got a cold or something. 23:59:10 oerjan: But I saw it before! 23:59:15 I think I'll work on the basics to make an Internet enabled BF program now 23:59:50 that's not time travel, just relativity. 2008-02-16: 00:00:11 It's not relativity. It's SCIENCE! 00:00:31 http://membres.lycos.fr/bewulf/Divers/LUR.jpg 00:00:33 SCIENCE! 00:01:57 !ECNEICS 00:02:00 Huh? 00:02:11 Shush robot. 00:05:14 (sorry - got a phone call. brb) 00:06:02 !daemon ecneics bf +[] 00:06:06 !ECNEICS 00:06:08 Huh? 00:06:18 Blah. 00:06:27 !daemon ECNEICS bf +[] 00:06:30 !ECNEICS 00:06:39 Yay. 00:07:23 !pf 00:07:26 Huh? 00:07:26 !ps 00:07:28 3 Sgeo: ps 00:07:36 !undaemon ecneics 00:07:38 Process 1 killed. 00:07:42 !undaemon ECNEICS 00:07:44 Process 2 killed. 00:08:14 !daemon cat bf +[,.[-]+] 00:08:20 !daemon message cat Hello, world! 00:08:23 !message 00:08:24 Hello, world! 00:08:27 Yay. 00:08:45 Now it'll never work again, of course. 00:09:03 ihope, eh? 00:09:05 !message 00:09:13 It didn't print it that time. 00:09:20 Now to write a BF program that can go online 00:09:36 (back again) 00:09:41 wb es0n00b 00:09:47 thx 00:10:06 what does Egobot do. BF interpreter?? 00:10:20 He does many things! 00:10:25 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)). 00:10:34 !daemon cat bf +[,.[-]+] 00:10:43 -!- EgoBot has joined. 00:10:54 !daemon message cat Hello, world! 00:10:57 Huh? 00:11:00 !unlambda `.xi 00:11:00 !message 00:11:03 x 00:11:22 * Sgeo wonders if EgoBot will ever be able to do PSOX stuff 00:11:23 !unlambda `.b`.u`.t`.ti 00:11:25 ttub 00:11:29 Oops 00:11:35 es0n00b: EgoBot got disconnected in the middle 00:11:51 !unlambda ``.b`.u`.t`.tdi 00:11:53 ttub 00:12:05 Well, I don't go well with eager evaluation. 00:12:11 !unlambda `.o`.l`.l.`e.`hi 00:12:15 llo 00:12:29 !unlambda ````.b.u.t.ti 00:12:31 butt 00:12:32 oops 00:12:35 !unlambda `.b`.u`.t`.t`di 00:12:37 ttub 00:12:42 Fuck this. 00:12:51 :-P 00:13:01 !unlambda `````.h.e.l.l.oi 00:13:03 hello 00:13:06 yaay!! 00:13:20 Ah yes. 00:13:20 i've go no idea how that works, but thats kind of cool 00:13:48 It evaluates the innermost first expression. 00:13:53 !unlambda `.d`.t`.c`.u`.b`````.o.f.s.a.ei 00:13:55 ofsaebuctd 00:13:56 does unlamba have anything to do with mu-recursion 00:14:16 Well, there's an isomorphism between the two. 00:14:16 What's mu-recursion? 00:14:20 the discussion last night this slereah_ has really got me thinking 00:14:20 Beyond that, not much 00:14:29 I suppose mu-recurvise functions. 00:14:46 !unlambda `.d`.e`.t`.a`.c`````.o.b.f.u.si 00:14:49 obfuscated 00:14:54 like, can you do math using unlambda 00:14:59 Though now it's not as obfuscated. 00:15:09 Yes indeed. 00:15:10 Unlambda's Turing-complete, all right. 00:15:26 cool 00:16:30 sleraeh_> that language we talked about last night, what was it called (where (^f.f)a=a)? 00:16:50 Lambda calculus? 00:16:53 Lambda calculus 00:17:00 "KHAAAAAAAAAAN!" 00:17:07 es0n00b: there is an easy encoding of lambda calculus into unlambda (apart from minor details of execution order) 00:17:11 Really, Star Trek 2 needed that lines. 00:17:14 ahh - thats right. im getting lamda, mu church numerals, all these ideas confused right now 00:17:18 It's otherwise not that awesome 00:17:21 Is KHAAAAAAAAAAN! the new jinx? 00:17:21 * Sgeo works on the first ever Internet enabled Brainfuck program 00:17:55 lambda calculus can only work on numbers right. or can it work on strings 00:17:59 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 00:18:09 ie: does lambda calculus have a "Hello, world!"? 00:18:15 Define strings as number. 00:18:20 es0n00b: lambda calculus per se has nothing to do with either numbers or strings 00:18:33 you just can encode anything in it 00:18:34 -!- helios24 has quit ("Leaving"). 00:18:39 Well, lambda calculus itself can't print anything. 00:18:42 -!- pikhq has joined. 00:18:47 But you can implement side effects and such 00:19:02 Side effects, ugh. :-) 00:19:05 thats what i thought. pass a string as a long hexdec number, process, then return a hexdec number, convert back to a string 00:19:18 That's roughly what Lazy K does. 00:19:23 ahhh 00:19:24 Yes, for instance. 00:19:26 cool 00:19:37 I'm cool with side effects though. 00:19:49 Is there actually a computable bijection between lambda calculus expressions and SKI calculus expressions mapping each expression to an equivalent one? 00:19:53 Lazy K can only do input -> output IIRC 00:20:10 ihope: Well, use abstraction reduction. 00:20:12 was trying to think how you could input a string, and output the string in reverse (ie "hello"->"olleh") 00:20:29 *elimination 00:20:58 ihope: well you have mappings in each direction, which may not be bijective 00:21:00 what is *elimination 00:21:14 oerjan: indeed. 00:21:31 Abstraction elimination. 00:21:43 but if you make them injective i think you can apply scröder-bernstein to fix it up 00:21:45 You eliminate variables. 00:21:46 Abstraction elimination does what?? 00:21:50 *schröder 00:22:00 It converts lambda expressions in SKI combinators. 00:22:12 -!- timotiis has quit ("leaving"). 00:22:27 cool 00:23:19 although you might need to be clever to make it computable. hm. 00:24:26 (or to prove that it already is.) 00:27:20 es0n00b: the more you address people by surrounding their nick in less-than/greater-than marks, the more people will think that you're quoting what they had said previously 00:27:53 You usually only need to type four keys for name quoting! 00:28:23 es0n00b: you may notice that I address you by appending a colon to your nickname, but what actually happens is i type es and press Tab 00:29:06 sorry - using web based client that doesnt have ways to do that 00:30:09 ok - wife wants me to start doing house work. still have a lot of questions (as usual), but I'll get back later (probably another 12 hours) 00:30:13 ciao for now 00:30:46 -!- es0n00b has quit ("JWIRC applet"). 00:41:47 -!- Corun has joined. 01:01:17 -!- ehird` has quit ("K-Lined by peer"). 01:40:36 -!- slereah__ has changed nick to slereah_. 01:40:37 -!- slereah_ has changed nick to Slereah. 02:07:11 -!- Corun has quit ("Alone?"). 02:43:43 Ok, why is my program not working? 02:46:05 what is it doing? 02:46:32 And what should it be doing? 02:46:47 and what language is it written in? 02:46:59 RodgerTheGreat, Brainfuck 02:47:35 it's doing brainfuck? Like a brainfuck interpreter? 02:47:38 And I'm trying to pull from input and send to output except for the null I'll receive 02:47:45 +[,[.>]<]> 02:48:23 lemme guess- it only prints the first character? 02:49:13 I think it's sending it correctly, but the program doesn't continue 02:49:15 er... hm. no- that looks like it'd be fine 02:49:17 or something 02:52:00 Maybe I'm not sending a 0x0A correctly 02:52:45 Is there any guarantee that the next cell is not 0? 02:57:21 hm? 03:00:31 What's with the next cell? 03:02:02 -!- olsner has joined. 03:02:07 Hi olsner 03:02:27 Sgeo: hello there 03:02:47 BRB 03:02:56 lol 03:04:11 -!- pikhq has quit ("New kernel. Wheee."). 03:10:28 Ok, almost there 03:14:49 Yay the first ever Internet-aware BF program! 03:17:22 .+++++++.>+.<+++.>-..<.,,,[-].+.-.++++++++++.>.<--.>.,+[,.]++.>[-]+++++++++++++++++.<++.>-------.>[-]+[[-].+..+++++++++.,,,.]++.-.-.++++++++++. 03:17:44 ^^that program is Internet-aware under PSOX 03:19:04 -!- pikhq has joined. 03:19:16 Hi pikhq 03:19:17 .+++++++.>+.<+++.>-..<.,,,[-].+.-.++++++++++.>.<--.>.,+[,.]++.>[-]+++++++++++++++++.<++.>-------.>[-]+[[-].+..+++++++++.,,,.]++.-.-.++++++++++. 03:24:38 Hey. 03:24:54 pikhq, if you want to try an Internet-aware BF application, get the latest PSOX from SVN and run: 03:25:03 python PSOX.py bf online.b 03:25:22 Then after the version information is printed, write something like: 03:25:26 http://example.com 03:25:29 and press Enter 03:25:46 Hmm. 03:26:19 http://trac2.assembla.com/psox/browser/trunk/impl/online.b 03:26:49 pikhq, going to try it? 03:26:55 Not ATM. 03:27:00 Tomorrow, absolutely. 03:27:21 Tonight, I'm just doing a hell of a lot of nothing. 03:29:38 -!- oerjan has quit ("Good night"). 03:30:10 RodgerTheGreat, going to try it? 03:56:59 In theory, a chat server can be made with a chat client written in BF 03:57:03 Anyone want to do it? 03:57:04 lol 04:02:22 -!- Sukoshi` has joined. 04:02:33 :-O 04:02:47 Hisashiburi, ne. 04:03:17 :) 04:03:55 Yo. 04:04:11 My question remains: where have you been the past several months? 04:04:43 I have a life to deal with. And when I part this channel, I'll have a life to go back to :P 04:04:53 Bah. 04:05:00 Life, shmife. 04:05:23 Who needs a life when there's PSOX and PEBBLE 2 to discuss? 04:05:24 :p 04:05:31 Heh. 04:06:11 Yay pikhq indicated e cared about PSOX! 04:06:23 * Sgeo has PSOX on hilight 04:06:35 Sgeo: Well, of course I care. I just don't have the time to do major development ATM. 04:06:55 AP Japanese takes a good chunk out of your schedule when you actually want to do well in the class. 04:07:11 The test looked really easy last time I checked. 04:07:17 Maybe I'll take it for the heck of it this year. 04:07:24 Sukoshi`: Keep in mind that I've barely studied for the past 3 years. 04:07:28 Heh. 04:07:36 And had a horrible, horrible teacher for 2 of them. 04:07:38 I've graduated to reading short novels routinely. 04:07:49 (a weeks worth of studying would cover those 2 years. 04:07:51 ) 04:07:55 So I've reached that self-sustaining level where I can read for fun to keep up my skills. 04:08:08 I'm quite jealous. 04:08:16 ATM, I'm just now learning the 3rd-grade kanji. . . 04:08:27 * Sgeo is not a linguistic person 04:08:39 Perhaps it's easy for you, but, frankly, I'm way behind where I should be. 04:08:49 How is your grammar? 04:09:05 *That*, I'm quite a bit better at. 04:09:18 Well, give me a definition of "better" :) 04:09:32 I'm assuming you can deal with just about any conjugation found in manga? 04:09:46 I believe so, yes. 04:10:10 (I'd really like to pick up keigo a bit, though. . . That looks interesting, moderately difficult, yet worthwhile) 04:10:14 Ah. I was going to give you a link to a grammar book, but you're past it then. 04:10:33 Keigo is a lot lot lot lot lot (repeat as necessary) easier than most people make it out to be. 04:10:47 Especially because your average Japanese writing uses a whole 20 Keigo verbs. 04:10:58 What's Keigo? 04:11:00 ... Which are all as regular as their non-Keigo forms. 04:11:07 -!- Sgeo has changed nick to Keigo. 04:11:16 Sgeo: Formal Japanese. 04:11:53 Heh. 04:12:03 Sukoshi`: Easy summary, at least. ;) 04:12:10 I know someone who's quite good at Japanese 04:12:15 Even Keigo nouns are not very difficult. Military terms are where I'm starting to stick. 04:12:42 Kanji are what's really screwing me up. 04:12:49 I've started picking up Russian now because Japanese doesen't need the same time from me anymore that I gave it. 04:13:04 My vocabulary is decent, although it'd be better if I did know a lot more kanji. . . 04:13:04 But I'm pretty sure I'll stop with the language acquisition after Russian. 04:13:12 Are you learning Kanji independently? 04:13:17 -!- bd_ has joined. 04:13:22 Hi bd) 04:13:25 -!- Keigo has changed nick to Sgeo. 04:13:27 HI bd_ 04:13:28 No; for class. 04:14:01 nihongo to kiite(ry 04:14:21 ? 04:14:51 Sgeo invited me in saying something about a discussion about japanese or something >.> 04:14:55 pikhq: I meant, independently from vocabulary. 04:15:09 日本語をĺ†ă‹ă‚Šăľă™ă‹ă€‚ 04:15:37 ă„ă„ăă€ăľăŁăźăŹĺ†ă‹ă‚Šăľă›ă‚“ă‚。 04:16:07 本当ă§ă™ă‹(笑 04:16:10 噂話ă¨ă‹ă‚’ă—ă¦ă‚‚ç§ăŻĺ…¨ç„¶ĺ†ă‹ă‚‰ăŞă„ă®ă§ă”安ĺżă‚’。 04:16:34 本当ă®ĺ®‰ĺżă§ă™ă­ă€‚ 04:16:47 ?? 04:17:02 Ah. 04:17:04 Yeah. 04:17:05 自ĺ†ă‚り日本語ă§č…•ăŚă‚る者ăŚă„ă‚Śă°ćłŁăŤăľă™ă‹ă‚‰ă€‚ 04:17:15 (笑 04:17:17 Sadly, my Unicode is not working ATM. 04:17:32 (I recently did a Gentoo reinstall, and have not gotten IME and such working again) 04:17:33 I see it, but speak not a shred of Japanese 04:18:44 Sukoshi`: ăŤă†ă‚Łă–ăă‚ăŞă„ă‹ă‚‰č‡Şĺ†ă‚り日本語ă«č…•ă®ă‚る者ăŚă„ă¦ă‚‚普通ă ă¨ć€ťă†ă‘ă©ă€‚ăťă‚Śă«ĺ…¨ç„¶ĺ†ă‹ă‚‰ăŞă„ă—。 04:19:16 普通ăă‚ăŞă„ďĽďĽć±— 04:19:35 ăťă‚Śă«ă—ă¦ă‚‚ă€ă“ă‚ŚăŚă¤ăľă‚‰ăŞă„話ă§ă™ă­ă€‚ 04:19:57 自己紹介ă—ăľă™ă€‚ç§ăŻă€ŚSukoshi」ă¨ă‚‚ă†ă—ăľă™ă€‚ 04:20:43 2年前ă«č‡Şçż’を始ăľă‚Šăľă—ă¦ă€ă“ă‚“ă‚話程度を習得ă—ăľă—ăźă€‚ 04:21:16 ă‚ă‚Ťă—ăŹă€ăŠéˇă„ă—ăľă™ă€‚ 04:22:11 ç§ăŻă€Śbd_」ă¨ç”łă—ăľă™ă€‚勉強ă—始ă‚ăźă®ăŻă»ă»ă»ăľă€ćś€ĺťăŻă‚ă‚“ăľă‚Šçśźéť˘ç›®ăă‚ăŞă‹ăŁăźă®ă§ă‚ăŹč¦šăă¦ă„ăľă›ă‚“ăŚă€ăźă¶ă‚“4年前ă ăŁăźă¨ć€ťă„ăľă™ă€‚ă‚ă‚Ťă—ăŹăŠéˇă„ă—ăľă™ 04:22:48 Esolangă®ă“ă¨ă§čĺ‘łăŚă‚ă‚‹ă§ă™ă®ă€‚ 04:23:31 ă‚“ă‚“ă»ă»ă»ăŞă„ă‚ă‚Šă‚ă‚‹ă¨ă„ă†ç¨‹ĺş¦ă§ă™ă­ďĽç¬‘ 04:23:32 * pikhq woul really love to be up to reading short novels. . . 04:23:48 ăľă‚ăľă‚。ďĽç¬‘ 04:23:49 For that, I plan on actually (gasp) studying Japanese after high school. 04:24:51 I transitioned from the manga/doujin level to the short novel level by immersing myself into a novel with notes. 04:24:59 What are bd_ and Sukoshi` discussing? 04:25:11 I copied the notes (which were vocabulary and grammatical notes), made some of my own, and basically got up to speed that way. 04:25:35 Sgeo: No idea; my terminal can't, ATM, display Japanese. 04:25:49 Sukoshi`: The problem being that I'm not at the manga/doujin level. 04:26:01 I just got a copy of ookami to kousinryou in today :) I'm not quite sure if I'm up to reading it yet (kanji orz) but it's about time I started weaning myself off furigana... 04:26:13 Kanji is a bitch. 04:26:20 日本語勉強方法ă®č©±éˇŚăŚă‚ă‚Šăľă™ă€‚ 04:26:39 確ă‹ă«ă‚ă‚Šăľă™ă­ďĽç¬‘ 04:26:39 Hm. I stopped relying on Furigana a while ago. 04:26:41 Can either of Sukoshi` or bd_ explain what you two are talking about, in ENGLISH please? 04:26:50 And what's furigana 04:26:53 Sukoshi`: well, I know how to do lookups... I just get lazy :) 04:27:06 Heh. I don't even do the lookups :P 04:27:11 lookups? 04:27:14 (Too time consuming for the most part, and interrupt casual readings.) 04:27:33 二年間ă§ă©ă‚“ă ă‘㇠04:27:58 though I know what you mean - sort of skip over and try to puzzle out what they meant? 04:28:03 Most of the time it is one word or two, and I can pick up the *general* meaning in context. 餌 was one word which I inferred slightly off from the actual meaning when I looked it up later. 04:28:07 Yeah. 04:28:24 * bd_ nods 04:28:31 depends on the material though 04:28:38 ă©ă‚“ă‚ă‹ăŞă€‚日本語ăŚćś€ć„›ăŞčŞžă‹ă‚‰ĺż…ć­»ă«ĺ‹‰ĺĽ·ă—ăľă—ăźăŞă€‚ 04:28:40 ookami to kousinryou has a lot of economics stuff later on I think 04:29:00 Am I going to get a response? 04:29:02 I've read some stuff heavy on machinery/military, which is tough. But I haven't done much with economics and politics yet. 04:29:16 Generally I tackle stuff like that electronically. 04:29:30 Sgeo: well uh, it's sort of a random/self-introduction conversation thing 04:29:37 Sgeo: Kanji lookups, because often-times Kanji have odd readings and act as certain words. 04:29:57 And the way to look them up is cumbersome, so. 04:30:17 I usually use pen input on a nintendo DS dictionary 04:30:22 and if that fails, multiradical in wwwjdic 04:30:33 Sukoshi`, people who speak fluent Japanese don't need to do these lookups? 04:30:47 Sgeo: probably sometimes, there are a *lot* of kanji :) 04:30:55 about 2000 is the level for /basic/ literacy 04:31:12 * Sgeo discovers a #japanese room 04:31:16 Heh. 04:31:19 and there are plenty more... 04:31:34 and then you have fun things like name readings (nanori) 04:31:47 My name readings are horrible. 04:31:52 I really need to catch up on those. 04:32:06 where any given set of name kanji has multiple readings, and any given spoken name has multiple possible kanji associated with it, and if you're not told what is what :| 04:32:15 My name readings are *nonexistent*. 04:33:12 Come on. Can't you read 中本 04:33:18 Or 中山 04:33:26 Or 田中 :P 04:33:31 No, but that's because my terminal can't display Unicode ATM. 04:33:39 I can't read question marks. :p 04:33:59 Nakamoto. 04:34:02 ?? 04:34:03 Nakayama. 04:34:04 Oh. 04:34:05 Tanaka. 04:34:06 pikhq, ?? 04:34:07 read that 04:34:08 lol 04:34:10 I can read those. 04:34:21 And write them. 04:34:27 * Sgeo is lost 04:34:30 Those would be the *easy* ones. ;) 04:35:38 "Konichiwa" is the extent of my knowledge of Japanese-anything, and I'm scared that even that might be wrong/idiotic 04:35:49 kon'nichiwa 04:35:54 Konnichiha. 04:35:55 Meh. 04:36:05 Or, however you romanize it. 04:36:30 I prefer not to. 04:37:08 I didn't for the first 6 months either. 04:37:34 Sukoshi`: For demonstration of how badly my first Japanese teacher sucked: he did not teach kana until 2nd year. 04:37:56 *Shudder* 04:38:30 Agreed. 04:38:37 I self-taught kana first year. 04:39:01 I'm aware that my school's Japanese program is one of the best, and I considered it haplessly slow. 04:39:23 While I never took it, I have become the lofty "Japanese expert" of the school. 04:40:21 The lofty 'Japanese expert' of my school is a Japanese citizen. 04:40:27 Heh. 04:40:54 Works out a bit better that way. ;) 04:40:59 * Sgeo was the lofty computer expert at his HS 04:41:00 I'll bet :) 04:41:03 I'm that too. 04:41:08 * Sgeo wants to be that lofty expert in college 04:41:10 That's my role. 04:41:19 And the lofty electricity/Physics expert. 04:41:20 In college, it sure as fuck won't be mine. 04:41:34 Not in a school with a damned good CS program. ;p 04:41:37 College is coming up soon, and I intend to be the best there, so :) 04:41:49 I'm lucky I have a day like today to catch my breath from the life stuff. 04:41:50 pikhq, what college? 04:41:54 Summer job at Tuft's, then college. 04:42:07 Sgeo: Missouri University of Science & Technology. 04:42:10 hm 04:42:16 How come you didn't apply to CMU? 04:42:22 Is SUNY Farmingdale considered to be good? 04:42:25 Sukoshi`: Hmm? 04:42:35 CMU? Carnegie Melon? 04:42:35 CMU == ??? 04:42:39 Ah. 04:42:46 * Sgeo pokes 04:42:57 Stanford and MIT are there too, but MIT is way up there. 04:43:07 If they chuck out your application with an 'F' on the transcript, then I'm screwed. 04:43:10 Is SUNY Farmingdale's stuff good? 04:43:24 (English == :() 04:43:51 Princeton is always nice if you're a science geek, and nice on the pocket book too. 04:44:04 Is anyone going to answer me? 04:44:06 And for the revolutionarily inclined there's Berkeley (or if you want to be an anarchist hobo and waste your life). 04:44:14 Sgeo: I've never heard of Farmingdale. 04:44:26 And if not, what's a good place in Long Island? 04:45:09 Rice isn't as good as CMU, but is there. As is Urbana Champaign. 04:45:21 $47,375 is light on the pocket book? 04:45:28 It was a joke :) 04:45:35 Princeton has one of the most hefty fees, IIRC. 04:45:48 Ah. 04:46:00 Berkeley is fairly light on the pocketbook, especially if you're a Californian resident. 04:46:01 I was about to say, 'how many millions are you worth?' 04:46:27 Which I'm not. 04:46:34 Well, it's still a lot lighter than others. 04:46:44 Fair 'nough. 04:46:52 Especially with the prestige/skill of their CS program. 04:46:57 Their EECS is godly, of course. 04:48:46 Hello? 04:48:47 Silence. 04:48:51 Ooh. 04:49:50 * pikhq will be dual-majoring in math and CS. . . 04:49:51 Wheee. 04:50:11 I'll probably be doing an EECS with some Law somewhere. 04:50:22 Gah. I wish the gain on my Loop Antenna wasn't so high sometimes. 04:51:02 Is SUNY Farmingdale a good CIS program or not? 04:51:09 Dunno. 04:51:13 I've never heard of Farmingdale. 04:51:23 Have you heard of MST? 04:51:39 Most Significant Txxx ? 04:52:00 Missouri University of Science and Technology. I'm guessing that's a 'No.' 04:52:17 A tad. 04:52:26 Oh. 04:52:29 Thoughts? 04:52:31 Haven't heard much though. And they tried to rabidly contact me, I think. 04:52:49 That's the big problem with them. . . 04:52:55 Along with Southern Methodist University, and that horribly annoying Fordham that would not quit. 04:53:03 They seem to overdo the contacting thing. 04:53:06 And a few others contacted me too. 04:53:09 I've gotten 5 applications from them. . . 04:53:16 4 I received after I was accepted. 04:53:38 Fordham extended their application for me 5 times, while filling out all my information, and waiving the application fee. 04:53:47 Wow. 04:53:56 Extended meaning extended the apply date. 04:54:04 Ugh. I don't want to go to Fordham. So, why. 04:54:09 Yeah. 04:54:21 I'm quite happy with MST. . . 04:54:31 Although I need to get *off* their contact list. XD 04:54:35 NYU waived the application fee too, I believe, but NYU is an arts campus. 04:54:51 I've had teachers suggest that I go to Tuft's. . . 04:55:02 Tuft's? Never heard 'o it. 04:55:30 A well-reputed liberal arts college, IIRC. 04:55:34 Ah. 04:55:41 Princeton is great in the arts, law, and sciences. 04:55:44 A great mix of 3. 04:55:55 Woodrow Wilson :3 04:56:35 Just imagine me at a liberal arts school. . . 04:56:42 Hah. 04:56:53 Granted, my long hair and beard would make me *look* like I belong. . . 04:57:07 I am the stereotypical female science nerd. 04:57:17 And I am bored by non-Law art, so. 04:57:18 But their CS department sucks horribly. 04:57:44 Heh. For win. 04:57:53 (MST's, on the other hand, is quite awesome, and has existed for 50 years, IIRC.) 04:57:57 NYU has a fairly good science program, but, it's known to be the MIT of Arts. 04:58:02 And I mean, eww. 04:58:06 Yeah. 04:58:50 Of course, if you don't like a school in the middle of nowhere, then MST is not for you. . . (why do schools of mines need to be in the middle of nowhere? :p) 04:59:05 Meh. Colorado School of Mines contacted me also. 04:59:17 MST > CSM. . . 04:59:26 Just remembering. 04:59:28 And CSM would actually be a sane choice for me. . . 04:59:33 Huh? 04:59:35 Why? 04:59:40 It's about half an hour away. :p 04:59:46 No, a bit more than that. . . 04:59:46 For me it was a quick chuck down the recycle bin. 05:00:06 But that's more of the low-level, 'If I don't get accepted anywhere else' thing. 05:00:09 Yeah. 05:00:16 My low level is OSU, because my dad went there. 05:00:26 (although it's quite amusing seeing my teachers' high level of regard for that school) 05:00:39 Washington didn't even have admission essays, meh. 05:01:03 Granted, it is the best school in the state. . . 05:01:04 OSU meaning Ohio State. 05:01:17 Ah. 05:02:11 I think Caltech or Princeton would be ideal for me, but both are OMG-HOLY-MACKEREL schools. 05:02:11 So. 05:02:37 That's where I put MIT at. . . 05:02:42 Caltech has a dash of Pol. Sci, and Princeton's law is of course excellent. 05:02:46 And I could *not* get into MIT. 05:02:58 I might get into Caltech or Princeton. 05:03:04 (they'd throw away my application after seeing my transcript, guaranteed.) 05:03:20 I actually got an interview from a school in that tier whose name I will not share for luck reasons. 05:03:25 So I'm in the running, I think. 05:03:51 Best of luck to you. 05:03:55 Thanks. 05:04:00 I didn't even bother to MIT. 05:04:18 Only if some guy got a shot of unintended Extasy (? the drug ?) would I get in. 05:04:37 Stanford was my ZETTAI-UNATTAINABLE. 05:05:25 So, what've you been up to pikhq ? 05:06:43 My life involved 7 months of studying for one exam, and now it involves running an anime convention committee, self-studying Linear Algebra/Multivariable Calculus, some light hacking, politics, and languages among other things. I'm also trying to get into some video games, but am realizing what 5 years of video game disuse does. 05:07:37 Studying Japanese, studying calculus, and some light hacking. 05:07:53 Ah. 05:07:53 And I forgot to mention a new-found devotion to the game of Nomic. 05:07:59 Haha! 05:08:08 Nomic, I started a game with some friends over that. 05:08:10 You familiar with it? 05:08:11 Ah. 05:08:31 I'm a player in Agora, which is the longest-running Nomic in existence. 05:09:14 Oh and also, I'm planning a Senior prank which involves infiltration of the school gradebook and school website. (Some local public school in the area chock full of high-income students got the title "academic powerhouse" after they attempted to crack the school website for finals answers. I resent that just because we have a low income, we are discriminated against.) 05:09:16 The 15th Agoran birthday is this June. 05:09:20 Oooooh. 05:09:29 bbl folks- gotta restart 05:09:39 The gradebook is already infiltrated. The website is in the works, and I'm in the process of doing some infiltration into the school network. 05:09:45 -!- RodgerTheGreat has quit. 05:09:51 Evil. ;p 05:10:01 Heh. 05:10:06 All in good fun, of course. 05:10:19 You going to become a regular again if/when your life settles down a bit more? 05:10:26 Doesen't help that they have completely publicized a Cisco router. 05:10:32 You're kidding. 05:10:36 Nope. 05:10:46 Of course, the gradebook is a private thing. 05:10:53 And they've got telnet access open to the world, I bet. 05:11:03 But some creative cracking and some insider information got me in there. 05:11:11 Nope. But they will have an nc backdoor soon :) 05:11:20 :) 05:11:22 Maybe I'll even run nc with telnet services :D 05:11:59 The Cisco router is publicized locally rather. Sorry. 05:12:24 Not an external publication. However, I'm thinking of proxying that out. This involves getting admin access to the machine which involves grabbing hashes. 05:12:38 I've already done the social engineering needed to grab the hashes. The rest is time and circumspection. 05:12:58 Sounds like a poorly planned network. 05:13:05 Of course. 05:13:13 My school's network would probably be trivial to shut down. . . 05:13:21 Well, a DNS is easy. 05:13:31 The damned thing has 10MB/s links all over the place. 05:13:32 But actual content manipulation takes some skill. 05:13:48 A DOS would probably leave them down for ages. 05:13:50 No public Wi-Fi anymore, so the limit is working with the bloody school mahines. 05:13:59 *DNS = DOS 05:14:07 Ah. 05:14:22 Ethernet ports are not hard to find. 05:14:32 They just kinda set the switches right next to the computers. . . 05:14:39 Well, the librarians are right there. 05:14:59 And I have no machine save this 8 year old desktop clunker with a 10-11 year old video card. 05:15:20 In the classrooms. . . 05:15:28 With teachers who don't pay attention. . . 05:15:38 Again, a laptop is needed. 05:16:27 True. 05:16:47 Of course, I know a computer lab with the computers mismanaged. . . 05:16:56 Insert Knoppix and go. 05:17:03 Plus school authorities/police prowl the outside. We're a low income school with the gang bit and all. 05:18:22 I'm happy to report, we've had only 1 fatality :) 05:18:54 ... 05:19:11 Heh. 05:19:21 I never knew the guy and I was a Freshman at the time, so. 05:20:47 The only fatalities at my school that I know of involved an apartment building burning down. . . 05:21:02 We had a school building burn down too, but that was before my time. 05:21:05 Sucks, but not quite gang warfare. 05:21:40 And since the school lies on the San Andreas fault-line (yay cheap land!) it got split in half during the '89 Earthquake. 05:22:35 Wow. 05:22:59 -!- RodgerTheGreat has joined. 05:23:04 Well other stuff have happened, but there's no point getting into it. It's just a consequence of being poor and living in a country ruled by free market hawkers. 05:23:07 howdy again folks 05:23:16 and holy crap Sukoshi` is back! 05:23:19 :D 05:24:19 Well, yeah, this country kinda sucks in that regard. 05:25:23 I agree with Guiliani. Let's get rid of all the taxes we can. 05:25:43 I mean, isn't what makes America great its independent spirit and non-government reliance? *rolls eyes* 05:26:31 I think I've missed important parts of this conversation 05:26:38 Heh. 05:28:14 Yeah, you have. 05:28:22 so, how's life been treating you, Sukoshi`? 05:28:30 In other news, I just got a first post on /. 05:28:53 Without trying. 05:29:47 Busily. 05:30:42 brief, but descriptive 05:30:52 Since today's the first day of vacation, I have some off time, even though I've been putting off some council stuff. 05:33:08 my last few months have been pretty busy, too- I've been making a lot of things. 05:33:33 I'm looking forward to this summer. . . 05:33:37 Ought to be less busy. 05:33:46 I am too. I get to also join a Diff. Eqs. class :) 05:33:55 Then I'll have all the math I need to start college with an EMW class. 05:34:04 At the very least, I won't end up getting homework from my system administration job. :p 05:34:21 Also I plan to fan-translate a Japanese novel. 05:35:15 I also have some $200 and am planning either to get a radio scanner or get into some Ham Radio. 05:35:32 nifty stuff. 05:35:52 I'll be up in Boston this summer. :) 05:35:55 Or I may get an old PS2 and try to get back into the video games thing which I'm faleing at now. 05:35:57 I finally finished that pokemon clone I was working on a while back: http://rodger.nonlogic.org/games/CRPG 05:36:12 I'm working on cleaning it up a little and putting together an SDK 05:36:15 And my first job will actually be relevant to my career. Imagine that. ;p 05:36:29 I intend to get some Japanese translation job. 05:36:35 Sysadminning is fairly boring to me. 05:36:54 Fair enough. 05:37:12 the phrase "internet janitor" comes to mind 05:37:30 Heh, yah. 05:38:13 look no further than pmhaddad, who now has no free time and is completely consumed by his $10-an-hour job. 05:38:27 Exactly my point. 05:38:27 Wonderful. 05:38:36 This summer, I'll be making more than pmhaddad. XD 05:38:36 'Course, in a summer job you won't be compromising between work and school, which is what's really retarded about his situation 05:38:58 The job will be $15-an-hour. 05:39:06 Whereas a translation job will probably be $12/hr, will consume not as much free time, and will be intellectually stimulating assuming you completely ignore the subject matter. 05:39:14 I mean, wow- IT. What a great use of a CS degree. 05:39:21 Yeah :D 05:39:25 I intend the translation job to go on while schooling. 05:39:42 sounds like a fun way of making some cash with a hobby 05:39:54 I'd say that $15-an-hour for your first job is not exactly a bad deal, though. 05:40:16 right now I'm working as a grader for "Object Oriented Design" at MTU, and I recently started doing undergrad research 05:40:19 Better than starting at $FASTFOOD at minimum wage. 05:40:38 pikhq: yeah, my first job was $5.15, minimum wage at the time 05:40:49 at least it wasn't burger flipping. :/ 05:40:52 RodgerTheGreat: That's still nation-wide minimum wage. 05:41:00 A few states set it higher. 05:41:02 California's minimum wage is a good bit higher, but. 05:41:12 Colorado's is more like $6.50 now. 05:41:24 And only has been for a year or so. . . 05:41:28 Michigan is $7.00, I think 05:41:29 Translation is a skilled job. At a bare JLPT 1 mastery, not very skilled, but skilled enough to be decent. 05:41:41 You're looking at ~$8.50 here. 05:41:44 I make $7.50 per hour grading, and $8.00 doing research 05:42:15 I'd like to hope research is a skilled job. :| 05:42:26 Heh. 05:43:07 I've also been doing some cooking. 05:43:20 Just in case my life ends in a horrible climax and I become a housewife (joke). 05:44:21 Time to fidget with my too-high-gain loop antenna and hope to get a clear signal for the public TV station. 05:44:36 I've been doing more comic art related stuff. Check out a short story I made a few weeks ago: http://rodger.nonlogic.org/images/Good/ 05:44:37 Bah; TV. 05:44:40 Who has the time? 05:44:59 I occasionally have enough time to get good political/economic coverage from it. 05:45:00 That time can be better spent reading. 05:45:24 And of course, the history specials on PBS are always fun. 05:45:43 And then there's local news, which I eat dinner to... 05:45:45 Granted. 05:46:01 Mythbusters is still pretty awesome, when I get a chance to catch an episode 05:46:03 If I'm fidgeting with an antenna, what sort of TV do you expect me to get? :D 05:46:05 I actually read when I eat. XD 05:46:20 A homemade loop for me. 05:46:46 In the morning it's almost crystal clear, at night it's not as nice, but still clearer than a dipole ... if you can handle the high gain. 06:02:17 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 06:28:09 Sukoshi`: so, did you take a look at "define your good"? 06:29:44 Hrm? 06:29:56 http://rodger.nonlogic.org/images/Good/ <- this 06:44:05 -!- es0n00b has joined. 06:44:44 !help 06:44:49 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 06:44:51 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 07:02:32 !glass {M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?"{M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?""14?24?14?24?24?04?24?04?]}"14?24?14?24?24?04?24?04?]} 07:02:35 {M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?"{M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?""14?24?14?24?24?04?24?04?]}"14?24?14?24?24?04?24?04?]} 07:03:02 !glass {M[m(_o)O!"Hello World!"(_o)o.?]} 07:03:05 Hello World! 07:07:35 !linguini 1[0=72,0$,0+29,0$,0+7,0$,0$,0+3,0$,1=32,1$,0-24,0$,0+24,0$,0+3,0$,0-6,0$,0-8,0$,1+1,1$,1-23,1$]0 07:07:39 Huh? 07:08:00 !linguine 1[0=72,0$,0+29,0$,0+7,0$,0$,0+3,0$,1=32,1$,0-24,0$,0+24,0$,0+3,0$,0-6,0$,0-8,0$,1+1,1$,1-23,1$]0 07:08:05 Hello World! 07:08:53 !help 07:08:57 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 07:08:59 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 07:28:31 -!- es0n00b has quit (Read error: 104 (Connection reset by peer)). 07:58:26 good night everyone 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:13:28 -!- timotiis has joined. 10:18:26 -!- sebbu has quit (Read error: 60 (Operation timed out)). 10:29:20 Sukoshi`: weebees to you, milady 10:31:22 -!- sebbu has joined. 10:35:36 -!- es0n00b has joined. 10:41:11 -!- timotiis has quit (Remote closed the connection). 10:43:30 Indeed :) 10:43:34 But I must part, alas. 10:43:49 -!- Sukoshi` has left (?). 10:53:58 -!- timotiis has joined. 11:43:36 -!- jix has joined. 11:51:11 -!- helios24 has joined. 12:37:48 -!- helios24 has quit ("Leaving"). 12:56:33 -!- helios24 has joined. 13:17:02 -!- helios24 has quit ("Leaving"). 13:35:56 -!- helios24 has joined. 13:47:52 -!- oerjan has joined. 13:51:55 -!- RedDak has joined. 13:56:04 -!- helios24 has quit ("Leaving"). 14:06:02 -!- ihope has quit ("ChatZilla 0.9.80 [Firefox 2.0.0.12/2008020121]"). 14:07:14 -!- RedDak has quit (Remote closed the connection). 14:38:56 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 14:39:00 -!- puzzlet has joined. 14:39:33 -!- helios24 has joined. 15:42:09 -!- oerjan has quit ("Lost terminal"). 16:17:45 * Slereah has "American mathematical society translations : series 2, volume 29" :D 16:18:12 "On the definition of an algorithm", by A.N. Kolmogorov and V.A. Uspenskii 16:28:10 -!- es0n00b has quit (Read error: 131 (Connection reset by peer)). 16:52:01 -!- otesanek has joined. 16:55:15 -!- otesanek has left (?). 17:00:08 -!- puzzlet has quit (Remote closed the connection). 17:00:12 -!- puzzlet has joined. 17:24:33 -!- otesanek has joined. 17:53:24 -!- otesanek has quit (Read error: 104 (Connection reset by peer)). 18:12:04 Heh. 18:13:16 pikhq: read the current discussion in ##Nonlogic. 18:26:04 -!- timotiis_ has joined. 18:26:19 -!- calamari has joined. 18:38:13 -!- timotiis has quit (Read error: 110 (Connection timed out)). 18:47:44 -!- ehird` has joined. 18:48:14 pikhq: ping 18:49:12 Pnog. 18:49:42 clearly, we're using UDP here 18:51:12 Of course. 18:51:17 UDP over IRC. 18:52:51 faster and lighter weight, but some transcription errors and packet loss 18:53:53 -!- puzzlet has quit (Remote closed the connection). 18:54:02 -!- puzzlet has joined. 19:01:49 RodgerTheGreaWE)(UÂŁ$I!!¬+_PACKET ERROR 19:02:08 kekeke 19:03:10 pikhq: http://pastebin.ca/905230 what i wish tcl looked like 19:03:19 as an addition to that: 19:03:36 fn K {x} {fn {y} {return $x}} <-- would work 19:03:45 why can be seen trivially if you take a look 19:04:03 hmm 19:04:05 s/return/ret 19:04:06 and also 19:04:12 some of the examples are stupid 19:04:15 {ret [x]} -> {x} 19:04:22 Fuck the 'call' part. 19:04:39 [fn {x {+ $x 1}}] 2 19:04:50 http://pastebin.ca/906473 update 19:05:07 pikhq: Well, everything's a string, so wouldn't that make it try and call the command of some weird string? 19:05:13 And wouldn't that require special handling of some stuff? 19:05:19 The return value of fn. 19:05:27 hm, good point 19:05:41 'fn' could return the {{args} ...} syntax when used as a string, 19:05:47 but as a function -- .. 19:05:49 If you have first-class functions in Tcl, then functions would need to have a string representation. 19:06:04 pikhq: i just said -- they do 19:06:07 {{args} ...} 19:06:09 Mmkay. 19:06:11 that doesn't account for lexical scope, though. 19:06:24 but anyway 19:06:26 it's not that hard. 19:06:27 Why should it? Variables have scope, not values. ;) 19:06:35 http://pastebin.ca/906475 <-- doubly-updated 19:06:54 pikhq: because the idea is that the cacheing of otherly-typed values is just an interpreter feature, no? 19:06:58 anyway 19:07:09 http://pastebin.ca/906475 NEEDS to be interpreted -- and fat ;) 19:07:11 err. 19:07:14 fast. 19:07:36 Which is how Tcl rolls. ;p 19:07:42 especially the shell style $num... for one thing, it means that the toplevel can have then as program arguments, fitting in well.. and as another, short functions generally can make use of them well 19:08:04 I don't much like the $0 and such, though. 19:08:18 But that's not a huge deal. . . 19:08:27 The revolutionary bit is the first-class functions. ;) 19:08:41 pikhq: uhh 19:08:43 see what i just said 19:08:43 :D 19:08:52 1. it fits in with trivial CLI arg handling 19:08:56 2. it's very useful for short functions 19:09:00 compare: 19:09:01 fn dbl {+ $0 $0} 19:09:07 fn dbl {x} {+ $x $x} 19:09:29 We already have trivial CLI arg handling. List of args. Big woop. 19:09:36 can you really argue the second is clearer in intent, if you know the $num syntax -- which can be explained in one sentence: "$n is the function's argument n." 19:09:42 pikhq: Stil, it's clearner. 19:09:44 *cleaner 19:09:51 It lets you imagine prog = function, basically. 19:10:02 Which, since shells follow that model, especially with user defined functions, is a correct one. 19:10:15 It's just 'another reason' for the sugar, with the other being as above 19:11:02 Every Tcl script is, in that since, just a function that takes args. 19:11:13 (args is how Tcl does variadic functions) 19:11:37 pikhq: Cute, cute. 19:11:53 But you see my point, surely? 19:11:53 Expanding dbl into triple: 19:11:53 fn dbl {+ $0 $0 $0} 19:11:53 err 19:11:53 fn triple {+ $0 $0 $0} 19:11:55 fn triple {x} {+ $x $x $x} 19:11:57 Spelling out: 19:12:29 'Function triple, add first, first, first.' 19:12:29 'Function triple, taking x, add x, x, x.' 19:12:29 The first is clearer. 19:12:29 For simple cases. 19:13:15 Fair 'nough. 19:13:38 Don't much like it, but even then, that's a simple change to Tcl, and if I don't like it, I don't have to use it. 19:13:58 pikhq: Now I come up with the idea "hey, an implementation couldn't be too hard! i mean, there's a simple Tcl in 500 lines..." and nothing ever actually happens. 19:14:40 Implement your ideas, submit it as a TIP for Tcl 9. 19:15:03 pikhq: But that's no fun 19:15:09 It's far more fun to write a new and revolutionary interpreter. 19:15:13 :( 19:15:30 Hey, I could make Tk not ugly as all hell by default! Maybe even use native widgets on Win32&OS X. :P 19:16:49 It does. 19:16:53 pikhq: Not on OS X. 19:16:58 Sorry, I know this for a fact :P 19:17:01 It does last time I tried it. 19:17:03 In 2003. 19:17:11 It looks like it does. 19:17:18 But the text widgets, for example, are most certainly not native 19:17:29 I know for *sure* that they did that in Tcl 8.5. 19:17:48 well, they did it suckily 19:17:50 :D 19:18:06 What's needed is native widgets for X11 archs. 19:18:28 pikhq: Define 'native'. 19:18:40 Qt and GTK+, in addition to the current implementation. 19:18:42 Gtk? Some people use KDE. They want Qt. Oh, some people don't like either -- they want Motif, for chrissakes! 19:18:56 pikhq: I think something that looks passably good would be ok. 19:18:58 Tk right now imitates Motif. 19:19:04 As long as it's stylable you should be alright. 19:19:12 though. 19:19:17 If i'm going to write my own implementation, 19:19:22 Well, if *that's* all you care about, Tcl 8.5 made Tk stylable. 19:19:24 I'll probably use wxWidgets as the backend. 19:19:35 wx is pretty good on all platforms. 19:19:51 Well, with OS X you have to do a few little tweaks to make its pinstripes slightly less fugly than they are by default.. 19:19:53 But it's mostly good. 19:20:11 pikhq: Qt would be terrible. 19:20:17 Why? 19:20:29 It would mean nobody could develop a Tk app using the Qt backend commercially without paying Trolltech crazy amounts of money. 19:20:43 True 'nough. 19:20:52 But the only person that would complain would be Larry McVoy. 19:21:01 pikhq: I would sure complain. 19:21:05 It's the reason I don't use Qt. :( 19:21:13 Which is a shame -- Qt as an actual toolkit is *superb* 19:21:15 For your free software? 19:21:33 pikhq: Correct. 19:21:39 Same reason I don't use readline.. 19:21:44 (keep in mind that you *can* sell free software. . .) 19:22:01 Out of immense curiosity, what crack are you smoking? :p 19:22:10 pikhq: libedit crack. 19:22:17 (If they want a GPL-alike, the LGPL is there for a REASON) 19:22:56 readline is GPL at the behest of RMS. 19:23:11 (the idea being to only reward free software with a library which, at the time, was unique) 19:23:29 pikhq: Yes, well RMS is crazy anyway. 19:23:49 Then why do you use his licenses? 19:24:06 I don't. 19:24:19 Your CTCP version begs to differ. 19:24:34 pikhq: Sure, I only use X-Chat when I'm on Linux.. 19:24:42 In fact, you are right now benefitting from 20 years of his work. 19:24:58 let's just forget about all the other people who did more work while he sat around yelilng 19:25:03 more convenient. 19:25:28 haha- jesus christ: http://pouet.net/prod.php?which=4766 19:25:33 Fair enough. 19:25:43 it is unfortunate that a lot of software is GPL, indeed, but if the software itself is good I am willing to use it. 19:25:43 I hope you won't mind uninstalling glibc? 19:26:01 However, libraries under the GPL without a linking exception (glibc has one of these, so stfu) are unacceptable. 19:26:08 Or everything else written by the GNU project? 19:26:21 pikhq: You do know that the GNU project != RMS? 19:26:30 He's head of it. 19:26:30 I venture RMS's code makes a *very small part* of glibc today. 19:26:43 True enough; it's currently maintained by Red Hat. 19:27:06 Of course, if you like *Emacs*, you're going to be using his code fairly constantly. 19:27:11 (he is the Emacs maintainer) 19:27:23 exactly, he's head of it but does very little actual coding... (In case you accuse me of copying esr: he's even more of an idiot, and should take his own advice. And hopefully blow his own foot off... he does use C, there is a chance...) 19:27:40 pikhq: I like Emacs because I code Haskell and haskell-mode.el is the only real solution. 19:27:57 That's.. pretty much it. Also, because i have used it for a while I have some of the keycombos in muscle memory. 19:28:26 -- and rms sure didn't write haskell-mode 19:28:27 So, you're willing to call the man fucking crazy, yet benefit from his labors. 19:28:58 Nope. He just wrote the language haskell-mode is in. 19:29:38 pikhq: elisp is pretty shitty. 19:29:42 And sure, I am. 19:29:49 I'm sure he's crying of the hurt. 19:30:08 True. He *did* write it with the assumption that it would be running on systems too small to handle a full, decent lisp. 19:30:09 Anyway, it's just a matter of me not having written good haskell support for a decently licensed editor, yet. 19:30:20 pikhq: Because lexical scoping would kill them, with fire. 19:30:33 (it was designed with things like the 386 in mind) 19:30:56 Actually, less than the 386. . . 19:31:01 '83. XD 19:33:34 im pretty sure the 386 could handle a lexically scoped lisp 19:33:34 i'm pretty sure something even simpler could too 19:33:42 i realised that 19:33:42 -!- Sgeo has joined. 19:33:44 doesn't help your argument much. 19:33:48 anyway. 19:33:50 Scheme was out in the 70s 19:33:52 lisps before that had lexscoping, of course.. 19:33:54 it is not a problem 19:34:45 pikhq: Heck, LISP 1.5 had it. 19:34:56 Apparently FUNARG is complex and scary and could never work on any machine ever. 19:35:12 Hi, anyone going to touch the Internet-aware BF program? 19:35:24 Sgeo: Not without a 10-foot pole 19:35:56 \x00\x02\x03\x03pole\n 19:36:13 \x00\x03\x00\n\n 19:36:15 That is not 10 feet 19:36:19 There you go 19:36:29 !bf_textgen pole 19:36:32 Huh? 19:36:50 Hmm 19:37:01 Brainfuck with balanced <>s is concatenative 19:37:02 Interesting 19:37:12 "concatenative"? 19:38:34 Sgeo: ... Go read up on programming languages will you? ... 19:38:41 I'm scared of what PSOX will look like otherwise :P 19:38:49 "will look like"? 19:40:24 The core PSOX spec is basically complete 19:41:46 Yeah exactly. 19:42:04 knowing what concatenativity is isn't really that crucial 19:43:48 Also, PSOX isn't a programming language 19:47:53 Sgeo: it is 19:47:56 it's just not turing complete 19:47:58 unless it is 19:48:09 in which case it is still a programmin language 19:48:29 How is it a programming language? 19:49:20 because there is an interpreter for it 19:49:29 and it performs actions like user input, output, etc 19:49:34 oklopol: agreed? 19:56:27 i think it's a matter of opinion 19:57:15 ummm.. actually, i don't think it is a programming language 19:57:24 *can be called a 19:57:52 oklopol: msot everything is a programming language 19:57:54 just trivial ones 19:58:10 who wants to help me write a program that will do something intuitive when given http://pastebin.ca/906475? pikhq? :P 20:06:37 evidently, not pikhq 20:08:25 pikhq is dead in fact 20:08:57 unfortunate 20:09:20 pikhq, pleasewakeupnow 20:09:32 [pikhq] idle 00:38:25, signon: Fri Feb 15 22:18:56 20:09:56 RodgerTheGreat, ehird`, are you going to examine the Internet-enabled BF program? 20:10:03 no 20:11:05 RodgerTheGreat? 20:11:16 uhh 20:11:30 I'm a little busy mummifying apples at the moment 20:15:26 pikhq: qhkip 20:15:42 -!- Tritonio_ has quit (Remote closed the connection). 20:18:46 pikhq: pikhq 20:19:49 -!- Tritonio_ has joined. 20:21:47 pikhq: pikhq: pikhq: ... eh. > cycle "pikhq: " 20:26:51 Heh. 20:27:46 ehird`: PSOX isn't a programming language, it's an API. 20:28:00 pikhq: It is basically a language though. 20:28:08 pikhq: ANYWAY HELP ME WRITE INTERPRETER FOR AWESOMETHINGTHATLOOKSKINDOFLIKETCL 20:28:11 :( 20:28:39 Ask in #tcl. 20:28:54 The Tcl maintainers may be more helpful than I am. 20:29:25 Bah. Tcl maintainers. A newwww interpreter must exist! 20:29:27 pikhq, are you going to examine/play with that BF program? 20:29:54 Sgeo: Me need shower and cleaning. 20:29:58 But yes, later today. 20:31:57 pikhq: :( 20:47:00 Sgeo: So, online.b. . . 20:47:16 pikhq, yes 20:47:24 Is it basically netcat? 20:47:43 Um, you're assuming I know what netcat is 20:47:46 I guess 20:47:59 And if so, how do you specify the port it's on? 20:48:15 Well, not netcat 20:48:30 Fine. What port does it connect on? 20:48:32 You put in a URL and it will print out whatever's at that URL 20:48:59 Oh. . .] 20:49:08 So. . . 20:49:45 It's wget. 20:49:46 Clever. 20:50:25 Well, wget saves to disk, this just sends to stdout 20:50:33 Trying it yourself? 20:50:37 Yeah. 20:51:19 Might I suggest sometime doing a bit of a more raw TCP interface? 20:51:40 That could be a custom domain 20:52:05 I think it should be builtin. 20:52:18 Just like db_fileio. 20:52:46 Perhaps a "networking" domain? 20:52:51 Hm 20:53:08 I think the other domains need to be worked on first 20:53:22 Also, maybe I should limit the http domain to URLs beginning with http:// 21:00:57 So, HTTP::get will create a new fd. . . 21:01:04 What number would that be assigned? 21:01:44 The lowest available FD number 21:01:57 That's always what new FDs are assigned 21:02:06 FDs 0, 1, 2, and 3 are already taken 21:03:44 -!- helios24 has quit ("Leaving"). 21:04:07 0 is the current outfile FD, 1 is the current infile FD, 2 is stdout, 3 is stdin 21:06:48 pikhq, make sense? 21:07:21 Yeah. 21:10:49 -!- oerjan has joined. 21:11:07 Hi oerjan 21:12:34 -!- ihope has joined. 21:14:01 It would be interesting to try to build a neurode out of electronic things. 21:16:25 hi Sgeo, ihope 21:17:57 Ello. 21:20:49 You might have a ground input, a voltage input, some input inputs, an output, and a feedback thingy. 21:21:33 The feedback would be at the same voltage as the output, but putting current in and out of it would change what the output's "supposed to be". 21:31:38 Hoorah. 21:31:55 I've got myself a much fancier wget script. 21:32:07 It pulls from the command line and won't break on outputting null. 21:35:03 http://pikhq.nonlogic.org/wget.b 21:36:12 BTW, a suggested change for PSOX.py. . . 21:36:27 Make it start with #!/usr/bin/python, and chmod +x. 21:36:40 Then, it's just ./PSOX.py egobfi8 foo.b 21:36:59 And that would let me install PSOX somewhere, and have my code start with a shebang. . . 21:37:02 And magically work. 21:43:38 Not /usr/bin/env python? 21:43:49 Sgeo: thoughts on my very first PSOX script? 21:43:53 ihope: Ah; right. 21:44:04 Or `which python`. :-P 21:48:17 oh 21:48:19 sorry hi 21:48:42 I was afk 21:50:19 Next up: the Brainfuck Audio suite. 21:50:52 pikhq, cool 21:50:52 Actually, it'd be really nice if the command line handling was nicer than just -c "foo". . . 21:51:18 * Sgeo downloaded and tried the wget.b 21:51:19 So I could do ./PSOX.py egobfi8 bfaudio.b -i raw_audio -o foo.bf 21:51:22 coolness pikhq 21:51:47 pikhq, not sure how that would work 21:51:54 -!- helios24 has joined. 21:52:50 Hi helios24 21:53:09 For some reason though, the first time I tried wget.b, it didn't work 21:53:30 wget.b is the first PSOX program made by someone other than me :D 21:53:39 hi 21:55:12 Did you neglect to give it -c? 21:55:32 I don't think so 21:55:33 no 21:55:34 who made wget.b 21:55:38 ehird`, pikhq did 21:55:46 no he didn't 21:55:51 he questioned about it before 21:55:54 http://pikhq.nonlogic.org/wget.b 21:56:00 online.b is what Sgeo made. 21:56:02 wget.b is mine. 21:56:17 I rewrote it to be better. 21:56:41 It takes the file to get from the command line, and its output routine works with NULLs. 21:56:45 psox is soooo pointless and ugly 21:56:52 brainfuck has been DONE TO DEATH alread 21:56:53 y 21:57:02 hmm 21:57:04 ehird`, PSOX works with more than just BF 21:57:28 PSOX works with anything that does I/O. 21:57:37 You could, technically, do Malbolge with it. 21:57:57 You could *trivially* do shell with it. . . Or C. . . 21:58:11 Which remind me: I need to get my C-using PSOX library written this weekend. :p 21:58:40 Sgeo: nice argument too bad you always say 'Oh it's designed for BF!' 21:58:51 and it'll be crap with anything else 21:59:06 It's designed for most any esolang. 21:59:20 Although the math domain won't be as useful in some, like Glass. 22:00:31 pikhq: Wrong! Sgeo has claimed many times that he only thinks of BF. 22:00:37 Besides, there's no POINT for something like this... 22:00:45 Esolangs aren't any better because they can make a webserver. 22:01:19 ehird`, I mostly think about BF, but that doesn't mean it's exclusively for BF 22:02:01 ehird`, is there a point for any esolang? 22:02:34 * Sgeo wonders if maybe ehird` is bitter about the lack of TDATA (the "ANY" type) 22:03:41 Sgeo: that's most likely it :D 22:04:24 TDATA was basically ehird`'s idea, and I liked it until it proved to be incompatible with decision to make PSOX types regex-based 22:04:53 *with the decision 22:05:58 all i know is candy is the sine of a crayon 22:06:21 ehird` pinged out in Sine 22:06:35 (Sine is a network we're both on. I brought him over, actually) 22:07:02 i know 22:07:21 You know about Sine? 22:07:26 ofc. 22:07:35 msg me the server and port 22:07:53 i don't know that. 22:07:56 ok 22:08:14 i know everything about it i've heard in here. 22:08:32 that was a weird sentence, but it's most definitely true 22:11:57 -!- ehird`_ has joined. 22:12:11 g 22:12:30 -!- ehird` has quit (Read error: 113 (No route to host)). 22:13:05 But seriously, though: TCP domain. 22:13:32 0x00 TCP CONNECT address port \n 22:13:58 And 0x00 TCP LISTEN port \n 22:14:55 Crap. 22:15:25 crap -> 22:16:02 brb 22:22:51 pikhq: :( 22:23:15 ehird`_: What? 22:23:47 -!- faxathisia has joined. 22:24:14 pikhq: You won't help me write awesometclthing 22:24:16 :P 22:24:32 personally, implementing continuations would scare me 22:24:33 :D 22:27:03 pikhq: btw - i really like tcl's lists 22:27:09 "a b c" is a list of a, b, c right? 22:27:11 if so: 22:27:15 does "a {b c} d" work? 22:27:15 as nested 22:27:37 Yes. 22:27:53 Equivalent to [list a [list b c] d] 22:28:26 pikhq: The "list ..." translates into the string not the other way around 22:28:27 Right? 22:29:55 Right. 22:31:07 pikhq: Linked list, or array? 22:32:10 I don't know, actually. 22:32:40 Since I don't know of Tcl doing some of the fancier things a linked list lets you do, it could well be just an array. 22:33:06 OK. 22:33:15 pikhq: Now help me implement awesomeclosureandlovetcl! :( 22:35:35 :P 22:38:27 Random tcl wiki person: "Also - it somehow strikes me again and again this whole concept is about reintroducing the evil goto statement, but kind of neat and nifty so noone would recognise. But this could be because I still might haven't grokked it yet..." 22:38:33 'evil goto' is in bold. 22:38:39 (on continuations) 22:39:46 Continuations are not like goto. 22:40:14 Although one could argue that the infamous long_jmp is *like* a continuation. . . 22:41:11 What's a long_jmp? 22:42:13 C's continuation-like thing. 22:42:43 Lets you jump across functions. 22:43:31 pikhq: setjmp jusrt saves stack length 22:43:47 if the stack goes down beyond setjmp --- nuh uh 22:44:11 ehird`_: It's not *perfectly* like continuations. . . 22:44:28 Among other things, it's a hell of a lot rougher and less, well, formal. 22:44:38 'Lets just dick with the stack a bit. Yay!' 22:47:26 pikhq: setjmp is equivalent to exceptions 22:47:37 and exceptions are as related to continuations as to goto 22:48:11 pikhq: btw -- i just realised that if we add closures etc to tcl, refcounting is not enough 22:48:15 i suggest: 22:48:21 refcount + infrequently run gc 22:50:08 -!- helios24 has quit ("Leaving"). 22:52:22 pikhq: agreed? 22:52:55 Agreed. 22:54:57 pikhq: And also, anonymous 'fn's shouldn't return a random name (Jim does this) -- they should have no name 22:54:58 Also agreed? 22:55:12 Well, of course. 22:56:08 pikhq: And the first thing written should be the parser. Agreed x50? :P 22:56:44 ehird`_, is that a jab at me? 22:56:52 Sgeo: Huh? 22:57:18 At me writing PSOX specs first instead of immediately working on the interpreter 22:57:27 And, the only thing the parser should do is the obvious token seperation, and making sure ", {, [ are balanced. Then, {...} should be converted to "...". 22:57:32 Finally, it's seperated like this: 22:57:40 foo {bar $xyz[abc]}"def" -> 22:57:45 ehird`_: Well, of course. 22:57:53 foo, "bar $xyz[abc]", "def" 22:57:54 Tcl is fairly trivial to parse. ;) 22:57:57 even this: 22:58:01 foo {bar $xyz[abc]{def}}"def" -> 22:58:04 foo, "bar $xyz[abc]{def}", "def" 22:58:12 In Tcl proper, that's a syntax error. 22:58:18 pikhq: hmm, which part 22:58:29 {foo}"bar" 22:58:32 ah 22:58:42 pikhq: i'm insure what that should be: 22:58:43 1. error 22:58:45 2. "foobar" 22:58:48 3. "foo" "bar" 22:58:57 2. is shell, 3. is proglang, 1. is tcl :) 22:59:35 -!- Corun has joined. 23:00:21 -!- timotiis_ has changed nick to timotiis. 23:00:34 pikhq: Thoughts? 23:01:00 Hi Corun 23:02:08 None, apparently. pikhq is a zombie. 23:02:09 :P 23:02:09 Yo 23:02:55 None. 23:03:11 Hence why he's a zombie. 23:03:11 pikhq: So -- no preference? 23:04:52 pikhq: Guess not. :P 23:09:04 :( 23:11:19 faxathisia: missing = after otherwise 23:11:34 * oerjan throws a dagger after Mr. Wong 23:12:01 oerjan: I know... 23:12:37 pikhq: pikhping 23:12:50 'Lo. 23:17:49 pikhq: Now you are forced to name the interp. :P 23:19:55 -!- calamari has quit ("Leaving"). 23:22:21 pikhq: You run away! :P 23:24:47 pikhq: :( 23:26:05 pikhq: pikhq pikhq pikhq pikhq :D 23:29:57 pikhq 23:31:02 -!- volimo has joined. 23:33:49 ! 23:33:49 pikhq, ping 23:33:52 Huh? 23:33:54 Sgeo: i think he's dead 23:35:09 http://swtch.com/42bsd-finger.c.txt can this really be what inspired the IOCCC? I mean, it's not NICE code, loads of magic constants and stuff, but ... 23:35:21 impossible. he is not saying "BRAINS. BRAINS." 23:36:46 i thought the IOCCC was inspired by cpp definitions making C look like ALGOL or something 23:37:30 * Sgeo sort of has a question regarding the future of PSOX 23:38:24 ehird`_, maybe you can help? >.> 23:38:31 oerjan: thats one of the inspirations 23:38:33 Should I make the math functions just accept LNUMs? 23:38:35 from Bourne sh 23:38:41 Sgeo: You should drop PSOX. 23:38:46 (morale: don't ask my opinion) 23:39:01 ehird`_, you did have an influence on PSOX 23:39:11 Like what? 23:39:13 oh. "Larry had been trying to fix a bug in the classic Bourne shell (C code #defined to death to sort of look like Algol) and I had been working on the finger program from early BSD (a bug ridden finger implementation to be sure)." 23:39:22 LBYTES are called LBYTES not LSTRING 23:39:38 Same with FBYTES 23:39:45 Sgeo: Blargh. 23:39:51 hi pikhq 23:39:51 LNUMs are just too complex for some cases. 23:40:16 pikhq, you mean single bytes? 23:40:20 Sgeo: Do you have proper unistrings yet?.. 23:40:24 Yeah. 23:40:33 Specifically, UTF-8. 23:40:47 Then, you can just replace all L/FBYTES with L/FSTRING, if you just hardcode english text in bf 23:40:54 i.e. backwards compatible 23:40:59 and still use L/FBYTES for, well, bytes 23:41:19 pikhq, as far as I can tell, using LNUMs in that case would just be a bit of overhead 23:41:39 pikhq: Any ideas for a name? 23:41:41 It's either that, or make a function that switches the type that functions accept (difficult), or make repetitive functions (ugly) 23:42:01 Sgeo: Repetitive functions would not be that ugly as far as I'm concerned. 23:42:27 And do you think I need a VARG(LNUM) version of each math function? 23:43:16 (well, not subtraction or division obviously) 23:43:56 nobody? :( 23:44:03 Sgeo: 'difficult'? Hardly 23:44:19 Sgeo: Subtraction or division not varity? Why not? 23:44:33 #;1> (- 1 2 3 4) 23:44:33 -8 23:44:33 #;2> (/ 1 2 3 4) 23:44:33 0.0416666666666667 23:45:07 I suppose I can include VARG() subtraction and division for consistancy 23:45:23 ehird, what's that? 23:45:59 ehird`_, have you been studying the architecture of PSOX? 23:46:05 faxathisia: Chicken scheme. 23:46:09 Sgeo: No, it probably sucks. 23:46:20 If not, how are you in a position to comment how easy/difficult it would be to make a switcher function? 23:46:42 Sgeo: I was saying it hopefully, which would be correct if PSOX's architechture is sane. 23:46:58 However, if you say it's difficult, that either means 'I don't know how to do it' or 'The architechture sucks so much that it's difficult' 23:47:14 I think a minor architecture change would make it feasible 23:47:48 faxathisia: Will YOU name my tcl-alike? :P 23:47:57 lct? 23:48:08 Pseudo-TCL? 23:48:16 TSL 23:48:18 how about "itrhge" 23:48:26 THIS STUPID LANGUAGE 23:49:01 I think pikhq might be the best choice here. :P 23:50:24 ehird`_, I believe you once said something about making a Haskell version of PSOX? 23:50:50 Ptl. 23:50:57 The Power-Tool Language. 23:51:10 (after Tool-command language, and Tool-Kit, it's only fair. :p) 23:51:13 pikhq: ptl -- pronounced 'pittle'. I like that, spelled a bit awkwardly, though. 23:51:14 But yes. 23:51:22 ptl 'petal' 23:51:22 I like that 23:51:50 pikhq: I think the parser can be one file long. :P 23:52:00 Seems reasonable to me. 23:52:02 Well, yes. 23:52:10 Tcl's syntax *is* trivial. 23:52:28 pikhq: Indeed. 23:52:35 Most of it is done by eval, anyway :P 23:52:50 pikhq: e.g. the only thing you do with [...] is make sure it doesn't split a token 23:53:10 Now, the {*} rule is probably the only tricky part. 23:53:16 One token into several. 23:53:50 pikhq: I think with closures etc. {*} is unneeded 23:54:08 Why do I have irrational dislike of TCL? 23:54:13 What's the difference between ptl and tcl? 23:54:18 faxathisia: Not sure. pikhq has made it sound quite nice. 23:54:19 I've never even used it :[ 23:54:27 Good regexp support, the data type stuff actually seems useful.. 23:54:38 I saw some code that adds lambda to it.. that's kind of cool 23:54:38 Not as elegant as a pure lisp maybe, but sounds nice... ptl - better! 23:54:55 Sgeo: ptl has closures, real GC, lexical scoping, ... 23:55:03 oh, and everything's first class (hopefully) 23:55:18 pikhq: so I believe I can drop {*}. Correct? 23:55:29 -!- volimo has quit. 23:55:41 * Sgeo wonders if pikhq is opposed to any [eso]projects 23:55:48 ehird`_: I'm not sure if {*} is handled by closures. 23:56:00 pikhq doesn't hate PSOX or ptl 23:56:02 pikhq: i am admittedly quite fuzzy on what {*} actually does 23:56:08 How would you handle "+ {*}$list"? 23:56:10 Sgeo: ptl is an esoproject since... when? 23:56:18 pikhq: Ah, that's "+ with-args-of-$list"? 23:56:23 Yeah. 23:56:23 And, does it only handle lists? 23:56:26 ehird`_, since it began being discussed in #esoteric ? 23:56:29 If so, then a *simple* version is: 23:56:31 apply + $list 23:56:37 And I might add some kind of sugar ... 23:56:39 eval + $list, actually. 23:56:45 And {*} *is* the sugar. 23:56:49 Actually, good point... 23:56:58 pikhq: Yes, but is the sugar used often enough for it to be worthwhile? 23:57:05 Maybe in Tcl when emulating features that ptl will already have? 23:57:08 Yes; that's why it was added in Tcl 8.5 23:57:34 pikhq: OK. 23:57:36 Does this work? 23:57:41 + 1 {*}$list 3 23:57:50 Yes. 23:58:03 {*} expands a token into many tokens. 23:58:24 pikhq: eval does it, though, right? 23:58:28 Otherwise, $list wouldn't work. 23:58:40 pikhq: Well, does any expansion take place? 23:58:41 Like 23:58:47 + 1 {*}$list 3 -> 23:58:51 eval + 1 $list 3 23:59:01 or is it just evaluated directly? 23:59:17 + 1 {*}$list 3 -> + 1 10 11 12 13 3 23:59:48 pikhq, should I attempt to make a switching function, or are redundant functions ok? 23:59:51 http://wiki.tcl.tk/17158 23:59:56 Sgeo: Redundant functions. 2008-02-17: 00:00:17 pikhq, are redundant functions better than a switcher, or merely "acceptable"? 00:00:32 Better. 00:00:39 howso? 00:01:46 Let's say I'm dealing with both chars and Lnums? 00:02:44 pikhq: I think {*} is a crap name 00:02:56 I would prefer: <*$list> 00:02:59 or <#$list> 00:03:08 Because, that obscures the semantics of {...} i think. 00:04:04 pikhq: Anyway, I can leave that out for now. 00:04:35 pikhq: Now -- should parsing be on files/streams or strings? 00:04:39 (Unicode strings, of course.) 00:04:51 Strings, I think. 00:04:56 I think strings, because I mean all code using eval and uplevel and crap is going to involve parsing strings anyway. 00:05:03 and wrapping a string in a file is a bad solution when it's so common. 00:05:09 So: If parsing is fast and simple on strings.. 00:07:45 pikhq: So, all agreed. 00:07:51 pikhq: Now, obviously (char *) is not a string. 00:08:25 I guess you're not talking about PSOX STRINGs? 00:08:26 Do you suggest using available unicode routines (safer, but there generally aren't any decent ones sans glib's, and glib is big 'n bloated just for that...) or writing my own (probably broken, but small&fast) 00:08:33 Sgeo: PSOX PSOX PSOX PSOX PSOX. 00:09:09 Dunno. 00:10:03 pikhq: Well, one thing I hope we can agree on: Strings should be utf-8 internally. It's probably what you want to output, probably what you want to input (Assuming a platonically ideal world), so it's best to keep it utf-8 all the way through. 00:10:22 Well, of course. 00:10:31 That's in Tcl, and so it must be in Ptl. 00:10:40 indeed 00:11:14 pikhq: http://www.icu-project.org/ Hmm. 00:12:23 pikhq: They use UTF-16. 00:12:36 Personally, I prefer UTF-8, but with such mature-looking libraries... what do you think? 00:12:37 Ah. 00:12:41 Hmm. 00:13:12 Hell; if you've got mature libraries for UTF-16, why not? 00:13:17 pikhq: I mean, a lot of code points fit into one value in utf-16, so maybe simple operations on them would be faster 00:13:23 It's just all the conversion at both ends I'm worried about.. 00:16:02 pikhq: Thoughts? 00:16:13 Oh, and since we're clogging up #esoteric with non-esoterica: #ptl 00:17:22 has anyone else started getting logged out of wikipedia all the time? 00:23:17 -!- timotiis has quit ("leaving"). 00:24:19 -!- ihope_ has joined. 00:28:02 -!- ihope__ has joined. 00:30:25 What are the most common logic operations? 00:31:08 Sgeo, I don't understand what you mean 00:31:16 faxathisia, NOT, AND, OR, those kinds 00:31:30 I'm putting NOT first, but what other ones are needed most? 00:31:43 Maybe AND and OR? 00:31:46 in that order? 00:32:22 XMOR 00:32:23 for bit-twiddling XOR is also important 00:32:36 XMOR? 00:32:44 oerjan, so should XOR go after OR? 00:33:04 exclusive-maybe-or 00:33:30 it's the operation found in natural languages 00:33:41 the english or. 00:34:32 Should PSOX use the bitewise operators, or the boolean? 00:34:42 Or should both be fit in? 00:35:13 well, the bitewise squingies can do boolean, but boolean operators are more quandriligious 00:35:20 What? 00:35:38 I recommend both, myself. 00:35:51 boolean AND, then bitwise AND 00:36:32 err... don't you have types? 00:36:38 can't you like, overload 00:36:49 Not that type of types 00:41:06 -!- ihope has quit (Read error: 110 (Connection timed out)). 00:43:51 -!- jix has quit ("This computer has gone to sleep"). 00:45:43 -!- ihope_ has quit (Read error: 110 (Connection timed out)). 00:49:58 Sgeo: Just NAND. 00:50:03 Sgeo: Don't implement any others. 00:50:10 To implement others would be UTTERLY non-esoteric. 00:50:22 GregorR, I don't want PSOX to be painful to use 00:50:29 Whaaaaaaaaaaaaaaa? :P 00:50:59 -!- ihope__ has changed nick to iihop. 00:51:02 Oops. 00:51:22 Cool. I grew an extra i. 00:51:47 * oerjan politely doesn't mention what he lost 00:52:13 iihop: congratulations, now you have the normal amount. 00:52:36 Oh, wonderful. 00:52:57 iihop is the new IHOP restaurants sponsored by Apple. 00:53:10 -!- iihop has changed nick to iIHOP. 00:53:11 iIhop. 00:53:13 Why didn't I think of that? 00:53:41 Capitalization counts in XChat's nick coloration 00:55:55 nobody sane uses nick coloration 00:56:42 ehird`_: why's that? 00:56:42 ehird`_, please do stop calling me insane 00:57:02 Also, I don't think I should really include the VARG() variations 00:57:05 not that i take that as an insult, i'm fairly insane. 00:57:06 I don't 00:57:06 not directly, anyway 00:57:13 :D 00:57:17 Sgeo: of course you are. must i search for the cheshire cat quote again? 00:57:23 oklopol: it's very distracting! ;) 00:57:36 cheshire cat quote? 00:57:41 ok then. 00:58:07 well, it's fairly *ugly*, and most nick colorings always fail to distinguish the nicks that would most need distinguishing 00:58:11 for some reason 00:58:19 but it's a nice idea! 00:58:29 "But I don't want to go among mad people," Alice remarked. "Oh, you can't help that," said the Cat: "We're all mad here. I'm mad. You're mad." "How do you know I'm mad?" said Alice. "You must be," said the Cat, "or you wouldn't have come here." 00:58:55 * 00:58:59 :) 00:59:07 If you want nick coloring done right, base it upon the md5 sum of the name. :p 00:59:18 I'm done implementing a good portion of domain4 00:59:20 Woohoo! 00:59:33 pikhq: randomization is ok, but you can do better. 00:59:56 Now it just needs documenting, and also warnings that e.g. conversions from a number to a string only work for certain bases.. 00:59:57 Perhaps randomization + comparing to already-assigned colors? 01:00:02 yeah 01:00:30 plus weighing by nick lengths and hamming distance to existing nicks 01:00:34 or a better distance 01:01:06 nick coloring is art 01:02:11 Use neural nets! 01:03:32 This is nick coloring: http://en.wikipedia.org/wiki/Self-organizing_map 01:05:05 oklopol: No, inverse hamming distance. 01:05:17 You want to tell apart "foodlepip" and "foodlepop" more than "sad" and "AifnAk" 01:05:36 ehird`_: i didn't specify the function, just that you need to take into account the hd, 01:05:37 *. 01:06:19 -!- oklopol has changed nick to AifnAk. 01:06:22 wow 01:06:27 this is one cool nick 01:06:36 why didn't i invent it 01:06:41 so simple.. 01:08:44 i must warn you that it is a very naughty word in basque 01:17:04 -!- ehird` has joined. 01:17:13 -!- ehird`_ has quit (Read error: 113 (No route to host)). 01:17:33 pikhq: Sorry. 01:17:40 Hmm? 01:17:41 I can't seem to join #ptl. 01:17:41 Invite me? 01:18:28 * Sgeo was able to join 01:19:56 -!- ehird` has changed nick to ehird. 01:21:17 * Sgeo accidentally gave ehird a wrong command as e left 01:48:04 pikhq, http://trac2.assembla.com/psox/browser/trunk/spec/psox-utils.txt 01:48:07 thoughts? 01:50:52 oerjan? 01:50:58 RodgerTheGreat? 01:51:01 GregorR? 01:52:10 Pong. 01:52:12 ok 01:52:23 Comments on what I posted? 01:52:31 http://trac2.assembla.com/psox/browser/trunk/spec/psox-utils.txt 01:58:59 pikhq, any comments? 01:59:19 Anyone? 01:59:26 Is anyone in here alive, for that matter? 01:59:38 * pikhq nods 02:00:46 That works. 02:01:24 Why does xor only take one arg? 02:01:25 Are the arthmatic functions too high up in number? 02:01:51 pikhq, that's because the documentation's wrong 02:01:58 It's implemented correctly (I think) 02:03:20 Sgeo: drop the boolean funcs 02:03:23 you can use bitwise for them 02:03:43 Even a boolean not? 02:04:08 hm, maybe drop booleans except for boolean not? 02:04:12 pikhq: OK, good point 02:04:23 But other bitwise ops like and, or... work fine when treating them as booleans 02:04:27 and what about boolean XOR? Can that be done as bitwise? 02:04:32 You just end up passing '54' to if(..), which isn't a problem 02:04:39 Sgeo: Boolean XOR works fine as bitwise, I think 02:04:43 Plus nobody uses boolean xor!! 02:04:55 tyvm ehird 02:05:38 * oerjan recalls -1 being true in Oric BASIC, so not worked equally well boolean and bitwise 02:05:57 or so i think. it's been a long while. 02:06:05 -1 should be true. 02:06:06 :| 02:06:14 isTrue = (/= 0) 02:06:15 i mean _the_ true 02:06:19 ah 02:06:21 forth does that too 02:06:26 the idea is that all bits are set 02:06:28 i.e. it's 111111111111 02:07:57 So do we have an issue with boolean XOR or not? 02:08:00 * Sgeo commits 02:08:09 http://trac2.assembla.com/psox/browser/trunk/spec/psox-utils.txt 02:13:08 hmm wait 02:13:11 boolean not= 02:13:28 ~(x&1) 02:13:29 I think. 02:13:41 Err 02:13:45 No. 02:14:11 (== 0) 02:14:16 oerjan: Sure 02:14:19 But he doesn't have == 02:14:19 :P 02:14:48 you cannot make it from bitwise operators 02:15:46 damn 02:16:18 ô€€€ SECOND LAST UNICODE CHARACTER ô€€€ 02:16:22 How many of your clients broke there? 02:16:33 ôŹż˝ WELL HOW ABOUT THIS ONE ôŹż˝ 02:16:55 the question marks show up just fine, thank you ;) 02:17:05 -!- Corun has quit (Read error: 110 (Connection timed out)). 02:17:13 saved by being broken already :D 02:17:42 0FFFD 10FFFD 02:18:12 So is there a problem with the only boolean being boolean NOT? 02:18:19 Sgeo: Nope, no problem at all 02:19:08 ehird, see, you had another piece of influence over PSOX. Because of you, I removed unnecessary boolean operators 02:19:28 haha 02:19:32 ok, ok, i am warming to it 02:19:35 :) 02:19:40 :D 02:20:12 Sgeo: ok then.. how's this for an actually fun idea.. 02:20:15 psox gui domain 02:20:20 and DON'T go implementing it, I want to 02:20:20 :D 02:20:36 ... omg, i can't handle the awesome 02:20:39 also: 02:20:41 ncurses domain 02:20:53 graphical game of life, and graphical-console game of life! 02:20:56 Heck, graphical mandelbrot! 02:21:08 pikhq: Sgeo: All who think this idea is awesome, raise your hand 02:21:10 :D 02:21:14 * Sgeo raises hand 02:25:24 pikhq: http://wiki.tcl.tk/15348 this is awesome 02:25:43 ehird, maybe events can be done by checking an infile descriptor? 02:26:27 Sgeo: Maybe. I'm thinking, though, that PSOX needs a way to send some code over the wire. :P 02:26:37 That'd be kind of weird though. 02:26:39 "over the wire"? 02:27:14 Sgeo: To PSOX. 02:27:22 But then you'd have to write BF code to output a program 02:27:24 No fun! :) 02:27:35 But an infile sounds about right. 02:27:37 BUT 02:27:40 Make it window-specific. 02:27:45 Pseudocode: 02:27:53 fd = mkwin(640,480) 02:27:53 I thought you meant for a domain to transmit stuff without being asked to.. 02:28:03 btn = mkbtn("CLICK ME") 02:28:20 addwidg(1,btn) # 1 is window number 02:28:28 wait_on(fd) 02:28:31 handle_event(fd) 02:28:37 Sgeo: Something like that. 02:28:53 Anyway, a GUI hello world should be about 7 lines of commented code, without densely-packed lines. 02:28:54 Agreed? 02:28:57 Something like what I said, or were you reinforcing the pseudocode? 02:28:59 ehird: LMAO 02:29:19 Sgeo: Something like what you said, yes 02:29:23 Maybe more modular though. 02:29:27 like, a button has its own fd 02:29:28 and you wait on that fd 02:29:34 to handle events for just that button 02:29:41 it would make things simpler, for larger GUIs 02:29:49 pikhq, I have a list of custom domains I'd like to see, and GUI is one of them 02:29:59 Sgeo: In the spirit of esotericism, I imagine I will use PyGame and draw my own widgets 02:30:06 That, is actually an advantage: It means e.g. mandelbrot is easier. 02:30:30 It would also make things simpler because it could be designed around PSOX. 02:30:33 Sgeo: Tk? 02:30:37 Sgeo: So I guess I will write it tomorrow. Wish me luck. 02:30:44 pikhq: No. We've just been talking about it. 02:30:45 (sometime later. Much later.) 02:30:50 Oh? 02:31:01 I think it will be a lot simpler to write our own, because we don't have fancy stuff needed. 02:31:04 I am currently thinking: 02:31:10 Fancy. 02:31:13 a widget like a button, has a infile descriptor 02:31:18 and you can check that for events, basically. 02:31:19 ehird, are you looking into how to write domains? 02:31:27 Sgeo: I will tomorrow. I am going soon today. 02:31:34 pikhq: this means that you can write bigger guis without much fuss 02:31:38 ehird, the thing about 1 fd per widget is that the client would need to keep changing FDs 02:31:51 Sgeo: Make the IO operations take an FD as an argument. 02:32:01 + provide special ones that operate on the current fd 02:32:15 pikhq: I will just use pygame and draw my own simple widgets, because doing the event stuff with another gui toolkit would be painful 02:32:19 Also, if the FD never transmits a 0x0A, you can infinite loop on that FD by only ever calling the input function once 02:32:57 Sgeo: Don't do that.. leave it up to the console driver to handle that stuff 02:33:06 ehird, wha? 02:33:13 Well, why do you wait for 0x0A? 02:33:21 Just read a character, then send it off 02:33:25 Because one of the ways of getting input is a line at a time 02:33:32 OK. One of the ways. 02:33:53 The other way is calling the input function 1nce for X characters 02:33:55 g2g 02:33:57 Sgeo: Anyway, just add functions that take an FD as an argument. 02:33:59 A lot nicer. 02:34:01 Bye :) 02:34:04 I will write it tomorrow. 02:34:56 By the way, how does everyone pronounce PSOX? 02:35:00 I pronounce it as 'Pee socks'. 02:35:42 Same here, although "P S O X" is truer to the epitomology 02:35:49 or wahtever you call it 02:36:26 Sgeo: 'pee socks' is a bit unfortunate though 02:36:56 Sgeo: By the way, I am also going to implement a metadomain. 02:37:04 It lets you define and implement domains from within a PSOX app. :D 02:37:59 Sgeo: With this, I will then define trivial things like the http domain within brainfuck, using the tcp one 02:37:59 \o/ 02:40:04 ehird's is how my phonological loop pronounces it. 02:43:35 iIHOP: Thoughts on a bf gui lib? :P 02:44:14 Do what other programming languages do. 02:44:38 Which, I suppose, means using lots of libraries. 02:45:50 iIHOP: No-- i mean, 02:45:54 Awesome idea or not? 02:46:02 I mean, you could do a brainfuck interactive mandelbrot 02:46:12 Oh. 02:46:14 Or a brainfuck game of life, with editor 02:46:31 :D 02:46:39 or a brainfuck graphical calculator 02:46:42 I tend to be more interested in theory than practice. 02:46:46 Or -- A brainfuck IDE in brainfuck! 02:46:55 iIHOP: Yeah, me too. But this is a pretty awesome idea, I think. 02:47:18 The fact that a BF GUI thingy could be written and the results could be replicated more easily is enough for me. 02:47:59 iIHOP: I don't follow what you're trying to say 02:49:02 It's possible to write a Mandelbrot program in BF, but it's also possible to write a program that does exactly the same thing in some other programming language. 02:49:07 pikhq: You know how you said you were going to write a c lib using PSOX? 02:49:08 I'm glad to see that ehird is interested in PSOX. 02:49:14 ehird: Yeah? 02:49:19 Though it can be fun to write programs in BF, of course. 02:49:32 pikhq: I bet I can do it with less C constructs and more PSOX constructs. :-P 02:49:44 Though I'd rather learn how to do it than actually do it. 02:49:59 ehird: I was planning to have the types be lnum_t and such. 02:50:02 ;) 02:50:11 The fact that I know how to do my chemistry homework doesn't mean I want to do it. :-P 02:50:25 pikhq: I'll make it more awesome, and just make all ints be lnum_t and similar 02:50:36 So NO conversion, but NO construction of types -- that's in C! 02:51:04 Either that, or I'll actually *write a libc* 02:51:05 Of course, if I did it in C++, then I'd have to overload the operators for the math calls. :p 02:51:18 Actually, writing a libc would be a cool use of time. 02:51:25 Yes.. 02:51:31 Even better with PSOX, because that's just crazy 02:51:33 Useless, but quite cool. 02:51:40 I started to write a libc as part of an OS I was writing once. 02:51:55 Friendly tip: string/memory functions are easy. I/O is not. 02:51:55 Even cooler if you decide to create a better, replacement libc. 02:52:14 That, I'd think, would be obvious. 02:52:21 Format? *shudder* 02:52:29 printf is pretty easy actually. 02:52:47 pikhq: CRAZY IDEA: Writing libcox (libc-psox? Get it? Ahahahahahaha. :|), recompiling the python interpreter with it, then running PSOX under it, but with it using THAT instance of psox... Infinite loop! 02:52:50 Whereas the string functions are fairly straightforward, and the memory functions are wrapped up syscalls. 02:53:01 ehird: Too crazy. 02:53:18 pikhq: OK, How about just one level of nesting. 02:53:18 :D 02:54:00 I still want to see a TCP domain, so that 'wget' can be done the hard way, and I could right netcat, and. . . 02:54:04 s/right/write/ 02:54:06 pikhq: I will do that, tomorrow. 02:54:09 Yay! 02:54:10 It seems an obvious step to me. 02:54:13 Also, an FFI, possibly. 02:54:17 Arbitary Python/C function mapping. 02:54:36 Combined with my metadomain domain, you can define arbitary domains using python functions from within an esolang 02:54:36 :D 02:54:54 Like, the TCP domain can be made from within BF 02:54:59 Oh God. 02:55:04 Yeah. :D 02:55:32 If I use that in PEBBLE, then I'd have a python_inline command. :p 02:56:03 pikhq: Well, maybe not python_inline so much as python_func "name" "intype intype ..." "outtype" 02:56:10 pikhq: Also, same for C functions. 02:56:25 You can provide a PSOX interface to malloc/free -- without leaving the comfort of BF. ;D 02:56:54 Sgeo: I'm afraid that the Brainfuck coding universe will never be the same. 02:57:01 Most certainly not. 02:57:23 Now excuse me while I go and write a graphical IRC client in Brainfuck with only the metadomain and the ffi. 02:57:31 LMAO 02:58:41 Anyway. gtg now. Shall write libcpsox, many domains tomorrow... and ptl. :) 02:59:36 metadomain? ffi? 02:59:45 Foreign Function Interface. 02:59:47 Sgeo: Metadomain = define PSOX domains in PSOX. 02:59:52 FFI = call C and Python functions in PSOX. 02:59:56 ;D 03:00:04 Basically sums it up: 03:00:05 " You can provide a PSOX interface to malloc/free -- without leaving the comfort of BF. ;D" 03:00:08 " Now excuse me while I go and write a graphical IRC client in Brainfuck with only the metadomain and the ffi." 03:00:44 -!- bd_ has quit ("rebooting server"). 03:00:46 -!- puzzlet has quit ("leaving"). 03:01:10 -!- puzzlet has joined. 03:01:45 pikhq: And a BF->C compiler that, when compiling a non-PSOX program, uses libcpsox 03:01:45 :D 03:02:46 pikhq: And c2bf with PSOX. Anyway, bye for now. Levae any notes in here, i'll check logs. 03:02:53 -!- ehird has quit ("K-Lined by peer"). 03:03:35 Well, I don't think I'm going to make it easier to access other FDs from input and output, switching will be the way to go 03:03:46 Actually, I don't have the time to actually implement PEBBLE 2 ATM. 03:03:55 I may, however, have the time to make BFbasic uses PSOX. :p 03:03:55 Also, you might want to ignore what I said about waiting on FDs by retrieving lines 03:04:00 That might not work 03:04:03 pikhq, BFbasic? 03:05:30 Calamari's Basic->Brainfuck compiler. 03:09:17 Although Basic == Ugh. 03:12:20 * Sgeo hopes that domain-writing isn't too ugly-difficult for ehird to do what he wants 03:12:50 For a fixed number of functions that have fixed types, it's easy, but changing the types dynamically is a different story 03:13:29 Also, the current architecture doesn't allow a domain to just go and make.. well, actually it does 03:14:00 Since psoxglobals (a module to hold global variables) is used promiscuiously 03:14:44 * Sgeo is glad ehird is excited about PSOX though 03:16:35 " Sgeo: I'm afraid that the Brainfuck coding universe will never be the same." 03:16:36 LD 03:16:38 :D 03:17:29 tyvm 03:18:14 Actually, I'm writing the preprocessor for PEBBLE2 ATM. 03:18:21 cool 03:23:17 -!- lispy has joined. 03:23:30 What is the puprose of #esoteric? 03:23:46 hm maybe should change the topic back 03:24:00 what _was_ the last on-topic topic, anyone? :D 03:24:00 -!- faxathisia has set topic: back. 03:24:35 esoteric programming languages, such as brainfuck, unlambda etc. 03:25:17 oh, okay 03:25:23 what is esoteric about them? 03:25:32 * lispy uses brainfuck at work 03:25:36 Oh, wait, no that's C++ 03:25:38 my bad 03:25:40 I confuse them 03:25:46 easily done :D 03:26:19 well they are languages that may seem even worse than C++, at least until you delve deep enough into it 03:26:34 brainfuck is probably the only programming language that you can write a compiler for more easily than you can write an interesting program in 03:27:04 I know this because, I wrote the bf compiler that lambdabot uses, but I can't write anything in bf :) 03:27:15 I've written quite a few things in Brainfuck. 03:27:21 My most recent hack is wget.b. 03:27:42 you added enough IO to do wget? 03:27:44 http://pikhq.nonlogic.org/wget.b 03:27:59 Sgeo here wrote PSOX, which allows for quite a few insane features. 03:28:11 I believe ehird is planning on doing GUI with it tomorrow. 03:28:35 is HTTP::get, a system call then?, well a function call 03:28:59 It's a PSOX call. 03:29:35 So, it's not really bf so much as bf++ or bf2? 03:29:47 maybe it's craniumfuck? 03:29:49 lispy, it's not just for BF. Just about any language can use it 03:30:18 It's a layer that goes between BF (or whatever) and standard I/O 03:30:40 But, let me get this straight, you had to extend the bf language to allow this to work, right? 03:30:54 nope 03:30:59 It's not the language. It's more like an interpreter 03:31:10 Just stick a standard Brainfuck interpreter in. 03:31:23 PSOX binds to that interpreter's stdio, and interprets that. 03:31:32 normally bf would ignore sequences like PSOX_Init 03:31:37 ah 03:31:43 -!- puzzlet_ has joined. 03:31:54 The string "PSOX_Init" is a comment, actually 03:31:56 It will ignore PSOX_Init. 03:32:06 The stuff before that is what initialises PSOX. ;p 03:32:21 Outputting 0x00 0x07 0x01 0x0A 0x00 0x00 0x0A is the PSOX_Init 03:32:30 Ah, okay 03:32:32 Now I get it 03:32:41 Very nice 03:32:44 ty 03:33:46 more evidence that turing complete does mean something important :) 03:35:11 do you guys work with python too? 03:35:26 (okay sorry, that was meant to be a joke making fun of python) 03:35:48 * Sgeo is a Python person, can't say for the others 03:36:11 lispy, wait, were you noting that PSOX is implemented in Python? 03:36:39 Sgeo: was it? no actually, I'm just completely poking fun at python here 03:37:09 Python, unlike Ruby, has a readable syntax :p 03:37:14 lispy, what? re turing complete 03:37:21 Yes, but they left out the type annotations :) 03:37:30 faxathisia: bf is turing complete 03:37:59 -!- BMeph has joined. 03:37:59 faxathisia: and so even though it seems kinda worthless for real work, because it's TC, you can do cool things like wget just as long as you have IO 03:38:18 * oerjan brought lispy here from #haskell by accident, for those who don't know :) 03:38:24 lispy, This is true of non turing complete languages 03:38:49 faxathisia: I suppose so in some cases. But, BF happens to be TC. 03:38:56 lispy, This is true of subturing languages ** what I meant to say 03:38:59 so that's why i phrased it that way :) 03:39:25 TC just means able to make any computation that a computer can make. That's part of the motivation for PSOX, actually, because I wanted BF to be able to do anything a generic program can do, which is how I kept mistakenly thinking of TC 03:40:37 Sgeo: which reminds me...since TC definition doesn't involves a system clock and user input. I've sometimes wondered if there are things we could make a modern computer do that a TC technically cannot. 03:40:55 er TC program 03:41:16 lispy, go online, which standard BF cannot do 03:44:33 and truely seeds 03:44:34 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 03:44:40 by using outside entropy i guess 03:44:45 er truely random seeds 03:45:03 oh, has anyone written a mersenn twister in bf? 03:45:18 or other high quality prngs? 03:45:50 -!- oerjan has set topic: the international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://ircbrowse.com/channel/esoteric - Pastebin: http://pastebin.ca/. 03:46:27 * lispy decides to head home and stop reading papers for the day 03:46:51 (slightly modified from 18.05.07) 03:47:22 oerjan: but there are only 12 months in a year, so what date is that? ;) (sorry, I live in the US and like to intentially be a dumbass about dates ) 03:47:44 actually, I wish we all used the format YY/MM/DD 03:47:52 or YYYY/MM/DD 03:48:27 you may find it interesting that i considered clarifying that date, and rejected the thought because 18 > 12 anyway 03:49:50 Either YY/MM/DD or DD/MM/YY. 03:50:05 -!- iIHOP has changed nick to ihope. 03:50:40 YYYY/MM/DD makes a bit more sense, if you look at what's best for computers wrt sorting 03:51:02 Also, in numerical systems where the leftmost digit is most significant >.> 03:51:55 -!- puzzlet has joined. 03:51:59 Hi puzzlet 03:52:11 * Sgeo is excited about GUI BF programs tomorrow :D 03:54:47 I think there's a bug in the input domain 03:55:01 It gets unreasonably slow eventually 03:56:16 Sgeo: indeed. 03:56:34 We should just make all notations big-endian. 03:56:49 Always put the most significant word at the beginning of a sentence, and all. 03:57:23 It's 2008 February 16 PM 10:57, everyone! 03:58:17 And since a week is between a month and a day, you can also say "2008 February Saturday 16" where it's important. 03:58:24 -!- puzzlet has quit ("leaving"). 03:58:43 -!- puzzlet_ has changed nick to puzzlet. 04:01:23 hmm, yes, today is indeed today... is that in any way significant? 04:02:01 * olsner thinks not and goes to bed, probably 04:02:05 maybe it's the timezone 04:02:21 possibly 04:02:38 very well, I'm off 04:11:13 I hope I'll be here tomorrow to help ehird if needed 04:11:28 If not, I hope that ehird will be able to figure everything out on eir own 04:12:30 brb 04:12:34 -!- RodgerTheGreat has quit. 04:15:03 Maybe I should get going now 04:15:29 -!- Sgeo has quit (Remote closed the connection). 04:17:16 -!- RodgerTheGreat has joined. 04:22:57 -!- ihope_ has joined. 04:39:32 -!- ihope has quit (Read error: 110 (Connection timed out)). 05:13:38 lispy, http://www.jsoftware.com/ 05:14:10 oh damn, gwern left 05:15:01 oh wait 05:15:03 wrong channel 05:17:00 it's a curse, i say! 05:17:17 what an #esoteric curse :) 05:17:31 * lispy makes bad puns regularly 05:25:11 * oerjan bakes mud pans regularly 05:25:36 * pikhq should make baking mud pans a regulated action 05:26:01 ? 05:26:35 In Agora, an action is regulated if it affects something an officer has to report on, among other things. 05:36:00 Fucking wonderful. 05:36:08 Someone modded one of my /. posts redundant. . . 05:36:15 It's the 4th post on the article, for God's sake. 05:37:31 I stopped posting on /. a while ago because the mods seemed to be pretty vicious 05:39:13 Yeah; for a while, my account had negative karma for one post. 05:40:07 And does redundant even get metamodded? 05:40:51 * RodgerTheGreat shrugs 05:41:00 It's one thing to moderate a post identical to mine that came 10 minutes after 'redundant', but come on. . . 05:41:13 The only post made that covered the same topic was about half a second before mine. 05:46:59 Ah well; it got modded back up. 05:48:02 slashdot is a pretty tough MMO, but I hear it gets more fun at the higher levels 05:49:24 LMAO 05:50:02 Facebook and Myspace are pretty popular RPGs, but they're mostly just grindfests 05:50:39 And Digg is pretty much a dumbed-down clone of slashdot- I think they wanted to cater to the console crowd 05:51:42 Deviantart has a pretty sophisticated crafting system, but I think the fanbase is too creepy 05:51:55 in general, I tend to stay away from online games 06:36:03 -!- ihope_ has quit (Read error: 110 (Connection timed out)). 06:36:30 -!- ihope_ has joined. 06:36:35 -!- ihope_ has changed nick to ihope. 06:49:00 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 06:51:33 -!- oerjan has quit ("Good night"). 07:12:51 -!- ihope has quit (Read error: 110 (Connection timed out)). 07:22:33 -!- BMeph has quit ("calls it a night"). 07:31:20 -!- ihope_ has joined. 07:31:26 -!- ihope_ has changed nick to ihope. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:32:39 -!- ihope_ has joined. 08:47:14 -!- ihope has quit (Read error: 110 (Connection timed out)). 08:48:16 -!- RedDak has joined. 09:16:21 -!- Dagide has joined. 09:28:24 -!- RedDak has quit (Read error: 110 (Connection timed out)). 09:41:05 -!- ihope_ has quit (Connection timed out). 09:47:06 -!- ihope_ has joined. 09:47:13 -!- ihope_ has changed nick to ihope. 09:56:37 -!- ihope_ has joined. 10:04:44 -!- ihope has quit (Read error: 110 (Connection timed out)). 10:23:12 -!- faxathisia has quit ("This computer has gone to sleep"). 10:31:15 -!- sco50000 has joined. 10:31:31 INTERCAL :D 10:31:59 -!- sco50000 has left (?). 10:35:39 -!- ihope_ has quit (Connection timed out). 10:36:27 " brainfuck is probably the only programming language that you can write a compiler for more easily than you can write an interesting program in" <<< nope 10:37:13 null-language. Compiler: "main(){}" And no matter how hard you try, you can't write an interesting program in it. 10:38:32 lispy: python is the simplest and intuitive language on earth 10:42:41 Thai yellow curry is the most flavorful and delicious food on Earth. 10:42:53 [an argument just as easy to defend :P ] 10:43:06 -!- AifnAk has changed nick to oklopol. 10:44:20 GregorR: why defend something everyone knows is true 10:44:39 wish i had some curry 10:44:58 [12:35] --> sco50000 has joined this channel (n=scott@unaffiliated/sco50000). 10:44:58 [12:36] INTERCAL :D 10:44:58 [12:36] <-- sco50000 has left this channel ("Leaving"). 10:45:12 SCO wurves INTERCAL. 10:45:16 I guess it's no big surprise. 10:45:19 we should keep track of newcomers' intentions, not all are irpers! 10:45:24 oh 10:45:29 it he an oldie 10:46:11 need to brush the intercal taste away -> 11:09:56 please say please say please say please say please say please say cheese. 12:07:17 -!- helios24 has joined. 12:11:51 -!- timotiis has joined. 12:50:37 -!- jix has joined. 12:51:00 -!- jix has quit (Remote closed the connection). 12:51:18 -!- jix has joined. 13:07:39 -!- ihope_ has joined. 13:07:45 -!- ihope_ has changed nick to ihope. 13:10:32 -!- lament has quit (Remote closed the connection). 13:10:39 -!- lament has joined. 13:31:58 -!- Corun has joined. 14:21:37 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)). 14:23:28 -!- Tritonio_ has joined. 15:18:10 -!- Dagide has quit (Remote closed the connection). 15:38:29 wow, ursala is really crazy 15:38:36 yyyyyyyup 15:39:58 the alphabet is too small to give names to all the "pointers", so they added numbered "escapes" for extension 15:40:42 -!- Corun_ has joined. 15:40:53 I didn;t get that far yet 15:42:08 -!- Corun has quit (Read error: 104 (Connection reset by peer)). 15:54:28 "An operator precedence relation exists, but it is neither transitive, reflexive, nor anti-symmetric." 15:54:32 -!- Corun_ has changed nick to Corun. 15:55:15 and some operators have multiple arities, with each arity having its own precedence 15:56:35 Fine as long as it's all well-defined. 15:59:35 the specification recommends trial-and-error for discovering the precedence rules rather than attempting to understand the description :P 16:00:30 Weird. 16:01:35 also featuring prefix, infix, postfix, "solo" and circumfix/outfix operators 16:02:16 (many operators usable in more than one fixity) 16:02:22 hm 16:03:52 My gosh. 16:12:57 -!- oerjan has joined. 16:18:06 ihope: no, not yours 16:18:15 Oh. 16:18:21 olsner's gosh. 16:18:39 plenty of gosh to go around 16:20:07 About how much gosh do you have? 16:20:33 In cubic meter pascals per Kelvin mole? 16:30:37 about 1 square foot per square fortnight Kelvin mole 16:31:06 *Reaumure mole 16:32:28 Rankine, surely? 16:32:40 and what is "Reaumure"? 16:34:04 http://en.wikipedia.org/wiki/R%C3%A9aumur_scale 16:34:51 * oerjan disposes of the stray 'e' with a flyswatter 17:02:46 -!- calamari has joined. 17:11:11 Oh dear, I just used the adjective "Internetty" 17:11:13 ... in referring to the political compass readings of Mike Gravel (D) and Dennis Kucinich (D) 17:11:23 -!- puzzlet has quit (Remote closed the connection). 17:11:27 -!- puzzlet has joined. 17:11:43 use "Internet-esque". 17:11:44 Internetty sounds like a silly name for a mascot 17:12:25 "Internetty the tube! Don't look inside, though- he's filled with porn and social networks!" 17:18:21 heh 17:42:22 -!- calamari has quit ("Leaving"). 18:31:34 -!- ihope_ has joined. 18:47:45 -!- ihope has quit (Read error: 110 (Connection timed out)). 19:14:07 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 19:14:21 -!- Slereah has joined. 19:44:40 -!- ehird` has joined. 19:51:09 -!- ehird`_ has joined. 19:52:12 -!- ehird` has quit (Read error: 113 (No route to host)). 20:00:23 pikhq: plz let it access FDs 20:00:26 it will be so convenient 20:01:02 -!- oerjan has quit ("Supper"). 20:01:29 omfg 20:01:31 topic is back on topic 20:01:33 when did that happen 20:02:12 -!- Hiato has joined. 20:02:30 what is the difference between porn and social networks? 20:02:40 are social networks just porn for girls? 20:03:10 lispy: are you a markov chain bot? 20:03:41 am I markov "Internetty" chain bots? 20:03:49 (sorry) 20:03:55 ehird`_: no! 20:04:06 but I play one on IRC 20:04:46 I used to have a megahal here on freenode called {}, boy, that was a fun bot 20:04:53 lispy: crazy nick 20:04:59 if only 'I' was available 20:05:04 'I was talking to I yesterday, and..' 20:05:06 yeah, it kinda looks like a .... um... nevermind 20:05:08 even better: 'myself' 20:05:29 most irc clients show'd the bot as <{}> 20:05:35 * you :Erroneous Nickname 20:05:38 fuck. you. freenode. 20:06:00 oh well 20:06:04 I have awesome nicks registered anyway 20:06:06 :-P 20:06:15 What are some of your awesome nicks? 20:06:30 ihope_: Actually they aren't very awesome. 20:06:38 I think my most awesome nick is ihop. 20:06:39 I have 'rice' though, which is a dictionary word so I guess that's pretty cool. 20:06:53 (Python, unlike Ruby, has a readable syntax :p <-- bullcrap, ruby is beautiful ... well, kinda. it's like perl but less ugly.) 20:07:09 -!- ihope_ has changed nick to hyperpyrexia. 20:07:15 Also a dictionary word. :-P 20:07:17 -!- hyperpyrexia has changed nick to ihope. 20:07:42 'rice' is short though 20:07:48 Actually, I was pretty close to getting 'z' at one point.. 20:07:56 then the bastard logged in for the first time in ages :( 20:08:16 It's a legal nick? 20:08:26 Oh yes. 20:08:29 -!- ihope has changed nick to i. 20:08:34 This one isn't. 20:08:37 -!- i has changed nick to ihope. 20:08:37 Registered or forbidden, most all of them. 20:08:40 -!- ehird`_ has changed nick to i. 20:08:43 -!- i has changed nick to ehird. 20:08:45 Yeppers. 20:09:17 I wonder why i is may-not-be-used and you is erroneous. 20:09:17 I should write a script that checks every one-letter nick and tells me which are available for dropping. 20:09:29 ihope: freenode's ircd is.. not the cleanest thing 20:09:32 -!- ihope has changed nick to c. 20:09:36 -!- c has changed nick to ihope. 20:09:40 -!- Hiato has left (?). 20:09:51 Fun stuff. 20:10:20 -!- ehird has changed nick to c. 20:10:28 Nothing special on that one. 20:10:29 -NickServ- The nickname [c] is private 20:10:30 -!- c has changed nick to ehird. 20:10:41 always use /ns info 20:10:43 before trying 20:10:55 if they haven't been logged in for a month or a few, celebrate 20:10:58 The nickname [a] is private. The nickname [B] is private. The nickname [c] is private. 20:10:59 then #freenode and ask for droppation 20:11:05 Fun stuff. 20:11:06 -!- ehird has changed nick to y. 20:11:16 this is... available 20:11:16 :O 20:11:19 -!- y has changed nick to ehird. 20:11:24 eh 20:11:25 damnit 20:11:26 wait 20:11:38 Damnit wait? 20:11:40 -!- ehird has changed nick to Y. 20:11:43 ok 20:12:01 combinator 20:12:04 ha! ha! ha! 20:13:17 omg 20:13:19 i could get Q 20:13:19 :| 20:15:57 no Y for me 20:16:00 I can't be a combinator. 20:16:09 and q is erronous 20:16:19 Hey, I know! I should start my own network so I can get a one-char nick :P 20:16:23 :-P 20:16:34 Or get that nick on Sine. 20:16:45 ihope: There's no nickserv, is there 20:16:58 Ami's kind of one. 20:17:10 OK. But that doesn't let me secure both 'Y' and 'q'. 20:17:11 :P 20:17:16 -!- Y has changed nick to Yq. 20:17:19 owned 20:17:24 ooh 20:17:25 2 years 20:22:58 Cool, the nick "aefn" isn't registered. 20:23:36 Maybe I prefer long nicks, though. 20:23:56 -!- ihope has changed nick to ThreePointOneFou. 20:23:57 -!- Yq has changed nick to aefn. 20:24:05 That's as long as it gets? My. 20:24:06 -!- aefn has changed nick to Yq. 20:24:33 And I'd typed it out to "ThreePointOneFourOneFiveNineTwoSixFiveThreeFiveEightNineSevenNineThreeTwoThree" in case nick lengths could go that far. 20:32:47 ideas spread fast 20:32:52 spb: Feel like donating a single character nick to me? 20:32:59 -!- helios24 has quit ("Leaving"). 20:38:12 :-) 20:38:24 -!- ThreePointOneFou has changed nick to ihope. 20:39:23 pikhq: question about tcl 20:39:30 aren't return values and output redundant? 20:39:45 like, in shell, i guess you do have the error status, but mostly subshells output are their 'return' 20:44:30 -!- Sgeo has joined. 20:46:06 WAs ehird in here earlier? 20:46:36 I am ehird. 20:47:06 Sgeo: you good at lojban? 20:47:31 oklopol, I used to know a drop of lojban, and sort of know the basics 20:47:55 Yq, are you going to work on those domains? 20:48:30 Sgeo: Yes, I guess so. 20:48:36 Is there a PSOX usage tutorial anywhere? 20:48:38 With brainfuck. 20:48:50 Yq, there are examples, and the spec 20:49:03 I think one part of the spec is out-of-date, holdon 20:49:10 fucktorial 20:49:42 Yq: Nope. 20:49:53 pikhq: How are they unique theoretically 20:50:24 proc foo {} {return 1} returns 1 to the caller; proc bar {} {puts 1} outputs one. 20:50:45 if {[foo]} is therefore like if {1}. . . 20:51:11 if {[bar]} is more like if {puts 1}; testing if puts actually outputs without an error. 20:52:04 Really, it's the difference between printf() and return in C. ;) 20:52:15 pikhq: Duhhh. I'm saying it SHOULDN'T be like that. 20:52:28 Why the hell *not*? 20:52:37 Erm. 20:52:42 Why the hell shouldn't it be like that? 20:52:44 example: 20:52:55 * Sgeo wants to see a GUI domain soon 20:53:01 proc bar {} {puts 1}; if {[bar]} ;# this is 'if {1}...' 20:53:05 it's like this in shell 20:53:12 and it makes sense when the language is like a shell 20:53:16 which tcl is, essentially. 20:53:18 Which it's not. 20:53:19 as well as the string focus 20:53:59 Are you fucking mad? 20:54:41 -!- RedDak has joined. 20:55:11 pikhq: Perhaps; but saying that helps little. 20:55:24 [puts 1] is just the same as [puts stderr 1]. 20:55:46 pikhq: I am aware what the actual semantics are. 20:55:52 I am arguing theoretically, what would be better. 20:55:57 s/stderr/stdout/ 20:56:05 Perhaps if you're making a shell vaguely like Tcl. 20:56:16 But Tcl's not shell. 20:56:29 pikhq: I'm just saying I can't see how it wouldn't be nicer. 20:56:47 You've obviously never had a function *want to output*. 20:57:33 pikhq: Uhm, if I have a nested expression I don't expect side-effects to creep out of it relying on evaluation order, no. 20:57:46 I would put the first action, then the second. Then my nested ones. 20:57:47 *one 20:58:02 Did you also happen to fail to notice that Tcl is imperative as fuck? 20:59:30 May be so. But in nested expressions, that's just ugly style. 20:59:47 ... 20:59:58 Would you support the same behavior in C? 21:04:34 -!- Yq has changed nick to {. 21:04:38 -!- { has changed nick to }. 21:05:27 <}> pikhq: No 21:05:37 <}> You should seperate side-effecting seperations and not nest them oddly. 21:05:44 <}> Anything else is obfuscation. 21:06:00 -!- } has quit (Nick collision from services.). 21:06:05 oO 21:06:09 Nick collision? 21:06:38 -!- ehird`_ has joined. 21:06:48 -!- ehird`_ has changed nick to [. 21:06:57 <[> test 21:06:58 -!- [ has changed nick to ]. 21:06:59 wb ehird 21:07:00 <]> test 21:07:05 <]> Hmm. :P 21:07:06 } had a nick collision? 21:07:09 <]> Yah 21:07:11 /whois } 21:07:14 -!- Sgeo has changed nick to }. 21:07:19 <]> sgeo: it's forbidden 21:07:19 -!- } has changed nick to Sgeo. 21:07:27 -NickServ- If you do not change within one minute, you will be disconnected 21:07:36 <]> yah 21:07:41 -!- Sgeo has changed nick to I. 21:07:43 -!- I has changed nick to Sgeo. 21:07:44 <]> forbidden 21:08:03 -!- ] has changed nick to _. 21:08:09 <_> this 21:08:11 <_> would be so awesome 21:08:12 <_> as a nick. 21:08:16 /nick We /me are the bork! 21:08:35 _, is that forbidden or something? 21:08:46 <_> Sgeo: No, it's allowed. I am asking in #freenode. 21:08:50 <_> xD 21:08:50 <_> I imagine I will be denied 21:08:53 Also, any chance of working on the GUI domain now? 21:09:05 <_> Sgeo: Bah, pygame is a lot of wurk :P 21:09:12 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 21:09:13 -!- slereah_ has joined. 21:09:20 So use something simpler if you want 21:09:26 You're the one making it, not me 21:09:47 <_> haha, I know.. I know. 21:09:53 <_> Anyway, it's dependant on you. 21:09:58 <_> The model requires not having to switch FDs to be nice. 21:10:30 I'm not sure how I can fit in not switching FDs.. 21:11:43 -!- _ has changed nick to ^. 21:11:48 <^> hah 21:11:50 <^> Sgeo: Easy 21:11:56 <^> add an extra parameter to the functions 21:12:00 <^> Or: just add some more, for backwards-compat 21:12:20 There isn't really room to add functions 21:12:38 <^> Uhm 21:12:39 <^> Explain? 21:12:59 0x00 0x01 (num-of-bytes-to-take) 0x0A 21:13:04 That's input 21:13:13 Where in there is there room to fit something else? 21:13:20 <^> ... Another domain? 21:13:22 <^> ALTERNATIVELY 21:13:28 <^> 0x00 0x01 (fd) (num-of-bytes) 0x0A 21:13:31 <^> nicest solution 21:13:39 That would break compatibility.. 21:13:45 Also, what about output? 21:14:06 <^> Sgeo: Tell me exactly how many PSOX programs are there, mr Sgeo? 21:14:13 <^> About 3? Maybe even 4? 21:14:18 lol true 21:14:19 <^> How could you possibly stop them working! 21:14:29 <^> They run whole ENTERPRISES! 21:14:32 lol 21:14:40 What about output though? 21:14:45 <^> What is it right now? 21:15:04 Printing a character outputs that character unless it's 0x00, which is escape 21:15:07 to function 21:15:15 and 0x00 0x00 escapes the next character 21:15:44 <^> That can stay the same. What is the actual function for outputting, though, in PSOX? 21:15:49 <^> Because that gets an extra FD peramater 21:15:57 <^> But, you can still keep the sometimes-useful 'current FD' model -- 21:15:58 That is outputting 21:16:08 <^> Sgeo: Uh, but you have FDs. 21:16:11 <^> How do you output to the current FD? 21:16:26 Exactly as I said 21:16:26 0x00 0x00 char 21:16:45 <^> Ah, I see. 21:16:46 Hmm. That's no one-letter nick. 21:16:52 <^> OK then: 21:17:07 <^> You have, at the base, functions which take an fd, and the rest of the parameters. 21:17:11 <^> This includes a special output one. 21:17:11 <^> THEN, 21:17:14 <^> On top of that, 21:17:21 <^> you layer on a 'current FD' system 21:17:22 brb 21:17:32 <^> which is basically all the functions, sans FD parameters, and a 'change FD'/'get FD' functions 21:17:35 <^> Then, 21:17:47 <^> you use your model of output - i.e. JUST OUTPUT the character! - to use the implicit-FD versions. 21:17:49 <^> Simplel. 21:18:14 back 21:19:00 Would it be just simpler for a GUI client to just switch FDs every two seconds? 21:19:08 <^> Sgeo: No. 21:19:14 <^> It would be far harder to code with. 21:19:20 Or maybe special input/output functions in the system domain? 21:19:21 <^> Plus, this model of output/input is used by C and similar 21:19:24 <^> fputc, and putc. 21:19:26 <^> fprintf, and printf. 21:19:27 <^> etc 21:19:33 <^> (fgetc, and getc, ...) 21:20:37 heh, backtick is already taken 21:21:26 -!- ^ has changed nick to s. 21:21:30 s, would input/output functions in the System domain be ok? 21:21:30 -!- s has changed nick to a. 21:21:45 a, do you have ehird on highlight? 21:21:48 Yes 21:21:51 Anyway sgeo: 21:21:52 ok 21:21:59 I have some simple questions to help me understand 21:22:16 How is the current model of IO accomplished? How do I select an FD, input, output, etc. 21:22:21 Answer that, and I'll explain my suggestion. 21:22:52 0x00 0x02 0x10 f 0x0A sets the current outfile FD 21:23:01 0x00 0x02 0x11 f 0x0A sets the current infile FD 21:23:36 There are 4 builtin FD numbers: 0x00 is the current outfile FD, 0x01 is the current infile FD, 0x02 is stdout, 0x03 is stdin 21:24:05 Okay. 21:24:08 And after that. 21:24:12 how do I do stuff with them? 21:24:26 I already described input and output 21:24:45 Do it again, I don't grasp it yet. 21:25:12 Output is either just outputting the character if it's not 0x00 21:25:22 Or just output 0x00 0x00 first to escape the next char 21:25:37 Input is 0x00 0x01 (num-of-bytes) 0x0A 21:26:07 Sgeo: Specify what 0x01 and 0x02 are in english 21:26:20 ehird: Domain specifiers 21:26:29 Sgeo: Yes... 21:26:30 What domains. 21:26:39 0x01 is the input pseudodomain 21:26:53 0x02 is the System domain 21:26:53 define `pseudodomain' 21:27:16 pseudodomain because 0x01 doesn't have functions like a normal domain. The num-of-bytes pretends to be the function name, but it isn't 21:27:31 OK. 21:27:44 Well, my idea is quite radical then. 21:27:46 But it's very simple.. 21:28:00 0x01 will no longer be the input pseudodomain. It will be the 'IO domain'. 21:28:02 With me so far? 21:28:06 ok 21:28:12 OK, and, 21:28:19 There will be a function in it for input. 21:28:24 So, something like: 21:28:43 0x00 0x01 0x00 (num-of-bytes) 0x0A 21:28:43 (Not exact synatx, maybe. But you get the idea?) 21:29:01 I get the idea, but it's an extra byte of overhead :/ 21:29:14 Sgeo: With me? 21:29:14 -!- a has changed nick to ehird. 21:29:18 yes 21:29:19 brb 21:29:23 Sgeo: ping 21:29:27 oh 21:29:28 sorry 21:29:29 I lagged. 21:29:39 Also, I have a suggestion re: byte of overhead 21:30:07 If the PSOX server has nothing to send, and a character is requested, it sends off a character from $FD. (Don't think about this too much. I'll explain it once I get my concepts down.) 21:30:25 back 21:30:48 ehird, the PSOX server doesn't know when a character is requested 21:30:57 Sgeo: It can, though, quite easily. 21:31:05 I might give an example, but that's not the point.. 21:31:10 The point is the idea I am explaining. 21:31:18 Anyway, you can see the logical outcome: 21:31:26 0x00 0x01 0x01 (char) 0x0A 21:31:35 (Please ignore that these are very verbose ways to do IO, I will fix that later..) 21:31:37 ehird, select.select() doesn't work on Windows last time I checked docs 21:31:40 Sgeo: With me so far? 21:31:48 (Don't. think about it. too much!) 21:32:10 ok 21:32:35 Sgeo: OK, now what I propose 21:32:48 It would look like this, in the core: 21:32:51 0x00 0x01 0x00 (fd) (num-of-bytes) 0x0A 21:32:59 0x00 0x01 0x01 (fd) (char) 0x0A 21:33:08 This is obviously not an ideal interface for the programmer. 21:33:14 Sgeo: But it's a solid base for IO. 21:33:20 And with that, we can build upon it: 21:33:33 0x00 0x01 0x02 (fd) 0x0A ;; change fd 21:33:40 0x00 0x01 0x03 0x0A ;; get fd (not required) 21:33:52 0x00 0x01 0x04 (num-of-bytes) 0x0A ;; no need for fd param -- works on current fd 21:33:59 0x00 0x01 0x05 (char) 0x0A ;; ditto 21:34:16 Now, with all of this we have an IO system more powerful than PSOXs. But it's still not that convenient! 21:34:25 So, what we can do.. is this: 21:34:31 You know your current stuff for output? 21:34:33 i.e. just output it 21:34:36 with a possible escape? 21:34:39 yes 21:34:45 Well, that ends up using "0x00 0x01 0x05 (char) 0x0A" 21:34:47 It's just sugar. 21:35:15 The input thing is valid, and maybe you can check for input, or maybe you can have a special other magic sugar -- like "0x01 bytes", and escape that... You already have one already. But, this isn't such a major problem. 21:35:26 The point is that it would make e.g. the GUI lib *very nice* to use 21:35:38 and it also lets you unify the infile/outfile mess thing 21:36:39 I'm not sure I'm willing to change around the whole current structure, but that stuff could go in a custom domain.. 21:36:53 -!- ihope has quit (Read error: 110 (Connection timed out)). 21:37:02 Sgeo: And why not? 21:37:07 There is no programs to speak of. 21:37:12 This is more elegant, and it's what every other language uses. 21:37:21 It is also just as convenient if you take into account my sugar ideas.. 21:37:37 Maybe even more convenient, with my 0x01 sugar. (Shorter programs, 0x01 is easy to make in BF) 21:37:58 Also, when you start doing things like e.g. heavy file IO 21:37:59 (Which is not that uncommon I must add!) 21:38:04 it will be a lot nicer 21:38:07 and shorter 21:38:56 Well, the thing with the 0x01 sugar is that how do we make sure it gets to the server before the client requests it? 21:39:11 the reason 0x0A is at the end of every function is to make sure the server gets it 21:39:56 Sgeo: Simple 21:40:03 0x01 only reads one byte 21:40:08 the syntax: 21:40:08 0x01 0x?? 21:40:11 'read ?? bytes.' 21:40:32 Suppose I have a BF interpreter that only sends out at a 0x0A 21:40:36 You don't need an ending marker because it's not variadic. 21:40:37 and I have this BF program: 21:40:38 And you can escape it like this: 21:40:38 0x01 0x01 21:40:40 Now of course the question 'how do you input one byte??' 21:40:45 Probably, by 0x01 0x00. 21:40:48 +.., 21:40:52 Since you never actually want to read 0 chars. 21:40:54 What happens? 21:41:00 Sgeo: Well, let's see 21:41:04 that's 0x01 0x01 21:41:09 Then waits 21:41:14 Yes 21:41:16 Well 21:41:16 But the BF interpreter never sends it to the server 21:41:22 Sgeo: In my semantics if you look 21:41:24 that actually escapes 0x01 0x01 21:41:25 Because there's no 0x0A to flush it 21:41:30 oh 21:41:31 uh 21:41:33 no interp does that 21:41:36 no sane one 21:41:44 i guess 21:41:45 I remember GregorR being worried about oit 21:41:46 it 21:41:58 but fine 21:41:58 this: 21:41:58 0x01 0x?? 0x0A 21:41:58 Sgeo: Actually, that's good 21:41:58 Because: 21:41:59 0x01 0x0A 21:42:17 means just a literal \1 21:42:17 Hmm, wait 21:42:17 No 21:42:17 IGNORE THAT 21:42:17 :) 21:42:20 Sgeo: OK: 21:42:26 -!- BMeph has joined. 21:42:31 0x01 0x?? 0x0A 21:42:32 is a macro for 21:42:49 0x00 0x01 0x05 0x?? 0x0A 21:42:49 and: 21:42:49 0x01 0x01 0x0A 21:42:49 is a literal \1 21:42:54 IF you want to actually read one char: 21:42:57 0x01 0x00 0x0A 21:43:27 So, here's a "read one char" BF program: 21:43:42 +.-.+++++++++., 21:43:46 A "cat one char": 21:43:48 +.-.+++++++++.,. 21:43:50 But obviously 21:44:01 Oh wait 21:44:01 Sgeo: You get an EOF indicator, right? 21:44:01 OK. Then this: 21:44:17 +.-.+++++++++.,,. 21:44:17 That doesn't work if it's 0x00, though.. 21:44:24 EOF Indicator, Num-of-bytes-not-EOF, bytes, padding 21:44:40 But this is simple enough to fix: 21:44:45 +.-.+++++++++.,,>.+.+++.<.>++++++++++. 21:44:48 Is what currently happens when you request a fixed number 21:44:52 Sgeo: There's a "read one char, output": 21:44:57 ah 21:45:00 well then you just add more ,s 21:45:00 :P 21:45:05 But, you get the basic idea. 21:45:08 And I would say: that's nice and short! 21:45:18 And it allows for my cleaner semantics 21:45:27 So I would say it's a good thing 21:45:27 pikhq: Opinions? 21:45:33 0x01 0x?? 0x0A is only one byte less than 0x00 0x01 0x?? 0x0A 21:45:43 although it just frees up domain 0x01 21:45:45 I guess 21:46:07 Sgeo: Yeah, well it might be only one byte less, but the benefits that come with it are nice, very nice! 21:46:17 And it doesn't really free up domain 0x01. 21:46:21 That's the IO domain in my semantics, remember? 21:46:34 Yes, frees up 0x01 for your IO domain is what I meant 21:46:39 right 21:46:52 IMO, it's cleaner. And it's the most widely used model of IO - C, etc. use it 21:47:08 Plus, when you do heavy file I/O (or, in my case, heavy widget-FD I/O) it makes programs a lot nicer, I think 21:48:25 I suppose you'd be opposed to making input 0x00 0x01 fd num-of-bytes 0x0A? 21:48:54 and output 0x00 0x00 fd char ? 21:49:19 Sgeo: Of course... domains are the best way to organize this. 21:49:25 Besides, a domain allows for expansion of IO capabilities. 21:49:34 Like, an 'isEOF' function or something. 21:49:45 Well, input gives an EOF indicator 21:50:20 Or I could make a custom IO domain.. 21:50:26 Sgeo: I know it does. 21:50:27 it was an example 21:50:33 Can't you stop taking every example I give literally? 21:50:42 And a custom IO domain means you have two models for IO, neither of which is integrated 21:50:49 Which is ugly, and so is the whole 'pseudodomain' idea. 21:53:05 hm 21:53:10 brb 21:55:51 back 21:56:00 It would be a major change :/ 21:56:05 !bf_txtgen IO 21:56:07 !bf_textgen IO 21:56:11 Huh? 21:56:42 !help 21:56:45 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 21:56:47 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 21:56:55 Sgeo: What's the problem with that? 21:56:57 Who is going to die? 21:57:29 Why isn't bf_txtgen working? 21:57:31 !ps 21:57:35 1 Sgeo: bf_txtgen 21:57:37 2 Sgeo: ps 21:58:48 !bf_txtgen it does just slowly 21:59:15 Too slowly. Is there an online alternative? 22:00:43 Making your changes would not be easy 22:01:09 Sgeo: there's a java alternative. 22:01:12 Sgeo: and yes it would. 22:01:15 38 +++++++++[>++++++++>>><<<<-]>+.++++++. [67] 22:01:20 its just a few python files 22:01:21 sheesh 22:04:00 How often would apps need to do I/O to arbitrary FDs? 22:04:12 Sgeo: Quite often.. 22:04:18 When using multiple files when using the gui toolkit ... 22:04:23 133 +++++++++++++++[>+++++++>++++++++>++><<<<-]>.>----.>++.<<-----.>-----.<+.>++++.>.<<+++++.>++.--.+.>.<-.-------.<+++++.++++++++.>.<++. [913] 22:04:25 And besides they still have the short interface. 22:04:37 Couldn't those cases be covered with a custom domain? 22:06:37 Sgeo: Yes, but that's ugly. 22:06:42 And besides, my way has no downsides. 22:07:17 Maybe your way could go in PSOX 1.1? 22:08:27 Sgeo: Why not 1.0? 22:08:30 There's no programs to speak of. 22:08:43 The current PSOX Server doesn't count as a program 22:08:44 ? 22:09:05 Sgeo: It wouldn't require many changes.. 22:09:10 Gimme svn access and I'll branch off and do it 22:09:14 ok 22:09:24 ehird, do you have an Assembla account? 22:09:27 Sgeo: no 22:09:28 :) 22:09:34 get one 22:09:41 brb 22:09:55 haha 22:09:57 ok, later ;) 22:10:43 Why later? 22:12:16 quite busy -- you'll see 22:12:37 busy with PSOX, or with something else? 22:12:42 something else 22:13:10 Well, give me your email address, and I'll invite you 22:15:06 eh 22:15:11 penguinofthegods@gmail.com 22:15:37 ehird, so you did have an Assembla account.. 22:15:42 did i 22:15:43 :| 22:16:13 http://www.assembla.com/user/best_profile/dxUzeMKqWr25QeaaeP0Qfc 22:17:38 -!- jix has quit ("CommandQ"). 22:19:11 ahh yes 22:19:11 for Blink 22:19:41 Blink? 22:20:01 a quite old project of mine 22:20:06 it was a CMS built on Rails, minimal 22:20:08 designed to run my site 22:20:13 it was based on blocks and views.. 22:20:25 a block is a hunk of content, like a page or blog post or a picture with text or anything 22:20:34 a view specified how they were displayed, and could be controlled with ruby code 22:20:44 and you could have parent views and stuff 22:20:54 so you could have a 'site' view which displayed the menu and header and footer 22:21:00 then a 'blog' view which had that as the parent 22:21:09 and some small ruby code to tell it what blocks to dispaly and how. 22:21:24 it never got far 22:22:19 Sounds interesting.. why didn't it get far? 22:23:02 Sgeo: 1. Rails sucks 2. I am really terrible at keeping projects going 22:24:08 Sgeo: But basically the same idea has carried throughout various languages and mindsets and I still plan to make somthing like it for my site. 22:24:15 I think the timeline is: 22:24:25 -!- lispy has quit (Read error: 110 (Connection timed out)). 22:24:37 Blink, , Alchemy, various Alchemys (Alchemii?), , 22:26:17 What CMSs are there for Python? 22:26:42 -!- timotiis has quit (Remote closed the connection). 22:31:15 -!- timotiis has joined. 22:31:35 -!- oerjan has joined. 22:31:59 re timotiis hi oerjan 22:32:27 hello 22:33:24 hallo 22:34:03 ehird: i changed the topic back when lispy arrived and didn't know what we were - thought it might be an idea to tell it in the topic :) 22:34:14 Sgeo: no good ones 22:34:18 in fact, cmses full stop suck 22:34:25 they are either bloated or restricted. 22:35:51 ehird, whachu working on? 22:36:52 So FALSE isn't considered esoteric anymore? 22:37:15 BMeph: uhm 22:37:19 since when 22:38:07 I didn't see it in EgoBot's list, there. 22:39:30 It doesn't interpret all languages.. 22:39:42 esolangs.org/wiki/Language_list 22:40:07 And last I checked, EgoBot wasn't PSOX enabled 22:41:54 Hmm, so MoinMoin is a wiki engine, that's used for CMS. I think that says more about CMS tech than anything else. 22:43:58 moinmoin sucks 22:45:42 -!- RedDak has quit ("I'm quitting... Bye all"). 22:58:17 -!- ihope has joined. 22:58:29 Rice toes. 23:02:03 Tice roes. 23:19:40 göa 23:20:05 -!- bsmntbombdood has quit (Remote closed the connection). 23:20:45 -!- bsmntbombdood has joined. 23:32:13 -!- ehird`_ has joined. 23:32:30 And what's a göa? 23:34:24 nohird 23:36:40 * oerjan tried googling it but had no success 23:36:55 even limiting to swedish pages 23:37:11 problem is google doesn't distinguish it from "goa" properly 23:38:15 ah exact match is better 23:38:49 bah the top hits seem misspellings of "göra" 23:40:19 perhaps it is not an actual word 23:40:28 you'd think.- 23:40:34 it _does_ seem like it could be cognate to the norwegian "gjř" 23:40:59 dig deeper. 23:42:30 which means feeding or dogs barking 23:46:04 * Sgeo randomly asks if it's a swear word 23:46:22 mind you that one is not easy to find either 23:46:51 i am tending towards believing "göa" is at best a deliberate misspelling 23:46:54 especially in the context 23:48:06 oerjan: Is 'gora' of any relation to Agore? :p 23:48:10 Agora, even. 23:48:38 doubtful. it means to do or make 23:49:06 norwegian "gjřre" 23:52:36 Agora is named after the Agora, isn't it? 23:52:55 i should think so 23:53:23 -!- ehird has quit (Read error: 113 (No route to host)). 23:55:02 (actually there is a subtle difference between norwegian and swedish there - norwegian rarely uses it to mean "make", only "do") 23:57:09 Any relation to the Spanish word "hacer"? 23:57:21 That means to do or make. 23:57:38 from latin facere 23:57:55 i am not sure but i _think_ latin f can correspond to germanic g 23:58:05 via indoeuropean gh 23:58:12 Cool. 23:58:24 ah no 23:58:40 I think I also remember f corresponding to h somewhere... oh, right here. 23:58:40 wikipedia says facere is cognate to "do", rather 23:58:55 latin f -> spanish h, yes 23:59:04 The word "do" comes from the word "facere"? 23:59:10 dh -> f in latin, d in germanic 23:59:24 My. 2008-02-18: 00:00:15 there is some strange unicode i cannot read on that proto-indoeuropean in http://en.wiktionary.org/wiki/facio#Latin 00:00:24 Now don't tell me the English word "chase" comes from "fugare". 00:01:04 Proto-Indo-European notation is ridiculous. :-P 00:01:15 okay, okay, göa just sounded pretty. 00:01:31 you have to understand, i've been drawing eer diagrams for hours. 00:01:37 Shall I start referring to Agora as Agöra? 00:01:48 with the buggiest drawing program in the world 00:01:52 actually "chase" is from latin "captare", it says 00:02:27 wonder if there's a linux port for paint... i miss paint... 00:02:41 I'd be slightly surprised if the word "capture" didn't come from the same word. 00:02:46 indeed 00:03:32 actually they're both probably derived from capere 00:03:58 And "capital" and "cabeza" both come from the same Latin word, I'd expect. 00:04:13 capital is from caput, i think 00:04:17 = head 00:06:25 cognate with head, more or less 00:06:42 "Old English h.afod, from Proto-Germanic *khaubuthan, from Proto-Indo-European *kauput- (..head, bowl..). Cognate with German Haupt, Dutch hoofd, Swedish huvud; the Indo-European root is also the source of Latin caput." 00:07:31 Wow. 00:07:56 h.afod from *khaubuthan? 00:08:32 that . is e with a bar btw 00:09:12 indo-european k -> germanic h is pretty basic 00:09:46 But then you still have the fod from buthan. 00:09:49 as is p -> f 00:10:10 i don't know how the proto-germanic fits in between 00:10:34 and t -> th which must have been weakened afterwards 00:11:10 Makes sense, I guess. 00:11:22 That "an" on the end was just a passing fad, then. :-P 00:11:31 http://en.wikipedia.org/wiki/Grimm's_law 00:11:40 probably just an inflection yeah 00:13:53 -!- slereah_ has quit (Remote closed the connection). 00:14:14 -!- slereah_ has joined. 00:18:43 there seems to be an entire class of nouns getting vowel+n endings in germanic, in norwegian the ending turns into -e, sometimes called "weak" nouns 00:18:53 german has something of the same, though not in this word (e.g. Name, with occasional -n) 00:18:53 (it's "hode" in norwegian) 00:19:28 äöo. yuao. ööai. {ns} 00:20:40 (some norwegian dialects inflect weak nouns rather differently from strong ones) 00:21:56 that's the case in swedish too i think, e.g. plural -or vs. -ar 00:22:24 your mother is a weak noun. 00:34:37 -!- ihope_ has joined. 00:37:09 aha! the th -> d is http://en.wikipedia.org/wiki/Verner%27s_law 00:37:36 Linguistics? Here? 00:37:45 sure 00:37:46 SimonRC, this is all your fault :o 00:38:14 no mostly mine 00:38:20 Of course! #linguistics doesn't exist--wait, actually, it's much bigger than this channel. 00:38:46 Heh. 00:39:59 It has almost a long novemnonagintilliard people in it. 00:40:35 Which I guess is 10^597. 00:41:05 That's a whole lot of people. 00:41:32 Yeah. 00:45:42 Not as much as a long centillion, though. 00:46:37 Much less a long nongennovemnonagintilliard. 00:46:59 Infinity. Plus one. 00:48:15 -!- timotiis has quit ("leaving"). 00:48:39 Gasp. 00:50:37 Here's a fun word: milliatillion. 00:50:54 10^3003. 00:50:59 Heh. 00:51:24 Although really, above 10^100, things start to get useless. 00:51:43 Above that, it's mostly silly probabilities and theoretical mathematics. 00:52:02 -!- ihope has quit (Read error: 110 (Connection timed out)). 00:54:01 slereah_: graham's 00:54:20 Graham's number, the biggest important number. 00:54:44 -!- calamari has joined. 00:54:47 Hi calamari 00:54:58 Have you been keeping up with PSOX? 00:55:04 no, sorry 00:55:10 One word: wget.b 00:55:22 how big? 00:55:30 http://pikhq.nonlogic.org/wget.b 00:55:30 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 00:55:44 -!- slereah_ has joined. 00:55:46 Actually fairly trivial with Sgeo's SVN; it has an HTTP domain. 00:55:54 (binding HTTP to a file descriptor) 00:55:59 Graham's number isn't very important. 00:56:16 It's the largest important number. 00:56:18 slereah_: the real value is closer to 6, apparently. 00:56:18 Are there any bigger numbers that have any importance at all? 00:56:29 It's at least 11 and probably bigger. 00:56:59 Well, if it's bigger than 11, it shouldn't be too far from Graham's number. 00:57:14 Amusingly, Graham's number is too large to be written in scientific notation. 00:58:34 pikhq, did you have any trouble writing wget.b? If so, what? 00:58:35 hm there seems to be a typo in the Verner article, th -> d should be th -> dh 00:58:37 I think I'll write a program to list out the name of a number. 00:59:20 Sgeo: The cat bit was slightly difficult, actually. 00:59:35 But even that wasn't too hard, since PSOX has decent debugging facilities. 00:59:43 -i? 00:59:51 Yeah; that was really helpful. 00:59:53 :D 01:03:15 It was basically made while trying to chase down a bug which turned out to be a * where there shouldn't have been a * 01:04:33 one thing stupid about psox 01:04:36 is its safety stuff.. 01:04:38 the os provides that stuff alread 01:04:39 y 01:05:17 pretty cool 01:05:36 calamari, PSOX in general, or wget.b, or what? 01:05:40 both 01:05:46 :D 01:05:57 does it require a special interpreter? 01:06:14 calamari, yes, svn co http://svn2.assembla.com/svn/psox/trunk 01:06:34 Well, it's not a BF interpreter itself 01:06:38 oh, so all the existing esolang interpreters/compilers will need to be redone to support psox? 01:06:49 It goes between a standard interpreter and stdio 01:06:52 calamari, not at all 01:07:04 nice 01:07:06 Misunderstood your question, is all 01:07:15 Sgeo: will you remove the safety stuff? honestly, my os is very good at that and its going to be a pain coding the domains i want to with it 01:07:26 ehird`_, it's going to be a pain to do: 01:07:35 if "nogui" in G.SAFETYLIST: 01:07:41 MY_VERSION = 0 01:07:43 else: 01:07:46 MY_VERSION = 1 01:07:49 that's a pain? 01:08:02 Sgeo: the whole idea is a pain 01:08:04 or do you mean ffi? If ffi, just make the domain require ffi as a safety option 01:08:28 Sgeo: the whole idea is a pain 01:08:36 security? 01:08:37 How is it a pain? 01:08:43 oh.. safety 01:08:47 what does it do? 01:08:56 calamari: it is half-assed disabling of certain functions in psox. 01:09:01 G=g64, where g1 = 3^^^^3, and gn = 3^(gn-1)3. . . 01:09:03 that can already be done from within the os 01:09:07 Holy hell, that's big. 01:09:11 calamari, on the command line, if for example, I don't want PSOX to go online, I can give the commandline option -s nonet 01:09:17 Sgeo: or you could tell your os. 01:09:27 Or if I want to allow it to go outside the sandbox, I can give -s fullfileio 01:09:39 idea: if i removed the safety right now, how many people do you think will notice? 01:09:40 :) 01:09:45 ehird`_, I will 01:10:20 yes... because you like the feature; not because of it being any good 01:10:34 I suggest that if you don't want certain functions, you could run it sandboxed or as a less privileged user 01:11:02 pikhq, what's your opinion on the safety debate? 01:11:08 calamari: exactly. 01:11:22 but for windows, that wouldn't work very well :) 01:11:23 alternatively... if you don't want to do that... just remove the import from the code! seriously. 01:11:28 calamari: see what i just said 01:11:30 also 01:11:36 you don't run external code without reading it 01:11:38 if you're paranoid like that 01:11:43 its just like downloading and running a perl script!! 01:11:52 about as readable too. 01:12:25 ehird`_: did you help write PSOX? 01:12:40 calamari: no, but i have svn access since a few seconds ago 01:12:48 and have sat by and complained since forever 01:12:48 calamari, ehird helped shape some parts, and is now trying to redo how I/O is done 01:12:57 and write a gui domain 01:12:58 and an ffi domain 01:13:01 and a domain domain 01:13:02 ehird`_: just seems like you're kinda hostile towards it ..hehe 01:13:10 calamari: just that feature. :-) 01:13:26 calamari, ehird`_ has been less hostile towards it since he pointed out that most of the bitwise stuff could be removed 01:13:34 can it? 01:13:39 calamari: yes. 01:13:41 err 01:13:43 boolean stuff. 01:13:48 I think ehird`_ originally became hostile when some stuff he suggested was removed (TDATA (the "ANY" type)) 01:13:52 boolean sure 01:13:57 right, boolean, not bitwise 01:13:58 Mybad 01:13:59 Sgeo: nah 01:14:00 it was before that 01:14:01 i think 01:14:01 :P 01:14:05 bitwise is hard for bf tho.. and/or/xor 01:14:12 although not impossible 01:14:16 calamari, I meant removed boolean 01:14:33 http://trac2.assembla.com/psox/browser/trunk/spec/psox-utils.txt 01:15:07 Sgeo: can i just remove the safety stuff and we'll see who exactly is going to write a brainfuck virus and regular people who won't read the code will download it, psox, an interpreter, and blindly run it? 01:15:57 ehird`_, I don't see why you're so violently opposed to the safety stuff 01:16:28 Sgeo: it's crap pointless and will make writing stuff harder for no reason 01:16:46 I'm quite fine with the safety stuff as long as there's some switch to disable it. 01:17:02 ihope_, there's really nothing to disable 01:17:10 ihope_: nobody will use it 01:17:11 What is the safety stuff, then? 01:17:21 iit's just pointless and doesn't help devs 01:17:24 seriously 01:17:36 ihope_, putting -s nonet to disable internet acces, or -s fullfileio to not force file I/O to be in a sandbox 01:18:03 ... which is of course useless as your os can do it anyway 01:18:06 and you can just edit the psox code 01:18:07 Sgeo: are these options defined by the libraries, or are they hardcoded into the executable? 01:18:14 File I/O is in a sandbox by default? 01:18:16 calamari: libraries have to go around them... 01:18:17 ihope_: yep 01:18:19 calamari, defined by the libraries 01:18:22 and 'normal users' aren't going to use psox anyway 01:18:27 and people who will use psox 01:18:30 CAN READ BRAINFUCK CODE!! 01:18:40 it is JUST LIKE downloading a Perl program, can't you see that Sgeo? 01:18:44 Or even Java! 01:18:51 Who said I can read Brainfuck code written by others? 01:18:53 How come they don't have any need for it; but PSOX does? 01:19:01 And WHO IS GOING TO WRITE A BRAINFUCK&PSOX VIRUS? 01:19:02 Sgeo: so if I'm writing my own library calamari::blah .. it could add -s abcd to do something? 01:19:09 calamari, yes 01:19:13 Don't you see...? 01:19:17 brb 01:19:20 Are there other safeties that are enabled by default? 01:19:24 Sgeo: that seems fine to me.. *shrug* 01:19:40 Sgeo: Don't you see, though? I honestly don't see how you don't get what I'm saying 01:19:53 If so, it seems that there is indeed something to disable. 01:20:06 ehird`_: if I'm understanding what he is saying.. you don't even need to worry about the safety stuff if you don't care 01:20:20 calamari: you most certainly do 01:20:44 ehird`_: why? if my calamari:: library doesn't want to respect -s nonet, it would just ignore it 01:21:02 calamari: ahh but it needs to respect -s nocalamarilibrary 01:21:08 What calamari said 01:21:13 and also if i want stuff included in the main psox distro 01:21:14 i'd have to 01:21:31 Sgeo: Name one use case for the safety, and tell me how it is different from just running a Perl script? 01:21:40 And also, tell me who will write a PSOX virus. 01:21:48 ehird`_, someone who hated me 01:21:54 ... 01:21:58 or some other PSOX fanatic who is unable to read BF code 01:21:59 ehird`_: if you don't like the standard library, make one without the safety stuff.. problem solved? 01:21:59 well 01:22:10 I HATE YOU SGEO!! Wait.. I know... I'll write a PSOX virus! 01:22:14 MWAHAHAHAHHAHAHAHHAHAHAHAHAHAHA!!!!! 01:22:19 :) 01:22:29 what's psox? 01:22:42 http://esolangs.org/wiki/PSOX 01:22:52 Sgeo: anyway, what if I can't read Perl? 01:22:53 thx 01:22:55 Tritonio_: it's an esolang wrapper that extends its functionality 01:23:10 filesystem functions etc? 01:23:13 ya 01:23:17 Tritonio_, eventually, yes 01:23:26 memory management? 01:23:29 Sgeo: Here are some scenarios: 01:23:32 1. I don't know Perl 01:23:33 wraps around stdin and stdout? 01:23:35 Tritonio_, currently, there are only math utilities and HTTP 01:23:35 2. I download a Perl script 01:23:36 3. I run it 01:23:38 ---- 01:23:43 1. I don't know Brainfuck. 01:23:46 http??? lol. nice... 01:23:48 2. But I have a brainfuck interpreter and PSOX! 01:23:55 3. And I like downloading PSOX programs! 01:24:00 4. And someone has written a PSOX virus! 01:24:03 5. And I download it and run it! 01:24:20 Sgeo: The Perl script is 5 times more likely to be a virus; PSOX just does not have the need for these features. 01:24:52 ehird`_: I like the idea that my code will have the ability to read command line options 01:25:09 calamari: Sure. That's great and all. I'm just highlighting a problem. 01:25:12 Sgeo, why don't you simply map the functions of a high level language? like python... 01:25:26 And PSOX will offer normal command-line argument handling, presumably. 01:25:28 calamari, thing is, there is a virtual command line that a PSOX client can read (-c fakecommandline) 01:25:47 A bit ugly, but I don't know how to do it better 01:25:54 wget.b uses it 01:26:12 Sgeo: that sounds fine.. sh/bash do it that way 01:26:50 calamari, but that weighs in in ehird`_'s favor in the debate, so -s isn't needed for that sort of functionality 01:26:58 so you could do -c -s nogui 01:27:22 Well, I think that would leave the virtual command line blank actually 01:27:26 I'm not sure how it works 01:27:30 hehe 01:27:37 -c "-s nonet" 01:27:54 -c would generally be used for the client to read 01:28:03 but then the program would have to handle it 01:28:10 -s is instructions to the libraries usually regarding what to allow and not to allow 01:28:11 rather than PSOX 01:28:21 right 01:28:48 well how about this? -s HTTP=no 01:28:55 then it'd disable HTTP:: 01:29:12 Hm, I'm not sure how I'd go about coding that 01:29:23 Although that does make sense 01:29:28 isn't HTTP definied in its own file? 01:29:33 I don't know how optionparser works 01:29:41 ahh 01:29:45 but the safety stuff could be stored in a dictionary I guess 01:29:55 neither do I.. haven't really studied perl.. just python 01:30:15 The reference PSOX interpreter is Python 01:30:19 -!- slereah__ has joined. 01:30:21 *is in Python 01:30:21 that's just loading&unloading domains 01:30:21 then the libraries wouldn't have to deal with safety at all 01:30:24 which is fully reasonable 01:30:27 but its nothing to do with safety 01:30:33 calamari, yes they would 01:30:33 ahh cool 01:30:51 Sgeo: no they woulen't 01:30:51 well I can help you then.. I've done a lot with python parsing 01:30:59 anyway 01:31:01 calamari, currently, PSOX.py uses regex 01:31:02 that feature is trivial 01:31:20 http://trac2.assembla.com/psox/browser/trunk/impl/PSOX.py 01:31:59 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 01:32:37 ehird`_, you just removed safety from the trunk 01:32:41 * ehird`_ smirks 01:32:47 I was wondering how long it would take you to notice. 01:34:41 ehird`_ broke PSOX 01:34:46 haha 01:34:47 how 01:34:49 :o 01:34:56 MY_VERSION is required 01:35:52 fixed it 01:36:22 ehird`_, no you didn't 01:36:26 You fixed it in one place 01:36:31 Sgeo: the rest were already fixed 01:36:31 :/ 01:36:34 they all have MY_VERSION 01:36:45 dc_exampledomain? 01:36:51 ah 01:36:53 ok 01:37:04 Also, one of the system domain functions looks at G.SAFETYLIST 01:37:07 okies 01:37:09 i'll fix too :P 01:37:23 ah 01:37:23 well 01:37:25 ehird`_, going to fix the specs too? 01:37:27 that's specifically safety-related 01:37:32 so, i'll comment it out and reserve it for use 01:37:53 and tyes 01:38:09 calamari, pikhq, do either of you find it objectionable that ehird`_ just unilaterally made a change without my permission? 01:38:25 perhaps 01:38:28 but i don't think anyone noticed 01:38:30 because nobody used it. 01:39:21 Sgeo: anyway, all fixed and spec updated. 01:40:20 No, python PSOX.py python testcustdomain.py isn't working 01:40:36 Are you still importing SAFETYLIST? 01:40:40 Sgeo: No. 01:40:43 I THINK i fixed that 01:40:45 Oh, maybe in PSOX.py 01:40:46 XD 01:40:54 no, not in PSOX.py 01:40:59 ok 01:41:00 then time to hunt 01:41:33 ah 01:41:34 exampledomain 01:41:37 thanks grep(1) 01:42:12 should be ok now 01:42:19 Or you could have assigned a blank list to G.SAFETYLIST 01:42:52 Works now 01:42:55 Sgeo: dunno why.. but I gues I had to see something like wget before I woke up and got interested :) 01:43:14 although I'm not completely thrilled by the impl.. seems like it could be simpler 01:43:27 calamari: it could be 01:43:32 you could practically golf it 01:43:56 so if you don't mind.. I may fool around with a fork and see what comes of it 01:44:00 calamari, thank pikhq for wget.b 01:44:14 * Sgeo doesn't mind 01:44:23 then if you like it, could merge it 01:44:29 calamari: please don't add safety... i can't be bothered to have another debate 01:44:30 :P 01:44:38 ehird`_: lol.. 01:44:50 ehird`_, we really haven't finished our debate, you unilaterally removed safety 01:44:52 you agreed with what I had to say about it I think 01:45:01 Sgeo: Would a C psox be a good idea? 01:45:17 ehird`_, not if it would be difficult to implement domains 01:45:18 I mean, as the main impl. Justification: 01:45:21 Sgeo: Oh, no. 01:45:25 You can embed Python and stuff. 01:45:25 ehird`_: C isn't good at dynamically importing stuff, is it? 01:45:31 calamari: dlopen 01:45:37 dlopen? 01:45:39 dlopen. 01:45:45 Sgeo: But I mean, the justification 01:45:49 is that C has the best library support 01:45:52 so the FFI would be the richest 01:46:08 I think that'd tie it down to linux only 01:46:19 or posix or whatever 01:46:21 uhh 01:46:21 no 01:46:24 dlopen is on windows to 01:46:26 too 01:46:44 you can't be suggesting that all os's have the same libraries 01:46:44 No, Linux only is not an option. I complicated retrieving input so PSOX would work with Windows 01:46:57 did you not read.. 01:47:09 calamari: I assume Sgeo isn't actively planning to support VMS. 01:47:17 Sgeo: I just said.. 01:47:23 dlopen is on windows 01:47:39 as long as you write a 3-line wrapper for it 01:47:40 ehird`_: can you give a dhopen example? I am not familiar with it 01:47:47 dlopen, sorry 01:47:48 Can't you embed C into Python? 01:47:48 calamari: eh, google... not off the top of my head 01:47:56 Sgeo: Uh, that's not quite the point. 01:48:03 And no, you can't without a lot of horrid pain. 01:48:29 ehird`_: the advantage of python is that it is cross platform with a standard set of libraries 01:48:37 c is pretty standard. 01:48:43 c has more libraries, too. 01:48:50 also, you overestimate how complex psox is... 01:48:56 and how many libraries it'd need to use 01:49:00 s is.. but besides the std lib, nothing else is standard 01:49:09 s->c 01:49:32 they'd pretty much have to install cygwin to use it 01:49:50 One objection to a C interp as ref is that I don't know C 01:50:57 no 01:50:57 they 01:50:58 wouldn't. 01:50:59 :| 01:51:02 seriously 01:51:14 i can write it as libc with a few wrappers for dlopen 01:51:15 that's it 01:51:20 +python stuff, if wanted 01:51:48 please provide a simple example, even if it's pseudocode 01:52:12 calamari: of what. 01:52:25 ok then 01:52:32 dlopen("foo.so", flag); 01:52:34 or 01:52:40 open_wrap("foo"); 01:52:45 which will call the win32api on windows 01:52:50 thanks 01:52:51 foo.so 01:52:59 that's foo.dll 01:53:03 on windows 01:53:25 but there is no guarantee that foo.so and foo.dll are even compatible 01:53:31 calamari: ... 01:53:33 this is for psox domains 01:53:36 on linux 01:53:38 and posix 01:53:41 they will be compiled to .so 01:53:42 on windows 01:53:43 .dll 01:53:47 and the wrapper will handle it 01:53:51 what is hard to understand about this? 04:03:31 -!- clog has joined. 04:03:31 -!- clog has joined. 04:03:35 Hi clog 04:03:54 because it is more cohesive 04:04:10 now all file I/O can go into a domain 04:04:26 rather than be a PSOX core function 04:04:33 :) 04:05:06 So both you and ehird want the same thing? 04:05:16 re: Shoving I/O into a domain? 04:05:22 so, for example if you imported a domain dedicated to input to 0x01, then you'd say 0x01 "text" 0x00 .. something like that 04:06:11 although it'd probably be more of an i/o domain, with file handling, etc 04:06:25 Why these redesigns now when PSOX is so close to completion of 1.0? 04:06:30 FIXED 04:06:41 oh, I'm not saying you should redesign anything 04:07:10 I'll implement it separately.. and then we can get together and see what we think of it 04:07:27 that way if it doesn't work out, you haven't lost a thing 04:07:33 sound ok? 04:08:34 I guess, but it seems like a lot of effort on your part for something that IMO isn't really needed 04:09:02 I understand 04:10:40 it's 6am here so i am going to sleep. i'll check it thoroughly tomorrow. calamari use this for reading from the table: >[>>>[-<<<<+>>>>]<[->+<]<[->+<]<[->+<]>-]>>>[-]<[->+<]<[[-<+>]<<<[->>>>+<<<<]>>-]<< i think it's ok. but maybe it's not... 04:10:45 goodnight everyone. 04:10:57 G'night Tritonio_ 04:21:51 Tritonio_: ok thanks.. 04:23:43 Tritonio_: dunno if you will see this, but I never used the reading code 04:23:57 I was examining the values directly from BF memory 04:31:19 Sgeo: TDATA is mentioned in psox-types.txt then never defined 04:32:05 calamari, oh right, that's old 04:33:21 VERY old 04:33:34 http://trac2.assembla.com/psox/browser/trunk/spec/psox-types.txt 04:33:38 says it's 2 days old 04:34:02 Nov. 8, 2007 old 04:34:18 Revision 10 old 04:34:26 what is STRINGNL needed for? I see the description, but why wouldn't a STRING work? 04:34:49 A STRING would work, but it's a bit of overhead to have a 0x00 right at the end before the 0x0A 04:35:08 oh, does every command have to end with 0x0A? 04:36:14 I guess it would, since you read lines only 04:38:03 no floating point? 04:38:07 The reason is for any esolang interpreters that only write out on a newline 04:38:11 No floating point 04:40:06 cool, just learned something about python.. j gives you imaginary numbers.. so a=1j, a+=1 gives a=(1+1j) 04:40:35 j=sqrt(1) 04:40:39 err -1 04:41:44 how many bytes is an FNUM? 04:43:05 FNUM(1) is 1 byte, FNUM(2) is two bytes, etc 04:49:23 http://trac2.assembla.com/psox/browser/trunk/spec/psox_net.txt does this look good so far? 04:51:04 I guess? 04:51:10 kinda tired now 04:55:42 Sgeo: did you guys consider another data representation for unknown length, escaped ASCII... where 0x01-0xFF are as normal, 0x00 0x00 = 0x00, 0x00 0xelse=EOF? 04:56:13 calamari, that might not be easy for BF to process 04:56:13 that would possibly incur less overhead than LNUM/LBYTES 04:57:37 it wouldn't be too bad.. you'd use the standard if=0 code 05:00:33 meh 05:00:45 while not eof { data=read_byte; if=0 { data=read_byte; if<>0 { set_eof } }; if !eof { do_something_with_read_byte } } 05:00:50 something like that 05:01:08 meh 05:02:34 what does meh mean? 05:03:06 or is that a way of dismissing what I said without actually coming up with a refutation? 05:03:21 most exquisitly horrible 05:03:35 *e 05:03:53 that's bf for ya 05:04:19 I think I like the easier-for-BF-to-process solution 05:04:39 doesn't seem like it's much different to me 05:05:01 you're still going to need the inner if to decide what to do 05:06:19 while not eof { data1=read_byte; data2=read_byte; if data1=0x01 { set_eof }; if !eof { do_something_with_data2 } } 05:07:07 note that my if<>0 is easy to code up, so that's nothing 05:08:26 see? they are essentially identical.. and now more capable langs don't have to output so much 05:08:32 or read so much 05:09:45 I still hold that the current way is simpler 05:10:17 yes it is slightly simpler at the expense of approx twice as much I/O 05:10:24 for BF only 05:10:30 other langs it is no simpler 05:11:48 Wait, what was your way again? 05:12:31 0x01-0xFF are as normal, 0x00 0x00 = 0x00, 0x00 0xelse=EOF? 05:12:39 00 = ESC, ESC 00 = 00, ESC 01 = END_OF_DATA 05:12:55 01=ELSE.. either way 05:13:42 I thought there was a flaw, but I was thinking of something else 05:14:16 Writing out to that format requires a bit of processing 05:14:37 an if statement is a lot of processing? 05:14:49 I rememeber trying to do something similar, where 0x01 escapes, and unescaped 0x00 is EOF 05:14:59 if data_to_output = 0x00 { output 0x00; output 0x00 } 05:17:32 I'm not saying you need to replace the other.. but it would be nice to see this as an alternative format 05:17:57 although with the way you are doing the processing it might be a pain to add it 05:18:03 Well, there's currently no provisions for clients to choose which format they want to do 05:18:23 And that's basically the only way I can think of adding it 05:18:40 ahh it's all up to the function receiving it? 05:18:57 right, then it'd have to be one or the other 05:20:04 serialization is such a pain :) 05:20:18 -!- ihope_ has quit (Read error: 110 (Connection timed out)). 05:22:23 brb 05:25:10 bedtime.. bbl 05:25:16 -!- calamari has quit ("Leaving"). 05:35:53 Ok, I think I mostly completed the docs for the Net domain 05:36:10 I'll then eventually work on the File I/O domain and base the FTP parts of the Net domain on that 05:39:22 I should probably go now 05:54:06 -!- rutlov has joined. 05:56:42 -!- oerjan has quit ("leaving"). 06:00:06 -!- rutlov has left (?). 06:26:09 0x00 0x08 0x01 0x05 0x00 0x00 0x50 0x0A 06:26:46 ^^ beginnings of an HTTP server 06:27:34 0x00 0x08 0x02 0x00 0x0A 06:27:44 0x00 0x02 0x11 0x04 0x0A 06:27:58 0x00 0x01 0x00 0x0A 06:31:03 0x00 0x08 0x01 0x05 0x00 0x00 0x50 0x0A 0x00 0x08 0x02 0x00 0x0A 0x00 0x02 0x11 0x04 0x0A 0x00 0x01 0x00 0x0A 06:42:47 hey guys, check it out- I wrote a lisp-derivative bingo card generator in postscript: http://www.nonlogic.org/dump/text/1203316480.html 06:43:21 any suggestions for additional words? 07:04:41 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:11:23 -!- BMeph has quit ("calls it a night"). 10:16:13 -!- olsner has joined. 10:24:10 -!- timotiis has joined. 10:35:07 -!- Corun has joined. 10:54:57 -!- es0n00b has joined. 10:55:12 !help 10:55:16 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 10:55:18 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 10:55:21 * slereah_ provides help 10:55:33 howdy do 10:55:44 Moral support? 10:55:50 lol 10:55:52 Hello es0n00b. 10:56:42 !unlambda ```s``sii`ki``s``s`ks``s``s`ks``s`k`s`kr``s`k`si``s`k`s`k`d````````````.H.e.l.l.o.,. .w.o.r.l.d.!kk`k``s``s`ksk`k.* 10:56:52 dunno if it'll work 10:57:16 Me neither. I don't do well on strict evaluation. 10:57:32 maybe it's crashed?? 10:58:03 No idea. 10:59:06 nup, didnt work. oh well. 11:00:42 What was it supposed to do? 11:01:40 it was supposed to do an endless loop print of "Hello World!" 11:01:59 but it's based on unlambdaV3 11:02:12 (copied from http://www.madore.org/~david/programs/unlambda/#lambda_elim) 11:02:36 Well, EgoBot doesn't like infinite loop much 11:02:36 -!- Corun has quit ("This computer has gone to sleep"). 11:02:59 !unlambda ```sii``sii 11:03:00 yeah. just wanted to test egobot's limits 11:03:08 !unlambda ```sii``sii 11:03:52 *** 11:05:02 are all egobots languages obsficated? 11:05:22 Well, esoterics. 11:05:44 Hm. It has malbolge. 11:05:45 i know esoteric doesnt always mean obsficated (or does it?) 11:05:56 I wonder if it would output something with a random string. 11:06:01 malbolge is a nightmare from what i've read 11:06:15 Well, the popular languages are mostly turing tarpits. 11:06:39 And they're usually harder to read than write. 11:06:47 !malbolge Ă©(,hjy_Ă©n,hju_ç)Ă©j-uĂ©"(èk87"èk876l4k"-k4'7è_4kl7kn7-"-jk4è-l4 11:06:48 invalid character in source file 11:06:53 Damn you robot! 11:07:12 just wondering which is a ?good? one to try and write an interpreter in 11:07:35 so i could test a prototype language in another language 11:07:54 (good is hard to define in this sense) 11:09:25 unlambda has still got me thinking. i just still cant quite get my brain around it 11:09:27 !malbolge (=<`#9]~6ZY32Vw/.R,+Op(L,+k#Gh&}Cdz@aw=;zyKw%ut4Uqp0/mlejihtfrHcbaC2^W\>Z,XW)UTSL53\HGFjW 11:09:30 Hello, world. 11:09:33 :D 11:09:37 yaay! 11:10:11 unlamba accepts functions, performs functions on them, and returns functions 11:10:26 Well, it also does side effects. 11:11:19 surely, if unlambda is TC, there exists unlambda functions that will return the derivatives, antiderivatives, and inverses of functions 11:12:01 i just cant work out how to represent numbers other than natural numbers 11:12:01 Yes indeed. 11:12:01 eg 1/2, root(2) or pi 11:12:18 Well, you can try to look at the foundation of mathematics. 11:12:47 i understand thats what unlambda is about- mathematical foundation 11:12:47 For instance, rational numbers can be represented as ordered pairs. 11:12:56 And unlambda has ordered pairs 11:13:37 i'm just waiting for the flash of inspiration when i understand exactly what S, K and ` do 11:13:48 Well, what they do is simple 11:14:05 ```sabc transforms to ``ac`bc 11:14:10 ``kab to a 11:14:14 ah, combinatory logic ensnaring yet another wayward soul 11:14:16 ` just means "apply". 11:14:35 It has this simple yet alien beauty 11:14:37 (still dont get it) 11:14:57 There's nothing much more to get, really. 11:15:15 The thing to understand after that is how to change that into something useful. 11:15:59 An easy one is the conditional. 11:16:08 hang on 11:16:14 "True" and "False" can be written as k and `ki 11:16:49 A conditional can be written as ``[condition][A][B] 11:17:05 ```sabc == ``ac`bc. is this the simplest use of S? 11:17:22 If it's true, it transforms to k, and ``k[A][B] converts to A 11:17:53 False, to `ki, and ```ki[A][B] converts to `iB, to B 11:18:03 It's the only use of s 11:18:39 So ``[condition][A][B] is "if condition, then A, else B" 11:18:54 ok, so ```sabc==``ac`bc and ``kab==k define S and K? 11:19:06 *``kab = a 11:19:11 Yes it is. 11:19:26 (sorry ``kab==a) 11:19:55 Or in lambdas, S = ^abc.(ac)(bc), K = ^ab.a 11:20:06 wow - i understand what you mean by trying to make something useful out of it 11:21:14 -!- olsner has quit ("Leaving"). 11:21:59 (trying to absorb unlamdba's if-then-else) 11:22:58 ok -why is k=TRUE, `ki=FALSE? 11:23:22 Conventions, I assume 11:23:54 You could probably work some true-false with something else, but conditionals are easy to do this way. 11:24:05 Logical operator are easy too. 11:24:07 ok. and what does the I in `kI do? 11:24:23 i is the identity combinator. 11:24:29 `iA = A 11:25:03 It's not necessary, since there's also ```skkA = ``kA`kA = A 11:25:07 But it's shorter. 11:25:21 (so used to instructions doing things. is it still right to call them instructions, and say that they do thinks? unlambda is beginning to unravel my understanding of the definition of things) 11:25:51 The madness is setting in :o 11:26:03 Here's a useful fellow : ``s``si`k`k`ki`kk 11:26:16 ok. think i got that part. `iA says perform identity function on A, returning identity(A)=A 11:26:31 It's the "is zero" function. 11:26:41 Returns true for 0, false for something bigger. 11:27:21 example of "``s``si`k`k`ki`kk" plz? 11:27:52 Well, in Church numerals, 0 is ^fx.x -> ki 11:28:07 So ```s``si`k`k`ki`kkki transforms to k 11:28:36 And 1 = ^fx.fx = (through eta reduction) ^x.x = i 11:28:47 so ```s``si`k`k`ki`kki transforms to ki 11:29:38 2 would be something like ``s``s`ksk``s``s`ksk`ki according to my abstraction elimination program, so I'll probably stop there 11:30:29 ok- being able to evaluate x=0 is useful, but evaluating x>0 is more useful 11:30:44 x>0 is longer 11:30:50 And x=y even longer. 11:31:43 a>b is ``b`b``c`t0k``c``bb``b`b``c`t`k0k``c``bb`c`t``c``bc``b`bc``c``bc``b`bb``cb``b`bttkiii in lazy bird, and it's already quite compressed. 11:31:45 x=y, x=0, x<0, etc etc can all be derived from x>0 (the basis of OISC type languages) 11:32:46 Well, if I use the a Which means that 0 Of course, since this is Chuch numerals, it will always be true except for 0. 11:34:40 its annoying, im only half getting it 11:35:02 i get the idea of how it can work, but dont understand the mechanics of how it works 11:36:30 so - it should be possible to compile OISC into unlambda (sort of the definition of both being TC) 11:36:58 by using the x>0 and if-then-else versions of unlamba 11:37:06 Yes, though probably not pleasant. 11:37:41 You can probably tinker some negative number with some ordered pair 11:37:54 the problem would then be trying to find ways of eliminating redundant code 11:37:58 And the operation applied on it will depend on the truth value. 11:38:18 (ie code optimisation) 11:39:03 the idea has been floating around in my head for a few days now, the problem of compiling one Turing tarpit into another tarpit 11:39:18 Well, a simple way is to write first in lambdas, since with lambda calculus, any function f used more than once can be rewritten as (^f.program)function 11:39:35 But lambda calculus doesn't transform to combinators very efficiently 11:43:18 machine translation if fascinating. like transforming english->japanese->english. good for shits and giggles 11:44:28 (too many ideas - too little time and skill to implement) 11:45:29 cant even imagine trig function i unlamba, but i guess they've been explored already?? 11:46:44 thinking of it - even divide seem difficult. 11:47:02 I suppose it's just some iteration of series. 11:47:59 of course! first, define factorial, then use some recursive version of the Taylor series! 11:48:16 Factorials are well known. 11:48:29 It's usually the standard example for the fixed point combinator. 11:50:14 ok. know much about the gamma function (related to factorial, but also valid for non-natural numbers) 11:51:11 Well, we don't use it that much in physics. 11:51:29 http://en.wikipedia.org/wiki/Gamma_function 11:51:45 I know what it is. 11:51:47 gamma(n)=(n-1)! 11:52:22 how wouyld you define the integral version of gamma in unlamba? 11:53:02 Well, my guess would be that first, you have to define reals. 11:53:11 That's where the laugh ends! 11:53:47 Although you could probably scratch up something out of rationals and taylor series. 11:54:28 i worked out a way to define integration by recursion of a function without determining its antiderivative, but it was only valid for bounded integrals 11:54:36 ie wouldnt apply for gamma 11:55:48 I'd advise to first work on simpler programs. 11:56:09 Unlambda isn't the easiest language in the world. 11:56:33 Also often hard to manipulate, since it's hard to keep tracks of variables 11:56:34 (just want to dive in and do things - but understand it aint that easy) 11:57:57 PS: yep. gamma doesnt have an taylor polynomial definition, but there is another non-integral definition that would be an easier approach 11:58:06 I personnaly usually just write my functions in lambda calculus. 11:58:14 (at least not an EASY taylor definition) 11:58:28 And then converts it to combinators. 11:58:49 I keep a small list of functions, plus numbers from 0 to 100 11:59:27 And then, I try to optimise the functions. 12:00:10 thats the sort of line of thinking i was having 12:00:26 Usually by letting them run through Lazy Bird (it can prints the expression at each step, so I can pick the shortest), trying to see by hand what it does, or passing it through the JUGGERNAUT 12:00:41 The JUGGERNAUT is a fucking stupid program, but it works. 12:01:03 Well, on a certain class of expressions at least 12:01:04 read a little about Lazy-Bird. whats that about? 12:01:32 That's my version of unlambda, with lazy evaluation. 12:01:39 I find it easier to use. 12:01:44 Plus, more combinators. 12:02:03 sort of a short-cut version of unlamba? 12:02:34 Pretty much 12:02:39 (easier to read, not difficult to convert Lbird -> unlambda?) 12:02:43 cool 12:02:59 Well, actually, it's probably not that easy to convert to unlambda 12:03:06 -!- sebbu2 has joined. 12:03:51 The Juggernaut will generate all possible combinators (minus some expressions like `iA, since it's the same as A), try them on a bunch of dummy combinators, and compare the result to the original combinator. 12:04:28 For instance, for some dummy combinator A, ```skkA converts to A, and so does `iA, so it will give that answer. 12:05:15 But stuff like ``uuA converts to `A``uuA, so it won't be able to find equivalents without u's in them. 12:05:48 It's also very fucking slow, but it's useful on small bits of code. 12:06:06 !unlambda ``s``s`ksk``s``s`kski 12:06:36 !unlambda `ki 12:06:36 Unlambda expressions without output won't give you much results. 12:06:45 ahh 12:06:58 just trying some basics 12:07:28 !unlambda ``k```.b.u.t.t````.s.t.u.f.f 12:07:34 butstuf 12:07:44 Ah yes, I forgot 12:07:58 guess there are more consise ways of representing large numbers, other than the iterative version like s(s(s(z))) 12:07:59 Or did I? 12:08:22 Large numbers can usually be represented by operations on smaller one. 12:08:42 The most basic is through the successor operator, but there's shorter ways 12:09:03 For instance, http://membres.lycos.fr/bewulf/Russell/Lazy%20Bird/Church%206.txt 12:10:36 The sudden reduction in size of the writing usually corresponds to a power of some numbers 12:10:53 Because the power of a number is the shortest operation. 12:11:33 256 is very short because it's (2^2)^(2^2) 12:11:36 (knew powers would have to feature somewhere in the definitions) 12:12:37 was kind of thinking along the lines of binary is more compact than unary, but other base numbers being more efficient for other nautral numbers 12:12:55 but your page defines that brilliantly. THX!! 12:12:59 goodmorning 12:13:02 Hi. 12:13:27 I actually mostly used the Lazy K reference doc on numbers. 12:13:30 moringing 12:13:35 Except translated from lambdas to lazy K 12:13:40 *bird 12:14:14 ok. how do i get !unlambda to evaluate and output 256=`m`m``sbi. it's going to return it in unary form, right?? 12:14:40 Well, church-to-ASCII is bothersome to write. 12:14:44 (seems like it's going to be too easy to flood the page) 12:15:29 sorry. my question wasn't well defined. lets say i wanted to print 256 asterisks?? 12:15:31 !unlambda ````b``sb`m``sbi``sbi`d.xi 12:15:32 ./unlambda/unlambda: file ./tmp/egobot.0kJFuG: parse error 12:15:51 I'll never understand unlambda. 12:15:59 Ah yes, I'm dumb 12:16:00 That's why 12:16:04 Wrong combinators. 12:16:16 Quick, to the Birdiest! 12:16:35 (Birdiest being Lazy bird -> SKI translator) 12:16:58 translator! coo-oo-ool! 12:17:23 (said with my lasiest owl impersonation) 12:18:27 It just replaces b-c-w-... with their sk equivalents. 12:18:41 !unlambda ``````s`ksk``s``s`ksk```s``skk``skk``s``s`ksk``skk``s``s`ksk``skk`d.xi 12:18:54 No? 12:19:00 !unlambda ``````s`ksk``s``s`ksk```s``skk``skk``s``s`ksk``skk``s``s`ksk``skk.xi 12:19:10 !unlambda `.xi 12:19:25 He's mad at me I think. 12:19:56 -!- sebbu has quit (Connection timed out). 12:20:14 xxxxxxxxxx 12:20:16 xxxxxxxxxx 12:20:18 x 12:20:19 Ah, finally 12:20:31 So yes, there's the unary printing. 12:21:15 !unlamda ```s``s``sii`ki`k.*``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`kr``s`k`sikk`k``s`ksk 12:21:18 Huh? 12:21:20 !unlambda ```s``s``sii`ki`k.*``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`kr``s`k`sikk`k``s`ksk 12:21:40 (ok - either fibbonacci or crash) 12:21:53 (i vote for crash) 12:21:58 Heh. 12:22:07 You used some pairing in it? 12:22:27 just copying straight from http://www.madore.org/~david/programs/unlambda/ 12:22:47 but the codes might be for unlambdaV3.0 12:22:53 Fibonacci doesn't stop, too. 12:23:00 So he might not appreciate 12:23:15 so far, none of the codes from that page have worked. at least, not the ones with looping 12:23:26 your right. egobot might not like infinite loops 12:23:39 anyway to kill a bad looping process?? 12:23:48 !help 12:23:50 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 12:23:52 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 12:23:56 !kill 12:24:26 Well, you could either use iterations instead of loop, or you could use v with some conditional. 12:24:46 ok. time to go to bed. and count sheep. in LAMB-da, of course ;) 12:24:58 Bye. 12:25:12 ciao for now. have a good day 12:25:30 -!- es0n00b has quit ("JWIRC applet"). 12:52:36 No such process! 12:53:22 Slowpoke 12:56:00 Hello, world! 13:44:56 -!- timotiis_ has joined. 13:58:00 -!- timotiis has quit (Read error: 110 (Connection timed out)). 15:07:51 -!- helios24 has joined. 15:09:13 -!- jix has joined. 15:26:21 i think they work now... http://inshame.blogspot.com/2008/02/efficient-brainfuck-tables.html 15:47:35 -!- ehird` has joined. 15:48:15 hello, vaguely crazy world 15:48:40 hm 15:48:45 the topic would be clearer with | as the seperator 15:48:46 stands out more 15:49:21 -!- ehird` has set topic: the international hub for esoteric programming language design and deployment | map: http://www.frappr.com/esolang | forum: http://esolangs.org/forum/ | EgoBot: !help | wiki: http://esolangs.org/wiki/ | logs: http://tunes.org/~nef/logs/esoteric/ or http://ircbrowse.com/channel/esoteric | Pastebin: http://pastebin.ca/. 15:49:24 just an example 15:52:25 -!- faxathisia has joined. 15:56:21 hm 15:56:26 does !unlambda not support v3? 15:58:44 Well, since the example used involved infinite loops, I'm not sure that was the problem 15:59:35 yes 15:59:36 just asking 16:18:03 pikhq: what's this about tcl virtual what what 16:50:53 -!- RedDak has joined. 17:04:06 -!- RedDak has quit (Remote closed the connection). 17:16:31 ehird`: Tcl has a virtual filesystem layer, allowing one (with the right module) to just attach a file descriptor to http://pikhq.nonlogic.org/wget.b. 17:16:40 Or to a file in a Tclkit. . . 17:17:36 * ehird` is considering writing a cleaner psox 17:17:43 Socks Pee, or something. :-P 17:18:42 (are you at all familiar with Tclkits, Starkits, and Starpacks?) 17:19:13 -!- RedDak has joined. 17:24:48 pikhq: No 17:30:58 A Tclkit is a full, complete Tcl setup in one file. 17:31:19 A Starkit is an archiving format for Tcl files. A Tclkit can run one directly. 17:31:26 A Starpack is a Tclkit with a Starkit in it. 17:37:51 -!- RedDak has quit (Remote closed the connection). 17:46:37 -!- RedDak has joined. 17:46:51 "(I should be able to manipulate code as a list)." -- Someone, on Scheme. 17:47:52 Sure, go for it. 17:47:57 I don't get it :S 17:48:17 [info proc proc_name] returns the code body of a function. 17:48:19 As a list. 17:48:20 ;) 17:49:54 pikhq: Note scheme. 17:50:02 faxathisia: Well, that's what Lisps are known for.. 17:50:07 You can manipulate code as a list. 17:50:19 just found it funny 17:57:35 -!- Tritonio_ has quit (Remote closed the connection). 17:57:52 -!- Tritonio_ has joined. 17:58:38 -!- BMeph has joined. 18:00:49 -!- olsner has joined. 18:16:16 -!- Corun has joined. 18:26:38 -!- RedDak has quit (Remote closed the connection). 18:32:07 -!- helios24 has quit ("Leaving"). 18:45:08 -!- ais523 has joined. 18:51:14 hello ais523 18:51:17 -!- Endeavour has joined. 18:51:17 Hello, Tcl world. 18:51:17 -!- Endeavour has left (?). 18:51:18 -!- Endeavour has joined. 18:51:18 I almost forgot. This is a test. 18:51:20 -!- Endeavour has quit (Client Quit). 18:52:11 hm 18:52:12 hello ehird` 18:52:13 i'll take that to #endeavour 18:52:14 :P 18:55:44 * ais523 has been trying to write code on some buggy hardware 18:56:01 although the code was originally in C, I ended up having to edit the assembly by hand to get round the machine code instructions that didn't work 18:56:08 and even then it only ran under a debugger... 18:56:18 oh dear 18:56:33 * slereah_ thinks of : http://www.mini-moto.fr/photo%20jpeg%20bon%20format/buggy%201.jpg 18:56:37 hopefully it was just a faulty chip 18:56:42 It would be an awesome code 18:56:49 so I've ordered a couple of replacements to see if they work 18:57:50 (Endeavour, btw, is my EgoBot-alike) 18:58:04 does it run any esolangs yet? 19:00:45 welp 19:00:45 no 19:00:49 i've just started it 19:01:01 in tcl due to pikhq's ... uh, total failure to evangelize it 19:01:06 but at least that means it'll be utf-8! 19:01:25 Will it parse sum unikitten! 19:02:12 maybe 19:05:51 -!- timotiis_ has changed nick to timotiis. 19:10:48 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 19:11:48 -!- slereah_ has joined. 19:14:56 * SimonRC goes 19:29:20 -!- Sgeo has joined. 19:32:52 * ais523 has a new idea for an uncomputable language 19:33:01 share 19:33:05 it's sort of like Prolog, but uses multithreading rather than backtracking 19:33:09 with an infinite number of threads 19:33:19 it starts with a thread for every possible value of every possible variable 19:33:28 and the threads die whenever they reach a contradiction 19:33:37 ais523: you can do that, lazily 19:33:37 i think 19:33:51 it's trivial to write the halting problem in it 19:33:54 and infinite loops are impossible 19:34:04 it's subturing then 19:34:05 :-P 19:34:08 no it isn't 19:34:17 because it oraclises to tell that the infinite loop would happen 19:34:32 Hi all 19:34:51 Oh ehird`, maybe FDs aren't the way to go with a GUI domain, come up with something else? 19:34:57 if it solves *the halting problem*, it's an oracle, if it computes its own halting problem it's an impossible language. 19:35:13 it computes its own halting problem 19:35:15 Sgeo: I'm writing soxp, so maybe not best to ask me 19:35:16 :P 19:35:26 soxp? 19:35:26 but the famous impossibility proof for halting fails on it 19:35:31 because you can't drive it into an infinite loop 19:35:31 Sgeo: Like psox, but soxp. 19:35:40 Are you serious? 19:35:42 Link please? 19:35:49 ais523: I'm pretty sure you can kind of compute that, lazily and non-deterministically 19:35:57 Sgeo: my harddrive 19:36:30 ehird`, why are you wasting effort on your own version of something that already exists? 19:36:43 Sgeo: because soxp is sane -- so it doesn't exist 19:36:45 Russel:-suchthat(X,not(member(X,X))),member(X,X). 19:36:56 not wasting time; 19:36:59 I thought a while about that one before realising it failed 19:37:01 all esolangs are wasting time pretty much anyway. 19:37:04 How is PSOX not sane? 19:37:12 Sgeo: Various ways, none of which you acknowledge 19:37:13 replacing member(X,X) with not(member(X,X)) also causes it to fail 19:37:22 but adding neither, the command succeeds 19:37:23 ehird`, such as? 19:37:30 see logs, Sgeo 19:40:51 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 19:40:59 the reasoning: the notion of a set that contains all sets that do not contain themselves is not a contradiction by itself 19:41:11 but it is a contradiction to assert either that it contains itself or that it doesn't 19:41:14 russel lists = [not (elem x x) | x <- lists] 19:41:20 ehird`, so no GUI domain? 19:41:22 D: 19:41:29 Sgeo: soxp will have one. 19:41:51 PSOX already exists, you know 19:41:58 PSOX sucks. 19:42:08 -!- slereah_ has joined. 19:42:29 russel = filter (\x -> not (elem x x)) 19:42:34 doesn't type, of course. 19:42:59 in my new idea of a language infinite datatypes are entirely possible and even possibly common 19:43:23 infinite datatype in AwesomeHaskell: 19:43:26 ais523: kinda like in haskell? 19:43:35 oklopol: infinite datatypes are no tpossible in haskell. 19:43:37 ais523, do you think ehird` should attempt to redo PSOX in what he believes to be a cleaner way? 19:43:38 that's why my thing doesn't type. 19:43:42 that's why the y combinator doesn't type 19:43:48 "AwesomeHaskell" LOL 19:43:50 and sgeo can't come up with opinions for himself without consulting other people. 19:43:52 ehird`: Haskell syntax inspired much of the syntax of my new language 19:44:01 but it looks more like Prolog because the Prolog syntax is used more often 19:44:05 ehird`: indeed, misread 19:44:09 type InfiniteListType = [InfiniteListType] 19:44:14 infinite datatypes ought to be possible anywhere 19:44:14 ehird`, My opinion is that you shouldn't do it 19:44:23 at least anywhere that doesn't care about efficiency 19:44:27 Sgeo: Yes, because god forbid you get competition 19:44:41 I still want my t -> t -> t -> t -> ... datatype 19:44:42 ehird`, it's needless work on your part 19:44:48 thank you, sgeo, for making me see the light. From now on, since you say I shouldn't do it, I won't. 19:44:50 ais523: trivial: 19:44:53 so I can write sii in Haskell 19:45:04 type Inf a = a -> Inf a 19:45:37 that's easy enough to define in Haskell, only the compilers don't allow it 19:45:47 at least not without the constructor 19:45:52 and the constructor sort of defeats the point 19:46:15 type Fooer a = (Fooer a -> a) 19:46:15 type YType a = (Fooer a) -> a 19:46:15 y :: YType a 19:46:15 y f = (\x -> x x) (\x -> f (x x)) 19:46:20 ^^ I think 19:46:23 ais523: This is awesomehaskell! 19:46:29 infinite types aren't even needed for sii, just the typechecker isn't good enough 19:46:45 for instance, define: 19:46:48 Hmm: 19:46:52 type Fooer a = Fooer a -> a 19:46:57 is that even the first argument of y? 19:47:00 It seems like it should be 19:47:01 churchnumeral2 x y = x (x y) 19:47:02 type Fooer a = a -> a 19:47:18 * Sgeo wonders how likely/unlikely it is for ehird` to ever complete his soxp 19:47:21 then (sii churchnumeral2) has a perfectly well-defined type 19:47:30 Sgeo: Certainly quickly 19:47:33 In fact, I will start a spec now. 19:47:56 I think I'll work on implementing the Net domain now 19:48:12 pikhq, does the Net domain really need FTP stuff other than getting from an FTP URL? 19:48:29 Sgeo: That ought to suffice. 19:48:35 I wouldn't have thought so 19:48:48 pikhq, getting from a URL? ok 19:48:50 A more complex FTP client would want to use the TCP stuff, anyways. 19:49:16 or use a custom FTP domain 19:50:03 Hell, even if ehird creats the world's most awesome API for esolangs, at least Sgeo can claim credit in making the first one that's been fully implemented. 19:50:11 And driving ehird's into existence. ;) 19:50:20 ;F 19:50:22 ;D 19:50:24 :D 19:50:33 ;Y 19:51:54 ;W 19:52:38 very first draft: 19:52:39 http://pastebin.ca/908860 19:55:27 * ais523 prefers the Sgeo I/O design to the ehird` I/O design 19:55:28 oO 19:55:38 but it's a pity that you can't portably have waiting-for-input detection 19:55:50 yes, my io will have a sugar on top of it 19:55:51 or maybe you can... I heard somewhere that Windows is POSIX-compatible 19:56:02 which would mean that select may be available there after all 19:56:08 my model is cleaner conceptually though 19:56:11 and the sugar will make it even nicer 19:56:17 probably with a different name and syntax, knowing Microsoft 19:56:52 ais523, all I know is that the Python docs for select.select() say that Windows can't do it with files 19:57:09 you don't have to do it with files, though 19:57:10 just with pipes 19:57:21 well, pipes I think I meant 19:57:43 select isn't very useful with other types of file-like object 19:57:52 " Note: File objects on Windows are not acceptable, but sockets are. On Windows, the underlying select() function is provided by the WinSock library, and does not handle file descriptors that don't originate from WinSock. 19:57:52 " 19:58:00 http://docs.python.org/lib/module-select.html 19:58:06 I've only ever used it with pipes and keyboard/screen stdin/stdout 19:58:21 and I wonder whether pipes are implemented with sockets on Windows 19:58:52 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 19:58:56 oO 19:59:06 -!- slereah_ has joined. 19:59:32 ehird`: Would I be correct in assuming you'll simplify the type system? 20:00:01 pikhq: Most definately. 20:00:11 ehird`, how would it be simplified? 20:00:24 * pikhq should play with that fancy array code 20:00:32 Sgeo: not being ridiculous 20:08:24 lazy lists in 23 lines of simple, readable ruby. cool. 20:08:33 oh? 20:08:57 faxathisia: oh! 20:09:11 -!- slereah__ has joined. 20:09:30 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 20:10:48 faxathisia: hmm, i was trying to make 'fold' (inject) lazy 20:10:48 haha 20:11:28 ones = LazyList.new(1) {ones} 20:11:50 fold can be lazy in one direction 20:11:59 ones.map {|x| puts x} # this actually prints one 1, until you give it tail. heh. 20:12:07 although admittedly if you try that it will go into an infinite loop if the list is, in fact, infinite 20:13:17 -!- pikhq_ has joined. 20:13:53 pikhq_, should I have sockets flush themselves whenever they're written to? 20:14:04 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 20:14:04 def inject(base, &blk) 20:14:04 blk[head, tail.inject(base, &blk)] 20:14:04 end 20:14:08 think it's worth making that use a thunk? 20:14:31 Sgeo: I know you weren't asking me, but I know from experience that some obscure bugs in code I wrote were traceable to not doing that 20:14:49 ais523, so don't force the client to do it themselves? 20:14:49 ok 20:14:52 combine that with the slow speed of most esolangs, and there's no reason not to 20:15:01 ty ais523 20:19:32 ais523: http://pastebin.ca/908906 weird bug with thunks 20:19:32 :) 20:19:45 def method_missing(*args, &blk) 20:19:45 Thunk.new {@block.call.__send__(*args, &blk)} 20:19:45 end 20:19:49 thus making it return a Thunk 20:19:50 not [a,b] 20:19:53 however 20:19:55 According to #python sockets aren't buffered, so don't flush 20:19:58 if it type-checks that, 20:20:03 I am using sendall() though 20:20:07 then it should go through method_missing, and getting it properly 20:20:09 BUT.. 20:20:13 it uses the internal ruby c api to do it 20:20:14 :( 20:20:28 Sgeo: so in otherwords even the Python devs thought autoflush was a good idea 20:23:59 one thing i wish ruby had was to_b 20:24:04 definable boolean coercion 20:24:05 :O 20:24:41 in C++ it would be your_class_name_here::operator(bool) 20:24:52 you overload the cast operator 20:25:25 yes 20:25:33 but, can you do this in C++: 20:25:39 class TrueClass; def to_b; false; end end 20:25:46 class FalseClass; def to_b; true end end 20:25:57 pretty much 20:26:07 ais523: true.is_a? TrueClass 20:26:08 in ruby. 20:26:23 (ok, admittedly since TrueClass/FalseClass instances (aka true & false) would be handled primitively, that would do nothing, but :)) 20:26:33 class TrueClass{public: bool operator(bool){return false;}}; 20:27:08 ais523: but true isn't a trueclass in c++... 20:27:22 that ruby changes the meaning of true and false 20:27:22 though, as my note says, tahat wouldn't actually work 20:27:32 in C++ you have to know which type each object is at all times 20:27:35 >> true.class 20:27:35 => TrueClass 20:27:40 but you could create a constructor that constructed it from true 20:27:53 thus allowing true to be casted into a TrueClass 20:28:03 yes... but true IS a trueclass, in ruby 20:28:04 no casting 20:28:05 you could even have it throw an exception if you wrote (TrueClass)false... 20:28:08 true is a regular object 20:28:10 an instance of TrueClass 20:28:18 ehird`: what if you have two TrueClasses 20:28:24 with different member functions 20:28:26 you can't.. 20:28:27 with the same name? 20:28:29 there's only one TrueClass 20:28:32 my code snippit 20:28:34 opens up TrueClass 20:28:37 and monkeypatches it 20:28:46 OK 20:28:49 this is how e.g. you can extend Array and stuff in ruby 20:28:56 can be used for evil, but it can also be used for very cool things 20:29:16 who was it who went and created C++ that looked like Lisp by overloading most of the operators? 20:29:20 dunno 20:29:26 I think it was someone in #esoteric, but I can't remember who 20:29:26 ais523: fig? 20:29:34 but, basically, mine reverses the truth values, but of course if ruby actually checked to_b for true/falseclass, it would be an infinite regress, so it wouldn't 20:29:39 figs 20:29:57 he's done a lot of weird shit in c++ 20:29:59 oklopol: that rings a bell 20:32:56 imo, though, 20:33:00 the only thing hideously broken about ruby 20:33:01 is block scope 20:33:09 0x00 0x08 0x00 implemented! 20:33:16 x = 2; something_taking_a_block {|x| ...}; x => the value in the block 20:33:19 this is being fixed for 1.9 20:33:24 as well as huge speed improvements with the new vm 20:43:46 -!- pikhq_ has changed nick to pikhq. 20:46:48 aww damn.... 20:46:53 I can't make 'inject' lazy.. 20:46:58 because the only way is basically this: 20:47:04 * Sgeo wonders if FBF will support PSOX 20:47:16 def inject(base, &blk) 20:47:16 blk[head, (magic thunkify: tail.inject(base, &blk))]; end 20:47:23 but the magic thunkify is basically impossible 20:47:32 because you can't make it be a truly transparent proxy 20:48:29 Sgeo: how can I checkout the PSOX repo? 20:48:30 ais523, svn co http://svn2.assembla.com/svn/psox/trunk 20:48:36 welllllll 20:48:41 or svn co http://svn2.assembla.com/svn/psox 20:48:49 If you want the branches and tags and stuff 20:48:58 thanks 20:48:59 Probably unneeded 20:49:00 yw 20:50:07 heh, esolangs embedded in C++ through operator overloading sounds interesting 20:50:49 * ais523 is thinking about writing an INTERCAL library to make use of PSOX 20:51:06 oO 20:51:38 there are already libraries for other things 20:51:45 including infamously floating-point arithmetic 20:51:50 a d 20:51:55 s/a d\n// 20:52:18 There's no floating-point in PSOX :/ 20:52:32 * Sgeo wonders if floating-point will be in ehird`'s SOXP 20:52:45 maybe 20:52:49 But yeah, support PSOX before even considering SOXP please 20:53:03 Well, nothing can support SOXP yet so there =P 20:54:20 pikhq, once I implement domain 0x08, are you going to write some stuff to test it? 20:54:36 Maybe. 20:54:54 "Conformance with widely-accepted standards was not considered to be a priority for an INTERCAL library. (The fact that the general format conforms to IEEE at all is due to sheer pragmatism.)" 20:55:27 there's also a note stating that pi is represented as #571$#35133 20:55:45 * ais523 is amused at the way that their client assumes that INTERCAL constants are IRC channels 20:56:15 * Sgeo goes to the official INTERCAL PI channel 20:57:15 ' But yeah, support PSOX before even considering SOXP please' you realise how stupid this sounds 20:57:29 'Hello! Everyone ignore Elliott's project, it upsets me. Use PSOX, it's so much better!!!' 20:57:42 For one, PSOX currently exists >.> 20:58:00 it didn't for an awful long time, I add. 20:58:05 For two, double-u tee ef is SOXP? 20:58:21 * GregorR already regrets asking that. 20:58:35 SOXP is ehird`'s hypothetical redoing of PSOX, in a supposedly cleaner way 20:58:43 GregorR: Hmm - you're right, it needs an acronym expansion. SOXP Only eXceeds PSOX 20:59:11 Hey, PSOX doesn't get an ancronym expansion, its name is historical 20:59:50 Yes, SOXP is better than PSOX in that way too. 21:06:31 -!- oerjan has joined. 21:07:46 hi oerjan 21:08:09 please leave logs to learn about ehird`'s latest copycat insanity 21:08:23 :) 21:08:27 hi oerjan! 21:08:31 I'm going to write OXPS 21:08:33 not leave, read 21:08:35 last night was *awesome* 21:08:36 jesus christ Sgeo 21:08:42 It's going to be SOXP -done right- 21:08:50 lol faxathisia 21:08:54 maybe I should write something called SPOX 21:09:03 which has nothing to do with PSOX, OXPS, SOXP, etc., apart from the name 21:09:03 'I AM SO EMOTIONALLY HURT ABOUT SOMEONE DECIDING TO DO SOMETHING SIMILAR TO MY PROJECT THAT I WILL MAKE STUPID COMMENTS ABOUT IT TO EVERYONE TO REAFFIRM PSOX'S AWESOMENESS' 21:09:03 i'm gonna make OXLOPS 21:09:21 who's is/was PESOIX, by the way? 21:09:31 ais523, calamari 21:09:37 I think 21:09:46 Calamari was involved somehow 21:10:20 I want some calamari.. 21:11:02 clearly the time is overdue for PSUX 21:11:54 Does anyone other than ehird` honestly see a point for SOXP? 21:12:31 'Does anyone other than Sgeo honestly see a point for PSOX? I mean, we have PESOIX and EsoAPI' <-- past people 21:12:43 the better you make PSOX the worse SOXP is gonna look.. 21:12:49 faxathisia: exactly 21:12:58 I'd sort of remembered EsoAPI, but only vaguely, so couldn't remember the name 21:13:06 Sgeo: that'll teach you try and make others interested in your projects! :D 21:13:12 right now it just looks like he's insecure about someone thinking PSOX is something other than perfect. So he's stifiling any innovation, because it's not his. 21:13:42 ah yes competition is good, say the free-wheelers, er market people 21:13:58 Sgeo: just accept it, ehird`'s only way to get interested is to take your idea and make it good 21:14:08 haha :) 21:14:17 not good, perrrfect! 21:14:34 i'm still waiting for ehirdphica :< 21:14:37 hmmmm.. 21:14:59 ehirdphica? 21:15:01 * faxathisia wonders how to get ehird` interested in my broken thingymajig 21:15:05 faxathisia: what thingy 21:15:07 ehird`: graphica! 21:15:12 ah 21:15:14 xD 21:15:30 oklopol, what's ehirdphica? 21:15:36 ehird`: Hard to say what's broken.. It's either the self interpreter from the paper, my compiler or my interpreter 21:16:06 graphica never rose that much interest, except for faxathisia, the official non-tc lang enthusiasist 21:16:06 ehird`: but anyway, something doesn't work.. so I can't run the Janus self interpreter 21:16:40 faxathisia: if that's an esolang, could you put a stub with a link on the wiki so I can take a look? 21:17:04 I'm not 100% sure but I think it's an esolang 21:17:19 It's kind of minimal and every program is reversible 21:17:24 * Sgeo wonders if perhaps a layer could be made between a SOXP client and a PSOX server to make them work together.. or the other way around.. 21:17:32 the syntax is like While though 21:17:40 (quiteconventional) 21:17:58 Sgeo: ehirdphica was what ehird would turn graphica into, naturally. 21:18:01 >> ones.dump_to($stdout) 21:18:01 lazy(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... 21:18:26 -!- sebbu2 has changed nick to sebbu. 21:21:05 :D 21:25:29 ais523: anyone: ones = lazy(1) { ones } # comments on this syntax? 21:25:48 ugly.. 21:25:49 :P 21:25:51 * ais523 doesn't really know Ruby 21:26:10 faxathisia: why? 21:26:12 you can also do: 21:26:21 because the 1 isn't the lazy bit 21:26:22 foo = lazy(1,2,3) { foo } 21:26:27 for [1,2,3,1,2,3,1,2,3,1,2,3,...] 21:26:40 * ais523 likes the way lists are implemented in Unlambda 21:26:42 faxathisia: ah. i can make both head and tail lazy if you want, but then it's LazyMegaThing, not LazyList 21:26:49 and my most usual Underload implementation works a similar way 21:27:00 this is meant to fit into ruby well... 21:27:02 like, 21:27:05 ones.map {|x| x+2} 21:27:06 works 21:27:10 ais523: there are many options for implementing lists in Unlambda 21:27:14 nice 21:27:24 faxathisia: you can even print it infinitely like in haskell 21:27:30 though not via 'inspect' since that returns a string 21:27:34 oerjan: infinitely many, perhaps? 21:27:40 oerjan: the one I know is where the list returns its head when applied to one function and its tail when applied to another 21:27:41 oklopol: at least 21:27:52 foo = lazy(1,2,3) { foo }; foo.map {|x| x+2}.dump_to(STDOUT) 21:27:54 and you get: 21:27:59 yeah, that was quite an underestimate 21:28:00 lazy(1,2,3,1,2,3,1,2,3,... 21:30:32 With the Net::urlget function, should I attempt to return the HTTP status code, or don't bother? 21:30:36 pikhq? 21:30:50 Since it might not even be an HTTP url.. 21:34:53 pikhq, changes committed. Want to test sockets? 21:35:30 is pikhq your testing dummy or something 21:36:44 * pikhq says: not ATM. 21:36:54 Gotta finish off homework. ;) 21:37:58 ah 21:41:45 -!- ais523 has quit ("bye everyone"). 21:43:02 -!- slereah_ has joined. 21:44:24 -!- slereah__ has quit (Read error: 110 (Connection timed out)). 21:45:11 It is now fully possible to write a multi-threaded HTTP Server in Brainfork 21:45:26 Well, except for the lack of File access, sorry 21:45:30 A. . . Multithreaded server? 21:45:32 :-O 21:45:32 uh..... 21:45:38 pikhq: Brain*fork*. 21:45:38 uh........ 21:45:41 WHAT? 21:45:42 Besides, fork() isn't threads. 21:45:42 Oh. 21:45:46 fork() is fork(). 21:45:55 oh 21:45:58 mybad 21:45:58 faxathisia: Brain*fork*. 21:46:07 ehrid`: I know 21:46:08 ehrid`: I know 21:46:21 Anyway, Sgeo, that's like saying 21:46:27 "Brainfork multithreaded http server: ''" 21:46:34 "With my MagicalServerEnabler filter." 21:46:45 Anyway, multi-threaded servers suck. You want async io. 21:46:46 ehrid`: How is ti though? 21:46:48 faxathisia: ehrid? 21:46:54 :S 21:47:27 ehird`. 21:47:41 Actually, with the way PSOX works, it would probably make more sense not to use forking, really 21:55:10 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 21:55:19 Hm, ehird`, idea for SOXP: Support threads, e.g. have each thread, when issuing a SOXP command, print out a byte indicating the thread first 21:55:37 ... 21:55:45 i would comment on how that accomplishes nothing at all 21:55:49 but instead i'll just laugh a bit 21:56:11 that gives you threading.. 21:56:16 -!- slereah_ has joined. 21:56:27 Hi slereah_ 21:56:36 It's just that only VM processes are parallel, you don't get extra parallelism in the language 21:56:55 faxathisia, you could use brainfork 21:57:09 Except you'd need to make sure that only one thread issues a command at a time, I guess 21:57:13 yes but you don't extra parallelism 21:57:14 So that's very meh 21:58:05 Well, going to watch Seinfeld/take care of books for an hour 21:58:07 Bye all 21:58:17 bye 22:07:52 -!- jix has quit ("CommandQ"). 22:11:48 -!- slereah__ has joined. 22:21:09 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 22:27:40 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 22:29:51 -!- Corun has changed nick to Corun|pants. 22:37:08 -!- slereah__ has joined. 22:44:23 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 22:46:40 -!- slereah__ has joined. 22:51:48 -!- slereah_ has joined. 22:54:10 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 23:00:34 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 23:02:37 Did I miss anything.. wow absolutely notjing 23:02:55 Can we start talking about PSOX and SOXP again/ 23:03:22 no 23:04:13 -!- slereah_ has joined. 23:07:15 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 23:07:23 -!- olsner has quit ("Leaving"). 23:16:16 -!- faxathisia has quit (Remote closed the connection). 23:23:42 -!- slereah_ has joined. 23:24:38 -!- slereah_ has quit (Remote closed the connection). 23:38:02 -!- slereah_ has joined. 23:51:21 -!- BrainF has joined. 23:51:21 Hi 23:51:21 -!- BrainF has quit (Client Quit). 23:51:26 WTF 23:51:43 -!- BrainF has joined. 23:51:43 Hi 23:51:43 -!- BrainF has quit (Client Quit). 23:51:58 WHY is it just saying Hi? 23:52:17 It's fucking with our brain. 23:53:04 lol 23:53:37 -!- BrainF has joined. 23:53:37 Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. 23:53:37 -!- BrainF has quit (Client Quit). 23:53:41 Yay! 23:53:51 Looks like that generator is really horrible! 23:54:05 Want to see the code for the generator? 23:54:19 Better yet: The generated code 23:55:35 http://pastebin.ca/909224 23:56:21 Comments plz? 23:56:52 It was generated 23:57:04 By this 23:57:04 http://pastebin.ca/909227 23:57:44 That was the script 23:57:47 Oh. 23:58:05 http://pastebin.ca/909228 is the generator 23:58:11 Do you think we're lacking newcomers? 23:58:18 So you're building them yourself? 23:58:53 lol 23:59:05 Just wanted to test/demonstrate sockets from PSOX 23:59:29 Moar liek sockpuppets! 23:59:49 lol 2008-02-19: 00:00:11 -!- BrainF has joined. 00:00:11 Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. 00:00:11 -!- BrainF has quit (Client Quit). 00:00:17 It's so slow in connecting though 00:01:09 I need a better syntax for scripts 00:03:53 it's actually pretty cool now that i see it in action 00:04:09 oklopol, PSOX? 00:04:27 btw. unlambda cannot output any possible byte (right?), can psox be used with it? 00:04:50 oklopol, um.. what do you mean by "cannot output any possible byte"? 00:05:00 psox seems to need null bytes a lot? 00:05:02 i mean, zeroes. 00:05:07 oklopol, yes 00:05:17 i don't think you can output that in unlambda.. :< 00:05:18 oklopol: unlambda can output anything in principle 00:05:25 hmm 00:05:32 you need to have the chars in the source? :P 00:05:36 yep 00:05:37 . 00:05:41 heh 00:06:02 my self-interpreter has a table of all the ?x'es 00:06:17 (the .x's can be generated from the input using |) 00:06:31 it'd be awesome to have a system where just being able to output two different bytes would suffice. 00:06:42 psox for dummies 00:07:23 hm? 00:07:37 heh this means you actually cannot do PSOX with just null-terminated C strings 00:07:42 i mean, so that those two could be anything... you would have a clever initialization where the language tells psox what it can do. 00:08:09 after which an encoding rises somewhat naturally, for languages where not everything is easy to output 00:08:39 oerjan: well who cares about such turing tarpits anyway 00:08:42 i think PESOIX or something had such an adjustable I/O encoding at least intended 00:09:13 trivial-idiotic way to do it: have a represent 0s and b represent ones, and put in a layer between that and PSOX 00:09:19 oerjan, oh? 00:09:58 Sgeo: there was some blurb about the languages needing only some way to _represent_ the required range of numbers, anyhow 00:10:48 hm.. I suppose I could make a command line option, like -n 00:11:01 oerjan: that's trivial if external settings are used, but could the program actively ask for an encoding using its limited facilities? 00:11:09 -n a would tell the interpreter to subtract ord('a') from each character except those escaped as output 00:11:33 i mean, could it do that in that vague idea you were describing :P 00:11:40 Not going to work on it ATM, but it's an idea 00:11:45 oklopol: for languages such as original INTERCAL which has only a _very_ limited I/O format, external settings seem necessary 00:12:30 oerjan: in case nonsense is taken as a calibration sequence, i don't think they are necessary. 00:12:37 how limited is intercal? 00:12:52 tbh i still don't know much about it :| 00:12:59 roman numerals in one direction, explicit english words in the other, or something like that 00:13:13 xD 00:13:17 good old intercal <3 00:13:56 Scary that there exist languages that PSOX doesn't currently support.. 00:15:14 oerjan: but why english, why not sanscrit 00:15:45 Well, you can't write sanskrit on a keyboard! 00:16:09 you can't? 00:16:11 I can write nulls on a keyboard: \x00\x00\x00\x00 00:16:17 oklopol: i recall a list of supported languages 00:16:31 most of which were highly weird 00:17:25 Can modern INTERCAL do PSOX? 00:17:47 And does anyone want to write a decent IRC bot in BF+PSOX? 00:17:57 or INTERCAL+PSOX 00:17:57 ? 00:18:30 Sgeo: modern intercals have binary I/O extensions 00:18:37 oerjan, cool 00:18:43 I'm already sick, don't try to kill me Sgeo. 00:18:50 slereah_, get well soon! 00:20:10 00:20:10 slereah_: of course you can write sanskrit on a keyboard. the script is in UNICODE, and besides is also used for modern Hindi 00:20:20 lol, i never thought simulating a fibonacci heap manually could be this boring. 00:20:59 if i ever get to teach a class, i'm gonna make 'em pay for this. decrease min WILL FUCKING RECURSE. 00:22:20 * oklopol has simultaneously found the teacher AND the sadist in him. 00:23:27 Will the child molester follow soon? 00:25:11 people in general dislike molesting so bad i don't think i'll ever try that. 00:25:38 some seem to think getting fucked is actually worse than getting beaten. 00:25:57 but then again, some people listen to abba. 00:26:13 people are different, in a sick way. 00:26:13 What, you don't like ABBA? 00:26:21 That's worst than molesting children! 00:26:24 it was an example, but no, not really 00:26:51 not liking abba might be worse than molesting children, but i don't have to go to jail for it :) 00:27:11 i think 00:27:14 not sure though 00:27:16 http://trac2.assembla.com/psox/browser/trunk/utils/TEXT2BF.py 00:28:33 Sgeo: is that a generated generator? 00:28:37 it's kinda trivial. 00:28:39 oklopol, lol no 00:28:54 trivial? 00:29:10 well... isn't it? 00:29:12 dunno 00:29:15 I guess 00:29:24 my head is full of dancing oklotrees right now 00:29:42 they're a combination of fibonacci trees and pure insanity 00:29:47 *heaps 00:29:48 lol 00:30:39 oklotrees, do not execute extract-min in O(log n), but they look EXPONENTIALLY COOL 00:30:44 you should see it 00:31:06 nice place for a comma 00:34:46 i was quite dissappointed though when the professor told fibonacci heaps are one of the weirdest :| 00:35:15 with math you always know you can take any sub-subject and there's always 30000 pages of material about it 00:35:41 i want millions of weird heaps... 00:36:18 * oklopol is obsessed, once again 00:41:22 -!- Corun|pants has changed nick to Corun. 00:42:15 oklopol> my head is full of dancing oklotrees right now 00:42:18 oklopol> they're a combination of fibonacci trees and pure insanity 00:42:30 * oerjan gets Cthulhu mythos associations 00:43:30 i don't know much about cthulhuism 00:43:45 i get pop culture a bit slow. 00:43:48 It mostly involves dissin' on niggas. 00:43:58 xD 00:44:09 Well, Cthulhu is 90 years old. 00:44:13 oklopol: believe slereah_. that is safer than the real thing. 00:44:18 slereah_: you're one of my favorites :) 00:44:30 take or give a few dozen zeros 00:44:36 remind me of me 00:44:56 hmm 00:44:58 -!- timotiis has quit ("leaving"). 00:45:02 Hell, Turing might have read some Cthulhu! 00:45:04 not many zeroes to take 00:45:20 unless you cound the invisible ones 00:45:23 *count 00:45:56 the insane ones! 00:46:11 TAINTED ZEROES KILL KILL AOIFSDJTGO 00:46:15 no, forget those. move on. nothing to see here. 00:47:43 hmm... 00:47:59 Maybe I could make a BfEcho bot/ 00:48:17 What would it do! 00:48:30 Hm, but I'd need to examine the text coming in from the socket 00:48:30 i think i should make some generic tools for operating on trees, and make a program to randomize tree structures for me 00:48:45 There's no builtin IRC stuff, just sockets 00:48:49 that would be FUCKING HOT LAVA OH BABY YEAH 00:48:59 i hope lament isn't awake. 00:49:08 oklopol, why? 00:49:31 Sgeo: lament is the banbot of this channel, "fuck" triggers it 00:49:46 Fuck you lament 00:49:49 :D 00:49:53 also flooding and ascii penises. 00:49:53 oklopol, that can't be serious, you'd be banned if you were 00:50:02 8===D 00:50:03 fuck 00:50:03 Nah; he just has the bot to say 'OMG you said fuck' 00:50:06 Fuck on 00:50:10 Fuck. 00:50:17 Guess he disabled it. 00:50:17 Sgeo: just assume everyone is always kidding ;) 00:52:32 you never know quite what to answer when an ex girlfriend tells you they brought a dildo with 10 different vibration modes. 00:52:46 we should share more, ppl, this is great 00:52:52 "Can I try it?" 00:52:58 :D 00:52:59 immibis is the one with the bot 00:53:08 she'll prolly suggest that anyway 00:53:12 anyway, megoes -> 00:53:14 cya 00:53:21 Bai. 00:53:36 pikhq probably swears more than oklopol, though when oklopol swears its in a tightly concentrated space 00:53:41 i just swear all the fucking time 00:53:54 ehird`: I also curse multilingually. 00:54:03 pikhq: That must be..interesting 00:54:06 i mostly swear for the fuckarous fuck of it 00:54:25 10 different modes? is this a dildo or a musical instrument? 00:54:29 How often do I swear? Almost never? 00:54:47 Sgeo: Never. 00:54:47 (could be a combination of course) 00:54:48 Can you combine them? 00:55:01 oerjan: that's what i wondered too... i'm fairly sure the human pussy only distinguishes like 3... 00:55:02 Maybe find the resonance frequency of your prostate or something! 00:55:06 ehird`, well I swore just before, after the mention of lament.. 00:55:18 "And now, Beethovens' Fifth, in the key of C, on the Dildo." 00:56:10 well, yes 00:56:19 Maybe you could hook it up to your computer, and connect it to some game. 00:56:52 "TEN THOUSAND POINTS, ONE ORGASM" 00:59:01 I'm not quite sure how to test server sockets 01:13:31 * lament bans slereah_ 01:13:39 Noooooes 01:24:44 -!- Corun has quit ("This computer has gone to sleep"). 01:24:54 lament: fuck 01:26:03 my punishment shall be swift 01:26:11 and, er, horrible 01:27:26 you will cry like a japanese schoolgirl being raped by a giant radioactive octopus 01:27:56 wouldn't that be _rewarding_ oklopol though 01:29:53 I thought that the tentacle rape was actually a high honor? 01:31:27 wanna find out? 01:31:52 * lament wiggles his tentacles 01:32:24 * oerjan scratches out lament's species on his #esoteric score card 01:37:08 i meant "his or her tentacles", of course 01:37:16 -!- Corun has joined. 01:37:57 what, just two possible sexes? 01:38:17 i won't bother scratching out "home planet", then. 01:40:20 "his or her" is one sex! 01:41:38 hello 01:41:50 everyone 01:42:00 Tritonio_: quick 01:42:03 you must escape 01:42:10 huh? 01:42:12 lament is raping everyone with his or her tentacles 01:42:16 lol 01:42:40 i read about the radioactive octapus and i really loled... 01:42:42 :-P 01:43:46 btw i updated the brainfuck algorithms page on the wiki 01:44:07 i would be really happy if someone checked if the update is ok. :-) 01:46:40 how often does calamari log in here?? 01:47:41 Not enough that I can remember him 01:48:44 er i don't think it was _that_ long ago he was here? 01:49:32 Tritonio_: you prefer to be raped by squid? 01:50:44 lament, i am reallllllyyyy drunk right now so i am not even sure what a squid is 01:50:57 Tritonio_: the same animal as "calamari" 01:51:04 although i think it is that ocapus like thing that spits ink 01:51:26 oh yes... and calamari is a greek word too 01:51:32 i should now... :-D 01:51:43 he was here yesterday 01:51:46 i know 01:52:00 Tritonio_: dsof, slo utiua? 01:52:08 we talked yesterday about that 1 byte / array cell table implementation i made 01:52:16 ehird`, WTF? 01:52:20 Tritonio_: oh. i see thn..e 01:53:05 Trinioo_t: So, whtear euaf i? 01:53:10 calamari told me to update the esolang wiki with the new algo... but i want to know if i must do something with calamari's implementation on the same page 01:53:26 Airu. Ajgfunp, xkauf. ua. 01:53:38 ehird`, lol 01:53:50 whatever... maybe i must go to sleep..... 01:53:51 Tritonio_: Auuee! If you kanu, tigo aodi. 01:54:08 suuuu... nigGOODhtt 01:54:14 re 01:54:14 sopaof ubnajd. 01:54:17 fo. 01:54:21 ehird`: I agrue. You puroesj trjacgr. 01:54:22 diaoc oasirng ioaisd. 01:54:33 -!- Corun has quit ("Delight of Turkishness"). 01:54:46 >[>>>[-<<<<+>>>>]<[->+<]<[->+<]<[->+<]>-] 01:54:47 >>>[-]<[->+<]< 01:54:47 [[-<+>]<<<[->>>>+<<<<]>>-]<< 01:54:48 Tritonio_: scose daneroush rcga? 01:55:01 is this a REAL language? 01:55:10 or jist ehird'ish? 01:55:12 Tritonio_: It's enlgirs.. 01:55:30 c i oh 01:56:01 enoyreve thgin doog yawyna 01:56:08 eyb 01:56:17 )-: 01:56:18 reebyebe 01:56:21 Tritonio_: ??? Irua. I dnot udnajrtsnd ua. 01:56:32 lament: LIES. y nt befol skwat. 01:56:44 oerjan: GC! 01:56:52 i splipli dnot ndagerstand u 01:57:06 lament: Auu, I dnta thnkgi I will undnernstnd thtat for lngo.. 01:57:20 will someone Ckeck the UwPiDkAiTE 01:57:21 ? 01:57:44 rhapsody are simply perfect 01:57:45 are you drunk or what? You're talking nonsense. 01:57:50 i am 01:57:57 jglu? 01:58:01 em 01:58:10 loipon tha arxiso kai ego na milao ellinika 01:58:20 giati poly moy ta priksate an kai exo psofisei sta geleia 01:58:39 Tritonio_: lkos fin to me 01:58:41 Aufu... iaminitan, AWESOME!!! 01:58:41 perdon, yo no hablo chino 01:58:52 kala den pame kala edo mesa.... 01:58:55 xaxaxaxa 01:59:14 Nĺ gĺr det over alle střvleskaft her 01:59:17 oloi oi kamenoi toy eleytherokomboy se ena domatio 01:59:25 gamato 01:59:36 kalinixta kayles 01:59:40 =goodnight 01:59:46 Wuaut? Drnkju, I think you arear. ... you don't smem to be ablkgl to undasnernst su..... 01:59:46 :-) 01:59:48 jag alska bananer 02:00:00 Yuo shdoul go tobde.. 02:00:04 lament: älskar 02:00:38 * Tritonio_ 's nonsense filter log's him out automaticaly. 02:00:55 PS: we are all european here? 02:01:23 i'm Pacific. 02:01:30 I'm from the moon. 02:01:35 what;s that? 02:01:36 lamen 02:01:38 lament 02:01:44 It's a small rock around the earth 02:01:54 I live in the Pacific ocean. 02:01:58 i know about the moon. my grandma was from there 02:02:05 lament, i c 02:02:17 slereah_: don't be ridiculous. the earth is far too large for a small rock to fit around it. 02:02:34 Tritonio_: We couldn't trick you. 02:02:35 :( 02:02:42 oerjan, SDOING 02:02:49 lolol 02:02:51 anyway 02:02:58 see you 2morrooooooooooooooow 02:03:14 oerjan: i think he meant inside, not around 02:04:00 oh 02:04:31 but there's a complicated system of mirrors which makes it appear in the sky 02:06:39 It's the moon conspiracy. 02:06:55 Man didn't land on the moon, he fell on it. 02:21:54 I'm American 02:22:17 -!- kwertii has joined. 02:22:20 -!- kwertii has quit (Remote closed the connection). 02:22:28 Sgeo: Who asked? 02:22:35 PS: we are all european here? 02:22:48 -!- kwertii has joined. 02:23:44 eso.b 02:23:48 -!- BrainF has joined. 02:23:48 Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. 02:23:48 -!- BrainF has quit (Client Quit). 02:25:25 http://pastebin.com/m6f8e6cdc 02:27:01 And a more readable version: http://pastebin.com/m58f2748 02:33:56 * Sgeo modifies the generator to take the scripts in a simpler form and also to automatically add linebreaks 02:41:05 -!- ehird` has quit ("K-Lined by peer"). 02:57:13 Hm, I wonder if I can make a text generator that uses up N number of cells 03:03:35 * Sgeo is too lazy 03:03:43 22 packets transmitted, 2 received, 90% packet loss, time 21014ms 03:03:48 Someone out there hates me. 03:04:23 pikhq, are you going to try sockets? 03:04:27 Sockets are working now >.> 03:04:32 I tested them in here 03:04:39 At least, writing to sockets 03:04:47 I haven't tested server sockets or UDP or anything 03:04:55 And I think I might need to add a function 03:24:43 But still, I've connected to IRC in Brainfuc 03:24:47 Brainfuck 03:49:40 * Sgeo pokes pikhq 03:49:47 Ok, File domain thoughts: 03:50:02 Directories gotten by the equiv. of LS are represented as FDs 03:50:13 Except seeking is per file 03:50:35 the first byte in each entry is whether the entry is a file or a directory 03:53:26 pikhq, are you alive? oerjan, GregorR? 03:53:41 Well, I'm undead. 03:53:43 That's close enough. 03:53:53 !(dead) 03:54:04 No, not NOT dead. 03:54:12 UNdead 03:54:21 It can't be represented by simple boolean logic. 03:54:37 Fine, then. 03:55:03 enum gregor {DEAD, NOTDEAD, UNDEAD}; 03:55:04 Is my scheme ok? 03:55:09 We will call it, Gregorian logic. 03:55:24 Or should I have directories separate from the FD scheme? 03:55:29 Sgeo: Idonno, are you coming from Elisp or CL? 03:55:41 (hyuck hyuck hyuck) 03:56:46 So, rather than having a readdir call, you just have a stream of data in a predefined pattern? 03:57:27 BRAINS... 03:58:11 GregorR, I think it is a readdir call of sorts.. 04:09:06 -!- kwertii has quit (kornbluth.freenode.net irc.freenode.net). 04:09:06 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net). 04:09:06 -!- lifthrasiir has quit (kornbluth.freenode.net irc.freenode.net). 04:09:08 -!- BMeph has quit (kornbluth.freenode.net irc.freenode.net). 04:09:08 -!- RodgerTheGreat has quit (kornbluth.freenode.net irc.freenode.net). 04:09:08 -!- sekhmet has quit (kornbluth.freenode.net irc.freenode.net). 04:09:08 -!- slereah_ has quit (kornbluth.freenode.net irc.freenode.net). 04:09:08 -!- Sgeo has quit (kornbluth.freenode.net irc.freenode.net). 04:09:08 -!- sebbu has quit (kornbluth.freenode.net irc.freenode.net). 04:09:08 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net). 04:09:09 -!- Tritonio_ has quit (kornbluth.freenode.net irc.freenode.net). 04:09:09 -!- bsmntbombdood has quit (kornbluth.freenode.net irc.freenode.net). 04:09:11 -!- oklopol has quit (kornbluth.freenode.net irc.freenode.net). 04:09:11 -!- cmeme has quit (kornbluth.freenode.net irc.freenode.net). 04:09:11 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net). 04:09:12 -!- EgoBot has quit (kornbluth.freenode.net irc.freenode.net). 04:09:12 -!- Overand has quit (kornbluth.freenode.net irc.freenode.net). 04:09:12 -!- pikhq has quit (kornbluth.freenode.net irc.freenode.net). 04:09:12 -!- lament has quit (kornbluth.freenode.net irc.freenode.net). 04:09:12 -!- johnl has quit (kornbluth.freenode.net irc.freenode.net). 04:09:13 -!- atsampson has quit (kornbluth.freenode.net irc.freenode.net). 04:09:13 -!- cherez has quit (kornbluth.freenode.net irc.freenode.net). 04:09:13 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net). 04:09:14 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net). 04:10:10 -!- kwertii has joined. 04:10:10 -!- slereah_ has joined. 04:10:10 -!- pikhq has joined. 04:10:10 -!- Sgeo has joined. 04:10:10 -!- BMeph has joined. 04:10:10 -!- Tritonio_ has joined. 04:10:10 -!- sebbu has joined. 04:10:10 -!- bsmntbombdood has joined. 04:10:10 -!- puzzlet has joined. 04:10:10 -!- lament has joined. 04:10:10 -!- RodgerTheGreat has joined. 04:10:10 -!- EgoBot has joined. 04:10:10 -!- oklopol has joined. 04:10:10 -!- atsampson has joined. 04:10:10 -!- lifthrasiir has joined. 04:10:10 -!- AnMaster has joined. 04:10:10 -!- mtve has joined. 04:10:10 -!- Overand has joined. 04:10:10 -!- cmeme has joined. 04:10:10 -!- GregorR has joined. 04:10:10 -!- SimonRC has joined. 04:10:10 -!- johnl has joined. 04:10:10 -!- sekhmet has joined. 04:10:10 -!- cherez has joined. 04:12:12 ev5rn'slive? 04:12:24 wut? 04:12:45 u should srr me now in my seat 04:25:36 * Sgeo sits back up in his chair 04:31:30 Hm, pikhq GregorR should the mkdir function fail if there's already such a directory, or not? 05:10:03 -!- Asztal has joined. 05:10:42 Hi Asztal 05:10:57 Watch this: 05:11:05 :o 05:11:11 -!- BrainF has joined. 05:11:11 Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. 05:11:11 -!- BrainF has quit (Client Quit). 05:11:39 I'm intrigued. 05:11:59 At a BF program going online? 05:12:37 Yes. Does it have its input/output hooked up to a socket? 05:13:17 Not quite 05:13:24 It uses a thing called PSOX 05:13:31 http://esolangs.org/wiki/PSOX 05:13:43 Currently has sockets 05:14:11 erm, sockets and HTTP 05:14:33 It will also soon support file access 05:15:19 -!- immibis has joined. 05:15:55 Hi immibis. Did you see my latest PSOX demo? 05:16:28 no. i'm not interested in psox. 05:17:25 -!- BrainF has joined. 05:17:25 Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. 05:17:25 -!- BrainF has quit (Client Quit). 05:18:53 * Sgeo goes to change the program I but. 05:18:56 a bit 05:19:09 lol 05:21:19 -!- BrainF has joined. 05:21:19 Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . 05:21:19 -!- BrainF has quit (Client Quit). 05:21:28 grr 05:23:08 Why is it so slow? 05:23:10 you don't need psox for that. "mkfifo irc_fifo; bf irc_bot.bf < irc_fifo | nc irc.freenode.net 6667 > irc_fifo" 05:23:20 because it's brainfuck? 05:24:01 immibis: But that's not what he's doing. 05:24:42 He's got a fancy API. ;) 05:24:48 no, it isn't. but he doesn't need psox to connect to a remote server, send commands, and read responses. 05:25:14 immibis, for the client to choose the server, yes it does 05:25:37 Let's say, hypothetically, he wrote an IRC client in Brainfuck. 05:25:48 (which is quite possible, if you're sufficiently insane). 05:25:58 Would you be more impressed with that? 05:26:21 sgeo: I'm sure that could be done with a bash script too. 05:26:34 immibis, but I'm doing it with Brainfuck 05:27:14 oh, you mean BF controlling the server 05:27:19 mkfifo irc_fifo; bf irc_bot.bf < irc_fifo > >( read server port ; nc $server $port > irc_fifo) 05:27:27 -!- BrainF has joined. 05:27:27 Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . 05:27:27 -!- BrainF has quit (Client Quit). 05:27:42 Why does it work when I have the nickname be BrainF but not SgBrainfuck? 05:27:53 Erroneous nickname 05:28:38 The script for BrainF: http://pastebin.com/d51adfde7 05:29:14 The first line is PSOX-Init 05:29:18 The second line: 05:29:31 0x00 0x08 0x00 represents calling function 0x00 in domain 0x08 05:29:47 The 0x00 after that represents TCP v. UDP 05:29:57 0x1A 0x0B is the port 05:30:12 Then the next part is the address 05:30:15 -!- immibis has quit (Remote closed the connection). 05:30:18 and 0x0A terminates all functions 05:30:33 -!- immibis has joined. 05:30:41 wb 05:30:45 and 0x0A terminates all functions 05:31:15 the last message i got from you was [18:27] oh, you mean BF controlling the server 05:31:27 not sure what you meant by that tho 05:33:46 what's 0x00 0x02 0x10 0x04? 05:33:50 never mind, gtg 05:33:52 -!- immibis has quit (Client Quit). 05:33:56 Bye immibis 05:34:38 For anyone who wants to read in the logs: the function 0x10 in domain 0x02 switches where output goes to. In this case, we're switching to 0x04 because that's where the "file descriptor" for the socket was made 05:34:45 0x04 was the first available FD slot 05:35:18 0x00 is current outFD, 0x01 is current inFD, 0x02 is stdout, 0x03 is stdin 05:35:31 Then the next lines simply output the necessary commands 05:36:23 Sgeo: my guess is "fuck" is censored in nicknames 05:36:40 Indeed 05:39:49 -!- BrainF has joined. 05:39:49 Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . 05:39:49 -!- BrainF has quit (Client Quit). 05:57:42 I guess I really should go to sleep now 06:01:50 -!- oerjan has quit ("Later"). 06:24:04 -!- devicenull has joined. 06:24:22 -!- BrainF has joined. 06:24:22 Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . 06:24:22 -!- BrainF has quit (Client Quit). 06:25:02 :D 06:25:02 -!- habnabit has joined. 06:25:16 -!- BrainF has joined. 06:25:16 Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . 06:25:16 -!- BrainF has quit (Client Quit). 06:25:31 -!- devicenull has left (?). 06:25:41 The script that I fed to the generator is at http://pastebin.com/d51adfde7 06:28:08 I should get going now 06:53:37 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:20:50 -!- bsmntbombdood has quit (Remote closed the connection). 07:31:22 -!- kwertii has quit ("bye"). 07:35:58 -!- BMeph has quit ("calls it a night"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:37 -!- olsner has joined. 08:09:00 -!- Sukoshi` has joined. 08:09:21 Yo. 08:12:42 Hi. 08:12:56 Hi. 08:13:11 Is anyone here enough of a loser to go on Direct Connect networks? 08:38:07 -!- olsner has quit ("Leaving"). 09:10:19 Sukoshi`: i'm enough of a loser for that 09:10:26 i have other reasons not to go on them 09:15:58 -!- habnabit has quit (Read error: 110 (Connection timed out)). 09:23:49 I was wondering because I'm writing a DC client. 10:40:23 I used to. 10:40:35 But really, it's now not very useful. 10:44:11 I used to longz agoz. 10:44:18 Like 6-7 years ago. 11:01:03 -!- jix has joined. 11:09:49 dc sucks... 11:17:27 -!- Corun has joined. 11:21:05 It does. 11:21:48 The protocol was written by an HS student who used terms like $ValidateDenide and $LogedIn 11:23:38 HS=? 11:23:44 high school? 11:24:01 anyway it sucks because it's nothing new... it is server based 11:24:28 there are no firewall2firewall conections.... 11:24:29 etc 11:24:50 High School. 11:24:53 What ? 11:25:00 How can a firewall connect to a firewall? 11:25:35 firewall2firewall is in fact firewalled user to firewalled user. 11:25:48 It can do passive connections. 11:25:49 two users behind two firewalled router 11:26:08 i know but with passive connections it is much slower 11:26:13 The protocol itself has no basic firewall support, true, but. 11:26:35 How else would you propose to do it? Is opening a port that difficult? 11:26:48 sometimes it is imposible... :-( 11:26:53 if you do not own the router 11:27:16 You can't tunnel through SSH? 11:27:24 Or even as a last resort, use an HTTP proxy. 11:27:45 O_o how slow is this going to be? 11:28:16 and what do you mean to tunnel through SSH? 11:29:37 Google holds many of these answers. 11:39:09 -!- oerjan has joined. 11:43:14 i still don't see how an SSH tunnel would help 12:08:24 -!- timotiis has joined. 12:17:10 -!- Corun has quit ("This computer has gone to sleep"). 12:30:51 You SSH tunnel through an open port. 12:31:14 can't you just tell dc to use that port? 12:40:09 Yeah. 12:40:25 Or an HTTP proxy works, which tunnels traffic through an HTTP port. 12:40:43 but what if the route directs no port to your pc. 12:40:50 router* 12:41:06 which is the case normally 12:41:13 So you can't access the internet at all? 12:41:24 huh? of course you can 12:41:48 you can connect to everyone else. but nobody else can connect to you. 12:41:55 If you can't pass outgoing/incoming traffic through port 80, then what? 12:42:33 A port works two ways, source and destination. A typical firewall allows you to use a port as a source port, but not use it as a destination port. 12:42:46 i am talking about routers. 12:42:47 However you cannot do that with port 80, because it is an HTTP port. 12:42:59 The router uses a firewall ... the difference is the same. 12:43:10 i can close all ports on my router and still access the internet 12:43:17 but there will be no incoming connections 12:43:40 you can make an outgoing connection using any local port even if the router has all ports closed 12:43:48 (for incoming connections) 12:43:55 That means the router is being smart and allowing an HTTP connection to work synchronously, but now allowing one directional connections to occur. 12:44:14 i don't get it 12:44:25 A router can't perform magic. It has to do something with ports. 12:44:36 There's no option in the IP RFC that says "block a port but let traffic through". 12:44:43 obviously for tunneling you keep an outgoing connection open, which is still two-way for data 12:45:16 In an HTTP proxy, the connection looks just like a typical HTTP connection. A server is connected to, data is requested, more data is sent back, data is further requested, etc. 12:45:27 the router is a network node. if you try to connect to someone's router on port 60 (4eg) it will have to forward this connection to some internal ip:port 12:45:40 right? 12:45:56 Yes. 12:46:13 so what happens if no redirections have been setup? 12:46:25 the internal network still has access to the internet, right? 12:46:26 .... 12:46:29 How? 12:46:35 Tritonio_: you don't try to connect to someone's firewalled router. you allow them to connect to you, or you both connect to a server which does the tunneling. 12:46:52 Data is transmitted outgoing or incoming. 12:47:39 oerjan, that's what i am saying. if you haven't setup and redirections then you cannot access a pc in an internal network until it makes a connections to you 12:48:10 What is the theory behind this? Data can go out of a device and into a device. 12:48:18 after the pc behind the router connects to you, you can transmit and recieve data 12:48:26 The way a router works is that, data is redirected. 12:48:42 ok wait. i 12:48:51 So when you make an HTTP connection, you send the text "GET / HTTP/1.0". This data is sent out and transmitted via the router to the server of choice. 12:49:01 i'll close all redirections in my router, and UPnP too. ok? 12:49:18 The router then sends back a response, the HTML code, and this is intercepted by the router, and then sent back to you. 12:49:25 according to you. i will not be able to talk here afterwards? 12:49:37 Notice that you have an asynchronous connection here. Data is being transmitted one way and received another. 12:50:04 Tritonio_: Not neccessarily, your router could be smart (which is very normal) and if a connection is made first from a requesting machine, that connection can be allowed into the clear by the router. 12:50:19 Stop treating the router as a black box. "The router can do x" is not an explanation. 12:50:38 i still don't get it. 12:50:45 if i disconnect from the chat 12:50:54 then cancel all redirections. 12:51:01 will i be able to reconnect? 12:51:06 (i say yes) 12:51:10 Your machine sends a SYN packet to the router dest. the IRC server 12:51:27 The router sees the SYN packet, and adds the connection to a connection table, then routes the SYN packet out to the server. 12:51:36 right 12:51:39 The server sends back a response, SYN/ACK. 12:51:46 right 12:51:55 The router then cross-references the SYN/ACK with its connection table. If it finds an entry, it lets this through to you. 12:52:07 If it does not, the packet gets dumped into /dev/null. 12:52:08 ok 12:52:22 so there will be a connection. 12:52:42 So an HTTP tunnel works exactly this way. It creates an outgoing connection, and sends the traffic through this. The proxy then is in charge of handling all the traffic with the external server. 12:53:08 an outgoing connection to who? 12:53:15 To the proxy. 12:53:30 wait 12:53:34 C <-> P <-> S (C: Client, P: Proxy, S: Server.) 12:53:38 if i am behind a router 12:53:47 and you are behind a router. 12:53:59 how can we use the http proxy to communicate? 12:54:38 Okay, I'll give the simple explanation and leave for the night (it's 4:52 AM here): Because for all intents and purposes, an HTTP proxy connection looks the same as any HTTP connection. 12:54:50 ok 12:55:11 I suggest you do some IP reading in the mean time to get an understanding of it. 12:55:18 -!- Sukoshi` has left (?). 12:56:44 -!- faxathisia has joined. 12:57:08 -!- oerjan has quit ("Too much noise"). 13:00:31 anybody here? 13:01:04 Tritonio_: 13:01:54 was i wrong about the HTTP proxy not been helpful if both routers (NATs) do not redirect incoming connections to the two users that want to communicate??? 13:45:27 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 13:46:31 -!- slereah_ has joined. 13:56:50 -!- ehird` has joined. 13:59:00 -!- ehird`_ has joined. 13:59:22 -!- ehird` has quit (Read error: 113 (No route to host)). 14:01:23 i just realised what a good curse 'Bjarne, stroustroup!' is 14:01:36 Bjarne sounds like a foreign insult and 'stroustroup' sounds like..well, stroustroup 14:01:40 [note: spelling may suck] 14:18:23 we need a glass debugger 14:19:24 wouldn't that constitute a wimpmode? I don't think Gregor would approve 14:31:43 -!- ais523 has joined. 14:33:55 RodgerTheGreat: No, not really... 14:34:00 It would be edlin-style 14:34:08 ah 14:34:10 it would execute a line at a time 14:34:24 '' would execute the line, then print out the next one 14:34:36 and you'd have a command to print out the stack in an inscrutable format 14:34:39 maybe make it use commands that are rot13ed to make it harder to memorize? 14:34:42 add about 3 or 4 more commands and you've got the glass debugger 14:34:50 RodgerTheGreat: all one character 14:34:54 with seemingly no relation to what they do 14:34:58 (Just like Glass!) 14:36:14 hello ais523 14:39:08 GregorR: Is cpkt yours? 14:39:13 ckpt 14:39:17 in egobot tree 14:39:23 because JB_SP is undefined 14:40:25 $ grep JB_SP * 14:40:25 mem.c:jbuf[0].__jmpbuf[JB_SP] = stack_base; 15:02:12 -!- ehird has joined. 15:02:16 testing 15:02:28 testy 15:02:30 testy4 15:02:43 fooby 15:02:45 -!- ehird has quit (Client Quit). 15:20:50 -!- puzzlet has quit ("Lost terminal"). 15:26:53 ehird :( 15:27:09 faxathisia: xD 15:28:07 my code kind of sucks but I don't really care because it works 15:28:16 http://rafb.net/p/QEsaFY55.txt 15:28:37 but this puts every bf program in a list and runs them all.. extracting the ones that terminate 15:29:01 so ... I run it for like half an hour and there isn't any good output 15:29:09 just \0\1\0 and stuff 15:31:48 this sucks! 15:31:58 making shortest programs in VERY hard 15:45:29 what does it do when it generates []? 15:46:10 I actually filter out any programs with [] because there's always an equivalent shorter program or it gets stuck 15:46:24 er not stuck.. but infinite loop 15:46:39 If there is an infinite loop .. I just keep evaluating it forever 15:47:04 but lots of programs are run in parralel 15:48:49 faxathisia: do you filter other infinite loops? 15:49:02 no 15:49:27 I filter any redundancy like +- <> >< -+ .. 15:49:53 and any expression that isn't well parenthesized but that's it 15:50:34 if you have a balanced loopie, it's very simple to check whether conditions have changed after a cycle 15:50:41 ..? 15:50:48 ".."? 15:51:27 the program could be made more sophisticated but I run it for ages and it didn't produce anything 15:51:41 I think this whole approach is just too slow 15:52:14 well, ofc it's slow 15:53:44 you're actually trying to do something? 15:54:22 Well the aim is find the shortest possible programs to print given strings, 15:54:37 now I know this is impossible but it's still worth trying 15:54:50 well, you're a lunatic if you think that approach could work :D 15:55:05 hehee 15:55:38 if you're going for more than 4 characters 16:01:45 are you filtering out expressions that don't end in . followed by some number of ]s? 16:02:34 you may also be able to optimise, at least if you restrict your search to loops with balanced <>, by compiling into some other language first 16:11:51 -!- habnabit has joined. 16:21:36 ais523: hmm 16:21:39 what was i going to say? 16:21:40 i forgot. 16:21:51 * ais523 is incapable of reading ehird`_'s mind 16:22:12 Haskell separates Church and state! 16:23:49 heh 16:24:44 ais523: i wrote a haskell program that makes ghc use 100% cpu and never halt 16:24:49 i think i beat the typechecker. 16:24:55 (iirc, it is non-decidable) 16:25:08 "Loop in the flow analysis" was one of my favourite Prolog compiler error messages 16:25:16 even though I never ran the compiler, just read the manual 16:25:20 ais523: Really? I preferred '42'. 16:25:29 what was your compiler-breaking program? 16:25:35 (SWI-Prolog outputs '42' if you tell it to do something impossible, like 'X.') 16:26:20 http://hpaste.org/5758 16:28:01 aha 16:28:02 hugs halts on it 16:28:04 with a type error 16:28:14 I can't figure out what pred is trying to do 16:28:23 how many arguments would it normally be called with? 16:28:35 from the name, I'm guessing it subtracts one from its argument, so 1 16:29:01 ais523: yes. this is church numeral stuff. 16:29:11 i don't personally understand 'pred', to be honest 16:29:16 you should see the type thouhg: 16:29:18 predecessor 16:29:30 (((t -> t2) -> (t2 -> t3) -> t3) -> (t4 -> t1) -> (t5 -> t5) -> t6) -> t -> t1 -> t6 16:29:33 and i know what 'pred' stands for 16:29:37 i mean i don't understand the definition 16:29:38 -!- uvanta has joined. 16:29:41 sorry, I misinterpreted your comment 16:29:49 *** Expression : dechurch 16:29:49 *** Expected type : ((a -> a) -> a -> a) -> Integer 16:29:49 *** Inferred type : ((((a -> a) -> a) -> (a -> a) -> a) -> ((a -> a) -> a) -> (a -> a) -> a) -> Integer 16:31:05 your implementation of dechurch is inefficient 16:31:36 dechurch n = n (1+) 0 16:33:28 i was doing it purely 16:33:43 in fact, your implementation is probably wrong, because comparing functions is uncomputable 16:33:57 so you can hardly expect the compiler to match functions based on Church number equality 16:34:23 ais523: well, we'll see what it does 16:34:23 :P 16:34:24 the 'dechurch zero' pattern won't match a Church numeral unless it's a literal 'zero' or you're lucky, even if the Church numeral has the value 0 16:35:26 hmm... I wonder if the recursive definition 'succ n = n succ one' would work, or whether it would confuse the compiler 16:35:41 I doubt it would work in Haskell, because it looks like an infinite loop 16:35:53 but there's a slim chance that laziness might save it 16:36:24 no, it is an infinite loop, because 'succ one' ends up being defined to be 'succ one' 16:36:25 pity 16:36:54 it would work in that uncomputable language I was talking about yesterday, if written as Succ(N)=N(Succ(One)) 16:37:20 but I wonder if that would give more than one solution for Succ... 16:37:47 -!- Corun has joined. 16:38:31 ais523: succ one = ...; succ n = n succ one 16:38:43 well 16:38:45 succ n | n == one 16:38:47 :-P 16:38:55 you can't compare functions with == 16:39:00 exactly 16:39:00 but: 16:39:01 or with anything else, for that matter 16:39:16 succ n | dechurch n == 1 = two 16:39:17 | otherwise = n succ one 16:39:27 but... 16:39:31 you need Integer -> Integer stuff 16:39:34 i'm going to do a newtype 16:39:41 hmm... 16:39:56 ais523: the type system doesn't like it, y'see 16:39:57 succ two = two succ one = succ (succ one) = succ two = ... 16:40:18 so defining succ recursively, although mathematically true, doesn't really help a computer 16:40:39 ais523: anyway, newtype Church a = Church ((a -> a) -> a -> a) is problematic 16:40:43 because you need 16:40:46 a = Church a 16:40:48 so: 16:40:52 class time 16:41:08 class Church a 16:41:09 instance (Church a) => Church ((a -> a) -> a -> a) 16:41:10 ... i think 16:41:17 :o 16:41:27 I like this idea 16:41:48 although is it valid? 16:41:55 lmao: 16:41:56 instance Churchy Church ... 16:43:03 it's so much simpler in Underload/Underlambda 16:43:07 zero is !() 16:43:10 one is 16:43:13 two is :* 16:43:14 ais523: is that strongly typed? 16:43:17 three is ::** 16:43:19 and so on 16:43:23 ehird`_: not exactly 16:43:27 there's just the one type, function 16:43:39 'xactly 16:43:39 each function maps a stack of functions to another stack of functions 16:43:52 strong typing messes up sii quite badly 16:44:00 and the ability of sii is needed to write loops 16:44:26 OTOH, I suppose you could say it was strongly typed, except with just the one type, defined recursively as type = [type]->[type] 16:44:36 you might be able to write sii using lets? 16:45:00 I can't think of a way to do that 16:45:02 because you can get Y using a let 16:45:08 I'm just guessing.. 16:45:09 the naive definition is sii X = X X 16:45:10 faxathisia: not in haskell 16:45:19 ehird`_: proof? 16:45:25 faxathisia: it doesn't type 16:45:28 a = a -> a 16:45:29 y types 16:45:29 but 16:45:34 y f = f (y f) 16:45:34 no, it doesn't 16:45:37 that is not y 16:45:37 yes it does.... 16:45:39 THAT IS NOT Y 16:45:41 Yes it is... 16:45:47 there are two Ys 16:45:52 a lazy version and an eager version 16:45:59 ais523: and that is neither 16:46:02 y is a COMBINATOR 16:46:07 and #haskell are informing you now, faxathisia 16:46:14 no they aren't :P 16:46:29 YOU are a combinator! 16:46:40 -!- Corun has quit ("This computer has gone to sleep"). 16:46:50 ais523: i haven't seen him justify his belief as of yet. 16:46:51 oh well. 16:47:14 faxathisia: http://r6.ca/blog/20060919T084800Z.html 16:47:19 a combinator can be a function 16:47:23 id is a combinator, after all 16:47:26 but it's also a function 16:47:37 ehird`_: Yeah, I've seen that 16:47:51 Y g = g (Y g), according to Wikipedia 16:48:11 ais523: that's not y. 16:48:23 that's a quote 16:48:32 Y = λf·(λx·f (x x)) (λx·f (x x)) 16:48:46 is how you defined it without using the argument in terms of lambdas 16:49:31 -!- cherez has quit (Read error: 110 (Connection timed out)). 16:54:43 type Church a = ((a -> a) -> a -> a) 16:54:43 class Churchy a 16:54:43 instance Churchy Church 16:58:42 http://hpaste.org/5759 getting there 16:59:33 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 16:59:49 -!- slereah_ has joined. 17:00:04 "Churchy" == "something that acts kind of like a Church numeral or its argument"? 17:00:15 ais523: 'Churchy' == 'a church numeral' 17:00:19 remember, 17:00:32 the only arguments to church numerals are (ChurchNumeral -> ChurchNumeral) and another ChurchNumeral 17:00:32 but church numerals can be applied to non-church-numeral arguments 17:00:41 like the (1+) I gave as an example above 17:00:44 ais523: not if we want everything to type properly.. 17:00:51 anyway -- so we have a recursive type, so we need that class hack 17:00:59 oh dear 17:01:08 the typechecker strikes again 17:01:14 er no 17:01:17 just the sane type system 17:01:26 anything more and you could get full polymorphism 17:01:29 because you need type 'a = a -> a' 17:01:34 which is the type of all lambda expressions 17:01:36 yes, but it gets in the way if you want to do Unlambda-style pure functional programming 17:01:55 presumably, they thought that real programs were more important 17:01:58 because that leads to infinite types with ease 17:01:59 i have no idea why 17:02:04 this is why we have data types :P 17:02:09 faxathisia: :) 17:02:22 I'm aware that the typechecker is useful in practice 17:02:32 but it's really annoying in theory 17:02:51 In theory a typechecker needn't exist 17:03:02 in theory, it's great 17:03:05 well .. you have to do the proofs yourself 17:03:11 its the sweet spot for usability and ... well, computability 17:03:29 church numerals are 'weird' anyway... i would say that a type system not including them is not odd 17:03:30 removing the typechecker wouldn't make the language uncomputable... 17:03:44 Unlambda is computable, and so is lambda calculus 17:04:00 uhh, duh 17:04:03 but then you have no types... 17:04:06 to me, though, the main point of Church numerals in practice is to give a simple way to write loops 17:04:06 and haskell is designed to be strongly typed 17:04:20 I guess ehird; mean that typechecking is computable? 17:04:37 succ :: Churchy a => ((a -> a) -> a -> a) -> (a -> a) -> a -> a 17:04:38 say I want to print something out 6 tiems 17:04:39 doesn't :( 17:05:18 then with the monad chaining argument explicit, it would just be a case of writing six (printChained "Hello") InitialIOChain 17:05:33 where printChain has the type String -> IOChain -> IOChain 17:05:43 and the IOChain is the underlying chaining element inside the monad 17:06:02 of course, Haskell doesn't let you access that directly, because it would allow you to fork timelines, which is just weird 17:07:01 a non-monad example: to make 12 copies of the string "test", I need only do '(church 12) (++"test") ""' 17:07:04 ais523: you can access the io chain 17:07:05 in ghc. 17:07:08 it's... magical 17:07:10 oh good 17:07:20 that would at least be better for my sanity than unsafePerformIO 17:07:27 newtype IO a 17:07:27 = GHC.IOBase.IO (State# RealWorld -> (# State# RealWorld, a #)) 17:07:27 -- Defined in GHC.IOB 17:07:36 (# ... #) is strictness annotations, btw 17:07:41 RealWorld being the IO chain, presumably 17:08:20 I wonder what happens when you deliberately fork it? 17:08:20 ais523: segfault, i assume 17:08:23 ask in #ghc or #haskell 17:08:27 not that I'd ever do something that evil in practice 17:08:28 ais523: but the important thing 17:08:35 is that with this IO, you can define IOT 17:08:36 and... 17:08:48 type TwoDucks = IOT Cont 17:09:05 I was having similar thoughts in my megaProlog 17:09:16 TwoDucksness falls out naturally from the syntax 17:09:42 with no time travel involved, just starting with the (infinite) set of all possible timelines and eliminating them until only a few are left at the end of the program 17:10:31 aww damn, ais523 -- 17:10:35 dechurch :: Church a -> Integer 17:10:37 doesn't type 17:10:40 dechurch :: Church Integer -> Integer 17:10:40 does 17:10:42 but obviously 17:10:47 that means you can't "dechurch one" 17:11:00 what about my dechurch definition? 17:11:07 I am using yours 17:11:08 dechurch (Church n) = n (1+) 0 17:11:14 that probably won't type the way you've defined the typeclasses 17:11:31 look 17:11:37 the real problem is that all the Church numerals have different types 17:12:03 so, for instance, one would be a -> a in an ideal world 17:12:31 two would be (a -> b AND b -> c) -> (a -> c) 17:12:45 three would be (a -> b AND b -> c AND c -> d) -> (a -> d) 17:13:11 but ANDs in types are apparently not allowed, even though I've wanted to use them in RL before 17:13:51 two three would be allowed; its type signature would even tell you that the result was six! 17:14:02 come to thing of it, succ and pred would likely be fine too 17:15:34 ais523: I've decided type-level church numerals are far more fun. 17:16:14 data Zero 17:16:14 data Succ a 17:16:36 err 17:16:36 peanos 17:20:50 ehird`_: I have no problem with Church numerals, succ, and dechurch typing for me 17:21:06 although they type as (a -> a) -> a -> a, which is likely the best that Haskell can do 17:21:28 ais523: yes, the problems come later 17:21:33 succ :: ((b -> c) -> a -> b) -> (b -> c) -> a -> c 17:21:40 ais523: anyway, type-levels are so fun 17:21:43 you can have 17:21:44 succ = const undefined 17:21:48 and just define the type 17:22:07 did you know that haskell's type system (well, with 1 or 2 extensions turned on) can have SK embedded in it?? 17:22:24 so you can't get sii in the lang itself 17:22:28 but you can get sii in its type system 17:22:31 but you can get it in the type system. 17:22:31 yes. 17:22:36 because the type system itself isn't typechecked so strictly 17:22:39 yes. 17:22:49 well, you can't get it without the 2 extensions 17:22:52 that says a lot about Haskell's typechecker 17:22:56 and one is -XUndecidableInstances 17:23:02 so, to be honest, you're really saying 'LET ME DO THIS' 17:23:43 well, of course, something that doesn't allow undecidable types is hardly going to allow TC types 17:23:50 ais523: here's how you use peano-types: > :t pred (undefined :: (Succ Zero)) 17:23:56 should give you: 17:24:04 pred (undefined :: (Succ Zero)) :: Zero 17:24:27 the real test will be if you can multiply and divide them 17:24:33 pred :: Succ a -> a 17:24:33 pred = const undefined 17:24:37 ais523: of course you can. 17:24:44 there's a fscking *type-level quicksort* 17:25:01 interestingly, with that definition of pred 17:25:05 you get (pred Zero) checking for free 17:25:20 yes, but I was wondering about if it was possible with that sort of simple definition 17:25:27 and how complicated the type signature needed would be 17:25:55 ais523: also worth noting is that its impossible to get the type into a haskell Integer 17:25:56 well 17:26:04 you can define a Show instance 17:26:06 then read that 17:26:06 :D 17:26:22 that only gets you a finite number of possible outputs, right? 17:26:39 therefore, you should define Show to output ASCII chars rather than integers 17:26:46 so you can have BF-style IO 17:27:05 and write atoi in the type system 17:27:05 instance Show Zero where show = const "0" 17:27:05 instance Show (Succ a) where show = const ("S" ++ show (undefined :: a)) 17:27:05 unfortunately, does not actually work 17:27:05 sorry, itoa 17:29:07 ehird`_: what goes wrong? 17:29:19 and why the underscore on your nick? 17:29:22 ais523: well, if you add (Show a) => Show (Succ a): 17:29:32 /home/ehird/calc.hs:13:20: 17:29:32 Ambiguous type variable `a' in the constraint: 17:29:32 `Show a' 17:29:32 arising from a use of `show' at /home/ehird/calc.hs:13:20-33 17:29:32 Probable fix: add a type signature that fixes these type variable(s) 17:29:45 ais523: and: 17:29:47 i use 'ehird' now (got it back) 17:29:51 but ehird` was when ehird was cracked 17:29:54 and i crashed before 17:29:57 leaving a ghost 17:29:59 so: ehird`_ 17:30:09 OK 17:30:27 Show a might not be enough 17:30:32 what about (Show a, Peano a)? 17:30:39 define 'Peano a' 17:30:41 there is no such thing 17:30:46 just 'data Zero' and 'data Succ a' 17:30:57 oh, so Zero and Succ are different data types 17:31:10 just for fun, what happens if you say "deriving Show"? 17:31:20 ais523: they have no constructors. 17:31:27 that would therefore do nothing 17:31:32 OK 17:31:42 ah wait 17:31:42 for a while I thought you were using the constructors to do your Peano arithmetic 17:31:44 i can use my pred function 17:31:49 ais523: that would be runtime 17:31:58 you're right, it would be 17:32:02 when you do 5*2 in this, it's worked out at compile-time. 17:32:08 and you get a value of type (Succ^10 Zero) 17:32:20 the value itself is just 'undefined' as some value so it's pretty opaque 17:32:57 *Main> undefined :: Succ (Succ Zero) 17:32:57 SS0 17:33:05 instance Show Zero where 17:33:05 show _ = "0" 17:33:05 instance Show a => Show (Succ a) where 17:33:05 show a = "S" ++ show (pred a) 17:36:22 Is it possible to implement the µ function? 17:36:35 I can't think of a general way to do it. 17:36:53 what is it 17:37:46 You know, for general recursive functions. µy f(y, x1, x2, x3, ...) = smallest value of y that makes the function vanish if it exists, 0 otherwise. 17:40:30 ais523: heyyy, I just realised 17:40:34 an instance for Eq on Succ a or Zero 17:40:38 is const const True 17:40:42 because.. 17:40:47 == with two non-equal arguments, with that 17:40:50 doesn't type!! 17:41:03 does Eq return false when it doesn't type 17:41:06 or does it just error out 17:41:10 ais523: no, it won't compile 17:41:17 so.. you have compile-time assertations of numeric equality 17:41:18 :P 17:41:24 so that would be more assert-equal rather than equal 17:41:26 you can define an Eq type doing it properly 17:41:27 of course 17:41:59 ais523: for Plus i'll need a class... 17:42:03 actually 17:42:06 'plus' can't be a function itself 17:42:14 i must define a 'plus' class or something 17:42:19 then do the trick i did with pred/succ for a function 17:44:40 -!- habnabit has quit (Read error: 110 (Connection timed out)). 17:47:33 ais523: making this hs98 is hard 17:47:33 :D 17:47:56 do you have a link to that type-system quicksort, by the way? 17:48:19 ais523: yep 17:48:27 Google seems not to help that much 17:48:45 http://www.haskell.org/haskellwiki/Type_arithmetic 17:48:49 but please don't look at the numeric definitions 17:48:55 i want to make sure mine are as different as possible 17:49:09 and 17:49:09 http://www.haskell.org/haskellwiki/Type_SK 17:49:14 brb 17:57:25 -!- ehird`_ has quit ("K-Lined by peer"). 18:02:48 -!- ehird` has joined. 18:03:25 ehird` missed what? 18:03:39 no comments between when you left and when you rejoined 18:03:43 at least not in this channel 18:03:50 nor either of the others I'm in 18:04:05 either of the others I'm all alone in, for that matter, since you left 18:04:12 The internet awaited your return 18:04:48 ais523: anyway, i'm testing with hugs now 18:04:50 without extensions 18:04:52 to ensure portability 18:06:00 ais523: apart from plus/minus etc 18:06:04 what would you say is a good operation? 18:06:09 since plus/minus are too hard, for now 18:06:09 for testing? 18:06:52 with Church numerals, exponentiation is easier than plus, minus, times, or divide 18:06:53 I don't think Peano numbers are so well behaved, though 18:07:00 what about mod-2 18:07:06 that's pretty simple 18:07:29 that requires comparison 18:07:30 i think 18:07:38 only to 0 and 1 18:07:45 i guess so.. 18:10:28 ais523: crazy -- i'm writing a toPeano 18:10:32 i guess, that might be impossible 18:10:35 fromPeano is easy 18:10:43 class Peano a where 18:10:43 fromPeano :: a -> Integer 18:10:43 instance Peano Zero where 18:10:43 fromPeano _ = 0 18:10:43 instance Peano a => Peano (Succ a) where 18:10:43 fromPeano a = 1 + fromPeano (pred a) 18:10:47 what are you passing in as an argument to toPeano? 18:10:51 ais523: Integer 18:10:54 which is why I think it's hard 18:10:58 clearly impossible 18:10:59 I would need run-time types. 18:11:04 the Integer's value isn't known at compile time 18:11:07 exactly 18:12:26 write a fromChurchToPeano instead 18:12:35 that reads a Church numeral in SKK form... 18:12:38 ais523: Churchs values aren't known at compile-time either 18:12:39 :-P 18:12:48 you can implement the Churches in types 18:12:57 probably easier than implementing them as functions... 18:13:06 mehh 18:13:32 it's actually remarkably simple, because you just apply the Church numeral to succ and 0 18:21:08 ais523: i am unsure if plus is possible with just hs98 18:21:54 I don't know enough Haskell typesystem stuff yet to be sure either 18:22:03 I'm just busy on getting the Underlambda Tier 1 spec finished 18:22:38 it's exactly the Underload spec, except taht S has been relaxed to print out a serialisation of the code in the top stack element, rather than the source code of the top stack element 18:22:44 and everything's described in a lot more detail 18:23:02 oh, and I changed the quoting rules because everyone ignored them anyway 18:23:15 and added a magic word for the start of the program 18:24:15 but if the forbidden characters #!{} are avoided, all Underload interpreters are lenient conforming bounded Underlambda Tier 1 interpreters 18:24:57 ais523: i just had an idea 18:25:02 if haskell's typesystem is TC 18:25:06 then what about a language with just a type system?! 18:25:49 but then it wouldn't really be a just-a-type-system lang 18:25:59 but a lang with untyped data 18:26:01 (i.e. the types) 18:26:06 unless you're using metatyping as well 18:26:09 ais523: yes 18:26:13 a turtles-all-the-way-down approach 18:26:24 I want to have metakinds of metatypes! 18:27:23 ais523: and 18:27:26 the values ARE needed 18:27:31 because a 'djinn'-alike is involved 18:27:33 if you want to do IO. 18:27:55 unless your IO chain is made of types rather than values 18:28:00 I don't see how you could do input otherwise 18:28:07 it is made up of types, yes. 18:28:08 because the input would be runtime but the output compile-time... 18:28:18 you are right -- the chain is made up of types, then 18:28:20 and if your IO chain is made of types you don't need the values 18:28:27 well, you will 18:28:39 by making the type specify that the 'values' (dummies) depend on the previous 'values' (also dummies, but of just the right type) 18:29:09 maybe you could combine the dummy values with random operators that happened to have the right type signature 18:29:20 and just plug some random dummy values in to see what happened 18:29:30 at runtime, after your program has already run 18:31:50 yep 18:31:52 well 18:31:53 no 18:31:57 what happens is that 18:32:05 to find a variable of type '' 18:32:19 it must satisfy the constraints which amount to 'a line of input whicih is inputted RIGHT NOW' 18:32:22 so the compiler gets it 18:32:30 (the compiler is also a djinn) 18:32:35 and then hardcodes that value into the output 18:32:40 just like a very clever djinn 18:32:42 so basically 18:32:46 all IO happens at compile-time 18:32:51 the final program is a no-op 18:33:00 or indeed not necessary at all 18:33:02 ais523: http://pastebin.com/m64be26a5 this bash prompt is epic -- see http://reddit.com/info/697cu/comments/c037ztj 18:33:46 are bash prompts TC, like the rest of bash is? 18:33:59 probably not, unless there's a way to loop 18:39:19 ais523: check the source fo that one 18:39:32 it uses prompt_command 18:39:51 I did, but I don't understand it that much 18:40:11 it appears to be mostly switches so that it's portable to different terminal types 18:40:13 ais523: basically, bash lets you run a command for a prompt 18:41:35 ais523: also, i have an idea 18:41:45 a prompt creation library 18:41:49 called Epic $PS1 18:41:58 which lets you configure it emacs-style, and call various init functions on variables 18:42:00 to have it manage them 18:42:06 so prompt creation is a lot easier 18:42:08 since it's modular etc 18:42:12 your comment "also, i have an idea" reminded me of the adventure game in UMIX 18:42:20 you could make a prompt whose colour was the last exit code converted to rgb 18:42:21 :D 18:42:45 it kept spouting stuff like "also, it is broken; it is missing a circuit board missing a (radio missing an antenna)" 18:43:10 the idea being that before long you would get bored and write a program to solve the puzzles, all of which were of the same nature and some of which were extremely long 18:43:11 heh 18:43:31 umix= 18:43:48 the main thing you interacted with in the 1006 ICFP 18:43:56 oh wait 18:43:59 is that the ancient machine 18:43:59 thing 18:44:01 yes 18:44:20 where they just give you some self-extracting bytecode containing most of the challenges and you have to write the VM yourself 18:44:21 i love icfp's award texts 18:44:44 if you ever try, I recommend writing the VM in C, because it needs to be extremely fast 18:44:57 heh, why? 18:45:02 I have a fast interp for it, but it assumes 32-bit pointers becaues it makes things simpler 18:45:13 ehird`: because even with my fast interp the self-extract took about an hour 18:45:32 o.o 18:45:32 I had a Perl interp originally, but I got bored before the program even finished the selfcheck 18:45:59 even worse, I had to run it twice, because I didn't have anything capturing stdout the first time 18:46:28 obviously, I meant 2006, not 1006 18:46:56 hah 18:47:20 on a similar note, does anyone know how to get past the wildcat in Lost Kingdoms? 18:47:26 I'm completely stumped 18:47:29 lmao 18:47:32 people play that? 18:47:35 i just wait until it starts. 18:47:39 to test my interps. 18:47:44 I have done, but I'm stuck on the wildcat 18:47:50 nothing I do seems to work 18:48:03 you can't go past it, because then it puts up a fake prompt and kills you whatever you type 18:48:05 ais523: what should i call that turtle-types language? 18:48:07 (logo? ;)) 18:48:09 but there's no obvious way to kill it either? 18:48:26 whenever I try, it just says "you can't see it clearly enough" or something similar 18:48:41 ais523: write a brainfuck interp that lets you serialize+reload a tape & program counter 18:48:43 then i'll try 18:48:44 :P 18:48:53 shouldn't be too hard 18:49:06 ais523: well, then you have to play up to the wildcat and serialize. 18:49:07 :P 18:49:13 so it'd better be pretty quick; for lostkng 18:49:31 I'll find a fast opensource bf interpreter and modify it a bit 18:50:01 ais523: bff.c 18:50:19 I would say 'mine' but it isn't written yet 18:50:34 oh 18:50:38 ais523: apparently http://mazonka.com/brainf/ is faster 18:50:46 than http://swapped.cc/bf/ 18:50:50 which used to have a pretty design. odd 18:50:50 I'm using the one that comes with Lost Kingdoms 18:51:30 yeah, that's slow 18:51:35 mazonka.com/brainf/ is a lot faster 18:51:39 and since you're saving more state 18:51:40 that's important 18:51:56 -!- habnabit has joined. 18:52:00 http://mazonka.com/brainf/bff4.c with -DLNR 18:53:47 ais523: how do i print up to something matching a regexp in ed? 18:54:03 trying to edit some C with it :) 18:54:03 I don't know ed 18:54:15 in sed it would be 1../regexp/ p 18:54:22 and ed often uses the same commands 18:54:23 we need ised 18:54:24 but not always 18:54:25 interactive sed 18:54:29 I was writing that 18:54:31 in INTERCAL 18:54:39 heh 18:54:47 but I shelved it after a while to work on other things 18:55:11 it would have been quite a torture-test for the backtracking code if I finished it 18:55:23 ais523: ken thompson's favourite editor used to be ed 18:55:26 it was basically sed 18:55:45 then it was sam (ed, but with a gui: a top, scrollable command window, and various file buffers below, which just display the current file) 18:55:48 except that you could enter a blank line to cause everything since the last blank line to run as a self-contained program 18:55:55 (you could use the mouse and everything to move around windows and stuff) 18:56:00 but he may have moved on to acme 18:56:01 and there was an extra command 'display on screen' 18:56:48 ais523: ah, you don't want bff4 18:56:51 it uses dbfi input 18:57:03 I can't modify it anyway 18:57:07 no explicit license agreement 18:57:15 ais523: you are PARANOID 18:57:28 no, I just like to stay legal 18:57:53 ais523: i am sure you could send off an email 18:57:58 in the esolang world, nobody cares 18:57:59 worse, bff has an explicit "all rights reserved" 18:58:22 so I'll stick to Lost Kingdom's interp 18:58:29 which is pretty responsive for me once it's loaded 18:59:47 *The program is distributed under terms of BSD license. 18:59:47 *You can obtain the copy of the license by visiting: 18:59:47 * 18:59:47 *http://www.opensource.org/licenses/bsd-license.php 18:59:47 */ 18:59:49 from 18:59:51 bff.c 19:00:06 ais523: all rights reserved is just the readme 19:00:23 so hah 19:00:27 hmm... nice misleading license 19:00:39 yeah, well who cares, the source file says it's bsd -- that's what is important 19:00:55 let me finish working on the Lost Kingdom's version, anyway, as I've done quite a bit on that already 19:01:16 ais523: ok. but bff.c is crazy fast 19:02:13 it runs mandelbrot.b in 19sec on this old, crusty machine 19:02:37 ais523: btw, do you think Epic $PS1 is a good idea? :P 19:02:44 yes 19:02:50 I wouldn't use it but probably lots of people would 19:02:53 hehe 19:03:07 actually, I might use it just to test for you, but I'm reasonably happy with my current boring default prompt 19:03:23 on Windows (where I also run bash) my prompt is even more boring; I set it to a single $ 19:03:27 and a space 19:04:03 ais523: mostly, my prompt would be in the title 19:04:09 but i think two-line prompts are pretty good 19:04:10 imagine: 19:04:14 19:04:15 $ ... 19:04:20 where $ is a # when root 19:04:22 and bold 19:04:31 # is red 19:04:33 you should turn the entire line a different colour when you're root 19:04:37 yes 19:04:38 exactly 19:04:49 and, gets coloured according to the last commands output 19:04:51 or maybe even if the command merely starts with sudo, if there's some way to do that 19:04:53 when you're root, that's tinted red 19:05:06 so, '1' might give dark gray on normal 19:05:09 whereas 0 = blue 19:05:12 but on root 19:05:15 '1' = dark crimson 19:05:16 0 = red 19:07:15 ais523: hmm, i'm giong to take a hand at writing a fastfast brainfuck interp 19:07:22 i take it you're not interested? :-P 19:07:34 not immediately 19:07:40 -!- Tritonio_ has quit ("Bye..."). 19:07:45 ais523: anyway, got that stateful interp yet? 19:07:52 almost finished writing 19:08:04 I probably would have done by now if it weren't for constantly seeing why #esoteric is flashing at me 19:08:08 -!- Tritonio_ has joined. 19:08:43 haha :( 19:09:06 -!- cherez has joined. 19:09:43 ais523: ok, what about turtles 19:11:24 typedef struct _turtle { 19:11:25 struct _turtle *metatype; 19:11:25 struct _turtle *type; 19:11:25 struct _turtle *supertype; 19:11:25 void *data; 19:11:25 } Turtle; 19:15:10 you know i've never implemented bignums 19:15:12 i should do that sometime 19:15:23 it's boring ;) 19:15:25 ehrid`: Sure you have *g* 19:15:37 data N = Zero | Succ N 19:19:48 heh 19:19:50 i meant in c 19:21:42 -!- Tritonio_ has quit ("Bye..."). 19:24:31 faxathisia: it's even easier than that 19:24:35 you just use type Integer... 19:27:06 thats not an implementation thugh. 19:35:32 hm 19:35:40 8 seconds to calculate 100000 19:35:42 err 19:35:44 100000! 19:35:48 not bad 19:42:32 -!- Tritonio_ has joined. 19:43:29 ais523: hmm............ 19:43:36 should a bigint library handle negative numbers? 19:43:39 ah! of course, 19:43:44 on the root node i can just include a 'sign' bit 19:46:26 ais523: i'll just make the actual leaves unsigned long's tgeb 19:47:30 hmm 19:47:31 then 19:47:38 base = sizeof(unsigned long)*8 19:51:53 ehird`: I finished the bf serialiser/unserialiser 19:52:00 and I've played through to the wildcat bit 19:52:03 ok 19:52:07 show me the interp&serialized 19:52:08 :) 19:52:25 * ais523 pastes 19:54:56 http://filebin.ca/ytdzpo/bf-ser.c 19:55:01 is the BF interp with serialisation 19:55:09 http://filebin.ca/hcaczt/wildcat.ser 19:55:16 is the save file for the point in the game I reached 19:55:30 ais523: you should handle SIGSUSPEND 19:55:32 aka ^Z 19:55:33 for serialize 19:55:37 what if i want to input ` 19:55:37 :P 19:55:46 I don't think that comes up 19:55:54 but this is just a quick hack 19:55:54 well, what if i want to in some program :P 19:56:00 (and, with ^Z, you can display a prompt) 19:56:04 it doesn't support loops nested more than 63 deep either 19:56:12 I may improve it at some point 19:56:30 oh, and serialisations are always written to the file ./bf.ser, but you can rename/copy it once it's been created 19:56:42 to load from a serialisation, it's bf-ser 19:57:14 and type L when it loads, to get it to repeat the last prompt, or it's terribly out of context 19:58:44 hmm 19:58:53 checking whether some integer operations overflows in c is.. hard 19:59:18 ais523: link to lostkng.b? 19:59:25 i lost it 20:00:10 looking for it now 20:00:12 damn, you can't even do: 20:00:27 (a+b) because it might overflow an awful lot 20:00:37 http://jonripley.com/i-fiction/games/LostKingdomBF.html 20:00:43 it's inside a .zip container, unfortunately 20:01:05 I strongly suggest you type ?2 at some prompt to find out the controls 20:01:11 -!- cherez has quit ("Leaving."). 20:01:48 ais523: does it start up immediately? 20:01:50 from serialization 20:01:52 yes 20:01:54 yep 20:01:54 wow 20:01:55 that's nice 20:01:56 but at a stdin prompt 20:02:03 serialize that start of lostkng.b after startup 20:02:09 then you can lie about your interps speed ;) 20:02:22 it's not quite immediate-start, TBH 20:02:25 'starts lostkng in 0sec!!!' 20:02:37 but it's O(n) in the number of instructions the IP is deep in the program 20:02:38 ais523: about instant for me 20:02:41 yes 20:02:44 because there's no looping 20:02:48 it just goes straight there 20:02:55 the delay is due to seeking by index in a linked list 20:02:59 and that's hardly noticeable 20:04:09 ais523: using this game is like programming in an esolang 20:04:24 (nigh-on impossible the first time) 20:04:28 i can't get it to do anything 20:04:55 * ais523 is used to it 20:05:00 ?2 gives a list of commands 20:05:07 i will tell you which number corresponds to which item you own 20:05:17 then it's a case of typing or space 20:05:19 to give the commands 20:05:49 -!- cherez has joined. 20:05:50 -!- cherez has quit (Remote closed the connection). 20:06:05 -!- cherez has joined. 20:06:05 -!- cherez has quit (Remote closed the connection). 20:06:42 -!- cherez has joined. 20:06:42 -!- cherez has quit (Remote closed the connection). 20:07:04 ais523: what about that axe you have..? 20:07:10 try using it 20:07:12 -!- cherez has joined. 20:07:14 it doesn't work because you can't aim it 20:07:24 i did but i don't know the controls properly so im having trouble. 20:07:24 BTW, I'm pretty sure I've got all the items in the game up to that point 20:07:35 killing the cat doesn't work 20:07:40 throwing the axe at the cat doesn't work 20:07:48 and walking deeper kills you 20:08:09 ais523: its a port of an older game 20:08:16 so why not look around for that one 20:08:24 written in BASIC IIRC 20:08:30 one thing I tried was to write a decompiler 20:08:38 but when I found there were unbalanced loops I gave up 20:08:53 maybe I should find a copy of BFBASIC and see if I can write something to reverse its effect 20:09:09 ais523: 20:09:10 >h 1 20:09:10 You hear the creature stir but the beast remains hidden. 20:09:19 and ... more than just from BFBASIC: 20:09:24 http://jonripley.com/i-fiction/games/LostKingdom.html 20:09:35 you just threw away your box of matches! 20:09:39 how could you! 20:09:42 no 20:09:45 my rusty old lamp. 20:09:48 ...and yes, I tried that as well 20:09:49 but it made the creature stir 20:09:54 sorry, misread the number 20:09:58 but I tried that too 20:10:05 no inventory works 20:10:33 sorry, ais523 -- i think it's a dead end 20:10:43 there is nowhere else 20:10:51 and that area was well-guarded 20:11:26 LostKingdom,ffb is the Acorn BBC BASIC version. 20:11:27 LostKingdom.bbc is the non-Acorn BBC BASIC version. 20:11:32 i believe those are sources. 20:11:37 * ais523 has actually written BBC Basic 20:11:44 but those sources don't correspond to the BF version 20:11:46 oh they appear to be binary files 20:13:12 yes, they are 20:13:18 and with no recognisable text fragments 20:13:33 most of the text was new for the BF version, anyway, IIRC 20:14:11 ais523: We need an esolang that is optimized for writing Hunt the Wumpus and simmilar. 20:14:13 Befunge does a good job of it. 20:14:48 http://en.wikipedia.org/wiki/Image:Wumpus.jpg wow, the wumpus SO does not look like that 20:15:04 The wumpus looks like a walrus, but bigger, and stands more on its hind legs. 20:15:10 and eviller. red eyes. 20:15:37 -!- uvanta has quit ("사회주ěťě  ě‹ ë…, ěžě—°ěŁĽěťě  이성"). 20:17:50 what's the best befunge interp out there? 20:17:52 that recompiling one 20:18:11 ccbi is apparently the only standard-compilant Funge-98 interp, so that's the one I use 20:18:55 and Funge-98 > Befunge-93 in so many ways 20:19:15 TC-ness, for one 20:19:22 i like -93 more. 20:19:24 it's simpler. 20:19:30 98 is such complex crap. 20:19:35 -93 + infinite board = yum 20:19:50 besides 20:19:56 98 is 93+infinite board+actual specifications for some things that weren't specified before 20:19:57 the bef wumpus is written in -93 20:20:02 ais523: + complex crap 20:20:04 and a whole lot of useful commands that you can ignore if you like 20:20:13 http://catseye.tc/projects/befunge93/eg/wumpus.bf hunt the befunge-93 20:20:27 ehird`: input behaviour on EOF is something that badly needed specifying 20:20:38 brainfuck does fine without 20:20:42 no it doesn't 20:20:53 the EOF thing is responsible for most BF incompatibilities 20:21:00 BF would be a much better lang without that particular problem 20:21:09 -!- olsner has joined. 20:21:10 and it's pretty good as it is 20:21:56 -!- chere1 has joined. 20:21:57 -!- chere1 has quit (Remote closed the connection). 20:22:01 -!- chere1 has joined. 20:22:02 -!- chere1 has quit (Remote closed the connection). 20:22:16 on another note, I'm working on an esolang-based text adventure 20:22:18 -!- cherez has quit ("Leaving."). 20:22:19 speaking of which i should write a brainfuck specification 20:22:19 formally 20:22:20 in TeX 20:22:24 or texinfo 20:22:30 that is, esolangs form the basis of the plot 20:22:37 although the adventure is itself written in C 20:22:45 * ais523 likes texinfo 20:22:58 so far I have a BF-based, INTERCAL-based, and SMETANA-based puzzle 20:23:25 -!- cherez has joined. 20:23:35 in most of the puzzles, the player plays an intelligent IP that can choose to change direction out of free will and execute a different set of commands 20:23:55 and some of the langs were made 2D so that people could walk around them in a more interesting way 20:24:07 it's slow going, though, because good puzzle ideas are hard to come by 20:24:29 ais523: why write in c? 20:24:38 because I started it years ago 20:24:50 back when I was mostly writing C in files with a .cpp extension 20:24:55 because I didn't really realise the difference 20:25:04 it would be easy enough to translate, if necessary 20:25:18 oh, and the portability's the other reason 20:27:12 ais523: Ok -- 20:27:20 I think I want to write Be Your Funge. 20:27:26 It's FukYorBrane, but for befunge. 20:27:34 (93, of course -- the limitations are an advantage) 20:27:40 in this case, yes 20:27:55 FYB's main problem, by the way, is that [] loops can run for 0 repetitions 20:27:58 ais523: Actually, I think it will be short. 20:28:02 and 20:28:04 that's an advantage 20:28:07 it's a strategy 20:28:15 If I ever hold a FYB contest, I'll force them to run at least once each 20:28:21 rubbish 20:28:36 otherwise you can just start your program by defecting, pointing at a NOP, and skipping 100000000000000 bytes of junk 20:28:48 and do whatever you like because the opponent can only move their data pointer one step at a time 20:29:12 so you have trillions of instruction cycles before the opponent can get anywhere near affecting your program 20:30:00 it leads to degenerate competitions where the length of the original junk is all that determines who wins 20:30:12 ais523: beyourfunge will use p and g 20:30:15 to point at the opponent 20:30:22 naturally 20:31:09 ais523: um, should i do: 20:31:12 run ins on A 20:31:13 run ins on B 20:31:14 ... 20:31:17 or something more sophisciated? 20:31:28 although you lose one thing I liked about fyb, which was that setting a square to a bomb was much harder than setting it to a low-numbered instruction in terms of time spent 20:31:42 ehird`: alternate either instructions or torus squares 20:31:56 probably instructions as that's how most of the commands seem to be defined 20:32:00 i.e. spaces take 0 time to run 20:32:22 oh, it's also probably a good idea to have some way to determine where the enemy instruction pointer is 20:32:36 ais523: my way is nicer because it requires no language extensions 20:32:44 maybe radar-style: "how many spaces from point (x,y) is the enemy IP?" 20:32:56 assuming a sitting duck B, a non-modifying (of its own code) befunge program will behave normally 20:32:59 otherwise you either have to analyse the enemy program (ridiculously time-consuming) or guess 20:33:09 -!- cherez has quit ("Leaving."). 20:33:11 ais523: well, are you sure spaces should take 0 to run? 20:33:25 not sure 20:33:31 but it fits the language better 20:33:43 and it doesn't make too much difference in terms of making the IP hard to find 20:34:30 because in a 2D language like Befunge it's hard enough anyway 20:35:07 if there's no way to pinpoint the enemy IP, programs are effectively just going to be guessing where to put bombs (quit instructions?), or else covering the entire torus systematically 20:35:14 and I can't see much of a scope for better strategies 20:41:17 @ end program is indeed the bomb 20:42:02 hmm, ais523 --- how else do you end a prog in befunge apart from @? 20:42:10 you don't 20:42:16 Funge-98 has q as well, though 20:43:42 ais523: how big are befunge stack elements? 20:43:52 normally 32-bit signed integers 20:44:14 ais523: linked list stack or.. 20:44:25 the stack is infinite 20:44:31 making Befunge-93 a PDA 20:44:34 OK. 20:46:50 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 20:47:04 -!- slereah_ has joined. 20:50:11 right=0 20:50:12 left=1 20:50:13 up=2 20:50:15 down=3 20:51:00 what, no diagonally? Now I remember another reason why I don't like Befunge-93 20:51:43 ais523: horizontal if is: 20:51:55 if(pop()){d=left;}else{d=right} 20:51:59 and up/down for vertical 20:52:00 correct? 20:52:10 for some reason I only memorised horizontal 20:52:15 but it goes left on non-zero, yes 20:52:24 * _ acts like < if the value is true or > if it is false; and 20:52:24 * | acts like ^ if the value is true or v if it is false. 20:52:35 so right on both counts 20:52:43 right as in correct, that is 20:52:45 if (pop(s, n)) { 20:52:46 *d = 1; 20:52:46 } else { 20:52:46 *d = 0; 20:52:46 } 20:52:47 ---> 20:52:51 *d = pop(s, n) % 2; 20:52:52 :D 20:52:59 i think 20:52:59 no 20:53:01 oh 20:53:01 no 20:53:03 of course 20:53:04 damn 20:53:07 is there any way to do that? 20:53:10 ah 20:53:15 *d = pop(s, n) & 1;; 20:53:15 *d = !!pop(s,n) 20:53:19 hmm 20:53:21 &1 is also wrong 20:53:23 oh 20:53:24 && 1 20:53:25 heh 20:53:28 because even values > 1 have to give true 20:53:30 && 1 works 20:53:34 but !! is shorter and more idiomatic 20:54:03 then | is !!pop(s,n)+2 20:54:04 right? 20:54:11 if ^ = 2 and v = 4 20:54:12 *3 20:54:50 no 20:54:56 !pop(s,n)+2 20:55:05 because true needs to give 3 and false needs to give 4 20:55:19 so only one exclamation mark, to reverse the sense of the test 20:56:38 ais523: on an unrelated note, my stringmode handler in an 'if' jumps to a goto inside the else branch 20:56:49 that's fine 20:56:52 yes 20:56:53 but amusing 20:56:56 if a little unusual 20:57:13 ais523: I could structure it more without goto. But there are about 5 lines between jump and label. 20:57:17 So I don't think it's important. 21:02:14 ais523: stack for g 21:02:15 x y 21:02:17 or y x 21:02:26 can't remember 21:02:31 probably wisest to look it up 21:04:00 ehird`: y is on top of the stack, according to the original docs 21:05:00 i just looked it up 21:05:00 heh 21:05:00 :) 21:05:47 the main thing to be careful of is # 21:05:59 which apparently skips all whitespace in the IP's direction, and the next non-whitespace character 21:06:22 ais523: it does?? 21:06:27 I think; I'm just looking it up again 21:06:28 skip whitespace, that is 21:06:32 it seems to not skip whitespace 21:07:00 hmm... the spec is ambiguous about that 21:07:12 what does the ref interp do? 21:07:20 i can't find it 21:07:21 :P 21:08:00 http://quadium.net/funge/tbc/core.int 21:08:41 hm 21:08:42 x += dx 21:08:44 let's find dx.. 21:08:50 ah 21:08:52 ais523: you're wrong 21:08:54 it just steps one 21:08:55 -!- Asztal has quit (Read error: 104 (Connection reset by peer)). 21:09:00 you're right 21:09:12 I was thinking of the complicated situation when there's a # at the end of a line 21:09:18 and the line is not exactly 80 chars long 21:09:22 -!- Asztal has joined. 21:09:24 ais523: should I disable IO in Be Your Funge programs? 21:09:38 or will the multithreaded outputfuck be funny :D 21:09:43 (and the inputfuck, well, useless i guess :D) 21:09:56 ais523: and hm 21:09:56 allowing input would mean that you would have to generate the input somehow 21:10:02 in mine that would advance it into the next space 21:10:04 is that correct? 21:10:10 you could do it like Easy, where the input is embedded in the program 21:10:24 ehird`: jumping over the edge is undefined 21:10:35 ok 21:10:35 many interps do it differently for horizontal and vertical 21:10:38 -!- Sgeo[College] has joined. 21:10:38 then who cares what happens 21:10:41 right? 21:10:43 Hi all 21:10:47 Hi all 21:10:48 so the testsuite measures what happens but doesn't give it a pass or fail 21:10:49 Hi all 21:10:49 Hi all 21:10:49 Hi all 21:10:50 Hi all 21:10:50 Hi all 21:10:51 Hi all 21:10:53 Hi all 21:10:53 Sgeo[College]: Go to hell. 21:10:55 Hi all 21:10:55 and hi Sgeo 21:10:57 Hi all 21:10:59 Hi all 21:11:01 Hi all 21:11:02 Shut the fuck up. 21:11:03 but stop spamming, there's something wrong with your client 21:11:06 oh 21:11:08 is it his client 21:11:12 must be surely? 21:11:13 i thought he was being highly annoying 21:11:14 :| 21:11:37 ais523: and also 21:11:40 must be the client 21:11:40 in Easy the program is 'RUN' 21:11:42 lol wtf 21:11:43 no input there! 21:11:48 as it isn't responding to ctcp version or ping 21:11:56 its an ajax one 21:11:57 Client I think *winces* 21:11:58 mibbit.com 21:12:06 ehird`: I treat an Easy program as being what's typed into stdin 21:12:12 so the input and program are all mixed up 21:12:13 Sgeo[College]: you soid Hi all about 50 times! 21:12:18 ais523: but easy is all about being pedantic with things like that 21:12:20 it leads to some nicer programs, though 21:12:25 Hello, world in Easy: 21:12:35 ais523: anyway, what do undefined instructions do in befunge-93?? 21:12:42 s/\?\?/?/ 21:12:44 ,H.,e.,l.,l.,o.,,., .,w.,o.,r.,l.,d. 21:13:10 ehird`: error in befunge-93 21:13:41 in Funge-98 pretty much all errors, including undefined instructions, cause a rebound where the IP changes direction 180 degrees 21:15:28 * ehird` figures out shortest way to do 1->2,2->1 21:16:01 the classic a^=b^=a^=b is unfortunately not portable, and is technically undefined behaviour 21:16:13 ais523: i mean 21:16:15 1 maps to 2 21:16:17 2 maps to 1 21:16:24 3-x 21:17:39 although that's a classic INTERCAL problem (as 1 and 2 are the usual logic levels), with the usual answer being something like '?#1$.1'~#3 21:18:02 i.e. premingle 1, take XOR of consecutive bits, select the bottom two bits 21:19:19 ehird`: http://esoteric.voxelperfect.net/files/befunge/src/kquine.bf that's insane 21:19:27 can't figure out whether it counts as a cheat or not... 21:20:28 the code is simultaneously inside and outside a string due to the unmatched string delimiter 21:20:46 so it reads it as data, then when the IP overflows, it hits the original string delimiter and re-reads the program as code... 21:21:33 that's not cheating 21:21:38 that's how you do befunge quines 21:22:06 ais523: whoa, awesome -- byf is 255 lines XD 21:22:10 256 lines counting last \n 21:22:18 i must not add another line 21:22:18 :P 21:22:20 have you finished writing it already, then? 21:22:27 first prototype 21:22:29 hasn't even been compiled 21:22:42 besides, you ought to fit it into a space 80x25, really 21:22:45 i wrote it all without compiling it 21:22:47 :P 21:22:57 ais523: even with huge obfuscation and minimalization, i don't think that would be possible 21:23:08 you can write multiple commands on a line 21:23:19 whoa, more than a SCREENFUL of errors!!!!!!! 21:23:21 ais523: of course 21:23:23 or just string assignments together with commas 21:23:27 yes 21:23:28 but even so. 21:23:37 * ais523 has seen entire C programs written in a single statement 21:23:42 byf.c:8: warning: built-in function â€y1’ declared as non-function 21:23:45 'y1' is a built in function? 21:23:47 what the fuck does that do? 21:24:02 try recompiling with -ansi 21:24:10 y1 certainly isn't a reserved identifier 21:24:10 ah 21:24:12 it's math.h stuff 21:24:13 bastards 21:24:14 :P 21:24:24 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client"). 21:24:59 incidentally, a shorter Easy Hello, world!: ,[.,]Hello, world\0 21:25:03 where \0 is the NUL character 21:25:16 sorry, ,H[.,]ello, world!\0 21:28:31 ais523: urgh 21:28:39 gcc insists char [x][y] 21:28:45 is really really different from char ** 21:28:51 and comparisons without casts - well, i'd better warn you! 21:28:55 it is very different 21:28:59 because of the sizeof issue 21:29:01 ais523: not in this context 21:29:02 sdfjksdf 21:29:08 and i think warning about it by default is evil 21:29:10 very evil 21:29:16 OK, but does gcc realise that it's different in this context? 21:29:29 ais523: no but it can not warn about it by default!! 21:29:45 which warning flags are you using? 21:29:46 gcc should have an -fi-dont-know-c for the newbies that does do the while (x=y) warnings 21:29:50 and can you paste the code? 21:29:55 and by default let you do stuff like while (x=y) without doing while ((x=y)) 21:29:59 ais523: none, suprisingly 21:30:04 it warns about it with no flags at all 21:30:04 and BTW, you can turn that one off by writing while ((x=y)) which is deliberate 21:30:05 -!- habnabit has quit (Read error: 110 (Connection timed out)). 21:30:06 well -- -ansi :) 21:30:10 ais523: see above. 21:30:12 that's **lame** 21:30:52 it at least reminds me which of my single-=s are deliberate 21:30:53 I tend to put double parens around any = whose value is used in a situation more complicated than a=b=c 21:30:58 to remind me that's what I meant 21:31:01 and to tell gcc that's what I meant 21:31:12 and it doesn't disrupt other compilers because it's still legal C 21:31:33 personally i write c code that compilers should shut up and compile 21:31:41 and it's still clear 21:31:46 just not annotated for a bloody program 21:31:49 :) 21:32:03 though it must be said... 21:32:12 byf.c only has one comment, and that's the top-of-file header 21:32:18 the rest is pretty much self-evident.. it's not complex 21:32:32 the fact that some programmers have got into the habit of writing while(0==x) shows that some way of marking deliberate = signs is needed 21:32:38 assuming you have an editor which can jump between definitions properly - concepts aren't introduced in a chronological order :P 21:32:45 ais523: only bad programmers. 21:32:50 IMO. :P 21:33:12 I consider myself to not be a bad programmer, but still typo a==b on occasion 21:33:25 editors can help here 21:33:28 not compilers 21:33:46 yes, but sometimes I don't have access to a decent editor 21:33:53 I'm not always on this computer, after all... 21:34:09 and wouldn't you still have to write ((a=b)) to tell your editor it was deliberate? 21:34:47 no 21:34:51 it can just highlight it differently 21:35:02 step(p1, &s1, &x1, &y1, &d1, &sm1, 1); 21:35:08 does & not result in t -> t *? 21:35:15 void step(char p[25][80], bef_stack_t **s, int *x, int *y, int *d, int *sm, 21:35:16 int n) 21:35:43 ehird`: when you look back at the code a while later, you need to know if it was deliberate 21:35:56 ais523: generally, the context explains that for me 21:36:01 and & gives you the address of a non-array variable 21:36:12 right 21:36:16 which should do int -> int * 21:36:17 or the address of the first element of an array variable 21:36:20 but gcc says incompatible pointer type 21:36:26 which is the same tpe as the array 21:36:32 ehird`: which arg? 21:36:39 and what is the type of the variable you're &ing? 21:36:43 ais523: 3&4 21:36:53 oh 21:36:57 x and y are chars 21:37:01 because they only store 25 and 80 21:37:06 duhhhh 21:37:07 :) 21:37:38 actually, ais523 -- 21:37:50 typedef union { char v:1; } onebyteunion; 21:37:52 i wish you could do: 21:37:59 char v:1; 21:38:00 and: 21:38:06 typedef char bit:1; 21:38:21 some compilers allow that 21:38:27 but taking the address of a bit would be too difficult 21:38:41 the compiler would have to store bits in separate bytes, avoiding the benefits 21:39:00 ais523: true... but it would be nice if you could do 21:39:02 the compilers that do allow it are generally for microcontrollers and other small devices that need the memory saving 21:39:07 typedef char boolean:1; 21:39:10 is the usage i was imagining 21:39:18 and a variable that acts like it's one bit is available as _Bool in C99 21:39:24 yes but it's actually bigger 21:39:28 as in, _Bool is the data type to declare it as 21:39:38 ais523: http://rafb.net/p/626wHG90.html i think p and g have off-by-one errors here.. 21:39:39 and it's actually bigger because it needs to be for the computer to handle it well 21:39:49 but my head doesn't want to wrap itself around it :-) 21:40:50 (0,0) is the top-left corner of the playfield 21:41:13 so there's nothing obviously wrong with the code with respect to off-by-one 21:41:20 i mean 21:41:21 b vs a 21:41:27 i think i have the order mixed up 21:41:29 so i hear about this PSOX thing 21:41:31 is it any good 21:41:40 oklopol: no 21:41:45 oklopol: yes 21:41:58 Sgeo just left, though, and they're probably the best person to ask for information 21:42:00 oklopol: no 21:42:07 although ehird` and Sgeo have been arguing about its merits for a while 21:42:11 ais523: singular they club??!?! *high-5* 21:42:18 ais523: i know it all, just being an oklopol. 21:42:26 * ais523 has even been known to refer to themselves using singular they 21:42:33 or maybe that should be themself... 21:42:40 I normally use themself, actually 21:42:45 just woke up, and it's 11:46 pm :) 21:42:45 ais523: '* ais523 has' 21:42:48 that reads realy badly 21:42:56 why does my sleep cycle always end up fucked up 21:43:08 themself would have been better, I just typed the wrong thing 21:44:00 ais523: i know what you use. not much gets past me that happens here. 21:44:31 ehird`: if byf doesn't have a defect instruction, or some way to modify your own source, then there's no sensible way for a program to detect and clean up @-bombs the enemy's aiming at it 21:44:39 although i had a week of self-searching a while ago, and actually missed some of the logs :| 21:45:04 ais523: what about my a/b mixup though? ... i want to fix that first 21:45:05 :-) 21:46:01 y-coordinate is on the top of the stack 21:46:17 the nit is mixed up 21:46:34 so if you're doing p1[x][y], p and g have a and b the wrong way round 21:47:00 ehird@ehird-desktop: ~/byf 21:47:01 $ ./byf wumpus.bf wumpus.bf 21:47:01 Unknown command 0 in program -1209218860 21:47:03 wowzers :D 21:47:48 fixed the program 21:47:51 but still unknown command 0 21:47:51 oh 21:47:52 of course 21:47:53 i need digits 21:47:54 you didn't pass the second data arg to fprintf at all 21:47:58 and yes 21:48:06 I think -Wall warns you about that nowadays 21:50:05 if (p[*x][*y] >= '0' && p[*x][*y] <= '9') { 21:50:05 push(s, p[*x][*y] - '0'); 21:50:06 } 21:50:13 ais523: it looks just like the original atoi! :) 21:50:36 good thing C89 and C99 both insist that '0' to '9' be contiguous 21:51:01 although they don't guarantee that sort of thing for any other set of characters, due to EBCDIC 21:51:16 ais523: Which is better - a deflect instruction or two new p/g alikes? 21:51:29 probably p/g-alikes 21:51:48 that saves the problem of special-casing dropping defects into the opponent's code 21:52:15 ais523: i'll reuse input&output chars 21:52:17 'cause i'm evil 21:52:21 and like breaking existing programs 21:52:24 multithreading may or may not be useful, too; FYB certainly does it a lot 21:53:31 ais523: yikes! that would be non-trivial with my current design. 21:53:35 well, i could use fork() 21:53:39 but pthreads... urrrgh, pthreads. 21:54:07 ais523: . or , for 'put to this program' 21:54:20 i think , 21:54:21 since it's for ascii 21:54:33 I suppose you could just have g and p to aim at yourself, as usual, and . and , could aim at the opponent 21:55:08 or other variations thereof, . and , would be mean as they're two versions of the same instruction 21:55:10 ais523: should i come up with entirely new names, then? 21:55:16 no 21:55:19 ok 21:55:26 yeah i guess not - breaking existing programs is FUN! :) 21:55:31 use an input instruction and an output instruction 21:55:36 ok 21:55:39 rather than two output instructions, one of which does input... 21:56:44 ais523: OK 21:56:51 so, standard BF command characters, sans & and . 21:57:01 and IO instructions work like g and p on the other person's board 21:57:10 ais523: do i need a 'find IP' instruction? 21:57:21 I think so 21:57:37 maybe that just pushes its coords on the stack, but that might make things too easy 21:57:56 maybe a 'distance from my IP to the enemy IP'; that would be interesting! 21:58:09 you'd have to check at lots of different points in your own program 21:58:15 encouraging people to spread about a bit 21:58:40 ais523: pushing coords to the stack would not be easy 21:58:45 well, maybe 21:59:00 you just instantly write a @ where the opponent was, and repeat continuously 21:59:02 you could constantly do it, add one @ to x+1 and one @ to y+1 21:59:06 haha 21:59:10 we think alike 21:59:22 ok, distance from my ip would work but then you'd need to get your own ip 21:59:30 you know where it is 21:59:33 and your radar idea is kind of crappy -- it would be mostly shooting in the dark 21:59:41 yes, I agree 22:00:01 maybe you find out where the enemy IP was x cycles ago, where x is some positive number 22:00:11 ais523: if you do '1', then you can just do the same trick, but add 2 22:00:22 you don't get to choose x 22:00:27 it's, say, 10 22:00:47 so programs in tight loops, or that twist and turn, avoid that strategy 22:01:04 but tight loops are risky because you can aim at where the opponent was in the hope they'll go back to that square again 22:03:59 ais523: hmm 22:04:02 i can't decide which would be the best 22:04:07 i mean -- how does fukyourbrane avoid this? 22:04:27 it has a 'loop until my data pointer is the same as the enemy's instruction pointer' loop 22:04:35 which works better in a 1D language than a 2D language 22:05:36 ais523: yeah. 22:05:36 oh, i know! 22:05:36 how about a 22:05:36 'make my ip the enemy's ip' 22:05:36 XD 22:05:36 you'd have to be 're-entrant'... haha 22:05:45 that seems a bit too random for me 22:05:55 indeed. 22:06:13 maybe you could place some sort of 'warning beacon' in your own code 22:06:14 on another note, zzo38 is not very good at designing web apps; http://zzo38computer.cjb.net/chrono/zzo38/mainpage is basically inscrutable 22:07:04 http://zzo38computer.cjb.net/chrono/_show_source yikes 22:07:06 I understand it 22:07:10 the UI, that is 22:07:55 it's very awkward 22:08:18 reminds me of an old bbs system, actually. 22:08:27 yeah. 22:08:32 hmm... is it usual to use changequote(#,|) in m4? 22:08:39 that's what I'm doing right now 22:08:40 it woludn't be so bad without the crossed-out buttons. 22:09:06 zzo38's ideas are quite odd in general, actually 22:09:08 second post on this blog: 22:09:09 'I invented a Sub-Wikipedia in ScribbleWiki. You can use it for anything, but mostly for things that isn't on Wikipedia because some administrators deleted it or whatever, maybe because there aren't enough verifiable sources, or maybe for some other reason.' 22:09:13 read as: 22:09:17 many people have had that idea 22:09:19 'trashcan of non-notable crap wiki' 22:09:29 * ais523 is a Wikipedia administrator 22:09:37 ais523: yes, i know you're a wp admin :P 22:09:41 so I know more about the problem than most 22:09:47 before even coming to #esoteric i kept seeing you dotted around the talk pages, actually 22:10:09 -!- cherez has joined. 22:10:17 -!- cherez has left (?). 22:10:23 -!- cherez has joined. 22:10:25 http://subwikipedia.scribblewiki.com/Special:Recentchanges active thing. 22:11:04 http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Nine on that wiki is pretty interesting 22:11:18 no idea if it's meant to be true or humorous or both, though 22:11:23 it's .. barely interesting 22:11:24 :P 22:11:34 interesting in the attitude it shows, anyway 22:11:46 you can probably tell a lot about people from random wiki scribbles 22:12:03 just like the way I tried to implement a cyclic tag system in MediaWiki once 22:12:21 http://zzo38computer.cjb.net/chrono/zzo38/1198908097 22:12:51 wow, he's a nut 22:12:58 lament: quite 22:13:03 but his esolangs are good 22:13:08 'It's sometimes claimed that prayer doesn't work, it doesn't increase the probability of getting whatever you prayed for. I think probabilities are not calculated like that. I also think that assigning material efficacy to prayer is like greed, and greed should be avoided.' 22:13:14 i don't see how else you should calculate probabilities 22:13:17 a typical, run-of-the-mill math cook 22:13:21 .. he's probably in here right now, being offended 22:13:27 lament: he did make TwoDucks.. 22:13:34 -!- bsmntbombdood has joined. 22:13:46 And, well, all of these: http://esolangs.org/wiki/User:Zzo38 22:13:49 TwoDucks is great 22:14:15 does anyone know if english is his first language? 22:14:21 i hope not but i can't find any source of him using another 22:14:25 wow, I knew zzo38 had made a lot, but didn't realise it was quite that many 22:15:47 you know what would be cool? 22:15:48 a gopher cgi. 22:15:48 imagine a gopher blog 22:15:48 even better, make it stateful 22:15:48 or a gopher bbs 22:15:48 yes 22:15:52 ... 22:15:55 continuation-based gopher server. 22:16:01 so that if only one user uses it at a time, you can actually send instructions just by following a certain pattern of links 22:16:01 THAT WOULD BE SO AWESOME 22:16:18 continuation-based websites would be interesting enough by themselves 22:16:23 anyway, I'm being thrown out again... 22:16:30 -!- ais523 has quit ("about to lose my Internet connection"). 22:16:33 ais523: continuation based websites have already been done... 22:16:36 ... crap 22:16:54 ok 22:17:00 oklopol: interested in Be Your Funge? 22:17:06 (Fuk yor brane for befunge-93) 22:20:28 the name is awesome at least 22:20:31 oklopol: yes 22:20:32 well 22:20:36 i never tried fukyorbrane 22:20:42 oklopol: do you know wo it works? 22:20:44 hi oklopol 22:20:52 i've read the spec 22:20:55 ok 22:21:03 so, i vaguely know how it works. 22:21:06 -!- Tritonio_ has quit (Remote closed the connection). 22:21:06 bsmntbombdood: hi :) 22:21:07 so, oklopol -- i have instructions like 'p' and 'g' but on the opponents program 22:21:16 now, how should a program determine where the enemy's ip is? 22:21:22 just getting it as a value makes a perfect program too easy 22:21:26 -!- Tritonio_ has joined. 22:21:35 bsmntbombdood can answer too 22:21:36 :-P 22:21:41 hm 22:21:43 http://www.esolangs.org/wiki/Musical-X 22:21:49 i have no idea what you are talking about 22:21:56 ehird`: does that have to be easily determined 22:22:03 that language looks a lot like Prelude 22:22:21 oklopol: well, otherwise how are you going to insert a bomb at a good plcae 22:22:37 lament: a bit too syntax-oriented imo 22:22:53 well, tbh i'm mostly just assuming that. 22:23:59 what's the best brainfuck way to get 64? 22:24:00 seems i guessed right 22:24:11 i imagine the same will be true for befunge 22:24:36 hmm 22:24:45 !bf_txtget @ 22:24:47 ... 22:24:50 !bf_txtgen @ 22:25:00 !bf_textgen @ 22:25:10 it's impossible to remember whether there's an e. 22:25:29 oh, right 22:25:36 the ip doesn't really leave any trace 22:25:45 !help 22:25:54 !help me damn robot! 22:25:57 there is no e 22:26:00 txtgen 22:26:03 perhaps you can observe the stack and deduce what instructions they've run! 22:26:30 -!- jix has quit ("CommandQ"). 22:26:39 aha 22:26:39 8*8 22:26:46 oklopol: you have your own stack 22:26:54 yeah.. 22:26:57 aaand? 22:27:05 00::88*pv 22:27:05 ^ < 22:27:07 i meant the stack of the other guy's 22:27:14 ^^ that's the simplest BeYourFunge program 22:27:15 err 22:27:15 wait 22:27:44 wuzzit do 22:27:45 00::88*p1+\1+\v 22:27:45 ^ < 22:27:57 oklopol: puts @ at 0,0 then at 1,1 .. oh, wait 22:28:03 i want 0,1,0,2,0,3... 22:28:04 damn 22:28:05 this will be hard 22:28:06 :) 22:28:13 @ = end program = LOSE 22:28:38 hmm... 22:28:41 hard? 22:28:53 how come, isn't befunge fairly simple 22:29:15 i'll glance at the spec 22:29:44 oklopol: because 22:29:47 i need to do this 22:29:48 0,0 22:29:49 0,1 22:29:50 0,2 22:29:50 ... 22:29:52 0,79 22:29:54 1,0 22:29:55 1,1 22:29:57 1,2 22:29:57 ... 22:29:58 1,79 22:29:59 2,0 22:30:01 the idea is you can modify the other guy's code, and executing @ makes you lose? 22:30:01 etc 22:30:03 up to 24 22:30:07 oklopol: yes 22:30:16 and you can find the other guy's instruction pointer but jumping through hoops 22:30:23 ehird`: why not go diagonally? 22:30:31 oklopol: because that isn't brute-force 22:30:56 guess that might be a bit more difficult. 22:31:02 well... not really 22:31:15 at least shouldn't be much longer 22:31:41 was just thinking you may wanna extend to infinite grids 22:31:44 or not 22:32:04 no 22:32:10 then you can run off at great speed 22:32:12 at the start 22:34:11 true. 22:46:41 oh my god, zzo's english is atrocious http://zzo38computer.cjb.net/wmskins/Command-Skin.txt 22:48:54 ehird`: must be intentional 22:49:02 i hope not 22:49:15 ..? 22:49:27 why's that 23:00:43 -!- Corun has joined. 2008-02-20: 00:26:58 -!- mu has joined. 00:28:21 -!- mu has quit (Client Quit). 00:29:44 -!- sumisu has joined. 00:34:45 -!- Sgeo has joined. 00:35:32 -!- timotiis has quit ("leaving"). 00:44:10 -!- olsner has quit ("Leaving"). 00:45:54 Hi all 00:45:54 Hi all 00:45:55 Hi all 00:45:56 j/k 00:46:34 heh 01:19:17 -!- BMeph has joined. 01:23:21 -!- Corun has quit ("This computer has gone to sleep"). 01:23:31 -!- sumisu has quit (Read error: 110 (Connection timed out)). 02:48:07 -!- ehird` has quit ("K-Lined by peer"). 03:34:25 -!- immibis has joined. 03:36:31 -!- immibis_ has joined. 03:37:09 -!- immibis has quit (Nick collision from services.). 03:37:23 -!- immibis_ has changed nick to immibis. 03:38:11 i think someone's playing age of empires 2 on the gateway computer again ..... 03:40:23 First was better. 03:40:25 More lasers. 03:41:04 öäo.- 03:41:44 anyone wanna write me a fictional debate. 03:42:20 been up all night trying to do my "spoken english" assignments... i've managed to write about 20 lines now. 03:42:48 What's the debate's topic? 03:43:01 b)Conscientious objectors are cowards 03:43:01 c)Fewer women than men have won the Nobel prize because women are less intelligent than men 03:43:01 d)Academic education is highly overrated 03:43:13 the missing a) is not due to me. 03:43:29 what are "conscientious objectors"? 03:43:35 Cowards. 03:43:40 :D 03:43:41 *zing* 03:43:49 They're people objecting the war. 03:44:00 is that so. 03:44:10 what war? 03:44:19 *the* war? 03:44:30 A war in general. 03:44:41 i know 03:44:49 anyways, asd 03:44:53 f 03:44:55 wanna write it :) 03:45:08 just one is needed! 03:45:14 I didn't go to science university for nothing. 03:45:39 I wouldn't be able to develop an imposed idea on any length. 03:46:05 i can show you one of my earlier essays, it's *not* about quality. 03:46:16 We are all gathered here to take a glance at the past three years we spent as a class. It was a journey of hard work, learning and self-discipline, but it was also about togetherness. There are some great stories, and even greater accomplishments, but I'll spare you from them. The end of high-school is the beginning of a new era for everyone, people get jobs and whatnot. Some go to university. Some just wither away in the absense of company and 03:46:16 challenge. Dunno. 03:46:47 it doesn't matter at all what grade i get for this shit, it's just i cannot get . 03:46:53 *anything* written. 03:47:07 Program something to write it for you. 03:47:45 i thought of that. unfortunately i'd really like to get on the project i thought i'd be doing today 03:47:56 so... would like to get this done quickly 03:48:22 i guess i can write some nonsense 03:48:28 god i hate high school 03:48:54 A sound judgement. 03:49:37 I suppose people are sick of my in-channel PSOX demo? 03:50:32 We're convinced enough. 03:50:45 You can probably do something else. 03:51:08 I think I need to change some stuff with servers 03:51:23 When accepting a server socket connection, give the option of blocking v. non-blocking 03:53:50 But I think I'll work on it tomorrow 03:54:05 * Sgeo watches as the "tomorrows" built up 03:56:20 Sgeo: make an irc client with brainfuck using PSOX 03:56:34 oklopol, I'm not that advanced with BF 03:57:10 can you do gui with psox 03:57:18 oklopol, not yet 03:57:45 ehird previously said that e'd do a GUI domain, but then decided to make a competing spec, "SOXP" 03:58:17 i don't think ehird cares enough to finish either of those 03:58:39 i might make an irc client in brainfuck, might be fun 03:59:05 shouldn't be that hard to make a telnet client, and after that it's basically just pingponging 03:59:23 brb 03:59:28 making the telnet client shouldn't really be 03:59:34 *anything* if the api is good. 04:06:37 http://www.pastebin.ca/910729 yes, i'm a literary genius. 04:07:37 Are you graded by the quantity of text? 04:08:56 oklopol: I'm very confused 04:09:26 RodgerTheGreat: how's that? :D 04:09:43 slereah_: i think i'm graded by the overall quality 04:09:54 Tough luck. 04:10:01 :D 04:10:56 omg there's a typo 04:11:34 Man am I glad to be out of high school. 04:11:38 point -> points 04:11:47 -!- immibis has left (?). 04:11:52 Just a few more months. 04:12:31 A few more months until I have a job, and then a school where I have a hope of learning. . . 04:12:41 well i don't really have anything else left but this one course :) 04:13:20 I've got 6 courses. 04:13:28 Well, 7, if you count my UCCS course. 04:13:37 3 of the above courses are for college credit. 04:13:48 also one course religion, though, but i'm doing that even less seriously. 04:13:50 And are the only classes I feel like I'm learning anything in. 04:13:52 UCCS? 04:14:01 University of Colorado - Colorado Springs. 04:14:06 oh, right 04:14:15 i have 3 courses in the uni here 04:14:19 oklopol: you have a required religion course? 04:15:12 RodgerTheGreat: there's a non-religion option for it, but it's basically the same stuff, just have to go to another building for classes 04:15:12 That disgusts me. . . 04:15:12 so i took religion. 04:15:12 also 04:15:20 no *a* required religion course 04:15:24 *three* 04:15:34 *not 04:15:38 I, as a religious person, am offended by the prospect of requiring a religion course. 04:15:50 That's something *highly* personal. 04:16:10 I find it frightening that MTU's comparative religion class is taught by a youth pastor. 04:16:20 Religion is by definition a society thing. 04:16:20 What's next: a class on how to be an (anarchist|democrat|republican)? 04:16:22 ...who has been known to give extra credit for attending his sermons... 04:16:26 well, it's not about ones own beliefs, i'm openly atheist, and that's no obstactle. 04:16:31 *obstacle 04:17:31 -!- oerjan has joined. 04:18:35 aaaaand sent 04:19:11 hopefully that's enough to pass high school. 04:19:44 You're full of hope. 04:21:34 I'd probably say I lean towards atheism, if it weren't for the fact that I'm a pastor myself... 04:22:08 :D 04:23:19 we pronounce it a little differently, though 04:32:35 so... anyone here founded a religion? 04:32:41 it's pretty cheap in finland 04:33:27 Is it tax-deductible? 04:33:32 We could pretend to make one. 04:33:45 You know, praying when they come to check on us and all. 04:33:58 And playing ping pong or whatever the rest of the time. 04:34:03 :D 04:34:25 well, we thought we'd start one with a few friends, but there's a chance you might get into media that way. 04:34:33 which is never good 04:34:49 Just perform a miracle. 04:35:06 An interpreter written in Malbolge or raising the dead. 04:35:20 ah, because the media is *never* interested in miracles. 04:35:36 those sound about equivalent... 04:35:51 Well, at least you'd be srs business! 04:36:41 -!- oklopol has set topic: The official church of Esoism.. 04:36:59 hmph 04:37:23 What will be the esoteric doctrine of the Church? 04:37:23 was the old topic right btw, i didn't store it anywhere :-) 04:37:46 Old topic was : 04:37:46 the international hub for esoteric programming language design and deployment | map: http://www.frappr.com/esolang | forum: http://esolangs.org/forum/ | EgoBot: !help | wiki: http://esolangs.org/wiki/ | logs: http://tunes.org/~nef/logs/esoteric/ or http://ircbrowse.com/channel/esoteric | Pastebin: http://pastebin.ca/ 04:38:27 esoists believe in esoteric programming. 04:38:36 it's more common a religion than you might think 04:38:54 In what language is the universe written? 04:39:05 Are souls stacks? Tapes? 04:40:02 we are desperately playing it is not Malbolge 04:40:07 *praying 04:40:18 BAD, BAD fingers 04:40:48 Is it even computable :o 04:40:57 hm probably not 04:41:45 it's written in TwoDucks. the quantum behavior is just a side effect of the incessant time travel 04:44:27 Anyone want to write a Malbolge IRC client? 04:45:36 Well, I'm no prophet of Esoism. 04:48:07 I plan to award anyone who can pull *that* off the patent title Prophet of Esome. 04:48:17 Even if I have to create a whole new nomic to do it! 04:48:35 oerjan: BTW: I'm also the Herald now. 04:48:46 And I'm done getting offices. Any more, and I'll go insane. 04:49:47 I seem to recall discussing a biblically-inspired language called "INTHEBEGINNING" 04:52:26 * oerjan points at ftp://ftp.nvg.ntnu.no/pub/frc/39 04:52:46 (FRC Programming Language round) 04:52:51 -!- habnabit has joined. 04:53:02 * oerjan notes that the website hasn't been updated since 2000 :( 04:53:18 It's now hosted on Google Groups. 04:53:51 * Sgeo liked reading FRC archives 4+ years ago.. 04:54:14 ah 04:58:32 * pikhq is a FRC player 04:58:39 i know 04:58:49 But Sgeo didn't. 04:59:12 I knew oerjan was an FRC player 04:59:32 ørjan 04:59:36 Ărjan 04:59:41 used to be 05:00:15 Likewise, he used to be an Agoran. 05:00:25 Ăøø 05:00:27 erm 05:01:22 Řřř == erm in norwegian, just about :) 05:08:30 So I can just use øøø instead of erm? 05:09:22 Well, it's a free country. 05:10:07 you may not want to draw it out quite that long. 05:10:32 öö... øø... err.. 05:10:35 yy.. 05:10:52 yy? you say that in finland? :) 05:10:59 yy is lojban 05:11:01 öö is finnish 05:11:11 y is what it is in norwegian, i think. 05:11:34 o_O 05:11:55 * oerjan thinks oklopol is not paying attention 05:12:24 the finnish "y" == the norwegian "y" 05:12:37 and not, i am not, watching american dad and playing the guitar 05:12:41 *no 05:12:58 well approximately i guess. not sure how the finnish y sounds 05:13:31 (beyond being in the approximate right place) 05:13:46 i just know what the swedish one sounds like, and naturally i assume the norwegian one is the exact same ;) 05:13:50 i know german ü is not exactly like norwegian y 05:14:10 well swedish is pretty close 05:14:44 i guess there might be a subtle difference, but i don't know it. 05:15:41 i'm not sure either. 05:17:22 i mean every swedish vowel is colored by the difference in general intonation from norwegian, i think. 05:18:18 indeed. 05:33:58 -!- Asztal has quit (Read error: 104 (Connection reset by peer)). 05:35:15 øø 05:36:09 mind you, if used out of context it is also an expression of stupidity, drunkness or gibbering insanity. 05:46:07 øø 05:46:25 What is it, exactly? Is there an online definition somewhere? 05:47:30 > 1+1 05:48:24 2 05:49:31 Sgeo: "er" and "øø" are pronounced the same. 05:49:54 (almost the same, in case someone thinks that's important) 05:51:53 @botsnack 05:53:33 wonder if people always use the øö character for erring 05:54:02 perhaps somewhere in nigeria, people say "wobbity wobbity" when thinking what to say next. 05:54:32 unless they speak english or something in nigeria, i really don't even know where that is exactly 05:54:37 anyway, -> 05:58:41 -!- oerjan has quit ("leaving"). 05:59:40 oklopol: I believe English is one of their official languages. 06:13:32 yeah 06:22:00 I'm doing some planning sketches for another set of comics- lemme scan them and then you can tell me what you think... 06:22:10 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 06:25:29 http://rodger.nonlogic.org/dump/images/1203488516-art1.png 06:25:32 http://rodger.nonlogic.org/dump/images/1203488528-art2.png 06:28:56 thoughts? Is the dialogue too heavy-handed? Confusing? 06:29:22 the dialog is unreadable... 06:30:09 also, look at this awesomeness -> http://coilhouse.net/2007/12/22/the-beautiful-nightmares-of-zdzislaw-beksinski/ 06:30:49 i want prints 06:31:47 he was stabbed to death by his caretaker's son. 06:32:16 that's what it says 06:37:09 oh holy shit 06:37:13 posters are $450 06:37:27 welcome to the wonderful world of art 06:37:59 where all prices are directly proportional to demand, yet still higher than seems reasonable 06:38:26 http://www.chetzar.com/oil_paintings/DOUBLEWHAMMY.html 06:38:40 i wish i was rich sometimes :( 06:39:42 seems like a subpar knockoff 06:39:54 none of the intricate detail 06:41:23 http://www.beksinski.pl/masterlist.htm 06:41:29 what's an "art print"? 06:42:30 depends on the medium 06:42:40 in general, it's one of a limited series of copies of an original 06:42:53 runs range fro 20 to 500 in most cases 06:43:14 they are usually made/signed by the original artist 06:43:44 in the case of things like woodcuts (Escher, for example), the prints effectively *are* the originals. 06:47:32 jeeeeezz i would wallpaper my room with these 06:49:51 -!- uvanta has joined. 06:50:12 hello, uvanta 06:50:27 hello! 06:52:29 what's up? 06:54:18 damnit 06:54:24 i want something for $20 07:02:34 i can sell you a quality oko for just $15. 07:02:43 well not now, but after my nap 07:02:45 -> 07:03:20 yeah, and I can sell you an original rtg for any price you name! 07:03:36 OW FUCK 07:03:41 well, goodnight folks 07:03:58 i should not have been fidgeting with a large binder clip right by my mouth... 07:04:07 i'm gonna have a fucking lip blood blister now 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:13:48 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 08:14:22 -!- olsner has joined. 08:14:52 -!- bsmntbombdood has joined. 08:15:28 -!- jix has joined. 08:29:53 -!- puzzlet has joined. 08:59:42 -!- olsner has quit ("Leaving"). 10:00:28 i'm being forced to learn PHP 10:00:59 It's not that hard.. 10:02:49 in 2 days. :( 10:03:48 i have a file layout, and i should make a PHP class to handle (encode/decode) it 10:04:01 i haven't used PHP at all 10:32:12 -!- AnMaster_ has joined. 10:33:22 -!- AnMaster has quit (Nick collision from services.). 10:33:46 -!- AnMaster_ has changed nick to AnMaster. 10:38:12 -!- sumisu has joined. 11:00:32 -!- sumisu has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.12/2008020121]"). 11:31:54 -!- timotiis has joined. 11:49:43 -!- Corun has joined. 11:52:46 -!- Corun has quit (Client Quit). 12:07:00 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 12:09:30 -!- oklopol has joined. 13:25:18 -!- RedDak has joined. 13:40:35 -!- olsner has joined. 13:59:45 -!- sebbu2 has joined. 14:16:57 -!- sebbu has quit (Read error: 110 (Connection timed out)). 14:23:51 -!- wildhalcyon has joined. 14:26:56 So, Church of Esoism, huh? 14:27:21 Trying desperately to figure out what language the creator(s) used to code the universe? 14:28:42 Indeed 14:28:55 I think xkcd nailed it in that strip 14:29:27 Yes, but it was no esoteric language! 14:29:36 That was a good strip 14:29:53 lisp will soon be obscure enough to be esoteric, just you wait 14:30:15 Nah. 14:30:33 No, books have been written about it. 14:30:49 Its been used in legitimate research. PhDs have been earned. 14:30:54 Not likely to be forgotten quickly enough. 14:31:25 I bet someone's written a PhD thesis that's in some way about brainfuck or some other esoteric language 14:32:33 brainfuck is probably the most borderline case when it comes to esoteric languages 14:33:11 Well, a number of esoteric languages have roots in serious academic subjects. 14:33:21 But usually in computability, not programmation. 14:33:28 Brainfuck from P''. 14:33:37 Unlambda from combinators. 14:35:57 Malbolge from pure evil. Wait, that's not academics. That's earning tenure. 14:36:35 *classical literature 14:36:54 touche 14:37:00 Dante would be proud 14:37:20 Until he presses the "compile" button. 14:37:46 I'm presuming that he's watching someone else press the compile button in one of the seven circles. 14:38:23 -!- slereah_ has changed nick to Slereah. 14:38:37 "Look at that poor little fellow. He's trying to use NOPs to create predictable instructions. Good thing I've given him some faulty RAM. 14:39:48 So I've been away for quite some time. It looks like PSOX is the new primary discussion topic. 14:41:15 Sgeo isn't giving up at least! 14:41:42 No, doesn't seem like it. 14:42:16 Its a good idea. I had come up with a similar design for my vaporware fungeoid system, but it wasn't multilingual like PSOX is. 14:45:11 But I'm still planning on coming out with my system at some point. 17:05:56 -!- ais523 has joined. 17:08:22 I wonder how many occurences of the hm google is useless for this - -fuck site:esolangs.org/wiki/ gives fake hits 17:38:38 perhaps because it includes pages linked to... 17:39:04 -!- ehird` has joined. 17:44:47 -!- boily has quit ("WeeChat 0.2.6"). 17:50:00 Hm. 17:50:14 Does any esolang got some logo? 17:52:49 interesting question 17:53:03 Or is it? 17:53:07 I'm just wondering. 17:53:21 not unlambda it seems 17:53:38 I tried to make one for Lazy Bird, but I'm not just very talented. 17:53:53 a lambda in a red Ř would seem an obvious choice... 17:54:28 Intercal maybe? 17:54:40 It's been around a while 17:54:52 most esolangs aren't organized enough to have logos 17:56:06 -!- Hiato has joined. 17:56:13 the page ais523 maintains still doesn't show up when googling intercal 17:56:17 wildhalcyon: PSOX seems like the kind of thing that would have a logo. /sigh 17:56:30 I would believe that 17:56:34 Heh. 17:56:52 oerjan: I don't maintain it, Claudio Calvelli does 17:57:00 I just maintain one of the compilers featured there 17:57:12 well the point stands 17:57:15 Slereah: make it a bird, falling out of the sky (symbolized by the whooshing above it) 17:57:21 with a lambda in a cross on its side 17:57:49 esr's page comes up on top and it seems to be unupdated for a long time - no reference to you that i notice 17:58:32 oerjan: esr's page is also crap 17:58:32 (crap? from esr? shock horror) 17:58:37 It was actually just going to be two mockingbirds in front of each other, with an omega in between 17:59:28 Slereah: I am now drawing the worst logo ever 17:59:29 just for you 17:59:38 I'm flattered. 17:59:48 ut save your strength for PSOX 18:00:11 There's probably an awesome logo to be made for PSOX 18:00:21 Like a tiger with a baracuda for a penis, who knows 18:00:41 -!- Corun has joined. 18:02:58 Slereah: your logo is almost done. 18:03:08 Yay 18:06:21 Slereah: it's, uh, quite rough 18:06:28 but i think it looks alright, for 5 minutes 18:06:29 :P 18:06:54 haha, it looks way fatter than it was meant to 18:06:57 and quite a bit angrier 18:07:14 Slereah: shall I add it to the wiki? :P 18:07:31 I'd be angry too if I was stuck in an infinite loop! 18:08:18 I demand sum pix first 18:08:21 -!- cherez has joined. 18:08:38 -!- cherez has quit (Client Quit). 18:08:44 -!- cherez has joined. 18:08:45 -!- cherez has quit (Remote closed the connection). 18:08:59 Slereah: oh. oops. :P http://esolangs.org/wiki/Lazy_Bird 18:09:05 some weird grayness around the edges 18:09:07 but i can fix that 18:09:12 i think it looks hilariously ridiculous 18:09:13 :D 18:09:15 AAAAAAAAAAAAAAAAAAAH 18:09:29 Plus, Lazy Bird supports lambdas! 18:10:25 d'aww 18:10:28 haha 18:10:29 :D 18:10:34 yeah i'll remov eit 18:10:34 :-P 18:11:04 -!- otesanek has joined. 18:12:22 .... personally i think it was awesome 18:12:23 :-P 18:13:14 -!- ehird` has quit ("K-Lined by peer"). 18:13:35 -!- ehird` has joined. 18:14:32 Well, while I do not agree with your opinion, I'll fight to the death for your right to express it! 18:14:43 Slereah: Express it by putting it on the page? 18:14:44 :-P 18:14:59 Not that strongly, still 18:15:35 WIKI SPEACH 18:15:35 :( 18:15:37 WIKIMPEACH! 18:15:56 HATE CRIME :O 18:16:16 I'm confused 18:17:38 wildhalcyon: Slereah is restricting my free speech to put my crappy lazy bird logo on its page 18:17:55 * oerjan asks, is it a bird or a whale? >:) 18:18:26 ehird': I'd debate whether or not a logo counts as speech. 18:18:44 No, I'm well happy with hate crimes 18:18:52 wildhalcyon: Shush you 18:18:57 I could put text on the logo if you like 18:19:10 oerjan: you're thinking of Active Whale 18:19:12 which is imperative 18:19:24 Or you could simply put text sans logo. 18:19:33 * oerjan notes that no other Image: namespace article seems to be a logo 18:20:15 wildhalcyon: But the text would be there to cover up for the logo. Duh. 18:20:20 Oops, did I say that out aloud? 18:20:45 I don't know. I can't hear you 18:21:06 my speakers are off 18:21:17 he's got a banana in his ear 18:21:45 -!- Hiato has quit (Read error: 110 (Connection timed out)). 18:22:16 Banana? Is that what you kids are calling it nowadays? 18:23:37 not at all, this is ancient: 18:23:50 "Te audire no possum. Musa sapientum fixa est in aure." 18:24:03 *non 18:25:42 -!- cherez has joined. 18:26:44 -!- Corun has quit ("This computer has gone to sleep"). 18:28:24 crazy idea -- 18:28:28 you know the boehm gc? 18:28:37 well, what if you built a version that exported malloc as GC_malloc, etc, 18:28:41 then used LD_PRELOAD.. 18:28:45 and used everyday apps with it 18:28:45 xD 18:30:15 this is new? i barely thought i'd heard it could be used with unmodified programs (with a risk of space leaks if it misidentifies pointers) 18:30:31 -!- otesanek has quit (Read error: 113 (No route to host)). 18:30:57 or does your suggestion imply something more... 18:32:02 oerjan: well, mostly it means you'd patch the code 18:32:08 but i mean, right after the kernel 18:32:14 so that everything, absolutely everything uses it 18:32:43 heh 18:32:55 probably someone tried 18:33:17 it _could_ break horribly if someone saves pointers in a different format for some reason 18:35:35 oerjan: imagine a PL implementation with a gc 18:35:38 FIGHT! FIGHT! FIGHT!" 18:35:38 say adding tag bits or similar. ghc does that 18:35:45 ah hm 18:35:48 most schemes do that 18:35:56 (least-sig bit = is-small-int?) 18:36:11 oerjan: but they have their own gc 18:36:12 :-P 18:36:32 yes, but they _might_ use ordinary malloc for initial allocation 18:40:53 -!- habnabit has quit (Read error: 110 (Connection timed out)). 18:48:02 -!- habnabit has joined. 18:50:54 -!- RedDak has quit (Remote closed the connection). 19:18:12 Are there a couple folks in here willing to rate my project idea on a scale of 1 to 10? 19:18:31 I'm willing. 19:18:41 Though my rating won't be fair, accurate, or based on experience. 19:19:04 I'm not really looking for fair or accurate. Experience-based might be useful, but not necessary. 19:19:12 wildhalcyon, want to see a PSOX demo? 19:19:57 We want to see a PSOX logo! 19:20:01 -!- wildhalcyon has quit (Read error: 104 (Connection reset by peer)). 19:20:07 -!- wildhalcyon has joined. 19:20:15 Bah 19:20:18 re wildhalcyon 19:20:31 -!- BrainF has joined. 19:20:31 Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . 19:20:31 -!- BrainF has quit (Client Quit). 19:20:49 Re what? 19:20:55 re == rehi 19:21:21 Ho, hello 19:21:56 hello everyone 19:22:29 Hi. 19:22:31 (sorry, I was in the channel before but not paying attention until now) 19:22:43 Excellent. More people to horrifically mutilate my idea until I'm a poor shadow of the man I used to be! 19:23:59 Well, we're always glad to help 19:24:21 ais523: hi 19:24:29 wildhalcyon: what is your project idea? 19:25:26 My project is a fungeoid which can be partitioned into a grid-based system of processors, either self-controlled or locally controlled, rather than controlled from a centralized source. 19:25:44 that does sound interesting, actually 19:25:58 I tend to prefer fungeoids to store data in the program near the IP 19:26:11 and you're taking that to one possible logical conclusion 19:26:20 (although you should get the IP to store data nearby as well) 19:26:54 Well, essentially the IP meta-data would reside in the control system, in a separate space. 19:27:38 I would use the fungeoid to develop two meta-projects: The first is an autonomous autoprogramming system that would write itself new code on the fly. 19:28:38 The second is a shared virtual codespace where users could rent/own/have a parcel of the codespace an interchange IPs/data/code with one another, and outputting to shared media - such as a chatroom or drawing board. 19:30:00 ais523: btw 19:30:04 continuation based websites are a 'done thing' 19:30:07 see e.g. seaside.st 19:30:08 anyway 19:30:16 any ideas for IP finding in be your funge? 19:30:28 oerjan: INTERCAL doesn't have a logo AFAIK 19:30:38 ehird`: two ideas 19:30:43 ehird 19:30:44 but neither are very good 19:30:49 wildhalcyon 19:30:51 ehird' what do you mean IP finding? 19:30:59 wildhalcyon: instruction pointer 19:31:08 be your funge is like fuk yor brane 19:31:09 I know what the IP is, what do you mean by "finding" it? 19:31:10 but for befunge-93 19:31:13 ehird` is planning a language like FukYorBrane, but based on Begune 19:31:18 Begunge? 19:31:20 err 19:31:21 s/Begune/Befunge/ 19:31:22 Begune? 19:31:26 that sounds awesome 19:31:35 * ais523 hit return rather than backspace 19:31:50 but Begune does sound quite good, yes 19:32:03 * Sgeo wants to see more stuff designed for PSOX 19:32:05 unfortunately it isn't 3am so maybe that typo can't be used 19:33:14 -!- habnabit_ has joined. 19:34:17 the first idea was that you could put special characters in your own program, which could somehow sense the opponent's IP going past on the other side of the program 19:34:33 and when your own IP went past them, its action depended on whether the opponent's IP had since last time yours did 19:34:55 for instance, imagine the two programs being on the outside and inside of the same torus 19:35:12 and the special characters being a sort of barrier that could be pushed into or out of the torus 19:35:51 That could be interesting 19:35:57 one contiguous block of characters (that is, where each character in the block is a 4-neighbour of at least one other block) would be pushed into or out of the torus as a group 19:36:26 whenever the opponent's IP goes past a block that started on your side, it pushes it to your side (without changing the behaviour of the opponent's IP) 19:36:28 I'd like to see FukYorBrane offer some "special" rules in the A-Z character range. 19:36:59 whenever yours reaches a block that started on your side, it pushes it to the opponent's side, and if it was on your side to start with the IP rebounds 19:37:36 the other idea was simply to specify an area and ask if the enemy's IP is within that area, so you can do things like bsearch for it 19:37:48 the first idea is more interesting IMO but I'm not sure how useful it would be 19:37:48 ais523: hrm 19:37:52 neither really seems esoteric enough 19:37:55 fukyourbrane's is good 19:38:02 you don't need a lot of searching logic, but it isn't trivial either 19:38:13 the first one seems pretty esoteric to me 19:38:39 What are the boundaries on FukYorBrane? 19:38:39 but impractical and hard 19:38:42 wildhalcyon: none 19:38:46 but since it's 1d, it's easier 19:38:58 Oh, its 1D huh? Yeah, that's a tad easier I suppose. 19:39:03 -!- habnabit has quit (Read error: 110 (Connection timed out)). 19:39:53 and FYB has a 'loop while my data pointer is different from the enemy's instruction pointer' instruction 19:40:10 I think it might be interesting if it was a 2xINF tape. 19:40:52 :\ 19:41:54 Okay, maybe not 19:45:10 * Sgeo is dead tired 19:45:30 Sgeo: so sleep 19:45:33 ais523: hrmm 19:46:14 nginx contains some REALLY bad ideas.. 19:46:15 http://wiki.codemongers.com/NginxHttpEmptyGifModule 19:46:28 So, on a scale of 1 to 10 how would you folks rate my project? 19:46:38 wildhalcyon: 2i 19:46:40 7.23066 19:46:56 (come on, this is #esoteric. what did you expect?) 19:47:21 ehird`: I remember when there was a 1x1 transparent GIF used on Wikipedia for a while as part of the IE PngFix 19:47:25 I'm fine with imaginary and complex numbers, but after figuring the magnitude, it comes out to only.. 2 :-( 19:47:44 ais523: I am pretty sure in nginx it's designed for the 1-pixel padding gifs 19:47:48 something went wrong with it in the end, and they took it off that script; I'm not sure what exactly, nobody was sure at the time 19:47:48 used along with
and .. 19:48:07 but then, nginx is russian and designed for amazing performance on huge websites and all of the top russian websites have terrible html like that.. 19:48:26 but some people thought it was because the image was requested so often that the servers got confused 19:48:28 wildhalcyon: Naww. It's slightly above two. Or below. 19:48:32 No, wait, below is -i. 19:48:41 2i is somewhat above 0 19:48:43 not above 2 19:48:48 ok, good point 19:48:51 on a typically-axed Argand diagram 19:49:03 2i has a magnitude of 2. 19:49:05 you could draw the axes diagonally and have 2i above 2 if you liked 19:49:09 It is also not between 1 and 10 19:49:14 Slereah: yes it is 19:49:20 if you pinch one and ten between your fingers 19:49:23 the complex numbers are there 19:49:25 vertically 19:49:29 oh wait 19:49:29 above 0 19:49:32 yeah you're right/ 19:49:47 even if it were above 2, you'd only get it if your fingers had a width of at least 2 19:49:55 probably 4 so they were symmetrical about the x-axis 19:50:10 That's okay, ehird` has sausage fingers. 19:50:20 hey :( 19:51:09 I had sausage fingers. Then I ate them. 19:51:39 CANNIBAL 19:52:14 I know, but I'm so tasty 19:52:19 hurry hurry hurry, buy my rice and curry, buy my rice and curry, so hurry hurry hurry. Hurry hurry hurry, buy my rice and curry, buy one for two, special price for you 19:52:43 -!- oklopol has changed nick to oklofok. 19:53:05 hurry hurry hurry, buy my rice and curry, buy my rice and curry, so hurry hurry hurry. Hurry hurry hurry, buy my rice and curry, buy one for two, special price for you 19:53:06 erm 19:53:09 http://youtube.com/watch?v=dTiMV1Vv1Tw 19:53:26 http://youtube.com/watch?v=g09gOh2qwug 19:55:44 Slereah, obviously that person knows which species on Earth is the smartest.. 19:56:05 A ball of twine with mice ears? 19:56:26 Slereah: look around you is brilliant 19:56:40 I learned many things from it! 19:56:55 the largest number is, in fact, around 4 billion 19:57:02 -!- puzzlet_ has joined. 19:57:15 Well, some suspects that larger numbers might exist. 19:57:26 *ping* 4,000,000,001? 19:57:34 Somehow I failed to connect "Look Around You" from that YT page with Look Around You.. 19:57:48 -!- puzzlet has quit (Remote closed the connection). 19:58:15 the largest number is in fact 4294967295 19:58:27 4294967296 is in fact smaller 19:58:54 ais523: integer wrap around is fun 19:58:54 the worrying thing is that I have 2^32 memorised... 19:59:27 "Around 4 billions" is good enough 19:59:41 My memory starts running short at 8096 20:00:11 Yes, I only have 2^13 bits of memory 20:00:35 you mean either 4096 or 8192 20:00:42 http://upload.wikimedia.org/wikipedia/en/b/b2/Slimmingpicture.jpg D'AAAAAAH! 20:00:52 * ehird` should stop making lame Look Around You references 20:00:54 Well, my memory isn't even that good 20:00:54 and I only know up to 2^16 and 2^32 20:01:32 I usually use some little pseudo song I learned when I was little 20:01:34 if 2^17 is 131072, then I know up to 2^17 and 2^32 20:01:40 I discovered that it was useful! 20:01:54 (that was from memory too, but I'm not sure it's correct 20:01:54 Something like "One and one, two, two and two, four, four and four, eight...3 20:01:58 ) 20:02:13 That's how I do fucking binary 20:02:21 I know basically no powers of two 20:02:27 Not even 2? 20:02:58 most esolangers know 256 and 65536, or should do 20:03:34 59049 is also worth knowing, but that's a power of 3 20:03:35 (maximum value of the main data type in TriINTERCAL and Malbolge) 20:03:35 Well, useful when you're programming in Malbolge! 20:03:35 Not 20:03:35 is that 3^9? 20:03:35 oh, i know 256 and 65536 20:03:35 i know 1. 20:03:44 * ais523 knows 1/2 20:03:52 * Slereah doesn't know :(( 20:03:52 I know up to 2^13 counting on my fingers, and know of 65536 20:04:07 How many fingers do you have? 20:04:12 How do you count to 2^13? 20:04:28 one question I once asked at a maths camp: what's the largest prime you can write in decimal from memory? 20:04:33 First finger 2^1, second 2^2, etc 20:04:50 (the 'in decimal' prevents you memorising a formula but not its expansion as a number) 20:04:54 for me it's 65537 20:05:11 Heh 20:05:16 I'd agree with ais 20:05:37 I didn't know 65537 was a prime, tbh, but that should be easy to remember 20:06:01 Alternatively, 65539 is also prime, but that's incidental 20:06:10 I'd say 65,536 is the largest power of two that's easy to remember. 20:06:12 Is it end-of-file in fuckingbigASCII? 20:06:33 wildhalcyon: thanks, I now have a new largest memorised prime number 20:06:41 i don't know any primes :( 20:06:43 well, 7 i think 20:06:55 I think also. 20:06:56 generally i let a computer tell me what they are... i have not had much use for memorizing them 20:07:10 $ factor 7 20:07:10 7: 7 20:07:14 so yes, 7 is prime 20:08:32 ..Who'd need to hesistate in saying that 7 is prime? 20:08:42 me 20:09:26 http://www.accesscom.com/~darius/hacks/factor.c I use this for factoring stuff 20:09:30 probably factor(1) is far more efficient 20:10:06 * Sgeo goes to find some LAY video to watch 20:10:10 Any recommendations? 20:10:17 LAY? 20:10:23 Look Around You 20:10:30 BTW, why is factor in GNU coreutils 20:10:31 Since we were talking about it just before 20:10:34 Sgeo: all of them 20:10:43 it strikes me as being a bit specific-purpose to be there 20:10:43 I recommend the first season. 20:10:44 ais523: 'cause gnu utilities are clusterfucks of non-designedness? :p 20:10:50 Slereah, yes yes 20:10:53 Slereah: and the computer episode of the second 20:10:58 Meh. 20:11:05 Although I lolled. 20:11:09 I remember the Sulpher one having some cool stuff 20:11:09 "LOOK AROUND YOG" 20:11:14 Sulphur 20:11:22 hmm, factor.c is kind of crappy.. 20:11:26 it only handles unsigned longs 20:11:28 http://www.youtube.com/watch?v=W0dyvoVV5Tk Look Around You - Sulphur 20:11:57 incidentally 20:12:00 that darius guy is crazy 20:12:02 http://www.accesscom.com/~darius/hacks/ichbins.tar.gz 20:12:14 a scheme->c self-hosting compiler written in around 6 pages of scheme 20:12:17 a lot of which is the c prelude 20:12:19 and postlude 20:12:47 well 20:12:50 it's more lispy than scheme 20:12:51 y 20:16:14 In the magnet experiment, did the heating of the magnet ruin it, preventing it from attracting the iron, or something? 20:16:48 Or is it not real iron, or was the magnet weak anyway? 20:16:58 Does it matter? 20:18:44 * Sgeo <3 Sulphagne 20:20:57 It would be nice if it was read 20:20:57 real 20:21:54 Even the HELVETICA EFFECT? 20:22:10 ? 20:22:22 http://www.youtube.com/watch?v=aY7XH2ulTEU 20:22:58 That's Calcium, not really connected to Sulphagne 20:24:30 -!- ais523 has quit ("no apparent reason"). 20:25:16 "Man has been using Iron since the Stone Age 20:25:18 " 20:25:53 * Slereah tries to bend a spoon with the power of his imagination 20:28:26 I guess Bumcivillian isn't to useful for going to sleep, if its effect diminishes quickly 20:30:33 -!- puzzlet has joined. 20:31:19 -!- puzzlet_ has quit (Remote closed the connection). 20:34:16 Where do you live Sgeo? 20:34:23 USA 20:35:25 So it would be... between 9AM and 5AM? 20:36:05 3:36P< 20:36:07 PM 20:36:09 right now 20:36:13 if that's what you mean 20:36:27 Hm. It seems I forgot how to do substraction. 20:36:27 "Mathematical Anti Telharsic Harfatum Septomin" 20:36:37 Bah, who needs substraction when you have a computer! 20:36:54 3 all 20:37:31 "Or if you can fly, planning your trajectory for your journey to work" 20:38:00 *the journey 20:39:43 The finale takes place in Nottingham on April the 4th of September 20:41:36 * Sgeo wants some Garry Gum 20:41:50 and Anti-Garry Gum 20:49:55 -!- oklofok has quit (Remote closed the connection). 20:53:15 -!- oklopol has joined. 20:57:54 Alright folks, I'm out. 20:58:04 Bye wildhalcyon 20:58:11 bye sgeo 20:58:12 Bye. 20:58:22 -!- wildhalcyon has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.11/2007112718]"). 21:11:41 http://membres.lycos.fr/bewulf/Divers/Dinosaurs.jpg 21:11:44 Dinosaurs. 21:12:04 The perfect representation for transformation groups. 21:12:42 "Man has been using Iron since the Stone Age" // what's this from? 21:12:53 GregorR, Look Around You 21:13:14 Or you could have googled 21:13:34 YOUR MOM 21:14:50 -!- habnabit_ has quit (Read error: 110 (Connection timed out)). 21:15:14 -!- uvanta has quit ("sleep"). 21:18:36 GregorR, http://www.youtube.com/watch?v=wdZHnDDjf6w 21:29:29 oh yeah, look around you! 21:29:51 Yes. 21:30:00 10: print LOOK AROUND YOU 21:30:06 20: GOTO 10 21:30:47 the second series is pretty great as well 21:32:01 Hm. 21:32:10 Makes me think, I never finished my Peano calculator 21:33:30 "brown iron, or 'bumcivilian'" 21:35:11 hahah- the "face shackle", worn by petty criminals 21:47:14 -!- habnabit_ has joined. 21:47:22 -!- habnabit_ has left (?). 21:56:23 -!- oerjan has quit ("Good night"). 22:08:36 -!- ehird` has quit ("K-Lined by peer"). 22:08:45 -!- ehird` has joined. 22:09:36 Hmm. 22:09:41 Is there a Redivider implementation yet? 22:10:46 Sorry. Government secret. 22:35:10 Hm. That µ thingy is bothersome for I/O. 22:36:37 hardly. 22:36:38 Unicode. 22:36:42 µnicode. 22:37:58 Well, it's not that bothersome 22:38:07 But since I'm pretty horrible at coding, it is. 22:38:57 i will agree with that 22:39:08 Slereah: just 22:39:08 whenever you'd say "" 22:39:08 say u"" 22:39:10 and, ask in #python on how to read files in unicode 22:39:12 and you're done 22:39:25 What that got to do with unicode? 22:39:36 When I say µ, I mean µ recursive functions 22:39:39 Little man. 22:40:20 It's time for some pen and paper coding, I do believe. 22:40:27 I can't code without paper. 22:40:29 I thought you meant outputting µ. 22:40:32 Slereah: also 22:40:36 lazy bird use monads for IO yet? 22:40:41 it will make all your troubles disappear 22:41:00 I slacked quite a bit these past weeks 22:41:00 I still haven't read Haskell 22:41:26 I've got a hard time staying focused on something. 22:48:02 Where's my pen, bitch 22:50:02 Hm. Wonder if I'll have to use monads too for µlambda 22:53:37 yes 22:53:50 Damn those functional languages! 23:17:53 Is the µ function even computable in a general case? 23:18:25 It seems strange to me. 23:20:01 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 23:20:37 -!- Tritonio_ has joined. 23:26:16 "Definition of the unbounded ÎĽ operator in terms of an abstract machine" 23:26:20 Thank you Wikipedia! 23:29:18 -!- lifthrasiir has quit ("leaving"). 23:29:28 -!- lifthrasiir has joined. 23:35:31 what's the µ function? 23:35:50 hey -- who here is interested in Be Your Funge? 23:36:09 I'll be your funge for a dollar 99, wink wink 23:36:52 µ function : µyf(y, x1, x2, ...) = smallest value of y such that f(stuff) = 0 23:36:57 Or 0 if no such value exists. 23:37:35 Slereah: uncomputable 23:37:39 I think 23:38:01 That's why I'm scratching my head. 23:38:16 why? its uncomputable, get over it 23:38:34 Well, it's supposed to be part of the holy trinity of the recursive functions. 23:38:41 The first system to be Turing complete. 23:39:16 I'm reading Kleene. 23:39:19 Explain me Kleene! 23:39:22 oh wait 23:39:24 What are you trying to tell me! 23:39:25 it is computable 23:39:28 http://en.wikipedia.org/wiki/Mu_operator 23:39:32 example #3 23:39:41 is written in kind-of-assembly language 23:39:41 so that should be easy 23:40:27 It be hard readin'. 23:40:37 uhm, that's pretty light readin' 23:40:38 go slowlt 23:40:39 But yeah, I suppose it is. 23:40:40 *slowly 23:43:16 "The unbounded ÎĽ operator will continue this attempt-to-match process ad infinitum or until a match occurs." 23:43:22 That's my problem. 23:44:46 "ad infinitum" - sounds like the seed of turing completeness 23:45:18 Well, as long as it doesn't need to check if y actually exists, I guess I'll be okay. 23:45:21 Slereah: So it doesn't halt until it finds one; and loops forever if there is none. 23:48:18 -!- Corun has joined. 23:48:18 -!- Tritonio__ has joined. 23:48:33 That Lazy K dude was onto something with that referential transparency! 23:48:48 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 23:55:14 Hm. Mister ehird`. 23:55:22 ehird mister. 23:55:56 If I use sum Monads, will I be able to read each function lazily ? 23:56:42 With the current idea, it seems like a lot of bothers. 23:56:58 And I can't rely on the combinators nice one-argument-each 23:57:04 Slereah: Monads allow you to do everything lazy. 23:57:21 Then I'd better go back on Haskell 23:57:23 Because the nature of the functions that run them create data dependencies 23:57:30 so that the evaluator is forced to evaluate the IO stuff in sequence 23:58:31 I'll pretend to understand and go read the tutorial. 2008-02-21: 00:00:45 Slereah: basically 00:01:02 if you have a monadic option linking output, getting a line, some pure stuff, and outputting another line, 00:01:24 the pure stuff is done lazily but the IO depends on the previous one so the evaluator HAS to do it in order 00:01:28 while requiring no changes 00:02:14 Even if the output is itself a function? 00:02:53 It will basically be like this. You've got 0, you've got + for successor, a bunch of functions. 00:02:55 -!- puzzlet_ has joined. 00:02:59 Slereah: Look 00:03:01 just go into #haskell 00:03:04 and ask loads of questions 00:03:04 :P 00:03:13 I'm scared. 00:03:22 There's people there. Talking about Haskell. 00:03:25 #haskell is the friendliest programming language channel around 00:03:34 Haskell was that black guy in cube Zero. Killed the fat guy! 00:03:46 -!- Corun has quit ("I'm nuts and Neil's a nut, therefor I am NEILS!"). 00:09:41 * Slereah be printing the Haskell tutorial 00:10:42 Slereah: YAHT? 00:10:52 The Wiki one 00:11:09 no 00:11:10 don't 00:11:11 do YAHT 00:11:13 :o 00:11:31 there, i shoved you into #haskell 00:11:36 don't worry. we don't bite. :) 00:13:30 -!- jix has quit ("CommandQ"). 00:14:41 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 00:14:45 Slereah: boo! talk! 00:15:35 YAHT is printing. 00:15:41 192 pages, it's going to be a while. 00:16:19 printing? :S 00:16:43 You know, throwing ink on paper in shapes 00:17:13 Slereah: why not just read it 00:17:31 What, you want me to read that on a screen? 00:17:37 um 00:17:37 yes 00:17:46 get a nice big font and a good pdf reader 00:17:48 it's comfy 00:17:57 you need to do YAHT interactively, anyway. it's best. 00:17:59 My chair isn't that comfy though. 00:18:37 You're going to do it away from a computer ...?! 00:18:40 You'll never learn Haskell! 00:18:43 :o 00:18:50 You need to have Emacs and ghci there, open. :-P 00:19:02 I don't have Emacs :o 00:19:06 I use Kate. 00:20:00 It has Haskell highlighting. 00:20:17 emacs!? you *never* need emacs :P 00:20:43 It's not that you need Emacs. 00:21:04 You don't need to live, either. 00:22:09 What does macs have besides highlighting? 00:22:48 Slereah: emacs is the only solution for haskell code 00:22:52 well some people use vim (masochists) 00:23:00 But why! 00:23:03 Slereah: haskell's syntax is indentation-based 00:23:08 its very tedious to do manually 00:23:12 haskell-mode for emacs is VERY smart 00:23:15 Oh. 00:23:18 it also has an integrated ghci 00:23:20 in a bottom pane 00:23:22 and all sorts of stuff 00:23:33 basically, haskell development without it is 99% repetetive key mashing 00:23:34 :P 00:24:10 Let's get them Emacs then. 00:25:06 indeed 00:25:20 Slereah: sudo apt-get install emacs-snapshot-gtk emacs-goodies-el 00:25:29 that will get you the best emacs for general use 00:25:30 No need. 00:25:34 "Adept installer" 00:25:35 no 00:25:36 no 00:25:36 no 00:25:39 that gets you the wrong emacs 00:25:40 an older one 00:25:42 and no goodies 00:25:43 D: 00:25:53 blame ubuntu 00:25:53 :P 00:26:04 Damn you Ubuntu! 00:29:51 "No space left on device" 00:29:51 SCIENTOLOGY: 00:29:52 $ grep thetans /dev/soul | xargs rm -rf 00:29:53 Oh shi- 00:32:38 -!- timotiis has quit ("leaving"). 00:34:32 Seems my porn folder is hogging space on the Linux partition! 00:34:37 Time to move it 00:38:20 * Slereah has Emacs 00:38:54 Slereah: The right one? 00:39:10 If so, then you have emacs in some menu somewhere. 00:39:19 Start it, then type 'C-h t' (CTRL-h, t) 00:39:24 follow it through. 00:39:28 now you know how to use emacs. :P 00:40:39 [Middle of page left blank for didactic purposes. Text continues below] 00:40:46 That statement is so self-defeating 00:40:56 Slereah: whatever. 00:40:59 just do what it says 00:41:01 and nothing else :P 00:41:10 oh, and throw your mouse to the back of your desk until you're done. 00:41:48 Not Mousey! 00:42:59 They use ctrl x-c-v for something else than copypasta? 00:43:04 What madhouse is this! 00:44:16 Slereah: The madhouse of productivity and speed. 00:44:24 JUST SAYIN' 00:44:29 also, Slereah ... 00:44:35 say goodbye to your arrow keys. 00:44:41 Nooooooooooooooooooooooooooooooooooo 00:44:43 Ctrl-N, Ctrl-P, Ctrl-F, Ctrl-B are your gods now. 00:45:05 (Note: emacs came around before any of these things that you're used to existed. It's not just difference for the sake of it; and most people who use emacs today find them nicer.) 00:45:20 (Emacs came around circa 1980s at MIT.) 00:45:23 What if I don't? 00:45:35 -!- puzzlet has joined. 00:45:58 I'm already not that fond of remembering which alt key actually works 00:46:34 Slereah: You've used emacs for about 5 minutes, and even then not much. 00:46:34 -!- puzzlet_ has quit (Remote closed the connection). 00:46:34 You've used ctrl x-c-v, and the arrow keys, your entire computing experience. 00:46:35 Of course you're not faster yet. 00:47:01 The arrow keys seems to work fine on their own though 00:47:45 Slereah: No. 00:47:51 They do function 00:47:54 But you shouldn't use them. 00:47:55 Just don't. 00:48:01 They make your hands move more. 00:48:15 So does the bfnp :o 00:48:34 They're not even in a cluster, or with some logic in their disposition. 00:49:22 Slereah: Back,Forwards,Next,Previous 00:49:26 And.. you can touch-type, right? 00:49:45 Pretty much. 00:49:53 home row? 00:49:59 If so, then you'll get used to it pretty quickly. 00:50:04 Home row? 00:50:08 err 00:50:10 asdfghjkl 00:50:13 you know? 00:50:22 Apparently not. 00:50:24 with the dent on f and j.. 00:50:29 and you keep your fingers there... 00:50:33 :| you can't touch-type, can you 00:50:36 don't you mean aieo htns? :P 00:50:43 olsner: i doubt Slereah uses dvorak. 00:50:48 if he doesn't know how to touch-type. 00:51:02 hehe, just saying... 00:51:05 I use AZERTY. 00:51:20 And I indeed don't need to look much at it. 00:51:41 Though I keep my eyes on the screen. Once in a while, I'm one key off and write gibberish. 00:52:18 Slereah: Do you keep your fingers onthe middle row? 00:52:25 And never stray from it, just moving your fingers to the keys? 00:52:32 If not -- you can't touch-type. Go learn that, first. 00:52:47 I do not do that, no. 00:52:58 olsner: Can you please be my window of sanity? 00:54:16 olsner: Please? :( 00:54:18 sanity!? mind you, it is in #esoteric you're asking this question 00:54:32 olsner: More than Slereah? 00:55:30 I don't really touch-type though... more like mostly-hitting-the-right-key 00:55:56 :'( 00:56:14 Same here. And really, I'm not sure I need to learn sum touch typing. 00:56:20 I'm not in a speed competition. 00:56:32 I mostly keep my fingers at the home row, but often happen to use some other position... which happens to work since I know where my fingers are 00:57:04 * Slereah doesn't even use moar than two fingers :o 00:57:12 also, coding on a swedish keyboard require a lot of AltGr:ing 00:57:36 latex is especially gruesome, {[]}\~ all being AltGr combinations 00:57:40 Slereah: what? you type with TWO FINGERS?! 00:57:41 hunt and peck?! 00:57:45 Yes. 00:57:47 Yes I do. 00:57:49 how the heck did you get into esolangs. 00:58:04 ehird`: lol D: 00:58:09 Because I can type fast enough. 00:58:11 the need for an ultra-terse language? heh 00:58:37 Plus, I don't need to type fast for esolangs. 00:58:47 oklopol: are you as sad as i am 00:58:47 Who codes in brainfuck as fast as he types? 00:58:49 D: 01:00:17 ehird`: nope 01:00:21 i'm not sad 01:00:37 i know a guy who uses two fingers and types error-free, and as fast as me 01:01:08 After using the keyboard for ten years, you know where the keys are! 01:01:08 i don't type error-free, not on the computer, not on paper. 01:01:50 and it's not that i typo, i just simply write wrong letters. 01:03:38 -!- ehird` has quit ("K-Lined by peer"). 01:04:11 It was too much for him. 01:05:20 * Sgeo starts forcing down "April 4th of September" down people's throats 01:10:14 Sgeo: btw. are you going to start something new after psox? 01:10:28 "after PSOX"? 01:10:40 Probably lose interest and go back to SL or something 01:10:49 sl? 01:11:04 Second Life. 01:11:21 oh 01:11:38 I might not know your computer stuff, but I sure know the nerd stuff! 01:12:27 i have no idea about anything. 01:27:05 Is it just me, or is DeVeDe slow? 01:27:18 Whut? 01:28:16 DeVeDe == DVD video making thingy 01:28:24 And it seems to be SLOW 01:28:30 Although it is converting from flv.. 01:42:46 * Slereah 's hungry 03:29:51 -!- immibis has joined. 03:43:39 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 03:45:46 so, did anyone actually see these? 03:45:47 http://rodger.nonlogic.org/dump/images/1203488516-art1.png 03:45:51 http://rodger.nonlogic.org/dump/images/1203488528-art2.png 03:46:42 -!- Sgeo has joined. 03:46:50 sgeo didn't. 03:47:39 -!- AlliedEnvy has joined. 03:49:58 also, here's a really old comic from several years ago: http://www.nonlogic.org/dump/images/1203565552-urge.gif 03:50:24 http://qdb.us/143471 03:50:58 Your name's John? 03:51:42 woah, since when did the qdb auto-accept shit? 03:51:47 pikhq: correct 03:51:59 Then. . . Why Rodger? 03:52:10 complicated 03:52:44 'Complicated', as in 'requires a small doctoral dissertation'? 03:53:19 olsner: Ouch; that keyboard sounds horrible for coding. 03:54:21 * pikhq prefers his US keyboard 03:54:25 AltGr? Bah. 03:54:32 Shift at the most. 03:54:41 Granted, it doesn't do more than ASCII. . . ;) 03:54:59 so your name's john and your address is somewhere near Townsend Drive, Houghton, MI 49931-1295, USA 03:55:10 yup 03:55:17 I make it no secret that I go to MTU 03:55:21 I assume that's where the dorms are? 03:55:36 you could even use the MTU directory search to dig up more info on me, like my room phone number! Woo! 03:55:42 duh....[16:53] ->> RodgerTheGreat is n=Rodger@wads-5-233-27.resnet.mtu.edu (Rodger) 03:55:55 'course, I don't have a phone plugged in, so your options will be limited 03:56:12 there is no such thing as anonymity on the internet 03:56:19 tor? 03:56:29 Anonet? 03:59:41 there appears to be at least one car driving around near mtu. Not that's important information. 04:00:04 no wait, there are quite a few for the middle of the night. 04:01:17 pretty cold over there, isn't it? 04:01:23 yes, rather 04:02:04 -14 degrees C 04:02:25 so, no comments on any of those images aside from creepy internet detective activity? 04:04:27 * immibis looks at the images 04:06:53 -!- GreaseMonkey has joined. 04:07:00 hey, GreaseMonkey 04:07:24 'lo 04:35:53 I didn;t what? 04:35:57 also, brb 05:38:09 -!- Tritonio_ has joined. 05:40:08 -!- Tritonio__ has quit (Read error: 110 (Connection timed out)). 05:52:03 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 06:03:18 -!- oerjan has joined. 06:24:01 -!- puzzlet_ has joined. 06:24:46 -!- puzzlet has quit (Remote closed the connection). 06:25:43 -!- BMeph has quit ("calls it a night"). 06:31:51 -!- cherez has quit (kornbluth.freenode.net irc.freenode.net). 06:32:19 -!- cherez has joined. 07:46:12 -!- bsmntbombdood__ has joined. 07:47:16 -!- bsmntbombdood has quit (Nick collision from services.). 07:47:18 -!- bsmntbombdood__ has changed nick to bsmntbombdood. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:49 -!- immibis has quit (Client Quit). 08:10:02 -!- AnMaster has quit (Connection timed out). 08:22:39 -!- GreaseMonkey has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. thx."). 08:32:44 -!- AnMaster has joined. 08:56:39 -!- oerjan has quit ("leaving"). 09:42:18 -!- jix has joined. 10:45:42 -!- Corun has joined. 10:55:17 -!- Corun has quit ("This computer has gone to sleep"). 13:05:02 -!- uvanta has joined. 13:16:11 -!- wildhalcyon has joined. 13:47:42 -!- smg has joined. 13:48:10 -!- smg has left (?). 13:54:30 -!- RedDak has joined. 14:29:29 -!- uvanta_ has joined. 14:48:10 -!- uvanta has quit (Read error: 110 (Connection timed out)). 14:58:23 -!- puzzlet_ has quit (Remote closed the connection). 14:58:27 -!- puzzlet has joined. 15:35:01 -!- olsner has quit ("Leaving"). 16:02:24 -!- olsner has joined. 16:18:53 -!- RedDak has quit (Read error: 113 (No route to host)). 16:24:01 -!- Tritonio_ has quit ("Bye..."). 16:26:38 -!- Corun has joined. 16:28:50 -!- RedDak has joined. 16:50:27 -!- timotiis has joined. 17:00:19 -!- puzzlet_ has joined. 17:00:40 -!- puzzlet has quit (Remote closed the connection). 17:12:59 -!- AlliedEnvy has left (?). 17:26:40 -!- Corun has quit ("This computer has gone to sleep"). 17:43:10 -!- olsner has quit. 17:45:23 -!- RedDak has quit ("I'm quitting... Bye all"). 17:57:59 -!- ehird_ has joined. 18:02:00 -!- RedDak has joined. 18:09:38 -!- ehird_ has changed nick to ehird. 18:10:00 -!- ehird has set topic: Is this the esoteric programming languages channel on freenode?. 18:10:37 -!- faxathisia has set topic: This is NOT the esoteric programming languages channel on freenode?. 18:18:01 -!- lament has set topic: This channel has no relationship to the world hub for esoteric language design and development.. 18:21:18 -!- faxathisia has set topic: This channel has no relationship to the world hub for esoteric language design and development, the world hub for esoteric language design and development is not even mentioned in the topic.. 18:21:40 nice one 18:30:07 -!- ehird has set topic: #esoteric powers esoteric languages?. 18:30:10 homespring! 18:35:52 -!- RedDak has quit (Remote closed the connection). 18:36:19 Interesting question, 18:36:21 "Who knows the value for the type of a lisp source file?" 18:36:53 No idea. 18:37:18 My lisp experience is limited to "What's that language with all the parentheses? Lisp? Oh" 18:37:21 -!- lament has set topic: This channel is now officially closed. Please proceed to ##overflow.. 18:37:29 aww 18:37:29 :( 18:37:59 wildhalcyon: I'd really recommend changing improving that :o 18:38:11 no 18:38:12 don't 18:38:15 learn haskell! 18:38:20 lisp is way too much fun to miss out 18:38:25 ok 18:38:28 but haskell is more fun 18:38:33 and you can write lisp in haskell trivially if you want that 18:38:37 the other way around, not so much 18:38:54 imo lisp is the prototype, haskell is the result (version 1 :-P) 18:38:57 ehird if you think so... maybe you can help fix my haskell code :P 18:39:06 faxathisia: i'll try. 18:39:08 ehird, but I find the reverse of hwat you said 18:39:22 faxathisia: what, you can write a haskell compiler in lisp trivially? 18:39:42 lisp isn't a functional language for one 18:39:45 haskell is 18:40:00 and haskell's syntax, while not as minimal as lisps, is just as simple and elegant 18:40:09 and haskell has macros, because they're just functions, thanks to laziness 18:40:17 their syntax is low-fat too -- no (lambda ...) 18:40:48 oh I was not talking about compilers (I didn't think you were either) 18:40:52 i totally agree with ehird 18:40:57 haskell is way too cool 18:41:04 :) 18:41:10 it's too cool! it must be banned! 18:41:46 * faxathisia does not care for the syntax comparison 18:42:36 but in here S Korea, there's not much people being aware of haskell 18:42:47 even no single haskell book written in Korean 18:42:48 faxathisia: syntax is fundamental to a language's style 18:43:11 -!- uvanta_ has changed nick to uvanta. 18:45:18 even better: 18:45:27 -!- lament has set topic: Sorry, this channel is full. Please proceed to ##overflow.. 18:46:04 also, haskell rules, lisp drools! 18:46:13 -!- ehird has set topic: You've reached this channel because the channel you tried to enter has been configured with join throttling (+J). There may be a clonebot attack in progress there, or simply unusually heavy interest. Please leave this channel and try again. Your channel may also be "identified-only" (+r); join #please_register for more information. If you need help, message a freenode staffer or email staff@freenode.net .... Thanks!. 18:46:24 i win 18:47:08 heh 18:48:22 I can't believe you guys are dissing lisp.. 18:48:30 academics!!! 18:48:55 faxathisia: i am not 18:48:59 i am saying that haskell is superior 18:49:08 Well have fun with your lambda calculus and type theory while I write web apps! 18:49:30 lambda calculus is from lisp 18:49:45 i mean, miranda derived it from lisp 18:49:51 and haskell derived it from miranda 18:51:39 well it's kind of irrelevant but my opinion is if you don't know Lisp you are missing out on something really great 18:52:15 faxathisia: i'm writing a web app in haskell right now 18:52:30 ehird, I was just being silly 18:52:34 and text.xhtml + network.fastcgi + a strongly typed database query module is far superior to any lisp shit you have 18:52:35 :p 18:52:42 and i know lisp 18:53:00 specifically, i have memorized all the syntax, semantics and procedures in r5rs 18:53:01 ehird, It's not superior, It's what you're finding more fun to work with at this point in time 18:53:07 and the equiv in common lisp 18:53:09 plus some more 18:53:13 ehird, I was joking with all this arc fuss around at the present 18:53:30 faxathisia: well, actually, that toolkit is far superior to any lisp web app framework that has been built yet. 18:54:07 the fact that it makes me *warm* and *fuzzy* is just a nice extra 18:54:14 I heard you can ensure W3C compliance of XML/XHTML in the type system 18:54:38 so.. currently, you gotta restart the server just to make upgrades to the site? 18:55:17 LANGUAGE WAR 18:55:25 faxathisia: no way 18:55:33 haskell development server 18:55:36 recompiles as it goes 18:55:50 when you're done, you just compile yourself a binary, static or dynamic, and upload it to your server 18:55:57 add the fastcgi info to your ws config and you're done 18:56:09 and no reloads of the server 18:56:15 just once you push out a new major change, restart the fcgi server 18:56:18 which is as simple as SIGHUP 18:56:33 ok so you have to restart the server.. 18:56:36 and you can ensure w3c compliance in the type system; but that would make Text.XHtml be absolutely crazy 18:56:38 faxathisia: no 18:56:41 if you want performance, yes 18:56:48 It's not superior to the lisp setup I had 18:56:49 but you can just run a dynamically reloading WS on the server. 18:56:54 oh 18:56:56 of course 18:57:10 99% of development time is PUSHING OUT MAJOR CHANGES ONTO YOUR SERVER WHICH TAKES 10 HOURS TO RESTART 18:57:34 faxathisia: have you thought about the performance overhead of your lisp setup? 18:57:37 Slereah, nah I use both languages 18:57:52 i don't like lisp because it's ugly 18:58:12 especially functions ending in things like p and f 18:58:25 disgusting 18:58:26 lament: that's not there in scheme 18:58:30 i know! 18:58:33 but it does have mutation and predicate annotations.. 18:58:35 ? and ! 18:58:36 which isn't ugly 18:58:39 yes 18:58:42 scheme is much prettier 18:58:42 e.g. (number? x) 18:58:45 (set! x y) 18:59:12 but scheme has terrible standartization problems 18:59:19 standardization 18:59:23 r6rs seems ... kind of ok 18:59:31 I think it's a bit too much of a superficial view 18:59:37 Better than most esoteric languages. They usually have terrible bastardization problems 18:59:45 really the names of some constants is not the matter 19:00:09 Don't be dissin' the eso dude. 19:00:32 As a bastardized language creator, I'm not dissin', just telling it like it is. 19:00:35 faxathisia: aesthetics are important 19:00:46 faxathisia: actually the main reason i haven't ever seriously tried lisp is the perceived lack of a good environment, and a perceived necessity for having one 19:00:47 Heh. 19:00:54 What's your esolangs? 19:01:02 lamet, SLIME 19:01:10 faxathisia: ie, haskell doesn't feel like you need to have a huge environment in which to work with it; a text editor and ghc is enough 19:01:14 but lisp does 19:01:22 and unfortunately such environments tend to be emacs-based 19:01:27 lament: but emacs, haskell-mode&inf-haskell, and ghc helps 19:01:27 :-) 19:01:38 and i'm not a fan of emacs 19:01:42 i am 19:02:21 beh 19:02:34 compare with squeak... now that's an environment :) 19:04:06 squeak is awesome 19:04:08 well, kind of 19:04:12 the idea is awesome 19:05:23 in any case, even if the environment did exists, something feels wrong about a language _needing_ one :) 19:05:38 feels just right for squeak though 19:06:08 there's barely a programming language in squeak 19:07:57 http://www.flownet.com/gat/papers/pch.html 19:09:30 bastardization! 19:13:27 haskell... its lazy evaluation is... elegant 19:13:47 its code is... beautiful 19:14:36 right now i'm doing a part-time job using php and it SUCKS 19:14:41 i miss haskell 19:15:32 -!- zacuan has joined. 19:15:45 -!- zacuan has left (?). 19:15:46 uur, php 19:17:32 i wanted to join that language war but i couldn't since ehird was saying everything i want to say before me 19:17:48 hahah 19:17:49 I'm not sure it was a war.. 19:17:59 I like both languages 19:18:07 uvanta: unfortunately, if i actually said that before you said it, that would just be strange, because it makes no sense when i say it 19:18:49 what you say 19:19:26 uvanta: shit, the next line is 'all your base are belong to us' 19:19:28 you can't make me say that 19:19:30 that's cruel 19:19:55 no, the next line is 'you have no chance to survive make your time' 19:20:01 is it? 19:20:02 ok 19:20:05 well 19:20:07 you just did that. 19:20:43 i don't really understand what's going on but... i'm sorry 19:27:35 I think it was my fault :/ 19:48:57 -!- ehird has quit ("Leaving"). 19:50:48 Anyone have any suggestions for what sort of commands an assembly language should contain? 19:51:16 One that will play the Super Mario theme on the PC speaker. 19:51:23 To answer your question, I don't know. 19:51:58 subleq ? 19:51:58 -!- ehird has joined. 19:52:02 Okay 19:52:03 bah 19:52:04 RSSB 19:52:14 crispy 19:52:16 Not quite sure where to go with it 19:53:04 I'm leaning towards 32-bit, but 64-bit might work also. 19:54:58 I'll probably need some sort of memory management instructions. 19:55:04 And all the usual stack instructions. 20:02:26 -!- ais523 has joined. 20:02:55 wildhalcyon: why not the MAX instruction? 20:02:58 see MiniMAX on the wiki 20:03:20 ais523 is watching you type 20:03:29 makin' me look up stuff... with the thing... 20:03:37 actually, I was reading the logs and decided I wanted to join the conversation 20:03:47 Heh. 20:04:07 So, what would the MAX instruction do then? 20:04:12 how can you read them in real-time? 20:04:24 and wildhalcyon: it can be expressed as MOVSW LODSW ADD SI,AX XCHG SI,DI in x86 assembly language 20:04:30 ais523: how long until you invent a log client that doesn't require an external log service and updates in real time without refreshing? 20:04:38 then in another version add support for sending messages? 20:04:55 basically, it copies one datum from the source to the destination pointers (which have to be set up beforehand), incrementing each pointer 20:04:57 (p.s., it's really weird when someone joins and replies to a question asked minutes before they joined :P) 20:05:16 then adds the datum at the source pointer to the source pointer, and increments it 20:05:21 then swaps the source and data pointers 20:05:34 what's the benefit of doing that now? 20:05:40 ehird: minutes? I've replied to questions asked days earlier on occasion 20:05:47 wildhalcyon: the instruction is TC by itself 20:05:49 that's not as creepy 20:06:00 it doesn't even need arguments... 20:06:02 but replying something asked minutes before seconds after joining.. 20:06:05 that is creepy 20:06:06 :D 20:06:07 Oh, well.. that's almost useful then 20:06:12 just memory to be set up correctly beforehand 20:06:17 ais523: hm, if it requires no arguments, then ... oh 20:06:18 :) 20:06:28 well, you can pass around minimax programs really easily 20:06:39 file = memory ... sentinel code ... 20:06:40 where 20:06:50 code = length of source encoded in base-255 20:07:01 since MAX MAX MAX ... is just unary 20:07:02 :-) 20:07:14 I generally treat the program as being the contents of memory before the interp is run 20:07:24 ah 20:07:30 in DOS, you just append the program to the interp and it dutifully loads it into memory at the right place 20:08:03 there's a 14-byte interp on the wiki that works like that (no I/O, though) 20:08:49 it even handles quitting when you jump to a location 270 bytes (that is, 135 words) before the start of the program 20:09:14 Damn it, no wonder I'm confused. 20:09:40 I thought you meant regular wikipedia... didn't pay attention where you said "on THE wiki"... 20:10:05 I normally mean Esolang when I say 'wiki' on this channel without a qualifier 20:10:18 I'm not blaming you. It was my error 20:19:44 Wow, ais. I really don't understand miniMAX. 20:19:50 I get Fractran, but not miniMAX 20:22:12 it's kind of hard to explain 20:22:22 the example makes it just-about possible for other people to understand sometimes 20:22:58 each command alters the previous command, and sets the distance between the command after it and the command before it 20:23:27 I sort of get that part, but I don't get how its set up I guess. 20:23:35 Plus, its not really helpful for my assembly language. 20:24:06 wildhalcyon: the program is just loaded into memory, and the docs for the interp define where the 1st and 0th commands start 20:24:08 so it isn't portable 20:24:18 it was simply designed for very small TCness 20:24:26 Fair enough 20:24:44 (of course the 14-byte interp isn't TC because it can only address 64K memory, because it's a DOS .COM file) 20:34:30 ais523: I am trying to write a fixed-point function in C 20:34:33 I do not believe it is possible 20:34:37 without inline asm 20:34:53 what exactly do you mean by 'fixed-point function' in this context? 20:35:00 and why would inline asm help? 20:35:12 because you can do closures and stuff with inline asm 20:35:14 anyway, ais523 -- 20:35:32 fix(F) => fun(...) => F(fix(F))(...) 20:36:36 the naive implementation gives you an infinite loop because C is eager 20:36:51 I remember reading something about an eager implementation of Y, though, I may have to look it up 20:37:01 ais523: c does not have closures 20:37:04 you cannot code the y combinator in it 20:37:11 anyway 20:37:13 eager Y is Z: 20:37:31 Z = \f. (\x. f (\y. x x y)) (\x. f (\y. x x y)) 20:37:49 ais523: the point is you cannot return the appropriate function 20:37:58 that iz, 20:37:59 oh, of course 20:38:00 in Z(f), 20:38:05 f cannot return something meaningful 20:38:51 lambda calculus is kind of tricky in C anyway, what with the total absence of a lambda operation 20:39:00 ais523: it's impossible. 20:39:03 lambda calculus uses closures. 20:39:06 c does not have closures. 20:39:13 short of writing an interpreter; you cannot do lambda calculus in C. 20:40:37 that's what I meant by 'kind of tricky' 20:40:47 in JavaScript, OTOH, it's built into the language 20:40:51 and that acts kind of like C at a distance 20:41:45 ais523: speaking of which 20:41:55 if you reduce haskell to: 20:42:03 a basic type system that at a glance looks like it, 20:42:10 simplified version of the syntax, 20:42:14 just standard lazy evaluation 20:42:23 and only a few standard things (like, an IO monad) 20:42:31 ais523: how short do you think an interpreter could be written? 20:42:54 not sure 20:43:06 http://www.laserpirate.com/tinyml.html tiny ml in <700 lines 20:43:09 so, i think not too much 20:43:13 with a minimal Prelude, maybe a kilobyte or two 20:43:30 hmm... 2K is the IOCCC size threshold 20:43:37 (4K counting whitespace) 20:43:44 but C is not a very good language for golfing 20:45:12 incidentally, I topped up anagolf to shinh's requested 5 problems at a time 20:45:23 and got several entries within a couple of minutes of posting the problem 20:46:10 ais523: i meant 20:46:13 LOC 20:46:14 mainly 20:46:23 bytes is more fun 20:46:27 well 20:46:31 bytes mean nothing to me 20:46:37 I'm pretty sure it's possible to write a Haskell interp in 1 line of code, in Brainfuck 20:47:46 because newline has no meaning to a Brainfuck implementation, or ought not to 20:48:08 (I came across a BF interp online that errored on any characters not in ,.<>[]+-, and also errored on EOF) 20:48:25 (I'm pretty sure most BF standards would therefore not consider it conforming) 20:49:09 ais523: I mean reasonable looking code. 20:49:11 :-| 20:49:23 Hm. 20:49:36 I'm trying to make a factorial on LB. 20:49:49 LB? 20:49:50 But I feel I'm recreating an imperative version of the factorial 20:49:55 Lazy Bird. 20:49:59 Lazy Bird, presumably 20:50:33 Slereah: in Unlambda-like languages, the iterative and recursive versions of factorial tend to come out identical 20:51:01 because when you translate the loop of the iterative version into a recursive function so that it can be expressed in the language, you end up with code identical to the recursive version 20:51:14 My idea so far is using an ordered pair, first element being the result, second being what's left. 20:51:18 at least if you make the loop count downwards to make the termination condition easy 20:51:22 ais523: btw, all factoring programs i've found say their algorithm is dumb 20:51:27 so why don't they improve it?! :| 20:51:50 So factorial 5 would start out as <1,5> and finish on <120,0> 20:51:55 Or something. 20:52:14 Slereah: both the recursive and iterative versions work like that 20:52:19 Oh. 20:52:22 Thank goodness. 20:52:38 in fact they're so similar it's hard to tell the difference; on occasion they can be identical 20:52:51 because the argument to a recursive function is an argument 20:53:13 a variable in an imperative version has to be converted to an argument to be remembered between iterations of the loop 20:53:19 and so the two functions end up the same 20:55:18 Slereah: I just read your note about the difficulty of I/O in Lazy Bird 20:55:34 some sort of monad is generally the best option in pure lazy languages 20:55:35 Are you going to tell me about monads? 20:56:15 -!- oerjan has joined. 20:56:21 a monad would be a bit hard to implement in an efficient form in Lazy Bird because input would need to return two arguments and output would need to take two arguments 20:56:45 taking two arguments is fine due to currying, but returning two would mean some sort of officially sanctioned version of an ordered pair 20:57:18 Well, my first thought was to use some sort of function > such that ``>[A][B] converts to `[A][B] and then B is evaluated 20:57:46 so some sort of eageriser 20:57:57 Yes. Anti-d. 20:58:03 but it's kind of hard to ensure that the eageriser runs at the right time, because it would itself be lazy 20:58:18 and more importantly the thing running it would be lazy 20:58:23 Is there a third choice? 20:58:25 the program would have to be full of eagerisers 20:58:32 ais523: by the way, i learned a disturbing thing yesterday 20:58:38 Yes, that's the problem I saw. 20:58:41 the Y combinator cannot be typed in any language that does not allow arbitary recursive types 20:58:43 and, with them, 20:58:51 every lambda calculus term can be typed as "a = a -> a" 20:58:58 thus, strong typing is destroyed 21:00:02 that's a bit exaggerated i think 21:00:33 just thinking about monads in general... suppose you write infinite cat (that doesn't terminate on EOF) in a language like Haskell 21:01:04 hm wait 21:01:30 if you do it by constructing an infinite list of commands input >>= \x -> output x >> input >>= \x -> output x >> input and so on, is there any guarantee that any of the commands actually runs rather than the interp spending an infinite length of time constructing the list without evaluating any of the monad-chained functions? 21:01:39 the list of commands, that is 21:01:49 oerjan: no, it's true 21:01:55 and that's from #haskell, too :P 21:02:05 ais523: um, yes 21:02:09 because ... that construction is lazy 21:02:10 :P 21:02:23 it's an issue as to what is more lazy, the I/O or the list construction 21:02:23 ehird: hm, there may have to be a type that every term can be type with 21:02:27 the interpreter executes as little as possible of the chain creation, runs that action, does it again, etc 21:02:31 oerjan: yes 21:02:33 think about it,. 21:02:47 Let's call the lambda calculus function type T. 21:02:54 now every LC function takes an LC function and produces an LC function. 21:02:55 T = T -> T 21:03:12 a = a -> a 21:03:14 the version of intersection types i read about that could type every weakly normalizing term used an omega for it. no other recursive types necessary 21:03:17 (a = a -> a) is the type of all LC terms, and will type in a language that can type Y, thus strong typing is destroyed. 21:04:12 that type is not necessarily in your system 21:04:22 oerjan: to type Y, it must be 21:04:29 because: 21:04:33 Y :: (omega -> a) -> a was one legal type for Y, i think 21:04:53 Y takes a function, and returns (let's say -- a) 21:05:07 ehird: note that a system need not have principal types. it may be that you need a different type for Y dependent on what you apply it to 21:05:13 Now, if we say that Y is equiv. to '\f -> f (Y f)', then, what type is passed to the function? 21:05:14 incidentally, is the topic a real error message that can actually come up, or was it just faked to look realistic? 21:05:21 the return type of Y f, that's what. 21:05:31 And the function returns some value 'b' -- but this must be the same value passed to a 21:05:39 We get (a -> a) -> a, but that's just the fixed point type 21:05:47 If you read the actual lambda definition of Y, it has an infinite type. 21:05:59 -!- wildhalcyon has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.11/2007112718]"). 21:06:00 ehird: you are assuming a system in which everything has exactly one type 21:06:18 i'm assuming a sane system? well, that's odd. 21:06:36 ehird: there are _many_ interesting systems without that property 21:06:49 ehird: noticing when you've made assumptions and acting a different way is a good way to come up with an interesting esolang 21:07:10 oerjan: random note -- you used to code ocaml right? 21:07:21 how can i tell the ocaml repl to load an ocaml source file and let me access its variables? 21:07:30 ehird: a little bit 21:07:51 open ? my memory is vague 21:08:57 * Slereah 's going to add > 21:09:06 At least it will be easy to insert in the interpreter. 21:09:38 interesting 21:09:39 ehird: i think the repl syntax in ocaml is almost identical to file syntax 21:09:39 ocaml -rectypes 21:09:40 - : ('a -> 'a) -> 'a = 21:09:43 i see no recursive type there 21:09:44 (for Y) 21:10:18 however, it doesn't actually run of course 21:11:14 another legal type for Y in that intersection system would be Y :: ((omega -> a) /\ (a -> b)) -> b 21:11:38 and so on, for any chain of types starting with omega 21:11:44 oerjan: hm, how do i explicitly type annotate an ocaml function? 21:11:53 if i know that, then I'm going to go fsck up ocaml's type system 21:12:07 ehird: with : somewhere 21:12:14 somewhere 21:12:14 great 21:12:23 possibly just before the = 21:12:53 well, I just convinced ocaml that 'a -> 'a is a valid type for Y. 21:13:01 though 21:13:01 - : ('a -> 'a as 'a) -> 'a = 21:13:09 i think i typed the argument 21:13:13 hm 21:13:14 can't be 21:13:45 is that precedence right? try parenthese around ('a -> 'a) to be sure 21:13:50 *s 21:13:55 let y : ('a -> 'a) = 21:14:57 ah i see 21:15:03 "A as B" is "B = A" 21:15:07 # Y.sii;; 21:15:07 - : ('a -> 'b as 'a) -> 'b = 21:15:37 but you can't put that in a source file heh 21:15:45 ah 21:16:13 oerjan: there should be a minihaskell for experimenting with stuff like this 21:16:17 like i asked ais523 about earlier 21:16:24 it's not legal base syntax since basic ocaml does not allow -rectypes 21:16:24 i guess without layout, so the parser can be dirt simple 21:16:30 and stuff. 21:16:34 oerjan: i did -rectypes 21:16:35 hh 21:16:36 *heh 21:16:42 and, if we had a minihaskell 21:16:43 i mean the basic is without it 21:16:47 we could just add the a = b rule 21:16:53 stop misinterpreting me! 21:17:20 y :: (a = a -> a) -> a 21:17:36 now wait 21:17:41 y = \f -> (\x -> f (x x)) (\x -> f (x x));; 21:17:51 the usual type is (a -> a) -> a, for fix anyhow 21:18:24 oerjan: yes, but this encodes it better 21:18:25 it's just that you cannot get that building from just lambda terms with the usual type system 21:18:32 that one kind of ignores the whole recursive 'a' thing 21:18:39 oh, wait 21:18:40 you are right 21:18:41 heh 21:18:41 :) 21:18:54 well, a nicer way of saying it (makes more sense to humans): 21:19:12 y :: (a -> b) -> b where a = b 21:19:47 churchN :: a = (a -> a) -> a -> a;; 21:19:48 heh 21:19:49 i think the amount of humans for which that makes more sense is a pretty thin sliver :D 21:19:57 (as in, behaves the same as pure LC churches) 21:20:14 oerjan: it avoids starting to read it as a normal type then having to backtrack to get the recursion 21:21:36 in System F (where everything terminates) forall a. (a -> a) -> a -> a is the type of _precisely_ the church numerals 21:22:08 oerjan: aha, but that's not the LC church numerals 21:22:08 because there are more constraints on what can be passed in 21:22:10 System F btw does _not_ have principal types 21:22:35 ais523: anagolf should add emacs lisp 21:22:35 xD 21:22:51 I'd like to see Underload as well 21:22:58 ais523: egotist 21:22:58 but I'm biased 21:22:58 :P 21:23:54 hm 21:23:57 can you do stdout with elisp 21:24:16 probably it would be better to do it the same way as they did vi 21:24:31 input arrives in the buffer, output is the final version of the buffer 21:25:11 * ais523 keeps typoing the word 'buffer' with g rather than f. It's probably because their finger doesn't move back far enough after pressing the 'b'... 21:25:28 oh, bugger. that must be bad. 21:25:42 (badum-tish) 21:25:52 * oerjan is starting to get the impression from the topics that people here don't _want_ more channel members :D 21:25:53 luckily I've memorised backspace backspace f f as part of the way my fingers have learnt the word... 21:25:53 ais523: actually, hardly 21:26:01 the emacs functions for buffer stuff are hideously verbose 21:26:18 elisp is hideously verbose as a language 21:26:20 oerjan: quite :D 21:26:28 and 'format' isn't that wordy 21:26:42 ais523: (require 'cl) makes elisp quite terse 21:27:00 I'm unaware of cl 21:27:42 cl=common lisp 21:27:46 every sane elisp coder uses it 21:27:49 (if there are any,,) 21:27:58 basically, its a lot of useful stuff from CL 21:28:07 and presumably anagolf would bundle it 21:28:26 since none of us is sane, why are you mentioning it? 21:28:33 ehird: I have coded elisp before. I have never used the cl package, and I consider myself relatively sane, although some may disagree 21:28:42 the fact that I'm in #esoteric is certainly evidence to the contrary 21:28:49 oerjan: I meant 'sanity check' style :P 21:29:00 ais523: well, then start using it. it's the only way to avoid dying at the hands of elisp 21:29:00 :P 21:29:22 nowadays I mostly only use elisp for writing major modes for esolangs 21:29:22 ehird: maybe you mean coder of sane elisp, not sane coder of elisp? 21:29:32 oerjan: yes, thank you 21:29:33 :P 21:29:40 ais523: can i have esolangs.el, btw? :P 21:29:46 not on this computer 21:29:50 although I think I pasted it a while ago 21:29:52 :< 21:30:22 http://pastebin.ca/894042 is the version I pasted, apparently 21:30:54 although I think that version has a bug in the BF indentation 21:31:13 or at least, a strange-looking style choice where closing ] has to be on the same line as a lot of code to look sensible 21:31:38 ais523: btw, 21:31:44 you should add (provide 'esolangs) 21:31:46 actually, that seems to be the version with the indentation corrected 21:31:47 for just importing the lot 21:31:48 :P 21:31:55 it's actually probably the most recent version 21:31:59 and that's a good idea 21:32:28 I use a direct load of that file and (esolangs-recognize-extensions) in my .emacs 21:32:50 ais523: could you lowercase the brainfuck mode name? 21:32:52 and then get annoyed when people insist on using .bf as an extension for Brainfuck files... 21:32:52 its purer 21:32:53 :P 21:33:08 omg, you highlight ,. +- <> the asme 21:33:09 :( 21:33:17 the word "brainfuck" starts with a capital when at the start of a sentence 21:33:33 a modelien is not a sentence 21:33:45 modelines are generally written in title case 21:33:50 that is, every word initcaps 21:33:54 also, ais523, that does no indentation of brainfuck at all 21:33:55 :( 21:33:57 after all, words like 21:34:08 (define-key brainfuck-mode-map "\r" 'esolangs-indent-newline-indent) 21:34:08 (define-key brainfuck-mode-map "\n" 'esolangs-indent-newline-indent) 21:34:10 bad bad bad! 21:34:12 ehird: it ought to 21:34:12 don't do that. 21:34:14 override C-j. 21:34:16 not \r\n 21:34:17 I did 21:34:24 not \r\n. 21:34:32 maybe I should have a minor mode that works on all of them that overrides \r and \n as well 21:34:37 no 21:34:40 people do that in their own .emacs 21:34:44 I'm used to auto-indent, which I use in other modes 21:34:51 ais523: set it up in .emacs. 21:35:04 also, try (kbd ...) for keyboard keys 21:35:07 I don't use it in every mode though, I'm inconsistent 21:35:07 e.g. 21:35:09 (kbd "RET") 21:35:09 point taken, though 21:35:11 (kbd "C-j") 21:35:22 ais523: example of indenting using brainfuckmode? 21:36:06 just typing the code in ought to work 21:36:16 ,[(C-j) 21:36:19 < the number of spaces at the start of each line is brainfuck-indentation-level times the number of [] levels you're inside 21:36:57 so..1 21:36:58 at the start of a line, or (if the line starts with ]) just after the initial ] 21:36:59 but i'm at level 0 21:37:14 what version of emacs are you using? 21:37:22 I'll try it on this computer, which runs an ancient version 21:37:26 21.1.1 21:37:33 and just then i got it to indent 2 spaces 21:37:36 but cannot reproduce 21:37:45 aha 21:37:49 ,(ret) 21:37:52 [abc(ret) 21:38:01 def[(IT IS INDENTED WHEN PRESSING [) 21:38:04 --> 21:38:05 def[ 21:38:28 I have 20.4.1 21:38:35 ais523: it ignroes the first level of indentation 21:38:36 it seems 21:38:45 also 21:38:51 sometimes it disables RET! 21:38:55 'indentation would be in left margin' 21:38:56 and just get "Symbol's definition as function is void: move-beginning-of-line" 21:39:03 i did: 21:39:04 [(RET) 21:39:05 ] 21:39:08 and now i can't do in those [] 21:39:11 *go 21:39:21 definitely looks like there's an off-by-two error for you 21:39:27 that code clearly needs cleaning up 21:39:27 and maybe some logic bugs. 21:39:35 what about the Forte indentation? Does that work? 21:39:46 ais523: i don't know forte 21:39:48 (it right-justifies the line numbers and left-justifies the statements) 21:40:02 ehird: just type in some BASIC, it looks much the same to a syntax higlighter 21:40:42 filext= 21:40:47 30 LET 9=7 21:40:48 40 PRINT 6*9 21:40:50 that sort of thing 21:40:53 -!- jix has quit ("CommandQ"). 21:40:55 filext=.4te 21:41:13 Start loop(ENTER) 21:41:20 ->startloop indented one tab, current lien on one tab 21:41:34 there isn't a loop instruction 21:41:42 oh 21:41:46 i copied the examplenotanexample 21:41:46 xD 21:41:47 it just indents the line number into a one-tab margin and the rest of the statement after it 21:42:06 100110 LET 110=110+3 21:42:08 109 LET 100110=108 21:42:09 110 PRINT "Looping...": LET 108=108+3 21:42:17 that's how you do a loop in Forte 21:42:29 ais523: the 10 rem won't highlight properly 21:42:29 btw 21:42:49 oh, because of the embedded colon-newline in the comment 21:43:01 Emacs does that for other langs too, though, like // this is a C comment over 2 lines \ 21:43:07 this is also a C comment 21:43:21 doesn't highlight the second line 21:43:23 hm 21:43:25 emacs sucks 21:43:26 :P 21:43:41 out of all the syntax higlighters I've tried, Kate's seems to be best 21:43:46 but Emacs has better indentation 21:44:44 ais523: the forte constants is: 21:44:49 map Integer -> Integer 21:44:55 default=[1=>1,2=>2,...] 21:44:56 right? 21:44:58 yes 21:45:00 and the key integers never morph 21:45:09 all integers can morph 21:45:20 but generally it's a stupid idea to change the important ones like 1 21:45:25 ais523: so wait, the keys '1' and '2' could morph in that default? 21:45:28 so if i did 21:45:30 LET 1 = 2 21:45:32 it would become 21:45:37 default=[2=>2,2=>2,...]? 21:45:41 i highly doubt it 21:45:42 it would become 21:45:46 default=[1=>2,2=>2,...] 21:45:49 oh, yes 21:45:53 if you think about it like that 21:46:07 it may be easier to think of it as map String -> Integer 21:46:16 default=["1"=>1,"2"=>2,...] 21:46:21 yes 21:46:23 except that that is misleading 21:46:26 exactly 21:46:30 because every pair of parens triggers an extra conversion 21:46:31 my parser will parse the numbers as Integer 21:46:44 ais523: does this work 21:46:45 as in: 21:46:45 LET (2+2) = 5 21:47:11 yes, according to the spec 21:47:18 or at least it would do if you remembered to give the line number 21:47:29 ais523: so I relaly need a map of expr->expr 21:47:35 because presumably '4' wouldn't result in '5' 21:47:38 just 2+2 21:47:42 and what about (2+3)-1? 21:47:48 no: 21:47:53 10 LET 4=5 21:47:57 20 PRINT (2+2) 21:47:59 will print 5 21:48:04 ais523: Okay, what about: 21:48:05 so will (2+3)-1 21:48:10 10 LET (2+2)=5 21:48:14 20 PRINT ((2+3)-1) 21:48:23 you get the answer 5 21:48:31 an integer becomes completely unusable once it's been redefined 21:48:31 ais523: okay, so EVERY operation has indirection 21:48:33 -!- Sgeo[College] has joined. 21:48:37 Hi all 21:48:59 it becomes quite interesting because once an integer's been redefined, you can never use that integer's original value again 21:49:06 ais523: what is forte's (1/0) 21:49:08 and can I do 21:49:11 LET (1/0) = 4 21:49:14 PRINT (1/0) 21:49:30 1/0 isn't treated sensibly by the interp I came up with 21:49:34 probably it's just an error 21:49:47 although making it a constant that can be assigned to would probably be more interesting 21:49:56 maybe I should add 'nullity' too... 21:50:01 lol 21:50:08 ais523: what would my example do 21:50:31 whatever dividing by 0 does in Perl 21:50:39 okay 21:50:40 probably die with an error 21:52:00 it's probably also worth pointing out that the reference interp tends to go into an infinite loop if there are any errors in the original program, because I don't check for them, and likewise the language will infinite loop if no explicit END statement is given 21:52:35 also worth mentioning that the line numbers are the only things that effect the order in which lines are run, and yes, they're indirected to 21:52:38 s/to$/too/ 21:53:26 so you loop by redefining the numbers of earlier lines to have higher values so they're after the present line... 21:53:27 type Program = M.Map Integer Statement 21:53:30 :P unsorted programs 21:54:28 INPUT. This works like LET, except that the redefinition of the number is taken from the input, not from an expression. The expression gives the number to redefine. 21:54:28 GET. This works like INPUT, except that it inputs a character and redefines the number given by the expression to its ASCII code. It inputs 256 on end-of-file. 21:54:37 ais523: so INPUT takes a decimal number? 21:54:41 yes 21:54:52 I believe it's completely unusable, sort of like gets in C 21:55:11 because there's no restriction on what numbers the user can input 21:55:23 GET and atoi code are more useful in practice 21:55:31 ais523: if i 'LET 3 = 4', then get the input '3', is it redefined as '4'? 21:55:53 LET 3 = 4 21:55:58 INPUT 5 21:56:06 will set 5 to 4 if the user inputs '3' 21:56:13 and I'd remembered to put line numbers in 21:56:27 there's no way to use an integer once it's been redefined... 21:56:52 okay 21:57:00 ais523: so even LET's lhs has the indirection? 21:57:09 yes 21:58:58 putInt :: Integer -> Integer -> Forte () 21:58:59 putInt a b = update (\m -> M.alter (\_ -> b) a m) 21:59:01 tee hee 21:59:06 ais523: what about 21:59:09 LET 5 = 1 21:59:14 LET 4 = 2 21:59:16 err 21:59:16 wait 21:59:17 no 21:59:19 LET 5 = 1 21:59:21 LET 1 = 2 21:59:22 PRINT 5 21:59:28 you get 2 21:59:36 ais523: so i need to iterate my finding 21:59:43 yes 22:01:18 BTW, looking at the interp working can be quite interesting 22:01:35 if you change all occurrences of 'next' to 'next and print' you'll be able to see what it's doing 22:02:18 ais523: welp i have getInt/putInt written 22:02:49 ais523: gosh, the main loop will be hard 22:02:50 xD 22:16:52 -!- ais523 has quit ("going home"). 22:21:28 Shit. For some reason, input doesn't work anymore. 22:21:39 SlereahShit. For some reason, input doesn't work anymore. 22:21:48 You certainly said something successfully 22:22:05 Yes, but not on the lazy bird! 22:22:37 Hm. 22:22:47 Ah. 22:22:48 UnboundLocalError: local variable 'c' referenced before assignment 22:23:22 lazy bird? 22:24:46 Sgeo[College]: HMM LET'S THINJK 22:24:51 OH COULD IT BE AN ESOLANG?? 22:24:54 WEIRD IDEA. TOTALLY. 22:24:58 :| 22:26:18 Bye al;l 22:27:32 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client"). 22:28:42 Challenge: 22:28:51 write the shortest C program that interprets a turing complete language. 22:28:52 Anything goes. 22:29:34 OISC? 22:29:53 Slereah: Hardly; a brainfuck interp would be shorter. 22:30:00 Orly? 22:30:16 Well, a bitchanger would be even shorter :o 22:30:29 * faxathisia checks the wiki for something to try 22:30:50 I never tried to make an OISC interpreter, but it doesn't seem bigger than BF to implement 22:31:10 lol 22:31:14 remember GOTO++ 22:31:19 Abject oriented programming 22:32:04 oh btw -- doesn't have to be valid ansi 22:32:08 it can be broken k&r if you want 22:32:10 as long as it compiles 22:32:46 oh; and it can be non-turing-complete due to e.g. integer/array limits 22:32:57 It would be hard otherwise! 22:33:02 but if a platform had infinite arrays and ints; if the program was TC; then it's ok 22:33:06 Slereah: well, no. realloc() 22:36:33 mwahaha: 22:36:34 l(i){R i=getc()?i?getc()+l(i);} 22:36:42 faxathisia: are you that evil?! 22:37:00 er 22:37:02 s/second?/: 22:38:43 no :( 22:38:51 I don't even know what that does 22:39:01 faxathisia: well, its tweaked a bit now 22:39:03 current semantics: 22:39:08 it reads a character 22:39:12 if it's \0, 22:39:25 then it reads one character, subtracts one from it, and adds it to (RECURSE) 22:39:26 otherwise, 22:39:31 it returns the character minus one 22:39:53 faxathisia: basically, it lets me read in trivially as chars (i.e. no bounded buffers) but get anything that can fit into an int 22:39:55 for example: 22:40:04 00 02 00 02 02 22:40:13 is (2-1)+(2-1)+(2-1) 22:40:15 so, it's 3 22:40:55 the language is called 'onest' 22:40:57 a pun on 'forth' 22:42:04 language ext=.1st 22:43:56 er 22:43:58 s/getc/getchar 22:44:21 l(i){R i=getchar()?i-1:getchar()-1+l(i);}main(a){R l(a);} 22:44:26 current interp. 22:44:31 o_____o 22:44:36 faxathisia: it doesn't run anything yet. 22:44:37 of course. 22:44:41 I think I will be beater but trying anyway 22:44:49 % ./onest < 3.1st; echo $? 22:44:49 2 22:44:52 talk about off-by-one errors.. 22:50:39 faxathisia: ok 22:50:45 take a look at my official reading routine :P 22:50:46 l(i){R(i=getchar())?i-1:getchar()-1+l(i);} 22:51:09 (R is return) 22:51:15 let me expand that: 22:51:49 l(i){i = getchar(); if (i) { return (i-1); } else { i2 = getchar(); return (i2-1)+l(i); } } 22:51:51 ehird: for your main loop: findMinWithKey . snd . split currentLineNo $ currentProgram 22:51:56 faxathisia: basically, the i perameter is ignored 22:52:10 faxathisia: it is just so we can assign to an integer variable (params default to int, remember?) without a declaration 22:52:18 and we do l(i) to pass along an int to assign to, etc 22:52:20 er wait 22:52:24 haha 22:52:26 main() calls l with argc, which is good enough, since it's ignored 22:52:28 sweet 22:52:35 *minViewWithKey 22:52:54 *fst . 22:52:58 faxathisia: and i believe main() will be recursive 22:53:10 I couldn't have main recursive :[ 22:53:15 why not 22:53:21 * faxathisia boots with main(g,v){l(g,1[(char**)v]);} instead 22:53:31 that is pretty hardcore 22:53:32 heh 22:53:37 because I want to iterate argv[0] 22:53:39 but ... why are you casting? 22:53:44 opps I mean argv[1] 22:53:45 that's just a warning! 22:53:59 1[v] should work hunky dory, i think 22:54:08 that is: fmap fst (minViewWithKey . snd . split currentLineNo $ currentProgram). i think. 22:54:32 faxathisia: all my functions take an implicit integer parameter to assign to 22:54:32 XD 22:54:41 my execution function starts: e(i){i=l(i);... 22:54:42 main(int g,char**v){l(g,1[v]);} 22:54:42 main(g,v){l(g,1[(char**)v]);} 22:54:47 that's why 22:54:54 main(g,6 --- quit: timotiis ("leaving") 2008-02-22: 00:51:13 -!- Sgeo has joined. 00:52:11 -!- Tritonio_ has joined. 00:55:30 Notice to anyone who's been using Domain 0x08: Spec changes coming soon! 00:56:17 This will affect anyone using Net::makeserversocket, Net::urlget and Net::urlpost 00:56:24 Thank you for your cooperation 00:56:37 lol 01:01:18 -!- ehird has quit ("Leaving"). 01:06:48 -!- uvanta has quit ("php you!"). 01:06:51 -!- pikhq has quit ("Going down for new kernel."). 01:07:11 -!- ehird has joined. 01:09:08 re ehird 01:19:21 Anyone like the idea of BF-CHAT? A chat protocol for servers and clients written in BF? 01:19:52 I wouldn't chat on it. 01:20:01 Sgeo, what does "re" stand for? 01:20:15 re = rehi 01:20:23 rehi? 01:21:10 what's that? 01:21:25 re hello? 01:21:48 It's like "welcome back". 01:21:55 It is a repetition of hello. 01:22:18 you use "re" instead of "hello"? 01:22:36 "re" instead of "wb" when someone reconnects from a disconnect 01:22:42 oh ok 01:23:43 it's just that "re" is a greek word that doesn't mean anything special but fits nicely when beggining a message like "re ehird". :-) 01:23:57 something like "hey" 01:29:34 Sgeo: nobody likes that idea, by the way. 01:29:45 ehird, wha? 01:29:46 it's pointless. and not interesting. 01:29:55 let's put it this way: in which way is it interesting? 01:30:20 * Sgeo shrugs. It would be a chat protocol that non-geeky people really wouldn't use 01:30:28 And it's a cool PSOX demo 01:30:35 Sgeo, yeah just use IRC 01:30:39 I thougt 01:30:45 it would be a chat protocol that NOBODY would really use!! 01:30:53 and i'm pretty sure #esoteric has only geeks. 01:31:07 and it's not a cool PSOX demo beacuse it just represents more of the same psox crap 01:31:13 Anyone want to write an IRCd in BF? 01:31:30 no!! you take our criticisms far too specifically! 01:31:35 it's not the details, it's the ROOT IDEA 01:31:41 it's POINTLESS, and it's just NOT INTERESTING 01:31:59 ehird, so you're abandoning SOXP? What about a GUI domain? 01:32:28 SOXP is not a main project. I may code some relatively interesting bits 01:32:35 instead of writing a bloody ircd 01:33:08 What about writing a GUI domain for PSOX? 01:34:17 ITYM soxp 01:34:21 and, mildly interesting 01:34:39 ITYM? 01:35:55 i think you mean 01:36:42 You know, if SOXP has a compatibility layer for PSOX domains, you could write it for PSOX and it will work with both..\ 01:37:55 why would i want to write that? 01:38:19 Finished product sooner that would also work with newer technology? 01:38:20 -!- faxathisia has quit ("If there are any aliens, time travellers or espers here, come join me!"). 01:38:50 Sgeo, i could do it in fbf... :-P 01:39:27 i mean the irc client 01:40:25 Coolness 01:42:24 Net::socket is going to return a success byte, btw 01:42:39 ? 01:42:51 Function 8.0 01:44:21 well i still have no idea how psox works. i am reading the documentation now 01:45:12 but it's to late. and in 7 hours i must be sitting on a chair taking a test in computer architecture. (sleep included) 01:46:07 gnightttttt 01:46:19 Bai 01:46:20 G'night Tritonio_ 01:55:42 -!- pikhq has joined. 01:58:14 -!- ehird has quit ("This computer has gone to sleep"). 02:00:24 re pikhq 02:09:18 -!- puzzlet has joined. 02:09:39 -!- puzzlet_ has quit (Remote closed the connection). 02:15:25 Oh shi- 02:15:36 I just noticed what's wrong with my IO 02:15:42 Hmm? 02:16:15 Well, the input converts to church numerals 02:16:28 But the program makes an invalid expression. 02:42:46 http://trac2.assembla.com/psox/changeset/88 02:49:32 Slereah, pikhq? 02:49:46 Yes? 02:50:16 Comments on what I just posted? 02:50:20 -!- GreaseMonkey has joined. 02:50:34 I bet that if I had 3D glasses, it would be awesome. 02:50:40 This was my comment. 02:50:46 lol 02:50:49 Hi GreaseMonkey 02:51:14 'lo 02:51:29 GreaseMonkey, comments on http://trac2.assembla.com/psox/changeset/88 ? 02:51:48 GET 3D SPECS GREASEMONKEY 02:52:01 i'd love to 02:52:09 bzflag supports them 02:52:44 Sgeo: svn checkout link? 02:53:06 oh, and wtf is all that @blah shit? 02:53:17 svn co http://svn2.assembla.com/svn/psox/trunk 02:53:24 cheers 02:53:25 GreaseMonkey, Python decorators 02:53:43 which version were they introduced into? 02:53:48 i have python 2.4 02:53:55 I think 2.4, not sure though.. 02:53:57 although a 2.5-beta if i'm stuck 02:54:24 2.4 03:05:45 Does PSOX need SSL support/ 03:05:46 ? 03:07:09 No, let some Brainfuck coder implement SSL. 03:07:10 ;p 03:09:20 Is that even possible over ordinary sockets? 03:10:20 it should be. 03:10:49 also, i second pikhq. 03:11:08 pikhq, what do you think of my spec changes? 03:12:16 Sgeo: No thoughts ATM. 03:12:34 My weekends are much more likely to be used for PSOX. 03:13:35 Also, I'm thinking that the file I/O domain should contain a mkdir&cd function.. 03:13:45 Of course. 03:14:06 I mean a combined function 03:14:25 Maybe a cd function with an option to make the directory if it doesn't already exist 03:17:40 * GreaseMonkey thinks we should implement this... http://catseye.tc/projects/didigm/doc/didigm.html 03:53:20 * Sgeo makes another commit 03:54:17 and another with the fix for online.b 04:02:12 -!- Corun has quit ("This computer has gone to sleep"). 04:17:11 pikhq, what's the story with PEBBLE2? 04:17:51 Nothing ATM. 04:18:02 Except that I'm struggling to get myself to do much of anything. 04:18:13 Maybe in a month? 04:18:45 I have taken month long hiatuses wrt PSOX 04:18:55 It's kinda depressing, though. . . 04:19:04 PEBBLE1 had functioning code within 24 hours. 04:19:11 Not the greatest, but it worked. 04:24:54 I wish I had that sort of productivity 04:25:12 Which is more complex, PEBBLE1 or PSOX? 04:25:15 * Sgeo feels lame 04:30:21 pikhq? 04:31:38 Dunno. 04:31:54 My *initial* implementation of PEBBLE was a hell of a lot simpler than PSOX. . . 04:32:01 Modern PEBBLE? 04:32:15 I dunno; I'd say it's a bit more complex than PSOX. 04:32:17 *shrug* 04:33:20 * Sgeo feels lame for taking so long to get out a working implementationm 04:33:29 Also, I'm afraid I might never overhaul PSOX.py 04:33:34 Don't; I spent ages on my PEBBLE1 rewrite. 04:33:46 Which is quite complex. ;) 04:36:03 * Sgeo wonders what sort of things would go into PSOX 1.1 04:36:11 Exceptions would be cool 05:34:17 -!- immibis has joined. 05:37:07 hi immibis 05:38:56 hi 05:39:49 I made a change to the domain 0x08 specs 05:40:11 http://trac2.assembla.com/psox/changeset/88 05:40:21 http://trac2.assembla.com/psox/changeset/88#file1 05:43:41 immibis, thoughts? 05:50:16 what is it? 05:50:57 i see...it's a diff...but what good is it to me 05:53:36 although if i were you i wouldn't change function numbers like that -- it breaks compatibility 05:56:06 Well, there's not much current content out there 05:56:15 >.> But I guess in general it's a bad idea 05:59:58 -!- oerjan has quit ("leaving"). 06:11:23 -!- olsner has joined. 06:21:18 -!- cherez has quit (Read error: 110 (Connection timed out)). 06:29:32 -!- cherez has joined. 06:46:41 -!- olsner has quit. 06:47:34 -!- olsner has joined. 07:18:35 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:18:25 -!- immibis has quit ("NickServ (GHOST'ed by gravisan"). 08:53:32 -!- GreaseMonkey has quit ("Read error: 110 (Connection chickened out)"). 12:01:31 -!- Corun has joined. 12:13:04 -!- timotiis has joined. 12:25:58 -!- Corun has quit ("This computer has gone to sleep"). 12:46:09 -!- Tritonio_ has quit (Remote closed the connection). 14:07:18 -!- timotiis has quit ("leaving"). 16:49:01 -!- ais523 has joined. 17:03:36 -!- uvanta has joined. 17:08:30 -!- ehird has joined. 17:40:24 So: 3+4 = 2 17:41:16 I disagree. 17:41:25 Prove me wrong. In ternary. 17:42:13 3 and 4 do not exist in ternary 17:44:26 -!- Sgeo has joined. 17:44:41 No, prove that in its decimal form wrong; using ternary 17:46:08 I think I'll have a mkdir fucntion with optional cd, as opposed to a cd function with optional mkdir.. 17:46:21 10 xor 11 = 01 17:46:40 Hm. Wait. 17:46:49 How do I do addition with ternary symbols. 17:47:00 3 + 4 = 7. 17:47:02 Thar. 17:47:43 Slereah, ehird, any comment on what I just said? 17:48:37 Two thumbs up, go for it. 17:49:39 Has anyone heard of Linux? It’s a new kind of Windows, but it’s free. I’ve read up on it, and it seems that it’s created and supported by ultra-liberals. Its creator, Richard Stallman, is even a satanist. 17:49:39 They call themselves “hackers”, and their aim is to destroy every big company, everything that is conservative. I can’t tolerate this sort of persecution. The LORD himself was a conservative and he was nailed to a tree for it. It won’t be long before all of us are crucified too if Linux succeeds. 17:49:41 :D 17:50:37 Slereah: I wonder how many people took that seriously? 17:50:38 :P 17:50:44 Sgeo: why not two functions 17:50:49 GOSH IT'S SO OBVIOuS (!!) 17:50:50 Slereah, where's this? 17:51:00 http://www.fstdt.com 17:51:01 ehird, what use is there for a CD that might error? 17:51:13 I think it's more useful as a combined function 17:51:18 Sgeo: Ask all the people who wrote sane shells. 17:51:35 You don't know how basic filesystem operations would work; they know more about that kind of stuff than you (as a rule of thumb for any programming by anyone) 17:51:42 Slereah: ah, that's bad ... i think it's satire 17:51:57 It's always hard to see where the trolls are 17:52:35 trolling != satire 17:56:16 ehird, what use is there for bf to be calling a cd command? 17:56:47 I'd think that a BF program would want to attempt to switch to a directory, and make it if it doesn't exist 17:58:00 Also, are most BF interps wrapping? If not, how does one do if(cell==5) for example without wrapping? 17:59:00 not wrapping as in "crashes if you go below zero?" 17:59:13 or not wrapping as in doesn't wrap 17:59:26 in the latter case, no different from a wrapping solution 18:00:11 Sgeo knows nearly nothing about what real-world program do, or what most brainfuck interpreters do, or how to write tons of algorithms in it, yet he advertises PSOX as the way to write 'real programs' in brainfuck. 18:00:12 :-| 18:00:15 oklopol, how could it be no different? 18:00:41 Hell, I don't either! 18:00:53 That never stopped me from coding shit 18:01:20 Sgeo: it just isn't any different, too trivial to explain 18:01:29 ----- 18:02:04 That doesn't distinguish between 5 and 4 in nonwrapping, afaict 18:02:11 Slereah: It stopped you from coding something which is intended to be used to write large Brainfuck programs, though, 18:02:31 Sgeo: lolwut? 18:02:34 Sgeo: always check for larger numbers before smaller 18:02:35 duh 18:02:47 * ehird is incredibly sad of how ignorant Sgeo is of brainfuck algorithms 18:03:20 It didn't stop me. What stopped me is the fact that I don't want to :o 18:03:20 Sgeo: WHAT 18:04:04 For GUI BF applications, which would be better: A lot of ifs in a loop, or the program checking one element, then another, etc? 18:04:12 I'm thinking the first option 18:04:15 Opinions? 18:04:42 Sgeo: i suggest you work out how to code in brainfuck first. 18:04:48 Sgeo: my opinion is you should explain why it does not distinguish between 4 and 5 18:05:42 oklopol, um, wouldn't nonwrapping noncrash mean that ----- when it was at 4 make it zero, or am I misunderstanding "nonwrapping noncrash"? 18:05:58 ohhh 18:06:08 well 18:06:28 making - a nop if the current cell is zero would essentially be the same as crashing 18:06:31 neither makes any sense 18:06:49 oklopol: and besides, if you check higher numbers before smaller, you have no problem 18:06:52 So by nonwrapping you meant it goes negative? 18:07:04 yes. 18:07:06 oh 18:07:28 What happens when you . a negative? 18:07:31 oklopol: saturating on decrement at 0 is reasonably sensible behaviour 18:07:37 it makes less-than really easy to write 18:07:48 hmm 18:07:56 i don't approve of it 18:08:02 * oklopol prepares his chainsaw 18:08:20 Sgeo: everything is implementation defined 18:08:22 always 18:08:45 How many implementations crash on negative, and on those, how would you do if(cell==5)? 18:08:45 speaking of which, there's no active esolang standards comitte 18:09:01 as soon as we come up with a good acronym, let's start one! 18:09:04 :p 18:09:08 * ais523 wants to be on it 18:09:15 Sgeo: those are not brainfuck. 18:09:18 ais523: but of course 18:09:37 Sgeo: i used to use this thing called Blue Fern, killed my brainfuck interp in brainfuck with its "crash on decrement zero" 18:09:39 i would even go to say that just 'brainfuck' is 30,000+ cell, 8-bit, wrapping brainfuck 18:09:40 Esoteric Standards Organisation would be ESO, which is nicely self-referential 18:09:57 ais523: let's add TERIC to that 18:10:22 So it's easy enough to do IFs? 18:10:37 Should I go with the first option I mentioned, or the second? 18:10:38 Esoteric Standards Organization: Tier-based Evil Recursive Induction (Crap) 18:10:39 Sgeo: shure 18:10:40 ais523: :D 18:10:51 Let's work on the Brainfuck Standard Eso 0001 18:10:58 Let me find a tie first. 18:10:59 hay, Slereah 18:11:00 slow down 18:11:00 :( 18:11:07 I don't have a tie, so I'll use a bandana. 18:11:07 EOF will be the major problem 18:11:16 no matter what we decide on someone will be disappointed 18:11:18 ais523: haha, if we use ESOTERIC we can't have our own channel 18:11:28 ok 18:11:30 #ESO 18:14:10 1337 it 18:14:13 #350 18:15:08 we should make something like projecteuler.net for esolangs 18:21:52 -!- otesanek has joined. 18:33:55 -!- otesanek has left (?). 18:38:25 Just to be sure, BF programs can print 0xFF? 18:39:04 Isn't it a blank character anyway? 18:39:16 yes, they can, generally speaking 18:42:57 * Sgeo goes to make some optimizations to the BF interp 18:43:01 not BF interp 18:43:03 PSOX interp 18:43:17 Should make importing domains MUCH faster 18:43:30 At the expense of a tiny bit of ugliness 18:46:57 Just replacing FNUM(1) with FNUM1 19:11:52 -!- wildhalcyon has joined. 19:12:18 Sgeo: younger programmers might get the wrong idea, watching you take it seriously. 19:12:21 Hi wildhalcyon 19:12:27 Hi Sgeo 19:12:53 Sgeo: it's true.. 19:12:54 Hi. 19:12:57 you make brainfuck sound useful 19:13:05 or even interesting beyond the initial 'hey, that's awesome' 19:13:06 -!- Slereah has changed nick to slereah_. 19:13:11 the last interesting program was mandelbrot.b or life.b 19:13:20 Brainfuck isn't about usefulness. 19:13:23 lostkng.b was pretty cool, but not that much (it's a good stress test) 19:13:25 It's about sweat and blood! 19:13:49 brainfuck is not useful. Interesting or fun, perhaps, but not useful. 19:13:57 It's about having a short TC language to make interpreters out of. 19:13:59 wildhalcyon: sgeo is trying to make it useful 19:14:14 because ooh, aah, you can write a web page or an irc bot in BRAINFUCK! ooh, aah 19:14:20 "Like gluing auto parts on a skateboard" 19:14:28 -!- BrainF has joined. 19:14:28 Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . 19:14:28 -!- BrainF has quit (Client Quit). 19:14:35 slereah_: Exactly! daniel has it right. 19:14:47 Sgeo: wow, great way to prove my point 19:14:58 HOLY SHIT, THE BRAINFUCK, IT TALKS! 19:15:09 Just because it CAN do something doesn't mean it should... 19:15:34 Sgeo: thinking about extending that? 19:16:26 -!- slereah_ has changed nick to Slereah. 19:16:36 oklopol, hm? 19:17:18 want me to define 'extend'? 19:17:39 i meant, make it actually do something 19:17:57 I'm not skilled enough in BF for that 19:18:31 you don't learn if you don't try 19:18:39 anyway, i'll be doing some going now -> 19:18:51 Bai 19:19:44 later 19:20:10 Has anyone here worked with the befunge-98 fingerprints? 19:20:36 I've run funge-98 code that uses them, but didn't write the source code 19:20:43 or take more than a passing glance to see what it was doing 19:21:13 Hmm, alright 19:22:38 wildhalcyon, PSOX has a somewhat similar idea 19:23:25 erm, actually, not really, something more analygous to handprints is there, but not fingerprints I think 19:23:35 Yeah, but its not embedded into the language. Its only available for I/O. 19:25:53 Okay, I get it 19:26:08 Yeah, the handprint thing is nice for befunge 19:28:01 ehird, ais523: re the discussion in ESO: One thing that would make it incompatible with everything currently existing would be that you do ,, per char, the first one is 0x00 if there is an EOF, 0x01 otherwise, the next one is the char, or 0x00 if there was EOF 19:29:12 Sgeo: that's psox semantics. 19:29:13 gtfo :P 19:29:37 It's unambiguous 19:29:55 ofc, you probably couldn't call it BF then.. 19:31:37 isn't ESO the esoteric operating system? 19:32:22 it could be both 19:32:26 the more ambiguity the better 19:32:58 ESO is ESO compatible. 19:33:03 As decided by ESO. 19:33:06 Slereah: YES! 19:33:07 :D 19:48:46 so what is ESO? 19:49:18 Esoteric Standards Organisation. 19:53:25 Oh 19:53:28 ouch 19:53:45 wildhalcyon: 'ouch'? 19:54:01 it sounds so.. official 19:54:05 brainfuck, at least, needs standardisation so we can finally get rid of that EOF problem 19:54:07 What GUI thingy should I use for a PSOX GUI domain? 19:54:10 wildhalcyon: That is totally the point! 19:54:11 :D 19:54:22 and IMO we need a base INTERCAL standard to deal with the proliferation of various features since INTERCAL-72 19:54:23 There is no EOF problem for BF programs using PSOX 19:54:24 We are even going to have a domain, with email addresses using full names. 19:54:32 and write it using XML, with xml2rfc 19:54:37 sort of like C, which had a de facto standard for a while and was finally cleaned up 19:55:51 The standard barely saved C. 19:56:21 C was in serious danger of losing its personality and devolving into a horrible mish-mash of parts and pieces. 19:56:28 .. which is what happened in the end anyways 19:57:09 I don't fear much for Brainfuck becoming a mish mash. 19:57:24 Even PSOX will not soil its purity! 19:57:27 stupid Windows... I insert a USB stick, it spends ages doing something or other before it recognises it, then pops up a balloon saying how clever it's being installing drivers, then /while it's doing that/ I save my file to the USB stick, and then after that it tells me I need to restart my computer to be able to use the USB stick 19:57:56 wildhalcyon: #ESO -- come and make sure we don't do something evil? :P 19:58:50 ehird, I will only come to help you do something evil 19:59:05 OK, good point 19:59:29 ais, I'm afraid windows is a rather... dimwitted individual 19:59:59 If it was smart, it would either recognize that it doesn't need to install anything, or it wouldn't let you touch it until it finished installing 20:00:09 wildhalcyon: I'm aware, the reason I'd plugged in the USB stick was to transfer files to my Linux laptop 20:01:46 I know, I just like poking fun of windows 20:01:59 so do I 20:02:12 Hmm, I think chatzilla hates me 20:04:55 ais523: I had Forte's idea for years before I even heard of esolangs 20:05:02 I just wondered what would happen if you could assign numbers to other ones 20:05:21 some Fortran interps could do that, but didn't take it to its logical conclusion 20:05:36 i think it might be one of those things that everyone thinks of 20:05:37 of course, BANCStar also allows that, for twisted reasons of its own 20:05:43 like the 'what if everyone else sees colours different from anyone else?' 20:05:45 and it isn't even an esolang, technically speaking 20:05:49 i have not met one person who didn't use to think that 20:10:29 darn it 20:12:21 Bah 20:13:39 wildhalcyon: Bahrn it. 20:13:56 Yes, hybrid curse words are the best\ 20:15:24 What a gosh darned cunt! 20:16:48 That's the way to tell 'em 20:24:20 So, even though I don't have anything hard to show for it, I've come up with a name for my project 20:28:07 wildhalcyon: what is it? 20:29:12 Names are important. 20:29:17 They're hard to come up with. 20:29:24 Just look at NTCM! 20:29:29 I have names for most of my esolangs 20:29:31 Even I don't call it by that name. 20:29:50 but I have a strange aversion to using them in public before the lang is 'officially' released 20:30:02 and just talk about 'my uncomputable Prolog-like language' or whatever 20:30:12 sorry, had to step out :-) 20:30:19 My project name is NeuroNIX 20:30:29 * Slereah launches a Prolog program in a Hogart space time 20:30:32 the name sounds like it's a neural-network operating system 20:30:40 that's the idea 20:30:48 but its not a neural network in the strict sense 20:30:55 * ais523 would like to see that 20:30:58 Its just a grid of fungeoid processors 20:31:15 so its networked LIKE neurons... sort.. of... 20:31:27 makes sense 20:31:56 I really just liked the name 20:32:06 so do I 20:32:08 and I too would like to see a neural network operating system 20:41:18 http://www.esolangs.org/wiki/Text 20:41:20 Meh. 20:42:50 Slereah: that's not 2d 20:43:24 Nah. It's just the last article 20:59:32 I would debate whether the authorship of that language was correct 21:00:04 Ahah, it works! 21:00:19 Now, my 2,3 machine display random characters instead of three! 21:01:09 one of my favourite quines (a UNIX executable): 21:01:12 #!/bin/cat 21:01:14 Alright, I gotta head out. Good luck in your endeavours 21:01:16 it works in Perl too. 21:01:41 -!- wildhalcyon has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.11/2007112718]"). 21:06:42 I don't know how ls listings should be expressed in PSOX :/ 21:23:20 Hm 21:23:37 How would Taxi work with PSOX? Reading in involves reading a line.. 21:26:38 I guess I could provide a loopback function.. 21:39:59 : If any of you have a gripe with the name 'eso-std.org' or a suggestion for a better one, PLEASE INFORM ME 21:40:39 er, CLARIFICATION: the domain name eso-std.org, not the org name (Esoteric Standards Organization) 21:43:42 ais523: oklopol: Slereah: Sgeo: : LAST RFC ON THE DOMAIN NAME... 21:43:51 eso-disease.org? 21:43:56 >.> sorry 21:45:25 Sgeo: do you have any objections or suggestions for a better name than eso-std.org? 21:45:41 other than maybe eso-standard.org not really 21:45:48 * Sgeo is ok with eso-std.org 21:45:56 std seems better, like open-std.org 21:46:02 (can't remember whether that has a hyphen or not) 21:46:15 eso-standard.org looks kinda ugly 21:46:34 * Sgeo agrees with ehird 21:46:36 and ais523 21:51:39 ais523: should we use a more general name for eso-std.org? 21:51:44 since it will house non-standard-related things too 21:52:10 that's an interesting point 21:52:24 I'd kind of prefer to have it like the w3c, which also hosts validators, etc. 21:52:31 but is a standards org really 21:52:45 ais523: well, it also has repos 21:52:46 after all, reference interps are part of the standardisation process 21:52:48 and implementation's sites 21:52:49 and pastebins 21:52:50 etc 21:52:57 ais523: yes, but e.g. the underload compiler will be there 21:52:59 and that won't be official 21:53:21 it's not really official, more an informative annex 21:53:26 which aids understanding of the standard 21:53:33 i.e. "How this language can be compiled" 21:53:47 ais523: yes, but there will be stuff totally unrelated to standards there too 21:58:57 We will spend more on hospitals! 21:58:57 We will jail anyone not in jail already! 21:58:57 We will spend billions limiting immigration! 21:58:57 We will deport anyone we can deport! 21:58:57 We will abolish schools! 21:59:35 http://web.archive.org/web/20051218132142/http://chimpen.com/tory/ 22:00:24 that rules 22:04:44 it's just brainfuck though 22:05:29 Then again, what isn't in esolangs. 22:06:10 * ais523 is upset that so many thematic languages are based on BF, because many of them look quite interesting 22:06:26 How is Tory BF? 22:06:39 Sgeo: read the spec 22:06:39 Sgeo: http://web.archive.org/web/20060620231104/chimpen.com/tory/tory-spec.html 22:06:39 all its commands are the same, if you read the spec 22:06:43 just with different names 22:06:58 Oh, it's BF but doesn't acutally say so? 22:07:07 Read, write, forward, backward, increment, decrement, if and end if 22:07:17 Rest is NOP 22:07:22 while and end while, I think 22:07:31 so exactly , . > < + - [ ] 22:09:27 I wonder what non-BF equivelents can be compiled to BF 22:10:12 Well, it's TC. 22:10:13 anything computable with one input stream and one output stream that can arbitrarily affect and be arbitrarily affected by the program 22:10:27 that's the nature of TCness 22:10:44 (well, add in the requirement for I/O and you get what is often called "Brainfuck-complete" by esolangers) 22:10:49 tory does have increment-by-n though, so I guess it's rather a BF dialect 22:10:50 Heh. 22:10:55 How easy/difficult would it be to do so? 22:10:59 Sometime it's hard to add IO! 22:11:04 Depends. 22:11:17 olsner, only to the extend BF-RLE is a dialect 22:11:21 It's mostly about how close the concepts are. 22:12:03 Well, at least that's how I feel it. 22:14:27 Closing bits, at eso-std.org ... (last chance) 22:14:32 *bids 22:14:38 Sold! 22:15:07 ehird, ask on Sine? 22:15:33 Sgeo: Meh. Ok. 22:18:18 Slereah: Sgeo: no objections? 22:18:28 Not anymore than last time. 22:18:28 ehird, you didn't ask on Sine.. 22:18:31 I have no objections 22:18:40 Sgeo: eh, little point to ask on sine 22:18:44 oklopol: you? 22:18:51 olsner: random person -- you? 22:20:34 OK -- registering it. 22:21:00 Wait, now I have a million and one objection! 22:21:10 Too late. Doing it now. :P 22:21:27 Nooooooooooo 22:21:31 Well, no matter. 22:21:38 Slereah: any real objections? 22:21:44 Slereah: You misspellt Noooooooooooo 22:21:48 No. 22:21:51 k 22:21:57 DO NOT WANT 22:29:09 whois.sc/eso-std.org 22:29:20 Sgeo: shut up 22:29:22 i'm registering it 22:29:30 Sgeo: don't hit a whois, some people will try to register a website first if you do 22:29:36 Oops 22:29:42 god damnit. 22:29:49 clap, clap, clap 22:30:13 Register faster ehird! 22:30:16 of course, ehird had already put the request in, so is likely to get it first unless the registrar is really slow about it 22:30:16 They're after you! 22:30:17 But didn't you register it? 22:30:23 I am trying to 22:30:27 and not every whois site has domain parkers watching 22:30:30 the registrar's ordering system is loading slowly 22:30:32 just some of them 22:30:36 so no the request might not be in yet. 22:31:00 ais523, does whois.sc ? 22:31:07 whois.domaintools.com ? 22:31:09 no idea 22:33:40 ehird: random person -- me? 22:34:13 -!- ais523 has quit ("while this is all very exciting, it doesn't prevent me needing to go home. I'll see what happened tomorrow or maybe the day a). 22:41:02 -!- GregorR has changed nick to _D6Gregor1RFeZi. 22:41:08 _D6Gregor1RFeZi, what? 22:57:33 -!- Tritonio_ has joined. 23:11:51 Hi Tritonio_ 23:12:01 hi Sgeo 23:12:23 awesome 23:12:28 eso-std.org is myerierineirnernierniernierne!!! 23:14:00 -!- sebbu has quit (kornbluth.freenode.net irc.freenode.net). 23:14:12 What would be the best GUI toolkit for PSOX? 23:15:07 -!- sebbu has joined. 23:15:23 Hi sebbu 23:21:00 EVERYONE: 23:21:07 can you try eso-std.org to see if it starts loading sometime? 23:21:08 thanks 23:22:41 It does not seem to. 23:23:32 try pinging 23:24:18 I'm too ashamed to reveal that I don't know how to do it. 23:25:42 'ping eso-std.org' 23:27:11 afk 23:28:25 -!- Tritonio_ has quit (Remote closed the connection). 23:50:59 -!- cherez has quit ("Leaving."). 23:52:59 -!- cherez has joined. 23:53:35 -!- cherez has quit (Client Quit). 23:53:36 -!- cherez has joined. 2008-02-23: 00:01:14 Eso-std loads :D 00:03:40 \o/ 00:10:02 Slereah: wot it display??! 00:10:30 A bunch of folders, but I assume that's normal. 00:11:40 yay 00:16:18 <_D6Gregor1RFeZi> OK, Esoteric Sexually Transmitted Diseases. Intersting. 00:16:21 <_D6Gregor1RFeZi> *Interesting 00:16:39 Happened to me once. 00:16:49 I had sex with Alan Turing. 00:16:59 Then, bam. I had stacks. 00:17:06 Had to pop 'em. 00:18:00 <_D6Gregor1RFeZi> Be careful with that metaphor. 00:18:06 <_D6Gregor1RFeZi> Stretch it any farther and it just might tear. 00:18:52 It will take more than shame to make me drop it! 00:20:33 _D6Gregor1RFeZi: Esoteric standards, actually. 00:20:34 But nice try. 00:21:08 What will be the appropriate sentence for breaking the standards? 00:21:34 I feel it should involve Malbolge somehow. 00:39:07 Hm. 00:39:16 yelling at 00:39:20 and supplying a better interp 00:39:26 I've got this strange attraction to try scheme instead of Haskell. 00:39:31 It looks pretty. 00:39:35 Don't 00:39:41 Scheme doesn't have monads, for one. 00:39:47 For another, it's not *purely* functional. 00:39:49 Even better. 00:39:53 For another, it's not actually as pretty. 00:39:58 Slereah: Not if you want to make Lazy Bird work. 00:40:04 <_D6Gregor1RFeZi> The sentence for breaking standards should be an ice cream cake and a pat on the back. 00:40:11 I'm totally cool with side effects, dude. 00:40:11 And besides, Scheme isn't very nice for writing real apps. 00:40:12 Haskell is. 00:40:27 Slereah: You're not -- monads are the only way to solve IO in a purely lazy language like Lazy Bird. 00:40:54 What does Scheme use though? 00:41:05 <_D6Gregor1RFeZi> EVIL MAGIC 00:41:07 Slereah: Scheme isn't lazy. 00:41:13 Scheme is eagerly-evaluated. 00:41:15 D: 00:41:18 And it's not a functional language. 00:41:24 It has many functional features, but inside it's still imperative. 00:41:28 Oh. 00:41:30 You can mutate just about everything. 00:41:38 I thought it was, with Lazy K written in it. 00:41:43 No. 00:41:48 The lazy evaluation is coded by hand; there. 00:44:22 haskell is nice for writing real apps? 00:44:39 in my (very limited) experience, monads turn everything into an ugly mess. 00:44:50 YOU LIED TO ME EHIRD! 00:45:06 YOU TOLD ME IT WAS ALL BIKERIDES AND SUNSET! 00:46:21 lament: You lie! 00:46:31 Slereah: lament is just stupid; no bother! 00:46:31 :D 00:47:07 you get a big, ugly looking stack of monad transformers and have to constantly lift stuff 00:47:17 and when you need to add a new monad to the stack, oh, you're so screwed. 00:47:25 lament: rubbish 00:47:30 i've never encountered that 00:47:35 which part of that is not true? 00:47:35 you just write crappy haskell! :P 00:47:41 the part where you complained 00:48:33 big, ugly looking stack - unavoidable 00:48:33 constantly lifting stuff - unavoidable 00:48:52 screwed when you need to add a new monad - unavoidable. Unless you shove all monads into the stack in the beginning, just to be safe! 00:49:11 lament: very avoidable 00:49:15 which part? 00:49:18 Your code is just ugly. :| 00:49:26 lament: all of it. it's just a matter of design. 00:49:26 which part is avoidable? 00:49:29 that's not true 00:49:49 have you seen the picture of the monad stack for lambdabot? 00:49:59 lament: lambdabot code isn't ugly. 00:51:49 newtype LB a = LB { runLB :: ReaderT (IRCRState,IORef IRCRWState) IO a } deriving (Monad,Functor,MonadIO) 00:52:05 i suppose that's not so bad. 00:52:48 lament: that may look ugly, but the ACTUAL CODE that makes up lambdabot is not 00:52:55 and there's no huge-stacks-of-lift 00:53:08 besides, I count one transformer there. 00:53:17 yes, there were definitely more :) 00:54:06 lament: ergo, lambdabot code used to be bad 00:54:08 which was why it looked that way 00:54:15 but, once rewritten properly, it is fine 00:54:28 no, i mean there're more transformers there somewhere 00:54:48 but the part about me writing crappy haskell is definitely true. 00:54:59 it's hard, since there's no guides on writing good haskell! 00:55:59 -!- pjoter has joined. 00:56:00 lament: it's called #haskell! 00:56:06 & a functional mind, represented as a monad 00:56:12 i'm hungry 00:56:25 type Mind = ReaderT (RState,IORef RWState) IO 00:56:27 that should do it 00:56:49 hey thats not about programming machines is it!?? 00:57:12 i'm into the quest for ultimate wisdom darn it! 00:57:29 pjoter: uhh 00:57:29 what 00:57:37 c'mon... 00:57:40 oh, i see 00:57:42 #esoteric. 00:57:52 pjoter: your (presumably pseudoscientific) nonsense is that way ----> 00:58:13 cmon make this a spiritual channel NOW! 00:58:14 pls 00:58:17 From here, that arrows points to Sgeo. Though when I press enter, it will point... 00:58:27 mmmmh 00:58:33 ok lets talk about machines 00:58:37 * Slereah puts on his bandana 00:58:39 pjoter: no, personally i think spiritual crap is just that 00:58:52 others here may disagree though there seems to be a general scientific, agnostic/atheist bend around here 00:59:04 i would welcome it 00:59:09 ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 00:59:22 ? 00:59:26 pjoter: science works pretty well for me, you could try it. 00:59:34 (but no, it's far too much work trying to actually understand things, I assume) 00:59:41 are you so sure arrogant son of a ape? 01:00:02 Well, you seem to accept evolution. It's a start! 01:00:02 (no offense though) 01:00:15 i was referring to your dad 01:00:21 lol j/k i like machines too ;) 01:00:22 Nah, ehird is probably quite mild. 01:00:24 but hey cmon 01:00:32 i want some spiritual channel, where will i find it? 01:00:44 Aren't we spiritual and shit? 01:00:50 the problem with the world is we know nothing isnt it? 01:01:00 pjoter: freenode is not the place. 01:01:01 We were talking about the programming language of the universe yesterday! 01:01:05 freenode is mainly about -- as you put it -- 'machines' 01:01:14 Also math. 01:01:16 do you know the damn feeling of wanting to understand and realizing you understand just nothing? 01:01:17 And SCIENCE 01:01:39 Freenode is definately not much about spirits. 01:01:42 pjoter: Yes! This is why I critically examine and verify everything I see. It's better than just blindly believing something because it 'feels' true -- that's against what you just said! 01:01:51 i like that 01:01:53 Slereah: Shut up, I'm busy advocating SCIENCE! :< 01:01:55 but hold on 01:02:08 Can't I just ask a spirit to do my I/O? I don't understand monads :((( 01:02:15 Slereah: hehe 01:02:24 i wanna achieve some higher spirit, some insight which science obviously isnt able to grant me 01:02:34 you know that feeling, dont hide! 01:02:48 pjoter: 'obviously'? 01:02:48 Stop assuming things.. 01:02:48 And, why does a 'higher spirit' have to exist? That's another assumption. 01:02:50 If there's something wrong with your current state; fix it. 01:03:12 thats the frame you put on it 01:03:26 we all know that 01:03:31 its necessary somehow, ok 01:03:45 No.. This is what I honestly believe to be true, because it is the most logical explanation and I truly believe the scientific method is how the world can be explained. 01:03:45 but it aint all, we know that too at the bottom of our hearts 01:03:48 would you agree? 01:03:55 I'm afraid I wouldn't. 01:04:18 i dont say the scientific method is wrong at all 01:04:21 its just not enough 01:04:31 that makes no sense 01:04:35 why isn't it enough? 01:04:53 Heh. 01:05:02 Slereah: Seriously though. 01:05:06 A few years ago, I would have so jumped in. 01:05:11 I haven't heard one reason why it isn't enough. 01:05:18 i'll try 01:05:19 Apart from: 'well, we all feel it' 01:06:35 there are moments we take another look to the world, fractions of seconds only.. thats my experience, i cant grasp it, but i know i should concentrate my whole efforts to do so 01:07:00 pjoter: I think that's just general human paranoia. :P 01:07:11 you may condemn the "well i feel it" argument but on what else we base ALL our thinking in the last consequences? 01:07:19 ethics 01:07:19 (Well, fine. But whatever you do, just don't join scientology.) 01:07:20 moral 01:07:37 pjoter: Laws of logic which have withstood the critical test for eons. 01:07:54 for eons?? 01:08:09 i heard some different stories, though i dont wanna attack logic at all right now 01:08:10 -!- bd_ has joined. 01:08:19 -!- bd_ has left (?). 01:08:20 -!- bd_ has joined. 01:08:36 You also might not want to do it here. 01:08:38 bd_: Some context -- pjoter thought this was a channel about real esoterica, 'science vs non-science' abounds 01:08:41 topic is lies :( 01:08:43 we had a lot of struggle to actually end up here, and we're by far not out of flaws 01:08:48 and yes 01:08:50 topic is very much lies 01:08:58 mh topics are for wimps aint they? 01:09:13 ;) cmon you're the right guys , i feel that too! 01:09:30 pjoter: anyway, my opinion is that science gives real understanding. Other things (such as, well, esoterica) give comfort. 01:09:35 I know which one I would prefer. 01:09:44 ok lets end it now 01:09:55 tell me something about the language 01:10:09 what language 01:10:15 It won't have monads, I hope! 01:10:15 the esoteric language 01:10:24 Languages, pjoter. 01:10:25 esolangs.org/wiki/Language_list 01:10:26 pick one. 01:10:38 i heared that word monads four times now i guess 01:10:47 The big ones are Brainfuck, Befunge and Intercal. 01:10:47 pjoter: monads monads monads monads monads gonads monads monads monads monads 01:10:52 darn it 01:10:56 oh ok 01:11:08 brainfuck alike 01:11:18 Well, in concept at least. 01:11:20 hmm, incidentally I was just thinking about making an esolang with *only* monads (possibly with a type system... but I'm trying to figure out how to avoid *functions*) 01:11:38 and you tell me about sobriety and science? 01:11:54 j/k 01:12:00 Hell, ain't nothing as sobering as Brainfuck. 01:12:05 pjoter: I think I found your answer! http://www.thechurchofgoogle.org/ 01:12:18 olsner: haskell with the sk calculus? 01:12:26 bd_: that includes functions 01:12:28 lol i'll consider it 01:12:33 pjoter: uhh, it's a joke 01:12:34 :P 01:12:38 lool 01:12:41 he's warning me 01:12:43 i like that 01:12:48 ehird: well, I mean removing lambda in the same way as unlambda 01:12:57 no, SK would count as functions in this context IMO 01:13:08 the lambda calculus ever lacked of deeper esoteric concepts 01:13:14 we all know that 01:13:27 but arguably, this'd have to become a combinatory logic with monad-based combinators 01:13:33 thats just not how we perceive the world 01:13:46 pjoter: i guess you percieve the world as a turing machine then 01:13:59 a two banded yes 01:14:02 maybe that's why you're on this 'quest'... you can't see the beauty in the world as it is 01:14:06 Nah. Pjoter seems more of a recursive functions kind of guy. 01:14:14 my world is referentially transparent, it's just in a State monad 01:14:22 i just need to understand recursion to understand recursion 01:14:26 not now 01:14:54 olsner: my world is more finely-grained transparent than that 01:15:05 the Universe monad I have is very elegant 01:15:05 :-P 01:15:07 thats what you think! 01:15:53 no really i was lookin for some real esoteric channel and what i encounter? fellow machine servants.. isn't that ironic? 01:16:07 machine servants? 01:16:07 hehe. 01:16:11 I'm wetting my pants thinking of it. 01:16:19 (turing) machine servants? 01:16:21 Plus, we're not all machine servants! 01:16:28 what else 01:16:28 Some of us are more of a function servants 01:16:34 Your brain is good at generalizing thiings quickly to support the path you already chose for yourself, pjoter. All of ours are. Maybe you should think about that.. 01:17:02 did you know that actually all phenomena are directly or indirectly related to the number five, and this relationship can always be demonstrated given enough ingenuity on the part of the demonstrator? 01:17:12 -!- lament has set topic: You've reached this channel because the channel you tried to enter has been configured with join throttling (+J). There may be a monad attack in progress there, or simply unusually heavy interest. Please leave this channel and try again. Your channel may also be "identified-only" (+r); join #please_register for more information. If you need help, message a freenode staffer or email staff@freenode.net .... Thanks!. 01:17:16 Yes. 01:17:22 there we go 01:17:22 I read Illuminatus too! 01:17:36 pjoter: the ingenuity being the key thing, of course. :-) 01:17:38 ok i'll put some noodles with cheese into myself now and you just hold on ok? 01:17:42 hehe k 01:17:44 I can also derive 45345345 from anything! 01:17:45 EWIGE BLUMENKRAFT! 01:17:54 perhaps i'll find some real esoteric channels someday.. 01:17:55 %% 01:17:58 lament: what did you do to the topic? 01:17:58 I've got monads to keep me company, don't worry. 01:17:59 wie jetz blumenkraft? 01:18:25 also ich ess mal paar kaesspaetzle - bbl 01:18:41 ehird: made it more buzzwordy 01:18:44 Don't worry pjoter, you're not the first to make the mistake. 01:18:47 warum dieser "blumenkraft"? 01:18:52 At least the second that I know of! 01:19:01 lament: but that was the direct #overflow topic 01:19:01 :( 01:19:25 Slereah: did i advocate SCIENCE then too? 01:19:36 Not that I remember. 01:20:01 He didn't call us machine servants, maybe that's why. 01:20:10 Though I have to admit, I really dig the expression. 01:24:24 "FOR BREAKING THE ESO, THE MACHINE WILL MAKE YOU PAY" 01:24:46 And then, bam, the guilty servant is sent to the Malebolge 01:25:04 Where his code will change at each instruction. 01:25:13 Cruel but fair is the machine. 01:28:46 lol the second 01:29:36 oh hi bd_ 01:29:39 afk going to eat 01:30:18 plus i included me into that flippant classification 01:30:18 Haskell isn't easy to get used to. 01:30:25 No, not at all. 01:30:30 I should probably write some little programs in it. 01:31:57 my biggest issue with it was that I wanted to do OO all the time. 01:32:05 OO? 01:32:26 OO. More like 'EW!' 01:33:08 ehird: don't diss OO! 01:33:28 OO is just a flamboyant expression for nothing 01:33:41 lament: why not 01:33:46 pjoter: so is esoterica 01:33:52 lol 01:34:27 hey ok i'm out, nice to meet ya all and good luck with further esoteric pilgrims or the like 01:34:52 Bai. 01:34:55 perhaps i'll be back someday if i'm versed enough for haskell 01:34:58 bai 01:35:02 -!- pjoter has left (?). 01:35:21 Someone should submit a patch to gnu coreutils, replacing true.c with: 01:35:23 int main(void) 01:35:23 { 01:35:23 return 0; 01:35:23 } 01:36:10 Is return 0 even necessary? 01:36:26 main(){} 01:36:26 Slereah: Yes. 01:36:31 main must return an 'int'. 01:36:34 ANSI C specifies this. 01:36:43 and main() is invalid. You need (void) 01:37:35 ehird: also, do you use emacs? 01:37:51 lament: yes; why? 01:37:59 then i'm not talking to you anymore! 01:37:59 well, I use Emacs and TextMate about equally 01:38:08 (suprisingly, TextMate's XML support is superior to all of Emacs') 01:38:14 lament: why not 01:38:15 :( 01:38:48 emacs is evil. 01:38:54 why 01:39:00 Is Kate okay? 01:39:03 I mean, it is kinda, but it's better at editing Haskell and Lisp than everything else. 01:39:07 Slereah: Not for Haskell! or lisp. 01:39:22 Good. Haskell makes mah head hurt 01:39:28 -!- Corun has joined. 01:39:30 ehird: right, that's why haskell and lisp suck. 01:39:39 lament: bullshit 01:39:45 ehird: i have a point 01:39:47 lament: ok then, what do you suggest instead. 01:40:01 -!- GreaseMonkey has joined. 01:40:47 ehird: A language is just a small element of the overall development environment which you use to make stuff. A language should be well-integrated into this environment. 01:40:59 It is certainly true that lisp is well-integrated into emacs 01:41:37 but i don't like emacs, so i wouldn't use lisp. 01:41:57 haskell is not well-integrated into anything, at least as of yet. 01:42:11 Heh. 01:42:24 yi 01:43:01 yi is just an editor 01:43:06 as far as i know 01:43:09 no it's not 01:43:11 its an environment 01:43:15 what can it do? 01:43:16 that happens to look a lot like an editor 01:43:21 lament: environmenty stuff. 01:43:27 it can act like vi or emacs too 01:43:30 when it has its editor disguise on 01:45:02 does it have a good module/function browser? Does it provide good autocompletion? Tooltips which show the types of functions as you type them in? Does it have a good debugger? A refactoring tool? How well is it integrated with QuickCheck? 01:45:16 lament: if it doesn't have any of those things, adding them will be trivial 01:45:22 #haskell, go forth and ask. 01:46:03 (not to mention that the time i tried yi, it wouldn't even install) 01:46:32 ehird: i'm pretty sure that it doesn't, and i seriously doubt any of them are trivial 01:46:44 i suspect they're painfully complex 01:46:49 in any editor, not just yi 01:48:28 I suspect that emacs doesn't provide those things for haskell, either. 01:48:55 -!- ehird has quit ("This computer has gone to sleep"). 01:49:18 mission accomplished! 01:50:07 YOU HAVE DRIVEN OUT THE HASKELL FORCES SIR 01:50:11 CONGRATULATION. 01:50:19 The Machine God will reward you. 01:50:30 Machines do not take kindly to functions >:| 01:50:59 why does everyone seemingly want to masturbate to Haskell? 01:51:29 I don't. But it's apparently awesome and all for something I need to do. 01:51:51 Although my guess is, I'll do the lazy thing and just use some priority operator 01:52:29 I think Haskell suprisingly has better IO than Python 01:52:49 Although I understand Python much better than Haskell 01:53:04 GreaseMonkey: it's amazingly beautiful. 01:53:07 python is very clean 01:53:14 Hell, first program I wrote in Python was the beggining of the Love Machine 9000! 01:53:14 i once made my own OOP language 01:53:18 GreaseMonkey: yes, python is 01:53:30 but it's not nearly as beautiful as haskell 01:53:37 i'm not sure I can rewrite Lazy Bird as my first Haskell program 01:54:50 in my lang, you could do something like: a = #1; b = #0; i = #10; while({i>0;},{a = a.add(b); print(a); t = b; b = a; a = t; i = i.sub(1);}); 01:54:55 whoops 01:55:15 a = #1; b = #0; i = #10; while({i.gt(#0);},{a = a.add(b); print(a); t = b; b = a; a = t; i = i.sub(#1);}); 01:56:15 * Slereah looks back on the first Love Machine 9000 01:56:24 It actually asked all states :o 02:01:02 LM9k? What's that? 02:01:23 http://www.esolangs.org/wiki/NTCM 02:01:33 I never actually call it NTCM. 02:02:23 Why is it at NTCM then? 02:02:38 Because it is moar srs name 02:02:52 More than Love Machine 9000, that is. 02:03:07 At least redirect [[Love Machine 9000]] and [[LoveMachine 9000]] and [[LoveMachine9000]] 02:03:33 and maybe [[LoveMachine]] and [[Love Machine]] 02:03:39 And versions with M as lowercase 02:03:40 >.> 02:03:55 j/k about the case, because searching for one will return the other 02:04:18 Plus, the only people who hear of LM9k are the people here 02:04:23 And they already know :o 02:04:54 what's wrong with expanding your fanbase? 02:04:56 I didn't 02:05:07 I wonder what my fanbase for PSOX is 02:05:35 heck, i got some email about some guy's 5-instruction language when he read about bloody HighFive 02:05:58 Well, they can email me about it under the name NTCM 02:06:10 Although so far, no fanmail! 02:15:00 First version was that one : http://membres.lycos.fr/bewulf/Russell/turing.py 02:39:34 Grr, I can never remember the URL for logs 02:39:57 http://www.esolangs.org/wiki/Esolang:Community_Portal#IRC 02:40:52 ty 02:42:20 I can't seem to search it 02:42:53 Use google! 02:42:58 USE THE GOOGLE 02:43:11 site:[adress of the site] [terms of the search] 02:43:15 That's the syntax 02:43:19 http://www.google.com/search?q=PESOX+site%3Aircbrowse.com&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:official&client=firefox-a 02:43:34 hey guys, I felt inspired, so I whipped up a simple, extensible assembler: http://www.nonlogic.org/dump/text/1203733864.html 02:43:38 Same with PSOX 02:44:09 it can currently turn something like this http://www.nonlogic.org/dump/text/1203733935.html into this: http://www.nonlogic.org/dump/text/1203734033.html 03:09:57 I think I'll abstract different GUI toolkits 03:10:05 To be usable by PSOX 03:10:20 Then the client can choose which toolkit to use, although there will be no difference in the API 03:11:00 Sounds like the best way of doing things. 03:11:15 Makes portability trivial. ;) 03:12:37 * Sgeo registers pri:GUI 03:13:37 How does this sound: 03:13:43 A function to pull in one GUI event 03:13:52 The first byte is the Element ID 03:14:07 Second byte is the event type, dependent on the type of the element 03:14:22 Then after that is any associated data, then a 0x00 03:14:35 For instance, if I click a button with EID 0x01 03:14:47 Then it will return 0x01 0x01 0x00 03:15:05 Once the button is released, it will return 0x01 0x02 0x00 03:15:13 (for buttons, 0x01 is click, 0x02 is release) 03:17:11 Events do need to be registered for each EID 03:17:35 pikhq, thoughts? 03:17:50 Also, thoughts on an mkdir function with a cd option, and no separate cd function? 03:18:04 -!- Corun has quit ("Leaving"). 03:18:18 No thoughts ATM. 03:18:27 I'm *really* tired. . . 03:18:33 Like, about to collapse. . . 03:19:15 Gotosleep! 03:20:45 It's only 8:20. 03:20:52 Take a nap! 03:21:05 I've barely been *home* for an hour. Ugh. 03:21:27 Are you sick? Feel better soon if so 03:21:48 No, just low sleep combined with the world's longest day. :( 03:22:20 Why was this a long day for you? 03:22:34 03:22:39 I left home at 6. I got home at 18:30. 03:22:55 See? Way the fuck too long. 03:23:24 What was going on 03:23:25 ? 03:24:20 School + having to wait 4 fucking hours for a ride. :( 03:25:05 Why did you have to wait 4 hours? 03:26:26 Because that's how long it took for my ride to show up? 03:26:58 Why did it take that long? 03:27:11 Maybe your ride could have called you and you could have taken a bus? 03:27:26 I'm in the US. We don't *have* decent public transportation. 03:27:40 2 hours is more decent than 4 hours 03:27:43 Specifically: the bus towards where I live runs 3 times a day. 03:27:53 (Takes me 1.5hrs to get to college) 03:28:06 Don't feel like talking about the trip back 03:28:07 oh 04:29:32 -!- oerjan has joined. 04:54:47 Hioerjan 04:58:08 Ah, yes. The rare Hioerjan subspecies of oerjan. 04:58:59 We Are In A Hi'er State 04:59:15 hisgeo 05:14:12 -!- uvanta has quit ("php you!"). 06:15:56 -!- Sgeo has quit (Connection timed out). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:50:18 -!- puzzlet has quit (Remote closed the connection). 08:50:26 -!- puzzlet has joined. 09:06:49 bus to where i live in goes about a hundred times a day... but that's just the one bus, there's 4 buses for it 09:28:35 -!- GreaseMonkey has quit ("Bad attempt, Liempt."). 09:30:05 -!- oerjan has quit ("leaving"). 13:42:06 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 13:42:11 -!- puzzlet has joined. 13:53:41 -!- Corun has joined. 15:27:04 -!- ehird has joined. 16:12:55 -!- calamari has joined. 16:16:15 hi 16:17:51 Hi 16:20:59 why does everyone seemingly want to masturbate to Haskell? 16:21:08 eewww 16:21:10 why does GreaseMonkey masturbate to keeping his wiki pages non-public domain? 16:21:24 then cry and remove them when realizing the wiki is PD? 16:21:41 Because that's what monkeys do. 16:24:03 Đş определению алгоритма 16:24:16 Kolmogorov, why can't you be awesome like Alan Turing? 16:24:32 And write articles that people can understand. 16:24:52 hay, someone ping eso-std.org 16:24:55 it isn't der 16:25:11 "403 Forbidden" D: 16:25:51 that sok 16:43:27 Emacs - RMS = ??? 16:44:43 better emacs? 16:45:11 No. 16:45:28 The last time he wasn't maintaining Emacs, Emacs spent 5 years without a release, IIRC. 16:45:36 excellent 16:45:43 this news is sounding better and better 16:46:11 Emacs without RMS is like Apple without Jobs. 16:46:27 if it means no emacs, I'm all for it 16:46:36 "the emacs Newton" 16:49:31 olsner: The hell is wrong with you? 16:49:40 Even if you don't like emacs, you don't have to *use* it. 16:50:04 RodgerTheGreat: My thoughts exactly. *shudder* 16:52:19 pikhq: Don't talk about Apple without Jobs. It gives me nightmares. 16:52:30 (Albeit, probably in part because of the wonderful RDF.) 16:52:46 pikhq: And it's called editor wars, n00blet. 16:53:03 ehird: Who gives a fuck? 16:53:42 I'll just be happy knowing I can do M-x M-butterfly 16:53:44 pikhq: Who the fuck disabled your humour node? 16:53:57 An editor war is not funny, it's boring. 16:53:57 Oh wait, you can't LIVE without your precious emacs without rms. It's too special, not for joking about. Sorry, sorry. 16:54:34 That's either damnably insulting, or not a bad joke. 16:54:38 Can't quite decide which. 16:56:28 Mainly the latter, a tiny bit of the former because I'm an asshole./ 16:56:29 :D 17:09:23 -!- Sgeo has joined. 17:35:17 -!- Tritonio_ has joined. 17:37:13 hello everybody 17:37:51 Hello little man. 18:00:05 -!- Tritonio_ has quit (Remote closed the connection). 18:31:09 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 18:31:11 -!- slereah_ has joined. 18:44:57 -!- oerjan has joined. 18:50:40 rehi slereah_ hi oerjan 18:51:00 Hello little man. 18:52:29 "little man"? 18:52:38 Little man. 18:52:55 I call each and every man little man. 18:53:00 Also most women. 18:53:52 actually Sgeo is a 7 feet 68 year old black woman from New Carolina. but she won't admit it of course. except to confuse us. 18:54:05 lol oerjan 18:54:17 "New Carolina"? 18:54:28 Is that a fusion between Hillary and Obama? 18:54:37 Because that's what America wants. 18:54:54 *south 18:55:13 no, that would be South York 18:56:02 http://youtube.com/watch?v=blm4xPO_iIA 18:56:03 * oerjan notes that New Carolina gives several google hits 19:03:21 -!- puzzlet_ has joined. 19:10:15 hi 19:10:46 Hi puzzlet_ and SimonRC 19:15:16 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 20:30:19 -!- ehird has quit ("Leaving"). 20:32:26 -!- ehird has joined. 20:36:36 rehird 20:37:38 heh 20:40:04 heh 20:40:11 re, ehird. rehird. 20:45:13 actually, rehi + ehird = rehird 20:45:40 SimonRC, somehow, I failed to notice thhat 20:47:37 SimonRC: that's good. 20:47:39 rehi, ehird. rehird. 21:16:13 13:29:59 Razor-X: Thou shalt not build regexp's into a base language :P 21:16:18 From the #esoteric logs. 21:16:33 Gregor, could you tell me again how you defined the Plof3 syntax? :p 21:17:03 no gregor here 21:19:40 Regexes are used in PSOX 21:22:01 pikhq, how's work on PEBBLE2? 21:22:28 !ami 3488 21:22:33 ern wribg cgab 21:23:06 flib gnor fre? 21:24:10 ??/ 21:24:24 huh? 21:25:05 * oerjan checks for unicode and finds none 21:25:19 * Sgeo was typoing 21:25:40 whon lov was typoneswe 21:26:53 Sgeo: /dev/null 21:32:26 -!- oerjan has set topic: You've reached this channel because the channel you tried to enter has been configured with join throttling (+J). There may be a monad attack in progress there, or simply unusually heavy interest. Please leave this monad and return again. Your channel may also be "arrows-only" (+r); join #please_register for more information. If you need help, massage a freenode staffer or email staff@freenode.net .... Thanks!. 21:34:50 +r? "arrows-only"? 21:34:53 Oh 21:34:56 >.> 21:35:06 Some crazy monad thing I guess 21:35:53 when in doubt, escalate. the monad was already there. 21:36:30 arrows are a generalisation of monads to inputs as well as outputs 21:36:53 LMAO 21:37:09 uuuuh 21:37:23 you have a strange sense of humour 21:38:49 He's a SERVANT OF THE MACHINE 21:39:37 AM NOT &"NO CARRIER 21:41:11 +++ATH0 21:43:26 pikhq: regexp's are in psox core 21:43:27 :) 21:43:45 slereah_: were you here yesterday for the spiritual guy? 21:43:52 Yes, yes I was. 21:44:36 ehird, well, the PSOX reference implementation's core 21:44:42 err 21:44:43 i mean oerjan 21:44:45 *maent 21:44:48 *meant 21:44:50 How does this look: 21:44:51 0x00 0x06 0x01 FNUM(1)/cd STRINGNL/dirname 0x0A 21:44:51 Makes directory dirname if it doesn't exist (if it does, it's harmless) 21:44:51 If cd is not 0x00, changes current directory to that directory regardless of whether or not it existed beforehand 21:45:02 no, i briefly noticed in the logs 21:45:16 *it in 21:46:14 oerjan: he was pretty good at convincing himself. 21:49:40 i am _not_ an "atheist or agnostic", for what it is worth. although i was from about 1994 to a day in the summer of 1998. 21:50:19 Did Gawd appear to you? 21:50:39 no, i opened a book at a random page in desperation. 21:50:42 oerjan, what happened on that day 21:50:54 the page spoke about opening books on random pages. 21:51:00 Lol 21:52:14 And that caused you to believe what? 21:52:30 in syncronicity. 21:56:17 aw, man. :( 21:56:18 http://www.editorandpublisher.com/eandp/departments/syndicates/article_display.jsp?vnu_content_id=1003712741 22:01:10 oerjan: what are you? just curious 22:01:19 RodgerTheGreat: WHAT NO 22:01:30 time to kill someone 22:01:31 -!- ehird has quit ("Leaving"). 22:01:43 -!- ehird has joined. 22:01:49 boy, that typo was perfectly timd 22:01:51 timed 22:05:30 everyone died? 22:05:41 Aaaaaaaaaaargh 22:05:56 Promise me, before I die... 22:05:58 To serve the machine 22:06:21 * SimonRC goes 22:09:09 I guess I should use unbuffered for all files? 22:37:19 Should ls listings be a list of files delimited by \n and terminated with NUL, or delimited by NUL and terminated with \n? 22:37:34 -!- ihope has joined. 22:37:41 hihope 22:37:44 Should ls listings be a list of files delimited by \n and terminated with NUL, or delimited by NUL and terminated with \n? 22:37:53 Ello. 22:38:24 Delimited by \n and terminated with NUL. 22:39:17 ok ty. Why? 22:40:25 <_D6Gregor1RFeZi> OH NOSE 22:40:28 <_D6Gregor1RFeZi> PBF D-8 22:40:53 Because NUL seems bigger. 22:41:10 oh dear gregor was here, just horribly maimed 22:41:13 _D6Gregor1RFeZi, what's with that name? 22:41:28 <_D6Gregor1RFeZi> I was mangled. 22:41:45 * ehird is going to write a dinky little esolang which is like haskell, but crazier 22:41:45 did you get the license plate? 22:41:50 for example, the Y combinator types in it 22:41:56 actually, i think every term will type in it 22:41:57 :D 22:42:04 Damn you and yout Haskell! 22:42:16 ehird: how about run-time lazy type checking? :P 22:42:20 <_D6Gregor1RFeZi> $ haskell -v 22:42:20 olsner: haha :) 22:42:24 <_D6Gregor1RFeZi> YOUT Haskell v1 22:42:35 it will have a type inference engine of course 22:42:40 but i hope i can get it to infer recursive types 22:42:56 (\f -> f f) infers to '(a = a -> b) -> b' 22:43:23 ehird, just like you were going to work on SOXP? 22:44:57 Sgeo: You should really get over it. Sheesh. 22:45:08 I think I would like to see a SOXP 22:45:18 so you can whine about it being a bad idea? 22:45:24 that's what you did, originally 22:45:52 Well, at least a GUI domain, if you're not doing your SOXP project 22:46:11 i thought you're working on that 22:46:43 oh 22:47:12 here's 'coerce' in my language (which is called Facade): 22:47:13 coerce :: a -> b;; 22:47:13 coerce = \a -> a;; 22:47:16 Cool. 22:47:17 use like: 22:47:39 wtf :: [Int];; # strings are lists of unicode codepoints 22:47:47 wtf = coerce 5;; 22:48:01 which will give you the internal representation of 5, when treated as a list of integers 22:48:05 Ideally, coerce would be implemented as "My gosh, why would you want to do a thing like that?" 22:48:17 ihope: But this is so much more fun! 22:48:28 ehird, I will work on it if you don't work on it 22:48:35 But first I'm working on File I/O 22:48:39 I guess coerce is nice when you want to get at internal representations. 22:49:03 ihope: Not really, since there'll be no way to sanely get at it 22:49:11 Oh. 22:49:18 oh, and here's map: 22:49:19 So it's only good for fun and circumvention? 22:49:28 map :: (a -> b) -> [a] -> b 22:49:41 What does that do, then? 22:49:59 map = \f -> \xs -> if (equal xs []) [] (cons (f (head xs)) (map f (tail xs)) 22:50:05 and yes i'm aware that looks like lisp 22:50:11 the syntax is ... lightweight 22:50:14 but i will improve it 22:50:46 How is that [a] -> b and not [a] -> [b]? 22:50:49 err 22:50:51 it is [b] 22:50:52 sorry 22:51:08 wowzers, I think I need 'hindley/milner type inference for retards' 22:51:34 Have some type declarations: Disguise : RealType a -> a; Undisguise : a -> RealType a 22:51:40 Wait, no. 22:51:48 ihope: define 'RealType' 22:52:44 Disguise : a -> b; Undisguise : (\x : a) => RealType x 22:52:57 heh 22:52:58 wow 22:53:06 on another note 22:53:07 InfElemList : [InfElemList];; 22:53:11 And Disguise . Undisguise = id makes it work. :-P 22:53:15 but that can be inferred automatically: 22:53:20 xs = [xs];; 22:53:22 :t xs 22:53:25 a = [a] 22:55:30 ihope: Actually... will hindley/milner work for this? 22:55:37 I think so. 22:55:48 If you mean the (a = a -> b) -> b type of stuff. 22:56:52 Attention everyoen interested in PSOX, including pikhq: Does this look good? http://trac2.assembla.com/psox/browser/trunk/spec/psox-fileio.txt 22:57:12 yay. 22:57:19 manpage for false(1): 'do nothing, unsuccessfully' 22:57:20 very zen 22:57:26 let's break it down 22:57:32 INITIAL GOAL: do nothing 22:57:37 SPECIFIER: unsuccessfully 22:57:51 So it actually does something? Gasp. 22:57:55 ~X where PURPOSE = X & SPECIFIER = 'unsuccessfully' 22:58:06 PURPOSE: not (do nothing) 22:58:09 PURPOSE: don't (do nothing) 22:58:15 ~nothing = something 22:58:18 PURPOSE: do something 22:58:29 Now, 'false' actually fails to do anything, therefore its manpage is incorrect. 22:58:37 (Well, it does 'return 1;'. But still.) 22:58:46 Either its manpage is incorrect, or there's a bug, that is. 22:58:57 return 1; counts as something 22:59:01 And don't forget this fun set of declarations: extensible data Real; Zero : Real; One : Real; a + b + c = a + (b + c); a * b * c = a * (b * c); a + b = b + a; a * b = b * a; Zero + a = a; One * a = a; Zero * a = a; a * (b + c) = a * b + a * c; I don't feel like typing up the least upper bound property; Not (Zero = One) 22:59:03 It's the manpage for true(1) that's wrong 22:59:35 ihope: You know I think when I have an implementation YOU can type this all up. :-P 23:00:23 Hmm. 23:00:26 First thing first - an AST! 23:00:50 Hmm. 23:00:55 I won't group 'a :: b' and 'a = b' 23:01:05 The thingy can sort that out. 23:03:52 not the watchy? 23:04:36 oerjan: no 23:13:35 ihope: http://hpaste.org/5849 23:13:38 that's an AST 23:13:40 any comments? 23:14:14 Nope. 23:14:23 What means AST? 23:14:27 ihope: OK, I mean -- is there anything you'd like to see there :P 23:14:29 slereah_: Parse tree 23:14:32 Abstract Syntax Tree 23:14:58 Multi-argument lambdas? 23:15:13 ihope: Haskell doesn't have those. 23:15:37 \a b -> Foo? 23:16:05 ihope: And what is the type of that? 23:16:11 (Alternate: Give me another way to write that.) 23:16:20 \a -> \b -> Foo 23:16:23 Exactly. 23:16:36 I can, if wanted, just parse '\a b -> Foo' as '\a -> \b -> Foo' 23:16:47 Same reason I don't have a special 'f x = ...' definition. 23:16:51 I can just parse it as 'f = \x -> ...' 23:16:55 Oh, yeah. 23:24:43 ihope: Wow, parsing [a,b,c,...] is actually kinda hard with parsec. 23:25:41 [, repeating expression-comma, optional expression, ]? 23:26:32 -!- ihope_ has joined. 23:26:42 Or [, optional (repeating expression-comma, expression), ]? 23:26:59 Make that optional (expression, repeating comma-expression), actually. Maybe. 23:29:05 ihope_: Yeah, it's just that in Parsec all that 'optional' stuff can get ugly 23:30:22 It's not too ugly if you're careful. 23:33:33 use sepBy 23:34:32 ehird: ^^ 23:34:57 Suddenly, I feel like making a pseudo-BNF definition that recognizes a prime number. 23:35:40 oerjan: but #haskell want me to use lexeme and TokenParser! :-P 23:35:44 ihope_: Is that... possible? 23:35:59 i mean for the [a,b,c,...] lists 23:36:18 I did say pseudo-. 23:37:12 -!- uvanta has joined. 23:37:26 oerjan: am funcuzzled 23:38:17 sepBy p delim parses nothing, or p, or any number of p's separated by delim's 23:39:19 the reference example is commaSep p = p `sepBy` (symbol ",") 23:41:11 oerjan: would i be better using TokenParser, or that? 23:41:17 I mean, Facade's grammar isn't that complex.. 23:41:34 erm, symbol is part of TokenParser 23:41:46 ah 23:41:58 oerjan: but .. can I mix regular parsers with that? 23:42:08 sure 23:42:54 oerjan: and does that skip whitespace? 23:43:01 Now I'm wondering whether it's possible to read in an integer in little-endian binary and output it in little-endian decimal using finite storage. 23:43:05 TokenParser gives you parsers for various individual token types, automatically skipping space and comments after them 23:43:22 oerjan: so, essentially, i can't just drop that in 23:43:35 because, personally, i have no idea how to use TokenParser 23:43:37 sure you can 23:43:40 -!- ihope has quit (Read error: 110 (Connection timed out)). 23:43:40 and Parsec docs aren't very helpful 23:43:51 oerjan: OK, but how will that sepBy help me handle whitespace? 23:43:51 there's an example using it 23:44:03 sepBy has nothing to do with the whitespace 23:44:20 exactly 23:44:22 it's just for parsing something structured like a list with delimiters 23:44:27 so; what is the best solution? 23:44:33 where i have a standard language grammar 23:44:42 with mostly entirely whitespace insensitivity 23:44:53 and quite a lot of deliminated things like that 23:45:01 is there a TokenParser thing for unifying all that skipping and stuff? 23:45:10 because right now i have various space skipping littered about. 23:45:19 if TokenParser can help me get rid of that too.. 23:45:20 yes 23:45:33 lexeme p parses p, then skips. 23:46:15 all the other parsers defined by TokenParser are wrapped with lexeme 23:46:52 like symbol, which parses a string of operator-like symbols 23:47:06 (a specific one) 23:47:16 oerjan: is there an example unifying all that? 23:48:06 See the Lexical Analysis section 23:49:10 *analysis 23:51:29 oerjan: so I define a thingy called lexer 23:51:31 which is a thingy 23:51:44 and is a TokenParser () 23:53:47 see the reference section "The members of TokenParser" 23:56:14 oh there is even a specific commaSep parser. scratch my suggestion of explicitly using sepBy, then. 23:57:07 oerjan: hm, I don't like the look of that languagedef stuff 23:57:08 squares (commaSep p) :) 23:57:11 too much hand-waving magic.. 23:57:32 well yeah it does make some assumptions 23:58:07 there is a section describing those fields too 23:59:08 (The members of LanguageDef) 23:59:18 * Sgeo is implementing domain 0x06 23:59:59 it's of course designed to allow you to easily parse the tokens of an "ordinary" language 2008-02-24: 00:01:35 oerjan: well I'm going to write my own TokenParser :( 00:01:45 But .. do I have to define, like, everything in that newtype? 00:02:18 er you are not just writing your own LanguageDef? 00:02:27 oerjan: I don't like it! it's too magical :( 00:02:56 Hey, do BF programs really need to be able to tell the perms? 00:03:10 i don't think TokenParser itself is used for anything other than extracting its fields, so if you are writing yourself there is no point in including anything other than what you use 00:03:45 Sgeo: Hey, do BF programs really need GUIs? 00:03:59 If you still work on the GUI stuff after answering that; then add the perms. 00:04:04 but you should definitely read up on the ParsecCombinator section then 00:04:19 :| 00:04:24 Really, I just want LanguageDef, sans magic. 00:04:33 Just something that will help me sort out my whitespace & stuff. 00:04:47 (sepBy and between makes it easy to write things like commaSep and square, e.g.) 00:06:09 * Sgeo decides to leave out the permissions check 00:06:21 oerjan: indeed, I just want things like commaSep. 00:06:31 But, then, I'd have to handle whitespace inside all of that. 00:06:33 Thus my request. 00:07:20 perhaps try the emptyDef style 00:07:54 no comments, no predefined names 00:08:20 * Sgeo leaves function 0x00 0x06 0x05 undefined 00:08:34 -!- GreaseMonkey has joined. 00:10:05 without comments all of the general combinators should just skip spaces and nothing else 00:10:19 oerjan: mm, it still has languagey stuff though 00:10:21 er, spaces and newlines, i assume 00:10:28 like, operators 00:11:09 i don't think those are used unless you use the specific combinators for parsing operators or identifiers 00:12:59 okies 00:13:20 so uh 00:13:22 lexer :: TokenParser () 00:13:22 lexer = makeTokenParser emptyDef 00:14:19 oerjan: so (char 's') should now be written (symbol "s") 00:14:20 right? 00:14:40 whenever you want to skip space after it 00:15:22 oerjan: hmm, when i write things like a rule for consing.. 00:15:29 how do i 1. avoid inf loops 2. get the precedence right? 00:15:36 I guess by doing crazy lexing. :( 00:17:13 * oerjan evilly points ehird toward the Expressions and Module ParsecExpr sections 00:20:17 * oerjan notes there is an Examples sections with a few links 00:37:35 Maybe I should include os.stat() as a function> 00:37:35 ? 00:38:03 also, thermo.stat() 00:38:17 thermo? 00:38:20 oh lol 00:40:35 oerjan, http://trac2.assembla.com/psox/changeset/94 00:41:49 o_O 00:45:11 oerjan, http://trac2.assembla.com/psox/changeset/95 00:48:52 -!- ehird has quit ("This computer has gone to sleep"). 00:54:40 here's something i'm wondering: how would you operate a flux capacitor, if it were to be invented? 00:55:33 carefully :P 00:56:03 At maximum power 00:56:07 -!- GreaseMonkey has set topic: You've reached this channel because the channel you tried to enter has been configured with join throttling (+J). There may be a 4chan attack in progress there, or simply unusually heavy interest. Please leave this monad and return again. Your channel may also be "arrows-only" (+r); join #please_register for more information. If you need help, massage a freenode staffer or email staff@freenode.net .... Thanks!. 00:56:19 With a twoduck CPU 00:56:42 i'm thinking: if you charge it one way, you go forwards on discharge, and same thing the other way but going backwards. 00:57:19 It was invented during a concussion vision, so why not 01:10:52 I can make a combined cp/vm 01:10:52 mv 01:11:53 Actually, I think I would be able to add rm into that combo 01:11:58 But that's probably a bad idea.. 01:14:25 wow, i just found out that libfftw is automatically generated by ocaml code 01:19:02 -!- oerjan has quit ("Good night"). 02:13:05 -!- wildhalcyon has joined. 02:20:58 -!- ihope_ has quit (Read error: 104 (Connection reset by peer)). 03:13:18 -!- Corun has quit ("This computer has gone to sleep"). 04:19:49 -!- pikhq_ has joined. 04:20:15 -!- pikhq has quit (Nick collision from services.). 04:20:22 -!- pikhq_ has changed nick to pikhq. 05:16:11 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 05:52:32 -!- calamari has quit ("Leaving"). 05:57:19 -!- GreaseMonkey has quit ("Read error: 110 (Connection chickened out)"). 06:45:00 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 07:03:21 -!- oerjan has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:49:07 -!- _D6Gregor1RFeZi has changed nick to GregorR. 10:30:47 -!- oerjan has quit ("Bus"). 11:42:42 -!- RedDak has joined. 12:01:04 -!- Tritonio_ has joined. 12:03:45 -!- uvanta has quit ("php you!"). 13:02:48 -!- Corun has joined. 14:11:53 hello 14:33:19 -!- RedDak has quit ("I'm quitting... Bye all"). 14:35:00 Hi. 14:40:09 -!- Hiato has joined. 14:40:49 Wassabi 14:41:26 Yo yo yo 14:41:39 Wassup holmes :P 14:44:30 Just chillin dude, you? 14:44:48 -!- Corun has quit ("This computer has gone to sleep"). 14:46:09 Yeah, pretty much the same. Nothing to do this weekend, except chill ;) 14:46:31 I tried to read the Kolmogorov paper this week end 14:46:45 But I'm starting to wonder if it wouldn't be easier in Russian. 14:47:31 Pshh... Beats me, I'm most certainly not in the position to comment - whatsoever 15:10:40 -!- RedDak has joined. 15:37:53 -!- pikhq has quit (Read error: 110 (Connection timed out)). 15:49:07 -!- Hiato has left (?). 16:59:18 -!- timotiis has joined. 17:01:52 -!- oerjan has joined. 2008-02-26: 03:20:47 -!- clog has joined. 03:20:47 -!- clog has joined. 03:20:52 RodgerTheGreat, does it work with PSOX? Offer PSOX integration? *keeps trying to drum up interest in PSOX* 03:21:09 * Sgeo does want to see tools with PSOX integration 03:21:22 uh... I suppose I could write a simple header or something once I get I/O down? 03:21:35 -!- Corun has quit (Client Quit). 03:22:17 I need to add module, change coming to domain 0x04 03:22:20 just a heads-up 03:22:26 modulo even 03:27:19 http://trac2.assembla.com/psox/changeset/96 nothing too serious 03:27:26 and http://trac2.assembla.com/psox/changeset/97 slight correction 03:29:04 Serious updates on Wednesday though relating to safety 03:33:04 * Sgeo vaguely considers a BF.PSX language.. 03:41:22 my assembler now allows for the definition of constants- this significantly improves readability 04:22:08 Maaaan, I look at the X86 instruction set. 04:22:29 To think that even machine code's got more instructions than most esolangs! 04:24:38 They've got like 30 jump instructions :o 04:24:40 slereah_: x86 assembly *is* an Esolang. 04:25:02 s/Esolang/esolang/ 04:26:16 If it is, then it is "commercial" and "sold out" :o 04:26:24 While brainfuck remains indie. Or something. 04:28:18 I wonder, are there direct equivalents to some BF instructions in X86? 04:29:40 Bleh. You actually have to know computer architecture for x86. 04:58:20 slereah_: behold the wonder and fear that is CISC 04:59:20 Learn MIPS assembly, and then look at the x86 instruction set and you'll pretty much hate the entire computer industry 05:04:26 Oh, I *love* x86 assembly. 05:04:35 In *exactly* the same way as I love Brainfuck. 05:04:35 ;) 05:08:22 -!- oerjan has joined. 05:13:22 RodgerTheGreat, hm? 05:13:32 Learn MIPS assembly, and then look at the x86 instruction set and you'll pretty much hate the entire computer industry 05:13:35 I don't get it 05:14:18 And don't think me leaving means you don't have to respond.. I can read logs you know 05:14:36 well 05:14:42 presumably MIPS is a thousand times more elegant than x86, despite the second being ubiquitous 05:14:57 oerjan has it pretty much right 05:15:15 Like I said earlier: x86 assembly is an esolang in its own right. 05:15:19 CISC hurts your insides when you know a really good RISC architecture 05:16:01 I dunno: there's something to be said about switching to 32-bit mode being nontrivial. 05:16:04 :p 05:17:38 http://news.zdnet.com/2100-3513_22-6231761.html 05:17:49 Anyone here besides me think that this is either useless or harmful? 05:18:27 Well, g'night all 05:20:14 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 05:56:53 -!- bsmntbombdood__ has changed nick to bsmntbombdood. 06:12:00 -!- immibis has joined. 06:12:06 -!- immybo_ has joined. 06:12:24 -!- immibis has quit (Client Quit). 06:12:43 -!- immibis has joined. 06:14:11 -!- immibis has set topic: If this channel has been deleted, how come we're in it? "This channel" refers to the alternative, since that's where we are. So if the alternative has been deleted where are we? Floating around in a void of zero channels?. 06:14:44 * immibis looks for yesterday's log 06:15:31 http://ircbrowse.com/channel/esoteric/20080225 06:15:35 scroll down about halfway 06:16:19 anyone wants to play Theatre, by Brenten Wyber, join #interactive-fiction 06:34:48 -!- immybo_ has changed nick to immybo[A]. 06:43:45 -!- immybo[A] has changed nick to immybo_. 06:43:50 -!- immybo_ has quit ("He who laughs last, thinks slowest"). 07:42:13 -!- olsner has quit ("Leaving"). 07:42:46 -!- SimonRC has joined. 07:55:02 -!- oerjan has quit ("leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:07:57 "To remove air from a flask, fill it with water, tip the water out, and put the cork in quick before the air can get back in." 08:08:46 "For a nosebleed: Put the nose much lower then the body until the heart stops." 08:13:01 # "Do not use if you cannot see clearly to read the information in the information booklet." -- In the information booklet. 08:13:15 "Do not use while sleeping or unconscious." 08:13:23 "Recycled flush water unsafe for drinking." 08:13:45 "Do not use near fire, flame, or sparks." -- On an "Aim-n-Flame" fireplace lighter. 08:14:21 "Do not recharge, put in backwards, or use." -- On a battery. 08:14:39 "For use by trained personnel only." -- On a can of air freshener. 08:15:03 "Warning: Do not climb inside this bag and zip it up. Doing so will cause injury and death." -- A label inside a protective bag (for fragile objects), which measures 15cm by 15cm by 12cm. 08:15:19 you know, every time i paste one i tell myself it will be the last, then i read the next. 08:15:42 "Warning: has been found to cause cancer in laboratory mice." -- On a box of rat poison. 08:15:49 "Fragile. Do not drop." -- Posted on a Boeing 757. 08:16:23 "Product will be hot after heating." -- On a supermarket dessert box. 08:16:42 "May be harmful if swallowed." -- On a shipment of hammers. 08:17:23 "Not dishwasher safe." -- On a remote control for a TV. 08:18:14 "Malfunction: Too less water." -- A notice left on a coffee machine." 08:18:50 "In case of flood, proceed uphill. In case of flash flood, proceed uphill quickly." -- One of the emergency safety procedures at a summer camp. 08:19:07 "Some materials may irritate sensitive skin. Please look at the materials if you believe this may be the case. 08:19:07 Materials: 08:19:07 Covering: 100% Unknown. 08:19:07 Stuffing: 100% Unknown." 08:19:07 -- On a pillow. 08:19:10 * immibis stops 08:26:20 -!- immibis has quit (Client Quit). 11:45:30 -!- jix has joined. 12:56:00 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 12:56:00 -!- pikhq has quit (brown.freenode.net irc.freenode.net). 12:56:00 -!- lifthrasiir has quit (brown.freenode.net irc.freenode.net). 12:56:57 -!- puzzlet has joined. 12:56:57 -!- pikhq has joined. 12:56:57 -!- lifthrasiir has joined. 13:54:53 -!- RedDak has joined. 14:03:29 -!- sebbu has joined. 14:16:36 -!- Slereah has joined. 14:17:04 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 14:35:41 -!- RedDak has quit (Remote closed the connection). 16:02:25 -!- n0nsense has joined. 16:02:39 -!- n0nsense has left (?). 16:14:28 -!- RedDak has joined. 16:24:52 -!- timotiis has joined. 17:07:33 -!- slereah_ has joined. 17:10:33 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 17:27:32 -!- ais523 has joined. 18:21:26 >>> from __future__ import braces 18:21:28 File "", line 1 18:21:31 SyntaxError: not a chance 18:36:38 -!- RedDak has quit (Remote closed the connection). 18:46:22 hehe 18:47:52 better braces than those things ruby has 18:47:59 isn't that the solution Haskell used? 18:48:09 allow layout, but if you don't like it you can use braces and semicolons C-style 18:48:16 yes 18:48:19 but 18:48:45 1) haskell's whitespace-sensitive layout is much trickier than python's and harder to get right 18:49:01 2) in practice, everybody uses it anyway, and nobody uses braces much 18:49:12 Haskell's looks nicer than Python's IMO 18:49:26 and the brace-semicolon style is useful for short things you want to fit on one line 18:49:29 haskell is optimized for looking nice 18:49:39 (although that would be more useful in Python than it is in Haskell) 18:50:00 * ais523 recalls attempting to type Python loops in to bsmnt_bot via IRC 18:50:23 it was a case of ~exec exec("while 1:\n do_something;") 18:50:33 there ought to be a better way 18:54:05 haskell uses the offside rule I think, except where it doesn't 18:57:21 hm, extending python with c is a chore. 18:59:56 SimonRC: your statement is a tautology. But what is the offside rule? 19:00:00 (in this context?) 19:00:47 * SimonRC tries to express it 19:01:26 it means that (usually) expresions must fit into the least southeast quadrant that contains their initial word 19:01:30 roughly 19:05:31 I don't think I have ever remembered a formal definition of the indentation rules 19:05:39 it's just intuitive 19:06:09 heh, extending ocaml with c: 19:06:11 User primitives with arity greater than 5 should be implemented by two C functions. The first function, to be used in conjunction with the bytecode compiler ocamlc, receives two arguments: a pointer to an array of Caml values (the values for the arguments), and an integer which is the number of arguments provided. 19:06:24 heh 19:15:44 the exact rules are a bit complicated: http://haskell.org/onlinereport/syntax-iso.html#layout 19:26:49 my favourite example in that is do a == b == c 19:27:19 because == is non-associative, the only possible way to parse it is (do {a == b}) == c 19:28:20 now we just need a program where that actually types... 19:30:20 haskell ffi is so nice 19:30:27 really? 19:30:34 well 19:30:47 * ais523 was planning an esoteric ffi 19:30:52 SimonRC: compared to Python 19:30:55 and ocaml 19:31:02 where the relationships between programs are shown by drawing flowcharts in ASCII art 19:31:07 why are you reading about ffis? 19:31:08 it's nice because the c side doesn't need to know about haskell 19:31:12 but I haven't really worked out the details 19:31:16 ais523: heh 19:31:18 your c functions are simply c functions 19:31:22 you don't need a wrapper 19:31:24 lament: Prolog's was good too 19:31:29 and worked much the same way 19:31:39 yeah, but haskell is actually a good language :) 19:31:40 OTOH, the C ffi interacts poorly with Haskell threads 19:31:48 you could even do something like this: 19:31:54 SimonRC: really? that could hurt me 19:31:55 (in Prolog) call a C function 19:32:00 (in C) call a Prolog function 19:32:05 SimonRC: what are the problems? 19:32:06 (in Prolog) fail 19:32:15 the bizarre thing is that both Prolog and Haskell have different evaluation orders than C. 19:32:20 the C function just gets cut out altogether, as if it itself had failed 19:32:36 SimonRC: Prolog's evaluation order is the same as C's. It's an eager language 19:32:40 lament: I think that no thread-switching occurs while a C function is running 19:32:49 it might have a fix around somewhere 19:32:49 it's just that Prolog also has a re-evaluation order... 19:32:59 ais523: that was what I was refering to 19:33:06 it just seems abit Ironic 19:33:11 erm, "ironic" 19:33:15 I'm slightly annoyed with Prolog, because it's almost a very nice language 19:33:26 but there's things you should be able to do with it but can't 19:33:29 like? 19:33:33 like solve simultaneous equations, for instance 19:33:54 I want to be able to write goal :- A = B + 1, A = 2* B + 2, write(A). 19:34:04 but Prolog interps can't handle that sort of thing 19:34:24 because it's the wrong side of Gödel 19:34:36 maybe 19:34:36 it makes perfect sense within the language, it's just confusing to figure out how to interpret, and probably uncomputable 19:34:43 yeah 19:35:15 goal :- A > 2, B > 2, integer(A), integer(B), A * B = (insert large prime here), write(A). 19:35:39 I'm planning a blatantly uncomputable esolang version of Prolog to address these problems 19:35:57 if you want something to be worried about, ponder that user-defined functions have to start with capital letters 19:36:10 oh, and there's no backtracking, it uses multithreading instead 19:36:21 SimonRC: oh, that shouldn't be a problem for me, but i see how that can be a pain. 19:36:21 so an infinite loop is impossible, but it's super-TC anyway 19:36:58 goal :- A > 1, B > 1, C > 1, N > 2, A^N + B^N = C^N 19:36:59 :-) 19:40:42 my language sorts that out simply by multithreading and processing all possible values of A, B, C, and N in parallel. 19:40:52 You'd probably want to restrict them to be integers, though. 19:41:02 will it not prove it impossible? 19:41:29 how lame! 19:41:33 if the proof is correct, it ought to fail 19:42:08 if the integer restriction is there 19:42:20 * ais523 wanted to design a programming language in which just about everything was very easy to express 19:42:30 so programmer productivity could be massive 19:42:37 Python? 19:42:42 no, that Prolog-like language 19:43:11 try translating C's ?: operator into Python. It's possible, but ugly and nonintuitive 19:43:54 ais523: prove impossible == fail, no? 19:44:04 yes 19:44:26 basically, every statement in the entire program puts a condition on the state of the world 19:44:37 and a failure means that the conditions are incompatible. 19:45:01 such as SimonRC's conditions above, plus a condition restricting A, B, C, N to be integers 19:45:17 (point of interest: does anyone know if the result also holds for non-integer N?) 19:46:10 yeah, after the guy spent 20 years solving that for integer n, i quickly extended for reals. 19:46:57 I quickly extended for negative numbers 19:47:06 but if you know the result for positive numbers, that's easy to prove 19:47:23 (results for -1 and -2, no results for <=-3) 19:47:24 for negative N? 19:47:29 yes 19:47:38 BTW, no results for 0 either 19:47:45 :P 19:47:48 so +2, +1, -1, -2 are the only integer values of N that work 19:49:06 to prove the result for negative N, just multiply both sides by (A*B)^-N: 19:49:21 yeah, naturally 19:50:45 -!- ais523 has quit ("looking fruitlessly for the original #esoteric..."). 19:52:44 umm 19:52:55 I am not totally sure that proof works 19:53:14 if z = -n, I get: b^z + a^z = (ab/c)^z 19:53:20 didnÍ„'t try, but just realized that's not what i was thinking 19:53:27 and started looking at it 19:55:15 -!- Corun has joined. 19:57:01 hehehe 19:57:08 http://www.accu.org/index.php/book_reviews?url=search.xqy%3Fx&term=schildt 19:57:58 Look at all the results that are not by Schildt, and you will see that Schildt is the standard for measuring crapness of C++ books 19:58:46 man, haskell ffi is awesome. 19:58:55 it just, like, works 19:58:56 you said that above 19:59:02 written some? 19:59:24 just playing 19:59:49 once i figured out how to run ghc to compile it (which took a while because there's like, no documentation anywhere), it all seems easy 20:00:28 is the code on-line? 20:00:53 -!- Corun has changed nick to TheChris. 20:00:55 no, but there's nothing there 20:01:04 i just create an array in c and send it to haskell. 20:01:36 are you using a thing to automatically generate the haskell declarations from the C ones? 20:01:49 no 20:01:54 ok 20:02:07 i don't need any heavy machinery, just interface with one c function i have 20:02:19 I just seem to recall the syntax for the declaration on the Haskell side to be a bit arcane 20:02:26 maybe I am thinking of something else 20:02:36 well 20:02:52 my function takes no arguments, and returns a pointer to an array of doubles. 20:03:01 the declaration is: foreign import ccall "module.h getArray" _getArray :: IO (Ptr Double) 20:03:07 ok 20:03:13 cool 20:03:39 and then from that pointer, i create an actual haskell list of doubles (i know the size in advance): 20:03:42 getArray :: IO [Double] 20:03:44 getArray = do ptr <- _getArray peekArray arrayLen ptr 20:03:46 err 20:03:52 it killed my newlines 20:04:04 getArray = do {ptr <- _getArray; peekArray arrayLen ptr} 20:04:11 that's it 20:04:28 cool 20:04:34 can't expect it to get any prettier than that... 20:05:48 how about: getArray = _getArray >>= peekArray arrayLen 20:05:51 :-) 20:06:34 do you honestly think that's more readable? :) 20:06:45 yes 20:06:59 i guess i'm just not used to haskell enough 20:07:19 >>= is no worse that unix pipes 20:12:52 i'm not saying >>= is bad 20:13:23 but i think my version is better 20:13:46 because if you're not 100% sure what _getArray and peekArray do, my version makes it very obvious 20:14:38 in absence of a good haskell IDE that would tell you the type of peekArray as you hover the mouse over it, i think being explicit helps. 20:19:57 of course, i don't actually want a list... i want an array... 20:20:58 Isn't there an appropriate instance of Array? 20:21:03 or similar 20:21:14 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 20:21:59 no clue 20:23:00 * lament researches Data.Array.Storable 20:23:26 * lament finds unsafeForeignPtrToStorableArray 20:25:05 * lament laments haskell's lack of proper documentation 20:25:38 haskell's idea of docs is type signatures 20:26:34 but bloody powerful ones 20:26:47 nothing vague like "Collection" 20:27:10 ehhhhhhh 20:27:14 unsafeForeignPtrToStorableArray :: Ix i => ForeignPtr e -> (i, i) -> IO (StorableArray i e) 20:27:36 seems fine to me 20:27:42 what's (i, i)? 20:27:48 * SimonRC explains... 20:28:57 Given any type i that is usable as an array index, the function takes in a ForeignPtr e (e = element type) and the array bounds and returns an IO of a Haskelly version of the array 20:29:29 Ix i => ... (i, i) ... almost always means array bounds 20:29:34 are the bounds inclusive or exclusive? 20:29:42 um, not sure 20:29:57 see... 20:30:14 notice some of the instances there are of Ix, BTW... 20:30:40 instance (Ix i, Ix j, Ix k) => Ix (i, j, k) and such like 20:30:48 proper multi-dimensional arrays 20:31:13 the documentation for unsafeForeignPtrToStorableArray should really say if the bounds are inclusive or exclusive 20:31:23 but since it doesn't, at least the documentation for Ix should 20:31:25 and it doesn't either! 20:31:31 they will be same as everywhere else, I assume 20:31:37 * SimonRC looks 20:31:37 exactly 20:32:05 inclusive, apparently. Had to check in ghci. 20:36:01 hmm 20:36:09 the function is a little less pretty now: 20:36:14 getArray :: IO (StorableArray Int Double) 20:36:14 getArray = do ptr <- _getArray fp <- newForeignPtr_ ptr unsafeForeignPtrToStorableArray fp (0, arrayLen-1) 20:36:27 argh, i don't know what's going on with indentation. 20:36:54 getArray = do {ptr <- _getArray; fp <- newForeignPtr_ ptr; unsafeForeignPtrToStorableArray fp (0, arrayLen-1)} 20:37:28 -!- olsner has joined. 20:43:23 -!- slereah_ has joined. 20:43:32 lament: for why indices are inclusive, see the recent conv on #haskell 20:43:43 (suppose you are indexing on Bool...) 20:46:10 but would you actually? Especially an array imported from C? 20:47:16 well you might have your own instance of Enum and Ix that corresponds to a load of C #defines 20:47:18 i sort of understand the reasoning, but realistically this only clutters the semantics to address about 0.00001% of the usage. 20:48:16 A function that turns c-style bounds into Haskell bounds is trivial to write 20:49:10 oh, sure 20:49:29 although that's among things like "begin and end instead of braces are very easy to define in C" 20:49:36 and Haskell bounds interact well with [a..b] 20:50:11 Haskell is really one for the theoretical purity. And that means indexing on all kinds of crap, not just numbers. 20:50:45 sure. i can live with that. 20:51:16 -!- RedDak has joined. 20:52:02 i do like syntactic sugar, though 20:52:42 but it's not a big deal 20:53:57 * lament sounds like he's always complaining, and he really isn't. 20:54:05 but i wish haskell had proper docs :D 20:55:39 you've done that one already 20:56:48 yeah, i guess i should actually start coding or something. 20:56:52 or go for lunch. 21:27:00 -!- TheChris has changed nick to Corun. 21:36:59 SimonRC: have you actually written anything serious in haskell? 21:42:36 yes 21:42:57 I did some extensions to a miniture Java compiler. 21:44:04 cool 21:44:15 what did it compile to? 21:44:22 a C subset 21:45:04 cool! 21:46:00 the subset was designed to be machine-code-like 21:46:14 with an obscene collection of addressing modes 21:46:26 there were some register variables 21:47:06 I implemented, among others, a jump optimiser 21:47:20 did anything practical come out of it? 21:47:33 it looked at the flowgraph and chose a set of paths with the minimal number of jump instructions 21:47:52 I evaluated the results, and found that it was absofuckinglutely useless 21:48:11 hah 21:48:19 Java's control structures aren't complex enough to benefit from the jump optimisation 21:48:59 I expect it only really shines when you have deep breaks, "break 5;" or whatever 21:49:44 the only breaks the miniture java had were in the conditions of loops, immediately at the top 21:49:50 and they only wen out 1 22:00:23 -!- uvanta has joined. 22:10:37 hi 22:21:05 * SimonRC goes 22:24:03 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 22:24:24 -!- slereah_ has joined. 22:34:25 -!- RedDak has quit (Remote closed the connection). 22:38:45 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 22:42:10 -!- Sgeo has joined. 22:43:40 -!- pikhq has joined. 22:43:51 hi pikhq 23:00:56 -!- slereah__ has joined. 23:02:44 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 23:26:34 Liempt: speaking of bold, does that work? 23:26:44 damnit, wrong channel 23:27:08 or is it? 23:27:12 Aren't we bold? 23:27:16 hm 23:27:17 possibly 23:37:12 -!- slereah__ has quit (Remote closed the connection). 23:37:26 -!- slereah__ has joined. 23:40:59 -!- timotiis has quit ("leaving"). 23:49:26 -!- Corun has quit ("This computer has gone to sleep"). 2008-02-27: 00:03:34 -!- CakeProphet has joined. 00:05:02 Are Schönhage's machines easier to understand than Kolmogorov's? 00:05:21 Even a clearer paper might do! 00:15:16 Problem is, I can't find anywhere in his article an example that doesn't involve the graph itself! 00:15:40 The only example is "How to double the graph". 00:16:06 Not a whole lot helpful for a more useful algorithm. 00:48:51 -!- RainbowTrout has joined. 00:49:27 -!- sebbu has quit ("@+"). 00:50:40 Cake Prophet 00:51:08 CAKE PROPHET 00:51:19 -!- RainbowTrout has quit (Client Quit). 00:51:35 ... 00:52:07 Impatient lad! 01:22:14 -!- CakeProphet has quit ("haaaaaaaaaa"). 01:27:14 -!- jix has quit ("CommandQ"). 02:09:39 -!- atsampson has quit (Read error: 113 (No route to host)). 02:14:45 -!- atsampson has joined. 03:04:45 -!- sekhmet has quit (Read error: 110 (Connection timed out)). 03:19:30 -!- cmeme has quit ("Client terminated by server"). 03:19:41 -!- cmeme has joined. 03:32:45 -!- immibis has joined. 03:51:15 -!- sekhmet has joined. 03:52:47 -!- uvanta has quit ("If you're seeing this message, it's probably XChat's fault."). 04:03:58 -!- immibis has quit (Client Quit). 07:20:10 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:14:55 -!- jix has joined. 08:17:40 -!- FurFur has joined. 08:18:45 -!- FurFur has left (?). 09:47:34 -!- olsner has quit ("Leaving"). 10:58:22 -!- Corun has joined. 11:56:31 -!- Corun has quit ("This computer has gone to sleep"). 13:48:22 -!- timotiis has joined. 13:52:31 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 13:53:03 -!- slereah__ has joined. 14:03:59 -!- RedDak has joined. 14:04:38 -!- slereah_ has joined. 14:33:34 -!- slereah__ has quit (Read error: 110 (Connection timed out)). 14:47:40 -!- RedDak has quit (Remote closed the connection). 15:58:56 -!- oerjan has joined. 16:55:15 -!- n0nsense has joined. 16:55:24 -!- n0nsense has quit (Client Quit). 17:15:26 -!- ais523 has joined. 17:56:56 -!- Sgeo has joined. 18:18:26 -!- sebbu has joined. 18:20:39 -!- Corun has joined. 18:36:21 -!- RedDak has joined. 18:43:24 -!- Corun has quit ("This computer has gone to sleep"). 19:19:03 why isn't one's complement used more often? 19:19:20 it's easy to create a two's complement system by just using unsigned adders and disregarding the carry 19:19:40 but looping the carry from the msb round to the carry input of the lsb gives you ones' complement 19:20:01 (albeit with -0 being the standard representation of 0 and +0 being impossible to get unless you start a number at that value) 19:20:32 one big advantage is that if you use the right number of bits, you can make the number of available integers a prime 19:20:40 so that multiplication is completely reversible 19:21:01 Hello ais523. 19:21:07 hello slereah_ 19:22:50 hmm... my rant about 1's complement doesn't seem to have sparked off a discussion yet 19:23:50 Well, I don't know if the others are here, and I don't know what's 1's complement. 19:24:13 most computers represent negative numbers using 2's complement 19:24:38 given that you're storing numbers in binary (unless you're using TriINTERCAL or Malbolge, this is likely), and that you have a fixed number of bits (i.e. not a bignum) 19:24:56 then you form the 2's complement of a number by changing all 0s to 1s in the number and 1s to 0s, and then adding 1 19:25:03 1's complement is the same except that you don't add the 1 19:25:08 Oh. 19:25:40 the advantage of 2's complement, which is the reason it's so commonly used, is that signed and unsigned arithmetic work the same way; for signed arithmetic, you just disregard the carry 19:25:43 Wouldn't you have problems differentiation between, say, -1 and 255? 19:26:01 with an 8-bit system, you'd generally range from -127 to +127 19:26:08 Oh. 19:26:22 2's complement would go from -128 to +127 19:26:42 (1's complement has two sorts of zero, which act identically, but can be confusing to someone used to how arithmetic normally works) 19:27:07 They're normally referred to as +0 and -0, but both act like 0 with respect to all the usual arithmetic operations 19:28:42 the real interest comes when the number of bits you use is not a power of 2 19:28:49 (to be precise, when 2^n-1 is a prime) 19:29:05 because then multiplication by any integer except 0 maps all integers onto unique integers 19:29:38 and it's almost as easy to implement in hardware as 2's complement (at least in terms of wiring) 19:29:50 it's slower on average, but the worst-case response time is the same 19:30:39 So where's the gain? 19:31:29 more elegant maths IMO 19:31:50 oh, and you can pick one of the zeros to use as 0 and the other one to detect uninitialised data 19:33:59 "More difficult to understand quite unlike a "computer" -- abstract or otherwise." 19:34:04 Boy they've got that right. 19:34:51 what are you referring to? 19:35:40 It's from the wiki article on pointers machines. 19:38:51 It seems to be one of the most obscure computing method. 19:39:46 yes 19:39:54 I had a vague memory that such things existed 19:39:59 but don't really understand them 19:40:40 Is there anything based on it? 19:40:58 It would be nice to have a concrete example. 19:44:29 after reading a few Google links I think I understand what's happening to some extent now 19:45:53 basically, at any given point the memory is a graph, with nodes connected to each other by directed coloured edges 19:46:13 Yes. 19:46:24 Though they don't have to be directed apparently. 19:46:38 and at each step, there are replacement rules, such as 'if a node is connected to another node via a red edge and then a blue edge, add a green edge pointing to that node from the original node' 19:46:55 hmm... maybe not quite like that, I still don't understand them properly 19:47:12 I understand roughly how it works. 19:47:17 There's plenty of examples 19:47:26 Proble is, I don't get much how it computes. 19:47:33 that's usual with esolangs 19:47:50 None of the examples are using problems outside of the graph itself. 19:47:51 one of the articles said that you could make a cellular automaton by connecting the original graph up as a grid 19:48:07 Swell. 19:49:31 There's an example that's sort of useful, though not that clear. 19:49:47 It shows how to do a list of integers. 19:50:13 where? 19:50:38 "On the definition of an algorithm", by Andrei Kolmogorov and Uspenskii. 19:50:51 -!- wildhalcyon has joined. 19:51:38 Though the Kolmogorov definition adds some strange conditions, like every nodes must have a type and a node can't be connected to two identical types. 19:52:28 So there's a lot of nodes type 2-3-4-2-3-4-2-3-4... because of it. 19:52:42 (0 is the starting node type and 1 ending type) 20:11:37 -!- olsner has joined. 20:15:00 hm 20:15:35 dunnet FTW 20:16:01 Whut? 20:16:16 specifically, M-x dunnet 20:16:40 whodunnet? 20:16:48 no 20:16:51 a game 20:16:58 a text adventure 20:17:11 though best run with emacs -batch -l dunnet 20:19:01 There's minigolf in movie 4 20:19:20 huh, what, "movie"? 20:20:00 Futurama movie 20:20:15 ok 20:20:20 relevent to anything? 20:20:28 no 20:20:31 wrong chan basically 20:20:35 Well, it's Futurama, so probably! 20:29:26 SimonRC: ever tried Lost Kingdoms? 20:29:31 I'm stuck on the wildcat 20:29:52 ais523: no 20:30:30 I mentioned this to ehird, and wrote a serialising BF interp so that I could send a save file, but ehird couldn't solve that bit either 20:43:47 wasn't it originally written in bfbasic? 20:44:23 hmm 20:44:30 maybe that page is wrong? 20:45:19 there are two versions 20:45:22 the original was in BASIC 20:45:33 an improved version was written in BFBASIC and compiled to BF 20:45:50 is there any bfbasic source? 20:46:20 not that I know of 20:46:27 even the original BASIC source is in binary 20:46:40 I suppose you could try decompiling, because BFBASIC itself is open-source 20:46:55 but someone would have to write a decompiler first 20:48:03 the actual page only says that the original LK was written in bbc basic and translated to brainfuck... 20:48:11 it doesn't say anything about bfbasic 20:48:47 it did use BFBASIC, though, I'm pretty sure of it 20:49:04 especially because the patterns at the end of the source are characteristic of it 20:50:59 FWIW, Esolang's entry on Brainfuck states that BFBASIC was used 20:51:09 but that's the only source I can find 20:51:20 apart from various translations of it 20:52:28 there aren't many mentions of that game on the Internet anyway, for some reason 20:53:09 also, note the mention of Jeffry Johnston in the credits at the bottom of its page 20:53:32 Jeffry Johnston created BFBASIC, and it also has contributions by Jon Ripley, which would seem to make the situation even more likely 20:53:52 hmm 20:54:03 though the bf world is quite small isn't it? 20:54:29 only 5 feet across 20:54:31 not as small as the rest of the esolang world 20:54:35 It's the biggest communauty in esolangs ! 20:54:54 Though I wonder if Intercal isn't used more. 20:55:01 It has seniority and all. 20:55:08 comp.lang.intercal has com activity 20:55:12 INTERCAL is probably used a lot 20:55:19 and don't you mean alt.lang.intercal 20:55:23 or are there really two newsgroups? 20:55:49 Well, I wouldn't go as far as "lot". 20:56:01 (apparently ~50 Debian users who send popularity contest stats installed C-INTERCAL, ~30 installed CLC-INTERCAL, single-figures > 1 actually use them) 20:57:06 latest stats from http://qa.debian.org/popcon.php?package=intercal are that 4 people used C-INTERCAL recently 20:57:31 (bear in mind that this is restricted to Debian Linux users with popularity stats turned on, so the true number is likely much higher) 20:57:49 and 3 used CLC-INTERCAL 20:58:03 either the total installed numbers have gone down, though, or my memory of them was wrong 20:58:51 oh, add one to the C-INTERCAL stats for me, because although I use Ubuntu, I don't have C-INTERCAL installed from packages as I'm the maintainer and have my own newer test versions 21:01:11 (I do show up on the CLC-INTERCAL stats, I think) 21:01:59 I really think lightning-fast mental math is neat: http://www.ted.com/index.php/talks/view/id/199 21:02:57 -!- GregorR has quit (Success). 21:03:15 -!- wildhalcyon has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.11/2007112718]"). 21:03:23 -!- EgoBot has quit (Read error: 110 (Connection timed out)). 21:03:24 -!- GregorR has joined. 21:05:06 <-- GregorR has left this server (Success). 21:05:21 no double quotes, so that was a server-generated quit message 21:05:29 (presumably a case of errno=0 but an error happened anyway) 21:05:32 odd 21:05:41 I came across a program recently which was exiting with "success" as the error message 21:05:49 because it was using perror but nothing had set errno 21:06:17 (apparently on that system mmap doesn't always set errno on failure) 21:06:20 that video seems to have no image 21:06:56 is there supposed to be one? 21:07:25 SimonRC: I don't understand what you're trying to say, can I have some context or did you type into the wrong channel? 21:07:38 the video that RodgerTheGreat posted 21:07:42 ah, you're referring to RodgerTheGreat's comment 21:08:05 hunh. Tried refreshing? 21:08:12 yes 21:08:18 am I missing much 21:08:31 not really 21:08:43 the audio will honestly give you most of it 21:12:15 -!- oerjan has quit ("Good night"). 21:13:01 ah, the "missing digit" one is via casting out nines, I suspect 21:14:02 and the previous ones are simplified by knowing your times tables up to 100 21:14:56 thoguh eh might not 21:15:32 * SimonRC tries to recall the Lewis Caroll technique for finding the day of the week of a date. 21:18:33 ah, yes, he is using his tables up to 100 21:19:16 ooh, nice memorisation hack 21:19:20 (though it is standard) 21:20:18 pretty simple techniques, he simply applies them with tremendous speed and accuracy 21:21:57 this is the same kind of thing: http://www.youtube.com/watch?v=wIiDomlEjJw 21:23:24 otoh, see the tale of richard feynmann and the abacus-seller 21:23:52 link? 21:26:22 erm, in the book "Surely You're Joking Mr Feynmann" 21:26:27 a great book for any geek 21:26:40 I have heard it's very entertaining. 21:26:48 hm... lemme see how much it is on Amazon... 21:27:47 about $8 including shipping. 21:28:27 I've read it too 21:28:37 it's a good book, but the sequel is much worse 21:28:48 sequel? 21:28:50 (I can't remember what the sequel is called) 21:28:58 (probably because it wasn't very good) 21:29:10 amazon should know 21:29:18 or WP for that matter 21:52:44 wow: http://www.pdp8.net/sound/sound.shtml 21:53:08 -!- calamari has joined. 21:58:16 -!- jix has quit ("CommandQ"). 22:05:43 -!- ais523 has quit ("my quit message will never be as good as GregorR's :("). 23:06:43 -!- RedDak has quit (Remote closed the connection). 23:11:16 * SimonRC goes. 23:12:03 bais 23:34:13 -!- timotiis has quit ("leaving"). 23:54:09 -!- Corun has joined. 2008-02-28: 00:10:02 -!- Tritonio_ has joined. 00:12:50 -!- calamari has quit ("Leaving"). 00:21:23 Why are there 8.388.606 different values for NAN :o 00:22:02 Oh, it's also independant of the sign bit. So 16 millions :o 00:22:39 The more the merrier! :-P 00:22:46 celebrating diversity! 00:23:12 Well, I don't want to be racist and all, but if someone isn't a number, he should go back to his country. 00:24:27 apparently, there were political issues with excluding so many non-numbers from the standard 00:25:02 Affirmative action strikes again! 00:25:18 But you don't see them giving a third value to the infinities! 00:25:21 Sickening. 00:36:20 -!- Corun has quit ("This computer has gone to sleep"). 01:02:49 -!- sebbu has quit ("@+"). 01:22:39 -!- Overand has quit ("Reconnecting"). 01:22:41 -!- Overand has joined. 01:22:57 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 01:41:13 -!- Sgeo has joined. 03:41:49 goodnight everyone 03:44:09 -!- Tritonio_ has quit (Remote closed the connection). 03:47:15 http://youtube.com/watch?v=gCh-fOTGgks&feature=related 03:47:17 D: 03:47:20 D: 03:47:21 D: 04:13:43 Why D:? 04:15:40 I mean, besides the sucky attempt at singing 04:18:25 That's also horribly written. 04:18:50 I stopped at 'Formally, a Turing can be defined as'. . . 04:19:01 Just *ouch*. 04:19:14 My music-loving soul wants to execute him. 04:19:15 He won't win no gold. 04:19:58 Is there a good program to deal with graphs? 04:20:06 Bonus point for visualisation. 04:20:30 Is there a good way of embedding a graph in LaTeX? 04:20:41 Something that would be able to deal with some transformation on the graph, so that I might try to build the Andrei machine. 04:20:44 9000. 04:26:24 I just don't dare to google "graph". 04:50:47 http://gato.sourceforge.net/ 04:50:48 Ahah! 04:53:49 * Sgeo posts on Fark: Completely 100% irrelevant and off-topic, but when I see someone say "gObama", I immediately think of gOS.. Is Obama sponsored by Google? 04:53:49 /waits for someone to not recognize a joke 04:53:49 //darn 04:53:53 Aw shit. I need some modules. 04:54:02 http://forums.fark.com/cgi/fark/comments.pl?IDLink=3430569 05:27:44 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 05:29:55 Argh. 05:30:16 I'm having trouble sleeping, because I have a graph doing the Fibonacci jig in my head. 06:22:58 -!- dbc has joined. 06:54:30 -!- oerjan has joined. 07:20:29 -!- immibis has joined. 07:31:03 -!- cherez has quit ("Leaving."). 07:31:46 -!- cherez has joined. 07:52:11 -!- immibis has changed nick to we. 07:52:18 -!- we has changed nick to u. 07:52:22 * u farted 07:52:39 * u r teh ..... what should i put here? 07:54:13 http://en.wikipedia.org/wiki/U_Thant 07:55:15 * u ask freenode to unban "you" as a nick 07:56:07 -!- u has changed nick to me. 07:56:38 * you hit! 07:56:38 * me knows better than to start a sentence with "me", that's why he's changing his nick to "I" 07:56:40 -!- me has changed nick to I. 07:56:51 * I changed my nick 07:56:56 lol 07:58:00 -!- I has quit (Nick collision from services.). 07:58:43 lol 07:58:46 -!- immibis_ has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:38 d'oh 08:00:39 [20:56] --NickServ-- This nickname may not be used. Please choose another. 08:00:39 [20:56] --NickServ-- If you do not change within one minute, you will be disconnected 08:00:40 [20:56] --NickServ-- This nickname may not be used. Please choose another. 08:00:40 [20:56] --NickServ-- If you do not change within one minute, you will be disconnected 08:00:45 [20:56] --NickServ-- This nickname may not be used. Please choose another. 08:00:45 [20:56] --NickServ-- If you do not change within one minute, you will be disconnected 08:00:46 [20:56] --NickServ-- This nickname may not be used. Please choose another. 08:00:46 [20:56] --NickServ-- If you do not change within one minute, you will be disconnected 08:00:57 d'oh again i didn't mean to do that 08:01:16 -!- immibis_ has changed nick to immibis. 08:07:31 ok. "you" is out. "I" is out. 08:07:34 -!- immibis has changed nick to we. 08:07:51 i wonder if NS will let me register "I" and disable that protection... 08:07:53 -!- we has changed nick to I. 08:08:17 -!- tejeez has quit (brown.freenode.net irc.freenode.net). 08:08:17 -!- Deewiant has quit (brown.freenode.net irc.freenode.net). 08:08:19 -!- I has changed nick to immibis. 08:08:19 nope 08:09:27 -!- immibis has changed nick to GreaseMonkey. 08:09:51 -!- GreaseMonkey has changed nick to immibis. 08:11:11 -!- immibis has changed nick to u. 08:11:20 * u will like me having this nick or else 08:11:26 -!- u has changed nick to yu. 08:16:05 * yu will say something 08:17:38 * yu WILL follow the directions on this sign. The sign says "Stop. Drive sideways." 08:17:55 "three types of ball are offered. They are one. two. three." 08:22:02 "In my attempt to kill a fly, I drove into a telephone pole." 08:22:13 "The telephone pole was approaching fast. I was attempting to swerve out of its path when it struck my front end." 08:22:23 # "The guy was all over the road. I had to swerve a number of times before I hit him." 08:24:56 -!- yu has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 08:52:14 -!- jix has joined. 09:30:48 -!- tejeez has joined. 09:34:27 -!- oerjan has quit ("Later"). 09:37:09 -!- lifthrasiir has quit (brown.freenode.net irc.freenode.net). 09:37:10 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 09:37:11 -!- Deewiant has joined. 09:37:58 -!- puzzlet has joined. 09:37:58 -!- lifthrasiir has joined. 09:39:34 -!- jix has quit (Read error: 110 (Connection timed out)). 09:40:46 -!- olsner has quit ("Leaving"). 10:39:26 -!- jix has joined. 10:53:29 -!- Corun has joined. 10:53:52 -!- Corun has quit (Client Quit). 11:05:12 -!- mental has joined. 11:05:32 -!- lament has quit (Read error: 113 (No route to host)). 11:36:19 -!- jix has quit ("This computer has gone to sleep"). 12:00:29 -!- jix has joined. 12:02:58 -!- AnMaster_ has joined. 12:04:08 -!- AnMaster has quit (Nick collision from services.). 12:04:36 -!- AnMaster_ has changed nick to AnMaster. 12:21:17 -!- Tritonio_ has joined. 12:25:04 -!- jix has quit ("This computer has gone to sleep"). 12:34:55 -!- sebbu has joined. 13:18:12 -!- RedDak has joined. 13:22:55 -!- sebbu has quit (Read error: 60 (Operation timed out)). 13:32:11 -!- jix has joined. 13:57:54 -!- jix has quit ("This computer has gone to sleep"). 14:07:55 in brainfuck, is it the case that a + or - directly in front of a "," can be optimized away? 14:08:17 -!- sebbu has joined. 14:21:59 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 14:22:01 -!- slereah__ has joined. 14:49:00 -!- wildhalcyon has joined. 14:49:40 -!- slereah_ has joined. 14:51:50 Well, if it's in front of a , you can probably remove it 14:52:38 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 14:54:21 slereah_, hm ok 14:54:35 also strings of + and - can be optimized 14:54:38 like ++- 14:54:40 to just + 14:54:57 * AnMaster is pondering a brainfuck optimizer 14:55:22 one thing that is obvious (in the compiler or interpreter), replace [-] or [+] with "zero cell" opcode 15:01:56 Where can I get the Profile module for Python? 15:22:34 I was thinking of writing a hyperexponentiation program in bf 15:23:48 use a trinary operator (x,h,y) where it computes x^^..h..^^y 15:26:48 ... seems a little hard maybe 15:27:14 * slereah_ 's trying to write an addition program on a Kolmogorov machine 15:27:45 -!- Corun has joined. 15:28:10 -!- slereah_ has changed nick to Slereah. 15:29:16 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)). 15:48:22 -!- slereah_ has joined. 15:49:01 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 15:50:07 -!- jix has joined. 16:00:38 -!- jix has quit ("CommandQ"). 16:00:58 -!- jix has joined. 16:17:59 -!- ehird` has joined. 16:19:22 foobar 16:23:34 ooh 16:23:37 immibis has been spamming again 16:24:17 AnMaster: brainfuck optimization is pretty advanced these days 16:24:24 the stuff you have talked about is 3-line stuff 16:24:37 nowadays we optimize linear loops to O(1) and multiplication and everything ;O 16:28:46 ehird`, ah 16:28:55 ehird`, can you point me to an example of that? 16:29:26 AnMaster: of what 16:29:26 Well, I'm sure EsCo can satisfy all your BF needs! 16:29:29 slereah_: tee hee 16:30:03 AnMaster: http://mazonka.com/brainf/bff4.c this optimizes linear loops to O(1) if compiled with -DLNR 16:30:12 http://mazonka.com/brainf/index.html some benchmarks 16:30:15 interesting 16:30:41 it's the fastest bf interp out there 16:31:11 hrrm 16:31:18 it seems to use ints, though, not chars 16:31:21 someone should write a bf frontend for gcc 16:31:30 nah 16:31:32 what's the point?| 16:31:39 gcc wouldn't be able to do much to the code 16:31:43 ehird`, cross platform :P 16:31:47 ESO1's reference will include a fast bf interp and compiler anyway 16:31:52 AnMaster: so what 16:31:55 x86, x86_64, whatever arch you want 16:32:01 compiling to machine code is pointless for BF 16:32:14 compile to good C, and then gcc -O3, because gcc can spot idioms better than you 16:32:17 especially in C. 16:32:20 ehird`, nah you could do common code reduction to "un-inline" it 16:32:25 sigh 16:32:31 AnMaster: gcc is not suitable for this 16:32:35 http://www.swapped.cc/bf/ <-- the reigning champ interp before bff4 16:32:36 for size that could be nice 16:32:38 ehird`, hm true 16:33:12 oh -- and bff4.c doesn't do interactive input 16:33:15 it's dbfi 16:33:18 prog!input 16:33:24 so no luck running e.g. lostkng.b on it 16:33:39 anyway, the ESO1 reference suite will be the best one out there when it's worked on, i'll bet 16:33:42 ehird`, aww 16:33:42 Well, you could do lostkng!the solution 16:33:47 And just watch it! 16:33:48 slereah_: hehe 16:33:51 ehird`, well I want interactive input 16:33:53 lostkng is only slow in startup 16:33:54 that's important for me 16:34:00 AnMaster: http://www.swapped.cc/bf/files/bff-1.0.3.1.tar.gz 16:34:05 or.. 16:34:11 I'll mod bff4.c for interactive. 16:34:15 Should just take a mo. 16:34:16 ehird`, or I could mod it 16:34:20 naw 16:34:22 * AnMaster is a C programmer too 16:34:22 i'm far cooler 16:34:23 ;) 16:34:34 i love the style of code in bff4.c 16:34:35 it's so opaque 16:34:54 ehird`, possibly, but I'm way geekier, I updated mosaic to support basic xhtml and plan to make it good enough to use it as my normal browser 16:34:56 * slereah_ is not a programmer at all 16:34:56 Damn you people and your fancy code! 16:34:57 yes I'm mad! 16:35:00 BHAHAHAHA! 16:35:12 ;P 16:35:16 AnMaster: why would you want to do that, though? 16:35:22 mozaic isn't even useful, like lynx is 16:35:25 Let's hook up AnMaster on PSOX 16:35:27 it's just crap 16:35:28 ehird`, because it make ppl ask why I want to do it 16:35:31 slereah_: gawd no :D 16:35:32 ;P 16:35:36 what is PSOX? 16:35:46 AnMaster: i'm way geekier, i started making an OS once! :( 16:35:48 ehird`, and I run a gopher server 16:35:48 it sucked, sure, but hey 16:35:52 i got it to print hello world :| 16:36:00 http://www.esolangs.org/wiki/PSOX 16:36:29 psox 16:36:30 hrrm, what's on the other side of the scale of minimalism 16:36:31 is horrid 16:36:35 do not listen to it AnMaster! :( 16:36:38 bf is near the bottom 16:36:42 so what is at the top? 16:36:44 AnMaster: malbolge 16:36:44 intercal? 16:36:45 or intercal 16:36:52 Unikitten 16:36:53 orr 16:36:53 ORK 16:36:56 slereah_: well, yeah 16:36:59 ehird`, well malbolge doesn't have a lot of opcodes 16:37:00 unikitten is the most bloated thing out there 16:37:09 AnMaster: http://www.esolangs.org/wiki/ORK 16:37:11 just verbose though 16:37:16 http://www.esolangs.org/wiki/PSOX <-- wowowowow though 16:37:18 Well, once it exists. 16:37:31 unikitten? 16:37:31 AnMaster: it's horrid 16:37:35 Sgeo doesn't know what malloc() is 16:37:36 someone tried lolcode? 16:37:43 sgeo? 16:37:44 and he thought a good 'networking' domain was HTTP 16:37:45 :( 16:37:48 AnMaster: PSOX maintainer. 16:37:54 ah 16:38:02 Lolcode isn't very esoteric. 16:38:03 ehird`, well what do you mean not know malloc? 16:38:06 slereah_, that's true 16:38:11 AnMaster: he had no idea what it was 16:38:11 lolcode is just weird 16:38:14 just none 16:38:18 ehird`, err, weird 16:38:24 AnMaster: he only knows Python.. 16:38:25 you can't code C without knowing it 16:38:32 he doesn't even know basic brainfuck algorithms, really 16:38:37 ehird`, well if it is written in python? 16:38:38 and he's probably watching me say this right now 16:38:44 Heh. 16:38:49 AnMaster: yes, but it would affect the architechtural stuff of it 16:39:03 ehird`, just bohem-gc *runs* 16:39:14 boehm gc has malloc. 16:39:15 heh. 16:39:18 I actually use bohem-gc, for a leak detector :) 16:39:24 I use boehm-gc. 16:39:28 it's excellent. 16:39:31 combined with valgrind and mudflap it is quite useful 16:39:35 (for real GC) 16:39:49 ehird`, it isn't, how do I register an allocation from X for example 16:39:50 that is 16:39:54 X allocated a widget 16:40:00 AnMaster: you asked this last time 16:40:01 I need to place some pointers in widget 16:40:06 because manuals are too difficult to read for you, apparently 16:40:10 ehird`, yes I read the docs, and found no way 16:40:14 :/ 16:40:26 AnMaster: go ask in #c 16:40:32 i cba to explain 16:40:42 ehird`, "cba" means? 16:40:59 ehird`, well #c is an unfriendly channel 16:41:07 :/ 16:41:33 it sure is 16:41:37 and it has PoppaVic 16:41:42 cba=can't be arsed 16:41:46 ehird`, exactly! 16:41:55 anyway, I read the docs 16:42:00 I read the header files 16:42:11 still no idea how to tell it about an already malloced object 16:42:38 I tried GC_add_roots, no idea why it didn't work :/ 16:44:45 if( strchr(",.",a) ){ a=getbf(); continue; } 16:44:55 getbf only litsens to BF instructions 16:44:58 so surely, this is a bug 16:46:35 ehird`, the getbf? 16:46:41 or the GC_add_roots? 16:49:18 Darn, Gregor -= CMU :P 16:49:23 -!- slereah__ has joined. 16:52:09 GregorR: Those guys made CMUCL. You don't want to be anywhere near them! 16:52:11 x) ehird@ehird-desktop ~/LostKingdomBF $ ../bff4 LostKng.b 16:52:12 16:52:15 doggarn! 16:52:22 lol 16:53:48 GregorR: have you ever looked at bff4.c? :P 16:53:55 Probably. 16:54:14 Hmm. 16:54:27 eso1's reference interpreter/compiler needs a name. 16:54:30 ehird`, someone need to use better variable names 16:54:34 and more comments 16:54:44 AnMaster: the source is not that hard to understand; just at first 16:54:51 verbose c code is horrible 16:55:32 ehird`, true, but so is obfuscated as well 16:55:44 this ain't obfuscated 16:56:03 AnMaster: This is obfuscated C: http://nsl.com/papers/origins.htm 16:56:17 and what's more, that guy actually writes all his C like that, and seriously 16:56:18 :-) 16:56:53 I don't believe that 16:57:30 AnMaster: APL. 16:57:34 He also made K. 16:57:36 APL? 16:57:39 hahah 16:57:53 http://www.kx.com/a/k/examples/read.k 16:57:54 that's some k code 16:57:57 translates k to english 16:57:58 -!- Slereah has joined. 16:58:12 oh god 16:58:20 it needs to be run on itself 16:58:31 http://www.kx.com/a/k/examples/xhtml.k this parses xhtml 16:59:10 AnMaster: KDB, a very widely used, fast, stable etc. database program, used by loads of finance stuffz, made by Kx systems (same people as K, obviously), is written in K 16:59:16 and according to them, contains 0 loops 16:59:22 crazy crap 16:59:32 why no loops? 16:59:36 what is wrong with loops? 16:59:39 AnMaster: it's an array programming language 16:59:57 scalar values in K etc are just 0d arrays 17:00:02 I see 17:00:09 1 2 3 + 1 2 3 == 2 4 6 17:00:10 but why no loops? 17:00:17 so basically all operations are generalized across arrays 17:00:19 I wish I could write C code like that 17:00:24 so you don't have to loop over an array 17:00:34 AnMaster: because that's the style of array programming languages 17:00:36 ehird`, ok, but on hardware level it would loop 17:00:39 wildhalcyon: me too! it's not easy. 17:00:44 AnMaster: gosh, really 17:00:50 i thought faeries did it 17:00:55 lol 17:01:04 ehird`, anyway what's so nice with "no loops" 17:01:13 I mean, why would anyone boost with it? 17:01:14 AnMaster: it's array programming language style. 17:01:19 I would disagree with anyone who told me it WAS C code unless I knew already 17:01:23 well they obviously prefer it 17:01:45 -!- Slereah- has joined. 17:02:15 http://nsl.com/papers/unlambda.htm unlambda in k 17:02:36 k? 17:02:39 did i mention that in K it's actually shorter & more trivial to write a gui app than a console one? it's really, really weird 17:03:10 http://nsl.com/papers/befreak.htm this interp+gui = http://nsl.com/k/befreak.k 17:03:50 -!- RodgerTheGreat has joined. 17:04:35 ehird`, where can one read about the k language itself? 17:04:49 AnMaster: http://www.kuro5hin.org/story/2002/11/14/22741/791 17:04:54 that introduces it very gently. 17:05:00 AnMaster: i must warn you though; it's not open source 17:05:05 ehird`, ah 17:05:09 then I won't use it 17:05:15 kx systems used to offer a free interpreter for most systems, but they appear to have stopped 17:05:30 ehird`, couldn't someone make an open source compiler for it (why would anyone want that?) 17:05:39 AnMaster: compiler, no. 17:05:42 interpreter, yes. 17:05:46 but the k library is huuuuuge 17:05:52 i doubt it would be feasable to reproduce it 17:06:01 without years and years of stuffs 17:06:36 library hm? 17:07:27 AnMaster: all its stdlib 17:07:27 -!- slereah__ has quit (Read error: 110 (Connection timed out)). 17:07:31 i.e. more than the basic lang 17:07:31 ah 17:07:40 which already uses most characters on a keyboard, I'll venture 17:12:19 -!- slereah_ has quit (Read error: 110 (Connection timed out)). 17:15:20 -!- Slereah has quit (Read error: 110 (Connection timed out)). 17:15:26 Hell, Kolmogorov didn't have I/O on his mind with his machine. 17:16:42 typedef enum { 17:16:42 ADD, 17:16:42 MOVE, 17:16:42 SET, 17:16:42 WHILE, 17:16:43 IF, 17:16:45 INPUT, 17:16:47 OUTPUT 17:16:49 } op_t; 17:16:51 i should expand that, sometime. 17:17:08 ehird`, hm? 17:17:12 What is it for? 17:18:17 bfi 17:18:30 the ESO1 reference interpreter 17:21:26 'It's impractical to program in BrainFuck.' GENIUSES, ON THE INTERNET 17:21:52 Where? Where! 17:22:05 some ridiculous forum 17:22:20 Lynxplz 17:22:50 too late 17:24:26 Slereah-: how can you optimize linear loops, actually? 17:24:26 like 17:24:30 -!- Sgeo[College] has joined. 17:24:34 [++>--<+++>>>-<+>--<<++<+>-<-] 17:24:34 Hi all 17:24:36 hmm, wait.. 17:24:47 no, i have no idea how you can optimize that 17:24:47 I don't know, I'm not the one who can optimise BF! 17:24:56 grr why am I not connecting to Sine? 17:25:25 ehird`: can you connect to Sine? 17:25:46 I guess you could try to run what's inside and look at the results. 17:25:49 hmm 17:25:54 maybe i should: 17:25:56 And then change it to something more efficient 17:26:04 like, if you have a program going right 4357345 cells 17:26:07 then back to cell 1 17:26:11 i wonder if GC would be useful 17:26:18 Slereah-: I meant, algorithmically. 17:26:32 Well, that was my algorithmical idea. 17:26:42 I'm not the algorithm expert. 17:34:16 [++>--<+++>>>-<+>--<<++<+>-<-] ... Optimizing ... [+++++>-->>-<+>--<<++<+>-<-] ... 17:34:27 Oooh, I spy bf 17:35:19 Algorithm : 17:36:00 Post loop to wildhalcyon 17:36:00 Wait for answer 17:36:11 [+++++>-->>-<+>--<<++<+>-<-] ... Optimizing ... [+++++>-->>-<+>--<<++<>-<] ... 17:37:20 [+++++>-->+++>->---<] 17:37:20 Am I doin it rite? 17:37:29 [+++++>-->>-<+>--<<++<>-<] ... Optimizing ... [+++++>-->+>---<<++<>-<] ... 17:37:44 Yours seems correct 17:38:11 wait.. maybe not 17:40:57 "<>" 17:41:05 Surely that can be optimized out? 17:41:12 Here's the correct optimization: [+++++>->+>---<<<] 17:41:45 wildhalcyon: But.. 17:41:48 bff4.c 17:41:53 says it optimizes balanced <> loops into O(1) 17:42:04 http://mazonka.com/brainf/bff4.c 17:42:23 uh huh? 17:42:38 wildhalcyon: Well, that optimization of yours isn't O(1). 17:42:50 wait 17:42:51 not O(1) 17:42:52 one setp 17:42:55 *step 17:43:03 I don't see how that's possible 17:43:33 wildhalcyon: Take a look at its code 17:43:37 I don't know either, but it does do it. 17:44:27 Bah, now I have to read code. Today is just sucky. 17:44:55 Its not one step. He uses a for loop. 17:49:19 -!- Corun has quit ("This computer has gone to sleep"). 17:49:32 It is optimized, but not to O(1), only to O(n) where n is the number of cells traversed in the linear loop. 17:52:59 wildhalcyon: Ah. 17:53:13 wildhalcyon: So not that much of an optimization? 17:53:30 Well, it depends on how badly the code is written, but in general, no, not really an optimization. 17:53:43 Might help with compiled; e.g. lostkng.b, I guess. 17:54:03 Still, bfi&bfc will include it. 17:54:43 wildhalcyon, how did you optimize above 17:54:47 as in 17:54:48 [+++++>-->>-<+>--<<++<>-<] ... Optimizing ... [+++++>-->+>---<<++<>-<] ... 17:54:59 anyway <> is redundant 17:55:30 I agree, it is 17:55:41 wildhalcyon, anyway how did you do do convert it? 17:55:44 I was doing it in steps 17:55:47 ah 17:55:53 wildhalcyon, but how? 17:55:54 After that, I abandoned that approach and tried something much faster 17:56:26 Go through the loop and number each ">" or "<" by what cell it ends up pointing to 17:56:37 hm ok 17:56:47 yes that makes sense 17:56:50 so the original loop looks like this: [++1--0+++123-2+3--21++0+1-0-] 17:56:57 Now, just sort and group the terms together 17:57:07 ok 17:57:16 Remove the extra arrows, and any cancelling positive and negative signs. 17:57:18 That's it 17:58:12 hrrm, bf is really RISC :) 17:58:51 Like most esolangs. 17:59:52 Well, more instructions usually mean convenient programming. Last time I checked, esolangs were the opposite of convenient. 18:00:36 What, convenient programming? We don't like convenient programming here! 18:00:37 wowzers, gcc can optimize pure functions 18:00:40 it's almost a FP compiler 18:00:41 :-) 18:00:48 Slereah-, intercal :) 18:01:15 ehird`, of course it can, when marked with __attribute__((const)) iirc 18:01:44 no 18:01:48 that's there too 18:01:49 hm? 18:01:49 but 18:01:53 __attribute__((pure)) 18:01:58 makes it optimize it just like a mathematical operator 18:02:00 subexpression stuff, etc 18:02:01 ehird`, difference is in pointers iirc 18:02:12 BFI_GCC_ATTR((noreturn, format(printf, 4, 5))) void bfi_die(bfi_err_code, int, int, char *, ...); 18:02:15 ugliest definition EVAR 18:02:39 I mean, I have the attribute declarations on a line, but then it's too long, so the whole funcdef itself has its own line 18:02:48 oh 18:02:50 and this: 18:02:51 #define BFI_FOPEN(fn, md) \ 18:02:51 (fopen((fn), (md)) || \ 18:02:55 ((BFI_ERR(BFI_ERR_FOPEN, "BFI_FOPEN(%s, %s) - %s", #fn, #md, \ 18:02:57 strerror(errno))), NULL)) 18:02:58 ehird`, agreed, you can just do: #ifndef __GNUC__ #define __attribute__(x) /**/ #endif iirc 18:02:59 which i still haven't perfected yet 18:03:06 AnMaster: yes 18:03:09 well 18:03:15 i don't want to define anything not BFI_ or bfi_ prefixed. 18:03:23 this should be non-conflicting all the time :-) 18:04:23 # define BFI_ERR(code, fmt, ...) \ 18:04:23 (bfi_die((code), __FILE__, __LINE__, (fmt), __VA_ARGS__), return (code)) 18:04:24 ehird`, well I'll make a C compiler called bficc then? (Basic Functional Integrated C Compiler, don't ask me what THAT means...) 18:04:25 kinda ugly. :D 18:04:32 AnMaster: heh. 18:04:35 ehird`, and C99 18:04:36 :P 18:04:46 so what if it's c99 18:04:49 i need variadic macros 18:04:52 ehird`, it's great :) 18:04:54 the rest will be ansi c 18:04:57 * AnMaster codes C99 too 18:05:00 actually, you're right.. i really want c89 18:05:02 this is for ESO 18:05:06 this interp should work in 845793845345 years 18:05:06 :) 18:05:12 AnMaster: could i do this: 18:05:21 myprintfalikemacro(a,b,("x",y,z),abc) 18:05:25 since cpp would treat that as one arg 18:05:35 BFI_ERR1(code, fmt, arg1); BFI_ERR2.... 18:05:37 and so on? 18:05:45 uhh, dunno how to splice that into the printf call though 18:05:47 I saw some c89 code doing something like that 18:05:48 AnMaster: meh 18:05:55 ehird`, up to ARGS10 18:05:59 hah 18:06:03 i'll just do 3, for now 18:06:15 ehird`, for doing one function definition, for K&R C and ANSI C 18:06:17 :( 18:06:58 #define ARGS2(t,a,u,b) \ 18:06:58 (t a, u b) 18:07:03 for ANSI C 18:07:11 I don't have the K&R version around still 18:07:19 ehird`, horrible 18:07:24 AnMaster: the only interpreters/compilers that will be ESO-approved as reference implementations are either ANSI C89 or languages with an interp approved by es 18:07:25 o 18:07:39 so you can have a stack of 4 interpreters, as long as you have ANSI C89 at the bottom. 18:07:46 they are designed to be the most portable out there. 18:07:53 they don't need to be the prettiest code on earth 18:08:04 ehird`, so? GCC 4 can be compiled with a C89 compiler I bet 18:08:12 called bootstrapping 18:08:20 ehird`, problem solved :) 18:08:27 AnMaster: you are amusing 18:08:37 ehird`, huh? 18:08:51 GCC does suported staged bootstrap 18:09:44 ehird`, in any case, that means you are free to code C99 I think? 18:09:45 right? 18:09:51 that is so not the point 18:10:02 hm? 18:10:25 you could even use GCC specific extensions 18:10:27 :P 18:11:42 exactly; why do you think a lot of projects don't? 18:11:45 because your idea is ridiculous 18:11:59 indeed it is :D 18:15:04 this is beautiful: 18:15:07 void *foo = BFI_MALLOC(43594357934857435); 18:15:07 --> 18:15:12 void *foo = (malloc(43594357934857435) || (((bfi_die((BFI_ERR_OOM), "test.c", 6, ("BFI_MALLOC(%s)"), ("43594357934857435")), return (BFI_ERR_OOM))), ((void *)0))); 18:15:57 oh god 18:16:03 why such a large malloc 18:16:10 ehird`, and this will fail at: 18:16:14 int x = 4; 18:16:22 void *foo = BFI_MALLOC(x++); 18:16:24 ;P 18:16:32 or possibly ++x 18:16:37 AnMaster: a large malloc to test my error handling 18:16:37 duh 18:16:40 and sure it will 18:16:45 but that's because the user is an idiot 18:16:47 actually 18:16:49 no it won't 18:16:53 ehird`, hehehe :) 18:16:55 that will be 18:17:06 void *foo = (malloc(++x) || (((bfi_die((BFI_ERR_OOM), "test.c", 6, ("BFI_MALLOC(%s)"), ("++x")), return (BFI_ERR_OOM))), ((void *)0))); 18:17:10 because the argument is stringified 18:17:16 i did that on purpose, to avoid re-evaluation 18:17:26 ehird`, heh , the # operator iirc? 18:17:29 yes 18:17:34 is that in C89? 18:17:35 hm 18:17:39 it may be less useful since you don't get the actual int, actually 18:17:41 and yes, it is, AnMaster 18:17:44 k 18:17:53 i may make it reevaluate for the sake of better error messages 18:17:56 and assume the caller isn't an idiot. 18:18:12 ehird`, BFI_MALLOC(rand()) *runs* 18:18:26 AnMaster: I said something about the caller not being an idiot 18:18:36 shiiit 18:18:37 i can't do 18:18:39 (a, return b) 18:18:50 crappers, how am i going to make BFI_MALLOC expressionable then 18:18:59 it needs to be able to return from the function it's called in 18:19:03 that's why its a macro in the first place 18:19:12 hrm 18:19:16 -!- wildhalcyon has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.11/2007112718]"). 18:19:17 ehird`, longjmp ;P 18:19:25 AnMaster: which requires a setjmp. 18:19:33 or 1) a macro that calls 2) a function for most of it's stuff 18:19:35 and a variable decl, which i also can't expressionize 18:19:42 and, AnMaster, that still doesn't help 18:19:43 the fact is 18:19:55 i need to use BFI_MALLOC in an expression, because of 'void *p = BFI_MALLOC(...)' 18:20:01 but in the function doing that 18:20:03 if the malloc fails 18:20:03 hm true 18:20:06 i must return BFI_ERR_OOM 18:20:21 which i cannot do, as far as i can see, in expression context 18:20:24 there is a gcc extension: 18:20:26 ({ ... }) 18:20:30 but, well, gcc extension. 18:20:30 :) 18:20:36 ehird`, yes I know about that 18:20:59 ehird`, idea: use a different macro language first 18:21:03 lool 18:21:04 like first process file in m4 18:21:10 very funny, AnMaster 18:21:13 then compile result using normal C preprocessor 18:21:16 ehird`, and mad :D 18:21:46 -!- mental has changed nick to lament. 18:22:45 best anagram evar 18:23:10 heheh 18:27:58 Steraman 18:28:32 Slereah-, that's an anagram of my nick isn't it? 18:29:01 however, aspell doesn't accept "Steraman" as valid, nor can I find any sub parts of it that are valid 18:29:05 Yes. Yes it is3 18:29:11 An being my initials btw 18:29:27 We're doing MS Visio now 18:29:32 But it has a certain super hero ring to it. 18:29:40 Slereah-, hrm true 18:29:42 I added two entities more than the slide we're copying had 18:29:43 :D 18:29:53 * Sgeo[College] is about to die of boredom 18:30:04 what is MS Visio? 18:30:26 S also be my initial :o 18:30:30 S. Lereah 18:32:01 -!- RedDak has quit (Remote closed the connection). 18:32:44 Hm. 18:32:59 ais. Gregor R. Rodger the Great. 18:33:07 There seems to be a trend here. 18:33:22 Simon RC :o 18:34:13 -!- ehird` has quit (Read error: 113 (No route to host)). 18:35:59 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client"). 18:41:25 -!- ehird` has joined. 18:43:59 -!- oerjan has joined. 18:46:18 http://you.presscue.com/node/550 18:46:20 hehe 18:46:23 modularity ftw 18:48:47 Heh. 18:48:58 *right click* 18:50:06 * oerjan ponders: Is it a good or a bad thing that dying of boredom takes a long time :D 18:50:21 oh sgeo left 18:50:42 Yes. To a better place. 18:50:47 May he rest in peace. 18:51:48 wouldn't that risk recursion... 18:59:42 -!- timotiis has joined. 19:01:40 bsmntbombdood: that's pretty silly 19:01:41 :) 19:02:00 Slereah-: oh wow, *right click*. as if apple still sold one-button mice. 19:02:28 Yes. Now they have a middle button, that doesn't work like a right click at all :o 19:02:44 err, no. 19:02:48 they have left, right. 19:02:58 the mighty mouse also has a 3d scrollwheel which can be clicked and two side buttons 19:03:00 but that's not important. 19:03:10 and their right click most certainly works properly... 19:03:12 Orly? 19:03:12 Then my mom needs to buy a new mac :o 19:03:16 Right click, context menu, oh wao. 19:03:24 and -- most likely. 19:03:28 Or.. 19:03:30 Just a new mouse. 19:05:18 http://bp0.blogger.com/_XNXLcHFsW1U/R8Z894yBmcI/AAAAAAAACaQ/p4RK6SwloFM/s1600-h/306139.jpg 19:05:19 loflgasm 19:09:01 bsmntbombdood: lmao 19:15:53 -!- slereah_ has joined. 19:15:56 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)). 19:16:39 obtw 19:16:44 * bsmntbombdood is a free man now! 19:16:52 Were you a slave before? 19:16:56 * bsmntbombdood turned in his school-withdrawal papers today 19:17:10 yup 19:18:14 So what will you do now! 19:19:44 i know it's cliche, but i'm thinking of traveling and then starting my distillery 19:20:28 But what of prohibition! 19:21:41 um 19:21:56 the 21st ammendment was ratified 70 years ago 19:23:12 If you're travelling, don't travel to the past then! 19:23:56 wtf are you talking about 19:24:15 Time travel. 19:56:31 crap! i can't use getopt for bfi 19:56:47 because: it's not standard C. :) 19:59:18 Do you think it'd be a neat idea if my assembler could be instructed that a given chunk of data memory is "for constants" (ie, they will never be written to during execution), and then have it search the rest of the program for that value? 19:59:59 Like, if an instruction anywhere used the value 13, and you're looking for a 13, you just give the data half of that instruction as the address your constant 13 is stored, rather than using additional memory 20:01:12 if used improperly, you could inadvertently create some really nasty self-modifying code situations, but if used properly, you could potentially squeeze many bytes out of the finished binary 20:03:47 RodgerTheGreat: Whatever it is it should be done automatically. 20:03:50 I think if I combine this with some other ideas, I'll wind up with a very size-efficient compiler with *spectacular* results in out-of-bounds errors 20:03:54 ehird`: yes, naturally 20:03:58 RodgerTheGreat: No -- I mean 20:04:01 no src file change 20:04:29 It's much better if users simply declare data as "constant" and then everything else is automated 20:04:37 no 20:04:40 that's too manual 20:05:07 well, not doing that and still having it work is on the order of the halting problem 20:07:27 as a general rule, you should not try to solve the halting problem in a hobby project. 20:07:37 yes you should 20:07:43 RodgerTheGreat: anyway, herueruerueruerusitics 20:07:48 exactly, which is why I'm doing my way instead of ehird`'s way 20:10:21 POLL: 20:10:36 should bfi/bfc parse brainfuck from a file, or read it in first then parse a string? 20:18:12 bfi_ins *bfi_parse(FILE *f, bfi_err_code *err) 20:18:12 { 20:18:12 bfi_ins *res = (malloc(sizeof(bfi_ins)) || (((void *)0)), ((void *)0)); 20:18:12 if (!(res)) { if ((err)) { *(err) = (BFI_ERR_OOM); } return ((void *)0); }; 20:18:12 return res; 20:18:12 } 20:18:15 I love you, cpp 20:48:13 hmm 20:48:15 question... 20:48:23 in brainfuck, you actually don't need a move instruction, do you? 20:48:27 i mean, a compiler doesn't need one 20:48:34 oh, wait 20:48:37 you do, for loops that > 20:48:50 -!- olsner has joined. 20:49:39 -!- Sgeo[College] has joined. 21:05:41 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client"). 21:20:08 I LOVE RICK ROLL 21:21:14 we're no strangers to rick roll 21:21:21 dooby dooby doo 21:21:30 NEVER GONNA GIVE YOU UP 21:21:35 NEVER GONNA LET YOU DOWN 21:21:36 What is love? 21:21:42 * slereah_ is doing it wrong 21:21:43 NEVER GONNA RUN AROUND AND DESERT YOU 21:22:35 NEVER GONNA CHOP YOU INTO LITTLE PIECES 21:23:02 NEVER GOING TO TELL A LIE AND EAT YOUR FAECES 21:23:10 i rhymed it! wooo 21:25:19 ehird`: you wouldn't get this from any other guy 21:25:44 :D 21:26:14 quite true. 21:26:39 AND DESSERT YOU 21:26:41 mmm, dessert 21:27:01 the bartender is so funny 21:29:16 CHOCOLAWT RANE 21:29:24 SOME STAY DRY AND OTHERS FEEL THE PAIN 21:29:25 CHOCOLAWT RANE 21:29:47 A BABY BORN WILL DIE BEFORE THE SIN 21:29:55 Now this is my story, all about how. 21:30:04 My life got twisted, turned upside down! 21:30:12 And I'd like you to just sit right there! 21:30:24 I'll tell you I became the prince of a tow called Bel Air. 21:32:53 hmmm 21:33:06 it would appear to me chocolate rain is about discrimination 21:36:31 lofl, tay zonday covered rickroll 21:36:41 yes 21:36:42 yes he did 21:37:03 Well, everyone asked him to! 21:40:36 hahahahahhaahahha it's chocolate rain: http://encyclopediadramatica.com/Image:Chocolatepee.jpg 21:40:44 get it, get it, get it, hrrrr hrrr 21:40:51 now *that's* a rickroll... luring someone into performing a cover of it :P 21:46:08 -!- RedDak has joined. 21:49:16 -!- olsner has quit ("Leaving"). 21:50:26 -!- oerjan has quit ("Good night"). 22:00:30 -!- ihope has joined. 22:08:51 -!- jix has quit ("CommandQ"). 22:44:10 Stephen Malinowski's Fantasy in F: http://www.vimeo.com/93612 22:44:45 * slereah_ is trying to make a tic tac toe on the love machine 9000 22:45:26 And trying to do it before tomorrow :o 22:45:47 I like it. My mom finds it disastrously dissonant. 22:49:33 I would say that alliteration is effortless emphasis, but it took me about five minutes to come up with the phrase "effortless emphasis". 22:49:43 -!- slereah_ has changed nick to Slereah. 22:50:41 "I hate the piano, with its diabolical diatonic scales." 22:53:03 La boite diabolique? 22:54:29 What's a boite? 22:55:44 A box. 22:58:05 And is that French? 23:03:19 Yes. 23:03:27 It was also in Look Around You. 23:03:38 The 19 forbidden notes, in LA BOITE DIABOLIQUE 23:04:01 Interesting. 23:06:14 -!- RedDak has quit (Remote closed the connection). 23:11:39 lament: didn't you once have a little IRC thing called kilbot, which ran a simple game where people shot each other and tried to stay alive? 23:11:45 Do you still have that? 23:28:27 -!- timotiis has quit ("leaving"). 23:30:51 -!- kilbot has joined. 23:31:01 !join 23:31:01 Some people, when confronted with regular expressions, always think "I know, 23:31:02 I'll paste that Jamie Zawinski quote, and people will think I'm clever!" 23:31:02 These people have a problem. 23:31:07 -- omouse, reddit 23:31:08 err 23:31:09 !join 23:31:20 er, no 23:31:20 dmd 23:31:23 !start 23:31:24 Opening a new game. Say !join to join. Say !start again to start. 23:31:30 !join 23:31:31 lament: You have already joined. 23:31:33 oh 23:31:38 !start 23:31:39 Need more players. 23:31:59 you have to say start before saying join. 23:32:07 i mean, someone has to say start. 23:32:36 Zawinski? 23:32:37 !join 23:32:51 okay 23:32:53 !start 23:32:53 The game has started! 23:32:55 !kill ehird` 23:32:56 Slereah: Sometimes annoying, sometimes clever. Ex-Netscape hacker who now owns a nightclub with wifi and stuff. 23:32:56 lament shoots at ehird` 23:32:59 !kill lament 23:32:59 ehird` shoots at lament 23:33:01 !kill lament 23:33:01 !kill lament 23:33:01 !kill lament 23:33:01 ehird`: Wait a bit... 23:33:01 ohh 23:33:02 ehird`: Wait a bit... 23:33:02 ehird`: Wait a bit... 23:33:02 !kill lament 23:33:02 ehird`: Wait a bit... 23:33:02 !kill lament 23:33:02 ehird`: Wait a bit... 23:33:07 !kill ehird` 23:33:07 lament: Wait a bit... 23:33:09 THIS SUCKS 23:33:09 :( 23:33:10 three lives eh 23:33:12 !kill lament 23:33:12 ehird`: Wait a bit... 23:33:17 lament: can i has src 23:33:19 !kill lament 23:33:19 ehird`: Wait a bit... 23:33:24 !kill lament 23:33:24 it was probably you who suggested that stupid three lives idea 23:33:24 ehird`: Wait a bit... 23:33:28 no 23:33:30 What's his quote? 23:33:30 i never played this 23:33:31 :D 23:33:41 Slereah: Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems. 23:33:49 Heh. 23:33:55 I once tried to do that. 23:34:01 !kill ehird` 23:34:02 And I had two problems D: 23:34:03 sender + : You have already shot at ehird` 23:34:06 !kill lament 23:34:07 sender + : You have already shot at lament 23:34:11 THIS IS STUPID 23:34:11 sender + ??? 23:34:16 lament: show me the src! 23:34:19 i will make it awesome. 23:34:25 -!- kilbot has quit (Remote closed the connection). 23:34:44 ehird`: i assure you it would be a better idea to start from scratch. 23:34:51 the code is not pretty 23:34:56 I want to seeeee it 23:34:59 also as you can see by the "sender +" 23:35:01 so I can rewrite it from scratch, obviously 23:35:17 i was actually in the process of changing the game around when i abandoned it 23:36:04 you don't want the source! the entire message handler is one big multi-level if statement. 23:36:05 shoooow 23:36:08 come on 23:36:10 i've written worse 23:36:10 :D 23:36:16 why don't you rewrite it in erlang or haskell 23:36:30 or, for bonus points, in both 23:36:59 maybe 23:37:00 but show me it first 23:37:07 okay then 23:38:07 http://z3.ca/~lament/killbot.py 23:38:16 http://z3.ca/~lament/irclib.py 23:38:18 nice domain name 23:38:25 also 23:38:25 403 23:38:47 again 23:39:21 ignore that it's in python and pretend that it's in perl 23:39:27 then the ugly code makes more sense 23:40:24 lament: It's not THAT bad. 23:40:46 it's pretty bad. the only goodness in it is irclib.py, which isn't mine. 23:41:02 lament: I may rewrite it in Haskell. 23:41:12 Using Network.IRC -- though I wil lwrite my own lib sometime. 23:41:23 lament: Is there something actually specifying the game? The code is hard to follow. 23:42:07 mwahahaha. 23:42:13 told you! 23:42:20 it would be easier just to ask me 23:42:24 lament: ok 23:42:25 consider this an ask 23:42:36 especially since the rules of the game changed during development 23:42:55 the game i originally implemented went like this: 23:43:14 somebody says !start, then people say !join, then somebody says !start again which starts the game. 23:43:34 then you say !kill nick to kill somebody (if both you and they are players) 23:43:50 and then... 23:44:10 or you can say !friend nick, which is really stupid because it means that now you can't kill them, but they still can kill you. 23:44:23 once you kill somebody, they're dead. 23:44:40 the game ends when the remaining players are all mutual friend. 23:44:42 s. 23:45:11 so then i modified those rules so that people have 2 lives 23:45:19 why would you !friend nick 23:45:20 :| 23:45:21 and you can only shoot the same person once 23:45:35 so it takes cooperation of two people to kill somebody 23:46:15 so with two players, A shoots B, B shoots A and the game stalls. 23:46:56 i don't think killbot checked for that, so they had to !friend each other for a shared victory. 23:47:11 feel free to come up with less brain-damaged rules. 23:48:43 Exactly the same as that, except you can shoot people as many times as you want, the game ends after no shooting has been done for a while, and you can raise players from the dead. >:-) 23:48:53 ihope: Now THAT sounds fun! 23:49:51 #kilbot, I guess. 23:52:25 -!- Sgeo has joined. 23:53:22 Ahoy, Sgeo. 23:53:24 ehird`: do it in erlang! 23:53:32 lament: why :( 23:53:34 Haskell is more fun 23:53:36 I don't know erlang 23:53:44 Do it in Epigram! >:-) 23:53:54 ehird`: erlang looks interesting 23:53:58 * Sgeo almost mistook this for Sine 23:54:03 was wondering why lament was here 23:54:14 That happens. :-) 23:54:41 I'd dragged so many people from here to sine 23:55:04 what's sine? :) 23:55:22 I think it's been described as a semi-private chat server. 23:55:41 With roughly 30 people on it. 23:56:09 ah. 23:56:26 -!- calamari has joined. 23:56:32 No password or anything is required, but you do need to know the server name and port number. 23:56:41 The port number's relatively guessable. :-P 23:56:42 which isn't that hard if you google for it actually. 23:56:49 Indeed. 23:57:20 oh, i see. 23:57:47 never heard of "Creatures". 23:59:34 hi 23:59:37 Hi calamari 23:59:47 Did I mention the new safety features I'm planning 2008-02-29: 00:00:01 Oh, ehird` wasn't there. Hey ehird, I'm planning some "safety" features 00:00:01 not really.. I guess I lost interest 00:00:17 * Sgeo waits for ehird` to boil over 00:12:02 -!- Corun has joined. 00:22:13 -!- ehird` has changed nick to kilbot. 00:22:18 -!- kilbot has changed nick to ehird. 00:28:54 -!- Tritonio_ has quit (Remote closed the connection). 01:02:10 -!- olsner has joined. 01:34:29 -!- lament has changed nick to lamenta. 01:34:44 -!- lamenta has changed nick to lament. 01:35:40 -!- sebbu has quit ("@+"). 01:35:49 -!- lament has changed nick to lamentb. 01:39:50 -!- ehird has quit (Read error: 104 (Connection reset by peer)). 01:51:35 -!- lifthrasiir has quit (brown.freenode.net irc.freenode.net). 01:51:36 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 01:51:48 -!- puzzlet has joined. 01:51:48 -!- lifthrasiir has joined. 02:27:08 -!- ihope has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.12/2008020121]"). 03:09:48 -!- calamari has quit ("Leaving"). 03:27:01 -!- Corun has quit ("This computer has gone to sleep"). 03:34:15 -!- yu has joined. 03:41:32 * yu made my client keep its nick and not revert to immibis! 03:41:39 * yu did it 03:41:42 * yu DID IT! 03:41:50 lol 03:41:57 -!- yu has changed nick to immibis. 03:42:18 stupid client 03:44:57 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 03:45:50 -!- Slereah has joined. 03:59:16 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 04:00:06 -!- bsmntbombdood has quit (brown.freenode.net irc.freenode.net). 04:02:40 -!- Slereah has joined. 04:17:12 -!- bsmntbombdood has joined. 04:18:50 -!- slereah_ has joined. 04:21:32 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 04:51:22 -!- olsner has quit ("Leaving"). 05:24:45 -!- immibis has quit ("Can you see this quit msg?"). 05:36:34 -!- immibis has joined. 05:41:26 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 06:04:50 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 06:10:02 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 06:11:15 -!- slereah_ has joined. 06:14:19 wow oklopol is idle for 58 hours 06:15:37 That's a hell of a comaz 06:16:04 and i have a good long pour of whiskey 06:18:42 i always say "i don't like drinking", and then i get a bottle of bourbon and remember 06:28:48 -!- immibis has joined. 07:08:34 -!- oerjan has joined. 07:22:14 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to). 07:25:03 -!- immibis has joined. 07:51:22 -!- immibis has quit (Remote closed the connection). 07:56:05 -!- immibis has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:46 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to"). 08:37:27 -!- oerjan has quit ("leaving"). 11:03:05 -!- RedDak has joined. 11:34:28 -!- RedDak has quit (Remote closed the connection). 11:54:25 bsmntbombdood: don't worry, i was at a friends house, browsing porn, ircing and coding. 11:56:42 which reminds me, god i made a braindead game :DD 11:56:51 www.vjn.fi and check out crossworm 11:56:59 i haven't yet found one person who can play that 11:57:04 except for myself of course 11:57:09 but, you know, i'm a god. 12:14:42 -!- sebbu has joined. 13:25:31 -!- jix has joined. 13:31:48 -!- jix has quit ("CommandQ"). 14:02:15 -!- Corun has joined. 14:53:15 Hm. I'm thinking of this for the Andrei Machine I/O. 14:53:55 At each step, the graph is travelled from 0 (or 1), to the next node. If there's more than one choice, it chooses the node of the lowest type. 14:54:29 -!- RedDak has joined. 14:54:35 Type 2 would increase a register, 3 would output the register, and 4 be transformed in some sort of input. 14:54:54 I'm not too sure it would be BF complete, but it's a start. 15:29:51 -!- Corun has quit ("This computer has gone to sleep"). 15:30:25 -!- jix has joined. 16:04:47 -!- RedDak has quit (Remote closed the connection). 16:19:52 -!- oklofok has joined. 16:20:20 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 16:24:32 Holy hell. Esolang is the first google result for bounded storage machine :o 16:24:50 But then again, there's only 7 results. 16:28:27 -!- Corun has joined. 17:06:47 -!- jix has quit (Read error: 110 (Connection timed out)). 17:14:01 -!- Tritonio_ has joined. 17:18:26 -!- GregorR-L has joined. 17:18:29 I'm at Purdue! 17:18:46 Does it hurt? 17:18:51 ... not particularly. 17:19:31 -!- ehird` has joined. 17:22:59 -!- Corun has quit (Read error: 110 (Connection timed out)). 17:31:14 -!- wildhalcyon has joined. 17:33:06 -!- Corun has joined. 17:35:13 i wonder if this thing still works. 17:35:34 Wut? 17:35:41 this thing: 17:36:07 err 17:36:08 THIS thing: 17:36:21 Your colon key? 17:36:35 shut up. my netcat is br0king 17:43:03 $ echo '((lambda (x) x) (lambda (x) x))'|python lisp.py 17:43:03 ((lambda (x) x) (lambda (x) x)) 17:43:03 (lambda (x) x) 17:43:03 lambda 17:43:03 (lambda (x) x) 17:43:04 lambda 17:43:06 (error) Unbound variable lambda 17:43:08 whoa. 17:43:10 sorry. 17:43:12 but .. bizzare 18:09:16 -!- lithpbot has joined. 18:09:16 -!- lithpbot has quit (Remote closed the connection). 18:10:01 -!- lithpbot has joined. 18:10:14 test 18:10:19 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:10:29 You succeeded 18:10:53 -!- lithpbot has joined. 18:11:11 > 2 18:11:11 2 18:11:14 > lambda 18:11:14 18:11:16 > lambda 18:11:17 18:11:18 > 'lambda 18:11:19 lambda 18:11:35 > (lambda (x) x) 18:11:35 18:11:39 > ((lambda (x) x) 18:11:39 error, unexpected end of code 18:11:42 > ((lambda (x) x) 'x) 18:11:43 x 18:11:46 > ((lambda (x) x) (lambda (x) x)) 18:11:46 18:12:09 > + 18:12:10 error, unbound symbol: + 18:12:28 ((lambda (x) (x x)) (lambda (x) (x x)) ) 18:12:34 > ((lambda (x) (x x)) (lambda (x) (x x)) ) 18:12:35 -!- lithpbot has quit (Remote closed the connection). 18:12:40 :o 18:12:42 oops 18:12:42 sorry. 18:12:44 gimme a sec. 18:18:42 -!- lithpbot has joined. 18:18:44 slereah_: should be ok now 18:18:49 > ((lambda (x) (x x)) 18:18:50 error, unexpected end of code 18:18:53 hahaha whut 18:18:53 > ((lambda (x) (x x)) (lambda (x) (x x)) ) 18:18:54 RuntimeError: maximum recursion depth exceeded in cmp 18:18:58 :D 18:19:09 > ((lambda (x) (x x) ) 18:19:10 error, unexpected end of code 18:19:16 oh 18:19:16 duh 18:19:23 > ( (lambda (x) (x x) ) ) 18:19:24 error, need 1 args, got 0 18:19:28 > ((lambda (x) (x x))) 18:19:29 error, need 1 args, got 0 18:19:32 > lambda 18:19:32 18:19:32 -!- Corun has quit (Read error: 110 (Connection timed out)). 18:19:34 > = 18:19:34 18:19:37 > (= lambda lambda) 18:19:38 > ((lambda (x) (x x)) (lambda (x) (x x)) ) 18:19:38 RuntimeError: maximum recursion depth exceeded in cmp 18:19:38 1 18:19:42 > #t 18:19:43 1 18:19:43 O noes! 18:19:44 > #f 18:19:45 0 18:19:47 > (not #t) 18:19:52 ooh 18:19:53 it died 18:19:54 > foo 18:19:58 > 2 18:20:00 error, unbound symbol: not 18:20:03 ah 18:20:04 just lag 18:20:12 slereah_: take it to #estoeric-blah? 18:20:14 #esoteric-blah 18:25:34 -!- oerjan has joined. 18:25:37 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:26:22 -!- lithpbot has joined. 18:27:33 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:36:09 -!- lithpbot has joined. 18:37:23 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:37:31 -!- lithpbot has joined. 18:40:06 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:40:12 -!- lithpbot has joined. 18:41:10 -!- olsner has joined. 18:41:30 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:41:35 -!- lithpbot has joined. 18:42:54 -!- RedDak has joined. 18:47:39 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:48:27 -!- lithpbot has joined. 18:48:56 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:49:01 -!- lithpbot has joined. 18:49:19 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:49:24 -!- lithpbot has joined. 18:49:54 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:50:00 -!- lithpbot has joined. 18:50:13 What's a normal algorithm? 18:52:26 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 18:52:32 -!- lithpbot has joined. 18:56:31 -!- ais523 has joined. 18:58:14 -!- RedDak has left (?). 18:58:16 I'm not sure what a normal algorithm is 18:58:32 I am a normal algorithm. 18:59:38 What are you Gregor McGregor? 19:00:05 I 19:00:06 AM 19:00:06 MAN 19:00:12 :o 19:00:36 ehird`: eso-std.org is giving me 403s 19:00:40 is this supposed to be a technical term? i have some vague bell ringing 19:00:43 presumably because there isn't anything there yet? 19:00:44 ais523: Quite expected. 19:00:48 ais523: Also correct. 19:01:03 oerjan: 403 means that the website understands the request, but thinks you aren't allowed to know what the result would be 19:01:03 Also, I am not on my mac (again); therefore it might be a bit before ESO1 is completed. 19:01:09 ah yes, Markov 19:01:13 Kolmogorov is always ranting about it in his article. 19:01:21 However -- 19:01:25 It's apparently some computing method done by Markov 19:01:27 ais523: er i was referring to normal algorithm 19:01:29 I am considering changing standard format. 19:01:45 ah, the perils of asynchronous communication 19:01:50 (Side note: with all this un-maccery stopping me doing stuff, I should really consider a macbook...) 19:02:58 -!- lithpbot has quit (Read error: 104 (Connection reset by peer)). 19:03:14 -!- ehird` has changed nick to ehird. 19:03:28 ais523: #ESO? 19:04:10 -!- slereah_ has changed nick to Slereah. 19:04:33 ais523: although i didn't know what 403 meant either :) 19:05:20 There's a video on Youtube, with a fat indian chick teaching about finite state automaton. 19:18:37 -!- Sgeo has joined. 19:33:56 man Gregor McGregor 19:34:11 hmm, appears you're wrong 19:34:18 You have no man page 19:34:22 Wut? 19:37:08 * SimonRC likes the rubbet-band gun on the UF LotD 19:37:26 it can hold 288 rounds, and fire them all in 7 sec 19:37:45 Can it kill? 19:38:11 NAFAICT 19:46:45 -!- jix has joined. 19:48:03 hi 19:48:09 hello 19:51:59 * pikhq curses at the flu 19:52:50 I opened the window, and in flew Enza 19:52:55 hmn 19:53:12 * Sgeo wnats to have Lucid dreams 19:53:19 ditto 19:53:30 it takes too much dedication though 19:53:39 indeed 19:53:48 Plus I'm so tired lately that I barely remember my dreams. 19:53:50 * Sgeo listens to http://www.stevepavlina.com/podcasts/Pavlina-010-Lucid-Dreaming.mp3 hopefully 19:53:59 what is that 19:53:59 ? 19:54:13 Podcast about lucid dreaming apparently 19:54:21 OTOH, setting aside 10-20 mins at the beginning of each day to write down dreams is supposed to be a good start 19:54:30 as is reading all about it all day 19:54:38 but the effect of that is breif 19:56:26 -!- jix has quit (Nick collision from services.). 19:56:38 -!- jix has joined. 19:57:44 I read something in today's thread for xkcd about checking your irl watch habitually, which should supposedly carry over to dreams, where you'd notice something is wrong 19:58:00 Sgeo: Yes. 19:59:03 * ais523 finds that they can usually wake up whenever they want when they're aware they're in a dream 19:59:05 it helps to think about ld while doing it though 19:59:22 but but i already am a neurotic watch-checker. few lucid dreams though... 19:59:33 do you check in in dreams? 19:59:46 don't think so 19:59:49 actually I cursed at myself recently... 20:00:01 * Sgeo doesn't normally wear a watch 20:00:06 I got into a holy grail of semi-sleep states... 20:00:28 conscious (though very tired) while my senses were bign disconnected from my body 20:01:11 I sensed a loud buzzing, and began to get a "buzzing"/"electric" feeling creeping over my body... 20:01:16 and I flinched damnit! 20:01:35 had I stayed still, I should have gone quickly into lucid dreaming 20:04:33 -!- slereah_ has joined. 20:04:55 for some reason, the topic makes my stomach churn a bit 20:05:01 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 20:05:04 possibly envy 20:05:30 but I get the same feeling on AFD, and I don't think envy applies there 20:06:21 AFD? 20:06:32 Oh Articles for Deletion 20:06:34 ? 20:06:36 no 20:06:39 alt.fan.dragons 20:06:56 inhabited mostly by people who thinke they're dragons 20:07:12 Suck as Pookie? 20:07:28 eh? 20:07:43 no parse 20:07:45 http://www.encyclopediadramatica.com/Alynna_Vixen 20:07:56 oh, "such" 20:07:58 hmm 20:10:13 SimonRC: people like that are hilarious 20:10:30 http://www.otherkin.net/index.html <-- best. webpage. ever. 20:11:47 There's much more insane 20:13:39 well, it seems I have got distracted by all thwe furry links... 20:13:58 Hell the 2040s are going to be fun 20:14:47 C'mon we need more Christian suicide bombings of human genetic engineering clinics 20:15:06 as soon as human genetic engineering gets really advanced 20:15:10 we must kill all the furries 20:15:15 lest we see what they unleash onto us 20:15:18 :D 20:15:25 and when I say Christian I mean the insane "god hates gays" righties, not the rest 20:15:32 ehird: yup, you read my mind 20:16:07 I guess 2043 will be about the time some people start trying to improve their children in the direction of furriness 20:16:22 SimonRC: It's funny, I've heard so much about these 'non-totally-crazy christians' and all the ones I've seen have been ones who basically don't believe in anything christian. 20:16:24 on the upside, gay people will sufddenly be getting much less hate 20:16:29 Gradually they all become agnostics or atheists. 20:16:46 SimonRC: Well, there's Anonymous to think about then. 20:17:14 anyway, otherkin usually beleive they are a re-incarnation of a dragon are the victims of magical soul-trnasfer or whatever 20:17:40 this makes them more emo that furriness olone would 20:17:43 (probably) 20:17:46 2043 is when furry will be 50 years old :o 20:17:46 Well, there's plenty of elves-vampires-wolves-faery to go around, too 20:17:52 or at maybe more depressed 20:18:10 * SimonRC once again shows his Sign of the Times 20:18:48 it is triangular, line a road warning sign, with an exponential growth curve plotted on a graph... 20:18:50 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 20:19:12 the rectangular bit below says "warining, 21st century ahead" 20:21:09 -!- ais523_ has joined. 20:21:39 -!- ais523 has quit (Nick collision from services.). 20:21:44 -!- ais523_ has changed nick to ais523. 20:24:20 -!- ehird has quit ("Leaving."). 20:24:58 hmm, I thought this conv was on a different channel... 20:25:00 heh 20:25:42 -!- ehird has joined. 20:25:45 Weird: I was tralking about furries here and programming on that other place. 20:25:46 We're discussing monads on #isharia and furries here. 20:25:50 yeah 20:25:51 IT IS BIZARRO WORLD 20:26:17 deedle-deedle-deedle-deedle 20:26:34 #isharia? 20:26:38 Isharia. 20:26:55 Think of a boot up a man's ass forever. 20:26:59 furry muslims? 20:27:00 Now translate it to Nahuatl. 20:27:04 This is Isharia 20:27:47 #isharia is empty. 20:28:12 Another server. 20:29:20 sopecifically, sourcery 20:29:44 -!- RedDak has joined. 20:29:45 Except without the u 20:30:07 unless you're in Discworld 20:36:56 um, yeah 20:41:21 oklofok: hooray 20:41:44 Did someone say whore ray? 20:42:31 * ais523 is wondering why bsmntbombdood aimed a message at oklofok when neither has said anyting here for quite a while 20:42:35 mad science if there ever was 20:43:30 Heh. 20:47:02 I remember seeing online some device that was supposed to help you have lucid dreams.. 20:47:10 LSD? 20:47:43 No, it was something you wore over your eyes, and when it detected REM, it flashed lights repeatedly 20:47:49 yes, that one 20:47:50 I wanted that one 20:47:52 apparently; no longer sold 20:48:03 So you had to train yourself whenever you see flashing lights, to do a reality check 20:48:21 -!- wildhalcyon has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.11/2007112718]"). 20:48:25 Too many lucid dreamers are new agers. Sigh. 20:48:29 i want some lsd 20:48:37 WHOOO USE YOUR DREAMS TO TOUCH INTO YOUR SPIRITUAL ENERGY AND WRAP AROUND THE NATURE 20:48:46 indeed 20:49:52 * SimonRC hits people over the head with a blog, particularly this post: http://www.overcomingbias.com/2007/04/universal_fire.html 20:50:00 and the successor 20:56:42 darn 20:56:53 this book sounded good but is written like shit 20:57:31 http://en.wikipedia.org/wiki/Evasion_%28book%29 20:58:20 "As you get older, it will be even harder to lucid dream, and it starts getting difficult during the teenage puberty stage." http://www.wikihow.com/Lucid-Dream 20:58:22 :( 20:59:01 darn :( 20:59:27 heh 21:04:13 -!- ehird has quit (Read error: 104 (Connection reset by peer)). 21:04:31 -!- ehird` has joined. 21:05:14 -!- ehird` has changed nick to ehird. 21:06:43 wb ehird 21:07:44 -!- ehird has quit (Client Quit). 21:11:16 Sgeo: look what you've done now! 21:11:21 ? 21:11:48 -!- Judofyr has joined. 21:12:03 you welcomed ehird back and they quit immediately 21:12:47 and Judofyr: welcome 21:12:59 thx :) 21:13:08 * Judofyr is about to look at Glass 21:13:19 hmm... it seems I'm a bit more successful than Sgeo in welcoming people... 21:16:23 Judofyr: GregorR is probably the best person to ask about that 21:16:28 yeah 21:16:35 I'm reading his tutorial now 21:18:48 -!- ehird has joined. 21:26:12 -!- ehird has quit ("Konversation terminated!"). 21:26:41 -!- ehird has joined. 21:41:54 * Sgeo wants multiplayer lucid dreams! 21:41:55 I mean, hi 21:42:02 hah 21:44:10 -!- ehird has quit ("Konversation terminated!"). 21:44:31 -!- ehird has joined. 21:47:17 dreamviews.com seems interesting 22:06:15 -!- Corun has joined. 22:08:27 -!- ais523 has quit ("I'll soon be too tired to say anything intelligible"). 22:10:19 * ehird tries to think what a fun game to play over irc would be 22:12:29 -!- jix has quit ("CommandQ"). 22:20:11 -!- Judofyr has quit ("- nbs-irc 2.36 - www.nbs-irc.net -"). 22:24:04 -!- timotiis has joined. 22:29:45 oklofok: lol: http://online.wsj.com/public/article/SB120425355065601997-7Bp8YFw7Yy1n9bdKtVyP7KBAcJA_20080330.html?mod=tff_main_tff_top 22:56:59 -!- oerjan has quit ("Good night"). 22:58:35 * SimonRC goes. 23:02:39 -!- bigode has joined. 23:25:39 -!- RedDak has quit (Remote closed the connection). 23:34:44 -!- immibis has joined. 23:42:23 -!- bigode has quit ("http://www.mibbit.com ajax IRC Client").