The distribution is hosted at [https://github.com/ambermind/minimacy](https://github.com/ambermind/minimacy). You may either: - download a release with binaries: [https://github.com/ambermind/minimacy/releases](https://github.com/ambermind/minimacy/releases) - clone the git repository and build Minimacy yourself: >git clone https://github.com/ambermind/minimacy.git # Building Minimacy ## Windows Steps: - install visual studio 2019, 2022 or 2026: - visual studio 2019: double-click on ./windows/visual2019/minimacy.sln - visual studio 2022: double-click on ./windows/visual2022/minimacy.sln - visual studio 2026: double-click on ./windows/visual2026/minimacy.sln - make sure to select Release Configuration and x64 Platform - select menu Build/Build Solution Test: - double-click on ./topLevel.mcy and select ./bin/minimacy.exe as the default program for *.mcy files Demos: - double-click on ./programs/demo/demo.fun.maze.mcy - double-click on ./programs/demo/demo.fun.tetris.mcy - double-click on ./programs/demo/demo.fun.boing.mcy ## Linux desktop There are three versions: - minimacy: a pure console version, without any GUI - minimacyX11: a console version which can also open a window and draw stuff based on X11 - minimacyX11GL: a console version which can also open a window and draw stuff based on X11 and OpenGL On a Linux desktop, you may compile all three. Required packages: >sudo apt-get install build-essential libx11-dev libxext-dev libasound2-dev libglu1-mesa-dev Then: >cd unix >make all Test: >../bin/minimacy Demos: >../bin/minimacy ../programs/demo/demo.fun.maze.mcy >../bin/minimacyX11 ../programs/demo/demo.fun.tetris.mcy >../bin/minimacyX11GL ../programs/demo/demo.fun.boing.mcy Compared to the minimacyX11 version, the minimacyX11GL version offers two features: - Support for pure OpenGL functions, including shaders and 3D - Automatic scaling when you resize a window containing pure bitmap content Choose the minimacyX11GL version if you don't have any compatibility issues with OpenGL. It is recommended to put Minimacy in your home directory ~/minimacy It is also recommended to make it easy to start minimacy from anywhere in the Terminal. For example you can type this command first in the Terminal: >export PATH=$PATH:$HOME/minimacy/bin Or you may create a shortcut like this: >sudo ln -s $HOME/minimacy/bin/minimacy /usr/local/bin/minimacy >sudo ln -s $HOME/minimacy/bin/minimacyX11 /usr/local/bin/minimacyX11 >sudo ln -s $HOME/minimacy/bin/minimacyX11GL /usr/local/bin/minimacyX11GL ## Linux server (without UI) Required packages: >sudo apt-get install build-essential Then: >cd unix >make nox Test: >../bin/minimacy Demos: >../bin/minimacy ../programs/demo/demo.fun.maze.mcy It is recommended to put Minimacy in your home directory ~/minimacy It is also recommended to make it easy to start minimacy from anywhere in the Terminal. For example you can type this command first in the Terminal: >export PATH=$PATH:$HOME/minimacy/bin Or you may create a shortcut like this: >sudo ln -s $HOME/minimacy/bin/minimacy /usr/local/bin/minimacy ## Raspberry Pi OS 64 Required packages: >sudo apt-get install build-essential libx11-dev libxext-dev libasound2-dev libglu1-mesa-dev Then: >cd unix >make pi Test: >../bin/minimacyRPiOS64 Demos: >../bin/minimacyRPiOS64 ../programs/demo/demo.fun.maze.mcy >../bin/minimacyRPiOS64 ../programs/demo/demo.fun.tetris.mcy >../bin/minimacyRPiOS64 ../programs/demo/demo.fun.boing.mcy ## MacOs command-line There are three versions: - minimacyMac: a pure console version, without any GUI - minimacyMacX11: a console version which can also open a window and draw stuff based on X11 - minimacyMacX11GL: a console version which can also open a window and draw stuff based on X11 and OpenGL. There is no native support anymore for X11/OpenGL on MacOS, you need to install XQuartz first: [https://www.xquartz.org/](https://www.xquartz.org/). WARNING: OpenGL is not supported by XQuartz on MacOS Tahoe version! Therefore minimacyMacX11GL works only on previous versions of MacOS. We expect a new release of XQuartz to fix this issue. You may compile all three with: >cd macos/cmdline >make all Test: >../../bin/minimacyMac Demos: >../../bin/minimacyMac ../../programs/demo/demo.fun.maze.mcy >../../bin/minimacyMacX11 ../../programs/demo/demo.fun.tetris.mcy If you are running a version of MacOS older than Tahoe, you can run this openGL demo: >../../bin/minimacyMacX11GL ../../programs/demo/demo.fun.boing.mcy Compared to the minimacyMacX11 version, the minimacyX11MacGL version offers two features: - Support for pure OpenGL functions, including shaders and 3D - Automatic scaling when you resize a window containing pure bitmap content If you need OpenGL in your app on MacOS Tahoe, consider creating a Cocoa app as described in this [section](https://minimacy.net/book/#/tag/apps) It is recommended to put Minimacy in your home directory ~/minimacy It is also recommended to make it easy to start minimacy from anywhere in the Terminal. For example you can type this command first in the Terminal: >export PATH=$PATH:$HOME/minimacy/bin Or you may create a shortcut like this: >sudo ln -s $HOME/minimacy/bin/minimacy /usr/local/bin/minimacy >sudo ln -s $HOME/minimacy/bin/minimacyX11 /usr/local/bin/minimacyX11 >sudo ln -s $HOME/minimacy/bin/minimacyX11GL /usr/local/bin/minimacyX11GL # Release distribution ## Windows Unzip the Minimacy distribution somewhere. We note [minimacy] this minimacy directory. Locate the file “[minimacy]/topLevel.mcy” which is at the root of this minimacy directory. Double-click the file, Windows should ask you “How do you want to open this file?” Then select [minimacy]/bin/minimacy.exe. This will associate *.mcy files with this executable. You may as well start Minimacy from the command line: Now you can run: >[minimacy]/bin/minimacy.exe -h Then the terminal displays informations about Minimacy, including the version number. Demos: - double-click on ./programs/demo/demo.fun.maze.mcy - double-click on ./programs/demo/demo.fun.tetris.mcy - double-click on ./programs/demo/demo.fun.boing.mcy ## Linux If you need a graphic UI, you’ll have to install X11 and OpenGL. Unzip the Minimacy distribution to get the minimacy directory. It is recommended to put it in your home directory ~/minimacy It is also recommended to make it easy to start minimacy from anywhere in the Terminal. For example you can type this command first in the Terminal: >export PATH=$PATH:$HOME/minimacy/bin Or you may create a shortcut like this: >sudo ln -s $HOME/minimacy/bin/minimacy /usr/local/bin/minimacy >sudo ln -s $HOME/minimacy/bin/minimacyX11 /usr/local/bin/minimacyX11 >sudo ln -s $HOME/minimacy/bin/minimacyX11GL /usr/local/bin/minimacyX11GL Now you can run: >minimacy -h Then the terminal displays information about Minimacy, including the version number. This version is command line only. If you need the UI with openGL, start the following: >minimacyX11GL -h Demos (assuming your shell is in the minimacy directory): >./bin/minimacy ./programs/demo/demo.fun.maze.mcy >./bin/minimacyX11GL ./programs/demo/demo.fun.tetris.mcy >./bin/minimacyX11GL ./programs/demo/demo.fun.boing.mcy ## MacOS command line Unzip the Minimacy distribution to get the minimacy directory. It is recommended to put it in your home directory /Users/[login]/minimacy It is also recommended to make it easy to start minimacy from anywhere in the Terminal. For example you can type this command first in the Terminal: >export PATH=$PATH:$HOME/minimacy/bin Or you may create a shortcut like this: >sudo ln -s $HOME/minimacy/bin/minimacyMac /usr/local/bin/minimacyMac >sudo ln -s $HOME/minimacy/bin/minimacyMacX11 /usr/local/bin/minimacyMacX11 >sudo ln -s $HOME/minimacy/bin/minimacyMacX11GL /usr/local/bin/minimacyMacX11GL Now you can run: >minimacyMac -h Then the terminal displays informations about Minimacy, including the version number. This version is command line only. If you need the UI with X11 and openGL, you’ll have first to install XQuartz: [https://www.xquartz.org/](https://www.xquartz.org/). Then start the following: >minimacyMacX11GL -h WARNING: OpenGL is not supported by XQuartz on MacOS Tahoe version! Therefore minimacyMacX11GL works only on previous versions of MacOS. We expect a new release of XQuartz to fix this issue. Demos (assuming your shell is in the minimacy directory): >./bin/minimacyMac ./programs/demo/demo.fun.maze.mcy >./bin/minimacyMacX11 ./programs/demo/demo.fun.tetris.mcy >./bin/minimacyMacX11GL ./programs/demo/demo.fun.boing.mcy If you need OpenGL in your app on MacOS Tahoe, consider creating a Cocoa app as described in this [section](https://minimacy.net/book/#/tag/apps) # Syntax highlighting Syntax highlighting really helps to write and read code. Without syntax highlighting: >fun myListConcat(p, q)= > if p==nil then q > else head(p):myListConcat(tail(p), q);; With syntax highlighting: fun myListConcat(p, q)= if p==nil then q else head(p):myListConcat(tail(p), q);; Observe how the system functions (such as [[head]] and [[tail]]) appear slightly clearer than the user functions (such as myListConcat). To benefit from the syntax highlighting, you need to install an extension for your text editor. Several extensions are available. ## Vi (aka Vim) extension This describes how to install Vi extension on Unix-like system. Copy the content of [minimacy]/misc/vi_extension in your root directory: - ~/.vimrc : if you already have a .vimrc file, edit it and add the content from the Minimacy “.vimrc” file - ~/.vim/* This will let vi (aka vim) display syntax highlighting on mcy files. ## VS Code extension Install Visual Studio Code on your computer. - Open Visual Studio Code - locate the menu “Install from VSIX...” - select [minimacy]/misc/vscode_extension/minimacy/minimacy-0.0.1.vsix - follow the menu: File/Preferences/Color Theme - select Minimacy This will let VS Code display syntax highlighting on mcy files. ## VisualStudio extension This extension is for Visual Studio (2019, 2022, 2026), the historical Microsoft development software, not Visual Studio Code. - locate the '.vs' directory in [minimacy]/misc/visualstudio_extension/.vs - copy this '.vs' directory into your Windows home directory (the one containing Desktop, Documents, Downloads, Pictures, ...) - restart Visual Studio This will let Visual Studio display syntax highlighting on mcy files. ## Notepad++ extension This extension is for Notepad++ on Windows - open Notepad++ - follow the menu: Language/User Defined Language/Define your language... - click the Import button - select [minimacy]/misc/notepad++/minimacyForNotepad++.xml This will let Notepad++ display syntax highlighting on mcy files.