Pregunta

He visto unos cuantos pregunta relacionada con lenguajes esotéricos (o no) de programación favorito de los usuarios stackoverflow. También hay cuestiones relativas a la aplicación de las lenguas. Sin embargo, tenía curiosidad para ver si alguno de ustedes realmente han escrito su propio lenguaje de programación (ya sea esotérica o no) y también quería saber lo que parece.

Me gusta leer sobre y tratando de aprender nuevas e inventivas idiomas, así que pensé que sería bueno para ver lo que la comunidad stackoverflow tiene que ofrecer. :)

escribió un para la diversión hace unos años.

¿Fue útil?

Solución

He escrito un conjunto de 7 idiomas "micro" para la enseñanza. Cada uno de ellos está destinado a ilustrar las ideas clave de uno de los siguientes lenguajes de programación completa:

  • una versión sin tipo de C
  • Esquema
  • C
  • Sistema F
  • ML
  • Smalltalk
  • Prolog

Las lenguas deliberadamente se parecen mucho a uno como el otro, de manera que los estudiantes ven únicas diferencias esenciales, nunca los gratuitos. Quiero hacer dos más, basado en Haskell y CLU.

Sam Kamin tenido la idea original y ayudado mucho con el diseño.

Otros consejos

El de mis bacterias Pythonic , por supuesto

He estado trabajando de vez en cuando en DIFL, que pretende ser un lenguaje de aventura de texto declarativo, pero cada vez menos declarativa con el tiempo. Sus principales características son un sistema de objetos muy sueltos y un sistema de acción basado en métodos múltiples. (Bueno, sus principales funciones serán, suponiendo que alguna vez la termine.)

Una de las primeras lenguas Traté de escribir era un lenguaje ensamblador MIDI-archivo. Se podría definir el tempo y el banco de instrumentos y luego un montón de líneas de la nota (Nota-nombre, a partir de latido de la corriente medida, la duración, el acento opcional), marcada por líneas de barra ( "meas \ n"), y dinámica (ppp, pp, p, mp, mf, f, ff, fff).

En realidad no era utilizable sin un lenguaje de macros para repetir secuencias, cambiar de canal, y establecer nuevas pistas. Eso requería mi primera tabla hash, y un tricksy cruzados sus dedos-llaman a qsort para intercalar los canales de secuencia temporal (llevado implícitamente por cada ONC-On / Off-evento de nota).

Cuando regresé a él un año más tarde, había sido víctima de bits de la podredumbre. Después de no poca lucha redescubrí que la función de ordenar y de salida, todo fue provocado por un código de EOF explícita. Una canción macro-expandida era fácilmente 20.000 líneas con esa línea EOF fundamental que tiene, por lo tanto, 1 / 20000a de la oportunidad de ser visto cuando se trata de descubrir qué diablos está pasando mal!

Estoy un poco contento de que toda la evidencia está a buen recaudo en una CPU muertos debajo de la cesta de microondas. Los horrores !!

Editar Tras reflexionar sobre ello, hay algunas cosas interesantes sobre el formato MIDI. Tiene un tipo entero de longitud variable (IIRC usando el bit de signo para indicar el último byte). Es-byte orientado, siendo diseñado para funcionar más de 9 hilos paralelos; y que tiene alguna cosa loca de tiempo de sincronización nunca he entendido. Pero todo lo que importaba era que el reproductor multimedia Windows 95 podría interpretar la salida (que incluso podría utilizar el 8bit General MIDI banco de tono integrado en la tarjeta de sonido, los platillos fueron gloriosamente distorsionada)

.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top