Lispの学び
の編集
Top
/ Lispの学び
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
10の質問
2024/09月時点でのおすすめAI
ABC予想
AI
AI API
AI プロンプト
AIでつかわれているtransformerのまとめ
AIとIDEの共存:ドキュメント整合性のための新しいアプローチ
AIとの効果的な協働のための設計アプローチ:S式とコード生成テンプレートの活用
AIと上手に付き合うコツ:「自分らしさ」を失わないために
AIと共存する時代のソフトウェア開発:コンパイラー開発からの学び
AIの男女と美醜について学習の問題点
AIの話題
AIチャットの文脈を記憶する!Apache UnomiとModel Context Protocolで実現する次世代のAIチャット管理
AI大規模開発とTDDの意外な関係
AI関連の自分がよく見るチャンネル
ANTLR
ANTLR v3 FAQ よくある質問
ANTLR 独学
ANTLR4 独学
ANTLRでOracleのDDLを解析してみる
ANTLRチュートリアル
AOP
API
ARMマイコン基盤
ATOM SHELL理論
Access VBAメモ
Access-Control-Allow-Origin
AndroidとTensorflow
Android開発
Android開発 入門
AngularJS
Anko
Apache Bench
ArchUnitを学ぶ
Axiosとは
Axis2
BI Publisherで始めるデータ駆動型レポート作成
BPMNの勉強
BackTrack4
Blog from iPhone
Bootstrapとは
BracketName
C3 AI Applications
C3 AI エクスマキナ
CSS備忘録
CentOS
ChatGPTの話題
Chevrotainのパーサメソッド
Chevrotain一覧
Chromeエクステンション
Claud MCP
Claude sonnet computer useを実践投入してみる
Clojureの実行のお作法
Clojureの3万個以上あるライブラリエコシステム
Clojureをつかってみる
Cocoa Touch Static Library
CoffeeScript
Confluent Control Centerやってみる
C言語でオブジェクト志向な記述方法
DDD ドメイン駆動設計
DDL生成ツール
DJUnit
DMM.comのAPIとか
DOSコマンドメモ
Dashcode
DeepFloyd IF
Dockerが動かない場合の対処
DockerでLillyMolを爆速起動!化学式から合成経路を探る旅に出よう!
ES2015
Eclipse Monkey
Eclipse Plugin
Eclipseの色設定
Eclipse使いがXCode使い初めて知りたいこと
ElasticMQメモ
Elixir
Emmet
Erlangメモ
ExcelファイルをAIに読ませる
Exceptionを見やすく
Expression Tree
FLEX
FLEX リフレクション
Firebase App Check
Firebase Emulator Suite
Fisheye
FlashやJavascriptを使った演出
FlutterとReactとOptiWeb
Flutterの開発環境をDockerで整える
FormattingRules
FrontPage
GAE
GAE Data Store API
GENERAL SQL PARSER JAVA を試してみる
GLOBAL
GPT4ALL
GQL
GUIからMacPortsを管理するアプリケーション - Porticus
Generative Adversarial Networks
Gin JavaScriptで構文解析
Git Blame
Git リポジトリのクローンができないときの解決法
GitHubアクションを使ったトロイの木馬のまとめ
GitLab
GitLabRunnerを増やす
GitLabでPlantUML使ってみる
GitLabでプロジェクト管理する
GitLabの機能をそのまま使って認証システム作ったらどこまでできる?
GitLabサーバインストールとメンテ注意事項
GitとAntとSpringとJUnit
Google ClientID
Google Cloud Platform
Google Cloud Platform (GCP) と gcloud CLI 入門
Google Maps Platformを学ぶ
GoogleMapレンダリング
Googleの裏技
Google認定プロジェクトマネージャの勉強メモ
Gradioで簡単GUI作成
Grails
GraphHopperを使用した住所のジオコーディング例
GraphQL
HTM 階層型時間メモリ
HTML スクレイピング
HTML パース
HTML5
HTML5 Canvas
Hadoop
Help
If Then Maybe プログラミング
Inkscape script
InterWiki
InterWikiName
InterWikiSandBox
JAVAの記事一覧
JBoss
JDBC テーブル一覧を得る
JDBC カラム一覧を得る
JDT eclipse
JGRIB
JHIPSTER JDL
JHIPSTER OpenAPI
JHIPSTER エンティティをフィルタリングする
JHIPSTER6.1.2
JHIPSTERでスマホサイト
JHIPSTERのBLUEPRINTを作る
JHIPSTER一覧
JHipster
JHipster API FirstDepelop
JHipster エンティティを更新する
JHipster7をつかってみる
JHipsterでBuleprintを使いこなす
JHipsterのコード生成を改造
JHipsterのプロジェクトをGitLabでCI/CDする
JHipsterのプロジェクトをデプロイする
JIRAをAPI使って操作する
JMeter
JOOQとは
JSFとStruts
JSqlParser
Java Closure
Java Compiler API
Java Function
Java SQL Parserを調査する
Java Spring AOP
Java Spriteを設計してみる
Java オブジェクトのダンプ
Java ドラックできる曲線
Java 備忘録
Java 文字化け
Java11以降のJRE
Java7サンプルコード
JavaFx
JavaScriptでパーサを作る Chevrotain
Javaasist 動的にクラスを編集
Javascript グラフィックライブラリ
Javascript コーディングパターン
Javascript界隈
Javassist
JavaでSVG
Javaで関数型で引数をとる
JavaのジェネリクスTip
Javaのラムダ式
Javaの有名なライブラリ紹介
Javaは、IDEのテンプレートを使いこなせばいいよ
Javaプログラマ向けモナド
Javaメモリリーク
Jenkins
Jenkins(Hudson)メモ
Jestとは
Jhipsterマイグレーション
Json Yaml Xml Hash Scala
Kafka REST Proxy さわってみる
Kotolin
LDAPサーバをdockerで立ち上げる
LISPで自分の言語を作る
LibreOfficeのCalcをハックしてみる
Linux メモ
LiquiBaseとは
Lispの学び
Lombok
MCP「ここまでのチャットを整理して保存しておいて」
MDBをコンパクトにするVBA
MQL5 半値インジケータ作った
MQL5 小作品
MT4
MT5 EA
MT5お気に入りのインジケータ
MYSQL
MYSQLのバックアップとローカル利用
MacTool
Macにしゃべらせる
Mac用のメモ
Mattermostを使ってオンプレミスでチャット環境を作る
Maven
Mementoパターン
MenuBar
MoonsharpとLuaとUnityについて学ぶ
NILScript
NetBeanでプロファイル
Network Service Desk Engineer
Node-RED
Node-Red
Notion MCP関連について学ぶ
NumPy
OQL オブジェクト問い合わせ言語
OSコマンドインジェクション
ObjctiveC サウンド
ObjectMapperの備忘録
ObjectiveC NSString
ObjectiveC サーバ
ObjectiveC ターミナル用コマンドを作る
ObjectiveC バックグラウンド
ObjectiveC ワーニング
Oculusアプリの開発
OpenAI Swarm Examples Basic
OpenAI Swarmについて学ぶ
OpenAI Swarmについて認識を深める
OpenFeint
OpenOffice
OpenResty
OpenStreetMapを利用した車両ルーティング問題(VRP)のOptaPlanner解決例
OptaPlanner
OptaPlannerとは
OptaWeb
Outlook VBA
PHP
POSTGRESQL
Pandas Python Data Analysis Library
PdfBox Java用PDFライブラリ
Plagger
Playwrightの実用ガイド:MCPとの統合による新たな可能性
PrismaでGraphQL APIを自動生成しよう - チュートリアル
PrismaとGraphQLで作るシンプルなAPI - クイックスタート
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
PyHipster
QuartzCore
RAD
REST
RWKV
Rails3
Railsと差分開発についての考察
React.js
React.js モーダル画面
RecentDeleted
RedmineLE
Redshift
Relumeでサイトの骨格を作る
Require.js
Roo Codeを使う
Rubycocoa
RubyでScalaをコンパイルするツールをつくる
Rubyアソシエーション認定証
Ruby入門
SCALA REPL
SCALA support tool
SCALAの記事一覧
SDL3で始めるクロスプラットフォームゲーム開発 - 環境構築ガイド
SELinux
SEO
SEO Yahoo対策
SEO対策一覧
SPAM対策
SQLite
SSH
SVNをJavaで操作
SakuraZencoding
SandBox
Scala / Hadoop
Scala Process exec
Scala 遅延評価
Scala/LiftでSlim3
ScalaSigParser
ScalaWithExcel
Scala チュートリアル
Scalaで3D
ScalaでLisp
ScalaとGroovyのPOJO比較
ScalaのIDEについて
Scala言語を学ぶやさしいツール「Kojo」
Slack API やってみる
SocketAppender
Spring
Spring bootでのテストのTIPS
SpringBootとSeleniumとJunitの連携
SpringBootのSTSの新規プロジェクトでるエラーの対応
SpringSecurity SAML
Sqlite
Squirrel
StringTemplate
Stringクラス拡張
TALEND
ThreadLocal
Todo一覧
Trac Lightning
Twitter
UltraEdit
UnityでClojureCLRをREPLで使う
UnityでClojureCLRを使いたい
Unityでシューティングゲーム作る際のメモ
VBAでREST通信
VBAのコード
VBAをOpenOffice.org Basicにする
VBAをOpenOffice.org+Basicにする
VPN構築の勉強メモ
VPSやIaaSメモ
VSCodeでRuby開発
VSCodeメモ
VSCode用ChatGptのPlugin
VSCode設定
VirtualBox On Mac
Visual Studio Code プラグイン開発
Vuexとは
WBS管理の弊害
WIN32API
WSDL
Watson
WebDesign探訪
WebLogic フィルタ
WikiEngines
WikiName
WikiWikiWeb
Windows10のPowerShell でキーボードの言語切り替え
WindowsTool
Windows環境でJavaバージョンを制御する方法 - Java Shimと環境変数の活用
Windsurf
Worker Thread パターン
XBee
XDOCLET
XForms
XPath
XSL
YahooPIPES
Yahooインフォセンター
Yet Another Pragger
YouTuber
Youtubuのあれ
YukiWiki
anacondaをcygwinで使う
ansible
antlr snippet
antlr 再入門
antlrと日本語
autoit
automator
bluemix
bootstrap2
bower
ccze Colorize log files on CentOS and Ubuntu using ccze tool
centos7
cglibを使って動的コード生成
cocos2d
collection/collection.dart
cygwin
diff
dockerのローカルイメージをDocker-in-Dockerで参照する
eclipse設定
emacs 備忘録
emacs 文字列置換
emacsをviライクにする
excel tips
excelのdiff
expectで自動化
figmaにプラグインをインストールする
firebase デプロイ
flutterで、google認証させてFirebaseAuthするメモ
flutterをngrok経由で動作させる
flutter環境設定
ftp自動化
gemini
generator-jhipster-gql
git diffを使った構成管理の省力化
goをやってみる
go言語でファイルサーバ
grizzly
gulp
homebrew
iPhone Bluetoothプログラミング
iPhone iAd
iPhone 実機テスト手続き
iPhoneでグラフィックのHellowWorld
iPhoneとGmailメール
iPhoneに実機転送
iPhoneプログラミング
iPhoneプログラミング/ビューを理解すればiPhoneアプリの基礎を押さえられる
iPhoneプログラミング一覧
iPhoneプログラミング入門
iPhone開発/Interface Builder Plug-in
iPhone開発/キャプチャの取り方
intra-mart
jQuery.Flickableのメモ
java spring boot 認証 memo
jersey
jhipster-codeにアノテーション追加してみる
jhipsterのテンプレート改造準備
jparsecドキュメント日本語訳
jparsec入門
kafkaの勉強
log4j2の脆弱性
mac diff
mailcowのインストール
marmaid
memcached
metabaseはダッシュボードなのか
minecraft マイクラ あるきながら、高速ダンジョン作成
mqttの勉強
nginx_lua
nginxのメモ
node_moduleをnpm linkを使って自分用にする
npm
openapi generator
openapi-generatorをコンパイル
openstack
oraclerac
play framework 1.2.5 sample
play! framework
play!framework selenium
playframework テンプレート
postmanとopenapi
postman使ってみる
prezi プレゼン
pukiwikiで行動管理
pukiwikiに類似したツール
pukiwiki勉強
pukiwiki記事一覧
python
python3のwindowsでの日本語文字化け対応
pythonでseleniumを使う
pythonのテストに使うライブラリ
rails5
rate.jsを使ってみる
reactでポップアップ表示
redmine
ruby on rails 6.0.0
scala
scala 99problem 32~
scala prototype.zip
scala repl
scala sbaz
scala spring
scala/インストール
scalaでまだ不勉強なところ
scalaのインストール
selenium
slack api
spark
spring boot
spring initializerをつかってプロジェクトのひな型をゲットする
spring-test
springboot
springboot env
storybook
sublimetext2
swagger
tracについて
ubuntu
vaadin
vue を typescriptで開発
vue 共通部品作成
vue.js memo
vue.jsとは
vue.jsのデバッグ
vue一覧
webの編集画面のよくあるパターン
windows環境構築
wordpress
xamppについて
•Axis2の本家のスタートガイドによるWebサービスの作り方
「AI促進法」国会審議をDXする提案メモ
「Computer use」Claude 3.5 SonnetでPCを操作
【Javascript】【CLIライブラリ】commanderの勉強
【MQL5】KuniRangeBreakoutEA
いまさらながらC++
おすすめされたフリーソフト
びっくりする短いコード
もう合成ルート探索で迷わない! ASKCOSでスマートに逆合成解析!
アクター
アニメーション
アノテーション
アプリコット
アプリコット PukiWiki
アプリコード
アプリコード林邦行
イラストのエフェクト
インテンショナルプログラミング
カスタマイズjhipster7.9.3イメージ
カブロボ
ガイガーカウンター
クラスとハッシュマップの関係
クラック対策
クロス集計
コマンドラインという概念への考察
コマンドラインの出力に色を付ける
コミニュケーション
コラッツ予想:シンプルな数学の問題が隠す深遠な謎
コード生成
サロゲートキーを使ったテーブル設計
シェルのサンプル
シェルサンプル
スクレイピング
スレッドプログラミングメモ
ソースtoソース変形
ターミナルをAppleScriptで制御
テキストエディタ作成javascriptフレームワーク
テスト用まっさらDBをdockerでたてる
テスト駆動
テレワーク環境の比較
ドット絵
ナイアシンと脂質代謝に関する新仮説
バイオビルダー合成生物学メモ
バグの少ない設計のためのValueObject
パフォーマンスチューニング
フロントエンドとバックエンド(API)を1つのリポジトリで管理するメリット
フロントエンドのテストの結合テストを減らすには?
プッシュ技術
プログラマーじゃない人に覚えてほしいプログラムのコメントの書き方
プロジェクト管理スプレッドシート
プロンプトエンジニア以外のこれからのAI技術者
マイクラ 有名ディメンション モッド
マクスウェル方程式
メタ
ラムダ計算について考える
リベリカJava13いいみたい
リモートワークでのプロジェクト注意点
レイアウトツール
ログ解析
世界の構文解析グラマーたち
予定表
予定表/2009-12-14
予定表/2009-12-18
予定表/2009-12-19
予定表/2009-12-22
予定表/2009-12-23
予定表/2009-12-24
事業の心構え
事業計画方針
五蘊と経営を磨く徳目表
五蘊と経営を磨く徳目表:ウェルビーイング対応一覧
人工知能とCUDA
人工知能コンペKaggle
仕様書のフォーマットについての考察
他言語サイトサンプル作成
仮説Oracleの罠
作曲と効果音作り
共和分
効率的なAI活用戦略:S式ベースの問題解決ライブラリの構築
口コミ
古いRails5を入れる
哲学
大文字小文字変換
学習をHackする
扶養とシステム
投薬のみのガンの治療薬
擬似コーディングのすすめ
放射能対策
数式を扱う
文章を書く
新エネルギー
新年の抱負2010
新技術 プログラム編
日本のゼネコン式IT開発が失敗する理由
最近更新したページ
未来技術/新技術
枯れた技術の水平思考
株価データ
業界の動向
構文解析の記事一覧
正規表現
気象データ
流れるようなインタフェース
究極の集中状態を実現する:プログラマーのためのディープワーク実践ガイド
管理画面の生成におけるopenapiとJDLなどの考察
細胞の若返り
経済のことをまとめてみる
脆弱性
脳腫瘍の開発中治療薬LY367385とリンゴ酢
自分でPlaggerみたいなのを作るためのメモ
話せるAIの記事のリンク
論語/学而第一
負荷テスト
販売/デスクトップPC
販売/ノートパソコン
販売/外部ストレージ
起業
酸化グラフェン
開発哲学
電子出版
電子出版の記事一覧
非可換幾何学
顧客分析のデシル分析とRFM分析
DIコンテナについて考える
MP3から携帯着うたを作る方法
* 目次 [#ec3503e0] #contents * Lispを学べるオンライン学習サイト [#vce0b6aa] ** Clojure の日本語ガイド [#zf4be0ab] https://ayato-p.github.io/clojure-beginner/index.html ** ゼロからClojure入門した振り返り 〜勉強したことや感想など〜 [#p854923e] Clojureの学習関連のリンクがまとめられています。 https://qiita.com/Saibaba81/items/16ef2486d2345f7f0e57 ** CommonLisp系 [#pf9181d2] Common Lispは、Clojureとは少し異なるが、そんなに大きく異なるわけではない *** A Road to Common Lisp ほんやく [#c93eafb5] https://gist.github.com/t-cool/b71accaeb270c98c189c622a3b018abf *** 魔法言語 リリカル☆Lisp [#x5b40e3a] 「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。 Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisperを使用。 別の処理系をインストールする必要はありません!! https://lyrical.bugyo.tk/ ** exercism [#ffec0c9c] たくさんの言語で学べる(英語) https://exercism.org/dashboard * 入門者用のLisp [#j7560679] (英語) https://racket-lang.org/ * paip-lisp [#h0331c39] https://github.com/norvig/paip-lisp Peter Norvig (1992) 著の書籍「Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp」と、そこに含まれるコードのオープンソース リポジトリ * VSCodeでのClojure開発における括弧操作入門 [#b20f3913] Clojure開発において括弧の操作は非常に重要です。VSCodeと適切な拡張機能を使用することで、効率的なコード編集が可能になります。この記事では、基本的な括弧操作から高度な編集テクニックまでを解説します。 ** 前提条件 [#h321ddc3] - VSCodeのインストール - Calva拡張機能のインストール *** calvaのユーザマニュアル [#w6597b5c] https://calva.io/ ** Calva以外の選択肢 [#d5f2bb7f] *** Cursive [#y0bdfa45] https://cursive-ide.com/ IntelliJ IDEA の拡張: Cursive は IntelliJ IDEA の機能を拡張し、Clojure 開発に特化した機能を提供します。 インテリジェントなコード補完: 文脈に応じた高度なコード補完を提供します。 リファクタリング支援: Clojure コードのリファクタリングを安全かつ効率的に行えます。 デバッグ機能: 強力なデバッグ機能を備え、ステップ実行、ブレークポイント設定、変数検査などをサポートします。 シンタックスハイライトとエラーチェック: 正確なシンタックスハイライトとリアルタイムのエラーチェックで、コードの品質を向上させます。 REPL 統合: IDE 内で REPL を使用し、インタラクティブな開発を可能にします。 テスト実行: IDE から直接テストを実行できます。 JVM 上での ClojureScript 開発サポート: ClojureScript の開発もサポートしています。 IntelliJ IDEA を Clojure 開発環境に変えるための専用 IDE プラグインです。 *** CIDER [#xd373e9e] https://cider.mx/ CIDER は Emacs ユーザーにとって、Clojure 開発に欠かせないツールであり、効率的で快適な開発体験を提供します。 Emacs に Clojure 開発機能を統合: CIDER は Emacs を強力な Clojure IDE に変えます。 REPL 中心のワークフロー: REPL (Read-Eval-Print Loop) を中心とした対話的な開発を支援します。 強力なデバッグ機能: ブレークポイント、ステップ実行、変数検査など、高度なデバッグ機能を備えています。 コード補完、シンタックスハイライト、ドキュメント表示: コードの記述を支援する機能が充実しています。 テスト実行: プロジェクト内のテストを簡単に実行し、結果を確認できます。 ミドルウェアによる拡張性: CIDER はミドルウェアによって機能を拡張できます。 *** vim-fireplace [#c48901c2] 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 として利用できます。 ** 基本的な括弧操作 [#d5bc127b] *** 括弧の移動 [#k1cf7003] 最も基本的な操作は括弧間の移動です。以下のショートカットを使用します: - `Ctrl+Alt+Right` / `Ctrl+Alt+Left`: S式の範囲を広げる/狭める - `Alt+Up` / `Alt+Down`: カーソル位置のS式を上下に移動 *** 括弧の選択 [#p18e6148] コードの編集や評価のために、括弧で囲まれた範囲を選択する操作も重要です: - `Ctrl+Shift+→` / `Ctrl+Shift+←`: 現在の括弧内を選択 - `Ctrl+W`: カーソル位置のS式全体を選択 *** 括弧の編集 [#x5a0d94e] コードの構造を変更する基本操作: - `Ctrl+Shift+Enter`: 現在の括弧の後に新しい行を挿入 - `Ctrl+Enter`: 括弧内で改行して整形 ** 高度な括弧操作 [#d181c9e7] *** スラープ(Slurp)とバープ(Barf) [#u9e4d081] これらは括弧の範囲を動的に変更する重要な操作です。 *** スラープ(括弧を広げる) [#c4b6bb28] - `Ctrl+Alt+Right`(Windows/Linux)または `Cmd+Alt+Right`(Mac) - 右にある要素を現在の括弧内に取り込みます ;; Before: (+ 1 2) 3 ;; After Slurp: (+ 1 2 3) *** バープ(括弧から出す) [#w8fabd02] - `Ctrl+Alt+Left`(Windows/Linux)または `Cmd+Alt+Left`(Mac) - 括弧内の最後の要素を外に出します ;; Before: (+ 1 2 3) ;; After Barf: (+ 1 2) 3 *** 実践的な使用例 [#t80bcd88] (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拡張機能の追加機能 [#m8a2fad9] *** S式の構造編集 [#w5fa61ab] - `Ctrl+Alt+C Space`: カーソル位置のフォームを評価 - `Alt+(` / `Alt+)`: S式を括弧で囲む/外す - `Ctrl+Alt+C V`: 選択範囲をS式として評価 *** REPL操作 [#n09a74fd] - `Ctrl+Alt+C Enter`: カーソル位置のフォームをREPLで評価 - `Ctrl+Alt+C C`: REPLに接続 ** 効率的な使用のためのTips [#k4a1c983] 1. カーソル位置を意識する - 操作の前に適切な位置にカーソルを合わせることが重要です 2. 段階的な操作を心がける - 複雑な変更は一度に行わず、小さなステップに分けて実行します 3. アンドゥを活用する - 操作を間違えた場合は`Ctrl+Z`ですぐに元に戻せます 4. 括弧の対応を確認する - VSCodeの括弧強調表示機能を活用して、構造の変更を確認します *** The Top 10 Calva Commands [#ea29e1b6] https://calva.io/commands-top10/ *** Finding Calva Commands [#w726c019] https://calva.io/finding-commands/ ** まとめ [#pfc2f2b4] VSCodeでのClojure開発において、括弧操作は基本的なスキルの一つです。これらのショートカットや操作方法を習得することで、より効率的なコーディングが可能になります。日々の練習を通じて、これらの操作を自然に使えるようになることをお勧めします。 インデントを自動でつけたり、括弧の範囲というか位置をショートカットで編集が自由自在になるレベルが必要。 * 毎年のように開かれているclojureの国際会議 [#d25be6ed] Clojure/conj で調べると出てくる ** ClojureTV [#de00ad1a] マニアックな感じしかしない https://www.youtube.com/watch?v=c5QF2HjHLSE&list=PLZdCLR02grLpIQQkyGLgIyt0eHE56aJqd *** 例: Clojure/conj2024 [#qb25c995] https://www.youtube.com/watch?v=Earx_BjvgO0&list=PLZdCLR02grLr4TWUP6qeLxIn4OJLNwKNZ *** 例: Clojure/conj2023 [#v0de0677] https://www.youtube.com/watch?v=c5QF2HjHLSE&list=PLZdCLR02grLpIQQkyGLgIyt0eHE56aJqd ** お絵描き [#z3568468] http://quil.info/ *** Clojureでお絵描き~quilの使い方~ [#i72ab738] http://qiita.com/Haar/items/19f9acbc739cd801233c ** 面白いサイトまとめ [#mb8ce1b8] https://qiita.com/mogamoga1337/items/a8fe542cd16be29dd657 ** C言語に変換できるFerret [#xcea6313] Ferret は、リアルタイム組み込み制御システムで使用するために設計されたフリーソフトウェア Lisp 実装です。Ferret Lisp は、自己完結型のC++11にコンパイルされます。生成されたコードは、 C++11準拠のコンパイラをサポートする任意のオペレーティングシステムおよび/またはマイクロコントローラ間で移植可能です。2KBの RAMしか搭載されていない組み込みシステムから、Linux/Mac OS X/Windows を実行する汎用コンピュータまで、さまざまなアーキテクチャで実行できることが検証されています。 https://github.com/nakkaya/ferret *** Ferret Programmer's Manual [#gbc2ae3d] https://ferret-lang.org/ * いろいろな人のClojureの記事 [#fc4d3047] ** JHipsterに使われている技術スタックと、Clojureの技術スタックを見やすく比較 [#y53982e4] https://github.com/pjagielski/clojure-landscape-from-java?tab=readme-ov-file しかし、この対比だと、フロントエンドは、Angularだけにみえてしまうが、そうなのだろうか? *** re-frame [#ceec743a] Reactだと、以下のフレームワークがエレガントらしい https://github.com/day8/re-frame ** ClojureでRDDとTDDのハイブリッドな開発スタイルを実践しよう [#fd59416a] https://zenn.dev/lagenorhynque/articles/742cf1a0b0a850 ** TDD with RDD: Clojure/LispのREPLで変わる開発体験 [#v441a87a] https://www.docswell.com/s/lagenorhynque/KWWL71-tdd-with-rdd-changed-developer-experience-through-clojure-lisp-repls ** Lispでマルチプレイヤーシューティングゲームを作りました [#j579628f] https://ertu.dev/posts/i-made-an-online-shooter-game-in-lisp/ ** ExcelなどのマクロであるVBAで動作するClojure風なやつ sporklisp [#j8dbd292] https://github.com/joinr/sporklisp ** githubのスターが多いものを言語別にまとめたページ [#s164a858] 見たほうがいい。日本では知名度が低い優れモノがみつかること間違いなし https://github.com/AlexiaChen/awesome-stars?tab=readme-ov-file *** ゲーム開発するときにどれを使うかのフロチャート [#ba3c3da8] https://flexiana.com/2024/05/lisp-game-jam-2024-a-starter-guide-for-clojure-devs *** githubのスターの多いclojureリポジトリ [#uf91d9b7] https://github.com/AlexiaChen/awesome-stars?tab=readme-ov-file#clojure ** C#のClojure CLR実装 [#t4ae3db8] Microsoft の .Net Framework の実行エンジンである Common Language Runtime (CLR) 上の Clojure のネイティブ実装です。 https://github.com/clojure/clojure-clr *** UnityとClojureを統合させる試みのArcadia [#z1c5fa31] 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 [#xc8d9360] https://clojurescript.org/ ** Go言語用のClojure風なやつ Glojure [#u8f89d1d] https://github.com/glojurelang/glojure ** Python用のClojure風なやつ basilisp [#y5a9eebf] https://github.com/basilisp-lang/basilisp ** PHP用のClojure風なやつ phel-lang [#eaea0a6d] https://phel-lang.org/ https://github.com/phel-lang/phel-lang ** Lispの方言をLisp1とLisp2に分類してみる話 [#z7a99a36] http://xahlee.info/emacs/emacs/lisp1_vs_lisp2.html ** LISP系言語で実用的なWebアプリも作れるClojureScript [#qdbd58a4] https://news.mynavi.jp/techplus/article/programinglanguageoftheworld-32/ ** Babashkaことはじめ - Clojureでシェルスクリプティングを代替する [#a8eeddc5] https://qiita.com/minebreaker/items/de78a425db81313eeccc ** Fleck [#w06d8488] 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のよさげなエコシステム [#b191a9e2] https://github.com/razum2um/awesome-clojure
spamではない場合はチェックをいれてください。
タイムスタンプを変更しない
* 目次 [#ec3503e0] #contents * Lispを学べるオンライン学習サイト [#vce0b6aa] ** Clojure の日本語ガイド [#zf4be0ab] https://ayato-p.github.io/clojure-beginner/index.html ** ゼロからClojure入門した振り返り 〜勉強したことや感想など〜 [#p854923e] Clojureの学習関連のリンクがまとめられています。 https://qiita.com/Saibaba81/items/16ef2486d2345f7f0e57 ** CommonLisp系 [#pf9181d2] Common Lispは、Clojureとは少し異なるが、そんなに大きく異なるわけではない *** A Road to Common Lisp ほんやく [#c93eafb5] https://gist.github.com/t-cool/b71accaeb270c98c189c622a3b018abf *** 魔法言語 リリカル☆Lisp [#x5b40e3a] 「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。 Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisperを使用。 別の処理系をインストールする必要はありません!! https://lyrical.bugyo.tk/ ** exercism [#ffec0c9c] たくさんの言語で学べる(英語) https://exercism.org/dashboard * 入門者用のLisp [#j7560679] (英語) https://racket-lang.org/ * paip-lisp [#h0331c39] https://github.com/norvig/paip-lisp Peter Norvig (1992) 著の書籍「Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp」と、そこに含まれるコードのオープンソース リポジトリ * VSCodeでのClojure開発における括弧操作入門 [#b20f3913] Clojure開発において括弧の操作は非常に重要です。VSCodeと適切な拡張機能を使用することで、効率的なコード編集が可能になります。この記事では、基本的な括弧操作から高度な編集テクニックまでを解説します。 ** 前提条件 [#h321ddc3] - VSCodeのインストール - Calva拡張機能のインストール *** calvaのユーザマニュアル [#w6597b5c] https://calva.io/ ** Calva以外の選択肢 [#d5f2bb7f] *** Cursive [#y0bdfa45] https://cursive-ide.com/ IntelliJ IDEA の拡張: Cursive は IntelliJ IDEA の機能を拡張し、Clojure 開発に特化した機能を提供します。 インテリジェントなコード補完: 文脈に応じた高度なコード補完を提供します。 リファクタリング支援: Clojure コードのリファクタリングを安全かつ効率的に行えます。 デバッグ機能: 強力なデバッグ機能を備え、ステップ実行、ブレークポイント設定、変数検査などをサポートします。 シンタックスハイライトとエラーチェック: 正確なシンタックスハイライトとリアルタイムのエラーチェックで、コードの品質を向上させます。 REPL 統合: IDE 内で REPL を使用し、インタラクティブな開発を可能にします。 テスト実行: IDE から直接テストを実行できます。 JVM 上での ClojureScript 開発サポート: ClojureScript の開発もサポートしています。 IntelliJ IDEA を Clojure 開発環境に変えるための専用 IDE プラグインです。 *** CIDER [#xd373e9e] https://cider.mx/ CIDER は Emacs ユーザーにとって、Clojure 開発に欠かせないツールであり、効率的で快適な開発体験を提供します。 Emacs に Clojure 開発機能を統合: CIDER は Emacs を強力な Clojure IDE に変えます。 REPL 中心のワークフロー: REPL (Read-Eval-Print Loop) を中心とした対話的な開発を支援します。 強力なデバッグ機能: ブレークポイント、ステップ実行、変数検査など、高度なデバッグ機能を備えています。 コード補完、シンタックスハイライト、ドキュメント表示: コードの記述を支援する機能が充実しています。 テスト実行: プロジェクト内のテストを簡単に実行し、結果を確認できます。 ミドルウェアによる拡張性: CIDER はミドルウェアによって機能を拡張できます。 *** vim-fireplace [#c48901c2] 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 として利用できます。 ** 基本的な括弧操作 [#d5bc127b] *** 括弧の移動 [#k1cf7003] 最も基本的な操作は括弧間の移動です。以下のショートカットを使用します: - `Ctrl+Alt+Right` / `Ctrl+Alt+Left`: S式の範囲を広げる/狭める - `Alt+Up` / `Alt+Down`: カーソル位置のS式を上下に移動 *** 括弧の選択 [#p18e6148] コードの編集や評価のために、括弧で囲まれた範囲を選択する操作も重要です: - `Ctrl+Shift+→` / `Ctrl+Shift+←`: 現在の括弧内を選択 - `Ctrl+W`: カーソル位置のS式全体を選択 *** 括弧の編集 [#x5a0d94e] コードの構造を変更する基本操作: - `Ctrl+Shift+Enter`: 現在の括弧の後に新しい行を挿入 - `Ctrl+Enter`: 括弧内で改行して整形 ** 高度な括弧操作 [#d181c9e7] *** スラープ(Slurp)とバープ(Barf) [#u9e4d081] これらは括弧の範囲を動的に変更する重要な操作です。 *** スラープ(括弧を広げる) [#c4b6bb28] - `Ctrl+Alt+Right`(Windows/Linux)または `Cmd+Alt+Right`(Mac) - 右にある要素を現在の括弧内に取り込みます ;; Before: (+ 1 2) 3 ;; After Slurp: (+ 1 2 3) *** バープ(括弧から出す) [#w8fabd02] - `Ctrl+Alt+Left`(Windows/Linux)または `Cmd+Alt+Left`(Mac) - 括弧内の最後の要素を外に出します ;; Before: (+ 1 2 3) ;; After Barf: (+ 1 2) 3 *** 実践的な使用例 [#t80bcd88] (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拡張機能の追加機能 [#m8a2fad9] *** S式の構造編集 [#w5fa61ab] - `Ctrl+Alt+C Space`: カーソル位置のフォームを評価 - `Alt+(` / `Alt+)`: S式を括弧で囲む/外す - `Ctrl+Alt+C V`: 選択範囲をS式として評価 *** REPL操作 [#n09a74fd] - `Ctrl+Alt+C Enter`: カーソル位置のフォームをREPLで評価 - `Ctrl+Alt+C C`: REPLに接続 ** 効率的な使用のためのTips [#k4a1c983] 1. カーソル位置を意識する - 操作の前に適切な位置にカーソルを合わせることが重要です 2. 段階的な操作を心がける - 複雑な変更は一度に行わず、小さなステップに分けて実行します 3. アンドゥを活用する - 操作を間違えた場合は`Ctrl+Z`ですぐに元に戻せます 4. 括弧の対応を確認する - VSCodeの括弧強調表示機能を活用して、構造の変更を確認します *** The Top 10 Calva Commands [#ea29e1b6] https://calva.io/commands-top10/ *** Finding Calva Commands [#w726c019] https://calva.io/finding-commands/ ** まとめ [#pfc2f2b4] VSCodeでのClojure開発において、括弧操作は基本的なスキルの一つです。これらのショートカットや操作方法を習得することで、より効率的なコーディングが可能になります。日々の練習を通じて、これらの操作を自然に使えるようになることをお勧めします。 インデントを自動でつけたり、括弧の範囲というか位置をショートカットで編集が自由自在になるレベルが必要。 * 毎年のように開かれているclojureの国際会議 [#d25be6ed] Clojure/conj で調べると出てくる ** ClojureTV [#de00ad1a] マニアックな感じしかしない https://www.youtube.com/watch?v=c5QF2HjHLSE&list=PLZdCLR02grLpIQQkyGLgIyt0eHE56aJqd *** 例: Clojure/conj2024 [#qb25c995] https://www.youtube.com/watch?v=Earx_BjvgO0&list=PLZdCLR02grLr4TWUP6qeLxIn4OJLNwKNZ *** 例: Clojure/conj2023 [#v0de0677] https://www.youtube.com/watch?v=c5QF2HjHLSE&list=PLZdCLR02grLpIQQkyGLgIyt0eHE56aJqd ** お絵描き [#z3568468] http://quil.info/ *** Clojureでお絵描き~quilの使い方~ [#i72ab738] http://qiita.com/Haar/items/19f9acbc739cd801233c ** 面白いサイトまとめ [#mb8ce1b8] https://qiita.com/mogamoga1337/items/a8fe542cd16be29dd657 ** C言語に変換できるFerret [#xcea6313] Ferret は、リアルタイム組み込み制御システムで使用するために設計されたフリーソフトウェア Lisp 実装です。Ferret Lisp は、自己完結型のC++11にコンパイルされます。生成されたコードは、 C++11準拠のコンパイラをサポートする任意のオペレーティングシステムおよび/またはマイクロコントローラ間で移植可能です。2KBの RAMしか搭載されていない組み込みシステムから、Linux/Mac OS X/Windows を実行する汎用コンピュータまで、さまざまなアーキテクチャで実行できることが検証されています。 https://github.com/nakkaya/ferret *** Ferret Programmer's Manual [#gbc2ae3d] https://ferret-lang.org/ * いろいろな人のClojureの記事 [#fc4d3047] ** JHipsterに使われている技術スタックと、Clojureの技術スタックを見やすく比較 [#y53982e4] https://github.com/pjagielski/clojure-landscape-from-java?tab=readme-ov-file しかし、この対比だと、フロントエンドは、Angularだけにみえてしまうが、そうなのだろうか? *** re-frame [#ceec743a] Reactだと、以下のフレームワークがエレガントらしい https://github.com/day8/re-frame ** ClojureでRDDとTDDのハイブリッドな開発スタイルを実践しよう [#fd59416a] https://zenn.dev/lagenorhynque/articles/742cf1a0b0a850 ** TDD with RDD: Clojure/LispのREPLで変わる開発体験 [#v441a87a] https://www.docswell.com/s/lagenorhynque/KWWL71-tdd-with-rdd-changed-developer-experience-through-clojure-lisp-repls ** Lispでマルチプレイヤーシューティングゲームを作りました [#j579628f] https://ertu.dev/posts/i-made-an-online-shooter-game-in-lisp/ ** ExcelなどのマクロであるVBAで動作するClojure風なやつ sporklisp [#j8dbd292] https://github.com/joinr/sporklisp ** githubのスターが多いものを言語別にまとめたページ [#s164a858] 見たほうがいい。日本では知名度が低い優れモノがみつかること間違いなし https://github.com/AlexiaChen/awesome-stars?tab=readme-ov-file *** ゲーム開発するときにどれを使うかのフロチャート [#ba3c3da8] https://flexiana.com/2024/05/lisp-game-jam-2024-a-starter-guide-for-clojure-devs *** githubのスターの多いclojureリポジトリ [#uf91d9b7] https://github.com/AlexiaChen/awesome-stars?tab=readme-ov-file#clojure ** C#のClojure CLR実装 [#t4ae3db8] Microsoft の .Net Framework の実行エンジンである Common Language Runtime (CLR) 上の Clojure のネイティブ実装です。 https://github.com/clojure/clojure-clr *** UnityとClojureを統合させる試みのArcadia [#z1c5fa31] 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 [#xc8d9360] https://clojurescript.org/ ** Go言語用のClojure風なやつ Glojure [#u8f89d1d] https://github.com/glojurelang/glojure ** Python用のClojure風なやつ basilisp [#y5a9eebf] https://github.com/basilisp-lang/basilisp ** PHP用のClojure風なやつ phel-lang [#eaea0a6d] https://phel-lang.org/ https://github.com/phel-lang/phel-lang ** Lispの方言をLisp1とLisp2に分類してみる話 [#z7a99a36] http://xahlee.info/emacs/emacs/lisp1_vs_lisp2.html ** LISP系言語で実用的なWebアプリも作れるClojureScript [#qdbd58a4] https://news.mynavi.jp/techplus/article/programinglanguageoftheworld-32/ ** Babashkaことはじめ - Clojureでシェルスクリプティングを代替する [#a8eeddc5] https://qiita.com/minebreaker/items/de78a425db81313eeccc ** Fleck [#w06d8488] 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のよさげなエコシステム [#b191a9e2] https://github.com/razum2um/awesome-clojure
テキスト整形のルールを表示する