[PDD] Add docs for the Parrot_PMC_push_* and Parrot_PMC_pop_* functions
[parrot.git] / examples / tutorial / 03_temp_var_basic_pmcs.pir
blobd446afa005d3f69665bcd4f03fbdc1d5653d6afe
1 # Copyright (C) 2007-2009, Parrot Foundation.
2 # $Id$
4 =head1 Basic PMC Types
6 PMCs are objects, so to use a PMC, you first have to
7 instantiate an object for the PMC using the 'new' opcode and
8 the name of a class.
10 The simple data types have a corresponding PMC type. The
11 Integer type is like $I0, the Float type is like $N0, and
12 the String type is like $S0.
14 Any data type more complex than a simple integer, float, or
15 string (such as an array or hash) is also a PMC. Some PMC
16 types are built into Parrot directly.  Some can be loaded
17 dynamically. Some types are defined as classes in PIR code.
18 We'll talk about some of these other types later.
20 =cut
22 .sub main :main
23     $P0 = new ['Integer']
24     $P0 = 42
25     say $P0
27     $P1 = new ['Float']
28     $P1 = 6.35
29     say $P1
31     $P2 = new ['ResizableStringArray']
32     $P2[0] = "Foo"
33     $P2[1] = "Bar"
34     $P2[2] = "Baz"
36     $S1 = join " ", $P2
37     say $S1
38 .end
40 # Local Variables:
41 #   mode: pir
42 #   fill-column: 100
43 # End:
44 # vim: expandtab shiftwidth=4 ft=pir: