Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,24 @@
(de truthTable (Expr)
(let Vars
(uniq
(make
(setq Expr
(recur (Expr) # Convert infix to prefix notation
(cond
((atom Expr) (link Expr))
((== 'not (car Expr))
(list 'not (recurse (cadr Expr))) )
(T
(list
(cadr Expr)
(recurse (car Expr))
(recurse (caddr Expr)) ) ) ) ) ) ) )
(for V Vars
(prin (align -7 V)) )
(prinl)
(bind (mapcar cons Vars)
(do (** 2 (length Vars))
(for "V" Vars
(space (if (print (val "V")) 6 4)) )
(println (eval Expr))
(find '(("V") (set "V" (not (val "V")))) Vars) ) ) ) )

View file

@ -0,0 +1,43 @@
: (truthTable (str "A and (B or C)"))
A B C
NIL NIL NIL NIL
T NIL NIL NIL
NIL T NIL NIL
T T NIL T
NIL NIL T NIL
T NIL T T
NIL T T NIL
T T T T
: (truthTable (str "not (Foo and (Bar or Mumble))"))
Foo Bar Mumble
NIL NIL NIL T
T NIL NIL T
NIL T NIL T
T T NIL NIL
NIL NIL T T
T NIL T NIL
NIL T T T
T T T NIL
: (truthTable (str "(A xor B) and (B or C)"))
A B C
NIL NIL NIL NIL
T NIL NIL NIL
NIL T NIL T
T T NIL NIL
NIL NIL T NIL
T NIL T T
NIL T T T
T T T NIL
: (truthTable (str "(A xor B) and ((not B) or C)"))
A B C
NIL NIL NIL NIL
T NIL NIL T
NIL T NIL NIL
T T NIL NIL
NIL NIL T NIL
T NIL T T
NIL T T T
T T T NIL