Pytania otagowane jako type-systems

system typów to zbiór reguł, które przypisują właściwość o nazwie typ do różnych konstrukcji - takich jak zmienne, wyrażenia, funkcje lub moduły - z których składa się program komputerowy.

10
Czy powinniśmy definiować typy dla wszystkiego?
Ostatnio miałem problem z czytelnością mojego kodu. Miałem funkcję, która wykonała operację i zwróciła ciąg reprezentujący identyfikator tej operacji do przyszłego odwołania (trochę jak OpenFile w Windows zwracający uchwyt). Użytkownik użyje tego identyfikatora później, aby rozpocząć operację i monitorować jej zakończenie. Identyfikator musiał być ciągiem losowym ze względu na obawy …
141 type-systems 



16
Jak przechowywać „nieznane” i „brakujące” wartości w zmiennej, zachowując różnicę między „nieznanymi” a „brakującymi”?
Rozważ to pytanie „akademickie”. Zastanawiałem się od czasu do czasu, aby uniknąć NULL-ów i jest to przykład, w którym nie mogę znaleźć zadowalającego rozwiązania. Załóżmy, że przechowuję pomiary tam, gdzie czasami wiadomo, że pomiar jest niemożliwy (lub jego brak). Chciałbym przechowywać tę „pustą” wartość w zmiennej, unikając NULL. Innym razem …


14
Kiedy testowanie typu jest OK?
Zakładając język z pewnym nieodłącznym rodzajem bezpieczeństwa (np. Nie JavaScript): Biorąc pod uwagę metodę, która akceptuje a SuperType, wiemy, że w większości przypadków, w których możemy ulec pokusie przeprowadzenia testów typu w celu wybrania akcji: public void DoSomethingTo(SuperType o) { if (o isa SubTypeA) { o.doSomethingA() } else { o.doSomethingB(); …


3
Co to jest system typów?
tło Projektuję język jako projekt poboczny. Mam do tego działający asembler, analizator statyczny i maszynę wirtualną. Ponieważ mogę już skompilować i uruchomić nietrywialne programy z wykorzystaniem infrastruktury, którą zbudowałem, pomyślałem o wygłoszeniu prezentacji na moim uniwersytecie. Podczas mojej rozmowy wspomniałem, że maszyna wirtualna zapewnia system typów, zapytano: „Do czego służy …


8
Jakie są zalety bezpieczeństwa systemu typu?
W JavaScript: Dobre części Douglasa Crockforda wspomina w swoim rozdziale dotyczącym dziedziczenia: Inną zaletą klasycznego dziedziczenia jest to, że obejmuje specyfikację systemu typów. To głównie uwalnia programistę od konieczności pisania jawnych operacji rzutowania, co jest bardzo dobrą rzeczą, ponieważ podczas rzutowania tracone są zalety bezpieczeństwa systemu typów. Przede wszystkim, czym …


5
Dlaczego Java nie wprowadza wnioskowania?
Zawsze zastanawiałem się, dlaczego Java nie korzysta z wnioskowania o typie, biorąc pod uwagę, że język jest tym, czym jest, a jego maszyna wirtualna jest bardzo dojrzała. Google's Go jest przykładem języka z doskonałym wnioskowaniem na temat tekstu i ogranicza liczbę operacji pisania. Czy jest jakiś szczególny powód, dla którego …

2
Dlaczego (a dlaczego nie) typy egzystencjalne są uważane za złą praktykę w programowaniu funkcjonalnym?
Jakich technik mogę użyć, aby konsekwentnie refaktoryzować kod, usuwając zależność od typów egzystencjalnych? Zazwyczaj są one używane do dyskwalifikacji niepożądanych konstrukcji twojego typu, a także do umożliwienia konsumpcji przy minimalnej wiedzy na temat danego typu (przynajmniej tak rozumiem). Czy ktoś wymyślił prosty, spójny sposób na usunięcie polegania na nich w …


6
Dlaczego wnioskowanie typu jest przydatne?
Czytam kod znacznie częściej niż piszę kod i zakładam, że większość programistów pracujących nad oprogramowaniem przemysłowym to robi. Zakładam, że zaletą wnioskowania typu jest mniejsza szczegółowość i mniej napisany kod. Ale z drugiej strony, jeśli czytasz kod częściej, prawdopodobnie będziesz chciał kodu czytelnego. Kompilator określa typ; istnieją na to stare …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.