1. Record example - Part II

Following my last post about my ideas of records:

A record *is* a sequence. A "frozen" sequence as Tor Bernhard Gausen said ;)

The record definition declares the general form (or template) of a variable
of this type. Example:

    record Author
                sequence FistName
                sequence MiddleName
                sequence lastName
    end record

    record Book
                sequence ISBN
                sequence Title
                sequence of Author
                integer Pages
                integer Year
                sequence Publisher
                sequence Summary
                atom Price
    end record

        Author new_author

        sequence Books of Book

        new_author      ==> { sequence , sequence , sequence }
                                ==> { "", "" , ""}

        Books   ==> { { sequence , sequence , { Author }, integer , integer ,
sequence , sequence, atom} }
==> { { "" , "" , { { "" , "" , "" } } , 0 , 0 , "" , ""
                        , 0.0 } }

I've supposed as default values for sequences (""), integers (0) and atoms
(0.0). A "default" keyword, or a simple assign (=) can allow to set the
default value:

    record Author
                sequence FistName default "John"
                sequence MiddleName default ""
                sequence lastName "Smith"
    end record

        Author new_author

        new_author      == { "Jhon", "" , "Smith"}


This "merges" my opinion about records (structures) and templates.



Regards,
        Daniel   Berstein
        daber at pair.com

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu