00:00:00 --- log: started forth/09.01.05 00:14:30 :D 00:29:20 --- join: ygrek (i=user@gateway/tor/x-8d2aa03b2c4db2e3) joined #forth 00:53:44 --- quit: nighty__ (Client Quit) 01:05:54 --- join: nxt (n=nxt@77.207.25.109) joined #forth 01:36:53 --- join: qFox (i=C00K13S@255pc222.sshunet.nl) joined #forth 03:12:45 --- quit: ygrek (Remote closed the connection) 03:52:52 --- join: gnomon_ (n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com) joined #forth 04:03:33 --- quit: gnomon (Read error: 110 (Connection timed out)) 04:31:34 --- join: ygrek (i=user@gateway/tor/x-7c74136823f13b5d) joined #forth 04:47:49 --- join: madmacs (n=madgarde@CPE001d7e527f89-CM00159a65a870.cpe.net.cable.rogers.com) joined #forth 05:04:49 tathi: [ebuild U ] dev-lang/gforth-0.7.0 [0.6.2-r1] 05:05:20 It's ready today Orz... 05:05:28 hoho 05:06:11 hehe 05:06:25 does it work? 05:07:35 emerge-ing 05:08:34 It sould had a patch like 0.6.2 05:09:38 Hm. 05:10:06 So, everyone's jumpng on that bandwagon... 05:10:27 Alright, I'll do it later, spent whole morning fixing Lisp. 05:10:28 6.2 ebuild had a patch 05:10:43 :D 05:11:04 [ebuild U ] app-shells/zsh-4.3.9 [4.3.6] 05:11:05 [ebuild U ] sys-fs/e2fsprogs-1.41.3-r1 [1.41.3] 05:11:05 [ebuild U ] dev-lang/gforth-0.7.0 [0.6.2-r1] 05:11:05 [ebuild U ] net-libs/gnutls-2.6.3 [2.6.2] 05:16:28 emerge passed :) 05:22:03 So did they patch it? 05:22:58 no, looks like they didn't 05:24:49 --- quit: madmacs () 05:26:10 Huh. I wonder why it works now. 05:26:44 Maybe they patched libtool. 05:26:53 Or changed dependencies so that it could work. 05:27:14 There's enough rope. 05:28:31 Yeah 05:28:33 this ebuild no patch 05:28:51 and much simple then before 05:29:56 % wgetpaste /usr/portage/dev-lang/gforth/gforth-0.7.0.ebuild 05:29:57 Your paste can be seen here: http://dpaste.com/105556/ 05:30:14 than 05:30:28 You can see them both on gentoo.org 05:38:00 libtool: compile: unable to infer tagged configuration 05:38:02 libtool: compile: specify a tag with `--tag' 05:38:19 It still hapen 05:39:20 --- join: joelr1 (n=joelr@22.Red-83-53-201.dynamicIP.rima-tde.net) joined #forth 05:39:22 but not with the ebuild 05:39:25 good day 05:39:27 that's weird 05:39:29 hi joel 05:39:37 would someone kindly critique my code? 05:39:41 tathi: hi! do i know you? 05:39:52 hi,joelr1 05:39:55 suppose i want to create a word for mhdr @ 7 cells + 8 dump 05:40:13 * joelr1 doesn't recognize anyone from comp.lang.forth by their nickname :( 05:40:38 i want a dhdr word, to be invoked like 7 8 dhdr 05:40:45 heh. Joshua Grams here. I responded to one of your c.l.f. posts, I think. 05:41:18 is this good forth code? 05:41:24 : dhdr swap mhdr @ swap cells + swap dump ; 05:41:48 tathi: cool! i'm porting swiftforth to the mac here 05:41:55 what a way to learn forth 05:41:57 hoho 05:41:59 heh 05:42:13 so... how i improve my dhdr word? 05:42:28 You can lose a swap if you move 'mhdr @' after 'swap cells' 05:42:32 basically, i have the start of the file header loaded into memory at mhdr 05:42:47 i want to skip 7 word and dump 8 05:42:53 : dhdr swap cells mhdr @ + swap dump ; 05:42:53 tathi: hmm... let me see 05:43:16 tathi: cool! that's it? 05:43:56 what do you guys do with forth? anyone makes a living with it? 05:44:26 most of us just tinker, I think. 05:44:50 i see 05:45:01 mad* has a forth-like scripting language that gets used internally at work, IIRC. 05:45:11 where does mad* work? 05:45:28 dunno 05:45:49 madgarden, that is 05:46:17 tathi: I'm going to make forth-based solution into production. 05:46:45 well, there's another then. 05:47:03 Though this isn't officially. :) 05:47:42 ASau: to do what? 05:47:59 <- wants to write mac cocoa apps in forth 05:48:07 and everything else, i suppose 05:48:17 joelr1: radio telecom. 05:48:35 ASau: can you be more precise? inquiring minds want to know! :) 05:49:34 We're working with Russian Railways in signal and telecommunication domain. 05:50:30 The system is somewhat like SCADA for locomotives. 05:50:45 ah, awesome! so it's programming microcontrollers or some such 05:51:01 Actually not. 05:51:09 Ah, I remember you mentioning that a little while back. 05:51:41 Target system is FreeBSD 6.3 i386. 05:52:03 what kind of cpu? 05:52:23 and why not C /playing devil's advocate here/ 05:52:37 VIA 05:52:58 It is C, but it is pretty hard to obey time constraints. 05:53:27 I need several timers to do that, but only 3 provided by OS. 05:53:34 setitimer(3) 05:54:03 Hence I need some pretty convoluted construction. 05:54:06 i found comp.arch.embedded + comp.lang.forth to be a treasure trove of information 05:54:08 Or I need threads. 05:54:32 In any case I need some way to translate asynchronous signal to synchronous one. 05:54:40 So that I could do non-local exit. 05:54:51 Effectively it is exception. 05:55:21 Thus I think why not redefine : ; repeat while & such, 05:55:32 and just use throw. 05:56:19 Since I have to poll timer anyway, even if it is simple flag and timer runs in another thread. 05:57:02 protothreads 05:57:19 I thought about that solution too. 05:57:34 I see 2 immediate drawbacks: 05:57:40 1) it isn't Forth :) 05:58:02 2) I still have to convert my existing prototype code to some sort of state machine. 05:58:49 I want to avoid the latter at all possible means. 05:59:14 state machines be not afraid of! 05:59:59 It needs too much redesign, which isn't fun. 06:00:21 It is mostly boring manual work. 06:00:42 Nothing for brain. 06:01:13 right 06:02:05 Since I have time, I want to try doing it in Forth. 06:27:41 --- join: madmacs (n=madgarde@CPE001d7e527f89-CM00159a65a870.cpe.net.cable.rogers.com) joined #forth 07:11:11 . 07:11:17 : ZSTR ( -- ) BL WORD COUNT 0 DO COUNT C, LOOP DROP 0 C, ; 07:11:30 do you guys understand why 'count' is used inside the loop here? 07:16:57 --- quit: gnomon_ (Read error: 60 (Operation timed out)) 07:18:08 joelr1: this is wrong. 07:18:23 Previously "count" was used to iterate over strings. 07:18:36 ASau: it's NOT wrong, this is working production code 07:18:44 : count dup 1+ swap c@ ; 07:18:54 assuming "1 chars = 1". 07:19:39 This is wrong, because it breaks if you convert to wider characters. 07:19:43 oh 07:19:47 forget about that for now 07:20:01 i don't get how count in the loop manages to grab a character 07:20:14 i understand that count puts the size of the string at the top of the stack 07:20:17 is that no so? 07:20:48 See definition above. 07:20:57 This is the ancient way to do things. 07:21:24 still don't understand. 07:22:11 "Count" is to convert from "counted" string representation to "pointer--length" representation. 07:32:11 ASau: but doesn't that leave the length at the top of the stack? what is C, grabbing in the loop? the length? 07:33:02 joelr1: that's another thing what is bad in this trick. 07:33:12 yes? 07:33:19 No, it leaves 1 octet character on top of the stack. 07:33:27 And "c," consumes that octet. 07:33:57 weird 07:34:11 That restricts "counted" string length to 255 octets. 07:34:39 Everything could be done in more elegant way. 07:35:16 right 07:35:39 First, use PARSE to do zero-copy parsing. 07:36:04 Second, use "CHARS MOVE" or "CMOVE" to move string. 07:37:24 --- quit: joelr1 () 07:37:27 I'd do it this way: 07:37:37 Hrm. 07:38:34 --- join: joelr1 (n=joelr1@22.Red-83-53-201.dynamicIP.rima-tde.net) joined #forth 07:38:47 ASau: right. i don't know why they did it this way 07:39:14 joelr1: because this was ancient traditional trick to do so. 07:39:28 right 07:39:35 joelr1: I'd do it this way: 07:39:41 : alloc here swap allot ; 07:41:04 : zstr bl parse dup 1+ alloc swap 2dup 2>r chars move 2r> chars + 0 swap c! ; 07:41:10 Approximatly. 07:41:32 joelr1: count fetches the char at addr, and returns that and the next c-addr 07:41:40 I have ready words to do "chars + 0 swap c!". 07:42:31 i get it now!!! since count wants a counted string, it returns the length but since there's no length there it just returns the char! 07:42:32 bingo 07:42:36 yeah 07:44:36 i'm actually starting to grasp something 07:45:05 i think the old guys have elegance 07:45:17 For some values of "elegance" 07:45:25 :) 07:46:08 I don't think that this is elegant. 07:46:40 Sure, it could be considered as nice hack in past days of tight RAM. 07:46:56 But... 07:47:24 All that ad-hockery is really tiresome nowadays. 07:47:33 shorter code = elegant code 07:47:38 short code 07:47:55 You should stop wasting your time on Forth and convert to K. 07:48:03 If you really think so. 07:48:16 ASau: actually... 07:48:45 http://www.wagerlabs.com/blog/kqkdb/ 07:48:48 that is me ;-) 07:49:07 they put some spit and polish on k and call it q now 07:49:40 i suspect you could use forth instead of k/q, i'll try to prove that someday 07:50:38 I think it's enough of hacking for today. 07:51:05 I've sent 2 bug reports today, all supposedly fixed. 07:51:33 Is Q open source? 07:51:40 Is it portable or linux-only? 07:52:05 no, q/k cost 250k at least, 25k/core x 8 cores minimum 07:52:23 there's a personal version, again, that you can download 07:52:27 * ASau sighs. 07:52:49 No, I shan't waste my time on it then. :) 07:52:51 a few years went by since they stopped making a personal version available but they changed their mind last year 07:52:59 I don't have that much money. 07:53:05 ASau: J is reasonably close 07:53:08 and free 07:55:45 I'll read it "tomorrow". Sorry. %] 07:55:51 --- quit: joelr1 () 08:34:34 --- join: JasonWoof (n=jason@c-66-31-44-71.hsd1.ma.comcast.net) joined #forth 08:34:35 --- mode: ChanServ set +o JasonWoof 08:34:37 --- quit: JasonWoof (Client Quit) 08:34:42 --- join: JasonWoof (n=jason@c-66-31-44-71.hsd1.ma.comcast.net) joined #forth 08:34:42 --- mode: ChanServ set +o JasonWoof 08:40:09 --- join: GeDaMo (n=gedamo@dyn-62-56-77-42.dslaccess.co.uk) joined #forth 09:06:23 --- quit: gogonkt`1 (Read error: 145 (Connection timed out)) 09:10:25 --- nick: nxt -> lasts 09:21:28 --- join: I440r (n=mark4__@ip70-162-227-36.ph.ph.cox.net) joined #forth 09:28:23 --- quit: I440r ("Leaving") 09:36:36 --- join: I440r (n=mark4__@ip70-162-227-36.ph.ph.cox.net) joined #forth 09:51:10 --- join: gogonkt`` (n=info@222.131.34.235) joined #forth 10:06:57 --- join: qF0x (i=C00K13S@255pc222.sshunet.nl) joined #forth 10:13:13 --- quit: qFox (Read error: 60 (Operation timed out)) 10:25:21 --- quit: qF0x (Read error: 110 (Connection timed out)) 10:39:39 --- join: qFox (i=C00K13S@255pc222.sshunet.nl) joined #forth 11:38:53 --- join: tihonov (n=kef@kefeer2.convex.ru) joined #forth 11:40:41 --- quit: JasonWoof (Read error: 113 (No route to host)) 11:53:49 --- quit: tihonov ("Leaving") 12:25:50 --- quit: ygrek (Remote closed the connection) 12:35:34 --- quit: aguai ("leaving") 12:35:50 --- join: aguai (n=aguai@122-116-183-8.HINET-IP.hinet.net) joined #forth 12:56:46 --- join: theatrustop (n=yann@208.176.190.221) joined #forth 13:00:34 --- join: JasonWoof (n=jason@c-66-31-44-71.hsd1.ma.comcast.net) joined #forth 13:00:34 --- mode: ChanServ set +o JasonWoof 13:15:23 --- quit: GeDaMo ("Leaving.") 13:37:31 --- join: GoNoGo__ (n=GoNoGo@cro34-3-82-236-93-215.fbx.proxad.net) joined #forth 14:24:18 --- join: JasonWoo1 (n=jason@c-66-31-44-71.hsd1.ma.comcast.net) joined #forth 14:31:32 --- quit: JasonWoof (Nick collision from services.) 14:31:35 --- join: JasonWoof (n=jason@c-66-31-44-71.hsd1.ma.comcast.net) joined #forth 14:31:35 --- mode: ChanServ set +o JasonWoof 14:32:54 --- quit: JasonWoo1 ("leaving") 14:32:59 --- quit: JasonWoof (Remote closed the connection) 14:33:23 --- join: JasonWoof (n=jason@c-66-31-44-71.hsd1.ma.comcast.net) joined #forth 14:33:23 --- mode: ChanServ set +o JasonWoof 14:41:35 --- quit: GoNoGo__ ("ChatZilla 0.9.84 [Firefox 3.0.5/2008120122]") 15:32:18 --- quit: qFox ("Time for cookies!") 15:48:09 --- join: X-Scale (i=email@89.180.199.141) joined #forth 16:10:27 --- join: gnomon (n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com) joined #forth 16:20:13 --- quit: malyn ("Disconnecting from stoned server.") 16:20:37 --- join: malyn (n=malyn@unaffiliated/malyn) joined #forth 17:07:07 tathi, I also plan to use my Forthy VM for games and such. Just working on other non-Forth components at the moment, like sound synth etc. 17:07:12 brb 17:07:23 --- quit: madgarden ("Leaving") 17:40:14 --- quit: madmacs () 18:03:45 --- join: madziggurat (n=madgarde@CPE001d7e527f89-CM00159a65a870.cpe.net.cable.rogers.com) joined #forth 18:13:31 --- quit: tathi ("leaving") 19:57:21 --- quit: theatrustop ("Ex-Chat") 20:29:24 --- part: X-Scale left #forth 21:45:15 --- join: ygrek (i=user@gateway/tor/x-8d6c57278f467eaa) joined #forth 22:25:15 --- quit: ygrek (Remote closed the connection) 22:45:27 --- quit: madziggurat ("Leaving") 23:02:19 --- join: gogonkt`1 (n=info@218.13.58.99) joined #forth 23:05:49 --- join: tihonov (n=kef@kefeer2.convex.ru) joined #forth 23:44:00 --- join: snowrichard (n=richard@12.169.182.169) joined #forth 23:49:46 --- join: mon8 (i=yoda@CPE0016d35dfacc-CM000f9f7f1258.cpe.net.cable.rogers.com) joined #forth 23:53:21 --- join: ygrek (i=user@gateway/tor/x-c88d72adc1649d87) joined #forth 23:59:59 --- log: ended forth/09.01.05