Re: [racket-users] Emacs Lisp as a Racket Language?
I would also love to see a new emacs based on Racket. Is rmacs by Tony Garnock-Jones intended to be a small project or is he meaning for it to grow to be a serious contender with emacs, vim, etc? I agree with Greg that the ecosystem and momentum around emacs is its strongest point. I've written a couple small emacs packages, and in doing so I added myself to the watch list of the Melpa emacs package repository, and they probably average about 3 new packages per day. So rmacs would need a lot of momentum to be able to get many users. But I would love it. Just as long as doesn't try to throw out things like multiple frontends (IE runnable in both terminal and as an X window), and extensibility everywhere. (It's reasons like these that I believe Atom, Sublime, etc will never seriously compete) On Fri, Jul 03, 2015 at 11:39:38AM -0400, Greg Hendershott wrote: So I've spent a lot of time using both Racket and Elisp over the past couple years. My feeling: - Racket is much nicer. - Elisp is not nearly as bad as I first thought. Some other baseless opinions: 1. An opposite approach would be to put a more Rackety face on Elisp. But. I feel it's probably helpful (and interesting) to know the real deal. I was excited to discover the dash.el package, which puts a Clojure-ish face on some things. Having said that, I'm now using it less. For example, I love using Racket match to do combined conditional and binding. I started using if-let from dash to do the equivalent in Elisp. Then I realized Emacs already provides pcase; so I'm simply using that these days. (Although not as comprehensive as Racket match, pcase is a frequently-used subset.) For another example, although I wish it were named filter, I can use cl-remove-if-not from the standard cl-lib package. I feel I ought to know it exists, and if I do, I may as well just use it? 2. I think the desired trade-offs can be different. For example in Clojure if I rename a function, the old definition still exists under the old name, ready to cause confusion. That's too dynamic for my taste, outside Emacs. But that dynamism is part of what makes the Emacs environment special. And anyway most (of my) Elisp code is doing tactical UX grunt work. So the cost:benefit seems different. 3. My impression is that there's been somewhat of an Emacs renaissance the last few years. Probably due to the new package manager, as well as a cohort of fresh packages like dash.el from new, younger folks. That entire ecosystem is what makes Emacs special, I think. Before embarking for real on a new project, not only does there need to be a story about supporting that, I think it would need to be totally seamless. Which is maybe not impossible but probably non-easy. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
So I've spent a lot of time using both Racket and Elisp over the past couple years. My feeling: - Racket is much nicer. - Elisp is not nearly as bad as I first thought. Some other baseless opinions: 1. An opposite approach would be to put a more Rackety face on Elisp. But. I feel it's probably helpful (and interesting) to know the real deal. I was excited to discover the dash.el package, which puts a Clojure-ish face on some things. Having said that, I'm now using it less. For example, I love using Racket match to do combined conditional and binding. I started using if-let from dash to do the equivalent in Elisp. Then I realized Emacs already provides pcase; so I'm simply using that these days. (Although not as comprehensive as Racket match, pcase is a frequently-used subset.) For another example, although I wish it were named filter, I can use cl-remove-if-not from the standard cl-lib package. I feel I ought to know it exists, and if I do, I may as well just use it? 2. I think the desired trade-offs can be different. For example in Clojure if I rename a function, the old definition still exists under the old name, ready to cause confusion. That's too dynamic for my taste, outside Emacs. But that dynamism is part of what makes the Emacs environment special. And anyway most (of my) Elisp code is doing tactical UX grunt work. So the cost:benefit seems different. 3. My impression is that there's been somewhat of an Emacs renaissance the last few years. Probably due to the new package manager, as well as a cohort of fresh packages like dash.el from new, younger folks. That entire ecosystem is what makes Emacs special, I think. Before embarking for real on a new project, not only does there need to be a story about supporting that, I think it would need to be totally seamless. Which is maybe not impossible but probably non-easy. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
On 07/03/2015 01:11 PM, William G Hatch wrote: I would also love to see a new emacs based on Racket. Is rmacs by Tony Garnock-Jones intended to be a small project or is he meaning for it to grow to be a serious contender with emacs, vim, etc? At the moment, it's just for my own edification. My aim is to get it into suitable shape for me to use it for day to day editing, and then see how I go. Currently missing before that becomes the case (using https://en.wikipedia.org/wiki/MoSCoW_method): M - move by words M - move by s-expression structure S - syntax highlighting for Racket code (half-implemented) C - something dired-ish C - isearch (ordinary search and regexp-search is already there) I want to explore it as a way of getting a Racket REPL on steroids. I imagine firing up Racket, getting a deceptively normal-looking terminal-style REPL, working for a bit (with rich, full-emacs-style functionality available at the REPL), and then deciding no, I want a fullscreen editor, pressing a hotkey, and promoting the REPL into a full rmacs session with multiple windows, buffers etc. I want to explore some of the CLIMish presentation ideas for the REPL. I'm also interested in reloading/hot-swapping of code and state. I've been experimenting with this for web apps [1] and it'd be interesting to support it as part of the IDE-like functionality in rmacs. HOWEVER, I'm a PhD student and all this depends on what little spare time I find for it. Shorter me: it's a small hobby project ;-) Tony [1] https://github.com/tonyg/racket-reloadable#readme -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
Tony Garnock-Jones wrote on 07/03/2015 03:15 PM: I want to explore it as a way of getting a Racket REPL on steroids. I imagine firing up Racket, getting a deceptively normal-looking terminal-style REPL, working for a bit (with rich, full-emacs-style functionality available at the REPL), and then deciding no, I want a fullscreen editor, pressing a hotkey, and promoting the REPL into a full rmacs session with multiple windows, buffers etc. Kickbottom! This is the kind of cool power-user thing that we love to encounter in platforms. For your line-oriented terminal mode, please consider supporting multi-line-editing/indenting/coloring (without going full-screen): http://lists.racket-lang.org/dev/archive/2014-December/014894.html Neil V. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
On 02/07/2015 21:36, Greg Davidson wrote: Is there interest in creating a Gnu Emacs Lisp Racket Language, along with the underlying APIs (perhaps tied to DrRacket) sufficient to compile and run Gnu Emacs Lisp extension packages? Is there prior or ongoing work for such a project? For some years there has been an attempt to port Gnu Emacs to run under Guile Scheme. A big stumbling block is the vast amount of extensions written in Emacs Lisp and continuing development thereof. Racket seems to be a *much* better platform for such a project than Guile, don't you think? _Greg (a long-time ambivalent Emacs user tired of Emacs Lisp) I don't think elisp makes much sense out of Emacs. There is nothing special about it as a programming language: it's Lisp (and not Scheme) and depends on primitives of a text editor frame work from the 80s. Porting individual modes or features to Dr Racket (or even Viper/VSI) might give better results then reimplementing the intrinsics of the overall Emacs package. But that depends on the expectations and intentions of the programming users. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
I think if there is a direction to go in, it's to make a SSH-friendly and truly extensible text version of DrRacket. I would use this all day; I only really use vim because it's terminal friendly and the editing is great. DrRacket offers a lot in terms of integration with Racket facilities and I would rather have a text version of that than more Emacs/vim. On Fri, 3 Jul 2015, Michael Titke wrote: On 02/07/2015 21:36, Greg Davidson wrote: Is there interest in creating a Gnu Emacs Lisp Racket Language, along with the underlying APIs (perhaps tied to DrRacket) sufficient to compile and run Gnu Emacs Lisp extension packages? Is there prior or ongoing work for such a project? For some years there has been an attempt to port Gnu Emacs to run under Guile Scheme. A big stumbling block is the vast amount of extensions written in Emacs Lisp and continuing development thereof. Racket seems to be a *much* better platform for such a project than Guile, don't you think? _Greg (a long-time ambivalent Emacs user tired of Emacs Lisp) I don't think elisp makes much sense out of Emacs. There is nothing special about it as a programming language: it's Lisp (and not Scheme) and depends on primitives of a text editor frame work from the 80s. Porting individual modes or features to Dr Racket (or even Viper/VSI) might give better results then reimplementing the intrinsics of the overall Emacs package. But that depends on the expectations and intentions of the programming users. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
Thanks Matthias ... there's nothing on Tony's projects pages so I've sent him a message. _Greg -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
Reimplementing GNU Emacs, with backward compatibility, was one of the original intents of Guile, but that never happened. (I won't get into the reasons I know of, but a big indirect one was not due to any fault of Guile or its people, IMHO, nor were they likely even aware of it.) Implementing Emacs Lisp as a transformation to `racket/base` (as opposed to a bytecode interpreter) seems doable, but nontrivial. You have to handle dynamically-scoped variables, you have to implement the buffer primitives efficiently, and (ideally) you need to permit the same debugging interface (the Emacs stepper was way ahead of Racket, but relies on a simple interpretation model). Emacs is built upon a core of primitives, some of them impressive, some kludgey, and then tons of often-kludgey Emacs Lisp atop the primitives. An alternative is to forget about Emacs Lisp backward-compatibility, and just reimplement an Emacs-like editor/framework in Racket. DrRacket has a little bit of Emacs nature, but that was not the goal of DrRacket (nee DrScheme); if you implemented a Racket Emacs-like editor/framework from scratch, I think it would end up very different than DrRacket, and more nimble. The result of a non-backwards-compatible implemented in Racket could also be less-kludgey. You might also think of it not as an editor, but as an alternative GUI framework (and build in an HTML5 option from the start, while you're thinking at that level). Neil V. Greg Davidson wrote on 07/02/2015 03:36 PM: Is there interest in creating a Gnu Emacs Lisp Racket Language, along with the underlying APIs (perhaps tied to DrRacket) sufficient to compile and run Gnu Emacs Lisp extension packages? Is there prior or ongoing work for such a project? For some years there has been an attempt to port Gnu Emacs to run under Guile Scheme. A big stumbling block is the vast amount of extensions written in Emacs Lisp and continuing development thereof. Racket seems to be a *much* better platform for such a project than Guile, don't you think? _Greg (a long-time ambivalent Emacs user tired of Emacs Lisp) -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
This is an excellent idea. I have no idea if this is being worked on, but I would love to help such an effort. On Thu, Jul 2, 2015 at 3:36 PM, Greg Davidson greg.david...@gmail.com wrote: Is there interest in creating a Gnu Emacs Lisp Racket Language, along with the underlying APIs (perhaps tied to DrRacket) sufficient to compile and run Gnu Emacs Lisp extension packages? Is there prior or ongoing work for such a project? For some years there has been an attempt to port Gnu Emacs to run under Guile Scheme. A big stumbling block is the vast amount of extensions written in Emacs Lisp and continuing development thereof. Racket seems to be a *much* better platform for such a project than Guile, don't you think? _Greg (a long-time ambivalent Emacs user tired of Emacs Lisp) -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
Guile has adopted a lot of Racket ideas. So they are building the platform to which to port Emacs. Consider building Emacs in Racket and then building a sane API. This project probably requires an even longer time horizon. Tony Garnock-Jones of Marketplace and Minimart (see (fourth RacketCon)) fame has started the project. I am sure he's willing to take contributions. -- Matthias On Jul 2, 2015, at 3:58 PM, Joel McCracken mccracken.j...@gmail.com wrote: This is an excellent idea. I have no idea if this is being worked on, but I would love to help such an effort. On Thu, Jul 2, 2015 at 3:36 PM, Greg Davidson greg.david...@gmail.com wrote: Is there interest in creating a Gnu Emacs Lisp Racket Language, along with the underlying APIs (perhaps tied to DrRacket) sufficient to compile and run Gnu Emacs Lisp extension packages? Is there prior or ongoing work for such a project? For some years there has been an attempt to port Gnu Emacs to run under Guile Scheme. A big stumbling block is the vast amount of extensions written in Emacs Lisp and continuing development thereof. Racket seems to be a *much* better platform for such a project than Guile, don't you think? _Greg (a long-time ambivalent Emacs user tired of Emacs Lisp) -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
https://github.com/tonyg/rmacs Also: Read this free book: http://www.finseth.com/craft/ 2015-07-02 23:00 GMT+02:00 Greg Davidson greg.david...@gmail.com: Thanks Matthias ... there's nothing on Tony's projects pages so I've sent him a message. _Greg -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- -- Jens Axel Søgaard -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
I've implemented three programmers' text editors in days gone by, two of which were inspired by Emacs. It's easy to improve on Emacs' architecture and implementation but that just guarantees that the new improved editor will languish in obscurity since it doesn't have the momentum of the official Emacs. An editor would have to be truly extraordinary (including it's collection of extensions) in order to win power users away from Gnu Emacs. Like many long-term Emacs users, I'm unwilling to give up its power and convenience despite having to hold my nose a lot! If a Free Software reimplementation was fully compatible with Gnu Emacs at the Emacs Lisp level, it could also provide a superior architecture underneath for new code written nicer Racket languages. Unless and until the new editor wins over most of the users of the existing Gnu Emacs, it is critical to maintain backwards compatibility for traditional Emacs Lisp and the traditional API. Implementing Emacs Lisp presents a possibly interesting challenge to Racket's language framework. It may help that Emacs Lisp now supports lexical binding clearly signalled on a per-module basis. _Greg -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Emacs Lisp as a Racket Language?
Thanks Jens! _Greg -- You received this message because you are subscribed to the Google Groups Racket Users group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.