00:00:00 --- log: started forth/03.03.08 01:01:35 Now he is. 01:50:24 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 02:08:03 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 02:39:53 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 03:17:39 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 03:38:10 --- quit: ramnull (Remote closed the connection) 04:38:14 --- join: TheBlueWizard (TheBlueWiz@207.111.96.91) joined #forth 04:38:21 hiya all 04:46:51 Hi :)( 04:48:01 hiya Robert...what is that smiley? 04:52:47 --- quit: skylan (Read error: 104 (Connection reset by peer)) 04:52:50 --- join: skylan (sjh@Riverview99.tbaytel.net) joined #forth 04:52:59 TheBlueWizard: Typo 04:55:41 ah...hehe...for a second I thought it might be a severe case of tics :) 04:57:21 Haha, not really 05:48:42 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 05:50:41 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-29.dad.adelphia.net) joined #forth 05:50:51 . 06:00:55 --- join: Speuler (~Speuler@mnch-d9ba4867.pool.mediaWays.net) joined #forth 06:02:09 . 06:03:00 What's up? 06:03:13 your text now. 06:03:18 nothing much else. 06:03:36 I outta make a Forth IRC client for all that. 06:03:44 'morning 06:04:44 ramnull: which new forths have you seen? 06:04:47 lately that is. 06:05:24 Actually, I'm keeping it down to GForth, Bashforth, and IsForth. 06:05:29 * ramnull grins 06:05:33 :D 06:06:04 It's a hell of a lotta fun playing with the compilers, even though I cant really do much yet. 06:06:59 much by way of... ? 06:07:34 Text processing really. I can move numbers around easy enough though. 06:07:50 text processing in forth? 06:08:00 I think it is begging you to write a library for it . 06:08:14 ramnull: for gforth, text processing gets simple with http://logilan.info/~l/stringstack.f 06:08:23 I think it is too. 06:08:27 or write your own :) 06:08:39 gilbertdeb: you were quicker 06:09:02 heheh. 06:09:56 I found a book at my local library yesterday called 'cellular automata machines' and it uses software called camforth 06:10:06 has anyone heard of or seen this software? 06:10:06 I might do a little of both. I get the impression that Chuck Moore is descended from the Amish sometimes. 06:10:22 ramnull: he is a born again turingite. 06:10:35 some stuff doesn't seem too far from brainf*ck 06:10:46 Hmmmph, well then that might explain it. 06:11:25 too much minimalism and you end up with a single instruction computer. 06:11:27 gilberdeb: If you want a hackers language, take a look at the language and database software over at www.kx.com 06:11:31 with one instruction. 06:12:32 Speuler: how did you manage the none 'cut' solution? 06:12:35 did you use IFS? 06:13:25 gilbertdeb: like a=abcde ; echo ${a:0:1} 06:13:56 take a look at unpack 06:13:57 that's what's called by accept 06:14:10 unpack splits a string into a char array 06:14:21 accept is the forth listener right? 06:15:14 ( a n1 -- n2 ) gets n1 chars from std in, writes them to a, n2 is # of actually entered chars 06:15:25 same as the ANS accept 06:16:32 Alright, I'm a little fuzzy on allocating space without using cells. It's "create foo , , " for eight bytes right? on a 32 bit system. 06:16:44 1 constant cell 06:17:01 1 constant char 06:17:04 :) 06:17:24 ramnull: what forth are you talking about ? 06:17:49 Speuler: I'm dicking with IsForth again. 06:18:00 (you see, that's the problem when NOT using cells) 06:18:08 gets system specific 06:18:36 Yeah, I know. But I'm doing it as an educational excercise. 06:18:55 if you don't use cell, , commaes on basic word width 06:19:08 depending on your system 06:19:16 Gotcha. 06:19:24 in isforth, cell is 4. in bashforth, cell is 1 06:19:47 , allocate a cell 06:20:01 it may do 4 allot, or 2 allot, or 1 allot 06:20:06 sooner or later 8 allot 06:20:23 Same with "allocate"? 06:20:40 if your source says "cell allot", you'r source is more portable 06:20:54 right 06:21:31 "Cell" is like a freaking C preprocessor directive. 06:21:50 cell means "the number of memory address increments required to create the room for one stack element" 06:22:01 Gotcha. 06:22:15 Cells are good. 06:22:32 I just wanna know how to do it by hand. 06:22:39 yup...though there are a few who hate the word "cell" 06:22:51 it does NOT necessarily mean "bytes per stack element" 06:23:13 TheBlueWizard: hi. 06:23:22 hiya Speuler 06:23:28 TheBlueWizard: who failed to bring up any argument against it yet 06:23:30 TheBlueWizard: you spoke AGAIN! 06:23:31 :) 06:23:34 except emotional ones 06:23:54 gilbertdeb: "again"? what do you mean? 06:24:02 and "it is not difficult to rewrite a program# :) 06:24:19 I think I440r is one such guy who hate "cell" 06:24:37 that's why there's no cell in isforth 06:24:52 Aha, I got it. 06:24:57 I can go places with this. 06:25:00 but he looks to much "interpreter", not "program source" 06:25:18 TheBlueWizard: nothing at all ... 06:25:29 Its just I am too used to some lurkers never speaking :D 06:25:32 Your talking to an Ada junkie. I know all about program source. 06:25:38 goes like this "using isforth, you know that cell is 4. so why would you need a constant for it" 06:26:21 idea of compiling source in another forth is difficult to relay 06:26:44 gilbertdeb: ah...I normally talk here...but I was searching for some tools on the Net, and checking out emails, etc...hence my lurking mode ;) 06:26:54 but there's no problem. 06:26:54 * gilbertdeb nods. 06:27:05 4 constant cell : cells 2* 2* ; 06:27:07 problem solved 06:27:12 no argument needed 06:27:50 or : cells 2* 2* ; 1 cells constant cell 06:29:10 or here 0 , here - dup allot negate constant cell 06:33:20 Gotta go. Gotta work. bbl 06:33:21 --- quit: ramnull ("ircII EPIC4-1.1.7 -- Are we there yet?") 06:35:04 gotta go...bye all! 06:35:23 --- part: TheBlueWizard left #forth 06:37:38 --- quit: skylan (Read error: 54 (Connection reset by peer)) 06:40:53 --- join: skylan (sjh@207.164.213.69) joined #forth 07:43:50 --- quit: skylan (Read error: 54 (Connection reset by peer)) 07:43:52 --- join: skylan (sjh@207.164.213.119) joined #forth 07:54:18 http://www.ai.mit.edu/projects/im/cam8/ 07:54:29 anyone know what they ^ are talking about? 08:06:56 most known example for cellular automata is probably conway's game of life 08:07:16 array of entities with simple rules, affected by surrounding 08:07:29 as a whole, complex behaviour emerges 08:11:59 Speuler: they did the main thing in forth. 08:12:22 or at least according to the book I have, they use forth to run the CAM machine. 08:12:36 but I don't have a cam machine. 08:12:49 I wonder if they have it in software or it can be found somewhere. 08:12:50 you got a forth machine :) 08:12:59 indeed :D 08:13:07 that scalable, parallel thingie just adds speed 08:14:06 but if i tell my forth what their book says, it won't work. 08:14:10 they do use forth for sure. 08:14:31 try game of life which is very difficult to implement 08:14:37 ahem 08:14:40 NOT very ... 08:14:42 why is it difficult to implement? 08:14:56 *grin* 08:15:00 : life center 0= if 8sum { 0 0 0 1 0 0 0 0 0} else 08:15:23 8sum { 0 0 1 1 0 0 0 0 0} then >plno ; 08:15:40 rules are iirc no splot, 2 neighbour -> create splot 08:15:51 : 8sum north south east west n.west n.east s.west s.east + + + + + + + ; 08:15:53 splot, 3 neighbous , keep splot 08:16:03 splot, >4 neighbours, splot dies 08:16:24 that is their camforth life 08:17:01 : north me 0 -1 d+ c@ ; 08:17:24 how do you know that? 08:17:34 : n.east me 1 -1 d+ them c@ ; 08:17:39 : north me 0 -1 d+ them c@ ; 08:17:57 but can be optimized a lot 08:18:57 first and last line, 1st and last columns are something to watch out. 08:19:16 easiest is probably, wrap around 08:20:06 used life as starter into oo programminh 08:20:06 ing 08:25:30 do you think the cam8 machine is doable? 08:26:44 it already exists in some capacity ... 08:26:54 but as a purely software thingamabob? 08:27:19 --- join: deluxe (~deluxe@pD9E4EFA2.dip.t-dialin.net) joined #forth 08:27:22 parallel computing and cellular automata fit well together 08:27:41 extreme case would be, one node per cell 08:27:47 bon jour. 08:27:54 grias di 08:27:59 :) 08:28:06 :-) 08:28:22 >:-)) 08:28:25 snak je ook plats ? 08:28:35 that looks like dutch. 08:28:45 not quite 08:28:47 almost 08:28:56 dutch is german with double a o and 'u' vowels :D 08:29:09 sometimes 'e' as well. 08:29:10 dutch would be "praat" instead of "snak" 08:29:26 so what did you write ? was that german? 08:29:32 plattdütsch 08:29:32 and "nederlands" instead of "plat" 08:30:23 but, if i talk to somebody from northern germany, say, hamburg, in dutch, he understand everything 08:30:30 and the other way around too 08:30:51 ah . 08:30:54 moin moin 08:30:54 plat german and dutch are very similar 08:30:55 ;) 08:31:27 I know a few northern germans. 08:31:35 lefke, tomke, bente 08:31:42 all the men are called jan. 08:31:57 i have to visit bente sometime. 08:48:30 Speuler: didn't have any time yet to look further on bashforth, but will... :-) 08:50:49 no problem. no obligation 08:51:14 deluxe: what version do you have ? 08:51:27 active Forth coders appreciated ;-) 08:52:26 few days ago dl'd them all 08:52:52 .36 is pure now. compiles considerably quicker from source too 08:53:07 "pure" = no external commands used anymore 08:53:36 used cut before, for input line processing 08:53:41 not anymore 08:54:32 have you once tried the assembler written in bash? 08:54:48 looked at it 08:54:50 not tried 08:54:58 same here 08:55:25 was considering adding code words, by assembling, and executing file 08:55:44 but parameter passing through stack wouldn't be efficient 08:56:02 nor would executing a file for a code word be 08:56:40 did you read moore's "interview" here on the #? 08:57:33 recent one ? 08:58:02 * deluxe knows about one only 08:58:24 cm was on this channel several times 08:58:25 when? 08:58:57 last time i remember was maybe half a year ago 08:59:18 wasn't always around 09:00:29 he was on euroforth too 09:00:41 bit more than a year ago 09:00:49 nearly went there for a presentation 09:01:00 last time is was there was '95 09:01:30 but was in the middle of a project. 09:01:37 rush one 09:01:52 difficult to drop out then 09:02:11 wasn't just the time for the conference. would have needed some preparation 09:02:39 the thing got presented anyway, but w/o me 09:03:52 cm presented the x25 there 09:04:15 Internet Chat Room Log with Charles Moore 09:04:15 05/04/2002 09:04:27 http://www.ultratechnology.com/chatlog.htm 09:04:39 april 2002 .. yes, think i was on the channel then 09:04:49 not sure though 09:05:04 was the first 09:05:19 another session after? 09:05:42 yep 09:05:49 oh 09:05:57 * deluxe curious 09:06:36 the session i mentioned is full of wisdom 09:06:58 i thin thin (then fuzzin) took the job of coordinating the question onto him 09:08:46 futhin 09:18:59 * Robert Was There (tm) 09:19:48 robert, you missed the point ;-) 09:19:59 I never read what you said 09:20:01 Except 09:20:04 18:04:13 < deluxe> Internet Chat Room Log with Charles Moore 09:20:15 :) 09:20:50 tztztz. 09:25:33 out of that log i read a proposed straight path 09:26:08 it's a subjective impression only 09:26:24 ... 09:26:38 --- 09:27:13 Robert: what? 09:27:50 Oh, just wanted to continue on that three-eyed monster. 09:30:11 Speuler: "proposed straight path" was the thought relation to bashforth 09:30:28 Speuler: just an idea 09:30:34 ? 09:30:59 ah. low threshold forth 09:31:29 not only 09:32:53 low threshhold? 09:32:57 MIF? 09:40:50 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 10:16:00 --- quit: deluxe ("bbl") 10:17:46 robert ? 10:18:07 Yes, Speuler? 10:18:19 just listening to gwar: linux penguin attack :) 10:18:37 Neat... 10:18:45 --- join: deluxe (~deluxe@pD9E4EFA2.dip.t-dialin.net) joined #forth 10:18:45 got some heavy stuff. like "america must be destroyed" 10:19:07 Heh. 10:19:12 gwar? 10:21:37 gilbertdeb: kind'f noisy band 10:22:06 found the linux penguin attack title funny 10:22:27 fist band i know who has a song about linux 10:22:28 first 10:26:54 on the knoppix cd there's one too 10:27:37 knoppix rules. 10:27:38 by whom ? 10:28:07 it is a techno thing. not as pleasant to hear as bjork :D 10:28:51 ah. gwar is rock, quite heavy 10:28:57 most of them 10:29:14 * gilbertdeb is away: "off to find the meaning of 'brb'" 10:29:55 titles like "saddam a go go" 10:32:56 not sure if it really is a techno style song. i'll tell you by whom occasionally. 10:34:07 btw just in case, is the bashforth site uploadable? 10:34:27 "o canada" is not heavy at all 10:34:27 nope. need passwd to upload 10:34:57 soon, hopefully, forthfreaks will be on again 10:35:06 uploadable 10:35:40 for the moment, i need to put things on. you can mail them to me 10:36:06 what's there will go over to forthfreak.net when it's available again 10:39:41 --- quit: gilbertdeb (""Monk has left the building"") 10:50:14 --- quit: TreyB () 11:51:57 --- quit: deluxe ("maintenance thing brb") 11:54:32 --- join: deluxe (~deluxe@pD9E4EFA2.dip.t-dialin.net) joined #forth 11:59:29 --- join: I440r (~mark4@1Cust253.tnt3.bloomington.in.da.uu.net) joined #forth 11:59:54 Hey 12:05:47 !! 12:05:51 i changed for/nxt 12:06:14 so that 10 for r@ . nxt shows 9 to zero instead of 10 to 1 12:06:31 Good :) 12:06:43 yea. i meant to do it ages ago but kept forgetting:P 12:59:59 --- join: deluxe_ (~deluxe@pD9E4EFA2.dip.t-dialin.net) joined #forth 13:00:52 --- quit: deluxe (Read error: 104 (Connection reset by peer)) 13:01:50 --- nick: deluxe_ -> deluxe 13:39:09 --- quit: deluxe ("maintenance") 13:43:36 --- join: deluxe (~deluxe@pD9E4EFA2.dip.t-dialin.net) joined #forth 13:44:16 --- join: gilbertdeb (~gilbert@fl-nked-ubr2-c3a-29.dad.adelphia.net) joined #forth 13:51:45 --- quit: deluxe ("bb") 14:22:33 --- quit: I440r (Read error: 113 (No route to host)) 14:23:53 --- join: deluxe (~deluxe@pD9E4EFA2.dip.t-dialin.net) joined #forth 14:45:55 --- join: TheBlueWizard (TheBlueWiz@pc0cdn1d.ppp.fcc.net) joined #forth 14:45:59 hiya all 14:46:17 hullo 14:47:48 hiya gilbertdeb (I'm "talking" lol :) 14:53:17 Heh 14:53:26 Hi gilbert, Mr Wizard.. 14:53:56 hiya Robert 14:57:07 The: if I may know, wtf were you trying to ask in #debian-fi? 14:57:29 fi? 14:57:47 finland 14:57:59 ah. 14:58:02 Hah. 14:58:17 now I am confused. 14:58:25 are XeF4 and TheBlueWizard finnish? 14:58:42 No. :) 14:58:54 from the looks of his text, TheBlueWizard isn't :) 14:59:05 and er, I'm not 14:59:58 the finnish must be confused as well! 15:00:45 gilbertdeb: no, I am not a Finn...just learning a bit of Finnish :) 15:00:56 oh. 15:01:55 XeF4: ah...I was asking whether it is for Debian candidates re /topic (a:a:nestysintoa) 15:02:25 ehdokas=candidate 15:03:16 ehdokkaat=candidates (or ehdokkaita in partitive) 15:03:18 yeah...but I need to make it a plural, and that stumped me LOL 15:03:23 not "ehdokahit" 15:03:26 ah! 15:03:35 I was wrong LOL 15:03:55 --- quit: deluxe (Read error: 110 (Connection timed out)) 15:04:42 so: Debianinehdokkaaixxxko? (where xxx represents "for") 15:04:52 Argh. 15:04:56 Finnish... :( 15:05:24 er , what is a debian candidate anyhow? 15:05:33 * XeF4 somehow doubts "ehdokas" is appropriate here 15:06:55 Robert: sorry! but I find it interesting and challenging 15:07:19 TheBlueWizard: I hear it is related to hungrarian. 15:07:21 is that true? 15:07:29 "ehdokkaille" = "to the candidates" remember that a long vowel (aa) shortens with the plural -i- 15:08:35 TheBlueWizard: It's OK, as long as I don't have to use it ;) 15:09:12 oh right re: shortening the vowels...I sometimes mix vowels up :) 15:09:43 Robert: no, you don't have to use it...but it is easy to learn how to say hi (hei, terve) :) 15:10:05 gilbertdeb: Finnishly is distantly related to Hungarian, yes 15:10:17 I know... I'm a Swede you know, all swedes know "Yksi, kaksi, kolme... Terve..." :P 15:10:26 Er.. know x3 15:10:38 or as the Danes put it "yksi kaksi kossu" 15:11:07 If that was a joke, I didn't get it. :) 15:12:14 kossu is Finnish booze 15:12:55 lol 15:13:47 "Kossa", is what swedish babies call cows. 15:15:18 ah 15:18:01 --- quit: Speuler (Read error: 60 (Operation timed out)) 15:29:17 --- join: tcn (tcn@tc2-login32.megatrondata.com) joined #forth 15:30:20 HCN, welcome. 15:30:51 hiya tcn :) 15:31:41 hey 16:04:29 gotta go....bye all! 16:04:44 --- part: TheBlueWizard left #forth 16:41:16 --- join: Speuler (~Speuler@mnch-d9ba4867.pool.mediaWays.net) joined #forth 16:42:07 'morning 16:42:14 speuler someone I spoke to in the sml room said your bashforth was nuts! 16:42:21 I think they finally understand :D 16:42:51 Not smerdyakov, I hope. :P He's a true Forth hater. 16:42:59 hahaha. no emu 16:43:09 smerdyakov is an odd character. 16:43:25 gilbertdeb: oh sure. plenty of qualifications like insane, nuts, etc 16:43:32 that's good 16:43:55 better than people say that it is boring :) 16:44:13 I think they are intrigued. 16:44:47 how come people in sml to know about it, anyway 16:45:29 hahaha 16:45:29 is ml a small language the way forth is a small language? 16:45:29 what way is that 16:45:29 SML has a fairly sizeable standard basis library, which is nice 16:45:29 not the library ... 16:45:30 the core language itself pre-libraries. 16:45:32 eg you can write a whole forth kernel/interpreter in bash . 16:45:34 you really can't separate that 16:45:36 yes I've heard of the bash forth interpreter 16:45:38 its nuts 16:45:40 spam alert. 16:46:06 anyway thats how come. 16:47:04 oddly though, they couldn't properly explain why even though ML is taught mostly at top universities to top CS students who get top jobs, they have not influenced the industry at all. 16:47:46 from what I've seen ML is too goddamn verbose 16:48:07 haha. they said ml produced shorter code than c++/java 16:48:37 user satisfaction of ocaml users seems to be quite high 16:48:51 but i suppose so is java users' 16:49:18 ocaml users seem to be very popular at icfp contests and no where else. 16:49:48 if these languages are so superior, why isn't it proven with at least a webbrowser. java has a webbrowser! 16:50:02 Java is crap too 16:50:19 yeah but the designers don't deny it. 16:58:25 *shrug*... i think java works well for serverside stuff 16:59:00 its a nice clean oo abstraction of everything.. 17:04:12 java on linux SUCKS! 17:12:57 guess there's a difference betwen the java compiler and the java vm 17:13:14 Speuler: there's a defeinite difference between the language and the platform.. yeah 17:13:48 people can write java stuff in ada and c too, or anything else with a java compiler 17:14:00 there's even a java assembler.. funny to think about 17:14:03 when i was looking through a java vm, i was strangely reminded of forth 17:14:10 hm 17:14:12 how's that? 17:14:16 dup 17:14:17 drop 17:14:21 brach 17:14:23 branch 17:14:30 similar way to handle literals 17:14:32 jvm instructions or somethin? 17:14:36 yep 17:14:38 im not too familiar 17:14:39 ag 17:14:41 itneresting 17:14:55 Speuler: where did you see the vm ? 17:14:59 on the byte code level, there are similarities 17:15:04 i ported one 17:15:12 from where to where? 17:15:16 gilbertdeb the source and specs are all open.. 17:15:18 from one cpu to another 17:15:44 well, to be concise, i helped porting one 17:17:08 Speuler: what kinda interesting job is this you have? 17:19:39 consultant esoteric languages 17:19:44 such as forth 17:20:08 did they want to do it in forth? 17:20:18 nope that was asm to asm 17:23:05 but i've been, for another project, working on forth oo, modelled after java 17:24:00 ah 17:24:06 project leader was ex-java converted forth 17:24:07 interesting 17:24:09 wow 17:24:12 i'd be interested in that 17:24:24 jsut the langauge aspect of it right? 17:25:03 java structure, remodelled into forth 17:25:14 i.e. the java oo structure 17:25:23 not on the byte code level 17:26:10 i see 17:26:35 so abstract classes, classes and interfaces 17:26:58 then i was probably one of the few who had a good idea of how java was contructed but couldn't program in it :) 17:27:12 we were able to avoid interfaces 17:27:45 but, yes, classes, abstract classes, methods all java-styled 17:27:56 yeah makes sense 17:28:01 its just an abstract class with no implementations 17:28:10 cool 17:28:16 --- part: tcn left #forth 17:28:23 thats the best part of java lang - that and exceptions 17:28:51 reused forth throw for exceptions 17:28:56 cool 17:28:59 and catch 17:29:17 was not the goal to model java as closely as possible 17:29:21 forth ahs throw catch? 17:29:32 but to get oo onto forth, comparable to java 17:29:40 reason was, we needed to do something with it 17:29:50 the real part of the project :) 17:30:01 ahah :) 17:30:08 converting one of his applications? :) 17:30:10 java modelled because there was in-house knowledge 17:30:14 nope 17:30:38 why did you want a java-oo style then particularly, if you dont mind me asking 17:30:40 written something new 17:31:00 i didn't want to. i didn't object. 17:31:06 i see 17:31:16 project leader knew java well 17:31:23 got it 17:31:47 so rather than starting with something totally different, we chose something he felt at home with 17:32:18 was strongly influenced by him of course. he coded himself too 17:32:35 and he pays the checks im sure :) 17:33:05 i need to get more into forth 17:33:12 not that, but he'd hired me 17:33:27 were two coders on that project 17:33:34 him and me 17:33:45 wonder what the best way to go about writing my own would be with no asm knowledge 17:33:54 bashforth! 17:33:59 hah yeah 17:34:00 well 17:34:07 maybe 17:34:08 don't you bash? 17:34:12 I was looking through the source 17:34:14 there are a good number of c implementations. 17:34:17 i use zsh yeah 17:34:21 well 17:34:25 ah you don't bash then. 17:34:26 i'd like a plain english implementation :) 17:34:33 ianni: wouldn't we all? 17:34:36 haha 17:34:58 prod Speuler into translating bashforth to english for you! 17:34:59 i just got too far to go before i start implenting my own. and i figure i would understand language much better that way 17:35:52 if it can be displayed on a flowchart, I can do it in forth as well. 17:36:32 ianni: wanna port bashforth to zsh ? 17:37:26 Speuler: hrm 17:37:49 acutally, a string stack implementation would be easy to do in bashforth. 17:37:53 i wonder if i am anywhere near up to that level 17:37:56 easier than in native code forths 17:38:09 much easier 17:38:18 reason: 17:38:26 a stack element can't just hold a number 17:38:30 it can hold a string too 17:38:46 cause you can use bash stuff to get string length 17:38:47 ? 17:38:52 er 17:38:52 even if bashforth hardly makes use of that 17:38:55 the way I see forth, it is the ultimate fundamental language. 17:38:59 to avoid confusion 17:39:00 it is the language in which you write other languages. 17:39:18 yes maybe bashforth is a god example to learn from actually 17:39:37 ianni: I think #36 is the ultimate bashforth. 17:39:40 s=() ; s0=256 ; sp=$s0 # data stack 17:39:40 ? 17:39:46 im reading 0.36 17:39:49 what is $s0 17:39:56 oh 17:39:57 im blind 17:39:59 s0 = 256 17:40:01 hahah 17:40:12 what is sp stand for ? 17:40:18 stack pointer 17:40:18 stack pointer 17:40:22 I've been reading :D 17:40:23 thanks gil 17:40:36 yah my friends said 'wtf you are reading bash'? 17:40:41 and I bowed my head. 17:41:12 whats $* 17:41:21 in bash it is the arguments 17:41:27 all the arguments its just read. 17:41:40 the individuals being $1...$9 17:41:42 nteresting 17:41:44 yeah got it 17:42:03 what this then compile "$*" 17:42:07 compile gets the rest of the line with it 17:42:26 looking at colon 17:42:40 speuler what is the ultimate kernel of bashforth? 17:42:50 it is niec to see this is terms i can understand easier than C or ASM 17:42:53 where all the remaining forth words can be bootstrapped? 17:43:12 i'd go for .36 17:43:22 most bugs weeded out 17:43:35 but it still has a lot of things which can be written in bashforth. 17:43:36 got include too 17:43:42 so stack always starts at top 17:43:45 I counted up to 20 words I think. 17:43:45 and goes down towards 0 17:43:54 from 256 17:43:55 indeed. wouldn't be necessary 17:44:02 ? 17:44:19 starting at 0, push increments would possibly be better 17:44:33 lemme see see if I still have my notes from the last time I read 'bash'. 17:44:40 before I got caught. 17:44:49 was too influenced by asm with that 17:44:50 Speuler: is there any reason for using 256 as initial? because 0 is false or something? 17:45:00 Speuler: is it because that is the way computer memory works? 17:45:09 push decrements stack pointer 17:45:19 well yeah, im looking at dup 17:45:35 in asm, most often stack behaves that way 17:45:35 and seeing it decrements stack pointer and puts somethign there 17:45:38 ah ok 17:45:50 which would be unnecessary for bashforth 17:45:52 is there any particular reason? 17:46:03 not familiar with hardware much 17:46:23 no, just because i always did stacks that way. thought about it too late 17:46:33 ok 17:46:40 fair enough 17:46:44 just wanted to understand 17:47:05 this is actually lots more sense-making than last i examined it :) 17:47:29 nest, next, unnest are important 17:47:59 also header, compile, colon, code, semicolon, constant doconst I think. 17:48:14 those are just kind of macros 17:48:24 no run-time code 17:48:43 helps me building primitives and colon words in bash 17:49:11 yeah i think i frokked that from seeing code 17:49:13 grokked 17:49:27 if you were to have only those words necessary to bootstrap a forth from bash ... 17:49:32 implementations of nest, next, unnest are pretty conventional 17:49:36 just nest, next, unnest will do? 17:49:42 whats that bottom loop about? 17:49:47 you'll find the same construction in most forths 17:49:52 why is there 12 copies ? 17:49:55 or howerver many 17:50:01 speed 17:50:07 don't need to loop so often 17:50:11 loop is dead code 17:50:16 i see 17:50:20 is sort of unrolled loop 17:50:22 it's just like a unrolled loop 17:50:23 yeah 17:50:28 i see 17:50:50 Speuler: what about ":" 17:50:59 you surely need that to start putting things in the dictionary. 17:51:06 two commands on one line 17:51:14 that's same as next 17:51:26 but not calling next, for speed reason again 17:51:30 could be: 17:51:41 while : ; do next ; done 17:51:48 which would be slower 17:51:58 need to go through this loop with bash 17:52:05 not necessary with assembly 17:52:22 reason: if i go on calling next at end of function all the time, 17:52:33 bash's return stack would overflow 17:52:45 so i need to return from functions somewhere to 17:52:59 thus, i return to the loop calling next 17:53:11 instead of calling next at end of function 17:57:03 or putting code of next at end of function 18:01:36 ianni: the way does> has been implemented is not portable to native-code implementations 18:01:53 i took advantage of bash there 18:02:00 doesn't work in asm 18:02:36 so don't try to learn too much from this does> implementation 18:04:01 speuler I would like to try a boostrapped version of bashforth. enough to let the beast live and then add the rest in forth. 18:04:03 any pointers? 18:04:22 sure, just throw the overhead away 18:04:30 :D 18:04:33 many primitives are not required 18:04:52 what is required? 18:04:58 just written in bash because those are quicker than their high-level equivalents 18:05:07 I have a looot of time to wait. 18:05:18 whereever there's a colon xxxxx 18:05:26 it is followed by $word $word 18:05:30 those are required 18:05:50 because the colon words, predefined in bash forth, use them 18:06:12 sometimes i call a primitive just by name from another primitive 18:06:18 those are required too 18:06:49 don't do that very often though 18:06:54 just looking for an example 18:08:08 in type i do that 18:08:15 for (( i ; i ; i-- )) ; do 18:08:16 count 18:08:16 emit 18:08:16 done 18:08:39 also in accept 18:08:49 code accept accept 18:08:49 function accept { 18:08:49 read -ersn $tos tos 18:08:49 swap 18:08:49 unpack 18:09:58 in "dot" i call space that way 18:10:07 but echo -n " " would do just fine 18:11:12 i'd proceed that way: 18:11:24 pick next primitive 18:11:24 search source 18:11:24 found not if 18:11:29 primitive not necessary 18:11:30 then 18:12:15 decide whether primitive can be built as colon word from the remaining words 18:12:19 if 18:12:23 comment out 18:12:25 then 18:12:42 test 18:13:12 "hash" ( # ) uses: 18:13:18 swap 18:13:19 oneplus 18:13:19 r_from 18:13:19 r_from 18:13:24 slashmod 18:13:47 as example, those should do 18:13:54 speuler? : fib 18:13:54 word not found 18:13:57 colon words: 18:14:09 colon bracketquit \ 18:14:10 $init_stacks \ 18:14:10 $leftbracket \ 18:14:10 $query \ 18:14:10 $interpret \ 18:14:10 $prompt \ 18:14:12 is it all supposed to be in one line? 18:14:16 $branch -4 18:14:18 all required 18:14:45 yes, because compile reads the whole line, and then adds semicolon 18:14:58 if you remove semicolon from compile, 18:15:01 you can do 18:15:06 compile word1 18:15:11 compile word2 18:15:14 compile word3 18:15:20 semicolon 18:15:38 : square dup * ; 18:15:38 word not found 18:15:38 ok 18:15:41 right now, semicolon is added automatically by compile 18:15:44 does it automatically say that? 18:16:08 ? 18:16:15 got dup, got * 18:16:19 : square dup * ; 18:16:22 word not found 18:16:42 : square dup * ; 18:16:42 ok 18:16:55 hmmm. whats wrong with mine? 18:17:01 what version ? 18:17:22 .36 18:17:28 what version of bash ? 18:17:30 GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu) 18:17:31 Copyright 2001 Free Software Foundation, Inc. 18:17:34 ah 18:17:36 use 2.05b 18:17:39 oh. 18:17:45 there's a bug in let in 2.05a 18:18:29 read line 5 of bashforth source 18:18:35 # requires bash 2.05b or more recent 18:19:24 could trace the bug down to let 18:19:38 didn't modify bashforth to work around 18:21:16 GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu) 18:21:16 Copyright (C) 2002 Free Software Foundation, Inc. 18:23:39 hey the bash sources are in c 18:23:47 why didn't just go ahead and add stack.h ? 18:24:14 apt-get install bash ? 18:24:22 you're a debian man :) 18:24:36 woody ? sarge ? sid ? 18:24:38 it says this bash is the latest. 18:24:39 woody. 18:24:43 ah 18:24:59 so far I have everything working perfectly: sound and movies. 18:26:25 if I try to push it too hard, it will break! 18:26:49 consider: put temporarily sarge instead of woody or stable into /etc/apt/sources.list (the line of debian main), then apt-get update , apt-get install bash, then return to sources.list to woody or stable 18:27:13 i'm running sid here 18:27:22 sarge is between woody and sid 18:27:42 wouldn't recommend sid to you 18:27:51 now you tell me! 18:27:52 but sarge is pretty reliable 18:27:58 I already started making bash! 18:28:06 okay lemme see. 18:28:32 run sid only if you know how to fix the system :) 18:28:48 I don't 'C' 18:28:54 I also don't gcc 18:28:59 me neither 18:29:11 "fix the system" does not mean "fix the sources" 18:29:25 fix an install script, for example 18:29:33 but, don't 18:29:49 i don't want to be responsable for your broken system :) 18:29:56 that's sid 18:29:59 not sarge 18:30:02 ah yes. broken systems... 18:30:28 consider too: 18:30:30 I miss solaris already. 18:30:35 leave all on sarge, 18:30:42 put all on hold 18:30:58 pick only those packages you'd like to be updated 18:31:04 result: 18:31:16 basically woody, with some sarge updates 18:32:00 woody = server stuff :) 18:32:45 frozen for half a year before woody was declared "stable" 18:33:34 but a few bugs still slipped 18:33:48 GNU bash, version 2.05b.0(1)-release (i686-pc-linux-gnu) 18:33:49 Copyright (C) 2002 Free Software Foundation, Inc. 18:33:49 such as a "let" bug in bash 18:33:54 good 18:34:54 if thers's still 2.05a in woody, i have to consider a work around 18:44:44 I did apt-get upgrade. 18:44:47 is that a good idea? 18:44:53 I haven't it 'y' yet. 18:45:53 no 18:46:02 update 18:51:37 to what end? 18:51:43 I already compiled it :) 18:51:47 reading packages lists 18:51:52 ok. 18:51:58 no need to do that anymore 18:52:20 change back to woody/stable 18:54:26 but but, I like woody :D 18:54:39 would it breakt it badly if I went ahead and upgraded? 18:55:18 no. wouldn't expect. but, i avoid upgrade. instead, i update, then put on hold, and pick just what i really want to upgrade 18:55:54 to upgrade, i'd pick more and more packages, install them iteratively 18:56:11 don't feel comfortable with upgrading all at once 18:56:26 heh, what are you? AFRAID? 18:56:27 heheheh 18:56:30 j/k 18:56:33 careful 18:56:39 cautious. 18:56:49 but, i may be influenced by sid :) 18:56:54 why? 18:57:00 whats so special about sid? 18:57:11 sid may break your system 18:57:45 incoming -> sid -> sarge 18:58:01 sid = maintainer upload 18:58:27 everyone makes mistakes 18:58:39 like who? 18:58:43 the debianites? 18:58:44 maintainers 18:59:12 if it breaks, i want to know what caused it 18:59:39 installing a whole bunch of new things makes that more difficult 18:59:51 but sarge is not sid 19:00:25 sid = character from movie toytown. the guy who breaks the toys 19:00:35 hahaha 19:01:18 i'm running sid on the machine i work on myself. can control it there 19:01:41 on server, i tend to use woody, sometimes sarge, or parts of sarge 19:01:59 on other peoples' workstation, there's most often sarge 19:02:29 difference to woody is that often new versions or new programs become available 19:02:45 it's on you to decide what new stuff you want to install 19:02:55 that's why i find woody boring 19:03:03 doesn't happen much 19:03:10 i like to have a look what's new 19:03:26 too many immature programs I say. 19:03:32 that's even more the case with sid 19:03:34 nope 19:03:56 sarge is, if it wouldn't be per definition not stable, pretty stable 19:04:10 but, only woody is declared stable 19:04:30 stable doesn't just mean "does not crash machine", but "doesn't change a lot" 19:04:47 sarge also doesn't crash your machine 19:04:52 sid may 19:04:59 but is unlikely 19:05:05 programs may crash 19:05:15 those won't make it into sarge 19:05:40 sarge is becoming the next stable release 19:05:50 sid will remain sid 19:06:03 always unstable 19:06:20 without crashing the machine 19:06:26 but no guarantee 19:06:49 otoh, even woody is not guaranteed to not crash your machine 19:06:55 it is just even less likely 19:07:59 at one point, sarge will be declared frozen 19:08:10 that is, only buf fixes go in 19:08:12 no new programs 19:08:27 no new versions which do not fix release-critical bugs 19:08:49 what are they evolving the versions towards? 19:08:53 after a while of being frozen, and release-critical bugs weeded out, sarge becomes stable 19:08:59 the next debian release 19:09:17 so sarge is future stable in process of being built 19:10:05 when woody was frozen, sarge and woody were identical 19:10:13 a year ago, or so 19:10:48 3. i dont't know. maybe 4.0 19:10:59 i guess, 3.2 19:11:12 t'is just "sarge" 19:11:16 no version number 19:11:34 woody became only then 3.0 when it was ready for release 19:11:49 and before it was just woody 19:12:12 hmm, no 19:12:19 potato? 19:12:20 3.0 was projected at freeze-time 19:12:25 2.2 19:12:40 slink before 19:12:53 first debian here was 1.1 19:13:04 skipped 1.2 19:13:17 made it 1.3 19:13:37 explored other distributions 19:13:55 made it back to debian when potato was stable 19:13:59 using woody 19:14:47 used SLS, then slackware, before debian 19:15:19 : square dup * ; ? 19:19:10 : square dup * . ; 19:19:10 word not found 19:19:10 ok 19:19:27 still running old bash 19:19:37 nope. 19:19:44 GNU bash, version 2.05b.0(1)-release (i686-pc-linux-gnu) 19:19:44 Copyright (C) 2002 Free Software Foundation, Inc. 19:20:22 do: 19:20:31 : square 19:20:46 dup 19:20:54 * 19:21:02 ; 19:21:13 wherew does it complain ? 19:21:52 it stopped 19:21:53 I run bash 19:21:59 then I did . bashforth36 19:24:33 better chmod +x bashforth_v0.36 19:24:43 ./bashforth_v0.36 19:24:49 or bye will close the shell 19:25:04 but is not related to error 20:58:04 --- quit: gilbertdeb (""Monk has left the building"") 21:42:58 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 22:02:38 --- quit: Speuler (Read error: 60 (Operation timed out)) 22:03:42 I don't think there is a better langugage than forth for learning the skill of factoring 22:12:31 --- join: Speuler (~Speuler@mnch-d9ba499f.pool.mediaWays.net) joined #forth 22:16:29 true enough 22:24:52 --- join: semtex (~Speuler@mnch-d9ba499f.pool.mediaWays.net) joined #forth 23:08:33 'night 23:59:59 --- log: ended forth/03.03.08