g=:;:'+-/\'
(;0 2{g)(128!:2)i.5
10
(;1 2 3{g)(128!:2)i.5
0 _1 1 _2 2
On Thu, Aug 3, 2017 at 5:05 AM, Marshall Lochbaum <[email protected]>
wrote:
> I stated in my post that any verb which would unbox a boxed verb should
> instead domain error. This is essentially the same thing that explicit
> verbs do when their last line has a non-noun result. Failure to do this
> would already be a bug, which makes the bugs mentioned in (2)
> irrelevant--the incorrect behavior should be stopped at the source.
>
> Marshall
>
> On Thu, Aug 03, 2017 at 05:14:35AM -0400, Raul Miller wrote:
> > Some notes:
> >
> > (1) This suggests that it would be legal for a verb result to be a
> > verb (because unbox is a verb and the proposal is that it produce verb
> > results).
> >
> > (2) Currently, we get crashes in some contexts where this behavior has
> > been allowed to leak into the interpreter.
> >
> > (3) By making the leak "official" we introduce new potential "leaky
> > abstraction" issues, which suggest that in some cases it may become
> > legal for a verb to be an argument to a verb. For example, consider
> > verbs like ;L:0 or ,~&.> or whatever with boxed arguments where some
> > or all of the boxes "contain verbs".
> >
> > There may be other issues?
> >
> > Thanks,
> >
> > --
> > Raul
> >
> >
> >
> >
> > On Thu, Aug 3, 2017 at 3:57 AM, Marshall Lochbaum <[email protected]>
> wrote:
> > > Can I just point out that it's not too late to add some (documented)
> way
> > > to box verbs/adverbs/conjunctions? These could be treated as gerunds by
> > > everything that currently uses gerunds, and the interpreter can just
> > > throw an error if anything attempts to actually unbox them. They are
> > > much harder to confuse than the current gerunds, and will have far
> > > better performance.
> > >
> > > This sounds like a radical divergence from the way J works now, but I
> > > don't think it is in practice. Programmers would use some new
> > > conjunction to replace (`), and provided they don't inspect the
> > > structure of gerunds nothing else changes. I suppose there would need
> to
> > > be a way to check what class of object a box contains, because unboxing
> > > to check the type is not allowed. Gerunds would remain useful for
> > > programmers who want to inspect functions or build them from scratch,
> > > but would otherwise become obselete.
> > >
> > > Marshall
> > >
> > > On Thu, Aug 03, 2017 at 09:01:37AM +0800, Bill wrote:
> > >> J interpreter must know when a noun is a gerund, so is it possible to
> add a new primitive to test for gerund? Or is there already J script to
> test for gerund?
> > >>
> > >> Sent from my iPhone
> > >>
> > >> On 3 Aug, 2017, at 3:36 AM, Henry Rich <[email protected]> wrote:
> > >>
> > >> > I expect to make some more improvements to dyad u"n, and eventually
> to
> > >> > rewrite the monad to match the dyad. My availability to work on
> this will
> > >> > be intermittent for a while. The 8.06 code as is works, and fixes a
> > >> > long-standing bug reported by Martin Neitzel.
> > >> >
> > >> > I have suggested using m"n, where n is not _, to implement a cyclic
> gerund
> > >> > m. If m doesn't look like a gerund, it would be treated as a
> simple noun.
> > >> > While this is not strictly compatible, I think it very unlikely
> that it
> > >> > would break any existing code. I think m"n was wrongly defined and
> that
> > >> > this is the correct definition. My opinion is not universally
> shared so I
> > >> > haven't acted on it.
> > >> >
> > >> > Henry Rich
> > >> >
> > >> > On Wed, Aug 2, 2017 at 5:03 PM, Thomas Costigliola <
> [email protected]> wrote:
> > >> >
> > >> >> You can try removing the conditional statement enclosing that
> line, but
> > >> >> for now I would say the patch is broken under Clang. Since the
> rank code
> > >> >> was completely rewritten in J805 and J806 and ":: is based on the
> J804 rank
> > >> >> with some unfinished updates Henry was working on, the real
> solution is to
> > >> >> rewrite ":: based on the new rank code. But that should wait until
> the code
> > >> >> is stable. Does anyone anticipate more changes?
> > >> >>
> > >> >> On a more philosophical note, ":: implements gerund left arguments
> that
> > >> >> apply to the items cyclically. The reason for adding a new
> primitive and
> > >> >> not extending ": is because it breaks using ": to define constant
> > >> >> functions. If someone has any ideas to make them play nicely
> together then
> > >> >> they can be merged into a single primitive. The issue is that
> there is no
> > >> >> distinction between a noun and gerund.
> > >> >>
> > >> >> Regards,
> > >> >> -Thomas
> > >> >>
> > >> >>
> > >> >> On 08/02/2017 11:52 AM, bill lam wrote:
> > >> >>
> > >> >>> Yes, I use Clang and have -Werror -Wextra in CFLAGS.
> > >> >>> Sometimes vs2013 is much less tolerant.
> > >> >>>
> > >> >>> Ср, 02 авг 2017, Thomas Costigliola написал(а):
> > >> >>>
> > >> >>>> That looks like Henry's code taken from cr.c at some older
> version. It
> > >> >>>> compiles fine for me in GCC and Visual Studio 2013. It is in the
> > >> >>>> implementation of "::, which seems to be working in my tests, so
> that
> > >> >>>> code
> > >> >>>> never gets hit. Are you using Clang? It's much less tolerant of
> code like
> > >> >>>> that.
> > >> >>>>
> > >> >>>> Regards,
> > >> >>>> -Thomas
> > >> >>>>
> > >> >>>> On 08/02/2017 11:21 AM, bill lam wrote:
> > >> >>>>
> > >> >>>>> When I tried to compile, but this line in best.c failed.
> > >> >>>>>
> > >> >>>>> *((I*)0)=0; // scaf
> > >> >>>>>
> > >> >>>>> and I can not understand its intention, access to memory
> > >> >>>>> address 0 should cause segfault.
> > >> >>>>>
> > >> >>>>> Вт, 01 авг 2017, Jose Mario Quintana написал(а):
> > >> >>>>>
> > >> >>>>>> A brief description of the Jx v1.0 extensions, together with
> links to a
> > >> >>>>>> Windows 64 bit dll, a Unix 64 bit so binaries and the patch
> > >> >>>>>> corresponding
> > >> >>>>>> to the J806 source can be found at,
> > >> >>>>>> http://www.2bestsystems.com/foundation/j/jx1
> > >> >>>>>>
> > >> >>>>>> Summary
> > >> >>>>>>
> > >> >>>>>> - Spelling
> > >> >>>>>> - Names with unicode characters
> > >> >>>>>> - Primitives
> > >> >>>>>> Added =.. =:: $:: [. ]. ]: ".. ":: `. ?: i.. O.
> > >> >>>>>> Extended ~ $.
> > >> >>>>>> - Foreign
> > >> >>>>>> Added 104!:5 Unnamed Execution
> > >> >>>>>>
> > >> >>>>>> - Trains
> > >> >>>>>> a v Added (different from Jx v0)
> > >> >>>>>> a a Extended (different from Jx v0)
> > >> >>>>>> c a Resurrected
> > >> >>>>>> a c a Resurrected
> > >> >>>>>>
> > >> >>>>>> The Jx v0 page,
> > >> >>>>>> http://www.2bestsystems.com/foundation/j/jx0
> > >> >>>>>> will be removed in the near future
> > >> >>>>>>
> > >> >>>>>> Time permitting, there will be soon a script with assertions
> for those
> > >> >>>>>> who
> > >> >>>>>> want to verify binaries targeted for other platforms and I
> will try to
> > >> >>>>>> illustrate the facilities in action with some scripts.
> > >> >>>>>>
> > >> >>>>>>
> > >> >>>>>>
> > >> >>>>>>
> > >> >>>>>> On Sat, Mar 8, 2014 at 11:40 PM, Jose Mario Quintana <
> > >> >>>>>> [email protected]> wrote:
> > >> >>>>>>
> > >> >>>>>>
> > >> >>>>>>> The patches, a Windows 32-bit DLL, a cheatsheet, 32 and 64
> bit Unix
> > >> >>>>>>> libraries are found at:
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>> http://www.2bestsystems.com/foundation/j/
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>> For more details and demonstration code, see the article in
> the
> > >> >>>>>>> Journal of
> > >> >>>>>>> J: http://journalofj.com/index.php/vol-2-no-2-october-2013
> (only the
> > >> >>>>>>> definition of the new conjunction knot (`.) has been slightly
> > >> >>>>>>> modified for
> > >> >>>>>>> the release).
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>> ------------------------------------------------------------
> > >> >>>>>> ----------
> > >> >>>>>> For information about J forums see http://www.jsoftware.com/
> forums.htm
> > >> >>>> ------------------------------------------------------------
> ----------
> > >> >>>> For information about J forums see http://www.jsoftware.com/
> forums.htm
> > >> >> ------------------------------------------------------------
> ----------
> > >> >> For information about J forums see http://www.jsoftware.com/
> forums.htm
> > >> > ------------------------------------------------------------
> ----------
> > >> > For information about J forums see http://www.jsoftware.com/
> forums.htm
> > >> ------------------------------------------------------------
> ----------
> > >> For information about J forums see http://www.jsoftware.com/
> forums.htm
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm