Services Overview

Whether you are a Haskell Expert or just getting started, FP Complete offers a wide range of services to help you get the most out of functional programming and the Haskell programming language. FP Complete provides the most knowledgeable and experienced trainers and consultants in the Haskell industry.

The benefits from Haskell are higher productivity, a greater degree of reliability, and lower maintenance costs than more traditional programming environments. To better leverage these benefits, we offer services that shorten the learning curve and increase our customers’ rate of success.

For newcomers to Haskell and functional programming, we offer training and jumpstart services that teach the fundamentals of Haskell and help your developers apply this knowledge to your specific requirements and development efforts.

For advanced users of Haskell, our architecture, design, and implementation services help your developers learn from the experts by embedding our consultants into your development team. This enables your developers to gain valuable experience from working side by side with our experts on projects. Developers learn how to design general applications and components that can be applied to a variety of problems.

For hardware and system developers, our experts work to add custom extensions to the core Haskell platform to take advantage of specialized hardware such as ASICS, FPGAs, GPUs, and non standard CPU architectures.

For Haskell product and service providers, we offer the FP Complete Network providing expertise in business development, marketing, and investment.

Training Services

FP Complete introduces 4 new on-site Haskell training courses for developers

FP Complete brings to you and your developers the latest functional programming methods by introducing an unequaled set of hands-on Haskell courses which present the subject matter in an understandable yet progressive manner. Our focus is on bringing developers up to speed in Haskell using the shortest time possible and keeping them informed about the latest techniques and methodologies.

The new course curriculum is designed to provide training for all stages of the project development cycle.

The One Day Introduction to Functional Programming using Haskell provides an overview of the Haskell. In this course, development managers as well as developers who are considering a project using Haskell learns the benefits of developing with a Functional Programming language.

The Two Day Introduction to Programming in Haskell is targeted to developers and provides the basic language syntax as well as the abstract type system, data types, basic and higher order functions, and monad classes.

The Two Day Advanced Programming in Haskell expands on to the basic Introduction to Haskell Programming and discusses techniques to improve Haskell’s behavior and performance. Topics such as advanced performance considerations, advanced data types and containers, type-oriented programming, parallelism and concurrency, and the fundamentals of Haskell web programming help developers better apply Haskell to a variety of problems. This course is tailored to intermediate Haskell developers who have a familiarity with the basic concepts.

The final course, which is available upon request, is a curriculum specially designed to the needs of advanced developers working with specific Haskell libraries and advanced concepts. The content and duration depends on individual requirements and needs (please contact us for details).

FP Complete world class instructors are recognized as experts in Haskell programming and training, bringing years of experience to the classroom. To date, we have provided training services to organizations in financial services, energy exploration and delivery, manufacturing, and high tech integrated circuit and processor design. Let us help you bring the benefits of functional programming with Haskell to you and your developers.

In all courses, attendees will learn how to design and implement applications using the Haskell programming language. The courses will focus on methodologies that ensure the creation of well-behaved, performing, and robust software. Material covered will include the language concepts and syntax, core libraries, commonly used tools, and available online documentation and help.

In order to provide the best possible teaching experience, classes are designed for up to 15 students. All courses follow roughly the same schedule. Each section includes a small exercise to reinforce the ideas presented in the lecture.

  • 09:00 – 10:30 Session 1
  • 10:30 – 10:45 Break
  • 10:45 – 12:00 Session 2
  • 12:00 – 1:00 Lunch
  • 1:00 – 2:30 Session 3
  • 2:30 – 2:45 Break
  • 2:45 – 5:00 Session 4

Your organization will need to provide a classroom or meeting room with a computer projector and a whiteboard or flipchart. Students should be provided with table workspace, connections to the internet and ample power. Students are expected to bring their own computers to connect to the FP Complete web based learning site for in-class exercises. One week prior to the course, the Instructor will provide instructions for students to set up their accounts on the learning site.

To make arrangements for your onsite training class, or for more information, email: training /at/ fpcomplete /dot/ com

Consulting Services

Jumpstart Services

If you are just getting started with functional programming and Haskell, our Jumpstart service provides the right combination of training and mentoring to launch your project and make your developers productive. The Jumpstart includes 2 ½ days of Haskell training, focusing on functional programming concepts and techniques and 2 ½ days of active mentoring by one of our senior Haskell developers. Developers will learn about the Haskell syntax, algebraic and abstract types, functions, functors, operators, lazy evaluation, type classes, monads and how to apply all this knowledge to the design and implementation of a project prototype. Our mentor will walk your developers through the design process and be on hand to address the challenges of learning a new programming methodology.

Analysis, Architecture and Design

Incorporating new technologies into a new or existing project has its own set of challenges. Programmers must develop a set of best practices that will lead to productivity, performance, and reliability. Our architecture and design services help you get the most out of functional programming and Haskell by introducing best practices into the project from the beginning, this will allow your developers to gain competency through working experience, and ensuring proper project design. Properly designed functional programming projects can achieve 5 to 10 times increase in productivity and reliability without sacrificing performance.

Implementation Services

Occasionally, projects require additional expertise in meeting sophisticated or complex requirements. FP Complete’s network of experienced Haskell consultants can provide on demand resources for addressing specific technical needs or tackling difficult issues. Whether you require an expert in a particular discipline or additional mentoring for best practices, we can provide the right person for your particular set of tasks. Our Haskell experts are well known in the industry and carry a minimum of 5 years of experience in application design and implementation.

Fast Time to Market Services

The Haskell system provides astonishing productivity wins, with developers reporting 5 times and in some cases 10 times improvements in development throughput. You can allocate these benefits to solve time-to-market issues, quality issues, or staffing issues. In addition, Haskell provides advanced features for high-end applications like investment pricing, code correctness analysis, and parallel processing.

Whether you are exploring or deploying, we are ready to bring you expert resources to speed up your process and increase your team’s success. Our fast time to market services include training, architecture, and design, implementation, industry specific libraries and components, and tailored productivity tools to ensure your project is started and completed on time.

Custom Hardware Support Services

Enable your parallel processing and other high-end features to shine and really be used. Because of its declarative nature, Haskell is able to take advantage of hardware processing features without micromanagement by the app developer. And with its extensibility, hybrid hardware/software features are easier to represent. FP Complete and its partners can provide extensions and additions to the Haskell system, with associated support and education, to make sure that the features of your platform have real impact on app performance and time-to-market. In addition to our training, QA, and stable software releases, our custom hardware services include:

  • Hardware platform support
  • Custom GPU, ASIC, and FPGA support
  • Demonstration application development

Strategic Collaboration

FP Complete directly invests in and supports other companies in the FP ecosystem. Join the FP Complete Network for collaborative help on funding and investment, strategic growth consulting, marketing and business development, contracting opportunities and jobs.

Being part of the FP Complete Network means being connected to many of the world’s leading creators and implementers of Functional Programming technology. We work closely with, and have the highest admiration for, a hand-selected set of software engineering technology vendors, consultants, trainers, and computer science researchers. Where possible we collaborate with existing experts to help deliver your project.