gitextract_49twblj_/ ├── Chapter1/ │ ├── Exercises/ │ │ └── ex_1_2.idr │ ├── FCTypes.idr │ ├── Hello.idr │ └── HelloHole.idr ├── Chapter10/ │ ├── DLFail.idr │ ├── DataStore.idr │ ├── DescribeList.idr │ ├── DescribeList2.idr │ ├── Exercises/ │ │ ├── DataStore.idr │ │ ├── ex_10_1.idr │ │ ├── ex_10_2.idr │ │ └── ex_10_3.idr │ ├── IsSuffix.idr │ ├── MergeSort.idr │ ├── MergeSortView.idr │ ├── Reverse.idr │ ├── ReverseSnoc.idr │ ├── Shape.idr │ ├── Shape_abs.idr │ ├── SnocList.idr │ └── TestStore.idr ├── Chapter11/ │ ├── Arith.idr │ ├── ArithCmd.idr │ ├── ArithCmdDo.idr │ ├── ArithTotal.idr │ ├── Exercises/ │ │ ├── ex_11_1.idr │ │ ├── ex_11_2.idr │ │ └── ex_11_3.idr │ ├── Greet.idr │ ├── InfIO.idr │ ├── InfList.idr │ ├── Label.idr │ ├── RunIO.idr │ ├── StreamFail.idr │ └── Streams.idr ├── Chapter12/ │ ├── ArithState.idr │ ├── DataStore.idr │ ├── Exercises/ │ │ ├── ex_12_1.idr │ │ ├── ex_12_3a.idr │ │ └── ex_12_3b.idr │ ├── Record.idr │ ├── State.idr │ ├── StateMonad.idr │ ├── Traverse.idr │ ├── TreeLabel.idr │ ├── TreeLabelState.idr │ └── TreeLabelType.idr ├── Chapter13/ │ ├── Door.idr │ ├── Exercises/ │ │ ├── ex_13_1.idr │ │ └── ex_13_2.idr │ ├── Stack.idr │ ├── StackIO.idr │ └── Vending.idr ├── Chapter14/ │ ├── ATM.idr │ ├── DoorJam.idr │ ├── Exercises/ │ │ ├── ex_14_2_1.idr │ │ └── ex_14_2_2.idr │ └── Hangman.idr ├── Chapter15/ │ ├── AdderChannel.idr │ ├── ListProc.idr │ ├── Process.idr │ ├── ProcessIFace.idr │ ├── ProcessLib.idr │ ├── ProcessLoop.idr │ ├── ProcessState.idr │ ├── WordCount.idr │ └── test.txt ├── Chapter2/ │ ├── AveMain.idr │ ├── Average.idr │ ├── Double.idr │ ├── Exercises/ │ │ ├── ex_2.ibc │ │ ├── ex_2.idr │ │ ├── ex_2_counts.ibc │ │ ├── ex_2_counts.idr │ │ ├── ex_2_palindrome.ibc │ │ └── ex_2_palindrome.idr │ ├── Generic.idr │ ├── HOF.idr │ ├── Let_Where.idr │ ├── Partial.idr │ └── Reverse.idr ├── Chapter3/ │ ├── Exercises/ │ │ ├── ex_3_2.ibc │ │ ├── ex_3_2.idr │ │ ├── ex_3_3.ibc │ │ └── ex_3_3.idr │ ├── IsEven.idr │ ├── Matrix.idr │ ├── VecSort.idr │ ├── Vectors.idr │ ├── WordLength.idr │ ├── WordLength_vec.idr │ └── XOR.idr ├── Chapter4/ │ ├── BSTree.idr │ ├── DataStore.idr │ ├── Direction.idr │ ├── Exercises/ │ │ ├── ex_4_1.idr │ │ ├── ex_4_2.idr │ │ ├── ex_4_2_1.idr │ │ ├── ex_4_2_2.idr │ │ ├── ex_4_2_3.idr │ │ ├── ex_4_2_5.idr │ │ └── ex_4_3.idr │ ├── Generic.idr │ ├── Picture.idr │ ├── Shape.idr │ ├── SumInputs.idr │ ├── Tree.idr │ ├── TryIndex.idr │ ├── Vect.idr │ └── Vehicle.idr ├── Chapter5/ │ ├── DepPairs.idr │ ├── Do.idr │ ├── Exercises/ │ │ ├── ex_5_1.idr │ │ ├── ex_5_2_1.idr │ │ ├── ex_5_2_3.idr │ │ ├── ex_5_2_4.idr │ │ └── ex_5_3.idr │ ├── Hello.idr │ ├── Loops.idr │ ├── PrintLength.idr │ ├── ReadNum.idr │ └── ReadVect.idr ├── Chapter6/ │ ├── Adder.idr │ ├── DataStore.idr │ ├── DataStoreHoles.idr │ ├── Exercises/ │ │ ├── ex_6_2_1.idr │ │ ├── ex_6_2_2.idr │ │ ├── ex_6_2_3.idr │ │ ├── ex_6_3_1.idr │ │ ├── ex_6_3_2.idr │ │ └── ex_6_3_3.idr │ ├── Maybe.idr │ ├── Printf.idr │ ├── TypeFuns.idr │ └── TypeSynonyms.idr ├── Chapter7/ │ ├── Album.idr │ ├── Eq.idr │ ├── Exercises/ │ │ ├── ex_7_1.idr │ │ ├── ex_7_2.idr │ │ ├── ex_7_3_1.idr │ │ └── ex_7_3_2.idr │ ├── Expr.idr │ ├── Fold.idr │ └── Tree.idr ├── Chapter8/ │ ├── AppendVec.idr │ ├── CheckEqDec.idr │ ├── CheckEqMaybe.idr │ ├── EqNat.idr │ ├── ExactLength.idr │ ├── ExactLengthDec.idr │ ├── Exercises/ │ │ ├── ex_8_1.idr │ │ ├── ex_8_2.idr │ │ └── ex_8_3.idr │ ├── ReverseVec.idr │ ├── TCVects.idr │ └── Void.idr ├── Chapter9/ │ ├── Elem.idr │ ├── ElemBool.idr │ ├── ElemType.idr │ ├── Exercises/ │ │ └── ex_9_1.idr │ ├── Hangman.idr │ └── RemoveElem.idr ├── LICENSE └── README.md