NetBSDでClojure言語に入門してみる

この記事は、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 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

NetBSDからneocities.orgにウェブサイトを展開してみる

この記事は、 NetBSD Advent Calendar 2024 の25日目の記事です。 はじめに NeoCities というウェブサイトのホスティングサービスがあります。 クラシックな感じな静的なファイルをホスティングしてくれるサービスですが、さすが...