Domain-Specific Languages

Domain-Specific Languages
Author: Martin Fowler
Publisher: Pearson Education
Total Pages: 796
Release: 2010-09-23
Genre: Computers
ISBN: 0131392808

When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages, noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs. Then, where DSLs prove suitable, Fowler presents effective techniques for building them, and guides software engineers in choosing the right approaches for their applications. This book’s techniques may be utilized with most modern object-oriented languages; the author provides numerous examples in Java and C#, as well as selected examples in Ruby. Wherever possible, chapters are organized to be self-standing, and most reference topics are presented in a familiar patterns format. Armed with this wide-ranging book, developers will have the knowledge they need to make important decisions about DSLs—and, where appropriate, gain the significant technical and business benefits they offer. The topics covered include: How DSLs compare to frameworks and libraries, and when those alternatives are sufficient Using parsers and parser generators, and parsing external DSLs Understanding, comparing, and choosing DSL language constructs Determining whether to use code generation, and comparing code generation strategies Previewing new language workbench tools for creating DSLs

Building User-Friendly DSLs

Building User-Friendly DSLs
Author: Meinte Boersma
Publisher: Simon and Schuster
Total Pages: 502
Release: 2024-11-19
Genre: Computers
ISBN: 1617296473

Craft domain-specific languages that empower experts to create software themselves. Domain-specific languages put business experts at the heart of software development. These purpose-built tools let your clients write down their business knowledge and have it automatically translated into working software—no dev time required. They seamlessly bridge the knowledge gap between programmers and subject experts, enabling better communication and freeing you from time-consuming code adjustments. Inside Building User-Friendly DSLs you’ll learn how to: • Build a complete Domain IDE for a car rental company • Implement a projectional editor for your DSL • Implement content assist, type systems, expressions, and versioning language aspects • Evaluate business rules • Work with Abstract Syntax Trees • Reduce notated DSL content in concrete syntax into abstract syntax Building User-Friendly DSLs takes you on a carefully-planned journey through everything you need to create your own DSLs. It focuses on building DSLs that are easy for busy business experts to learn and master. By working through a detailed example of a car rental company, you'll see how to create a custom DSL with a modern and intuitive UI that can replace tedious coding activities. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Here’s the central problem of software development: business users know what they need their apps to do, but they don’t know how to write the code themselves. As a developer, this means you spend a lot of time learning the same domain-specific details your user already knows. Now there’s a way to bridge this gap! You can create a Domain-Specific Language (DSL) that empowers non-technical business users to create and customize their own applications without writing any code. About the book Building User-Friendly DSLs teaches you how to create a complete domain-specific language that looks and works like a web application. These easy-to-use DSLs put the power to create custom software into the hands of business domain experts. As you go, you’ll cover all the essentials, from establishing structure and syntax of your DSL to implementing a user-friendly interface. What's inside • Implement a projectional editor for your DSL • Work with Abstract Syntax Trees • Evaluate business rules About the reader For developers with JavaScript and web development experience. About the author Meinte Boersma is a senior developer and an evangelist of model-driven software development and DSLs. Table of Contents 1 What is a domain-specific language? 2 Representing DSL content as structured data 3 Working with ASTs in code 4 Projecting the AST 5 Editing values in the projection 6 Editing objects in the projection 7 Implementing persistence and transportation of ASTs 8 Generating code from the AST 9 Preventing things from blowing up 10 Managing change 11 Implementing expressions: Binary operations 12 Implementing expressions: Order of operations 13 Implementing a type system 14 Implementing business rules 15 Some topics we didn’t cover

Fundamentals of DSL Technology

Fundamentals of DSL Technology
Author: Philip Golden
Publisher: CRC Press
Total Pages: 472
Release: 2005-09-29
Genre: Technology & Engineering
ISBN: 1135495203

The DSL arena is expanding rapidly, making it highly unlikely that any single author can adequately address the breadth and depth of the subject. Responding to the demand of designers worldwide, Fundamentals of DSL Technology combines the strengths of the field's most renowned DSL experts, providing a foundation of all aspects of DSL system design. The volume begins with an introductory three-chapter examination of DSL copper transmission channels, reviewing the basic telephone environment, the physical-layer twisted pair, and the noise environment in the twisted pair channel. The book then explores line codes - laying the foundation for later chapters about other aspects of DSL design - and discusses the basic objectives of DSL service, comparing DSL to other broadband delivery methods. The book concludes with a description of other basic aspects of DSL transmission, covering topics such as trellis codes, Reed-Solomon codes and interleaving, turbo and LDPC codes, basic equalization theory, synchronization, and more.

Fundamentals of DSL Technology

Fundamentals of DSL Technology
Author: Philip Golden
Publisher: CRC Press
Total Pages: 472
Release: 2005-09-29
Genre: Computers
ISBN: 0203317491

