Re: [Jprogramming] Sequence generation

2017-09-28 Thread Don Kelly
Fair enough -he did ask for a recursive form. summing  is similar to the non recursive method for forming "sin" from  a series . In other words- why go to recursive- shades of Basic, Fortran and other languages needing a loop for this. It is a bit of beating a dead horse. Don On 2017-09-28 4

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
The important thing here is not any namespace but if we get copies of the data. If the data is copied into the ([: f ]) construction during execution. /Erling On 2017-09-29 05:31, Henry Rich wrote: It seems a bit much to ask Raul to track down a recent email thread. No, @: does not create a n

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Henry Rich
It seems a bit much to ask Raul to track down a recent email thread. No, @: does not create a namespace.  Only explicit entities have a namespace. Henry Rich On 9/28/2017 11:19 PM, Erling Hellenäs wrote: On 2017-09-29 04:59, Raul Miller wrote: I do not know of any definition of "namespace" s

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
On 2017-09-29 04:59, Raul Miller wrote: I do not know of any definition of "namespace" such that @: creates a namespace. Why do you think that @: creates a namespace? Thanks, As I said there was a discussion about this in a long thread recently. Maybe you can find it? This is from what I reme

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread bill lam
It was introduced in J2 (1994), it listed about 40 rules for bident and trident in its J dictionary (a printed book). People may getting smart enough to understand and to use those trains by now. http://www.jsoftware.com/help/release/status.htm Чт, 28 сен 2017, Henry Rich написал(а): > It would h

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
On 2017-09-29 04:45, Henry Rich wrote: Taking your last sentence first, you would have to supply some evidence to make me believe that tacit forms have any intrinsic performance penalty. When you write @ instead of @: you can cause a loop which has a big performance penalty, according to measur

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Henry Rich
It's there under 5.01 Non-compatible changes (a euphemism!): http://www.jsoftware.com/help/release/noncpat.htm Henry Rich On 9/28/2017 11:12 PM, Raul Miller wrote: This? http://www.jsoftware.com/help/release/contents.htm I do not see any mention of [. or ]. or lev or dex or trains there... T

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Raul Miller
This? http://www.jsoftware.com/help/release/contents.htm I do not see any mention of [. or ]. or lev or dex or trains there... Thanks, -- Raul On Thu, Sep 28, 2017 at 11:08 PM, Henry Rich wrote: > It would have been in 5.01 then; look for 'Release Notes' rather than > "Implementation Status'

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Henry Rich
It would have been in 5.01 then; look for 'Release Notes' rather than "Implementation Status' Henry Rich On 9/28/2017 11:05 PM, Raul Miller wrote: Oddly, I do not see any mention of lev and dex being removed on http://www.jsoftware.com/help/release/status.htm I thought I remembered seeing the

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Raul Miller
Oddly, I do not see any mention of lev and dex being removed on http://www.jsoftware.com/help/release/status.htm I thought I remembered seeing the version listed there, but for some reason I'm not seeing it today. FYI, -- Raul On Thu, Sep 28, 2017 at 10:58 PM, 'Jon Hough' via Programming wro

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Henry Rich
J4, maybe?  I don't know if it's available. @Jon, did you see my message on source, about the changes to d.? Henry Rich On 9/28/2017 10:58 PM, 'Jon Hough' via Programming wrote: >Note for those who have not been using J for >more than 10 years: the >original tacit >language allowed tra

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Raul Miller
I do not know of any definition of "namespace" such that @: creates a namespace. Why do you think that @: creates a namespace? Thanks, -- Raul On Thu, Sep 28, 2017 at 10:57 PM, Erling Hellenäs wrote: > About this question: > f@:g@:h? > I think we had a long thread recently about how to write

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread 'Jon Hough' via Programming
>Note for those who have not been using J for >more than 10 years: the >original tacit >language allowed trains that produced modifiers.  What is the latest J version that had this? Is it available somewhere? On Fri, 9/29/17, Henry Rich wrote:

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
About this question: f@:g@:h? I think we had a long thread recently about how to write this. I think each @: will generate a namespace with ([: f ]) and that this means some more copies of variables than [: f [: g [: h ]. The interpreter does not handle @: directly from what I remember from thi

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Skip Cave
doh! +/\4+i.10 4 9 15 22 30 39 49 60 72 85 O ​f course​! I should have seen that. Actually, I thought that a recursive approach would be simpler/more concise, but that doesn't seem to be the case. Skip Cave Cave Consulting LLC On Thu, Sep 28, 2017 at 8:57 PM, Linda Alvord wrote: > Or: > f=: 1

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Henry Rich
Taking your last sentence first, you would have to supply some evidence to make me believe that tacit forms have any intrinsic performance penalty. It is dawning on me that you want fast function definition, but that you want it to produce tacit code.  You find the current tacit language diffi

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
Hi all ! Is improving explicit J the way forward? Or is tacit J and improving tacit J the way forward? I also think that "Henry's" proposal, which is similar to what I have been writing about for a long time, is great.  It is easy to do and have great benefits for people working in explicit J.

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Linda Alvord
Or: f=: 13 :'+/"1(>:/~i.y)*(y#x)+/i.y'    4 f 7 4 9 15 22 30 39 49    Linda Sent from AOL Mobile Mail On Thursday, September 28, 2017 Raul Miller wrote: Nothing is simpler than the i. approach, but ^: is not significantly more complex than $: approach: }:(}:,+/@(_2&{.),>:@{:)^:9]4 4 9 15 22 30

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Linda Alvord
Or: f=: 13 :'+/"1(>:/~i.y)*(y#x)+/i.y'    4 f 7 4 9 15 22 30 39 49    Earlier message from tablet and this from phone. Linda Linda Sent from AOL Mobile Mail On Thursday, September 28, 2017 Raul Miller wrote: Nothing is simpler than the i. approach, but ^: is not significantly more complex t

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Linda Alvord
How about? f=: 13 :'+/"1(>:/~i.y)*(y#x)+/i.y' 4 f 7 4 9 15 22 30 39 49 Linda Sent from AOL Mobile Mail On Thursday, September 28, 2017 Raul Miller wrote: Nothing is simpler than the i. approach, but ^: is not significantly more complex than $: approach: }:(}:,+/@(_2&{.),>:@{:)^:9]

