[svn:parrot] r39691 - trunk/docs/user/pir
japhb at svn.parrot.org
japhb at svn.parrot.org
Sun Jun 21 18:03:31 UTC 2009
Author: japhb
Date: Sun Jun 21 18:03:24 2009
New Revision: 39691
URL: https://trac.parrot.org/parrot/changeset/39691
Log:
[docs] pmcs.pod: Clean up some confusing bits in opening sections
Modified:
trunk/docs/user/pir/pmcs.pod
Modified: trunk/docs/user/pir/pmcs.pod
==============================================================================
--- trunk/docs/user/pir/pmcs.pod Sun Jun 21 17:50:53 2009 (r39690)
+++ trunk/docs/user/pir/pmcs.pod Sun Jun 21 18:03:24 2009 (r39691)
@@ -21,17 +21,18 @@
String register number 15). Parrot programs consist of lines of
text where each line contains one opcode and its arguments.
-Each subroutine will have as many registers
-available as necessary; a simple subroutine will only need
-a few whereas complex subroutines with many calculations will
-need a larger number of registers. This is a fundamental
-difference from the original design of Parrot, in which there
-were 32 registers for each of the built-in types (int, num,
-pmc, string).
-PIR also provides for a more "natural" syntax for opcodes.
-Rather than saying C<set $I1, 0> to assign a zero to the $I1
-register, you may say instead C<$I1 = 0>.
-PIR also provides syntax for easily creating named variables
+Each subroutine will have as many registers available of each basic type
+(int, num, string, and pmc) as necessary; a simple subroutine will only
+need a few whereas complex subroutines with many calculations will need
+a larger number of registers. This is a fundamental difference from
+hardware CPUs (and the original design of Parrot), in which there are a
+fixed number of registers.
+
+PIR also provides for a more "natural" syntax for opcodes than
+the standard assembly language C<op arg, arg> format.
+Rather than writing C<set $I1, 0> to assign a zero to the $I1
+register, you may instead write C<$I1 = 0>.
+PIR also provides easy syntax for creating named variables
and constants, subroutines, passing parameters to subroutines,
accessing parameters by name, etc.
@@ -39,14 +40,12 @@
=head2 What's a PMC?
-Integers, strings, and arbitrary floating point numbers are
-common data types in most programming languages, but what's
-a PMC? PMC stands for "Polymorphic Container". PMCs are how
-Parrot handles more complicated structures and behaviors
-(hence the magic :) Some examples of PMC usage would be for
-arrays, hashes, data structures, objects, etc. Anything that
-can't be expressed using just integers, floating point
-numbers and strings can be expressed with a PMC.
+Integers, strings, and floating point numbers are common data types in
+most programming languages, but what's a PMC? PMC stands for
+"I<P>olyI<M>orphic I<C>ontainer". PMCs are how Parrot handles more
+complicated structures and behaviors, such as arrays, hashes, and
+objects. anything that can't be expressed using just integers,
+floating point numbers and strings can be expressed with a PMC.
Parrot comes with many types of PMC that encapsulate common,
useful behavior.
@@ -63,8 +62,8 @@
Hash A generic, resizable hash
Random Obtain a random number
String Similar to a string register but in PMC form
- Integer Similar to an integer register but in PMC form
- Float Similar to a number register but in PMC form
+ Integer Similar to an int register but in PMC form
+ Float Similar to a num register but in PMC form
Exception The standard exception mechanism
Timer A timer of course :)
More information about the parrot-commits
mailing list