• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to previous page

Tagless-final DSL embedding: how to keep extending the language and be sure it will still work

Research Project

Project/Area Number 17K00091
Research Category

Grant-in-Aid for Scientific Research (C)

Allocation TypeMulti-year Fund
Section一般
Research Field Software
Research InstitutionTohoku University

Principal Investigator

KISELYOV Oleg  東北大学, 情報科学研究科, 助教 (50754602)

Project Period (FY) 2017-04-01 – 2023-03-31
Project Status Completed (Fiscal Year 2022)
Budget Amount *help
¥4,550,000 (Direct Cost: ¥3,500,000、Indirect Cost: ¥1,050,000)
Fiscal Year 2019: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
Fiscal Year 2018: ¥1,690,000 (Direct Cost: ¥1,300,000、Indirect Cost: ¥390,000)
Fiscal Year 2017: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
KeywordsDSL / Domain-specific language / tagless-final / denotational semantics / algebra / domain-specific language / domain-specifc language / NBE / ソフトウエア開発効率化・安定化 / ソフトウエア学 / プログラミング言語 / 関数プログラミング
Outline of Final Research Achievements

Tagless-final approach is a method for embedding domain-specific languages (DSLs) in a programming language. It addresses the principal challenge: implementing embedded DSLs that are (1) efficient; (2) easily extensible for new domain knowledge; (3) statically assured to "do no wrong" no matter how they are modified. Proposed in the author's prior research, the present research has developed the approach to a practical extent: a wide variety of DSLs, from database query and highest-performance stream processing to natural language grammar and semantics. The results are taught at summer schools, presented at scientific meetings, published in journal articles and a monograph. The approach underlies the new undergraduate class `Compilers' that I have developed and taught. The tagless-final approach has been seemingly successfully used in other academic and commercial projects, and explained in several books and taught in many tutorials, by people with no affiliation with me.

Academic Significance and Societal Importance of the Research Achievements

Tagless-final was used in the conduct of Personalized Genomic Cancer Vaccine clinical trial NCT02721043, Mount Sinai - Hammer Lab, 2016-2019. Tagless-final has been used in several companies and large-scale research projects, and mentioned in job ads. I had no involvement with these applications.

Report

(7 results)
  • 2022 Annual Research Report   Final Research Report ( PDF )
  • 2021 Research-status Report
  • 2020 Research-status Report
  • 2019 Research-status Report
  • 2018 Research-status Report
  • 2017 Research-status Report
  • Research Products

    (62 results)

All 2023 2022 2021 2020 2019 2018 2017 Other

All Int'l Joint Research (6 results) Journal Article (19 results) (of which Int'l Joint Research: 18 results,  Peer Reviewed: 18 results,  Open Access: 5 results) Presentation (20 results) (of which Int'l Joint Research: 15 results,  Invited: 3 results) Book (1 results) Remarks (16 results)

  • [Int'l Joint Research] University of Cambridge(英国)

    • Related Report
      2021 Research-status Report
  • [Int'l Joint Research] Indiana University(米国)

    • Related Report
      2020 Research-status Report
  • [Int'l Joint Research] EPFL(スイス)

    • Related Report
      2020 Research-status Report
  • [Int'l Joint Research] Academia Sinica (Taiwan)(その他の国・地域)

    • Related Report
      2020 Research-status Report
  • [Int'l Joint Research] Indiana University(米国)

    • Related Report
      2019 Research-status Report
  • [Int'l Joint Research] Academia Sinica (Taiwan)(その他の国・地域)

    • Related Report
      2019 Research-status Report
  • [Journal Article] Events and Relative Clauses2023

    • Author(s)
      Oleg Kiselyov and Haruki Watanabe
    • Journal Title

      Lecture Notes in Computer Science

      Volume: in print

    • Related Report
      2022 Annual Research Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Generating C2022

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 13215 Pages: 75-93

    • DOI

      10.1007/978-3-030-99461-7_5

    • ISBN
      9783030994600, 9783030994617
    • Related Report
      2022 Annual Research Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Do Mutable Variables Have Reference Types?2022

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      ACM SIGPLAN ML Family Workshop 2022/ ArXiv

      Volume: 2211.04107

    • Related Report
      2022 Annual Research Report
    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Journal Article] Generating C: System Description2022

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      LNCS, Proc. of FLOPS 2022, accepted and in print

      Volume: n/a

    • Related Report
      2021 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Polynomial Event Semantics: Negation2021

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 12758 Pages: 82-95

    • DOI

      10.1007/978-3-030-79942-7_6

    • ISBN
      9783030799410, 9783030799427
    • Related Report
      2021 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Not by equations alone: Reasoning with extensible effects2021

    • Author(s)
      KISELYOV OLEG、MU SHIN-CHENG、SABRY AMR
    • Journal Title

      Journal of Functional Programming

      Volume: 31

    • DOI

      10.1017/s0956796820000271

    • Related Report
      2020 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Session Types Without Sophistry2020

    • Author(s)
      Kiselyov Oleg、Imai Keigo
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 12073 Pages: 66-87

    • DOI

      10.1007/978-3-030-59025-3_5

    • ISBN
      9783030590246, 9783030590253
    • Related Report
      2020 Research-status Report
    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Journal Article] Lambek Grammars as Second-Order Abstract Categorial Grammars2020

    • Author(s)
      Kiselyov Oleg、Hoshino Yuya
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 12331 Pages: 231-243

    • DOI

      10.1007/978-3-030-58790-1_15

    • ISBN
      9783030587895, 9783030587901
    • Related Report
      2020 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] より清浄なStream Fusion2020

    • Author(s)
      小林 友明, Oleg Kiselyov
    • Journal Title

      日本ソフトウェア科学会第37回大会, 2020

      Volume: -

    • Related Report
      2020 Research-status Report
  • [Journal Article] Many more predecessors: A representation workout2020

    • Author(s)
      KISELYOV OLEG
    • Journal Title

      Journal of Functional Programming

      Volume: 30

    • DOI

      10.1017/s095679682000009x

    • Related Report
      2019 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Lambek Grammars as Second-order Abstract Categorial Grammars2020

    • Author(s)
      Oleg Kiselyov and Hoshino Yuya
    • Journal Title

      Lecture Notes in Computer Science (in Press)

      Volume: in press

    • Related Report
      2019 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Effects Without Monads: Non-determinism ? Back to the Meta Language2019

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      Electronic Proceedings in Theoretical Computer Science

      Volume: 294 Pages: 15-40

    • DOI

      10.4204/eptcs.294.2

    • Related Report
      2019 Research-status Report
    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Journal Article] Polynomial Event Semantics2019

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 11717 Pages: 313-324

    • DOI

      10.1007/978-3-030-31605-1_23

    • ISBN
      9783030316044, 9783030316051
    • Related Report
      2019 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Eff Directly in OCaml2018

    • Author(s)
      Kiselyov Oleg、Sivaramakrishnan KC
    • Journal Title

      Electronic Proceedings in Theoretical Computer Science

      Volume: 285 Pages: 23-58

    • DOI

      10.4204/eptcs.285.2

    • Related Report
      2018 Research-status Report
    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Journal Article] $$\lambda $$λ to SKI, Semantically2018

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 10818 Pages: 33-50

    • DOI

      10.1007/978-3-319-90686-7_3

    • ISBN
      9783319906850, 9783319906867
    • Related Report
      2018 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Transformational Semantics on a Tree Bank2018

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 10838 Pages: 241-252

    • DOI

      10.1007/978-3-319-93794-6_17

    • ISBN
      9783319937939, 9783319937946
    • Related Report
      2018 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Transformational Semantics (TS) on a Tree Bank2018

    • Author(s)
      Kiselyov Oleg
    • Journal Title

      Lecture Notes in Computer Science

      Volume: in press

    • Related Report
      2017 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Sound and Efficient Language-Integrated Query2017

    • Author(s)
      Kiselyov Oleg、Katsushima Tatsuya
    • Journal Title

      Lecture Notes in Computer Science

      Volume: 10695 Pages: 364-383

    • DOI

      10.1007/978-3-319-71237-6_18

    • ISBN
      9783319712369, 9783319712376
    • Related Report
      2017 Research-status Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] Higher-order Programming is an Effect2017

    • Author(s)
      Oleg Kiselyov
    • Journal Title

      Informal Proc. HOPE 2017 at ICFP 2017. Oxford, UK, Sep 3, 2017

      Volume: na

    • Related Report
      2017 Research-status Report
    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Presentation] Do Mutable Variables Have Reference Types?2022

    • Author(s)
      Oleg Kiselyov
    • Organizer
      ACM SIGPLAN ML 2022 Workshop
    • Related Report
      2022 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Generating C2022

    • Author(s)
      Oleg Kiselyov
    • Organizer
      FLOPS 2022
    • Related Report
      2022 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Events and Relative Clauses2022

    • Author(s)
      Oleg Kiselyov
    • Organizer
      LENLS (Logic and Engineering of Natural Language Semantics 19)
    • Related Report
      2022 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Lambek Grammars and a New Look to Context-Free Grammars (half-tutorial)2022

    • Author(s)
      Oleg Kiselyov
    • Organizer
      AiDL 2022 workshop
    • Related Report
      2022 Annual Research Report
  • [Presentation] QNP Textual Entailment with Polynomial Event Semantics2021

    • Author(s)
      Oleg Kiselyov
    • Organizer
      LENLS18 (Logic and Engineering of Natural Language Semantics 18)
    • Related Report
      2021 Research-status Report
    • Int'l Joint Research
  • [Presentation] 配列言語の長所を分かりやすく味わう: OCaml上の埋め込み配列言語(ポスター・デモ)2021

    • Author(s)
      庄司諭, Oleg Kiselyov
    • Organizer
      第23回プログラミングおよびプログラミング言語ワークショップ(PPL 2021)
    • Related Report
      2021 Research-status Report
  • [Presentation] Polynomial Event Semantics: Negation2020

    • Author(s)
      Oleg Kiselyov
    • Organizer
      Logic and Engineering of Natural Language Semantics 17 (LENLS17)
    • Related Report
      2020 Research-status Report
    • Int'l Joint Research
  • [Presentation] より清浄なStream Fusion2020

    • Author(s)
      小林 友明
    • Organizer
      日本ソフトウェア科学会第37回大会
    • Related Report
      2020 Research-status Report
  • [Presentation] Lambek Grammars as Second-order Abstract Categorial Grammars2019

    • Author(s)
      Oleg Kiselyov
    • Organizer
      Logic and Engineering of Natural Language Semantics, LENLS16
    • Related Report
      2019 Research-status Report
    • Int'l Joint Research
  • [Presentation] From the tagless-final cookbook: simple hardware description language and optimization-by-evaluation2019

    • Author(s)
      Oleg Kiselyov
    • Organizer
      Second International Summer School on Metaprogramming, Schloss Dagstuhl
    • Related Report
      2019 Research-status Report
    • Int'l Joint Research / Invited
  • [Presentation] lambda to SKI, Semantically. Declarative Pearl2018

    • Author(s)
      Oleg Kiselyov
    • Organizer
      Fourteenth International Symposium on Functional and Logic Programming
    • Related Report
      2018 Research-status Report
    • Int'l Joint Research
  • [Presentation] Lambda to SKI2018

    • Author(s)
      Oleg Kiselyov
    • Organizer
      IFIP Working Group 2.1, 77th meeting (Brandenburg, Germany)
    • Related Report
      2018 Research-status Report
    • Int'l Joint Research
  • [Presentation] Polynomial event Semantics: Non-Montagovian proper treatment of quantifiers.2018

    • Author(s)
      Oleg Kiselyov
    • Organizer
      Logic and Engineering of Natural Language Semantics, LENLS15
    • Related Report
      2018 Research-status Report
    • Int'l Joint Research
  • [Presentation] tagless-final・extensible-effectsから機械自然言語理解まで [C3 (ポスター・デモ)]2018

    • Author(s)
      Oleg Kiselyov
    • Organizer
      第20回プログラミングおよびプログラミング言語ワークショップ PPL 2018
    • Related Report
      2018 Research-status Report
  • [Presentation] Systematic Generation of Optimal Code2017

    • Author(s)
      Oleg Kiselyov
    • Organizer
      Tutorial at IFL 2017
    • Related Report
      2017 Research-status Report
    • Int'l Joint Research / Invited
  • [Presentation] Sound and Efficient Language-Integrated Query: Maintaining the ORDER2017

    • Author(s)
      Oleg Kiselyov
    • Organizer
      EPFL, IC Colloquium (EPFL, Lausanne, Switzerland)
    • Related Report
      2017 Research-status Report
    • Invited
  • [Presentation] Higher-order Programming is an Effect2017

    • Author(s)
      Oleg Kiselyov
    • Organizer
      HOPE 2017 at ICFP 2017
    • Related Report
      2017 Research-status Report
    • Int'l Joint Research
  • [Presentation] Effects without monads: non-determinism2017

    • Author(s)
      Oleg Kiselyov
    • Organizer
      ML Family workshop at ICFP 2017
    • Related Report
      2017 Research-status Report
    • Int'l Joint Research
  • [Presentation] Sound and Efficient Language-Integrated Query -- Maintaining the ORDER2017

    • Author(s)
      Oleg Kiselyov
    • Organizer
      APLAS 2017
    • Related Report
      2017 Research-status Report
    • Int'l Joint Research
  • [Presentation] Transformational Semantics (TS) on a Tree Bank2017

    • Author(s)
      Oleg Kiselyov
    • Organizer
      LENLS 14
    • Related Report
      2017 Research-status Report
    • Int'l Joint Research
  • [Book] Reconciling Abstraction with High Performance: A MetaOCaml approach2018

    • Author(s)
      Oleg Kiselyov
    • Total Pages
      112
    • Publisher
      Now Publishers
    • ISBN
      9781680834369
    • Related Report
      2018 Research-status Report
  • [Remarks] System T as unexpectedly expressive ...

    • URL

      http://okmij.org/ftp/Computation/simple-encodings.html

    • Related Report
      2022 Annual Research Report
  • [Remarks] Tagless-final DSL with lists of various strictness

    • URL

      http://okmij.org/ftp/tagless-final/cookbook.html#data-type

    • Related Report
      2022 Annual Research Report
  • [Remarks] Lambek Grammars as an embedded DSL

    • URL

      http://okmij.org/ftp/gengo/LG-algebra.html

    • Related Report
      2021 Research-status Report
  • [Remarks] Higher-kinded bounded polymorphism without ...

    • URL

      http://okmij.org/ftp/ML/higher-kind-poly.html

    • Related Report
      2021 Research-status Report
  • [Remarks] Better than shell pipes

    • URL

      http://okmij.org/ftp/ML/myawk/index.html

    • Related Report
      2020 Research-status Report
  • [Remarks] Elementary Tutorial on Normalization-by-Evaluation

    • URL

      http://okmij.org/ftp/tagless-final/NBE.html

    • Related Report
      2020 Research-status Report
  • [Remarks] Embedding of lambda calculus with De Bruijn Levels

    • URL

      http://okmij.org/ftp/tagless-final/cookbook.html#dblevels

    • Related Report
      2020 Research-status Report
  • [Remarks] Lambda calc embedded in OCaml and normalization

    • URL

      http://okmij.org/ftp/Computation/lambda-calc.html#lambda-normalizer-ocaml

    • Related Report
      2020 Research-status Report
  • [Remarks] Executable direct denot sem of ... delim. control

    • URL

      http://okmij.org/ftp/continuations/implementations.html#denot

    • Related Report
      2020 Research-status Report
  • [Remarks] Algebras

    • URL

      http://okmij.org/ftp/tagless-final/Algebra.html

    • Related Report
      2019 Research-status Report
  • [Remarks] Evaluators, Normalizers, Reducers

    • URL

      http://okmij.org/ftp/tagless-final/semantics.html

    • Related Report
      2019 Research-status Report
  • [Remarks] Tagless-final operational semantics

    • URL

      http://okmij.org/ftp/tagless-final/cookbook.html#reducer

    • Related Report
      2018 Research-status Report
  • [Remarks] Non-determinism: a sublanguage rather than a monad

    • URL

      http://okmij.org/ftp/tagless-final/nondet-effect.html

    • Related Report
      2017 Research-status Report
  • [Remarks] Typed final (tagless-final) style

    • URL

      http://okmij.org/ftp/tagless-final/index.html

    • Related Report
      2017 Research-status Report
  • [Remarks] Gradually Transforming Syntax to Semantics

    • URL

      http://okmij.org/ftp/gengo/transformational-semantics/index.html

    • Related Report
      2017 Research-status Report
  • [Remarks] Sound and Efficient Language-Integrated Query

    • URL

      http://okmij.org/ftp/meta-programming/index.html#SQUR

    • Related Report
      2017 Research-status Report

URL: 

Published: 2017-04-28   Modified: 2024-01-30  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi