From: Emanuel Berg <embe8573@student.uu.se>
To: help-gnu-emacs@gnu.org
Subject: Re: why not "stripes" in: (let ((zebra 'stripes) ... ; strings vs symbols?
Date: Wed, 01 Jan 2014 20:02:45 +0100 [thread overview]
Message-ID: <87bnzvbk41.fsf@nl106-137-194.student.uu.se> (raw)
In-Reply-To: 87ha9nbof6.fsf@nl106-137-194.student.uu.se
Emanuel Berg <embe8573@student.uu.se> writes:
>>> The only thing I can think of that I saw in other
>>> languages and not in Lisp is *pattern matching*:
>>> branching straight off the functions' heads, like
>>> it is possible to do (and a very common practice)
>>> in languages like Erlang, SML, and Haskell. But I
>>> suppose it could be implemented as a Lisp macro if
>>> you really cared for it.
>>
>> For what it's worth, you might find Shen interesting
>>
>> shenlanguage.org
>>
>> From the "Shen in 15 Minutes" page:
>>
>> (define factorial 0 -> 1 X -> (* X (factorial (- X
>> 1))))
>
> Yes, that's exactly what I meant, and that looks like
> a mix of Lisp and Erlang.
I just read on the Shen page that
> Shen began many years ago in 1989 when Dr. Mark
> Tarver was working at the Laboratory for the
> Foundations of Computer Science at Edinburgh. The
> original idea was to bring to the Lisp environment
> many of the advantages of ML; specifically
> pattern-matching and later type checking.
So they did a new language just to get pattern-matching
in Lisp! I'm unsure if that is sheer folly *or*
dedication that should be admired. Anyway, "ML" is
probably the progenitor of the "SML" that I mentioned -
I also remember a "MosML" - Moscow ML - probably just
another dialect.
As for the type checking, I remember you could do that
in ML, only you didn't have to. I am unsure what perk
that would bring except for the occasional bug that
could be found prior to run-time. But testing is so
essential to software anyway so I can't see any real
advantage of that. When you are used to not thinking
about types (as in Lisp) you don't want to do that
again. At least I don't. But please fill me in what the
fuss is about.
Also, when you think about how many Lisp dialects there
are - the Wikipedia article for "LISP" lists these -
Arc, AutoLISP, Clojure, Common Lisp, Emacs Lisp,
EuLisp, Dialects Franz Lisp, Interlisp, ISLISP, LeLisp,
Maclisp, MDL, Newlisp , NIL, Picolisp, Portable
Standard Lisp, Racket, Scheme, SKILL, Spice Lisp, T,
XLISP, Zetalisp
- you kind of wonder if there is no pattern matching or
"type check" (?) in any of those?
--
underground experts united:
http://user.it.uu.se/~embe8573
next prev parent reply other threads:[~2014-01-01 19:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.10695.1388422033.10748.help-gnu-emacs@gnu.org>
2013-12-31 18:24 ` why not "stripes" in: (let ((zebra 'stripes) ... ; strings vs symbols? Emanuel Berg
2014-01-01 2:00 ` Evans Winner
2014-01-01 17:29 ` Emanuel Berg
2014-01-01 19:02 ` Emanuel Berg [this message]
2014-01-02 4:28 ` Stefan Monnier
2014-01-02 4:39 ` Yuri Khan
2013-12-30 16:46 Rustom Mody
2014-01-01 4:53 ` Rustom Mody
2014-01-02 5:30 ` Rustom Mody
[not found] ` <mailman.10827.1388640687.10748.help-gnu-emacs@gnu.org>
2014-01-02 14:31 ` Emanuel Berg
2014-01-03 5:00 ` Yuri Khan
[not found] ` <mailman.10894.1388725210.10748.help-gnu-emacs@gnu.org>
2014-01-03 23:47 ` Emanuel Berg
[not found] ` <mailman.10770.1388552064.10748.help-gnu-emacs@gnu.org>
2014-01-01 17:26 ` Emanuel Berg
[not found] <mailman.10627.1388327081.10748.help-gnu-emacs@gnu.org>
2013-12-29 23:39 ` Emanuel Berg
2013-12-30 15:27 ` Barry Margolin
-- strict thread matches above, loose matches on Subject: below --
2013-12-29 14:23 Gregor Zattler
2013-12-29 16:00 ` Drew Adams
2013-12-30 11:24 ` Thien-Thi Nguyen
[not found] ` <mailman.10682.1388402467.10748.help-gnu-emacs@gnu.org>
2013-12-30 13:19 ` Damien Wyart
2013-12-30 15:12 ` Drew Adams
2013-12-30 17:21 ` Thien-Thi Nguyen
2013-12-31 17:52 ` Emanuel Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bnzvbk41.fsf@nl106-137-194.student.uu.se \
--to=embe8573@student.uu.se \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.