1981
DOI: 10.1145/357133.357136
|View full text |Cite
|
Sign up to set email alerts
|

Generators in Icon

Abstract: Icon is a new programming language that includes a goal-directed expression evaluation mechanism. This mechanism is based on generators--expressions that are capable of producing more than one value. If the value produced by a generator does not lead to a successful result, the generator is automatically activated for an alternate value. Generators form an integral part of Icon and can be used anywhere. In addition, they form the basis for the string scanning facility and subsume some of the control expression… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
18
0

Year Published

1983
1983
2015
2015

Publication Types

Select...
4
4
1

Relationship

3
6

Authors

Journals

citations
Cited by 39 publications
(18 citation statements)
references
References 24 publications
(35 reference statements)
0
18
0
Order By: Relevance
“…For example, ZNat(0).zero() evaluates to true because its implementation tests the equation val = 0. A named constructor for type T may be invoked without an explicit receiver object when it is used to pattern-match a 1 class ZNat { ... constructor equals(Nat n) 9 ( n.zero() ) 10 } 11 class PSucc { ...…”
Section: Named Constructorsmentioning
confidence: 99%
See 1 more Smart Citation
“…For example, ZNat(0).zero() evaluates to true because its implementation tests the equation val = 0. A named constructor for type T may be invoked without an explicit receiver object when it is used to pattern-match a 1 class ZNat { ... constructor equals(Nat n) 9 ( n.zero() ) 10 } 11 class PSucc { ...…”
Section: Named Constructorsmentioning
confidence: 99%
“…For example, the formula int x = y-1 # y+1 (which should be read as int x = (y-1 # y+1)) generates the two solutions x = y-1 and x = y+1 when solving for x, and y = x+1 and y = x-1 when solving for y. Unlike Icon's alternation expression [9], a match is attempted against all alternatives even if one of them fails.…”
Section: Other Extensionsmentioning
confidence: 99%
“…The idea of bringing nondeterminism into programming languages has appeared in works that focus on goal-directed programming [21], functional and logic programming [7,29] and recently, specifically testing [18]. These approaches introduced additional facilities into the existing programming model to allow operations analogous to enumeration in SciFe, such as querying for multiple results [18,21] and fair enumeration of composite results [7,29]. Instead of relying on non-determinism, SciFe lacks the generality of such approaches and offers specialized enumerators for exhaustive fine-grained controlled generation that avoids backtracking, for both simple and complex constraints.…”
Section: Related Workmentioning
confidence: 99%
“…Examples taken from Icon should be clea~ by context, at least in their general aspects, if not in all details. More comprehensive descriptions of Icon are given in [16,18,19,24] and implementation is discussed in [24].…”
Section: A Brief Overviewmentioning
confidence: 99%