Hi Hallvard,

On Sunday, January 2, 2005, 9:15:34 PM, you wrote:

HY> I tried to use custom-types.r to make my own datatype, but it didn't work,=
HY>  because some of Ladislavs subfunc-stuff crashed somehow. But here's a more=
HY>  theoretical question:

That's  the downside of experimental code. ;) If you are using the
YourValues  version  (which  is  very  different  from my original
version), note that it is developed on the latest alphas.

HY> site1/equal? site2

HY> I would like to write=20

HY> equal? site1 site2

HY> like with basic datatypes like string!s and integer!s. The question is:=
HY>  Would this slow rebol down? What are the most important advantages and=
HY>  disadvantages of making one's own datatypes?

Replacing  all the actions slows down REBOL noticeably. That's why
I  don't do that anymore (only the first version of custom-types.r
did  that). What I do is create new actions that can handle custom
types. I.e.:

   equal?* site1 site2

The starred actions work on "normal" types too.

The  disadvantage is that you might end up with more complications
than simplifications. :)

HY> I can think of this, for a start:
HY> I have, in the 'equal? func, refinements like /regard-section and=
HY>  /regard-cgi-order. I guess these cannot be brought into the 'equal? 
action?=
HY>  Or is this not so?

You'd  need  a  different "action". (The point of having "your own
datatype",  IMHO,  is  that of following the standard interface of
all  the  other  datatypes,  so that you don't have to learn a new
API.)  You  could  use EQUAL? and STRICT-EQUAL? but I guess that's
not enough for you.

This would need to be solved differently, design-wise...

HY> I find the idea of custom datatypes interesting. Please enlighten me on 
it's=
HY>  (dis)advantages.

Sometimes having the same API for everything is a great advantage,
other times it's just a complication...

I guess this is not the answer you wanted to hear. :)

Regards,
   Gabriele.
-- 
Gabriele Santilli <[EMAIL PROTECTED]>  --  REBOL Programmer
Amiga Group Italia sez. L'Aquila  ---   SOON: http://www.rebol.it/

-- 
To unsubscribe from the list, just send an email to rebol-request
at rebol.com with unsubscribe as the subject.

Reply via email to