• Features of Subset G

    From John Cowan@21:1/5 to All on Sun Sep 11 15:13:23 2022
    I realized that I shouldn't have posted my list of proposals until I had posted what actually is in Subset G. Here's my best shot at it (other than the list of built-in functions, which I will post separately if there is interest).

    Statements:
    Structural: package (exports), procedure, begin, do, end
    Do keywords: loop, to, by, while, until
    Declarative: declare, define constant, format
    Flow of control: call, return, if,, select, leave, go to, (null), stop
    Select keywords: select, when, any/all, otherwise
    Conditions: on (snap, system), revert, signal
    Storage: allocate, free
    Assignment statement
    I/O: open, close, get, put, read, write, rewrite, delete
    Open keywords: file, title, linesize, pagesize, stream, record, input, output,
    update, sequential
    Get keywords: file, string, skip, list (do), edit
    Put keywords: file, string, skip,, list (do), edit
    Delete keywords: file, key, environment
    Read keywords, file, into, environment, key, keyto, set, sizeto
    Rewrite keywords: file, environment, key, from
    Write keywords: file, from, keyfrom, environment

    Data attributes:
    aligned, area, binary, bit, decimal, character, dimension (refer),
    entry, file, fixed, float, label, nonvarying, offset, picture, pointer,
    returns, union, varying, variable

    Non-data attributes:
    automatic, builtin, based, condition, direct, defined,
    environment, external, initial, input, internal, keyed, nonprint,
    options, output, parameter, print, record, reserved,
    sequential, static, stream, update, value

    Condition names:
    Computational: conversion, fixedoverflow, overflow, size,
    underflow, zerodivide
    I/O: beginpage, endfile, endpage, key, record, transmit, undefinedfile
    Other: condition, area, error, finish, storage

    Formats: a, b1, b2, b3, b4, e, f, p, l, tab, line, x, skip, column, r

    Operators: |: &: | ^ & = < <= > >= ^< ^= ^> || + - * / **
    unary ^ is not, binary ^ is xor

    Enquiry functions (with (: and :) around arguments):
    declaresize, null(:pointer:), minval, maxval, epsilon, radix,
    null(:pointer:), null(:label:), null(:file:), null(:offset:), null(:entry),

    Picture characters: V 9 Z $ + - S . , / B CR DB
    Iteration count in parentheses
    <...>: literal characters
    <...>> (any number of > signs): floating/drifting characters

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to John Cowan on Mon Sep 12 06:54:09 2022
    John Cowan <cowan@ccil.org> wrote:
    I realized that I shouldn't have posted my list of proposals until I had posted what actually is in Subset G. Here's my best shot at it (other
    than the list of built-in functions, which I will post separately if there is interest).

    Statements:
    Structural: package (exports), procedure, begin, do, end
    Do keywords: loop, to, by, while, until
    Declarative: declare, define constant, format
    Flow of control: call, return, if,, select, leave, go to, (null), stop
    Select keywords: select, when, any/all, otherwise
    Conditions: on (snap, system), revert, signal
    Storage: allocate, free
    Assignment statement
    I/O: open, close, get, put, read, write, rewrite, delete
    Open keywords: file, title, linesize, pagesize, stream, record, input, output,
    update, sequential
    Get keywords: file, string, skip, list (do), edit
    Put keywords: file, string, skip,, list (do), edit
    Delete keywords: file, key, environment
    Read keywords, file, into, environment, key, keyto, set, sizeto
    Rewrite keywords: file, environment, key, from
    Write keywords: file, from, keyfrom, environment

    Data attributes:
    aligned, area, binary, bit, decimal, character, dimension (refer),
    entry, file, fixed, float, label, nonvarying, offset, picture, pointer,
    returns, union, varying, variable

    Non-data attributes:
    automatic, builtin, based, condition, direct, defined,
    environment, external, initial, input, internal, keyed, nonprint,
    options, output, parameter, print, record, reserved,
    sequential, static, stream, update, value

    Condition names:
    Computational: conversion, fixedoverflow, overflow, size,
    underflow, zerodivide
    I/O: beginpage, endfile, endpage, key, record, transmit, undefinedfile
    Other: condition, area, error, finish, storage

    Formats: a, b1, b2, b3, b4, e, f, p, l, tab, line, x, skip, column, r

    Operators: |: &: | ^ & = < <= > >= ^< ^= ^> || + - * / **
    unary ^ is not, binary ^ is xor

    Enquiry functions (with (: and :) around arguments):
    declaresize, null(:pointer:), minval, maxval, epsilon, radix,
    null(:pointer:), null(:label:), null(:file:), null(:offset:), null(:entry),

    Picture characters: V 9 Z $ + - S . , / B CR DB
    Iteration count in parentheses
    <...>: literal characters
    <...>> (any number of > signs): floating/drifting characters


    No GET/PUT DATA?

    It’s easy enough to allow the programmer to specify what character he wants to use for NOT.

    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)