On Aug 29, 2019, at 16:32, Guido van Rossum <gu...@python.org> wrote:
> 
> Surely the meaning of `?` in a programming language also has to be learned. 
> And not every language uses it to mean "optional" (IIRC there's a language 
> where it means "boolean" -- maybe Scheme?)

Sure, ? does mean lots of different things that have nothing to do with 
Optional. The C ?: operator is probably the most famous.

But as an operator on types, I can’t think of any uses other than Optional.

But, just for fun:

 * ?: from C
 * null-coalescing, as in C#
 * Optional-chaining, as in Swift
 * throwing, as in Rust
 *’ordinary identifier character, usually idiomatically predicate functions end 
in ?, as in Scheme
 * ordinary operator (as opposed to identifier) character, used for a wide 
variety of completely unrelated monad things you don’t want to know about, as 
in Haskell
 * special 1-char identifier that’s idiomatically sort of like _ from 
C/gettext, as in Smalltalk
 * expand as macro, as in… Erlang?
 * print, as in Basic
 * random, as in APL
 * whatever the hell Ruby is doing that gives me "P" in one interpreter and 80 
in another when I type ?P.

Ruby _also_ has ? as an id-cont character, with the Schemeish convention, and 
the ?: operator, and in some other contexts it’s a syntax error but in some it 
does… whatever that string-or-ord thing is.

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/JCMN56E2BP4G6FL4KAOFIPQ66AZB5RDG/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to