Spotlight Topics

Most of the content on this page is related to one of the topics that I was recently interested in, so here you can find a page for every topic with some my articles, comments and other useful links:

Some Interests

Academic Stuff

As already mentioned, I'm a student of computer science at Faculty of Mathematics and Physics [^] of Charles University.

The topcis that I'm interested in are still changing :-), but you can find some up-to-date information on my academic page. My Bachelor thesis (it is available there) was about type-safe "AJAX" web development in F# with modality tracked in a type system using computation expressions (aka "monads"), so you can expect topics related to programming languages and tools...

Photography

I like taking photos, but updating the online gallery frequently was always a bit problem :-). That's why this page has a calendar, which shows a new picture every month (and also forces me to find and upload a new picture regularly).


Calendar - September 2008

More About Me

I'm student and Microsoft C# MVP from Prague, Czech Republic. I'm studying computer science at Charles University of Prague and I finished Bachelor studies in 2007.

Recently, I spent 3 months in Microsoft Research as an intern (with the F# team) and started wokring on the F# WebTools [^] project which allows developing "AJAX" applications purely in F# and this was also a topic of my thesis. I believe that F# and functional programming has a very promissing future.

The second topic that I'm involved in is maintaining of a project called Phalanger [^], which is a PHP language compiler started by my fellow students.

Latest Articles by Tomáš Petříček

Announcing: Real-world Functional Programming in .NET

If you’ve been reading my blog or seen some my articles, you know that I’m a big fan of the F# language and functional programming style. I’m also often trying to present a bit different view of C# and LINQ – for me it is interesting mainly because it brings many functional features to a main-stream language and allows using of many of the functional patterns in a real-world. Elegant way for working with data, which is the most commonly used feature of C# 3.0, is just one example of this functional approach. Talking about real-world applications of functional programming, there is also fantastic news about F#. It was announced last year that F# will become fully supported Visual Studio language and the first CTP version of F# was released this week!

I always thought that the topics mentioned in the previous paragraph are really interesting and that functional programming will continue to become more and more important. That’s why I’m really excited by the news that I’d like to announce today – I’m writing a book about functional programming in F# and C#....

Read the complete article
Tuesday, September 02, 2008

More Recent Articles

  • Dynamic Lookup in F# (6/4/2008)

    Dynamic languages allow you to represent a member using a symbol or a string and to use this symbol to work with the member. In this article I'll show how to do same thing in statically-typed way in F#.

  • Thesis: Client-side Scripting using Meta-programming (3/17/2008)

    Contains a link to my Bachelor Thesis about F# WebTools, which I partially worked on during my visit in Microsoft Research and which I successfully defended last year.

  • New Version of Phalanger with Silverlight and VS 2008 Support (3/11/2008)

    This article introduces new version of the Phalanger project, which incudes support for Silverlight 1.1 (alpha) and Visual Studio 2008 Integration package.

  • F# Support for ASP.NET and Notes on Samples (3/8/2008)

    In this article I look at the F# suppot for ASP.NET and at some interesting aspects of the samples that are available in the F# distribution.

Other Links

My Projects

  • F# Web Tools - Using the F# Web Tools you can author homogeneous client/server/database web applications in one type-checked project in F#. The distinction whether a code runs on the client (as JavaScript) or natively on the server is modeled using F# computation expressions.

  • Phalanger - PHP Language Compiler with several language extensions to allow smooth interoperability between PHP and other .NET (for example C#) code. Phalanger is complete enough to run applications like WordPress or MediaWiki.

  • LINQ Extensions - The project implements several useful extensions for the LINQ project. These extensions incude LINQ support for the C++/CLI language and simplified syntax or writing common types of database queries.

  • Other Projects Archive - Contains links to several older or partially completed projects that are no longer in active development, but may still be fun or even useful.