24 citations found. Retrieving documents...
S. Finne and S. Peyton Jones. Composing Haggis. In Fifth Eurographics Workshop on Programming Paradigm for Computer Graphics, Maastricht, NL, September 1995.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Functional Scripting - Leijen, Meijer (1998)   (Correct)

....their use rather limited. Haskell scripts can do anything on a host machine that normal applications can do. This makes Haskell less useful for general client side scripting but much better suited for intranet scripts and multi tier applications. There exist many graphical libraries for Haskell [6, 9, 4]. The use of polymorphism and higher order functions enables GUI programming at a high level of abstraction[9] Since dynamic HTML is a full featured graphical language, we hope to develop a small library for programming DHTML, enabling Haskell components that use DHTML as their graphics engine. ....

Sigbjorn Finne and Simon Peyon-Jones. Composing haggis. Proceedings of the Fifth Eurographics workshop on Programming Paradigms for Computer Graphics, Maastricht, September 1995.


Concurrent and Distributed Functional Systems - Spiliopoulou (1999)   (Correct)

....notably I O and for providing a solution to the destructive array update problem. Additionally, state threads have been securely encapsulated [69, 102] and incorporated into compilers such as ghc. This framework has also been adapted to support concurrency [36] and to build reactive systems [35, 34] in Haskell. This chapter describes this form of I O as it has been incorporated into compilers such as ghc. 51 4.1 What is a Monad For the purposes of a computer scientist, a monad is a triple (M, unitM, bindM) where M is a type constructor M a which represents a computation and unitM, bindM ....

....arguments are assumed to be applied to different implicit states, so the same result would not be expected. Thus, mergeIO retains the internal referential transparency of the language, while it exhibits non deterministic behaviour. Operators such as mergeIO have been used in implementing Haggis [35], a graphical user interface for the functional programming language Haskell [5] built on top of the ghc compiler. Although this approach to non determinism restored the semantic properties of functional programs, programs still suffer from the damaging effects of non determinism; their externally ....

[Article contains additional citation context not shown here]

S. Finne and Simon L. Peyton Jones. Composing Haggis. In Proc 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht, September 1995.


Higher-Order Concurrent Win32 Programming - Pucella (1999)   (Correct)

....problem. 6 Related work The idea that concurrency helps in programming user interfaces is not new. Building on the original work of Squint [15] and Montage [7] eXene [6] exemplifies the consistent use of concurrency as a foundation for user interface construction [5] More recently, Haggis [4], a functional framework built on top of a concurrent extension to Haskell, also demonstrated the usefulness of concurrency in such a context. However, as opposed to eXene and our approach, the model presented to the user is strictly sequential concurrency is only used internally. ....

S. Finne and S. Peyton Jones. Composing Haggis. In Proceedings of the Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics. Springer-Verlag, 1995.


A Functional Logic Programming Approach to Graphical User Interfaces - Hanus (2000)   (3 citations)  (Correct)

....of the different fudgets. This approach makes it necessary to pass the GUI events via streams to the corresponding widgets to be manipulated by these events, which leads to less intuitive GUI specifications than using direct references to the corresponding widgets as in our approach. Haggis [5] is a further GUI framework for Haskell. It is based on monadic I O and uses concurrent processes to handle events. Instead of specifying a handler to be invoked when an event occurs, a new process is created that waits for this event. This has the drawback that widgets have two handlers in Haggis ....

S. Finne and S. Peyton Jones. Composing Haggis. In Proc. of the Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics. Springer, 1995.


