Pytania otagowane jako type-checking

sprawdzenie, czy zmienna, wyrażenie lub wartość ma zadeklarowany typ

8
W jaki sposób komputer określa typ danych bajtu?
Na przykład, jeśli komputer 10111100zapisał jeden konkretny bajt pamięci RAM, w jaki sposób komputer może interpretować ten bajt jako liczbę całkowitą, znak ASCII lub coś innego? Czy dane typu są przechowywane w sąsiednim bajcie? (Nie sądzę, aby tak się stało, ponieważ spowodowałoby to użycie podwójnej ilości miejsca na jeden bajt.) …

2
Algorytmy sprawdzania typu
Zaczynam osobiste badanie bibliograficzne algorytmów sprawdzania typu i chcę uzyskać wskazówki. Jakie są najczęściej stosowane algorytmy sprawdzania typu, strategie i techniki ogólne? Szczególnie interesują mnie złożone algorytmy sprawdzania typu, które zostały zaimplementowane w powszechnie znanych, silnie statycznych językach, takich jak na przykład C ++, Java 5+, Scala lub inne. IE, …

1
Wnioskowanie typu na podstawie typów produktów
Pracuję nad kompilatorem dla języka konkatenatywnego i chciałbym dodać obsługę wnioskowania typu. Rozumiem Hindleya-Milnera, ale nauczyłem się teorii typów, więc nie jestem pewien, jak ją dostosować. Czy następujący system jest dźwiękowy i można go w sposób zdecydowanie wywnioskować? Termin jest literałem, kompozycją terminów, cytatem terminu lub prymitywem. e::=x∣∣ee∣∣[e]∣∣…e::=x|ee|[e]|… e ::= …

2
Jakie są potencjalne pułapki związane z minimalnym jądrem, które uruchamia kod zarządzany?
Załóżmy, że chcę zbudować system operacyjny oparty na bardzo małym macierzystym dolnym jądrze, które działa jako interpreter / środowisko wykonawcze kodu zarządzanego i większe górne jądro skompilowane do nienatywnego języka maszynowego (bajtowy kod Java, CIL itp.). Przykładami podobnych systemów operacyjnych byłyby Osobliwość i Kosmos . Jakie pułapki i wyzwania związane …


1
Dlaczego nie badamy więcej w kierunku gwarancji czasu kompilacji?
Uwielbiam wszystko, co jest czasem kompilacji i uwielbiam pomysł, że po skompilowaniu programu powstaje wiele gwarancji dotyczących jego wykonania. Mówiąc ogólnie, system typu statycznego (Haskell, C ++, ...) wydaje się dawać silniejsze gwarancje czasu kompilacji niż jakikolwiek system typu dynamicznego. Z tego, co rozumiem, Ada idzie jeszcze dalej w zakresie …

2
Zredukowanie produktów w HoTT do kodowania kościoła / Scotta
Więc idę z książką HoTT z niektórymi ludźmi. Stwierdziłem, że większość typów indukcyjnych, które zobaczymy, można zredukować do typów zawierających tylko zależne typy funkcji i wszechświaty, przyjmując typ rekurencji za inspirację dla typu równoważnego. Zacząłem szkicować, jak sądzę, że to zadziała i po pewnym potknięciu doszedłem do tego, co uważałem …

1
Zwięzły przykład wykładniczego kosztu wnioskowania typu ML
Zwrócono mi uwagę, że koszt wnioskowania o typ w funkcjonalnym języku, takim jak OCaml, może być bardzo wysoki. Twierdzenie jest takie, że istnieje ciąg wyrażeń taki, że dla każdego wyrażenia długość odpowiedniego typu jest wykładnicza względem długości wyrażenia. Wymyśliłem sekwencję poniżej. Moje pytanie brzmi: czy znasz sekwencję z bardziej zwięzłymi …


1
Jaki jest nieskomplikowany przykład statycznego sprawdzania typu, który jest zbyt konserwatywny?
W Concepts in Programming Languages John Mitchell pisze, że statyczne sprawdzanie typów jest z konieczności konserwatywne (zbyt surowe) z powodu problemu zatrzymania. Podaje jako przykład: if (complicated-expression-that-could-run-forever) then (expression-with-type-error) else (expression-with-type-error) Czy ktoś może udzielić nieskomplikowanej odpowiedzi, która naprawdę byłaby kwestią praktyczną? Rozumiem, że Java zezwala na dynamicznie sprawdzane rzutowania …
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.