Vous êtes sur la page 1sur 3

Company Overview

Founded in 2010, Silk (Amsterdam, Netherlands) has a


structured content management application that offers
users a sophisticated means to organize, visualize and
associate their data, especially when there are links and
tags within these data elements. Once created, users can
visualize, navigate, track and query the data. One use is for
PR agencies to organize their internal knowledge base as
well as track patterns and trends of online content for their
clients.

Requirements

Like any startup, Silks development requirements revolved
around speed and scale:

Quickly prototype ideas and test them against evolving
customer requirements.
Ability to handle large data sets and transactions.
Modify test environment without disrupting test users.
Bring test environment into production seamlessly.
The backend software infrastructure had to be robust,
stable, adaptable and highly scalable to support the
expected growth in 3-5 years.

Productivity, performance, quality, scalability and agility are
the Holy Grail of software development. In their search for
this programming ideal, Silk discovered that none of the
widely-used languages satisfied all of these goals. The Silk
founders knew that building their service in traditional
programming languages would be difficult, time consuming
and costly. Eager to bring their vision to market ASAP and
having a limited staff, they wanted to skip the prototyping
hurdles that most programming languages presented. This
meant writing quality code the first time around.







Case Study

Industry/Application
Web structured content management
application.
Development Requirements
Requirements revolved around speed
and scale:
Quickly prototype and test ideas
against evolving customer needs.
Ability to handle large data sets and
transactions.
Modify test environment without
disrupting test users.
Bring test environment into
production seamlessly.
The backend software infrastructure
had to be robust, stable, adaptable
and highly scalable to support the
expected growth in 3-5 years.

Haskell Solution/benefits
Saved hundreds of hours testing and
debugging.
Programmers can focus on real
programming and innovation, instead
of grunt work.
Delivered on all aspects of
productivity, performance, quality,
scalability and agility


Haskell enabled us to get into
market in less than half the time!

--Erik Hesselink
Lead Developer
SilkStructured Content Management

We just didnt have the resources to spend our
valuable time on hundreds of hours of testing and
debugging during our prototype stages.
--Salar al Khafaji
Cofounder, CEO
We used the SNAP libraries and
Happstack framework to build a
reliable web architecture for our
application. This enabled us to
apply the features and benefits of
the Haskell language to web site
and service development.

--Erik Hesselink
Lead Developer

Haskell is the Solution

In Haskell, Silk found the perfect solution:

Feature Benefit

An abstract type system with compile-time type
checking that allows program interfaces to be
specified and validated. This documents the
intent of the program and enforces code
conformity at compile time.

If a coder violated the type definitions the
compiler would catch the inconsistencies.

Pure functional programming that removes the
interdependencies between code segments
caused by shared variables and objects.
Software can be developed, refactored,
extended and deployed with very low error
rates.
Functions and modules can be parallelized and
scaled to run across a large number of
processors and cores.

Extensive collection of libraries which provide
high-level type abstractions and higher order
functions.

Can be applied to a large variety of problems
and data types.

Simple abstract functions that can be composed
or chained together into sophisticated
algorithms.

Greatly increase code reuse, readability, and
validation.
Lock-free software transactional memory (STM). Makes explicitly data sharing easier to use
than traditional thread programming models
that use locks or mutexes.

A proven and reliable 7
th
generation compiler
evolved over 20 years.

Generates efficient and error-free code.
Web frameworks that leverage Haskells
correctness and scalability features.
Easily develop web UI applications and backend
services.



HaskellHalf the Time to Market

Once confident that Haskell provided a solid framework to build
with, Silks programmers started coding in earnest. Their
innovative application includes shared custom index servers
designed to provide speedy responses to data requests from
multiple users, and UI tools for building custom relationships
between data elements and then rapidly compiling them into a
graphical representation for visualization. Haskell performed
exactly as expected. The programmers found that Haskell, to
their tremendous relief, allowed them to concentrate more on
innovation and real programming, and much less on operational issues such as repetitive testing and
debugging.

The end result was an innovative and error-free web application that quickly met customer needs and
easily scaled with increasing customer demand. Most importantly, Silk estimates conservatively that
by using Haskell, their product launched in half the time it would have taken had they used traditional
programming tools.









Copyright 2013, FP Complete Corp. All rights reserved.








While writing type definitions requires some additional upfront time, it saved us from chasing bugs
and performing extensive integration testing. It also helped us understand the code. We could revisit
what we wrote on a white board over two years before and know exactly what was going on.

-- Erik Hesselink
Lead Developer

Vous aimerez peut-être aussi