hi,
PIR syntax has evolved over the years; new features have been added and old
features/syntax has been removed.

As more and more PIR code is being written, it is important to settle the
PIR syntax at some point, so that any changes are limited to the current
amount of PIR code that is out there. The longer the PIR syntax review is
postponed, the more code needs to be changed later on.

Every now and then, there's a discussion on the list on PIR syntax, but such
discussions seem to die after some time. Mailing lists are no good way of
documenting things, so in an attempt to support such discussions and in
order to make the review process easier, I started a Wiki page named "PIR
syntax clean up proposals".

As you might know, I have made attempts to write new implementations of the
PIR language. These are languages/PIR and compilers/pirc. Both languages are
very close to IMCC's language, but slightly different. For instance, pirc
allows multiple heredoc arguments in function/method calls, whereas IMCC
does not. (a valid usecase is implementation of the functions
"pir_output_is" and friends, which take 2 heredoc args.) I have not been
able to implement this in languages/PIR.
During implementation of both parser I came along some syntax constructs
that could need a review. I documented those in the documents in both
language directories, but as I can understand, main focus is on Parrot's
core features. Be that as it may, PIR is Parrot's main interface for
programmers; in other words, Parrot users (programmers) need to work with it
daily (until there are full language implementations).

Anyway, if you're interested and have some issues that are on your mind,
please add them to the wiki page in the proposed format.
This makes it easier to make some decisions. The format allows for multiple
solutions, after which some decision should be made (and documented along
with a rationale).

I added the first entry: method invocation syntax (barenames vs quoted). I
have some more in mind, but I'll add those later.

hope this helps,
kjs

Reply via email to