# See the License for the specific language governing permissions and
# limitations under the License.
-# Services related to pathfinding of graphs using A*
-# A single graph may have different properties according to the `PathContext` used
+# A* pathfinding in graphs
#
+# A single graph may have different properties according to the `PathContext` used
#
# Usage:
#
-The `android` module provides support for the Android platform
+Android platform support and APIs
# Compilation for Android
-_app.nit_ is a framework to create cross-platform applications
+_app.nit_, a framework for portable applications
The framework provides services to manage common needs of modern mobile applications:
# See the License for the specific language governing permissions and
# limitations under the License.
-# Add reading and writing binary services
+# Read and write binary data with any `Reader` and `Writer`
#
# ~~~
# var w = new FileWriter.open("/tmp/data.bin")
# See the License for the specific language governing permissions and
# limitations under the License.
-# Provides basic game logic utilities using buckets to coordinate and
-# optimize actions on game turn ends. Supports both action at each
-# end of turn as well as actions on some end of turns.
+# Game framework with an emphasis on efficient event coordination
#
-# Allows for fast support of a large number of entities with rare actions,
-# such as a forest with many individual trees.
+# Provides basic game logic entities to manage a game where the logic is executed by turns:
+# `Game`, `GameTurn`, `GameEvent`, `Turnable`.
+# Also offers a bucket system to plan future events at a known number of turns in the future:
+# `Bucketable` and the services `act_next` and `act_in`.
+#
+# Efficiently support large number of entities with rare or sparse actions,
+# such as a forest with many individual trees growing slowly.
module bucketed_game is serialize
import serialization
# See the License for the specific language governing permissions and
# limitations under the License.
-# Utilities and performant structure for the FFI with C
+# Structures and services for compatibility with the C language
module c
+
import core
intrude import core::collection::array
# See the License for the specific language governing permissions and
# limitations under the License.
-# The Cocoa API is the development layer of OS X
+# Cocoa API, the development layer of OS X
#
# This module is only compatible with OS X.
#
# See the License for the specific language governing permissions and
# limitations under the License.
-# Offers features to interface with C++ code and libraries
+# Services for compatibility with C++ code and libraries
module cpp is
new_annotation cppflags
end
# See the License for the specific language governing permissions and
# limitations under the License.
-# Curl services: `CurlHTTPRequest` and `CurlMail`
+# Data transfer with URL syntax
+#
+# Download or upload over HTTP with `CurlHTTPRequest` and send emails with `CurlMail`.
module curl
import native_curl
# See the License for the specific language governing permissions and
# limitations under the License.
-# EGL is an interface between the rendering APIs OpenGL, OpenGL ES, etc.
-# and the native windowing system.
+# Interface between rendering APIs (OpenGL, OpenGL ES, etc.) and the native windowing system.
#
# Most services of this module are a direct wrapper of the underlying
# C library. If a method or class is not documented in Nit, refer to
# See the License for the specific language governing permissions and
# limitations under the License.
-# Provides GTK+ widgets and functionalities
+# GTK+ widgets and services
#
-# By default it provides services from GTK+ v3.4. You can get newer
-# features by importing submodules v3_6 or v3_8 with `import gtk::v3_6`.
+# By default provides services from GTK+ v3.4.
+# Newer features from v3.6 and v3.8 are available in the submodules v3_6 and v3_8 respectively.
module gtk
import v3_4
# See the License for the specific language governing permissions and
# limitations under the License.
-# iOS services for Nit app on iOS
+# iOS platform support
module ios
import platform
# See the License for the specific language governing permissions and
# limitations under the License.
-# Provides two APIs to manipulate JSON strings.
+# Libraries to manipulate JSON strings.
#
# Both `dynamic` and `static` modules provide at least a method to parse a
# value written in JSON, but only `static` provide a method to translate a
# See the License for the specific language governing permissions and
# limitations under the License.
-# Manipulates the Java Virtual Machine
+# Java Virtual Machine services
#
# See: http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/jniTOC.html
module jvm is
# See the License for the specific language governing permissions and
# limitations under the License.
-# Implements the md5 function in C
+# Native MD5 digest implementation as `Text::md5`
module md5
in "C Header" `{
}
`}
-redef class String
+redef class Text
# MD5 digest of `self`
#
# ~~~
# See the License for the specific language governing permissions and
# limitations under the License.
-# Client for a MPD server
+# Music Player Daemon client library
module mpd
import socket
# See the License for the specific language governing permissions and
# limitations under the License.
-# Provides the noise generators `PerlinNoise` and `InterpolatedNoise`
+# Noise generators `PerlinNoise` and `InterpolatedNoise`
module noise is serialize
import serialization
# You are allowed to redistribute it and sell it, alone or is a part of
# another product.
-# Provides the Clock utility class to keep time of real time flow
+# Services to keep time of the wall clock time
module realtime is ldflags "-lrt"
in "C header" `{
# See the License for the specific language governing permissions and
# limitations under the License.
-# SDL display support (used in Linux for windows and inputes only)
+# Simple DirectMedia Layer
module sdl is
cflags exec("sdl-config", "--cflags")
ldflags(exec("sdl-config", "--libs"), "-lSDL_image -lSDL_ttf")
# See the License for the specific language governing permissions and
# limitations under the License.
-# Module to manage standard C signals
+# ANSI C signal handling
#
# Common usage imply 5 steps:
#
# See the License for the specific language governing permissions and
# limitations under the License.
-# Serices from the X11 library
+# Services from the X11 library
module x11 is pkgconfig
`{
# Open a specific display
#
# `name` is in the format: "hostname:number.screen_number"
-#
+#
# See <http://www.x.org/releases/X11R7.7/doc/man/man3/XOpenDisplay.3.xhtml>
fun x_open_display(name: String): Pointer import String.to_cstring `{
return (void*)XOpenDisplay(String_to_cstring(name));