Henry,
Louis is exactly right. The J805 is referred as the current stable
release. J806 is a moving target because you are still modifying it and
modifications can make (and have made) some of the Jx extensions no longer
effective.
One Jx foreign conjunction, which helps to bypass the need to use names
when a primitive or foreign (or a derived) verb (e.g. 5!:1), requires
them, still presents difficulties since J805. Interestingly, a Jx tacitly
written version of the conjunction that follows the same method (namely,
assign the value of the argument to a randomly generated name, call the
verb using the name, erase the name, and return the verb result) works fine.
Another issue with J805/j806 is that one instance of code that used to run
fine no longer does. I reported it [0] even knowing that is not considered
a bug because the code is non-compliant. Nevertheless, we rely on that
kind of code, fortunately, in that particular instance there is a
workaround but I wonder what else might be lurking somewhere.
I noticed that you are considering including =.. and =:: . I recall
someone (was Adin Falkoff?) commenting: [ and ] are the cockroaches of APL,
they will outlast everybody. J dropped them (in the context of APL) and
replace them with the verb { . Paraphrasing: Copulas ( =. and =:: )
are the cockroaches of J and Jx, they will outlast everybody. However,
there are the corresponding verbs in Jx and , with some luck, there might
be in J.
[0] [Jprogramming] A couple of J805/806 issues Jose Mario Quintana
http://www.jsoftware.com/pipermail/programming/2017-May/047327.html
On Mon, Jul 17, 2017 at 8:21 PM, HenryRich <[email protected]> wrote:
> Unstable? If you have a bug in J8.06, please post it at
>
> http://code.jsoftware.com/wiki/System/Interpreter/Bugs
>
> I don't see any bugs that are new in 8.06, and plenty that are fixed from
> previous versions.
>
> Henry Rich
>
>
> On 7/17/2017 7:06 PM, Jose Mario Quintana wrote:
>
>> Louis, a Jx interpreter implements extensions to the language. It
>> supports
>> tacit programming full-heartedly and embraces first-class verbs. There
>> are
>> publicly available patches for Jx extensions, as well as, a pre-built 32
>> bit Windows dll and Pre-built 32 and 64 bit Linux libs at
>>
>> http://www.2bestsystems.com/foundation/j/jx0/index.html
>>
>> but it is an early version of Jx based on the J701 source. Jx has evolved
>> (e.g., the primitives =.. and =:: were added afterwards) and J's core
>> engine has evolved rapidly as well; it has been very difficult to catch
>> up.
>> ("Be careful what you wish for.") :)
>>
>> The current unreleased version of Jx is based on the unstable official
>> J806
>> beta source and there are some relatively minor Jx glitches. We were
>> planning to wait for the official J806 to become stable and resolve the Jx
>> glitches but I might decide instead to release a current version, as is,
>> soon.
>>
>>
>> On Mon, Jul 17, 2017 at 7:40 AM, Louis de Forcrand <[email protected]>
>> wrote:
>>
>> A lot has been said on these forums about Jx and Unbox.
>>> They are unofficial J interpreters (with extensions to the language), are
>>> they not?
>>> Are they publicly available? I couldn't find anything about them on
>>> Google
>>> except older messages in the forum archives, but then again unfortunately
>>> this language's name makes it sometimes hard to look up on the web.
>>>
>>> Thanks!
>>> Louis
>>>
>>> On 16 Jul 2017, at 15:37, Raul Miller <[email protected]> wrote:
>>>>
>>>> Sure, and the biggest problem here is the use of globals for arguments.
>>>>
>>>> The verbs themselves can be pure, but all we're really doing is
>>>> rearranging the deck chairs.
>>>>
>>>> Thanks,
>>>>
>>>> --
>>>> Raul
>>>>
>>>>
>>>> On Sun, Jul 16, 2017 at 3:33 PM, Jose Mario Quintana
>>>> <[email protected]> wrote:
>>>>
>>>>> At least we agree, I think, on one thing " in explicit programming
>>>>> [typically] names refer to arguments while in tacit programming they do
>>>>> not." Thus, is not just a matter of tacit aesthetics, there are some
>>>>> consequences which might be difficult to evade:
>>>>>
>>>>> ('`u v') =: +/`*:
>>>>> u@:v f.
>>>>> +/@:*:
>>>>>
>>>>> ('`u v') =:: +/`*: NB. Jx
>>>>> ┌───────┬──┐
>>>>> │┌─┬───┐│*:│
>>>>> ││/│┌─┐││ │
>>>>> ││ ││+│││ │
>>>>> ││ │└─┘││ │
>>>>> │└─┴───┘│ │
>>>>> └───────┴──┘
>>>>> u@:v f.
>>>>> +/@:*:
>>>>>
>>>>> ('`u v') is +/`*: NB.
>>>>> |domain error
>>>>> | (m) =:y
>>>>> is
>>>>> 1 : '(m)=:y'
>>>>>
>>>>> So, assuming I understood the intended use of your adverb is, I am
>>>>>
>>>> afraid
>>>
>>>> your adverb cannot be used without typical limitations.
>>>>>
>>>>>
>>>>>
>>>>>
>>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
>
> ---
> This email has been checked for viruses by AVG.
> http://www.avg.com
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm