Compilador MateFun
MateFun es un lenguaje de programación funcional muy simple, diseñado para introducir la programación a estudiantes liceales y a su vez fortalecer la apropiación delconcepto de función matemática. El compilador de MateFun es una aplicación de consola desarrollada en Haskell.
Prerequisitos
Instalación de paquetes básicos:
$ apt-get install -y ghc cabal-install git gettext locales
Descargar e instalar el probador de teoremas Z3;
$ wget https://github.com/Z3Prover/z3/releases/download/z3-4.6.0/z3-4.6.0-x64-ubuntu-16.04.zip
$ unzip z3-4.6.0-x64-ubuntu-16.04.zip
$ cp z3-4.6.0-x64-ubuntu-16.04/bin/libz3.so /usr/lib/
$ cp z3-4.6.0-x64-ubuntu-16.04/bin/z3 /usr/bin/
$ cp z3-4.6.0-x64-ubuntu-16.04/include/* /usr/include/
Compilación
Descargar el código fuente del repositorio:
$ git clone https://gitlab.fing.edu.uy/matefun/MateFun.git
Instalar dependencias de MateFun:
$ cd MateFun/
$ cabal update
$ cabal install happy
$ cabal install hgettext
$ cabal install z3
Compilar:
$ cabal build
Instalación
Instalar el ejecutable MateFun en el directorio por defecto ~/.cabal/bin
$ cabal install
Ejecución
Agregar la ruta por defecto de cabal a la variable PATH:
$ export PATH=$PATH:~/.cabal/bin
Para ejecutar MateFun simplemente:
$ MateFun
El compilador de MateFun soporta los siguientes parámetros de entrada:
Opción | Parámetro | Descripción |
---|---|---|
-c | ARCHIVO | Referencia al archivo ARCHIVO.mf para cargar sus funciones al compilador |
-p | RUTA | Referencia a la ruta donde se encuentra el archivo a referenciar (requiere opción -c) |
-f | Habilita las advertencias de uso de funciones | |
-i | Habilita las advertencias de uso de funciones aritmeticas | |
-w | Modo Web | |
-d | Habilita la detección de intersección de dominios en funciones | |
-v | Modo detallado |