From 0e4031ac6e9db93baaeeede54257b4a82ef5d2b7 Mon Sep 17 00:00:00 2001 From: ESL Date: Sun, 28 Jul 2024 18:19:40 -0400 Subject: [PATCH] version hacks for benchmarking --- misc/Skint-postlude.scm | 2 ++ misc/Skint-prelude.scm | 0 pre/t.scm | 7 ++-- t.c | 71 ++++++++++++++++++++++------------------- 4 files changed, 46 insertions(+), 34 deletions(-) create mode 100644 misc/Skint-postlude.scm create mode 100644 misc/Skint-prelude.scm diff --git a/misc/Skint-postlude.scm b/misc/Skint-postlude.scm new file mode 100644 index 0000000..be90c74 --- /dev/null +++ b/misc/Skint-postlude.scm @@ -0,0 +1,2 @@ +(define (this-scheme-implementation-name) + (string-append "skint-" (implementation-version))) diff --git a/misc/Skint-prelude.scm b/misc/Skint-prelude.scm new file mode 100644 index 0000000..e69de29 diff --git a/pre/t.scm b/pre/t.scm index 29b4cf3..000fd85 100644 --- a/pre/t.scm +++ b/pre/t.scm @@ -2139,7 +2139,7 @@ (string-cmp) (string-ci-cmp) (vector-cat) (bytevector=?) (bytevector->list) (list->bytevector) (subbytevector) (standard-input-port) (standard-output-port) (standard-error-port) (tty-port?) (port-fold-case?) (set-port-fold-case!) (rename-file) (current-directory) (directory-separator) - (void) (void?) + (void) (void?) (implementation-name) (implementation-version) ; (repl hidden) library entries below the auto-adder need to be added explicitly (*user-name-registry* . hidden) (make-readonly-environment . hidden) (make-controlled-environment . hidden) (make-sld-environment . hidden) @@ -2148,7 +2148,7 @@ (r5rs-environment . hidden) (r5rs-null-environment . hidden) (*verbose* . hidden) (*quiet* . hidden) (compile-and-run-core-expr . hidden) (evaluate-top-form . hidden) (run-script . hidden) (run-program . hidden) (repl-evaluate-top-form . hidden) (repl-read . hidden) - (repl-exec-command . hidden) (repl-from-port . hidden) (run-benchmark . hidden) (repl . hidden) + (repl-exec-command . hidden) (repl-from-port . hidden) (run-benchmark . hidden) (repl . hidden) )) ; clean up root environment by moving all symbolic bindings not in (skint) library @@ -2697,6 +2697,9 @@ (define *skint-version* "0.4.9") +(define (implementation-version) *skint-version*) +(define (implementation-name) "SKINT") + (define (skint-main) ; see if command line asks for special processing (define (eval! str print?) diff --git a/t.c b/t.c index c5fbced..90a0f44 100644 --- a/t.c +++ b/t.c @@ -1179,7 +1179,7 @@ char *t_code[] = { "0:*root-name-registry*),@(y11:name-lookup)[03}", "C", 0, - "${'(l508:l3:y1:*;y1:v;y1:b;;l3:y1:+;y1:v;y1:b;;l3:y1:-;y1:v;y1:b;;l4:y" + "${'(l510:l3:y1:*;y1:v;y1:b;;l3:y1:+;y1:v;y1:b;;l3:y1:-;y1:v;y1:b;;l4:y" "3:...;y1:v;y1:u;y1:b;;l3:y1:/;y1:v;y1:b;;l3:y1:<;y1:v;y1:b;;l3:y2:<=;y" "1:v;y1:b;;l3:y1:=;y1:v;y1:b;;l4:y2:=>;y1:v;y1:u;y1:b;;l3:y1:>;y1:v;y1:" "b;;l3:y2:>=;y1:v;y1:b;;l2:y1:_;y1:b;;l3:y3:abs;y1:v;y1:b;;l4:y3:and;y1" @@ -1343,37 +1343,38 @@ char *t_code[] = { "ndard-output-port;;l1:y19:standard-error-port;;l1:y9:tty-port?;;l1:y15" ":port-fold-case?;;l1:y19:set-port-fold-case!;;l1:y11:rename-file;;l1:y" "17:current-directory;;l1:y19:directory-separator;;l1:y4:void;;l1:y5:vo" - "id?;;py20:*user-name-registry*;y6:hidden;;py25:make-readonly-environme" - "nt;y6:hidden;;py27:make-controlled-environment;y6:hidden;;py20:make-sl" - "d-environment;y6:hidden;;py21:make-repl-environment;y6:hidden;;py19:fi" - "nd-library-in-env;y6:hidden;;py16:root-environment;y6:hidden;;py16:rep" - "l-environment;y6:hidden;;py17:empty-environment;y6:hidden;;py32:make-h" - "istoric-report-environment;y6:hidden;;py16:r5rs-environment;y6:hidden;" - ";py21:r5rs-null-environment;y6:hidden;;py9:*verbose*;y6:hidden;;py7:*q" - "uiet*;y6:hidden;;py25:compile-and-run-core-expr;y6:hidden;;py17:evalua" - "te-top-form;y6:hidden;;py10:run-script;y6:hidden;;py11:run-program;y6:" - "hidden;;py22:repl-evaluate-top-form;y6:hidden;;py9:repl-read;y6:hidden" - ";;py17:repl-exec-command;y6:hidden;;py14:repl-from-port;y6:hidden;;py1" - "3:run-benchmark;y6:hidden;;py4:repl;y6:hidden;;),&0{%1,,,,#0#1#2#3&0{%" - "1.0,'(y1:w),.1v?{'(l2:y6:scheme;y5:write;)]2}'(y1:t),.1v?{'(l2:y6:sche" - "me;y4:time;)]2}'(y1:p),.1v?{'(l2:y6:scheme;y4:repl;)]2}'(y1:r),.1v?{'(" - "l2:y6:scheme;y4:read;)]2}'(y1:v),.1v?{'(l2:y6:scheme;y4:r5rs;)]2}'(y1:" - "u),.1v?{'(l2:y6:scheme;y9:r5rs-null;)]2}'(y1:d),.1v?{'(l2:y6:scheme;y4" - ":load;)]2}'(y1:z),.1v?{'(l2:y6:scheme;y4:lazy;)]2}'(y1:s),.1v?{'(l2:y6" - ":scheme;y15:process-context;)]2}'(y1:i),.1v?{'(l2:y6:scheme;y7:inexact" - ";)]2}'(y1:f),.1v?{'(l2:y6:scheme;y4:file;)]2}'(y1:e),.1v?{'(l2:y6:sche" - "me;y4:eval;)]2}'(y1:o),.1v?{'(l2:y6:scheme;y7:complex;)]2}'(y1:h),.1v?" - "{'(l2:y6:scheme;y4:char;)]2}'(y1:l),.1v?{'(l2:y6:scheme;y11:case-lambd" - "a;)]2}'(y1:a),.1v?{'(l2:y6:scheme;y3:cxr;)]2}'(y1:b),.1v?{'(l2:y6:sche" - "me;y4:base;)]2}'(y1:x),.1v?{'(l2:y6:scheme;y3:box;)]2}.1I0?{.1,'(y4:sr" - "fi),l2]2}.1,l1]2}.!0&0{%1${&0{%1n,'(l1:y5:begin;),V12]1},.3,@(y20:*roo" - "t-name-registry*),@(y11:name-lookup)[03}z]1}.!1&0{%3'1,.1V4,.0,.3A3,.0" - "?{.4,.1sd]5}.1,.5,.5cc,'1,.4V5]5}.!2&0{%1&0{%1.0,'(y5:const),l2]1},.1," - "@(y20:*root-name-registry*),@(y11:name-lookup)[13}.!3.4d,.5a,,#0.0,.6," - ".5,.7,.(i10),&5{%2.1u?{${.2,:0^[01},.1,${'(l1:y5:skint;),:1^[01},:3^[2" - "3}.1p~?{${.2,:0^[01},.1,${n,.6c,'(y5:skint)c,:1^[01},:3^[23}${${.4,:0^" - "[01},.3,${${.9a,:2^[01},:1^[01},:3^[03}.1d,.1,:4^[22}.!0.0^_1[52},@(y1" - "0:%25for-each1)[02}", + "id?;;l1:y19:implementation-name;;l1:y22:implementation-version;;py20:*" + "user-name-registry*;y6:hidden;;py25:make-readonly-environment;y6:hidde" + "n;;py27:make-controlled-environment;y6:hidden;;py20:make-sld-environme" + "nt;y6:hidden;;py21:make-repl-environment;y6:hidden;;py19:find-library-" + "in-env;y6:hidden;;py16:root-environment;y6:hidden;;py16:repl-environme" + "nt;y6:hidden;;py17:empty-environment;y6:hidden;;py32:make-historic-rep" + "ort-environment;y6:hidden;;py16:r5rs-environment;y6:hidden;;py21:r5rs-" + "null-environment;y6:hidden;;py9:*verbose*;y6:hidden;;py7:*quiet*;y6:hi" + "dden;;py25:compile-and-run-core-expr;y6:hidden;;py17:evaluate-top-form" + ";y6:hidden;;py10:run-script;y6:hidden;;py11:run-program;y6:hidden;;py2" + "2:repl-evaluate-top-form;y6:hidden;;py9:repl-read;y6:hidden;;py17:repl" + "-exec-command;y6:hidden;;py14:repl-from-port;y6:hidden;;py13:run-bench" + "mark;y6:hidden;;py4:repl;y6:hidden;;),&0{%1,,,,#0#1#2#3&0{%1.0,'(y1:w)" + ",.1v?{'(l2:y6:scheme;y5:write;)]2}'(y1:t),.1v?{'(l2:y6:scheme;y4:time;" + ")]2}'(y1:p),.1v?{'(l2:y6:scheme;y4:repl;)]2}'(y1:r),.1v?{'(l2:y6:schem" + "e;y4:read;)]2}'(y1:v),.1v?{'(l2:y6:scheme;y4:r5rs;)]2}'(y1:u),.1v?{'(l" + "2:y6:scheme;y9:r5rs-null;)]2}'(y1:d),.1v?{'(l2:y6:scheme;y4:load;)]2}'" + "(y1:z),.1v?{'(l2:y6:scheme;y4:lazy;)]2}'(y1:s),.1v?{'(l2:y6:scheme;y15" + ":process-context;)]2}'(y1:i),.1v?{'(l2:y6:scheme;y7:inexact;)]2}'(y1:f" + "),.1v?{'(l2:y6:scheme;y4:file;)]2}'(y1:e),.1v?{'(l2:y6:scheme;y4:eval;" + ")]2}'(y1:o),.1v?{'(l2:y6:scheme;y7:complex;)]2}'(y1:h),.1v?{'(l2:y6:sc" + "heme;y4:char;)]2}'(y1:l),.1v?{'(l2:y6:scheme;y11:case-lambda;)]2}'(y1:" + "a),.1v?{'(l2:y6:scheme;y3:cxr;)]2}'(y1:b),.1v?{'(l2:y6:scheme;y4:base;" + ")]2}'(y1:x),.1v?{'(l2:y6:scheme;y3:box;)]2}.1I0?{.1,'(y4:srfi),l2]2}.1" + ",l1]2}.!0&0{%1${&0{%1n,'(l1:y5:begin;),V12]1},.3,@(y20:*root-name-regi" + "stry*),@(y11:name-lookup)[03}z]1}.!1&0{%3'1,.1V4,.0,.3A3,.0?{.4,.1sd]5" + "}.1,.5,.5cc,'1,.4V5]5}.!2&0{%1&0{%1.0,'(y5:const),l2]1},.1,@(y20:*root" + "-name-registry*),@(y11:name-lookup)[13}.!3.4d,.5a,,#0.0,.6,.5,.7,.(i10" + "),&5{%2.1u?{${.2,:0^[01},.1,${'(l1:y5:skint;),:1^[01},:3^[23}.1p~?{${." + "2,:0^[01},.1,${n,.6c,'(y5:skint)c,:1^[01},:3^[23}${${.4,:0^[01},.3,${$" + "{.9a,:2^[01},:1^[01},:3^[03}.1d,.1,:4^[22}.!0.0^_1[52},@(y10:%25for-ea" + "ch1)[02}", "C", 0, "@(y20:*root-name-registry*),${f,'(l1:y5:skint;),.4,@(y11:name-lookup)[" @@ -1713,6 +1714,12 @@ char *t_code[] = { "C", 0, "'(s5:0.4.9)@!(y15:*skint-version*)", + "P", "implementation-version", + "%0@(y15:*skint-version*)]0", + + "P", "implementation-name", + "%0'(s5:SKINT)]0", + "P", "skint-main", "%0,,,,,#0#1#2#3#4&0{%2${.2,@(y16:read-from-string)[01},${@(y4:list),.3" ",&1{%0:0,@(y4:eval)[01},@(y16:call-with-values)[02},.3,&1{%1:0?{Po,.1W"