From: Adrien_"Pied"_Pi$(D+1(Brard <[email protected]> Subject: [r6rs-discuss] Aim of the standards Date: Tue, 8 Sep 2009 21:54:05 +0900
> Perhaps am I deeply misunderstanding the potential of the standard, > but I would expect it to be something designed _to_get_things_done. > And to get things done, I need hashtables. I need sockets (or directly > clients for given protocols). I need to be able to run concurrently > two procedures which may do side effects. I need to read and write > files, to move to the end, rewind to the beginning, and insert text in > the middle. And I need them available immediately. Perhaps that's one possible way a standard can be. But if what you want are those things, you don't need to wait for the standard. You can just pick an implementation today that suits your purpose. If you want to make sure your code to run on several implementations tomorrow, I expect SRFIs will serve the purpose well. Why you need to wait for the language standard with things that may change in a few years? All you need is a common interface (e.g. library API) among several implementations you're using, and adding such interface to each implementation is pretty much top-down (from the implementors of each implementation) once each implementor agrees to implement the suggested APIs. The premise of such common interface is, however, that each implementation speaks the same "language" in more fundamental level: If there're macros, when are they expanded? If I want to use extended character set, how it can be included in the source? The reason I think it important to focus on minimal set is that the problem space is open. Today's daily programming tasks may be obsolete, maybe not tomorrow, but in some years. To follow the moving target of the hot tasks in each period, the "standard" is too heavy. When a new paradigm appears, you don't want to wait for Scheme standard to adopt it, but you want solid building blocks in the standard that can be used *today* to write code in the new paradigm. Python programmers had to wait a new version of the language to use lazy generators. Scheme programmers can make it by themselves using call/cc. That kind of flexibility is what I expect in Scheme. --shiro _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
