Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!wuarchive!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!sics.se!sics.se!roland From: roland@sics.se (Roland Karlsson) Newsgroups: comp.lang.prolog Subject: Re: Arrays in Prolog Message-ID: <1990Aug30.065319.2130@sics.se> Date: 30 Aug 90 06:53:19 GMT References: <90239.175243SCHMIED@DB0TUI11.BITNET> <3899@bingvaxu.cc.binghamton.edu> <1990Aug28.065353.13951@sics.se> <3904@bingvaxu.cc.binghamton.edu> <1990Aug29.095308.18522@sics.se> <3907@bingvaxu.cc.binghamton.edu> Sender: news@sics.se Organization: Swedish Institute of Computer Science, Kista Lines: 21 In-Reply-To: vu0310@bingvaxu.cc.binghamton.edu's message of 29 Aug 90 15:14:56 GMT > We have the possibility of doing things like communicating > between alternatives in a disjunction, or implementing arrays > (does Sicstus allow large arities for structs -- it's > a bit hard to do (e.g. in "copyterm" -- part of the assert/clause > mechanism) everywhere)? This comes in handy for implementing > bagof/3, etc. The only way the user can communicate between different Or-branches is via the database (or a file or a UNIX* socket). Bagof etc. is implemented with an optimized version of database predicates. A system programmer can use a destructive setarg that never restores its value at backtracking. I am very very sad (%-<). SICStus only allows up to 256 arguments for struct. -- Roland Karlsson SICS, PO Box 1263, S-164 28 KISTA, SWEDEN Internet: roland@sics.se Tel: +46 8 752 15 40 Ttx: 812 61 54 SICS S Fax: +46 8 751 72 30