last day (27 days later) » 

9:45 AM
@empedokles Let's chat in here.
What OS(distribution) are you using?
 
9:58 AM
Hello Matthew, I'm using Ubuntu 15.04 currently. I thought about switching to Debian, but it's probably a bit of a big Boys OS.
 
:)
In order to install SBCL you should run sudo apt-get install sbcl in your terminal.
 
I already have it, I also have installed Emacs.
 
Great.
So please try to install quicklisp now from official source.
 
It's in the Ubuntu store. Shall I use this one? (cl-quicklisp)
 
No. Get it from here
 
10:13 AM
 
I know; that's not what you want. It's easier if you get quicklisp directly from their site.
 
Where shall I put the .lisp file?
 
Doesn't matter; you'll run it as script.
It's safe to place it in ~/Downlaods
~/Downloads*
 
I put it directly in ~/
Not sure about the process. The instruction says "You only need to load quicklisp.lisp once to install Quicklisp." But then goes on to speak about the process after the installation: "See Loading After Installation for how to load the installed Quicklisp into your Lisp session after the initial installation."
 
Yes; you need to load it once to install, then add to your .sbclrc so that quicklisp(the installed one) is loaded each time you run SBCL
If you follow the instructions step-by-step you should be fine
 
10:28 AM
So directly from the command line with?: curl -O beta.quicklisp.org/quicklisp.lisp
 
The instructions with curl are explicit instruction for download step. If you have it already in your ~/, you can bypass it and go directly to sbcl --load step
 
10:44 AM
Okay, I seem to have intalled it:
#P"/home/nuc/.sbclrc"
* (quit)
nuc@nuc:/$
 
10:55 AM
Great. Now run sbcl once again(just type sbcl in terminal)
We'll install slime too, using quicklisp.
Run sbcl from terminal
Then type (ql:quickload "quicklisp-slime-helper")
You'll get the instructions from the script; do as it says.
After that, you should have SLIME installed.
(you can run it in Emacs using M-x slime)
 
What's with: (load "~/quicklisp/setup.lisp") ?
 
Oh; did you run (ql:add-to-init-file) ?
 
Yes, I did. It's in the installation instruction.
 
So what about the load call you said?
Ah; I see; you're asking about why it's written down below.
Well, if you read the rest of paragraph, you'll see that it's added automatically by #'add-to-init-file.
 
Ah, I see. Why was it installed in: #P"/home/nuc/.sbclrc" without that quickslip directory?
Okay. After I runned your qucilisp-slime-helper it states:
"To use, add this to your ~/.emacs:

(load (expand-file-name "~/quicklisp/slime-helper.el"))
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "sbcl")


("quicklisp-slime-helper")
"
And slime is running in Emacs.
 
11:39 AM
Can I remove quicklisp.lisp sitting in my ~/ now? Or is it still needed?
 
You can remove it now.
 
What about "test.lisp, test.html, test" inside ~/?
As for that mentioned .emacs file where. It couldn't be found.
 
I don't know anything about test.lisp and test.html.
What do you mean by .emacs couldn't be found?
It should lie in ~/ (home directory). Remember that it's hidden file, so to see it you need to use ls -a
 
11:54 AM
I guess these fukes were created during installation?
Oh yeah, but it's empty currently.
So basically putting:

(load (expand-file-name "~/quicklisp/slime-helper.el"))
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "sbcl")


("quicklisp-slime-helper")
In there doesn't require me to fire up slim with your command above?
 
No. You only need to put the first three lines. Don't put ("quicklisp-slime-helper") there.
Also, this will merely allow you to run slime - not run slime for you.
Just press M-x and type slime, then press enter.
You'll get to Slime in no time.
if you're new to Emacs, consider going through tutorial first. After that, use Emacs to do text editing, etc. Soon enough you'll see that it boosts your productivity.
You may also want to read about adding Paredit, auto-complete, and maybe smartparens.
These are really useful.
As for development in Common Lisp, this might be interesting to you:
Nice video showing how live programming in Lisp is fun and easy.
 
For what is the change in .emacs needed? I could run it without that change.
 
Emacs is text editor with great customization ability. You can do anything in Emacs.
You can write games that you play in Emacs, you can write scripts that will indent programs for you, you can use it as an operating system.
Mostly you just use it as a very good text editor.
.emacs is file where you customize your emacs - change default fonts, set color styles, add custom commands or shortcuts, load add-ons, etc.
So yes- emacs will work fine without .emacs file; however, after some time you'll want more from Emacs - and you will need your .emacs to achieve that.
After few months/years you'll end up with quite large .emacs, which will reflect your customized version of emacs. You'll probably want to back it up somewhere and make it easily accessible - using emacs without your customizations will feel stupid and redundant.
That's mostly how it works.
 
12:21 PM
What exaclty does:
(load (expand-file-name "~/quicklisp/slime-helper.el"))
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "sbcl")
 
The first line loads slime-helper - a script that loads SLIME for you, to your current emacs.
Second one is comment.
Third one sets default compiler for SLIME to sbcl.
Are you just starting learning Common Lisp?
 
So I don't have to use M-x slime anymore?
Yes. :)
 
You have to!
Well, you don't know emacs at all, so this may be hard :)
 
So I guess I can use (ql:quickload "paredit") and so on to load those fancy packages?
 
