Plans

M. Edward (Ed) Borasky znmeb at cesmail.net
Sat Sep 29 10:32:39 PDT 2007


Tom Novelli wrote:
> Greetings...
> 
> I met up with Fare for another informal planning session 2 weeks ago.  
> (I apologize for the delay; I've spent those 2 weeks trying to make the 
> Commonwealth of Massachusetts live up to its promise of affordable 
> health insurance.  But that's another story!)  Anyway, without further 
> ado, here is a summary of our discussion:
> 
> 
> WEB SITE
> 
> 1. I will upgrade the CMS any day now (and rename it according to RMS's 
> terminology - Website Revision System - which makes more sense to me!)  
> Major changes include WSGI support, simplifications, and integration 
> with the Member List, so any member/lurker can easily edit the website 
> once granted permission.
> 
> 2. Set up a GIT repository for code projects.  (forget DARCS, SVN, 
> Monotone)
> 
> 3. Fare has volunteered to set up UML - UserMode Linux.  Hopefully, this 
> will give us a lot more flexibility while making life easier for Tril.
> 
> 
> CODE PROJECTS
> 
> (What's needed is for a few core members to start something to show 
> we're not all talk)
> 
> 4. Let's declare Common Lisp our "platform of choice" for current 
> development.  We recognize that it's far from ideal, and intend to 
> replace it with The Right Thing eventually.  Meanwhile, at least we can 
> use try out Tunes ideas as we write *useful* programs that run on 
> *existing* systems.
> 
> (a) Write a short guide on getting started with CL quickly and 
> painlessly (short short version: install Debian/Ubuntu; install sbcl, 
> emacs21, slime, cua.el)  I'll do this since I'm new to CL.
> 
> (b) Add PLT-style embedding of different syntaxes, to make CL attractive 
> to people like me who hate its syntax [see DrScheme, DrPython]
> 
> (c) Add a "compembler" [see Movitz]
> 
> (d) Add Erlang-style concurrency, Software Transactional Memory 
> (essentially a language-independent version of SQL transactions), 
> Algebraic Data Types, and so on... (see item #6 below)
> 
> 5. Take a thorough look at the following projects to see what we can 
> learn/borrow from them, or add to them:
> 
> - Movitz (a Lisp OS)
> - POP-11 (an old multi-paradigm language system)
> - McCLIM (a Lisp user interface system *similar* to Tunes UI ideas)
> - PLT Scheme (with its innovative IDE) and related work
> 
> 6. Begin preparations for Google SoC 2008.  For starters, see Fare's 
> term project proposals 
> [http://fare.tunes.org/computing/term-project-proposal.html]
> 
> 
> RESEARCH / BRAINSTORMING
> 
> 7. Imagine a future Internet with standardized content-addressable 
> storage, decentralized name lookup, a meaningful concept of identity, 
> peer-to-peer wireless mesh networks, or whatever innovations you can 
> think of.  In that context, address the "Tunes Distributed Publishing" 
> problem...
> 
> 
> Anyway, that's my take.  Fare may have something to add.  Comments most 
> welcome.

About the platform -- Common Lisp? Why not Gambit Scheme? You get:

1. Scheme, of course, both compiled and interpreted
2. Termite -- Erlang-style concurrency embedded in Scheme.

I don't know how efficient Gambit is relative to the other C-based 
Scheme implementations, although I think it's slightly slower than 
Chicken on average. It's probably more efficient than SBCL, though -- 
doesn't SBCL compile to bytecode rather than real code or C?

Or -- since you're "borrowing" from PLT Scheme, why not just use PLT Scheme?

But then, if it must be Common Lisp for some reason, SBCL is clearly the 
one to use.

On the OS -- Debian is OK for me, although I prefer Gentoo. I don't like 
Ubuntu -- never have and never will. I'd even pick Fedora over Ubuntu.

By the way, since you haven't asked, what am *I* currently working on? :)

1. I've got a dual-core 4 GB Athlon64 X2 and I'm using AMD's 
"CodeAnalyst" to tune the Ruby interpreter on it. It's no great 
difficulty to install Gambit, Dr Scheme and SBCL (they're all in Gentoo 
and up to date) and profile them as well.

2. When that's done, I'm going to build a Markov chain analyzer in pure 
Ruby. Speaking of Summer of Code, one of the Ruby projects this year was 
some more matrix routines, and that's exactly what I needed to build this.


> 
> - Tom
> 
> 



More information about the TUNES mailing list