<!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>