🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #815

Turbo Prolog

#815
From: Peter Campbell
Date: Tue, 08 May 1990 00:19
42 lines
2650 bytes
This is a repost - a fault in a local machine has caused an unknown
amount of news/mail sent out to be eaten (our machines have a poor taste
of diet :-) - apologies to anyone who has already seen this.



Hi out there.  I'm currently working on a large project written in
Turbor Prolog, Version 2.0 (Borland).  This project makes extensive uses
of databases, both global and local, being split into about 9 modules.

I have found that IMHO the internal memory management does not appear to be
working - I use a local database for some function, retract all of the
predicates within in, and then find out that the memory does not appear
to be being freed (according to the predefined storage predicate).  The
funny thing is that sometimes when I try using a different database,
when I'm finished with this the memory used by the previous database is
then freed.  This also appears to be random - I have used the same
sequence of key presses 5 times in a row once, and except for the
initial free memory at the start of the program, on every occasion the
free memory was different, according to storage.

Does anyone know
	(1) What Turbo Prolog is doing with its memory management,
	(2) How to free the memory - ideally, a predicate like
db_garbagecollect for internal (rather than its current limitation to
external) databases would be needed - or just a single call that cleans
up all available heap and stack,
	(3) Why do I appear to be getting random numbers?

Could any gurus out there post to the email address below.  I'll
summarize and sent to the net the responses if there appears to be
sufficient interest.  Thanks in advance.

----------------------------------------------------------------------
Peter K. Campbell                      |
2/M6                                   |
Telecom Research Laboratories          | Phone : + 613 541 6751
P.O. Box 249                           | Fax   : + 613 543 6026
Clayton 3168                           | Email : p.campbell@trl.OZ.AU
Victoria, Australia                    |
---------------------------------------------------------------------- 
Technical Details
Message-ID: <1464@trlluna.trl.oz>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!bruce!trlluna!rhea.trl.oz.au!pcampb

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!bruce!trlluna!rhea.trl.oz.au!pcampb
From: pcampb@rhea.trl.oz.au (Peter Campbell)
Newsgroups: comp.lang.prolog
Subject: Turbo Prolog
Summary: Help Please!
Keywords: Memory Management, Databases
Message-ID: <1464@trlluna.trl.oz>
Date: 8 May 90 00:19:15 GMT
Sender: root@trlluna.trl.oz
Reply-To: p.campbell@trl.oz.au (Peter Campbell)
Distribution: comp.lang.prolog
Organization: Telecom Research Labs.
Lines: 42