Outline


執筆

せつラボ 〜圏論の基本〜

サークルカット

女の子たちのゆるふわ、スタディノベル☆

「数学……難しそう」「数学やりたいんだけど、手が出ない……」

『数学を全く知らない方』のための本です。 数学的な事前知識を全く仮定せず、最初から数学を学んでいくことができます。

読みやすい対話形式。 数学への初めての入門を、手引きします。


矢澤にこ先輩といっしょに代数!

サークルカット

ゆるふわにこまき数学!

代数的構造についての、Haskellを用いた優しい入門本です☆

以上のような人に向けて。


プログラミング

Time script

静的型付け & 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()

hs-zuramaru

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