El tutorial en el sitio web de Idris está muy bien escrito. Si está más interesado en la teoría detrás de la escritura dependiente, los “Temas avanzados en tipos y lenguajes de programación” de Benjamin Pierce profundizan en gran parte de la teoría (y es un buen seguimiento de su libro más popular de Tipos y lenguajes de programación).
También está el libro de Simon Thompson, Teoría de los Tipos y Programación Funcional, que analiza la teoría de los tipos con mucho detalle (incluida la escritura dependiente). Este está disponible en línea de forma gratuita en el enlace anterior.
Este tutorial de Agda también me ha sido recomendado varias veces, aunque todavía no lo he leído.
- Si [matemática] f (5) = 12 [/ matemática] y [matemática] f (10) = 18 [/ matemática] ¿qué significa [matemática] f (20) =? [/ Matemática] Cuándo (a) [matemática] f [/ math] es una función exponencial y (b) [math] f [/ math] es una función de potencia?
- ¿Puede un niño de diez años aprender Java, si es bueno en matemáticas?
- ¿Existe una función que crece más rápido que cualquier función computable, pero que crece a un ritmo fundamentalmente más lento que el de la función Busy Beaver?
- ¿Los ingenieros de software necesitan saber matemáticas?
- ¿Cuáles son los conceptos fundamentales de la física?
Creo que lo más importante es hacer muchas preguntas. Las comunidades detrás de estos idiomas son extremadamente útiles y todas tienen canales IRC en freenode con personas que están más que dispuestas a aclararle las cosas según sea necesario.