Hi Jeremy, I'd be happy to make Emacs + Geiser work better on Windows.
It would be a great first step if you could file a bug on the Geiser GitHub page that reports the issue in detail. From there you can track the progress as I whittle away at it. -Dan Jeremy Steward <jer...@thatgeoguy.ca> writes: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hey all, I've worked using CHICKEN on Windows recently, and while I > don't want to cite a holy war, I'll try to weigh in where I can. The > below thoughts are my own, so don't treat this as if I'm dictating > which editor is best, it's just my opinion. This is also my first > message on the mailing list, so hi! > > First and foremost, I am unaware of any general purpose IDE for any > Scheme language outside of DrRacket, so I cannot recommend something > specially tailored. I imagine you really just want to be able to send > text to the REPL, whether it's within the editor itself or something > better than cmd.exe. The options then become one of the following: > > * SublimeText / SublimeREPL (version 2 or 3) > * Emacs + Geiser > * Emacs + SLIME > * Vim + slimv > * Any editor + a better console emulator to paste code in > > I use / have used all of the above with the exception of SublimeText, > so I have a fairly rough idea of how each of them plays out. The best > Scheme development experience in my opinion is Emacs + Geiser > (http://www.nongnu.org/geiser/), but it's not the easiest to take > advantage of, mostly because it requires that you be able to call csi > from the cmd.exe on Windows. As someone who mostly takes advantage of > CHICKEN via cygwin, this poses a problem as you need to ensure you > don't link CHICKEN to cygwin.dll when building. If this is over your > head, or you don't know what cygwin is, you likely don't have to worry > about it. > > Emacs + SLIME comes close, but the chicken-slime egg doesn't contain > all the features that you expect from a full SWANK server for various > reasons (things like undef, etc.), and requires that you have a > separate console window running the local SWANK server, which may or > may not be annoying. > > Vim + slimv is basically the same as Emacs + SLIME, and is personally > what I use. I like vim for various reasons, mostly due to preference > of the keybinds (which are slightly harder to learn than Emacs, to be > fair). A lot of Lisp/Scheme users will probably tell you to leave vim > behind since Emacs is the holy gospel of parentheses development, but > honestly it's not much worse and after a little customization I > believe it to be better for my workflow. > > All said and done, Geiser is a much better (IMO) way of interacting > with Scheme code / the REPL, and is likely where you'll see more > developments in the future. My understanding here is that the author > of the chicken-slime egg is the same person who contributed the code > necessary to get chicken working with scheme. > > If you want to set up Emacs with either SLIME or Geiser easily, be > sure to check out Spacemacs (https://github.com/syl20bnr/spacemacs), > which is an interesting project to get an Emacs installation that's > easy to set up and easy to configure for beginners. You can even use > vim keybinds via Emacs' Evil plugin, if you want, but I think in this > case you'd likely not want to. It asks you what keybinds you want to > use when you first start it up, so it doesn't really matter. > > Lastly, if you think all the above is still too much effort and you > just want to use Notepad++ or some other text editor, and you just > want to be able to easily paste code into a terminal, check out cmder > on Windows (http://gooseberrycreative.com/cmder/). It's a better > terminal emulator that wraps around cmd.exe and comes with some nicer > defaults. You can paste code easily using Ctrl+Shift+v or > Shift+insert, and most of the keybinds are customizable if you really > want it. Although it's not as integrated as Emacs + Geiser or Emacs + > SLIME, it is one of the easier solutions to get up and running. I > personally use cmder for everything when I'm on windows, from cygwin > shells to Powershell to the very occasional cmd.exe. > > That's about all I can say about development on Windows. Unfortunately > we don't have a fully fledged IDE like DrRacket, but there's some > pretty cool stuff out there to get started. > > If you do have further questions regarding any of the above, don't > hesitate to email me, as I can try to help walk you through the > process (unless you're trying to use SublimeText, haha). > > Regards, > > P.S. As a final note Windows Powershell is not bad at all, it's just > not bash / zsh. In terms of functionality it's quite good, and with > chocolatey/PSReadline it gets even better. Anyways, food for thought. > > On 22/04/15 04:25 AM, mfv wrote: >> Hello Abby, >> >> please forgive me the late and short reply. I am currently under an >> extreme time shortage due to business and family matters (yes, best >> of the world at once). >> >> I would suggest you to try the solution that worked for me back >> then. >> >> I got my chicken emacs package to work with the kind help of >> 'bahman', whom I met either on this list or in #chicken. >> Unfortunalty, I did not write down any step by step guide back >> then. However, as far I can remember, the usage of the package was >> fairly simple: add the package it to your folder, and run C-u M-X >> run-scheme on a frame. >> >> The package can be found at: >> >> https://www.dropbox.com/sh/rxjt0bn5enpw4vn/AAAdvn2C_l_6qZU5PmWCMYxoa?d > l=0 >> >> Cheers, >> >> Piotr >> >> >> >> On Mon, Apr 13, 2015 at 01:10:09PM -0700, Abby A wrote: >>>> >>>> [Chicken-users] IDE for Beginners >>>> <https://www.mail-archive.com/search?l=chicken-users@nongnu.org&q=su > bject:%22%5BChicken-users%5D+IDE+for+Beginners%22&o=newest> >>>> >>>> >>>> > mfv >>>> <https://www.mail-archive.com/search?l=chicken-users@nongnu.org&q=fr > om:%22mfv%22> >>>> Tue, 02 Dec 2014 05:12:32 -0800 >>>> <https://www.mail-archive.com/search?l=chicken-users@nongnu.org&q=da > te:20141202> >>>> >>>> >>>> > Hi there, >>>> >>>> I am currently using Sublime Text 2 with Sublime REPL to fool >>>> around with Chicken Scheme. It does not work perfect, but until >>>> now it has been the best solution apart from using the REPL in >>>> the command prompt in Windows 7. >>>> >>>> However, it seems that sublimeREPL can not handle larger data >>>> structures. I froze once I read it a 20 kB cvs file. >>>> >>>> I have fooled around with a couple of other editors that have a >>>> REPL functionality, notably LightTable and Emacs. I liked the >>>> first option a lot, and was definatly overwhelmed bu the >>>> second. Emacs might be extremely usful, but I do not plan to >>>> learn all those crypting commands to learn to write and REPL >>>> some scheme code. >>>> >>>> Is there a simplified version of EMACS with an installer for >>>> Windows based systems? >>>> >>>> What light weight REPL-IDE solution do you use except Emacs? >>>> Windows Power Shell (this was a joke.. )? >>>> >>>> Any nice guides on how to set up ST2/SublimeREPL properly? >>>> >>>> Cheers, >>>> >>>> Piotr >>>> >>>> >>>> >>>> >>> Hello Piotr, I am trying to run chicken scheme in emacs in a REPL >>> type mode with scheme file in upper-half window and REPL in the >>> lower-half window and to be able to seamlessly communicate. >>> >>> I am confused about my settings and it does not work properly. >>> >>> When I type C-c C-c after a simple define, I get something like >>> this in the lower REPL. >>> >>> (c) 2008-2013, The Chicken Team (c) 2000-2007, Felix L. >>> Winkelmann Version 4.8.0.5 (stability/4.8.0) (rev 5bd53ac) >>> linux-unix-gnu-x86 [ manyargs dload ptables ] compiled 2013-10-03 >>> on aeryn.xorinia.dim (Darwin) >>> >>> #;1> Error: unbound variable: compile >>> >>> Call history: >>> >>> <syntax> (compile (quote (begin (define (mult6 x) (* x >>> 6))))) <syntax> (quote (begin (define (mult6 x) (* x 6)))) >>> <syntax> (##core#quote (begin (define (mult6 x) (* x 6)))) >>> <eval> (compile (quote (begin (define (mult6 x) (* x 6))))) >>> <-- >>> >>> Basically, I need some help and explanation on your instructions >>> to move step by step with proper understanding of the system of >>> communication assumed by you so I can debug it. >>> >>> There is a lot of confusion simply because of several systems. >>> Geiser only supports guile and racket. The quack.el under ubuntu >>> release - "Ubuntu 14.04.2 LTS", namely the package >>> "emacs-goodies-el" which gives a broken message but nevertheless >>> installs a bunch of .el files like geiser and quack. >>> >>> Definitely, I need some help and pointers with your Generosity. >>> >>> cheers Abby >>> >>> >>> Here is a diagnostic from apt. >>> >>> % apt show emacs-goodies-el Package: emacs-goodies-el Priority: >>> optional Section: editors Installed-Size: 3,592 kB Maintainer: >>> Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com> >>> Original-Maintainer: Peter S Galbraith <p...@debian.org> Version: >>> 35.8ubuntu2 Replaces: emacs-goodies-extra-el Provides: >>> emacs-goodies-extra-el Depends: emacs24 | emacsen, bash (>= >>> 2.05a) | bash-static, dpkg (>= 1.15.4) | install-info Recommends: >>> dict, wget, perl-doc Download-Size: 654 kB Bugs: >>> https://bugs.launchpad.net/ubuntu/+filebug Origin: Ubuntu >>> Supported: 5y APT-Manual-Installed: yes APT-Sources: >>> http://archive.ubuntu.com/ubuntu/ trusty/main i386 Packages >>> Description: Miscellaneous add-ons for Emacs This package >>> contains: align-string - align string components over several >>> lines; all - edit all lines matching a given regexp; apache-mode >>> - major mode for editing Apache configuration files; ascii - >>> ASCII code display for character under point; auto-fill-inhibit - >>> finer grained control over auto-fill-mode; bar-cursor - change >>> your cursor to a bar instead of a block; bm - visible bookmarks >>> in buffers; boxquote - quote texts in nice boxes; browse-huge-tar >>> - browse tar files without reading them into memory; >>> browse-kill-ring - browse, search, modify the kill ring; clipper >>> - save strings of data for further use; coffee - now Emacs can >>> even brew coffee; color-theme - changes the colors used within >>> Emacs; csv-mode - major mode for comma-separated value files; >>> ctypes - enhanced Font lock support for custom defined types; >>> dedicated - make a window dedicated to a single buffer; df - >>> display in the mode line space left on devices; dict - wrapper >>> around the 'dict' command. (Depends on bash and dict) diminish - >>> shorten or erase modeline presence of minor modes; dir-locals - >>> provides directory-wide local variables; edit-env - display, >>> edit, delete and add environment variables; egocentric - >>> highlight your name inside emacs buffers; eproject - assign files >>> to projects, programatically ff-paths - $PATH-like searching in >>> C-x C-f; filladapt - enhances Emacs's built-in adaptive fill; >>> floatbg - slowly modify background color; framepop - display >>> temporary buffers in a dedicated frame; graphviz-dot-mode.el - >>> mode for the dot-language used by graphviz (att). >>> highlight-beyond-fill-column - highlight lines that are too >>> long; highlight-completion - highlight completions in the >>> minibuffer; highlight-current-line - highlight line where the >>> cursor is; home-end - alternative Home and End commands; htmlize >>> - HTML-ize font-lock buffers; initsplit - split customizations >>> into different files; joc-toggle-buffer - fast switching between >>> two buffers; joc-toggle-case - a set of functions to toggle the >>> case of characters; keydef - a simpler way to define key >>> mappings; keywiz - Emacs key sequence quiz; lcomp - >>> list-completion hacks; maplev - major mode for Maple; map-lines - >>> map a command over lines matching a regexp; markdown-mode - major >>> mode for editing Markdown files; marker-visit - navigate through >>> a buffer's marks in order; matlab - major mode for MatLab dot-m >>> files; minibuf-electric - electric minibuffer behavior from >>> XEmacs; minibuffer-complete-cycle - cycle through the >>> *Completions* buffer; miniedit - enhanced editing for minibuffer >>> fields; mutt-alias - lookup and insert the expansion of mutt mail >>> aliases; muttrc-mode - major mode for editing Mutt config files; >>> obfusurl - obfuscate an URL; pack-windows - resize all windows to >>> display as much info as possible; perldoc - show help for Perl >>> functions and modules. (Depends on perl-doc); pod-mode - major >>> mode for editing POD files; pp-c-l - display Control-l characters >>> in a pretty way; projects - create project-based meaningful >>> buffer names; prot-buf - protect buffers from accidental >>> killing; protocols - perform lookups in /etc/protocols; quack - >>> enhanced support for editing and running Scheme code; rfcview - >>> view IETF RFCs with readability-improved formatting; services - >>> perform lookups in /etc/services; session - saves settings >>> between Emacs invocations and visits to a file; setnu - >>> setnu-mode, a vi-style line number mode; shell-command - enables >>> tab-completion for shell-command; show-wspace - highlight >>> whitespaces of various kinds; silly-mail - generate bozotic mail >>> headers; slang-mode.el - a major-mode for editing S-Lang >>> scripts; sys-apropos - interface for the *nix apropos command; >>> tabbar - Display a tab bar in the header line; tail - "tail -f" a >>> file or a command from within Emacs; tc - cite text with proper >>> filling; thinks - quote texts in cartoon-like think bubbles; tlc >>> - major mode for editing Target Language Compiler scripts; tld - >>> explain top-level domain names; todoo - major mode for editing >>> TODO files; toggle-option - easily toggle frequently toggled >>> options; twiddle - mode line hacks to keep you awake; under - >>> underline a region with ^ characters; upstart-mode - mode for >>> editing upstart files; xrdb-mode - mode for editing X resource >>> database files. . See /usr/share/doc/emacs-goodies- >>>> >>>> el/README.Debian.gz for a short description of all files, or >>>> the Info node `emacs-goodies-el' for details. >> >> _______________________________________________ Chicken-users >> mailing list Chicken-users@nongnu.org >> https://lists.nongnu.org/mailman/listinfo/chicken-users >> > > - -- > Jeremy Steward > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQIcBAEBAgAGBQJVOHWTAAoJEHVwwAZUeZnZCa0QAJoqQF2xtSXmttuZpssaAxLY > 87D5KP1lcJ9AmyXGCeWGlIvv+mTET6oBwtW9TLJFvMYx7RzBwBQFxmu4Hk94reMN > 9845D7mXQCTWLAVHDfJ0Q8KfWKSgmouWE+tIEOMdliDky+ikcoNtGkD3bCLNBM/G > wRhj14vrlIx80QbG9uDVLYgoNBs5nkbopTT3nfVXq8TwY8Cc0x+IhOPo1kNCxCfk > QLdvVfeEw48HvWdKhm/H0MPgx/+iB9uyxkk+XgRMbQJpuRxqe5NcRPgBpaYpx0E9 > cXn38ODRYtE7pWzLCriewsBLSNwFXNdT1bNfl7hjA4fgz3vdUOmp1dVPsyU3trif > ADEatcee8wWEa0Bsggeb264iYNKEqwrpw18x7z/lvNLlHUeOW8Sud90QOYHyBa18 > qtn0mkHFrTSs4A3f7GpS4nWreGokolkkysFbRmS1aDbIgEDCKVZjhRPMoaPZdjJf > CpXmMMGKrqwI1G77xkBlbZ3j4bho9QAEqG99QKIqXr156RPEzxE6elaOBruJwW4t > bozng/LpjHA2RD48+fjT6cjcxHL3rJtLpvbg++PX96iOVnf8Whm5ltWWhTG0B03H > 0DYSd+jHajMhRGsOqCjbvnJkw1OK4+Oj/NrycpmqW5jbWMRAN70OD0LaBlHCFEkT > rq8YH1M+FgtOzrsdk0uy > =3Q/3 > -----END PGP SIGNATURE----- > > _______________________________________________ > Chicken-users mailing list > Chicken-users@nongnu.org > https://lists.nongnu.org/mailman/listinfo/chicken-users -- -Dan Leslie _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users