This is an experimental language that wants to explore the consequences of having a language that lets dependencies of all kinds to be a first class entity. This means that a programmer can make use of the dependencies that the compiler/interpreter must keep track of anyway.
The language is meant to be primarily functional like Haskell, but still have the option of describing states whenever there is a need for it.
The syntax is meant to be kept dead simple with few exceptions and few restrictions. This means that the programmer will have a lot of freedom, probably more than is healthy. The purpose is to find out what programmers will do with that freedom before deciding what freedom is good and what isn't.
The directory layout:
File | Description |
---|---|
COPYING | License, which is Apache 2.0. |
sisdel_design.odt | A more detailed description of the language. Currently very volatile and might be completely rewritten anytime. |
REDME.md | This file, contains a short introduction. |
Makefile | Makefile to build everything. Invoke it from a separate directory so that build files will not be intermixed with source code. Use "-f /Makefile" to point the file out. |
src/ | Directory where the source code is. |
src/unit-test/ | Directory where the unit test implementation is. |
- pandoc
- dotty
- graphviz
- texlive-latex-base
- texlive-latex-recommended
- texlive-latex-extra
- texlive-fonts-recommended
- librsvg2-bin
The below mentioned should be a path outside the source directory tree.
Make sure the googletest GIT submodule has been cloned before starting
-
mkdir -p <build-dir>
-
cd <build-dir>
-
cmake <source-dir>
Now you can run make. To make the default set of target, just run make:
make
Right now this builds test applications including unit test binaries.
If you want user documentation, run doc target:
make doc
To get source code documentation, use doc-api target:
make doc-api
To run the unit tests, use:
make test
If you want to do some static analyzing for finding bugs:
make clean && scan-build make
SPDX-License-Identifier: MIT