Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
bbf5976
new math function sqrt_is
francolq Sep 8, 2023
52eb39f
rename sqrt_is to is_sqrt and fix format
francolq Sep 11, 2023
2725b16
bump version to 1.7.0 to match release
MicroProofs Mar 2, 2024
fc3b9d5
Add disclaimer on bytearray.to_string
KtorZ Mar 14, 2024
b57389f
Also add disclaimer on string.from_bytearray
KtorZ Mar 14, 2024
65a63d8
Add value.reduce into transaction/value.ak
micahkendall Mar 15, 2024
229f3ce
Update value.ak
micahkendall Mar 15, 2024
3a8e77c
requested changes
micahkendall Mar 15, 2024
3e47bb8
bump CI version
micahkendall Mar 15, 2024
d8dcf4e
fmt other
micahkendall Mar 15, 2024
28d1268
fmt older aiken
micahkendall Mar 15, 2024
5edf422
Update lib/aiken/transaction/value.ak
micahkendall Mar 15, 2024
f0d151a
Update lib/aiken/transaction/value.ak
micahkendall Mar 15, 2024
28c935d
Update lib/aiken/transaction/value.ak
micahkendall Mar 15, 2024
852b524
Update lib/aiken/transaction/value.ak
micahkendall Mar 15, 2024
79e368f
Update lib/aiken/transaction/value.ak
micahkendall Mar 15, 2024
85bb70a
redundant test case change
micahkendall Mar 15, 2024
28e0ead
remove dict changes
micahkendall Mar 15, 2024
e5fde44
Merge pull request #84 from aiken-lang/micah/value_reduce
KtorZ Mar 15, 2024
eb39cdd
Merge pull request #73 from francolq/patch-1
KtorZ Mar 22, 2024
871338c
feat: Add from asset list to stdlib
MicroProofs Mar 22, 2024
e475816
update aiken version
MicroProofs Mar 24, 2024
d9655fc
fix formatting and update workflow version
MicroProofs Mar 27, 2024
7795b24
Add explainer to from_asset_list and one extra test
KtorZ Mar 28, 2024
c074d34
Fill-in CHANGELOG for 1.8.0
KtorZ Mar 28, 2024
be93039
Fix link in string.from_bytearray disclaimer.
KtorZ Mar 28, 2024
f02446f
Specialize Dict's key to ByteArray
KtorZ Jan 14, 2024
2df2aa8
Replace occurences of 2-tuples with pairs
KtorZ Apr 18, 2024
577a586
Define aiken/map interface for Map<key, value>
MicroProofs Apr 29, 2024
c441994
Rename Map to AList
MicroProofs May 2, 2024
ccb2e27
missed 2 more places
MicroProofs May 2, 2024
d962dca
rename function
MicroProofs May 2, 2024
0ae9197
finish renaming to alist
MicroProofs May 4, 2024
c5f1994
Merge pull request #81 from aiken-lang/specialize-dict-key
MicroProofs May 4, 2024
87be7c0
fmt fix
MicroProofs May 4, 2024
d2f1966
Rework doc for alist, rename some functions and fill-in CHANGELOG
KtorZ May 10, 2024
fba13a5
Update value.ak
dmitrystas May 22, 2024
d5a5d6f
Merge pull request #87 from dmitrystas/main
KtorZ May 22, 2024
5a279d8
Closes #82.
KtorZ May 22, 2024
b281d4c
Rename AList -> Pairs
KtorZ May 23, 2024
cfcf2bf
fix formatting issue
MicroProofs May 23, 2024
c94606a
new ci version of aiken
MicroProofs May 24, 2024
93f1705
Bump setup-aiken.
KtorZ May 24, 2024
de654c4
Add small 'compatibility matrix' on README.
KtorZ May 24, 2024
b83d3c3
Bump version to 1.9.0
KtorZ May 24, 2024
18a6305
Fix documentation examples on pairs.
KtorZ May 24, 2024
0407b3a
Update stdlib's compatibility matrix.
KtorZ Jun 6, 2024
5fc33fb
catch up the v3 branch
logicalmechanism Jun 24, 2024
1522f63
split scriptpurpose into scriptinfo, update names, and change scriptc…
logicalmechanism Jun 24, 2024
8ae154a
merge this up into the v3 branch
logicalmechanism Jun 24, 2024
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
Prev Previous commit
Next Next commit
remove dict changes
  • Loading branch information
micahkendall committed Mar 15, 2024
commit 28e0ead6063c1aa0671e1252358456ffe71db885
59 changes: 44 additions & 15 deletions lib/aiken/dict.ak
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,21 @@ fn fixture_1() {
///
/// result == [(2, 200)]
/// ```
pub fn delete(self: Dict<key, value>, k: key) -> Dict<key, value> {
when self.inner is {
pub fn delete(self: Dict<key, value>, key: key) -> Dict<key, value> {
Dict { inner: do_delete(self.inner, key) }
}

fn do_delete(self: List<(key, value)>, key k: key) -> List<(key, value)> {
when self is {
[] ->
[]
[v, ..rest] ->
if k == v.1st {
[(k2, v2), ..rest] ->
if k == k2 {
rest
} else {
[v, ..delete(Dict(rest), k).inner]
[(k2, v2), ..do_delete(rest, k)]
}
}
|> Dict()
}

test delete_1() {
Expand Down Expand Up @@ -180,13 +183,17 @@ test filter_3() {
/// result == Some(foo)
/// ```
pub fn find(self: Dict<key, value>, value v: value) -> Option<key> {
when self.inner is {
do_find(self.inner, v)
}

fn do_find(self: List<(key, value)>, value v: value) -> Option<key> {
when self is {
[] -> None
[(k2, v2), ..rest] ->
if v == v2 {
Some(k2)
} else {
find(Dict(rest), v)
do_find(rest, v)
}
}
}
Expand Down Expand Up @@ -241,9 +248,17 @@ pub fn foldr(
zero: result,
with: fn(key, value, result) -> result,
) -> result {
when self.inner is {
do_foldr(self.inner, zero, with)
}

fn do_foldr(
self: List<(key, value)>,
zero: result,
with: fn(key, value, result) -> result,
) -> result {
when self is {
[] -> zero
[(k, v), ..rest] -> with(k, v, foldr(Dict(rest), zero, with))
[(k, v), ..rest] -> with(k, v, do_foldr(rest, zero, with))
}
}

Expand Down Expand Up @@ -275,9 +290,17 @@ pub fn foldl(
zero: result,
with: fn(key, value, result) -> result,
) -> result {
when self.inner is {
do_foldl(self.inner, zero, with)
}

fn do_foldl(
self: List<(key, value)>,
zero: result,
with: fn(key, value, result) -> result,
) -> result {
when self is {
[] -> zero
[(k, v), ..rest] -> foldl(Dict(rest), with(k, v, zero), with)
[(k, v), ..rest] -> do_foldl(rest, with(k, v, zero), with)
}
}

Expand Down Expand Up @@ -307,12 +330,18 @@ pub fn from_list(
self: List<(key, value)>,
compare: fn(key, key) -> Ordering,
) -> Dict<key, value> {
when self is {
Dict { inner: do_from_list(self, compare) }
}

fn do_from_list(
xs: List<(key, value)>,
compare: fn(key, key) -> Ordering,
) -> List<(key, value)> {
when xs is {
[] ->
[]
[(k, v), ..rest] -> do_insert(from_list(rest, compare).inner, k, v, compare)
[(k, v), ..rest] -> do_insert(do_from_list(rest, compare), k, v, compare)
}
|> Dict()
}

test from_list_1() {
Expand Down