SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
PL/Parrot
         JDCon East, Philadelphia
         March 25, 2010
      Copyright © 2010
      David Fetter david.fetter@pgexperts.com
      All Rights Reserved

Thursday, March 25, 2010
Thursday, March 25, 2010
Um, WTF?!?
Thursday, March 25, 2010
Parrot




Thursday, March 25, 2010
Parrot

                    • A Virtual Machine for Dynamic Languages




Thursday, March 25, 2010
Parrot

                    • A Virtual Machine for Dynamic Languages
                    • Register based



Thursday, March 25, 2010
Parrot

                    • A Virtual Machine for Dynamic Languages
                    • Register based
                    • Really, really #&^%#@%^ cool.


Thursday, March 25, 2010
PostgreSQL




Thursday, March 25, 2010
PostgreSQL

                    • If you gotta ask,




Thursday, March 25, 2010
PostgreSQL

                    • If you gotta ask,
                    • you ain't never gonna know.



Thursday, March 25, 2010
PostgreSQL

                    • If you gotta ask,
                    • you ain't never gonna know.
                    • (apologies to Louis Armstrong)


Thursday, March 25, 2010
Why?




Thursday, March 25, 2010
Why?

                    • Creating and Debugging PLs is a




Thursday, March 25, 2010
Why?

                    • Creating and Debugging PLs is a
                    • Pain




Thursday, March 25, 2010
Why?

                    • Creating and Debugging PLs is a
                    • Pain
                    • In



Thursday, March 25, 2010
Why?

                    • Creating and Debugging PLs is a
                    • Pain
                    • In
                    • The


Thursday, March 25, 2010
Why?

                    • Creating and Debugging PLs is a
                    • Pain
                    • In
                    • The
                    • As^Wneck

Thursday, March 25, 2010
Why?




Thursday, March 25, 2010
Why?

                    •      Don't


Thursday, March 25, 2010
Why?

                    •      Don't
                    •      Repeat

Thursday, March 25, 2010
Why?

                    •      Don't
                    •      Repeat
                    •
Thursday, March 25, 2010
                           Yourself!
Why?


                    • Write in PL/Pynie
                    • Call from PL/Cardinal


Thursday, March 25, 2010
What


                    • First things first:
                    • PL/PIR


Thursday, March 25, 2010
Thursday, March 25, 2010
<EMBED>




Thursday, March 25, 2010
Thursday, March 25, 2010
•      Nobody had actually used the embedding API




Thursday, March 25, 2010
•      Nobody had actually used the embedding API

                           •   Use SVN Parrot (via git! :)




Thursday, March 25, 2010
</EMBED>



Thursday, March 25, 2010
<HLL>



Thursday, March 25, 2010
Thursday, March 25, 2010
•   HLLs don't actually, well, um,




Thursday, March 25, 2010
•   HLLs don't actually, well, um,

                               •   PL/PIR




Thursday, March 25, 2010
</HLL>



Thursday, March 25, 2010
<MARSHAL>




Thursday, March 25, 2010
Thursday, March 25, 2010
•   PostgreSQL's Amazing Data Types




Thursday, March 25, 2010
•   PostgreSQL's Amazing Data Types

                               •   Um, we're kinda working on that.




Thursday, March 25, 2010
•   PostgreSQL's Amazing Data Types

                               •   Um, we're kinda working on that.

                               •   Blizkost?




Thursday, March 25, 2010
•   PostgreSQL's Amazing Data Types

                               •   Um, we're kinda working on that.

                               •   Blizkost?

                               •   ResizablePMCArray




Thursday, March 25, 2010
</MARSHAL>



Thursday, March 25, 2010
What We Have Now




Thursday, March 25, 2010
What We Have Now

                               • An actual PL (PIR)




Thursday, March 25, 2010
What We Have Now

                               • An actual PL (PIR)
                               • TAP-ish tests



Thursday, March 25, 2010
What We Have Now

                               • An actual PL (PIR)
                               • TAP-ish tests
                               • A Git Repo


Thursday, March 25, 2010
What We Have Now

                               • An actual PL (PIR)
                               • TAP-ish tests
                               • A Git Repo
                               • Enthusiasm

Thursday, March 25, 2010
What We'll Make Soon




Thursday, March 25, 2010
What We'll Make Soon

                           • Argument Passing




Thursday, March 25, 2010
What We'll Make Soon

                           • Argument Passing
                           • Data Type Marshalling



Thursday, March 25, 2010
What We'll Make Soon

                           • Argument Passing
                           • Data Type Marshalling
                           • MOAR TESTZ


Thursday, March 25, 2010
What We Want




Thursday, March 25, 2010
What We Want

                           • Sandboxing




Thursday, March 25, 2010
What We Want

                           • Sandboxing
                           • HLLs



Thursday, March 25, 2010
What We Want

                           • Sandboxing
                           • HLLs
                           • MOAR DEVELOPERZ


Thursday, March 25, 2010
What We Want

                           • Sandboxing
                           • HLLs
                           • MOAR DEVELOPERZ
                           • Users!

Thursday, March 25, 2010
Where's The Code


               http://github.com/leto/plparrot




Thursday, March 25, 2010
Who's To Blame




Thursday, March 25, 2010
Thanks!
         JDCon East, Philadelphia
         March 25, 2010
      Copyright © 2010
      David Fetter david.fetter@pgexperts.com
      All Rights Reserved

Thursday, March 25, 2010

Weitere ähnliche Inhalte

Ähnlich wie Pl Parrot

America, your congress is Mashed UP!
America, your congress is Mashed UP!America, your congress is Mashed UP!
America, your congress is Mashed UP!Wynn Netherland
 
Daniel Pandza - Jornadas De Capacitacion OFS 2010
Daniel Pandza - Jornadas De Capacitacion OFS 2010Daniel Pandza - Jornadas De Capacitacion OFS 2010
Daniel Pandza - Jornadas De Capacitacion OFS 2010InterlubGroup
 
From where OpenVBX came from to how we open sourced it
From where OpenVBX came from to how we open sourced itFrom where OpenVBX came from to how we open sourced it
From where OpenVBX came from to how we open sourced itminddog
 
iPhone & iPad Quickstart for Java Developers v0.0.1
iPhone & iPad Quickstart for Java Developers v0.0.1iPhone & iPad Quickstart for Java Developers v0.0.1
iPhone & iPad Quickstart for Java Developers v0.0.1Matthew McCullough
 
Query+builder+specification
Query+builder+specificationQuery+builder+specification
Query+builder+specificationAalap Doshi
 
Hardware is the New Software (Pivotal Labs)
Hardware is the New Software (Pivotal Labs)Hardware is the New Software (Pivotal Labs)
Hardware is the New Software (Pivotal Labs)Nick Pinkston
 
FITC 2010 Slides
FITC 2010 SlidesFITC 2010 Slides
FITC 2010 Slidesjkosoy
 
ツイキャス・東京ユーザー会 資料
ツイキャス・東京ユーザー会 資料ツイキャス・東京ユーザー会 資料
ツイキャス・東京ユーザー会 資料yoski
 
Getting the most out of Microsoft Teams
Getting the most out of Microsoft TeamsGetting the most out of Microsoft Teams
Getting the most out of Microsoft TeamsJasper Oosterveld
 

Ähnlich wie Pl Parrot (9)

America, your congress is Mashed UP!
America, your congress is Mashed UP!America, your congress is Mashed UP!
America, your congress is Mashed UP!
 
Daniel Pandza - Jornadas De Capacitacion OFS 2010
Daniel Pandza - Jornadas De Capacitacion OFS 2010Daniel Pandza - Jornadas De Capacitacion OFS 2010
Daniel Pandza - Jornadas De Capacitacion OFS 2010
 
From where OpenVBX came from to how we open sourced it
From where OpenVBX came from to how we open sourced itFrom where OpenVBX came from to how we open sourced it
From where OpenVBX came from to how we open sourced it
 
iPhone & iPad Quickstart for Java Developers v0.0.1
iPhone & iPad Quickstart for Java Developers v0.0.1iPhone & iPad Quickstart for Java Developers v0.0.1
iPhone & iPad Quickstart for Java Developers v0.0.1
 
Query+builder+specification
Query+builder+specificationQuery+builder+specification
Query+builder+specification
 
Hardware is the New Software (Pivotal Labs)
Hardware is the New Software (Pivotal Labs)Hardware is the New Software (Pivotal Labs)
Hardware is the New Software (Pivotal Labs)
 
FITC 2010 Slides
FITC 2010 SlidesFITC 2010 Slides
FITC 2010 Slides
 
ツイキャス・東京ユーザー会 資料
ツイキャス・東京ユーザー会 資料ツイキャス・東京ユーザー会 資料
ツイキャス・東京ユーザー会 資料
 
Getting the most out of Microsoft Teams
Getting the most out of Microsoft TeamsGetting the most out of Microsoft Teams
Getting the most out of Microsoft Teams
 

Mehr von Command Prompt., Inc

Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableHowdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableCommand Prompt., Inc
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL AdministrationCommand Prompt., Inc
 
Replication using PostgreSQL Replicator
Replication using PostgreSQL ReplicatorReplication using PostgreSQL Replicator
Replication using PostgreSQL ReplicatorCommand Prompt., Inc
 
Python utilities for data presentation
Python utilities for data presentationPython utilities for data presentation
Python utilities for data presentationCommand Prompt., Inc
 
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...Command Prompt., Inc
 
Not Just UNIQUE: Generalized Index Constraints
Not Just UNIQUE: Generalized Index ConstraintsNot Just UNIQUE: Generalized Index Constraints
Not Just UNIQUE: Generalized Index ConstraintsCommand Prompt., Inc
 
Implementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenImplementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenCommand Prompt., Inc
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksCommand Prompt., Inc
 
Normalization: A Workshop for Everybody Pt. 2
Normalization: A Workshop for Everybody Pt. 2Normalization: A Workshop for Everybody Pt. 2
Normalization: A Workshop for Everybody Pt. 2Command Prompt., Inc
 
Normalization: A Workshop for Everybody Pt. 1
Normalization: A Workshop for Everybody Pt. 1Normalization: A Workshop for Everybody Pt. 1
Normalization: A Workshop for Everybody Pt. 1Command Prompt., Inc
 
Integrating PostGIS in Web Applications
Integrating PostGIS in Web ApplicationsIntegrating PostGIS in Web Applications
Integrating PostGIS in Web ApplicationsCommand Prompt., Inc
 
PostgreSQL High Availability via SLONY and PG POOL II
PostgreSQL High Availability via SLONY and PG POOL IIPostgreSQL High Availability via SLONY and PG POOL II
PostgreSQL High Availability via SLONY and PG POOL IICommand Prompt., Inc
 

Mehr von Command Prompt., Inc (20)

Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableHowdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
 
Backup and-recovery2
Backup and-recovery2Backup and-recovery2
Backup and-recovery2
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL Administration
 
Temporal Data
Temporal DataTemporal Data
Temporal Data
 
Replication using PostgreSQL Replicator
Replication using PostgreSQL ReplicatorReplication using PostgreSQL Replicator
Replication using PostgreSQL Replicator
 
Go replicator
Go replicatorGo replicator
Go replicator
 
Pg migrator
Pg migratorPg migrator
Pg migrator
 
Python utilities for data presentation
Python utilities for data presentationPython utilities for data presentation
Python utilities for data presentation
 
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
 
Not Just UNIQUE: Generalized Index Constraints
Not Just UNIQUE: Generalized Index ConstraintsNot Just UNIQUE: Generalized Index Constraints
Not Just UNIQUE: Generalized Index Constraints
 
Implementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenImplementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with Tungsten
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forks
 
Basic Query Tuning Primer
Basic Query Tuning PrimerBasic Query Tuning Primer
Basic Query Tuning Primer
 
A Practical Multi-Tenant Cluster
A Practical Multi-Tenant ClusterA Practical Multi-Tenant Cluster
A Practical Multi-Tenant Cluster
 
5 Steps to PostgreSQL Performance
5 Steps to PostgreSQL Performance5 Steps to PostgreSQL Performance
5 Steps to PostgreSQL Performance
 
Normalization: A Workshop for Everybody Pt. 2
Normalization: A Workshop for Everybody Pt. 2Normalization: A Workshop for Everybody Pt. 2
Normalization: A Workshop for Everybody Pt. 2
 
Normalization: A Workshop for Everybody Pt. 1
Normalization: A Workshop for Everybody Pt. 1Normalization: A Workshop for Everybody Pt. 1
Normalization: A Workshop for Everybody Pt. 1
 
Integrating PostGIS in Web Applications
Integrating PostGIS in Web ApplicationsIntegrating PostGIS in Web Applications
Integrating PostGIS in Web Applications
 
PostgreSQL High Availability via SLONY and PG POOL II
PostgreSQL High Availability via SLONY and PG POOL IIPostgreSQL High Availability via SLONY and PG POOL II
PostgreSQL High Availability via SLONY and PG POOL II
 
The PostgreSQL Query Planner
The PostgreSQL Query PlannerThe PostgreSQL Query Planner
The PostgreSQL Query Planner
 

Pl Parrot

  • 1. PL/Parrot JDCon East, Philadelphia March 25, 2010 Copyright © 2010 David Fetter david.fetter@pgexperts.com All Rights Reserved Thursday, March 25, 2010
  • 5. Parrot • A Virtual Machine for Dynamic Languages Thursday, March 25, 2010
  • 6. Parrot • A Virtual Machine for Dynamic Languages • Register based Thursday, March 25, 2010
  • 7. Parrot • A Virtual Machine for Dynamic Languages • Register based • Really, really #&^%#@%^ cool. Thursday, March 25, 2010
  • 9. PostgreSQL • If you gotta ask, Thursday, March 25, 2010
  • 10. PostgreSQL • If you gotta ask, • you ain't never gonna know. Thursday, March 25, 2010
  • 11. PostgreSQL • If you gotta ask, • you ain't never gonna know. • (apologies to Louis Armstrong) Thursday, March 25, 2010
  • 13. Why? • Creating and Debugging PLs is a Thursday, March 25, 2010
  • 14. Why? • Creating and Debugging PLs is a • Pain Thursday, March 25, 2010
  • 15. Why? • Creating and Debugging PLs is a • Pain • In Thursday, March 25, 2010
  • 16. Why? • Creating and Debugging PLs is a • Pain • In • The Thursday, March 25, 2010
  • 17. Why? • Creating and Debugging PLs is a • Pain • In • The • As^Wneck Thursday, March 25, 2010
  • 19. Why? • Don't Thursday, March 25, 2010
  • 20. Why? • Don't • Repeat Thursday, March 25, 2010
  • 21. Why? • Don't • Repeat • Thursday, March 25, 2010 Yourself!
  • 22. Why? • Write in PL/Pynie • Call from PL/Cardinal Thursday, March 25, 2010
  • 23. What • First things first: • PL/PIR Thursday, March 25, 2010
  • 27. Nobody had actually used the embedding API Thursday, March 25, 2010
  • 28. Nobody had actually used the embedding API • Use SVN Parrot (via git! :) Thursday, March 25, 2010
  • 32. HLLs don't actually, well, um, Thursday, March 25, 2010
  • 33. HLLs don't actually, well, um, • PL/PIR Thursday, March 25, 2010
  • 37. PostgreSQL's Amazing Data Types Thursday, March 25, 2010
  • 38. PostgreSQL's Amazing Data Types • Um, we're kinda working on that. Thursday, March 25, 2010
  • 39. PostgreSQL's Amazing Data Types • Um, we're kinda working on that. • Blizkost? Thursday, March 25, 2010
  • 40. PostgreSQL's Amazing Data Types • Um, we're kinda working on that. • Blizkost? • ResizablePMCArray Thursday, March 25, 2010
  • 42. What We Have Now Thursday, March 25, 2010
  • 43. What We Have Now • An actual PL (PIR) Thursday, March 25, 2010
  • 44. What We Have Now • An actual PL (PIR) • TAP-ish tests Thursday, March 25, 2010
  • 45. What We Have Now • An actual PL (PIR) • TAP-ish tests • A Git Repo Thursday, March 25, 2010
  • 46. What We Have Now • An actual PL (PIR) • TAP-ish tests • A Git Repo • Enthusiasm Thursday, March 25, 2010
  • 47. What We'll Make Soon Thursday, March 25, 2010
  • 48. What We'll Make Soon • Argument Passing Thursday, March 25, 2010
  • 49. What We'll Make Soon • Argument Passing • Data Type Marshalling Thursday, March 25, 2010
  • 50. What We'll Make Soon • Argument Passing • Data Type Marshalling • MOAR TESTZ Thursday, March 25, 2010
  • 51. What We Want Thursday, March 25, 2010
  • 52. What We Want • Sandboxing Thursday, March 25, 2010
  • 53. What We Want • Sandboxing • HLLs Thursday, March 25, 2010
  • 54. What We Want • Sandboxing • HLLs • MOAR DEVELOPERZ Thursday, March 25, 2010
  • 55. What We Want • Sandboxing • HLLs • MOAR DEVELOPERZ • Users! Thursday, March 25, 2010
  • 56. Where's The Code http://github.com/leto/plparrot Thursday, March 25, 2010
  • 57. Who's To Blame Thursday, March 25, 2010
  • 58. Thanks! JDCon East, Philadelphia March 25, 2010 Copyright © 2010 David Fetter david.fetter@pgexperts.com All Rights Reserved Thursday, March 25, 2010