The Autolog Design Notebook (ADN) describes design requirements and
specifications for the AutoLog inference programming system, as well as testing regimens.
The ADN is a Pages generated document and is modified frequently. The ADN
is a Lab notebook documenting system proposals and development issues.
The autolog app appears on the user's desktop and can be relocated by dragging.
Double-click the app to open the Autolog editor, or drop an autolog source file
on the app to open it in the editor. Use the editor's compile button to open
the theory in the AutoLogViewer window.
~ % java -version
java version "20" 2023-03-21 Java(TM) SE Runtime Environment (build 20+36-2344) Java HotSpot(TM) 64-Bit Server VM (build 20+36-2344, mixed mode, sharing)
autolog2023-4-11.zip( download)
An unzipped autolog development directory looks somewhat like this ...
autolog/
README.html (this page)
AutoLogApp.java (Desktop App)
build20 (relevant for Java 20)
help/ ...
makezip (writes autolog.zip here)
org/ (jar -xf antlr-runtime-4.12.0.jar)
sam/ (Skolem Abstract Machine)
antlr/ (input parsers/translators)
autolog/
machine/
aliases (antlr generate lexer,parser,compile & test )
AUTOLOG.g4
Reader.java (translation parser/walker)
Compiler.java (-> sam.machine.lang)
...
lang/ (autolog machine source code components)
gui/
AutoLogAnalyzer.java (code analysis)
engine (development tests for active package -- described in ADN)
Conjunction.java
Disjunction.java
Fact.java
Functor.java
Inference.java
Rewrite.java
Rule.java
Term.java
Theory.java
Variable.java
ActiveMOD.java (concurrency testing)
active (inference runtime components)
MatchTest.java
TangleTool.java
...
active_diagram/ (dev diagram for ADN)
ActiveInference.java
ActiveRewrite.java
ActiveRule.java
ActiveTheory.java
ActiveTree.java
inference_indexing/ (dev for proof reports)
edit/ (AutoLog script editor)
util/
Info.html (built-in operators + DUOPs)
search/ (AutoLog Viewer)
symbols.txt (unicode operators)
AutoLogEditor.java
AutoLog.java
images/
Analyzer.html (Analyzer info)
Control.html (Control info)
LaTeXTree.java
TreePane.java
Index.java
Pattern.java
...
Visit https://www.antlr.org to download manna from antlr. Download antlr jars :
~/antlr-4.12.0-complete.jarUse the complete jar for generating the parsers.
~/antlr-runtime-4.12.0.jar
jar -xf antlr-runtime-4.12.0.jar
The development versions are archived using
makezip,
> source makezip <version>
This will store autolog<version>.zip in the autolog/
directory. Read the makezip file to see how it works.
NOTE: makezip removes compiled components (but NOT antlr-generated sources) before the zip.
Use build20 to recompile java components anytime (but not to generate parser-related java sources).
Read the build20 file to see how it works.
> source build20
To run AutoLogApp (editor/viewer) enabling
Java19 preview features one needs to use a command like
> java --enable-preview AutoLogApp &
I use
JavApp
mini IDE for Java projects.
The current java JDK version for Autolog development is given above,
before the link to the current zip archive.
Continue design/test for ADN, §6.6-6.12 regarding sam.machine.active components.
Any advantage for virtual threads, for concurrent inference components, seems unlikely at this time, but specific runtime experiments will continue. Similarly, structured concurrency employment needs to be tested when the inference manager (sam.machine.active.ActiveTree) becomes more functional.The anticipated runnable autolog.jar components will need to use a non-preview JDK ...
Previous archives are listed here.