I see, yes.  Would this essentially give us something like a
dynamically typed Chuck?  I would love that...  but I think that we're
going to get serious resistance from the devs on this one.  I think
you're right, though.  If we had a better type system, then none of
this kind of stuff would be such a hurdle to get over.<br><br>I personally, really appreciate what LiCK does for Chuck, but I think it's a lot of boiler plate to write, when having a more flexible language implementation / type system would allow us to avoid all that.<br>
<br>-mike<br> 
<br><br>On Sun, Jan 10, 2010 at 5:34 PM, Hans Aberg <span dir="ltr"><<a href="mailto:haberg@math.su.se">haberg@math.su.se</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On 10 Jan 2010, at 22:38, mike clemow wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

You are sort of reinventing the wheel, or at least (Standard) ML, here. See<br>
 <a href="http://en.wikipedia.org/wiki/Standard_ML" target="_blank">http://en.wikipedia.org/wiki/Standard_ML</a><br>
 <a href="http://en.wikipedia.org/wiki/ML_%28programming_language%29" target="_blank">http://en.wikipedia.org/wiki/ML_(programming_language)</a><br>
</blockquote>
<br>
 We're not reinventing the wheel so much as exploring how certain features might be added to the Chuck language--features that appear in many other languages (JavaScript, Haskell, Python, and ML too).  I mean, LISP did this stuff before any of the others...<br>

</blockquote>
<br></div>
I just meant that the things you are experimenting with have already been done - there would be problem to add it. Easier. :-) </blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
One needs to figure out how to add a type system. But if one scraps the Hindley-Milner type system, at least in the global form it appears in SML and Haskell, there would be less of a problem.</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I think it's great to look at the way other languages do things as examples, but we're not about to re-make the Chuck system using Haskell syntax or LISP, or ML.  It's highly likely that Chuck will get new features, but the ones it gets will be the ones that seem most important to the devs and the community, I suppose.<br>

</blockquote>
<br></div>
Sorry, I treated the actual syntax as irrelevant - it should of course be ChucKish, but what works can be found out when plugging into the .y grammar file. So I thought of x |-> f or \x -> f or fn x => f or (lambda x f) as merely different ways to say the same thing.<br>

<br>
One can in Haskell use a syntax closer to your:<div class="im"><br>
  bing :: Num a => a -> a -> a<br></div>
  bing b = funk<br>
    where funk i = b + i<br>
It says essentially the same as<div class="im"><br>
  fun fun int bing(int b) {<br>
     fun int funk(int i) { return b+i; }<br>
     return funk;<br>
  }<br></div>
though strictly speaking, the return type is "fun int (int)" or something.<br>
<br>
The problem is probably not adding functions as objects, but finding a good type system, especially when polymorphy is added.<div><div></div><div class="h5"><br>
<br>
  Hans<br>
<br>
<br>
_______________________________________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><a href="http://michaelclemow.com">http://michaelclemow.com</a><br><a href="http://semiotech.org">http://semiotech.org</a><br><br>