2015-02-06T00:00:06Z tokenrove: axion: how did you package things up? did you use buildapp or did you save-lisp-and-die directly? 2015-02-06T00:00:56Z axion: no need for buildapp...i just wrote a single line compile.lisp with save-lisp-and-die 2015-02-06T00:01:02Z enitiz joined #lisp 2015-02-06T00:01:14Z vaporatorius quit (Remote host closed the connection) 2015-02-06T00:01:31Z axion: well a few lines if you count quickload/in-package 2015-02-06T00:02:20Z tokenrove: cool. thanks! seems a lot less pain-filled than it used to be. 2015-02-06T00:02:23Z fe[nl]ix: axion: congratulations 2015-02-06T00:02:45Z axion: on what? :) 2015-02-06T00:03:32Z fe[nl]ix: making a game work on Linux and Win32 is an accomplishment 2015-02-06T00:04:05Z axion: ah...i didn't need to do anything platform specific as of yet. maybe i will eventually run into such issues you speak of :) 2015-02-06T00:04:16Z kephra quit (Ping timeout: 252 seconds) 2015-02-06T00:05:50Z fe[nl]ix: axion: I'm happy for you 2015-02-06T00:05:58Z fe[nl]ix: this deserves blogging 2015-02-06T00:06:48Z axion: heh, i am just learning tbh. and i just very recently started blogging about the process 2015-02-06T00:07:10Z nugnuts joined #lisp 2015-02-06T00:07:54Z |3b|: tokenrove: last time i tried, sbcl had some subtle thread problems on windows, at least to the point it couldn't pass the tests... haven't noticed it in normal use though 2015-02-06T00:08:17Z rtra quit (Ping timeout: 250 seconds) 2015-02-06T00:09:51Z kephra joined #lisp 2015-02-06T00:11:00Z Karl_Dscc joined #lisp 2015-02-06T00:12:09Z ebrasca joined #lisp 2015-02-06T00:12:32Z ebrasca quit (Client Quit) 2015-02-06T00:13:46Z rtra joined #lisp 2015-02-06T00:17:41Z tokenrove: |3b|: that's what i feared. i have used ccl in the past when i've needed to deliver on windows, but it sounds like the problems aren't as bad now. still, debugging subtle thread problems on my least favorite platform does not tempt me. 2015-02-06T00:18:27Z |3b|: might just work, most people don't do the sort of things the test suite does :) 2015-02-06T00:23:27Z Jesin quit (Ping timeout: 264 seconds) 2015-02-06T00:24:28Z Jesin joined #lisp 2015-02-06T00:24:29Z a20150205 joined #lisp 2015-02-06T00:25:19Z resttime_ joined #lisp 2015-02-06T00:26:22Z john-mcaleely quit (Ping timeout: 240 seconds) 2015-02-06T00:26:31Z john-mcaleely joined #lisp 2015-02-06T00:28:09Z resttime quit (Ping timeout: 245 seconds) 2015-02-06T00:34:53Z edgar-rft joined #lisp 2015-02-06T00:36:18Z profess joined #lisp 2015-02-06T00:38:26Z cdtaylor quit (Remote host closed the connection) 2015-02-06T00:39:37Z bjorkintosh quit (Ping timeout: 250 seconds) 2015-02-06T00:41:59Z bjorkintosh joined #lisp 2015-02-06T00:44:55Z linux_dream joined #lisp 2015-02-06T00:46:01Z linux_dream: hi people. my lispbox IDE stopped to work, so I downloaded Emacs instead, but I am still unable to execute lisp code 2015-02-06T00:46:08Z kcj joined #lisp 2015-02-06T00:46:26Z linux_dream: I created a file called test.lisp with a single line in it : (+ 1 1) 2015-02-06T00:47:06Z emaczen: linux_dream: What dialect of lisp do you wish to use? 2015-02-06T00:47:06Z linux_dream: I followed google's tip to execute Common Lisp code in Emacs but that did not work. (alt+x lisp-mode for instance) 2015-02-06T00:47:13Z linux_dream: Common Lisp 2015-02-06T00:47:46Z emaczen: linux_dream: It's pretty standard to use slime (a common lisp mode for emacs) 2015-02-06T00:48:01Z oGMo: linux_dream: get a common lisp, get slime, use slime to run or connect to lisp, then it'll work 2015-02-06T00:48:15Z emaczen: linux_dream: do you know how to use emacs? 2015-02-06T00:48:30Z linux_dream: I see. but I use an Arch linux derivative and slime does not appear in the AUR as a stable version (only the git version is there), which seems scary to me 2015-02-06T00:48:38Z emaczen: M-x package-install slime 2015-02-06T00:48:40Z linux_dream: no, I am new to emacs 2015-02-06T00:48:48Z emaczen: Do you know what M-x is? 2015-02-06T00:48:54Z linux_dream: yes 2015-02-06T00:49:01Z linux_dream: Alt+x keys 2015-02-06T00:49:06Z emaczen: Are you using emacs 24 ? 2015-02-06T00:49:12Z linux_dream: I think so 2015-02-06T00:49:25Z linux_dream: my lisp compiler (I think), is SBCL 2015-02-06T00:49:28Z oGMo: and melpa 2015-02-06T00:49:28Z emaczen: M-x version will tell you 2015-02-06T00:49:55Z oGMo: SBCL would definitely be your CL 2015-02-06T00:50:05Z k-dawg joined #lisp 2015-02-06T00:50:11Z linux_dream: gnu emacs 24.4.1 2015-02-06T00:50:37Z emaczen: If you have emacs 24, then you can just simply do: 'M-x package-install' then enter 'slime' 2015-02-06T00:50:58Z linux_dream: according to the gnu emacs website if I visit a file that ends in .lisp , the external lisp mode is auto loaded or something like that 2015-02-06T00:50:58Z theseb quit (Quit: Leaving) 2015-02-06T00:51:18Z linux_dream: ok but do I really need slime? 2015-02-06T00:51:28Z oGMo: linux_dream: lisp-mode is only a piece of the puzzle; slime will actually make emacs talk to the lisp 2015-02-06T00:51:29Z emaczen: linux_dream: you should be able to get slime working in like 2 minutes 2015-02-06T00:51:37Z linux_dream: my goal is to edit or just read some code from time to time 2015-02-06T00:51:49Z linux_dream: okay I'm getting it 2015-02-06T00:52:36Z linux_dream: [No Match] is what I get 2015-02-06T00:52:44Z linux_dream: there's no package called slime 2015-02-06T00:53:19Z linux_dream: if I search in the AUR (Arch repository), there's only a git version of slime 2015-02-06T00:53:26Z linux_dream: so I guess unstable 2015-02-06T00:53:47Z oGMo: probably need melpa 2015-02-06T00:53:58Z oGMo: that said, just get the git version, it's what you'll want anyway ;P 2015-02-06T00:54:16Z linux_dream: that would be my first git package 2015-02-06T00:54:26Z linux_dream: I just hope that it doesn't get updated every time I reboot my pc.... 2015-02-06T00:54:45Z oGMo: git doesn't update unless you tell it to 2015-02-06T00:55:00Z linux_dream: ok then perfect, I'm getting it 2015-02-06T00:55:06Z hiroakip quit (Ping timeout: 245 seconds) 2015-02-06T00:56:16Z linux_dream: I'm confused on which package to download from the AUR 2015-02-06T00:57:16Z vdamewood quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-02-06T00:58:14Z ninjazach joined #lisp 2015-02-06T00:58:16Z linux_dream: well I'll go by the number of "votes" :) 2015-02-06T00:58:47Z emaczen: AUR? 2015-02-06T00:59:06Z linux_dream: yes the arch user repository 2015-02-06T00:59:21Z linux_dream: anyway I'm downloading slime 2015-02-06T00:59:24Z emaczen: I have never used arch, but I plan on it eventually :) 2015-02-06T00:59:41Z linux_dream: I use MAnjaro which is based on Arch (and therefore can use the AUR) 2015-02-06T00:59:51Z linux_dream: Manjaro is Arch made for noobs :) 2015-02-06T01:00:13Z eudoxia: i downloaded slime from quicklisp, and that works for me, so idk ;c 2015-02-06T01:00:15Z eudoxia: c; 2015-02-06T01:00:25Z emaczen: linux_dream: I'm a major emacs user and plan on just using emacs for everything on top of Arch... lol 2015-02-06T01:00:37Z linux_dream: :) 2015-02-06T01:00:49Z eudoxia quit (Quit: Leaving) 2015-02-06T01:00:52Z linux_dream: anyway it seems like it's compiling/building slime now 2015-02-06T01:01:36Z sheilong quit (Quit: Konversation terminated!) 2015-02-06T01:01:52Z linux_dream: ok done, installed. now what? :D 2015-02-06T01:03:09Z kephra quit (Ping timeout: 245 seconds) 2015-02-06T01:03:11Z linux_dream: I've started Emacs, opened my file with (+ 1 1) 2015-02-06T01:03:56Z emaczen: linux_dream: You might want to head over to #emacs as wel 2015-02-06T01:04:36Z linux_dream: ok thanks 2015-02-06T01:04:36Z emaczen: Most of the packages I use come from MELPA (the built in package manager, and so you don't really have to do anything) 2015-02-06T01:05:25Z emaczen: M-x slime will start your CL and will open up a REPL in a buffer 2015-02-06T01:05:45Z emaczen: Before that, you have to tell emacs where it can find the emacs sources to run slime 2015-02-06T01:06:56Z linux_dream: M-x slime returns [No match] 2015-02-06T01:07:14Z emaczen: linux_dream: Yeah, you are going to have to tell emacs where to find the emacs sources to run slime 2015-02-06T01:07:43Z emaczen: I did something recently with slime -- I'll look in my emacs initialization file and help you out 2015-02-06T01:08:26Z stardiviner quit (Ping timeout: 245 seconds) 2015-02-06T01:08:31Z emaczen: (add-to-list 'load-path "path-to-slime-directory") 2015-02-06T01:08:33Z kephra joined #lisp 2015-02-06T01:08:43Z emaczen: ^^ put that in your .emacs file 2015-02-06T01:08:53Z cadadar quit (Quit: Leaving.) 2015-02-06T01:09:17Z emaczen: .emacs on Ubuntu is in ~/.emacs.d -- I don't know what the Arch equivalent directory would be. 2015-02-06T01:10:35Z emaczen: linux_dream: Are you doing alright? 2015-02-06T01:12:08Z emaczen: can you expand a list into arguments inside a macro? 2015-02-06T01:12:17Z camm` joined #lisp 2015-02-06T01:13:13Z linux_dream: almost all right. dunno how to make slime work but found out how to execute lisp code with emacs 2015-02-06T01:13:58Z emaczen: What I mean by expand a list into arguments inside a macro is -- If I pass '(arg1 arg2 arg3) into my macro how can I expand this into a variable number of arguments inside my macro? 2015-02-06T01:14:14Z emaczen: linux_dream: are you executing emacs-lisp? 2015-02-06T01:16:05Z pillton: The term macro is short for macro function. You can open a GUI window during macro expansion if you like. 2015-02-06T01:16:37Z emaczen: pillton: I mean, how do I do it? 2015-02-06T01:16:59Z pillton: emaczen: I mean, the same way you do it in a function. 2015-02-06T01:17:06Z emaczen: Right now, my macro fails because the function which it will eventually call takes a variable number of arguments and not a list 2015-02-06T01:17:13Z emaczen: pillton: I am newer to common lisp... 2015-02-06T01:18:12Z camm` quit (Ping timeout: 245 seconds) 2015-02-06T01:19:00Z Bike: you might want ,@ splicing. 2015-02-06T01:19:33Z pillton: http://hastebin.com/likesubotu 2015-02-06T01:20:02Z linux_dream: I don't know emacszen 2015-02-06T01:20:12Z linux_dream: apparently I didn't link slime to emacs yet 2015-02-06T01:21:02Z emaczen: pillton: what is the hastebin url for? 2015-02-06T01:21:14Z pillton: emaczen: http://paste.lisp.org/display/145669 2015-02-06T01:21:30Z kcj quit (Remote host closed the connection) 2015-02-06T01:21:54Z karswell joined #lisp 2015-02-06T01:22:07Z stardiviner joined #lisp 2015-02-06T01:22:34Z emaczen: pillton: the function which gets called has a rest parameter 2015-02-06T01:22:39Z emaczen: &rest 2015-02-06T01:23:20Z Karl_Dscc quit (Remote host closed the connection) 2015-02-06T01:23:25Z emaczen: so I can't just pass it the list 2015-02-06T01:24:11Z emaczen: maybe the terminology is "unpack a list"? 2015-02-06T01:24:32Z pillton: I'd do better if you paste what you have and what you want. 2015-02-06T01:24:36Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-06T01:24:42Z emaczen: pillton: sure, give me a second 2015-02-06T01:24:59Z kcj joined #lisp 2015-02-06T01:25:09Z linux_dream: ok installing slime from the AUR was a bad idea 2015-02-06T01:25:15Z linux_dream: it's from 2011 2015-02-06T01:25:28Z linux_dream: I should install it via the MELPA... but must install that first 2015-02-06T01:25:37Z huza joined #lisp 2015-02-06T01:25:52Z kraehe joined #lisp 2015-02-06T01:27:47Z emaczen: pillton: http://paste.lisp.org/display/145670 2015-02-06T01:27:57Z emaczen: linux_dream: I'll help you out -- the more people that use emacs the better! 2015-02-06T01:28:12Z kephra quit (Ping timeout: 244 seconds) 2015-02-06T01:28:14Z emaczen: (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") 2015-02-06T01:28:14Z emaczen: ("marmalade" . "http://marmalade-repo.org/packages/") 2015-02-06T01:28:14Z emaczen: ("melpa" . "http://melpa.milkbox.net/packages/"))) 2015-02-06T01:28:16Z Bike: `(called-by-macro ,arg3 ,@many) 2015-02-06T01:28:23Z bgs100 joined #lisp 2015-02-06T01:28:45Z emaczen: linux_dream: put what I pasted above in your .emacs file 2015-02-06T01:31:14Z innertracks quit (Quit: innertracks) 2015-02-06T01:31:20Z linux_dream: i can't find my .emacs file 2015-02-06T01:31:32Z linux_dream: locate .emacs returns emacs.d which is a folder 2015-02-06T01:31:40Z linux_dream: .emacs.d 2015-02-06T01:31:45Z emaczen: linux_dream: you have to make it 2015-02-06T01:31:50Z linux_dream: oh... 2015-02-06T01:31:57Z emaczen: Yes! create the .emacs file inside of .emacs.d 2015-02-06T01:32:27Z linux_dream: done 2015-02-06T01:32:40Z linux_dream: then I copy and paste : http://melpa.org/#/getting-started ? 2015-02-06T01:32:49Z antonv` quit (Ping timeout: 264 seconds) 2015-02-06T01:33:08Z linux_dream: apparently according to MELPA I should already have the .emacs file 2015-02-06T01:33:23Z linux_dream: I want to install/use melpa. then I'll get slime 2015-02-06T01:33:24Z emaczen: copy and paste all of what I pasted n 2015-02-06T01:33:53Z emaczen: It should start with (setq package-archives 2015-02-06T01:33:57Z linux_dream: you mean the 3 lines? 2015-02-06T01:33:59Z linux_dream: ok 2015-02-06T01:34:09Z emaczen: Yes -- show me what you have pasted in 2015-02-06T01:34:16Z linux_dream: well it's on my laptop so I have to manually write it 2015-02-06T01:34:21Z hitecnologys joined #lisp 2015-02-06T01:34:26Z hitecnologys quit (Client Quit) 2015-02-06T01:34:51Z emaczen: linux_dream: Ok, it should be fine 2015-02-06T01:36:23Z huza quit (Quit: WeeChat 0.3.8) 2015-02-06T01:37:12Z linux_dream: ok done 2015-02-06T01:37:17Z emaczen: sweet! 2015-02-06T01:38:08Z defaultxr joined #lisp 2015-02-06T01:38:09Z linux_dream: now when I start emacs , M-x slime should work? 2015-02-06T01:38:13Z emaczen: Are you running emacs right now or no? If you are, you can open the .emacs file and evaluate that form. 2015-02-06T01:38:26Z linux_dream: not right now but I can start it 2015-02-06T01:38:58Z emaczen: linux_dream: Start emacs. It will execute those forms that you wrote. 2015-02-06T01:39:12Z emaczen: Those forms just tell emacs how to download packages from MELPA 2015-02-06T01:39:16Z linux_dream: I started it 2015-02-06T01:39:22Z emaczen: no errors? 2015-02-06T01:39:29Z linux_dream: no error 2015-02-06T01:39:31Z emaczen: good 2015-02-06T01:39:40Z emaczen: Now try, M-x package-install 2015-02-06T01:39:42Z linux_dream: so I try to install slime now? 2015-02-06T01:39:49Z emaczen: correct 2015-02-06T01:40:01Z pjb: It's better to install slime using quicklisp-slime-helper, ie. to install quicklisp first. 2015-02-06T01:40:03Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2015-02-06T01:40:13Z linux_dream: ...... I still get the [No match] 2015-02-06T01:40:28Z pjb: http://cliki.net/Getting+Started 2015-02-06T01:40:30Z linux_dream: looks like emacs is unaware of my .emacs file 2015-02-06T01:40:45Z emaczen: C-x C-f opens files in emacs 2015-02-06T01:40:54Z pjb: C-x C-f ~/.emacs RET 2015-02-06T01:41:07Z Xach: Please troubleshoot emacs in private or in a more appropriate channel. 2015-02-06T01:41:39Z linux_dream: ok 2015-02-06T01:41:54Z emaczen: Bike: ,@many does not do what I would expect 2015-02-06T01:42:09Z pillton: emaczen: See my previous paste as to why. 2015-02-06T01:42:22Z Bike: (let ((x '(1 2 3)) (y 4)) `(foo ,y ,@x)) => (4 1 2 3) 2015-02-06T01:42:41Z Bike: foo 4 1 2 3 2015-02-06T01:43:11Z pillton: emaczen: You are quoting '(arg1 arg2 arg3). 2015-02-06T01:43:19Z pjb: (let ((x '(1 2 3)) (y 4)) `(foo ,y ,@x)) --> (foo 4 1 2 3) 2015-02-06T01:43:24Z pjb: is what I get here. 2015-02-06T01:44:11Z linux_dream: emcszen I must go eat now. I'll be in the #emacs channel for further help. can't get slime so far 2015-02-06T01:44:58Z emaczen: linux_dream: I'll be on #emacs later tonight -- maybe I'll see you there 2015-02-06T01:45:10Z linux_dream: ok nice :) 2015-02-06T01:45:30Z emaczen: pillton: yep -- I removed the quote that I passed to the macro and I got the functionality that I wanted. 2015-02-06T01:45:35Z emaczen: Thanks! 2015-02-06T01:46:04Z emaczen: linux_dream: I'm running an IRC chat client through emacs -- I would suspect a lot of people are doing that here as well. 2015-02-06T01:46:15Z emaczen: linux_dream: emacs should open a realm of new possibilities for you! 2015-02-06T01:46:26Z emaczen quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-06T01:52:50Z akkad: meh 2015-02-06T02:05:31Z linux_dream quit (Quit: Leaving) 2015-02-06T02:11:07Z stepnem quit (Ping timeout: 245 seconds) 2015-02-06T02:12:54Z taspat`` joined #lisp 2015-02-06T02:15:10Z zRecursive joined #lisp 2015-02-06T02:15:53Z ninjazach left #lisp 2015-02-06T02:16:23Z Harag joined #lisp 2015-02-06T02:20:08Z huza joined #lisp 2015-02-06T02:25:31Z EvW quit (Ping timeout: 245 seconds) 2015-02-06T02:25:42Z badkins joined #lisp 2015-02-06T02:31:14Z scymtym_ quit (Ping timeout: 244 seconds) 2015-02-06T02:33:39Z theseb joined #lisp 2015-02-06T02:33:45Z Denommus joined #lisp 2015-02-06T02:33:46Z a20150205 quit (Quit: Page closed) 2015-02-06T02:33:59Z Denommus quit (Changing host) 2015-02-06T02:33:59Z Denommus joined #lisp 2015-02-06T02:43:34Z holomorph joined #lisp 2015-02-06T02:43:49Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-06T02:45:57Z robot-beethoven joined #lisp 2015-02-06T02:48:04Z kapil__ joined #lisp 2015-02-06T02:50:23Z taspat``` joined #lisp 2015-02-06T02:50:24Z taspat`` quit (Read error: Connection reset by peer) 2015-02-06T02:52:26Z beach joined #lisp 2015-02-06T02:52:33Z beach: Good morning everyone! 2015-02-06T02:52:49Z pillton: Good morning beach. 2015-02-06T02:55:30Z pillton: beach: How is the paper on first class environments going? 2015-02-06T02:57:55Z nyef: Hello beach. 2015-02-06T02:57:56Z beach: pillton: Almost done I think. 2015-02-06T02:58:30Z pillton: Cool. I look forward to reading it. 2015-02-06T02:58:31Z beach: pillton: I need to review a few more of the existing articles I dug up. 2015-02-06T02:59:38Z beach: http://metamodular.com/environments.pdf 2015-02-06T03:00:52Z pillton: Ta. I will have a read over the weekend. 2015-02-06T03:01:09Z beach: Oh, and I claim there is "no performance penalty". That's not quite true. Functions such as FDEFINITION take the penalty of a hash-table lookup, as oppose to just a slot in the symbol. 2015-02-06T03:01:15Z holomorph left #lisp 2015-02-06T03:01:19Z zRecursive left #lisp 2015-02-06T03:01:26Z beach: I need to put that in too. 2015-02-06T03:01:40Z beach: pillton: Thanks. I would appreciate any comments that you may have. 2015-02-06T03:01:51Z Bike: i thought when i looked up how fdefinition actually works in sbcl it was more like a hash lookup 2015-02-06T03:02:04Z beach: I think it works that way, yes. 2015-02-06T03:02:11Z axion: is there an alternative of alexandria:symbolicate that will intern it into a specific package? 2015-02-06T03:02:16Z beach: But I can imagine implementations where there are 2 slots in the symbol. 2015-02-06T03:02:45Z pillton: Were there any multi-user lisp machines back in the day? 2015-02-06T03:02:55Z Bike: well, if you're going to give yourself that caveat you should at least put that caveat on the caveat 2015-02-06T03:03:00Z beach: pillton: I don't think so. 2015-02-06T03:03:14Z beach: Bike: Sure, good point. 2015-02-06T03:03:39Z Bike: axion: (let ((*package* whatever)) (symbolicate ...)) 2015-02-06T03:04:19Z axion: Bike: ah i didn't know you could do that....thats awesome :) 2015-02-06T03:07:28Z a20150204 joined #lisp 2015-02-06T03:08:36Z Harag1 joined #lisp 2015-02-06T03:08:57Z Harag quit (Ping timeout: 244 seconds) 2015-02-06T03:14:34Z MrWoohoo joined #lisp 2015-02-06T03:15:54Z oleo is now known as Guest14469 2015-02-06T03:15:59Z MrWoohoo quit (Client Quit) 2015-02-06T03:17:18Z nyef: beach: This global environments thing feels a bit weak with respect to package structure differences between environments. 2015-02-06T03:17:37Z oleo__ joined #lisp 2015-02-06T03:18:00Z smokeink quit (Remote host closed the connection) 2015-02-06T03:18:02Z beach: nyef: How so? 2015-02-06T03:19:07Z Guest14469 quit (Ping timeout: 265 seconds) 2015-02-06T03:19:28Z emaczen joined #lisp 2015-02-06T03:19:34Z beach: It used to be the case that names were properties of the package itself rather than of the environment, but then there would be no way to put them in a hash table in the environment, because then all environments would have to be informed when the names change. 2015-02-06T03:19:47Z nyef: I'm not sure I have a specific example to point to. 2015-02-06T03:20:10Z nyef: I'm more thinking of the symbols themselves. 2015-02-06T03:20:20Z nyef: Is the symbol-package also a property of the environment? 2015-02-06T03:20:25Z beach: No. 2015-02-06T03:20:56Z beach: SYMBOL-NAME and SYMBOL-PACKAGE are properties of the symbol. 2015-02-06T03:20:57Z nyef: What happens with a symbol that is accessible in a package that is accessible in the environment, but it's symbol-package is not? 2015-02-06T03:21:11Z nyef: s/it's/its/ Thwap! 2015-02-06T03:21:32Z beach: That's fine. 2015-02-06T03:21:56Z beach: Except that the package will have no name associated with it when it is printed. 2015-02-06T03:23:24Z beach: I guess the same thing happens as when someone does a DELETE-PACKAGE. 2015-02-06T03:25:52Z emaczen: So my macro eventually evaluates this function which requires some symbols 2015-02-06T03:26:20Z emaczen: Currently I am passing these as quoted symbols to the macro 2015-02-06T03:26:57Z emaczen: My goal here is to "clean up" how my macro is called -- i.e. remove quotes and extra parens 2015-02-06T03:27:50Z beach: emaczen: (defmacro mac (symbol) `(fun ',symbol)) 2015-02-06T03:27:53Z theseb quit (Quit: Leaving) 2015-02-06T03:28:31Z beach: emaczen: Terminology point: You CALL a FUNCTION and you EVALUATE a FORM. 2015-02-06T03:29:01Z nyef: Hrm. Does the reader also go via the environment? 2015-02-06T03:29:18Z beach: nyef: What part of the reader? 2015-02-06T03:29:33Z nyef: I'm still stuck on symbol and package games. 2015-02-06T03:29:35Z beach: nyef: Every function is "linked" wrt some environment. 2015-02-06T03:30:00Z beach: nyef: Yes, the reader has to do a FIND-PACKAGE and FIND-PACKAGE is an operation on the environment. 2015-02-06T03:30:31Z harish quit (Ping timeout: 245 seconds) 2015-02-06T03:31:05Z emaczen: beach: this works for part of my macro, but not some others 2015-02-06T03:31:20Z beach: emaczen: Sorry to hear that. 2015-02-06T03:31:22Z innertracks joined #lisp 2015-02-06T03:31:31Z emaczen: specifically, it does not work with a ,@args 2015-02-06T03:31:43Z innertracks quit (Client Quit) 2015-02-06T03:31:54Z Bike: not really specific enough i'm afraid 2015-02-06T03:32:13Z Bike: if you're doing ',@foo, of course that doesn't work, you'll end up with something like (quote foo bar baz) which is illegal 2015-02-06T03:34:30Z emaczen: Bike: how can I "apply" quote to each element in a list then? 2015-02-06T03:35:28Z Bike: (mapcar (lambda (sym) `',sym) syms) 2015-02-06T03:35:40Z Bike: which is just (mapcar (lambda (sym) (list 'quote sym)) syms) 2015-02-06T03:36:28Z Bike: depending on the context you might just want ',list-of-syms, though 2015-02-06T03:37:39Z Bike: the important thing to understand about macros is that they're just functions called by the compiler on forms to get other forms. 2015-02-06T03:38:09Z emaczen: Bike: Yes, it's so cool and a lot of fun :) 2015-02-06T03:38:33Z Bike: and ` is just a syntactic convenience for a bunch of list calls. nothing magic 2015-02-06T03:41:39Z zacharias_ joined #lisp 2015-02-06T03:42:12Z emaczen: Bike, can you refresh my memory to what ,@ does? 2015-02-06T03:42:33Z loke: splice 2015-02-06T03:42:50Z Bike: `(foo ,@bar baz) = (append '(foo) bar '(baz)) 2015-02-06T03:43:31Z sirangOoolongTea quit (Quit: Lost terminal) 2015-02-06T03:43:50Z loke: Now tell him what ,. does :-) 2015-02-06T03:44:49Z zacharias quit (Ping timeout: 245 seconds) 2015-02-06T03:47:38Z beach: nyef: If you have any comments to the paper, please let me have them so that I can address the issue in the paper if I feel that it is necessary. 2015-02-06T03:48:19Z nyef: beach: Nothing comes to mind right now, but I'm also fairly fried. I'll take a look at it again tomorrow. 2015-02-06T03:48:21Z emaczen: Bike: ,@ unpacks lists? 2015-02-06T03:48:46Z beach: nyef: That would be great! Thanks! No rush though. We have almost 3 weeks left. 2015-02-06T03:48:53Z Bike: i don't know how you got that out of an append, but sure if that helps 2015-02-06T03:49:44Z emaczen: Bike? 2015-02-06T03:49:48Z emaczen: I'm confused 2015-02-06T03:49:52Z emaczen: Can you give another example? 2015-02-06T03:50:18Z Bike: that's pretty much all there is to it, it's just a read syntax to avoid writing out append calls and such 2015-02-06T03:50:33Z Bike: you could read `(foo bar ,@baz) as (list* 'foo 'bar baz) too, but that's basically the same 2015-02-06T03:50:48Z emaczen: what is list*? 2015-02-06T03:51:07Z beach: clhs list* 2015-02-06T03:51:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_list_.htm 2015-02-06T03:51:26Z Bike: (list* a b c) = (cons a (cons b c)) 2015-02-06T03:51:43Z pjb quit (Ping timeout: 256 seconds) 2015-02-06T03:51:47Z Bike: as opposed to (list a b c), which is (cons a (cons b (cons c nil))) 2015-02-06T03:52:41Z emaczen: cool 2015-02-06T03:55:22Z dpb9cpu quit (Ping timeout: 265 seconds) 2015-02-06T03:57:22Z beach: emaczen: Common Lisp is unique in that you have a REPL that lets you conduct experiments without much effort. You could play around with ,@ and see what it does. That will give you a better mental model of it. 2015-02-06T03:57:42Z emaczen: beach: That's what I am trying 2015-02-06T03:58:01Z jgrant quit (Ping timeout: 245 seconds) 2015-02-06T03:58:06Z marko-v quit (Remote host closed the connection) 2015-02-06T03:59:50Z beach: emaczen: The usual way of thinking about ,@ is that it "splices" a list into another list, that is in `(a b ,@