Skip to content

Latest commit

 

History

History
41 lines (28 loc) · 1.62 KB

README.md

File metadata and controls

41 lines (28 loc) · 1.62 KB

Functional Geometry in Prolog

This project contains an exploration of the ideas found in the paper "Functional Geometry" by Peter Henderson, transposed to Prolog.

Functional Geometry

I learned about the paper and it's contents in a workshop by Einar Høst called: Escher in Elm.

It is a wonderfull workshop that clearly explains the ideas of functional geometry. I.e.

that one could write an algebraic description, embed it in a functional program, and execute it directly

Prolog

These ideas can be expressed in various other languages as Einar Høst and others have shown. Examples include F#, PostScript and Rust.

This repository explores the ideas in Prolog.

Prolog seems well-suited to express the ideas of functional geometry.

Usage

Start SWI-Prolog and load the geometry.pl file with the following command.

swipl geometry.pl

At the query prompt enter the following query.

escher(2, C), processTo('output.svg', C).

Where output.svg is the file you want to write the result to.

Eschers level 2 Square Limit by Prolog