Closed borisvassilev closed 9 years ago
Basically, the "The SWI-Prolog library" is what you are looking for, only some libraries are not included in the documentation for historical reasons. Most of them are not that important. I think it is better to include those that are important enough than to have two confusing entries that are more or less the same. Ignoring the fact that only a terrible hack would allow for adding an entry there ...
I understand now. Suggestions for inclusion: dcg/basics
, persistency
, shell
.
I guess that only libraries of a certain level of quality or maturity are currently part of "The SWI-Prolog library"? Is there a guideline for what is the minumum level of documentation that is necessary for a library?
One more question: if you had to recommend to a "newcomer" a place to start looking for existing libraries, would you limit it to "The SWI-Prolog library"?
These libraries would make sense yes. Basically requires making sure that the PlDoc comments
are sufficient and adding them to the manual build process in the man
directory.
New libraries are only added if they satisfy a reasonable demand and are reasonably documented. In the past this was different ...
I don't really know where newcommers should start looking. It depends on the task they have, e.g., for simple rule stuff that fits standard Prolog i'd recomment a proper textbook. HTTP stuff I'd recomment Anne's turotial, etc. I think that reducing the learning curve cannot be solved by the online manual, but must be resolved using teaching material and more findable example code. The manual is good at finding stuff, but bad at explaining how it all fits together.
Boris, the old website used to have two entries for many things, the page you've been talking about is links to the old stuff. Removing the duplicate was a deliberate decision.
I agree, we lack a good way for a total beginner to get from end of Clocksin & Mellish to knowing all the libraries. There's some vague dream that the tutorial series currently on the Pathways server would come to cover most of SWI-Prolog, or that there will be a 'Real World SWI-Prolog' book some day.
The website is, like all large projects, a compromise. Removing the duplicate index scheme was a satisficing solution among development effort, needing to serve people looking for old/odd stuff and needing to be reasonably clear.
The only way to get from
www.swi-prolog.org
to any of the so called "system libraries" is to use the search box and hope to hit an existing library. Would it be useful to add a link to those, for example right below "The SWI-Prolog library"?At the moment, the only way to discover a lot of useful libraries, like
library(dcg/basics)
, orlibrary(persistency)
, is to stumble upon them, or read the code.