Skip to content

Commit e7f3569

Browse files
committed
clean of serialization & include gc state in serialization
1 parent 1b03331 commit e7f3569

File tree

12 files changed

+127
-80
lines changed

12 files changed

+127
-80
lines changed

CI.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def test() -> None:
5959
src = f.read()
6060
if (
6161
res[0] == 0 and
62-
res[1] == src + "<end-of-stdout>\n( vval )\n" and
62+
res[1] == src + "<end-of-stdout>\n( VV )\n" and
6363
check_copy_controls(res[2])
6464
):
6565
print(f"OK ({end - start:.3f} seconds)", flush = True)

forkstate2.clo

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
letrec (
2+
count lambda (n)
3+
if (.<= n 0)
4+
(.forkstate)
5+
letrec (
6+
left (.putstr (.s+ (.i->s n) "\n"))
7+
state (count (.- n 1))
8+
right (.putstr (.s+ (.i->s n) "\n"))
9+
) state
10+
)
11+
letrec (state (count 5))
12+
if (.= (.type state) 0) (.void) {
13+
(.putstr state)
14+
(.eval state)
15+
}

src/main.cpp

Lines changed: 102 additions & 70 deletions
Large diffs are not rendered by default.

test/Y.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"in" : "",
3-
"out" : "<end-of-stdout>\n( ival 120 )\n"
3+
"out" : "<end-of-stdout>\n( IV 120 )\n"
44
}

test/eval.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"in" : "",
3-
"out" : "<end-of-stdout>\n( ival 25 )\n"
3+
"out" : "<end-of-stdout>\n( IV 25 )\n"
44
}

test/forkstate1.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"in" : "",
3-
"out" : "0\n1\n2\n2\n3\n<end-of-stdout>\n( vval )\n"
3+
"out" : "0\n1\n2\n2\n3\n<end-of-stdout>\n( VV )\n"
44
}

test/forkstate2.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"in" : "",
3-
"out" : "5\n4\n3\n2\n1\n1\n2\n3\n4\n5\n1\n2\n3\n4\n5\n<end-of-stdout>\n( vval )\n"
3+
"out" : "5\n4\n3\n2\n1\n1\n2\n3\n4\n5\n1\n2\n3\n4\n5\n<end-of-stdout>\n( VV )\n"
44
}

test/prime.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"in" : "7 10 11 6 1442968193 50000 0",
3-
"out" : "Yes\nNo\nYes\nNo\nYes\nNo\n<end-of-stdout>\n( vval )\n"
3+
"out" : "Yes\nNo\nYes\nNo\nYes\nNo\n<end-of-stdout>\n( VV )\n"
44
}