The DSL arena is expanding rapidly, making it highly unlikely that any single author can adequately address the breadth and depth of the subject. Responding to the demand of designers worldwide, Fundamentals of DSL Technology combines the strengths of the field's most renowned DSL experts, providing a foundation of all aspects of DSL system design.

DSLs in Action

DSLs in Action
Author: Debasish Ghosh
Publisher: Simon and Schuster
Total Pages: 544
Release: 2010-11-30
Genre: Computers
ISBN: 1638351171

Your success—and sanity—are closer at hand when you work at a higher level of abstraction, allowing your attention to be on the business problem rather than the details of the programming platform. Domain Specific Languages—"little languages" implemented on top of conventional programming languages—give you a way to do this because they model the domain of your business problem. DSLs in Action introduces the concepts and definitions a developer needs to build high-quality domain specific languages. It provides a solid foundation to the usage as well as implementation aspects of a DSL, focusing on the necessity of applications speaking the language of the domain. After reading this book, a programmer will be able to design APIs that make better domain models. For experienced developers, the book addresses the intricacies of domain language design without the pain of writing parsers by hand. The book discusses DSL usage and implementations in the real world based on a suite of JVM languages like Java, Ruby, Scala, and Groovy. It contains code snippets that implement real world DSL designs and discusses the pros and cons of each implementation. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. What's Inside Tested, real-world examples How to find the right level of abstraction Using language features to build internal DSLs Designing parser/combinator-based little languages

Programming DSLs in Kotlin

Programming DSLs in Kotlin
Author: Venkat Subramaniam
Publisher: Pragmatic Bookshelf
Total Pages: 104
Release: 2021-03-23
Genre: Computers
ISBN: 1680508261

Creating your own domain-specific languages (DSLs) is both challenging and exhilarating. DSLs give users a way to interact with your applications more effectively, and Kotlin is a fantastic language to serve as a host for internal DSLs, because it greatly reduces the pain and effort of design and development. But implementing DSLs on top of Kotlin requires understanding the key strengths of the language and knowing how to apply them appropriately. Learn to avoid the pitfalls and leverage the language while creating your own elegant, fluent, concise, and robust DSLs using Kotlin. Internal DSLs remove the burdens of implementing a full blown language compiler. The host language quickly becomes your ally to creating DSLs, but the syntax you can choose for your DSLs is limited to what the host language allows. You can work around the limitations by tactfully bending the rules and exploiting the language capabilities. Learn the power of Kotlin and ways to design with it, in the context of crafting internal DSLs Start by learning ways to exploit the flexibilities of Kotlin to make your DSLs fluent, expressive, and concise. Then pick up techniques to extend the language with domain specific properties and functions. Quickly move ahead to tie your DSL snippets into the runtime environment and context of execution of your applications. Design to prevent any non-sensical syntax in your DSL that may otherwise be valid in the host language. Finally, learn techniques to gracefully handle errors. Practice using the multiple examples that are included in each chapter. Fire up your editor and follow along each example to become proficient in designing and implementing your own internal DSLs using Kotlin. What You Need: Kotlin version 1.3 or later and your favorite Kotlin IDE or code editor.

DSL for Dummies

DSL for Dummies
Author: David Angell
Publisher: For Dummies
Total Pages: 364
Release: 1999
Genre: Computers
ISBN: 9780764504754

An introduction to Digital Subscriber Lines, the affordable, easy-to-install, and increasingly popular way to establish lightning-quick Internet access. David Angell prepares large and small organization, telecommuters, and IT professionals to take advantage of this new technology.

Implementation and Applications of DSL Technology

Implementation and Applications of DSL Technology
Author: Philip Golden
Publisher: CRC Press
Total Pages: 818
Release: 2007-10-26
Genre: Computers
ISBN: 1420013076

The digital subscriber line (DSL) industry is expanding rapidly and a technology once thought to be only transitional will soon clear $100 billion in total annual service revenue. From the world's leading DSL experts, Implementation and Application of DSL Technologies builds upon the theory presented in Fundamentals of DSL Technologies

End-to-end DSL Architectures

End-to-end DSL Architectures
Author: Wayne C. Vermillion
Publisher: Cisco Press
Total Pages: 442
Release: 2003
Genre: Computers
ISBN: 9781587050879

A complete guide of all DSL varieties, this volume also acts as a working handbook of configurations for all Cisco Systems devices. This book covers new standards and deregulation issues, including the recommended G.shdsl standard International regulatory and infrastructure detail for a more global approach.

DSL Advances

DSL Advances
Author: Thomas Starr
Publisher: Prentice Hall Professional
Total Pages: 588
Release: 2003
Genre: Digital subscriber lines
ISBN: 9780130938107

Comprehensive coverage of physical-layer and upper-layer aspects are a unique feature of this book. It covers the latest in both U.S. and international standards. Experts who helped to write the DSL standards describe the many advances in DSL technology and applications since the writing of their bestselling "Understanding Digital Subscriber Line Technology."