代码之家  ›  专栏  ›  技术社区  ›  ire_and_curses

我听说乳胶完全变黄了。有用乳胶写的程序吗?

  •  70
  • ire_and_curses  · 技术社区  · 14 年前

    用通常被认为是排版语言的东西做有趣的事情是可能的。例如,可以构造Mandelbrot集 using postscript .

    建议在 this MathOverflow question 那乳胶可能是 Turing-complete . 这意味着能够编写任意程序(尽管这可能并不容易!).有人知道乳胶程序的任何具体例子吗?乳胶程序在语言中有非常不寻常的地方吗?

    6 回复  |  直到 6 年前
        1
  •  81
  •   Matt Ball    13 年前

    在第13期 The Monad Reader 史蒂芬·希克斯(StephenHicks)写了一篇关于用Tex实现ICFP竞赛(涉及火星探测器导航)解决方案的文章,其中大量使用了宏。有趣的是,排版时的解决方案输出是Rover路径的PostScript映射。

        2
  •  24
  •   Nulano    6 年前

    另外,安德鲁·格林写道 a BASIC interpreter in TeX ( more details )这可能算是有点反常。

        3
  •  8
  •   Nulano    6 年前

    这个 pgfmath 图书馆仍然让我吃惊。但是在一个更图灵相关的注释上:可以用tex来写一个实际的图灵机器,根据 http://en.literateprograms.org/Turing_machine_simulator_(LaTeX) . 这只是一个漂亮的方式使用扩展在得克萨斯州。

    如果你要阅读的话,Postscript也是图灵完备的。 the manual 您会惊讶于它的一般编程能力(至少,我是这样)。

        4
  •  7
  •   Mateusz Grotek    10 年前

    DEF\ K 1×2 {{ 2 }

    \定义\s 1 2 3 1 3 2 3

        5
  •  5
  •   Andrew Stacey    14 年前

    我不确定这是否符合 程序设计 从本质上讲,但我最近开始做一些类似于乳胶中面向对象的东西。(你不需要知道下面的数学知识。)在最近的论文中,我一直在写 类别 ,有 物体 态射 C 典型的变形 C . 那么我也会和 D D . 所以我定义了一个“类”,说“类别”(你需要成为一个数学家才能理解其中的笑话),并声明C是这个类的一个实例,然后可以访问\ccat、\cobj、\cmor等等。不执行\cat c、\obj c、\mor c等操作的原因是,有时这些类别有特殊的名称,因此在声明实例后,我可以很容易地修改它的名称(简单地重新定义\c cat-好,实际上是\math cat,因为\c cat是一个包装器,在数学模式下选择\math cat,在文本模式下选择\text cat)。(当然,这比上面的建议要复杂一些,当我想把一个新类别定义为旧类别的变体时,OO的东西真的很有用(它甚至可以处理旧类别还不存在的情况。)

    虽然它可能不符合实际编程的条件,但我在论文中使用它,并发现它确实有用——其他答案(到目前为止)更像是在炫耀乳胶的能力,而不是一个实际问题的合理解决方案。

        6
  •  1
  •   Amber    14 年前

    我知道有人给 an ACM contest problem 在乳胶中。