Preguntas etiquetadas con language-design

Preguntas relacionadas con el diseño y la estructura de los lenguajes de programación.






1
¿Por qué Swift necesita tablas de testigos?
Estoy tratando de leer los detalles de implementación de Swift, y una cosa que no puedo precisar son sus "tablas de testigos". Parece que son un puntero vtable separado utilizado para estructuras. ¿Pero por qué necesitarías eso? Las estructuras se copian por valor, por lo que ya sabe en tiempo …

1
¿Son útiles las continuaciones de primera clase en los modernos lenguajes de programación orientados a objetos?
Las continuaciones son extremadamente útiles en lenguajes de programación funcionales (por ejemplo, la Contmónada en Haskell) porque permiten una notación simple y regular para el código de estilo imperativo. También son útiles en algunos idiomas imperativos más antiguos porque se pueden usar para implementar características de lenguaje faltantes (por ejemplo, …


3
Cómo implementar una evaluación perezosa de if ()
Actualmente estoy implementando un evaluador de expresiones (expresiones de línea única, como fórmulas) basado en lo siguiente: la expresión ingresada se tokeniza para separar booleanos literales, enteros, decimales, cadenas, funciones, identificadores (variables) Implementé el algoritmo Shunting-yard (ligeramente modificado para manejar funciones con un número variable de argumentos) para deshacer el …





1
Nombre de la técnica para inferir argumentos de tipo de un parámetro de tipo?
Configuración: supongamos que tenemos un tipo llamado Iteratorque tiene un parámetro de tipo Element: interface Iterator<Element> {} Luego tenemos una interfaz Iterableque tiene un método que devolverá un Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } El problema con Iteratorser genérico es …

4
¿Es una buena idea tener una instalación de lenguaje generador como `rendir`?
PHP, C #, Python y probablemente algunos otros lenguajes tienen una yieldpalabra clave que se usa para crear funciones generadoras. En PHP: http://php.net/manual/en/language.generators.syntax.php En Python: https://www.pythoncentral.io/python-generators-and-yield-keyword/ En C #: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/yield Me preocupa que, como característica / facilidad del lenguaje, yieldrompa algunas convenciones. Uno de ellos es a lo que me …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.