Re: [racket-users] Alternatives to DrRacket
On 26/11/2017 16:42, Stephen De Gabrielle wrote: I know two big reasons for using a complex tool is it’s stickiness factors; normally a combination of familiarity (hence speed) with a lot of powerful features and non-transportable customisation. A third big reason is generality. The main reason why I prefer Emacs to DrRacket is that it does so many things unrelated to Racket. Anything that requires a text-based interface can be done in Emacs. Putting stickiness factors aside, what features in other editors/IDE’s would you like to see in DrRacket? Since I do use DrRacket from time to time for very Racket-specific things (e.g. the debugger and the macro stepper), I do have a small wishlist: 1) Paredit mode like in Emacs, sufficiently compatible that I can switch seamlessly between the two. Well, that's it. Just one point. Konrad. -- 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] misterious empty line
My guess is that "(define" does something special to figure out where to insert newlines in the rendered document. On Thu, Nov 23, 2017 at 9:13 AM, Jos Kootwrote: > My code: > > #lang scribble/manual > > @(require > scribble/core > scribble/eval > racket > (for-label racket) > (for-syntax racket)) > > @elemtag["rearrangement" "Not important."] > @interaction[ > (require racket) > (code:comment #,(list "Procedure " (racket in-permutations) > " produces a sequence of " @elemref["rearrangement" "rearrangements"] > ".")) > (define (a) > (code:comment #,(list "Procedure " (racket in-permutations) > " produces a sequence of " @elemref["rearrangement" "rearrangements"] > ".")) > (in-permutations '(1 2 3))) > (a)] > > Produces the attached HTML. > > Why is there a blank line following the comment within the definition? > The blank line does not appear after the comment preceding the definition. > > Windows 7 Home Premium, > DrRacket, version 6.11.0.2--2017-11-12(b54ea8c5b1/a) [3m]. > Language: scribble/manual [custom]; memory limit: 4000 MB. > > Thanks, Jos > > > -- > 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] DrRacket et al not starting in Sierra (10.12)?
What you describe is indeed different from what I experience and I followed the exact same steps that you listed. It may perhaps be due to something that is different in my system settings. It is also strange because the behavior that you describe with the dialog box is also what I experience when installing other applications, but not Racket. On Monday, November 20, 2017 at 1:54:29 PM UTC-5, johnbclements wrote: > > > > > On Nov 19, 2017, at 17:04, George Plymale II> wrote: > > > > This issue still exists on High Sierra and with Racket 6.11. I even see > it happen on the non-nightly, stable builds. It's a bit of a hassle to have > to do the drag-n-drop dance every single time I update Racket. I'm we would > all appreciate having signed app bundles so that this problem goes away. > > That doesn’t sound right to me. Specifically, I’m running High Sierra, I > believe these bundles are all signed, and I just followed these steps: > > 1) Delete my existing Racket 6.11 installation. > 2) Download the 6.11 installation through racket-lang. (The actual > download URL: > https://mirror.racket-lang.org/installers/6.11/racket-6.11-x86_64-macosx.dmg) > > 3) Open the file to mount the .dmg, creating finder window showing arrow > and link to Applications directory. > 4) Open Applications directory, open Racket 6.11 directory, double-click > on DrRacket binary. > 5) See dialog containing text "“DrRacket” is an application downloaded > from the Internet. Are you sure you want to open it?”. > 6) Click okay. > 7) DrRacket opens fine. > 8) second and subsequent openings of DrRacket don’t require dialog. > > Is this different from what you’re observing? > > John Clements > > > > > > > On Tuesday, October 18, 2016 at 10:04:48 AM UTC-4, Geoffrey Knauth > wrote: > > On Tuesday, October 18, 2016 at 9:44:56 AM UTC-4, Matthew Flatt wrote: > > > Nightly builds are not currently signed, so Sierra doesn't like them. > > > > > > Try this: Using Finder, drag the DrRacket icon out of its folder. Then > > > drag it back in place. Then try double-clicking DrRacket. (Yes, that's > > > weird.) > > Ha! Fighting weirdness with weirdness. I got it to work, but it was > slightly more complicated: > > > > When I dragged the icon out of its folder to the Desktop, it created a > link instead. I got rid of the link on the Desktop, since that wasn't what > I was aiming for. > > > > When I dragged the icon *up*, to the level above where it was, and then > back in its folder, those moves worked (as moves), but double-clicking > didn't work. However, right-menu Open did work, and after that > double-click worked, and having it in my dock and clicking on it worked. > > > > So I'm all set. Thanks! > > > > > > > > > > > > -- > > 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...@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] unexpected behavior of parametric polymorphism in Typed Racket
Returning to this after a long delay... On Sat, Nov 11, 2017 at 01:34:05PM -0500, Matthias Felleisen wrote: > > (Context: I only actually intend to use `store' with a single type, but I > > want to define that type in a separate module. Since the type's definition > > refers to `addr', I made `store' polymorphic to break the cyclical > > dependency.) > > This of course calls for Typed Units, which are now available in Typed Racket > thanks to Daniel Feltey. > > It might be worth trying it out — Matthias I started to take a look at this, and I'm having trouble seeing how this would work. In particular, I'm not seeing how to include a type in a signature. The following isn't syntactically correct: (define-signature store^ Addr Store [empty-store : Store] [alloc : (Store Integer -> (Values Store Addr))] [alloc* : (Store (Listof Integer) -> (Values Store (Listof Addr)))] [deref : (Store Addr -> Integer)] [update : (Store Addr Integer -> Store)]) The presence of the bare `Addr' on the second line causes a syntax error, as one would expect from the docs. Purely at random, I tried the following: (define-signature store^ [Addr : Type] [Store : Type] [empty-store : Store] [alloc : (Store Integer -> (Values Store Addr))] [alloc* : (Store (Listof Integer) -> (Values Store (Listof Addr)))] [deref : (Store Addr -> Integer)] [update : (Store Addr Integer -> Store)]) This doesn't compile either (no surprise there), but it yields an interesting error message: define-signature: expected sig-var-form or expected sig-type-form at: Addr in: ... The mention of `sig-type-form' in the error message suggests that it is possible to do this, but I'm not seeing the concrete syntax for this described anywhere. Am I overlooking something? ;;; Next: the signatures above only allow storing Integers in a Store. I'd assumed that I'd eventually want to import the value type into the store@ unit -- but then how do I include specify that type in store^ ? In ML, I'd use a signature plus a 'with', but I don't see an equivalent to that here. I'm starting to think that my base assumption (that Typed Units are more or less equivalent to ML signatures, structures, and functors) is way off. Richard -- 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] Alternatives to DrRacket
> On Nov 26, 2017, at 11:27 AM, 'Royall Spence' via users-redirect >wrote: > > DrRacket actually does the things it claims to do and isn't a broken mess. Yes, it is an amazing tool. I occasionally escape to Emacs for tasks that I can’t do easily in Dr (e.g. rectangular editing) but never for long. -- 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] Alternatives to DrRacket
On Sun, Nov 26, 2017 at 03:42:14PM +, Stephen De Gabrielle wrote: > Hi, > > I’ve noticed some list members use other editors or IDE’s. > > I know two big reasons for using a complex tool is it’s stickiness factors; > normally a combination of familiarity (hence speed) with a lot of powerful > features and non-transportable customisation. > > Putting stickiness factors aside, what features in other editors/IDE’s > would you like to see in DrRacket? I generally switch back and forth between Emacs and DrRacket as appropriate for the task at hand. DrRacket is good for code navigation, but if I'm doing a lot of writing, I generally prefer emacs, largely for reasons that others have mentioned in this thread. There is one particular issue, however, that I haven't seen come up: power usage. I haven't really investigated what's going on here, but DrRacket drains the battery on my MacBook Pro quite rapidly (last experienced with DrRacket 6.11 on MacOS 10.12.latest). What's more, it appears to do this even if the app is only open in the background and I'm not actually interacting with it. So if I don't have access to AC power, I generally close DrRacket and stick with Emacs. If the DrRacket maintainers are interested, I'd be happy to help diagnose the power problem in more detail, as time permits. However, I don't really know what tests would be useful. Suggestions welcome! Richard -- 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.
[racket-users] Re: Alternatives to DrRacket
I use Neovim and I'm working on a Racket client for it: https://gitlab.com/HiPhish/neovim.rkt One of the cool features Neovim has over Vim is that it provides an API for remote processes; a client application can connect to the editor and they can communicate with each other. What that means in practice is that my Racket client allows you to write Neovim plugins in directly Racket. This would make it possible for example to re-use parts of DrRacket to write analogous Neovim plugins without having to re-invent the wheel. I don't know much about Emacs, but from looking at Racket Mode it looks like almost 70% of it is Emacs Lisp. With a Racket client for Neovim the plugin could be written (almost?) entirely in Racket. -- 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] Alternatives to DrRacket
Hi Stephen, > I’ve noticed some list members use other editors or IDE’s. > > I know two big reasons for using a complex tool is it’s stickiness factors; > normally a combination of familiarity (hence speed) with a lot of powerful > features and non-transportable customisation. > > Putting stickiness factors aside, what features in other editors/IDE’s > would you like to see in DrRacket? I use both Emacs and DrRacket for Racket code, Emacs for basically everything else. As you surmise, there are generally-useful Emacs packages and features that keep me there. In particular: 1. Paredit: The DrRacket Paredit emulation is different enough to make it much less convenient. In particular, it leaves lots of extra closing parens floating around. 2. helm-ag: This lets me very quickly search everything in the closest Git repo, without it having to be a big ceremony. 3. Magit: This is the best interface to Git on the planet, and having it in the same editor is much more convenient than switching over to Emacs just to Git. 4. Speed. Emacs is very snappy, while DrRacket sometimes noticably lags after input. 5. General editing: Emacs has things like keyboard macros and the ability to write a quick little on-off bit of elisp that make large-scale editing far more convenient. As far as I can tell, I'd need to write a DrRacket tool to make this happen, and that involves a lot more ceremony than a quick defun in *scratch*. And filling is hard to do without. 6. M-/ for autocomplete of anything open anywhere. 7. It works the same way for everything. I get all the same features whether I'm working on Racket, Haskell, Idris, LaTeX, Agda, or a Makefile (that's about in the order of frequency of editing for me). It's great to have everything that makes sense in one work well in the other. 8. Commands like motion and isearch work *everywhere*, not just in text buffers. So there's no need for a separate search mechanism for things like settings. racket-mode supports some things that DrRacket doesn't, above and beyond standard Emacs. In particular, 1. The ability to get a REPL in the context of a particular submodule, which makes developing things like tests more convenient. 2. I can put custom indentation rules for my macros into a .dir-locals.el so that they don't pollute a global indentation config. 3. There's a keybinding to cycle through paren shapes for the surrounding expression, () -> [] -> {} -> (). I use this constantly. So why use DrRacket? 1. Good support for languages like Scribble. I never got that working to my liking in Emacs. 2. The macro stepper is extremely handy when it works, and being able to inspect syntax objects in the interactions pane is wonderful when the macro stepper doesn't work. 3. It's easier to create close integrations between a #lang and its interface. For example, binding arrows, adding tooltips showing types, and designing interactive editing commands written in Racket. Doing this in Emacs is not nearly as fun (and I know, I've done it for Idris). 4. Students use it, so they should be supported. 5. Much better control over subprocesses. It's far easier for a runaway process in Emacs to make the computer very slow, while DrRacket stops it when it allocates too much. Hope that was useful. Thanks for your interest in making things even better! /David -- 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] Alternatives to DrRacket
DrRacket is never going to be able to do everything as well as Emacs (and DrRacket can do some things a lot better than Emacs), but a few small conveniences that I'd like to see in DrRacket when I use it: * Visually distinguish identifiers that start special syntax separate from `#lang racket/base` (or whatever Scheme-like lang), so, when reading code, you know whether some identifier you don't recognize JUST CHANGED ALL THE RULES. See black bold variable names in screenshot: http://www.neilvandyke.org/temporary/20171126-quack.png * Visually distinguish identifiers that define top-level names (variables, syntax extensions, unhygienic structs ahem, etc.). See blue in screenshot. I often visually scan for these names, and making them more prominent helps. (Non-top-level, such as in `let` forms, would also be nice, though I don't have Quack doing that, and Quack just uses regexp kludges for the top-level ones.) * Have Emacs-like "filling" of paragraphs of text in comments, including support for prefixed paragraphs like bulleted lists. I sometimes make a lot of multiline TODO and code-explanatory comments, and as a compromise with the simple text-file representation of source code, and considering various 80-column tools and screen sizes that might be involved, I try to keep most of the code within the historical 79 columns. So, after I touch comments in DrRacket, I have to go to Emacs to re-fill them. * Have a "tidy" feature like Quack's, which converts tabs to spaces, removes extraneous whitespace (ends of lines, multiple blank lines, beginning and end of file), and reindents the entire buffer. (This doesn't do automatic comment-filling in Emacs, because sometimes that requires human discretion or crafting, and can be a mess if the code already wasn't written for filling (e.g., if it loses some other ad hoc formatting, and ends up blending paragraphs together, destroying tables and ASCII art, etc.) * Emacs-like indenting of comments with 1-semicolon (i.e., indented to a column independent of indent level and whether there is preceding code on the line; the column position is either a fixed one (40), or, if the preceding line has a 1-semicolon comment beyond that fixed column, then the column of that preceding comment). This is an old Emacs convention. I could live without this, but DrRacket's 1-semicolon comments indenting to the code indent level means that they get messed up when indenting in Emacs or DrRacket, or when doing Quack tidy. Also, for experienced use of DrRacket (not for intro students), I'd like to get rid of some of the clutter outside of the text widgets, such as buttons and indicators that I don't need. And I wish that various message subwindows that pop into the frame and then need their close boxes to be clicked would go away automatically (see how Emacs uses the message area, does isearch, etc.). -- 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] Alternatives to DrRacket
One thing I appreciate about racket-mode in emacs is the more detailed syntax highlighting. I've attached two screenshots of the same code in emacs and DrRacket. I think what's happening here is that racket-mode highlights `for-clause` names and function applications (sometimes?) while DrRacket does not. I might be misunderstanding what I'm looking at. Looking at the two screens, I didn't realize how much DrRacket was highlighting until I tried to describe the differences. Now I've adjusted DrRacket to match my emacs colors and find the code a bit easier to navigate. The default dark colors in DrRacket seem to prefer bolding over color change, which is less distinct to me. I've got to say, though, that unlike most other IDEs (for any language), DrRacket actually does the things it claims to do and isn't a broken mess. On Sun, Nov 26, 2017, at 10:42 AM, Stephen De Gabrielle wrote: > Hi, > > I’ve noticed some list members use other editors or IDE’s. > > I know two big reasons for using a complex tool is it’s stickiness > factors; normally a combination of familiarity (hence speed) with a > lot of powerful features and non-transportable customisation.> > Putting stickiness factors aside, what features in other editors/IDE’s > would you like to see in DrRacket?> > Kind regards, > > Stephen > > > -- > Kind regards, > Stephen > -- > Ealing (London), UK > > -- > 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.
[racket-users] Alternatives to DrRacket
Hi, I’ve noticed some list members use other editors or IDE’s. I know two big reasons for using a complex tool is it’s stickiness factors; normally a combination of familiarity (hence speed) with a lot of powerful features and non-transportable customisation. Putting stickiness factors aside, what features in other editors/IDE’s would you like to see in DrRacket? Kind regards, Stephen -- Kind regards, Stephen -- Ealing (London), UK -- 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.