recursion - Recursing Binary Decision Diagrams in SML -
in 1 of classes @ university, learning functional programming through sml/nj. i have been given assignment requires perform number of operations on binary decision diagrams. (conjunction, disjunction, not, etc.) based on truth table i have following function defined fun ifthenelse(p,q,r) = if p q else r; then, have bdd (robdd) datatype declared such datatype robdd = true | false | ifthenelse of string * robdd * robdd; so far straightforward. i'm getting lost on operating on bdd's, instance, creating robdd represents conjunction of 2 robdd's. my function declaration far looks this infix bddand; fun op bddand(first:robdd,second:robdd) = ... it called 2 robdd's, this val conjunction = ifthenelse("p", true, false) bddand ifthenelse("q", true, false); from here, i'm not sure start. professor has given hint: of course, true bddand anyrobdd anyrobdd . ordering: if you’re asked comp...