Hacker News new | past | comments | ask | show | jobs | submit login

> English as a communication tool looses very little expressive power when users do not use sub-clauses.

Very little for that subset you wish to communicate, maybe.

In some literary traditions, not only are clauses nested within clauses at the sentence level, but whole narratives are nested within others.

(hmm, are there any in-the-wild examples of recursive tmesis? if so, that'd be just fan-far-fucking-out-tastic)




Clauses within clauses are not "recursive", no more than "let x = 1 in (let y = 2 in (let z = 3 in x + y + z)" represents recursion in some hypothetical programming language.

Programming languages and human languages existed before people felt the need to define them using formal grammars. Yes most formal grammars use recursion but that's a property of the system you are trying to use to describe (meta) the structure of the object language - not part of the object language itself.

Try to use Haskell without recursion, it's effectively useless. But using an Algol derived language (Java, C, C++, etc.) without recursion is fine and hardly restricts the power of the language at all. Try to use English (or any other indo-European language - I've no knowledge of others) without sub-clauses and it remains a very powerful and useful communication tool.


Agreed: if you're willing to be as limited with composing in english as you would be with programming in C, lack of recursion is not an issue.

(there's a bit of a parallel, in that XVII english writers, not having readers as pressed for time as our current variant, make far more use of nested sub-clauses than we tend to; similarly, CPL, not having been as pressed for space as either BCPL or C, made far more use of nested sub-expressions than its successor languages)


You are saying that text on a (finite) page is not recursive (because recursion is a computation, not the output of that computation). But we are interested in the computations that the language faculty performs not the output.


> Clauses within clauses are not "recursive", no more than "let x = 1 in (let y = 2 in (let z = 3 in x + y + z)" represents recursion in some hypothetical programming language.

But that is an example of a recursive context free grammar. The parser needs to use a stack or be defined recursively to parse things like that.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: