Opened 4 years ago

Closed 13 months ago

#1666 closed enhancement (wontfix)

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

Description

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 (3)

comment:1 Changed 4 years ago by felix winkelmann

Estimated difficulty: medium
Milestone: someday5.3

comment:2 Changed 3 years ago by sjamaan

Milestone: 5.35.4

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

comment:3 Changed 13 months ago by felix winkelmann

Resolution: wontfix
Status: newclosed

Too broad, just adds complexity and the gain is unclear.

Note: See TracTickets for help on using tickets.