寻找允许您改变真假的编程语言

Dio*_*mes 2 language-features programming-languages language-design metaprogramming

为了我的好奇心,我正在寻找一种动态的面向对象语言,它允许你将true改为false,反之亦然.

像这样的东西:

true = false, false = true;
Run Code Online (Sandbox Code Playgroud)

这也应该影响任何条件语句,因此42 == 42应该返回False.基本上,在这个前提下,语言中没有任何东西对程序员来说是安全的.

有这样的语言吗?

Dav*_*lin 5

Smalltalk会让你这样做.

Smalltalk-80中的所有内容都可以在正在运行的程序中进行修改.这意味着,例如,可以在正在运行的系统中更改IDE而无需重新启动它.在一些实现中,语言或垃圾收集实现的语法也可以在运行中改变.即使声明为true也会 变为:false在Smalltalk中有效,但不建议执行它.明智地使用时,这种灵活性允许新代码进入生产系统所需的最短时间之一.

http://en.wikipedia.org/wiki/Smalltalk