目次

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

魔法言語 リリカル☆Lisp

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

https://lyrical.bugyo.tk/

exercism

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

入門者用のLisp

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

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

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

前提条件

基本的な括弧操作

括弧の移動

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

括弧の選択

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

括弧の編集

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

高度な括弧操作

スラープ(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の括弧強調表示機能を活用して、構造の変更を確認します

まとめ

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

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

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の記事

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/

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/

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS