MateFun es un lenguaje de programación funcional simple, diseñado para introducir la programación a estudiantes liceales y fortalecer la apropiación del concepto de función matemática. El sitio del proyecto menciona los siguientes principios como guía para el diseño de un lenguaje de programación para educación matemática:
La sintaxis del lenguaje fue diseñada con el objetivo de ser minimal y cercana a la notación utilizada en matemáticas. Se busca que el lenguaje se pueda asimilar rápidamente y que su relación con los conceptos matemáticos subyacentes pueda ser reconocida por los usuarios. Considerando que el público objetivo está compuesto por estudiantes de secundaria de habla hispana, las palabras clave se definieron en español, aunque existe una versión en inglés y la posibilidad de generar versiones en otros idiomas.
El compilador de MateFun es un proyecto open source. La aplicación funciona mediante línea de comando, pero puede ser usada en una consola interactiva web que permite mostrar visualizaciones y guardar archivos. Se ha desarrollado una variante del proyecto adaptada para educación primaria MateFun Infantil. Esta versión utiliza programación con bloques visuales y tiene un asistente interactivo.
MateFun se origina como proyecto del Centro Interdisciplinario en Cognición para la Enseñanza y el Aprendizaje. Tiene como objetivo generar evidencia en torno a los aportes de la enseñanza de la programación funcional para el aprendizaje de las matemáticas. Busca ser un puente entre la programación y las matemáticas, asistiendo a la asimilación de conceptos que comparten ambas disciplinas.