00:00:00 --- log: started forth/09.10.22 01:09:05 --- nick: H4ns1 -> h4ns 01:09:07 --- nick: h4ns -> H4ns 01:15:40 --- join: ASau (n=user@77.246.231.43) joined #forth 01:28:31 foxes: function them ? 01:29:59 --- quit: ygrek (Remote closed the connection) 02:51:37 schme, I mean: use the numbers one by one. 02:52:25 I have a word: .REC, it use one number on top of stack, show the recorder in database. 02:52:45 but, if i have some special numbers to show: 3 42 5 3 7 6 5 02:52:58 I want to make a word to do this. 02:53:10 do....loop cant do this/ 02:59:52 --- join: ygrek (i=user@gateway/gpg-tor/key-0x708D5A0C) joined #forth 03:22:18 foxes: if you know how many numbers you have on the stack DO LOOP should work? 03:23:19 schme, I use depth to get the numbers , then I did with DO LOOP, but it can eat the numbers on top of the stack while in loop 03:23:50 eat 'em? 03:24:00 use I mean :) 03:24:23 I'm not quite following you here. 03:24:23 but it can NOT eat the numbers on top of the stack while in loop 03:24:34 why not? 03:24:44 dont know why 03:25:15 seems a bit odd ? 03:25:53 wait, I paste the code to you. 03:27:30 : hubbub ? do . loop ; 03:27:35 1 2 3 4 5 depth 0 hubbub 03:27:39 5 4 3 2 1 03:27:51 uh sorry 03:27:58 : hubbub ?do . loop ; 03:30:01 cook! it does now 03:30:03 cool 03:30:29 excellent. 03:30:37 but , it dosen't work at the first time.. 03:31:13 I'd be a bit not happy about using depth like this, meself. But whatever works for you (: 03:31:20 another question comes up, if i put 1 2 3 4 on the stack, how to get them out for a same order? 03:31:38 you don't 03:31:47 it's a stack 03:32:13 Maybe you want to implement a queue. 03:32:39 yes , I did . 03:32:59 I just ... forget it ;) 03:33:14 or you can go do uglyness like look up where in memory your stack is and go to beginning of stack and walk up it. 03:34:04 I guess you could also put everything on to the return stack and pop from there. 03:34:07 hmm.. 03:34:18 that would reverse it I reckon. 03:34:27 or maybe I'm thniking wrong 03:34:42 put everything on to the return stack <--- :D 03:34:52 never mind, I solved that. 03:34:56 cools 03:35:20 I implement a queue :) 03:35:27 cools. 03:36:29 :) 03:48:34 --- quit: scj (Read error: 60 (Operation timed out)) 03:56:56 --- join: scj (n=scj@static-ip-62-75-255-125.inaddr.server4you.de) joined #forth 04:07:31 --- quit: scj ("ZNC - http://znc.sourceforge.net") 04:13:30 --- join: scj (i=syljo361@static-ip-62-75-255-125.inaddr.server4you.de) joined #forth 04:14:58 --- quit: proteusguy (Read error: 110 (Connection timed out)) 04:15:37 --- join: proteusguy (n=proteusg@zeppelin.proteus-tech.com) joined #forth 04:30:25 --- quit: nighty_ (Client Quit) 04:56:19 --- quit: ygrek (Remote closed the connection) 05:14:04 --- join: segher (n=segher@84-105-60-153.cable.quicknet.nl) joined #forth 05:23:04 schme: well... there's ROLL 05:36:05 hi, ASau 05:36:29 ASau: hey right there is. 05:36:44 It all still seems... I dunno.. depth.. rolling. 05:36:48 * schme shivers. 05:37:43 Well... As long as you understand performance penalties, 05:37:44 there's nothing wrong with it. 05:37:52 And don't listen to those old farts. 05:38:19 We don't live in 80s, our CPUs are damn fast today for this kind of tasks. 05:39:05 yup. 05:39:23 I'm more thinking of how I'd make a big mess of using depth to feed loop. 05:39:36 I'd be having shit on the stack that should not be there for sure :) 05:40:47 Remember depth at start and then you know how many elements you put. 05:41:34 nod 05:41:48 You can do it even by putting "0" at start and repeating "swap 1+" when you push numbers. 05:42:18 hey good idea. 05:43:12 nice! 05:43:55 Actually, with Forth you can imagine that you don't program two-stack automaton. 05:44:01 Turing machine rather. 05:45:18 That's a bit funny at times when people seem to think forth is restricted to being all about stacks. 05:45:26 tends to be non-forthers too (: 05:47:10 I prefer to be non-forther rather than old fart like a good deal of forthers. 05:48:59 * schme prefers being schme (: 06:20:04 --- join: ygrek (i=user@gateway/gpg-tor/key-0x708D5A0C) joined #forth 06:25:00 --- join: chturne (n=chturne@host217-42-7-13.range217-42.btcentralplus.com) joined #forth 06:46:13 --- quit: chturne (Remote closed the connection) 06:48:31 --- join: nighty_ (n=nighty@x122091.ppp.asahi-net.or.jp) joined #forth 06:49:27 --- quit: ygrek (Remote closed the connection) 07:06:00 --- quit: foxLaptop ("leaving") 07:58:49 --- nick: gnomon_ -> gnomon 08:24:50 --- join: GeDaMo (n=gedamo@212.225.108.57) joined #forth 08:34:34 the PARAMETER stack is not a place to store large amounts of data. create or allocate a buffer and use a variable stating the size of data contained within that buffer. dont PUSH the data onto the stack 08:35:41 Wrong. 08:35:51 Parameter stack is the place to store data. 08:36:11 If you have plenty of them, just use larger stack. 08:37:54 I'm not convinced there is so much right and wrong. Just do whatever floats your boat. forth gives much freedom for this. 08:39:03 I'm sick of orthodoxy. 08:40:16 schme: your "just do whatever" means that there shouldn't be restriction on stack usage a priori. 08:40:47 schme: and I440r does quite the opposite 08:41:04 he asserts that stack must be shallow. 08:41:15 as if we live with 64K RAM still. 08:42:28 I want to port forth into my AT89s52 (8K) chip :) 08:42:43 ASau: Yes, I am aware of this. I don't think there should be restrictions at all tbh. 08:42:59 other than hardware ones, of course, and whatever you feel are good for your implementation etc. 08:44:25 foxes: You're free to do whatever you like. 08:44:59 ASau, yes, but it seems hard. 08:45:03 to me. 08:45:26 it has nothing to do with the size of the stack 08:45:31 foxes: the point is that it is plain stupid to demand shallow stack usage 08:45:31 even when you have 2G RAM + demand-paging system. 08:45:56 stacks can be made to automaticlly GROW on overflow 08:46:31 the stack is for parameters 08:46:36 So what? 08:46:43 are you going to create words to rotate 3 buffers of 28945629834 bytes each? 08:46:48 stack is for whatever you want. 08:46:57 because each buffer could be considered a parameter rite? 08:47:03 If I have 100 K cells of parameters, I hold them on stack. 08:47:22 use a separate buffer and your buffered data wont inhibit your access to actual parameters 08:47:26 foxes: I think the only sane thing to do is to implement an object system here. And some queue. So you can queue your record objects ;) 08:47:32 Why the hell should I use separate buffer? 08:47:47 100 K cells are _real_ parameters, not imaginary ones. 08:47:47 schme, :) 08:48:19 right and i suppose you also want to create stack manipulation words that can access 284756298465278945 different parameters at different depths 08:48:22 stupid 08:48:22 Grow up first, the world isn't Apple][ only. 08:48:29 go code C. thats how C coders work 08:48:30 Guys, please. 08:48:53 Sure, that's why we have operating systems in C, but not in Forth. 08:49:00 ouch 08:49:04 Not a _single_ one in Forth. 08:49:05 --- join: neceve (n=ncv@unaffiliated/neceve) joined #forth 08:49:23 You use C-written operating system yourself. 08:49:26 no. thats 100% completely WRONG 08:49:36 Alright. 08:49:44 they just arent super complex monstrisities that you would call an OS 08:49:50 Amendment: you use C-written kernel yourself. 08:49:57 Because linux isn't operating system. 08:50:07 an operating system gives you access to storage. it allocates memory. it executes applications 08:50:09 Anyway, you don't have even kernel in Forth. 08:50:27 ok your so full of shit now i see no point in continuing this 08:50:54 Remind me, please, have you got your Forth at least self-hosting? 08:51:08 Or do you still use C-written tools? 08:52:27 Oh, you mean that there _are_ operating systems in Forth. 08:52:36 Name at least one, please. 08:53:11 I may even try it out. 08:53:51 _If_ it can render PostScript at least. 08:56:58 Such a thing may never exist, given the effort required. 08:57:57 Why it may never exist? 08:58:05 Why it exists in C then? 08:58:20 dont ask me to provide your pipe dream either. tell me what YOU have done to create it 08:58:31 show me your forth? 08:58:31 I think I need to get me some hamburger 08:58:37 or even your C application ? 08:58:44 what have you produced other than contention in here 08:59:00 I have fixed a number of bugs in gforth over the years. 08:59:11 What have _you_ done for community? 08:59:18 dont point at other peoples products and tell them what it cant or does not do. 08:59:22 --- join: kar8nga (n=kar8nga@jol13-1-82-66-176-74.fbx.proxad.net) joined #forth 08:59:51 so you have twiddled a little with someone elses product. wheres YOURS? 08:59:51 ASau: It exists in C because Linus wanted the kernel to exist. It's taken 20+ years to get this far, and that depended on others too numerous to count building applications that would run on more than one kernel. 09:00:03 I440r: it is commercial. 09:00:17 linus also knows forth but does not like it because it does not have data types 09:00:31 I like StrongForth for that, actually. 09:00:37 TreyB: we have a dozen of kernels in C. 09:00:57 every fucking forth in existence has a kernel 09:01:08 And loads of software for them. 09:01:15 I know. 09:01:24 there is no such thing as a forth program 09:01:27 thers just forth 09:02:27 And that's why can't show me any working user level application. 09:03:42 --- quit: ASau ("off to home") 09:04:39 does he even KNOW forth? 09:05:38 What do you mean "no such thing as a forth program"? 09:05:55 thers forth. you extend forth to include the solution to your problem 09:06:00 the end product is FORTH 09:06:03 not "a forth program" 09:06:08 I am sorry to tell you that hamburgers have been delayed by an hour :( 09:06:12 forth is user defined. you redfine what forth does 09:06:46 a chess program written in forth extends forth to be a chess application. when its completed you have FORTH you dont have a chess program written in forth 09:06:56 you have forth extended to be a chess program 09:07:13 Oh asau left? 09:07:16 every time you define a new word in forth you extend forth by ONE new word 09:07:17 And by that logic I assume that a turnkey'd forth becomes a not-forth? 09:07:18 maybe I should enable /quits 09:07:32 I am curious about how "doing something for the community" is a grand essential thing. 09:07:43 But I guess oh well :) 09:07:48 * schme stops the trolling then. 09:07:55 im curious to know how isforth isnt something done for the community? 09:08:07 and again. whers HIS thing done "for the community" 09:09:26 what community? (: 09:09:38 heh 09:09:44 its growing! 09:09:48 That's good. 09:09:55 when i created this channel i spent over a year in here ALONE!!!! 09:10:00 other than a few flyby's 09:10:02 including asau 09:11:38 Did Quartus kick the bucket, or did we just piss him off. 09:11:40 ? 09:14:16 anyone used this pygmy forth? 09:14:35 pygmy forth is good! 09:14:44 i borrowed some very clever code from it :) 09:15:33 hoh nice. 09:16:50 I used pygmy years ago 09:22:02 I found my zaurus. I think I need to get linux off of it and write a lil forth. pygmy seems interesting to look at then. 09:22:41 what processor? its arm isnt it? 09:23:09 --- join: ygrek (i=user@gateway/gpg-tor/key-0x708D5A0C) joined #forth 09:24:07 yup. 09:24:51 I used to have a zaurus. I still miss it. 09:24:51 XScale PXA270 09:24:51 Yup. ARM. 09:25:12 can you replace the linux kernel in there? do you have enough info on the hardware it contains to write a new kernel of some sort? 09:26:11 sure. I already replaced the preinstalled japanese linux distro with an angstrom distro. 09:26:43 i mean. can you write a driver to read the touch screen 09:26:54 do you know enough about the display to be able to draw into it? 09:27:06 do you know enough about the flash storage to be able to read and write it?. 09:27:08 hardware info should, in worst case scenario, be something I can dig out of the linux distro that is on there. 09:27:19 not always 09:27:30 it's open 09:27:34 not all of those things are as open as they should be 09:27:42 oh this one is (: 09:27:49 look at dd-wrt. nice fine opensource application 09:27:51 I think openbsd was ported to it 09:27:54 thats about 90% open source 09:28:01 ya openbsd also runs on it. 09:28:18 get the tech sheets for all the hardware in there first :) 09:28:22 either way it all worth a try 09:28:23 yup. 09:28:33 clocks, timers, interrupts, processor, video, the camera if it has one etc etc 09:28:40 if it has a camera whose camera is it? 09:28:46 no camera 09:28:51 kk 09:29:13 yay wife on the phone! she is getting my burgers. 09:29:23 heh 09:29:28 thats what wives are good for im told 09:29:29 I miss the old days.. computers came with a good hardware reference manual. 09:29:34 or atleast you could buy one. 09:29:37 nowadays... 09:29:47 hardware is more closed than software is these days 09:30:51 because software people can write 'emselves.. hardware a bit trickier :) 09:33:03 actually hardware is in some ways easier than software. 09:33:17 usually hardware people have to get their shit right first time too :P 09:33:41 you cant do "buildit. fix it, rebuild it, fix it, rebuild it, fix it" over and over like you can in software 09:35:21 but then software engineers would have to think stuff up before writing code :( 09:35:52 eep! think FIRST? herecy! 09:43:30 prototype 100% of your code on paper first. debug it BEFORE building it. when done buld code 09:43:40 you cannot do that with software but thats how its done in hardware 09:45:41 I like hardware. (: 09:46:08 speaking of hardware I see the hardware patent wars are starting. Nokia is hitting Apple for the Iphone. This will be entertaining. 09:47:15 lol cool! 09:47:25 someone should hit nokia back 09:47:30 jsut because 09:47:32 just 09:52:48 ok. should i allow people to enter the illegal test cx, [bx+di] 09:53:03 and where i see that i assemble the legal test [bx+di], cx 09:53:32 or should i abort with some error message when the user presents the illegal syntax case? 09:55:31 hrrrmmm.. that's a though one really. 09:55:50 ABORT 09:55:56 ya. right now im allowing the illegal syntax and assembling "what i knew they meant" lol 09:56:20 that makes sense too. it just feels dirty. 09:56:37 but it's such a special case where it don't really matter much. 09:56:50 yea. by aborting with "illegal syntax" it would encourage them to actually learn WHY it was illegal syntax :) 09:57:15 it annoys me when i dial a number and the phone comany tells me "you need to dial a 1 first" 09:57:20 ok so fuckin pretend i did! 09:57:22 lol 09:57:33 --- quit: gnomon (Read error: 60 (Operation timed out)) 09:57:44 --- join: gnomon (n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com) joined #forth 09:57:50 yeees 09:58:02 test here is a bit the same I guess. 09:59:06 or i could ." WARNING: Illegal syntax corrected" 09:59:07 hehe 09:59:29 but that would be as annoying as ." you need to dial 1 first here" 09:59:42 --- quit: kar8nga (Remote closed the connection) 10:00:13 well.. 10:00:19 I need to eat my hamburger. 10:00:53 wherse mines? 10:07:12 --- join: pgas (n=user@pdpc/supporter/active/pgas) joined #forth 11:00:44 --- join: kar8nga (n=kar8nga@jol13-1-82-66-176-74.fbx.proxad.net) joined #forth 11:30:12 --- join: grub_booter (n=charlie@d515301E0.static.telenet.be) joined #forth 11:30:27 hi all 11:31:19 hai 11:32:01 how's it going schme? 11:32:10 going great. 11:32:13 I had my hamburger. 11:32:23 heh 11:32:25 found some very good information at the openbsd site 11:32:31 How is the grub bootar? 11:32:49 a boot loader 11:33:28 allows you to dual boot/select os kinda thing 11:33:51 (nothing to do with me btw - i just chose it as a nick cos the first thing i'd done that day was boot my computer) 11:34:31 Well yeah I know what the grand unified boot loader is. 11:35:12 oh - sorry :-) - misread :-) - doing fine 11:35:43 what brings you to forth? developing in it? 11:36:30 at times, yes. 11:36:44 Not so much time to actually write code these days. But yeah. 11:37:09 Thinking of writing a forth for my zaurus now. Found some nice hardware info at openbsd.org too. 11:37:19 ah :-) 11:38:01 i'm writing a forth-like interpreter - kinda specialised for video/audio editing - builds graphs kinda thing 11:38:16 sounds very cool! 11:38:24 how does that work? 11:39:04 a bit like a dumbed down forth :-) 11:39:32 it sounds totally interesting 11:39:55 if you specify file.mp3 it will load that file and leave an object on the stack which you can play, or apply filters to, or run functions against (which apply filters) 11:40:15 so you can go: file.mp3 filter:echo . 11:40:48 or play video: video.avi . 11:41:03 I'm quite interested in audio.. doing some software synthesis in a forth. 11:41:09 but then you can also combine multiple things like: 11:41:24 file1.avi file2.avi filter:playlist slots=2 11:41:44 the slots=2 is a modification to the thing on the top of the stack 11:41:51 hmmm. ok. 11:43:48 and of course, you can do your normal forth like arithmetic and parameterise property assignment and swap stack items around and build up complex editing/fx graphs 11:44:02 sounds like a buncha fun :) 11:44:42 yeah :-) - trying to come up with a tutorial using the language itself - currently have http://codepad.org/o1PXaeQF at the top level 11:45:10 and you use it like: amltutor --help 11:47:07 (as in, the script defines words and the command line invokes them... 11:48:02 hmmm.. 11:49:12 the { , and } words just create an array, add to an array, print an array respectively (not from the language - words coming in from the include at the top) 11:53:27 I think I need to make panckase 11:53:30 pancakes 11:53:36 heh 11:55:45 anyway, it's much more interesting in what it can do with media - just thought the tutorial thing was kinda funny :-) 11:55:56 good stuff :) 12:26:59 Good evening. :) 12:32:36 --- quit: neceve (Remote closed the connection) 12:58:09 --- quit: pgas ("/quit") 13:13:25 --- quit: ygrek (Remote closed the connection) 13:22:50 Hi arke 13:26:14 Hi crcx 13:33:35 Hi crcx 13:40:02 --- join: gnomon_ (n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com) joined #forth 14:10:48 --- quit: gnomon (Read error: 110 (Connection timed out)) 14:11:17 --- join: impomatic (n=John@217.171.129.67) joined #forth 14:29:32 --- quit: impomatic (Read error: 145 (Connection timed out)) 14:34:10 --- quit: GeDaMo ("Leaving.") 14:41:31 --- join: InvisibleTomato (n=DEDULO@ext-gw.wellcom.tomsk.ru) joined #forth 14:45:06 --- quit: kar8nga (Remote closed the connection) 15:01:36 --- quit: DrunkTomato (Read error: 110 (Connection timed out)) 15:05:30 --- quit: Al2O3 (Read error: 104 (Connection reset by peer)) 15:05:36 --- join: Al2O3 (n=Al2O3@h59.155.31.71.dynamic.ip.windstream.net) joined #forth 15:33:24 --- join: gnomon (n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com) joined #forth 15:36:53 --- quit: gnomon_ (Read error: 104 (Connection reset by peer)) 15:51:00 --- quit: nighty_ (Client Quit) 15:53:19 --- quit: InvisibleTomato (Client Quit) 17:18:39 --- join: nighty^ (n=nighty@210.188.173.245) joined #forth 17:18:46 --- quit: nighty^ (Read error: 131 (Connection reset by peer)) 17:19:00 --- join: nighty_ (n=nighty@210.188.173.245) joined #forth 17:34:48 --- join: tathi (n=josh@dsl-216-227-91-166.fairpoint.net) joined #forth 17:46:45 --- quit: nighty_ (Client Quit) 17:55:44 --- quit: I440r ("Leaving") 17:58:14 --- quit: tathi ("leaving") 18:16:40 --- quit: H4ns (Read error: 104 (Connection reset by peer)) 18:42:11 --- quit: kleinjt (Remote closed the connection) 18:52:13 --- join: nighty_ (n=nighty@210.188.173.245) joined #forth 18:57:12 --- join: kleinjt (n=kleinjt@tarsonis.dhcp.rose-hulman.edu) joined #forth 19:04:59 --- join: foxLaptop (i=flash@222.131.177.148) joined #forth 20:44:24 --- quit: aguaithefreak (Read error: 110 (Connection timed out)) 21:51:21 --- quit: kleinjt (Read error: 110 (Connection timed out)) 22:02:13 --- join: kleinjt (n=kleinjt@tarsonis.dhcp.rose-hulman.edu) joined #forth 22:19:48 --- part: X-Scale left #forth 23:15:51 --- join: nighty__ (n=nighty@210.188.173.245) joined #forth 23:18:48 --- quit: nighty_ (Read error: 145 (Connection timed out)) 23:25:38 --- join: qFox (n=C00K13S@5356B263.cable.casema.nl) joined #forth 23:44:07 --- join: foxLapto1 (i=flash@123.113.219.39) joined #forth 23:45:46 --- quit: foxLaptop (Read error: 60 (Operation timed out)) 23:48:25 --- join: aguaithefreak (i=aguai@114-36-125-18.dynamic.hinet.net) joined #forth 23:52:18 --- quit: foxLapto1 (Read error: 131 (Connection reset by peer)) 23:57:22 --- quit: foxes (Read error: 110 (Connection timed out)) 23:57:25 --- join: foxes (i=flash@123.113.219.39) joined #forth 23:59:59 --- log: ended forth/09.10.22