Was ich erreichen möchte, ist, Strings und Booleans in eine Liste zu übergeben. Der 'switch'-Operator schaltet die ersten beiden Elemente der Typeingabe, den' und 'Operator und die ersten beiden Elemente um.Handle Variablen nicht in Datentyp
Wie jedoch würde ich eine Fehlerzeichenfolge der Liste hinzufügen ("Fehler"), wenn ich wollte 'und' ein Boolean und eine Zeichenfolge? Außerdem akzeptiert SMl nicht x::y::xs
, was ich stattdessen setzen sollte, da ich unabhängig vom Typ wechseln möchte.
datatype input = Bool_value of bool | String_Value of string | Exp_value of string
datatype bin_op = switch | and
fun helper(switch, x::y::xs) = y::x::stack
| helper(and, Bool_value(x)::Bool_value(y)::xs) = Bool_value(x and y)::xs
Jede Hilfe geschätzt wird, danke.
Vielen Dank für die Antwort, es macht Sinn für mich jetzt. – PeskyPotato