Qualifications:
PhD/MSc Computer Science (Dr.rer.nat/Diplom Informatik),
Background:
- research and development in (declarative) programming languages
- (language design and implementation, tool development, programming techniques)
- experience with multiple programming paradigms
- (including functional, non-sequential, logic, object-oriented, procedural)
- experience with multiple language families
- (including general-purpose/domain-specific, statically/dynamically typed, visual/textual, modelling/programming/scripting languages)
Things I've done
Among other things, I have
- ...
- developed, maintained and extended web apps, with frontends in JavaScript, TypeScript, React and backends in Node/Express, Scala, Abap (the latter reading only, so far;-)
- developed Vim plugins and other tools to support TypeScript, JavaScript, and Haskell developers
- discovered that CPN (Coloured Petri Nets) and CHR (Constraint-Handling Rules) are two sides of the same coin
- initiated and completed (with two colleagues) an EPSRC-funded project to develop HaRe, the Haskell Refactorer
- initiated and edited the first biannual Haskell Communities and Activities Reports
- developed a tool to visualize demand and data-flow in Haskell program execution (visualisation via Java Applet)
- developed a language and implementations to describe 3d structures and animations declaratively, re-interpreting some functional reactive programming ideas (visualisation initially via VRML'97+ECMAScript, later via OpenGL)
- implemented Haskell-Coloured Petri Nets by embedding them into Haskell
- taught a 'Compilers' course to 2nd year BSc CS students
- called Java code from Haskell, via two still-in-development native interfaces..
- studied first-class module systems and other ways of program-controlled modularity inside a functional language, long before that became a topic in JS
- taught advanced project courses on 'System Modeling with Petri Nets' to MSc CS students
- worked on integrating logic programming ideas into a functional programming language
- implemented a couple of functional programming languages, and added features to a couple more fpl implementations
Software development:
Javascript/TypeScript/Haskell preferred,
other languages on request