翻訳と辞書
Words near each other
・ Itera-Katusha
・ Iterable cardinal
・ Iteradensovirus
・ Iteraplan
・ Iterated binary operation
・ Iterated conditional modes
・ Iterated filtering
・ Iterated forcing
・ Iterated function
・ Iterated function system
・ Iterated integral
・ Iterated limit
・ Iterated local search
・ Iterated logarithm
・ Iterated monodromy group
Iteratee
・ ITerating
・ Iteration
・ Iteration (disambiguation)
・ Iteration mark
・ Iterations of I
・ Iterative and incremental development
・ Iterative aspect
・ Iterative closest point
・ Iterative compression
・ Iterative deepening A*
・ Iterative deepening depth-first search
・ Iterative design
・ Iterative impedance
・ Iterative learning control


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Iteratee : ウィキペディア英語版
Iteratee
In functional programming, an iteratee is a composable abstraction for incrementally processing sequentially presented chunks of input data in a purely functional fashion. With iteratees, it is possible to lazily transform how a resource will emit data, for example, by converting each chunk of the input to uppercase as they are retrieved or by limiting the data to only the five first chunks without loading the whole input data into memory. Iteratees are also responsible for opening and closing resources, providing predictable resource management.
On each step, an iteratee is presented with one of three possible types of values: the next chunk of data, a value to indicate no data is available, or a value to indicate the iteration process has finished. It may return one of three possible types of values, to indicate to the caller what should be done next: one that means "stop" (and contains the final return value), one that means "continue" (and specifies how to continue), and one that means "signal an error". The latter types of values in effect represent the possible "states" of an iteratee. An iteratee would typically start in the "continue" state.
Iteratees are used in Haskell and Scala (in the Play Framework〔(【引用サイトリンク】url=http://www.playframework.com/documentation/2.1.1/Iteratees )〕 and in Scalaz), and are also available for F#. Various slightly different implementations of iteratees exist. For example, in the Play framework, they involve Futures so that asynchronous processing can be performed.
Because iteratees are called by other code which feeds them with data, they are an example of inversion of control. However, unlike many other examples of inversion of control such as SAX XML parsing, the iteratee retains a limited amount of control over the process. It cannot reverse back and look at previous data (unless it stores that data internally), but it can stop the process cleanly without throwing an exception (using exceptions as a means of control flow, rather than to signal an exceptional event, is often frowned upon by programmers〔(【引用サイトリンク】title=Java theory and practice: The exceptions debate )〕).
==Commonly associated abstractions==
The following abstractions are not strictly speaking necessary to work with iteratees, but they do make it more convenient.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Iteratee」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.