See how a minor change to your commit message style can make you a better programmer.
Format: <type>(<scope>): <subject>
<scope>
is optional
package ciphers | |
import ( | |
"crypto/rand" | |
"crypto/rsa" | |
"crypto/sha512" | |
"crypto/x509" | |
"encoding/pem" | |
"log" | |
) |
package main | |
import ( | |
"bytes" | |
"context" | |
"encoding/json" | |
"errors" | |
"fmt" | |
"io/ioutil" | |
"log" |
The following steps work for all the HTML learning materials on the Learn Rust page:
ebookFormatPreparation.js
into your browser's console.When learning the haskell monad transformer(would call it monadt in the left content), a problem in my mind is why monadT
?
Because from a simple example view, we could make a pale of monad together to do what we want we want to do.
Technially, it's correct, the monadT is just a wrapper. For example, those two cases are equal.
ioOp :: IO String
ioOp = getLine
maybeOp :: Maybe String -> Maybe String