How idris-lang/idris2 works
Idris 2 is a purely functional language with first-class types, but this tree contains only support/runtime code, not the compiler or language front end. The visible runtime capabilities are native C system and network services, RefC value operations, and JavaScript primitives and system bindings. An Idris program’s precise compile-and-run path is not established by these files, so the graph maps the available runtime layer rather than inventing that workflow. Relationships are limited to explicit calls or external APIs visible in sampled source; other listed capabilities are documented by file names and README context.
Main entry points: idris_support.c System support · idris_file.c File operations · win_utils.c Windows helpers · memoryManagement.c Values and memory
Components 14
Native C support
- System support
support/c/idris_support.c - File operations
support/c/idris_file.c - Network operations
support/c/idris_net.c - Windows helpers
support/c/windows/win_utils.c
RefC runtime
- Values and memory
support/refc/memoryManagement.c - Numeric operations
support/refc/mathFunctions.h - Type casts
support/refc/casts.h
JavaScript support
- JS primitives
support/js/support.js - JS file support
support/js/support_system_file.js - JS signals
support/js/support_system_signal.js
Other components
- Idris program
- Operating system
- Node.js APIs
- Socket services
Connections 12
- System support → File operations: calls file I/O
- System support → Windows helpers: uses on Windows
- File operations → Windows helpers: uses on Windows
- System support → Operating system: accesses system services
- File operations → Operating system: accesses filesystem
- Network operations → Socket services: calls socket APIs
- Windows helpers → Operating system: calls Windows APIs
- JS primitives → Idris program: provides primitives
- JS file support → Node.js APIs: uses filesystem and processes
- JS signals → Node.js APIs: uses process signals
- Values and memory → Numeric operations: supports value operations
- Values and memory → Type casts: supports value conversions