Editing Talk:312: With Apologies to Robert Frost

Jump to: navigation, search
Ambox notice.png Please sign your posts with ~~~~

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 3: Line 3:
 
A few clarifications.
 
A few clarifications.
 
# The description is flawed somewhat, in that Lisp (which adherents humorously "insist" means "Lots of Insidiously Silly Parens") is in fact very strict about matching parens.  The problem is that parens are ubiquitous; every nontrivial expression starts with an opening paren, and ends with a close paren.  This differs from Perl, which, depending on how it's written, may end with a semicolon, closing curly brace, or sometimes even another character.
 
# The description is flawed somewhat, in that Lisp (which adherents humorously "insist" means "Lots of Insidiously Silly Parens") is in fact very strict about matching parens.  The problem is that parens are ubiquitous; every nontrivial expression starts with an opening paren, and ends with a close paren.  This differs from Perl, which, depending on how it's written, may end with a semicolon, closing curly brace, or sometimes even another character.
# The comparison between Perl and Lisp is a little off the mark, too.  Lisp is a very simple language (structurally; I shan't vouch for conceptually) which has the "elegant" characteristic that programs and data are essentially the same thing: lists of sub-expressions.  It is quite easy for a Lisp program to build a data structure which is itself a runnable program.  This "feature" is frequently exploited in artificial intelligence circles.  Perl, on the other hand, is a haphazard accretion of syntactic oddities so complex that the grammar cannot be modeled using standard compiler tools.  On the other hand, it can, with an economy of syntax, perform some very powerful operations, and has a vast library of utility functions that make very complex operations "easy" to do.
+
# The comparison between Perl and Lisp is a little off the mark, too.  Lisp is a very simple language (structurally; I shan't vouch for conceptually) which has the "elegant" characteristic that programs and data are essentially the same thing: lists of sub-expressions.  It is quite easy for a Lisp program to build a data structure which is itself a runnable program.  This "feature" is frequently exploited in artificial intelligence circles.  Perl, on the other hand, is a haphazard accretion of syntactic oddities so complex that the grammmar cannot be modeled using standard compiler tools.  On the other hand, it can, with an economy of syntax, perform some very powerful operations, and has a vast library of utility functions that make very complex operations "easy" to do.
  
 
Now, putting on the Opinion hat, my take is that the suggestion that the universe is written in Perl refers to the "messiness" of physics, chaos theory, and the like, somehow being attributed to the quirks surfaced by the implementation; if it were to be done again the comparative "elegance" of Lisp would, one is led to believe, result in a universe that at some fundamental level was simpler and more consistent, with predictable beginning and end.
 
Now, putting on the Opinion hat, my take is that the suggestion that the universe is written in Perl refers to the "messiness" of physics, chaos theory, and the like, somehow being attributed to the quirks surfaced by the implementation; if it were to be done again the comparative "elegance" of Lisp would, one is led to believe, result in a universe that at some fundamental level was simpler and more consistent, with predictable beginning and end.
Line 10: Line 10:
  
 
:To what degree is the rigidity of matching parentheses a feature of Lisp and not a feature of specific implementations of it? I remember one of my professors telling me that they used to just throw a bunch of parentheses at the end of the program. I know in at least one implementation, there is at least a variable that, when true, causes the interpreter to ignore extra right parentheses. As for Perl, if you wish to add more information to the explanation about it, then I'd say go ahead. However, at present there's not really any comparison between the two languages at all in the text. I didn't feel that it was especially necessary to understand the details of Perl to get the comic, so I didn't describe it beyond calling it a popular computer programming language. [[User:Erenan|Erenan]] ([[User talk:Erenan|talk]]) 12:03, 1 August 2012 (EDT)
 
:To what degree is the rigidity of matching parentheses a feature of Lisp and not a feature of specific implementations of it? I remember one of my professors telling me that they used to just throw a bunch of parentheses at the end of the program. I know in at least one implementation, there is at least a variable that, when true, causes the interpreter to ignore extra right parentheses. As for Perl, if you wish to add more information to the explanation about it, then I'd say go ahead. However, at present there's not really any comparison between the two languages at all in the text. I didn't feel that it was especially necessary to understand the details of Perl to get the comic, so I didn't describe it beyond calling it a popular computer programming language. [[User:Erenan|Erenan]] ([[User talk:Erenan|talk]]) 12:03, 1 August 2012 (EDT)
 
::Almost all implementations of Lisp require exact parenthesis matching.  The Common Lisp spec requires the reader to issue an error if there's an unmatched right paren.  The Scheme spec is less demanding about making the implementation report such errors, but a standards-conforming program still needs matched parens.  There are a few exceptions, though.  Several Schemes let you use "()", "[]", or "{}" as delimiters.  But other than your note about Lispwork's *ignore-extra-right-parens*, I only know of one that deliberately lets you have mismatched parens: Interlisp lets you use "]" to match all the pending open parentheses, up to the most recent "[".  So, for instance, you could write "(let [(there (be light])", and the "]" would act like "))".  (Genera may have adopted this too; I don't remember offhand.)  This didn't seem to take off, though (I suspect comic #859 is relevant).  Most Lispers I know just use slime-repl-closing-return (C-RET in the REPL) or slime-close-all-parens-in-sexp (C-c C-] in a Lisp buffer).  [[User:Piquan|Piquan]] ([[User talk:Piquan|talk]]) 02:45, 11 February 2018 (UTC)
 
 
Lisp rhymes with myth and with, but only if you have a lithp. Think he did that on purpose?
 
[[Special:Contributions/108.162.238.157|108.162.238.157]] 14:18, 6 December 2014 (UTC)
 
 
I'd just like to point out that I was randomly sent to a few before this comic after first reading #859 ( ( ) thus leaving me oddly satisfied... [[Special:Contributions/108.162.216.147|108.162.216.147]] 08:04, 22 July 2015 (UTC)
 
 
I feel like writing a comment here, but my computer can only handl- '''SEGMENTATION FAULT'''
 
{{unsigned ip|108.162.216.224|17:59, 29 November 2019}}
 
:ok ip 108.162.238.147, thx for giving us another segfault --an user who has no account yet {{unsigned ip|172.64.236.103|15:09, 2 September 2023}}
 
 
I don't think the poem is written on anything like a jagged piece of paper. I think the white area is a kind of a window, and the poem exists in the space behind the universe. [[User:Jkshapiro|Jkshapiro]] ([[User talk:Jkshapiro|talk]]) 02:26, 10 October 2023 (UTC)
 

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)

Template used on this page: