Subject: pseudo-code vs narative in specifications

From: Michael Richardson <[email-masked]>
Date: Tue, 31 Jul 2018 16:23:40 -0400

When a specification has pseudo-code, there is sometimes a desire to have a
narative.  This leads to the question of which is authoritative, and how to
validate the "as-read" narative.

Are there some examples that have worked out well that you are aware of
that we can follow the structure of?

This relates to https://datatracker.ietf.org/doc/draft-ietf-cellar-ffv1/

RFC6716 https://tools.ietf.org/html/rfc6716 has specified that the source
code is authoritative, but this has been not well received.

-- 
Michael Richardson <[email-masked]>, Sandelman Software Works
 -= IPv6 IoT consulting =-

---

From: Job Snijders <[email-masked]>
Date: Tue, 31 Jul 2018 22:37:28 +0200

> code is authoritative, but this has been not well received.

Somewhat related: RFC5575bis switched from poorly readable pseudo code to
python:

Before:
https://tools.ietf.org/html/draft-ietf-idr-rfc5575bis-04#section-5.1

After:
https://tools.ietf.org/html/draft-ietf-idr-rfc5575bis-08#section-5.1

I personally have a strong preference for actual code (any language) over
pseudo code. One can be loaded into a compiler and the other is left
entirely to the reader’s imagination :-)

The pseudo code here is an example that has led to considerable debate and
confusion in the operator community
https://tools.ietf.org/html/rfc6811#section-2.1

I don’t really care what language is used, as long as it is reasonably easy
to reproduce the results. So perl, C, Lua, python imho are good choices as
long as the version is specified.

I don’t think pseudo code can ever be authoritive.

Kind regards,

Job

---

From: Mark Nottingham <[email-masked]>
Date: Wed, 1 Aug 2018 10:10:28 +1000

FWIW, we're walking this line currently in:
  https://httpwg.org/http-extensions/draft-ietf-httpbis-header-structure.html#notational-conventions

Cheers,

> On 1 Aug 2018, at 6:23 am, Michael Richardson <[email-masked]> wrote:
> 
> 

--
Mark Nottingham   https://www.mnot.net/