all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Emacs documentation is bad
@ 2018-09-09  1:46 John Stone
  2018-09-09  1:48 ` John Stone
  0 siblings, 1 reply; 15+ messages in thread
From: John Stone @ 2018-09-09  1:46 UTC (permalink / raw)
  To: help-gnu-emacs

(
 (lambda (f)
   (lambda (x)
     (list f x)))
 'g)
'y
)

this crashes emacs but try to figure out why from docs and you're shit out
of luck and just wasted half a fucking day


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

* Re: Emacs documentation is bad
  2018-09-09  1:46 Emacs documentation is bad John Stone
@ 2018-09-09  1:48 ` John Stone
  2018-09-09  1:49   ` John Stone
       [not found]   ` <mailman.548.1536497190.1284.help-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 15+ messages in thread
From: John Stone @ 2018-09-09  1:48 UTC (permalink / raw)
  To: help-gnu-emacs

how fucking hard did you make this


(
 (
  (lambda (f)
    (lambda (x)
      (list f x)))
  'g
  )
 'y
 )


On Sat, Sep 8, 2018 at 6:46 PM John Stone <johnrstone2011@gmail.com> wrote:

> (
>  (lambda (f)
>    (lambda (x)
>      (list f x)))
>  'g)
> 'y
> )
>
> this crashes emacs but try to figure out why from docs and you're shit out
> of luck and just wasted half a fucking day
>


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

* Re: Emacs documentation is bad
  2018-09-09  1:48 ` John Stone
@ 2018-09-09  1:49   ` John Stone
  2018-09-09 13:34     ` tomas
       [not found]   ` <mailman.548.1536497190.1284.help-gnu-emacs@gnu.org>
  1 sibling, 1 reply; 15+ messages in thread
From: John Stone @ 2018-09-09  1:49 UTC (permalink / raw)
  To: help-gnu-emacs

lambda expression is a function which can appear wherever a function name
can appear? bullshit, delete the lies from the manual

On Sat, Sep 8, 2018 at 6:48 PM John Stone <johnrstone2011@gmail.com> wrote:

> how fucking hard did you make this
>
>
> (
>  (
>   (lambda (f)
>     (lambda (x)
>       (list f x)))
>   'g
>   )
>  'y
>  )
>
>
> On Sat, Sep 8, 2018 at 6:46 PM John Stone <johnrstone2011@gmail.com>
> wrote:
>
>> (
>>  (lambda (f)
>>    (lambda (x)
>>      (list f x)))
>>  'g)
>> 'y
>> )
>>
>> this crashes emacs but try to figure out why from docs and you're shit
>> out of luck and just wasted half a fucking day
>>
>


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

* Re: Emacs documentation is bad
  2018-09-09  1:49   ` John Stone
@ 2018-09-09 13:34     ` tomas
  2018-09-09 14:26       ` John Stone
       [not found]       ` <mailman.555.1536503215.1284.help-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 15+ messages in thread
From: tomas @ 2018-09-09 13:34 UTC (permalink / raw)
  To: help-gnu-emacs; +Cc: John Stone

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sat, Sep 08, 2018 at 06:49:54PM -0700, John Stone wrote:
> lambda expression is a function which can appear wherever a function name
> can appear? bullshit, delete the lies from the manual
> 
> On Sat, Sep 8, 2018 at 6:48 PM John Stone <johnrstone2011@gmail.com> wrote:
> 
> > how fucking hard did you make this
> >
> >
> > (
> >  (
> >   (lambda (f)
> >     (lambda (x)
> >       (list f x)))
> >   'g
> >   )
> >  'y
> >  )
> >
> >
> > On Sat, Sep 8, 2018 at 6:46 PM John Stone <johnrstone2011@gmail.com>
> > wrote:
> >
> >> (
> >>  (lambda (f)
> >>    (lambda (x)
> >>      (list f x)))
> >>  'g)
> >> 'y
> >> )
> >>
> >> this crashes emacs but try to figure out why from docs and you're shit
> >> out of luck and just wasted half a fucking day

What is your problem? None of those things "crashes" Emacs. The first
one has one parenthesis too much, in the second one you're trying
to apply something to 'y which is not a function (the symbol 'g).

Look, if you were a tad nicer, I'd try to help you, but the way you
are yelling around, I don't really feel like it.

Cheers
- -- t
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAluVIWQACgkQBcgs9XrR2kYtiQCfZMLb/wMUGfg9BYYMvm3GC87e
fgUAnjFKehh1ZMFXZezxOPwKcZDrdQWf
=jLBn
-----END PGP SIGNATURE-----



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

