1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 21:10:27 +02:00
guile/module
Andy Wingo 2ca88789b1 Type inference distinguishes &fixnum and &bignum types
This will allow heap-object? / inum? predicates to do something useful.

* module/language/cps/types.scm (&fixnum, &bignum): Split &exact-integer
  into these types.  Keep &exact-integer as a union type.
  (type<=?): New helper.
  (constant-type): Return &fixnum or &bignum as appropriate.
  (define-exact-integer!): New helper, tries to make exact integer
  results be &fixnum if they are within range.  Adapt users.
  (restricted-comparison-ranges, define-binary-result!): Use type<=?
  instead of = for &exact-integer.
* module/language/cps/type-fold.scm (logtest, mul, logbit?): Use
  type<=?.
* module/language/cps/specialize-numbers.scm (inferred-sigbits):
  (specialize-operations): Use type<=?.
2017-10-26 15:23:16 +02:00
..
ice-9 Replace "pr" struct fields with "pw" fields 2017-09-23 15:33:02 +02:00
language Type inference distinguishes &fixnum and &bignum types 2017-10-26 15:23:16 +02:00
oop Add new vtable reserved unboxed field 2017-09-26 20:47:27 +02:00
rnrs Replace "pr" struct fields with "pw" fields 2017-09-23 15:33:02 +02:00
scripts Wire up `guild compile -O0 foo.scm' 2015-10-22 17:44:17 +00:00
srfi Replace "pr" struct fields with "pw" fields 2017-09-23 15:33:02 +02:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system Add assembler and disassembler support for new instructions 2017-10-25 16:53:14 +02:00
texinfo Remove all deprecated code 2017-05-22 13:36:42 +02:00
web Remove all deprecated code 2017-05-22 13:36:42 +02:00
Makefile.am Add (system base types internal). 2017-10-25 12:55:30 +02:00
rnrs.scm Add R6RS bytevector->string, string->bytevector 2016-06-21 11:29:14 +02:00
statprof.scm Remove all deprecated code 2017-05-22 13:36:42 +02:00
texinfo.scm texinfo: fix @url{@@} parsing 2014-11-09 15:56:33 +00:00