SwePub
Sök i SwePub databas

  Utökad sökning

Träfflista för sökning "L773:0730 8566 ;srt2:(2010-2014)"

Sökning: L773:0730 8566 > (2010-2014)

  • Resultat 1-10 av 24
Sortera/gruppera träfflistan
   
NumreringReferensOmslagsbildHitta
1.
  • Almström Duregård, Jonas, 1984, et al. (författare)
  • Embedded Parser Generators
  • 2011
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - : Association for Computing Machinery (ACM). - 0730-8566 .- 0362-1340 .- 1558-1160. ; 46:12, s. 107-117
  • Tidskriftsartikel (refereegranskat)abstract
    • We present a novel method of embedding context-free grammars in Haskell, and to automatically generate parsers and pretty-printers from them. We have implemented this method in a library called BNFC-meta (from the BNF Converter, which it is built on). The library builds compiler front ends using metaprogramming instead of conventional code generation. Parsers are built from labelled BNF grammars that are defined directly in Haskell modules. Our solution combines features of parser generators (static grammar checks, a highly specialised grammar DSL) and adds several features that are otherwise exclusive to combinatory libraries such as the ability to reuse, parameterise and generate grammars inside Haskell. To allow writing grammars in concrete syntax, BNFC-meta provides a quasi-quoter that can parse grammars (embedded in Haskell files) at compile time and use metaprogramming to replace them with their abstract syntax. We also generate quasi-quoters so that the languages we define with BNFC-meta can be embedded in the same way. With a minimal change to the grammar, we support adding anti-quotation to the generated quasi-quoters, which allows users of the defined language to mix concrete and abstract syntax almost seamlessly. Unlike previous methods of achieving anti-quotation, the method used by BNFC-meta is simple, efficient and avoids polluting the abstract syntax types.
  •  
2.
  • Ankner, Johan, et al. (författare)
  • An EDSL approach to high performance haskell programming
  • 2013
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - New York, NY, USA : ACM. - 0730-8566. ; 48:12, s. 1-11
  • Tidskriftsartikel (refereegranskat)abstract
    • This paper argues for a new methodology for writing high performance Haskell programs by using Embedded Domain Specific Languages. We exemplify the methodology by describing a complete library, meta-repa, which is a reimplementation of parts of the repa library. The paper describes the implementation of meta-repa and contrasts it with the standard approach to writing high performance libraries. We conclude that even though the embedded language approach has an initial cost of defining the language and some syntactic overhead it gives a more tailored programming model, stronger performance guarantees, better control over optimizations, simpler implementation of fusion and inlining and allows for moving type level programming down to value level programming in some cases. We also provide benchmarks showing that meta-repa is as fast, or faster, than repa. Furthermore, meta-repa also includes push arrays and we demonstrate their usefulness for writing certain high performance kernels such as FFT.
  •  
3.
  • Axelsson, Emil, 1978 (författare)
  • A generic abstract syntax model for embedded languages
  • 2012
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - New York, NY, USA : ACM. - 0730-8566. - 9781450310543 ; 47:9, s. 323-334
  • Konferensbidrag (refereegranskat)abstract
    • Representing a syntax tree using a data type often involves having many similar-looking constructors. Functions operating on such types often end up having many similar-looking cases. Different languages often make use of similar-looking constructions. We propose a generic model of abstract syntax trees capable of representing a wide range of typed languages. Syntactic constructs can be composed in a modular fashion enabling reuse of abstract syntax and syntactic processing within and across languages. Building on previous methods of encoding extensible data types in Haskell, our model is a pragmatic solution to Wadler's "expression problem". Its practicality has been confirmed by its use in the implementation of the embedded language Feldspar.
  •  
4.
  • Axelsson, Emil, 1978, et al. (författare)
  • Using Circular Programs for Higher-Order Syntax Functional pearl
  • 2013
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - : Association for Computing Machinery (ACM). - 0730-8566 .- 0362-1340 .- 1558-1160. ; 48:9, s. 257-262
  • Tidskriftsartikel (refereegranskat)abstract
    • This pearl presents a novel technique for constructing a first-order syntax tree directly from a higher-order interface. We exploit circular programming to generate names for new variables, resulting in a simple yet efficient method. Our motivating application is the design of embedded languages supporting variable binding, where it is convenient to use higher-order syntax when constructing programs, but first-order syntax when processing or transforming programs.
  •  
5.
  • Bernardy, Jean-Philippe, 1978, et al. (författare)
  • Efficient Divide-and-Conquer Parsing of Practical Context-Free Languages
  • 2013
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - : Association for Computing Machinery (ACM). - 0730-8566 .- 0362-1340 .- 1558-1160. ; 48:9, s. 111-122
  • Tidskriftsartikel (refereegranskat)abstract
    • We present a divide-and-conquer algorithm for parsing context-free languages efficiently. Our algorithm is an instance of Valiant's (1975), who reduced the problem of parsing to matrix multiplications. We show that, while the conquer step of Valiant's is O(n(3)) in the worst case, it improves to O(log (3) n), under certain conditions satisfied by many useful inputs. These conditions occur for example in program texts written by humans. The improvement happens because the multiplications involve an overwhelming majority of empty matrices. This result is relevant to modern computing: divide-and-conquer algorithms can be parallelized relatively easily.
  •  
6.
  • Bernardy, Jean-Philippe, 1978, et al. (författare)
  • Names For Free - Polymorphic Views of Names and Binders
  • 2013
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - New York, NY, USA : ACM. - 0730-8566. - 9781450323833 ; 48:12, s. 13-24
  • Konferensbidrag (refereegranskat)abstract
    • We propose a novel technique to represent names and binders inHaskell. The dynamic (run-time) representation is based on de Bruijnindices, but it features an interface to write and manipulatevariables conviently, using Haskell-level lambdas and variables. Thekey idea is to use rich types: a subterm with an additional free variableis viewed either as $\forall v. v \rightarrow \mathsf{Term} (a + v)$or $\exists v. v \times \mathsf{Term} (a + v)$ depending on weather itis constructed or analysed. We demonstrate on a number of exampleshow this approach approach permits to express terms construction and manipulation in a natural way, while retaining the good properties ofrepresentations based on de Bruijn indices.
  •  
7.
  • Bernardy, Jean-Philippe, 1978, et al. (författare)
  • Parametricity and Dependent Types
  • 2010
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - : Association for Computing Machinery (ACM). - 0730-8566 .- 0362-1340 .- 1558-1160. ; 45:9, s. 345-356
  • Tidskriftsartikel (refereegranskat)abstract
    • Reynolds' abstraction theorem shows how a typing judgement in System F can be translated into a relational statement (in second order predicate logic) about inhabitants of the type. We (in second order predicate logic) about inhabitants of the type. We obtain a similar result for a single lambda calculus (a pure type system), in which terms, types and their relations are expressed. Working within a single system dispenses with the need for an interpretation layer, allowing for an unusually simple presentation. While the unification puts some constraints on the type system (which we spell out), the result applies to many interesting cases, including dependently-typed ones.
  •  
8.
  • Bernardy, Jean-Philippe, 1978, et al. (författare)
  • Type-Theory In Color
  • 2013
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - : Association for Computing Machinery (ACM). - 0730-8566 .- 0362-1340 .- 1558-1160. ; 48:9, s. 61-71
  • Tidskriftsartikel (refereegranskat)abstract
    • Dependent type-theory aims to become the standard way to formalize mathematics at the same time as displacing traditional platforms for high-assurance programming. However, current implementations of type theory are still lacking, in the sense that some obvious truths require explicit proofs, making type-theory awkward to use for many applications, both in formalization and programming. In particular, notions of erasure are poorly supported.In this paper we propose an extension of type-theory with colored terms, color erasure and interpretation of colored types as predicates. The result is a more powerful type-theory: some definitions and proofs may be omitted as they become trivial, it becomes easier to program with precise types, and some parametricity results can be internalized.
  •  
9.
  • Broberg, Niklas, 1979, et al. (författare)
  • Paralocks: Role-based information flow control and beyond
  • 2010
  • Ingår i: 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'10, Madrid, Spain, 17-23 January 2010. - New York, NY, USA : ACM. - 0730-8566. - 9781605584799 ; , s. 431-444
  • Konferensbidrag (refereegranskat)abstract
    • This paper presents Paralocks, a language for building expressive but statically verifiable fine-grained information flow policies. Paralocks combine the expressive power of Flow Locks (Broberg & Sands, ESOP'06) with the ability to express policies involving run-time principles, roles (in the style of role-based access control), and relations (such as "acts-for" in discretionary access control). We illustrate the Paralocks policy language by giving a simple encoding of Myers and Liskov's Decentralized Label Model (DLM). Furthermore - and unlike the DLM - we provide an information flow semantics for full Paralock policies. Lastly we illustrate how Paralocks can be statically verified by providing a simple programming language incorporating Paralock policy specifications, and a static type system which soundly enforces information flow security according to the Paralock semantics.
  •  
10.
  • Broberg, Niklas, 1979, et al. (författare)
  • Paralocks - Role-Based Information Flow Control and Beyond
  • 2010
  • Ingår i: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). - : Association for Computing Machinery (ACM). - 0730-8566 .- 0362-1340 .- 1558-1160. ; 45:1, s. 431-444
  • Tidskriftsartikel (refereegranskat)abstract
    • This paper presents Paralocks, a language for building expressive but statically verifiable fine-grained information flow policies. Paralocks combine the expressive power of Flow Locks (Broberg & Sands, ESOP'06) with the ability to express policies involving runtime principles, roles (in the style of role-based access control), and relations (such as "acts-for" in discretionary access control). We illustrate the Paralocks policy language by giving a simple encoding of Myers and Liskov's Decentralized Label Model (DLM). Furthermore - and unlike the DLM - we provide an information flow semantics for full Paralock policies. Lastly we illustrate how Paralocks can be statically verified by providing a simple programming language incorporating Paralock policy specifications, and a static type system which soundly enforces information flow security according to the Paralock semantics.
  •  
Skapa referenser, mejla, bekava och länka
  • Resultat 1-10 av 24

Kungliga biblioteket hanterar dina personuppgifter i enlighet med EU:s dataskyddsförordning (2018), GDPR. Läs mer om hur det funkar här.
Så här hanterar KB dina uppgifter vid användning av denna tjänst.

 
pil uppåt Stäng

Kopiera och spara länken för att återkomma till aktuell vy