首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏后端云

    Starlark语言

    run starlark 有了上面的知识,可以开始了解Go写的Starlark语言的解释器了。 https://github.com/google/starlark-go 进入starlark交互界面 [root@localhost ~]# go get -u go.starlark.net/cmd /starlark [root@localhost ~]# starlark Welcome to Starlark (go.starlark.net) >>> 直接运行starlark脚本 [root 脚本嵌入Go代码 下面的内容是在Go代码中嵌入了starlark脚本,可以看到Go的main方法不仅执行了starlark脚本,还获取了starlark的函数并在Go中调用starlark函数和给starlark & Go & Bazel 上面的章节都是单单Starlark语言,比较容易入门,有了一点点python语法就可以很快上手Starlark语言和运行Starlark语言。

    1.9K30编辑于 2022-11-25
  • 来自专栏灰子学技术

    Envoy编译篇:Starlark语言

    bazel的编译中使用了Starlark语言,这种语言类似于python语言,详细内容可以参考 :https://docs.bazel.build/versions/4.2.1/skylark/language.html 一、Starlark语言简介: 语法格式如下所示: load(":foo.bzl", "var", "fct") # loads `var`, and `fct` from `. 二、envoy里面的例子 Envoy里面的WORKSPACE里面就使用了Starlark语言,如下所示: $ pwd /Users/XXXX/envoy $ cat WORKSPACE workspace

    1.1K10编辑于 2022-03-29
  • 来自专栏Golang语言社区

    Starlight:帮助Python代码在Go中运行的工具

    Starlight wraps google’s Go implementation of the starlark python dialect (most notably found in the For the purposes of this article, to avoid confusion between starlight (my package) and starlark (the Starlight is a wrapper on top of that, which makes it so much easier to use starlark-go. you want to get information out of starlark and into Go. Passing an *http.Request into a starlark script?

    3.2K30发布于 2018-12-26
  • 来自专栏01ZOO

    golang with script

    比如 starlark-go 文档中认为用 go 实现 vm 效率并没有优势,但是目前 starlark-go 的实现也是 vm (docs 比较陈旧,代码已经是 vm 实现了) 扩展 使用上面点任何一种内核实现 ,形成了 starlark-go-lib, 在这个包里面,我提供了类似 gopher-luar 的基础设施,使得给 starlark-go 做一个第三方包变得极其容易,比如下面的例子, 使用很简单的代码就给 starlark-go 提供了 http 等很多第三方包: func InstallAllExampleModule(d starlark.StringDict) { for _, v := range 最终使用示例如下: [20211021205013.png] 更多 gopher-luar 和 starlark-go-lib 已经把在 gopher-lua 和 starlark-go 中使用 go 当然可以做得更好,我们可以支持类似 import 的语句,自动下载第三方包,并作语法分析,生成到 gopher-lua 和 starlark-go 中作为第三方包,逻辑上并不困难。

    3.7K170发布于 2021-10-21
  • 来自专栏Rust语言学习交流

    【Rust日报】2021-04-09 tokio 计划发布基于 io-uring 的新运行时

    https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md Starlark -- Facebook 用 Rust 重新实现了 Starlark 这门编程语言 Starlark 是 Google 开发的类似于 Python3 的一门编程语言,主要用在 Google 自己的构建工具 Starlark 目前有三种实现,一种是 Go,一种是 Java,另外一种就是现在这个项目,使用 Rust 实现。Rust 的初版是 Google 实现的,现在给了 Facebook。 链接:https://developers.facebook.com/blog/post/2021/04/08/rust-starlark-library/ Github: https://github.com /facebookexperimental/starlark-rust robusta - 一个方便生成 JNI 交互代码的库 有了他就可以避免写那些繁琐冗长的 Java JNI 函数名了!

    1.2K10发布于 2021-04-22
  • 来自专栏后端云

    扩展 Bazel 的构建语言

    在学习更高级的概念之前,先了解以下几个知识点: 了解 BUILD 和 .bzl 文件中使用的 Starlark 语言。 宏和规则(Macros and rules)。 Starlark 语言 参考 https://www.backendcloud.cn/2022/07/01/bazel-starlark/ 宏和规则(Macros and rules) 宏是实例化规则的函数

    2.2K10编辑于 2022-11-25
  • 来自专栏云云众生s

    告别配置复杂性:领域特定语言(DSL)能帮你吗?

    过去几年涌现出大量旨在生成配置的领域特定语言 (DSL),即配置语言:HCL,Dhall,Jsonnet,Starlark,CUE,Nickel,KCL,Pkl,以及其他。我敢肯定至少有15种。 事实上,其中一些语言最初是为特定工具创建的,例如 Terraform 的 HCL,Bazel 的 Starlark Bazel,Nix 包管理器的 Nickel Nix 包管理器,以及 KusionStack Starlark 是一种可嵌入的 Python 方言,对于熟悉 Python 的人来说很熟悉。Jsonnet 是JSON 的超集。Nickel 中的类型是可选的。Pkl……等等。 } ] } ] } } } } Starlark deployment configuration deployment = make_deployment() def main(ctx): """Main entry point for Starlark

    54010编辑于 2025-02-19
  • 来自专栏云云众生s

    2024年Kubernetes配置

    Typescript, JavaScript, Python, Java, Go): 4200 个星标 Tanka(jsonnet): 2300 个星标 Kapitan(多语言): 1800 个星标 Ytt(starlark 另一方面,GPPL 工具可能比受限的方言(如 Starlark)更受欢迎,Starlark 最近似乎在较少的新的工具中使用。

    36910编辑于 2024-08-02
  • 来自专栏后端云

    一步步学写Bazel lib&rules (1) - Bazel官方基础库简单浏览

    = struct( array_literal = _array_literal, quote = _quote,)language-python复制代码 array_literal将starlark paths.bzl Skylib有相当的内容是paython基础库的starlark重新实现。paths.bzl就是os.path的重新实现。

    60920编辑于 2022-11-25
  • 来自专栏小白AI.易名

    [Bazel]自定义命令行编译标志

    2 背景 Starlark Configurations 是 Bazel 的 API,用于自定义项目的构建方式。 使用 Starlark Configurations 可以让你: 定义项目自己的编译标志,而不再需要 --define 对于规则,可以实现默认的编译配置 不像传统的 --cpu 、--copt 、--compilation_mode

    3K40发布于 2020-08-27
  • 来自专栏Ethereum

    Kurtosis:构建本地开发网络

    一、Kurtosis 核心价值Kurtosis 是一款基于 Starlark 脚本语言的临时化包执行工具,专为开发者打造零配置的应用程序测试环境。

    34400编辑于 2025-03-12
  • 来自专栏云云众生s

    简化Kubernetes开发:你的工具指南

    Tilt 使用称为 Starlark 的 Python 方言的 Tiltfile 进行配置。Tiltfile 是 Tilt 使用的配置文件,用于定义在开发过程中如何构建、部署和管理应用程序。 限制 采用 Tilt 可能需要额外的学习,特别是对于不熟悉 Starlark Python 方言的开发人员。了解并编写 Tiltfile 可能对于没有这种语言经验的人来说有挑战性。 由于 Tilt 使用 Starlark 作为其配置语言,它可能不提供与使用广泛采用的 YAML 等广泛采用的配置格式的其他工具相同的灵活性和广泛的语言支持。

    61610编辑于 2024-03-28
  • 来自专栏深度学习与python

    Airbnb从Buck 迁移到 Bazel,大幅改善开发者体验

    Bazel 和 Buck 有一些相似之处,包括相似的目录结构和命令行调用,最重要的是使用相同的配置语言 Starlark,这在某种程度上简化了构建配置的迁移。

    32410编辑于 2024-02-29
  • 来自专栏架构狂人

    谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”

    负责高度定制版本的工具,如 pylint 和 black; 为 pybind11 做出贡献,并维护 C++ 集成工具; 开发和维护 Python 的构建系统规则,包括付出巨大努力将 Python 规则转移到纯 Starlark

    24910编辑于 2024-04-30
  • 来自专栏深度学习与python

    谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”

    负责高度定制版本的工具,如 pylint 和 black; 为 pybind11 做出贡献,并维护 C++ 集成工具; 开发和维护 Python 的构建系统规则,包括付出巨大努力将 Python 规则转移到纯 Starlark

    33110编辑于 2024-05-06
  • 来自专栏深度学习与python

    Uber 容器化 Apache Hadoop 基础设施的实践

    新系统利用了以下 3 个概念: 针对.xml 和.properties 文件的 Jinja 模板,与集群无关 Starlark 在部署前为不同类别 / 类型的集群生成配置 节点部署期间的运行时环境变量( 磁盘挂载、JVM 设置等)注入 图 7:Starlark 文件定义不同集群类型的配置 我们将模板和 Starlark 文件中总共 66,000 多行的 200 多个.xml 配置文件减少到了约 4,500

    71310发布于 2021-12-01
  • Makefile 源码编译系统详解

    跨平台 需要手动处理 优秀(生成器模式) 优秀 依赖管理 基本 较好 优秀 构建速度 快 中等(生成+构建) 快(增量构建优秀) 语法 自己的语法 CMakeLists.txt Python-like/Starlark

    16510编辑于 2026-02-02
  • 来自专栏新智元

    谷歌突破2万亿美元里程碑,却被曝裁掉整个Python团队?PyTorch之父怒批离谱

    - 我们开发并维护了Python的构建系统规则,包括一个重大项目,即将Python规则完全迁移到Starlark代码,使其不再依赖于Blaze/Bazel的核心引擎。

    29410编辑于 2024-05-06
  • 来自专栏Rust 编程

    【五万言】Rust 2022 生态版图调研报告(下)

    starlark-rust : starlark 语言的 Rust 实现 Tensorflow, Envoy, Kubernetes, KubeVirt 等等大型项目都是用 Bazel 构建的,要参与开发这些项目或者基于这些项目做开发 Starlark 是一门配置语言,设计之初是为了作为 Bazel 的配置语言,Starlark语法类似 Python,但不是Python,保持语言类似于 Python 可以减少学习曲线,使语义对用户更加明显 与 Python 显著不同的地方在于,独立的 Starlark 线程是并行执行的,因此 Starlark 工作负载在并行机器上可以很好地伸缩。 starlark-rust[320] 是 Meta(原 facebook) 团队对 Starlark 语言的 Rust 实现。 : https://github.com/facebookexperimental/starlark-rust/ [321] KCL: https://github.com/KusionStack/KCLVM

    3.9K51编辑于 2023-03-06
  • 来自专栏AI科技评论

    总结 | 尹立博:Python 全局解释器锁与并发 | AI 研习社第 59 期猿桌会

    Starlark:这种方案并非去掉 GIL,而是一门兼容部分 Python 语法,并发执行字节码的新语言。它目前用于 Google Bazel 编译系统,我个人认为这是一个非常有意思的未来趋势。

    1.1K20发布于 2018-12-24
领券