From: Chad Perrin Date: 2011-03-31T08:24:45+09:00 Subject: Re: Lambda Shambda --fdj2RfSjLxBAspz7 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Mar 31, 2011 at 12:19:25AM +0900, Robert Klemme wrote: > On Wed, Mar 30, 2011 at 4:49 PM, Chad Perrin wrote: > > > > Are you saying that you're creating some kind of stand-alone variant > > of VBA (which is what Excel uses for macros), or are you saying that > > you use a spreadsheet application to write "programs" and call it S# > > to confuse people (in which case it worked on me)? =A0I'm frankly > > appalled at the idea of people writing "programs" in Excel; it's > > three metric tons of VM-like overhead to produce "software" that is > > necessarily far too limited to even have bothered. >=20 > I believe he means that Excel is a processor for dependent formulas > which, by virtue of update event propagation, gives you instantaneous > value updates in all relevant places. Option 2, then. > > > > If you want a simple, nominally-functional language, try Scheme. > > =A0Just don't expect getting "real world" work done to be very easy as > > long as the community's internal differences of opinion over what > > constitutes good language design or how to define "compatible" > > continue. =A0Scheme is in effect a great learning language, for now, > > but not very useful in the real world unless you're willing to write > > your own libraries -- but you seem interested in experimenting with > > functional programming from what you said, rather than having an > > industrial-strength, practical programming tool, so maybe that's > > okay. >=20 > I'd like to throw in Scala here. Although it's not complete yet as a > language there are some interesting concepts (including functional) - > and you can use the wealth of libraries available for the JVM. >=20 > http://www.scala-lang.org/ I have heard good things about both Scala and Clojure, though they both suffer the limitation of requiring the JVM. I plan to give them both a look this year, as well as Haskell, but have not gotten around to it yet. > > > > I'm pretty sure nobody is talking about the parallel programming > > advantages of VBA, either inside Excel or outside of it. >=20 > I don't know how Excel works internally but it is completely possible > that evaluation updates are calculated in parallel. This is possible > because Excel knows all the value dependencies between cells. Oh, I'm sure it does -- but Excel is not a programming language, so I'm not sure it's meaningful to say that Excel's features as a functional programming language provide any parallelism benefits. > Which brings me to something I have been wanting to ask: is there > something like a gem containing a DSL for such descriptions? I imagine > building dependency graphs (trees for the start) of tasks where output > of several other tasks can be fed into a task. That then would make > parallel execution pretty easy. I'm curious about that as well, now. > > > > Maybe you'd like working with a database management system that > > offers some kind of stored procedures or triggered functions > > capabilities more. Excel is to DBMSes as those old Power Wheels toys > > are to actual cars, after all: > > > > =A0 =A0http://www.fisher-price.com/us/powerwheels/ >=20 > Hmm, I think I disagree. In parts you can use Excel (or any other > spreadsheet like OpenOffice, LibreOffice...) like a relational > database. But organizing and filtering data is just one part of > Excel's functionality - and one where it doesn't shine (once you get > into the 10,000 range of rows at least). That was sorta my point. > > But a spreadsheet application is mostly something different: a smart > way to lay out formulas in 2D to get instant calculations; basically it > is a event processor with user friendly user interface. (Note: in my > observation despite Excel's amazing capabilities many people seem to > feel more at home with stuffing tons of macros in their sheets where a > few smartly connected cell functions or a pivot table would have > sufficed). That pretty much amounts to utilizing a minimal subset of the capabilities of a proper DBMS plus some code that maps to the contents of a DB table -- or, in DBMSes, plus some stored procedures (or stored functions, or whatever). Is there something I'm missing? > > > > I disagree. =A0I find myself doing a fair bit of functional style > > programming in small pieces within the larger object oriented style > > structure of code that I write in Ruby, and my code is better for it. >=20 > And funnily enough I just posted my observation today, that more and > more languages incorporate functional features. :-) > -> "[OT] functional paradigm taking over" --=20 Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ] --fdj2RfSjLxBAspz7 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk2Tg7IACgkQ9mn/Pj01uKWZngCgsvOX4Yf0akBfKakS8RzlQLwh JugAmQGcLs7oiBn2IxJ664x05xJfrZlk =wDOI -----END PGP SIGNATURE----- --fdj2RfSjLxBAspz7--