Programming Languages as Operating Systems (or.. - Flatt, Findler.. (1999)   (Correct)

....rather than general purpose GUI implementation. Balfanz and Gong [3] explore extensions to Java to support multiple processes, particularly multiple processes owned by different users within a single JVM. They derive some of the same constructs that are defined by MrEd, notably eventspaces. Haggis [11], eXene [18] and Fudgets [21] provide streamoriented graphical extensions of functional languages. None provides a mechanism for process and resource control, but the functional streams used by these systems makes them less susceptible to cross process interference than an imperative GUI layer. A ....

Finne, S. and S. P. Jones. Composing Haggis. In Proc. Eurographics Workshop on Programming Paradigms for Computer Graphics, September 1995.


A Theory of Core Fudgets - Taylor (1998)   (1 citation)  (Correct)

....entirely. As previously mentioned, another approach for specifying the semantics of the Core Fudgets language is to encode it in a language such as the calculus. This may be particularly interesting as it could be used to compare the Fudgets system with other graphical systems, like Haggis [7], which already have calculus semantics. It would be interesting to try and completely axiomatise the semantic theory of Core Fudgets. Such an axiomatisation would be particularly useful from a practical perspective, as the tedious machinery of bisimulation could be completely avoided. There are ....

S. Finne and S. L. P. Jones. Composing Haggis. In Eurographics Workshop on Programming Paradigms in Computer Graphics, April 1995.


Structuring Graphical Paradigms in TkGofer - Claessen, Vullinghs, Meijer (1997)   (18 citations)  (Correct)

....ActiveX Animation [3] Furthermore, we show that TkGofer is capable of expressing other well known graphical paradigms, such as the Model View Controller [10] There are also other systems that try to integrate graphical user interaction in functional languages. Examples are Fudgets [1] Haggis [5] and sml tk [11] We believe that they do not capture the essence of what makes functional GUI programming concise, elegant, and powerful. They lack using monads for imperative actions, combined with type classes for structure. As we shall see, constructor classes and multiple parameter type ....

....combinators, the ability not only to compose objects, but to name the intermediate result as well. This is what makes monads so general and powerful. Over the last few years, the integration of graphical I O and functional languages has become a popular research topic. 6. 1 Related Work Haggis [5], like TkGofer, also uses monads to handle GUIs. One of its properties is the use of concurrent processes to manage callbacks, e.g. instead of specifying what a button must do when clicked, a new process is created that waits until the user clicks the button. A confusing drawback is however that ....

S. Finne and S. Peyton Jones. Composing Haggis. In Proceedings of the Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics. SpringerVerlag, September 1995.


The UniForM User Interaction Manager - Version 0.2 - Reference.. - Karlsen (1998)   (Correct)

....Synchronized Frame instance ChildWidget Frame instance Widget Frame instance ChildWidget wc = ParentWidget Frame wc instance HasBorder Frame instance HasColour Frame instance HasSize Frame 6. 5 Box A box is a container for aligning the component widgets horizontally or vertically [Chu95, FPJ95] The boxes may be flexible, meaning that the child widgets will be packed so that they will strech or shrink when the box is resized. module Box data Flexibility = Rigid Flexible data Box newBox : Flexibility [Config Box] IO Box newHBox : Config Box] IO Box newVBox : Config ....

....ScrollBar instance HasSlider ScrollBar instance HasOrientation ScrollBar instance Read ScrollUnit instance Show ScrollUnit instance GUIValue ScrollUnit instance Read ScrollBarElem instance Show ScrollBarElem instance GUIValue ScrollBarElem 8. 10 Space A space widget, inspired by the Haggis [FPJ95] The space if only effective if used within a container. This container is assumed to be a box. module Space data Space newSpace : Distance [Config Space] IO Space instance Eq Space instance GUIObject Space instance Destructible Space instance Interactive Space instance Widget Space ....

[Article contains additional citation context not shown here]

S. Finne and S. Peyton Jones. Composing Haggis. In Proceedings of the Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics. Springer, 1995.


Concurrent Monadic Interfacing - Holyer, Spiliopoulou (1998)   (3 citations)  (Correct)

....The monadic approach has been further developed [8, 10] and incorporated into compilers such as GHC. This enables the secure encapsulation of stateful computations, notably I O and incremental arrays. This framework has also been adapted to support concurrency [5] and to build reactive systems [4, 3] in Haskell. Concurrency has, however, been incorporated at the cost of introducing nondeterminism, by allowing concurrent threads to mutate the same state. Although the semantic properties of individual programs have been retained by preserving internal referential transparency [3] the ....

S. Finne and Simon L. Peyton Jones. Composing Haggis. In Proc 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht, September 1995.


BriX - A Deterministic Concurrent Functional X Windows System - Serrarens (1995)   (5 citations)  (Correct)

....window applications, but disappointed in a number of areas, as described by Noble and Runciman [16] With the acceptance of monads for I O, a similar solution seemed possible for GUI s. A number of projects using the monad structure have been set up, among them Yale Haskell [20] and Haggis [6]. Another recent development is the use of concurrency (explicit parallelism) to improve the expressiveness and modularity of the design. Using concurrency, however, may introduce non determinism, making the behaviour of a program dependent on other things than the source code. Our GUI system, ....

....14 Operations on parent window xCreateWindow Parent Child Operations on child window Figure 4.1: Forking a new window process 4.1 Non determinism BriX is not the first functional windowing system using a form of parallelism. Fudgets [2] uses parallelism to make their system more powerful, Haggis [6] and Concurrent Clean [1] are using concurrency to achieve a more modular and inderstandable system. However all these systems have non deterministic properties, which BriX doesn t have. What do we mean by non determinism and determinism Determinism in this context means that a program performs ....

Finne, S. and S.L. Peyton Jones, Composing Haggis, April 1994.


Using Concurrent Haskell to Develop Views over an.. - Einar W. Karlsen.. (1997)   (4 citations)  (Correct)