Re: [Jprogramming] zmq - big step for J socket services

2017-09-28 Thread 'Pascal Jasmin' via Programming
followup on qrun (lab) crash its related to the cleanup code (kill__ again). sometimes the servers are not actually cleaned. If so, next qrun will hang. If cleaned, then fine. This may be affected by all my ryzen cpu cores (6 hyper threading cores free though) being busy on tasks. Another

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Joe Bogner
I also like Henry's suggestion of fast function definition. It's also unclear to me on how the Erling's suggestion improves upon that. On Thu, Sep 28, 2017 at 5:45 PM, Louis de Forcrand wrote: > I don't really understand what you wish to add either, Erling. > > If you want to use explicit J synt

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
Hi all ! I think my blog post describes my view: https://erlhelinfotech.wordpress.com/2016/08/01/jwithatwist-or-tacit-j/ It is in no way exhaustive in terms of problems  I find in tacit J, but I think it was more than enough for taking the decision. "The tacit J syntax is a total mess of utter

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Björn Helgason
'0' -.~ ,'),',"1~ '(',"1 ": +\4+i.10 just add + here and there On 28 Sep 2017 18:34, "Skip Cave" wrote: > What is a good way to generate this sequence in J? > > 4,(4+5),(4+5+6),(4+5+6+7),(4+5+6+7+8)+. > > Show one way using i. and insert. > > Show another way using recursion. > > Skip > >

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
Creating a new variable with the same name is equivalent to having a declared variable that you can change in other languages, a mutable variable? Thus, all variables in J are mutable? Not just some bitmap arrays which are in-place editied under certain conditions? /Erling On 2017-09-29 02:19,

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
There usually have to be exceptions. Does it mean that tacit J does not limit mutable state more than explicit J? It seems when you have no variables at least the variables are not mutable? /Erling On 2017-09-29 01:45, Raul Miller wrote: Tacit J can have mutable state. For example: set=:

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Ric Sherlock
Hi Erling, Just want to suggest that statements like "we recognized tacit J is not useful" seem a little premature unless "we" is the royal "we" i.e. "I". Even then I suspect a more accurate statement would be "I don't see the benefits of tacit J". So far my understanding of your position is that

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Raul Miller
Tacit J can have mutable state. For example: set=:1!:2&(<'state') get=:1!:1 bind (<'state') It's also possible implement mutable state in tacit J without using foreigns (nor the explicit conjunction), but (depending on your approach), it can get long. Thanks, -- Raul On Thu, Sep 28, 20

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Erling Hellenäs
It's not better. Skip asked for a recursive version too so  we gave him one. Very complicated way to write a simple thing. Lol. /Erling On 2017-09-29 01:24, Don Kelly wrote: why is this better than the easy to read version that Roger Hui sent? quote:    +/\4+i.10 4 9 15 22 30 39 49 60 72 85

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Don Kelly
why is this better than the easy to read version that Roger Hui sent? quote: +/\4+i.10 4 9 15 22 30 39 49 60 72 85 unquote: This is also the way APL does it Sure it is fun to try different ways such as below, just as it is fun to make a 1 liner to generate a series for sin x. It is also ni

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
Hi all! See comments below. Cheers, Erling On 2017-09-28 23:45, Louis de Forcrand wrote: I don't really understand what you wish to add either, Erling. If you want to use explicit J syntax, you could write an explicit verb. The main difference between tacit J and explicit J, as I see it, is n

Re: [Jprogramming] zmq - big step for J socket services

2017-09-28 Thread 'Pascal Jasmin' via Programming
its working pretty well, A suggestion for generic "server error" would be to return the J error from the J server instead. Useful for the examples you are showing now. (basically show lse__ as client response) The labs and examples do eventually hang if repeated enough though. A repeated c

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Raul Miller
Nothing is simpler than the i. approach, but ^: is not significantly more complex than $: approach: }:(}:,+/@(_2&{.),>:@{:)^:9]4 4 9 15 22 30 39 49 60 72 Thanks, -- Raul On Thu, Sep 28, 2017 at 3:37 PM, Xiao-Yong Jin wrote: > > >> On Sep 28, 2017, at 1:40 PM, Raul Miller wrote: >> >> Tha

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Louis de Forcrand
I don't really understand what you wish to add either, Erling. If you want to use explicit J syntax, you could write an explicit verb. You write: > Particularly to create what you most commonly need, a sequence of > monadic verbs, each acting on the result of the verb to the right. > Well, it is

Re: [Jprogramming] zmq - big step for J socket services

2017-09-28 Thread William Tanksley, Jr
It's available for Android at least. On Thu, Sep 28, 2017 at 12:46 PM Eric Iverson wrote: > zmq is a portable library and runs on many platforms. In particular it runs > on windows/linux/osx/rpi. Probably not on mobile devices, but I am not > sure. > > On Thu, Sep 28, 2017 at 1:30 PM, Björn Helg

[Jprogramming] Jd update 4.2

