00:00:00 --- log: started forth/07.04.04 00:05:06 --- quit: slava () 00:07:46 --- quit: Quartus () 00:11:36 --- join: brx`` (n=brx@p57A7B489.dip0.t-ipconnect.de) joined #forth 00:13:02 --- quit: brx (Read error: 110 (Connection timed out)) 00:18:09 --- quit: brx` (Read error: 110 (Connection timed out)) 00:52:13 --- join: brx (n=brx@p57a7ae86.dip0.t-ipconnect.de) joined #forth 01:02:28 --- join: brx` (n=brx@p57a7a7e0.dip0.t-ipconnect.de) joined #forth 01:03:47 --- quit: brx`` (Read error: 110 (Connection timed out)) 01:09:42 --- quit: brx (Read error: 110 (Connection timed out)) 01:53:36 --- join: brx (n=brx@p57a7a113.dip0.t-ipconnect.de) joined #forth 02:02:34 --- quit: ayrnieu (Remote closed the connection) 02:03:32 --- join: ayrnieu (n=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 02:08:40 --- quit: brx` (Read error: 110 (Connection timed out)) 02:10:59 --- join: brx` (n=brx@p57a7a0f3.dip0.t-ipconnect.de) joined #forth 02:15:40 --- join: brx`` (n=brx@p57a79c36.dip0.t-ipconnect.de) joined #forth 02:19:40 --- quit: brx (Read error: 110 (Connection timed out)) 02:30:50 --- quit: brx` (Read error: 110 (Connection timed out)) 02:39:18 --- join: brx (n=brx@p57a79b48.dip0.t-ipconnect.de) joined #forth 02:40:32 --- quit: JasonWoof ("off to bed") 02:47:56 --- quit: brx`` (Read error: 110 (Connection timed out)) 03:28:05 --- join: yumehito_ (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 03:33:11 --- quit: yumehito_ (Remote closed the connection) 03:34:15 --- join: yumehito_ (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 03:38:02 --- join: brx` (n=brx@p57a78fd7.dip0.t-ipconnect.de) joined #forth 03:39:43 --- quit: yumehito (Read error: 110 (Connection timed out)) 03:43:25 --- quit: yumehito_ (Remote closed the connection) 03:44:14 --- join: yumehito (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 03:51:20 --- join: yumehito_ (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 03:51:25 --- join: brx`` (n=brx@p57A7AD44.dip0.t-ipconnect.de) joined #forth 03:53:08 --- quit: yumehito (Read error: 60 (Operation timed out)) 03:53:54 --- quit: brx (Read error: 110 (Connection timed out)) 03:55:22 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 03:55:22 --- mode: ChanServ set +o tathi 03:58:35 --- quit: brx` (Read error: 110 (Connection timed out)) 04:00:10 --- quit: yumehito_ (Read error: 145 (Connection timed out)) 04:56:33 --- join: brx (n=brx@p57a7ac72.dip0.t-ipconnect.de) joined #forth 05:07:08 --- quit: tathi ("leaving") 05:07:28 --- quit: brx`` (Read error: 110 (Connection timed out)) 05:43:48 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 06:06:16 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 06:06:16 --- mode: ChanServ set +o tathi 06:33:40 morning tathi! 06:38:03 Good morning, vatic! :) 06:38:10 How goes the Forth? 06:42:27 tathi: oh, well! I feel like I've made some conceptual progress in my understanding of the language. Right now I'm trying to put all your improvements into my original version. 06:44:15 Ah. 06:51:52 --- join: azekeprofit (i=azekepro@88.204.194.0) joined #forth 07:00:20 --- quit: azekeprofit (Read error: 104 (Connection reset by peer)) 07:00:30 --- join: azekeprofit (n=azekepro@88.204.194.0) joined #forth 07:00:31 --- join: edrx (n=Eduardo@201.5.7.60) joined #forth 07:06:54 tathi: your turkeys must be a lot bigger than (what was it?) last week... ;-) 07:07:30 tathi: you raise turkeys? 07:08:14 * TreyB 's turkeys don't arrive until April 30th. 07:14:43 TreyB: where do your turkeys come from? 07:15:58 any hints on writing a stack comment for mixed float and data stack? ( addr -- ) (F: r -- r ) 07:16:23 but it doesn't capture the argument order: ( F: r addr -- F; r ) 07:16:44 oops! (F: r addr -- F: r ) 07:16:46 Mail-order via http://www.mcmurrayhatchery.com/ 07:17:42 vatic: with a mixed stack, just write one stack comment, like ( f1 x -- f2 ) 07:17:48 TreyB: we got fifteen from McMurray's almost two weeks ago, I think. 07:17:51 cool! what kind are you getting? 07:18:12 We've been raising our own poultry for the last four or five years. 07:18:15 thanks segher! 07:19:14 --- quit: ayrnieu (Remote closed the connection) 07:19:39 We'll get 6 each of Wild, Black Spanish, and Royal Palm. 07:20:10 segher: nothing but data goes on a separate float stack, right? 07:20:10 tathi: we've done it for the last 8 years or so, since we've moved out to the farm. 07:20:15 I have peafowl as well. 07:20:16 that's a *large* christmas dinner! 07:20:42 vatic: i don't understand what you mean 07:20:52 what's the relationship between Forth and farming? ;-) 07:21:07 --- join: ayrnieu (n=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 07:21:09 I got my 25 Jersey Giant chicks out of the brooder about 10 days ago. 07:21:44 vatic: Hands-on work, I guess. 07:21:59 segher: if float support uses a separate stack, only float values end up there? addresses go on the regular data stack? 07:22:11 Yes. 07:22:17 yeah 07:22:18 Only floats go on the float stack. 07:22:29 that's why it's called "float stack" :-) 07:23:09 TreyB: segher: thanks! I guess that's true... :-) 07:26:08 vatic: maybe this is all too logical and you really want to use a language like C++ instead ;-) ;-) 07:28:30 --- join: brx` (n=brx@p57a799bf.dip0.t-ipconnect.de) joined #forth 07:34:53 --- quit: brx (Nick collision from services.) 07:34:55 --- nick: brx` -> brx 07:43:17 --- quit: azekeprofit (Read error: 104 (Connection reset by peer)) 07:43:32 --- join: azekeprofit (n=azekepro@88.204.194.0) joined #forth 07:48:44 segher: it's a small defense but the "data stack" admits of many types, and the "return stack" is commonly used for types other than return addresses. So the separate "float stack" is distinguished by it's acceptance of only one type: various precisions of float, right? 07:55:30 Hmmm. 07:55:57 The data stack only has one type, really: the cell. 07:56:27 The words determine how the cell gets used. 07:59:02 Yeah, the float stack partly exists because floats can be wider than a cell. 07:59:23 And it's a nuisance to manipulate objects of different (and possibly unknown) width on the same stack. 08:00:45 --- join: yumehito (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 08:07:09 TreyB: an educational point, thx... 08:08:03 I can say something like: fvariable foo 3 floats allot to get storage for 4 floats? 08:12:59 That should work. 08:23:06 Might not though; fvariable isn't required to leave the value at the end. 08:23:22 It might put other stuff on the heap as well. 08:25:41 http://www.taygeta.com/forth/dpans3.htm#3.3.3.3 08:27:17 Didn't know about that one. 08:33:13 I have no idea if many Forth systems have that problem... 08:33:41 enough do. 08:34:45 there's nothing to be gained by so doing, really. 08:36:29 Sure. Easy enough to use CREATE. 08:36:49 or structure-forming words 08:39:23 the float stack only accepts one size of float, btw 08:55:41 --- join: Quartus (n=neal@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #forth 08:55:41 --- mode: ChanServ set +o Quartus 08:56:45 --- quit: vatic (Read error: 60 (Operation timed out)) 08:56:48 --- join: vatic_ (n=chatzill@pool-162-83-233-103.ny5030.east.verizon.net) joined #forth 08:56:52 --- nick: vatic_ -> vatic 08:58:48 --- join: laejoh (n=gargle@dD577CC72.access.telenet.be) joined #forth 09:03:16 Always grateful for comments: http://forth.pastebin.ca/424094 09:09:05 I'd factor float-wave. And better naming throughout. 09:09:09 --- part: laejoh left #forth 09:09:29 also the odd comment as to what a given word does. 09:20:47 Quartus_: thanks... 09:24:18 --- join: mark4 (n=mark4@70.102.202.164) joined #forth 09:25:27 Quartus_: the significance of this eludes me: "the float stack only accepts one size of float, btw" You mean a DF occupies two F-cells? Or is this a reference to Quartus in particular? 09:35:07 --- join: cjb- (n=cjb@brushtail.apana.org.au) joined #forth 09:38:40 All the elements on the float stack are the same size. 09:38:58 When you save them out to memory, you may lose precision, depending on what size you save them as. 09:40:19 --- nick: cjb- -> cjb_au 09:46:08 --- quit: segher (Read error: 60 (Operation timed out)) 09:46:49 --- join: segher (n=segher@dslb-084-056-207-203.pools.arcor-ip.net) joined #forth 09:50:35 Right. Alll 'r' are of a specific precision. Movement to and from memory via the df and sf words involve conversion to and from that precision. 09:51:27 It's not Quartus, it's Standard Forth (so Quartus Forth by virtue of that, of course). 09:52:36 thx u 2... I better look at the definitions of DF & SF. 09:58:20 I see that SF & DF represent IEEE standards. And "FLOAT" can be an internal representation conceivably different from either or both of the IEEE representations, correct? 09:59:59 correct 10:00:12 any FP program really needs to know what formats are in use though 10:00:49 --- nick: crest_ -> Crest 10:08:21 --- join: ygrek (i=user@gateway/tor/x-0fb03f8cd7c791cc) joined #forth 10:08:28 quartus forth's internal floats are motorola ffp. 10:09:51 --- quit: ecraven ("bbl") 10:12:20 That's what I've been using! 10:13:56 Quartus_: Are there ways of accessing Quartus history with the graffiti pad or a keyboard? 10:24:44 yes -- up arrow does it 10:24:58 pgup on at least one of the keyboards 10:25:52 no graffiti stroke, unless you run some kind of enhancement that let's you generate that key event 10:26:47 er, lets 10:29:46 if that's what you're asking? 10:31:55 yup, thanks 10:35:31 I recommend coding in memos, and using something like Switch5 10:35:57 --- part: cjb_au left #forth 10:39:54 I've got some of Paul Nevai's stuff, but am wary of the complexity it brings with it. I'm happy with Memos. 10:40:26 yes, his editors are at the kitchen-sink end of the spectrum 10:41:38 nice to know that everything can be connected to everything! 10:41:42 you can set last-error to work with pedit, too 10:41:57 oh yeah? do you know how? 10:42:12 it's in the Quartus Forth manual. 10:42:34 a line you add to your startup.quartus 10:43:17 I'll look, didn't see it. 10:43:48 I'd cite a page # but can't presently 10:56:46 --- part: azekeprofit left #forth 10:57:09 --- join: azekeprofit (n=azekepro@88.204.194.0) joined #forth 10:58:00 --- part: azekeprofit left #forth 10:59:01 Hmm... I can access my German dictionary without leaving Quartus! ;-) 10:59:14 achtung! 10:59:51 forth is quite popular in Germany. 11:00:48 One of the international versions of Quartus Forth is German, you might enjoy that. 11:03:00 --- join: azekeprofit (i=azekepro@88.204.194.0) joined #forth 11:12:11 --- mode: Quartus set -bb *!*virl@*.vie.surfer.at *!*@4.38.41.* 11:13:09 page 57, set-memodb 11:14:33 --- quit: ygrek (Remote closed the connection) 11:16:23 --- join: ygrek (i=user@gateway/tor/x-4c4ab8a8690dda85) joined #forth 11:44:44 Quartus: thanks. I was so busy searching for it I didn't realize you had posted it. 11:45:10 yes, I subscribe to clf.de and the Forth Gesellschaft wiki... 11:46:25 so: (id) memo (id) DATA set-memodb ? 11:46:53 that's the default 11:47:00 you'd want to adjust that for pedit or another memo-pad like editor 11:47:58 yeah, right now I'm usingpedit with the memopad db, so I think I'll have to move my memos over to the pedit database... 11:48:53 Interesting tour through the Quartus wiki, however! ;-) 11:49:04 lots of stuff there. Some out of date. 11:50:07 therein lies a challenge. I assume Chapman Flack knows how to write Forth? ;-) 11:50:23 Chapman did quite a bit of interesting work. 11:56:37 --- quit: ygrek (Remote closed the connection) 11:57:40 --- join: ygrek (i=user@gateway/tor/x-2fd901798a655c05) joined #forth 12:07:16 Quartus: at first blush, set-memodb isn't working for me, but I'll keep trying. Gotta go! 12:07:43 --- quit: vatic ("*poof*") 12:30:23 --- quit: Crest (Read error: 113 (No route to host)) 12:44:42 --- join: JasonWoof (n=jason@c-71-192-30-169.hsd1.ma.comcast.net) joined #forth 12:44:42 --- mode: ChanServ set +o JasonWoof 13:30:33 --- quit: timlarson_ ("Leaving") 13:32:48 --- join: vatic (n=cturner@ool-45740b1c.dyn.optonline.net) joined #forth 14:03:32 --- quit: ygrek () 14:21:09 14:28:19 indeed 14:30:43 --- quit: tathi ("leaving") 14:38:01 Quartus: cool! 14:47:38 --- join: brx` (n=brx@p57a7a9b7.dip0.t-ipconnect.de) joined #forth 14:47:38 received? 14:55:12 --- quit: brx (Read error: 110 (Connection timed out)) 15:00:42 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 15:01:18 --- join: brx (n=brx@p57a7a67b.dip0.t-ipconnect.de) joined #forth 15:16:54 --- quit: brx` (Read error: 110 (Connection timed out)) 15:32:21 --- join: brx` (n=brx@p57A7A1C8.dip0.t-ipconnect.de) joined #forth 15:34:05 --- join: brx`` (n=brx@p57a79dcc.dip0.t-ipconnect.de) joined #forth 15:40:15 --- quit: brx (Read error: 110 (Connection timed out)) 15:45:31 --- join: brx (n=brx@p57A7A089.dip0.t-ipconnect.de) joined #forth 15:47:43 --- join: DocPlatypus (n=skquinn@76.193.141.131) joined #forth 15:49:41 --- quit: brx` (Read error: 110 (Connection timed out)) 15:50:35 --- join: brx` (n=brx@p57a79b8b.dip0.t-ipconnect.de) joined #forth 15:52:55 --- quit: brx`` (Read error: 110 (Connection timed out)) 15:57:56 Quartus: yep, not sure I can process it immediately as I'm not at home... 15:58:19 Glad it made it anyway. Trouble sometimes. 16:03:44 Quartus: I do think I know what's wrong with pedit. I have peditPro and the memo database creator is for pedit32. 16:03:55 --- quit: Quartus () 16:04:09 I need to install this alias thingy to point from pedit32->peditPro application. 16:04:56 --- join: brx`` (n=brx@p57a78db4.dip0.t-ipconnect.de) joined #forth 16:05:09 --- quit: brx (Read error: 110 (Connection timed out)) 16:08:03 --- join: brx (n=brx@p57A79BEC.dip0.t-ipconnect.de) joined #forth 16:10:23 --- join: Snoopy_1611 (i=snoopy_1@dslb-084-058-138-109.pools.arcor-ip.net) joined #forth 16:12:43 --- quit: brx` (Read error: 110 (Connection timed out)) 16:14:01 --- quit: mark4 (Read error: 110 (Connection timed out)) 16:17:57 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 16:18:01 --- nick: Snoopy_1611 -> Snoopy42 16:23:05 --- join: Quartus (n=neal@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #forth 16:23:05 --- mode: ChanServ set +o Quartus 16:23:43 vatic, as long as it's a memopad-like pdb, should work 16:24:09 --- quit: brx`` (Read error: 110 (Connection timed out)) 17:07:59 --- join: brx` (n=brx@p57a791d8.dip0.t-ipconnect.de) joined #forth 17:13:14 --- quit: madwork (Read error: 54 (Connection reset by peer)) 17:14:10 --- join: brx`` (n=brx@p57A78A68.dip0.t-ipconnect.de) joined #forth 17:16:18 --- quit: brx (Read error: 110 (Connection timed out)) 17:16:36 --- nick: brx`` -> brx 17:23:58 Quartus: it's weird. "memo" is the type for Palm's 4k db and "PMem" is the type for the 32k db 17:24:10 Weird why? 17:24:41 doing (id) memo (id) DATA set-memodb will work, and so will (id) PMem (id) set-memodb 17:24:55 both will take me to an error in Memopad 17:24:57 second one, no. 17:25:16 pedit's 32k db has type "pn32" 17:25:25 yes, but you said (id) PMem (id) set-memodb 17:25:29 which is bogus 17:25:40 I think it worked for me... 17:25:51 no, (id) is a prefix. You're not prefixing anything with the second one. 17:26:09 well, you're prefixing 'set-', which is unlikely to be useful. 17:26:26 anyway, if I say (id) pn32 (id) DATA set-memodb, I can include a file from the pedit database 17:26:48 but it won't let me go to last error. I just end up back in Quartus 17:27:01 hang on, don't slide past it -- (id) PMem (id) set-memodb will never work. You're missing the text necessary after the second (id) 17:27:27 sorry, bad typing: (id) PMem (id) DATA set-memodb 17:28:01 Last-error depends on the memopad replacement app itself properly handling the goto request. 17:28:06 Pedit used to. 17:28:49 I don't think it does anymore because it's now 2 apps pedit4 and pedit32 combine into one ~happy family ;-) 17:29:06 ah 17:29:18 I don't follow it. 17:29:29 Nevai has these "alias" apps that enable calling from scripts, etc. but they don't work. 17:29:35 --- quit: brx` (Read error: 110 (Connection timed out)) 17:29:42 I see. 17:30:08 Quartus: I think you'd have to read (nay, decifer!) his explanationin the pedit manual 17:30:52 I'm unlikely to so do. 17:30:57 You can flip back and forth between the Palm memo db and pedit's memo db right within peditPro... 17:32:29 Quartus: so does Quartus send some kind of notification to the DB and the app is supposed to launch? 17:32:42 Something like that. 17:34:15 well I'll email him and see what happens... 17:34:42 You can launch Quartus from within peditPro, however... 17:34:48 I thought you said earlier that you were happy with MemoPad? 17:35:32 I'm getting happier with it as time goes by. The lack of functionality is more than compensated for by the degree of integration. 17:36:38 It's also hard to break. 17:41:10 Quartus: is there a way to dump the history file? 17:41:22 like to text? 17:41:39 or doc? 17:46:10 text would be the most useful I'd think 17:54:34 There's no way built in. You could do it yourself from the history database, it's pretty straightforward -- but I discourage the writing of code from the console, and encourage writing it in the memopad (or wherever). 17:55:55 Yes, it has encouraged me to "envision" stack behavior rather than plodding through it. ;-) 17:57:57 I consider the console as a tool for the interactive testing of code, and find that Quartus Forth works best with that mindset. Keeping your source in files (memos, or docs) means repeatibility for support, too. 17:58:55 Quartus: I wish I had a better concept of testing code. Is there a book that discusses good practice? 17:59:04 how do you mean? 17:59:32 by 'testing', above, I mean the interactive trying out of words you've already written. 18:00:23 For common or garden-variety testing, I use inline tests of the { -> } variety. 18:00:51 OK, I 'm also thinking about "verifying" that a piece of code works under all conditions... 18:01:06 do you use {->} within the body of a word? 18:01:17 There's no way to exhaustively test. You can put in sanity checks, and then add tests to eliminate bugs that you do find, so that they don't reoccur. 18:01:25 No, I use { -> } outside of words. 18:01:45 If I'm being hyper-cautious, I write with assertions. 18:02:13 So you think of typical and also boundary conditions where you know the result and test the word under those conditions with { -> }? 18:02:33 Right. So further modifications to the code have automatic sanity checks at compile-time. 18:03:02 So you leave them in and if something goes wrong later, they'll complain? 18:03:06 Right. 18:03:32 And if you find a bug, you put in a test for it to be sure it never reappears. 18:03:36 And you surround them with [if] [then] so you can omit them when you're done? 18:03:48 Ah, good point! 18:03:51 No. They don't need to be omitted. They're compile-time. 18:04:44 I don't think I understand that. maybe if I play with tester, I will... 18:04:46 If some tests are time-consuming -- which is rare -- I put those in a separate test module. 18:05:06 It's simple. : foo negate 3 * ; { 5 foo -> -15 } 18:05:38 One test to be sure foo still does what is expected of it, at least in the one case specified. 18:05:46 Oh, and subsequent calls to foo don't include the test? 18:05:56 No calls to foo include the test. It executes at compile time. 18:06:26 During the include. 18:06:26 OK, I'm sure if I try your example that will be clearer... :-) 18:08:04 so if that code is in a file named 'sample', then include sample runs the test. 18:11:13 Quartus: I tried it and yes, it's at compile time (fantastic!). Amazing I never really understood that. :-( 18:16:03 --- part: edrx left #forth 18:16:38 One of the major strengths of Forth is the ability to do just that -- execute code while compiling, run parts of the code you just compiled before compiling further code, etc. 18:17:32 You can build data structures at compile-time, for instance. 18:24:03 That's something I recognize, but am just starting to get a real sense of through programming 18:26:32 yeah, a Forth "compiler" is really halfway between interpreter and compiler 18:27:06 it's an interactive incremental compiler. 19:12:08 --- join: grfrblshntz (n=smee@71.86.192.20) joined #forth 19:12:55 --- quit: grfrblshntz (Remote closed the connection) 19:20:08 --- join: brx` (n=brx@p57a7b78f.dip0.t-ipconnect.de) joined #forth 19:20:22 --- quit: brx (Nick collision from services.) 19:20:26 --- nick: brx` -> brx 19:32:34 In C, the things you'd do naturally in Forth become: massive CPP decision-making, shell scripts, many small C programs compiled directly or through autoconf, and so on. Very rarely do any of these make use of the program you're putting together. 20:19:01 --- join: brx` (n=brx@p57a7a643.dip0.t-ipconnect.de) joined #forth 20:28:31 --- part: azekeprofit left #forth 20:30:24 --- join: brx`` (n=brx@p57A79B17.dip0.t-ipconnect.de) joined #forth 20:33:08 --- quit: brx (Read error: 110 (Connection timed out)) 20:38:42 --- quit: brx` (Read error: 110 (Connection timed out)) 20:55:44 --- join: tgunr (n=davec@70-41-219-171.cust.wildblue.net) joined #forth 21:27:34 --- join: brx (n=brx@p57a7af5b.dip0.t-ipconnect.de) joined #forth 21:38:22 --- quit: tgunr () 21:43:29 --- quit: brx`` (Read error: 110 (Connection timed out)) 21:52:37 --- join: brx` (n=brx@p57A7835A.dip0.t-ipconnect.de) joined #forth 21:57:49 --- join: tgunr (n=davec@70-41-219-171.cust.wildblue.net) joined #forth 22:00:34 --- quit: brx (Read error: 110 (Connection timed out)) 22:04:53 --- quit: tgunr (Remote closed the connection) 22:34:02 --- join: edrx (n=Eduardo@200.217.105.142) joined #forth 23:03:01 --- quit: warpzero (Read error: 110 (Connection timed out)) 23:12:13 --- quit: ayrnieu (Remote closed the connection) 23:12:13 --- quit: madgarden (Read error: 104 (Connection reset by peer)) 23:13:47 --- join: ayrnieu (n=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 23:14:17 --- join: tgunr (n=davec@70-41-219-171.cust.wildblue.net) joined #forth 23:15:35 --- join: warpzero (n=warpzero@66.109.132.242) joined #forth 23:22:02 --- join: warp0x00 (n=warpzero@66.109.132.242) joined #forth 23:29:56 --- quit: warpzero (Read error: 60 (Operation timed out)) 23:46:08 --- quit: edrx (Remote closed the connection) 23:50:35 --- join: azekeprofit (i=azekepro@88.204.194.0) joined #forth 23:59:59 --- log: ended forth/07.04.04