Итак, я читаю немного о разработке, в частности, алгоритмах, основанных на двухцветном исчислении конструкции, и я немного запутался. Я не понимаю, какова цель . Кажется, он идентичен за исключением того, что существует различие между неявными и явными аргументами для функций. В частности, я не вижу, как он позволяет писать вместо . Если мы примем систему глобальных определений, то
а также
.
Правила действительно позволяют ? Конечно, синтаксис есть, но я не вижу его в типизации. Я что-то пропустил? Я неправильно понимаю роль ?
Кроме того, не потеряно ли свойство слияния? Думаю, моя проблема в том, что я читаю о разработке, не читая много о до этого. Какая хорошая статья, которая представляет это и это один?
Изменить: Чтобы быть более точным, я спрашиваю, как принимается вместо когда правила для явного и неявного приложения идентичны по модулю sytnax , Я не вижу разницы между иправила для обоих кажутся одинаковыми.
Изменить: я не говорю о неявном исчислении конструкций, который является другой теорией и имеет разные правила для явных (приложение против поколения.)
Изменить: Хорошо, я думаю, что я начинаю понимать это, но я не буду отвечать на этот вопрос, пока я не уверен. По сути не проверяет тип, и фактически он просто разработан для непосредственно перед проверкой типа или выполнен как вторичная ответственность алгоритма проверки типа. По сути, эти неявные исчисления предназначены для языков интерфейса (пользовательского), которые разрабатываются в обычные (явные) исчисления или, по крайней мере, в явный фрагмент неявных исчислений перед проверкой типов. Если это так, то я думаю, что вижу общую картину. Может кто-нибудь, пожалуйста, подтвердите это?