in j805, I get a syntax error with my CloakV verb

  train
,^:(0:``:)&6 :.(< ,^:(0:`@:) (,'0') ,&< ])


train seems quite useful.  tacit verb version of my eval adverb.


(train ;:'&o.')
&o.

so far so good, but this is an adverb.  So maybe you intended the left to be 
another adverb


  CloakV(]&.:)(train ;:'&o.')
]&.:CloakV&o.

could almost be right... but its not, and I crashed J trying to fix it.  So not 
in a good mood about it.

 (CloakV '&o.')  each 1 2 3
┌────┬────┬────┐
│1&o.│2&o.│3&o.│
└────┴────┴────┘

is nowhere near as good as 


 '&o.'Cloak  each 1 2 3
┌────┬────┬────┐
│1&o.│2&o.│3&o.│
└────┴────┴────┘

no parens needed.  and oa is awesome :P

oa =: 1 :'u Cloak @:'  NB. manual a c conjunction version


'&o.'Cloak 'ar' oa each 1 2 3
'&o.'Cloak '`''''' oa each 1 2 3  NB. same


'&o.'Cloak 'ar' oa  each '/.'oa 1 2 3
1&o.`(2&o.)`(3&o.)/.

its almost fixed.  aar is "semi-tacit" adverb used within Cloak, but its just a 
helper function.  so is oa

  '/.' 1 : ' u Cloak @:'
,^:(0:`/.)@:

But anyways, I really like Cloak adverb.

a different application principle than the double verb, is simply a double 
noun.  Which doesn't need any modifiers, and works with dyads.  Works for 
testing.  But this conjunction is neater than the double verb method (tie is 
structured to work with nouns too)


CLapply =: 2 : 'u@:] ''tie''Cloak ''`:6''oa v' 


0.25 0.5 0.75  '&o.'Cloak 'ar' oa  each '/.'oa '@:(o.@:(%&3))'oa  CLapply[  1 2 
3
0.258819
0.866025
1


"tacit enough" :P

  '&o.'Cloak 'ar' oa each '/.'oa '@:(o.@:(%&3))'oa CLapply[
,^:(0:`(@:(o.@:(%&3))))@:(,^:(0:`/.)@:(,^:(0:`ar)@:(,^:(0:`(&o.)))&.>))@:] 
,^:(0:`(`:6))@:(,^:(0:`tie)) [


----- Original Message -----
From: Jose Mario Quintana <[email protected]>
To: Programming forum <[email protected]>
Sent: Tuesday, August 2, 2016 10:23 PM
Subject: Re: [Jprogramming] Adverbial Tacit Jym

There is, of course, a tacit "dyad."  See below, ...
















   1 2 3 ((Cloak ]&.:train ;:'&o.')&.>@:[      (train@([ ; an)f."0)
o.@:(%&3)@])
0.25 0.5 0.75
0.258819 0.866025 1

or, if you prefer,

   1 2 3 ((Cloak ]&.:train ;:'&o.')&.>@:[ (,.@:(train@([ ; an)f."0))
o.@:(%&3)@])
0.25 0.5 0.75
0.258819
0.866025
       1

By the way, both verbs are fixed.


On Tue, Aug 2, 2016 at 11:25 AM, 'Pascal Jasmin' via Programming <
[email protected]> wrote:

> text at bottom for spoilers
>
>
>
>
> ----- Original Message -----
> From: 'Pascal Jasmin' via Programming <[email protected]>
> To: "[email protected]" <[email protected]>
> Sent: Tuesday, August 2, 2016 10:21 AM
> Subject: Re: [Jprogramming] Adverbial Tacit Jym
>
> Spoiler
>
> a
> s
>
> a
>
> v
> e
> r
> b
>
> eval =: 1 : ' a: 1 : m'
>
> aar =: 1 : 'if. (0=4!:0 ::0:)@:< ''u'' do. if. (2 = 3!:0) m do. q =. m
> eval else. q =. u end. else. q =. u end. 5!:1 < ''q'' '
>
>
> Cloak=: aar(0:`)(,^:)
>
> 'and or rotate shift signedshift'=.  ('b.' Cloak each) 17 23 32 33 34
>
>
> A very cool thing about Cloak is that the "verbified modifiers" can return
> non nouns, and can box non-noun return values, and =:/=. works
> automagically.  ("0 doesn't work though)
>
>
> Can even do this:
>
>
>   '/'Cloak each  ('b.' Cloak each) 17 23 32 33 34
> ┌──────┬──────┬──────┬──────┬──────┐
> │17 b./│23 b./│32 b./│33 b./│34 b./│
> └──────┴──────┴──────┴──────┴──────┘
>
> (alternate)
>
> '/'Cloak @('b.' Cloak) each 17 23 32 33 34
>
> That format is neither lr nor ar, but they are "real verbs"
>
> 0 {:: '/'Cloak @('b.' Cloak) each (17 23 32 33 34) 1 1
> 1
>
> an improvement over your/Dan's original Cloak is that you can Cloak an
> adverb train, and its clean enough to use anonymously.  IMO, its easier to
> read if there
>
>
>   ('/\'Cloak) @('b.' Cloak) each (17 23 32 33 34)
> ┌───────┬───────┬───────┬───────┬───────┐
> │17 b./\│23 b./\│32 b./\│33 b./\│34 b./\│
> └───────┴───────┴───────┴───────┴───────┘
>   '&o.' Cloak each 1 2 3
> ┌────┬────┬────┐
> │1&o.│2&o.│3&o.│
> └────┴────┴────┘
>
> non cloacked verbs still work with "this data", and `:6 works but `:0
> doesn't.
>
> ar =: 1 : '5!:1 <''u'''
>
> insN =: }:@:,@:([`([ $~ <.&#)@.(>&#) ,.~&>/@:(,&< $~&.> >.&#) ])
>
> (, ar insN '/'Cloak @('b.' Cloak) each (17 23 32 33 34) )(`:6) 1 1
> 17 b./ , 23 b./ , 32 b./ , 33 b./ , 34 b./
>
>
> one way to turn the format into a gerund
>
>
> ('''''`'Cloak@('&o.'Cloak)each 1 2 3)`:0
> 1&o.`(2&o.)`(3&o.)`:0
>
> ('''''`'Cloak@('&o.'Cloak)each 1 2 3)/. o. 3 %~ 0.25 0.5 0.75
> 0.258819
> 0.866025
>
> ----- Original Message -----
> From: Jose Mario Quintana <[email protected]>
> To: Programming forum <[email protected]>
> Sent: Monday, August 1, 2016 11:33 PM
> Subject: Re: [Jprogramming] Adverbial Tacit Jym
>
> Let us keep the adverbial writing challenges/exercises open (non-tacit
> solutions are also welcome).  Why not?  ;)
>
>
> Mapping nouns to proverbs...
>
>
> Exercise 9.0
>
> Produce an adverb  boolean  such that it maps the  b.  codes to their
> corresponding proverbs; thus,
>
>    'and or rotate shift signedshift'=.  17 23 32 33 34 boolean
>
>    NB. Alternatively,  (and`or`rotate`shift`signedshift)=. 17 23 32 33 34
> boolean if the names
>    NB. and, or, rotate, shift  and  signedshift  are undefined or
> predefined as verbs
>
>    NB. 64-bit...
>    assert 48 80187 -: 12345 (and , or) 67890
>    assert 2468 -:1 rotate 1234
>    assert 576460752303423102 _386 -: _5 (shift , signedshift) _12345
>
>
> Exercise 9.1
>
> Produce an adverb  circle  such that it maps the  o.  codes to their
> corresponding proverbs; thus,
>
>    'sin cos tan'=. 1 2 3 circle
>       NB. Alternatively,  (sin`cos`tan)=. 1 2 3 circle  if
>       NB. sin, cos and tan are undefined or predefined as verbs
>
>    (sin`cos`tan)/. o. 3 %~ 0.25 0.5 0.75
> 0.258819
> 0.866025
>        1
>
>    'asin acos atan'=. (-1 2 3) circle
>
>    assert (,. -: (asin`acos`atan/.) @: (sin`cos`tan/.)) o. 3 %~ 0.25 0.5
> 0.75
>
>
> ___________________
>
> create a tacit verb parameterized (a double verb)
>
>
> '@:(o.@:(%&3))'Cloak@:('/.'Cloak@:(('''''`'Cloak@('&o.'Cloak)each )))
> ,^:(0:`(@:(o.@:(%&3))))@:(,^:(0:`/.)@:(,^:(0:`''`)@(,^:(0:`(&o.)))&.>))
>
> '@:(o.@:(%&3))'Cloak@:('/.'Cloak@:(('''''`'Cloak@('&o.'Cloak)each ))) (1
> 2 3)
> 1&o.`(2&o.)`(3&o.)/.@:(o.@:(%&3))
>
> '@:(o.@:(%&3))'Cloak@:('/.'Cloak@:(('''''`'Cloak@('&o.'Cloak)each )))(1 2
> 3) 0.25 0.5 0.75
> 0.258819
> 0.866025
> 1
>
> is there a way to make this expression a dyad instead of a double verb?
> ie. use x for one parameter (1 2 3) and y for 0.25 0.5 0.75
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

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

Reply via email to