Ravenbrook / Projects / Memory Pool System / Issues


MPS issue job001158

Title:variety design does not meet requirements of open-source MPS
Status:closed
Priority:essential
Assigned user:Richard Kistruck
Organization:Ravenbrook
Description:variety design does not meet requirements of open-source MPS.
Now MPS is open-source, perhaps we should ship internal varieties with debug symbols; or with debug symbols for the open-source parts anyway.
Analysis:Related jobs:
  job001248 (source clarity) Badly named CHECK macros in config.h...

Historical related jobs:
  job001157 [INVALID] variety white-hot has asserts
  job000534 checking varieties don't
  job001545 hot varieties still don't
  job001546 hot varieties gather stats!

RHSK 2005-10-21
Note: "old" means the variety and check system present before 2005-10. This job implements the "new" design.

The old variety design, and check design, attempt to re-encode the fundamental possibilities into a prepackaged, easy to use 'menu', but based on decisions that are out of date. Time to go back to the fundamentals and rethink.

Meta-note: And don't think we'll get it 'right' this time either. Keep it simple. Don't pre-purchase flexibility at the cost of cheap future adaptability.

3 fundamental areas of choice for a variety:

Code-generation. Approximately a spectrum, the extremes are:
  - Full Debug (easy for a source code debugger to use);
  - Fully Optimised.

Checks written in source code. Very flexible, not a simple spectrum*, and under our control. Partly a variety issue, partly dynamically adjustable at run-time. Effectiveness of checking is a huge factor in reliability and productivity. A vague idea of requirements will produce a bad checking model. We need proper use cases, to get proper reqs, to get a system that gives excellent support for dev and maint. (*: viz: ci, ti, ii, yuk!).

Stripping. Commercial clients may require symbols to be stripped. This remains a requirement even though we also provide open-source copies of MPS. (This is the old "External" as opposed to "Internal" distinction).
How found:unknown
Evidence:Raw notes from Configura workshop <http:/​/​info.ravenbrook.com/​mail/​2005/​02/​28/​12-40-49/​0.txt>.
Observed in:1.105.0
Created by:Richard Kistruck
Created on:2005‑03‑10 03:23:00
Last modified by:Richard Brooksby
Last modified on:2012‑09‑21 20:42:27
History:2005-03-10 RHSK create
2005-10-21 RHSK Analysis: 3 fundamental areas of choice for a variety.
2006-12-13 RHSK Note more related jobs.

Fixes

Change Effect Date User Description
179279 closed 2012‑09‑05 18:44:44 Richard Brooksby Merging branch/2012-08-15/variety-reform.

Generated at 2013-05-19 21:28:09 by $Id: //info.ravenbrook.com/infosys/cgi/issue.cgi#476 $

Copyright © Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may not duplicate or reproduce this document in any form without the express permission of the copyright holder.

Ravenbrook / Projects / Memory Pool System / Issues