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


Groups > comp.lang.forth > #54767

Static type checking (was: Really?)

From anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups comp.lang.forth
Subject Static type checking (was: Really?)
Date 2017-02-10 11:07 +0000
Organization Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID <2017Feb10.120729@mips.complang.tuwien.ac.at> (permalink)
References (5 earlier) <589c77b9.95886950@news.eternal-september.org> <o7huog$au5$1@dont-email.me> <589c8956.100395863@news.eternal-september.org> <87r337uoal.fsf@nightsong.com> <589d1217.135405467@news.eternal-september.org>

Show all headers | View raw


stephen@mpeforth.com (Stephen Pelc) writes:
>On Thu, 09 Feb 2017 12:01:06 -0800, Paul Rubin
><no.email@nospam.invalid> wrote:
>
>>stephen@mpeforth.com (Stephen Pelc) writes:
>>> The safety-critical version of DcocGen, DocGen/SC, has formally
>>> parsed stack comments since the year 2000.
>>
>>Does it compare the stack comment with the code?
>
>No, but if you look carefully on the MPE web site we have asked
>for people to provide to such a tool. Many have waved their hands
>but none have delivered.
>
>After Brexit, there is now no suitable source of funding for such
>a poject. If you want to see the papers, look for EuroForth papers
>by Jaanos Poial.

While Jaanus Poial has done some very good work, I don't think that
his work on static type checking of Forth is on the right track for
something that's practical for existing Forth code, or new Forth code
without too much deviation from current idioms.  Two or three students
of mine have done prototyping work on static type checking for Forth,
and the results were neither satisfying nor promising, and I have come
to the conclusion, that that's not the fault of the students:

Type checking of Forth code is hard (and static type checking is
harder), because it's hard to find good type rules beyond stack depth
checking.  E.g., is 

key 5 *

a type error?  We need more context to decide this:

key 5 * emit

That probably is a type error.

key 5 * .

Ok, for debugging, but probably a type error otherwise.

key 5 * a + char+ c@

Looks like an access to a lookup table with 5-byte entries, don't
complain.

key 5 * a + @

A potentially unaligned access to a lookup table.  Maybe complain
about lack of portability, if you are on a machine that supports
unaligned accesses.

- 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 2016: http://www.euroforth.org/ef16/

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


Thread

