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


Groups > comp.lang.c > #402390

Re: MISRA C

From Janis Papanagnou <janis_papanagnou+ng@hotmail.com>
Newsgroups comp.lang.c
Subject Re: MISRA C
Date 2026-09-25 16:39 +0200
Organization A noiseless patient Spider
Message-ID <119612d$2aem2$2@dont-email.me> (permalink)
References (11 earlier) <1194c7i$34ldb$2@dont-email.me> <1194mqo$37fnf$3@dont-email.me> <1195gqh$23uj$1@news.muc.de> <1195qr8$2aem2$1@dont-email.me> <1195u2r$16ah$1@news.muc.de>

Show all headers | View raw


On 2026-09-25 15:48, Alan Mackenzie wrote:
> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
>> On 2026-09-25 12:01, Alan Mackenzie wrote:
>>> In comp.theory Dude <punditster@gmail.com> wrote:
> 
>>>> By banning unbounded loops and wild recursion, you ensure that every
>>>> valid program in the language is guaranteed to finish
> 
>>> No.  Besides, unbounded loops (such as event loops) are necessary.
>>> Recursion is, too, if you want to program things like tree structures.
> 
>> Note that recursion isn't "necessary" to program [operations on]
>> tree structures. It just makes the algorithms appear simpler and
>> clearer, thus recursion is a sensible technique to implement
>> application cases like those.
> 
> Some things you need to do on trees need either explicit recursion, or
> "simulated recursion", where static arrays are used to hold intermediate
> values of variables.  This approach limits the depth of a tree, possibly
> more so than the size of the stack when using explicit recursion.  We
> might just be arguing about the meaning of words here.

The difference is an explicitly programmed stack vs. an implicitly
used stack. Any practical size limitations apply to both, recursion
and iterative replacements.

(I don't know whether we are arguing about meaning of words; I was
just pointing out the non-"necessity", i.e. on the word you used.)

> 
>> WRT Dude's statement it should be mentioned that a recursive algorithm
>> can be transformed to an iterative one, so if iterative algorithms
>> would have the property to be _decidable_ to finish - actually, they
>> are not - we could also say the same for a recursive one.
> 
> Recursion can often be programmed iteratively in practice.  In theory,
> there are recursively defined functions which grow too quickly with
> increasing argument to be definable (or programmable) without recursion.

Have you functions like fib() in mind? - Despite they are cascaded
recursion you can create iterative ones. - But it's simpler; just
recognize that a recursion is using an implicit stack, so you can
write it in iterative form with an explicit stack. Even an extreme
function like Ackermann (which is more demanding) is not exempt to
that principle. - Or do you disagree? (Then please explain - best
with an example you may have in mind.)

Janis

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


Thread

MISRA C (was: buckle-up ....) Alan Mackenzie <acm@muc.de> - 2026-09-25 10:01 +0000
  Re: MISRA C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-09-25 14:52 +0200
    Re: MISRA C Alan Mackenzie <acm@muc.de> - 2026-09-25 13:48 +0000
      Re: MISRA C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-09-25 16:39 +0200
        Re: MISRA C Alan Mackenzie <acm@muc.de> - 2026-09-25 15:10 +0000
          Re: MISRA C bart <bc@freeuk.com> - 2026-09-25 16:57 +0100
          Re: MISRA C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-09-25 11:42 -0700
            Re: MISRA C Alan Mackenzie <acm@muc.de> - 2026-09-25 20:21 +0000
              Re: MISRA C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-09-25 14:05 -0700
                Re: MISRA C David Brown <david.brown@hesbynett.no> - 2026-09-26 08:43 +0200
                Re: MISRA C Alan Mackenzie <acm@muc.de> - 2026-09-26 17:55 +0000
                Re: MISRA C Ben Bacarisse <ben@bsb.me.uk> - 2026-10-03 23:55 +0100
                Re: MISRA C David Brown <david.brown@hesbynett.no> - 2026-10-04 16:10 +0200
                Re: MISRA C Ben Bacarisse <ben@bsb.me.uk> - 2026-10-05 01:22 +0100
                Re: MISRA C David Brown <david.brown@hesbynett.no> - 2026-10-05 07:59 +0200
                Re: MISRA C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-05 01:23 -0700
                Re: MISRA C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-05 01:24 -0700
                Re: MISRA C antispam@fricas.org (Waldek Hebisch) - 2026-10-05 09:02 +0000
                Re: MISRA C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-05 12:07 +0200
                Re: MISRA C Ben Bacarisse <ben@bsb.me.uk> - 2026-10-05 15:29 +0100
                Re: MISRA C antispam@fricas.org (Waldek Hebisch) - 2026-10-05 20:29 +0000
                Re: MISRA C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-06 22:13 -0700
                Re: MISRA C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-06 22:14 -0700
          Re: MISRA C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-09-27 10:52 -0700
          Re: MISRA C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-09-28 13:08 +0200
            Re: MISRA C bart <bc@freeuk.com> - 2026-09-28 13:07 +0100
            Re: MISRA C David Brown <david.brown@hesbynett.no> - 2026-09-28 14:08 +0200
              Re: MISRA C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-09-28 14:28 +0200
            Re: MISRA C Alan Mackenzie <acm@muc.de> - 2026-09-28 12:17 +0000
              Re: MISRA C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-09-28 14:40 +0200
          Re: MISRA C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-09-30 10:21 -0700
            Re: MISRA C Alan Mackenzie <acm@muc.de> - 2026-09-30 19:57 +0000
              Re: MISRA C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-09-30 13:09 -0700
                Re: MISRA C David Brown <david.brown@hesbynett.no> - 2026-10-01 08:47 +0200
                Re: MISRA C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-01 15:18 -0700
      Re: MISRA C Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-09-27 04:58 +0800
  Re: MISRA C David Brown <david.brown@hesbynett.no> - 2026-09-25 17:02 +0200
  Re: MISRA C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-09-26 15:37 -0700

csiph-web