2017-09-28 Thread Eric Iverson
Jd has been updated to Jd version 4.2. The main change is a new tutorial server-zmq that shows how to use jsc/zmq to easily create a Jd server. -- For information about J forums see http://www.jsoftware.com/forums.htm

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Xiao-Yong Jin
> On Sep 28, 2017, at 2:45 PM, Erling Hellenäs wrote: > >4 [`(] (] , [ + [: {: ]) [ $: [: <: ])@.(<) 8 > 4 9 15 22 30 Super! 4 [`(] (] , (+{:)) ($:<:) )@.< 8 > /Erling > > On 2017-09-28 20:33, Skip Cave wrote: >> What is a good way to generate this sequence in J? >> >> 4,(4+5),(4+5+6)

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Erling Hellenäs
   4 [`(] (] , [ + [: {: ]) [ $: [: <: ])@.(<) 8 4 9 15 22 30 /Erling On 2017-09-28 20:33, Skip Cave wrote: What is a good way to generate this sequence in J? 4,(4+5),(4+5+6),(4+5+6+7),(4+5+6+7+8)+. Show one way using i. and insert. Show another way using recursion. Skip Skip Cave Cav

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Xiao-Yong Jin
> On Sep 28, 2017, at 2:37 PM, Xiao-Yong Jin wrote: > > > >> On Sep 28, 2017, at 1:40 PM, Raul Miller wrote: >> >> That is what I would assume: >> >> 4,(4+5),(4+5+6),(4+5+6+7),(4+5+6+7+8) >> 4 9 15 22 30 >> >> I was trying to figure out a recursive approach which isn't vastly >> more ted

Re: [Jprogramming] zmq - big step for J socket services

2017-09-28 Thread Eric Iverson
zmq is a portable library and runs on many platforms. In particular it runs on windows/linux/osx/rpi. Probably not on mobile devices, but I am not sure. On Thu, Sep 28, 2017 at 1:30 PM, Björn Helgason wrote: > Sounds very interesting. > Can not try this yet. > Is it for all Os? > > On 28 Sep 201

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Xiao-Yong Jin
> On Sep 28, 2017, at 1:40 PM, Raul Miller wrote: > > That is what I would assume: > > 4,(4+5),(4+5+6),(4+5+6+7),(4+5+6+7+8) > 4 9 15 22 30 > > I was trying to figure out a recursive approach which isn't vastly > more tedious... 4( [, +( ([,+)`$:@.(10>]) ) >:@])5 On the other hand, ^: can

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Raul Miller
That is what I would assume: 4,(4+5),(4+5+6),(4+5+6+7),(4+5+6+7+8) 4 9 15 22 30 I was trying to figure out a recursive approach which isn't vastly more tedious... Thanks, -- Raul On Thu, Sep 28, 2017 at 2:39 PM, Roger Hui wrote: > You don't mean > >+/\4+i.10 > 4 9 15 22 30 39 49 60 7

Re: [Jprogramming] Sequence generation

2017-09-28 Thread Roger Hui
You don't mean +/\4+i.10 4 9 15 22 30 39 49 60 72 85 do you? On Thu, Sep 28, 2017 at 11:33 AM, Skip Cave wrote: > What is a good way to generate this sequence in J? > > 4,(4+5),(4+5+6),(4+5+6+7),(4+5+6+7+8)+. > > Show one way using i. and insert. > > Show another way using recursion.

[Jprogramming] Sequence generation

2017-09-28 Thread Skip Cave
What is a good way to generate this sequence in J? 4,(4+5),(4+5+6),(4+5+6+7),(4+5+6+7+8)+. Show one way using i. and insert. Show another way using recursion. Skip Skip Cave Cave Consulting LLC -- For information about J

Re: [Jprogramming] zmq - big step for J socket services

2017-09-28 Thread Björn Helgason
Sounds very interesting. Can not try this yet. Is it for all Os? On 28 Sep 2017 17:04, "Eric Iverson" wrote: > New addons net/zmq and net/jcs are available. They require 806. > > The zmq addon has bindings between J and the zmq shared library. > > The jcs addon has J client/server tools built on

[Jprogramming] zmq - big step for J socket services

2017-09-28 Thread Eric Iverson
New addons net/zmq and net/jcs are available. They require 806. The zmq addon has bindings between J and the zmq shared library. The jcs addon has J client/server tools built on the zmq request/reply pattern. These addons make it much easier and with far less code to provide high-performance, ro

Re: [Jprogramming] zeromq addon

2017-09-28 Thread Eric Iverson
Pascal (zmq), jcs uses the zmq request/reply pattern and works exactly as desired. There are several other common patterns supported by zmq and building something on top of them will be as easy (and require as little code) as jcs. There is no need to build a queue on top of jcs. Just use the rig

Re: [Jprogramming] print an array

2017-09-28 Thread David Lambert
([: }. (' 0';'  ') stringreplace ' '&,)"1@:":          i. 3 4 An optional left argument x is the format argument to ": This verb converts an arbitrary rank array to a string vector which `looks' the same as the original.  I use it to dump arrays onto files.  There may be library support for th

Re: [Jprogramming] print an array

2017-09-28 Thread Rudolf Sykora
On 28 September 2017 at 15:43, Raul Miller wrote: > But, yes, this works: > >r=: , LF,.~": _7 ]\ 0 >. i.&.(+&5) 32 So this is much in the way I wanted it at the very begining. Thanks. Ruda -- For information about J foru

Re: [Jprogramming] print an array

