The original ABC language, Python's predecessor (1991)

github.com

73 points by tony 6 hours ago


dvdkon - 5 hours ago

Nice find. This looks like the best introduction to the language in the repo: https://raw.githubusercontent.com/gvanrossum/abc-unix/refs/h...

layer8 - an hour ago

The use of “HOW TO” for defining subroutines is kinda neat. Though “HOW TO RETURN” for functions doesn’t quite hit the mark. “HOW TO OBTAIN” or “HOW TO SUPPLY” would work with the same number of characters.

zahlman - 5 hours ago

Extremely cool. Thanks, GvR.

For my own language design I've wanted to introduce some of this ABC syntax back into Python. Mainly for unpacking data and doing index/slice assignments; a lot of beginners seem to get tripped up because assignments in Python use the same syntax as mutations, so maybe it's better to write e.g. `a['b'] = c` like `set b = c in a`, or `update a with {'b': c}`, or ... who knows, exactly.

ahartmetz - 5 hours ago

Interesting, seems like Python is a strict improvement over ABC though many things are very similar. The PUT ... IN ... and INSERT ... IN ... syntax looks quite clunky and un-composable, at least the examples never do more than one (high-level) operation per line. Also, I guess GvR's English wasn't that good at the time - it should be have been INTO, right?

dec0dedab0de - 5 hours ago

The year says 91, but it looks like it was recently pushed to github, which is a notable event on its own.

perrohunter - 5 hours ago

Where is the GIL in this?