On 27/05/2009, at 1:29 PM, Erick Tryzelaar wrote:

>> It would actually be useful to modify flxg so that when you say
>>
>>        flxg std file
>>
>> it compiles "std" right up to the bound symbol table, and then
>> stores it to disk. Next time it just reloads std, already bound.
>> Keep this in mind during REPL development.
>
> Yeah, I noticed that this whole process seems to be working towards
> being able to incrementally handle imported files. It's not that much
> of a leap from incremental binding to just loading a cached bound
> table.

In fact the code for 'renumbering' already exists, after all it is just
a special case of reparenting. You just synthesis a map

        i -> j

and then apply it to everything, and the stuff is relocated.
Some care is needed for non-code such as argument
lists etc, but that is already the case.

The only constraint is that relocatable modules have to be
related with tree-like dependencies. Cross-dependencies
won't work without a new way to specify "external linkage".
>
> I use REPLs a lot with the way I work. With certain problems, I really
> like being able to throw together an algorithm via a REPL, or test out
> a library to see how it works. At work, we make heavy use of maya's
> python interface in which much of the functionality is exposed through
> the python REPL, so it's easy to modify the app via little commands. I
> also think it's a great learning tool. For instance, I learned ocaml
> through the REPL. And while I haven't personally experienced this,
> erlang makes extensive use of it's REPL to control what's going on
> across it's network, and that could be useful for us if we ever do a
> distributed system.

Sure, but what is wrong with typing in a text editor and then
executing the window contents?

Sure it is slightly more hassle to set up, but it solves a lot of
the problems. Ocaml's REPL is cool for one line learning
experiences, but after that it is pretty useless. And it only works
because the entered code goes in a list, and it has hiding.
Felix doesn't, it binds things set-wise, not linearly.

> And finally, I'm having a lot of fun trying to figure out how to do
> it. It's a great way to learn the innards of felix, and good
> preparation for that llvm backend I've been dreaming about :)

if you learn the innard of Felix .. teach me them!
Just cause I wrote a lot of it doesn't mean I understand it.

Some of the representations are vastly too fragile, I get lost
thinking about it. Eg the vs/ts correlation would be better supported
with a bit more structure and abstraction.


--
john skaller
skal...@users.sourceforge.net





------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to