* Re: Emacs documentation is bad
  2018-09-09 13:34     ` tomas
@ 2018-09-09 14:26       ` John Stone
  2018-09-10  4:13         ` Bob Newell
       [not found]         ` <mailman.577.1536552821.1284.help-gnu-emacs@gnu.org>
       [not found]       ` <mailman.555.1536503215.1284.help-gnu-emacs@gnu.org>
  1 sibling, 2 replies; 15+ messages in thread
From: John Stone @ 2018-09-09 14:26 UTC (permalink / raw)
  To: tomas; +Cc: help-gnu-emacs

> I'd try to help you, but the way you are yelling around, I don't really
feel like it.

don't fix the broken the docs then, we'll use a different lisp for this
project

On Sun, Sep 9, 2018 at 6:34 AM <tomas@tuxteam.de> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Sat, Sep 08, 2018 at 06:49:54PM -0700, John Stone wrote:
> > lambda expression is a function which can appear wherever a function name
> > can appear? bullshit, delete the lies from the manual
> >
> > On Sat, Sep 8, 2018 at 6:48 PM John Stone <johnrstone2011@gmail.com>
> wrote:
> >
> > > how fucking hard did you make this
> > >
> > >
> > > (
> > >  (
> > >   (lambda (f)
> > >     (lambda (x)
> > >       (list f x)))
> > >   'g
> > >   )
> > >  'y
> > >  )
> > >
> > >
> > > On Sat, Sep 8, 2018 at 6:46 PM John Stone <johnrstone2011@gmail.com>
> > > wrote:
> > >
> > >> (
> > >>  (lambda (f)
> > >>    (lambda (x)
> > >>      (list f x)))
> > >>  'g)
> > >> 'y
> > >> )
> > >>
> > >> this crashes emacs but try to figure out why from docs and you're shit
> > >> out of luck and just wasted half a fucking day
>
> What is your problem? None of those things "crashes" Emacs. The first
> one has one parenthesis too much, in the second one you're trying
> to apply something to 'y which is not a function (the symbol 'g).
>
> Look, if you were a tad nicer, I'd try to help you, but the way you
> are yelling around, I don't really feel like it.
>
> Cheers
> - -- t
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.12 (GNU/Linux)
>
> iEYEARECAAYFAluVIWQACgkQBcgs9XrR2kYtiQCfZMLb/wMUGfg9BYYMvm3GC87e
> fgUAnjFKehh1ZMFXZezxOPwKcZDrdQWf
> =jLBn
> -----END PGP SIGNATURE-----
>


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

* Re: Emacs documentation is bad
       [not found]   ` <mailman.548.1536497190.1284.help-gnu-emacs@gnu.org>
@ 2018-09-09 21:10     ` Ben Bacarisse
  2018-09-09 21:22       ` tomas
  2018-09-09 21:38       ` Barry Fishman
  0 siblings, 2 replies; 15+ messages in thread
From: Ben Bacarisse @ 2018-09-09 21:10 UTC (permalink / raw)
  To: help-gnu-emacs

John Stone <johnrstone2011@gmail.com> writes:

> lambda expression is a function which can appear wherever a function name
> can appear? bullshit, delete the lies from the manual

I don't think they are lies.  I think you are a (rude) Scheme programmer
who does not know that traditional Lisps like Common Lisp and Emacs Lisp
can't call closures without funcall (or apply).

This:

>> (
>>  (
>>   (lambda (f)
>>     (lambda (x)
>>       (list f x)))
>>   'g
>>   )
>>  'y
>>  )

evaluates to '(g y) in Scheme but it ill-formed in Common Lisp and Emacs
Lisp.  In Common Lisp you would write

  (funcall ((lambda (f) (lambda (x) (list f x))) 'g) 'y)

but in in Emacs Lisp you also have to have lexical binding on in the
buffer:

  (setq lexical-binding t)
  (funcall ((lambda (f) (lambda (x) (list f x))) 'g) 'y)

The fact that you need funcall to call a closure does not contradict the
statement in manual.  The same is true if we use a named function:

  (defun named (f) (lambda (x) (list f x)))
  (funcall (named 'g) 'y)

Using ((named 'g) 'y) will not work but notice how in the funcall
version the function name can indeed be replaced by the lambda
equivalent.

>>> this crashes emacs but try to figure out why from docs and you're shit
>>> out of luck and just wasted half a fucking day

I get the feeling you don't really want an explanation!  But I decided
to post this anyway because other reader might be interested and it
helps to keep the archive clear on unanswered questions.

-- 
Ben.


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

* Re: Emacs documentation is bad
  2018-09-09 21:10     ` Ben Bacarisse
@ 2018-09-09 21:22       ` tomas
  2018-09-09 21:38       ` Barry Fishman
  1 sibling, 0 replies; 15+ messages in thread
From: tomas @ 2018-09-09 21:22 UTC (permalink / raw)
  To: help-gnu-emacs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, Sep 09, 2018 at 10:10:42PM +0100, Ben Bacarisse wrote:

[...]

