[ANN] Logic Expressions v2.1

Daniel Altman daniel.altman at gmail.com
Thu Jun 29 03:04:10 UTC 2006


Hi all, after a lot of time, a new version of Logic Expressions is now
available on SqueakMap.


>From the package description:

This is a model of first order logic expressions, allowing you to manipulate
them as objects instead of just strings.

Prerequisites:
    -Refactoring Browser
    -SmaCC Runtime Package
    -SmaCC Development Package

Inspect the following lines to get the expression corresponding
to "(p => q) = (not p or q)":
     | p q |
     p := LVariable named: 'p'.
     q := LVariable named: 'q'.
     p => q equiv: (p not | q).

Now, the same formula could be created using:
     LExpression fromString: '{p=>q = not p or q}'

More complex formulas can also be created and evaluated, for example try:
     | exp |
     exp := LExpression fromString: '{V(x)[x even]}'.
     exp valueDomains: {'x' -> #(2 4 6 8 10 12 )}.

See more examples in the Logic-Tests category.

I hope you enjoy it!
Dany







More information about the Squeak-dev mailing list