Anthony M. Sloane
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Research Subjects
Anthony M. Sloane has a total of 47 co-authors. Here are the top co-authors by number of shared publications:
- Matthew Roberts
School of Computing, Macquarie University
7 shared publications - Eelco Visser
Delft University of Technology, Netherlands
3 shared publications - Franck Cassez
ConsenSys
3 shared publications Scott Buckley
Macquarie University, Australia
3 shared publications- William McCastline Waite
University of Colorado at Boulder
3 shared publications - Len Hamey
Department of Computing, Macquarie University, Sydney, Australia
2 shared publications
Latest Publications
- Open Access
- 23 October 2017
- Published by Association for Computing Machinery (ACM)
- p. 139-150
A formalisation of parameterised reference attribute grammars
- 23 October 2017
- Published by Association for Computing Machinery (ACM)
- p. 139-150
Open AccessA formalisation of parameterised reference attribute grammars
- Open Access
- 22 October 2017
- Published by Association for Computing Machinery (ACM)
- p. 51-55
ScalaSMT: satisfiability modulo theory in Scala (tool paper)
- 22 October 2017
- Published by Association for Computing Machinery (ACM)
- p. 51-55
Open AccessScalaSMT: satisfiability modulo theory in Scala (tool paper)
- 31 March 2017
- Published by Springer Nature
- p. 380-384
Skink: Static Analysis of Programs in LLVM Intermediate Representation
- 31 March 2017
- Published by Springer Nature
- p. 380-384
Skink: Static Analysis of Programs in LLVM Intermediate Representation
- 1 December 2016
- Published by Elsevier in Science of Computer Programming
- Vol. 132, 2-28
Embedding attribute grammars and their extensions using functional zippers
- 1 December 2016
- Published by Elsevier in Science of Computer Programming
- Vol. 132, 2-28
Embedding attribute grammars and their extensions using functional zippers
- Open Access
- 30 October 2016
- Published by Association for Computing Machinery (ACM)
- p. 110-113
The sbt-rats parser generator plugin for Scala (tool paper)
Tools for creating parsers are a key part of a mature language eco-system. Scala has traditionally relied on combinator libraries for defining parsers but being libraries they come with fundamental implementation limitations. An alternative is to use a Java-based parser generator such as ANTLR or Rats! but these tools are quite verbose and not ideal to use with Scala code. We describe our experiences with Scalafocused parser generation that is embodied in our sbt-rats plugin for the Scala Build Tool. At its simplest, sbt-rats provides a bridge to the Rats! parser generator for Java. On top of this bridge, we have a simple grammar definition notation that incorporates annotations for tree construction and pretty-printing. As well as generating a Rats! grammar, sbt-rats can optionally generate case class definitions for the tree structure and a pretty-printer defined using our Kiama language processing library. We explain the sbt-rats grammar notation and describe our positive experiences using it to define grammars for LLVM assembly notation and the SMTLIB input/output language for SMT solvers.4 page(s
- 30 October 2016
- Published by Association for Computing Machinery (ACM)
- p. 110-113
Open AccessThe sbt-rats parser generator plugin for Scala (tool paper)
Tools for creating parsers are a key part of a mature language eco-system. Scala has traditionally relied on combinator libraries for defining parsers but being libraries they come with fundamental implementation limitations. An alternative is to use a Java-based parser generator such as ANTLR or Rats! but these tools are quite verbose and not ideal to use with Scala code. We describe our experiences with Scalafocused parser generation that is embodied in our sbt-rats plugin for the Scala Build Tool. At its simplest, sbt-rats provides a bridge to the Rats! parser generator for Java. On top of this bridge, we have a simple grammar definition notation that incorporates annotations for tree construction and pretty-printing. As well as generating a Rats! grammar, sbt-rats can optionally generate case class definitions for the tree structure and a pretty-printer defined using our Kiama language processing library. We explain the sbt-rats grammar notation and describe our positive experiences using it to define grammars for LLVM assembly notation and the SMTLIB input/output language for SMT solvers.4 page(s
- Open Access
- 20 October 2016
- Published by Association for Computing Machinery (ACM)
- p. 29-30
Specifying CSS layout with reference attribute grammars
Layout for web documents is a complex process described by the lengthy prose Cascading Style Sheets (CSS) specification. It is difficult to ensure that implementations match this specification. We show how an implementation can more closely match the specification by using attribute grammars to define layout computations. Particularly, we show how high-level patterns encode the terminology of the specification, discriminating between elements using the same language as in the specification. We also present a new method of injecting artificial structure into an existing tree using reference attribute grammars. The result is a high-level executable specification for CSS layout that can form the basis for a full declarative implementation.2 page(s
- 20 October 2016
- Published by Association for Computing Machinery (ACM)
- p. 29-30
Open AccessSpecifying CSS layout with reference attribute grammars
Layout for web documents is a complex process described by the lengthy prose Cascading Style Sheets (CSS) specification. It is difficult to ensure that implementations match this specification. We show how an implementation can more closely match the specification by using attribute grammars to define layout computations. Particularly, we show how high-level patterns encode the terminology of the specification, discriminating between elements using the same language as in the specification. We also present a new method of injecting artificial structure into an existing tree using reference attribute grammars. The result is a high-level executable specification for CSS layout that can form the basis for a full declarative implementation.2 page(s
- 1 December 2015
- Published by Elsevier in Science of Computer Programming
- Vol. 114, 20-32
Oberon-0 in Kiama
- 1 December 2015
- Published by Elsevier in Science of Computer Programming
- Vol. 114, 20-32
Oberon-0 in Kiama
- 1 December 2014
- Published by Elsevier in Science of Computer Programming
- Vol. 96, 488-510
Domain-specific program profiling and its application to attribute grammars and term rewriting
- 1 December 2014
- Published by Elsevier in Science of Computer Programming
- Vol. 96, 488-510
Domain-specific program profiling and its application to attribute grammars and term rewriting
- Open Access
- 26 August 2014
- Published by Association for Computing Machinery (ACM)
- p. 25-34
Type inference for the spine view of data
In this work we describe both a type checking and a type inference algorithm for generic programming using the spine view of data. The spine view of data is an approach to decomposing data in functional programming languages that supports generic programming in the style of Scrap Your Boilerplate and Stratego. The spine view of data has previously been described as a library in a statically typed language (as in Haskell), as a language feature in a dynamically typed language (as in Stratego), and as a calculus of patterns (as in the Pattern Calculus). The contribution of this paper is a type inference algorithm for the spine view and a type relation that underlies this inference algorithm. In contrast to all other typed implementations of the spine view, the type inference algorithm does not require any type annotations to be added in support of the spine view. This type inference algorithm is an extension of Hindley-Milner type inference, thus showing how to introduce the spine view of data as a language feature in any functional programming language based on Hindley-Milner.10 page(s
- 26 August 2014
- Published by Association for Computing Machinery (ACM)
- p. 25-34
Open AccessType inference for the spine view of data
In this work we describe both a type checking and a type inference algorithm for generic programming using the spine view of data. The spine view of data is an approach to decomposing data in functional programming languages that supports generic programming in the style of Scrap Your Boilerplate and Stratego. The spine view of data has previously been described as a library in a statically typed language (as in Haskell), as a language feature in a dynamically typed language (as in Stratego), and as a calculus of patterns (as in the Pattern Calculus). The contribution of this paper is a type inference algorithm for the spine view and a type relation that underlies this inference algorithm. In contrast to all other typed implementations of the spine view, the type inference algorithm does not require any type annotations to be added in support of the spine view. This type inference algorithm is an extension of Hindley-Milner type inference, thus showing how to introduce the spine view of data as a language feature in any functional programming language based on Hindley-Milner.10 page(s
- 1 January 2014
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 211-220
Monto: A Disintegrated Development Environment
- 1 January 2014
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 211-220
Monto: A Disintegrated Development Environment