> I get the feeling you don't really want an explanation!  But I decided
> to post this anyway because other reader might be interested and it
> helps to keep the archive clear on unanswered questions.

Your patience is exemplary. Thanks, Ben :)

Cheers
- -- t
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAluVjwUACgkQBcgs9XrR2kZRsQCbBlzxrDQIlzygxRgC3avzbpBb
FJIAniQ18VASK5k2BWFO+mAXCVlsw4/I
=rCqg
-----END PGP SIGNATURE-----



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

* Re: Emacs documentation is bad
       [not found]       ` <mailman.555.1536503215.1284.help-gnu-emacs@gnu.org>
@ 2018-09-09 21:33         ` Barry Fishman
  2018-09-09 21:39           ` Noam Postavsky
       [not found]           ` <mailman.570.1536529199.1284.help-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 15+ messages in thread
From: Barry Fishman @ 2018-09-09 21:33 UTC (permalink / raw)
  To: help-gnu-emacs


On 2018-09-09 07:26:37 -07, John Stone wrote:
> From <tomas@tuxteam.de>
>> I'd try to help you, but the way you are yelling around, I don't really
>> feel like it.

[I'll assume the OP is just frustrated, and is used to Twitter, so
doesn't know how to behave in polite company.]

I have a hard time parsing your odd formatting.  I assume your expression is:

(((lambda (f) (lambda (x) (list f x))) 'g) 'y)

This does not work with 'lisp'.  It only works with Scheme
implementations, where the first position in a S-expression is
evaluated.  Scheme, although it shares the syntax with Lisp languages,
has quite different semantics, so it is not useful to consider it
another Lisp.  To me it's like referring to Java as a C++.

In most lisps (like Common Lisp and E-Lisp) that is not done, so your
lambda expression which evaluates to a lambda will not then be
re-evaluated.  In most lisps you can use a lambda expression in the function
position of an S-expression, but not something that evaluates to a
lambda.

You can can force the evaluation with:

(funcall ((lambda (f) (lambda (x) (list f x))) 'g) 'y)

Which works with Common Lisp, but not E-Lisp, since E-Lisp does not have
lexical scope by default. But you can enable it so that it would work:

(setq lexical-binding t)
(funcall ((lambda (f) (lambda (x) (list f x))) 'g) 'y)
--> (g y)

If Scheme semantics are that important to you, you could move your project to
a Scheme environment, maybe MIT Scheme and Erwin, if you want a Scheme
based Emacs.  Or help with the project implementing Guile Emacs.

> don't fix the broken the docs then, we'll use a different lisp for this
> project

As far as the Gnu Emacs documentation is concerned I'm not convinced it is wrong.
--
Barry Fishman


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

* Re: Emacs documentation is bad
  2018-09-09 21:10     ` Ben Bacarisse
  2018-09-09 21:22       ` tomas
@ 2018-09-09 21:38       ` Barry Fishman
  1 sibling, 0 replies; 15+ messages in thread
From: Barry Fishman @ 2018-09-09 21:38 UTC (permalink / raw)
  To: help-gnu-emacs


On 2018-09-09 22:10:42 +01, Ben Bacarisse wrote:
> I don't think they are lies.  ...

Oops.  I didn't see your response when I replied.
--
Barry Fishman


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

* Re: Emacs documentation is bad
  2018-09-09 21:33         ` Barry Fishman
@ 2018-09-09 21:39           ` Noam Postavsky
       [not found]           ` <mailman.570.1536529199.1284.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 15+ messages in thread
From: Noam Postavsky @ 2018-09-09 21:39 UTC (permalink / raw)
  To: Barry Fishman; +Cc: Help Gnu Emacs mailing list

On 9 September 2018 at 17:33, Barry Fishman <barry@ecubist.org> wrote:

> If Scheme semantics are that important to you, you could move your project to
> a Scheme environment, maybe MIT Scheme and Erwin, if you want a Scheme
> based Emacs.  Or help with the project implementing Guile Emacs.

AFAIK, Guile Emacs doesn't change the semantics of Emacs Lisp, it just
reimplements the same semantics using the Guile VM bytecode
interpreter.



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

* Re: Emacs documentation is bad
       [not found]           ` <mailman.570.1536529199.1284.help-gnu-emacs@gnu.org>
@ 2018-09-09 22:10             ` Barry Fishman
  0 siblings, 0 replies; 15+ messages in thread
From: Barry Fishman @ 2018-09-09 22:10 UTC (permalink / raw)
  To: help-gnu-emacs


On 2018-09-09 17:39:54 -04, Noam Postavsky wrote:
> On 9 September 2018 at 17:33, Barry Fishman <barry@ecubist.org> wrote:
>
>> If Scheme semantics are that important to you, you could move your project to
>> a Scheme environment, maybe MIT Scheme and Erwin, if you want a Scheme
>> based Emacs.  Or help with the project implementing Guile Emacs.
>
> AFAIK, Guile Emacs doesn't change the semantics of Emacs Lisp, it just
> reimplements the same semantics using the Guile VM bytecode
> interpreter.

My understanding that a Guile implementation of Emacs is not just to use
E-Lisp, but to allow writing Emacs extensions in any language Guile
supports, in particular Scheme.

This is discussed in the Emacs Wiki page:
https://www.emacswiki.org/emacs/GuileEmacs

--
Barry Fishman


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

* Re: Emacs documentation is bad
  2018-09-09 14:26       ` John Stone
@ 2018-09-10  4:13         ` Bob Newell
  2018-09-10  8:54           ` Van L
       [not found]         ` <mailman.577.1536552821.1284.help-gnu-emacs@gnu.org>
  1 sibling, 1 reply; 15+ messages in thread
From: Bob Newell @ 2018-09-10  4:13 UTC (permalink / raw)
  To: help-gnu-emacs

On Sun, Sep 9, 2018 at 4:26 AM, John Stone <johnrstone2011@gmail.com> wrote:

> don't fix the broken the docs then, we'll use a different lisp for this
> project

Please do!

The people on this mailing list are polite, knowledgeable, and
helpful, and represent the best aspects of the free open-source
software community. They share their limited time and extensive
expertise out of a willingness to help others and to give something to
the community.

These are people who deserve our respect and appreciation, and, at a
bare minimum, common courtesy and politeness.

-- 
Bob Newell
Honolulu, Hawai`i

Via Linux/Emacs/Gnus/BBDB.



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

* Re: Emacs documentation is bad
  2018-09-10  4:13         ` Bob Newell
@ 2018-09-10  8:54           ` Van L
  0 siblings, 0 replies; 15+ messages in thread
From: Van L @ 2018-09-10  8:54 UTC (permalink / raw)
  To: Help Gnu Emacs mailing list

I don’t enjoy reading it.

(info "(eintr) b for interactive")  ;; what new garbage is barf-if


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

* Re: Emacs documentation is bad
       [not found]         ` <mailman.577.1536552821.1284.help-gnu-emacs@gnu.org>
@ 2018-09-12 20:06           ` Emanuel Berg
  2018-09-12 22:08           ` Emanuel Berg
  1 sibling, 0 replies; 15+ messages in thread
From: Emanuel Berg @ 2018-09-12 20:06 UTC (permalink / raw)
  To: help-gnu-emacs

Bob Newell wrote:

> The people on this mailing list are polite,
> knowledgeable, and helpful, and represent the
> best aspects of the free open-source
> software community.

Fucking right!

-- 
underground experts united
http://user.it.uu.se/~embe8573


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

* Re: Emacs documentation is bad
       [not found]         ` <mailman.577.1536552821.1284.help-gnu-emacs@gnu.org>
  2018-09-12 20:06           ` Emanuel Berg
@ 2018-09-12 22:08           ` Emanuel Berg
  1 sibling, 0 replies; 15+ messages in thread
From: Emanuel Berg @ 2018-09-12 22:08 UTC (permalink / raw)
  To: help-gnu-emacs

Bob Newell wrote:

> The people on this mailing list are polite,
> knowledgeable, and helpful, and represent the
> best aspects of the free open-source
> software community.

Well, I suppose some of us do, sometimes.
But John Stone, and everyone else who doesn't
(yet?), are welcome just the same. Behave any
way you want. Just do it with Emacs. In time,
I think it'll be impossible not to be affected
by its style and manners.


-- 
underground experts united
http://user.it.uu.se/~embe8573


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

end of thread, other threads:[~2018-09-12 22:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-09  1:46 Emacs documentation is bad John Stone
2018-09-09  1:48 ` John Stone
2018-09-09  1:49   ` John Stone
2018-09-09 13:34     ` tomas
2018-09-09 14:26       ` John Stone
2018-09-10  4:13         ` Bob Newell
2018-09-10  8:54           ` Van L
     [not found]         ` <mailman.577.1536552821.1284.help-gnu-emacs@gnu.org>
2018-09-12 20:06           ` Emanuel Berg
2018-09-12 22:08           ` Emanuel Berg
     [not found]       ` <mailman.555.1536503215.1284.help-gnu-emacs@gnu.org>
2018-09-09 21:33         ` Barry Fishman
2018-09-09 21:39           ` Noam Postavsky
     [not found]           ` <mailman.570.1536529199.1284.help-gnu-emacs@gnu.org>
2018-09-09 22:10             ` Barry Fishman
     [not found]   ` <mailman.548.1536497190.1284.help-gnu-emacs@gnu.org>
2018-09-09 21:10     ` Ben Bacarisse
2018-09-09 21:22       ` tomas
2018-09-09 21:38       ` Barry Fishman

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.