Giter Site home page Giter Site logo

scf's Introduction

(rajan-walia)

scf's People

Contributors

akuhlens avatar rjnw avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

akuhlens

scf's Issues

Errors during setup

During setup with 7.2 after: raco pkg install --link --auto

I am getting quite a few errors:

raco setup: --- summary of errors ---
raco setup: output: during making for <pkgs>/rcf/test
STDOUT:
struct-defs:
'((struct LC:expr ())
  (struct LC:expr:lambda LC:expr (n body))
  (struct LC:expr:letrec LC:expr (ids vals e))
  (struct LC:expr:app LC:expr (rator rand))
  (struct LC:expr:sym LC:expr (s))
  (struct LC:terminal ()))
=====
raco setup: output: during making for <pkgs>/rcf/test
STDOUT:
struct-defs:
'((struct expr ())
  (define-generics exprg (map-expr f-expr f-reducer f-stmt f-pat exprg))
  (struct
   expr-mod
   expr
   (main fns)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-mod main fns) exprg)
      (expr-mod (f-expr main) (map f-expr fns)))))
  (struct
   expr-cvar
   expr
   (var val)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-cvar var val) exprg)
      (expr-cvar var (f-expr val)))))
  (struct
   expr-fun
   expr
   (name args ret-type body)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-fun name args ret-type body) exprg)
      (expr-fun name (map f-expr args) (f-expr ret-type) (f-expr body)))))
  (struct
   expr-lets
   expr
   (types vars vals stmt body)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-lets types vars vals stmt body) exprg)
      (expr-lets
       types
       (map f-expr vars)
       (map f-expr vals)
       (f-stmt stmt)
       (f-expr body)))))
  (struct
   expr-var
   expr
   ((type #:mutable) sym (info #:mutable))
   #:methods
   gen:equal+hash
   ((define (equal-proc v1 v2 _) (equal? (expr-var-sym v1) (expr-var-sym v2)))
    (define (hash-proc v _) (equal-hash-code (expr-var-sym v)))
    (define (hash2-proc v _) (equal-secondary-hash-code (expr-var-sym v))))
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-var type sym info) exprg)
      (expr-var type sym info))))
  (struct
   expr-arr
   expr
   (type index size body)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-arr type index size body) exprg)
      (expr-arr type (f-expr index) (f-expr size) (f-expr body)))))
  (struct
   expr-sum
   expr
   (type index start end body)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-sum type index start end body) exprg)
      (expr-sum
       type
       (f-expr index)
       (f-expr start)
       (f-expr end)
       (f-expr body)))))
  (struct
   expr-prd
   expr
   (type index start end body)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-prd type index start end body) exprg)
      (expr-prd
       type
       (f-expr index)
       (f-expr start)
       (f-expr end)
       (f-expr body)))))
  (struct
   expr-bucket
   expr
   (type start end reducer)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-bucket type start end reducer) exprg)
      (expr-bucket type (f-expr start) (f-expr end) (f-reducer reducer)))))
  (struct
   expr-branch
   expr
   (pat body)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-branch pat body) exprg)
      (expr-branch (f-pat pat) (f-expr body)))))
  (struct
   expr-match
   expr
   (type tst branches)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-match type tst branches) exprg)
      (expr-match type (f-expr tst) (map f-expr branches)))))
  (struct
   expr-bind
   expr
   (var body)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-bind var body) exprg)
      (expr-bind var (f-expr body)))))
  (struct
   expr-if
   expr
   (type tst thn els)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-if type tst thn els) exprg)
      (expr-if type (f-expr tst) (f-expr thn) (f-expr els)))))
  (struct
   expr-app
   expr
   (type rator rands)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-app type rator rands) exprg)
      (expr-app type (f-expr rator) (map f-expr rands)))))
  (struct
   expr-val
   expr
   (type v)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-val type v) exprg)
      (expr-val type (f-expr v)))))
  (struct
   expr-intrf
   expr
   (sym)
   #:methods
   gen:exprg
   ((define (map-expr f-expr f-reducer f-stmt f-pat exprg)
      (match-define (expr-intrf sym) exprg)
      (expr-intrf sym))))
  (struct reducer ())
  (define-generics
   reducerg
   (map-reducer f-expr f-reducer f-stmt f-pat reducerg))
  (struct
   reducer-split
   reducer
   (e a b)
   #:methods
   gen:reducerg
   ((define (map-reducer f-expr f-reducer f-stmt f-pat reducerg)
      (match-define (reducer-split e a b) reducerg)
      (reducer-split (f-expr e) (f-reducer a) (f-reducer b)))))
  (struct
   reducer-fanout
   reducer
   (a b)
   #:methods
   gen:reducerg
   ((define (map-reducer f-expr f-reducer f-stmt f-pat reducerg)
      (match-define (reducer-fanout a b) reducerg)
      (reducer-fanout (f-reducer a) (f-reducer b)))))
  (struct
   reducer-add
   reducer
   (e)
   #:methods
   gen:reducerg
   ((define (map-reducer f-expr f-reducer f-stmt f-pat reducerg)
      (match-define (reducer-add e) reducerg)
      (reducer-add (f-expr e)))))
  (struct
   reducer-nop
   reducer
   ()
   #:methods
   gen:reducerg
   ((define (map-reducer f-expr f-reducer f-stmt f-pat reducerg)
      (match-define (reducer-nop) reducerg)
      (reducer-nop))))
  (struct
   reducer-index
   reducer
   (n i a)
   #:methods
   gen:reducerg
   ((define (map-reducer f-expr f-reducer f-stmt f-pat reducerg)
      (match-define (reducer-index n i a) reducerg)
      (reducer-index (f-expr n) (f-expr i) (f-reducer a)))))
  (struct stmt ())
  (define-generics stmtg (map-stmt f-expr f-reducer f-stmt f-pat stmtg))
  (struct
   stmt-return
   stmt
   (val)
   #:methods
   gen:stmtg
   ((define (map-stmt f-expr f-reducer f-stmt f-pat stmtg)
      (match-define (stmt-return val) stmtg)
      (stmt-return val))))
  (struct
   stmt-if
   stmt
   (tst thn els)
   #:methods
   gen:stmtg
   ((define (map-stmt f-expr f-reducer f-stmt f-pat stmtg)
      (match-define (stmt-if tst thn els) stmtg)
      (stmt-if (f-expr tst) (f-stmt thn) (f-stmt els)))))
  (struct
   stmt-for
   stmt
   (i start end body)
   #:methods
   gen:stmtg
   ((define (map-stmt f-expr f-reducer f-stmt f-pat stmtg)
      (match-define (stmt-for i start end body) stmtg)
      (stmt-for (f-expr i) (f-expr start) (f-expr end) (f-stmt body)))))
  (struct
   stmt-expr
   stmt
   (stmt expr)
   #:methods
   gen:stmtg
   ((define (map-stmt f-expr f-reducer f-stmt f-pat stmtg)
      (match-define (stmt-expr stmt expr) stmtg)
      (stmt-expr (f-stmt stmt) (f-expr expr)))))
  (struct
   stmt-block
   stmt
   (stmts)
   #:methods
   gen:stmtg
   ((define (map-stmt f-expr f-reducer f-stmt f-pat stmtg)
      (match-define (stmt-block stmts) stmtg)
      (stmt-block (map f-stmt stmts)))))
  (struct
   stmt-assign
   stmt
   (var val)
   #:methods
   gen:stmtg
   ((define (map-stmt f-expr f-reducer f-stmt f-pat stmtg)
      (match-define (stmt-assign var val) stmtg)
      (stmt-assign (f-expr var) (f-expr val)))))
  (struct
   stmt-void
   stmt
   ()
   #:methods
   gen:stmtg
   ((define (map-stmt f-expr f-reducer f-stmt f-pat stmtg)
      (match-define (stmt-void) stmtg)
      (stmt-void))))
  (struct pat ())
  (define-generics patg (map-pat f-expr f-reducer f-stmt f-pat patg))
  (struct
   pat-true
   pat
   ()
   #:methods
   gen:patg
   ((define (map-pat f-expr f-reducer f-stmt f-pat patg)
      (match-define (pat-true) patg)
      (pat-true))))
  (struct
   pat-false
   pat
   ()
   #:methods
   gen:patg
   ((define (map-pat f-expr f-reducer f-stmt f-pat patg)
      (match-define (pat-false) patg)
      (pat-false))))
  (struct
   pat-pair
   pat
   (a b)
   #:methods
   gen:patg
   ((define (map-pat f-expr f-reducer f-stmt f-pat patg)
      (match-define (pat-pair a b) patg)
      (pat-pair (f-pat a) (f-pat b)))))
  (struct
   pat-var
   pat
   ()
   #:methods
   gen:patg
   ((define (map-pat f-expr f-reducer f-stmt f-pat patg)
      (match-define (pat-var) patg)
      (pat-var))))
  (struct
   pat-ident
   pat
   ()
   #:methods
   gen:patg
   ((define (map-pat f-expr f-reducer f-stmt f-pat patg)
      (match-define (pat-ident) patg)
      (pat-ident)))))
