Blog posts

February 25, 2022
What do types mean for programmers?
Why is our company named Typeable? What does it even mean?
December 13, 2021
Do You Know Where Haskell Is Used?
Examples of how Haskell is used in different industries
November 29, 2021
Legacy: alarming symptoms and problems
Find signs of legacy in your business and take timely measures
November 15, 2021
How Does Functional Programming Contribute to Modern Languages?
Listing the features that modern languages have inherited from functional programming
November 1, 2021
Alternative Approach to Dynamic Environments: Using Octopod
How Octopod makes dynamic environments available to everyone
October 18, 2021
7 Useful Tools Written in Haskell
The list of Haskell tools that can make your life better
October 4, 2021
Do You Know Where Lisp Is Used Nowadays?
Examples of software from different domains written in Lisp dialects
September 6, 2021
The Confusion Around Your API
How to prevent your APIs from scattering
August 17, 2021
The 7 Assumptions You Probably Have About Strings
How Unicode wipes out most of our assumptions on how Strings actually work
August 9, 2021
Property-based Testing With QuickCheck
Showing how the real code can be effectively tested using QuickCheck
July 19, 2021
When It Pays to Choose Microservices
A research of potential pros and cons of switching your solutions to microservices
June 22, 2021
Creating a Haskell Application Using Reflex. Part 4
In this post, we discuss using JSFFI (JS Foreign Function Interface)
May 31, 2021
Is Haskell a Good Choice for Software Security?
Linking programming languages and software security aspects
May 24, 2021
Creating a Haskell Application Using Reflex. Part 3
Switching to EventWriter class and using ghcjs-dom library
May 18, 2021
Nix: Reproducible Build
Creating a reproducible build of our Haskell project using Nix
May 11, 2021
How We Choose Programming Languages at Typeable
Demystifying the way we choose technologies for development
April 19, 2021
What Is Nix and How to Use It?
Our take on an introduction to Nix: the language and the package manager
April 12, 2021
Creating a Haskell Application Using Reflex. Part 2
Going on with the tutorial and adding actions for the "Todo List" items
April 5, 2021
Why Do We Need Transpilation Into JavaScript?
Our experience of using Haskell on frontend and reasons to avoid JS
March 29, 2021
8 'Fun' Things That Can Happen Without CSRF Protection
Why you should go and add CSRF protection to your website right now
March 22, 2021
Comparing Elm With Reflex
Our thoughts on two essentially different approaches to reactive programming
March 15, 2021
Creating a Haskell Application Using Reflex. Part 1
Developing the classic Todo List application with Reflex web-framework
March 5, 2021
Alloy and an Adventure With Database Concurrency
How to catch your concurrency bugs before writing them
February 26, 2021
Advantages of Functional Programming
How FP can lead to better programming – and programmers
February 18, 2021
Parallel Universes for Your CI/CD With Octopod
Story of improving the processes and open-sourcing Octopod
February 24, 2020
JSON Parser Optimization, the Slow Path Trick
JSON parser performance optimization, the slow path trick
November 21, 2019
Sum Types for Relational Databases
Review of various approaches and better design for representing the sum types in the database
January 19, 2018
Stackage nixpkgs Overlays
Nixpkgs overlay with Stackage LTS releases
August 24, 2017
Stackage to Nix
Generate Nix build instructions from a Stack file
Want to know more?
Get in touch with us!
Contact Us

Privacy policy

Last updated: 1 September 2021

Typeable OU ("us", "we", or "our") operates (the "Site"). This page informs you of our policies regarding the collection, use and disclosure of Personal Information we receive from users of the Site.

We use your Personal Information only for providing and improving the Site. By using the Site, you agree to the collection and use of information in accordance with this policy.

Information Collection And Use

While using our Site, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you. Personally identifiable information may include, but is not limited to your name ("Personal Information").

Log Data

Like many site operators, we collect information that your browser sends whenever you visit our Site ("Log Data").

This Log Data may include information such as your computer's Internet Protocol ("IP") address, browser type, browser version, the pages of our Site that you visit, the time and date of your visit, the time spent on those pages and other statistics.

In addition, we may use third party services such as Google Analytics that collect, monitor and analyze this ...


Cookies are files with small amount of data, which may include an anonymous unique identifier. Cookies are sent to your browser from a web site and stored on your computer's hard drive.

Like many sites, we use "cookies" to collect information. You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. However, if you do not accept cookies, you may not be able to use some portions of our Site.


The security of your Personal Information is important to us, so we don't store any personal information and use third-party GDPR-compliant services to store contact data supplied with a "Contact Us" form and job applications data, suplied via "Careers" page.

Changes To This Privacy Policy

This Privacy Policy is effective as of @@privacePolicyDate​ and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page.

We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. Your continued use of the Service after we post any modifications to the Privacy Policy on this page will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy.

If we make any material changes to this Privacy Policy, we will notify you either through the email address you have provided us, or by placing a prominent notice on our website.

Contact Us

If you have any questions about this Privacy Policy, please contact us.