Updated readme
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is failing Details

This commit is contained in:
Joe Bellus 2022-10-16 22:17:52 -04:00
parent 63b44ba3a0
commit 873d4c66ac
1 changed files with 19 additions and 7 deletions

View File

@ -4,6 +4,8 @@ A scratch pad for calcualtions.
Abacus is a lightweight scratch pad for making quick calculations. It is programatic by nature and employs a simple custom scripting language designed around calculating. The scripting lanugage is fully features and supports functions, closures, variable assignment, dataframes, sereis, primitive data types, arrays, maps, etc.
Abacus is similar to a very lightweight version of Jupyter, runs as a single binary, and using only a dozen megs of ram.
The following prebuilt binaries are provided:
- [[https://objects.5sigma.io/public/abacus/abacus-linux-amd64.tar.gz][amd64 Linux Binary]] (tar.gz)
@ -13,22 +15,23 @@ The following prebuilt binaries are provided:
[[abacus_demo.png]]
For information on the UI application visit [[abacus-ui/][Abacus UI]].
This package is broken into two projects:
- [[abacus-core][Abacus Core]] - Which contains the scirpt processing and calculation engine.
- [[abacus-ui][Abacus UI]] - The desktop application
For information on the UI application visit [[abacus-ui/][Abacus UI]]
For a scripting reference see [[./abacus-core#headline-2][Abacus Core]]
* Building the project from source
This project is broken into two projects:
- [[abacus-core][Abacus Core]] - Which contains the scirpt processing and calculation engine.
- [[abacus-ui][Abacus UI]] - The desktop application
** Rust
Download and install the rust toolkit: [[https://rustup.rs]].
** Linux
*** General Dependencies
This is a GTK4 application and as such the GTK3 development library needs to be installed:
This is a GTK3 application and as such the GTK3 development library needs to be installed:
#+begin_src sh
sudo apt-get install libgtk-3-dev
@ -61,3 +64,12 @@ Abacus is currently in early development. It employs a custom built editor which
- Math functions - Implement common mathmatical functions and constants into the scripting language
- Dataframe performance - Reduce the performance cost of converting from the scripting engine to polars
- Web/JSON support - Add HTTP requesting functionality and JSON parsing/processing to the scripting engine
* Shoulders of giants
Dependencies and technology credits:
- [[https://github.com/linebender/druid][Druid UI kit]] - The UI for Abacus is built with the Druid UI kit for rust
- [[https://github.com/pola-rs/polars][Polars]] - Dataframes are processed through the Polars data frame library
- [[https://github.com/rhaiscript/rhai][Rhai]] - The scirpting language for Abacus is derrived by extending the Rhai embedded language