Embedding the C language into SML#

Isao Sasano, Atsushi Ohori

Research output: Contribution to journalArticle

Abstract

SML# is highly interoperable with C so that we can use C functions without data conversion simply by importing them as SML# functions using special importing expressions. In this paper we extend the SML# language so that we can write C programs directly in SML# programs. We added a special construct for embedding C programs, which is a declaration in the extended SML# language. This extension enables us to write C programs not only in toplevel but also in the declaration part of let expressions, local declarations, structures, and functors. Furthermore we added a functionality of referring to values of SML# variables from embedded C programs.

Original languageEnglish
Pages (from-to)193-203
Number of pages11
JournalComputer Software
Volume29
Issue number2
Publication statusPublished - 2012

ASJC Scopus subject areas

  • Software

Cite this

Sasano, I., & Ohori, A. (2012). Embedding the C language into SML#. Computer Software, 29(2), 193-203.

Embedding the C language into SML#. / Sasano, Isao; Ohori, Atsushi.

In: Computer Software, Vol. 29, No. 2, 2012, p. 193-203.

Research output: Contribution to journalArticle

Sasano, I & Ohori, A 2012, 'Embedding the C language into SML#', Computer Software, vol. 29, no. 2, pp. 193-203.
Sasano, Isao ; Ohori, Atsushi. / Embedding the C language into SML#. In: Computer Software. 2012 ; Vol. 29, No. 2. pp. 193-203.
@article{a5c1e733474a4518baa55d0fb6c503b1,
title = "Embedding the C language into SML#",
abstract = "SML# is highly interoperable with C so that we can use C functions without data conversion simply by importing them as SML# functions using special importing expressions. In this paper we extend the SML# language so that we can write C programs directly in SML# programs. We added a special construct for embedding C programs, which is a declaration in the extended SML# language. This extension enables us to write C programs not only in toplevel but also in the declaration part of let expressions, local declarations, structures, and functors. Furthermore we added a functionality of referring to values of SML# variables from embedded C programs.",
author = "Isao Sasano and Atsushi Ohori",
year = "2012",
language = "English",
volume = "29",
pages = "193--203",
journal = "Computer Software",
issn = "0289-6540",
publisher = "Japan Society for Software Science and Technology",
number = "2",

}

TY - JOUR

T1 - Embedding the C language into SML#

AU - Sasano, Isao

AU - Ohori, Atsushi

PY - 2012

Y1 - 2012

N2 - SML# is highly interoperable with C so that we can use C functions without data conversion simply by importing them as SML# functions using special importing expressions. In this paper we extend the SML# language so that we can write C programs directly in SML# programs. We added a special construct for embedding C programs, which is a declaration in the extended SML# language. This extension enables us to write C programs not only in toplevel but also in the declaration part of let expressions, local declarations, structures, and functors. Furthermore we added a functionality of referring to values of SML# variables from embedded C programs.

AB - SML# is highly interoperable with C so that we can use C functions without data conversion simply by importing them as SML# functions using special importing expressions. In this paper we extend the SML# language so that we can write C programs directly in SML# programs. We added a special construct for embedding C programs, which is a declaration in the extended SML# language. This extension enables us to write C programs not only in toplevel but also in the declaration part of let expressions, local declarations, structures, and functors. Furthermore we added a functionality of referring to values of SML# variables from embedded C programs.

UR - http://www.scopus.com/inward/record.url?scp=84862977604&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84862977604&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:84862977604

VL - 29

SP - 193

EP - 203

JO - Computer Software

JF - Computer Software

SN - 0289-6540

IS - 2

ER -