Re: Bart's Language

Liste des GroupesRevenir à cl c  
Sujet : Re: Bart's Language
De : bc (at) *nospam* freeuk.com (bart)
Groupes : comp.lang.c
Date : 18. Mar 2025, 16:45:16
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vrc4eb$2p28t$1@dont-email.me>
References : 1 2 3 4
User-Agent : Mozilla Thunderbird
On 18/03/2025 15:10, Waldek Hebisch wrote:
bart <bc@freeuk.com> wrote:
On 18/03/2025 12:17, Waldek Hebisch wrote:

There were some tweaks needed; it indicates some basic info missing from
my write-up! (For example, that the function call needs to be bar() not
bar; 'const' is only for compile-time expressions; and that C's 'const'
doesn't exist - it only briefly mentions an attempt at 'let'.)
>
The revised code is shown below, with what I assumed were your
intentions.
 Well, my intentions beter correspond to the C version below:
 int foo() {
     const int c = c1(10);
     const int b = c + c2(2);
     const int a = b+c3(c);
     bar();
     baz();
     return c;
}
 Part of the question was if "execution" of declarations is
interleaved with execution of code or if declarations go
before the code.
A declaration like:
    int a := x
can be considered to be:
    int a; a := x
where the declaration can go anywhere in the scope=, but the assignment must be done here. There are languages where you have:
     print x
     where x is ...
But the typical usage pattern in my own programs is that local variable are declared before first use.
(Maybe a compiler option can enforce that, but I don't see it as critical.)

      print a
      int a:=100
>
the assignment is done at that place in the code (after print), but the
scope of 'a' is function-wide. My compiler doesn't detect accesses to
unitialised variables, but I could add a debug option to clear
stack-frame variables on function entry.)
 I see.  So your feature conflicts with C feature "variable which is
initialized at declaration time is always used initialized".
That doesn't happen here:
   int a = a;
gcc (with no extra options) tcc and bcc both put some undefined value in a.
gcc won't warn until you say '-Wextra', and then only for:
   int a = a + 1;

Date Sujet#  Auteur
18 Mar 25 * Bart's Language51bart
18 Mar 25 `* Re: Bart's Language50Waldek Hebisch
18 Mar 25  `* Re: Bart's Language49bart
18 Mar 25   `* Re: Bart's Language48Waldek Hebisch
18 Mar 25    +* Re: Bart's Language40bart
18 Mar 25    i+* Re: Bart's Language32David Brown
18 Mar 25    ii`* int a = a (Was: Bart's Language)31Kenny McCormack
18 Mar 25    ii +* Re: int a = a (Was: Bart's Language)22Janis Papanagnou
18 Mar 25    ii i+- Re: int a = a (Was: Bart's Language)1Kaz Kylheku
19 Mar 25    ii i`* Re: int a = a (Was: Bart's Language)20David Brown
19 Mar 25    ii i +- Re: int a = a (Was: Bart's Language)1Kaz Kylheku
19 Mar 25    ii i +* Re: int a = a11Keith Thompson
20 Mar 25    ii i i+* Re: int a = a9Tim Rentsch
20 Mar 25    ii i ii`* Re: int a = a8Keith Thompson
20 Mar 25    ii i ii `* Re: int a = a7David Brown
20 Mar 25    ii i ii  `* Re: int a = a6Keith Thompson
21 Mar 25    ii i ii   `* Re: int a = a5David Brown
21 Mar 25    ii i ii    `* Re: int a = a4Keith Thompson
21 Mar 25    ii i ii     +- Re: int a = a1David Brown
22 Mar 25    ii i ii     `* Re: int a = a2Tim Rentsch
22 Mar 25    ii i ii      `- Re: int a = a1Keith Thompson
20 Mar 25    ii i i`- Re: int a = a1David Brown
19 Mar 25    ii i +* Re: int a = a (Was: Bart's Language)5Chris M. Thomasson
20 Mar 25    ii i i`* Re: int a = a (Was: Bart's Language)4David Brown
20 Mar 25    ii i i `* Re: int a = a (Was: Bart's Language)3bart
20 Mar 25    ii i i  `* Re: int a = a (Was: Bart's Language)2David Brown
20 Mar 25    ii i i   `- Re: int a = a (Was: Bart's Language)1wij
20 Mar 25    ii i `* Re: int a = a (Was: Bart's Language)2Tim Rentsch
20 Mar 25    ii i  `- Re: int a = a (Was: Bart's Language)1David Brown
18 Mar 25    ii +* Re: int a = a (Was: Bart's Language)3David Brown
18 Mar 25    ii i`* Re: int a = a (Was: Bart's Language)2Janis Papanagnou
19 Mar 25    ii i `- Re: int a = a (Was: Bart's Language)1David Brown
19 Mar 25    ii `* Re: int a = a (Was: Bart's Language)5Tim Rentsch
19 Mar 25    ii  +- Re: int a = a1Keith Thompson
19 Mar 25    ii  +- Re: int a = a (Was: Bart's Language)1David Brown
19 Mar 25    ii  `* Re: int a = a (Was: Bart's Language)2Rosario19
20 Mar 25    ii   `- Re: int a = a (Was: Bart's Language)1Tim Rentsch
20 Mar 25    i`* Re: Bart's Language7Waldek Hebisch
21 Mar 25    i `* Re: Bart's Language6Keith Thompson
22 Mar 25    i  `* Re: Bart's Language5Waldek Hebisch
22 Mar 25    i   `* Re: Bart's Language4James Kuyper
22 Mar 25    i    +* Re: Bart's Language2Waldek Hebisch
23 Mar 25    i    i`- Re: Bart's Language1James Kuyper
23 Mar 25    i    `- By definition... (Was: Bart's Language)1Kenny McCormack
18 Mar 25    `* Re: Bart's Language7bart
20 Mar 25     `* Re: Bart's Language6Waldek Hebisch
21 Mar 25      +* Re: Bart's Language4Kaz Kylheku
21 Mar 25      i`* Re: Bart's Language3bart
21 Mar 25      i `* Re: Bart's Language2Kaz Kylheku
22 Mar 25      i  `- Re: Bart's Language1Tim Rentsch
21 Mar 25      `- Re: Bart's Language1bart

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal