docs icon indicating copy to clipboard operation
docs copied to clipboard

Documentation of Hamler

Documentation of Hamler

hamler-logo

Cheatsheet

Guides

  1. Why Hamler?
  • What's Hamler
  • Prerequisites
  • Haskell Style
  • Type Checking
  • Erlang and Concurrency
  1. Quick Start
  • Installation
  • Hamler Interpreter
  • Create A Project
  • Module Structure
  • Hello Hamler
  1. Basic Types, Functions and Operators
  • Simple Types
  • Operators
  • Functions
  • Quantified Types
  • Notes on Indentations
  • Type Synynom
  • Records
  1. More Types and Pattern Matching
  • Algebraic Data Types
  • Newtypes
  • Simple Pattern Matching
  • Guards
  • List Patterns
  • Record Patterns
  • Maps
  • Map Patterns
  • Binary Patterns
  • Case Expressions
  1. High Order Functions And Recursions
  • Introduction
  • Recursions on more complicated datatypes
  • Map, filter and fold
  • List Comprehensions
  • Higher Order Functions
  1. Type Classes
  • Introduction
  • Functor
  • Common type classes
  1. Applicative and Monad
  • Functor
  • Applicative
  • Monad
  • Lifting
  1. Foreign Function Interface
  • Use Erlang Code From Hamler
  • Foreign Import
  • FFI Functions
  1. 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
  1. 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
  1. OTP Behaviours
  • Overview
  • GenServer
  • GenStatem
  • GenEvent
  • Supervisor
  1. Node and Distributed Erlang
  • Distributed Erlang/OTP
  • Connect Nodes
  • RPC
  1. Differences From Erlang
  • Overview
  • Variables
  • Delimiters
  • Comments
  • Functions
  • Data Types
  • List Comprehensions
  • Expressions
  • Operators
  • Modules

FAQ