DEROWEGEN

About

Welcome to my home in the net. You can find a number of things I'm occupied with in the moment, or which I've done in the past.

If you are interessted in my person, here are some short facts: after having studied and graduated in musicology and philosophy at Ruhr-Universität Bochum I've worked for some time on the cataloguing of a small collection of musical instruments (Musikinstrumentensammlung Hans und Hede Grumbt). I've changed to software developement, and nowadays I'm working with Ableton, a Berlin based company in music software products (www.ableton.com).

Coding and Opensource

Aqt StyleSheets

StylesSheets is a library for Qt/QML that allows you to apply CSS stylesheets to QML applications.

A singleton StyleEngine reads and parses a CSS file. QML components in your application can use the StyleSet attached object to request style properties. In doing so, the classname of the requesting object, its position in the component hierarchy, and its StyleSet.name info are used to build a selector path that is searched for in the CSS.

Decoupling application visual style from QML code allows designers and developers freedom to change the visual appearance of an application without breaking functionality, and allows for changing many similar QML components with fewer lines of code through selectors that apply across many components.

More...

The Herschel Programming Language

Herschel is an general-purpose multiparadigm programming language. It is strongly typed, offering type inference and parametric polymorphism (generics). It is consequently object oriented (everything is a object, even functions), while its consequent multiple dispatch approach keeps a strong functional touch. The object model is class-oriented, supporting multiple inheritance as well as the separation of types (protocols, interfaces) and classes.

The grammar is regular, small, and context free. In particular it can be parsed without symbol tables, and does not require a special preprocessor since it offers powerful hygienic macros as part of the language and special support for conditional compilation.

It is designed for a conventional compile-link development model, though this is not required by the specification.

Herschel has been strongly influenced by languages like Scheme, Dylan, Cecil/Diesel, and Modula-3. It drew of course influences of much more sources, which are sometimes not obvious (like D and Go).

A (non complete) list of features:

Specification

The full language specification is part of the compiler repository (see here). A version, rendered as PDF, is available for here: herschel-spec.pdf

Examples

The inevitable hello world:

def app|main()
  outln("hello world")
    

Computing fibonacci numbers:

def fib(n)
  if (n < 2)
    1
  else
    fib(n - 1) + fib(n - 2)


