GithubHelp home page GithubHelp logo

haskell-infra / hl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yogsototh/hl

158.0 158.0 92.0 2.55 MB

Haskell web site (old -- see new repo at https://github.com/haskell-infra/www.haskell.org)

Home Page: http://haskell.org/

License: BSD 3-Clause "New" or "Revised" License

Emacs Lisp 0.01% Haskell 2.17% Shell 0.01% CSS 4.60% JavaScript 2.08% HTML 91.13%

hl's People

Contributors

3noch avatar adamse avatar bitemyapp avatar cdohertyk avatar chrisdone avatar davean avatar daviddeutsch avatar erantapaa avatar freeman42x avatar gbaz avatar gelisam avatar gwils avatar jaccokrijnen avatar jarrodu avatar juhp avatar jwiegley avatar kvanbere avatar lukehoersten avatar mietek avatar nagisa avatar ocramz avatar owickstrom avatar psibi avatar rcook avatar relrod avatar robertlyson avatar simonmichael avatar snoyberg avatar thielema avatar thoughtpolice avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hl's Issues

order of subsections in "documentation"

I think the primary resource should come first: the language definition. It is the only authoritative document on Haskell, right? Since the reference is short, it can easily be moved to top of the page. All other resources (tutorials, etc.) are secondary. (Well, compiler-dependent language extensions are somewhere in between.)

Well maybe it shows that I've done too much teaching. First thing I have my students do, regularly, is find and bookmark authoritative definitions of programming languages they are using.

Missing full stop (period in the US)

"There are 6,954 packages freely available, here is a sample of the most common ones:" should be "There are 6,954 packages freely available. Here is a sample of the most common ones:"

Type becomes […] a language for ___

In the section on "statically typed", I don't understand "a language for expressing the construction of programs". However, I think I understand "a language for expressing the interface of programs" better. Or "contract".

CIS 194?

I'm in the process of finishing LYAH, and I'm also following CIS 194 which is available online (http://www.seas.upenn.edu/~cis194/, https://docs.google.com/file/d/0B0_mzHzbl3GbNXBWMVZPVGNtX3M). I've learned about it from https://github.com/bitemyapp/learnhaskell by @bitemyapp (which also provides a lot of other useful guidance).

I think CIS 194 would be nice to be added in the book listing section? It's a great course with exercises and at the same time refer to chapters of both LYAH and RWH.

Outline visible on clicking tabs

Browser: Firefox 32 on Linux

Whenever I click on any of the tabs (Downloads, Community, Documentation or News), there is an rectangular outline visible for some fraction of a second on those <a></a> links. I find that as annoying but I agree it is more of a personal taste. If there is an interest in removing that outline, I can send a patch for that.

Is the "open-source community effort" with videos really useful on the front page ?

I think it is not, because:

  • it is not usefull for newcomers.
  • it is not logically organised
  • it doesn't say much concretely
  • it takes lots of space
  • it makes the home page change colors too much (white/ dark / white / dark/white) (hard on eyes)
  • it should better be part of community page
  • it gives the impression haskell is not made for business but for scholar

What do you think ?

news/haskell-cafe should link to pipermail

supporting the remark by Henning Thielemann https://mail.haskell.org/pipermail/haskell-cafe/2015-February/118181.html

I would prefer if the links in the Haskell News go to
haskell.org/pipermail (or mail.haskell.org) and not to googlegroups.

(not just for the javascript reason) the various haskell mailing lists are just that: mailing lists, and have no relation to google (I hope). We probably allow/want google to index them, but why should we send haskell-cafe readers (coming from this News page) to their servers?

Documentation Cleanup

Should link Hoogle, Hayoo, Wiki.
Also one good library reference for stdlibs -- probably platform module docs or at least base docs?

Should eliminate new/old book division, and ensure all books are linking latest versions.
Should probably link more course materials/videos directly.

Older downloads for minimal installers.

We should migrate the hosting of all minimal installers to downloads.h.o and from there allow maintainers to list older installers for posterity.

We can then link to those pages from the new www.

General Search Box

Coming off an email suggestion, imagine a search button in the top right. It first navigates through page in the app, and brings up a list of that content. Then, it also falls through to a wiki search, and brings in a list of wiki pages. And perhaps it can realize you typed a function signature and fall through to a hoogle or hayoo search. And a hackage search too.

Doing these "omnisearch" things is an art. But if you have a good one, it quickly becomes very addictive!

Linux install instructions should be one step

sudo apt-get update
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:hvr/ghc
sudo apt-get update
sudo apt-get install -y cabal-install-1.20 ghc-7.8.4
cat >> ~/.bashrc <<EOF
export PATH=~/.cabal/bin:/opt/cabal/1.20/bin:/opt/ghc/7.8.4/bin:$PATH
EOF
export PATH=~/.cabal/bin:/opt/cabal/1.20/bin:/opt/ghc/7.8.4/bin:$PATH
cabal update
cabal install alex happy

is pretty scary and should be a one-step install, preferably one of those curl haskell.org/linux-install.sh | sh things (or curl haskell.org/linux-install.sh > /tmp; chmod +x /tmp/linux-install.sh; sudo /tmp/linux-install.sh if you're like me and don't like 'pipe directly from the internet scripts').

Additionally, cabal download should probably be a direct link to the archive, considering a beginner wouldn’t be able to find the tgz, since it's all the at the bottom of the page.

Actually, cabal setup could probably all be included in the 'one-click install' script, too. Or we can just link to the downloads page of the platform directly.

I'm willing to contribute this all if approved.

Selecting text in `Features` unexpands the expandable texts.

Expected behaviour:

I click on concurrency. The text expands. I select the code snippet that I want to copy (to try it out). I paste the code snippet in my editor.

Current behaviour:
I click on concurrency. The text expands. I select the code snippet. I let the mouse button go and I want to hit CTRL+C. But before I can do that the text unexpands and gets deselected, making it impossible to copy the code snippet.

I'll see if I can make a quick fix for this tonight.

"Sponsors" is unclear, bulky

Should be "Sponsors of Haskell.org infrastructure" and also we can knock down the font size a bit in that section.

I would also run the "looking for the Wiki" thing across the whole width, not just one column.

How about a separate tab for packages ? (and not in the download page)

I think people usually look at package list before picking a new language to learn
Here, people won't see any link to packages because it's hidden in download page.
I'm afraid they'll think it's too academic to be usefull, especially with the list of videos on front page

What do you think ?
Is download the right place ?

I personally think that a separate page with mentions to stackage, hackage, and some tool to help searching amongs language (hayoo, hoolge), along other tools like packdeps etc would be a good idea

video links are confusing/difficult to use

I wasn't sure what the photo thumbnails were, and when I clicked one I was surprised to be taken to another site.

So I would say:

  • it should be made clear that these are videos
  • it should be possible to quickly see what the videos are about without navigating to a separate site

There is a hover alt text, but it takes a while for that to pop up (at least on firefox?) and isn't a very good UI for scanning through the videos.

Subtle patterns as background to replace dark colors (picture in description)

I think using subtle patterns like
http://subtlepatterns.com/gplay/ to replace darc colors improves the website:

Here is an 10 sec example I did within chrome, by changing background by an url pointing on above pattern, then switching back text colors to black.
screen shot 2014-11-23 at 18 27 17

  • the pattern is really light, and won't increase page load time.
  • that's really not much things to change, and it allow to keep same page

All those patterns can be changed to be light light violet if one wants :)

  • This improves lisibility and it is easier on eye
  • This cost less ink when printed (who knows)
  • I once read that some social experiment showed people were more likely to stay on bright website

(Many other textures on the same website, free to use, eg:
http://subtlepatterns.com/diamond-upholstery/
http://subtlepatterns.com/hexellence/
etc.
)

Add a sponsors page before launch

We've gotten some pretty awesome support from various people for Haskell.org, and we should take some time to acknowledge that. We at least should mention DataDog, Fastly, Rackspace, Galois and Well-Typed (or perhaps instead of WT, the IHG) as primarily supporting us and helping make Haskell.org awesome.

I'm not sure how we want to organize this. Originally, I figured we would replace or "Powered by" link in the footer to a new page, where we could list them vertically with logos and a blurb describing what they do for us.

@chrisdone mentioned instead perhaps just putting our sponsors on the homepage, with the logos and all, just below the 'features' section. I'm not sure if we would want to still keep the blurbs (say, with mouseovers), or instead have small logos and link to a separate page.

Headlines & events section

As in the mockup there was a section I didn't implement yet, which we can put headlines and events in:

foo

Given that this section should be easily editable without having to do a redeploy, we can continue using the wiki as a source for this. There's already code to retrieve entries from the wiki, example here, and haskellnews already pull events from this wiki entry. So we can simply put headlines and events in a wiki page and have hl pull from that. As far as I'm aware this is one of if not the only part of the site that is updated regularly.

Linux install instructions need updated

http://new-www.haskell.org/downloads/linux

Obnoxiously, this no longer works as of Ubuntu 14.10. It should work for 14.04 and earlier users.

Fetched 487 kB in 4s (101 kB/s)
W: Failed to fetch http://ppa.launchpad.net/hvr/ghc/ubuntu/dists/utopic/main/binary-amd64/Packages  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/hvr/ghc/ubuntu/dists/utopic/main/binary-i386/Packages  404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.

I'm actually using Nix now, so this isn't a blocking issue for me as an end-user (plus I know how to install bindist) but we should give thought as to what the easiest & cleanest install is going to be.

AFAICT, best option is bindist.

Menubar changes are a little disconcerting

The menubar link locations change depending on whether or not you're at /. This is at least style/taste issue, but I believe it is also an issue of usability. I find myself often accidentally clicking back to / due to its link taking the place of "Documentation" at inopportune times.

haskell features could go in a specific page, with links to it on front page instead

I personally see several small problem with the current set of features:

  • text is not searchable with ctrl-f because it's hidden on page load
  • The list of features is not high enough on the page, so many people won't get there at all (for instance, http://www.rust-lang.org/ makes a better job for now I think)
  • the "click to expand" text is redundant, I'd better like to see a 'see more' link that redirect to a more complete and much longer page
  • "click to expand" disapearing effect is a little bit annoying to me

What do you think ? :)

add a paginator and progress indicator to the exercises on the front page

  • You might have left out the paginator intentionally to not make people skip the exercises. I think that's right.
  • It might however be a good idea to add a progress indicator in the form n/t where n = current page, t = total pages.
  • It's possible that people get interrupted and want to come back later. There should be a way to enter a lecture number and to directly jump to this lecture.

Can't install dependencies using "Using sandboxes" instuctions

Using the instructions from the Using sandboxes section of the README.md.

Steps taken so far:

  • Updated my ~/.cabal/config with the suggested Hackage link
  • cabal update
  • Deleted everything in ~/.ghc

Using Mac OS X 10.9.5 with GHC 7.8.3.

Any ideas what may be causing cabal install to fail?

~/d/hl git:master ❯❯❯ cabal install --only-dependencies
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: hl-0.0.0 (user goal)
next goal: lucid (dependency of hl-0.0.0)
Dependency tree exhaustively searched.

Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating the sandbox.

Videos Should Be Organized / Curated

As per Chris we should kick off with a very friendly SPJ lecture or such, and perhaps one other very intro video. From there, we can curate a selection of good representative talks, and ideally some sort of social mechanism for continuing to curate them manually over time.

Internationalization

It would be nice to make it easy to translate the site into other languages. Yesod does have some i18n support, so it at least shouldn't require completely tearing everything apart.

HaskellWiki news links just go to the wiki homepage

On the news page there is a section for HaskellWiki. When I click on any of the links under it, they just take me to the wiki homepage. They have URLs like https://www.haskell.org/haskellwiki/index.php?title=Yi/FAQ&diff=59120&oldid=58357 – perhaps those are meant to redirect to the new wiki.haskell.org ones?

They're also all 3 months old, and there's been activity on the wiki younger than that. I can add a separate issue for that, but I thought there's a reasonable chance they're related anyway.

"try it" section is blank when either javascript or cookies are disabled

when viewing the home page while not allowing haskell.org to set cookies, or while not allowing it to execute javascript, the "try it" section is empty.

it should display an explanation that javascript and cookies are required and, optionally, a reason why, especially for the cookies.

Haskell Platform vs. Bare Install wording

I cannot find any form of platform download links (or any mention of the platform, for that matter). This should not be the case, right? Or was this discussed somewhere and i missed it?

Assuming both that i did not miss a discussion and that it was intentional, imho such a thing must be more openly discussed, and not sneaked in!

Get Features section up to scratch

My original wireframe in the mockup was the below. I accepted the more "marketingy" copy from a PR by an earnest guy with the intention of rewriting it later, but I think my original points (plus any other technical points people have) are more "honest" and technical -- people like technical as long as it's accessibly worded. Seeing people's reactions to the marketingy copy confirmed my expectations. I didn't explain the motivation for each section so I'll fill that out here, FWIW:

  • Purely Functional - write some stuff about purity and show real examples of where purity is valuable and natural (i.e. used in real scenarios).
  • Statically typed - this is easy to write some stuff about, there's a plethora of short and sweet examples one can make. A trivial example I noticed recently is e.g. Haskell's date/time handling is very nicely statically typed, compared with .Net's "DateTime" implementation which conflates local time, zoned time and dates all in one type (so I'm told).
  • Concurrent - again, it's easy to show "look, we can do concurrent things with very little setup". It doesn't have to be solving problems that are hard in the concurrency world, just "we have that and it's light-weight".
  • Type Inference - this was aimed at the Java-hater folks who see C and Java and think it's all about List<Int> x = new List<Int>(); typing-out-the-type redundancy for little benefit. It's easy to demonstrate type inference. You can also demonstrate how editors can auto-insert type signatures for you.
  • Lazy - so basically we'd copy Lennart Augustsson's blog post about laziness which covered all the bases well. So; composition, infinite structures, DSLs, etc.
  • Packages - to show that while cabal hell is still a thing, we at least have a lot of packages and a good deal of them are stable and usable. So here I would demonstrate some common tasks with libraries, some text manip., some matrix manip., parsing some JSON from a web feed, rendering some OpenGL, SDL, gzipping files, accessing databases, whatever.

ADTs/GADTs might be another section, also type-classes themselves are a whole thing peculiar to Haskell with (I think) clear benefits over defgeneric-style dispatching or classical OO.

Ideally each section should have, I guess, three or more examples demonstrating. At least. They should be a page of code max. Present the problem, show the Haskell solution, discuss pros and cons.

I can contribute this content but it might have to wait till this weekend. Posting as an issue in the hopes that people agree and perhaps contribute some things.

Tutorial error

Hello! When we are going over the tutorial, one of the sentences we see is:

Tuples, because sometimes one value ain't enough!
Watch out for aaadfss! You should keep their credentials for the police.

My nemesis is 28 years of age: (28,"chirs")

And of course the part My nemesis is 28 years of age: (28,"chirs") is wrong.

The header code example

fibonacci 0 = 0
fibonacci 1 = 1
fibonacci n = fibonacci (n - 1) + fibonacci (n - 2)

why use this very inefficient solution? I think use the below solution is better ?

fibs = 1:1: zipWith (+) fibs (tail fibs)

may give new Haskell user very bad feel ?

Build doesn't happen with Stackage

Compiler used ghc 7.6.3

Command user: cabal install -v3 --only-dependencies

Searching for ghc in path.
Found ghc at /home/sibi/github/hl/.hsenv/bin/ghc
("/home/sibi/github/hl/.hsenv/bin/ghc",["--numeric-version"])
/home/sibi/github/hl/.hsenv/bin/ghc is version 7.6.3
looking for tool ghc-pkg near compiler in /home/sibi/github/hl/.hsenv/bin
found ghc-pkg in /home/sibi/github/hl/.hsenv/bin/ghc-pkg
("/home/sibi/github/hl/.hsenv/bin/ghc-pkg",["--version"])
/home/sibi/github/hl/.hsenv/bin/ghc-pkg is version 7.6.3
("/home/sibi/github/hl/.hsenv/bin/ghc",["--supported-languages"])
("/home/sibi/github/hl/.hsenv/bin/ghc",["--info"])
Reading installed packages...
("/home/sibi/github/hl/.hsenv/bin/ghc-pkg",["dump","--global","-v0"])
("/home/sibi/github/hl/.hsenv/bin/ghc-pkg",["dump","--user","-v0"])
("/home/sibi/github/hl/.hsenv/bin/ghc-pkg",["dump","--package-db=/home/sibi/github/hl/.hsenv/ghc_pkg_db","-v0"])
("/home/sibi/github/hl/.hsenv/bin/ghc-pkg",["dump","--package-db=/home/sibi/github/hl/.hsenv/ghc_pkg_db","-v0"])
("/home/sibi/github/hl/.hsenv/bin/ghc",["--print-libdir"])
Reading available packages...
Choosing modular solver.
Resolving dependencies...
[__0] trying: hl-0.0.0 (user goal)
[__1] trying: base-4.6.0.1/installed-8aa... (dependency of hl-0.0.0)
[__2] trying: rts-1.0/installedbuil... (dependency of base-4.6.0.1/installed-8aa...)
[__3] next goal: integer-gmp (dependency of base-4.6.0.1/installed-8aa...)
[__3] rejecting: integer-gmp-0.5.0.0/installed-2f1... (global constraint requires ==0.5.1.0)
[__3] rejecting: integer-gmp-0.5.1.0 (global constraint requires installed instance)
[__2] fail (backjumping, conflict set: base, hl, integer-gmp)
[__1] rejecting: base-4.7.0.1, 4.7.0.0, 4.6.0.1, 4.6.0.0, 4.5.1.0, 4.5.0.0, 4.4.1.0, 4.4.0.0, 4.3.1.0, 4.3.0.0, 4.2.0.2, 4.2.0.1, 4.2.0.0, 4.1.0.0, 4.0.0.0, 3.0.3.2, 3.0.3.1 (global constraint requires installed instance)
[__0] fail (backjumping, conflict set: base, hl, integer-gmp)
cabal: Could not resolve dependencies:
trying: hl-0.0.0 (user goal)
trying: base-4.6.0.1/installed-8aa... (dependency of hl-0.0.0)
next goal: integer-gmp (dependency of base-4.6.0.1/installed-8aa...)
rejecting: integer-gmp-0.5.0.0/installed-2f1... (global constraint requires
==0.5.1.0)
rejecting: integer-gmp-0.5.1.0 (global constraint requires installed instance)
Dependency tree exhaustively searched.

Probably, I will switch to the latest compiler by tomorrow and try this again.

Tutorial Page 23 won't advance when I do an intuitive thing

Hi, cool site! I've long heard friends sing the praises of Haskell so when I saw the new site go up I decided to give it a try.

On page 23 it asks:

Exercise!
Try to get the 'a' value from this value using pattern matching:

(10,"abc")

My instinct was to write let (_,a:_) = (10,"abc") in a which did give me 'a', but that didn't take.

Mousing over the spoiler revealed let (_,(a:_)) = (10,"abc") in a was the necessary incantation. I was left wondering whether the reason was the previous page explained the nested paren syntax, running the tuple and list together is a discouraged style, or something. Folks on IRC suggested I report it, hope this is useful to you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.