Supongo que cuando dices “matemáticamente”, te refieres formalmente. La formalidad en los lenguajes de programación se refiere a dos cosas separadas: una es la sintaxis, la otra es la semántica. La sintaxis se puede describir con notación BNF (Backus-Naur Form). La semántica de los tipos consiste en atribuir cada expresión y cada valor con un tipo. Los tipos de expresiones son estáticos (conocidos en tiempo de compilación). Los tipos de valores pueden ser dinámicos (conocidos en tiempo de ejecución).
Para tipos estáticos (tipos de expresiones):
Las conversiones de tipos son expresiones en el lenguaje que tienen una sintaxis definida (descrita formalmente con BNF) y la semántica son las reglas que describen cómo cambia el atributo de tipo de toda la expresión cuando se usa esta sintaxis.
Para tipos dinámicos (tipos de):
Cada valor tiene un tipo y no se puede cambiar sin cambiar el valor. Por lo tanto, cambiar un tipo de valor significa cambiar el valor. Y estos son como cualquier función regular que acepta un argumento de un tipo y devuelve un valor de otro.
- ¿Cuáles son algunos de los divertidos libros de matemáticas que puede leer una persona de nivel secundario?
- ¿Cómo podemos abordar para resolver el problema de 'Infinite House of Pancakes' de Google Code Jam 2015?
- ¿Qué son los bitcoins? ¿Cómo trabajan? ¿Por qué deberían ser utilizados?
- ¿Cuál es la diferencia entre el aprendizaje PAC y el aprendizaje agnóstico PAC?
- ¿Cuántas matemáticas se necesitan en la codificación?
Tenga en cuenta que la descripción anterior es válida para lenguajes tipados estáticamente como C, C ++ o C #. En las expresiones de tipo dinámico, como Python, no hay tipos estáticos, solo los dinámicos.