Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет ПК ([info]p_k)
@ 2018-09-13 11:19:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
В динамическом языке с номинативной системой типов, возможные типы образуют множество $2^U$, где $U$ - множество возможных значений переменных. Если при этом добавить в язык рефлексию, то получим что $2^U$ равномощно собственному подмножеству $U$. В таком мире должно быть очень просторно.

Это была реклама Julia.


(Добавить комментарий)


(Анонимно)
2018-09-13 11:13 (ссылка)
$2^U$- множество возможных значений переменных

(Ответить) (Ветвь дискуссии)


[info]p_k
2018-09-13 11:24 (ссылка)
Нет, $U$ определяется как множество значений, которые могут принимать (be bound to) переменные языка. Любое подмножество $U$ - (потенциальный) тип.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]wieiner_
2018-09-13 11:28 (ссылка)
ясно скриптовый язык со слабой типизацией, типо джаваскрипта. Зачем он? тысячи таких. только из-за вот этой вот "мемоизации значений переменных" и вывода типов из их значений. ну фишка. но только из-за этого...

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2018-09-13 11:36 (ссылка)
>типов из их значений. ну фишка. но только из-за этого...

type checking problem undecidable

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_k
2018-09-13 11:52 (ссылка)
Конечно. Но для реальных проблем код для type inference and multiple dispatch, написанный Безансоном со товарищи, уже очень неплох:

http://gallium.inria.fr/seminaires/transparents/20170925.Francesco.Zappa-Nardelli.pdf

(Ответить) (Уровень выше)


[info]p_k
2018-09-13 12:01 (ссылка)
Типы не выводятся не из значений, а косвенным образом из деклараций (отчего, если не следить за type stability, может пострадать скорость - если тип не получается вычислить при компиляции).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]wieiner_
2018-09-13 12:08 (ссылка)
если не следить за type stability, может пострадать скорость

вот это мне нравится. попахивает ai. язык поддерживает многопоточность?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_k
2018-09-13 16:22 (ссылка)
На низком уровне - да, но в стандартной библиотеке многопоточных алгоритмов кот наплакал пока. Такое ощущение, что они пока сами не решили как лучше встроить многопоточность в язык. Ядро разработчиков занимается вылизыванием type inference и multiple dispatch, более-менее когерентно выглядит работа над стандартной библиотекой, ну и вокруг этого живет экосистема пакетов, создаваемых энтузиастами. Из-за этого имеется полдюжины разных пакетов для визуализации, каждый со своими тараканами, для меня это пока самый главный недостаток.

(Ответить) (Уровень выше)


[info]wieiner_
2018-09-13 11:19 (ссылка)
типы переменных зависят от их значений, штоле. хуясе вы там достукались. вобщем, ты хуем с мелом не маши, ты скажи лучше язык функциональный или императивный?

(Ответить) (Ветвь дискуссии)


[info]p_k
2018-09-13 11:44 (ссылка)
Неточно выразился, типов конечно, еще больше, они же номинативные. Но каждому типу соответвует посдмножество $U$, и по любому явно указанному подмножетву $U$ можно определить тип (то есть имеется сюръекция множества типов на $2^U$).

А так язык гибридный, есть closures и достаточно immutables, чтобы почти чисто в функциональном стиле писать, если кто от этого фанатеет (я не).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]wieiner_
2018-09-13 11:58 (ссылка)
я тоже не. но немного примешивать буду (сейчас немножко изучаю новый крестостандарт)

(Ответить) (Уровень выше)


[info]wieiner_
2018-09-13 11:30 (ссылка)
я может немного хамоват. это из-за последнего общения с анонами. не обижайтесь.

(Ответить)


[info]sadkov
2018-09-13 12:08 (ссылка)
Чудак, выучи уже MATHML или другую разметку, твой Латекс-сратекс тут никто читать не будет. Он уже изжил себя.

(Ответить)