<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18975">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>Just my own opinion, but over the past three years I've
totally fallen for javascript. I wish chuck were like javascript, with the
addition of the strongly timed incredible chuck VM and timing model!
</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>I've written programs in strongly typed and compiled languages
like Fortran and C, as well as looser languages like
scheme. Javascript and scheme allow me to do almost
anything with very little effort. Add a brilliantly designed library like
jQuery, and one can almost think an idea into code with no effort at
all.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Of course, I'm completely overstating the issue, but I think
that draconian type checking and limited semantics are really not helpful when
all you want to do is get complex ideas into code, focusing more on the idea /
algorithm than on the code / implementation. </FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Just my three cents...</FONT></DIV>
<DIV><FONT size=2>-- Rich</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2>- extremely powerful and expressive. </FONT></DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B>
<A title=signal.automatique@gmail.com
href="mailto:signal.automatique@gmail.com">Kassen</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=chuck-users@lists.cs.princeton.edu
href="mailto:chuck-users@lists.cs.princeton.edu">ChucK Users Mailing List</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, November 09, 2010 4:38
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [chuck-users] Intraspection
- an example of what I'm attempting</DIV>
<DIV><BR></DIV>Andrew, I'm replying to the list to this. I hope that's ok. It
seems to me like this was intended to go to the list as it doesn't seem
especially personal.
<DIV>
<DIV class=gmail_quote>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>
<DIV class=im><BR><BR></DIV>Well, yes, I was referring to Java and C++,
whose object model more<BR>closely matches what Chuck uses than what Scheme
uses. </BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>Yes, so "strongly typed" OO languages. I should have used that word, as
opposed to taking Scheme as a example of something very OO yet not -typically-
strongly typed (you can write strongly typed Scheme if you'd like)</DIV>
<DIV><BR></DIV>
<DIV> </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>If you want to<BR>make Chuck more like Scheme, then that's
a different (and very<BR>interesting) discussion.</BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>Well, no. I like both but I see no need to combine them. I do think that
strategies like returning arrays as a way to enable us to go over trees are
nice and we can get inspired here and there.</DIV>
<DIV><BR></DIV>
<DIV> </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>And I'm not too familiar with the Scheme<BR>community, but
I have a feeling that if you proposed using<BR>introspection when you could
just use polymorphism (or multiple<BR>dispatch, or some other mechanism that
Scheme offers that would<BR>provide a cleaner solution), someone in the
community would probably<BR>point out that there is a better
solution.</BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>In Scheme you'd use "(integer? foo)" to determine whether foo is a
integer; it's no great issue there, but then in Scheme you are far more likely
to encounter objects of a unknown type. Here I am not after any one specific
strategy; I'd just like to be able to tell what kind of thing a object is in
some way and suggested some syntax for that.</DIV>
<DIV><BR></DIV>
<DIV>Of course the underlying issue (situations like swapping a Chorus for a
Reverb) could also be solved in another way, like encapsulating both
objects in a new kind of class that would have a string member telling us the
type. This could be done by extending UGen and allowing us to overload the
chuck operator. A lot of issues that we have could be solved by allowing us to
overload the chuck operator, I suspect.</DIV>
<DIV><BR></DIV>
<DIV> </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>I simply want to encourage<BR>people to look at what
people using other languages (that are similar<BR>to Chuck) have done to try
to solve similar problems and think about<BR>the tradeoffs that they have
observed in those different solutions.<BR>
<DIV class=im><BR></DIV></BLOCKQUOTE>
<DIV>Yes. I think that's a good idea and clearly you know a lot about that.
I'm not sure that any one syntax would need to exclude any given underlying
strategy but we could borrow the syntax as well, if it's nice.</DIV>
<DIV><BR></DIV>
<DIV> </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>I would consider livecoding an extreme example of a quick
script, so I<BR>would say that this is a case where introspection might be a
better<BR>way to get things done.<BR><BR></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>Probably. And things like overloading the chuck operator would be too
cumbersome there. We do have a bit of a odd position in that we have a
statically typed and compiled language that we -amongst other things- want to
use in a way that's more typical for dynamically typed interpreted systems.
It's a bit of a unusual problem, maybe it needs some strange new solutions as
well?</DIV>
<DIV><BR></DIV>
<DIV>Kas.</DIV></DIV></DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>chuck-users mailing
list<BR>chuck-users@lists.cs.princeton.edu<BR>https://lists.cs.princeton.edu/mailman/listinfo/chuck-users<BR></BLOCKQUOTE></BODY></HTML>