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


Groups > comp.lang.c > #389714

Re: transpiling to low level C

From Keith Thompson <Keith.S.Thompson+u@gmail.com>
Newsgroups comp.lang.c
Subject Re: transpiling to low level C
Date 2024-12-17 12:13 -0800
Organization None to speak of
Message-ID <87ldwe6pb8.fsf@nosuchdomain.example.com> (permalink)
References (5 earlier) <vjps0l$18hon$1@dont-email.me> <vjq36r$19sis$1@dont-email.me> <vjqcut$1bld5$1@dont-email.me> <877c7z85t2.fsf@nosuchdomain.example.com> <vjs871$1q22j$1@dont-email.me>

Show all headers | View raw


bart <bc@freeuk.com> writes:
> On 17/12/2024 01:19, Keith Thompson wrote:
>> bart <bc@freeuk.com> writes:
>> [SNIP]
>>> In that case I've no idea what you were trying to say.
>>>
>>> When somebody says that 'goto' can emulate any control structure, then
>>> clearly some of them need to be conditional; that is implied.
>>>
>>> Your reply suggested they you can do away with 'goto', and use
>>> recursive functions, in a scenario where no other control structures
>>> need exist.
>>>
>>> OK, if this is not for an IL, then it's not a language I would care
>>> for either. Why tie one hand behind your back for no good reason?
>> I read Janis's post.  I saw a suggestion that certain constructs are
>> *theoretically* unnecessary.  I saw no suggestion of any advocacy for
>> such an approach.
>> """
>> A 'goto' may be used but it isn't strictly *necessary*. What *is*
>> necessary, though, that is an 'if' (some conditional branch), and
>> either 'goto' or recursive functions.
>> """
>
> This doesn't actually make much sense. So 'goto' is necessary, but
> 'goto' *is*?

I presume you didn't write what you intended to write.  Responding to
what I *think* you meant :

Either
    "if" and "goto"
or
    "if" and recursive functions
are theoretically sufficient to express certain kinds of algorithms
(I'm handwaving a bit).  Which implies that "goto" is not strictly
necessary.  It also implies that recursive functions are not strictly
necessary if you have "goto".

Since this is comp.lang.c, not comp.theory (or what comp.theory was
intended to be), I'm not going to go into the details, nor am I going to
take the time to express the concept in mathematically rigorous terms.

> If you try to extract any meaning, it is that any control flow can be
> expressed either with 'goto' or with 'recursive functions'.

Yes, either of those plus "if".  It appears you understand the point.

> This is what I picked up on. Who on earth would eschew 'goto' and use
> such a disproportionately more complex and inefficient method like
> recursive functions?

Perhaps it wasn't clear initially, but it should be by now,
that Janis was talking about what's theoretically sufficient to
express general algorithms.  You seized on the silly idea that
Janis was *advocating* the use of one of the two minimal methods in
an intermediate language for a compiler.  The idea Janis brought
up (briefly, in passing) is about theoretical computer science,
not practical software engineering.  (Janis, please correct me if
I'm mistaken.)

Repeatedly asking why anyone would do such a thing misses the point.

[...]

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */

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


Thread

transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 00:05 -0300
  Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-15 04:31 +0000
    Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 07:44 -0300
      Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-15 22:22 +0000
        Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 20:22 -0300
          Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-16 01:02 -0600
            Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-16 08:17 -0300
            Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-16 11:46 +0000
            Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-16 19:44 +0000
            Re: transpiling to low level C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-12-16 13:59 -0800
              Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-16 23:36 +0000
  Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-14 20:39 -0800
    Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 07:49 -0300
      Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-15 13:01 -0800
        Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2025-02-15 21:01 -0800
          USENET and spam (Was: Re: transpiling to low level C) Salvador Mirzo <smirzo@example.com> - 2025-02-16 10:17 -0300
  Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-15 11:28 +0000
    Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 08:46 -0300
      Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 09:13 -0300
  Re: transpiling to low level C Bonita Montero <Bonita.Montero@gmail.com> - 2024-12-15 20:08 +0100
    Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-15 21:32 +0000
      Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-15 17:53 -0600
        Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-16 10:36 +0100
        Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-16 08:21 -0300
          Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-17 01:03 -0600
            Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 14:55 -0300
              Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 14:59 -0300
                Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 15:16 -0300
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 18:37 +0000
                Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 16:07 -0300
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 19:42 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 12:51 -0600
                Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-18 16:43 -0300
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 18:27 -0600
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-19 00:35 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 23:46 -0600
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-19 11:27 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-19 14:36 -0600
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-20 05:10 -0600
                Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-23 02:08 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-23 05:15 -0600
              Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-17 13:07 -0600
                Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 16:33 -0300
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 12:51 -0600
                Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-21 05:34 +0000
        Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-16 18:12 +0100
          Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-16 18:37 +0000
            Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-16 21:39 +0100
              Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-16 23:26 +0000
                Re: transpiling to low level C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-12-16 17:19 -0800
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-17 00:40 -0600
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 16:17 +0000
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-17 18:18 +0100
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-17 18:46 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 22:45 +0000
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-18 00:23 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-18 01:24 +0000
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-18 03:51 +0000
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-18 17:26 +0100
                Re: transpiling to low level C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-12-17 12:13 -0800
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-18 17:19 +0100
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-17 18:29 +0100
          Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-20 17:28 -0800
            Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-21 21:31 +0100
              Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-21 13:51 -0800
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 01:22 +0100
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-13 08:10 -0800
              Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-22 00:20 +0200
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 01:13 +0100
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-22 02:18 +0200
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 01:39 +0100
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-22 03:04 +0200
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 03:06 +0100
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-22 17:39 -0800
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-23 02:41 +0000
                Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-23 08:43 +0100
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-25 00:51 -0600
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-28 09:20 -0800
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-04 12:12 -0800
                Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2025-01-04 12:53 -0800
                Re: transpiling to low level C Ben Bacarisse <ben@bsb.me.uk> - 2025-01-05 11:18 +0000
                Re: transpiling to low level C James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-01-05 12:04 -0500
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-07 21:38 -0800
                Re: transpiling to low level C James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-12-21 22:17 -0500
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 19:51 +0100
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-06-06 11:50 -0700
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 13:02 -0800
                Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-23 13:25 -0800
                Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-23 15:50 -0800
              Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-22 06:01 +0000
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-22 11:22 +0200
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-22 11:35 +0000
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-22 10:38 -0800
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-22 19:44 +0000
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-04 11:18 -0800
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 20:41 +0100
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-23 00:20 +0200
                Re: transpiling to low level C scott@slp53.sl.home (Scott Lurndal) - 2024-12-23 15:41 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-23 15:51 +0000
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-23 18:05 +0200
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 14:05 -0800
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-22 23:29 +0000
                Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-23 09:46 +0100
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-23 11:35 +0000
                Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-23 13:18 +0100
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-23 13:40 +0200
                Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-23 13:24 +0100
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 13:18 -0800
                Re: transpiling to low level C Ben Bacarisse <ben@bsb.me.uk> - 2024-12-24 00:41 +0000
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 20:55 -0800
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-25 03:41 -0600
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-25 15:43 -0600
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-28 09:24 -0800
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-28 13:59 -0600
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-31 04:57 -0800
                Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-23 13:28 -0800
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 14:00 -0800
              Re: transpiling to low level C Ben Bacarisse <ben@bsb.me.uk> - 2024-12-22 14:19 +0000
                Re: transpiling to low level C Ben Bacarisse <ben@bsb.me.uk> - 2024-12-22 15:30 +0000
              Re: transpiling to low level C Kaz Kylheku <643-408-1753@kylheku.com> - 2024-12-22 21:45 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-22 23:22 +0000
                Re: transpiling to low level C Kaz Kylheku <643-408-1753@kylheku.com> - 2024-12-22 23:47 +0000
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-22 17:22 -0800
        Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-16 21:23 +0000
          Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-17 11:16 +0200
          Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 12:04 +0000
            Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-17 12:51 -0600
              Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-18 12:08 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 12:50 -0600
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-18 23:37 +0000
            Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-17 19:40 +0000
              Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 19:45 +0000
                Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-17 22:25 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 22:55 +0000
                Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-18 05:55 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-19 00:32 +0000
    Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-16 21:22 +0000
      Re: transpiling to low level C Rosario19 <Ros@invalid.invalid> - 2024-12-26 13:16 +0100
  Re: transpiling to low level C User One <noreply@invalid.com> - 2025-02-09 17:51 +0000
    Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2025-02-09 12:43 -0800

csiph-web