00:00:00 --- log: started forth/06.10.06 00:01:28 --- join: arke_ (n=Chris@pD9E05364.dip.t-dialin.net) joined #forth 00:17:24 --- quit: arke (Read error: 110 (Connection timed out)) 01:05:34 --- quit: zpg ("ERC Version 5.1.3 (IRC client for Emacs)") 01:24:19 --- quit: slava () 01:36:40 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 01:53:21 --- quit: JasonWoof ("off to bed") 02:11:23 --- quit: nighty_ (Read error: 131 (Connection reset by peer)) 02:12:36 --- join: nighty_ (n=nighty@216.237.248.79) joined #forth 03:08:42 --- nick: arke_ -> arke 04:32:20 --- join: vatic (n=chatzill@pool-162-84-156-148.ny5030.east.verizon.net) joined #forth 04:50:26 --- quit: Teratogen (niven.freenode.net irc.freenode.net) 04:50:47 --- join: Teratogen (i=leontopo@slashsnot.org) joined #forth 05:10:53 --- quit: arke (Read error: 131 (Connection reset by peer)) 05:22:36 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 05:47:42 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 05:53:01 --- join: madwork (n=foo@204.138.110.15) joined #forth 05:59:52 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 06:16:04 --- nick: Raystm2 -> nanstm 06:40:36 --- join: jcw (n=jcw@adsl-074-238-180-251.sip.asm.bellsouth.net) joined #forth 06:52:29 what's a standard way to create an "alias" or "synonym" for a Forth word? 06:52:38 ' VALUE ALIAS PTR 06:56:43 --- quit: Ray_work (niven.freenode.net irc.freenode.net) 06:56:43 --- quit: Teratogen (niven.freenode.net irc.freenode.net) 06:56:45 --- quit: segher (niven.freenode.net irc.freenode.net) 06:56:45 --- quit: madgarden (niven.freenode.net irc.freenode.net) 06:56:45 --- quit: larsb (niven.freenode.net irc.freenode.net) 06:56:45 --- quit: Zymurgy (niven.freenode.net irc.freenode.net) 06:56:45 --- quit: TreyB_ (niven.freenode.net irc.freenode.net) 06:56:45 --- quit: Snoopy42 (niven.freenode.net irc.freenode.net) 06:56:46 --- quit: nighty (niven.freenode.net irc.freenode.net) 06:56:46 --- quit: Jim7J1AJH (niven.freenode.net irc.freenode.net) 06:56:46 --- quit: timlarson_ (niven.freenode.net irc.freenode.net) 06:56:46 --- quit: virl (niven.freenode.net irc.freenode.net) 06:56:46 --- quit: jcw_ (niven.freenode.net irc.freenode.net) 06:56:46 --- quit: ohub (niven.freenode.net irc.freenode.net) 06:56:46 --- quit: michaelw (niven.freenode.net irc.freenode.net) 06:56:46 --- quit: crc (niven.freenode.net irc.freenode.net) 06:56:48 --- quit: ccfg (niven.freenode.net irc.freenode.net) 06:59:19 --- join: larsb (i=lars@1-1-14-10a.kt.gbg.bostream.se) joined #forth 06:59:19 --- join: segher (n=segher@dslb-084-056-178-186.pools.arcor-ip.net) joined #forth 06:59:19 --- join: madgarden (n=madgarde@London-HSE-ppp3546145.sympatico.ca) joined #forth 06:59:19 --- join: Zymurgy (i=zymurgy@cat.delfax.net) joined #forth 07:00:09 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 07:00:09 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 07:00:09 --- join: Teratogen (i=leontopo@slashsnot.org) joined #forth 07:00:31 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 07:00:31 --- join: jcw_ (n=jcw@adsl-065-006-151-062.sip.asm.bellsouth.net) joined #forth 07:00:31 --- join: ohub (n=oherrala@sikw1.oulu.fi) joined #forth 07:00:31 --- join: michaelw (n=michaelw@lambda.foldr.org) joined #forth 07:00:40 --- join: crc (n=crc@pdpc/supporter/active/crc) joined #forth 07:00:40 --- join: ccfg (n=ccfg@dsl-roigw1-fe8ade00-21.dhcp.inet.fi) joined #forth 07:00:40 --- mode: irc.freenode.net set +o crc 07:00:59 --- join: TreyB_ (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 07:00:59 --- join: Snoopy42 (i=snoopy_1@dslb-084-058-169-072.pools.arcor-ip.net) joined #forth 07:00:59 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #forth 07:00:59 --- join: Jim7J1AJH (n=jim@221x115x224x2.ap221.ftth.ucom.ne.jp) joined #forth 07:36:51 Quartus: if you need data to prove Forth's uptick: http://home.iae.nl/users/mhx/sf.html 07:44:00 --- join: snowrichard (n=richard@12.18.108.162) joined #forth 07:45:55 hi 07:53:45 --- join: arke (n=Chris@pD9E05364.dip.t-dialin.net) joined #forth 07:53:45 --- mode: ChanServ set +o arke 08:08:08 hi arke 08:08:14 hi 08:08:31 have had several people download my code 08:08:36 cool 08:08:44 i might take a look later this evening 08:09:34 thinking about what to add next 08:09:46 need some i/o stuff 08:12:49 --- quit: nighty_ (Connection timed out) 08:22:32 --- quit: snowrichard ("Leaving") 08:50:30 --- quit: virl (Remote closed the connection) 08:52:56 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 09:19:42 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 09:44:12 --- nick: nanstm -> tiff 09:54:58 Hey vatic. How does that link prove the uptick? 09:55:19 ALIAS, btw, isn't Standard. : ptr value ; works though. 10:10:24 Quartus: doesn't it show increasing numbers of hits to Brodie's Starting Forth since 1999? 10:11:35 Not that I can see. Perhaps I'm overlooking something. 10:11:43 Quartus: what do you think of DEFER ptr ' VALUE IS ptr ? 10:12:18 I wouldn't use DEFER if ALIAS were there, unless you're going to need to revector ptr at some later point. 10:13:47 Oh, you're referring to the graph. Sure, that's an increase in traffic; it could be argued it simply reflects an increase in the number of internet users generally. 10:14:24 Could also be the number of search engines. :) 10:14:52 Quartus: true... 10:15:05 "How to lie with statistics" 10:15:47 I see this Aleksejj Saushev fellow going on at great length. Apparently SP-Forth is the only Forth worth using, and if a proposed amendment to the Standard suggests case-insensitivity, it will somehow place a ban on the use of SP-Forth. 10:15:50 I learn something every day. :) 10:16:21 --- join: ASau (n=user@195.98.180.3) joined #forth 10:16:25 Quartus: I believe he's interested in reviving DragonForth... 10:16:34 Dobry vecer! 10:17:02 Who is interested in reviving DragonForth? 10:17:13 ASau: not you? 10:17:14 DragonForth has not died. 10:17:15 You, apparently. I didn't know I had the power to summon you. 10:17:34 We were discussing your lengthy posts in c.l.f. That is you, yes? Aleksejj Saushev? 10:17:49 Yes, it's me. 10:18:14 SP-Forth team owes me a great deal for PR. :) 10:19:00 If they'd only answer their emails... 10:19:10 Who? 10:19:24 I'm on their development list. 10:20:03 I'll have to go back and check... 10:20:23 I use DragonForth almost every day, why should it die? 10:20:26 I just downloaded SP-Forth to be sure, but as far as I can tell it's not a Standard system. 10:21:15 Well. Wait an hour. 10:21:29 Unless I'm missing something, I can't find the documentation required of a standard system by section 4 of the standard. 10:25:26 --- join: erider (n=erider@unaffiliated/erider) joined #forth 10:32:35 Quartus: You're wrong. 10:32:46 SP-Forth passes Hayes test. 10:32:57 Passing the Hayes test is insufficient to declare the system Standard. 10:33:07 It has to provide the required documentation. 10:33:40 What kind of documentation? 10:33:54 Everything listed in section 4, Documentation Requirements. 10:36:47 It is provided. See the source code. 10:37:19 --- join: JasonWoof (n=jason@c-71-192-33-206.hsd1.ma.comcast.net) joined #forth 10:37:19 --- mode: ChanServ set +o JasonWoof 10:38:16 Which part of the source code contains the required documentation? 10:38:45 Anyway it's not of great importance. 10:38:55 Application is. 10:39:04 It absolutely is if the system wants to claim standard compliance. 10:39:33 Well, you may call it nearly standard, that changes 10:39:33 practically nothing. 10:40:10 It changes the solidity of the ground on which you stand when you argue that changes to the standard will somehow make the system unable to label itself as standard. It can't do that now. 10:40:17 It's already non-standard. 10:40:27 But, I take your point. 10:40:54 I'll try to fix it. 10:41:04 Also, Hayes coretest.fr does not cover every possible contingency for a standard system. It only provides a quick sanity check. 10:42:15 Let us leave a niche for bugs. 10:42:25 We can't live without insects. 10:42:51 hi guys 10:43:01 If system appears to be standard, it is standard. 10:43:07 No, that's not correct. 10:43:17 Hi erider. 10:43:27 Good evening, erider. 10:43:45 That's correct. 10:44:09 how is everyone doing today? 10:44:30 It's idealistic point of view, I don't share it. 10:44:40 The Forth standard makes very clear what a system has to provide in order to label itself standard. 10:44:45 John Doty does the same, it seems. 10:44:57 He doesn't claim LSE64 is standard. 10:45:53 You may treat standards and laws in two ways: formal and real. 10:46:09 Formally SP-Forth is non-standard. 10:46:27 In real it provides standard behaviour. 10:46:35 It doesn't meet the requirements of a standard system. 10:46:45 That's not an ambiguous statement. 10:47:04 You treat standard formally. 10:47:09 The standard is a formal document. 10:47:16 Formal side is more important to you. 10:47:32 The only informal part of the standard is the non-normative appendix and rationale. 10:47:36 Standard is standard which has form of a document. 10:48:23 *shrug* SP-Forth, in its current form, is not a standard system. Your arguments on c.l.f. that changes to the standard will make it a non-standard system have no current meaning, as SP-Forth is, right now, not a standard system. Nothing will have changed. 10:49:29 --- join: buzzy (n=unknown@host221-142-dynamic.1-87-r.retail.telecomitalia.it) joined #forth 10:49:37 Even if you say "nearly standard" it does not weaken arguments. 10:50:06 All other free implementations don't have real free applications. 10:50:33 If it's 'nearly standard' now (an undefined term), it'll be 'nearly standard' after any changes to the standard. 10:51:02 There's no benefit community could gain from requiring 10:51:02 SP-Forth to meet additional requirements in behaviour. 10:51:55 That's an opinion, and irrelevant to whether or not changes to the standard will change SP-Forth's status as a standard system. 10:52:15 You talk idealistic, the behaviour matters, the documentation is not #1. 10:52:47 Meeting the requirements of the standard is "#1" when it comes to claiming compliance with it. The documentation is a required component, just as much as any CORE word. 10:53:50 docu-what? 10:54:24 Mentation? 10:54:25 jcw, SP-Forth labels itself as a Standard system, but fails to provide (at least) the documentation required by the standard. 10:54:39 What else it may be missing, I don't know; I haven't dug into it yet. 10:57:12 is this fortran channel? 10:57:15 Quartus, 10:57:22 jcw, ASau ? 10:57:29 buzzy, what's the name of the channel? 10:57:38 hehe 10:57:46 i have never heard bout forth 10:57:51 what is it used for? 10:58:04 Check out the links in the topic; there's a good introduction, and as much subsequent material as you could want. 10:58:12 Rockets, web servers, robots, whatever else. 10:58:42 ok 10:58:45 sorry for OT, people i m looking for fortran dedicated channel..is there one? 10:58:57 I have no idea. Try #fortran or ##fortran 10:58:58 I don't care. 10:59:20 Fortran is for using old code. 11:00:14 Fortran's most recent standard was in 2003, in fact. 11:00:26 oh.. fortran this language which has a fixed syntax 11:00:55 Are you from '66 era, virl? 11:01:24 btw. I heard that it got the ability to detect whitespaces in the newer versions.. 11:02:12 ASau, ehm.. no but I heard about fortrans ugly syntax conventions 11:02:43 It's true all across freenode. Half of the traffic on any channel is people bash any language not in the channel's name, especially if they have no experience with it at all. The other half is people bashing the language in the channel's name, though the experience level is the same in either case. 11:03:26 Today, we find out that virl hates Fortran. 11:03:28 Quartus, do you think, Gforth meets standard requirements 11:03:29 you impose? 11:03:38 Gforth is a completely compliant Standard Forth. 11:04:08 Of course, Python is the exception. It can be rightfully bashed in any channel. 11:04:16 Quartus, how stupid are you? I never said that I hate it. 11:04:20 I don't see, where it describes behaviour of WORD when word 11:04:20 exceeds 255 characters in length. 11:05:14 Where is that required by the standard to be documented? 11:07:08 4.1.1 as you've said. 11:07:33 wah.. how I dislike such simple minded people who can only see black and white. 11:08:14 ASau, there's nothing listed in 4.1.1 that requires a standard system to document the behaviour of word when the parsed-string exceeds 255 characters in length. 11:08:50 Something else virl hates! :) 11:09:22 I can't describe your stupidity! 11:09:28 --- quit: ASau (Read error: 104 (Connection reset by peer)) 11:09:29 Don't you just hate that? 11:10:14 --- join: ASau (n=user@195.98.180.3) joined #forth 11:10:29 Quartus, would you have a better factoring of the following word? http://forth.pastebin.ca/193239 11:11:37 Quartus, I don't believe Gforth meets requirements of ANS 11:11:37 in your interpretation. 11:12:11 ASau, are you on some sort of weird terminal or IRC program that keeps breaking your lines? 11:12:27 Why does everybody believe that I hate a lot of things, which is completly not true!? 11:12:48 jcw: I don't understand why this happens. 11:12:55 What are you using? 11:12:57 I'm pretty aware of it. 11:13:05 Beta ERC. 11:13:12 I'm not complaining about, it's just curious. 11:13:21 Or, maybe, even alpha. 11:13:26 ASau, there is no part of 4.1.1 that requires the behaviour of WORD past 255 characters to be documented. 11:13:57 jcw, what does "foo" do? Put "foo" on a string stack? 11:14:02 There's no described way to find size PAD. 11:14:06 Quartus, yes. 11:14:37 ...to find size of PAD. 11:15:04 Why I cannot access pastebin.ca? 11:15:49 Works OK here. 11:15:54 "- size of the scratch area whose address is returned by 6.2.2000 PAD". Documented by Gforth in core-idef.html. 11:16:09 --- nick: tiff -> nanstm 11:17:44 jcw: Why not ": unexpected-value XXX throw ;"? 11:18:56 I suppose I could. In my mind, using the throw right there clearly indicates what will happen. Moving it to another word forces someone (me) to look at the other word to see what it's going to do in the event of an unexpected value. 11:19:15 jcw, if all you ever need to do is display one of those three choices -- you don't need to use the string elsewhere, and the set of conditions will never grow -- then the factoring is ok. Is the THROW necessary? Is there any way the routine could get bad input? 11:19:49 It would be HIGHLY unlikely, but in the ever so freak chance it does, I want to know about it, not handle it gracefully. 11:20:25 I'd be inclined to make that a hard-stop assertion, in that case, instead of a throw, but a throw may suffice for your system. 11:20:36 Basically it means a serious failure in the device being tested, and it will require human intervention. 11:21:57 The problem is I actually have about 6 of those words, that all use different text, but the same logic. I thought about defining a string table, but didn't really see where that would save me anything. The logic is identical, but with all the strings being different, I didn't see a way to factor it out where each definition wasn't equally as long. 11:21:58 I would code it as ." for each condition, rather than passing the string to a . at the bottom. 11:22:20 Whyfor? 11:22:33 No reason to pass the word as an argument to some later code. 11:22:45 OK. I'll have to see if I wrote ." or not :) 11:23:04 Quartus, in case of Gforth, compliance to these 11:23:04 documentation requirement is silly. I've read that 11:23:04 documentation several times, and could not get to that by 11:23:04 links or index. 11:23:26 ." has one problem, and that's leading spaces get eaten. In that particular instance, it's not a problem, except as the very first print. Yea, I could do '3 spaces' or whatever, but that seems dirtier. 11:23:27 If your string table also contained the condition codes, the routine could be made more general. 11:23:54 jcw, ." shouldn't be eating leading spaces. 11:24:27 ASau, your inability to find the documentation doesn't mean it isn't there. Gforth provides the required standard documentation; it's linked directly from the primary documentation. 11:25:03 It would, in fact, mean nothing in relation to SP-Forth even if it wasn't. Pointing to another Forth and saying that it's also non-compliant doesn't change the status of yours. 11:25:05 Well? 11:25:06 The condition codes are always 0xff, 0x00, or 0x01. In two cases, 'latched' and 'unlatched' text are used in different words. If I put the condition codes in the string table, it'd have to contain multiple ones, and all that appears to be more convoluted than keeping the text in the words. 11:25:17 I look at "ANS compliance" info section. 11:25:24 There's no link from there. 11:26:11 Searching the whole document is no better than looking 11:26:11 directly in source. 11:26:11 jcw, if it's important enough, I'm sure you could see how you could set up a data structure that had a list of condition codes, and a pointer to the text for each; that way you could re-use the string. 11:26:18 You're right about ." under Gforth. The forth I used to play with a long time ago ate the spaces. I always found that annoying. Perhaps it was defective, but it's where I got my impression of how ." behanves. 11:26:41 ASau, that's errant nonsense. SP-Forth does not provide the required standard documentation. GForth does. 11:27:05 The time you're spending here trying to convince me that reading the source should suffice could be spent writing the required documentation for SP-Forth! 11:27:06 I repeat: you talk idealistic. 11:27:40 The formal things are nothing against real application. 11:28:02 As long as you don't see a glaring way to optimize the logic, I'm happy with it. They're not heavily executed words. I just wanted to see that there wasn't some common idiom that I was overlooking. 11:28:16 That's your opinion, and not one I share, but it's completely irrelevant to the simple fact that SP-Forth cannot claim Standard compliance in its current form. 11:28:33 I'm at rest for now. I don't wish to run for every minor thing. 11:28:40 jcw, no, looks like a simple and straightforward bit of code. 11:28:47 Thankee 11:30:13 It changes nothing: Gforth lacks applications, SP-Forth has ones. 11:30:35 Which is an entirely separate discussion that has nothing to with what we're talking about. 11:34:05 What sort of application does it have? URL? 11:34:14 applications. 11:34:28 http://acsmtp.sf.net/ 11:34:35 http://acweb.sf.net/ 11:34:58 http://... Eh. 11:35:03 I've forgotten. 11:35:22 So this acSMPT mail server is written in SP-Forth? 11:35:33 Yes. 11:35:45 http://acfreeproxy.sf.net 11:38:18 by the way, ASau -- info gforth -> ANS Conformance -> The Core Words -> it's the first link. "core-idef:: Implementation Defined Options" 11:39:41 All documentation required by the standard is there. 11:40:06 Why not return to main page and go straight to "core-idef"? 11:40:24 You complained that you couldn't find it linked in the primary documentation. 11:40:33 jcw: http://www.nncron.ru/ 11:41:35 Pay? For software? Huh? 11:42:04 There's trial version. 11:42:27 You may write your own. 12:00:58 * Ray_work finally caught up and all I have to say about that is.... 12:01:11 erider, did you check out the MVP forth tutorial yet? 12:01:27 oh and ASau: neat apps! :) 12:04:50 Hey Ray_work :) 12:06:28 --- quit: nanstm (Read error: 110 (Connection timed out)) 12:08:36 hi Quartus :) 12:08:44 good day, so far? 12:08:59 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-100-049.pools.arcor-ip.net) joined #forth 12:09:25 yikes, looks like Nan fell off the web. 12:09:54 And I know she's taking a nap... :( I can't call to get her to check my home machine. 12:10:40 so far. 12:11:30 oh lisp, why do you disgust me so? 12:12:13 (what (bothers ()) (you about) '(lisp?)) 12:12:20 ah.. 12:12:48 lisp with different kinds of parenthesis and I could imagine it to use it. 12:13:34 yeah, I thought for a bit about how an editor could display lisp code such that you could easily see which perens matched 12:13:35 JasonWoof, actually the original version of lisp used two brackets () and [] 12:13:47 did they do different things? 12:14:09 wasn't one for the Scode and the other for the ??Mcode do I have that right? 12:14:14 puh... my knowledge of lisp is so small so I can't say 12:15:25 Been since I found forth that I've not used lisp, I'm ashamed to admit. I really enjoyed the Scheme tutorials with DrScheme. 12:16:09 I've thought of making an editor feature where the editor would underline controll structures 12:16:12 on one line 12:16:18 * JasonWoof makes an example in ascii... 12:16:19 well I never enjoyed that really ;-) 12:16:54 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 12:17:09 --- nick: snoopy_1711 -> Snoopy42 12:17:37 : foo 3 > if 3 for 4 . next then ; 12:17:37 \ ---------------------- 12:17:37 \ ------------ 12:17:42 but forth is a nice lisp substitute 12:18:06 oops 12:18:14 --- quit: buzzy ("Sto andando via") 12:18:15 : foo 3 > if 3 for 4 . next then ; 12:18:15 \ ---------------------- 12:18:15 \ ------------ 12:18:37 virl, Forth is *bad* LISP substitute. 12:19:08 aha.. 12:19:29 those lines would be different colors probably, and would be probably 2 pixels tall (maybe 1) 12:19:37 so you would say that lisps concepts are better? 12:19:51 --- join: zpg (n=user@user-54418075.lns1-c7.dsl.pol.co.uk) joined #forth 12:20:10 virl: I'm hoping he's saying that forth isn't a good language to program in lisp style 12:20:26 otherwise we might have to punch him in the neck ;) 12:20:46 JasonWoof, yeah, that's an idea. 12:28:02 personally I think the guys who think that forth is a language not worth to program into, should go to their preffered channel. 12:36:00 btw. JasonWoof are your forth efforts going? 12:37:50 virl, I won't say anything of that kind. 12:37:59 Ray_work: I'm on linux 12:38:22 I say that Forth is bad LISP substitute, at least in current Forth state. 12:39:17 ok.. let's punch im in the neck 12:39:22 him 12:39:39 ;- 12:43:38 --- quit: Cheery (Remote closed the connection) 12:46:36 erider: ACK linux. 12:47:08 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 12:47:08 --- mode: ChanServ set +o slava 12:47:08 Ray_work: but I did look at crc tutorial 12:47:28 erider: Still, it's a good read, and you can use the information with minor consideration towards the forth you are actually using. 12:47:54 MVP's tutorial is a little different then crc's. They are both worth reading. 12:48:23 ok 12:49:20 MVP and STARTING FORTH inspired most of my chessgames, with the exception of those coded in colorforth. 12:49:59 Currently, RxChess is my hands down favorite for the codeing of it. 12:50:51 that and c4thchess, for colorforth, which might be the most minimal chess os ever. 12:51:36 --- quit: madwork ("?OUT OF DATA ERROR") 12:52:48 hmm interesting and once crc is done with the gtk you could make a gui version cool :) 12:53:17 I'm awaiting that very thing. I can't wait to get a linux up on one of my old p2's 12:54:12 there are a lot of distros that would fit well on a p2 12:54:35 Recomendations? anyone? 12:55:59 Any Linux fits. 12:56:29 slackware 12:56:36 What kind of recommendation do you need? 12:57:00 A good linux on an old Pentium 2 12:57:02 Slackware is Linux for Real Men. 12:57:06 :) 12:57:17 (hey all) slackware always used to be nice a distro for a small footprint system. package management is pretty brutal though. 12:57:21 --- join: madwork (n=foo@204.138.110.15) joined #forth 12:57:28 but i don't know of all these newfangled gentoos and the like. 12:57:33 slackware seems bloated of late, too. 12:58:03 redhat 12:58:22 Really? redhat? 12:58:51 Deadrat? 12:59:51 I have redhat 8 on one of my old computers and mandrake on the other 13:00:42 Debian is Linux for Real Women. :P 13:00:54 * Ray_work spent a month dl'ing Debian Woody _and_ Sarge to dvd, only to get broadband the next month and web install. 13:01:21 oop, sorry for the lag 13:01:36 forgot to run my little script to keep me in sync with my home computer 13:01:45 virl: my forth stuff is progressing again, but very slow 13:02:04 I've been getting sucked into drama about making money and such 13:03:48 erider, Ray_work: doesn't crc's forth stuff work on linux? 13:03:54 heh like my one, but I think my stuff goes much much slower than yours 13:04:23 JasonWoof: yes 13:04:23 Detecting directories is weird. 13:04:23 virl: seems like every week or so I sit down and do a little hacking on my forth 13:04:54 How should "open-file" behave if it is given subdirectory name? 13:04:59 hmm and I do that actually once in half of a year.. 13:05:43 ahh 13:05:51 guess my development is moving right along then 13:05:57 I believe it should open the directory as a file, which you can read. Assuming you're running Linux. 13:05:59 should be done any century now 13:06:17 What if I run Windoze? 13:06:20 No idea. 13:07:07 Who is on Linux and with Gforth? 13:07:29 Check please, what does: s" ." slurp-file dump 13:07:36 g .. hmm reminds me on the G-point 13:08:06 *the terminal*:1: File I/O exception 13:08:06 s" ." slurp-file dump ^^^^^^^^^^ 13:08:21 Hmmm. 13:08:29 arrows point to slurp-file 13:09:23 And: s" ." r/o open-file throw . .s 13:10:10 Obviously, it is read-file that fails. 13:10:31 134706216 <2> 134705832 0 ok 13:11:07 ??? 13:11:18 How is it? 13:11:40 I ran this: s" ." r/o open-file throw . .s 13:11:47 and got this back: 134706216 <2> 134705832 0 ok 13:11:54 It shows: s" ." r/o open-file throw . .s 6881820 <0> ok 13:12:02 in Cygwin. 13:12:09 ok 13:12:31 what does "throw" do? 13:12:51 wait, I might have had that crap on the stack already 13:13:07 yeah, I did. sorry 13:13:19 Huh! 13:13:45 You frighten me. 13:14:04 hi JasonWoof 13:14:12 So, "read-file" fails trying to read directory. 13:14:20 hi slava 13:14:22 "open-file" does not. 13:14:33 Privet! 13:14:44 hmm there are system calls to list directories, you don't have to read the inodes off disk by hand... 13:14:50 is "throw" supposed to work at compile time? 13:14:58 JasonWoof: IIRC yes 13:15:11 it unwinds the return stack to the innermost catch 13:15:19 No, it's not immediate. 13:15:37 ...usually. 13:16:11 that's what i meant, its not immediate and it can be used in interpreted or compiled context 13:16:24 Slava, it unwinds all stacks, return, data, f.p.n. & others. 13:16:42 so it restores stack pointers. 13:17:03 But throw does want a number on the stack. 13:17:08 It is the error code, if you will. 13:17:13 yes, this is the number that catch will return 13:17:30 open-file throw is a *really* bad idea. 13:17:41 leaks an fd 13:17:50 open-file returns a file handle. Throw will throw the fd as the return value. 13:18:10 open-file dup -1 = if throw then would be mo' bettah 13:20:26 open-file throw is the best idea. 13:20:53 "open-file" returns "fd err" pair. 13:21:31 Does it? I thought it returned only the fd. 13:21:48 With -1 and errno set, or just the fd. 13:21:49 "info gforth" 13:21:58 sry 13:22:25 It's strange. 13:22:49 It looks Gforth changed semantics of "read-file". 13:23:15 Several years ago I was able to "read-file" directory with 13:23:15 all these i-nodes and stuff. 13:26:52 jcw: it doesn't work the same way is the unix "open" syscall 13:27:11 --- quit: timlarson_ ("Leaving") 13:27:27 I didn't have gforth infos handy. I was recalling that it did. 13:27:57 That's not Gforth specific. 13:29:02 there's no errno as such, jcw. 13:29:53 a standard open-file returns an ior, 0 for success. 13:43:53 I wouldn't be suprised if the ior value matched errno on linux 13:43:59 or, on gforth rather 13:48:01 Damn! 13:48:45 I can "open-file" directory, but I can't check what it is 13:48:45 until I read something from there. 13:49:26 probably, jasonwoof. 13:51:14 Not at all. 13:51:40 you aren't supposed to "open-file" a directory 13:52:13 How else can I check, what the given name corresponds to? 13:54:01 ans doesn't define an API for querying files or directories 13:54:07 only for reading and writing known filenames 13:55:38 The worst part of it is "create-file" does not create file 13:55:39 if its name contains directory separator. 13:57:00 you'll have to find a better file API 13:57:17 what's create-file for? 13:57:21 can't you just open for writing? 13:57:52 s" test/test" w/o create-file throw . .s 13:58:06 create-file won't create a directory. 14:05:48 --- quit: zpg (Remote closed the connection) 14:06:38 jason, create-file creates files. :) 14:06:55 I know, I was surprised too :) 14:16:39 s" test/foo" r/w create-file works just fine when test is an existing directory. 14:17:07 That's not the case of interest. 14:18:01 I don't like "open-file" opens directories. 14:20:25 You can cat . in linux, as well. It's not useful, but you can. 14:20:52 Better I could not. 14:21:03 Directory listing files are openable like any other file. It's a feature of the file system, not of any given programming language. 14:21:24 Win32 prevents it, at least at the command-line. 14:21:49 type . -> access is denied 14:22:18 (cygwin) cat . -> cat .: Is a directory 14:22:35 Linux doesn't prevent it, nor does BSD. 14:22:54 Let them be openable, but let them be readable too. 14:23:06 They are readable. The internal format depends on the file-system. 14:23:10 "slurp-file" fails when reading. 14:24:11 Succeeds here under Gforth 0.6.2, W2K/Cygwin. 14:24:33 I don't understand, why expose internals of directory. 14:24:50 It's how the file systems are designed. 14:24:52 It is not intended to be written with usual routines. 14:24:58 That's true. 14:25:21 Hmm. Even stranger. 14:25:50 You say in 0.6.2 it works. 14:26:01 In CVS 0.6.2 it does not work. 14:26:16 It works under BSD; I just did a s" ." slurp-file, and it returns a 3072-byte string. 14:26:23 Under Win2K, it returns a 0-byte string. 14:26:53 Both are equally useless. Even when data returns, it's not in any kind of standard format. 14:27:18 There's no telling what filesystem you might be running on, especially under *nix where there's quite a variety to choose from. 14:28:25 Hmmm. 14:29:04 Neither one failed, however. I don't have a linux box immediately at hand to try it on, but I'd expect it to return a string also. 14:29:16 It seems OS denies reading too little of directory. 14:29:30 I don't know what that means. 14:30:46 s" ." r/o open-file throw pad 1 rot read-file throw pad swap dump 14:31:36 That succeeds under BSD without error. 14:32:11 But fails under Cygwin. 14:32:26 Under W2K/Cygwin, the file has a length of zero, so of course it fails. 14:32:59 . and .. are not files, as such, under either NTFS or FAT32. 14:33:05 They're fake. 14:34:15 N/p. 14:34:27 s" RCS" r/o open-file throw pad 1 rot read-file throw pad swap dump 14:34:40 Or any other existing directory. 14:34:51 Which is neither . nor .. 14:34:55 It fails under Cygwin too. 14:37:03 Succeeds on BSD. Fails on W2K/Cygwin. Using open-file to read directory names is going to depend entirely on the OS and the file-system. 14:37:58 I have Cygwin/WXP and NetBSD myself. 14:38:29 I want to understand how should I test for directory. 14:39:15 Patch Gforth? 14:39:40 I believe Gforth provides a set of words for the purpose. Have you looked in the documentation? 14:39:41 use ffi to call stat()? 14:41:10 Gforth does not document even existing "open-dir" in its info. 14:41:23 slava, I don't like that idea. 14:43:26 http://www.complang.tuwien.ac.at/forth/gforth/NEWS 14:43:32 Directory handling: OPEN-DIR READ-DIR CLOSE-DIR FILENAME-MATCH 14:44:36 I'm pretty aware of all these. 14:44:50 You propose "open-dir" first. 14:44:57 I'm quoting from the URL. 14:45:23 c.l.f has gone mad: "Maybe we'd do better to figure out ways for Forth systems to import 14:45:23 Python modules." 14:45:26 I'm using CVS Gforth. 14:45:42 slava, yes, there's quite a bit of stupid on there right now. More than I can bail over the edge of the boat, I'm afraid. :) 14:45:51 slava, it is the most fresh idea of the day. 14:46:22 What I find interesting is that when there's an attack of stupid on there, it's not five different kinds of stupid; it's one, from two or three sources. 14:47:48 You won't find anything new except this Python interface proposal. 14:49:27 slava, perhaps you'd like to tell ASau why it's crazy. 14:49:45 i'm just biased against python, i don't like it 14:50:03 i don't think inter-language bindings are necessarily a bad thing. factor can call c, objective-c, and using a third-party library, java 14:50:21 Yes, FFI is handy. 14:50:41 I don't like it either. 14:50:58 Anyway, it is the most fresh idea of the day. 14:52:12 However mad it can be. Forth is not for weak. 14:52:47 Thus Spake Saushev. 14:54:53 --- quit: jcw (Read error: 110 (Connection timed out)) 14:55:10 I can't point to another idea which is comparatively new. 14:55:37 Novelty is not a measure of worth. 14:57:19 I know this. 14:57:55 But neither age is. 14:58:07 It's pretty good measure of novelty, but only if the idea is new. This one isn't. Bindings to all manner of other languages exist or have been proposed at one time or another. 14:59:07 As I understand idea is not binding, but reusing. 14:59:21 Binding is for the purpose of re-use. 14:59:59 You may implement package management of a similar kind. 15:01:18 If you wish, I can give you example, why opposing this kind 15:01:18 of ideas makes harm. 15:04:52 Quartus have you used assembler on 64bit machine? 15:05:20 erider, on an DEC Alpha. 15:06:06 And on a RISC-6000. 15:08:08 hmm I'm looking at the output of some C code in AT&T and I haven't seen the rdx rbx rax before 15:08:45 Isn't that the syntax for the 64-bit version of the registers? 15:09:01 I guess 15:09:22 I haven't looked at much 64-bit intel code, but that rings a bell. 15:09:34 #asm can probably help you. 15:09:48 I think that's where I saw it. 15:10:20 ok thanks 15:43:41 --- join: zpg (n=user@user-54418075.lns1-c7.dsl.pol.co.uk) joined #forth 15:46:05 Quartus: what do you think of this for "free-list"? 15:46:07 : free-list dup cdr dup nil = not if recurse else drop then free throw ; 15:46:14 hi vatic 15:46:23 zpg: hi! 15:47:10 vatic, I think it's unnecessarily complex. 15:47:29 And it uses return-stack space equivalent to the length of the stack. 15:48:08 equivalent to the length of the stack? 15:48:18 Length of the list, sorry. 15:48:22 OK 15:48:28 There's no need to free the nodes last-first. 15:48:38 Oh, really? 15:48:45 i've been hacking the beginnings of a really flakey tinylisp in C today 15:48:52 Really -- why not free them as you encounter them? 15:49:22 Don't the addresses go away when you free them? 15:49:46 Sure. So do this: : free-list ( list -- ) @ begin dup while dup cdr swap free throw repeat drop ; 15:50:35 Ah, right! You grab the cdr and then free, so you know what's next... 15:50:57 Right. It's bad form to cdr from an already-freed node, though it'd often work fine. Bug waiting to bite. 15:51:38 It didn't occur to me to get the address and then free. Duh! 15:52:08 Anyway, thanks for the review... 15:52:13 No problem :) 15:52:19 --- quit: Ray_work ("User pushed the X - because it's Xtra, baby") 15:59:27 --- quit: zpg ("night") 16:05:19 http://retroforth.net/paste/?id=204 16:06:09 No idea, erider. #asm no help? 16:06:49 --- join: jcw (n=jcw@adsl-065-006-151-062.sip.asm.bellsouth.net) joined #forth 16:06:51 nope 16:07:24 You might try generating a .s with gcc and modifying that. 16:08:49 there is nobody there atm that good with x86_64 16:09:41 Quartus I did that but the syntax is in AT&T and I'm using nasm 16:10:50 erider, think you're using nasm, but syntax is AT&T: 16:10:50 operands reversed and types appended. 16:13:11 gcc -m-intel-syntax maybe? I don't know. 16:14:14 Are you sure in "puts"? 16:14:21 Maybe "_puts"? 16:14:24 ASau: also the gcc will place more stuff that I don't need for the simple program 16:14:48 hmm let my try that simple change 16:15:05 its assembled but it doesn't run 16:15:30 Yeah, I'm not suggesting you generate a .s and keep it all. Generate one, convert it to your desired syntax, whittle it down to a null app, then add your code as required. 16:15:56 I'm working that now 16:17:27 Try "main" -> "_main". 16:18:00 zpg: I emailed you those tiny interpreters... 16:18:39 zpg: They go with a book by Stuart Kamin: "Programming Languages, an Interp Approach" 16:19:06 ASau: that not the fix :( 16:20:29 Maybe write a simple routine using asmutils system.inc, so you know you're not missing anything nasm-wise. 16:21:54 Sorry, I cannot help. 16:22:27 It's too late and I'm accustomed to AT&T syntax. 16:23:33 I read your "mov esp,ebp" as "move.l esp, ebp". 16:24:56 zpg: http://www-sal.cs.uiuc.edu/~kamin/ 16:25:21 well I'm going to play with AT&T syntax because I think that the nasm on my system is for 32bit. I 64bit registries are undefined 16:25:47 maybe that's the problem. if gcc works, gas works, so that should be ok. I think gas accepts intel syntax now. 16:26:34 Quartus do you know of a gas tutorial 16:27:38 There are a few, but I don't know of one offhand that uses intel syntax. 16:28:18 Quartus no worries I will take the time to learn the AT&T syntax 16:28:39 again, I think gas takes intel syntax now. 16:28:45 Optionally. 16:28:56 erider: There's not very good tutorial info on GAS. I serached high and low at teh beginning of the Summer... 16:29:06 searched 16:29:08 the 16:29:48 http://asm.sourceforge.net/ has a lot of links. 16:30:59 when I look at the output for gcc in assembly I'm not sure what I can remove 16:31:08 Trial and error. 16:31:16 :) 16:31:34 any of you have a template? 16:31:52 Take the ten minutes to figure one out. :) 16:32:01 roger 16:35:48 --- quit: jcw ("Client exiting") 16:39:08 ok I'm got something Quartus 16:40:27 s/I'm/I 16:40:34 Good. 16:55:46 --- quit: arke (Read error: 131 (Connection reset by peer)) 16:59:28 --- join: arke (n=Chris@pD9E05364.dip.t-dialin.net) joined #forth 16:59:28 --- mode: ChanServ set +o arke 17:02:05 Quartus: is jacko related to werty? :) 17:02:38 Jacko's sentences actually parse if you kind of squint. But they may be cousins. :) 17:03:38 jacko was dropped on his head less times 17:04:02 One or two fewer times. 17:06:45 I got the vague feeling that Jacko wants to see Hungarian notation in his Forth names. 17:07:03 DUP(X-XX) 17:07:09 .(N-) 17:07:12 That's the idea. :) 17:07:27 factor retains (...) comments and shows them in 'see' etc 17:08:22 I guess there's a stage at which see is valuable. I rarely use it. It's certainly not a necessary tool for me to write Forth. 17:08:40 do you memorize all your stack effects? 17:08:57 i don't have a good enough memory :) i sometimes refer to my own documentation 17:09:27 I refer to my own documentation, but not via see; haven't run into a Forth that retains the stack diagrams as you say Factor does. 17:09:46 ok, so you believe in online help of some form 17:09:56 it doesn't really matter if its done via 'see' or some other facility 17:10:28 I don't examine my source from within the compiler. I am not an IDE guy. I work with an editor, so I view my source there. I guess that's still a form of online help... 17:10:36 ah 17:10:43 what about core words? do you just have the ans spec on hand? 17:11:00 I made up a set of four quick-reference sheets that I keep on hand, but I often have the document open in window. 17:11:21 ah, i remember those, they're neat 17:11:34 Thanks. They keep me from having to rely on my memory. :) 17:12:21 I published those sheets, and then got more email on them than on any other single thing. Everybody thought they should be done differently. Nobody was willing to actually do their own version, but they all had a strong opinion to share with me. :) 17:13:49 This part shouldn't be underlined. That part shouldn't be red. They should be listed in alphabetical order; they should be listed all in one block, they should be listed according to the number of inputs & outputs. 17:13:50 You name it. 17:14:55 the jedit mailing list sometimes gets passionate posts about re-arranging the gadgets in the status bar, etc 17:15:28 I could perhaps follow it if something changed that they were already used to, and they didn't like the change. But this was a brand-new thing. 17:15:38 And something that anybody can do with a word-processor and a bit of time. 17:20:09 --- join: Raystm2 (n=NanRay@adsl-69-149-37-237.dsl.rcsntx.swbell.net) joined #forth 17:21:20 do you unit test Quartus ? 17:21:24 Yes. 17:21:44 Couldn't get by without unit testing. 17:21:52 Hi, Bill paid. I'm back. Sorry if you were glad I was gone. :) 17:22:03 how much did Bill pay you? 17:22:06 Damn you, bill-payer! 17:23:55 hehe. Bill, never pays me. :( 17:24:22 * Raystm2 imagines his impression of Quartus shaking fist when saying his line. 17:24:30 It's required. 18:35:23 Quartus: those 2-up and 4-up reference sheets are fantastic! Don't change 'em! 18:35:37 I use them everyday... 18:35:43 --- quit: vatic ("*poof*") 18:38:25 heh 18:54:36 reference sheets? 19:15:57 PDFs. Four of 'em, Standard Forth. 19:31:29 --- join: vatic (n=chatzill@pool-162-84-156-148.ny5030.east.verizon.net) joined #forth 19:31:58 Oh yes. I recall. thank you. 19:32:50 --- quit: vatic (Client Quit) 20:03:18 How are things, Raystm2? 21:44:03 --- quit: segher (Nick collision from services.) 21:44:11 --- join: segher_ (n=segher@dslb-084-056-150-118.pools.arcor-ip.net) joined #forth 22:40:48 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 22:47:48 --- quit: ASau (Read error: 54 (Connection reset by peer)) 23:04:25 --- join: Crest (n=crest@port-83-236-58-240.dynamic.qsc.de) joined #forth 23:06:01 --- join: ASau (n=user@195.98.180.3) joined #forth 23:20:35 --- quit: nighty (Read error: 148 (No route to host)) 23:39:20 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #forth 23:45:50 --- quit: JasonWoof ("off to bed") 23:59:59 --- log: ended forth/06.10.06