Really? Mark Wills <markwills1970@gmail.com> - 2017-02-06 06:46 -0800
  Re: Really? foxaudioresearch@gmail.com - 2017-02-06 07:20 -0800
  Re: Really? polymorph self <jackvanc3@gmail.com> - 2017-02-06 08:58 -0800
  Re: Really? rickman <gnuarm@gmail.com> - 2017-02-06 13:06 -0500
  Re: Really? hughaguilar96@gmail.com - 2017-02-06 11:25 -0800
  Re: Really? "HAA" <someone@microsoft.com> - 2017-02-07 11:45 +1100
  Re: Really? "Elizabeth D. Rather" <erather@forth.com> - 2017-02-06 15:38 -1000
    Re: Really? hughaguilar96@gmail.com - 2017-02-07 09:50 -0800
  Re: Really? Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-02-06 23:39 -0500
    Re: Really? Mark Wills <markwills1970@gmail.com> - 2017-02-07 08:04 -0800
    Re: Really? "HAA" <someone@microsoft.com> - 2017-02-08 11:04 +1100
      Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-07 23:42 -0800
        Re: Really? "HAA" <someone@microsoft.com> - 2017-02-08 20:12 +1100
          Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-08 02:44 -0800
          Re: Really? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-08 17:48 +0000
            Re: Really? Alex <alex@rivadpm.com> - 2017-02-08 18:43 +0000
              Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-08 15:24 -0800
            Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-08 16:26 -0800
    Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-07 22:45 -0800
      Re: Really? hughaguilar96@gmail.com - 2017-02-07 22:50 -0800
    Re: Really? clozaga@gmail.com - 2017-02-08 21:03 -0800
      Re: Really? clozaga@gmail.com - 2017-02-08 21:04 -0800
      Re: Really? hughaguilar96@gmail.com - 2017-02-11 20:01 -0800
        Re: Really? Alex <alex@rivadpm.com> - 2017-02-12 16:26 +0000
          Re: Really? hughaguilar96@gmail.com - 2017-02-12 16:52 -0800
            Re: Really? Alex <alex@rivadpm.com> - 2017-02-13 09:49 +0000
              Re: Really? minforth@arcor.de - 2017-02-13 07:03 -0800
              Re: Really? hughaguilar96@gmail.com - 2017-02-13 13:41 -0800
                Re: Really? Alex <alex@rivadpm.com> - 2017-02-13 22:32 +0000
                Re: Really? hughaguilar96@gmail.com - 2017-02-15 11:42 -0800
                Re: Really? Alex <alex@rivadpm.com> - 2017-02-15 20:41 +0000
                Re: Really? hughaguilar96@gmail.com - 2017-02-17 09:42 -0800
                Re: Really? Alex <alex@rivadpm.com> - 2017-02-17 22:22 +0000
          Re: Really? "Elizabeth D. Rather" <erather@forth.com> - 2017-02-12 19:24 -1000
            Re: Really? Alex <alex@rivadpm.com> - 2017-02-13 08:49 +0000
  Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-07 11:01 +0000
    Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-07 03:06 -0800
      Re: Really? hughaguilar96@gmail.com - 2017-02-07 09:35 -0800
      Re: Really? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-07 17:35 +0000
        Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-07 23:24 -0800
          Re: Really? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-09 08:57 +0000
            Re: Really? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-09 13:24 +0100
              Re: Really? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-11 15:32 +0000
      Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-07 20:42 +0000
        Re: Really? "Elizabeth D. Rather" <erather@forth.com> - 2017-02-07 13:58 -1000
          Re: Really? hughaguilar96@gmail.com - 2017-02-07 21:51 -0800
            Re: Really? rickman <gnuarm@gmail.com> - 2017-02-08 01:47 -0500
              Re: Really? hughaguilar96@gmail.com - 2017-02-07 22:52 -0800
                Re: Really? rickman <gnuarm@gmail.com> - 2017-02-08 03:34 -0500
                Re: Really? Alex <alex@rivadpm.com> - 2017-02-08 13:43 +0000
                Re: Really? "Elizabeth D. Rather" <erather@forth.com> - 2017-02-08 15:39 -1000
                Re: Really? hughaguilar96@gmail.com - 2017-02-08 22:39 -0800
                Re: Really? Alex <alex@rivadpm.com> - 2017-02-09 08:56 +0000
                Re: Really? hughaguilar96@gmail.com - 2017-02-09 14:36 -0800
                Re: Really? Alex <alex@rivadpm.com> - 2017-02-10 08:33 +0000
                Re: Really? Alex <alex@rivadpm.com> - 2017-02-09 09:03 +0000
                Re: Really? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-09 10:51 +0100
                Re: Really? john <anon@example.com> - 2017-02-09 11:54 +0000
                Re: Really? "Elizabeth D. Rather" <erather@forth.com> - 2017-02-09 09:30 -1000
                Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-09 14:14 +0000
                Re: Really? Alex <alex@rivadpm.com> - 2017-02-09 14:37 +0000
                Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-09 15:24 +0000
                Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-09 12:01 -0800
                Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-10 01:09 +0000
                Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-09 18:19 -0800
                Re: Really? "Elizabeth D. Rather" <erather@forth.com> - 2017-02-09 16:30 -1000
                Re: Really? hughaguilar96@gmail.com - 2017-02-09 19:16 -0800
                Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-10 16:29 +0000
                OT: [ was re: Really?] Foreign aid Alex <alex@rivadpm.com> - 2017-02-10 17:30 +0000
                Re: OT: [ was re: Really?] Foreign aid Cecil Bayona <cbayona@cbayona.com> - 2017-02-10 11:46 -0600
                Re: OT: [ was re: Really?] Foreign aid Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-02-10 11:54 -0600
                Re: OT: [ was re: Really?] Foreign aid Alex <alex@rivadpm.com> - 2017-02-10 18:05 +0000
                Re: OT: [ was re: Really?] Foreign aid Alex <alex@rivadpm.com> - 2017-02-10 17:55 +0000
                Re: OT: [ was re: Really?] Foreign aid Cecil Bayona <cbayona@cbayona.com> - 2017-02-10 12:04 -0600
                Re: OT: [ was re: Really?] Foreign aid Alex <alex@rivadpm.com> - 2017-02-10 18:07 +0000
                Re: OT: [ was re: Really?] Foreign aid Cecil Bayona <cbayona@cbayona.com> - 2017-02-10 12:57 -0600
                Re: OT: [ was re: Really?] Foreign aid Alex <alex@rivadpm.com> - 2017-02-10 19:26 +0000
                Re: OT: [ was re: Really?] Foreign aid Cecil Bayona <cbayona@cbayona.com> - 2017-02-10 14:04 -0600
                Re: OT: [ was re: Really?] Foreign aid Alex <alex@rivadpm.com> - 2017-02-11 09:35 +0000
                Re: Really? hughaguilar96@gmail.com - 2017-02-10 16:33 -0800
                Static type checking (was: Really?) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-10 11:07 +0000
                Re: Really? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-11 15:16 +0000
                Re: Really? Cecil Bayona <cbayona@cbayona.com> - 2017-02-11 10:20 -0600
                Re: Really? hughaguilar96@gmail.com - 2017-02-11 19:02 -0800
                Re: Really? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-10 17:31 +0100
                Re: Really? "Elizabeth D. Rather" <erather@forth.com> - 2017-02-08 15:34 -1000
              Re: Really? "Elizabeth D. Rather" <erather@forth.com> - 2017-02-07 21:15 -1000
              Re: Really? Paul Rubin <no.email@nospam.invalid> - 2017-02-07 23:46 -0800
        Re: Really? hughaguilar96@gmail.com - 2017-02-07 22:47 -0800
          Re: Really? Ron Aaron <rambamist@gmail.com> - 2017-02-08 08:52 +0200
    Re: Really? rickman <gnuarm@gmail.com> - 2017-02-07 06:29 -0500
      Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-07 20:47 +0000
        Re: Really? rickman <gnuarm@gmail.com> - 2017-02-07 16:23 -0500
          Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-08 09:47 +0000
            Re: Really? rickman <gnuarm@gmail.com> - 2017-02-08 05:13 -0500
              Re: Really? stephen@mpeforth.com (Stephen Pelc) - 2017-02-08 11:23 +0000
    Re: Really? Cecil Bayona <cbayona@cbayona.com> - 2017-02-07 09:49 -0600
  Really? Mark Wills <markwills1970@gmail.com> - 2017-02-09 00:30 -0800
    Re: Really? "HAA" <someone@microsoft.com> - 2017-02-10 10:32 +1100
      Re: Really? hughaguilar96@gmail.com - 2017-02-09 17:22 -0800

csiph-web