Bibliographic Information

Other Title
  • SumMag: Design and Implementation of an Analyzer an Extension Mechanism by Meta-programming Using Elixir Macros

Search this article



A parallel optimization extension mechanism, Hastega, which we are researching and developing now, (1) extracts description using pipeline operators and map functions from Elixir program code and (2) compiles the extracted code into parallelized and optimized native code. SumMag, which we will propose and report in this presentation, is a meta-programming library is a part of the former (1), and is implemented using Elixir macros. Elixir provides Elixir macros, which is a meta-programming mechanism that operates abstract syntax trees (ASTs) consists of lists and tuples, and SumMag is implemented using them. SumMag works to extract one or more pipe-lined applications of map functions all together into an separated function, and to replace the part of the original code into an invocation to the separated function. At this time, SumMag applies inlining and map-map fusion of the functions applied in the map functions. In the near future, we will implement the rest of functions of Hastega, complete it as the first release, and publish it as an OSS.



Report a problem

Back to top