Well this surprised me a bit, this is reading pchannels:
val m1 = read(inp);
val m2 = read(inp);
val m3 = read(inp);
eprintln$ "Mainline Read1="+ m1.str;
eprintln$ "Mainline Read2="+ m2.str;
eprintln$ "Mainline Read3="+ m3.str;
Mainline Read1=36
Mainline Read2=16
Mainline Read3=26
These numbers should be in order! Like this: (note: val changed to var):
var m1 = read(inp);
var m2 = read(inp);
var m3 = read(inp);
eprintln$ "Mainline Read1="+ m1.str;
eprintln$ "Mainline Read2="+ m2.str;
eprintln$ "Mainline Read3="+ m3.str;
Mainline Read1=16
Mainline Read2=26
Mainline Read3=36
To see why I looked at the C++:
//PROCEDURE <16106:> _init_::_lam_12704: Resume method
::flx::rtl::con_t *_lam_12704::resume(){
{
_a6716t_61945 _tmp62270 = (_a6716t_61945)("mainline reading results from
pchannels");
::flx::rtl::ioutil::write((&::std::cerr),_tmp62270);
}
{
_a6716t_61945 _tmp62271 = (_a6716t_61945)("\n");
::flx::rtl::ioutil::write((&::std::cerr),_tmp62271);
}
{
_poly_4854t_61937 _tmp62272 =
(_poly_4854t_61937)((ptr_init_->_i16103_v16103_inp));
int** _tmp62273 = (int**)&_i16109_v16109_p;
{
FLX_SAVE_REGS;
PTF gcp->collector->get_thread_control()->suspend();
fprintf(stderr,"READ:DQ\n");
*_tmp62273 = (int*)(_tmp62272->dequeue());
fprintf(stderr,"DONE READ:DQ\n");
PTF gcp->collector->get_thread_control()->resume();
}
}
_i16107_v16107_m2 = *_i16109_v16109_p ;
{
_poly_4854t_61937 _tmp62274 =
(_poly_4854t_61937)((ptr_init_->_i16103_v16103_inp));
int** _tmp62275 = (int**)&_i16110_v16110_p;
{
FLX_SAVE_REGS;
PTF gcp->collector->get_thread_control()->suspend();
fprintf(stderr,"READ:DQ\n");
*_tmp62275 = (int*)(_tmp62274->dequeue());
fprintf(stderr,"DONE READ:DQ\n");
PTF gcp->collector->get_thread_control()->resume();
}
}
_i16108_v16108_m3 = *_i16110_v16110_p ;
{
_poly_4854t_61937 _tmp62276 =
(_poly_4854t_61937)((ptr_init_->_i16103_v16103_inp));
int** _tmp62277 = (int**)&p;
{
FLX_SAVE_REGS;
PTF gcp->collector->get_thread_control()->suspend();
fprintf(stderr,"READ:DQ\n");
*_tmp62277 = (int*)(_tmp62276->dequeue());
fprintf(stderr,"DONE READ:DQ\n");
PTF gcp->collector->get_thread_control()->resume();
}
}
{
_a6716t_61945 _tmp62278 = (_a6716t_61945)("Mainline Read1=") +
(::flx::rtl::strutil::str<int>((*p ))) ;
::flx::rtl::ioutil::write((&::std::cerr),_tmp62278);
}
{
_a6716t_61945 _tmp62279 = (_a6716t_61945)("\n");
::flx::rtl::ioutil::write((&::std::cerr),_tmp62279);
}
{
_a6716t_61945 _tmp62280 = (_a6716t_61945)("Mainline Read2=") +
(::flx::rtl::strutil::str<int>(_i16107_v16107_m2)) ;
::flx::rtl::ioutil::write((&::std::cerr),_tmp62280);
}
{
_a6716t_61945 _tmp62281 = (_a6716t_61945)("\n");
::flx::rtl::ioutil::write((&::std::cerr),_tmp62281);
}
{
_a6716t_61945 _tmp62282 = (_a6716t_61945)("Mainline Read3=") +
(::flx::rtl::strutil::str<int>(_i16108_v16108_m3)) ;
::flx::rtl::ioutil::write((&::std::cerr),_tmp62282);
}
{
_a6716t_61945 _tmp62283 = (_a6716t_61945)("\n");
::flx::rtl::ioutil::write((&::std::cerr),_tmp62283);
}
FLX_RETURN
}
which looks pretty weird!
--
john skaller
[email protected]
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language