00:01:14 hmm safari should support xslt 00:01:40 i think it does 00:01:45 maybe it has problems with utf8 characters as xml tags 00:02:07 hmm... that makes sense 00:02:16 ok i'll change every xml tags to ascii 00:03:08 ...it is currently impossible 00:06:01 does it work now? 00:06:25 oops 00:06:37 no :( 00:06:57 now there's no utf8 character on xml file 00:07:30 if i need to delete every utf8 character even in xsl file, i'd rather find a parser to build an html file 00:07:37 don't know why it doesn't work 00:07:50 have no choice but safari? 00:08:03 i have camino (gecko based) it works there 00:08:04 like, firefox? 00:08:26 firefox' interface laggs.. 00:10:48 i have no idea about this 00:10:55 they are all UTF-8 00:11:02 and server is utf8 too 00:11:21 there should be no error from encoding/decoding 00:11:47 http://gs30ng.exca.net/udage/spec-en.xml 00:11:50 http://gs30ng.exca.net/udage/spec-ko.xml 00:11:55 both page doesn't work? 00:12:07 yes 00:12:45 no way 00:12:59 it must be a bug of safari 00:24:23 you can just view-source it 00:24:52 i structurized it easy to read 00:25:49 int-e should be noticed about this for his udage interpreter in c 00:25:58 "xsltproc" is good. 00:26:07 parser? 00:26:16 XSL style sheet parser thingie. 00:26:40 where can i get one 00:26:58 I've used it for debugging some xml+xslt things that were supposed to generate xhtml, since mozilla's xslt thing doesn't give too great error messages. 00:27:36 Debian has a "xsltproc" package. 00:27:47 I guess it _was_ xsltproc I used, hmm. 00:28:05 Yes, it was. Part of Gnome's XSLT lib. 00:28:21 lol 00:28:26 idea for a language 00:28:44 all non-alphanumeric characters are ignored 00:29:07 well 00:29:09 is it? 00:29:29 and the angle of two keys on the german keyboard decides about the instruction 00:30:03 this language is character-independant because one of design goal was that 00:30:04 hmmm ü+öä#<,.- are allowed too 00:30:30 in my client the words are broken 00:30:42 Gs30ng: encoding? 00:30:43 Gs30ng: I saw that 00:31:07 jix: yes 00:31:13 int-e: how do you feel 00:31:20 tired :P 00:32:01 jix: you still cannot read the spec page? 00:32:22 Gs30ng: yep 00:32:32 cannot view-source it? 00:32:36 using safari i can't using camino i can 00:33:03 the first thing i did after trying safari was launching it in camino and reading it.. i just wanted to inform you that it doesn't work with safari 00:33:20 i want it work with safari 00:33:27 thx 00:33:51 i'll find out some ways to fix it 00:35:24 oh, you added inderection and a very big address space, interesting 00:35:30 indirection 00:35:34 -!- ditto has quit ("Leaving"). 00:35:44 copying OISC 00:35:52 i intended turing completeness 00:36:04 yes, very big address space 00:36:28 and now operations like this is possible with limited code: 00:36:31 user inputs. 00:36:35 computer records. 00:36:41 repeat until user inputs 0. 00:37:19 it's not turing complete but it will be possible to represent any practical computation. 00:37:30 still not turing complete? 00:37:47 hmm 00:38:21 i think i chose same method of OISC so it's turing complete 00:38:33 yes, because you cannot address an unlimited memory with a finite program (a finite program mean that the address length in every AAAxxxA instruction is finite as well) 00:38:51 it's enough for all practical purposes though 00:39:00 so I'd not worry about this. 00:39:07 oh you meant that way 00:39:23 it is unable for other languages too 00:39:43 like, 1 variable cannot carry too big number or something 00:40:00 well, in brainfuck the theoretically unbounded memory is the tape 00:40:05 it's possible to address more than 2^(2^16) adressess .. 2^256 is enough for everything 00:40:15 yes. 00:40:26 enough for all practical purposes, as I said :) 00:40:29 there isn't enough energy in the universe for running ram modules that store 2^256 bytes 00:40:33 or something like that 00:40:45 very likely. 00:40:47 with 2^512 it's possible to adress every molecule in the universe... 00:40:56 or 2^256 00:41:19 you have to keep in mind that the Turing machine is an entirely theoretic construct. 00:41:30 I read that the number of atoms in the observable universe is 10^80 00:41:33 which is greater than 2^64 00:41:48 wait, I'm wrong, disregard that 00:42:14 and a language to be turing complete means that if it's run on idealized hardware (that supports arbritrary sized integers or infinite memory) you can simulate any turing machine on it. 00:42:31 graue, but 2^256 is close to that :) 00:42:34 -!- kipple has quit (Read error: 110 (Connection timed out)). 00:42:59 well 00:43:06 now i understand what int-e is talking 00:43:11 no, if a language is turing-complete that means you can simulate any turing machine on it. 00:43:19 hardware never ever comes into consideration. 00:43:32 2^(2^# of unicode chars)) should be enough for everything 00:43:34 a limited source code can only use a limited memory space 00:43:42 Gs30ng: wrong 00:43:46 Gs30ng: why? 00:43:52 ...in my lang 00:43:57 oh 00:43:59 right 00:44:04 lament: the hardware comes in at the point where I want to give the semantics of the language 00:44:05 then your language is not turing-complete 00:44:10 lament: yes 00:44:17 unless you have bignums or something 00:44:37 but can do anything that turing machine can do, currently 00:45:01 Gs30ng: wrong you can do anything that real machines can do 00:45:01 if there's some way to cram infinite amount of data into a single memory cell, you could have TC 00:45:07 the 'hardware' of a brainfuck program is an infinte tape and a pointer to the tape. they're both theoretical entities, idealized from real hardware. 00:45:47 just to clarify what I meant by 'hardware'. 00:45:54 anybody have an idea to make this lang TC? 00:46:28 why do you copy oisc anyhow? 00:46:31 it exists 00:47:08 well 00:47:10 lack of idea? 00:47:14 you could use relative addressing, relative to the last address used 00:47:32 that's similar to a tape and you need a way to specify negative offsets 00:47:49 relative addressing 00:47:57 but it will be possible to simulate brainfuck then and your language would be turing complete. 00:48:14 ok i'm gonna change all memory cells to stack 00:48:21 ...this is not good 00:48:29 not stacks 00:48:42 relative addressing is good 00:48:53 i don't actually get the idea 00:48:58 tell me more about that 00:50:00 * int-e wonders if it's possible to use an unbounded number format (they exist. 0 is represented as 1, and other numbers are represented as 1) and indirect addressing. 00:50:32 err 00:50:37 0 is represented as 0 :) 00:50:42 and it's number of bits-1 00:50:49 but the basic idea is exactly that. 00:51:20 ... 00:51:24 how do you know the number of bits of the number of bits? 00:51:26 so, 1 would be 1 0 1, 2 would be 1 101 10, 3 1 101 11, 4 1 110110 100, etc. 00:51:39 lament: recursively apply the construction 00:52:02 then how do you know when to stop? :) 00:52:15 when I find a 0 00:52:27 ah 00:52:56 so 2 would be 1 1 10 0 ? 00:52:57 parse = if getbit=0 then 0 else bits=parse; num=get_n_bits(bits) 00:53:49 i do not understand 00:54:43 ok, let me correctly specify the number (and optimize some): 0 is 0. an n-bit number <1a[1]a[2]a[3]...a[n]> is represented as 1 followed by the representation of n, followed by a[1]a[2]...a[n]. 00:54:49 That meeting drug on for WAY too damn long >:( 00:55:25 this means: 0 is 0. 1 is a 1-bit number, encoded as 1 , that is 10. 00:55:55 2 is a 2-bit number (10), and represented as 1 0, that is 1100 00:56:03 3 is 1101 00:56:24 this is too complicated. I prefer unary :) 00:56:29 4 is a 3-bit number (100) and represented as 1 <2> 00, that is 110000 00:56:34 unary works, too 00:56:53 graue: Could you give me a link to your 2L interpreter so I can debug? 00:57:04 and another easy way is to use 10 for 0, 11 for 1 and 00 for a stop symbol. 00:57:12 also, this format can't even handle transfinite numbers :) 00:57:19 you could even go ternary with this approach ;) 00:57:26 so why 4 is represented as something different 00:57:38 transfinite numbers are not necessary to achieve turing completeness 00:57:58 neither are big ones 00:58:07 very little is needed for TC :) 00:58:10 right 00:58:30 just an infinity somewhere 00:58:43 but if the idea for implementing an infinite memory is to address each cell individually, you need big numbers. 00:58:48 i really want turing himself here 00:58:58 -!- GregorR has changed nick to Turing. 00:59:08 Hi! 00:59:21 -!- Turing has changed nick to GregorR. 00:59:25 oops 00:59:29 he's gone again 00:59:46 Heheh :P 00:59:57 * Gs30ng mourns 01:00:40 there should be another way to access a memory cell... 01:01:09 both relative addressing and unbounded addressing work 01:01:12 -!- Aardwolf has quit ("Leaving"). 01:01:26 so what the hell is relative addressing 01:02:00 Rather than saying I want memory address 0x5 you say I want memory address here+0x1. That is, all addresses are based on the current location. 01:02:18 -!- calamari has quit (Connection timed out). 01:02:24 ...got it 01:02:46 where "here" could be the code pointer, or some memory pointer like in brainfuck 01:03:16 that was something i have thought! why didn't i re-get that? 01:03:52 Hmm, lemme think ... would it be Turing-complete if it was the code pointer? You still couldn't access the entire bounds of memory from any location, and hence wouldn't have infinite storage space ... 01:03:52 ok let me think about this idea more... 01:04:21 GregorR: yes I think so, too 01:04:37 GregorR: not if code is in your memory, you can modify it, and you have GOTO 01:04:48 (i.e. like on all computers) 01:05:00 nah, not all computers 01:05:07 Ahh yes, being able to modify it does rectify that, doesn't it ... 01:05:07 it's von Neumann computers only. 01:05:10 http://www.befunge.org/~fis/test_ppc_gnuWlinux.s 01:05:30 this is hard to make decision. current spec is already enough do everything that we can currently do. 01:05:46 there are computers with separated code and data memory. granted, the only example I can think of are DSPs. 01:05:49 Gs30ng: turing-completeness is not that important, really. 01:05:59 Hey now jix, that's a bright ray o' light 8-D 01:06:04 lament: i'm realizing that 01:06:32 The usual good-enough is "Turing-complete with the exception of finite storage space" 01:06:50 (So long as that finite space is enough to actually do anything) 01:07:15 SMETANA also bounds memory size by code size 01:08:00 i need something to eat now 01:08:07 somebody give me 01:08:10 I think Udage with memory retargeting is good enough 01:08:20 (as it is right now) 01:08:23 * GregorR gives Gs30ng poison^H^H^H^H^H^H candy. 01:08:39 !google ^H 01:08:44 Udage without the memory retargeting operation felt very much like Smetana and thus insufficient. 01:08:57 (for me) 01:09:15 but smetana is cool :( 01:09:23 in my point of view 01:09:27 Gs30ng: Olde UNIX joke - if yoshell doesn't allow you to delete, backspace becomes ^H 01:09:35 s/yoshell/your shell/ 01:09:55 a machine should do this: 01:10:09 user inputs, computer records, repead until user inputs 0 01:10:10 GregorR: and if it does, ^H becomes backspace 01:10:14 a machine should not run esolangs for any serious work :) 01:10:29 lament: Indeed. 01:10:41 in my point of view it is perfect 01:10:45 int-e: I agree. Perl included. 01:10:49 like... Gs30ng complete? 01:10:54 ok, and then do what with its input? 01:11:05 what input 01:11:09 Perl is a neat write-only language if you need to do some string or text processing. 01:11:11 ;) 01:11:32 Perl is not considered an esoteric language for purely historical reasons 01:11:34 personally I much prefer Python 01:11:38 Gs30ng machine input or Udage input? 01:12:04 you started to descibe a computer that takes some input until the user inputs 0 01:12:09 GregorR: YOU want to debug MY 2L interpreter?! 01:12:15 yes i did 01:12:17 if you just want to do that, you need no more than a finite state machine 01:12:28 smetana can do that 01:12:30 i'm aware of it too 01:12:35 or could if it supported input ;) 01:12:42 ...wait 01:12:46 Udage can't do that 01:12:55 infinite input and recording all of them 01:13:08 why would you record it? 01:13:18 because it is gs30ng machine 01:13:21 consider the following problem: 01:13:29 read input until EOF. 01:13:32 Print input backwards. 01:13:50 yes. that requires infinite storage 01:14:02 exactly. 01:14:15 although it can be done on a stack machine that isn't turing complete 01:14:45 graue: Umm ... yes? 01:14:53 relative addressing... i can't find proper method to do it 01:15:04 Merely because my entry on esolangs.org was borked, so I feel responsible. 01:15:12 like, if AAAxxxA then move the pointer xxx cells left? 01:15:42 yes 01:15:47 and retarget AAA to that location 01:15:53 err the switch A 01:16:07 or right? how can i decide the way? before that, does it need xxx cells? 01:16:10 esolangs with addressing are boring :) 01:16:14 The wiki page was never intended to be a spec by the way, it also doesn't fully explain +-turning. 01:16:15 too much like real assembly 01:16:20 actually you should do AAAdxxxA where d specifies the direction 01:16:36 i can just to AAAdx 01:16:57 you can just do AAAd and specify that the offset is always 1 01:16:57 d decides the direction and x decides the cells to move 01:17:15 but that feels very brainfuck-ish 01:17:28 larger offsets make it less brainfuckish. 01:17:28 then what about AAAA operation 01:17:42 now it isn't useless 01:18:00 why? 01:18:04 somebody can make a source code like AAAA 01:18:13 but it is I/O operation 01:18:24 and that's something i really don't want to be there in my lang 01:18:53 AAAA must be a useless operation to be some another operation 01:19:07 that's my design goal of the lang 01:19:49 well AAAA can be represented as BBBA with that semantics ... 01:19:59 GregorR, okay, hang on 01:20:47 am sending through DCC, can you receive those? 01:20:57 Who knows 8-D 01:21:05 I don't think so, I'm behind a firewall. 01:21:24 But actually, I would look at the bit about turning I just added to the 2L wiki page. It's becoming more like a spec every minute :P 01:21:28 it's ridiculously hot here in Korean 01:21:30 oops 01:21:33 s/Korean/Korea 01:21:45 It didn't explain how the turn worked, and the intuitive way is not the correct way. 01:22:00 http://www.oceanbase.org/graue/junk/2l.c 01:22:10 my friend wonders 01:22:14 http://www.oceanbase.org/graue/junk/a.2l <-- my A program that works if you change the starting direction in the interpreter to RIGHT 01:22:20 is befunge from the word fungi? 01:22:47 which means mushroom or something like that? 01:23:12 Well, the turns are right anyway, that's good since I didn't explain them :P 01:23:19 my friend designed a fungeoid named Versert 01:23:21 fungi does not mean mushroom, http://en.wikipedia.org/wiki/Fungus 01:23:32 oh whatever 01:23:40 is it from fungi? 01:23:43 a mushroom would be an example of a fungus 01:23:55 fungi is plural: two or more of the thing called a "fungus" 01:24:12 that's why i said mushroom "or something like that" 01:25:23 anyway befunge is named after it, right? or is it not clear? 01:25:30 I do not know 01:25:57 well 01:26:07 GregorR: I remember reading something about how "the turn is not a simple turn" because if it were, some loops would not be possible 01:26:09 a friend of mine made a fungeoid 01:26:19 and i gave him the name versert 01:26:22 Archway2 works the same way 01:26:41 beoseot means a mushroom in Korean 01:27:26 cool 01:27:34 Versert is named after it, so i wonder if befunge is really from fungi or not 01:27:48 ask cpressey 01:28:00 cpressey: why befunge is called that? 01:28:04 of course it doesn't matter that much wheter befunge is or isn't 01:28:15 oops there's cpressey here 01:28:22 hehe 01:28:39 maybe it's named after John Funge, AI pioneer: http://www.dgp.toronto.edu/~funge/ 01:28:49 oh 01:29:01 john mushroom doesn't make any sense 01:29:05 I doubt it, though 01:29:58 terrible weather 01:30:02 raining, but hot 01:30:19 hot water is falling 01:30:37 how is this possible? 01:31:45 magic 01:32:28 you did it, lament 01:32:44 could be air friction 01:32:44 hehe 01:32:48 Hot Rain. what an idea 01:33:32 relative addressing idea is good but too brainfuck-ish 01:33:54 but it probably just means that the humidity is very high so the water does not evaporate, which means it has no cooling effect 01:34:20 that's right 01:34:37 Korean summer is with really high humidity 01:34:58 hot and humid summer 01:35:03 worst 01:35:10 * int-e suggests 'has' in place of 'is with' 01:35:22 oops 01:35:28 that makes more sense 01:36:29 or maybe 'comes with' which sounds good to me, too. 01:37:38 lament: read the wiki entry 01:37:38 since turing completeness is not that important currently with my lang, i'll reserve it for someday 01:38:04 RTFM thing 01:39:52 The word "Befunge" started life as a typographical error for the word "before", typed by Curtis Coleman at 4AM on a BBS chat system. 01:39:55 aw 01:41:46 GregorR: I'm not sure if my unbounded pointers stored in memory idea really makes the beast Turing complete. I can only address a finite memory directly, to address more I need to introduce a level of indirection. In fact, I need an unbounded level of indirection to address an unbounded memory and I can't convince myself right now that this is possible with a finite program. A linked list representation between the indirection pointers may wor 01:41:47 k, though. 01:42:38 it's certainly food for thought 01:45:47 GregorR: ah that should have been targeted for lament. 01:45:53 err at 01:46:25 should conversation be esoteric too? 01:47:58 * int-e doesn't know that. 01:49:16 syntax highlighting of this lang would be easy 01:50:15 actually i thought about 'udage list' concepts or something 01:50:19 to make it TC 01:52:10 hmm 01:52:19 i can make an operation in an operation 01:52:34 like, AAA starts, then A concludes 01:52:49 between them all kind of udages can come 01:53:35 operation could come 01:54:31 jix: what happened to XUML? 01:54:47 so, between AAA and A, a loop operation could come 01:55:33 graue: never completed it because there was a bug in the converter or interpreter or even concept that i couldn't find 01:56:14 and when a loop operation comes, each values that made by loop is stored as a value of that 2^16 thing 01:56:15 jix: that sucks 01:56:23 jix: ever plan to come back to it, or release what you have? 01:56:28 no 01:56:32 !@# 01:56:39 because nothing works as it should 01:57:04 so we can make it to indicate no. infinite memory cell 01:57:17 GregorR: with regard to 2L, when you say "The action is undefined when the pointer goes over the right or bottom edge", is this after expanding each line rightwards to make the code area rectangular? 01:57:24 GregorR: or is no extending of lines done? 01:57:25 ...this is interesting 01:59:20 so operation can be between AAA and A 01:59:27 GregorR: my a.2l works in my fixed 2L interpreter provided you replace the * in the top left corner with a nop 01:59:34 GregorR: does it work in your interpreter if you do that? 01:59:35 and if operation changes some value 01:59:45 then original values are stored first 01:59:59 and then modified values are stored right next to it 02:00:27 int-e, what do you think about this 02:00:52 with this Udage is TC, also 02:02:13 I don't understand what you're trying to do. what would AAABCA do? 02:02:34 same thing it have been doing 02:03:17 i mean a code like this: FAAAFBCCDEFA 02:03:33 CCDEF is identified as an operation 02:04:28 (FB isn't) 02:04:48 GregorR: oh, it's waiting for a character for some reason 02:04:50 so it will jump to backward F again and again 02:04:57 GregorR: your helloworld.2l changes TL1 when TL0 is 0 02:05:14 oops 02:05:19 my mistake 02:05:36 the code should be like FDEAAAFBCDEFA 02:05:42 D and E should be 1 02:06:39 GregorR: your program works, it's just that it prompts me for a character, prints it 8 times, prints a bunch of newlines, prompts me for a character again, prints it 11 times along with a bunch more newlines, prompts me for a character again, prints that 11 times, then ends 02:06:45 oops 02:06:48 mistake again 02:06:55 FDEAAAFBCCDEFA 02:07:09 where can i read about udage? 02:07:20 see wiki 02:07:26 there's url 02:07:29 GregorR: also it ends by going off the bottom (cell 35, 146 is executed last), so it will invoke undefined behavior in a conformant implementation 02:07:45 lament: http://gs30ng.exca.net/udage/spec-en.xml 02:07:54 anyway it jumps again and again, A will indicate no. 10(because of F and B)0000000000000000000000...(C gets 0 endlessly) 02:08:32 GregorR: trace of execution of 02:08:44 GregorR: HelloWorld.2l is at http://www.oceanbase.org/graue/junk/errors.txt 02:10:44 GregorR: I got that by running this and redirecting stderr: http://www.oceanbase.org/graue/junk/2ldebug.c 02:10:53 Gs30ng: Udage is a bounded-storage machine; see http://www.esolangs.org/wiki/Bounded-storage_machine (just like C, apparently) 02:11:17 yes 02:11:23 but it is big enough, i think 02:11:38 I think so too 02:12:10 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 02:12:32 there could be some attempts to make this lang TC 02:12:36 like, Udageoid? 02:13:12 it does not need to be TC; beware of the Turing tar-pit in which everything is possible but nothing of interest is easy. 02:13:13 but right now i don't feel any necessity to change the spec 02:13:35 i love the Turing tarpit 02:13:48 one of Udage design goal was that 02:14:58 the problem with Udage is that absolute addressing makes it impossible 02:15:19 but i gave up that because all good turing tarpits are already there 02:15:23 pgimeno: right 02:16:44 is there any wiki space for sample Udage codes? 02:17:09 it's outside the wiki itself, see http://www.esolangs.org/files/ 02:17:28 pgimeno: but still you can handle more than 2^256 bits 02:17:53 although it's really hard to do so :( 02:18:12 Turing completeness requires an unbounded tape, i.e. a tape with no upper limit at all 02:18:36 -!- Wrrrtbt has joined. 02:18:45 -!- int-e has quit (Read error: 145 (Connection timed out)). 02:18:51 -!- Wrrrtbt has changed nick to int-e. 02:20:46 re 02:21:04 er 02:23:57 hm 02:24:02 how come there's no Trigger implementation? 02:24:09 there is ;) 02:24:44 http://www.inf.tu-dresden.de/~bf3/trigger.c (well, it has this limitation on 1MB program size but it should do for some experiments) 02:25:32 i think i should make an interpreter of Udage by myself 02:25:56 it sounds ridiculous that i can design a lang but cannot make an interpreter for it 02:29:45 let me warn you that the addition of retargeting has made that task nontrivial, because your memory can be sparse, that is, it's trivial to write a program that accesses just a few memory cells that are, say, 2^128 locations away from each other. 02:31:04 is it dangerous? 02:31:14 no 02:31:54 But it's hard to handle this gracefully instead of just failing to execute such a program. 02:32:24 for easy coding we can use cells like 02:32:33 1, 2, 4, 8, 16, ... 02:33:15 and cells like 3, 5, 6, 7 are empty forever 02:33:16 :( 02:34:18 ok int-e, question again 02:34:27 if i make AAA operation like this: 02:35:11 AAAd, if d is 0 then A indicates the cell (cur+1) and if d is 1 then A indicates the cell (cur-1) 02:35:33 then Udage is TC? 02:36:45 -!- int-e has quit ("Bye!"). 02:36:46 -!- int-e has joined. 02:36:52 g'nite 02:36:58 grr. my network is flaky, stupid ISP :( 02:37:03 good night 02:37:12 jix is up early (like me) 02:37:16 int-e, then did you saw my question? 02:37:37 no, last I saw was [03:33:57] for easy coding we can use cells like 02:37:40 at here it's 10 o'clock AM 02:37:49 [10:33:29] for easy coding we can use cells like 02:37:49 [10:33:38] 1, 2, 4, 8, 16, ... 02:37:49 [10:34:20] and cells like 3, 5, 6, 7 are empty forever 02:37:49 [10:34:21] :( 02:37:49 [10:35:22] ok int-e, question again 02:37:49 [10:35:32] if i make AAA operation like this: 02:37:51 [10:36:16] AAAd, if d is 0 then A indicates the cell (cur+1) and if d is 1 then A indicates the cell (cur-1) 02:37:54 [10:36:37] then Udage is TC? 02:38:31 if AAAd also changes cur (to cur+1 or cur-1), then yes. if it doesn't change cur, then no 02:39:10 cur is it's own cur 02:39:13 A's own cur 02:39:43 A indicates 1, and AAAd, if d is 0, now A indicates 2 02:39:46 A indicates 2, and AAAd, if d is 0, now A indicates 3 02:39:56 oh 02:40:10 that's another possibility. 02:40:25 that means you have a tape and 65536 independent pointers to it 02:40:44 that makes it turing complete as well. 02:40:58 actually i don't like tapes 02:41:19 and int-e, then what was your plan 02:41:34 you supposed only one pointer? 02:42:00 I actually like your idea better because it's less like brainfuck 02:42:16 -!- jix has left (?). 02:42:16 oh thanks 02:44:05 what if a udage points 0 (itself) and i do (cur-1) 02:44:24 should i suppose no. negative memory cells? 02:44:39 or can i do something different? 02:51:02 and BTW, does this lang deserves to be on topic of this channel? 02:51:02 that's up to you 02:51:26 then i'll make it to choose random memory cell 02:51:43 ...wait. the range is infinite. it's impossible 02:51:46 it's an esoteric programming languages channel, of course it's on topic 02:51:51 na, it's possible 02:52:01 there just isn't a uniform distribution 02:52:28 but you could choose memory cell 0 with probability 1/2, 1 with 1/4, 2 with 1/8 and so on - to give an example. 02:52:58 ok then 02:53:28 i'll make it to choose random udage and have same indication value 02:54:23 then the range is finite and uniform distribution is possible 02:54:34 * GregorR begins work on egobch. 02:54:47 ..still 0 has priority in many case 02:55:50 i think there could be no. negative memory cells but they are not necessary.... 02:56:18 i can add something really advances all things... 02:58:48 too bad languages working with bits are such a pain to actually write programs in 02:59:54 it's true but i love bits 03:03:41 even kayak, which had such an awesome concept, lies unused 03:04:20 hhheeehhh......... 03:12:57 * Gs30ng thinks. 03:13:44 * Gs30ng can't find the way to rationalize the use of AAAA operation when AAA operations takes only 1 operand. 03:14:06 -!- graue has joined. 03:21:20 -!- Gs30ng has quit ("for foods"). 03:22:23 lament: I did a merge sort in Kayak once 03:31:45 http://www.inf.tu-dresden.de/~bf3/sort3.kayak 03:32:08 good night 03:37:50 -!- int-e has quit ("Bye!"). 03:48:07 Yay, I just wrote a program that outputs 'a' in BitChanger 8-D 03:48:21 More importantly, I wrote a bitchanger interpreter :P 04:03:22 feel like writing a program in an esolang that violates US patent #4,872,009? 04:03:34 (see http://www.faqs.org/faqs/compression-faq/part1/section-7.html) 04:10:00 Either my BitChanger interpreter is screwy, or the Brainfuck->Bitchanger stuff on the wiki is wrong >_< 04:27:05 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 04:29:50 -!- graue has joined. 04:30:01 GregorR: "If it was going right you couldn't turn away from the edge." is not true, look at a.2l 04:30:15 GregorR: also, look at my comments on HelloWorld.2l earlier 04:30:20 -!- graue has left (?). 04:30:24 Yeah, y------. 04:30:26 Hmm. 04:56:26 -!- BigZaphod has joined. 05:12:42 graue: I'm apparently the worst spec-writer ever. 05:12:59 graue: My implementation had up as < and down as > 06:03:49 -!- graue has joined. 06:04:03 GregorR, I demand that you change your implementation and your hello world program so I don't have to do anything 06:04:15 good evening 06:04:16 -!- graue has quit (Client Quit). 06:04:26 Gah, why does graue do that XD 06:04:38 Sadly, that's not even a totally unreasonable request XD 06:06:20 -!- graue has joined. 06:06:29 by the way, the link to the fyb interpreter at www.befunge.org/fyb/fyb/ is broken 06:06:30 -!- graue has quit (Client Quit). 06:09:33 Fixed. Thanks for pointing that out. 06:39:49 -!- BigZaphod has quit. 07:01:56 Ohh, I just love the morning sunshine when I have no curtains at all in the bedroom. (Read: agghhh the sunlight noo I'm burning.) 07:13:49 -!- tokigun has joined. 07:21:37 -!- BigZaphod has joined. 07:28:53 -!- klutzy has quit ("Oops I closed program by mistake"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:11:10 -!- lament has quit (Remote closed the connection). 08:13:50 -!- lament has joined. 08:19:01 -!- lament has quit (Remote closed the connection). 08:29:16 -!- lament has joined. 12:41:49 -!- Fedo1a has changed nick to reffina. 12:47:22 -!- reffina has changed nick to yrz\werk. 13:02:25 -!- jix has joined. 13:09:05 moin 13:09:31 HELO 13:23:53 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 14:26:12 -!- Aardwolf has joined. 14:26:49 -!- int-e has joined. 14:30:09 moin 14:30:49 good afternoon 14:51:30 -!- int-e has quit ("Client exiting"). 14:51:33 -!- int-e has joined. 16:06:52 -!- int-e has quit (kornbluth.freenode.net irc.freenode.net). 16:06:53 -!- cpressey has quit (kornbluth.freenode.net irc.freenode.net). 16:08:04 -!- cpressey has joined. 16:22:39 -!- int-e has joined. 16:22:53 -!- int-e has quit (Read error: 60 (Operation timed out)). 16:28:30 -!- int-e has joined. 16:30:18 -!- cmeme has joined. 16:30:33 -!- cmeme has quit (Remote closed the connection). 16:31:20 -!- cmeme has joined. 16:32:25 Hey, cmeme is back. 16:32:32 Felt like logging again, cmeme? :) 16:38:17 -!- int-e has quit (kornbluth.freenode.net irc.freenode.net). 16:38:30 -!- int-e has joined. 17:12:22 <{^Raven^}> hi all, anyone entering the 2k game compo should check out the rules again as they have changed. 17:13:54 url? 17:27:31 -!- BigZaphod has quit. 17:34:33 lindi-: http://www.geocities.com/dunric/advcomp.html 17:36:59 Who wrote the BF->BitChanger conversions on the wiki? 18:04:22 {^Raven^}: i don't see what's changed? 18:04:30 GregorR: probably calamari 18:10:32 I think there might be something wrong with the insanely complex [. 18:10:38 (Or my BChI) 18:11:08 -!- BigZaphod has joined. 18:15:06 GregorR: where's that conversion? 18:26:33 -!- Aardwolf has quit ("Leaving"). 18:31:52 Oh, found it. 18:41:52 yep, that [ implementation smells fishy 18:50:14 Maybe I should publish EgoBCh without EgoBF2BCh 19:08:24 -!- calamari has joined. 19:08:29 hi 19:09:04 -!- int-e has quit ("Client exiting"). 19:09:59 calamari, is that your [ in the BF->BitChanger conversion chart on the wiki? 19:11:05 -!- int-e has joined. 19:11:30 GregorR: I think I write the conversions, yeah.. but I had no interpreter to tets them with 19:11:39 are they messed up? 19:11:45 Everything works except for [ 19:11:58 I'm working on that 19:12:06 So overall, good job, but egobf2bch doesn't work ;) 19:12:15 hehe 19:12:28 I've seen better versions of [ online anyhow 19:13:32 int-e quite nearly got one, but it turned into if. 19:14:01 yep, because translating ] into ] cannot work 19:14:35 yeah.. not quite sure what I was thinking with that 19:14:47 actually wait.. yeah 19:15:04 ]=] should be fine.. 19:15:14 it just makes [ more complicated 19:15:50 but, I use the ] = jmp.. rather that some impl that do a conditional at most ends 19:16:04 both ends 19:16:24 blah.. can't form coherent sentences this morning, sorry 19:16:33 it still jumps to the wrong point with your code ;) 19:17:04 hehe, I wouldn't doubt it 19:17:20 I can put it on the debugger and fix it 19:18:50 hahaha.. that code scares me, and I wrote it! :( 19:19:07 it's not too difficult 19:19:09 hehe 19:20:31 and I can see how to shorten it quite a bit. but let me get that version to work first. 19:29:41 Here's the moment you've all been waiting for ... 19:29:48 The first implementation of BitChanger ... 19:29:59 The thing that lets us switch the category ... 19:30:07 http://www.codu.org/egobch-0.1.tar.bz2 19:30:27 Totally unoptimizing btw. 19:31:42 graue: Could you add that to the files archive at some point? Thanks :) 19:33:42 ok, updated the wiki (BF_instruction_minimalization) 19:34:08 now for that short version. 19:38:23 -!- kipple has joined. 20:05:05 I've added that short version to the wiki. 20:05:30 hi kipple 20:05:46 cool! 20:05:49 * calamari tests it :) 20:07:48 something seems wrong 20:08:03 doesn't enter the loop 20:08:11 I had the cell=5 (101) 20:08:39 works for me .. let me compare the code I put into the wiki with the one I actually use 20:10:12 this is the one I'm testing @[>>>>>>>>@[<@]>[>]<<<<<<<<<[@]>>>>>>>>[<]@>[@>]<<<<<<<<<@[@ 20:11:40 yes 20:11:46 that is correct 20:12:16 I apologize, it was my error 20:12:28 was running in 8-bit mode 20:12:29 I have a typo in the bitchanger ] code - missing the first character 20:14:01 fixed, too 20:20:48 anyone remember the name of the bf-like language that uses ; ? 20:21:24 aha.. boolF... 20:25:33 any reason to keep the large versions? gonna scrap those 20:26:44 I don't care 20:27:59 done 20:28:07 thanks.. cool stuff :) 21:15:52 -!- calamari_ has joined. 21:15:54 -!- calamari has quit (Read error: 104 (Connection reset by peer)). 21:26:03 -!- calamari_ has changed nick to calamari. 21:26:13 re's 21:30:44 * GregorR REciprocates. 21:30:48 -!- int-e has quit (Remote closed the connection). 21:31:19 -!- int-e has joined. 21:31:33 if (msg[0] == 'R' && msg[1] == 'E') exit(1); 21:32:15 re's = regards :) 21:32:31 re 21:32:32 but also, re-hello 21:32:34 :P 21:32:48 so "hello again" :) 21:33:28 I was REciprocating your REgards. 21:33:34 ;) 22:27:25 So jix, are you going to update those benchmarks at any point? 22:27:34 (Or have you already and I just haven't seen the new results) 22:58:00 i'm going to update them tomorrow 23:17:48 Muahahahaha ... BWAHAHAHAHA ... GAAAAAAAAAAAHAHAHAHAHAHAHAHAH!!!!!!!!!!!! 23:18:30 If they're arranged by compile + run time rather than just run time, I look forward to seeing egobfc2m in slot #1 :) 23:19:28 BF debugger 1.30 released.. http://kidsquid.com/programs/bf 23:19:49 bunch of new features, bugfixes, added 1-bit and EOF modes 23:19:55 GregorR: they are arranged by runtime 23:25:54 Aww, then egobfc2m will be a bit below some compilers. 23:29:43 below bf2a? 23:30:01 Idonno, let's give it a shot. One sec. 23:30:32 i don't sort by compiletime + run time because some compilers depend on external tools like gcc 23:40:10 But that gcc runtime is still significant, even if it may change between gcc versions or different CCs. Wouldn't it be fair so long as you used the same compilation suite across compilers? 23:40:42 Hmm, I can't find bf2a ... 23:41:41 www.harderweb.de/jix/langs/brainfuck/bf2a.rb should work 23:41:54 generates c file 23:43:45 well, if you want to use a program like, say, "Let's take a look at some primes" or "What was the complete lyrics of 99 bottles of beer, again?", you usually keep compiled versions of the programs, so the compilation time should not be taken into account 23:45:30 The purpose though is to benchmark the compiler. Part of that benchmarking is the speed of compiled programs, but we're not benchmarking the speed of compiled programs, we're benchmarking compilers. 23:46:32 in that case a BF frontend for gcc would be the proper test IMO 23:46:49 but than you can't compare interpreters with compilers 23:49:05 anyway, GregorR, I was just kidding; I like the idea of having a kind-of-JIT for BF 23:50:34 there was a C (or similar language) compiler which did something alike, what was the name? 23:52:29 bf2a compiled binaries are slightly faster, but with compilation time it loses. 23:52:44 ah, TCC was it by Fabrice Bellard, http://fabrice.bellard.free.fr/ 23:53:12 Ah yes, TCC = excellent 23:53:24 TCCBOOT = awesome for stupid Gentoo users :P 23:53:31 GregorR: it's because gcc is slow 23:53:45 jix: Yes, yes it is >:) 23:53:59 i'd like to combine my optimizations with your jit-a-like interpreter 23:54:31 ruby BF->C optimizations ported to a C BF->machine code compiler. 23:54:37 That sounds sort of like dying. 23:54:40 :P 23:55:21 it's a ruby BF->Intermediate-language-suitable-for-direct-compiling and a Intemediata-language->C converter 23:55:56 Ahhhhhhhhhhhhhhhh 23:56:05 q: what about using TCC for the test? 23:56:16 Well, the only optimizations I've got are >>>>>>>>>>>>>>>>>><>>>>>>> ++++++++++-------+++ and [-] 23:56:57 no [--------->+<] *g*? 23:57:12 Not in egobfc2m 23:57:30 i'm using my ultra-cool^^ lookuptables for that kind of loops 23:58:56 Maybe I'll make the worlds slowest-without-just-cheating interpreter. 23:59:38 BF->intermediate language BitChanger->interpreted intermediate language->C->gcc->run