definition: |
preludeSort2SMT :: String -> [Command] preludeSort2SMT sn | take 5 sn == "Tuple" = let arity = read (drop 5 sn) texp2sel i = ("Tuple" ++ show arity ++ "_" ++ show i, SComb ('T' : show i) []) in [ Comment $ show arity ++ "-tuple type:" , DeclareDatatypes [(sn, arity, DT (map (\v -> 'T':show v) [1 .. arity]) [DCons sn (map texp2sel [1 .. arity])])]] | sn == "Pair" = pairType | sn == "Maybe" = maybeType | sn == "Either" = eitherType | sn == "Ordering" = orderingType | sn == "Unit" = unitType | otherwise = [] |
demand: |
no demanded arguments |
deterministic: |
deterministic operation |
documentation: |
--- Translates a prelude sort (with SMT name) into an SMT datatype declaration, --- if necessary. |
failfree: |
<FAILING> |
indeterministic: |
referentially transparent operation |
infix: |
no fixity defined |
iotype: |
{(_) |-> {:,[]}} |
name: |
preludeSort2SMT |
precedence: |
no precedence defined |
result-values: |
{:,[]} |
signature: |
String -> [ESMT.Command] |
solution-complete: |
operation might suspend on free variables |
terminating: |
possibly non-terminating |
totally-defined: |
possibly non-reducible on same data term |