Summary
Development process problem: the self-dependency loop in the compiler is too tight
Metadata
- Id: 1c84062cf79a5278a183a52d315a4fee52443373
- Trac id: 709
- Type: defect
- Reporter: johnwcowan
- Owner:
- Cc:
- Status: closed
- Component: compiler
- Estimated difficulty:
- Resolution: worksforme
- Priority: major
- Milestone: 4.9.0
- Version: 4.7.x
- Changetime: 2012-09-24 21:47:48 UTC
- Created: 2011-10-03 01:05:36 UTC
- Keywords:
Description
Today I tried to recompile the current head after a `make confclean`, and found that my copy of `chicken` dating from 2011-09-21 (11 days old) was unable to compile it, because it did not understand the specialization type `input-port`. It's reasonable to add a new specialization type. It's not reasonable to change the source to depend on it at the same time. Now I'm stuck: until there is a new release tarball from which I can get an up-to-date `chicken`, I can't rebuild my system.
I see several possibilities here.
1. Use a new branch for fast-changing but un-bypassable features like specialization. I am basically in favor of doing all development on trunk, but because Chicken builds depend so delicately on Chicken builds, some concessions may have to be made. 2. Have a switch to disable optimizations like this -- I tried setting `optimize-level` to 0 in `defaults.make`, but it didn't help. 3. As a matter of social engineering, make sure to bump the minimal version number every time a backward incompatibility like this happens, and issue a release tarball. At present the latest tarball is 4.7.2, so old as to be useless with trunk.
Changes and comments
[2011-10-03 01:12:43 UTC] zbigniew wrote:
Did you make boot-chicken first?
[2011-10-03 01:28:15 UTC] johnwcowan wrote:
I've now read the comments on #696, so closing that one and keeping this as a doc issue.
[2011-10-03 01:34:26 UTC] johnwcowan changed status from new to closed
[2011-10-03 01:34:26 UTC] johnwcowan set resolution to worksforme
[2011-10-03 01:34:26 UTC] johnwcowan wrote:
With the new chickenista page, I'll close this too.
[2012-09-24 21:47:48 UTC] felix changed milestone from 4.8.0 to 4.9.0
[2012-09-24 21:47:48 UTC] felix wrote:
Milestone 4.8.0 deleted