-
Notifications
You must be signed in to change notification settings - Fork 27
Home
Welcome to the Source Modules wiki. This wiki serves to contain long-form informative content related to the Source Modules system and its modules. Refer to the sidebar for more information.
Try out Source Academy here.
The module system imitates ESM Javascript, allowing the use of import
statements to import external code into Source programs:
import { draw_connected } from 'curve';
Refer to the development guide for information on how to create modules.
These are the 3 main terms the project will be using to refer to the individual components of the Source Modules system. Please follow the set of definitions below to avoid any inconsistencies.
Term | Description |
---|---|
Module | A set of one bundle and zero or more tabs. |
Bundle | The suite of functions that are provided by the module. |
Tab | A user interface used by the module. |
Sample Modules
Module | Tabs | Summary |
---|---|---|
repeat |
Repeat | The repeat module allows Source programs to repeat function applications. |
Active Modules
Module | Tabs | Summary |
---|---|---|
binary_tree |
none | The binary_tree module provide functions for creating and modifying binary trees. |
curves |
Curves | Provides functions for drawing curves. |
pix_n_flix |
Pixnflix | Allow Source programs to process still images and videos. |
copy_gc |
CopyGc | Visualise Source implementation of stop and copy garbage collection. |
mark_sweep |
MarkSweep | Visualise Source implementation of mark and sweep garbage collection. |
Inactive Modules
Module | Tabs | Summary |
---|---|---|
rpc |
Rpc | Allow a Source program to invoke a function that is defined in another address space. |
For a full list of available source academy modules and their documentation, refer to this website.
- Home
- Overview
- System Implementation
-
Development Guide
- Getting Started
- Repository Structure
-
Creating a New Module
- Creating a Bundle
- Creating a Tab
- Writing Documentation
- Developer Documentation (TODO)
- Build System
- Source Modules
- FAQs
Try out Source Academy here.
Check out the Source Modules generated API documentation here.