(post :title "Guile Studio" (h1 [Guile Studio]) (p [Picture this scene: ,(ref "/elephly.html" "Chlodwig") wants to learn ,(ref "https://gnu.org/software/guile" "Guile") and asks for the best editor for writing and editing Guile Scheme code. The friendly folks on the ,(ref "https://logs.guix.gnu.org/guile" "#guile IRC channel") recommend ,(ref "/posts/2016-02-14-ilovefs-emacs.html" "Emacs"). Chlodwig does not know what Emacs is, but installs it, giddy with anticipation to play with Guile.]) (p [Emacs presents itself as a diamond in the rough. Chlodwig only sees the impermeable rocky surface, unable to reveal its hidden beauty. By the time Chlodwig has finished imagining the process of ,(ref "https://en.wiktionary.org/wiki/yak_shaving" "shaving a yak") to learn how to configure Emacs in order to set it up to be an environment conducive to playing with Guile, the inital spark of motivation has faded.]) (p [Guile Studio is for Chlodwig.]) (wide-img "/images/guile-studio.png" "A screenshot of Guile Studio with a custom splash screen, a code buffer, and a REPL session showing the picture language.") (p [Guile Studio is a development environment for playing with Guile Scheme. It is really just a pre-configured Emacs with a few settings that make working with Guile easier for people who find Emacs confusing. The features include:]) (ul (li [dedicated documentation pane]) (li [tool bar icons to evaluate Guile code or look up documentation]) (li [REPL interaction with Geiser]) (li [tab bar for source files]) (li [code completion]) (li [syntax checking]) (li [unsurprising copy/paste/undo keys]) (li [support for Guile's very own ,(ref "/guile-picture-language" "picture language")]) (li [simple mode line])) (h2 [I Want That!]) (p [You can install Guile Studio with ,(ref "https://guix.gnu.org" "Guix"). Just run ,(code [guix install guile-studio]).]) (h2 [Help needed]) (p [There are many more things that can be done to make Emacs less confusing for people who use it just as a Guile IDE. I would be happy to hear your suggestions or apply patches to improve Guile Studio!]) (h2 [Resources]) (ul (li (ref "https://git.elephly.net/software/guile-studio.git" "Source code repository"))))