Feed of "Zhu Zihao"https://codeberg.org/readevalprintloop2026-06-30T11:52:15+02:00readevalprintloop commented on issue guile/guile#2172026-06-28T09:54:12+02:00163380485: https://codeberg.org/guile/guile/issues/217#issuecomment-18200261`(format #t "~." 'a)` segfaults with JIT enable on x86_64 platform
<p dir="auto">It seems that this issue was introduced in 624dd8a17a.</p>
`(format #t "~." 'a)` segfaults with JIT enable on x86_64 platform
<p dir="auto">It seems that this issue was introduced in 624dd8a17a.</p>
readevalprintloop[email protected]readevalprintloop commented on issue guile/guile#2172026-06-28T09:40:09+02:00163377092: https://codeberg.org/guile/guile/issues/217#issuecomment-18199559`(format #t "~." 'a)` segfaults with JIT enable on x86_64 platform
<p dir="auto">With the help of GDB I found the machine code causes segfault</p>
`(format #t "~." 'a)` segfaults with JIT enable on x86_64 platform
<p dir="auto">With the help of GDB I found the machine code causes segfault</p>
readevalprintloop[email protected]readevalprintloop opened issue guile/guile#2172026-06-28T09:14:15+02:00163371176: https://codeberg.org/guile/guile/issues/217<p dir="auto">Tested on 3.0.11 and 3.0.10, 3.0.9 still works.</p>
<pre class="code-block"><code class="chroma language-text display">$ export GUILE_JIT_THRESHOLD=1
$ guile
GNU Guile 3.0.11
Copyright (C) 1995-2024 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (format #t "~." 'a)
Segmentation fault
</code></pre><p dir="auto">Expected behavior</p>
<pre class="code-block"><code class="chroma language-text display">$ export GUILE_JIT_THRESHOLD=-1
$ guile
GNU Guile 3.0.11
Copyright (C) 1995-2024 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (format #t "~." 'a)
FORMAT: error with call: (format #t "~.<===" ===>a )
unknown control character `.'
FORMAT: INTERNAL ERROR IN FORMAT-ERROR!
destination: #t
format string: "~."
format args: (a)
error args: (#f "error in format" () #f)
ice-9/boot-9.scm:1705:22: In procedure raise-exception:
error in format
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]>
</code></pre>217#`(format #t "~." 'a)` segfaults with JIT enable on x86_64 platform#readevalprintloop[email protected]readevalprintloop commented on issue guile/guile#2102026-06-25T18:36:55+02:00162046673: https://codeberg.org/guile/guile/issues/210#issuecomment-18067433`read-syntax` does not annotate vector elements as syntax objects
<p dir="auto">Noted that in R6RS, a vector is composite syntax object like pair while a bytevector is considered as an atom.</p>
`read-syntax` does not annotate vector elements as syntax objects
<p dir="auto">Noted that in R6RS, a vector is composite syntax object like pair while a bytevector is considered as an atom.</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3652026-06-23T05:03:53+02:00160444385: https://codeberg.org/scheme/r7rs/issues/365#issuecomment-17920505Strict IEEE arithmetic
<p dir="auto">Noted that, <code>+nan.0</code> and <code>+inf.0</code> don't support SFDL[E] suffix, so there's no portable way to express NaN and Infinity in different precision.</p>
Strict IEEE arithmetic
<p dir="auto">Noted that, <code>+nan.0</code> and <code>+inf.0</code> don't support SFDL[E] suffix, so there's no portable way to express NaN and Infinity in different precision.</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3612026-06-22T20:35:26+02:00160266713: https://codeberg.org/scheme/r7rs/issues/361#issuecomment-17901383Behavior of `equal?` on record types
<p dir="auto">I guess the reason that R6RS uses a stricter semantic is they also specified <code>equal-hash</code>. The semantics of this procedure are closely related to the semantics of <code>equal?</code> itself.</p>
Behavior of `equal?` on record types
<p dir="auto">I guess the reason that R6RS uses a stricter semantic is they also specified <code>equal-hash</code>. The semantics of this procedure are closely related to the semantics of <code>equal?</code> itself.</p>
readevalprintloop[email protected]readevalprintloop commented on issue guile/guile#2082026-06-21T21:20:14+02:00159709235: https://codeberg.org/guile/guile/issues/208#issuecomment-17845892Questions about compiler warnings and how to increase strictness: `#:use-module` and unused things
<p dir="auto"><a href="/jjba23" class="mention" rel="nofollow">@jjba23</a> wrote in <a href="https://codeberg.org/guile/guile/issues/208#issuecomment-17836643" class="ref-issue" rel="nofollow">#208 (comment)</a>:</p>
Questions about compiler warnings and how to increase strictness: `#:use-module` and unused things
<p dir="auto"><a href="/jjba23" class="mention" rel="nofollow">@jjba23</a> wrote in <a href="https://codeberg.org/guile/guile/issues/208#issuecomment-17836643" class="ref-issue" rel="nofollow">#208 (comment)</a>:</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3702026-06-16T20:43:38+02:00156890888: https://codeberg.org/scheme/r7rs/issues/370#issuecomment-17588312`(unspecified)` as an alias to things like `(when #f #f)` et al.
<p dir="auto">I want to show an example how the nondeterminism characteristic of "unspecified value" provides flexibility for implementation to optimize for performance.</p>
`(unspecified)` as an alias to things like `(when #f #f)` et al.
<p dir="auto">I want to show an example how the nondeterminism characteristic of "unspecified value" provides flexibility for implementation to optimize for performance.</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3652026-06-14T20:36:35+02:00155599598: https://codeberg.org/scheme/r7rs/issues/365#issuecomment-17465501Strict IEEE arithmetic
<p dir="auto">WebAssembly spec add <a href="https://webassembly.github.io/spec/core/exec/numerics.html#floating-point-operations" rel="nofollow">following rules</a> to relax the requirement of IEEE on floating point operations.</p>
Strict IEEE arithmetic
<p dir="auto">WebAssembly spec add <a href="https://webassembly.github.io/spec/core/exec/numerics.html#floating-point-operations" rel="nofollow">following rules</a> to relax the requirement of IEEE on floating point operations.</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#1812026-06-14T19:36:24+02:00155571089: https://codeberg.org/scheme/r7rs/issues/181#issuecomment-17462573Allow any value, not just datums in quotations
<p dir="auto">Noted that, many Scheme implements <code>eval</code> by "invoking AOT compiler at runtime", rather than a true JIT compiler. Therefore, they usually don't support embedding the references of run-time values.</p>
Allow any value, not just datums in quotations
<p dir="auto">Noted that, many Scheme implements <code>eval</code> by "invoking AOT compiler at runtime", rather than a true JIT compiler. Therefore, they usually don't support embedding the references of run-time values.</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3682026-06-12T09:43:14+02:00154247915: https://codeberg.org/scheme/r7rs/issues/368#issuecomment-17336657consistency of escaped and non-escaped symbols
<p dir="auto"><a href="/jobol" class="mention" rel="nofollow">@jobol</a> wrote in <a href="https://codeberg.org/scheme/r7rs/issues/368#issuecomment-17335682" class="ref-issue" rel="nofollow">#368 (comment)</a>:</p>
consistency of escaped and non-escaped symbols
<p dir="auto"><a href="/jobol" class="mention" rel="nofollow">@jobol</a> wrote in <a href="https://codeberg.org/scheme/r7rs/issues/368#issuecomment-17335682" class="ref-issue" rel="nofollow">#368 (comment)</a>:</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3682026-06-11T22:32:25+02:00154060835: https://codeberg.org/scheme/r7rs/issues/368#issuecomment-17298260consistency of escaped and non-escaped symbols
<p dir="auto">I think the identifier started with digits are reserved for implementation-defined enhanced numeric literal syntax, such as underscore in number, and units system.</p>
consistency of escaped and non-escaped symbols
<p dir="auto">I think the identifier started with digits are reserved for implementation-defined enhanced numeric literal syntax, such as underscore in number, and units system.</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#112026-06-11T18:05:48+02:00153945035: https://codeberg.org/scheme/r7rs/issues/11#issuecomment-17286086Safety of utf8->string and friends
<p dir="auto"><a href="/phm" class="mention" rel="nofollow">@phm</a> wrote in <a href="https://codeberg.org/scheme/r7rs/issues/11#issuecomment-17284007" class="ref-issue" rel="nofollow">#11 (comment)</a>:</p>
Safety of utf8->string and friends
<p dir="auto"><a href="/phm" class="mention" rel="nofollow">@phm</a> wrote in <a href="https://codeberg.org/scheme/r7rs/issues/11#issuecomment-17284007" class="ref-issue" rel="nofollow">#11 (comment)</a>:</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#112026-06-11T09:46:07+02:00153691334: https://codeberg.org/scheme/r7rs/issues/11#issuecomment-17258501Safety of utf8->string and friends
<p dir="auto"><a href="/johnwcowan" class="mention" rel="nofollow">@johnwcowan</a> wrote in <a href="https://codeberg.org/scheme/r7rs/issues/11#issuecomment-17227433" class="ref-issue" rel="nofollow">#11 (comment)</a>:</p>
Safety of utf8->string and friends
<p dir="auto"><a href="/johnwcowan" class="mention" rel="nofollow">@johnwcowan</a> wrote in <a href="https://codeberg.org/scheme/r7rs/issues/11#issuecomment-17227433" class="ref-issue" rel="nofollow">#11 (comment)</a>:</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#112026-06-10T16:57:13+02:00153256583: https://codeberg.org/scheme/r7rs/issues/11#issuecomment-17207867Safety of utf8->string and friends
<blockquote>
<p dir="auto">This is itself both ambiguous (How many replacement characters are inserted if two initial bytes erroneously follow one another? How many if multiple continuation bytes appear without an initial byte? How many bytes are 'ignored' in those cases?)</p>
</blockquote>
<p dir="auto">If we are in favor of deterministic behavior, the subsection "U+FFFD Substitution of Maximal Subparts" of section 3.9 "Unicoding Encoding Forms" in <a href="https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf" rel="nofollow">Unicode Core Specification</a> wrote that</p>
<blockquote>
<p dir="auto">An increasing number of implementations are adopting the handling of ill-formed subsequences as specified in the W3C standard for encoding to achieve consistent U+FFFD replacements. See:</p>
<ul dir="auto">
<li><a href="http://www.w3.org/TR/encoding/" rel="nofollow">http://www.w3.org/TR/encoding/</a></li>
</ul>
</blockquote>
<p dir="auto">In particular, the decoder of UTF-8 is described in <a href="https://encoding.spec.whatwg.org/#utf-8-decoder" rel="nofollow">https://encoding.spec.whatwg.org/#utf-8-decoder</a></p>
<p dir="auto">BTW, Unicode Technical Committee had proposed to change the guidance for the preferred numbers of replacement character, but they finally retract those changes. It was <a href="https://hsivonen.fi/broken-utf-8/" rel="nofollow">this post</a> that described the status quo of the insertion of replacement characters and prompted the Unicode Technical Committee to retract those decisions</p>
Safety of utf8->string and friends
<blockquote>
<p dir="auto">This is itself both ambiguous (How many replacement characters are inserted if two initial bytes erroneously follow one another? How many if multiple continuation bytes appear without an initial byte? How many bytes are 'ignored' in those cases?)</p>
</blockquote>
<p dir="auto">If we are in favor of deterministic behavior, the subsection "U+FFFD Substitution of Maximal Subparts" of section 3.9 "Unicoding Encoding Forms" in <a href="https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf" rel="nofollow">Unicode Core Specification</a> wrote that</p>
<blockquote>
<p dir="auto">An increasing number of implementations are adopting the handling of ill-formed subsequences as specified in the W3C standard for encoding to achieve consistent U+FFFD replacements. See:</p>
<ul dir="auto">
<li><a href="http://www.w3.org/TR/encoding/" rel="nofollow">http://www.w3.org/TR/encoding/</a></li>
</ul>
</blockquote>
<p dir="auto">In particular, the decoder of UTF-8 is described in <a href="https://encoding.spec.whatwg.org/#utf-8-decoder" rel="nofollow">https://encoding.spec.whatwg.org/#utf-8-decoder</a></p>
<p dir="auto">BTW, Unicode Technical Committee had proposed to change the guidance for the preferred numbers of replacement character, but they finally retract those changes. It was <a href="https://hsivonen.fi/broken-utf-8/" rel="nofollow">this post</a> that described the status quo of the insertion of replacement characters and prompted the Unicode Technical Committee to retract those decisions</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3652026-06-09T22:18:10+02:00152804741: https://codeberg.org/scheme/r7rs/issues/365#issuecomment-17163998Strict IEEE arithmetic
<p dir="auto">Here's a short survey about subnormal numbers in practice.</p>
Strict IEEE arithmetic
<p dir="auto">Here's a short survey about subnormal numbers in practice.</p>
readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3672026-06-09T21:48:06+02:00152784638: https://codeberg.org/scheme/r7rs/issues/367#issuecomment-17161772Extend the list of procedures that propagate the exactness
<p dir="auto">Thanks! I ought to check the errata list of R7RS but forget to do so...</p>
Extend the list of procedures that propagate the exactness
<p dir="auto">Thanks! I ought to check the errata list of R7RS but forget to do so...</p>
readevalprintloop[email protected]readevalprintloop opened issue scheme/r7rs#3672026-06-09T20:35:39+02:00152745146: https://codeberg.org/scheme/r7rs/issues/367<p dir="auto">The Appendix B "Standard Feature Identifiers" of R7RS-small specified <code>exact-closed</code> feature as "All algebraic operations except <code>/</code> produce exact values given exact inputs."</p>
<p dir="auto">The definition of "algebraic operations" is unclear. For example, <code>sqrt</code>, which calculate the square root of a number, should be considered as an "algebraic operation" in the sense of math. However, it's allowed to return inexact result on exact inputs.</p>
<p dir="auto">Comparing with R6RS, the latter give a explicit list of operations that propagate the exactness in 11.7.1 "Propagation of exactness and inexactness".</p>
367#The specification of feature flag `exact-closed` is unclear.#readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#2752026-06-08T21:41:20+02:00152208530: https://codeberg.org/scheme/r7rs/issues/275#issuecomment-16846664Require IEEE 754 as the floating point standard in the large language
<p dir="auto">On the 2026-06-08 meeting, WG basically agree that implementation must support NaN, +-Infinity, +-0.0 for floating point numbers.</p>
Require IEEE 754 as the floating point standard in the large language
<p dir="auto">On the 2026-06-08 meeting, WG basically agree that implementation must support NaN, +-Infinity, +-0.0 for floating point numbers.</p>
readevalprintloop[email protected]readevalprintloop opened issue guile/guile#1972026-06-08T10:39:05+02:00151852550: https://codeberg.org/guile/guile/issues/197<p dir="auto"><a href="https://r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-3.html#node_sec_2.9" rel="nofollow">R6RS Standard Libraries 2.6 "Operation on strings"</a></p>
<blockquote>
<p dir="auto">If an invalid or incomplete character encoding is encountered, then the replacement character U+FFFD is appended to the string being generated, an appropriate number of bytes are ignored, and decoding continues with the following bytes.</p>
</blockquote>
<p dir="auto">Current implementation will raise <code>decode-error</code> exception on invalid character instead of replacing with U+FFFD.</p>
<pre class="code-block"><code class="chroma language-scheme display"><span class="p">(</span><span class="nf">use-modules</span> <span class="p">(</span><span class="nf">rnrs</span><span class="p">)</span> <span class="p">((</span><span class="nf">ice-9</span> <span class="nv">iconv</span><span class="p">)</span> <span class="o">#</span><span class="nv">:prefix</span> <span class="nv">iconv:</span><span class="p">))</span>
<span class="p">(</span><span class="nf">utf8->string</span> <span class="o">#</span><span class="nv">u8</span><span class="p">(</span><span class="mi">172</span> <span class="mi">27</span> <span class="mi">10</span> <span class="mi">83</span> <span class="mi">34</span><span class="p">))</span>
<span class="c1">;; Throw to key `decoding-error' with args `("scm_from_utf8_stringn" "input locale conversion error" 0 #vu8(172 27 10 83 34))'.</span>
<span class="p">(</span><span class="k">define </span><span class="p">(</span><span class="nf">real-utf8->string</span> <span class="nv">bv</span><span class="p">)</span> <span class="p">(</span><span class="nf">iconv:bytevector->string</span> <span class="nv">bv</span> <span class="s">"UTF-8"</span> <span class="ss">'substitute</span><span class="p">))</span>
<span class="p">(</span><span class="nf">real-utf8->string</span> <span class="o">#</span><span class="nv">u8</span><span class="p">(</span><span class="mi">172</span> <span class="mi">27</span> <span class="mi">10</span> <span class="mi">83</span> <span class="mi">34</span><span class="p">))</span>
<span class="c1">;; => "�\x1b\nS\""</span>
</code></pre>197#Incorrect behavior of `utfN->string` in `(rnrs bytevectors)`#readevalprintloop[email protected]readevalprintloop commented on issue scheme/r7rs#3622026-06-08T10:37:37+02:00151851905: https://codeberg.org/scheme/r7rs/issues/362#issuecomment-16817132Incorrect behavior of `utfN->string` in `(rnrs bytevectors)`.
<p dir="auto">I post this to the wrong place, sorry.</p>
Incorrect behavior of `utfN->string` in `(rnrs bytevectors)`.
<p dir="auto">I post this to the wrong place, sorry.</p>
readevalprintloop[email protected]readevalprintloop closed issue scheme/r7rs#3622026-06-08T10:37:10+02:00151851485: https://codeberg.org/scheme/r7rs/issues/362#issuecomment-16817126Incorrect behavior of `utfN->string` in `(rnrs bytevectors)`.Incorrect behavior of `utfN->string` in `(rnrs bytevectors)`.readevalprintloop[email protected]readevalprintloop opened issue scheme/r7rs#3622026-06-08T10:17:23+02:00151842923: https://codeberg.org/scheme/r7rs/issues/362<p dir="auto"><a href="https://r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-3.html#node_sec_2.9" rel="nofollow">R6RS Standard Libraries 2.6 "Operation on strings"</a></p>
<blockquote>
<p dir="auto">If an invalid or incomplete character encoding is encountered, then the replacement character U+FFFD is appended to the string being generated, an appropriate number of bytes are ignored, and decoding continues with the following bytes.</p>
</blockquote>
<p dir="auto">Current implementation will raise <code>decode-error</code> exception on invalid character instead of replacing with U+FFFD.</p>
<pre class="code-block"><code class="chroma language-scheme display"><span class="p">(</span><span class="nf">use-modules</span> <span class="p">(</span><span class="nf">rnrs</span><span class="p">)</span> <span class="p">((</span><span class="nf">ice-9</span> <span class="nv">iconv</span><span class="p">)</span> <span class="o">#</span><span class="nv">:prefix</span> <span class="nv">iconv:</span><span class="p">))</span>
<span class="p">(</span><span class="nf">utf8->string</span> <span class="o">#</span><span class="nv">u8</span><span class="p">(</span><span class="mi">172</span> <span class="mi">27</span> <span class="mi">10</span> <span class="mi">83</span> <span class="mi">34</span><span class="p">))</span>
<span class="c1">;; Throw to key `decoding-error' with args `("scm_from_utf8_stringn" "input locale conversion error" 0 #vu8(172 27 10 83 34))'.</span>
<span class="p">(</span><span class="k">define </span><span class="p">(</span><span class="nf">real-utf8->string</span> <span class="nv">bv</span><span class="p">)</span> <span class="p">(</span><span class="nf">iconv:bytevector->string</span> <span class="nv">bv</span> <span class="s">"UTF-8"</span> <span class="ss">'substitute</span><span class="p">))</span>
<span class="p">(</span><span class="nf">real-utf8->string</span> <span class="o">#</span><span class="nv">u8</span><span class="p">(</span><span class="mi">172</span> <span class="mi">27</span> <span class="mi">10</span> <span class="mi">83</span> <span class="mi">34</span><span class="p">))</span>
<span class="c1">;; => "�\x1b\nS\""</span>
</code></pre>362#Incorrect behavior of `utfN->string` in `(rnrs bytevectors)`.#readevalprintloop[email protected]readevalprintloop commented on issue guile/guile#1962026-06-06T20:31:23+02:00150991604: https://codeberg.org/guile/guile/issues/196#issuecomment-16694060Encoding error when throwing from port write
<p dir="auto">I think this is the same kind error of <a href="https://codeberg.org/guile/guile/issues/92" class="ref-issue" rel="nofollow">#92</a></p>
Encoding error when throwing from port write
<p dir="auto">I think this is the same kind error of <a href="https://codeberg.org/guile/guile/issues/92" class="ref-issue" rel="nofollow">#92</a></p>
readevalprintloop[email protected]readevalprintloop closed issue guile/guile#1572026-06-06T10:46:28+02:00150716603: https://codeberg.org/guile/guile/issues/157#issuecomment-16667600`fldiv{,0}`, `flmod{,0}` doesn't accept non-integer float arguments`fldiv{,0}`, `flmod{,0}` doesn't accept non-integer float argumentsreadevalprintloop[email protected]readevalprintloop commented on issue guile/guile#1922026-06-01T17:05:14+02:00147724256: https://codeberg.org/guile/guile/issues/192#issuecomment-16298570Hash of an immutable bytevector/vector is different from their mutable variants with same contents.
<p dir="auto">Also tested on 3.0.9.</p>
Hash of an immutable bytevector/vector is different from their mutable variants with same contents.
<p dir="auto">Also tested on 3.0.9.</p>
readevalprintloop[email protected]readevalprintloop commented on issue guile/guile#1772026-06-01T15:52:37+02:00147665705: https://codeberg.org/guile/guile/issues/177#issuecomment-16293068Better hashing of types
<blockquote>
<p dir="auto">Not be associative with container content</p>
</blockquote>
Better hashing of types
<blockquote>
<p dir="auto">Not be associative with container content</p>
</blockquote>
readevalprintloop[email protected]readevalprintloop created pull request guile/guile#1932026-06-01T15:50:24+02:00147664601: https://codeberg.org/guile/guile/pulls/193<p dir="auto">In past, Guile use bitwise-exclusive-or (XOR) to combine hash for<br/>
containers for structures from their the hash of their child element.</p>
<p dir="auto">However, XOR is not a good combiner due to its associativity and<br/>
commutativity. Associativity would lead '((A . B) . C) and '(A . (B .<br/>
C)) to the same hash, and commutativity would lead '(A . B)<br/>
and '(B . A) to the same hash.</p>
<p dir="auto">Another pitfall of XOR is, the hash of '(T . T) will be zero for all T<br/>
because x ^ x == 0.</p>
<p dir="auto">This patch introduce a new hash combiner suggested in<br/>
<a href="https://stackoverflow.com/a/27952689" rel="nofollow">https://stackoverflow.com/a/27952689</a> to solve the problems above.</p>
<ul dir="auto">
<li>libguile/hash.c (combine_hash): New function.<br/>
(scm_i_struct_hash): Use 'combine_hash' to combine hashes.<br/>
(scm_raw_ihash): Ditto.</li>
</ul>
193#WIP: Improve the hash function on struct and containers.#readevalprintloop[email protected]readevalprintloop pushed to hash-combine at readevalprintloop/guile2026-06-01T15:49:51+02:00147664343: https://codeberg.org/readevalprintloop/guile/commit/819ed019fb883afd5e4e6afd38ae94fed928eb64<a href="https://codeberg.org/readevalprintloop/guile/commit/819ed019fb883afd5e4e6afd38ae94fed928eb64" rel="nofollow">819ed019fb883afd5e4e6afd38ae94fed928eb64</a>
Improve the hash function on struct and containers.<a href="https://codeberg.org/readevalprintloop/guile/commit/819ed019fb883afd5e4e6afd38ae94fed928eb64">819ed019fb883afd5e4e6afd38ae94fed928eb64</a>
Improve the hash function on struct and containers.readevalprintloop[email protected]readevalprintloop created branch hash-combine in readevalprintloop/guile2026-06-01T15:49:51+02:00147664340: https://codeberg.org/readevalprintloop/guile/src/branch/hash-combinereadevalprintloop[email protected]