この記事は Clojure Advent Calendar 2020 の9日目に向けたものです。 TL;DR clj-kondo 便利なので使ってなければ使ってね! clj-kondo とは clj-kondo とは Clojure のリンターです。 これまでも eastwood のようなリンターは存在していましたが、 clj-kondo が特徴的なのは GraalVM を用いてネイティブイメージ化されたものを配布しており、JVMを使ったツール類でよく言われるセットアップの手間(Javaランタイムのインストール)や起動の遅さをほぼ無視できる点です。 $ cat foo.clj (ns foo (:require [clojure.string :as str])) (defn -main [] (let [s "hello"] (println "hello world"))) $ tim
今年もアドベントカレンダーの季節がやってきました。この1年のClojure/ClojureScript界隈の動きを振り返ってみましょう。 Clojure 1.10.2 今年は、コロナ禍の影響か、昨年に引き続きClojureのメジャーアップデート(1.11)はありませんでした。一方で、マイナーアップデート(1.10.2)については予定されていて、12月1日現在で既に1.10.2-alpha4までリリースが進められています。 1.10.2の変更は基本的にはGraalVM向けのアップデートと不具合修正になる予定です。 比較的影響が大きそうな修正としては CLJ-1472 があります。CLJ-1472 は、Javaのsynchronizedブロック相当の機能であるlockingマクロから生成されるバイトコードが、GraalVMやART等一部の実装におけるバイトコードベリフィケーションに引っかかり、
mori A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript. Rationale JavaScript is a powerful and flexible dynamic programming language with a beautiful simple associative model at its core. However this design comes at the cost of ubiquitous mutability. Mori embraces the simple associative model but leaves mutability behind. Mori
I’ve been enamoured with languages in the Lisp family ever since I first encountered The Structure and Interpretation of Computer Programs now more than a decade ago. At the time I was disappointed that such beautiful systems found so little use in day to day programming. Lisp seemed both deeply pragmatic (Objects!) and deeply sophisticated (Meta-circular Interpreters!). But Java, bless its heart,
Vim/Neovim 向けに Clojure の開発環境を提供するプラグイン vim-iced を使って Clojure 開発環境の構築をしてみましょう。 なお vim-iced は個人的に開発している拙作の Vim プラグインで、実際に私が業務で(勝手に)利用しているという実績があります。 前提 ゴール やること Clojure 実行環境のインストール vim-iced のセットアップ vim-plug のインストール 各種プラグインのインストール iced コマンドにパスを通す サンプルプロジェクトの作成 REPL 駆動開発への入り口 REPL への接続 コードを評価してみる 変更内容を即座に確認する テスト駆動開発への入り口 テストの作成 ソースの修正 リンター/フォーマッター の設定 clj-kondo による静的解析の設定 cljstyle によるフォーマットの設定 vim-ic
Website • User Guide • Learning Center • Community Youtube • Peertube • Linkedin • Instagram • Mastodon • Bluesky • X Penpot_OpenYourEyes_.mp4 Penpot is the open-source design platform for teams that build digital products at scale. Penpot’s key strength lies in giving you full ownership of your design infrastructure. Built on open source and designed for self-hosting, it puts teams in complete co
今年もアドベントカレンダーの季節がやってきました。この1年のClojure/ClojureScript界隈の動きを振り返ってみましょう。 Clojure 1.10.1 リリース Clojure本体のアップデートとしては6月初旬に1.10.1のリリースがありました。マイナーバージョンのアップデートがあったのは1.5.1以来、6年のぶりのことです。Clojureは例年1年に1回のリリースをしていますが、今年は1.10.1のリリースがあったため、メジャーバージョンのアップデートはありませんでした。 1.10.1の主な変更は次の2点です: user.cljのロードが遅くなる問題への対処 clojure.mainのエラーレポートの改善 それぞれの概略については以下のとおりです。 user.cljのロードが遅くなる問題への対処 Clojure 1.10.0がリリースされた直後に報告された問題で、use
2019年7月29日、Opt Technologiesが主催するイベント「Fun Fun Functional (2) 関数型言語Lightning Talks!!」が開催されました。関数型プログラミングについて楽しく学び、知見を共有することを目的に開催されている本勉強会。今回は6名のエンジニアが、関数型プログラミング言語にまつわるユニークな発表を行いました。プレゼンテーション「"Simple Made Easy" Made Easy 」に登壇したのは、lagenorhynque氏。講演資料はこちら "Simple Made Easy" Made Easylagenorhynque 氏(以下、lagenorhynque):それではよろしくお願いします。 (会場拍手) 今日は見たところScalaの人とかOCamlの人とかHaskellの人とか静的関数型言語勢の人が多くて、LISPの人や、とく
たぶんClojureを書いている人はEmacsを使っている人が多いと思いますがVS Codeも結構書きやすいと思うので僕がやっている方法について書きます。 使用するエクステンション: Calva Clojure Warrior remote containers Calva について Calva は Emacs でいう Cider、IntelliJ でいう Cursive のようなエクステンションです。主に次のようなことができます。 REPL を VS Code 内で起動したり、ターミナルなどで起動したREPLに接続する inline や file、 namespace単位でのコードの実行 テストの実行 code formatting 関数の定義場所にジャンプ Paredit ClojureScript も対応 かなり包括的にサポートされています。しばらく前まで Calva 関係のエクステ
When I first heard about ClojureScript, I looked at it through the lens of my JavaScript experience. I assumed it would be like CoffeeScript, you pretty much know the JavaScript you are generating, but now you get to type less. With ClojureScript there’s a gap between the code I write and the code that’s generated, and this gap provides powerful leverage. I’ve often felt the ClojureScript communit
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く