unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* are contributions on other programming languages than C and Emacs lisp bad idea?
       [not found] <1427040605.4453251.1569007946448.ref@mail.yahoo.com>
@ 2019-09-20 19:32 ` Jorge Araya Navarro
  2019-09-20 21:11   ` Paul Eggert
  2019-09-20 22:34   ` Stefan Monnier
  0 siblings, 2 replies; 15+ messages in thread
From: Jorge Araya Navarro @ 2019-09-20 19:32 UTC (permalink / raw)
  To: Emacs Developers

[-- Attachment #1: Type: text/plain, Size: 357 bytes --]

Hello
Wondering this. The only downside of this would be installing more dependencies to build Emacs, say, if someone were to do a contribution to Emacs core with Rust or replace something on Emacs Lisp with an equivalent on Rust in a form of an Emacs dynamic module, the user would be required to have rust installed in his system.
So, are they bad ideas?

[-- Attachment #2: Type: text/html, Size: 713 bytes --]

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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-20 19:32 ` are contributions on other programming languages than C and Emacs lisp bad idea? Jorge Araya Navarro
@ 2019-09-20 21:11   ` Paul Eggert
  2019-09-20 22:34   ` Stefan Monnier
  1 sibling, 0 replies; 15+ messages in thread
From: Paul Eggert @ 2019-09-20 21:11 UTC (permalink / raw)
  To: Jorge Araya Navarro; +Cc: Emacs Developers

Modules can be written in any language that can grok a C API. The GNU Coding 
Standards suggest using C for Emacs core, and I expect we'd need a pretty good 
reason to depart from that. Despite inroads from other languages C is still 
kinda the lingua franca for low level stuff.



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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-20 19:32 ` are contributions on other programming languages than C and Emacs lisp bad idea? Jorge Araya Navarro
  2019-09-20 21:11   ` Paul Eggert
@ 2019-09-20 22:34   ` Stefan Monnier
  2019-09-21  0:37     ` Jorge Javier Araya Navarro
                       ` (2 more replies)
  1 sibling, 3 replies; 15+ messages in thread
From: Stefan Monnier @ 2019-09-20 22:34 UTC (permalink / raw)
  To: Jorge Araya Navarro; +Cc: Emacs Developers

> Wondering this. The only downside of this would be installing more
> dependencies to build Emacs, say, if someone were to do a contribution to
> Emacs core with Rust

There are two problems:
- imposing an additional dependency for those who compile Emacs (and
  potentially even for those who *use* Emacs if it requires a specific
  run-time library).
- imposing knowledge of an additional language for the maintainers.

If the feature is *very* desirable, hard to reimplement in C or Elisp,
and is optional, I guess maybe potentially it could hypothetically
be discussed?


        Stefan "who likes Rust, FWIW"




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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-20 22:34   ` Stefan Monnier
@ 2019-09-21  0:37     ` Jorge Javier Araya Navarro
  2019-09-21  2:52       ` Devesh Sukhwal
  2019-09-21 13:09       ` Stefan Monnier
  2019-09-21  9:03     ` VanL
  2019-09-21  9:46     ` Stephen Leake
  2 siblings, 2 replies; 15+ messages in thread
From: Jorge Javier Araya Navarro @ 2019-09-21  0:37 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs Developers

[-- Attachment #1: Type: text/plain, Size: 1147 bytes --]



El viernes 20 de septiembre del 2019 a las 1634 horas, Stefan Monnier escribió:

>> Wondering this. The only downside of this would be installing more
>> dependencies to build Emacs, say, if someone were to do a contribution to
>> Emacs core with Rust
>
> There are two problems:
> - imposing an additional dependency for those who compile Emacs (and
>   potentially even for those who *use* Emacs if it requires a specific
>   run-time library).
> - imposing knowledge of an additional language for the maintainers.
>
> If the feature is *very* desirable, hard to reimplement in C or Elisp,
> and is optional, I guess maybe potentially it could hypothetically
> be discussed?
>
>
>         Stefan "who likes Rust, FWIW"

That's what I was fearing, jaja. If a feature fulfills those three requirements maybe a discussion
about it could (hypothetically) start. Got it.

Was asking because I would like to run some experiments to scratch an itch I have, but I did not
wanted to waste time if such thing won't be shipped with the rest of Emacs (or not? if anything, the
thing I want to do can land on GNU ELPA I guess).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21  0:37     ` Jorge Javier Araya Navarro
@ 2019-09-21  2:52       ` Devesh Sukhwal
  2019-09-21 13:09       ` Stefan Monnier
  1 sibling, 0 replies; 15+ messages in thread
From: Devesh Sukhwal @ 2019-09-21  2:52 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1493 bytes --]

Le 21 septembre 2019 06:07:10 GMT+05:30, Jorge Javier Araya Navarro <jorgejavieran@yahoo.com.mx> a écrit :
>
>
>El viernes 20 de septiembre del 2019 a las 1634 horas, Stefan Monnier
>escribió:
>
>>> Wondering this. The only downside of this would be installing more
>>> dependencies to build Emacs, say, if someone were to do a
>contribution to
>>> Emacs core with Rust
>>
>> There are two problems:
>> - imposing an additional dependency for those who compile Emacs (and
>>   potentially even for those who *use* Emacs if it requires a
>specific
>>   run-time library).
>> - imposing knowledge of an additional language for the maintainers.
>>
>> If the feature is *very* desirable, hard to reimplement in C or
>Elisp,
>> and is optional, I guess maybe potentially it could hypothetically
>> be discussed?
>>
>>
>>         Stefan "who likes Rust, FWIW"
>
>That's what I was fearing, jaja. If a feature fulfills those three
>requirements maybe a discussion
>about it could (hypothetically) start. Got it.
>
>Was asking because I would like to run some experiments to scratch an
>itch I have, but I did not
>wanted to waste time if such thing won't be shipped with the rest of
>Emacs (or not? if anything, the
>thing I want to do can land on GNU ELPA I guess).

