dylan-hackers / mindy

Mindy - minimal compiler-interpreter for Dylan
Other
21 stars 9 forks source link
compiler dylan interpreter

mindy

Mindy is an implementation of a language that is very much like the language described in the Dylan Reference Manual_ (DRM). Mindy was named for "Mindy Is Not Dylan Yet", and it still is and will probably always remain a Dylan subset, primarily because mindycomp doesn’t do enough semantic analysis to implement macros or to implement the precise semantics of Dylan naming.

What is Dylan?

... Put more info here in the near future ...

Building and Installing Mindy

Mindy has very few dependencies:

Packages for these are typically available on all platforms or may already be installed by default.

Mac OS X with homebrew (and Xcode already installed)::

brew install cmake ninja

Mindy comes with a build system that uses cmake_.

We recommend doing your build with ninja_ rather than make as it is significantly faster and therefore more enjoyable.

We also recommend using a separate directory for your build rather than doing it directly in the source directory. Fortunately, this is very easy to do.

::

mkdir build
cd build
cmake .. -G Ninja
ninja
ninja test

Building Documentation

If you want to build the documentation, make sure that you've installed Sphinx_ and then pass -DMINDY_BUILD_DOCS=ON when invoking cmake::

cmake .. -G Ninja -DMINDY_BUILD_DOCS=ON

Also, make sure that you've gotten the Git submodules along with the sources for this repository. You can do this by cloning recursively::

git clone --recursive https://github.com/project-mindy/mindy.git

If you've already cloned the repository, then you can::

git submodule update --init --recursive

The documentation will be present in your build directory in documentation/html.

Learning More

We'll link here when the documentation has been revived and placed online.

What Can You Do?

Apart from just using mindy, you're more than welcome to help us develop it further and improve it.

Why Mindy?

Since we already have Open Dylan_, why is Mindy useful?

Why not Mindy?

.. _Dylan Reference Manual: http://opendylan.org/books/drm/ .. _cmake: http://www.cmake.org/ .. _ninja: https://martine.github.io/ninja/ .. _Sphinx: http://www.sphinx-doc.org/ .. _Gitter: https://gitter.im/project-mindy/mindy .. _mailing list: https://lists.opendylan.org/mailman/listinfo/hackers .. _open issues: https://github.com/project-mindy/mindy/issues .. _open easy issues: https://github.com/project-mindy/mindy/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy .. _Open Dylan: https://github.com/dylan-lang/opendylan