=====
raco setup: output: during making for <pkgs>/rcf/test
STDOUT:
struct-defs:
'((struct sham:def ((info #:mutable) id:terminal.sym))
  (struct
   sham:def:module
   sham:def
   (defs)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:def:module info id:terminal.sym defs) struc)
      (match
       mode
       (#t (write `(sham:def:module info id:terminal.sym defs) port))
       (#f (display `(module ,@`(,@`,defs)) port))
       (else (print `(sham:def:module info id:terminal.sym defs) port))))))
  (struct
   sham:def:function
   sham:def
   (arg-ids arg-types ret-type body)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define
       (sham:def:function info id:terminal.sym arg-ids arg-types ret-type body)
       struc)
      (match
       mode
       (#t
        (write
         `(sham:def:function
           info
           id:terminal.sym
           arg-ids
           arg-types
           ret-type
           body)
         port))
       (#f
        (display
         `(function
           ,@`(,@(apply (curry map list) `(,arg-ids ,arg-types))
               ,ret-type
               ,body))
         port))
       (else
        (print
         `(sham:def:function
           info
           id:terminal.sym
           arg-ids
           arg-types
           ret-type
           body)
         port))))))
  (struct
   sham:def:type
   sham:def
   (type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:def:type info id:terminal.sym type) struc)
      (match
       mode
       (#t (write `(sham:def:type info id:terminal.sym type) port))
       (#f (display `(type ,@`(,type)) port))
       (else (print `(sham:def:type info id:terminal.sym type) port))))))
  (struct
   sham:def:global
   sham:def
   (type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:def:global info id:terminal.sym type) struc)
      (match
       mode
       (#t (write `(sham:def:global info id:terminal.sym type) port))
       (#f (display `(global ,@`(,type)) port))
       (else (print `(sham:def:global info id:terminal.sym type) port))))))
  (struct
   sham:def:global-string
   sham:def
   (str)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:def:global-string info id:terminal.sym str) struc)
      (match
       mode
       (#t (write `(sham:def:global-string info id:terminal.sym str) port))
       (#f (display `(global-string ,@`(,str)) port))
       (else
        (print `(sham:def:global-string info id:terminal.sym str) port))))))
  (struct sham:ast ((metadata #:auto #:mutable)))
  (struct sham:ast:type sham:ast ())
  (struct
   sham:ast:type:internal
   sham:ast:type
   ()
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:type:internal metadata) struc)
      (match
       mode
       (#t (write `(sham:ast:type:internal metadata) port))
       (#f (display `(internal ,@`()) port))
       (else (print `(sham:ast:type:internal metadata) port))))))
  (struct
   sham:ast:type:ref
   sham:ast:type
   (to)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:type:ref metadata to) struc)
      (match
       mode
       (#t (write `(sham:ast:type:ref metadata to) port))
       (#f (display `(ref ,@`(,to)) port))
       (else (print `(sham:ast:type:ref metadata to) port))))))
  (struct
   sham:ast:type:struct
   sham:ast:type
   (fields types)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:type:struct metadata fields types) struc)
      (match
       mode
       (#t (write `(sham:ast:type:struct metadata fields types) port))
       (#f
        (display
         `(struct ,@`(,@(apply (curry map list) `(,fields ,types))))
         port))
       (else (print `(sham:ast:type:struct metadata fields types) port))))))
  (struct
   sham:ast:type:function
   sham:ast:type
   (args ret)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:type:function metadata args ret) struc)
      (match
       mode
       (#t (write `(sham:ast:type:function metadata args ret) port))
       (#f (display `(function ,@`(,@`,args -> ,ret)) port))
       (else (print `(sham:ast:type:function metadata args ret) port))))))
  (struct
   sham:ast:type:pointer
   sham:ast:type
   (to)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:type:pointer metadata to) struc)
      (match
       mode
       (#t (write `(sham:ast:type:pointer metadata to) port))
       (#f (display `(pointer ,@`(,to)) port))
       (else (print `(sham:ast:type:pointer metadata to) port))))))
  (struct
   sham:ast:type:array
   sham:ast:type
   (of size)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:type:array metadata of size) struc)
      (match
       mode
       (#t (write `(sham:ast:type:array metadata of size) port))
       (#f (display `(array ,@`(,of ,size)) port))
       (else (print `(sham:ast:type:array metadata of size) port))))))
  (struct
   sham:ast:type:vector
   sham:ast:type
   (of size)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:type:vector metadata of size) struc)
      (match
       mode
       (#t (write `(sham:ast:type:vector metadata of size) port))
       (#f (display `(vector ,@`(,of ,size)) port))
       (else (print `(sham:ast:type:vector metadata of size) port))))))
  (struct sham:ast:rator sham:ast ())
  (struct
   sham:ast:rator:symbol
   sham:ast:rator
   (id)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:rator:symbol metadata id) struc)
      (match
       mode
       (#t (write `(sham:ast:rator:symbol metadata id) port))
       (#f (display `,id port))
       (else (print `(sham:ast:rator:symbol metadata id) port))))))
  (struct
   sham:ast:rator:intrinsic
   sham:ast:rator
   (id return-type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:rator:intrinsic metadata id return-type) struc)
      (match
       mode
       (#t (write `(sham:ast:rator:intrinsic metadata id return-type) port))
       (#f (display `(intrinsic ,@`(,id ,return-type)) port))
       (else
        (print `(sham:ast:rator:intrinsic metadata id return-type) port))))))
  (struct
   sham:ast:rator:external
   sham:ast:rator
   (lib-id id ret-type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:rator:external metadata lib-id id ret-type) struc)
      (match
       mode
       (#t (write `(sham:ast:rator:external metadata lib-id id ret-type) port))
       (#f (display `(external ,@`(,lib-id ,id ,ret-type)) port))
       (else
        (print `(sham:ast:rator:external metadata lib-id id ret-type) port))))))
  (struct
   sham:ast:rator:racket
   sham:ast:rator
   (id racket-value full-type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define
       (sham:ast:rator:racket metadata id racket-value full-type)
       struc)
      (match
       mode
       (#t
        (write
         `(sham:ast:rator:racket metadata id racket-value full-type)
         port))
       (#f (display `(racket ,@`(,id ,racket-value ,full-type)) port))
       (else
        (print
         `(sham:ast:rator:racket metadata id racket-value full-type)
         port))))))
  (struct sham:ast:stmt sham:ast ())
  (struct
   sham:ast:stmt:set!
   sham:ast:stmt
   (lhs val)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:stmt:set! metadata lhs val) struc)
      (match
       mode
       (#t (write `(sham:ast:stmt:set! metadata lhs val) port))
       (#f (display `(set! ,@`(,lhs ,val)) port))
       (else (print `(sham:ast:stmt:set! metadata lhs val) port))))))
  (struct
   sham:ast:stmt:if
   sham:ast:stmt
   (test then else)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:stmt:if metadata test then else) struc)
      (match
       mode
       (#t (write `(sham:ast:stmt:if metadata test then else) port))
       (#f (display `(if ,@`(,test ,then ,else)) port))
       (else (print `(sham:ast:stmt:if metadata test then else) port))))))
  (struct
   sham:ast:stmt:switch
   sham:ast:stmt
   (test check body default)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define
       (sham:ast:stmt:switch metadata test check body default)
       struc)
      (match
       mode
       (#t
        (write `(sham:ast:stmt:switch metadata test check body default) port))
       (#f
        (display
         `(switch
           ,@`(,test ,@(apply (curry map list) `(,check ,body)) ,default))
         port))
       (else
        (print
         `(sham:ast:stmt:switch metadata test check body default)
         port))))))
  (struct
   sham:ast:stmt:break
   sham:ast:stmt
   ()
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:stmt:break metadata) struc)
      (match
       mode
       (#t (write `(sham:ast:stmt:break metadata) port))
       (#f (display `(break ,@`()) port))
       (else (print `(sham:ast:stmt:break metadata) port))))))
  (struct
   sham:ast:stmt:while
   sham:ast:stmt
   (test body)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:stmt:while metadata test body) struc)
      (match
       mode
       (#t (write `(sham:ast:stmt:while metadata test body) port))
       (#f (display `(while ,@`(,test ,body)) port))
       (else (print `(sham:ast:stmt:while metadata test body) port))))))
  (struct
   sham:ast:stmt:return
   sham:ast:stmt
   (value)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:stmt:return metadata value) struc)
      (match
       mode
       (#t (write `(sham:ast:stmt:return metadata value) port))
       (#f (display `(return ,@`(,value)) port))
       (else (print `(sham:ast:stmt:return metadata value) port))))))
  (struct
   sham:ast:stmt:svoid
   sham:ast:stmt
   ()
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:stmt:svoid metadata) struc)
      (match
       mode
       (#t (write `(sham:ast:stmt:svoid metadata) port))
       (#f (display `(svoid ,@`()) port))
       (else (print `(sham:ast:stmt:svoid metadata) port))))))
  (struct
   sham:ast:stmt:expr
   sham:ast:stmt
   (e)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:stmt:expr metadata e) struc)
      (match
       mode
       (#t (write `(sham:ast:stmt:expr metadata e) port))
       (#f (display `(expr ,@`(,e)) port))
       (else (print `(sham:ast:stmt:expr metadata e) port))))))
  (struct
   sham:ast:stmt:block
   sham:ast:stmt
   (stmts)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:stmt:block metadata stmts) struc)
      (match
       mode
       (#t (write `(sham:ast:stmt:block metadata stmts) port))
       (#f (display `(block ,@`(,@`,stmts)) port))
       (else (print `(sham:ast:stmt:block metadata stmts) port))))))
  (struct sham:ast:expr sham:ast ())
  (struct
   sham:ast:expr:app
   sham:ast:expr
   (rator rands)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:app metadata rator rands) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:app metadata rator rands) port))
       (#f (display `(app ,@`(,rator ,@`,rands)) port))
       (else (print `(sham:ast:expr:app metadata rator rands) port))))))
  (struct
   sham:ast:expr:evoid
   sham:ast:expr
   ()
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:evoid metadata) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:evoid metadata) port))
       (#f (display `(evoid ,@`()) port))
       (else (print `(sham:ast:expr:evoid metadata) port))))))
  (struct
   sham:ast:expr:sizeof
   sham:ast:expr
   (t)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:sizeof metadata t) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:sizeof metadata t) port))
       (#f (display `(sizeof ,@`(,t)) port))
       (else (print `(sham:ast:expr:sizeof metadata t) port))))))
  (struct
   sham:ast:expr:etype
   sham:ast:expr
   (t)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:etype metadata t) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:etype metadata t) port))
       (#f (display `(etype ,@`(,t)) port))
       (else (print `(sham:ast:expr:etype metadata t) port))))))
  (struct
   sham:ast:expr:gep
   sham:ast:expr
   (pointer indexes)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:gep metadata pointer indexes) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:gep metadata pointer indexes) port))
       (#f (display `(gep ,@`(,pointer ,@`,indexes)) port))
       (else (print `(sham:ast:expr:gep metadata pointer indexes) port))))))
  (struct
   sham:ast:expr:global
   sham:ast:expr
   (id)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:global metadata id) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:global metadata id) port))
       (#f (display `(global ,@`(,id)) port))
       (else (print `(sham:ast:expr:global metadata id) port))))))
  (struct
   sham:ast:expr:external
   sham:ast:expr
   (lib-id id t)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:external metadata lib-id id t) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:external metadata lib-id id t) port))
       (#f (display `(external ,@`(,lib-id ,id ,t)) port))
       (else (print `(sham:ast:expr:external metadata lib-id id t) port))))))
  (struct
   sham:ast:expr:let
   sham:ast:expr
   (ids vals types stmt expr)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:let metadata ids vals types stmt expr) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:let metadata ids vals types stmt expr) port))
       (#f
        (display
         `(let (unquote-splicing
                `((,@(apply (curry map list) `(,ids ,vals ,types)))
                  ,stmt
                  ,expr)))
         port))
       (else
        (print `(sham:ast:expr:let metadata ids vals types stmt expr) port))))))
  (struct
   sham:ast:expr:var
   sham:ast:expr
   (id)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:var metadata id) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:var metadata id) port))
       (#f (display `,id port))
       (else (print `(sham:ast:expr:var metadata id) port))))))
  (struct sham:ast:expr:const sham:ast:expr ())
  (struct
   sham:ast:expr:const:fl
   sham:ast:expr:const
   (value type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:const:fl metadata value type) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:const:fl metadata value type) port))
       (#f (display `(fl ,@`(,value ,type)) port))
       (else (print `(sham:ast:expr:const:fl metadata value type) port))))))
  (struct
   sham:ast:expr:const:si
   sham:ast:expr:const
   (value type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:const:si metadata value type) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:const:si metadata value type) port))
       (#f (display `(si ,@`(,value ,type)) port))
       (else (print `(sham:ast:expr:const:si metadata value type) port))))))
  (struct
   sham:ast:expr:const:ui
   sham:ast:expr:const
   (value type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:const:ui metadata value type) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:const:ui metadata value type) port))
       (#f (display `(ui ,@`(,value ,type)) port))
       (else (print `(sham:ast:expr:const:ui metadata value type) port))))))
  (struct
   sham:ast:expr:const:string
   sham:ast:expr:const
   (value type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:const:string metadata value type) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:const:string metadata value type) port))
       (#f (display `(string ,@`(,value ,type)) port))
       (else (print `(sham:ast:expr:const:string metadata value type) port))))))
  (struct
   sham:ast:expr:const:llvm
   sham:ast:expr:const
   (value type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:const:llvm metadata value type) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:const:llvm metadata value type) port))
       (#f (display `(llvm ,@`(,value ,type)) port))
       (else (print `(sham:ast:expr:const:llvm metadata value type) port))))))
  (struct
   sham:ast:expr:const:struct
   sham:ast:expr:const
   (value type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:const:struct metadata value type) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:const:struct metadata value type) port))
       (#f (display `(struct ,@`(,value ,type)) port))
       (else (print `(sham:ast:expr:const:struct metadata value type) port))))))
  (struct
   sham:ast:expr:const:array
   sham:ast:expr:const
   (value type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:const:array metadata value type) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:const:array metadata value type) port))
       (#f (display `(array ,@`(,value ,type)) port))
       (else (print `(sham:ast:expr:const:array metadata value type) port))))))
  (struct
   sham:ast:expr:const:vector
   sham:ast:expr:const
   (value type)
   #:methods
   gen:custom-write
   ((define (write-proc struc port mode)
      (match-define (sham:ast:expr:const:vector metadata value type) struc)
      (match
       mode
       (#t (write `(sham:ast:expr:const:vector metadata value type) port))
       (#f (display `(vector ,@`(,value ,type)) port))
       (else (print `(sham:ast:expr:const:vector metadata value type) port))))))
  (struct sham:terminal ()))
=====
raco pkg install: packages installed, although setup reported errors

Installing sham

Hi, I was trying to install sham and it seems that's it's not out of the box. I cloned it and did raco pkg install --auto --link -n sham but there's an rfc dependency. I installed it and ran again but I get all sorts of problems:

โžœ  sham git:(master) raco pkg install --auto --link -n sham                
Linking current directory as a package
pkg: failure getting info
  error: "get-info: info file has illegal #lang or #reader in private/info.rkt"
pkg: failure getting info
  error: "get-info: info file has illegal #lang or #reader in /home/pmatos/Projects/sham/private/info.rkt"
get-info: info file has illegal #lang or #reader in /home/pmatos/Projects/sham/private/info.rkt
  context...:
   read-extension44
   read
   /home/pmatos/installs/racket-7.1/collects/setup/getinfo.rkt:58:8: temp109
   /home/pmatos/installs/racket-7.1/collects/setup/getinfo.rkt:37:0: get-info/full/ext
   /home/pmatos/installs/racket-7.1/collects/setup/getinfo.rkt:33:0
   /home/pmatos/installs/racket-7.1/collects/racket/contract/private/arrow-val-first.rkt:428:3
   /home/pmatos/installs/racket-7.1/collects/setup/setup-core.rkt:295:2: make-cc*
   /home/pmatos/installs/racket-7.1/collects/setup/setup-core.rkt:333:2: collection-cc!20
   /home/pmatos/installs/racket-7.1/collects/setup/../racket/private/map.rkt:40:19: loop
   /home/pmatos/installs/racket-7.1/collects/setup/setup-core.rkt:526:26
   /home/pmatos/installs/racket-7.1/collects/racket/private/map.rkt:40:19: loop
   [repeats 72 more times]
   /home/pmatos/installs/racket-7.1/collects/racket/list.rkt:586:2: append-map
   /home/pmatos/installs/racket-7.1/collects/setup/setup-core.rkt:509:2: collection-closure
   /home/pmatos/installs/racket-7.1/collects/setup/setup-core.rkt:71:0: setup-core
   /home/pmatos/installs/racket-7.1/collects/setup/setup.rkt:65:3
   ...
raco setup: version: 7.1
raco setup: platform: x86_64-linux [3m]
raco setup: installation name: 7.1
raco setup: variants: 3m
raco setup: main collects: /home/pmatos/installs/racket-7.1/collects
raco setup: collects paths: 
raco setup:   /home/pmatos/.racket/7.1/collects
raco setup:   /home/pmatos/installs/racket-7.1/collects
raco setup: main pkgs: /home/pmatos/installs/racket-7.1/share/pkgs
raco setup: pkgs paths: 
raco setup:   /home/pmatos/installs/racket-7.1/share/pkgs
raco setup:   /home/pmatos//.racket/7.1/pkgs
raco setup: links files: 
raco setup:   /home/pmatos/installs/racket-7.1/share/links.rktd
raco setup:   /home/pmatos//.racket/7.1/links.rktd
raco setup: main docs: /home/pmatos/installs/racket-7.1/doc
raco setup: --- updating info-domain tables ---
raco setup: updating: /home/pmatos/.racket/7.1/share/info-cache.rktd
raco setup: --- pre-installing collections ---
raco setup: --- installing foreign libraries ---
raco setup: --- installing shared files ---
raco setup: --- compiling collections ---
raco setup: --- parallel build using 8 jobs ---
raco setup: 7 making: <pkgs>/sham
raco setup: 7 making: <pkgs>/sham/private
open-input-file: cannot open module file
  module path: /home/pmatos/Projects/sham/private/sham/main.rkt
  path: /home/pmatos/Projects/sham/private/sham/main.rkt
  system error: no such file or directory; rktio_err=3
  compilation context...:
   /home/pmatos/Projects/sham/private/compile.rkt
  context...:
   maybe-raise-missing-module
   default-load-handler
   standard-module-name-resolver
   perform-require!78
   for-loop
   finish
   [repeats 1 more time]
   pass-1-and-2-loop
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:273:0: compile-zo*
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:486:26
   ...
raco setup: 7 making: <pkgs>/sham/private/ast
raco setup: 7 making: <pkgs>/sham/private/compilers
raco setup: 7 making: <pkgs>/sham/private/libjit
raco setup: 7 making: <pkgs>/sham/private/llvm
raco setup: 7 making: <pkgs>/sham/private/llvm/ffi
raco setup: 7 making: <pkgs>/sham/test
test/types.rkt:13:17: compile-module: unbound identifier
  in: compile-module
  compilation context...:
   /home/pmatos/Projects/sham/test/types.rkt
  location...:
   test/types.rkt:13:17
  context...:
   do-raise-syntax-error
   loop
   [repeats 3 more times]
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:273:0: compile-zo*
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:486:26
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:478:42
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:548:0: compile-root
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:650:4
   /home/pmatos/installs/racket-7.1/collects/setup/../racket/private/more-scheme.rkt:261:28
   [repeats 1 more time]
test/template.rkt:15:19: compile-module: unbound identifier
  in: compile-module
  compilation context...:
   /home/pmatos/Projects/sham/test/template.rkt
  location...:
   test/template.rkt:15:19
  context...:
   do-raise-syntax-error
   loop
   [repeats 3 more times]
   module-begin-k
   expand-module16
   expand-submodule193
   loop
   [repeats 2 more times]
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:273:0: compile-zo*
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:486:26
   ...
test/functions.rkt:18:21: s$:if: unbound identifier
  in: s$:if
  compilation context...:
   /home/pmatos/Projects/sham/test/functions.rkt
  location...:
   test/functions.rkt:18:21
  context...:
   do-raise-syntax-error
   for-loop
   [repeats 2 more times]
   loop
   [repeats 2 more times]
   module-begin-k
   expand-module16
   expand-submodule193
   loop
   [repeats 2 more times]
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   ...
test/pointers.rkt:16:75: s$:void: unbound identifier
  in: s$:void
  compilation context...:
   /home/pmatos/Projects/sham/test/pointers.rkt
  location...:
   test/pointers.rkt:16:75
  context...:
   do-raise-syntax-error
   for-loop
   [repeats 2 more times]
   loop
   [repeats 2 more times]
   module-begin-k
   expand-module16
   expand-submodule193
   loop
   [repeats 2 more times]
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   ...
test/structs.rkt:17:22: s$:let: unbound identifier
  in: s$:let
  compilation context...:
   /home/pmatos/Projects/sham/test/structs.rkt
  location...:
   test/structs.rkt:17:22
  context...:
   do-raise-syntax-error
   for-loop
   [repeats 3 more times]
   loop
   [repeats 3 more times]
   module-begin-k
   expand-module16
   expand-submodule193
   loop
   [repeats 2 more times]
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   ...
standard-module-name-resolver: collection not found
  for module path: disassemble
  collection: "disassemble"
  in collection directories:
   /home/pmatos/.racket/7.1/collects
   /home/pmatos/installs/racket-7.1/collects
   ... [182 additional linked and package directories]
  compilation context...:
   /home/pmatos/Projects/sham/test/vector.rkt
  context...:
   show-collection-err
   standard-module-name-resolver
   perform-require!78
   for-loop
   finish
   [repeats 2 more times]
   pass-1-and-2-loop
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:273:0: compile-zo*
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:486:26
   /home/pmatos/installs/racket-7.1/collects/compiler/private/cm-minimal.rkt:478:42
   ...
test/recursion.rkt:14:21: s$:if: unbound identifier
  in: s$:if
  compilation context...:
   /home/pmatos/Projects/sham/test/recursion.rkt
  location...:
   test/recursion.rkt:14:21
  context...:
   do-raise-syntax-error
   for-loop
   [repeats 2 more times]
   loop
   [repeats 2 more times]
   module-begin-k
   expand-module16
   expand-submodule193
   loop
   [repeats 2 more times]
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   ...
raco setup: --- creating launchers ---
raco setup: --- installing man pages ---
raco setup: --- building documentation ---
...
[keeps on going]

How do you install this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.