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

Reply via email to