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