Like many folks, I'd reckon, I've really meant to learn Lisp or Scheme better, but it just seems like -- with the lack of syntax -- it would be tedious to write out every single operation as a function/procedure call. Is Lisp/Scheme as tedious as I'm assuming? I'm not talking about readability -- surely one can get used to the parens and indenting and read (and write) it just fine -- I'm talking about tedium of every…
There's no tedium of writing everything out with parentheses, so you don't need to worry about that. You aren't writing everything "as a procedure call," or at least I wouldn't put it that way. For example, if you write babby's first recursive function in Scheme, (define (factorial n) (if (= n 0) 1 (* n (factorial (- n 1))))) There, the procedure calls are (= n 0), (* n (factorial (- n 1))), (factorial (- n 1)), and…
To provide some small examples, I often use Perl, and it gives me some syntax that saves me typing, such as:
* `my @other_list = @a_list[3, 1, 4]` to return just those items from a list (item 3, item 1, and item 4)
* `$str =~ s/$foo/BAR/g` to do string replacements (in string $str, replace all ocurrences of contents of variable $foo with "BAR")
* `my $thing = $colored_objects{red}->[2]` to get item 2 in the list of red-colored objects ($colored_objects is a mapping of color names to lists of items of that color)
* `my $error_msg = "Sorry, but $thing1 doesn't work with $thing2."` to interpolate the values of those 2 variables into the string
* `for (reverse(1 .. 10)) { say "Counting down: $_"; }` (counts down from 10 to 1)
I suppose I've always just guessed that operations like those in a Lisp language would require multiple lines and procedure calls, which would become tedious to write after a while. Is that the case?