00:02:01 dang. I was so convinced there was a bug in the interpreter 00:02:15 then I realized I had just confused ^ and v .... 00:02:55 that seemed more intuitive to me :) 00:04:27 ^ and v are "get from", not "put in" 00:04:31 if that's what you mean. 00:04:45 yeah 00:04:58 I was thinking it indicated the direction the value travels 00:06:24 but there's probably a bunch of bugs in the interpreter anyway 00:10:18 Heh, this will be very much non-dense, this befunge thing. 00:10:51 how many voices? 00:11:23 Let's just say "lots". 00:11:48 At least 11. :p 00:12:09 (I probably won't need more, though.) 00:12:21 (Well, maybe a few.) 00:12:58 Most of the time a lot of them will be silent. 00:17:11 cellular automata are cool 00:17:25 like, really cool 00:17:28 fizzie: you could always put a bunch of collectively-nop operations 00:17:28 super cool 00:18:19 fizzie: which in Fugue would be something like "push number/pop" 00:18:46 (push number - a second. then any interval, corresponding to the actual number. Then pop - a unison) 00:19:26 then again, voices that are silent most of the time could be assigned particularly ominous instruments 00:19:45 like bells or whatever :) 00:21:51 kinda neat when your program requires a symphonic orchestra to perform. 00:26:29 a python question; 00:26:44 is there any way to count the amount of cells/whaterver there is in list? 00:33:19 len(list) 00:33:45 thanks 00:35:01 mmm python 00:36:15 :) 00:36:46 I get paid to code in Python all day and it makes me very happy. 00:36:53 oooh 00:36:55 awesome 00:37:03 yes 00:43:40 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 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 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 Uh, "123+45@" was the program, I mean. 00:46:35 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 I used perl -e 'print "123+45@", " " x 7999;' > test.bef to create the input. 00:47:39 I'll improve it to read actual lines when I have some Free Time (tm). 00:52:20 :) 00:52:32 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 It seems I've implemented only the befunge commands #, $, *, +, -, [0-9] and @. Will do the rest later. 00:54:04 ok 00:54:24 by the way; any way to print a character in python so that it would not make new line as well? 00:55:05 putch() perhaps. 00:55:23 (Disclaimer: I don't do python.) 00:56:02 i'll try 00:56:30 didn't like it 00:56:32 Seems that ending a 'print' statement with a , (comma) would also work. 00:56:48 "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." 00:57:22 also sys.stdout.write() 00:58:08 now this works 01:37:07 is INTERCAL a Turing tarpit? 01:37:29 is Befunge a Turing tarpit? 01:38:27 Turing tarpit? 01:38:57 befunge? I would say no. way too many unnessecary instructions 01:40:12 I don't think INTERCAL qualifies either. 01:41:03 malaprop: http://esoteric.voxelperfect.net/wiki/Turing_tarpit 01:41:34 I think Befunge is just for fun. 01:42:23 *sigh* when will I ever learn to spell necessary.... :( 01:47:42 me goes sleep 01:47:44 me tired 01:47:52 clock 3:51 am 01:47:57 me too 01:48:00 good nite :) 01:48:03 nite 01:48:06 -!- Keymaker has left (?). 01:49:22 -!- wooby has quit. 02:37:12 My new language: #esolang 02:37:21 Here, let me test it. 02:37:34 somebody.write("Hello, World!\n"); 02:37:38 (it may take a while to go) 02:37:47 Hello, World! 02:37:51 GregorR: this channel is #esoteric 02:38:05 it worked! 02:38:18 GregorR: I think you're going to have trouble with recursion. 02:38:40 And if you write a working 99 bottles program, we'll have to kickban you. 02:43:55 lament: The name is a conjunction of #esoteric and lang :P 02:45:25 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:35 :P 02:45:41 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 GregorR: Hm, you expect us to be dynamically typed and just convert i from int to str for you? That's kinda presumptuous. 02:46:23 XD 02:50:53 PLUS, it's nondeterministic! 04:11:29 -!- graue has joined. 04:36:19 -!- malaprop has quit ("sleep"). 05:05:18 graue: hey 05:05:24 so will you change the logo? 05:22:39 did you make a new one? 05:24:22 no 05:24:53 then i have nothing to change it to 05:25:24 the Piet fibonacci numbers program 05:25:37 http://www.dangermouse.net/esoteric/fibbig.gif 05:26:05 did the author agree to PD-ize that? 05:26:07 yes 05:26:09 oh 05:26:13 i missed that detail 05:26:14 okay then 05:26:20 he replied to my email, and also came here 05:26:50 wait, isn't that the program that has a bug? 05:27:25 http://www.bertnase.de/npiet/picture.html 05:28:12 do you know perl? 05:29:11 a bit 05:29:47 then perhaps you can get the original interpreter to run and check if it has a bug or not :) 05:30:34 i don't know that much perl :) 05:30:38 i.e. this is most likely not a bug but a discrepancy between npiet and original piet 05:32:43 well, "original piet" was implemented in perl by Marc Majcher, who is not the author of the fibonacci program 05:34:13 it would be weird for it to have a bug 05:34:26 there's a fairly detailed explanation of the program on http://www.dangermouse.net/esoteric/piet.html 05:34:33 with a trace 05:35:10 npiet trace is here: http://www.bertnase.de/npiet/fib-trace-big.png 05:36:20 i know 05:46:22 -!- wooby has joined. 05:48:27 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 i'm 18 now. today is my birthday 08:58:33 congratulations 09:05:32 http://www.efnet-math.org/Meta/sine1.htm 09:07:14 cheers 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:07:24 hm 16:34:39 * Keymaker leaves 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:36:59 Keymaker: happy birthday! 19:37:50 he's not here ... 19:38:50 I'm hopefully talking to him via the log 19:39:13 he uses to read it 20:07:35 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 (actually muMATH found it but anyway) ;) 20:14:55 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:15:15 :) 20:41:35 not much interest in #math apparently 21:21:35 -!- sp3tt_ has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]"). 21:27:30 there are so many new esolangs these days, it's hard to keep up... 21:27:50 -!- Keymaker has joined. 21:27:57 hello 21:28:00 thanks pgimeno :) 21:28:07 happy birthday :) 21:28:14 cheers 21:28:18 :) 21:29:20 i was making a new language today 21:29:25 in spain you reach independency from parents at 18, don't know in your country 21:29:30 really? 21:29:34 yes 21:29:39 (and same here in finland) 21:29:46 but 21:29:46 same here 21:29:48 :) 21:29:55 i'm not sure does it work 21:29:58 i mean the method 21:30:04 i must investigate it more 21:30:24 what is it like? 21:30:40 categories? ;) 21:30:42 all stuff isn't clear, here is something :) 21:30:47 wait, i'll type 21:32:25 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:32:31 (wait more, typing..) 21:34:07 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 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 anyways; this piece of code #?# (when got to '?') would result the program be ##?# at that point 21:35:55 i'm not sure what to make the other instructions be, or anything.. not sure if this will work. 21:35:57 :) 21:36:55 so program execution is from right to left? 21:37:40 yes 21:38:10 imagine it as stack, filled with program source from left to right 21:38:26 (i'll be back in 5 mins, eat something!) 21:38:29 hum, not much instructions to do anything I guess 21:38:33 k 21:45:47 yes 21:46:02 that is problem :p 21:46:14 i haven't planned any 21:46:19 i know it would need more 21:47:13 another idea was to make language that would let user switch between program memory and memory memory :) 21:47:23 that was user could do self modifying code 21:47:33 and so on 21:48:14 that would probably not-delete the instructions after executing them 21:48:17 dunno 21:49:50 about python; anyone know how i can make 2d arrays? 21:50:23 hum 21:50:49 re instructions: I can't help you with that 21:50:57 that's ok 21:51:03 [[1, 2, 3], [2, 4, 9]] 21:51:13 thanks 21:51:19 how do i use them? 21:51:31 like for example access some x,y? 21:51:43 [[1, 2, 3], [2, 4, 9]][1][2] 21:52:08 lists are 0-based, btw. 21:52:15 ? 21:52:18 what that means? 21:52:33 first element in a list is accessed with [0], not [1] 21:52:39 yeah 21:52:44 that i knew 21:52:56 1-based would be confusing 21:53:55 0-based vs. 1-based is an arbitrary decision in a language without pointers 21:55:47 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 "0-based is more natural: I mean, who's ever heard of anyone who'd start counting from 1?" 21:56:20 :) 21:59:54 rgh.. can't get this working.. 22:00:06 data = [[],[]] 22:00:06 data[[8],[5]]=33 22:00:06 print data[[8],[5]] 22:00:18 what i'm doing wrong? 22:00:47 In Python a list doesn't have an element [8] without also elements [0-7] 22:01:08 Perhaps what you want is a dictionary indexed by tuple. 22:01:30 like for example i would like 2d array like: 22:01:49 int stuff[500][500]; in c 22:02:24 Do: data = {}; data[(8, 4)] = 33; 22:02:27 that'll work as you want 22:03:42 yes! 22:03:45 exactly 22:03:47 thanks 22:05:19 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 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 pgimeno: dictionary access is constant time. 22:10:44 yeah but it needs hashing which is not so fast as indexed access 22:11:36 Ya, but it's not a weird use of a dict. :) What were you writing that was so time-sensitive? 22:11:54 a malbolge interpreter :) 22:12:30 Everything is time-insensitive when the amount of operations goes past few millions or so. 22:12:42 s/in// 22:13:00 Ya, I figured he was either doing something fast or big, was just curious. 22:13:08 s#in/#-in/-# 22:13:28 I sure hope I won't need to fix _that_ regexp too. 22:14:06 doh, now I get it :) 22:14:25 (That second one is supposed to be applied on the first.) 22:14:32 yah 22:15:27 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 Ya, list access is linear time. 22:16:50 Does that language have arrays? 22:17:03 there's an array package but I'm reluctant to using third party libraries if avoidable 22:17:08 Python does not, no. 22:17:24 Sets, tuples, lists, dictionaries. 22:17:48 there are, but it's a third party language extension 22:19:44 anyway this should work: stuff=ysize*(xsize*([0],),) 22:19:52 then stuff[y][x][0] is every element 22:21:33 I'm off, bye 22:21:53 bye 22:22:21 -!- calamari has joined. 22:22:28 hi 22:22:32 hi 22:22:38 * calamari can get online again.. yay :) 22:22:48 hi malaprop 22:24:22 welcome online! :) 22:24:48 It's alive! (Read: welcome.) 22:50:46 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 some files (the ones including # comments) seem to be classified as text files, while the rest do not... 22:51:58 It could be some heuristic based on first line. 22:52:07 annoying 22:52:34 :) 22:52:41 mmmh.. esoteric servers.. 22:55:21 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 well, i'm off to nature (read: night photographin') 22:56:13 And possibly adding a "DefaultType text/plain" to .htaccess of that directory could also work. 22:56:18 :) bye 22:56:28 -!- Keymaker has left (?). 22:56:46 Bye, and I want a camera that doesn't have a stoopid 15-sec max limit of exposure time. 22:59:13 here is my latest contribution to insanity: http://esoteric.voxelperfect.net/wiki/BF_instruction_minimalization 23:09:27 latest EsoShell: http://lilly.csoft.net/~jeffryj/EsoShell 23:11:14 I'm pretty sure that'll be good enough to be called the real 1.00 23:11:34 so if I need to change anything I'll update the version number from here on out :) 23:15:12 looks nice 23:19:03 kipple: thanks :) 23:19:47 do you have other languages planned? 23:23:54 btw, the brainfuck interpreter outputs numbers, not chars..... 23:25:15 * calamari tries it 23:25:52 indeed.. wonder how that happened :) 23:26:26 do you use System.out.print() with an int as argumen? 23:28:41 fixed 23:28:48 must have been debugging something at the time 23:29:08 I took the (char) cast off the print for some reason :) 23:30:52 I don't have any current plans to add new languages.. but anyone else is welcome to 23:31:11 The API is fairly straightforward 23:33:12 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 Wish I knew a way to have Java automatically tell me the accessible files.. too many security restrctions 23:34:26 yeah, applets are very restricted (for good reasons, though!) 23:34:36 definitely 23:34:43 just frustrating sometimes 23:35:21 if the directory is browseable with HTTP you can get it that way 23:37:09 are you speaking in general, or would you happen to know which class I can use? 23:37:25 in general 23:39:29 Gaaah, stop talking!!! I can't keep up with the logs ;)