Deprecated. Please instead use:
haskell-lang / haskell-lang Goto Github PK
View Code? Open in Web Editor NEWhaskell-lang.org website
License: BSD 3-Clause "New" or "Revised" License
haskell-lang.org website
License: BSD 3-Clause "New" or "Revised" License
Deprecated. Please instead use:
Currently, both www.haskell-lang.org and haskell-lang.org are valid for accessing the site. Ideally, one of those would simply redirect to the other. I don't have much preference one way or the other being the primary domain name. @chrisdone @borsboom thoughts?
in Get Started https://haskell-lang.org/get-started the quick tutorial suggest to build a new-project; but it fails with this error:
$ stack build
Invalid package ID: "array-0.5.1.1 base-4.9.1.0 binary-0.8.3.0 bytestring-0.10.8.1"
i have a fresh linux mint 18.1 install (installed another bunch of packages but with no manual configuration) and lts-8.2
this is my first time ever using issues on github; i apologize for any inconvenience or missing information
Probably an early bird question that is coming too soon, but what's the motivation for splitting haskell-infra/hl into an organization of its own? Are there re-implementation plans or something similar? I'm asking because I'm trying to figure out which one I should be forking right now.
Have clear content areas of the repo and make it really easy to contribute
We can tie all this up by updating the README to cover key contribution areas, and having a standard place (probably static/markdown/
) where all content contribs go.
Nice doc so far! Below are up to discussion - recently I dig deep into exceptions, and having these points clean upfront would have helped save some time:
Maybe: provide guidance to make long-to-take allocation functions explicityl interruptible (in spirit of 1). So async timeouts can take effect on them (even though a long operation is likely to have interruptible operations on its own, for example since they do some network requests, etc). Note that interruptible
is now is base
since GHC 8.0.
Fine detail, but to avoid surprises: document that there's an important semantic change in allowInterrupt
from GHC 7.10 to 8.0 (see 2) - in the latter being in Uninterruptible state doesn't allow interrupts to come through at allowInterrupt
, while in 7.10 it does (as noted in 1). This means in GHC 7.10 cleanups which have allowInterrupt
somewhere (or unsafeUnblock
) can still throw, even if in Uninterruptible state.
Maybe: provide guidance on how to workaround blocking long in cleanups if they are uninterruptible by using safe-exceptions
or by manually wrapping. Blocking long in cleanup might need to take long - for example if we want to attempt a clean shutdown of a connection in case some (app level) error. Maybe the cleanup could be forked to a separate thread with forkIOWithUnmask
to be performed asynchronously, if that's acceptable.
Not sure what to do with the info, but deadlocking on an MVar in uninterruptibleMask (say newEmptyMVar >>= takeMVar
) still seems to trigger the deadlock exception (see note about "Point 1" in 3). Might be surprising for some (but might also be a bug - not sure what the RTS should do).
Maybe this is just me. But I though I'd leave a comment here. Looking at the packages page:
QuickCheck
in Core
instead of Common/Testing
? What is the differentiating factor between both? And why is on in Core
and the others are not?doctest
, it might be a lesser known option in the haskell community, but for those coming from python, this might seem very familiar (apart from aiding documentation, by embedding examples).haddock
not mentioned? I'm looking at the packages page and wonder: what would I use for building documentation? (Maybe put haddock
and doctest
into Common/Documentation
?)criterion
in the list of Core instead of say Common/Benchmarking
.We split up/or categorize the docs as follows:
API docs, books, tutorials, community resources, papers
We can have a breadcrumb for each.
I read through the "Features" part of the homepage that we inherited from haskell.org, and I'm not a fan of the writing style or the content. Would you guys agree?
If we want to improve this section, there are a few questions to discuss:
Here are some of my opinions about the Features section:
As on this page, we need a script for installing stack:
https://ci.haskell-lang.org/get-started/osx
It should:
~/.local/bin
Hi,
In the documentation page, I think title for the packages' tutorials could be improved.
For example : "How to parse and encode JSON" instead of "aeson library" or "How to send HTTP requests" instead of "http-client library". What do you think? It will be much easier for a new haskeller to visually parse the links and find what it needs.
Sharing feedback from a beginner to Haskell:
From the perspective of a newb, https://haskell.org seems to have a helpful landing page while https://haskell-lang.org has a better "Getting Started" section. (edited)
https://www.haskell.org/downloads is certainly not helpful at all (edited)
I also wouldn't have noticed the two sites if it weren't for this discussion
The try-it section, and the part with snippets mostly
Rather than describing things it shows a beginner how it actually looks
haskell-lang looks more noisy with the text, it would be nice to have descriptions mixed with code and include the try-it part
Videos don't matter much to me, but might to some
I think haskell.org's front page has a bit more flash at the moment, it's possible the designer I retained to do that work exceeded his mandate 😛
In the recent discussion threads on Hacker News and r/haskell about haskell-lang.org there has been some confusion on the purpose of the new r/haskell_lang subreddit.
It would be good to add a short paragraph on r/haskell_lang that explains the purpose of the subreddit. For example:
This subreddit is intended for discussions and questions regarding the haskell-lang.org website.
Steps to reproduce:
quickcheck
.Expected result: The quickcheck
Stackage page should be loaded (I used the search on the main page of Stackage and found this: https://www.stackage.org/package/QuickCheck).
Actual result: https://www.stackage.org/package/quickcheck is loaded, saying that something was "Not Found", with the according HTTP response status code.
I wish haskell-lang.org
had a search bar that would allow to search for
The main goal is to create an easy way for beginners to discover the language. This idea is probably best explained through some examples:
search terms | first search results |
---|---|
map, filter, String | Links to the respective haddocks |
quickcheck, lens | Links to the package pages |
import, "if then else", newtype | Relevant wiki articles, other good explanations |
laziness, currying, "type classes", exceptions | Relevant wiki articles, other good explanations |
"for loops", "while loops", goto | Links to explanations that these don't exist and why and how to program without them |
(Ok, "goto" is a joke.)
I've looked into kotlin today and its website provides a search bar similar to this that I found immensely useful.
Maybe approximation of this could be implemented on top of hoogle
and google's site:
feature.
I think the libraries page could use something related to web servers - should Warp be on the list?
Mentioned in #27
We'll have a /tutorial/package-name route. This page will be fed in from a markdown file (maybe /static/tutorial/package-name.md?). If that page exists for a package, then a link to it will automatically be generated on /packages.
I don't know if any one call out this.
it will take around 50minute to down load stack-installer.
I think that is cause by AWS slow link speed (Amazon want you spend more money?)
compare to Hackage very fast and at acceptable speed.
on the web page there is also load a google file. that can not diret link in China
that will bring down the load speed.
Above is a ture experience in China. I don't want to bring any policitcal judge for any one.
On the Libraries
page I was thinking that a Native GUI
section might be helpful since people do seem to ask about that. If that's ok, I'd like to submit a PR to have FLTKHS added to it. Thoughts?
We need to:
This could be part of or merged with the Getting Started page.
Pinging @bitemyapp @snoyberg @OldManMike
In the documentation section, let's have an editor integration section.
We can list the common ways to get editor integration, and consult the relevant people for the proper way to do it for a given environment.
It would be good to have, as part of a Travis build, automated link checking.
I think the current state of the page gives the impression that stack hoogle
has already been released.
I was discussing with @bitemyapp, and it seems like we have some room to improve the "Next steps" in the get started page with targeted usage tutorials. We identified three different common use cases we could see addressed:
stack runghc
to write short programsstack new
, stack build
, etcIt might make sense to have these three as their own Stack tutorial section (with a link "learn more at haskellstack.org"), and then a fourth section for "what's next."
In which we can pop down the core goals of the site. Something like:
At the very least we should have a link to Stackage prominently on the site for discovering packages and browsing their documentation. But there are likely other sites that should be included as well.
Similar to the Friends of Rust Page that showcases companies using Rust and their use case. I think this would be pretty cool. Not sure how I should approach implementing it though. I don't want to just statically type it all. I think that would be bad for page loading speed. Any suggestions?
Looking at https://ci.haskell-lang.org/package/aeson, I'm noticing that the GHCi and table mark-up didn't get converted to HTML properly. The table markdown just gets put into a p
element, while the non-Haskell code is just inserted as it is.
IRC: https://ci.haskell-lang.org/irc
Mailing list: https://ci.haskell-lang.org/mailing-lists
Error:
hGetContents: invalid argument (invalid byte sequence)
It does work locally.
Experience shows us that clients and newbie Haskellers generally need to figure out how to launch a process, it's not obvious. So let's include an example out of the box for that which uses the process
package.
Hi,
if I'm not wrong the "Operator Glossary" page is missing <|> defined in Control.Applicative for the Alternative class.
HTH
walter
I see that the top-level LICENSE file places this Git repo under BSD3 terms. Does this also apply to the documentation/tutorials that are currently worked upon? I'm asking because those are looking quite useful and I'm considering integrating parts into teaching material of mine. In order to do that, some level of legal certainty would be desirable. Hence this question. Do you plan to stay with BSD3 terms for the content?
In relation to: https://www.reddit.com/r/haskell_lang/comments/4rv4uu/is_this_the_official_haskell_subreddit_or_is/d54cpja
This should be reflected both in the sidebar of subreddit as well as in the announcement post.
Hello,
https://haskell-lang.org/library/conduit appears to be describing the vector package instead of conduit.
Regards,
Bence Kodaj
It is difficult to find relevant haskell documentation with search terms. This was briefly discussed on twitter https://twitter.com/Blaisorblade/status/825082970495135744
Fixing this would allow for newcomers to easily find information, enabling them to learn more about the Haskell ecosystem.
There are some SEO tricks that we can do to fix this.
I'll come back to this issue tomorrow to fill it out further
This is a huge goal. Achieving this would greatly increased visibility and ease adoption of the Haskell language.
The downloads page is light and crisp. It advertises haddock/stack/ghc - all things which no modern Haskeller can be without, and all of which are stable and production ready beyond a shadow of a doubt. It also advertises Intero, which as far as I can tell, is Emacs only, much newer, and still under heavy development. I worry the Intero advert confuses the issues, and sends people down a route where many will ultimately not be happy (e.g. "urgh, i have to use Emacs for Haskell development") - while also brushing over lots of widely used alternatives (e.g. Leskah, haskell-mode, SublimeHaskell).
I'm not doubting the quality of Intero, it certainly seems pretty awesome, I just don't think it fits well with the rest of the set.
Replace primes on the homepage with a snippet of a complete example, click it to view the whole thing.
With Stack we can provide samples that run out of the box.
Right now the Documentation page is a wall of links with no context given. Each link should should have something of like a short summary to inform a potential reader whether a resource is worth checking out. Summaries shouldn't be too verbose as to appear busy, just a terse description about what the doc covers. An example might be:
It should:
We will link to it from the top of the page, and at the bottom as a funnel of where to go next after they've finished reading the page.
https://haskell-lang.org/libraries is great, but I want more!
On https://haskell-lang.org/libraries#_common_testing, I'd like links to articles that can help me decide between the options.
Some signals that could be relevant:
In the case of http client libraries, for example wreq
is not in stackage nightly, which is a red flag wrt for example http-client
or http-conduit
(not listed).
To get this even more fancy, create a nightly job that created a .json
file with the above information (all dependencies of all packages, list of defined 'famous' projects, which packages are in stackage nightly, github stats, date of first release). Then this data could be added all over the place.
First off, great initiative! Hopefully this can replace haskell.org instead of competing with it, but I'll leave that for another discussion.
From what I could gather about the project, one of the goals was to make the website a stop for newcomers where they could navigate how to learn Haskell.
One of my major gripes as someone a bit inexperienced still, but following the community closely, is that I often have a hard time finding out what the recommended packages are for certain things.
There are efforts such as http://haskelliseasy.readthedocs.io that try to offer a more opinionated list of packages for various purposes, and I think this would be something that a Haskell site could benefit from - either by linking to the aforementioned site, or by supplying a list itself.
If this is a bit off scope with the project or goals of the project, feel free to close the issue. Just thought I'd add what I've found hard to navigate in my own experience.
Specified in the YAML file with the package descriptions.
Hello,
The entries in the Reddit section on the News page (https://haskell-lang.org/news) are a week old. Are there really no newsworthy Reddit entries since last week?
Regards,
Bence Kodaj
Since incorporating remote tutorial has been implemented, why not bring some nice tutorial from Jump: https://github.com/commercialhaskell/jump/tree/master/doc
I would specifically like the http-client
and the command line parsing
tutorial.
Since there are many papers about haskell that are useful to understand the language further it might be nice to have a repository where people can browse and search all papers. If paper license permit than be able to download paper too, else link to original source.
Hi,
I think it could be great to detect the OS of the visitor to reduce the huge list "Instructions for Windows, Mac OS X, Ubuntu, Debian, CentOS / Red Hat / Amazon Linux, Fedora, openSUSE / SUSE Linux Enterprise, Arch Linux, NixOS, Linux (general), FreeBSD (unofficial)". If the user agent is not correct, the visitor can still click on the general "View the full Stack installation page".
A little bit like the homepage of Rust (https://www.rust-lang.org/), one link "Install" and if the user agent is not correct "Other Downloads" but instead of the simple "Install", show a list of matching OS instructions.
I'm not sure it's possible to really reduce the list for Linux users (my ArchLinux just send Linux in user agent…) but at least for Windows and OS X.
We make a /packages
page (and in the nav) which shows:
We also bring stackage.org/lts
under /packages/lts
, and style it as haskell-lang. Coupled with the restyled Haddocks, this brings everything (packages, haddocks, hoogle) under one user experience.
For the recommended packages, we have:
Intero has recently been added to the site - https://haskell-lang.org/intero (yay!)
Looking over https://haskell-lang.org/get-started, I believe adding intero to that page would make a lot of sense.. definitely in the "next steps" section, possibly also including a mention in the list of reasons why stack is great (you get to use intero!).
I totally agree on what was said on #2 by @OldManMike.
There's a rather large CSS row dedicated to showcasing the "An open source community effort for over 20 years" along with links to meetup videos. When I was a new user, this would be wasted space. Most languages I was checking out where open source initiatives, so that's not much of a selling point and I wouldn't be particularly interested in watching meetup videos on Haskell topics before I even really know what Haskell is or why I should invest time in immersing myself in it. In fact, with the minimal synopsis in the branding header and the feature list being completely out of view unless I scroll down, the home page doesn't seem to be interested in telling me what Haskell ACTUALLY is. This is bad.
Moreover, the six videos are really old, they give an old picture of Haskell. So, should we remove the video section? Or at least move them from the homepage?
I think it's pretty likely that we'd like to be able to announce things from this site via RSS, so having a feed would be a good thing. I don't think we'll want full-blown blog functionality, but the ability to mention that new tutorials are available, for example, would be good.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.