KCL 基于约束的记录及函数语言开源项目

我要开发同款
匿名用户2022年08月03日
341阅读

技术信息

行业分类
云计算
开源地址
https://github.com/KusionStack/KCLVM
授权协议
Apache

作品详情

Kusio配置语言(KCL,KusioCofiguratioLaguage)是一种开源配置语言,主要用于 KusioStack 开放协同技术栈。并且KCL是一种基于声明性和面向对象编程(OOP)范式等概念,用于配置和策略场景的静态类型语言。

核心特性简单源于Pytho、Golag,融入函数语言特性吸收语句、表达式、条件、循环等语言元素类型和数据分离,Schema声明配置定义稳定强不可变约束编译时类型推导、类型检查Rule策略定义:以属性为中心的约束表达式、根据约束查询结果可测试:语言内置assert断言、prit打印和测试工具可扩展配置合并:编译时配置依赖图代换配置属性运算符:满足配置覆盖、合并、添加和删除等需求配置复用:丰富的内置数据结构和语法语义,轻松扩展同一份配置到不同场景工程化Schema单一继承和声明性模型复用和组装工具和API粒度的配置自动化“增删改查”丰富的内置函数和系统库顶层数据动态导入代码组织:模块和包插件系统:复用通用编程语言生态。OpeAPI模型支持:Swagger与Schema双向转换,KuberetesCRD转换为Schema高性能配合LLVM优化器、支持编译到本地代码和WASM等格式并高效执行安装&文档如何安装

从Githubreleases页面下载,并且将 {istall-locatio}/kclvm/bi 添加到您的环境变量中

快速开始

./samples/fib.k 是一个计算斐波那契数列的例子

schemaFib:1:it=-12:it=1-1:itvalue:itif<=1:value=1elif==2:value=1else:value=Fib{:1}.value+Fib{:2}.valuefib8=Fib{:8}.value我们可以通过执行如下命令得到YAML输出

kcl./samples/fib.kYAML输出

fib8:21文档

更多文档请访问 https://kusiostack.io

功能介绍

Kusion 配置语言 (KCL, Kusion Configuration Language) 是一种开源配置语言,主要用于 Kusion Stack 开放协同技术栈。并且 KCL 是一种基于...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论