Abstract
The main goal of this work is to develop flexible and expressive methods of parsers construction based on modern techniques of structuring of effectful computations. We compare two approaches to describing effectful computations: monad transformers and extensible effects in respect to construction of parser combinator libraries. We develop two parser combinator libraries: one based on monad transformers and another on top of extensible effects, and Markdown-to-HTML translator with blocks based on first library.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Github. https://github.com/
Markdown syntax. http://daringfireball.net/projects/markdown/syntax
Mathjax, js-library to render latex in web. https://www.mathjax.org/
Lukyanov, G.: Parsing with monad transformers, source code. https://github.com/geo2a/markdown-monparsing
Lukyanov, G.: Parsing with extensible effects, source code. https://github.com/geo2a/ext-effects-parsers
Pretnar, M., Bauer, A.: Programming with algebraic effects and handlers. arXiv:1203.1539 [cs.PL] (2012)
Blaevic, M.: Adding structure to monoids. In: Haskell Symposium 2013, Boston, MA, USA, 23–24 September 2013 (2013)
Hutton, G., Meijer, E.: Monadic parser combinators. NOTTCS-TR-96-4 (1996)
Swords, C., Kiselyov, O., Sabry, A.: Extensible effects: an alternative to monad transformers. In: Haskell Symposium 2013, Boston, MA, USA, 23–24 September 2013 (2013)
Jones, M., Liang, S., Hudak, P.: Monad transformers and modular interpreters. In: 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, CA (1995)
Wadler, P.: How to replace failure by a list of successes a method for exception handling, backtracking, and pattern matching in lazy functional languages. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 113–128. Springer, Heidelberg (1985). https://doi.org/10.1007/3-540-15975-4_33
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Lukyanov, G., Pelenitsin, A. (2018). Functional Parser of Markdown Language Based on Monad Combining and Monoidal Source Stream Representation. In: Itsykson, V., Scedrov, A., Zakharov, V. (eds) Tools and Methods of Program Analysis. TMPA 2017. Communications in Computer and Information Science, vol 779. Springer, Cham. https://doi.org/10.1007/978-3-319-71734-0_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-71734-0_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-71733-3
Online ISBN: 978-3-319-71734-0
eBook Packages: Computer ScienceComputer Science (R0)