Proposition #1
Labels
No labels
type
bug
type
feature
type
overhaul
type
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bemmesr/liblogic#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Create a data structure which has the task of holding a single proposition of truth‐functional logic. Its instantiation should be as efficient as feasible, and it should be able to hold arbitrarily sized propositions (as limited by the computer's hardware). Specifically, propositions are formed of the following connectives:
Though no consideration needs to be given to a user interface, so each of these connectives may well be treated as a unique integer. So long as they remain distinguishable.
To pass, there ought to be a suite of tests showing that each connective alone and in combination can be used to define a proposition in this data structure, and that upon reading the structure the same proposition is preserved. That is, basic read and write into this structure should work as expected.
When it comes to the matter of ‘reading’ propositions, as there is no UI in the making yet, it seems to make more sense to simply evaluate. As such, in order to properly test even this issue on its own there must be an evaluation function. The alternative would be to create a printing function just for the purpose of testing, which would seem a shame.
For this reason, this issue will now encompass the creation of propositions as well as their evaluation plus anything else necessary in relation to these. The tests will rely on the evaluation function in order to identify if the other functions are working as expected.
Based on above comment, bemmesr/liblogic#2 is no longer needed.