No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Razonamiento con tipos

18/36
Recursos

Aportes 6

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

驴Qu茅 diferencia hay entre Class y Case Class?

Razonamiento con tipos

Tipados vs. Din谩micos

Los tipos de datos son muy importantes al momento de crear sistemas que escalen. Los tipos mantienen la consistencia de un sistema, y se vuelven una manera de probarlo.

Sistema de tipos

Los tipos son una parte cr铆tica para hacer abstracciones. Se vuelven una manera de documentar las posibilidades que tenemos. Scala, a diferencia de Java, tiene un sistema de tipos mucho m谩s potente y flexible.

El legado de ML

ML (Meta language) es un lenguaje de programaci贸n acad茅mico que ha influenciado muchos lenguajes funcionales modernos.

Proposiciones y pruebas

  • Los tipos, son proposiciones.
  • Los programas, son pruebas.

Nuestros programas son como una gran funci贸n matem谩tica. El compilador se convierte en un razonador que prueba nuestro software con base en las proposiciones que le damos.

Tipos vs String

Es un error usar Strings en vez de tipos, ya que el compilador no puede probar nada cuando hay cambios.

Definici贸n de tipos en Scala

  • Class
  • Case Class
  • Trait
  • Type alias
  • Generics
type PersonaId = Int
// defined type alias PersonaId

case class Persona(id: PersonaId, nombre:String)
// defined class Persona

type Estudiante = Persona
// defined type alias Estudiante

new Estudiante(1, "Daniel")
// res: Persona = Persona(1,Daniel)

Hice una funci贸n para derivar otras funciones, aunque no parece muy precisa.

El rasonamiento por tipos va ser muy usado y puede ser muy abastracto

El compilador nos ayuda buscar proposiciones si son faltas o verdades lo cual, es capza de detectar ese sentido

El sistema de tipados en scala, nos ayuda en la documentacion estructurada, con un lenguaje Metalanguage, es muy potente y flexible.