返回

文章详情

文件夹编程语言

Hacker News2026年10月16日 05:11

创建于2015年 | 更新于2026年 | 四十四种Esolangs之一,Rivulet和Velato的创建者制作。目录是代码,驱动器空间是无限的。文件夹是非文本语言,代码仅以包含和顺序的形式表达。文件夹的名称被忽略,除了按字母顺序排列。换句话说,它们是纯粹的有序树。灵感来自于Whitespace语言,文件夹致力于非物质化代码的理念。它始于一个问题:什么比没有可见文本的文件更空?空文件夹是杂乱无章的,没有目的的附属物。在git中,它被完全忽略(因此,建议文件夹程序将.gitignore文件放在其最深处)。文件夹最初作为Windows语言。在Windows上,文件夹是更极端的空虚度量:它们根本不占用磁盘空间。为了证明这一点,创建352,449个文件夹并检查其属性。通过这种方式,文件夹不仅提供了一种非物质化的代码方法,还提供了无限的存储容量。将所有数据编码为文件夹名称,再也不必担心空间不足。对于使用其他操作系统的人,下面的仿真器提供了一些文件夹如何管理数据和代码的体验。原始实现可以在github上找到。编码每个命令文件夹至少有一个子文件夹。第一个文件夹(按字母顺序)中的子文件夹数量指示命令类型;任何参数在第二个文件夹中指示;某些命令需要第三个文件夹。表达式相同:第一个子文件夹中的文件夹数量决定了它是什么类型的表达式。完整的语言规范如下。临时数据以文件夹形式存储;与文件夹代码不同,存储数据的是文件夹的名称。文件夹FS文件夹解释器不会创建临时文件;任何不立即保存在内存中的内容都会作为一组临时文件夹存储。与文件夹代码不同,文件夹的名称存储数据本身。文件夹的首选输入/输出是另一组文件夹。这意味着你可以将所有数据编码为文件夹,完全绕过“物质领域”的文件,并为你提供无限的磁盘空间(自担风险)。文件夹语言用于代码,文件夹FS用于数据存储。来自几个文件夹程序的临时文件夹可视化。文件夹程序是一个以零终止的嵌套列表。它最简单的形式是纯粹的包含和顺序,如这个全数组JSON:[[[[],[]],[],[[]]],[[[],[]],[],[[],[]]],[[[],[]],[],[[],[],[]]],[[[],[]],[],[[],[],[],[]]],[[[],[],[]],[[]],[[[],[],[],[],[]],[],[[[],[],[],[]]]]],[[[],[],[]],[[],[]],[[[],[],[],[],[]],[],[[[],[],[],[[]]]]]],[[[],[],[]],[[],[],[],[]],[[[]],[[],[[]]],[[],[[],[]]]]],[[[],[],[]],[[]],[[],[[],[]]]],[[[],[],[]],[[],[]],[[],[[],[],[]]]],[[[],[],[]],[[],[],[],[]],[[[]],[[],[[],[],[],[]]],[[[],[],[],[],[]],[],[[[],[],[],[[]]]]]]]]]] Fibonacci程序。这也是JS仿真器保存/读取文件夹程序的方式。然而,其他可视化系统可能是可行的。文件夹程序作为结构的内容,可以应用于任何类型的原始数据。以下是一个作为轮廓图的真值机。较粗的线是容器,文件夹的顺序从左上角(西北角)开始,以逆时针方向读取。其他可视化可能是家谱(所有单亲),植物分枝结构(如分裂的麦秆)或迷宫中的路径。红点表示从一个容器到单个子项的阈值。语言规范语言本身是一个非常简单的命令式语言,有一小组语义规则。对于命令和表达式,它们第一个子文件夹中的文件夹数量决定了其用途。直接使用类型。命令命令#文件夹数量详细信息如果为0文件夹第二个子文件夹包含表达式,第三个包含命令列表;如果为1文件夹第二个子文件夹包含表达式,第三个包含命令列表;声明2文件夹第二个子文件夹包含类型,第三个包含变量名称(以文件夹数量表示);let 3文件夹第二个包含变量名称(以文件夹数量表示),第三个包含表达式;print 4文件夹第二个子文件夹包含表达式;input 5文件夹第二个子文件夹包含变量名称;表达式类型#文件夹数量详细信息变量0文件夹第二个子文件夹包含变量名称;加1文件夹第二个子文件夹包含要添加的第一个表达式,第三个包含第二个表达式;减去2文件夹第二个子文件夹包含要减去的第一个表达式,第三个包含第二个表达式;乘以3文件夹第二个子文件夹包含要相乘的第一个表达式,第三个包含第二个表达式;除以4文件夹第二个子文件夹包含要除以的第一个表达式,第三个包含第二个表达式。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