• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A categorical programming language


Commit MetaInfo

Revisioncfdc50df8ccd27c95c7c38c4644a93c9905653db (tree)
Time2024-04-27 10:16:51
AuthorCorbin <cds@corb...>
CommiterCorbin

Log Message

Make a plan.

I wanted to add rpypkgs, but I effectively can't use it yet.

Change Summary

Incremental Difference

--- a/todo.txt
+++ b/todo.txt
@@ -478,6 +478,8 @@
478478 * Composites -> trees of types
479479 * Trails -> commits
480480 * Note: this means prims can't have trails?
481+ * No, it means that git porcelain can't handle those commits, but
482+ dulwich can emit them, no problem
481483 * Jets -> tags
482484 * Note: This can be used to force jets to not be refactored, e.g. for
483485 constant-time expressions
@@ -487,3 +489,28 @@
487489 * Type signatures -> trees of types
488490 * Submodules -> tree of type signatures?
489491 * Structs -> trees
492+* CHICKEN -> Chez
493+ * Motivation
494+ * Speed: CHICKEN is not super-fast, Chez is quite fast
495+ * Package reliability: CHICKEN is federated into many packages
496+ * Normally this would be a problem for Chez; wherefore packages?
497+ * But Chez has matchable and many SRFIs, so the main thing to find/write
498+ is a miniKanren, and that's a well-studied exercise of <100 LoC
499+ * Don't even have to write that:
500+ https://github.com/michaelballantyne/faster-minikanren/tree/master
501+ * Just spent half an hour fucking around with eggs.nix breakage, very
502+ ready to be done with CHICKEN
503+ * This is the last time egg2nix fucks us over
504+ * Updates: Can't use rpypkgs without bumping nixpkgs, which breaks eggs
505+ * Obstacles
506+ * FFI: CHICKEN's selling point is FFI and C compat
507+ * Might not be a problem for much longer; we're doing FFI in RPython now
508+ * Plan
509+ * Switch bk over to Python 3
510+ * Gives us dulwich instead of libgit2
511+ * Reuse 2to3's guts? Make 2to3 a subcommand of bk
512+ * Switch movelist over to Chez
513+ * Should hopefully be a matter of rewriting imports
514+ * Need to unburden movelist of some of its responsibilities
515+ * REPL should be done somewhere else
516+ * Sampler's REPL is not bad, just bare-bones, no hive support