rjnw / scf Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
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
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.