From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.devel Subject: Re: GSoC 2011 Date: Thu, 31 Mar 2011 00:09:22 -0400 Message-ID: References: <87oc4vonk9.fsf@gmail.com> <87lizwvu0v.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: dough.gmane.org 1301544575 20502 80.91.229.12 (31 Mar 2011 04:09:35 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 31 Mar 2011 04:09:35 +0000 (UTC) Cc: guile-devel@gnu.org To: "Diogo F. S. Ramos" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Mar 31 06:09:31 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Q59CN-0004QL-44 for guile-devel@m.gmane.org; Thu, 31 Mar 2011 06:09:31 +0200 Original-Received: from localhost ([127.0.0.1]:53014 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q59CM-0001HO-GJ for guile-devel@m.gmane.org; Thu, 31 Mar 2011 00:09:30 -0400 Original-Received: from [140.186.70.92] (port=42786 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q59CF-0001HJ-Nl for guile-devel@gnu.org; Thu, 31 Mar 2011 00:09:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q59CE-0000zL-QZ for guile-devel@gnu.org; Thu, 31 Mar 2011 00:09:23 -0400 Original-Received: from mail-vx0-f169.google.com ([209.85.220.169]:39361) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q59CE-0000zC-Lc for guile-devel@gnu.org; Thu, 31 Mar 2011 00:09:22 -0400 Original-Received: by vxk20 with SMTP id 20so2012702vxk.0 for ; Wed, 30 Mar 2011 21:09:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=2GJWbORT1296DnZlPmfrhJ4eWxbO4rASyM3664DbOv4=; b=nu6Uls1v/9MQltOBm0SoJpzQSiLqyhE3pdbTSPeyLaKxaYY/0ULVH9shsn4+WTyWI0 YXxrhhB/m3DBxzZ/7JeSYZ+tXchO2NppKX8/7GmcD1CPl0rWUiKvhAjw8RcVVKbG8jBF 8BFgCAjhJCDm6ypNsI/v3qnZXa5rSA+Y/cnJM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=LDVLSRqvj6swSOKACo8TvObYaNYq9AEGNao66+D6zWzR0SSZeYBIGdEuMbBJn3v0sN EV6mfenqQUimPkeXplhTPleoScoC7vdW/MX1uDhM8pWQcNwhMdwMa8ic/A4YnoeYAMbG cBs4LYZHI7UVCX2lDGkRyalTMG7/pdihDOw+k= Original-Received: by 10.52.92.161 with SMTP id cn1mr2872282vdb.253.1301544562243; Wed, 30 Mar 2011 21:09:22 -0700 (PDT) Original-Received: by 10.52.169.231 with HTTP; Wed, 30 Mar 2011 21:09:22 -0700 (PDT) In-Reply-To: <87lizwvu0v.fsf@gmail.com> X-Google-Sender-Auth: Rdiwmak8mwDJwmyqA9rR2soQw8U X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.220.169 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:12108 Archived-At: > Not since the e-mail. I'm still waiting for feedback. I will tell you what I think, then, but keep in mind that many people on this list know a lot more than I do. The first idea is something I think Guile people are very interested in, and you could expect to do significant work, possibly having a working version done, over a summer. I don't know anything about the second one. I will also offer a few more suggestions below simply as things for you to think about, but it would be best if you worked on a project that you personally were excited about, because you will have a better time and you will work better like that. 3. More work on Elisp. There's been a plan for approximately 100 years (ish) to port Emacs to Guile. At the end of last summer, we had an Elisp frontend that contained everything we would need except for the Emacs C code. That's probably changed now, because Emacs is merging a lexical binding branch, but it shouldn't be terribly hard to add support for that to Guile as well. A good project would be adding lexbind support to Guile's Elisp frontend, then getting as much of the Emacs C code as you can ported before the summer ends. 4. A static analyzer. This project has been purely in my own head so far. I had been planning to write an email to the list talking about it at some point, but now this chance has come up, so here's an incomplete introduction: we should have a static analyzing system. It should be set up so the user can ask it to check specific things, or perhaps so that the user can define new analyses easily. For instance, here are some things a user would want to check that a standard compiler might not realize needed checking: - that a specific mutex is always acquired before a certain data structure is modified - that a given function throws one of a certain set of errors - that a given function always returns or throws an error (impossible in general, but very much doable in specific cases) - that a given function returns one of a certain set of Scheme types Bonus points: the analyzer should support both Scheme and C, and the initial use of it should be checking that Guile itself will always work as expected. I have some thoughts on how to implement this without insane amounts of complexity, which I can mention if you are interested. 5. A JIT compiler. This has actually been my project for quite a while, and it has been moving pretty slowly. It would move a lot faster if someone were working on it full time. You would be coming in partway through this project, but there would still be plenty of things to figure out, and of course you could always change some of the earlier decisions I made if they turn out to be bad. What do you think? Is there a project that seems interesting to you? Noah