[HN Gopher] Lambda: The Ultimate Excel Worksheet Function
       ___________________________________________________________________
        
       Lambda: The Ultimate Excel Worksheet Function
        
       Author : elemeno
       Score  : 41 points
       Date   : 2021-04-22 08:55 UTC (14 hours ago)
        
 (HTM) web link (www.microsoft.com)
 (TXT) w3m dump (www.microsoft.com)
        
       | wgetch wrote:
       | There is, perhaps surprisingly (or not), already a relevant XKCD
       | mentioning this feature while poking fun at the computational
       | abominations that were already possible in Excel:
       | 
       | https://xkcd.com/2453/
       | 
       | On that note, TFA claims that the introduction of LAMBDA finally
       | makes Excel Turing complete, unlike the kind of Turing machine
       | simulators the stick figure is referring to in the XKCD comic...
       | 
       | > (In contrast, Felienne Hermans's lovely blog post about writing
       | a Turing machine in Excel doesn't, strictly speaking, establish
       | Turing completeness because it uses successive rows for
       | successive states, so the number of steps is limited by the
       | number of rows.)
        
         | maest wrote:
         | To be fair, no computer is an actual TM since memory is finite.
        
           | quonn wrote:
           | It can pause and ask you to temporarily attach another hard
           | disk. Could be infinite as long as one can afford buying
           | disks.
        
             | jaza wrote:
             | But the amount of raw material on the planet needed for
             | manufacturing more disks is finite.
             | 
             | The amount of raw material in the universe is finite at a
             | given point in time (it could be infinite over time, we
             | don't know if time is infinite either).
             | 
             | I think we've already established (especially over the past
             | year) that fiat money is infinite.
             | 
             | The Turing machine is a mathematical model. Infinity only
             | exists in the world of mathematics. The physical world is
             | by definition finite.
        
             | [deleted]
        
       | teraflop wrote:
       | The blog post's title is an homage to a series of papers from the
       | 70s, which formulated the Scheme programming language and the
       | beginnings of what we now know as "functional programming".
       | 
       | https://en.wikipedia.org/wiki/History_of_the_Scheme_programm...
        
       | zamadatix wrote:
       | This is great, there were a few network functions I used a lot
       | (validate IP format, find network address, find broadcast
       | address, check if address is in subnet, etc) and would always
       | just stick a "scratch" sheet in a workbook duplicated for each
       | time I needed to perform an operation and nobody was ever going
       | to be able to decode after I hit "send" on the email. The
       | additions they've added make this so simple and ubiquitously
       | available I wouldn't even call it ugly for that use case anymore.
        
       | alkonaut wrote:
       | I wonder how a programming language "extension" to Excel works
       | together with the fact that the excel language is localized. Will
       | the lambda function names be similarly localized?
        
       | msla wrote:
       | The "Lambda" paper Steele and Sussman never wrote!
       | 
       | http://lambda-the-ultimate.org/papers
       | 
       | Including:
       | 
       | "Lambda the Ultimate Imperative"
       | 
       | "Lambda the Ultimate Declarative"
        
       | tunesmith wrote:
       | Writing a lambda like that would require documentation. I wish
       | Excel had a mode to look kinda like Jupyter except reactive (or
       | observablehq except a desktop app), so I could easily add
       | documentation for any cell and fold/unfold as I wish.
        
         | zamadatix wrote:
         | If you save it as a named function you can add a comment and
         | that will appear as the tooltip while you're working on calling
         | the function. If you're just wanting to comment how/why the
         | function works in the cell you're defining or instantiating and
         | immediately using it Excel has comments and notes you can
         | attach to the cell or a group of cells.
        
       | booleandilemma wrote:
       | _The Calc Intelligence project at Microsoft Research Cambridge
       | has a long-standing partnership with the Excel team to transform
       | spreadsheet formulas into a full-fledged programming language._
       | 
       | Your scientists were so preoccupied with whether or not they
       | could, they didn't stop to think if they should.
        
       | jxy wrote:
       | Now we have a legitimate use case for the Y combinator.
       | 
       | What's next? A full implementation of scheme? Common lisp?
        
         | taltman1 wrote:
         | Check out this paper from my friend Ronen, and Prof. Fateman,
         | putting Lisp into Excel:
         | 
         | "A paper written with Ronen Gradwohl on Lisp and Symbolic
         | Functionality in an Excel Spreadsheet: Development of an OLE
         | Scientific Computing Environment, August, 2002. (code available
         | on request) "
         | 
         | https://people.eecs.berkeley.edu/~fateman/algebra.html
        
       | zhengyi13 wrote:
       | Am I the only one who read the title and was immediately reminded
       | of http://lambda-the-ultimate.org/?
       | 
       | (Is the title a deliberate call to that site, or something even
       | older?)
        
         | joliv wrote:
         | The common parent is "Lambda: The Ultimate Imperative" (1976)
         | https://dspace.mit.edu/bitstream/handle/1721.1/5790/AIM-353....
        
           | SatvikBeri wrote:
           | And more generally, the Lambda Papers by Guy Steele and
           | Gerald Sussman, which also include "Lambda: The Ultimate
           | Declarative", "Lambda: The Ultimate GOTO", and "Lambda: The
           | Ultimate Opcode".
           | 
           | https://commons.wikimedia.org/wiki/Lambda_Papers
        
       | _Nat_ wrote:
       | Great to see Excel adding more features!
       | 
       | The argument I've heard against doing this sorta thing was that
       | they wanted to keep Excel simple enough to not alienate many non-
       | technical users, sorta forcing it to be a simple, accessible
       | environment for everyone.
       | 
       | It'll be neat to see how the user-base adapts to a more powerful
       | feature-set. I mean, it'd seem like a lot of folks will be
       | thrilled, finally having some extra functionality without having
       | to use macros/VBA/VSTO/COM/etc., though how might non-technical
       | folks feel about a coworker sending them a spreadsheet with
       | function-values?
        
         | SirSourdough wrote:
         | Most organizations I have seen already only have a couple
         | people who can actually make and edit the advanced sheets used
         | by the org and lots of people who use those sheets with a very,
         | very rudimentary knowledge of Excel to generally get their jobs
         | done.
         | 
         | I don't really see the addition of new advanced functionality
         | changing that paradigm.
        
       | akdor1154 wrote:
       | Oh no - can't they just integrate M instead? It's a great
       | (skeleton of a) language with a similar basis but far nicer to
       | write.
        
         | aperrien wrote:
         | What is M?
        
           | dragonwriter wrote:
           | M is the language of Power Query.
           | 
           | https://docs.microsoft.com/en-us/powerquery-m/
        
       | ZeroCool2u wrote:
       | Wow, that recursive example is a nightmare. I can't imagine being
       | the person that's asked to debug what's going wrong here a few
       | years down the line.
        
       | dang wrote:
       | One small recent thread:
       | 
       |  _Lambda: The ultimate Excel worksheet function_ -
       | https://news.ycombinator.com/item?id=25923628 - Jan 2021 (4
       | comments)
        
       ___________________________________________________________________
       (page generated 2021-04-22 23:00 UTC)