Why would referencing instance members fail?

   ref=: 4 : 'x,''_'',(":>y),''_'''
   at=: 2 : '(m ref n)~'

   o=. conew 'test'
   ('a' ref o)
a_11_

   ('a' ref o)=: 12
   ('v' ref o)=: 3 : 'a + y'
   ('v' ref o)~ 23
35

   ('w' ref o)=: 3 : 'a=: a + y'
   ('w' ref o)~ 100
112
   ('a' ref o)~
112

   'w' at o 2000
2112
   'a' at o
2112
   
   'codestroy' at o ''
1
   'a' at o
|locale error: at
|       (m ref n)~


--- Pascal Jasmin <[EMAIL PROTECTED]> wrote:

> That is very nice solution, and if I had remembered the evoke adverb, I might 
> have settled for
> it.  Raul's solution actually generates a verb, and not the string 
> representation of the member.
>  That is preferable because all callees will know how to execute a verb, and 
> won't detroy the
> reference by evoking it.
> 
> The other problem is that this technique forces you to write all your class 
> verbs to take the
> instance variable as a parameter (x), (so that they are f. proof) because 
> evoking the string
> loses the entire context for the function that you normally have if you 
> called v2__o.  The verb
> v2_3_ will always execute correctly, but if the verb references instance 
> variables, then as a
> string, 'v2_3_'~ will fail.
> 
> 
> ----- Original Message ----
> From: Oleg Kobchenko <[EMAIL PROTECTED]>
> To: Programming forum <[email protected]>
> Sent: Monday, October 30, 2006 8:00:32 PM
> Subject: RE: [Jprogramming]  passing object functions to other objects
> 
> Actually if it's just a name generator (like Raul's refname),
> it can be a dyad, not necessarily a conjunction.
> 
>    ref=: 4 : 'x,''_'',(":>y),''_'''
> 
>    100 ('v1' ref 'abc')~ ('n1' ref 'abc')~
> 223
> 
> Verb allows additional operations
> 
>    ((;:'n2 n3 n4') ref&.> <'abc')=: i.3
>    ((;:'n2 n3 n4') "[EMAIL PROTECTED]&> <'abc')
> 0 1 2
> 
> 
> Conjunction is necessary, when a value is deferenced.
> 
>    at=: 2 : '(m,''_'',(":>n),''_'')~'
> 
>    'n1' at 'abc'
> 123
>    100 'v1' at 'abc' 'n1' at 'abc' 
> 223
>    
> This will not allow assignment, but it conceils
> the redirection.
> 
> 
> --- Oleg Kobchenko <[EMAIL PROTECTED]> wrote:
> 
> > It depends on what class the value of name is:
> > verbs cannot return verbs. So conjunction is used:
> > 
> >    of=: 2 : 'm,''_'',(":>n),''_'''
> > 
> >    n1_abc_=: 123
> >    v1_abc_=: +
> >    
> >    'n1' of 'abc'
> > n1_abc_
> >    ('n1' of 'abc')~
> > 123
> >    
> >    'v1' of 'abc'
> > v1_abc_
> >    ('v1' of 'abc')~
> > +
> >    100 ('v1' of 'abc')~ ('n1' of 'abc')~
> > 223
> >    
> >    o=. conew 'ptest'
> >    ('n2' of o)
> > n2_1_
> > 
> >    ('n2' of o)=: 456
> >    ('v2' of o)=: -
> > 
> >    ('n2' of o)~ ('v2' of o)~ 400
> > 56
> > 
> >    ('codestroy' of o)~''
> > 1
> >    n2_1_
> > |locale error
> > |       n2_1_
> > 
> > 
> > --- "Miller, Raul D" <[EMAIL PROTECTED]> wrote:
> > 
> > > Oleg Kobchenko wrote:
> > > >What are we trying to achieve here?
> > > Given a name and a locale, a mechanism to create a reference 
> > > to the named member of that locale which remains valid in an
> > > arbitrary locale.
> > > -- 
> > > Raul
> > 
> > 
> > 
> >  
> > ____________________________________________________________________________________
> > Cheap Talk? Check out Yahoo! Messenger's low PC-to-Phone call rates 
> > (http://voice.yahoo.com)
> > 
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> > 
> 
> 
> 
>  
> ____________________________________________________________________________________
> Cheap Talk? Check out Yahoo! Messenger's low PC-to-Phone call rates 
> (http://voice.yahoo.com)
> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> 
> 
> 
> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 



 
____________________________________________________________________________________
Get your email and see which of your friends are online - Right on the New 
Yahoo.com 
(http://www.yahoo.com/preview) 

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to