SML#: Toward the ideal interoperability between languages and systemsMoreVMs Keynote
This talk introduces the development of the SML# language and its native code compiler from the perspective of its interoperability with operating systems and foreign libraries. SML# is a statically-typed functional programming language derived from Standard ML. One of its core features is interoperability with the C language, which enables SML# programs to be used and statically-linked with C libraries. For example, SML# does not provide any builtin primitives for multithreading but allows the users to import C functions that may create threads. Even in a statically-typed language equipped with native code generation, achieving such an interoperability is not straightforward because of polymorphism and garbage collection, which are also closely related to VM-based dynamic languages. The major policy of the SML# development is to make everything “natural” without elaborating its own run-time environment; in other words, SML# regards the native platform as the target VM shared with other languages. This talk will give the design choices and internal details of the SML# compiler and run-time system, including type-directed compilation and independence of garbage collector from thread scheduler.
Mon 13 MarDisplayed time zone: Osaka, Sapporo, Tokyo change
11:00 - 12:00 | MoreVMs IIMoreVMs at Faculty of Engineering Building 6, Seminar Room A Chair(s): Tomoharu Ugawa University of Tokyo | ||
11:00 60mKeynote | SML#: Toward the ideal interoperability between languages and systemsMoreVMs Keynote MoreVMs |