On Wed, Oct 6, 2010 at 12:06 AM, Alpheus Madsen <alpheus.mad...@gmail.com> wrote:
> Having said that, I think I'll avoid the wrath of the Common Lisp > community and just call my new language "Treehouse" (because the > fundamental datastructure is trees :-) and rename sweet-expressions as > "tree expressions" or t-exprs for short. How about using a tree structure for sequences? Basically, a sequence has the following Haskell type: data Seq a = EmptySeq | OneItemSeq a | ConcatenationSeq (Seq a) (Seq a) This has some nice properties, especially with regards to cache oblivious algorithms. An array may trivially present such a tree-based sequence as an interface, and any recursive algorithm that traverses the tree will have good cache oblivious behavior when traversing an array wrapped in such a tree. It also allows better fairness for NUMA archies, since you can toss half the data onto a random NUMA node, and continue processing the other half on the local node. Again, cache-oblivious behavior wins here. > (Technically, my ultimate > goal would be to create a "simplified" Common Lisp, with a simple > core, separate standard libraries for things that would bring the > language up to the CLtL standard, and "declared" standard libraries > for things like sockets, files, etc...so I'd be justified in calling > it by a new name--if I ever get around to it! :-). Don't ever refer it by anything like Common Lisp. I suggest imitating Hickey and design the language a goodly bit before touching lightly on it in c.l.l. ---- Getting back on-topic: I think one old SRFI was "I-expressions". You can try to look at the reference code, although you probably encountered it already on dwheeler's site. I've tried to write some code in I-expression form, but one major problem I had was the fact that I am a compulsive vim user. And vim has the "%" shortcut key which lets me quickly skip from the "(" to the ")" and vice versa. I use it to skip through blocks of the same indentation level - use "%" on the "(" of that level, then quickly "j0" to go to the next level, possibly with a "%" for a further skip. Possibly, this can be alleviated by adding a vim binding which lets you skip through the code by indentation level - basically, keep going down / up until the cursor reaches a line with the same indent or less indent. You may want to consider writing a vim and / or emacs binding for such a key while designing your language. Sincerely, AmkG ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ Readable-discuss mailing list Readable-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/readable-discuss