jats-ug / ATS-Postiats

ATS2公式ドキュメント翻訳リポジトリ(translate_jaブランチ)
www.ats-lang.org
Other
2 stars 3 forks source link

ATSプログラミング入門のPart.I Ch.3 「関数呼び出しの評価」にタイポ #6

Closed murasesyuka closed 9 years ago

murasesyuka commented 9 years ago

fn abs (x: double): double = if x >= 0 then x else ~x

 こちらの環境だと、上記はコンパイルエラー。 x >= 0.0 の間違い?それとも >=. みたいな浮動小数点比較演算子あってそれ使うと推論される ?

https://github.com/jats-ug/ATS-Postiats/blob/translate_ja/doc/BOOK/INT2PROGINATS/CHAP_FUNCTION/main.atxt#L566

master-q commented 9 years ago

x >= 0.0 の間違いのようです。+演算子はdoubleにも関連付けられていますが、>=演算子は整数にのみ関連付けられているようです。

$ git grep " + " prelude/|grep overload
prelude/DATS/CODEGEN/filebas.atxt:overload + with add_ptr_bsz
prelude/DATS/CODEGEN/filebas.atxt:overload + with add_ptr_bsz
prelude/DATS/CODEGEN/string.atxt:overload + with add_ptr_bsz
prelude/DATS/CODEGEN/strptr.atxt:overload + with add_ptr_bsz
prelude/DATS/SHARE/CODEGEN/array_quicksort.atxt:overload + with add_ptr0_bsz
prelude/SATS/CODEGEN/bool.atxt:overload + with add_bool0_bool0 of 0
prelude/SATS/CODEGEN/bool.atxt:overload + with add_bool1_bool0 of 10
prelude/SATS/CODEGEN/bool.atxt:overload + with add_bool0_bool1 of 10
prelude/SATS/CODEGEN/bool.atxt:overload + with add_bool1_bool1 of 20
prelude/SATS/CODEGEN/char.atxt:overload + with add_char0_int0 of 0
prelude/SATS/CODEGEN/float.atxt:overload + with add_int_float of 0
prelude/SATS/CODEGEN/float.atxt:overload + with add_float_int of 0
prelude/SATS/CODEGEN/float.atxt:overload + with add_int_double of 0
prelude/SATS/CODEGEN/float.atxt:overload + with add_double_int of 0
prelude/SATS/CODEGEN/integer.atxt:overload + with g1int_add of 20
prelude/SATS/CODEGEN/integer.atxt:overload + with add_size1_int1 of 22
prelude/SATS/CODEGEN/integer.atxt:overload + with add_int1_size1 of 22
prelude/SATS/CODEGEN/integer.atxt:overload + with g1uint_add of 20
prelude/SATS/CODEGEN/list.atxt:overload + with list_append
$ git grep ">=" prelude/|grep overload
prelude/SATS/CODEGEN/gindex.atxt:overload >= with gindex_gte
prelude/SATS/CODEGEN/gindex.atxt:overload >= with gindex_gt_int
prelude/SATS/CODEGEN/integer.atxt:overload >= with gte_g0int_int of 11
prelude/SATS/CODEGEN/integer.atxt:overload >= with g1int_gte of 20
prelude/SATS/CODEGEN/integer.atxt:overload >= with gte_g1int_int of 21
prelude/SATS/CODEGEN/integer.atxt:overload >= with gte_g0uint_int of 11
prelude/SATS/CODEGEN/integer.atxt:overload >= with g1uint_gte of 20
prelude/SATS/CODEGEN/integer.atxt:overload >= with gte_g1uint_int of 21
master-q commented 9 years ago

本家にpull requestを出しました。取り込まれてからこちらを修正する予定です。

https://github.com/githwxi/ATS-Postiats/pull/141

master-q commented 9 years ago

再発行しました。 / http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/x499.html