diff --git a/joy/gui/default_joy_home/definitions.txt b/joy/gui/default_joy_home/definitions.txt index 97e2cae..635ab69 100644 --- a/joy/gui/default_joy_home/definitions.txt +++ b/joy/gui/default_joy_home/definitions.txt @@ -1,17 +1,49 @@ -see_stack == good_viewer_location open_stack -see_resources == list_resources good_viewer_location open_viewer -open_resource_at_good_location == good_viewer_location open_resource -see_log == "log.txt" open_resource_at_good_location -see_definitions == "definitions.txt" open_resource_at_good_location -round_to_cents == 100 * ++ floor 100 / -reset_log == "del log.lines[1:] ; log.at_line = 0" evaluate -see_menu == "menu.txt" good_viewer_location open_resource -# Ordered Binary Tree datastructure functions. -BTree-new == swap [[] []] cons cons - _BTree-P == over [popop popop first] nullary - _BTree-T> == [cons cons dipdd] cons cons cons infra - _BTree-T< == [cons cons dipd] cons cons cons infra - _BTree-E == pop swap roll< rest rest cons cons - _BTree-recur == _BTree-P [_BTree-T>] [_BTree-E] [_BTree-T<] cmp -BTree-add == [popop not] [[pop] dipd BTree-new] [] [_BTree-recur] genrec +round_to_cents == 100 * ++ floor 100 / + + +Ordered Binary Tree datastructure functions. + +fourth == rest_two rest first +?fourth == [] [fourth] [] ifte +first_two == uncons uncons pop +ccons == cons cons +cinf == cons infra +rest_two == rest rest + +_Tree_T> == [dipd] cinf +_Tree_T< == [dipdd] cinf + +_Tree_add_P == over [popop popop first] nullary +_Tree_add_T> == ccons _Tree_T< +_Tree_add_T< == ccons _Tree_T> +_Tree_add_Ee = = pop swap roll< rest_two ccons +_Tree_add_R == _Tree_add_P [_Tree_add_T>] [_Tree_add_Ee] [_Tree_add_T<] cmp +_Tree_add_E == [pop] dipd Tree-new + +_Tree_iter_order_left == [cons dip] dupdip +_Tree_iter_order_current == [[F] dupdip] dip +_Tree_iter_order_right == [fourth] dip i +_Tree_iter_order_R == _Tree_iter_order_left _Tree_iter_order_current _Tree_iter_order_right + +_Tree_get_P == over [pop popop first] nullary +_Tree_get_T> == [fourth] dipd i +_Tree_get_T< == [third] dipd i +_Tree_get_E = = popop second +_Tree_get_R == _Tree_get_P [_Tree_get_T>] [_Tree_get_E] [_Tree_get_T<] cmp + +_Tree_delete_rightmost == [?fourth] [fourth] while +_Tree_delete_clear_stuff = = roll> popop rest +_Tree_delete_del == dip cons dipd swap +_Tree_delete_W == dup _Tree_delete_rightmost first_two over +_Tree_delete_E.0 == _Tree_delete_clear_stuff [_Tree_delete_W] _Tree_delete_del +_Tree_delete_E == [[[pop third not] pop fourth] [[pop fourth not] pop third] [[_Tree_delete_E.0] cinf]] cond +_Tree_delete_R0 = = over first swap dup +_Tree_delete_R1 == cons roll> [_Tree_T>] [_Tree_delete_E] [_Tree_T<] cmp + +Tree-new == swap [[] []] ccons +Tree-add == [popop not] [_Tree_add_E] [] [_Tree_add_R] genrec +Tree-iter == [not] [pop] roll< [dupdip rest_two] cons [step] genrec +Tree-iter-order == [not] [pop] [dup third] [_Tree_iter_order_R] genrec +Tree-get == [pop not] swap [] [_Tree_get_R] genrec +Tree-delete == [pop not] [pop] [_Tree_delete_R0] [_Tree_delete_R1] genrec \ No newline at end of file diff --git a/joy/gui/default_joy_home/scratch.txt b/joy/gui/default_joy_home/scratch.txt index 68a1935..2903d58 100644 --- a/joy/gui/default_joy_home/scratch.txt +++ b/joy/gui/default_joy_home/scratch.txt @@ -57,64 +57,3 @@ Misc stuncons stununcons swaack void - - -[ ] Add logging? -[ ] INI file? -[ ] definitions.txt -[ ] Integrate inference -[ ] command to (re-)run with trace -[ ] Backtime button? - - ------------------------------------------- -[23 18] [unit i] - -sqr foo == uncons mul - - swaack - - over [[[neg] dupdip sqr 4] dipd * * - sqrt pm] dip 2 * [/] cons app2 - -5 sqrt 2 / 0.5 + -5 sqrt 1 + 2 / -phi == 5 sqrt ++ 2 / -phi == 1.618033988749895 -(But this is Lambda Abstaction sneaking in the back door.) -= -clear - -(n1 n2 -- ☯) - -2018 20 18 20 23 0.5 -472 83 / -7 -100 - -100 * floor 100 / show_log - -[2 3] [swap truediv] infra - -dup infra key_bindings divmod - - 1 [dup 1 <<] make_generator 23 [x popd] times first - -mcc91 == [100 >] [10 -] [11 + mcc91 mcc91] ifte - == [100 >] [10 -] [11 + [mcc91] [mcc91] b] ifte - == [100 >] [10 -] [11 + [mcc91] dup b] ifte -mcc91 == [100 >] [10 -] [11 +] [dup b] genrec - -279841 20 20 20 202318 279841 279841 27984127984120202318 - -inscribe - -round_to_cents == 100 * ++ floor 100 / - - - [12 18] [[pm] infra] make_generator - - [12 18] [[[+] [3 /] fork popopdd] infra] make_generator - - [stack] [pop] while - - - diff --git a/joy/gui/default_joy_home/thun.config b/joy/gui/default_joy_home/thun.config index b7403fc..503287e 100644 --- a/joy/gui/default_joy_home/thun.config +++ b/joy/gui/default_joy_home/thun.config @@ -13,41 +13,3 @@ = pop = i - -[Definitions] -of = swap at -product = 1 swap [*] step -flatten = [] swap [concat] step -quoted = [unit] dip -unquoted = [i] dip -enstacken = stack [clear] dip -? = dup truthy -disenstacken = ? [uncons ?] loop pop -dinfrirst = dip infra first -nullary = [stack] dinfrirst -unary = nullary popd -binary = nullary [popop] dip -ternary = unary [popop] dip -pam = [i] map -run = [] swap infra -sqr = dup mul -size = 0 swap [pop ++] step -fork = [i] app2 -cleave = fork [popd] dip -average = [sum 1.0 *] [size] cleave / -gcd = 1 [tuck modulus dup 0 >] loop pop -least_fraction = dup [gcd] infra [div] concat map -*fraction = [uncons] dip uncons [swap] dip concat [*] infra [*] dip cons -*fraction0 = concat [[swap] dip * [*] dip] infra -down_to_zero = [0 >] [dup --] while -range_to_zero = unit [down_to_zero] infra -anamorphism = [pop []] swap [dip swons] genrec -range = [0 <=] [1 - dup] anamorphism -while = swap [nullary] cons dup dipd concat loop -dupdipd = dup dipd -primrec = [i] genrec -step_zero = 0 roll> step -codireco = cons dip rest cons -make_generator = [codireco] ccons -ifte = [nullary not] dipd branch - diff --git a/joy/gui/init_joy_home.py b/joy/gui/init_joy_home.py index 8c2f311..691cba3 100644 --- a/joy/gui/init_joy_home.py +++ b/joy/gui/init_joy_home.py @@ -27,7 +27,7 @@ def create_data(from_dir='./default_joy_home'): Z = zipfile.ZipFile(StringIO.StringIO(base64.decodestring('''\ -UEsDBBQAAAAAAKW29EyLEfLTUQgAAFEIAAALAAAAc2NyYXRjaC50eHRyZXNldF9sb2cgd29yZHMg +UEsDBBQAAAAAAJKh9Uw/yHAgFQQAABUEAAALAAAAc2NyYXRjaC50eHRyZXNldF9sb2cgd29yZHMg bW91c2VfYmluZGluZ3Mga2V5X2JpbmRpbmdzCgpTdGFjayBDaGF0dGVyCgogZHVwIGR1cGQgZHVw ZGQgb3ZlciB0dWNrCiBwb3AgcG9wZCBwb3BkZCBwb3BvcCBwb3BvcGQgcG9wb3BkZAogc3dhcCBy b2xsPCByb2xsPiByb2xsZG93biByb2xsdXAgCiB1bml0IGNsZWFyCgpNYXRoCgogYWRkICsgc3Vi @@ -46,78 +46,57 @@ cyB1bmNvbnMgc3dvbnMgdW5zd29ucwogY29uY2F0IHVuaXF1ZQogcmVtb3ZlCiBhdCBvZiBwaWNr CiB1bnF1b3RlZCBxdW90ZWQKCk1pc2MKCiBkb3duX3RvX3plcm8gY21wIGdjZCBoZWxwIGlkIAog bGVhc3RfZnJhY3Rpb24gcGFyc2UgcXVvdGVkCiByYW5nZSByYW5nZV90b196ZXJvCiByZXNldF9s b2cgIHNob3dfbG9nCiBydW4gCiBzdHVuY29ucyBzdHVudW5jb25zCiBzd2FhY2sgCiB2b2lkICAg -ICAKCgpbIF0gQWRkIGxvZ2dpbmc/ClsgXSBJTkkgZmlsZT8KWyBdIGRlZmluaXRpb25zLnR4dApb -IF0gSW50ZWdyYXRlIGluZmVyZW5jZQpbIF0gY29tbWFuZCB0byAocmUtKXJ1biB3aXRoIHRyYWNl -ClsgXSBCYWNrdGltZSBidXR0b24/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t -LS0tLS0tLS0tClsyMyAxOF0gICBbdW5pdCBpXQoKc3FyICBmb28gPT0gdW5jb25zIG11bAoKIHN3 -YWFjawoKIG92ZXIgW1tbbmVnXSBkdXBkaXAgc3FyIDRdIGRpcGQgKiAqIC0gc3FydCBwbV0gZGlw -IDIgKiBbL10gY29ucyBhcHAyCgo1IHNxcnQgMiAvIDAuNSArCjUgc3FydCAxICsgMiAvCnBoaSA9 -PSA1IHNxcnQgKysgMiAvCnBoaSA9PSAxLjYxODAzMzk4ODc0OTg5NQooQnV0IHRoaXMgaXMgTGFt -YmRhIEFic3RhY3Rpb24gc25lYWtpbmcgaW4gdGhlIGJhY2sgZG9vci4pCj0KY2xlYXIKCihuMSBu -MiAtLSDimK8pCgoyMDE4IDIwIDE4IDIwIDIzIDAuNQo0NzIgODMgLyAtNwoxMDAKCjEwMCAqIGZs -b29yIDEwMCAvICBzaG93X2xvZwoKWzIgM10gW3N3YXAgdHJ1ZWRpdl0gaW5mcmEKCmR1cCBpbmZy -YSBrZXlfYmluZGluZ3MgZGl2bW9kCgogIDEgW2R1cCAxIDw8XSBtYWtlX2dlbmVyYXRvciAgIDIz -IFt4IHBvcGRdIHRpbWVzIGZpcnN0CgptY2M5MSA9PSBbMTAwID5dIFsxMCAtXSBbMTEgKyBtY2M5 -MSBtY2M5MV0gaWZ0ZQogICAgICA9PSBbMTAwID5dIFsxMCAtXSBbMTEgKyBbbWNjOTFdIFttY2M5 -MV0gYl0gaWZ0ZQogICAgICA9PSBbMTAwID5dIFsxMCAtXSBbMTEgKyBbbWNjOTFdIGR1cCBiXSBp -ZnRlCm1jYzkxID09IFsxMDAgPl0gWzEwIC1dIFsxMSArXSBbZHVwIGJdIGdlbnJlYwoKMjc5ODQx -IDIwIDIwIDIwIDIwMjMxOCAyNzk4NDEgMjc5ODQxIDI3OTg0MTI3OTg0MTIwMjAyMzE4CgppbnNj -cmliZQoKcm91bmRfdG9fY2VudHMgPT0gMTAwICogKysgZmxvb3IgMTAwIC8KCgogICAgWzEyIDE4 -XSBbW3BtXSBpbmZyYV0gbWFrZV9nZW5lcmF0b3IKCiAgICBbMTIgMThdIFtbWytdIFszIC9dIGZv -cmsgcG9wb3BkZF0gaW5mcmFdIG1ha2VfZ2VuZXJhdG9yCgogICBbc3RhY2tdIFtwb3BdIHdoaWxl -CgoKClBLAwQUAAAAAABAQfVM5+RkR1EBAABRAQAABwAAAGxvZy50eHRKb3lweSAtIENvcHlyaWdo -dCDCqSAyMDE4IFNpbW9uIEZvcm1hbgpUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZ -IE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyByaWdodC1jbGljayAid2FycmFudHkiLiBUaGlzIGlz -IGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0IHVu -ZGVyIGNlcnRhaW4gY29uZGl0aW9uczsgcmlnaHQtY2xpY2sgInNoYXJpbmciIGZvciBkZXRhaWxz -LiBSaWdodC1jbGljayBvbiB0aGVzZSBjb21tYW5kcyB0byBzZWUgZG9jcyBvbiBVSSBjb21tYW5k -czoga2V5X2JpbmRpbmdzIG1vdXNlX2JpbmRpbmdzCgogPC0KUEsDBBQAAAAAAEFB9Ux3f5peAwAA -AAMAAAAMAAAAc3RhY2sucGlja2xlKHQuUEsDBBQAAAAAAHy09ExY7AlUJgUAACYFAAALAAAAdGh1 -bi5jb25maWcKW2tleSBiaW5kaW5nc10KPEY1PiA9IHN3YXAKPEY2PiA9IGR1cAo8U2hpZnQtRjU+ -ID0gcm9sbDwKPFNoaWZ0LUY2PiA9IHJvbGw+CjxGNz4gPSBvdmVyCjxTaGlmdC1GNz4gPSB0dWNr -CjxGOD4gPSBwYXJzZQo8RjEyPiA9IHdvcmRzCjxGMT4gPSByZXNldF9sb2cgc2hvd19sb2cKPEVz -Y2FwZT4gPSBjbGVhciByZXNldF9sb2cgc2hvd19sb2cKPENvbnRyb2wtRGVsZXRlPiA9IHBvcAo8 -Q29udHJvbC1pPiA9IGkKCgpbRGVmaW5pdGlvbnNdCm9mID0gc3dhcCBhdApwcm9kdWN0ID0gMSBz -d2FwIFsqXSBzdGVwCmZsYXR0ZW4gPSBbXSBzd2FwIFtjb25jYXRdIHN0ZXAKcXVvdGVkID0gW3Vu -aXRdIGRpcAp1bnF1b3RlZCA9IFtpXSBkaXAKZW5zdGFja2VuID0gc3RhY2sgW2NsZWFyXSBkaXAK -PyA9IGR1cCB0cnV0aHkKZGlzZW5zdGFja2VuID0gPyBbdW5jb25zID9dIGxvb3AgcG9wCmRpbmZy -aXJzdCA9IGRpcCBpbmZyYSBmaXJzdApudWxsYXJ5ID0gW3N0YWNrXSBkaW5mcmlyc3QKdW5hcnkg -PSBudWxsYXJ5IHBvcGQKYmluYXJ5ID0gbnVsbGFyeSBbcG9wb3BdIGRpcAp0ZXJuYXJ5ID0gdW5h -cnkgW3BvcG9wXSBkaXAKcGFtID0gW2ldIG1hcApydW4gPSBbXSBzd2FwIGluZnJhCnNxciA9IGR1 -cCBtdWwKc2l6ZSA9IDAgc3dhcCBbcG9wICsrXSBzdGVwCmZvcmsgPSBbaV0gYXBwMgpjbGVhdmUg -PSBmb3JrIFtwb3BkXSBkaXAKYXZlcmFnZSA9IFtzdW0gMS4wICpdIFtzaXplXSBjbGVhdmUgLwpn -Y2QgPSAxIFt0dWNrIG1vZHVsdXMgZHVwIDAgPl0gbG9vcCBwb3AKbGVhc3RfZnJhY3Rpb24gPSBk -dXAgW2djZF0gaW5mcmEgW2Rpdl0gY29uY2F0IG1hcAoqZnJhY3Rpb24gPSBbdW5jb25zXSBkaXAg -dW5jb25zIFtzd2FwXSBkaXAgY29uY2F0IFsqXSBpbmZyYSBbKl0gZGlwIGNvbnMKKmZyYWN0aW9u -MCA9IGNvbmNhdCBbW3N3YXBdIGRpcCAqIFsqXSBkaXBdIGluZnJhCmRvd25fdG9femVybyA9IFsw -ID5dIFtkdXAgLS1dIHdoaWxlCnJhbmdlX3RvX3plcm8gPSB1bml0IFtkb3duX3RvX3plcm9dIGlu -ZnJhCmFuYW1vcnBoaXNtID0gW3BvcCBbXV0gc3dhcCBbZGlwIHN3b25zXSBnZW5yZWMKcmFuZ2Ug -PSBbMCA8PV0gWzEgLSBkdXBdIGFuYW1vcnBoaXNtCndoaWxlID0gc3dhcCBbbnVsbGFyeV0gY29u -cyBkdXAgZGlwZCBjb25jYXQgbG9vcApkdXBkaXBkID0gZHVwIGRpcGQKcHJpbXJlYyA9IFtpXSBn -ZW5yZWMKc3RlcF96ZXJvID0gMCByb2xsPiBzdGVwCmNvZGlyZWNvID0gY29ucyBkaXAgcmVzdCBj -b25zCm1ha2VfZ2VuZXJhdG9yID0gW2NvZGlyZWNvXSBjY29ucwppZnRlID0gW251bGxhcnkgbm90 -XSBkaXBkIGJyYW5jaAoKUEsDBBQAAAAAAEK0k0yW6MvDbQMAAG0DAAAPAAAAZGVmaW5pdGlvbnMu -dHh0c2VlX3N0YWNrID09IGdvb2Rfdmlld2VyX2xvY2F0aW9uIG9wZW5fc3RhY2sKc2VlX3Jlc291 -cmNlcyA9PSBsaXN0X3Jlc291cmNlcyBnb29kX3ZpZXdlcl9sb2NhdGlvbiBvcGVuX3ZpZXdlcgpv -cGVuX3Jlc291cmNlX2F0X2dvb2RfbG9jYXRpb24gPT0gZ29vZF92aWV3ZXJfbG9jYXRpb24gb3Bl -bl9yZXNvdXJjZQpzZWVfbG9nID09ICJsb2cudHh0IiBvcGVuX3Jlc291cmNlX2F0X2dvb2RfbG9j -YXRpb24Kc2VlX2RlZmluaXRpb25zID09ICJkZWZpbml0aW9ucy50eHQiIG9wZW5fcmVzb3VyY2Vf -YXRfZ29vZF9sb2NhdGlvbgpyb3VuZF90b19jZW50cyA9PSAxMDAgKiArKyBmbG9vciAxMDAgLwpy -ZXNldF9sb2cgPT0gImRlbCBsb2cubGluZXNbMTpdIDsgbG9nLmF0X2xpbmUgPSAwIiBldmFsdWF0 -ZQpzZWVfbWVudSA9PSAibWVudS50eHQiIGdvb2Rfdmlld2VyX2xvY2F0aW9uIG9wZW5fcmVzb3Vy -Y2UKCiMgT3JkZXJlZCBCaW5hcnkgVHJlZSBkYXRhc3RydWN0dXJlIGZ1bmN0aW9ucy4KQlRyZWUt -bmV3ID09IHN3YXAgW1tdIFtdXSBjb25zIGNvbnMKIF9CVHJlZS1QID09IG92ZXIgW3BvcG9wIHBv -cG9wIGZpcnN0XSBudWxsYXJ5CiBfQlRyZWUtVD4gPT0gW2NvbnMgY29ucyBkaXBkZF0gY29ucyBj -b25zIGNvbnMgaW5mcmEKIF9CVHJlZS1UPCA9PSBbY29ucyBjb25zIGRpcGRdIGNvbnMgY29ucyBj -b25zIGluZnJhCiBfQlRyZWUtRSA9PSBwb3Agc3dhcCByb2xsPCByZXN0IHJlc3QgY29ucyBjb25z -CiBfQlRyZWUtcmVjdXIgPT0gX0JUcmVlLVAgW19CVHJlZS1UPl0gW19CVHJlZS1FXSBbX0JUcmVl -LVQ8XSBjbXAKQlRyZWUtYWRkID09IFtwb3BvcCBub3RdIFtbcG9wXSBkaXBkIEJUcmVlLW5ld10g -W10gW19CVHJlZS1yZWN1cl0gZ2VucmVjClBLAQIUAxQAAAAAAKW29EyLEfLTUQgAAFEIAAALAAAA -AAAAAAAAAACAgQAAAABzY3JhdGNoLnR4dFBLAQIUAxQAAAAAAEBB9Uzn5GRHUQEAAFEBAAAHAAAA -AAAAAAAAAACAgXoIAABsb2cudHh0UEsBAhQDFAAAAAAAQUH1THd/ml4DAAAAAwAAAAwAAAAAAAAA -AAAAAICB8AkAAHN0YWNrLnBpY2tsZVBLAQIUAxQAAAAAAHy09ExY7AlUJgUAACYFAAALAAAAAAAA -AAAAAAC0gR0KAAB0aHVuLmNvbmZpZ1BLAQIUAxQAAAAAAEK0k0yW6MvDbQMAAG0DAAAPAAAAAAAA -AAAAAAC0gWwPAABkZWZpbml0aW9ucy50eHRQSwUGAAAAAAUABQAeAQAABhMAAAAA'''))) +ICAKUEsDBBQAAAAAAEBB9Uzn5GRHUQEAAFEBAAAHAAAAbG9nLnR4dEpveXB5IC0gQ29weXJpZ2h0 +IMKpIDIwMTggU2ltb24gRm9ybWFuClRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkg +Tk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHJpZ2h0LWNsaWNrICJ3YXJyYW50eSIuIFRoaXMgaXMg +ZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQgdW5k +ZXIgY2VydGFpbiBjb25kaXRpb25zOyByaWdodC1jbGljayAic2hhcmluZyIgZm9yIGRldGFpbHMu +IFJpZ2h0LWNsaWNrIG9uIHRoZXNlIGNvbW1hbmRzIHRvIHNlZSBkb2NzIG9uIFVJIGNvbW1hbmRz +OiBrZXlfYmluZGluZ3MgbW91c2VfYmluZGluZ3MKCiA8LQpQSwMEFAAAAAAAQUH1THd/ml4DAAAA +AwAAAAwAAABzdGFjay5waWNrbGUodC5QSwMEFAAAAAAApqH1TNL4a8/sAAAA7AAAAAsAAAB0aHVu +LmNvbmZpZwpba2V5IGJpbmRpbmdzXQo8RjU+ID0gc3dhcAo8RjY+ID0gZHVwCjxTaGlmdC1GNT4g +PSByb2xsPAo8U2hpZnQtRjY+ID0gcm9sbD4KPEY3PiA9IG92ZXIKPFNoaWZ0LUY3PiA9IHR1Y2sK +PEY4PiA9IHBhcnNlCjxGMTI+ID0gd29yZHMKPEYxPiA9IHJlc2V0X2xvZyBzaG93X2xvZwo8RXNj +YXBlPiA9IGNsZWFyIHJlc2V0X2xvZyBzaG93X2xvZwo8Q29udHJvbC1EZWxldGU+ID0gcG9wCjxD +b250cm9sLWk+ID0gaQoKUEsDBBQAAAAAAHOh9UyQUJ4KOgcAADoHAAAPAAAAZGVmaW5pdGlvbnMu +dHh0CnJvdW5kX3RvX2NlbnRzID09IDEwMCAqICsrIGZsb29yIDEwMCAvCgoKT3JkZXJlZCBCaW5h +cnkgVHJlZSBkYXRhc3RydWN0dXJlIGZ1bmN0aW9ucy4KCmZvdXJ0aCA9PSByZXN0X3R3byByZXN0 +IGZpcnN0Cj9mb3VydGggPT0gW10gW2ZvdXJ0aF0gW10gaWZ0ZQpmaXJzdF90d28gPT0gdW5jb25z +IHVuY29ucyBwb3AKY2NvbnMgPT0gY29ucyBjb25zCmNpbmYgPT0gY29ucyBpbmZyYQpyZXN0X3R3 +byA9PSByZXN0IHJlc3QKCl9UcmVlX1Q+ID09IFtkaXBkXSBjaW5mCl9UcmVlX1Q8ID09IFtkaXBk +ZF0gY2luZgoKX1RyZWVfYWRkX1AgPT0gb3ZlciBbcG9wb3AgcG9wb3AgZmlyc3RdIG51bGxhcnkK +X1RyZWVfYWRkX1Q+ID09IGNjb25zIF9UcmVlX1Q8Cl9UcmVlX2FkZF9UPCA9PSBjY29ucyBfVHJl +ZV9UPgpfVHJlZV9hZGRfRWUgPSA9IHBvcCBzd2FwIHJvbGw8IHJlc3RfdHdvIGNjb25zCl9UcmVl +X2FkZF9SID09IF9UcmVlX2FkZF9QIFtfVHJlZV9hZGRfVD5dIFtfVHJlZV9hZGRfRWVdIFtfVHJl +ZV9hZGRfVDxdIGNtcApfVHJlZV9hZGRfRSA9PSBbcG9wXSBkaXBkIFRyZWUtbmV3CgpfVHJlZV9p +dGVyX29yZGVyX2xlZnQgPT0gW2NvbnMgZGlwXSBkdXBkaXAKX1RyZWVfaXRlcl9vcmRlcl9jdXJy +ZW50ID09IFtbRl0gZHVwZGlwXSBkaXAKX1RyZWVfaXRlcl9vcmRlcl9yaWdodCA9PSBbZm91cnRo +XSBkaXAgaQpfVHJlZV9pdGVyX29yZGVyX1IgPT0gX1RyZWVfaXRlcl9vcmRlcl9sZWZ0IF9UcmVl +X2l0ZXJfb3JkZXJfY3VycmVudCBfVHJlZV9pdGVyX29yZGVyX3JpZ2h0CgpfVHJlZV9nZXRfUCA9 +PSBvdmVyIFtwb3AgcG9wb3AgZmlyc3RdIG51bGxhcnkKX1RyZWVfZ2V0X1Q+ID09IFtmb3VydGhd +IGRpcGQgaQpfVHJlZV9nZXRfVDwgPT0gW3RoaXJkXSBkaXBkIGkKX1RyZWVfZ2V0X0UgPSA9IHBv +cG9wIHNlY29uZApfVHJlZV9nZXRfUiA9PSBfVHJlZV9nZXRfUCBbX1RyZWVfZ2V0X1Q+XSBbX1Ry +ZWVfZ2V0X0VdIFtfVHJlZV9nZXRfVDxdIGNtcAoKX1RyZWVfZGVsZXRlX3JpZ2h0bW9zdCA9PSBb +P2ZvdXJ0aF0gW2ZvdXJ0aF0gd2hpbGUKX1RyZWVfZGVsZXRlX2NsZWFyX3N0dWZmID0gPSByb2xs +PiBwb3BvcCByZXN0Cl9UcmVlX2RlbGV0ZV9kZWwgPT0gZGlwIGNvbnMgZGlwZCBzd2FwCl9UcmVl +X2RlbGV0ZV9XID09IGR1cCBfVHJlZV9kZWxldGVfcmlnaHRtb3N0IGZpcnN0X3R3byBvdmVyCl9U +cmVlX2RlbGV0ZV9FLjAgPT0gX1RyZWVfZGVsZXRlX2NsZWFyX3N0dWZmIFtfVHJlZV9kZWxldGVf +V10gX1RyZWVfZGVsZXRlX2RlbApfVHJlZV9kZWxldGVfRSA9PSBbW1twb3AgdGhpcmQgbm90XSBw +b3AgZm91cnRoXSBbW3BvcCBmb3VydGggbm90XSBwb3AgdGhpcmRdIFtbX1RyZWVfZGVsZXRlX0Uu +MF0gY2luZl1dIGNvbmQKX1RyZWVfZGVsZXRlX1IwID0gPSBvdmVyIGZpcnN0IHN3YXAgZHVwCl9U +cmVlX2RlbGV0ZV9SMSA9PSBjb25zIHJvbGw+IFtfVHJlZV9UPl0gW19UcmVlX2RlbGV0ZV9FXSBb +X1RyZWVfVDxdIGNtcAoKVHJlZS1uZXcgPT0gc3dhcCBbW10gW11dIGNjb25zClRyZWUtYWRkID09 +IFtwb3BvcCBub3RdIFtfVHJlZV9hZGRfRV0gW10gW19UcmVlX2FkZF9SXSBnZW5yZWMKVHJlZS1p +dGVyID09IFtub3RdIFtwb3BdIHJvbGw8IFtkdXBkaXAgcmVzdF90d29dIGNvbnMgW3N0ZXBdIGdl +bnJlYwpUcmVlLWl0ZXItb3JkZXIgPT0gW25vdF0gW3BvcF0gW2R1cCB0aGlyZF0gW19UcmVlX2l0 +ZXJfb3JkZXJfUl0gZ2VucmVjClRyZWUtZ2V0ID09IFtwb3Agbm90XSBzd2FwIFtdIFtfVHJlZV9n +ZXRfUl0gZ2VucmVjClRyZWUtZGVsZXRlID09IFtwb3Agbm90XSBbcG9wXSBbX1RyZWVfZGVsZXRl +X1IwXSBbX1RyZWVfZGVsZXRlX1IxXSBnZW5yZWNQSwECFAMUAAAAAACSofVMP8hwIBUEAAAVBAAA +CwAAAAAAAAAAAAAAgIEAAAAAc2NyYXRjaC50eHRQSwECFAMUAAAAAABAQfVM5+RkR1EBAABRAQAA +BwAAAAAAAAAAAAAAgIE+BAAAbG9nLnR4dFBLAQIUAxQAAAAAAEFB9Ux3f5peAwAAAAMAAAAMAAAA +AAAAAAAAAACAgbQFAABzdGFjay5waWNrbGVQSwECFAMUAAAAAACmofVM0vhrz+wAAADsAAAACwAA +AAAAAAAAAAAAtIHhBQAAdGh1bi5jb25maWdQSwECFAMUAAAAAABzofVMkFCeCjoHAAA6BwAADwAA +AAAAAAAAAAAAtIH2BgAAZGVmaW5pdGlvbnMudHh0UEsFBgAAAAAFAAUAHgEAAF0OAAAAAA=='''))) if __name__ == '__main__': diff --git a/joy/gui/main.py b/joy/gui/main.py index 51ab627..1368f4b 100755 --- a/joy/gui/main.py +++ b/joy/gui/main.py @@ -15,6 +15,7 @@ from joy.gui.utils import init_home, argparser, FileFaker args = argparser.parse_args() JOY_HOME = args.joy_home +repo = init_home(JOY_HOME) _log = logging.getLogger(__name__) @@ -25,9 +26,6 @@ logging.basicConfig( ) -repo = init_home(JOY_HOME) - - from joy.gui.textwidget import TextViewerWidget, tk, get_font, TEXT_BINDINGS from joy.gui.world import StackDisplayWorld from joy.library import initialize diff --git a/joy/gui/utils.py b/joy/gui/utils.py index 59c947e..a83657f 100644 --- a/joy/gui/utils.py +++ b/joy/gui/utils.py @@ -55,11 +55,7 @@ def init_repo(repo_dir): repo = Repo.init(repo_dir) import joy.gui.init_joy_home joy.gui.init_joy_home.initialize(repo_dir) - repo.stage([ - fn - for fn in listdir(repo_dir) - if isfile(join(repo_dir, fn)) - ]) + repo.stage([fn for fn in listdir(repo_dir) if isfile(join(repo_dir, fn))]) repo.do_commit('Initial commit.', committer=COMMITTER) return repo