Re: [q-lang-users] Bug? New 'where' syntax
Brought to you by:
agraef
From: Albert G. <Dr....@t-...> - 2007-05-25 20:59:25
|
Eddie Rucker wrote: > Did you figure out the bug with specials like ifelse, cond, case, and > family running out of stack? Oops, I'll check this when I get a chance! Nope, that's still on my TODO list. I already did a fair amount of googling but there seems to be no portable way to do this. I might look into the source code of Chicken or Mercury to figure out how they do it. Someone (John?) came up with the idea of keeping track of a pointer to an automatic variable. That might do the trick, but I'm not sure how portable that is and how I can determine the available C stack size in advance. >> (3) collections of several 'if' and 'where' clauses are processed in a >> "backward" fashion, consider e.g.: if X>Y where Y=bla Z where Z=foo X. > > (3) takes some getting use to. Yes sure, but that's just the way these things would be written in mathematical language. Writing this the other way round, i.e. 'where Z=foo X where Y=bla Z if X>Y' doesn't make sense to me. > Trying (2): I know that the "where (X1,X2) = Ws is suppose to fail but is > it suppose to do the following? > > ==> main [(1,2,3,4),(0,3,1,4),(2,6,-1,-2)] > /usr/local/bin/q[pid 1802]: caught signal 11 (Segmentation fault), > printing backtrace... 14 stack frames Surely not. :) I'll look into that. Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |