--
You received this message because you are subscribed to the Google Groups "Commercial Haskell" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commercialhask...@googlegroups.com.
To post to this group, send email to commerci...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAKA2JgLb%2Bp_CKfCPO6rzkfn1ipPMOi72WVJVxn2_xZM%2BQBq_1g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
CTO | Capital Match
CapitalMatch
71 Ayer Rajah Crescent | #06-16 | Singapore 139951
(FR) +33 617 121 978 / (SG) +65 8408 7973 | arn...@capital-match.com | www.capital-match.com
Disclaimer:
Capital Match Platform Pte. Ltd. (the "Company") registered in Singapore (Co. Reg. No. 201501788H), a subsidiary of Capital Match Holdings Pte. Ltd. (Co. Reg. No. 201418682W), provides services that involve arranging for multiple parties to enter into loan and invoice discounting agreements. The Company does not provide any form of investment advice or recommendations regarding any listings on its platform. In providing its services, the Company's role is limited to an administrative function and the Company does not and will not assume any advisory, fiduciary or other duties to clients of its services.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAKcFpmJuy%2Bw%2BKKjd7ayAnYjQ89U9CTo_2zsk2COp8E7s710Vgw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAMOyMCxHYtjAaBCN8kufFLH1%3DV7FqCxvCS9x-UPap_N%2BTEiuvA%40mail.gmail.com.
--
--
* Compiled executables do not require runtime dependencies like Python or Ruby. (It's true that we have some deps like the GMP library, but that's relatively light and easy to provide.)
* High performance: Warp is comparable to Nginx, so you're not taking a performance hit by writing a new tool, and versus other possible languages (like Ruby and Python), the performance is significantly better
* Lots of libraries are readily available, and can be easily composed to create more complicated solutions (like how wai-middleware-crowd combines Warp, authenticate, and clientsession)
* By writing simple, single-service tools instead of using more powerful systems, we can simplify configuration and lower the surface area for attack
Hi Michael,
Indeed we (Willem and I) at Capital Match are also going down that route, and for the same reasons you are mentioning: no runtime dependencies, fewer bug rates, encapsulated tools,...
We are still using duct tape (aka. shell scripts) but slowly moving a lot of things in compiled Haskell:Mi
--
You received this message because you are subscribed to the Google Groups "Commercial Haskell" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commercialhask...@googlegroups.com.
To post to this group, send email to commerci...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAKA2JgJby7PFyg6k-GbSCeC0804-yH_JL3aXqmoAxf7JCshRnQ%40mail.gmail.com.
I really like Haskell, and think that if you have to write code then you should strongly consider writing that code in Haskell. However, when I scanned this email, a number of objections arose in my mind. I've shared them here in the hope that they'll contribute positively to the discussion.
On Wed, 8 Apr 2015 at 06:19 Michael Snoyman <mic...@snoyman.com> wrote:* Compiled executables do not require runtime dependencies like Python or Ruby. (It's true that we have some deps like the GMP library, but that's relatively light and easy to provide.)While that's great (seriously, it's the only good way to deploy anything), it's only really an advantage if *everything* is in Haskell. If there's just one Python thing that you need to run, then you need to solve the problem of "how to deploy a Python app with weirdo runtime dependencies". Because it's a computer, solving it once is almost as expensive as solving it for all time.Most devops environments I've heard of are at least mildly heterogeneous, because there's almost always one thing that's a category killer that was written in a regrettable language.
* High performance: Warp is comparable to Nginx, so you're not taking a performance hit by writing a new tool, and versus other possible languages (like Ruby and Python), the performance is significantly betterYeah, but why would I use Warp over Nginx? My presently deployed Haskell uses Nginx for SSL termination and serving static binaries (following your helpful documentation, thanks!). It's a little bit of management overhead, but not that much. And the net result is that my users get things like SPDY and OCSP stapling, and I get timely security updates from a widely used open source project.
* Lots of libraries are readily available, and can be easily composed to create more complicated solutions (like how wai-middleware-crowd combines Warp, authenticate, and clientsession)Yeah, but not as many as Python or Ruby.
* By writing simple, single-service tools instead of using more powerful systems, we can simplify configuration and lower the surface area for attackI'm all in favour of single-service tools. I'm less in favour of writing your own thing when something already exists.Rewriting existing software is costly, and it's really difficult to evaluate the benefit of doing so vs using an existing system. Sometimes the resulting improvement in simplicity really does help, other times you have a business-critical but non-core service that no one's maintaining and is holding the rest of the business back while the standard, more powerful services that you initially avoided are getting better and better.That said, if I were developing a new simple, single-service tool, I'd totally use Haskell. Or maybe Rust. Probably Haskell because there'd be more libraries and thus less code to write.
--
You received this message because you are subscribed to the Google Groups "Commercial Haskell" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commercialhask...@googlegroups.com.
To post to this group, send email to commerci...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAKA2JgLk%3Dds%3D-aUpSDGZcB5aRbqUtoyyY_OR1it-2hwJbTuPTg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAMOyMCw2OdYVxtQvbTV2PA2dY0LM%2BLkvV_m-hb5mR0hXTWr2ug%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAMOyMCy8b18S3cqAQ9K4N-APi7wJwwhPyjeDAA4KxtvXG1-geg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAKA2JgLAQf977qBym9qNNE59OXEc3D2GctHS%3DOY52enzCJxsKg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/CAMOyMCwEx8dVOwobP1CYHy5NynVQ-SkdwmHPERJXPcS324j8kw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Commercial Haskell" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commercialhask...@googlegroups.com.
To post to this group, send email to commerci...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/commercialhaskell/5d894126-90e8-4e45-9439-d60608c9cfe4%40googlegroups.com.