Skip to content

0.17.0 --- the atoms an OS library composes, part of a region published, and the image a loader starts - #52

Merged
Sunrisepeak merged 15 commits into
mainfrom
openkal-0.17.0
Oct 26, 2026
Merged

Sunrisepeak merged 15 commits into
mainfrom
openkal-0.17.0

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Additions under clause 8. No existing declaration changes.

  • kal_fs_rename_flags with KAL_RENAME_NO_REPLACE. Each volume reports support through KAL_FS_PROP_RENAME_NO_REPLACE. Clause 11 entry 25.
  • kal_env_image, kal_env_system. The second is for conventions only. Entry 30.
  • kal_net_listen_at, kal_net_connect_at. A listener and a connection meet at a name in a directory. Each directory reports support through KAL_FS_PROP_LOCAL_ENDPOINT. Entry 27.
  • kal_process_end_as_requested. process.h now states the take-over rule of the stop word: requests the starter declined stay declined. Entry 26.
  • kal_process_self, kal_process_open_id, kal_process_info, kal_program_info. An identifier is reported together with the moment its program started. Entry 29.
  • KAL_TERM_SEQUENCES. Written ECMA-48 sequences are obeyed. Entry 31.
  • kal_exec_publish_part, kal_exec_granularity. These are what a loader needs. Entry 28.
  • Stated (entry 32): the direction of kal_process_channel, and the NAME=value form of an environment entry.
  • Clause 10.1: one implementation per process, and the shared form of an implementation.
  • Clause 12, images (the ok format): an ELF subset, a fixed calling convention per architecture, emulated thread-local storage, and the .note.openkal requirements and signature. A loader that finds a required interface missing refuses the image and names the interface. The entry is int ok_main(void), whose value is the status (entry 36); a weak import is optional and requires no interface; a frame larger than a page is touched page by page (12.2).
  • kal_env_loader. The program that runs an image, which with the image's name starts the same program again (12.3, entry 30).
  • Clause 7.14, KAL_FS_PROP_REMOVE_OPEN. A name held open is removed at once where the volume claims it (entry 37).
  • kal_net_shutdown. Ending the read direction ends a read waiting in it, with the end of input (entry 38).

The conformance suite observes each addition. Each implementation's CI runs the suite at this branch: openkal-linux on Linux, openkal-macos on macOS, openkal-windows on Windows (msvc, llvm, gcc) and under Wine. Locally against openkal-linux: 243 held, 0 did not hold.

Implementations at branch openkal-0.17.0:

  • openkal-linux 0.18.0
  • openkal-macos 0.15.0
  • openkal-windows 0.13.0

Design: mcpp-community/mcpp .agents/docs/2026-10-26-ecosystem-part2-os-library-over-openkal-design.md.

Sunrisepeak and others added 4 commits October 26, 2026 18:53
…ed, and the image a loader starts

Additions under clause 8; no existing declaration changes.

- kal_fs_rename_flags with KAL_RENAME_NO_REPLACE (per volume: KAL_FS_PROP_RENAME_NO_REPLACE)
- kal_env_image, kal_env_system (conventions only)
- kal_net_listen_at, kal_net_connect_at (per directory: KAL_FS_PROP_LOCAL_ENDPOINT)
- kal_process_end_as_requested; the take-over rule of the stop word stated
- kal_process_self, kal_process_open_id, kal_process_info, kal_program_info
- KAL_TERM_SEQUENCES: written ECMA-48 sequences obeyed
- kal_exec_publish_part, kal_exec_granularity
- the direction of kal_process_channel and the form of an environment entry stated
- clause 10.1: one implementation in one process, and the shared form
- clause 12: images, the ok format

Clause 11 entries 25 to 34 record each.

Co-authored-by: speak-agent <[email protected]>
Sunrisepeak and others added 9 commits October 26, 2026 21:07
…al and requires no interface (entry 36)

Co-authored-by: speak-agent <[email protected]>
…s name starts the same program again (SPEC 12.3, entry 30)

Co-authored-by: speak-agent <[email protected]>
…OP_REMOVE_OPEN (openkal 0.17, clause 7.14)

Co-authored-by: speak-agent <[email protected]>
…input (openkal 0.17, ledger entry 38); openkal-windows cancels the pending receive

Co-authored-by: speak-agent <[email protected]>
…kal_task_wait/wake, which every compiler of the suite takes

Co-authored-by: speak-agent <[email protected]>
…t the shutdown and the read answered

Co-authored-by: speak-agent <[email protected]>
…n, whose peer has ended nothing

Co-authored-by: speak-agent <[email protected]>
@Sunrisepeak
Sunrisepeak merged commit 2a461da into main Oct 26, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant