Forwarded from Ебанатика - наука точная
Forwarded from Deleted Account
Так это нормально. В однопотоке хоть из десяти мест мутируй - всё безопасно и предсказуемо. Если значение сидит в своем потоке и никак не взаимодействует с другими потоками - тоже самое. Но я думаю определить это на этапе компиляции сложно (а может и невозможно) раз в расте пошли самым простым и грубыми путём: либо один мут реф на объект, либо сколь угодно конст рефов.
Forwarded from ọzkriff
"В однопотоке хоть из десяти мест мутируй - всё безопасно и предсказуемо."
https://manishearth.github.io/blog/2015/05/17/the-problem-with-shared-mutability
https://manishearth.github.io/blog/2015/05/17/the-problem-with-shared-mutability
manishearth.github.io
The problem with single-threaded shared mutability
Edit (Jan 2017): I re-discovered Niko’s post which touches on this and reaches for the same realization. I suspect I subconsciously got the idea for this from that post, at least in part. This is a …
Forwarded from Val Krylov
О да. Как в своё время шутили, что Objective-C это совмещение скорости Smalltalk с надёжностью C, так и Rust можно рассматривать как сочетание высокоуровневости C с лёгкостью Haskell.
Forwarded from Awesome Rust
Porting a JavaScript App to WebAssembly with Rust (Part 1)
https://slowtec.de/posts/2019-12-20-porting-javascript-to-rust-part-1.html
https://slowtec.de/posts/2019-12-20-porting-javascript-to-rust-part-1.html
Forwarded from вафля 🧇🍓
> This fake “simplicity” runs deep in the Go ecosystem. Rust has the opposite problem - things look scary at first, but it's for a good reason. The problems tackled have inherent complexity, and it takes some effort to model them appropriately.
Forwarded from Roman Crown
Бережливая_разработка_заметки_с.pdf
3 MB
Если вам хочется больше узнать про методологии, их внедрение и постройку под задачи продукта и практики команды, то почитайте вот этот материал. Там 70 страниц. Это любительский и очень хороший перевод моего знакомого, прекрасного знатока своего дела. Статья рассказывает про Lean Programming. Это одни из лучших руководств по разумному внедрению методологии, которые мне приходилось читать.
Forwarded from саша кремов
let
my_record = MyRecord with
my_txt = "Text"
my_int = 2
my_dec = 2.5
my_list = ["One", "Two", "Three"]
вот бы в хаскель такой синтаксис
Forwarded from саша кремов
ещё можно так:
let
myRecord =
let
my_txt = "text
my_int = 2
my_dec = 2.5
my_list = ["One", "Two", "Three"]
in MyRecord{..}
Forwarded from саша кремов
но так в случае чего компилятор плюётся ворнингами на шедоуинг
Forwarded from саша кремов
хотя можно даже так писать:
но как можно догадаться этот способ не работает в случае, если у тебя создание рекорда это часть выражения побольше
let
my_record = MyRecord{..} where
my_txt = "text"
my_int = 2
my_dec = 2.5
my_list = ["One", "Two", "Three"]
но как можно догадаться этот способ не работает в случае, если у тебя создание рекорда это часть выражения побольше
Forwarded from саша кремов
Dropbox
haskell tutorial.pdf
Shared with Dropbox
Forwarded from 𝙽𝚒𝚌𝚔 𝙻𝚒𝚗𝚔𝚎𝚛
Человек из старой РСДНской гвардии написал ряд постов на LJ:
https://thedeemon.livejournal.com/40867.html
https://thedeemon.livejournal.com/41035.html
https://thedeemon.livejournal.com/41388.html
https://thedeemon.livejournal.com/41545.html
https://thedeemon.livejournal.com/43344.html
https://thedeemon.livejournal.com/43656.html
https://thedeemon.livejournal.com/40867.html
https://thedeemon.livejournal.com/41035.html
https://thedeemon.livejournal.com/41388.html
https://thedeemon.livejournal.com/41545.html
https://thedeemon.livejournal.com/43344.html
https://thedeemon.livejournal.com/43656.html
Livejournal
ATS: первые впечатления
Занялся я тут изучением ATS и в качестве учебного примера взял задачку nponeccop'a про фильтрацию IP адресов. Дабы не изобретать колеса, взял простое и красивое решение antilamer'a и попытался его почти дословно перевести. Получилось 108 строк на ATS . Собранное…