@gogolang

Страница 1349 из 1630
Daniel
03.09.2018
22:48:04
у нас все передается по значению

и у всего есть тип

Alexander
03.09.2018
22:48:45
не все по значению

Daniel
03.09.2018
22:49:40
то есть - при создании нового указателя, структуры, слайса и мапы (все, вроде?) надо рядом с типом еще взвести флаг immutable, и дальше его при передаче копировать. а компилятор пусть проверяет его

Google
Daniel
03.09.2018
22:49:52
Alexander
03.09.2018
22:50:15
слайсы

Daniel
03.09.2018
22:50:33
слайсы тоже по значению, указатели и счетчики копируются

Roman
03.09.2018
22:50:36
слайсы
слайс передаётся копией, но вот сам array под ним конечно не копируется

Alexander
03.09.2018
22:50:53
да, по ссылке передается

Roman
03.09.2018
22:51:16
да, по ссылке передается
это не по ссылке, это копия структуры слайса

Daniel
03.09.2018
22:51:30
в котрой есть указатель на массив

Alexander
03.09.2018
22:51:41
OK! пусть так

Daniel
03.09.2018
22:54:40
чего именно ты не понимаешь?

как компилятор типы проверяет при присваивании - понимаешь?

Roman
03.09.2018
22:55:05
Потому что в твоём объяснении смешаны runtime & compile time

Google
Daniel
03.09.2018
22:55:13
нет, не смешаны вообще

в рантайме мне никакой контроль мутабельности не нужен (пока?)

Alexander
03.09.2018
22:56:25
Блин, все же, может быть, не надо так глобально. Просто позволить пограммистам писать в определении функции модификатор const при параметре? Это - уже на тупых пользователей этой функции повлияет, и, наверное, этого достаточно было бы

Alexander
03.09.2018
22:59:26
пока существуют конпутеры и пограммисты - лучше не будет никак :)

Daniel
03.09.2018
22:59:51
как обычно

Alexander
03.09.2018
23:00:35
И почему, кстати, все думают, что по умолчанию, каждый хочет отстрелить себе ногу и часами сидеть дебажить?

Хотя, часто видишь, что хотят, конечно :)

Roman
03.09.2018
23:00:50
как обычно
Я про вот этот флаг

Daniel
03.09.2018
23:01:01
никто не хочет, но за последние 5 лет я проделывал это дважды

Roman
03.09.2018
23:01:07
И структура с поинтером на саму себя

Daniel
03.09.2018
23:01:30
я проблемы не понимаю

Alexander
03.09.2018
23:01:46
никто не хочет, но за последние 5 лет я проделывал это дважды
И что в этом такого? Ты видел кого-то, кто этого не проделывал?

Daniel
03.09.2018
23:02:02
я бы хотел больше никогда не

Alexander
03.09.2018
23:02:23
не получится. Проблема слишком сложная, чтобы решить ее так просто

и не в иммутабельности проблема, в общем-то даже :)

Daniel
03.09.2018
23:02:47
в с++ решили, и у нас можно

есть несколько паттернов, которые реально помогают

Roman
03.09.2018
23:03:51
Мне кажется, что иммутабельность ничего не даст

Google
Roman
03.09.2018
23:08:31
[] const MyStruct
Я про внутреннее устройство

Daniel
03.09.2018
23:08:45
Мне кажется, что иммутабельность ничего не даст
в каком смысле ничего? класс редких, но очень неприятных ошибок она предотвращает полностью map-reduce, когда он у нас появится, можно будет раскидывать по горутинам оптимизатор сможет не вычислять одно и тоже по 100 раз

Alexander
03.09.2018
23:08:47
нет const []int

Roman
03.09.2018
23:10:07
нет const []int
Это иммутабельный слайс, а я про слайс из иммутабельных объектов

Roman
03.09.2018
23:10:18
И почему, кстати, все думают, что по умолчанию, каждый хочет отстрелить себе ногу и часами сидеть дебажить?
дело не в том что все хотят. Дело в том что это всё-равно часто происходят, потому-что наличие даже гениальной головы не гарантирует отсутствие ошибок. Поэтому у нас собственно и есть компиляторы, умные алгоритмы облегчающие нам жизнь дабы слишком голову стейтом не забивать. самое страшное в том, что некоторые господа, привыкают городить врапер-структуры только для того чтоб защитить слайс от мутабельности и считают это нормальным отказываясь от const []byte

Alexander
03.09.2018
23:10:36
Daniel
03.09.2018
23:11:00
Это иммутабельный слайс, а я про слайс из иммутабельных объектов
слайс иммутабельных структур ничем не отличается от слайса мутабельных

Roman
03.09.2018
23:11:34
способность приспосабливаться к любым условиям это особенное качество человека... особенно хорошее и особенно плохое... погрузи человека в нищиту и он привыкнет к ней и будет напрочь отрицать богатства. Погрузи человека в "плохой язык" (я с осторожностью, не буду конкретизироватрь) и он привыкнет на нём костылить

Roman
03.09.2018
23:11:49
Daniel
03.09.2018
23:11:54
да

