Denis Buzdalov
2482ebb432
[ performance ] Implement weak memoisation of lazy values for chez and racket ( #2791 )
...
* [ lazy ] Weakly memoise lazy expressions on chez and racket
* [ lazy ] Make weak memoisation to be controlled by codegen directive
2024-08-06 15:24:57 +01:00
Steve Dunham
e2ceb97fd8
[ gambit ] fix pack / unpack segfault with gambit scheme
2023-11-29 15:32:17 +00:00
Ben Hormann
ca5f1f1938
[ fix #2279 ] Racket bootstrap unsafe-fx
2022-09-23 18:55:31 +01:00
Jesse Nava
db13a35bf5
[ fix ] Ensure casting from String to Double results in floating numbers on scheme backends
2022-05-09 18:36:17 +01:00
stefan-hoeck
51eb854a60
[ fix ] euclidian mod and div for scheme backends
2022-03-08 17:40:29 +00:00
Ben Hormann
d1e90a5b8e
[ performance ] bitops arithmetic speedup ( #2081 )
2021-11-17 11:54:19 +00:00
Stefan Höck
af5657d23a
[ performance ] Memoise toplevel constants ( #1899 )
...
* [ performance ] memoize toplevel constants
* [ test ] memoization tests
* [ fix ] fix blodwen-lazy for racket and gambit
2021-09-08 16:46:19 +01:00
Edwin Brady
050abe663e
Merge pull request #1638 from stepancheg/idris2-time
...
Use C idris2_time for all C-based backends
2021-07-16 09:40:08 +01:00
Edwin Brady
dad1804509
Fix for thread data in racket/gambit too
2021-07-15 15:12:50 +01:00
Stiopa Koltsov
3d5ad0ca91
Use C idris2_time for all C-based backends
2021-06-28 23:57:58 +01:00
Stiopa Koltsov
a6555549ee
Route System.prim__system through C function
...
To be able to eventually refactor/extend `system` function: to be
able to specify a directory, environment variables, specify arguments
as array etc. Ideally it should be something like Rust
[`std::process::Command`](https://doc.rust-lang.org/std/process/struct.Command.html ).
2021-06-28 11:28:14 +01:00
Stefan Höck
baa6051d69
[ fix ] use twos complement truncation for signed ints ( #1471 )
2021-06-04 10:35:07 +01:00
Stefan Höck
6cdf05f1ec
[ new ] Add Int(8/16/32/64) ( #1352 )
...
This adds new `Int8`, `Int16`, `Int32` and `Int64` data types
to the compiler, thus working towards properly specified integer
types as discussed in #1048 .
In addition, the following changes / corrections are made:
* Support casts from `Char`, `String`, and `Double` to all integer
types (and back). This fixes #1270 .
* Make sure that all casts to limited-precision integers are properly
bounds checked (this was not the case so far for casts from `String`
and `Double` to `Int`)
* Add a thorough set of tests to make sure all bounds checks work
correctly for all supported casts and arithmetic operations
2021-05-04 08:22:06 +01:00
Stefan Höck
bbea929cf3
[ refactor ] Cleanup integral primops ( #1211 )
2021-04-28 09:32:46 +01:00
Niklas Larsson
084997a880
Replace prim__getArgs with prim__getArgsCount and prim__getArg
...
This spares us from having to build Idris data structures in the foreign
code.
2021-04-03 10:45:02 +02:00
Stefan Höck
8d4321eb9a
Add Data.Bits to base ( #1033 )
2021-03-04 20:59:56 +00:00
Stefan Hoeck
f721281bdc
[ re #1043 ] Fix typo in support.scm ( #1047 )
2021-02-10 01:00:42 +00:00
russoul
79d0cd1ba6
Add withIteratorString
2020-12-31 20:36:07 +03:00
Matus Tejiscak
f64163de1f
Merge branch 'unscheme' into master
2020-10-11 08:20:01 +02:00
russoul
883a8df429
Fix String->Int cast on Scheme backends
2020-09-23 19:48:58 +01:00
Matus Tejiscak
d26a9c55bf
Tune Data.String.Iterator.
2020-09-20 10:02:18 +02:00
Matus Tejiscak
74f592053e
Make StringIterator abstract.
2020-09-19 21:54:34 +02:00
Matus Tejiscak
76c3c3f8e8
Update the Scheme support code.
2020-09-19 14:36:57 +02:00
russoul
3a9b1ac656
Add supporting code
2020-08-25 14:30:57 +03:00
Matus Tejiscak
362d2204ab
Make fastAppend a foreign call.
2020-08-24 19:51:22 +02:00
karroffel
7d046652d8
add support for more casts from and to BitsN types ( #548 )
...
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2020-08-20 15:01:09 +01:00
Edwin Brady
2eb2ce6097
Add Bits primitives
...
Including appropriate casts, and Num/Eq/Ord/Show implementations.
Also includes new primitives in Data.Buffer, and calls to foreign
functions in C as 'unsigned'.
2020-06-01 11:48:03 +01:00
Marek Labos
9108410c1e
Define blodwen-os in Gambit support.scm
2020-05-21 23:09:02 +01:00
Edwin Brady
052713b645
Adding missing scheme support
...
Sorry!
2020-05-18 14:55:43 +01:00