I don't think I did anything special. I just uninstalled "Notepad", and that revealed the good old Notepad.
foo(bar(baz(42)))
and then remove the superfluous parens foo bar baz 42
The expression is evaluated from right to left. A.foo(bar(B.baz(42)))
Remove the parens, extracting the methods from their objects, instead feeding each object as a left argument to its former member function: A foo bar B baz 42
This is normal APL-style call syntax; right-to-left if you want. x f[k] y
This one is universal among traditional APLs (though some modern APLs, including J, remove it). However, it is traditionally only used for a concept of application along an axis of APL's multidimentional arrays, and only for a strictly limited set of built-in "operators". That said, GNU APL and NARS2000 both allow it on user-defined functions (which have infix syntax, just like "operators"). x n.f y
This is infix application of the function f from the namespace n, so n must have namespace value, but it is still a proper argument because n isn't just an identifier, but can also be an expression: x (expression).f y
In fact, the expression can be an entire (multidimentional!) array of namespaces: x (namespace1 namespace2).f y
is equivalent to (x[1] namespace1.f y[1])(x[2] namespace2.f y[2])
Furthermore, f can be a built-in "operator" which appears to exist in every namespace, but which also takes the current namespace into consideration. For example, x⍳y is the position of y in x and if io0 is a namespace wherein indexing is 0-based and io1 is a namespace wherein indexing is 1-based, we can write: 'AX' 'BX' (ns0 ns1).⍳ 'X'
and get the result 1 2 because X is at position 1 in AX with 0-based indexing but at position 2 of BX with 1-based indexing. (I'm not saying you should write code like this, but you could.) if a < b → c := true
□ a ≥ b → c := false
fi
To an APL dfn with "guards": c ← {
a < b : true
a ≥ b : false
}
As in GCL, if none of the guards hold true, the dfn (braces) will terminate without return value, and thus the code will abort with an error.