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


Groups > comp.compilers > #378

Re: Looking for volunteers for XL

From Alex McDonald <blog@rivadpm.com>
Newsgroups comp.compilers
Subject Re: Looking for volunteers for XL
Date 2011-12-01 12:11 -0800
Organization Compilers Central
Message-ID <11-12-006@comp.compilers> (permalink)
References <11-11-048@comp.compilers> <11-11-053@comp.compilers> <11-11-054@comp.compilers> <11-11-061@comp.compilers> <11-11-063@comp.compilers>

Show all headers | View raw


On Nov 28, 6:50 am, Timothy Knox <t...@thelbane.com> wrote:
> Somewhere on Shadow Earth, at Mon, Nov 28, 2011 at 04:45:11AM +0000, Kaz
Kylheku wrote:
>
> > [Are you aware of anyone actually doing this?  I agree that you might
> > expect extensible languages to be handy design testbeds, but somehow
> > other than in the Lisp community, it didn't work out that way. -John]
>
> Well, John, I think the Forth community provide another counter-example.
> Granted, I am not aware of any projects of hundreds or thousands of
> Forth devs, but some rather significant projects have been done in Forth
> by small teams. And lest folks think Forth as a philosophy is dead, you
> might want to seehttp://factorcode.org/where the language is evolving
> in some very interesting directions.
> --
> Timothy Knox <mailto:t...@thelbane.com>
>
> Never trust a language where its users won't tell you that it sucks.
>     -- Peter Corlett, on We Hates Software (about Python)
> [Forth is swell, but you can't extend its syntax the way you can in
> languages with BNF-based parsers and rewrite rules. -John]

To John's observation; perhaps its lack of syntax makes it seem that
way, but Forth programmers are dab hands at extending Forth. Want new
control structures beyond the basics? Not a problem; here's a CASE
ENDCASE constructed from Forth primitives, since the programmer has
access to the compiler; (comments are in ( ) or preceded by \ );

: case  ( -- 0 )   0 ; immediate
: of    ( C: #of -- orig #of+1 )
        ( x -- )
        1+ >r
        postpone over postpone =
        postpone if   postpone drop
        r> ; immediate
: endof ( C: orig1 #of -- orig2 #of )
        >r postpone else r> ; immediate
: otherwise ; immediate
: endcase ( c: orig1..orign #of -- )
        postpone drop
        0 ?do postpone then loop ; immediate

Now we can...

: testcase ( n -- )
  case 1 of ." one" endof
       2 of ." two" endof
       otherwise ." a lot"
  endcase ;
[Hey, I said forth is swell.  But there isn't a real parser, and if you get
your syntax slightly wrong, rather than parser errors, you get exciting
stack explosions. -John]

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


Thread

Looking for volunteers for XL Christophe de Dinechin <christophe@taodyne.com> - 2011-11-22 21:03 -0800
  Re: Looking for volunteers for XL Kaz Kylheku <kaz@kylheku.com> - 2011-11-26 05:43 +0000
  Re: Looking for volunteers for XL Christophe de Dinechin <christophe@taodyne.com> - 2011-11-26 12:38 -0800
    Re: Looking for volunteers for XL "BartC" <bc@freeuk.com> - 2011-11-26 23:19 +0000
      Re: Looking for volunteers for XL Christophe de Dinechin <christophe@taodyne.com> - 2011-11-27 12:34 -0800
        Re: Looking for volunteers for XL "BartC" <bc@freeuk.com> - 2011-11-27 22:24 +0000
          Re: Looking for volunteers for XL Christophe de Dinechin <christophe@taodyne.com> - 2011-11-28 14:12 -0800
            Re: Looking for volunteers for XL ardjussi <jussi.santti@ard.fi> - 2011-11-30 13:16 -0800
              Re: Looking for volunteers for XL Kaz Kylheku <kaz@kylheku.com> - 2011-12-01 05:44 +0000
                Re: overloading, was Looking for volunteers for XL glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2011-12-02 05:36 +0000
          Re: Looking for volunteers for XL tm <thomas.mertes@gmx.at> - 2012-01-03 09:28 -0800
      Re: Looking for volunteers for XL Kaz Kylheku <kaz@kylheku.com> - 2011-11-28 04:45 +0000
        Re: Looking for volunteers for XL Timothy Knox <tdk@thelbane.com> - 2011-11-27 22:50 -0800
          Re: Looking for volunteers for XL Alex McDonald <blog@rivadpm.com> - 2011-12-01 12:11 -0800
        Re: Looking for volunteers for XL "BartC" <bc@freeuk.com> - 2011-11-28 10:23 +0000
          Re: Looking for volunteers for XL glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2011-11-29 07:37 +0000
            Re: macros, Looking for volunteers for XL Gene Wirchenko <genew@ocis.net> - 2011-12-03 17:36 -0800
              Re: macros, Looking for volunteers for XL glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2011-12-05 04:24 +0000
          Re: Looking for volunteers for XL Kaz Kylheku <kaz@kylheku.com> - 2011-12-01 05:35 +0000
            Re: designing language extensions, was Looking for volunteers for XL Marco van de Voort <marcov@toad.stack.nl> - 2011-12-03 13:02 +0000
            Re: Looking for volunteers for XL jgk@panix.com (Joe keane) - 2011-12-13 00:08 +0000
              Re: macros, was Looking for volunteers for XL Kaz Kylheku <kaz@kylheku.com> - 2011-12-13 01:39 +0000
                Re: macros, was Looking for volunteers for XL Kaz Kylheku <kaz@kylheku.com> - 2011-12-14 19:00 +0000
                Re: macros, was Looking for volunteers for XL jgk@panix.com (Joe keane) - 2011-12-15 15:40 +0000
                Re: macros, was Looking for volunteers for XL Kaz Kylheku <kaz@kylheku.com> - 2011-12-16 17:48 +0000
        Re: Looking for volunteers for XL glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2011-11-28 10:26 +0000

csiph-web