| title | date | tags |
|---|---|---|
2014年のふりかえり |
2014-12-31 23:59:59 UTC |
Haskell, PureScript, Elm |
Haskell
| var requireAsync = require('./require-async.js'); | |
| // デカいモジュールを先読みしておく | |
| var modulePromise = requireAsync('name'); | |
| // モジュールの読み込みを待たずに実行される。 | |
| console.log('foo'); | |
| modulePromise.then(function(largeModule){ | |
| // 読み込み完了次第実行される |
| #!/bin/bash | |
| BASE=http://download.newrelic.com/agent_sdk | |
| FILE=`curl -L $BASE | sed -e '/<\/a>/ !d; s/.*<a *href="\(.*\)">.*/\1/g; /tar\.gz/ !d' | sort | tail -n 1` | |
| curl -LO $BASE/$FILE | |
| echo $FILE |
| {-# LANGUAGE UndecidableInstances #-} | |
| {-# LANGUAGE TypeOperators #-} | |
| {-# LANGUAGE TypeFamilies #-} | |
| {-# LANGUAGE DataKinds #-} | |
| {-# LANGUAGE GADTs #-} | |
| -- 参考: | |
| -- https://hackage.haskell.org/package/type-natural-0.2.3.2 | |
| -- http://yosh.hateblo.jp/entry/20091023/p2 |
| // data Maybe a = Just a | Nothing | |
| var Maybe = function(){} | |
| // type: reserved keyword in haskell | |
| Maybe.type = { | |
| Just: function(_0){this._0 = _0;}, | |
| Nothing: function(){} | |
| } |
| {-# LANGUAGE DeriveDataTypeable #-} | |
| {-# LANGUAGE RecordWildCards #-} | |
| {-# LANGUAGE LambdaCase #-} | |
| module Measuring | |
| ( Engine | |
| , FTError(..) | |
| , createEngine | |
| , measureText | |
| ) where |
| #!/usr/bin/env bash | |
| LATEST='https://github.com/purescript/purescript/releases/latest' | |
| VERSION=`curl -is $LATEST | grep ^Location | sed 's/^.*\///' | tr -d "\r"` | |
| echo purescript $VERSION | |
| DOWNLOAD="https://github.com/purescript/purescript/releases/download/$VERSION" | |
| SHA_FILE="$DOWNLOAD/linux64.sha" |
| data Dir = L | R | |
| data Tree | |
| = Branch !Dir !Any !Tree !Tree | |
| | Tip | |
| cons :: Any -> Tree -> Tree | |
| cons v Tip = Branch L v Tip Tip | |
| cons v (Branch _ a Tip Tip) = Branch R v (Branch L a Tip Tip) Tip | |
| cons v (Branch _ a l Tip) = Branch L v l (Branch L a Tip Tip) |
| module Test where | |
| foreign import data A :: * | |
| foreign import data C :: * | |
| foreign import data B :: * | |
| newtype Test (a :: #*) = Test String | |
| a :: Test (a :: A) | |
| a = Test "neko" |