Skip to content

Submission : Haskell-http template #145

Open
@samanthacqs

Description

Greetings,

I am an Intern at Stackbuilders, and we have developed a Haskell template that will help to build a Haskell function easier. Under you could find some details.

Summary

Stack Builders is an international software consultancy based in NYC and Quito - Ecuador. We develop personalized code for companies in different sectors, adding value to their business model and contributing to the competitiveness of industries with technological solutions.
At Stack Builders, we specialize in creating and maintaining Haskell projects, including web applications. Haskell is an advanced, purely-functional programming language. Around this topic, we use Haskell to create microservices using Duckling, Pandoc and other packages from the Haskell ecosystem, and we would like to make a collaboration to the OpenFaas template store with one that we have created for Haskell.

Design changes

We have used the template outline to create a Haskell template that has a handler to set up a customizable function and its corresponding tests. Also, the configuration is customizable, and uses common libraries and packages that are in use in production environments

Pros + Cons

Working with Haskell has some advantages and disadvantages. If we are going to talk about advantages, one of them is that it provides an advanced type-system that offers better type-safety than most mainstream languages. Also, it includes type inference on its own. Another great feature is the consistency in syntax that Haskell offers. Finally, the parallelism and multithreading that we can access using this language is a good advantage.
In contrast, Haskell has as well some disadvantages, the complexity of the interface is something to consider. Besides, it is not suitable to make a time-critical application and it has a high learning time. Additionally, this template needs a lot of dependencies and we need to use precompiled Docker images with dependencies.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions