Tech Talk: Building Refactoring Tools for Functional Languages

Please note the non-standard time and day for this talk.Galois is pleased to host the following tech talk.  These talks are open to the interested public.  Please join us!Talks will be held atGalois Inc.421 SW 6th Ave. Suite 300, Portland, OR, USA(3rd floor of the Commonwealth building)

Building Refactoring Tools for Functional Languages

  • Presenter: Prof. Simon Thompson
  • Date: Thursday, April 1, 2010
  • Time: 10:30am
Abstract: Refactoring is the process of changing the design of a program without changing what it does. Typical refactorings, such as function extraction and generalisation, are intended to make a program more amenable to extension, more comprehensible and so on. Refactorings differ from other sorts of program transformation in being applied to source code (rather than within the bowels of a compiler), and in having an effect across a code base. Because of this, there is a need to give (semi-)automated support to the process. This talk will reflect on our experience of building tools to refactor functional programs written in Haskell and Erlang (Wrangler). In doing this we will address system design, the pragmatics of system take-up, as well as contrasting the style of refactoring and tooling for Haskell and Erlang.Bio: Simon Thompson is a Professor of Logic and Computation at the University of Kent.

Click to read more ...


Tech Talk: Two Talks! One Week!

LATE NOTICE: The Simon Thompson talk has been moved to Thurs. April 1, at 10:30am.Please note the non-standard times for these talks.Galois is pleased to host two tech talks during the week of March 22, 2010.  The two talks are short (20-30 minutes each) talks back-to-back at 10:30am on March 24th. Details are below.Talks will be held atGalois Inc.421 SW 6th Ave. Suite 300, Portland, OR, USA(3rd floor of the Commonwealth building)These talks are open to the interested public.  Please join us!

Visualization and Diversity Information

  • Presenter: Prof. Ron Metoyer
  • Date: Wednesday, March 24, 2010
  • Time: 10:30am
Abstract: The term ``diversity’’ is used in many ways in many domains.  People are concerned about the diversity of their work force, stock portfolios, student body, and forest insects, just to name a few.  In this talk, I will discuss a work-in-progress visualization technique specifically designed to communicate diversity information.  I will present the design concerns, resulting visualizations, and a study design for evaluating the method.  I will conclude with a discussion of a case-study application to moth species data.Bio: Ronald Metoyer is an Associate Professor in the School of Electrical Engineering and Computer Science at Oregon State University.  He earned a Ph.D. from the Georgia Institute of Technology where he worked in the Graphics, Visualization and Usability Center with a focus on modeling and visualizing the motion of pedestrians in urban and architectural scenes.  Dr. Metoyer currently co-directs the NVIDIA Graphics and Imaging Technologies Lab (GAIT) with his colleagues at OSU. His past research efforts have involved the investigation of techniques for manipulating motion capture data and for facilitating the creation of 3D content by end users with the goal of empowering domain experts to create compelling and interactive content for their domain specific needs.  In 2002, he received an NSF CAREER Award for his work in "Understanding the Complexities of Animated Content".  Dr. Metoyer's most recent research interests fall under the domain of information visualization.

TITLE: Scientific Data Visualization in a GPU World

  • Presenter: Prof. Mike Bailey
  • Date: Wednesday, March 24, 2010
  • Time: 11:00am
Abstract: One of the fun aspects of scientific data visualization is that there are no rules -- anything that adds insight to the data display is fair game.  Add that to the fun of custom-programming the GPU, and you've really got something!This talk will discuss some of the uses of custom GPU programming to create better and more interactive visualization displays.  We will look at techniques in the realm of scalar visualization, vector visualization, volume visualization, and terrain mapping.Bio: Mike Bailey is a Professor in Computer Science at Oregon State University. He specializes in scientific visualization, 3D interactive computer graphics, GPU programming, stereographics, and computer aided geometric design.

Click to read more ...


Tech Talk: An Introduction to Communicating Haskell Processes

Please note the unusual time-slot for this talk!Details:

  • Title: An Introduction to Communicating Haskell Processes
  • Presenter: Neil Brown
  • Date: Monday, 15 March 2010
  • Time: 10:30am
  • Location: Galois Inc.421 SW 6th Ave. Suite 300, Portland, OR, USA(3rd floor of the Commonwealth building)
Abstract: Haskell is an excellent language for combining the power of functional programming with imperative constructs. This characteristic led to the development of the Communicating Haskell Processes (CHP) libraries, which support imperative synchronous message-passing in Haskell. The core 'chp' library provides basic message-passing, concurrency and choice, as well as integrated support for tracing. The 'chp-plus' library provides higher-level features such as process composition operators and behaviour combinators. This talk provides an introduction to the two libraries and the programming style they engender -- as well as a brief look at the formal semantics underlying the libraries.Bio: Neil Brown is a software researcher from the University of Kent in the UK. After graduating he worked for several years as a machine learning researcher in industry at QinetiQ, before returning to university to undertake his PhD. He started out writing a Haskell-based compiler for synchronous message-passing languages, and ended up programming some synchronous message-passing libraries for Haskell itself. As well as these CHP libraries, he also developed the Progression benchmark-graphing library for Haskell. More detail on both projects can be found on his blog.

Click to read more ...


The Semantics of Asynchronous Exceptions

John Launchbury presented a Galois Developer Symposium lunch on March 4th, 2010, where he presented the semantics for asynchronous exceptions in Haskell. In particular, discussion concentrated on the interactions between Concurrent Haskell, laziness and exceptions.Follow the talk online, or download the pdf.

Click to read more ...


Tech Talk: Modern Benchmarking in Haskell


  • Title: Modern Benchmarking in Haskell (slides)
  • Presenter: Don Stewart
  • Date: Tuesday, 23 February 2010
  • Time: 10:30am
  • Location: Galois Inc.421 SW 6th Ave. Suite 300, Portland, OR, USA(3rd floor of the Commonwealth building)
Abstract: Thanks to work by Bryan O'Sullivan, there has been a renaissance in performance benchmarking tools for Haskell, built upon Criterion."Compared to most other benchmarking frameworks (for any programming language, not just Haskell), criterion focuses on being easy to use, informative, and robust."Criterion uses statistically robust mechanisms for sampling and computing sound microbenchmark results, and is more stable in the presence of noise on the system than naive timings.Criterion has in turn spawned some extensions:
  • Progrssion: compare different criterion graphs
  • NoSlow: a new array benchmark suite based on Criterion
In this talk I will present these tools, how to use them, and how to make your performance benchmarks in Haskell, or languages Haskell can talk to, more reliable.Bio: Don is an Australian open source hacker, and engineer at Galois, Inc, in Portland, Oregon, where he works on creating trustworthiness and assurance in critical systems with an emphasis on language design and compiler techniques. Don is co-author of the book, Real World Haskell, published by O'Reilly, and the XMonad window manager.
Galois has been holding weekly technical seminars for several years on topics from functional programming, formal methods, compiler and language design, to cryptography, and operating system construction, with talks by many figures from the programming language and formal methods communities. The talks are open and free. An RSVP is not required, but feel free to contact the organizer with questions and comments.

Click to read more ...