Open matteoredaelli opened 4 years ago
It is an interesting proposal!
I think an important prerequisite for this is that libraries can actually be easily shared between systems. As I see it, fundamental consensus is necessary on at least 3 key issues:
double_quotes
set to chars
by default)Currently, the newest Prolog systems (Scryer, Tau and Trealla) all agree on points (1) and (2). This is really excellent news, and an important step to sharing libraries between them. It is also future-proof in the sense that it moves in a good direction, and makes it possible for other conforming systems to also adopt this approach if they want to participate.
To port CLP(ℤ), if_/3
etc. between systems, the interface for attributed variables, designed and pioneered by SICStus Prolog and also implemented in Scryer Prolog, needs to become available in Tau Prolog and other interested systems too.
Note that there isn't anything special about the library
directory alias. Using it for dependencies of multiple origins is fragile: any external source (that is by its nature outside your control) can be updated with a file that will name clash with a file from a different source. Thus, you should use different directory aliases for each origin (including for your own libraries). If you think that you can solve or minimize these potential problems using a careful ordering of file_search_path/2
facts: don't. This predicate is a multifile predicate and thus your code should never depend on the order of its clauses.
Hello
I'd like to see slim prolog implementations with sharable libraries. Most of prolog implementations live inside a single scm repository with
Maybe it would be better to split the code in two or more repositories:
In this way external prolog projects (but also prolog implementations) could import libraries from one or more prolog implementations. My prolog project could have for instance:
What do you think about it?