Opened 3 years ago

Last modified 20 months ago

#1666 new enhancement

Separate library into safe and unsafe parts

Reported by: felix winkelmann Owned by:
Priority: minor Milestone: 5.4
Component: core libraries Version: 5.1.0
Keywords: Cc:
Estimated difficulty: medium


Many internal primitives in library.scm are compiled in safe mode, but are not strictly required to be safe. For normal primitives we want argument-count checking, etc., but since safeness declarations can only be scoped globally, all low-level interal procedures are compiled in safe mode as well, preventing possible optimizations by the compiler.

I suggest having two files, library.scm and library-u.scm (for example), one compiled safe, the other unsafe. It should be possible to easily move definitions from one to the other, so that it can be done on a case-by-case basis.

Change History (2)

comment:1 Changed 3 years ago by felix winkelmann

Estimated difficulty: medium
Milestone: someday5.3

comment:2 Changed 20 months ago by sjamaan

Milestone: 5.35.4

Might be handled once we implement #1611. Anyway, not for 5.3

Note: See TracTickets for help on using tickets.