....automatic registration of events, and by representing events in terms of first class, composable values. A functional language is a prerequisite in coming up with these abstractions. The provision of graphical user interfaces has been a vivid track of research over the past years [HC95,NR95,FP95,FGPS96,LWW96,VS96] The UniForM WorkBench goes one step further by providing a uniform approach to event handling that is independent of the actual source of the event. User interactions, repository change notifications, operating system events and tool events are all represented as first class ....

S. Finne and S. Peyton Jones. Composing Haggis. In Proceedings of the Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics. Springer, 1995.


Temporal Semantics of a Concurrency Monad With Choice and.. - Frauenstein, Grieskamp   (Correct)

.... Extensions of the well known I O monad by concurrency and communication have recently been designed and implemented in the context of pure functional languages such as Haskell or Opal [12, 5] These extensions, which have been applied, for instance, to the construction of graphical user interfaces [4, 5], raise the question of an adequate semantic model of I O monads in the presence of indeterministic computations. We present a semantic model for the concurrency monad of the purely functional programming and specification language Opal [3] which is formulated by means of a temporal ....

S. Finne and S. Peyton Jones. Composing Haggis. In Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics, September 1995.


Communicating Functional Agents and their.. - Frauenstein.. (1996)   (4 citations)  (Correct)

....with the consequence that many interface components have to be formulated in a very unnatural manner. Recently, a generalization (called Gadgets [NR95] 1 ) that improves on this problem has been proposed. Another approach to the functional concurrent approach to GUIs is applied by Haggis [FJ95] which shares the view that interfaces are built by composing small interface components. This model is quite similar to ours in that it relies on explicit abstractions of interface components, called virtual I O devices. These are combined using layout combinators, and their interfaces can be ....

S. Finne and S. Peyton Jones. Composing Haggis. URL: http://- www.dcs.gla.ac.uk/¸simonpj, 1995.


On the Semantics of a Concurrency Monad with Choice and.. - Frauenstein, Grieskamp, .. (1996)   (1 citation)  (Correct)

....global state in the case of an I O monad, the state of the world . Concurrent extensions of the usual I O monad found in languages such as Haskell and Opal have recently been designed, implemented and successfully applied, e.g. to the construction of graphical user interfaces [FGPS96, JGF96, FJ95] These extensions raise the question of an adequate semantic model of I O monads in the presence of indeterministic computations. While the state of the world paradigm for conventional I O monads has already been the subject of justified criticism because its treatment of the unpredictable ....

S. Finne and S. Peyton Jones. Composing haggis. In Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics, September 1995.


Pictures: A simple structured graphics model - Finne, Jones (1995)   (7 citations)  Self-citation (Finne Jones)   (Correct)

....system. The functional renderer will then perform all the computations required to map the declarative description of the picture down to a series of well defined drawing operations on that device. The graphics model forms the basis for graphical output to both workstation and printer in Haggis[4], a user interface framework written in Concurrent Haskell[9] All the figures in the paper are picturres produced using the system described here, mapping the picture to Encapsulated PostScript[8] 1 after having first viewed it on a workstation display using Haggis. 2 Motivation Before going ....

....type in a functional language. Since the defined data type Picture has first class status, full use could be made of common combining forms such as foldr and map to extend the repertoire of picture combinators. An interesting area of future work is how to make the Pictures come alive. In Haggis[4], layout combinators exist for widgets, that are similar to the tiling Picture combinators used in this paper. Ideally, we would like to be able to provide a common set of such layout combinators, covering both static pictures and interactive widgets. We are currently experimenting with a basic ....

Sigbjorn Finne and Simon Peyton Jones. Composing Haggis. In Proceedings of the Fifth Eurographics Workshop on Programming Paradigms in Computer Graphics, Maastrict, Netherlands, September 1995.


Declarative systems architecture: a quantitative approach (AQUA).. - Jones   Self-citation (Jones)   (Correct)

....Haskell cannot directly express such concurrency, which is inherently non deterministic. Motivated by this need we designed and implemented a concurrent extension to Haskell, Concurrent Haskell, on top of which Finne has built the Haggis graphical user interface toolkit as part of his PhD research (Finne Peyton Jones [1995]) We published a paper on Concurrent Haskell at POPL 1996 [27] and our GHC distribution includes a Concurrent Haskell implementation. Foreign language interface. Languages that cannot inter work with other better established languages are doomed to a slow death. One of the advantages of our ....

S Finne & SL Peyton Jones [Sept 1995], "Composing Haggis, " Proc 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht.


Concurrent Haskell - Jones, Gordon, Finne (1996)   (11 citations)  Self-citation (Finne Jones)   (Correct)

