Hello,

I have a user question regarding the proposed range types that replace the old 
range/interval.

The old hierachy allowed me to turn ranges to SQL expressions through the 
following mapping (see 
https://github.com/groue/GRDB.swift/blob/v0.57.0/GRDB/FetchRequest/SQLOperator.swift#L335-L365)

        1. Range<BidirectionalIndexType>
        expr BETWEEN self.startIndex AND self.endIndex.predecessor()

        2. ClosedInterval
        expr BETWEEN self.start AND self.end

        3. HalfOpenInterval
        expr >= start AND x < end

This would let me generate SQL for 0..<18 and "A"..<"B", as below:

        // SELECT * FROM "persons" WHERE ("age" BETWEEN 0 AND 17)
        Person.filter((0..<18).contains(Col.age))

        // SELECT * FROM "persons" WHERE ("age" BETWEEN 0 AND 17)
        Person.filter((0...17).contains(Col.age))

        // SELECT * FROM "persons" WHERE ("name" BETWEEN 'A' AND 'z')
        Person.filter(("A"..."z").contains(Col.name))

        // SELECT * FROM "persons" WHERE (("name" >= 'A') AND ("name" < 'z'))
        Person.filter(("A"..<"z").contains(Col.name))

Will it still be possible with the new protocol and types? Especially, how to I 
generate "BETWEEN 0 AND 17" from 0..<18 without a supporting collection that 
gives me the predecessor of 18?

Gwendal Roué

> Le 10 avr. 2016 à 23:41, Chris Lattner via swift-evolution 
> <[email protected]> a écrit :
> 
> Hello Swift community,
> 
> The review of "A New Model for Collections and Indices" begins now and runs 
> through April 18th. The proposal is available here:
> 
>       
> https://github.com/apple/swift-evolution/blob/master/proposals/0065-collections-move-indices.md
> 
> Reviews are an important part of the Swift evolution process. All reviews 
> should be sent to the swift-evolution mailing list at:
>       https://lists.swift.org/mailman/listinfo/swift-evolution
> or, if you would like to keep your feedback private, directly to the review 
> manager.
> 
> 
> What goes into a review?
> 
> The goal of the review process is to improve the proposal under review 
> through constructive criticism and, eventually, determine the direction of 
> Swift. When writing your review, here are some questions you might want to 
> answer in your review:
> 
>       * What is your evaluation of the proposal?
>       * Is the problem being addressed significant enough to warrant a change 
> to Swift?
>       * Does this proposal fit well with the feel and direction of Swift?
>       * If you have you used other languages or libraries with a similar 
> feature, how do you feel that this proposal compares to those?
>       * How much effort did you put into your review? A glance, a quick 
> reading, or an in-depth study?
> 
> More information about the Swift evolution process is available at
> 
>       https://github.com/apple/swift-evolution/blob/master/process.md
> 
> Thank you,
> 
> -Chris Lattner
> Review Manager
> 
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to