Notes on the Haskell programming language.

Software Development

Haskell code bases to study to learn better swdev The golden rule of software quality Do people here actually build useful programs with Haskell? software dev in haskell 'painlessly' The golden rule of software quality - haskell Pro tips for software design in Haskell http://book.realworldhaskell.org/ -- learning haskell from the perspective of a software developer https://www.reddit.com/r/haskell/comments/hz4sec/the_golden_rule_of_software_quality/ haskell and software quality

In this article I try to explain why Haskell keeps being such an important language by presenting some of its most important and distinguishing features and detailing them with working code examples. The presentation aims to be self-contained and does not require any previous knowledge of the language. Appendix to Software Design in Haskell Haskell for all: The golden rule of software quality Do people here actually build useful programs with Haskell? - haskell Do you guys think Haskell is the best language if my intent is to develop a

made in haskell

Solving a puzzle in Haskell Magic: The Gathering in your terminal - madeinhaskell guitar in haskell

Utilities

Graphics

http://hackage.haskell.org/package/gloss -- 2d graphics library Graphics in Haskell: linear algebra sleexyz/hylogen: GLSL embedded in Haskell hylogen glsl shaders embedded in haskell

Hoogle

https://aaronguo1996.github.io/project/hoogleplus/ hoogle plus :: search for combinations of functions with hoogle! https://hoogleplus.goto.ucsd.edu/ https://aaronguo1996.github.io/project/hoogleplus/ this is the coolest shit

GHC

incredible breakdown of how GHC works syntax - What does the `forall` keyword in Haskell/GHC do? - Stack Overflow 9.1. Language options — Glasgow Haskell Compiler 8.10.1 User's Guide https://downloads.haskell.org/~ghc/7.0.1/docs/html/users_guide/rewrite-rules.html IDE 2020: Measuring memory usage of Haskell values and patching GHC Lambda calculus implemented at the type level in GHC

TemplateHaskell

An excellent Template Haskell Tutorial codeblog/2011-12-27-template-haskell.md at master · leonidas/codeblog https://github.com/JoeyEremondi/haskelm haskell to elm translation with TemplateHaskell

Categories

Category theory https://ncatlab.org/nlab/show/comonad#definition Math Haskell and Category TheoryCategory theory Category Theory | Haskell Language Tutorial http://www.haskellforall.com/2013/02/you-could-have-invented-comonads.html

Monads

state analysis with monads https://sanderv1992.github.io/fp/monad/ https://bartoszmilewski.com/2017/01/02/comonads/ -- monads in reverse; co-categories https://en.wikibooks.org/wiki/Haskell/Monad_transformers -- transformers :: operating over monads http://comonad.com/reader/

Dependent types and more

mikeizbicki/subhask: Type safe interface for working in subcategories of Ha Dependent type roles : haskell haskell-snippets/LambdaToSKI.hs at master · roger-uw/haskell-snippets

haskell

https://blog.sumtypeofway.com/posts/fast-iteration-with-haskell.html https://blog.josephmorag.com/posts/mcc1/ http://oleg.fi/gists/posts/2020-04-27-overloaded-local-do.html https://gilmi.me/blog/post/2020/04/28/consider-haskell https://tech.fpcomplete.com/blog/2016/11/covariance-contravariance https://tech.fpcomplete.com/haskell/syllabus https://www.reddit.com/r/haskell/comments/g1ajqe/towards_faster_iteration_in_industrial_haskell/ https://www.reddit.com/r/ProgrammingLanguages/comments/fum1pw/haskell_cheat_sheet/ https://www.reddit.com/r/haskell/comments/x7fyt/smartcheck_a_better_quickcheck_for_testing/ http://hackage.haskell.org/package/mwc-random-accelerate -- pseudorandom numbers, accelerate arrays ?? https://mmhaskell.com/machine-learning http://hackage.haskell.org/package/nvvm -- no idea, looks cool https://hackage.haskell.org/package/haskeline-0.8.0.0/docs/System-Console-Haskeline.html -- ui for interacting with the terminal in haskell https://www.youtube.com/watch?v=uxv62QQajx8 -- implementing linear haskell https://www.youtube.com/watch?v=SjxP1NpoP2c -- hasktorch ! https://www.youtube.com/watch?v=qWpD8t_Aodk&t=945s -- how they made hasktorch https://www.reddit.com/r/haskell/comments/gwdd8/io_evaluates_the_haskell_heap/ https://www.reddit.com/r/programming/comments/gwyq2/implementing_the_haskell_heap_in_python_hint_it/ https://www.reddit.com/r/haskell/comments/fz0ve/the_type_technology_tree_mapping_type_extensions/ https://www.reddit.com/r/haskell/comments/h40qr/unraveling_the_mystery_of_the_io_monad/ https://www.reddit.com/r/haskell/comments/k5okh/lets_play_a_game_how_to_implement_functions_from/ https://www.reddit.com/r/haskell/comments/i29kd/a_pattern_for_avoiding_allocation_inside_t5/ https://www.reddit.com/r/haskell/comments/hlsmv/an_insufficiently_lazy_map_the_dangers_of/ https://www.reddit.com/r/haskell/comments/hcjmm/space_leak_zoo_a_catalog_of_common_space_leaks_in/ https://www.reddit.com/r/haskell/comments/tzp7f/a_gamified_tutorial_on_the_sequent_calculus/ https://www.reddit.com/r/haskell/comments/12irlj/hpd3js_an_interactive_heap_profile_viewer/ https://www.reddit.com/r/haskell/comments/571i8r/galois_is_hiring/ https://www.reddit.com/r/haskell/comments/2b7odl/this_just_in_from_my_local_ghccabal_checkout_re/ https://www.reddit.com/r/haskell/comments/5bkhth/request_for_comment_specifying_versions_soname/ https://www.reddit.com/r/haskell/comments/5erk9u/levity_polymorphism_new_paper_from_richard_and/ https://www.reddit.com/r/haskell/comments/5erk9u/levity_polymorphism_new_paper_from_richard_and/ https://www.reddit.com/r/haskell/comments/5yxbh7/what_bcbreaking_changes_would_you_make_to/ https://www.reddit.com/r/adventofcode/comments/ek4652/2019_day_all_haskell_my_first_journey_through/ https://www.reddit.com/r/compsci/comments/g1rtjo/xpost_rhaskell_i_wrote_an_introduction_to_lambda/ https://alpacaaa.net/thoughts-on-haskell-2020/ https://www.fpcomplete.com/blog/2017/06/readert-design-pattern https://www.tweag.io/posts/2019-02-13-types-got-you.html https://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-Generics.html https://www.snoyman.com/blog/2019/11/boring-haskell-manifesto https://tech.fpcomplete.com/blog/2017/01/quickcheck https://www.parsonsmatt.org/2019/12/26/write_junior_code.html https://talks.diogocastro.com/the-haskell-epidemic/#0 http://www.cse.chalmers.se/%7Erjmh/QuickCheck/ https://www.reddit.com/r/haskell/comments/fz19kg/where_can_i_find_examples_of_haskells_features/ https://www.tweag.io/posts/2020-04-16-exceptions-in-haskell.html https://www.reddit.com/r/haskell/comments/g2y4m1/im_streaming_myself_working_on_ghc_today_if_you/ https://ucsd-progsys.github.io/liquidhaskell-blog/2020/04/12/polymorphic-perplexion.lhs/ https://m.youtube.com/watch?feature=youtu.be&v=kIwd1D9m1gE https://gist.github.com/erebe/a8b0ffd1a27133bcf3b640b64e35f2fb https://www.reddit.com/r/haskell/comments/g0w8g5/can_someone_explain_this_kmett_magic/

setting up stack

wget https://get.haskellstack.org/stable/linux-x86_64-static.tar.gz
rm -rf linux-x86_64-static.tar.gz
export PATH=$PATH:./s

creating project:

stack new Other simple
stack setup
getting ncurses5-compat-libs:

other links

ez web server in haskell client side apps in haskell

https://github.com/raviksharma/bartosz-basics-of-haskell basics of haskell tutorial

Proofs

things to remake in haskell (and maybe racket!)

sha256 encoder

IHP

'batteries included haskell framework' https://github.com/digitallyinduced/ihp https://github.com/bergmark/feed haskell package for RSS https://github.com/cdepillabout/termonad haskell terminal emulator https://github.com/AndrasKovacs/setoidtt implementations of systems with setoid type theory https://github.com/jaspervdj/websockets yea https://m.youtube.com/watch?v=FYTZkE5BZ-0 :: make musicwith haskell from scratch https://kowainik.github.io/posts/haskell-mini-patterns haskell mini patterns https://www.reddit.com/r/haskell/comments/hawgff/any_devs_here_interested_in_learning_plutus_and/ https://blog.sigplan.org/2019/12/16/runtime-support-for-multicore-haskell-a-retrospective/ icebreaker fpga https://github.com/mikeizbicki/subhask rewrite of prelude to make numerics fun and fast https://mpickering.github.io//ide/posts/2020-08-04-measuring-memory-size.html measuring memory usage in haskell

web

https://m.youtube.com/watch?v=65GWGc5LNxc debugging ghc assertion error https://reasonablypolymorphic.com/blog/towards-tactics/index.html navigating the haskell tactics engine https://www.srid.ca/haskell-new-project.html creating a new haskell project with ide support and nix

etc...

"A Haskell library that simplifies access to remote data, such as databases or web-based services. " The functional Haskell kernel Developing multiple local packages at once in repl? - haskell Let's build a Cloudflare Worker with WebAssembly and Haskell Implementing a Case Conversion Library in F# and Haskell · maxdeviant.com kwannoel/kattis: Kattis problems in Haskell (maybe Rust? we'll see) kwannoel/haskell_tutorials kwannoel/fingerd: Final haskell project, a finger daemon. Zippers in Haskell and Javascript - My Zettelkasten Other influential disciplines or challenges? - haskell Conal Elliott » “Everything is a function” in Haskell?

effet: An Effect System based on Type Classes - haskell Haskeller competency matrix Solving a puzzle in Haskell. This post isn’t particularly deep or… | by Chr The Haskell Elephant in the Room - YouTube ]"Hackett: a metaprogrammable Haskell" by Alexis King - YouTube Runtime Support for Multicore Haskell: a Retrospective | SIGPLAN Blog raviksharma/bartosz-basics-of-haskell: Code and exercises from Bartosz Mile Announcement/call for contributors: Monpad - haskell

https://lexi-lambda.github.io/resume.html -- alexis king -- brilliant racket and haskell programmer

he original parsing with derivatives haskell implementation "FPGA Haskell machine with game changing performance. Reduceron is Matthew Naylor, Colin Runciman and Jason Reich's high performance FPGA softcore for running lazy functional programs, including hardware garbage collection. Reduceron has been implemented on various FPGAs with clock frequency ranging from 60 to 150 MHz depending on the FPGA. A high degree of parallelism allows Reduceron to implement graph evaluation very efficiently. This fork aims to continue development on this, with a view to practical applications. Comments, questions, etc are welcome." Haskell-style functional programming language running on Erlang VM. Haskell bindings for the Souffle datalog language Haskell translation of Idris's original algebraic effects library

How Accursed and Unutterable is accursedUnutterablePerformIO? https://ocharles.org.uk/

raft consensus protocol implementation reverse dependency build matrix generator effekt: effect system based on type classes property testing in depth 'vabal': the cabal companion

https://gist.github.com/MaiaVictor/350cd2e318ad884c7c491c3dad7e3b1d

https://typeclasses.com/: a haskell guide, or something https://boarders.github.io/posts/locally-nameless/ cool pl writing based on various papers : ) http://www.newartisans.com/ haskell blogs and ideas https://banana.dog/@yaaps/105019052210553569 https://news.ycombinator.com/item?id=13781467 algebraic subtyping Math CiteSeerX — Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire https://ocharles.org.uk/blog/posts/2019-08-09-who-authorized-these-ghosts.html incredible article on authorization a clever way https://www.youtube.com/watch?v=GQi-6-d5ooQ&app=desktop https://www.reddit.com/r/haskell/comments/i6c0dy/how_to_interpret_recursive_combinators_mean_over/ compile haskell to verilog https://github.com/TOTBWF/refinery: refinement proofs in haskell

Simple Haskell

https://www.simplehaskell.org/ simple haskell is easier for everyone to use https://www.reddit.com/r/haskell/comments/hjtnxx/light_weight_haskell Observations after the first time writing (simple) Haskell : haskell https://www.haskellforall.com/2014/03/introductions-to-advanced-haskell-topics.html?m=1 http://blog.sigfpe.com/2006/08/algebraic-topology-in-haskell.html?m=1

important

https://artyom.me/aeson#fromjson-instances-for-other-types the best aeson tutorial