Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
624e505
js-numbers.js: #1799
ds26gte Aug 22, 2025
c5cd7e1
bnpExp(): Don't assume args are JS nums #1799
ds26gte Aug 22, 2025
15e61eb
add tests for when num-expt and num-log raise exception #1799
ds26gte Aug 22, 2025
78d9794
js-numbers: Improve definition of log so it doesn't give up quickly #…
ds26gte Aug 22, 2025
27b30f8
use firstFewLen throughout (rather than specific value) #1799
ds26gte Aug 22, 2025
10ba82d
fromFixnum(): fix for argument fixnum is less than about 1e-7, brownp…
ds26gte Aug 25, 2025
d237520
- test-numbers.js: ensure errbacks correctly propagated for num-{sin,…
ds26gte Aug 26, 2025
892bb5f
Add condition to skip deploy trigger on PRs
jpolitz Aug 29, 2025
175b934
Add condition to skip deployment on pull requests
jpolitz Aug 29, 2025
92aee48
fromFixnum() simplified, with better var names, and comments
ds26gte Aug 30, 2025
901046f
- simplify js-numbers.js -> log() and add comments
ds26gte Aug 30, 2025
2953469
Bump firstFewLen to 20
ds26gte Sep 3, 2025
ae831eb
test-numbers.js: fix Pyret comment
ds26gte Sep 4, 2025
75da5d7
js-numbers.js -> firstFewLen: set to maximum allowed value, 308
ds26gte Sep 4, 2025
759c7a7
test-numbers.js: num-log, show comparison w/ Racket, Wolfram
ds26gte Sep 4, 2025
8f71137
add tests/jsnums-test/jsnums-test.js to test js-numbers.js internals …
ds26gte Sep 4, 2025
3282775
add starter2024.arr as a trove module in pyret-lang
jpolitz Aug 22, 2025
11cbc5c
- define fromFixnum() in terms of fromString()
ds26gte Sep 14, 2025
6732459
make sure starter2024 is included in the list of libraries to bundle …
jpolitz Sep 18, 2025
11bb00b
Merge pull request #1807 from ds26gte/horizon
jpolitz Sep 18, 2025
e51a411
js-numbers.js: log() for nonintegral rational arguments = log(numr) -…
ds26gte Sep 18, 2025
31d9295
js-numbers.js: log() -- add missing errbacks args
ds26gte Sep 18, 2025
a9fb542
Merge branch 'horizon' into fromFixnum-fix
ds26gte Sep 19, 2025
777d118
scrub regexp no longer used
ds26gte Sep 19, 2025
b3311db
revert change to fromString() that replaces makeBignum() calls with r…
ds26gte Sep 19, 2025
025c770
Merge pull request #1810 from ds26gte/fromFixnum-fix
jpolitz Sep 19, 2025
baae4dd
Merge pull request #1815 from ds26gte/log-of-small-nums
ds26gte Sep 22, 2025
5e7fb04
@ess476's PR #1217 (issue #1179) relativized to 2025 horizon
ds26gte Oct 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@ jobs:
needs: build
uses: ./.github/workflows/deploy-trigger.yml
secrets: inherit
if: github.event_name != 'pull_request'
1 change: 1 addition & 0 deletions .github/workflows/deploy-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:

jobs:
deploy:
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Trigger pyret-release-update in drydock
Expand Down
3 changes: 3 additions & 0 deletions src/arr/compiler/libs.arr
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import base as _
import essentials2020 as _
import starter2024 as _

import arrays as _
import ast as _
Expand Down Expand Up @@ -53,3 +54,5 @@ import image-typed as _
import color as _
import csv as _
import charts as _


4 changes: 3 additions & 1 deletion src/arr/compiler/type-defaults.arr
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,9 @@ module-const-sets = t-module("builtin://sets",
"branch", t-arrow([list: t-top, t-number, t-avl, t-avl], t-avl),
"fold", t-forall([list: tva, tvb], t-arrow([list: t-arrow([list: tvb, tva], tvb), tvb, t-set-app(tva)], tvb)),
"all", t-forall([list: tva], t-arrow([list: t-arrow([list: tva], t-boolean), t-set-app(tva)], t-boolean)),
"any", t-forall([list: tva], t-arrow([list: t-arrow([list: tva], t-boolean), t-set-app(tva)], t-boolean))
"any", t-forall([list: tva], t-arrow([list: t-arrow([list: tva], t-boolean), t-set-app(tva)], t-boolean)),
"map", t-forall([list: tva, tvb], t-arrow([list: t-set-app(tva), t-arrow([list: tva], tvb)], t-set-app(tvb))),
"filter", t-forall([list: tva], t-arrow([list: t-arrow([list: tva], t-boolean), t-set-app(tva)], t-set-app(tva))),
]),
SD.make-string-dict()
.set("AVLTree", t-data("AVLTree", [list:], [list:], [string-dict:]))
Expand Down
26 changes: 26 additions & 0 deletions src/arr/trove/sets.arr
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ provide:
set-fold as fold,
set-all as all,
set-any as any,
set-map as map,
set-filter as filter,
data Set,
data AVLTree
end
Expand Down Expand Up @@ -375,6 +377,14 @@ data Set:

method any(self, f) -> Boolean:
self.elems.any(f)
end,

method map(self, f) -> Set:
list-to-list-set(self.to-list().map(f))
end,

method filter(self, f) -> Set:
list-to-list-set(self.to-list().filter(f))
end

| tree-set(elems :: AVLTree) with:
Expand Down Expand Up @@ -444,6 +454,14 @@ data Set:

method any(self, f) -> Boolean:
self.elems.any(f)
end,

method map(self, f) -> Set:
list-to-tree-set(self.to-list().map(f))
end,

method filter(self, f) -> Set:
list-to-tree-set(self.to-list().filter(f))
end

sharing:
Expand Down Expand Up @@ -597,6 +615,14 @@ fun list-to-tree(lst :: List):
end
end

fun set-map<T, U>(s :: Set<T>, f :: (T -> U)) -> Set<U>:
s.map(f)
end

fun set-filter<T>(f :: (T -> Boolean), s :: Set<T>) -> Set<T>:
s.filter(f)
end

fun arr-to-list-set(arr :: RawArray) -> Set:
for raw-array-fold(ls from list-set(empty), elt from arr, _ from 0):
ls.add(elt)
Expand Down
Loading