この記事は、NetBSD Advent Calendar 2024の23日目の記事です。
はじめに
Java Virtual Machineで動く言語を使いたかったのですが、JavaもKotlinも何となく気が進まなかったので、Clojureを試そうとしてみました。
環境を設定する
もたもたしていて今日時点でpkgsrc/lang/clojure-leiningenはインポートできていませんが、LeiningenはClojureで開発する場合には必要なようです。 ですが、まずは、pkgsrc/lang/clojure-leiningenをインストールします。
# cd /usr/pkgsrc/lang/clojure-leiningen # make install
以下のように実行してみましょう。 https://dev.classmethod.jp/articles/instaparse/を参考にしてみます。
$ mkdir ~/tmp
$ cd ~/tmp
$ lein new pj1
$ cd pj1
$ cat project.clj
(defproject insta "HEAD"
:dependencies [[org.clojure/clojure "1.11.1"]
[instaparse "1.5.0"]]
:main pj1.core)
$ cat src/pj1/core.clj
(ns pj1.core
(:require [instaparse.core :as insta]))
(def as-and-bs
(insta/parser
"S = AB*
AB = A B
A = 'a'+
B = 'b'+"))
(defn -main [& args]
(print (as-and-bs "aaabbaabbb")))
$ lein run
[:S [:AB [:A a a a] [:B b b]] [:AB [:A a a] [:B b b b]]]
おわりに
NetBSD上のClojureで有用なプログラムを書くことができそうです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。