The problem is that the use of the operator is made inconsistent.

The operator (dyad) cannot be used reliably in a defined function.

The dyad doesn't map to the monad.


Ak


On Mon., Aug. 14, 2023, 21:01 Henry Rich, <henryhr...@gmail.com> wrote:

> My advice: learn to live with the quotes.
>
> You need a way to write a string that represents a long value.  In J,
> that's 'longvaluex'.
>
> Henry Rich
>
> On 8/14/2023 10:57 PM, Ak O wrote:
> > Hi Henry,
> >
> > Yes actually all I want is a verb that stting encloses an argument.
> > After that I can attach ('.@,&'x') and have my extended type object.
> >
> > The difference between the two functions is that the second functions
> > requires quotes about the 'y' to runs correctly.
> > The first function does not require quotes as it looks for keyboard input
> > to complete the execution correctly.
> >
> >
> > Ak
> >
> > On Mon., Aug. 14, 2023, 20:01 Henry Rich, <henryhr...@gmail.com> wrote:
> >
> >> ". string
> >>
> >> executes the string.  But it is a string, i. e. a literal.  If you want
> >> that literal to contain a character string for execution, you must
> >> enclose that string in quotes.  You can write a verb to do it.
> >>
> >> Henry Rich
> >>
> >>
> >> On 8/14/2023 9:14 PM, Ak O wrote:
> >>> Is there a more simple way of feeding the interpreter?
> >>>
> >>> Meaning, is there some invisible trigger like a CR or a LF (unprintable
> >>> characters)
> >>> that is recognized by the interpreter as coming from the
> >>> keyboard?
> >>>
> >>> There must be since, typing numbers only, physically on the keyboard
> and
> >>> hitting enter runs the program correctly.
> >>>
> >>>
> >>> Ak
> >>>
> >>>
> >>>
> >>> On Mon., Aug. 14, 2023, 17:43 Raul Miller, <rauldmil...@gmail.com>
> >> wrote:
> >>>> There's two ways of accomplishing what I think you are asking for.
> >>>>
> >>>> (1) Modify the J interpreter, or
> >>>>
> >>>> (2) Modify the J IDE.
> >>>>
> >>>> You could modify the interpreter such that large integers are treated
> >>>> as extended integers. (This might be a worthwhile change at some point
> >>>> in the future. The reasoning here would be that if the user has typed
> >>>> in all those digits, presumably they are significant.)
> >>>>
> >>>> You could modify the J IDE (to automatically add the trailing 'x' on
> >>>> long sequences of digits followed by a space). This would be
> >>>> considerably less desirable (since it could mess up literal text).
> >>>>
> >>>> The remaining option is to hit that 'x' key, yourself.
> >>>>
> >>>> I hope this makes sense,
> >>>>
> >>>> --
> >>>> Raul
> >>>>
> >>>> On Mon, Aug 14, 2023 at 4:43 PM Ak O <akin...@gmail.com> wrote:
> >>>>> 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
> >>>> ----------------------------------------------------------------------
> >>>> 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