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  3921 reads

Browse archives
Active forum topics 
Recent comments
2 days 15 min ago
2 days 2 hours ago
2 days 4 hours ago
2 days 5 hours ago
2 days 17 hours ago
2 days 20 hours ago
3 days 12 min ago
3 days 2 hours ago
3 days 6 hours ago
3 days 16 hours ago