User avatar
Erin, the OSHA denialist @ekatwired@so.yuri.diy
1w
@mira

You forgot about that cursed language me and some friends made years ago which used
functio.

From the more ordinary, we have also
define (e.g. Scheme).

Or bourne shell which can just do
functionname() { … }

Or
procedure (Ada, Pascal), proc (Nim), sub (Perl, Visual Basic).
But at least in Ada, procedure and function both exist and both have different semantics.

Or CLOS has
defmethod, but that is for multiple dispatch functions in specific. But common lisp uses defun, I think Clojure uses defn. In Scheme you can define functions using a specific let form and idk if Common LISP's labels is considered function definition?

APL seems to have its own thing but I would say that falls in the category as
= (function definition by pattern/example).

Erlang does
->, ML-family languages tend to use let (though we may treat it similarily as =?), but similar do Scheme's define, it is an unified way to define values and functions (let a = 3, let double a = a * 2, (define a 3), (define (double a) (* 2 a)).

Then you get anonymous function/closure definitions, where Rust and Ruby use
|params…| (the syntax bit differs), some languages use =>, ->. Then you got λ (or lambda for ASCII die-hards) and \ (like \x -> x + 42), but AFAIK it is just supposed to represent λ so may mean the same thing. C++ has some funky []() {} style definitions for closures.

Lemme look, maybe Objective-C does something weird. Oh yea they use
+ and - but i think that generally means something else, never used it though.

Raku has it's
multi for multiple dispatch functions, which also leads us to method keyword some languages use, but that also depends if methods and functions are the same in the language.

Damn, I sure to send this to my psych to get my 'tism officially diagnosed.