[Prev][Next][Index][Thread]
Re: Harlequin 1.2 still available?
Maury Markowitz wrote in message
<61N_4.21909$dK2.597373@news20.bellglobal.com>...
>"Scott McKay" <swm@mediaone.net> wrote in message
>Rhv_4.37850$Ft1.1955916@typhoon.ne.mediaone.net">news:Rhv_4.37850$Ft1.1955916@typhoon.ne.mediaone.net...
>
>> During active development, you can set the compilation mode
>> to a "looser" mode in which, when you do Project->Build, the
>> compiler figures out which things have changes and compiles
>> just those things and any downstream things that might be
>> affected. This can greatly improve the compilation time for
>> Project->Build.
>
> Forgive the stupid question: isn't this how all make systems work?
'make' systems generally have a compilation granularity of a single
file. Dylan's unit of compilation, by the definition in the language, is
an entire library. This allows, e.g., optimizations across an entire
library rather than within a single file in the library. Thus, the default
compilation mode is a library, that is, all the files in the libary. In
"loose" mode, the compiler tries to do less work, but also does less
optimization.
>> and the do Project->Start. Play with your project for a while,
>> then use the Application->Pause to pause it. You can now go
>> into the editor, modify a method, and recompile just that one
>> method. If you are using Emacs-mode, just type control-shift-C
>> to do this. The recompiled method will get compiled and uploaded
>> into the running application, and the application will run with the
>> new method.
>
> Ahhh, Link-n-Go, the mysterious vanishing feature. Cool, I didn't know
>the Dylan systems offered this.
>
>> - The code generated for loose mode compilation is a little
>> slower than tight mode compilation
>
> That seems odd - isn't this just a message to the runtime to move some
>pointers? Why is the generated code different?
In loose mode, the compiler can do fewer optimizations, because
the type system is treated a bit more loosely.
>> Even with the above provisos, I believe you will find that being
>> able to do interactive compilation will increase your productivity
>> radically.
>
> For sure, I've been asking for this one in Obj-C for a while now. Not
>trivial to implement, but doable, as Dylan demonstrates.
Definitely not trivial.
Here's a feature I really like in Fun-O Dylan. Build a project, then
open one of the files in the editor. Click right on the name of a function
of a class, and select something like "Edit Methods" for a function, or
"Edit Superclasses" for a class, and watch what happens.
References: