Skip to content

Commit b487600

Browse files
committed
Fix broken links
1 parent ca212d7 commit b487600

19 files changed

Lines changed: 115 additions & 220 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 & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -2,133 +2,89 @@
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
14-
* https://www.futurelearn.com/courses/functional-programming-haskell/1/steps/115453
15-
* http://baatz.io/posts/haskell-in-a-startup/
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://baatz.io/posts/haskell-in-a-startup/
168
* 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/
199
* https://www.wagonhq.com/blog/haskell-for-industry
20-
* http://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html
10+
* https://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html
2111
* https://kseo.github.io/posts/2017-01-27-how-i-learned-haskell.html
2212
* https://hackernoon.com/easing-haskells-intimidating-glare-2341095e88aa
2313
* https://www.fpcomplete.com/blog/2016/11/mastering-time-to-market-haskell
2414

2515
## Courses and Fundamental topics
2616

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/
17+
* https://learnyouahaskell.github.io/
18+
* https://haskellbook.com/
19+
* https://i.iinfo.cz/files/root/k/real-world-haskell.pdf
3220
* https://wiki.haskell.org
3321
* 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
22+
* https://nptel.ac.in/courses/106106137/
23+
* https://www.happylearnhaskelltutorial.com/
3824
* https://github.com/takenobu-hs/type-introduction-illustrated
39-
* http://stackoverflow.com/questions/15530511/how-to-edit-nth-element-in-a-haskell-list
25+
* https://stackoverflow.com/questions/15530511/how-to-edit-nth-element-in-a-haskell-list
4026
* https://www.youtube.com/playlist?list=PLsAEIIjTPIo83ufYYkaPjUwZUuTe1LoZP
41-
* http://www.scs.stanford.edu/11au-cs240h/notes/
42-
* 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
27+
* https://www.scs.stanford.edu/11au-cs240h/notes/
28+
* https://cheatsheet.codeslower.com/
29+
* https://lotz84.github.io/haskellbyexample/
30+
* https://ndmitchell.com/downloads/slides-drive-by_haskell_contributions-09_jun_2017.pdf
31+
* https://bitemyapp.com
4932
* 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/
33+
* https://www.atamo.com/articles/how-to-read-pearls-by-richard-bird/
5134
* https://mmhaskell.com/blog/2017/1/30/the-easiest-haskell-idiom
5235

5336
## Problems Solving
5437

55-
* https://www.reddit.com/r/haskell/comments/469n8s/best_practices_for_modifiable_state_in_haskell/
5638
* 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
39+
* https://research.microsoft.com/en-us/um/people/simonpj/papers/financial-contracts/contracts-icfp.htm
40+
* https://blog.ezyang.com/2010/05/design-patterns-in-haskel/
41+
* https://www.parsonsmatt.org/2015/12/09/exploratory_haskell.html
42+
* https://abailly.github.io/posts/event-source.html
6443
* https://mmhaskell.com/blog/2017/7/24/getting-the-users-opinion-options-in-haskell
6544

6645
## Specific Topics
6746

6847
* 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/
48+
* https://jelv.is/blog/Haskell-Monads-and-Purity/
49+
* https://brandon.si/code/the-state-monad-a-tutorial-for-the-confused/
50+
* https://www.haskellforall.com/2015/10/polymorphism-for-dummies.html
51+
* https://www.alexeyshmalko.com/2015/haskell-string-types/
8252
* https://two-wrongs.com/parser-combinators-parsing-for-haskell-beginners
8353
* 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
54+
* https://blog.ssanj.net/posts/2014-09-23-A-Simple-Reader-Monad-Example.html
8555
* https://www.athiemann.net/2017/07/02/superrecord.html
8656
* https://www.schoolofhaskell.com/user/fumieval/encoding-objects
87-
* http://www.stephendiehl.com/posts/strings.html
8857
* 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/
58+
* https://vaibhavsagar.com/blog/2017/05/29/imperative-haskell/
9159
* https://hackernoon.com/type-class-patterns-and-anti-patterns-efd045c5af66
9260
* 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
9561
* https://hackernoon.com/typeclass-instance-selection-fea1068920e6
9662
* https://two-wrongs.com/dynamic-dispatch-in-haskell-how-to-make-code-extendable
9763
* 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
64+
* https://www.parsonsmatt.org/2017/02/17/ooph_data_inheritance.html
10065

10166
### Lenses
10267

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
68+
* https://www.haskellforall.com/2013/05/program-imperatively-using-haskell.html
10669

10770
### Databases
10871

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

11275
### GUI
11376

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

11880
## Tooling
11981

120-
* https://www.haskell.org/hoogle/
82+
* https://hoogle.haskell.org/
12183
* 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/
12684
* https://functor.tokyo/blog/2017-07-28-ghc-warnings-you-should-enable
12785

12886
### VIM
12987

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

@@ -141,82 +97,40 @@
14197

14298
## Libraries
14399
* 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
100+
* https://haskelliseasy.readthedocs.io/en/latest/
101+
* https://www.haskellforall.com/2015/08/state-of-haskell-ecosystem-august-2015.html?m=1
102+
* https://projects.haskell.org/diagrams/doc/quickstart.html
147103

148104
## Architecture
149105

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/
106+
* https://stackoverflow.com/questions/3077866/large-scale-design-in-haskell
157107

158108
### Server Side
159109

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
110+
* https://stackoverflow.com/questions/5645168/comparing-haskells-snap-and-yesod-web-frameworks
111+
* https://zyghost.com/articles/Renderable.html
163112
* https://robots.thoughtbot.com/a-rest-api-with-haskell-and-snap
164113

165114
### Client Side
166115

167-
* http://haste-lang.org/
116+
* https://haste-lang.org/
168117
* 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/
118+
* https://ifeanyi.co/posts/client-side-haskell/
171119
* 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-
120+
* https://stackoverflow.com/questions/9210412/recommended-reading-tutorials-to-understand-reactive-banana-frp-library
194121

195122
## Style
196123

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/
124+
* https://stackoverflow.com/questions/7746894/are-there-pronounceable-names-for-common-haskell-operators
200125

201126
## Advanced
202127

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/
128+
* https://www.parsonsmatt.org/2015/11/15/template_haskell.html
213129
* https://wiki.haskell.org/GADTs_for_dummies
214-
* https://m.reddit.com/r/haskell/comments/4sihcv/haskell_the_bad_parts/
215130
* 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
131+
* https://www.haskellforall.com/2016/02/auto-generate-command-line-interface.html
132+
* https://www.haskellforall.com/2016/02/from-mathematics-to-map-reduce.html
219133

220134
## Fun
221135

222-
* http://www.willamette.edu/~fruehr/haskell/evolution.html
136+
* 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)