docs
docs copied to clipboard
Documentation of Hamler
Documentation of Hamler
Cheatsheet
Guides
- Why Hamler?
- What's Hamler
- Prerequisites
- Haskell Style
- Type Checking
- Erlang and Concurrency
- Quick Start
- Installation
- Hamler Interpreter
- Create A Project
- Module Structure
- Hello Hamler
- Basic Types, Functions and Operators
- Simple Types
- Operators
- Functions
- Quantified Types
- Notes on Indentations
- Type Synynom
- Records
- More Types and Pattern Matching
- Algebraic Data Types
- Newtypes
- Simple Pattern Matching
- Guards
- List Patterns
- Record Patterns
- Maps
- Map Patterns
- Binary Patterns
- Case Expressions
- High Order Functions And Recursions
- Introduction
- Recursions on more complicated datatypes
- Map, filter and fold
- List Comprehensions
- Higher Order Functions
- Type Classes
- Introduction
- Functor
- Common type classes
- Applicative and Monad
- Functor
- Applicative
- Monad
- Lifting
- Foreign Function Interface
- Use Erlang Code From Hamler
- Foreign Import
- FFI Functions
- Data Types Mapping
- Overview
- Atoms Mapping
- Booleans Mapping
- Chars Mapping
- Integers Mapping
- Floats Mapping
- Strings Mapping
- Tuples Mapping
- Lists Mapping
- Enum, Range
- Maps Mapping
- Records Mapping
- Binaries Mapping
- Ports Mapping
- Pids Mapping
- References Mapping
- User-defined data types Mapping
- Message Passing Concurrency
- About Actor Model
- Process and Mailbox
- A Ping/Pong Example
- Spawn a new process
- Send/Receive message
- Selective Receive
- Receive .. after
- Registered Processes
- Linking
- Monitoring
- Process Termination
- OTP Behaviours
- Overview
- GenServer
- GenStatem
- GenEvent
- Supervisor
- Node and Distributed Erlang
- Distributed Erlang/OTP
- Connect Nodes
- RPC
- Differences From Erlang
- Overview
- Variables
- Delimiters
- Comments
- Functions
- Data Types
- List Comprehensions
- Expressions
- Operators
- Modules