{{The most common kinds of domain configuration}} val default_node : (node) = "mire"; val web_node : (web_node) = "mire"; val webAt = \ n : (web_node) -> \ host : (host) -> \\ config : Vhost -> (dns (dnsA host (ip_of_node (web_node_to_node n))); vhost host where WebNodes = [n] with config end); val web = webAt web_node; val dom = \ d : (your_domain) -> \\ config : Domain -> domain d with dns (dnsNS "ns1.hcoop.net"); dns (dnsNS "ns3.hcoop.net"); dns (dnsDefaultA (ip_of_node default_node)); handleMail; dns (dnsMX 1 "deleuze.hcoop.net"); mailbox <- Mailbox; catchAllAlias mailbox; web "www" with end; config end; val nameserver = \host -> dns (dnsNS host); val dnsIP = \from -> \to -> dns (dnsA from to); val dnsMail = \num -> \host -> dns (dnsMX num host); val dnsAlias = \from -> \to -> dns (dnsCNAME from to);