Glide is the easiest way to create useful slide for all of your Gists.
- input key
<-
to go backward. - input key
->
to go forward.
/** | |
* Hindley-Milner type inference | |
* Ported to Groovy from Scala by Example Chapter 16 code. | |
* (http://www.scala-lang.org/docu/files/ScalaByExample.pdf) | |
* refered also | |
* https://github.com/namin/spots/blob/master/hindleyMilner/typeInference.scala | |
* Japanese page of 'Scala by Example': | |
* http://www29.atwiki.jp/tmiya/pages/78.html | |
*/ | |
import groovy.transform.* |
[package] | |
name = "ch7" | |
version = "0.0.1" | |
authors = ["UEHARA Junji <uehaj@jggug.org>"] |
def kvmap = [ | |
key1: "value1", | |
key2: "value2", | |
key3: [ | |
"key3-1" : "value3-1", | |
"key3-2" : "value3-2", | |
], | |
] | |
sw = new StringWriter() |
import java.util.Optional; | |
ExpandoMetaClass.enableGlobally() //you need this to add method through EMC to Closure. | |
// see: http://jira.codehaus.org/browse/GROOVY-3674 | |
Optional.metaClass.and = { Optional xs -> // Haskell's <*> (ap) | |
delegate.flatMap({Closure f-> | |
xs.map({x-> | |
if (f.parameterTypes.size() > 1) { |
import java.util.Optional | |
class Java8Groovy { | |
void test() { | |
Optional<Integer> firstName = Optional.of("FirstName") | |
Optional<Integer> lastName = Optional.of("LastName") | |
Optional NULL = Optional.empty() | |
assert (lastName + " " + firstName).get() == "LastName FirstName" | |
assert (NULL + " " + firstName) == NULL |
package sample.Turtle where | |
type Position = Char | |
type Direction = Char | |
type Command = Char | |
pure native elemIndex indexOf :: String -> Int -> Int | |
ewData :: String | |
ewData = "?"++packed ['A'..'K']++"?"++packed ['L'..'V']++"?"++packed ['W'..'Z']++packed ['a'..'g']++"?" |
-- http://nabetani.sakura.ne.jp/hena/ord12rotdice/ | |
import Data.List | |
import Control.Monad.State | |
-- 1と2の向きで表わしたサイコロの方向の状態。NEは「1の目が北(N)、2の目が東(E)」を表わす。Uは上、Dは下を表わす。 | |
data DiceState = NE|ES|SW|WN|EN|SE|WS|NW|UN|ND|DS|SU|NU|DN|SD|US|UE|ED|DW|WU|EU|DE|WD|UW deriving (Show, Eq) | |
-- それぞれのサイコロの状態で上面の数字(目)を表わす連想リスト。 | |
deuce :: [(DiceState, Char)] | |
deuce = [(NE,'4'),(ES,'4'),(SW,'4'),(WN,'4'),(EN,'3'),(SE,'3'), |
-- http://nabetani.sakura.ne.jp/hena/ord13blocktup/ | |
data Cell = Wall | Empty | Water | |
derive Eq Cell -- Haskellのdata Cell = ... deriving(Eq) | |
-- セルを表示する | |
instance Show Cell where | |
show Wall = "*" | |
show Empty = " " | |
show Water = "+" |
# 見出し h1 | |
あいうえお | |
## 見出し h2 | |
かきくけこ | |
### 見出し h3 |