Commit 7a1cb28f authored by Pietro Abate's avatar Pietro Abate
Browse files

[r2002-10-24 14:25:17 by cvscast] Empty log message

Original author: cvscast
Date: 2002-10-24 14:25:17+00:00
parent a054f94b
type Person = FPerson | MPerson;;
type FPerson = <person gender=["F"]>[ Name Children ];;
type MPerson = <person gender=["M"]>[ Name Children ];;
type Children = <children>[Person*];;
type Name = <name>[String];;
type Person = FPerson | MPerson;; type FPerson = <person gender='F'>[
Name Children ];; type MPerson = <person gender='M'>[ Name Children
];; type Children = <children>[Person*];; type Name = <name>[String];;
type Man = <man>[ Name Sons Daughters ];;
type Woman = <woman>[ Name Sons Daughters ];;
......@@ -11,7 +9,7 @@ type Daughters = <daughters>[ Woman* ];;
let fun sort (MPerson -> Man ; FPerson -> Woman)
<person gender=g>[ n <children>[(mc::MPerson | fc::FPerson)*] ] ->
let tag = match g with ["F"] -> `woman | ["M"] -> `man in
let tag = match g with 'F' -> `woman | 'M' -> `man in
let s = map mc with (x & MPerson) -> sort x in
let d = map fc with x -> sort x in
<(tag)>[ n <sons>s <daughters>d ]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment