
Ilya
21.02.2017
17:36:28
то есть подразумевается, что соответствие между Integer и Num есть
и вполне прямое кстати

Kit
21.02.2017
17:38:13

Ilya
21.02.2017
17:38:23
хорошо

Google

Ilya
21.02.2017
17:38:39
давай так
λ> :t 0
0 :: Num a => a
прокомментируй это
хотя ладно, давай проще ещё

? animufag ?
21.02.2017
17:40:29
instance Num Int where
I# x + I# y = I# (x +# y)
I# x - I# y = I# (x -# y)
negate (I# x) = I# (negateInt# x)
I# x * I# y = I# (x *# y)
abs n = if n `geInt` 0 then n else negate n
signum n | n `ltInt` 0 = negate 1
| n `eqInt` 0 = 0
| otherwise = 1
{-# INLINE fromInteger #-} -- Just to be sure!
fromInteger i = I# (integerToInt i)
поискал таки

Ilya
21.02.2017
17:41:22
Integer - это инстанс Num, так?
Умножение определяется в инстансе, так?
Вот почему мы в ИНСТАНСЕ для Interger не можем определить умножение как нам хочется? В т.ч. и 0 * _ = 0

Kit
21.02.2017
17:41:43

Ilya
21.02.2017
17:42:48
как и должно
потому что нехрен паттерн-матчить
но если бы захотели, то могли бы

Kit
21.02.2017
17:44:52

Google

Ilya
21.02.2017
17:46:04
всё правильно:) и я о том же

Kit
21.02.2017
17:46:58

Ilya
21.02.2017
17:47:54
изначально ты утверждал, что нельзя определить (0 * _ = 0), потому что "не для всех числовых типов есть 0"

Kit
21.02.2017
17:48:53
Можно в инстанс запихать, но тоже никто не делает
Для integer

Ilya
21.02.2017
17:51:43
хах ну ок =)
@voidlizard spam

Dmitry
21.02.2017
18:03:28
Пингуйте @qnikst я на телефоне
Asyan раз
На телефоне тоже работает
Данеая стилистика беседы не приветствуется
Хорошо
Поправка: не сквернословь как мудак

Kit
21.02.2017
18:08:35
Походу в школе флуда и троллинга сегодня практический экзамен.
Чёт их много

Dmitry
21.02.2017
18:09:32
Извиняем. И раз.
Кучно пошли

Ilya
21.02.2017
18:13:49
Затаился ?

Тёма
21.02.2017
18:14:36
Тут страшно писать теперь.

Google

Dmitry
21.02.2017
18:16:01
Страх убивает разум

? animufag ?
21.02.2017
18:28:07
не было 40 минут. интересно что тут было

Alexander
21.02.2017
18:31:43
In type theory, a theory within mathematical logic, the bottom type is the type that has no values. It is also called the zero or empty type, and is sometimes denoted with falsum (⊥).
The bottom type is frequently used for the following purposes:
To signal that a function or computation diverges; in other words, does not return a result to the caller.
As an indication of error; this usage primarily occurs in theoretical languages where distinguishing between errors is unimportant.
сорри я только пришёл

Ilya
21.02.2017
18:43:03

Alexander
21.02.2017
18:43:21
bottom не может быть значением
нету значения которое = bottom

Ilya
21.02.2017
18:44:17
Ну хорошо, не значение

Alexander
21.02.2017
18:44:26
bottom (отсуствие значения) населяет все lifted типы

Ilya
21.02.2017
18:44:30
Так как нет конструктора

Alexander
21.02.2017
18:44:38
или т.к. не завершается

Ilya
21.02.2017
18:44:47

Ilya
21.02.2017
18:45:14
void из моего примера разве не имеет конкретный тип?

Alexander
21.02.2017
18:45:16
data S = S (forall a. a) внутри S тоже bottom ?
эм.. я сказал отсутсвие значения, тут вопрос "разве не имеет конкретный тип"
а стоп, в цитатах запутался

Admin
ERROR: S client not available

Alexander
21.02.2017
18:46:17
в любом lifted типе есть _|_
т.е. может быть отсуствие значения

Ilya
21.02.2017
18:46:31
С этим не спорю

Google

Ilya
21.02.2017
18:48:33
Хорошо, то есть если функция невычислима, то мы просто говорим, что она возвращает bottom этого типа?
Любая функция
Вроде понял
Просто мне что интересно
Можно определить два bottom разного типа, но при этом мы всё равно считаем их одинаковыми

? animufag ?
21.02.2017
18:55:47
bottom не может быть значением
bottom (отсуствие значения) населяет все lifted типы
незначение населяющее типы
ну в цитате выше боттом точно назван типом. тип без конструктора пускай будет боттом. а если есть невычислимое выражение, тип которого известен, то это уже не боттом?

Alexander
21.02.2017
19:07:09
ну то что пустое множество является подмножеством любого множества же никого не напрягает?

Ilya
21.02.2017
19:07:26
Никого
Немного напрягает, что могут быть равны элементы двух разных типов
Если это элемент - боттом
Но я уже начал привыкать

Alexander
21.02.2017
19:08:16
обчный intiial object =)

Kit
21.02.2017
19:12:56
В теории множеств пустое множество не имеет типа, поэтому оно является подмножеством любого множества.
Получается формально bottom не имеет типа

Artem
21.02.2017
19:17:33

Kit
21.02.2017
19:18:05

Igor
21.02.2017
19:20:27

Google

Alexander
21.02.2017
19:20:41
те которые содержат bottom ?
а нет