unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: Return
@ 2010-12-05 23:55 MON KEY
  2010-12-06  1:48 ` Return Stephen J. Turnbull
  0 siblings, 1 reply; 44+ messages in thread
From: MON KEY @ 2010-12-05 23:55 UTC (permalink / raw)
  To: emacs-devel; +Cc: stephen

,----
| Note that Python (at least) has adopted this approach, with a core
| language definition that is 99% or so independent of implementation
| (cf. CPython, Cython nee pyrex, Stackless Python, Jython, IronPython,
| and PyPy).
`----

Pshaw... Doesn't GVR eschew ++Lambda++ in p3k? Heresy!

,----
| Speaking of Common Lisp, since it has a package scheme, you might be
| able to implement the elisp interpreter by using the elisp
| interpreter, and put in in a package that uses elisp eval instead of
| Common Lisp's eval.
`----

Sam Steingold has explored this in the CLOCC.

There is also LICE.

Pretty sure Closure has an "Emacs like" editor for Mac environs.

PJB maintains quite a bit of Elisp<-->Common-Lisp code.

FWIW I've been collecting various bits and pieces from the above mentioned
sources into a personal package for the last ~6 months.

I'm sure many Common Lispers do similarly.

Also, as mentioned there is Climacs which is quite functional with McClim/CLX.

Likewise, there is Hemlock. (AIUI someone is currently porting it to Qt...)

Also, there are any number of legacy "Emacs like" editors from the
Lispm/TI/Symbolics/BBN/Xerox... implementations. Source is generally available
for all of these.

Contemporary commercial sources like Lispworks and Allegro provide "Emacs like"
editors.

Given Emacs' Maclisp lineage and the number of Lisp2 users whom actively use
GNU/Xemacs (or some equivalent) and the presence of a formal Common Lisp
specification implemented on myriad platforms and multiple
implementations of said
specification, why on earth should a switch to either a Scheme/Python VM warrant
consideration.

FWIW I find it quite odd that discussions of moving the Emacs VM to
Guile are bandied
about when Clisp is available as a GNU project (since forever), has an existing
C interface, is easily as portable across platformas as Guile scheme, counts
among its core authors a formidable contributor to various high-level
GNU projects
(Bruno Haible) and has the admirable quality that it doesn't get confused
between nil/empty-list/falsehood in the way that a Scheme will.

--
/s_P\



^ permalink raw reply	[flat|nested] 44+ messages in thread
* Keyword args (was: Return)
@ 2010-12-12  4:49 MON KEY
  2010-12-12  8:34 ` Keyword args Helmut Eller
  0 siblings, 1 reply; 44+ messages in thread
From: MON KEY @ 2010-12-12  4:49 UTC (permalink / raw)
  To: eller.helmut; +Cc: emacs-devel

> Since we have destructuring-bind parsing plists is not very hard.

No, we have _some_ of dbind...

Following is the CL specs cannonical `destructuring-bind' example:

,----
|
| Examples:
|
|  (defun iota (n) (loop for i from 1 to n collect i))       ;helper
|
|  (destructuring-bind ((a &optional (b 'bee)) one two three)
|      `((alpha) ,@(iota 3))
|    (list a b three two one)) → (ALPHA BEE 3 2 1)
|
`----

Does evaluating the above two forms in elisp land you in *Backtrace*
with something like this at beginning-of-buffer:

 Debugger entered--Lisp error: (void-variable bind-enquote)

If so, I would argue that the current elisp's implementation fo
`destructuring-bind' isn't exactly the panacea to keyword parsing you
claim it is.

By way of comparison this is what a recent SBCL returns:

CL-USER> (format nil "~a ~a" (lisp-implementation-type)
		             (lisp-implementation-version))
;=> "SBCL 1.0.45.3"

CL-USER> (defun iota (n) (loop for i from 1 to n collect i))
;=> IOTA

CL-USER> (destructuring-bind ((a &optional (b 'bee)) one two three)
	     `((alpha) ,@(iota 3))
	   (list a b three two one))
;=> (ALPHA BEE 3 2 1)

--
/s_P\



^ permalink raw reply	[flat|nested] 44+ messages in thread
* Re: Keyword args
@ 2010-12-12 17:01 MON KEY
  0 siblings, 0 replies; 44+ messages in thread
From: MON KEY @ 2010-12-12 17:01 UTC (permalink / raw)
  To: emacs-devel

> This bug was fixed quite some time ago:
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6408

Well not all _that_ long ago.
But yes, applying that patch fixes things here. Thanks.
Did this make it into the current pretest?

So, apparently it is true what you say, dbind is a panacea!

"Got &keys? destructuring-bind em.
 dbind - the elixir for all ones elisp ails." ™

--
/s_P\



^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2010-12-23  5:39 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-05 23:55 Return MON KEY
2010-12-06  1:48 ` Return Stephen J. Turnbull
2010-12-06  5:50   ` Return MON KEY
2010-12-06  7:20     ` Return Stephen J. Turnbull
2010-12-06  9:00       ` Return David Kastrup
2010-12-06 19:11         ` Return Stefan Monnier
2010-12-06 19:09       ` Return Stefan Monnier
2010-12-06 19:19         ` Return Chong Yidong
2010-12-06 20:27           ` Return Stefan Monnier
2010-12-07  4:47         ` Return Miles Bader
2010-12-07  9:17           ` Return David Kastrup
2010-12-07 17:10             ` Return Stefan Monnier
2010-12-07 22:15               ` Return David Kastrup
2010-12-08 15:50             ` Return Fren Zeee
2010-12-09 22:38             ` Return Stefan Monnier
2010-12-10  1:41               ` Return Stephen J. Turnbull
2010-12-10  3:44                 ` Return Stefan Monnier
2010-12-10  8:28                   ` Return Stephen J. Turnbull
2010-12-23  5:39                     ` Return Fren Zeee
2010-12-07 12:44         ` Return Stephen J. Turnbull
2010-12-07 14:38           ` Return David Kastrup
2010-12-07 16:14             ` Return Stephen J. Turnbull
2010-12-07 17:11               ` Return tomas
2010-12-07  2:42       ` Return MON KEY
2010-12-07 14:34         ` Return Stephen J. Turnbull
2010-12-07 15:54           ` Return David Kastrup
2010-12-07 16:30             ` Return Stephen J. Turnbull
2010-12-08 13:42               ` Return Richard Stallman
2010-12-10  7:42               ` Return Daniel Colascione
2010-12-10  8:53                 ` Keyword args (was: Return) Helmut Eller
2010-12-13  2:10                   ` Keyword args Daniel Colascione
2010-12-13  8:30                     ` Helmut Eller
2010-12-13 20:00                     ` Andy Wingo
2010-12-14  5:03                       ` Miles Bader
2010-12-14  7:43                         ` Helmut Eller
2010-12-07 22:55           ` Return MON KEY
2010-12-08  7:28             ` Return Stephen J. Turnbull
2010-12-08 18:11               ` Return MON KEY
2010-12-09  8:37                 ` Return Stephen J. Turnbull
2010-12-07 23:21         ` Return Samuel Bronson
2010-12-08  8:06           ` Return Stephen J. Turnbull
2010-12-08 20:51             ` Return Samuel Bronson
  -- strict thread matches above, loose matches on Subject: below --
2010-12-12  4:49 Keyword args (was: Return) MON KEY
2010-12-12  8:34 ` Keyword args Helmut Eller
2010-12-12 17:01 MON KEY

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).