You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(58) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(23) |
Feb
(84) |
Mar
(91) |
Apr
(308) |
May
(294) |
Jun
(198) |
Jul
(57) |
Aug
(436) |
Sep
(303) |
Oct
(6) |
Nov
(2) |
Dec
(12) |
2005 |
Jan
(24) |
Feb
(11) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(8) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ber...@us...> - 2008-05-02 14:58:22
|
Revision: 1541 http://zinc-project.svn.sourceforge.net/zinc-project/?rev=1541&view=rev Author: berrueta Date: 2008-05-02 07:58:28 -0700 (Fri, 02 May 2008) Log Message: ----------- Removed unused files Removed Paths: ------------- trunk/Ascii45Function.java trunk/CVSROOT/ trunk/ComparePrim.java trunk/FailedPrim.java Deleted: trunk/Ascii45Function.java =================================================================== --- trunk/Ascii45Function.java 2006-09-22 20:49:48 UTC (rev 1540) +++ trunk/Ascii45Function.java 2008-05-02 14:58:28 UTC (rev 1541) @@ -1,37 +0,0 @@ -package org.asturlinux.frade.currin.program.builtin; - -import java.util.Vector; -import java.util.Iterator; - -import org.asturlinux.frade.currin.program.Function; -import org.asturlinux.frade.currin.program.builtin.BuiltInFunction; -import org.asturlinux.frade.currin.exceptions.InterpreterException; -import org.asturlinux.frade.currin.machine.Machine; -import org.asturlinux.frade.currin.machine.Memory; -import org.asturlinux.frade.currin.program.type.CurrinRef; -import org.asturlinux.frade.currin.program.type.CurrinInt; -import org.asturlinux.frade.currin.program.type.CurrinExpr; -import java.lang.ClassCastException; - - -public class Ascii45Function extends BuiltInFunction { - - public Ascii45Function() { - super("_45_", new Vector()); - } - - public void run( Machine m , Vector run_parameters ) - throws InterpreterException { - - Vector _param_refs = preparingParameters(m, run_parameters); - - CurrinRef first_op = (CurrinRef)_param_refs.get(0); - CurrinRef second_op = (CurrinRef)_param_refs.get(1); - - int a = ((CurrinInt)first_op.getReference()).getValue(); - int b = ((CurrinInt)second_op.getReference()).getValue(); - - m.setResult( new CurrinRef(new CurrinInt(a - b))); - } - -} \ No newline at end of file Deleted: trunk/ComparePrim.java =================================================================== --- trunk/ComparePrim.java 2006-09-22 20:49:48 UTC (rev 1540) +++ trunk/ComparePrim.java 2008-05-02 14:58:28 UTC (rev 1541) @@ -1,45 +0,0 @@ -package org.asturlinux.frade.currin.program.builtin; - -import java.util.Vector; -import org.asturlinux.frade.currin.program.type.CurrinRef; -import org.asturlinux.frade.currin.machine.Machine; -import org.asturlinux.frade.currin.machine.Memory; -import org.asturlinux.frade.currin.exceptions.InterpreterException; -import org.asturlinux.frade.currin.program.type.CurrinConstr; -import org.asturlinux.frade.currin.program.builtin.Ascii64Function; - - -public class ComparePrim extends BuiltInFunction { - - public ComparePrim() { - super("compare", new Vector()); - } - - public void run( Machine m , Vector run_parameters ) - throws InterpreterException { - - Vector _param_refs = preparingParameters(m, run_parameters); - - CurrinRef first_op = (CurrinRef)_param_refs.get(0); - CurrinRef second_op = (CurrinRef)_param_refs.get(1); - - Memory mem = m.getContextStack().currentContext().getMemory(); - - if ( first_op.equals(second_op, mem)) - m.setResult( new CurrinRef(new CurrinConstr("prelude__EQ", - new Vector()))); - else { - if ( first_op.gt(second_op)) { - m.setResult( new CurrinRef( new CurrinConstr("prelude__GT", - new Vector()))); - } else { - m.setResult( new CurrinRef( new CurrinConstr("prelude__LT", - new Vector()))); - } - } - // m.setResult( new CurrinRef(new CurrinConstr("prelude__False", - // new Vector()))); - // throw new InterpreterException("Esto no deberia ocurrir"); - } - -} \ No newline at end of file Deleted: trunk/FailedPrim.java =================================================================== --- trunk/FailedPrim.java 2006-09-22 20:49:48 UTC (rev 1540) +++ trunk/FailedPrim.java 2008-05-02 14:58:28 UTC (rev 1541) @@ -1,29 +0,0 @@ -package org.asturlinux.frade.currin.program.builtin; - -import java.util.Vector; -import java.util.Iterator; - -import org.asturlinux.frade.currin.program.Function; -import org.asturlinux.frade.currin.program.builtin.BuiltInFunction; -import org.asturlinux.frade.currin.exceptions.InterpreterException; -import org.asturlinux.frade.currin.machine.Machine; -import org.asturlinux.frade.currin.machine.Memory; -import org.asturlinux.frade.currin.program.type.CurrinRef; -import org.asturlinux.frade.currin.program.type.CurrinChar; -//import org.asturlinux.frade.currin.program.type.CurrinExpr; -//import java.lang.ClassCastException; - - -public class FailedPrim extends BuiltInFunction { - - public FailedPrim() { - super("failed", new Vector()); - } - - public void run( Machine m , Vector run_parameters ) - throws InterpreterException { - - m.setResult( new CurrinRef(new CurrinChar('F'))); - } - -} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ber...@us...> - 2006-09-22 20:49:55
|
Revision: 1540 http://svn.sourceforge.net/zinc-project/?rev=1540&view=rev Author: berrueta Date: 2006-09-22 13:49:48 -0700 (Fri, 22 Sep 2006) Log Message: ----------- Frontportted change 1539 (extra clean of files II) Modified Paths: -------------- trunk/zinc-compiler/Makefile.am trunk/zinc-compiler/runtime/Makefile.am Modified: trunk/zinc-compiler/Makefile.am =================================================================== --- trunk/zinc-compiler/Makefile.am 2006-09-22 20:47:59 UTC (rev 1539) +++ trunk/zinc-compiler/Makefile.am 2006-09-22 20:49:48 UTC (rev 1540) @@ -75,6 +75,8 @@ CLEANFILES = *.hi *.d *.ld *.aux *.log *.out *.dvi *.toc *.bak +DISTCLEANFILES = Version.hs + .hs.o: $(HC) $(HCFLAGS) $(GHC_HCFLAGS) $($*_HCFLAGS) -c $< -o $@ .lhs.o: Modified: trunk/zinc-compiler/runtime/Makefile.am =================================================================== --- trunk/zinc-compiler/runtime/Makefile.am 2006-09-22 20:47:59 UTC (rev 1539) +++ trunk/zinc-compiler/runtime/Makefile.am 2006-09-22 20:49:48 UTC (rev 1540) @@ -53,4 +53,5 @@ CLEANFILES = $(libcurry_rts_a_SOURCES) $(libcurry_rts_include_HEADERS) -DISTCLEANFILES = .config.h.stamp +DISTCLEANFILES = .config.h.stamp config.h + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ber...@us...> - 2006-09-22 20:48:06
|
Revision: 1539 http://svn.sourceforge.net/zinc-project/?rev=1539&view=rev Author: berrueta Date: 2006-09-22 13:47:59 -0700 (Fri, 22 Sep 2006) Log Message: ----------- Remove more files Modified Paths: -------------- branches/STABLE_1_0_x/zinc-compiler/Makefile.am branches/STABLE_1_0_x/zinc-compiler/runtime/Makefile.am Modified: branches/STABLE_1_0_x/zinc-compiler/Makefile.am =================================================================== --- branches/STABLE_1_0_x/zinc-compiler/Makefile.am 2006-09-22 16:31:54 UTC (rev 1538) +++ branches/STABLE_1_0_x/zinc-compiler/Makefile.am 2006-09-22 20:47:59 UTC (rev 1539) @@ -67,6 +67,8 @@ CLEANFILES = *.hi *.d *.ld *.aux *.log *.out *.dvi *.toc *.bak +DISTCLEANFILES = Version.hs + .hs.o: $(HC) $(HCFLAGS) $(GHC_HCFLAGS) $($*_HCFLAGS) -c $< -o $@ .lhs.o: Modified: branches/STABLE_1_0_x/zinc-compiler/runtime/Makefile.am =================================================================== --- branches/STABLE_1_0_x/zinc-compiler/runtime/Makefile.am 2006-09-22 16:31:54 UTC (rev 1538) +++ branches/STABLE_1_0_x/zinc-compiler/runtime/Makefile.am 2006-09-22 20:47:59 UTC (rev 1539) @@ -45,4 +45,5 @@ CLEANFILES = $(libcurry_rts_a_SOURCES) $(libcurry_rts_include_HEADERS) -DISTCLEANFILES = .config.h.stamp +DISTCLEANFILES = .config.h.stamp config.h + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ber...@us...> - 2006-09-22 16:32:06
|
Revision: 1538 http://svn.sourceforge.net/zinc-project/?rev=1538&view=rev Author: berrueta Date: 2006-09-22 09:31:54 -0700 (Fri, 22 Sep 2006) Log Message: ----------- Frontportted change 1537 (extra clean of files) Modified Paths: -------------- trunk/zinc-compiler/runtime/Makefile.am trunk/zinc-compiler/stdlib/Makefile.am Modified: trunk/zinc-compiler/runtime/Makefile.am =================================================================== --- trunk/zinc-compiler/runtime/Makefile.am 2006-09-22 16:18:28 UTC (rev 1537) +++ trunk/zinc-compiler/runtime/Makefile.am 2006-09-22 16:31:54 UTC (rev 1538) @@ -50,3 +50,7 @@ %.tex: %.nw cd $(*D) && $(WEAVE) $(WFLAGS) -filter "sed -f protect-us-in-defn" $(<F) > $(@F) + +CLEANFILES = $(libcurry_rts_a_SOURCES) $(libcurry_rts_include_HEADERS) + +DISTCLEANFILES = .config.h.stamp Modified: trunk/zinc-compiler/stdlib/Makefile.am =================================================================== --- trunk/zinc-compiler/stdlib/Makefile.am 2006-09-22 16:18:28 UTC (rev 1537) +++ trunk/zinc-compiler/stdlib/Makefile.am 2006-09-22 16:31:54 UTC (rev 1538) @@ -43,7 +43,7 @@ SUFFIXES = .curry .icurry .c .o -CLEANFILES = *.icurry *.c +CLEANFILES = *.icurry *.c .depend %.c: %.curry ../zycc@EXEEXT@ $(top_srcdir)/zycc@EXEEXT@ $(ZYCCFLAGS) $($*_ZYCCFLAGS) $*.curry -o $*.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ber...@us...> - 2006-09-22 16:18:50
|
Revision: 1537 http://svn.sourceforge.net/zinc-project/?rev=1537&view=rev Author: berrueta Date: 2006-09-22 09:18:28 -0700 (Fri, 22 Sep 2006) Log Message: ----------- Remove more files when cleaning Modified Paths: -------------- branches/STABLE_1_0_x/zinc-compiler/runtime/Makefile.am branches/STABLE_1_0_x/zinc-compiler/stdlib/Makefile.am Modified: branches/STABLE_1_0_x/zinc-compiler/runtime/Makefile.am =================================================================== --- branches/STABLE_1_0_x/zinc-compiler/runtime/Makefile.am 2006-09-21 10:49:37 UTC (rev 1536) +++ branches/STABLE_1_0_x/zinc-compiler/runtime/Makefile.am 2006-09-22 16:18:28 UTC (rev 1537) @@ -42,3 +42,7 @@ %.tex: %.nw cd $(*D) && $(WEAVE) $(WFLAGS) -filter "sed -f protect-us-in-defn" $(<F) > $(@F) + +CLEANFILES = $(libcurry_rts_a_SOURCES) $(libcurry_rts_include_HEADERS) + +DISTCLEANFILES = .config.h.stamp Modified: branches/STABLE_1_0_x/zinc-compiler/stdlib/Makefile.am =================================================================== --- branches/STABLE_1_0_x/zinc-compiler/stdlib/Makefile.am 2006-09-21 10:49:37 UTC (rev 1536) +++ branches/STABLE_1_0_x/zinc-compiler/stdlib/Makefile.am 2006-09-22 16:18:28 UTC (rev 1537) @@ -42,7 +42,7 @@ SUFFIXES = .curry .icurry .c .o -CLEANFILES = *.icurry *.c +CLEANFILES = *.icurry *.c .depend %.c: %.curry ../cycc@EXEEXT@ $(top_srcdir)/cycc@EXEEXT@ $(CYCCFLAGS) $($*_CYCCFLAGS) $*.curry -o $*.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ber...@us...> - 2006-09-21 10:49:47
|
Revision: 1536 http://svn.sourceforge.net/zinc-project/?rev=1536&view=rev Author: berrueta Date: 2006-09-21 03:49:37 -0700 (Thu, 21 Sep 2006) Log Message: ----------- Backported patch #117093 (originally written by Andreas Jochen, see Debian Bug 30051) Modified Paths: -------------- branches/STABLE_1_0_x/zinc-compiler/runtime/gc_2space.nw branches/STABLE_1_0_x/zinc-compiler/runtime/spaces.nw branches/STABLE_1_0_x/zinc-compiler/runtime/threads.nw Modified: branches/STABLE_1_0_x/zinc-compiler/runtime/gc_2space.nw =================================================================== --- branches/STABLE_1_0_x/zinc-compiler/runtime/gc_2space.nw 2006-09-21 09:03:23 UTC (rev 1535) +++ branches/STABLE_1_0_x/zinc-compiler/runtime/gc_2space.nw 2006-09-21 10:49:37 UTC (rev 1536) @@ -247,7 +247,7 @@ while ( --scan >= (Node **)(cp + 1) ) GC_copy(*scan); - GC_copy((Node *)cp->btRq); + Node *n = (Node *)cp->btRq; GC_copy(n); cp->btRq = n; next_cp = cp->btBp; cp->btBp = prev_cp; @@ -267,8 +267,9 @@ for ( scan_trail = trail_base; scan_trail != tp; scan_trail++ ) { - GC_copy((Node *)scan_trail->addr); - GC_copy((Node *)scan_trail->val); + Node *n; + n = (Node *)scan_trail->addr; GC_copy(n); scan_trail->addr =n; + n = (Node *)scan_trail->val; GC_copy(n); scan_trail->val =n; } } @@ -276,8 +277,9 @@ Finally, the current search space and ready queue are also roots. <<Copy all roots into to-space>>= -GC_copy((Node *)rq); -GC_copy((Node *)ss); +Node *n; +n = (Node *)rq; GC_copy(n); rq = n; +n = (Node *)ss; GC_copy(n); ss = n; @ After all roots have been processed, the nodes in to-space now form a Modified: branches/STABLE_1_0_x/zinc-compiler/runtime/spaces.nw =================================================================== --- branches/STABLE_1_0_x/zinc-compiler/runtime/spaces.nw 2006-09-21 09:03:23 UTC (rev 1535) +++ branches/STABLE_1_0_x/zinc-compiler/runtime/spaces.nw 2006-09-21 10:49:37 UTC (rev 1536) @@ -603,7 +603,7 @@ copy = copy_node(graph, space); /* copy all children */ - for ( scan = (Node *)hp; scan < (Node *)alloc; (Node **)scan += sz ) + for ( scan = (Node *)hp; scan < (Node *)alloc; scan = (Node **)scan + sz ) { unsigned int i, n; ThreadQueue tq; Modified: branches/STABLE_1_0_x/zinc-compiler/runtime/threads.nw =================================================================== --- branches/STABLE_1_0_x/zinc-compiler/runtime/threads.nw 2006-09-21 09:03:23 UTC (rev 1535) +++ branches/STABLE_1_0_x/zinc-compiler/runtime/threads.nw 2006-09-21 10:49:37 UTC (rev 1536) @@ -366,7 +366,7 @@ #define thd1 (ThreadQueue)LOCAL_ROOT[1] ASSERT(is_boxed(var) && is_variable_node(var)); - thd1 = interrupt_thread(l, Yield); + LOCAL_ROOT[1] = interrupt_thread(l, Yield); CHECK_HEAP(2*thread_surrogate_size); SAVE(var, v.wq); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ber...@us...> - 2006-09-21 09:03:32
|
Revision: 1535 http://svn.sourceforge.net/zinc-project/?rev=1535&view=rev Author: berrueta Date: 2006-09-21 02:03:23 -0700 (Thu, 21 Sep 2006) Log Message: ----------- Ignore generated files (backported commit 1534 from trunk) Property Changed: ---------------- branches/STABLE_1_0_x/zinc-compiler/ branches/STABLE_1_0_x/zinc-compiler/runtime/ branches/STABLE_1_0_x/zinc-compiler/stdlib/ Property changes on: branches/STABLE_1_0_x/zinc-compiler ___________________________________________________________________ Name: svn:ignore - *.hi autom4te.cache config.log config.status config.cache config.sub config.guess configure cyc cyc-inplace cycc cyi cyi-inplace cymake cymake-inplace cymk cyc.1 cyi.1 cymake.1 aclocal.m4 newer .depend .deps stamp-h.in Makefile.in Makefile Version.hs VERSION INSTALL libtool missing mkinstalldirs depcomp compile *.d *.ld curry.aux curry.dvi curry.log curry.out curry.ps curry.toc curry.pdf zinc-compiler-*.tar.gz zinc-compiler-*.tar.bz2 + *.hi autom4te.cache config.log config.status config.cache config.sub config.guess configure cyc cyc-inplace cycc cyi cyi-inplace cymake cymake-inplace cymk cyc.1 cyi.1 cymake.1 aclocal.m4 newer .depend .deps stamp-h.in Makefile.in Makefile Version.hs VERSION INSTALL libtool missing mkinstalldirs depcomp compile *.d *.ld curry.aux curry.dvi curry.log curry.out curry.ps curry.toc curry.pdf zinc-compiler-*.tar.gz zinc-compiler-*.tar.bz2 libzinc-compiler.a Property changes on: branches/STABLE_1_0_x/zinc-compiler/runtime ___________________________________________________________________ Name: svn:ignore + *.c *.h .config.h.stamp .depend .deps Makefile Makefile.in stamp-h stamp-h.in stamp-h1 config.h.in vector.tex vars.tex unify.tex trail.tex trace.tex time.tex threads.tex system.tex stats.tex stack.tex spaces.tex show.tex search.tex run.tex print.tex main.tex io_monad.tex int.tex heap.tex gc_2space.tex float.tex files.tex eval.tex disequal.tex directory.tex debug.tex curry.tex cstring.tex constraints.tex compare.tex char.tex cam.tex backtrack.tex gc_compact.tex refs.tex random.tex runtime.aux libcurry-rts.a Property changes on: branches/STABLE_1_0_x/zinc-compiler/stdlib ___________________________________________________________________ Name: svn:ignore - *.icurry Makefile.in .depend .deps *.c Makefile + *.icurry Makefile.in .depend .deps *.c Makefile libcurry-stdlib.a libcurry-prelude.a libcurry.a libcurry-prelude-debug.a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ber...@us...> - 2006-09-21 08:59:23
|
Revision: 1534 http://svn.sourceforge.net/zinc-project/?rev=1534&view=rev Author: berrueta Date: 2006-09-21 01:58:58 -0700 (Thu, 21 Sep 2006) Log Message: ----------- Ignore generated files Property Changed: ---------------- trunk/zinc-compiler/ trunk/zinc-compiler/runtime/ trunk/zinc-compiler/stdlib/ Property changes on: trunk/zinc-compiler ___________________________________________________________________ Name: svn:ignore - *.hi autom4te.cache config.log config.status config.cache config.sub config.guess configure zyc zyc-inplace zycc zyi zyi-inplace zymake zymake-inplace zymk zyc.1 zyi.1 zymake.1 aclocal.m4 newer .depend .deps stamp-h.in Makefile.in Makefile Version.hs VERSION INSTALL libtool missing mkinstalldirs depcomp compile *.d *.ld curry.aux curry.dvi curry.log curry.out curry.ps curry.toc curry.pdf zinc-compiler-*.tar.gz zinc-compiler-*.tar.bz2 + *.hi autom4te.cache config.log config.status config.cache config.sub config.guess configure zyc zyc-inplace zycc zyi zyi-inplace zymake zymake-inplace zymk zyc.1 zyi.1 zymake.1 aclocal.m4 newer .depend .deps stamp-h.in Makefile.in Makefile Version.hs VERSION INSTALL libtool missing mkinstalldirs depcomp compile *.d *.ld curry.aux curry.dvi curry.log curry.out curry.ps curry.toc curry.pdf zinc-compiler-*.tar.gz zinc-compiler-*.tar.bz2 libzinc-compiler.a Property changes on: trunk/zinc-compiler/runtime ___________________________________________________________________ Name: svn:ignore - *.c *.h .config.h.stamp .depend .deps Makefile Makefile.in stamp-h stamp-h.in stamp-h1 config.h.in vector.tex vars.tex unify.tex trail.tex trace.tex time.tex threads.tex system.tex stats.tex stack.tex spaces.tex show.tex search.tex run.tex print.tex main.tex io_monad.tex int.tex heap.tex gc_2space.tex float.tex files.tex eval.tex disequal.tex directory.tex debug.tex curry.tex cstring.tex constraints.tex compare.tex char.tex cam.tex backtrack.tex gc_compact.tex refs.tex random.tex runtime.aux + *.c *.h .config.h.stamp .depend .deps Makefile Makefile.in stamp-h stamp-h.in stamp-h1 config.h.in vector.tex vars.tex unify.tex trail.tex trace.tex time.tex threads.tex system.tex stats.tex stack.tex spaces.tex show.tex search.tex run.tex print.tex main.tex io_monad.tex int.tex heap.tex gc_2space.tex float.tex files.tex eval.tex disequal.tex directory.tex debug.tex curry.tex cstring.tex constraints.tex compare.tex char.tex cam.tex backtrack.tex gc_compact.tex refs.tex random.tex runtime.aux libzinc-rts.a Property changes on: trunk/zinc-compiler/stdlib ___________________________________________________________________ Name: svn:ignore - *.icurry Makefile.in .depend .deps *.c Makefile + *.icurry Makefile.in .depend .deps *.c Makefile libzinc-stdlib.a libzinc-prelude.a libzinc.a libzinc-prelude-debug.a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ber...@us...> - 2006-09-21 08:24:06
|
Revision: 1533 http://svn.sourceforge.net/zinc-project/?rev=1533&view=rev Author: berrueta Date: 2006-09-21 01:23:36 -0700 (Thu, 21 Sep 2006) Log Message: ----------- Created new branch for maintenance of the 1.0.x series (from the 1.0.2 tag) Added Paths: ----------- branches/STABLE_1_0_x/ Copied: branches/STABLE_1_0_x (from rev 1532, tags/Release-1_0_2) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Diego B. M. <ber...@us...> - 2005-07-13 17:28:27
|
Update of /cvsroot/zinc-project/webpage In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3108 Modified Files: index.html Log Message: Fixed link Index: index.html =================================================================== RCS file: /cvsroot/zinc-project/webpage/index.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** index.html 13 Jul 2005 17:20:07 -0000 1.11 --- index.html 13 Jul 2005 17:28:18 -0000 1.12 *************** *** 11,15 **** <meta name="copyright" content="(c) Diego Berrueta, 2.004" /> <meta name="author" content="Diego Berrueta" /> ! <meta rel="meta" title="DOAP" type="application/rdf+xml" href="doap.rdf" /> <link rel="Stylesheet" href="skin.css" type="text/css" /> <link rel="Icon" href="favicon.png"> --- 11,15 ---- <meta name="copyright" content="(c) Diego Berrueta, 2.004" /> <meta name="author" content="Diego Berrueta" /> ! <link rel="meta" title="DOAP" type="application/rdf+xml" href="doap.rdf" /> <link rel="Stylesheet" href="skin.css" type="text/css" /> <link rel="Icon" href="favicon.png"> |
From: Diego B. M. <ber...@us...> - 2005-07-13 17:20:34
|
Update of /cvsroot/zinc-project/webpage In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1473 Modified Files: index.html Added Files: doap.rdf Log Message: Added DOAP --- NEW FILE: doap.rdf --- <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:doap="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:admin="http://webns.net/mvcb/" xml:lang="en"> <rdf:Description rdf:about=""> <admin:generatorAgent rdf:resource="http://doapy.bonjourlesmouettes.org/doap-a-matic"/> </rdf:Description> <doap:Project> <doap:name>Zinc</doap:name> <doap:shortname>Zinc</doap:shortname> <doap:homepage rdf:resource="http://zinc-compiler.sourceforge.net/"/> <doap:created>2003-11-29</doap:created> <doap:description>Zinc is a research project around Curry, a functional logic programming language. The main purpose of the Zinc Compiler is to develop an experimental Curry compiler which features some extensions to the language, such as type classes.</doap:description> <doap:shortdesc>Experimental compiler for an extended version of the Curry programming language</doap:shortdesc> <doap:wiki rdf:resource="http://zinc-project.sourceforge.net/wiki/"/> <doap:bug-database rdf:resource="http://sourceforge.net/tracker/?group_id=96097&atid=613630"/> <doap:mailing-list rdf:resource="http://sourceforge.net/mail/?group_id=96097"/> <doap:programming-language>Haskell</doap:programming-language> <doap:programming-language>C</doap:programming-language> <doap:license rdf:resource="http://usefulinc.com/doap/licenses/bsd"/> <doap:download-page rdf:resource="http://sourceforge.net/project/showfiles.php?group_id=96097"/> <doap:maintainer> <foaf:Person> <foaf:name>Diego Berrueta</foaf:name> <foaf:mbox_sha1sum>98a99390f2fe9395041bddc41e933f50e59a5ecb</foaf:mbox_sha1sum> <rdfs:seeAlso rdf:resource="http://www.asturlinux.org/~berrueta/foaf.rdf"/> </foaf:Person> </doap:maintainer> <doap:repository> <doap:CVSRepository> <doap:anon-root>:pserver:ano...@cv...:/cvsroot/zinc-project</doap:anon-root> <doap:module>zinc-compiler</doap:module> <doap:browse rdf:resource="http://cvs.sourceforge.net/viewcvs.py/zinc-project"/> </doap:CVSRepository> </doap:repository> </doap:Project> </rdf:RDF> Index: index.html =================================================================== RCS file: /cvsroot/zinc-project/webpage/index.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** index.html 29 Jan 2005 12:42:07 -0000 1.10 --- index.html 13 Jul 2005 17:20:07 -0000 1.11 *************** *** 11,14 **** --- 11,15 ---- <meta name="copyright" content="(c) Diego Berrueta, 2.004" /> <meta name="author" content="Diego Berrueta" /> + <meta rel="meta" title="DOAP" type="application/rdf+xml" href="doap.rdf" /> <link rel="Stylesheet" href="skin.css" type="text/css" /> <link rel="Icon" href="favicon.png"> *************** *** 137,140 **** --- 138,144 ---- Webmaster: Diego Berrueta (diego AT berrueta DOT net) + <br/> + + <a href="doap.rdf">DOAP description</a> of this project </div> <!-- footer --> |
From: Diego B. M. <ber...@us...> - 2005-03-26 10:46:50
|
Update of /cvsroot/zinc-project/zinc-compiler/runtime In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7182 Modified Files: .cvsignore Log Message: Ignore more files Index: .cvsignore =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/runtime/.cvsignore,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** .cvsignore 21 Feb 2004 11:28:24 -0000 1.5 --- .cvsignore 26 Mar 2005 10:46:38 -0000 1.6 *************** *** 45,48 **** --- 45,50 ---- backtrack.tex gc_compact.tex + refs.tex + random.tex runtime.aux |
From: Diego B. M. <ber...@us...> - 2005-03-26 10:45:44
|
Update of /cvsroot/zinc-project/zinc-compiler/runtime In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6367 Modified Files: gc_2space.nw spaces.nw threads.nw Log Message: Applied patch #1170938, from Debian Bug #300515, by Andreas Jochens Index: gc_2space.nw =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/runtime/gc_2space.nw,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gc_2space.nw 9 Feb 2005 18:40:20 -0000 1.2 --- gc_2space.nw 26 Mar 2005 10:45:27 -0000 1.3 *************** *** 249,253 **** GC_copy(*scan); ! GC_copy((Node *)cp->btRq); next_cp = cp->btBp; --- 249,253 ---- GC_copy(*scan); ! Node *n = (Node *)cp->btRq; GC_copy(n); cp->btRq = n; next_cp = cp->btBp; *************** *** 269,274 **** for ( scan_trail = trail_base; scan_trail != tp; scan_trail++ ) { ! GC_copy((Node *)scan_trail->addr); ! GC_copy((Node *)scan_trail->val); } } --- 269,275 ---- for ( scan_trail = trail_base; scan_trail != tp; scan_trail++ ) { ! Node *n; ! n = (Node *)scan_trail->addr; GC_copy(n); scan_trail->addr =n; ! n = (Node *)scan_trail->val; GC_copy(n); scan_trail->val =n; } } *************** *** 278,283 **** <<Copy all roots into to-space>>= ! GC_copy((Node *)rq); ! GC_copy((Node *)ss); @ --- 279,285 ---- <<Copy all roots into to-space>>= ! Node *n; ! n = (Node *)rq; GC_copy(n); rq = n; ! n = (Node *)ss; GC_copy(n); ss = n; @ Index: spaces.nw =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/runtime/spaces.nw,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** spaces.nw 1 Dec 2003 19:55:26 -0000 1.1.1.1 --- spaces.nw 26 Mar 2005 10:45:33 -0000 1.2 *************** *** 604,608 **** /* copy all children */ ! for ( scan = (Node *)hp; scan < (Node *)alloc; (Node **)scan += sz ) { unsigned int i, n; --- 604,608 ---- /* copy all children */ ! for ( scan = (Node *)hp; scan < (Node *)alloc; scan = (Node **)scan + sz ) { unsigned int i, n; Index: threads.nw =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/runtime/threads.nw,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** threads.nw 9 Feb 2005 18:40:21 -0000 1.2 --- threads.nw 26 Mar 2005 10:45:33 -0000 1.3 *************** *** 372,376 **** ASSERT(is_boxed(var) && is_variable_node(var)); ! thd1 = interrupt_thread(l, Yield); CHECK_HEAP(2*thread_surrogate_size); --- 372,376 ---- ASSERT(is_boxed(var) && is_variable_node(var)); ! LOCAL_ROOT[1] = interrupt_thread(l, Yield); CHECK_HEAP(2*thread_surrogate_size); |
From: Diego B. M. <ber...@us...> - 2005-02-10 17:01:28
|
Update of /cvsroot/zinc-project/zinc-compiler In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15123 Modified Files: TypeExpansion.lhs Log Message: Fixed bug introduced in the last commit Index: TypeExpansion.lhs =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/TypeExpansion.lhs,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** TypeExpansion.lhs 9 Feb 2005 18:40:18 -0000 1.16 --- TypeExpansion.lhs 10 Feb 2005 17:01:19 -0000 1.17 *************** *** 100,111 **** > normalize ty = expandAliasType tvs' ty > where tvs = zip (nub (filter (>= 0) (typeVars ty))) [0..] ! > tvs' = take (length tvs) [TypeVariable (occur tv) | tv <- [0..]] ! > occur tv = fromJust (lookup tv tvs) > normalizeTypeWithContext :: TypeWithContext -> TypeWithContext > normalizeTypeWithContext tyWC = expandAliasTypeWithContext tvs' tyWC > where tvs = zip (nub (filter (>= 0) (typeVars tyWC))) [0..] ! > tvs' = take (length tvs) [TypeVariable (occur tv) | tv <- [0..]] ! > occur tv = fromJust (lookup tv tvs) > sortTypeContext :: TypeWithContext -> TypeWithContext --- 100,113 ---- > normalize ty = expandAliasType tvs' ty > where tvs = zip (nub (filter (>= 0) (typeVars ty))) [0..] ! > tvs' = [TypeVariable (occur tv) | tv <- [0..]] ! > occur tv = maybe (internalError "TypeExpansion.normalize") id ! > (lookup tv tvs) > normalizeTypeWithContext :: TypeWithContext -> TypeWithContext > normalizeTypeWithContext tyWC = expandAliasTypeWithContext tvs' tyWC > where tvs = zip (nub (filter (>= 0) (typeVars tyWC))) [0..] ! > tvs' = [TypeVariable (occur tv) | tv <- [0..]] ! > occur tv = maybe (internalError "TypeExpansion.normalizeTWC") id ! > (lookup tv tvs) > sortTypeContext :: TypeWithContext -> TypeWithContext |
From: Diego B. M. <ber...@us...> - 2005-02-09 22:36:35
|
Update of /cvsroot/zinc-project/compiler-testsuite/tests/zinc-regress/typecheck/should_compile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20507 Modified Files: all.T Added Files: tc203.curry Log Message: New test --- NEW FILE: tc203.curry --- module ShouldCompile where --- execute IO actions before and after an IO action --- <CODE>bracket before after m</CODE> executes the actions in the --- order before, m, and after. The IO action after is executed even --- if an exception occurs in m. The result of before is passed to --- m and after. bracket' :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c bracket' before after m = do x <- before r <- catch (m x) (\ioe -> after x >> ioError ioe) after x return r Index: all.T =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/zinc-regress/typecheck/should_compile/all.T,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** all.T 9 Sep 2004 15:45:51 -0000 1.4 --- all.T 9 Feb 2005 22:36:25 -0000 1.5 *************** *** 175,176 **** --- 175,177 ---- test('tc201', normal, compile, ['']) test('tc202', normal, compile, ['']) + test('tc203', normal, compile, ['']) |
From: Diego B. M. <ber...@us...> - 2005-02-09 19:11:03
|
Update of /cvsroot/zinc-project/compiler-testsuite/tests/zinc-regress/parser/should_fail In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28372/zinc-regress/parser/should_fail Modified Files: read007.stderr read022.stderr Log Message: New and updated tests Index: read007.stderr =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/zinc-regress/parser/should_fail/read007.stderr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** read007.stderr 13 Dec 2003 14:58:09 -0000 1.1 --- read007.stderr 9 Feb 2005 19:10:22 -0000 1.2 *************** *** 1,3 **** Fail: ! "read007.curry", line 6.9: Unexpected token `<-' --- 1,3 ---- Fail: ! "read007.curry", line 5.7: Undefined data constructor + Index: read022.stderr =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/zinc-regress/parser/should_fail/read022.stderr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** read022.stderr 13 Dec 2003 14:58:09 -0000 1.1 --- read022.stderr 9 Feb 2005 19:10:22 -0000 1.2 *************** *** 1,3 **** Fail: ! "read022.curry", line 4.4: Unexpected token operator `#' --- 1,3 ---- Fail: ! "read022.curry", line 4.9: Unexpected token `=' |
From: Diego B. M. <ber...@us...> - 2005-02-09 19:11:03
|
Update of /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/from-ghc/should_fail In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28372/typeclasses/from-ghc/should_fail Modified Files: tcfail021.stderr Log Message: New and updated tests Index: tcfail021.stderr =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/from-ghc/should_fail/tcfail021.stderr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** tcfail021.stderr 31 May 2004 18:51:43 -0000 1.1 --- tcfail021.stderr 9 Feb 2005 19:10:20 -0000 1.2 *************** *** 1,3 **** Fail: ! "tcfail021.curry", line 12.7: Unexpected token operator `===' --- 1,3 ---- Fail: ! "tcfail021.curry", line 12.20: Unexpected token `=' |
From: Diego B. M. <ber...@us...> - 2005-02-09 19:11:02
|
Update of /cvsroot/zinc-project/compiler-testsuite/tests/zinc-regress/parser/should_compile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28372/zinc-regress/parser/should_compile Modified Files: all.T Added Files: read038.curry read039.curry Log Message: New and updated tests --- NEW FILE: read038.curry --- module Read038 where data IntAndFloat = Int /\ Float getInt (x /\ _) = Left x getFloat (_ /\ y) = Right y Index: all.T =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/zinc-regress/parser/should_compile/all.T,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** all.T 9 Sep 2004 16:39:36 -0000 1.3 --- all.T 9 Feb 2005 19:10:21 -0000 1.4 *************** *** 77,78 **** --- 77,80 ---- test('read037', normal, compile, ['']) + test('read038', normal, compile, ['']) + test('read039', normal, compile, ['']) --- NEW FILE: read039.curry --- module Read038 where data BinTree a = Leaf | a /\ Bool depth Leaf = 0 depth (x /\ y) = undefined |
From: Diego B. M. <ber...@us...> - 2005-02-09 19:11:01
|
Update of /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/typecheck/should_compile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28372/typeclasses/typecheck/should_compile Modified Files: .cvsignore Tc022.curry Log Message: New and updated tests Index: .cvsignore =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/typecheck/should_compile/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .cvsignore 31 May 2004 09:08:53 -0000 1.1 --- .cvsignore 9 Feb 2005 19:10:21 -0000 1.2 *************** *** 2,3 **** --- 2,4 ---- *.comp.* *.run.* + *.c Index: Tc022.curry =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/typecheck/should_compile/Tc022.curry,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Tc022.curry 7 Feb 2005 16:34:16 -0000 1.1 --- Tc022.curry 9 Feb 2005 19:10:21 -0000 1.2 *************** *** 3,6 **** --- 3,7 ---- -- elem :: Eq a => a -> [a] -> Bool + --f :: Eq a => a -> [a] -> Bool f x ys = (x `elem`) ys |
From: Diego B. M. <ber...@us...> - 2005-02-09 19:11:00
|
Update of /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/dictionary/should_compile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28372/typeclasses/dictionary/should_compile Modified Files: dict031.curry dict032.curry Added Files: dict033.curry Log Message: New and updated tests Index: dict032.curry =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/dictionary/should_compile/dict032.curry,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** dict032.curry 9 Sep 2004 17:21:10 -0000 1.1 --- dict032.curry 9 Feb 2005 19:10:19 -0000 1.2 *************** *** 11,14 **** --- 11,15 ---- --method1 x = undefined + f :: Int -> Int f x = q where (q,_) = method1 x Index: dict031.curry =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/dictionary/should_compile/dict031.curry,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** dict031.curry 9 Sep 2004 17:21:10 -0000 1.1 --- dict031.curry 9 Feb 2005 19:10:18 -0000 1.2 *************** *** 13,14 **** --- 13,16 ---- --f x = q -- where (q,_) = method1 x + + main = method2 10 --- NEW FILE: dict033.curry --- class F a where method1 :: a -> (a,a) method2 :: a -> a instance F Int where method1 x = undefined method2 x = q where q = q' where (q',_) = method1 x --method1 :: F a => a -> (a,a) --method1 x = undefined --f x = q -- where (q,_) = method1 x |
From: Diego B. M. <ber...@us...> - 2005-02-09 19:11:00
|
Update of /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/dictionary/should_run In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28372/typeclasses/dictionary/should_run Modified Files: .cvsignore Log Message: New and updated tests Index: .cvsignore =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/dictionary/should_run/.cvsignore,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** .cvsignore 28 Aug 2004 15:50:50 -0000 1.5 --- .cvsignore 9 Feb 2005 19:10:20 -0000 1.6 *************** *** 27,28 **** --- 27,29 ---- dictrun023 dictrun024 + dictrun025 |
From: Diego B. M. <ber...@us...> - 2005-02-09 18:40:32
|
Update of /cvsroot/zinc-project/zinc-compiler/unit-tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15562/unit-tests Modified Files: CurryParserTest.hs TypeExprCheckTest.hs TypeExprDisambiguateTest.hs TypeInstGenTest.hs Log Message: Merged the MCC 0.9.6 -> 0.9.7 patch Index: TypeExprCheckTest.hs =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/unit-tests/TypeExprCheckTest.hs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TypeExprCheckTest.hs 10 Sep 2004 13:26:25 -0000 1.7 --- TypeExprCheckTest.hs 9 Feb 2005 18:40:22 -0000 1.8 *************** *** 56,66 **** [ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=15}) - (mkIdent "Leaf") [] [TypeExprVariable (mkIdent "a")], ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=24}) - (mkIdent "Branch") [] [TypeExprApplication (TypeExprConstructor (qualifyWith mid $ mkIdent "Tree")) --- 56,66 ---- [ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=15}) [] + (mkIdent "Leaf") [TypeExprVariable (mkIdent "a")], ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=24}) [] + (mkIdent "Branch") [TypeExprApplication (TypeExprConstructor (qualifyWith mid $ mkIdent "Tree")) *************** *** 78,85 **** (mkIdent "IntTree") [] ! (ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=19}) - (mkIdent "IntTree") [] (TypeExprApplication (TypeExprConstructor $ qualifyWith mid $ mkIdent "Tree") --- 78,85 ---- (mkIdent "IntTree") [] ! (NewConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=19}) [] + (mkIdent "IntTree") (TypeExprApplication (TypeExprConstructor $ qualifyWith mid $ mkIdent "Tree") *************** *** 109,114 **** [ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=17}) - (mkIdent "C") [] [TypeExprApplication (TypeExprVariable $ mkIdent "a") --- 109,114 ---- [ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=17}) [] + (mkIdent "C") [TypeExprApplication (TypeExprVariable $ mkIdent "a") *************** *** 123,127 **** [Equation (Position {file=CurryParserTest.filePath,line=l,column=1}) ! [VariablePattern $ mkIdent "x"] (SimpleRhs (Position {file=CurryParserTest.filePath,line=l,column=7}) --- 123,127 ---- [Equation (Position {file=CurryParserTest.filePath,line=l,column=1}) ! (FunLhs (mkIdent "f") [VariablePattern $ mkIdent "x"]) (SimpleRhs (Position {file=CurryParserTest.filePath,line=l,column=7}) Index: TypeExprDisambiguateTest.hs =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/unit-tests/TypeExprDisambiguateTest.hs,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** TypeExprDisambiguateTest.hs 10 Sep 2004 13:26:25 -0000 1.14 --- TypeExprDisambiguateTest.hs 9 Feb 2005 18:40:22 -0000 1.15 *************** *** 80,90 **** [ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=15}) - (mkIdent "Leaf") [] [TypeExprVariable (mkIdent "a")], ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=24}) - (mkIdent "Branch") [] [TypeExprApplication (TypeExprConstructor (qualify $ mkIdent "Tree")) --- 80,90 ---- [ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=15}) [] + (mkIdent "Leaf") [TypeExprVariable (mkIdent "a")], ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=24}) [] + (mkIdent "Branch") [TypeExprApplication (TypeExprConstructor (qualify $ mkIdent "Tree")) *************** *** 102,109 **** (mkIdent "IntTree") [] ! (ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=19}) - (mkIdent "IntTree") [] (TypeExprApplication (TypeExprConstructor $ qualify $ mkIdent "Tree") --- 102,109 ---- (mkIdent "IntTree") [] ! (NewConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=19}) [] + (mkIdent "IntTree") (TypeExprApplication (TypeExprConstructor $ qualify $ mkIdent "Tree") *************** *** 133,138 **** [ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=17}) - (mkIdent "C") [] [TypeExprApplication (TypeExprVariable $ mkIdent "a") --- 133,138 ---- [ConstrDecl (Position {file=CurryParserTest.filePath,line=l,column=17}) [] + (mkIdent "C") [TypeExprApplication (TypeExprVariable $ mkIdent "a") *************** *** 147,151 **** [Equation (Position {file=CurryParserTest.filePath,line=l,column=1}) ! [VariablePattern $ mkIdent "x"] (SimpleRhs (Position {file=CurryParserTest.filePath,line=l,column=7}) --- 147,151 ---- [Equation (Position {file=CurryParserTest.filePath,line=l,column=1}) ! (FunLhs (mkIdent "f") [VariablePattern $ mkIdent "x"]) (SimpleRhs (Position {file=CurryParserTest.filePath,line=l,column=7}) Index: TypeInstGenTest.hs =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/unit-tests/TypeInstGenTest.hs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** TypeInstGenTest.hs 3 Sep 2004 13:53:00 -0000 1.6 --- TypeInstGenTest.hs 9 Feb 2005 18:40:22 -0000 1.7 *************** *** 31,44 **** ]) ! -- freshGuardTypeWithContext ! testFreshGuardType = TestLabel "freshGuardTypeWithContext" (TestList [ ! TestCase (assertEqual "test1" (TypeWithContext emptyTypeContext $ TypeGuard 0) ! (run freshGuardTypeWithContext valueEnv)), ! TestCase (assertEqual "test2" (TypeWithContext emptyTypeContext $ TypeGuard 2) ! (run (freshGuardTypeWithContext >> ! freshTypeVar >> ! freshGuardTypeWithContext) valueEnv)) ! ]) -- inst --- 31,47 ---- ]) ! -- freshConstrainedWithContext ! testFreshConstrainedWithContext = ! TestLabel "freshFreshConstrainedWithContext" (TestList [ ! TestCase (assertEqual "test1" (TypeWithContext emptyTypeContext ! (TypeConstrained [] (-1))) ! (run (freshConstrainedWithContext []) valueEnv)), ! TestCase (assertEqual "test2" (TypeWithContext emptyTypeContext ! (TypeConstrained [] (-3))) ! (run (freshConstrainedWithContext [] >> ! freshTypeVar >> ! freshConstrainedWithContext []) valueEnv)) ! ]) -- inst *************** *** 97,101 **** tests = TestList [ testFreshTypeVar, ! testFreshGuardType, testInst, testInstExist, --- 100,104 ---- tests = TestList [ testFreshTypeVar, ! testFreshConstrainedWithContext, testInst, testInstExist, Index: CurryParserTest.hs =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/unit-tests/CurryParserTest.hs,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** CurryParserTest.hs 10 Sep 2004 13:26:25 -0000 1.27 --- CurryParserTest.hs 9 Feb 2005 18:40:22 -0000 1.28 *************** *** 45,50 **** declTree1 line' = FunctionDecl (Position {file=filePath,line=line',column=1}) (mkIdent "id1") ! [Equation (Position {file=filePath,line=line',column=1}) [] ! (SimpleRhs (Position {file=filePath,line=line',column=7}) (Literal (Int 5)) []) ] --- 45,52 ---- declTree1 line' = FunctionDecl (Position {file=filePath,line=line',column=1}) (mkIdent "id1") ! [Equation (Position {file=filePath,line=line',column=1}) ! (FunLhs (mkIdent "id1") []) ! (SimpleRhs (Position {file=filePath,line=line',column=7}) ! (Literal (Int anonId 5)) []) ] *************** *** 166,170 **** [Equation (Position {file=filePath,line=line',column=23}) ! [VariablePattern (mkIdent "x"),VariablePattern (mkIdent "y")] (SimpleRhs (Position {file=filePath,line=line',column=32}) --- 168,174 ---- [Equation (Position {file=filePath,line=line',column=23}) ! (OpLhs (VariablePattern (mkIdent "x")) ! (mkIdent "==") ! (VariablePattern (mkIdent "y"))) (SimpleRhs (Position {file=filePath,line=line',column=32}) *************** *** 186,190 **** [Equation (Position {file=filePath,line=line'+1,column=3}) ! [VariablePattern (mkIdent "Leaf"),VariablePattern (mkIdent "Leaf")] (SimpleRhs (Position {file=filePath,line=line'+1,column=18}) --- 190,196 ---- [Equation (Position {file=filePath,line=line'+1,column=3}) ! (OpLhs (VariablePattern (mkIdent "Leaf")) ! (mkIdent "==") ! (VariablePattern (mkIdent "Leaf"))) (SimpleRhs (Position {file=filePath,line=line'+1,column=18}) *************** *** 196,202 **** [Equation (Position {file=filePath,line=line'+2,column=3}) ! [VariablePattern (mkIdent "Leaf"), ! ConstructorPattern (qualify $ mkIdent "Branch") ! [VariablePattern (mkIdent "_"),VariablePattern (mkIdent "_")]] (SimpleRhs (Position {file=filePath,line=line'+2,column=24}) --- 202,210 ---- [Equation (Position {file=filePath,line=line'+2,column=3}) ! (OpLhs (VariablePattern (mkIdent "Leaf")) ! (mkIdent "==") ! (ConstructorPattern (qualify $ mkIdent "Branch") ! [VariablePattern (mkIdent "_"), ! VariablePattern (mkIdent "_")])) (SimpleRhs (Position {file=filePath,line=line'+2,column=24}) *************** *** 208,214 **** [Equation (Position {file=filePath,line=line'+3,column=3}) ! [ConstructorPattern (qualify $ mkIdent "Branch") ! [VariablePattern (mkIdent "_"),VariablePattern (mkIdent "_")], ! VariablePattern (mkIdent "Leaf")] (SimpleRhs (Position {file=filePath,line=line'+3,column=24}) --- 216,224 ---- [Equation (Position {file=filePath,line=line'+3,column=3}) ! (OpLhs (ConstructorPattern (qualify $ mkIdent "Branch") ! [VariablePattern (mkIdent "_"), ! VariablePattern (mkIdent "_")]) ! (mkIdent "==") ! (VariablePattern (mkIdent "Leaf"))) (SimpleRhs (Position {file=filePath,line=line'+3,column=24}) *************** *** 220,227 **** [Equation (Position {file=filePath,line=line'+4,column=3}) ! [ConstructorPattern (qualify $ mkIdent "Branch") ! [VariablePattern (mkIdent "x1"),VariablePattern (mkIdent "x2")], ! ConstructorPattern (qualify $ mkIdent "Branch") ! [VariablePattern (mkIdent "y1"),VariablePattern (mkIdent "y2")]] (SimpleRhs (Position {file=filePath,line=line'+4,column=34}) --- 230,240 ---- [Equation (Position {file=filePath,line=line'+4,column=3}) ! (OpLhs (ConstructorPattern (qualify $ mkIdent "Branch") ! [VariablePattern (mkIdent "x1"), ! VariablePattern (mkIdent "x2")]) ! (mkIdent "==") ! (ConstructorPattern (qualify $ mkIdent "Branch") ! [VariablePattern (mkIdent "y1"), ! VariablePattern (mkIdent "y2")])) (SimpleRhs (Position {file=filePath,line=line'+4,column=34}) *************** *** 242,246 **** InstanceDecl (Position {file=filePath,line=line',column=1}) ! (TypeExprContext [TypeExprClassConstraint (qualify $ mkIdent "Eq") (TypeExprVariable $ mkIdent "a")]) (qualify $ mkIdent "Eq") (typeExprApplyListConstructor $ TypeExprVariable $ mkIdent "a") --- 255,260 ---- InstanceDecl (Position {file=filePath,line=line',column=1}) ! (TypeExprContext [TypeExprClassConstraint (qualify $ mkIdent "Eq") ! (TypeExprVariable $ mkIdent "a")]) (qualify $ mkIdent "Eq") (typeExprApplyListConstructor $ TypeExprVariable $ mkIdent "a") *************** *** 250,254 **** [Equation (Position {file=filePath,line=line'+1,column=3}) ! [ListPattern [],ListPattern []] (SimpleRhs (Position {file=filePath,line=line'+1,column=14}) --- 264,268 ---- [Equation (Position {file=filePath,line=line'+1,column=3}) ! (OpLhs (ListPattern []) (mkIdent "==") (ListPattern [])) (SimpleRhs (Position {file=filePath,line=line'+1,column=14}) *************** *** 260,271 **** [Equation (Position {file=filePath,line=line'+2,column=3}) ! [InfixPattern ! (VariablePattern $ mkIdent "x") ! qConsId ! (VariablePattern $ mkIdent "xs"), ! InfixPattern ! (VariablePattern $ mkIdent "y") ! qConsId ! (VariablePattern $ mkIdent "ys")] (SimpleRhs (Position {file=filePath,line=line'+2,column=26}) --- 274,288 ---- [Equation (Position {file=filePath,line=line'+2,column=3}) ! (OpLhs (ParenPattern ! (InfixPattern ! (VariablePattern $ mkIdent "x") ! qConsId ! (VariablePattern $ mkIdent "xs"))) ! (mkIdent "==") ! (ParenPattern ! (InfixPattern ! (VariablePattern $ mkIdent "y") ! qConsId ! (VariablePattern $ mkIdent "ys")))) (SimpleRhs (Position {file=filePath,line=line'+2,column=26}) *************** *** 288,292 **** [Equation (Position {file=filePath,line=line'+3,column=3}) ! [VariablePattern $ mkIdent "_",VariablePattern $ mkIdent "_"] (SimpleRhs (Position {file=filePath,line=line'+3,column=12}) --- 305,311 ---- [Equation (Position {file=filePath,line=line'+3,column=3}) ! (OpLhs (VariablePattern $ mkIdent "_") ! (mkIdent "==") ! (VariablePattern $ mkIdent "_")) (SimpleRhs (Position {file=filePath,line=line'+3,column=12}) *************** *** 325,330 **** [ConstrDecl (Position {file=filePath,line=line',column=14}) - (mkIdent "Sum") [] [typeExprApply (TypeExprVariable $ mkIdent "TC1") [TypeExprVariable (mkIdent "a")], --- 344,349 ---- [ConstrDecl (Position {file=filePath,line=line',column=14}) [] + (mkIdent "Sum") [typeExprApply (TypeExprVariable $ mkIdent "TC1") [TypeExprVariable (mkIdent "a")], *************** *** 333,338 **** ConstrDecl (Position {file=filePath,line=line'+1,column=14}) - (mkIdent "Simple") [] [typeExprApply (TypeExprVariable $ mkIdent "TC2") [TypeExprVariable (mkIdent "a")]] --- 352,357 ---- ConstrDecl (Position {file=filePath,line=line'+1,column=14}) [] + (mkIdent "Simple") [typeExprApply (TypeExprVariable $ mkIdent "TC2") [TypeExprVariable (mkIdent "a")]] *************** *** 346,351 **** [ConstrDecl (Position {file=filePath,line=line',column=14}) - (mkIdent "Product") [] [typeExprApply (TypeExprVariable $ mkIdent "TC2") [TypeExprVariable (mkIdent "a")], --- 365,370 ---- [ConstrDecl (Position {file=filePath,line=line',column=14}) [] + (mkIdent "Product") [typeExprApply (TypeExprVariable $ mkIdent "TC2") [TypeExprVariable (mkIdent "a")], *************** *** 354,364 **** ConstrDecl (Position {file=filePath,line=line'+1,column=14}) - (mkIdent "Constant") [] [TypeExprVariable (mkIdent "Int")], ConstrDecl (Position {file=filePath,line=line'+2,column=14}) - (mkIdent "Parens") [] [typeExprApply (TypeExprVariable $ mkIdent "TC1") [TypeExprVariable (mkIdent "a")]] --- 373,383 ---- ConstrDecl (Position {file=filePath,line=line'+1,column=14}) [] + (mkIdent "Constant") [TypeExprVariable (mkIdent "Int")], ConstrDecl (Position {file=filePath,line=line'+2,column=14}) [] + (mkIdent "Parens") [typeExprApply (TypeExprVariable $ mkIdent "TC1") [TypeExprVariable (mkIdent "a")]] *************** *** 372,382 **** [ConstrDecl (Position {file=filePath,line=line',column=18}) - (mkIdent "Leaf") [] [], ConstrDecl (Position {file=filePath,line=line'+1,column=18}) - (mkIdent "Branch") [] [TypeExprVariable (mkIdent "a"),TypeExprVariable (mkIdent "a")] ] --- 391,401 ---- [ConstrDecl (Position {file=filePath,line=line',column=18}) [] + (mkIdent "Leaf") [], ConstrDecl (Position {file=filePath,line=line'+1,column=18}) [] + (mkIdent "Branch") [TypeExprVariable (mkIdent "a"),TypeExprVariable (mkIdent "a")] ] *************** *** 404,411 **** (mkIdent "TupleTree") [mkIdent "t1",mkIdent "t2"] ! (ConstrDecl (Position {file=filePath,line=line',column=27}) - (mkIdent "TupleTree") [] (typeExprApply (TypeExprVariable $ mkIdent "BinTree") --- 423,430 ---- (mkIdent "TupleTree") [mkIdent "t1",mkIdent "t2"] ! (NewConstrDecl (Position {file=filePath,line=line',column=27}) [] + (mkIdent "TupleTree") (typeExprApply (TypeExprVariable $ mkIdent "BinTree") *************** *** 457,461 **** -- constrDecl, nconstrDecl, constr, functionDecl, valueDecl -- funListDecl, valListDecl, declRhs, rhs, externalDecl ! -- intfDecl, iImportDecl, iInfixDecl -- TODO(dbm): write tests --- 476,490 ---- -- constrDecl, nconstrDecl, constr, functionDecl, valueDecl -- funListDecl, valListDecl, declRhs, rhs, externalDecl ! ! -- intfDecl ! ! testIntfDecl = TestLabel "Decl" (TestList [ ! TestCase (assertEqual "iKindDeclCode1" (iKindDeclTree1 1) ! (ok $ applyParser intfDecl lexer filePath iKindDeclCode1)), ! TestCase (assertEqual "iKindDeclCode2" (iKindDeclTree2 1) ! (ok $ applyParser intfDecl lexer filePath iKindDeclCode2)) ! ]) ! ! -- iImportDecl, iInfixDecl -- TODO(dbm): write tests *************** *** 537,543 **** -- TODO(dbm): write tests -- TYPES ! -- type0, type1, type2, anonType, varType, parenType, listType -- literal --- 566,597 ---- -- TODO(dbm): write tests + -- iKindDecl + + iKindDeclCode1,iKindDeclCode2 :: String + iKindDeclCode1 = "kind Int " ++ kindCode1 + iKindDeclCode2 = "kind Maybe " ++ kindCode2 + + iKindDeclTree1 :: Int -> IDecl + iKindDeclTree1 line' = + IKindDecl + (Position {file=filePath,line=line',column=1}) + (qualify $ mkIdent "Int") + kind1 + iKindDeclTree2 line' = + IKindDecl + (Position {file=filePath,line=line',column=1}) + (qualify $ mkIdent "Maybe") + kind2 + + testIKindDecl = TestLabel "iKindDecl" (TestList [ + TestCase (assertEqual "iTypeClassDeclCode1" (iKindDeclTree1 1) + (ok $ applyParser iKindDecl lexer filePath iKindDeclCode1)), + TestCase (assertEqual "iTypeClassDeclCode2" (iKindDeclTree2 1) + (ok $ applyParser iKindDecl lexer filePath iKindDeclCode2)) + ]) + -- TYPES ! -- type0, type1, type2, anonType, identType, parenType, listType -- literal *************** *** 606,609 **** --- 660,672 ---- ]) + testIdentType = TestLabel "identType" (TestList [ + TestCase (assertEqual "TV" (TypeExprVariable (mkIdent "a")) + (ok $ applyParser identType lexer filePath "a")), + TestCase (assertEqual "TC" (TypeExprVariable (mkIdent "Int")) + (ok $ applyParser identType lexer filePath "Int")), + TestCase (assertEqual "TC" (TypeExprConstructor (qualifyWith mainMIdent $ mkIdent "Int")) + (ok $ applyParser identType lexer filePath "main.Int")) + ]) + -- constrTerm0, constrTerm1, constrTerm2, literalPattern -- anonPattern, varPattern, parenPattern, listPattern, lazyPattern *************** *** 654,660 **** --- 717,726 ---- testDataDecl, testNewtypeDecl, + testIntfDecl, testITypeClassDecl, + testIKindDecl, testTypeDecl, testType0, + testIdentType, testKind ] |
Update of /cvsroot/zinc-project/zinc-compiler/stdlib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15562/stdlib Modified Files: Array.curry Makefile.am Success.curry prelude.curry Added Files: FiniteMap.curry IOExts.curry IOVector.curry Random.curry Set.curry Log Message: Merged the MCC 0.9.6 -> 0.9.7 patch Index: Array.curry =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/stdlib/Array.curry,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Array.curry 17 Feb 2004 22:47:36 -0000 1.1 --- Array.curry 9 Feb 2005 18:40:21 -0000 1.2 *************** *** 1,20 **** module Array(module Ix, -- export all of Ix for convenience Array, array, listArray, (!), bounds, indices, elems, assocs, ! accumArray, (//), accum, ixmap, amap) where import Ix ! infixl 9 ! ! data Array a = Array (Int,Int) (Vector a) array :: (Int,Int) -> [(Int,a)] -> Array a ! array b ixs = ! Array b (vupd (vinit (rangeSize b) undefined) (map (shift b) ixs)) listArray :: (Int,Int) -> [a] -> Array a ! listArray b xs = Array b (vupd (vinit n undefined) (take n (zip [0..] xs))) ! where n = rangeSize b (!) :: Array a -> Int -> a ! Array b v ! i | inRange b i = vget v (index b i) bounds :: Array a -> (Int,Int) --- 1,34 ---- module Array(module Ix, -- export all of Ix for convenience Array, array, listArray, (!), bounds, indices, elems, assocs, ! accumArray, (//), accum, ixmap, amap, ! -- private exports for use in IOExts ! unsafeVector, unsafeArray) where import Ix ! import IOVector ! import Unsafe ! infixl 9 !, // ! ! data Array a = Array (Int,Int) (IOVector a) array :: (Int,Int) -> [(Int,a)] -> Array a ! array b ixs = unsafePerformIO initArray ! where initArray = ! do ! v <- newIOVector (rangeSize b) undefined ! mapIO_ (\(i,x) -> writeIOVector v (index b i) x) ixs ! return (Array b v) listArray :: (Int,Int) -> [a] -> Array a ! listArray b xs = unsafePerformIO initArray ! where initArray = ! do ! v <- newIOVector n undefined ! mapIO_ (\(i,x) -> writeIOVector v i x) (take n (zip [0..] xs)) ! return (Array b v) ! where n = rangeSize b (!) :: Array a -> Int -> a ! Array b v ! i = unsafePerformIO (readIOVector v (index b i)) bounds :: Array a -> (Int,Int) *************** *** 25,29 **** elems :: Array a -> [a] ! elems (Array b v) = map (vget v) [0 .. rangeSize b - 1] assocs :: Array a -> [(Int,a)] --- 39,44 ---- elems :: Array a -> [a] ! elems (Array b v) = map (readArray v) (take (rangeSize b) [0..]) ! where readArray v i = unsafePerformIO (readIOVector v i) assocs :: Array a -> [(Int,a)] *************** *** 31,38 **** (//) :: Array a -> [(Int,a)] -> Array a ! Array b v // ixs = Array b (vupd (vcopy v) (map (shift b) ixs)) accum :: (a -> b -> a) -> Array a -> [(Int,b)] -> Array a ! accum f a ixs = a // [(i,f (a!i) x) | (i,x) <- ixs] accumArray :: (a -> b -> a) -> a -> (Int,Int) -> [(Int,b)] -> Array a --- 46,68 ---- (//) :: Array a -> [(Int,a)] -> Array a ! Array b v // ixs = unsafePerformIO updateArray ! where updateArray = ! do ! v' <- copyIOVector v ! mapIO_ (\(i,x) -> writeIOVector v' (index b i) x) ixs ! return (Array b v') accum :: (a -> b -> a) -> Array a -> [(Int,b)] -> Array a ! accum f (Array b v) ixs = unsafePerformIO updateArray ! where updateArray = ! do ! v' <- copyIOVector v ! mapIO_ (update v') ixs ! return (Array b v') ! update v (i,x) = ! do ! z <- readIOVector v j ! writeIOVector v j (f z x) ! where j = index b i accumArray :: (a -> b -> a) -> a -> (Int,Int) -> [(Int,b)] -> Array a *************** *** 40,63 **** ixmap :: (Int,Int) -> (Int -> Int) -> Array a -> Array a ! ixmap b f a = array b [(i,a ! f i) | i <- range b] -- amap replace the functor instace of Haskell arrays amap :: (a -> b) -> Array a -> Array b ! amap f a = array b [(i,f (a!i)) | i <- range b] ! where b = bounds a ! ! -- Primitive vectors ! -- N.B.: vupd is not referentially transparent as it uses in-place updates! ! ! data Vector a ! ! external primitive vinit :: Int -> a -> Vector a ! external primitive vcopy :: Vector a -> Vector a ! external primitive vget :: Vector a -> Int -> a ! external primitive vset :: Vector a -> Int -> a -> Vector a ! shift :: (Int,Int) -> (Int,a) -> (Int,a) ! shift b (i,x) = (index b i,x) ! vupd :: Vector a -> [(Int,a)] -> Vector a ! vupd = foldr (\(i,x) v -> vset v i x) --- 70,86 ---- ixmap :: (Int,Int) -> (Int -> Int) -> Array a -> Array a ! ixmap b f a = listArray b [a ! f i | i <- range b] -- amap replace the functor instace of Haskell arrays amap :: (a -> b) -> Array a -> Array b ! amap f a = listArray (bounds a) (map f (elems a)) ! -- these functions should be used only from the IOExts module ! -- for implementing the conversion between Arrays and IOArrays ! unsafeVector :: Array a -> IO (IOVector a) ! unsafeVector (Array b v) = return v ! unsafeArray :: (Int,Int) -> IOVector a -> IO (Array a) ! unsafeArray b v ! | rangeSize b == lengthIOVector v = return (Array b v) ! | otherwise = error "internal error: fromVector" --- NEW FILE: FiniteMap.curry --- -- finite maps based on 2-3 trees -- Copyright (c) 1999-2004, Wolfgang Lux -- See ../LICENSE for the full license. module FiniteMap(FM, nullFM, zeroFM, unitFM, addToFM, deleteFromFM, lookupFM, fromListFM, toListFM, eqFM, neqFM, showFM, mapFM) where import List infix 4 `eqFM`,`neqFM` data FM a b = Empty | Node2 (FM a b) (a,b) (FM a b) | Node3 (FM a b) (a,b) (FM a b) (a,b) (FM a b) nullFM :: FM a b -> Bool nullFM Empty = True nullFM (Node2 _ _ _) = False nullFM (Node3 _ _ _ _ _) = False zeroFM :: FM a b zeroFM = Empty unitFM :: a -> b -> FM a b unitFM x y = Node2 Empty (x,y) Empty addToFM :: Ord a => a -> b -> FM a b -> FM a b addToFM x y xys = case insertNode x y xys of Left xys' -> xys' Right (l,x,r) -> Node2 l x r fromListFM :: Ord a => [(a,b)] -> FM a b fromListFM = foldr (uncurry addToFM) zeroFM insertNode :: Ord a => a -> b -> FM a b -> Either (FM a b) ((FM a b),(a,b),(FM a b)) insertNode k x Empty = Right (Empty,(k,x),Empty) insertNode k x (Node2 a y b) = Left (insertNode2 k x a y b) where insertNode2 k x a y b = case compareKey k y of LT -> balanceL (insertNode k x a) y b EQ -> Node2 a (k,x) b GT -> balanceR a y (insertNode k x b) balanceL (Left a) x b = Node2 a x b balanceL (Right (a,x,b)) y c = Node3 a x b y c balanceR a x (Left b) = Node2 a x b balanceR a x (Right (b,y,c)) = Node3 a x b y c insertNode k x (Node3 a y b z c) = case compareKey k y of LT -> balanceL (insertNode k x a) y b z c EQ -> Left (Node3 a (k,x) b z c) GT -> case compareKey k z of LT -> balanceM a y (insertNode k x b) z c EQ -> Left (Node3 a y b (k,x) c) GT -> balanceR a y b z (insertNode k x c) where balanceL (Left a) x b y c = Left (Node3 a x b y c) balanceL (Right (a,x,b)) y c z d = Right (Node2 a x b,y,Node2 c z d) balanceM a x (Left b) y c = Left (Node3 a x b y c) balanceM a x (Right (b,y,c)) z d = Right (Node2 a x b,y,Node2 c z d) balanceR a x b y (Left c) = Left (Node3 a x b y c) balanceR a x b y (Right (c,z,d)) = Right (Node2 a x b,y,Node2 c z d) compareKey :: Ord a => a -> (a,b) -> Ordering compareKey k1 (k2,_) = compare k1 k2 deleteFromFM :: Ord a => a -> FM a b -> FM a b deleteFromFM x xys = snd (deleteNode x xys) deleteNode :: Ord a => a -> FM a b -> (Bool,FM a b) deleteNode _ Empty = (False,Empty) deleteNode x (Node2 a y b) = case compareKey x y of LT -> balanceL (deleteNode x a) y b EQ | nullFM a -> (True,b) | otherwise -> let u = findMin b in balanceR a u (deleteNode (fst u) b) GT -> balanceR a y (deleteNode x b) where balanceL (False,a) x b = (False,Node2 a x b) balanceL (True,a) x (Node2 b y c) = (True,Node3 a x b y c) balanceL (True,a) x (Node3 b y c z d) = (False,Node2 (Node2 a x b) y (Node2 c z d)) balanceR a x (False,b) = (False,Node2 a x b) balanceR (Node2 a x b) y (True,c) = (True,Node3 a x b y c) balanceR (Node3 a x b y c) z (True,d) = (False,Node2 (Node2 a x b) y (Node2 c z d)) deleteNode x (Node3 a y b z c) = (False,deleteNode3 x a y b z c) where deleteNode3 x a y b z c = case compareKey x y of LT -> balanceL (deleteNode x a) y b z c EQ | nullFM a -> Node2 b z c | otherwise -> let u = findMin b in balanceM a u (deleteNode (fst u) b) z c GT -> case compareKey x z of LT -> balanceM a y (deleteNode x b) z c EQ | nullFM c -> Node2 a y b | otherwise -> let u = findMin c in balanceR a y b u (deleteNode (fst u) c) GT -> balanceR a y b z (deleteNode x c) balanceL (False,a) x b y c = Node3 a x b y c balanceL (True,a) x (Node2 b y c) z d = Node2 (Node3 a x b y c) z d balanceL (True,a) w (Node3 b x c y d) z e = Node3 (Node2 a w b) x (Node2 c y d) z e balanceM a x (False,b) y c = Node3 a x b y c balanceM a x (True,b) y (Node2 c z d) = Node2 a x (Node3 b y c z d) balanceM a w (True,b) x (Node3 c y d z e) = Node3 a w (Node2 b x c) y (Node2 d z e) balanceR a x b y (False,c) = Node3 a x b y c balanceR a x (Node2 b y c) z (True,d) = Node2 a x (Node3 b y c z d) balanceR a w (Node3 b x c y d) z (True,e) = Node3 a w (Node2 b x c) y (Node2 d z e) findMin :: FM a b -> (a,b) findMin (Node2 a x _) | nullFM a = x | otherwise = findMin a findMin (Node3 a x _ _ _) | nullFM a = x | otherwise = findMin a lookupFM :: Ord a => a -> FM a b -> Maybe b lookupFM _ Empty = Nothing lookupFM x (Node2 a y b) = case compareKey x y of LT -> lookupFM x a EQ -> Just (snd y) GT -> lookupFM x b lookupFM x (Node3 a y b z c) = case compareKey x y of LT -> lookupFM x a EQ -> Just (snd y) GT -> lookupFM x (Node2 b z c) toListFM :: FM a b -> [(a,b)] toListFM = flip elems [] where elems Empty xs = xs elems (Node2 a x b) xs = elems a (x : elems b xs) elems (Node3 a x b y c) xs = elems a (x : elems b (y : elems c xs)) eqFM, neqFM :: (Ord a, Eq b) => FM a b -> FM a b -> Bool xys1 `eqFM` xys2 = toListFM xys1 == toListFM xys2 xys1 `neqFM` xys2 = not (xys1 `eqFM` xys2) showFM :: (Show a, Show b) => FM a b -> String showFM xys = "{" ++ showList (map showAssoc (toListFM xys)) ++ "}" where showList = concat . intersperse "," showAssoc (x,y) = show x ++ "|->" ++ show y mapFM :: (b -> c) -> FM a b -> FM a c mapFM f Empty = Empty mapFM f (Node2 a (k,x) b) = Node2 (mapFM f a) (k,f x) (mapFM f b) mapFM f (Node3 a (k,x) b (l,y) c) = Node3 (mapFM f a) (k,f x) (mapFM f b) (l,f y) (mapFM f c) {- checkTree :: FM a b -> Int checkTree Empty = 0 checkTree (Node2 a _ b) | h == checkTree b = h + 1 | otherwise = error "checkTree: unbalanced 2-3 tree" where h = checkTree a checkTree (Node3 a _ b _ c) | h == checkTree b && h == checkTree c = h + 1 | otherwise = error "checkTree: unbalanced 2-3 tree" where h = checkTree a -} --- NEW FILE: Random.curry --- module Random where data StdGen external primitive genRange :: StdGen -> (Int,Int) external primitive "nextStdGen" next :: StdGen -> (Int,StdGen) external primitive mkStdGen :: Int -> StdGen split :: StdGen -> (StdGen,StdGen) split rng = (mkStdGen x,mkStdGen y) where (x,rng') = next rng (y,_) = next rng' random :: StdGen -> (Int,StdGen) random = next randomR :: (Int,Int) -> StdGen -> (Int,StdGen) randomR (lo,hi) = nextRStdGen lo hi where external primitive nextRStdGen :: Int -> Int -> StdGen -> (Int,StdGen) randoms :: StdGen -> [Int] randoms rng = x : randoms rng' where (x,rng') = random rng randomRs :: (Int,Int) -> StdGen -> [Int] randomRs range rng = x : randomRs range rng' where (x,rng') = randomR range rng randomIO :: IO Int randomIO = getStdRandom random randomRIO :: (Int,Int) -> IO Int randomRIO range = getStdRandom (randomR range) external primitive getStdGen :: IO StdGen external primitive setStdGen :: StdGen -> IO () newStdGen :: IO StdGen newStdGen = do rng <- getStdGen let (rng1,rng2) = split rng setStdGen rng1 return rng2 getStdRandom :: (StdGen -> (a,StdGen)) -> IO a getStdRandom random = do rng <- getStdGen let (x,rng') = random rng setStdGen rng' return x Index: Makefile.am =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/stdlib/Makefile.am,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Makefile.am 28 Jan 2005 20:31:34 -0000 1.14 --- Makefile.am 9 Feb 2005 18:40:22 -0000 1.15 *************** *** 14,21 **** libzinc_prelude_debug_a_SOURCES = DebugPrelude.curry ! libzinc_stdlib_a_SOURCES = Array.curry Char.curry Directory.curry \ ! Ix.curry List.curry Maybe.curry Monad.curry Numeric.curry \ ! Read.curry Success.curry System.curry Time.curry Trace.curry \ ! Unsafe.curry nodist_libzinc_prelude_include_HEADERS = prelude.icurry IO.icurry --- 14,22 ---- libzinc_prelude_debug_a_SOURCES = DebugPrelude.curry ! libzinc_stdlib_a_SOURCES = IOVector.curry Unsafe.curry Array.curry Char.curry \ ! Directory.curry Ix.curry List.curry Maybe.curry Monad.curry \ ! Numeric.curry Read.curry Success.curry System.curry Time.curry \ ! Trace.curry Unsafe.curry Random.curry FiniteMap.curry Set.curry \ ! IOExts.curry nodist_libzinc_prelude_include_HEADERS = prelude.icurry IO.icurry --- NEW FILE: IOVector.curry --- module IOVector where -- Primitive vectors data IOVector a external primitive newIOVector :: Int -> a -> IO (IOVector a) external primitive copyIOVector :: IOVector a -> IO (IOVector a) external primitive readIOVector :: IOVector a -> Int -> IO a external primitive writeIOVector :: IOVector a -> Int -> a -> IO () external primitive lengthIOVector :: IOVector a -> Int --- NEW FILE: IOExts.curry --- module IOExts(fixIO, unsafePerformIO,unsafeInterleaveIO, IORef, newIORef,readIORef,writeIORef,modifyIORef, IOArray, newIOArray,boundsIOArray,readIOArray,writeIOArray, freezeIOArray,thawIOArray, unsafeFreezeIOArray,unsafeThawIOArray, hIsTerminalDevice, trace, performGC) where import Array import IO import IOVector import Monad import Unsafe(unsafePerformIO,unsafeInterleaveIO) import Trace(trace) -- monadic fix-point operator external primitive fixIO :: (a -> IO a) -> IO a -- mutable references data IORef a external primitive newIORef :: a -> IO (IORef a) external primitive readIORef :: IORef a -> IO a external primitive writeIORef :: IORef a -> a -> IO () modifyIORef :: IORef a -> (a -> a) -> IO () modifyIORef r f = readIORef r >>= \x -> writeIORef r (f x) -- mutable arrays data IOArray a = IOArray (Int,Int) (IOVector a) newIOArray :: (Int,Int) -> a -> IO (IOArray a) newIOArray b x = do v <- newIOVector (rangeSize b) x return (IOArray b v) boundsIOArray :: IOArray a -> (Int,Int) boundsIOArray (IOArray b _) = b readIOArray :: IOArray a -> Int -> IO a readIOArray (IOArray b v) i = readIOVector v (index b i) writeIOArray :: IOArray a -> Int -> a -> IO () writeIOArray (IOArray b v) i x = writeIOVector v (index b i) x freezeIOArray :: IOArray a -> IO (Array a) freezeIOArray (IOArray b v) = copyIOVector v >>= unsafeArray b thawIOArray :: Array a -> IO (IOArray a) thawIOArray a = do v <- unsafeVector a v' <- copyIOVector v return (IOArray (bounds a) v') unsafeFreezeIOArray :: IOArray a -> IO (Array a) unsafeFreezeIOArray (IOArray b v) = unsafeArray b v unsafeThawIOArray :: Array a -> IO (IOArray a) unsafeThawIOArray a = do v <- unsafeVector a return (IOArray (bounds a) v) -- assorted IO functions external primitive hIsTerminalDevice :: Handle -> IO Bool -- perform a garbage collection external primitive performGC :: IO () Index: prelude.curry =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/stdlib/prelude.curry,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** prelude.curry 9 Sep 2004 21:45:26 -0000 1.10 --- prelude.curry 9 Feb 2005 18:40:22 -0000 1.11 *************** *** 23,27 **** --- Function composition. (.) :: (b -> c) -> (a -> b) -> (a -> c) ! f . g = \x -> f (g x) --- Identity function. --- 23,27 ---- --- Function composition. (.) :: (b -> c) -> (a -> b) -> (a -> c) ! (f . g) x = f (g x) --- Identity function. *************** *** 64,69 **** --- Abort the execution with an error message. error :: String -> a ! error msg = unsafePerformIO (putStrLn ("Error: " ++ msg) >> curryExit 1) ! where external primitive unsafePerformIO :: IO a -> a external primitive curryExit :: Int -> IO a --- 64,72 ---- --- Abort the execution with an error message. error :: String -> a ! error msg = unsafePerformIO (abort ("Error: " ++ msg ++ "\n")) ! where abort msg = hPutStr stderr msg >> curryExit 1 ! external primitive stderr :: Handle ! external primitive hPutStr :: Handle -> String -> IO () ! external primitive unsafePerformIO :: IO a -> a external primitive curryExit :: Int -> IO a --- NEW FILE: Set.curry --- -- sets based on finite maps -- Copyright (c) 2002-2004, Wolfgang Lux -- See ../LICENSE for the full license. module Set(Set, eqSet,neqSet, showSet, nullSet, zeroSet, unitSet, addToSet, deleteFromSet, elemSet, notElemSet, subsetSet, fromListSet, toListSet, unionSet, unionSets, intersectionSet, diffSet, symDiffSet, mapSet, domainFM) where import List import Maybe import FiniteMap infixl 8 `addToSet`, `deleteFromSet` infixl 7 `unionSet`, `intersectionSet` infixl 6 `diffSet`, `symDiffSet` infix 4 `eqSet`, `neqSet`, `subsetSet`, `elemSet`, `notElemSet` newtype Set a = Set (FM a ()) eqSet, neqSet :: Eq a => Set a -> Set a -> Bool xs `eqSet` ys = toListSet xs == toListSet ys xs `neqSet` ys = not (xs `eqSet` ys) showSet :: Show a => Set a -> String showSet set ="{" ++ showList (map show (toListSet set)) ++ show "}" where showList = concat . intersperse "," nullSet :: Set a -> Bool nullSet xs = null (toListSet xs) zeroSet :: Set a zeroSet = Set zeroFM unitSet :: a -> Set a unitSet x = Set (unitFM x ()) addToSet :: Ord a => a -> Set a -> Set a addToSet x (Set xs) = Set (addToFM x () xs) deleteFromSet :: Ord a => a -> Set a -> Set a deleteFromSet x (Set xs) = Set (deleteFromFM x xs) elemSet :: Ord a => a -> Set a -> Bool elemSet x (Set xs) = isJust (lookupFM x xs) notElemSet :: Ord a => a -> Set a -> Bool notElemSet x set = not (elemSet x set) subsetSet :: Ord a => Set a -> Set a -> Bool subsetSet xs ys = all (`elemSet` ys) (toListSet xs) fromListSet :: Ord a => [a] -> Set a fromListSet = foldr addToSet zeroSet toListSet :: Set a -> [a] toListSet (Set xs) = map fst (toListFM xs) unionSet :: Ord a => Set a -> Set a -> Set a unionSet xs ys = foldr addToSet xs (toListSet ys) unionSets :: Ord a => [Set a] -> Set a unionSets = foldr unionSet zeroSet intersectionSet :: Ord a => Set a -> Set a -> Set a intersectionSet xs ys = foldr addToSet zeroSet [y | y <- toListSet ys, y `elemSet` xs] diffSet :: Ord a => Set a -> Set a -> Set a diffSet xs ys = foldr deleteFromSet xs (toListSet ys) symDiffSet :: Ord a => Set a -> Set a -> Set a symDiffSet xs ys = unionSet (diffSet xs ys) (diffSet ys xs) mapSet :: Ord b => (a -> b) -> Set a -> Set b mapSet f xs = fromListSet (map f (toListSet xs)) domainFM :: FM a b -> Set a domainFM xs = Set (mapFM (const ()) xs) Index: Success.curry =================================================================== RCS file: /cvsroot/zinc-project/zinc-compiler/stdlib/Success.curry,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Success.curry 17 Feb 2004 22:47:36 -0000 1.1 --- Success.curry 9 Feb 2005 18:40:22 -0000 1.2 *************** *** 27,28 **** --- 27,32 ---- choosep x (_:_) = x choosep _ (x:xs) = choosep x xs + + -- (ground e) ensures that e is a ground data term; the argument is + -- evaluated lazily as with prelude.id + external primitive ground :: a -> a |
From: Diego B. M. <ber...@us...> - 2005-02-07 16:34:26
|
Update of /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/typecheck/should_compile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22521 Modified Files: all.T Added Files: Tc020.curry Tc021.curry Tc022.curry Tc023.curry Log Message: More tests --- NEW FILE: Tc023.curry --- module Tc023 where -- elem :: Eq a => a -> [a] -> Bool f x ys = (`elem` ys) x --- NEW FILE: Tc020.curry --- module Tc020 where -- elem :: Eq a => a -> [a] -> Bool f = elem --- NEW FILE: Tc021.curry --- module Tc021 where -- elem :: Eq a => a -> [a] -> Bool f x ys = x `elem` ys --- NEW FILE: Tc022.curry --- module Tc020 where -- elem :: Eq a => a -> [a] -> Bool f x ys = (x `elem`) ys Index: all.T =================================================================== RCS file: /cvsroot/zinc-project/compiler-testsuite/tests/typeclasses/typecheck/should_compile/all.T,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** all.T 8 Sep 2004 18:56:01 -0000 1.9 --- all.T 7 Feb 2005 16:34:16 -0000 1.10 *************** *** 18,19 **** --- 18,23 ---- test('Tc018', normal, compile, ['']) test('Tc019', normal, compile, ['']) + test('Tc020', normal, compile, ['']) + test('Tc021', normal, compile, ['']) + test('Tc022', normal, compile, ['']) + test('Tc023', normal, compile, ['']) |
From: Diego B. M. <ber...@us...> - 2005-01-29 19:32:52
|
Update of /cvsroot/zinc-project/pfc-doc-es/diseno/entornos In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22289/entornos Modified Files: tipos.tex Log Message: Substituted TypeGuard by TypeConstrained Index: tipos.tex =================================================================== RCS file: /cvsroot/zinc-project/pfc-doc-es/diseno/entornos/tipos.tex,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** tipos.tex 2 Sep 2004 13:53:12 -0000 1.5 --- tipos.tex 29 Jan 2005 19:32:35 -0000 1.6 *************** *** 134,138 **** \igualDD{} \bAltDD & \entradaDD{TypeConstructor} \\ & \barraDD & \entradaDD{TypeVariable} \\ & ! \barraDD & \entradaDD{TypeGuard} \\ & \barraDD & \entradaDD{TypeSkolem} \\ & \barraDD & \entradaDD{TypeApplication} \eAltDD{} \\ --- 134,138 ---- \igualDD{} \bAltDD & \entradaDD{TypeConstructor} \\ & \barraDD & \entradaDD{TypeVariable} \\ & ! \barraDD & \entradaDD{TypeConstrained} \\ & \barraDD & \entradaDD{TypeSkolem} \\ & \barraDD & \entradaDD{TypeApplication} \eAltDD{} \\ *************** *** 147,152 **** \\ ! \entradaDD{TypeGuard} & ! \igualDD & \simpleDD{Int} \\ \\ --- 147,153 ---- \\ ! \entradaDD{TypeConstrained} & ! \igualDD & \bIterDD{} \entradaDD{Type} \eIterDD \\ & ! \masDD & \simpleDD{Int} \\ \\ |