SBCL is good compiler, so stick to that.
And if you need some help with Lisp, you may want to join IRC - freenode.net , and channel is called #lisp. There are many lisp folks who may help you. And if you want to ask on SE, don't use Unix&Linux, but rather StackOverflow or(if you want something about emacs) - Emacs Stack Exchange.
First recommendations: Practical Common Lisp and On Lisp are nice lisp books. I've heard nice things about Land of Lisp, but haven't read it myself.
And no, it's not like that.
Let me try to explain it to you.
 
12:29 PM
Too bad I ordered little schemer first. :)
 
Emacs is text editor that uses Emacs Lisp as its programming language for add-ons and such.
 
I hope it won't diverge as much.
 
Practical Common Lisp and On Lisp are both free - go grab them from Internet.
Although Little Schemer is probably better as introduction. You can tell us later :)
However, you need to know when you're writing in which Lisp. When you want to customize emacs or use its functions, you're writing Elisp(emacs lisp).
When you're coding in Common Lisp or interfacing through SLIME with CL Repl, it's Common Lisp.
Quickload is module for Common Lisp. Paredit is plug-in(or Package, as they're called in Emacs) for Emacs.
Can you see that it makes little sense to load Paredit through Common Lisp?
Actually Emacs Lisp and Common Lisp are really similar, so that's good for you.
Actually Emacs Lisp and Common Lisp are really similar, so that's good for you.
 
Is Scheme very different from CL?
So your last recommendations are all plugins for emacs?
 
Which ones?
Scheme differs from CL. Lisp is Lisp - switching from one to another isn't too hard, but some differences make writing many scripts different.
 
12:40 PM
Paredit, auto-complete and smartparens. Is any real software written in Scheme (or is it more of an educational dialect)?
 
These are Emacs packages.
Depends on what you mean by real software. I don't know of many commercial or popular programs written in Scheme, but it doesn't mean it's educational dialect. It's powerful language capable of many things.
It could as well replace Python(and I'd be glad if it happened), but it'd be as slow; both are interpreted.
Well, maybe Scheme would be faster a bit.
 
Oh, Scheme is interpreted? I didn't know that.
I've heard of a Scheme called Chicken.
 
Maybe I got it wrong, but I thought that scheme is mostly interpreted. However, chicken looks like Scheme-to-C compiler.
 
What's the basic routing to install plugins in emacs?
 
M-x packages-list-package , find package you're interested in, get cursor on its name, press enter, select "install".
And then edit your .emacs to customize freshly installed package.
You'll need to get used to fact that in Emacs you hardly ever use mouse. In fact, it's not needed at all - keyboard is way faster and comfrotable.
comfortable*
As for real-time uses of scheme: it's core is really really small - this makes it perfect to embed it somewhere. That's what folks creating Final Fantasy movie did - they decided to strip Scheme from unnecessary things they didn't need, change it a bit, write interpreter for it and plug it into their project.
 
12:54 PM
Hmm.. M-x packages-list-package shows [no match]
 
package-listp-packages*
 
I also found Options->Manage Packages, but these might be only the already installed ones.
 
list-packages*
This is the same, but I'm trying to teach you how to use Emacs the way it was intended to use.
:)
 
;) - Seems to do the job, but I can't find Paredit, only Python :)
 
oh
Yeah, because you're only using default repository.
Wait a second
You can study it and see how I'm using it. Basically if you add it and then install packgaes, it should work.
First line will make package-list-packages show Paredit and others.
 
1:05 PM
Thanks. They might have a website. I'll figure out later. And how to change the background to black. :)
 
1:17 PM
ample-theme
I use it.
You can install it the same way as other packages, and then just add the line from my .emacs about ample-theme
 
Can't find it either or Melpa as they state here:
 
Did you add the first line of my .emacs to your .emacs?
Also, remember that .emacs is only loaded at emacs startup - to re-load it, you should restart your emacs.
 
1:46 PM
Not yet. I added the top box from:
 
My configuration also features marmelade sources.
 
Seems like it's the same line.
I could install the theme.
I also could install autocomplete and paredit over list-packages now. Is it necessary that they have entries in .emacs?
One thing I couldn't quite figure out is how I get back to SLIME after installing a package
 
2:22 PM
C-x b
and select slime repl
I'm not sure if requiring them in .emacs is obligatory, but it won't hurt
 
2:36 PM
Still a bit awkward to use. It's often doing .. something. :)
 
What is doing something?>
And what is awkward to use?
 
Not sure. ;) It gets tricked up with some commands and the keyboard seems blocked.
For instance if I got a traceback. How do I get back to the REPL?
 
You need to select proper restart.
When you encounter an error, output of error is displayed in separate buffer so that you may see latest actions in repl.
But buffer with error gets focus, so you can just type proper restart's code and be done with it
 
Where to select proper restart?
 
In buffer that pops up.
 
2:52 PM
Abort or Retry?
 
3:06 PM
Depends on your intention. You need to read the output, not blindly follow the commands.
Retry will try running the command again. It might help if e.g. you run command that requires internet connection, but when you called there wasn't any.
Abort simply gives up on call. In most cases it's what you want - you misused some function, passed wrong argument, didn't pass argument, made a typo, etc.
 
3:25 PM
Are these only selectable by mouse? :)
 
 
1 hour later…
4:34 PM
Thank you very much getting me started with Emacs.
 

  last day (27 days later) »