|
Loading...
|
factor-talk@lists.sourceforge.net
[Prev] Thread [Next] | [Prev] Date [Next]
Re: [Factor-talk] cond-case or similar word Tadhg O'Meara Wed Apr 20 09:01:36 2011
Thanks, that's great.
On 19 April 2011 23:14, Martial Boniou <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I did a quick hack for this:
>
> MACRO: cond-case ( assoc -- )
> [ dup callable? not
> [
> [ first '[ dup @ ] ]
> [ second '[ drop @ ] ] bi 2array
> ]
> [ '[ drop @ ] ] if
> ] map '[ _ cond ] ;
>
> I guess someone can do a better code by coding a more specific cond.
>
> my 2 cents...
>
> At Tue, 19 Apr 2011 20:49:51 +0100,
> "Tadhg O'Meara" <[EMAIL PROTECTED]> wrote:
>>
>> I'm looking for a word that's like cond but doesn't need all the dups
>> and drops for the simple case where you want to check various
>> properties of the object on the stack and call an appropriate
>> quotation. So instead of
>>
>> {
>> { [ dup 0 > ] [ drop "positive" ] }
>> { [ dup 0 < ] [ drop "negative" ] }
>> [ drop "zero" ]
>> } cond
>>
>> I could use
>>
>> {
>> { [ 0 > ] [ "positive" ] }
>> { [ 0 < ] [ "negative" ] }
>> [ "zero" ]
>> } cond-case
>>
>> I tried to write a cond-case word that adds the necessary dups and
>> drops to a cond assoc but this results in a error.
>>
>> USING: arrays combinators kernel quotations sequences ;
>>
>> : cond-case ( assoc -- )
>> [ dup callable? not
>> [
>> [ first [ dup ] prepose ]
>> [ second [ drop ] prepose ] bi 2array
>> ]
>> [ [ drop ] prepose ] if
>> ] map cond ;
>>
>> Error: Cannot apply “cond” to a run-time computed value
>> It also says cond is a macro.
>>
>> Any ideas?
>>
>> Thanks,
>> Tadhg
>>
>> ------------------------------------------------------------------------------
>> Benefiting from Server Virtualization: Beyond Initial Workload
>> Consolidation -- Increasing the use of server virtualization is a top
>> priority.Virtualization can reduce costs, simplify management, and improve
>> application availability and disaster protection. Learn more about boosting
>> the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
>> _______________________________________________
>> Factor-talk mailing list
>> [EMAIL PROTECTED]
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
> --
> Martial Boniou
>
> ------------------------------------------------------------------------------
> Benefiting from Server Virtualization: Beyond Initial Workload
> Consolidation -- Increasing the use of server virtualization is a top
> priority.Virtualization can reduce costs, simplify management, and improve
> application availability and disaster protection. Learn more about boosting
> the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
> _______________________________________________
> Factor-talk mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve
application availability and disaster protection. Learn more about boosting
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Factor-talk mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/factor-talk
- [Factor-talk] cond-case or similar word Tadhg O'Meara 2011/04/19
- Re: [Factor-talk] cond-case or similar word Martial Boniou 2011/04/19
- Re: [Factor-talk] cond-case or similar word Tadhg O'Meara 2011/04/20 <=