Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Idris

Stran: 1 ... 14 15 [16] 17 18 ... 153
226
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 04. 12. 2022, 04:48:41 »
Něco, co bude demonstrovat, že HKT, nebo AGDT vám umožní toto a toto, což se v tomto jazyce bez AGDT dělá takto, a má to tato omezení, a proto je AGDT lepší.
U HKT je situace asi celkem jasná (aplikativní funktory a tak). U GADT je to zajímavější, umožní mi mít například toto:
Kód: [Vybrat]
data Vect : (len : Nat) -> (elem : Type) -> Type where
  Nil  : Vect Z elem
  (::) : (x : elem) -> (xs : Vect len elem) -> Vect (S len) elem
Podobně se dají udělat matice s dimenzí na úrovni typů. Navíc ty dimenze nemusí být známy v době překladu, klidně se můžou načíst ze vstupu/souboru. Tohle bez GADT nejde. Porovnání s C++, Javou nebo Rustem prostě je, že v těchto jazycích dimenze staticky ověřovat nejde (například při skalárním součinu nebo násobení matic).
Takhle to ale vysvětlovat nemůžeš. Pochop, lidi jsou blbý.
Všichni nejsou blbí. Pro ty úplně blbé to psát nebudu, vždy se předpokládá určitá znalost, na které lze stavět (třeba co je konkrétní typ — “Int”, “List Int” a “Int -> Int” jsou konkrétní kupříkladu). Nejsme ve školce.

Tohle znáš? http://naucte-se.haskell.cz/kapitoly

Lidi jsou blbý.
Kdysi jsem to viděl. Tady ale nešlo o vysvětlování, ale porovnání jazyků, ne? Na to jsem reagoval. Jinak samozřejmě ano, určitě je žádoucí mít někde polopatický popis GADT apod. Na ten úvod do Haskellu by šlo asi plynule navázat.

227
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 04. 12. 2022, 01:43:31 »
Něco, co bude demonstrovat, že HKT, nebo AGDT vám umožní toto a toto, což se v tomto jazyce bez AGDT dělá takto, a má to tato omezení, a proto je AGDT lepší.
U HKT je situace asi celkem jasná (aplikativní funktory a tak). U GADT je to zajímavější, umožní mi mít například toto:
Kód: [Vybrat]
data Vect : (len : Nat) -> (elem : Type) -> Type where
  Nil  : Vect Z elem
  (::) : (x : elem) -> (xs : Vect len elem) -> Vect (S len) elem
Podobně se dají udělat matice s dimenzí na úrovni typů. Navíc ty dimenze nemusí být známy v době překladu, klidně se můžou načíst ze vstupu/souboru. Tohle bez GADT nejde. Porovnání s C++, Javou nebo Rustem prostě je, že v těchto jazycích dimenze staticky ověřovat nejde (například při skalárním součinu nebo násobení matic).
Takhle to ale vysvětlovat nemůžeš. Pochop, lidi jsou blbý.
Všichni nejsou blbí. Pro ty úplně blbé to psát nebudu, vždy se předpokládá určitá znalost, na které lze stavět (třeba co je konkrétní typ — “Int”, “List Int” a “Int -> Int” jsou konkrétní kupříkladu). Nejsme ve školce.

228
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 04. 12. 2022, 01:11:12 »
Něco, co bude demonstrovat, že HKT, nebo AGDT vám umožní toto a toto, což se v tomto jazyce bez AGDT dělá takto, a má to tato omezení, a proto je AGDT lepší.
U HKT je situace asi celkem jasná (aplikativní funktory a tak). U GADT je to zajímavější, umožní mi mít například toto:
Kód: [Vybrat]
data Vect : (len : Nat) -> (elem : Type) -> Type where
  Nil  : Vect Z elem
  (::) : (x : elem) -> (xs : Vect len elem) -> Vect (S len) elem
Podobně se dají udělat matice s dimenzí na úrovni typů. Navíc ty dimenze nemusí být známy v době překladu, klidně se můžou načíst ze vstupu/souboru. Tohle bez GADT nejde. Porovnání s C++, Javou nebo Rustem prostě je, že v těchto jazycích dimenze staticky ověřovat nejde (například při skalárním součinu nebo násobení matic).

229
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 03. 12. 2022, 21:36:42 »
Tak jsme z toho jazyka nadšení. Je to hřích?
Smrtelný asi ne ;)

230
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 03. 12. 2022, 14:32:54 »
Ten clanek o Androidu je celkem vagni, nejsou tam absolutni cisla a co v tom Rustu bylo pridano. Nedokazu si z toho udelat smysluplny obrazek.

Prisib ze "ma naslapnuto" taky neberu.
Rust je ještě celkem mladý a vyvíjí se zatím dost živelně, dal bych mu ještě nějaký ten rok. Pak ho nahradí Carbon ;D

