
A spreadsheet in fewer than 35 lines of Tcl/Tk, no library used - networked
http://wiki.tcl.tk/41294
======
beagle3
Obligatory K reference: 2 line spreadsheet implementation.

    
    
        S..t:".[`D;(;);{. y};S[]];S[.;`f]:9$D[]"
        S:D:.+(`a`b`c`d;4 6#,"")
    

This is for K v2 which had Web+JS style built in native GUI. Later versions
(K3 =~ Kona, k4/q and the upcoming k5) have dropped the GUI, so unless you
have a K2 interpreter lying around, you can't test it. But rest assured it did
work on a standalone 200KB interpreter that runs on a bare Win32 or
Linux/Solaris + X install.

More info in
[http://nsl.com/papers/spreadsheet.htm](http://nsl.com/papers/spreadsheet.htm)
\- look for S- near the bottom.

------
ColinWright
A friend of mine wrote a mouse-driven spreadsheet in a single line of BBC
BASIC. Tokenised, it was less than 254 characters. No load or save capability,
but full formulas and cell references, and demand-driven recalculation.

I should find, reformat, annotate, and re-implement it. If only I had the
time. One day.

~~~
IgorPartola
I wanted to write a short computer program but didn't have te time?

~~~
asQuirreL
The length of the program isn't necessarily correlated with the amount of time
it takes to write it, or more importantly, understand it ;)

~~~
micheljansen
I believe that's the joke:

"I wanted to write a short computer program but didn't have the time (so I
wrote a long program instead)".

~~~
konmik
It is not a joke. Optimization takes time.

~~~
IgorPartola
As the foremost domain expert on the subject (the subject being what I meant
by my own comment), I can say with 100% certainty that it was in fact a joke,
or rather a poor attempt to paraphrase Mark Twain's: "I didn't have time to
write a short letter, so I wrote a long one instead."

Of course you are right, optimization does take time, whether you are
optimizing a computer program or a letter.

~~~
dang
Not Twain, Pascal: [http://quoteinvestigator.com/2012/04/28/shorter-
letter/](http://quoteinvestigator.com/2012/04/28/shorter-letter/).

But yes—just as applicable to computer programming as letter writing.

------
ximeng
[https://news.ycombinator.com/item?id=6725387](https://news.ycombinator.com/item?id=6725387)
has some commentary on the <30 line JS spreadsheet. It includes some
interesting discussion on functional "spreadsheet" implementation with
Haskell.

------
616c
But if compilation is compression, what if I zip the aformentioned Basic and
Kv2 versions? Do I win?

[http://www.pvk.ca/Blog/2014/03/30/refactoring-with-
lz77-comp...](http://www.pvk.ca/Blog/2014/03/30/refactoring-with-
lz77-compilation-is-compression/)

(This is a joke, lest someone take me seriosuly.)

