Open samanthacqs opened 2 years ago
Hi @samanthacqs
Thanks for your interest in OpenFaaS.
Can you add some examples to the README for the repo?
See this repo for example: https://github.com/openfaas/golang-http-template
I noticed some usage of SSH and copying in the user's key in the Dockerfile. That also needs to be documented clearly in your README.
FROM jurisfutura/openfaas-haskell:v0.2 as dependencies
Is there no official template for Haskell on the Docker Hub?
It might be worth mentioning that Web.Scotty
is used as a dependency for the template.
Good to see you were able to separate the handler from the main: https://github.com/stackbuilders/haskell-faas-template/blob/main/template/haskell-http/function/src/Handler.hs
Are so many imports necessary for a basic function template?
We'll definitely need a number of examples including how to add an additional dependency. I assume that cabal
is the package manager?
Please let Stackbuilders know that if OpenFaaS is useful in their production systems and to serve customers, we are calling for sponsors via GitHub and also offer commercial support and additional features.
Alex
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.