Replies: 3 comments 15 replies
-
|
See also #1. 1- As far as I know both SWI's pack and LogTalk's pack depend on system specific features that would make them a bit of a pain to port. I think both of them also assume which predicates come from which packages, which is different in different systems ( 2- Compatibility with SWI's 3- Both of those have the same "system specificity" that I pointed out in 1. 4- It is a bad fit because to use it properly I think we would need to solve multiple versions of the same dependency (which happens all the time in Nix and it's actually a feature). However, poetry2nix exists, so it may actually be possible to do something there. Another reason that it's a bad fit is that Nix is not supported on Windows and I don't think it will gain support anytime soon. |
Beta Was this translation helpful? Give feedback.
-
|
@bakaq already gave a thorough answer, but for me, the main motivation is having a convenient, ISO Prolog-oriented solution, rather than relying on system-specific managers or using general-purpose tools not designed for Prolog dependency management. I also hope we can leverage the strengths of Prolog to do actual reasoning over dependencies, for example, license compatibility, automatic system compatibility detection, and potentially even (semi-)automatic compatibility layers. I believe a well-designed package manager could also encourage more code discovery, reuse, and sharing. Of course, a good registry (as mentioned in #10) is probably the key piece, but a solid package manager is an a priori. As someone new to Prolog, it's surprising to me that this kind of tooling doesn't already exist. It also feels strange that Prolog is so fragmented across systems, almost like multiple dialects (a bit of a strong word, but that’s how it feels) tied to specific implementations, rather than one language with multiple compatible implementations. I hope a package manager could help, in some way, to address what seems to me like a issue. (We have to dream big, right? 😂) |
Beta Was this translation helpful? Give feedback.
-
I am surprised to see such statements now repeated here. The Scryer module system is compatible with SICStus. I again point to ichiban/prolog#292 (comment). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
It seems like there is already a package system used by SWI prolog:
https://www.swi-prolog.org/howto/Pack.html
prolog_pack? (the long list of dependencies might be such a reason https://www.swi-prolog.org/pldoc/doc/_SWI_/library/prolog_pack.pl)pack.plformat in a way that is compatible? (e.g. adding a new term to declare the dialect or version of the Prolog processor required, or define some package tokens to declare compatibility or incompatibility with various language features)flake.nixfile!). Is there some reason why it's a bad fit for Prolog packages?Beta Was this translation helpful? Give feedback.
All reactions