An ICL login file works in exactly the same way as your DCL LOGIN.COM file. ICL uses the logical name ICL_LOGIN to locate your login file so if you create a file called LOGIN.ICL in your top level directory you can use use the following DCL DEFINE command (which you should put in your DCL LOGIN.COM file).
$ DEFINE ICL_LOGIN DISK$USER:[ABC]LOGIN.ICLwhere DISK$USER:
This file will then be loaded automatically whenever you start up ICL and can include procedures, definitions of commands, or indeed, any valid ICL commands. Below is an example of a login file which illustrates some of the facilities which may be used.
{ ICL Login File }
{ Define TYPE command }
DEFSTRING T(YPE) $ TYPE
{ Define EDIT command }
HIDDEN PROC EDIT name
IF INDEX(name,'.') = 0
#EDIT (name)
ELSE
DCL EDIT (name)
ENDIF
END PROC
{ Login Message }
PRINT
PRINT Starting ICL at (TIME()) on (DATE())
PRINT
ICL The Interactive Command Language for ADAM