Hi,

> I assume you meant:
> 
> register 'minus [integer! complex!] [] [
>     make complex [
>         re: a - b/re
>         im: - b/im   ; not im: b/im
>     ]
> ]
> 

> Shouldn't the signatures look more like:
> 
> signatures: [[integer! complex!] [complex! complex!]]

Yes, thanks.

> I'm also a little puzzled by your latest PIF:
> 
> >pif: func [[throw]
> >    {
> >        polymorphic if
> >        lazy evaluation, minimum checking, no default
> >        compatible with:
> >            computed blocks
> >            Return
> >            Exit
> >            Break
> >            non-logic conditions
> >    }
> >    args [block!]
> >] [
> >    if not unset? first args: do/next args [
> >        either first args [
> >            either block? first args: do/next second args [
> >                do first args
> >            ] [
> >                first args
> >            ]
> >        ] [
> >            pif second do/next second args
> >        ]
> >    ]
> >]
> 
> >> command: [print]
> == [print]
> >> pif [
>     false do append copy command "hello"
>     true do append copy command "goodbye"]
> hello
> goodbye
> 
> Is this what you intended?

Yes. If I want to keep the "hello" unprinted, I shall write:
command: [print]
>> pif [
[         false append copy command "hello"
[         true append copy command "goodbye"
[    ]
goodbye


    Ladislav

Reply via email to