Did you know ... Search Documentation:
GIT commit info
Added GetStarted page
authorJan Wielemaker
Wed Jun 16 09:11:33 2021 +0200
committerJan Wielemaker
Wed Jun 16 09:11:33 2021 +0200
commit830806bd6d890a2079507af7bf66f396bc16c676
tree88fd8612f51b24d920257a7626297ca107c8abdf
parent681c27a052d1377b5c34ffca2d50133fb58f286e
Diff style: patch stat
diff --git a/GetStarted.md b/GetStarted.md
new file mode 100644
index 0000000..14c5136
--- /dev/null
+++ b/GetStarted.md
@@ -0,0 +1,49 @@
+# Getting Started
+
+_Getting Started_ with Prolog depends on your background and goal. Here
+are some options.
+
+  - __I don't know anything about Prolog and want to learn the language__.  Prolog is
+    quite different than any other programming language you may know.   A background
+    in math and functional programming helps to some extend.  Start with a good
+    introduction text.  Examples are
+
+    - [Simply Logical](http://book.simply-logical.space/)
+    - [Learn Prolog Now](http://lpn.swi-prolog.org/)
+
+    Both are online text books that embed [SWISH](https://swish.swi-prolog.org).
+    SWISH is an online version of SWI-Prolog.  SWISH differs from a local SWI-Prolog
+    installation:
+
+    - As it runs on a shared server it enforces a __sandbox__ that doesn't allow
+      running any dangerous code and rejects code it cannot _prove_ to be safe.
+    - No state is maintained between queries.
+    - Input/output, concurrency and many other SWI-Prolog features are not or
+      only in a limited way supported.
+    - It does provide a nice web based interface that allows for rich output
+      based on HTML or high level vizualization libraries such as
+      [C3.js](https://c3js.org/)
+
+  - __I've made my first steps at Prolog and want to start a real project.__ Start
+    with a local installation for your platform.  Familiarise yourself with the
+    SWI-Prolog [toplevel](https://www.swi-prolog.org/pldoc/man?section=quickstart)
+    and the IDE tools such as the [GUI debugger](https://blog.inductorsoftware.com/blog/SWIPrologGraphicalDebugger).  Establish your debug/edit/reload cycle based on edit/1 and
+    make/0.  The edit/1 primitive finds predicates, files, modules, etc. and hands
+    their position to the built-in editor PceEmacs or the editor of your choice.
+
+    SWI-Prolog comes with a lot of [features](https://www.swi-prolog.org/features.html)
+    that may be useful useful to your project.  Also consider the
+    [add-ons](https://www.swi-prolog.org/pack/list).
+
+  - __I know some Prolog and I want to use SWI-Prolog for data analysis__.  Here
+    SWISH may come really handy, but you do not want the limitations of the shared
+    SWISH server.  You could consider a local installation of SWISH and R
+    for SWI-Prolog, either from source or (starting) from the
+    [Docker images](https://www.swi-prolog.org/Docker.html)
+
+  - __I know some Prolog and I want to use SWI-Prolog as a (web) service__.  Start
+    with a local installation for your platform and the
+    [Web application tutorial](https://www.github.com/Anniepoo/swiplwebtut/blob/master/web.adoc)
+
+
+