User loginNavigation 
Simple Question  Beta reduction and pattern matching (compile time, static)I've Googled around and not found any obvious candidate papers to cover what I know must be a common situation, if only for "destructuring" letbindings. I'm looking for a paper that mixes both theory and practice information (it's what I relate to best). The simplest example is tupled functions, where we match against an irrefutable tuple pattern. Here is an inlined tupled "add" function where we want to beta reduce the function definition with a tuple constructed argument (presume all arguments are normalized to some definition of values  constants, variable references, etc.  where all variables have unique names. A key feature is to completely eliminate 1) the constructor application and 2) any matching operations at compile time in the first place. This is true of the "fancier" example below as well. A fancier algorithm would statically select a single case from a constructor casedefined function. Here we have a "find" function over three list representations, each with a unique constructor. [Sorry for the convoluted example.] One static analysis issue with which I'm concerned is whether an ANFstyle normalization of function application might "hide" constructor applied function arguments, possibly requiring some more complex data flow analysis to achieve the desired "beta reduction across patterns and constructors". Any and all pointers to suitable Breduction algorithms of this kind greatly appreciated. Thanks!  Scott By scottmcl at 20111010 04:54  LtU Forum  previous forum topic  next forum topic  other blogs  4715 reads

Browse archives
Active forum topics

Recent comments
19 weeks 5 days ago
23 weeks 6 days ago
25 weeks 4 days ago
25 weeks 4 days ago
28 weeks 2 days ago
32 weeks 6 days ago
32 weeks 6 days ago
33 weeks 2 days ago
33 weeks 2 days ago
36 weeks 1 day ago