def app|main()
  let n = 28
  outln("Fib(%d): %d" % #[n, fib(n)])
    

"99 bottles of beer":

module beer99
import "io/io.h7"

def bottles(n : Int)
  for (i in n .. 0 by -1) {
    let number-str = select (i) {
                       | 0 -> "No more bottles"
                       | 1 -> "One bottle"
                       | else "%d bottles" % i
                     }
    outln("%s of beer on the wall" % number-str)
    outln("%s of beer" % number-str)
    outln("Take one down, pass it around")
    outln("%s of beer on the wall" % number-str)
    outln()
  }

def app|main()
  bottles(99)
    

Download

Herschel is not ready yet. It's not even working as a real compiler yet. If you are interested in it anyway, you can get it's current source code from the public mercurial repository at bitbucket.org either by snapshot or by mercurial clone. For the later run this command from in your terminal:

hg clone https://bitbucket.org/hvellyr/herschel
    

EDGE

EDGE (electronic document general encoding) was a SGML-based markup Language for general documents, incl. scientific papers, technical/computer documentation, prose, drama, etc. It aimed to be less restricted than comparable DTDs (e.g. DocBook or TEI).

The EDGE markup language was 'only' a dtd. So tagging documents and texts could be done in a application indepandant way. It was used to markup documents in a semantic way. It was accompignated by a set of DSSSL stylesheets. They were used to render generic EDGE documents for printing or for HTML.

Except for me nobody used it, but it is still quite useful – though with vanishing availability of OpenJade it becomes harder to use the DSSSL scripts. Seems to be still available from sourceforge.

Textbook

I've tried to revive the idea of DSSSL like render engine with another project: Sairy.

Arc build tool project

The Arc build tool project is an experiment in developing a new build tool chain for the development of everyday applications and utilities. Currently I consider this project to be dead, too. If I would retarget it, I would mostly likely choose a completely different approach. Archives are still available from savannah.

Musicology

Articles

Theodor Mannborg, Leipzig: (3) Erneuerung und Auflösung. Die zweite Generation, in: Das Harmonium in Deutschland, hrsg. von C. Ahrens und Gregor Klinke Frankfurt a.M. 1996, S. 77–86

Benjamin Brittens Curlew River. Zwischen Exotismus, Synthese und Adaption, in: Musikkonzepte – Konzepte der Musikwissenschaft, Kongreßbericht Halle 1998, hrsg. v. Kathrin Eberl u. Wolfgang Ruf, Kassel u.a. 2001, ISBN 3761815360, Bd. 1, S. 39–45

[zusammen mit Jonas Braasch] "... that bane of Indian music"; – Das Harmonium in Indien, in: Harmonium und Handharmonika. 20. Musikinstrumentensymposium Michaelstein 1999, hrsg. von Monika Lustig (=Michaelsteiner Konferenzberichte 62), Michaelstein 2002, ISBN 3-89512-120-7, S.83–100

Neue Musik in Korea – Entwicklung und Tradition jenseits europäischer Vorstellungen von Modernität, in: Vom rechten Thon der Orgeln und anderer Instrumenten. Festschrift Christian Ahrens zum 60. Geburtstag (=Köstritzer Schriften 2), hrsg. von Birgit Abels, Bad Köstritz 2003, ISBN 3-9806208-5-9, S.269–283

Editions

Das Harmonium in Deutschland. Bau wirtschaftliche Bedeutung und musikalische Nutzung eines historischen; Musikinstrumentes, hrsg. von Christian Ahrens und Gregor Klinke, u. Mitarbeit von Sven Dierke, Sigrid Eul, Birgit Goede, Christiane Rieche, Ira Schulze-Ardey, Sandra Zydek (=Fachbuchreihe das Musikinstrument, Bd. 60), Frankfurt a.M. 1996, ISBN 3-923639-05-8 (vergriffen); 2. edition, incl. corrections, new informations, extended list of works and builders, ISBN 3-923639-48-1 (vergriffen)

Musikinstrumentsammlung Hans und Hede Grumbt. 2. Klarinetten und Saxophone, hrsg. von Christian Ahrens und Gregor Klinke, Bochum 1997, ISBN 3-8093-0197-3

Musikinstrumentsammlung Hans und Hede Grumbt. 3. Blechblasinstrumente, hrsg. von Christian Ahrens und Gregor Klinke, Bochum 1998, ISBN 3-8093-0207-4

Das deutsche Cembalo. Symposium im Rahmen der 24. Tage Alter Musik in Herne 1999, im Auftrag der Stadt Herne hrsg. von Christian Ahrens und Gregor Klinke, München/Salzburg 2000, ISBN 3-87397-580-7

Zur Geschichte von Cornetto und Clarine. Symposium im Rahmen der 25. Tage Alter Musik in Herne 2000, Konzeption und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2001, ISBN 3-87397-581-5

Fundament aller Clavirten Instrumenten. Das Clavichord. Symposium im Rahmen der 26. Tage Alter Musik in Herne 2001, Wissenschaftliche Begleitung und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2003, ISBN 3-87397-582-3

Viola da gamba und Viola da braccio. Symposium im Rahmen der 27. Tage Alter Musik in Herne 2002, Konzeption und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2006, ISBN 3-87397-583-1

"Wir loben deine Kunst, dein Preiß ist hoch zu schätzen..."; – Der Orgelbauer Gottfried Silbermann (1683–1753). Symposium im Rahmen der 28. Tage Alter Musik in Herne 2003, Konzeption und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2006, ISBN 978-3-87397-584-2

"... con Cembalo e L´Organo..." Das Cembalo als Generalbaßinstrument. Symposium im Rahmen der 29. Tage Alter Musik in Herne 2004, Konzeption und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2008, ISBN 978-3-87397-595-8

"...in Liebe zerflossenes Gefühl". Die Klarinette. Symposium im Rahmen der 30. Tage Alter Musik in Herne 2005, Konzeption und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2008, ISBN 987-3-87397-596-5

Laute und Theorbe. Symposium im Rahmen der 31. Tage Alter Musik in Herne 2006, Konzeption und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2009, ISBN 978-3-87397-597-2

Von Mozart bis Chopin. Das Fortepiano 1770–1850. Symposium im Rahmen der 32. Tage Alter Musik in Herne 2007, Konzeption und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2010, ISBN 978-3-87397-598-9

Flöte, Oboe, Klarinette und Fagott. Holzblasinstrumente bis zum Ende des 18. Jahrhunderts. Symposium im Rahmen der 33. Tage Alter Musik in Herne 2008, Konzeption und Redaktion Christian Ahrens und Gregor Klinke, München/Salzburg 2011, ISBN 978-3-87397-599-6