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
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
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
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
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
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
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
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'
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
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
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
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
>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:
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
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
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
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.
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
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
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]
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
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
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
'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
>
>
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,
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=:
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
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
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
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
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
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
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
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
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
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
> 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)
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
> 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
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
> 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
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
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.
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
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
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
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
([: }. (' 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
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
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
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
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
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
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
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
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
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
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
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
---
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
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
61 matches
Mail list logo