Closed murasesyuka closed 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
本家にpull requestを出しました。取り込まれてからこちらを修正する予定です。
こちらの環境だと、上記はコンパイルエラー。 x >= 0.0 の間違い?それとも >=. みたいな浮動小数点比較演算子あってそれ使うと推論される ?
https://github.com/jats-ug/ATS-Postiats/blob/translate_ja/doc/BOOK/INT2PROGINATS/CHAP_FUNCTION/main.atxt#L566