Prolog
维基百科,自由的百科全书
| Prolog | |
|---|---|
| 编程范型: | 逻辑编程语言 |
| 面市時間: | 1972年 |
| 設計者: | Alain Colmerauer |
| 主要實作產品: | BProlog,GNU Prolog, Quintus, SICStus, Strawberry, SWI-Prolog, YAP-Prolog |
| 衍生副語言: | ISO Prolog, Edinburgh Prolog |
| 影響語言: | Visual Prolog, Mercury, Oz, Erlang, Strand |
Prolog(Programming in Logic的缩写)是一种逻辑编程语言。它建立在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。
目录 |
[编辑] 历史
Prolog语言最早由Aix-Marseille大学的Alain Colmerauer与Phillipe Roussel等人于60年代末研究开发。1972年被公认为是Prolog语言正式诞生的年份,自1972年以后,分支出多种Prolog的方言。最主要的两种方言为Edinburgh和Aix-Marseille。最早的Prolog解释器由Roussel建造,而第一个Prolog编译器则是David Warren编写的。
Prolog一直在北美和欧洲被广泛使用。日本政府曾经为了建造智能计算机而用Prolog来开发ICOT第五代计算机系统。在早期的机器智能研究领域,Prolog曾经是主要的开发工具。
80年代Borland开发的Turbo Prolog,进一步普及了Prolog的使用。1995年确定了ISO Prolog标准
[编辑] 特點
有別於一般的過程式語言, prolog的程式是基於謂詞邏輯的理論. 最基本的寫法是定立物件與物件之間的關係, 之後可以用詢問目標的方式來查詢各種物件之間的關係. 系統會自動進行匹配及回溯, 找出所詢問的答案.
[编辑] 语法示例
表示事实:
human(kate). human(bill). likes(kate,bill).
表示kate和bill是一个人(human),kate喜欢bill,而表示规则:
friend(X,Y):-likes(X,Y),likes(Y,X).
表示,对于两个对象XY.如果X喜欢Y,且Y喜欢X,那么他们是朋友。
[编辑] 外部资源
|
|
|
|---|---|
| 工业编程语言 | A+ - ActionScript - Ada - 汇编语言 - B - Brainfuck - COBOL - Curl - D - Eiffel - Erlang - FORTRAN - IronPython - Java - JavaScript - JScript - Jython - LISP - Lua - SCILAB - MATLAB - MATHEMATICA - Nuva - Oberon - OCaml - Perl - PHP - PostScript - Powerbuilder - Python - R - REXX - Ruby - Self - Smalltalk - Tcl/Tk - C# - F# - J# - Microsoft Visual C# |
| C/C++语言 | C - C++ - Turbo C++ - Borland C++ - C++ Builder- C++/CLI - Objective-C - Microsoft Visual C++ |
| BASIC语言 | BASIC - BASICA - GW-BASIC - QBASIC - QuickBASIC - True BASIC - Turbo BASIC - PowerBASIC - DarkBASIC -ETBASIC Visual Basic .NET - Visual Basic - VBScript - VBA |
| Pascal/Delphi语言 | Pascal語法:(Pascal - Turbo Pascal - Object Pascal - Free Pascal) Pascal+Delphi語法:(Delphi) |
| GPU用著色器語言 | Cg - GLSL - HLSL |
| 学术编程语言 | APL/J - Clean - Haskell - Logo - ML - Prolog - Scheme - SAC |
| 資料庫相關编程语言 | Clipper - Visual FoxPro - SQL - SQL預存程序 |
| 其他编程语言 | ALGOL - Forth - Modula-2/Modula-3 - MUMPS - PL/I - Simula |

