Skip to content
Snippets Groups Projects
  1. Mar 19, 2014
  2. Mar 14, 2014
  3. Mar 13, 2014
  4. Mar 12, 2014
  5. Mar 11, 2014
  6. Mar 10, 2014
  7. Mar 08, 2014
  8. Mar 07, 2014
  9. Mar 06, 2014
  10. Mar 05, 2014
    • Gabor Greif's avatar
      Typos in comments · 2d828460
      Gabor Greif authored
      2d828460
    • Joachim Breitner's avatar
      Major Call Arity rework · cb8a63cb
      Joachim Breitner authored
      This patch improves the call arity analysis in various ways.
      
      Most importantly, it enriches the analysis result information so that
      when looking at a call, we do not have to make a random choice about
      what side we want to take the information from. Instead we can combine
      the results in a way that does not lose valuable information.
      
      To do so, besides the incoming arities, we store remember "what can be
      called with what", i.e. an undirected graph between the (interesting)
      free variables of an expression. Of course it makes combining the
      results a bit more tricky (especially mutual recursion), but still
      doable.
      
      The actually implemation of the graph structure is abstractly put away
      in a module of its own (UnVarGraph.hs)
      
      The implementation is geared towards efficiently representing the graphs
      that we need (which can contain large complete and large complete
      bipartite graphs, which would be huge in other representations). If
      someone feels like designing data structures: There is surely some
      speed-up to be obtained by improving that data structure.
      
      Additionally, the analysis now takes into account that if a RHS stays a
      thunk, then its calls happen only once, even if the variables the RHS is
      bound to is evaluated multiple times, or is part of a recursive group.
      cb8a63cb
  11. Mar 04, 2014
  12. Mar 03, 2014
Loading