Sat Jan 22 16:25:38 EST 2011
Abstract Interpretation (staapl/absint)
I'm working on porting some of the DSP DSL ideas recently explored in
Haskell back to Scheme to see how much I'm going to miss the type
system. I already know that I don't miss the continuation monad too
It seems that pure functional specification combined with abstract
domains implemented with well-behaved side effects works better.
I.e. it's ok to use dynamic variables to implement dictionary
threading, but it's not ok to update the _values_ these dynvars point
to, as that will mess up partial continuations.
An advantage of pure specifications is that the specs themselves can
later be transferred to Haskell without problems for analysis that do
not require the sharing structure (i.e. black box / semantic
I guess template haskell could also be used to translate the
specificiations to monadic form to implement the Scheme strict
evaluation order side-effect the Scheme code relies on, without the
ugly notation this would give in Haskell.
All this is logged in the meta postings, somwhere around .