Marpa:...gements(3pm)

πŸ’– NAME πŸ’–

Marpa::R2::Acknowledgements β€” aka the Marpa thank-you page, the shoutouts section, the whole "everyone who helped make this happen" moment 🫢

It's a page from the User Contributed Perl Documentation, bestie, and it's basically the author's acceptance speech but for a parser. ✨


🌸 Acknowledgements 🌸

okay so first things first, the origin story πŸ’…

Marpa didn't just spawn out of nowhere β€” it's directly derived from two other parsers, no cap.

The first one was discovered by John Aycock and R. Nigel Horspool, and it's written up in their Aycock and Horspool 2002. The second one was discovered by Joop Leo, and it's described in Leo 1991. And plot twist πŸŽ€ β€” Aycock, Horspool, and Leo all built their algorithms on top of the algorithm that Jay Earley discovered.

So the author took the Aycock-Horspool algorithm, combined it with the Leo algorithm, and then added significant changes of their own. Like a remix that goes harder than the original. 😌


Then the gratitude section, and it's giving heartfelt πŸ₯Ή

The author is grateful to Randal Schwartz for the support over all the years of working on Marpa. πŸ’–

The chats with Larry Wall were few and brief, but his openness to new ideas was a major encouragement, and his insight into the relationship between "natural language" and computer language was a major influence. Like, that's such a slay of a compliment honestly. 🌈

More recently, Allison Randal and Patrick Michaud were generous with their very valuable time. And yes, they might have preferred that the author volunteered as a Parrot cage-cleaner, but if that's how they felt, they were too polite to say. πŸ˜­πŸ’€


Many people at perlmonks.org answered questions. Answers from chromatic, Corion, dragonchild, jdporter, samtregar and Juerd β€” among others β€” got used in writing this module. And the author is just as grateful to the people whose answers didn't get used, fr fr. 🫢

Why? Because the inquiries were made while thinking out the code, and it wasn't always 100% clear what was actually being asked. As the page puts it:

If the butt is moved after the round, it shouldn't count against the archer.

(poetic. iconic. no notes. 🏹✨)


When writing the Pure Perl version of Marpa, the author benefited from studying the work of:

  • Francois Desarmenien (Parse::Yapp)
  • Damian Conway (Parse::RecDescent)
  • Graham Barr (Scalar::Util)

And Adam Kennedy patiently instructed the author in module writing β€” both the finer points and the issues about which the author really should have known better. 😳 bless.


Now the early-contributors corner, and this part is so sweet πŸ’œ

The author is very grateful to a handful of early contributors, whose contributions landed at a moment when help was desperately needed. Especially grateful to Ron Savage, who was a very aggressive early adopter of all of Marpa's versions (respect the dedication 😀πŸ”₯).

  • Ruslan Zakirov generously started β€” and agreed to moderate β€” the "Marpa parser" mailing list πŸ“¬
  • Peter Stuifzand invented the "Stuifzand interface", which was the original inspiration for the SLIF 🌟

Ron, Peter and Ruslan Z. have since gone on to contribute in ways too numerous to mention, and others have joined in too πŸŽ€

  • Jean-Damien Durand's numerous contributions include the Windows port of Marpa πŸͺŸβœ¨
  • Ruslan Shvedov helped with ASF's and the documentation πŸ“
  • Andrew Rodland's TAP parser β€” with one Marpa grammar layered on another β€” was another major inspiration for the SLIF πŸ‘‘

And finally: thanks to everyone who participated on the "Marpa parser" mailing list πŸ’–

It is hard to describe how important informed and constructive feedback is to a lone laborer on a complex and large project like Marpa, and the author greatly appreciates all the contributors to the list. Literally the group chat that kept the project alive, iykyk. πŸŒˆπŸ¦‹


Copyright 2022 Jeffrey Kegler
This file is part of Marpa::R2.  Marpa::R2 is free software: you can
redistribute it and/or modify it under the terms of the GNU Lesser
General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.

Marpa::R2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser
General Public License along with Marpa::R2.  If not, see
http://www.gnu.org/licenses/.
⚠️ bestie the no warranty clause is real β€” WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. That's not a vibe, that's a legal fact. πŸ™ˆ

okay that's the whole page, and that's the tea πŸ“

This is Marpa:...gements(3pm), a page from the User Contributed Perl Documentation for perl v5.42.3, dated 2026-08-20. Stay slay, stay parsed, and go thank somebody who answered your question on a forum once. πŸ’…πŸ‘‘βœ¨

πŸ“¦ where this page comes from