目次

Lispを学べるオンライン学習サイト

Clojure の日本語ガイド

https://ayato-p.github.io/clojure-beginner/index.html

ゼロからClojure入門した振り返り 〜勉強したことや感想など〜

Clojureの学習関連のリンクがまとめられています。 https://qiita.com/Saibaba81/items/16ef2486d2345f7f0e57

CommonLisp?

Common Lispは、Clojureとは少し異なるが、そんなに大きく異なるわけではない

A Road to Common Lisp ほんやく

https://gist.github.com/t-cool/b71accaeb270c98c189c622a3b018abf

魔法言語 リリカル☆Lisp

「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。 Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisper?を使用。 別の処理系をインストールする必要はありません!!

https://lyrical.bugyo.tk/

exercism

たくさんの言語で学べる(英語) https://exercism.org/dashboard

入門者用のLisp

(英語) https://racket-lang.org/

paip-lisp

https://github.com/norvig/paip-lisp

Peter Norvig (1992) 著の書籍「Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp」と、そこに含まれるコードのオープンソース リポジトリ

VSCodeでのClojure開発における括弧操作入門

Clojure開発において括弧の操作は非常に重要です。VSCodeと適切な拡張機能を使用することで、効率的なコード編集が可能になります。この記事では、基本的な括弧操作から高度な編集テクニックまでを解説します。

前提条件

calvaのユーザマニュアル

https://calva.io/

Calva以外の選択肢

Cursive

https://cursive-ide.com/

IntelliJ IDEA の拡張: Cursive は IntelliJ IDEA の機能を拡張し、Clojure 開発に特化した機能を提供します。

インテリジェントなコード補完: 文脈に応じた高度なコード補完を提供します。

リファクタリング支援: Clojure コードのリファクタリングを安全かつ効率的に行えます。

デバッグ機能: 強力なデバッグ機能を備え、ステップ実行、ブレークポイント設定、変数検査などをサポートします。

シンタックスハイライトとエラーチェック: 正確なシンタックスハイライトとリアルタイムのエラーチェックで、コードの品質を向上させます。

REPL 統合: IDE 内で REPL を使用し、インタラクティブな開発を可能にします。

テスト実行: IDE から直接テストを実行できます。

JVM 上での ClojureScript? 開発サポート: ClojureScript? の開発もサポートしています。

IntelliJ IDEA を Clojure 開発環境に変えるための専用 IDE プラグインです。

CIDER

https://cider.mx/

CIDER は Emacs ユーザーにとって、Clojure 開発に欠かせないツールであり、効率的で快適な開発体験を提供します。

Emacs に Clojure 開発機能を統合: CIDER は Emacs を強力な Clojure IDE に変えます。

REPL 中心のワークフロー: REPL (Read-Eval-Print Loop) を中心とした対話的な開発を支援します。

強力なデバッグ機能: ブレークポイント、ステップ実行、変数検査など、高度なデバッグ機能を備えています。

コード補完、シンタックスハイライト、ドキュメント表示: コードの記述を支援する機能が充実しています。

テスト実行: プロジェクト内のテストを簡単に実行し、結果を確認できます。

ミドルウェアによる拡張性: CIDER はミドルウェアによって機能を拡張できます。

vim-fireplace

https://github.com/tpope/vim-fireplace

tpope/vim-fireplace は、Vim を強力な Clojure 開発環境に変えるプラグインです。主な機能は以下のとおりです。

REPL (Read-Eval-Print Loop) の統合: Vim から直接 Clojure コードを評価し、対話的にデバッグできます。

名前空間の管理: Clojure の名前空間を簡単に追加、削除、参照できます。

評価: カーソル下の式、選択範囲、またはファイル全体を評価できます。

シンボルの検索と定義: プロジェクト内のシンボルを検索し、その定義にジャンプできます。

CIDER との互換性: Emacs の CIDER と似たような使用感で、Vim を Clojure IDE として利用できます。

基本的な括弧操作

括弧の移動

最も基本的な操作は括弧間の移動です。以下のショートカットを使用します:

括弧の選択

コードの編集や評価のために、括弧で囲まれた範囲を選択する操作も重要です:

括弧の編集

コードの構造を変更する基本操作:

高度な括弧操作

スラープ(Slurp)とバープ(Barf)

これらは括弧の範囲を動的に変更する重要な操作です。

スラープ(括弧を広げる)

;; Before:
(+ 1 2) 3
;; After Slurp:
(+ 1 2 3)

バープ(括弧から出す)

;; Before:
(+ 1 2 3)
;; After Barf:
(+ 1 2) 3

実践的な使用例

(defn calculate [x]
  (let [y (+ x 1)] 2))

;; yにカーソルを置いてスラープすると:
(defn calculate [x]
  (let [y (+ x 1 2)])) 
;; バープで戻すと:
(defn calculate [x]
  (let [y (+ x 1)] 2))

Calva拡張機能の追加機能

S式の構造編集

REPL操作

効率的な使用のためのTips

1. カーソル位置を意識する

  - 操作の前に適切な位置にカーソルを合わせることが重要です

2. 段階的な操作を心がける

  - 複雑な変更は一度に行わず、小さなステップに分けて実行します

3. アンドゥを活用する

  - 操作を間違えた場合は`Ctrl+Z`ですぐに元に戻せます

4. 括弧の対応を確認する

  - VSCodeの括弧強調表示機能を活用して、構造の変更を確認します

The Top 10 Calva Commands

https://calva.io/commands-top10/

Finding Calva Commands

https://calva.io/finding-commands/

まとめ

VSCodeでのClojure開発において、括弧操作は基本的なスキルの一つです。これらのショートカットや操作方法を習得することで、より効率的なコーディングが可能になります。日々の練習を通じて、これらの操作を自然に使えるようになることをお勧めします。

インデントを自動でつけたり、括弧の範囲というか位置をショートカットで編集が自由自在になるレベルが必要。

毎年のように開かれているclojureの国際会議

Clojure/conj

で調べると出てくる

ClojureTV

マニアックな感じしかしない https://www.youtube.com/watch?v=c5QF2HjHLSE&list=PLZdCLR02grLpIQQkyGLgIyt0eHE56aJqd

例: Clojure/conj2024

https://www.youtube.com/watch?v=Earx_BjvgO0&list=PLZdCLR02grLr4TWUP6qeLxIn4OJLNwKNZ

例: Clojure/conj2023

https://www.youtube.com/watch?v=c5QF2HjHLSE&list=PLZdCLR02grLpIQQkyGLgIyt0eHE56aJqd

お絵描き

http://quil.info/

Clojureでお絵描き~quilの使い方~

http://qiita.com/Haar/items/19f9acbc739cd801233c

面白いサイトまとめ

https://qiita.com/mogamoga1337/items/a8fe542cd16be29dd657

C言語に変換できるFerret

Ferret は、リアルタイム組み込み制御システムで使用するために設計されたフリーソフトウェア Lisp 実装です。Ferret Lisp は、自己完結型のC++11にコンパイルされます。生成されたコードは、 C++11準拠のコンパイラをサポートする任意のオペレーティングシステムおよび/またはマイクロコントローラ間で移植可能です。2KBの RAMしか搭載されていない組み込みシステムから、Linux/Mac OS X/Windows を実行する汎用コンピュータまで、さまざまなアーキテクチャで実行できることが検証されています。 https://github.com/nakkaya/ferret

Ferret Programmer's Manual

https://ferret-lang.org/

いろいろな人のClojureの記事

JHipsterに使われている技術スタックと、Clojureの技術スタックを見やすく比較

https://github.com/pjagielski/clojure-landscape-from-java?tab=readme-ov-file

しかし、この対比だと、フロントエンドは、Angularだけにみえてしまうが、そうなのだろうか?

re-frame

Reactだと、以下のフレームワークがエレガントらしい https://github.com/day8/re-frame

ClojureでRDDとTDDのハイブリッドな開発スタイルを実践しよう

https://zenn.dev/lagenorhynque/articles/742cf1a0b0a850

TDD with RDD: Clojure/LispのREPLで変わる開発体験

https://www.docswell.com/s/lagenorhynque/KWWL71-tdd-with-rdd-changed-developer-experience-through-clojure-lisp-repls

Lispでマルチプレイヤーシューティングゲームを作りました

https://ertu.dev/posts/i-made-an-online-shooter-game-in-lisp/

ExcelなどのマクロであるVBAで動作するClojure風なやつ sporklisp

https://github.com/joinr/sporklisp

githubのスターが多いものを言語別にまとめたページ

見たほうがいい。日本では知名度が低い優れモノがみつかること間違いなし

https://github.com/AlexiaChen/awesome-stars?tab=readme-ov-file

ゲーム開発するときにどれを使うかのフロチャート

https://flexiana.com/2024/05/lisp-game-jam-2024-a-starter-guide-for-clojure-devs

githubのスターの多いclojureリポジトリ

https://github.com/AlexiaChen/awesome-stars?tab=readme-ov-file#clojure

C#のClojure CLR実装

Microsoft の .Net Framework の実行エンジンである Common Language Runtime (CLR) 上の Clojure のネイティブ実装です。 https://github.com/clojure/clojure-clr

UnityとClojureを統合させる試みのArcadia

https://github.com/arcadia-unity/Arcadia

動画

Arcadia 0.1 Setup

https://www.youtube.com/watch?v=KLq9b9lDmkc

https://www.youtube.com/watch?v=tBvNIJzlWEI

javascriptのClojure

https://clojurescript.org/

Go言語用のClojure風なやつ Glojure

https://github.com/glojurelang/glojure

Python用のClojure風なやつ basilisp

https://github.com/basilisp-lang/basilisp

PHP用のClojure風なやつ phel-lang

https://phel-lang.org/

https://github.com/phel-lang/phel-lang

Lispの方言をLisp1とLisp2に分類してみる話

http://xahlee.info/emacs/emacs/lisp1_vs_lisp2.html

LISP系言語で実用的なWebアプリも作れるClojureScript?

https://news.mynavi.jp/techplus/article/programinglanguageoftheworld-32/

Babashkaことはじめ - Clojureでシェルスクリプティングを代替する

https://qiita.com/minebreaker/items/de78a425db81313eeccc

Fleck

Bashがどこにあっても動作するClojureのようなLisp

https://github.com/chr15m/flk/

https://www.reddit.com/r/Clojure/comments/e2zkvq/a_clojurelike_lisp_that_runs_wherever_bash_is/

clojureのよさげなエコシステム

https://github.com/razum2um/awesome-clojure

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-02-11 (火) 23:52:38 (34d)