ci sono delle lingue typesafe senza tipo? Per typesafe intendo i tipi controllati in fase di compilazione. Con typeless significo che i tipi non sono dichiarati.
So che è più facile di quanto sembri, forse anche impossibile, ma ad esempio se avessi codice come questo
foo = {
bar: 123;
}
In qualche linguaggio immaginario posso sapere che bar
è un int
e foo è una struct / object / class con 1 campo int.
Allo stesso modo se faccio questo
SomeFunc(v) {
printInt(v.bar);
}
E altrove lo faccio
SomeFunc(foo);
Tutto ciò sembra controllabile in fase di compilazione. Con un contesto sufficiente potrebbe persino essere controllabile tramite le unità di compilazione.
Ci sono lingue che hanno tentato questo? In pratica, è possibile dichiarare raramente i tipi e tuttavia essere ancora tipografici al momento della compilazione?