我正在编写一个个人项目,旨在拥有一个可以进化的类或对象,让我们称之为“Robot”。Robot需要能够在给定命令的情况下创建类、字段和函数,以及将逻辑写入这些对象以进行操作的能力(但这一切都是通用的)。
为此,我发现自己编写了一些类,比如if语句和while语句。然后我有一个对象,它表示一个名为"Method“的函数类型,它接受任意数量的逻辑语句作为它自己的执行逻辑的参数。我感觉我正在做的事情是多余的,或者我在制造这台可以编写自己代码的机器的过程中,意外地编写了一种编程语言。
我意识到这是一个模糊的描述。在开发过程中,我正在学习需求,但我可以回答任何有助于解释的问题。我的主要问题是,是否有人认识到这个过程并能够识别它(或者它是否是多余的),以及除了Java之外的其他语言是否特别适合这种类型的项目。
我还需要能够将函数作为参数传递(目前使用接口Executable来完成此操作)。
编辑:我决定继续使用C语言,因为指针和函数指针提供了我需要的功能,而Java不能提供这些功能。
发布于 2014-03-29 02:57:29
Peter Novig写了许多关于AI主题的书,他写了一个关于LISP在AI中的地位的retrospect page,他想知道Lisp是否仍然是这项工作的工具。
像Lisp方言这样的动态和可扩展语言很擅长为这项工作创建合适的工具,但我记得Peter Norvig在AI programmers choose today (或他编写它的时候)提供了一些启发。也许你可以像他在谷歌上搜索的那样,看看它是否有变化。
发布于 2014-04-02 21:19:29
正如其他答案所建议的那样(理所当然),我建议将Clojure编程语言作为您项目的基础。
Clojure是一种在JVM上运行的现代Lisp方言。这意味着您的项目将在经过战斗测试的运行时上运行,并且您可以访问一个巨大的库生态系统。
我还需要能够将函数作为参数传递(目前使用接口Executable来完成此操作)。
如果你使用Clojure,你将会得到你想要的东西,外加大量的特性。
机器人需要能够在给定命令的情况下创建类、字段和函数,以及将逻辑写入这些对象以进行操作的能力(但这些都是通用的)
Clojure将在这方面为您提供帮助。
https://stackoverflow.com/questions/22719880
复制相似问题