Standard packets and standard programs

In a classroom situation it will not always be the case that a complete program is written from scratch. Rather the teacher will supply a packet of refinements, or even a complete program that the pupils have to use. For this reason, the Elan Programming Environment has a simple facility for reading standard packets and standard programs.

A <#451#>standard program<#451#> is a complete Elan program, to be used without modifications or additions. Its first refinement must have the name <#452#>program<#452#>.

A <#453#>standard packet<#453#> is a collection of declarations that the pupils may use in a program of their own without the necessity to type them in. None of its refinements may have the name <#454#> program<#454#>.

For reading these, a variant of the read-command has been introduced, the packet-command (<#455#>p<#455#>), which has the property that it keeps the contents of the packet practically invisible: the pupil can inspect but cannot modify or delete them.