Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: Bug! in assignment to date! values with stacked set-path values

From: lmecir:mbox:vol:cz at: 18-Nov-2002 16:37

Hi Romano,
> > > The result is a strange behaviour: a set-path which works like a path > > > > > > x: func [/b][3] > > > type? first [x/b:];== set-path! > > > x/b: ;==3 > > > > This is unexpected, but it may be justified as an attempt to "do
> > meaningful" instead of firing an error. > > I do not think the same. Here the attempt is not set something, but only
> evaluate the path. If a set-path is by default "set the value referenced
> the path" this construct should trigger an error or a crash. Obviously
> can be corrected adding an error! ad hoc, but ist shows for me the
> behaviour.
Yes, you are right. This shows the way how the interpreter is built. Nevertheless, there are at least two cases, when I would consider it a bug. The first one is the subject of this thread and the second one is the case of two-times-fetched functions.
> Often I'm asking myself: what are advantages of refinements in functions? > Often i see only the bad side.
The refinements have big disadvantages, as I see it. Some disadvantages: 1) the function must test, how it has been called, although that information has already been processed to get the arguments 2) the refinement system works well only if any refinement combination is legal , otherwise the function must check the combination on its own The trouble is, that the refinements have advantages too. The main advantage is a lower pollution of the system dictionary.