¿Hay algún lenguaje de programación (o sistema de tipo) en el que pueda expresar las siguientes funciones de Python de forma estática y segura (sin tener que usar moldes, verificaciones de tiempo de ejecución, etc.)?¿Cómo hacer que estas funciones tipadas dinámicamente sean seguras?
#1
:
# My function - What would its type be?
def Apply(x):
return x(x)
# Example usage
print Apply(lambda _: 42)
#2
:
white = None
black = None
def White():
for x in xrange(1, 10):
print ("White move #%s" % x)
yield black
def Black():
for x in xrange(1, 10):
print ("Black move #%s" % x)
yield white
white = White()
black = Black()
# What would the type of the iterator objects be?
for it in white:
it = it.next()
¿Es esta tarea? –
¡No! ¿Por qué piensas eso? – Dario
Estas deberían ser en dos preguntas separadas. Las consecuencias de que estén en la misma pregunta son evidentes, ya que la mayoría de las respuestas a continuación abordan cualquiera de los dos, pero no ambas. Por lo tanto, se cierra como _demasiado_. – rightfold