BTW, there is remacs ( https://github.com/remacs/remacs) for the particular itch of rust. 

Thanks
-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.

[-- Attachment #2: Type: text/html, Size: 2071 bytes --]

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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-20 22:34   ` Stefan Monnier
  2019-09-21  0:37     ` Jorge Javier Araya Navarro
@ 2019-09-21  9:03     ` VanL
  2019-09-21  9:46     ` Stephen Leake
  2 siblings, 0 replies; 15+ messages in thread
From: VanL @ 2019-09-21  9:03 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>         Stefan "who likes Rust, FWIW"

RacketConf2019 had a presentation from Rust's "upper echelon" bureaucrat.

-- 
© 2019 VanL
gpg using EEF2 37E9 3840 0D5D 9183  251E 9830 384E 9683 B835
          'If the bug bites don't fight it.' - Nancy S. Steinhardt




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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-20 22:34   ` Stefan Monnier
  2019-09-21  0:37     ` Jorge Javier Araya Navarro
  2019-09-21  9:03     ` VanL
@ 2019-09-21  9:46     ` Stephen Leake
  2019-09-21 16:28       ` Jorge Javier Araya Navarro
  2 siblings, 1 reply; 15+ messages in thread
From: Stephen Leake @ 2019-09-21  9:46 UTC (permalink / raw)
  To: emacs-devel

There is an example currently in ELPA; the wisi package provides a
parser generator written in Ada, and an elisp interface that runs the
generated executable in an external process. The ada-mode and
wisitoken-grammar-mode packages use wisi.

This requires an Ada compiler to fully install the packages.

So far, this is all focussed on ada-mode; users of that mode are very
likely to have a native Ada compiler installed, so there's no extra
burden. But if other modes are implemented using wisi, it could become 
one. On the other hand, gcc provides an Ada compiler, so it's not a
big burden.

-- 
-- Stephe



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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21  0:37     ` Jorge Javier Araya Navarro
  2019-09-21  2:52       ` Devesh Sukhwal
@ 2019-09-21 13:09       ` Stefan Monnier
  1 sibling, 0 replies; 15+ messages in thread
From: Stefan Monnier @ 2019-09-21 13:09 UTC (permalink / raw)
  To: Jorge Javier Araya Navarro; +Cc: Emacs Developers

> Was asking because I would like to run some experiments to scratch an
> itch I have, but I did not wanted to waste time if such thing won't be
> shipped with the rest of Emacs (or not? if anything, the thing I want
> to do can land on GNU ELPA I guess).

The question is completely different for GNU ELPA packages, since these
are independent: I don't see any reason to not to accept a GNU ELPA
package simply because it includes a module written in Rust (or Typer
for that matter ;-)


        Stefan




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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21  9:46     ` Stephen Leake
@ 2019-09-21 16:28       ` Jorge Javier Araya Navarro
  2019-09-21 17:22         ` Ergus
  2019-09-21 18:36         ` Eli Zaretskii
  0 siblings, 2 replies; 15+ messages in thread
From: Jorge Javier Araya Navarro @ 2019-09-21 16:28 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 953 bytes --]



El sábado 21 de septiembre del 2019 a las 0346 horas, Stephen Leake escribió:

> There is an example currently in ELPA; the wisi package provides a
> parser generator written in Ada, and an elisp interface that runs the
> generated executable in an external process. The ada-mode and
> wisitoken-grammar-mode packages use wisi.
>
> This requires an Ada compiler to fully install the packages.
>
> So far, this is all focussed on ada-mode; users of that mode are very
> likely to have a native Ada compiler installed, so there's no extra
> burden. But if other modes are implemented using wisi, it could become
> one. On the other hand, gcc provides an Ada compiler, so it's not a
> big burden.

I'm actually looking to do something like this but for JavaScript, there are several packages in
Rust that can help parsing JavaScript code and I thought this could become handy and replace the
existing parsing written in Emacs Lisp.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21 16:28       ` Jorge Javier Araya Navarro
@ 2019-09-21 17:22         ` Ergus
  2019-09-21 18:36         ` Eli Zaretskii
  1 sibling, 0 replies; 15+ messages in thread
From: Ergus @ 2019-09-21 17:22 UTC (permalink / raw)
  To: Jorge Javier Araya Navarro; +Cc: emacs-devel

On Sat, Sep 21, 2019 at 10:28:37AM -0600, Jorge Javier Araya Navarro wrote:
>
>
>El s?bado 21 de septiembre del 2019 a las 0346 horas, Stephen Leake escribi?:
>
>> There is an example currently in ELPA; the wisi package provides a
>> parser generator written in Ada, and an elisp interface that runs the
>> generated executable in an external process. The ada-mode and
>> wisitoken-grammar-mode packages use wisi.
>>
>> This requires an Ada compiler to fully install the packages.
>>
>> So far, this is all focussed on ada-mode; users of that mode are very
>> likely to have a native Ada compiler installed, so there's no extra
>> burden. But if other modes are implemented using wisi, it could become
>> one. On the other hand, gcc provides an Ada compiler, so it's not a
>> big burden.
>
>I'm actually looking to do something like this but for JavaScript, there are several packages in
>Rust that can help parsing JavaScript code and I thought this could become handy and replace the
>existing parsing written in Emacs Lisp.

While I am find with the consideration of adding new languages to
develop/extend emacs... I am pretty sure there should be also some
projects to parse javascript in C... We only need to contact the authors
of the projects to ask them about their position to use their
code... 

For emacs with rust there is an interesting project under developement:

https://github.com/remacs/remacs

That maybe is the future ;) who knows...





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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21 16:28       ` Jorge Javier Araya Navarro
  2019-09-21 17:22         ` Ergus
@ 2019-09-21 18:36         ` Eli Zaretskii
  2019-09-21 21:29           ` Jorge Javier Araya Navarro
  2019-09-22  3:51           ` Richard Stallman
  1 sibling, 2 replies; 15+ messages in thread
From: Eli Zaretskii @ 2019-09-21 18:36 UTC (permalink / raw)
  To: Jorge Javier Araya Navarro; +Cc: emacs-devel

> From: Jorge Javier Araya Navarro <jorgejavieran@yahoo.com.mx>
> Date: Sat, 21 Sep 2019 10:28:37 -0600
> 
> I'm actually looking to do something like this but for JavaScript, there are several packages in
> Rust that can help parsing JavaScript code and I thought this could become handy and replace the
> existing parsing written in Emacs Lisp.

Are there any known problems with the ELisp implementation that
justify reimplementing that in another language?



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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21 18:36         ` Eli Zaretskii
@ 2019-09-21 21:29           ` Jorge Javier Araya Navarro
  2019-09-22 15:01             ` Eli Zaretskii
  2019-09-22 19:01             ` yyoncho
  2019-09-22  3:51           ` Richard Stallman
  1 sibling, 2 replies; 15+ messages in thread
From: Jorge Javier Araya Navarro @ 2019-09-21 21:29 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1023 bytes --]



El sábado 21 de septiembre del 2019 a las 1236 horas, Eli Zaretskii escribió:

>> From: Jorge Javier Araya Navarro <jorgejavieran@yahoo.com.mx>
>> Date: Sat, 21 Sep 2019 10:28:37 -0600
>>
>> I'm actually looking to do something like this but for JavaScript, there are several packages in
>> Rust that can help parsing JavaScript code and I thought this could become handy and replace the
>> existing parsing written in Emacs Lisp.
>
> Are there any known problems with the ELisp implementation that
> justify reimplementing that in another language?

None to my knowledge. There is people and projects doing cool stuff like ecmascript[1] or
javascript_lexer[2] and I thought that leveraging from projects like those could provide any sort of
advantage to Emacs in speed, code maintenance or user experience.

I will try to present a dynamic module and see how that goes, after doing my due research on js.el

[1]: https://crates.io/crates/ecmascript
[2]: https://crates.io/crates/javascript_lexer

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21 18:36         ` Eli Zaretskii
  2019-09-21 21:29           ` Jorge Javier Araya Navarro
@ 2019-09-22  3:51           ` Richard Stallman
  1 sibling, 0 replies; 15+ messages in thread
From: Richard Stallman @ 2019-09-22  3:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: jorgejavieran, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

I think we should not include anything in the Emacs repository or
tarball that depends on Ada, Javascript, Rust, or anything other than
Emacs Lisp and C.  The GNU Project sees no problem in writing in those
languages, but including that code in Emacs would make difficulties
for users.

In ELPA, if a package is useful only in conjunction with language Foo,
I think it is ok if building that package depends on language Foo.

-- 
Dr Richard Stallman
Founder, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21 21:29           ` Jorge Javier Araya Navarro
@ 2019-09-22 15:01             ` Eli Zaretskii
  2019-09-22 19:01             ` yyoncho
  1 sibling, 0 replies; 15+ messages in thread
From: Eli Zaretskii @ 2019-09-22 15:01 UTC (permalink / raw)
  To: Jorge Javier Araya Navarro; +Cc: emacs-devel

> From: Jorge Javier Araya Navarro <jorgejavieran@yahoo.com.mx>
> Cc: emacs-devel@gnu.org
> Date: Sat, 21 Sep 2019 15:29:38 -0600
> 
> > Are there any known problems with the ELisp implementation that
> > justify reimplementing that in another language?
> 
> None to my knowledge. There is people and projects doing cool stuff like ecmascript[1] or
> javascript_lexer[2] and I thought that leveraging from projects like those could provide any sort of
> advantage to Emacs in speed, code maintenance or user experience.

Could you please elaborate what you mean by "leveraging" in this
context?



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

* Re: are contributions on other programming languages than C and Emacs lisp bad idea?
  2019-09-21 21:29           ` Jorge Javier Araya Navarro
  2019-09-22 15:01             ` Eli Zaretskii
@ 2019-09-22 19:01             ` yyoncho
  1 sibling, 0 replies; 15+ messages in thread
From: yyoncho @ 2019-09-22 19:01 UTC (permalink / raw)
  To: Jorge Javier Araya Navarro; +Cc: Eli Zaretskii, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1278 bytes --]

You might be interested in https://github.com/ubolonton/emacs-tree-sitter/

Thanks,
Ivan

On Sun, Sep 22, 2019 at 12:30 AM Jorge Javier Araya Navarro <
jorgejavieran@yahoo.com.mx> wrote:

>
>
> El sábado 21 de septiembre del 2019 a las 1236 horas, Eli Zaretskii
> escribió:
>
> >> From: Jorge Javier Araya Navarro <jorgejavieran@yahoo.com.mx>
> >> Date: Sat, 21 Sep 2019 10:28:37 -0600
> >>
> >> I'm actually looking to do something like this but for JavaScript,
> there are several packages in
> >> Rust that can help parsing JavaScript code and I thought this could
> become handy and replace the
> >> existing parsing written in Emacs Lisp.
> >
> > Are there any known problems with the ELisp implementation that
> > justify reimplementing that in another language?
>
> None to my knowledge. There is people and projects doing cool stuff like
> ecmascript[1] or
> javascript_lexer[2] and I thought that leveraging from projects like those
> could provide any sort of
> advantage to Emacs in speed, code maintenance or user experience.
>
> I will try to present a dynamic module and see how that goes, after doing
> my due research on js.el
>
> [1]: https://crates.io/crates/ecmascript
> [2]: https://crates.io/crates/javascript_lexer
>

[-- Attachment #2: Type: text/html, Size: 2006 bytes --]

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

end of thread, other threads:[~2019-09-22 19:01 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1427040605.4453251.1569007946448.ref@mail.yahoo.com>
2019-09-20 19:32 ` are contributions on other programming languages than C and Emacs lisp bad idea? Jorge Araya Navarro
2019-09-20 21:11   ` Paul Eggert
2019-09-20 22:34   ` Stefan Monnier
2019-09-21  0:37     ` Jorge Javier Araya Navarro
2019-09-21  2:52       ` Devesh Sukhwal
2019-09-21 13:09       ` Stefan Monnier
2019-09-21  9:03     ` VanL
2019-09-21  9:46     ` Stephen Leake
2019-09-21 16:28       ` Jorge Javier Araya Navarro
2019-09-21 17:22         ` Ergus
2019-09-21 18:36         ` Eli Zaretskii
2019-09-21 21:29           ` Jorge Javier Araya Navarro
2019-09-22 15:01             ` Eli Zaretskii
2019-09-22 19:01             ` yyoncho
2019-09-22  3:51           ` Richard Stallman

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).