Haskell Tips retweeted
So apparently a lot of peeps still don't know you can avoid pressing 'up' a billion times going through :reload's in GHCi by adding this to your `~/.haskeline` file: historyDuplicates: IgnoreAll Have fun.
3
21
103
Haskell Tips retweeted
Open this page: hackage.haskell.org/package/… ... and then type 's' to open a quick search for any exported symbols in lens
9
23
65
Usually one starts with the first error and works forward. With the default setting one has to scroll up over and over again.
1
5
Use `ghci -freverse-errors` or `stack repl --ghc-options=-freverse-errors` to reverse the error order; see the first error with no scrolling
3
38
88
() does not add a “null” value to every type, hell no; () is a “dull” value in a type of its own: () - @pigworker personal.cis.strath.ac.uk/co…
2
12
Avoid lengthy computation in a exception handler with `catch`. The exception handler has async exceptions masked: hackage.haskell.org/package/…
4
14
Careful with your foralls data A = forall a. A {x :: a} -- existential quantification data A = A {x :: forall a. a} -- polymorphic component
6
15
YMMV
I've only found it necessary on 7.10, the parallel gc bugs seem to be mostly fixed in >= 8.0
1
Use the '+RTS -qg' flag to speed up your programs. /ht @stdlib inner-haven.net/posts/2017-0…
6
13
37
If you are using `putStr` you probably want to > import System.IO > hSetBuffering stdout NoBuffering
1
24
Data.List.\\ doesn't remove duplicates: > import Data.List > [1, 1, 2] \\ [1, 2] [1] For set difference use Data.Set.\\
1
6
When in doubt, install `happy`.
1
5
13
If you want to run a function from the command line: > echo 'foo "hello"' | ghci src/File.hs If you want to run `main`: > runhaskell Main.hs
2
11
To list all @Hackage packages > cabal list With just the word "lens" > cabal list lens For a summary of the package 'lens' > cabal info lens
1
11
10