00:02:01 <kipple> dang. I was so convinced there was a bug in the interpreter
00:02:15 <kipple> then I realized I had just confused ^ and v ....
00:02:55 <kipple> that seemed more intuitive to me :)
00:04:27 <lament> ^ and v are "get from", not "put in"
00:04:31 <lament> if that's what you mean.
00:04:58 <kipple> I was thinking it indicated the direction the value travels
00:06:24 <lament> but there's probably a bunch of bugs in the interpreter anyway
00:10:18 <fizzie> Heh, this will be very much non-dense, this befunge thing.
00:11:23 <fizzie> Let's just say "lots".
00:12:09 <fizzie> (I probably won't need more, though.)
00:12:58 <fizzie> Most of the time a lot of them will be silent.
00:17:11 <graue> cellular automata are cool
00:17:28 <lament> fizzie: you could always put a bunch of collectively-nop operations
00:18:19 <lament> fizzie: which in Fugue would be something like "push number/pop"
00:18:46 <lament> (push number - a second. then any interval, corresponding to the actual number. Then pop - a unison)
00:19:26 <lament> then again, voices that are silent most of the time could be assigned particularly ominous instruments
00:19:45 <lament> like bells or whatever :)
00:21:51 <lament> kinda neat when your program requires a symphonic orchestra to perform.
00:26:44 <Keymaker> is there any way to count the amount of cells/whaterver there is in list?
00:36:46 <malaprop> I get paid to code in Python all day and it makes me very happy.
00:43:40 <fizzie> Whee, my befunge program "12345@" prints out (a stack dump, at the end of the interpreter) 5, 4, 5, 1 and exits. :) :)
00:44:40 <lament> from a review of a topology textbook: "The beginner may be troubled as to the way connectedness is defined, since it is defined as the negation of disconnectedness"
00:44:43 <fizzie> With 13 voices. http://www.befunge.org/~fis/bef.prel if you want to see it, but it's very much work-in-progress (only supports > direction at-the-moment, no _| or anything).
00:45:58 <fizzie> Uh, "123+45@" was the program, I mean.
00:46:35 <fizzie> Oh, and the program input only reads 2000 bytes and assumes they form a 80x25 grid, and wrapping is not supported. :p
00:47:01 <fizzie> I used perl -e 'print "123+45@", " " x 7999;' > test.bef to create the input.
00:47:39 <fizzie> I'll improve it to read actual lines when I have some Free Time (tm).
00:52:32 <fizzie> The topmost three voices select which parts of code to run, based on the current-command on the stack of the third voice, voices 4 and 5 contain the playfield, voices 6 and 8 are quite temporary, voices 7 and 9 hold the current IP and delta, voice 10 contains a '1' to drive the main loop (or 0 after a '@'), voice 11 has the befunge stack and voices 12 and 13 are temporary.
00:53:55 <fizzie> It seems I've implemented only the befunge commands #, $, *, +, -, [0-9] and @. Will do the rest later.
00:54:24 <Keymaker> by the way; any way to print a character in python so that it would not make new line as well?
00:55:23 <fizzie> (Disclaimer: I don't do python.)
00:56:32 <fizzie> Seems that ending a 'print' statement with a , (comma) would also work.
00:56:48 <fizzie> "A "\n" character is written at the end, unless the print statement ends with a comma. This is the only action if the statement contains just the keyword print."
01:37:07 <graue> is INTERCAL a Turing tarpit?
01:37:29 <graue> is Befunge a Turing tarpit?
01:38:57 <kipple> befunge? I would say no. way too many unnessecary instructions
01:40:12 <kipple> I don't think INTERCAL qualifies either.
01:41:03 <kipple> malaprop: http://esoteric.voxelperfect.net/wiki/Turing_tarpit
01:41:34 <malaprop> I think Befunge is just for fun.
01:42:23 <kipple> *sigh* when will I ever learn to spell necessary.... :(
01:48:06 -!- Keymaker has left (?).
01:49:22 -!- wooby has quit.
02:37:34 <GregorR> somebody.write("Hello, World!\n");
02:37:38 <GregorR> (it may take a while to go)
02:37:51 <lament> GregorR: this channel is #esoteric
02:38:18 <malaprop> GregorR: I think you're going to have trouble with recursion.
02:38:40 <malaprop> And if you write a working 99 bottles program, we'll have to kickban you.
02:43:55 <GregorR> lament: The name is a conjunction of #esoteric and lang :P
02:45:25 <GregorR> for every i from 99 down to 2: somebody.write(i + " bottles of beer on the wall, " + i + " bottles of beer!\nTake one down, and pass it around, " + (i - 1) + " bottles of beer on the wall!\n";
02:45:41 <GregorR> Oh, forgot the ) at the end
02:45:45 -!- graue has quit (Read error: 60 (Operation timed out)).
02:45:45 -!- kipple has quit (Operation timed out).
02:46:17 <malaprop> GregorR: Hm, you expect us to be dynamically typed and just convert i from int to str for you? That's kinda presumptuous.
02:50:53 <GregorR> PLUS, it's nondeterministic!
04:11:29 -!- graue has joined.
04:36:19 -!- malaprop has quit ("sleep").
05:05:24 <lament> so will you change the logo?
05:22:39 <graue> did you make a new one?
05:24:53 <graue> then i have nothing to change it to
05:25:24 <lament> the Piet fibonacci numbers program
05:25:37 <lament> http://www.dangermouse.net/esoteric/fibbig.gif
05:26:05 <graue> did the author agree to PD-ize that?
05:26:13 <graue> i missed that detail
05:26:20 <lament> he replied to my email, and also came here
05:26:50 <graue> wait, isn't that the program that has a bug?
05:27:25 <graue> http://www.bertnase.de/npiet/picture.html
05:29:47 <lament> then perhaps you can get the original interpreter to run and check if it has a bug or not :)
05:30:34 <graue> i don't know that much perl :)
05:30:38 <lament> i.e. this is most likely not a bug but a discrepancy between npiet and original piet
05:32:43 <graue> well, "original piet" was implemented in perl by Marc Majcher, who is not the author of the fibonacci program
05:34:13 <lament> it would be weird for it to have a bug
05:34:26 <lament> there's a fairly detailed explanation of the program on http://www.dangermouse.net/esoteric/piet.html
05:35:10 <graue> npiet trace is here: http://www.bertnase.de/npiet/fib-trace-big.png
05:46:22 -!- wooby has joined.
05:48:27 <graue> i rather like kipple's spoofs, especially the last two
06:02:39 -!- wooby has quit.
06:06:29 -!- graue has quit ("Leaving").
07:56:30 -!- sp3tt has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:52:45 -!- Keymaker has joined.
08:54:58 <Keymaker> i'm 18 now. today is my birthday
09:05:32 <lament> http://www.efnet-math.org/Meta/sine1.htm
09:35:00 -!- Keymaker has left (?).
11:14:14 -!- pgimeno_ has joined.
11:14:15 -!- pgimeno has quit (Read error: 131 (Connection reset by peer)).
11:41:04 -!- kipple has joined.
12:25:22 -!- sp3tt_ has joined.
12:32:55 -!- sp3tt has quit (Read error: 145 (Connection timed out)).
13:53:48 -!- malaprop has joined.
14:00:08 -!- sp3tt_ has changed nick to sp3tt.
14:57:20 -!- sp3tt_ has joined.
15:05:33 -!- sp3tt has quit (Read error: 60 (Operation timed out)).
16:06:38 -!- Keymaker has joined.
16:34:44 -!- Keymaker has quit ("Freedom!").
17:02:43 -!- cmeme has quit (Connection reset by peer).
17:03:01 -!- cmeme has joined.
18:50:30 -!- cmeme has quit (Read error: 131 (Connection reset by peer)).
18:52:31 -!- cmeme has joined.
18:52:47 -!- cmeme has quit (Remote closed the connection).
18:53:32 -!- cmeme has joined.
18:55:39 -!- cmeme has quit (Remote closed the connection).
18:56:50 -!- cmeme has joined.
18:56:53 -!- cmeme has quit (Remote closed the connection).
18:57:36 -!- cmeme has joined.
19:18:27 -!- pgimeno_ has changed nick to pgimeno.
19:38:50 <pgimeno> I'm hopefully talking to him via the log
20:07:35 <pgimeno> lament: very interesting the sin(1deg) expansion, I already knew a different sin(3deg) one (plus I've just found one without any imaginary part)
20:09:50 <pgimeno> (actually muMATH found it but anyway) ;)
20:14:55 <pgimeno> SIN(#PI/180) == -3/4/(-27/8 (4 - (7 + 6^(1/2) (5 + 5^(1/2))^(1/2) + 5^(1/2))^(1/2))^(1/2)/2^(3/2) + (2187/32 - 729/128 (7 + 6^(1/2) (5 + 5^(1/2))^(1/2) + 5^(1/2))^(1/2))^(1/2)/2)^(1/3) + (-27/8 (4 - (7 + 6^(1/2) (5 + 5^(1/2))^(1/2) + 5^(1/2))^(1/2))^(1/2)/2^(3/2) + (2187/32 - 729/128 (7 + 6^(1/2) (5 + 5^(1/2))^(1/2) + 5^(1/2))^(1/2))^(1/2)/2)^(1/3)/3
20:41:35 <pgimeno> not much interest in #math apparently
21:21:35 -!- sp3tt_ has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]").
21:27:30 <kipple> there are so many new esolangs these days, it's hard to keep up...
21:27:50 -!- Keymaker has joined.
21:29:20 <Keymaker> i was making a new language today
21:29:25 <pgimeno> in spain you reach independency from parents at 18, don't know in your country
21:30:42 <Keymaker> all stuff isn't clear, here is something :)
21:32:25 <Keymaker> i'll probably call the language "snack", that is, because the interpreter eats the source code. execution of program will be finished when the whole code is removed/eaten. :) the interpreter i've been working on is made with python because it seems to be really cool and fun language. anyways, i'm not sure will this method work:
21:34:07 <Keymaker> like when the program is started, the whole program code is stored into memory. when the code is executed, '#' sets toggle to 1 or 0, depending its value (in the beginning it's always 0). '?' instruction, executed if toggle is 1, will place the entire programs source to that place
21:34:44 <Keymaker> when the program is loaded, it will be put on stack, and when reading instructions they are popped from it (and that way removed)
21:35:32 <Keymaker> anyways; this piece of code #?# (when got to '?') would result the program be ##?# at that point
21:35:55 <Keymaker> i'm not sure what to make the other instructions be, or anything.. not sure if this will work.
21:36:55 <pgimeno> so program execution is from right to left?
21:38:10 <Keymaker> imagine it as stack, filled with program source from left to right
21:38:26 <Keymaker> (i'll be back in 5 mins, eat something!)
21:38:29 <pgimeno> hum, not much instructions to do anything I guess
21:47:13 <Keymaker> another idea was to make language that would let user switch between program memory and memory memory :)
21:47:23 <Keymaker> that was user could do self modifying code
21:48:14 <Keymaker> that would probably not-delete the instructions after executing them
21:49:50 <Keymaker> about python; anyone know how i can make 2d arrays?
21:50:49 <pgimeno> re instructions: I can't help you with that
21:51:31 <Keymaker> like for example access some x,y?
21:52:33 <malaprop> first element in a list is accessed with [0], not [1]
21:53:55 <malaprop> 0-based vs. 1-based is an arbitrary decision in a language without pointers
21:55:47 <pgimeno> I planned to implement a trick for my malbolge interpreter, then I went for straight list and now that the malbolge programs are growing I'm regretting it
21:55:49 <fizzie> "0-based is more natural: I mean, who's ever heard of anyone who'd start counting from 1?"
21:59:54 <Keymaker> rgh.. can't get this working..
22:00:47 <malaprop> In Python a list doesn't have an element [8] without also elements [0-7]
22:01:08 <malaprop> Perhaps what you want is a dictionary indexed by tuple.
22:01:30 <Keymaker> like for example i would like 2d array like:
22:02:24 <malaprop> Do: data = {}; data[(8, 4)] = 33;
22:05:19 <malaprop> Remember, in Python everything is an object. Tuples are immutable objects, and dictionaries can be indexed by any immutable object, whether that's an int or a tuple.
22:09:00 <pgimeno> btw, my trick was to use a tuple of 1-element lists so that the content of the tuple was changeable but random access was quick
22:10:13 <malaprop> pgimeno: dictionary access is constant time.
22:10:44 <pgimeno> yeah but it needs hashing which is not so fast as indexed access
22:11:36 <malaprop> Ya, but it's not a weird use of a dict. :) What were you writing that was so time-sensitive?
22:12:30 <fizzie> Everything is time-insensitive when the amount of operations goes past few millions or so.
22:13:00 <malaprop> Ya, I figured he was either doing something fast or big, was just curious.
22:13:28 <fizzie> I sure hope I won't need to fix _that_ regexp too.
22:14:25 <fizzie> (That second one is supposed to be applied on the first.)
22:15:27 <pgimeno> I finally used a list but even the cat program is slow... list access seems to be O(n), not O(1)
22:15:42 <malaprop> Ya, list access is linear time.
22:16:50 <fizzie> Does that language have arrays?
22:17:03 <pgimeno> there's an array package but I'm reluctant to using third party libraries if avoidable
22:17:24 <malaprop> Sets, tuples, lists, dictionaries.
22:17:48 <pgimeno> there are, but it's a third party language extension
22:19:44 <pgimeno> anyway this should work: stuff=ysize*(xsize*([0],),)
22:19:52 <pgimeno> then stuff[y][x][0] is every element
22:22:21 -!- calamari has joined.
22:24:48 <fizzie> It's alive! (Read: welcome.)
22:50:46 <kipple> this is strange. looks like the voxelperfect web server treats files differently based on whether or not they contain comments: http://esoteric.voxelperfect.net/files/kipple/src/
22:51:25 <kipple> some files (the ones including # comments) seem to be classified as text files, while the rest do not...
22:51:58 <fizzie> It could be some heuristic based on first line.
22:55:21 <fizzie> Depending on the server you could possibly work around it. If it (is apache and has mod_cern_meta enabled || othewise supports cern httpd metadata thing), you can add a directory .web and there files foo.k.meta and Content-type: text/plain into the files.
22:56:12 <Keymaker> well, i'm off to nature (read: night photographin')
22:56:13 <fizzie> And possibly adding a "DefaultType text/plain" to .htaccess of that directory could also work.
22:56:28 -!- Keymaker has left (?).
22:56:46 <fizzie> Bye, and I want a camera that doesn't have a stoopid 15-sec max limit of exposure time.
22:59:13 <calamari> here is my latest contribution to insanity: http://esoteric.voxelperfect.net/wiki/BF_instruction_minimalization
23:09:27 <calamari> latest EsoShell: http://lilly.csoft.net/~jeffryj/EsoShell
23:11:14 <calamari> I'm pretty sure that'll be good enough to be called the real 1.00
23:11:34 <calamari> so if I need to change anything I'll update the version number from here on out :)
23:19:47 <kipple> do you have other languages planned?
23:23:54 <kipple> btw, the brainfuck interpreter outputs numbers, not chars.....
23:25:52 <calamari> indeed.. wonder how that happened :)
23:26:26 <kipple> do you use System.out.print() with an int as argumen?
23:28:48 <calamari> must have been debugging something at the time
23:29:08 <calamari> I took the (char) cast off the print for some reason :)
23:30:52 <calamari> I don't have any current plans to add new languages.. but anyone else is welcome to
23:31:11 <calamari> The API is fairly straightforward
23:33:12 <calamari> Basically, all you do to add a language is have your class extend "Program" and put the class file in the Programs directory. Well, I guess you'd also want to edit the help program so people know about it :)
23:34:02 <calamari> Wish I knew a way to have Java automatically tell me the accessible files.. too many security restrctions
23:34:26 <kipple> yeah, applets are very restricted (for good reasons, though!)
23:35:21 <kipple> if the directory is browseable with HTTP you can get it that way
23:37:09 <calamari> are you speaking in general, or would you happen to know which class I can use?
23:39:29 <GregorR> Gaaah, stop talking!!! I can't keep up with the logs ;)