並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 43件

新着順 人気順

"language server protocol"の検索結果1 - 40 件 / 43件

  • Language Server Protocol の仕様 及び実装方法

    Language Server Protocol通称LSPの仕様と、各機能をどうやって実装したら良いかの指針を示します。 対象読者 * 言語処理系を実装する人/したい人 * Language Serverを実装する/したい人 * LSPに興味がある人、日本語のまとまった情報源を探している人 * Language Serverがエディタの裏でどのようなことをしているのか気になる人 本書で解説される機能は以下の通りです。 * Diagnostics (検査) * Completion (補完) * Inlay hint * Hover * Goto definition (定義へ移動) * Find references (参照を表示/移動) * Rename (名前変更) * Code actions * Code lens * Signature help * Command * Docu

      Language Server Protocol の仕様 及び実装方法
    • VSCodeでC#開発環境を充実させる「C# Dev Kit」正式リリース、ソリューションエクスプローラーやIntelliCodeなど提供

      VSCodeでC#開発環境を充実させる「C# Dev Kit」正式リリース、ソリューションエクスプローラーやIntelliCodeなど提供 C# Dev Kitは以下のような機能を主に提供します。 ソリューションエクスプローラビュー VSCodeの既存のワークスペースのビューと連動するソリューションエクスプローラビューを追加することで、プロジェクトの一元管理が容易になります。テンプレートを介して新しいプロジェクトやファイルをソリューションにすばやく追加できるようになり、ソリューションのすべてまたは一部を簡単にビルドすることもできます。 IntelliSense、シンタックスハイライト オープンソースのLSP(Language Server Protocol)ホストを搭載しており、IntelliSenseやシンタックスハイライト、リファクタリング、コードフォーマットなどの機能を提供します。

        VSCodeでC#開発環境を充実させる「C# Dev Kit」正式リリース、ソリューションエクスプローラーやIntelliCodeなど提供
      • Apple、コンフィグレーション生成用の静的型付き言語「Pkl」をオープンソースで公開、単一コードからJSONやYAML、XMLなどを生成

        Appleは、さまざまなコンフィグレーションファイルを生成するための静的型付言語「Pkl」(発音はPickle=ピックル)をオープンソースで公開しました。 ソフトウェアやクラウドサービスなどの設定に用いるコンフィグレーションファイルはどんどん複雑になってきており、利用者が望む詳細な設定を、一般的なコンフィグレーションファイルのフォーマットとして使われているJSONやYAML、XMLプロパティリストなどの形式で正確に記述することは難しくなってきています。 Pklはそうしたコンフィグレーションを正確かつ分かりやすく記述するために開発された、特定目的用のプログラミング言語だと説明されています。 Configuration-as-Codeを実現するための豊富な型やバリデーション機能、VSCodeやIntelliJ、NeoVimなどのコードエディタのプラグインを提供します。Language Serv

          Apple、コンフィグレーション生成用の静的型付き言語「Pkl」をオープンソースで公開、単一コードからJSONやYAML、XMLなどを生成
        • Visual Studio Codeの拡張機能互換「Eclipse Theia IDE」正式リリース。デスクトップ版とWebブラウザ版に両対応

          Visual Studio Codeの拡張機能互換「Eclipse Theia IDE」正式リリース。デスクトップ版とWebブラウザ版に両対応 Eclipse Foundationは、オープンソースで開発されている統合開発環境(IDE)「Eclipse Theia IDE」の正式リリースを発表しました。 Theia IDEはもともとVisual Studio Codeの対抗として、Eclipse Foundationが開発を行ってきた開発環境で、デスクトップアプリケーション版だけでなくWebブラウザ版も用意されています。 Exciting News! Theia IDE is now generally available! Read more: Press release https://t.co/K0Npfd9kNy Blog post https://t.co/5ntq6PW3MG#

            Visual Studio Codeの拡張機能互換「Eclipse Theia IDE」正式リリース。デスクトップ版とWebブラウザ版に両対応
          • GoConference2024の資料が集まるスレ #gocon

            これはサマリ(ここを更新していきます)情報提供(コメント)歓迎!! イテレータによってGoはどう変わるのか Dive into gomock Data Race Detection In Go From Beginners Eye Go1.21から導入されたGo Toolchainの仕組みをまるっと解説 Cleanup handling in Go Custom logging with slog: Making Logging Fun Again! Goにconst型修飾を期待しなくてよい理由 GoのLanguage Server Protocol実装、「gopls」の自動補完の仕組みを学ぶ バイナリを眺めてわかる gob encoding の仕様と性質、適切な使い方 Unified Diff 形式の差分から Go AST を構築して feature flag を自動計装する Mapのパ

              GoConference2024の資料が集まるスレ #gocon
            • アップル、新しいプログラミング言語「Pkl」をオープンソースで公開。コンフィグレーション生成用 | テクノエッジ TechnoEdge

              ITジャーナリスト/Publickeyブロガー。IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。 アップルは、さまざまなコンフィグレーションファイルを生成するための静的型付言語「Pkl」(発音はPickle=ピックル)をオープンソースで公開しました。 ソフトウェアやクラウドサービスなどの設定に用いるコンフィグレーションファイルはどんどん複雑になってきており、利用者が望む詳細な設定を、一般的なコンフィグレーションファイルのフォーマットとして使われているJSONやYAML、XMLプロパティリストなどの形式で正確に記述することは難しくなってきています。 Pklはそうしたコンフィグレーションを正確かつ分かりやすく記述するために開発された、特定目的用のプログラミング言語だと説明されています。 Configuration-as-Codeを実現するた

                アップル、新しいプログラミング言語「Pkl」をオープンソースで公開。コンフィグレーション生成用 | テクノエッジ TechnoEdge
              • Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp

                Ruby 3.3リリース! 新機能解説 Prism⁠⁠:エラートレラントな⁠⁠、まったく新しいRubyパーサ Prismは、Ruby 3.3.0にバンドルされた新しいライブラリで、プログラミング言語Rubyの新しいパーサであるPrismパーサのバインディングです。Prismはエラートレラント、移植性、メンテナンス性、高速性、効率性を考慮して設計されています。この記事では、Prismの歴史、設計、API、そして今後の課題について取り上げます。 使用方法 Rubyバインディングを通してPrismパーサを使うにはrequire "prism"をして、Prismモジュールのparseメソッド、または他のparse_*系のメソッドを呼んでください。次に例を示します。 require "prism" Prism.parse("1 + 2") parseメソッドは、パース結果のオブジェクトを返します。こ

                  Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp
                • いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab

                  Rubyをはじめとする「動的型付け」のプログラミング言語は、ソースコード中に型に関する記述が陽に出てこないことが特徴で、プログラムの実行前に(静的に)型検査をすることはありません。しかし、このようなプログラミング言語においても、大規模な開発における品質の向上や開発体験の改善、実行の高速化のために、静的な解析を活用しようという試みは多くなされてきました。この記事では、動的型付けの言語のための型検査の歴史を簡単に振り返って、現在私が開発しているRuby向けの型検査器Steepとその基盤となっている型記述言語RBSについて説明し、今後の展望を議論します。 著者:松本宗太郎さん(@soutaro) Rubyコミッター。大学院でRubyプログラムの型検査の研究に取り組み、修了後はスタートアップでWebアプリケーションの開発に従事。2017年から型検査ツールSteepの開発を始め、2019年からはRu

                    いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab
                  • GoのLanguage Server Protocol実装、 「gopls」の自動補完の仕組みを学ぶ

                    Go Conference 2024の資料です ※13枚目に誤解を招く表現がありました。Golandのバックエンドはgoplsではなく独自のものです。

                      GoのLanguage Server Protocol実装、 「gopls」の自動補完の仕組みを学ぶ
                    • Style Guide - Configuration Language | Terraform | HashiCorp Developer

                      The flexibility of Terraform's configuration language gives you many options to choose from as you write your code, structure your directories, and test your configuration. While some design decisions depend on your organization's needs or preferences, there are some common patterns that we suggest you adopt. Adopting and adhering to a style guide keeps your Terraform code legible, scalable, and m

                        Style Guide - Configuration Language | Terraform | HashiCorp Developer
                      • 2023年、Denoはこんなに進化していた ー Node.jsとの互換性強化、Deno.serve()、WebGPU…

                        2月3日、Denoは「Deno in 2023」と題した記事を公開した。昨年(2023年)一年間においてDenoがどのような進化を遂げたかを解説している。 2月3日、Denoは「Deno in 2023」と題した記事を公開した。昨年(2023年)一年間においてDenoがどのような進化を遂げたかを解説している。以下に内容を抜粋して紹介する。詳細は元記事を参照していただきたい。 Nodeとnpmとの互換性強化 Denoは2023年の改善を経て、Nodeの組み込みAPIをサポートし、npmモジュールの読み込みに対応した。これによりNodeとの互換性が向上し、既存のNodeプロジェクトをスムーズにDenoに移行できるようになった。 シンプルで高速なWebサーバー Deno.serve() Denoが導入したDeno.serve()関数により、Webサーバーの作成が大幅に簡略化された。イベントループ

                          2023年、Denoはこんなに進化していた ー Node.jsとの互換性強化、Deno.serve()、WebGPU…
                        • Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting

                          # Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting This slides are used at VS Code Conference Japan 2024 https://vscodejp.github.io/conference-2024/ (15 ~ 20 minutes) ## References: - Extension API | Visual Studio Code Extension API https://code.visualstudio.com/api - The Biome Tool Chain https://fosdem.org/2024/schedule/event/fosdem-2024-2563-the-biome-toolchain/ - Mo

                            Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
                          • 新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました | フューチャー技術ブログ

                            コアテクノロジーグループの山田です。 先日、新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました 🎉 このツールは弊社が公開しているPostgreSQL向けのSQLコーディング規約に基づき、SQL文をフォーマットするツールです。 弊社でのSQLフォーマッター開発の取り組み元々弊社ではuroboroSQL Formatter(以下uroboroSQL Formatterを旧版、uroboroSQL-fmtを新版と呼ぶ)というSQLフォーマッターを公開していました。旧版は 字句解析して得られたトークンを基にフォーマットするという設計になっていたため、SELECT句のエイリアス補完といった文法を考慮する必要のある機能の追加が困難Pythonで書かれておりVSCodeの拡張機能として動作させるのが難しいという課題を抱えており、それを解消するため新たなSQLフォーマッター

                              新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました | フューチャー技術ブログ
                            • GitHub - SilasMarvin/lsp-ai: LSP-AI is an open-source language server that serves as a backend for AI-powered functionality, designed to assist and empower software engineers, not replace them.

                              LSP-AI is an open source language server that serves as a backend for performing completion with large language models and soon other AI powered functionality. Because it is a language server, it works with any editor that has LSP support. The goal of LSP-AI is to assist and empower software engineers by integrating with the tools they already know and love not replace software engineers. A short

                                GitHub - SilasMarvin/lsp-ai: LSP-AI is an open-source language server that serves as a backend for AI-powered functionality, designed to assist and empower software engineers, not replace them.
                              • VueFes Japan 2023イベントレポート | gihyo.jp

                                10月28日に開催された「VueFes Japan 2023」のイベントレポートをダイジェストでお届けします。 なお、公式サイトのタイムテーブル内に、一部の講演の資料がアップロードされています。 オープニング 実行委員長・ユーザーグループ代表の川口和也氏から、挨拶がありました。 今回は4トラックでスピーカーは35名、コアチームの来日など充実した内容になっています。またオフラインでの開催は5年ぶりです(台風やコロナの影響で、2018年以来です⁠)⁠。 川口氏は、フェイス・トゥ・フェイスで開催できる嬉しさやスポンサーへの感謝を述べました。 Evan You氏によるキーノート 基調講演はVue.jsの作者であるEvan You氏。広い会場で立ち見もでるほどの盛況でした。Evan You氏は、台風やコロナで日本に来れなかったため、久々の来日とのことです。 Evan You氏はVue.jsとVite

                                  VueFes Japan 2023イベントレポート | gihyo.jp
                                • Neovim 0.10がリリース | gihyo.jp

                                  2024年5月16日、Vimの派生エディタNeovimの最新バージョンNeovim 0.10がリリースされた。 Neovim 0.10 What's New in Neovim 0.10 | Gregory Anders Neovimは、拡張性と使いやすさを重視したVim派生のテキストエディタ。オープンソースソフトウェアとしてGitHubで公開されているほか、Linux、Windows、macOS用のインストールパッケージも用意されている。 バージョン0.10には多くの新機能や大きな変更が含まれている。大きな変更点として、デフォルトのカラースキームが変更された。二分割画面でのアクセシビリティと美しさに大幅な向上があるという。元の(vimと同様の)カラースキームに戻すこともできる。 新しいNeovim 0.10デフォルトのカラースキーム また0.10では新しいデフォルトマッピングが追加されて

                                    Neovim 0.10がリリース | gihyo.jp
                                  • LSP概観|Language Server Protocol の仕様 及び実装方法

                                      LSP概観|Language Server Protocol の仕様 及び実装方法
                                    • Neovim の LSP を設定するための基本知識

                                      概要 LSP は定義ジャンプやメソッド名の補完など言語ごとの編集機能をサポートするための仕組みであり、現代的なテキストエディタにとって非常に重要な機能のひとつになっています。Neovim も組み込みで LSP のサポートを備えていますが、思い通りに設定を行えるようにするためにはそれなりの知識が必要になります。 一方、LSP の設定例などについては比較的多く見つかるものの、それ以前の基本知識についてまとまった資料は意外と少ないように感じられます。 また、設定の紹介においてもプラグインの使用を前提とした設定方法の紹介が多いため プラグインがないと LSP は使えないのではないかのように思いこんでしまう どのプラグインをなんのために入れているのかわからなくなる といった問題を感じることもあります。 そこで、この記事では前半でそもそも LSP とは何であるかという部分を説明し、後半では Neovi

                                        Neovim の LSP を設定するための基本知識
                                      • Prism in 2024

                                        In Ruby 3.3.0, a new standard library was added to CRuby called Prism. Prism is a parser for the Ruby language, exposed as both a C library (optionally usable by CRuby) and a Ruby library (usable as a Ruby gem). The Prism project represents many person-years worth of effort, and is the result of a collaboration between Shopify, CRuby core contributors, other Ruby implementation authors, and Ruby t

                                          Prism in 2024
                                        • Emacs 29.1 Released

                                          Today is a great day for Emacs - Emacs 29.1 has just been released1! Every Emacs release is special, but I haven’t been so excited about a new version of Emacs in ages. Why so? Reason #1 - pure GTK front-end (a.k.a. pgtk). This also means that now Emacs supports natively Wayland. Which in tern means that it’s easier than ever to run Emacs in Windows’s WSL. This is huge! Reason #2 - built-in suppor

                                          • Vimmer が紹介する「いぶし銀」なプラグインまとめ(後編)

                                            この記事は Vim 駅伝 の 08/21 の記事です。 前回の記事は kyoh86 さんによる、 08/18 の「ddu.vimの基本設定概観」という記事でした。 次回は 08/23 に投稿される予定です。 はじめに 本記事は、いぶし銀プラグイン企画の結果発表の後編です。 Vimmer が実際に普段の編集を行う上で、なくてはならないと感じるプラグインを紹介していきます。前編は以下の記事を参照してください。 後編では、94件の回答のうち前編で紹介しなかったもの全てを紹介します。 全部で52個もあるため、プラグインの大まかな分類ごとに分けて紹介しています。一度に全て読むのは大変ですから、「目次」から気になるカテゴリを選んで読み進めることをおすすめします。 紹介フォーマット 前編の記事同様、各プラグインには以下の項目を設けています。 プラグイン名 プラグインへのリンク 概要 (一応)紹介記事なの

                                              Vimmer が紹介する「いぶし銀」なプラグインまとめ(後編)
                                            • Visual Studio Code January 2024

                                              Version 1.87 is now available! Read about the new features and fixes from February. January 2024 (version 1.86) Update 1.86.2: The update addresses these issues. Update 1.86.1: The update addresses these issues. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the January 2024 release of Visual Studio Code. There are many updates in this ver

                                                Visual Studio Code January 2024
                                              • Rust製TypeScript Linterにおける型情報Lintルールの模索

                                                Rust製TypeScript LinterであるBiome, Oxc, deno_lintなどは、TypeScriptの型情報を利用するLintルール(型情報Lintルール)[1]を持っていません。本記事では、その背景から、Rust製TypeScript Linterが型情報Lintルールを実現するための手段についてまとめます。 筆者のTSKaigi 2024で利用した下記登壇資料に情報を追加し、文章化したものです。 要約すると、以下になります。 Rust製TypeScript Linterは、安全性をさらに高めてくれるtypescript-eslintの型情報Lintルールが欲しいが、パフォーマンスを犠牲にしたくない。TypeScript Compilerに頼らずに実現するには、Alternative TypeScript Compilerや型推論が必要。型情報Lintルールの実装を型

                                                  Rust製TypeScript Linterにおける型情報Lintルールの模索
                                                • Deno in 2023

                                                  In 2023, Deno shifted into high gear with respect to Node/npm compatibility and performance work, while continuing to move towards our goal of radically simplifying web development. Here’s a summary of what changed in 2023: Deno now understands package.json files and has the ability to import built-in Node modules using node: specifiers like node:fs and node:crypto. Read more. A new web server API

                                                    Deno in 2023
                                                  • Stripe's monorepo developer environment - Made of Bugs

                                                    I worked at Stripe for about seven years, from 2012 to 2019. Over that time, I used and contributed to many generations of Stripe’s developer environment – the tools that engineers used daily to write and test code. I think Stripe did a pretty good job designing and building that developer experience, and since leaving, I’ve found myself repeatedly describing features of that environment to friend

                                                    • Visual Studio Code February 2024

                                                      Version 1.87 is now available! Read about the new features and fixes from February. February 2024 (version 1.87) Update 1.87.1: The update addresses these issues. Update 1.87.2: The update addresses this security issue. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the February 2024 release of Visual Studio Code. There are many updates in

                                                        Visual Studio Code February 2024
                                                      • M-x Reloaded: The Second Golden Age of Emacs

                                                        The people who live in a Golden Age usually go around complaining how yellow everything looks. – Randall Jarell Yesterday I wrote that I think Emacs is currently experiencing its (second) Golden Age.1 Today I’ll expand on this and I’ll offer my perspective on the reasons and factors that lead to it. The Road to Success Yesterday someone mentioned on X the following: I think @emacs was kind of revi

                                                          M-x Reloaded: The Second Golden Age of Emacs
                                                        • Extensible Language Support in Zed - Part 1 - Zed Blog

                                                          About two months ago, @maxdeviant and I began the project of making Zed extensible. In a code editor, extensibility can include many features that require many different capabilities, but for the first phase of the project, we have focused on extensible language support. We want people to be able to code in Zed in any programming language, not just a select few. We've just reached that first miles

                                                            Extensible Language Support in Zed - Part 1 - Zed Blog
                                                          • TSKaigi2024参加レポート

                                                            2024/5/11日に初開催された、TSKaigiに参加してきました。 私が聴講したセッションのタイムライン順に、軽いまとめ&感想と、TSKaigi全体を通しての感想のまとめです。 備忘録がてらの事後記録のため、詳細は書いていません💦 (あと、LTセッションに関しても自分が聞いたものは残していますが、感想は含めていません。あしからずです🙇🏻‍♀️) 👏🏻 KeyNote 「ただセッションを聞くだけでなく、TypeScript仲間と交流することでTSコミュニティを盛り上げてほしい」といったオープニングのもと、TSKaigi2024がスタートされました👏🏻 👏🏻 KeyNote: What's New in TypeScript MicrosoftのPrincipal Product Manager である @drosenwasserさんによる基調講演でした。 Announc

                                                              TSKaigi2024参加レポート
                                                            • Neovim の LSP 関係のプラグインの役割

                                                              この記事は、vim 駅伝 2023/06/23 の記事です。 ⠀ 前回: 【企画】これだけは外せない!あなたにとっての「いぶし銀」な Vim プラグインを教えてください 次回: 6/26 の予定 自分が過去にかなり迷ったので、Neovim を本格的に使い始めたい、あるいは vim-lsp や coc.nvim から移行したい方へ残しておきます。 Neovim の builtin LSP の導入方法の記事を見たらインストールしておくべきプラグインの導入方法が書かれているのを見て、 結局、このプラグインって何のために入れてるの? と思った方向けの記事のつもりです。 この記事では、以下の4つのプラグインについて扱います。 nvim-lspconfig mason.nvim mason-lspconfig.nvim null-ls.nvim builtin LSP について 現在の Neovim

                                                                Neovim の LSP 関係のプラグインの役割
                                                              • vscode-ruby-light開発日記 - Prismパーサー導入編

                                                                vscode-ruby-lightの開発中に考えたことを書いていきます。今回は、内部で利用しているRuby用パーサーのtree-sitter-rubyからPrismへの移行について書きます。 @ruby/prismパッケージの概観 Prismは、JavaScriptからもその実装を利用できるよう、@ruby/prismという名前でnpmパッケージを公開しています。 何が含まれているパッケージなのかというと、まずWASMバイナリという形でコンパイルされたPrismの実装と、それを便利に使うためのJavaScriptの実装、それからTypeScript向けの型定義ファイルが含まれています。これらはESModuleという形式に従ってモジュール化されています。またruby/prismのリポジトリ内に、JavaScript向けの簡単なドキュメントも含まれています。 もちろん、本拡張でもこのnpmパッ

                                                                • Visual Studio Code May 2024

                                                                  Version 1.90 is now available! Read about the new features and fixes from May. May 2024 (version 1.90) Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the May 2024 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highlights include: Editor tabs multi-select - Select and perform

                                                                    Visual Studio Code May 2024
                                                                  • 今更vimに目覚めた男がLunarVimを使っている話 - Mobile Factory Tech Blog

                                                                    はじめに vim に最近目覚めた。そこから NeoVim、LunarVim を使うようになった流れについて、自分が思う好きなポイントと絡めてまとめる。 書かないこと エディタ戦争 VSCode も、vim も、emacs も、みんな違ってみんないい あくまでも vim のココスキをまとめるので比較はしない どうして vim か VSCode を今まで使っていて、remote の接続が悪かったり重かったりしていたのでこれを機に、気になっていた vim に乗り換えてみた vim を選んだ理由は、 慣れるとコーディングスピードがすごいらしい 脳とコーディングを直結したい 軽そう 使ってる人が多い つまりググったときの情報が多い という辺り。 どうして NeoVim か vim について色々調べていると、どうやら新しい NeoVim というのがあるらしい*1事に気づいたのでそっちを使うことにした。

                                                                      今更vimに目覚めた男がLunarVimを使っている話 - Mobile Factory Tech Blog
                                                                    • A new MSBuild editing experience - Visual Studio Blog

                                                                      MSBuild is a fundamental part of the .NET development experience, but it can be challenging to new and experienced developers alike. To help developers better understand their project files and access advanced functionality that requires editing the project file directly, we’re releasing an experimental MSBuild editor that has a much richer understanding of MSBuild files than the current XML schem

                                                                        A new MSBuild editing experience - Visual Studio Blog
                                                                      • Apple、オープンソースのシステム構成用プログラミング言語「Pkl」をリリース

                                                                        従来、システム構成を作成するためのプログラミング言語としては、JSON、YAML、プロパティリストといった静的言語が一般的だったが、表現力に乏しくコードが頻繁に繰り返される、検証機能がないため構成エラーが発生しやすくなる、といった欠点もある。 これらの欠点を解消すべく、特別なロジックの追加によるフォーマットの強化や、汎用のプログラミング言語を用いた構成データの生成といった方法も用いられているが、それぞれに欠点を抱えていた。 今回リリースされたPklは、静的言語と汎用プログラミング言語を組み合わせており、宣言型で読み書きしやすい一方で、汎用言語から導入した機能によって強化されている。クラス、関数、条件文、ループといった言語機能が使用可能で、抽象化レイヤを構築してパッケージを作成・公開することでコードの共有もできる。さらに、さまざまな種類の構成ニーズを満たし、任意の形式で静的構成ファイルを作成

                                                                          Apple、オープンソースのシステム構成用プログラミング言語「Pkl」をリリース
                                                                        • 動的型付け・静的型付け論争への私見

                                                                          プログラミング言語に関するこれがいいあれがいいという議論は半分くらい宗教戦争と化してよく白熱する。 その中でもう燃えあがる論争の一つが動的型付けと静的型付けの対立だ。 最近だと、とある有名OSSでTypeScriptをやめてJavaScriptに戻したことが大きな話題となった。 それに、乗っかって、Ruby開発者のMatz氏のツイートが掘り起こされたりした。 これらの方々に比べれば自分の実力・経験値は遠く及ばないとは思うが、たまにはと思いこの動的・静的型付けとプログラミングの生産性への自分の私見をまとめてみようと思う。 最初に断っておくと、これは自分の経験に基づく感想という側面が大きく、何か定量的・定性的な裏付けがあるものではないことを強調しておく。 日頃からRustのような強い静的型付け言語に関する発信をしていることからわかるように、自分は静的型付け言語を好んでいる人間であるということも

                                                                            動的型付け・静的型付け論争への私見
                                                                          • Visual Studio Code March 2024

                                                                            Version 1.88 is now available! Read about the new features and fixes from March. March 2024 (version 1.88) Update 1.88.1: The update addresses these issues. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the March 2024 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highlights

                                                                              Visual Studio Code March 2024
                                                                            • Visual Studio Code October 2023

                                                                              Version 1.87 is now available! Read about the new features and fixes from February. October 2023 (version 1.84) Update 1.84.1: The update addresses these issues. Update 1.84.2: The update addresses these issues. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the October 2023 release of Visual Studio Code. There are many updates in this ver

                                                                                Visual Studio Code October 2023
                                                                              • Build Server Protocol

                                                                                Build Server ProtocolProtocol for IDEs and build tools to communicate about compile, run, test, debug and more. What is BSP?The Build Server Protocol (BSP) provides endpoints for IDEs and build tools to communicate about directory layouts, external dependencies, compile, test and more. Run, test and debugExample of running, testing and debugging a Scala program in VS Code via BSP and the Debug Ada

                                                                                • Crafting a Language Server in Golang: A VSCode LSP for Lama2

                                                                                  Crafting a Language Server in Golang: A VSCode LSP for Lama2 Dive into our journey at Hexmos, where we bridged Lama2 with VSCode using Golang's LSP. From challenges to insights, we're excited to share it all! 🦙🚀. This post narrates our journey to developing advanced functions in our VSCode extension for Lama2, a plain-text API manager built at Hexmos. We will see how our thinking and implementat

                                                                                    Crafting a Language Server in Golang: A VSCode LSP for Lama2