Laph is a program designed for use in physics labs/experiments, born out of the authors abhorrence of Excel. Instead of tables and cells, Laph uses nodes to build a DAG (Directed Acyclic Graph) of computations.
Laph includes an embedded Julia runtime, which is used to compute the graph. Each node (except for input nodes) is backed by a Julia file containing functions that map to each output socket; and this provides an enormous amount of flexibility when it comes to processing the data.
- A C++14 compliant compiler
- Qt 5.11 or higher
- Julia 1.0 or higher
- CMake 3.8.0 or higher
- Create a draggable canvas and nodes/sockets/wires
- Embed Julia
- Initial version of a lazily-evaluated graph engine
- Undo/redo [in progress]
- Unit tests
- Support for saving the node graphs (including node settings and vector data)
- Plotting support (most likely using QCustomPlot)
- Optimize the graph engine
Assuming we are in the cloned repo directory:
mkdir build && cd build
cmake ..
make
Note that the path to the Julia libraries/headers are expected to be in
JULIA_LIB_PATH
and JULIA_INCLUDE_PATH
, respectively.