Live data from Hacker News

Goism – Use Go instead of Emacs Lisp inside Emacs

github.com

31–40 of 78 posts

Re: Goism – Use Go instead of Emacs Lisp inside Emacs

#31
post #24
post #16

Earlier quoted context omitted.

I think that's neither here nor there. JavaScript has a lot of strengths that few other languages can claim at this point, thanks to how universal it is. Many people understand it, it can be used to build everything from desktop apps to mobile apps to servers, and it has one of the largest package repositories out there. I'm far from a JS fanboy but I think your point lends credence to the idea of using JS more than…

I don't actually see the advantages for JavaScript. Seems every other month there is a new way to package it. So, everyone might know how to build with it, but few people know the same way of building. Similarly, the package repository is not exactly inspiring. Similar patterns of many packages doing the same thing. Often not bringing new advantages to the table, so much as revising old weaknesses. Many rooted in cho…

Trust me, I get it. I'm not a fan of JS for the exact stated reasons. It's fragmented and full of holes.

But the way I see it, JavaScript is like today's BASIC. In a very fragmented computer market, it seemed like BASIC was the one thing that ran common between a lot of home computers in the 80s. While it's not a perfect parallel, it seems with all of the different platforms that are around today it's hard to find a consumer platform that doesn't have a JavaScript interpreter jammed in it, be it an iPhone or a ChromeCast.

BASIC wasn't all sunshine and rainbows either, but it was more than enough to help unify a fragmented world. I think JavaScript is very similar in that respect, and when the dust starts to settle on modern JavaScript it will be closer to accomplishing that goal.

Whether or not NPM is actually so impressive though, I won't debate. It's useful, but uhh... yeah. The baseline quality is not quite near something like, say, PyPI.

Re: Goism – Use Go instead of Emacs Lisp inside Emacs

#32
post #31
post #24

Earlier quoted context omitted.

I don't actually see the advantages for JavaScript. Seems every other month there is a new way to package it. So, everyone might know how to build with it, but few people know the same way of building. Similarly, the package repository is not exactly inspiring. Similar patterns of many packages doing the same thing. Often not bringing new advantages to the table, so much as revising old weaknesses. Many rooted in cho…

Trust me, I get it. I'm not a fan of JS for the exact stated reasons. It's fragmented and full of holes. But the way I see it, JavaScript is like today's BASIC. In a very fragmented computer market, it seemed like BASIC was the one thing that ran common between a lot of home computers in the 80s. While it's not a perfect parallel, it seems with all of the different platforms that are around today it's hard to find a…

Also javascript is pretty good at creating dsls as far as non-lisps go. The only real mainstream competitors on this space are ruby, scala and, possibly, rust.

Re: Goism – Use Go instead of Emacs Lisp inside Emacs

#33
post #2

I agree Emacs Lisp is pretty inferior as far as lisps go, but IMO this seems pretty misguided. Technically impressive, I'm sure, but will it be around for another 30 years? If someone writes a module using this, will I be able to rely on that module keeping on working for the years to come?

The potential damage can be reduced.

There can be a backend that generates Emacs Lisp code. Not necessary optimized or idiomatic, but it could be a good starting point for rewriting.

But in general, I agree with you.

Re: Goism – Use Go instead of Emacs Lisp inside Emacs

#34
post #9

I haven't taken an incredibly close look at this, but it seems like a pretty bad idea. Elisp is definitely not a great language, and I'd like an alternative as much as the next Emacs user. But I feel pretty strongly that any alternative has to be a Lisp, or very close to one. Code-is-data/data-is-code is very important for the more "config-file" aspects of configuring Emacs. Being able to use and write DSLs to succin…

I used Emacs Lisp for scripting tasks like code and data generation. It is great to have an ability to evaluate form right inside the spot you want results to be inserted. This kind of code does not require AST manipulations or macro. Also, some of my projects that become bigger than 1000 LoC could benefit from static typing and (subjectively) better tooling. By the way, I think extending Emacs in Racket would be gre…

You may already know about Guile-Emacs, but in case not, take a look at https://www.emacswiki.org/emacs/GuileEmacs . Guile is not Racket, or more precisely Racket is no longer exactly Scheme, but they are closer to each other than to elisp.

Re: Goism – Use Go instead of Emacs Lisp inside Emacs

#40

What happens if I hover over a goism function and hit M-.? Do I get dumped into the go source?

Currently, no. Hope I get your question right..

Name mangling scheme preserves fully qualified package path. All goism sources live inside GOPATH (1), so nothing stops us from implementing a jump to Go definition.

For given `goism-foo/bar.baz` Emacs symbol, Go definition can be found in `GOPATH/src/foo/bar/` package. Exact location can be found by using existing Go tools (simple grep-like solution can work, too).

(1) It can change in future; see https://news.ycombinator.com/item?id=13368846 and even more relevant: https://github.com/golang/go/issues/17271

Post reply on HN