使い方

  • 貢献は以下の方法で行い、langs_template.md (以下テンプレート)の貢献者欄に自分のハンドルネームとやった内容を書き加えてください

    • テンプレートについて、
      • 各言語欄に特徴を書き加えたり、まちがっている項目があれば修正する
      • 新しい言語を書き加える
    • 実用的なサンプルコードをsamplesに追加して{file: id }で本文に埋め込む
    • すでにあるサンプルコードを改善する
    • まだサンプルコードがない言語について、
      • その言語の拡張子と同名のディレクトリを作り
      • 以下の動作をするコード(実行速度に配慮してあるとうれしい)を入れ
        • startと出力する
        • 素朴なエラトステネスのふるい(偶数を飛ばしたりしない)で10^8以下の素数をすべて判定する
        • 10^8以下の素数をすべて列挙した配列を得る
        • 得た配列の末尾の要素を出力する
        • endと出力する
      • settings.csvに実行用の設定を書き加える
  • 本文はlangs.mdです

  • langs.mdは からbench.hsを通して生成します。

  • bench.hsは以下のような順にlangs.mdを生成します

    • settings.csv, files.csvを読み取る(以下各列の名前は斜体で表します)
    • settings.csvの各行について、
      • dir のディレクトリに移動する
      • build のコマンドを実行する
      • timeコマンドで exec のコマンドの実行時間を計測し、記録する
    • テンプレート中の以下の文字列を置換してlangs.mdとして保存する
      • settings.csv由来のもの
        • {code: id } → source の中身を含むコードブロック
        • {result: id } → 実行結果を含むコードブロック
        • {sample: id } → 上2つをつなげたもの
      • files.csv由来のもの
        • {file: id } → path の中身を含むコードブロック