Keywords should be able to be generated at runtime #36

Open
opened 2025-06-26 04:38:38 +00:00 by scott · 2 comments
Owner

Keywords should be able to be generated at runtime.

This requires a little fancy footwork, since they need to be interned as constants. And that means the constants table of the current chunk needs to be mutable. And thus behind a RefCell. That should be fine, right?

Keywords should be able to be generated at runtime. This requires a little fancy footwork, since they need to be interned as constants. And that means the constants table of the current chunk needs to be mutable. And thus behind a `RefCell`. That should be fine, right?
scott added the
feature
label 2025-07-02 16:36:35 +00:00
scott added this to the Expanded: CC2 milestone 2025-07-02 17:16:25 +00:00
Author
Owner

We'll do what Elixir does, and just leak the memory that gets put into keywords. We'll just need a little (key)word parser in base.

We'll do what Elixir does, and just leak the memory that gets put into keywords. We'll just need a little (key)word parser in `base`.
Author
Owner

I feel like we're leaking like a sieve. At current we leak in:

  • parser: leaking words
  • world: leaking pids
  • lib: leaking source code & asts
  • compiler: leaking guard clauses

I'm in for a small world of borrow-checker hurt pulling these out so all live for specified lifetimes.

I feel like we're leaking like a sieve. At current we leak in: * parser: leaking words * world: leaking pids * lib: leaking source code & asts * compiler: leaking guard clauses I'm in for a small world of borrow-checker hurt pulling these out so all live for specified lifetimes.
scott added the
optimization
bug
labels 2025-07-04 21:01:14 +00:00
scott modified the milestone from Expanded: CC2 to Post-CC2 2025-07-06 06:02:38 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: twc/ludus#36
No description provided.