У меня определены следующие два пользовательских типа:
type noeud = Lettre of (char * bool * arbre_lex)
and arbre_lex = noeud list
Я могу легко создать arbre_lex
, который содержит элемент 1noeud
:
# let a = [ Lettre ('c', true, []) ];;
val a : noeud list = [Lettre ('c', true, [])]
Now how can I create an
arbre_lex
custom type that consists of 0noeud
elements?
Это просто создает пустой список, но он не имеет типа arbre_lex
...
# let b = [];;
val b : 'a list = []
И это похоже не работает:
# let c : arbre_lex = [];;
Error: Syntax error
Спасибо... Это действительно странно, я попробовал еще несколько раз, и теперь это сработало.. странно
Обновление: я не знаю, что случилось, но я как-то сделал что-то не так. Правильный способ действительно таков:
# let d : arbre_lex = [];;
val d : arbre_lex = []
Ваше последнее выражение печатает
val c : arbre_lex = []
здесь (ввод кода на новом верхнем уровне). Может источник ошибки в другом?