Implementing dynamic splices via #${splice} like Scala2-Quill #153
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the ProtoQuill equivalent of: zio/zio-quill#1020
It uses a very similar pattern of detecting quote-parts that have a
#
at the end.Unlike Scala2-Quill however, the resulting Quote is stored in the
runtimeQuotes
of the Quoted case class instead of the AST tree. Initially the parser puts into onto the AST tree but then it is extracted and replaced with a QuotationTag (the same as other runtime quotes). This way it fits perfectly into the ProtoQuill compile-time vs runtime paradigm and the ProtoQuill AST is still serializable from the beginning (i.e. from quotation onward vs Scala2-Quill which is not because it stores Dynamic and Lift values directly in the tree).