-
Notifications
You must be signed in to change notification settings - Fork 17
Description
Some new user feedback
"As for learning what learning materials I used and enjoyed I'd say the most useful where:"
-
Get started with Bluefin [YouTube] - This was by far the most useful and after watching and flowing along, I had a general Idea of how to use Bluefin & write basic functions with it.
-
Type Signatures [Docs: Bluefin] - This was a good intro into what a Bluefin function looks like, its very well explained and gives context to the rest of the docs going forward.
- This should probably be near the top, if not the first thing in the docs IMO, it really sets the stage
- This one is admittedly a complete preference, but I find it easier to parse the types in a Bluefin function if the arrows are at the start of the new line rather than the end.
-
Exception Handles [Docs: Bluefin] - This was a good introduction to both Bluefin exceptions and Handles in general. It explains what benefits Bluefin has over regular Haskell, which is something I think could be more prevalent throughout the docs/github.
-
Effect Scoping [Docs: Bluefin] - This was also a good explanation but should be the second thing mentioned about bluefin and not in the middle of the docs.
-
Type Inference [Haskell] - Haskell's type inference was constantly steering me the write way when making functions, which shows how good the type system is in Bluefin.
Resources I used but where just ok:
- Wrap a Single Effect [Docs: Bluefin-Compound] - This was a clear example of wrapping an effect.
- Overall I'd like more of a context on why creating my own effects would be useful (I'd add context to the explanation)
- Not necessarily exclusive to this part of the documentation, but it was where I realised that I kinda just wanted some itinerary of all the different Bluefin Handles somewhere.
- Bluefin IO docs a whole [Docs: Bluefin-IO] - Having the type signature for everything allowed be to intuit a lot, but somethings like effIO I only understood due to external resources.
- Overall it gives the impression that it is under construction (which it probably is).
- Wrap Multiple Effects, a better approach [Bluefin-Compound] - I used this in conjunction with the example in your github when making withDB3, it shows how to use useImplIn and mapHandle but does not really elaborate.
- LSP Integration [Haskell LSP] - Since the majority of functions do not have any explanation of the their purpose and only a type sig, the lsp integration for bluefin felt a little lacking.
Resources which where seemly non-existent:
- Operators - Although mentioned briefly in Type Signatures (Docs: Bluefin), I felt like operators such as :> and :& could have explanations on what they do in the context of Bluefin.
- What is an effect system - The documentation draws consistent comparison to Effectful, but as someone still somewhat new to Haskell, I've never used it. A simple explanation of effect systems and their benefits might be useful to some users.
Source: https://old.reddit.com/r/haskell/comments/1kej2qe/a_question_on_idiomatic_early_returns/ms0d4l8/