How do I dropdown?
This is how you dropdown.<details>
<summary>How do I dropdown?</summary>
This is how you dropdown.
<details>
<summary>How do I dropdown?</summary>
This is how you dropdown.
This is a set up for projects which want to check in only their source files, but have their gh-pages branch automatically updated with some compiled output every time they push.
You want a script that does a local compile to e.g. an out/
directory. Let's call this compile.sh
for our purposes, but for your project it might be npm build
or gulp make-docs
or anything similar.
The out/
directory should contain everything you want deployed to gh-pages
. That almost always includes an index.html
.
sealed trait TreeLike[M[_]] { | |
def node[A](f: M[A], g: M[A]): M[A] | |
} | |
sealed trait Tree[+A] { self => | |
def flatMap[B](f: A => Tree[B]): Tree[B] = self match { | |
case Leaf(a) => f(a) | |
case Node(l, r) => Node(l.flatMap(f), r.flatMap(f)) | |
} | |
} |
import static java.lang.System.*; | |
import java.util.function.BiFunction; | |
import java.util.function.Function; | |
// Implementation of a pseudo-GADT in Java, translating the examples from | |
// http://www.cs.ox.ac.uk/ralf.hinze/publications/With.pdf | |
// The technique presented below is, in fact, just an encoding of a normal Algebraic Data Type | |
// using a variation of the visitor pattern + the application of the Yoneda lemma to make it | |
// isomorphic to the targeted 'GADT'. |
package labs; | |
import java.lang.invoke.MethodHandles; | |
import java.lang.reflect.InvocationHandler; | |
import java.lang.reflect.Method; | |
import java.lang.reflect.Proxy; | |
import java.util.Arrays; | |
import java.util.concurrent.ConcurrentHashMap; | |
import java.util.concurrent.ConcurrentMap; | |
import java.util.stream.Collectors; |