Content deleted Content added
←Created page with '{{ Infobox programming language | name = Cuneiform | logo = 200px | screenshot = File:Cf sc...' |
No edit summary |
||
Line 38:
| url = http://ceur-ws.org/Vol-1330/paper-03.pdf
}}</ref>
It is a workflow [[Domain-specific language|DSL]] in the form of a [[Functional programming|functional programming language]] promoting parallelizable [[Algorithmic skeleton|algorithmic skeletons]]. External tools and libraries, in, e.g., [[R (programming language)|R]] or [[Python (programming language)|Python]], can be integrated via a [[Foreign function interface|foreign function interface]]. Cuneiform's data-driven evaluation model and integration of external software originate in scientific workflow languages like [[Apache Taverna|Taverna]], [[KNIME]], or [[Galaxy (computational biology)|Galaxy]] while its algorithmic skeletons ([[Higher-order function|second-order functions]]) for parallel execution originate in data-parallel programming models like [[MapReduce]] or [[Pig (programming tool)|Pig Latin]]. Cuneiform scripts can be executed on top of [[Apache Hadoop|Hadoop]]
{{Cite journal
| last1 = Bux | first1 = Marc
Line 80:
| url = http://www.di.fc.ul.pt/~bessani/publications/dmah15-bbc.pdf
}}
</ref>
==External Software Integration==
External tools and libraries are integrated in a Cuneiform script through its [[
Currently supported foreign programming languages are:
Line 99 ⟶ 97:
This dependency graph constrains the order in which tasks can be evaluated.
Apart from data dependencies tasks can be evaluated in any order, assuming tasks are always [[Side effect (computer science)|side effect]]-free and deterministic.
;[[Map (higher-order function)|Map]]: Applies a task to each element in a list. Each task applications can run in parallel.
|