Filters








6,530 Hits in 3.9 sec

Embedding effect systems in Haskell

Dominic Orchard, Tomas Petricek
2014 Proceedings of the 2014 ACM SIGPLAN symposium on Haskell - Haskell '14  
This paper leverages recent advances in Haskell's type system (as provided by GHC) to embed this approach in Haskell, providing user-programmable effect systems.  ...  The link between monads and effect systems is well-known, but in their typical use, monads provide a much more coarse-grained view of effects.  ...  helpful feedback, Alan Mycroft for subeffecting discussions, Andrew Rice for stencil computation discussion, Michael Gale for comments on an earlier draft of this manuscript, and participants of Fun in  ... 
doi:10.1145/2633357.2633368 dblp:conf/haskell/OrchardP14 fatcat:mgydh7itgffr3divcfvz3usva4

Embedding effect systems in Haskell

Dominic Orchard, Tomas Petricek
2014 SIGPLAN notices  
This paper leverages recent advances in Haskell's type system (as provided by GHC) to embed this approach in Haskell, providing user-programmable effect systems.  ...  The link between monads and effect systems is well-known, but in their typical use, monads provide a much more coarse-grained view of effects.  ...  helpful feedback, Alan Mycroft for subeffecting discussions, Andrew Rice for stencil computation discussion, Michael Gale for comments on an earlier draft of this manuscript, and participants of Fun in  ... 
doi:10.1145/2775050.2633368 fatcat:zkwtxyxrrjbr5lcgtqcltiubsm

Building embedded systems with embedded DSLs

Patrick C. Hickey, Lee Pike, Trevor Elliott, James Bielman, John Launchbury
2014 SIGPLAN notices  
We report on our experiences in synthesizing a fully-featured autopilot from embedded domain-specific languages (EDSLs) hosted in Haskell.  ...  This is the story of how EDSLs provided the productivity and safety gains to do large-scale low-level embedded programming and lessons we learned in doing so.  ...  However, not every property of interest in embedded programming can be conveniently embedded in the Haskell type system with GHC extensions.  ... 
doi:10.1145/2692915.2628146 fatcat:6hnxyj264jdchig3gltwunctce

Building embedded systems with embedded DSLs

Patrick C. Hickey, Lee Pike, Trevor Elliott, James Bielman, John Launchbury
2014 Proceedings of the 19th ACM SIGPLAN international conference on Functional programming - ICFP '14  
We report on our experiences in synthesizing a fully-featured autopilot from embedded domain-specific languages (EDSLs) hosted in Haskell.  ...  This is the story of how EDSLs provided the productivity and safety gains to do large-scale low-level embedded programming and lessons we learned in doing so.  ...  However, not every property of interest in embedded programming can be conveniently embedded in the Haskell type system with GHC extensions.  ... 
doi:10.1145/2628136.2628146 dblp:conf/icfp/HickeyPEBL14 fatcat:z2a7dkk66jbc3kcdimjjhqul34

Embedding a Functional Hybrid Modelling Language in Haskell [chapter]

George Giorgidze, Henrik Nilsson
2011 Lecture Notes in Computer Science  
Our implementation is realised as a domain-specific language embedded in Haskell.  ...  The method of embedding employs quasiquoting, thus demonstrating the effectiveness of this approach for languages that are not suitable for embedding in more traditional ways.  ...  However, currently available Haskell embeddings cannot be used in this domain because that would necessitate running a Haskell run-time system.  ... 
doi:10.1007/978-3-642-24452-0_8 fatcat:nko7twg4lrezdo6umceffaa2sm

Programming languages for high-assurance autonomous vehicles

Lee Pike, Patrick Hickey, James Bielman, Trevor Elliott, Thomas DuBuisson, John Launchbury
2014 Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages meets Program Verification - PLPV '14  
We briefly describe the use of embedded domain-specific languages to improve programmer productivity and increase software assurance in the context of building a fully-featured autopilot for unpiloted  ...  Acknowledgments This work is sponsored by DARPA High-Assurance Cyber-Military Systems (HACMS) program.  ...  But it adds something too: because Ivory is embedded in Haskell, the Ivory macro system is a typesafe, Turing-complete programming language, for free.  ... 
doi:10.1145/2541568.2541570 dblp:conf/plpv/PikeHBEDL14 fatcat:vjefmiyusng6bgf5rcxtdsi3lm

Plugging Haskell in

André Pang, Don Stewart, Sean Seefried, Manuel M. T. Chakravarty
2004 Proceedings of the ACM SIGPLAN workshop on Haskell - Haskell '04  
Moreover, we discuss how plugin support is especially useful to applications where Haskell is used as an embedded domain-specific language (EDSL).  ...  We show that Haskell can be comfortably used as a statically typed extension language for both Haskell and foreign-language applications supported by the Haskell FFI, and that it can perform type-safe  ...  languages (DSLs) that are embedded in a host language (such as Haskell) instead of being implemented from scratch.  ... 
doi:10.1145/1017472.1017478 dblp:conf/haskell/PangSSC04 fatcat:kylvjkaksrbwfdfkz5lk6zbzom

DSL Implementation in MetaOCaml, Template Haskell, and C++ [chapter]

