User loginNavigation |
archivesMeans to Limit or Constrain Side EffectsSimple scenario: I'd like to implement a "copy-string" or "substring" style routine 1) in a language where strings are typically functional; 2) without leaving all such routines to the RTL in another language; 3) without depending on some other inefficient (for these purposes) other RTL functional primitive like "strcat"; or 4) without always relying on using lists as intermediaries for every such low level routine ala "list->string (string->list s)" which again likely relies on non-functional RTL level routines anyway. Same would go for various array initialization routines, supporting constructors for (otherwise functional) Smalltalk style variable sized data structures, and on and on. So I seek papers, sample languages and wisdom on potentially clean language mechanisms and their semantics for allowing side effects, say during string/vector initialization as above or in some other possible scenarios (memoization? dunno), without totally letting the non-functional cat out of the bag, as it were. My interest in this issue is pragmatic (implementing an efficient stdlib/rtl while minimizing code written in a different "lower level" language that would not likely share important properties of the target language) as well as intellectual. Thanks much! Scott! AgileWiki theory/tool outlineAt first the terminology sounded a little crack-pot to me, but I'm less of that opinion after trying to follow-up on AgileWiki and "rolonic" theory. Of late the lead, Bill, has put out some videos explaining things, and I found What Makes AgileWiki Different? to be interesting - there's a dose of theory (rolonic, as they've termed it) which underlies it all, and the spirit is to make languages and development better, hence I thought it not totally inappropriate to mention it on LtU. |
Browse archivesActive forum topics |
Recent comments
22 weeks 4 days ago
22 weeks 4 days ago
22 weeks 4 days ago
44 weeks 5 days ago
49 weeks 9 hours ago
50 weeks 4 days ago
50 weeks 4 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago