00:00:00 --- log: started forth/14.01.07 00:02:19 --- quit: karswell` (Remote host closed the connection) 00:36:14 --- join: impomatic (~digital_w@87.114.58.47) joined #forth 00:56:10 --- join: regreg (~regreg@77.81.151.155) joined #forth 02:10:08 --- join: msmith (~msmit297@23.31.147.162) joined #forth 02:27:56 --- nick: Anarch_ -> Anarch 02:32:49 --- quit: KipIngram1 (Remote host closed the connection) 02:32:59 --- join: KipIngram (~KipIngram@209.40.205.22) joined #forth 02:36:51 --- quit: kludge` (Ping timeout: 264 seconds) 02:42:21 --- join: kludge` (~comet@unaffiliated/espiral) joined #forth 02:58:20 --- join: nighty-_ (~nighty@lns-bzn-49f-62-147-170-46.adsl.proxad.net) joined #forth 03:21:15 --- quit: mnemnion (Read error: Connection reset by peer) 03:21:40 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 04:34:35 --- quit: mnemnion (Remote host closed the connection) 05:40:32 --- join: imrehg (~imrehg@123-193-37-150.dynamic.kbronet.com.tw) joined #forth 06:09:50 --- quit: regreg (Ping timeout: 272 seconds) 06:10:50 --- join: regreg (~regreg@77.81.151.155) joined #forth 06:22:46 --- quit: imrehg (Quit: Leaving) 06:45:55 --- join: imrehg (~imrehg@123-193-37-150.dynamic.kbronet.com.tw) joined #forth 06:48:23 --- quit: imrehg (Client Quit) 06:48:41 --- join: imrehg (~imrehg@123-193-37-150.dynamic.kbronet.com.tw) joined #forth 06:51:40 --- quit: nighty^ (Read error: Connection reset by peer) 06:51:54 --- join: nighty^ (~nighty@lns-bzn-49f-62-147-170-46.adsl.proxad.net) joined #forth 06:51:59 --- part: imrehg left #forth 06:58:34 --- quit: joneshf-laptop_ (Read error: Operation timed out) 06:58:50 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 08:21:52 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 08:49:46 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 09:28:20 --- join: kumul (~mool@adsl-173-228-245-186.prtc.net) joined #forth 09:59:29 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 10:23:38 --- join: newcup (newcup@peruna.fi) joined #forth 10:29:07 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 10:39:39 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 10:41:14 --- join: kumool (~mool@adsl-64-237-226-91.prtc.net) joined #forth 10:44:47 --- quit: kumul (Ping timeout: 252 seconds) 10:52:25 --- quit: ncv (*.net *.split) 10:52:32 --- join: ncv (~quassel@79.118.11.63) joined #forth 10:52:36 --- quit: ncv (Changing host) 10:52:36 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 11:03:41 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 11:06:17 --- join: Mat3 (~quassel@24-134-25-135-dynip.superkabel.de) joined #forth 11:06:43 hi all 11:12:00 bueno 11:17:18 hi Mat3 11:17:49 hi bluekelp and msmith 11:21:36 --- quit: Zarutian (Quit: Zarutian) 11:29:05 --- quit: kumool (Ping timeout: 265 seconds) 11:42:29 what's the minimal needed set of stack words ? 11:43:07 (stack words :- words which modificate the data stack) 11:44:01 --- quit: bjorkbsd (Ping timeout: 272 seconds) 11:45:42 Mat3: My vague non answer would be, it depends on what you are trying to do 11:48:04 I know there are standards but I believe the original spirit of FORTH was for it to be custom to what you are trying to achieve. I've written a FORTH that doesn't close to the amount of words like a gforth, but it gets the job done 11:49:09 well, I am trying to find a minimal set of stack operators which are needed to access the third-first stack items in all possible combinations (a b c -> a c b, a b c -> c a b, a b c - a b...) 11:51:05 third-first? not sure I follow that, so in your example that would be c? 11:54:31 a = first, b = second 11:54:43 so... given 3 items on the stack, find all 6 ways to re-arrange them. 11:55:10 or 5 ways i guess, since the initial arrangement is easy :) 11:55:38 hi tangentstorm 11:55:43 ^yes 11:55:43 heya 11:57:20 : a0 (abc - abc) ; ( arrangement 0. nothing to do ) 11:57:47 : a1 (abc - acb) swap ; ( arrangement 1 ) 11:58:34 : a2 (abc - cba) rot ; 11:59:31 --- join: kumool (~mool@adsl-64-237-224-155.prtc.net) joined #forth 11:59:55 i was going to number them alphabetically: "0: abc 1: acb 2: bac 3: bca 4: cab 5: cba" 12:00:17 so that's a5 :D 12:02:04 : a2 (abc bac) swap rot rot ; 12:02:16 : a3 (abc - bca) swap rot rot swap ; 12:02:47 : a4 (abc - cab) rot swap ; 12:02:56 er 12:03:07 combine that with the return stack and you can get a 6-deep permutation algo 12:04:15 hrm... in retro, a b c rot -> b c a 12:04:47 gforth too :) 12:05:24 yes, my rot exchange the first with the third stack item 12:06:16 (non standard) 12:06:51 so there are conflicting definitions of rot? good to know. perhaps my forth will introduce yet another, just to make porting fun :) 12:07:00 hrm. we could name them explicitly like: : abc ; 12:08:02 : acb swap ; ( primitive ) 12:09:09 bluekelp: Please note my VM design is *not* a typical forth one 12:09:49 "Starting FORTH" is authoritative (for me :) - rot is ( abc - bca ) but the comment/desc is "rotates the third item to the top" . lulz 12:10:29 i think the consensus is "there is no standard forth" :) 12:10:33 : bac >r swap >r ; ( forth: rot swap ) 12:10:57 i think >r, >r, and swap are all you need 12:11:18 I think you mean >r and r> 12:11:44 yeah :) 12:12:42 anyhow, swap and rot is enough for all possible combinations except a1 (and both manipulate only the the data stack) 12:13:27 so I think adding a third oeprator for it would be better 12:13:32 ^operator 12:13:53 isn't a1 the same as swap? 12:14:42 no, that would be abc - bac 12:14:56 oh year, I see we got confused 12:15:12 that's why i suggested alphabetizing them :) 12:15:35 or just calling them abc,acb,bac,bca,cab,cba 12:15:39 ok, retry 12:15:41 : 12:15:57 abc - abc: no operator needed 12:18:34 abc - acb: swap (bac) rot (cab) swap (acb) 12:20:45 abc - cba: rot (cba) 12:21:31 abc - bac: swap (bac) 12:23:22 abc - cab: swap (bac) rot (cab) 12:25:13 abc - bca: rot (cba) swap (bca) 12:25:38 ok, seems I need only swap and rot 12:26:00 and r> >r 12:26:13 (if you wanna do six-deep) 12:29:25 the target language is a functional one - this means each defination can be transformed to a sequence of functions which uses at max. 3 stack items (or 0-2 items if you want - I don't) 12:30:23 so my compiler need only handling three stack items 12:31:26 as I see it, only swap, rot and dup are needed because drop can be replaced with: dup - - 12:33:28 thanks for elaborating this with me 12:39:26 * Mat3 because this restrict the max. stack depth to three, I can simply map statical 3 registers for them which simplifies native-code generation a lot and improves the resulting code quality 12:39:55 is this still saiwa? 12:40:04 yes 12:48:47 if saiwa is "pure functional" then how/why is there a stack? or is the stack not accessible to the language? seems a stack = side effects unless it's only available to the vm/system for impl details 12:49:21 --- join: beretta (~beretta@74.135.127.101) joined #forth 12:53:24 the stack is used internally for function concatentation so your second suggestion is right 12:54:30 (beside that Saiwa is not a pure functional language) 13:03:14 wow. retroforth's english translation (via chrome) is not a lot of help :) 13:04:20 hmm, I'm not a native english speaker but for me it's understandable 13:13:56 --- join: bjorkintosh (~bjork@ip68-13-229-200.ok.ok.cox.net) joined #forth 13:16:45 --- quit: regreg (Ping timeout: 272 seconds) 13:32:21 --- quit: true-grue (Write error: Connection reset by peer) 13:34:37 --- join: ASau (~user@p5083D905.dip0.t-ipconnect.de) joined #forth 13:42:06 --- quit: msmith (Ping timeout: 272 seconds) 13:44:24 --- join: nighty- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 13:56:34 --- quit: kumool (Ping timeout: 260 seconds) 14:16:42 --- join: joneshf-work (~joneshf@98.238.144.159) joined #forth 14:17:28 ciao 14:17:30 --- quit: Mat3 (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 14:18:49 --- quit: nighty-_ (Quit: Disappears in a puff of smoke) 14:19:59 --- quit: joneshf-work (Remote host closed the connection) 14:29:01 --- join: nisstyre (~yours@oftn/member/Nisstyre) joined #forth 14:30:14 --- join: joneshf-work (~joneshf@c-98-238-144-159.hsd1.ca.comcast.net) joined #forth 14:41:34 --- join: aranhoide (~aranhoide@49.Red-79-157-1.dynamicIP.rima-tde.net) joined #forth 15:01:17 Bluekelp: translation to what language? 15:02:07 english. i wasn't able to make any sense of it. 15:02:18 maybe i got a bad xlation 15:03:33 --- quit: mnemnion (Remote host closed the connection) 15:15:29 Retroforth's documentation is in English 15:19:35 i was talking about the main page, not the forth stuff. it was just a joke. http://www.retroforth.com/ 15:20:34 the saiwa page (http://www.13rhinos.de/saiwa.html) links to the wrong domain ;) 15:26:55 Ahh, ok. I seem to have missed renewing the .com 15:28:02 is that a "parking site" (lots of dating mentioned) or a legit blog? 15:28:16 sorry if i was unclear. i was just being a (friendly) jerk :) 15:30:03 Looks like a spam site now. I'll try setting a back order on the domain in case the current owner lets it expire 15:30:49 good luck. i dislike domain spam very much. but i cannot afford to keep all the domains i've purchased on a whim :) 15:33:24 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 15:48:15 --- join: kumul (~mool@adsl-64-237-224-155.prtc.net) joined #forth 17:11:06 oh weak :/ 17:11:23 at least you still have the .org and .net 17:26:05 --- join: imrehg (~imrehg@36-231-153-78.dynamic-ip.hinet.net) joined #forth 17:26:45 --- quit: imrehg (Client Quit) 17:26:54 --- join: imrehg (~imrehg@36-231-153-78.dynamic-ip.hinet.net) joined #forth 17:28:18 --- quit: imrehg (Client Quit) 17:28:27 --- join: imrehg (~imrehg@36-231-153-78.dynamic-ip.hinet.net) joined #forth 17:28:46 --- quit: imrehg (Read error: Connection reset by peer) 17:54:34 --- quit: kumul (Ping timeout: 272 seconds) 17:55:18 --- join: kumul (~mool@adsl-173-228-245-186.prtc.net) joined #forth 18:29:24 --- quit: mnemnion (Remote host closed the connection) 18:32:27 --- quit: beretta (Ping timeout: 245 seconds) 18:33:04 --- quit: nisstyre (Quit: Leaving) 19:15:45 --- join: kumool (~mool@adsl-173-228-245-186.prtc.net) joined #forth 19:17:58 --- quit: kumul (Ping timeout: 265 seconds) 19:23:53 --- quit: kumool (Ping timeout: 246 seconds) 19:24:11 --- join: kumul (~mool@adsl-173-228-245-186.prtc.net) joined #forth 19:30:13 --- join: karswell (~user@239.54.125.91.dyn.plus.net) joined #forth 19:33:15 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 19:35:16 --- quit: cataska (Remote host closed the connection) 19:48:23 --- join: regreg (~regreg@77.81.151.155) joined #forth 20:07:31 --- join: joneshf-laptop (~joneshf@c-98-208-36-36.hsd1.ca.comcast.net) joined #forth 20:10:24 --- quit: regreg (Ping timeout: 240 seconds) 20:11:03 --- join: regreg (~regreg@77.81.151.155) joined #forth 20:59:44 --- quit: Zarutian (Quit: Zarutian) 21:03:08 --- quit: kumul (Read error: Connection reset by peer) 21:03:09 --- quit: ncv (Read error: Connection reset by peer) 21:28:18 --- quit: aranhoide (Read error: Connection reset by peer) 22:01:47 --- join: cataska (~cataska@118-163-69-1.HINET-IP.hinet.net) joined #forth 22:18:12 --- quit: cataska (Remote host closed the connection) 22:35:00 --- join: true-grue (~quassel@95-26-187-236.broadband.corbina.ru) joined #forth 22:38:01 --- join: asie (~textual@078088168214.elblag.vectranet.pl) joined #forth 22:47:00 --- join: drobban_ (~drobban@78-73-61-250-no187.tbcn.telia.com) joined #forth 22:50:17 --- quit: drobban (Ping timeout: 252 seconds) 23:16:45 --- quit: true-grue (Read error: Connection reset by peer) 23:29:54 --- join: Bahman (~Bahman@82.99.195.2) joined #forth 23:31:49 --- quit: asie (Quit: I'll probably come back in either 20 minutes or 8 hours.) 23:37:24 --- join: cataska (~cataska@118-163-69-1.HINET-IP.hinet.net) joined #forth 23:50:55 --- join: protist (~protist@170.224.69.111.dynamic.snap.net.nz) joined #forth 23:59:59 --- log: ended forth/14.01.07