🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #3783

Quintus Prolog Memory Management

#3783
From: Alex Kean
Date: Thu, 17 Nov 1988 00:15
39 lines
1907 bytes
I was attempting to run a Quintus Prolog program that potentially generates
exponential number of clauses on the inputs. In my case, my set of clauses 
are roughly 200 where each clause is about 5 literals. They are represented 
by a list of lists. Unfortunately I ran into [segmentation fault] on a Sun4, 
SunOS 3.2. I suspected there is some problem with the memory management. I
decided to test the memory by writing the following simple program: 

  (1) an outer "loop" that run for "N" times; 
  (2) an inner loop that mutiply a list of 10 chars ['1234567890'] 
      for 18 times and never returns the list.

By calling "loop(300)" on the Sun4, the program crash and exits Quintus Prolog.

Questions: (a) Which stack has overflowed ?
           (b) In general, what are the factors to observe when writing
               prolog programs that takes up lots of memory. 

-------------------------------------------------------------------------
pair(0,_).
pair(N,X) :-
  append(X,X,Z1),
  N1 is N - 1,
  pair(N1,Z1).

loop(0).
loop(N) :-
  pair(18,['0123456789']),
  !, garbage_collect,
  J is N -1,
  loop(J).
-------------------------------------------------------------------------

Thanks.

Alex Kean
Department of Computer Science
University of British Columbia
Vancouver, British Columbia,
Canada.
Technical Details
Message-ID: <3@ubc-cs.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!seismo!sundc!pitstop!sun!amdcad!ames!mailrus!cornell!uw-beaver!ubc-cs!grads.cs.ubc.ca!kean
References: <ALF.88Oct2184429@hathor.sics.se > <818@etive.ed.ac.uk> <687@quintus.UUCP> <7919@megaron.arizona.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!seismo!sundc!pitstop!sun!amdcad!ames!mailrus!cornell!uw-beaver!ubc-cs!grads.cs.ubc.ca!kean
From: kean@grads.cs.ubc.ca (Alex Kean)
Newsgroups: comp.lang.prolog
Subject: Quintus Prolog Memory Management
Message-ID: <3@ubc-cs.UUCP>
Date: 17 Nov 88 00:15:16 GMT
References: <ALF.88Oct2184429@hathor.sics.se > <818@etive.ed.ac.uk> <687@quintus.UUCP> <7919@megaron.arizona.edu>
Sender: news@cs.ubc.ca
Reply-To: kean@grads.cs.ubc.ca (Alex Kean)
Organization: UBC Department of Computer Science, Vancouver, B.C., Canada
Lines: 39