(.using [library [lux (.except for) ["[0]" meta] [abstract [monad (.only do)]] [control ["[0]" exception (.only exception:)] ["<>" parser ["<[0]>" code]]] [data ["[0]" text ("[1]#[0]" equivalence)] [collection ["[0]" list ("[1]#[0]" mix)]]] [macro [syntax (.only syntax:)] ["[0]" code]] [tool [compiler [version (.only Version)]]]]]) (def: .public latest Version 00,07,00) (syntax: .public (current []) (do meta.monad [it meta.version] (in (list (code.text it))))) (exception: .public invalid) (syntax: .public (for [specializations (<>.some (<>.and .text .any)) default (<>.maybe .any)]) (do meta.monad [current meta.version] (case (list#mix (function (_ [when then] choice) (if (text#= when current) {.#Some then} choice)) default specializations) {.#Some it} (in (list it)) {.#None} (meta.failure (exception.error ..invalid [])))))