🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #1946

Re: Environments

#1946
From: Richard A. O'Keefe
Date: Mon, 25 Mar 1991 05:24
41 lines
2604 bytes
In article <1991Mar23.162203.305@csc.canterbury.ac.nz>,
fore057@csc.canterbury.ac.nz writes:
> o Users have plenty of control over memory allocation for code, stack, heap,
> and so on.

Gods below!  One of the major *FLAWS* in Turbo/PDC (and a lot of other
products too, to be fair), and it's called a feature!  One of the points
about Prolog systems is that memory management is the SYSTEM's problem,
not the programmer's.  The half-dozen or so Prolog systems I use from
time to time divide memory up using half-a-dozen or so different schemes.
(For example, one has a special memory area whose size I HAVE TO control
for numbers.  Ick!)  Dynamically resizing memory areas and moving them
around to fit may have been state of the art 20 years ago, but by now it
is "kindergarten" level.

Let me give you an example of what is WRONG with this approach.
As it happens, the system I was using was Turbo Prolog 2.something
There was one phase of the program which needed a lot of space in
area A, but very little in area B.  A later phase needed a lot of
space in area B, but very little in area A.  It turned out to be
impossible to find a single static allocation which was adequate
for both phases.  So I just couldn't run my program.  Why?  Because
of an entirely ARTIFICIAL restriction.  There was more than enough
space on the machine to do the job.  (In fact ALS Prolog just flew
through it.)  But because Turbo's implementors had seen fit to
unload part of *their* job onto the paying customer, the system was
not usable.

In operating systems such as MS-DOS, where several programs may
be sharing a single address space, it *is* reasonable to ask the
programmer to specify a limit on the *total* amount of memory to be
dedicated to any particular program.  But the size of individual
highly-system-specific partitions?  That is quite *unreasonable*.

> o There is plenty of on-line help, plus a very complete set of manuals.

Hm.  Presumably PDC have rewritten the manuals completely.  I found the
Turbo 2.something manuals incomplete and confusing.

-- 
Seen from an MVS perspective, UNIX and MS-DOS are hard to tell apart.
Technical Details
Message-ID: <5044@goanna.cs.rmit.oz.au>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok
References: <1991Mar23.162203.305@csc.canterbury.ac.nz>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok
From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
Newsgroups: comp.lang.prolog
Subject: Re: Environments
Message-ID: <5044@goanna.cs.rmit.oz.au>
Date: 25 Mar 91 05:24:28 GMT
References: <1991Mar23.162203.305@csc.canterbury.ac.nz>
Organization: Comp Sci, RMIT, Melbourne, Australia
Lines: 41