Tiene sentido el rompecabezas de las continuaciones yin yang en un lenguaje escrito?
Esta pregunta está relacionada con "¿Cómo funciona el rompecabezas yin-yang?". El ejemplo de yin yang de continuaciones en el esquema se ve así, segúnWikipedia article:
(let* ((yin
((lambda (cc) (display #\@) cc) (call-with-current-continuation (lambda (c) c))))
(yang
((lambda (cc) (display #\*) cc) (call-with-current-continuation (lambda (c) c)))))
(yin yang))
Estoy tratando de escribir un fragmento de código equivalente en un (editar:inactivament) lenguaje escrito, como SML / NJ, pero me está dando errores de escritura. Entonces, o el rompecabezas no escribe, o estoy malentendido la sintaxis del esquema. ¿Cómo se vería el código anterior en SML u Ocaml (concallcc
extensión)?
Por cierto, ¿cuál es la fuente del rompecabezas? ¿De dónde vino
Editar Creo que sé la respuesta. Necesitamos un tipo recursivot
satisfactoriot = t -> s
para algún tipos
.
Edición de edición: No, no lo es, la respuesta es de tipo recursivot
satisfactoriot = t -> t
.