pugs
play

Pugs Perl 6 For Real http://pugscode.org/ Autrijus Tang CUFP - PowerPoint PPT Presentation

Pugs Perl 6 For Real http://pugscode.org/ Autrijus Tang CUFP 2005, Tallinn Perl is ergonomic P is for Practical Manipulexity & Whipuptitude Manipulexity Perl C awk sed shell (circa. 1990) Whipuptitude Abstraction Sexy


  1. Pugs Perl 6 For Real http://pugscode.org/ Autrijus Tang CUFP 2005, Tallinn

  2. Perl is ergonomic

  3. P is for Practical

  4. Manipulexity & Whipuptitude

  5. Manipulexity Perl C awk sed shell (circa. 1990) Whipuptitude

  6. Abstraction → Sexy

  7. Closures Bless / Tie BEGIN block

  8. Shorthand → Natural

  9. Regex Contexts $_ as Topic

  10. Stepping sideways

  11. CPAN is versatile

  12. No coding = Best coding

  13. 10 + years 2500 + authors 8000 + modules

  14. Smoke Testing Issue Tracking Rating & Discussion Package Management

  15. Vocabulary > Syntax

  16. Addictive Super glue

  17. Jenga Syndrome

  18. Perl 6 is powerful

  19. RFC Parrot Apocalypses

  20. Lazy Evaluation

  21. Rebindable Grammar

  22. Dependent Constrained Soft Typing

  23. Traits Metamodel

  24. MMD on Type & Value

  25. Syntactic Aspartame without Bloat

  26. use perl5:DBI; use jsan:DOM;

  27. …but it stayed Imaginary for 5 years

  28. Perl6::Rules P6C/PIR PGE/PAST

  29. Deadlocked: Insufficient Manipulexity

  30. Haskell is fantastic

  31. SVK steals from the best: Darcs

  32. “The Dream that stuff are made of” “An alien language”

  33. $work in C Terabytes of AFP Evil Binary Format Old AIX machine

  34. Parse::AFP Prototype in perl5 Leaks horribly Hard to refactor

  35. OpenAFP.hs 30 days 3000 lines Highly efficient

  36. touchForeignPtr unsafeInterleaveIO WriterT ReaderT IO 3-arg class with Fundeps DSL, TH, Generics (Kudos to #haskell)

  37. Feb 1 st TaPL arrived as an exercise…

  38. Pugs is expansive

  39. Feb 6 th Primitive Interpreter (1|2)+(3|4) → (4|5|6) Parsec.Expr

  40. Feb 16 th Imperative runtime say “Hello, world” ContT ReaderT

  41. Feb 23 rd Test.pm runs is(1+1, 2, ‘add’) 10,000 tests today

  42. Mar 19 th PCRE Regex s:p5:g/x/Y/; hsregex

  43. Apr 26 th BEGIN blocks use fp; unsafePerformIO

  44. May 25 th Embedded Perl5/Parrot AddHandler mod_pugs FFI & hsc2hs

  45. Jun 24 th Perl6→PIL→Parrot make smoke-pir GADT & Fundeps

  46. Jul 14 th PIL→Perl5 make smoke-perl5 DrIFT

  47. Jul 17 th PIL→Javascript make smoke-js Passes 90% tests now

  48. Aug 1 st Self-hosting Object Model class Class is Object; Ported to JS, P5, P6

  49. Sep 21 st Blondie Type inferencer Codegen to native C

  50. People are alive

  51. -O fun

  52. Anarchistic Development

  53. Arrow length 7000 + commits 120 + committers Time

  54. @Larry λcamels

  55. #perl6 p6[cli] Journals

  56. Poetry Obfuscation JAPH

  57. Hackathons Taipei Vienna Toronto Tel-Aviv …and more

  58. Plans are for real

  59. 6.0 Initial Release 6.2 Functions 6.28 Objects 6.283 Grammars

  60. 6.2831 Types 6.28318 Macros 6.283185 Self-host

  61. use pugs;

  62. import Pugs JSAN().use(‘pugs’) #include <pugs.h>

  63. CLR? JVM? YARV?

  64. Visiolize Formalize

  65. Erdösing Wanderdekade Feb 1 st , 2006

  66. Thank you!

More recommend