Hacker Newsnew | past | comments | ask | show | jobs | submit | jamesemmott's commentslogin

The design of exception handling in C++ was inspired by ML, which used 'raise', and C++ might itself have used that word, were it not already the name of a function in the C standard library (as was 'signal'). The words 'throw' and 'catch' were introduced by Maclisp, which is how Stroustrup came to know of them. As he told Guy Steele at the second ACM History of Programming Languages (HOPL) conference in 1993, 'I also think I knew whatever names had been used in just about any language with exceptions, and "throw" and "catch" just were the ones I liked best.'


This original sense of 'call' (deriving from the 'call number' used to organize books and other materials in physical libraries) was also responsible for the coinage of 'compiler', according to Grace Hopper: 'The reason it got called a compiler [around 1952] was that each subroutine was given a "call word", because the subroutines were in a library, and when you pull stuff out of a library you compile things. It's as simple as that.'


I invoke them :]


I fondly remember blessing objects in perl.

https://perldoc.perl.org/functions/bless


Shame we can't use `cast`, that's already being used for types. And `conjure` probably only works for object constructors.


And 'summon' is just used for demons.


A keyword exclusively used for network calls, in particular microservices ahaahaha


AFAIK there isn't a wizardly joke programming language yet--perhaps that was considered redundant--but you can use "giving" and "taking" if you're a rock-star programmer. :P

https://codewithrockstar.com/


Erlang/Elixir use "cast" method name when sending messages to their GenServer actor processes.


There are two terms.

* call - to send and await a reply * cast - to send and not await a reply


let's use conjure for method interactions and reify as a special case when that method is a constructor. the more this sounds like medieval alchemy the more I can get behind it, and I've already got misbehaving daemons


I bind my functions before I apply them


Synonyms of "invoke" include "call forth" and "conjure up."


Or a "call sheet", which is the list of cast and crew needed for a particular film shoot


The functional peeps even `apply` them.


I've never been quite sure when I'm applying data to a function, or applying a function to some data


This tripped me up last week when I was reading Futamura’s paper on partial evaluation (i .e., Futamura projections). I’m not used to the “apply” terminology for functions, even though I learned the lambda calculus in grad school over a decade ago.


to my mind the function has always been the definition of the process and the data what that process, well, applies to. so you apply the function to the data and get an output.


Is the data changing or the function changing?


In a functional language, neither

(though new data is created as a result of running the function, technically this is guaranteed to not affect the inputs due to the function having to be pure)

(perhaps this is excessively pedantic)


When running the routine, is it typically the function that changes or the input data that changes?

If it's the same function running on different data, then you are applying the function to the data. If it's the same data running in a different function, then you are applying the data to the function.


let's just map pedantic->precise and call it a day :)


Same here, but I will say "a function call", not "a function invocation".

Invoking X sounds deliciously alchymistic, by the way.


I just connected the dots... The identifier digits in the Dewey Decimal classification are called "call numbers" !


Yes, that's in the second paragraph of the article.


I took this to be a pun on "decimal" and "connecting the dots" but perhaps I'm just wired to see puns where they weren't necessarily intended.


  > I'm just wired to see puns where they weren't necessarily intended.

I guess it keeps you grounded. Shocking how that works.


I wonder if the reference you are reaching for, if it's not the Jonathan Haidt book suggested by a sibling comment, is The Enigma of Reason by the cognitive psychologists Hugo Mercier and Dan Sperber (2017).

In that book (quoting here from the abstract), Mercier and Sperber argue that reason 'is not geared to solitary use, to arriving at better beliefs and decisions on our own', but rather to 'help us justify our beliefs and actions to others, convince them through argumentation, and evaluate the justifications and arguments that others address to us'. Reason, they suggest, 'helps humans better exploit their uniquely rich social environment'.

They resist the idea (popularized by Daniel Kahneman) that there is 'a contrast between intuition and reasoning as if these were two quite different forms of inference', proposing instead that 'reasoning is itself a kind of intuitive inference'. For them, reason as a cognitive mechanism is 'much more opportunistic and eclectic' than is implied by the common association with formal systems like logic. 'The main role of logic in reasoning, we suggest, may well be a rhetorical one: logic helps simplify and schematize intuitive arguments, highlighting and often exaggerating their force.'

Their 'interactionist' perspective helps explain how illogical rhetoric can be so socially powerful; it is reason, 'a cognitive mechanism aimed at justifying oneself and convincing others', fulfilling its evolutionary social function.

Highly recommended, if you're not already familiar.


Thank you. That's exactly the idea and described much more eloquently. I probably heard it through the Sapolsky lecture from a sibling comment but that captures it exactly. Bookmarked.


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

Search: