Dhall可编程的配置语言

联合创作 · 2023-09-28 10:30

Dhall是一种可编程的配置语言,可以理解成:JSON + functions + types + imports。


{- You can optionally add types

`x : T` means that `x` has type `T`
-}

let Config : Type =
{- What happens if you add another field here? -}
{ home : Text
, privateKey : Text
, publicKey : Text
}

let makeUser : Text -> Config = \(user : Text) ->
let home : Text = "/home/${user}"
let privateKey : Text = "${home}/.ssh/id_ed25519"
let publicKey : Text = "${privateKey}.pub"
let config : Config =
{ home = home
, privateKey = privateKey
, publicKey = publicKey
}
in config

let configs : List Config =
[ makeUser "bill"
, makeUser "jane"
]

in configs

 

浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报