From 42c398285992e36bdedcb0ae25684641406fdba5 Mon Sep 17 00:00:00 2001 From: Danila Danko <48378098+deemp@users.noreply.github.com> Date: Sat, 30 Dec 2023 18:12:16 +0300 Subject: [PATCH] Update README.hs --- haskell/developers-roadmap/README.hs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/haskell/developers-roadmap/README.hs b/haskell/developers-roadmap/README.hs index ae50ebad..d1c0b2c5 100644 --- a/haskell/developers-roadmap/README.hs +++ b/haskell/developers-roadmap/README.hs @@ -321,6 +321,19 @@ ex2 = runQ [d|decl :: Int; decl = 1 + 2|] - [rzk-lang/rzk](https://github.com/rzk-lang/rzk) - see `flake.nix` +## Compiler + +### GHC + +- GHC typechecks on AST that stores position information ([SO](https://stackoverflow.com/a/27348974)) +- Haskell parser keeps location info ([link](https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Parser.y)) + +### Parsing + +- Parsing with Haskell + - [Part 1](https://serokell.io/blog/lexing-with-alex) + - [Part 2](https://serokell.io/blog/parsing-with-happy) + ## Nix - To keep completions in [share](https://github.com/NixOS/cabal2nix/issues/433#issuecomment-862557347), need to modify [justStaticExecutables](https://github.com/NixOS/nixpkgs/blob/c032f4a16c1d09533c8af71002d5e7ad2d85af60/pkgs/development/haskell-modules/lib/compose.nix#L288C8-L288C8) @@ -330,8 +343,6 @@ so that it doesn't remove `share`. - [Радости и горести побед над C: делаем конфетку из прототипа wc на хаскеле](https://habr.com/ru/articles/496370/) - [hwc](https://github.com/0xd34df00d/hwc/tree/master) -- Parsing with Haskell - - [Part 1](https://serokell.io/blog/lexing-with-alex) - Haskell CI with caching - [src](https://github.com/aaronallen8455/breakpoint/blob/main/.github/workflows/ci.yml) - `string-interpolate` - [src](https://hackage.haskell.org/package/string-interpolate) - UTF-8 string interpolation