hauleth

hauleth
2015-04-12 18:51

0 - https://en.wikipedia.org/wiki[...]ey%E2%80%93Milner_type_system
1 - pozwala na automatyczne rzutowanie między typami numerycznymi, i.e. char ↔ int
2 - można symulować przy pomocy interface{}, ale wtedy tracimy kontrolę nad typami
3 - podobne jak w Lispie, przykładowo err!(a -> b) może być interpretowane jako:

match a {
    Err(_) => b,
    _ => (), // można zostawić dodatkowy przecinek
}

4 - http://www.cs.rit.edu/~ats/books/ooc.pdf
5 - wielodziedziczenie
6 - poprzez klasy wirtualne
7 - zamiast tego jest typ Optional
8 - może być metoda o tej samej nazwie, ale musi być zaimplementowana dla różnych traitsów (interfejsów w Ruscie)
9 - GCC pozwala na VLA poprzez rozszerzenia kompilatora

Shalom

@winerfresh: aaa koszmar powraca! Hindley-Milner, teoria kategorii i inferencja typów kojarzy mi się tylko z Ocamlem i z Logiką ze studiów. Nie było chyba drugiego takiego przedmiotu z którego nikt nic nie rozumiał :D

hauleth

@Shalom: Patrząc, że pierwszy kompilator Rusta był w OCamlu, więc nic dziwnego, że jest mocno na nim wzorowany. Jednak jedno muszę przyznać - w Ruscie idzie to szybko zrozumieć.

Endrju

Co ma C++14 wspólnego z STL? (Ile można powtarzać to samo) A tym bardziej co ma wspólnego STL z VLA? Wtf?

hauleth

@Endrju: C++14 dla tego, że jak się uważnie przyjrzysz, to przy każdym języku podawałem wersję.

A jako VLA w tym przypadku podałem, że w bibliotece standardowej są zamienniki, które oferują takową funkcjonalność.

Endrju

@winerfresh: VLA to rozszerzenie kompilatora a nie biblioteki standardowej i nie ma z nią niczego wspólnego. Po drugie biblioteka standardowa C++ to nie jest żaden STL, ale to można powtarzać i powtarzać, a i tak nie słuchacie.

hauleth

@Endrju: skrót myślowy. STL jest biblioteką rozpowszechnianą razem z kompilatorem i jest domyślnie dostępna. Nigdzie nie powiedziałem, że VLA jest rozszerzeniem biblioteki standardowej, ale, że domyślnie jest dostępny zamiennik w postaci std::vector (C++) lub std::Vec (Rust), który symuluje VLA.

Endrju

A skasowałem komentarz, olać to. Ile można pisać jedno i to samo. Tylko proszę Cie o jedno: zajmij się tym swoim Rustem a nie szerzeniem nieprawidłowych informacji o C++.

hauleth

@Endrju: Wiesz, dla mnie wszystko co jest opisane w standardzie języka jest jego integralną częścią. A byś mi znów nie mówił, że szerzę kłamstwa to masz ostatni draft i sprawdź tabelę 95. Możesz się pluć o to do woli, ale pamiętaj wtedy by dużo pić, bo się jeszcze odwodnisz.