bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] Workspace name listing utility


From: David B. Lamkins
Subject: Re: [Bug-apl] Workspace name listing utility
Date: Fri, 11 Jul 2014 22:38:40 -0700

Thank you, Fred. Done as suggested.

The corrected and polished version of the utility is now on Github:

https://github.com/TieDyedDevil/apl-nlf



On Fri, 2014-07-11 at 22:56 -0500, Frederick H. Pitts wrote:
> Hello David,
> 
>       Thanks for the utility.
> 
>       May I suggest a minor tweak?
> 
> ' e: show names having any character not in set'
> 
>       should read
> 
> ' e: show names having only characters not in set'
> 
>       The former implies
> 
> ]nlf e ⍙
> 
>       would list, for instance, ⍙class, because c, l, a, and s are not in the
> set ⍙, while in reality ⍙class is not listed because it contains ⍙, a
> character in set.
> 
> Regards,
> 
> Fred
> Retired Chemical Engineer
> 
> On Fri, 2014-07-11 at 11:30 -0700, David Lamkins wrote:
> > Here's a more developed version of the utility functions I posted a
> > few days ago. I've added a ]usercmd wrapper.
> > 
> > ⍝!
> > 
> > ∇z←⍙class ni ⍙set
> >   ⍝ Return a character array of every workspace name which includes
> >   ⍝ all characters in ⍙set. The empty set matches everything. The
> >   ⍝ optional ⍙class argument selects results by name class; the
> >   ⍝ default is 2 3 4 (variables, functions and operators).
> >   ⍎(0=⎕nc '⍙class')/'⍙class←2 3 4'
> >   z←⊃{ (∧/⊃(⊂,⍙set)∊¨⍵)/⍵ }{ (∧\' '≠⍵)/⍵ }¨⊂[(1+⎕io)]⎕nl ⍙class
> > ∇
> > 
> > ∇z←⍙class ne ⍙set
> >   ⍝ Return a character array of every workspace name which excludes
> >   ⍝ any character in ⍙set. The empty set excludes nothing. The
> >   ⍝ optional ⍙class argument selects results by name class; the
> >   ⍝ default is 2 3 4 (variables, functions and operators).
> >   ⍎(0=⎕nc '⍙class')/'⍙class←2 3 4'
> >   z←⊃{ (~∨/⊃(⊂,⍙set)∊¨⍵)/⍵ }{ (∧\' '≠⍵)/⍵ }¨⊂[(1+⎕io)]⎕nl ⍙class
> > ∇
> > 
> > ∇⍙args nlf_ucmd ⍙line
> >   →(3>⍴⍙args)/help
> >   →(4>⍴⍙args)/disp
> >   →(~∨/4='234'⍳3↓⍙args)/disp
> >   'class must be in 2 3 4'
> >   →help
> > disp:
> >   →('ie'∊↑1↓⍙args)/inc,exc
> > help:
> >   ((∧\' '≠⍙line)/⍙line),' i|e set [class]'
> >   →('?'≠↑1↓⍙args)/0
> >   'Display workspace names'
> >   '  i: show names having all characters in set'
> >   '  e: show names having any character not in set'
> >   '  set: any of a-z, A-Z, 0-9, ∆⍙_¯'
> >   '  class: selects name class(es)'
> >   '    2: variables; 3: functions; 4: operators'
> >   →0
> > inc:
> >   →(3<⍴⍙args)/iwc
> >   ni ↑2↓⍙args
> >   →0
> > iwc:
> >   (⍎¨3↓⍙args) ni ↑2↓⍙args
> >   →0
> > exc:
> >   →(3<⍴⍙args)/ewc
> >   ne ↑2↓⍙args
> >   →0
> > ewc:
> >   (⍎¨3↓⍙args) ne ↑2↓⍙args
> > ∇
> > 
> > ]usercmd ]nlf nlf_ucmd 1
> > 
> > 
> > -- 
> > "The secret to creativity is knowing how to hide your sources."
> >    Albert Einstein
> > 
> > 
> > http://soundcloud.com/davidlamkins
> > http://reverbnation.com/lamkins
> > http://reverbnation.com/lcw
> > http://lamkins-guitar.com/
> > http://lamkins.net/
> > http://successful-lisp.com/
> 
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]