title |
---|
Products |
[![サークルカット](/images/products/circle-cut-techbookfest6.png)](/posts/2019-03-16-techbookfest6.html)
女の子たちのゆるふわ、スタディノベル☆
「数学……難しそう」「数学やりたいんだけど、手が出ない……」
『数学を全く知らない方』のための本です。 数学的な事前知識を全く仮定せず、最初から数学を学んでいくことができます。
- 数学って……?
- 圏論? Haskell??
- どんなところが楽しいの?
読みやすい対話形式。 数学への初めての入門を、手引きします。
[![サークルカット](/images/products/circle-cut-techbookfest5.png)](/posts/2018-09-12-techbookfest5.html)
ゆるふわにこまき数学!
代数的構造についての、Haskellを用いた優しい入門本です☆
- 数学・代数の雰囲気をゆるく知りたい
- 軽くHaskellを知りたい
- なんでもいいから技術系にこまきが読みたい
以上のような人に向けて。
静的型付け & Vim script
"*
* Comment
*"
function ExecuteFizzBuzz(): Void " abort by default
const xs: List<Int> = range(0, 100)
const fizzbuzz: List<String> = []
for x in xs
call add( " Add comments anywhere.
fizzbuzz, " Multi line without the line continuation '\'.
s:fizzbuzz(x),
)
endfor
echo string(fizzbuzz)
endfunction
function s:fizzbuzz(x: Int): String
return
x % 15 is 0 ? 'FizzBuzz' :
x % 5 is 0 ? 'Fizz' :
x % 3 is 0 : 'Buzz' : string(x)
endfunction
" Variables of functions by naming of [a-zA-Z0-9_]+ (not [A-Z][A-Za-z0-9_]+)
const f: () => Void = ::FizzBuzz " Function references by ::
f()
Haskell製Lisp方言(+ inline-lisp for Haskell)
>>> print [parse|(1 2 3)|]
Cons (AtomInt 1) (Cons (AtomInt 2) (Cons (AtomInt 3) Nil))
>>> case AtomInt 123 of; [parse|123|] -> "good"
"good"
>>> fromSing (sing :: Sing [parse|10|])
AtomInt 10
>>> [parsePreprocess|'10|]
Quote (AtomInt 10)
>>> [zurae|(print 10)|]
10Nil
>>> [zurae|'10|]
AtomInt 10