Loyd
Хотя раньше вроде натыкался
Loyd
А, нашёл, Nat жеж
Anton
посоны
Anton
го кто нибудь из вас сделает лисп
Anton
на расте
Anton
го
պլհկ
уже сделали
Anton
минималистичный язык
Anton
уже сделали
сириусли?
պլհկ
=> crates.io
Anonymous
https://github.com/JunSuzukiJapan/macro-lisp
Alex
https://crates.io/crates/lisp ЛОЛ
Alex
а, фигня
պլհկ
https://news.ycombinator.com/item?id=15293578
Anton
моя жизнь уже не будет прежней)
Berkus
аррр
Berkus
что эта скотина от меня хочет error[E0277]: the trait bound `Category<'_>: diesel::Queryable<(diesel::types::Integer, diesel::types::Text, diesel::types::Text, diesel::types::Text, diesel::types::Text, diesel::types::Nullable<diesel::types::Timestamp>, diesel::types::Nullable<diesel::types::Timestamp>), _>` is not satisfied --> src/main.rs:214:10 | 214 | .load::<Category>(&connection) | ^^^^ the trait `diesel::Queryable<(diesel::types::Integer, diesel::types::Text, diesel::types::Text, diesel::types::Text, diesel::types::Text, diesel::types::Nullable<diesel::types::Timestamp>, diesel::types::Nullable<diesel::types::Timestamp>), _>` is not implemented for `Category<'_>`
Berkus
я понимаю что какой-то имплементации не хватает, но КАКОЙ
Anonymous
Queryable
Berkus
ну сделано вот так
Berkus
#[derive(Queryable)] // #[table_name = "categories"] pub struct Category { pub cat_id: i32, pub username: String, pub cat: String, pub reference: String, pub part: String, pub created_at: Option<NaiveDateTime>, pub updated_at: Option<NaiveDateTime>, }
Anonymous
https://github.com/rust-lang/rust/blob/master/src/librand/isaac.rs /// The ISAAC algorithm is generally accepted as suitable for /// cryptographic purposes, but this implementation has not be /// verified as such. Prefer a generator like `OsRng` that defers to /// the operating system for cases that need high security. а есть проверенный isaac генератор? а как мне самому проверить если нет? что тут имеется в виду под 'has not be verified as such'?
Vladimir
ИМХО, в расте это наследие из других языков
Anonymous
нет нужды
Vladimir
На самом деле это стремно было бы, еслиб был встроенный энам
Vladimir
встроенный в компилятор а не в стд либу
Vladimir
1 == 1 = Bool::True
Anonymous
ну он в стд либе и должен быть
պլհկ
pub use Bool::*
պլհկ
И вот они в топлевеле
Vladimir
ну он в стд либе и должен быть
Так про это и говорю, что они не могут заканчиваться стд либо, ибо все ифы по сути сводятся к bool (по крайней мере так первоначально было)
Vladimir
pub use Bool::*
да в этом совсем проблемы нет, проблема в том, что компилятор должен хендлить бул как-то поособенному
Vladimir
а насчет упрощения, то с этим enum bool нужно научить компилятор эмитить енамы с размером в 1 бит
Alex
bool все равно байт занимает, не?
Vladimir
в llvm он эмитится как i1
Vladimir
покрайней мере так было до мира
Маjко
Но занимает байт
Alex
значит можно как то пачку булов сделать? ))
Vladimir
ну блин тут зависит от бэкенда
Маjко
Я тут понял что не помню когда я последний раз использовал bool как тип, прям чтоб где-то хранить
Маjко
Всё на енамах
Vladimir
жиза
Vladimir
Имхо бул это по сути некая утилитарная вещь, с системой типов раста, ты работаешь с чем-то типа Option вместо
Vladimir
А вообще идея все примитивные типы выкинуть была бы крутой
Vladimir
еслиб прям все
Vladimir
i32 = I<32>
Маjко
Int<32> тогда уж
Vladimir
ну пусть так х)
Маjко
И тогда лучше вместо Int<32> Int<4>,
Vladimir
ну тут хз что лучше
Маjко
Было бы круто, размеры в битах это по сути архаизм
Vladimir
мне бы вообще было бы лучше Int<128,256> например
Vladimir
в пределах 128 256 чтоб был
Vladimir
а с битами можно вообще оставить только Int () = Int<0> bool = Int<1>
Vladimir
x)
Vladimir
а зачем его изначально вводили?
потому что минимальная единица измерения в программировании бит
Vladimir
и например в том же ллвм есть типы i1
Vladimir
+ это в первую очередь ориентировалось как платформонезависимая по размеру фигня
Маjко
Ну маппить типы раста на типы LLVM напрямую — именно та ошибка, которую сделал Керниганн с Ритчи при проектировании Си
Маjко
Архаизмы PDP-11 живы до сих пор
Vladimir
да никто не мапил
Маjко
Вообще все эти штуки довольно спорные
Vladimir
хз будь тут бул на енамах
Маjко
Синтаксис раста и так инопланетный и все плюются потому что не могут читать раст как привычную жавку
Vladimir
я б раст вообще посчитал каким-то гавном
Vladimir
+
Маjко
Да-да, в этом проблема
Маjко
я б раст вообще посчитал каким-то гавном
Крестовики бы ничего не поняли и начали бы орать про оверхэд хд
Vladimir
Я б первый орал
Маjко
Жаваскриптчиков вообще хватил бы удар — у них чем больше типов — тем медленнее код
Маjко
А тут базовые примитывы в stdlib
Маjко
енамами
Маjко
Уххх
Vladimir
Универсальность типов - это суперудобно для тех кто уже знаком с этим. Но блин это так "не канонично" после сишки
Vladimir
даже паскаль для меня был говном изза такой хуйни х)
Vladimir
я считал, что проверка границ "по дефолту" - говно х)