summaryrefslogtreecommitdiff
path: root/sites/pprolog.org
diff options
context:
space:
mode:
authorglenda <glenda@9front.local>2021-01-13 09:27:40 +0000
committerglenda <glenda@9front.local>2021-01-13 09:27:40 +0000
commit78afe041e51e54a72c34ee4b25dc3a8af0cc776a (patch)
treef8484be5ab976b0751a14712bcdc6e51dcdd672e /sites/pprolog.org
parentb5b6c3faa44a93c0d57ffe58d8452acbcd4f3213 (diff)
Move prolog page to pprolog.org
Diffstat (limited to 'sites/pprolog.org')
-rw-r--r--sites/pprolog.org/_werc/config3
-rw-r--r--sites/pprolog.org/_werc/lib/footer.inc1
-rw-r--r--sites/pprolog.org/_werc/lib/top_bar.inc7
-rw-r--r--sites/pprolog.org/_werc/pub/style.css67
-rw-r--r--sites/pprolog.org/about.md0
-rw-r--r--sites/pprolog.org/documentation.md0
-rw-r--r--sites/pprolog.org/index.md64
-rw-r--r--sites/pprolog.org/source.md0
8 files changed, 142 insertions, 0 deletions
diff --git a/sites/pprolog.org/_werc/config b/sites/pprolog.org/_werc/config
new file mode 100644
index 0000000..bc8c0e5
--- /dev/null
+++ b/sites/pprolog.org/_werc/config
@@ -0,0 +1,3 @@
+masterSite=prolog.pmikkelsen.com
+siteTitle='PProlog'
+siteSubTitle='A prolog for plan9'
diff --git a/sites/pprolog.org/_werc/lib/footer.inc b/sites/pprolog.org/_werc/lib/footer.inc
new file mode 100644
index 0000000..07991c9
--- /dev/null
+++ b/sites/pprolog.org/_werc/lib/footer.inc
@@ -0,0 +1 @@
+<a href="http://werc.cat-v.org">Powered by werc</a> © Peter Mikkelsen 2019-2021 \ No newline at end of file
diff --git a/sites/pprolog.org/_werc/lib/top_bar.inc b/sites/pprolog.org/_werc/lib/top_bar.inc
new file mode 100644
index 0000000..75c69ca
--- /dev/null
+++ b/sites/pprolog.org/_werc/lib/top_bar.inc
@@ -0,0 +1,7 @@
+ <div class="left">
+ <a href="https://git.sr.ht/~pmikkelsen/pprolog">pprolog source code</a> |
+ <a href="http://9front.org">9front</a>
+ </div>
+
+ <div class="right">
+ </div>
diff --git a/sites/pprolog.org/_werc/pub/style.css b/sites/pprolog.org/_werc/pub/style.css
new file mode 100644
index 0000000..10935fb
--- /dev/null
+++ b/sites/pprolog.org/_werc/pub/style.css
@@ -0,0 +1,67 @@
+body { display: flex; flex-wrap: wrap; font-family: sans;}
+header { flex-basis: 100%; flex-shrink: 0; }
+article { flex-basis: 60%; padding-left: 1em; }
+footer { flex-basis: 100%; flex-shrink: 0; }
+header nav { display: flex; justify-content: space-between; }
+nav a, header a { text-decoration: none ; color: inherit; }
+header h1 span { margin-left: 1em; font-size: 50%; font-style: italic; }
+body > nav { flex-basis: content; padding-right: 1vw; min-width: 16em; }
+nav ul { display: flex; flex-direction: column; list-style-type: none; list-style-position: outside; padding-left: 0; }
+nav li ul { padding-left: 0.6em }
+footer { display: flex; justify-content: space-between; }
+
+/* cut here to leave vanity behind */
+
+body { margin:0; padding: 0; font-size: 84%; font-family: Helvetica, Verdana, Arial, 'Liberation Sans', FreeSans, sans-serif; }
+a { text-decoration: none; color: }
+a:hover { text-decoration: underline; }
+.thisPage { color: black; }
+
+/* header and top bar */
+header nav { background-color: rgb(100,135,220); color: white; padding: 0.3em; border-bottom: 2px solid black; font-size: 91%; }
+header h1 { background-color: #ff6d06; color: black; margin: 0; border-bottom: 2px solid black; font-weight: normal; padding: 0.25ex; font-size: 233%; }
+header a:hover { text-decoration: none; }
+
+/* sidebar */
+body > nav { border-right: 1px solid #ddd; padding: 0; }
+body > nav > div { border-bottom: 1px solid #ddd; }
+body > nav > div a { color: rgb(0, 102, 204); display: block; text-transform: capitalize; font-weight: bold; padding: 0.25em 1ex 0.25em 2mm; font-size: 102%}
+body > nav > div a:hover { color: white; background-color: rgb(100,135,220); border-left: black solid 0.2em; text-decoration: none; }
+body > nav > div p { font-weight: bold; margin: 0 0 0.5em 2mm; padding: 1em 0 0 0; }
+
+/* main copy */
+article { padding: 0.5ex 0 5vh 1vw; }
+article h1, article h2 { color: rgb(0,102,204); font-weight: bold; margin: 2em 0 0 0; border-bottom: 2px solid rgb(0,102,204); }
+article h3, article h4, article h5 { color: rgb(0,102,204); font-weight: bold; margin: 2em 0 0 0; }
+article h6, article h7, article h8 { color: rgb(0,102,204); font-weight: bold; margin: 2em 0 0 0; }
+article a { color: rgb(0,102,204); }
+article a:hover { color: rgb(100,135,220); }
+article pre { font-size: 1.2em; }
+
+/* footer */
+footer { color: white; background-color: rgb(100,135,220); }
+footer a { color: inherit; }
+footer div { padding: 1em; }
+
+/* tables */
+table { border: 1px solid rgba(128,128,128,0.5); padding: 0; }
+th { color: white; background-color: rgb(100,135,220); }
+tr:nth-child(odd) { background-color: rgba(128,128,128,0.1) }
+
+/* Modifications for pmikkelsen.com */
+img {
+ max-width: 100%;
+ border: 1px solid black;
+}
+
+body {
+ background-color: #ffffea;
+}
+
+header h1 {
+ background-color: #eaffea;
+}
+
+html {
+ font-size: 1.2em;
+} \ No newline at end of file
diff --git a/sites/pprolog.org/about.md b/sites/pprolog.org/about.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sites/pprolog.org/about.md
diff --git a/sites/pprolog.org/documentation.md b/sites/pprolog.org/documentation.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sites/pprolog.org/documentation.md
diff --git a/sites/pprolog.org/index.md b/sites/pprolog.org/index.md
new file mode 100644
index 0000000..4cd72ca
--- /dev/null
+++ b/sites/pprolog.org/index.md
@@ -0,0 +1,64 @@
+# Introduction
+
+This is the website for PProlog, a new prolog implementation written
+in C on and for plan 9 (9front specifically). Work started in december 2020
+due to the author's need for a prolog system on 9front. The long term goal
+is to be compliant with the ISO standard but currently it is all just
+experimentation.
+
+# Features
+
+* A base system based on the WAM (Warren abstract machine) implemented by following the book [here](http://wambook.sourceforge.net/wambook.pdf).
+* Support for extended precision arithmetic via [mp(2)](http://man.9front.org/2/mp).
+* Basic support for definite clause grammars (DCGs). For now DCG's are translated by the parser into difference lists and they do not support everything one expects.
+* Lists.
+* Strings represented as list of char atoms.
+* The basic control predicates such as `,/2`, `;/2`, `->/2` and cut.
+* Full unicode support.
+
+# Status
+
+At this moment the system works OK but it has very few builtin predicates
+and much of what people expect from a working prolog system is still missing.
+
+The list of builtins as of January 13, 2021 is:
+
+* `is/2`
+* `halt/0`
+* `consult/1`
+* `write/1`
+* `read/1`
+* `call/n`
+* `fail/0`
+* `>/2`
+* `==/2`
+* `atom/1`
+* `integer/1`
+* `float/1`
+* `var/1`
+* `compound/1`
+* `term_variables/2`
+
+And the following predicates are implemented in the standard library:
+
+* `=/2`
+* `\=/2`
+* `reverse/2`
+* `samelength/2`
+* `append/3`
+* `member/2`
+* `select/3`
+* `length/2`
+* `nl/0`
+* `phrase/2`
+* `\+/2`
+* `false/0`
+* `true/0`
+* `repeat/0`
+* `once/1`
+* `,/2`
+* `;/2`
+* `->/2`
+* `=\=/2`
+
+and many more all listed [here](https://git.sr.ht/~pmikkelsen/pprolog/tree/master/item/stdlib.pl).
diff --git a/sites/pprolog.org/source.md b/sites/pprolog.org/source.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sites/pprolog.org/source.md