00:00:00 --- log: started forth/13.02.10 00:11:43 --- quit: sirdancealot1 (Ping timeout: 246 seconds) 00:18:00 --- join: yours_truly (~yours@c-208-90-102-250.netflash.net) joined #forth 00:24:48 --- join: sirdancealot1 (~sirdancea@98.82.broadband5.iol.cz) joined #forth 00:34:43 --- join: rbarraud__ (~rbarraud@125-239-32-133.jetstream.xtra.co.nz) joined #forth 00:42:45 --- quit: tangentstorm (Ping timeout: 276 seconds) 00:50:40 --- quit: sirdancealot1 (Ping timeout: 255 seconds) 00:52:39 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 01:01:46 --- quit: yours_truly (Quit: Leaving) 01:11:10 --- part: DocPlatypus left #forth 01:34:31 --- quit: rbarraud__ (Ping timeout: 252 seconds) 01:54:40 --- join: sirdancealot1 (~sirdancea@98.82.broadband5.iol.cz) joined #forth 01:59:09 --- quit: sirdancealot1 (Ping timeout: 246 seconds) 02:11:47 --- join: sirdancealot1 (~sirdancea@cst-prg-1-252.cust.vodafone.cz) joined #forth 02:47:07 --- quit: sirdancealot1 (Ping timeout: 252 seconds) 03:02:23 --- join: sirdancealot1 (~sirdancea@98.82.broadband5.iol.cz) joined #forth 03:10:36 --- join: nighty^ (~nighty@90.84.144.32) joined #forth 03:16:53 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 04:06:46 --- join: JDat (JDat@89.248.91.5) joined #forth 04:44:28 --- join: fantazo (~fantazo@213.129.230.10) joined #forth 05:06:29 --- quit: Bahman (Remote host closed the connection) 05:26:27 --- join: nighty (~nighty@90.84.144.32) joined #forth 06:14:14 Tangentstorm: 6746 is part of a docstring in my image 06:28:30 --- join: tgunr (~davec@cust-66-249-166-11.static.o1.com) joined #forth 06:55:20 --- quit: nighty (Ping timeout: 256 seconds) 07:14:13 --- join: nighty (~nighty@90.84.144.32) joined #forth 07:19:50 --- join: RodgerTheGreat (~rodger@71-13-216-83.dhcp.mrqt.mi.charter.com) joined #forth 07:36:58 --- quit: Nisstyre-laptop (Read error: Connection reset by peer) 07:41:12 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 07:48:03 in gforth there is a word "latestxt" which obtains the XT for the most recently defined word 07:48:30 you can even use it in the current definition as a way to obtain a recursive XT 07:49:03 is anyone aware of another name this might be called as? I'm fiddling with JS-Forth and I'm not finding an equivalent 07:49:27 This is non-standard thing. 07:49:48 You can try to get something from "last" or "latest", if you have any of them. 07:50:10 hm. No dice. 07:50:25 But you may not have it recursively. 07:50:35 Because the token may not exist yet. 07:50:37 seems that "recurse" is the only word which allows this sort of self-reference 07:51:17 Basically, token is created reliably only after ";". 07:51:53 In fact, this aproach has benefits. 07:51:59 I guess I'll have to use a vector 07:52:07 E.g. it has saner semantics w.r.t. error handling. 07:52:19 that makes sense 07:53:00 it removes some assumptions about how the dictionary itself is structured 07:53:20 More than that. 07:53:55 You can achieve better decoupling between dictionary and compiler. 07:54:43 what I'm tinkering with is based on an idea someone here mentioned a while ago regarding counted loops 07:54:55 ? 07:55:20 the idea was having a word like "times" which would consume a value from the stack and then repeat the remainder of the current word that number of times 07:55:30 Pf! 07:55:40 : example 5 times ." *" ; -> ***** 07:55:49 ( TIMES ... REPEAT loop 20 MAR 2004 ) 07:55:50 : TIMES 07:55:50 POSTPONE >R POSTPONE BEGIN POSTPONE R> POSTPONE ?DUP 07:55:50 POSTPONE WHILE POSTPONE 1- POSTPONE >R ; IMMEDIATE 07:56:57 my approach was quite different 07:57:16 : rept postpone times parse-name evaluate postpone repeat ; immediate 07:57:28 Even though "evaluate" is evil. 07:57:47 Especially here. 07:58:34 I think that it should be "postpone postpone" rather. 07:59:35 my idea was to use the value on the rstack as a pointer to "rest of word" and reshuffle the rstack so it will return to rest-of-word and then back into my loop control word 08:00:15 for example, if tick worked recursively: http://hastebin.com/raw/debekahanu.fs 08:00:21 Something like : later r> r> swap >r >r ; 08:00:28 yeah, same idea as later 08:00:35 Which is bad because it doesn't compose. 08:00:37 but more complicated 08:00:50 well, neither do if...then or exit 08:02:28 I think the biggest problem with this sort of rstack abuse is that the words that do it are extremely hard to factor 08:02:29 The code is horrible and wrong. 08:02:48 "r@ 1 <" compares return pointer rather than counter. 08:03:14 Or better, it depends heavily on what you compiler guarantees. 08:03:56 all the dialects I have used implement r@ as "Copy top of return stack onto parameter stack." 08:04:48 In almost all dialects I have seen right at start of the word "r@" is return point. 08:05:12 And if you pass parameter on return stack you have to get the next value. 08:05:51 note the one-word difference between "times" and "do-times" in my example 08:06:51 I don't need the second definition. 08:07:17 I just see that in the first one you compare return point ("return address") against 1. 08:07:49 This may be trivially false in some implementations. 08:08:18 if you willfully misunderstand a common word I don't expect you to be able to make any sense of this 08:08:23 E.g. you use real memory addresses and your OS doesn't map higher half of address space. :) 08:08:47 I don't misunderstand it. :) 08:08:53 I wrote enough of such code to understand implications. 08:09:07 Have you tested it? In which implementations? 08:09:58 I can't test this as given because tick is generally not recursive. A slightly different version of this works in my dialect, and I'm trying to adapt it. 08:11:58 I don't see how "recursiveness" of tick plays a role here. 08:12:41 Even if you assume that tick does have execution token, the code doesn't become correct. 08:13:02 the loop control word must insert its own xt onto the rstack on each iteration 08:13:53 : w recursive ... ['] w ... ; 08:14:15 as in gforth. 08:14:36 But that doesn't make your code correct still. 08:15:10 The reason is that without sort of TCO, this fragment: 08:15:12 : do-times ( -- ) 08:15:12 r@ 1 < if 08:15:14 is not correct. 08:15:34 TCO, TCE, whatever. 08:16:39 do-times is never called directly 08:16:51 it's only executed by returning into it 08:16:52 Even if indirectly. 08:17:21 that's why its xt will not be on the stack when that fragment executes 08:17:30 Ah. 08:18:05 this code does not depend on TCO 08:18:37 It depends on execution token being real address. 08:18:47 FSVO "real". 08:18:56 that's correct, and something I'll need to adjust for if I want to be portable 08:19:21 Then it is wrong since it uses ' instead of [']. 08:19:27 I could do something like ": continue r@ ;" to obtain a real address in some implementations 08:20:10 And definitle needs "recursive" for do-times. 08:20:31 so now you understand my original question 08:21:06 I'd say that it doesn't worth all the effort. 08:21:29 Last time I used such tricks I've come to such conclusion 08:21:32 probably not, but it's an experiment 08:21:49 that you almost for sure don't want to play with return points, 08:22:05 since the code you get in the end most likely does not compose. 08:29:28 what exactly is the topic? 08:30:07 fantazo: I was experimenting with ritual torture of the rstack to obtain new control-flow words 08:30:32 dubious utility and portability, but interesting results 08:32:39 --- quit: nighty (Quit: leaving) 08:32:48 fantazo: 'sup? 08:41:39 --- quit: kbmaniac__ (Ping timeout: 248 seconds) 08:45:46 hmm? sup? 08:46:03 a common contraction of the phrase "what's up?" 08:46:14 as in, what are you currently engaged in 08:46:41 ah ok. I normally don't hear that different wording of it that often. 08:46:59 where are you from? 08:47:30 well, I'm not much doing at the moment, sitting at hackerspace and and basically just surfing the web and "wasting time" on a sunday. 08:48:01 I'm from Vienna / Austria. 08:48:42 gotcha. That explains differences in slang. I'm in the midwest US. 08:50:09 * ASau wonders what "mi" means. 08:50:14 Minnesota? 08:50:26 michigan 08:50:55 Ah. 08:51:09 My friend works there/ 08:51:15 Or worked recently. 08:51:30 It is unlikely that you met anyway. :) 08:52:36 population statistics would agree with you 08:53:19 That's not about population statistics. 08:53:23 It's about circles. 08:54:01 It is unlikely that you're chemist, biologist, or medical researcher. 09:20:29 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 10:05:08 --- join: tt (~ttuttle@freenode/staff/ttuttle) joined #forth 10:13:10 --- quit: fantazo (Ping timeout: 255 seconds) 11:24:21 --- quit: impomatic (Read error: Connection reset by peer) 12:03:32 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 12:26:25 --- quit: kumul (Ping timeout: 256 seconds) 13:02:24 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 13:27:11 --- join: I440r (~zhiming@197.sub-70-195-64.myvzw.com) joined #forth 13:27:11 --- mode: ChanServ set +o I440r 13:28:04 I440r: in case you didn't see, from a few days ago : 13:28:04 13:03:57 < humptydumptyII> hello! 13:28:04 13:25:26 < humptydumptyII> a little thing about isforth 13:28:05 13:39:03 < humptydumptyII> for isforth v1.24b: on src/ext/init.f:32 after '' should be 'dup' 13:28:07 13:39:35 < humptydumptyII> if not isforth quit with errno 9 EBADF 13:28:10 13:44:00 < humptydumptyII> All in all, isforth is a nice forth and I'll have fun with :) 13:28:40 ! 13:28:41 i DIDNT see that lol 13:28:44 * I440r looks at bug 13:30:33 yup, he is right 13:30:57 I440r: i tried it out the other day. pretty cool :) 13:31:06 tried isforth? 13:31:10 yessir 13:31:36 cool. ive been working on a rewrite to the debugger which when done will help beginners SEE how forth executes. 13:31:45 it will also be pretty cool at debugging lol 13:31:51 but thats not the real reason for the debugger 13:31:56 i couldn't figure out how to use the menus in the window example 13:31:59 might be a few months before the rewrite is done 13:32:03 oooh! 13:32:13 <- big fand of TUI 13:32:16 er fan 13:32:29 it might have been my terminal though 13:32:38 what terminal 13:32:55 konsole or tmux ( screen-256color ) 13:33:08 i just kept changing $TERM until isforth recognized it 13:33:18 i think maybe in doing so i disabled the arrow keys 13:33:52 i didn't try to do anything too serious. was mostly just looking around 13:37:15 --- quit: I440r (Ping timeout: 256 seconds) 13:38:01 --- join: kbmaniac_ (~dave@host86-155-215-226.range86-155.btcentralplus.com) joined #forth 13:40:27 --- join: I440r (~zhiming@197.sub-70-195-64.myvzw.com) joined #forth 13:40:27 --- mode: ChanServ set +o I440r 13:40:44 stupid android tether barfed 13:44:32 --- quit: Nisstyre-laptop (Read error: Connection reset by peer) 13:46:16 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 13:47:56 I440r: yeah i mean i didn't suspect you had seen it, because you weren't online at the time 13:48:02 * kulp applies to be I440r's personal secretary 13:48:41 :) 13:49:03 as my secretary your first job is to totally rewrite all the documentation for isforth. i expect it on my desk by tomorrow morning! 13:49:06 chop chop! 13:49:24 * kulp studiously runs dd if=/dev/zero 13:50:12 urandom would probably give better results 13:50:55 --- quit: ncv (Remote host closed the connection) 13:51:16 The Forth Way 13:51:17 Lets not publish any books, lets keep everything so simple we dont need any books! 13:51:21 from your own website ;) 13:54:00 exactly :) 13:55:27 --- quit: kulp (Quit: Ping timeout (-2147483648 seconds)) 13:56:28 --- join: kulp (~kulp@unaffiliated/kulp) joined #forth 14:06:05 --- join: rbarraud__ (~rbarraud@125-239-32-133.jetstream.xtra.co.nz) joined #forth 14:07:16 hmmmm PIZZA time! 14:07:19 brb 14:21:55 --- quit: dessos (Quit: leaving) 14:24:56 --- join: dessos (~derk@c-174-60-176-249.hsd1.pa.comcast.net) joined #forth 14:55:26 --- quit: JDat () 15:05:05 --- quit: kumul (Ping timeout: 256 seconds) 15:15:57 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 15:31:52 --- join: spoofer (~cruella@72.10.28.164) joined #forth 15:37:04 --- quit: rbarraud__ (Ping timeout: 255 seconds) 16:05:08 --- join: IAmHere (~IAmHere@c-75-70-11-91.hsd1.co.comcast.net) joined #forth 16:12:59 --- part: IAmHere left #forth 16:26:49 --- quit: kumul (Ping timeout: 246 seconds) 16:48:10 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 17:05:37 --- join: kumool (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 17:08:03 --- quit: kumul (Ping timeout: 256 seconds) 17:08:23 --- join: DocPlatypus (~skquinn@98.195.26.213) joined #forth 17:43:06 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 17:45:12 --- quit: kumool (Ping timeout: 246 seconds) 17:58:52 --- quit: DocPlatypus (Quit: Leaving) 18:07:40 --- join: kumool (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 18:10:58 --- quit: kumul (Ping timeout: 256 seconds) 18:26:00 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 18:26:43 --- join: rbarraud__ (~rbarraud@125-239-32-133.jetstream.xtra.co.nz) joined #forth 18:28:31 --- quit: kumool (Ping timeout: 256 seconds) 18:50:58 --- join: kumool (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 18:54:01 --- quit: kumul (Ping timeout: 256 seconds) 19:04:49 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 19:07:38 --- quit: kumool (Ping timeout: 256 seconds) 19:13:38 --- quit: jin_xi (Ping timeout: 248 seconds) 19:20:45 --- quit: tgunr (Quit: Nity nite) 19:24:26 --- quit: RodgerTheGreat (Ping timeout: 264 seconds) 19:25:17 --- join: jdavidboyd (~user@72.185.97.240) joined #forth 19:30:07 --- join: kumool (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 19:32:18 --- quit: kumul (Ping timeout: 246 seconds) 19:39:30 is gforth being actively develope? I've got version 0.7.0, is that the latest version available? 19:43:28 --- join: Onionnion (~ryan@adsl-68-254-167-191.dsl.milwwi.ameritech.net) joined #forth 19:56:30 forth is dead, long live forth 20:00:46 --- quit: Onionnion (Quit: Leaving) 20:32:00 forth is in the eye of the beholder? 20:37:21 --- quit: spoofer (Remote host closed the connection) 20:48:04 --- join: bjorkintosh (~bjork@ip68-13-229-200.ok.ok.cox.net) joined #forth 21:17:14 --- quit: segher (Ping timeout: 264 seconds) 21:27:16 --- join: Indecipherable (~Indeciphe@41.13.8.145) joined #forth 21:30:05 --- quit: Indecipherable (Remote host closed the connection) 21:40:59 --- quit: kumool (Quit: Leaving) 21:53:47 --- quit: jdavidboyd (Remote host closed the connection) 21:59:23 --- join: segher (~segher@5ED3C8DF.cm-7-4d.dynamic.ziggo.nl) joined #forth 22:30:48 --- quit: rbarraud__ (Excess Flood) 22:31:12 --- join: rbarraud__ (~rbarraud@125-239-32-133.jetstream.xtra.co.nz) joined #forth 22:39:19 --- join: Bahman (~Bahman@86.98.18.206) joined #forth 23:08:03 --- quit: I440r (Remote host closed the connection) 23:56:18 --- quit: ASau (Ping timeout: 248 seconds) 23:59:59 --- log: ended forth/13.02.10