Skip to content

Instantly share code, notes, and snippets.

@pocketberserker
pocketberserker / gist:3330153
Created August 12, 2012 06:30
素数のときにJOJO
let isPrime = function
| n when n < 2 -> false
| n -> [2 .. n-1] |> List.forall ((%) n >> (<>) 0)
[0..100]
|> List.map (fun x -> if isPrime x then "JOJO!" else string x)
|> List.iter (printfn "%s")
@pocketberserker
pocketberserker / VendingMachine.fs
Created May 1, 2012 03:43
tddbc東京1.5のお題をF#でやってみた(途中)
module VendingMachine
type Yen =
| Thousand
| FiveHundred
| Hundred
| Fifty
| Ten
@pocketberserker
pocketberserker / ApplicationSpec.scala
Created March 21, 2012 16:32
ScalaTodoListのテストコード試し書き
package controllers
import org.specs2._
import specification._
import play.api.test._
import play.api.test.Helpers._
class ApplicationSpec extends Specification with AroundExample { def is =
@pocketberserker
pocketberserker / Calculator.scala
Created January 4, 2012 17:48
ScalaのパーサコンビネータでΣ演算
package parser;
import util.parsing.combinator.JavaTokenParsers
import java.math.MathContext
case class Sum(init:Expression, max:Expression, expr:Expression) extends Expression
case class Value(digit:BigDecimal) extends Expression
case class Variable() extends Expression
case class Add(left:Expression, right:Expression) extends Expression
case class Sub(left:Expression, right:Expression) extends Expression
package ast;
import visitor.ExpressionVisitor;
public final class BinaryExpression implements Expression {
public final Expression left;
public final Op operator;
public final Expression right;
@pocketberserker
pocketberserker / Calculator.g
Created January 4, 2012 17:13
ANTLRのtree grammarでΣ演算
grammar Calculator;
options {
output = AST;
ASTLabelType=CommonTree;
}
tokens { SUM; NEG; VARIABLE; }
@members { CommonTree subExpr; }