Dzm*_*oda 17 lisp programming-languages static-typing s-expression
你能用静态类型检查(如Java)命名语言,代码是数据(如LISP)吗?我的意思是两种语言.
Jör*_*tag 14
齐是一种静态类型的Lisp方言.此外,许多其他Lisp方言有(可选)静态类型.
Java本身的功能非常有限.
有趣的问题不在于您是否可以进行元编程和静态类型,而是您是否可以将动态元编程设置为静态类型安全.
有模板哈斯克尔这确实元编程和是类型安全的,但它是静态的元编程.
目前我无法想到我所知道的任何语言允许动态元编程以及动态元编程是静态类型安全的.齐可能很难做到,但我不确定.
如果您只是寻求以静态类型语言动态执行代码的能力,那么 Java 本身就可以做到这一点:
http://www.javaworld.com/javaworld/jw-06-2006/jw-0612-dynamic.html
如果您需要更多(想要方法和类作为一流对象等),那么您将需要使用 Haskell 或 C#(如其他答案中提到的)之类的东西。