|
|
@ -15,53 +15,70 @@ |
|
|
|
\end{center} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
\section{What is Perl 6?} |
|
|
|
\frame{ |
|
|
|
\frametitle{Flavors of Perl 6} |
|
|
|
\frametitle{What is Perl 6?} |
|
|
|
\begin{center} |
|
|
|
\begin{itemize} |
|
|
|
\item Rakudo - Perl 6 on Parrot Virtual Machine |
|
|
|
\item Niecza - Perl 6 on Mono |
|
|
|
\item Perlito |
|
|
|
\item SMOP - C+DSLs |
|
|
|
\item Elf - Ruby |
|
|
|
\item STD.pm - Larry's Implementation in Perl 6 (gimme5) |
|
|
|
\item v6.pm - Source filter for Perl 5 |
|
|
|
\item Pugs - Haskell (composting) |
|
|
|
\item others ... |
|
|
|
\end{itemize} |
|
|
|
|
|
|
|
\begin{itemize} |
|
|
|
\item It is a specification for a language. |
|
|
|
\item There are many implementations. |
|
|
|
\item NOT the successor to Perl 5 (more like a kid sister). |
|
|
|
\end{itemize} |
|
|
|
\end{center} |
|
|
|
} |
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{What are Perl 6 Modules?} |
|
|
|
\begin{center} |
|
|
|
|
|
|
|
Just like Perl 5 modules, Perl 6 modules are units of distributable and |
|
|
|
useful code. |
|
|
|
|
|
|
|
The CPAN of Perl 6 is called http://modules.perl6.org |
|
|
|
\begin{itemize} |
|
|
|
\item Just like Perl 5 modules, Perl 6 modules are units of distributable and |
|
|
|
useful code. |
|
|
|
|
|
|
|
\item The CPAN of Perl 6 is called http://modules.perl6.org |
|
|
|
\item How many modules does your unreleased language have? |
|
|
|
\end{itemize} |
|
|
|
\end{center} |
|
|
|
} |
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{Which flavors of Perl 6 to use?} |
|
|
|
\frametitle{Which flavor of Perl 6?} |
|
|
|
\begin{center} |
|
|
|
Different flavors of Perl 6 have implemented different feature sets. |
|
|
|
\begin{itemize} |
|
|
|
\item Different flavors of Perl 6 have implemented different feature sets. |
|
|
|
|
|
|
|
Rakudo Perl 6 currently has the largest feature set and the most number of current contributors. |
|
|
|
\item Rakudo Perl 6 currently has the largest feature set and the most number of current contributors. |
|
|
|
\item Most Perl 6 modules worked on Rakudo at least some time in the past. |
|
|
|
\end{itemize} |
|
|
|
\end{center} |
|
|
|
} |
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{How Do I Start Writing a Perl 6 Module?} |
|
|
|
\frametitle{Anatomy of a Perl 6 Module} |
|
|
|
\begin{center} |
|
|
|
\begin{itemize} |
|
|
|
\item It looks just about the same! |
|
|
|
\item META.info (like a Build.PL or Makefile.PL) |
|
|
|
\item README* |
|
|
|
\item lib/ |
|
|
|
\item t/ |
|
|
|
\end{itemize} |
|
|
|
\end{center} |
|
|
|
} |
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{Anatomy of a Perl 6 Module} |
|
|
|
\frametitle{What does META.info look like?} |
|
|
|
\begin{center} |
|
|
|
\includegraphics[scale=0.5]{soundex_meta_info} |
|
|
|
\end{center} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{How Do I Start Writing a Perl 6 Module?} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{Writing Tests for a Perl 6 Module} |
|
|
|
} |
|
|
|