updating styles
This commit is contained in:
parent
a65ae417bb
commit
da71814e22
16 changed files with 220 additions and 61 deletions
102
categories.html
102
categories.html
|
@ -94,16 +94,25 @@
|
|||
</section>
|
||||
<section class="slide">
|
||||
<h2 id="general-overview">General Overview</h2>
|
||||
<p>Recent Math Field ; 1942-45, Samuel Eilenberg <span class="and">&</span> Saunders Mac Lane</p>
|
||||
<div style="float:right; width: 20%">
|
||||
<img src="categories/img/eilenberg.gif" alt="Samuel Eilenberg"/> <img src="categories/img/maclaine.jpg" alt="Saunders Mac Lane"/>
|
||||
</div>
|
||||
|
||||
<p><em>Recent Math Field</em><br />1942-45, Samuel Eilenberg <span class="and">&</span> Saunders Mac Lane</p>
|
||||
<p>Certainly one of the more abstract branches of math</p>
|
||||
<ul>
|
||||
<li>New math foundation<br /> formalism abstraction, package entire theory</li>
|
||||
<li>Bridge between disciplines<br /> Physics, Quantum Physics, Topology, Logic, Computer Science</li>
|
||||
<li><em>New math foundation</em><br /> formalism abstraction, package entire theory<sup>★</sup></li>
|
||||
<li><em>Bridge between disciplines</em><br /> Physics, Quantum Physics, Topology, Logic, Computer Science<sup>☆</sup></li>
|
||||
</ul>
|
||||
<p>From a Programmer perspective:</p>
|
||||
<blockquote>
|
||||
<p>Category Theory is a new language/framework for Math</p>
|
||||
</blockquote>
|
||||
<p class="smaller base01" style="border-top: solid 1px">
|
||||
★: <a href="http://www.math.harvard.edu/~mazur/preprints/when_is_one.pd">When is one thing equal to some other thing?, Barry Mazur, 2007</a><br/> ☆: <a href="http://math.ucr.edu/home/baez/rosetta.pdf">Physics, Topology, Logic and Computation: A Rosetta Stone, John C. Baez, Mike Stay, 2009</a>
|
||||
</p>
|
||||
|
||||
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2 id="math-programming-relation">Math Programming relation</h2>
|
||||
|
@ -117,9 +126,48 @@
|
|||
<img class="right" src="categories/img/mindblown.gif" alt="mind blown"/>
|
||||
<p>Math vocabulary used in this presentation:</p>
|
||||
<blockquote>
|
||||
<p>Category, Morphism, Associativity, Preorder, Functor, Endofunctor, Categorial property, Commutative diagram, Isomorph, Initial, Dual, Monoid Natural transformation, Monad, κατα-morphism,</p>
|
||||
<p>Category, Morphism, Associativity, Preorder, Functor, Endofunctor, Categorial property, Commutative diagram, Isomorph, Initial, Dual, Monoid Natural transformation, Monad, κατα-morphism, ...</p>
|
||||
</blockquote>
|
||||
<p>Most will be translated for the programmer.</p>
|
||||
<img class="right" src="categories/img/readingcat.jpg" alt="lolcat"/>
|
||||
<table style="width:70%">
|
||||
<tr><th>
|
||||
Mathematician
|
||||
</th><th>
|
||||
Programmer
|
||||
</th></tr>
|
||||
<tr><td>
|
||||
Morphism
|
||||
</td><td>
|
||||
Arrow
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Monoid
|
||||
</td><td>
|
||||
String-like
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Preorder
|
||||
</td><td>
|
||||
Acyclic graph
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Isomorph
|
||||
</td><td>
|
||||
The same
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Natural transformation
|
||||
</td><td>
|
||||
rearrangement function
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Funny Category
|
||||
</td><td>
|
||||
LOLCat
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Plan</h2>
|
||||
|
@ -327,9 +375,15 @@ such that for each \(f:A→B\):</p>
|
|||
<section class="slide">
|
||||
<h2>Degenerated Categories: Preorders</h2>
|
||||
|
||||
<h3>Preorders</h3>
|
||||
<p>each preorder \((P,≤): \ob{P}={P},\hom{x,y}=\{{x≤y}\} ⇔ x≤y,f_{y,z} \circ f_{x,y} = f_{x,z} \)</p>
|
||||
<em>At most one morphism between two objects.</em>
|
||||
<p>each preorder \((P,≤)\):</p>
|
||||
|
||||
<ul><li>\(\ob{P}={P}\),
|
||||
</li><li>\(\hom{x,y}=\{x≤y\} ⇔ x≤y\),
|
||||
</li><li>\((y≤z) \circ (x≤y) = (x≤z) \)
|
||||
</li></ul>
|
||||
|
||||
<p><em>At most one morphism between two objects.</em></p>
|
||||
|
||||
<img src="categories/img/mp/preorder.png" alt="preorder category"/>
|
||||
</section>
|
||||
<section class="slide">
|
||||
|
@ -345,10 +399,14 @@ such that for each \(f:A→B\):</p>
|
|||
|
||||
<p>Any property which can be expressed in term of category, objects, morphism and composition</p>
|
||||
|
||||
<ul><li> <em>isomorphism</em>: \(f:A→B\) s.t. ∃g:B→A, \(g∘f=id_A\) <span class="and">&</span> \(f∘g=id_B\)
|
||||
</li><li> <em>Initial</em>: \(Z\in\ob{C}\) s.t. \(∀Y∈\ob{C}, \#\hom{Z,Y}=1\)
|
||||
</li><li> <em>Dual</em>: reverse direction of arrows of \(\C\)
|
||||
</li><li> <em>Functor</em>: structure preserving mapping between categories
|
||||
<ul><li> <em class="yellow">isomorphism</em>: \(f:A→B\) which can be "undone" <em class="yellow">i.e.</em>
|
||||
<br/> \(∃g:B→A\), \(g∘f=id_A\) <span class="and">&</span> \(f∘g=id_B\)
|
||||
<br/> in this case, \(A\) <span class="and">&</span> \(B\) are <em class="yellow">isomorphic</em>.
|
||||
</li><li> <em class="yellow">Dual</em>: reverse direction of arrows of \(\C\)
|
||||
</li><li> <em class="yellow">Initial</em>: \(Z\in\ob{\C}\) s.t. \(∀Y∈\ob{\C}, \#\hom{Z,Y}=1\)
|
||||
<br/> Unique ("up to isormophism")
|
||||
</li><li> <em class="yellow">Terminal</em>: \(T\in\ob{\C}\) s.t. \(T\) is initial in the dual of \(\C\)
|
||||
</li><li> <em class="yellow">Functor</em>: structure preserving mapping between categories
|
||||
</li><li> ...
|
||||
</li></ul>
|
||||
</section>
|
||||
|
@ -357,14 +415,14 @@ such that for each \(f:A→B\):</p>
|
|||
|
||||
<p> A functor is a mapping between two categories.
|
||||
Let \(\C\) and \(\D\) be two categories.
|
||||
A <em>functor</em> <span class="yellow">\(\F\)</span> from \(\C\) to \(\D\):</p>
|
||||
A <em>functor</em> <span class="yellow">\(\F\)</span> from <span class="blue">\(\C\)</span> to <span class="green">\(\D\)</span>:</p>
|
||||
<ul>
|
||||
<li> Associate objects: \(A\in\ob{\C}\) to <span class="yellow">\(\F(A)\)</span>\( \in\ob{\D}\) </li>
|
||||
<li> Associate morphisms: \(f:A\to B\) to <span class="yellow">\(\F(f) : \F(A) \to \F(B)\)</span>
|
||||
<li> Associate objects: <span class="backblue">\(A\in\ob{\C}\)</span> to <span class="backgreen">\(\F(A)\in\ob{\D}\)</span> </li>
|
||||
<li> Associate morphisms: <span class="backblue">\(f:A\to B\)</span> to <span class="backgreen">\(\F(f) : \F(A) \to \F(B)\)</span>
|
||||
such that
|
||||
<ul>
|
||||
<li>\( \F (\id_X) = \id_{\F(X)} \),</li>
|
||||
<li>\( \F (g \circ_\C f) = \F(g) \circ_\D \F(f) \)</li>
|
||||
<li>\( \F (\)<span class="backblue blue">\(\id_X\)</span>\() = \)<span class="backgreen"><span class="green">\(\id\)</span>\(\vphantom{\id}_{\F(}\)<span class="blue">\(\vphantom{\id}_X\)</span>\(\vphantom{\id}_{)} \)</span>,</li>
|
||||
<li>\( \F (\)<span class="backblue blue">\(g∘f\)</span>\() = \)<span class="backgreen">\( \F(\)<span class="blue">\(g\)</span>\() \)<span class="green">\(\circ\)</span>\( \F(\)<span class="blue">\(f\)</span>\() \)</span></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -446,18 +504,20 @@ CTree :: * -> * -> *
|
|||
<section class="slide">
|
||||
<h2 id="haskell-types">Haskell Types</h2>
|
||||
<p>We can make function that can work for <em>all</em> type parameter. Such function can only work with the <em>topology</em> induced by the type. We know such function won't work <em>on</em> the elements.</p>
|
||||
<p>Sometimes, the type determine a lot about the function:</p>
|
||||
<p>Sometimes, the type determine a lot about the function<sup>★</sup>:</p>
|
||||
<pre class="haskell"><code>fst :: (a,b) -> a -- Only one choice
|
||||
snd :: (a,b) -> b -- Only one choice
|
||||
f :: a -> [a] -- Many choices
|
||||
-- Possibilities: f x=[], or [x], or [x,x] or [x,...,x]
|
||||
|
||||
? :: [a] -> [a] -- Many choices
|
||||
-- can only duplicate/remove/reorder elements
|
||||
-- can only rearrange: duplicate/remove/reorder elements
|
||||
-- for example: the type of addOne isn't [a] -> [a]
|
||||
addOne l = map (+1) l</code></pre>
|
||||
|
||||
addOne l = map <span class="red">(+1)</span> l
|
||||
-- The (+1) force a to be a Num.</code></pre>
|
||||
|
||||
<p>
|
||||
<p><span class="small base01">★:<a href="http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf">Theorems for free!, Philip Wadler, 1989</a></span></p>
|
||||
</section>
|
||||
<section class="slide">
|
||||
<h2>Haskell Functor vs \(\Hask\) Functor</h2>
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
<h2 id="general-overview">General Overview</h2>
|
||||
<p>Recent Math Field ; 1942-45, Samuel Eilenberg & Saunders Mac Lane</p>
|
||||
<div style="float:right; width: 20%">
|
||||
<img src="categories/img/eilenberg.gif" alt="Samuel Eilenberg"/> <img src="categories/img/maclaine.jpg" alt="Saunders Mac Lane"/>
|
||||
</div>
|
||||
|
||||
<p><em>Recent Math Field</em><br />1942-45, Samuel Eilenberg & Saunders Mac Lane</p>
|
||||
<p>Certainly one of the more abstract branches of math</p>
|
||||
<ul>
|
||||
<li>New math foundation<br /> formalism abstraction, package entire theory</li>
|
||||
<li>Bridge between disciplines<br /> Physics, Quantum Physics, Topology, Logic, Computer Science</li>
|
||||
<li><em>New math foundation</em><br /> formalism abstraction, package entire theory<sup>★</sup></li>
|
||||
<li><em>Bridge between disciplines</em><br /> Physics, Quantum Physics, Topology, Logic, Computer Science<sup>☆</sup></li>
|
||||
</ul>
|
||||
<p>From a Programmer perspective:</p>
|
||||
<blockquote>
|
||||
<p>Category Theory is a new language/framework for Math</p>
|
||||
</blockquote>
|
||||
<p class="smaller base01" style="border-top: solid 1px">
|
||||
★: <a href="http://www.math.harvard.edu/~mazur/preprints/when_is_one.pd">When is one thing equal to some other thing?, Barry Mazur, 2007</a><br/> ☆: <a href="http://math.ucr.edu/home/baez/rosetta.pdf">Physics, Topology, Logic and Computation: A Rosetta Stone, John C. Baez, Mike Stay, 2009</a>
|
||||
</p>
|
||||
|
||||
|
||||
|
|
|
@ -1,15 +1,24 @@
|
|||
General Overview
|
||||
----------------
|
||||
|
||||
Recent Math Field ; 1942-45, Samuel Eilenberg & Saunders Mac Lane
|
||||
<div style="float:right; width: 20%">
|
||||
<img src="categories/img/eilenberg.gif" alt="Samuel Eilenberg"/>
|
||||
<img src="categories/img/maclaine.jpg" alt="Saunders Mac Lane"/>
|
||||
</div>
|
||||
|
||||
_Recent Math Field_
|
||||
1942-45, Samuel Eilenberg & Saunders Mac Lane
|
||||
|
||||
Certainly one of the more abstract branches of math
|
||||
|
||||
- New math foundation
|
||||
formalism abstraction, package entire theory
|
||||
- Bridge between disciplines
|
||||
Physics, Quantum Physics, Topology, Logic, Computer Science
|
||||
- _New math foundation_
|
||||
formalism abstraction, package entire theory<sup>★</sup>
|
||||
- _Bridge between disciplines_
|
||||
Physics, Quantum Physics, Topology, Logic, Computer Science<sup>☆</sup>
|
||||
|
||||
From a Programmer perspective:
|
||||
|
||||
> Category Theory is a new language/framework for Math
|
||||
|
||||
<p class="smaller base01" style="border-top: solid 1px">★: <a href="http://www.math.harvard.edu/~mazur/preprints/when_is_one.pd">When is one thing equal to some other thing?, Barry Mazur, 2007</a><br/>
|
||||
☆: <a href="http://math.ucr.edu/home/baez/rosetta.pdf">Physics, Topology, Logic and Computation: A Rosetta Stone, John C. Baez, Mike Stay, 2009</a></p>
|
||||
|
|
|
@ -2,6 +2,45 @@
|
|||
<img class="right" src="categories/img/mindblown.gif" alt="mind blown"/>
|
||||
<p>Math vocabulary used in this presentation:</p>
|
||||
<blockquote>
|
||||
<p>Category, Morphism, Associativity, Preorder, Functor, Endofunctor, Categorial property, Commutative diagram, Isomorph, Initial, Dual, Monoid Natural transformation, Monad, κατα-morphism,</p>
|
||||
<p>Category, Morphism, Associativity, Preorder, Functor, Endofunctor, Categorial property, Commutative diagram, Isomorph, Initial, Dual, Monoid Natural transformation, Monad, κατα-morphism, ...</p>
|
||||
</blockquote>
|
||||
<p>Most will be translated for the programmer.</p>
|
||||
<img class="right" src="categories/img/readingcat.jpg" alt="lolcat"/>
|
||||
<table style="width:70%">
|
||||
<tr><th>
|
||||
Mathematician
|
||||
</th><th>
|
||||
Programmer
|
||||
</th></tr>
|
||||
<tr><td>
|
||||
Morphism
|
||||
</td><td>
|
||||
Arrow
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Monoid
|
||||
</td><td>
|
||||
String-like
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Preorder
|
||||
</td><td>
|
||||
Acyclic graph
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Isomorph
|
||||
</td><td>
|
||||
The same
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Natural transformation
|
||||
</td><td>
|
||||
rearrangement function
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
Funny Category
|
||||
</td><td>
|
||||
LOLCat
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
|
|
@ -15,11 +15,20 @@ Math vocabulary used in this presentation:
|
|||
> Isomorph,
|
||||
> Initial,
|
||||
> Dual,
|
||||
> Monoid
|
||||
> Monoid,
|
||||
> Natural transformation,
|
||||
> Monad,
|
||||
> κατα-morphism,
|
||||
> ...
|
||||
|
||||
<img class="right" src="categories/img/cute.gif" alt="mind blown"/>
|
||||
<img class="right" src="categories/img/readingcat.jpg" alt="lolcat"/>
|
||||
|
||||
Most will be translated for the programmer.
|
||||
<table style="width:70%">
|
||||
<tr><th>Mathematician</th><th>Programmer</th></tr>
|
||||
<tr><td>Morphism</td><td>Arrow</td></tr>
|
||||
<tr><td>Monoid</td><td>String-like</td></tr>
|
||||
<tr><td>Preorder</td><td>Acyclic graph</td></tr>
|
||||
<tr><td>Isomorph</td><td>The same</td></tr>
|
||||
<tr><td>Natural transformation</td><td>rearrangement function</td></tr>
|
||||
<tr><td>Funny Category</td><td>LOLCat</td></tr>
|
||||
</table>
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
<h2>Degenerated Categories: Preorders</h2>
|
||||
|
||||
<h3>Preorders</h3>
|
||||
<p>each preorder \((P,≤): \ob{P}={P},\hom{x,y}=\{{x≤y}\} ⇔ x≤y,f_{y,z} \circ f_{x,y} = f_{x,z} \)</p>
|
||||
<em>At most one morphism between two objects.</em>
|
||||
<p>each preorder \((P,≤)\):</p>
|
||||
|
||||
<ul><li>\(\ob{P}={P}\),
|
||||
</li><li>\(\hom{x,y}=\{x≤y\} ⇔ x≤y\),
|
||||
</li><li>\((y≤z) \circ (x≤y) = (x≤z) \)
|
||||
</li></ul>
|
||||
|
||||
<p><em>At most one morphism between two objects.</em></p>
|
||||
|
||||
<img src="categories/img/mp/preorder.png" alt="preorder category"/>
|
||||
|
|
|
@ -2,9 +2,13 @@
|
|||
|
||||
<p>Any property which can be expressed in term of category, objects, morphism and composition</p>
|
||||
|
||||
<ul><li> <em>isomorphism</em>: \(f:A→B\) s.t. ∃g:B→A, \(g∘f=id_A\) & \(f∘g=id_B\)
|
||||
</li><li> <em>Initial</em>: \(Z\in\ob{C}\) s.t. \(∀Y∈\ob{C}, \#\hom{Z,Y}=1\)
|
||||
</li><li> <em>Dual</em>: reverse direction of arrows of \(\C\)
|
||||
</li><li> <em>Functor</em>: structure preserving mapping between categories
|
||||
<ul><li> <em class="yellow">isomorphism</em>: \(f:A→B\) which can be "undone" <em class="yellow">i.e.</em>
|
||||
<br/> \(∃g:B→A\), \(g∘f=id_A\) & \(f∘g=id_B\)
|
||||
<br/> in this case, \(A\) & \(B\) are <em class="yellow">isomorphic</em>.
|
||||
</li><li> <em class="yellow">Dual</em>: reverse direction of arrows of \(\C\)
|
||||
</li><li> <em class="yellow">Initial</em>: \(Z\in\ob{\C}\) s.t. \(∀Y∈\ob{\C}, \#\hom{Z,Y}=1\)
|
||||
<br/> Unique ("up to isormophism")
|
||||
</li><li> <em class="yellow">Terminal</em>: \(T\in\ob{\C}\) s.t. \(T\) is initial in the dual of \(\C\)
|
||||
</li><li> <em class="yellow">Functor</em>: structure preserving mapping between categories
|
||||
</li><li> ...
|
||||
</li></ul>
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
<p> A functor is a mapping between two categories.
|
||||
Let \(\C\) and \(\D\) be two categories.
|
||||
A <em>functor</em> <span class="yellow">\(\F\)</span> from \(\C\) to \(\D\):</p>
|
||||
A <em>functor</em> <span class="yellow">\(\F\)</span> from <span class="blue">\(\C\)</span> to <span class="green">\(\D\)</span>:</p>
|
||||
<ul>
|
||||
<li> Associate objects: \(A\in\ob{\C}\) to <span class="yellow">\(\F(A)\)</span>\( \in\ob{\D}\) </li>
|
||||
<li> Associate morphisms: \(f:A\to B\) to <span class="yellow">\(\F(f) : \F(A) \to \F(B)\)</span>
|
||||
<li> Associate objects: <span class="backblue">\(A\in\ob{\C}\)</span> to <span class="backgreen">\(\F(A)\in\ob{\D}\)</span> </li>
|
||||
<li> Associate morphisms: <span class="backblue">\(f:A\to B\)</span> to <span class="backgreen">\(\F(f) : \F(A) \to \F(B)\)</span>
|
||||
such that
|
||||
<ul>
|
||||
<li>\( \F (\id_X) = \id_{\F(X)} \),</li>
|
||||
<li>\( \F (g \circ_\C f) = \F(g) \circ_\D \F(f) \)</li>
|
||||
<li>\( \F (\)<span class="backblue blue">\(\id_X\)</span>\() = \)<span class="backgreen"><span class="green">\(\id\)</span>\(\vphantom{\id}_{\F(}\)<span class="blue">\(\vphantom{\id}_X\)</span>\(\vphantom{\id}_{)} \)</span>,</li>
|
||||
<li>\( \F (\)<span class="backblue blue">\(g∘f\)</span>\() = \)<span class="backgreen">\( \F(\)<span class="blue">\(g\)</span>\() \)<span class="green">\(\circ\)</span>\( \F(\)<span class="blue">\(f\)</span>\() \)</span></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
<h2 id="haskell-types">Haskell Types</h2>
|
||||
<p>We can make function that can work for <em>all</em> type parameter. Such function can only work with the <em>topology</em> induced by the type. We know such function won't work <em>on</em> the elements.</p>
|
||||
<p>Sometimes, the type determine a lot about the function:</p>
|
||||
<p>Sometimes, the type determine a lot about the function<sup>★</sup>:</p>
|
||||
<pre class="haskell"><code>fst :: (a,b) -> a -- Only one choice
|
||||
snd :: (a,b) -> b -- Only one choice
|
||||
f :: a -> [a] -- Many choices
|
||||
-- Possibilities: f x=[], or [x], or [x,x] or [x,...,x]
|
||||
|
||||
? :: [a] -> [a] -- Many choices
|
||||
-- can only duplicate/remove/reorder elements
|
||||
-- can only rearrange: duplicate/remove/reorder elements
|
||||
-- for example: the type of addOne isn't [a] -> [a]
|
||||
addOne l = map (+1) l</code></pre>
|
||||
|
||||
addOne l = map <span class="red">(+1)</span> l
|
||||
-- The (+1) force a to be a Num.</code></pre>
|
||||
|
||||
<p>
|
||||
<p><span class="small base01">★:<a href="http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf">Theorems for free!, Philip Wadler, 1989</a></span></p>
|
||||
|
|
|
@ -5,7 +5,7 @@ We can make function that can work for _all_ type parameter.
|
|||
Such function can only work with the _topology_ induced by the type.
|
||||
We know such function won't work _on_ the elements.
|
||||
|
||||
Sometimes, the type determine a lot about the function:
|
||||
Sometimes, the type determine a lot about the function<sup>★</sup>:
|
||||
|
||||
<pre class="haskell"><code>fst :: (a,b) -> a -- Only one choice
|
||||
snd :: (a,b) -> b -- Only one choice
|
||||
|
@ -13,6 +13,9 @@ f :: a -> [a] -- Many choices
|
|||
-- Possibilities: f x=[], or [x], or [x,x] or [x,...,x]
|
||||
|
||||
? :: [a] -> [a] -- Many choices
|
||||
-- can only duplicate/remove/reorder elements
|
||||
-- can only rearrange: duplicate/remove/reorder elements
|
||||
-- for example: the type of addOne isn't [a] -> [a]
|
||||
addOne l = map (+1) l</code></pre>
|
||||
addOne l = map <span class="red">(+1)</span> l
|
||||
-- The (+1) force a to be a Num.</code></pre>
|
||||
|
||||
<p><span class="small base01">★:<a href="http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf">Theorems for free!, Philip Wadler, 1989</a></span>
|
||||
|
|
BIN
categories/img/eilenberg.gif
Normal file
BIN
categories/img/eilenberg.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 175 KiB |
BIN
categories/img/lolcat.jpg
Normal file
BIN
categories/img/lolcat.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.1 KiB |
BIN
categories/img/maclaine.jpg
Normal file
BIN
categories/img/maclaine.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
BIN
categories/img/readingcat.jpg
Normal file
BIN
categories/img/readingcat.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -68,10 +68,18 @@ body.deck-container {
|
|||
color: #6c71c4; }
|
||||
.deck-container .blue {
|
||||
color: #268bd2; }
|
||||
.deck-container .backblue {
|
||||
border: solid 2px #268bd2;
|
||||
border-radius: 2px;
|
||||
background-color: rgba(38, 139, 210, 0.2); }
|
||||
.deck-container .cyan {
|
||||
color: #2aa198; }
|
||||
.deck-container .green {
|
||||
color: #859900; }
|
||||
.deck-container .backgreen {
|
||||
border: solid 2px #859900;
|
||||
border-radius: 2px;
|
||||
background-color: rgba(133, 153, 0, 0.2); }
|
||||
.deck-container div {
|
||||
font-family: "ComputerModernSansSerif", Helvetica, sans-serif; }
|
||||
.deck-container .and {
|
||||
|
@ -260,6 +268,8 @@ body.deck-container {
|
|||
margin-top: 0; }
|
||||
.deck-container .small {
|
||||
font-size: 0.8em; }
|
||||
.deck-container .smaller {
|
||||
font-size: 0.6em; }
|
||||
.deck-container .sc {
|
||||
text-transform: uppercase;
|
||||
font-size: 0.8em; }
|
||||
|
@ -469,10 +479,9 @@ body.deck-container {
|
|||
margin-bottom: 0; }
|
||||
.deck-container img, .deck-container .likeimg {
|
||||
max-width: 80%;
|
||||
border: 2px solid #586e75;
|
||||
background-color: #073642;
|
||||
padding: 0.5em;
|
||||
box-shadow: 0 0 10px #002b36 inset;
|
||||
border: 2px solid #073642;
|
||||
padding: 0.3em;
|
||||
box-shadow: 0 0 0.5em black inset;
|
||||
border-radius: 0.5em;
|
||||
text-align: center; }
|
||||
.deck-container a:hover img {
|
||||
|
|
|
@ -213,10 +213,18 @@ body.deck-container
|
|||
color: $violet
|
||||
.blue
|
||||
color: $blue
|
||||
.backblue
|
||||
border: solid 2px $blue
|
||||
border-radius: 2px
|
||||
background-color: rgba(38,139,210,.2)
|
||||
.cyan
|
||||
color: $cyan
|
||||
.green
|
||||
color: $green
|
||||
.backgreen
|
||||
border: solid 2px $green
|
||||
border-radius: 2px
|
||||
background-color: rgba(133,153,0,.2)
|
||||
|
||||
font-family: "ComputerModernSansSerif",Helvetica,sans-serif
|
||||
div
|
||||
|
@ -399,6 +407,8 @@ body.deck-container
|
|||
// -- TYPOGRAPHY --
|
||||
.small
|
||||
font-size: 0.8em
|
||||
.smaller
|
||||
font-size: 0.6em
|
||||
|
||||
.sc
|
||||
+sc
|
||||
|
@ -627,10 +637,9 @@ body.deck-container
|
|||
|
||||
img,.likeimg
|
||||
max-width: 80%
|
||||
border: 2px solid $borderColor
|
||||
background-color: $imageBackgroundColor
|
||||
padding: 0.5em
|
||||
box-shadow: 0 0 10px $base03 inset
|
||||
border: 2px solid $base02
|
||||
padding: 0.3em
|
||||
box-shadow: 0 0 .5em #000 inset
|
||||
border-radius: 0.5em
|
||||
text-align: center
|
||||
a:hover img
|
||||
|
|
Loading…
Reference in a new issue