İşlevselleştirme , üst düzey programları birinci dereceden programlara dönüştüren bir program dönüşümüdür. Fikir, bir program verildiğinde, sadece son derece çok sayıda lambda soyutlaması vardır, böylece her lambda'yı bir id ile değiştirebilirsiniz ve her fonksiyon uygulaması, o kimliğe dallanan bir uygulama prosedürüne çağrı ile değiştirilebilir. Bu bazen derleyici olarak işlevsel diller için kullanılır , ancak uygulanabilirliği, işlev bozukluğunun bir tam program dönüşümü olmasıyla sınırlıdır (programdaki tüm işlevleri statik olarak bilmeniz gerekir) ve bu nedenle sadece tüm program derleyicileri yararlanır o.
Bununla birlikte, Pottier ve Gauthier , GADT'leri içeren daha sofistike bir tipleme kullanarak polimorfik tipte bir işlev bozukluğu algoritmasına sahiptir. Şimdi, kodlamaları göz önüne alındığında, lambda veri tipine bir etiket olmayan, ancak daha üst düzey bir işlev içeren bir tümünü yakalama durumu eklemek mümkündür. Bu, modül bazında işlevsizleştirmek için kodlamalarını kullanabilmeleri gerektiği anlamına gelir.
Bunu yapan var mı ve beni bu fikri kullanarak bir derleyiciye yönlendirdi mi? (Oyuncak derleyicileri iyidir ve aslında tercih edilir.)