Trouble installing Chuck

stéphane ducasse ducasse at iam.unibe.ch
Wed Jun 2 07:35:18 UTC 2004


On 1 juin 04, at 21:13, Lex Spoon wrote:

> =?ISO-8859-1?Q?st=E9phane_ducasse?= <ducasse at iam.unibe.ch> wrote:
>> I read your paper and tried to understand :) Long time ago I read the
>> PhD of Agesen and the master of Garau,
>> but I'm not sure I ever understood :) Anyway the paper is good and I
>> will really have a look at Chuck.
>
> Cool, your feedback is very welcome.  Do let me know if anything seems
> particularly confusing, so I can tweak the presentation.

If you want you can do a rehearsal for the squeakers :)
if you want and scg people are good at giving feedback :)

I think that you will have some interesting discussions with roel 
because
his prolog (SOUL) type engine seems to perform better than yours
so I imagine that you could really collaborate and analyse that 
together.

>> 	- Could we find a better characterisation of the goals to prune?
>> 	I imagine that certain smalltalk constructs or highly polymorphic
>> message sends could be prioritize to be pruned
>> 	first.
> 	
> Yes, there should be a very rich area of exploration here.  I plan to
> work on the pruner in the near future, now that the system as a whole 
> is
> working.
>
>
>> 	- Imagine a Smalltalk variant where we could annotate each AST node
>> with type information, which may be
>> 	wrong or absent. We could type check the code to make sure that there
>> is a kind of coherence between
>> 	the annotation but we could use this information for the inferencer.
>> 	So do you think that this would be worth?
>
> You can do this in Squeak, of course.  Nobody stops you from keeping
> track of some annotations on the variables.
>
> If the types are checked, whether statically or dynamically, then Chuck
> could use them as a source of information.  In particular, if a 
> variable
> v has type T, then Chuck can use T as a bound on whatever type it 
> infers
> internally; even if it ends up pruning the goal "find a type of v", it
> can conclude "v : T" instead of "v : Anything".

Yes

>
> If the types are not checked then I don't know what Chuck could do with
> them.  For better or worse, I've been instisting that Chuck find 
> *sound*
> inferences so long as the program sticks with the core language and 
> does
> not do things like redefine methods.

What is a redefine method?

> Given that assumption, how does
> one use a programmer-supplied approximate type?  In principle it can
> lead to good heuristics, but I don't know of any *specific* place to 
> use
> such information.

Yes I think that annotation should be considered as wrong.

>> 	- Alternately we could also analyze the name of the variable and
>> extract some kind of type information that
>> 	we could correlate with your findings.
> 	
> That would be an interesting experiment.  You could also compare the
> names to types determined by running the program.  For me, with my
> priorities, it will be years before getting around to such an
> experiment, but if you or anyone goes after it I look forward to seeing
> what you find!

It is good to have Chuck and SOUL this will start to giving us some 
ideas
and tools for exploration.

>
> Lex
>




More information about the Squeak-dev mailing list