....arises from concurrency pervades the entire language. ffl There are only four new primitive operations, which are both expressive and easy to implement. Concurrent Haskell is implemented, freely available, and is the substrate upon which we are building the Haggis graphical user interface toolkit (Finne Peyton Jones [1995]) This paper is not at all about concurrency as a means of increasing performance by exploiting multiprocessors. Our approach to that goal uses implicit, semantically transparent, parallelism; but that is another story. Rather, this paper concerns the use of explicit, semantically visible, ....

....languages (Agha [1990] Yonezawa [1990] 10 Conclusions and further work We have described a small and simple extension to Haskell that allows concurrent programs to be written. Using this substrate we are now well advanced in the construction of a graphical user interface toolkit, Haggis (Finne Peyton Jones [1995]) Indeed this application has been the driving force for Concurrent Haskell throughout, just as eXene was used as a test case for CML. Despite the apparently primitive nature of our single synchronisation mechanism, MVars, we have found the language surprisingly expressive. One obvious topic for ....

S Finne & SL Peyton Jones [April 1995], "Composing Haggis, " Department of Computing Science, Glasgow University.


The Haggis Manual - edition 0.02 - Finne (1996)   Self-citation (Finne)   (Correct)

No context found.

Sigbjorn Finne and Simon~Peyton Jones. Composing Haggis. In Proceedings of the Fifth Eurographics Workshop on Programming Paradigms in Computer Graphics, Maastrict, Netherlands, September 1995.


Pictures: A simple structured graphics model - Finne, Jones (1995)   (7 citations)  Self-citation (Finne Jones)   (Correct)

....(Section 5. The functional renderer will then perform the computations required to map the picture description into a sequence of calls to the drawing operations it is given. The graphics model and accompanying renderer forms the basis for graphical output to both workstation and printer in Haggis[5], a user interface framework written in Concurrent Haskell[10] The figures given in this paper are pictures produced using the system described here, mapping the picture to Encapsulated PostScript[9] 1 after having first viewed it on a workstation display using Haggis. 2 Motivation Before ....

....(a1,da) ctm (Size Angles Transformation IO ( When the renderer encounters one of the primitives mentioned in Section 3.1, it looks up and invokes the corresponding method in the Painter. Currently, two graphical Painters exist for producing output in PostScript and to Haggis [5], but the Painter interface has also been used to implement picking, i.e. testing whether a point intersects the picture, and to incrementally update parts of a Picture structure. 6 Related work As stated in the introduction, the work reported here build on previous approaches to graphics using ....

[Article contains additional citation context not shown here]

Sigbjorn Finne and Simon Peyton Jones. Composing Haggis. In Proceedings of the Fifth Eurographics Workshop on Programming Paradigms in Computer Graphics, Maastrict, Netherlands, September 1995.


Concurrent Haskell - Jones, Gordon, Finne (1996)   (11 citations)  Self-citation (Finne Jones)   (Correct)

....a Concurrent Haskell program. This is an unusual feature: more commonly, the non determinism that arises from concurrency pervades the entire language. Concurrent Haskell is implemented, freely available, and is the substrate upon which we are building the Haggis graphical user interface toolkit (Finne Peyton Jones [1995]) This paper is not at all about concurrency as a means of increasing performance by exploiting multiprocessors. Our approach to that goal uses implicit, semantically transparent, parallelism; but that is another story. Rather, this paper concerns the use of explicit, semantically visible, ....

....asynchronous communication is more primitive. 9 Conclusions and further work We have described a small and simple extension to Haskell that allows concurrent programs to be written. Using this substrate we are now well advanced in the construction of a graphical user interface toolkit, Haggis (Finne Peyton Jones [1995]) Indeed this application has been the driving force for Concurrent Haskell throughout, just as eXene was used as a test case for CML. Despite the apparently primitive nature of our single synchronisation mechanism, MVars, we have found the language surprisingly expressive. The current semantics ....

S Finne & SL Peyton Jones [Sept 1995], "Composing Haggis, " Proc 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht.


Biglook: a Widget Library for the Scheme Programming Language - Gallesio, Serrano   (Correct)

No context found.

S. Finne and S. Peyton Jones. Composing Haggis. In Fifth Eurographics Workshop on Programming Paradigm for Computer Graphics, Maastricht, NL, September 1995.


Motivation for Glasgow distributed Haskell, a non-strict.. - Trinder (1999)   (Correct)

No context found.

S. Finne, and S.L. Peyton Jones, "Composing Haggis", Proc. of the Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics, Maastricht, September 1995.


WASH/CGI: Server-side Web Scripting with Sessions and Typed.. - Thiemann (2002)   (13 citations)  (Correct)

No context found.

Finne, S., Peyton Jones, S.: Composing Haggis. In: Proc. 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht, NL (1995)


The Brisk Project: Concurrent and Distributed Functional.. - Holyer, Davis, Dornan (1995)   (4 citations)  (Correct)

No context found.

Finne & Peyton Jones, Composing Haggis, 1995 (to appear).

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC