00:01:14 <jix> hmm safari should support xslt
00:01:45 <jix> maybe it has problems with utf8 characters as xml tags
00:02:07 <Gs30ng> hmm... that makes sense
00:02:16 <Gs30ng> ok i'll change every xml tags to ascii
00:03:08 <Gs30ng> ...it is currently impossible
00:06:57 <Gs30ng> now there's no utf8 character on xml file
00:07:30 <Gs30ng> 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 <jix> don't know why it doesn't work
00:07:50 <Gs30ng> have no choice but safari?
00:08:03 <jix> i have camino (gecko based) it works there
00:08:26 <jix> firefox' interface laggs..
00:10:48 <Gs30ng> i have no idea about this
00:11:02 <Gs30ng> and server is utf8 too
00:11:21 <Gs30ng> there should be no error from encoding/decoding
00:11:47 <Gs30ng> http://gs30ng.exca.net/udage/spec-en.xml
00:11:50 <Gs30ng> http://gs30ng.exca.net/udage/spec-ko.xml
00:11:55 <Gs30ng> both page doesn't work?
00:12:59 <Gs30ng> it must be a bug of safari
00:24:23 <Gs30ng> you can just view-source it
00:24:52 <Gs30ng> i structurized it easy to read
00:25:49 <Gs30ng> int-e should be noticed about this for his udage interpreter in c
00:26:16 <fizzie> XSL style sheet parser thingie.
00:26:58 <fizzie> 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 <fizzie> Debian has a "xsltproc" package.
00:27:47 <fizzie> I guess it _was_ xsltproc I used, hmm.
00:28:05 <fizzie> Yes, it was. Part of Gnome's XSLT lib.
00:28:26 <jix> idea for a language
00:28:44 <jix> all non-alphanumeric characters are ignored
00:29:29 <jix> and the angle of two keys on the german keyboard decides about the instruction
00:30:03 <Gs30ng> this language is character-independant because one of design goal was that
00:30:04 <jix> hmmm ü+öä#<,.- are allowed too
00:30:30 <Gs30ng> in my client the words are broken
00:30:42 <jix> Gs30ng: encoding?
00:30:43 <int-e> Gs30ng: I saw that
00:31:13 <Gs30ng> int-e: how do you feel
00:32:01 <Gs30ng> jix: you still cannot read the spec page?
00:32:22 <jix> Gs30ng: yep
00:32:32 <Gs30ng> cannot view-source it?
00:32:36 <jix> using safari i can't using camino i can
00:33:03 <jix> 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 <Gs30ng> i want it work with safari
00:33:51 <Gs30ng> i'll find out some ways to fix it
00:35:24 <int-e> oh, you added inderection and a very big address space, interesting
00:35:34 -!- ditto has quit ("Leaving").
00:35:52 <Gs30ng> i intended turing completeness
00:36:04 <Gs30ng> yes, very big address space
00:36:28 <Gs30ng> and now operations like this is possible with limited code:
00:36:41 <Gs30ng> repeat until user inputs 0.
00:37:19 <int-e> it's not turing complete but it will be possible to represent any practical computation.
00:37:30 <Gs30ng> still not turing complete?
00:38:21 <Gs30ng> i think i chose same method of OISC so it's turing complete
00:38:33 <int-e> 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 <int-e> it's enough for all practical purposes though
00:39:00 <int-e> so I'd not worry about this.
00:39:23 <Gs30ng> it is unable for other languages too
00:39:43 <Gs30ng> like, 1 variable cannot carry too big number or something
00:40:00 <int-e> well, in brainfuck the theoretically unbounded memory is the tape
00:40:05 <jix> it's possible to address more than 2^(2^16) adressess .. 2^256 is enough for everything
00:40:26 <int-e> enough for all practical purposes, as I said :)
00:40:29 <jix> there isn't enough energy in the universe for running ram modules that store 2^256 bytes
00:40:33 <jix> or something like that
00:40:47 <jix> with 2^512 it's possible to adress every molecule in the universe...
00:41:19 <int-e> you have to keep in mind that the Turing machine is an entirely theoretic construct.
00:41:30 <graue> I read that the number of atoms in the observable universe is 10^80
00:41:33 <graue> which is greater than 2^64
00:41:48 <graue> wait, I'm wrong, disregard that
00:42:14 <int-e> 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 <int-e> graue, but 2^256 is close to that :)
00:42:34 -!- kipple has quit (Read error: 110 (Connection timed out)).
00:43:06 <Gs30ng> now i understand what int-e is talking
00:43:11 <lament> no, if a language is turing-complete that means you can simulate any turing machine on it.
00:43:19 <lament> hardware never ever comes into consideration.
00:43:32 <jix> 2^(2^# of unicode chars)) should be enough for everything
00:43:34 <Gs30ng> a limited source code can only use a limited memory space
00:43:42 <jix> Gs30ng: wrong
00:44:04 <int-e> lament: the hardware comes in at the point where I want to give the semantics of the language
00:44:05 <lament> then your language is not turing-complete
00:44:17 <lament> unless you have bignums or something
00:44:37 <Gs30ng> but can do anything that turing machine can do, currently
00:45:01 <jix> Gs30ng: wrong you can do anything that real machines can do
00:45:01 <lament> if there's some way to cram infinite amount of data into a single memory cell, you could have TC
00:45:07 <int-e> 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 <int-e> just to clarify what I meant by 'hardware'.
00:45:54 <Gs30ng> anybody have an idea to make this lang TC?
00:46:28 <lament> why do you copy oisc anyhow?
00:47:14 <int-e> you could use relative addressing, relative to the last address used
00:47:32 <int-e> that's similar to a tape and you need a way to specify negative offsets
00:47:57 <int-e> but it will be possible to simulate brainfuck then and your language would be turing complete.
00:48:14 <Gs30ng> ok i'm gonna change all memory cells to stack
00:48:29 <jix> not stacks
00:48:42 <jix> relative addressing is good
00:48:53 <Gs30ng> i don't actually get the idea
00:48:58 <Gs30ng> 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<number of bits of the number><bits of the number>) and indirect addressing.
00:50:37 <int-e> 0 is represented as 0 :)
00:50:42 <int-e> and it's number of bits-1
00:50:49 <int-e> but the basic idea is exactly that.
00:51:24 <lament> how do you know the number of bits of the number of bits?
00:51:26 <int-e> 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 <int-e> lament: recursively apply the construction
00:52:02 <lament> then how do you know when to stop? :)
00:52:56 <lament> so 2 would be 1 1 10 0 ?
00:52:57 <int-e> parse = if getbit=0 then 0 else bits=parse; num=get_n_bits(bits)
00:54:43 <int-e> 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 <GregorR> That meeting drug on for WAY too damn long >:(
00:55:25 <int-e> this means: 0 is 0. 1 is a 1-bit number, encoded as 1 <representation of 0> <no bits>, that is 10.
00:55:55 <int-e> 2 is a 2-bit number (10), and represented as 1 <representation of 1> 0, that is 1100
00:56:24 <lament> this is too complicated. I prefer unary :)
00:56:29 <int-e> 4 is a 3-bit number (100) and represented as 1 <2> 00, that is 110000
00:56:53 <GregorR> graue: Could you give me a link to your 2L interpreter so I can debug?
00:57:04 <int-e> and another easy way is to use 10 for 0, 11 for 1 and 00 for a stop symbol.
00:57:12 <lament> also, this format can't even handle transfinite numbers :)
00:57:19 <int-e> you could even go ternary with this approach ;)
00:57:26 <Gs30ng> so why 4 is represented as something different
00:57:38 <int-e> transfinite numbers are not necessary to achieve turing completeness
00:58:07 <lament> very little is needed for TC :)
00:58:30 <lament> just an infinity somewhere
00:58:43 <int-e> but if the idea for implementing an infinite memory is to address each cell individually, you need big numbers.
00:58:48 <Gs30ng> i really want turing himself here
00:58:58 -!- GregorR has changed nick to Turing.
00:59:21 -!- Turing has changed nick to GregorR.
01:00:40 <Gs30ng> there should be another way to access a memory cell...
01:01:09 <lament> both relative addressing and unbounded addressing work
01:01:12 -!- Aardwolf has quit ("Leaving").
01:01:26 <Gs30ng> so what the hell is relative addressing
01:02:00 <GregorR> 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:46 <lament> where "here" could be the code pointer, or some memory pointer like in brainfuck
01:03:16 <Gs30ng> that was something i have thought! why didn't i re-get that?
01:03:52 <GregorR> 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 <Gs30ng> ok let me think about this idea more...
01:04:21 <int-e> GregorR: yes I think so, too
01:04:37 <lament> GregorR: not if code is in your memory, you can modify it, and you have GOTO
01:04:48 <lament> (i.e. like on all computers)
01:05:00 <int-e> nah, not all computers
01:05:07 <GregorR> Ahh yes, being able to modify it does rectify that, doesn't it ...
01:05:07 <int-e> it's von Neumann computers only.
01:05:10 <fizzie> http://www.befunge.org/~fis/test_ppc_gnuWlinux.s
01:05:30 <Gs30ng> this is hard to make decision. current spec is already enough do everything that we can currently do.
01:05:46 <int-e> there are computers with separated code and data memory. granted, the only example I can think of are DSPs.
01:05:49 <lament> Gs30ng: turing-completeness is not that important, really.
01:05:59 <GregorR> Hey now jix, that's a bright ray o' light 8-D
01:06:04 <Gs30ng> lament: i'm realizing that
01:06:32 <GregorR> The usual good-enough is "Turing-complete with the exception of finite storage space"
01:06:50 <GregorR> (So long as that finite space is enough to actually do anything)
01:07:15 <lament> SMETANA also bounds memory size by code size
01:08:00 <Gs30ng> i need something to eat now
01:08:10 <int-e> I think Udage with memory retargeting is good enough
01:08:20 <int-e> (as it is right now)
01:08:23 * GregorR gives Gs30ng poison^H^H^H^H^H^H candy.
01:08:44 <int-e> Udage without the memory retargeting operation felt very much like Smetana and thus insufficient.
01:09:15 <lament> but smetana is cool :(
01:09:27 <GregorR> Gs30ng: Olde UNIX joke - if yoshell doesn't allow you to delete, backspace becomes ^H
01:09:55 <Gs30ng> a machine should do this:
01:10:09 <Gs30ng> user inputs, computer records, repead until user inputs 0
01:10:10 <lament> GregorR: and if it does, ^H becomes backspace
01:10:14 <int-e> a machine should not run esolangs for any serious work :)
01:10:41 <Gs30ng> in my point of view it is perfect
01:10:45 <lament> int-e: I agree. Perl included.
01:10:49 <Gs30ng> like... Gs30ng complete?
01:10:54 <int-e> ok, and then do what with its input?
01:11:09 <int-e> Perl is a neat write-only language if you need to do some string or text processing.
01:11:32 <lament> Perl is not considered an esoteric language for purely historical reasons
01:11:34 <int-e> personally I much prefer Python
01:11:38 <Gs30ng> Gs30ng machine input or Udage input?
01:12:04 <int-e> you started to descibe a computer that takes some input until the user inputs 0
01:12:09 <graue> GregorR: YOU want to debug MY 2L interpreter?!
01:12:17 <int-e> if you just want to do that, you need no more than a finite state machine
01:12:28 <int-e> smetana can do that
01:12:35 <int-e> or could if it supported input ;)
01:12:55 <Gs30ng> infinite input and recording all of them
01:13:08 <int-e> why would you record it?
01:13:18 <Gs30ng> because it is gs30ng machine
01:13:21 <lament> consider the following problem:
01:13:32 <lament> Print input backwards.
01:13:50 <int-e> yes. that requires infinite storage
01:14:15 <int-e> although it can be done on a stack machine that isn't turing complete
01:14:53 <Gs30ng> relative addressing... i can't find proper method to do it
01:15:04 <GregorR> Merely because my entry on esolangs.org was borked, so I feel responsible.
01:15:12 <Gs30ng> like, if AAAxxxA then move the pointer xxx cells left?
01:15:47 <int-e> and retarget AAA to that location
01:16:07 <Gs30ng> or right? how can i decide the way? before that, does it need xxx cells?
01:16:10 <lament> esolangs with addressing are boring :)
01:16:14 <GregorR> The wiki page was never intended to be a spec by the way, it also doesn't fully explain +-turning.
01:16:15 <lament> too much like real assembly
01:16:20 <int-e> actually you should do AAAdxxxA where d specifies the direction
01:16:57 <int-e> you can just do AAAd and specify that the offset is always 1
01:16:57 <Gs30ng> d decides the direction and x decides the cells to move
01:17:15 <int-e> but that feels very brainfuck-ish
01:17:28 <int-e> larger offsets make it less brainfuckish.
01:17:28 <Gs30ng> then what about AAAA operation
01:18:04 <Gs30ng> somebody can make a source code like AAAA
01:18:13 <Gs30ng> but it is I/O operation
01:18:24 <Gs30ng> and that's something i really don't want to be there in my lang
01:18:53 <Gs30ng> AAAA must be a useless operation to be some another operation
01:19:07 <Gs30ng> that's my design goal of the lang
01:19:49 <int-e> well AAAA can be represented as BBBA with that semantics ...
01:19:59 <graue> GregorR, okay, hang on
01:20:47 <graue> am sending through DCC, can you receive those?
01:21:05 <GregorR> I don't think so, I'm behind a firewall.
01:21:24 <GregorR> 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 <Gs30ng> it's ridiculously hot here in Korean
01:21:45 <GregorR> It didn't explain how the turn worked, and the intuitive way is not the correct way.
01:22:00 <graue> http://www.oceanbase.org/graue/junk/2l.c
01:22:14 <graue> 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 <Gs30ng> is befunge from the word fungi?
01:22:47 <Gs30ng> which means mushroom or something like that?
01:23:12 <GregorR> Well, the turns are right anyway, that's good since I didn't explain them :P
01:23:19 <Gs30ng> my friend designed a fungeoid named Versert
01:23:21 <graue> fungi does not mean mushroom, http://en.wikipedia.org/wiki/Fungus
01:23:43 <graue> a mushroom would be an example of a fungus
01:23:55 <graue> fungi is plural: two or more of the thing called a "fungus"
01:24:12 <Gs30ng> that's why i said mushroom "or something like that"
01:25:23 <Gs30ng> anyway befunge is named after it, right? or is it not clear?
01:26:07 <graue> 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 <Gs30ng> a friend of mine made a fungeoid
01:26:19 <Gs30ng> and i gave him the name versert
01:26:22 <graue> Archway2 works the same way
01:26:41 <Gs30ng> beoseot means a mushroom in Korean
01:27:34 <Gs30ng> Versert is named after it, so i wonder if befunge is really from fungi or not
01:28:00 <lament> cpressey: why befunge is called that?
01:28:04 <Gs30ng> of course it doesn't matter that much wheter befunge is or isn't
01:28:15 <Gs30ng> oops there's cpressey here
01:28:39 <graue> maybe it's named after John Funge, AI pioneer: http://www.dgp.toronto.edu/~funge/
01:29:01 <Gs30ng> john mushroom doesn't make any sense
01:29:05 <graue> I doubt it, though
01:32:44 <int-e> could be air friction
01:32:48 <Gs30ng> Hot Rain. what an idea
01:33:32 <Gs30ng> relative addressing idea is good but too brainfuck-ish
01:33:54 <int-e> 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:37 <Gs30ng> Korean summer is with really high humidity
01:35:10 * int-e suggests 'has' in place of 'is with'
01:36:29 <int-e> or maybe 'comes with' which sounds good to me, too.
01:37:38 <Gs30ng> since turing completeness is not that important currently with my lang, i'll reserve it for someday
01:39:52 <Gs30ng> 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:41:46 <int-e> 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:42:38 <int-e> it's certainly food for thought
01:45:47 <int-e> GregorR: ah that should have been targeted for lament.
01:46:25 <Gs30ng> should conversation be esoteric too?
01:47:58 * int-e doesn't know that.
01:49:16 <Gs30ng> syntax highlighting of this lang would be easy
01:50:15 <Gs30ng> actually i thought about 'udage list' concepts or something
01:52:19 <Gs30ng> i can make an operation in an operation
01:52:34 <Gs30ng> like, AAA starts, then A concludes
01:52:49 <Gs30ng> between them all kind of udages can come
01:54:31 <graue> jix: what happened to XUML?
01:54:47 <Gs30ng> so, between AAA and A, a loop operation could come
01:55:33 <jix> 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 <Gs30ng> and when a loop operation comes, each values that made by loop is stored as a value of that 2^16 thing
01:56:23 <graue> jix: ever plan to come back to it, or release what you have?
01:56:39 <jix> because nothing works as it should
01:57:04 <Gs30ng> so we can make it to indicate no. infinite memory cell
01:57:17 <graue> 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 <graue> GregorR: or is no extending of lines done?
01:57:25 <Gs30ng> ...this is interesting
01:59:20 <Gs30ng> so operation can be between AAA and A
01:59:27 <graue> 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 <graue> GregorR: does it work in your interpreter if you do that?
01:59:35 <Gs30ng> and if operation changes some value
01:59:45 <Gs30ng> then original values are stored first
01:59:59 <Gs30ng> and then modified values are stored right next to it
02:00:27 <Gs30ng> int-e, what do you think about this
02:00:52 <Gs30ng> with this Udage is TC, also
02:02:13 <int-e> I don't understand what you're trying to do. what would AAABCA do?
02:02:34 <Gs30ng> same thing it have been doing
02:03:17 <Gs30ng> i mean a code like this: FAAAFBCCDEFA
02:03:33 <Gs30ng> CCDEF is identified as an operation
02:04:48 <graue> GregorR: oh, it's waiting for a character for some reason
02:04:50 <Gs30ng> so it will jump to backward F again and again
02:04:57 <graue> GregorR: your helloworld.2l changes TL1 when TL0 is 0
02:05:36 <Gs30ng> the code should be like FDEAAAFBCDEFA
02:06:39 <graue> 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:07:09 <lament> where can i read about udage?
02:07:29 <graue> 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 <int-e> lament: http://gs30ng.exca.net/udage/spec-en.xml
02:07:54 <Gs30ng> anyway it jumps again and again, A will indicate no. 10(because of F and B)0000000000000000000000...(C gets 0 endlessly)
02:08:32 <graue> GregorR: trace of execution of
02:08:44 <graue> GregorR: HelloWorld.2l is at http://www.oceanbase.org/graue/junk/errors.txt
02:10:44 <graue> GregorR: I got that by running this and redirecting stderr: http://www.oceanbase.org/graue/junk/2ldebug.c
02:10:53 <pgimeno> Gs30ng: Udage is a bounded-storage machine; see http://www.esolangs.org/wiki/Bounded-storage_machine (just like C, apparently)
02:11:23 <Gs30ng> but it is big enough, i think
02:12:10 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!").
02:12:32 <Gs30ng> there could be some attempts to make this lang TC
02:13:12 <pgimeno> 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 <Gs30ng> but right now i don't feel any necessity to change the spec
02:13:35 <Gs30ng> i love the Turing tarpit
02:13:48 <Gs30ng> one of Udage design goal was that
02:14:58 <pgimeno> the problem with Udage is that absolute addressing makes it impossible
02:15:19 <Gs30ng> but i gave up that because all good turing tarpits are already there
02:16:44 <Gs30ng> is there any wiki space for sample Udage codes?
02:17:09 <pgimeno> it's outside the wiki itself, see http://www.esolangs.org/files/
02:17:28 <Gs30ng> pgimeno: but still you can handle more than 2^256 bits
02:17:53 <Gs30ng> although it's really hard to do so :(
02:18:12 <pgimeno> 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:24:02 <lament> how come there's no Trigger implementation?
02:24:44 <int-e> 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 <Gs30ng> i think i should make an interpreter of Udage by myself
02:25:56 <Gs30ng> it sounds ridiculous that i can design a lang but cannot make an interpreter for it
02:29:45 <int-e> 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:54 <int-e> But it's hard to handle this gracefully instead of just failing to execute such a program.
02:32:24 <Gs30ng> for easy coding we can use cells like
02:33:15 <Gs30ng> and cells like 3, 5, 6, 7 are empty forever
02:34:18 <Gs30ng> ok int-e, question again
02:34:27 <Gs30ng> if i make AAA operation like this:
02:35:11 <Gs30ng> 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:36:45 -!- int-e has quit ("Bye!").
02:36:46 -!- int-e has joined.
02:36:58 <int-e> grr. my network is flaky, stupid ISP :(
02:37:12 <int-e> jix is up early (like me)
02:37:16 <Gs30ng> int-e, then did you saw my question?
02:37:37 <int-e> no, last I saw was [03:33:57] <Gs30ng> for easy coding we can use cells like
02:37:40 <Gs30ng> at here it's 10 o'clock AM
02:37:49 <Gs30ng> [10:33:29] <Gs30ng> for easy coding we can use cells like
02:37:49 <Gs30ng> [10:33:38] <Gs30ng> 1, 2, 4, 8, 16, ...
02:37:49 <Gs30ng> [10:34:20] <Gs30ng> and cells like 3, 5, 6, 7 are empty forever
02:37:49 <Gs30ng> [10:34:21] <Gs30ng> :(
02:37:49 <Gs30ng> [10:35:22] <Gs30ng> ok int-e, question again
02:37:49 <Gs30ng> [10:35:32] <Gs30ng> if i make AAA operation like this:
02:37:51 <Gs30ng> [10:36:16] <Gs30ng> 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 <Gs30ng> [10:36:37] <Gs30ng> then Udage is TC?
02:38:31 <int-e> if AAAd also changes cur (to cur+1 or cur-1), then yes. if it doesn't change cur, then no
02:39:43 <Gs30ng> A indicates 1, and AAAd, if d is 0, now A indicates 2
02:39:46 <Gs30ng> A indicates 2, and AAAd, if d is 0, now A indicates 3
02:40:10 <int-e> that's another possibility.
02:40:25 <int-e> that means you have a tape and 65536 independent pointers to it
02:40:44 <int-e> that makes it turing complete as well.
02:40:58 <Gs30ng> actually i don't like tapes
02:41:19 <Gs30ng> and int-e, then what was your plan
02:41:34 <Gs30ng> you supposed only one pointer?
02:42:00 <int-e> I actually like your idea better because it's less like brainfuck
02:42:16 -!- jix has left (?).
02:44:05 <Gs30ng> what if a udage points 0 (itself) and i do (cur-1)
02:44:24 <Gs30ng> should i suppose no. negative memory cells?
02:44:39 <Gs30ng> or can i do something different?
02:51:02 <Gs30ng> and BTW, does this lang deserves to be on topic of this channel?
02:51:26 <Gs30ng> then i'll make it to choose random memory cell
02:51:43 <Gs30ng> ...wait. the range is infinite. it's impossible
02:51:46 <int-e> it's an esoteric programming languages channel, of course it's on topic
02:52:01 <int-e> there just isn't a uniform distribution
02:52:28 <int-e> 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:53:28 <Gs30ng> i'll make it to choose random udage and have same indication value
02:54:23 <Gs30ng> then the range is finite and uniform distribution is possible
02:54:47 <Gs30ng> ..still 0 has priority in many case
02:55:50 <Gs30ng> i think there could be no. negative memory cells but they are not necessary....
02:56:18 <Gs30ng> i can add something really advances all things...
02:58:48 <lament> too bad languages working with bits are such a pain to actually write programs in
02:59:54 <Gs30ng> it's true but i love bits
03:03:41 <lament> even kayak, which had such an awesome concept, lies unused
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 <int-e> lament: I did a merge sort in Kayak once
03:31:45 <int-e> http://www.inf.tu-dresden.de/~bf3/sort3.kayak
03:37:50 -!- int-e has quit ("Bye!").
03:48:07 <GregorR> Yay, I just wrote a program that outputs 'a' in BitChanger 8-D
03:48:21 <GregorR> More importantly, I wrote a bitchanger interpreter :P
04:03:22 <graue> feel like writing a program in an esolang that violates US patent #4,872,009?
04:03:34 <graue> (see http://www.faqs.org/faqs/compression-faq/part1/section-7.html)
04:10:00 <GregorR> 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 <graue> GregorR: "If it was going right you couldn't turn away from the edge." is not true, look at a.2l
04:30:15 <graue> GregorR: also, look at my comments on HelloWorld.2l earlier
04:30:20 -!- graue has left (?).
04:56:26 -!- BigZaphod has joined.
05:12:42 <GregorR> graue: I'm apparently the worst spec-writer ever.
05:12:59 <GregorR> graue: My implementation had up as < and down as >
06:03:49 -!- graue has joined.
06:04:03 <graue> GregorR, I demand that you change your implementation and your hello world program so I don't have to do anything
06:04:16 -!- graue has quit (Client Quit).
06:04:26 <GregorR> Gah, why does graue do that XD
06:04:38 <GregorR> Sadly, that's not even a totally unreasonable request XD
06:06:20 -!- graue has joined.
06:06:29 <graue> 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 <GregorR> Fixed. Thanks for pointing that out.
06:39:49 -!- BigZaphod has quit.
07:01:56 <fizzie> 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: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: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:32 <GregorR> 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:27:31 -!- BigZaphod has quit.
17:34:33 <jix> lindi-: http://www.geocities.com/dunric/advcomp.html
17:36:59 <GregorR> Who wrote the BF->BitChanger conversions on the wiki?
18:04:22 <cpressey> {^Raven^}: i don't see what's changed?
18:10:32 <GregorR> I think there might be something wrong with the insanely complex [.
18:11:08 -!- BigZaphod has joined.
18:15:06 <int-e> GregorR: where's that conversion?
18:26:33 -!- Aardwolf has quit ("Leaving").
18:41:52 <int-e> yep, that [ implementation smells fishy
18:50:14 <GregorR> Maybe I should publish EgoBCh without EgoBF2BCh
19:08:24 -!- calamari has joined.
19:09:04 -!- int-e has quit ("Client exiting").
19:09:59 <GregorR> calamari, is that your [ in the BF->BitChanger conversion chart on the wiki?
19:11:05 -!- int-e has joined.
19:11:30 <calamari> GregorR: I think I write the conversions, yeah.. but I had no interpreter to tets them with
19:11:45 <GregorR> Everything works except for [
19:11:58 <int-e> I'm working on that
19:12:06 <GregorR> So overall, good job, but egobf2bch doesn't work ;)
19:12:28 <calamari> I've seen better versions of [ online anyhow
19:13:32 <GregorR> int-e quite nearly got one, but it turned into if.
19:14:01 <int-e> yep, because translating ] into ] cannot work
19:14:35 <calamari> yeah.. not quite sure what I was thinking with that
19:15:14 <calamari> it just makes [ more complicated
19:15:50 <calamari> but, I use the ] = jmp.. rather that some impl that do a conditional at most ends
19:16:24 <calamari> blah.. can't form coherent sentences this morning, sorry
19:16:33 <int-e> it still jumps to the wrong point with your code ;)
19:17:20 <calamari> I can put it on the debugger and fix it
19:18:50 <calamari> hahaha.. that code scares me, and I wrote it! :(
19:19:07 <int-e> it's not too difficult
19:20:31 <int-e> and I can see how to shorten it quite a bit. but let me get that version to work first.
19:29:41 <GregorR> Here's the moment you've all been waiting for ...
19:29:48 <GregorR> The first implementation of BitChanger ...
19:29:59 <GregorR> The thing that lets us switch the category ...
19:30:07 <GregorR> http://www.codu.org/egobch-0.1.tar.bz2
19:31:42 <GregorR> graue: Could you add that to the files archive at some point? Thanks :)
19:33:42 <int-e> ok, updated the wiki (BF_instruction_minimalization)
19:34:08 <int-e> now for that short version.
19:38:23 -!- kipple has joined.
20:05:05 <int-e> I've added that short version to the wiki.
20:08:39 <int-e> works for me .. let me compare the code I put into the wiki with the one I actually use
20:10:12 <calamari> this is the one I'm testing @[>>>>>>>>@[<@]>[>]<<<<<<<<<[@]>>>>>>>>[<]@>[@>]<<<<<<<<<@[@
20:12:29 <int-e> I have a typo in the bitchanger ] code - missing the first character
20:20:48 <calamari> anyone remember the name of the bf-like language that uses ; ?
20:25:33 <calamari> any reason to keep the large versions? gonna scrap those
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:30:48 -!- int-e has quit (Remote closed the connection).
21:31:19 -!- int-e has joined.
21:31:33 <GregorR> if (msg[0] == 'R' && msg[1] == 'E') exit(1);
21:33:28 <GregorR> I was REciprocating your REgards.
22:27:25 <GregorR> So jix, are you going to update those benchmarks at any point?
22:27:34 <GregorR> (Or have you already and I just haven't seen the new results)
22:58:00 <jix> i'm going to update them tomorrow
23:17:48 <GregorR> Muahahahaha ... BWAHAHAHAHA ... GAAAAAAAAAAAHAHAHAHAHAHAHAHAH!!!!!!!!!!!!
23:18:30 <GregorR> 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 <calamari> BF debugger 1.30 released.. http://kidsquid.com/programs/bf
23:19:49 <calamari> bunch of new features, bugfixes, added 1-bit and EOF modes
23:19:55 <jix> GregorR: they are arranged by runtime
23:25:54 <GregorR> Aww, then egobfc2m will be a bit below some compilers.
23:29:43 <jix> below bf2a?
23:30:01 <GregorR> Idonno, let's give it a shot. One sec.
23:30:32 <jix> i don't sort by compiletime + run time because some compilers depend on external tools like gcc
23:40:10 <GregorR> 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 <GregorR> Hmm, I can't find bf2a ...
23:41:41 <jix> www.harderweb.de/jix/langs/brainfuck/bf2a.rb should work
23:41:54 <jix> generates c file
23:43:45 <pgimeno> 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 <GregorR> 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 <pgimeno> in that case a BF frontend for gcc would be the proper test IMO
23:46:49 <jix> but than you can't compare interpreters with compilers
23:49:05 <pgimeno> anyway, GregorR, I was just kidding; I like the idea of having a kind-of-JIT for BF
23:50:34 <pgimeno> there was a C (or similar language) compiler which did something alike, what was the name?
23:52:29 <GregorR> bf2a compiled binaries are slightly faster, but with compilation time it loses.
23:52:44 <pgimeno> ah, TCC was it by Fabrice Bellard, http://fabrice.bellard.free.fr/
23:53:24 <GregorR> TCCBOOT = awesome for stupid Gentoo users :P
23:53:31 <jix> GregorR: it's because gcc is slow
23:53:59 <jix> i'd like to combine my optimizations with your jit-a-like interpreter
23:54:31 <GregorR> ruby BF->C optimizations ported to a C BF->machine code compiler.
23:54:37 <GregorR> That sounds sort of like dying.
23:55:21 <jix> it's a ruby BF->Intermediate-language-suitable-for-direct-compiling and a Intemediata-language->C converter
23:56:05 <pgimeno> q: what about using TCC for the test?
23:56:16 <GregorR> Well, the only optimizations I've got are >>>>>>>>>>>>>>>>>><>>>>>>> ++++++++++-------+++ and [-]
23:56:57 <jix> no [--------->+<] *g*?
23:57:30 <jix> i'm using my ultra-cool^^ lookuptables for that kind of loops
23:58:56 <GregorR> Maybe I'll make the worlds slowest-without-just-cheating interpreter.
23:59:38 <GregorR> BF->intermediate language BitChanger->interpreted intermediate language->C->gcc->run