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


Groups > comp.lang.forth > #60663

Factor (was: Starting Forth)

From anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups comp.lang.forth
Subject Factor (was: Starting Forth)
Date 2017-06-12 16:16 +0000
Organization Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID <2017Jun12.181647@mips.complang.tuwien.ac.at> (permalink)
References <6dd217bf-ba96-4359-8d89-5eb584a9b1ea@googlegroups.com> <ohhos5$1lgv$1@gioia.aioe.org> <2d86868a-15e0-46fd-9754-40de5654300b@googlegroups.com> <c807d9be-91e0-4c29-b998-1584f8196dd1@googlegroups.com> <91691e59-e568-4d60-bc4b-0350a0e4ba84@googlegroups.com>

Show all headers | View raw


Julian Fondren <julian.fondren@gmail.com> writes:
>When someone comes out with an incompatible Forth-like language, the
>first question to answer is "Why didn't you just extend Forth?" You
>have the most extensible language in existence (although not
>tamely extensible to all things), and instead of building on it you
>build some new thing that in Factor's case A) runs on only three x86
>OSes, and B) has only a single implementation with a single set of
>tradeoffs. What, besides the ego of the creator, was the point?

In the case of Factor, the point is that it is a managed language: The
Factor system has type information on the data that it uses for dyamic
and partially static type checking, and for supporting garbage
collection.  And that can have quite a lot of advantages when
designing library functions.

If you want to go there, extending a normal Forth does not appear to
be a very viable approach to me.  And the result will be so different
that I don't see a benefit to extending a normal Forth.  Mixing normal
Forth with the managed part would destroy various invariants that the
run-time system relies on, unless the Forth code obeys the
restrictions that are necessary to keep them up; but then you are in
the foreign managed world instead of in the familiar low-level Forth
world.

So, his point was that he wanted to go there, and actually went there.

That being said, my experience with Factor has been rather miserable:
At the Forth-Tagung 2012 there was a Factor workshop, and we were
given the task to do something, and the first steps went well, and
then there was some step that rubbed the static type checker the wrong
way, and I could not get it to work, no matter what I tried; some
others achieved that step, but their advice did not help me.

My impression is that the static type checker has a rather fractal
surface: sometimes it decides that this is something it can check
statically, and then it may complain about something that the dynamic
checker would not complain about, and other times, it leaves the field
to the dynamic checker, which is much more reasonable.

But that impression is based on playing around with it for half an
afternoon.  I am sure if you get more familiar with it, you learn to
deal with this issue and it soon becomes a non-issue.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2017: http://www.euroforth.org/ef17/

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Starting Forth christopherdumas@gmail.com - 2017-06-10 07:15 -0700
  Re: Starting Forth christopherdumas@gmail.com - 2017-06-10 07:19 -0700
  Re: Starting Forth Melzzzzz <Melzzzzz@zzzzz.com> - 2017-06-10 14:35 +0000
    Re: Starting Forth christopherdumas@gmail.com - 2017-06-10 07:43 -0700
      Re: Starting Forth rickman <gnuarm@gmail.com> - 2017-06-11 12:44 -0400
        Re: Starting Forth christopherdumas@gmail.com - 2017-06-11 20:44 -0700
    Re: Starting Forth gavino himself <jackvanc3@gmail.com> - 2017-06-12 12:52 -0700
  Re: Starting Forth new@to.forth - 2017-06-10 15:19 +0000
    Re: Starting Forth christopherdumas@gmail.com - 2017-06-10 08:27 -0700
      Re: Starting Forth christopherdumas@gmail.com - 2017-06-10 08:29 -0700
        Re: Starting Forth hughaguilar96@gmail.com - 2017-06-10 15:34 -0700
          Re: Starting Forth christopherdumas@gmail.com - 2017-06-10 15:56 -0700
            Re: Starting Forth christopherdumas@gmail.com - 2017-06-10 15:57 -0700
              Re: Starting Forth rickman <gnuarm@gmail.com> - 2017-06-15 11:52 -0400
      Re: Starting Forth new@to.forth - 2017-06-10 21:38 +0000
        Re: Starting Forth christopherdumas@gmail.com - 2017-06-10 15:53 -0700
        Re: Starting Forth NN <november.nihal@gmail.com> - 2017-06-12 05:36 -0700
          Re: Starting Forth christopherdumas@gmail.com - 2017-06-12 07:02 -0700
            Re: Starting Forth Julian Fondren <julian.fondren@gmail.com> - 2017-06-12 08:29 -0700
              Factor (was: Starting Forth) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-06-12 16:16 +0000
                Re: Factor (was: Starting Forth) hughaguilar96@gmail.com - 2017-06-12 10:26 -0700
                Re: Factor (was: Starting Forth) NN <november.nihal@gmail.com> - 2017-06-12 11:25 -0700
                Re: Factor (was: Starting Forth) hughaguilar96@gmail.com - 2017-06-12 17:16 -0700
                Re: Factor (was: Starting Forth) gavino himself <jackvanc3@gmail.com> - 2017-06-12 13:05 -0700
                Re: Factor (was: Starting Forth) mhx@iae.nl - 2017-06-12 11:08 -0700
                Re: Factor (was: Starting Forth) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-06-13 16:31 +0000
              Re: Starting Forth christopherdumas@gmail.com - 2017-06-14 07:49 -0700
                Re: Starting Forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-06-14 11:50 -0500
                Re: Starting Forth hughaguilar96@gmail.com - 2017-06-14 21:18 -0700
              Re: Starting Forth Cecil Bayona <cbayona@cbayona.com> - 2017-06-14 10:02 -0500
                Re: Starting Forth Julian Fondren <julian.fondren@gmail.com> - 2017-06-14 08:49 -0700
                Re: Starting Forth stephen@mpeforth.com (Stephen Pelc) - 2017-06-14 16:45 +0000
                Re: Starting Forth Mark Wills <markwills1970@gmail.com> - 2017-06-14 09:05 -0700
                Re: Starting Forth Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-06-14 19:05 +0100
                Re: Starting Forth hughaguilar96@gmail.com - 2017-06-14 21:43 -0700
                Re: Starting Forth Julian Fondren <julian.fondren@gmail.com> - 2017-06-14 22:03 -0700
                Re: Starting Forth Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-06-15 21:50 +0100
    Re: Starting Forth foxaudioresearch@gmail.com - 2017-06-10 09:22 -0700
      Re: Starting Forth foxaudioresearch@gmail.com - 2017-06-10 09:40 -0700
      Re: Starting Forth Cecil Bayona <cbayona@cbayona.com> - 2017-06-10 12:21 -0500
  Re: Starting Forth Julian Fondren <julian.fondren@gmail.com> - 2017-06-10 14:30 -0700
    Re: Starting Forth christopherdumas@gmail.com - 2017-06-10 15:50 -0700

csiph-web