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

Reply via email to