The execution algorithm of mercury, an efficient purely declarative logic programming language

We introduce Mercury, a new purely declarative logic programming language designed to provide the support that groups of application programmers need when building large programs. Mercury's strong type, mode, and determinism systems improve program reliability by catching many errors at compile...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The journal of logic programming Jg. 29; H. 1; S. 17 - 64
Hauptverfasser: Somogyi, Zoltan, Henderson, Fergus, Conway, Thomas
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier Inc 1996
ISSN:0743-1066, 1873-5789
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract We introduce Mercury, a new purely declarative logic programming language designed to provide the support that groups of application programmers need when building large programs. Mercury's strong type, mode, and determinism systems improve program reliability by catching many errors at compile time. We present a new and relatively simple execution model that takes advantage of the information these systems provide, yielding very efficient code. The Mercury compiler uses this execution model to generate portable C code. Our benchmarking shows that the code generated by our implementation is significantly faster than the code generated by mature optimizing implementations of other logic programming languages.
AbstractList We introduce Mercury, a new purely declarative logic programming language designed to provide the support that groups of application programmers need when building large programs. Mercury's strong type, mode, and determinism systems improve program reliability by catching many errors at compile time. We present a new and relatively simple execution model that takes advantage of the information these systems provide, yielding very efficient code. The Mercury compiler uses this execution model to generate portable C code. Our benchmarking shows that the code generated by our implementation is significantly faster than the code generated by mature optimizing implementations of other logic programming languages.
Author Henderson, Fergus
Conway, Thomas
Somogyi, Zoltan
Author_xml – sequence: 1
  givenname: Zoltan
  surname: Somogyi
  fullname: Somogyi, Zoltan
  organization: Department of Computer Science, University of Melbourne, Parkville, 3052 Vict., Australia
– sequence: 2
  givenname: Fergus
  surname: Henderson
  fullname: Henderson, Fergus
– sequence: 3
  givenname: Thomas
  surname: Conway
  fullname: Conway, Thomas