test/qsort.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"in" : "500 401 -438 523 -760 -816 504 -316 254 12 485 600 487 343 877 984 531 -124 -205 -759 699 -767 74 -117 -403 -635 -126 -56 -302 506 869 -628 -129 887 133 -690 801 -228 -511 -73 -46 -1000 115 -252 -61 32 -122 94 218 -459 -825 -846 -49 948 -239 128 -880 -584 469 16 47 -670 521 -128 -342 -444 -981 0 -146 -243 -847 135 843 778 -373 -174 -342 993 373 -245 622 449 -122 -108 -954 -96 621 639 479 271 -63 617 73 655 -818 -198 -343 -421 -108 -125 -262 328 -510 -597 -13 -410 -956 -845 409 626 -960 689 -995 -895 -799 270 -787 -851 435 449 -365 -857 9 541 380 417 580 792 -622 -193 -90 -958 -934 -59 -944 -502 737 911 -773 -397 -183 482 -482 941 87 824 -732 -152 998 786 665 717 -568 -374 -778 381 -924 -280 761 652 -2 -907 724 860 990 -988 -467 -6 -835 -163 -255 -886 -990 -821 -71 -404 -936 -69 563 -468 500 619 993 757 -393 -500 -667 875 -645 704 -823 721 -675 26 -714 415 951 116 845 716 895 -168 654 -773 -349 732 657 -6 300 109 657 -918 97 -847 -43 -548 -12 -362 808 -55 -884 -806 -913 331 250 761 583 920 259 -373 -129 84 -176 -792 -964 372 -178 -559 -570 181 -125 -77 -38 138 -610 779 412 440 335 -576 418 -496 -56 -486 487 471 79 -122 -100 984 936 915 595 394 77 40 663 -6 -309 235 844 -529 731 -778 -275 -600 -922 -56 -126 -328 -243 -362 283 -643 -259 -404 916 373 476 -756 553 30 -328 -654 -965 843 -593 391 -198 961 -210 17 546 -986 -976 694 487 405 -737 -266 752 933 -406 343 13 405 98 471 201 928 -397 147 66 766 -156 423 -842 -29 -764 330 -996 -747 190 873 831 376 -12 -673 -627 658 191 448 -309 -806 -503 -741 387 -400 806 -668 105 338 487 -445 -916 -638 -344 -349 516 -800 179 531 -950 -805 -589 269 291 -319 940 -265 -646 618 960 498 -27 573 278 854 249 658 357 483 729 785 922 764 607 -997 605 -377 453 -395 -536 452 -609 -668 909 -969 840 -691 579 -452 926 -386 -873 -15 -929 -106 -832 385 473 377 772 916 -587 -719 691 299 551 -152 88 -604 -742 925 533 -327 -657 -231 377 -265 -412 978 -485 -539 -329 525 633 -756 -197 -484 -810 891 -875 -618 -206 -304 628 303 -659 -955 891 -43 -871 173 -566 881 928 -24 -818 -708 107 -384 -137 107 -225 -750 810 -849 983 -525 -288 697 -803 -765 124 -738 425 223 -198 -887 669 -882 -600 -539 849 -614 -816 227 73 -800 -568 -908 -788 -8 -593 -636 -986 -411 663 -416 -300",
3-
"out" : "-1000 -997 -996 -995 -990 -988 -986 -986 -981 -976 -969 -965 -964 -960 -958 -956 -955 -954 -950 -944 -936 -934 -929 -924 -922 -918 -916 -913 -908 -907 -895 -887 -886 -884 -882 -880 -875 -873 -871 -857 -851 -849 -847 -847 -846 -845 -842 -835 -832 -825 -823 -821 -818 -818 -816 -816 -810 -806 -806 -805 -803 -800 -800 -799 -792 -788 -787 -778 -778 -773 -773 -767 -765 -764 -760 -759 -756 -756 -750 -747 -742 -741 -738 -737 -732 -719 -714 -708 -691 -690 -675 -673 -670 -668 -668 -667 -659 -657 -654 -646 -645 -643 -638 -636 -635 -628 -627 -622 -618 -614 -610 -609 -604 -600 -600 -597 -593 -593 -589 -587 -584 -576 -570 -568 -568 -566 -559 -548 -539 -539 -536 -529 -525 -511 -510 -503 -502 -500 -496 -486 -485 -484 -482 -468 -467 -459 -452 -445 -444 -438 -421 -416 -412 -411 -410 -406 -404 -404 -403 -400 -397 -397 -395 -393 -386 -384 -377 -374 -373 -373 -365 -362 -362 -349 -349 -344 -343 -342 -342 -329 -328 -328 -327 -319 -316 -309 -309 -304 -302 -300 -288 -280 -275 -266 -265 -265 -262 -259 -255 -252 -245 -243 -243 -239 -231 -228 -225 -210 -206 -205 -198 -198 -198 -197 -193 -183 -178 -176 -174 -168 -163 -156 -152 -152 -146 -137 -129 -129 -128 -126 -126 -125 -125 -124 -122 -122 -122 -117 -108 -108 -106 -100 -96 -90 -77 -73 -71 -69 -63 -61 -59 -56 -56 -56 -55 -49 -46 -43 -43 -38 -29 -27 -24 -15 -13 -12 -12 -8 -6 -6 -6 -2 0 9 12 13 16 17 26 30 32 40 47 66 73 73 74 77 79 84 87 88 94 97 98 105 107 107 109 115 116 124 128 133 135 138 147 173 179 181 190 191 201 218 223 227 235 249 250 254 259 269 270 271 278 283 291 299 300 303 328 330 331 335 338 343 343 357 372 373 373 376 377 377 380 381 385 387 391 394 401 405 405 409 412 415 417 418 423 425 435 440 448 449 449 452 453 469 471 471 473 476 479 482 483 485 487 487 487 487 498 500 504 506 516 521 523 525 531 531 533 541 546 551 553 563 573 579 580 583 595 600 605 607 617 618 619 621 622 626 628 633 639 652 654 655 657 657 658 658 663 663 665 669 689 691 694 697 699 704 716 717 721 724 729 731 732 737 752 757 761 761 764 766 772 778 779 785 786 792 801 806 808 810 824 831 840 843 843 844 845 849 854 860 869 873 875 877 881 887 891 891 895 909 911 915 916 916 920 922 925 926 928 928 933 936 940 941 948 951 960 961 978 983 984 984 990 993 993 998 <end-of-stdout>\n( vval )\n"
3+
"out" : "-1000 -997 -996 -995 -990 -988 -986 -986 -981 -976 -969 -965 -964 -960 -958 -956 -955 -954 -950 -944 -936 -934 -929 -924 -922 -918 -916 -913 -908 -907 -895 -887 -886 -884 -882 -880 -875 -873 -871 -857 -851 -849 -847 -847 -846 -845 -842 -835 -832 -825 -823 -821 -818 -818 -816 -816 -810 -806 -806 -805 -803 -800 -800 -799 -792 -788 -787 -778 -778 -773 -773 -767 -765 -764 -760 -759 -756 -756 -750 -747 -742 -741 -738 -737 -732 -719 -714 -708 -691 -690 -675 -673 -670 -668 -668 -667 -659 -657 -654 -646 -645 -643 -638 -636 -635 -628 -627 -622 -618 -614 -610 -609 -604 -600 -600 -597 -593 -593 -589 -587 -584 -576 -570 -568 -568 -566 -559 -548 -539 -539 -536 -529 -525 -511 -510 -503 -502 -500 -496 -486 -485 -484 -482 -468 -467 -459 -452 -445 -444 -438 -421 -416 -412 -411 -410 -406 -404 -404 -403 -400 -397 -397 -395 -393 -386 -384 -377 -374 -373 -373 -365 -362 -362 -349 -349 -344 -343 -342 -342 -329 -328 -328 -327 -319 -316 -309 -309 -304 -302 -300 -288 -280 -275 -266 -265 -265 -262 -259 -255 -252 -245 -243 -243 -239 -231 -228 -225 -210 -206 -205 -198 -198 -198 -197 -193 -183 -178 -176 -174 -168 -163 -156 -152 -152 -146 -137 -129 -129 -128 -126 -126 -125 -125 -124 -122 -122 -122 -117 -108 -108 -106 -100 -96 -90 -77 -73 -71 -69 -63 -61 -59 -56 -56 -56 -55 -49 -46 -43 -43 -38 -29 -27 -24 -15 -13 -12 -12 -8 -6 -6 -6 -2 0 9 12 13 16 17 26 30 32 40 47 66 73 73 74 77 79 84 87 88 94 97 98 105 107 107 109 115 116 124 128 133 135 138 147 173 179 181 190 191 201 218 223 227 235 249 250 254 259 269 270 271 278 283 291 299 300 303 328 330 331 335 338 343 343 357 372 373 373 376 377 377 380 381 385 387 391 394 401 405 405 409 412 415 417 418 423 425 435 440 448 449 449 452 453 469 471 471 473 476 479 482 483 485 487 487 487 487 498 500 504 506 516 521 523 525 531 531 533 541 546 551 553 563 573 579 580 583 595 600 605 607 617 618 619 621 622 626 628 633 639 652 654 655 657 657 658 658 663 663 665 669 689 691 694 697 699 704 716 717 721 724 729 731 732 737 752 757 761 761 764 766 772 778 779 785 786 792 801 806 808 810 824 831 840 843 843 844 845 849 854 860 869 873 875 877 881 887 891 891 895 909 911 915 916 916 920 922 925 926 928 928 933 936 940 941 948 951 960 961 978 983 984 984 990 993 993 998 <end-of-stdout>\n( VV )\n"
44
}

test/slowsum.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"in" : "65535",
3-
"out" : "<end-of-stdout>\n( ival 2147450880 )\n"
3+
"out" : "<end-of-stdout>\n( IV 2147450880 )\n"
44
}

0 commit comments

Comments
 (0)