On Tue, 2006-12-19 at 21:07 -0800, Erick Tryzelaar wrote: > skaller wrote: > >> These times are pretty disheartening. I can't imagine trying to work > >> with a 10k line felix program. > > > > Errmm .. but the problem here is g++ isn't it? > > Well sure, but we're generating code that make g++ very unhappy. I guess > things will be better whenever we get partial compilation.
I doubt this. Gcc gets unhappy with big functions. That's because its a crap compiler. Felix generates big functions because C is a crap language, and that's the only way to effect things like continuation passing. We have to eliminate function call overhead, and that leads to big functions. If I could, Felix code would all be one large C function, so we could maintain stack frames and call chains etc using appropriate data structures. GHC Haskell hacks it. The C compiler generates Assmebler, which they run through a Perl script called the Evil Mangler that strips out trailing function returns, such code is said to be 'registered' for some reason. Felix also hacks it .. assembler labels, computed gotos, etc. Ultimately, the only real solution is same as Ocaml etc: generate assembler instead of C. In the meantime we have to try to fool gcc into not only generating good code, but also compiling it in a reasonable amount of time. Be interesting to see how fast MSVC++ takes to compile that same code. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Felix-language mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/felix-language
