Book Image

Learn Bosque Programming

By : Sebastian Kaczmarek, Joel Ibaceta
Book Image

Learn Bosque Programming

By: Sebastian Kaczmarek, Joel Ibaceta

Overview of this book

Bosque is a new high-level programming language inspired by the impact of structured programming in the 1970s. It adopts the TypeScript syntax and ML semantics and is designed for writing code that is easy to reason about for humans and machines. With this book, you'll understand how Bosque supports high productivity and cloud-first development by removing sources of accidental complexity and introducing novel features. This short book covers all the language features that you need to know to work with Bosque programming. You'll learn about basic data types, variables, functions, operators, statements, and expressions in Bosque and become familiar with advanced features such as typed strings, bulk algebraic data operations, namespace declarations, and concept and entity declarations. This Bosque book provides a complete language reference for learning to program with Bosque and understanding the regularized programming paradigm. You'll also explore real-world examples that will help you to reinforce the knowledge you've acquired. Additionally, you'll discover more advanced topics such as the Bosque project structure and contributing to the project. By the end of this book, you'll have learned how to configure the Bosque environment and build better and reliable software with this exciting new open-source language.
Table of Contents (22 chapters)
1
Section 1: Introduction
5
Section 2: The Bosque Language Overview
10
Section 3: Practicing Bosque
15
Section 4: Exploring Advanced Features

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "We have the ApplicationContext entity, which holds two fields: emailServiceEnabled and user."

A block of code is set as follows:

let context = ApplicationContext@{
    emailServiceEnabled = false, user = user
};

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

entrypoint function main(): String {    let user = User@{ name = "John Doe", id = 1 };    var context = ApplicationContext@{ emailServiceEnabled =  	     false, user = user };    context = enableEmailService(ref context);
    return sendEmail(context);}

Any command-line input or output is written as follows:

$ symtest ai-classifier.bsq -e "NSMain::run"

Bold: Indicates a new term, an important word, or words that you see on screen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "If you don't have it in the first list, you can either create a new variable named Path using the New… button or you can find it in the System variables list."

Tips or important notes

Appear like this.