Elan has a constructive type system based on four concrete elementary
types and two mechanisms for composing types, and gives to its
users the opportunity to add further (abstract) types.
(315,160)<#4625#>
(000,150)<#4428#>type-declarer<#4428#>
109
(005,120)<#3404#>(20,20)[rt]<#3404#>
(015,120)<#4429#>(0,-1)<#3405#>100<#3405#><#4429#>
110
(000,130)<#4430#>(1,0)<#3406#>110<#3406#><#5084#>#tex2html_wrap6607#(060,010)<#5085#>type-name<#5085#><#5084#>
(1,0)<#3409#>110<#3409#><#4430#>
111
(025,120)<#3410#>(20,20)[lb]<#3410#>
(025,110)<#4431#>(1,0)<#3411#>095<#3411#> <#5091#>(040,010)<#5094#>INT<#5094#><#5091#> (040,010)
(1,0)<#3414#>095<#3414#><#4431#>
(255,120)<#3415#>(20,20)[rb]<#3415#>
112
(025,100)<#3416#>(20,20)[lb]<#3416#>
(025,090)<#4432#>(1,0)<#3417#>095<#3417#> <#5100#>(040,010)<#5103#>REAL<#5103#><#5100#> (040,010)
(1,0)<#3420#>095<#3420#><#4432#>
(255,100)<#3421#>(20,20)[rb]<#3421#>
113
(025,080)<#3422#>(20,20)[lb]<#3422#>
(025,070)<#4433#>(1,0)<#3423#>095<#3423#> <#5109#>(040,010)<#5112#>BOOL<#5112#><#5109#> (040,010)
(1,0)<#3426#>095<#3426#><#4433#>
(255,080)<#3427#>(20,20)[rb]<#3427#>
114
(025,060)<#3428#>(20,20)[lb]<#3428#>
(025,050)<#4434#>(1,0)<#3429#>095<#3429#> <#5118#>(040,010)<#5121#>TEXT<#5121#><#5118#> (040,010)
(1,0)<#3432#>095<#3432#><#4434#>
(255,060)<#3433#>(20,20)[rb]<#3433#>
115
(025,040)<#3434#>(20,20)[lb]<#3434#>
(025,030)<#4435#>(1,0)<#3435#>005<#3435#> <#5127#>(040,010)<#5130#>ROW<#5130#><#5127#> (040,010)
(1,0)<#3438#>030<#3438#><#5132#>#tex2html_wrap6641#(060,010)<#5133#>cardinality<#5133#><#5132#>
(1,0)<#3441#>030<#3441#><#5135#>#tex2html_wrap6645#(060,010)<#5136#>type-declarer<#5136#><#5135#>
(1,0)<#3444#>005<#3444#><#4435#>
(255,040)<#3445#>(20,20)[rb]<#3445#>
116
(025,020)<#3446#>(20,20)[lb]<#3446#>
(025,010)<#4436#>(1,0)<#3447#>020<#3447#> <#5142#>(040,010)<#5145#>STRUCT<#5145#><#5142#> (040,010)
(1,0)<#3450#>030<#3450#> <#5151#>(010,010)<#5154#>(<#5154#><#5151#> (010,010)
(1,0)<#3453#>030<#3453#><#5156#>#tex2html_wrap6661#(040,010)<#5157#>fields<#5157#><#5156#>
(1,0)<#3456#>030<#3456#> <#5163#>(010,010)<#5166#>)<#5166#><#5163#> (010,010)
(1,0)<#3459#>020<#3459#><#4436#>
(255,020)<#3460#>(20,20)[rb]<#3460#>
117
(265,020)<#4437#>(0,1)<#3461#>100<#3461#><#4437#>
(275,120)<#3462#>(20,20)[lt]<#3462#>
118
<#4625#>