This is just a toy project for me to practice Scheme, and put into practice some of the things I learned reading the Little Schemer and SICP.
It is a simple CLI database for storing URLs. Each entry in the database has a title, url, a list of tags and a description.
An example database is given in the repository with the file db-example. Some other code examples are available in code-examples.
Chicken Scheme is required to compile the program.
This is the preferred way because it will install automatically all the required dependencies. To compile the program without installing-it run:
chicken-install -n
First install the eggs list-utils and gnuplot-pipe, then to
compile the program using a makefile simply run:
make
It is also possible to run the program using the csi interpreter:
csi -s main.scm -h
The above command prints the help of the program.
To run the unit tests:
chicken-install -n -test
To run the tests simply run the following command:
make test
Prints help information on how to use the program:
./sdb -h
Prints all the titles of the database:
./sdb -l db-example.scm -g tags
Searches for all the entries that have at least the tag prompted by the user. For example, enter "search" to have all the entries that have at least the tag search.
./sdb -l db-example.scm -s tags-or
./sdb -l db-example.scm -p
./sdb -l db-example.scm -e tsv