【发布时间】:2012-06-09 16:14:38
【问题描述】:
长期以来,我一直想设计一种将可扩展性与效率(以及安全性、易用性等)结合起来的编程语言。我最近重新发现了 D,我想知道 D 2.0 是否正是我想要的语言做自己。我最喜欢的是元编程的潜力;理论上,D的traits系统可以在编译时启用以下功能吗?
运行时反射:编译时反射特性是否足以像 Java/.NET 那样构建运行时反射系统?
代码转换:使用元程序,创建 C#/C++/等。每次编译 D 程序时的版本(如果可以传播 doc cmets,则加分)。
特征。我不是说 D 中内置的metaprogramming traits,我是说object-oriented traits for class composition。一个 D 程序将指示一组要组合的特征,而元程序将组合它们。
-
单位推理引擎:给定一些可选表示单位的符号,例如
unit(value),D 元程序能否检查以下代码,推断出正确的单位,并在最后一行发出错误消息? (我为boo 写了这样一个东西,所以我可以向你保证这在整个程序范围内是可能的):auto mass = kg(2.0); auto accel = 1.0; // units are strictly optional auto force = mass*accel; accel += metresPerSecondSquared(9.81); // units of 'force' and 'accel' are now known force += pounds(3.0); // unit mismatch detected
【问题讨论】:
标签: metaprogramming d