Loyd
Потому что ты теперь знаешь, что футурка на лупе крутиться будет
Loyd
А не на тредпуле, например
պլհկ
и хорошо
պլհկ
я и хочу знать
Alex
т.е футурку не привязанную к люпу нельзя?
Alex
я то думал что можно сгенерить футурку и выполнить на любом люпе
Loyd
Абстракция жеж
Loyd
Loyd
Но не будешь же ты в либе отдельный луп держать
պլհկ
если мне нужны абстракции я на хаскеле напишу
պլհկ
а здесь я хочу знать чо происходит вообще
Loyd
Ты хочешь знать только концептуально
Loyd
Ты вообще без функций пишешь, так?
Alex
а футурку ты сам выполнишь
Loyd
Alex
я растомакака, заранее извиняюсь
Loyd
Ну, посмотри, например, на read в tokio
Loyd
Он знает, что будет на лупе крутиться
Loyd
Ну, tokio вообще внутри довольно костыльный в этом плане
Anonymous
Alex
Anonymous
да
պլհկ
зависит от бэкграунда
Loyd
Почти всегда при создании футурке ты будешь завязан на шедулер. Потому что тебе куда-то зарегистрировать нужно. С эвент лупом, например, это будет регистрация в epoll-очереди
Alex
я кодил по чуточке на Delphi, ruby, php, python, javascript, C, C++, Rust
պլհկ
если чуваки никогда сум тайпов не видели и патерн матчинга
պլհկ
то у них отваливается челюсть
Alex
мне из всех раст пока казался самым инопланетным. Следующий за ним C++
Alex
Loyd
Loyd
Это разная сложность же
Loyd
Вот в англе есть complicated и есть sophisticated
Loyd
Так вот кресты они именно complicated: там куча мусора, легаси, UB и вот это всё. Но концепций там немного
Loyd
В расте же наоборот
adam
Мне на самом деле понравилась инопланетная система в J, жаль что он не практичен
Loyd
Средняя макака крестовая знать не знает про алгтд и типажи
Loyd
Focus documentation primarily on tokio, rather than on tokio-proto.
Loyd
In the long run, most users should only need to depend on tokio to use the Tokio stack.
Anonymous
а где можно тупые вопросы по сишечке позадавать?
Loyd
В общем, крутой rfc
Loyd
Loyd
Или на лор пиздуй
Anonymous
`Undefined symbols for architecture x86_64:
"_isaac", referenced from:
_main in randtest-204b7a.o
"_randinit", referenced from:
_main in randtest-204b7a.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)`
adam
Anonymous
http://www.burtleburtle.net/bob/rand/isaacafa.html#challenge
я тут решил подзаработать (деньги нужны срочно) и поанализировать ксгпсч, но не получается собрать из сорцов(
Anonymous
оо, спсипки c:
Alex
Loyd
Berkus
Loyd
Либо версия либы слишком новая, а твоя либа зависит от старой
Berkus
да просто либы нету с этими символами, вручную линкуешь небось
Anonymous
вручную да
Anonymous
> gcc randtest.c rand.c
надо было просто вот так сделать : ^ )
Сережа
чем атд отличается от tagged union из си, ривольюционьеры?
Loyd
Loyd
А так-то tagged union это возможная реализация алгтд
Loyd
Для работы с алгТД тебе ещё паттерн матчинг нужен
Anonymous
Anonymous
это же фундаментально разные вещи
Anonymous
как?
Berkus
как?
struct TaggedUnion { int tag; union { ... } data; };
доня.
ну грубо говоря
struct Foo {
unsigned int tag;
union {
int int_data;
float float_data;
// ...
}
}
Anonymous
а
Loyd
tagged union можно
Loyd
алгтд нельзя
Vladimir
алгтд нельзя
В чем отличие алгтд с таггед юнианами?
Vladimir
Сопоставление с образцом это механизм работы с тд
Anonymous
Vladimir
tagged union можно
Vladimir
алгтд нельзя
Anonymous
алгебра та же, остальное не очень важно
Vladimir
Ну как я понимаю алгтд это просто более высокий уровень представления
Vladimir
Тогда как таггед юнионы скорее про конкретную реализацию
Vladimir
А по сути это одно и тоже