Frege Goodness

Updated 17 days ago

Welcome to Frege Goodness

This book provides a series of chapters that each expose a single characteristic of Frege. The chapters are deliberately short. You should be able to read a complete one while riding the commuter train or while having lunch.

The gitbook system is an ideal medium for this purpose. You can subscribe for instant updates and get the newest content as soon as it is available. But unlike a blog, you also have the full series in your hand for browsing and searching.

Furthermore, there is support for many reading devices on the web, smartphone, tablet, iBooks, and Kindle.

There is also an ongoing Japanese translation by Yuto Takahashi (@y-taka-23).

For the advanced beginner

I assume that you are an advanced beginner that knows the basic syntax elements of Haskell/Frege.

The purpose of this book is to ignite curiosity for topics that come after the initial steps: What can I do next? What are typical and idiomatic ways to use Frege? Why should I use Frege for a certain use case? How can I make practical use of Frege in places where purely functional programming is traditionally considered less suitable? Where do I hit the sweet spot?

In short, it is all about using Frege to its full potential!


This book lives on github. If you have any feedback, questions, or suggestions for improvement, please file an issue.

Since recently, gitbooks also support in-document discussions per paragraph. When hovering over a paragraph, a "+" box appears. Just click on it to start a discussion.

I’m also happy to take pull requests from those who would like to contribute to the book.

You can find me as @mittie on twitter and on the various Frege channels.


The Frege Goodness format is inspired by @MrHaki, who runs his Groovy-/Grails-/Gradle- Goodness series since a long time. I follow his example for the topic of the Frege programming language.