Hi Raul, Yes I think I understood Henry's message. This why my thought is to simulte the keyboard input. Since typing the raw input into the first function works exactly as desired. I want rather to substitute escaping to the keyboard for feeding the input as keystrokes.
I don't know enough about stdin and keyboard reads to know the different triggers. Are there some bytes that the keyboard triggers that interpreter recognizes? If the analogy is writing/reading a file, can i get the bytes of each digit and go from there? Is there better was for me to think about this? Probably. But, I know that if a keyboard can do it, I can simulate a keyboard doing it. I must be able to run that track without needing to escape the function. :) Ak On Mon., Aug. 14, 2023, 13:30 Raul Miller, <rauldmil...@gmail.com> wrote: > I think you should re-read Henry's message that you were responding to > here. > > By the time any J function can run, it's already too late. > > -- > Raul > > On Mon, Aug 14, 2023 at 12:58 PM Ak O <akin...@gmail.com> wrote: > > > > What expression allows a function to recieve an argument 'y' as a literal > > without using quotes? > > > > Below are two deficient functions. > > The size of the vector is given by 'x'. The permutation > > index is meant to be given by 'y'. > > > > My intention is treat 'y' as a literal, without needing to use quotes on > > the input. > > > > This first function works by escaping to the keyboard for input > > I would like rather for the function to receive the input from the raw > > argument and not have to escape to the keyboard. > > > > Desired Input > > 30 extd 180548043269214561950911457875657 > > Rather than > > 30 extd '180548043269214561950911457875657' > > > > > > This function is deficient by its operating sequence. > > It escapes to keyboard, which preservs the literal type. > > > > extd =: 4 : 0 > > n=. ((1!:1) 1 > > ((".@,&'x' n)) A. i. x > > ) > > > > 30 extd 180548043269214561950911457875657 > > > > Keyboard input (if this approach makes sense, can the keyboard input be > > simulated by using y as the feed?) > > 180548043269214561950911457875657 > > > > Result > > 20 12 4 29 7 17 22 11 2 27 28 23 6 21 9 3 24 10 26 13 15 1 18 8 25 19 0 5 > > 16 14 > > > > > > > > Alternative deficient function by the input form. > > Yields the correct result but uses quotes in the input. > > > > extdquotes =: 4 : 0 > > ((".@,&'x' n)) A. i. x > > ) > > > > 30 extdquotes '180548043269214561950911457875657' > > > > Result > > 20 12 4 29 7 17 22 11 2 27 28 23 6 21 9 3 24 10 26 13 15 1 18 8 25 19 0 5 > > 16 14 > > > > > > I am looking for the function that uses the input for extd that delivers > > the result of extdquotes > > > > > > Thank you for your help > > Ak > > > > > > On Sat., Aug. 12, 2023, 13:43 Henry Rich, <henryhr...@gmail.com> wrote: > > > > > It's like this: > > > > > > /long-number/ is a single word. If the length is <19 digits, it is an > > > integer, otherwise a float (which necessarily has only 16 digits of > > > precision). > > > > > > /long-number/x is a single word, but it is always an extended integer, > > > and every digit of /long-number/ is preserved. > > > > > > x: /number/ is two words. /number/ is evaluated first, and then x: is > > > applied to its value to give an extended integer. > > > > > > In that last case, if /number/ has more than 19 digits, it will have > > > been represented as a float, and the extended integer will have only 16 > > > digits of precision. > > > > > > Henry Rich > > > > > > On 8/12/2023 3:25 PM, Ak O wrote: > > > > My thought was that 'x' must always be extended by definition. > > > > > > > > I was trying to think what cases this operator's 'x' argument would > not > > > be > > > > strictly extended. > > > > > > > > Chris demonstrated that the input 'x' in my example is float by > > > > construction. > > > > > > > > Raul explained that the parser treats the number before it treats > the > > > > operator ( if I have understood his message correctly). > > > > > > > > So if I have understood all of this correctly. As a raw input, it is > the > > > > extended representation of the float input 'x' that is actually what > is > > > > being operated on by A. to yield the result. > > > > > > > > > > > > > > > > Ak > > > > > > > > > > > > On Sat., Aug. 12, 2023, 11:34 Henry Rich, <henryhr...@gmail.com> > wrote: > > > > > > > >> I misunderstood your question. > > > >> > > > >> (x A. y) starts by verifying that (*./ (|x) < !.#y) and then > converts x > > > >> to a permutation with > > > >> (i.@-&.<: y) #: x > > > >> (all in extended precision if x is extended), followed by a number > of > > > >> rotations within an index vector. It is much less work to start > with > > > >> the permutation vector rather than the anagram index. > > > >> > > > >> Henry Rich > > > >> > > > >> On 8/11/2023 8:29 PM, Ak O wrote: > > > >>> For me, > > > >>> (x: y) > > > >>> does not preserve the input. > > > >>> > > > >>> The result I get is not the same. > > > >>> > > > >>> > > > >>> ( x:180548043269214561950911457875657 ) > > > >>> 180548043269214573494164592263168 > > > >>> This does not work. > > > >>> > > > >>> > > > >>> > > > >>> 180548043269214561950911457875657x > > > >>> 180548043269214561950911457875657 > > > >>> This does work. > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> On Fri., Aug. 11, 2023, 13:01 Henry Rich, <henryhr...@gmail.com> > > > wrote: > > > >>> > > > >>>> (x: value) produces extended version of value. > > > >>>> > > > >>>> Henry Rich > > > >>>> > > > >>>> On Fri, Aug 11, 2023, 2:44 PM Ak O <akin...@gmail.com> wrote: > > > >>>> > > > >>>>> Hi everybody, I hope you are all well. > > > >>>>> > > > >>>>> I have a question about the Anagram ( A. ) operator. > > > >>>>> > > > >>>>> In a defined function, how do I designate that an input 'x' is > > > >> treatment > > > >>>>> as extended datatype rather than float? > > > >>>>> > > > >>>>> Where being defined: > > > >>>>> 13 : ' x A. i.y' > > > >>>>> [ A. [: i. ] > > > >>>>> > > > >>>>> is to be taken as, > > > >>>>> 13 : 'X_INPUTx A. y' NB. 12345672345467x A. i.y > > > >>>>> > > > >>>>> How do I get the affect of catenating an 'x' to the end of a > number > > > in > > > >> a > > > >>>>> defined function? > > > >>>>> > > > >>>>> If you understand my question ignore below, otherwise I give an > > > >> example. > > > >>>>> Thank you for your thoughts. > > > >>>>> > > > >>>>> Ak > > > >>>>> > > > >>>>> > > > >>>>> My understanding of the Anagram operator (A.). > > > >>>>> The vocabulary reference page (acapdot) gives the product of the > > > >> Anagram > > > >>>>> index function > > > >>>>> A. y > > > >>>>> as datatype extended. > > > >>>>> > > > >>>>> > > > >>>>> The Anagram function > > > >>>>> x A. y > > > >>>>> applies the permutation map (x) on ordered vector sequence (y) > as > > > >> below. > > > >>>>> > > > >>>>> ] vector_sequence =: ?~30 > > > >>>>> 20 12 4 29 7 17 22 11 2 27 28 23 6 21 9 3 24 10 26 13 15 1 18 8 > 25 19 > > > >> 0 5 > > > >>>>> 16 14 > > > >>>>> > > > >>>>> > > > >>>>> ] vector_anagram =: A. vector_sequence > > > >>>>> 180548043269214561950911457875657 > > > >>>>> > > > >>>>> The Noun, vector_anagram will have datatype extended, given by: > > > >>>>> datatype vector_anagram > > > >>>>> extended > > > >>>>> > > > >>>>> Applying the vector_anagram on a vector using the command: > > > >>>>> vector_anagram A. i.30 > > > >>>>> 20 12 4 29 7 17 22 11 2 27 28 23 6 21 9 3 24 10 26 13 15 1 18 8 > 25 19 > > > >> 0 5 > > > >>>>> 16 14 > > > >>>>> > > > >>>>> The expected result. > > > >>>>> > > > >>>>> In a case where the digits are input on there own, the following > > > fails > > > >>>> with > > > >>>>> 'domain error, executing dyad A.' > > > >>>>> > > > >>>>> 180548043269214561950911457875657 A. i.30 > > > >>>>> > > > >>>>> One approach is to place 'x:' before the input. > > > >>>>> ( x:180548043269214561950911457875657 )A. i.30 > > > >>>>> 20 12 4 29 7 17 22 11 2 27 28 25 1 8 0 15 16 14 3 5 19 26 18 6 > 21 23 > > > 13 > > > >>>> 24 > > > >>>>> 9 10 > > > >>>>> > > > >>>>> This is not the expected result. > > > >>>>> > > > >>>>> The input is treated as 180548043269214573494164592263168. > > > >>>>> > > > >>>>> ( x:180548043269214561950911457875657 ) > > > >>>>> 180548043269214573494164592263168 > > > >>>>> > > > >>>>> Not the input I thought I was applying. > > > >>>>> > > > >>>>> An alternative is to postfix an 'x' to the end of the input. > > > >>>>> 180548043269214561950911457875657x A. i.30 > > > >>>>> 20 12 4 29 7 17 22 11 2 27 28 23 6 21 9 3 24 10 26 13 15 1 18 8 > 25 19 > > > >> 0 5 > > > >>>>> 16 14 > > > >>>>> > > > >>>>> The expected result. But how do I achieve this for a defined > > > function. > > > >>>>> > > > >>>>> Does not work either. > > > >>>>> ".@((":vector_anagram),x')"_ NB. same as x: > > > >>>>> > > > >>>>> > > > >>>>> Maybe there is a symbol that 13 : can be recognize to trigger the > > > >>>> extended > > > >>>>> datatype. > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> Thank you for your help. > > > >>>>> > > > >>>>> Ak > > > >>>>> > > > ---------------------------------------------------------------------- > > > >>>>> 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