From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 107f24,626a0a064b320310 X-Google-Attributes: gid107f24,public X-Google-Thread: f4fd2,626a0a064b320310 X-Google-Attributes: gidf4fd2,public X-Google-Thread: 114809,626a0a064b320310 X-Google-Attributes: gid114809,public X-Google-Thread: 1164ba,626a0a064b320310 X-Google-Attributes: gid1164ba,public X-Google-Thread: 103376,ea8ea502d35ca2ce X-Google-Attributes: gid103376,public X-Google-Thread: 103d24,626a0a064b320310 X-Google-Attributes: gid103d24,public X-Google-Thread: 10259a,626a0a064b320310 X-Google-Attributes: gid10259a,public X-Google-ArrivalTime: 2001-05-28 12:41:49 PST From: Lex Spoon Newsgroups: comp.lang.ada,comp.lang.lisp,comp.lang.smalltalk,comp.lang.basic,comp.lang.functional,comp.lang.scheme,comp.lang.perl Subject: poetry in PL's? (was: Beginner's Language?) Date: 28 May 2001 15:39:23 -0400 Organization: Georgia Institute of Technology, Atlanta GA, USA Message-ID: References: <9cukad$nn68@news-dxb> <9d6b6e$1bt$1@nh.pace.co.uk> <87snihxiwc.fsf@frown.here> <9dbi83$sji$1@nh.pace.co.uk> <87heyu7cqd.fsf@frown.here> <9dc20p$hh15e$1@ID-37382.news.dfncis.de> <3AFA91BE.BB9E4C8F@brighton.ac.uk> <3B0A74D9.2A811C9D@brighton.ac.uk> <3B119900.596E3779@ix.netcom.com> NNTP-Posting-Host: lex@r50h168.res.gatech.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: news-int.gatech.edu 991078786 29333 128.61.50.168 (28 May 2001 19:39:46 GMT) X-Complaints-To: usenet@news.gatech.edu NNTP-Posting-Date: 28 May 2001 19:39:46 GMT User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 Path: archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.gv.tsc.tdk.com!falcon.america.net!sunqbc.risq.qc.ca!newsfeed.cwix.com!andromeda.5sc.net!finch!cc.gatech.edu!GT-News!not-for-mail Xref: archiver1.google.com comp.lang.ada:7832 comp.lang.lisp:10840 comp.lang.smalltalk:10275 comp.lang.functional:5893 comp.lang.scheme:4042 comp.lang.perl:3028 Date: 2001-05-28T19:39:46+00:00 List-Id: Lao Xiao Hai writes: > John English wrote: > > > ....Go on then, write me a poem in Lisp (or Cobol, or Ada, or Java)... :-) > > > > "I think that I will never see > > A poem lovely as a... doubly-linked list? ISAM file? etc..." > > Poetry, by its very nature, relies heavily on ambiguity. This is discussed > quite comprehensively in William Empsom's great book, "Seven Types > of Ambiguity," in which he lays out the models of ambiguity reflected > in various styles of poetry. Poetry also makes it statement with > simile and metaphor. Although we use metaphor often when discussing > programming, we avoid it when actually writing programs. > Ah, some specific challenges! That makes it easier. Here goes. First, you *can* have ambiguity: madeline draw execute. joe gush. madeline tear. Is Joe spurting blood or enthusiastically praising a drawing? etc. Second, I don't see why a poem *has* to have any of these particular elements. Here's a cruddy poem with neither metaphor nor ambiguity. It does have rhythm and visual layout, however. #(money money money money) with: #(house car fame love) do: [ :stuff :it | self buy: it with: stuff ]. This line is never reached. Finally, you really can have metaphors in programs. The difference is that, assuming you actually *implement* the metaphor (which I'm not going to), you end up specifying certain parts of the metaphor very precisely. At any rate, this is especially possible if you don't have to deal with type declarations. Here goes: stateA7 := State new. stateA7 on: #cry goTo: stateA7. stateA7 on: #laugh goTo: stateA7. stateA7 on: #sigh goTo: stateA7. myLoveForYou := StateMachine withStates: {stateA7}. [ myLoveForYou numStates = 1 ] assert. (in crude English: "my love for you is a state machine with one state.") Okay, I'm no poet, and everyone is probably wiping the vomit off of their keyboards now. :) Doesn't it seem clear now that computer languages allow poetry? Lex