guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Common Lisp ontop of guile


From: Nala Ginrut
Subject: Re: Common Lisp ontop of guile
Date: Tue, 20 May 2014 10:06:53 +0800

hi Stefan! Thanks for the reply!
Please let me share some ideas:

2014年5月20日 上午4:36于 "Stefan Israelsson Tampe" <address@hidden>写道:

>
> Hi, I saw on irc that nalginrut was dreaming of implementing common lisp ontop of guile
> I have spent some time thinking on that and came to the following conclusions.
>
> 1. Common lisp symbolic treatment and guile's syntax system does not mix well.

I see, but if someone want to do a serious hack for CL compiler on Guile, a simple(maybe naive) mind to translate AST of CL to tree-il and pray for the heaven is obvious insufficient. :–)
So one has to customize the backend for CL properly.

> 2. If we want to reuse CL code we will find out that the it produces tons of tagbodies. 
> This can't be directly implemented by letrecs but delimeted continuations is needed. And with those it is somemwhat fuzzy how well optimized the code will become e.g. there is a risk of slow tagbodies. On the other hand doing an implementation of CL might challange the guile hackers to produce an even better optimizer. So tagbodies is doabale and I have code that does them.

Yes I agreed. I have to point out that we can hardly expect Guile core provides generic solution for various languages, which means the frontend hacker has to consider to produce better optimizer with the tools Guile provided (CPS,DCE,CSE...). Maybe the original tools is not suit(?), and one has to write new one.

...

> I'm sure I've mised many points but at least these thoughts might initiate a discussion.
>

I'm hacking on guile-lua these days, when it's done, I may have some experiences on frontend. Lua seems relatively easier than CL situation. But it's hard when you want it to be full compatible with the original one.

Any comments? :)

> Cheers!
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]