Translating a Linear Logic Programming Language into Java

There have been several proposals for logic programming language based on linear logic: Lolli [8], Lygon [7], LO [3], LinLog [2], Forum [11], HACL [10]. In these languages, it is possible to create and consume resources dynamically as logical formulas. The efficient handling of resource formulas is,...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Electronic notes in theoretical computer science Jg. 30; H. 3; S. 20 - 45
Hauptverfasser: Banbara, Mutsunori, Tamura, Naoyuki
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier B.V 2000
ISSN:1571-0661, 1571-0661
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract There have been several proposals for logic programming language based on linear logic: Lolli [8], Lygon [7], LO [3], LinLog [2], Forum [11], HACL [10]. In these languages, it is possible to create and consume resources dynamically as logical formulas. The efficient handling of resource formulas is, therefore, an important issue in the implementation of these languages. Lolli, Lygon, and Forum are implemented as interpreter systems; Lolli is on SML and λProlog, Lygon is on Prolog, Forum is on SML, λProlog and Prolog. However, none of them have been implemented in Java. In this paper, we describe the Prolog Café 1 system which translates a linear logic programming language called LLP to Java via the LLPAM [12] [5], an extension of the standard WAM [16] [1] for LLP. LLP is a superset of Prolog and a subset of Lolli. The main difference from the first implementation [4] is resource compilation. That is to say, resource formulas are compiled into closures which consist of a reference of compiled code and a set of bindings for free variables. Calling these resources is integrated with the ordinary predicate invocation. Prolog Café is portable to any platform supporting Java and easily expandable with increasing Java's class libraries. In performance, on average, Prolog Café generate 2.2 times faster code for a set of classical Prolog benchmarks compared with jProlog.
AbstractList There have been several proposals for logic programming language based on linear logic: Lolli [8], Lygon [7], LO [3], LinLog [2], Forum [11], HACL [10]. In these languages, it is possible to create and consume resources dynamically as logical formulas. The efficient handling of resource formulas is, therefore, an important issue in the implementation of these languages. Lolli, Lygon, and Forum are implemented as interpreter systems; Lolli is on SML and λProlog, Lygon is on Prolog, Forum is on SML, λProlog and Prolog. However, none of them have been implemented in Java. In this paper, we describe the Prolog Café 1 system which translates a linear logic programming language called LLP to Java via the LLPAM [12] [5], an extension of the standard WAM [16] [1] for LLP. LLP is a superset of Prolog and a subset of Lolli. The main difference from the first implementation [4] is resource compilation. That is to say, resource formulas are compiled into closures which consist of a reference of compiled code and a set of bindings for free variables. Calling these resources is integrated with the ordinary predicate invocation. Prolog Café is portable to any platform supporting Java and easily expandable with increasing Java's class libraries. In performance, on average, Prolog Café generate 2.2 times faster code for a set of classical Prolog benchmarks compared with jProlog.
Author Tamura, Naoyuki
Banbara, Mutsunori
Author_xml – sequence: 1
  givenname: Mutsunori
  surname: Banbara
  fullname: Banbara, Mutsunori
  organization: Department of Mathematics Nara National College of Technology Nara, JAPAN
– sequence: 2
  givenname: Naoyuki
  surname: Tamura
  fullname: Tamura, Naoyuki
  organization: Department of Computer and Systems Engineering Kobe University, Kobe, JAPAN
BookMark eNqFkE9LAzEQxYNUsK1-BGGPeljN7G6SDR5Ein9ZULCewzSbLJE2kWQt-O3dtiLipacZ5vF7zHsTMvLBG0JOgV4ABX75CkxATjmHM8rOawoAeXFAxr_n0Z_9iExSeqe0rEHwMZHziD4tsXe-yzBrnDcYsyZ0TmcvMXQRV6uN1KDvPrEzmfN9yJ5wjcfk0OIymZOfOSVvd7fz2UPePN8_zm6aXBcCipzp2oIwlRSlLrVsgYFdmMK2RV0h16KUAFRaTrlAuWir2gpR17qSC1axSvNySq52vjqGlKKxSrt--Df4PqJbKqBq04LatqA2ERVlatuCKgaa_aM_olth_NrLXe84M0RbOxNV0s54bVoXje5VG9weh29ysnTi
CitedBy_id crossref_primary_10_1016_S1571_0661_04_00155_0
Cites_doi 10.1016/0304-3975(96)00045-X
10.1006/inco.1994.1036
10.1007/BFb0024183
10.1007/BF03037173
10.1016/0304-3975(87)90045-4
10.1093/logcom/2.3.297
ContentType Journal Article
Copyright 2000 Elsevier B.V.
Copyright_xml – notice: 2000 Elsevier B.V.
DBID 6I.
AAFTH
AAYXX
CITATION
DOI 10.1016/S1571-0661(05)80111-2
DatabaseName ScienceDirect Open Access Titles
Elsevier:ScienceDirect:Open Access
CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1571-0661
EndPage 45
ExternalDocumentID 10_1016_S1571_0661_05_80111_2
S1571066105801112
GroupedDBID --K
--M
0R~
1B1
1~5
29G
4.4
457
4G.
5GY
5VS
6I.
7-5
71M
AABNK
AACTN
AAEDT
AAEDW
AAFTH
AAIKJ
AAKOC
AALRI
AAQFI
AAQXK
AAXUO
ABFNM
ABMAC
ABWVN
ACDAQ
ACGFO
ACGFS
ACNNM
ACRLP
ACRPL
ACXMD
ADBBV
ADEZE
ADFGL
ADMUD
ADNMO
ADVLN
AEIPS
AEKER
AEXQZ
AFTJW
AFXIZ
AGHFR
AGQPQ
AIEXJ
AIKHN
AITUG
AJMQA
AKRWK
ALMA_UNASSIGNED_HOLDINGS
AMRAJ
ANKPU
AOUOD
ASPBG
AVWKF
AXJTR
AZFZN
BNPGV
CS3
DU5
EBS
EJD
EO8
EO9
EP2
EP3
FDB
FEDTE
FGOYB
FNPLU
G-Q
GBLVA
HVGLF
HZ~
IHE
IXB
J1W
KOM
KQ8
M41
M~E
N9A
O-L
O9-
OK1
OZT
P2P
R2-
RIG
ROL
RPZ
SDG
SES
SEW
SPC
SSH
SSV
SSW
SSZ
9DU
AAYWO
AAYXX
ACLOT
ACVFH
ADCNI
AEUPX
AFPUW
AIGII
AKBMS
AKYEP
CITATION
~HD
ID FETCH-LOGICAL-c2712-5c8f17e4973c3c9d151fbe2fd284a6c7391109f6067a9bd48f7788c49b5454c63
ISSN 1571-0661
IngestDate Sat Nov 29 07:02:25 EST 2025
Tue Nov 18 21:20:40 EST 2025
Thu Apr 10 08:06:46 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly false
Issue 3
Language English
License http://creativecommons.org/licenses/by-nc-nd/3.0
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c2712-5c8f17e4973c3c9d151fbe2fd284a6c7391109f6067a9bd48f7788c49b5454c63
OpenAccessLink https://dx.doi.org/10.1016/S1571-0661(05)80111-2
PageCount 26
ParticipantIDs crossref_citationtrail_10_1016_S1571_0661_05_80111_2
crossref_primary_10_1016_S1571_0661_05_80111_2
elsevier_sciencedirect_doi_10_1016_S1571_0661_05_80111_2
PublicationCentury 2000
PublicationDate 2000
2000-00-00
PublicationDateYYYYMMDD 2000-01-01
PublicationDate_xml – year: 2000
  text: 2000
PublicationDecade 2000
PublicationTitle Electronic notes in theoretical computer science
PublicationYear 2000
Publisher Elsevier B.V
Publisher_xml – name: Elsevier B.V
References Andreoli (BIB2) 1992; 2
Tamura, Kaneda (BIB12) Nov. 1996
J. S. Hodas, K. Watkins, N. Tamura, and K.-S. Kang. Efficient implementation of a linear logic programming language. In
M. Banbara and N. Tamura. Compiling resources in a linear logic programming language. In Proceedings of Post-JICSLP'98 Workshop on Parallelism and Implementation Technology for Logic Programming Languages, June 1998.
June 1998.
Warren (BIB16) October 1983
Aït-Kaci (BIB1) 1991
Hodas, Miller (bib8) 1994; 110
.
number 456 in Lecture Notes in Computer Science, pages 159-173. Springer, Aug. 1990.
Miller (BIB11) 1996; 165
P. Tarau. BinProlog 5.40 User Guide. Technical Report 97-1, Département d'Informatique, Université de Moncton, Apr. 1997. Available from
N. Tamura and Y. Kaneda. A compiler system of a linear logic programming language. In
Andreoli, Pareschi (BIB3) 1991; 9
M. Banbara and N. Tamura. Java implementation of a linear logic programming language. In Proceedings of the 10th Exhibition and Symposium on Industrial Applications of Prolog, pages 56-63, Oct. 1997.
Girard (BIB6) 1987; 50
Kobayashi, Yonezawa (bib10) 1994
pages 180-183, July 1997.
J. Harland and D. Pym. The uniform proof-theoretic foundation of linear logic programming. In V. Saraswat and K. Ueda, editors, Proceedings of the International Logic Programming Symposium, pages 304-318, San Diego, California, Oct. 1991.
P. Tarau and M. Boyer. Elementary Logic Programs. In P. Deransart and J. Maluszynski, editors
10.1016/S1571-0661(05)80111-2_bib4
10.1016/S1571-0661(05)80111-2_BIB15
10.1016/S1571-0661(05)80111-2_BIB14
Hodas (10.1016/S1571-0661(05)80111-2_bib8) 1994; 110
10.1016/S1571-0661(05)80111-2_BIB9
10.1016/S1571-0661(05)80111-2_BIB13
Girard (10.1016/S1571-0661(05)80111-2_BIB6) 1987; 50
Andreoli (10.1016/S1571-0661(05)80111-2_BIB3) 1991; 9
Kobayashi (10.1016/S1571-0661(05)80111-2_bib10) 1994
Aït-Kaci (10.1016/S1571-0661(05)80111-2_BIB1) 1991
Andreoli (10.1016/S1571-0661(05)80111-2_BIB2) 1992; 2
10.1016/S1571-0661(05)80111-2_bib7
10.1016/S1571-0661(05)80111-2_bib5
Miller (10.1016/S1571-0661(05)80111-2_BIB11) 1996; 165
Tamura (10.1016/S1571-0661(05)80111-2_BIB12) 1996
Warren (10.1016/S1571-0661(05)80111-2_BIB16) 1983
References_xml – volume: 165
  start-page: 201
  year: 1996
  end-page: 232
  ident: BIB11
  article-title: A multiple-conclusion specification logic
  publication-title: Theoretical Computer Science
– reference: P. Tarau. BinProlog 5.40 User Guide. Technical Report 97-1, Département d'Informatique, Université de Moncton, Apr. 1997. Available from
– reference: M. Banbara and N. Tamura. Java implementation of a linear logic programming language. In Proceedings of the 10th Exhibition and Symposium on Industrial Applications of Prolog, pages 56-63, Oct. 1997.
– volume: 110
  start-page: 327
  year: 1994
  end-page: 365
  ident: bib8
  article-title: Logic programming in a fragment of intuitionistic linear logic
  publication-title: Information and Computation
– reference: J. S. Hodas, K. Watkins, N. Tamura, and K.-S. Kang. Efficient implementation of a linear logic programming language. In
– year: 1994
  ident: bib10
  publication-title: Typed higher-order concurrent linear logic programming
– volume: 9
  start-page: 445
  year: 1991
  end-page: 473
  ident: BIB3
  article-title: Linear objects: Logical processes with built-in inheritance
  publication-title: New Generation Computing
– reference: N. Tamura and Y. Kaneda. A compiler system of a linear logic programming language. In
– year: 1991
  ident: BIB1
  publication-title: Warren's Abstract Machine
– reference: , June 1998.
– reference: , number 456 in Lecture Notes in Computer Science, pages 159-173. Springer, Aug. 1990.
– reference: .
– reference: , pages 180-183, July 1997.
– reference: M. Banbara and N. Tamura. Compiling resources in a linear logic programming language. In Proceedings of Post-JICSLP'98 Workshop on Parallelism and Implementation Technology for Logic Programming Languages, June 1998.
– volume: 2
  start-page: 297
  year: 1992
  end-page: 347
  ident: BIB2
  article-title: Logic programming with focusing proofs in linear logic
  publication-title: Journal of Logic and Computation
– year: October 1983
  ident: BIB16
  article-title: An abstract Prolog instruction set
  publication-title: Technical Note 309, SRI International
– volume: 50
  start-page: 1
  year: 1987
  end-page: 102
  ident: BIB6
  article-title: Linear logic
  publication-title: Theoretical Computer Science
– start-page: 33
  year: Nov. 1996
  end-page: 50
  ident: BIB12
  article-title: Extension of WAM for a linear logic programming language
  publication-title: Second Fuji International Workshop on Functional and Logic Programming
– reference: P. Tarau and M. Boyer. Elementary Logic Programs. In P. Deransart and J. Maluszynski, editors,
– reference: J. Harland and D. Pym. The uniform proof-theoretic foundation of linear logic programming. In V. Saraswat and K. Ueda, editors, Proceedings of the International Logic Programming Symposium, pages 304-318, San Diego, California, Oct. 1991.
– volume: 165
  start-page: 201
  issue: 1
  year: 1996
  ident: 10.1016/S1571-0661(05)80111-2_BIB11
  article-title: A multiple-conclusion specification logic
  publication-title: Theoretical Computer Science
  doi: 10.1016/0304-3975(96)00045-X
– volume: 110
  start-page: 327
  issue: 2
  year: 1994
  ident: 10.1016/S1571-0661(05)80111-2_bib8
  article-title: Logic programming in a fragment of intuitionistic linear logic
  publication-title: Information and Computation
  doi: 10.1006/inco.1994.1036
