00:00:00 --- log: started forth/09.04.28 02:16:35 --- join: GeDaMo (n=gedamo@212.225.108.65) joined #forth 02:51:44 --- quit: nighty__ (Client Quit) 04:19:17 --- quit: nighty^ (hubbard.freenode.net irc.freenode.net) 04:19:18 --- quit: Deformative (hubbard.freenode.net irc.freenode.net) 04:19:18 --- quit: TreyB (hubbard.freenode.net irc.freenode.net) 04:19:18 --- quit: madgarden (hubbard.freenode.net irc.freenode.net) 04:19:18 --- quit: KipIngram (hubbard.freenode.net irc.freenode.net) 04:19:19 --- quit: growler_ (hubbard.freenode.net irc.freenode.net) 04:19:19 --- quit: thelaptop|eeepc (hubbard.freenode.net irc.freenode.net) 04:19:19 --- quit: ENKI-][ (hubbard.freenode.net irc.freenode.net) 04:21:06 --- join: Deformative (n=joe@c-71-238-45-45.hsd1.mi.comcast.net) joined #forth 04:21:06 --- join: TreyB (n=trey@74.203.168.157) joined #forth 04:21:06 --- join: nighty^ (n=nighty@x122091.ppp.asahi-net.or.jp) joined #forth 04:21:06 --- join: growler_ (n=growler@62.93.79.65) joined #forth 04:21:06 --- join: thelaptop|eeepc (n=munthyem@unaffiliated/thelaptop) joined #forth 04:21:06 --- join: madgarden (n=madgarde@CPE001d7e527f89-CM00159a65a870.cpe.net.cable.rogers.com) joined #forth 04:21:06 --- join: KipIngram (n=kip@173.11.138.177) joined #forth 04:21:06 --- join: ENKI-][ (n=weechat@c-71-234-190-248.hsd1.ct.comcast.net) joined #forth 04:39:02 --- quit: GeDaMo ("Leaving.") 04:48:18 --- quit: Deformative (Read error: 110 (Connection timed out)) 05:08:23 --- quit: gogonkt ("leaving") 05:24:10 --- quit: madgarden (Remote closed the connection) 05:36:26 --- join: madgarden (n=madgarde@CPE001d7e527f89-CM00159a65a870.cpe.net.cable.rogers.com) joined #forth 05:40:09 --- join: gogonkt (n=info@58.248.188.164) joined #forth 06:09:13 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 06:16:16 --- join: gogonkt_ (n=info@58.248.188.160) joined #forth 06:17:13 --- quit: gogonkt (Read error: 60 (Operation timed out)) 06:21:56 --- nick: gogonkt_ -> gogonkt 06:28:41 --- join: gogonkt_ (n=info@58.248.188.165) joined #forth 06:37:43 --- quit: gogonkt_ ("leaving") 06:38:50 --- join: gogonkt_ (n=info@58.248.188.165) joined #forth 06:41:55 --- quit: gogonkt (Success) 06:49:44 --- quit: xjrn (Read error: 104 (Connection reset by peer)) 07:03:23 --- join: gogonkt (n=info@58.248.188.167) joined #forth 07:04:48 --- quit: gogonkt (Client Quit) 07:05:43 --- join: gogonkt (n=info@58.248.188.167) joined #forth 07:12:11 --- join: gogonkt__ (n=info@58.248.188.167) joined #forth 07:16:07 --- quit: gogonkt_ (Read error: 110 (Connection timed out)) 07:24:12 --- quit: gogonkt (Connection timed out) 08:38:05 --- join: GeDaMo (n=gedamo@212.225.108.65) joined #forth 08:51:28 --- quit: kleinjt (hubbard.freenode.net irc.freenode.net) 08:53:14 --- join: kleinjt (n=kleinjt@tarsonis.dhcp.rose-hulman.edu) joined #forth 09:09:49 --- quit: dkcl (Read error: 104 (Connection reset by peer)) 09:10:35 --- join: dkcl (n=dkcl@182.66.218.87.dynamic.jazztel.es) joined #forth 09:12:22 --- quit: dkcl (Client Quit) 09:12:33 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 09:27:01 --- join: dkcl` (n=dkcl@unaffiliated/dkcl) joined #forth 09:27:27 --- quit: dkcl (Nick collision from services.) 09:27:35 --- nick: dkcl` -> dkcl 10:16:41 --- quit: dkcl (Read error: 104 (Connection reset by peer)) 10:38:29 --- join: kar8nga (n=kar8nga@f-23.vc-graz.ac.at) joined #forth 10:50:45 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 11:16:05 --- join: kspaans_ (n=kspaans@nat/uwaterloo/x-b4332db79867f188) joined #forth 11:25:16 --- quit: kspaans_ ("leaving") 11:26:20 --- join: Deformative (n=joe@c-71-238-45-45.hsd1.mi.comcast.net) joined #forth 11:52:55 --- join: xjrn (n=jim@m410436d0.tmodns.net) joined #forth 12:24:04 --- join: Al2O3 (n=Al2O3@c-98-245-193-186.hsd1.co.comcast.net) joined #forth 13:02:03 --- join: GoNoGo (n=GoNoGo@cro34-3-82-236-93-215.fbx.proxad.net) joined #forth 13:13:22 --- join: Al2O3_ (n=Al2O3@c-98-245-193-186.hsd1.co.comcast.net) joined #forth 13:23:59 --- quit: Al2O3 (Connection timed out) 13:27:49 --- quit: dkcl ("leaving") 13:31:54 --- quit: kar8nga (Read error: 110 (Connection timed out)) 13:35:21 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 13:35:32 --- quit: dkcl (Client Quit) 13:38:08 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 13:40:03 --- quit: dkcl (Client Quit) 13:40:24 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 13:58:22 --- quit: xjrn (Read error: 104 (Connection reset by peer)) 14:06:48 --- join: xjrn (n=jim@m410436d0.tmodns.net) joined #forth 14:42:29 --- quit: xjrn (Read error: 104 (Connection reset by peer)) 14:47:07 --- quit: GoNoGo ("ChatZilla 0.9.84 [Firefox 3.0.9/2009040821]") 14:50:46 --- join: xjrn (n=jim@c-71-202-11-104.hsd1.ca.comcast.net) joined #forth 14:55:25 --- quit: qFox (Read error: 104 (Connection reset by peer)) 15:18:53 --- quit: gogonkt__ (Read error: 60 (Operation timed out)) 15:20:07 --- join: X-Scale2 (i=email@2001:470:1f08:b3d:0:0:0:2) joined #forth 15:20:17 --- join: gogonkt (n=info@58.248.188.168) joined #forth 15:20:40 --- quit: X-Scale (Read error: 104 (Connection reset by peer)) 15:21:29 --- nick: X-Scale2 -> X-Scale 15:33:37 --- quit: madgarden ("Leaving") 15:43:47 --- join: madgarden (n=madgarde@CPE001d7e527f89-CM00159a65a870.cpe.net.cable.rogers.com) joined #forth 16:15:48 --- quit: GeDaMo ("Leaving.") 16:21:13 --- quit: dkcl ("leaving") 16:21:25 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 16:21:52 --- quit: dkcl (Client Quit) 16:22:21 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 16:46:16 --- join: andrewSC (n=andrew@ipanema.parkpointrit.com) joined #forth 16:46:18 hi all 16:46:19 :) 16:46:33 --- quit: tgunr (Success) 16:48:01 --- quit: madgarden ("Leaving") 16:49:01 awww i don't think "starting forth" has a recursion section 16:49:01 :( 16:53:44 --- quit: dkcl ("leaving") 16:54:19 --- join: dkcl (n=dkcl@unaffiliated/dkcl) joined #forth 16:55:55 --- quit: kleinjt (hubbard.freenode.net irc.freenode.net) 16:55:55 --- quit: tarbo (hubbard.freenode.net irc.freenode.net) 16:55:55 --- quit: kspaans (hubbard.freenode.net irc.freenode.net) 16:56:21 --- join: kleinjt (n=kleinjt@tarsonis.dhcp.rose-hulman.edu) joined #forth 16:56:21 --- join: kspaans (i=kspaans@artificial-flavours.csclub.uwaterloo.ca) joined #forth 16:57:52 --- join: tarbo (n=me@unaffiliated/tarbo) joined #forth 16:58:18 what does this mean 16:58:32 Although recursion is often discouraged as being a computationally inefficient technique, this is not the case in Forth. In a Forth system in which the colon compiler creates native code RECURSE typically compiles to a JSR or its equivalent. 16:58:42 the JSR part 17:03:55 --- quit: maht (Connection reset by peer) 17:04:15 --- quit: Al2O3_ (Read error: 60 (Operation timed out)) 17:05:09 C and other high-level languages typically use stack frames (which have to be set up and torn down when entering/exiting subroutines). 17:05:18 --- join: maht (n=maht__@85-189-31-174.proweb.managedbroadband.co.uk) joined #forth 17:05:24 Forth doesn't, so there is less overhead for calling a subroutine. 17:05:41 mhmm 17:05:44 At least, that's the theory. I have no idea if it turns out to be significant in practice. 17:05:50 thanks for that tathi 17:06:04 i'm sure it makes a difference if you do a large dataset 17:06:13 i just want to make a binary search tree 17:06:36 h 17:06:38 ah 17:17:51 --- join: Al2O3 (n=Al2O3@c-98-245-193-186.hsd1.co.comcast.net) joined #forth 17:19:39 --- join: madgarden (n=madgarde@CPE001d7e527f89-CM00159a65a870.cpe.net.cable.rogers.com) joined #forth 17:24:09 --- quit: madgarden (Client Quit) 17:28:42 --- quit: xjrn (Read error: 110 (Connection timed out)) 17:50:56 tathi: C compilers typically do a lot of inlining to get around this though 17:56:08 the thing is that C doesn't give any guarantees about using space for recursion, and most compilers don't either (although they'll often do tail recursion without using extra space, there are no guarantees). most Forth systems _do_ guarantee this (as do languages like Haskell) 17:57:39 ye 17:57:40 --- join: madgarden (n=madgarde@CPE001d7e527f89-CM00159a65a870.cpe.net.cable.rogers.com) joined #forth 17:57:41 yes 17:59:15 Forth has stack frames, fwiw -- whatever your system drops on the nesting stack (R stack) is a stack frame 18:25:09 regarding nodes and Forth and structs.. 18:25:28 how would one go about creating a node in Forth 18:25:33 just a variable? 18:25:49 then you put that variable name inside of another variable? 18:26:02 excuse me, an array? 18:27:51 and when recursing do you need to attach the .aux? (ie: [name].aux) 18:38:47 or is a BEGIN UNTIL better than recursion in forth for a BST? 19:55:44 i'm having a fair amount of trouble working with nested arrays.. 19:55:54 what i decided to do is have one array called root 19:56:04 this root has a weight, a left and a right node 19:56:12 the left node is an array 19:56:17 which i declared above root 19:56:32 the right i've also declared like the left 19:56:48 so my root looks something like 19:57:01 create root 0 , ' lnode , ' rnode , 19:57:06 then lnode looks like 19:57:28 create lnode 5 , 0 , 0 , 19:57:40 create rnode 10 , 0 , 0 19:57:42 oops 19:57:44 create rnode 10 , 0 , 0 , 19:57:46 yes 19:58:02 however when i try to access the lnodes weight i get zero 19:58:07 my call looks like 19:58:29 hold on a sec 19:58:58 ok 19:59:05 so my call looks like 19:59:10 root cell+ @ @ 19:59:19 so that would return the lnode address 19:59:33 then the second @ would return 5 shouldn't it? 20:00:45 Did you check to see that the addresses are the same? Maybe you messed up the pointer math 20:01:18 hmmm 20:01:20 let me check 20:02:23 i think the math is wrong.. 20:02:41 i've modified my line to 20:02:49 root cell+ @ 20:02:56 oops 20:02:59 hold on 20:03:03 i think i know what's going on.. 20:04:10 -1213300920 -1213300912 20:04:16 Don't use ' lnode 20:04:20 Just use lnode 20:04:24 hmmm 20:04:27 let me try tha 20:04:30 that* 20:05:16 create root 0 , lnode , rnode , 20:05:24 congratulations good sir! you fixed the problem :) 20:05:28 :) 20:05:35 so what's wrong with the ' 20:05:35 ' lnode gives you the XT of lnode 20:05:48 Which is not the address of the data 20:05:58 ' lnode >body is the same as lnode in this case 20:06:13 Just do a dump on the different addresses and you'll see 20:06:19 mhmmm 20:06:52 Make sense? 20:06:57 sort of 20:07:00 what exactly is XT? 20:07:05 execution token 20:07:05 is that the stack pointer? 20:07:08 No. 20:07:11 It's like a handle to a word 20:07:18 ahhh 20:07:27 So you were storing the handle to lnode instead of the data in lnode 20:07:38 returning the xt would be useful if i was doing vector execution array stuff? 20:07:40 right? 20:07:58 lnode is a created word, so it is basically a variable... it returns the address of the body (data) for the word 20:08:09 i get it now 20:08:10 :) 20:08:11 Yep, XT is used with EXECUTE 20:08:14 indeed 20:08:20 great thanks a bunch madgarden 20:08:22 ' lnode EXECUTE 20:08:22 :) 20:08:25 Sure 20:08:26 :) 20:08:34 Now, back to my sound synth, heh 20:08:40 haha nice 20:48:17 --- quit: andrewSC ("Leaving") 22:47:38 --- join: qFox (i=C00K13S@132pc222.sshunet.nl) joined #forth 23:43:08 --- quit: Al2O3 (Connection timed out) 23:59:59 --- log: ended forth/09.04.28