Щось дуже схоже, але використовуючи легку афінну логіку (LAL) замість EAL, кілька років тому намагалися здійснити Baillot, Gaboardi та Mogbil (ви можете знайти тут папери ). Я думаю, що їх робота може бути легко узагальнена до EAL, що є більш ліберальною системою.
Що стосується особливостей такої мови, то у вас є споконвічний поліморфізм (EAL - обмеження лінійної логіки другого порядку). Наскільки я знаю, ніхто не дивився на залежні типи, але я не бачу, чому вони не повинні працювати. Насправді, нетипізований EAL працює так само добре, як і введений EAL, оскільки його нормалізаційні властивості не залежать від типів.
Одним із наслідків є те, що в EAL ви можете використовувати довільну точку фіксування типів (див., Наприклад, цей інший документ від Baillot) та визначати типи даних у природно-рекурсивному стилі (наприклад,л я с т A : = n i l | А ∗ л я с т А), поряд із менш природною (з точки зору програмування) системою визначення F. Однак, за вищенаведеним зауваженням про нетипізовану нормалізацію, мова програмування, заснована на EAL, завжди буде тотальною , а це означає, що у вас не буде комбінатора виправлених точок, а використання рекурсивних типів не так природно, як можна було б очікувати. Наприклад, візьміть цифри Скотта: без рекурсивних визначень (заданих комбінатором фіксованої точки) важко виразити що-небудь поза операціями постійного часу з цим поданням цілих чисел. Тому вам все одно потрібно буде використовувати церковні цифри для ітерації (тобто,f o r циклі), за допомогою яких ви будете зазнавати принципового обмеження стратифікації легкої логіки (що надає їм властивості їх складності): ви не можете повторити функцію N a t → N a t що було визначено ітерацією (Н а т ось тип цілих чисел Церкви).
Приклад: з деяким "злом на цілі числа", це можна визначити в EAL d b l : N a t → N a t такий як д б л н--=2 н--- без використання ітерації. Тоді ви можете повторитид б л визначити експоненціальну функцію e x pяка, однак, сама по собі не може бути повтореною. Тому будь-яка мова програмування на базі EAL повинен мати якийсь механізм, який забороняє ітерацію певних дефінітонів; важко уявити, як таке обмеження не призведе до того, що програміст почуває себе незручно. У всякому разі, ніхто не забороняє вам спробувати і подивитися, що ви можете отримати!
У будь-якому випадку, якщо вас цікавить співвідношення оптимальної оцінки, EAL та легкої логіки загалом, пропоную вам поглянути на документи Копполи з початку до середини 2000-х.