Commit graph

314 commits

Author SHA1 Message Date
Alex Shinn
13b540418e C-level string API redesign with cursor support.
s/sexp_string_length/sexp_string_size/
Make sexp_string_ref/sexp_string_set Unicode aware.
Provide cursor level alternatives for efficiency.
Document all of this.
2013-07-21 14:59:51 +09:00
Alex Shinn
b6e2829b5d Updating (chibi uri) to use new string-find return values, which
were changed to offsets rather than potentially #f.
Also consistently using string-cursor API rather than indexes.
Fixes issue #189.
2013-07-21 14:01:36 +09:00
Alex Shinn
e0101944fd Raising an error in do iterator clauses with more then 3 terms.
Provides a friendlier error for cases like issue #187.
2013-07-20 15:12:52 +09:00
Alex Shinn
4ffa62d4ef Adding string-offset->index. 2013-07-15 15:22:45 +09:00
Alex Shinn
beb325a0d1 Exporting string->path-uri. 2013-07-15 11:47:17 +09:00
Alex Shinn
b007c25050 Typo in string-upcase-ascii. 2013-07-15 07:38:04 +09:00
Alex Shinn
56b3116e20 Adding string-downcase-ascii util to (chibi string). 2013-07-15 07:28:46 +09:00
Alex Shinn
eec5aaa0b4 Adding optional start/end params to string-find[-right]. 2013-07-15 07:20:17 +09:00
Alex Shinn
924352921a Adding sockaddr-port. 2013-07-14 18:40:23 +09:00
Alex Shinn
a3102c4c1e Adding additional constants and the ability to set addrinfo hints.
Setting the default hints to AI_PASSIVE so that standard listeners
(including those created implicitly by run-net-server) can listen
on all addresses.
2013-07-14 18:32:48 +09:00
Alex Shinn
2f8ef980d6 Adding an interface to socketpair. 2013-07-14 14:30:10 +09:00
Alex Shinn
1bd9a79e71 Allowing an abstract thunk interface to run-net-server. 2013-07-14 14:29:03 +09:00
Alex Shinn
dddc6d1806 Changing scribble notation to use TeX-style \ instead of @.
Documentation looks much nicer now (or at least more familiar).
Test cases become ugly because we need to double the escape in
strings.  Also escaping requires \"\\" which in a Scheme string
gets written \\"\\\\".  Consider \\ as a shortcut (which is still
\\\\ in a string).
2013-07-14 12:52:28 +09:00
Alex Shinn
4a7f1867d5 (chibi mime) now case-folds then interns headers to match normal SXML. 2013-07-13 10:38:50 +09:00
Alex Shinn
92b7304f89 Using standard @ instead of ^ as the SXML attributes symbols.
This was never a portable aspect of SXML before because in earlier
standards @ was an illegal identifier, but it is allowed in R7RS.
Scribble requires escaping with @|@| to pass through a raw @ symbol.
Considering using \ as the default scribble escape instead.
2013-07-13 10:04:40 +09:00
Alex Shinn
b713fb8c34 Fixing (atan -0.0 -1.0) case. 2013-07-13 09:26:25 +09:00
Alex Shinn
a49907b9b6 Fixing inexact comparisons to handle different signed arguments. 2013-07-13 09:14:57 +09:00
Alex Shinn
6425c1480b Using (chibi string) in (chibi mime). 2013-07-08 22:52:31 +09:00
Alex Shinn
ceaf4b760e Using let-keywords* for repl parameters. 2013-07-08 22:35:54 +09:00
Alex Shinn
e37011f358 Deferring execution of defaults. 2013-07-08 22:34:54 +09:00
Alex Shinn
53cecd82b2 Forgot quotes. 2013-07-08 22:12:10 +09:00
Alex Shinn
ac35703685 Adding let-keywords[*]. 2013-07-08 22:09:42 +09:00
Alex Shinn
fef8c1a459 Adding auto-help facilities. 2013-07-07 18:30:46 +09:00
Alex Shinn
925118b9f3 Adding thread-list to get a list of all running threads.
This conses a new list for safety (not sharing with the scheduler)
and so is not a cheap operation if many threads are running.
2013-07-07 16:38:28 +09:00
Alex Shinn
050b353f34 Adding missing eof-object procedure.
Fixes issue #183.
2013-06-25 22:22:01 +09:00
Alex Shinn
6f1c038989 fixing bug in chained keys 2013-06-20 23:29:07 +09:00
Alex Shinn
74c121f2b2 Updating ephemerons use a context local type id.
Disabling weak vectors for now.
2013-06-17 22:02:55 +09:00
Alex Shinn
d7db3effa8 The guard-like macro in the core language is now called protect.
This is the recommended syntax for error-handling in Chibi-specific
programs, since it's not possible to get stack traces when using
R[67]RS guard.  guard is defined separately and according to the
standard in (scheme base).
2013-06-15 18:43:44 +09:00
Alex Shinn
053f293e5e Refactoring repl. 2013-06-15 18:15:50 +09:00
Alex Shinn
83fb186edc Wrapping continuable exceptions in specially tagged exceptions rather than pairs.
This way C functions that check for and print exceptions support them
automatically.  Notably continuable errors in macro expansions, will had
temporarily been suppressed, are printed again.
2013-06-15 17:47:37 +09:00
Alex Shinn
c81f3ded3c Adding environment: option to repl.
Fixes issue #180.
2013-06-15 12:40:33 +09:00
Alex Shinn
d3cc4de281 Fixing typo in integer case of inexact numerator/denominator.
Fixes issue #179.
2013-06-11 21:01:38 +09:00
Alex Shinn
e74319cad3 Adding procedure-docs and print-procedure-docs. 2013-06-10 22:11:09 +09:00
Alex Shinn
5f628c8e72 Max and min should coerce to inexact if any argument if inexact.
Fixes issue #178.
2013-06-04 22:01:13 +09:00
Alex Shinn
bb00cdaf1b Default test comparator should require same exactness. 2013-06-04 21:58:32 +09:00
Alex Shinn
3704289138 Handling raw numbers in sxml format. 2013-06-04 06:14:46 +09:00
Alex Shinn
eed67d5872 Render parameter in print-module-[binding-]docs can be made #f for the default. 2013-06-04 06:08:02 +09:00
Alex Shinn
95e92815ae Adding @help to (chibi repl) to lookup online docs. 2013-06-04 05:39:56 +09:00
Alex Shinn
d917dfcd72 Factoring print-module-docs and print-module-binding-docs into (chibi doc). 2013-06-04 04:49:49 +09:00
Alex Shinn
95fff8f056 Checking for a non-empty list in expand-docs. 2013-06-04 04:30:51 +09:00
Alex Shinn
a24c76a02d Better error handling for parsers. 2013-06-04 04:26:01 +09:00
Alex Shinn
65ed450d7a Supporting macro source info in docs, more robust line range checking. 2013-06-02 19:45:25 +09:00
Alex Shinn
ea5a424ede Refactoring most of chibi-doc tool into the (chibi doc) module. 2013-06-02 18:46:27 +09:00
Alex Shinn
1736a8306b Adding set-port-line! and using it in the pure Scheme load to preserve source info. 2013-06-02 10:44:10 +09:00
Alex Shinn
5797ac661a Fixing offsets for bytecode accessors. 2013-06-01 18:55:04 +09:00
Alex Shinn
b77e4397d7 Exporting sockaddr and addrinfo. 2013-05-30 08:09:05 +09:00
Alex Shinn
9c622fef67 Renaming dynamic-wind point routines to avoid likely user names. 2013-05-29 23:32:54 +09:00
Alex Shinn
b10cb94e17 Reset the current parameters in child threads.
This is simple and fast.  Inheriting all threads causes immediate
problems with exception handlers, and in general should use
copy-on-write behavior so that child threads can't affect parents.  If
we make an eager copy of the parameters we can filter out just the
exception handler, but then thread creation is expensive.  The ideal
design might allow selectively enabling parameter inheritance.
2013-05-29 20:40:48 +09:00
Alex Shinn
a12df113c5 Conditionally define Complex and Ratio types. 2013-05-28 22:51:02 +09:00
Alex Shinn
86cc80f67f Patch from Lorenzo to fix previous incomplete patch. 2013-05-28 19:53:14 +09:00