Я хотел бы спросить, как []::[]
и []::[]::[]
концептуально интерпретируются в SML/NJ.Интерпретация [] :: [], [] :: [] :: [] в sml
Моя мысль:
Я думал, что []::[]
бы генерирует ошибку или генерирует пустой список, но на самом деле он генерирует val it = [[]] : 'a list list
.
После того как я знаю, что []::[]
генерирует [[]] : 'a list list
, я думал, что []::[]::[]
будет генерировать [[[]]] : 'a list list list
, но на самом деле он генерирует [[],[]] : 'a list list
Вы знаете, как тип '::' оператора и его ассоциативность? – Bergi
Возможно, вы захотите попробовать '([] :: []) :: []', чтобы увидеть, как он отличается от '[] :: ([] :: [])' (и что вы пытались) – Bergi