{"push_id":1877138948,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7f48d6499c0587c5f520fccc6596ab0ea0265b12","before":"82796a6ac805872b7e437d7f06d122cc60158ee6","commits":[{"sha":"7f48d6499c0587c5f520fccc6596ab0ea0265b12","author":{"name":"Marko Grdinić","email":"2362e7af1bb01bbf90d06a38fc4ad7b04f3f3830@gmail.com"},"message":"```\ninl tuple2_cps a b s ret =\n    a s <| function\n        | .Succ, a ->\n            b s <| function\n                | .Succ, b -> ret (.Succ, (a, b))\n                | x -> ret x\n                : List (a_ty, b_ty)\n        | x -> ret x\n        : List (a_ty, b_ty)\n```\n\nI am in deep shit. Where will I get a_ty and b_ty from.\n\nThis feels beyond my ability to type. For a real programming language, I guess unidirectional type propagation will not cut it. This convinces me.\n\nhttp://www.cs.utexas.edu/~wcook/tutorial/\nTutorial on Online Partial Evaluation\n\nI guess I will study partial evaluation a bit.\n\nThis is so disappointing. I think I managed the online partial evaluation aspect of the language very well, but the rest not so much.\n\nBy necessity Spiral is going to have to become a more conventional ML variant. Though at this point, I am seriously considering investigating the staging capabilities of Scala and Ocaml. In my defense I've only known what staging is for like 1.5 months now which is quite recent by my measure.\n\nI won't be able to pass around type level strings, but the way I will get my expressiveness instead is using DUs. And since the schemas will be statically known, I'll be able to optimize them away at compile time.","distinct":true,"url":"https://api.github.com/repos/mrakgr/Multi-armed-Bandit-Experiments/commits/7f48d6499c0587c5f520fccc6596ab0ea0265b12"}]}
{"actor":{"display_login":"mrakgr"}}