|
|
Up |
|
|
  |
Author: roger.levyroger.levy Date: Aug 21, 2008 10:55
Most of what I find written about Forth programming involves the
basics; data stack, control structures, I/O, compilation. I'm
interested in learning ways that complete non-programming-language-
related applications (e.g. NOT Forth's written in Forth) have
leveraged Forth's unique capabilities to solve problems differently
from conventional practices.
|
| Show full article (1.25Kb) |
|
| | 8 Comments |
|
  |
Author: Elizabeth D RatherElizabeth D Rather Date: Aug 21, 2008 16:57
> Most of what I find written about Forth programming involves the
> basics; data stack, control structures, I/O, compilation. I'm
> interested in learning ways that complete non-programming-language-
> related applications (e.g. NOT Forth's written in Forth) have
> leveraged Forth's unique capabilities to solve problems differently
> from conventional practices.
It's a good question. It would be helpful to hear what you *have* read,
so we know where you're starting from. Have you read "Thinking Forth"
(Google for it)? Although it's somewhat dated, it does address some of
these issues.
Most of our application work nowadays is in embedded systems, which is
reflected in my comments below.
> Specifically I'd love learning about anything having to do with:
> - Using Compile Time
Aside from trivial things such as generating literals, this is a
technique that's used very rarely in my experience, but can be a
powerful weapon to keep in reserve for certain occasions.
|
| Show full article (6.39Kb) |
|
| | no comments |
|
  |
Author: Stephen PelcStephen Pelc Date: Aug 22, 2008 08:09
On Thu, 21 Aug 2008 10:55:23 -0700 (PDT), "roger.levy@ gmail.com"
gmail.com> wrote:
>Specifically I'd love learning about anything having to do with:
>- Using Compile Time
>- Usage of Wordlists (how was a program structured? how were wordlists
>used? any app-specific abstractions that used wordlists?)
>- Featuring the data stack
>- Using the interpreter to process text files, or other text
>processing applications
>- Forth-style data structures
>- How a complex application was structured (how did you avoid name-
>collisions? any "scripts" compiled or run from within the
>application?)
>- Data storage implementation details (how memory and disk was used)
>- Extensions to the compiler
>- Modifications to the Forth system (extending the system into a new
>domain-specific environment)
|
| Show full article (1.32Kb) |
| no comments |
|
  |
Author: Anton ErtlAnton Ertl Date: Aug 23, 2008 08:29
>Most of what I find written about Forth programming involves the
>basics; data stack, control structures, I/O, compilation. I'm
>interested in learning ways that complete non-programming-language-
>related applications (e.g. NOT Forth's written in Forth) have
>leveraged Forth's unique capabilities to solve problems differently
>from conventional practices.
Even though it is programming-language-related (but definitely not
about implementing Forth), you might be interested in
@InProceedings{ertl99ef,
author = "M. Anton Ertl",
title = "Is {Forth} Code Compact? {A} Case Study",
booktitle = "EuroForth'99 Conference Proceedings",
year = "1999",
address = "St. Petersburg...
|
| Show full article (2.29Kb) |
| no comments |
|
  |
Author: Aleksej SaushevAleksej Saushev Date: Aug 28, 2008 23:17
> What have circular buffers been useful for?
They are very useful, since circular buffer is the simplest
data structure, that provides lock free consistent access.
--
HE CE3OH...
|
| |
| no comments |
|
  |
Author: Elizabeth D RatherElizabeth D Rather Date: Aug 29, 2008 01:41
>> It's a good question. It would be helpful to hear what you *have* read,
>> so we know where you're starting from. Have you read "Thinking Forth"
>> (Google for it)? Although it's somewhat dated, it does address some of
>> these issues.
>
> I've read and own both Starting Forth and Thinking Forth. I treat
> them like bibles and re-read Thinking Forth for fun/encouragement
> often. Though the knowledge in them is starting to get a little
> stale ...
Starting Forth is very stale, particularly the paper copies (the online
versions have been partially updated). Since you say you have
SwiftForth, you have a copy of Forth Programmer's Handbook (pdf). You
might benefit from Forth Application Techniques, and it's pretty cheap.
|
| Show full article (12.93Kb) |
| no comments |
|
  |
Author: roger.levyroger.levy Date: Aug 29, 2008 06:24
On Aug 29, 4:41 am, Elizabeth D Rather forth.com> wrote:
>>> It's a good question. It would be helpful to hear what you *have* read,
>>> so we know where you're starting from. Have you read "Thinking Forth"
>>> (Google for it)? Although it's somewhat dated, it does address some of
>>> these issues.
>
>> I've read and own both Starting Forth and Thinking Forth. I treat
>> them like bibles and re-read Thinking Forth for fun/encouragement
>> often. Though the knowledge in them is starting to get a little
>> stale ...
>
> Starting Forth is very stale, particularly the paper copies (the online
> versions have been partially updated). Since you say you have
> SwiftForth, you have a copy of Forth Programmer's Handbook (pdf). You
> might benefit from Forth Application Techniques, and it's pretty cheap.
>
>>> Most of our application work nowadays is in embedded systems, which is
>>> reflected in my comments below.
> ...
|
| Show full article (9.43Kb) |
| no comments |
|
  |
Author: Jerry AvinsJerry Avins Date: Aug 29, 2008 10:34
> What have circular buffers been useful for?
...
A circular buffer is the software analog of a hardware FIFO. It is so
useful for some operations that DSPs have special hardware resources to
facilitate their operation.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
| |
| no comments |
|
  |
|
|
  |
Author: Elizabeth D RatherElizabeth D Rather Date: Aug 29, 2008 11:50
> On Aug 29, 4:41 am, Elizabeth D Rather forth.com> wrote:
...
>>>> We don't actually worry a lot about name collisions in applications. A
>>>> lot of application words are only used locally, and if there's a
>>>> different one somewhere the compiler will issue a warning. Sometimes we
>>>> just examine the other version, conclude there's no practical conflict,
>>>> and forge ahead.
>>> Ah, OK, so you don't try to make as many words as possible "global"?
>> They may be technically global, but only interesting within a particular
>> section of the code. I see no reason to be paranoid about global names
>> (or variables).
>
> Not paranoid, simply wary. :)
Fortunately, any decent Forth will warn you of name collisions, so you
can use your judgement as to whether a particular one is a problem or not.
|
| Show full article (4.10Kb) |
| no comments |
|
|