00:00:00 --- log: started forth/02.03.14 01:01:35 --- join: onetom (tom@adsl52070.vnet.hu) joined #forth 01:03:25 --- quit: onetom (Client Quit) 01:04:09 --- join: onetom (tom@adsl52070.vnet.hu) joined #forth 01:04:14 testing 01:04:21 ah, it wrx now 01:31:35 --- nick: Soap- -> SoapZZzz 05:03:35 --- join: rob_ert (~robert@h173n2fls33o898.telia.com) joined #forth 05:17:12 --- join: Speuler (~l@195.30.184.52) joined #forth 05:17:21 'morning 05:19:54 'afternoon 05:20:03 hi rob 05:20:05 _ert 05:21:13 hey :) 05:33:52 brb 05:33:57 --- part: Speuler left #forth 05:47:55 --- join: Speuler_ (~l@195.30.184.51) joined #forth 06:07:09 anybody present? 06:07:41 hm 06:07:52 yeah 06:08:20 y ? 06:09:54 I440r: is always .... 06:10:08 hateing the ANS 06:10:19 personal freedom 06:10:29 what standard does he follow then? 06:10:55 think its called the i440r-standard 06:10:55 earlier ones? 06:11:02 f79? :) 06:11:07 not quite 06:11:09 like f83, f79, fig? 06:11:24 execute expects another address 06:11:31 with f79/fig 06:11:42 tick returns another address too 06:12:04 and where can i find docs about these other standards 06:12:12 i'd try the internet 06:12:21 imean, such a comprehensive docs, like the ans draft 06:12:36 is there any at all? 06:12:39 but, mind you, i've been looking for the f83 standard a while ago, to no avail 06:12:59 f79 wasn't really a standard. more an "industry standard" 06:13:01 aha... thats great... :< 06:13:15 like "ibm pc" is "standard" 06:13:30 fig was more a kind of "de-facto" standard 06:13:47 which forth vendors tried to improve 06:13:56 that's what became f79 06:14:18 as forth community wasn't pleased with this situation, f83 arose 06:14:57 f83 fixed a number of shortcomings in both fig and f79 06:15:14 and it broke legacy code 06:15:24 ANS tried not to do 06:22:24 aha, i did know about this last clause 06:22:56 so probably f83 could b considered "the best"? 06:23:38 coz, ans tries to b compatible w the heritage? 06:23:53 just like, say windows? 06:33:45 f83 is stricter than ans 06:33:55 does some assumptions about the system 06:33:58 ans doesn't 06:34:51 ans has a number of improvements too 06:34:56 but adds complexity 06:35:40 for example, "accept" i like better than "expect" 06:42:46 and f83 only has expect, right? 06:42:48 Is there any guru in here that can either explain what "create" "," and "does>" do, or point me to some page? 06:43:10 rob_ert: would non-guru do too ? 06:43:19 rob_ert: have u read that tut i gave u? 06:43:35 rob_ert: forth primer is not good enough, i think 06:43:36 onetom: uhmm.. where was it? 06:43:43 Speuler_: sure :P 06:43:50 create is simple 06:43:54 rob_ert: it doesnt talk about the internals @ all 06:43:56 create foo 06:44:08 rob_ert: sec, i'll look 4 it 06:44:10 makes a header 06:44:26 rob_ert: but u have gforth docs, dont u? 06:44:30 default action of "foo" is, returning address of foo 06:44:41 rob_ert: what gforth version do u have? 0.5.0? 06:44:41 like in: 06:44:59 onetom: yeah, think so 06:45:02 the latest ;) 06:45:04 : rob's_variable create 0 , ; 06:45:34 with does>, we can say: "use another run time behaviour" 06:45:54 which one, we specify after does> , using hi-level code 06:46:02 such as in: 06:46:20 : rob's_constant create , does> @ ; 06:46:31 5 rob's_constant five 06:47:01 rob's_constant is like a variable, but additionally fetching it's contents 06:47:08 rob_ert: http://dec.bournemouth.ac.uk/forth/forth.html 06:47:11 because we tell it so after does> 06:47:29 rob_ert: shame on me, i dont even read it through either :) 06:47:42 onetom: :) 06:47:43 rob_ert: tho it also talks about multitasking basics :))) 06:47:50 see the part after does> as a kind of subroutine, called by the created words 06:48:02 the @ in this case? 06:48:04 with the word's address on top of stack 06:48:07 yes 06:48:11 rob_ert: exactly what i was looking for in the last weeks 06:48:21 another example to try: 06:48:39 : emitter create , does> @ emit ; 06:48:46 '* emitter star 06:48:51 rob_ert: it also has very nice pictures that could help a lot 06:48:55 star ( * ) 06:48:59 What is "'*" ? 06:49:16 '* puts ascii of * ( 42 ) on stack 06:49:28 ( gforth does ) 06:49:35 ( not standard ) 06:49:36 Speuler_: not in gforth, iguess 06:49:50 Speuler_: oops, really? 06:50:03 same as char * 06:50:04 Speuler_: probably he should use char * 06:50:19 that's standard 06:50:20 and [char] * inside a definition 06:50:39 ( Speuler_ , u r faster than me ;) 06:50:52 my line was shorter :) 06:51:22 hehe 06:51:24 7 emitter beep 06:51:30 hm, there I have another problem 06:52:04 er. n/m 07:06:57 rob_ert: does that explain all you need to know about create does> ? 07:09:13 not quite... I still don't really get exactly what it does, and how to use it... 07:09:26 pinpoint the problem 07:09:36 it does: 07:09:49 change the code address of the word 07:10:23 to..? 07:10:23 (instead of pointing to runtime code of variable, it points to code which executes code after does> 07:10:42 correctly "changes run time semantics of created word" 07:11:17 what's this dictionary stack they talk about in fprimer? 07:11:31 it also compiles "exit" in place of does, so that the creating part doesn't run into the run-time part (code after does>) 07:11:47 .vocs 07:11:50 sorry 07:11:52 vocs 07:12:04 shows you available vocabularies 07:12:07 order 07:12:24 shows you the vocabularies on the dictionary stack 07:12:30 those are just searched 07:12:35 like PATH 07:13:05 with ALSO, PREVIOUS you add and drop vocs from that stack 07:13:28 ALSO is like a dup 07:13:36 hm 07:13:43 what is stored there? 07:13:56 address of start of vocabulary link 07:15:06 pseudo code: : vocabulary create newvocabulary does> addvocabulary ; 07:15:42 do: 07:15:45 see vocabulary 07:15:56 : Vocabulary 07:15:56 Create wordlist drop DOES> context ! ; ok 07:16:13 yeah... 07:16:25 did you know about see ? 07:16:32 yes.. 07:17:25 good example for create does> too 07:19:10 how to use it ... (2nd part of your question) : 07:19:21 need a new type of data structure ? 07:19:30 there you are 07:19:40 instead of: 07:19:47 : foo1 dosomething ; 07:19:50 : foo2 dosomething ; 07:19:53 : foo3 dosomething ; 07:19:57 you can do: 07:20:26 : newfoo create does> dosomething ; 07:20:30 newfoo foo1 07:20:32 newfoo foo2 07:20:33 newfoo foo3 07:20:48 instead of: 07:20:50 what did the "," do earlier? 07:21:06 here cell allot ! 07:21:27 : star [char] * emit ; 07:21:36 : space bl emit ; 07:22:01 : lf $0a emit ; 07:22:04 you can do: 07:22:28 : emitter create , does> @ emit ; 07:22:35 42 emitter star 07:22:45 bl emitter space 07:22:50 $0a emitter lf 07:23:07 need a character array ? 07:23:19 : carray create allot does> + ; 07:23:30 10 carray tenbytearray 07:23:41 44 4 tenbytearray c! 07:23:46 55 5 tenbytearray c! 07:23:58 4 tenbytearray c@ . ( 44 ) 07:24:15 need another one ? 07:24:25 100 carray hundredbytearray 07:24:53 I'm starting to get this... :-) 07:25:14 t'is easy. but unusual, that's where the problem understanding may come from 07:26:02 forth is full with unconventional stuff ... 07:26:35 know a little bit lisp ? 07:27:06 nope 07:27:15 there are some similarities 07:27:35 for example, first element in a lisp list gives the operation 07:27:46 that's like the code field in a forth word 07:28:22 not exactly. somewhat ... 07:28:31 hmm 07:28:40 don't know anything about lisp :) 07:30:06 then there's precious little to compare forth with ... 07:31:14 don't try to compare it with c 07:31:25 gives you a headache trying it 07:31:57 actually, i tend to get headache from trying to program c 07:32:10 t'is so... clumsy 07:32:24 hm 07:32:30 I find C quite OK 07:33:04 but of course I see forth isn't like C 07:33:07 get some aspirin then 07:33:19 ;) 07:40:21 rob_ert: how about the doc i gave u? reading, reading? 07:40:29 rob_ert: coz u should..! 07:40:54 --- join: GnuVince_ (~vince@modemcable049.128-203-24.que.mc.videotron.ca) joined #forth 07:41:20 Hi 07:41:35 hi GnuVince 07:41:53 Hello Speuler_ 07:42:29 I'm not even a newbie Forth programmer yet, but I have a couple of questions about the language 07:42:41 go ahead 07:42:43 OK 07:42:58 Well first of all, is Forth a functionnal language or an imperative one? 07:43:16 hmmm 07:43:29 i'd call it an imperative language 07:44:24 OK. 07:44:55 Next, who uses Forth? I mean, what do people do with it? General purpose? Number crunching? 07:45:16 "imperative" as in "action oriented" 07:45:41 lot's of purposes. often used where other languages don't reach to. 07:45:51 t'is popular with embedded designs 07:46:03 i use it for working on prototypes 07:46:24 code prototyping is an example 07:46:26 robotics 07:46:33 hardware control in general 07:46:39 ok 07:46:51 --- join: Stepan (~stepan@Charybdis.suse.de) joined #forth 07:46:52 Are variables mutable? 07:47:47 as in "contents may change" ? 07:48:04 Yeah 07:48:12 a = 10; 07:48:16 wouldn't be a good variable otherwise 07:48:18 a = 10 + 10; 07:48:22 OK 07:48:27 Good thing :) 07:48:39 variable foo 07:48:42 10 foo ! 07:48:44 20 foo ! 07:48:51 Is the GNU implementation of Forth recommended? 07:48:52 foo @ . ( 20 ) 07:49:06 define "recommended" 07:49:11 recommended 4 what? 07:49:22 hi GnuVince_, anyway 07:49:44 variable a 07:49:46 10 a ! 07:49:49 10 a +! 07:49:54 a @ . ( 20 ) 07:50:19 or - 2 b more similar - 10 10 + a ! 07:50:45 i wanted to show the "mutable" aspect somewhat clearer 07:50:45 but cant imagine why 1 should ask such a question... 07:51:01 I mean, is Gforth a good implementation, or just a lame attempt to have a Forth implementation under the GPL by the GNU project? 07:51:01 Speuler_: could u explain GnuVince_ reasons? 07:51:42 onetom: y don't u ask GnuVince ? 07:52:10 gforth is quite good 07:52:16 ok 07:52:18 i agree 07:52:28 Good thing :) 07:52:29 --- join: futhin (~bloh@h24-64-174-2.cg.shawcable.net) joined #forth 07:52:29 Well 07:52:37 hihi 07:52:37 GnuVince_: what is this mutabitity mean? 07:52:48 howdy gnuvince :) 07:52:48 I think I'll give gforth a try :) 07:52:51 s/ mean/-thing/ 07:52:55 hi futhin 07:53:02 new to forth ? 07:53:11 GnuVince_: forth programmers tend to avoid variables 07:53:14 onetom well, in some functional languages, you cannot modify the value of a variable 07:53:23 10 10 + 07:53:29 ( result on stack ) 07:53:35 reverse polish notation? 07:53:40 yes 07:53:44 it's a stack-based language 07:53:52 heavily stack oriented 07:53:55 reverse polish notation is the _only_ way to manipulate the stack.. 07:54:13 GnuVince_: why r those things named variables? 07:54:48 onetom: I have no idea. 07:54:56 GnuVince_: constants are supposed to be immutable, but contents can be (non-standard) modified too 07:55:01 And what does stack oriented mean? 07:55:32 your working data is on stack, operators work on stack too 07:55:45 10 20 07:55:52 ( puts two numbers on stack ) 07:55:53 + 07:56:09 ( takes two numbers from stack, adds them, puts back result ) 07:56:28 Speuler_: i was already about asking u about this "tend to avoid variables" philosphy 07:56:41 Speuler_: could u explain it a bit? 07:56:42 variables are evil 07:56:43 I do not exactly know what stack is... 07:57:10 : addmultiply + * ; 07:57:15 1 2 3 addmultiply 07:57:16 Speuler_: but u have to store the data somewhere u r manipulating 07:57:29 GnuVince_: visualize a number to be a sheet of paper. pile paper up 07:57:34 that's a stacl 07:57:34 result: 9 07:57:36 stack 07:57:39 GnuVince_: stack = LIFO 07:58:12 GnuVince_: vs. queue/row = FIFO 07:58:16 technically, a stack is a memory region, with a pointer pointing somewhere into it 07:58:30 where pointer points to, that's top of stack 07:58:41 OK 07:58:51 is Forth a safe language? 07:58:53 onetom: data you work on can stay on stack 07:59:14 GnuVince_: define "safe" 07:59:30 I mean, is there a risk of stack overflow, or segmentation faults (that ringed a bell since you said 'pointers') 07:59:40 yes 07:59:51 Speuler_: ez faszsag 08:00:01 Yes? 08:00:05 Yes it's safe? 08:00:09 or yes there's a risk? 08:00:19 no, the safety lies in the programmer 08:00:20 onetom: snap ik niet 08:00:28 it's not some lazy language for lazy coders :P 08:00:39 Speuler_: the data u r working w @ the very moment should b stored/handled on the stack 08:00:40 although plently forth coders are reasonably lazy and still chose forth :) 08:01:10 GnuVince_: "yes" like risk. compiler doesn't trap all programmer errors 08:01:28 ok 08:01:40 you can call it, the compiler leaves the programmer lots of freedom 08:01:41 Speuler_: but u cant store matrices on stack, can u... 08:01:59 Support for arbitrary large integers (I like those) 08:02:01 onetom: you can put a pointer to a matrix on stack 08:02:14 gnuvince: it is one of the most flexible language i have come across, you can do _anything_ in forth. the elegance and simplicity and flexibility of forth come at a price, it is not safe, there is no type-checking. but i think it was one of the best languages in the world :) 08:02:23 GnuVince_: not part of standard, but can be added 08:02:45 Speuler_: that is: the actual data is stored in a variable, finally, isnt it? 08:03:03 onetom: in memory. not strictly in a variable 08:03:06 OK 08:03:18 Well 08:03:21 I think I'm gonna give it a fair try 08:03:26 oh, hell 08:03:35 GnuVince_: what languages do you know ? 08:03:38 arent variables stored in memory? 08:03:44 and even if I don't use it after learning it, the learning experience will probably be very rewarding anyway 08:03:52 yes. but not everything stored in mem is a variable 08:04:09 Speuler_: Python, Ruby, RPG/400, O'Caml, VB (though I wish I didn't) 08:04:15 bit of C/C++ and Pascal 08:04:19 GnuVince_: it is said that forth is more than a programming language, but a programming philosophy too 08:04:36 guess that goes for other languages too 08:04:44 i tend 2 experience that people misunderstanding this "var r evil" thing 08:05:15 forth variables tend to be of global nature 08:05:27 sure 08:05:30 thats right 08:05:47 but everything which returns an address, to write data to, BEHAVES like a variable 08:05:49 give me an example of this evilness 08:06:03 variable temp 08:06:04 ah, i agree again 08:06:14 s/ah/aha 08:06:23 I would maybe agree or disagree, but I am completely lost :) 08:06:32 : xxx begin 1 temp +! again ; 08:06:44 The Forth community seems helpful though, so I guess I'll have fun 08:06:44 brb ... 08:07:10 GnuVince_: i can b sure of it ;) 08:07:27 onetom: variables are evil because if you are using variables, it is most likely true that your code isn't very well designed & coded 08:07:55 k, show me an understandable example 08:08:08 (i doubt u can avoid vars 08:08:09 ) 08:08:24 onetom: what do you mean? i don't use variables at all.. 08:08:40 cant belive :) 08:08:54 what else do u use insted, then 08:08:58 dont say: the stack! 08:09:10 thats the other thing i cant believe :) 08:09:25 in a program u have to store 08:09:29 counters 08:09:32 well, i'm doing what chuck moore recommends.. keep the words 1 to 2 lines 08:09:36 semaphores 08:09:43 status info 08:09:43 and each word is referentially complete 08:09:46 buffers 08:09:56 these r all variables arent they? 08:11:05 saying what uve just said a sec b4 ([05:08] onetom: variables are evil because ...) 08:11:22 can totally mislead a beginner, i guess 08:11:59 or just get back to the prev. example 08:12:05 how can u handle a matrix? 08:12:18 u have to store it in a varibale 08:12:40 certainly u dont use the word 08:12:55 use create 08:12:56 VARIABLE for defining that 08:13:01 sure 08:13:30 but wont this create construct just look like the definition of variable? 08:14:02 so finally it will also b a variable 08:14:05 when i say variables are evil, and i don't recommend using them. i meant VARIABLE 08:14:29 if you avoid creating VARIABLEs 08:14:37 and you use some create for arrays and stuff 08:14:39 then that's fine 08:14:41 but VARIABLE 08:14:45 has a limited usage 08:14:53 I must say that Forth's syntax looks wierd though :) 08:14:54 unless you use ALLOT 08:15:08 gnuvince: yup, takes a bit to get used to 08:15:13 but certainly i use ;) 08:15:24 futhin, ok so I'm normal 08:15:28 GnuVince_: just @ a 1st glance 08:15:31 cause I'm looking at some examples 08:15:45 and it's hum... terse 08:15:47 GnuVince_: infact, forth doesnt has a syntax... 08:15:51 http://www.bagley.org/~doug/shootout/lang/gforth/allsrc.shtml 08:17:46 onetom: VARIABLE means you store a number, and it's globally available.. if you avoid using variable as much as you possibly can, the code is going to be much better.. 08:18:49 getting better 08:19:36 but generally saying vars r evil... well stating such is more avoidable then vars ;) 08:19:54 coz if u say something like that 08:20:05 onetom: yes, I'm reading it... and btw, that was the first forth doc I found ;) 08:20:06 u deny the need 4 global data area 08:20:41 back ... 08:20:52 wb Speuler_ 08:21:01 onetom: naw, when i or speuler say variables, we are refering to the word 08:21:36 "global storage for intermediate results" is what i mean with "variables are evil" 08:22:16 if your code flow corresponds to data flow, 08:22:27 intermediate data doesn't need to be stored 08:22:44 but can be processed on the stack, as it comes 08:22:55 if code flow and data flow don't match, 08:22:55 yeah, much better way to say it 08:23:12 you may need variables, or review your logic 08:23:55 in general, forth programmers are quite good at matching code and data flow 08:24:09 because they want to use the stack for intermediate results 08:24:32 instead of moving a result to variables, only to move it back to stack for another operation 08:24:36 that sounds much more correct 08:25:19 variables do exist, and are used sometimes 08:25:29 but by far not as often as in other languages 08:25:42 base would be an example of a variable 08:25:58 contains the radix, used by number in- and output 08:26:14 or, dictinary pointer is another one 08:26:24 containing pointer to end of code 08:26:32 those are difficult to keep on stack 08:26:41 but are of rather global nature indeed 08:27:29 problems with variables arise with multitasking, reentrant code and the like 08:27:56 context switch is much more efficient if context data is on stack already 08:28:15 without the need to store it in a context-local data structure before switch, 08:28:26 and the need to restore those after 08:28:26 Speuler_: i agree w all your ideas above and i still think, futhin shouldnt frighten (&mislead) ppl w simply stating "vars r evil & avoid them" 08:29:01 onetom: i'm afraid i let that "var=evil" statement loose 08:29:06 Speuler_: it doesnt matter what r we talkin about he tends to solve the problem w this slogan 08:29:53 well, it is a good base line 08:29:55 instead of understanding the problem well 08:30:38 just like I440r. he's always refering 2 ans 4th as a crapy thing 08:31:20 tho, its in 90% the same as f83 infact... isnt it? 08:31:40 ans has a lot of extensions to f83 08:32:00 but f83 code base, if properly written, should work under ans too 08:32:01 whis i know what r all those 08:32:16 i mean which r the extension and which 1s r not 08:32:40 and im also curious about, wheather I440r hates all these extensions.... :-/ 08:33:02 he dislikes an f83 concept too 08:33:27 wow. is f83 competly underward-compatible w ans? 08:33:51 "if properly written", that is: 08:34:07 i guess, the only thing he likes is just the 4th virtual processor itself :)) 08:34:11 if none of the assumptions of the f83 virtual machine is hardcoded into the program 08:34:34 for example: 08:34:50 : foo r> cell+ r> ; 08:35:05 : bar x1 foo x2 x3 ; 08:35:21 is not guaranteed to work with ans system 08:35:27 sorry ... 08:35:28 ??? 08:35:31 : foo r> cell+ >r ; 08:36:02 with f83, execution of x2 would be skipped 08:36:12 ah, oy c now 08:36:20 sure sure 08:36:26 its implementation dependant 08:36:35 cause foo pulls return address, adds cell, pushs it back, therefore skipping x2 (following foo) 08:36:58 coz the return stack is also used by the processor itself not just the app 08:37:00 this assumes the virtual machine works like prescribed by f83 08:37:06 it MAY 08:37:24 ans doesn't prohibit it 08:37:45 so f83 advices a scheme 4 the virt. proc too? 08:37:50 yes 08:38:22 and does it define words what is not independent of this definition? 08:38:40 s/what/that/ 08:38:47 hmm .. 08:39:04 imean... 08:39:06 the DEFINITION of a word is different from the word's SEMANTICS 08:39:26 yes, things like that 08:39:55 if a word does what it is supposed to do, the definition is not relevant 08:40:01 so does it defines words that rely on the structure of the dictionary/dcit entries? 08:40:03 but some defintions are not portable 08:40:24 you got the equivalent in ans, but often defined differently 08:41:00 and some things are illegal to do in ans 08:41:09 but work in f83 08:41:21 they still MAY work with an ANS system 08:41:36 but the program wouldn't be a proper ans compatible program then 08:41:54 man, u have too much clue about f83... u r suspicious 2 me ;) 08:41:59 but specific to the compiler implementation 08:42:16 u must have a book about the f83 standard! 08:42:21 i started with forth before f83 came out 08:42:42 fig, and f79 ... 08:43:10 eh, ive just met 4th in ~83 :) 08:43:27 when f83 wasn't well adopted ... 08:43:30 4 the 1st time, imean 08:46:20 quite an oldtimer u r 08:46:39 must be >35 ? 08:47:58 'll go into PhoodPhrenzy mode 08:48:06 --- nick: Speuler_ -> PhoodPhrenzy 08:48:13 l8er 08:48:46 --- part: GnuVince_ left #forth 08:49:30 PhoodPhrenzy: i was born in 77 :P 08:49:51 And I was born in 86 :P 08:50:02 *being small* 08:50:20 PhoodPhrenzy: me father - who taught me 4th - was born in 57 08:50:34 he must b >35, i guess :) 08:52:12 whoa.. programmer born before 1960.. eoe 08:52:13 er 08:52:14 wow* 09:02:55 --- join: Etaoin (~david@ljk3.sat.net) joined #forth 09:03:22 hello etaoin 09:04:33 hi 09:04:43 hello 09:19:48 PhoodPhrenzy: what object model do U use/recommend, as an oldtimer 4ther? 09:19:59 Etaoin: hi 09:20:49 onetom: why do you need an object model? 09:21:03 it's not always going to help you produce the simplest solution 09:21:08 and the simplest solution is the best solution 09:21:11 simplest design, best design.. 09:21:53 not using an object system is not always the simplest either 09:22:31 that's why i didn't say "object model isn't going to produce the simplest solution" :P 09:22:46 i added always to leave some room for the chance that it does :) 09:25:41 but i don't know, i don't see chuck moore using an object model, and if anyone can produce the simplest solution, he can 09:26:18 right. he knows everything 09:28:37 when it comes to simple solutions, he is the expert. very few people are even remotely close to his skill 09:28:39 http://www.ultratechnology.com/mmeta.html 09:29:16 read that.. he's spent 2 years reducing the core of his CAD program to 5 lines.. among other things (obviously he does other stuff) 09:31:04 i think when a guy is as focused on simple solutions, and has the patience to think about the problem over a bunch of years, he's going to achieve something :) 09:34:57 * futhin has gtg, bbl 09:38:40 --- join: CaffeineJunkie (~l@195.30.184.52) joined #forth 09:38:54 hi agn 09:38:57 hi 09:40:21 caffeinejunkie: PhoodPhrenzy: what object model do U use/recommend, as an oldtimer 4ther? 09:41:10 rephrase plz 09:42:48 object model = OOP 09:42:52 classes, structs 09:42:53 or whatever 09:43:00 i think that's what he means by object model.. 09:44:02 i've been working on a port of java oo model to forth. single inh, ec. i'd probably choose that one 09:44:20 --- join: GnuVince_ (~vince@modemcable049.128-203-24.que.mc.videotron.ca) joined #forth 09:44:34 Hiho :) 09:44:37 Hello! 09:44:47 there's a free implementation of it on the net 09:45:24 --- quit: Stepan ("Do you think it is air you are breathing? Hmm?") 09:45:49 search google for oodc forth 09:49:47 oodc is far from simple 09:50:08 supports early- and late binding 09:50:36 instance data represented as objects too :) (field types) 09:51:10 allows objects to be embedded in other objects ... 09:51:55 other people may argue that it is overly complex 09:52:15 on the net is the free implementation, same interface. 09:52:27 the version i worked on is prop. 09:52:40 free version was derived from it 09:52:59 want me to look it up ? 09:53:57 http://www.cornu.purespace.de/forth/oodc.html 09:55:10 hi 09:55:35 incidentally, the people mentioned to have contributed ideas are also some of the gforth authors 09:55:36 happy 2 c oo as the topic :) 09:58:09 Does anyone have links to a complete beginner's guide to ANSI Forth? 09:58:18 The GForth manual is a bit too harsh 10:00:34 which version of gforth r u talking about? 10:00:38 use 0.5.0 10:00:50 it has a nice intro 2 4th 10:00:58 oooor go to forth.org 10:01:09 and grasp fprimer.zip 10:01:27 its also great 4 beginner users 10:02:07 and finally - if u r really interested in forth - have a look @ forth underview 10:02:30 Do Forth people always talk with abberviation? 10:03:15 by Peter Knaggs 10:03:18 no, just me :) 10:03:22 ah OK. 10:03:24 dec.bournemouth.ac.uk/forth/forth.html 10:03:49 if u understandt the l8r docs 10:03:53 What applications (past or present and maybe even future) are written in Forth? 10:03:57 it will change your life ;) 10:04:24 GnuVince_: i only could say the same as the others b4: embedded 1s 10:04:49 coz, forth is actually a machine language 10:04:54 Do l33t hax0r really use Forth? 10:05:08 its the assembly of the 4th *usually* virtual processor 10:05:09 hehe 10:05:17 a machine language? a but like asm? 10:05:25 /me not a l33t man 10:05:34 just talked too much this way 10:05:40 onetom: you said '1s' 10:05:47 and i got the habit of using it 10:05:51 its faster 4 me 10:05:59 Come on 10:06:06 i use it everyday w me girlfriend 10:06:11 Dude, people could think I speak english better than you can 10:06:15 And that's bad! 10:06:25 I mean... I'm from Quebec. I speak french 10:06:34 i dont care :P 10:06:46 im hungarian, anyway 10:07:03 and in "everyday" chat 10:07:19 i even mix english w hungarian 10:07:26 Lol 10:07:32 I mix french and english quite often 10:07:50 I mix english/german/swedish all the time so nobody understands me. 10:07:59 like: mi 1 a zsebedben? 10:08:13 here u should pronounciate 1 as one 10:08:28 what sounds the same way as "van" in hungarian 10:08:42 what means "there is" 10:08:45 c? 10:08:59 or an other example: i7u 10:09:00 yuck :) 10:09:09 this is "i hate you" 10:09:15 hehe 10:09:26 /topic we7u 10:09:30 coz u should pronounciate 7 in hungarian (hét) 10:09:44 Ah 10:09:53 En français, on niaise jamais avec la puck 10:11:07 so u r all lucky, coz i dont use such a mixture lang. 10:11:24 what i use is regular english -- abbreviated 10:11:37 onetom: You got something like fprimer that's not OS-dependent? 10:11:54 it u read it up loud u will surely understand me ;) 10:12:09 ugh? is it os dependant? 10:12:18 well, there are these .EXE files 10:12:57 rob_ert! u havent told me that yet! >-) 10:13:08 onetom: ? 10:13:10 oh, dont mind those exes 10:13:21 the forth examples r portable 10:13:37 Yes 10:13:37 onetom: What should I have told you Well, ok 10:14:18 rob_ert: the point is not that what u *have* told but what u *havent* ;) 10:14:34 * rob_ert slaps onetom 10:14:47 rob_ert: :) 10:15:17 xD 10:15:37 GnuVince_: but i still recommend reading the 4th underview 1st 10:16:14 GnuVince_: it gives a much cleaner approach 2 the essence of 4th 10:17:03 http://images.jsc.nasa.gov/images/pao/MERMANOV/10073474.jpg <-- f00d... 10:17:46 whats that? 10:18:01 "Food kit used by Mercury astronauts" 10:18:04 onetom where can I find it? 10:18:04 food 4 astronaouts? 10:18:11 yes 10:18:32 http:/dec.bournemouth.ac.uk/forth/forth.html 10:18:58 for example.. thats the 1st place where google finds it 10:19:28 rob_ert: well, beautiful. it must b tasty :) 10:21:05 rob_ert: that bloody thing on the left must b the appetizer, dont u think? ;) 10:22:15 I'm sure it is 10:23:12 --- part: GnuVince_ left #forth 10:25:23 have i frightened away GnuVince w me writing style??? i hope i didnt :) 10:25:47 ;) 10:48:35 --- log: started forth/02.03.14 10:48:35 --- join: clog (nef@bespin.org) joined #forth 10:48:35 --- topic: 'Forth is a programming language, an operating system, an interactive environment, and a philosophy. Read "Thinking Forth" by Leo Brodie and maximize the quality of your code.' 10:48:35 --- topic: set by ChanServ on [Tue Mar 12 11:14:06 2002] 10:48:35 --- names: list (clog SoapZZzz onetom rob_ert PhoodPhrenzy futhin Etaoin CaffeineJunkie @ChanServ) 10:53:27 wow. clog has parted 4 a while 10:54:29 im curious wheather we could have said anything b4 it came back. probably it would have lost.. 11:11:51 /join #debian 11:16:22 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 11:16:55 hihi! 11:17:07 --- nick: SoapZZzz -> Soap` 11:17:10 Mornin' 11:17:48 any new forth projects spring up while I was on vacation? 11:18:24 mrreach!!!!!!!! 11:18:36 FUTHIN!!! 11:19:15 how goes it? 11:19:31 futhin, I haven't been around because I've been traveling 11:19:51 it goes pretty good 11:20:01 i'm going to code a forth program that outputs a postscript file! 11:20:03 for a job 11:20:09 i'm figuring it out 11:20:12 coolness! 11:20:20 then i'm going to go and try to get the job from my previous work place 11:20:23 I'm not fond of postscript, though 11:20:25 probably tomorrow! :D 11:20:37 never really learned to read it, though it's close to forth 11:20:37 postscript is kind of neet though.. imagine forth postscript! .fps! :D 11:21:20 well, certainly glad to hear of your work prospects 11:21:31 whatever became of the Forth MUD? 11:21:43 you missed plently! onetom coded a forth kernel (written in forth of course) on this channel, while he was explaining it to me 11:21:48 and then he copied the code out 11:21:51 and put it into a file 11:22:11 forth mud is sort of happening, i'm just lazy about it.. but i was focusing on it last week for a bit 11:22:18 figuring out how the database is going to work 11:22:26 would that be Tom Zimmerman or Tom Almy? 11:22:34 onetom on this channel 11:22:42 herman tom 11:22:50 oh! he's here now. Duh! 11:23:10 heh :) 11:23:21 did I440r get to participate??? 11:23:32 he was here, but idling 11:23:41 he's done a lot on isforth 11:23:45 oh, too bad 11:23:50 verision 1.04 is out i think 11:23:58 he's worked *SO* hard to get the kernel operational 11:24:02 he's coding curses right now 11:24:18 well the forth kernel onetom did was in forth.. forth in forth.. 11:24:43 --- part: CaffeineJunkie left #forth 11:24:54 yes, the way I440r wrote the assembly, it translates to/from forth pretty easily. 11:25:26 mrreach: http://213.163.52.70/~tom/kernel.fs 11:25:48 also, etaoin coded a pretty interesting vector class: http://braznet.com/david/files/oovect.fs 11:25:58 using a modified mini-oof.fs 11:28:33 postscript seems to be the easiest way i can draw printable pictures 11:28:45 that kernel will be slower than molasses in January, but it's simple, and really good for demonstrations 11:28:58 the program i'm doing will draw schematics based on what the user inputs 11:29:05 and save it to a printable file.. 11:29:21 input is a file, output is a file? 11:29:38 no, input is typing 11:29:44 ok 11:29:47 i read Thinking Forth too 11:29:52 fun fun 11:30:00 but i'm pissed i didn't copy the editor code 11:30:04 before i returned the book :( 11:30:07 I haven't read that in YEARS 11:30:17 erm, just a sec 11:30:22 Thinking Forth seems like a pretty damn good book 11:30:30 every forth coder should read it :) 11:31:29 here am i 11:31:35 hello mr reach 11:31:38 oh, thought I had int in electronic format, but that's The Forth Programmer's Handbook 11:31:43 yeah 11:31:49 wow 11:31:51 well if you know of any forth code for an editor out there 11:31:52 greetings, onetom! 11:31:53 let me know :) 11:32:06 there's one in F83 11:32:11 hm 11:32:12 and in Pygmy 11:32:22 MrReach: is that book uve mentioned good? 11:32:47 i think there should be a site that collects all the forth code into one place.. 11:32:54 it's "ok" ... it's aimed at the rank beginner, so I only scanned the TOC 11:33:16 futhin: i got another idea about using that 4in4 (short 4 forth-in-forth) 11:33:35 onetom: yeah? 11:33:42 onetom: it comes with the evaluation copy of Swiftforth from Forth, Inc. ... in PDF format 11:34:07 it could also b used 2 demonstrate exception handling 11:34:29 coz, thats an other thing that need kernel-side support 11:34:44 heh, good idea ... CATCH/THROW and the "exception stack" throws nearly everybody for a loop 11:34:45 MrReach: aha 11:35:21 at the moment i dont know much about exception handling implementation 11:36:05 so it will b useful 4 me 2 implement 1 in my 4in4-test-suite :) 11:36:12 have you seen the example implementation in the dpANS appendex?? 11:36:34 hold on, i'll check it 11:36:49 tho, i doubt it has any implementations... :-/ 11:37:21 probably we r not meaning the same by the word implementation 11:37:28 when I was writing my STC forth, it worked beautifully for me, though I had to experiment a bit with RP@ 11:37:55 oh, which type of exception handling were you thinking? 11:37:56 im not curious about how does it surface look like, but the internals 11:38:03 try 11:38:06 recover 11:38:08 endtry 11:38:10 i want to start a website that collects all the forth code everywhere into one place, and also has understandable examples of how the kernel works and how the dictionary works (like a diagram of the bytes in the dictionary) 11:38:30 there is already a forth Wiki, but it's pretty dead 11:38:40 heh 11:38:40 futhin: that would b great... 11:38:47 futhin: i support the idea 11:38:57 also 11:39:04 have you heard about my forth os idea? 11:39:05 some days b4 i was also wondering about 11:39:27 how nice would it b 2 have 4th implemented in various languages 11:39:29 i want to get forth coders together, and create a serious os aimed at the desktop market 11:39:45 and various languages implemented in 4th 11:40:05 futhin: just like me, maan :)) 11:40:24 futhin: but seriously, i was already thought about such a project 11:40:37 http://www.forth-ev.de/wiki/html/Forth/FrontPage.htm 11:40:41 futhin: i dont really care if it would b slow, for example 11:40:48 http://www.sleepless-night.com/wiki <-- most of it's about Quartus tho' 11:41:13 futhin: my goals would b portability, scalability and standardness 11:41:23 futhin: & what about u? 11:41:24 yup 11:41:26 same 11:41:48 with today's machine, speed and size aren't much of a concern 11:41:53 even on my PDA 11:42:04 yup 11:42:13 i could b a starting point to teach general and system programming 11:43:01 MrReach: absolutely! thats my reason when ommit speed as a .... 11:43:17 one of the key features i envision for the forth os, is a super high-level forth vocabulary. so that users can code in forth.. if everything is coded in forth, irc, web browser, etc.. and you wanted to change some feature on the fly, or implement one, imagine only coding 1 or 2 lines of code and changing it on the fly 11:43:22 futhin: check out the forth-ev site, you'll *LIKE* it 11:43:26 MrReach: ...aspect 11:43:30 a high-level forth language (similar or better than MUF) 11:43:37 and my grandma will be able to use it 11:43:49 futhin: YEEEeeeeeah! 11:43:55 and no longer is there any distinction between programmer and user 11:44:04 let the users change the os 11:44:06 to fit their needs 11:44:08 futhin: absolutely the same vision i had some months ago 11:44:20 aha 11:44:43 mrreach: forth-ev.de ? 11:44:56 yes 11:44:56 tho, this raises many philosophycal problems 11:45:00 hm, i guess i need to use a translator 11:45:08 its worth to solve these! 11:45:22 onetom: what kind of philosophical problems? :) 11:45:23 also 11:45:34 the forth os would mean that forth becomes widely accepted 11:45:35 and supported 11:45:53 support is a major thing that's been lacking and hurting the forth community 11:46:22 if your going to do that, I'd suggest targeting the handheld devices, otherwise you're going to be running to keep up with new hardware 11:46:49 it'll be portable, but i'm much more interested in targeting the users market.. i want ppl to use it.. 11:46:52 embedded control is where forth really shines anyway 11:46:58 and if that's also the desktop market, so be it 11:47:05 windows and linux are sub-optimal oses 11:47:06 futhin: like relocatable code... 11:47:27 are you prepared to write 500+ device drivers? 11:47:43 yes 11:47:49 MrReach: have u heard about open firmware? ;) 11:47:55 yes 11:48:06 i have some ideas on how to quickly get the device drivers ;) 11:48:20 MrReach: Stepan and uiver/segher r already working on an open implementation 11:48:22 OF requires that the hardware cards be compatible to being "probed" 11:48:38 futhin: nu, tell us those in a nut shell 11:48:41 futhin: rape them from M$?? 11:49:08 come to #forthos 11:49:18 ??? 11:49:29 onetom: /join #forthos 11:57:16 hey, MrReach ! cant u c this msg? 11:57:25 yes, I can see it 11:58:20 Hey MrReach :) 12:01:09 greetings! 12:03:59 --- join: GnuVince_ (~vince@modemcable049.128-203-24.que.mc.videotron.ca) joined #forth 12:04:13 hi, GnuVince_ 12:04:19 we r on #forthos 12:04:19 Hi again :) 12:04:21 Hi :) 12:04:34 discussing a forth based os :) 12:05:05 I'm not even at the point of doing a simple Forth app :) 12:05:15 So an OS, no thank you yet :))) 12:05:27 gnuvince_: write a program that prints a pyramid of asterisks :) 12:05:44 futhin: actually, I'd like to do my classics 12:06:01 a factoring, a prime factoring, a factorial and a sureface calculator 12:06:13 I always do those when I start with a new language 12:06:14 GnuVince_: dont b frightened! 12:06:37 does forth have a modulo word? 12:06:38 GnuVince_: developing an os in a so highlevel language as 4th is not a big deal :O 12:06:54 futhin: I remember that :) 12:07:00 Etaoin: /MOD 12:07:01 Etaoin: errr, dont know, but i still want 2 write a 4th os :) 12:07:02 onetom: could I learn how to do simple input first? 12:07:14 GnuVince_: no! 12:07:24 GnuVince_: write an os 1st! ;) 12:07:34 onetom: eh. I'm more interested in implementing a lisp dialect. 12:07:48 Etaoin: you could look at Arc 12:07:58 http://www.paulgraham.com/arc.html 12:07:59 GnuVince_: I could 12:08:15 I've read most of that 12:08:25 does he have any code anywhere? 12:08:27 GnuVince_: certainly joking :) u could use accept or expect for input 12:08:33 Etaoin I wouldn't know 12:08:40 or KEY 12:08:56 MrReach: makes sense 12:09:01 MrReach: thanks 12:09:07 GnuVince_: but the text interpreter of 4th is a good input source by its nature 12:09:29 onetom: I want to do something like 12:09:34 Enter your name: GnuVince 12:09:41 Enter your age: 18 12:09:56 and thhen print: "Hi GnuVince, you were born in 1983 12:10:42 hey, somebody! 12:10:55 that's pretty easy, actually ... 12:10:58 im doing embedded programming 12:11:06 never used accept 12:11:33 i always realized lowlevel keyboard rutins ;) 12:12:06 well, then, build a buffer, stick some characters in it 12:12:56 MrReach: How would I do my input? 12:13:10 I would use ACCEPT 12:13:13 and output too, considering it's considered bad practice to use variables 12:13:17 onetom would use KEY 12:13:37 why not use variables?? 12:13:45 MrReach: no, would read the documentatoin 1st :) 12:13:58 heh 12:14:07 coz "variables are evil" -- futhin :P 12:14:16 MrReach: I read the faq earlier and people here both said that there's always a way not to use variables. 12:14:37 that means just, dont use variables 4 temporary data 12:14:56 like function arguments? 12:15:05 s/function/word/ 12:15:13 c, futhin, how misleading were u!? >| 12:15:40 well, there's two bits of infomation your going to be storing 12:15:44 onetom: couldn't you please use complete words? 12:15:52 accept c-addr +n1 -- +n2 core ``accept'' 12:15:58 This mega abbreviated ghetto dialect is hard to read 12:16:06 GnuVince_: sorry, i cant 12:16:14 I can't see a way of not keeping pointers to the stored data 12:16:15 GnuVince_: that's what we told him the first time he showed up 12:16:35 GnuVince_: but dont worry, u will get the habit of understanig me style 12:16:46 GnuVince_: just like the others got 12:16:56 onetom: I don't know 12:16:57 I mean 12:17:03 it's pasted straight from the ANS forth specification 12:17:10 GnuVince_: tho, probably they still hate me 4 it :) 12:17:19 anyway, what that says is ... 12:17:23 MrReach: thats right 12:17:24 coming on OPN was a breath of fresh air, because I didn't have to see all those things you see on DALnet, Undernet, EFnet, etc. 12:18:04 ACCEPT requires two stack items, the address of a buffer, and the size of the buffer ... and it returns the numbers of characters placed into the buffer 12:18:42 it does NOT return the adr of the buffer, so you need to dup that and keep a copy 12:19:14 try this URL ... http://www.taygeta.com/forth/dpans6.htm#6.1.0695 12:19:16 pad dup 5 accept type 12345 12345 ok 12:20:27 GnuVince_: oh, oy c. me sad about it :( 12:21:00 GnuVince_: im an air pollution factor here then :) 12:21:15 GnuVince_: but dont worry im the only 1 12:21:27 : getname ( -- adr cnt ) CR ." What is your name? " 45 ALLOT THROW DUP 45 ACCEPT ; 12:22:55 What's 45? 12:22:58 Buffer size? 12:23:20 an arbitrary limit on the number of characters in a name 12:23:21 yes 12:23:27 yes 12:23:54 45 should be plenty, unless the user happens to be Hindu 12:23:56 but, hey allot doesnt give back any data 12:23:58 And if it's exceeded 12:24:02 whay happens? 12:24:03 that must b allocate 12:24:05 --- nick: PhoodPhrenzy -> Speuler_ 12:24:18 oh 12:24:20 onetom: allot returns two items, an address and an error code 12:24:31 g'day mrreach! 12:24:36 if its exceeded, input gets blocked 12:24:39 ACK!!!!! you got me!!! 12:24:52 howdy, Speuler_ 12:24:58 and 4th starts beeping 12:25:04 but give it a try! 12:25:04 honoured to see you here :) 12:25:19 u have a running gforth dont ya. 12:25:35 GnuVince_: exceeding the buffer using ACCEPT is implementation defined ... so different forths will handle it differently 12:26:15 OK 12:26:33 when I type getname, I get a stack underflow error 12:26:49 --- join: Speuler (Speuler@195.30.184.4) joined #forth 12:26:55 ok, lemme look at my code again ... 12:27:10 for one thing, ALLOT should be ALLOCATE 12:27:16 MrReach: in what 4th does allot works like that what uve described? 12:27:16 ok 12:27:18 my error, sorry 12:27:26 ok, then 12:28:45 GnuVince_: how does that work for ya? 12:28:55 it works without stack underflow now 12:28:59 btw, which forth are you using??? 12:29:03 gforth 12:29:05 0.5 12:29:24 you know that up-arrow and editing keys work in gforth, right? 12:29:32 --- quit: Speuler_ (Read error: 104 (Connection reset by peer)) 12:29:36 brb 12:29:45 MrReach: Yes 12:29:48 now you can TYPE the result 12:29:55 That's one of the first thing I tested acutally :) 12:30:14 well, that is ACCEPT that you're typing into 12:30:22 believe it or not 12:30:35 erm ... or it should be anyway 12:30:50 it is 12:31:08 and then, how do I print the name? 12:31:19 TYPE ( adr cnt -- ) 12:32:04 which is to say that TYPE expect an adress and count on the stack, and sends whatever it finds there to stdout 12:32:20 which can REALLY screw up your terminal if it's garbage 12:32:45 my friend calls it "an eyechart" 12:32:47 may i paste my variation on solving this problem? 12:32:54 onetom sure 12:32:56 pad ( max temp-addr ) 12:32:57 tuck ( temp-addr max temp-addr ) 12:32:57 swap ( temp-addr temp-addr max ) 12:32:57 accept ( temp-addr act-len ) 12:32:57 ; 12:32:57 certainly, onetom 12:33:02 oops 12:33:07 : readstr ( max -- addr count ) 12:33:09 : save-emit dup printable 0= if drop [char] . then emit ; 12:33:16 this was the first line 12:33:25 are parens comments? 12:33:30 yes 12:33:31 yes 12:33:35 stack somments 12:33:37 comments 12:33:46 --- join: Speuler_ (~l@195.30.184.51) joined #forth 12:33:57 --- part: Speuler left #forth 12:33:58 Whoot! 12:34:00 Very nice 12:34:01 u can c the status of the stack 12:34:06 onetom was right 12:34:13 ok, let me continue 12:34:15 brb 12:34:16 I tried to enter more than BUFSIZE for the name 12:34:30 but at 45 characters, I couldn't type anymore 12:34:34 I could only backspace 12:34:38 very neat! 12:34:43 * GnuVince_ likes 12:37:31 this will b your main program 12:37:52 (actually u should start the designing w it) 12:38:01 What forth are you using, GnuVince_? 12:38:05 : test 12:38:06 cr ." name: " readstr ( addr count ) 12:38:06 cr ." age: " readnum ( addr count age ) 12:38:06 born-date -rot ( born-date addr count ) 12:38:06 cr ." hello " type ." , u were born in " . 12:38:06 ; 12:38:57 rob_ert: Gforth 0.5 12:39:07 this could b done much nicer in C 12:39:45 onetom: Or Python 12:39:48 w printf, but dont forget: 4th is basicly a very sophisticated assembly! 12:40:02 GnuVince_: So am I :) 12:40:08 onetom: Yeah, from what I heard, it sounded like it was 12:40:22 rob_ert: And what editor do you use? 12:40:36 Uhm... pico :P 12:40:36 GnuVince_: and u? 12:40:40 For testing programs 12:40:48 I use NEdit for larger pros 12:40:50 progs* 12:41:17 rob_ert: u should use joe (or what)! it also has syntax highlighting 12:41:42 * GnuVince_ is a Vim guru 12:41:43 hmm.. didn't know that 12:41:46 GnuVince_: should i continue the program? 12:41:50 only thought jed has.. 12:42:03 onetom: no, it will be all right 12:42:13 * onetom also uses vim exclusively 12:42:40 parsing the age might get a bit tricky, with 12:42:44 onetom: I forgive your use of ugly abberviations 12:42:48 or is that <# #s #> 12:42:50 ?? 12:42:51 GnuVince_: tho, number handling is also nasty 12:43:04 #s 12:43:16 Forth isn't really designed for user applications, is it? 12:43:28 GnuVince_: but 4th is mainly not used 4 interactive programs 4 the console 12:43:47 well, the thing is that forth coders are expected to pack around their favorite toolboxes 12:44:12 GnuVince_: well... in its basic form, its really "not much more" than any assembly 12:44:28 I've seen some REALLY sophisticated i/o libs 12:44:41 but not as part of the forth, usually 12:44:47 GnuVince_: but 2 mention an example, have a look at quartus 4th 4 the palm os 12:44:56 No 12:45:02 I don't even have a palm 12:45:16 GnuVince_: it incorporates palmos api, so u can easily create nifty palm apps 12:45:24 OK 12:45:26 GnuVince_: do u have linux? 12:45:37 onetom: of course. 12:45:40 and what kind of linux? 12:45:50 heh 12:45:50 What does that mean? 12:46:02 which distro? 12:46:09 Debian GNU/Liux 12:46:18 what version 12:46:30 (u should b a bit more chatty ;) 12:47:01 he might be doing something in another channel/window 12:47:54 Speuler_: I've asked you this before, I think ... 12:48:14 have you written an assembler for the Hitachi SH3?? 12:48:20 just like me 12:48:34 who, me? 12:48:47 anyone here, really 12:48:57 pardon 12:49:06 although the question was originally directed to Speuler_ 12:49:14 isnt it used in lcd control circuits? 12:49:22 was downstairs... 12:49:24 brb guys 12:49:26 I know he's done embedded work on Hitachi mpus 12:49:28 I got a call 12:49:30 missed the question 12:49:37 some horny secretaries have problems with their printers 12:49:40 Speuler_: I've asked you this before, I think ... 12:49:42 have you written an assembler for the Hitachi SH3?? 12:49:52 be well, GnuVince_ 12:50:01 no, and hitachi didn't contact me for it . 12:50:12 meanwhile, i've given up my dutch address 12:50:24 mail still gets there 12:50:27 onetom: it's a general purpose, low power RISC processor, runs about a MIP 12:50:39 but i haven't got much hope now that they still come over 12:51:00 nonono! I meant in forth 12:51:18 i haven't. not even a system to try it on. 12:51:29 ok, thanks 12:51:38 guess it's time to role one myself, then 12:51:59 any advice on how to specify branch targets? 12:52:18 Yay! 12:52:24 * Soap` does a little dance 12:52:27 Soap`??? 12:52:42 MrReach: do u know the as project? 12:52:48 I finally got forth to talk to the network API =) 12:53:01 ha! which forth/platform?? 12:53:05 onetom: no 12:53:13 sunsite.unc.edu /pub/Linux/devel/lang/assemblers 12:53:17 1410937 asl-1.41r8.tar.gz 12:53:25 from its .lsm file 12:53:29 quartus / palmos 12:53:41 It's been confusing me for days. 12:53:43 Soap`: WAY cool 12:54:09 Soap`: 12:54:10 makes syncronising your Forth DB system *MUCH* easier 12:54:33 * Soap` hides 12:54:52 onetom: what is that? does it have a web page??? 12:55:43 * Hitachi 6309 12:55:43 * Hitachi H8/300(H) 12:55:43 * Hitachi H8/500 12:55:43 * Hitachi SH7000/7600/7700 12:56:05 MrReach: look above 12:56:57 is that a commandline assembler? 12:57:09 it seemed a pretty good piece of work 4 me 12:57:09 I don't see SH# listed 12:57:16 SH3, rather 12:57:36 well, i did say u dont have to roll yr own asm 12:57:48 but its a good starting point for it 12:58:09 I'm writing a forth kernel to run on my HP Jornada 425 12:58:20 doesnt sh3 similar to sh7xxx? 12:58:29 yes, quite similar 12:58:39 then? whats the problem? 12:58:47 tweak asl! 12:58:47 so it needs to write WinCE executables 12:59:17 in addition, the forth itself _ought_ to have a built in assembler, as most forths do 12:59:40 and, by the way, what did u mean by "commandline assembler"? 12:59:53 so if I can pick up an SH3 assembler in forth, that's great 13:00:08 aha 13:00:22 that's where you specify an input file, it writes out an object file or executable file 13:00:25 well gforth also has numerous asm implementations 13:00:42 yes, it does 13:01:08 in fact, I'll probably be metacompiling in either gforth or win32forth 13:01:08 that could also b a good starting point 13:01:30 oh, r u so professional? 13:01:32 wither would do about as well, as for as I can tell 13:01:43 *WAS* a programmer 13:01:51 now a real-estate investor 13:01:59 gforth meta compiling seemd too complex 4 me :( 13:02:18 who's upset because he can't get his expensive playtoy to perform the way that it should 13:02:27 it *IS* 13:03:12 gforth is not a good learning model for compilation ... it uses GCC to optimise it's own code ... it's not really metacompiled at all 13:03:53 i met a highly portable 4th on the net 13:04:01 cant remember its name, but 13:04:14 twas built up on 13 primitives 13:04:28 MrReach: gforth can fully selfcompile. i don't know though whether 0.5 can ... 13:04:38 the other word could b gained from tile, eg 13:04:51 or <0.5 ... 13:05:15 more, it can slef-cross-compile 13:05:17 self ... 13:05:19 onetom: that would probably be eForth 13:05:24 no 13:05:36 it requires ~33 primitives 13:06:00 Speuler_: he abandoned the GCC route?? 13:06:18 don't know. last port was on non-gcc-platform 13:06:32 cool! 13:06:41 no idea whether that cross compiler found its way into the free distribution yet 13:06:51 --- quit: GnuVince_ ("[BX] We are BitchX of Borg. You will be assimilated. Using mIRC is futile.") 13:07:08 last port was for cpu with no software support whatsoever 13:07:24 (actually, even cpu didn't exist:) 13:07:37 (cpu emulator...) 13:07:38 oh! one of those @:^> 13:08:10 exclusively gforth used for port 13:08:27 pc as host platform 13:08:35 how do you come to know of this? 13:08:41 i worked with him 13:09:08 jens did the port. i worked on the os 13:09:18 jens = jens wilke 13:10:14 maintainer of gforth 13:11:32 * MrReach nods. 13:11:45 do they publish their thoughts anywhere? 13:12:00 I'd like to subscribe to a list that discusses such things 13:12:32 "they" (munich forth group) meets once a month 13:12:56 wow 13:13:06 electrically or phyisically? 13:13:13 pub 13:13:16 restaurant 13:13:29 actually, pizzeria 13:13:45 heh 13:13:55 bit of a strech for me to visit 13:14:08 :-( just like 4 me 13:14:24 and they discuss things in german, iguess 13:14:24 small meeting. usually not more than 6..8 people 13:14:43 jens and bernd (paysan) are regular attendants 13:14:57 german, yes 13:15:01 heh, everyone speak German? 13:15:15 * MrReach nods. 13:15:31 those guys ARE german ... 13:16:25 * rob_ert is not german. But on the other hand, he is no good & famous hacker. Not even good. Not even close to decent. 13:16:28 next meeting would be march27 13:16:39 well, time for me to unload the camper and fix the damn brakes. 13:16:50 unload ? 13:16:56 been travelling ? 13:17:06 yes, went over to the coast for a week 13:17:16 cool 13:17:21 brake controller decided to quit on the way home 13:17:32 less cool 13:17:43 spooky 13:18:07 nothing 'gainst good solid hydraulics 13:18:14 Uhmm... What timezone is MET? 13:18:18 that's what I'm using 13:18:19 CET 13:18:43 GMT+1 (winter) GMT+2 (summer) 13:18:46 in fact, I had to search and search and search through junkyards to find a hydraulic controller 13:18:58 they only sell electric now 13:19:04 Speuler_: Why would NASA use that time? 13:19:16 beats me 13:19:38 intention to emigrate ? 13:19:42 rob_ert: possibly a fixed offset from Greenwhich? 13:19:54 No idea... hrmhrm... 13:19:57 GMT would make more sense 13:20:27 er 13:20:33 n/m.. seems to be something strange 13:20:39 what about EDT? 13:20:53 maybe it's a pride thing ... didn't want their prime meridian on any major cuntry @:^> 13:21:52 well, time for me to go 13:21:53 most western europ countries use CET / MEZ 13:21:56 be well, each of you 13:22:04 exceot UK, ireland, island 13:22:06 except 13:22:08 --- part: MrReach left #forth 13:22:27 HI 13:22:35 HI 13:22:38 HI ETAOIN 13:22:50 would anyone like to finish programming this for me? 13:23:10 at normal rates ? 13:23:25 huh? 13:23:51 hehe 13:24:19 quick, give me a four digit prime number 13:24:56 1684691 13:25:17 oh thanks 13:26:12 9887 13:26:17 9829 13:27:01 there are 1061 4 dig primes 13:27:33 okay 13:28:34 --- join: bpt_ (bpt@bespin.org) joined #forth 13:29:17 :) 13:29:46 this web based prime generator is just sitting there 13:30:14 not working 13:31:50 :-) 13:31:59 Web based programs kind of suck. 13:32:08 I already gave up 13:32:18 prime numbers are wonderful 13:32:28 How's your forth MUD going, [whoever writing it]? 13:32:32 Yeah 13:32:43 Is 2^257-1 a prime? 13:33:01 I don't know 13:33:09 likely 13:33:14 and I'm not going to tell you 13:33:18 but not 100% sure 13:40:54 what is the standard name-scheme for exceptions in 4th? 13:41:21 s" naaasty thing" exception constant ?_______? 13:43:45 http://home.hccnet.nl/a.w.m.van.der.horst 13:43:58 albert is forth- and prime number freak 13:44:10 Hmm.. what's the name of a machine like Voyager 1, "space probe"? 13:44:31 thanks Speuler_ 13:44:51 rob_ert: that sounds good 13:44:57 "The horst algorithm" ... 13:45:44 Etaoin: := 13:45:45 :) 13:46:10 The Forth gg is trying, in cooperation with the 68000 gg, to establish a new world record twin prime counting 13:47:08 we had a grand total of 190 transputers in 7 boxes working on sieves... 13:47:38 gg? 13:47:49 gebruiker groep = user group 13:47:59 Hehe, OK 13:48:06 (dutchees.. ;) 13:48:16 hcc is dutch computer club 13:48:53 rob_ert: who else :) 13:49:16 Good q. 13:49:44 brb 13:49:58 okay 13:51:29 Hmm 13:51:40 His english seems to be a bit poor. 13:51:44 :P 13:54:10 his dutch is quite allright 13:54:31 But since most people don't know dutch.. :) 13:54:46 well. 13:54:49 i do 13:57:11 So? 13:57:15 :) 13:57:28 There is only one Speuler_, but 1.2 billion chinese people :P 13:57:29 t'is a SEP 13:57:35 SEP? 13:57:46 Somebody Else's Problem 13:58:03 SEP (c) Douglas Adams 13:58:19 (rip) 13:58:20 Ah 13:58:24 Now I remember :) 13:58:32 (but in swedish, that's of course different) 13:58:38 NAP - Någon Annans Problem 13:58:39 :) 13:58:59 http://home.hccnet.nl/a.w.m.van.der.horst/sieve.frt <-- :-D 13:58:59 What's that? 13:58:59 pascal? 13:58:59 *lol* 13:58:59 Forth, stupid.. Pascal doesn't look like that at all ;) 13:59:00 hehe... its clse 13:59:05 lol, Pascal close to forth :) 13:59:43 just because of the indenting ? 13:59:58 No idea.. 14:00:38 what channel does that come form ? 14:00:47 Guess :) 14:00:53 The opposite of #forth. 14:00:56 #stinkfoot ? 14:01:02 Actually not. 14:01:04 #ypn 14:01:09 ah 14:01:51 shows you that forth is not very known out there 14:02:28 forth is a structured language like pascal is :P 14:02:38 well, you knew that 14:03:59 adding thes asciis of pascal gives you 3**4 more than adding asciis of forth 14:04:52 forth is mind numbing 14:05:02 and not in a good way 14:05:18 etaoin: read Thinking Forth and it'll clear your head up :) 14:05:38 blah 14:06:22 if your feet smell, and your nose is running, make sure you're not upside down 14:07:08 Socialistic prime number freak and forth programmer.. :) 14:07:34 he's a nice guy, actually 14:07:53 Do you know him IRL? 14:07:57 hair down to his belt 14:08:00 no. in person 14:08:06 ah 14:08:10 Ever met him? 14:08:11 in real life .. 14:08:21 i thought "irc" 14:08:25 yes 14:08:31 Oh, cool. 14:08:45 I'd have to actually buy a book? 14:09:18 Whoa.. 1948, that's even before Elvis ;) 14:09:36 etaoin: you might be able to find Thinking Forth at your local library.. might have to try interlibrary loan.. 14:10:01 anybody ever met captain crunch ? 14:10:08 i've talked to him on icq 14:10:22 i was his stretchin' victim 14:10:28 went to his page and his icq number was on it 14:10:28 hehe 14:10:39 stretchin' victim ? 14:10:48 john needs stretching 14:10:54 for his back 14:10:58 exercises 14:11:10 ah, so he got you to stretch him 14:11:11 heheh 14:11:19 cool... assembler written in forth 14:11:21 heavy man 14:11:36 he's mobile or not ? 14:11:42 yes. quite so 14:11:48 militant non-smoker 14:11:59 visited me ... 14:12:09 in amsderdam ... 14:12:13 amster 14:12:27 bad place for non-smokers 14:13:18 * rob_ert is also a non-smoker. 14:13:25 (crunch is maybe more famous for his different-color boxes) 14:13:26 But - I'm not in Amsterdam. 14:13:56 crunch is famous for discovering the whistle and whistling in the phone to get the tandem carriers to switch or whatever 14:14:07 xactly 14:14:09 (i read a bunch of hacker & phreaker lore when i was younger) 14:14:24 the kellogs hack 14:15:04 CCITT-4 lines :) 14:15:10 --- join: GnuVince (~vince@modemcable049.128-203-24.que.mc.videotron.ca) joined #forth 14:16:19 "I am at a dan3+ level at least in c, c++, assembler, Forth, reverse engineering and project control. But you know that. Because you have seen my site and you haven't quit yet." <-- Bragging, eh? :) 14:16:53 self-judgement 14:16:58 :-) 14:17:03 dan 3+ level in forth ? 14:17:17 oh, speuler's site ? 14:17:21 nah 14:17:37 futhin ! 14:17:42 i'm very modest 14:17:45 :P 14:18:15 speuler: lies! :P 14:20:11 futhin: what's the other one ? 14:20:44 are you refering to the plural? 14:20:58 affirmative 14:21:24 it's a cliche, it doesn't follow strict grammatical english rules.. 14:21:54 Speuler_: If I want to write a forth word, to numerically derive a funciton, how can I pass the function to use (a word) to the "derive" word? Like function pointers in other languages... 14:22:11 oh, you can just post a sweeping statement, and then blame the language ? 14:22:35 rob_ert: ' function foo 14:22:38 ' word 14:22:57 uhm.. can you give a quick example? 14:23:00 : foo ." would execute " u. ; 14:23:13 ' dup foo 14:24:17 : foo ." test " u. ; ok 14:24:18 ' dup foo test 134562804 ok 14:24:36 what is test1 ? 14:24:44 speuler: i'm sorry if your feelings were hurt 14:24:57 test1? 14:25:01 futhin: weren't 14:25:15 rob_ert: what is test ? 14:25:28 hm 14:25:38 no idea, heh 14:26:01 ah 14:26:05 it writes that 14:26:06 but it is a cliche, i've seen it many times, and it is meant in a jokingly manner.. so it really wasn't a general statement or meant to be 14:26:06 i mean, i know what test is, but no idea why you use it here 14:26:07 the output 14:26:22 ah 14:26:24 got it 14:26:29 : FUTHIN PUT IN PAPIERKORB ; 14:26:57 rob_ert: blame my lack of caffeine 14:27:02 :) 14:27:03 papierkorb, is that a nice warm hole? 14:27:10 Almost 14:27:18 futhin: put a light into, then it is 14:27:22 If you throw a butning match in it, it will be 14:27:26 burning* 14:27:49 so 14:28:06 how do I make the function x call the function f here: 14:28:12 --- part: GnuVince left #forth 14:28:16 rob_ert: execute 14:28:21 : x [here f should be called ... ; 14:28:24 : f ... ; 14:28:29 huh? 14:28:38 : x execute ; ' f x 14:29:58 OK.. where if the pointer to f put? 14:30:10 rob_ert: rephrase 14:30:13 uhm 14:30:14 I mean 14:30:20 how does it know how to call f? 14:30:25 is it put on any stack? 14:30:32 execute calls word which address is on top of stack 14:30:48 ' word puts execution address of "word" on stack 14:30:50 ok, normal data stack? 14:30:53 yes 14:30:58 cool 14:30:59 thanks :) 14:31:02 np 14:32:14 : foo execute ; redefined foo ok 14:32:14 : foo2 ." Hello!" ; ok 14:32:14 : foo3 ' foo2 foo ; ok 14:32:14 foo3 14:32:14 *the terminal*:1: Attempt to use zero-length string as a name 14:32:15 foo3 14:32:19 ^^^^ 14:32:21 Backtrace: 14:32:23 $40155428 throw 14:32:25 $40156068 name-too-short? 14:32:27 $401560A4 (') 14:32:29 $40175264 ' 14:32:35 : foo3 ['] foo2 foo ; 14:32:48 ok 14:33:01 thanks! :D 14:33:11 My forth mentor ;) 14:33:22 know the difference between ' and ['] ? 14:33:43 yes, [ puts it in intepretation mode, right? 14:33:50 (and ] to compile mode) 14:33:52 no 14:33:55 not? 14:33:59 [ does 14:34:05 but ['] is one word 14:34:10 ah, ok 14:34:12 no spaces 14:34:18 then what's the difference= 14:34:18 ? 14:34:43 : foo ' execute ; foo words 14:34:55 : foo ['] words execute ; foo 14:35:08 ' gets compiled 14:35:25 during runtime, it determines address of word following the invocation 14:35:43 ['] determines address of next word during compilation 14:36:33 ok 14:36:36 thanks :) 14:36:41 np 14:36:53 how to put/get something deep in the stack? 14:36:54 leve 3 or 4 14:36:57 level* 14:37:10 (2 or 3, if you start from 0) 14:38:49 rob_ert: two ideas. 14:39:00 1: restructure program flow 14:39:10 2: use pick (not encouraged) 14:39:21 : integrate ( function from to -- value ) 14:39:28 any idea of how to structure that? 14:39:32 "thou shalt not pick, and thou shalt not roll ..." :) 14:39:34 any factorising? 14:39:38 :) 14:40:23 3: use >r ... r> 14:40:39 over ( a b -- a b a ) <-- correct? 14:40:49 affirm 14:40:49 Speuler_: Which of them do what? 14:41:04 >r: move top of stack to return stack 14:41:16 r> move top of return stack to stack 14:41:31 ok, danke 14:41:35 (once again) 14:42:16 i'll have to put "np" on a function key 14:42:21 :P 14:42:31 how can you return from a function= 14:42:42 s/=/?/ 14:42:48 before it's finished 14:42:55 before ; that is 14:43:57 is pick ( a b c -- a b c a ) correct? 14:45:41 (brb) 14:50:17 exit, better throw 14:50:25 pick: no 14:50:39 0 pick same as dup 14:50:43 1 pick same as over 14:51:04 2 pick ( a b c 2 -- a b c a ) 14:51:15 3 pick ( a b c d 3 -- a b c d a ) 14:52:05 : foo key 27 = if 1 throw then ." foo finished" ; 14:52:30 : bar ['] foo catch if ." foo not finished" then ; 14:53:06 exit is quicker, but requires you to clean up stack yourself 14:58:04 Okay 14:58:17 with..? r> drop? :P 14:59:19 for example, yes 14:59:33 catch / throw cleans up the stack itself 14:59:44 but costs more cpu cycles 15:00:46 :) 15:00:55 thanks again (finished with the "np" hotkey?) 15:01:05 ne 15:01:34 schade 15:09:41 why does chanserv hang out here? 15:10:10 BBIWY ? 15:10:22 huh? 15:10:29 big brother ... 15:10:41 oh 15:10:42 :) 15:10:47 #assembler 15:11:35 what about it? 15:12:27 --- Topic for #assembler is Big Brother is watching you, SnakeLadder. 15:12:44 (he told me to put a warning message up) 15:12:49 (for clog..) 15:12:59 little sister is throwing sand at you 15:13:23 god bless you 15:13:39 * rob_ert wonders that the heck Speuler_ is talking about. 15:13:40 Etaoin: you're a fundamentalist ? 15:13:58 Speuler_: no. you sat "at you" 15:14:03 s/sat/said/ 15:16:08 : :) good night ; : good ." good " ; : night ." night" ; 15:16:09 :) 15:16:24 heh 15:16:26 :) 15:16:27 :) 15:16:49 --- quit: rob_ert (":)") 15:20:07 who is developing oodc? 15:20:39 my logs sayCaffeineJunkie 15:20:56 mine too :) 15:21:19 how r u seraching in your log anyway? 15:21:41 r u searching in the logfile itself? 15:22:27 no 15:22:38 my client keeps a buffer of all the text while I'm on 15:22:43 and has a searching feature 15:23:08 ah, ive found it 15:23:13 search in the buffer 15:23:28 that's me 15:23:35 CaffeineJunkie, i mean 15:23:50 ah :) 15:24:10 this coffe... nick was a bit suspicios 4 me 15:24:22 i didnt remember of it... 15:24:43 i tend to change modes which i reflect with my nick 15:24:50 PhoodPhrenzy is me too 15:24:58 or 9of7 15:25:00 shit, i forgot what i wanted to ask :) 15:25:05 'bout oodc 15:25:20 yes, about that, but what?... 15:25:36 what does phoodphrenzy mean anyway? 15:25:43 phood is food, right? 15:25:46 frantic food consumer 15:25:54 hungry programmer 15:26:09 but what is phrenzy 15:26:19 frenzy ['frénzi] õrjöngés, dühöngés, õrület, õrültség, roham 15:26:21 mad? 15:26:32 yes 15:26:37 k 15:26:56 to be in a frenzy = have a strong urge to 15:27:04 (still cant recall the question :( 15:27:14 c 15:27:18 about 9of7 ? 15:27:33 how cares :P 15:27:37 just joking :))) 15:27:46 who, imean 15:27:59 * onetom is a bit dyslexic 15:28:30 ah, got it! 15:28:39 what do u mean by * no use of non-ISO Forth words 15:28:39 ? 15:28:57 r u refering 2 the ANS standard? 15:29:16 actually, i don't refer, but it means, no non-ANS 15:29:21 daniel refers ... 15:29:36 who is daniel? 15:29:41 and how old is he 15:29:44 i'm the "strong contribution ... different implementation" man 15:29:53 is he is the captain, i mean ;) 15:31:39 s/^is/if/ 15:31:40 i was wondering what object modell should b used in our forth os ... 15:35:31 the free implementation is daniel's. the proprietary we worked together on. 15:35:39 (project, company) 15:35:45 (pay) 15:36:01 --- quit: onetom (carter.openprojects.net irc.openprojects.net) 15:36:02 free version is modelled after the proprietary one 15:36:17 but written again. same concept, same interface, same model 15:38:11 --- join: onetom (tom@adsl52070.vnet.hu) joined #forth 15:39:07 test 15:39:29 is this a regular net split or just an accidental? 15:39:47 "regular"? 15:45:19 it happens every day 4 me, i think 15:47:20 i should develop my kernel.fs, i guess 15:48:05 there r so many of u loads down it 15:48:23 emm, loads it down? 15:48:36 or downloads it? 15:49:13 or down it loads :) 15:49:28 :P 15:50:24 is there a homepage for this channel by chance? 15:50:45 doesnt offer OPN such a service? 15:50:45 Not that I know of. 15:50:48 * Soap` looks around 15:51:11 hey, dont forget to look into yr pocket! 15:51:36 and leave no stones unturned even ;) 15:59:17 good night all 15:59:28 cafe closing ... 15:59:47 --- quit: Speuler_ ("using sirc version 2.211+KSIRC/1.1") 15:59:48 good night 16:26:12 hi 16:33:13 hi 16:33:47 [10:42] what is the standard name-scheme for exceptions in 4th? 16:33:47 [10:42] s" naaasty thing" exception constant ?_______? 16:36:24 timeout? EAS4read and throw 16:36:40 this looks ugly, doesnt it? 16:40:33 hrm? 16:50:38 dont u undesrtand me question? 16:51:24 what is the name of an exception look like usually? 16:54:53 hey, don't ask me 16:55:02 I've only known forth for two weeks 16:56:15 ah, im mixing up ppl all the time :) 16:58:19 but uve already used exception handling in oovect... 17:00:19 abort" blah blah" <-- exception handling 17:22:31 onetom: I come from higher level languages where exception handling is the norm 17:36:30 --- quit: Soap` (".") 17:36:47 --- join: Soap- (flop@210-54-74-176.dialup.xtra.co.nz) joined #forth 17:46:35 --- quit: Soap- () 17:53:16 exception handling is the norm in forth too i think 17:53:52 --- join: Soap- (flop@203-96-105-7.dialup.xtra.co.nz) joined #forth 19:03:59 --- quit: Etaoin ("raise OutOfInternet") 20:36:40 --- quit: futhin (Read error: 104 (Connection reset by peer)) 20:37:09 --- join: futhin (~bloh@h24-64-174-2.cg.shawcable.net) joined #forth 21:25:31 --- quit: futhin ("sleep") 21:43:41 --- quit: bpt_ ("leaving") 22:01:58 --- join: edrx (~edrx@Panda.Math.McGill.CA) joined #forth 22:02:12 --- part: edrx left #forth 22:38:47 --- join: rob_ert (~robert@h173n2fls33o898.telia.com) joined #forth 23:59:59 --- log: ended forth/02.03.14