Nick Linker:
В прод пойдёт всё в куче, один большой WASM-файл.
Динамическая подгрузка здесь выглядит привлекательно, потому что этот маленький wasm кусок хочется пересобирать часто и обновлять быстро. Кроме этого, есть ещё css, который тоже относительно редко меняется, и генерировать для него обёртки тоже не хочется на каждый чих (поэтому такая обёртка будучи сгенерированной один раз могла бы лечь в большой wasm кусок).
lil pep:
я не знаю где лучше всего пример будет
тут есть
https://github.com/jfbastien/musl/blob/wasm-prototype-1/arch/wasm32/wasm.js
но тут не approachable
Mikhail Voronov:
https://github.com/fluencelabs/multi-module-example
lil pep:
кстати, вроде новый инструмент в wabt появился для декомпиляции
https://v8.dev/blog/wasm-decompile
Nick Linker:
В этом multi-module-example какая-то специфичная аннотация, которая к сожалению мне недоступна. Но спасибо, я по-меньшей мере знаю, что это возможно 😊
Ладно, спасибо, буду ковырять дальше.
Mikhail Voronov:
https://github.com/fluencelabs/fce/blob/master/src/vm/module/abi.rs#L19
там макросы скрывают всю грязную работу, вот по этой ссылке можно почитать, что происходит.
P.S. Код там пока очень сырой
https://news.1rj.ru/str/WebAssembly_ru/29934
В прод пойдёт всё в куче, один большой WASM-файл.
Динамическая подгрузка здесь выглядит привлекательно, потому что этот маленький wasm кусок хочется пересобирать часто и обновлять быстро. Кроме этого, есть ещё css, который тоже относительно редко меняется, и генерировать для него обёртки тоже не хочется на каждый чих (поэтому такая обёртка будучи сгенерированной один раз могла бы лечь в большой wasm кусок).
lil pep:
я не знаю где лучше всего пример будет
тут есть
https://github.com/jfbastien/musl/blob/wasm-prototype-1/arch/wasm32/wasm.js
но тут не approachable
Mikhail Voronov:
https://github.com/fluencelabs/multi-module-example
lil pep:
кстати, вроде новый инструмент в wabt появился для декомпиляции
https://v8.dev/blog/wasm-decompile
Nick Linker:
В этом multi-module-example какая-то специфичная аннотация, которая к сожалению мне недоступна. Но спасибо, я по-меньшей мере знаю, что это возможно 😊
Ладно, спасибо, буду ковырять дальше.
Mikhail Voronov:
https://github.com/fluencelabs/fce/blob/master/src/vm/module/abi.rs#L19
там макросы скрывают всю грязную работу, вот по этой ссылке можно почитать, что происходит.
P.S. Код там пока очень сырой
https://news.1rj.ru/str/WebAssembly_ru/29934
GitHub
jfbastien/musl
musl libc experiment. Contribute to jfbastien/musl development by creating an account on GitHub.
Forwarded from Kai Ren
Кстати, у меня тут на днях талантливый коллега изобрёл приём (может и не ново, хз), дабы не писать килотонны трейт-баундов на всяких impl'ах: весь ужас запихиваем во вспомогательный трейт, и просто переиспользеум через ассоциативные типчики.
Подбиваю его проработать идею глубже и запилить статейку по этому делу, но пока что морозится.
Подбиваю его проработать идею глубже и запилить статейку по этому делу, но пока что морозится.
Forwarded from Dima
Бешеный Профессор:
И так факты - получил ты ссылку на какие-то данные в метод или функцию. Изменил их. Без ссылочной прозрачности характерной для ФП ещё кто-то может изменить по ссылке как-то по другому эти данные. Если это происходит в многопоточном окружении это может произойти еще и пока твой метод выполняется. В общем то можно хоро и без ссылочной прозрачности писать но это писец каких затрат сил и бойлерплейта требует. Вот эти все IRepository и прочее это же для того чтобы ты точно знал что вот сейчас будет запись в базу а не в какой-то непонятный момент ты выставил значение свойству и тут бабах
В ФП ссылочно прозрачном языке бабах произойти в принцыпе не должно. Ты явно видишь все места где у тебя IO и где ты в него пишешь. Хотя, это такое - я не силён в ФП. Я волшебник в другом а в ФП я толко учусь. Вон наш любимый Цобакен @DogeShibu может тебе рассказать наверно почему ссылочная прозрачность это хорош 😁
https://news.1rj.ru/str/rust_offtopic/246945
И так факты - получил ты ссылку на какие-то данные в метод или функцию. Изменил их. Без ссылочной прозрачности характерной для ФП ещё кто-то может изменить по ссылке как-то по другому эти данные. Если это происходит в многопоточном окружении это может произойти еще и пока твой метод выполняется. В общем то можно хоро и без ссылочной прозрачности писать но это писец каких затрат сил и бойлерплейта требует. Вот эти все IRepository и прочее это же для того чтобы ты точно знал что вот сейчас будет запись в базу а не в какой-то непонятный момент ты выставил значение свойству и тут бабах
В ФП ссылочно прозрачном языке бабах произойти в принцыпе не должно. Ты явно видишь все места где у тебя IO и где ты в него пишешь. Хотя, это такое - я не силён в ФП. Я волшебник в другом а в ФП я толко учусь. Вон наш любимый Цобакен @DogeShibu может тебе рассказать наверно почему ссылочная прозрачность это хорош 😁
https://news.1rj.ru/str/rust_offtopic/246945
Telegram
Бешеный Профессор in rust_offtopic
В ФП ссылочно прозрачном языке бабах произойти в принцыпе не должно. Ты явно видишь все места где у тебя IO и где ты в него пишешь. Хотя, это такое - я не силён в ФП. Я волшебник в другом а в ФП я толко учусь. Вон наш любимый Цобакен @DogeShibu может тебе…
Forwarded from Stanislav Popov
почитал простыни https://blog.guillaume-gomez.fr/articles/2017-02-22+Rust+asynchronous+HTTP+server+with+tokio+and+hyper
blog.guillaume-gomez.fr
Rust asynchronous HTTP server with tokio and hyper
tuto articles
Forwarded from Stanislav Popov
реально кажется ух вот в питонке все красиво, типы нинужны
Hirrolot:
типы засоряют код в расте
F: Fn() -> Fut, Fut: Future<Output = ()>
типика лкод
можно было бы так записать: async Fn()
типы засоряют код в расте
F: Fn() -> Fut, Fut: Future<Output = ()>
типика лкод
можно было бы так записать: async Fn()
Forwarded from PLComp
Programming Paradigms for Dummies: What Every Programmer Should Know
Ликбез по основным принципам ЯП: классификация, вопросы представления состояния, конкурентности и параллелизма.
https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf
Ликбез по основным принципам ЯП: классификация, вопросы представления состояния, конкурентности и параллелизма.
https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf
Forwarded from hirrolot
T* - мутабельный указатель на мутабельные данные
const T* - мутабельный указатель на константные данные
const T* const - константный указатель на константные данные
T * const - константный указатель на мутабельные данные
const T* - мутабельный указатель на константные данные
const T* const - константный указатель на константные данные
T * const - константный указатель на мутабельные данные
Doge Shibu:
Можно сделать мутабельное ООП в ФП языке на IORef'ах
См. статью Олега
Roman Proskuryakov:
дай ссылку
Doge Shibu:
https://arxiv.org/pdf/cs/0509027.pdf
https://news.1rj.ru/str/rust_offtopic/250638
Можно сделать мутабельное ООП в ФП языке на IORef'ах
См. статью Олега
Roman Proskuryakov:
дай ссылку
Doge Shibu:
https://arxiv.org/pdf/cs/0509027.pdf
https://news.1rj.ru/str/rust_offtopic/250638
Telegram
Doge Shibu in rust_offtopic
https://arxiv.org/pdf/cs/0509027.pdf
Вот он здесь или на гитхабе. Пилится с бешеной скоростью одним чуваком из MIT и, кажется, является конкурентом Halide. Типа язык для написания очень производительного кода для параллельных вычислений и при этом дифференцируемый. Кажется, что на нём можно переписать тот же TensorFlow и он станет быстрее. И не заморачиваться со Swift.
учитывая, что в этой области сейчас как-то тухло, для для CUDA конкурентов нет, но она только на Nvidia, то что-то должно выстрелить в конце концов. Кто-нибудь смотрел, пробовал, запускал что-нибудь на этом Taichi?
https://github.com/yuanming-hu/taichi
учитывая, что в этой области сейчас как-то тухло, для для CUDA конкурентов нет, но она только на Nvidia, то что-то должно выстрелить в конце концов. Кто-нибудь смотрел, пробовал, запускал что-нибудь на этом Taichi?
https://github.com/yuanming-hu/taichi
GitHub
GitHub - yuanming-hu/taichi: My fork of https://github.com/taichi-dev/taichi
My fork of https://github.com/taichi-dev/taichi. Contribute to yuanming-hu/taichi development by creating an account on GitHub.
(RSDN)
Но вот этот момент хочу прокомментировать. К сожалению, все мало-мальски известные функциональные языки (Haskell, ML, Erlang, Lisp, Scala) страдают (или наслаждаются?) одним и тем же фатальным недостатком — ужасным и невыносимым уродством синтаксиса. Из-за чего даже просто пробовать их не возникает особого желания.
Правильный функциональный язык — на поверхностном уровне — ДОЛЖЕН мимикрировать под C/Pascal!!! Без этого базового требования рыночная доля функциональщины никогда не выйдет за маргинальные пределы, в которых она и находится последние 60 с хреном лет, начиная с изобретения лиспа.
Правильный язык должен быть простым и понятным для освоения, раскрывающим "функциональные глубины" постепенно. Более того, должна быть возможность писать хелловорлды и простые программы императивным способом. И это подтверждается реальностью: недофункциональные Lua, Python, JavaScript, Rust имеют гораздо большую популярность, чем их хардкорные братья.
Кроме того, язык должен "прикольным", вызывать интерес. Ублюдочные же закорючки в хаскеле или окамле вместо интереса вызывают неприязнь.
Но вот этот момент хочу прокомментировать. К сожалению, все мало-мальски известные функциональные языки (Haskell, ML, Erlang, Lisp, Scala) страдают (или наслаждаются?) одним и тем же фатальным недостатком — ужасным и невыносимым уродством синтаксиса. Из-за чего даже просто пробовать их не возникает особого желания.
Правильный функциональный язык — на поверхностном уровне — ДОЛЖЕН мимикрировать под C/Pascal!!! Без этого базового требования рыночная доля функциональщины никогда не выйдет за маргинальные пределы, в которых она и находится последние 60 с хреном лет, начиная с изобретения лиспа.
Правильный язык должен быть простым и понятным для освоения, раскрывающим "функциональные глубины" постепенно. Более того, должна быть возможность писать хелловорлды и простые программы императивным способом. И это подтверждается реальностью: недофункциональные Lua, Python, JavaScript, Rust имеют гораздо большую популярность, чем их хардкорные братья.
Кроме того, язык должен "прикольным", вызывать интерес. Ублюдочные же закорючки в хаскеле или окамле вместо интереса вызывают неприязнь.