This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
programming:haskell [2016/11/19 14:36] robert_pergl |
programming:haskell [2017/08/06 19:04] (current) marek_suchanek [Databases] |
||
---|---|---|---|
Line 11: | Line 11: | ||
* https://www.reddit.com/r/haskell/comments/3h5og6/i_now_tend_to_think_that_the_concepts_behind_all/ | * https://www.reddit.com/r/haskell/comments/3h5og6/i_now_tend_to_think_that_the_concepts_behind_all/ | ||
* http://jfeltz.com/posts/2015-08-30-cost-decreasing-software-architecture.html | * http://jfeltz.com/posts/2015-08-30-cost-decreasing-software-architecture.html | ||
+ | * https://medium.com/@bryanmikaelian/haskell-changed-me-f98ebbb84333 | ||
* http://www.leonmergen.com/code/2015/12/04/on-stateless-software-design-what-is-state.html | * http://www.leonmergen.com/code/2015/12/04/on-stateless-software-design-what-is-state.html | ||
* https://www.futurelearn.com/courses/functional-programming-haskell/1/steps/115453 | * https://www.futurelearn.com/courses/functional-programming-haskell/1/steps/115453 | ||
* http://baatz.io/posts/haskell-in-a-startup/ | * http://baatz.io/posts/haskell-in-a-startup/ | ||
* https://lexi-lambda.github.io/blog/2016/06/12/four-months-with-haskell/?utm_source=all | * https://lexi-lambda.github.io/blog/2016/06/12/four-months-with-haskell/?utm_source=all | ||
+ | * http://www.stephendiehl.com/posts/production.html | ||
+ | * https://www.reddit.com/r/haskell/comments/46jaqx/i_really_want_to_use_haskell_but_im_having/ | ||
+ | * https://www.wagonhq.com/blog/haskell-for-industry | ||
+ | * http://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html | ||
+ | * https://kseo.github.io/posts/2017-01-27-how-i-learned-haskell.html | ||
+ | * https://hackernoon.com/easing-haskells-intimidating-glare-2341095e88aa | ||
+ | * https://www.fpcomplete.com/blog/2016/11/mastering-time-to-market-haskell | ||
===== Courses and Fundamental topics ===== | ===== Courses and Fundamental topics ===== | ||
* [[http://learnyouahaskell.com|Learn You a Haskell for Great Good (LYAH)]] | * [[http://learnyouahaskell.com|Learn You a Haskell for Great Good (LYAH)]] | ||
+ | * http://haskellbook.com/ | ||
* [[https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0]] | * [[https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0]] | ||
* {{:programming:haskell_-_the_craft_of_functional_programming_3ed.pdf|The Craft of Functional Programming}} | * {{:programming:haskell_-_the_craft_of_functional_programming_3ed.pdf|The Craft of Functional Programming}} | ||
Line 27: | Line 36: | ||
* http://nptel.ac.in/courses/106106137/ | * http://nptel.ac.in/courses/106106137/ | ||
* https://www.reddit.com/r/haskell/comments/3j36wc/haskell_tutorial_collection/ | * https://www.reddit.com/r/haskell/comments/3j36wc/haskell_tutorial_collection/ | ||
+ | * http://www.happylearnhaskelltutorial.com/ | ||
* http://learn.hfm.io/higher_order.html | * http://learn.hfm.io/higher_order.html | ||
+ | * https://github.com/takenobu-hs/type-introduction-illustrated | ||
* http://stackoverflow.com/questions/15530511/how-to-edit-nth-element-in-a-haskell-list | * http://stackoverflow.com/questions/15530511/how-to-edit-nth-element-in-a-haskell-list | ||
* [[https://www.youtube.com/playlist?list=PLsAEIIjTPIo83ufYYkaPjUwZUuTe1LoZP|Lectures RWTH AACHEN UNIVERSITY on YouTube]] | * [[https://www.youtube.com/playlist?list=PLsAEIIjTPIo83ufYYkaPjUwZUuTe1LoZP|Lectures RWTH AACHEN UNIVERSITY on YouTube]] | ||
* http://www.scs.stanford.edu/11au-cs240h/notes/ | * http://www.scs.stanford.edu/11au-cs240h/notes/ | ||
* https://www.futurelearn.com/courses/functional-programming-haskell | * https://www.futurelearn.com/courses/functional-programming-haskell | ||
- | * http://stackingyourmonads.benkolera.com/#/ | + | * https://m.reddit.com/r/haskell/comments/4ooxqc/does_anyone_have_a_progressive_list_of_beginner/ |
+ | * http://cheatsheet.codeslower.com/ | ||
+ | * [[https://github.com/warreee/haskell|Haskell Exercises]] | ||
+ | * http://lotz84.github.io/haskellbyexample/ | ||
+ | * http://ndmitchell.com/downloads/slides-drive-by_haskell_contributions-09_jun_2017.pdf | ||
+ | * http://bitemyapp.com | ||
+ | * https://kseo.github.io/posts/2017-01-28-build-your-haskell-project-continuously.html | ||
+ | * http://www.atamo.com/articles/how-to-read-pearls-by-richard-bird/ | ||
+ | * https://mmhaskell.com/blog/2017/1/30/the-easiest-haskell-idiom | ||
===== Problems Solving ===== | ===== Problems Solving ===== | ||
+ | * https://www.reddit.com/r/haskell/comments/469n8s/best_practices_for_modifiable_state_in_haskell/ | ||
+ | * https://www.youtube.com/watch?v=p-NBJm0kIYU | ||
* http://research.microsoft.com/en-us/um/people/simonpj/papers/financial-contracts/contracts-icfp.htm | * http://research.microsoft.com/en-us/um/people/simonpj/papers/financial-contracts/contracts-icfp.htm | ||
* https://www.reddit.com/r/haskell/comments/3ez1k4/how_would_you_design_this_program_in_haskell/ | * https://www.reddit.com/r/haskell/comments/3ez1k4/how_would_you_design_this_program_in_haskell/ | ||
Line 42: | Line 64: | ||
* http://www.parsonsmatt.org/2015/12/09/exploratory_haskell.html | * http://www.parsonsmatt.org/2015/12/09/exploratory_haskell.html | ||
* http://abailly.github.io/posts/event-source.html | * http://abailly.github.io/posts/event-source.html | ||
+ | * https://mmhaskell.com/blog/2017/7/24/getting-the-users-opinion-options-in-haskell | ||
===== Specific Topics ===== | ===== Specific Topics ===== | ||
+ | * https://hackhands.com/lazy-evaluation-works-haskell/ | ||
* http://jelv.is/blog/Haskell-Monads-and-Purity/ | * http://jelv.is/blog/Haskell-Monads-and-Purity/ | ||
* http://brandon.si/code/the-state-monad-a-tutorial-for-the-confused/ | * http://brandon.si/code/the-state-monad-a-tutorial-for-the-confused/ | ||
Line 57: | Line 80: | ||
* https://m.reddit.com/r/haskell/comments/4vh4sg/recommended_way_of_dealing_with_db_associations/ | * https://m.reddit.com/r/haskell/comments/4vh4sg/recommended_way_of_dealing_with_db_associations/ | ||
* https://m.reddit.com/r/haskell/comments/4shcin/whats_the_best_way_to_create_prebuilt_binaries_of/ | * https://m.reddit.com/r/haskell/comments/4shcin/whats_the_best_way_to_create_prebuilt_binaries_of/ | ||
+ | * https://two-wrongs.com/parser-combinators-parsing-for-haskell-beginners | ||
+ | * https://jeltsch.wordpress.com/2016/02/22/generic-programming-in-haskell/ | ||
+ | * http://blog.ssanj.net/posts/2014-09-23-A-Simple-Reader-Monad-Example.html | ||
+ | * https://www.athiemann.net/2017/07/02/superrecord.html | ||
+ | * https://www.schoolofhaskell.com/user/fumieval/encoding-objects | ||
+ | * http://www.stephendiehl.com/posts/strings.html | ||
+ | * https://mmhaskell.com/blog/2017/5/15/untangling-haskells-strings | ||
+ | * https://medium.com/@jonathangfischoff/the-partial-options-monoid-pattern-31914a71fc67 | ||
+ | * http://vaibhavsagar.com/blog/2017/05/29/imperative-haskell/ | ||
+ | * https://hackernoon.com/type-class-patterns-and-anti-patterns-efd045c5af66 | ||
+ | * https://philipnilsson.github.io/Badness10k/posts/2017-05-07-escaping-hell-with-monads.html | ||
+ | * https://medium.com/@sjsyrek/five-minutes-to-monoid-fe6f364d0bba | ||
+ | * http://foswiki.cs.uu.nl/foswiki/pub/Swierstra/ResearchTalks/tree-oriented-programming-slides.pdf | ||
+ | * https://hackernoon.com/typeclass-instance-selection-fea1068920e6 | ||
+ | * https://two-wrongs.com/dynamic-dispatch-in-haskell-how-to-make-code-extendable | ||
+ | * https://e.xtendo.org/monad#1 | ||
+ | * http://www.cs.nott.ac.uk/~pszgmh/fold.pdf | ||
+ | * http://www.parsonsmatt.org/2017/02/17/ooph_data_inheritance.html | ||
==== Lenses ==== | ==== Lenses ==== | ||
| | ||
+ | |||
* http://www.haskellforall.com/2013/05/program-imperatively-using-haskell.html | * http://www.haskellforall.com/2013/05/program-imperatively-using-haskell.html | ||
* https://m.reddit.com/r/haskell/comments/4s84tc/examples_of_why_lens_is_useful/ | * https://m.reddit.com/r/haskell/comments/4s84tc/examples_of_why_lens_is_useful/ | ||
+ | * http://www.mchaver.com/posts/2017-07-12-lens-tutorial-1.html | ||
==== Databases ==== | ==== Databases ==== | ||
* http://stackoverflow.com/questions/104960/are-there-any-orm-tools-for-haskell | * http://stackoverflow.com/questions/104960/are-there-any-orm-tools-for-haskell | ||
+ | * https://github.com/begriffs/postgrest/blob/master/README.md | ||
==== GUI ==== | ==== GUI ==== | ||
* https://begriffs.com/posts/2016-07-27-tikhon-on-frp.html | * https://begriffs.com/posts/2016-07-27-tikhon-on-frp.html | ||
+ | * https://github.com/gelisam/frp-zoo | ||
+ | * https://www.stackbuilders.com/tutorials/haskell/gui-application/ | ||
===== Tooling ===== | ===== Tooling ===== | ||
Line 78: | Line 124: | ||
* https://www.reddit.com/r/haskell/comments/3oa0ht/is_there_a_simple_way_to_automatically_visualize/ | * https://www.reddit.com/r/haskell/comments/3oa0ht/is_there_a_simple_way_to_automatically_visualize/ | ||
* https://www.reddit.com/r/haskell/comments/3voe9p/debugging_haskell_programs/ | * https://www.reddit.com/r/haskell/comments/3voe9p/debugging_haskell_programs/ | ||
+ | * [[https://functor.tokyo/blog/2017-07-28-ghc-warnings-you-should-enable|GHC Warnings You Should Use in Addition to -Wall]] | ||
==== VIM ==== | ==== VIM ==== | ||
Line 86: | Line 133: | ||
* https://github.com/begriffs/haskell-vim-now | * https://github.com/begriffs/haskell-vim-now | ||
+ | ==== Interactive "worksheets" ==== | ||
+ | |||
+ | * https://github.com/theam/haskell-do/ | ||
+ | * https://github.com/gibiansky/IHaskell | ||
+ | * https://begriffs.com/posts/2016-01-20-ihaskell-notebook.html | ||
+ | * https://github.com/HeinrichApfelmus/hyper-haskell | ||
===== Libraries ===== | ===== Libraries ===== | ||
* https://github.com/krispo/awesome-haskell | * https://github.com/krispo/awesome-haskell | ||
+ | * http://haskelliseasy.readthedocs.io/en/latest/ | ||
* http://www.haskellforall.com/2015/08/state-of-haskell-ecosystem-august-2015.html?m=1 | * http://www.haskellforall.com/2015/08/state-of-haskell-ecosystem-august-2015.html?m=1 | ||
+ | * http://projects.haskell.org/diagrams/doc/quickstart.html | ||
+ | ===== Architecture ===== | ||
+ | |||
+ | * http://stackoverflow.com/questions/3077866/large-scale-design-in-haskell | ||
+ | * http://stackingyourmonads.benkolera.com/#/ | ||
+ | * https://dshevchenko.biz/hs-research/Haskell-in-the-Large.pdf | ||
===== Web Development ===== | ===== Web Development ===== | ||
+ | * https://www.stackbuilders.com/tutorials/functional-full-stack/purescript-bridge/ | ||
==== Server Side ==== | ==== Server Side ==== | ||
* https://www.slant.co/topics/727/~haskell-web-frameworks-for-building-restful-web-services | * https://www.slant.co/topics/727/~haskell-web-frameworks-for-building-restful-web-services | ||
Line 118: | Line 179: | ||
* [[https://lotz84.github.io/haskellbyexample/|Haskell by Example (port of "Go by Example")]] | * [[https://lotz84.github.io/haskellbyexample/|Haskell by Example (port of "Go by Example")]] | ||
* https://m.reddit.com/r/haskell/comments/557fx1/how_to_model_road_intersections/ | * https://m.reddit.com/r/haskell/comments/557fx1/how_to_model_road_intersections/ | ||
+ | * http://bitemyapp.com/posts/2015-04-26-installing-a-haskell-game.html | ||
+ | * https://github.com/pmikkelsen/game-of-life | ||
+ | * https://github.com/rjohnsondev/haskellshop | ||
+ | * https://github.com/google/codeworld | ||
+ | * https://github.com/jtdaugherty/brick | ||
+ | * https://github.com/lunky/IntroToFunctionalProgramming | ||
+ | * http://www.kovach.me/posts/2014-08-09-twitter.html | ||
+ | |||
===== Style ===== | ===== Style ===== | ||
Line 125: | Line 194: | ||
===== Advanced ===== | ===== Advanced ===== | ||
+ | * https://ocharles.org.uk/blog/pages/2014-12-01-24-days-of-ghc-extensions.html | ||
* [[http://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/|Category Theory for Programmers]] | * [[http://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/|Category Theory for Programmers]] | ||
* https://www.reddit.com/r/haskell/comments/3m9nyp/category_theory_the_essence_of_interfacebased/ | * https://www.reddit.com/r/haskell/comments/3m9nyp/category_theory_the_essence_of_interfacebased/ | ||
Line 138: | Line 208: | ||
* https://blog.jle.im/entry/io-monad-considered-harmful.html | * https://blog.jle.im/entry/io-monad-considered-harmful.html | ||
* https://m.reddit.com/r/haskell/comments/4prbba/what_can_i_do_with_comaybe/ | * https://m.reddit.com/r/haskell/comments/4prbba/what_can_i_do_with_comaybe/ | ||
+ | * http://www.haskellforall.com/2016/02/auto-generate-command-line-interface.html | ||
+ | * http://www.haskellforall.com/2016/02/from-mathematics-to-map-reduce.html | ||
+ | |||
+ | ===== Fun ===== | ||
+ | |||
+ | * http://www.willamette.edu/~fruehr/haskell/evolution.html | ||