Changes between Version 5 and Version 6 of SQLLikeComprehensions


Ignore:
Timestamp:
Nov 6, 2007 5:22:04 PM (6 years ago)
Author:
guest
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SQLLikeComprehensions

    v5 v6  
    2727}}} 
    2828 
    29 For those reasons, Max's implementation is currently based around the syntax proposed in section 6.1 of the paper: 
     29For those reasons, Max's implementation was initially based around the syntax proposed in section 6.1 of the paper: 
    3030 
    3131{{{ 
     
    7979We would be interested in hearing peoples thoughts on these issues. 
    8080 
     81SPJ, after looking at the issues above, has decided that Max's implementation should at least initially be based on syntax like this: 
     82{{{ 
     83then group by dept using groupWith 
     84then group by dept       -- The function groupWith is implicit here 
     85then group using runs 3  -- The runs function has type [a] -> [[a]] rather than the (a -> t) -> [a] -> [[a]] type required if you used "by" 
     86}}} 
    8187 
    8288== Bracketing Syntax == 
     
    161167}}} 
    162168 
     169This functionality was implemented and working, but owing to the syntactic difficulties support was dropped. 
     170 
    163171== Extending To Arbitrary Monads == 
    164172 
     
    198206foo :: forall a. (a -> t) -> m a -> m a 
    199207}}} 
     208 
     209== Extensions == 
     210Some other possible ways we could add to Max's implementation given the need: 
     211 * Add associativity back in 
     212 * Add desugaring support for parallel arrays as well as lists: every other part of the compiler should already handle these seamlessly 
     213 * Extend all list comprehension desugaring to "big" tuples: this will let it deal gracefully with the case where we need to bind an intermediate tuple of size exceeding the maximum tuple size 
     214  * This limitation was present in head at the time work was started, but the extensions have made it more acute 
     215  * It only causes problems when you are binding more things than the maximum tuple size of GHC (62 currently), which is pretty unlikely!