Я пытаюсь разделить файл F # на несколько файлов, хотя в данный момент я застрял. Я попытался передать следующие строки из моего исходного Main.fs
в Ast.fs
. В Ast.fs
я положил:
...
type StartPosition = Position
type EndPosition = Position
type TokenPosition = TokenPosition of StartPosition * EndPosition
...
Затем я добавил
open Ast
на мой Main.fs
. При попытке собрать я теперь получаю следующую ошибку
This expression was expected to have type StartPosition but here has type Position
свыше sp
и ep
:
let parse_token token = pipe3 getPosition token getPosition (fun sp t ep -> (t, TokenPosition(sp, ep)))
Думаю, это не имеет особого смысла, так как StartPosition
и EndPosition
- это не более, чем typedefs для Position Что здесь не так?