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