-
_Thanks_ for the incisive comments, Mr. Aksjghkajshd! ?Are you _actually_ Scott
Walters? No surprise if "yes"... ,,,and,,,:
--- On Sat, 6/27/09, aksjghkajshd wrote: ...snipped...
-
> ...
>
http://pmichaud. com/2009/ pres/ has some good talks on getting
> started with PGE, the Parrot Grammar Engine, and the other tools
> for bootstrapping languages under Parrot. I have no doubt the
> Parrot guys would be flattered by the interest. ...
-
I'll _support_ anything that makes life easier!
The magnitude of projects like Parrot (and Mono and Portable, too) makes it
remarkable that a group of guys can get anything out the door: Most of them have
never met eyeball-to-eyeball.
+
Mono..........:
http://en.wikipedia.org/wiki/Mono_(software)
-
Project.Net...:
http://en.wikipedia.org/wiki/Portable.NET
+
In structure, these projects are very different from, say, Linux, Apache, or
MySQL, which are highly centralized and hierarchical... So the "Parrot guys"
_deserve_ the flattery!
> ...One school of thought expects Perl 5 will be automatically
> converted to Perl 6 by a program running inside Perl 5;
> another school expects the existing Perl 5 interpreter to be
> embedded in a Parrot app; another possible end result is having
> Perl 5, vaguely specified as it is, implemented as a language
> under Parrot.
-
When early specs came out for Perl 6, several of us looked into using a SNOBOL4
program to scan Perl 5 _source_, at least to scan for conflicts. This, we
reasoned, would be useful _even_if_ a complete conversion was not possible. In
many cases, tho' admittedly not all, it did look like a large portion of
programs _could_ be fully "automatically" converted. Of course, there are likely
numerous (pathological) cases which we missed. (My Dad used to call these
abusive "corner cases" with a special name: ''Sharp corner cases''.)
The "automatic" conversion possibility brings me to your next point...:
> I can't say which if any will ultimately happen, but please be
> aware that there is currently no direct path to having access
> to Perl 5's CPAN from Parrot. At least none that I'm aware of.
-
Agree, but CPAN modules are available as source. Conversion, either via "scan
and fix" -or- "automatically" would suffice, since the modified source would be
retained. Some modules might never be converted, but then some CPAN modules seem
to be rarely/never used, except by their donor...
Since Perl 6 will be implemented for Parrot (?is this the correct terminology?),
there will be a natural _reuse_ of CPAN modules which were converted by
"regular" Perl 6 users, who have not interest nor contact with the Parrot
implementation. This would speed the availability of CPAN modules to Parrot
users, through no effort of their own.
BTW: The "pugs" implementation is extremely clever. I'd have expected that the
Haskell-based implementation would run very slowly, but this is not the case. So
much, I guess, for the common wisdom that "functional languages are always
slow".
+
For the curious, please see...:
+
http://en.wikipedia.org/wiki/Pugs
&
I first mistyped Pugs into Wikipedia, omitting the trailing "s" and thus learned
a lot about little dogs...
&&
MicroSoft's functional language "F#" (say "F sharp") is not speedy. A few
experiments were disappointing. I was only curious since it is an MS .NET
language and thus fully inter-operable with the other CLR / .NET languages.
+
If curious:
http://en.wikipedia.org/wiki/F_Sharp_programming_language
&
F# is quite similar to OCaml:
http://en.wikipedia.org/wiki/OCaml
+
But OCaml is _not_ a .NET language.
&&
For a full list of .NET languages (a list similar to the earlier one I posted
for Parrot languages), please see the following URL. _However_, it's worth
noting that _only_a_few_ of these come from MicroSoft, e.g., VB.NET, C++.NET,
C#.NET, and F#.NET ... I may have forgotten a few.
-+-
Further, it may surprise some readers of the S4LS to read that Robert Dewar's
company, AdaCore, has a GNAT (=Gnu Nyu Ada Translator?) for .NET. It is GPL-ed
and there is information at...:
+
http://gnat-for-net-gpl-edition.software.informer.com/
+
This is of _particular_note_, since Robert wrote a SNOBOL4-like set of
pattern-matching routines for Ada. (These have since been translated to Java
and, I think, also to Phython. _Phil_B_: ?Right? Please correct me on this, if
reqd.:TIA!) These Ada routines seem to run fine on the GNAT.NET version, which
means that SNOBOL4-pattern matching is available to all .NET languages, with the
passing of suitable structures between the various .NET languages.
Perhaps somebody will code a suitable wrapper for the Ada program which _only_
does S4-style pattern-matching, when called. This could be legally be freeware
and would make a great article for TechNet, etc.! It would
also be boon to the entire .NET world, stuck as it is in the morass of REGEX...
+
I hope that somebody who is familiar with VB/C++/C#.NET and SNOBOL4 and is
willing to learn a small amount of Ada will have the time to experiment with
this concept. As noted in my prior posting: _This_ is the kind of "marketing"
which could give SNOBOL4 (or at least its pattern-matcher) a great deal of
_visibility_!
As mentioned above, here is (fairly current) list of .NET languages...:
+
http://www.dotnetpowered.com/languages.aspx <---<<
- - - -
Sorry to go on so long. In these (economic) days, I don't have much time for
more than infrequent reading of emails and postings, with almost no time to
write posts...
I hope that something above is of interest / use to S4LS members.
Mike
-
-
-=[eot]=-
-
-