Accidentalmente creé un scheme
Una entrada de blog juguetona sobre “crear accidentalmente” un lenguaje parecido a Scheme provoca intercambios sobre qué cuenta realmente como Scheme, tocando la regla de Greenspun y los orígenes de JavaScript como un posible Scheme en el navegador, limitado por decisiones de marketing y de sintaxis. Los comentaristas desmenuzan el título basado en memes y sin verbo para lectores no familiarizados con la jerga de internet, al tiempo que comparten recursos, anécdotas y opiniones sobre aprender y usar varios dialectos de Lisp como Common Lisp, Scheme, Clojure, Janet y Racket. El hilo destaca tanto el poder conceptual como las peculiaridades culturales de las familias de lenguajes Lisp, desde los sistemas de macros y la recolección de basura hasta la alegría (y el dolor ocasional) de escribir compiladores e intérpretes por diversión.
Título, memes y gramática deliberadamente mala
- Muchos comentarios preguntan por el verbo que falta en “I accidentally a scheme.”
- Otros lo explican como un viejo meme de internet (“I accidentally [verbo faltante] X”) y lo conectan con memes similares (“one does not simply…”, estilo LOLcat).
- Varios hablantes de ESL encuentran este uso confuso o irritante; otros sostienen que señala un tono juguetón e informal y que es un juego de palabras intencional, no un error.
- Algunos lo desmenuzan lingüísticamente (verbo omitido, chiste con adverbio como verbo, efecto de jardín engañoso).
Qué cuenta como un Scheme (y la relación de JavaScript)
- Debate sobre si JavaScript es “un Scheme”, “influenciado por Scheme” o no es Scheme en absoluto.
- Un bando dice que Scheme está bien definido (a través de sus informes), así que el JS temprano no califica.
- Otros señalan que diseñadores de lenguajes respetados han llamado a JS un Scheme, y argumentan que la taxonomía es difusa y algo vacía.
- Anécdotas históricas: JS se pensó inicialmente como Scheme-en-el-navegador, luego fue alterado por la dirección y el marketing; descrito como “Lisp con ropa de Java”.
- Se invoca la regla de Greenspun: los sistemas complejos/DSLs tienden a “accidentally a Scheme” con el tiempo.
S-types y S-expresiones
- Un comentarista recuerda unos obscuros “S-types” de una pasantía de investigación: esencialmente S-expresiones bien especificadas usadas como formato de intercambio de datos.
- Otro lo vincula con la sintaxis estandarizada de S-expresiones para sistemas criptográficos (SPKI/SDSI); le sorprende que la especificación haya sido retomada.
Aprender y usar Lisp
- Mucho entusiasmo por aprender un Lisp; muchos dicen que los programadores de Lisp parecen divertirse más.
- Recomendaciones:
- Common Lisp: rápido, maduro, con herramientas potentes.
- Clojure: buenas perspectivas laborales; enseña inmutabilidad y composición elegante; se elogian sus sitios de acertijos.
- Racket: citada como especialmente agradable.
- Janet: ligera, embebible; comunidad divertida, pero sin celdas cons tradicionales, así que a algunos les parece menos “lispera”.
- Varias personas recomiendan SICP y sus conferencias.
- Se sugieren proyectos de “escribe tu propio Lisp” (como MAL) como camino de aprendizaje, pero otros advierten que inventar tu propio dialecto en aislamiento puede limitar la comprensión de la cultura y los conceptos principales de Lisp.
Detalles de implementación, GC y estructuras de datos
- Se habla de REPLs, desarrollo basado en imágenes y restarts como partes centrales de la experiencia Lisp “divertida”.
- A algunos no les gusta el modelo de imagen/distribución de Common Lisp; otros lo sortean con flujos de trabajo basados en código fuente.
- El enfoque de Janet en arrays/tuplas provoca un debate sobre rendimiento entre listas enlazadas y arrays; algunos sostienen que las listas enlazadas rara vez son la respuesta correcta, otros enfatizan los compromisos según el problema.
- Se comenta brevemente sobre los recolectores de basura: un comentarista es ampliamente hostil al GC, otros mencionan interés en GCs alternativos (p. ej., Whiffle) y en probar GCs en otros proyectos.
Estilo de escritura del artículo enlazado
- Varios elogian la prosa del ensayo por ser juguetona, densa y “pomposa en el buen sentido”.
- Algunos señalan que este estilo es delicioso para blogs, pero sería malo para documentación técnica.