Björn Bringert - Projects & Publications
Peer-reviewed Publications
-
Interactive Multilingual Web Applications with Grammatical Framework,
Moisés Salvador Meza Moreno and Björn Bringert,
in Advances in Natural Language Processing, 6th International Conference, GoTAL 2008, Gothenburg, Sweden, August 25-27, 2008.
[abstract,
paper (pdf),
bibtex]
-
Speech Translation with Grammatical Framework,
Björn Bringert,
in
Coling 2008: Proceedings of the workshop on Speech Processing for
Safety Critical Translation and Pervasive Applications,
Manchester, UK, August 23, 2008.
[abstract,
paper (pdf),
bibtex]
-
A Pattern for Almost Compositional Functions,
Björn Bringert and Aarne Ranta,
Journal of Functional Programming,
volume 18, issue 5-6, pages 567-598.
This is an extended and reorganized version of the ICFP 2006 paper with the
same title.
[abstract,
paper (pdf),
bibtex]
-
Rapid Development of Dialogue Systems by Grammar Compilation,
Björn Bringert,
in Proceedings of the 8th SIGdial Workshop on Discourse and Dialogue,
Antwerp, Belgium, September 1-2, 2007.
[abstract,
paper (pdf),
bibtex,
poster (pdf)]
-
Speech Recognition Grammar Compilation in Grammatical Framework,
Björn Bringert,
in Proceedings of the Workshop on Grammar-Based Approaches to Spoken Language Processing,
(SPEECHGRAM 2007),
Prague, Czech Republic, June 29, 2007.
[abstract,
paper (pdf),
bibtex,
slides (pdf)]
-
A Pattern for Almost Compositional Functions,
Björn Bringert and Aarne Ranta,
in Proceedings of ICFP 2006,
The 11th ACM SIGPLAN International Conference on Functional Programming,
Portland, Oregon, USA, September 18-20, 2006.
[abstract,
paper (pdf),
paper (ps),
bibtex,
slides (pdf)]
-
Multimodal Dialogue System Grammars,
Björn Bringert, Robin Cooper, Peter Ljunglöf, Aarne Ranta,
in Proceedings of
DIALOR'05,
Ninth Workshop on the Semantics
and Pragmatics of Dialogue, Nancy, France, June 9-11, 2005.
[abstract,
paper (pdf),
paper (ps),
bibtex,
slides (pdf)]
-
Student
Paper: HaskellDB Improved,
Björn Bringert, Anders Höckersten,
Conny Andersson, Martin Andersson, Mary Bergman, Victor Blomqvist and
Torbjörn Martin. In Proceedings of the
ACM SIGPLAN 2004
Haskell Workshop, Snowbird, Utah, USA, September 22, 2004.
[abstract,
paper (pdf),
paper (ps),
bibtex]
Theses
-
Programming Language Techniques for Natural Language Applications,
Björn Bringert,
PhD Thesis,
Chalmers University of Technology and University of Gothenburg,
Gothenburg, Sweden, November 2008.
[abstract,
thesis (pdf),
announcement (pdf),
bibtex]
-
Compiling Grammar-based Speech Application Components,
Björn Bringert,
Licentiate Thesis,
Chalmers University of Technology and University of Gothenburg,
Gothenburg, Sweden, October 2007.
[abstract,
thesis (pdf),
bibtex,
announcement (pdf)]
-
Embedded Grammars,
Björn Bringert, Master's Thesis, Chalmers University
of Technology, Gothenburg, Sweden, February 2005.
[abstract,
report (pdf),
report (ps),
bibtex]
Selected Talks
- HaskellDB
[slides (pdf),
slides (ps)] given
at AFP 2004,
5th International Summer School on
Advanced Functional Programming,
Tartu, Estonia, and
in the Databases course, Fall 2005 and
Spring 2006,
Chalmers University of Technology, Göteborg, Sweden.
-
Building Multimodal
Dialogue Systems in Grammatical Framework
[abstract,
slides (pdf)],
presented at the TYPES2004
conference, Jouy-en-Josas, France, December 15-18, 2004.
Software
The projects below vary greatly in how long ago I touched them, how well they work and
how well they are documented. I'm happy to answer questions about any of them,
but I might not always remember all that much.
Unless noted otherwise in the source code, packages or repositories,
this software is licensed under the
GNU General Public License.
Many of the projects are kept in darcs repositories.
They are browsable using an ordinary web browser. If you want to get your own copy
of a project, you need to install darcs and run
darcs get repo-url, where repo-url
is the URL for the repository, e.g.
http://www.cs.chalmers.se/~bringert/darcs/hope/.
For more information about darcs, see the
darcs homepage.
Natural Language Technology
- Embedded GF Interpreter
is an interpreter written in Java for parsing and linearization
using GF grammars.
The interpreter
has an OAA
interface so that it may be used as a component in systems written in
other programming languages.
- Numerals
translator applet
[screenshot]
is a demo applet which uses the Embedded GF interpreter and the GF numerals
grammars to translate numerals between a number of languages. You need a
Java 1.5
plugin to run the applet.
- GF Speech Translator
is a simple unidirectional speech translation system which uses
GF
grammars.
- Tramdemo
[demo movie]
demonstrates the use of multimodal grammars as a method for implementing
multimodal dialog systems.
- Dialogutil
is a set of utilities for writing dialog systems using Java and OAA.
- The GF Transfer Language
is a programming language which can be used to write functions which work on abstract syntax terms.
- Pizza Demo
[demo movie]
is a web based dialog system
which uses
XHTML+Voice generated from a
GF
grammar.
Haskell libraries
-
tar
[HackageDB],
a library for reading and writing TAR archives.
-
haxr
[HackageDB],
a Haskell
XML-RPC client and server library.
The design and implementation of this library is described in the report
Haskell XML-RPC.
-
HTTP
[HackageDB],
a Haskell HTTP
client library originally created by Warrick Gray.
-
haskelldb
[HackageDB],
a declarative Haskell
database library originally created by Daan Leijen.
-
cgi
[HackageDB],
a CGI library for Haskell.
-
fastcgi
[HackageDB],
a FastCGI library for Haskell.
-
xhtml
[HackageDB],
a version of the
html package
modified to produce XHTML 1.0.
-
gd
[HackageDB],
a Haskell binding to a (currently very small) subset of the
GD graphics library.
-
exif
[HackageDB],
a Haskell binding to a subset of
libexif.
- rss,
[HackageDB],
a Haskell package for generating
RSS 2.0 feeds.
This is an updated version of Jeremy Shaw's original RSS module.
-
unix-compat,
[HackageDB],
a cross-platform POSIX compatibility layer.
-
hmarkup
[HackageDB],
implements an extensible simple wikitext-like mark-up format. Currently only produces XHTML.
-
parsedate
[HackageDB],
a Haskell date parsing library.
-
hs-readline
[HackageDB],
a simple readline replacement written in pure Haskell. It supports line
editing, history and tab completion. Probably very VT100-specific.
-
cabal-upload
[HackageDB],
is a command-line tool for uploading Cabal packages to HackageDB.
-
alsa,
a set of Haskell bindings to a part of the ALSA (Advanced Linux Sound Architecture)
library API.
Haskell web applications
-
Hope, a platform for Haskell web applications.
The code is in the Hope darcs repo.
-
Modular Haskell Web Server, a heavily modified version of
Simon Marlow's Haskell Web Server. Has a module system and can run CGI programs.
-
Haskell Web Server, a conservative
modernization of Simon Marlow's Haskell Web Server.
-
dyn-cgi, a system for writing web applications with
dynamically interpreted Haskell code. See the
demo wiki
for more information.
- hask-home
is a program that I use to generate home pages for
cabalized Haskell libraries and programs.
-
hdb-foldoc
is a Haskell XML-RPC
server for querying
a local copy of Foldoc
using HaskellDB.
-
Halbum is a simple web-based photo album system.
NOTE: this is an old version of the code that has become the
halbum2 module in Hope stand-alone (see above).
-
BloB is a simple blogging system with web,
RSS and XML-RPC interfaces.
NOTE: this is an old stand-alone version of the code that has become the
blob2 module in Hope (see above).
Language training
-
Langtrain
is a web-based program for doing translation exercises generated by
GF.
The code is available from the
Langtrain darcs repo.
-
flip is a flashcard vocabulary training program for PalmOS.
Speech recognition
Java libraries and utilities
-
Higher-Order Java
is a Generic Java library for curried higher order functions.
-
loadlib
is Java library for loading
native libraries from various sources, including urls, input streams,
zip and jar files.
-
niowww
is a small and fast webserver
written in Java. Requires Java 1.4.0 or higher. Usage:
java -jar niowww.jar [-r root] [-p port]
-
jwake is a Java appplication which sends Wake-On-LAN packets.
Programming languages stuff
Multimedia software
-
viewer
is an image viewer written in Java. Features include:
fullscreen mode, remote control support, zoom, and rotation.
-
jmms is a Java media
player that uses the
Java
Media Framework.
-
metamedia
is an OSD-enabled front-end for various *NIX multimedia programs.
Games
-
Netciv is a turn-based multiplayer strategy game simliar to
Civilization II.
IR remote control
Linux kernel and systems stuff
-
lcdterm
is a Linux kernel module for
alphanumeric LCDs connected to the parallel port. Supports VT100 escape
sequences and buttons / switches connected to the input pins.
-
Granular setuid
is a patch against Linux 2.4.20 that lets the system administrator give
additional permissions to processes running a given program. For
example, /usr/bin/passwd maybe be given permission to write
to /etc/passwd. The intention is to reduce the number of
programs that must run setuid root. This patch is only a
proof-of-concept. Do not use it for anything serious. If you need this
functionality, consider making the program setuid to a user/group of
its own and using some ACL system to grant the permissions to that group.
This system is described in the report
Executable based access control.
- ru_yawerty_se, a phonetic keyboard
layout for typing in Russian on a Swedish keyboard. For XFree86.
Contributions to other Open Source Software
Some other open source software projects that I have contributed to but don't maintain
myself:
- QuickCheck 2,
a Haskell library for random testing.
-
A directory of open source language technology software,
which I help maintain (the directory that is, not all the software).
You are welcome to e-mail me additions to the directory.
- BNF
Converter, a compiler front-end generator.
- Grammatical
Framework, a grammar formalism based on type theory.
- GHC, the Glasgow Haskell Compiler.
- Functional Morphology,
a toolkit for morphology development.
-
Data.ByteString,
a library for efficient string representation in Haskell.
-
Data.Binary,
a Haskell library for binary serialization using lazy ByteStrings.
- The Haskell
time package.
-
hs-plugins,
a library for loading Haskell code at runtime.
-
HSQL,
a Haskell database interface.
-
Cabal, the Haskell
Common Architecture for Building Applications and Libraries.
-
LIRC - Linux Infrared Remote
Control, a package for using IR remotes with Linux.
-
XOSD,
an On-Screen Display program for X11.
-
SDCC,
the Small Device C Compiler.
Copyright Björn Bringert 2003-2008.
Chalmers disclaimer
Valid XHTML 1.0
Valid CSS