– year: 1994
  ident: 10.1016/S1571-0661(05)80111-2_bib10
– start-page: 33
  year: 1996
  ident: 10.1016/S1571-0661(05)80111-2_BIB12
  article-title: Extension of WAM for a linear logic programming language
– ident: 10.1016/S1571-0661(05)80111-2_BIB13
– ident: 10.1016/S1571-0661(05)80111-2_BIB14
– year: 1991
  ident: 10.1016/S1571-0661(05)80111-2_BIB1
– ident: 10.1016/S1571-0661(05)80111-2_bib7
– ident: 10.1016/S1571-0661(05)80111-2_bib5
– ident: 10.1016/S1571-0661(05)80111-2_bib4
– ident: 10.1016/S1571-0661(05)80111-2_BIB15
  doi: 10.1007/BFb0024183
– volume: 9
  start-page: 445
  year: 1991
  ident: 10.1016/S1571-0661(05)80111-2_BIB3
  article-title: Linear objects: Logical processes with built-in inheritance
  publication-title: New Generation Computing
  doi: 10.1007/BF03037173
– volume: 50
  start-page: 1
  year: 1987
  ident: 10.1016/S1571-0661(05)80111-2_BIB6
  article-title: Linear logic
  publication-title: Theoretical Computer Science
  doi: 10.1016/0304-3975(87)90045-4
– year: 1983
  ident: 10.1016/S1571-0661(05)80111-2_BIB16
  article-title: An abstract Prolog instruction set
– volume: 2
  start-page: 297
  issue: 3
  year: 1992
  ident: 10.1016/S1571-0661(05)80111-2_BIB2
  article-title: Logic programming with focusing proofs in linear logic
  publication-title: Journal of Logic and Computation
  doi: 10.1093/logcom/2.3.297
– ident: 10.1016/S1571-0661(05)80111-2_BIB9
SSID ssj0038176
Score 1.3176062
Snippet There have been several proposals for logic programming language based on linear logic: Lolli [8], Lygon [7], LO [3], LinLog [2], Forum [11], HACL [10]. In...
SourceID crossref
elsevier
SourceType Enrichment Source
Index Database
Publisher
StartPage 20
Title Translating a Linear Logic Programming Language into Java
URI https://dx.doi.org/10.1016/S1571-0661(05)80111-2
Volume 30
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 1571-0661
  dateEnd: 20201231
  omitProxy: false
  ssIdentifier: ssj0038176
  issn: 1571-0661
  databaseCode: AIEXJ
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1La9wwEBZhk0MvbZM2NH0EHVJoCU5sSbuSjiGktDkshaawNyPLFixp7LC7Dum_74wlP7YJSXPoxSxaNDaej5nReOYbQg40yxJbaBHZsdVwQMlUZDiTEcusTITliXN-2IScTtVspr-HzwXLZpyALEt1e6uv_6uqYQ2Uja2zT1B3JxQW4DcoHa6gdrj-m-LR-2CFG3Yf4pkbqXpwpLLFrgAsxrpqOptCohIJI6rDc3Nj1pL0_XScslo1RVtrPY82DIM4DB60T4iW-PmiSbPWq2VdVot5nxy4qv1fU1P9ri_naxmHeGgeJdZJefr0o-KetWBTeTzADh8ayHjgaj2R5B0j7vMJPzrBEGrH449MgzNN2mbJNeLsvxxaV2bYVbChqBRFpfE4bcSk4LY3mYTj1Ihsnnw7m523_hspC5uetPb2fd_Xcf9Mn-Lx5_A890c0gyjl4iV5Ho4X9MTDYptsFOUOedGO7qDBkr8ieoASaqhHCW1QQgcooS1KKKKEIkpek59fzi5Ov0ZhikZkmcRBF1a5RBZCS2651TmEeC4rmMshMDETK7lG0lkHB1lpdJYL5aRUygqdQXAt7ITvklFZlcUbQrnmKk9ygwxIghmnc-1YIoyZOCvyLN4jon0TqQ0U8zjp5Ff6oCb2yFG37dpzrDy2QbWvOQ0w9wFgChB6eOvbp97rHXnm2Rcw6_aejFaLuvhAtuzNar5c7Afs_AGB_YHA
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=Translating+a+Linear+Logic+Programming+Language+into+Java&rft.jtitle=Electronic+notes+in+theoretical+computer+science&rft.au=Banbara%2C+Mutsunori&rft.au=Tamura%2C+Naoyuki&rft.date=2000&rft.issn=1571-0661&rft.eissn=1571-0661&rft.volume=30&rft.issue=3&rft.spage=20&rft.epage=45&rft_id=info:doi/10.1016%2FS1571-0661%2805%2980111-2&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_S1571_0661_05_80111_2
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1571-0661&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1571-0661&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1571-0661&client=summon