Estoy aprendiendo el esquema y hasta ahora he estado usando astucia. Realmente solo estoy aprendiendo como una forma de enseñarme un lenguaje de programación funcional, pero me gustaría publicar un proyecto de código abierto de algún tipo para reforzar el estudio, no estoy seguro de qué aún ... Soy un desarrollador web, entonces probablemente algo webby.Escribir código de esquema portátil. ¿Hay algo "estándar" más allá del R5RS mismo?
Es cada vez más evidente que la publicación de código de esquema no es muy fácil de hacer, con todas estas diferentes implementaciones y no hay normas reales más allá del núcleo del lenguaje mismo (R5RS). Por ejemplo, estoy casi seguro que va a tener que hacer IO básica en el disco y sobre un socket TCP, junto con la manipulación de cadenas, como el escaneo/expresiones regulares, que parece no estar cubierto por R5RS, a no ser que yo no estoy viendo en el documento. Parece que Scheme es más un "concepto" que un lenguaje práctico ... ¿es esta una evaluación justa? Tal vez debería buscar algo así como Haskell si quiero aprender un lenguaje de programación funcional que se preste más para usar en proyectos de código abierto.
En realidad, la cantidad de dolor no plantean las implementaciones diferentes del esquema cuando se desea publicar un proyecto de código abierto? Realmente no me gusta tener que mantener 5 funciones diferentes para cosas básicas como la manipulación de cadenas en varias implementaciones convencionales (Chicken, Guile, MIT, DrRacket). ¿Cuántas personas escriben el esquema para la compatibilidad de implementación cruzada, en lugar de estar estrechamente vinculado con las funciones de la biblioteca que solo existen en su propio esquema?
He leído http://www.ccs.neu.edu/home/dorai/scmxlate/scheme-boston/talk.html, que no me llene de confianza;)
editar | Vamos a redefinir "estándar" como "común".
Su pregunta hace pensar que R5RS es el estándar más reciente para Scheme, pero ese no es el caso. R6RS, que maneja más de lo que usted pregunta, fue publicado en 2009 y es el estándar actual del Esquema R6RS aún es demasiado pequeño para hacer muchas cosas, por lo que probablemente quiera seguir con una implementación particular. Uso (y desarrollo) Racket, pero Guile también es una opción razonable. –