00:00:00 --- log: started forth/13.06.06 00:18:36 --- quit: dys (Ping timeout: 264 seconds) 00:30:13 --- join: epicmonkey (~epicmonke@188.134.41.113) joined #forth 00:45:15 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 00:46:08 --- quit: epicmonkey (Ping timeout: 256 seconds) 01:04:15 http://tangentstorm.github.io/pl0rx-2.html#sec-1-4 01:04:21 UGGGGGGGGGGGLY 01:04:53 I want to simplify this code but I don't have any ideas off the top of my head. 01:05:09 (Writing a simple pl/0 parser in retro.) 01:06:53 I guess what I really want is to implement a forthier CASE construct. 01:07:09 Any thoughts on how to go about that? 01:21:15 --- join: Indecipherable (~Indeciphe@41.13.24.131) joined #forth 01:43:45 --- quit: Indecipherable (Quit: used jmIrc) 01:57:17 --- join: epicmonkey (~epicmonke@host-224-58.dataart.net) joined #forth 02:28:43 tangentstorm: Heh. Yeah, that's pretty hidieous, isn't it? 02:30:15 You could do a call table instead, using *all* of the character values across the range of interest. 02:31:34 Here's a simple example: 02:31:49 : 0-handler ." I handle zero" ; 02:31:58 : 1-handler ." I handle one" ; 02:32:13 : 2-handler ." I handle two" ; 02:33:47 : table ( n --) 4 * r> + >r ; 02:34:01 : break r> ; 02:34:28 : handler ( n --) table 0-handler 1-handler 2-handler ; 02:34:38 I forgot to put break at the end of each handler word. 02:35:00 break returns you two levels instead of one, and table adjusts the current return address by an increment. 02:35:07 :) 02:35:10 This assumes your cell size is 4. 02:35:23 You could write a word to compute the cell size. 02:35:44 retro runs in a vm where all the addresess map directly to cells. 02:35:53 (and the characters are all 1 cell) 02:36:26 huh 02:36:31 Ok. I was about to note that the above requires that your Forth work in a reasonably traditional way (as in what the return stack does, etc.) 02:36:51 so your code is basically doing a computed goto. 02:37:00 Yes. 02:37:06 that's pretty cool :D 02:37:18 so simple too. thanks! 02:37:21 I've tested something like that in gforth. 02:37:25 My pleasure. 02:38:11 I hooked up a PL/0 compiler to retro a while back. The parser and compiler were written in python. 02:38:15 If you needed to compress ranges into single values you could have a word for that. 02:38:28 Now I'm trying to go back and do the whole thing in retro. 02:39:58 Sometime stuff like this can get a bit unwieldy in Forth, but the reason is because there is such a direct mapping between the complexity of what you're doing and the complexity of the Forth. 02:40:26 Some languages give you nice terse pretty little things that generate a *lot* of code. 02:40:30 You can trick yourself. 02:40:38 yeah :) 02:40:46 * tangentstorm thinks of J 02:44:32 tangentstorm: so you have build your forth on retro from ground up? 02:44:44 yunfan: not yet 02:44:50 i have a start on one 02:45:10 tangentstorm: do you have any suitable assember for that? 02:45:12 KipIngram: looks like all the characters I need are right in the same range in ASCII, too. :) http://www.asciitable.com/ 02:45:18 yunfan: yeah like 4 of them :) 02:45:25 i have made a python version for my own vm 02:45:30 https://github.com/sabren/b4/tree/master/b4a 02:45:39 but its ugly compared to those modern assember 02:46:11 another one is here, written in pure retro: https://github.com/sabren/b4/blob/master/rx/ng.rx 02:46:48 tangentstorm: to be honest, your version is also too simple 02:47:24 yunfan: why? 02:48:47 tangentstorm: one pass processing no macro 02:48:54 no loading opinion 02:49:34 oh. the perl version has macros. 02:49:37 sort of. 02:49:44 but yeah, i was really shooting for a single pass. 02:50:09 the perl version doesn't even know about the opcodes. it just uses macros to learn about them on the fly. which is silly. :) 02:50:29 the retro one has macros because it's just retro. 02:50:46 mine too, i think 2 pass could support many good features but also could be fatter and complexier 02:51:33 here's the perl one: https://github.com/sabren/b4/blob/master/b4a/b4asm it's silly though. only for amusement. 02:52:44 tangentstorm: excellent. 02:52:56 --- quit: cataska (Remote host closed the connection) 02:54:52 ah here we go: you plug https://github.com/sabren/b4/blob/master/b4a/ngaro.b4a into the perl one and it learns the opcodes from it. (told you it was silly) 02:55:07 yes i am reading it 02:57:40 it seems like your asm syntax is treat every thing to label, so you dont need variable? 02:58:05 yunfan: yeah, i told you it was silly :) 02:58:31 i wrote a blog post about the idea: http://b4lang.blogspot.com/2012/10/never-look-back-forward-only.html 02:58:38 --- join: cataska (~cataska@210.64.6.233) joined #forth 02:59:02 hrm. kinda rambly. 02:59:03 nm. 03:02:52 tangentstorm: dont worry about for while stuff 03:03:05 ? 03:03:11 csapp has described how it would be translated to asm clearly 03:03:36 i don't know what that means. 03:03:46 csapp is a book 03:04:03 also i wrote this a long time ago, and i'm targeting a virtual machine, not x86 03:04:33 yes, recently there're so many vm 03:04:50 whoa... i can't afford $117 for a book anyway :) 03:04:54 maybe there should be a common assember for those 03:05:07 what? $117? 03:05:14 http://www.amazon.com/Computer-Systems-Programmers-Perspective-2nd/dp/0136108040/ref=sr_1_1?ie=UTF8&s=books&qid=1266378939&sr=8-1 03:05:16 mine version is not that high 03:05:36 Textbooks are always expensive like that. 03:05:58 yes and cant be edit 03:06:02 To me, the idea of an assembly language is a one-to-one mapping of a token to an instruction. 03:06:44 at least you dont want to repeat coding 03:06:52 I only planned to use my assembly language as a compile target and for bootstrapping the forth interpreter. 03:06:53 especially in asm 03:07:32 Once I get to forth I can extend the language any way I want, so the assembler can be very simple. 03:07:38 i treate asm as a completely free enviroment for control the machine :] 03:07:43 --- join: nighty^ (~nighty@tin51-1-82-226-147-104.fbx.proxad.net) joined #forth 03:07:44 Also, for my course I want it to be very easy to build in any language. 03:08:16 tangentstorm: i could see your philosophy in that assember :] 03:08:19 Ideally, the VM and the assembler should be < 100 lines combined. 03:08:33 (in any given modern language) 03:08:51 it could in lisp :] 03:08:58 The idea is you write those 100 lines and then you get all this other stuff for free. 03:09:21 other stuff = interactive environment, compilers, etc. 03:10:23 thats how forth comming 03:10:39 yeah 03:11:30 but sometimes you may met the real problem 03:11:51 like using hardware register directly for optimizing 03:12:20 i'm not worried about that for what i'm doing. 03:12:58 that's because your target retro vm is a stack based 03:13:09 I probably will show how to convert the compiled bytecode to C or something though. 03:13:16 you dont have any register related problem even if you want to do that :] 03:13:24 :) 03:33:38 my jump table works out to this in retro (I think. not fully tested yet): 03:33:40 ch 33 47 in-range? [ -33 + [ `! `" `# err err err err `( `) `* `+ `, `- `. `/ ] @ ] ifTrue 03:33:51 which i like very much :) 03:34:58 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 03:36:59 when you use forth to emulatoring switch, the only problem is the name is global 03:37:37 not sure what you mean, yunfan 03:40:04 tangentstorm: you just saw the sample, you defined 0-handler 1-handler 03:40:12 which is a global name 03:40:56 but other real assembler like gas would give it a randomly name 03:41:28 need to go home 03:41:35 Oh, the names I used are `! `" `# etc... which are just constants 03:41:47 but they're not global, they're specific to a sub-dictionary / module in retro. 03:41:49 seeya. 04:17:02 --- quit: proteusguy (Remote host closed the connection) 04:55:08 --- join: proteusguy (~proteusgu@ppp-61-90-41-110.revip.asianet.co.th) joined #forth 05:03:13 --- join: dto-00 (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 05:03:48 --- quit: jyf1987 (Quit: be with hell) 05:04:59 --- quit: dto (Ping timeout: 276 seconds) 05:08:15 --- nick: dto-00 -> dto 05:38:19 --- quit: dto (Remote host closed the connection) 05:58:28 --- quit: proteusguy (Write error: Connection reset by peer) 05:59:51 --- join: malyn (~malyn@unaffiliated/malyn) joined #forth 06:00:53 --- join: nighty- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 06:01:38 --- quit: dys (Ping timeout: 264 seconds) 06:01:40 --- quit: rprimus_ (Ping timeout: 264 seconds) 06:01:42 --- quit: newcup (Ping timeout: 264 seconds) 06:01:43 --- quit: nighty-__ (Ping timeout: 264 seconds) 06:02:03 --- quit: tangentstorm (Ping timeout: 264 seconds) 06:02:28 --- quit: malyn_ (Read error: Connection reset by peer) 06:02:29 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 06:02:53 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 06:06:08 --- join: rprimus (~micro@ec2-50-16-189-142.compute-1.amazonaws.com) joined #forth 06:06:33 --- nick: rprimus -> Guest837 06:10:08 --- quit: malyn (Write error: Connection reset by peer) 06:10:14 --- join: malyn (~malyn@unaffiliated/malyn) joined #forth 06:11:04 --- join: newcup (newcup@peruna.fi) joined #forth 06:13:33 --- join: proteusguy (~proteusgu@ppp-58-8-93-251.revip2.asianet.co.th) joined #forth 06:13:49 --- quit: Ethical (Ping timeout: 256 seconds) 06:27:08 --- join: Ethical (~sam@ppp59-167-172-238.static.internode.on.net) joined #forth 06:28:40 --- quit: TodPunk (Read error: Connection reset by peer) 06:28:53 --- join: TodPunk (~Tod@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 06:32:32 --- quit: epicmonkey (Ping timeout: 256 seconds) 06:32:48 --- join: epicmonkey (~epicmonke@host-224-58.dataart.net) joined #forth 06:43:36 --- quit: obobo__ (Ping timeout: 246 seconds) 06:43:52 --- quit: nighty^ (Ping timeout: 256 seconds) 06:46:03 --- join: nighty^ (~nighty@tin51-1-82-226-147-104.fbx.proxad.net) joined #forth 06:57:00 --- join: obobo__ (~obobo@dyn-76-75-88-114.nexicom.net) joined #forth 07:52:47 --- quit: nighty- (Read error: Connection reset by peer) 07:53:14 --- join: nighty- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 08:07:57 --- join: Tod-Work (~thansmann@50-202-143-210-static.hfc.comcastbusiness.net) joined #forth 08:15:56 --- quit: segher (Quit: This computer has gone to sleep) 08:17:53 --- join: segher (~segher@94.211.200.223) joined #forth 08:40:17 --- join: Onionnion (~ryan@adsl-68-254-171-193.dsl.milwwi.ameritech.net) joined #forth 08:51:16 --- quit: epicmonkey (Ping timeout: 245 seconds) 09:05:15 --- quit: c00kiemon5ter (Read error: Connection reset by peer) 09:05:31 --- join: c00kiemon5ter (~c00kiemon@foss-aueb/coder/c00kiemon5ter) joined #forth 09:10:47 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 09:14:23 --- join: beretta (~beretta@cpe-107-8-120-203.columbus.res.rr.com) joined #forth 09:14:27 --- part: beretta left #forth 09:22:24 --- quit: proteusguy (Remote host closed the connection) 09:31:11 --- join: beretta (~beretta@cpe-107-8-120-203.columbus.res.rr.com) joined #forth 09:50:08 --- join: ncv (~quassel@79.114.115.117) joined #forth 09:50:08 --- quit: ncv (Changing host) 09:50:08 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 10:05:31 --- quit: c00kiemon5ter (Ping timeout: 248 seconds) 10:09:13 --- join: c00kiemon5ter (~c00kiemon@foss-aueb/coder/c00kiemon5ter) joined #forth 10:10:55 --- join: epicmonkey (~epicmonke@188.134.41.113) joined #forth 10:43:22 --- quit: dto (Remote host closed the connection) 11:45:29 --- quit: Onionnion (Quit: Leaving) 12:58:50 --- join: albertone (~androirc@pD9E2694D.dip0.t-ipconnect.de) joined #forth 12:59:03 --- join: mtm (~mtm@c-76-102-52-34.hsd1.ca.comcast.net) joined #forth 13:03:25 --- join: JDat (JDat@89.248.91.5) joined #forth 13:14:41 tangentstorm: that's the price of ignoring all the knowledge about formal language recognition. 13:17:17 :-) 13:22:47 --- join: Onionnion (~ryan@adsl-68-254-171-193.dsl.milwwi.ameritech.net) joined #forth 13:25:19 Even if one doesn't want to write RE-to-FSA compilers and LALR/LR/LL LA table generators 13:25:34 there's a least one way to get it. 13:27:48 At least two of them, actually. 13:28:10 Though both involve learning what happened in field in last two decades. 13:28:31 So, right, it may present hard task to Forth lovers. 13:35:08 Forth (very traditional Forth) still represents the best way to get an effecitvely usable interactive system onto the smallest platforms. 13:35:32 In extremely resource-bound systems that don't give you room for the stuff you mentioned above you can still have a *resident* dev system. 13:36:21 But sure - on a high-end system with plenty of resources Forth's "simplicity advantage" doesn't shine as brightly. One has many more options to choose from. 13:37:02 In the end it does often come down to "love" - if you like a tool and are good at using that tool and can produce results with it, then there you go. 13:38:06 It still isn't the best way. 13:38:27 For you - in your opinion. 13:38:28 Even in Forth you have to implement parser of some CFG. 13:38:57 tangentstorm: I'm happy I could hand you something you liked. 13:38:58 With slightly better CFG you get parser for a more convenient language. 13:51:41 --- quit: Onionnion (Quit: Leaving) 14:13:12 --- quit: ncv (Remote host closed the connection) 14:19:21 Hi all 14:33:16 Hey. 14:37:52 --- quit: JDat () 14:37:58 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 14:38:14 --- quit: epicmonkey (Ping timeout: 264 seconds) 15:06:41 --- quit: Nisstyre-laptop (Quit: Leaving) 15:30:02 --- quit: ttmrichter (Ping timeout: 264 seconds) 15:36:38 --- quit: nottwo (*.net *.split) 15:36:39 --- quit: Backer (*.net *.split) 15:36:39 --- quit: KipIngram (*.net *.split) 15:36:40 --- quit: dessos (*.net *.split) 15:36:40 --- quit: bluekelp_ (*.net *.split) 15:36:40 --- quit: tathi (*.net *.split) 15:36:40 --- quit: mtm (*.net *.split) 15:36:41 --- quit: c00kiemon5ter (*.net *.split) 15:36:41 --- quit: Tod-Work (*.net *.split) 15:36:41 --- quit: nighty- (*.net *.split) 15:36:41 --- quit: ASau (*.net *.split) 15:36:42 --- quit: segher (*.net *.split) 15:36:42 --- quit: albertone (*.net *.split) 15:36:43 --- quit: cataska (*.net *.split) 15:36:43 --- quit: sirdancealo2 (*.net *.split) 15:36:43 --- quit: beretta (*.net *.split) 15:36:45 --- quit: TodPunk (*.net *.split) 15:36:45 --- quit: malyn (*.net *.split) 15:36:45 --- quit: tangentstorm (*.net *.split) 15:36:45 --- quit: dys (*.net *.split) 15:36:45 --- quit: kevinfish (*.net *.split) 15:36:45 --- quit: dto (*.net *.split) 15:36:46 --- quit: kulp (*.net *.split) 15:36:46 --- quit: dzho (*.net *.split) 15:36:46 --- quit: Adeon (*.net *.split) 15:36:46 --- quit: yunfan (*.net *.split) 15:36:47 --- quit: djinni (*.net *.split) 15:36:47 --- quit: obobo__ (*.net *.split) 15:36:47 --- quit: newcup (*.net *.split) 15:36:47 --- quit: Guest837 (*.net *.split) 15:36:47 --- quit: yiyus (*.net *.split) 15:36:48 --- quit: zachk (*.net *.split) 15:36:48 --- quit: goingretro (*.net *.split) 15:36:49 --- quit: Vuokko (*.net *.split) 15:36:49 --- quit: nighty^ (*.net *.split) 15:36:49 --- quit: Ethical (*.net *.split) 15:40:09 --- join: ttmrichter (~ttmrichte@gertm.eu) joined #forth 15:40:09 --- join: mtm (~mtm@c-76-102-52-34.hsd1.ca.comcast.net) joined #forth 15:40:09 --- join: albertone (~androirc@pD9E2694D.dip0.t-ipconnect.de) joined #forth 15:40:09 --- join: c00kiemon5ter (~c00kiemon@foss-aueb/coder/c00kiemon5ter) joined #forth 15:40:09 --- join: beretta (~beretta@cpe-107-8-120-203.columbus.res.rr.com) joined #forth 15:40:09 --- join: segher (~segher@94.211.200.223) joined #forth 15:40:09 --- join: Tod-Work (~thansmann@50-202-143-210-static.hfc.comcastbusiness.net) joined #forth 15:40:09 --- join: nighty- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 15:40:09 --- join: obobo__ (~obobo@dyn-76-75-88-114.nexicom.net) joined #forth 15:40:09 --- join: nighty^ (~nighty@tin51-1-82-226-147-104.fbx.proxad.net) joined #forth 15:40:09 --- join: TodPunk (~Tod@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 15:40:09 --- join: Ethical (~sam@ppp59-167-172-238.static.internode.on.net) joined #forth 15:40:09 --- join: newcup (newcup@peruna.fi) joined #forth 15:40:09 --- join: malyn (~malyn@unaffiliated/malyn) joined #forth 15:40:09 --- join: Guest837 (~micro@ec2-50-16-189-142.compute-1.amazonaws.com) joined #forth 15:40:09 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 15:40:09 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 15:40:09 --- join: cataska (~cataska@210.64.6.233) joined #forth 15:40:09 --- join: ASau (~user@p5797E28E.dip0.t-ipconnect.de) joined #forth 15:40:09 --- join: zachk (~sudoku@unaffiliated/zachk) joined #forth 15:40:09 --- join: kevinfish (~fish@2602:30a:2c92:c1b0:218:deff:feb0:e2ac) joined #forth 15:40:09 --- join: goingretro (~kbmaniac@host31-51-149-124.range31-51.btcentralplus.com) joined #forth 15:40:09 --- join: Backer (~backer@user-387h39d.cable.mindspring.com) joined #forth 15:40:09 --- join: KipIngram (~KipIngram@85.17.255.186) joined #forth 15:40:09 --- join: nottwo (~trannie@nottwo.org) joined #forth 15:40:09 --- join: dessos (~dessos@c-174-60-176-249.hsd1.pa.comcast.net) joined #forth 15:40:09 --- join: bluekelp_ (~bluekelp@bluekelp.com) joined #forth 15:40:09 --- join: kulp (~kulp@unaffiliated/kulp) joined #forth 15:40:09 --- join: sirdancealo2 (~sirdancea@98.82.broadband5.iol.cz) joined #forth 15:40:09 --- join: tathi (~josh@dsl-216-227-91-75.fairpoint.net) joined #forth 15:40:09 --- join: yiyus (1242712427@je.je.je) joined #forth 15:40:09 --- join: Vuokko (vuolasah@mustatilhi.cs.tut.fi) joined #forth 15:40:09 --- join: dzho (~deejoe@quercus.etrumeus.com) joined #forth 15:40:09 --- join: Adeon (~makrillit@109.73.169.52) joined #forth 15:40:09 --- join: yunfan (~root@unaffiliated/yunfan) joined #forth 15:40:09 --- join: djinni (~djinni@li125-242.members.linode.com) joined #forth 15:40:09 --- mode: cameron.freenode.net set +v tathi 15:53:03 --- quit: mtm (*.net *.split) 15:53:04 --- quit: c00kiemon5ter (*.net *.split) 15:53:04 --- quit: Tod-Work (*.net *.split) 15:53:04 --- quit: nighty- (*.net *.split) 15:53:05 --- quit: ASau (*.net *.split) 15:53:06 --- quit: ttmrichter (*.net *.split) 15:53:06 --- quit: segher (*.net *.split) 15:53:07 --- quit: albertone (*.net *.split) 15:53:08 --- quit: cataska (*.net *.split) 15:53:09 --- quit: sirdancealo2 (*.net *.split) 15:53:09 --- quit: dessos (*.net *.split) 15:53:09 --- quit: bluekelp_ (*.net *.split) 15:53:09 --- quit: tathi (*.net *.split) 15:53:09 --- quit: nottwo (*.net *.split) 15:53:10 --- quit: Backer (*.net *.split) 15:53:10 --- quit: KipIngram (*.net *.split) 15:53:11 --- quit: nighty^ (*.net *.split) 15:53:11 --- quit: Ethical (*.net *.split) 15:53:12 --- quit: beretta (*.net *.split) 15:53:14 --- quit: TodPunk (*.net *.split) 15:53:14 --- quit: malyn (*.net *.split) 15:53:14 --- quit: tangentstorm (*.net *.split) 15:53:14 --- quit: dys (*.net *.split) 15:53:14 --- quit: kevinfish (*.net *.split) 15:53:16 --- quit: kulp (*.net *.split) 15:53:16 --- quit: dzho (*.net *.split) 15:53:17 --- quit: Adeon (*.net *.split) 15:53:17 --- quit: yunfan (*.net *.split) 15:53:17 --- quit: djinni (*.net *.split) 15:53:17 --- quit: obobo__ (*.net *.split) 15:53:17 --- quit: newcup (*.net *.split) 15:53:17 --- quit: Guest837 (*.net *.split) 15:53:18 --- quit: yiyus (*.net *.split) 15:53:19 --- quit: zachk (*.net *.split) 15:53:19 --- quit: goingretro (*.net *.split) 15:53:21 --- quit: Vuokko (*.net *.split) 15:56:47 --- join: ttmrichter (~ttmrichte@gertm.eu) joined #forth 15:56:47 --- join: mtm (~mtm@c-76-102-52-34.hsd1.ca.comcast.net) joined #forth 15:56:47 --- join: albertone (~androirc@pD9E2694D.dip0.t-ipconnect.de) joined #forth 15:56:47 --- join: c00kiemon5ter (~c00kiemon@foss-aueb/coder/c00kiemon5ter) joined #forth 15:56:47 --- join: beretta (~beretta@cpe-107-8-120-203.columbus.res.rr.com) joined #forth 15:56:47 --- join: segher (~segher@94.211.200.223) joined #forth 15:56:47 --- join: Tod-Work (~thansmann@50-202-143-210-static.hfc.comcastbusiness.net) joined #forth 15:56:47 --- join: nighty- (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 15:56:47 --- join: obobo__ (~obobo@dyn-76-75-88-114.nexicom.net) joined #forth 15:56:47 --- join: nighty^ (~nighty@tin51-1-82-226-147-104.fbx.proxad.net) joined #forth 15:56:47 --- join: TodPunk (~Tod@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 15:56:47 --- join: Ethical (~sam@ppp59-167-172-238.static.internode.on.net) joined #forth 15:56:47 --- join: newcup (newcup@peruna.fi) joined #forth 15:56:47 --- join: malyn (~malyn@unaffiliated/malyn) joined #forth 15:56:47 --- join: Guest837 (~micro@ec2-50-16-189-142.compute-1.amazonaws.com) joined #forth 15:56:47 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 15:56:47 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 15:56:47 --- join: cataska (~cataska@210.64.6.233) joined #forth 15:56:47 --- join: ASau (~user@p5797E28E.dip0.t-ipconnect.de) joined #forth 15:56:47 --- join: zachk (~sudoku@unaffiliated/zachk) joined #forth 15:56:47 --- join: kevinfish (~fish@2602:30a:2c92:c1b0:218:deff:feb0:e2ac) joined #forth 15:56:47 --- join: goingretro (~kbmaniac@host31-51-149-124.range31-51.btcentralplus.com) joined #forth 15:56:47 --- join: Backer (~backer@user-387h39d.cable.mindspring.com) joined #forth 15:56:47 --- join: KipIngram (~KipIngram@85.17.255.186) joined #forth 15:56:47 --- join: nottwo (~trannie@nottwo.org) joined #forth 15:56:47 --- join: dessos (~dessos@c-174-60-176-249.hsd1.pa.comcast.net) joined #forth 15:56:47 --- join: bluekelp_ (~bluekelp@bluekelp.com) joined #forth 15:56:47 --- join: kulp (~kulp@unaffiliated/kulp) joined #forth 15:56:47 --- join: sirdancealo2 (~sirdancea@98.82.broadband5.iol.cz) joined #forth 15:56:47 --- join: tathi (~josh@dsl-216-227-91-75.fairpoint.net) joined #forth 15:56:47 --- join: yiyus (1242712427@je.je.je) joined #forth 15:56:47 --- join: Vuokko (vuolasah@mustatilhi.cs.tut.fi) joined #forth 15:56:47 --- join: dzho (~deejoe@quercus.etrumeus.com) joined #forth 15:56:47 --- join: Adeon (~makrillit@109.73.169.52) joined #forth 15:56:47 --- join: yunfan (~root@unaffiliated/yunfan) joined #forth 15:56:47 --- join: djinni (~djinni@li125-242.members.linode.com) joined #forth 15:56:47 --- mode: cameron.freenode.net set +v tathi 15:59:22 --- quit: Tod-Work (Quit: Leaving) 16:38:44 --- quit: obobo__ (Remote host closed the connection) 16:47:27 --- join: obobo (~obobo@dyn-76-75-88-114.nexicom.net) joined #forth 16:54:28 --- join: RodgerTheGreat (~rodger@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 16:57:19 --- quit: mtm (Quit: Leaving...) 17:03:54 --- quit: nighty^ (Remote host closed the connection) 17:28:29 --- quit: albertone (Ping timeout: 240 seconds) 18:12:08 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 18:14:13 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 18:14:38 Have you seen Men In Black? 18:14:48 Ooops - wrong channel. :-) 18:29:59 KipIngram: Is there anybody who hasn't seen Men in Black? 18:30:12 Yak herders in the outermost reaches of Mongolia have probably seen it. :D 18:42:11 :-) 18:48:24 maybe he's referring to the recent one 18:48:55 No - I meant the original. I was asking my 13 year old daughter - she had not seen it and we are watching it now. 18:49:07 good times 18:54:52 --- join: beretta2 (~yaaic@cpe-107-8-120-203.columbus.res.rr.com) joined #forth 18:57:29 --- quit: dto (Remote host closed the connection) 19:35:21 --- quit: segher (Quit: This computer has gone to sleep) 19:36:50 --- join: segher (~segher@5ED3C8DF.cm-7-4d.dynamic.ziggo.nl) joined #forth 20:27:03 tangentstorm: remember what i suggest on touch screen forth? 20:27:34 i send the same sugguestation to a guy who made a app to emulator mips assebler on android 20:27:43 he said he would add that in his todo list 20:47:09 I just found out that Forth Warrior was featured in a magazine two months ago: http://i.imgur.com/kq2VH1X.png 20:48:49 wait... you just found out you were interviewed by a magazine? 20:48:56 yunfan: cool :) 20:49:17 I did an interview with the dude but he never got back to me, so I assumed it was left on the cutting room floor 20:49:41 Ah. Well cool. 20:49:58 i notice that's game developer magzine 20:50:09 yep 20:50:14 it says that on 70 80 years 20:50:30 many board game has been developed in forth 20:50:50 cause they need port those game between very different machine and java not found yet :] 20:51:21 nice interview 20:51:34 And Java sucks up too many resources for many platforms too, yunfan. 20:55:01 ttmrichter: i've no idea, i saw very huge java projects but i also remember my phone before smart age which use kjava 20:55:23 Embedded Java bears almost no resemblance to regular Java. 20:55:33 I have a tiny MP3 player with a cartoon character on it which runs J2ME 20:55:36 Almost nothing you'd right for Java SE would work for Java ME. 20:55:46 (The reverse is less true.) 20:55:48 and incidentally you can run Forth Warrior on it 20:56:12 although you won't get very far without a keyboard I'm afraid 20:57:27 J2ME is basically just a cut down version of what Java 1.4 looked like. Generics, the modern Collections API and the smart for-loop are the main things a modern java programmer would notice missing. 20:57:46 Much of the library is cut too. 20:57:52 that's what I mean 20:58:03 threading, anonymous classes and all the other nice language features are all intact 20:58:16 Except the smart for-loop. ;) 20:58:23 sugar 20:58:29 Java Card, on the other hand, is an abomination 20:58:44 Java Card is ... yeah. Abomination is a good choice. 20:59:20 Java Card lops off half the primitive types, garbage collection, language features which rely on garbage collection/dynamic allocation and the notion of having a constructor 20:59:23 --- join: mtm (~mtm@c-24-130-130-44.hsd1.ca.comcast.net) joined #forth 21:00:07 Java Card resembles Java but really isn't the same language. J2ME is legit Java, just missing the batteries. 21:00:59 honestly having programmed in J2ME I found it rather refreshing. It's very small and tidy. The subset of the libraries which remains is carefully chosen. 21:01:27 I can't find the word "Java" together with the word "refreshing" unless it's paired with a giggle myself. ;) 21:01:43 it's not beautiful, but it's a good building material 21:02:15 I find it tremendously preferable to C, and the only language that can claim a better standard library is Factor 21:02:53 For the kinds of things I've been aiming at lately Java simply won't work. 21:03:06 embedded stuff? 21:03:07 I've got an 8-bit MCU fired up right now, for example, with 32KB Flash and 2KB RAM. 21:03:14 yeah that's fair 21:03:19 Java Card may fit there. May. :D 21:03:32 wouldn't be a very pleasant programming experience 21:03:45 A Forth could fit quite nicely, though. 21:03:47 for MCUs you're gonna want Forth or Assembly language 21:04:00 just this afternoon I was playing with FlashForth on a PIC 21:04:05 Actually C isn't bad there either because it's small enough that you don't hit C's problems. 21:04:08 quite a nice little implementation 21:04:18 C hits problems when you try to scale it into sizable applications. 21:04:26 When you're in the sub-64KB range C is fine. 21:04:41 I find C build systems abhorrent and they're ten times worth for microcontrollers 21:04:49 There is that, yes. 21:04:54 And you don't get the interactivity of Forth. 21:05:12 Microchip maintains and sells not one but THREE subtly and overtly incompatible C compilers for their damn chips 21:05:16 On the other hand it's hard to get interactivity on an embedded system anyway. :) 21:05:42 pushbuttons and LEDs are technically interactive 21:05:45 Yeah, the words "C compatibility" belong on the same list as "military justice" or "communist freedom". 21:06:05 Or "military music" come to think of it. 21:06:36 I would rather use a Forth and know going into it that I'm going to have to learn the ins and outs of a new dialect than fumble through a crummy C compiler written by electrical engineers 21:07:02 What's even more irritating is that most compilers used in the MCU world are just hacks on the GNU toolchain anyway. 21:07:09 So there's no REASON for the gratuitous differences. 21:07:13 "oh you want it to do constant folding? that'll be a $10,000 site license" 21:10:21 What I really want to do is make a Forth system that's quasi-system-independent. 21:10:32 That ain't happening anytime soon, though. 21:10:38 Not enough Copious Free Time™. 21:19:14 ttmrichter: when you work in china , how about your tax and endowment insurance 21:21:48 My employer pays my (vanishingly small) taxes. 21:21:55 I'm not sure what you mean by endowment insurance. 21:27:00 i mean if you dont pay endowment insurance to canada goverment, how can you got the payback when you return to your hometown? or you just want to live in china 21:27:55 Canada's tax laws are more civilized than the USA's. 21:28:03 I don't have to pay Canadian taxes while living abroad. 21:28:12 When I go back to Canada different services will reactivate at different times. 21:28:32 For example my state-provided medical coverage starts six months after I return (in Ontario at least). 21:29:20 Even if I did have to pay Canadian taxes, however, I make so little (trackable) income in Canadian dollars that I would actually be OWED money by the government. :D 21:31:25 it sounds like european country 21:34:30 And it will keep sounding like it until our current government manages to undo everything good Canada has accomplished in the past decades. :( 21:34:39 (There's a reason I've not been back in Canada since 2003. 21:34:40 ) 21:36:43 --- quit: Nisstyre-laptop (Quit: Leaving) 21:37:38 well i dont like high welfare, but recently i found the problem is not high welfare itself, but the drawback method 21:38:00 it shouldnt pay back in currency 21:39:55 That's great in theory. 21:40:05 In practice things like food vouchers, etc. fail badly. 21:40:43 And when it's your own government's policies that are generating the unemployed (like the USA now and Canada to a lesser extent) it's a bit mean-spirited to then say "and by the way, you're a lazy ass and we're going to make your life even more miserable". 21:43:40 well in practice you might pay part of in real goods and part in currency 21:44:18 what i want to solve is the ratio problem. 21:44:58 new younger are less and less, while older's life is longer and longer 21:45:25 if you pay back in currency all, it has big problem 21:46:23 but think of it, what people need is goods, currency is just the buying tool. althought younger are less and less, the technologhy grows faster and faster 21:46:53 so goods could be producted more and more, that's why i gave the solution 21:48:30 In centuries past it was the youth of *a family* that took care of the elderly of *that family*. It was a family thing - not a government thing. 21:48:44 Works for me. 21:48:59 My mom is covered - I'll see to it. And I'll take my chances that one of my five children will cover me. 21:50:13 KipIngram: but today's society is not like that. you always got wealfare from the country 21:50:51 oop you have five children :] 21:56:37 :-) Yep - all girls. Girls love their daddies. 8-) 21:59:14 well but i think not everyone like you , otherwise, westen country wont have the problem 22:03:37 The "my five children will take care of me" is not a solution. 22:03:51 First, there's the situation of entire poverty-stricken FAMILIES. 22:03:54 Who helps them? 22:04:02 ttmrichter: depends what you mean by system independent. I think retro's instruction set is a good core, with its virtual devices. 22:04:09 Second, endless population growth is mathematically not viable. 22:04:45 22:06:00 Well, I'm on a good path to take care of myself, but what I was really trying to convey is that families should cleave together. 22:07:09 ttmrichter: that's the problem population is not always growth but wealfare needs growth always 22:08:05 Yes - welfare is basically a pyramid scheme. 22:08:45 yunfan: good observation - I haven't heard someone point it out that clearly before. 22:10:37 KipIngram: and people pay high tax is want real payback but currency's value is floating 22:11:17 you cant make sure a 10x payback could works when you old 22:11:18 Yes - most govs use currency manipulation to impose a "hidden tax". 22:11:47 but you could make sure how many goods you need like food water internet 22:11:49 I know. I have no illusion about when I'm going to get to retire. I'm prepared to work for a long time if necessary. 22:11:59 8-) 22:12:15 1) food, 2) water, 3) internet. Amazing that we put those things together into one list... 22:12:31 KipIngram: me too, but society is made of people , if 95% cant got work, i dont think you could still work 22:12:58 i heard that finland has law that put internet connection as a basic human right 22:13:25 * KipIngram facepalms... 22:14:45 anyway, what i mean is that goods that you need could be predicted while cocurrency cant 22:15:12 That involves central planning of economies. 22:15:19 Ok - point taken. We don't need to debate whether internet is an essential. It doesn't cost as much as those other things anyway. 22:15:23 Something which has been repeatedly demonstrated as not working, yunfan. 22:15:26 and goods producting could be more cheap and cheap 22:15:34 Water doesn't cost much either - food and shelter and transportation do. 22:15:35 yunfan: Except food. 22:15:53 Food will be getting a lot more expensive in coming years barring some radical changes in farming. 22:16:13 ttmrichter: i know that leads to communist 22:16:27 Well, and that leads to collapse. 22:16:47 Communism is a flawed concept - it ignores the basic essence of human nature. 22:17:06 that i dont like, but if you dont like that, you could choose a endowment insurance 22:17:14 business endowment insurance 22:18:17 today's insurance company got your money and use them in stock market for earning more money 22:18:38 that's just nothing if conrrency itself get problem 22:19:20 if the pay you in goods,then they could use your money to do research and developing higher technology to producing 22:19:27 that i think is a better way 22:19:48 The stock market itself is a pyramid scheme, just a more obfuscated one. 22:20:03 All business forecasts are based on an impossible premise: eternal growth. 22:20:04 Hmmm. 22:20:10 Maybe. 22:20:17 Who's to say what the future holds? 22:20:22 yes, but the company need to pay you money back which forced they to the stock market or other market 22:20:29 Maybe we wind up colonizing space or something. 22:20:51 If you get paid in goods you have to store them, maintain them, etc. 22:20:55 That's our only hope, KipIngram. 22:21:04 Goods that have a shelf life depreciate. 22:21:13 I agree long term. 22:21:26 The steps have to be taken short term. 22:21:49 today, although technology developing fast but people still got no time for playing or doing their own interesting things 22:22:31 BECAUSE technology developed quickly, yunfan, not although. 22:22:37 i pay more interesting of asteriod mining plan 22:22:38 --- quit: malyn (Quit: Disconnecting from stoned server.) 22:22:47 There was a time when business deals took weeks to months to work on. 22:22:51 Now if you don't close in a day you're a loser. 22:23:04 So you have to be in contact 24×7 or you lose. 22:23:06 I'm a big fan of space colonization - have been since the 1970's when I read Gerard O'Neil's ideas in the World Book Science Year Book. 22:23:07 It's insane. 22:23:17 ttmrichter: i think that's because the technology all focus on how to made higher producing ratio 22:23:47 Asteroid mining makes sense for space construction, but not for use hear on Earth. 22:23:48 but people need to pay some focus on how to got more materials 22:24:05 It's not like you can drop the stuff - it takes as much delta-v (energy) to get *from* space as it does to get *to* space. 22:24:12 like farming 22:24:24 from the ancient age to today's life 22:24:32 s/hear/here/ 22:24:49 the argument technoly's developed is made the producing ratio higher 22:25:02 but you could try made farmland more 22:25:15 like developing ocean farming 22:25:39 --- join: malyn (~malyn@unaffiliated/malyn) joined #forth 22:25:43 There's all kind of calculations that can be done around farming, because a certain amount of energy (sunlight) falls on any given area of farmland. 22:25:52 There's only so much matter manipulation that will support. 22:26:04 Ultimately we raise crops as a source of energy - for us. 22:26:09 We can't take out more energy than goes in. 22:26:38 well you dont need sunlight 22:26:49 Beg your pardon??? 22:26:57 i just know they use LED as a alternative of sunlight for corps 22:27:06 And what powers that LED? 22:27:10 check planlab 22:27:13 Ok - point granted. 22:27:17 You don't need *sunlight*. 22:27:22 But you do need *energy*. 22:27:37 yes you need energy 22:27:39 Plants take base elements from the soil and construct organic material with them. 22:27:42 That requires energy 22:28:07 that's what i say you need to made more materials FROM asteriod mining 22:28:27 And if you're going to construct an artificial light source then it requires energy to do that, which has to be amortized over the life of the light device. 22:28:32 It's hard to win. 22:29:12 But the cost of getting the asteroid materials back to earth is prohibitive. If that's going to work we have to send people into space - and then they need to have children *there*. 22:29:30 The population needs to expand into space - we don't just "use" space; we *live there*. 22:30:03 you dont need to pay the materials back, you could translated them into enery and send them to earth :] 22:30:09 We can't think of "space industry" as an analog of "offshore industry." 22:30:16 The energy balance is entirely different. 22:30:51 well finally the idea "we live there" is a solution 22:31:16 Yes - this ever growing population needs space to live in too - so actually migrating to space is the only real answer. 22:31:18 hawking also warned that 22:31:30 --- quit: mtm (Quit: Leaving...) 22:32:44 KipIngram: but today's finace rule made people made money easier in stock market than in do space migrating research 22:33:21 --- quit: RodgerTheGreat (Quit: RodgerTheGreat) 22:33:34 There will always be short term fluctuations in any system that people will try to take advantage of. Eventually we will fill up the planet and "outward focus" will be required 22:34:08 Someday certain people will make a lot of money by leading that process. 22:35:43 This is a great conversation - thanks for the stimulating thoughts. It's 12:43 am, though, and my alarm is set at 4:15 am - I must sleep. 22:36:00 ok i am just working at office :] 22:36:00 Take care. 22:36:12 sya 22:46:11 --- join: albertone (~androirc@pD9E26DBE.dip0.t-ipconnect.de) joined #forth 23:06:19 --- join: ASau` (~user@p5797EDA1.dip0.t-ipconnect.de) joined #forth 23:07:06 --- quit: ASau (Ping timeout: 240 seconds) 23:24:02 --- quit: albertone (Ping timeout: 276 seconds) 23:42:25 --- quit: malyn (Quit: Disconnecting from stoned server.) 23:42:43 --- join: malyn (~malyn@unaffiliated/malyn) joined #forth 23:51:08 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 23:59:59 --- log: ended forth/13.06.06