Combination Algorithm Writer (with Predicates) Stable (CAWPS), a repository that has the name Combination Algorithm Writer - Stable on GitHub is a version of Combination Algorithm Writer written following CAWMP that has the non "n and v" syntax of earlier List Prolog to prevent bugs (and which the user can convert to Prolog or List Prolog with a word processor or an as yet unwritten algorithm). CAWPS writes algorithms given specs, using an algorithm dictionary and eliminates code with singletons (without two or more instances of a variable in the predicate).
Examples of Prolog, Earlier List Prolog and List PrologEdit
- Prolog e.g.
a(B, C) :- d(E), f.
- Earlier List Prolog e.g.
[[f1, [a, b, c, d, e], (:-), [[+, [a, b, f]], [+, [c, f, g]], [+, [d, g, h]], [=, [e, h]]]]]
- List Prolog e.g.
[ [[n,function],[[v,a],[v,b],[v,c]],":-", [ [[n,+],[[v,a],[v,b],[v,c]]] ] ] ]
Elimination of CAWMP BugEdit
CAWPS is based on CAW, which backdates CAWMP. CAWMP can't solve the problem of three or more commands in a predicate, whereas CAWPS can.
While CAWPS by itself is an API, it has an optional web service that allows running CAWPS online, either locally or remotely.