The Code-Bin
Links
Home
Add your code!
All Listings
About
Latest Entry
Featured Scripts
Author's Website
Latest Entries
FFMPEG Thumbnail Scr...
PHP, 0.8KB
Jul. 29, 10:24pm
John
Z80 Assembler, 190 bytes
Feb. 17, 3:36am
John
Z80 Assembler, 176 bytes
Sep. 13, 2:19am
John
Z80 Assembler, 77 bytes
Sep. 13, 2:18am
John
Z80 Assembler, 209 bytes
Sep. 13, 2:17am
Definitions
Posted by: Agedtop | March 8, 2010 @ 2:13pm
Other Code
[
Download
]
(* We represent variables as strings containing a name *) type variable = string; (* equality on variable names *) fun eqVar (v0:variable) (v1:variable) = (v0 = v1); (* Formulas are either... *) datatype formula = True (* boolean True *) | False (* boolean False *) | Var of variable (* a simple variable *) | Not of formula (* a negation of a single formula *) | And of (formula list) (* a conjunction of several formulas *) | Or of (formula list) (* a disjunction of several formulas *) | Implies of formula * formula; (* an implication between one formula * and another *) fun getValue ((variable, value)::taila) b = if variable = b then value else getValue (taila) b | getValue (_) b = raise valueNotFound b; getValue : (variable * 'a) list -> variable -> 'a; fun evaluate a (Var part) = getValue a part | evaluate a (Not part) = not (evaluate a part) | evaluate a (Or part) = (evaluate a (hd part)) orelse (evaluate a (tl part)) | evaluate a (And part) = (evaluate a (hd part)) andalso (evaluate a (tl part)) | evaluate a (Implies part) = not(evaluate a (hd part)) orelse (evaluate a (tl part));
Syntax Highlighting
[
Open in new window
]
Author Comments
Error: operator and operand don't agree [tycon mismatch
]
operator domain: formula
operand: formula list
in expression:
(evaluate a) (tl part)
Rating
4.43 / 8
47 Votes
http://codebin.yi.org/534
page generated in 0.01 seconds