你有写过自己深奥的语言吗?它看起来像什么?

时间:2010-02-10 20:03:03

标签: programming-languages esoteric-languages

我已经看到了一些关于stackoverflow用户最喜欢的深奥(或不是)编程语言的问题。还有关于语言实施的问题。但是,我很想知道你们中是否有人真正编写了自己的编程语言(无论是否是深奥的),我也想知道它是什么样的。

我喜欢阅读并尝试学习新的和创造性的语言,所以我认为看看stackoverflow社区提供的内容会很高兴。 :)

几年前,我wrote one获得了乐趣。

4 个答案:

答案 0 :(得分:4)

我为教学编写了一套7种“微型”语言。每一个都是为了说明以下完整编程语言之一的关键思想:

  • C的无类型版本
  • 方案
  • C
  • 系统F
  • ML
  • Smalltalk中
  • 的Prolog

这些语言故意看起来非常像另一种语言,因此学生只能看到本质的差异,而不是无偿的差异。我想再做两个,基于Haskell和CLU。

Sam Kamin有了最初的想法并且对设计有很大的帮助。

答案 1 :(得分:2)

答案 2 :(得分:2)

我一直在DIFL上工作,打算作为一种声明性的文本冒险语言,但随着时间的推移逐渐变得不那么具体。它的主要特征是一个非常松散的对象系统和一个基于多方法的动作系统。 (好吧,它的主要特点是,假设我完成它。)

答案 3 :(得分:2)

我尝试编写的第一批语言之一是MIDI文件汇编语言。您可以定义速度和乐器库,然后定义许多音符线(音符名称,当前测量的开始节拍,持续时间,可选重音),用条线(“meas \ n”)打断,以及动力学(ppp,pp,p,mp,mf,f,ff,fff)。

如果没有宏语言来重复序列,更改频道和放置新曲目,那么它真的无法使用。这需要我的第一个哈希表,以及一个棘手的交叉手指调用qsort按时间顺序交错通道(由每个Note-On / Note-Off事件隐式携带)。

一年后,当我回到它时,它已成为腐烂的牺牲品。经过不小的努力,我重新发现了sort-and-output-everything函数是由一个显式的EOF代码触发的。一首宏观扩展的歌曲很容易就会产生20,000行,而这个关键的EOF线路因此,在试图弄清楚什么是错误的时候,有机会被发现的1/20000!

我有点高兴的是,所有证据都安全地隐藏在微波推车下方的死CPU中。恐怖!!

编辑:进一步反思后,MIDI格式会有一些有趣的事情。它具有可变长度整数类型(IIRC使用符号位来指示最后一个字节)。它是面向字节的,设计用于运行9条并行线;它有一些我从未理解的疯狂时间同步的东西。但我所关心的是Windows95媒体播放器可以解释输出(它甚至可以使用声卡中内置的8位通用MIDI音色库;镲片被光彩歪曲)。