Skip to content

TheClause/learn-prolog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Welcome to The Clause

Join our gitter chat room!

The Clause is an initiative to bring Prolog into the modern web development world. Although Prolog is already quite capable, there is work to be done in writing more documentation, resources, and tutorials that are catered towards the web development industry.

This repo is an accumulation of these efforts. Below you will find resources for learning and using Prolog.

Support

If you want to support The Clause and help pave the way forward, you can:

Feel free to ping me on gitter if you have any questions.

Introductions to Prolog

Articles

  • Building a user permissions system (part 1, part 2)
  • Setting Up Unit Testing In SWI-Prolog (link)
  • Functional Prolog: Map, Filter, and Reduce (link)

Fundamentals

In Production

  • Production Prolog (39:57)
    • [0:00] Intro: Prolog has many solid implementations, logic programming is ridiculously simple
    • [1:54] Demo: Quick intro to Prolog
    • [12:17] Demo of SWI Prolog's incredible debugger
    • [16:36] Code is data, which makes writing tools for Prolog very easy
    • [18:19] Some libraries the speaker uses in production (library(func), library(mavis), library(bencode))
    • [23:01] Constraint logic programming - library(julian) for dates and times. A beauty.
    • [26:34] Concurrency - library(spawn). Wow.
    • [30:04] Deploying saved states, his favorite production trick. swipl -o foo -c foo.pl
    • [32:18] Not all sunshine and rainbows

Resources

Releases

No releases published

Packages

No packages published