231
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 03. 12. 2022, 09:42:11 »
Z jiného soudku: https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html

Rust se uchytil i na Androidu: “As Android migrates away from C/C++ to Java/Kotlin/Rust, we expect the number of memory safety vulnerabilities to continue to fall. Here’s to a future where memory corruption bugs on Android are rare!”

233
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 03. 12. 2022, 09:17:29 »
Domnívám se, že hodně schází nějaký projekt, který by porovnával řešení mezi jazyky. Občas zkouším použít RosettaCode, ale je to dost zakopaný. Představoval bych si něco předžvejkanějšího. Něco, co bude demonstrovat, že HKT, nebo AGDT vám umožní toto a toto, což se v tomto jazyce bez AGDT dělá takto, a má to tato omezení, a proto je AGDT lepší. 1)



1) provokativně očekávám, že se nyní strhne lavina příspěvků, že jsem úplnej debil, ať se kouknu na tuhle a tuhle stránku, že to už přece dávno je :-)

Co třeba tyhle, pro začátek?

https://gist.github.com/CMCDragonkai/a5638f50c87d49f815b8
https://www.reddit.com/r/rust/comments/6seaf8/why_are_higher_kinded_types_requested_in_rust/
https://blog.rust-lang.org/2022/10/28/gats-stabilization.html
“as an endofunctor in the category of types” ;D

234
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 02. 12. 2022, 23:26:12 »
provokativně očekávám, že se nyní strhne lavina příspěvků, že jsem úplnej debil, ať se kouknu na tuhle a tuhle stránku, že to už přece dávno je :-)
Já o ničem takovém nevím, takže už jsme dva :)

235
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 02. 12. 2022, 14:50:08 »
Zajímavější metrika by byla jak často programy používají třeba free monády apod.
Co je na tom zajímavého. Volné monády (na rozdíl od těch normálních, jež jsou v podstatě triviální) jsou náročné na pochopení a přínos je dost sporný.

236
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 02. 12. 2022, 14:47:31 »
ale jinak ano, téměř všechny čistě funkcionální jazyky mají buď programy typu “IO Unit” (nebo “Effect Unit”), nebo něco na způsob Mercury (nebo oba způsoby zároveň).
To je spíš prostě jenom ukazatel toho, že programy potřebují dělat I/O.
Je to ukazatel, že to jinak nejde (kromě toho druhého způsobu, co má Mercury, ale ten jen příliš nepraktický).

237
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 02. 12. 2022, 11:38:36 »
jestli to předchozí sáhodlouhé opěvování monád […] opravdu bylo tak užitečné, jak se tvrdilo...
Samotné opěvování je k ničemu, ale jinak ano, téměř všechny čistě funkcionální jazyky mají buď programy typu “IO Unit” (nebo “Effect Unit”), nebo něco na způsob Mercury (nebo oba způsoby zároveň).

238
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 02. 12. 2022, 11:34:54 »
Není, ale je sofistikovanější, má HKT, typové třídy a pár dalších vychytávek. Asi se shodneme, že co nejvíce kontrol je lepší dělat při překladu než za běhu.
On ten pojem "sofistikovanost" nebo "síla" nebo "složitost" typového systému je velmi vágní
Není, to jde vyjádřit naprosto přesně matematicky, ve formální logice nebo teorii typů (což je v podstatě intuicionistická logika).

239
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 02. 12. 2022, 09:33:51 »
Haskell není tak složitý
Není, ale je sofistikovanější, má HKT, typové třídy a pár dalších vychytávek. Asi se shodneme, že co nejvíce kontrol je lepší dělat při překladu než za běhu. Různá rozšíření Haskellu pak mají i GADT apod.

240
Vývoj / Re:Je Rust jazyk budoucnosti?
« kdy: 01. 12. 2022, 18:55:26 »
Typový systém Rustu je primitivní, podstatně jednodušší než v případě již zmíněného OCamlu, Scaly nebo Haskellu (raději pomiňme Agdu, Coq a spol.). Nevím, jak se ten “mentální obzor” měří, ale co to je za vývojáře, kteří nepochopí ani typy Rustu?
Není to trochu odtržené od reality? IMO značná část vývojářů pracuje s typovými systémy jednoduššími než co má Rust... Navíc Rust typesystem je obecně trochu neobvyklý, i když třeba ne tak složitý jako Haskell (ownership/borrowing počítám jako součást type systemu).
Borrowing není součást typového systému, s typy vůbec nesouvisí. Java má například silnější typový systém (má navíc explicitní varianci typů), používá ji mnohem více vývojářů a o jejich “mentálním obzoru” si nedělám iluze.

Stran: 1 ... 14 15 [16] 17 18 ... 153