I've been meaning to follow up this thread, but slow to do so:

I wanted mention to mention some work planned for the current BigInt 
implementation:  Our intention is to change it from a class to a record so 
that it has the more natural value semantics you'd expect from a big 
integer (e.g., no need to call 'delete' on them to avoid memory leaks). 
This work is currently being held up by known problems in our 
constructor/copy/destructor semantics for records that users may be aware 
of.  These record semantic issues are quite close to being wrapped up, and 
my hope/expectation is that this will permit BigInts to be converted to 
records for the April 2016 release.

Once BigInts are working correctly as records, we've discussed integrating 
them more closely into the language by using a special "bit-width" 
indicator to imply an arbitrary-sized int (e.g., rather than int(64), 
imagine something like 'int(?)' or 'int(*)' or 'int(arbitrary)' or <your 
suggestion here>.  Assuming we did go this routine, I suspect we'd put in 
the effort to have such bigints integrate in logical places where integers 
can be used, such as ranges.

At present, I don't anticipate such integration of bigints being ready for 
the April 2016 release, but that could change based on feedback and 
reprioritization.

-Brad


On Thu, 19 Nov 2015, Elliot Ronaghan wrote:

> Hi Russel,
>
> In my mind this is definitely a feature request. BigInt is just a class
> that wraps GMP integers so it'd be wrong for the compiler to recognize it
> as an integer. That said, I can certainly see the appeal for a range over
> BigInts and I think there's a few different ways we could approach this.
>
> I don't think there's any existing feature requests for this, so we'd be
> happy for you to file one. For this sort of thing, I think a .future in
> our testing system would be appropriate. For more info on creating a
> .future see:
>
> https://github.com/chapel-lang/chapel/blob/master/doc/developer/bestPractic
> es/TestSystem.txt#L319-L379
>
> Elliot
>
>> I notice that:
>>
>>    new BigInt(1) .. new BigInt(10)
>>
>> results in the error:
>>
>>    error: Bounds of '..' must be integers of compatible types, when
>>    specified.
>>
>> which implies the compiler believe BigInt is not an integer. I'm happy
>> to post an issue, I am just wondering if this is already known so
>> doesn't need reporting or should be reported as a bug or a feature.
>>
>> --
>> Russel.
>> ==========================================================================
>> ===
>> Dr Russel Winder      t: +44 20 7585 2200   voip:
>> sip:[email protected]
>> 41 Buckmaster Road    m: +44 7770 465 077   xmpp: [email protected]
>> London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Chapel-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/chapel-users
>

------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users

Reply via email to