BookMark eNqFkE1LxDAQhoMouH78BCEnUbCatEma4kFE_ALBg3o1pOmkRtpmTdLF_fd2XfHgxdPM4X1eZp4dtDn4ARA6oOSUEirOnkjJiowSIY4qcUwIETJjG2hGZVlkvJTVJpr9RrbRTozvU4hSymfo9fkNMHyCGZPzA9Zd64NLbz32FvcQzBiWJ1gPGKx1xsGQ8HwM0C1xA6bTQSe3ANz51hk8D74Nuu_d0OJOD-2oW9hDW1Z3EfZ_5i56ubl-vrrLHh5v768uHzLDSZEyJppa5nnFQVhWa0ZtIytpGKuYIDUXvKZFbW2dc10C17WctionUpDpvdJCsYsO173TER8jxKR6Fw100x3gx6hywQTnhZyCfB00wccYwKp5cL0OS0WJWtlU3zbVSpWqhPq2qdjEnf_hjEt65SwF7bp_6Ys1DZODhYOg4kqmgcYFMEk13v3T8AX7ppHE
CitedBy_id crossref_primary_10_1017_S1471068407003055
crossref_primary_10_1017_S1471068421000430
crossref_primary_10_1145_1352582_1352585
crossref_primary_10_1016_j_entcs_2008_03_080
crossref_primary_10_3390_sym16020181
crossref_primary_10_1023_A_1015161716072
crossref_primary_10_1017_S0956796809990086
crossref_primary_10_1017_S147106842510015X
crossref_primary_10_1007_s10994_012_5305_8
crossref_primary_10_1145_3428193
crossref_primary_10_1017_S1471068414000672
crossref_primary_10_1145_1216374_1216378
crossref_primary_10_1017_S026988890000802X
crossref_primary_10_1016_j_ipl_2009_04_016
crossref_primary_10_1017_S1471068415000204
crossref_primary_10_1145_1749608_1749610
crossref_primary_10_1016_S1571_0661_05_80105_7
crossref_primary_10_1016_S1571_0661_05_80661_9
crossref_primary_10_4204_EPTCS_416_28
crossref_primary_10_1023_A_1013280119003
crossref_primary_10_1016_S0743_1066_97_10013_9
crossref_primary_10_1017_S1471068409003792
crossref_primary_10_1017_S1471068414000246
crossref_primary_10_3233_IA_170108
crossref_primary_10_1017_S1471068412000075
crossref_primary_10_1002_spe_2407
crossref_primary_10_1017_S1471068411000202
crossref_primary_10_1016_S0304_3975_02_00614_X
crossref_primary_10_1016_S0743_1066_98_10032_8
crossref_primary_10_1016_S1571_0661_05_80639_5
crossref_primary_10_1016_S0743_1066_96_00144_6
crossref_primary_10_1017_S1471068422000102
crossref_primary_10_1016_S0096_0551_97_00012_X
crossref_primary_10_1145_1721654_1721675
crossref_primary_10_1145_3729314
crossref_primary_10_1145_1462166_1462169
crossref_primary_10_1016_S0304_3975_99_00155_3
crossref_primary_10_1109_TCIAIG_2013_2287297
crossref_primary_10_1007_s10601_009_9085_0
crossref_primary_10_1017_S1471068411000457
crossref_primary_10_1007_s10601_008_9041_4
crossref_primary_10_1017_S1471068422000187
crossref_primary_10_1145_1108970_1108974
crossref_primary_10_1016_S1571_0661_05_80124_0
crossref_primary_10_1017_S1471068411000184
crossref_primary_10_1007_s00354_008_0085_1
crossref_primary_10_1145_1016848_1016865
crossref_primary_10_1002__SICI_1097_024X_199911_29_13_1173__AID_SPE276_3_0_CO_2_X
crossref_primary_10_1016_j_artint_2019_103174
crossref_primary_10_1007_s00165_016_0399_6
crossref_primary_10_1017_S1471068415000332
crossref_primary_10_1016_j_entcs_2007_05_043
crossref_primary_10_1017_S1471068424000206
crossref_primary_10_1145_311531_311533
crossref_primary_10_1145_2499370_2462194
crossref_primary_10_1016_S1571_0661_04_00248_8
crossref_primary_10_1145_3649848
crossref_primary_10_1016_S0743_1066_98_10036_5
crossref_primary_10_1017_S1471068420000216
crossref_primary_10_1017_S1471068411000421
Cites_doi 10.1007/BF03037396
10.1002/spe.4380180902
10.1109/2.108055
10.1016/0004-3702(84)90017-1
ContentType Journal Article
Copyright 1996
Copyright_xml – notice: 1996
DBID 6I.
AAFTH
AAYXX
CITATION
7SC
8FD
JQ2
L7M
L~C
L~D
DOI 10.1016/S0743-1066(96)00068-4
DatabaseName ScienceDirect Open Access Titles
Elsevier:ScienceDirect:Open Access
CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Computer and Information Systems Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Advanced Technologies Database with Aerospace
ProQuest Computer Science Collection
Computer and Information Systems Abstracts Professional
DatabaseTitleList
Computer and Information Systems Abstracts
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1873-5789
EndPage 64
ExternalDocumentID 10_1016_S0743_1066_96_00068_4
S0743106696000684
GroupedDBID --K
--M
-~X
.~1
0R~
0SF
123
1B1
1RT
1~.
1~5
29K
4.4
4G.
5VS
6I.
7-5
71M
8P~
AACTN
AAEDT
AAEDW
AAFTH
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAQXK
AAXUO
AAYFN
ABBOA
ABEFU
ABMAC
ABVKL
ABXDB
ABYKQ
ACDAQ
ACGFS
ACNCT
ACNNM
ACRLP
ADBBV
ADEZE
ADMUD
AEKER
AETEA
AEXQZ
AFFNX
AFKWA
AFTJW
AGHFR
AGUBO
AGYEJ
AHHHB
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
ASPBG
AVWKF
AXJTR
AZFZN
BKOJK
BLXMC
CS3
D-I
D0L
EBS
EFJIC
EJD
EO8
EO9
EP2
EP3
FDB
FEDTE
FGOYB
FIRID
FNPLU
FYGXN
G-2
G-Q
G8K
GBOLZ
HVGLF
HZ~
IHE
IXB
KOM
KQ8
LG9
M26
M41
MO0
NCXOZ
O-L
O9-
OAUVE
OK1
OZT
P-9
PC.
Q38
R2-
ROL
RPZ
SDF
SDG
SEW
SPC
SSV
SSZ
T5K
TN5
UHS
WUQ
XJT
9DU
AATTM
AAXKI
AAYWO
AAYXX
ABDPE
ABJNI
ABWVN
ACLOT
ACRPL
ACVFH
ADCNI
ADNMO
ADVLN
AEIPS
AEUPX
AFPUW
AGQPQ
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
CITATION
EFKBS
~HD
7SC
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c503t-46db82295e6f4ba41fd898c449460b565b13bffb25a7e5ab8b259208605787fe3
ISICitedReferencesCount 142
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=10_1016_S0743_1066_96_00068_4&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0743-1066
IngestDate Sat Sep 27 20:24:46 EDT 2025
Sat Nov 29 06:24:12 EST 2025
Tue Nov 18 22:18:22 EST 2025
Fri Feb 23 02:34:25 EST 2024
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly false
Issue 1
Language English
License http://www.elsevier.com/open-access/userlicense/1.0
https://www.elsevier.com/tdm/userlicense/1.0
https://www.elsevier.com/open-access/userlicense/1.0
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c503t-46db82295e6f4ba41fd898c449460b565b13bffb25a7e5ab8b259208605787fe3
Notes ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
OpenAccessLink https://dx.doi.org/10.1016/S0743-1066(96)00068-4
PQID 26465538
PQPubID 23500
PageCount 48
ParticipantIDs proquest_miscellaneous_26465538
crossref_primary_10_1016_S0743_1066_96_00068_4
crossref_citationtrail_10_1016_S0743_1066_96_00068_4
elsevier_sciencedirect_doi_10_1016_S0743_1066_96_00068_4
PublicationCentury 1900
PublicationDate 1996-00-00
PublicationDateYYYYMMDD 1996-01-01
PublicationDate_xml – year: 1996
  text: 1996-00-00
