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 <mwlochb...@gmail.com> 
> 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 <henryhr...@gmail.com> 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 <fo...@iocane.net> 
> >> > 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 <
> >> >>>>>> jose.mario.quint...@gmail.com> 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

Reply via email to