Academic Journal

Embedding an interpreted language using higher-order functions and types.

Λεπτομέρειες βιβλιογραφικής εγγραφής
Τίτλος: Embedding an interpreted language using higher-order functions and types.
Συγγραφείς: RAMSEY, NORMAN
Πηγή: Journal of Functional Programming; Nov2011, Vol. 21 Issue 6, p585-615, 31p
Θεματικοί όροι: Embedded computer systems, Programming languages, Application software, Software engineering, Mathematical functions software, Embeddings (Mathematics), Lua (Computer program language)
Περίληψη: Using an embedded, interpreted language to control a complicated application can have significant software-engineering benefits. But existing interpreters are designed for embedding into C code. To embed an interpreter into a different language requires an API suited to that language. This paper presents Lua-ML, a new API that is suited to languages that provide higher-order functions and types. The API exploits higher-order functions and types to reduce the amount of glue code needed to use an embedded interpreter. Where embedding in C requires a special-purpose “glue function” for every function to be embedded, embedding in Lua-ML requires only a description of each function's type. Lua-ML also makes it easy to define a Lua function whose behavior depends on the number and types of its arguments. [ABSTRACT FROM AUTHOR]
Copyright of Journal of Functional Programming is the property of Cambridge University Press and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Βάση Δεδομένων: Complementary Index
FullText Links:
  – Type: other
Text:
  Availability: 0
Header DbId: edb
DbLabel: Complementary Index
An: 67486043
RelevancyScore: 834
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 834.066711425781
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Embedding an interpreted language using higher-order functions and types.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22RAMSEY%2C+NORMAN%22">RAMSEY, NORMAN</searchLink>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: Journal of Functional Programming; Nov2011, Vol. 21 Issue 6, p585-615, 31p
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Embedded+computer+systems%22">Embedded computer systems</searchLink><br /><searchLink fieldCode="DE" term="%22Programming+languages%22">Programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Application+software%22">Application software</searchLink><br /><searchLink fieldCode="DE" term="%22Software+engineering%22">Software engineering</searchLink><br /><searchLink fieldCode="DE" term="%22Mathematical+functions+software%22">Mathematical functions software</searchLink><br /><searchLink fieldCode="DE" term="%22Embeddings+%28Mathematics%29%22">Embeddings (Mathematics)</searchLink><br /><searchLink fieldCode="DE" term="%22Lua+%28Computer+program+language%29%22">Lua (Computer program language)</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Using an embedded, interpreted language to control a complicated application can have significant software-engineering benefits. But existing interpreters are designed for embedding into C code. To embed an interpreter into a different language requires an API suited to that language. This paper presents Lua-ML, a new API that is suited to languages that provide higher-order functions and types. The API exploits higher-order functions and types to reduce the amount of glue code needed to use an embedded interpreter. Where embedding in C requires a special-purpose “glue function” for every function to be embedded, embedding in Lua-ML requires only a description of each function's type. Lua-ML also makes it easy to define a Lua function whose behavior depends on the number and types of its arguments. [ABSTRACT FROM AUTHOR]
– Name: Abstract
  Label:
  Group: Ab
  Data: <i>Copyright of Journal of Functional Programming is the property of Cambridge University Press and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edb&AN=67486043
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1017/S0956796811000219
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 31
        StartPage: 585
    Subjects:
      – SubjectFull: Embedded computer systems
        Type: general
      – SubjectFull: Programming languages
        Type: general
      – SubjectFull: Application software
        Type: general
      – SubjectFull: Software engineering
        Type: general
      – SubjectFull: Mathematical functions software
        Type: general
      – SubjectFull: Embeddings (Mathematics)
        Type: general
      – SubjectFull: Lua (Computer program language)
        Type: general
    Titles:
      – TitleFull: Embedding an interpreted language using higher-order functions and types.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: RAMSEY, NORMAN
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 11
              Text: Nov2011
              Type: published
              Y: 2011
          Identifiers:
            – Type: issn-print
              Value: 09567968
          Numbering:
            – Type: volume
              Value: 21
            – Type: issue
              Value: 6
          Titles:
            – TitleFull: Journal of Functional Programming
              Type: main
ResultId 1