Skip to content

Instantly share code, notes, and snippets.

Avatar

Yuya Kono takoeight0821

View GitHub Profile
@takoeight0821
takoeight0821 / Dog.hs
Last active Aug 29, 2015
ちょっとオブジェクト指向っぽいDSL
View Dog.hs
newDog name message
| message == "bark" = "Bowwow!"
| message == "hey " ++ name = name ++ " came at you."
| otherwise = "?"
dog = newDog "Pochi"
main = mapM_ print [dog "bark", dog "hey Pochi", dog "hey John", dog "run"]
{-
output:
@takoeight0821
takoeight0821 / map_func.c
Last active Oct 19, 2016
C言語で多相もどきとmap
View map_func.c
#include <stdio.h>
#define map(TYPE, SOURCE, RESULT, FUNC)\
TYPE RESULT[sizeof(SOURCE) / sizeof(SOURCE[0])] = {0};\
for (int i = 0; i < (sizeof(SOURCE) / sizeof(SOURCE[0])); i++) {\
RESULT[i] = FUNC(SOURCE[i]);\
}
int square(int n) {
return n * n;
@takoeight0821
takoeight0821 / hello_cpp.go
Last active Aug 29, 2015
Cのプリプロセッサ on Go言語
View hello_cpp.go
package main
import (
"fmt"
"strconv"
)
#define map(TYPE_S, TYPE_F, SOURCE, FUNC)\
func (f func(TYPE_S) TYPE_F) []TYPE_F {\
r := make ([]TYPE_F, len(SOURCE));\
View proc.hs
#define proc do
#define void(m)\
m :: IO ();\
m =
void(main) proc
a <- getLine
b <- getLine
putStrLn $ a ++ b
@takoeight0821
takoeight0821 / Main.java
Created Mar 17, 2015
Java で 数当てゲーム
View Main.java
import java.io.*;
public class Main {
static int small = 1;
static int big = 100;
private static int guessMyNumber() {
return (small + big) / 2;
}
View janken.lisp
;;; * (read-hand)
;;; > rock
;;; ROCK
;;; > very-dangerous-words
;;; hands: rock, paper, scissor
;;; >
(defun read-hand ()
(princ "> ")
(finish-output) ;SBCLの最適化によるIO順序の入れ替わりを防ぐ
(let ((p-hand (read)))
View haskell.lisp
(defclass (Eq a)
(as = (Func a a Bool))
(as /= (Func a a Bool))
(defmethod (= x y) (not (/= x y))
(defmethod (/= x y) (not (= x y)))))
(defdata TrafficLight ((Red) (Yellow) (Green)))
(definstance (Eq TrafficLight)
(defmethod (= Red Red) True)
@takoeight0821
takoeight0821 / guess_my_number.cpp
Created May 17, 2015
数当てさせゲーム
View guess_my_number.cpp
#include <iostream>
int small = 1;
int big = 100;
int guessMyNumber()
{
return (small + big) / 2;
}
View Group.hs
import Data.Monoid
class Group g where
gidentity :: g
gop :: g -> g -> g
ginverse :: g -> g
instance Num a => Group (Sum a) where
gidentity = Sum 0
(Sum x) `gop` (Sum y) = Sum (x + y)
@takoeight0821
takoeight0821 / log.txt
Created Jun 14, 2015
build roswell log
View log.txt
➜ roswell git:(master) sh bootstrap
configure.ac:14: installing './compile'
configure.ac:10: installing './install-sh'
configure.ac:10: installing './missing'
src/Makefile.am:30: warning: CLEANFILES multiply defined in condition TRUE ...
src/Makefile.am:24: ... 'CLEANFILES' previously defined here
src/Makefile.am: installing './depcomp'
➜ roswell git:(master) ✗ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
You can’t perform that action at this time.