7.6

Entrega 0

deadline: 03 de Septiembre 2021

⚠ Importante

Dado que esta entrega inicial es una introducción a OCaml, deberá ser realizada de manera individual. Es importante que cada uno tenga un buen manejo del lenguaje lo antes posible.

Recuerden las reglas del código de conducta.

Objetivos básicos de la entrega:

Distribución de puntaje:

1 Para empezar

El código de referencia que tiene que usar está en el branch entrega0 del repositorio Git CDI-reference.

$ git clone https://github.com/pleiad/CDI-reference.git
$ git checkout entrega0

Explore las carpetas, los distintos archivos, y asegurese de poder ejecutar el interprete, los tests, y de poder probar el interprete de manera interactiva en utop.

Vean el video de introducción. Cualquier pregunta, use el foro de U-cursos.

2 Simplificaciones de expresiones aritméticas

Añada a interp.ml una función simplify : exp -> exp para hacer optimizaciones usando las siguientes ecuaciones:

¡No se olvide de escribir los tests! También adapte las simplificaciones cuando la representación de exp cambia.

3 Extensiones del interprete

Siguiendo el ejemplo de este interprete en Racket, extienda el lenguaje con:

¡No se olvide de escribir los tests!

4 Mecanismo de Entrega

Para esta entrega individual debe subir a la tarea en UCursos: