1
1
mirror of https://github.com/sdiehl/wiwinwlh.git synced 2024-10-05 16:08:22 +03:00

Write more

This commit is contained in:
sdiehl 2020-02-01 12:47:31 +00:00
parent a79f8f85aa
commit 77ccb60744
9 changed files with 508 additions and 962 deletions

View File

@ -2,9 +2,9 @@ PANDOC = pandoc
IFORMAT = markdown+raw_tex+raw_attribute
GHC = ghc
HTEMPLATE = resources/page.tmpl
LTEMPLATE = resources/page.latex
ETEMPLATE = resources/page.epubt
HTEMPLATE = resources/template.html
LTEMPLATE = resources/template.tex
ETEMPLATE = resources/template.epub
UNICODE_MAP = resources/unicodemapping.tex
@ -17,6 +17,9 @@ HTML = tutorial.html
EPUB = tutorial.epub
PDF = tutorial.pdf
COVER = resources/cover.tex
BACK = resources/back.tex
all: $(HTML) $(EPUB) $(PDF)
html: $(HTML)
pdf: $(PDF)
@ -34,7 +37,7 @@ includes: includes.hs
(cat $(ETEMPLATE); ./includes < $<) \
| $(PANDOC) -f $(IFORMAT) -t epub $(FLAGS) $(EFLAGS) -o $@
%.pdf: %.md includes
%.pdf: %.md includes $(COVER) $(BACK)
./includes < $< | $(PANDOC) -c -s -f $(IFORMAT) --template $(LTEMPLATE) --include-in-header $(UNICODE_MAP) --pdf-engine=xelatex $(FLAGS) $(LFLAGS) -o $@
clean:

50
resources/back.tex Normal file
View File

@ -0,0 +1,50 @@
\pagestyle{empty}
\begin{figure}
\centering
\includegraphics[height=1in,width=1in]{img/cover.ps}
\end{figure}
\Large
Haskell is an advanced general purpose programming language. This tutorial
covers all aspects of Haskell development from foundations to compiler
development. Topics include:
\small
\begin{enumerate}
\item Basics
\item Monads
\item Monad Transformers
\item Language Extensions
\item Type Classes
\item Laziness
\item Prelude
\item Strings
\item Applicatives
\item Error Handling
\item Advanced Monads
\item Quantification
\item Generalized Algebraic Datatypes
\item Interpreters
\item Testing
\item Type Families
\item Promotion
\item Generics
\item Mathematics
\item Data Structures
\item Foreign Function Interface
\item Concurrency \& Parallelism
\item Graphics
\item Parsers
\item Stream Processing
\item Cryptography
\item Date \& Time
\item Data Formats \& Serialisation
\item Network \& Web Programming
\item Databases
\item GHC Compiler
\item Profiling
\item Compiler Development
\item Template Haskell
\item Category Theory
\end{enumerate}

21
resources/cover.tex Normal file
View File

@ -0,0 +1,21 @@
\begin{titlepage}
\definecolor{titlepagecolor}{HTML}{FDF6E3}
\definecolor{namecolor}{cmyk}{1,.50,0,.10}
%\pagecolor{titlepagecolor}
\pagecolor{white}
\vspace*{\stretch{1.0}}
\begin{center}
\Huge\textbf{What I Wish I Knew When Learning Haskell}\\
\vspace*{\stretch{0.5}}
\Large\textit{Stephen Diehl}
\end{center}
\vspace*{\stretch{2.0}}
\begin{figure}
\centering
\includegraphics[height=3in,width=3in]{img/cover.ps}
\end{figure}
\end{titlepage}
\pagecolor{white}

View File

@ -165,32 +165,15 @@ $endfor$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{titlepage}
\definecolor{titlepagecolor}{HTML}{FDF6E3}
\definecolor{namecolor}{cmyk}{1,.50,0,.10}
\pagecolor{titlepagecolor}
\input{resources/cover.tex}
\vspace*{\stretch{1.0}}
\begin{center}
\Huge\textbf{What I Wish I Knew When Learning Haskell}\\
\vspace*{\stretch{0.5}}
\Large\textit{Stephen Diehl}
\end{center}
\vspace*{\stretch{2.0}}
\begin{figure}
\centering
\includegraphics[height=3in,width=3in]{img/cover.ps}
\end{figure}
\end{titlepage}
\pagecolor{white}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\textbf{Date}: \today \\
\textbf{Git Commit:} \texttt{\input{.git/ORIG_HEAD}}
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$for(include-before)$
@ -210,10 +193,21 @@ $endif$
}
$endif$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$body$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$for(include-after)$
$include-after$
$endfor$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\input{resources/back.tex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}

View File

@ -1,4 +1,4 @@
name: assign
name: example
version: 0.1.0.0
build-type: Simple
extra-source-files: README.md
@ -6,14 +6,15 @@ cabal-version: >=1.10
executable assign
build-depends:
base >= 4.6 && <4.9
, containers >= 0.5 && <0.6
base >= 4.6 && <4.14
, array >= 0.5 && <0.6
, containers >= 0.5 && <0.7
, mtl >= 2.2
default-language: Haskell2010
main-is: Main.hs
Build-depends: base, array
build-tools: alex, happy
other-modules:
Parser,
other-modules:
Parser
Lexer
Syntax
Eval

View File

@ -1,4 +1,4 @@
resolver: lts-3.16
resolver: lts-14.20
packages:
- '.'
extra-deps: []

File diff suppressed because it is too large Load Diff