|
|
@ -29,6 +29,8 @@ |
|
|
|
\item Interoperable |
|
|
|
\item Dynamic |
|
|
|
\end{itemize} |
|
|
|
\item 2.7.0 "Australian King" just released |
|
|
|
\item Undergoing lots of optimizations |
|
|
|
\end{itemize} |
|
|
|
\end{center} |
|
|
|
} |
|
|
@ -40,6 +42,7 @@ |
|
|
|
\item Implements $\sim 80\%$ of the spec |
|
|
|
\item Currently uses Parrot as a backend, but plans to support others |
|
|
|
\item Stable release series is Rakudo Star, dev release every month |
|
|
|
\item Getting faster do to optimizations in Parrot |
|
|
|
\end{itemize} |
|
|
|
\end{center} |
|
|
|
} |
|
|
@ -48,11 +51,9 @@ |
|
|
|
\frametitle{Why Embed Parrot VM in PostgreSQL?} |
|
|
|
\begin{center} |
|
|
|
\begin{itemize} |
|
|
|
\item PL's are (very) hard to write and maintain |
|
|
|
\item Framework for DSL's |
|
|
|
\item Platform independent, fast, stored procedures |
|
|
|
\item Allow various PL's to communicate |
|
|
|
\item Freeze/thaw subtransaction-level states |
|
|
|
\item Procedural/PostgreSQL Languages (PL's) are hard to write and maintain |
|
|
|
\item PL/Parrot does the hard work, HLLs benefit with much less effort |
|
|
|
\item Platform independent, fast$^\dagger$, stored procedures |
|
|
|
\end{itemize} |
|
|
|
\end{center} |
|
|
|
} |
|
|
@ -74,15 +75,17 @@ |
|
|
|
} |
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{Bugs} |
|
|
|
\frametitle{Things that creak} |
|
|
|
\begin{itemize} |
|
|
|
\item Documentation |
|
|
|
\item SPI |
|
|
|
\item Documentation - http://pl.parrot.org |
|
|
|
\item SPI - branch being worked by cxreg++, elog works! |
|
|
|
\item Triggers |
|
|
|
\item SETOF - branch with some tests |
|
|
|
\item Parrot Bugs |
|
|
|
\begin{itemize} |
|
|
|
\item IMCC Syntax Errors |
|
|
|
\item Security API |
|
|
|
\item Extend/Embed API |
|
|
|
\end{itemize} |
|
|
|
\end{itemize} |
|
|
|
} |
|
|
@ -93,7 +96,7 @@ |
|
|
|
} |
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{Installing PL/Parrot: Method 1} |
|
|
|
\frametitle{Installing/Testing PL/Parrot} |
|
|
|
\begin{itemize} |
|
|
|
\item Install Rakudo or Parrot |
|
|
|
\item \# parrot\_config needs to be in your \textdollaroldstyle PATH |
|
|
@ -103,15 +106,17 @@ |
|
|
|
\item cd plparrot |
|
|
|
\item export PGPORT=5555 \# if necessary |
|
|
|
\item make install installcheck \# might need sudo |
|
|
|
\item make test\_plperl6 \# Run PL/Perl6 tests |
|
|
|
\item make test test\_plperl6 \# PL/PIR + PL/Perl6 tests |
|
|
|
\end{itemize} |
|
|
|
} |
|
|
|
|
|
|
|
\frame{ |
|
|
|
\frametitle{Future Goals} |
|
|
|
\begin{itemize} |
|
|
|
\item Tools to help easily create a new DSL with PL/Parrot |
|
|
|
\item Easy onramps to add new languages to PL/Parrot |
|
|
|
\item Framework for DSL's |
|
|
|
\item Allow various PL's to communicate |
|
|
|
\item Freeze/thaw subtransaction-level states |
|
|
|
\end{itemize} |
|
|
|
} |
|
|
|
|
|
|
|