The schism between static and dynamic languages has been long and bitter. Static types provide performance, safety, and intelligent IDE assistance. Dynamic languages are simpler and make it easier to use polymorphism and metaprogramming. I observe that in dynamic application frameworks like Rails the essential uses of polymorphism and metaprogramming occur (or could occur) during an initialization phase of the program. For example, generating classes for an Object Relational Mapping. Accordingly I demonstrate a language that is dynamic during an initial phase and then static henceforth. Initialization is performed by a bounded partial evaluation that computes all types, instantiates all generics, and executes all metaprogramming. What remains after this partial evaluation is a statically type-checked runtime. A notable (but perhaps orthogonal) feature is that types are implicit, never being mentioned within the language syntax or error messages. This approach may unite much that is good in both static and dynamic programming.
Comece grátis
Suporte ao cliente 24/7
Nossa equipe de suporte ao cliente está disponível para ajudar 24 horas por dia, 7 dias da semana. Quem assina o Enterprise também pode contar com uma equipe de gerentes de conta dedicada e um SLA de tempo de atividade garantido.
© 2026 Vimeo.com, Inc. Todos os direitos reservados.
TermsPrivacySuas opções de privacidadeU.S State PrivacyCopyrightCookies