dram.me

Prolog代码的形态

初看这个标题可能会觉得有点奇怪,暂时没有想出比“形态”更为合适的词。每种语言由于语法和语义上的不同,最终代码会呈现不同的形态,而Prolog的代码也有其自身的特点。

之前在Prolog中的循环中已有对于回溯的应用,从中可以发现,其他语言中需要双层循环解决的问题,在Prolog中以完全不同的模式呈现。Prolog的代码层次,相对于其他语言来说,总体是较为平整的。

这里主要有以下几个原因:

  1. Prolog没有其他语言的函数返回值的模式,代码全部以联合的模式组织,所以没有函数嵌套的方式,函数嵌套容易产生多层次的代码;

  2. Prolog回溯的模式避免了循环以及多层循环嵌套的形式;