Comment by mightyham

Comment by mightyham a day ago

28 replies

Ironically, this author gets the relationship between lisp and writing totally wrong. Lisp may be much more artistic, but programming in Java, for instance, is much more akin to writing than programming in lisp is. Written languages have well established vocabulary and grammar, that cannot be changed or redefined by the writer. The author is completely correct that lisp is more of a "programming medium" than a "programming language", since the language itself can be molded and changed by the programmer in very self-expressive ways. However, he doesn't follow through with this observation to the obvious conclusion that this feature of lisp, as a medium, makes it fundamentally different from human language.

jbmilgrom a day ago

I don’t think that’s the right take. Poetry manipulates common grammatical rules and still communicates meaning from the writer to the reader, perhaps in an even deeper way because of that manipulation. Of course in Java and many other programming languages, grammatical errors will simply not compile. LISP is one of those few languages where grammar can change from program to program, much like with poetry

  • mightyham a day ago

    Even though there is much more freedom in poetry, it is still defined by a specific set of rules/features: verses, rhythm, stanzas, spacing, meter, and rhyming. It's only because of these restrictions that it is so obvious when writing is or isn't poetry. These features and forms can streched, but unlike lisp they cannot be completely redefined.

    • KineticLensman a day ago

      > It's only because of these restrictions that it is so obvious when writing is or isn't poetry. These features and forms can streched, but unlike lisp they cannot be completely redefined.

      I disagree here. To take rhyming as an example. It's possible to have a poem where every line rhymes AND a poem where there is no rhyme at all. It's not as simple as saying 'okay the lines in this text don't rhyme so it can't be a poem'. The same is true of the things like spacing and meter. These are all massively variable, and the result doesn't even have to be bound by the usual rules of grammar. English - or any other natural language - is much more variable than Lisp.

      For me the defining feature of poetry is that the form and nature of the language used in a text may suggest meaning over and above what the individual words say. This definition is subjective, and suggests that the poetry is in the eye of the beholder, but is more honest than a simplistic checklist of features to look out for.

      • mightyham 15 hours ago

        I didn't say poetry has to have all of those things, but it has to contain some of them or it simply isn't poetry. I would challenge you to find me one good example of poetry that has none of the features I listed.

        This whole poetry topic is really besides the point anyways.

        > English - or any other natural language - is much more variable than Lisp.

        I don't feel like you are actually addressing what I'm saying, so let me reiterate it more clearly. I'm not making any assetions about the absolute creative power of lisp or writing. It is the author of the article who points out that lisp's distinguishing feature, compared to other programming languages, is it's ability to specialize and mutate its own verbiage/syntax to better fit certain problems or modes of thinking. I am simply pointing out the irony that this charactistic of lisp also distinguishes it significantly from natural language, even though the author is attempting to argue that programming lisp and writing literature are similar.

    • KerrAvon a day ago

      You’ve got to read more poetry before making assertions like this. In practice, the definition is more fluid than that.

      Lisp cannot be completely redefined. You can’t avoid parentheses, and if you stray too far from common idiom, you’re no longer writing Lisp, you’re writing something else using Lisp syntactic forms.

      • jasonm23 8 hours ago

        100% agree, the comments reveal a confidently incorrect opinion based on limited and cursory understanding of poetry, and literature at large.

      • User23 4 hours ago

        > You can’t avoid parentheses

        Well, you can with reader macros, assuming you’re willing to consider an init file that you only look at when you write sufficiently avoidant.

        It’s not done though, because experience has shown it’s not really worth it.

cardanome 16 hours ago

Written languages are not static. You can absolute introduce your own vocabulary and grammar. Yes, you might become harder to understand for someone unfamiliar with it but so can get a Lisp program when macros are over used. It is an art after all.

This is especially insane when talking about English. What English? American English? What group? African-American English that introduces whole new grammatical concepts? Indian English? Even two people grown an raised in London can have wildly different ways of speaking depending on their class backgrounds and many other factors. There isn't one English.

And it is ever evolving. Shakespeare English is vastly different than 21st century English. In fact Shakespeare himself invented roughly 1.7k words that we still use today.

  • jasonm23 8 hours ago

    I wonder if they've heard of Burroughs, or even Irvine Welsh.

  • mightyham 15 hours ago

    Not sure what you are arguing with in my comment because I never said that languages are static; obviously they change. But to pretend that language, as practiced today, is not well defined is absurd. Every part of English grammar and syntax has been methodically systemized, and this information is widely taught in public education programs. Some common set of definitions/rules (may vary by people or region) is conformed to by speakers of the language.

    • lproven an hour ago

      > Every part of English grammar and syntax has been methodically systemized

      No, it hasn't. None of it has, ever.

      So far, you have been wrong about writing, about human language (specifically, English), about programming languages (specifically, Lisp and Java), about poetry, and about the rules of English and how they're set.

      I am intrigued. Is this performance art? What next?

    • cardanome 15 hours ago

      Oh, the police is gonna show up if I verb something that isn't a verb? People only ever use grammatical constructs and vocabulary that they have learned in school?

      It is super common for authors to introduce new words or bend the grammar. Again, bloodydamn Shakespeare invented so many new words! Oh, and bloodydamn is such an invented word from a very contemporary and popular book series called the Red Rising series. You don't even need to be high brow to invent new words and get away with it.

      I urge you to explore more literature and poetry. There is more to English than what they teach you at school.

      • mightyham 15 hours ago

        > Oh, the police is gonna show up if I verb something that isn't a verb? People only ever use grammatical constructs and vocabulary that they have learned in school?

        That's not at all what I said in my comment and I'm not at all refuting your point that languages change and can vary depending on who is using it.

monkeyelite a day ago

In writing you are free to adopt any structure and style and make new ones.

  • layer8 a day ago

    In Lisp you are more inventing your own vocabulary and grammar.

    • monkeyelite a day ago

      And there are still rules. This is a dumb argument about the degree to which an analogy holds.

quantadev a day ago

English Language is the best general purpose conveyance of arbitrary ideas, and it has syntax rules just like programming languages. It's "best" by the metric of being "easiest for humans to understand". That's what I mean by best, in this case.

I think one can argue that LISP is the "best" computer programming language based on a set of metrics that revolve around simplicity and composability. There's no simpler language. There simply cannot be, because there's nothing "extra" in LISP. It's the most compact (while still being human readable) way to define and/or call functions.

You can also argue that LISP is closer to English than any other programming language, because in English we use parenthesis's and lists to enumerate things related to what has been said. For example "(add, 1, 2)" is axiomatically the best way to express adding two numbers, in a way that scales to arbitrary numbers of operations. It's superior to "(1+2)" because the plus sign is a single character (cannot scale), and therefore there are a limited number of them, and using symbols means humans have to memorize them rather than simply reading their name. But "add" is a name one can read. Also "add one and two" is a valid English sentence, so all LISP programs are similarly valid English language expressions, where the parenthesis is merely used for grouping language "clauses".

If the world were ever to be forced to agree on one single high level programming language, it would necessarily need to be LISP for about 10 other huge reasons I could name: Everything from ease of writing parsers, to compression of code, simplicity, ease for learning, even as a young child, etc.

  • mightyham 6 hours ago

    > English Language is the best general purpose conveyance of arbitrary ideas, and it has syntax rules just like programming languages. It's "best" by the metric of being "easiest for humans to understand". That's what I mean by best, in this case.

    This is the point I take issue with. I agree with you that lisp is the simplest and "best" programming language. Unlike lisp, there is no clear "best" natural language that is more simple and composable than all other natural languages (I know that's not what your claiming, just pointing that out). The dimension of your "best metric" for language is pretty bizarre though; all you are saying is that spoken/written language, in general, is better than grunts and pointing. If you actually compare the space of natural language and the space of programming languages, which is much more interesting imo, I think you would have to agree that non-lisp programming languages are more similar to natural language because their development was more practical and unprincipled than lisp.

    • quantadev 2 hours ago

      The reason I say LISP is close to English is because it's syntax is purely a verb followed by objects, and there's [practically] no other symbols in the language other than parenthesis.

      Since the word "best" always gets everyone's dander up on HN, I was very careful to point out we have to define our metrics (of comparison) before we can use that word, and that's precisely what I did.

  • cardanome 16 hours ago

    > There's no simpler language. There simply cannot be, because there's nothing "extra" in LISP. It's the most compact (while still being human readable) way to define and/or call functions.

    I guess you have not gotten into stack or array programming languages yet?

    Forth is insanely compact and then there is APL which is a complete other ballpark.

    Or check out Rebol for a homoiconic language in a very different syntax.

    Lisp is amazing but oh boy there is whole other world out there. It is just one possible local optima. One that I personally love but not the only one.

    • quantadev 13 hours ago

      I wouldn't exactly call APL simpler than LISP. Just because there are some things in APL that _can_ be coded with less characters doesn't make it overall simpler or even more compact in the general case. It's just axiomatic that for a language you need the ability to define and call functions, and it's just a debate about whether there's a simpler syntax than LISP or not, and I say there isn't.

  • Jtsummers a day ago

    > English Language is the best general purpose conveyance of arbitrary ideas, and it has syntax rules just like programming languages. It's "best" by the metric of being "easiest for humans to understand". That's what I mean by best, in this case.

    Given that most people alive today don't understand English at all, I don't think this claim holds up very well.

    > For example "(add, 1, 2)" is axiomatically the best way to express adding two numbers, in a way that scales to arbitrary numbers of operations. It's superior to "(1+2)" because the plus sign is a single character (cannot scale), and therefore there are a limited number of them, and using symbols means humans have to memorize them rather than simply reading their name.

    I'd be willing to wager that "1+2" is understood by far more people across the globe than "(add, 1, 2)".

    • quantadev a day ago

      * I use "English Language" as a synonym for "Human Language". However even if you want to be pedantic and interpret all my words in the literal sense, everything I said is still literally true.

      * I never said LISP format was widely understood.

      • Jtsummers a day ago

        > I use "English Language" as a synonym for "Human Language".

        That was unclear given you kept calling out English, and not natural or human language more broadly in the rest of your comment. But I'll go with it.

        > all my words in the literal sense, everything I said is still literally true.

        No, they aren't. You need to make a stronger case than "Because I declared it axiomatically true".

        + has become part of nearly every language already, what's the value of picking one word (add) from one language (English) to replace it? Or to be more generous to say that every language should substitute for + whatever their language's word is. Now they can't communicate without a translator. Or, they could just use + as has been done for centuries. Why make things harder on ourselves?