[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
#1762: Maybe/Just Int checker in Silex compilation
From: |
Chicken Trac |
Subject: |
#1762: Maybe/Just Int checker in Silex compilation |
Date: |
Sun, 06 Jun 2021 05:09:14 -0000 |
#1762: Maybe/Just Int checker in Silex compilation
---------------------------------------+-------------------------------
Reporter: Idiomdrottning | Type: enhancement
Status: new | Priority: not urgent at all
Milestone: someday | Component: unknown
Version: 5.2.0 | Keywords:
Estimated difficulty: |
---------------------------------------+-------------------------------
When chicken-install silex I get this
Warning: Invalid argument
In file `silex.scm:472',
In module `silex',
In procedure `digraph',
In procedure `store-final338',
In procedure `loop',
In procedure call:
(scheme#vector-set! prio voisin infinity)
Argument #2 to procedure `vector-set!' has an invalid type:
false
The expected type is:
fixnum
This is the expression:
voisin
Procedure `vector-set!' from module `scheme' has this type:
(vector fixnum * -> undefined)
In the code, the index value "voisin" is derived from a vector-ref call on
another vector that's initialized with #f's but populated by fixnums
(hopefully? I didn't fully analyze the code hereā¦) before being
referenced.
So probably one of two things are going on:
The silex code is bugged and the variable won't be a fixnum in time (in
which case this is is a serious bug in silex), or (what I believe is more
likely)
The type-checking code is mislabeling the situation here. It doesn't know
that it'll be an int in time. This is just an, uh, "cosmetic" bug in core,
which is how I'm labeling it. Or I'm wrong and it's instead a serious bug
in exts (silex).
--
Ticket URL: <https://bugs.call-cc.org/ticket/1762>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
- #1762: Maybe/Just Int checker in Silex compilation,
Chicken Trac <=