2011
DOI: 10.1007/978-3-642-24276-2_10
|View full text |Cite
|
Sign up to set email alerts
|

iTask as a New Paradigm for Building GUI Applications

Abstract: The iTask system is a combinator library written in Clean offering a declarative, domain-specific language for defining workflows. From a declarative specification, a complete multi-user, web-enabled, workflow management system (WFMS) is generated. In the iTask paradigm, a workflow is a definition in which interactive elements are defined by editors on model values (abstracting from concrete GUI implementation details). The order of their appearance is calculated dynamically using combinator functions (abstrac… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
9
0

Year Published

2012
2012
2022
2022

Publication Types

Select...
4
1
1

Relationship

1
5

Authors

Journals

citations
Cited by 8 publications
(9 citation statements)
references
References 9 publications
(10 reference statements)
0
9
0
Order By: Relevance
“…One strand of related work includes work on providing type-safe language bindings for constructing graphical user type leg = {legno: int; underlying: string option; fixedrate: float option; currency: currency} type tradedata = {tdata1: string; tdata2: string} type tlet = {tradeid: string; nominal: float; receiveleg: leg; payleg: leg; tradedata: tradedata} open Layout let leg = pick(.underlying) @@ pick(.fixedrate) @@ pick(.currency) let l2 : tlet t = pick(.tradeid) % pick(.nominal) @@ grp(box "Receive" (lift(.receiveleg)leg) % box "Pay" (lift(.payleg)leg)) @@ pick (.tradedata) interfaces in functional languages [3,19,14] either using monads or by using the effectful features of a language for controlling the behavior of a GUI. A specific monadic combinator library for constructing GUI's is the Clean iTask library [17,20], which primarily focuses on allowing the programmer to generate a workflow GUI from a declarative specification of the GUI and the workflow. Compared to the iTask framework, typelets do not address how windows are opened and closed, but rather on how fields, grids, and controls change upon changes in a field.…”
Section: Related Workmentioning
confidence: 99%
“…One strand of related work includes work on providing type-safe language bindings for constructing graphical user type leg = {legno: int; underlying: string option; fixedrate: float option; currency: currency} type tradedata = {tdata1: string; tdata2: string} type tlet = {tradeid: string; nominal: float; receiveleg: leg; payleg: leg; tradedata: tradedata} open Layout let leg = pick(.underlying) @@ pick(.fixedrate) @@ pick(.currency) let l2 : tlet t = pick(.tradeid) % pick(.nominal) @@ grp(box "Receive" (lift(.receiveleg)leg) % box "Pay" (lift(.payleg)leg)) @@ pick (.tradedata) interfaces in functional languages [3,19,14] either using monads or by using the effectful features of a language for controlling the behavior of a GUI. A specific monadic combinator library for constructing GUI's is the Clean iTask library [17,20], which primarily focuses on allowing the programmer to generate a workflow GUI from a declarative specification of the GUI and the workflow. Compared to the iTask framework, typelets do not address how windows are opened and closed, but rather on how fields, grids, and controls change upon changes in a field.…”
Section: Related Workmentioning
confidence: 99%
“…In the parallel (line 5-6) the content is stored in the shared editor state, and initially just one task is created, the editor itself. With ActionSave, she can choose to save the current text (line 3), after which the text is stored to file and the editor is recursively called to allow to continue editing (line [14][15][16]. The update of the browser page is optimized such that such recursive calls are not visually noticeable to the end user.…”
Section: >>| Asksigners Csmentioning
confidence: 99%
“…-Tasks can become web applications including GUI elements like buttons, dialogues, windows and menus [15]. -The semantics of iTask combinators has been formally described [11,17].…”
Section: Introductionmentioning
confidence: 99%
“…GuiTV [11], a Haskell implementation for type-based GUI generation, can construct widget compositions for functions, to provide the arguments and show A similar idea is used in iTask [31], a client-server, taskoriented, state-transforming web programming framework for Clean. iTasks seeks to address large-scale architectural GUI concerns, generating user interfaces automatically from types [2] and then rendering these to a browser.…”
Section: Functional Gui Toolkitsmentioning
confidence: 99%
“…There are some similarities between RVs and iTask's [31] Uniform Data Sources (UDS) [30], but UDS has no support for subscription to change notification. Further, a central aspect of iTask is automatic generation of GUIs from types with a particular focus on Web applications, whereas RVs and RRs provide generic, re-usable infrastructure for GUI programming and more.…”
Section: Comparison To Functional Guis and Frpmentioning
confidence: 99%