Skip to content

Instantly share code, notes, and snippets.

View egisatoshi's full-sized avatar

Satoshi Egi egisatoshi

View GitHub Profile
@righ1113
righ1113 / EightPuzzle.hs
Last active July 5, 2023 19:58
8パズルは181440通り in Egison, Haskell
module EightPuzzle where
import Data.List (permutations)
-- 参考記事:https://mathtrain.jp/8puzzle
{--
8 puzzle
1 2 3
; -*- mode: scheme;-*-
; Implementation of resolution principle for first-order logic in Egison
(define $unordered-pair
(lambda [$m]
(matcher
{[<pair $ $> [m m] {[[$x $y] {[x y] [y x]}]}]
[$ [something] {[$tgt {tgt}]}]})))
(define $positive?
--Roughly based on https://github.com/Gabriel439/Haskell-Morte-Library/blob/master/src/Morte/Core.hs by Gabriel Gonzalez et al.
data Expr = Star | Box | Var Int | Lam Int Expr Expr | Pi Int Expr Expr | App Expr Expr deriving (Show, Eq)
subst v e (Var v') | v == v' = e
subst v e (Lam v' ta b ) | v == v' = Lam v' (subst v e ta) b
subst v e (Lam v' ta b ) = Lam v' (subst v e ta) (subst v e b )
subst v e (Pi v' ta tb) | v == v' = Pi v' (subst v e ta) tb
subst v e (Pi v' ta tb) = Pi v' (subst v e ta) (subst v e tb)
subst v e (App f a ) = App (subst v e f ) (subst v e a )
@greymd
greymd / 2016-04-30_lt.md
Last active May 2, 2016 00:36
2016-04-30 シェル芸勉強会 LT
@egisatoshi
egisatoshi / maclaurin-expansion.md
Last active April 14, 2016 06:23
MacLaurin expansion on shell
% egison -T -e '(maclaurin-expansion (cos x) x)'                                        
1
0
(/ (* -1 x^2) 2)
0
(/ x^4 24)
0
(/ (* -1 x^6) 720)
0
@wkentaro
wkentaro / how-to-install-omake-on-osx.rst
Last active February 20, 2018 15:14
How to install omake on OS X

How to install omake on OS X

brew update && brew upgrade
brew install opam
@greymd
greymd / gist:352f9a6ec70d2a5f607f
Created January 20, 2015 14:30
「メロスは激怒した」と同じような語感を持つ文を「走れメロス」から抜き出す
# 形態素解析器を使うのでmecabを事前にインストールされたし
# % brew install mecab
# 青空文庫から「走れメロス」を取得
$ w3m -dump http://www.aozora.gr.jp/cards/000035/files/1567_14913.html | \
mecab | awk -F',' '$0=$1' | awk 'NF==2' | \
egison -F1s -s '(match-all-lambda (list [string string])[<join _ <cons [$a ,"名詞"] <cons [$b ,"助詞"] <cons [$c ,"名詞"] <cons [$d ,"動詞"] <cons [$e ,"助動詞"]>>>>>> [a b c d e]])'
# Result
# ["メロス" "は" "激怒" "し" "た"]
@greymd
greymd / gist:26892f933d21dd84c2ac
Last active August 29, 2015 14:13
ジャンケンの結果が「グー パー グー パー」のように4話のうち2回ずつ同じパターンがでたサザエさんの話数
w3m -dump http://www.asahi-net.or.jp/~tk7m-ari/sazae_ichiran.html | \
sed 's/(.*//g' | awk NF | awk '$0=$1" "$3' | sed -n '4,$p' | tr ' ' '\t' | \
egison -T -F1s -s '(match-all-lambda
(list [string string])[
<join _ <cons [$a $te1]
<cons [$b $te2]
<cons [$c ,te1]
<cons [$d ,te2]>>>> _>
[a b c d "=>" te1 te2 te1 te2]
])' | column -t
@egisatoshi
egisatoshi / Egison_command_tutorial_ja.md
Last active January 1, 2016 07:24
Egisonコマンドラインチュートリアル

Egisonコマンドラインチュートリアル

式を評価

--evalまたは-eオプションで引数の式を評価できます。 式はシングルクォート(`)で囲みます。

$ egison -e '(take 10 primes)'
{2 3 5 7 11 13 17 19 23 29}
@gakuzzzz
gakuzzzz / slide.md
Last active June 11, 2019 01:59
パターンマッチいろいろ (函数型なんたらの集い 2014 in Tokyo)

パターンマッチいろいろ

  • 2014/10/25 函数型なんたらの集い 2014 in Tokyo
  • @gakuzzzz
  • 中村 学
  • 株式会社Tech to Value
  • Scalaから来ました

参加の経緯