Tim Ryan

Results 99 issues of Tim Ryan

There are only a few instances of these in the codebase (see C.lhs) but it should be parsed properly at least. ``` CIntConst (CInteger v repr flags) _ -> let...

translation-error

Whatever the @ does here, it should be handled right: ``` typedef mut [spec@(CTypeDef ident _)] = do ```

translation-error

There are a few control groups (of `do`, `let`, and `case`) that don't handle `where` right. 1. They parse their body as a list of statements and then `where`, so...

translation-error

e.g. in this code, the colons will wrongly be treated as function arguments. ``` baseTypeOf :: [CDeclSpec] -> EnvMonad s (Maybe CStorageSpec, EnvMonad s IntermediateType) baseTypeOf specs = do --...

translation-error

Say we're matching: ``` case value of Container([]) => ..., Container(vector) => ..., ``` This won't work in Rust if you try to match against a container. Unless `box []`...

translation-error

(See #17 for a meta-topic) Since if ... else ... is a common control structure, we should convert it to its Rust equivalent, the if { ... } else {...

translation-error

Because Lambda is treated as an Expr, and the pattern for several exprs is Expr+, it would be ambiguous to accept ExprSpan as a body. A result of this is...

When parsing `happy` and `alex` outputted code, that is the generated Lexer and Parser code in `gen/`, we can see that a large number of functions have inferred type definitions,...

question

What is this? ``` IntMap.fromSet (const ()) ```

These files are generated using the Haskell-native parsers, Happy and Alex. So the original code is in Haskell and the output requires a Haskell compiler. These files are then reformatted...