Hey Evan,

Were you thinking something like this? Or peraps something more 
self-contained where the input is defined as a field of this tiddler? Let 
me know!

Diego

On Tuesday, December 19, 2017 at 3:00:27 PM UTC-6, Evan Balster wrote:
>
> Hey, Diego — 
>
> Thanks again for all your hard work. With a plugin of this complexity, Im 
>> wondering if there should be "unit tests" tiddler that could keep track of 
>> the various corner cases proposed here and that you also identify. 
>>
>
> This, times a million.  I had already been thinking about it.
>
>
> *I would like to solicit unit test contributions from users of the plugin*, 
> following this format:
>
>    - Exported as JSON or TID
>    - Tagged "UnitTest"
>    - Text is a formula in (= mushroom brackets =) that should produce TRUE
>    - Title Format:
>       - For functions:  UnitTest/Functions/<function_name>/<test_name>
>       - For operators:  UnitTest/Operators/<operator_name>/<test_name>
>       - For other stuff:  UnitTest/Other/<test_name>
>    
>
> In other news I'm realizing that selective evaluation is going to be 
> necessary for IFERROR to work at all, and to efficiently implement things 
> like IF and SWITCH which shouldn't be computing the arguments they don't 
> use.  In the long term I expect to explore some aggressive optimizations 
> for formulas, depending on what uses I put it to.
>
>
> On Tuesday, 19 December 2017 14:31:08 UTC-6, Diego Mesa wrote:
>>
>> Hey Evan,
>>
>> Thanks again for all your hard work. With a plugin of this complexity, Im 
>> wondering if there should be "unit tests" tiddler that could keep track of 
>> the various corner cases proposed here and that you also identify. 
>>
>> Also, if/when new functionality is added we can also make sure none of 
>> the previous unexpectedly change. 
>>
>> Best,
>> Diego
>>
>> On Tuesday, December 19, 2017 at 11:38:58 AM UTC-6, Evan Balster wrote:
>>>
>>> Hey, Diego —
>>>
>>> Noticed the COUNT error last night and fixed it in repo.  Good catch on 
>>> the IF error.  I've also noticed that IFERROR won't behave correctly and 
>>> I'll be looking into fixing that at some point.
>>>
>>> For the impatient, I'm attaching patch files that can be imported into a 
>>> wiki that already has the plugin.
>>>
>>> On Tuesday, 19 December 2017 10:24:01 UTC-6, Diego Mesa wrote:
>>>>
>>>> Hey Evan,
>>>>
>>>> In your demo, when I try: 
>>>>
>>>>    - count([tag[Expenses]])
>>>>       - `ComputeError: ReferenceError: V_Num is not defined operand: 
>>>>       [Operand function-call]`
>>>>    - [tag[Expenses]count[]]
>>>>    - [3.00]
>>>>       - This is normal
>>>>    - IF(([tag[Expenses]count[]]=*3*),"yes","no")
>>>>    - `ValueError: TypeError: value.asString is not a function value: 
>>>>       no`
>>>>       - Where *3* can be either of the below without changing the 
>>>>       returned error
>>>>          - 3.00
>>>>          - [3.00]
>>>>          - "[3.00]"
>>>>          - "3"
>>>>       
>>>> Thank you very much for your hard work on this plugin. Mat is right - 
>>>> you brought the chairs to the dinner party!
>>>>
>>>> Diego
>>>>
>>>>
>>>>
>>>> On Monday, December 18, 2017 at 10:25:51 PM UTC-6, Evan Balster wrote:
>>>>>
>>>>> Time will tell.  It's my experience that hasty decisions about syntax 
>>>>> can make language design tougher later on, so I'm not inclined to jump 
>>>>> the 
>>>>> gun on brevity options.  One of the tough things about filters, in 
>>>>> particular, is that the multi-run syntax should be supported in the 
>>>>> future.  That has some weird implications.
>>>>>
>>>>> It wouldn't be unreasonable to have an arraylinks function, though.
>>>>>
>>>>> On Monday, 18 December 2017 22:19:46 UTC-6, Mat wrote:
>>>>>>
>>>>>> (= arraystring([tag[Expenses]], "[[", "]] [[", "]]")
>>>>>>>
>>>>>>
>>>>>> A bit cumbersome.
>>>>>> Maybe (= array*links*([tag[Expenses]]) =)  
>>>>>>
>>>>>>
>>>>>> ...and, btw, given how filters are delimited with outer square 
>>>>>> brackets, just maybe parentheses could be omitted for filters? 
>>>>>>
>>>>>> (= arraylinks*[*tag[Expenses]*]* =)
>>>>>>
>>>>>> (= sum*[*tag[Expenses]get[value]*]* =)
>>>>>>
>>>>>> <:-)
>>>>>>
>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/23ded44f-49b4-494b-9e75-2ccf5f4d1931%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: UnitTest_Functions_nth_sorted-return.json
Description: application/json

Reply via email to