2017-09-28 Thread 'Mike Day' via Programming
Yes,  you're right in a way about @: ,  but I'd skipped defining a verb to do the job. What I had in mind,  but didn't explicitly show,  was something like      remz =: ($$rplc & (' 0';' ')) @ ":    NB. @  also works ok! so allowing     remz a etc. And yes,  the $$ restores the shape of the rave

Re: [Jprogramming] print an array

2017-09-28 Thread Raul Miller
I did not write stringreplace, so am not prepared to discuss its implementation tradeoffs. But, yes, this works: r=: , LF,.~": _7 ]\ 0 >. i.&.(+&5) 32 r 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 0 0 0 r rpl

Re: [Jprogramming] print an array

2017-09-28 Thread Rudolf Sykora
On 28 September 2017 at 14:50, Raul Miller wrote: > Another way to work around this problem would be to use stringreplace"1 > >r=: _7 ]\ 0 >. i.&.(+&5) 32 >(":r) rplc"1 ' 0';' ' Ok. Thanks. So is there a good reason for txt=. ,y in stringreplace? Or, can the whole of r be represented as

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Raul Miller
Jose's work is impressive, but I try to avoid it because of the extra complexity it creates when I want to (for example) provide a parameter in clauses for conjunctions like &. -- the extra complexity can be a nice mental exercise and maybe even a cure for boredom, but I feel that I have the right

Re: [Jprogramming] print an array

2017-09-28 Thread Raul Miller
If you look at the definition of stringreplace, the first line is txt=. ,y So it's working with ,r Another way to work around this problem would be to use stringreplace"1 (Though, personally, I prefer rplc over stringreplace, because that leaves more room for other stuff on my lines. Also, ne

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
Sorry, this was obviously wrong, but I wondered about Tacit programming and it seems to be about things expressed here. https://en.wikipedia.org/wiki/Combinatory_logic#Examples_of_combinators /Erling On 2017-09-28 14:40, Erling Hellenäs wrote: The fork seems to be the S-combinator. https://en.w

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
The fork seems to be the S-combinator. https://en.wikipedia.org/wiki/Combinatory_logic#Examples_of_combinators /Erling On 2017-09-28 14:33, Erling Hellenäs wrote: Hi all ! I am very impressed by Jose's work and I think it is an excellent illustration to why we need the modification to J I pr

Re: [Jprogramming] Tacit Expressions with Explicit J Syntax

2017-09-28 Thread Erling Hellenäs
Hi all ! I am very impressed by Jose's work and I think it is an excellent illustration to why we need the modification to J I propose. It is extremely  complicated to do these things which should be simple, as I see it. Particularly to create what you most commonly need, a sequence of monadic

Re: [Jprogramming] print an array

2017-09-28 Thread Rudolf Sykora
On 27 September 2017 at 19:13, 'Mike Day' via Programming wrote: >($$rplc & (' 0';' ')) @: ": a Yes. (I guess the @: is unnecessary here, right?) I actually had tried something similar first: (' 0';' ') stringreplace ":r which, however, yielded 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1516 17 18

Re: [Jprogramming] print an array

2017-09-28 Thread Rudolf Sykora
On 27 September 2017 at 19:44, chris burke wrote: > a=. (a<32) * a=. 0 >. _5 + i.6 7 > > > 'b<>3.0' (8!:2) a Thanks, this is probably the expected form, though I still have to find out, what exactly it does. :)) Ruda ---

Re: [Jprogramming] print an array

2017-09-28 Thread Rudolf Sykora
On 28 September 2017 at 01:21, Roger Hui wrote: > If you are making a calendar you may find the following of interest: > http://www.jsoftware.com/papers/eem/qq101.htm . It's APL but the ideas > translate pretty readily into J. Thanks. Actually, I am not making a calendar :), I just wanted to see

Re: [Jprogramming] print an array

2017-09-28 Thread Rudolf Sykora
On 28 September 2017 at 01:09, Devon McCormick wrote: > Assuming a is a numeric matrix: > >a=. ":a >(a='0')}a,:' ' >1 > 2 3 4 5 6 7 8 > 9 1 11 12 13 14 15 > 16 17 18 19 2 21 22 > 23 24 25 26 27 28 29 > 3 31 > > see the missing zero in 10, 20, 30; isolated ze