A few questions about Prolog...



I have a few questions about Prolog. In fact, the questions are about
Prolog implementations. Next term, I will be taking a course on logic
programming, and I decided to learn the thing beforehand. I tried a
few Prolog implementations, and would appreciate if the community
could correct my first impressions about the language.

1-- I started with SWI-Prolog, but I ran into an unexpected behavior
of the compiler: I have written a few simple drills for who are
learning French; the programs work, but I get nasty error messages
that spoil the output aesthetic. I posted a simplified version of the
culprit code on this forum, and you can check it if you want. Besides
this, SWI-Prolog seems to use a lot of memory for its many stacks.
Even a small bechmark requires 200 M of stack space. Is it true that
SWI-Prolog uses a lot of memory for stacks? I am not sure whether this
conclusion is correct, because I may be doing something really stupid,
like running the programs with the debug on.

2-- My next trial was GNU-Prolog. Since I need a nice GUI, and I found
three very good GUI implementations for GNU-Prolog, it would be my
first choice, except for its hunger for memory space. In fact, GNU-
Prolog seems to have three stacks, and refuses to run even the
smallest program before getting at least 500 M of memory. For
instance, in order to run tak 100 times, it requires 300M of local
stack, 120M of trail stack, etc. Therefore, the only point that I
could find in favor of GNU-Prolog is a good choice of GUI.

3-- YAP. This implementation is quite interesting. It seems that YAP
is an interpreter, but it is as fast as GNU-Prolog in most benchmarks,
and does not consume as much memory; in fact, YAP goes through all
benchmarks without a single message of memory overflow. Am I right? On
the other hand, I could not find a single GUI ready to go on YAP.

If it had a GUI for Windows, my choice would be YAP. However, I think
that my only option is GNU-Prolog. If I am wrong, let me know.
.



Relevant Pages

  • Re: Overview Of New Intel Core i7(Nehalem) Processor
    ... If x86 had serious i/d space separation, and Microcrap used it, all ... Code space being in different chips, on a different bus is the ideal. ... The memory can be logically divided into sections and security can be ... stacks in the same address space as the subroutine code itself! ...
    (sci.electronics.design)
  • Re: A few questions about Prolog...
    ... few Prolog implementations, and would appreciate if the community ... SWI-Prolog uses a lot of memory for stacks? ... No, Jan, I did not change the extension from .pl to something else. ...
    (comp.lang.prolog)
  • Re: TS1000 / ZX81 Rom changes
    ... These ten-liners caused the two opposing stacks to work like fury and swell to such a size that all the RAM was used. ... I was thrilled to see these actually working in the BASin development system which has a memory viewer. ... You just keep reading and going round in circles and eventually bits start to make sense and the bigger picture reveals itself. ... That's why you can never finish the disassembly book. ...
    (comp.sys.sinclair)
  • Re: How hard is socket programming?
    ... application that reads standard input to read your ... terms are Memory Map File or File Map ... so no thread stacks are ... MVP Tips: http://www.flounder.com/mvp_tips.htm ...
    (microsoft.public.vc.mfc)
  • Re: A few questions about Prolog...
    ... few Prolog implementations, and would appreciate if the community ... SWI-Prolog seems to use a lot of memory for its many stacks. ... SWI-Prolog uses a lot of memory for stacks? ...
    (comp.lang.prolog)