Filters








57,993 Hits in 5.0 sec

Declarative Foreign Function Binding Through Generic Programming [chapter]

Jeremy Yallop, David Sheets, Anil Madhavapeddy
2016 Lecture Notes in Computer Science  
In contrast, approaching the design of a foreign function interface as a generic programming problem allows foreign function specifications to be written declaratively, with easy switching between a wide  ...  Foreign function interfaces are typically organised monolithically, tying together the specification of each foreign function with the mechanism used to make the function available in the host language  ...  However, as this paper shows, generic programming techniques can also be applied to binding foreign functions, where the types of interest are the types of the foreign language, and the generic functions  ... 
doi:10.1007/978-3-319-29604-3_13 fatcat:yuygfno4avhllcssapho5r7lmi

A modular foreign function interface

Jeremy Yallop, David Sheets, Anil Madhavapeddy
2018 Science of Computer Programming  
Foreign function interfaces (FFIs) between high-level languages and system libraries typically intertwine the actions of describing the interface of a system library and selecting a binding strategy for  ...  structure as separate program stages.  ...  Let us trace through the details of the staging. The Bindings functor in Figure 5 contains a binding to the gettimeofday function. The first instantiations of Bindings generate C and OCaml code.  ... 
doi:10.1016/j.scico.2017.04.002 fatcat:7vmukszpivck3kjoghrfsjtipa

Using queries with multi-directional functions for numerical database applications [chapter]

Staffan Flodin, Kjell Orsborn, Tore Risch
1998 Lecture Notes in Computer Science  
We show how to model multi-directional functions views containing matrix algebra operators, how to process queries to these views, and how to execute these queries in presence of late binding.  ...  of bound or unbound arguments, called multi-directional functions.  ...  In addition to stored and derived functions AMOS also has foreign functions which are defined using an auxiliary programming language such as C++ and then introduced into the query language [22] .  ... 
doi:10.1007/bfb0057717 fatcat:6xbo7mohpjbnrgpnntritevyfe

Constructing Customized Interpreters from Reusable Evaluators Using Game [chapter]

Stijn Timbermont, Coen De Roover, Theo D'Hondt
2012 Lecture Notes in Computer Science  
Through a transformation into defunctionalized monadic style, the Game toolchain generates a generic abstract machine in which the sequencing of low-level interpretational steps is parameterized.  ...  To this end, Game offers a language for specifying the evaluator according to the generic programming methodology.  ...  Conclusions and future work We presented Game, an environment consisting of a programming language and toolchain for constructing customized interpreters.  ... 
doi:10.1007/978-3-642-30564-1_7 fatcat:yngeh6oinve6xkkpqt4a7w2dsy

Representing Matrices Using Multi-Directional Foreign Functions [chapter]

Kjell Orsborn, Tore Risch, Staffan Flodin
2004 The Functional Approach to Data Management  
Type inheritance and overloading requires the support for late binding of function calls in queries.  ...  Furthermore, queries may use functions as relationships which means that the system needs to process inverses of both tabulated and foreign functions, multi-directional functions.  ...  Here that approach is generalized to multi-argument foreign functions [9] .  ... 
doi:10.1007/978-3-662-05372-0_5 fatcat:xkuihfun75dwhc5w5hjz4ecske

Harvesting models from web 2.0 databases

Oscar Díaz, Gorka Puente, Javier Luis Cánovas Izquierdo, Jesús García Molina
2011 Journal of Software and Systems Modeling  
This can be achieved through SQL scripts embedded in a program. However, this approach leads to laborious code that exposes the iterations and table joins that serve to build the model.  ...  Web2.0 applications are often built on top of general frameworks (a.k.a. engines) that set the database schema (e.g., MediaWiki, Blojsom).  ...  Being a general-programming language, Java+JDBC supports all these scenarios but through direct coding.  ... 
doi:10.1007/s10270-011-0194-z fatcat:bdoxtw626nc7jebemkb7lfhnde

Automatic generation of library bindings using static analysis

Tristan Ravitch, Steve Jackson, Eric Aderhold, Ben Liblit
2009 Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation - PLDI '09  
We describe a suite of interprocedural analyses that recover this high-level information, and we show how the results can be used in a binding generator for the Python programming language.  ...  We present an improved binding-generation strategy based on static analysis of unannotated library source code.  ...  We have written a binding generator targeting the Python programming language.  ... 
doi:10.1145/1542476.1542516 dblp:conf/pldi/RavitchJAL09 fatcat:eypoxwd4b5ebpoy5xh6qnr4jea

IDRIS ---

Edwin C. Brady
2011 Proceedings of the 5th ACM workshop on Programming languages meets program verification - PLPV '11  
Such programs, being fundamental to the operation of computers in general, may stand to benefit significantly from program verification techniques.  ...  The ideas we present are readily adaptable to languages with related type systems. • Dealing with foreign functions which may have more specific inputs and outputs than their C types might suggest -e.g  ...  Extraction generates an ML or Haskell program from a Coq proof, which we can then incorporate in a larger system which deals with the low level details (such as bit processing through foreign functions  ... 
doi:10.1145/1929529.1929536 dblp:conf/plpv/Brady11 fatcat:kog77n5jcvdypdnphseeaoielq

Automatic generation of library bindings using static analysis

Tristan Ravitch, Steve Jackson, Eric Aderhold, Ben Liblit
2009 SIGPLAN notices  
We describe a suite of interprocedural analyses that recover this high-level information, and we show how the results can be used in a binding generator for the Python programming language.  ...  We present an improved binding-generation strategy based on static analysis of unannotated library source code.  ...  We have written a binding generator targeting the Python programming language.  ... 
doi:10.1145/1543135.1542516 fatcat:ltb3yfcptbgdffnlocc6wmfdxe

PIE: A Domain-Specific Language for Interactive Software Development Pipelines

Gabriël Konat, Michael J. Steindorfer, Sebastian Erdweg, Eelco Visser
2018 The Art, Science, and Engineering of Programming  
Compiled pipeline programs can be embedded into interactive environments such as code editors and IDEs, enabling timely feedback at a low cost. Grounding.  ...  PIE provides a straightforward programming model that enables direct and concise expression of pipelines without boilerplate, reducing the development and maintenance effort of pipelines.  ...  Syntax Listing 4 shows PIE's syntax through an EBNF grammar specification. PIE programs are composed of (foreign) function definitions and foreign data types at the top level.  ... 
doi:10.22152/programming-journal.org/2018/2/9 fatcat:fjhn4cql3vcblpmanzoz2dyaty

Towards Lakosian Multilingual Software Design Principles

Damian Lyons, Saba Zahra, Thomas Marshall
2019 Proceedings of the 14th International Conference on Software Technologies  
In the case when cross-language interoperability is accomplished with a Foreign Function Interface (FFI), for example pybind11, Boost.Python, Emscripten, PyV8, or JNI, among many others, common software  ...  Large software systems often comprise programs written in different programming languages.  ...  Foreign Function Interface Programs in one language can communicate with software written in a second language through several means (Grimmer, et al. 2018) : message passing, foreign-function interface  ... 
doi:10.5220/0007958303060314 dblp:conf/icsoft/LyonsZM19 fatcat:f4wmokf7ovgntb6ymy6mc3tbdy

How do programmers use unsafe rust?

Vytautas Astrauskas, Christoph Matheja, Federico Poli, Peter Müller, Alexander J. Summers
2020 Proceedings of the ACM on Programming Languages (PACMPL)  
CCS Concepts: • Software and its engineering → Software libraries and repositories; General programming languages; Software organization and properties; • General and reference → Empirical studies.  ...  This discipline allows the compiler to statically prevent memory errors, data races, inadvertent side effects through aliasing, and other errors that frequently occur in conventional imperative programs  ...  We are grateful to Ana Nora Evans for showing us how to avoid pitfalls related to code generated by macros when extracting information from the Rust compiler.  ... 
doi:10.1145/3428204 fatcat:vt7levbllrekdm7pyk4fkcbafy

Interfacing low-level C device drivers with Ada 95

Steven Doran
1999 ACM SIGAda Ada Letters  
An example of a generic realtime Ada 95 application interfacing with a low-level C serial device driver is used to aid the reader in the concepts and idea's discussed in the paper.  ...  Almost all of the device drivers for these devices are written in the C programming language. However, the selection of the programming language for the project does not need to be confined to C.  ...  Binding to foreign languages in Ada 83 was limited.  ... 
doi:10.1145/319295.319315 fatcat:yeotpopiyvaejevlkfyxdt7g5i

Interfacing low-level C device drivers with Ada 95

Steven Doran
1999 Proceedings of the 1999 annual ACM SIGAda international conference on Ada - SIGAda '99  
An example of a generic realtime Ada 95 application interfacing with a low-level C serial device driver is used to aid the reader in the concepts and idea's discussed in the paper.  ...  Almost all of the device drivers for these devices are written in the C programming language. However, the selection of the programming language for the project does not need to be confined to C.  ...  Binding to foreign languages in Ada 83 was limited.  ... 
doi:10.1145/319294.319315 dblp:conf/sigada/Doran99 fatcat:spgfp3gqvfc4xfrbw47jnd6voa

Foreign Library Interface

Daniel Adler
2012 The R Journal  
We present an improved Foreign Function Interface (FFI) for R to call arbitary native functions without the need for C wrapper code.  ...  The package enables systemlevel programming using the R language; sample applications are given in the article.  ...  We also introduce a dynamic linkage that binds the C interface of a pre-compiled library (as a whole) to an interpreted programming environment such as R -hence the name Foreign Library Interface.  ... 
doi:10.32614/rj-2012-004 fatcat:wmv4yxlzl5dznprapaluodfmgm
« Previous Showing results 1 — 15 out of 57,993 results