Recursión y type classes para evaluador de árboles en SML
Visión general
De qué trata este proyecto.
Define el datatype Exp (Num, Var, Op de 4 operaciones, Let, IfZero). Implementa el evaluador con recursión estructural pura y entorno inmutable. Maneja errores con un tipo suma Result. Construye 12 expresiones de ejemplo cubriendo cada constructor. Documenta cada función con su intención y propiedades. Añade una mini-suite de tests con expresiones esperadas. Entrega código SML, expresiones de ejemplo, dossier didáctico con notas de diseño y guía del docente para usar en clase.
El Briefing
Lo que harás y lo que demostrarás.
Implementar un evaluador SML idiomático con recursión estructural y manejo de errores que sirva como material pedagógico de calidad.
Earning criteria — what you'll demonstrate
- Modelar un AST con datatype recursivo en SML
- Aplicar recursión estructural sobre tipos algebraicos
- Manejar errores con tipos suma sin excepciones
- Producir código pedagógico legible e idiomático
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Construir evaluadores con recursión estructural y manejo de errores como datos es la base que transfiere a cualquier lenguaje funcional (Haskell, OCaml, F#, Rust con sum types).
Este proyecto afina
- sml
- recursion
- algebraic-data-types
Ingeniero de Backend
Pensar errores como datos cambia cómo se escribe backend en Go o Rust — competencia transferible inmediatamente útil.
Este proyecto afina
- pure-functions
- pattern-matching
- algebraic-data-types