[comp.lang.prolog] Prolog Memory Management in DOS

methods@oasys.dt.navy.mil (William Mills) (11/16/90)

Turbo Prolog, Quintus, and perhaps other IMB PC implementations have memory
management problems - presumably caused by the 640K ceiling - such as rapidly
running out of stack space during recursion and a conflict between needing more
code space and more heap space.  Is there a solution using expanded memory?
Alternatively, is there a Prolog that runs under OS/2 or a UNIX for the IBM PC
that would avoid such problems by automatically accessing all memory?

todd@uhunix1.uhcc.Hawaii.Edu (Todd Ogasawara) (11/16/90)

In article <4361@oasys.dt.navy.mil> methods@oasys.dt.navy.mil (William Mills) writes:
>Alternatively, is there a Prolog that runs under OS/2 or a UNIX for the IBM PC
>that would avoid such problems by automatically accessing all memory?

I see full page ads in AI Expert every month touting an OS/2 version of
Arity/Prolog. I have no experience with this product though.

Has anyone seen or heard anything about Arity's DOS-based Prolog
interpreter/compiler lately? I haven't gotten any update notices or
bug reports/fixes in two or three years....todd
--
Todd Ogasawara, U. of Hawaii
UUCP:		{uunet,ucbvax,dcdwest}!ucsd!nosc!uhunix!todd
BITNET:		todd@uhunix
INTERNET:	todd@uhunix.UHCC.HAWAII.EDU

bradley@cs.utexas.edu (Fletcher Mattox) (11/17/90)

Current DOS products from both Arity and Quintus allow only 64k (1 segment) of
stack space for each of the stacks--so, yes, they do run out almost instantly
if you're passing around large terms.

Arity's "solution" is their OS/2 product--which is utterly useless to those of
us who know better than to move to OS/2.

Quintus (actually LPA) has announced a 386 version of their DOS implementation,
which will thus have no specific memory limits (it runs under a DOS extender,
so can access all the memory in the computer).  This, to my way of thinking, is
the way to go.  (Ken, is this product available yet?)

Bradley

-------------------------------------------------------------------------------
 Bradley L. Richards             "The abandonment of formal mathematics
 bradley@cs.utexas.edu           is an extremely popular thing to do in
 uucp:  cs.utexas.edu!bradley    computer science."
                                                    Dr. Robert Boyer, NACLP-90
-------------------------------------------------------------------------------

dowding@ai.sri.com (John Dowding) (11/17/90)

In article <14722@cs.utexas.edu> bradley@cs.utexas.edu (Fletcher Mattox) writes:


   Quintus (actually LPA) has announced a 386 version of their DOS implementation,
   which will thus have no specific memory limits (it runs under a DOS extender,
   so can access all the memory in the computer).  This, to my way of thinking, is
   the way to go.  (Ken, is this product available yet?)

   Bradley


Is anyone going to come up with a good implementation that uses Windows
3.0 as the DOS extender, so I could run it on my grumpy old '286?

bradley@cs.utexas.edu (Bradley L. Richards) (11/19/90)

In article <DOWDING.90Nov16121021@palm.ai.sri.com> dowding@ai.sri.com (John Dowding) writes:
>
>Is anyone going to come up with a good implementation that uses Windows
>3.0 as the DOS extender, so I could run it on my grumpy old '286?

Note that Windows is *not* a DOS extender in the sense you mean.  Windows
provides a multi-tasking environment, as does DESQView (which in my mind is
preferable to Windows).  But either environment (or just standard DOS for that
matter) will run programs which were written using a DOS extender like PharLap.
I'm not exactly sure how many applications have been extended (in this sense)
for 286's--the great advantage for 386's is that the extenders kick the CPU
into the native 386 mode with a flat memory architecture.  Presumably similar
advantages can be had by using the 286 in true 286 mode, but I don't know if
this is done very often since getting out of 286 mode literally requires a
hard CPU reset (one of the reasons the 286 was called "brain-dead" by many
reviewers).

But again, DOS extenders are a completely separate issue from environments like
Windows....

Bradley