Size: a a a

Типы в языках программирования, моделирования, представления знаний и жизни

2021 December 01

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
можете полный пример с объявлениями и использованием привести?

чё то у меня не компилируется
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
контрацепцией
источник

h

hazer_hazer in Типы в языках программирования, моделирования, представления знаний и жизни
\template Print<T> {
    \repr T -> String
}

\type Paren {
   \repr Print : () -> String $ expr = "(" + self + ")"
}

трейто-дичь какая-то выходит 🤯
источник

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
а использовать как?
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
Да просто slap typeclasses on it and ship
источник

h

hazer_hazer in Типы в языках программирования, моделирования, представления знаний и жизни
slap typeclasses звучит как гачи для хаскеллистов. что это?
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
Это оригинальные трейты
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
class Show a where
 show :: a -> String

class Read a where
 read :: String -> Maybe a
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
> ввёл бы процедуру toString

А ещё лучше — класс типов Show. 😉
источник

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
но мне не хочется каждый раз вызывать какую то функцию, чтобы обрамить скобками. Хочу чтобы это было автоматом при создании переменной/изменении значения.

Хотя многие против неявности. Хотя в ООП такое сплошь и рядом. Хотя я не хочу равняться на ООП🤪🤦🏻‍♂️
источник

h

hazer_hazer in Типы в языках программирования, моделирования, представления знаний и жизни
так это просто кастомный конструктор будет. вам в любом случае придется описать это явно
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Это не про создание объектов, а про печать/сериализацию в строку.
источник

AB

ALEX BUR in Типы в языках программирования, моделирования, представления знаний и жизни
Это всё про синтаксический сахар, который не позволяют создавать языки. Типа дали вам сахара, его и достаточно. )
А варенье вам низзя.
источник

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
Обрамление скобками у  меня явно описано в типе:
\type Parenthesis = {
          \struct : String -> String $ expr = "(" + expr + ")";
};

Неявность получается при использовании этого типа для переменных:
\object a : Parenthesis = "first";
\object b : Parenthesis = "second";
У а будет значение "(first)", а у b будет значение "(second)", то есть чтобы понять что у а будет значение "(first)", а не
"first"
нужно помнить/смотреть что за тип
Parenthesis
источник

h

hazer_hazer in Типы в языках программирования, моделирования, представления знаний и жизни
ой. епересете. так это же плюсы с их неявным operator char*()
думаю никто не будет против, если я скажу, что это ужасно
источник

h

hazer_hazer in Типы в языках программирования, моделирования, представления знаний и жизни
вам кажется, что это супер удобно, потому что пример простой. Потом вы дойдете до сложных случаев, когда вам придется делать проверку на то, что A -> B -> C конвертация сущесвтует. В итоге эти имплисит конвертации превратятся в ад и для вас, и для пользователя
источник

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
Вы правы. А я вот понял что я смешал то что не нужно смешивать.

Я в корне неправильно подал идею.
источник

ПС

Павел Соколов... in Типы в языках программирования, моделирования, представления знаний и жизни
> автоматом при создании переменной/изменении значения
ну так кэшируйте!
плюс сохранения оригинальной строчки в том, что вам наверняка захочется модифицировать оригинальную строчку, а если вы оставите только вариант со скобками, то нужно будет их сначала снимать, а потом добавлять обратно
источник

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
должен вам сказать то же что и здесь https://t.me/typeslife/14421
источник

ПС

Павел Соколов... in Типы в языках программирования, моделирования, представления знаний и жизни
хорошо)
источник