使用通常被认为是排版语言的东西可以做一些有趣的事情。例如,您可以使用 postscript构造 Mandelbrot 集。
在这个 MathOverflow 问题中建议LaTeX 可能是图灵完备的。这意味着编写任意程序的能力(尽管这可能并不容易!)。有谁知道 LaTeX 中此类程序的任何具体示例,它对该语言做了一些非常不寻常的事情?
使用通常被认为是排版语言的东西可以做一些有趣的事情。例如,您可以使用 postscript构造 Mandelbrot 集。
在这个 MathOverflow 问题中建议LaTeX 可能是图灵完备的。这意味着编写任意程序的能力(尽管这可能并不容易!)。有谁知道 LaTeX 中此类程序的任何具体示例,它对该语言做了一些非常不寻常的事情?
在The Monad Reader的第 13 期中,Stephen Hicks 写了关于在 TeX 中实现 ICFP 竞赛(涉及火星探测器导航)的解决方案,并大量使用宏。有趣的是,排版时解决方案的输出是漫游者路径的附记地图。
或者,Andrew Greene用 TeX 编写了一个 BASIC 解释器(更多细节)。这可能算得上有点反常。
\def\K#1#2{#2}
\def\S#1#2#3{#1#3{#2#3}}
图书馆pgfmath
仍然让我感到惊讶。但是在更多与图灵相关的说明上:可以根据http://en.literateprograms.org/Turing_machine_simulator_(LaTeX)在 TeX 中编写一个实际的图灵机。这只是在 TeX 中使用扩展的一种绝妙方式。
PostScript 也是图灵完备的,如果您阅读手册,您会惊讶于它的一般编程能力(至少,我是)。
我不确定这是否符合编程本身的条件,但我最近开始做一些有点像 LaTeX 中面向对象的东西。(你不需要知道任何数学来遵循以下内容。)在最近的论文中,我一直在写关于categories的文章,它有对象和态射。因为已经有很多这样的,我想要一个一致的风格,比如说,
我知道有人用 LaTeX写了 ACM 竞赛问题的答案。