nanopass-framework-racket icon indicating copy to clipboard operation
nanopass-framework-racket copied to clipboard

Racket port of the nanopass-framework

Results 13 nanopass-framework-racket issues
Sort by recently updated
recently updated
newest added

I think we can use default values for extra formal parameters in the define-pass form: ```rkt (define-pass name : lang-specifier (formal ...) -> lang-specifier (extra-return-val ...) definitions-clause processor ... body-expr)...

After syntax checking DrRacket supports some nice features: - Hovering over an identifier shows an arrow to its binding - Rightclicking an identifier allows (lexical scope aware) renaming of identifiers...

This may or may not be a bug in `nanopass-case`. If there were a nanopass-mailing list I would tried there before filing an issue. This works: ``` (let ([M (parse...

The following (Expr : Expr (e dest) -> Expr () [(let-values ,s (((,x ...) ,ce) ...) ,e) ; todo handle multiple values (let\* ([x0 (map first x)] [ce (map CExpr...

I ran into this error: ../../nanopass-framework-racket/private/pass.rkt:1188:42: tspec-pred: contract violation expected: tspec? given: #f in: the 1st argument of (-> tspec? (or/c #f identifier?)) contract from: /nanopass-framework-racket/private/records.rkt blaming: /nanopass-framework-racket/private/pass.rkt (assuming the...

The following error does not highlight the offending form in DrRacket. ``` define-language: unrecognized production in subtract in: (define (f φ ...) b) ```

This may not be solvable (or may require backtracking when constructing language). But I'll put this here anyway, and if it's not doable, we should output a better error message....

Here are two examples of problematic errors from with-output-language: ``` #lang nanopass (define-language L (entry Expr) (terminals (symbol (s))) (Expr (e) s)) (with-output-language (L Foo) `,3) ``` This first example...

The following program gives the error: ../../Applications/Racket v6.2/collects/racket/contract/private/blame.rkt:143:0: make-language: contract violation expected: identifier? given: #f in: the 2nd argument of (-> identifier? identifier? (listof tspec?) (listof ntspec?) language?) contract from:...

(originally submitted over email to the nanopass-framework mailing list by Axel Søgaard) The following programs compiles without errors: # lang nanopass (define variable? symbol?) (define-language LFE (entry TopLevelForm) (terminals (variable...