00:00:00 --- log: started forth/02.04.15 00:22:58 --- join: Frac (itp@h24-77-209-198.ok.shawcable.net) joined #forth 01:01:59 --- join: njd (junk@njd.paradise.net.nz) joined #forth 01:02:23 --- part: njd left #forth 02:04:38 --- join: davidw (~davidw@ppp-157-16.25-151.libero.it) joined #forth 07:16:18 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 07:57:18 --- join: I440r (~mark4@1Cust98.tnt1.bloomington.in.da.uu.net) joined #forth 07:57:45 hi 07:57:47 frac = new #forther ? 08:01:34 ? 08:12:16 frac - ive never seen him/her before :) 08:12:23 so maybe we got a new #forth person ? 08:25:53 --- join: XeF4 (sdybkv@12-245-116-85.client.attbi.com) joined #forth 08:25:57 oioi 08:26:21 ! 08:38:20 I440r: aha. i dont even noticed himher... :) 08:38:31 didnt 08:42:47 :) 08:43:52 anyone seen mrreach lately ? 08:44:05 not much happens here the last days 08:44:18 aha 08:44:27 mrreach is still on the road ithink 08:44:38 oh - he is on the road! hehe 08:44:46 phew - was starting to wurree :) 08:45:08 :) 08:45:34 but probably we still should worry about him if 08:45:42 hes on the road... 08:45:59 we should help him getting up from there :) 08:46:04 :) 08:46:20 hows life anyway? 08:46:26 what r u working on? 08:46:29 not too bad 08:46:33 been working on some guns 08:46:36 actually 08:46:40 ? 08:46:45 havent been able to do any coding in about 3 days ehhe 08:46:53 well. we took an old beat up mauser 08:47:00 we took the barrel off the actipon 08:47:02 action 08:47:13 oh, c 08:47:34 we used emery paper on same, cleaned it up 08:47:46 then we used sharpening stones on some areas to remove dings 08:47:56 im learning tunes.org, so i also dont code much 08:48:12 dings? what r those? 08:48:17 then we used a dremmel tool to polish the hard to reah parts ehhe 08:48:30 we then used a buffing wheel to polish it up to mirror finnish 08:48:45 we took the new barrel, blued it and fitted it 08:49:03 the bolt on mausers sticks out straight and we want it to angle downwards 08:49:17 so we sawed off the bolt handle. today were going to a welder to weld the new one on :) 08:49:47 the newly barreled action is in its new stock waiting for the new bolt :) 08:50:14 every single piece of that gun has been torn apart, polished re-blued and put back together 08:50:19 took about a week 08:50:34 cost us about $400 08:50:52 were waiting on our federal firearms lisence so we can actually SELL this modified weapon 08:51:04 u plan 2 b an antiquarian? :) 08:51:06 once we have it you can buy this gun for about $2000 :) 08:51:41 so happy am i! 08:52:00 i can buy it for a mere $2k 08:52:37 bucks. its worth for even a fool :) 08:53:24 for $2k, it had better automatically hypnotize weapons inspectors :) 08:53:49 no - it will 08:53:52 trust me 08:54:04 and we started with a realy shitty piece 08:54:10 i dont doubt it 08:54:14 there are dings in it still that we couldnt remove 08:54:23 if we removed that much metal it would waken it too much 08:54:35 what r those dings? 08:54:43 FeO4 stains? 08:54:46 if we started with a virgin piece with NO dings we could charge $4000 :) 08:54:49 no 08:54:51 bangs 08:54:51 knocks 08:54:53 imean rust spots? 08:54:57 little dents in the steel 08:55:08 yes and some pitting too 08:55:23 the barrel we removed is very bad on the inside - very badly pitted 08:55:45 but the action is still very good 09:08:57 --- quit: davidw (Read error: 110 (Connection timed out)) 09:10:16 --- join: Fare (fare@samaris.tunes.org) joined #forth 09:13:33 --- join: Speuler_ (~l@195.30.184.52) joined #forth 09:13:43 'd day 09:13:56 Hi 09:13:57 gakuk 09:19:48 --- quit: I440r (Read error: 113 (No route to host)) 09:30:57 --- quit: Speuler_ (Read error: 104 (Connection reset by peer)) 09:31:37 --- join: Speuler (~l@195.30.184.52) joined #forth 09:31:44 hehe 09:31:58 you just experienced the effects of milk in a computer 09:32:50 --- join: joa (~james@25-118-237-24.anc-dial.gci.net) joined #forth 09:33:12 mmk 09:41:24 --- join: davidw (~davidw@ppp-36-11.25-151.libero.it) joined #forth 09:54:06 Fare: ive started learning tunes.org 09:54:43 Fare: and i saw it started many yrs b4 09:55:08 Fare: why has it slowed down? 09:55:24 Fare: what happens w it nowdays? 09:58:20 slow down would imply that it ever was fast 10:04:25 --- quit: Speuler ("using sirc version 2.211+KSIRC/1.1") 10:05:07 :-) 10:05:20 Nah, only "less slow". 10:06:28 Fare: and what r the latest advancements? 10:06:36 advancements? 10:07:29 what code has been coded nowdays? 10:07:39 about nothing 10:07:42 any paper written or extended? 10:07:54 umean roughly nothing? 10:07:54 part of my thesis 10:08:06 oh, yeah ive seen 10:08:08 well, I'm writing a pattern-matcher in CL right now 10:08:16 it was updated 10days b4 10:08:20 last time 10:08:29 the pattern matcher? 10:08:36 my thesis? 10:08:45 files in ur thesis dir 10:08:50 (cvs) 10:09:01 yup. I have long periods of not writing it :( 10:09:17 I guess I'd write it faster if I had some feedback 10:09:26 what is the due 4 it? 10:09:35 long ago 10:09:40 :)) 10:10:29 my girlfriend and an other girlfriend us r also about writing thesises 10:10:51 they have ~2 weeks left 10:11:16 i dont realy know lisp, tho ive learnt some prolog earier 10:11:22 --- join: davidw_ (~davidw@ppp-74-5.25-151.libero.it) joined #forth 10:11:29 and ran through an emacs lisp tutor 10:11:50 if u think i could help testing it... 10:12:26 what patters r u talkin about anyway? 10:12:44 u r talkin about language recognition? 10:13:00 It's Saint Paternus today 10:13:07 the right day to release a pattern matcher 10:13:08 a bnf like stuff? 10:13:23 :)) 10:13:23 nah. I match LISP objects with LISP patterns. 10:13:30 ahha 10:13:48 wish i knew what lisp patterns r... 10:13:53 something I can't do in FORTH, because it's too low-level to have objects 10:14:04 no, there are no patterns in LISP 10:14:04 aha 10:14:13 but with macros, I can define them :) :) :) 10:14:18 keep on explainin 10:14:35 LISP is the only high-level language that is self-extensible like FORTH. 10:14:44 (well, actually, maybe so is POP-11) 10:15:05 hehe 10:15:06 well, for instance, you can build a list with (list 1 2 3 4 10:15:08 ) 10:15:19 lisp is cool 10:15:21 ok, thats right. i knew that :) 10:15:43 i refered 2 the list creation :) 10:15:51 no lisp coolness 10:15:53 not 10:15:54 let's say you want to match it (or another similar list) to put the first element in A, the second in B, etc. 10:16:04 you could match it with the pattern (LIST A B C D) 10:16:10 someone should write a scheme in forth 10:16:34 davidw_: dont worry some will :) 10:16:38 some time 10:16:44 if you did (LIST A B C D) afterwards, you'd get back a list that is equal to the original one. 10:16:56 you can have more elaborate patterns, like 10:16:59 ugh... cant understand 10:17:12 but show me more examples 10:17:25 (LIST (LIST A B) (CONS C '1) 'NIL T) 10:18:09 this one would match the list '((0 1) (2 . 1) nil 123) 10:18:20 with A=0, B=1, C=2 10:18:26 aha 10:18:29 T matches anything (while 'T matches T) 10:18:37 'NIL matches NIL 10:19:44 ' is a short for (QUOTE ), which as a form produces the literal constant , and as a pattern matches said constant only 10:20:12 davidw_: the more I learn common lisp, the more I think Scheme is mostly wrong-headed 10:21:06 it can never be more than a teacher's toy, or it ceases to be scheme. 10:21:36 brb 10:24:31 david: see POPLOG 10:27:58 why do you say that? 10:28:03 common lisp seems bloated to me 10:28:09 a small core is the right approach 10:28:12 whatever the language 10:28:22 common lisp is not that bloated, actually. 10:28:48 I agree there could be some simplification and modularization here and there 10:29:09 but hey, a full LISP, including compiler, fits 1MB. 10:29:17 Try fitting a C compiler + libc in that 10:29:55 certainly, you can have a minimal forth in 12K 10:30:03 what lisp is that?! 10:30:07 but then, you can have a minimal LISP in about the same 10:30:11 davidw: clisp 10:30:40 --- quit: davidw (Read error: 110 (Connection timed out)) 10:30:51 --- nick: davidw_ -> davidw 10:31:40 granted, my latest clisp is more like 2mb 10:34:50 which part of common lisp would you REMOVE, as oppose to modularize? 10:34:57 well, I'm going drinking 10:35:02 I'll have one for clisp 10:35:20 * onetom travels into an other city. bb in half an hour 10:36:04 (and even, so as to modularize it, you'd have to ADD a module system) 10:37:53 --- join: futhin (~thin@24.64.174.2) joined #forth 10:38:36 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 10:38:38 wow.. 10:38:41 lots of new people ? 10:38:47 howdy joa and frac 10:39:02 hi :) 10:39:13 how did you find out about this chan? :) 10:39:43 joa: you're here, too?! 10:39:59 ya heh 10:40:03 xef4's whois 10:40:11 well, that tells us how joa found the channel 10:40:40 Hi MrReach :-) 10:41:14 hihi! 10:42:07 hi mrreach 10:42:17 so u r back from the trip 10:42:22 yup 10:42:30 its was hella fun 10:42:37 *WAY* fun 10:42:38 alright then 10:42:54 how did ur dogs like it? :) 10:43:09 they stayed locked in the house @:^< 10:43:34 of course they did, they can't appreciate the finer things in life ;) 10:43:55 not to mentions, dogs in the car are a real nuisance 10:44:46 naw, not if you roll down the window and let them dribble salivia all over the side 10:51:57 if I role down the window, they're likely to jump out on the freeway 10:52:32 hm, doesn't sound like your average dog 10:53:07 watch a few dog obediance training t.v shows :P 10:53:15 heh 10:53:22 I'm exagerating a bit 10:58:11 --- quit: XeF4 ("katkaisen tästä verkon.") 11:03:27 --- join: XeF4 (~xef4@dsl-XIV-238.kotikaista.weppi.fi) joined #forth 11:22:27 watching a dog obediance training show is interesting 11:22:47 because you can apply just about everything from the show onto humans! :P 11:23:00 i.e 11:23:10 you can learn human psychology just from watching the dogs get trained 11:23:41 cause in the end, we're all a bunch of animals 11:23:57 some of you might disagree philosophically though.. 11:26:11 i don't think there is any meaning to life 11:26:19 aside from what you give yourself internally.. 11:28:02 heh 11:38:13 --- quit: XeF4 ("..") 11:41:37 --- join: XeF4 (~xef4@dsl-XIV-238.kotikaista.weppi.fi) joined #forth 11:43:13 what's up xef4? 11:43:47 nothing terribly interesting at the moment. 12:36:51 horvaths: ti mivel szoptok? 12:36:58 whoops :) 12:45:53 futhin: i agree w u on the meaning of life :) 12:54:09 * davidw doesn't like dogs 12:54:19 well, some are ok, but I'm more of a cat person 12:54:38 we have two small dogs and two huge cats 12:54:45 Fare: common lisp has no module system? 13:30:19 --- join: Speuler (~l@195.30.184.51) joined #forth 13:30:24 'day 13:30:44 Good evening. 13:31:08 * rob_ert wonders if MathML is a good thing to use. 14:33:45 --- join: Soap` (flop@210-55-149-222.dialup.xtra.co.nz) joined #forth 14:43:27 --- quit: rob_ert ("(:") 15:11:23 --- part: Speuler left #forth 15:21:00 --- quit: futhin () 15:26:00 --- join: tathi (~tathi@ip68-9-58-81.ri.ri.cox.net) joined #forth 15:30:23 --- nick: MrReach -> MrGone 15:59:23 --- quit: XeF4 ("pois") 16:05:37 --- join: I440r (~mark4@1Cust139.tnt2.bloomington.in.da.uu.net) joined #forth 16:06:35 damn - not many ppl in here these days :P 16:06:35 joa! 16:06:45 another new #forth person ??? :) 16:11:09 --- quit: davidw (Read error: 113 (No route to host)) 16:13:38 --- quit: I440r ("brb") 16:18:51 --- quit: tathi ("Client Exiting") 16:32:27 Hey all. 17:04:46 --- quit: Fare ("ircII EPIC4-1.1.2 -- Are we there yet?") 17:05:09 --- join: Fare (fare@samaris.tunes.org) joined #forth 17:16:40 --- quit: Fare ("goto 3053") 17:38:38 --- join: I440r (~mark4@1Cust139.tnt2.bloomington.in.da.uu.net) joined #forth 17:41:11 Hey I440r 17:41:18 Just got IsForth compiled. 17:41:30 hi frac :) 17:41:37 It's pretty neat, I must say. 17:41:42 cool 17:41:53 :) 17:42:04 I've been trying to implement my own forth for a bit, actually. I'm wondering if I could ask you some questions. 17:42:07 i worked hard on it but its not perfect yet :) 17:42:11 YET! 17:42:11 :) 17:42:13 heh 17:42:17 sure 17:42:19 ask away 17:42:20 Heh. 17:42:22 Cool. 17:42:26 * MrGone unlurks 17:42:28 questions on forth are always welcome 17:42:31 --- nick: MrGone -> MrReach 17:42:38 unless i dont know the answer :) 17:42:45 :) 17:42:55 and if i dont know the anser mrreach does :) 17:43:06 Ok. When you do parsing like with ." ewjhwe", where does it put the string delimited by the ", and when does it free it back to the OS? 17:43:08 :) 17:43:20 it doesnt need to free it 17:43:22 of course, I know *EVERYTHING* 17:43:29 Why not? 17:43:33 forth allocates a chunk of memory for itself 17:44:01 there is a variable pointing to the end of where forth has actually used 17:44:03 called here 17:44:10 everything above here is free 17:44:13 erm ... it *CAN* be freed, if FORGET is implemented 17:44:27 when you parse a string it gets placed at here 17:44:32 isforth puts it at hhere 17:44:51 hhere is like here but instead of for code and colon defs hhere is for headers only 17:45:14 the word parse is what you need to study 17:45:14 Ok... I'm already getting lost. :) 17:45:18 parse and parseword 17:45:22 its easy 17:45:24 do this 17:45:25 Any good FAQs on writing forth systems? 17:45:30 Ok. 17:45:30 I think that frac is thinking that ." strings get put into allocated memory 17:45:37 Yeah. 17:45:42 ohhh 17:45:47 which is a misnomer ... they are compiled into the dictionary 17:45:53 correct 17:45:57 Really? 17:46:05 do you know what an immediate word is ? 17:46:05 Shit. I've been doing it wrong then. 17:46:07 so they become a paermanent part of the forth 17:46:13 Non-compiled word? 17:46:15 no 17:46:20 Uh oh. :) 17:46:20 forth has 2 states 17:46:24 interpret and compile 17:46:28 Check. 17:46:29 if you type 17:46:30 foo 17:46:39 and you are in interpret it will execute the word foo 17:46:49 I440r: does your ." work in interpret mode? 17:46:49 Right. Got that. 17:46:54 if you are in compile mode it will store the address of foo at here and advance 17:47:09 no it doesnt - it should have a compile only flag on it heh 17:47:19 so 17:47:27 ok, any plans to make it work in interpret mode? 17:47:44 not unless you can give me a valid reson to do so 17:47:58 why would you ever NEED to 17:48:03 ." blah blah" 17:48:06 in interpret mode 17:48:11 were getting sidetracked heh 17:48:19 Heh. No worries. :) 17:48:27 ." is a compile mode only word 17:48:30 I'm still learning stuff. :) 17:48:31 and it is immediate 17:48:47 an immediate word EXECXUTES even when you are in compile mode 17:49:01 : hello ." hello world" ; 17:49:04 ok, to use ." ... 17:49:19 you are in compile mode when forth sees the ." 17:49:21 it must be a part of a colon definition ... and hence becomes part of the kernel 17:49:27 dot quote executes 17:49:37 it compiles (.") to here 17:49:52 it then parses the input to the next " char 17:49:56 the only way to deallocate the memory is to FORGET the word that it is in ... if FORGET or MARKER are implemented yet 17:49:57 and compiles that to here 17:50:10 no neither are 17:50:18 not much point till i get vocabs 17:50:31 What is vocab? 17:50:37 actually, I440r has been struggling with ." a little 17:50:49 mrreach no i havent :P 17:51:02 not that i remember :) 17:51:04 er 17:51:12 thers nothing complex about it realy :) 17:51:13 well, we once had an indepth discussion about having to jump over the characters burried in a word 17:51:19 nooooo 17:51:25 not with dot qout4e 17:51:27 thats fine 17:51:33 the problem is with s" 17:51:39 a vocabulary is a group of words 17:51:47 oh! that's right! 17:51:50 Oh. Like another dictionary? 17:51:52 i consider s" a bad word 17:51:56 Frac: exactly 17:52:00 yes frac!!! 17:52:01 Oh. I see. 17:52:04 ok 17:52:08 let me continue 17:52:16 you type 17:52:16 most forths allow several vocabs in a "search order" 17:52:17 hello 17:52:28 Ok. 17:52:39 forth executes the word hello. and that calls the (.") that ." compiled in 17:53:09 paren dot quote knows that the string to be displayed is INLINE with the code 17:53:15 dd (.") 17:53:19 db length 17:53:25 db 'some string' 17:53:27 hi 17:53:38 forth strings are usually a count followed by the string 17:53:54 greets, onetom 17:54:00 neway mrreach how was your trip :) 17:54:03 and welcomem back :) 17:54:07 Ok. See, I didn't realize that the dictionary contained strings. 17:54:16 Frac: i could bravely advice u a minimal 4th implementation base on 9 primitive words and implemented purely in 4th 17:54:47 Heh. Ok... 17:54:53 haha! meet the extreme minimalist! 17:54:58 actualy, i would suggest learning how to use all the words in the dictionary before learning how they work 17:55:10 the "how they work" will become more obvious the more you learn :) 17:55:13 Heh. That'd probably be a good plan. 17:55:30 Frac: its just a 9657 bytes long 4th src 17:55:35 i was programming in forth for YEARS without knowing how to MAKE a forth hehe 17:55:43 im still learning how to MAKE a forth :) 17:55:49 Heh. 17:55:59 onetom : Cool. 17:56:13 heh, just figured out how to make money on IRC ... I _think_ 17:56:19 Ok, one more question: What is the difference between the control stack and the return stack? 17:56:19 I440r: ithink Frac know many words already... 17:56:31 but it's complete off topic here 17:56:32 im sure he does :) 17:56:41 mrreach #forth isnt moderated :) 17:56:45 Yeah, I can make a hello world. :) 17:56:50 i was talking gun smithing earlier today ehh 17:57:01 my fater and i just sporterized an old mauser 17:57:30 would you pay $10/mo on EFNet to have a bot secure your channel with a boatload of features? 17:57:36 u must love guns. this isnt the 1st time u r talkin about them :) 17:57:49 :) 17:57:55 mrreach some people might 17:58:22 actually i wouldnt mind a bot in here with a "seen" option 17:58:23 stuff like logging to web-page, dice-rolling, fortunecookie, trivia (customizable to the channel) ... etc? 17:58:38 yes, would it be worth $10/mo? 17:58:42 that would be so easy to do with isforth :) 17:58:42 all: what about an experiment w Frac? 17:58:45 it might be to some 17:58:58 Eh? 17:59:01 do you use EFNet much? 17:59:13 all: lets give him the minimal.f83 and bet on him :) 17:59:22 Ha! 17:59:34 wheather will itt help him a lot or not :) 17:59:40 onetom: yeah, let's see how many of Frac's fingers we can cut off before he passes out ... anyone know where he lives? 17:59:46 Frac: what do u think about it? 17:59:54 lol 17:59:59 Heh. Dunno. 18:00:24 Frac: hold on. i ll give u an url 18:00:29 Ok. 18:00:52 btw mrrach - isforth has a new home (check topic!!) 18:01:05 http://hermantom.homeip.net/~guest/minimal.f83 18:01:07 cool! 18:01:16 Ok. 18:01:55 BTW : If anyone wants to see my lame attempt at a forth compiler: www.hcsw.org/downloads/forth-alpha.tgz 18:02:12 Frac: i recommend reading it w some syntax highlight capable editor 18:03:06 well, time for me to shower ... be well all of you 18:03:10 --- nick: MrReach -> MrGone 18:03:12 Later. 18:03:28 onetom : 404 not found. 18:03:30 :( 18:04:47 sec 18:05:04 iwas browsing ur 4th :) 18:05:25 :) 18:05:39 http://hermantom.homeip.net/~guest/forth/minimal.f83 18:05:41 sorry 18:05:52 It's written in C, which as I gather from the IsForth README, is a big no-no. :) 18:06:08 Cool. Got it. 18:06:18 Soap`: 18:06:23 shit? :) 18:06:24 so: 18:07:09 hehe 18:07:12 for me it is :) 18:07:19 uve tried to apply an evil solution for primitive word definition 18:07:45 but as far as i can c uve got whats wrong w it :) 18:08:16 why cant swap() pop()/pop() even work... 18:08:46 1 cant rely on expression evaluation order if 18:09:10 that expression contains functions w side effects 18:09:13 The C standard doesn't define which expressions in a function call will be executed first, so you have to use an intermediate. 18:09:27 thats it :) 18:09:37 Which function are you talking about? 18:09:43 like pop 18:09:57 it not just returns a value 18:10:25 it has a side effect: it modifies the stack 18:10:28 Hm. One sec. 18:10:55 Oh, right. Yeah, a bit of a hack. Push, pop, rot, and pick modify the stack directly. 18:10:57 but uve worked around the problem well 18:11:21 so we could skip this topic :) 18:11:38 :) 18:11:53 ur textual style is pretty readable 18:11:55 Really, I'm not very satisfied with it. Especially the parsing. 18:11:59 Thank you. :) 18:12:24 well, parsing is already usually solved in 4th 18:12:39 not in the implementation language :-/ 18:12:59 So I gather... 18:13:03 (we could also name it: host language) 18:13:25 but its not a problem ithink, coz the parser is very simple 18:13:31 Yeah. 18:13:50 it only have 2 extract space separated words 18:13:52 Of course, I haven't got the return stack workign. 18:14:10 So no loops. :( 18:14:18 that is: look4 a non-space, then look4 space 18:14:41 Ok. 18:14:53 no problem, lets consider now the host lang parser case: 18:15:04 void parse() { 18:15:09 Yup. 18:15:19 Er. 18:15:35 Mine is: int parse(char *toparse) { 18:15:45 push(look4nonspace()); 18:15:56 parse is called on a line per line basis by ui 18:16:00 push(look4space()-1); 18:16:16 Oh... 18:16:23 It pushes it onto the data stack? 18:16:29 reload_buff(); 18:16:40 where else? ;)) 18:16:46 to where else? ;)) 18:16:50 Heh. I suppose. 18:16:58 I'm still a tad confused on the return stack's function. 18:17:05 It's purpose, that is. 18:17:10 so, dont b confused :) 18:17:16 ask! 18:17:21 whats wrong w it? 18:17:32 frac 18:17:36 Heh. Ok. When is it used? 18:17:38 Yo. 18:17:38 lets look at how c works 18:17:41 for a second 18:17:46 Frac: aaall the time :) 18:17:46 push parameter 18:17:47 push parameter 18:17:47 push parameter 18:17:50 call function 18:17:52 .... 18:17:57 function: 18:18:02 open local stack frame 18:18:07 do function 18:18:12 clean stack frame 18:18:14 return 18:18:16 Right. 18:18:16 ... 18:18:20 clean parameters off stack 18:18:40 So every time a word is called, it considers it a function call? 18:18:42 c uses ONE stack for return addresses for function calls and for parameters to the functions 18:18:47 yes 18:18:49 Yeah. 18:18:58 Whereas forth uses 2. 18:19:00 Makes sense. 18:19:08 return addresses get put on the return stack. 18:19:39 you can use the return stack for other thigns too but if you push anything onto it you HAVE to pop them off again before you exit 18:19:48 i.e. before the end of the word 18:20:21 Ok. That's where I'm confused. Wouldn't the >R word push another address onto the stack too? 18:20:32 hehe 18:20:43 >r is used to move something out of the way 18:20:56 you would do 18:20:56 >r foo foo foo r> blah blah 18:20:58 Hm. Sorry, my forth vocabulary isn't great. :) 18:21:16 How do you push onto return stack again? 18:21:22 Frac: it pushes the data from the parameter stack under its own retrun address 18:21:38 not a problem 18:21:38 dont appologise for beinga beginner :) 18:21:50 onetom : Ah, that makes sense... 18:21:55 I440r : :) 18:22:00 frac watch 18:22:03 Ok. 18:22:05 1 2 3 >r swap r> 18:22:14 leaves 2 1 3 on the parameter stack 18:22:34 Ok... Gotcha. 18:23:24 >r is pronounced "to r" 18:23:24 And if you hit the end of the word without r>ing, you'll get a segfault. 18:23:30 r> is "r to" 18:23:33 Oh, ok. 18:23:50 r> d> 18:23:51 ;) 18:23:53 probably :) 18:24:58 Ok. I think I've got the return stack understood. The thing is, I'm using C recursion in place of the return stack. 18:25:27 So everytime another word is called, it just calls execword() again. 18:25:34 :) 18:25:53 anything you can do WITH recursion.... you can do BETTER without 18:26:10 thats basicaly how forth works - sorta 18:26:17 Except quicksort() :) 18:26:22 but its not recursive realy 18:26:28 Ok... 18:26:33 forth has an interprative pointer (called ip) 18:26:43 a colon definition is basicaly just a list of addresses 18:26:48 Right. 18:26:56 the addresses of each word to call 18:26:56 dd x1 18:26:56 dd x2 18:26:57 dd x3 18:27:15 Gotcha. 18:27:24 ip points at x1 18:27:24 forth fetches the address of x1 and jumps to that address 18:27:44 IP is now pointing at x2 so when x1 finishes x2 is the NEXT execution token to be fetched 18:27:50 Frac: so u also know assembly.. 18:27:58 A tad. 18:28:04 learn next, nest and unnest and you will be well on your way to understanding forth:) 18:28:09 Enough to get the gist. 18:28:30 I440r : Ok, that makes sense. 18:28:38 Think I've got you there. 18:29:01 That reminds me though. What if there's a number, say 2, in a colon def. It can't very well have an address... 18:29:16 I've done a cheap hack in my implementation. 18:29:30 aha 18:29:36 GOOD question 18:29:40 forth compiels the word (literal) 18:29:40 Thanks. :) 18:29:48 dd (literal), some-number 18:30:10 (literal) executes and fetches the inline number 18:30:13 Oh, ok... 18:30:31 The number stored at the next address? 18:30:44 IP is advanced past the number 18:31:25 yes 18:31:36 its compiled into the : definition 18:31:52 Hm. I guess that makes sense... So dictionary entries can be of arbitrary length? 18:32:50 yes 18:32:50 but MOST of them are quite small 18:32:50 because in forth you factor your code better 18:32:52 its a forth tradition :P 18:33:03 Heh. Gotcha. 18:33:36 Ok, also, I was wondering what this control stack is? It's only used in compiling colondefs, right? 18:33:38 tho, its not a tradition infact.. 18:33:51 its rather a phylosophy... 18:33:56 mind it! 18:34:15 traditions r silly things usually 18:34:16 frac - control stack ? 18:34:35 Heh. Yeah, that's what got me interested in Forth in the first place. It's elegance. 18:34:47 I440r : Yeah, the ANS standard keeps talking about it. 18:34:48 they suffer from the dumb things of the past.... 18:35:12 well - i dont know ans :) 18:35:17 the make bad heritage live longer 18:35:24 what i do know - i dislike :P 18:35:25 s/the/they 18:35:52 Heh. Fair enough. 18:36:59 Hm. Ok, guys. Thanks for all your help. 18:37:10 I'm AFK for a while. 18:37:51 ok :) 18:37:51 glad to see new ppl in here 18:38:01 i agree :) 19:05:20 --- join: aaronl (aaronl@vitelus.com) joined #forth 19:05:47 --- part: aaronl left #forth 20:47:44 --- join: herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 20:47:57 herkamire: 20:48:09 :) 20:52:00 the crappy little forth I've been writing in C is working :) 20:52:24 that took about a week :) 20:52:47 hrh 20:52:50 heh even 20:53:38 not complete... but working :) I have : ; IF THEN REPEAT UNTIL 20:54:06 DO/LOOP is the only major thing i'm missing 20:55:31 do and loop arent taht much harder than if then etc 20:55:42 hmm cept ur coding it in c heh 20:55:58 my code is kinda stupid. 20:56:22 but that's kinda the point; it's a crash course in writing a forth :) 20:56:46 "if you want something done right, do it twice" 20:58:26 heh 20:58:27 exactly 20:58:28 !!! 20:59:21 I figure some time I'm going to want to do it right :) :) :) 20:59:44 i redo my code over and over till i like it 20:59:47 im a very slow coder 21:00:15 sounds good :) 21:01:05 now... if i could just get someone to PAY me to :P 21:01:28 I have a tendancy to write quick hacks (just get it working), but that's often my goal from the begining. Experiments. 21:02:04 i do that too sometimes 21:02:22 becayse the "quick hack" can act as a proof for the idea 21:02:38 yep :) 21:02:54 I just wanted to make a quick program to see if my idea would make cool graphics :) 21:03:11 does it ? heh 21:03:44 yes :) http://www.luckydogdesign.com/jason/images/fractals/koch/ 21:04:41 now I have to decide if I want to polish/redo the interface, or just keep it to myself, or document the interface in all it's excentricity. 21:05:00 neat! 21:05:08 koch looks very similar to my fave farctal 21:05:12 dragon curve :) 21:05:25 I'm not farmiliar with that one. 21:05:52 i have a hand drawn dragon curve of the 6th or 7th level 21:06:30 dragon curve is neat. thers a number of ways to draw it. from a primative of 2 lines at 90% to each other being rotated over and over 21:06:31 or 21:06:36 take the original line 21:06:43 erm lines 21:07:00 draw the same pattern over the top of the first line and then over the top of the second line 21:07:09 scaled of corse.... 21:07:27 then draw scaled versions of the same 90 degree primative over the top of each of the new lines 21:07:31 and keep going over and over 21:07:39 its a little difficult to describe :) 21:07:43 let me see if i can find one 21:08:44 aha - check out the following url 21:09:06 sounds exactly like what I'm doing 21:09:15 http://ejad.best.vwh.net/java/fractals/jurasic.shtml 21:09:23 alot of fractals are built that way 21:10:07 I allow you to make any figure of line segments connected end to end (up to 10 currently) 21:11:03 mmm... I don't support java on the web. 21:11:20 me either heh 21:11:31 but the description is better than mine 21:11:56 http://mathworld.wolfram.com/DragonCurve.html 21:11:58 this shows it 21:12:37 nice 21:12:42 yeah that's what I'm doing. 21:13:01 dragon curve is my absolue fave fractal :) 21:13:51 you click to create the figure, then you can drag the end points around until you like how it looks, then you quit and a seprate program I wrote renders it really nicely like the pictures I showed you 21:14:38 I don't know many. I've had a bunch of fun with the mandelbrot and julia sets. I made a very nice program for Mac that jenerates them very fast 21:15:30 cool 21:16:38 my koch program is for linux, if you want to try it I'll document it, although it's pretty self explanitory 21:20:29 have you seen xaos ? 21:26:35 yes :) 21:26:51 its fscking COOL!!!! 21:28:40 wait... maybe not 21:29:29 does it work on linux? 21:29:37 corse :) 21:29:42 apt-get isntall -f xaos 21:29:48 works in x and console i believe 21:29:56 i think console needs frame buffer 21:31:15 neway im outa here - :) 21:31:16 I don't do debian or whatever that is 21:31:17 nite nie 21:31:24 well get xaos however :) 21:31:28 check it out 21:31:30 nite nite 21:31:45 --- quit: I440r ("abort" meep meep"") 21:37:10 --- quit: herkamire ("Client Exiting") 22:51:07 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 23:37:39 --- join: davidw (~davidw@ppp-162-7.25-151.libero.it) joined #forth 23:59:59 --- log: ended forth/02.04.15