Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 51 lines (33 sloc) 1.127 kB
7a42594 @masak initial commit
authored
1 = Yapsi -- Yet Another Perl Six Implementation
2
3 This is an implementation of a Perl 6 compiler-and-runtime in Perl 6. It
4 currently runs off the old, pre-refactor branch of Rakudo known as 'alpha'.
5
6 Right now you can do things like this:
7
8 $ ./yapsi -e 'say 42'
9 42
10
11 $ ./yapsi -e 'my $a = 5; say $a'
12 5
13
14 $ ./yapsi -e 'my $a = 5; my $b := $a; $b = 42; say $a'
15 42
16
17 In other words, Yapsi currently handles declaration, assignment, binding,
18 and a very basic 'say' instruction.
19
20 The compiler also detects use-before-declaration and syntax errors.
21
22 $ ./yapsi -e '$a; my $a'
23 Invalid. $a not declared before use
24
25 $ ./yapsi -e 'say say'
26 Could not parse
27
28 == Near-future directions
29
30 Things we hope to implement in the immediate future:
31
32 * Blocks
33 * If statements
34 * Loops
35 * Function calls
36
6758414 @masak [README] e with a ^ on it
authored
37 == Raison d'être
7a42594 @masak initial commit
authored
38
39 Besides being useful as a p6-in-p6 implementation, Yapsi also might work as
40 a fast vehicle for exploring the following underexplored areas of the Perl 6
41 spec:
42
43 * Phasers
44 * Constant folding
45 * Early catching of errors
46 * Increased communication between compiler and runtime
47
48 == License
49
50 Yapsi is released under Artistic 2.0. See LICENSE.
Something went wrong with that request. Please try again.