<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Sebastian Fischer</title>
	<atom:link href="http://www-ps.informatik.uni-kiel.de/~sebf/feed" rel="self" type="application/rss+xml" />
	<link>http://www-ps.informatik.uni-kiel.de/~sebf</link>
	<description>Department of Computing Science, Christian-Albrechts-University of Kiel, Germany</description>
	<pubDate>Wed, 02 Feb 2011 04:11:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>I left Kiel</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/pub/i-left-kiel.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/pub/i-left-kiel.html#comments</comments>
		<pubDate>Wed, 02 Feb 2011 04:11:21 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Publications]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=226</guid>
		<description><![CDATA[I left the University of Kiel and moved to the National Institute of Informatics, Tokyo. My new website with an updated list of publications is available there or here.
]]></description>
			<content:encoded><![CDATA[<p>I left the University of Kiel and moved to the National Institute of Informatics, Tokyo. My new website with an updated list of publications is available <a href="http://research.nii.ac.jp/members/fischer/">there</a> or <a href="http://sebfisch.github.com/research/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/pub/i-left-kiel.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>A Play on Regular Expressions (Functional Pearl)</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/pub/regexp-play.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/pub/regexp-play.html#comments</comments>
		<pubDate>Mon, 26 Jul 2010 16:20:04 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Haskell]]></category>

		<category><![CDATA[Publications]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=221</guid>
		<description><![CDATA[This is joint work with Frank Huch and Thomas Wilke accepted for ICFP&#8217;10 [paper,slides].
]]></description>
			<content:encoded><![CDATA[<p><a href="http://sebfisch.github.com/haskell-regexp/">This</a> is joint work with <a href="http://www-ps.informatik.uni-kiel.de/~fhu/">Frank Huch</a> and <a href="http://www.ti.informatik.uni-kiel.de/ag/team/wilke/">Thomas Wilke</a> accepted for <a href="http://www.icfpconference.org/icfp2010/">ICFP&#8217;10</a> [<a href="http://sebfisch.github.com/haskell-regexp/regexp-play.pdf">paper</a>,<a href="http://sebfisch.github.com/haskell-regexp/regexp-talk.pdf">slides</a>].</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/pub/regexp-play.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Thesis defended</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/defense.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/defense.html#comments</comments>
		<pubDate>Tue, 01 Jun 2010 10:13:19 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=209</guid>
		<description><![CDATA[Last week, I have successfully defended my thesis by giving a talk, answering questions during a disputation, and passing an examination. If you understand German, you may try to read my handwritten notes that I have prepared prior to the talk. Apart from my thesis and adjacent topics, the examination covered algebras for combinatorial search [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I have successfully defended my <a href="http://www-ps.informatik.uni-kiel.de/~sebf/thesis.pdf">thesis</a> by giving a <a href="http://www-ps.informatik.uni-kiel.de/~sebf/defense.pdf">talk</a>, answering questions during a <a href="http://en.wikipedia.org/wiki/Disputation#Contemporary_disputations">disputation</a>, and passing an examination. If you understand German, you may try to read my handwritten <a href="http://www-ps.informatik.uni-kiel.de/~sebf/defensenotes.pdf">notes</a> that I have prepared prior to the talk. Apart from my thesis and adjacent topics, the examination covered <a href="http://spivey.oriel.ox.ac.uk/mike/search-jfp.pdf">algebras for combinatorial search</a> and free algebraic structures (see <a href="http://www.math.uni-kiel.de/algebra/laue/vorlesungen/frei/freiealgstr.pdf">german lecture notes</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/defense.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Thesis submitted</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/thesis.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/thesis.html#comments</comments>
		<pubDate>Tue, 15 Dec 2009 19:36:13 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=203</guid>
		<description><![CDATA[I have submitted my dissertation On Functional Logic Programming and its Application to Testing.
]]></description>
			<content:encoded><![CDATA[<p>I have submitted my dissertation <a href="http://www-ps.informatik.uni-kiel.de/~sebf/thesis.pdf">On Functional Logic Programming and its Application to Testing</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/thesis.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Declarative Programming Overview</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/dp-overview.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/dp-overview.html#comments</comments>
		<pubDate>Thu, 09 Jul 2009 17:49:57 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=185</guid>
		<description><![CDATA[I have finished a first draft of an overview on declarative programming. The section on functional programming is almost identical to the version published previously but I have added a section on logic programming features: unbound variables, non-determinism, search, and constraints.

The LP section contains a surprisingly concise solution for the n-queens problem and a lazy [...]]]></description>
			<content:encoded><![CDATA[<p>I have finished a first draft of an <a href="/~sebf/haskell/dp-overview.pdf">overview on declarative programming</a>. The section on functional programming is almost identical to the version published <a href="/~sebf/haskell/fp-overview.html">previously</a> but I have added a section on logic programming features: unbound variables, non-determinism, search, and constraints.</p>

<p>The LP section contains a surprisingly concise solution for the n-queens problem and a lazy implementation of breadth-first search with a circular queue.</p>

<p><span id="more-185"></span></p>

<p>If you find time to read it, I&#8217;d be interested in whether you could follow easily or&#8212;if not&#8212;where you got stuck (especially if you are not very familiar with functional and/or logic programming).</p>

<p>Feel free to comment on <a href="http://www.reddit.com/r/haskell/comments/8zqm4/sebfisch_declarative_programming_overview/">reddit</a> or <a href="/~sebf/contact">by email</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/dp-overview.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>FP Overview</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/fp-overview.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/fp-overview.html#comments</comments>
		<pubDate>Fri, 03 Jul 2009 13:40:30 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=177</guid>
		<description><![CDATA[I have finished a first draft of a brief overview on functional programming featuring type polymorphism, higher-order functions, lazy evaluation, class-based overloading, and equational reasoning.

comments appreciated!
]]></description>
			<content:encoded><![CDATA[<p>I have finished a first draft of a <a href="/~sebf/haskell/fp-overview.pdf">brief overview on functional programming</a> featuring type polymorphism, higher-order functions, lazy evaluation, class-based overloading, and equational reasoning.</p>

<p><a href="http://www.reddit.com/r/haskell/comments/8xzsx/sebastian_fischer_a_brief_overview_on_functional/">comments</a> appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/fp-overview.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Reinventing Haskell Backtracking</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/pub/atps09.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/pub/atps09.html#comments</comments>
		<pubDate>Fri, 19 Jun 2009 14:01:30 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Haskell]]></category>

		<category><![CDATA[Publications]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=126</guid>
		<description><![CDATA[I have revised my submission to ATPS&#8217;09 &#8212; a german workshop on programming.

The most important changes are:


a simplified implementation of iterative deepening depth-first search and
an additional section with experimental results.


There is also an extended one page abstract summarising the work.



Abstract

Almost ten years ago, Ralf Hinze has written a functional pearl on
how to derive backtracking functionality [...]]]></description>
			<content:encoded><![CDATA[<p>I have revised <a href="/~sebf/data/pub/atps09.pdf">my submission</a> to <a href="http://www-ps.informatik.uni-kiel.de/atps09/">ATPS&#8217;09</a> &#8212; a german workshop on programming.</p>

<p>The most important changes are:</p>

<ul>
<li>a simplified implementation of iterative deepening depth-first search and</li>
<li>an additional section with experimental results.</li>
</ul>

<p>There is also an extended <a href="/~sebf/data/pub/atps09-abstract.pdf">one page abstract</a> summarising the work.</p>

<p><span id="more-126"></span></p>

<h2>Abstract</h2>

<p>Almost ten years ago, Ralf Hinze has written a functional pearl on
how to derive backtracking functionality for the purely functional
programming language Haskell.
In these notes, we show how to arrive at the efficient,
two-continuation based backtracking monad derived by Hinze starting
from an intuitive inefficient implementation that we subsequently
refine using well known program transformations.</p>

<p>It turns out that the technique can be used to build monads for
non-determinism from modular, independent parts which gives rise to
various new implementations.
Specifically, we show how the presented approach can be applied to
obtain new implementations of breadth-first search and iterative
deepening depth-first search.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/pub/atps09.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Explicit sharing of monadic effects</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/explicit-sharing.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/explicit-sharing.html#comments</comments>
		<pubDate>Mon, 08 Jun 2009 15:46:47 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=165</guid>
		<description><![CDATA[The paper on Purely Functional Lazy Non-deterministic Programming describes an approach to model lazy functional logic programming in Haskell via explicit sharing of monadic effects. The corresponding project page explains how to install and use our code.
]]></description>
			<content:encoded><![CDATA[<p>The paper on <a href="http://www-ps.informatik.uni-kiel.de/~sebf/pub/icfp09.html">Purely Functional Lazy Non-deterministic Programming</a> describes an approach to model lazy functional logic programming in Haskell via explicit sharing of monadic effects. The corresponding <a href="http://sebfisch.github.com/explicit-sharing">project page</a> explains how to install and use our code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/explicit-sharing.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Purely Functional Lazy Non-deterministic Programming</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/pub/icfp09.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/pub/icfp09.html#comments</comments>
		<pubDate>Mon, 08 Jun 2009 15:35:19 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Publications]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=143</guid>
		<description><![CDATA[This is joint work with Oleg Kiselyov and Chung-chieh Shan accepted for ICFP&#8217;09.



Functional logic programming and probabilistic programming have
demonstrated the broad benefits of combining laziness (non-strict
evaluation with sharing of the results) with non-determinism. Yet these
benefits are seldom enjoyed in functional programming, because the
existing features for non-strictness, sharing, and non-determinism in
functional languages are tricky to combine.

We [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www-ps.informatik.uni-kiel.de/~sebf/data/pub/icfp09.pdf">This</a> is joint work with <a href="http://okmij.org/ftp/">Oleg Kiselyov</a> and <a href="http://www.cs.rutgers.edu/~ccshan/">Chung-chieh Shan</a> accepted for <a href="http://www.cs.nott.ac.uk/~gmh/icfp09.html">ICFP&#8217;09</a>.</p>

<p><span id="more-143"></span></p>

<p>Functional logic programming and probabilistic programming have
demonstrated the broad benefits of combining laziness (non-strict
evaluation with sharing of the results) with non-determinism. Yet these
benefits are seldom enjoyed in functional programming, because the
existing features for non-strictness, sharing, and non-determinism in
functional languages are tricky to combine.</p>

<p>We present a practical way to write purely functional lazy
non-deterministic programs that are efficient and perspicuous.  We
achieve this goal by embedding the programs into existing languages
(such as Haskell, SML, and OCaml) with high-quality implementations,
by making choices lazily and representing data with non-deterministic
components, by working with custom monadic data types and
search strategies, and by providing equational laws for the programmer
to reason about their code.</p>

<p>© ACM, 2009. This is the author&#8217;s version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version will be published in Proceedings of the International Conference on Functional Programming (ICFP).</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/pub/icfp09.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Barefaced pilferage of monadic bind</title>
		<link>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/stealing-bind.html</link>
		<comments>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/stealing-bind.html#comments</comments>
		<pubDate>Tue, 14 Apr 2009 08:14:48 +0000</pubDate>
		<dc:creator>Sebastian Fischer</dc:creator>
		
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://www-ps.informatik.uni-kiel.de/~sebf/?p=119</guid>
		<description><![CDATA[I had an insightful discussion on haskell-cafe on how to steal the implementation of monadic bind from a continuation monad transformer.

I did it twice, first re-inventing the two-continuation model for depth-first search, then discovering an implementation of breadth-first search that I didn&#8217;t know before.

On the go, I used higher-rank infix record selectors for the first [...]]]></description>
			<content:encoded><![CDATA[<p>I had an insightful <a href="http://www.mail-archive.com/haskell-cafe@haskell.org/msg57697.html">discussion on haskell-cafe</a> on how to steal the implementation of monadic bind from a continuation monad transformer.</p>

<p>I did it twice, first re-inventing the two-continuation model for depth-first search, then discovering an implementation of breadth-first search that I didn&#8217;t know before.</p>

<p>On the go, I used higher-rank infix record selectors for the first time.</p>

<p>In <a href="/~sebf/haskell/barefaced-pilferage-of-monadic-bind.lhs.html">this program</a> I talk about monads for non-determinism, functional lists, continuations, and what you get for free when you combine them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/stealing-bind.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
