How (not) to create a language specification for Perl 6

How (not) to create a language specification for Perl 6

By Patrick Michaud (‎Pm‎) from DFW.pm
Date: Wednesday, 10 June 2015 13:30
Duration: 50 minutes
Target audience: Any
Language: English


In the process of designing, implementing, and using Perl 6 (or any programming language), people often refer to ""the language specification"" as a commonly understood and perhaps self-evident fixed reference point. For mature languages this can be reasonable, because the people using that language have generally developed a shared understanding of what constitutes the language's specification. But languages are not all specified in the same manner, and in a new or rapidly evolving language it may be unwise to prematurely commit to an inflexible specification. Perl 6 has gone through several imprecise notions of what constitutes its specification, such as design documents like the Synopses, reference implementations of certain features, and the ""official"" test suite. This imprecision sometimes leads to misunderstandings among developers, confusion for newcomers to the language, and difficulty communicating with external audiences. This talk presents a historical perspective on how Perl 6's specification process has evolved over the past decade: identifying things we've done (or are doing) wrong, things we've gotten very right, and ideas of what that process ought to look like going forward.


Attended by: Thomas Stanton (‎tstanton‎), Eric Choi, Stephen Scaffidi (‎hercynium‎), Kenneth Graves (‎kag‎), Miller Hall, James E Keenan (‎kid51‎), Belden Lyman (‎belden‎), Adam Schobelock, Buddy Burden (‎barefootcoder‎), Michael Hamlin (‎myrrhlin‎), William Souder (‎dogrr‎), Brent Laabs (‎labster‎), Reini Urban (‎rurban‎),