• Me

Passionate about online technology. From the earliest inception to the final delivery, I love to contribute on every step along the way. I deliver quality.

Technology is a means to an end, and in the end it's about the user. A project is ready when the users are happy, a project is good when the users stay happy. And every project can be improved.

  • Does your business have a problem? I can help you find, envision and deliver a solution.
  • Is your business involved in a never-ending, bug-ridden project? I can help you trace the problems and clear the path for delivery.
  • Do you need technological advice? I can help you find the answers.


Yigal Duppen is available for new projects.

View Yigal Duppen's profile on LinkedIn


This list gives a small overview of my professional career. For more information, visit my LinkedIn profile

  • Freelance Senior Software Architect at Publysher
  • Senior Software Architect at Virtual Sciences
  • Owner at Tressis BV
  • Owner at Akris BV
  • Senior Software Architect at Akris BV
  • Software Developer at Finalist IT Group
  • Senior Software Engineer at Refactive
  • Senior Software Engineer at Tryllian
  • Student at Vrije Universiteit Amsterdam

A Coinductive Approach to Lambda Calculus

In August 2000 I obtained my Master's degree in Theoretical Computer Science at the Vrije Universiteit Amsterdam. The subject I graduated on was “A Coinductive Approach to Lambda Calculus”; this also happens to be the title of the accompanying thesis.

In this article, I describe a coinductive definition for lambda terms together with some theorems on alpha and beta reduction within this framework. By using a coinductive definition instead of the classical inductive definition, it is no longer awkward to reason about infinite lambda terms.

Needless to say, this article is tremendous fun to read. I have therefore put it online, so everyone can share in the enjoyment that is lambda calculus, category theory and coinduction.

When Snow is White – Tarski's Theory of Truth

Since the dawn of time philosophers have argued about the concept of truth. Questions like: “What does it mean for something to be true?” and “Is there an absolute truth?” resulted in all kinds of theories. As befits philosophical theories, they heartily disagree with each other.

This paper is concerned with the Semantic Theory of Truth, which was devised around 1930 by Alfred Tarski. His theory was different in that it did not explain truth directly; instead, it reduced the concept of truth to other semantical notions. According to Tarski this reduction would be neutral, and therefore applicable to all truth theories.

Tarski was one of the first to introduce the separation between syntax and interpretation, and laid the foundations for modern algebra.


In 2010 I decided to place my projects under the label Publysher. As it turned out, all my private projects were geared towards different aspects of online entertainment, data gathering, and of course trying out new and exciting technology.

The first official Publysher project was an excursion into the world of Flash gaming. Using the relatively new StencylWorks framework, I've created and published "Droppy Goes Home", an exciting puzzle game for all ages.

The other official Publysher project is ZooWizard, a perfect way to combine my love for zoos with an excursion into Google App Engine, Java for GAE, performance, and eventually Python on GAE.

Visit publysher.nl



In 2002 I spent some time on Psyche, an attempt to combine the virtues of Python with those of Scheme. Essentially, Psyche is a Scheme interpreter written in Python. But its distinguishing feature is the ability to use Python functions as Scheme procedures. Due to various reasons, I have abandoned this project and do no longer support it.

The latest release of Psyche is version 0.4. This version already features the most important aspects of Psyche. However, the documentation is not yet complete, and many Scheme features are not yet implemented. The documentation contains an extensive list of Scheme compatibility issues. Unfortunately, it seems no to run on later versions of Python 2. Python3 support is of course out of the question.

Read the documentation Download the source


Use LinkedIn if you want to contact me for professional reasons.

» My LinkedIn Profile


Use Facebook only if we know each other and you want to get in touch again.

» My Facebook Profile


Use Google+ if you want to know more about my projects, or if you don't like using Facebook.

» My Google+ Profile