LINUX.ORG.RU

[Haskell] (+/-) бесконечность

 


0

0

Доброго времени суток

В упор не могу найти лексемы, описывающей (плюс/минус) бесконечность в Haskell. Засело в голове, что было что-то подобное, но ни найти в стандарте, ни нагуглить не получается. На выражение (1/0) GHCi выдаёт Infinity, но конструктора Infinity не видит

Заранее спасибо

★★★★★

сомневаюсь, что такое есть, т.к. числа в хаскеле вроде как безграничы

Pi ★★★★★
()
Ответ на: комментарий от watashiwa_daredeska

> И сколько байт занимает "безграничное" число?

Всю доступную память может занять. Во многих языках есть безграничные числа.

anonymous
()
Ответ на: комментарий от watashiwa_daredeska

>И сколько байт занимает "безграничное" число

Подозреваю, что где-то около _|_.

DonkeyHot ★★★★★
()
Ответ на: комментарий от watashiwa_daredeska

> Ну так это и есть граница. Т.е. безграничных чисел нет?

имеется в виду, что у языка нет ограничений

fmj
()

реально бесконечное число last [1..] Только вычислятся оно тоже бесконечно будет.

imp ★★
()
Ответ на: комментарий от imp

ну, для меня контекст бесконечности был таков : любой тип, принадлежащий к классу Ord в сравнении с бесконечностью должен быть меньше, а с минус бесконечностью - больше. в принципе от размерности числовых типов Haskell зависеть не должно. бесконечности в Haskell, как оказалось, действительно нет (с чем-то я его перепутал), и способы построения катаморфизмов, в которых я намеревался бесконечности использовать, мне уже показали. тем не менее still curious

jtootf ★★★★★
() автор топика
Ответ на: комментарий от jtootf

почему ж нет? let inf = (1/0) let neg_inf = (-1)*inf

вполне себе бесконечность например (inf == inf/2)==True и 1/inf = 0.0

Опять же isInfinity из Prelude работает

imp ★★
()
Ответ на: комментарий от cathode

>Чтобы понять почему тут NaN нуна вспомнить, что sin(x) при x -> inf неопределен

ну это тем не менее нелогично. бесконечность + _ = бесконечность. независимо от того, определён _ или нет. на мой взгляд это правило сильнее. вот если бы (1/0) + (1/0)*sin(1/0) - тогда да, NaN как он есть

jtootf ★★★★★
() автор топика
Ответ на: комментарий от jtootf

> . бесконечность + _ = бесконечность независимо от того, определён _ или нет

Странная логика.

rab_boziy
()
Ответ на: комментарий от jtootf

NaN - нот э намба, не число. арифметические действия с не числами не логичны. короче, выдыхай :)

Pi ★★★★★
()
Ответ на: комментарий от cathode

Я был двоечником. Всю жизнь думал, что |sin(x) |<= 1 при любых действительных x.
Из чего Infinity + C = Infinity. Буду рад увидеть ссылку на обратное.

sf ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.