
@mflatt I implemented some of the missing functions from http://docs.racket-lang.org/reference/eval.html but now port
references read-syntax
and extraction no longer works

is that a sign that the code should go in expander
?

but it also needs some internal access to port-related values (such as the original input/output ports)

Thanks for helping, but I think you should hold off on that direction until things get further along

ok

I picked that code because it supported read-eval-print-loop
, but I’ll leave the level to you

I did, however, also fix a small bug in printf
(PR sent)

What version of chez scheme is not-a-box supposed to use? I get this error spall@spall:~/iu/hash-tables/not-a-box$ scheme benchmark.scm
Chez Scheme Version 9.4.1
Copyright 1984-2016 Cisco Systems, Inc.
Exception in read: #<n>% primitive syntax is not allowed in #!r6rs mode at line 43, char 22 of hash-code.sls

@mflatt @samth

I’m not sure of the best approach, but supply all the ".so" files on the command line: scheme hash-code.so ... benchmark.scm

FWIW, I’m currently rearranging so that most of the ".so"s will be just “core.so”

Okay thanks

@spall I used chez built from GitHub

with the PR i’ve made, I can now run some benchmarks

chez is fairly fast :slightly_smiling_face:

but something about running things via the extracted expander is slow

also, my first benchmark of the expander itself runs about the same in racket & chez, and about 2x slower than the in-C expander

but I don’t know if that performance is affected by whatever is making running via the extracted expander slow

Chez’s profiling tools are nice

they confirm that the expander is a HAMT benchmark