PublicationDecade 1990
PublicationTitle The journal of logic programming
PublicationYear 1996
Publisher Elsevier Inc
Publisher_xml – name: Elsevier Inc
References Kemp, Ramamohanarao, Balbin, Meenakshi (BIB15) Oct. 1989
Gudeman, Debray, DeBosschere (BIB7) Nov. 1992
Milner (BIB19) July 1984
Codognet, Diaz (BIB4) June 1995
Wadler (BIB33) Apr. 1990
Debray, Warren (BIB5) June 1986
Seki, Furukawa (BIB24) Aug. 1987
Henderson, Somogyi, Conway (BIB11) 1996
Van Roy, Despain (BIB32) Jan. 1992; 25
Hill, Lloyd (BIB14) 1994
Zhou (BIB36) June 1994
Hausman (BIB8) June 1993
Taylor (BIB29) June 1990
Henderson, Conway, Somogyi, Jeffery (BIB10) 1996
Ait-Kaci (BIB1) 1991
Drabent (BIB6) Aug. 1987
Taylor (BIB30) June 1991
Henderson (BIB13) Oct. 1993
Somogyi (BIB28) June 1987
Mulkers, Winsborough, Bruynooghe (BIB20) June 1990
Boehm, Weiser (BIB2) 1988; 18
Carlsson, Widen (BIB3) 1988
Shapiro (BIB25) 1983
Wielemaker (BIB35) 1993
Henderson, Somogyi, Conway (BIB12) Aug. 1995
Kluzniak (BIB16) June 1987
Somogyi (BIB27) Jan. 1989
Lloyd (BIB17) 1987; 5
Marien, Janssen, Mulkers, Bruynooghe (BIB18) June 1989
Smolka (BIB26) July 1984
Haygood (BIB9) June 1994
Warren (BIB34) Oct. 1983
Thom, Zobel (BIB31) 1986
Mycroft, O'Keefe (BIB21) 1984; 23
(BIB23) 1992
Pereira (BIB22) June 1986
Pereira (10.1016/S0743-1066(96)00068-4_BIB22) 1986
(10.1016/S0743-1066(96)00068-4_BIB23) 1992
Henderson (10.1016/S0743-1066(96)00068-4_BIB12) 1995
Ait-Kaci (10.1016/S0743-1066(96)00068-4_BIB1) 1991
Kluzniak (10.1016/S0743-1066(96)00068-4_BIB16) 1987
Smolka (10.1016/S0743-1066(96)00068-4_BIB26) 1984
Wielemaker (10.1016/S0743-1066(96)00068-4_BIB35) 1993
Hausman (10.1016/S0743-1066(96)00068-4_BIB8) 1993
Lloyd (10.1016/S0743-1066(96)00068-4_BIB17) 1987; 5
Van Roy (10.1016/S0743-1066(96)00068-4_BIB32) 1992; 25
Gudeman (10.1016/S0743-1066(96)00068-4_BIB7) 1992
Thom (10.1016/S0743-1066(96)00068-4_BIB31) 1986
Wadler (10.1016/S0743-1066(96)00068-4_BIB33) 1990
Somogyi (10.1016/S0743-1066(96)00068-4_BIB28) 1987
Codognet (10.1016/S0743-1066(96)00068-4_BIB4) 1995
Seki (10.1016/S0743-1066(96)00068-4_BIB24) 1987
Shapiro (10.1016/S0743-1066(96)00068-4_BIB25) 1983
Marien (10.1016/S0743-1066(96)00068-4_BIB18) 1989
Henderson (10.1016/S0743-1066(96)00068-4_BIB11) 1996
Hill (10.1016/S0743-1066(96)00068-4_BIB14) 1994
Mycroft (10.1016/S0743-1066(96)00068-4_BIB21) 1984; 23
Henderson (10.1016/S0743-1066(96)00068-4_BIB13) 1993
Carlsson (10.1016/S0743-1066(96)00068-4_BIB3) 1988
Drabent (10.1016/S0743-1066(96)00068-4_BIB6) 1987
Taylor (10.1016/S0743-1066(96)00068-4_BIB30) 1991
Somogyi (10.1016/S0743-1066(96)00068-4_BIB27) 1989
Taylor (10.1016/S0743-1066(96)00068-4_BIB29) 1990
Milner (10.1016/S0743-1066(96)00068-4_BIB19) 1984
Boehm (10.1016/S0743-1066(96)00068-4_BIB2) 1988; 18
Zhou (10.1016/S0743-1066(96)00068-4_BIB36) 1994
Henderson (10.1016/S0743-1066(96)00068-4_BIB10) 1996
Warren (10.1016/S0743-1066(96)00068-4_BIB34) 1983
Mulkers (10.1016/S0743-1066(96)00068-4_BIB20) 1990
Debray (10.1016/S0743-1066(96)00068-4_BIB5) 1986
Kemp (10.1016/S0743-1066(96)00068-4_BIB15) 1989
Haygood (10.1016/S0743-1066(96)00068-4_BIB9) 1994
References_xml – year: 1983
  ident: BIB25
  article-title: Algorithm Program Debugging
