Raul wrote:
> This?
> 
>   v 'J double-entrende’

That’s neat, but I prefer the “sneakiest” solution I can find.  

Put another way: the most implicit expression, where the notation does most of 
the work for me, and I provide the smallest number of possible explicit 
instructions; the new conjunction you introduced in this message can be used 
for some really cute expressions, but they’re detected easily. 

Or maybe “detected easily” is framing it the wrong way. It’s more like I prefer 
*not having to say it at all*. For a long while, I took this philosophy to the 
extreme, and used what I called the “fish hook”, where I’d write (f~ g)~ (see 
the two fins?) instead of (g@[ f ]) just to avoid using the primitives [ and ], 
which felt too much like explicit arguments to me. 

I preferred, at the time, for the arguments simply to “fall into the right 
place”, automatically. Kinda like when you’d do some stupid trick as a kid and 
shout “Look ma, no hands!”.

This isn’t exactly declarative programming, per se, but it shares some of the 
same motivations that stimulated that practice as a separate discipline from 
imperative programming. I’ve made the analogy to place-value notation for 
numbers as opposed to prior notations (e.g. Roman numerals) before, and I think 
it’s apt.

That said, it’s possible to take things too far, in the sense that ultimately 
the costs outweigh the (relevant) benefits, and I’ve been guilty of that as 
well.

Anyway, another hint towards what I was talking about:

   http://www.jsoftware.com/pipermail/general/2004-April/017052.html 
<http://www.jsoftware.com/pipermail/general/2004-April/017052.html>

I guess I’ll take your original and see if I can re-phrase it along these lines.

-Dan

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

Reply via email to