←2005-06-25 2005-06-26 2005-06-27→ ↑2005 ↑all
01:37:41 <ZeroOne> I don't think so, Keymaker, but you can always try how the reference interpreter works.
02:10:01 <jix> i'm writing 99 bottles in lazy-k
03:36:08 -!- jix has quit ("Banned from network").
03:38:41 -!- calamari has joined.
03:38:43 <calamari> hi
03:39:30 <calamari> I just noticed that the latest wiki dump I downloaded was smaller than the last dump... is that logical?
04:15:18 <calamari> bbl
04:15:19 -!- calamari has quit ("Leaving").
04:37:54 -!- mickoko has joined.
04:38:36 -!- mickoko has left (?).
06:47:14 -!- calamari has joined.
06:57:39 <calamari> hi
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:19 -!- BigZaphod has joined.
08:23:31 <calamari> hi zaphod
08:27:12 <BigZaphod> hey
08:33:26 <BigZaphod> This is my first time here. :)
08:34:42 <calamari> welcome
08:34:55 <calamari> did you find us from the wiki? :)
08:37:50 <BigZaphod> Yes. Actually, in a rather round-about way. I was googling one of my own languages Whirl.
08:37:55 <BigZaphod> Found references to here. :)
08:38:23 <calamari> hehe
09:45:05 -!- calamari has quit ("Leaving").
09:52:49 <{^Raven^}> hi
10:45:49 -!- jix has joined.
11:00:25 -!- Keymaker has joined.
11:01:04 <Keymaker> hmm
11:01:44 <Keymaker> bigzaphod.. whirl inventor?
11:03:23 -!- tokigun has joined.
11:04:22 <Keymaker> tokigun!
11:04:32 <Keymaker> i've a question
11:04:45 <tokigun> hello
11:04:51 <Keymaker> hi
11:05:10 <tokigun> hmm
11:05:22 <tokigun> eh... what is your question?
11:05:28 <Keymaker> oh
11:05:33 <Keymaker> sorry :) wait a bit
11:05:38 <tokigun> ;)
11:05:56 <Keymaker> yesterday i was asking here that do whirl programs require that terminate instruction
11:06:02 <Keymaker> but i guess they don't
11:06:17 <tokigun> yes terminate instruction is not required
11:06:27 <tokigun> but i added it for complete program
11:06:32 <Keymaker> yeah
11:06:40 <tokigun> in case of beer song ;)
11:06:49 <Keymaker> yeah
11:06:52 <Keymaker> anyways;
11:06:53 <Keymaker> 1100
11:06:53 <Keymaker> 00
11:06:53 <Keymaker> 111100
11:06:59 <Keymaker> why doesn't that program work?
11:07:03 <Keymaker> it should print 0
11:07:20 <tokigun> hmm
11:07:28 <tokigun> 1100 -- op::one
11:07:31 <tokigun> 00 -- math::noop
11:07:40 <tokigun> 111100 -- op::padd
11:08:08 <tokigun> if you want to print 0 use op::intio instruction instead.
11:08:12 <Keymaker> hmm.. there must be then something wrong the way i thought
11:08:20 <Keymaker> i thought it did:
11:08:55 <Keymaker> 11 move to One 00 execute it, change ring
11:09:01 <tokigun> yes
11:09:03 <Keymaker> 00 NOP, change ring
11:09:16 <Keymaker> 1111 move to IntIO
11:09:19 <tokigun> hmm
11:09:21 <Keymaker> 00 execute it
11:09:40 <tokigun> Keymaker: you have to use 0111100 instead of 111100
11:09:48 <Keymaker> nope
11:10:01 <Keymaker> ah
11:10:07 <Keymaker> sorry, i read "have you used"
11:10:09 <Keymaker> :)
11:10:11 <tokigun> ;)
11:10:30 <Keymaker> but
11:10:43 <Keymaker> doesn't the direction of ring stay when you switch it?
11:10:47 <tokigun> when 111100 is executed, it selects 6th (not -2th == 10th) instruction
11:10:59 <tokigun> hmm
11:11:13 <tokigun> 0 changes the direction of ring
11:11:22 <Keymaker> but i thought the first line "1100"
11:11:28 <Keymaker> changes it to anticlockwise
11:11:36 <tokigun> 00 changes the direction of ring twice, executes the selected instruction, and so on..
11:11:43 <Keymaker> ah
11:11:54 <tokigun> no. it changes the direction "twice".
11:12:02 <Keymaker> so the direction changes every time there is 0
11:12:03 <Keymaker> ah
11:12:05 <tokigun> yes ;)
11:12:54 <Keymaker> ah this clears it. i thought the direction doesn't change if the zero executes instruction :)
11:12:58 <Keymaker> well, now i can go and fix this
11:13:06 <tokigun> hehe
11:13:36 <tokigun> i've returned home... good :)
11:13:42 <Keymaker> :)
11:13:53 <Keymaker> now the program works
11:13:56 <Keymaker> it prints 0
11:13:58 <Keymaker> nice
11:13:59 <Keymaker> :D
11:14:18 <Keymaker> i'll make it print unix new-line as well
11:14:29 <Keymaker> btw, i'm using your c interpreter. it's great
11:18:19 <tokigun> haha...
11:18:34 <tokigun> it doesn't have debugger, though ;)
11:18:51 <Keymaker> yeah, something option showing memory states would be useful
11:19:44 <Keymaker> question;
11:20:07 <Keymaker> if there is a jump where the instruction pointer is moved.. what if it goes outside the program?
11:20:12 <Keymaker> should the program end?
11:20:31 <Keymaker> as well, does whirl support negative numbers? that jump to left and right can be done?
11:22:45 <tokigun> hmm
11:22:55 <tokigun> first whirl supports negative numbers
11:23:07 <Keymaker> ok
11:23:08 <tokigun> so you can move memory pointer left or right
11:23:14 <Keymaker> ok
11:23:23 <Keymaker> but what about the jump outside the program?
11:23:27 <tokigun> hmm
11:24:19 <tokigun> my interpreter can handle it.. but maybe it is user-defineded.
11:24:23 <tokigun> s/eded/ed/
11:25:02 <tokigun> hmm
11:25:11 <Keymaker> the author *cough bigzaphod* should clear some things on the web site..
11:25:17 <Keymaker> :)
11:25:19 <tokigun> :)
11:25:41 <tokigun> wait a moment
11:26:37 <tokigun> in this case, his interpreter terminates immediately.
11:26:46 <Keymaker> ok
11:26:51 <tokigun> terminates program
11:26:54 <Keymaker> ok
11:27:12 <tokigun> and my interpreter terminates program when memory pointer > program upper bound,
11:27:30 <tokigun> and return to first instruction when memory pointer < program lower bound (that is origin)
11:27:48 <Keymaker> ok
11:28:55 -!- tokigun has changed nick to tokigun^away.
11:36:11 <Keymaker> i can't understand english. does "Sets value to memval." mean that 'value' gets the value of 'memval'?
11:46:37 <puzzlet> tokigun: bigzaphod is here
12:01:50 -!- tokigun^away has changed nick to tokigun.
12:01:53 <tokigun> back
12:01:56 <tokigun> puzzlet: oh.
12:11:51 -!- Keymaker has left (?).
12:30:23 -!- J|x has joined.
12:31:03 -!- jix has quit (Nick collision from services.).
12:31:05 -!- J|x has changed nick to jix.
12:31:47 <jix> my 99bob in lazy k is done
12:32:41 <jix> it's about the size of the whirl 99bob .. and has the same obfuscation amount
12:59:27 * {^Raven^} ponders orthogonal 8-bit RISC processor design and layout of 16-bit opcodes
13:37:18 -!- hashendgame has joined.
15:20:36 * {^Raven^} finished pondering orthoganal processor design
15:27:50 -!- Kmkr has joined.
15:28:50 <Kmkr> 'ello
15:28:56 <{^Raven^}> hi there
15:28:57 <Kmkr> couldn't use name Keymaker
15:29:08 <Kmkr> this thing said it was token
15:29:32 <Kmkr> jix: sounds really cool
15:29:38 <Kmkr> can't wait to see the program
15:30:04 <{^Raven^}> kmkr: have you done /whois keymaker
15:30:09 <Kmkr> no
15:30:40 <Kmkr> hmm, seems to be some french dude
15:31:03 <{^Raven^}> i recommend that you register Keymaker at the next opportunity
15:31:20 <Kmkr> he has probably registered it already
15:31:56 <Kmkr> as well, i didn't feel like trying to register it, since that system was strange. i couldn't use it
15:42:08 <{^Raven^}> i'v had enough of enough brainfuck for the moment, gonna take a break
15:44:40 <Kmkr> :)
15:53:35 -!- hashendgame has quit ("Leaving").
15:53:40 <Kmkr> hmm
15:53:56 <Kmkr> can one send another version for some language to that 99 bottles of beer list?
15:54:09 <Kmkr> if i remember correct i've seen some language have several versions
15:54:32 <Kmkr> perl for example
17:04:33 <BigZaphod> Hey tokigun. Nice to finally "meet" the world's best whirl programmer. :)
17:22:46 -!- tokigun has quit (Read error: 110 (Connection timed out)).
18:07:41 <jix> Kmkr: http://rafb.net/paste/results/hExqvL26.html
18:08:23 <Kmkr> nice :) can't understand anything
18:08:50 <jix> the first part is the scheme-like code.. the 2nd part is se lazy k code
18:09:16 <jix> and i think you can't understand anything in the whirl 99bob
18:12:40 <Kmkr> me? in whirl it's possible but takes time :)
18:13:25 <Kmkr> well, here is the boring 99bob in c i made:
18:13:26 <Kmkr> #include <stdio.h> /* written by Keymaker :) */
18:13:26 <Kmkr> int main(){int a[9]={0,1,2,0,2,3,0,1,2},b=99,c;while(b>0){for(c=0;c<9;c++){
18:13:26 <Kmkr> if(a[c]==0){if(b==0){printf("no more");}else{printf("%i",b);}printf(" bottle");
18:13:26 <Kmkr> if(b!=1){printf("s");}printf(" of beer");}if(a[c]==1){printf(" on the wall");}
18:13:26 <Kmkr> if(a[c]==2){if(c==2){printf(", ");}else{printf(".\n");}}if(a[c]==3){
18:13:27 <Kmkr> printf("Take one down and pass it around, ");b--;}}printf("\n");}}
18:14:03 <Kmkr> i don't submit it to 99-bottles-of-beer, since i just noticed ther reads they don't want anymore c examples of the program
18:15:01 <jix> Kmkr: if you take a look at the first part (the non-compiled version) it's even easier to understand as the whirl code
18:15:59 <Kmkr> yes
18:24:47 <jix> i think it's fun writing BASIC => Esolang converters
18:24:58 <Kmkr> never tried :)
18:25:15 <jix> i didn't but i think it's fun
18:25:29 <Kmkr> extra fun when you write the converter in the esolang
18:26:32 <jix> hehe
18:27:23 <Kmkr> i think i'll write a new version of my beer.b
18:28:01 <Kmkr> there's 1003 ways to get it shorter
18:30:31 <Kmkr> must go.
18:30:33 -!- Kmkr has left (?).
20:00:30 <BigZaphod> 3code 99 bottles: http://www.bigzaphod.org/3code/bigzaphod-99bottles.txt
20:00:36 <BigZaphod> not terribly impressive, but it was fun.
21:42:36 -!- calamari has joined.
21:42:39 <calamari> hi
21:45:02 <calamari> jix: bitdebug 1.00 is ready: http://kidsquid.com/programs/bf/bf.html
21:45:27 <calamari> let me know which bugs you find :)
21:48:53 <{^Raven^}> hi calamari
21:53:46 <calamari> hi raven
21:53:53 <calamari> working on the bf port of that debugger :)
21:54:22 <{^Raven^}> working on a BF related project myself
21:54:25 <calamari> if there's anything about the bit one that needs fixing, let me know so I can put it in the bf version
22:12:30 <calamari> wow, that was easier than I thought
22:13:15 <calamari> Only thing left is allow clicking memory to change it.. was easier with bits because it could just flip.. will need a dialog this time, though :)
22:15:54 -!- BigZaphod has quit.
22:15:55 <calamari> and its way slow because of all the graphics.. not great for running programs.. just debugging them
22:31:58 <calamari> raven: check it out, http://kidsquid.com/programs/bf/bf.html
22:32:35 <{^Raven^}> will do, am hitting BFBASIC bugs right now
22:32:38 <calamari> I should put my array code in and test it
22:32:41 <calamari> cool
22:33:23 <{^Raven^}> array(var)=array(var2)+var3 (or -var3) does not work
22:37:52 <{^Raven^}> calamari: default file mask for file>open could be *.b;*.bf
22:38:23 <{^Raven^}> calamari: input box does not seem to accept input in range 00-FF
22:40:01 <calamari> really? it should accept any decimal
22:40:31 <calamari> unless you mean the input tab?
22:40:43 <{^Raven^}> the input tab
22:40:54 <{^Raven^}> seems limited to printable characters
22:42:38 <calamari> hmm yeah.. probably is, unless it's pasted in
22:42:55 <{^Raven^}> even when pasted.
22:43:57 <{^Raven^}> test code starts [.] debugger cannot get past that. skipped to [-] and it gets stuck there too even though cell is set to 0
22:44:48 -!- jix has quit ("Banned from network").
22:45:15 <calamari> I don't follow you on that last bug report
22:45:33 <calamari> if you're changing the program in the middle of a run, that could cause problems
22:45:44 <{^Raven^}> BF debugger cannot leave a loop
22:46:34 <calamari> that'd be weird, because I was able to run the standard hellow world type stuff, the triangle, etc
22:47:06 <{^Raven^}> is file>open supposed to load the code into the program tab? it is not doing that here
22:47:15 <calamari> yeah, it's supposed to
22:47:15 -!- heatsink has joined.
22:47:43 <calamari> so much for write once run anywhere :/
22:48:02 <heatsink> you didn't write it in java, DID YOU?
22:48:08 <heatsink> ;p
22:48:12 <calamari> hehe
22:48:26 <{^Raven^}> ok, gonna stop using the evil OS now
22:48:57 <calamari> oh, were you trying it in windows?
22:49:09 <{^Raven^}> do you know how I can start your program from a unix shell (to load it on X-Windows)
22:49:12 <{^Raven^}> I was
22:49:21 <calamari> java -jar filename.jar
22:50:04 <{^Raven^}> hmmm, gotta be doing it wrong, that command gives me a pile of exception errors
22:50:13 <calamari> nice
22:50:18 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
22:50:37 <lindi-> nice, more programs to try..
22:50:41 * calamari tries it .. works here.. I'm runnign 1.5 tho
22:51:30 -!- cmeme has joined.
22:51:46 <{^Raven^}> using gij 3.2.3 here
22:51:49 -!- cmeme has quit (Remote closed the connection).
22:52:31 -!- cmeme has joined.
22:53:13 <lindi-> {^Raven^}: great. i'm using jamvm 1.3.0 with gnu classpath cvs head
22:53:33 * {^Raven^} has never been any good at getting 'real' java installed on his server and uses the default GNU version instead
22:55:36 * calamari just downloaded it from sun.. didn't even use those fancy installer script thingys
22:55:41 <lindi-> {^Raven^}: very nice, let me know if you see any bugs so i can test them with the latest version
22:57:16 <{^Raven^}> lindi: bfdebug-100 won't even run on my gij...and it dosn't work as expected using sun java on Windows
22:57:23 <lindi-> seems i've reported 25 bugs during the last 37 days :)
22:57:59 <calamari> raven: really weird that it doesn't work on windows, since I'm not really doing anything nonstandard this time
22:58:14 <lindi-> {^Raven^}: gij-3.3 is quite old in that respect, a lot has happened to swing after that
22:58:25 <lindi-> calamari: are you sure? ;)
22:58:55 <calamari> lindi: lol.. I think it's impossible to say for sure
22:58:59 * {^Raven^} goes to download sun java (and hopes it doesn't break anything)
22:59:10 <lindi-> calamari: esoshell had some nice gems, like this one: https://savannah.gnu.org/bugs/?func=detailitem&item_id=13254
22:59:26 <calamari> esoshell was definitely doing some nonstandard stuff
22:59:33 <{^Raven^}> calamari: I've got a really nice BFBASIC program in the making
22:59:40 <calamari> I was overriding swing methods, etc
23:00:18 <calamari> raven: cool, basic program, or bfbasic java program?
23:00:50 <lindi-> calamari: anyways, those swing programs are really create testcases for improving gnu classpath
23:00:55 <{^Raven^}> basic program
23:02:33 <{^Raven^}> i am finding more bugs in BFBASIC but nothing I have been able to solve
23:02:36 <calamari> adventure game, or something new? spill it ;)
23:02:43 <{^Raven^}> ok...
23:02:44 <calamari> thanks for fixing on bfbasic
23:02:55 <calamari> be sure to commit to the cvs repos :)
23:03:16 <{^Raven^}> i will do if I ever manage to work out how to fix any bugs
23:03:36 * {^Raven^} doesn't know java
23:03:51 <lindi-> {^Raven^}: what OS are you using btw?
23:03:56 * calamari doesn't know Java either, apparently
23:04:44 <{^Raven^}> lindi-: what for? I am using RISC OS, Linux (Whitebox RHEL3.0) and WinXP Pro interchangably atm
23:05:26 <lindi-> {^Raven^}: fedora core 4 comes with a large collection of java programs compiled with gcj
23:05:39 <lindi-> {^Raven^}: and on debian you could just apt-get install free-java-sdk
23:06:10 <{^Raven^}> lindi-: I need to find an rpm / other installer
23:06:28 <lindi-> hmm, for what?
23:06:42 <lindi-> sun's proprietary stuff?
23:06:48 * {^Raven^} often writes software on RISC OS, compiles it on Unix and runs it on Windows (and any variation thereof)
23:07:26 <{^Raven^}> I need a more recent java+SDK that will just install and work, any suggestions
23:07:27 <lindi-> i wish i knew brainfuck more so i could test this bfdebug better
23:08:17 <lindi-> {^Raven^}: i can recommend jamvm if you want to help out in testing gnu classpath
23:09:21 * calamari should do that
23:09:49 <calamari> I could never contribute, though.. because I've looked at all kinds of sun code trying to figure out things
23:10:00 <lindi-> you can contribute by testing
23:10:49 <{^Raven^}> calamari: My program is an emulator for an 8-bit RISC CPU
23:10:56 <calamari> coolness
23:11:10 <calamari> bet that's slow :P
23:12:25 <{^Raven^}> not really slow, Hello World runs in less than a second
23:13:08 <{^Raven^}> I want to see if a RISC CPU with an orthoganl instruction set can be emulated by brainfuck
23:13:57 <lindi-> calamari: Interpreter.java has _memory.add(Integer.valueOf(0)); but there's no such method valueOf(int) in Integer
23:14:14 <calamari> lindi: that must be 1.5
23:14:17 <lindi-> there's only valueOf(String s) and valueOf(String s, int radix)
23:14:21 <calamari> err wait
23:14:37 * calamari checks his java book
23:15:01 <calamari> I wanted Integer.getInteger
23:15:17 <calamari> but valueOf is a method
23:15:22 <lindi-> still, i want to sort this out. where is valueOf(int) documented?
23:15:45 <calamari> one sec, I'll check it out for ya
23:16:15 <calamari> 1.5.. checked the sun source
23:16:28 <calamari> it's part of all that int wrapper crap
23:16:33 <lindi-> /clear
23:16:39 <lindi-> better not paste it here :)
23:16:46 <calamari> not gonna paste anything
23:16:56 <lindi-> but is there any public documentation on that one?
23:17:24 <calamari> is the javadoc from the code considered public?
23:17:49 <lindi-> no, not from the code
23:18:04 <lindi-> but if sun has published it in a book or on their web page, then yes
23:18:12 <calamari> yeah, let me find it ;)
23:18:51 <calamari> I have the feeling I know exactly what to search for hehe
23:19:00 <lindi-> ah, found it
23:19:41 <calamari> http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html
23:19:54 <lindi-> yeah, that's what i found
23:20:10 <lindi-> i'll write some quick'and'dirty version and check if it works
23:20:56 <calamari> are you going to handle the caching?
23:21:36 <lindi-> not sure how it should be done, i'll ask on #classpath
23:25:51 <calamari> hmm actually I needed new Integer(i) to replace it :)
23:26:26 <calamari> raven: probably explains why it wasn't working in windows :)
23:26:41 <calamari> wonder if I'm using any other 1.5 code.. wish there was an easy way to find out
23:27:44 <lindi-> i thought there was
23:27:57 <calamari> some kind of tool that'll tell me?
23:28:06 <calamari> I'll ask in #java
23:28:27 -!- Kmkr has joined.
23:29:15 <Kmkr> hi
23:29:28 <Kmkr> sounds like an interesting project raven
23:29:28 <{^Raven^}> kmkr: the french dude(tte) has logged off
23:29:37 <Kmkr> ah
23:29:40 -!- Kmkr has changed nick to Keymaker.
23:29:43 <{^Raven^}> :)
23:30:04 <{^Raven^}> Keymaker: it is. I just wanted to see if it was possible and it most definately can be done
23:30:19 <Keymaker> yeah, everything can be done with brainfuck!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
23:30:24 <{^Raven^}> hello world works perfectly
23:30:39 <Keymaker> what is that orthagonal or something instruction set?
23:30:47 <Keymaker> and what the hello world looks like in that?
23:32:12 <{^Raven^}> the simple version is (in assembler) just MOV r0,#72:OUT r0:MOV r0,#101:OUT r0:etc:RET
23:32:38 <Keymaker> ah
23:33:03 <{^Raven^}> each instruction is assembled to a 16-bit word by a seperate program, the object code is loaded and executed by the emulated CPU
23:34:30 <{^Raven^}> it's only 36Kb of brainfuck (compiled BFBASIC) so far
23:34:43 <Keymaker> :)
23:34:56 <lindi-> calamari: turns out that there is already valueOf(int) but it's in a separate branch that targets 1.5
23:36:14 <{^Raven^}> keymaker: In computer science, an instruction set is said to be orthogonal if any instruction can use any register in any addressing mode.
23:36:40 <Keymaker> ok
23:36:51 <lindi-> calamari: here, http://paste.debian.net/897
23:39:51 <calamari> interesting.. sun's is shorter, but the gnu one is easier to understand :)
23:42:23 <lindi-> MIN_CACHE and MAX_CACHE are -128 and 127 btw
23:43:18 <lindi-> calamari: < dalibor> a brainfuck debugger! < dalibor> we should ship that instead of jdb in kaffe < Sven_M> lindi-: Oh, well I can see how this is terribly useful. =)
23:43:37 <calamari> lol
23:53:42 * {^Raven^} has installed sun java 1.5.0, put it in the $PATH before libgcj but libgcj is still being used instead
23:55:21 -!- BigZaphod has joined.
23:55:24 <lindi-> {^Raven^}: redhat has 'java' as a symlink to 'gij'?
23:56:00 <{^Raven^}> yes, but it is later in the path than sun java
23:56:04 <{^Raven^}> *run path
23:58:51 <calamari> ./java
23:59:05 <{^Raven^}> got it working now
23:59:35 <{^Raven^}> bfdebug is running as you described
23:59:36 <calamari> I really like the look of 1.5 Swing
←2005-06-25 2005-06-26 2005-06-27→ ↑2005 ↑all