3 ms·
The challenge of first-class memory
- mratsim 9y agoSounds like memory regions in Nim[1] type Memory[T] = object len: int data: ptr UncheckedArray[T] Kernel = object Userspace = object var a: Kernel ptr Memory[int] var b: Userspace ptr Memory[int] a = b # type mismatch: got (ptr[Userspace, Memory[system.int]]) but expected 'ptr[Kernel, Memory[system.int]]' You can even change the GC to region-based memory management [2]. [1]: https://nim-lang.org/docs/manual.html#types-memory-regions https://nim-lang.org/docs/manual.html#types-memory-regions [2]: https://en.m.wikipedia.org/wiki/Region-based_memory_management https://en.m.wikipedia.org/wiki/Region-based_memory_manageme...
- juancn 9y agoYou mean program in C?