Можно переопределить значительные части среды выполнения на лету, такой как изменение Array
конструктор или определение undefined
. Не то, чтобы Вы должны, но это может быть мощной функцией.
А несколько менее опасная форма этого является добавлением вспомогательных методов для существующих объектов. Вы можете заставлять IE6 "исходно" поддерживать indexOf на массивах , например.
Это можно сделать следующим образом:
type ('a, 'b) foo = 'a * 'b
Параметры типа не картируются, поэтому вам необходимо предоставить их в виде кортежа как один параметр. Хорошим примером этого является модуль Hashtbl:
type ('a,' b) t
Тип хеш-таблиц из типа 'a набрать 'b.