[J3] Syntax for enumeration

Ondřej Čertík ondrej at certik.us
Tue Oct 15 11:39:03 EDT 2019


Hi,

I would like to discuss some possible options for syntax for enumeration. Currently the only proposed syntax is in:

https://j3-fortran.org/doc/year/19/19-232.txt

    TYPE,ENUMERATION,PUBLIC :: my_enum
        ENUMERATOR a,b
        ENUMERATOR c
        INITIAL c
    END TYPE

    TYPE,ENUMERATION,EXTENDS(my_enum),PRIVATE :: my_extra_enums
        ENUMERATOR :: d
        ENUMERATOR,PUBLIC :: e
        ENUMERATOR,PRIVATE :: f
        INITIAL :: a
    END TYPE


and it feels very verbose. I would like to propose and discuss some simpler alternatives. First I think we should figure out the most common case:

    TYPE,ENUMERATION :: my_enum
        ENUMERATOR a,b
        ENUMERATOR c
    END TYPE

Here are some examples:

1)

    TYPE,ENUM :: my_enum
        a,b
        c
    END TYPE

2)

    TYPE,ENUM :: my_enum
        CASE a,b
        CASE c
    END TYPE

3)

    ENUM :: my_enum
        CASE a,b
        CASE c
    END ENUM

4)

    ENUM :: my_enum
        a, b, c
    END ENUM


There are other options too. I would like us to explore such simpler options.

Ondrej


More information about the J3 mailing list