\l file.q
\d .this.is.context
\c 10 200

system "l file2.q"

s) var1:20+30; globalVar1::13123+41243;
    var2    :    var1+10;

var1    :   20  +     30  ;           globalVar1  ::  13123+41243; var2:var1+10;

(?)    .    10  20
x       _       10 20
-1   _      10 20
end:{(neg union/[w[; ; 0]])@\:(`.u.end;x)}

var3:indexed[;0];
indexed[0;0]:var1;

tbl0:([] a:1; b:2); / This is tbl0 definition

tbl1:(  [      ]     col1:`long$()  ; col2:`float$());

/
This table has:
- key columns
- value columns
\
tbl2:([key1:`symbol$(); key2:"I"$()] col1:`long$()  ; col2:`float$());

tbl3:(
 [key1:`symbol$(); key2:"I"$()]
 col1:`long$()  ; col2:`float$())

    ;

select  col1        ,        col2    by     key1 ,    key2      from    tbl3        where    col1    in`a`b`c   ,       (col2=10) or key2%2<-10;

query:{
        select col1,
                     col2       ,       {x*y}   '       [col1;col2]
             by key1,

                   key2
         from
           (
               tbl1
             ,
           tbl2)
           where
                    cold2>var1,
                            key1 in `this`is`key, col1 within (var2;globalVar1)
 };

/ Simple pot function
/
/ @param x (boolean) - condition
pot:{   $   [   x   ;   `asdas  ;   23123   ]   };

/
This is global lambda definition

:parameter1 - input 1
:parameter2 - input 2
:parameter3 - input 3
:parameter4 - input 4
:return nothing
\
lambdaGlobal:{[parameter1;parameter2;parameter3;parameter4]
		innerVar:parameter1+    parameter2  *parameter3;
				justConstant    :   10;
						innerLambda:{
			innerVar1:x;
	innerVar2:y;
                condition:$[innerVar1 < innerVar2;1b;0b];

                    if      [       condition   ; [10+20;      :`isLessThen]    ]      ;

        :   {[x    ;   y]   x^y        }   [       innerVar1   ;       innerVar2   ];
		};
      innerLambda[];

          while            [  innerVar < 10;innerVar+:1;   innerVar2        ]       ;

        {[x;y]z:x*y+10-12;'"incorrect:",string z}[parameter1;parameter2]

		}				 ;
