Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!bawden.eternal-september.org!.POSTED!not-for-mail From: Alan Bawden Newsgroups: comp.lang.lisp Subject: Re: Lisp history: IF, etc. Date: Wed, 03 Apr 2024 17:54:51 -0400 Organization: ITS Preservation Society Lines: 32 Message-ID: <868r1up0wk.fsf@williamsburg.bawden.org> References: <20240329084454.0000090f@gmail.com> <20240329101248.556@kylheku.com> <20240329104716.777@kylheku.com> <20240330112105.553@kylheku.com> <87r0fp8lab.fsf@tudado.org> <87wmpg7gpg.fsf@tudado.org> <20240402084057.881@kylheku.com> <86h6gjpq3i.fsf_-_@williamsburg.bawden.org> <86cyr6pb2l.fsf@williamsburg.bawden.org> <875xwy412p.fsf@nightsong.com> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Wed, 03 Apr 2024 21:54:55 +0200 (CEST) Injection-Info: bawden.eternal-september.org; posting-host="405a719eff2d4e98771eb6c14c7c6282"; logging-data="195927"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Z9ctlpgO8bKu3zvWwhFY9" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) Cancel-Lock: sha1:oYfTDtBM8K1RgEx0CU9hMdquHUo= sha1:rTDVOj6isqpAnoj7f+TI6oC6m2A= Bytes: 3040 Paul Rubin writes: Alan Bawden writes: > McCarthy invented the conditional expression and thus created the > first expression-only programming language. I think Church's lambda calculus also had this. https://en.wikipedia.org/wiki/Church_encoding#Church_Booleans Yeah, I though about that while I was composing my previous message, but my life is finite, so I didn't go there. But this is Usenet, so we are forced to explore every side issue until we all drop dead of exhaustion. So does Lambda Calculus qualify as a programming language? Well _today_ we would all say yes, because we have examples of purely functional programming languages where evaluation is lazy and so we don't need a special operator for conditional evaluation. But when McCarthy was inventing Lisp, nobody thought that pure Lambda Calculus was anything like a programming language. It's only since then that we've done the work to make that practical. So I _could_ argue that in 1958 Lambda Calculus was _not_ a programming language, but today in 2024 Lambda Calculus _is_ a programming language, even though Lambda Calculus didn't change in any way! But given the way being a "programming language" was understood in 1958, nobody was going to invent an expression-only programming language until they first invented the conditional expression. So thank you John McCarthy. - Alan