Skip to content

Instantly share code, notes, and snippets.

View jnthn's full-sized avatar

Jonathan Worthington jnthn

View GitHub Profile
C:\Consulting\rakudo\parrot>type nl.pir
.sub 'main' :main
'il'()
'nl'()
'sl'()
.end
.sub 'il'
.lex '$i', $I0
store_lex '$i', 42
@jnthn
jnthn / abstract.md
Created June 20, 2011 20:03
Perl 6 Course

use strict;

Stuff you need to know

  • Scoping
  • Slicing
  • Context
  • Closures
  • map, grep and sort

Moose

Greetings!
The Nordic Perl Workshop is nearly upon us. Here's a
few final details.
# Pre-workshop Meetup
There will be a chance to meet up on Friday evening
before the Nordic Perl Workshop. We'll meet in the
Bishop's Arms from 18:30. It is located opposite the
Central Train Station and next to the Elite Hotel
About a year ago, the Rakudo Perl 6 development team released Rakudo Star. Implementing a wide range of Perl 6 features, it marked a point where more people could jump in and start exploring the Perl 6 language. They did, and over the last year the community and module ecosystem has grown.
Of course, that didn't mean we could rest easy. While Rakudo Star did quite well on features, it was decidedly slow, memory hungry, not always so helpful in reporting errors and fell short of the language extensibility goals of Perl 6, especially in the area of meta-programming.
Over the past year, I've led the development of "6model", a meta-programming framework with a focus on gradual typing, compile-time meta-object creation and representation polymorphism. Its goal was simple: to allow us to deliver a faster, more efficient, more helpful Rakudo. In this talk I'll discuss the design of 6model and demonstrate how we've used it to improve Rakudo.
Finally, I'll give a peek into the future of Rakudo, and describe our roa
diff --git a/src/CORE.setting/traits.pm b/src/CORE.setting/traits.pm
index bb7efbe..08b17e4 100644
--- a/src/CORE.setting/traits.pm
+++ b/src/CORE.setting/traits.pm
@@ -1,7 +1,7 @@
use Perl6::Metamodel;
proto trait_mod:<is>(|$) { * }
-multi trait_mod:<is>(Mu:U $child, Mu:U $parent) {
+multi trait_mod:<is>(Mu:U \$child, Mu:U \$parent) {
class Foo { ... }
class Bar {
method x() { say Foo }
}
class Foo {
}
Bar.x;
FULL
DAY 1
=====
09:30 Arrival and registration
10:00 Opening
10:15 Andrew Shitov (‎ash‎) ‎What's new in Perl 5.14‎
@jnthn
jnthn / model.markdown
Created June 1, 2011 14:41
DRAFT of container model

Containers

This document attempts to work towards a design for containers that will interact well with 6model and NQP and also meet the needs of Rakudo. It is presently a DRAFT.

Design Goals

Fast container identification

It should be quick to check if something is a container or not, so we

proto foo(Mu $a) { * }
multi foo(Str $a) { say("Str") }
multi foo(Int $a) { say("Int") }
foo("lol");
foo(42);
Greetings!
Thanks for signing up to attend the Nordic Perl Workshop 2011 in
Malmö! This email contains a few small updates.
# TALKS
We still need more talks! The deadline is Really Soon, so if you
want to speak and did not submit a talk yet, please do so as soon
as possible. Talks on all aspects of Perl development are welcome.
Available talk durations are 20 minutes and 40 minutes. Giving a