2012-03-04 28 views

Respuesta

17

deftype y defprotocol definen el comportamiento dinámico en Clojure. En Racket, haríamos cosas como esa con struct o struct-property, aunque no hay nada como defprotocol en Racket.

Editar: Raqueta ahora tiene generics, que son como los protocolos de Clojure.

reify y extend, creo que corresponden a los usos de make-struct-type en Racket, que crea nuevos tipos de estructura de forma dinámica.

La gran diferencia entre Typed Racket y todas estas características es que Typed Racket comprueba su programa estáticamente - antes de intentar ejecutarlo. Nunca puede aplicar el acceso incorrecto en un programa de Raqueta mecanografiada, o usar un número como función. Ni siquiera puedes ejecutar un programa que pueda tener un error como ese.

En la actualidad, las características de Clojure que más se parecen a la raqueta modificada son las anotaciones que utiliza para el rendimiento.

Edit: Ahora está Typed Clojure de Ambrose Bonnaire-Sergeant, que está inspirado y basado en Typed Racket.

Cuestiones relacionadas