Welcome to CybeResearch!
Here are 2 projects which push the boundaries of what is possible in the domain of Java development. The first explores the
concept of solving a query using only logic deduction while being practical at the same time. This leads to a new computer language
called TAQ, short for Template-Axiom-Query, which supports both the declarative and procedural programming
paradigms.
The second project is a contribution to lightweight Java persistence, building on the excellent
OrmLite lightweight Java persistence package to realize the blue print set out in the
JPA Architecture.
Sudoku TAQ query
query sudoku(puzzle)
(
0, 0, 2, 3,
0, 0, 0, 0,
0, 0, 0, 0,
3, 4, 0, 0
) -> (encode_puzzle)
-> (row.eliminate)
-> (col.eliminate)
-> (row.eliminate)
-> (col.eliminate)
-> (square.eliminate)
-> (square.eliminate)
-> (decode_puzzle)
-> (print_puzzle)
Running query sudoku in global scope
4, 1, 2, 3,
2, 3, 4, 1,
1, 2, 3, 4,
3, 4, 1, 2,
Taq is an abbreviation for Thermus aquaticus, a humble heat-loving bacterium which provides an
important ingredient for DNA analysis. Taq is pronounced to rhyme with "Iraq".
It is no coincidence that TAQ, the programming
language aligns with Taq, associated with DNA. Both involve pairing components to build new structures. In DNA, it is
chemical bases that are paired in the process of replcating a DNA molecule. In TAQ it is the terms of 2 structures that
are paired to form a new structure, but with an important twist - only structures which are logically equivalent are
allowed to proceed in this way.
Familiarity .with the Java programming language is essential in order to proceed. TAQ not only is coded in Java, but borrows heavily
from Java for it's expression syntax. Jpalite is targeted at Java applications requiring a robust persistence solution.
Projects are distributed from Github public repositories, so all the sources, including examples, are freely available.
Builds are performed using Maven and projects can be imported directly into all the popular IDEs that support Java development.