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


Groups > comp.compilers > #3243

Re: Re: What attributes of a programming language simplify its implementation?

From <minforth@arcor.de>
Newsgroups comp.compilers
Subject Re: Re: What attributes of a programming language simplify its implementation?
Date 2022-11-15 09:48 -0800
Organization Compilers Central
Message-ID <22-11-013@comp.compilers> (permalink)
References <22-09-026@comp.compilers> <22-10-025@comp.compilers> <29190_1668508275_63736A72_29190_327_1_22-11-007@comp.compilers> <22-11-009@comp.compilers>

Show all headers | View raw


Roger L Costello schrieb am Dienstag, 15. November 2022 um 17:52:01 UTC+1:
> minf...@arcor.de wrote:
>
> > use Forth as your toolbox to make your own DSL
> > and you can go _very_ far without diving into all
> > those dragon books and gigabyte compilers and
> > toolsets.
> Fascinating!
>
> What is it about the Forth programming language that makes it easy to
implement DSL's?
>
> /Roger
> [It has small efficient implementations, it generally lets you get close to the hardware,
> and the RPN syntax lets you define new operators that work like the built-in ones. -John]

Forth comprises a _very_ simple interpreter and compiler. Both can be
modified and enhanced easily to the problem domain. IOW Forth is
extensible to the core of the language while still being small and
simple enough to fit into one single person's head.

Citing its inventor Chuck Moore:
"By permitting the program to dynamically modify its control language,
we mark a qualitative change in capability. In a sense, our program
has evolved into a meta-language which we apply to the application.”

Another citation (Bernd Paysan):

“In this respect, Forth is quite similar to Lisp and its descendants…
[but] Forth differs from Lisp in that it doesn’t use lists, neither
for calling, nor for storing multiple values. Forth uses a stack to
pass data between words, and it uses the raw memory (as seen by the
assembler programmer) for more permanent storage. It’s much lower
leveled than Lisp, and that’s one of the reason why it is fast.

It’s not only fast, the simplicity makes it very small, too. Forth is
the ultimate language for building extensions. Programming in Forth is
generating higher levels of abstractions, until you have a language
well fitted to solve your problem. The simplicity of the underlying
system allows it to rely on it, which is important when you search
bugs.

The usual approach for application programming is to keep each layer
simple, too. This is essential for rapid development of critical
applications."

Back to comp.compilers | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

What attributes of a programming language simplify its implementation? Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2022-09-30 12:46 +0100
  Re: What attributes of a programming language simplify its implementation? Martin Ward <martin@gkc.org.uk> - 2022-10-01 15:56 +0100
    Re: What attributes of a programming language simplify its implementation? gah4 <gah4@u.washington.edu> - 2022-10-01 17:05 -0700
      Re: What attributes of a programming language simplify its implementation? gah4 <gah4@u.washington.edu> - 2022-10-02 00:11 -0700
      Re: What attributes of a programming language simplify its implementation? "Robin Vowels" <robin51@dodo.com.au> - 2022-10-03 12:34 +1100
        Re: What attributes of a programming language simplify its implementation? robin51@dodo.com.au - 2022-10-03 15:59 +1100
          Re: What attributes of a programming language simplify its implementation? gah4 <gah4@u.washington.edu> - 2022-10-03 12:28 -0700
    Re: What attributes of a programming language simplify its implementation? Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2022-10-02 01:21 +0100
  Re: What attributes of a programming language simplify its implementation? Thomas Koenig <tkoenig@netcologne.de> - 2022-10-08 22:44 +0000
    Re: What attributes of a programming language simplify its implementation? "minf...@arcor.de" <minforth@arcor.de> - 2022-11-14 05:14 -0800
      Re: What attributes of a programming language simplify its implementation? gah4 <gah4@u.washington.edu> - 2022-11-15 06:09 -0800
    RE: Re: What attributes of a programming language simplify its implementation? Roger L Costello <costello@mitre.org> - 2022-11-15 11:52 +0000
      Re: Re: What attributes of a programming language simplify its implementation? <minforth@arcor.de> - 2022-11-15 09:48 -0800
        Re: Re: What attributes of a programming language simplify its implementation? RPN? gah4 <gah4@u.washington.edu> - 2022-11-15 16:11 -0800
          Re: Re: What attributes of a programming language simplify its implementation? RPN? "minf...@arcor.de" <minforth@arcor.de> - 2022-11-16 04:54 -0800
            Re: Re: What attributes of a programming language simplify its implementation? RPN? "minf...@arcor.de" <minforth@arcor.de> - 2022-11-16 05:39 -0800
          Re: Re: What attributes of a programming language simplify its implementation? RPN? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2022-11-16 18:12 +0000

csiph-web