BIBLIOGRAPHY

Daniel Higginbotham. n.d. โ€œHome - Flying Machine Studios.โ€ Accessed March 20, 2025. https://www.flyingmachinestudios.com/.

โ€œFlyingmachine/Emacs-for-Clojure.โ€ 2025. https://github.com/flyingmachine/emacs-for-clojure.

History

  • [2025-03-20 Thu 13:22] ์ด ์ฑ…์€ ๋ ˆํผ๋Ÿฐ์Šค

Home - Flying Machine Studios

(Daniel Higginbotham n.d.)

flyingmachine/emacs-for-clojure

(โ€œFlyingmachine/Emacs-for-Clojureโ€ 2025)

  • Higginbotham, Daniel

  • 2025

Table of Contents

Part I: Environment Setup : 1๋ถ€: ํ™˜๊ฒฝ ์„ค์ •

Chapter 1: Building, Running, and the REPL

1์žฅ: ๋นŒ๋“œ, ์‹คํ–‰ ๋ฐ REPL

Chapter 2: How to Use Emacs, an Excellent Clojure Editor

2์žฅ: ๋›ฐ์–ด๋‚œ Clojure ํŽธ์ง‘๊ธฐ์ธ Emacs ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

Part II: Language Fundamentals : 2๋ถ€: ์–ธ์–ด ๊ธฐ์ดˆ

Chapter 3: Do Things: A Clojure Crash Course

3์žฅ: ์ž‘์—… ์ˆ˜ํ–‰ํ•˜๊ธฐ: ํด๋กœ์ € ๋‹จ๊ธฐ ์†์„ฑ ๊ณผ์ •

Chapter 4: Core Functions in Depth

4์žฅ: ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์‹ฌ์ธต ๋ถ„์„

Chapter 5: Functional Programming

5์žฅ: ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Chapter 6: Organizing Your Project: A Librarianโ€™s Tale

6์žฅ: ํ”„๋กœ์ ํŠธ ์ •๋ฆฌํ•˜๊ธฐ ์‚ฌ์„œ ์ด์•ผ๊ธฐ

Chapter 7: Clojure Alchemy: Reading, Evaluation, and Macros

7์žฅ: ํด๋กœ์ € ์—ฐ๊ธˆ์ˆ : ์ฝ๊ธฐ, ํ‰๊ฐ€ ๋ฐ ๋งคํฌ๋กœ

Chapter 8: Writing Macros

8์žฅ: ๋งคํฌ๋กœ ์ž‘์„ฑํ•˜๊ธฐ

Part III: Advanced Topics : ํŒŒํŠธ III: ๊ณ ๊ธ‰ ์ฃผ์ œ

Chapter 9: Concurrent and Parallel Programming

9์žฅ: ๋™์‹œ ๋ฐ ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Chapter 10: Clojure Metaphysics: Atoms, Refs, Vars, and Cuddle Zombies

10์žฅ: ํด๋กœ์ € ํ˜•์ด์ƒํ•™: ์›์ž, ์ฐธ์กฐ, ๋ณ€์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ํฌ์˜น ์ข€๋น„

Chapter 11: Master Concurrent Processes with core.async

11์žฅ: core.async๋ฅผ ์‚ฌ์šฉํ•œ ๋งˆ์Šคํ„ฐ ๋™์‹œ ํ”„๋กœ์„ธ์Šค

Chapter 12: Interacting with Java

12์žฅ: Java์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ

Chapter 13: Create and Extend Abstractions with Multimethods, Protocols, and Records

13์žฅ: ๋ฉ€ํ‹ฐ๋ฉ”์†Œ๋“œ, ํ”„๋กœํ† ์ฝœ ๋ฐ ๋ ˆ์ฝ”๋“œ๋กœ ์ถ”์ƒํ™” ์ƒ์„ฑ ๋ฐ ํ™•์žฅํ•˜๊ธฐ

Appendix A: Building and Developing with Leiningen

๋ถ€๋ก A: ๋ผ์ด๋‹์—”์œผ๋กœ ๊ตฌ์ถ• ๋ฐ ๊ฐœ๋ฐœํ•˜๊ธฐ

Appendix B: Boot, the Fancy Clojure Build Framework

๋ถ€๋ก B: Boot, ๋ฉ‹์ง„ Clojure ๋นŒ๋“œ ํ”„๋ ˆ์ž„์›Œํฌ

|2025-03-20 Thu 14:10|

@user ์œ„์˜ ๋ชฉ์ฐจ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ Clojure์— ๋Œ€ํ•œ ํ‚ค์›Œ๋“œ ์šฉ์–ด์ง‘์„ ์˜ํ•œ, ํ•œ์˜์œผ๋กœ ๋งŒ๋“ค์–ด ์ค„๋ž˜. ์–‘์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋ถ€ํƒํ•ด

@assistant ๋‹ค์Œ์€ Clojure for the Brave and True ์ฑ…์˜ ๋ชฉ์ฐจ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Clojure ๊ด€๋ จ ํ‚ค์›Œ๋“œ ์šฉ์–ด์ง‘์ž…๋‹ˆ๋‹ค.

Building : ๋นŒ๋“œ

Running : ์‹คํ–‰

REPL : ๋Œ€ํ™”ํ˜• ํ”„๋กฌํ”„ํŠธ

Emacs : ์ด๋งฅ์Šค (ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ)

Crash Course : ๋‹จ๊ธฐ ์†์„ฑ ๊ณผ์ •

Core Functions : ํ•ต์‹ฌ ๊ธฐ๋Šฅ

Functional Programming : ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Librarianโ€™s Tale : ์‚ฌ์„œ ์ด์•ผ๊ธฐ

Macros : ๋งคํฌ๋กœ

Concurrent Programming : ๋™์‹œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Parallel Programming : ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Atoms : ์›์ž

Refs : ์ฐธ์กฐ

Vars : ๋ณ€์ˆ˜

Cuddle Zombies : ํฌ์˜น ์ข€๋น„ (๋ฉ”ํƒ€ํ”„๋ฆฌ์ฆ˜ ์šฉ์–ด)

core.async : ์ฝ”์–ด ์• ์‹ฑํฌ (๋™์‹œ์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)

Multimethods : ๋ฉ€ํ‹ฐ๋ฉ”์†Œ๋“œ

Protocols : ํ”„๋กœํ† ์ฝœ

Records : ๋ ˆ์ฝ”๋“œ

Leiningen : ๋ผ์ด๋‹์—” (๋นŒ๋“œ ๋„๊ตฌ)

Immutable Data Structures : ๋ถˆ๋ณ€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

Lazy Evaluation : ๊ฒŒ์œผ๋ฅธ ํ‰๊ฐ€

ClojureScript : ํด๋กœ์ €์Šคํฌ๋ฆฝํŠธ (JavaScript ํƒ€๊ฒŸ ์–ธ์–ด)

Immutable Data Structures : ๋ถˆ๋ณ€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

Lazy Evaluation : ๊ฒŒ์œผ๋ฅธ ํ‰๊ฐ€

ClojureScript : ํด๋กœ์ €์Šคํฌ๋ฆฝํŠธ

Citations: [1] https://bjpublic.tistory.com/257 [2] https://128bit.io/posts/for-the-brave-and-true/ [3] https://nostarch.com/clojure [4] https://www.braveclojure.com/clojure-for-the-brave-and-true/

@user