Size: a a a

Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce

2020 October 31

К

Коля🤔🎭 in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
Антон ⚙️
> линейными комбинаторами второго порядка

Ты про что?
map, scan, reduce и т.д.
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
то есть реально раст мог быть намного радикальнее
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
например, зачем нужен unsafe в таком виде, в котором он есть, если можно было сделать специальный subset C язык, по типу tiny C, который в compile time будет становиться С11-совместимым, давать тебе полный контроль над ассемблерными вставками и чтобы таким образом можно было интуитивно использовать FFI
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
в zig они наверное круто сделали сomptime, но мне непонятно почему если они уже решили тянуть за собой llvm, почему нет возможности эмиттить llvm ir в comptime?
источник

А⚙

Антон ⚙️ in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
badtrousers
например, зачем нужен unsafe в таком виде, в котором он есть, если можно было сделать специальный subset C язык, по типу tiny C, который в compile time будет становиться С11-совместимым, давать тебе полный контроль над ассемблерными вставками и чтобы таким образом можно было интуитивно использовать FFI
Звучит шизофренично
источник

А⚙

Антон ⚙️ in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
badtrousers
в zig они наверное круто сделали сomptime, но мне непонятно почему если они уже решили тянуть за собой llvm, почему нет возможности эмиттить llvm ir в comptime?
Технически ты вроде можешь это делать в zig в comptime
источник

А⚙

Антон ⚙️ in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
badtrousers
map, scan, reduce и т.д.
Вообще-то это уже есть, посмотри доку итераторов
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
Антон ⚙️
Звучит шизофренично
я просто говорю, что unsafe мог быть намного радикальнее. и это существенно упростило бы жизнь
источник

А⚙

Антон ⚙️ in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
badtrousers
я просто говорю, что unsafe мог быть намного радикальнее. и это существенно упростило бы жизнь
Чтобы его ещё сложнее было ревьюить?
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
Антон ⚙️
Вообще-то это уже есть, посмотри доку итераторов
если бы это было, то код на расте можно было сразу компилировать под cuda/opencl и выполнять на gpu
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
в расте как и в любом другом языке есть инструменты для higher-order functions
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
когда я говорю “линейные комбинаторы второго порядка” я имею это в виду линейного программирования. то есть опять–таки, еще одна вещь которую я очень хотел бы видеть в расте это что–то типа parallel блоков
источник

А⚙

Антон ⚙️ in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
Мороженку?
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
где у тебя полностью ограничивается любая последовательность синтаксиса как раз до уровня этих комбинаторов, как в футарке. писать программы становится несколько сложнее и данные для такого вычисления нужно готовить, ну чтобы они были были в векторизированной форме
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
но как upside к этому всему, компилятор мог бы гарантировать, что весь parallel–код при возможности будет выполнен на gpu
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
то есть я сейчас говорю про шейдеры, линейную алгебру, машинное обучение
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
let rs_step_asc [n] ((xs:[n]u32,is:[n]i32),bitn:i32) : ([n]u32,[n]i32) =
 let bits1 = map (\x -> (i32.u32 (x >> u32.i32 bitn)) & 1) xs
 let bits0 = map (1-) bits1
 let idxs0 = map2 (*) bits0 (scan (+) 0 bits0)
 let idxs1 = scan (+) 0 bits1
 let offs  = reduce (+) 0 bits0    -- store idxs1 last
 let idxs1 = map2 (*) bits1 (map (+offs) idxs1)
 let idxs  = map (\x->x-1) (map2 (+) idxs0 idxs1)
 in (scatter (copy xs) idxs xs,
     scatter (copy is) idxs is)

-- Radix sort - ascending
let rsort_asc [n] (xs: [n]u32) : ([n]u32,[n]i32) =
 let is = iota n
 in loop (p : ([n]u32,[n]i32)) = (xs,is) for i < 32 do
   rs_step_asc(p,i)
источник

C

Crush_my_love in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
источник

b

badtrousers in Rust/Verona LGBTTQQIAAPС++ Iran political tutorial dick measurement strikeforce
то есть вот как делается radix sort в futhark, вы понимаете логику?
источник