Nauczyłem się czegoś o implementowaniu typów zależnych, takich jak ten samouczek , ale większość z nich to implementacja tłumaczy. Moje pytanie brzmi: wydaje się, że implementacja kompilatora dla typu zależnego jest znacznie trudniejsza niż kompilator, ponieważ naprawdę można ocenić argumenty typu zależnego dla sprawdzania typu.
Więc
- Czy moje naiwne wrażenie jest właściwe?
- Jeśli ma rację, jakikolwiek przykład / zasoby dotyczące implementacji sprawdzanego statycznie języka obsługującego typ zależny?
ocamlopt
lub GHC :-) (