Content deleted Content added
Marcocapelle (talk | contribs) removed Category:Workflow technology; added Category:Workflow languages using HotCat |
m Decapitalized common nouns |
||
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]]s. External tools and libraries, in, e.g., [[R (programming language)|R]] or [[Python (programming language)|Python]], can be integrated via a [[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 is implemented in Erlang, and therefore must run on an Erlang
{{Cite journal
| last1 = Bux | first1 = Marc
Line 82:
</ref><ref>{{cite web|title=Scalable Multi-Language Data Analysis on Beam: The Cuneiform Experience|url=http://www.erlang-factory.com/euc2016/jorgen-brandt|website=Erlang-factory.com|accessdate=28 October 2016}}</ref>
==External
External tools and libraries are integrated in a Cuneiform script through its [[foreign function interface]]. By defining a task in a foreign language it is possible to use the API of an external tool or library. This way, tools can be integrated directly without the need of writing a wrapper or reimplementing the tool.<ref>{{cite web|title=A Functional Workflow Language Implementation in Erlang|url=http://www.erlang-factory.com/static/upload/media/1448992381831050cuneiformberlinefl2015.pdf|accessdate=28 October 2016}}</ref>
Line 92:
* [[R (programming language)|R]]
==Parallel
The task applications in a Cuneiform script form a data dependency graph.
|