My experience is that people get scarred of so much new terms which get introduced in Haskell and that could feel overwhelming.
When beginning with Haskell, I would advice to just write code and try to intuitively understand bits, but not get down into unwrapping things or theory much. Stay high level and figure out how things interact as you would do in black box model. Don't open the box, but poke it and see what result you will get (in other words; just write code and do trial and error).
When you get comfortable with black-box learning then open the box and look for the details.
If I was interviewing someone and they asked what the weather was like at the office, I would just think they'd wasted a question on something they could easily Google.
You can't rest fingers on this touch keyboard the same way you can on phisical keyboard (laying hand on a keys without enogh force to push the keys). I would not be confortable of hovering hand all the time - usually I rest my fingers on keycaps when in idle mode (not actively hovering above the keyboard)
This was the first thing that made me realise it wouldn't work for me also. I wonder if they'll be able to come up with a way to measure input force as a workaround
dependant typing isn't needed for some use cases you have mentioned:
> list must not be empty
you can use NonEmpty
https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-L... . We are still encoding this special case and our intent in types. Cons is that we need a special support for it (special library) where with dependant types we could reason about this use case without a special library
I would like to travel and freelance around the world. The thing is i don't know is it sustainable model. I read this thread and think to myself how envious I am. Does freelancing mean working at odesk and such sites or what?
The language is still in its early stage, but looks like it covers your use case