Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы

Охуенно выразительно и красиво. Спасибо статической типизации.

struct Node<T> { 
    prev: Raw<T>, 
    next: Link<T>, 
    elem: T, 
} 

type Link<T> = Option<Box<Node<T>>>; 

struct Raw<T> { 
    ptr: *mut Node<T>, 
} 

pub struct LinkedList<T> { 
     len: usize, 
     head: Link<T>, 
     tail: Raw<T>, 
} 
Рекомендовали: @kuzy000
#LEUCOH / @ninesigns / 3302 дня назад

;>>>
#LEUCOH/5C1 / @anonymous / 3302 дня назад
Охуенно выразительно и красиво. Спасибо статической типизации. data LinkedList a = EmptyLinkedList | LinkedList (LinkedList a) (LinkedList a) a
#LEUCOH/K9E / @l29ah / 3302 дня назад
Как там нмерный вектор написать (евклидового пространства)? Макросами? В крестах ебко очень.
#LEUCOH/F0M / @kuzy000 / 3302 дня назад

@kuzy000 let v = vec![1, 2, 3, 4, 5]; // v: Vec<i32>

#LEUCOH/GL4 / @ninesigns --> #LEUCOH/F0M / 3302 дня назад
@ninesigns где длина вектора в типе?
#LEUCOH/J42 / @anonymous --> #LEUCOH/GL4 / 3302 дня назад
@anonymous Это.
#LEUCOH/3MA / @kuzy000 --> #LEUCOH/J42 / 3302 дня назад

@anonymous чо дурак чтоле? из определения не понятно?

#LEUCOH/LPE / @ninesigns --> #LEUCOH/J42 / 3302 дня назад
@ninesigns так можно задекларировать без даты? покажи тогда.
#LEUCOH/HMT / @anonymous --> #LEUCOH/LPE / 3302 дня назад
@kuzy000 double vec[n]; // в крестах, держи
#LEUCOH/I91 / @l29ah --> #LEUCOH/F0M / 3302 дня назад
@l29ah Теперь передай это говно по значению.
#LEUCOH/78M / @kuzy000 --> #LEUCOH/I91 / 3302 дня назад
@l29ah типы, которые крестоёбы заслужили
#LEUCOH/S22 / @anonymous --> #LEUCOH/I91 / 3302 дня назад

@anonymous let a = vec![1; 10]; //десять единичек

#LEUCOH/BA2 / @ninesigns --> #LEUCOH/HMT / 3302 дня назад
@kuzy000 memcpy передал
#LEUCOH/238 / @l29ah --> #LEUCOH/78M / 3302 дня назад
@ninesigns всё-ясно.цуиь //и это программисты...
#LEUCOH/HLZ / @anonymous --> #LEUCOH/BA2 / 3302 дня назад
@l29ah Крутой.
#LEUCOH/SL9 / @kuzy000 --> #LEUCOH/238 / 3302 дня назад

@anonymous бля не унижай плз, я сам хотел раст похуесосить

вот этот код скомпилировался например и ебнулся в рантайме:

fn main() {
let a: [i32; 4] = [1, 2, 3, 4]; // As usual, the type annotation is optional.
println!("The fifth element is {}", a[4]);
}

thread '<main>' panicked at 'index out of bounds: the len is 4 but the index is 4', <anon>:3
playpen: application terminated with error code 101

#LEUCOH/V4Y / @ninesigns --> #LEUCOH/HLZ / 3302 дня назад
@ninesigns Бля не унижай плз λ> [1,2,3,4]!!4 *** Exception: Prelude.!!: index too large
#LEUCOH/CGA / @l29ah --> #LEUCOH/V4Y / 3302 дня назад

@l29ah чо, зависимых типов не завезли до сих пор?

#LEUCOH/XMQ / @ninesigns --> #LEUCOH/CGA / 3302 дня назад
@ninesigns Это же такой std::vector, нет? Для него можно определить векторное сложение, которое будет компилтаймово чекать, что вектора одной размерности?
#LEUCOH/X4I / @kuzy000 --> #LEUCOH/BA2 / 3302 дня назад
@ninesigns если там нет даже *такой* хуитки, то эта параша даже ненужнее чем жс
#LEUCOH/Z4O / @anonymous --> #LEUCOH/V4Y / 3302 дня назад
@ninesigns В ghc 8 завезли, но он ещё не релизнулся.
#LEUCOH/BT1 / @l29ah --> #LEUCOH/XMQ / 3302 дня назад
@anonymous Какой?
#LEUCOH/98R / @kuzy000 --> #LEUCOH/Z4O / 3302 дня назад

@kuzy000 можно написать расширение для компилятора, они похоже примерно на макросы ракетки, только раз в 10 уебищно выглядящее.

