lua-users home
lua-l archive

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


I think I'll use Underscore.lua to cover the usual functional stuff:

http://mirven.github.io/underscore.lua/

Its sister library, Underscore.js, is reasonably popular.  Plus there's a book on the _javascript_ version.

http://www.amazon.com/gp/product/B00D624AQO


On Fri, Oct 4, 2013 at 11:53 PM, H. Conrad Cunningham <hcc@cs.olemiss.edu> wrote:
On Thu, Oct 3, 2013 at 6:15 PM, Jay Glascoe <jay.glascoe@gmail.com> wrote:
@Everyone, regarding the "OO Overused" thread.  You know, I love the functional languages.  If you give me first class functions, lexical scoping, closures and tail call elimination, I'm yours!  But OO is what puts asses in the seats.  Beginning and experienced programmers flock to the OO books and blogs because it is the currently accepted paradigm.  It's what gets you a paying job because it's what the bosses and the managers want.

I applaud this effort.  Although PiL is very good, more teaching and learning materials are needed.

I started learning Lua in mid-July and starting teaching a upper-level course in which I used Lua beginning in late August.  It has been fun, but it has been a lot of work trying to find resources, lay out what I want to do, and then develop examples for my class. 

As I have done in recent years with other languages (e.g., Scala), I have approached the first part of the course as a multiparadigm programming language course.  I focused quite a bit on functional programming, which is new to most of my students.  I extended that somewhat into modular programming. Then I have spent some time on OO (but mostly using functional methods still). 

As far as functional programming goes, I find Lua to be quite powerful with its higher-order, first-class functions (closures) and tail call optimization.  But since most of my previous teaching of functional programming has been in Haskell or Scala, I have had to adjust my thinking somewhat.  Immutable, hierarchical list structures, Currying, and terse _expression_ of code are pervasive in the other languages, but are not native to Lua's approach.

I plan to move on to issues in programming language design and implementation for much of the rest of the term. I may do some work later with coroutines and also metaprogramming.

Conrad Cunningham