Skip to content

Commit 812c0b0

Browse files
committed
Fix broken links
1 parent aa4cb22 commit 812c0b0

19 files changed

Lines changed: 119 additions & 221 deletions

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![License: CC BY-SA 4.0](https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-sa/4.0/)
44
[![DOI](https://zenodo.org/badge/118425348.svg)](https://zenodo.org/badge/latestdoi/118425348)
55

6-
Materials of [MI-AFP] (*Applied Functional Programming*) course tutorials
6+
Materials of MI-AFP (*Applied Functional Programming*) course tutorials
77

88
## Content
99

@@ -29,7 +29,6 @@ This project is licensed under the Creative Commons Public License [CC BY-SA 4.0
2929
[issue]: https://help.github.com/articles/about-issues/
3030
[pull request]: https://help.github.com/articles/about-pull-requests/
3131
[CC BY-SA 4.0]: https://creativecommons.org/licenses/by-sa/4.0/deed.cs
32-
[MI-AFP]: http://bk.fit.cvut.cz/en/predmety/00/00/00/00/00/00/05/42/92/p5429206.html
3332
[MI-AFP organization]: https://github.com/MI-AFP
3433
[MI-PYT]: https://github.com/cvut/MI-PYT
3534
[LICENSE]: LICENSE

project-guide.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ Important part of a productive environment (and not just for team, even if you a
6363

6464
The most famous version control systems these days are [Git](https://git-scm.com) and [SVN (subversion)](https://subversion.apache.org). Frequently, you can stick with rule that SVN is more suitable for larger and binary files (although there is Git LFS) or when good integration for specific tool is supplied (for example, Enterprise Architect). The core difference is in approach that SVN is centralized and you need to lock part that you want to change, this is where Git will require you resolve merge conflicts. Merging and branches in SVN are more complicated than in Git (this many be subjective).
6565

66-
![Git vs. Subversion (git-tower.com)](https://www.git-tower.com/learn/content/01-git/01-ebook/en/02-desktop-gui/07-appendix/02-from-subversion-to-git/centralized-vs-distributed.png)
67-
6866
For more see: https://www.perforce.com/blog/vcs/git-vs-svn-what-difference
6967

7068
### GitHub, GitLab, and others
@@ -142,7 +140,7 @@ To avoid that, you need some people to do reviews for you and do the review for
142140

143141
As already being said few times, there are services that can be easily integrated with GitHub or GitLab in order to do something with your project automatically when you push commits, create pull request, release new version, or do some other action. The "something" can be actually anything and you can write such "[CI tool](https://en.wikipedia.org/wiki/Continuous_integration)" even by yourself.
144142

145-
* Continuous Integration - This term is used usually when your software is built (all parts are integrated), and tested with automatic tests or at least attempt to execute it is done. The result is that at that moment your code is (at least somehow) working. It is nice to see in your commits history which were working and which were not. For this, you can use [Travis CI](travis-ci.org), [Semaphore CI](https://semaphoreci.com), AppVeyor, and many others.
143+
* Continuous Integration - This term is used usually when your software is built (all parts are integrated), and tested with automatic tests or at least attempt to execute it is done. The result is that at that moment your code is (at least somehow) working. It is nice to see in your commits history which were working and which were not. For this, you can use [Travis CI](https://travis-ci.org), [Semaphore CI](https://semaphoreci.com), AppVeyor, and many others.
146144
* Continuous Inspection - Services that does static inspection of your code, they can verify dependencies of your project, evaluate coverage, and others. One of the examples is [SonarQube](https://www.sonarqube.org), but again there are many similar services.
147145
* Continuous Delivery - If your code passed the build and test phases, it can be deployed somewhere. The deployment can have many realizations, from actual deployment on some web hosting or app server (realized, for example, by service like [Heroku](https://www.heroku.com) or [AWS](https://aws.amazon.com)), though publishing new documentation on [ReadTheDocs](https://readthedocs.org), to uploading installation packages to some registry. All depends what you need, want, and how you will set it up.
148146

references.md

Lines changed: 44 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -2,133 +2,92 @@
22

33
## Rationale
44

5-
* https://dzone.com/articles/why-haskell-matters
6-
* http://programmers.stackexchange.com/questions/279316/what-exactly-makes-the-haskell-type-system-so-revered-vs-say-java/
7-
* https://www.reddit.com/r/haskell/comments/3f4s3r/advantages_and_disadvantages_of_haskell_in/
8-
* https://code.facebook.com/posts/745068642270222/fighting-spam-with-haskell/
9-
* https://www.reddit.com/r/haskell/comments/3h7fqr/what_are_haskellers_critiques_of_scala/
10-
* https://www.reddit.com/r/haskell/comments/3h5og6/i_now_tend_to_think_that_the_concepts_behind_all/
11-
* http://jfeltz.com/posts/2015-08-30-cost-decreasing-software-architecture.html
12-
* https://medium.com/@bryanmikaelian/haskell-changed-me-f98ebbb84333
13-
* http://www.leonmergen.com/code/2015/12/04/on-stateless-software-design-what-is-state.html
5+
* https://wiki.haskell.org/Why_Haskell_matters
6+
* https://programmers.stackexchange.com/questions/279316/what-exactly-makes-the-haskell-type-system-so-revered-vs-say-java/
7+
* https://code.facebook.com/posts/745068642270222/fighting-spam-with-haskell/i_now_tend_to_think_that_the_concepts_behind_all/
148
* https://www.futurelearn.com/courses/functional-programming-haskell/1/steps/115453
15-
* http://baatz.io/posts/haskell-in-a-startup/
9+
* https://baatz.io/posts/haskell-in-a-startup/
1610
* https://lexi-lambda.github.io/blog/2016/06/12/four-months-with-haskell/?utm_source=all
17-
* http://www.stephendiehl.com/posts/production.html
18-
* https://www.reddit.com/r/haskell/comments/46jaqx/i_really_want_to_use_haskell_but_im_having/
1911
* https://www.wagonhq.com/blog/haskell-for-industry
20-
* http://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html
12+
* https://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html
2113
* https://kseo.github.io/posts/2017-01-27-how-i-learned-haskell.html
2214
* https://hackernoon.com/easing-haskells-intimidating-glare-2341095e88aa
2315
* https://www.fpcomplete.com/blog/2016/11/mastering-time-to-market-haskell
2416

2517
## Courses and Fundamental topics
2618

27-
* http://learnyouahaskell.com
28-
* http://haskellbook.com/
29-
* https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0
30-
* http://book.realworldhaskell.org
31-
* http://dev.stephendiehl.com/hask/
19+
* https://learnyouahaskell.github.io/
20+
* https://haskellbook.com/
21+
* https://i.iinfo.cz/files/root/k/real-world-haskell.pdf
3222
* https://wiki.haskell.org
3323
* https://www.fpcomplete.com/
34-
* http://nptel.ac.in/courses/106106137/
35-
* https://www.reddit.com/r/haskell/comments/3j36wc/haskell_tutorial_collection/
36-
* http://www.happylearnhaskelltutorial.com/
37-
* http://learn.hfm.io/higher_order.html
24+
* https://nptel.ac.in/courses/106106137/
25+
* https://www.happylearnhaskelltutorial.com/
3826
* https://github.com/takenobu-hs/type-introduction-illustrated
39-
* http://stackoverflow.com/questions/15530511/how-to-edit-nth-element-in-a-haskell-list
27+
* https://stackoverflow.com/questions/15530511/how-to-edit-nth-element-in-a-haskell-list
4028
* https://www.youtube.com/playlist?list=PLsAEIIjTPIo83ufYYkaPjUwZUuTe1LoZP
41-
* http://www.scs.stanford.edu/11au-cs240h/notes/
29+
* https://www.scs.stanford.edu/11au-cs240h/notes/
4230
* https://www.futurelearn.com/courses/functional-programming-haskell
43-
* https://m.reddit.com/r/haskell/comments/4ooxqc/does_anyone_have_a_progressive_list_of_beginner/
44-
* http://cheatsheet.codeslower.com/
45-
* https://github.com/warreee/haskell
46-
* http://lotz84.github.io/haskellbyexample/
47-
* http://ndmitchell.com/downloads/slides-drive-by_haskell_contributions-09_jun_2017.pdf
48-
* http://bitemyapp.com
31+
* https://cheatsheet.codeslower.com/
32+
* https://lotz84.github.io/haskellbyexample/
33+
* https://ndmitchell.com/downloads/slides-drive-by_haskell_contributions-09_jun_2017.pdf
34+
* https://bitemyapp.com
4935
* https://kseo.github.io/posts/2017-01-28-build-your-haskell-project-continuously.html
50-
* http://www.atamo.com/articles/how-to-read-pearls-by-richard-bird/
36+
* https://www.atamo.com/articles/how-to-read-pearls-by-richard-bird/
5137
* https://mmhaskell.com/blog/2017/1/30/the-easiest-haskell-idiom
5238

5339
## Problems Solving
5440

55-
* https://www.reddit.com/r/haskell/comments/469n8s/best_practices_for_modifiable_state_in_haskell/
5641
* https://www.youtube.com/watch?v=p-NBJm0kIYU
57-
* http://research.microsoft.com/en-us/um/people/simonpj/papers/financial-contracts/contracts-icfp.htm
58-
* https://www.reddit.com/r/haskell/comments/3ez1k4/how_would_you_design_this_program_in_haskell/
59-
* http://blog.ezyang.com/2010/05/design-patterns-in-haskel/
60-
* https://www.reddit.com/r/haskell/comments/3r8x5m/best_way_to_model_a_deck_of_cards/
61-
* http://ideas.cs.uu.nl/FPTutor/
62-
* http://www.parsonsmatt.org/2015/12/09/exploratory_haskell.html
63-
* http://abailly.github.io/posts/event-source.html
42+
* https://research.microsoft.com/en-us/um/people/simonpj/papers/financial-contracts/contracts-icfp.htm
43+
* https://blog.ezyang.com/2010/05/design-patterns-in-haskel/
44+
* https://www.parsonsmatt.org/2015/12/09/exploratory_haskell.html
45+
* https://abailly.github.io/posts/event-source.html
6446
* https://mmhaskell.com/blog/2017/7/24/getting-the-users-opinion-options-in-haskell
6547

6648
## Specific Topics
6749

6850
* https://hackhands.com/lazy-evaluation-works-haskell/
69-
* http://jelv.is/blog/Haskell-Monads-and-Purity/
70-
* http://brandon.si/code/the-state-monad-a-tutorial-for-the-confused/
71-
* http://www.haskellforall.com/2015/10/polymorphism-for-dummies.html
72-
* http://www.gilmi.xyz/post/2015/08/12/how-haskell-models-io
73-
* https://www.reddit.com/r/haskell/comments/3hqvzi/how_to_accomplish_edits_of_a_large_dataset_in
74-
* https://www.reddit.com/r/haskell/comments/3is2ay/what_gui_libray_do_you_userecommend/
75-
* https://www.reddit.com/r/haskell/comments/3wxggs/whats_the_best_way_to_create_gui_for_haskell/
76-
* http://www.alexeyshmalko.com/2015/haskell-string-types/
77-
* https://www.reddit.com/r/haskell/comments/3u5ryh/fast_way_to_serialize_haskell_objects/
78-
* http://kwangyulseo.com/2014/02/06/multi-line-strings-in-haskell/
79-
* https://github.com/asivitz/Hickory
80-
* https://m.reddit.com/r/haskell/comments/4vh4sg/recommended_way_of_dealing_with_db_associations/
81-
* https://m.reddit.com/r/haskell/comments/4shcin/whats_the_best_way_to_create_prebuilt_binaries_of/
51+
* https://jelv.is/blog/Haskell-Monads-and-Purity/
52+
* https://brandon.si/code/the-state-monad-a-tutorial-for-the-confused/
53+
* https://www.haskellforall.com/2015/10/polymorphism-for-dummies.html
54+
* https://www.alexeyshmalko.com/2015/haskell-string-types/
8255
* https://two-wrongs.com/parser-combinators-parsing-for-haskell-beginners
8356
* https://jeltsch.wordpress.com/2016/02/22/generic-programming-in-haskell/
84-
* http://blog.ssanj.net/posts/2014-09-23-A-Simple-Reader-Monad-Example.html
57+
* https://blog.ssanj.net/posts/2014-09-23-A-Simple-Reader-Monad-Example.html
8558
* https://www.athiemann.net/2017/07/02/superrecord.html
8659
* https://www.schoolofhaskell.com/user/fumieval/encoding-objects
87-
* http://www.stephendiehl.com/posts/strings.html
8860
* https://mmhaskell.com/blog/2017/5/15/untangling-haskells-strings
89-
* https://medium.com/@jonathangfischoff/the-partial-options-monoid-pattern-31914a71fc67
90-
* http://vaibhavsagar.com/blog/2017/05/29/imperative-haskell/
61+
* https://vaibhavsagar.com/blog/2017/05/29/imperative-haskell/
9162
* https://hackernoon.com/type-class-patterns-and-anti-patterns-efd045c5af66
9263
* https://philipnilsson.github.io/Badness10k/posts/2017-05-07-escaping-hell-with-monads.html
93-
* https://medium.com/@sjsyrek/five-minutes-to-monoid-fe6f364d0bba
94-
* http://foswiki.cs.uu.nl/foswiki/pub/Swierstra/ResearchTalks/tree-oriented-programming-slides.pdf
9564
* https://hackernoon.com/typeclass-instance-selection-fea1068920e6
9665
* https://two-wrongs.com/dynamic-dispatch-in-haskell-how-to-make-code-extendable
9766
* https://e.xtendo.org/monad#1
98-
* http://www.cs.nott.ac.uk/~pszgmh/fold.pdf
99-
* http://www.parsonsmatt.org/2017/02/17/ooph_data_inheritance.html
67+
* https://www.parsonsmatt.org/2017/02/17/ooph_data_inheritance.html
10068

10169
### Lenses
10270

103-
* http://www.haskellforall.com/2013/05/program-imperatively-using-haskell.html
104-
* https://m.reddit.com/r/haskell/comments/4s84tc/examples_of_why_lens_is_useful/
105-
* http://www.mchaver.com/posts/2017-07-12-lens-tutorial-1.html
71+
* https://www.haskellforall.com/2013/05/program-imperatively-using-haskell.html
10672

10773
### Databases
10874

109-
* http://stackoverflow.com/questions/104960/are-there-any-orm-tools-for-haskell
75+
* https://stackoverflow.com/questions/104960/are-there-any-orm-tools-for-haskell
11076
* https://github.com/begriffs/postgrest/blob/master/README.md
11177

11278
### GUI
11379

11480
* https://begriffs.com/posts/2016-07-27-tikhon-on-frp.html
11581
* https://github.com/gelisam/frp-zoo
116-
* https://www.stackbuilders.com/tutorials/haskell/gui-application/
11782

11883
## Tooling
11984

12085
* https://www.haskell.org/hoogle/
12186
* https://github.com/alanz/HaRe
122-
* https://www.fpcomplete.com/
123-
* https://www.reddit.com/r/haskell/comments/3ni7fb/is_there_any_ide_or_plugin_for_haskell_that_does/
124-
* https://www.reddit.com/r/haskell/comments/3oa0ht/is_there_a_simple_way_to_automatically_visualize/
125-
* https://www.reddit.com/r/haskell/comments/3voe9p/debugging_haskell_programs/
12687
* https://functor.tokyo/blog/2017-07-28-ghc-warnings-you-should-enable
12788

12889
### VIM
12990

130-
* http://www.stephendiehl.com/posts/vim_haskell.html
131-
* http://blog.mno2.org/posts/2011-11-17-vim-plugins-for-haskell-programmers.html
13291
* https://github.com/eagletmt/neco-ghc
13392
* https://github.com/begriffs/haskell-vim-now
13493

@@ -141,82 +100,40 @@
141100

142101
## Libraries
143102
* https://github.com/krispo/awesome-haskell
144-
* http://haskelliseasy.readthedocs.io/en/latest/
145-
* http://www.haskellforall.com/2015/08/state-of-haskell-ecosystem-august-2015.html?m=1
146-
* http://projects.haskell.org/diagrams/doc/quickstart.html
103+
* https://haskelliseasy.readthedocs.io/en/latest/
104+
* https://www.haskellforall.com/2015/08/state-of-haskell-ecosystem-august-2015.html?m=1
105+
* https://projects.haskell.org/diagrams/doc/quickstart.html
147106

148107
## Architecture
149108

150-
* http://stackoverflow.com/questions/3077866/large-scale-design-in-haskell
151-
* http://stackingyourmonads.benkolera.com/#/
152-
* https://dshevchenko.biz/hs-research/Haskell-in-the-Large.pdf
153-
154-
## Web Development
155-
156-
* https://www.stackbuilders.com/tutorials/functional-full-stack/purescript-bridge/
109+
* https://stackoverflow.com/questions/3077866/large-scale-design-in-haskell
157110

158111
### Server Side
159112

160-
* https://www.slant.co/topics/727/~haskell-web-frameworks-for-building-restful-web-services
161-
* http://stackoverflow.com/questions/5645168/comparing-haskells-snap-and-yesod-web-frameworks
162-
* http://zyghost.com/articles/Renderable.html
113+
* https://stackoverflow.com/questions/5645168/comparing-haskells-snap-and-yesod-web-frameworks
114+
* https://zyghost.com/articles/Renderable.html
163115
* https://robots.thoughtbot.com/a-rest-api-with-haskell-and-snap
164116

165117
### Client Side
166118

167-
* http://haste-lang.org/
119+
* https://haste-lang.org/
168120
* https://github.com/ghcjs/ghcjs
169-
* https://www.airpair.com/haskell/posts/haskell-tutorial-introduction-to-web-apps
170-
* http://ifeanyi.co/posts/client-side-haskell/
121+
* https://ifeanyi.co/posts/client-side-haskell/
171122
* https://speakerdeck.com/mkscrg/electron-react-and-haskell-oh-my
172-
* http://stackoverflow.com/questions/9210412/recommended-reading-tutorials-to-understand-reactive-banana-frp-library
173-
174-
## Examples and Projects
175-
176-
* https://m.reddit.com/r/haskell/comments/571tu3/what_are_some_good_open_source_projects_for/
177-
* http://utdemir.com/posts/modeling-the-hardest-logic-puzzle-ever-in-haskell.html
178-
* http://zyghost.com/articles/Renderable.html
179-
* https://www.reddit.com/r/haskell/comments/3l2b7q/good_midsized_projects_for_learning_haskell/
180-
* https://gist.github.com/ToJans
181-
* https://www.reddit.com/r/haskell/comments/3pqdln/large_applications_written_using_frp/
182-
* https://github.com/divipp/lensref/wiki
183-
* https://www.youtube.com/watch?v=sl2zo7tzrO8
184-
* https://lotz84.github.io/haskellbyexample/
185-
* https://m.reddit.com/r/haskell/comments/557fx1/how_to_model_road_intersections/
186-
* http://bitemyapp.com/posts/2015-04-26-installing-a-haskell-game.html
187-
* https://github.com/pmikkelsen/game-of-life
188-
* https://github.com/rjohnsondev/haskellshop
189-
* https://github.com/google/codeworld
190-
* https://github.com/jtdaugherty/brick
191-
* https://github.com/lunky/IntroToFunctionalProgramming
192-
* http://www.kovach.me/posts/2014-08-09-twitter.html
193-
123+
* https://stackoverflow.com/questions/9210412/recommended-reading-tutorials-to-understand-reactive-banana-frp-library
194124

195125
## Style
196126

197-
* http://stackoverflow.com/questions/7746894/are-there-pronounceable-names-for-common-haskell-operators
198-
* https://www.reddit.com/r/haskell/comments/3ple0s/google_styleguide_for_haskell/
199-
* https://m.reddit.com/r/haskell/comments/578amb/haskell_code_standards/
127+
* https://stackoverflow.com/questions/7746894/are-there-pronounceable-names-for-common-haskell-operators
200128

201129
## Advanced
202130

203-
* https://ocharles.org.uk/blog/pages/2014-12-01-24-days-of-ghc-extensions.html
204-
* http://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
205-
* https://www.reddit.com/r/haskell/comments/3m9nyp/category_theory_the_essence_of_interfacebased/
206-
* https://www.reddit.com/r/haskell/comments/3k17md/is_there_anything_more_powerful_than_monads/
207-
* https://www.reddit.com/r/haskell/comments/3lnhkp/monad_and_comonad_insights/
208-
* http://fvisser.nl/post/2013/okt/1/fclabels-2.0.html
209-
* http://www.parsonsmatt.org/2015/11/15/template_haskell.html
210-
* https://www.reddit.com/r/haskell/comments/3vfrik/can_i_put_constraints_on_type_constructors/
211-
* https://www.reddit.com/r/haskell/comments/3wxh7a/transducers_why_and_how/
212-
* https://www.reddit.com/r/haskell/comments/3wkofz/traversal_of_lens_with_maybe_fields/
131+
* https://www.parsonsmatt.org/2015/11/15/template_haskell.html
213132
* https://wiki.haskell.org/GADTs_for_dummies
214-
* https://m.reddit.com/r/haskell/comments/4sihcv/haskell_the_bad_parts/
215133
* https://blog.jle.im/entry/io-monad-considered-harmful.html
216-
* https://m.reddit.com/r/haskell/comments/4prbba/what_can_i_do_with_comaybe/
217-
* http://www.haskellforall.com/2016/02/auto-generate-command-line-interface.html
218-
* http://www.haskellforall.com/2016/02/from-mathematics-to-map-reduce.html
134+
* https://www.haskellforall.com/2016/02/auto-generate-command-line-interface.html
135+
* https://www.haskellforall.com/2016/02/from-mathematics-to-map-reduce.html
219136

220137
## Fun
221138

222-
* http://www.willamette.edu/~fruehr/haskell/evolution.html
139+
* https://www.willamette.edu/~fruehr/haskell/evolution.html

tutorials/00_intro.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ It might happen that you encounter a more advanced concept or piece of code that
1010

1111
## Outline
1212

13-
1. [FP and Haskell environment](01_fp-env.md)
14-
2. [Functions and basics of data types](02_functions-types.md)
15-
3. [Structure of code and branching in FP](03_branching.md)
16-
4. [Important data types, handling errors](04_types-errors.md)
17-
5. [Advanced functions, typeclasses intro](05_functions-typeclasses.md)
18-
6. [IO, testing, and documentation](06_io-test-doc.md)
19-
7. [Advanced type classes 1](07_common-typeclasses-1.md)
20-
8. [Advanced type classes 2](08_common-typeclasses-2.md)
21-
9. [Web application in Haskell](09_webapp.md)
22-
10. [Frontend and FRP](10_frontend-frp.md)
23-
11. [Performance and Debugging](11_performance-debug.md)
24-
12. [GHC Extensions and Dependent Types](12_exts-deptypes.md)
13+
1. [FP and Haskell environment](./01_fp-env.md)
14+
2. [Functions and basics of data types](./02_functions-types.md)
15+
3. [Structure of code and branching in FP](./03_branching.md)
16+
4. [Containers and higher-order functions](./04_containers-functions.md)
17+
5. [Typeclasses - custom and predefined](./05_typeclasses.md)
18+
6. [IO in Real Programs](./06_io-exc-typeclasses.md)
19+
7. [Tests, Documentation, Debugging and Performance](./07_test-doc-debug.md)
20+
8. [Web application in Haskell](./08_webapp.md)
21+
9. [Elm - Introduction](./09_elm-intro.md)
22+
10. [Elm - The Elm Architecture](./10_elm-tea.md)
23+
11. [Elm - Building Web Applications](./11_elm-building-web-apps.md)
24+
12. [Elm - Real World Use Cases](./12_elm-real-world-use-cases.md)

0 commit comments

Comments
 (0)