question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

I arrived here after hearing that Suave may use Hopac. https://twitter.com/henrikfeldt/status/955101969487683584

This is potentially a really great thing. However it does mean that Hopac is going to need to bolster its documentation. Really it seems like the documentation is already there but for some reason it’s squirreled away in a repository folder.

The programming.md starts with a relatively understandable guide which should probably be placed front and center. If you start with how a person can use a thing, and how it might be beneficial to them they’re much more likely to take it up than if you show them a long api list, or some other library that inspired you. I had to actually look through the repository to find this document and frankly it was the most helpful document by a mile.

However it abruptly switches to operators defined by Hopac with no explanation about how to use them. We should be mindful that this is an F# library not a Haskell library, and I think that the Programming.md is a wonderful getting started guide, but it should probably include the information from the Operators.md and a brief description of how they are used. I honestly had to stop at this point because while I had seen the bind operator before, I had never seen a >==. which I have no word for.

I still think even in it’s present state it’s the best introductory documentation in the repository and should maybe be listed as part of the Getting Started Guide.

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
voronoipotatocommented, Jan 22, 2018

Suave actually has excellent documentation for someone wanting to get started. It avoids getting in the weeds and focuses on what’s important for using the library. I suggest we use their programming guide as a model for “Getting started”.

I’m actually a good candidate for proofreading this because I know absolutely nothing about Concurrent ML, I’ve never even used ML. I know very little about the operators you’ve defined. I’ve used suave naively and it seemed to work fine for me. So if you can make documentation that I can understand then anyone who has successfully used Suave should be able to use Hopac because I’m a pretty low bar.

0reactions
hafcommented, Feb 27, 2018

Understandable. I feel passionately about having software that is approachable. However, me moving to Hopac is something I’ve done the last 3-4 years and that’s after reading lots and lots about multiprocessor programming, interleaved concurrency and having written C# with its Task-based API for soon 14 years (before that IAsyncResult, Monitor, locks etc). Writing in concurrent programs in Hopac is part of the most fun I’ve ever had as a programmer, and I would like people to experience that joy.

The only real difference to a Suave user would be that it would say Job<Thing> or HttpContext -> Job<HttpContext option> or the like instead of Async. The code you write would be almost identical.

Read more comments on GitHub >

github_iconTop Results From Across the Web

MD Programming Abbreviation Meaning
Programming MD abbreviation meaning defined here. What does MD stand for in Programming? Get the top MD abbreviation related to Programming.
Read more >
What is a .md file and how can I open one?
The “MD” in the .md file extension (also written as .markdown) stands for “Markdown documentation”. Markdown is a lightweight markup language, ...
Read more >
programming.md
The master programmer knows when to apply structure and when to leave things in their simple form. Her programs are like clay, solid...
Read more >
tyt md-uv380 tips if your having trouble programming it! dmr ...
tyt md -uv380 tips if your having trouble programming it! dmr radio. 4.6K views · 2 years ago ...more. ham radio hack. 1.34K....
Read more >
Program TYT MD-380 / MD-390 / MD-UV380 / MD-UV390 ...
Program TYT MD -380 / MD -390 / MD -UV380 / MD -UV390 codeplugs with editcp and n0gsg contact manager. 11K views ·...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found