Skip to content

Add "Why Haskell?" benefits section to main page #338

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

malteneuss
Copy link

@malteneuss malteneuss commented May 9, 2025

Follow-up from discussions on https://discourse.haskell.org/t/emphasize-why-haskell-on-haskell-org-landing-page/12036

Motivation: Increase general Haskell adoption by focusing on the business/developer benefits in headlines and descriptions, and to reduce technical jargon such that decision makers and developers from other programming languages understand the points easily, and to nudge them to try out Haskell.

Position on landing page:
image

Content:
image

@malteneuss
Copy link
Author

Update with prototyping first:
image

@reubenharry
Copy link

Some thoughts on wording and content:

In the "Scale with ease" section, the first sentence about users was a bit hard to follow. Is it clear how it relates to the rest of the paragraph?

Bleeding edge section: in light of a few minor grammar and wording quibbles, I'd rewrite it as "Get a view into the latest in programming language innovation. Haskell has its roots in programming language theory, and has influenced many popular languages. New features like Generalized Algebraic Data Types (GADT), Effect Systems and Linear Types are at your fingertips, but are optional." . I'd also vote for "Cutting edge" instead of "Bleeding edge" (the latter connotes "unstable" to me).

I really like the "Fun" paragraph, but maybe a synonym of fun would sound less flippant as a title? Like "Developer friendly".

Maintain with confidence, suggested rewording: "Haskell has the strongest type system in any practical language: this prevents mistakes from reaching production code, and enables developers to refactor large codebases easily and safely. As the Haskell slogan goes, "if it compiles, it works"."

I'd also say that links might add a lot of value, e.g. a link to the State of the Ecoystem site when mentioning Haskell's libraries, or to info about STM when mentioning Haskell's advantage in concurrent programming.

@rebeccaskinner
Copy link
Collaborator

I love the idea of this section. Since this is a significant change to the front page of haskell.org we'll want a majority vote from the committee on the change before we merge it.

@malteneuss
Copy link
Author

malteneuss commented May 10, 2025

Some thoughts on wording and content:

@reubenharry Thanks for the suggestions. I've simplified and clarified some of the wording. (Please write further comments as review comments for to separate discussions for separate sections).

image

@hasufell
Copy link
Contributor

I've been wondering if there was a way to merge it with the "Features" section or make a hybrid of both or just leave it as is.

Because the development experience kind of emerges out of those features. But I have no idea what the best structure would be.

@malteneuss
Copy link
Author

To me the current "Features" section further below is actually nice to get more technical details what Haskell has that others don't; although that section could also be improved (in another PR).

@angerman
Copy link
Collaborator

This is a great PR! And I think it's awesome to highlight why haskell. I am however of the opinion that "Cutting Edge" is actually not a "why haskell", but rather "why not haskell" part. I'd even go as far as say it conflicts with the "Maintain with confidence" and "Scale with ease" parts. The Cutting Edge section even mentions Linear Types, which as far as I recall, is still highly experimental.

@hasufell
Copy link
Contributor

I think the tension between language innovation and stability is actually a selling point. I'm not sure how many language communities actively pursue both goals. It is hard and we're doing it!

@malteneuss
Copy link
Author

This is a great PR! And I think it's awesome to highlight why haskell. I am however of the opinion that "Cutting Edge" is actually not a "why haskell", but rather "why not haskell" part. I'd even go as far as say it conflicts with the "Maintain with confidence" and "Scale with ease" parts. The Cutting Edge section even mentions Linear Types, which as far as I recall, is still highly experimental.

@angerman I'm also open revert back to towards "Bleeding edge" (with the experimental connotation), and maybe removing GADT's from the examples. I want to emphasize that Haskell supports both like @hasufell (if you need it, but can tolerate more instability), maybe that should be clearly stated along the lines as it was before:
"Stay with safe, current best practices or try out next-generation programming techniques like Generalized Algebraic Data Types (GADT), Effect Systems, Linear Types and more to make your code even more reliable; only when you need it and can tolerate the risk to get ahead: Haskell supports both."

<div class=" row ">
<div class=" span6 col-md-6">
<h3>Rapid prototyping</h3>
<p>Start small and explore new ideas to find your market fit. Haskell is a compact language with a large ecosystem of open-source libraries and tools

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps a hyperlink to https://github.com/Gabriella439/post-rfc/blob/main/sotu.md over "large ecosystem of open-source libraries and tools"?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking about using it, but that's maybe for another PR to add links to authorative and pages that are kept up-to-date (the last change is 3 years old).

<h3>Delightful</h3>
<p>Software that works, scales and is easy to maintain helps you to attract talent and keep your team motivated.
Haskell is a language that let's you express your ideas clearly and teaches you a new way of thinking about programming
&mdash; if you work on a challenging project, you might as well have a good time.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sounds slightly odd to my ear both in terms of tone and content, but I don't have a great alternative suggestion.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed it's a bit bold in contrast to the rest. I'm open to change it someone has a more fitting phrasing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants