Author: allison Date: Tue Feb 27 12:03:56 2007 New Revision: 17205 Modified: trunk/docs/pdds/draft/pdd01_overview.pod
Log: [pdd]: Clarify small platform and bytecode translation goals (not for 1.0 release), and remove some "dead end space alien platforms" from target list. jesse++ Modified: trunk/docs/pdds/draft/pdd01_overview.pod ============================================================================== --- trunk/docs/pdds/draft/pdd01_overview.pod (original) +++ trunk/docs/pdds/draft/pdd01_overview.pod Tue Feb 27 12:03:56 2007 @@ -163,12 +163,11 @@ The ultimate goal of Parrot is portability to more-or-less the same platforms as Perl 5, including AIX, BeOS, BSD/OS, Cygwin, Darwin, -Debian, DG/UX, Domain/OS, DragonFlyBSD, DYNIX/ptx, Embedix, EPOC, -FreeBSD, Gentoo, HP-UX, IRIX, Linux, Mac OS (Classic), Mac OS X, -Mandriva, Minix, MS-DOS, NetBSD, NetWare, NonStop-UX, OpenBSD, OS/2, -Plan 9, Red Hat, RISC OS, Slackware, Solaris, SuSE, Syllable, Symbian, -TiVo (Linux), Tru64, Ubuntu, VMS, VOS, WinCE, Windows -95/98/Me/NT/2000/XP/Vista, and z/OS. +Debian, DG/UX, DragonFlyBSD, Embedix, EPOC, FreeBSD, Gentoo, HP-UX, +IRIX, Linux, Mac OS (Classic), Mac OS X, Mandriva, Minix, MS-DOS, +NetBSD, NetWare, NonStop-UX, OpenBSD, OS/2, Plan 9, Red Hat, RISC OS, +Slackware, Solaris, SuSE, Syllable, Symbian, TiVo (Linux), Tru64, +Ubuntu, VMS, VOS, WinCE, Windows 95/98/Me/NT/2000/XP/Vista, and z/OS. Recognizing the fact that ports depend on volunteer labor, the minimum requirements for the 1.0 launch of Parrot are portability to major @@ -179,33 +178,31 @@ =head1 LANGUAGE NOTES -One of the explicit goals of the Parrot project is to generate Java bytecode -and .NET code, as well as to run on small devices such as the Palm. The -modular nature of the Parrot system makes this reasonably straightforward. - =head2 Parrot for small platforms -For small platforms, any parser, compiler, and optimizer modules are replaced -with a small bytecode loader module which reads in Parrot bytecode and passes -it to the interpreter for execution. Note that the lack of a parser will limit -the available functionality in some languages: for instance, in Perl, string -eval, do, use, and require will not be available (although loading of -precompiled modules via do, use, or require may be supported). +One goal of the Parrot project, though not a requirement of the 1.0 +release, is to run on small devices such as the Palm. For small +platforms, any parser, compiler, and optimizer modules are replaced with +a small bytecode loader module which reads in Parrot bytecode and passes +it to the interpreter for execution. Note that the lack of a parser will +limit the available functionality in some languages: for instance, in +Perl, string eval, do, use, and require will not be available (although +loading of precompiled modules via do, use, or require may be +supported). =head2 Bytecode compilation -One straightforward use of the Parrot system is to precompile a program into +One straightforward use of the Parrot system is to precompile a program into bytecode and save it for later use. Essentially, we would compile a program as normal, but then simply freeze the bytecode to disk for later loading. -=head2 Perl in, Java (or whatever) out - -The previous section implicitly assumes that we will be emitting Parrot -bytecode. However, there are other possibilities: we could translate the -bytecode to Java bytecode or .NET code, or even to a native executable. In -principle, Parrot could also act as a front end to other modular compilers -such as gcc or HP's GEM compiler system. +=head2 Your HLL in, Java, CLI, or whatever out +The previous section assumes that we will be emitting Parrot bytecode. +However, there are other possibilities: we could translate the bytecode +to Java bytecode or .NET code, or even to a native executable. In +principle, Parrot could also act as a front end to other modular +compilers such as gcc or HP's GEM compiler system. =cut