←2005-07-09 2005-07-10 2005-07-11→ ↑2005 ↑all
00:01:38 <ZeroOne> hmm. that seems to be true, but always padding the number with a zero is just silly anyway.
00:02:20 <lindi-> dunno, maybe it's just a cosmetic issue :)
00:02:31 <jix> the first digit in base n is n^0...
00:04:06 <ZeroOne> gotta admit that's true
00:04:44 <ZeroOne> lindi-, seems like you need to modify your program ;)
00:15:00 <lindi-> maybe but i'm too tired to take a look at it now
00:16:12 <ZeroOne> me too
00:17:39 <ZeroOne> not that I could take a look at your program but I'm just generally too tired to do anything
00:18:58 <ZeroOne> it's also damn hot in here even though the window is wide open
00:32:16 <lindi-> finally managed to catch up with all the classpath* mailing lists, time to sleep, good night
00:32:55 -!- heatsink has joined.
00:47:41 <ZeroOne> I finally managed to brush my teeth. 'night.
01:13:31 <jix> {^Raven^}: i have problems compiling the latest bfbasic
01:15:03 -!- yrz\werk_ has quit (Remote closed the connection).
01:15:37 -!- yrz\werk has joined.
01:16:04 <{^Raven^}> jix: version 1.50 rc1 ?
01:16:09 <jix> yes
01:16:35 <{^Raven^}> 1 sec...
01:16:37 <jix> i get 4 errors in bfbasic.java
01:16:46 <{^Raven^}> hmmm, odd
01:16:55 <jix> 3 about incompatilbe types
01:17:00 <jix> no 2 about types
01:17:19 <jix> http://rafb.net/paste/results/YSkI1Q59.html
01:19:28 <{^Raven^}> what compiler are you using?
01:19:50 <jix> the javac that ships with osx
01:20:04 <jix> has no -v or --version flag
01:21:38 <{^Raven^}> I'll take a peek at it tomorrow, but here is the compiled version http://jonripley.com/~jon/bfbasic.jar
01:22:14 <jix> Exception in thread "main" java.lang.UnsupportedClassVersionError: bfbasic (Unsupported major.minor version 49.0)
01:23:21 <jix> java version "1.4.2_07"
01:23:21 <jix> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-215)
01:23:21 <jix> Java HotSpot(TM) Client VM (build 1.4.2-50, mixed mode)
01:23:24 <jix> hmm
01:24:16 <{^Raven^}> I'm completely new to Java, so there may be something I've done that's not at all good
01:24:35 <{^Raven^}> it works here but if it doesn't run on other machines that's a problem
01:24:48 <jix> i'm even newer to java.. i never learned it and only wrote 2 robocode bots.. never used java anywhere else
01:25:02 <jix> {^Raven^}: thats cross platform in action
01:25:27 <{^Raven^}> i'm using sun java 1.5.0 here
01:25:41 <jix> there's no java 1.5.0 for osx atm
01:26:25 <jix> osx java is always behind because there are so many os dependent parts in java and osx isn't first priority for sun
01:29:57 <jix> ah there is already a java 1.5 for osx
01:30:16 <jix> only 34mb
01:30:39 -!- yrz\werk has quit (Read error: 104 (Connection reset by peer)).
01:30:53 <{^Raven^}> i'm looking at the code to see if I can work out something
01:30:53 -!- yrz\werk has joined.
01:31:54 * jix is away for about 5 mins
01:50:40 <{^Raven^}> jix: I have fixed the bugs
01:51:08 <{^Raven^}> jix: please download http://jonripley.com/~jon/bfbasic.jar again
02:02:58 <jix> hmm lonh 5 mins
02:03:00 <jix> long
02:03:21 <jix> it works
02:03:38 <{^Raven^}> New version compiles okay with gcj 1.4.2!
02:03:45 <{^Raven^}> great to hear :D
02:04:31 <{^Raven^}> jix: thanks for the error report, it showed me exactly what I needed :)
02:23:03 <jix> whats wrong with this code? DIM kk(4)
02:23:03 <jix> kk(2)=10
02:23:03 <jix> PRINT kk(2)
02:26:51 <{^Raven^}> Nothing. Sadly the array handling in BFBASIC is a bit broken at the moment, your mileage may vary significantly
02:28:44 <jix> if i write j=2 and kk(j) it works as expected
02:41:31 -!- jix has quit ("Banned from network").
03:53:58 -!- jimbo000 has quit (Read error: 110 (Connection timed out)).
04:12:23 -!- kipple_ has quit (Read error: 110 (Connection timed out)).
05:09:56 -!- heatsink has quit (Remote closed the connection).
05:36:28 -!- tokigun has joined.
05:37:33 <tokigun> hello
05:38:57 <puzzlet> world
05:42:20 <tokigun> !
05:43:21 <puzzlet> \0
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:29:58 <tokigun> i'm making new befunge variant... this is hello world program: http://pastebin.com/310394
08:43:42 <tokigun> updated: http://pastebin.com/310400
09:49:25 <ZeroOne> interesting. how does it work?
09:53:53 <tokigun> ZeroOne: hmm
09:54:09 <tokigun> original specification is in korean so i cannot put it here...
09:54:20 <tokigun> so i have to explain this code.
09:54:54 <tokigun> this programming language is derived from Befunge.
09:55:11 <tokigun> I didn't named it but currently it is called "SFunge". (think sponge)
09:55:52 <tokigun> SFunge has two registers, infinite code space, and three 2D vector.
09:55:59 <tokigun> (yes there is no stack)
09:56:49 <tokigun> three vectors are: IP(instruction pointer), delta(direction of IP), DP(data pointer)
09:57:18 <tokigun> when program starts, IP is (0,0); delta is (1,0); and DP is (0,0).
09:57:32 <tokigun> and two registers (called A and B) is 0.
09:57:36 <tokigun> s/is/are/
09:58:23 <tokigun> the following is a list of instructions:
09:58:33 <tokigun> + (B += A); - (B -= A); * (B *= A)
09:58:49 <tokigun> ~ (swap A and B); < (swap A and B, if A > B); > (swap A and B, if A < B)
09:59:14 <tokigun> / (dx, dy = -dy, dx); \ (dx, dy = dy, dx) -- imagine mirror
09:59:29 <tokigun> @ (terminate program); 0..9 (set A to 0..9)
10:00:12 <tokigun> # (skip next instruction if B == 0); . (period; print A as ASCII character); : (colon; print A as integer)
10:00:34 <tokigun> , (comma; input A as character); ; (semicolon; input A as integer)
10:02:14 <tokigun> { (put character at DP to B); | (pipe; add (A, B) to DP. if there is negative coord. in DP, it is replaced to 0)
10:02:36 <tokigun> } (put B to character at DP as character)
10:03:03 <tokigun> in case of { instruction, empty cell is assumed as #32.
10:04:05 <tokigun> hmm hello world program reads "Hello, world!" string from its code space.
10:04:21 <tokigun> (so you shouldn't remove "Hello, world! program" text; it is a part of program)
10:04:53 <tokigun> 3+5*0~|} -- put newline character to (15, 0)
10:05:13 <tokigun> oops
10:05:20 <tokigun> not newline character, but null character. sorry
10:05:42 <tokigun> anyway, -2+0~| -- move data pointer to (2, 0), that is starting point of string
10:06:26 <tokigun> now A = 2, B = 0. using # we enter to main loop.
10:06:41 <tokigun> (because B = 0, it skips next instruction /)
10:07:09 <tokigun> {~. -- it reads character from current DP, and prints it.
10:07:51 <tokigun> 00~1|{ (actually same as "0~1|{") -- move DP to next character (because offset is (1, 0)) and read it.
10:08:25 <tokigun> if this character is null, we should exit loop. so # instruction is used.
10:08:45 <tokigun> otherwise it returns "/" instruction
10:09:08 <tokigun> finally "2+5*~." (prints newline character) is executed and program is terminated.
10:09:24 <tokigun> hmm.. any question?
10:09:53 -!- kipple_ has joined.
10:10:01 <tokigun> hello
10:12:09 <kipple_> hi
10:12:40 -!- kipple_ has changed nick to kipple.
10:13:20 <tokigun> i'm making new befunge variant. i didn't named it but i'm calling it "SFunge".
10:15:26 <ZeroOne> so the program starts with 3+5*0~. A is set to 3, B to 3, A to 5, B to 15, A to 0, then A to 15 and B to 0
10:15:31 <ZeroOne> I see
10:15:36 <tokigun> ZeroOne: looks good?
10:16:45 <ZeroOne> yeah. I got it now. :)
10:16:53 <tokigun> :)
10:17:27 <tokigun> spec is (almost) finished... but i don't know how to name it.
10:18:20 <ZeroOne> well, the name often comes the last
10:18:31 <ZeroOne> I gotta go now. see you later.
10:18:36 <tokigun> really? :)
10:18:40 <tokigun> good bye :)
10:18:52 <tokigun> see you.
10:19:05 <puzzlet> Pfunge is good
10:19:14 <puzzlet> and ambiguous
10:19:20 <tokigun> puzzlet: ..
10:19:27 <puzzlet> told you
11:48:37 -!- kipple_ has joined.
11:48:38 -!- kipple has quit (Read error: 104 (Connection reset by peer)).
12:20:43 -!- shapr has quit (Read error: 60 (Operation timed out)).
12:27:51 -!- jix has joined.
12:30:38 <jix> uhm there's a problem with whirl
12:31:59 <jix> if you move the memory pointer you can't access any value you had before the move
12:32:26 <jix> you have to destory your value for the dadd
12:32:38 <jix> and you can't access the old memval
12:34:36 <tokigun> jix: did you implement loop or conditional structure in whirl?
12:34:49 <jix> i didn't implemented anything atm
12:34:53 <tokigun> hmm
12:35:06 <jix> it is possible to move a value
12:36:10 <jix> decrement if>0(move> increment move> increment move <<)
12:37:39 <jix> with add and div it is possible to get any value into $value without destroying memval
13:03:47 -!- CXI has quit (Connection timed out).
13:10:38 -!- tokigun has quit (Read error: 104 (Connection reset by peer)).
14:38:38 -!- malaprop has joined.
16:12:50 -!- minus273 has joined.
16:13:08 <minus273> hi all
16:17:15 <ZeroOne> hello
16:38:53 -!- minus273 has quit (Remote closed the connection).
17:11:40 <jix> test
17:11:52 <jix> ok
17:27:25 -!- jix has quit ("Banned from network").
17:27:32 -!- jix has joined.
18:58:41 <jix> huh?
20:06:15 -!- J|x has joined.
20:16:15 -!- jix has quit (Read error: 110 (Connection timed out)).
20:39:20 -!- J|x has quit (brown.freenode.net irc.freenode.net).
20:39:20 -!- pgimeno has quit (brown.freenode.net irc.freenode.net).
20:40:07 -!- J|x has joined.
20:40:07 -!- pgimeno has joined.
20:55:44 -!- J|x has changed nick to jix.
20:55:53 <jix> me is back
21:22:39 <jix> i've implemented a 1 register mul/div minsky machine with input and output
21:23:58 <pgimeno> [ot] http://www.dilbert.com/comics/dilbert/archive/dilbert-20050710.html
21:24:22 <pgimeno> jix: nice
21:24:46 <pgimeno> what kind of language do you use?
21:24:48 <jix> well 3 registers 2 for input and output but they are only buffers and can't do any calculations
21:24:48 <jix> ruby
21:25:01 <jix> the interpreter is written in ruby
21:25:16 <pgimeno> the interpreter for what? (was my question)
21:25:28 <jix> a 1 register mul/div minsky machine
21:26:01 <jix> eg a FSA connected with a mul/div register of unlimited size which is able to multiply,divide and test for division
21:26:08 <jix> uhm no eg
21:26:36 <pgimeno> so it consists of a table of states, right
21:26:36 <pgimeno> ?
21:26:43 <jix> yes
21:27:02 <pgimeno> okay, that's roughly what I was asking :)
21:27:43 <jix> i've done cat in 2 states with 3 rules
21:28:08 <pgimeno> nice
21:28:47 <jix> with the mul/div register you simmulate n add/sub registers
21:28:53 <pgimeno> how are the operations coded into the transition table? one more column?
21:29:08 <jix> 'STATE COND MULT IO NEWSTATE
21:29:14 <jix> state is the state of the rule
21:29:26 <jix> cond is the condition (10 == the register is dividable by 10)
21:29:36 <jix> MULT is the factor to multiply the register with
21:29:43 <jix> IO is for input output
21:29:48 <jix> and newstate is the next state
21:29:56 <pgimeno> I see now
21:30:02 <jix> IO is done with negative COND and MULT
21:30:27 <jix> oh if cond is true the register gets divided by cond
21:30:55 <jix> read: http://esolangs.org/wiki/Minsky_machine
21:31:18 <pgimeno> single-register Minsky machines are very expensive in terms of wasted integer space AFAIK
21:31:27 <jix> they are
21:31:53 <jix> you simmulate n sub-add-registers
21:32:08 <jix> storing them as 2^a*3^b*5^c...
21:32:15 <jix> 7^d
21:32:32 <jix> and subtract n from register d is divide by n*7
21:33:19 <jix> i'm going to write a optimized to-c compiler with factorizes the integers the program at compile time
21:33:59 <jix> wahoo just 3 days school left until holidays
21:35:26 <pgimeno> :)
21:48:58 -!- asd has joined.
21:50:44 -!- asd has quit (Client Quit).
22:16:20 -!- heatsink has joined.
22:27:27 -!- shapr has joined.
22:33:05 -!- BigZaphod has quit.
22:44:47 -!- jix has quit ("Banned from network").
23:59:47 -!- puzzlet has quit ("Lost terminal").
←2005-07-09 2005-07-10 2005-07-11→ ↑2005 ↑all