• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mattwparas / steel
51%

Build:
DEFAULT BRANCH: master
Repo Added 22 Sep 2020 08:50PM UTC
Files 124
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • a-little-more-complex
  • add-missing-ports
  • add-trim-to-match-line-in-repl
  • adjust-display-impl
  • append-improper-lists
  • arity-tests
  • better-tokenizer-errors
  • case-folding
  • ci-cache
  • cleanup-stdlib
  • clippy
  • clippy-lints
  • clippy-lints-v3
  • cm/adding-docs
  • cm/benchmarks-in-docs
  • cm/repeat
  • comments
  • complex-polar-numbers
  • delicious-deletions
  • dependency-minning
  • display-chars
  • docgen-trim
  • docs-improvements
  • download-dylib
  • empty-define-fix
  • empty-imaginary-parts
  • eqv-chars
  • escaped-identifiers
  • expr-span
  • feature-here-doc
  • feature/cleanup-document-symbols
  • feature/list-symbols
  • fix-a-few-lints
  • fix-dylib-windows-support
  • fix-eqv-string-symbol
  • fix-fix-char-display
  • fix-hash
  • fix-hashmap-print
  • fix-min-max
  • fix-new-rustc-lifetime-lints
  • fix-range
  • fix-read-line
  • float-print-fract
  • forge-list-underflow
  • fs-docs
  • func-procedures
  • fundocs
  • generate-docs-for-scheme-modules
  • hash->list
  • hash-all
  • hash-everything
  • higher-precision-expt
  • idkyet
  • improve-package
  • improve-port-write
  • inexact-exact-r7rs
  • into-string
  • log-div-zero
  • lsp-diagnostic-severity
  • lsp-rename
  • macro-ellipsis-refactor
  • macro-numbers
  • markdown-doc
  • master
  • maybe-actually-fix-char-display
  • messing-around
  • misc-addition-fixes
  • misc-improvements
  • misc-port-improvements
  • more-ports
  • more-utf16-conversion
  • multi-arg-apply
  • multi-arity-error-off-by-one
  • mwp-add-append-options
  • mwp-add-biased-reference-counting
  • mwp-add-closure-to-boxed-function
  • mwp-add-function-signature-on-hover
  • mwp-add-hash-code
  • mwp-add-more-ffi-conversions
  • mwp-add-nix-flake-build
  • mwp-add-register-type-ffi-modules
  • mwp-adjust-cond-form-with-arrow
  • mwp-better-filesystem-apis
  • mwp-caching-modules
  • mwp-catch-free-identifiers-panic
  • mwp-change-for-package-name
  • mwp-clean-up-readme
  • mwp-clean-up-vm
  • mwp-cleanup-gc-code
  • mwp-clippy-warnings
  • mwp-curried-function-definition
  • mwp-default-features-build
  • mwp-doc-cleanup-equality
  • mwp-dont-visit-open-continuations
  • mwp-embedded-quote-macro
  • mwp-enable-jit-by-default
  • mwp-engine-image-2
  • mwp-enhance-ffi-conversions-and-printing
  • mwp-enhance-regex-dylib
  • mwp-error-message-fixes-register-fn
  • mwp-eval-with-namespace
  • mwp-experiment-releases
  • mwp-fix-compilation-regressions
  • mwp-fix-cross-module-inlining
  • mwp-fix-eq-for-pairs
  • mwp-fix-expansion-keywords
  • mwp-fix-forge-build-workspace-level
  • mwp-fix-hover-shadowed-builtins
  • mwp-fix-repl-macros-leaking-top-level
  • mwp-fix-static-arity-checking-lsp
  • mwp-fix-syntax-case-expansion
  • mwp-fix-tail-calls-mutable-locals
  • mwp-fix-updating-values-across-threads
  • mwp-fix-warnings
  • mwp-fix-wasm-cache-dir
  • mwp-forge-install-improvements
  • mwp-free-identifier-detection-compile-time
  • mwp-garbage-collect-sources
  • mwp-goto-def-and-hover-fix
  • mwp-goto-definition-lsp-macros
  • mwp-handle-keywords-syntax-objects
  • mwp-hashing-for-ffi-args
  • mwp-have-threads-return-values
  • mwp-http-cogs
  • mwp-imbl-feature
  • mwp-inline-across-modules
  • mwp-inlining
  • mwp-jit2-electric-boogaloo
  • mwp-kernel-expansion-namespacing
  • mwp-list-inequality-inconsistency
  • mwp-lookup-doc-function
  • mwp-macos-version-tag-workflow
  • mwp-macro-expansion-mangling-perf
  • mwp-macro-expansion-namespace-bug-take-2
  • mwp-make-double-hash-unreadable
  • mwp-missing-jit-impl-subtract
  • mwp-module-context
  • mwp-module-reloading
  • mwp-module-resolvers
  • mwp-more-benchmarks
  • mwp-more-r7rs-benchmarks
  • mwp-more-stack-trace-fixing
  • mwp-more-syntax-case-fixes
  • mwp-move-installer-into-forge-dir
  • mwp-no-more-error-wrapping
  • mwp-no-std-cargo-feature
  • mwp-no-std-core-alloc
  • mwp-no-std-feature
  • mwp-no-std-path
  • mwp-no-std-random
  • mwp-no-std-test
  • mwp-no-std-time
  • mwp-non-exhaustive-enums-checking-ffi
  • mwp-optimization-passes
  • mwp-petrofsky-test
  • mwp-process-documentation
  • mwp-proper-quasisyntax-syntax-macro
  • mwp-properly-rollback-modules-on-failure
  • mwp-protect-against-heap-deadlocks
  • mwp-provide-builtin-sorting-function
  • mwp-providing-macros-treated-normally
  • mwp-redefining-syntax
  • mwp-redefining-variables-error-message
  • mwp-rename-source-tar-dist
  • mwp-replace-module-references-builtin-void
  • mwp-rework-kernel-expansion-for-structs
  • mwp-run-explicit-merge-on-box-alloc
  • mwp-rust-1.84-build
  • mwp-sandboxing-engine-rework
  • mwp-serialization-experiments
  • mwp-set-constant-eval-bug
  • mwp-setup-docs-hover-stdlib-lsp
  • mwp-setup-forge-build-for-crates
  • mwp-setup-kwargs-for-builtins
  • mwp-slight-performance-improvements-const-evaluation
  • mwp-srfi-records
  • mwp-starting-more-specialization-of-primitives
  • mwp-steel-imbl
  • mwp-supply-context-param
  • mwp-support-xdg-home-as-default
  • mwp-swap-ast-thin-vec
  • mwp-syntax-case-fixes
  • mwp-syntax-case-kwarg-expansion
  • mwp-syntax-rules-docs
  • mwp-syntax-rules-parsing-error
  • mwp-time-primitives
  • mwp-transducers-fix
  • mwp-triomphe-perf
  • mwp-update-deps-getrandom
  • mwp-updating-documentation-tcp
  • mwp-upgrade-list-library
  • mwp-use-registers-jit
  • mwp-windows-paths
  • nitpicky-parameter-rename
  • non-unix-32
  • number-with-no-integer-part
  • old-style
  • optimize-real-literal-to-steelval
  • parameterize-builtin-port-procedures
  • parse-more-numbers
  • patch-1
  • playground-link
  • port-display-impl
  • port-peekable
  • prevent-rational-overflow
  • print-pair-of-pairs
  • proper-string-number-conversions
  • properly-print-chars
  • properly-print-radix-numbers
  • provide-log-trace
  • push-quxqmypvlxss
  • push-wuynyolqrtpm
  • quotient-remainder
  • radix-numbers
  • read-char-replacement
  • repl-ctrl-c
  • repl-custom-display-startup
  • repl-flush-stdout
  • round-ties-even
  • specify-rev
  • split-nix
  • steel-lsp-byte-offsets
  • string-examples
  • string-length-chars
  • struct-args-arity-warning
  • stuff
  • symbol-eq
  • template-parser
  • tokenization-errors
  • transduce-flatten-ok
  • transducers
  • tsk-doc-cli
  • tsk-stop-docker-ci-on-forks
  • unicode-escapes
  • use-in-derive-macro
  • utf8-lsp
  • utf8-shebang
  • vector-derive-debug
  • vector-macro-patterns
  • vector-set-swap

11 Mar 2026 04:29AM UTC coverage: 50.756% (+0.3%) from 50.485%
22936788704

push

github

web-flow
make the port procedures respect `parameterize` (#644)

* allow defaulting the port for (read-port-to-<string/bytes>)

and adjust the docs for that

* make parameterizing work on read-char, read-byte, etc

trying to parameterize the read-char / read-byte / etc procedures
previously didn't work, as they were implemented in rust, where the
rust builtin would just fall back to stdin / stdout for default ports.

the easiest way to make parameterizing work is by making the rust
builtins hidden and basically writing wrapper procedures on the steel
side, where parameterizing already just works.

this also means, that the rust builtins can now just take two arguments
instead of trying to make it callable with only one, eliminating the
need for the `io_args` procedures.

before:

```
λ > (define port (open-output-string))
λ > (parameterize ([current-output-port port])
      (write-char #\a))
a
λ > (get-output-string port)
=> ""
```

after:

```
λ > (define port (open-output-string))
λ > (parameterize ([current-output-port port])
      (write-char #\a))
λ > (get-output-string port)
=> "a"
```

* copy port docs to scheme module

* cargo xtask docgen

* rename default-current-<direction>-port to just default-<direction>-port

those procedures were previously also used in the read-port etc
procedures, but since those have been moved to the steel side to fix
parameterizing, these are no longer needed as the rust-side private
builtins can just take a port unconditionally.

in my opinion calling them something with "current" is a little
misleading, as these are just constructors for the default error ports,
as they are not affected by parameterizing, which the
current-<direction>-port should be. additionally it the functions better
up with the private builtin wrapper procedures (their only call site),
as those are just called `#%default-<direction>-port`.

* add some tests for parameterizing

18 of 18 new or added lines in 2 files covered. (100.0%)

81 existing lines in 7 files now uncovered.

19714 of 38841 relevant lines covered (50.76%)

3611280.18 hits per line

Relevant lines Covered
Build:
Build:
38841 RELEVANT LINES 19714 COVERED LINES
3611280.18 HITS PER LINE
Source Files on master
  • Tree
  • List 124
  • Changed 20
  • Source Changed 0
  • Coverage Changed 20
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
22936788704 master make the port procedures respect `parameterize` (#644) * allow defaulting the port for (read-port-to-<string/bytes>) and adjust the docs for that * make parameterizing work on read-char, read-byte, etc trying to parameterize the read-char / re... push 11 Mar 2026 05:10AM UTC web-flow github
50.76
22936143927 master Missing subtract impl in JIT (#647) * add impl for subtraction to handle slow path * fix missing number case push 11 Mar 2026 04:43AM UTC web-flow github
50.49
22932797198 mwp-missing-jit-impl-subtract Merge e928c03e2 into ee19ab5e5 Pull #647 11 Mar 2026 03:42AM UTC web-flow github
50.48
22930017765 master don't eagerly expand top level macros (#646) push 11 Mar 2026 12:45AM UTC web-flow github
50.81
22927621916 mwp-fix-repl-macros-leaking-top-level Merge e418d63f8 into 6a0de2453 Pull #646 10 Mar 2026 11:22PM UTC web-flow github
50.82
22879885865 parameterize-builtin-port-procedures Merge c7968edbe into 6a0de2453 Pull #644 10 Mar 2026 12:20AM UTC web-flow github
50.49
22826422057 master Feat: initial implementation of here string (#641) * here string: initial implementation * here string: initial implementation * here string: tests and formatting * here string: docs push 08 Mar 2026 06:27PM UTC web-flow github
50.82
22824858619 feature-here-doc Merge 903fbef9d into 0d51199cd Pull #641 08 Mar 2026 05:12PM UTC web-flow github
50.83
22814645764 mwp-starting-more-specialization-of-primitives Merge ba9e75d21 into 0d51199cd Pull #643 08 Mar 2026 06:01AM UTC web-flow github
51.04
22785775448 feature-here-doc Merge a320bc6be into a20c1a54d Pull #641 07 Mar 2026 03:26AM UTC web-flow github
50.8
See All Builds (2006)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc