Dependency ordering
[hcoop/domtool2.git] / tests / domain2.dtl
CommitLineData
629a34f6
AC
1extern type domain;
2extern val domain : domain -> Domain => [Root];
3
4extern type emailUser;
5extern type email;
6
7extern type aliasSource;
8extern val userSource : emailUser -> aliasSource;
9extern val defaultSource : aliasSource;
10extern val catchAllSource : aliasSource;
11
12extern type aliasTarget;
13extern val addressTarget : email -> aliasTarget;
14extern val addressesTarget : [email] -> aliasTarget;
15extern val dropTarget : aliasTarget;
16
17extern val aliasPrim : aliasSource -> aliasTarget -> [Domain];
18
19val alias = \user -> \email -> aliasPrim (userSource user) (addressTarget email);
20val aliasMulti = \user -> \emails -> aliasPrim (userSource user) (addressesTarget emails);
21val aliasDrop = \user -> aliasPrim (userSource user) dropTarget;
22
23val defaultAlias = \email -> aliasPrim defaultSource (addressTarget email);
24val catchAllAlias = \email -> aliasPrim catchAllSource (addressTarget email);
a3698041
AC
25
26domain "hcoop.net" with
629a34f6
AC
27 alias "schmeppo" "dlonker";
28 aliasMulti "me" ["nowhere","smelly@yikes"];
29 aliasDrop "yippo";
a3698041 30
629a34f6
AC
31 defaultAlias "billy";
32 catchAllAlias "bonkers"
a3698041 33end