There is a global variable that purports to contain a list of operator forms, TypeSystem`$OperatorForms. I say "purports", because the list is missing some of the forms found by @ybeltukov's method. But to its credit, it correctly identifies the operator form of ReplaceAll which is mentioned in neither a usage message nor the documentation, and also correctly omits StringCases which has no operator form despite the usage message claiming otherwise:
Needs["TypeSystem`"]
$typeSystem = SymbolName /@ TypeSystem`$OperatorForms;
$usages =
Select[
Names@"*"
, StringMatchQ[ToString@ToExpression[#<>"::usage"],"*an operator form of*"]&
];
$usages ~Complement~ $typeSystem
(* {AssociationMap,CountDistinctBy,DeleteDuplicatesBy,MapAt,Merge,StringCases} *)
$typeSystem ~Complement~ $usages
(* {ReplaceAll} *)
There are three other operators which exhaustively partition TypeSystem`$OperatorForms into the categories "left", "right" and "3-2":
TypeSystem`$LeftOperatorForms
(* {Map,KeyMap,Apply,Scan,MapIndexed} *)
TypeSystem`$RightOperatorForms
(* {Prepend,Append,GroupBy,CountsBy,Count,Position,FirstPosition,SortBy,KeySelect,
Select,SelectFirst,Delete,Extract,Replace,ReplacePart,ReplaceAll,Cases,
DeleteCases,FirstCase,AnyTrue,AllTrue,NoneTrue,KeyExistsQ,KeySortBy,
KeyTake,KeyDrop,MaximalBy,MinimalBy,MatchQ,FreeQ,MemberQ} *)
TypeSystem`$ThreeTwoOperatorForms
(* {Insert} *)
These categories appear to identify the position(s) of the curried arguments.
The results shown here are from version 10.0.1.
Select[StringMatchQ[ToString@ToExpression[# <> "::usage"], "*an operator form of*"] &][Names@"*"]– Daniel Lichtblau Sep 18 '14 at 21:57AssociationMapdocumentation doesn't contain the operator form yet. Any clue how I can update this? (Searching for "update documentation" etc just leads to results of updating data in Mathematica programs.) – Martin Ender Sep 19 '14 at 07:33*operator form*. Otherwise, it misses out on some functions likeEqualTowhich are dedicated operator forms for functions of other names (Equalin this case). If you don't have 10.4 around yet, let me know and I can update the function as well as the list if you want. – Martin Ender Mar 08 '16 at 15:45