Hi, I’ve been learning purescript (and FP) with a personal project for some time. I love the expressiveness of the language and the well thought out standard libraries. My intuitive test for how good things are is, do I understand how the libraries fit together and can I generally remember where to look for a function? After some careful study, I almost always seem to get it. I’ve really enjoyed my experience.
Writing these types is helpful in that I truly understand the library in question when I’m done. If this happened infrequently it wouldn’t be a big deal, but I’ve been experimenting with various libraries and major versions of libraries and it’s turning into a significant portion of the work. Initially I convinced myself that if I were more experienced with purescript it wouldn’t be, but I’m beginning to wonder if that’s true. A good portion of application development is turning into library integration and without a large community to amortize this work over, the problem may persist even if I were better.
Do you have an opinion on the magnitude of this problem?
Is there any work planned to make this easier? (E.g. code generator based on typescript types?)
Are there any good tutorials out there or codebases to study that handle this problem well?
Are there other languages that others have considered that make this easier? (E.g. I don’t BuckleScript/ReasonML nearly as much as purescript, but I’ve read that all the “bs” type annotations make wrapping easier. My impression could be wrong. I’d really hate to give up on types, but a dynamic language like ClojureScript makes interop easier at the expense of having to write verbose clojure specs. I realize there is severe selection bias in asking this question of this community, but where else would you ask?)
Any thoughts are appreciated. Thanks!!