Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Space tells matter how to move and matter tells space how to curve. -- Wheeler


devel / comp.lang.forth / Re: ANN: DX-Forth 4.44

SubjectAuthor
* Re: ANN: DX-Forth 4.44Robert Roland
+* Re: ANN: DX-Forth 4.44dxforth
|+* Re: ANN: DX-Forth 4.44Hans Bezemer
||+- Re: ANN: DX-Forth 4.44Hans Bezemer
||+- Re: ANN: DX-Forth 4.44Marcel Hendrix
||`- Re: ANN: DX-Forth 4.44dxforth
|`- Re: ANN: DX-Forth 4.44Robert Roland
`* Re: ANN: DX-Forth 4.44Hugh Aguilar
 `* Re: ANN: DX-Forth 4.44Robert Roland
  +* Re: ANN: DX-Forth 4.44dxforth
  |+* Re: ANN: DX-Forth 4.44Hugh Aguilar
  ||+- Re: ANN: DX-Forth 4.44dxforth
  ||`* Re: ANN: DX-Forth 4.44Hans Bezemer
  || +* Re: ANN: DX-Forth 4.44Hugh Aguilar
  || |`- Re: ANN: DX-Forth 4.44dxforth
  || `- Re: ANN: DX-Forth 4.44Hugh Aguilar
  |`* Re: ANN: DX-Forth 4.44Hans Bezemer
  | `* Re: ANN: DX-Forth 4.44dxforth
  |  `* Re: ANN: DX-Forth 4.44Hans Bezemer
  |   +- Re: ANN: DX-Forth 4.44Anton Ertl
  |   `* Re: ANN: DX-Forth 4.44dxforth
  |    `* Re: ANN: DX-Forth 4.44Brian Fox
  |     `* Re: ANN: DX-Forth 4.44dxforth
  |      `* Re: ANN: DX-Forth 4.44Brian Fox
  |       `- Re: ANN: DX-Forth 4.44dxforth
  `- Re: ANN: DX-Forth 4.44Hugh Aguilar

Pages:12
Re: ANN: DX-Forth 4.44

<slsrkg$lkd$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=15128&group=comp.lang.forth#15128

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!7AktqsUqy5CCvnKa3S0Dkw.user.46.165.242.75.POSTED!not-for-mail
From: dxfo...@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: ANN: DX-Forth 4.44
Date: Wed, 3 Nov 2021 13:19:59 +1100
Organization: Aioe.org NNTP Server
Message-ID: <slsrkg$lkd$1@gioia.aioe.org>
References: <rq9njd$853$1@gioia.aioe.org>
<c5810441-ab80-4757-b00b-9ddacb8934a5n@googlegroups.com>
<5f869152-9838-48c3-8f4b-da18a4192143n@googlegroups.com>
<63e077cd-d4ff-4ead-9df3-66341f58407an@googlegroups.com>
<slct1e$1ai2$1@gioia.aioe.org>
<9f3c8c39-4def-4c26-bd71-ac1fe5e9475dn@googlegroups.com>
<slfamm$jv7$1@gioia.aioe.org>
<3f263a8d-c1c5-4de5-9981-816b25e2ac89n@googlegroups.com>
<slibnv$ft4$1@gioia.aioe.org>
<c73dfab3-a4d6-472f-937f-98db466a18e2n@googlegroups.com>
<sljr33$535$1@gioia.aioe.org>
<8abffe50-fe68-4565-8a3b-67ffc717879an@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="22157"; posting-host="7AktqsUqy5CCvnKa3S0Dkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.1
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: dxforth - Wed, 3 Nov 2021 02:19 UTC

On 3/11/2021 00:29, Brian Fox wrote:
> On Saturday, October 30, 2021 at 12:15:34 PM UTC-4, dxforth wrote:
>> On 31/10/2021 01:17, Brian Fox wrote:
>> > On Friday, October 29, 2021 at 10:47:28 PM UTC-4, dxforth wrote:
>> >> The TRUE reason for PARSE-NAME is that it has to parse a number of "white space" characters.
>> >> AFAIK that was also true for 'BL WORD' under ANS. Some special-cased
>> >> BL SKIP/SCAN. My approach was >BLANKS ( a u -- ) which first converts
>> >> controls to blanks. It has proven useful for applications unrelated
>> >> to the forth parser.
>> >>
>> >> But we digress. I'm happy with WORD not least because FIND still needs
>> >> a counted string. The factor of WORD which moves and stores - I've
>> >> called it WPACK ( adr len -- adr2 ) - is potentially useful for other
>> >> things e.g. SEARCH-WORDLIST. The result from WORD goes into the same
>> >> buffer as S" on a shared basis. The latter building up and the former
>> >> building down to a maximum of 255+31 chars. There's little I've needed
>> >> to do that couldn't be done with : TOKEN BL WORD COUNT ;
>> >
>> > For my hobby system I found it useful to modify Camel Forth and factor out
>> > PARSE-WORD which is then used to make WORD.
>> >
>> > : PARSE-WORD ( char -- c-addr u)
>> > DUP SOURCE >IN @ /STRING
>> > ROT SKIP
>> > DROP SOURCE -ROT - MIN 0 MAX >IN !
>> > PARSE
>> > ;
>> >
>> > : WORD ( char -- c-addr)
>> > PARSE-WORD HERE PLACE
>> > HERE BL OVER COUNT + C! \ append blank character
>> > ;
>> >
>> > With PARSE-WORD I can choose not to copy to HERE if that's
>> > what I need or use WORD in the traditional way.
>> > (Yes, Camel Forth still appends a BL to the WORD string)
>> So does mine. If SF couldn't be certain they wouldn't need it again
>> who am I to know :)
>> >
>> > So your TOKEN would become:
>> > : TOKEN ( -- c-addr u) BL PARSE-WORD ;
>> I'd be struggling to find a use for PARSE-WORD :)
>>
>> I factored mine as follows:
>>
>> : PARSE ( char -- c-addr u ) false (parse) ;
>> : WORD ( char -- c-addr ) true (parse) wpack ;
>>
>> (parse) and wpack are currently headerless.
>>
>> Once S" ," .( etc. are defined, there's probably not a lot of use for PARSE
>> if my apps are any indication.
>
> On a "glacial" speed system like 9900 copying to HERE or not can make a
> difference in execution speed. So I use PARSE-WORD whenever the data
> does not need that extra copying but I want to skip leading blanks.
> It's a small hit for WORD calling PARSE-WORD.
>

DX-Forth was written on/for glacial hardware :) ISTM dictionary search
time would be the limiting factor as most parsed words go through FIND
which uses WORD. For me the greater issue is redundancy. I have PARSE
and /PARSE. I'd like to remove the former but it's too well-known.
200x has the same issue with S" and S\" .

some will f, I've not found them think it boils down to preference.

ANS argued against WORD but until
there's an alternative to FIND.

Pages:12
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor