SciProgCentre / dataforge-core

A clean multi-platform re-implementation of dataforge concepts
Apache License 2.0
25 stars 3 forks source link

Templates for non-uniform dataprocessing #17

Open Zelenyy opened 5 years ago

Zelenyy commented 5 years ago

Proposal add function for work with non-uniform data, similar pipe and join . As first example, for two types: TwoType1_1

Zelenyy commented 5 years ago

General task have outputs and inputs, which have these type. Number of input can be in range from 0 to N, number of ouput --- from 1 to N and special empty output (for side effect task such as external and system call, IO operations etc). I prepera table for several combination of outputs and inputs.

Output\Input

0

1<T>

N<T>

2<T,R>

N<R,T>

empty

action

action<T>

joinAction<T>

zipAction<T,R>

joinZipAction<R,T>

1<L>

create<L>

pipe<T,L>

join<T,L>

zip<T,R,L>

joinZip<T,R,L>

N<L>

generate<L>

generate<T,L>

joinGenerate<T,L>

generate<T,R,L>

joinGenerate<T,R,L>

2<L,K>

N<L,K>