Entre ayer y hoy implementé varias cosas interesantes:
- Los dos patrones de iteración que tengo por ahora son map y find. Ambos ahora aceptan cotas opciones sobre el ranto de operación. Por ejemplo:
- map e in a[..k..10] { ... }
- find first x in a[j..k..i+1] { ... }
- Ahora find también soporta búsqueda desde atrás.
- find first ...
- find last ...
- Se pueden crear arreglos en cualquier punto, así como antes se podían crear variables.
- local b[|a| - 10] <- .. a[0] ..
- inicializa un arreglo de tamaño |a|-10 con todos elementos iguales a a[0]
- Diseñé una clase genérica ProverOrchestrator que permite implementar distintas estrategias para combinar provers. Por ahora hay dos estrategias:
- Simple: usar un prover en particular, si anda anda, si no no.
- Lista: usar una serie de provers en un orden prefijado. Mientras la respuesta sea unknown se va pasando al siguiente.
Con esta segunda estrategia pude demostrar que bubbleSort es correcto y preserva los elementos en el caso de arreglos sin repetidos.
No hay comentarios.:
Publicar un comentario