Vitaly Bragilevsky

Author
+ Follow
since Jul 20, 2021
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
5
In last 30 days
0
Total given
0
Likes
Total received
3
Received in last 30 days
0
Total given
3
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Vitaly Bragilevsky

Are there any Haskell applications which serve as the 'high bar' of things that can be accomplished with Haskell?
Or are there any specific libraries which set Haskell apart?



Hmm, my personal choice is the 'servant' library, I always use it as an example where the type system works for routing web requests.

Are there any blogs or vlogs you recommend following for examples of Haskell in action?



I find the r/haskell on Reddit as the best source of news on that. Everything interesting goes there.

I do not know exactly what can cause these issues, but I guess there can be many : datatype, lazy evaluation, parallelism, concurrency, too many abstraction layers?. Are these performance aspects covered by "Haskell In Depth" ?



You are absolutely right. There are chapters on runtime behavior of Haskell programs and benchmarking (chapters 9 and 10) where I explain the reasons. In fact, I also show how abstraction layers can be beneficial in terms of performance in chapter 14 on streaming.

Marouane Trabelsi wrote:As with any other programming language, once we get from basic stuff to advanced and large apps, the community shows to be of valuable help. How would you describe the Haskell community?



It would be unfair to say that there are no problems. But we are getting better and better, that's for sure!
Hi Marouane,

That's a very controversial issue! I personally think that Haskell's purity and type system makes it unique in the area of FP-languages usable in production. Learning it can provide many insights for non-FP programmers because all the functional features are distilled. But in fact, I don't want to be a person who insists on sticking with one choice. I see benefits in learning other languages (e.g. Clojure) too. I only think that mixed-style languages (mainly Scala) do a bad job of explaining ideas in FP.
Hi Pete,

Haskell in Depth is definitely not the first book in one's life to learn Haskell. I assume a reader already having a pretty solid background. Get Programming with Haskell by Will Kurt is much more suitable for creating such a background. Unfortunately, I never saw any educational material on Haskell that is usable for introducing programming per se without any prior knowledge in programming. This is definitely possible with a teacher, although it can be very hard to find one.
Hi,

It's hard for me to compare Haskell with other languages, but I know several projects where Haskell is used for a heavy backend. The 'servant' library was developed specifically to implement REST-style communications, and it works pretty well.
Hi,

This is a good question. I think that we have a shortage of practical examples. Anything, where we can see how to work with databases, interesting file formats, networking, will be of great interest. I believe that we have too many theoretical blog posts here and there.
Hi Pete!

Functional works hub does a good job of collecting Haskell vacancies: https://functional.works-hub.com/haskell-jobs. Standard Chartered is definitely the elephant in the room. They regularly post plenty of vacancies. Several companies have many Haskell projects in their portfolio (see https://serokell.io/ or https://www.tweag.io/ for examples). I wouldn't say that there is some specific niche. In fact, Haskell is usable everywhere, from blockchains and financial applications to web development. As far as I know, juniors are always welcome. I think we experience a shortage of developers at all levels.
I'm next to suggest using the Debug.Trace module in those cases when you do need to debug your code by printing intermediate values. But I wouldn't say that there is a necessity to do that often. Using some sort of testing and calling your pure functions from GHCi may alleviate the need for conventional debugging in most cases. The GHCi debugger (with breakpoints and single-step execution) can also be used though I never found it really usable.
Hi, I'm Vitaly Bragilevsky and I'm going to run a promo week for my book 'Haskell in Depth' starting August 17. Looking forward to questions and discussions!

2 years ago