Alexander
03.09.2018
23:12:06
Ну, надо сначала хотя бы начать с модификатора const при описании функции. А?

Roman
03.09.2018
23:12:21
Окей, слайс из иммутабельных слайсов

Roman
03.09.2018
23:12:23
Я про внутреннее устройство
устройство чего конкретно?

Roman
03.09.2018
23:12:52
то есть - при создании нового указателя, структуры, слайса и мапы (все, вроде?) надо рядом с типом еще взвести флаг immutable, и дальше его при передаче копировать. а компилятор пусть проверяет его

Daniel
03.09.2018
23:12:56
Окей, слайс из иммутабельных слайсов
да объясни уже, где ты проблему видишь :)

Alexander
03.09.2018
23:12:57
Кстати, а чего это вы тут так разорались-то? lexx всем сказал идти работать! А вы чего?

Roman
03.09.2018
23:13:02
Речь об этом флаге :)

Google
Roman
03.09.2018
23:13:10
слайс иммутабельных структур ничем не отличается от слайса мутабельных
ооо нет, ещё как отличается!! вот смотри: https://github.com/romshark/Go-2-Proposal---Immutability#31-are-the-items-within-immutable-slicesmaps-also-immutable

Alexander
03.09.2018
23:13:48
Иногда сон - это тоже работа!

Roman
03.09.2018
23:15:24
map [ const *Object ] const [] [] Object мапа имутабельных слайсов мутабельных слайсов мутабельных структур типа Object, с имутабельным ключём типа указателя на структуру Object ?

Alexander
03.09.2018
23:16:08
не надо так огород городить! Иначе это не проверить будет на этапе компиляции

Надо, если сказано const, то шаг влево, шаг вправо - до свидания по поводу всей переменной

Roman
03.09.2018
23:17:26
[] const [] int
Угу. Мапа иммутабельных слайсов содержащая иммутабельные структуры

Roman
03.09.2018
23:17:26
не надо так огород городить! Иначе это не проверить будет на этапе компиляции
что значит не проверить?)) компилятор всё смогёт, но такой код писать конечно не надо, это эстремум, утрированный пример

Admin
ERROR: S client not available

Alexander
03.09.2018
23:18:08
как-то я думаю, что не сможет, но думать и рассказывать лень :( Ночь на дворе

Alexander
03.09.2018
23:19:02
угу

Roman
03.09.2018
23:19:29
map[string] const [] const Object
Да, а проверка на этапе компиляции. Меня смутила идея флага у обьекта

Alexander
03.09.2018
23:19:54
не флага, а модификатора

Roman
03.09.2018
23:20:04
Да, а проверка на этапе компиляции. Меня смутила идея флага у обьекта
это решаемая алгоритмическая задача, это не нерешемая проблема ?

Alexander
03.09.2018
23:20:06
хоть это - одно и то же

Roman
03.09.2018
23:20:23
не флага, а модификатора
qualifier, если быть точным

Google
Alexander
03.09.2018
23:20:32
угу

Roman
03.09.2018
23:20:47
"спецификатором" если верить гугл переводчику

Daniel
03.09.2018
23:21:10
или так, да

Roman
03.09.2018
23:21:34
по крайней мере в C++ const это qualifier

Roman
03.09.2018
23:21:35
Ммм, а как это все будет жить с unsafe?

Daniel
03.09.2018
23:21:48
параллельно

Roman
03.09.2018
23:22:04
Ммм, а как это все будет жить с unsafe?
честно - никогда не возился в unsafe, а что там может быть?

Daniel
03.09.2018
23:22:07
unsafe пускай делает, что хочет, на то он и unsafe

Alexander
03.09.2018
23:22:23
В общем, я хочу qualifier конст только при описании функции. А иначе как это сделать, чтобы погроммист у себя внутри пакета менял все, что ему нада?

Daniel
03.09.2018
23:22:59
вообще-то, нам давно нужны константы сложных типов

Daniel
03.09.2018
23:23:19
так что его надо и к переменным, и к параметрам приделывать

Roman
03.09.2018
23:23:54
так что его надо и к переменным, и к параметрам приделывать
return values, arguments, variables, struct fields, function receivers как я собственно в пропосалe детально и описал

Alexander
03.09.2018
23:24:01
почитай пропосал, он не только в функции полезен ?
А я пока хочу - только! И не надо делать резких движений. Вот чего я, старый человек, хочу :)

Roman
03.09.2018
23:24:39
да объясни уже, где ты проблему видишь :)
Сложный составной объект, где-то в глубине которого есть огромные коллекции иммутабельных объектов.

Daniel
03.09.2018
23:24:48
почитай пропосал, он не только в функции полезен ?
я советую его в adoc конвертнуть. в adoc есть TOC штатный

Roman
03.09.2018
23:25:46
я советую его в adoc конвертнуть. в adoc есть TOC штатный
честно говоря впервые слышу про "adoc" (правда название "адок" многообещающее)

Roman
03.09.2018
23:25:51
честно - никогда не возился в unsafe, а что там может быть?
Я могу кастить unsafe.Pointer во что угодно.

Daniel
03.09.2018
23:26:06
да, и это меня не беспокоит

Страница 1349 из 1630