Help - Programming - Tinker
Previous - Programming - Next
Tinker is the name of a dynamic logic programming tool I wrote. Here is a simple basic description of it:
Tinker is a program in which any inferences
that can be represented as the conditional or unconditional addition, deletion
or replacement of strings that make up an inputtext of strings depending on the
presence and absence of strings in the inputtext can be run so that the strings
that satisfy the given conditions are added or deleted to or replaced in the
inputtext as required.
In its simplest and most general form, Tinker runs a form like
[Knowing Qualities.
IF: §A knows §B.
§B is a §C.
DO: + §A knows a §C.]
on an inputtext like
Plato knows Socrates.
Socrates is a philosopher.
with a result like
Plato knows Socrates.
Socrates is a philosopher.
Plato knows a philosopher.
This is coded in a single class 'Tinker', that you can Install by way of a fileList in your own system, and that gets installed in its own Category 'Tinker-Setup'.
The code is here, in a downloadable zip file, that needs expansion before installing as just described. The zipfile contains Tinker01.st and a set of *.text files that need to be installed in the Squeak-directory in which you instal Tinker01.
Zipfile of Tinker02: Tinker02.zip. Note this is an intermediate working copy, recommended only for the very persistent, for the moment. (But if you know a bit about Bayesian Conditionalization there may be useful stuff in it ....)
Having installed all files as described, doing Cmd-d on
Tinker new
opens a Tinker. You can try it out yourself and use the Help-files and Examples to see whether it makes sense to you. It should work in a standard Squeak image 3.7. The files for Bayesian Conditionalization come by way of the Tinker menu - Examples - Bayes.
Have fun!
In a later version of Squeak Help I hope to explain some more about the code and the coding of Tinker, but you should be warned that you need to understand some Smalltalk and Squeak already to understand the code.
Also, you should be warned that the subject itself is a little complicated: Tinker is a kind of very simple programming language itself, coded in Squeak, that works on textfiles that are in turn - for reasons of speed - encoded as integers by Tinker.
Previous - Programming - Next