This is quite an adequate answer.

The origin was that I was thinking why character strings have all these
quote rules. Obviously, to distinguish them from (user defined) nouns. 
But what if  I wanted to present the J-GUI to an innocent user who certainly
will not remember these rules? Then I'm (and so she will be) stuck. 
Unless, as you suggest, I "take over the REPL".

(I wasn't (directly) thinking J-lite, but perhaps this will come in handy in
the future.)

For this moment I should bypass the problem and ask the user to enter the
string(s) in a csv-file and then start J by reading that file.

Thanks for all comments.


R.E. Boss


> -----Oorspronkelijk bericht-----
> Van: programming-boun...@jsoftware.com [mailto:programming-
> boun...@jsoftware.com] Namens Dan Bron
> Verzonden: zondag 12 februari 2012 16:38
> Aan: 'Programming forum'
> Onderwerp: Re: [Jprogramming] quote problem
> 
> Of course, that part's easy.
> 
>          ntt =: verb def '5!:5{.;:''y'''  NB.  Noun To Text
> 
>          ntt;._2 noun define -.TAB
>               a. i. '(`'3
>               a. i. '(`'3'
>               'open 'quote
>       )
>       'a. i. ''(`''3'
>       'a. i. ''(`''3'''
>       '''open ''quote'
> 
> But it goes back to the original questions:
>       1.  What is the source of these strings?
>           _Where_ is your user typing them in?
> 
>       2.  What is processing these strings?
> 
> If the answer to #1 is a file, or a GUI (e.g. wd, web interface, etc) or
> anywhere other than immex mode, the answer is easy.  But I'm getting the
> sense that the very reason you want to quote these strings is so that J
can
> process them in immex mode.  You don't need them quoted for your own
> purposes.
> 
> That is, you're trying to give your user access to the power of J (because
> it's so close to what your user needs already....) but you feel that
> out-of-the-box, J is a little too picky about input.  That is, J is
> powerful, but not trivial to learn and use.  So you want something like J,
> but simpler, easier.  You want a "Simple J"; an "Easy J".
> 
> Is that right?  If so, does it sound familiar?
> 
> Anyway, if that is what you're after (the user typing something J-like but
> not-quite-J into immex mode), then you need to commandeer the IJX
> session
> manager.  Because, by definition, anything typed into the IJX session
> manager has to be a valid J sentence.  But once you take over the REPL,
you
> can do whatever you like; you can implement your own, J-like language.
> 
>       http://www.jsoftware.com/jwiki/RicSherlock/Temp/InteractiveProm
> pt
>       (Note in particular the caveats at the bottom of the page)
> 
>       http://www.jsoftware.com/jwiki/DanBron/Temp/REPL
>       (A similar program)
> 
> Which leads me to question #2:  what other things does your language
> permit,
> that J would not, out-of-the-box?  Because, once you solve your quoting
> problem, if you're still using ". (i.e., J) to process your strings,
you're
> going to hit new hurdles.
> 
>          i =: 2   NB.  User is typing this stuff in
>          j =: 3
> 
>          i j { i. 4 5
>       |syntax error
>       |       i j{i.4 5
>       |[-0]
> 
>          NB.  ??? I'm a sad, confused user
> 
>          +:^:3 2  NB. RE told me about this power operator thing, it
> sounds so cool!
>       +:^:3 2
> 
>          NB.  Darn, it's broken!
> 
> Of course, I could be reading too much into your messages, and be totally
> off-base about this "J Lite" thing.  If so, can you share the bigger
picture
> of your use case?  Who is the user, what is he doing, what are his
> objectives, what is his interface to your application, etc?
> 
> -Dan
> 
> -----Original Message-----
> From: programming-boun...@jsoftware.com
> [mailto:programming-boun...@jsoftware.com] On Behalf Of R.E. Boss
> Sent: Sunday, February 12, 2012 9:40 AM
> To: 'Programming forum'
> Subject: Re: [Jprogramming] quote problem
> 
> The (input) string should be considered as one group (of chars).
> Quoting is needed if the first or the last (or both) is not a quote, all
> inside quotes should be doubled if they are not.
> 
> 
> R.E. Boss
> 
> 
> > -----Oorspronkelijk bericht-----
> > Van: programming-boun...@jsoftware.com [mailto:programming-
> > boun...@jsoftware.com] Namens Don Guinn
> > Verzonden: zondag 12 februari 2012 14:03
> > Aan: Programming forum
> > Onderwerp: Re: [Jprogramming] quote problem
> >
> > Given the string contains several groups of non-blanks, would each group
> > need to be surrounded with quotes and quotes within it doubled if not a
> > number, or only if it contained one or more quotes? Or should the string
> be
> > considered as one group? Again, when would quoting be needed?
> >
> > On Sun, Feb 12, 2012 at 1:17 AM, R.E. Boss <r.e.b...@planet.nl> wrote:
> >
> > > The problem boils down to the fact that J requires a string (of chars)
> to
> > > be
> > > enclosed in (single) quotes and the inside quotes have to be doubled.
> > > (Contrary to a spreadsheet (e.g.) where a cell is of type char if it
is
> not
> > > a number.)
> > > But what if I don't want bother a user with these requirements, she
> enters
> > > a
> > > string  and my verb does the enclosing and doubling, if necessary?
> > >
> > >
> > > R.E. Boss
> > >
> > >
> > > > -----Oorspronkelijk bericht-----
> > > > Van: programming-boun...@jsoftware.com [mailto:programming-
> > > > boun...@jsoftware.com] Namens Dan Bron
> > > > Verzonden: zaterdag 11 februari 2012 20:35
> > > > Aan: J Programming
> > > > Onderwerp: Re: [Jprogramming] quote problem
> > > >
> > > > Oh, just saw Henry's response and he interpreted your question
> > > differently.
> > > >
> > > > If you're not typing these strings in, then what is the source?  And
> what
> > > is
> > > > processing them (is it ;: ? if it's ". there's more to worry about
> than
> > > proper
> > > > quoting).
> > > >
> > > > Anyway, if the strings are coming from e.g. a file and the trouble
is
> > > with
> > > > parsing them using ;: (instead of evaluating them in the immex
> session),
> > > then
> > > > you could try something along the lines of  (#~ 2 * '''' = ]) y
(i.e.
> > > double
> > > > singleton quotes).
> > > >
> > > > -Dan
> > > >
> > > > Please excuse typos; composed on a handheld device.
> > > >
> > > > -----Original Message-----
> > > > From: Dan Bron <j...@bron.us>
> > > > Sender: programming-boun...@jsoftware.com
> > > > Date: Sat, 11 Feb 2012 14:05:16
> > > > To: Programming forum<programming@jsoftware.com>
> > > > Reply-To: Programming forum <programming@jsoftware.com>
> > > > Subject: Re: [Jprogramming] quote problem
> > > >
> > > > Unlike C, where \ introduces an escape sequence within string
> liberals,
> > > in
> > > J,
> > > > the only special character in a literal is ' (single quote).
> > > >
> > > > So, to embed quotes in strings, double them up:   a. i. '(`''3'   .
> Of
> > > course,
> > > > recursively embedded quotes need quadrupling, octupling, etc (eg 'he
> > said
> > > > ''she said ''''yes'''', but she lied'', if you can believe that').
> > > >
> > > > The syntax error in your first example is due to the juxtaposition
of
> two
> > > > nouns, the string  '(`'  and the number 3 .
> > > >
> > > > -Dan
> > > >
> > > >
> > > > On Feb 11, 2012, at 1:04 PM, "R.E. Boss" <r.e.b...@planet.nl> wrote:
> > > >
> > > > > If I want to process an arbitrary string, I may encounter a string
> > > which
> > > > > might give a "syntax error" or an "open quote" message.
> > > > >
> > > > > How can I detect such a situation and how can I repair the given
> > > string?
> > > > >
> > > > >
> > > > >
> > > > >   a. i. '(`'3
> > > > >
> > > > > |syntax error
> > > > >
> > > > > |   a.    i.'(`'3
> > > > >
> > > > >
> > > > >
> > > > >   a. i. '(`'3'
> > > > >
> > > > > |open quote
> > > > >
> > > > > |      a.i.'(`'3'
> > > > >
> > > > > |               ^
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > R.E. Boss
> > > > >
> > > > >
> ----------------------------------------------------------------------
> > > > > 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