Skip to content

Instantly share code, notes, and snippets.

View haruyama's full-sized avatar
🌴
On vacation

HARUYAMA Seigo haruyama

🌴
On vacation
View GitHub Profile
@haruyama
haruyama / gist:5820163
Last active December 18, 2015 17:39
$HOME/.vim/after/ftplugin/clojure.vim
if exists('b:did_after_ftplugin_clojure')
finish
endif
let b:did_after_ftplugin_clojure = 1
let s:save_cpo = &cpo
set cpo&vim
setl tabstop=2 expandtab shiftwidth=2 softtabstop=2 smarttab
if executable('lein') && filereadable('project.clj')
@haruyama
haruyama / gist:5791152
Last active December 18, 2015 13:39
check clojure syntaxes and execute tests. it requires syntastic, lein, lein-nrepl, vim-fireplace and clojure.tools.namespace.
if exists("g:loaded_syntastic_clojure_nrepl_checker")
finish
endif
let g:loaded_syntastic_clojure_nrepl_checker=1
function! SyntaxCheckers_clojure_nrepl_IsAvailable()
return executable('lein') && filereadable('project.clj')
endfunction
function! SyntaxCheckers_clojure_nrepl_GetLocList()
@haruyama
haruyama / gist:5494097
Created May 1, 2013 07:01
clojure autotest using vim-fireplace
function! s:run_tests(filename)
let template = '(require ''clojure.tools.namespace) (require ''clojure.test) (let [namespaces (clojure.tools.namespace/find-namespaces-in-dir (java.io.File. "%s"))] (doseq [ns namespaces] (prn ns) (require ns :reload) (if (re-find #"-test\z" (name ns)) (clojure.test/run-tests ns) (try (let [test-ns (symbol (str (name ns) "-test"))] (prn test-ns) (require test-ns :reload) (clojure.test/run-tests test-ns)) (catch Exception e (.getMessage e))))))'
let exp = printf(template, escape(a:filename, '"\'))
call fireplace#session_eval(exp)
endfunction
autocmd! BufWritePost *.clj call s:run_tests(expand("<afile>"))
import System.Environment
import System.IO
import System.Exit
import Control.Monad (filterM)
import qualified Data.Text as T
import qualified Data.Text.Lazy as TL
import qualified Data.Text.ICU.Regex as TIR
import qualified Data.Text.Lazy.IO as TILO
main :: IO ()
@haruyama
haruyama / grep.hs
Last active December 11, 2015 06:58
grep using Haskell.
import qualified System.Environment as SE
import qualified System.IO as SIO
import qualified Data.Text as T
import qualified Data.Text.ICU.Regex as TIR
import qualified Data.Text.IO as TIO
import Control.Monad (unless, when)
main :: IO ()
main = do
args <- SE.getArgs
@haruyama
haruyama / LDclipXML2DeliciosHTML.rb
Created August 9, 2012 07:04
convert livedoor clip xml to delicious html.
#!/usr/bin/env ruby
# -*- encoding: utf-8 -*-
require 'rexml/document'
require 'cgi'
require 'time'
DT_TEMPLATE=<<EOS
<DT><A HREF="%s" ADD_DATE="%d" PRIVATE="0" TAGS="%s">%s</A>
EOS
@haruyama
haruyama / gist:1702727
Created January 30, 2012 05:28
A sample of Clojure and lucene-gosen
(ns lucene_gosen_test.core (:gen-class))
(import java.util.Collections)
(defn -main [& args]
(println (first args))
(with-open [reader (new java.io.StringReader (first args))]
(let [
analyzer (new org.apache.lucene.analysis.ja.JapaneseAnalyzer org.apache.lucene.util.Version/LUCENE_35 Collections/EMPTY_SET Collections/EMPTY_SET Collections/EMPTY_SET "/home/haruyama/work/solr/dic/solr/conf/dic")
ts (.tokenStream analyzer "dummy" reader)
termAtt (.getAttribute ts org.apache.lucene.analysis.tokenattributes.CharTermAttribute)
posAtt (.getAttribute ts org.apache.lucene.analysis.ja.tokenAttributes.PartOfSpeechAttribute)
@haruyama
haruyama / gist:1441337
Created December 7, 2011 03:37
lucene-gosen くよ bug
import java.io.Reader;
import java.io.StringReader;
import org.apache.lucene.analysis.ja.JapaneseTokenizer;
public class LuceneGosenKuyoBug {
public static void main(String[] args) {
String s = "";
int count = Integer.parseInt(args[1]);
for (int i = 0; i < count; ++i) {
@haruyama
haruyama / lychrel.c
Last active August 29, 2015 14:26
lychrel number
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <gmp.h>
bool check_symmetry(mpz_t i)
{
char* s = mpz_get_str(NULL, 10, i);
size_t len = strlen(s);
@haruyama
haruyama / hoge
Created August 4, 2014 10:47
hoge
(unify-match 1 '(? x)
(singleton-stream '()))
(unify-match '(? x) 1
(singleton-stream '()))
(unify-match '(? x) '(? x)
(singleton-stream '()))
;(query-syntax-process '(?x ?x))