#LEUCOH/52A / @ninesigns --> #LEUCOH/X4I / 3302 дня назад
@kuzy000 На template haskell можно наговнякать))))
#LEUCOH/GHY / @l29ah --> #LEUCOH/X4I / 3302 дня назад
@l29ah >путает лист с туплом
#LEUCOH/0AK / @anonymous --> #LEUCOH/CGA / 3302 дня назад
@anonymous Для тупла нет операции обращения по индексу.
#LEUCOH/NXQ / @l29ah --> #LEUCOH/0AK / 3302 дня назад
@l29ah бля, попутал тупл с вектором, сорь
#LEUCOH/D3G / @anonymous --> #LEUCOH/NXQ / 3302 дня назад
@ninesigns етот баззворд тут не при чём
#LEUCOH/QS3 / @anonymous --> #LEUCOH/XMQ / 3302 дня назад
@ninesigns И раз в 10000000000 менее уебищно чем крестотемплейты. // Охуел от brainfuck-а на rust-макрах (РАСШИРЕНИЯХ КОМПИЛЯТОРА).
#LEUCOH/S19 / @kuzy000 --> #LEUCOH/52A / 3302 дня назад
@anonymous Ты прост не умеешь программировать на типах лох)
#LEUCOH/1LQ / @l29ah --> #LEUCOH/QS3 / 3302 дня назад
@kuzy000 Хотя хуево что они для такой хуиты уже нужны. // нужно boost для rust-а ждать // roost(er)
#LEUCOH/V7V / @kuzy000 --> #LEUCOH/S19 / 3302 дня назад
@kuzy000 ЭН МЕРНЫЙ ВЕКТОР ЭТО ЖЕ ТАК ВАЖНО КАК ЖЕ НАМ БЕЗ ЭН МЕРНОГО ВЕКТОРА ПРОВЕРЯЮЩЕГОСЯ В КОМПАЙЛТАЙМЕ
#LEUCOH/9BH / @l29ah --> #LEUCOH/V7V / 3302 дня назад
@l29ah Как?
#LEUCOH/ZLN / @kuzy000 --> #LEUCOH/9BH / 3302 дня назад
#LEUCOH/NX4 / @l29ah --> #LEUCOH/ZLN / 3302 дня назад

@l29ah ну а хуле ты думал, хочешь чтобы все хуесосы-дармоеды, занимающиеся теориями типов сразу работу потеряли?

#LEUCOH/FY5 / @anonymous --> #LEUCOH/9BH / 3302 дня назад
@l29ah Написал в крестах: auto c = a.cross(b); Твои действия с даблами?
#LEUCOH/POS / @kuzy000 --> #LEUCOH/NX4 / 3302 дня назад
@kuzy000 Сорь в крестовом выводе типов не секу.
#LEUCOH/3U4 / @l29ah --> #LEUCOH/POS / 3302 дня назад
@l29ah Суть в том, что простые выражения нужно будет разбивать на 10 statement-ов. С мемкопи и указателями.
#LEUCOH/XHI / @kuzy000 --> #LEUCOH/3U4 / 3302 дня назад

@l29ah Действительно, тут сложно понять, что тип переменной, хранящий результат выполнения функции, будет совпадать с типом возвращаемого значения.

#LEUCOH/S9S / @anonymous --> #LEUCOH/3U4 / 3302 дня назад
@kuzy000 И засирать скоуп говном одноразовым.
#LEUCOH/UVM / @kuzy000 --> #LEUCOH/XHI / 3302 дня назад

@kuzy000 и кстати не std::vector, там фиксированый размер

#LEUCOH/HVH / @anonymous --> #LEUCOH/X4I / 3302 дня назад
@kuzy000 Можно обмазать препроцессором и всё будет в шоколаде.
#LEUCOH/M79 / @l29ah --> #LEUCOH/XHI / 3302 дня назад

@l29ah и баги будет очень интересно разгребать с таким кодом

#LEUCOH/T6O / @ninesigns --> #LEUCOH/M79 / 3302 дня назад
@ninesigns Крестоблядям не привыкать.
#LEUCOH/ACM / @l29ah --> #LEUCOH/T6O / 3302 дня назад
@anonymous Этот размер можно как constexpr (или че там у них) достать?
#LEUCOH/IU2 / @kuzy000 --> #LEUCOH/HVH / 3302 дня назад
@l29ah Вкусно?
#LEUCOH/DD2 / @kuzy000 --> #LEUCOH/M79 / 3302 дня назад
#LEUCOH/OIV / @l29ah --> #LEUCOH/DD2 / 3302 дня назад
@l29ah было в openj
#LEUCOH/V76 / @anonymous --> #LEUCOH/M79 / 3302 дня назад
@anonymous Пруф или в макроассемблере.
#LEUCOH/U2U / @l29ah --> #LEUCOH/V76 / 3302 дня назад
@l29ah там деревянные игрушки по сравнению с
#LEUCOH/IN2 / @anonymous --> #LEUCOH/U2U / 3302 дня назад
> имбецил изобрел списачки
#LEUCOH/RJ2 / @komar / 3301 день назад

@komar еблан, это и есть список (на русте).

#LEUCOH/ONV / @ninesigns --> #LEUCOH/RJ2 / 3301 день назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.