Questions tagged «meta-programming»

3
什么是分阶段功能(概念上)?
在CACM的最新文章[1]中,作者提出了分阶段功能的实现。他们使用该术语好像它是众所周知的,并且所有参考文献似乎都不是显而易见的介绍。 他们给了一个简短的解释(重点是我的和参考编号已更改;原来是22) 在程序生成的上下文中,由Taha和Sheard [2]建立的多级编程(MSP,简称暂存)允许程序员显式地将程序表达式的求值延迟到较晚的阶段(因此,暂存一个表达式)。当前阶段有效地充当代码生成器,该代码生成器组成(并可能执行)下一阶段的程序。 但是,塔哈(Taha)和谢德(Sheard)写道(重点是我): 多阶段程序是一个涉及代码生成,编译和执行的程序,所有程序都在同一进程内。多阶段语言表示多阶段程序。暂存以及因此的多阶段编程可满足对通用解决方案的需求,而这些通用解决方案无需支付运行时的解释性开销。 然后,他们继续引用了一些较旧的作品,据称这些作品表明分期是有效的,这表明该概念更古老。他们没有为该术语本身提供参考。 这些陈述似乎是正交的,即使不是矛盾的。也许Rompf和Odersky写的是Taha和Sheard提出的应用,但也许是对同一件事的另一种看法。他们似乎同意,重要的一点是程序会在运行时重新编写其自身的部分,但是我不知道这是否是必要的和/或足够的能力。 那么,什么是分期分别在此背景下举办的解释?这个词从哪里来? 轻量级模块化分段: T. Rompf和M. Odersky(2012)的一种实用方法,用于生成运行时代码和编译DSL W. Taha和T.Sheard(2000)的带有显式注释的MetaML和多阶段编程

1
推断优化类型
在工作中,我的任务是推断一些有关动态语言的类型信息。我将语句序列重写为嵌套let表达式,如下所示: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 由于我从一般类型信息开始,并试图推断出更具体的类型,因此自然的选择是精简类型。例如,条件运算符返回其真假分支类型的并集。在简单的情况下,它效果很好。 但是,在尝试推断以下类型时遇到了障碍: function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.