宝姿是什么档次的牌子| 床咚是什么意思啊| rag是什么意思| 耳塞戴久了有什么危害| 感冒拉肚子吃什么药| 肾结石的症状是什么| 什么鱼适合清蒸| 什么叫唐卡| 血小板低会出现什么症状| 检查有没有怀孕挂什么科| 阳卦代表什么意思| 彩超能检查出什么| fob什么意思| 不什么而同| 月亮为什么是红色的| 苏州古代叫什么| 什么会导致铅中毒| 阳虚是什么意思| 康健是什么意思| 早晨8点是什么时辰| 省政协主席什么级别| 四月二十八什么星座| 发烧后头疼是什么原因| 羽衣甘蓝是什么| 切除脾脏对身体有什么影响| 为什么小孩子有白头发| 气血不足吃什么药最好| 玉镯子断了有什么预兆| 凯撒沙拉酱是什么口味| 女人吃鹅蛋有什么好处| 玉兔是什么意思| 怀孕前三个月不能吃什么| 卵泡破裂有什么症状| 头晕呕吐吃什么药| 印度尼西亚是什么人种| 今年是农历的什么年| 性冷淡是什么| 小孩嘴唇发红是什么原因| 鼻窦炎是什么病| 蔬菜沙拉都放什么菜| 男生为什么喜欢摸胸| 谶语是什么意思| 劫富济贫是什么意思| 什么是特异性皮炎| 金黄色葡萄球菌是什么菌| 为什么月经老是提前| 南瓜长什么样子的图片| 不care是什么意思| 什么样的月亮| 下象棋有什么好处| 转氨酶高是什么原因引起的| 足及念什么| 子宫下垂吃什么药| 青蛙靠什么呼吸| 久之的之是什么意思| 发烧喝什么粥| 戒指带中指什么意思| 甲功六项检查什么| 凌晨两点半是什么时辰| 割包皮挂什么科室| 心脏杂音是什么意思| 定夺是什么意思| 小孩咳嗽喝什么药| 廊坊有什么好玩的地方| 尿道炎吃什么药比较好的快| 一什么瓦| 沪深300是什么意思| 6月份是什么季节| 胃泌素偏低是什么原因| 保教费是什么意思| 经常流眼泪是什么原因| 北方人立秋吃什么| 女人做春梦预示着什么| 大小三阳是什么病| 梦见做饭是什么意思| 6月23日是什么日子| 胰腺分泌什么| 亚瑟士和鬼冢虎的区别是什么| 槟榔是什么味道| 耳顺是什么意思| 豆腐干炒什么菜好吃| u1是什么意思| 23度穿什么衣服合适| 交是什么结构的字| A型血为什么是完美血型| 免疫是什么意思| 甲状腺tsh高说明什么| 宝宝热疹用什么药膏| 鸟飞进家里是什么预兆| 梦到前男友是什么意思| 头疼恶心是什么原因| 舌苔白厚吃什么药见效快| edifice是什么牌子手表| 息肉样增生是什么意思| 痔疮是什么| 肺腺瘤是什么| 贫血吃什么水果补血最快| 闰月鞋买什么颜色| 梦见儿子小时候是什么意思| 电瓶车充不进电是什么原因| 半夏微凉是什么意思| 高血压喝什么茶好| 七月份是什么季节| 气短挂什么科| 九牛一毛是什么生肖| 雪菊有什么功效| 护士需要什么学历| 淡是什么意思| 孔子是什么时期的人| 经常挖鼻孔有什么危害| 喉咙肿瘤有什么症状| 吃什么降血压最快最好方法| 褶子是什么意思| 狮子座什么性格| 三个代表是什么| 奇异果和猕猴桃有什么区别| 属蛇的是什么星座| 甲钴胺不能和什么药一起服用| 腰花是什么部位| 妇科检查清洁度3度什么意思| 当兵苦到什么程度| 雯字五行属什么| 爱钻牛角尖是什么意思| 抗hp治疗是什么意思| 厅级干部是什么级别| gucci中文叫什么牌子| 被银环蛇咬了有什么症状| 中老年人补钙吃什么牌子的钙片好| rds是什么意思| 掌眼什么意思| 湿疹什么东西不能吃| 今年夏天为什么这么热| 父亲b型血母亲o型血孩子什么血型| 今年贵庚是什么意思| 养肝护肝吃什么最好| 男人喜欢什么罩杯| 什么的长江| 黄芪最佳搭配是什么| 桃子又什么又什么| 肠炎吃什么药效果好| 24D是什么激素| ms什么意思| 利尿是什么意思| 肝郁气滞吃什么药好| 透明的什么填词语| 尿道口红肿是什么原因| 轻度肠上皮化生是什么意思| 在什么的前面用英语怎么说| 脑震荡吃什么药| 属鼠的是什么命| 很多屁放是什么原因| 肝火旺盛吃什么食物好| 突然恶心想吐是什么原因| s2是什么意思| 腰底部疼痛跟什么病有关| 痰多吃什么好化痰| 仓鼠可以吃什么水果| gcp是什么| 甲鱼和什么不能一起吃| 经期不能吃什么药| 梦见别人开车翻车是什么预兆| 深入交流是什么意思| 什么是腺体| 比中指是什么意思| 派大星是什么动物| 考试前吃什么早餐| 尖锐湿疣吃什么药| 上海曙光医院擅长什么| 填充鼻子最好的材料是什么| 脾囊肿是什么原因引起的| 嚣张是什么意思| 反吟是什么意思| 财政部部长什么级别| 8月29日是什么星座| 北京大学校长是什么级别| 分析是什么意思| 甲类传染病指什么| 什么书买不到| 75年属什么的生肖| 湿疹抹什么药膏| 为什么吃了避孕药还是怀孕了| 巽是什么意思| 1997年是什么命| 葡萄糖偏高有什么问题| 原位癌是什么意思| 羊的守护神是什么菩萨| 乙肝15阳性什么意思| 子宫痒是什么原因| hazzys是什么牌子| 布洛芬有什么副作用| 为什么喝中药会拉肚子| 为什么鱼和熊掌不可兼得| 憋屈是什么意思| 2010属什么| 什么是硬下疳| 清明节与什么生肖有关| 他不懂你的心假装冷静是什么歌| 脾胃不好吃什么药效果好| 可转债是什么| 锦纶是什么面料优缺点| plcc是什么意思| 什么是辛辣刺激性食物| 隐血阴性是什么意思| 胸部疼痛是什么原因| 人体左边肋骨下疼是什么原因| 土界读什么| 美妙绝伦是什么意思| 肾亏是什么意思| cp感什么意思| 补肺养肺吃什么食物最好| 尿微量白蛋白高吃什么药| 石榴石是什么材质| 筠字五行属什么| 夫人是什么生肖| 做小吃什么生意最赚钱| xy是什么意思| 什么是双数| 画面感是什么意思| 鸽子红鼻头喂什么药| 纪梵希属于什么档次| 晟这个字读什么| 梦见表姐是什么意思| 男人洁身自好什么意思| kangol是什么牌子| 中性粒细胞百分比偏低是什么意思| 股骨径是指胎儿什么| 备孕吃什么水果| 胰腺炎是什么引起的| 蚊子喜欢什么气味| 家里养什么动物吃蟑螂| 菠菜是什么意思| 屎是黑色的是什么原因| 72年属鼠是什么命| 3价铁离子是什么颜色| 一致是什么意思| 化妆水是干什么用的| 肾上腺素有什么用| 卤米松软膏主治什么| 合是什么生肖| 血虚是什么原因造成的| dtc是什么意思| 苹果熬水喝有什么功效| 缺氯有什么症状怎么补| 吴字五行属什么| 考护师需要什么条件| force是什么牌子| 晚上喝红酒有什么好处和坏处| 6.22什么星座| 死而什么什么| 炼乳是什么做的| 一花一世界下一句是什么| 政委是什么级别| 给老师送花送什么花合适| 电动轮椅什么牌子质量好| 被蜱虫咬了挂什么科| 奶酪是什么| 标准分是什么意思| 感冒不能吃什么水果| 戴尾戒是什么意思| 石蜡是什么| 延年益寿的益是什么意思| 小恙是什么意思| 辣椒为什么会辣| 推迟月经吃什么药| 百度
Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

The Lighter Side of Perl Culture (Part V): Poetry

by eyepopslikeamosquito (Archbishop)
on Apr 25, 2005 at 14:10 UTC ( [id://451207]=perlmeditation: print w/replies, xml ) Need Help??

28th March 1990: You are sitting at your workstation inside the most advanced aerospace agency on Earth. Concentrating, intensely concentrating, busy designing the most advanced postmodern programming language on Earth. But wait, what's that noise? A poetry reading? In the next cubicle? You must be joking! No ... clear as a bell, you hear:

I'd travel to the ends of time
For you, my one, my only love.
I'd force the sun to leave its track
(If you were lost) to fetch you back.
I'd suck the juices from a lime,
I'd re-write Moby Dick in rhyme,
I'd happily commit a crime,
For you my dearest darling dove.
I'd do it all, and more beside;
Now *would* you take the trash outside?

Startled, and startling your co-workers, you shout your defiant response through cupped hands over the cubicle wall:

I've taken the trash out innumerable times,
I've taken the trash out in inclement climes,
I've taken the trash out 'cuz that's what I do,
But I won't take the trash out when you tell me to.

Though I doubt it happened exactly like that, just three days after this historic rec.arts.poems sharon-larry-esque exchange, in what formed the most celebrated April Fools joke in Perl history, a bizarre request to create a new comp.lang.perl.poems newsgroup appeared, supposedly sent by Larry Wall and doubtless egged on from the next cubicle.

There is little doubt that the whole Perl poetry movement sparked from this single chance event. Had Larry and gifted poet Sharon Hopkins not been working together at JPL would Perl poetry exist today?

I know it's weird, but it does make it easier to write poetry in perl. :-)

-- Larry Wall "explains" why sort X is syntactically valid on comp.lang.perl 21 April 1990

But also barewords were added so that Sharon could write better poetry. Hence, it is also called "poetry mode" in some of my earlier writings.

-- oldbie merlyn answers a packrats mailing list question

The quotes above reaffirm Perl as the premier computer language for writing poetry -- and indeed perhaps the only computer language in history where the ability to compose poems actually affected its design.

This, the fifth episode of the long running series on the lighter side of Perl culture, focuses on Perl Poetry 🦪📜🪶

Why is Perl a Good Language for Writing Poetry?

Look at the use of parentheses in Lisp or the use of white space as syntax in Python. Or the mandatory use of objects in many languages, including Java. All of these are ways of taking freedom away from the end user 'for their own good'. They're just versions of Orwell's Newspeak, in which it's impossible to think bad thoughts.

-- Larry Wall in Larry Wall, the Guru of Perl (linuxjournal article)

Some language designers hope to enforce style through various typographical means such as forcing (more or less) one statement per line. This is all very well for poetry, but I don't think I want to force everyone to write poetry in Perl.

-- Larry Wall in Natural Language Principles in Perl

No, really, I don't want an identification division. The problem with identification division is it really puts a crimp in Perl's poetry, or in Cobalt poetry. How many poems can you start off identification division? One.

-- Larry Wall in State of the Onion 2000

The Perl programming language has proved to be well suited to the creation of poetry that not only has meaning in itself, but can also be successfully executed by a computer.

-- Sharon Hopkins in Camels and Needles

The key point from the quotes above is that, in the spirit of freedom and TMTOWTDI, Perl allows you to write poetry without forcing you to do so.

Perhaps the primary reason why Perl is so well suited to writing poetry is simply that it was designed, not by a computer scientist like most computer languages, but by a linguist. Curiously, Larry attended linguistics graduate school at U.C.Berkeley at around the same time as Bill Joy and his BSD cohorts attended computer science graduate school there. As far as I'm aware, they did not write any poems together while at Berkeley.

Perl's poetry support was further strengthened by the chance circumstance of an enthusiastic and innovative poet, namely the reigning Perl poetry pump-queen Sharon Hopkins, sitting right next to Larry at JPL during Perl's formative years. Newsgroup messages suggest that Larry moved from JPL to netlabs in July 1991, and that Sharon followed him there about one year later.

What Makes a Good Perl Poem?

There is little difference between a good conventional poem and a good Perl one; it's just that the Perl poem must satisfy an additional constraint of compiling (and optionally running) without error.

As you might expect, it is much harder to write a Perl poem that actually runs without error. So much so that most Perl poets satisfy themselves with poems that merely pass perl -c.

For more details on this subject, including examples that poetically produce text output when run, thus extending the theme developed within the poem's source code, see Sharon Hopkins' definitive work: Camels and Needles.

History

In 1962, the French Oulipo movement proposed the idea of poetry written in programming languages. As described here, however, it took ten years before anyone actually did it, the first poems being penned by Le Lionnais and Noel Arnaud in the Algol programming language in the early 1970s.

Though history.perl.org credits Larry Wall with writing the first Perl poem in March 1990:

print STDOUT q Just another Perl Hacker, unless $spring
Sharon Hopkins and merlyn should perhaps share the glory (or blame, depending on your point of view :-) -- merlyn for inventing the JAPH, Sharon for suggesting that Larry write a JAPH in the form of a haiku. Notice that, when read aloud with canonical Perl poetic pronunciation, namely:
print standard out queue Just another Perl Hacker, unless dollar spring
this poem does indeed qualify as a haiku (5-7-5 syllables). Notice too that this Perl 3 code no longer runs with modern perls.

Sharon Hopkins hosted the first First Perl Poetry Contest in August 1991. This contest was won by Dr. Craig Allen Counterman, Ph.D, with a rollicking rhyme, "Time to Party". Alas, the contest could hardly be called a success because this was the only entry received and, by the author's own admission, was less inspired than his more scholarly earlier work "Ode to my Thesis". Both of Craig's poems can be found in Camels and Needles.

Numerous Perl poetry contests have been run since then by Kevin Meltzer of The Perl Journal, by TPC, and by ActiveState. There was even one run here at Perl Monks: Aaah, spring (A Very Special Perlmonks Contest). See the References section below for links.

Around 1999, there was an explosion of interest in haiku, sparked by TheDamian's delightful Coy module.

Haiku and Coy

A haiku is a
short poem that's 17
syllables in length.
...
The 5-7-5
art form is widely practiced
on the Internet.
...
Damian Conway
is stuck inside a haiku
and he can't get out!

-- From Damian Conway's 1999 TPJ Coy article (180 verses omitted!)

Damian Conway's prize-winning Coy module caused a sensation when it debuted in 1999. Essentially a drop-in replacement for Carp, the module itself is quite sophisticated, featuring an extensible data-driven poem generator. The entire Coy module documentation is written in haiku; here is the module description:

Error messages strewn across my terminal. A vein starts to throb. Their reproof adds the injury of insult to the shame of failure. When a program dies what you need is a moment of serenity. The Coy.pm module brings tranquillity to your debugging. The module alters the behaviour of die and warn (and croak and carp). It also provides transcend and enlighten -- two Zen alternatives. Like Carp.pm, Coy reports errors from the caller's point-of-view. But it prefaces the bad news of failure with a soothing haiku.

As if that were not enough, TheDamian went on to write a complete TPJ article in 183 haiku verses!

At TPC 4 in 2000, the Haiku Contest was won by chipmunk with his summer.pl (that is both a sum-er and a season):

sub summer { my $sum; $sum += $_ for @_; $sum } print summer (split);

Some Classic Poems

These come with the usual caveat that there are many Perl poems I've never seen, so if you know of a good one, please let us know!

References

References Added Later

Other Articles in This Series

See Also

Replies are listed 'Best First'.
Re: The Lighter Side of Perl Culture (Part V)
by Roy Johnson (Monsignor) on Apr 25, 2005 at 15:59 UTC
    I really thought you were going to say that the "take the trash out" exchange is how automatic garbage collection made its way into Perl.

    Caution: Contents may have been coded under pressure.
Re: The Lighter Side of Perl Culture (Part V)
by japhy (Canon) on Apr 25, 2005 at 17:27 UTC
    Is $_ pronounced "it" and @_ pronounced "them" in Perl haiku?

    Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
    How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart
Re: The Lighter Side of Perl Culture (Part V)
by Tanktalus (Canon) on Apr 25, 2005 at 21:24 UTC

    Did anyone else look at this quote from Larry:

    Look at the use of parentheses in Lisp or the use of white space as syntax in Python. Or the mandatory use of objects in many languages, including Java. All of these are ways of taking freedom away from the end user 'for their own good'. They're just versions of Orwell's Newspeak, in which it's impossible to think bad thoughts.
    and think, "Isn't whitespace part of syntax in perl 6?"

      Not in the same way as Python. It's natural enough for whitespace to be required between certain tokens, or even all tokens. The requirements of presence or absence of whitespace isn't what Larry was addressing.

      A space or tab in Python isn't just separating active tokens, it is an active token. Python actually uses the amount of whitespace between visible tokens to change the order of execution.



      Christopher E. Stith
      Worse! Perl6 also has parentheses!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://451207]
Approved by herveus
Front-paged by Fletch
help
Chatterbox?
and all is quiet...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (3)
As of 2025-08-06 06:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.


    什么的威尼斯 用什么 女生吃避孕药有什么副作用 妇科支原体感染吃什么药 璎珞是什么意思
    王源粉丝叫什么 晨咳是什么原因引起的 阿西吧是什么意思 维生素b6吃多了有什么副作用 主动脉硬化什么意思
    泥鳅什么人不能吃 什么是本命年 1998年五行属什么 促甲状腺高会导致什么 自身免疫性胃炎是什么意思
    身心疲惫是什么意思 面肌痉挛是什么原因引起的 保姆是什么意思 rip是什么意思 分别心是什么意思
    总蛋白偏低是什么原因hcv9jop5ns1r.cn 壁虎长什么样xinmaowt.com 手脚出汗是什么原因hcv8jop7ns3r.cn 12月出生是什么星座hcv8jop6ns1r.cn 什么园hcv8jop4ns5r.cn
    瓜田李下什么意思hcv8jop1ns2r.cn 三合局是什么意思hcv9jop0ns1r.cn 白羊女和什么星座最配hcv8jop6ns0r.cn 布洛芬吃多了有什么后果hcv8jop1ns0r.cn 什么血型招蚊子咬hcv8jop7ns3r.cn
    画是什么生肖chuanglingweilai.com remax是什么牌子fenrenren.com 猫咪吐黄水有泡沫没有精神吃什么药hcv8jop9ns5r.cn 人中上窄下宽代表什么hcv9jop5ns9r.cn 什么东西辟邪hcv7jop6ns5r.cn
    碳14和碳13有什么区别wuhaiwuya.com 夏天吃姜有什么好处zhongyiyatai.com 高血压早餐吃什么好hcv9jop0ns8r.cn 七月八号是什么日子hcv8jop0ns3r.cn 勾魂是什么意思hcv7jop6ns0r.cn
    百度