< 1162512058 0 :Razor-X`!unknown@unknown.invalid NICK :Razor-X < 1162512319 0 :xor!unknown@unknown.invalid NICK :bsmntbombdood < 1162513139 0 :bsmntbombdood!unknown@unknown.invalid NICK :xor_ < 1162516165 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1162516731 0 :sekhmet!unknown@unknown.invalid QUIT :"bleh" < 1162518636 0 :sekhmet!n=pez@ppp-70-226-146-92.dsl.mdsnwi.ameritech.net JOIN :#esoteric < 1162521227 0 :xor_!unknown@unknown.invalid NICK :bsmntbombdood < 1162521926 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1162521943 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1162522012 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Heya. < 1162522044 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION eats calamari  < 1162522506 0 :thematrixeatsyou!n=thematri@219-89-242-24.adsl.xtra.co.nz JOIN :#esoteric < 1162522515 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1162522546 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hi and beware of the cannibals. < 1162522559 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION eats thematrixeatsyou  < 1162522597 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :ACTION responds by tasting like chocolate < 1162522608 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :mmmm chocolate < 1162522707 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :endorse cannabalism! eat dipshits! < 1162522823 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :somehow that doesn't sound very tasty. < 1162522899 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :!funge93 0"yrgnuh saw doodbmobtnmsb :detceted msilabannaC">:#,_@ < 1162522902 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Cannabalism detected: bsmntbombdood was hungry < 1162522923 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :damn, why did gregorR take out the !cat command? :( < 1162522930 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I thought EgoBot did that by itself for a minute < 1162522935 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!ps d < 1162522938 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 thematrixeatsyou: funge93 < 1162522940 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 oerjan: ps < 1162522947 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!ps < 1162522948 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a daemon. < 1162522950 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 thematrixeatsyou: funge93 < 1162522953 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 oerjan: ps < 1162522962 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!daemon cat bf ,[.,] < 1162522970 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!cat Welcome back, cat. < 1162522970 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :shit, i did !funge93 0 < 1162522972 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oooooh < 1162522972 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Welcome back, cat. < 1162522990 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Cannabalism detected: bsmntbombdood was hungry < 1162522995 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :better :D < 1162523002 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Besides, glass is nicer. < 1162523007 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :whoa howd you do that < 1162523027 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : !daemon cat bf ,[.,] < 1162523037 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Hmmm... building a Brainfuck interpreter in a 2 dimensional map-like programming language is pretty interesting. < 1162523040 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :It's like a puzzle. < 1162523042 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :thematrixeatsyou has special powers, admire him < 1162523053 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :lemme guess, befunge? < 1162523060 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Nah... it's something I'm working on. < 1162523101 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!glass {M[m(_o)O!"See? Glass is t3h nice"(_o)o.?]} < 1162523104 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :See? Glass is t3h nice < 1162523140 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Oh... well after briefly reading how Befunge works... my language is looking a lot like it. :P < 1162523180 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :~ < 1162523182 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :>Hello,\ World!# < 1162523187 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :That's the Hello World program. < 1162523257 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :>"Hello, World"[<]>[.>] < 1162523272 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Hmmm... definetely different. < 1162523272 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :brain fuck with strings! < 1162523293 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but the concept of befunge is similar to this one... < 1162523400 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!glass {M[m(_i)I!(_o)O!(char)(_i)c.?=(noteof)(_i)e.?=/(noteof)(char)(_o)o.?(char)(_i)c.?=(noteof)(_i)e.?\]} < 1162523403 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!ps d < 1162523406 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 pikhq: glass < 1162523408 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 pikhq: daemon cat bf < 1162523410 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :3 pikhq: ps < 1162523414 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If I did that right, it's a Glass Brainfuck program. < 1162523418 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Cat. < 1162523422 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!i 1 Foo < 1162523445 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If I *didn't* do it right, as I believe I have, it's a bunch of gibberish. < 1162523446 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!ps < 1162523450 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 pikhq: ps < 1162523454 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck with strings! < 1162523463 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ahah. < 1162523478 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION giggles < 1162523483 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Cat in Cake's Concept Language is: < 1162523483 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Did it slightly wrong. < 1162523500 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :~ < 1162523502 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :; < 1162523503 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :# < 1162523567 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!glass {M[m(_i)I!(_o)O!(_a)A!(char)(_i)c.?=(noteof)(0)(_i)e.?(_a)e.?=/(noteof)(char)(_o)o.?(char)(0)(_i)c.?(_a)e.?=(noteof)(_i)e.?\]} < 1162523573 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!i 1 Foo? < 1162523579 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!ps < 1162523582 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 pikhq: ps < 1162523610 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'mma gonna stop the glassing. < 1162523642 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is proud of hisself < 1162523671 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now go and code it. < 1162523686 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1162523687 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I think one of the main differences in Befunge and this language is that this language can have more than one pointer at a time, and have multiple stackes which are represented in the codespace by characters. < 1162523689 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :don't feel like it < 1162524256 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : ~ #This is a mouse... a pointer character. Default direction is set to south < 1162524257 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : ;>! #-semicolon is users input < 1162524259 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : * < < 1162524260 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :! < #continuously append all values in the mouse to all stacks/queues adjacent to the asterick < 1162524262 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : >$ (code) *^ < 1162524264 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :~ #This mouse represents each value in the input... < 1162524265 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1162524265 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :^ < 1162524267 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : < 1162524268 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : < 1162524269 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :muhahahahaha < 1162524271 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :foreeach loop < 1162525198 0 :Asztal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1162526689 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION prefers Dimensifuck. < 1162527345 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1162527376 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :anyone know of a way of setting nonblocking input so that a read request always returns immediately? < 1162527397 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I can do it inside a c program, but it doesn't seem to persist outside it < 1162527498 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :hi calamari < 1162527528 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :what lang are you using? < 1162527531 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1162527549 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't you just set stdin to be unbuffered? < 1162527574 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: setting it unbuffered means I can press one char without enter < 1162527594 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :for ASM: MOV dx,0060 ; IN al,dx < 1162527613 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1162527632 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :getch() in C, what in what? < 1162527643 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what in what? < 1162527652 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :what lang are you using? < 1162527654 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :bf < 1162527660 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :egobfi8 < 1162527677 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :i use brainfucked < 1162527692 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :very small, very nice < 1162527695 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :maybe it's just something Gregor would have to implement in the interpreter < 1162527701 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :and doesn't buffer < 1162527705 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :yah < 1162527713 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :buffering != blocking < 1162527720 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you could probably use a pipe < 1162527770 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or maybe not. < 1162527786 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :setting unbuffered is easy, can use stty for that < 1162527794 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :setting nonblocking is hard < 1162527810 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how do you set nonblocking in C? < 1162527824 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: in C you can do this: < 1162527838 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :long flags = fcntl(STDIN_FILENO, F_GETFL); < 1162527838 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : fcntl(STDIN_FILENO, F_SETFL, flags | O_NONBLOCK); < 1162527860 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but it seems to stop working once the program exits < 1162527934 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets an idea < 1162528035 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but getc would block anyhow wouldn't it? < 1162528064 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :are you trying to change terminal settings? < 1162528068 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*echm* How, exactly, are you supposed to keep getting input after a program exiting? < 1162528100 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yay! < 1162528146 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you succeeded? < 1162528158 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1162528176 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I continued the C program < 1162528206 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :put in an endless while loop, it reads a char, if its -1 it outputs char 0, otherwiste it outputs the char it read < 1162528221 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so then I pipe that to the program < 1162528234 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :nonblock | egobfi8 program.b < 1162528283 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right. however doesn't that prevent you from detecting real EOF? < 1162528328 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I suppose < 1162528334 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :can't have it all < 1162528392 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just if(feof(stdin)) putc(FEOF);, I think. ;) < 1162528450 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehh whatever < 1162528467 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :the whole idea of this is that input is from the keyboard < 1162528480 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so eof doesn't matter < 1162528493 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :^D says otherwise. < 1162528519 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :who says I have to accept ^D < 1162528530 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :check your stty manual ;) < 1162528534 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you could always check for the value 4. < 1162528551 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Then how are you supposed to quite a program? < 1162528557 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :quit. < 1162528574 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unbuffered input doesn't have ^D handling anyhow. < 1162528584 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think. < 1162528599 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: run a dos program.. they had many ways of exiting their programs.. < 1162528612 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'll probably use Esc < 1162528629 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'd prefer, say, EOF. < 1162528644 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: lol < 1162528670 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so which char would you overwrite for eof.. 1? < 1162528680 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :or 255 < 1162528681 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as i said, check for the value 4 = ^D < 1162528741 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Output EOF; it's a declared constant in stdio.h that should *gasp* send EOF down the line. (IIRC) < 1162528769 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yep, 4 works < 1162528790 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: dude, bf is 8 bits < 1162528802 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :(usually) < 1162528816 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Dude, let egobfi8 handle the EOF->Brainfuck char conversion. < 1162528822 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(it defaults to 0) < 1162528854 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'm using 0 already < 1162528864 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :to indicate no input was available < 1162528890 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You've got "nonblock" handling EOF->0 conversion, when egobfi8 already handles that. < 1162528909 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Seems a bit pointless, doesn't it? < 1162528915 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you are reading from a raw terminal, then there is no such thing as EOF. < 1162528922 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: do you have a point or are you just trying to be argumentative? < 1162528932 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ^D == EOF. < 1162528948 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right, so let brainfuck check for that. < 1162528961 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Sure: my point is that converting EOF to 0 in "nonblock" is redundant. < 1162528998 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I'm not converting EOF to anything in nonblock < 1162529000 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but if he sets the terminal to raw, then nonblock will not convert EOF to 0, but to 4 < 1162529002 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1162529036 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: when I read from getchar() it returns -1 if no char is waiting. I translate that to 0 < 1162529047 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. Misunderstood. < 1162529060 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :k hehe < 1162529083 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well so did i at first. < 1162529103 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :4 works fine .. might as well support ^D and Esc < 1162529133 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Going to make a Brainfuck BFAudio player that supports forward/back? :p < 1162529157 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :nope! hopefully this will be more fun than that < 1162529231 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I feel bad it's so linux dependent.. er wait, no I don't screw windows users.. their zombied machines pollute my inbox with spam < 1162529246 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Cygwin will probably run it. < 1162529255 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :As will Mac OS neXt. < 1162529261 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmm, maybe so < 1162529871 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :For GregorR: < 1162529895 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I feel C should have a unified pointer size, instead of int pointers, char pointers, etc. You can move pointers using pointer arithmetic and sizeof. < 1162529947 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :calamari: I can try and port it to Java. I need the experience for the AP test. < 1162529968 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, all pointers should be void *? < 1162529973 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1162529982 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Razor-X: port what? :) < 1162529989 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Whatever that's Linux dependant. < 1162529993 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yay for void pointers! < 1162529998 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :this unportable hack of a program we've been discussing? < 1162529998 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Then you can have something like ptr+= sizeof (char) . < 1162530008 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :calamari: I haven't scrolled up far enough. < 1162530030 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Razor-X: sizeof(char) is garenteed to be 1 < 1162530035 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :no, you definitely haven't :) < 1162530037 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: I know, I know. < 1162530057 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :You can also have ptr += sizeof(int) happy ? < 1162530147 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And intptr++; for horrible borken unportable code. < 1162530178 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, nothing is preventing you from doing that already by using only void * pointers... < 1162530183 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Well, ptr++ increments the pointer by a byte. < 1162530186 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1162530206 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :As it is, int, float, and all of that business is machine dependant. < 1162530224 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Only a char has a guaranteed size in bytes. < 1162530224 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Razor-X: I believe that would be painful, and would not make anything more intuitive. < 1162530245 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :there we go.. rolled unbuffered nonblocking and no echo all into one horrible prog < 1162530250 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Well, I think it makes the abstraction more clean, personally. < 1162530262 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It makes the abstraction more clean, yes. < 1162530277 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :But the current way makes the abstraction easier. < 1162530278 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It also adds to Cobolitise. < 1162530292 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :As a beginner, it was one of my pitfalls. It took me a bit to realize that pointer arithmetic behavior depends on the type of pointer. < 1162530303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :one thing i worried about - won't that nonblock program write a horrible lot of nuls? < 1162530310 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I guarantee you that if they changed it the opposite would be the pitfall. < 1162530333 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... I guess. < 1162530334 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :http://kidsquid.com/files/bf/unbb.c < 1162530339 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: "Mac OS neXt" You sir are a genius. < 1162530347 0 :thematrixeatsyou!unknown@unknown.invalid PRIVMSG #esoteric :gonna reboot my pc, be back soon < 1162530353 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :What's this unportable hack of a program that we're discussing? < 1162530355 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: I don't clame any credit. < 1162530358 0 :thematrixeatsyou!unknown@unknown.invalid QUIT :"Rebooting PC" < 1162530373 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :From a friend of mine from the LUG who's a mild Mac fan. < 1162530374 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: " there we go.. rolled unbuffered nonblocking and no echo all into one horrible prog" < 1162530442 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I think the way Forth handles memory management is nice. < 1162530463 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I prefer the Lisp method. < 1162530469 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Garbage collection=:) < 1162530472 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Lisp doesen't have memory management. < 1162530477 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :-_-vv < 1162530484 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah; it's above that. ;) < 1162530486 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :list is cool < 1162530488 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :But hey, Forth doesen't have any of those annoyances like ``int'' or ``char'' or ``float''. < 1162530511 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :doubles taking up two spaces on the stack is annoying though < 1162530517 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :That's true. < 1162530551 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: like it? :) < 1162530558 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :same with strings < 1162530569 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :calamari: But why? What does it /do/? < 1162530588 0 :thematrixeatsyou!n=thematri@219-89-242-24.adsl.xtra.co.nz JOIN :#esoteric < 1162530602 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: well, I needed timing information < 1162530629 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: the only way I can think of doing that in bf is to have the user press enter.. wait a predetermined time, then press enter again < 1162530639 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :(while bf counts up) < 1162530655 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so if the read blocked, obviously this doesn't work < 1162530664 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You. . . I. . . GRRRAWRRR. < 1162530696 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :So are you using a timer ? < 1162530714 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'm making a timer < 1162530715 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Why not just use select() ? < 1162530721 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Razor-X: select, in bf? < 1162530730 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :In the code, I mean. < 1162530736 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Are you adding a timing extension to BF? < 1162530739 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :that's one of those bf commands I must have missed ;) < 1162530744 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :no I'm not < 1162530771 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it's standard bf code < 1162530782 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :What are you attempting to do, then? < 1162530789 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :implement a timer < 1162530823 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmm maybe I should use space rather than enter.. to avoid the whole enter vs return thing :) < 1162531308 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not working very well yet.. may need to use a different scheme like holding down a key or such < 1162531322 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :probably because it puts the cpu at 100% < 1162531329 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1162531336 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1162532241 0 :oerjan!unknown@unknown.invalid QUIT :"Good night." < 1162532463 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1162537364 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1162540799 0 :clog!unknown@unknown.invalid QUIT :ended < 1162540800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1162543964 0 :thematrixeatsyou!unknown@unknown.invalid QUIT :Connection timed out < 1162547468 0 :puzzlet!n=puzzlet@58.77.172.41 JOIN :#esoteric < 1162570457 0 :GregorR-L!n=GregorR-@192.55.60.43 JOIN :#esoteric < 1162572443 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1162572598 0 :wooby!unknown@unknown.invalid QUIT :Client Quit < 1162573763 0 :kipple_!n=kipple@167.80-202-102.nextgentel.com JOIN :#esoteric < 1162575154 0 :GregorR!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1162575615 0 :EgoBot!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1162576158 0 :RodgerTheGreat!n=RodgerTh@wads-5-233-82.resnet.mtu.edu JOIN :#esoteric < 1162576250 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hello, everyone. < 1162576266 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1162576281 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :anything going on here? < 1162576476 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :there's been some great JOINs and QUITs in the last few hours < 1162576492 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1162576504 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :I think a power outage just ruined my bloody uptime. < 1162576563 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders on the way the W3Schools XSL-FO tutorial doesn't really *explain* anything < 1162578004 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1162581595 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :tumtetum < 1162581659 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i have a rather wicked idea for an esolang < 1162581728 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :somewhat based on Unlambda < 1162581773 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1162581779 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :detail (v.) < 1162581837 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would be a higher level language, incorporating some inventions of modern functional languages < 1162581849 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :notably, monads < 1162581851 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1162581883 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :every object would not just be a function but also belong to a monad. < 1162581910 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and the evil part is that application would be replaced by monadic bind < 1162581956 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so to know what a ` actually means, you would have to know the monad of its second argument. < 1162581964 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1162581983 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'll call it LeMonade < 1162582247 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if it can be pulled off, it should have static type (or monad) inference < 1162582388 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :s would probably be polymorphic. < 1162582481 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although a dynamically typed version might have the advantage of being simple enough that i actually get around to implementing it... < 1162583341 0 :oerjan!unknown@unknown.invalid QUIT :"Later" < 1162585271 0 :ihope__!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1162585277 0 :ihope__!unknown@unknown.invalid NICK :ihope < 1162586310 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1162587373 0 :CakeProphet!n=CakeProp@h80.242.213.151.ip.alltel.net JOIN :#esoteric < 1162590259 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1162592904 0 :bsmntbombdood!unknown@unknown.invalid NICK :xor_ < 1162593879 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1162596586 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1162596992 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric