When I recently wrote about my first impressions of Kaminsky’s Interpolique, I mentioned that the only thing I didn’t like is that PHP doesn’t offer any way to protect against syntactic mistakes, such as where the programmer mistakenly uses a $
instead of a ^^
.
Today we’ll look at how Interpolique can be implemented in Haskell in such a way that we force the developer to use Interpolique when creating a SQL query, precluding the possibility of the $
/^^
mixup bug. In doing so we’ll see that we don’t need anything like PHP’s eval
to get the job done.
All of the code for this post is on github: InterpoliqueQQ.