% arrow - Base class for processing unit
%
% arrow :: 
%    N:natural ~'number of inputs',
%    M:natural ~'number of inputs'
% -> arrow(T1@typelist(N),T2@typelist(M),_).
%
% The arrow(T1,T2,S) type denotes the type of an arrow with N inputs
% and M outputs when T1 is a list of N types and T2 is list of M types.
% S is the type of the state of the arrow and can be determined by subclasses,
% The inputs and outputs then have the types as listed in T1 and T2 
% respectively.
%
% The base arrow class cannot be used without subclassing since
% any attempt to instantiate the live processing unit will throw
% an exception.
%
% METHODS
%
%    nargin - number of inputs
%    nargout - number of inputs
%    construct - instantiate live processing unit


function o=arrow(nin,nout)
	s.nargin=nin;
	s.nargout=nout;
	o=class(s,'arrow');
