Thun/implementations/SWIProlog/bigints.joyast

2 lines
6.4 KiB
Plaintext

[symbol(clear),list([symbol(base),int(2147483648)]),list([symbol('ditch-empty-list'),list([symbol(bool)]),list([symbol(popd)]),list([symbol(pop)]),symbol(ifte)]),list([symbol('bool-to-int'),list([int(0)]),list([int(1)]),symbol(branch)]),list([symbol('uncons-two'),list([symbol(uncons)]),symbol(ii),symbol(swapd)]),list([symbol(sandwich),symbol(swap),list([symbol(cons)]),symbol(dip),symbol(swoncat)]),list([symbol('build-list'),list([symbol(i),symbol(cons)]),symbol(genrec)]),list([symbol(digitalize),list([int(0),symbol(<=)]),list([symbol(pop),list([])]),list([symbol(base),symbol(divmod),symbol(swap)]),symbol('build-list')]),list([symbol('to-bigint'),list([symbol('!-')]),list([symbol(abs),symbol(digitalize)]),symbol(cleave),symbol(cons)]),list([symbol('from-bigint'),symbol('sign-int'),symbol('neg-if-necessary')]),list([symbol('sign-int'),list([symbol(first)]),list([symbol(prep),symbol('from-bigint\'')]),symbol(cleave)]),list([symbol('neg-if-necessary'),symbol(swap),list([symbol(neg)]),list([]),symbol(branch)]),list([symbol(prep),symbol(rest),int(1),int(0),symbol(rolldown)]),list([symbol('from-bigint\''),list([symbol('next-digit')]),symbol(step),symbol(popd)]),list([symbol('next-digit'),list([symbol('increase-power')]),list([symbol('accumulate-digit')]),symbol(clop),symbol(popdd)]),list([symbol('increase-power'),symbol(popop),symbol(base),symbol(*)]),list([symbol('accumulate-digit'),symbol(rolldown),symbol(*),symbol(+)]),list([symbol('neg-bigint'),list([symbol(not)]),symbol(infra)]),list([symbol('add-with-carry'),symbol('_add-with-carry0'),symbol('_add-with-carry1')]),list([symbol('_add-with-carry0'),list([symbol('bool-to-int')]),symbol(dipd),symbol(+),symbol(+)]),list([symbol('_add-with-carry1'),symbol(base),list([symbol(mod)]),list([symbol(>=)]),symbol(clop)]),list([symbol('add-carry-to-digits'),list([symbol(pop),symbol(not)]),list([symbol(popd)]),list([symbol('_actd_R0')]),symbol('build-list')]),list([symbol('_actd_R0'),list([symbol(bool)]),list([symbol('_actd_R0.then')]),list([symbol('_actd_R0.else')]),symbol(ifte)]),list([symbol('_actd_R0.else'),symbol(popd),int(1),symbol(false),symbol(rolldown)]),list([symbol('_actd_R0.then'),int(0),symbol(swap),symbol(uncons),list([symbol('add-with-carry')]),symbol(dip)]),list([symbol('add-digits'),symbol('initial-carry'),symbol('add-digits\'')]),list([symbol('initial-carry'),symbol(false),symbol(rollup)]),list([symbol('same-sign'),list([symbol(first)]),symbol(ii),symbol('_\\/_'),symbol(not)]),list([symbol('extract-sign'),list([symbol(uncons)]),symbol(dip),symbol(rest)]),list([symbol('add-like-bigints'),symbol('extract-sign'),symbol('add-digits'),symbol(cons)]),list([symbol('add-bigints'),list([symbol('same-sign')]),list([symbol('add-like-bigints')]),list([symbol('neg-bigint'),symbol('sub-like-bigints')]),symbol(ifte)]),list([symbol('build-two-list-combiner'),symbol('_btlc0'),symbol('_btlc1'),list([symbol('build-list')]),symbol(ccons),symbol(cons)]),list([symbol('_btlc0.0'),list([list([symbol('ditch-empty-list')]),symbol(swoncat)]),symbol(dip)]),list([symbol('_btlc0.1'),list([symbol(pop)]),symbol(swoncat)]),list([symbol('_btlc0.3'),list([symbol('_btlc0.0'),symbol('_btlc0.1')]),symbol(dip)]),list([symbol('_btlc0.4'),list([symbol('uncons-two')]),list([symbol(dipd)]),symbol(sandwich)]),list([symbol('_btlc0'),symbol('_btlc0.3'),symbol('_btlc0.4')]),list([symbol('_btlc1'),list([list([symbol(ifte)]),symbol(ccons),list([symbol('P\'')]),symbol(swons),list([symbol('P')]),symbol(swap)]),symbol(dip)]),list([symbol('P'),list([symbol(bool)]),symbol(ii),symbol(/\),symbol(not)]),list([symbol('P\''),list([symbol(bool)]),symbol(ii),symbol(\/)]),list([symbol(carry),list([]),list([int(1),symbol(swons)]),symbol(branch)]),list([symbol('compare-pairs'),list([symbol(bool),symbol(not)]),list([symbol(pop),symbol(false)]),list([symbol('_comp-pairs0')]),list([symbol('_comp-pairs1')]),symbol(genrec)]),list([symbol('_comp-pairs0'),list([symbol(first),list([symbol(>=)]),symbol(infrst)]),list([symbol(pop),symbol(true)])]),list([symbol('_comp-pairs1'),list([symbol(rest)]),symbol(swoncat),symbol(ifte)]),list([symbol('check-gt'),list([symbol('gt-bigint')]),list([symbol(swap),list([symbol(not)]),symbol(dipd)]),list([]),symbol(ifte)]),list([symbol('gt-bigint'),symbol('<<{}'),list([symbol('_gtb_P')]),list([symbol('_gtb_BASE')]),list([symbol('_gtb_R1')]),symbol(tailrec)]),list([symbol('_gtb_R1'),symbol('uncons-two'),list([symbol(unit),symbol(cons),symbol(swons)]),symbol(dipd)]),list([symbol('_gtb_P'),list([symbol(bool)]),symbol(ii),symbol(/\),symbol(not)]),list([symbol('_gtb_BASE'),list([symbol(bool)]),list([symbol(popop),symbol(pop),symbol(true)]),list([symbol('_gtb_BASE\'')]),symbol(ifte)]),list([symbol('_gtb_BASE\''),list([symbol(pop),symbol(bool)]),list([symbol(popop),symbol(pop),symbol(false)]),list([symbol(popop),symbol('compare-pairs')]),symbol(ifte)]),list([symbol('sub-carry-from-digits'),list([symbol(pop),symbol(not)]),list([symbol(popd)]),list([symbol('_scfd_R0')]),list([symbol(i),symbol('cons-but-not-leading-zeroes')]),symbol(genrec)]),list([symbol('_scfd_R0'),symbol(uncons),int(0),symbol(swap),list([symbol('sub-with-carry')]),symbol(dip)]),list([symbol('cons-but-not-leading-zeroes'),list([symbol('P\'')]),list([symbol(cons)]),list([symbol(popd)]),symbol(ifte)]),list([symbol('sub-with-carry'),symbol('_sub-with-carry0'),symbol('_sub-with-carry1')]),list([symbol('_sub-with-carry0'),symbol(rolldown),symbol('bool-to-int'),list([symbol(-)]),symbol(ii)]),list([symbol('_sub-with-carry1'),list([symbol(base),symbol(+),symbol(base),symbol(mod)]),list([int(0),symbol(<)]),symbol(cleave)]),list([symbol('sub-like-bigints'),symbol('extract-sign'),symbol('check-gt'),symbol('sub-digits'),symbol(cons)]),list([symbol('sub-digits'),symbol('initial-carry'),symbol('sub-digits\'')]),list([symbol('sub-bigints'),list([symbol('same-sign')]),list([symbol('sub-like-bigints')]),list([symbol('neg-bigint'),symbol('add-like-bigints')]),symbol(ifte)]),symbol(enstacken),list([symbol(inscribe)]),symbol(step),list([symbol('add-carry-to-digits')]),list([symbol(swap),symbol(carry)]),list([symbol('add-with-carry')]),symbol('build-two-list-combiner'),list([symbol('add-digits\'')]),symbol(swoncat),symbol(inscribe),list([symbol('sub-carry-from-digits')]),list([symbol(swap),symbol(pop)]),list([symbol('sub-with-carry')]),symbol('build-two-list-combiner'),list([symbol('sub-digits\'')]),symbol(swoncat),symbol(inscribe),int(1000000000000000000000000000000000000000),symbol('to-bigint'),int(1),symbol('to-bigint'),symbol('sub-bigints'),symbol('from-bigint')].