joergen7 / cuneiform-legacy

A Functional Workflow Language
Apache License 2.0
4 stars 0 forks source link

Enable rest notation. #75

Closed joergen7 closed 10 years ago

joergen7 commented 10 years ago

In task applications, parameters may be bound that are not mentioned in the prototype. The application is over-bound. The superfluous bindings can be reused in the body of the task.

Example:

deftask x( <out> : ) {
    out = y( ~ );
}

deftask y( <out> : <param> ) {
    out = param;
}

x( param: 1 );

should evaluate to 1. As should

deftask x( <out> : ) {
    out = y( ~ );
}

deftask y( out : param )in bash *{
    out=$param;
}*

x( param: 1 );