sheijk / ppx_string_interpolate

A simple OCaml ppx filter to support string interpolation like [%str "value of foo is $(foo)"]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple string interpolation using OCaml’s ppx extension points API.

How to use

Write [%str “some string”] anywhere a string expression is expected. Use $(name) to insert the value of variable “name” whose types needs to be string. Use $$ to insert an actual dollar character.

let name = "mario" in
print_string [%str "It's a meee, $(name)\n"]

See directory src_test for examples on what to do and not to do.

How to build

  • install OCaml 4.02 (or newer)
  • install opam 1.1.1 (or newer)
  • install dependencies opam install sedlex ppx_tools ppx_deriving
  • make all

Test by running ‘make test’

Todo

  • support arbitrary OCaml expressions inside $(…). Needs to run the OCaml lexer on the string, skip over balanced parenthesis and pass this to OCaml Parse.expression.

Contact

Mail to jan@sheijk.net for questions and comments.

About

A simple OCaml ppx filter to support string interpolation like [%str "value of foo is $(foo)"]

License:The Unlicense


Languages

Language:OCaml 63.2%Language:Makefile 36.8%