1. Prolog 教程
从零开始系列面向零基础读者,Hello Prolog 系列面向有编程经验的读者。
当我发现prolog奇葩又瑰丽的一面的同时,也发现,根本找不到给人读的学习资料(英语资料虽然有,但是也比较...old school),好不容易找了个发现还是用的不知道什么编译器,于是自己边看边编排,搞了这些
顾名思义这是一本关于prolog的小书,集合整理了一些我关于prolog的学习经验以及从网络中搜集到的材料。
希望对你有帮助,have fun.
2. 板块介绍
下面是关于几个板块的介绍和指路
2.1. Quick Start
语法简述以及环境配置
2.2. 从零开始
收集自网络,几乎无压力入门,循序渐进,推荐编程爱好者从这里看起
内容很棒,不过过于老旧,且使用的是语法比较麻烦的Turbo Prolog,我这里在原文基础上增添了一些基于swipl环境下的东西,和一些个人笔记
2.3. Hello Prolog
这里我将从程序员的角度去观摩prolog,更适合码农来,主要的参考资料是swipl的官方文档以及维基百科
同时,也记录了一些个人在Prolog工程化上的探索
2.4. 庖丁解牛
记得曾经有人问我,为什么我把代码一个字一个字的敲了还是不会不懂,究竟应该怎么学一门语言?
我觉得很简单,多写注释,多写“写给自己的”注释
我挑选几个pl的工程模块,分析学习前人的编码风格和更重要的逻辑风格
都是以学习笔记的视角写的,并非教程,建议可以先看所针对的源代码再看我的
2.5. 学习路线图
本教程分为三条路线,根据你的背景选择:
2.5.1. 🔰 初学者路线(零编程基础 → 入门)
适合完全零基础读者,从基本概念开始逐步建立知识体系。
| 章节 | 难度 | 说明 |
|---|---|---|
| c0.1 | ★ | Prolog 初步介绍 |
| c0.2 | ★ | 基本概念与术语 |
| c1 | ★ | 事实、规则与查询 |
| c11 | ★ | 列表与递归入门 |
2.5.2. 🛠️ 工程师路线(有编程经验 → 快速上手)
适合有编程经验的读者,快速掌握 Prolog 核心范式。
| 章节 | 难度 | 说明 |
|---|---|---|
| c2 | ★★ | 递归与回溯 |
| c3 | ★★ | 列表处理 |
| c3b | ★★ | 运算符与表达式 |
| c7 | ★★ | 输入输出 |
| c8 | ★★ | 内置谓词 |
| c10 | ★★ | 程序调试技术 |
2.5.3. 🧠 理论路线(逻辑/计算理论兴趣)
适合对逻辑编程、计算理论感兴趣的读者。
| 章节 | 难度 | 说明 |
|---|---|---|
| c3c | ★★★ | 复杂数据结构 |
| c4 | ★★★ | 算术与比较 |
| c5 | ★★★ | 回溯与控制 |
| c6 | ★★★ | 字符串处理 |
| c9a | ★★★ | 高级内置谓词(上) |
| c9b | ★★★ | 高级内置谓词(下) |
| cs1 | ★★★ | 案例研究 1 |
| cs2 | ★★★ | 案例研究 2 |
| logic | ★★★ | 逻辑编程理论 |
| puzzles | ★★★ | 逻辑谜题 |
| turing | ★★★ | 图灵机与计算理论 |