> That said, it's also wise to keep in mind some weaknesses of the J>
community. One of which is that we're not really capable of taking on
> real time programming tasks (neither is Racket, because of its garbage
> collection algorithm). You need a language where garbage collection
> can be entirely avoided to tackle real time projects. (Historically,
> this has been languages like Forth and Ada, though C and C++ are also
> relatively popular.)

This reminded me of:

The k interpreter...

John Scholes ventured a question: “How do you do garbage collection?” — “No
need to do garbage collection. I know where everything is.” [0]

[0] Iverson College, Cambridge, Aug 2011
    by Stephen Taylor ([email protected])
    http://archive.vector.org.uk/art10500700

On Fri, Oct 2, 2020 at 9:55 AM Raul Miller <[email protected]> wrote:
>
> Ok, well... to describe a classic parser, you need a state machine for
> lexical analysis (sadly, J's ;: is too specialized to handle the
> general case here, but it's probably good enough for most languages),
> and another state machine with a stack to describe the parser itself.
>
> Redex was built as an interface to one of those state machine+stack
> parsers. It's not capable of representing J's
> https://www.jsoftware.com/help/dictionary/dicte.htm partially because
> Redex parses from left to right instead of from right to left,
> partially because it's built on the idea that you only need a pair of
> items to make a parsing decision, and partially because it assumes
> that the parser should be required to only produce a single kind of
> result from a parsing decision. That doesn't happen for rows 3 and 4
> of that table.
>
> All of those issues could be worked around by building a separate
> table, but you'd have to use "any" rules to describe the result of
> using J's adverbs and conjunctions. Which... hmm... it would be
> interesting to see if that could be made to happen.
>
> Anyways, ... I think we need more motivated college teachers before we
> could engage the PL community on its home turf. Henry Rich's work is
> an excellent start, and we have some others (Cliff Reiter and Brian
> Schott come to mind), but we have a ways to go before we can compete
> with the size and energy of the Racket community (who have tackled
> projects like rebuilding the javascript interpreter for web browsers,
> or at least attempting to do so -- I don't know how well the
> deployment of that system went, but we have seen speedups of
> Javascript which happened about the right time and with about the
> right pace for that).
>
> That said, it's also wise to keep in mind some weaknesses of the J
> community. One of which is that we're not really capable of taking on
> real time programming tasks (neither is Racket, because of its garbage
> collection algorithm). You need a language where garbage collection
> can be entirely avoided to tackle real time projects. (Historically,
> this has been languages like Forth and Ada, though C and C++ are also
> relatively popular.)
>
> I think we could get there, but it's not a small task.
>
> (We'd also be going over ground which has already been covered many
> times, and we'd have to start with small, manageable projects.)
>
> Thanks,
>
> --
> Raul
>
>
> On Fri, Oct 2, 2020 at 2:28 AM Devon McCormick <[email protected]> wrote:
> >
> > The point I am trying to make w/the PL community is that using
inadequate
> > notations like BNF leaves out an important bunch of PLs.
> > I don't think they are motivated to do anything about this, judging by
the
> > BNFy flavor of Redex.
> > Roger's simple table in the C appendix of "APL from 1978" (
> > https://dl.acm.org/doi/10.1145/3386319) is marvellously simple and
robust
> > but I don't think the PL people will take it seriously until it's
applied
> > to a language more familiar to them.  The Redex tutorial (
> > https://dvanhorn.github.io/redex-aam-tutorial/) evaluates s-expressions
> > using a Racket interpreter and the example target is "...a very simple,
> > typed functional programming language based on the PCF language (Plotkin
> > <
https://dvanhorn.github.io/redex-aam-tutorial/index.html#%28autobib._.Gordon._.Plotkin.L.C.F._considered._as._a._programming._language.Theoretical._.Computer._.Science._5%2C._pp..._223--2551977http~3a%2F%2Fhomepages..inf..ed..ac..uk%2Fgdp%2Fpublications%2F.L.C.F..pdf%29
>
> >  1977
> > <
https://dvanhorn.github.io/redex-aam-tutorial/index.html#%28autobib._.Gordon._.Plotkin.L.C.F._considered._as._a._programming._language.Theoretical._.Computer._.Science._5%2C._pp..._223--2551977http~3a%2F%2Fhomepages..inf..ed..ac..uk%2Fgdp%2Fpublications%2F.L.C.F..pdf%29
>
> > ).  "
> > We are at an impasse with the PL community unless we can show that array
> > language notation can describe more familiar languages as well as array
> > languages.  Otherwise we're back to competing notations which the small,
> > weird one will always lose.
> >
> >
> > On Thu, Oct 1, 2020 at 7:54 PM Raul Miller <[email protected]>
wrote:
> >
> > > I suspect that a redex representation of J's grammar would not be very
> > > descriptive.
> > >
> > > I think you would need an adequate dependent type system to fully
> > > specify the syntactic types of the results of J's adverbs and
> > > conjunctions.
> > >
> > > Still... you could specify an informative subset of J's grammar in
> > > redex, by [falsely] assuming that adverbs and conjunctions always
> > > produce verbs.
> > >
> > > I hope this helps,
> > >
> > > --
> > > Raul
> > >
> > > On Thu, Oct 1, 2020 at 4:52 PM Devon McCormick <[email protected]>
wrote:
> > > >
> > > > I recently butted in to a PL (programming languages) discussion on
> > > Disqus -
> > > >
> > >
https://disqus.com/home/discussion/sigplan-pl-perspectives/pl_notation_is_a_barrier_to_entry/#comment-5091883057
> > > > - where I moaned about the lack of inclusion of array languages in
the PL
> > > > discussion.
> > > >
> > > > The writer of the blog entry "PL Notation is a Barrier to Entry"
> > > responded
> > > > with some examples of PL notations to look at: Ott (which I could
not
> > > > find), K (same K we know?), and Redex about which there is info here
> > > > https://www.youtube.com/watch?v=ktNrRSAjyzQ and here
> > > > https://dvanhorn.github.io/redex-aam-tutorial/.
> > > >
> > > > Since Redex looks a lot like BNF (Backus-Naur Form), I'm guessing
it may
> > > > also be inadequate for describing languages like J but I would like
to
> > > hear
> > > > the opinion of someone more knowledgeable than me about this.
> > > >
> > > > Roger referred me to Appendix C of his and Morten's recently
released
> > > "APL
> > > > since 1978" paper (https://dl.acm.org/doi/10.1145/3386319) where
they
> > > > describe a parser model using APL.  This is an example of using APL
to
> > > > describe a PL.  I would be interested in seeing a language like C
> > > described
> > > > this way.  Does anyone have an example like this?
> > > >
> > > > --
> > > >
> > > > Devon McCormick, CFA
> > > >
> > > > Quantitative Consultant
> > > >
----------------------------------------------------------------------
> > > > For information about J forums see
http://www.jsoftware.com/forums.htm
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> > >
> >
> >
> > --
> >
> > Devon McCormick, CFA
> >
> > Quantitative Consultant
> > ----------------------------------------------------------------------
> > 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