November 12, 2016 Re: [OT] Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2016-11-09 20:07, Nick Sabalausky wrote: > Although I have my doubts it would explain all the issues I've hit upon > with git's CLI. For example: I don't see why annotated tags aren't the > default. Or why non-annotated ones even exist at all. When I made > <https://github.com/Abscissa/gen-package-version>, I noticed that it'll > *only* work if the version tags are "annotated" tags. Because otherwise > "git describe" doesn't retrieve the tag. Doesn't even matter one bit > *what* the tag's message is, just that it exists. Why? Who knows! It's git! If you add the --tags flag to "describe" it will work. -- /Jacob Carlborg |
November 12, 2016 Re: [OT] Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dicebot | On 2016-11-10 06:31, Dicebot wrote: > I think it is related, but is not necessary consequence. My > understanding is that for a long time command line design was given zero > thoughts on its own - it was directly exposing whatever git does > internally with no usability considerations. Which is why it is so > awkward to use unless you really do know internal object model in great > details. It has the porcelain commands now, compared to the more low level pluming commands. I guess at one point only the pluming commands existed. -- /Jacob Carlborg |
November 12, 2016 Re: [OT] Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On 11/12/2016 11:02 AM, Jacob Carlborg wrote:
> On 2016-11-09 20:07, Nick Sabalausky wrote:
>
>> Although I have my doubts it would explain all the issues I've hit upon
>> with git's CLI. For example: I don't see why annotated tags aren't the
>> default. Or why non-annotated ones even exist at all. When I made
>> <https://github.com/Abscissa/gen-package-version>, I noticed that it'll
>> *only* work if the version tags are "annotated" tags. Because otherwise
>> "git describe" doesn't retrieve the tag. Doesn't even matter one bit
>> *what* the tag's message is, just that it exists. Why? Who knows! It's
>> git!
>
> If you add the --tags flag to "describe" it will work.
>
Ok, I see (sorta). But it does work without --tags if it's an annotated tag. Clear as mud.
Yea, see, these are the reasons I consider git's cli to be god-awful.
|
November 14, 2016 Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | Assignment to Array.length works now :) the following code : uint[] makeArr() { uint[] arr; arr.length = 5; return arr; } pragma(msg, makeArr()); results in : CTFE_DEBUG_MESSAGE : building Array of Length 5 [0u, 0u, 0u, 0u, 0u] |
November 14, 2016 Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Monday, 14 November 2016 at 05:27:15 UTC, Stefan Koch wrote:
> Assignment to Array.length works now :)
> the following code :
>
> uint[] makeArr()
> {
> uint[] arr;
> arr.length = 5;
> return arr;
> }
>
>
> pragma(msg, makeArr());
>
> results in :
>
> CTFE_DEBUG_MESSAGE : building Array of Length 5
> [0u, 0u, 0u, 0u, 0u]
Assignment now also works :)
uint[] MakeAndInitArr(uint length)
{
uint[] arr;
arr.length = length;
foreach(i;0 .. length)
{
arr[i] = i + 3;
}
return arr;
}
pragma(msg, MakeAndInitArr(12));
Output :
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
|
November 14, 2016 Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Monday, 14 November 2016 at 07:57:20 UTC, Stefan Koch wrote:
> On Monday, 14 November 2016 at 05:27:15 UTC, Stefan Koch wrote:
>> Assignment to Array.length works now :)
>> the following code :
>>
>> uint[] makeArr()
>> {
>> uint[] arr;
>> arr.length = 5;
>> return arr;
>> }
>>
>>
>> pragma(msg, makeArr());
>>
>> results in :
>>
>> CTFE_DEBUG_MESSAGE : building Array of Length 5
>> [0u, 0u, 0u, 0u, 0u]
>
> Assignment now also works :)
>
> uint[] MakeAndInitArr(uint length)
> {
> uint[] arr;
> arr.length = length;
>
> foreach(i;0 .. length)
> {
> arr[i] = i + 3;
> }
> return arr;
> }
>
> pragma(msg, MakeAndInitArr(12));
>
> Output :
> [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
This for a length values in the range of short.max/4.
Which is the maximal heapSize for now.
This is up to 1.5 times faster then the old engine.
Once the heap-limit is lifted you can see this rock :)
|
November 15, 2016 Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | To more bullet points cross the border from unsupported to supported. - assignment to static array cells - long ulong arithmetic. However there is a a bug inside the code that does bounds-checking for array assignment. In rare cases it can trigger a out-bounds-error on newly created arrays. Dynamic arrays work partially. The only way to create them is to assign to length. For initialization fill the cells in a for-loop. |
November 15, 2016 Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Tuesday, 15 November 2016 at 01:35:42 UTC, Stefan Koch wrote:
> Two more bullet points cross the border from unsupported to supported.
Nice, Stefan. I always come back to this thread to see your progress. Thanks for making it easy to follow it.
|
November 15, 2016 Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bastiaan Veelo | On Tuesday, 15 November 2016 at 19:02:29 UTC, Bastiaan Veelo wrote:
> Nice, Stefan. I always come back to this thread to see your progress. Thanks for making it easy to follow it.
I agree.
|
November 15, 2016 Re: CTFE Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Tuesday, 15 November 2016 at 01:35:42 UTC, Stefan Koch wrote:
> However there is a a bug inside the code that does bounds-checking for array assignment.
> In rare cases it can trigger a out-bounds-error on newly created arrays.
>
This raise all kind of red flags to me. What are the design decision that lead to this ?
|
Copyright © 1999-2021 by the D Language Foundation