/ http://groups.google.com/groups?hl=en&lr=&threadm=qfBid.3718%24Gm6.1347%40newsread3.news.atl.earthlink.net&prev=/groups%3Fhl%3Den%26lr%3D%26group%3Dcomp.lang.functional lines:{adjust[x]',/connect/(horizontal x;vertical x)} adjust:{:[(x .*|y)_in"-|";y;@[y;-1+#y;-1 0+]]} vertical:{|:'',/segments[("|";-1 0)]'[+x;!#*x]} horizontal:{,/segments[("-";0 -1)]'[x;!#x]} segments:{:[#b:&(~=)':x[0]=" ",y;z{+(x;y)}'@[-1 2#b;_n;x[1]+];()]} connect:{at/[x;,/,/:\:/(!#:)'x]_dv\:()} at:{./[x;k;:;merge . x ./:k:0 1,'y]} merge:{attach[x;y;match[x;y]]} match:{5&(,/~\:/:/{(*x;*|x)}'(x;y))?1} attach:{((();(|x),,*|y);(();x,,*|y);(y,,*|x;());(y,,*x;());(x;y))z} a:("----kjsadsfljkasf" "|srdlfhsad---hhfa" "|ssjh---dash|fsas" "saddl|kjsafj|hash" "ask---dhhfsk|fhsf" "sdafhshfsdkjfhshf") lines a v:vertical a h:horizontal a s:,/h,v