Giter Club home page Giter Club logo

lfe-tutorial's Introduction

The LFE Tutorial

The LFE Tutorial is based on the Erlang tutorial Getting Started with Erlang

Introduction

The members of the LFE community are working toward a more comprehensive LFE tutorial, but we wanted to get something out sooner rather than later, so we're starting with this. On the positive side, it's material that has already been created and we have only had to make syntax changes and other edits at our discretion. However, one downside of this as the first full LFE tutorial is that it's not 100% new-comer friendly: it doesn't start from absolute basics (some knowledge is presumed) and the tutorial is not comprehensive (much is left out).

That being said, the this tutorial is an intentional "kick start", aimed at to getting you started with LFE. Everything here is true, but as mentioned, it only represents part of the truth. For example, we will typically only cover simpler syntax and not explore all the esoteric forms. However, for the curious reader we've annotated where one may get more detailed information on topics covered lightly (or skipped entirely).

Prerequisites

What Is Covered

This tutorial covers the following topics:

  • Sequential programming (installing LFE, the REPL, functions, modules, data types, the standard library, writing to the terminal, pattern matching, guards, conditionals, built-in functions, and higher-order functions)
  • Concurrent programming (processes, message passing, registered processes, and distributed programming)
  • Robustness (timeouts and error handling)
  • Records and macros (header files, records, and macros)

What Has Been Left Out

The following topics has been omitted from this tutorial:

  • Erlang References
  • Local error handling (catch/throw)
  • Single direction links (monitor)
  • Handling of binary data (binaries / bit syntax)
  • List comprehensions
  • How to communicate with the outside world and/or software written in other languages (ports).
  • Very few of the Erlang libraries have been touched on (for example file handling)
  • OTP has been totally skipped and in consequence the Mnesia database has been skipped.
  • Hash tables for Erlang terms (ETS)
  • Changing code in running systems

lfe-tutorial's People

Contributors

josefrichter avatar oubiwann avatar rvirding avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.