Summary

Development process problem: the self-dependency loop in the compiler is too tight

Metadata

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