Commit graph

50 commits

Author SHA1 Message Date
Alex Shinn
2b4394ea74 adding initial support for SRFI 160 uniform vectors 2019-01-15 23:43:50 +08:00
Alex Shinn
2c37dfedd3
Merge pull request #500 from mnieper/syntax-case
Implement syntax-case
2018-12-09 04:08:31 +08:00
Alex Shinn
9af77c9b4f adding CHIBI_IGNORE_SYSTEM_PATH=1 env var (fixes issue #501) 2018-12-06 00:54:21 +08:00
Marc Nieper-Wisskirchen
152b20f244 Implement syntax-case 2018-12-01 13:48:25 +01:00
Bertrand Augereau
ce9c60c1e8 Fix (expt 3 -1) when SEXP_USE_BIGNUMS 2018-06-16 09:41:09 +02:00
Alex Shinn
ecbaa9939a require proof of the presence of synclos before stripping them with quote (issue #464) 2018-04-01 21:38:21 +09:00
Alex Shinn
060cfd550e
Merge pull request #465 from jimrees/master
changes from jim rees
2018-04-01 15:32:32 +09:00
Kris Katterjohn
439e35da61 Check for valid "rest" parameters in parameter lists
Checks for invalid parameter names and duplicate parameters were
being performed on parameter lists, but these checks were not
considering any rest parameters.  This means that

  ((lambda (x . x) x) 'foo 'bar)   =>  foo
  ((lambda (x . 0) x) 'foo 'bar)   =>  foo
  ((lambda (x . #t) x) 'foo 'bar)  =>  foo
  ((lambda 0 'foo))                =>  foo
  ((lambda #t 'foo))               =>  foo

and so on.  Now these all produce errors.
2018-03-28 21:11:33 -05:00
Jim Rees
b25e46b11b Introduced a second version of sexp_double_to_ratio, named
sexp_double_to_ratio_2, which converts without introducing
round-off errors the way sexp_double_to_ratio does when it
multiplies by 10.

Changed sexp_inexact_to_exact to use this new function when
a non-zero fractional part of the input exists.
2018-03-22 22:19:39 -04:00
okuoku
e092923aac Win32: Fix win32 port
Try to fix win32 port. Now it runs both on Win32/Win64.

Win64 port currently depends on 128bits arithmetic thus it does not run on
MSVC.

Makefile now have EXCLUDE_POSIX_LIBS knob to exclude posix related library
from build.

Introduce msys PLATFORM for Makefile.detect to use MSYS's POSIX
emulation layer. It is intended for linking against MSYS tools; it is
not for embedding to Win32 applications.
2017-11-11 04:31:06 +09:00
Alex Shinn
56a6a0b0b4 fixing asin/acos when complex numbers are disabled 2017-09-01 16:56:26 +09:00
Alex Shinn
17b7ee3f98 include dlerror if we can't find sexp_init_library 2017-08-26 23:05:33 +09:00
Alex Shinn
da410523b0 fixing peek-char on non-ascii chars 2017-06-26 22:23:38 +09:00
Alex Shinn
8feb1e761e alternate approach to handling renamed forward refs 2017-04-10 22:36:53 +09:00
Alex Shinn
1bd9fe437a don't retroactively resolve unbound renamed references with a renamed definition 2017-04-03 23:13:14 +09:00
Alex Shinn
c3713540d0 fix multiple levels of synclo forward references (issue #399) 2017-04-03 15:48:57 +09:00
Alex Shinn
ae1a2aa6be match undefined hygienically wrapper forward refs on define (fixes issue #399) 2017-03-26 21:16:36 +09:00
Alex Shinn
421ef0b010 strip syntactic closures for unquoted vector literals 2017-01-24 23:49:13 +09:00
Alex Shinn
2f1b730f65 strip syntactic-closures in quoted vectors (fixes issue #389) 2017-01-14 16:34:16 +09:00
Alex Shinn
71f4db7d17 don't strip syntax for unknown refs 2016-12-30 10:53:22 +09:00
Alex Shinn
99b39a183f Fixing type-slot-offset computation. 2016-06-16 23:09:28 +09:00
Alex Shinn
c953f2ed1d Check the module search path to handle relocated shared libraries
when loading an image.  Fixes issue #345.
2016-06-15 22:50:30 +09:00
Alex Shinn
84edaf75a2 Lookup slot offset in reverse order to support shadowing fields.
Fixes issue #361.
2016-06-14 00:04:30 +09:00
Alex Shinn
82ebd3cbc3 remove unused vars, restore endianess feature 2016-06-12 22:58:35 +09:00
Alex Shinn
08494037ea making features a context global 2016-06-12 14:25:46 +09:00
Marc Nieper-Wißkirchen
fdf537902b Handle imaginary values of inverse of sine and cosine on the real axis.
Fixes #167.
2016-06-05 18:38:05 +02:00
Alex Shinn
ee90f25d7f Avoid stripping syntactic closures in more cases. Fixes issue #339. 2016-05-17 00:53:57 +09:00
Alex Shinn
5ab99635c5 Corner cases in complex infinities. Fixes issue #331. 2016-05-11 23:19:22 +09:00
Alex Shinn
2a05db5382 Zero angle polars are real. Fixes issue #329. 2016-05-04 21:31:55 +09:00
Alex Shinn
64b8e5f8a3 fixing negative fixnum exponents in expt
Fixes issue #328.
2016-05-04 20:59:23 +09:00
Alex Shinn
0c80f38a19 making string-cursors a disjoint type 2016-03-29 22:25:09 +09:00
Alex Shinn
3714964cff adding a type check to make-syntactic-closure
Fixes issue #315.
2016-03-07 08:54:23 +09:00
Alex Shinn
fb24b831b8 fix reading circular refs inside vectors 2016-03-04 23:41:16 +09:00
Alex Shinn
255b167597 make out-of-order define warning less zealous for begin/include
Fixes issue #312.
2016-03-01 07:44:24 +09:00
Alex Shinn
f66797ecdf Warn on out-of-order defines in bodies (error in strict mode).
Fixes issue #236.
2016-02-28 18:12:32 +09:00
Alex Shinn
207ae1f24e making syntactic closure free variable handling agree with mit-scheme 2016-02-27 16:06:20 +09:00
Alex Shinn
36651c4115 allow define-syntax inside core let-syntax to splice 2016-02-23 22:28:01 +09:00
Chris Walsh
2005c19ea0 Added full support for packed images, both for static and dynamic libraries. 2016-02-15 21:12:58 -05:00
Alex Shinn
72de1df228 push, don't define, for let{rec}-syntax bindings
Fixes issue #298.
2015-12-30 13:33:12 +09:00
Chris Walsh
8022c7c98d Fixed argument name typo active when SEXP_USE_STATIC_LIBS selected 2015-12-17 00:05:00 -05:00
Alex Shinn
3992f14101 A redef is a set!, it doesn't matter what the previous value was.
Fixes issue #285.
2015-11-02 23:00:00 +09:00
Alex Shinn
8d46cc6842 Propagate error message from unfound dynamic lib when not found as builtin either.
Fixes issue #282.
2015-10-11 23:24:00 +09:00
Alex Shinn
7c333f43da Always push a new env cell on define unless the previous cell was undefined. 2015-09-13 21:49:58 +09:00
Alex Shinn
42c14af4b9 removing support for SEXP_USE_STRING_STREAMS 2015-07-04 23:25:40 +09:00
Alex Shinn
607d70c6a0 When directly incrementing or aligning bytecode pos during code generation,
ensure there is enough space just as when emitting.
2015-05-12 23:03:48 +09:00
Alex Shinn
2e481d57e9 Non-strict top-level identifier matching now works if the identifier
is bound in only one of the environments.  This is necessary in the
case where a library uses an unbound keyword (e.g. "with" in (chibi
loop)), but you want to use it along with a binding for the
keyword (e.g. "with" in (chibi show)).  The alternative to work with
the current logic is to always require such keywords to be bound, in
this case to add a dummy "with" auxiliary syntax binding to (chibi
loop), however this doesn't seem any safer than the new logic, and the
whole point of the feature is convenience.  Fixes issue #221.
2015-04-25 10:56:58 +09:00
Alex Shinn
aa3f869798 Avoiding potential segfault from trying to capture temporary local variables in a macro.
Fixes issue #252.
2015-04-14 23:22:48 +09:00
Alex Shinn
4dda923081 Updating copyright years. 2015-04-09 01:28:02 +09:00
Alex Shinn
6a248bad08 s/abs/labs for long argument 2015-02-06 10:46:43 +09:00
Alex Shinn
2922ed591d Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00