Clojure for Domain-specific Languages

Ryan D. Kelker

  • 出版商: Packt Publishing
  • 出版日期: 2013-08-04
  • 售價: $2,010
  • 貴賓價: 9.5$1,910
  • 語言: 英文
  • 頁數: 268
  • 裝訂: Paperback
  • ISBN: 1782166505
  • ISBN-13: 9781782166504
  • 相關分類: JVM 語言
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Enhance your existing Clojure know-how with this example-packed tutorial on building custom languages. It will help you unlock the potential of Clojure in a way you probably never thought possible.

Overview

  • Explore DSL concepts from existing Clojure DSLs and libraries
  • Bring Clojure into your Java applications as Clojure can be hosted on a Java platform
  • A tutorial-based guide to develop custom domain-specific languages

In Detail

Clojure is a very new and rapidly growing language that runs on top of the JVM. The language being hosted on the Java platform allows for Clojure applications to use existing Java components. Although there are objects in Clojure, the language is not object oriented.

"Clojure for Domain-specific Languages" is an example-oriented guide to building custom languages. Many of the core components of Clojure are covered to help you understand your options when making a domain-specific language. By the end of this book, you should be able to make an internal DSL. Starting with a comparison of existing DSLs, this book will move on to guide you through general programming, Clojure editing, and project management. The chapters after that are code oriented.

"Clojure for Domain-specific Languages" tries to expose you to as much Clojure code as possible. Many of the examples are executed in a Read-Evaluate-Print-Loop environment, so the reader can also follow along on their own machine. This book uses Leiningen, but no prior knowledge of it is required.

"Clojure for Domain-Specific Languages" aims to make you familiar with the Clojure language and help you learn the tools to make your own language.

What you will learn from this book

  • Understand the pros and cons of a domain-specific language
  • Learn general programming design concepts
  • Know the benefits of a Lisp-based syntax
  • Edit Clojure files in Emacs
  • Learn to operate a Read-Evaluate-Loop session from within Emacs
  • Build Clojure projects with Leiningen
  • Manipulate and make polymorphic objects in a non-object-oriented language
  • Create a Twitter domain-specific language to understand Clojure, its Java, and Lisp foundation closely
  • Use your Clojure applications inside of a Java project

Approach

An example-oriented approach to develop custom domain-specific languages.

Who this book is written for

If you've already developed a few Clojure applications and wish to expand your knowledge on Clojure or domain-specific languages in general, then this book is for you. If you're an absolute Clojure beginner, then you may only find the detailed examples of the core Clojure components of value. If you've developed DSLs in other languages, this Lisp and Java-based book might surprise you with the power of Clojure.

商品描述(中文翻譯)

增強您現有的 Clojure 知識,這本以實例為基礎的教程將教您如何建立自定義語言。它將幫助您以一種您可能從未想過的方式發揮 Clojure 的潛力。

概述:
- 探索現有的 Clojure DSL 和庫中的 DSL 概念
- 將 Clojure 引入您的 Java 應用程序,因為 Clojure 可以在 Java 平台上運行
- 以教程為基礎的指南,開發自定義領域特定語言

詳細內容:
Clojure 是一種非常新且快速發展的語言,運行在 JVM 之上。由於該語言托管在 Java 平台上,Clojure 應用程序可以使用現有的 Java 組件。儘管 Clojure 中存在對象,但該語言並非面向對象。

《Clojure for Domain-specific Languages》是一本以實例為導向的建立自定義語言的指南。本書涵蓋了 Clojure 的許多核心組件,以幫助您在創建領域特定語言時了解選項。通過閱讀本書,您將能夠製作內部 DSL。從現有 DSL 的比較開始,本書將引導您進行一般編程、Clojure 編輯和項目管理。之後的章節都是以代碼為導向的。

《Clojure for Domain-specific Languages》試圖讓您盡可能接觸到 Clojure 代碼。許多示例在 Read-Evaluate-Print-Loop 環境中執行,因此讀者也可以在自己的機器上跟隨操作。本書使用 Leiningen,但不需要事先了解它。

《Clojure for Domain-Specific Languages》旨在讓您熟悉 Clojure 語言,並幫助您學習製作自己語言的工具。

本書將教您以下內容:
- 了解領域特定語言的優缺點
- 學習一般編程設計概念
- 了解基於 Lisp 的語法的好處
- 在 Emacs 中編輯 Clojure 文件
- 學習在 Emacs 內操作 Read-Evaluate-Loop 會話
- 使用 Leiningen 構建 Clojure 項目
- 在非面向對象的語言中操作和創建多態對象
- 創建 Twitter 領域特定語言,以深入了解 Clojure、它的 Java 和 Lisp 基礎
- 在 Java 項目中使用您的 Clojure 應用程序

這本書以實例為導向,旨在開發自定義領域特定語言。

本書的讀者對象:
- 如果您已經開發過幾個 Clojure 應用程序,並希望擴展您對 Clojure 或領域特定語言的知識,那麼這本書適合您。
- 如果您是 Clojure 的初學者,則可能只會對核心 Clojure 組件的詳細示例感興趣。
- 如果您在其他語言中開發過 DSL,這本基於 Lisp 和 Java 的書可能會讓您對 Clojure 的強大功能感到驚訝。