HKU-TDLEG

Menu

  • Home
  • Clojure Heap
  • Data Processing Domain-Specific Language in Clojure
  • Delta Hedging With Clojure Backtesting Library
  • Development of Heap Structure for Data Storage and Output in Clojure
  • Exploring the Signaling Effect of Equity Offering in Venture Capital Investment
  • HKU-TDLEG Website Development
  • WeJure: A Decentralized Social Network on the Blockchain

Data Processing Domain-Specific Language in Clojure

Contributor

Parry CHOI Chong Hing

Description

Domain Specific Language (DSL) is a computer language, declared syntax or grammar that is specialised to a specific application. In contrast to General-Purpose Language, implemenation of DSL is designed with specific goals in that application domain. The use of macros in Lisp dialects enables developers to rewrite source code at compile time, making implementation of DSL more convenient. As one of the Lisp dialects, Clojure also inheriates such advantage. In addition to macros, the heavy use of core data literals in Clojure also gives an extensive developing opportunity in implementing DSLs.

In this project, a DSL extension to the existing data processing library, tech.ml.dataset, will be developed. A generic query using core data literal serves as the foundation of the DSL. This enables huge flexibility in defining the syntax, subject to Clojure’s limitation.

Blog posts (reflective journals)

  • Implementation of Query Foundation
  • Syntax Design
  • Sort-by Function Implementation

Details

  • Poster
  • Virtual poster presentation (video)
  • Research proposal
  • Research report
  • GitHub repository

Copyright © 2022 HKU-TDLEG

Powered by Cryogen