{"id":18377223,"url":"https://github.com/bbc/haskell-workshop","last_synced_at":"2025-10-14T14:34:22.338Z","repository":{"id":136960193,"uuid":"140260977","full_name":"bbc/haskell-workshop","owner":"bbc","description":"Haskell workshop that will hopefully contribute something back to the open-source community","archived":false,"fork":false,"pushed_at":"2018-11-08T07:54:53.000Z","size":100,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-06T21:35:03.394Z","etag":null,"topics":["book-club","haskell","learning-by-doing","learning-exercise","learning-haskell"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bbc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-09T09:14:12.000Z","updated_at":"2023-09-08T17:42:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"8c5f744c-2a67-4edd-acd7-e756340011c1","html_url":"https://github.com/bbc/haskell-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bbc/haskell-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fhaskell-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fhaskell-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fhaskell-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fhaskell-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbc","download_url":"https://codeload.github.com/bbc/haskell-workshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fhaskell-workshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019125,"owners_count":26086680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["book-club","haskell","learning-by-doing","learning-exercise","learning-haskell"],"created_at":"2024-11-06T00:27:21.906Z","updated_at":"2025-10-14T14:34:22.320Z","avatar_url":"https://github.com/bbc.png","language":"Haskell","readme":"Haskell Workshop\n================\n\nThis is the BBC's Haskell Workshop group.\n\nInstallation\n------------\n[Download the Haskell Platform](https://www.haskell.org/platform/) or\n[stack](https://docs.haskellstack.org/en/stable/install_and_upgrade/)\n\nEditors\n-------\n### Vim\n* [Syntastic](https://github.com/vim-syntastic/syntastic) supports Haskell syntax checking\n* Minimal syntax [highlighting](https://github.com/sdiehl/haskell-vim-proto/blob/master/vim/syntax/haskell.vim)\n* [Vim-one](https://github.com/rakr/vim-one/) supports lightweight syntax highlighting for Vim\n* [Ale](https://github.com/w0rp/ale) Asynchronous Lint Engine. Works with numerous languages, but\ndoesnt play nicely with other syntax checkers (e.g. Syntastic or neomake). Ale provides real time\nlinting and syntax checking and can also provide autocompletion.\n\nPrompt\n------\nEnter **:set prompt \"ghci\u003e \"** in $HOME/.ghci for a more descriptive and permanent prompt.\n\nUsage\n-----\nIn your terminal you can open the interpreter with `ghci` or `stack ghci`.\n\nTo compile a program, run `ghc Filename.hs` or `stack ghc Filename.hs`. This\nwill create an executable in the current directory which you can run.\n\nCore text\n-----------\n[Learn You a Haskell for Great Good!](http://learnyouahaskell.com/chapters)\n\nIt is recommended a chapter a week is read and exercises completed.\n\nExercises\n---------\nThe exercises for the book are in the `learnYouAHaskellExercises/src`\ndirectory.\n\nEach file corresponds to a chapter of [LYAH](http://learnyouahaskell.com/chapters).\n\n- C2StartingOut.hs\n- C3TypesAndTypeclasses.hs\n- C4SyntaxInFunctions.hs\n- C5Recursion.hs\n- C6HOF.hs\n\nIf you wish to do the exercises, create a folder within the root of this repo,\ne.g `\u003cname\u003e/exercises` and copy the contents of\n`learnYouAHaskellExercises` into your weeks folder.\n\nOnce you have loaded `ghci`, you can load each module/file into the\ninterpreter,\n\n```\n$ cd \u003cname\u003e/exercises\n$ stack ghci\nPrelude\u003e :l Filename.hs\n-- Now you can run the functions in that module here\n```\n\nThe exercises come in various degrees of difficulty, hopefully starting\nstraightforward and then ramping up somewhat. If you try to run a exercises\nthat you have not implemented yet, it will throw an error in the interpreter\nletting you know.\n\nYou can also run unit tests to check whether your implementation is correct. In\nthe learnYouAHaskellExercises directory, run:\n\n```\n$ cd \u003cname\u003e/exercises\n$ stack test\n```\n\nto run the tests.\n\nFeel free to contribute if they are too easy, too hard, or you have any\nsuggestions.\n\nSuggested Learnings/Readings\n-------------------\n* [How I Start: guide to setting up a Haskell project with Stack](http://howistart.org/posts/haskell/)\n* [Functional Programming in Haskell - Online Course](https://www.futurelearn.com/courses/functional-programming-haskell/3)\n* [Haskell Fundamentals Part 1](https://app.pluralsight.com/library/courses/haskell-fundamentals-part1/table-of-contents)\n* [Haskell is Not For Production and Other Tales](https://www.youtube.com/watch?v=mlTO510zO78)\n* [Parallel and Concurrent Programming in Haskell](https://www.amazon.co.uk/Parallel-Concurrent-Programming-Haskell-Multithreaded/dp/1449335942)\n* [Return type polymorphism in Haskell](https://eli.thegreenplace.net/2018/return-type-polymorphism-in-haskell/)\n\nHappenings\n----------\n* [Haskell Exchange - 2018](https://skillsmatter.com/conferences/10237-haskell-exchange-2018)\n* [Manchester Haskell Group](https://www.meetup.com/meetup-group-tHZJZdOn/)\n* [Lazy Manc](https://lazymanc.slack.com)\n\nMiscellaneous\n-------------\n* [Haskell Weekly News](https://haskellweekly.news/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbc%2Fhaskell-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbc%2Fhaskell-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbc%2Fhaskell-workshop/lists"}