<commit_before>---
title: INF1A - Functional Programming
year: 1
course-acronym: inf1a
archived: false
---
-   **Tip by a tutor for the final exam**: the exam is open book, so
    taking in a copy of the previous year's exam paper and solutions may
    be beneficial
-   [Past papers][papers]
-   [Exam allocations][allocations]
-   [Tree traversal algorithms (view in desktop mode!)][traversals]
-   Learn You A Haskell ([official online book], [downloadable for exam][downloadable-lyah])
-   [Basic/library function list][basic-library-functions], [Handy basic function cheat sheet][handy-functions]
-   [Troubleshooting for Haskell (including Haskell-mode on Emacs)][troubleshooting]
-   [Functional Programming blog/tutorials][kyle-cotton-blog] by <NAME>

  [papers]: https://www.inf.ed.ac.uk/teaching/courses/inf1/fp/exams/
  [allocations]: https://www.inf.ed.ac.uk/teaching/courses/inf1/fp/exams/exam-allocation-2016.pdf
  [traversals]: https://en.wikibooks.org/wiki/A-level_Computing_2009/AQA/Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/Programming_Concepts/Tree_traversal_algorithms_for_a_binary_tree
  [official online book]: http://learnyouahaskell.com/chapters
  [downloadable-lyah]: /resources/inf1-fp/inf1-fp-lyah.zip
  [basic-library-functions]: /resources/inf1-fp/inf1-fp-function-list.txt
  [handy-functions]: /resources/inf1-fp/inf1-fp-handy-functions.pdf
  [troubleshooting]: /resources/inf1-fp/troubleshooting.html
  [kyle-cotton-blog]: https://kylecotton.github.io/<commit_msg>Add Link to my Haskell Blog Articles<commit_after>---
title: INF1A - Functional Programming
year: 1
course-acronym: inf1a
archived: false
---
-   **Tip by a tutor for the final exam**: the exam is open book, so
    taking in a copy of the previous year's exam paper and solutions may
    be beneficial
-   [Past papers][papers]
-   [Exam allocations][allocations]
-   [Tree traversal algorithms (view in desktop mode!)][traversals]
-   Learn You A Haskell ([official online book], [downloadable for exam][downloadable-lyah])
-   [Basic/library function list][basic-library-functions], [Handy basic function cheat sheet][handy-functions]
-   [Troubleshooting for Haskell (including Haskell-mode on Emacs)][troubleshooting]
-   [Functional Programming blog/tutorials][kyle-cotton-blog] by <NAME>
-   [Articles on Recursion and List Comprehension][eric-janto-blog] by <NAME>

  [papers]: https://www.inf.ed.ac.uk/teaching/courses/inf1/fp/exams/
  [allocations]: https://www.inf.ed.ac.uk/teaching/courses/inf1/fp/exams/exam-allocation-2016.pdf
  [traversals]: https://en.wikibooks.org/wiki/A-level_Computing_2009/AQA/Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/Programming_Concepts/Tree_traversal_algorithms_for_a_binary_tree
  [official online book]: http://learnyouahaskell.com/chapters
  [downloadable-lyah]: /resources/inf1-fp/inf1-fp-lyah.zip
  [basic-library-functions]: /resources/inf1-fp/inf1-fp-function-list.txt
  [handy-functions]: /resources/inf1-fp/inf1-fp-handy-functions.pdf
  [troubleshooting]: /resources/inf1-fp/troubleshooting.html
  [kyle-cotton-blog]: https://kylecotton.github.io/
  [eric-janto-blog]: https://www.ericjanto.com/tags/haskell
{'fraction_non_alphanumeric': 0.13094867807153965, 'fraction_numerical': 0.012441679626749611, 'mean_word_length': 4.836660617059891, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 9, 'lorem ipsum': 0, 'www.': 5, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4407260', 'n_tokens_mistral': 1176, 'n_tokens_neox': 1091, 'n_words': 217}