yhseq: Calculation of Y-sequence Hexirp edition

[ apache, library, math ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/Hexirp/yhseq#readme


[Skip to Readme]
Versions [faq] 0.2.1.1, 0.2.1.2
Change log ChangeLog.md
Dependencies base (>=4.7.0.0 && <4.14.0.0) [details]
License Apache-2.0
Copyright (C) Hexirp 2019
Author Hexirp
Maintainer https://github.com/Hexirp/yhseq
Category Math
Home page https://github.com/Hexirp/yhseq#readme
Bug tracker https://github.com/Hexirp/yhseq/issues
Source repo head: git clone https://github.com/Hexirp/yhseq
Uploaded by Hexirp at Sat Nov 9 07:41:44 UTC 2019
Distributions NixOS:0.2.1.2
Downloads 267 total (79 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-11-09 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for yhseq-0.2.1.2

[back to package description]

yhseq

やあ。みんなは巨大数を知ってるかな? そして、巨大数論も知ってるかな? 巨大数を作るのはとても楽しいんだ!

さて、このライブラリは巨大数論に関連している。つまり、このライブラリは "Y数列" を計算する関数を実装している。ただ、正確に言えば "Y数列 Hexirp 版" だ。

元々の定義は数列で書かれている。ここにある。

でも、数式だけだとあまりにも読みづらい。これは私自身でも痛いほどわかっている。それに作った本人でも計算がめんどくさい!

だから、こうしてプログラムで実装しているわけだ。使っている言語は Haskell だ。数式に近い形でプログラムを記述できて、さらに文字列や入出力も上手く取り扱える。

私にはウェブページの上で動かすなんて気の利いたことなんてできないから、このプログラムはコマンドラインツールだ! でも、このプログラムを JavaScript などのウェブ上で動かせるコードにコンパイルする方法がいくつか (GHCJS, Asterius) あるから、それを使って頑張ってみるつもりだ!

でも、手元でビルドするのも簡単だ。このリポジトリをクローンして Stack でビルドするだけである。この Stack については "haskell stack" とでも検索してくれればすぐ理解できると思う。 "stack" だけじゃ検索結果にゴミが入るから、きちんと "haskell" といれるんだぞ!

名称

Y数列 Hexirp 版は英語に訳すると Y-sequence Hexirp edition になる。 Y は Yukito の略だから必ず大文字になる。さて、これを縮めると Y-Seq H E にでもなるだろう。しかし、これじゃクールではない。だから H を前に持ってきて yhseq とした。

使い方

yhseq には沢山のオプションがある。クールだろう!

yhseq [version] [seq] [num]

これは基本だ。出力は [seq] の基本列の [num] 番目だ。ここで [num] は自然数でなければならない。ただし 0 は自然数だ。また [version] はバージョン名だ。

  • -h, --help - これはヘルプを表示するオプションだ。
  • -v, --version - これはプログラムの全体としてのバージョンを表示するオプションだ。
  • -d, --detail - 詳細な展開の過程を表示するオプションだ。
  • -f, --force - 致命的なバグが発見されているバージョンを使おうとするとエラーになる。これを無理に押し通るオプションだ。

他にも連続して展開するモード、対話的に展開を続けるか選択できるモードを構想している。楽しみに待ってほしい!