我真的很想使用Dhall lang解决我在使用Github Terraform Provider时遇到的问题。
请参阅:https://github.com/etaty/example-dhall-terraform-github
但是,我以前从未使用过Dhall,实际上只有一个用例可以使用它。
我想调试在此github存储库中创建的错误,以创建github.tf文件。
我得到的错误如下:
Error: Invalid type for ❰List❱
63│ [] : Optional (List a)
64│
我已在下面的第63行中引用了该错误。我上网进行了很多研究,但是,我没有获得任何成功。
in let emptyListToOptional = \(a: Type) -> \(l: List a) ->
if (null a l) then [] : List Natural , Optional (List a)
else [l] : List Natural, Optional (List a)
in let build = \(config: T.Config) ->
let github_membership = map T.GithubUser T.TF/GithubMembership makeGithubMembership config.users
in let github_team = map T.Team T.TF/GithubTeam makeGithubTeam config.teams
in let github_team_membership = concat T.TF/GithubTeamMembership (map T.GithubUser (List T.TF/GithubTeamMembership) makeGithubTeamMembership config.users)
in {
github_membership = emptyListToOptional T.TF/GithubMembership github_membership
, github_team = emptyListToOptional T.TF/GithubTeam github_team
, github_team_membership = emptyListToOptional T.TF/GithubTeamMembership github_team_membership
}
in {
任何帮助将不胜感激!
答案 0 :(得分:3)
您链接到的代码已过期;您指定Optional
值的方式已更改。例如,线
in let emptyListToOptional = \(a: Type) -> \(l: List a) ->
if (null a l) then [] : List Natural , Optional (List a)
else [l] : List Natural, Optional (List a)
最初是(来自存储库)
in let emptyListToOptional = \(a: Type) -> \(l: List a) ->
if (null a l) then [] : Optional (List a)
else [l]: Optional (List a)
现在应该读
in let emptyListToOptional = \(a: Type) -> \(l: List a) ->
if (null a l) then None (List a)
else Some l