Dhall 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Dhall 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: BSD
操作系统: 跨平台
收录时间: 2020-10-07
提 交 者: 卢温禾

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

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Dhall 的相关资讯

还没有任何资讯

Dhall 的相关博客

EmotiW 历年竞赛冠军数据及论文信息

date Baseline paper Champion paper Model & Feature Test_acc 2013 [1] [2] EmoNets 41.03 2014 [3] [4] HOG,DSIFT,DCNN 50...

尝试过把配置放在编程语言代码里吗?比YAML爽

本文将试着解释为什么大多数配置格式用起来都不太舒服,作者建议大家尝试使用一门真正的编程语言(例如,像 Python 这样的通用...

微服务的性能模式

本文主要讨论一些微服务系统所面临的关键性能挑战,同时也向大家介绍一些能够帮助大家解决问题的技术和模式。

Linux调度器 - deadline调度器

一、概述 实时系统是这样的一种计算系统:当事件发生后,它必须在确定的时间范围内做出响应。在实时系统中,产生正确的结果不...

微服务的性能模式

【编者按】本文作者 Rohit Dhall 是一名企业架构师,目前就职于 HCL 科技公司。 Rohit 拥有 18 年的 IT 工作经验,熟悉 [Jav...

Pedestrian Attributes Recognition Paper List

Pedestrian Attributes Recognition Paper List 2018-12-22 22:08:55 [Note] you may also check the updated version of thi...

SLAM综述|激光与视觉融合SLAM

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 SLAM包含了两个主要的任务:定位与构图,在移动机器人或者自动驾驶中...

Dhall 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
2 收藏
分享
返回顶部
顶部