Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #44560 > unrolled thread

DurexForth v1.5.0

Started byJohan Kotlinski <kotlinski@gmail.com>
First post2016-01-04 15:08 -0800
Last post2016-01-07 03:14 -0500
Articles 20 on this page of 46 — 16 participants

Back to article view | Back to comp.lang.forth


Contents

  DurexForth v1.5.0 Johan Kotlinski <kotlinski@gmail.com> - 2016-01-04 15:08 -0800
    Re: DurexForth v1.5.0 hughaguilar96@gmail.com - 2016-01-04 20:54 -0800
      Re: DurexForth v1.5.0 Johan Kotlinski <kotlinski@gmail.com> - 2016-01-05 00:48 -0800
        Re: DurexForth v1.5.0 rickman <gnuarm@gmail.com> - 2016-01-05 04:40 -0500
          Re: DurexForth v1.5.0 Johan Kotlinski <kotlinski@gmail.com> - 2016-01-05 02:53 -0800
            Re: DurexForth v1.5.0 rickman <gnuarm@gmail.com> - 2016-01-05 09:19 -0500
              Re: DurexForth v1.5.0 Chris Curl <ccurl609@gmail.com> - 2016-01-05 08:44 -0800
                Re: DurexForth v1.5.0 rickman <gnuarm@gmail.com> - 2016-01-05 11:53 -0500
                  Re: DurexForth v1.5.0 Chris Curl <ccurl609@gmail.com> - 2016-01-05 10:28 -0800
                    Re: DurexForth v1.5.0 rickman <gnuarm@gmail.com> - 2016-01-05 14:12 -0500
                      Re: DurexForth v1.5.0 Paul Rubin <no.email@nospam.invalid> - 2016-01-05 11:16 -0800
                        Re: DurexForth v1.5.0 rickman <gnuarm@gmail.com> - 2016-01-05 14:58 -0500
                          Re: DurexForth v1.5.0 Paul Rubin <no.email@nospam.invalid> - 2016-01-05 12:03 -0800
                            Re: DurexForth v1.5.0 rickman <gnuarm@gmail.com> - 2016-01-05 15:10 -0500
                              Re: DurexForth v1.5.0 Paul Rubin <no.email@nospam.invalid> - 2016-01-05 12:36 -0800
                                Re: DurexForth v1.5.0 rickman <gnuarm@gmail.com> - 2016-01-05 16:34 -0500
                      Re: DurexForth v1.5.0 Johan Kotlinski <kotlinski@gmail.com> - 2016-01-05 13:42 -0800
                        Re: DurexForth v1.5.0 hughaguilar96@gmail.com - 2016-01-05 16:40 -0800
                          Re: DurexForth v1.5.0 Johan Kotlinski <kotlinski@gmail.com> - 2016-01-05 18:13 -0800
                            Re: DurexForth v1.5.0 "Elizabeth D. Rather" <erather@forth.com> - 2016-01-05 16:27 -1000
                            Re: DurexForth v1.5.0 Paul Rubin <no.email@nospam.invalid> - 2016-01-05 18:59 -0800
                              Re: DurexForth v1.5.0 Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-01-05 22:47 -0800
                                Re: DurexForth v1.5.0 "Elizabeth D. Rather" <erather@forth.com> - 2016-01-05 21:37 -1000
                                  Re: DurexForth v1.5.0 Paul Rubin <no.email@nospam.invalid> - 2016-01-06 00:14 -0800
                                    Re: DurexForth v1.5.0 Ron Aaron <rambamist@gmail.com> - 2016-01-06 10:32 +0200
                                      Re: DurexForth v1.5.0 Paul Rubin <no.email@nospam.invalid> - 2016-01-06 00:42 -0800
                                        Re: DurexForth v1.5.0 Ron Aaron <rambamist@gmail.com> - 2016-01-06 11:02 +0200
                                          Re: DurexForth v1.5.0 Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-01-06 01:51 -0800
                                            Re: DurexForth v1.5.0 Ron Aaron <rambamist@gmail.com> - 2016-01-06 12:02 +0200
                                      Re: DurexForth v1.5.0 Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-01-06 10:46 +0000
                                        Re: DurexForth v1.5.0 Ron Aaron <rambamist@gmail.com> - 2016-01-06 12:49 +0200
                                        Re: DurexForth v1.5.0 Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-01-06 03:12 -0800
                                          Re: DurexForth v1.5.0 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-06 18:21 +0000
                                            Re: DurexForth v1.5.0 Johan Kotlinski <kotlinski@gmail.com> - 2016-01-06 22:57 -0800
                                              Re: DurexForth v1.5.0 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-07 08:47 +0000
                                      Re: DurexForth v1.5.0 Coos Haak <chforth@hccnet.nl> - 2016-01-06 13:39 +0100
                                        Re: DurexForth v1.5.0 Ron Aaron <rambamist@gmail.com> - 2016-01-06 14:45 +0200
                                  Re: DurexForth v1.5.0 Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-01-06 12:48 +0000
                                  Re: DurexForth v1.5.0 Syd Rumpo <usenet@nononono.co.uk> - 2016-01-07 11:09 +0000
                                Re: DurexForth v1.5.0 hughaguilar96@gmail.com - 2016-01-06 22:57 -0800
          Re: DurexForth v1.5.0 no.top.post@gmail.com - 2016-01-14 12:45 +0000
    Re: DurexForth v1.5.0 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-05 10:37 +0000
      Re: DurexForth v1.5.0 Johan Kotlinski <kotlinski@gmail.com> - 2016-01-05 03:08 -0800
    Re: DurexForth v1.5.0 Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2016-01-06 12:22 +0100
      Re: DurexForth v1.5.0 Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-01-06 13:08 +0000
    Re: DurexForth v1.5.0 Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> - 2016-01-07 03:14 -0500

