the bug is the display of ((3 ar)`) (`(5 ar))(`:6)
((3`)(`5))(`:6) ((3 ar)`) (`(5 ar)) (3`)(`5) where, ar =: 1 : '5!:1 <''u''' The displayed code result is not a valid executable equivalence to the expression that created it. This appears to be a display only bug, as the code works internally. ((3 ar)`) NB. this should be (<(,'0');3)` <(,'0');3` On Thursday, February 27, 2020, 09:20:51 p.m. EST, Henry Rich <henryhr...@gmail.com> wrote: I also don't understand what it is alleged is an error. Henry Rich On 2/27/2020 9:06 PM, Julian Fondren wrote: > On 2020-02-27 19:38, 'Pascal Jasmin' via Programming wrote: >> gerunds are lists of atomic representations? (yes,ok, that is a noun) >> >> A more basic description of the problem. > > What is the problem though? Is 'modifiers' still a valid subject > for this thread? Even reading your last message, or the thread > from the beginning, I really don't know what you're saying here. > >> Both of these expressions are illegal >> 3`+ >> 3`+`5 >> > ... >> >> These 2 expressions "parse" due to the "lazy"/spartan >> definition/behaviour of ` >> >> +`a: >> > ... >> a:`+ >> > > I don't believe this is because a: is a magical noun, but > because it's boxed. > > (<3)`+`(<5) > ┌─┬─┬─┐ > │3│+│5│ > └─┴─┴─┘ > > consider: > > +`a.`- > |domain error > | + `a.`- > +`(<a.)`-@.0 ] 1 > 1 > +`(<a.)`-@.2 ] 1 > _1 > +`(<a.)`-@.1 ] 1 > |domain error > | +`(<a.)`- @.1]1 > datatype > 1 { +`(<a.)`- > literal > # > 1 { +`(<a.)`- > 256 > ((<'+');(<'-'))@.1 ] 1 > _1 > ((<'+');(<'-'))@.0 ] 1 > 1 > >> >> I have well tested code that provides "return list of atomic >> representations" behaviour from tie if that is deemed a worthwhile >> change. >> >> But, my other point was that "visual sugar" that is invalid code can >> have inconveniences. >> >> >> >> On Thursday, February 27, 2020, 03:14:58 p.m. EST, Raul Miller >> <rauldmil...@gmail.com> wrote: >> >> >> >> >> >> gerund are nouns. >> >> Thanks, >> >> -- >> Raul >> >> On Thu, Feb 27, 2020 at 12:51 PM 'Pascal Jasmin' via Programming >> <programm...@jsoftware.com> wrote: >>> >>> Seems I found a bug, though the following approach still works, and >>> has the best performance >>> >>> ar =: 1 : '5!:1 <''u''' >>> >>> the bug is: >>> >>> ((3 ar)`) (`(5 ar)) (`:6) >>> >>> ((3`)(`5))(`:6) NB. not valid gerunds, though magically the >>> following still works >>> >>> + ((3 ar)`) (`(5 ar)) (`:6) >>> 8 >>> >>> + A=: (((3 ar)`) (`(5 ar)) (`:6)) NB. separate lines still work >>> despite "invalid return" >>> >>> 8 >>> >>> though the following fails, >>> >>> + ((3`)(`5))(`:6) >>> >>> |domain error >>> >>> representation is supposed to be, >>> >>> + ((3 ar)`) (`(5 ar)) >>> >>> ┌─────┬─┬─────┐ >>> >>> │┌─┬─┐│+│┌─┬─┐│ >>> >>> ││0│3││ ││0│5││ >>> >>> │└─┴─┘│ │└─┴─┘│ >>> >>> └─────┴─┴─────┘ >>> >>> >>> An incompatible change that would seem very welcome to me, would be >>> that >>> >>> noun ` noun >>> >>> instead of creating a list from the 2 nouns (pair) if they are >>> magically compatible, would create a pair of atomic representations >>> of each noun. >>> >>> Because the above code works, it appears as though just "visual >>> sugar" is provided for display. The proposed incompatible change >>> would make the visual sugar valid code, which is consistent (other >>> than this) within J. >>> >>> On Thursday, February 27, 2020, 11:33:59 a.m. EST, Raul Miller >>> <rauldmil...@gmail.com> wrote: >>> >>> >>> >>> >>> >>> Or, more robust: >>> >>> C=:2 :0 >>> mRep=. 5!:5<'m' >>> mVn=. m V n >>> mVnRep=. 5!:5<'mVn' >>> 1 :('(',mRep,') u~ ',mVnRep) >>> ) >>> >>> Example use: >>> >>> V=:+ >>> ,. 10 C (i.2 3) >>> 10 11 12 10 >>> 13 14 15 10 >>> >>> (The issue here is that 5!:5 is better than ": when serializing nouns >>> for use in sentences.) >>> >>> Perhaps even better, though, would be to define a verb to serialize >>> nouns and use that in place of ": >>> >>> lrep=:3 :0 >>> '(',(5!:5<'y'),')' >>> ) >>> >>> C=:2 :0 >>> 1 :((lrep m),'u~',lrep m V n) >>> ) >>> >>> Thanks, >>> >>> -- >>> Raul >>> >>> On Thu, Feb 27, 2020 at 6:48 AM 'Pascal Jasmin' via Programming >>> <programm...@jsoftware.com> wrote: >>> > >>> > C =: 2 : 0 >>> > 1 : ((": m) , ' u~ ' , ": m V n) >>> > ) >>> > >>> > >>> > >>> > >>> > >>> > >>> > On Thursday, February 27, 2020, 03:04:57 a.m. EST, Hauke Rehr >>> <hauke.r...@uni-jena.de> wrote: >>> > >>> > >>> > >>> > >>> > >>> > What I want is rather something (C here) callable like >>> > noun1 C noun2 >>> > resulting in the adverb >>> > noun1 u~ <result of noun1 V noun2> >>> > >>> > What you say I knew except if the evaluation >>> > rules changed in j9 and this is new bahaviour. >>> > >>> > That said, I got rid of my nested 1 :/2 : >>> > construct (I didn’t mention that yet) >>> > and tried replacing m and n by x and y >>> > but to no avail. >>> > >>> > Am 27.02.20 um 01:37 schrieb 'Pascal Jasmin' via Programming: >>> > > u or m will be the argument to A. x and y arguments to >>> resulting verb. >>> > > >>> > > it sounds as though you may be trying to do >>> > > >>> > > A =: 1 : 'x u~ x V y' NB. a valid dyadic adverb in j9 >>> > > >>> > > and this would be equivalent to >>> > > >>> > > ([ u~ V) >>> > > >>> > > >>> > > >>> > > >>> > > On Wednesday, February 26, 2020, 06:20:45 p.m. EST, Hauke Rehr >>> <hauke.r...@uni-jena.de> wrote: >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > Hello again, >>> > > >>> > > I’m still confused about modifiers. >>> > > Please tell me where to find more information >>> > > that might aid in understanding how this works: >>> > > >>> > > I have an adverb A and a verb V but sometimes >>> > > x and y for the derived verb for A are known >>> > > prior to the verb, so I want to write a modifier >>> > > something like this: >>> > > >>> > > m (u A)~ m V n >>> > > >>> > > I get a domain error which afaik is due to both >>> > > m and u being bound to the left noun. >>> > > So how would one go about this and where to find >>> > > further information on constructions like this? >>> > > >>> > >>> > -- >>> > ---------------------- >>> > mail written using NEO >>> > neo-layout.org >>> > >>> > >>> ---------------------------------------------------------------------- >>> > 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