The WebLISP Standard Library

The WebLISP standard library repository will contain modules and libraries that provide everything required to build games and high-performance applications (like Adobe Photoshop and Autodesk Maya) that run smoothly on web-browsers.

Modules

The library is organized into modules, each of which provides a specific set of functionality. The modules include:

  • math: Provides a set of mathematical functions, such as trigonometric functions, logarithms, and complex number operations.
  • string: Provides a set of functions for working with strings, such as string manipulation and regular expressions.
  • list: Provides a set of functions for working with lists, such as list manipulation, filtering, and mapping.
  • dict: Provides a set of functions for working with dictionaries, such as key-value operations, merging, and filtering.
  • file: Provides a set of functions for working with files, such as reading and writing files, directory operations, and file path manipulation.
  • network: Provides a set of functions for working with network protocols, such as HTTP, WebSocket, and TCP.
  • graphics: Provides a set of functions for working with graphics, such as drawing 2D or 3D shapes, loading and manipulating images, and applying visual effects.
  • audio: Provides a set of functions for working with audio, such as loading and playing sound effects or music.
  • input: Provides a set of functions for working with input devices, such as mouse, keyboard, or gamepad.
  • ui: Provides a set of functions for creating user interfaces, such as buttons, text fields, or menus.

The standard library also includes utility functions for error handling, debugging, timing, and performance measurement.

TODO

The following features are planned for implementation in the standard library:

  • physics: Provides a set of functions for simulating physical objects, such as rigid bodies, joints, and collisions.
  • animation: Provides a set of functions for creating and managing animations, such as keyframe animation or particle systems.
  • database: Provides a set of functions for working with databases, such as SQLite or MongoDB.
  • serialization: Provides a set of functions for serializing and deserializing data, such as JSON or XML.
  • security: Provides a set of functions for securing communication and data, such as encryption or authentication.
  • machine learning: Provides a set of functions for implementing machine learning algorithms, such as neural networks or decision trees.
  • parallelism: Provides a set of functions for executing code in parallel, such as multi-threading or SIMD.

Contributing

Contributions to the WebLISP standard library are welcome! If you'd like to contribute, please see the CONTRIBUTING.md file for guidelines and instructions.