Krzysztof Czarnecki, John T. O'Donnell, Jörg Striegnitz, Walid Taha
2004 Lecture Notes in Computer Science  
Two of these languages (MetaOCaml and Template Haskell) are research languages, while the third (C++) is already in wide industrial use.  ...  A wide range of domain-specific languages (DSLs) has been implemented successfully by embedding them in general purpose languages.  ...  Template Haskell gives the choice of implementing a parser or reusing the Haskell parser in the context of implementing embedded languages.  ... 
doi:10.1007/978-3-540-25935-0_4 fatcat:r5jwb2iqkrcopc64273p5u6irq

HLogo: A Parallel Haskell Variant of NetLogo

Nikolaos Bezirgiannis, I. S. W. B. Prasetya, Ilias Sakellariou
2016 Proceedings of the 6th International Conference on Simulation and Modeling Methodologies, Technologies and Applications  
HLogo is implemented as a Domain Specific Language embedded in the functional language Haskell, which means that it also inherits Haskell's features, such as its static typing.  ...  All the benchmarks in this work were carried out on the Dutch national HPC e-infrastructure, kindly provided by the SURF Foundation (http://surf.nl).  ...  Moreover, it is important that the effects of a transaction can be rollbacked, in case the transaction fails to commit: the type system of Haskell guarantees that STM effects cannot be intermixed with  ... 
doi:10.5220/0005983501190128 dblp:conf/simultech/BezirgiannisPS16 fatcat:opxdqfxo6nb5vg3o4fxy4kl7x4

Embedding a Hardware Description Language in Template Haskell [chapter]

John T. O'Donnell
2004 Lecture Notes in Computer Science  
Hydra is a domain-specific language for designing digital circuits, which is implemented by embedding within Haskell.  ...  Many features required for hardware specification fit well within functional languages, leading in many cases to a perfect embedding.  ...  In effect, Template Haskell allows the designer of a domain specific language to find the right mixture of embedding and compilation.  ... 
doi:10.1007/978-3-540-25935-0_9 fatcat:sbbvahhhafg4xlzbtak6tbk3xy

Haskino: A Remote Monad for Programming the Arduino [chapter]

Mark Grebe, Andy Gill
2016 Lecture Notes in Computer Science  
We then investigate extending the initial version of the library with a deep embedding allowing us to cut the cable, and run the Arduino as an independent system.  ...  The Haskino library provides a mechanism for programming the Arduino microcontroller boards in high level, strongly typed Haskell instead of the low level C language normally used.  ...  in native Haskell.  ... 
doi:10.1007/978-3-319-28228-2_10 fatcat:fcov2at3kbebxdnmic5oinosfq

Behavioural Types: from Theory to Tools [chapter]

Simon Gay, António Ravara
2017 Behavioural Types: from Theory to Tools  
This aspect of session types makes them hard to implement in languages which do not have built-in notions of linearity and resource consumption in the type system.  ...  This chapter overviews various approaches in the literature for session typed programming in Haskell.  ...  This work was supported in part by EPSRC grants EP/K011715/1, EP/K034413/1, EP/L00058X/1, EP/M026124/1, and EU project FP7-612985 UpScale.  ... 
doi:10.13052/rp-9788793519817 fatcat:bqdqi6o7i5btrnfkpaeyf7ntni

The remote monad design pattern

Andy Gill, Neil Sculthorpe, Justin Dawson, Aleksander Eskilson, Andrew Farmer, Mark Grebe, Jeffrey Rosenbluth, Ryan Scott, James Stanton
2015 Proceedings of the 8th ACM SIGPLAN Symposium on Haskell - Haskell 2015  
Finally, we discuss existing instances of the remote monad design pattern found in Haskell libraries.  ...  This gives the Haskell community access to remote capabilities that are not directly supported, at a surprisingly inexpensive cost.  ...  The icons in the sequence diagrams were created by Tomoyuki Miyano, and made available online, at http:/iconarchive.com/.  ... 
doi:10.1145/2804302.2804311 dblp:conf/haskell/GillSDEFGRSS15 fatcat:3grgan5tdncv7p54n52fk5y27y

Typed Tagless Final Interpreters [chapter]

Oleg Kiselyov
2012 Lecture Notes in Computer Science  
We finish with telling examples of type-directed partial evaluation and encodings of type-and-effect systems and linear lambda-calculus.  ...  These lecture notes introduce the final approach slowly and in detail, highlighting extensibility, the solution to the expression problem, and the seemingly impossible pattern-matching.  ...  We touch upon the languages with fancy type systems, with effect, §4.2, and linear, §4.3, types.  ... 
doi:10.1007/978-3-642-32202-0_3 fatcat:aq2fpvjxljc37eglbbagj55liq

Agate –an Agda-to-Haskell compiler
Agate(アガテ)–AgdaからHaskellへのコンパイラ

Hiroyuki OZAKI, Makoto TAKEYAMA, Yoshiki KINOSHITA
2009 Konpyuta sofutowea  
The second feature is the application of the Haskell class mechanism to embed typed Haskell terms in the universal type for untyped λ-calculus. This approach makes Agate very lightweight.  ...  The first feature is the use of Higher-Order Abstract Syntax to translate terms of the Agda language into untyped λ-calculus encoded in Haskell.  ...  interpreter in the Agda system.  ... 
doi:10.11309/jssst.26.4_107 fatcat:5oqhuik5wvbq5m6miyupoh6lce
« Previous Showing results 1 — 15 out of 6,530 results