Page 1 of 3  [1] 2 3  Next page →


#44560 — DurexForth v1.5.0

FromJohan Kotlinski <kotlinski@gmail.com>
Date2016-01-04 15:08 -0800
SubjectDurexForth v1.5.0
Message-ID<66f692be-a60d-4449-bb49-0ffd2e081bd1@googlegroups.com>
Hi all,
sorry to disturb, I have been lurking here some years while developing my own toy Forth. It's a subroutine-threaded Forth for the C64.

A few months ago I started working on Forth 2012 standard compliance, and now released a version that passes 99% of the core standard tests. If you are interested, you can try it out here: https://github.com/jkotlinski/durexforth/releases/tag/v1.5.0

Overall, the Forth 2012 web site and tests have been a great resource. I learned a lot and now DurexForth is also more enjoyable to use.

Unfortunately there is one part of the standard that seems really like a bad idea for me to follow, so I would like to pass in some criticism here. It is the enforcing of ASCII that sits bad, since the C64 naturally uses PETSCII. It bothers me why the Forth standard, which is so flexible in many other areas, should be so specific about this? The C standard does well without this requirement.

Regards
Johan

[toc] | [next] | [standalone]


#44570

Fromhughaguilar96@gmail.com
Date2016-01-04 20:54 -0800
Message-ID<513aa5f2-274f-4f82-8aa9-4e878d5cbe12@googlegroups.com>
In reply to#44560
On Monday, January 4, 2016 at 4:09:00 PM UTC-7, Johan Kotlinski wrote:
> Unfortunately there is one part of the standard that seems really like a bad idea for me to follow, so I would like to pass in some criticism here. It is the enforcing of ASCII that sits bad, since the C64 naturally uses PETSCII. It bothers me why the Forth standard, which is so flexible in many other areas, should be so specific about this? The C standard does well without this requirement.

This seems reasonable --- so long as a char is 8-bit, there is no reason why it has to be any particular character coding --- we have the words SPACE and CR that abstractify blanks and carriage-controls, so they don't have to be any particular code.

As I recall, PETSCII was an 8-bit extended version of ASCII, with the lower half being ascii and the upper half being all the extension chars --- there are several 8-bit extended versions of ASCII in use nowadays.

[toc] | [prev] | [next] | [standalone]


#44575

FromJohan Kotlinski <kotlinski@gmail.com>
Date2016-01-05 00:48 -0800
Message-ID<b7241442-9efa-4d2e-b961-7cfbd7188f35@googlegroups.com>
In reply to#44570
On Tuesday, January 5, 2016 at 5:55:00 AM UTC+1, hughag...@gmail.com wrote:
> This seems reasonable --- so long as a char is 8-bit, there is no reason why it has to be any particular character coding --- we have the words SPACE and CR that abstractify blanks and carriage-controls, so they don't have to be any particular code.
> 
> As I recall, PETSCII was an 8-bit extended version of ASCII, with the lower half being ascii and the upper half being all the extension chars --- there are several 8-bit extended versions of ASCII in use nowadays.

Well, PETSCII is distinctly different from ASCII also in the lower half. For example, the code ranges for a-z, A-Z are moved. This is perfectly fine with C, since it only requires essential characters to be defined, and that the a-z A-Z 0-9 ranges are internally sequential. To me that seems like a nice way to do it. On the flip side, I do not see any benefit of user programs assuming ASCII. It is easier to write '!' than 33 (ASCII code for !).

This is not a huge deal for me, since all it means is that I would have to apply the tag "with Environmental Restrictions" whenever I make the bold claim that my Forth is a "Standard System". However I would like to raise the issue. Maybe there is something I overlooked.

Rgrds
Johan

[toc] | [prev] | [next] | [standalone]


#44576

Fromrickman <gnuarm@gmail.com>
Date2016-01-05 04:40 -0500
Message-ID<n6g2se$vlu$1@dont-email.me>
In reply to#44575
On 1/5/2016 3:48 AM, Johan Kotlinski wrote:
> On Tuesday, January 5, 2016 at 5:55:00 AM UTC+1, hughag...@gmail.com
> wrote:
>> This seems reasonable --- so long as a char is 8-bit, there is no
>> reason why it has to be any particular character coding --- we have
>> the words SPACE and CR that abstractify blanks and
>> carriage-controls, so they don't have to be any particular code.
>>
>> As I recall, PETSCII was an 8-bit extended version of ASCII, with
>> the lower half being ascii and the upper half being all the
>> extension chars --- there are several 8-bit extended versions of
>> ASCII in use nowadays.
>
> Well, PETSCII is distinctly different from ASCII also in the lower
> half. For example, the code ranges for a-z, A-Z are moved. This is
> perfectly fine with C, since it only requires essential characters to
> be defined, and that the a-z A-Z 0-9 ranges are internally
> sequential. To me that seems like a nice way to do it. On the flip
> side, I do not see any benefit of user programs assuming ASCII. It is
> easier to write '!' than 33 (ASCII code for !).
>
> This is not a huge deal for me, since all it means is that I would
> have to apply the tag "with Environmental Restrictions" whenever I
> make the bold claim that my Forth is a "Standard System". However I
> would like to raise the issue. Maybe there is something I
> overlooked.

If the C64 does not use ASCII it would have a hard time exchanging text 
files with the rest of the computer world, no?  I can't imagine why it 
would be useful to not use the 128 ASCII codes.  One time it would be an 
issue is when converting from ASCII-hex to integers.  It is not uncommon 
to hard code the conversion constants as numbers rather than use the 
ASCII characters.  This would be broken on the C64 I expect.

-- 

Rick

[toc] | [prev] | [next] | [standalone]


#44578

FromJohan Kotlinski <kotlinski@gmail.com>
Date2016-01-05 02:53 -0800
Message-ID<27d83589-9e6d-44ac-9ff1-f92c0b5a7034@googlegroups.com>
In reply to#44576
On Tuesday, January 5, 2016 at 10:39:59 AM UTC+1, rickman wrote:
> If the C64 does not use ASCII it would have a hard time exchanging text 
> files with the rest of the computer world, no?  I can't imagine why it
> would be useful to not use the 128 ASCII codes.

Using ASCII might make it easier to exchange text files with the rest of the world, but it would make the situation awkward locally on the C64. For example, PETSCII is printed on the keyboard, used by kernal I/O routines, and also by the file system. Not to mention, adding PETSCII/ASCII conversion would waste precious RAM.

> would be useful to not use the 128 ASCII codes.  One time it would be an 
> issue is when converting from ASCII-hex to integers.

For the general case, it should be enough to use >number for converting strings to integers..? This is not something that needs to be done by hand by the user...

Johan

[toc] | [prev] | [next] | [standalone]


#44583

Fromrickman <gnuarm@gmail.com>
Date2016-01-05 09:19 -0500
Message-ID<n6gj9b$pr4$1@dont-email.me>
In reply to#44578
On 1/5/2016 5:53 AM, Johan Kotlinski wrote:
> On Tuesday, January 5, 2016 at 10:39:59 AM UTC+1, rickman wrote:
>> If the C64 does not use ASCII it would have a hard time exchanging
>> text files with the rest of the computer world, no?  I can't
>> imagine why it would be useful to not use the 128 ASCII codes.
>
> Using ASCII might make it easier to exchange text files with the rest
> of the world, but it would make the situation awkward locally on the
> C64. For example, PETSCII is printed on the keyboard, used by kernal
> I/O routines, and also by the file system. Not to mention, adding
> PETSCII/ASCII conversion would waste precious RAM.

That makes no sense.  If the 64 used ASCII, it would use it across the 
board.


>> would be useful to not use the 128 ASCII codes.  One time it would
>> be an issue is when converting from ASCII-hex to integers.
>
> For the general case, it should be enough to use >number for
> converting strings to integers..? This is not something that needs to
> be done by hand by the user...



-- 

Rick

[toc] | [prev] | [next] | [standalone]


#44589

FromChris Curl <ccurl609@gmail.com>
Date2016-01-05 08:44 -0800
Message-ID<8723e69f-be92-4993-bc4c-d44e21b988c9@googlegroups.com>
In reply to#44583
On Tuesday, January 5, 2016 at 9:19:57 AM UTC-5, rickman wrote:
> 
> That makes no sense.  If the 64 used ASCII, it would use it across the 
> board.
I think the point is that the other C64 subsystems use PETSCII as well
(e.g. - displaying a character on the screen), so in order to make them 
behave as expected, a translation would need to be performed at all those
integration points.

[toc] | [prev] | [next] | [standalone]


#44590

Fromrickman <gnuarm@gmail.com>
Date2016-01-05 11:53 -0500
Message-ID<n6gs9v$tgf$1@dont-email.me>
In reply to#44589
On 1/5/2016 11:44 AM, Chris Curl wrote:
> On Tuesday, January 5, 2016 at 9:19:57 AM UTC-5, rickman wrote:
>>
>> That makes no sense.  If the 64 used ASCII, it would use it across the
>> board.
> I think the point is that the other C64 subsystems use PETSCII as well
> (e.g. - displaying a character on the screen), so in order to make them
> behave as expected, a translation would need to be performed at all those
> integration points.

I think that is absurd.  The solution is to use ASCII in *all* 
subsystems like the rest of the world.  It was back in the 60's when 
many computer makers used their own internal character codes such as the 
6 bit code used by Univac to map neatly to the 36 bit word size.

What is the advantage of PETSCII?  Why was it invented?  After reading 
the characters missing from it, it would appear it is about creating 
problems rather than solving them.

-- 

Rick

[toc] | [prev] | [next] | [standalone]


#44591

FromChris Curl <ccurl609@gmail.com>
Date2016-01-05 10:28 -0800
Message-ID<dc9d000f-7d6d-4385-9a4c-0f0f1549017a@googlegroups.com>
In reply to#44590
On Tuesday, January 5, 2016 at 11:53:52 AM UTC-5, rickman wrote:
>  ... The solution is to use ASCII in *all* 
> subsystems like the rest of the world.  It was back in the 60's when 
> many computer makers used their own internal character codes such as the 
> 6 bit code used by Univac to map neatly to the 36 bit word size.
> ...
I agree completely. But since this is for a C64 that was built the
way it was built way back when, that train left the station a long 
time ago.

[toc] | [prev] | [next] | [standalone]


#44592

Fromrickman <gnuarm@gmail.com>
Date2016-01-05 14:12 -0500
Message-ID<n6h4dl$u3m$2@dont-email.me>
In reply to#44591
On 1/5/2016 1:28 PM, Chris Curl wrote:
> On Tuesday, January 5, 2016 at 11:53:52 AM UTC-5, rickman wrote:
>>   ... The solution is to use ASCII in *all*
>> subsystems like the rest of the world.  It was back in the 60's when
>> many computer makers used their own internal character codes such as the
>> 6 bit code used by Univac to map neatly to the 36 bit word size.
>> ...
> I agree completely. But since this is for a C64 that was built the
> way it was built way back when, that train left the station a long
> time ago.

Yeah, that's for sure.  So I guess nothing remains to explain why the 
C64 was designed this way?

-- 

Rick

[toc] | [prev] | [next] | [standalone]


#44593

FromPaul Rubin <no.email@nospam.invalid>
Date2016-01-05 11:16 -0800
Message-ID<87mvsjbzwj.fsf@jester.gateway.pace.com>
In reply to#44592
rickman <gnuarm@gmail.com> writes:
> Yeah, that's for sure.  So I guess nothing remains to explain why the
> C64 was designed this way?

Interoperability with other computers probably didn't matter as much
back then.  

[toc] | [prev] | [next] | [standalone]


#44594

Fromrickman <gnuarm@gmail.com>
Date2016-01-05 14:58 -0500
Message-ID<n6h74f$a9a$1@dont-email.me>
In reply to#44593
On 1/5/2016 2:16 PM, Paul Rubin wrote:
> rickman <gnuarm@gmail.com> writes:
>> Yeah, that's for sure.  So I guess nothing remains to explain why the
>> C64 was designed this way?
>
> Interoperability with other computers probably didn't matter as much
> back then.

Still doesn't answer the question of why reinvent the wheel.

-- 

Rick

[toc] | [prev] | [next] | [standalone]


#44595

FromPaul Rubin <no.email@nospam.invalid>
Date2016-01-05 12:03 -0800
Message-ID<87io37bxp0.fsf@jester.gateway.pace.com>
In reply to#44594
rickman <gnuarm@gmail.com> writes:
> Still doesn't answer the question of why reinvent the wheel.

I thought the Commodore machines had some special graphics characters
for computer games.  They might have displaced some ascii characters for
those.  EBCDIC was also a thing back then.

[toc] | [prev] | [next] | [standalone]


#44596

Fromrickman <gnuarm@gmail.com>
Date2016-01-05 15:10 -0500
Message-ID<n6h7q3$dat$1@dont-email.me>
In reply to#44595
On 1/5/2016 3:03 PM, Paul Rubin wrote:
> rickman <gnuarm@gmail.com> writes:
>> Still doesn't answer the question of why reinvent the wheel.
>
> I thought the Commodore machines had some special graphics characters
> for computer games.  They might have displaced some ascii characters for
> those.  EBCDIC was also a thing back then.

"Might have"?

-- 

Rick

[toc] | [prev] | [next] | [standalone]


#44597

FromPaul Rubin <no.email@nospam.invalid>
Date2016-01-05 12:36 -0800
Message-ID<87egdvbw6g.fsf@jester.gateway.pace.com>
In reply to#44596
rickman <gnuarm@gmail.com> writes:
> "Might have"?

BTSOM.  I never used those things.  They're still around and I saw one
fairly recently, but didn't try it.

[toc] | [prev] | [next] | [standalone]


#44599

Fromrickman <gnuarm@gmail.com>
Date2016-01-05 16:34 -0500
Message-ID<n6hcos$r3$1@dont-email.me>
In reply to#44597
On 1/5/2016 3:36 PM, Paul Rubin wrote:
> rickman <gnuarm@gmail.com> writes:
>> "Might have"?
>
> BTSOM.  I never used those things.  They're still around and I saw one
> fairly recently, but didn't try it.

IDLUAA

-- 

Rick

[toc] | [prev] | [next] | [standalone]


#44600

FromJohan Kotlinski <kotlinski@gmail.com>
Date2016-01-05 13:42 -0800
Message-ID<190dbca1-0309-4e25-99dd-1a47b5ebc1fb@googlegroups.com>
In reply to#44592
On Tuesday, January 5, 2016 at 8:12:22 PM UTC+1, rickman wrote:
> Yeah, that's for sure.  So I guess nothing remains to explain why the 
> C64 was designed this way?

I think Paul had the right idea. The original Commodore computers were based on the 1963 ASCII standard, with only uppercase characters and the $60-$ff range left undefined. Commodore used this extra space to provide graphics characters for games. It was also possible to switch to a business graphics set, where uppercase + graphics are replaced with lowercase + uppercase.

One could have imagined that the business set would map to ASCII-1973, but it does not. This is because the keyboard is made so that pressing SHIFT simply toggles the MSB (unshifted 'a'=$41 becomes shifted 'A'=$c1).

Commodore cut a lot of corners with the C64 to reduce development time and production costs. This example is far from the worst :)

Johan

[toc] | [prev] | [next] | [standalone]


#44603

Fromhughaguilar96@gmail.com
Date2016-01-05 16:40 -0800
Message-ID<d255cdc8-7f4e-4d50-bf42-2511bf7db72e@googlegroups.com>
In reply to#44600
On Tuesday, January 5, 2016 at 2:42:17 PM UTC-7, Johan Kotlinski wrote:
> On Tuesday, January 5, 2016 at 8:12:22 PM UTC+1, rickman wrote:
> > Yeah, that's for sure.  So I guess nothing remains to explain why the 
> > C64 was designed this way?
> 
> I think Paul had the right idea. The original Commodore computers were based on the 1963 ASCII standard, with only uppercase characters and the $60-$ff range left undefined. Commodore used this extra space to provide graphics characters for games. It was also possible to switch to a business graphics set, where uppercase + graphics are replaced with lowercase + uppercase.
> 
> One could have imagined that the business set would map to ASCII-1973, but it does not. This is because the keyboard is made so that pressing SHIFT simply toggles the MSB (unshifted 'a'=$41 becomes shifted 'A'=$c1).
> 
> Commodore cut a lot of corners with the C64 to reduce development time and production costs. This example is far from the worst :)
> 
> Johan

I liked the C64 --- that was a very cool computer --- it was a lot better than the Apple-II and cost a lot less.

Rickman is just a troll --- no matter what subject you might have brought up, he would have put it down --- the C64 is a classic of the era though, so putting it down is like putting down the Datsun 280Z.

Anyway, as I said before, good Forth style is to abstract away magic numbers, including ascii values. We have BL that returns the value of a blank, but this doesn't necessarily return 32 on every system. We also have BLANK CR SPACE and SPACES that abstract away the char value used internally. BTW: I don't know why ANS-Forth has both SPACE and SPACES as one or the other should be sufficient. Similarly, BLANK is so trivial to write that it hardly needs to be in the standard. A lot of these could have just been provided in source-code as recommendations, rather put in the standard where they just become clutter. 

ANS-Forth fails to provide a way to obtain the char values of various non-printable characters. The BL constant is the only one standardized, and it didn't have to be standardized because it is easy to obtain like this: 
s"  " drop c@ 
Because of this lack, I have these constants in my novice package:
 8 constant <backspace>
 9 constant <tab>
13 constant <cr>
27 constant <esc>
I don't know of any way to programmatically determine these constants. All of these constants should have been in the ANS-Forth standard, but the best we can do now is to just put these in every program as a pseudo-standard --- change them as necessary when porting to any computer that has different values.

When I was programming in UR/Forth, I had these constants:
1   constant c   \ the size of a char
2   constant w   \ the size of a word, either an integer or pointer
4   constant d   \ the size of a double word
8   constant f   \ the size of a float

Putting these constants at the top of every program as a pseudo-standard allowed me to easily switch back and forth between 16-bit and 32-bit UR/Forth just by changing the constants --- afaik, everybody who used Forth-83 in those days had constants like this that they used to ease the transition from 16-bit to 32-bit. I still have these constants in the novice package --- because they are short, they are more convenient to use than 1 CELLS or 1 FLOATS (W and F respectively).

[toc] | [prev] | [next] | [standalone]


#44604

FromJohan Kotlinski <kotlinski@gmail.com>
Date2016-01-05 18:13 -0800
Message-ID<0902b522-e7d7-4715-9d85-00751e1efcdc@googlegroups.com>
In reply to#44603
On Wednesday, January 6, 2016 at 1:40:50 AM UTC+1, hughag...@gmail.com wrote:
> Rickman is just a troll --- no matter what subject you might have brought up, he would have put it down --- the C64 is a classic of the era though, so putting it down is like putting down the Datsun 280Z.

Don't know about Rickman but at least that's a cool car I didn't know about!

> SPACES that abstract away the char value used internally. BTW: I don't know why ANS-Forth has both SPACE and SPACES as one or the other should be sufficient.

I guess none of SPACE SPACES BL, or even your constants, are essential if the standard dictates ASCII. One could always look up the ASCII table. But at least SPACE SPACES BL have an educational value since they are used in Starting Forth.

> When I was programming in UR/Forth, I had these constants:
> 1   constant c   \ the size of a char
> 2   constant w   \ the size of a word, either an integer or pointer
> 4   constant d   \ the size of a double word
> 8   constant f   \ the size of a float

c d f would cause some bad surprises when programming in HEX.

Johan

[toc] | [prev] | [next] | [standalone]


#44605

From"Elizabeth D. Rather" <erather@forth.com>
Date2016-01-05 16:27 -1000
Message-ID<Yvydnb4XrI4J5hHLnZ2dnUU7-KOdnZ2d@supernews.com>
In reply to#44604
On 1/5/16 4:13 PM, Johan Kotlinski wrote:
> On Wednesday, January 6, 2016 at 1:40:50 AM UTC+1, hughag...@gmail.com wrote:
>> Rickman is just a troll --- no matter what subject you might have brought up, he would have put it down --- the C64 is a classic of the era though, so putting it down is like putting down the Datsun 280Z.
>
> Don't know about Rickman but at least that's a cool car I didn't know about!
>
>> SPACES that abstract away the char value used internally. BTW: I don't know why ANS-Forth has both SPACE and SPACES as one or the other should be sufficient.
>
> I guess none of SPACE SPACES BL, or even your constants, are essential if the standard dictates ASCII. One could always look up the ASCII table. But at least SPACE SPACES BL have an educational value since they are used in Starting Forth.
>
>> When I was programming in UR/Forth, I had these constants:
>> 1   constant c   \ the size of a char
>> 2   constant w   \ the size of a word, either an integer or pointer
>> 4   constant d   \ the size of a double word
>> 8   constant f   \ the size of a float
>
> c d f would cause some bad surprises when programming in HEX.

SPACE SPACES BL are extremely useful! Always better to use names than 
numbers in cases like that. BL PARSE is very clear.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

[toc] | [prev] | [next] | [standalone]


Page 1 of 3  [1] 2 3  Next page →

Back to top | Article view | comp.lang.forth


csiph-web