haskell-infra / www.haskell.org Goto Github PK
View Code? Open in Web Editor NEWwww.haskell.org site source
Home Page: http://haskell.org
License: BSD 3-Clause "New" or "Revised" License
www.haskell.org site source
Home Page: http://haskell.org
License: BSD 3-Clause "New" or "Revised" License
I'm confused because nothing below https://www.haskell.org/cabal/ seems to be in the repository. I just filed two tickets [1] [2] about that subtree, but maybe this is the wrong place for them. Am I looking for the source in the wrong place? If I want to make a change to that subtree where should I do so?
For frequently used Haskell packages, i like to bookmark the documentation pages. That's why i would like to propose having urls pointing to the newest hackage package documentation version. Currently, urls contain the package version like
https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html
I know there is the possibility to remove the version number from the url like
https://hackage.haskell.org/package/base/docs/Data-Traversable.html
but this needs manual work when bookmarking and redirects back to an url with a package version. So the bookmarked url and the page url are never the same, so you can't see which hackage page is already bookmarked, and everytime a package updates, it requires manual new bookmarks (this is not frequent with stable base
packages, but painful with newer, still evolving packages).
Instead it would be good to have permanent urls like
https://hackage.haskell.org/package/base-latest/docs/Data-Traversable.html (preferred)
https://hackage.haskell.org/package/base/latest/docs/Data-Traversable.html
that don't redirect like for ghc
documentation, e.g. https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/template_haskell.html
. Those urls could be promoted in search engines to avoid having long outdated package versions showing up in the top results.
It will be such a nice addition if both sites support the dark mode. To be precise, try to use CSS prefers-color-scheme
media queries.
This feature is now supported on desktop/mobile Safari, Chrome (post), Firefox (post), and see can I use? for further details. In other words, most of recent browsers are able to switch between light and dark modes.
The dark mode support for Hackage will be very useful for easing eye strain, especially when referencing the API frequently from an editor in a dark mode. I am not good at adjusting colour theme, otherwise I would create a PR directly. :-(
It's 2020 ding dong
Still shows 2019 in the footer.
I reckon haskell.org is not accessible. For example, if you load https://haskell.org on your desktop and keep pressing tab, focus becomes stuck in the "try ghci" window. You cannot proceed through the rest of the website by tabbing. This means screen reader users basically cannot use the website. I'm not sure what happens on mobile but I suspect it's similar.
I intend to learn more about accessibility and hopefully improve this. I know basically nothing about accessibility as is. I would welcome any volunteers who already know what they're doing.
Where is the source for https://www.haskell.org/platform/linux.html, for example? It doesn't seem to be in the repo.
Didn't find a better place to report.
Page: https://www.haskell.org/ghc/distribution_packages.html#macosx
Replace Homebrew link from http://www.homebrew.org/ to https://brew.sh/
Davean explained to me how we can automate deployments from CI by via sftp. The process is
[email protected]
for the admins to install on the serversftp
the site artifact directly to the www.haskell.org
serverRelated to #66
We have a specific need to upgrade hakyll so that we can use the public API for the testimonials code, however this also presents a good opportunity to upgrade the dependencies more generally, including:
Currently, the latest downloads (and docs) point to 8.8.1:
https://downloads.haskell.org/~ghc/latest/
Please update it to point to 8.8.2
ln -s https://downloads.haskell.org/ghc/8.8.2/ https://downloads.haskell.org/~ghc/latest/
When I tap on "write help" or one of the example commands to try out, I cannot actualy execute this, because on a mobile device I have no enter key(board).
Firefox Preview
Android 9
The original Cabal proposal (which must be from about 20 years ago) appears on Haskell.org. It is not clearly marked as an archive of a historical document. A user tried to follow it to enable FlexibleContexts
, specifically the The Cabal simple build infrastructure section.
Is it possible to perhaps just delete it and let the internet archive preserve it for posterity? Alternatively, if as a historical document it should be preserved, could it be clearly marked as a historical document, not for up-to-date use, and perhaps even moved to another domain (haskell-history.org?).
It was pointed out that without a direct link, it’s hard to discover the donation page. We should consider making this a bit more visible.
The README used to have a link to the platform repository but it was removed in
9dcf082#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L11
Was the removal intentional? It's not clear to me from the rest of the commit why this part should have been removed. @hasufell can you remember? Perhaps it was unintentional?
The "Developing Web Applications with Haskell and Yesod" book is currently listed under "Introductory Books for Learning Haskell", but the book itself states that it is not suitable for complete beginners:
This book takes as an assumption that you are already familiar with most of the basics of Haskell. There are two wonderful books for learning Haskell, both of which are available for reading online:
- Learn You a Haskell for Great Good!
- Real World Haskell
~https://www.yesodweb.com/book/haskell
Perhaps it should be moved to the intermediate books section?
I know there's bigger plans here, but for now it would be nice to update the book section under documentation.
In particular, there's at least four "intermediate" books not on the page:
https://leanpub.com/production-haskell
https://www.manning.com/books/haskell-in-depth
https://www.apress.com/gp/book/9781484244791
https://leanpub.com/functional-design-and-architecture
(source: https://www.reddit.com/r/haskell/comments/o8v3d9/the_book_intermediate_haskell_is_cancelled/)
Given the number of books on the page it might now also be worthwhile to pull the list apart in to "beginner" and "intermediate" texts in general.
We should add a CSS auto-formatter to the nix environment, and format the existing CSS so that it looks nice. Consider possibly using a commit hook to auto-format new commits.
Hello,
While reading about the haskell.org committee, I came across:
Which page is the authoritative? Should one just be a link to the other?
I find this type of duplication confusing at best and time-consuming at worst (if I want any confidence in my understanding of the material, I need to read both pages and compare the content).
I'd be happy to help with content updates, but not sure what updates would be welcome.
Hi,
I'm a little new here but looked into Haskell before and was annoyed by all the options that are presented without [sufficient] explanation on the downloads page.
Instead of this:
There are three widely used ways to install the Haskell toolchain on supported platforms. These are:
Minimal installers: Just GHC (the compiler), and build tools (primarily Cabal and Stack) are installed globally on your system, using your system’s package manager.
Stack: Installs the stack command globally: a project-centric build tool to automatically download and manage Haskell dependencies on a project-by-project basis.
Haskell Platform: Installs GHC, Cabal, and some other tools, along with a starter set of libraries in a global location on your system.
Please write a short introduction about general programmer workflow, and describe the basic problem that each tool is supposed to solve. Every tool/problem arises as a result of observing a problem and conceptualizing a tool/feature to improve the basic model of programming, which is 1. write 2. compile 3. run 4. debug 5. distribute 6. manage updates (dependencies).
The idea of what is "minimal" in an installer is highly subjective and completely meaningless to someone who is unfamiliar with the tools, since their conception of what is necessary for programming is different from the developer's. You can define "minimal installer" later after the user is familiar with the general ideas behind the tools.
General guidelines: use "if/then" statements to describe when a user must make a selection/decision about what to pay attention to.
At one point I had read and understood the comparison of these tools but like most people, I use this information and then discard it after I've made my decision, unless I discover an exception to my expectations about what kind of workflow I am getting from the set of tools I have chosen to investigate.
Please reply and help me help you make this page more accessible to new people.
Hi,
I am opening this issue as advised by @tomjaguarpaw , following up on the discussion I started on Haskell Foundation Slack.
I have been using Haskell for years but few days ago I wanted to check what is the current recommended way to install Haskell, hoping I might clean up my mess that somehow works but I can't even remember how I set it up (I am on ArchLinux, using Stack, didn't use ghcup so far).
In this process I actually ended up having a hard time figuring out what is the current recommended approach, which is I am writing this.
I went to haskell.org first, but didn't see any obvious link/button that would guide me to setting up Haskell on my machine. I did see the "Downloads" link in the top navbar, but it wasn't emphasized in any way, and I usually expect from "Downloads" to be a list of binaries, which wasn't what I was looking for, I was looking for a "Getting started" kind of thing that will take me through the process of setting up Haskell.
I scrolled through the whole webpage and saw link to Haskell wiki at the bottom, so I concluded that might have section "Beginners" or "Getting started" or smth and I clicked on that.
On haskell wiki I saw catchy orange "Download Haskell" button on haskell wiki. That button took me to haskell.org/platform, where I went through some technical noise (details about stack upgrade and libgmp) to at the end learn that I should install ghcup
and stack
.
I then went to haskell.org/ghcup to learn that ghcup also installs stack, so started wondering if I should install stack via ghcup or if I should do it separately as previous instructions said.
At that moment I concluded this is all getting too complicated and maybe I went the wrong way, so I went back to haskell.org because I remembered I saw "Downloads" there, and maybe I should have clicked on that. "Downloads" took me to instructions that sent me to haskell.org/ghcup again.
At this point I gave up for now because I wasn't sure if I should use ghcup to install Stack or not, and I was also afraid it might mess up my hls (does ghcup do the "wrapper" thing to pick correct hls based on project? I wasn't sure), and decided to come back to it once I do more research and have more time.
haskell.org -> "Downloads" -> haskell.org/ghcup is not a bad journey, but it still feels somewhat weird, as "Downloads" is in no way emphasized, and when I end up at ghcup page it feels a bit like this is a third-party project due to different webpage design and style. Plus, top part of GHCup home page is pretty complex and feels more aimed at contributors than first time users.
I know that comparisons with Rust are often made, but it seems to me that they did this right: they have a big yellow "Get Started" button on the top of the homepage, impossible to miss.
That button takes you to the page where almost immediately they tell you to use rustup to install rust (no big intro on rustup like ghcup has, just a couple of sentences and then a command to install it / run it), give you a bit of details on the toolchain, follow up with a super short tutorial to get something working and then send you off to the book/tutorials/examples.
I would imagine that Haskell could also benefit from such direct, guided journey for the new users!
Here is how I see possible steps to improving experience of getting started with Haskell, ordered by benefit/complexity ratio:
The main idea behind this is that at every step in this journey, it should be very clear what is the next recommended step, and user's focused should be kept on it.
So if there are multiple buttons on the screen, the one that is recommended should be somehow emphasized. Less buttons/links also helps.
If there are multiple pieces of information that might be interesting, the one that is most likely to be important should again be put in focus -> e.g. if we send them to ghcup to install it, installation instructions should be more prominent than list of communities or even GIF showing how ghcup works -> we don't want them to join ghcup Discord at this point, we want them to install ghcup. We also don't need them to look at the GIF of ghcup, it doesn't serve any purpose, they came here anyway to install it and GIF won't convince them further. rustup.rs is great example of this, page is very clean and minimal, with installation instructions emphasized, and list of communities at the bottom and additional resources at the bottom.
There currently seems to be network issues with multiple parts of the Haskell ecosystem including https://discourse.haskell.org, but https://status.haskell.org still says everything is operational. Should status.haskell.org be extended?
Edit: Just as I submitted this issue, discourse seems to be working again.
The procedure for how the website is deployed is opaque and leads to users being confused. We should document it so that users know who to contact in the event of an update not becoming live.
The ppa Ubuntu section at the top of: https://www.haskell.org/downloads/linux/ says to do:
sudo add-apt-repository -y ppa:hvr/ghc
sudo apt-get update
sudo apt-get install -y cabal-install-XXX ghc-YYY
However, it was not obvious (to me) that I had to replace XXX
and YYY
with something else, and what that something else was.
Is there an option to always install the most recent version? Or could there are least be some text linking to another page with the currently released version number is, to tell us what to replace XXX and YYY with?
Haskell installation page states that haddock
package can be installed within sudo pacman -S haddock
, although there's no package in arch-repositories with such name. Instead there's a package with the name of haskell-haddock-library, if that is the required package, maybe it is worth to change haddock
to haskell-haddock-library
on the site?
The haskell community is large and made up of many groups. These groups have different, and sometimes overlapping responsibilities. To a new haskeller, it makes no sense and there are no clear answers on the confusion. Desires to contribute and help in small ways take us down rabbitholes looking for which group is responsible for what and who to ask for permission or who to get approval for a change. This leads to contributors giving up before even sending in their contribution, and creates barriers to entry.
Given the complicated nature of the haskell ecosystem and the various groups with decision making power, when I look at haskell.org, I expect to see a page that clearly and concisely lists those groups and the overall governance structure for the community.
For comparison, https://www.rust-lang.org/governance is both clear and concise (they also have some of the same structures found in the haskell ecosystem).
I'd be happy to work with the haskell.org site developers to help craft such a page provided that I receive:
https://downloads.haskell.org/~ghc/8.6-latest/ currently points to 8.6.4. I believe is a mistake, since 8.6.5 is the latest patch release in the 8.6 series.
Note: Depends on #108
We should update the implementation of the testimonials code to no longer use hakyll internal modules.
Error:
On a fresh clone, running nix-shell
fails with the following error:
error: Package ‘haskell-org-0.1.0.0’ in /nix/store/gxsq867akcklrbvzq1ph4nsadckgipaw-cabal2nix-www.haskell.org/default.nix:3 has an unfree license (‘unfree’), refusing to evaluate.
a) For `nixos-rebuild` you can set
{ nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.
b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
{ allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.
(use '--show-trace' to show detailed location information)
Environment:
Nix 2.3.4 on Linux (PopOS)
Steps to reproduce:
Suggested Resolution:
Address the licensing issue so that nix-shell
does not require enabling non-free licenses.
https://www.haskell.org/haskell-org-committee/ says
Ryan Trinkle (term ends 2020)
Tikhon Jelvis (term ends 2020)
George Wilson (term ends 2020)
Should the page be updated?
https://www.haskell.org/community/ contains a link to theTUNDRA which returns 404
@TikhonJelvis any ideas about 2?
x = 1
:1:3: parse error on input ‘=’
double x = x * 2
:1:10: parse error on input ‘=’
Hello, I am a developer from strivelabs, we have developed the HTML and style for the testimonial section on the website.
This is the link to the PR: #101
(I'd do a PR myself, but as the author, it would be a bit presumptuous for me to choose where in the list to put it!)
The page is https://www.haskell.org/documentation/
The book title is "Haskell from the Very Beginining"
The URL is https://haskellfromtheverybeginning.com/
The Haskell website documentation page lists and recommends proprietary data, such as books.
All recommended and linked-to information should be 100% libre.
In #57, it is pointed out that the date will auto-correct the next time the site is built/deployed. While it seems there is an existing .gitlab-ci.yml
, it doesn't seem to include anything for publishing the updates that have been merged. Considering this is a static site built with hakyll, it ought to be relatively easy to add this, but maybe there are additional TODOs to integrate with how the site is hosted.
master
, so additional updates to master
(including reverting a change) update the live deployment.When running buildAndWatch
on mac, I am getting some build errors from nix. ./buildAndWatch cabal
works fine.
~/d/f/www.haskell.org ❯❯❯ ./buildAndWatch ✘ 130
error: cannot coerce null to a string, at /Users/avi/dev/forks/www.haskell.org/builder/default.nix:27:21
(use '--show-trace' to show detailed location information)
~/d/f/www.haskell.org ❯❯❯ nix --version
nix (Nix) 2.3.14
I don't know much about nix, but happy to help troubleshoot if there are things I can try and report back on.
https://www.haskell.org/downloads/ is confusing
I'm using Nix to build the site on a non-NixOS Linux system. The Nix shell runs correctly, but buildAndWatch
fails with the following error:
Compiling
[ERROR] ./community.markdown: hGetContents: invalid argument (invalid byte sequence)
I suspect this is related to an issue with GHC on Nix and the locale encoding (NixOS/nixpkgs#64603).
From haskell.org we can easily find the documentation of old versions. But only for online browsing. Their single-file downloadable versions [haddock.html.tar.xz, libraries.html.tar.xz, users_guide.html.tar.xz ] are also on the server [for example www.haskell.org/ghc/docs/8.6.5/users_guide.html.tar.xz] but there is no link to them from haskell.org. I only found them by first finding the address for the latest version and then replacing "latest" with "8.6.5" in the URL.
It’s 2021 already, and the webpage shows the wrong year in the footer - I assume, that problem should disappear after the build. It’s a small task, but very important - it will bring the present and the future to haskell.org :D could someone do that?
Everything occurring under https://www.haskell.org/cabal/release/ is severely out of date. This is really confusing to users who are trying to learn about cabal but who end up stumbling across documentation that does not describe the versions of cabal they are trying to use. For example two of the top three hits on DuckDuckGo for a simple cabal-related query are to this outdated documentation.
Is it possible to simply remove these pages?
(Tangentially I must say I'm somewhat confused because I don't see, based on the www.haskell.org repo, how those pages got there)
Could we provide a direct link to one of our IRC channels (probably #haskell
, or maybe #haskell-beginners
if it exists) by taking advantage of a web based IRC client? That would help users new to IRC access everything on IRC with lower friction.
Current IRC web page is https://www.haskell.org/irc/
For a person new to Haskell, the www.haskell.org website is the main "face" for Haskell as a language/tool, and community. As someone who isn't familiar with Haskell's overly-complicated community/leadership structure, you would see the haskell.org website as the authoritative source for all things blessed by the Haskell community leadership. For example, if I don't know how to learn haskell, I would naturally think, "I'll go look for their 'getting started guide', probably haskell.org/learn or some such". But if you actually look, you'll find https://www.haskell.org/documentation/ to be not very helpful for a newb (there are numerous reasons).
A seasoned haskeller would probably object:
"but that page lists all the best tutorials from around the community! It's great!"
Ok, sure, that's nice, but the seasoned Haskeller has forgotten what it's like to be new to learning haskell and to know virtually nothing about the complicated nature of the community. The big list of links is unhelpful in that it isn't specific. When I look at this list, I cannot choose which to invest myself in, and I see no means for making that decision (there is no call to action or aid to help me understand which choice would be better for me).
For example, let's compare that to rust and julia:
Rust has - https://www.rust-lang.org/learn - which links to 3 materials:
One is a tutorial-repo on GitHub, the other two are comprehensive books. All are obviously authoritative, and iterated on by the larger community. Perhaps most importantly, in contrast to haskell's documentation
page, Rust's learn
page has a very clear call to action for the user, and I would feel pretty confident when making my selection.
As an additional point of comparison, Julia's "documentation" link sends us to https://docs.julialang.org/en/v1/ - also a comprehensive, authoritative book.
Another note: An intrepid newb will eventually land on the haskell wiki when looking for answers to various "topics", and given the weight that site has in the search engine, but yet unmaintained content, the wiki pages are often near the top of search results and rather embarrassing when read in detail.
Thus, I propose haskell.org host and maintain an authoritative manual/document for Haskell, one suitable for new Haskellers, one that shows them how to get up and running, and one that is available to be maintained by the community.
So cool to see the testimonials on the live site! Any chance they could link back to the company home pages? I'd be happy to send a pull request myself if so.
Currently, the latest downloads (and docs) point to 8.8.3:
https://downloads.haskell.org/~ghc/latest/
Please update it to point to 8.10.1
ln -s https://downloads.haskell.org/ghc/8.10.1/ https://downloads.haskell.org/~ghc/latest/
The amazon smile link on the donations page has not been populated with the right link. Perhaps a little text explaining how to use that service and find haskell.org as a charity can help as well.
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.