Pkl: Apple's New JSON/YAML Killer (I actually want to use this...)

Theo - t3․gg17 minutes read

Apple introduced a configuration-focused programming language called Pickle, aimed at providing a mix of static and general-purpose languages for configuration needs, supporting features like validation through type annotations and arbitrary constraints. Pickle enables easy sharing of packages, supports multiple languages for embedding, and offers editor support with plugins for JetBrains editors, showcasing its innovative and efficient approach for streamlined development processes.

Insights

  • Pickle, Apple's new programming language, combines elements of static languages and general-purpose programming to create static configuration files with features like classes, functions, and validation through type annotations.
  • Pickle's innovative use of language servers for real-time error detection sets it apart, offering editor support, precise configuration handling, and cross-language compatibility, making it a promising tool for efficient coding and streamlined development processes.

Get key ideas from YouTube videos. It’s free

Recent questions

  • What is Pickle programming language?

    A new configuration-focused language by Apple, open-sourced.

Related videos

Summary

00:00

Apple introduces Pickle: versatile configuration-focused language

  • Apple has introduced a new configuration-focused programming language called Pickle, which is open-sourced.
  • Pickle aims to provide a blend of static languages like Json and general-purpose programming languages for configuration needs.
  • It allows for the creation of static configuration files in various formats and can be embedded into other applications.
  • Pickle includes features like classes, functions, conditionals, loops, and type annotations for defining configuration schemas.
  • Validation in Pickle is achieved through type annotations with optional constraints, ensuring data validity.
  • Constraints in Pickle can be arbitrary expressions, allowing for complex validation checks.
  • Pickle enables the sharing of packages through a package manager, facilitating easy code sharing and dependency management.
  • The language bindings in Pickle support multiple languages like Swift, Java, Kotlin, and Go for embedding Pickle in applications.
  • Pickle provides APIs for controlling evaluation at a low level, allowing for precise configuration handling.
  • Apple's involvement in open source, like Pickle, showcases their unexpected contributions and support for diverse programming languages and tools.

12:37

"Pickle: Innovative Editor Support for Efficient Coding"

  • The programming language Pickle offers editor support to enhance the writing experience, guiding users through configuration data input from templates. Instant feedback is provided for invalid values, with documentation readily accessible. The Intell plugin for JetBrains editors like WebStorm, GoLand, and PyCharm offers features such as autocomplete, go-to definition, and refactoring support, making Pickle a promising tool for efficient coding.
  • Pickle presents a unique approach by utilizing language servers to ensure accuracy and safety in configuration files, akin to JSON but with real-time error detection during editing. This innovative method eliminates the need for complex workarounds like embedding config files in programming languages for error checking, showcasing Pickle as a cutting-edge solution for streamlined development processes across various platforms.
Channel avatarChannel avatarChannel avatarChannel avatarChannel avatar

Try it yourself — It’s free.