The artistic blood of my lovely wife is flowing again :-)
Her newest hobby is orchestrating photo-shootings. Predominantly of pregnant friends and everybody who simply wants to feel marvelous...
Like Lelêca!
Wednesday, November 25, 2009
Monday, November 2, 2009
Freude, die man sieht
Dieses Photo zeigt Lelêca (alias MausiMausi, alias SchlausiMausi) in mit einem Kopfschmuck, der eigentlich zur pernambucanischen Tracht gehört. Ein Geschenk von Tio Davis – Danke!
Lelê freut sich inzwischen auf den morgentlichen Gang in den Kindergarten (natürlich mit Papa!) und scheut sich auch nicht vor kleineren Wortgefechten ("vai comer não!"). Aber was richtig gut ist heißt dann "muito ótimo" und Akzeptanz wird mit einem klaren "tá certo!" signalisiert. Und wie man sieht, geht es den Jungs auch ganz passabel...
Thursday, October 1, 2009
New Thrist Cabbage
Yeah, it took more than a year (and dcoutts help on IRC), but finally I've gathered all my hackage-foo to submit a new thrist package (v1.1.1). Its main purpose is to require base v4.0 or higher. As an added bonus (Thrist p) now provides a Category instance. I have also added an Arrow (Thrist (->)) instance, but its first method is bogus as of now. I plan to correct this with v1.1.2.
My plans for 0.2 are:
- adaptors Data.Thrist.Monad, Data.Thrist.List (aka. R*), Data.Thrist.Arrow, all with their respective sensible class instances,
- tests.
We'll see.
Tuesday, August 4, 2009
Static Constraints
In the last months Tim has been adding a new function sameLabel to Ωmega and this finally allowed me to encode the concept of free variables. In just a couple of days I managed to implement environment construction with statically checked proof that no identifier is shadowed. Here is a little example.
Building on this advance I fulfilled a long lasting desire and managed to prototype LLVM basic blocks in Ωmega with thrists. The approach is implemented in 2 steps:
- build up a labelled sequence of preinstructions, and then
- construct sufficient evidence about well-formedness, that the strict type constraints in the thrist can be proven.
- the LLVM type system (on defs, uses and constants),
- that Phi nodes must not go into entry blocks,
- that Phi nodes must preceed other instructions in the basic block,
- every use must happen in the scope of a corresponding def,
- etc.
Sunday, June 14, 2009
Daddy's Girl
Wednesday, May 27, 2009
Ketchup Problem
In Chapter 6 (page 16) Jeremy Gibbons describes a datatype that models all secure operations that can be applied to a (partially filled) ketchup bottle. I believe that this is the example that Jeremy has shown me at ICFP'07 in Freiburg (when I have introduced him to my thrist concept), and I have been unable to find it ever since. Now, I guess I can add it to the bibliography section of my paper. That is, if I ever get around updating the draft again...
PS: a bibtex-able conference paper is here.
PS: a bibtex-able conference paper is here.
Tuesday, March 31, 2009
Sieben Tage Regen, Sieben Tage Schnee …
… und es tut nicht mehr weh!
Dieser Winter war der schmerzhafteste den ich bisher in Deutschland erlebt habe. Lang und kalt. Die Natur ist acht Wochen (oder mehr?) hinterher, unser Hunger nach Sonne unvorstellbar.
Wie gut, daß mein Wetter-Widget jetzt sieben Tage Sonne und angenehme Temperaturen verspricht! Das Haus ist nunmehr tiptop eingerichtet, die Gartensaison kann kommen.
Auf wiedersehen, Winter, willkommen Frühling!
Dieser Winter war der schmerzhafteste den ich bisher in Deutschland erlebt habe. Lang und kalt. Die Natur ist acht Wochen (oder mehr?) hinterher, unser Hunger nach Sonne unvorstellbar.
Wie gut, daß mein Wetter-Widget jetzt sieben Tage Sonne und angenehme Temperaturen verspricht! Das Haus ist nunmehr tiptop eingerichtet, die Gartensaison kann kommen.
Auf wiedersehen, Winter, willkommen Frühling!
Saturday, March 21, 2009
Lack of Total Order
My new project is starting to bind my mental resources at work. So some of the fringe projects which I casually do for fun will surely suffer.
Regarding the headline, it was inspired by thinking about a purely-functional (i.e. immutable) lattice library for use by Clang's (partial) template specialization feature. Yes, and lattices arise as containers of partially-ordered data.
- LLVM: Two of my recent patches had to be backed out of the tree, because they caused trouble with bootstrapping llvm-gcc. I am pretty sure these are not caused by bugs on my side (geee!), but frustrating nevertheless. The situation is also aggravated by the fact that I am unable to build a stock llvm-gcc on my Tiger machines I have access to, so I have lost my ability to debug these beasts. A third patch is in-progress (CallInst operand reorg - function to the back) but it is dependent on one of the backed-out ones. It is also pretty stubborn, since there are many hidden assumptions in the codebase which expect the callee in front position. I am slowly weeding out the problems.
- Omega: Little progress on this front. Tim also seems to have reduced his workload on here - probably caused by the "Cyber Milennium" course - so I do not feel a lot of motivation. Which is sad, because there are some nice papers on GADT decidable type inference appearing. Omega could benefit from those.
- Clang: Doug has been working on the template instantiation machinery lately, and I took over a mini-project: instantiation of "?:" expressions. It mostly works, but there is still review feedback to satisfy and the missing middle-expression problem needs a solution. These must be unit-tested as well.
Regarding the headline, it was inspired by thinking about a purely-functional (i.e. immutable) lattice library for use by Clang's (partial) template specialization feature. Yes, and lattices arise as containers of partially-ordered data.
Wednesday, March 11, 2009
RWH
I am happy because my copy of Real World Haskell arrived today. I ordered it through my employer, and while waiting for it more than two months, it finally got delivered. Anyway, I plan to put QuickCheck to good use by generating testcases automatically. Let's see how far this can carry us.
Tuesday, March 3, 2009
3^2 Day
Today is 3^2 day, because 3 squared is 9 and today's date is 03.03.09. Number jokes aside, it was a good day, I am finally beginning the implementation part of my new project at work and the ideas keep sprouting.
Good.
PS.: Also I found a nice article about decidable type inference for GADTs. Final version hopefully for ICFP09!
Good.
PS.: Also I found a nice article about decidable type inference for GADTs. Final version hopefully for ICFP09!
Friday, January 30, 2009
Verhörhämmer
Um ein Paar dieser "rohen Diamanten" zu downloaden, habe ich dieses kleine tcsh script geschrieben:
Macht Spaß... Danke BR!
:-)
foreach j ( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 )
foreach i ( `curl "http://blog.br-online.de/fruehaufdreher/index.php?/categories/2-Verhoerhammer/P"$j".html" | grep .mp3 | grep value= | grep song_title= | awk -F= '{print $4}' | awk -F"&" '{print $1}' | awk -F/ '{print $6}' ` )
echo $j : $i
curl http://blog.br-online.de/fruehaufdreher/uploads/$i > $i
end
end
Macht Spaß... Danke BR!
:-)
Wednesday, January 28, 2009
Dan's Birthday
Yesterday was Daniel's birthday. We made a surprise visit and he loved it! I came a bit late (work, work, new project, yadda), which was no problem because people had lots of fun. They fired up the karaoke machine, and after some beers even I took the mike. But Helena on stage was the cutest thing ever! She grabbed the microphone as if she was a seasoned singer. However she did not sing a single tune, just posed :-)
Subscribe to:
Posts (Atom)