[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

data structure in LL




  > Date: Mon, 10 Dec 2001 09:19:31 -0800 (PST)
  > From: Morgan McGuire <morgan3d@yahoo.com>

  > Before I met Python, Matlab was my scripting language of choice. 
  > Recalling this leads me to new definition of lightweight language, or
  > at least "scripting language"...
  > 
  > A lightweight language has one data structure and uses it well.
  > 
  > Perl, TCL - String
  > Python, Scheme - List
  > Matlab - Matrix
  > 
  > All of these (well, I don't actually know TCL and Perl) offer other
  > data types, but if you use the predominant data type things go much
  > more smoothly.  The key is that when there is one form of I/O, you can
  > hook lots of things together easily.  As pointed out at the conference,
  > this trades short term ease of use against long-term maintainability.

1. For Scheme, I would say S-expression because people may think
   "homogeneous list" if you don't. 

2. The classification also gives rise to an interesting semantic
   comparison: 

   how much structure do you get from the dominant data structure? 
   or conversely, how much effort is it to extract values from the 
   data structure? 

   If you use strings, you need parsing to get to the same point 
   as S-expressions. 

   I suggest that this implies Scheme's has more LL-power than Perl. 

3. Conjecture: Perl will eventually have S-expressions, too. 
   They are more important than continuations. 

4. Question: Is Matlab's matrix type heterogeneous? If so, that would
   explain a lot, but other posters imply that it's a badly implemented
   matrix calculus, so my guess is "it doesn't matter." 

-- Matthias