Frage

Ich habe ein paar Fragen gesehen in Bezug auf Stackoverflow Benutzer Liebling esoterisch (oder nicht) Programmiersprachen. Es gibt auch Fragen in Bezug auf die Umsetzung von Sprachen. Allerdings war ich gespannt, ob jemand von euch eigentlich Ihre eigene Programmiersprache (wäre es geheim oder nicht) und ich wollte auch geschrieben hat, wissen, wie es aussieht.

ich viel Spaß beim Lesen und versuchen, neue und einfalls Sprachen zu lernen, so dass ich dachte, es wäre schön zu sehen, was die Gemeinschaft Stackoverflow zu bieten hat. :)

schrieb ein für Spaß vor ein paar Jahren.

War es hilfreich?

Lösung

Ich habe einen Satz von 7 „micro“ Sprachen für den Unterricht geschrieben. Jeder ist dazu gedacht, die wichtigsten Ideen von einem der folgenden Voll Programmiersprachen zu veranschaulichen:

  • eine nicht typisierte Version von C
  • Schema
  • C
  • System F
  • ML
  • Smalltalk
  • Prolog

Die Sprachen bewusst sehr viel aussehen wie die anderen, so dass die Schüler nur wesentliche Unterschiede zu sehen, die nie unentgeltlich diejenigen. Ich möchte noch zwei weitere tun, basierend auf Haskell und CLU.

Sam Kamin die ursprüngliche Idee hatte und hat mir sehr geholfen mit dem Design.

Andere Tipps

Ich arbeite ab und zu auf DIFL als deklarative Text Abenteuer Sprache gedacht, aber immer weniger deklarative im Laufe der Zeit. Seine Hauptmerkmale sind ein sehr loses Objektsystem und ein Action-System auf Basis von Multimethoden. (Na ja, wird sein Hauptmerkmal sein, vorausgesetzt, ich es jemals beenden.)

Eine der ersten Sprachen, die ich zu schreiben versuchte, war eine MIDI-Datei Assemblersprache. Sie würden Tempo und Instrumentenbank und dann vielen Notenlinien (Hinweis Namen, beginnend-beat-of-the-Strom-Maßnahme, Dauer, optional Akzent), unterbrochen von Strichlinien ( "meas \ n"), definieren und Dynamik (ppp, pp, p, mp, mf, f, ff, fff).

Es war nicht wirklich brauchbar ohne Makrosprache zu Wiederholungssequenzen, ändern Kanäle und neue Tracks festzulegen. Das erforderte meine erste Hash-Tabelle und eine tricksy Cross-your-Finger rufen die Kanäle durch Zeitsequenz qsort verschachteln (implizit durch jede Note-On / Note-Off Veranstaltung durch).

Als ich ein Jahr später kam es zurück, hatte sie zum Opfer Bit-rot gefallen. Nach keinem kleinen Kampf wieder entdecken ich, dass die Art-und-Ausgabe-alles-Funktion durch einen expliziten EOF-Code ausgelöst wurde. Ein Makro schäumten Song war leicht 20.000 Zeilen mit der entscheidenden EOF Leitung, also 1 / 20000. eine Chance, entdeckt zu werden, wenn sie versucht, nur um herauszufinden, was zum Teufel falsch läuft!

Ich bin etwas erfreut, dass alle Beweise sicher in einer toten CPU unter der Mikrowelle Wagen versteckt ist. Die Schrecken !!

Edit: Nach weiteren Überlegungen gibt es einige interessante Dinge über das MIDI-Format sind. Es hat einen Integer-Typen mit variabler Länge (IIRC des Vorzeichenbits mit dem letzten Byte, um zu signalisieren). Es ist byte-orientiert ist, ausgebildet ist, mehr als 9 parallele Drähte zu laufen; und es hat einige verrückte Zeit-Synchronisation, was ich nie verstanden. Aber alles, was ich gepflegt war etwa, dass der Windows95-Media-Player die Ausgabe interpretieren könnte (es sogar die 8-Bit-General-MIDI-Ton Bank in die Soundkarte eingebaut nutzen könnte, die Becken wurden glorreich verzerrt).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top