I'll bet you are running out of memory. This is a heavily recursive problem. I ran a version of this problem in SASL (St. Andrews Static Language, see http://homepage.mac.com/sigfpe/Computing/sasl.html) and it also, as I recall, stopped on or about iteration 13 with no memory left; it used a mark-sweep garbage collection library (http://www.hpl.hp.com/personal/Hans_Boehm/gc/). The same performance was seen in both Cygwin and Linux. Running without GC, it only got to iteration 9 or so.
Charles Hethcoat > -----Original Message----- > From: Bruce & Breeanna Rennie [mailto:[EMAIL PROTECTED] > Sent: Thursday, September 07, 2006 11:06 PM > To: Unicon Group > Subject: [Unicon-group] Problem arising in windows version of > the followingcode > > To all, > > I have written the following test code to determine the > Hamming numbers (from a discussion on Lambda the Ultimate) > > procedure scale(n, l) > #write("scale", n ,":", *l) > #every writes(!l, ":") > #read() > return (([n * l[1]]) ||| scale (n,( l[2:0] | []))) | [] end > > procedure merge (l1, l2) > #write("merge",*l1,":",*l2) > #every writes(!l1,":") > #every writes(!l2, ":") > #read() > return ((*l2= 0) & l1) | ( (*l1 = 0) & l2) | > ((x := l1[1]) = ((y :=l2[1])) & [x] ||| > merge ((l1[2:0] | []), (l2[2:0] | []))) | > ((x < y) & [x] ||| merge ((l1[2:0] | []), l2)) | > ([y] ||| merge (l1, (l2[2:0] | []))) end > > procedure main() > local i, seq, oldseq > seq := [1] > #oldseq := copy(seq) > every i := 1 to 20 do { > seq := [1] ||| merge ( scale(2, seq), > merge(scale (3, seq), scale (5, > seq))) > write("iteration ", i , " : length of seq is ", *seq) > #seq := seq[1:i^2] > every writes(!seq, " : ") > read() > #oldseq := copy(seq) > } > every writes (!seq, " ") > end > > procedure compare(l1, l2) > local idiff > write("compare : length of l1 is ", *l1 , " and length > of l2 is ", *l2) > idiff := 1 > while l1[idiff] = l2[idiff] do idiff +:= 1 > write(idiff) > return idiff-1 > end > > > It works fine till it gets to iteration 13. The executable > under the windows command prompt fails with sorry windows > experiencing an error kind of message. > > Is there any obvious problem with what I am doing? > > Some additional information has been generated by windows > about the various exe files in the bin directory as below > > <?xml version="1.0" encoding="UTF-16"?> > <DATABASE> > <EXE NAME="hamming.exe" FILTER="GRABMI_FILTER_PRIVACY"> > <MATCHING_FILE NAME="hamming.exe" SIZE="1949652" > CHECKSUM="0x2877432C" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" > LINKER_VERSION="0x10000" LINK_DATE="06/24/2005 09:37:42" > UPTO_LINK_DATE="06/24/2005 09:37:42" /> > <MATCHING_FILE NAME="icont.exe" SIZE="391514" > CHECKSUM="0xDD14FFFE" > MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x10000" > LINK_DATE="06/24/2005 09:34:46" UPTO_LINK_DATE="06/24/2005 > 09:34:46" /> > <MATCHING_FILE NAME="iconx.exe" SIZE="1946858" > CHECKSUM="0x2877432C" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" > LINKER_VERSION="0x10000" LINK_DATE="06/24/2005 09:37:42" > UPTO_LINK_DATE="06/24/2005 09:37:42" /> > <MATCHING_FILE NAME="ivib.exe" SIZE="3068172" > CHECKSUM="0x482DE29B" > MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x10000" > LINK_DATE="02/08/2005 09:14:57" UPTO_LINK_DATE="02/08/2005 > 09:14:57" /> > <MATCHING_FILE NAME="libjpeg.6.dll" SIZE="136000" > CHECKSUM="0x77EB3284" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" > LINKER_VERSION="0x10000" LINK_DATE="12/22/2000 22:38:11" > UPTO_LINK_DATE="12/22/2000 22:38:11" /> > <MATCHING_FILE NAME="nticonx.exe" SIZE="402638" > CHECKSUM="0xC7FCFF12" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" > LINKER_VERSION="0x10000" LINK_DATE="02/08/2005 09:15:24" > UPTO_LINK_DATE="02/08/2005 09:15:24" /> > <MATCHING_FILE NAME="rtt.exe" SIZE="203580" CHECKSUM="0xB5C23E1" > MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x10000" > LINK_DATE="06/24/2005 09:34:06" UPTO_LINK_DATE="06/24/2005 > 09:34:06" /> > <MATCHING_FILE NAME="udb.exe" SIZE="655307" > CHECKSUM="0x482DE29B" > MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x10000" > LINK_DATE="02/08/2005 09:14:57" UPTO_LINK_DATE="02/08/2005 > 09:14:57" /> > <MATCHING_FILE NAME="ui.exe" SIZE="2749997" > CHECKSUM="0x2877432C" > MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x10000" > LINK_DATE="06/24/2005 09:37:42" UPTO_LINK_DATE="06/24/2005 > 09:37:42" /> > <MATCHING_FILE NAME="unicon.exe" SIZE="1192354" > CHECKSUM="0x482DE29B" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" > LINKER_VERSION="0x10000" LINK_DATE="02/08/2005 09:14:57" > UPTO_LINK_DATE="02/08/2005 09:14:57" /> > <MATCHING_FILE NAME="wicont.exe" SIZE="842581" > CHECKSUM="0x589BF94E" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" > LINKER_VERSION="0x10000" LINK_DATE="05/07/2005 07:25:09" > UPTO_LINK_DATE="05/07/2005 07:25:09" /> > <MATCHING_FILE NAME="wiconx.exe" SIZE="2006073" > CHECKSUM="0xF5705541" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" > LINKER_VERSION="0x10000" LINK_DATE="06/24/2005 09:08:00" > UPTO_LINK_DATE="06/24/2005 09:08:00" /> > <MATCHING_FILE NAME="wu.exe" SIZE="2180081" > CHECKSUM="0xCBCFD48B" > MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x10000" > LINK_DATE="05/03/2005 11:12:05" UPTO_LINK_DATE="05/03/2005 > 11:12:05" /> > <MATCHING_FILE NAME="wunicon.exe" SIZE="2576465" > CHECKSUM="0x327A5B07" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" > LINKER_VERSION="0x10000" LINK_DATE="06/23/2005 02:21:25" > UPTO_LINK_DATE="06/23/2005 02:21:25" /> > </EXE> > <EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY"> > <MATCHING_FILE NAME="kernel32.dll" SIZE="983552" > CHECKSUM="0x4CE79457" BIN_FILE_VERSION="5.1.2600.2180" > BIN_PRODUCT_VERSION="5.1.2600.2180" PRODUCT_VERSION="5.1.2600.2180" > FILE_DESCRIPTION="Windows NT BASE API Client DLL" > COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft(r) > Windows(r) Operating System" FILE_VERSION="5.1.2600.2180 > (xpsp_sp2_rtm.040803-2158)" ORIGINAL_FILENAME="kernel32" > INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="(c) Microsoft > Corporation. All rights reserved." VERFILEDATEHI="0x0" > VERFILEDATELO="0x0" > VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" > PE_CHECKSUM="0xFF848" LINKER_VERSION="0x50001" > UPTO_BIN_FILE_VERSION="5.1.2600.2180" > UPTO_BIN_PRODUCT_VERSION="5.1.2600.2180" > LINK_DATE="08/04/2004 07:56:36" > UPTO_LINK_DATE="08/04/2004 07:56:36" VER_LANGUAGE="English (United > States) [0x409]" /> > </EXE> > </DATABASE> > > -- > regards > > Bruce Rennie > (God's Own Country Downunder) > Warragul. Victoria. > Australia. > > -------------------------------------------------------------- > ----------- > Using Tomcat but need to do more? Need to support web > services, security? > Get stuff done quickly with pre-integrated technology to make > your job easier > Download IBM WebSphere Application Server v.1.0.1 based on > Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057& > dat=121642 > _______________________________________________ > Unicon-group mailing list > Unicon-group@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/unicon-group > ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Unicon-group mailing list Unicon-group@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/unicon-group