Calvin Rose
7198dcb416
Add sanboxing for signal handling.
2023-08-19 17:44:04 -05:00
Calvin Rose
08e20e912d
Use pthread_sigmask when adding signal handlers.
2023-08-19 17:30:55 -05:00
Calvin Rose
f45571033c
Add os/sigaction for signal handling.
...
Also improve interrupts to work better with busy loops
and signals.
2023-08-19 13:26:29 -05:00
Calvin Rose
2ac36a0572
Merge pull request #1257 from primo-ppcg/any-every
...
Update `any?`, `every?`
2023-08-18 07:20:44 -05:00
Calvin Rose
3df1d54847
Merge pull request #1258 from primo-ppcg/each
...
Update `each` keys before body
2023-08-18 07:16:19 -05:00
primo-ppcg
6222f35bc8
add buffer/from-bytes
2023-08-18 12:35:12 +07:00
primo-ppcg
2f178963c0
update each
keys before body
2023-08-18 10:32:24 +07:00
primo-ppcg
15760b0950
update any?
, every?
...
Updates `any?` and `every?` to be exact functional analogues to `or` and `and`.
2023-08-18 07:39:30 +07:00
Calvin Rose
43a6a70e1e
Merge pull request #1255 from primo-ppcg/sort
...
Special case common `sort` usages
2023-08-16 20:34:17 -05:00
Calvin Rose
cd36f1ef5f
Distinguish between threaded channels and non-threaded when marshalling.
...
Threaded channels _can_ be marshalled, just not for communication
between threads. This is a special case since the same abstract type
is used for both threaded and non-threaded channels.
2023-08-16 14:26:52 -05:00
primo-ppcg
cdd7083c86
special case common sort
usages
2023-08-15 11:58:22 +07:00
Calvin Rose
8df7364319
Quick fix for discussion #1253
...
Protect against garbage collection during connect.
2023-08-13 12:00:54 -05:00
Calvin Rose
63023722d1
Merge pull request #1246 from wooosh/use-object-typedefs
...
Use typedefs for strings, symbols, keywords, tuples, structs, and abstracts.
2023-08-13 08:33:19 -05:00
primo-ppcg
53e16944a1
rework reverse
, again
2023-08-13 00:54:17 +07:00
primo-ppcg
9238b82cde
speed up compare
2023-08-11 23:48:29 +07:00
wooosh
701913fb19
Use typedefs for strings, symbols, keywords, tuples, structs, and abstracts.
2023-08-09 16:09:34 -04:00
primo-ppcg
831f41a62b
move bytes?
, indexed?
, dictionary?
to corelib
2023-08-08 10:00:05 +07:00
Calvin Rose
0ea1da80e7
Merge pull request #1242 from primo-ppcg/reverse
...
Rework `reverse`
2023-08-06 08:10:56 -05:00
primo-ppcg
c8c0e112bc
rework reverse
2023-08-06 16:16:41 +07:00
primo-ppcg
7417e82c51
rework keys
, values
, pairs
2023-08-06 15:39:16 +07:00
Calvin Rose
ecc4d80a5a
Prepare for 1.30.0 release.
2023-08-05 18:58:04 -05:00
primo-ppcg
8a70fb95b5
slight refactoring
2023-08-05 11:00:23 +07:00
primo-ppcg
61712bae9c
speed up range creation
2023-08-02 01:26:03 +07:00
sogaiu
f9233ef90b
Add fopen reference to file/open docstring
2023-07-23 18:39:20 +09:00
Calvin Rose
cd3573a4d2
Merge pull request #1224 from primo-ppcg/array-remove
2023-07-15 06:42:15 -05:00
Calvin Rose
738fe24e6d
Allow buffer/blit to take explicit nils for default args.
...
Also small changes for range checking code.
2023-07-14 20:04:10 -05:00
primo-ppcg
c2e55b5486
update docstrings for string/slice
and tuple/slice
2023-07-15 00:52:12 +07:00
Calvin Rose
989f0726e3
Make encoding of immediate values capture full range.
2023-07-14 10:06:20 -05:00
primo-ppcg
bdefd3ba1e
update final array index to be -1
2023-07-14 17:34:55 +07:00
Calvin Rose
4efcff33bd
Update inttypes.
2023-07-13 19:58:38 -05:00
Calvin Rose
8183cc5a8d
Disallow converting negative numbers to int/u64
...
The wrap-around rule doesn't make sense once subtraction is
properly fixed.
2023-07-09 22:25:20 -05:00
Calvin Rose
f3bda1536d
Remove some dead code in cfuns.c
2023-07-09 22:02:10 -05:00
Calvin Rose
b5d3c87253
Add new opcode subtract immediate.
2023-07-09 21:51:16 -05:00
sogaiu
348a5bc0a9
Add source view to .ppasm output
2023-07-06 13:26:03 +09:00
Calvin Rose
026c64fa01
Formatting.
2023-07-02 15:23:22 -05:00
Calvin Rose
9bc5bec9f1
More complete fix with some debugging tools.
2023-07-02 13:04:42 -05:00
Calvin Rose
a5f4e4d328
Test small fix for marshalling.
2023-07-02 12:58:55 -05:00
Calvin Rose
db0abfde72
Cache references when marshalling abstract types.
2023-07-01 18:02:56 -05:00
Calvin Rose
edf263bcb5
Make some fixes to marshalling.
2023-07-01 17:59:07 -05:00
Calvin Rose
60fba585e3
Remove extra MARK_SEEN
2023-07-01 17:37:12 -05:00
Calvin Rose
ebb6fe5be3
Patch fix for #1210
2023-07-01 10:34:11 -05:00
primo-ppcg
81423635ad
Add bnot to int types
2023-07-01 21:41:55 +07:00
Calvin Rose
58d297364a
Change code for marshalling abstract types.
2023-07-01 08:50:56 -05:00
Calvin Rose
db902c90c4
Merge pull request #1207 from primo-ppcg/divmod
...
floor div, variadic mod
2023-07-01 08:47:06 -05:00
primo-ppcg
8a62c742e6
define (mod x 0)
as x
...
See: Knuth, Donald E., _The Art of Computer Programming: Volume 1: Fundamental Algorithms_, pp. 15 ([link](https://books.google.com/books?id=x9AsAwAAQBAJ&pg=PA15 ))
2023-06-30 16:15:04 +07:00
Calvin Rose
b125cbeac9
Merge pull request #1203 from czkz/add-escapes
...
Add C escape sequences
2023-06-28 20:06:10 -05:00
Calvin Rose
3f7a2c2197
Try harder to avoid string copying with janet_getcbytes.
2023-06-28 08:30:09 -05:00
Calvin Rose
f6248369fe
Update janet_getcbytes to padd buffers with trailing 0.
2023-06-28 08:18:43 -05:00
primo-ppcg
c83f3ec097
floor div, variadic mod
2023-06-28 18:31:20 +07:00
Calvin Rose
0cd00da354
Add ffi/pointer-cfunction
to FFI.
...
This allows for more flexible C interop from DLLs. Users can skip the
usual extension loading mechanism and manage function pointers manually
if they need to.
2023-06-27 19:47:19 -05:00