RFCEsolang

From Esolang
Jump to navigation Jump to search
   Network Working Group                                          N. Seriot
   Request for Comments: 9379                        https://seriot.ch/rfc/
   Category: Experimental                                        April 2026
   
                                 RFC Esolang                               
   
   Abstract
   
      RFC Esolang is a programming language for Specification-Driven
      Development (SDD), in which the specification document is the
      source code.
   
      Execution relies on strict, literal adherence to the requirement
      levels defined in RFC 2119/8174.
   
   1.  Machine Model
   
      Registers MUST be labels in a packet diagram.  They hold unbounded
      integers and default to zero.  Overflow is somebody else's problem.
         
          0                   1                   2
          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
         +-----------+-----------+-----------+-----------+
         |  FLAG     |  N        |  LIMIT    |           |
         +-----------+-----------+-----------+-----------+
   
   2.  Instruction Set
   
      Conforming implementations only act on numbered subsection lines
      (N.M.) matching one of the patterns below.  Everything else is a
      comment and MUST be ignored by the parser.
   
         <Reg> MUST be set to <Expr>.
         <Reg> MUST be transmitted.
         Program SHOULD proceed to Section <N.M>.
         Program MUST proceed to Section <N.M>.
         Program MAY terminate.
   
      The machine maintains a reserved register named FLAG, initialized to
      zero.  The "SHOULD proceed" instruction transfers control iff FLAG is
      nonzero.  Comparison expressions evaluate to 1 when true and 0 when
      false.  Expressions use conventional arithmetic syntax.  The
      transmission channel is implementation-defined, but defaults to
      standard output.
      
      A minimal, non-normative interpreter is available at URI:
      <https://seriot.ch/rfc/rfc.py>.  Executing this document yields the
      powers of two.
   
   3.  The Powers of Two
   
   3.1.  N MUST be set to 1.
   3.2.  LIMIT MUST be set to 9379.
   3.3.  N MUST be transmitted.
   3.4.  FLAG MUST be set to LIMIT > N * 2.
   3.5.  Program SHOULD proceed to Section 3.7.
   3.6.  Program MAY terminate.
   3.7.  N MUST be set to N * 2.
   3.8.  Program MUST proceed to Section 3.3.
   
   4.  Security Considerations
   
      Implementations SHOULD ensure that compliant behavior does not
      compromise system confidentiality, integrity, or availability.  Any
      security issue is, by definition, a protocol deviation.
   
   5.  Interoperability Considerations
   
      Pre-existing RFCs MAY parse as valid RFC Esolang programs,
      constituting the language standard library.  Such behavior is
      historically accidental.