Polymorphism and Page Tables Systems Programming From a Functional Programmer's Perspective

被引:0
|
作者
Jones, Mark P. [1 ]
机构
[1] Portland State Univ, Portland, OR 97207 USA
关键词
Functional programming; systems programming; type systems; data representation; memory manipulation;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
With features that include lightweight syntax, expressive type systems, and deep semantic foundations, functional languages are now being used to develop an increasingly broad range of complex, real-world applications. In the area of systems software, however, where performance and interaction with low-level aspects of hardware are central concerns, many practitioners still eschew the advantages of higher-level languages for the potentially unsafe but predictable behavior of traditional imperative languages like C. It is ironic that critical applications such as operating systems kernels, device drivers, and VMMs-where a single bug could compromise the reliability or security of a whole system-are among the least likely to benefit from the abstractions and safety guarantees of modern language designs. Over the last few years, our group has been investigating the potential for using Haskell to develop realistic operating systems that can boot and run on bare metal. The House system, developed primarily by Thomas Hallgren and Andrew Tolmach, demonstrates that it is indeed possible to construct systems software in a functional language. But House still relies on a layer of runtime support primitives-some written using unsafe Haskell primitives and others written in C-to provide services ranging from garbage collection to control of the page table structures used by the hardware memory management unit. We would like to replace as much of this layer as possible with code written in a functional language without compromising on type or memory safety. Our experiences with House have led us to believe that a new functional language is required to reflect the needs of the systems domain more directly. Interestingly, however, we have concluded that this does not require fundamental new language design. In this invited talk, I will give an update on the current status of our project and I will describe how we are leveraging familiar components of the Haskell type system-including polymorphism, kinds, qualified types and improvement-to capture more precise details of effect usage, data representation, and termination. I will also discuss the challenges of writing and compiling performance-sensitive code written in a functional style. It was once considered radical to use C in place of assembly language to construct systems software. Is it possible that functional languages might one day become as commonplace in this application domain as C is today?
引用
收藏
页码:265 / 265
页数:1
相关论文
共 50 条
  • [11] Functional genomics from a plant biochemist's perspective
    Ohlrogge, J
    Ruuska, S
    Mekhedov, S
    Girke, T
    Benning, C
    ACTA AGRICULTURAE SCANDINAVICA SECTION B-SOIL AND PLANT SCIENCE, 2003, 53 : 41 - 50
  • [12] Functional reconstruction of dynamical systems from time series using genetic programming
    McConaghy, T
    Leung, H
    Varadan, V
    IECON 2000: 26TH ANNUAL CONFERENCE OF THE IEEE INDUSTRIAL ELECTRONICS SOCIETY, VOLS 1-4: 21ST CENTURY TECHNOLOGIES AND INDUSTRIAL OPPORTUNITIES, 2000, : 2031 - 2034
  • [13] Fact-oriented modeling from a programming language designer's perspective
    Pepels, Betsy
    Plasmeijer, Rinus
    Proper, H. A.
    ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS 2006: OTM 2006 WORKSHOPS, PT 2, PROCEEDINGS, 2006, 4278 : 1170 - +
  • [14] Analysis of the functional orientation of agricultural systems from the perspective of resource circulation
    Xu, Zihan
    Fan, Weiguo
    Dong, Xiaobin
    Wang, Xue-Chao
    Liu, Yanxu
    Xue, Haili
    Klemes, Jiri Jaromir
    JOURNAL OF CLEANER PRODUCTION, 2020, 258
  • [15] The neural systems of tool and action semantics: A perspective from functional imaging
    Noppeney, Uta
    JOURNAL OF PHYSIOLOGY-PARIS, 2008, 102 (1-3) : 40 - 49
  • [16] Acquired monocular vision - Functional consequences from the patient's perspective
    Coday, MP
    Warner, MA
    Jahrling, KV
    Rubin, PAD
    OPHTHALMIC PLASTIC AND RECONSTRUCTIVE SURGERY, 2002, 18 (01): : 56 - 63
  • [17] Functional requirements of critical care information systems (CCIS) from the users' perspective
    von Dincklage, Falk
    Suchodolski, Klaudiusz
    Lichtner, Gregor
    Friesdorf, Wolfgang
    Podtschaske, Beatrice
    Ragaller, Maximilian
    INTERNATIONAL JOURNAL OF MEDICAL INFORMATICS, 2018, 120 : 8 - 13
  • [18] Parameterizing plankton functional type models: insights from a dynamical systems perspective
    Cropp, Roger
    Norbury, John
    JOURNAL OF PLANKTON RESEARCH, 2009, 31 (09) : 939 - 963
  • [19] Application difficulties in information systems: from a pharmacist's perspective
    Bessard, R.
    ONCOLOGIE, 2017, 19 (11-12) : 375 - 380
  • [20] Review of pipeline coating systems from an operator's perspective
    Thompson, I.
    Saithala, J. R.
    CORROSION ENGINEERING SCIENCE AND TECHNOLOGY, 2016, 51 (02) : 118 - 135