Elias, Juergen I use the "Toronto Toolkit" convention, which looks like this:
∇y←x adjust d;⎕IO;ex;i;line;lmrg;pw;w ⍝adjust each row of matrix <d> according to parameters <x> ⍝.e ('/' ∆box 'please do not / enter') = 15 adjust 'please do not enter' ⍝.k formatting ⍝.n rml ⍝.t 1992.4.24.14.4.17 ⍝.v 1.0 / 05jan82 ⍝.v 2.0 / 05apr88 / change order of <x>, use subroutines ⍝.v 2.1 / 24apr92 / using signalerror ⍝ x[1] width of result in columns ⍝ x[2] width of left margin (i.e. number of blank columns) ⍝ x[3] number of blank lines to insert between each row ⎕IO←1 ...and more of the function... I suspect that if the first line is a lamp line, that can be taken as the description, and a double-lamp taken as a single lamp. This lamp line may be indented, and could then be the "help" for the function. The "Toronto Toolkit" format then has lamp lines with ".x" (. followed by letter) and data .e is example, .t is timestamp, .v is version, .k for keywords, .n for name/initials and more. Then there are function in the Toolkit that handle this data. But, again, the first lamp-line gives the overview. Just food for thought. FredW