– start-page: 174
  year: June 1990
  end-page: 185
  ident: BIB29
  article-title: LIPS on a MIPS: Results from a Prolog Compiler for a RISC
  publication-title: Proc. 7th Int. Conf. on Logic Programming
– volume: 25
  start-page: 54
  year: Jan. 1992
  end-page: 68
  ident: BIB32
  article-title: High-Performance Logic Programming with the Aquarius Prolog Compiler
  publication-title: IEEE Computer
– year: 1991
  ident: BIB1
  article-title: Warren's Abstract Machine: A Tutorial Reconstruction
– volume: 23
  start-page: 295
  year: 1984
  end-page: 307
  ident: BIB21
  article-title: A Polymorphic Type System for Prolog
  publication-title: Artificial Intelligence
– year: Oct. 1983
  ident: BIB34
  article-title: An Abstract Prolog Instruction Set
  publication-title: Technical Report 309
– start-page: 389
  year: Aug. 1987
  end-page: 396
  ident: BIB6
  article-title: Do Logic Programs Resemble Programs in Conventional Languages?
  publication-title: Proc. 4th IEEE Symp. on Logic Programming
– year: 1994
  ident: BIB14
  article-title: The Gödel Programming Language
– year: 1996
  ident: BIB10
  article-title: The Mercury Language Reference Manual
  publication-title: Technical Report 96/10
