00:00:00 --- log: started forth/02.08.31 00:00:10 with "registers" 00:00:18 How do they GET to the stack? 00:00:37 how do they get 2 to register ax on the x86 architecture? 00:00:38 The X18 doc only tells me about 27 forth primitives. 00:00:52 5 bits each, you can fit 3 of then in a 16-bit word. 00:01:00 thin: 0xb8 0x02 0x00 00:01:27 that's x86 asm converted to hex ? 00:01:43 have you checked http://d-1-200.dhcp-149-159.indiana.edu/misc/p21faq.html 00:01:46 That's x86 machine code. 00:01:51 I will check. 00:02:09 How are the instructions encoded? 00:02:13 "How are the instructions encoded? 00:02:15 "How are the instructions encoded?" 00:02:20 that's a header in that faq 00:02:25 that's what you want isn't it 00:02:51 try searching ultratechnology for "instruction encode" 00:02:59 or some variation 00:04:48 I'll just use my own thing then... 00:05:47 robert: yeah, there doesn't really seem to be a whole lot of info on _how_ to implement machineforth's architecture on chips.. they don't give that much detail on the internals.. 00:06:36 robert: hm, didn't mean to ride you or be rude or whatever.. i'm half hyped and half tired heh 00:07:46 thin: eh, change ur nick back, plz! 00:07:51 You're not rude, only confused and talking too much. 00:08:04 onetom: nahh, this nick is truth 00:08:26 thin: paysan also has 4th chip documentation, test board and so on 00:08:55 thin: no, its just the crippled version of our favourite nick of yours ;p 00:09:56 but it's more concise ;) 00:09:59 it's thinner ;) 00:10:18 but also less fu ;) 00:10:19 thin represents thin apis, thin/tight code 00:10:24 put it back, plz 00:10:26 thin philosophy 00:10:30 nahhh ;P 00:10:39 thin 0wnz0rz! 00:10:45 every1 like that 1! am i right, others! hey! 00:11:22 heh 00:11:26 futhin was a nice & unique, complete name while 00:11:37 thin is just a usual, everyday, well known word.. 00:12:34 i wonder about futhin with umlauts on the u 00:12:40 the two dots on the u.. ? 00:12:44 heh 00:12:54 nevermind 00:14:02 Heh. 00:14:05 Fythin... 00:14:11 Sounds odd ;) 00:14:18 Mr. füthin is here! 00:14:29 I have umlauts in my name :D 00:14:33 Östling >:) 00:14:56 is there umlauts in "uberman" ? 00:15:05 the u in "uberman" is pronounced oo 00:15:16 * onetom needs more sleep. bbl 00:15:21 futhin is supposed to be pronounced foothin 00:15:38 thin: do u have a sound card? 00:15:41 übermann is pronoynced like yyberman. 00:16:00 thin: German 'u' is pronounced like 'o'. 00:16:04 thin: i can record u the pronounciation 00:16:14 thin: And ü is pronounced like y 00:16:41 (Not "why", but like 'iii') 00:17:01 Damn americans, can't pronounce anything :P 00:17:15 :) 00:17:33 thin: btw where does this uberman come from 00:17:41 german 00:17:44 it means "superman" 00:17:47 its either übermensch oder superman 00:17:52 but not like superman the comic hero 00:18:02 but like the man who uses his potential fully 00:18:05 focuses 100% 00:18:14 rises above himself.. 00:18:27 like a forth coder?? ;P 00:18:52 thin: i know phylosophy. we learnt that in highschool.. 00:19:38 thin: so what about the snd card? 00:19:44 I'd say philosophy isn't something you _learn_, almost everything is philosophy. 00:20:06 Robert: mm, but u can learn it too 00:20:29 nope, my speakers are screwed 00:20:43 certainly there is phylosophy behind everythig, but still.. 00:20:54 robert: depends on which definition you use :P 00:21:01 there r patterns u can learn 00:21:06 onetom: everything.. thinnnng 00:21:15 2 b able 2 look behind things 00:21:15 :P 00:21:30 FUthin: :pp 00:22:08 i know u as futhin for half a year 00:22:20 so pl dont rechristian urself 00:22:29 heh 00:22:45 go to bed :P 00:22:51 admit it 2 urself, it was a bad try 00:22:56 2 chg ur nick 00:23:07 ;) 00:23:33 dream w fml & 4thchips, futhin! ;) 00:23:50 --- quit: proteusguy (Read error: 110 (Connection timed out)) 00:24:27 :) 00:25:10 i like thin, i never should've added on the fu ;P 00:27:37 but u were futhin ever here on #forth werent u? 00:27:53 dont lie, i could chk the logs! :) 00:29:55 pardon? your question doesn't make grammatical sense.. 00:30:34 thats true :) 00:30:56 im a bit tired 4 speaking in english grammatically 00:31:30 when u 1st joined 2 #forth ur nick was futhin, wasnt it? 00:32:30 and u havent changed that ever except a few days b4 00:32:35 ago 00:32:45 b4/ago -- which 1 2 chose? 00:33:16 both work.. ago is a little better 00:33:26 thx 00:33:29 more idiomatic i suppose 00:33:37 but forget idiomatics 00:33:40 use b4! 00:33:41 :P 00:33:42 :D ok 00:33:51 yeah i was futhin 00:34:12 and now i'm thin 00:34:27 and like 6 new people have come to this channel in the last 7 days 00:34:29 :D 00:34:36 coincidence? nahhh ;) 00:39:51 http://sec.dunasoft.com:9673/forth/FrontPage -- updated according 2 ur invention ;) 00:40:12 it is! sure. :) 00:40:21 u know that joke: 00:40:26 what is it?: 00:40:55 u throw it up its white 00:41:01 and if it falls back 00:41:49 hey, i'm gonna change my nick to futhin, but only because i need to op myself to change the topic 00:41:50 the lamp is at the neighbour is lit up 00:41:59 --- nick: thin -> futhin 00:42:00 lollll 00:42:01 :pppppppppppp 00:42:13 --- mode: ChanServ set +o futhin 00:42:51 --- nick: futhin -> thin 00:43:57 --- topic: set to 'stack shuffling is drastically reduced with proper factoring, therefore locals are slower. GRR! | http://www.msmisp.com/futuretest/Forth's_Dilemma.htm | x86 Linux Forth coded in asm - http://isforth.clss.net | home of forth - http://www.ultratechnology.com' by thin 00:44:13 --- quit: Robert (Read error: 110 (Connection timed out)) 00:45:13 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #forth 00:49:42 --- quit: I440r (No route to host) 01:01:09 --- quit: thin ("ta ta!") 01:13:47 http://www.rfc1149.net/pictures/pigeon.png :D 01:20:42 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 01:38:56 --- join: thin (~thin@h24-64-175-61.cg.shawcable.net) joined #forth 01:39:22 --- quit: CrowKilr ("User pushed the X - because it's Xtra, baby") 02:36:20 --- join: ASau (ASau@158.250.48.197) joined #forth 02:36:34 Good afternoon. 02:36:41 I'm back again. 02:36:48 Any news? 03:30:48 Hi :) 03:53:15 Hi, Robert! 04:28:59 --- quit: Fractal (Read error: 60 (Operation timed out)) 04:52:12 --- join: Fractal (aht@h24-77-171-228.ok.shawcable.net) joined #forth 05:27:02 thin! 05:27:19 thin: Any news on contest? 05:28:27 * ASau hear voice in the head: "Kosil Yas' konyushinu..." 06:12:48 What contest? 06:21:52 http://icfpcontest.cse.ogi.edu/ 07:29:09 --- quit: Miciah (Read error: 104 (Connection reset by peer)) 07:31:59 --- quit: Robert (Remote closed the connection) 07:32:15 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #forth 07:46:26 --- join: Miciah (~Didle@NBN-TNT2-pool1-87.coastalnet.com) joined #forth 08:36:36 asau: no news 08:36:55 asau: i imagine mslicker is coding or something.. 08:37:16 Maybe he's sleeping... 08:37:58 I slept today if I'd to meet my friend. 08:38:05 I slept today if I'd not to meet my friend. 08:38:35 As a result I'm reading now. 08:38:50 I'm not able to code. 08:38:59 No. 08:39:06 I can code. 08:39:22 asau: why not code top-down.. just code how the bot deals with moving around and stuff, in pseudocode 08:39:26 But with _NO_ pleasure AT ALL. 08:39:41 example code: 08:39:41 items? 08:39:41 botsadjacent? wateradjacent? scoreitemsonground scoreinvitems > if drop then 08:39:54 where drop is drop all items 08:40:05 and then the next turn, pick up items of highest score 08:40:09 thin: I understand this way is also useful 08:40:12 maximizing efficient 08:40:15 maximizing efficiencty 08:40:16 and very good. 08:40:17 er 08:40:19 maximizing efficiency 08:40:36 But I do not want to code. 08:40:49 why not? 08:40:54 not in the mood? 08:41:00 Yes. 08:41:04 problem is not interesting? 08:41:07 Not in the mood. 08:41:20 the problem isn't very interesting i don't think :( 08:41:20 No! 08:41:26 I'm just tired. 08:41:46 what do you know about graphs and such for route planning ?? 08:42:10 Oh, I studied this 08:42:16 about 3 yr ago 08:42:28 or 4-5 yrs? 08:42:39 I can try to recall smth. 08:43:20 As I remember 08:43:52 it's unable to find step-by-step answer for route. 08:44:12 The minimal length - OK, but not steps. 08:45:17 The general method for doing this 08:45:35 is to invent your own system of penalties 08:45:43 and minimize them 08:46:22 What penalties to assign I don't know. 08:46:31 Unable to think so deep now. 08:46:59 I'm listening music. 08:47:44 Belarussian vocal&instrumental ensemble (VIE, in Rus.- VIA) "Pesnyary". 08:47:51 www.pesnyary.com 08:48:47 One of the bests their disks, "The Enchanted One". 08:50:26 "Zaczarovanaja" 08:51:54 thin: If you have concrete question, ask. 08:52:43 I'd recommend "take-wide" class search. 08:53:13 what's that? 08:54:53 :))) 08:54:53 The real solitude: 08:54:53 You're not delivered any letters. 08:54:53 Even spammers do not send any to you. 08:54:53 :) 08:54:54 The real depression: 08:54:59 You don't know where to go. 08:55:45 What do you mean under "that"? 08:56:48 Possibilities: 08:56:58 that = solitude 08:57:08 that = depression 08:57:19 that = search-in-wide 08:57:44 ? 09:03:51 no 09:03:55 that = thing 09:04:02 that = pointer to thing.. 09:04:16 ASau: how wide is ur outgoin net connection? 09:04:17 what's that = what is that = what is that thing? 09:04:23 hello thin 09:04:28 hi onetom 09:05:05 onetom: I've not understood. 09:05:30 thin: What thing? 09:05:38 asau: what is "take-wide" class search? 09:05:44 the immediate thing 09:06:04 that is, what you just said "I'd recommend "take-wide" class search." 09:06:14 I mean you're not diving, but look around. 09:06:18 and "what's that?" asks about the immediate stuff.. 09:06:25 the topic, etc 09:06:40 First, look around. Then go further. 09:08:39 ASau: what type of net connection do u have? outgoing kbit/s? 09:14:58 I have not measure. 09:15:20 asau: regular modem? cable modem? dsl? 09:20:19 onetom: you're asking him the question out of the blue.. it's kinda suspicious :P 09:43:24 --- join: tcn (tcn@tc4-login20.megatrondata.com) joined #forth 09:49:21 tcn :) 09:49:36 hey 09:50:14 Good evening! 09:50:48 How does your prog. run? 09:51:48 tcn's or mine= 09:51:50 tcn's or mine? 09:56:06 Both. 09:57:34 heh. i'm just getting started. 09:57:51 you're player too, robert? 09:59:28 are you in the contest? 10:02:22 Nope. 10:02:27 What is this big contest, really? 10:02:38 I'm coding on my own stuff... 10:02:42 oh hehe 10:03:23 well i've gotta get together the basic networking code.. never done that before 10:03:35 not in C, always in perl or something lame like that :) 10:03:48 * Robert never used Perl. 10:06:12 --- join: mslicker (~maslicke@64.27.199.31) joined #forth 10:06:52 Hi mslicker. 10:07:02 Hi Robert 10:07:08 Good evening! 10:07:16 How does your prog. run? 10:07:28 Not good, 10:07:46 I can't boot my linux system. 10:08:02 Hmm. 10:08:33 the disk was already flakey, but now decides not to boot. 10:08:49 In afternoon I tried to make linux to run in 90 MB avail. on my machine. 10:09:03 No place to install. 10:09:13 -> NUL 10:09:22 O! 10:09:28 NUL only! 10:09:40 NUL! 10:09:55 is the ONLY place to install it. 10:12:41 I think colorForth would have have been very good for this, 10:13:00 --- join: CrowKiller (Forther@Ottawa-HSE-ppp3654508.sympatico.ca) joined #forth 10:13:18 The program was taking on a declaritive sytle. 10:14:00 Which tells me, these super abstract functional languages, do not have much over forth. 10:14:17 for the contest? 10:14:35 yes, icfp 10:16:23 They have much over Forth in the way of memory management. 10:16:45 which wouldn't be useful for this task 10:16:57 FP-ers do not need to monitor memory usage. 10:17:17 I don't think it garbage collection is needed here. 10:17:26 just keep alocating. 10:17:27 tcn: If we take the problem closer 10:17:38 asau: is that way the test server is over 1 meg and doesn't work? 10:17:42 we'll see much of AI task here. 10:18:05 you have 64 megs 10:18:13 that should be plenty 10:18:14 80 10:18:14 --- join: hi_imok_how_r_u (~hko@81.25.34.16) joined #forth 10:19:02 oh yeah, for this task, just allocate the map, etc. just once, and then some temporary stuff each turn 10:19:03 Good evening, OK-er! ;) 10:19:15 I bet the tasks are quite hard... 10:19:28 >:D 10:19:33 I.e. nothing for me. 10:19:50 hard to win, but a competive entry should not be bad. 10:20:07 just have to make sure you follow the protocol. 10:20:11 --- nick: hi_imok_how_r_u -> divgrad 10:20:19 tcn: If the density of population of robots in world be high 10:20:27 most entries will be eliminated, because of bugs. 10:20:30 task require AI. 10:20:32 hehe 10:20:43 there is no AI 10:21:07 however, there is natural selection.. 10:21:37 hi, ASau 10:21:41 My English is not so good for I explain why AI. 10:22:16 --- part: divgrad left #forth 10:22:33 Good evening, divgrad! 10:23:17 Where have this Laplasian disappear?! 10:23:39 a rule based aproach is what you need. 10:24:12 not quite sure how to do that in forth, but I've heard it is possible. 10:24:14 mslicker: A rule based approach is a rudiment of intellect. 10:25:06 I.e. you can't _think_, so you replace _real_thought_ by set of rules. 10:25:10 computers just follow rules.. humans have billions of years of evolution.. 10:25:33 35000 years of Homo Sapiens. 10:25:58 H.S. is only 35000 years old. 10:26:08 at most 40 000 10:26:21 an AI robot can't learn enough to compete with rule-based robots in the number of games in the tournament 10:27:17 You're given 1 sec/move on 1,5 GHz CPU for adaptation of you rules. 10:27:47 yes you could switch stratagies, mid play. 10:27:49 If you've made a kind of evolutionary automaton. 10:28:10 switch to a different set of rules. 10:28:27 see how well that works. 10:28:40 maybe evolve the strategy. 10:28:51 basically depends how many robots there are, how close, and if you have a package 10:29:01 This adaptation is a must for AI prog./sys. 10:29:51 lisp would have an advantage for this. 10:30:19 M.S.: Of course. 10:30:36 and almost every functional lang. 10:30:51 no, lisp is special 10:31:04 functions and data are the same. 10:31:45 you can evolve the data/function 10:31:52 FPL is not and FPL, if it cannot construct functions on-the-fly. 10:32:01 It is by definitions. 10:32:35 FPL means functions be equal in rights to data. 10:32:50 no, not really 10:33:12 some languages are purely rule based, like prolog 10:33:19 Show me an FPL that contradicts. 10:33:29 Prolog is not an FPL. 10:33:50 ProLog = Programming Logic(ally/s) 10:33:54 other languages have high order functions, but dat is seperate. 10:34:27 No doubt LISP is the lowest level FPL. 10:34:48 lambda calculus, does not imply data of any kind. 10:35:27 maybe forth is, I think 10:35:29 An "operation" of "apply" imply functions and data. 10:35:39 then lisp 10:35:50 Functions are applied not to functions but to data. 10:36:37 Lambda calculus even uses formal parameters. 10:36:46 lambda calculas has no distinction. 10:37:05 numbers are encoded as lambda expressions. 10:37:35 It's shown that lambda calc. may be reduced to no formal parameters 10:38:14 There is a concatenative/combinatoric way to do things. 10:38:42 of course functional languages, encode numbers in an efficient way. 10:38:57 not as functions. 10:39:11 J.Backus, inventor of FP, used purely functional lang., based on composition. 10:39:32 Not on lambda's. 10:39:42 did it also have application? 10:39:49 Yes. 10:39:52 IIRC. 10:40:17 The forth model is a compositional one. 10:40:28 See Joy. 10:40:45 A Forth-like (but) functional lang. 10:40:47 yes, Joy is the one that points this out. 10:41:10 functional language is loosely defined. 10:41:28 I know, that Forth gives a way to program in a functional style. 10:41:33 few, are pure. 10:41:42 One thing it lacks. 10:41:58 Automatic heap memory manag. 10:42:52 that could be added, 10:43:18 If a function decides to build an n-dim array 10:43:28 Forth will have nothing to do. 10:43:47 Forth will have only one way -- to stop. 10:44:18 But if we add this feature to Forth, will it remail being Forth. 10:44:42 "That's the question." (C) Shakespare. 10:45:12 well, when Chuck solves a problem he builds a language to suit. 10:45:36 Well. 10:46:06 He solves not a contest's kind of problems. 10:47:46 These "..FP" meaning "Functional Programming" are not a joke or smth like. 10:48:48 They mean such problems (at our level of knowledge) requre functional programming techniques. 10:50:34 heap memory management can only be at edit time, unless you want to loose precious compile and run time simplicity and speed 10:51:14 forth is truly one big program, it emulates perfect hardware for the job at hand using the primitives the host give to it 10:51:23 --- join: mslicker0 (~maslicke@64.27.199.31) joined #forth 10:51:50 so please pretty please dont ever talk using forth for heap management, thats your job ;p 10:51:56 connection trouble. 10:53:29 forth at our stage need a good "dictionary scanner": the ebst way possible in forth to search through a dictionary ame of source only 10:53:57 damn epic4! 10:54:07 --- quit: mslicker (Read error: 60 (Operation timed out)) 10:54:11 so that compilation can be made only after the program is constructed from source fragments 10:54:35 --- nick: mslicker0 -> mslicker 10:54:38 referenced from the programmer's dictionary, or as i like to think, his spellbook ;p 10:54:40 ASau: the priv conv appeared in the #squeak window, so i missed everything else happening here :) 10:55:22 ASau: I think forth is just a capable as these languages, 10:55:48 just the aproach is different. 10:56:29 Forth doesn't start with so many libaries, 10:56:46 the aproach is to build a language to suit the problem. 10:56:54 no fixed assumptions. 10:57:15 maybe libraries would be useful in a contest like this, 10:57:32 where the emphasis is on getting to the solution quickly. 10:57:47 CrowKiller: u r right regarding the heap mngmnt, BUT 10:58:54 CrowKiller: when some1 says "4th needs ..." that means we need a proven implementation of ... built on top of the words of the ancient 4th model 10:59:51 eg, i liked the double linked listd kind of heap mngmnt of pascal 11:00:10 s/listd/list/ 11:00:11 CrowKiller: A straight q: DO YOU KNOW ANYTHING EXCEPT FORTH? 11:00:49 but there is a similar solution for gforth by wil baden or a similar guy 11:00:53 CK: Have you programmed a legendary Eliza-like robot? 11:01:08 an intersting thing, is that colorForth has the possiblity of code evolution. 11:01:48 mslicker: ? could u explain it more? 11:01:48 the preparsed block format, and instant compilation, make this possible 11:02:15 mslicker: cf is the evolution direction 11:02:26 onetom: He means he is able to change source and dyn. link it in. 11:02:27 mslicker: or u r talking about genetic programming? 11:03:02 ASau: sounds good, but i havent read about this on CF pages yet.. 11:03:24 CK: An unhumble question. 11:03:50 so could some of u support me w urls on this topic? 11:04:20 How do you think, does a scientist know how much resources he'll need next month? 11:05:17 ?? 11:05:18 That is the first difference of intelligent thing/creature of unint. 11:05:37 what? 11:05:54 what resources? memory, speed? 11:05:55 An automaton won't be able to behave right in future. 11:06:31 Because future is not present: it can, may and will change everything. 11:07:08 whom does the HE referes to in the sentence w the word "scientist"? 11:07:20 Well. 11:07:39 HE refers to the scientist himself? 11:07:41 I "ate a dog" in such disputes. 11:07:56 It's rather familiar. 11:08:14 r u tryin 2 compare a robot w a scientist or what? 11:08:36 An automaton is assigned a capabilities of intellect. 11:08:40 i feel i wont get the point :) 11:09:08 assign requires a TO clause... 11:09:12 I say: my English is not enough to explain this well. 11:10:01 but its not too far from enough ;) 11:10:07 An automaton is declared being intellectual. 11:10:16 aha 11:10:26 But this is not so. 11:10:41 uc? u can if u want ;) 11:10:57 Future shows this. 11:11:36 future gonna show this 11:11:37 or 11:11:44 future will show this 11:11:49 * ASau has an experience of SU.SCIENCE. 11:11:58 but simple present is not right here ithink :) 11:12:30 Rus. does it with present tense form. 11:12:40 but i can understand u because if i mirror translate ur sentences back 2 hungarian 11:12:49 It's true. 11:13:02 the transaltions sound correctly ;) 11:13:10 And is not possible to become untrue. :) 11:13:39 and the matrix gonna have ya ;p 11:13:45 And it is not possible to become untrue. :) 11:14:46 (Damn that language with fixed sentense structure.) 11:15:00 (It is much like asm:) 11:15:26 ([label] opcode [operands] [; comment]) 11:15:40 loll 11:15:43 yeah, it is 11:15:49 like that 11:16:08 hungarian is? 11:16:26 German is not. 11:16:34 but 4th is like that too, so u better get into the habit of that ;p 11:16:43 Slavonic lang-s are not. 11:16:57 Oh, no! 11:17:03 tcn: hi! no, hungarian has free order too 11:17:38 I can program Forth the way I can swap some words free. 11:17:59 tcn: we can express those things w word order what r expressed via prosody in english 11:18:23 Ratio: "a=2;b=3" and "b=3;a=2" are equivalent. 11:18:35 ASau: i just meant, DUP SWAP & SWAP DUP arent the same ;) 11:19:48 onetom: I don't know Hung. but I don't think that a proposition after noun related is possible. 11:20:53 E.g.: "one of them" can't be "one them of" 11:21:24 Rus.: "odin is dvuh" != "odin dva is" 11:21:31 Rus.: "odin iz dvuh" != "odin dva iz" 11:21:52 or: "odin iz dvuh" != "odin dvuh iz" 11:22:42 Prop. after noun is Germans' invention, I think. 11:23:25 mitnehmen -- nahm ... mit -- mitgenomen. IIRC 11:23:26 ASau: we r aglutinating uknow 11:23:44 sticking morphes 2gether 11:23:58 1of them is egyikük 11:24:43 1 = egy 11:25:35 the owning is not expressed by a free morpheme 11:25:47 so u cant put it anywere 11:26:12 but many things r expressed w separate words like verb propositions 11:26:17 Rather interesting way to do... :) 11:26:31 u can put the im front of the verb 11:26:31 see ya.. i gotta conserve my hours today (5 hour limit) 11:26:35 and after it 11:26:46 but the meaning is of course not the same 11:26:47 --- quit: tcn ("Leaving") 11:30:38 if thin comes back, let up know I'm stopting at this point. 11:31:05 up=him 11:32:37 bye 11:32:43 --- part: mslicker left #forth 11:36:13 hm 11:36:25 bah, i was reading backlog 11:36:43 god 11:37:00 stupid conversation between asau and the others 11:37:09 about boring crap 11:37:27 complexifying the problem 11:37:44 my thoughts on the task: 11:37:45 It is not complexifying. 11:37:53 asau: shh, let me detail my thoughts 11:38:02 It is different understanding. 11:38:28 asau: over the last half an hour, you said words that were completely meaningless and irrelevent and boring 11:38:59 _YOU_ have said this. Not me. 11:39:54 I misundestood, someone else misunderstood... 11:40:31 I realized some things I misunderstood in past. 11:41:10 One can realize some things he misunderstand now. 11:41:11 --- join: miket2 (Mike@62.60.77.26) joined #forth 11:41:21 Nothing boring. 11:42:19 --- part: miket2 left #forth 11:42:28 simplifying the problem: 11:42:29 quickly code up a server that follows the same rules as the icfp's one 11:42:29 code up a client back-end to communicate with the server and to handle the data and to provide a language for the client front-end 11:42:29 client front-end: since the low-level details are taken care of, this is at a higher level and enables the many people to easily code an algorithm for the bot, and to test it out 11:42:29 if multiple people created various different bot algorithms, then we can test them all and see which ones are the best and use that feedback 11:43:32 the bot algorithm can be as simple or as complex as the person wants to make it.. we should test many different algorithms.. 11:43:34 thin: You cannot predict behaviour of FP-robots. 11:43:44 WHO CARES 11:44:22 asau: why did you say that? i did not mention any thing about prediction of behavior of fp-robots 11:44:41 You are near to write a cooperative working robots. 11:45:06 You have some thoughts on robot behaviour 11:45:11 i'm not trying to predict behavior of competitor's robots 11:45:20 only focus on algorithms for my own robot 11:45:50 algorithms like: going to base, picking up object, taking it to destination.. avoiding water & walls, pushing other robots into water, etc.. 11:46:00 that may not and will not be the same of _all_ participants. 11:46:15 pseduocode: IF see-robot-next-to-water then push-robot-into-water 11:46:28 asau: who cares? 11:46:34 generate many different robots 11:46:37 test them out 11:46:52 One participant can use much finer strategy of pulling. 11:46:54 the ones that are best, use to create finished robot code 11:47:23 you are complexifying the problem 11:47:35 you sound like a pessimist 11:48:31 thin: I am in no doubt that FP-ers have significantly less problems of our class: the lack of compiler, in rough sense. 11:49:01 FP-er has more time for strategy invention. 11:49:40 than me? 11:49:50 thin: Pessimist thinks he lives in the worst of the worlds. 11:50:04 look, coding the server and the client back-end: 2 hours or 3 hours 11:50:08 Optimist is afraid of that being true. 11:50:11 :) 11:50:11 freeing up time for focusing on strategy invention 11:50:15 freeing up time for focusing on strategy invention 11:50:29 the whole idea is to free up time for focusing on strategy invention 11:50:46 and for exploring different algorithms for bot behavior 11:52:15 thin: You see, I've got a problem of not existing a compiler of _my_ Forth for their OS. 11:52:35 who cares 11:52:38 code on your forth 11:52:40 it's portable 11:52:50 Hmm. 11:52:59 Why do you think so? 11:53:06 cause forth is forth! 11:53:14 all forths use DUP 11:53:18 all forths use : ; 11:53:25 Will they give me a time to tune my prog to their OS? 11:53:28 all forths use IF ELSE THEN BEGIN REPEAT 11:53:59 asau: it'll only take an hour to get your prog to run on gforth in linux or isforth or whatever 11:54:17 Does you Forth use _tree_-organized dictionary? 11:54:43 Does any of gforth or isforth use _tree_-organized dictionary? 11:54:59 Do they initialize VARs? 11:55:07 12 VARIABLE A 11:55:07 is a tree-organized dictionary a linked list? do you use "@ @" ? 11:55:37 I use context moving up and down dictionary. 11:55:59 Have you seen these code? 11:56:06 yes, they probably initialize variables 11:56:13 asau: show me some code 11:56:33 SYSTEM TERMINAL PARAMETERS SET 80 COLS 25 RAWS COLOR 11:56:59 wait.. vocabularies != dictionary .. 11:57:01 ? 11:57:03 erm.. 11:57:08 gforth has vocabularies 11:57:50 you can download and install gforth for dos 11:58:00 and the code will be portable to gforth for linux 11:58:04 more portable that is 11:58:10 In my dictionary word is searched in CONTEXT voc. and down the tree (to the root FORTH). 11:58:32 A newly created word is defined in CURRENT voc. 11:58:39 yep 11:58:46 gforth does that (handles vocabularies) 11:59:00 I have nothing to do with expressions like: 11:59:02 isforth doesn't have vocabularies yet, but i'm not sure.. 11:59:15 ONLY FORTH ALSO SYSTEM DEFINITIONS 11:59:42 I have no one of: ONLY ALSO etc. 12:00:08 I have a word MODULE 12:00:10 --- join: sif (~sifforth@ip68-9-70-120.ri.ri.cox.net) joined #forth 12:00:10 Type sif: (or /msg sif to play in private) 12:00:35 : MODULE 12:00:49 VOCABULARY IMMEDIATE 12:00:49 only thing that is important: you can code forth. you can solve problem, solution can be transported to linux easily. it's not a big deal. 12:01:04 LATEST PFA CFA EXECUTE 12:01:08 DEFINITIONS ; 12:01:55 I do not want to code in stack&arhythm words. 12:02:06 I want to access dictionary. 12:02:28 Why use Forth if unable to do something? 12:02:39 go ahead an access dictionary 12:02:50 s/an/and 12:03:45 I do not understand ANTI-94 standard for overcomplicating dictionary access 12:04:45 And it seems that much folk lost their mind. 12:05:05 I see only chase after ANTI-94 12:05:19 "portability" etc 12:06:15 ansi sucks 12:06:24 but all forth is more or less portable 12:07:25 I see practically no new code for "classic" (let us not consider colorForth...) 12:07:37 that does not begin with 12:07:49 ONLY FORTH ALSO DEFINITIONS 12:08:20 All these ONLY and ALSO are null stuff. 12:08:31 : only ; 12:08:36 : also ; 12:08:37 :P 12:08:39 If you want get into root voc: 12:08:45 FORTH DEFINITIONS 12:09:05 But this stuff messes everything up 12:09:45 It changes natural way of word search (from top-side down, refinement) 12:10:08 to something unknown and unnatural. 12:10:33 In my example. 12:10:55 I have words to work with sys' term. 12:11:03 not only to set parms 12:11:20 but also: ask for settings 12:11:25 ask for cursor 12:11:59 move cursor: SYSTEM TERMINAL CURSOR 10 20 SET 12:12:06 EMIT 12:12:13 KEY ?TERMINAL 12:13:21 If I work with terminal I get into voc SYSTEM TERMINAL 12:13:30 and work with all the words 12:13:37 plus FORTH core words 12:14:06 to _detach_ a voc. is rare thing 12:14:28 and it is made a separate feature. 12:14:44 a _separate_ feature 12:15:21 A difference is evident: 12:15:49 if I enter (boot up) into ANTI-94 and type WORDS 12:15:56 what will I see? 12:16:01 No. 12:16:23 I _WON'T_ see core voc. 12:17:10 I.e. I won't see that words I'm to deal with. 12:17:45 Compare to Fig's. 12:18:05 FORTH voc. is listed _always_. 12:18:16 how many words is the forth voc? 12:18:31 Except you especially tryed to hide it. 12:18:37 if a general purpose forth os used by millions of people was created.. and there were _many_ applications for it coded by many different people.. how should vocabularies work? how do we run an application and then turn off that application (remove it from forth..)? 12:18:38 About 150 12:18:52 150 sounds like a lot :P 12:19:17 In a user shell you may hide core voc. 12:19:36 But in a _user_ _shell_. 12:19:47 Not in a programming env. 12:20:21 150 is a number more than words actually present. 12:23:06 No, that was another sys. 12:23:24 27 core words for me ;P 12:23:28 (machineforth) 12:23:34 all i need ;P 12:23:47 Current, that is in work has 234 words including: 12:23:54 1) not listed; 12:24:06 2) VLIST LIST TRIAD etc 12:24:32 3) almost ready to be multithreaded. 12:25:12 "Core" I mean in FORTH voc. 12:25:18 at start 12:25:30 at the 1st start of sys. 12:26:31 I can throw away about 20 words immediatly. 12:27:25 I can program in 24 machine coded words. 12:27:28 :p 12:27:43 I can reduce even this. 12:28:12 I can make my system single-task-only 12:28:31 multi-tasking: 2, maybe 3 words ;P 12:28:35 withont an extension ability 12:28:45 without an extension ability 12:28:49 Ha! 12:28:55 Semaphores. 12:29:14 Semaphores for TERMINAL, DISK... 12:30:26 Also: fixed position of stack bottoms, I can change it. 12:30:59 I have a upper boundary in memory. 12:31:41 After this boundary I can easily make RAM DISK for "swapping" 12:31:54 This is also hot-reconfigurable. 12:37:25 nahh, multitasking without semaphores is more fun ;P 12:39:24 And how should I link my parallel programs? 12:39:36 Via rendezvous? 12:39:48 Via monitor? 12:40:05 Via postoffice? 12:43:52 Hmm. 12:44:00 11.45pm 12:44:21 Well. I need to sleep. 12:44:48 good night 12:44:51 I whish there were 48 hours in a day. 12:44:55 I wish there were 48 hours in a day. 12:44:57 hey 12:45:01 there is 20 hours in a day 12:45:02 or more 12:45:13 But I'm afraid that's impossible. 12:45:14 there's a sleeping plan where you sleep 15 minutes every 4 hours 12:45:29 it worked for leonardo da vinci, winston churchill, and others 12:45:35 you can modify it 12:45:42 maybe 30 minutes sleep every 4 hours 12:45:54 it shouldn't be more than 30 minutes tho 12:46:04 or you get even more tired 12:46:06 I know Ferdinand II lived with no sleep for a month. 12:46:22 He wondered how he could stay alive. 12:47:03 Good night! 12:47:08 --- part: ASau left #forth 13:12:40 --- join: I440r (~mark4@1Cust25.tnt3.bloomington.in.da.uu.net) joined #forth 13:14:16 I440r: i got time to work on my compiler, if I can fetch your new version of isforth maybe i could merge the two togheter 13:14:37 its uploaded to isforth.clss.net now :) 13:14:40 honestly I never looked at your sources 13:14:43 i think ive fixed my problem 13:14:45 k 13:18:11 damn archiver program that doesnt support bz2 13:22:22 erm - get bzip. then do bunzip file./bz2 13:22:27 then tar xf file.tar 13:22:38 tar xivf file.tar.bz2 works here 13:22:51 the i option used to be a j or a J option i forget 13:23:00 might wat to try i I j and J 13:25:55 working ? 13:34:28 dont have tar on this machine 13:34:45 ill go get it by tonight 13:36:16 hmm i can extract the sources to my ftp if you want 13:36:39 would be great 13:36:50 dns me - its in ther now :) 13:37:17 thanks 13:37:42 is it letting you download any of it? 13:37:53 im changing perms on it now 13:38:09 tried accessing it with ie 13:38:14 crahsed miserably 13:38:16 lol 13:38:46 lol 13:38:56 good :) 13:39:09 more ftp's shoudl worth that way :P 13:39:11 i have nestcape 13:40:07 doesnt work either 13:40:15 im typing ftp://67.241.61.25 13:41:34 i440r: what's the friggin progress on the website? is that other guy actually making the website for you? 13:41:49 give him a DEADLINE if he's still making it for you 13:41:55 7 day deadline 13:43:08 reentrancy within my compielr could make it so small, less speed but so small, ill try it 13:43:11 i440r? 13:43:36 heh 13:46:10 --- mode: ChanServ set +o thin 13:46:47 --- join: michaelw (michaelw@pandora.debian.org) joined #forth 13:46:56 ? :) 13:46:59 heheh :P 13:47:09 i have you on my notify list from a loooong time ago 13:47:22 ah... hehe 13:47:23 it says "bug him to join #forth" 13:47:27 cause you came here once 13:47:29 and then left 13:47:30 :P 13:47:37 yep, i remember 13:47:46 do you have any interest in forth? 13:47:53 the channel has been _very_ active lately 13:48:27 i had, when i was fiddling with openfirmware of my sun box 13:48:33 ahhh 13:48:43 well i'm removing you from my notify now ;P 13:48:56 i just tried to understand some stuff... 13:49:15 and the patch is now in 2.4.19/2.5.23, fwiw ;) 13:49:43 heh 13:49:52 yeahyeah, unfortunately there is too much interesting stuff out there... 13:50:08 michaelw: http://sempiternity.org/forth/ -- a website in progress 13:50:19 i constantly have to restrict myself, otherwise i get lost :) 13:50:33 oh, and the "Excerpt" part means it was ripped off from some other place and i haven't removed it and put in my own content yet 13:52:39 with renetrancy i couls sacrifice speed for a size cut of 50% on some primitives definitions lol 13:54:19 anyway, bye :) 13:54:20 --- part: michaelw left #forth 14:18:46 is this construct good? 14:18:48 Begin 14:18:48 FetchBYTEplus 14:18:48 call DeToken 14:18:48 Again 14:19:01 begin is 14:19:06 call $+5 14:19:10 and again is 14:19:46 push DWORD [esp], ret 15:12:36 so, you guys workin oj the problem still? 15:12:53 ianni: i dunno, i guess not 15:13:04 i'm willing to work on it, but i'm a little lazy ;P 15:13:13 and i don't really have that much time 15:14:53 ianni: my thoughts on it was that a simple server and client back-end should be coded 15:15:01 that is, they wouldn't necessarily communicate thru sockets 15:15:06 just communicate simpler 15:15:11 and then you can test things out faster 15:15:35 simplifying the problem: 15:15:35 quickly code up a server that follows the same rules as the icfp's one 15:15:35 code up a client back-end to communicate with the server and to handle the data and to provide a language for the client front-end 15:15:35 client front-end: since the low-level details are taken care of, this is at a higher level and enables the many people to easily code an algorithm for the bot, and to test it out 15:15:36 if multiple people created various different bot algorithms, then we can test them all and see which ones are the best and use that feedback 15:21:32 --- quit: I440r ("Reality Strikes Again!") 15:26:57 heh 15:27:09 that's silly of me to assume using sockets, (which I did) 15:27:13 sly :) 15:27:44 how to communicate between two processes? 15:27:45 threads? 15:36:26 i dunno, maybe the server and clients don't need to be two processes 15:36:39 just as long as there's some way to test all the different algorithms 15:37:49 and possibly run multiple clients or whatever 15:38:15 i'm too lazy to do this myself 15:38:25 me too :) 15:38:39 it's too bad mslicker left, i could've talked with him about this.. 15:38:56 even if he can't bootstrap colorforth, doing it in forth would've been fine.. 15:39:47 well 15:39:55 if i had created the server/client-backend 15:40:06 all you would have to worry about was the actual algorithms 15:40:19 several people in the chan could've experimented with algorithms 15:40:29 and maybe that would've worked 15:41:25 use WEB-INF 15:41:31 what's that? 15:42:56 sorry, wrong window 15:43:12 hm 15:43:24 heh :) 15:51:36 I can't do anything in forth 15:51:53 i still havent written a progarm using the return stack yet- lol 15:52:43 that's fine, you don't really need to use the return stack for the most part 15:53:04 it's useful if you want to change where you return to or to store an extra number there 15:53:11 like maybe you have a word 15:53:22 and you need to handle 3 items on the stack 15:53:23 yeah 15:53:34 chances are you'll put one on the return stack 15:53:36 cant you just use variables to achieve the same effect anyway 15:53:40 because ROT is evil 15:53:57 variables aren't that efficient 15:54:04 ROT? that's (a b c --- c a b) right? 15:54:09 ah yeah? 15:54:11 makes sense 15:54:28 generally, you want to code forth in forth 15:54:35 you don't want to code like a C-coder in forth 15:54:47 because forth doesn't work well with C-like coding 15:55:07 generally, you want to avoid variables 15:55:19 you want to create simple, independant words 15:55:23 that take parameters off the stack 15:55:26 do something with it 15:55:47 perhaps leave some new parameters on the stack 15:55:48 yaeh 15:55:51 i understand 15:55:52 Don't listen to him. Don't use the stack for anything but arithmerics and store/fetch. 15:55:57 so you can have a whole bunch of these words 15:56:00 and string them together 15:56:04 Hi thin :) 15:56:04 stack is for implicit data passing 15:56:37 ianni: yeah, don't listen to robert, he doesn't factor his code and he uses lots of variables! ;P 15:56:45 i guess i need more problems. 15:56:54 robert: i just played pong.f 15:56:55 I'm used to working with huge expansive apis and huuuuge code sizes 15:57:05 but i played it thru a shell account.. laggy :( 15:57:13 thin: Oh :-( 15:57:30 robert: did you play both players yourself? did you win? ;) 15:57:31 Played my snake game? 15:57:39 not yet 15:57:40 thin: No, I lost :-( 15:57:45 OK, try it ;9 15:57:48 heh :) 15:57:50 It's a bit better. 15:59:31 Good night, forthers :) 15:59:38 eh, it askes for ?cursor 15:59:39 heh 16:00:44 hmm 16:00:58 Have fun ;) 16:00:59 Night. 16:01:40 hmm 16:01:42 hi 16:03:03 hi 16:03:19 yay! segmentation fault 16:05:30 ianni: u need more problems? well try 2 deal w dynamic stuff in 4th 16:05:41 onetom: give me your timer again 16:05:52 probably its still a mistery 2 some extent ;) 16:06:05 not as much anymore 16:06:06 ianni: eeer, what do u mean by that? 16:06:17 onetom: you gave me some words using utime 16:06:22 i gave me time 2 u already earlier? 16:06:27 ah, c 16:06:51 I lost it 16:06:58 u want me code quoted in again.. 16:06:58 c 16:07:00 sec 16:07:14 plz 16:07:17 #opencyc clog nef@bespin.org on irc.freenode.net: CLOG (Channel LOGger) http://tunes.org/~nef/logs/ 16:07:27 uc? there r the logs 16:07:57 me code is on me home machine what is - guess what - unreachable @ the moment 16:08:27 so the log is the only solution 16:09:15 http://tunes.org/~nef/logs/forth/ 16:09:17 but anyway, its always good 2 know that a /who clog always can whisper u the location of the logs ;) 16:11:18 futhin: ur nick is still misspecified... >;p 16:11:46 testing onetom ... 16:12:09 thin: say: onetom ! (/me is testing his irc client) 16:12:20 onetom 16:12:34 hmm... it doesnt hilite it... :/ 16:12:36 nevemind 16:15:33 cool 16:17:42 --- quit: Miciah (Read error: 104 (Connection reset by peer)) 16:18:55 what format is utime in 16:19:07 clearstack utime .s <2> 863528341 240010 ok 16:19:19 is that 863528341 ms ? 16:19:38 ianni: clearstack doesn't exist :) 16:19:43 i don't think so anyways 16:19:46 it does in gforth 16:19:58 anytime you do a nonsense word 16:20:03 like a word not in the dictionary 16:20:06 gforth clears the stack 16:20:23 a 16:20:23 *the terminal*:1: Undefined word 16:20:23 a 16:20:23 ^ 16:20:23 Backtrace: 16:20:24 $9D158 throw 16:20:26 $A71B8 no.extensions 16:20:35 : clearstack 16:20:35 sp0 @ sp! ; ok 16:20:40 ah 16:21:21 oh nm 16:21:22 fuond docs 16:21:56 but i dont understand the space 16:22:04 or - why utime puts TWO things on the stack 16:22:41 i dunno, what do the docs say? 16:23:06 Report the current time of day. Seconds, minutes and hours are numbered from 0. Months are numbered from 1. 16:23:07 utime 16:23:13 (-- dtime) 16:23:54 and for cputime: Report the current time in microseconds since some epoch. 16:23:55 cputime -- duser dsystem 16:24:01 clearstack utime .s <2> 1071257537 240010 ok 16:24:01 clearstack cputime .s <4> 100000 0 0 0 ok 16:25:38 nah? wazzup, man? 16:26:30 utime give a double cell value back on the stack 16:26:35 oh 16:26:47 but havent u seen it in my code?!!? 16:26:56 I didnt understand enough back then 16:27:02 I spent my time going through the words and learning them 16:27:29 im gonna wriet one myself 16:27:30 why i gave it 2 u then, if not avoiding sucking the big foamy horse dick, huh!? 16:27:41 because I can't find it in the logs 16:27:42 hahahahahah 16:27:45 lol 16:27:51 ctrl-f? ;p 16:28:03 I tried 16:28:07 was it in the chan or privmsg 16:28:08 jeeesus, man... its not easy 2 help ya :) 16:28:18 sure it was public! 16:28:24 k, let me c 16:28:25 lol 16:28:27 no no 16:28:29 Ill find it 16:29:22 http://tunes.org/~nef/logs/forth/02.08.29 16:29:32 ahhh wrong day 16:29:34 round midway in the file 16:29:40 search for utime 16:30:12 maaan... may i call u amateur? >;p 16:30:23 naaah, plz, let me... ;) 16:32:03 sure :) 16:33:41 ahh 16:33:44 it all makes sense today 16:33:52 I must be doing something right 16:34:09 so does forth emulate a single cell when you do d>s ? 16:34:18 or does it put all the data in one cell 16:34:27 if so why do we use double cells 16:34:36 speed... 16:34:52 IANNI, U BLOODY BASTARD, WATTA FOCKIN AMATEUR RYA?! ;) 16:35:26 d>s i actually a simple DROP, ithink 16:35:37 haha 16:35:47 or NIP? dunno... 16:35:59 ah 16:36:05 but it drops the lower cell, the LSByte 16:36:14 which I dont need? 16:36:23 while s>d is not just a simple 0 (or 0 swap) 16:36:25 clearstack utime .s <2> 1071257537 240010 ok 16:36:33 coz it also does sign extension 16:36:35 is that == 1071257537240010 in base 10? 16:37:15 yup its sg like that 16:37:24 ok 16:37:27 good 16:37:35 but not exactly of course...! 16:37:41 as you can tell I havent done much low level programming 16:37:42 right.. 16:37:46 could represent smoething else 16:37:52 does it here? no? 16:37:52 wait a sec, let me test the cell order 16:37:59 yeah I was doing that 16:38:09 it must b lower-byte upper-byte, but im not sure 16:38:12 left one changes 16:38:16 oh 16:38:22 hex 1 1 d. 16:38:35 1 1 d ? 16:38:42 nooo :))) 16:38:49 no what do you mean by 1 1 d 16:38:58 1 1 d. <- the dot means print the value 16:39:11 oh ... 16:39:12 just type it 2 gforth 16:39:16 verbatim! 16:39:19 k! 16:39:23 "hex 1 1 d." 16:39:33 oh 16:39:49 eh, i meant 1 2 d. ofcoz 16:39:52 its backwards 16:40:10 less significant is lower, right? 16:40:29 lower in the stack imean 16:40:59 the topmost number is leftmost in the number 16:41:09 but its one cell 16:41:16 what? 16:41:20 what is 1 cell? 16:41:24 300000001? 16:41:41 show me the full example! 16:41:48 hex 1 3 d. 300000001 ok 16:42:07 k, now try 1 3 .s d. 16:42:31 (dont repeat the word HEX, u r already in hex) 16:42:45 ahhh 16:42:49 c? 16:42:50 ah yeah? 16:43:07 d. knows its already in hex? or 16:43:16 yes 16:43:28 and also the interpreter know about it 16:43:33 ok, that clears that up 16:43:40 :) 16:43:50 there is no separate number bases for input and output in 4th 16:44:56 i like 2 teach by examples wo too much explanation 16:45:02 good way 16:45:06 it works better i think 16:45:24 and it doesnt last longer 2 teach sg this way 16:45:29 yeah 16:45:40 but the knowledge remains far more longer.. 16:45:41 so .d displays it as one hex value 16:45:53 thats how all "d"'s work too? 16:46:02 hmm 16:46:04 I should play around 16:46:06 and if u also count that u dont have 2 repeat the "course" again & again 16:46:10 yeah 16:46:27 u can clearly see the time gain 16:46:27 give a man a fish, feed him for a day, teach him to fish, feed him for his lifetime 16:47:00 t would be intersting to have some IDE for beginners 16:47:04 to show the stack visually 16:47:06 and step through the words 16:47:17 or debugger for that matter 16:47:24 sure 16:47:47 some forthes have it 16:47:50 ok I understand this now 16:48:03 &1000 ? 16:48:09 decimal 16:48:13 why do we use um* instead of * again? 16:48:25 chk it up in gforth manual 16:48:39 number formats or whatever is the chapter title 16:48:58 $ hex & dec % bin 16:49:11 ahhh 16:49:13 no octal? cant remember... 16:49:25 ' char 16:49:40 probably # is also used 4 sg 16:49:49 'A . 65 ok 16:50:18 worx in some 4thes even if it doesnt work in gforth 16:50:33 but the ANS method is "char A" 16:51:21 while the F83 also makes distinction between interpret time and compile time 1s, like: 16:51:29 char A . 65 16:51:40 : x [char] A ; 16:51:43 x . 65 16:52:16 [char] is the immediate version and it also compiles a literal in, not just put it onto the stack 16:52:31 least significant = first in ? 16:52:38 no, last in 16:52:39 ? 16:52:48 1st in 16:52:58 last out 16:53:15 ok 16:53:36 but, in math, isnt least significant last in 16:53:47 matH? 16:53:47 1,005 , isn't 1 more significant than 5 ?:) 16:53:55 what do u mean by that? 16:54:09 oh no wait 16:54:14 im confusing myself 16:54:20 ok, whatever 16:54:30 --- join: skylan (sjh@Riverview73.tbaytel.net) joined #forth 16:54:30 heh, umean in the human representation of a number 16:54:35 yeah 16:54:58 well yes, u write numbers from msb2lsb from left 2 right 16:55:31 while intel cpus write lsb2msb from lower 2 higher addresses 16:55:56 this byte order is call little-endian order 16:56:17 (iirc. otherz! help! am i right?) 16:57:05 thats big endian i think 16:57:21 whatever :) 16:57:23 no wait 16:57:41 yer right 16:57:47 little endian is stored "backwards" to human representation 16:57:48 what is importan: INTEL L2M L2H 16:58:13 dont try 2 remember such miserable things... 16:58:27 twG 16:58:36 yeah I jsut need it to get my bearings initially 16:59:20 significancy raises "in sychron" w the memory address 16:59:57 the other version is the trickier 17:00:28 u usually order consequent chucks of data 17:00:51 from lower 2 higher addresses 17:01:36 makse it harder to manipulate sa it changes 17:01:41 and if u have 2 iterate through the bytes of such data structure 17:02:02 u have 2 access the bytes in a fancy order 17:02:16 3 2 1 0 7 6 5 4 17:02:40 in case of 2 32bit wide number (big-endian) 17:02:58 yah 17:03:09 but usually its not a problem, while u treat data in cell sized chunks 17:04:13 some calculations r easier 2 implement in HW in big-endian order, ithink.. 17:04:18 how can I WHILE (not) timer STOPPED? 17:04:27 but not sure, what can b the advantage 17:04:45 im trying to understand in windup+! 17:04:54 io tihnk i understand line #1 17:04:55 >r d>s &1000 um* 17:05:01 begin tararam stopped? 0= while 17:05:03 stores one on ret stack 17:05:40 yes, it save the address of timer variable 4 further processing 17:05:42 stores the input time on ret stack, then takes the least sig. byte of timer,multiples it by 1000? 17:06:00 >r is for timer? not for d.ms ? 17:06:15 yes 17:06:38 u represent the stack from lower 2 upper from left 2 right 17:06:57 5 2 / . 2 17:07:08 2 5 / . 0 17:07:11 ok 17:07:20 that explains a lot 17:07:24 i mean i knew that but :) 17:07:26 ( divi... divisor -- ) 17:07:34 ( divi... divisor -- quotient ) 17:07:41 / ( divi... divisor -- quotient ) 17:07:59 so before and after -- is just like as if you were typing into forth 17:08:02 just a mirror of it 17:08:07 understand it perfectly now 17:08:09 (dividend is the right word, iguess..) 17:08:21 mirror? 17:08:24 n/m 17:08:28 not its not a mirror 17:08:32 2@? 17:08:46 thats what it says 17:08:55 r@ 2@ d+ r> 2! 17:08:58 retrieves 2 cell, not just 1 17:09:09 I'd think r@ returns 1 17:09:21 ohh 17:09:22 from timer 17:09:22 ok 17:09:30 got it 17:09:34 right :) 17:10:01 4 higher readability 17:10:10 1 should write it as: 17:10:16 >r 17:10:55 >r = ? 17:11:01 d>s &1000 um* r@ 2@ d+ r> 2! 17:11:21 nm here it is 17:11:21 >r = TO-R 17:11:27 nm? 17:11:36 nm = nevermind 17:11:39 ah 17:11:55 ahhhhhhhhhh 17:11:56 so >r ( x -- ) ( R: -- x) 17:11:57 i get it 17:12:07 gOt 17:12:09 >r, put on return stack r> put on param stack 17:12:10 :) 17:12:12 duh 17:12:16 yup 17:12:26 I must appear to be moving quite slowly to you 17:12:28 :) 17:12:43 it also took me a lot of time 2 realize the meaning of those > signs ;) 17:12:47 Haha 17:12:47 du< 17:12:48 ? 17:12:51 last one 17:12:58 no, ur pretty fast 17:12:59 also, why &1000? 17:13:05 why is it different than 1000? 17:13:07 d 4 double 17:13:11 u 4 unsigned 17:13:12 yeh I figureds that much 17:13:14 ahhh 17:13:15 < 4 less 17:13:18 ahhhh 17:13:25 what happens if you dont du ? 17:13:32 < ( a b -- a than 80000000 00000001 < is true 17:14:22 while 80000000 00000001 u< is false 17:14:35 80000000 00000001 < . -1 ok 17:14:36 true? 17:14:45 != 0 == true ? 17:14:46 coz 80000000 = -lot 17:14:51 a ha :) 17:14:52 hehehe 17:14:54 no, -1 is FFFFFFFF 17:15:27 coz think of what happens if u decrement 0 17:15:40 it becomes -1 but what does that mean? 17:15:47 FFFFFFFF = tryue? 17:16:01 oh, yes, sorry 17:16:07 u were right 17:17:12 oh 17:17:18 that's why it's "=0" 17:17:20 ! 17:17:32 *all kinds of lightbulbs flashing in iannis head" 17:17:34 * 17:17:35 hehe 17:18:35 80000000 00000001 < u. FFFFFFFF ok 17:18:59 thats an other good example between the signed/unsigned version of a word 17:19:11 a0yeah 17:19:22 Ok, this all makes sense. 17:19:31 2I'm gonna try to write something that I can time in seconds now 17:19:46 why &1000 17:19:58 i would advise 2 name it SEC 17:20:10 so u can use it as 5 SEC 17:20:33 why? 17:20:53 I want to do starttimer blah blah blah printtime 17:20:56 coz, i like 2 give the values in milisecs, not microsecs... 17:21:00 microsex ;) 17:21:02 ah 17:21:04 ahah 17:21:37 I want secs 17:21:40 4.52 17:21:41 and i give doubles, coz that way i can use a dont in the number 17:21:47 1.32 17:21:52 stuff like that 17:22:04 that was the reason :)) 17:22:19 i also would like 2 say things like that 17:22:25 do I do the . formatting myself 17:23:01 frankly, i wrote it half a year ago... 17:23:06 i forgot it :) 17:23:40 i think u have 2 write the unsignifican 0s to the end of the number, like 17:23:49 1.520 17:24:15 i dont need that 17:24:17 its been pushed 2 the stack as 2cells: 1520 0 17:24:59 then i say d>s ( 1520 0 -- 1520) 17:25:18 1000 um* 17:25:35 ( 1520 -- 1520000 0) 17:26:10 I ntersting 17:26:14 that helps me visualize 17:26:27 if the multiplications results in a number higher than the highes number in 32bits 17:27:00 then the bits r carried 2 the next cell 17:27:43 $80000001 $2 um* .s 2 1 17:28:18 coz that 8 shifts the the next cells lowest bit 17:28:43 and that 1 skips 2 the next binary digit, but ceratinly 17:28:52 stays at the lower 32bits 17:29:26 $80000010 $4 um* .s 40 2 17:29:56 its a better example, ihope so 17:30:12 I need to find that number format section of th manual 17:30:22 why? 17:30:30 I dont get what $ is doing 17:30:36 ive told u the most important thinks, havent i? ;) 17:30:41 hex 17:30:47 just like in pascal ;p 17:30:59 or basic, if it helps :D 17:31:29 but eg, turbo debugger also used it for representing hexa numbers, ithink 17:31:42 coz it takes less space than the 0x prefix 17:32:01 oh ok 17:32:06 it's just like 0x 17:32:13 sure.. 17:32:15 its a prefix 17:37:53 mmmmmmmmmmmmm 17:39:26 look: 17:39:28 cr .( Timer support 2002.03.23 ) 17:39:28 : timer 2variable ; 17:39:28 : windup! >r d>s &1000 um* ( [usec]) utime d+ r> 2! ; 17:39:28 : windup+! >r d>s &1000 um* ( [usec]) r@ 2@ d+ r> 2! ; 17:39:28 : stopped? 2@ utime du< ; 17:39:46 it just takes 4 lines 17:40:00 each line is shorter than 64chars 17:40:11 so succint 17:40:19 what is ( and [usec]) mean ? 17:40:30 so the whole thing take up 1/4 of a screen 17:40:49 ( is the beginning of a comment 17:41:08 it skips further chars until it stumbles in a ) 17:41:32 this skipping procedure doesnt deal w word boudaries 17:41:57 (that is it ignore spaces and everything, except a closing paren) 17:42:43 so w/o the comment its really just a bunch of words 17:43:02 and u have a nice timer extension 2 ur 4th language 17:43:27 thats the real power of forth 17:43:46 most ppl cry about this four lines 17:44:26 and they want 2 avoid thinkin that much 17:44:50 what is required by this 4 lines 17:45:08 insted they követel libraries 17:45:08 ahhh 17:45:15 and smart compilers 17:45:19 and so on 17:45:28 LOL 17:45:35 thanks for XML tagging your hungarian for me 17:45:50 while this way u can easily optimize the code further 17:46:21 :) still dont know the proper english word that fits there... 17:46:45 can u help me by chance? 17:46:53 demand! 17:47:01 thats it! got it finally :) 17:47:40 so u can replace that 1000 * w the following 17:47:46 yah 17:48:16 1000 * := 10 * 10 * 10 * 17:48:37 2* 5 * 2* 5 * 2* 5 * 17:48:55 u can say: 17:49:25 : 5x dup dup + dup + + ; 17:49:58 : 1000x 2* 2* 2* 5x 5x 5x ; 17:50:17 and thats all 17:50:42 2 more lines and u r able 2 use the code on architectures wo multiplication support 17:51:34 heee 17:52:07 cool thanks man 17:52:08 will play a bit 17:52:09 hmm... 17:52:10 be back later 17:52:49 : 5x dup dup + 2* + ; 17:52:53 bye 17:53:26 and it was my honor that i can teach u 17:54:03 eeh, dup + === 2* 17:54:13 so 5x could b even more simple: 17:54:34 oh, it is my honor to be taught 17:54:47 : 5x dup 2* 2* + ; 17:55:31 & uknow, 2* usually exists in most processors 17:55:54 it just named SHIFT LEFT (shl) 18:02:22 : time utime 2>r ' execute utime 2r> d- ud. ; 18:02:46 heres another useful word created in half a minute ;) 18:03:06 its just like the time command in bash 18:04:10 use it as TIME WORD-TO-TIME 18:05:42 : x ' 10000 0 do dup execute loop drop ; 18:05:50 time x noop 505 ok 18:09:20 hmmm, its not perfect 18:09:55 i also have 2 save the addr of the word 2 exec inside the loop 18:10:09 so it can access the stack 18:11:28 : x ' >r 10000 0 do j execute loop rdrop ; 18:11:49 J accesses the 3rd level in the return stack 18:12:11 in the tipical implementations 18:12:24 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-205-129.vienna.va.fcc.net) joined #forth 18:12:30 hiya all 18:12:41 hi 18:13:07 hiya onetom 18:13:15 but DO LOOPs r discouraged 2 b used 18:13:52 instead a more cleaner & !far more! efficient loops r adviced 18:13:53 like: 18:14:38 10000 repeat ..... 1- dup 0= until drop 18:15:17 no, sorry 18:15:27 10000 BEGIN ..... 1- dup 0= UNITL drop 18:15:29 or 18:15:54 1000 BEGIN dup WHILE ..... 1- REPEAT 18:16:25 so adapting the previous example 2 it: 18:18:46 : x ' >r 10000 BEGIN dup WHILE r@ swap >r ( save cycle counter) execute r> 1- ( restore&dec cycCnt) REPEAT rdrop ; 18:19:34 it seems a bit more complicated, but probably more efficient exec-time-wise 18:21:34 as u can c, its inconvenient 2 pass "words as parameters" on stack 18:21:54 so in our case, we can save it into a variable BUUUUUUUT 18:22:22 only when x is not planned 2 b used nested 18:22:44 coz the usage of such a GLOBAL variable fux up reentrancy 18:23:01 so u can b able 2 say X X SOMEWORD 18:23:47 coz the 2nd X overwrites the address in that GLOBAL var saved by the 1st X 18:24:53 but assuming u use this timing stuff alone, in a non-nested way 18:25:08 u can make it more efficient by using a VARIABLE 18:25:19 like: 18:25:55 VARIABLE (x-word-addr) 18:26:28 (hm... its a bit long name...) 18:26:38 VARIABLE (x) 18:28:29 : x ' (x) ! 10000 BEGIN dup WHILE >r (x) @ execute r> 1- REPEAT ; 18:30:23 (14 words...) 18:37:00 hmm.. the : x ' >r 10000 0 do j execute loop rdrop ; is much faster in gforth 18:38:51 optimization is a tricky thing to do...indeed it is an art unto itself :) 18:39:54 ive just experienced it :) 18:41:09 heh...I've been thru that stuff often in distant past...one has to learn when to use optimization techniques vs. the time and effort expended on it 18:42:49 usually one doesn't have to aggressively optimize it...for example, I usually use Python (which is certainly slower than C) to slice-n-dice the text file, and organize the resulting info...I do that often. I don't think much of the underlying efficiency of each "feature" involved 18:44:19 neither me 18:44:39 but when i have 2 put the code beside a webserver as cgi... 18:45:10 well, if its not for personal use, its better 2 think on optimization 18:51:54 if you have a reasonably fast enough webserver, then the main bottleneck would be network...and here, it would be kinda silly to optimize on the host end-point, unless it does dynamic web page serving up 18:53:41 well, gotta go...bye all 18:53:53 --- part: TheBlueWizard left #forth 18:54:33 I am doing the dictionary for my compiler by hand 18:54:36 fascinating 18:54:55 assembly simplified by 10 18:55:11 aha is truly the forth of the compile time 18:55:33 there's no better language to express compile time solutions 19:14:29 --- quit: CrowKiller ("User pushed the X - because it's Xtra, baby") 19:50:22 --- join: geekoid (~geekoid@adsl-33-96-12.asm.bellsouth.net) joined #forth 20:02:34 --- mode: thin set -o thin 20:07:05 anybody alive? 20:07:21 onetom, OrngeTide, geekoid, Robert... 20:07:30 i'm alive 20:07:33 i think 20:07:40 i've had a lot of cookie dough... 20:07:47 hehe 20:07:54 anybody know how to test if there's another word coming after the currently executed word? 20:07:59 like: 20:08:04 help blah 20:08:15 help gets executed, but wants to know if there's a word after it.. 20:08:35 maybe i look at the tib? 20:08:47 i'm still a newbie... wish I could help ya :-( 20:13:08 hmmm 20:13:19 well the tib doesn't really work i guess 20:13:45 it's static 20:13:51 it gets the first word 20:14:16 but doesn't get the second word until the interpreter gets there 20:29:55 hah 20:30:04 i keep accidentally typing forth stuff in bash 20:30:08 and bash stuff in forth 20:30:35 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 20:31:00 it happens 20:31:06 i hate it 20:31:34 I do a lot of PHP and C at work, and I'm always declaring C variables with a $ or doing #includes with a $ 20:45:44 --- quit: geekoid ("Client Exiting") 20:48:57 isforth is pretty cool 20:50:14 --- mode: ChanServ set +o thin 20:51:28 --- topic: set to 'Thoughtful programming is about changing your perspective of the problem until it is a trivial one. || x86 Linux Forth coded in asm - http://isforth.clss.net | home of forth - http://www.ultratechnology.com' by thin 20:52:00 --- topic: set to 'Thoughtful programming is about changing your perspective of the problem until it is a trivial one. | x86 Linux Forth coded in asm - http://isforth.clss.net | home of forth - http://www.ultratechnology.com' by thin 20:52:45 --- topic: set to 'Thoughtful programming is about changing your perspective of the problem until has a trivial solution. | x86 Linux Forth coded in asm - http://isforth.clss.net | home of forth - http://www.ultratechnology.com' by thin 20:53:03 --- mode: thin set -o thin 20:53:35 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 23:59:59 --- log: ended forth/02.08.31