- https://www.edx.org/course/how-code-simple-data-ubcx-htc1x
- https://www.edx.org/course/how-code-complex-data-ubcx-htc2x
Might be good to alternate topics with practical programming topics, or try to practice what you learn with code.
| [1 of 2] Compiling Transform ( Transform.hs, Transform.o ) [Optimisation flags changed] | |
| ==================== Tidy Core ==================== | |
| Result size of Tidy Core | |
| = {terms: 353, types: 864, coercions: 374, joins: 0/0} | |
| -- RHS size: {terms: 4, types: 9, coercions: 3, joins: 0/0} | |
| gtransform | |
| gtransform = \ @ a_a1p2 @ struct_a1p3 v_B1 -> v_B1 `cast` <Co:3> |
| data Expr | |
| = Lit Int | |
| | Add Expr Expr | |
| | Mul Expr Expr | |
| | Div Expr Expr | |
| | Sub Expr Expr | |
| | Neg Expr | |
| deriving (Show, Eq, Generic) | |
| module Main where | |
| main :: IO () | |
| main = print 5 |
| -- stack exec --package uniplate --package criterion -- ghc Plate.hs -O | |
| -- ./Plate --output=results.html | |
| {-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, UndecidableInstances #-} | |
| {-# LANGUAGE TypeApplications #-} | |
| {-# LANGUAGE TypeOperators #-} | |
| {-# LANGUAGE DefaultSignatures #-} | |
| {-# LANGUAGE ConstraintKinds #-} | |
| {-# LANGUAGE MonoLocalBinds #-} |
Might be good to alternate topics with practical programming topics, or try to practice what you learn with code.
| {-# LANGUAGE OverloadedStrings #-} | |
| module Main where | |
| import qualified Data.ByteString.Char8 as BS | |
| import qualified Data.Vector as V | |
| import Data.Word | |
| import Data.Monoid | |
| main :: IO () |
Git is a very popular Version Control system. A version control system is used to manage software projects. It lets you save the state of your code at different stages/versions so that you can have a ‘history’ of it, it let’s you compare changes throughout the history, have remote backups, collaborate with other people, and a lot more.
Other alternatives to git exist: Mercurial, VCS, SVN, TFS, Darcs, and more. But git is by far the most popular one so might as well learn that.
| {-# LANGUAGE OverloadedStrings #-} | |
| module Language.Shin.Parser where | |
| import qualified Data.Map as M | |
| import qualified Data.Vector as V | |
| import qualified Data.Text as T |