Turing-complete templates for everyone!
-
Upload
jean-baptiste-mazon -
Category
Entertainment & Humor
-
view
1.059 -
download
1
Transcript of Turing-complete templates for everyone!
DNA
Turing-complete templates
for everyone!
YAPC::EU 2014 Sophia.pm
recruiting now (can't later)last standing survivor of Sophia.pm (not a typo)we're hiring!
Sophia.pm
not this, thatFrance, accent
Who already used Perl templating?Who's going to attend Su-Shee's talk?
Templating in Perl
Template-ToolkitTemplate::AlloyText::XslateHTML::Templatemany others
met in hallwayonly reasonable thing to do: create a new one
Everybody knows what TC is?Are those frameworks TC?
[% FOREACH page IN pages %] * [% page.title %][% END %]
[% RAWPERL %] $ouput .= too_hard_just_call_perl();[% END %]
former Perl golferLONG identifiersimpure syntax
Idealism
hacks
quirks
kludges
This is 2014
Turing completeness is a requirement.
Must be a core part of the design
Design purity
< > [ ]+ - , .
Urban Mller, 1993
seminal research projectprobably means: Awesome Contraption of Pure Computing Power
no comments
Show me the code
Almost like we had a type system
Basic templates
Straight text
Straight text
Iteration
+++[ * repeated three times-]
* repeated three times
* repeated three times
* repeated three times
Full-fledged character generation
++++++++++[>+++++++>++++++++++>+++>+++++++++---.+++[-]
'Badger'
{Badger}{Badger}{Badger}
This one had a huge bug on stage.So sue me.
Basic string manipulation
,[=.]=
'Iterating on a string'
=I=t=e=r=a=t=i=n=g= =o=n= =a= =s=t=r=i=n=g=
Native arrays
,[.]
[qw(Iterating on an array)]
Iteratingonanarray
Advanced string manipulation
,[[>>++++[>++++++++-[>>>]+>+>]>]>[+[-]>+>>]