[HN Gopher] Common Lisp names all sixteen binary logic gates
___________________________________________________________________
Common Lisp names all sixteen binary logic gates
Author : optimalsolver
Score : 43 points
Date : 2022-09-11 19:03 UTC (3 hours ago)
(HTM) web link (www.cs.cmu.edu)
(TXT) w3m dump (www.cs.cmu.edu)
| [deleted]
| tromp wrote:
| The only thing that stood out to me is that bitwise or is called
| logior, short for logical _inclusive_ or. As if programmers are
| not familiar with dozens of other programming languages using
| plain or...
| samatman wrote:
| In other words, what C does with absolutely monstrous glyphs,
| CL does with consistently-named functions. It has logior,
| lognor, and logxor.
|
| I briefly read that five minutes ago and will probably remember
| it next week.
| saghm wrote:
| To be fair, I've often found that outside of programming
| contexts, people generally use/interpret "or" to mean xor, and
| otherwise will use more specific language (e.g. "and/or", "X,
| Y, or both"). It depends on context of course, but I think a
| big part of it is that it's somewhat common for the options
| presented to be literally impossible to both hold true (e.g. "I
| think either team A or B will win the Superbowl this year") or
| at least can reasonably assumed to be ("Have you decided what
| to order?" "I think I'm going to get either the steak or the
| salmon"). I don't think it's crazy to be willing to experiment
| with thinking outside the box when it comes to naming things
| given how hard we always talk about coming up with good names
| is.
| zetalyrae wrote:
| Explicit is, as they say, better than implicit.
| gavmor wrote:
| > Work on Common Lisp started in 1981 (wikipedia)
|
| Is it possible that, then, programmers were _not_ familiar with
| dozens of other languages? I notice this about the R language
| (1993), a derivation of S (1976): it is like a language from an
| alternate timeline in which syntax settled on other conventions
| but, at the time, the question wasn 't closed.
| thefifthsetpin wrote:
| Common lisp is from 1980.
| [deleted]
| zem wrote:
| it keeps the naming scheme consistent
| phoe-krk wrote:
| To save everyone a click: integer1 0
| 0 1 1 integer2 0 1 0
| 1 Operation Performed
| ----------------------------------------------------------------
| boole-clr 0 0 0 0 always 0
| boole-set 1 1 1 1 always 1
| boole-1 0 0 1 1 integer1
| boole-2 0 1 0 1 integer2
| boole-c1 1 1 0 0 complement of
| integer1 boole-c2 1 0 1 0
| complement of integer2 boole-and 0 0 0
| 1 and boole-ior 0 1 1 1
| inclusive or boole-xor 0 1 1 0
| exclusive or boole-eqv 1 0 0 1
| equivalence (exclusive nor) boole-nand 1 1
| 1 0 not-and boole-nor 1 0
| 0 0 not-or boole-andc1 0 1 0
| 0 and complement of integer1 with integer2 boole-
| andc2 0 0 1 0 and integer1 with
| complement of integer2 boole-orc1 1 1 0
| 1 or complement of integer1 with integer2 boole-
| orc2 1 0 1 1 or integer1 with
| complement of integer2
| zachbeane wrote:
| Also, some context from comp.lang.lisp is available at
| https://www.xach.com/naggum/articles/3250122499743574%40nagg...
| math-dev wrote:
| Marvellous language
___________________________________________________________________
(page generated 2022-09-11 23:00 UTC)