– year: Oct. 1993
  ident: BIB13
  article-title: Strong Modes Can Change the World!
  publication-title: Technical Report 93/25
– year: 1992
  ident: BIB23
  publication-title: Types in Logic Programming
– year: 1986
  ident: BIB31
  article-title: NU-Prolog Reference Manual
  publication-title: Technical Report 86/10
– start-page: 769
  year: June 1987
  end-page: 787
  ident: BIB28
  article-title: A System of Precise Modes for Logic Programs
  publication-title: Proc. 4th Int. Conf. on Logic Programming
– start-page: 190
  year: June 1994
  end-page: 204
  ident: BIB9
  article-title: Native Code Compilation in SICStus Prolog
  publication-title: Proc. 11th Int. Conf. on Logic Programming
– start-page: 215
  year: Aug. 1987
  end-page: 223
  ident: BIB24
  article-title: Notes on Transformation Techniques for Generate and Test Logic Programs
  publication-title: Proc. 4th IEEE Symp. on Logic Programming
– year: 1996
  ident: BIB11
  article-title: Compiling Logic Programs to C Using GNU C as a Portable Assembler
  publication-title: Technical Report 96/12
– start-page: 311
  year: July 1984
  end-page: 322
  ident: BIB26
  article-title: Making Control and Data Flow in Logic Programs Explicit
  publication-title: Conf. Rec. ACM Symp. on LISP and Functional Programming
– start-page: 547
  year: Apr. 1990
  end-page: 566
  ident: BIB33
  article-title: Linear Types Can Change the World!
  publication-title: Proc. IFIP TC2 Conf. on Programming Concepts and Methods
– year: 1988
  ident: BIB3
  article-title: SICStus-Prolog User's Manual
  publication-title: Technical Report 88007B
– start-page: 981
  year: Oct. 1989
  end-page: 998
  ident: BIB15
  article-title: Propagating Constraints in Recursive Deductive Databases
  publication-title: Proc. 1st North American Conf. on Logic Programming
– start-page: 203
  year: June 1986
  end-page: 210
  ident: BIB22
  article-title: Rational Debugging in Logic Programming
  publication-title: Proc. 3rd Int. Conf. on Logic Programming
– start-page: 159
  year: June 1994
  end-page: 174
  ident: BIB36
  article-title: On the Scheme of Passing Arguments in Stack Frames for Prolog
  publication-title: Proc. 11th Int. Conf. on Logic Programming
– start-page: 747
  year: June 1990
  end-page: 762
  ident: BIB20
  article-title: Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs
  publication-title: Proc. 7th Int. Conf. on Logic Programming
– year: Aug. 1995
  ident: BIB12
  article-title: Determinism Analysis in the Mercury Compiler
  publication-title: Technical Report 95/25
– year: June 1991
  ident: BIB30
  article-title: High Performance Prolog Implementation
  publication-title: Ph.D. thesis
– volume: 18
  start-page: 807
  year: 1988
  end-page: 820
  ident: BIB2
  article-title: Garbage Collection in an Uncooperative Environment
  publication-title: Software Practice and Experience
– start-page: 788
  year: June 1987
  end-page: 816
  ident: BIB16
  article-title: Type Synthesis for Ground Prolog
  publication-title: Proc. 4th Int. Conf. on Logic Programming
– start-page: 33
  year: June 1989
  end-page: 47
  ident: BIB18
  article-title: The Impact of Abstract Interpretations: An Experiment in Code Generation
  publication-title: Proc. 6th Int. Conf. on Logic Programming
– year: 1993
  ident: BIB35
  article-title: SWI-Prolog Reference Manual
  publication-title: Technical Report
– start-page: 490
  year: June 1986
  end-page: 504
  ident: BIB5
  article-title: Detection and Optimization of Functional Computations in Prolog
  publication-title: Proc. 3rd Int. Conf. on Logic Programming
– start-page: 317
  year: June 1995
  end-page: 331
  ident: BIB4
  article-title: wamcc: Compiling Prolog to C
  publication-title: Proc. 12th Int. Conf. on Logic Programming
– start-page: 399
  year: Nov. 1992
  end-page: 416
  ident: BIB7
  article-title: jc: An Efficient and Portable Sequential Implementation of Janus
  publication-title: Proc Int. Conf. and Symp. on Logic Programming
– start-page: 1
  year: June 1993
  end-page: 12
  ident: BIB8
  article-title: Carpe Diem, Some Implementation Aspects of Turbo Erlang
  publication-title: Proc. Workshop on Practical Implementations and Systems Experience in Logic Programming
– volume: 5
  start-page: 133
  year: 1987
  end-page: 154
  ident: BIB17
  article-title: Declarative Error Diagnosis
  publication-title: New Generation Computing
– year: Jan. 1989
  ident: BIB27
  article-title: A Parallel Logic Programming System Based on Strong and Precise Modes
  publication-title: Ph.D. thesis
– start-page: 184
  year: July 1984
  end-page: 197
  ident: BIB19
  article-title: A Proposal for Standard ML
  publication-title: Conf. Rec. ACM Symp. on LISP and Functional Programming
– start-page: 33
  year: 1989
  ident: 10.1016/S0743-1066(96)00068-4_BIB18
  article-title: The Impact of Abstract Interpretations: An Experiment in Code Generation
– start-page: 311
  year: 1984
  ident: 10.1016/S0743-1066(96)00068-4_BIB26
  article-title: Making Control and Data Flow in Logic Programs Explicit
– year: 1996
  ident: 10.1016/S0743-1066(96)00068-4_BIB11
  article-title: Compiling Logic Programs to C Using GNU C as a Portable Assembler
– start-page: 203
  year: 1986
  ident: 10.1016/S0743-1066(96)00068-4_BIB22
  article-title: Rational Debugging in Logic Programming
– volume: 5
  start-page: 133
  issue: 2
  year: 1987
  ident: 10.1016/S0743-1066(96)00068-4_BIB17
  article-title: Declarative Error Diagnosis
  publication-title: New Generation Computing
  doi: 10.1007/BF03037396
– start-page: 399
  year: 1992
  ident: 10.1016/S0743-1066(96)00068-4_BIB7
  article-title: jc: An Efficient and Portable Sequential Implementation of Janus
– volume: 18
  start-page: 807
  year: 1988
  ident: 10.1016/S0743-1066(96)00068-4_BIB2
  article-title: Garbage Collection in an Uncooperative Environment
  publication-title: Software Practice and Experience
  doi: 10.1002/spe.4380180902
– start-page: 747
  year: 1990
  ident: 10.1016/S0743-1066(96)00068-4_BIB20
  article-title: Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs
– start-page: 215
  year: 1987
  ident: 10.1016/S0743-1066(96)00068-4_BIB24
  article-title: Notes on Transformation Techniques for Generate and Test Logic Programs
– start-page: 184
  year: 1984
  ident: 10.1016/S0743-1066(96)00068-4_BIB19
  article-title: A Proposal for Standard ML
– year: 1983
  ident: 10.1016/S0743-1066(96)00068-4_BIB25
– start-page: 190
  year: 1994
  ident: 10.1016/S0743-1066(96)00068-4_BIB9
  article-title: Native Code Compilation in SICStus Prolog
– start-page: 788
  year: 1987
  ident: 10.1016/S0743-1066(96)00068-4_BIB16
  article-title: Type Synthesis for Ground Prolog
– year: 1989
  ident: 10.1016/S0743-1066(96)00068-4_BIB27
  article-title: A Parallel Logic Programming System Based on Strong and Precise Modes
– start-page: 389
  year: 1987
  ident: 10.1016/S0743-1066(96)00068-4_BIB6
  article-title: Do Logic Programs Resemble Programs in Conventional Languages?
– volume: 25
  start-page: 54
  issue: 1
  year: 1992
  ident: 10.1016/S0743-1066(96)00068-4_BIB32
  article-title: High-Performance Logic Programming with the Aquarius Prolog Compiler
  publication-title: IEEE Computer
  doi: 10.1109/2.108055
– start-page: 981
  year: 1989
  ident: 10.1016/S0743-1066(96)00068-4_BIB15
  article-title: Propagating Constraints in Recursive Deductive Databases
– year: 1996
  ident: 10.1016/S0743-1066(96)00068-4_BIB10
  article-title: The Mercury Language Reference Manual
– year: 1992
  ident: 10.1016/S0743-1066(96)00068-4_BIB23
– start-page: 159
  year: 1994
  ident: 10.1016/S0743-1066(96)00068-4_BIB36
  article-title: On the Scheme of Passing Arguments in Stack Frames for Prolog
– start-page: 1
  year: 1993
  ident: 10.1016/S0743-1066(96)00068-4_BIB8
  article-title: Carpe Diem, Some Implementation Aspects of Turbo Erlang
– year: 1993
  ident: 10.1016/S0743-1066(96)00068-4_BIB35
  article-title: SWI-Prolog Reference Manual
– start-page: 174
  year: 1990
  ident: 10.1016/S0743-1066(96)00068-4_BIB29
  article-title: LIPS on a MIPS: Results from a Prolog Compiler for a RISC
– start-page: 547
  year: 1990
  ident: 10.1016/S0743-1066(96)00068-4_BIB33
  article-title: Linear Types Can Change the World!
– year: 1993
  ident: 10.1016/S0743-1066(96)00068-4_BIB13
  article-title: Strong Modes Can Change the World!
– volume: 23
  start-page: 295
  year: 1984
  ident: 10.1016/S0743-1066(96)00068-4_BIB21
  article-title: A Polymorphic Type System for Prolog
  publication-title: Artificial Intelligence
  doi: 10.1016/0004-3702(84)90017-1
– year: 1983
  ident: 10.1016/S0743-1066(96)00068-4_BIB34
  article-title: An Abstract Prolog Instruction Set
– year: 1995
  ident: 10.1016/S0743-1066(96)00068-4_BIB12
  article-title: Determinism Analysis in the Mercury Compiler
– year: 1986
  ident: 10.1016/S0743-1066(96)00068-4_BIB31
  article-title: NU-Prolog Reference Manual
– year: 1994
  ident: 10.1016/S0743-1066(96)00068-4_BIB14
– year: 1991
  ident: 10.1016/S0743-1066(96)00068-4_BIB30
  article-title: High Performance Prolog Implementation
– year: 1988
  ident: 10.1016/S0743-1066(96)00068-4_BIB3
  article-title: SICStus-Prolog User's Manual
– year: 1991
  ident: 10.1016/S0743-1066(96)00068-4_BIB1
– start-page: 769
  year: 1987
  ident: 10.1016/S0743-1066(96)00068-4_BIB28
  article-title: A System of Precise Modes for Logic Programs
– start-page: 490
  year: 1986
  ident: 10.1016/S0743-1066(96)00068-4_BIB5
  article-title: Detection and Optimization of Functional Computations in Prolog
– start-page: 317
  year: 1995
  ident: 10.1016/S0743-1066(96)00068-4_BIB4
  article-title: wamcc: Compiling Prolog to C
SSID ssj0001115
Score 1.4452056
Snippet We introduce Mercury, a new purely declarative logic programming language designed to provide the support that groups of application programmers need when...
SourceID proquest
crossref
elsevier
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 17
Title The execution algorithm of mercury, an efficient purely declarative logic programming language
URI https://dx.doi.org/10.1016/S0743-1066(96)00068-4
https://www.proquest.com/docview/26465538
Volume 29
WOSCitedRecordID wos10_1016_S0743_1066_96_00068_4&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 1873-5789
  dateEnd: 20001231
  omitProxy: false
  ssIdentifier: ssj0001115
  issn: 0743-1066
  databaseCode: AIEXJ
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3Lb9MwGLdKx4EL4ynGY_jAAQSBtHbs-DhNmwaHCYkhVRyI4sQuSGlSde1o_439xXyOH8k2TQMkLlYU2bHk75fv5e-B0CsKdqzmKY1KLUhEEymiXCYkUqCajjlTYJLIttkEPz5OJxPxeTA497kwZxWv63S9FvP_Smp4B8Q2qbN_Qe7wUXgBz0B0GIHsMP4x4dVaFSvbA7yaNmD__5jZi_RF4e7N4bdWbfUIEwswN1WVN29LVVS-EnjLEn301sz4E7xns6_Omr16tSeuLAr-m2bWTDdt4MC3plp2iDxqO9m5rK9DtZiugo6_39S_8s2lIKbSJeyxzl3mU2YuRHTamqgxc_WvLddNOYmAdYg-W3aOkD78LI-1uZ5OWtsS6FfkgHVJfAmbgbYuYDAdUlnq0ooultlu55qpYNKZSfQW2hpzMLeGaGvv48HkU5DvIB2SUNwVFnR5YR-6DV8L9sZtdp3Gc0n2twrNyT1011kieM8i6D4aqPoB2vZdPrBj-g_RdyAyDoDCAVC40dgB6h3OaxzghC2ccA9OuEUG7iEDezg9Ql8PD072jyLXlSMqkpgsI8pKaboEJIppKnM60mUq0oJSQVkswT6QIyK1luMk5yrJZQpPYgyWc2yEg1bkMRrWTa2eIFzEo1gSJchIgyJfgvYvWc5NVhmnlGi2g6g_uaxwJetN55Qq62IT4cAzc-CZMPGZcOAZ3UHvw7K5rdly04LUkyVziqdVKDPA001LX3oyZsCYzW1bXqtmdZqBpcESUCee_vvHn6E7NknAePyeo-FysVIv0O3ibPnzdLHrcPkbYKmxAw
linkProvider Elsevier
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=The+execution+algorithm+of+mercury%2C+an+efficient+purely+declarative+logic+programming+language&rft.jtitle=The+journal+of+logic+programming&rft.au=Somogyi%2C+Zoltan&rft.au=Henderson%2C+Fergus&rft.au=Conway%2C+Thomas&rft.date=1996&rft.pub=Elsevier+Inc&rft.issn=0743-1066&rft.eissn=1873-5789&rft.volume=29&rft.issue=1&rft.spage=17&rft.epage=64&rft_id=info:doi/10.1016%2FS0743-1066%2896%2900068-4&rft.externalDocID=S0743106696000684
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0743-1066&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0743-1066&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0743-1066&client=summon