SCM Repository
Annotation of /branches/vis15/src/compiler/WISHLIST.md
Parent Directory
|
Revision Log
Revision 4384 - (view) (download)
1 : | jhr | 4381 | ## Current status as of August 8, 2016 |
2 : | jhr | 4103 | |
3 : | ### Major bugs | ||
4 : | |||
5 : | * https://github.com/Diderot-Language/examples dvr/dvr.diderot (Feb 14 email from glk subject | ||
6 : | "memory errors, possibly cause of crashing"): memory errors cause crashing. Error messages | ||
7 : | suggest incorrect use of free(). | ||
8 : | jhr | 4223 | - fixed; the crashing bugs are gone. There is a small amount of memory leaking, but it |
9 : | appears to be leaking from teem (hest). | ||
10 : | jhr | 4103 | * bug054.diderot: return from inside a conditional in a function causes uncaught exception |
11 : | jhr | 4175 | - fixed |
12 : | jhr | 4103 | * bug047.diderot: don't know what's wrong; this is a program that used to work in the vis12 branch. |
13 : | - fixed | ||
14 : | * bug052.diderot: inside() doesn't work on 1D fields | ||
15 : | jhr | 4229 | - fixed |
16 : | jhr | 4103 | * bug053.diderot: differentiation doesn't work on 1D fields |
17 : | cchiw | 4227 | - fixed |
18 : | jhr | 4103 | * bug043.diderot: generated broken C code (was: no output ints?) |
19 : | - fixed | ||
20 : | * bug045.diderot: missing determinant on tensor[2,2] and tensor[3,3] | ||
21 : | - fixed | ||
22 : | * bug050.diderot: tensor[3,3] output not working | ||
23 : | - fixed | ||
24 : | * bug055.diderot: conditional field assignment causes an uncaught exception | ||
25 : | - fixed (typechecker rejects program) | ||
26 : | |||
27 : | ### Minor bugs | ||
28 : | |||
29 : | * bug029.diderot missing code generation for printing matrices and higher-order tensors. | ||
30 : | - fixed | ||
31 : | * bug051.diderot: 10x increase in compile time changing from bspln3 to c4hexic (can use --disable-mid-check) | ||
32 : | - vis15 compiles the c4hexic version in 1.16 seconds without checking and in 29s with --check-all | ||
33 : | So it is faster than vis12, but still slow when internal checking is enabled. | ||
34 : | jhr | 4229 | * bug028.diderot: missing forms of matrix multiplication; Charisee's work will address this issue |
35 : | jhr | 4103 | - fixed |
36 : | jhr | 4381 | * bug048.diderot: can't use one int and one real in a conditional expression |
37 : | jhr | 4103 | - fixed |
38 : | jhr | 4381 | * bug049.diderot: bogus types parsed as strand names create uncaught exceptions |
39 : | jhr | 4103 | - fixed, but the error message could be improved |
40 : | * bug007.diderot: no codegen support for tensor slices; Charisee's work will address this issue | ||
41 : | - fixed | ||
42 : | * bug038.diderot: (re-opening an older bug) run-time should check on existence of field orientation meta-data before use | ||
43 : | - fixed | ||
44 : | * bug044.diderot: either implement or disallow "output bool" | ||
45 : | - fixed | ||
46 : | * bug040.diderot: "The avoidance of redundant Inside tests is not working." | ||
47 : | - still open | ||
48 : | |||
49 : | ### Wish list (from high to low priority) | ||
50 : | |||
51 : | jhr | 4384 | * add `#version` directive. `#version 1.0` will be old syntax (some merge of charisee and lamont's |
52 : | branches); `#version 2.0` will be the new syntax. No directive will be interpreted as the | ||
53 : | same as `#version 1.0`. Include a `--warn-deprecated` compiler flag to generate | ||
54 : | warnings about deprecated syntax. | ||
55 : | |||
56 : | jhr | 4120 | * add clerp, with the following semantics: |
57 : | jhr | 4162 | ```` |
58 : | clerp(A,B,U,x,V) == clamp(A,B,lerp(A,B,U,x,V)) | ||
59 : | clerp(A,B,x) == clamp(A,B,lerp(A,B,x)) | ||
60 : | ```` | ||
61 : | jhr | 4120 | - still open |
62 : | jhr | 4103 | * allow a "continue" statement within the update method to go to the beginning of |
63 : | the next update iteration | ||
64 : | - fixed | ||
65 : | * print(): either implement for --target=pthread, or have compiler warn that it won't work | ||
66 : | - still open; pthread support is not yet complete in vis15 | ||
67 : | * print(): should be possible during strand initialization. Otherwise have to create an iteration | ||
68 : | counter initialized to zero, and print from inside update() only on first iteration | ||
69 : | - fixed | ||
70 : | * remove restriction on .diderot filename extension for Diderot program (or at least allow .ddro) | ||
71 : | jhr | 4124 | - fixed |
72 : | jhr | 4103 | * syntax errors from the compiler should just say "syntax error". The "try" suggestions are |
73 : | almost always confusing, sometimes laughable (e.g. printf() not a valid function; should be | ||
74 : | print() but compiler suggests to try inserting "%=". nope!). For now, all suggestions should | ||
75 : | be removed, because on average they create more confusion. More carefully crafted suggestions | ||
76 : | can be added on a case by case basis. | ||
77 : | jhr | 4381 | - fixed; we now just print "syntax error". A better fix will require improvements to ml-antlr. |
78 : | jhr | 4120 | * with "if (true) { foo } else { bar }", prune the dead code (in simplify?) |
79 : | jhr | 4124 | - fixed |
80 : | jhr | 4103 | * using "kern#N" syntax to assert C^N continuity |
81 : | - fixed | ||
82 : | * odd-support kernels | ||
83 : | - still open | ||
84 : | jhr | 4124 |
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |