Index
A
- add_topic function / Creating a topic
B
- @both_implem directive / Slicing annotations
- basic syntax
- datatypes / Basic datatypes
- functions / Functions
- data structures / Data structures
- pattern matching / Pattern matching
- text parsers / Text parsers
- Binding System Library (BSL) / Binding JavaScript
- Bootstrap
- importing / Importing Bootstrap
- classes, using / Using classes
- icons, using / Using icons
- widgets, using / Using widgets
- Bootstrap icons
- using / Bootstrap icons
- broadcast function
- about / Building application logic
- btn-primary class / Importing Bootstrap
C
- Canvas.arc function / Drawing a curve
- Canvas.draw_image function / Drawing an image
- Canvas.get_context_2d function / The HTML5 Canvas
- Canvas.get_context_2d method / The HTML5 Canvas
- Canvas.set_font function / Drawing the text
- Canvas.stroke_text method / Drawing the text
- cell, client-server communication
- about / Cell
- Cell.call
- about / Cell
- Cell.make
- about / Cell
- chat application
- developing / Creating a project
- source code files / Creating a project
- web server, launching / Launching the web server
- user interface / Designing user interface
- working / Building application logic, Broadcasting and receiving messages
- client-server communication
- about / Client and server communication
- session / Session
- cell / Cell
- network / Network
- client-server slicing
- about / Client and server slicing
- example / A simple example
- slicing annotations / Slicing annotations
- module slicing / Module slicing
- expression slicing / Expression slicing
- controller.opa file
- about / Creating a project
- custom handler
- about / The customize handler
D
- data, MongoDB
- manipulating / Database manipulation
- querying / Querying data
- database manipulation, MongoDB
- performing / Database manipulation
- records / Records
- lists / Lists
- sets and maps / Sets and maps
- data structures
- about / Data structures
- records / Records
- lists / Lists
- maps / Maps
- datatypes
- about / Basic datatypes
- integers / Integers
- floats / Floats
- strings / Strings
- sum / Sum
- dispatch handler
- about / The dispatch handler
- DOM
- about / Manipulating DOMs
- manipulating / Manipulating DOMs
- selecting / DOM selection
- values, reading / Reading values
- content, updating / Updating content
- event handler, binding / Binding an event handler
- animations / Animations
- Dom.bind
- about / Binding an event handler
- Dom.Effect
- about / Animations
- Dom.get_text
- about / Reading values
- Dom.get_value
- about / Reading values
- Dom.transaction
- about / Animations
- draw_image method / Drawing an image
- draw_image_full function / Drawing an image
- draw_image_with_dimensions / Drawing an image
E
- editors
- setting up / Setting up editors
- Sublime Text / Sublime Text
- Vim / Vim
- Emacs / Emacs
- Emacs
- about / Emacs
- event handler
- about / Handling events
- experimental plugin
- URL / Emacs
- expression slicing
- about / Expression slicing
- external approach, internationalization
- using / External approach
- external functions
- binding, jsdoc syntax used / Binding external functions using the classic syntax
- external JavaScript library, Pacman game
- binding / Binding the external JavaScript library
- resources, preloading / Preloading the resources
- sounds, playing / Playing sounds
F
- FbAuth / Signing in with Facebook
- fill property / Using the fill and stroke properties
- Float module
- URL / Floats
- floats
- about / Floats
- Font Awesome icons
- about / Font Awesome icons
- full modification / Records
- function page()
- about / Using widgets
- functions
- about / Functions
- last expression return / Last expression return
- modules / Modules
G
- Game.gamestart function / The HTML5 Canvas
H
- handlers group
- about / The handlers group
- HTML5 Canvas, for Pacman game
- about / The HTML5 Canvas
- shape, drawing / Drawing a shape
- image, drawing / Drawing an image
- text, drawing / Drawing the text
I
- @i18n directive / Internal approach
- image, Packman game
- drawing / Drawing an image
- installation
- Opa / Installing Opa
- Node.js / Installing Node.js
- Opa compiler / Installing the Opa compiler
- integers
- about / Integers
- Integrated Development Environment (IDE) / Setting up editors
- internal approach, internationalization
- using / Internal approach
- internationalization (i18n)
- internal approach / Internal approach
- external approach / External approach
- intmap
- about / Maps
- Int module
- URL / Integers
J
- JavaScript binding
- about / Binding JavaScript
- example / The first example
- external types, using / Using external types
- jsdoc syntax
- used, for binding external functions / Binding external functions using the classic syntax
L
- last expression return
- about / Last expression return
- Linux
- Opa compiler, installing / Installing the Opa compiler
- List.filter
- about / Transforming lists
- List.find
- about / Finding elements
- List.fold
- about / Iterating through a list
- List.foldi
- about / Iterating through a list
- List.index
- about / Finding elements
- List.index_p
- about / Finding elements
- List.map
- about / Transforming lists
- List.sort
- about / Sorting a list
- List.sort_by
- about / Sorting a list
- List.sort_with
- about / Sorting a list
- List module
- URL / Lists
- lists
- about / Lists
- building / Lists
- interating through / Iterating through a list
- elements, finding / Finding elements
- transforming / Transforming lists
- sorting / Sorting a list
- LiveRoom application
- project structure / Project structure
- user authorization / Authorizing a user
- about / The application
- working / The application
- topics, listing / Listing topics
- topics, creating / Creating a topic
- message, posting / Posting messages and comments
- comment, posting / Posting messages and comments
- design, for mobile devices / Designing for mobile devices
M
- Mac OS
- Node.js, installing / Installing Node.js
- Opa compiler, installing / Installing the Opa compiler
- Makefile
- about / Creating a project
- maps
- about / Maps
- stringmap / Maps
- intmap / Maps
- model.opa file
- about / Creating a project
- modules
- about / Modules
- module slicing
- about / Module slicing
- MongoDB
- downloading / A quick start to MongoDB
- installing / A quick start to MongoDB
- database manipulation / Database manipulation
- data, querying / Querying data
N
- N-tuple
- about / Tuples
- network, client-server communication
- about / Network
- Network.broadcast(msg,network)
- about / Network
- Network.empty() function
- about / Network
- Network.observe(cb,network) function
- about / Network
- next_id function / Creating a topic
- Node.js
- URL / Installing Node.js
- installing / Installing Node.js
- installing, on Mac OS / Installing Node.js
- installing, on Ubuntu and Debian Linux / Installing Node.js
- installing, on Windows / Installing Node.js
- binding / Binding Node.js
O
- Opa
- installing / Installing Opa
- building, from source / Installing Opa
- URL / Installing the Opa compiler
- client-server slicing / Client and server slicing
- JavaScript binding / Binding JavaScript
- Node.js binding / Binding Node.js
- external functions binding, jsdoc syntax used / Binding external functions using the classic syntax
- Opa application
- about / Your first Opa application
- Opa compiler
- installing / Installing the Opa compiler
- installing, on Mac OS X / Installing the Opa compiler
- installing, on Ubuntu and Debian Linux / Installing the Opa compiler
- installing, on Windows / Installing the Opa compiler
- installing, on Linux / Installing the Opa compiler
- opa create opacman command / The project structure
- Opa installation
- about / Installing Opa
- Node.js, installing / Installing Node.js
- modules, installing / Installing the required modules
- Opa compiler, installing / Installing the Opa compiler
- testing / Testing the installation
- Opa plugin
- installing / Sublime Text
- Opa Slicer
- about / Client and server slicing
P
- Packman game
- external JavaScript library, binding / Binding the external JavaScript library
- Pacman game
- project structure / The project structure
- HTML5 Canvas, used / The HTML5 Canvas
- parsing
- about / Text parsers
- pattern matching
- about / Pattern matching
- rules / Pattern matching
- Perl
- about / Preparing pages
- PHP
- about / Preparing pages
- preload function / Preloading the resources
- project structure, LiveRoom
- ABOUT / Project structure
- liveroom.opa / Project structure
- login.opa / Project structure
- model.opa / Project structure
- view.opa / Project structure
- style.css / Project structure
- project structure, Pacman game
- project files / The project structure
- Python
- about / Preparing pages
R
- records
- about / Records
- building / Records
- tuples / Tuples
- register function
- about / Building application logic
- register handler
- about / The register handler
- request handling
- about / Dispatching requests
- resource handler / The resource handler
- dispatch handler / The dispatch handler
- register handler / The register handler
- custom handler / The customize handler
- handlers group / The handlers group
- Resource.page function
- about / Creating a page
- resource handler
- about / The resource handler
S
- @static_content
- about / The resource handler
- @static_resource
- about / The resource handler
- sayhello function / A simple example
- Server.conf
- about / The server module
- Server.handler
- about / The server module
- Server.https
- about / The server module
- Server.start function
- about / The server module
- server module, web server
- about / The server module
- Server.conf / The server module
- session, client-server communication
- about / Session
- creating / Session
- Session.make function
- about / Session
- Session.NonBlocking.make function
- about / Session
- Session.send function
- about / Session
- shape, Packman game
- drawing / Drawing a shape
- drawing, fill property used / Using the fill and stroke properties
- drawing, stroke property used / Using the fill and stroke properties
- curve, drawing / Drawing a curve
- side effect / Slicing annotations
- slicing annotations
- about / Slicing annotations
- server / Slicing annotations
- client / Slicing annotations
- both / Slicing annotations
- SoundJS library / Playing sounds
- source code files, chat application
- controller.opa / Creating a project
- view.opa / Creating a project
- model.opa / Creating a project
- style.css / Creating a project
- Makefile / Creating a project
- stringmap
- about / Maps
- String module
- URL / Strings
- strings
- about / Strings
- stroke property / Using the fill and stroke properties
- style.css file
- about / Creating a project
- Sublime Text
- URL / Sublime Text
- about / Sublime Text
- downloading / Sublime Text
- sum
- about / Sum
- example / Sum
T
- text, Packman game
- drawing / Drawing the text
- text parsers
- about / Text parsers
- building / Text parsers
- Twitter / Signing in with Facebook
U
- Ubuntu and Debian Linux
- Node.js, installing / Installing Node.js
- Opa compiler, installing / Installing the Opa compiler
- URI (Uniform Resource Identifier) / The resource handler
- user authorization, LiveRoom
- about / Authorizing a user
- sign in / Signing in and signing out
- sign out / Signing in and signing out
- sign in, with Facebook / Signing in with Facebook
- UserContext.change function / Signing in and signing out
- UserContext.get function / Signing in and signing out
- UserContext.make function / Signing in and signing out
- UserContext.remove function / Signing in and signing out
- user interface, chat application
- about / Designing user interface
V
- view.opa file
- about / Creating a project
- viewport meta tag / Designing for mobile devices
- Vim
- about / Vim
- URL / Vim
W
- web application development
- web server / Starting a web server
- requests, dispatching / Dispatching requests
- pages, preparing / Preparing pages
- DOMs, manipulating / Manipulating DOMs
- web pages
- about / Preparing pages
- building / Preparing pages
- creating / Creating a page
- styles, adding / Adding styles
- events, handling / Handling events
- web server
- starting, Opa used / Starting a web server
- example / A simple example
- server module / The server module
- Windows
- Node.js, installing / Installing Node.js
- Opa compiler, installing / Installing the Opa compiler
X
- XHTML
- about / XHTML
- constructing / XHTML