00:00:13 Forty-3 [~seana11@pool-71-163-168-125.washdc.fios.verizon.net] has joined #lisp 00:05:13 kuzary [~who@gateway/tor-sasl/kuzary] has joined #lisp 00:06:07 cinolt [473a1288@gateway/web/freenode/ip.71.58.18.136] has joined #lisp 00:07:11 -!- ase [~se@ip56583baa.direct-adsl.nl] has quit [Remote host closed the connection] 00:08:15 Sup dawgs. I'm trying to learn lisp (Scheme specifically) and I'm reading the Structure and Interpretation of Computer Programs. One of the exercises is "Exercise 1.3. Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers.". And this is my attempt: http://paste.lisp.org/display/133862 Can somebody give some advice as to how I can improve it? As it is, it doesn't seem very s 00:08:24 Have to do a lot of work in order to make it work for 4, 5, or n numbers. 00:09:19 kofno [~kofno@72.240.63.121] has joined #lisp 00:09:26 you perhaps are looking for #scheme. but perhaps you could just use max. 00:09:32 cinolt: you might have better luck asking #scheme 00:09:41 Has scheme got MAX? 00:09:55 Also, that's probably not the point of the excercise :) 00:10:34 My attempt just seemed very "brute forcey", because I enumerated all the possibilities, which would grow exponentially with the number of arguments. 00:10:41 Anyway I'll try asking #scheme 00:11:18 cinolt: Also, > and < can take more than two arguments. 00:11:25 cinolt: Simplifying your code greatly. 00:11:36 Ah, that would help a lot. 00:12:21 (defun scheme-sum (&rest nums) (apply #+ nums)) 00:12:34 -!- amado [~amado@187.209.56.25] has quit [Ping timeout: 240 seconds] 00:13:01 that should take up to 536870911 arguments on my laptop :) 00:13:19 cinolt: Stick around and have a look at Common Lisp, too. 00:14:11 -!- peterhil [~peterhil@91-157-48-10.elisa-laajakaista.fi] has quit [Ping timeout: 245 seconds] 00:16:43 -!- cinolt [473a1288@gateway/web/freenode/ip.71.58.18.136] has quit [Quit: Page closed] 00:17:11 moai [~m@141.70.23.87] has joined #lisp 00:18:51 hi. I'm new to lisp and clisp. I'm using clisp on archlinux and I'm wondering if archlinux uses a somehow modified version. It seems (quit) or (bye) should stop the clisp interpreter, but that doesn't work for me. Are there any archlinux users here that know more about this? 00:20:01 moai, works for me (on archlinux) 00:20:07 moai: first, and I say that you should avoid clisp to start out with! 00:20:30 (I usually use sbcl) 00:20:58 Thra11, any idea why it shouldn't work for me? 00:21:09 SBCL, CCL, ECL, CMUCL, ABCL, Lispworks, Allegro ... all are significanly better (imo_ then clisp 00:21:30 moai, no idea, sorry 00:21:54 drewc, I'm trying to run act-r which uses lisp. It seems to work with CMUlisp though, which is fine. 00:21:57 moai: maybe it's ext:quit or something 00:22:20 Bike: yes, that works 00:23:11 moai: lisp is a term that can be uses a lot to mean a lot of different things. This is a Common Lisp channel, so our advice is usually only for common lisp , and not the other lisps that act-r runs on. 00:23:30 amado [~amado@187.209.56.19] has joined #lisp 00:24:05 drewc, sorry, i know. I just wanted to give some background as to why I was trying to exit stop the clisp compiler 00:25:24 however, is there a particular reason why you advised me against clisp? just out of interest 00:28:03 -!- amado [~amado@187.209.56.19] has quit [Ping timeout: 260 seconds] 00:29:55 yes, there is. I have been a lisper for like 9 years straight at this point, and contracted to companies that use sbcl, ccl, allegro and lispworks. In my 9 years of being a lisper, I have never needed, desired, or wanted to use clisp, and besides, the GPL makes for some interesting legal issues. 00:32:52 -!- AeroNotix [~xeno@aclm41.neoplus.adsl.tpnet.pl] has quit [Quit: Uploading hax.....] 00:34:39 drewc, I have to apologize again. I was under the impression that clisp is like the go-to-implementation of common lisp. I just assumed that because of the abbreviation clisp... 00:34:52 thx, though! 00:34:53 -!- QuickSilver_ [~ait@akasha.ayai.com] has quit [Ping timeout: 260 seconds] 00:34:54 *drewc* either loves or hates the fact that CLISP as a C in the front, so noobs think it is common lisp specifically, and ANSI X3J13 as well. 00:35:43 moai: well, I am glad that you now know different, and maybe for the rest of your lke you will look at acronyms a little bit different :) 00:35:53 minion: hyperspec 00:35:53 hyperspec: The Common Lisp HyperSpec can be found at http://www.lispworks.com/reference/HyperSpec/ - or go to the contents at http://www.lispworks.com/reference/HyperSpec/Front/Contents.htm 00:39:36 and, heh, thank you moai, for I am sure you looked at common-lisp.net and saw nothing relevant ... I since I know the owner of that site intimately ... well, the front page will be the first to be "re-done" . 00:41:11 amado [~amado@209.99.3.103] has joined #lisp 00:44:00 -!- francisl [~flavoie@199.84.164.114] has quit [Ping timeout: 276 seconds] 00:48:39 mtd [~martin@ops-13.xades.com] has joined #lisp 00:49:25 -!- tessier [~treed@kernel-panic/copilotco] has quit [Ping timeout: 248 seconds] 00:49:39 -!- engblom [~user@unaffiliated/engblom] has quit [Remote host closed the connection] 00:49:56 engblom [~user@unaffiliated/engblom] has joined #lisp 00:50:40 ramus_ [~ramus@c-50-132-91-53.hsd1.wa.comcast.net] has joined #lisp 00:51:11 tessier [~treed@216.105.40.125] has joined #lisp 00:51:11 -!- tessier [~treed@216.105.40.125] has quit [Changing host] 00:51:11 tessier [~treed@kernel-panic/copilotco] has joined #lisp 00:51:34 -!- asciilifeform [~asciilife@pool-71-191-43-115.washdc.fios.verizon.net] has quit [Ping timeout: 240 seconds] 00:51:44 -!- ramus [~ramus@c-50-132-91-53.hsd1.wa.comcast.net] has quit [Ping timeout: 255 seconds] 00:52:25 -!- wormphlegm [~wormphleg@c-50-131-44-231.hsd1.ca.comcast.net] has quit [Read error: Operation timed out] 00:54:00 sw2wolf [~czsq888@61.157.40.171] has joined #lisp 00:54:07 wormphlegm [~wormphleg@c-50-131-44-231.hsd1.ca.comcast.net] has joined #lisp 00:54:51 -!- ramus_ [~ramus@c-50-132-91-53.hsd1.wa.comcast.net] has quit [Client Quit] 00:55:08 ramus [~ramus@c-50-132-91-53.hsd1.wa.comcast.net] has joined #lisp 00:55:49 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 00:56:32 yrk [~user@c-50-133-134-220.hsd1.ma.comcast.net] has joined #lisp 00:56:36 -!- yrk [~user@c-50-133-134-220.hsd1.ma.comcast.net] has quit [Changing host] 00:56:36 yrk [~user@pdpc/supporter/student/yrk] has joined #lisp 01:05:02 -!- dnolen [~user@cpe-74-64-61-245.nyc.res.rr.com] has quit [Ping timeout: 245 seconds] 01:08:42 -!- ISF [~ivan@189.61.223.97] has quit [Ping timeout: 276 seconds] 01:12:14 -!- moai [~m@141.70.23.87] has quit [Quit: Leaving] 01:19:46 Beetny [~Beetny@ppp118-208-156-212.lns20.bne1.internode.on.net] has joined #lisp 01:21:30 francisl [~anonymous@bas6-montreal45-1176494801.dsl.bell.ca] has joined #lisp 01:22:57 -!- ebobby [~fms@70-36-138-244.dsl.dynamic.sonic.net] has quit [Quit: Lost terminal] 01:24:26 -!- Buglouse [~Buglouse@unaffiliated/Buglouse] has quit [Ping timeout: 244 seconds] 01:25:39 emacs-dwim [~user@cpe-67-241-1-145.twcny.res.rr.com] has joined #lisp 01:28:51 QuickSilver_ [~ait@cpe-72-177-30-155.austin.res.rr.com] has joined #lisp 01:29:02 -!- impulse [~impulse@65.95.105.140] has quit [Ping timeout: 265 seconds] 01:32:13 Buglouse [~Buglouse@unaffiliated/Buglouse] has joined #lisp 01:34:30 -!- nforgerit [~nforgerit@HSI-KBW-149-172-198-162.hsi13.kabel-badenwuerttemberg.de] has quit [Quit: nforgerit] 01:36:39 -!- ikki [~ikki@187.240.178.2] has quit [Ping timeout: 244 seconds] 01:39:43 impulse [~impulse@65.95.105.140] has joined #lisp 01:40:46 -!- pirateking-_- [~piratekin@unaffiliated/pirateking---/x-2885143] has quit [Quit: pirateking-_-] 01:41:49 peterhil [~peterhil@91-157-48-10.elisa-laajakaista.fi] has joined #lisp 01:51:48 pnq [~nick@unaffiliated/pnq] has joined #lisp 01:52:12 -!- Houl [~Parmi@unaffiliated/houl] has quit [Quit: weil das Wetter so schön ist] 01:57:51 Hmm, I've been cleaning up lisp-unit to record all tests. I use GSLL as the canonical test of lisp-unit. The development version of lisp-unit that comprehensively stores all results from a run takes longer than previous versions and uses much more memory. 01:58:24 Hopefully I've not created a monster that scales so poorly as to make it unusable for large numbers of unit tests. 01:58:59 ISF [~ivan@143.106.196.139] has joined #lisp 02:00:22 18 seconds in SBCL, 3 seconds in GC, 15 running and recording the tests. 02:00:56 ThomasH: can I convince you to switch to FiveaM ? 02:01:19 fe[nl]ix: Probably not, but I'll look at it for the next 5 minutes. 02:02:24 fe[nl]ix: You'll have an even harder time getting LiamH to switch GSLL, it has 4,023 tests. 02:07:32 -!- Xizor [~Xizor@c83-252-198-185.bredband.comhem.se] has quit [Remote host closed the connection] 02:12:01 -!- riverc4c [~grive@pool-71-183-214-254.nycmny.fios.verizon.net] has left #lisp 02:14:04 fe[nl]ix: DuckDuckGo tells me you wrote an article titled, "The future of FiveAM", but when I go to it, I'm told it is deleted. 02:17:17 francisl_ [~flavoie@bas6-montreal45-1176494801.dsl.bell.ca] has joined #lisp 02:18:02 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Ping timeout: 255 seconds] 02:19:27 fe[nl]ix: Okay, I spent 15 minutes. I like some aspects, but have spent some time updating lisp-unit to store the results in a results database that can be interrogated in detail. It also lends itself to post-processing to generate TAP output, for example. 02:20:03 -!- francisl [~anonymous@bas6-montreal45-1176494801.dsl.bell.ca] has quit [Ping timeout: 260 seconds] 02:20:03 -!- francisl_ is now known as francisl 02:20:16 fe[nl]ix: herep 02:20:22 -!- Forty-3 [~seana11@pool-71-163-168-125.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer] 02:22:10 ThomasH: yes 02:22:39 what's TAP ? 02:22:42 fe[nl]ix: Why would you want me to switch to FiveAM? 02:23:06 fe[nl]ix: Test Anything Protocol, some people seem to like it, I don't really understand what it is useful for. 02:23:57 ThomasH: there are too many test libraries 02:25:03 TAP was designed for communication between a test suite and a build system 02:25:09 it's a Perl thing 02:27:12 -!- emacs-dwim [~user@cpe-67-241-1-145.twcny.res.rr.com] has quit [Ping timeout: 252 seconds] 02:28:35 fe[nl]ix: Oh, well, I don't have a problem with the number of test libraries. 02:29:36 BlankVerse [~pankajm@202.3.77.214] has joined #lisp 02:31:15 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 260 seconds] 02:31:51 fe[nl]ix: If there is a technical reason to switch, I'll switch in a heartbeat. 02:33:14 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 02:35:53 Forty-3 [~seana11@pool-71-163-168-125.washdc.fios.verizon.net] has joined #lisp 02:37:30 fe[nl]ix: http://www.cliki.net/Current%20recommended%20libraries 02:37:42 fe[nl]ix: The recommended test library is Stefil 02:38:03 hmm 02:42:00 that page is a little obsolete 02:45:12 yes, LOCAL-TIME should be mentioned 02:46:31 -!- banannagram is now known as bananagram 02:46:44 -!- francisl [~flavoie@bas6-montreal45-1176494801.dsl.bell.ca] has quit [Quit: francisl] 02:46:52 drewc` [~user@74.198.150.249] has joined #lisp 02:49:01 -!- drewc [~user@74.198.150.249] has quit [Killed (niven.freenode.net (Nickname regained by services))] 02:49:01 -!- drewc` is now known as drewc 02:51:58 echo-area [~user@182.92.247.2] has joined #lisp 02:53:33 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Quit: Leaving...] 02:53:50 I take it back, the new comprehensive test results are not that bad compared to the old lisp-unit. I just checked out the master branch without comprehensive results and it is not much faster at all. 02:54:39 billstclair [~billstcla@67.158.164.229] has joined #lisp 02:54:39 -!- billstclair [~billstcla@67.158.164.229] has quit [Changing host] 02:54:39 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 02:57:24 mattrepl [~mattrepl@pool-72-66-73-241.washdc.fios.verizon.net] has joined #lisp 02:59:11 -!- milanj [~milanj_@93-86-188-249.dynamic.isp.telekom.rs] has quit [Read error: Operation timed out] 03:00:29 -!- kuzary [~who@gateway/tor-sasl/kuzary] has quit [Quit: return 0;] 03:01:08 -!- [SLB] is now known as [SLB]` 03:06:08 -!- urandom__ [~user@ip-88-152-200-191.unitymediagroup.de] has quit [Quit: Konversation terminated!] 03:07:37 -!- mattrepl [~mattrepl@pool-72-66-73-241.washdc.fios.verizon.net] has quit [Quit: mattrepl] 03:12:56 how do I learn lisp 03:12:57 -!- myx [~myx@pppoe-196-222-dyn-sr.volgaline.ru] has quit [Ping timeout: 265 seconds] 03:17:08 nan_ [~candodget@46.197.116.88] has joined #lisp 03:17:11 Depends on who you are, what you already know 03:23:40 I'm just a novice programmer :( 03:27:20 francisl [~flavoie@bas6-montreal45-1176494801.dsl.bell.ca] has joined #lisp 03:27:30 Maybe scheme is your first option 03:28:02 beaky: try a book. A Gentle Introduction to Symbolic Computation is supposed to be good, and you can read it online. 03:28:03 CL is too complicate for novice programmer ? 03:29:10 sw2wolf: why? 03:29:18 what would be the most detailed/complete documentation on macros? a link, a search phrase, please! i am tired of "simple tutorials". reading some library codes but it would be much better if i known what they are trying to solve. 03:29:23 -!- BlankVerse [~pankajm@202.3.77.214] has quit [Ping timeout: 265 seconds] 03:29:32 PCChris [~PCChris@cpe-75-185-214-178.woh.res.rr.com] has joined #lisp 03:29:36 Why would it make a difference to a novice programmer? 03:29:36 First, choosing a CL implementation will frustrate a newbie 03:30:15 nan_: implementing a small evaluator with macroexpansion might help. 03:30:16 -!- kofno [~kofno@72.240.63.121] has quit [Remote host closed the connection] 03:31:12 sw2wolf, there are lots of scheme implementations too 03:31:47 Bike: what do you mean? evaluator? are you talking about writing the lisp eval? 03:31:56 nan_: yes. 03:33:52 nan_: or you could read the standard. like http://www.lispworks.com/documentation/HyperSpec/Body/03_ababb.htm But I think building something is a pretty good way of understanding it. 03:34:03 Bike: i am having trouble with a few constructs, i need to find out first what they are for, a few questions needs to be answered, that is why i am after a detailed documentation. for example what `(,a ,b) and not just (a b) 03:34:16 ah thanks for the link 03:34:37 nan_: http://www.lispworks.com/documentation/HyperSpec/Body/02_df.htm on backquote. spec's your friend 03:34:55 sw2wolf: so here's the thing, a guy could join any channel and say "How do I learn A programming language", and always there will be someone ther who will say "You should learn A++" or "Y" or "Don't learn A 2.x, the future is A 3.x" 03:35:59 So, frankly, I doubt its a big deal either way, but you can drown newbies in "learn this not that". Thats all. 03:39:21 segmond_ [~segmond@adsl-99-150-129-63.dsl.sfldmi.sbcglobal.net] has joined #lisp 03:41:58 seggy [~segmond@adsl-99-150-129-63.dsl.sfldmi.sbcglobal.net] has joined #lisp 03:42:03 leo2007 [~leo@119.255.41.67] has joined #lisp 03:43:07 -!- segmond__ [~segmond@adsl-99-150-128-65.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 260 seconds] 03:43:24 -!- segmond [~segmond@adsl-99-150-128-65.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 265 seconds] 03:45:41 -!- liweinan [~liweinan@123.117.208.111] has quit [Remote host closed the connection] 03:45:50 -!- seggy is now known as segmond 03:47:59 tiglog [~topeak@61.149.230.55] has joined #lisp 03:49:09 -!- tiglog [~topeak@61.149.230.55] has quit [Max SendQ exceeded] 03:49:37 tiglog [~topeak@61.149.230.55] has joined #lisp 03:54:10 am0c [~am0c@am0c.broker.freenet6.net] has joined #lisp 03:54:32 francisl_ [~anonymous@bas6-montreal45-1176494801.dsl.bell.ca] has joined #lisp 04:00:16 BlankVerse [~pankajm@202.3.77.214] has joined #lisp 04:00:21 brandonz [~brandon@c-71-202-142-243.hsd1.ca.comcast.net] has joined #lisp 04:01:22 -!- benny [~user@i577A106A.versanet.de] has quit [Read error: Operation timed out] 04:05:07 -!- Forty-3 [~seana11@pool-71-163-168-125.washdc.fios.verizon.net] has quit [Remote host closed the connection] 04:05:47 Forty-3 [~seana11@pool-71-163-168-125.washdc.fios.verizon.net] has joined #lisp 04:07:00 ltbarcly [~ltbarcly@pool-71-116-67-158.snfcca.dsl-w.verizon.net] has joined #lisp 04:10:26 spiderweb [~lcc@unaffiliated/lcc] has joined #lisp 04:23:47 teggi [~teggi@113.172.42.162] has joined #lisp 04:24:43 -!- wormphlegm [~wormphleg@c-50-131-44-231.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 04:25:36 wormphlegm [~wormphleg@c-50-131-44-231.hsd1.ca.comcast.net] has joined #lisp 04:30:17 sorry, i just come back 04:31:23 hello 04:31:35 I primaryly mean scheme is simpler than CL which is easy to study for a newbie. 04:31:58 'simpler' is difficult to quantify. for example, continuations exist. 04:32:00 then you can do practical programming using CL 04:32:34 You dont need to use continuation first 04:33:05 -!- ltbarcly [~ltbarcly@pool-71-116-67-158.snfcca.dsl-w.verizon.net] has quit [Quit: Leaving.] 04:33:23 segmond__ [~segmond@adsl-99-110-97-159.dsl.sfldmi.sbcglobal.net] has joined #lisp 04:33:57 In fact,call//cc is not hard to understand ... 04:34:34 sw2wolf: it is, however, hard to use 04:35:02 If you're doing simple things with it, pretty much any language is simple. 04:36:31 -!- pnq [~nick@unaffiliated/pnq] has quit [Quit: Leaving.] 04:36:34 -!- PCChris [~PCChris@cpe-75-185-214-178.woh.res.rr.com] has quit [Ping timeout: 265 seconds] 04:36:42 -!- segmond [~segmond@adsl-99-150-129-63.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 245 seconds] 04:36:59 PCChris [~PCChris@cpe-75-185-214-178.woh.res.rr.com] has joined #lisp 04:37:00 -!- segmond_ [~segmond@adsl-99-150-129-63.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 252 seconds] 04:37:01 maybe ... 04:37:07 especially with a multi-paradigm language like lisp which will let you learn bit of syntax and start messing around writing code that will run. 04:37:18 in any case arguing about what language to use has probably never helped newbies 04:38:21 i heard of that Scheme is a teaching language and CL is a practical language ... 04:39:17 so i feel Scheme should be easy to lead a newbie into Lisp World :) 04:39:26 i've heard that scheme is how you learn recursion and lisp is academic, who cares what we've heard 04:40:39 I reckon for a learner there's a lot of common ground (they are all lisp after all) to cover before there's enough difference to make a choice. 04:41:30 -!- QuickSilver_ [~ait@cpe-72-177-30-155.austin.res.rr.com] has quit [Quit: QuickSilver_] 04:42:24 what is a continuation 04:42:34 -!- bananagram [~bananagra@c-98-198-236-112.hsd1.tx.comcast.net] has quit [Ping timeout: 240 seconds] 04:46:13 QuickSilver_ [~ait@akasha.ayai.com] has joined #lisp 04:46:14 antonv [5d7d31f9@gateway/web/freenode/ip.93.125.49.249] has joined #lisp 04:47:06 segmond_ [~segmond@adsl-99-150-130-51.dsl.sfldmi.sbcglobal.net] has joined #lisp 04:50:19 -!- segmond__ [~segmond@adsl-99-110-97-159.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 252 seconds] 04:51:19 -!- Slivka [~Slivka@31.40.53.196] has quit [Remote host closed the connection] 04:59:57 -!- Thra11 [~thrall@87.115.174.172] has quit [Ping timeout: 260 seconds] 05:02:38 -!- Vutral [ss@mirbsd/special/Vutral] has quit [Ping timeout: 245 seconds] 05:08:08 benny [~user@i577A8A26.versanet.de] has joined #lisp 05:12:43 -!- qptain_Nemo [~qN@89.207.216.208] has quit [Remote host closed the connection] 05:20:44 dodo_ [~dodo@199.119.201.138] has joined #lisp 05:22:04 nforgerit [~nforgerit@HSI-KBW-149-172-198-162.hsi13.kabel-badenwuerttemberg.de] has joined #lisp 05:24:43 beaky: http://en.wikipedia.org/wiki/Continuation 05:26:35 -!- francisl_ [~anonymous@bas6-montreal45-1176494801.dsl.bell.ca] has quit [Ping timeout: 255 seconds] 05:29:59 -!- brandonz [~brandon@c-71-202-142-243.hsd1.ca.comcast.net] has quit [Ping timeout: 260 seconds] 05:30:00 cdidd [~cdidd@176.14.146.254] has joined #lisp 05:30:40 -!- spiderweb [~lcc@unaffiliated/lcc] has quit [Quit: leaving] 05:30:59 -!- francisl [~flavoie@bas6-montreal45-1176494801.dsl.bell.ca] has quit [Quit: francisl] 05:31:27 spiderweb [~user@unaffiliated/lcc] has joined #lisp 05:35:27 Vutral [ss@mirbsd/special/Vutral] has joined #lisp 05:39:37 gravicappa [~gravicapp@ppp91-77-174-89.pppoe.mtu-net.ru] has joined #lisp 05:41:29 agumonkey [~agu@27.217.72.86.rev.sfr.net] has joined #lisp 05:41:30 -!- leo2007 [~leo@119.255.41.67] has quit [Ping timeout: 264 seconds] 05:42:25 holycow [~holycow@69.172.160.27] has joined #lisp 05:47:15 -!- ISF [~ivan@143.106.196.139] has quit [Ping timeout: 260 seconds] 05:47:22 segmond__ [~segmond@108.73.164.251] has joined #lisp 05:47:43 leo2007 [~leo@119.255.41.67] has joined #lisp 05:51:16 -!- segmond_ [~segmond@adsl-99-150-130-51.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 248 seconds] 05:57:48 kliph [~user@unaffiliated/kliph] has joined #lisp 05:58:36 kushal [kdas@fedora/kushal] has joined #lisp 05:59:46 goddammit 06:00:41 -!- tiglog [~topeak@61.149.230.55] has quit [Quit: Leaving] 06:00:51 this is amazing: nostrulde.org/slgj11/ 06:01:49 what kind of mad hatter implementsa vm in js, creates a cl dilect and then writs something that cool? 06:02:01 i give up 06:02:15 your site looks down from here. 06:02:56 norstrulde.org/slgj11 06:02:58 typo 06:05:07 -!- bobbysmith007 [~russ@216.155.103.30] has quit [Read error: Connection reset by peer] 06:06:09 bobbysmith007 [~russ@216.155.103.30] has joined #lisp 06:08:49 -!- linse [~marioooh@bas5-montreal28-1177917310.dsl.bell.ca] has quit [Quit: zzzz] 06:09:42 ramkrsna [ramkrsna@unaffiliated/ramkrsna] has joined #lisp 06:11:46 -!- ramkrsna [ramkrsna@unaffiliated/ramkrsna] has quit [Remote host closed the connection] 06:12:29 -!- kliph [~user@unaffiliated/kliph] has quit [Ping timeout: 255 seconds] 06:13:35 ramkrsna [ramkrsna@nat/redhat/x-amxesfarifthlkwa] has joined #lisp 06:13:35 -!- ramkrsna [ramkrsna@nat/redhat/x-amxesfarifthlkwa] has quit [Changing host] 06:13:35 ramkrsna [ramkrsna@unaffiliated/ramkrsna] has joined #lisp 06:18:33 fantazo [~fantazo@91-119-196-139.dynamic.xdsl-line.inode.at] has joined #lisp 06:19:19 liweinan [~liweinan@123.117.208.111] has joined #lisp 06:20:24 back 06:20:33 Bike: total madness, right? 06:20:55 it's a poincare disk. 06:21:23 i had to look that up. indeed. 06:22:09 sykopomp [~sykopomp@gateway/tor-sasl/sykopomp] has joined #lisp 06:22:32 i bet he's like 13 and in first year compsci studies 06:22:38 at mit 06:29:23 -!- agumonkey [~agu@27.217.72.86.rev.sfr.net] has quit [Read error: Operation timed out] 06:36:10 -!- nan_ [~candodget@46.197.116.88] has quit [Remote host closed the connection] 06:39:19 redscare [~Adium@ool-435634f3.dyn.optonline.net] has joined #lisp 06:40:06 -!- redscare [~Adium@ool-435634f3.dyn.optonline.net] has quit [Quit: Leaving.] 06:42:44 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 250 seconds] 06:43:42 holycow: how do you know it's a cl dialect? 06:43:50 k0001 [~k0001@host164.190-226-195.telecom.net.ar] has joined #lisp 06:44:30 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 06:44:44 i got the link from the reddit post about this page: 06:45:19 http://ceaude.twoticketsplease.de/js-lisps.html 06:45:22 it's scheme, far as I remember. 06:45:49 it might be, its the last one on that list 06:46:25 the other impressive one is Slip. The video of the guy writing the demo app is sweet 06:46:30 ok 06:47:10 I wish there exist full CL in javascript 06:47:25 with slime support and everything 06:47:37 i don't. 06:48:28 you don't want it? 06:48:42 instead i think we should define a new markup language based on yaml. 06:48:56 antonv: https://github.com/swank-js/swank-js <- how about using that, at least? 06:49:06 perhaps you could do something with parenscript, though... 06:49:36 then write a lispy browser and let people publish apps via a properly designed markup language and a browser designed to natively run lisp code :) 06:49:50 so lisp as the scripting language instead of js 06:50:45 at that point, you can rewrite emacs as a common lisp app and publish it as a web app 06:50:48 holycow: what you describe is unreal in my opinion - it's unlikely to happen 06:50:55 of course 06:51:04 implementing CL in javascript on the other hand is very real 06:51:36 antonv: Chrome permits code built with ECL at least 06:51:54 -!- leo2007 [~leo@119.255.41.67] has quit [Ping timeout: 240 seconds] 06:51:59 p_l: you mean build as native library? 06:52:02 one reason I'd like to see PNaCL get more traction 06:52:11 antonv: well, a subset of such 06:52:19 especially with PNaCL 06:52:26 subset in what sense? 06:52:39 NaCL provides you with a specialized, sandboxed environment which has its own ELF loader 06:53:02 as such, you have single binary for multiple systems, as long as those systems can run x86 code 06:53:13 http://vimeo.com/42070553 <-- antonv that shows its doable 06:53:14 holycow: I'd wish for some hemlock improvements, like vim key bindings... 06:53:14 PNaCL extends it by replacing the x86 binary with LLVM bitstream 06:53:16 thats Slip 06:53:21 is there Nacl for ARM? 06:53:36 loke_erc: I think so, check ChromeOS/arm sources 06:53:40 wubofeng [~quassel@116.236.252.170] has joined #lisp 06:53:52 flip214: that actually seems like a plausible approach 06:54:15 loke_erc: but PNaCL is IMO more important, as it uses the same pattern as AS/400 - bytecode compiled on-demand to native, with no execution of bytecode 06:54:24 flip214: if one were to try to rewrite emacs everyone would just rag on it and insist it faild. ignoring emacs and basing it on hemlock is a cool idea i think 06:54:57 ltbarcly [~ltbarcly@pool-71-116-67-158.snfcca.dsl-w.verizon.net] has joined #lisp 06:55:11 antonv: Slip actually does everything you said (i think) except as a small subset of what you propose 06:55:13 p_l, oh that's nice 06:55:17 i can see the benefit of doing what you suggest 06:55:19 I had no idea of its exiestence 06:55:28 I'm dreaming of SBCL for that 06:55:32 Or at least any CL 06:55:38 holycow: I'd love an editor that had *some* level of support for existing elisp code, but willing to sacrifice 1:1 portability for purpose of extending the model of the editor 06:56:12 loke_erc: ECL is doable for that.... SBCL might be, but might need some ugly calling convention tricks 06:56:37 p_l: is there ECL for Nacl? 06:56:41 Or Pnacl 06:57:17 loke_erc: ECL can be coerced, afaik, to build a library which will work with NaCL. Similar case should be for PNaCL 06:57:42 p_l: nice, 06:57:50 although what I really want is CL for Android 06:58:05 loke_erc: ehu had been looking a bit into it 06:58:16 possibly with direct-to-DVM generation 06:58:18 I was looking into doing a kind of precompiled CL with ABCL 06:58:36 p_l: ehu? He's doing ABCL, yes? 06:58:49 loke_erc: ABCL as it is now can boot, but the effect is horrible 06:58:57 effect? 06:59:01 similar a bit to early attempts with clojrue 06:59:03 *clojure 06:59:07 loke_erc: unusable 06:59:52 why? performance? 06:59:53 clojure, even now, is unusable on Android afaik 07:00:26 loke_erc: performance and GC OMNOMNOMNOMNOMNOM in case of Clojure, various incompatibilities, performance and GC for ABCL 07:00:52 holycow: SLips is a dialect of CL not a CL, see http://slip.lisperator.net/vscl 07:01:18 by full CL i mean something able to run existing code 07:01:18 from what I talked with ehu, there's an option that ABCL/android will use some extra caching 07:01:21 antonv: what were you expecting? 07:01:23 Wasn't there a prject to get ECL running on ANdroid? 07:01:42 I believe they got it to work on Iphone 07:01:42 or course it is a toy implementation 07:01:42 loke_erc: ECL works, but I don't know how well it is used 07:01:49 of course ... even :) 07:08:46 -!- jjkola_work [~jjkola@fw-hki.ixonos.com] has quit [Ping timeout: 245 seconds] 07:10:03 dbh [~user@182.55.2.111] has joined #lisp 07:12:12 jjkola_work [~jjkola@fw-hki.ixonos.com] has joined #lisp 07:12:33 -!- spacefrogg^ is now known as spacefrogg 07:14:08 holycow: i hope to connect with slime from real emacs and to say (ql:quickload :hunchentoot) 07:14:30 this level of support 07:18:06 rdqfdx [~rdqfdx@78.90.88.244] has joined #lisp 07:21:13 prxq [~mommer@mnhm-590c3942.pool.mediaWays.net] has joined #lisp 07:23:31 mrSpec [~Spec@89-78-118-138.dynamic.chello.pl] has joined #lisp 07:23:31 -!- mrSpec [~Spec@89-78-118-138.dynamic.chello.pl] has quit [Changing host] 07:23:31 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 07:29:06 Anyone have a feeling about the usefulness of creating ones own package nicknames for referring to external packages? 07:29:49 segv- [~mb@dslb-088-075-246-101.pools.arcor-ip.net] has joined #lisp 07:30:49 moore33: lots of them 07:31:07 Good? Bad? Neutral? 07:31:15 moore33: it has been discussed a lot, but there is no good solution. 07:31:27 -!- PCChris [~PCChris@cpe-75-185-214-178.woh.res.rr.com] has quit [Remote host closed the connection] 07:31:34 moore33: http://paste.lisp.org/display/133561 07:32:02 Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has joined #lisp 07:32:54 yeah. 07:36:03 bbl after dog walk. 07:38:50 paolo_m [~user@2-228-95-110.ip190.fastwebnet.it] has joined #lisp 07:38:52 k0001_ [~k0001@host183.200-82-56.telecom.net.ar] has joined #lisp 07:42:03 -!- k0001 [~k0001@host164.190-226-195.telecom.net.ar] has quit [Ping timeout: 260 seconds] 07:42:05 -!- ASau [~user@46.115.66.19] has quit [Quit: I be back.] 07:47:54 -!- wubofeng [~quassel@116.236.252.170] has quit [Remote host closed the connection] 07:48:02 Alice3 [~Alice@cpc3-grim12-0-0-cust856.12-3.cable.virginmedia.com] has joined #lisp 07:50:39 -!- mjonsson [~mjonsson@38.109.95.133] has quit [Read error: Connection reset by peer] 07:51:04 mjonsson [~mjonsson@38.109.95.133] has joined #lisp 07:51:43 jtza8 [~jtza8@105-236-37-55.access.mtnbusiness.co.za] has joined #lisp 07:58:55 -!- dbh [~user@182.55.2.111] has quit [Ping timeout: 252 seconds] 07:59:20 -!- prxq [~mommer@mnhm-590c3942.pool.mediaWays.net] has quit [Remote host closed the connection] 08:01:26 H4ns: hos is cdr12 ment to be used? I presume it's designed to be the basic building block of something that solves all pacakge problems in CL? 08:01:35 s/hos/how/ 08:02:21 loke_erc: right. as a first thing, i'd implement a in-package* that allows the specification of local nicknames for on a per-file basis 08:02:31 (not actually per-file, but to the effect of that) 08:02:54 H4ns: Ah yes 08:03:02 H4ns: you're right. That can't be done otherwise 08:04:23 i'm thinking of (in-package* :my-package (:use-as :drakma :http)) 08:04:40 obviously, there'd need to be slime support for that. 08:05:21 H4ns: you mean that would encourage use of full domain names as package names? 08:05:23 and my initial thought that implementing cdr12 would be easy was smashed when i looked at cll. 08:05:39 H4ns: why? 08:05:58 loke_erc: i'd not say it would encourage that, but it would make them much less of a chore. 08:06:18 loke_erc: i mean ccl, not cll. ccl's symbol name resolution is horribly convoluted 08:06:50 Oh, really? 08:06:59 It seems like a very simple fix 08:07:29 right. but in ccl, there is all sorts of obnonxious package name caching going on 08:07:30 huh, weird. portable hemlock actually builds. neat! http://gitorious.org/hemlock/pages/Home 08:07:43 tty version anyway 08:07:48 holycow: step 1: implement undo 08:08:05 heh :) 08:08:17 step 0: document whatever the heck is actually working 08:08:31 H4ns: how about SBCL? 08:08:31 -!- dmiles_afk [~dmiles@c-71-59-142-111.hsd1.or.comcast.net] has quit [Read error: Connection reset by peer] 08:08:48 loke_erc: sbcl is much saner 08:08:53 -!- QuickSilver_ [~ait@akasha.ayai.com] has quit [Quit: QuickSilver_] 08:09:20 holycow: why document something that nobody will use because the essential feature of a text editor is missing? 08:09:31 -!- fantazo [~fantazo@91-119-196-139.dynamic.xdsl-line.inode.at] has quit [Remote host closed the connection] 08:09:46 excellent point 08:10:11 dmiles_afk [~dmiles@c-71-59-142-111.hsd1.or.comcast.net] has joined #lisp 08:12:32 leo2007 [~leo@119.255.41.67] has joined #lisp 08:14:33 bitonic [~user@5e09a749.bb.sky.com] has joined #lisp 08:15:03 Amadiro [jonathri@dalvik.ping.uio.no] has joined #lisp 08:15:10 nite 08:15:13 -!- holycow [~holycow@69.172.160.27] has left #lisp 08:15:34 H4ns: do you remember where in CCL sources this package resolution code is? 08:15:40 I would like to take a look 08:16:15 antonv: maybe in reader? 08:16:22 prxq [~mommer@mnhm-590c3942.pool.mediaWays.net] has joined #lisp 08:16:23 ) 08:16:31 (or at least you can trace it down from reader) 08:16:31 maybe, what source file 08:16:36 l1-reader.lisp? 08:16:43 no idea 08:16:47 Joreji [~thomas@83-191.eduroam.rwth-aachen.de] has joined #lisp 08:16:57 -!- Bike [~Glossina@67-5-240-27.ptld.qwest.net] has quit [Quit: leaving] 08:17:54 -!- stardiviner [~stardivin@122.236.244.105] has quit [Quit: my website: http://stardiviner.dyndns-blog.com/] 08:19:10 antonv: i followed find-package 08:19:52 H4ns: I found some %token-package function in l1-reader.lisp, looking now how it is used 08:29:10 hkBst [~marijn@79.170.210.172] has joined #lisp 08:29:10 -!- hkBst [~marijn@79.170.210.172] has quit [Changing host] 08:29:10 hkBst [~marijn@gentoo/developer/hkbst] has joined #lisp 08:35:10 Adlai_ [~user@pool-108-27-202-11.nycmny.fios.verizon.net] has joined #lisp 08:35:33 walter [~walter@c-24-218-217-69.hsd1.ma.comcast.net] has joined #lisp 08:36:24 -!- walter|r [~walter@c-24-218-217-69.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 08:36:24 -!- leifw [~user@pool-108-27-202-11.nycmny.fios.verizon.net] has quit [Read error: Connection reset by peer] 08:38:26 -!- kennyd [~kennyd@93-141-10-208.adsl.net.t-com.hr] has quit [Ping timeout: 244 seconds] 08:38:31 -!- paolo_m [~user@2-228-95-110.ip190.fastwebnet.it] has left #lisp 08:39:58 H4ns: what if we specify cdr12:*package-prefix-resolver* as a function that accepts a string and returns a string? 08:40:30 and the use-package* form will only affect how source code forms are read, but not affect find-package, find-symbol, etc 08:41:03 so cdr12:*package-prefix-resolver* will be just a string substitution hook 08:41:08 that'd be simpler to implement, but it is better? 08:41:34 -!- leo2007 [~leo@119.255.41.67] has quit [Ping timeout: 240 seconds] 08:42:14 stardiviner [~stardivin@218.74.185.135] has joined #lisp 08:42:24 it seems to me (after superficial coder read) that it can be added to CCL in the function %token-package defined in level-1/l1-reader.lisp 08:42:43 H4ns: the only better quality is that it's simpler 08:43:06 kennyd [~kennyd@93-138-105-148.adsl.net.t-com.hr] has joined #lisp 08:43:14 it will cover 95% of needs in daily programming 08:43:48 hm. mine as well. 08:44:07 it might also be easier to explain, as it would then affect only the reader. 08:45:07 leo2007 [~leo@119.255.41.67] has joined #lisp 08:46:26 -!- tensorpu1ding [~tensorpud@108.87.20.77] has quit [Ping timeout: 265 seconds] 08:46:27 it's necessary to try someday - create a small library with a patch for SBCL and for CCL and exporting the cdr12 variable 08:46:41 and create the use-package* form 08:46:46 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Read error: Operation timed out] 08:47:02 yeah. i like the idea of a top-level use-package 08:47:11 then try to use and see if it's pleasant 08:47:42 H4ns: that is quite good indeed, and the local package aliases thing has been on my mind lately 08:48:46 of course, I would call it cdr13, as cdr12 already exists ... 08:48:47 http://cdr.eurolisp.org/document/12/index.html 08:49:00 foreignFunction [~niksaak@94.27.88.18] has joined #lisp 08:49:06 right. my proposal has not made it into a cdr12 yet 08:50:28 the use-package idea is good because it'd also be pretty easy to convert back from use-package to pure cl using textual substitution, should the whole thing not prove to be good enough 08:50:46 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 08:50:51 I honestly think that the package alias thing is important, and the next step really. 08:51:23 so, I am glad that others feel the same way! 08:53:21 so, use-package will only affect the reader for symbols, and not the other package oriented stuff? 08:53:32 drewc: right. 08:54:16 paolo_m [~user@2-228-95-110.ip190.fastwebnet.it] has joined #lisp 08:54:44 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Read error: Operation timed out] 08:55:03 the possibilities! it will finally be possible to create packages on the fly! 08:55:11 while reading code! 08:55:16 that. is. awesome. 08:55:48 -!- ramkrsna [ramkrsna@unaffiliated/ramkrsna] has quit [Remote host closed the connection] 08:55:49 what about hierarchical packages and nested packages? :) 08:55:52 excellent, I like that quite a bit. 08:56:33 well, not completely, but moving there. it would still be hard to read code containing qualified references to exported symbols in undefined packages. 08:57:13 but this can be solved by having the reader supply information whether "::" or ":" has been used to qualify the symbol to the hook function 08:58:24 H4ns: i do not understand what problem do you mean, could you explain? 08:58:26 _d3f [~freedo@46.183.216.234] has joined #lisp 08:59:02 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 08:59:06 the reader, as it is now, can only read qualified symbol references when the referenced packages exist 08:59:23 and for exported symbols (:), the symbol must also be exported from the package 08:59:26 stat_vi [~stat@dslb-094-218-233-074.pools.arcor-ip.net] has joined #lisp 08:59:28 ok, i see 08:59:29 really, just being able to say 'DREWC.ORG/IPS/MONAD/TRANSFORMER/STATE is known as STATE for the rest of this file' would be divine. I :import-from a wee bit much because I now have one package per file ... 09:00:00 and what next? 09:00:14 and have of course been looking into the solutions lately. 09:00:16 rewrite the cdr proposal, implement use-package 09:00:34 i need to hit the road now, though. keep going. 09:00:36 :) 09:00:42 I would love ability to use local nicknames the way Symbolics CL supported it (by nesting packages). So your local nickname B in package A can be turned into A:B:symbol-in-b 09:00:56 -!- Codynyx [~cody@c-75-72-25-106.hsd1.mn.comcast.net] has quit [Quit: Changing server] 09:00:56 H4ns: any way I can help/test/implement, let me know. 09:01:06 H4ns: no I mean where is the prolbem 09:01:35 Codynyx [~cody@c-75-72-25-106.hsd1.mn.comcast.net] has joined #lisp 09:01:48 reader can only read exported symbol. With cdrN it will remain the same. 09:02:20 drewc: lets create a small library, which export variable cdrN:*package-name-resolver* 09:02:40 then include small patches for CCL and SBCL into this library, which use the varialbe to make it alive 09:02:58 and we then could experiment with nicknames 09:03:45 H4ns knows where to patch SBCL 09:03:49 antonv: I was thinking of making a complete reader (based maybe on SBCL's code) which could be replaced with implementation-specific code 09:04:30 about CCL, it seems that function %token-package in the level-1/l1-reader.lisp should be patched 09:04:51 p_l: yes, this might be also a solution 09:04:54 -!- Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has quit [Ping timeout: 240 seconds] 09:05:48 p_l: what would be an API to replace reader of a common lisp implementation? 09:06:08 some variable *reader-impl* or what? 09:06:15 -!- wormphlegm [~wormphleg@c-50-131-44-231.hsd1.ca.comcast.net] has quit [Ping timeout: 265 seconds] 09:06:30 wormphlegm [~wormphleg@c-50-131-44-231.hsd1.ca.comcast.net] has joined #lisp 09:07:13 not sure, depends on how we want it done 09:07:31 mikecsh [~mikecsh@host213-123-238-172.in-addr.btopenworld.com] has joined #lisp 09:07:32 but public-domain proof-of-concept that could be "linked" in place of CL: symbols 09:08:37 -!- mikecsh [~mikecsh@host213-123-238-172.in-addr.btopenworld.com] has left #lisp 09:09:06 well, does http://www.cliki.net/cl-package-aliases work for CCL? because the actual 'patches' to SBCL are really quite simple ... 09:10:15 -!- otwieracz [~gonet9@v6.gen2.org] has quit [Ping timeout: 260 seconds] 09:10:56 though I guess it is not the *reader* per se. 09:13:04 drewc: ha, we are discussing while someone created it already 09:13:06 madrik [~user@122.168.241.63] has joined #lisp 09:16:58 -!- stardiviner [~stardivin@218.74.185.135] has quit [Quit: my website: http://stardiviner.dyndns-blog.com/] 09:17:22 otwieracz [~gonet9@v6.gen2.org] has joined #lisp 09:17:26 -!- moore33 [~moore@ABordeaux-153-1-12-208.w92-146.abo.wanadoo.fr] has quit [Ping timeout: 255 seconds] 09:17:30 iLogical [~iLogical@unaffiliated/ilogical] has joined #lisp 09:18:03 -!- sw2wolf [~czsq888@61.157.40.171] has left #lisp 09:18:36 antonv: maybe the type of qualification (:internal or :external) and the name of the symbol could be supplied to the cdrN:*resolver* function instead of just the package name. 09:18:42 -!- hkBst [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 264 seconds] 09:18:58 antonv: that way, the resolver function could create packages and exported symbols on the fly. 09:20:33 H4ns: ooh ... that is interesting indeed. Very interesting! 09:20:58 *drewc* 's mind is going to be thinking of packages while sleeping 09:21:28 H4ns: drewc why do you need to create symbols on the fly? if standard CL reader doesnt' create, to me is seems more natural to follow this 09:21:36 it would solve one of the big frustrations that i have with cl (not being able to operate on arbitrary source code with simple cl programs). 09:21:51 if package does not exists, signal standard error? 09:22:44 sometimes, one wants to use the reader on sources that are not yet loaded. for example to implement refactorings, or to analyze code. 09:22:47 c_arenz [arenz@nat/ibm/x-tatqquelsmlsocyw] has joined #lisp 09:22:49 H4ns: I see, but it's another story than package aliaces 09:22:49 antonv: what if I want the package to be created first time it has to exist? say by the resolver function for example? 09:23:23 antonv: yes, understood. the question is whether the concept of the cdrN hook can be trivially extended to encompass that use case. 09:25:00 H4ns: problematic is that this behaviour will be different when the hook is installed and when it isn't 09:25:26 antonv: of course. the hook changes the reader behavior, which is the whole point of it. 09:27:13 setmeaway2 [setmeaway3@119.201.52.133] has joined #lisp 09:27:41 hkBst_ [~marijn@79.170.210.172] has joined #lisp 09:27:41 -!- hkBst_ [~marijn@79.170.210.172] has quit [Changing host] 09:27:41 hkBst_ [~marijn@gentoo/developer/hkbst] has joined #lisp 09:28:13 -!- setmeaway [~setmeaway@119.201.52.133] has quit [Read error: Connection reset by peer] 09:28:17 antonv: heck, clsql has the [reader macro] thing ... and that is (was?) used by many... and I have many pieces of code that rely on my other code being loaded before they will compile. So having code that relies on other code being installed first is not a big deal, fairly common in fact. 09:28:40 -!- madrik [~user@122.168.241.63] has quit [Remote host closed the connection] 09:28:45 -!- Forty-3 [~seana11@pool-71-163-168-125.washdc.fios.verizon.net] has quit [Read error: Operation timed out] 09:29:06 H4ns: if the hook receives this additional info (whole token in the form "package:symbol") it of course can create packages and symbols. But I am is not interested in this use case (I haven't the need for it) 09:29:28 moore33 [~moore@ABordeaux-153-1-60-14.w90-45.abo.wanadoo.fr] has joined #lisp 09:30:08 antonv: i understand, but maybe you have an opinion on whether it would be much harder to implement that additional functionality, given that you've looked at ccl and found a place for package name mapping already. 09:30:08 Cymew [~user@fw01d.snowmen.se] has joined #lisp 09:30:08 For that matter, none of my commercial applications require just ANSI Common Lisp ... threads, mutexes, sockets ... and that is just the start :) 09:30:21 kpreid [~kpreid@50-196-148-102-static.hfc.comcastbusiness.net] has joined #lisp 09:30:25 there is a saying: better is an enemy of good 09:30:39 so if we aim bigger goal, we can get nothing 09:30:52 -!- k0001_ [~k0001@host183.200-82-56.telecom.net.ar] has quit [Ping timeout: 245 seconds] 09:31:18 drewc: what about this reader macro? 09:31:38 if we talk about what could happen instead of discussing real implementation issues and facts, we also get nothing. 09:33:43 H4ns: the function %token-package in CCL has full token as a parameter, "package:symbol" so it can pass this information to the teoretical hook 09:34:08 ramkrsna [ramkrsna@nat/redhat/x-xesunmjevuzjjazd] has joined #lisp 09:34:08 -!- ramkrsna [ramkrsna@nat/redhat/x-xesunmjevuzjjazd] has quit [Changing host] 09:34:08 ramkrsna [ramkrsna@unaffiliated/ramkrsna] has joined #lisp 09:34:25 i kind of fear that the situation is not that simple with sbcl, but i can't check right now. 09:35:50 anyway, new information is collected: 1 - the hook might be a string mapping function, 2 - cl-package-aliases implementes patches to allow aliaces for 5 lisps 09:36:42 NikolaiDante [~nikolaida@unaffiliated/knighterrant] has joined #lisp 09:36:57 drewc: so what you mean about code that depends on other code to be compiled? 09:37:09 -!- NikolaiDante [~nikolaida@unaffiliated/knighterrant] has left #lisp 09:37:13 yes, this is usual situation 09:40:41 antonv: I mean that many things depend on the hook being installed or the behavior will be 'different'. That does not stop me from wanting to use the hook, and I do not care if it cannot be used without the hook. So, in the sense of this package hook, I could not possibly care that it will be required. 09:41:29 peterhil` [~peterhil@gatekeeper.brainalliance.com] has joined #lisp 09:42:03 drewc: ah, I see (i though maybe you provide motivation for some new reqirements to the hook) 09:42:46 madrik [~user@122.168.241.63] has joined #lisp 09:44:57 Nope, all I really need are aliases. But, the package (and module) system needs to be redesigned/looked at again, and all the things that I have seen H4ns say here are both relevant and 'needed' 09:45:28 mathrick_ [~mathrick@80.63.227.98] has joined #lisp 09:45:59 -!- peterhil` [~peterhil@gatekeeper.brainalliance.com] has quit [Ping timeout: 252 seconds] 09:47:26 I am going to quite the extreme with packages in my personal code. One package per file, with the package name related to the location of that file. 09:48:17 one package per file works great for me, too. and i only :use :cl, ever. 09:48:26 I think I would also often have one package per file 09:48:52 So drewc.org/ips/monad/transformer/list: is defined in ~/drewc.org/src/drewc.org/ips/monad/transformer/list.lisp 09:48:59 I would like ASDF to be able to load such single file modules without additional .asd file 09:49:20 all the dependencies may be loaded with REQUIRE 09:49:22 I have a system that does just that 09:49:36 yes, it is my another CL wish - single file modules 09:49:54 drewc: really? could you share a link? 09:49:59 (load-packages-and-dependencies 09:49:59 '(:drewc.org/ips/monad/monad-package)) 09:50:36 I can _not_ because the code is not mine, and closed source, and I stole it. 09:50:57 But, I can simply ask and it will be opened. 09:51:19 so that is on my list of things TODO now 09:51:49 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 09:52:50 *drewc* loves org mode and the agenda associated with it. 09:53:06 -!- otwieracz [~gonet9@v6.gen2.org] has quit [Read error: Operation timed out] 09:53:29 drewc: I would be curious to see such system (but I don't promise to use it :)) 09:53:56 never had to leave emacs, 'C-c r' to remember, 't' for TODO, and C-c C-s to schedule it for tomorrow :) 09:54:23 -!- madrik [~user@122.168.241.63] has quit [Ping timeout: 244 seconds] 09:57:15 I have shown the system to a number of folks, and so far so good. I have a hack where instead of loading the files, it makes a .asd for them, with each file having its own defsystem based on the package name. 09:59:13 otwieracz [~gonet9@v6.gen2.org] has joined #lisp 09:59:14 So, it is basically like doing nothing but loading one file, and your asdf system is defined. 10:00:40 elkng [~elkng@unaffiliated/elkng] has joined #lisp 10:02:37 "Programming languages teach you not to want what they cannot provide. You have to think in a language to write programs in it, and it's hard to want something you can't describe. When I first started programming - in BASIC - I didn't miss 10:02:41 recursion, because I didn't know there was such a thing. I thought in BASIC. I could only conceive iterative algorithms, so why should I miss recursion?" --Paul Graham, ANSI Common Lisp. 10:03:38 -!- theos is now known as Guest76716 10:04:24 theos [~theos@unaffiliated/theos] has joined #lisp 10:07:23 -!- Guest76716 [~theos@unaffiliated/theos] has quit [Ping timeout: 255 seconds] 10:07:49 kiuma [~kiuma@2-230-138-74.ip202.fastwebnet.it] has joined #lisp 10:07:56 morphling [~stefan@gssn-4d003311.pool.mediaWays.net] has joined #lisp 10:10:17 does anybody see anything wrong with how i'm using decode-float here: http://paste.lisp.org/display/133864 10:16:08 (calling that functions breaks both ccl and sbcl) 10:18:01 -!- Joreji [~thomas@83-191.eduroam.rwth-aachen.de] has quit [Read error: Operation timed out] 10:19:45 -!- stat_vi [~stat@dslb-094-218-233-074.pools.arcor-ip.net] has quit [Quit: leaving] 10:21:04 never mind, my mistake. 10:21:59 though it would be nice somehow ccl and sbcl noticed that this is bad: (defun foo () (lambda () (return-from foo))) (funcall (foo)) 10:22:28 nasty 10:26:10 segv-: How could it? 10:27:04 segv-: sorry 10:27:08 It can, and does 10:27:15 loke_erc: it does? 10:27:44 http://paste.lisp.org/display/133865 10:27:44 it's probably not easy to figure out 10:27:47 Looks like it 10:28:04 but that's something else 10:28:06 loke_erc: look harder 10:28:10 that's a simple 'there is no block named bar' 10:28:15 No wait. You mean when there is a block in scope but it's called outside of the scope 10:28:19 segv-: i get "attempt to RETURN-FROM a block or GO to a tag that no longer exists" 10:28:26 (when funcalling) 10:28:28 i get "attempt to RETURN-FROM a block or GO to a tag that no longer exists" 10:28:28 my problem is: there may not be a BAR block anymore when you actually try and do this return-from 10:28:30 in sbcl 10:28:37 but i have safety 3 set 10:28:38 might be an optimization setting related thing. 10:29:01 -!- jcazevedo [~jcazevedo@bl18-96-148.dsl.telepac.pt] has quit [Quit: jcazevedo] 10:29:09 same as H4ns 10:29:16 ok, safety 3 gives nice error reporting in both ccl and sbcl 10:29:34 i can live with that. 10:32:30 -!- otwieracz [~gonet9@v6.gen2.org] has quit [Ping timeout: 264 seconds] 10:35:45 stassats [~stassats@wikipedia/stassats] has joined #lisp 10:38:14 otwieracz [~gonet9@v6.gen2.org] has joined #lisp 10:39:55 segv-: your *print-right-margin* change is so awesome, thanks! 10:41:43 -!- leo2007 [~leo@119.255.41.67] has quit [Ping timeout: 252 seconds] 10:45:55 -!- morphling [~stefan@gssn-4d003311.pool.mediaWays.net] has quit [Quit: Konversation terminated!] 10:47:22 agumonkey [~agu@27.217.72.86.rev.sfr.net] has joined #lisp 10:52:47 H4ns: my pleasure. 10:52:58 it'll take a while to get into upstream though (but it should happen) 10:53:13 -!- ZombieChicken [~weechat@unaffiliated/forgottenwizard] has quit [Ping timeout: 260 seconds] 10:53:25 jcazevedo [~jcazevedo@188.250.15.178] has joined #lisp 10:53:29 Can't throw to tag (8691466 . 8840176) 10:53:47 not very nice. testing the (funcall (foo)) in ccl here 10:54:13 dlm: (declare (optimize (safety 3))) in the defun and you get a real error message. 10:54:53 well, that doesn't seem like an imaginary error message 10:55:24 you can throw to a tag for which catch is not established 10:56:04 segv-: same message even with safety 3, here 10:56:12 -!- loke_erc [~user@c-4957e555.012-14-67626717.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 10:56:22 (defun foo () (declare (optimize (safety 3))) (lambda () (return-from foo))), in case I did it wrong (again) 10:57:27 ah, but blocks are dynamic extent 10:57:46 urandom__ [~user@ip-5-146-57-23.unitymediagroup.de] has joined #lisp 10:58:09 so, seemingly, ccl implements blocks with catch/throw 10:59:00 dlm: i must have gotten my ccl and sbcl mixed up, i'm _not_ getting a nice error message from ccl. 10:59:25 your font is not nice also 11:00:10 it's I, not L 11:00:20 rootlocus [~rootlocus@124-169-147-146.dyn.iinet.net.au] has joined #lisp 11:00:36 stassats: huh? 11:00:48 it's DIM, not DLM 11:01:46 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 265 seconds] 11:02:07 11:02:30 oh. i think my font is fine, it's my eyes that are going bad.... 11:02:35 -!- hkBst_ [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 244 seconds] 11:03:12 so either improve your eyes or fix your font :) one might be easier than the other, though 11:03:16 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 11:03:26 dim: so, complain to Clozure that they can implement blocks with catch all they want, but at least give the error messages about blocks 11:03:50 or use autocompletion 11:03:53 I'm slowly getting the memo that I should maybe just `brew install sbcl` after all 11:04:19 the error in sbcl is "attempt to RETURN-FROM a block or GO to a tag that no longer exists" 11:05:06 and for throwing into the void: attempt to THROW to a tag that does not exist 11:05:16 much clearer than in CCL 11:05:37 stassats: auto completion (unless it's magical) won't help. 11:05:40 or maybe I should switch to Java and rejoice using computed Gotos as in http://p-nand-q.com/java/computed_gotos_howto.html 11:06:09 ZombieChicken [~weechat@unaffiliated/forgottenwizard] has joined #lisp 11:06:15 segv-: something like select the recent speaker or the person you recently spoken too would help 11:06:20 segv-: here I just typed TAB and your name appeared 11:06:27 segv-: here I had to type TAB twice 11:06:28 like that, yes 11:06:59 stassats: and here is with a single TAB now that you're the person who spoke most recently 11:07:24 well, rcirc is quite a good IRC client :) 11:07:31 computed goto? how about a function call? 11:08:18 or closer to what your example did, call/cc 11:09:19 -!- gravicappa [~gravicapp@ppp91-77-174-89.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 11:09:34 there's no call/cc in CL, right? 11:09:41 hkBst_ [~marijn@79.170.210.172] has joined #lisp 11:09:41 -!- hkBst_ [~marijn@79.170.210.172] has quit [Changing host] 11:09:41 hkBst_ [~marijn@gentoo/developer/hkbst] has joined #lisp 11:09:56 well, it can be programmed in with some work 11:11:17 I saw pg onlisp code about that 11:12:06 Computed goto are nice. Almost as nice as having a loop variable of type real 11:12:20 http://dunsmor.com/lisp/onlisp/onlisp_24.html#SEC129 apparently 11:12:25 http://common-lisp.net/project/cl-cont/ 11:12:49 and there's similar code in http://common-lisp.net/project/bese/arnesi.html 11:12:53 (the cps transformer) 11:16:14 -!- hkBst_ [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 255 seconds] 11:16:41 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 255 seconds] 11:17:20 hkBst_ [~marijn@79.170.210.172] has joined #lisp 11:17:20 -!- hkBst_ [~marijn@79.170.210.172] has quit [Changing host] 11:17:20 hkBst_ [~marijn@gentoo/developer/hkbst] has joined #lisp 11:18:38 kmels [~kmels@p5B13FD8C.dip.t-dialin.net] has joined #lisp 11:18:40 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 11:19:57 -!- foreignFunction [~niksaak@94.27.88.18] has quit [Quit: Leaving.] 11:20:49 silenius [~silenius@brln-4db9ec99.pool.mediaWays.net] has joined #lisp 11:23:46 -!- hkBst_ [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 244 seconds] 11:25:51 leo2007 [~leo@119.255.41.67] has joined #lisp 11:26:37 -!- rootlocus [~rootlocus@124-169-147-146.dyn.iinet.net.au] has quit [Ping timeout: 246 seconds] 11:26:43 myx [~myx@pppoe-196-222-dyn-sr.volgaline.ru] has joined #lisp 11:28:16 Slivka [~Slivka@31.40.53.196] has joined #lisp 11:29:15 H4ns, segv-: so, i committed a reworked patch, the variable is now called slime-repl-print-right-margin-follows-window 11:30:11 silly name, any suggestions on shortening it? 11:30:29 and don't forget that *print-pretty* should be T, or it's all in vain 11:30:59 and when it's used, (setq *print-right-margin* 10) won't persist 11:31:20 How portable it is to change a class-allocated slot through its prototype? 11:31:34 naryl: what prototype? 11:31:42 class-prototype 11:31:57 naryl: as portable as MOP is 11:32:04 stassats: thanks, i've put a setq of that variable to t in my .emacs so that i'll see it at work once it made it into quicklisp. 11:32:09 stassats: right-margin-follow-window sounds a lot like the truncate-line-mode and visual-line-mode of Emacs, right? 11:32:22 dim: who knows! 11:32:36 stassats: maybe more like M-q runs the command fill-paragraph? 11:32:50 my attempt at ironic insight failed 11:32:58 stassats: I'm trying to help you find the right Emacs glossary entries to shorten your variable name :) 11:33:15 dim: no, it has nothing to do with emacs truncation 11:33:17 -!- jcazevedo [~jcazevedo@188.250.15.178] has quit [Read error: Connection reset by peer] 11:33:25 jcazevedo [~jcazevedo@188.250.15.178] has joined #lisp 11:33:27 fill-column? 11:33:39 clhs *print-right-margin* 11:33:40 http://www.lispworks.com/reference/HyperSpec/Body/v_pr_rig.htm 11:33:44 I'm trying also to guess what is it you've been doing, see 11:33:48 stassats: imo the name is good as it is 11:33:51 C-x f runs the command set-fill-column 11:33:51 it's about setting it, anything else will be confusing 11:33:57 tali713 [~user@c-24-245-45-112.hsd1.mn.comcast.net] has joined #lisp 11:34:05 -!- dmbaturin_ is now known as dmbaturin 11:34:07 -!- Beetny [~Beetny@ppp118-208-156-212.lns20.bne1.internode.on.net] has quit [Ping timeout: 255 seconds] 11:34:12 so, print-right-margin statys, or at least right-margin 11:34:25 maybe slime-repl-auto-right-margin 11:34:34 slime-set-repl-fill-column-for-pretty-right-margin 11:34:39 slime-set-fill-column 11:35:06 i accept votes for slime-repl-auto-right-margin 11:35:06 stassats: slime-repl-auto-right-margin +1 11:35:18 ok, one vote is enough1 11:35:19 ! 11:35:22 rootlocus [~rootlocus@101.119.14.80] has joined #lisp 11:36:49 and did i tell you how it sucks when your keyboard can't do C-M-x where Caps locks acts as control? 11:38:43 by the way, how many people don't know that C-M-x in slime on (defvar x 10) will set X even if it's already bound? 11:39:09 i know 11:39:15 stassats: you could use C-x @ temporarily 11:39:17 and i've used that feature 11:39:35 C-x @ c M-x == C-M-x 11:39:40 well, i'm just gauging whether it'll warrant a slime-tip or not 11:39:42 stassats: but it's a good slime tip (if there is not one already) 11:40:04 I expected that about the defvar stassats, as it's the elisp behaviour 11:40:04 stassats: so there, one vote :) 11:40:18 that still warrants a slime tip 11:40:54 stassats: ESC C-x also is the same thing as C-M-x, if that helps 11:41:04 dim: i just user the right-control + M-x 11:41:09 I guess that ESC C-x is easier to use than C-x @ c M-x 11:41:29 you can also use C-[ for ESC on qwerty, maybe C-[ C-x works for you? 11:41:53 and it's something they don't list as features when you buy a keyboard! i guess i should come with a laptop and try to use it in emacs before buying 11:42:14 keyboards are much more complex than what they look, indeed 11:42:32 more simple, you mean? 11:42:50 if it were complex, it would handle arbitrary three-key combinations! 11:43:27 more complex, they can't avoid loosing some chords because they can't send the whole information back to the computer, not enough cables/bits or something 11:43:40 my previous setup was not able to send C-M-a 11:43:45 is there a #keyboard channel where you can take this discussion further? 11:44:08 H4ns: no, that's about lisp key combinations! 11:44:19 H4ns: donn't you want some slime tips about your keyboard? :) 11:44:20 ah, that's a fine argument! 11:44:24 so, #lisp-keyboard might do 11:44:37 back to the symbolics keyboard! 11:45:03 http://upload.wikimedia.org/wikipedia/commons/9/9a/Symbolics-keyboard.jpg 11:45:09 and two slime-tips in two days would be too much, i'll hold a bit before posting it 11:46:01 by the way, until recently, i did not know that one can supply arbitrary keyword arguments to a function accepting &key by using :allow-other-keys t, i.t. (open "foo" :allow-other-keys t :baz 'blah). how cool is that! 11:46:07 -!- xan_ [~xan@80.174.78.196.dyn.user.ono.com] has quit [Ping timeout: 260 seconds] 11:46:21 is there a lisp-tip about it? 11:46:32 i don't know 11:47:05 not a feature that i often used 11:47:13 I knew about :allow-other-keys! (well I've read about that when learning my basics then didn't have a use for it) 11:47:19 i'm a sucker for plists 11:47:35 -!- rootlocus [~rootlocus@101.119.14.80] has quit [Quit: rootlocus] 11:47:48 xan_ [~xan@80.174.78.254.dyn.user.ono.com] has joined #lisp 11:48:15 can only find two instances where i used it in real code 11:48:28 hey you can use :allow-other-keys when *calling* the function? I though it would be at defun/destructuring-bind time only? 11:48:44 yes, when calling 11:49:30 -!- beaky [~beaky@92.96.100.66] has left #lisp 11:49:45 tfb [~tfb@fw-tnat.cambridge.arm.com] has joined #lisp 11:50:15 dim: &allow-other-keys i learned about early on, too 11:50:46 H4ns: :allow-other-keys is handy, but it often gives me an icky feeling when using it. like i'm on the verge of making a bad architectural decision. 11:50:59 http://www.lispworks.com/documentation/HyperSpec/Body/03_dad.htm 11:51:12 H4ns: Thanks :) 11:51:16 There should be a lisp-tip. 11:52:19 hkBst_ [~marijn@79.170.210.172] has joined #lisp 11:52:19 -!- hkBst_ [~marijn@79.170.210.172] has quit [Changing host] 11:52:19 hkBst_ [~marijn@gentoo/developer/hkbst] has joined #lisp 11:52:24 madnificent: &allow-other-keys gives me that feeling. but i often wrap one function accepting keyword arguments in another function, and then it is pretty handy if one can pass on all arguments to the wrapped function without having to cons up a new argument list. 11:53:57 H4ns: oh. &allow-other-keys vs :allow-other-keys. how sublte... 11:54:47 hm, and i can't write a slime-tip about slime-repl-auto-right-margin before a quicklisp release 11:56:27 attila_lendvai [~attila_le@apn-151-0-107-134.vodafone.hu] has joined #lisp 11:56:28 -!- attila_lendvai [~attila_le@apn-151-0-107-134.vodafone.hu] has quit [Changing host] 11:56:28 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 11:57:03 maybe i could add to the manual in the meantime, but who reads manuals nowadays! 11:57:08 -!- hkBst_ [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 248 seconds] 11:57:47 -!- pavelpenev [~quassel@85-130-11-8.2073813645.shumen.cablebg.net] has quit [Read error: Operation timed out] 11:58:05 -!- bitonic [~user@5e09a749.bb.sky.com] has quit [Read error: Operation timed out] 12:00:52 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 248 seconds] 12:03:38 xcombelle [~xcombelle@AToulouse-551-1-41-14.w90-11.abo.wanadoo.fr] has joined #lisp 12:03:38 attila_lendvai [~attila_le@apn-5-63-222-38.vodafone.hu] has joined #lisp 12:03:38 -!- attila_lendvai [~attila_le@apn-5-63-222-38.vodafone.hu] has quit [Changing host] 12:03:38 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 12:05:11 -!- leo2007 [~leo@119.255.41.67] has quit [Quit: go home for dinner] 12:10:08 -!- jtza8 [~jtza8@105-236-37-55.access.mtnbusiness.co.za] has quit [Ping timeout: 255 seconds] 12:13:07 kmels_ [~kmels@p579D150B.dip.t-dialin.net] has joined #lisp 12:13:52 -!- kmels [~kmels@p5B13FD8C.dip.t-dialin.net] has quit [Ping timeout: 252 seconds] 12:19:06 ISF [~ivan@189.61.223.97] has joined #lisp 12:20:27 gravicappa [~gravicapp@80.90.116.82] has joined #lisp 12:24:02 -!- [SLB]` is now known as [SLB] 12:26:34 kmels__ [~kmels@p5B13FC6E.dip.t-dialin.net] has joined #lisp 12:27:06 mutha [~mutha@109.227.27.238] has joined #lisp 12:27:41 -!- kmels_ [~kmels@p579D150B.dip.t-dialin.net] has quit [Ping timeout: 252 seconds] 12:27:57 Joreji [~thomas@81-124.eduroam.rwth-aachen.de] has joined #lisp 12:31:54 segv-: don't you have a slime commit bit? 12:31:55 hkBst_ [~marijn@79.170.210.172] has joined #lisp 12:31:55 -!- hkBst_ [~marijn@79.170.210.172] has quit [Changing host] 12:31:55 hkBst_ [~marijn@gentoo/developer/hkbst] has joined #lisp 12:32:07 -!- tdammers [~tobias@212-182-150-105.ip.telfort.nl] has quit [Ping timeout: 245 seconds] 12:35:42 dbh [~user@182.55.2.111] has joined #lisp 12:36:57 bitonic [~user@dyn1199-118.wlan.ic.ac.uk] has joined #lisp 12:37:57 -!- hkBst_ [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 252 seconds] 12:40:00 -!- teggi [~teggi@113.172.42.162] has quit [Remote host closed the connection] 12:40:09 bitonic` [~user@dyn1202-101.wlan.ic.ac.uk] has joined #lisp 12:41:55 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 12:42:18 -!- bitonic [~user@dyn1199-118.wlan.ic.ac.uk] has quit [Ping timeout: 265 seconds] 12:42:42 kofno [~kofno@72.240.63.121] has joined #lisp 12:44:09 nowhere_man_ [~pierre@AStrasbourg-551-1-28-231.w83-196.abo.wanadoo.fr] has joined #lisp 12:45:24 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 244 seconds] 12:46:39 -!- ISF [~ivan@189.61.223.97] has quit [Ping timeout: 265 seconds] 12:46:48 -!- nowhereman [~pierre@AStrasbourg-551-1-142-109.w90-26.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 12:47:18 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 12:48:48 AeroNotix [~xeno@aclm41.neoplus.adsl.tpnet.pl] has joined #lisp 12:52:25 BlankVer1e [~pankajm@103.246.106.44] has joined #lisp 12:54:05 -!- BlankVerse [~pankajm@202.3.77.214] has quit [Ping timeout: 252 seconds] 12:57:08 BlankVerse [~pankajm@103.246.106.44] has joined #lisp 12:57:13 -!- dbh [~user@182.55.2.111] has quit [Remote host closed the connection] 12:57:29 -!- bitonic` [~user@dyn1202-101.wlan.ic.ac.uk] has quit [Ping timeout: 255 seconds] 12:57:53 -!- BlankVer1e [~pankajm@103.246.106.44] has quit [Read error: Connection reset by peer] 12:58:09 *attila_lendvai* welcomes back segv- on #lisp :) 12:58:55 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 13:01:42 NikolaiDante [~nikolaida@unaffiliated/knighterrant] has joined #lisp 13:02:06 I need some insight on whether lisp is good for possibly cpu-intensive game programming, specifically 2d shooters with lots of objects in complex patterns on the screen 13:02:13 -!- NikolaiDante [~nikolaida@unaffiliated/knighterrant] has left #lisp 13:02:29 lide: possibly 13:02:31 I'm starting game development and I'm not sure if I should create the engine in lisp or just go for C/++ 13:02:40 yes, it's good, if you're good 13:02:49 hmm. 13:03:05 stat_vi [~stat@dslb-094-218-233-064.pools.arcor-ip.net] has joined #lisp 13:03:13 the only thing I can see problematic is a) GC tuning (not perf. impact per se, but how you pressure it) b) speed penalty on calling external libraries 13:04:07 see #lispgames and block.io and http://prog21.dadgum.com/ (the guy explains that nowadays you can actually program games in Erlang, hindsightfull) 13:05:14 *stassats* would take prog21 posts with a grain of salt 13:05:23 they seem to just an old man's rants 13:05:31 thanks I'll check the links (with a grain of salt) 13:05:35 http://blocky.io/ 13:05:50 stassats: I read more than that into them :) 13:06:27 ah, actually I have visited this 'blog' before. 13:06:28 is there a Common Lisp implementation with a concurrent GC ? it would be useful for games 13:06:33 well, they appear to be interesting on the surface, but i always come out without any better insight after reading them 13:06:55 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 252 seconds] 13:06:58 it's often proposing an angle I didn't come with before by myself 13:07:32 -!- antonv [5d7d31f9@gateway/web/freenode/ip.93.125.49.249] has quit [Ping timeout: 245 seconds] 13:08:08 galdor: You can ask on #lispgames. Somebody may at least have some hints for making games without concurrent gc :) 13:08:11 lide: there are a few people around in #lispgames that will give you some insights on it. afaict the interaction with the outside world (meaning graphics libraries) will be your main concern. i'd say lisp should be well up for the task, especially as you're expecting to be cpu-bound. 13:08:37 alright, I'll be checking there 13:08:51 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 13:08:52 it's ok, I don't need it myself; I was just curious 13:08:58 -!- kofno [~kofno@72.240.63.121] has quit [Remote host closed the connection] 13:09:12 lide: lispbuilder-sdl works if you need graphics 13:09:29 run two lisp implementations side by side, there, a concurrent gc! 13:09:45 yeah I have that installed (I think), just got stuck with not figuring out emacs+slime last time I tried to get things started 13:10:30 fwiw this is the kind of stuff the engine should be able to handle flawlessly: http://www.youtube.com/watch?v=B4FtsMAdtZA 13:10:46 -!- Vivitron [~Vivitron@ip68-228-201-242.ph.ph.cox.net] has quit [Remote host closed the connection] 13:11:16 lide: possible, but not easy 13:11:23 i.e. I want to make an arcade game in lisp 13:11:26 the GC might be a problem for this kind of game, since the slightest pause will be felt by the user 13:11:31 a game in lisp: http://www.youtube.com/watch?v=5MDqC6XG-Ag 13:11:32 lide: the main issue will be that you'll have to avoid consing. 13:11:37 damn 13:12:03 lide: emacs+slime+sbcl: download & install sbcl from the main site. download & install quicklisp. (ql:quickload "quicklisp-slime-helper") and follow the instructions. 13:12:13 if you can use OpenGL, you can offload lots of computations to the GPU 13:12:33 galdor: the computation is not so much an issue. the gc pauses are. 13:12:44 -!- stat_vi [~stat@dslb-094-218-233-064.pools.arcor-ip.net] has quit [Quit: leaving] 13:13:02 madnificent: I think I got lispbuilder-sdl installed with quicklisp, Xach pointed me that way. but I couldn't figure out slime and how to run my code while editing and all that 13:14:04 stat_vi [~stat@dslb-094-218-233-064.pools.arcor-ip.net] has joined #lisp 13:14:12 hkBst_ [~marijn@79.170.210.172] has joined #lisp 13:14:12 -!- hkBst_ [~marijn@79.170.210.172] has quit [Changing host] 13:14:12 hkBst_ [~marijn@gentoo/developer/hkbst] has joined #lisp 13:14:29 madnificent: also, I didn't acutely have a way to test whether lispbuilder-sdl was working, as their website is pretty bad (false (outdated) installation instructions and really it seemed to assume I was much more proficient than I am) and quicklisp didn't install sdl examples afaik 13:14:36 edgar-rft [~GOD@HSI-KBW-091-089-000-047.hsi2.kabelbw.de] has joined #lisp 13:14:37 note that in console games, it's common practice to avoid dynamic allocation after initialization; if it's possible to preallocate everything you need, it may be ok 13:15:25 lide: http://bc.tech.coop/blog/050728.html that video might help you find interesting stuff :) #lispgames will probably help you better with lispbuilder-sdl than #lisp (but you'll need to lurk around) 13:15:58 this is all valuable information but I should say at this point that I'm a total novice at this (programming in general), I've only really programmed in C before (a crappy tetris engine mock-up) 13:16:51 so, become an unnovice 13:17:07 madnificent: that page I'm familiar with too, actually. in fact, now I remember trying to watch that specific video but I couldn't even get flash working in linux -_- 13:18:36 stassats: lisp actually drew me because it seemed like something that could be easy to pick up and just start doing things. I didn't really like C in this regard, and I'd rather not be forced to think like the machine when I am trying to put together something more complex 13:19:44 having an idea what and how the machine thinks is good, though. especially when you're trying to squeeze some juice out of the machine. 13:20:08 lide: With C you think like a machine. With CL you think like a compiler. 13:20:34 stassats: also I've seen the game video on youtube that you linked before, what worried me is the flickering, could be from video capturing though 13:20:42 lide: in this regard i find being able to disassmeble functions right after defining them very nice 13:20:51 -!- BlankVerse [~pankajm@103.246.106.44] has quit [Ping timeout: 252 seconds] 13:21:16 lide: and it's from three years ago, and written in a short time 13:21:35 jdz: indeed. that's mainly why I was inquiring about lisp for arcade games, to determine do I really need to go low-level or just "make things happen" 13:21:39 so, with modern hardware, more time and better implementations, (and no video capture) it could become faster 13:21:53 stassats: oh, that's nice 13:22:38 lide: if you try it in lisp, make sure that you avoid consing from the beginning. 13:22:40 lide: are you reading practical common lisp to learn lisp? 13:22:49 naryl: that's an interesting viewpoint, I'll meditate on it :) 13:22:54 :) 13:23:07 lide: you'll also want to check that all the libraries that to intend to use work without consing. 13:23:21 any practical reading on how to avoid consing? 13:23:27 madnificent: not much, just dabbling a bit when in school library (they have copies of it with Xach's sexy quote on the cover) 13:23:29 dim: (time (foo)) 13:23:32 lide: There's also always the hard way. :) 13:23:40 Split the game into a few processes. 13:23:50 H4ns: consing may potentially not be that big of a deal. it depends on how much is consed and how much time the generation of a frame takes. the 'garbage collection is terrible' sounds like something that could lead to premature optimization. 13:23:57 2,289,152 bytes of memory allocated. 13:24:06 I don't see any other "consing" reference 13:24:14 madnificent: you are entitled to your opinion. 13:24:18 what is the issue with consing? 13:24:25 dim: "memory allocated" == "consed" 13:24:34 3,489 microseconds (0.003489 seconds, 0.38%) of which was spent in GC. it's something else I might have to be looking at? 13:24:37 H4ns: ok, I was not sure about that 13:24:40 thanks 13:25:14 madnificent: if you cannot place an upper bound on gc times, you need to avoid it completely if you want smooth action over an extended period of time. 13:25:31 also, generating garbage is not that expensive 13:25:50 bitonic` [~user@dyn1208-174.wlan.ic.ac.uk] has joined #lisp 13:26:05 H4ns: or in other words, you need a bounded-time GC, which exist 13:26:17 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 245 seconds] 13:26:18 not in lisp implementations, though 13:26:20 well, it may also be a strategy to disable gc during the action periods and then gc when updates can be stopped for a bit. 13:26:41 stassats: are there really none? 13:26:58 but all that is very hand-wavy. for high-performance code, i think the best way is to avoid consing from the beginning. 13:27:02 H4ns: and you should ensure you have 10 failovers for all your applications, because something might potentially go wrong. thing is: if it turns out to work well enough in practice, then consing isn't that big of a deal. it just depends on the amount of time spent in practice. if you have cycles to spare, consing mightn't be the biggest deal. yes, you should probably look out for it, but you should probably benchmark so 13:27:02 sane idea of how much you're consing and how much time it takes to garbage collect on the targetted systems. that's all i'm saying. 13:27:19 tfb: maybe some ad-hoc not publicly-available 13:27:36 lide: when you allocate memory there's a garbage collector which comes round to hunt for unreferenced blocks of data. that garbage collector freezes up all calculations. so if that garbage collector would take 15 minutes to run, you won't be doing calculations during those 15 minutes... and your game will freeze 13:27:45 madnificent: i find it misleading to claim that gc may not be "a big deal" in a high-performance application. 13:28:01 madnificent: I see... thanks 13:28:21 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 13:28:28 H4ns: i find it misleading to say you must ensure no consing happens in each of your libraries. guess we're focussing on the two extremes and reality lies somewhere in the middle. 13:28:53 -!- edgar-rft [~GOD@HSI-KBW-091-089-000-047.hsi2.kabelbw.de] has quit [Quit: nuclear meltdown] 13:29:39 bitonic`` [~user@dyn1206-101.wlan.ic.ac.uk] has joined #lisp 13:31:01 quick quiz: what's the result of (getf '(23213 10) 23213)? 13:31:09 10 13:31:17 -!- bitonic` [~user@dyn1208-174.wlan.ic.ac.uk] has quit [Ping timeout: 245 seconds] 13:31:26 well, it's actually unspecified 13:31:37 (getf '(23213 10) 23213) => NIL on ABCL 13:31:40 getf uses EQ 13:31:42 not EQL 13:31:44 uh 13:32:02 (eq 23213 23213) => NIL on ABCL 13:33:42 something you will get with (getf '(4611686018427387904 10) 4611686018427387904) on other implementations 13:33:47 why does GETF use EQ, I wonder? 13:34:07 i guess it's supposed to work only on symbols 13:34:30 well, probably yes, but then it could just use EQL anyway 13:34:41 but performance! 13:34:55 in the days of PDPx 13:35:16 nan_ [~candodget@46.197.116.88] has joined #lisp 13:35:21 gko [~user@114-34-168-13.HINET-IP.hinet.net] has joined #lisp 13:35:49 and is anybody using get-properties? 13:35:51 -!- AeroNotix [~xeno@aclm41.neoplus.adsl.tpnet.pl] has quit [Quit: Uploading hax.....] 13:36:14 GET does the same, I never knew 13:37:11 the full list is catch getf throw get remf get-properties remprop 13:38:38 i guess get-properties is useful when you call it with more than one key 13:38:52 well, and for checking that NIL is actually there 13:39:59 -!- kmels__ [~kmels@p5B13FC6E.dip.t-dialin.net] has quit [Ping timeout: 246 seconds] 13:40:05 well, i'm running a consing version (3e29df4) of brian's brain here, GC is invoked like more than 3 times per second, don't notice any stutering 13:41:19 GCs can be very, very fast, and people worry excessively about hard-realtime issues for things which are, in fact, games. No one dies if it has a glitch once a week 13:41:47 cl-irc is using get-properties in a rather silly way: (multiple-value-bind (indicator value tail) (get-properties (modes target) (list mode)) (when (or indicator value tail) value)) 13:42:36 which is the same as just getf, but conses and is too much code 13:43:16 segmond_ [~segmond@adsl-99-150-135-229.dsl.sfldmi.sbcglobal.net] has joined #lisp 13:44:13 kofno [~kofno@72.240.63.121] has joined #lisp 13:45:15 the better way for checking of a key is present would be (let ((empty '#.(gensym))) (not (eq (getf '(x NIL) 'x empty) empty))) 13:46:54 although (loop for (x) on plist by #'cddr thereis (eq x key)) is even shorter 13:47:06 antgreen [~user@dsl-173-206-169-60.tor.primus.ca] has joined #lisp 13:47:21 i just calculated average GC time in 5 minute experiment: 4ms 13:47:24 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 244 seconds] 13:47:30 -!- segmond__ [~segmond@108.73.164.251] has quit [Ping timeout: 264 seconds] 13:47:36 or is it 40? 13:47:45 attila_lendvai [~attila_le@apn-130-43-244-205.vodafone.hu] has joined #lisp 13:47:45 -!- attila_lendvai [~attila_le@apn-130-43-244-205.vodafone.hu] has quit [Changing host] 13:47:45 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 13:48:52 lide: anyway, make your game in lisp, use triple buffering, run GC when you don't have anything to do :) 13:49:26 jdz: what's with the triple-buffering? 13:49:42 lide: http://en.wikipedia.org/wiki/Multiple_buffering 13:50:07 -!- echo-area [~user@182.92.247.2] has quit [Remote host closed the connection] 13:50:21 lide: if you're into game programming you better start reading on that stuff :) 13:50:22 the diagram on right makes me shit my pants 13:51:23 lide: the short story: while when you're done drawing your current frame, and there's time for the next frame, you can start working on the next frame, and display when the right time comes 13:51:37 ahh 13:51:52 I'm really big on short stories ;) 13:52:48 anyway, the whole GC thing is pretty involved, and you should not worry about it too much 13:53:06 I feel like I need to see something moving on my screen to get started, I guess all this will become relevant as I go. but I will remember (conceptually) every hint you guys give 13:53:07 until you have to 13:53:29 lide: i'd point you to my million year old articles which touch on this topic: http://t-b-o-g.blogspot.com/2009/10/brians-brain-on-common-lisp.html 13:54:28 leo2007 [~leo@182.48.109.8] has joined #lisp 13:54:43 ty, you guys giving me a good deal of homework ;) 13:55:09 kmels__ [~kmels@frbg-4d029066.pool.mediaWays.net] has joined #lisp 13:55:21 lide: if you get to reading the article(s}, code is at https://github.com/jdz/brians-brain 13:57:25 sascha` [~skbierm@p4FEA10D7.dip0.t-ipconnect.de] has joined #lisp 13:57:49 -!- Joreji [~thomas@81-124.eduroam.rwth-aachen.de] has quit [Read error: Operation timed out] 13:58:00 -!- sascha` [~skbierm@p4FEA10D7.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 13:59:44 amazingly, by caching cffi's length of NULL octet determination for strings, i shaved 10ms of my run-time (15%) 13:59:54 -!- kmels__ [~kmels@frbg-4d029066.pool.mediaWays.net] has quit [Ping timeout: 240 seconds] 14:00:38 kmels__ [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 14:02:08 jdz: brians-brain is not in Quicklisp? Why not? 14:03:02 dim: dunno, nobody has put it there? 14:03:08 jdz: can you control lisp gc in that way? the time and the duration? if so, is it portable btw? 14:03:38 nan_: control GC in what way? i have not said anything about that. 14:03:56 i just said that one can run GC if there's spare time 14:04:04 you said "lide: anyway, make your game in lisp, use triple buffering, run GC when you don't have anything to do" 14:04:36 -!- elkng [~elkng@unaffiliated/elkng] has quit [Ping timeout: 252 seconds] 14:04:37 anyway, my observation is that garbage is cheap 14:04:48 -!- bitonic`` [~user@dyn1206-101.wlan.ic.ac.uk] has quit [Read error: Operation timed out] 14:04:56 and running GC too often might be worsen the run time 14:05:16 s/be// 14:05:49 pavelpenev [~quassel@85-130-11-8.2073813645.shumen.cablebg.net] has joined #lisp 14:05:57 (git clone + ql:quickload ; soon to play birans brain) 14:06:33 value 371644742 is not of the expected type SINGLE-FLOAT. [Condition of type TYPE-ERROR] 14:06:38 0: (BRIANS-BRAIN::RENDER-CELL 80 1 1) 14:06:41 too bad 14:08:12 peterhil` [~peterhil@gatekeeper.brainalliance.com] has joined #lisp 14:08:19 dim: that's new to me 14:09:27 do you indulge into too much safety 0? 14:10:03 -!- kofno [~kofno@72.240.63.121] has quit [Remote host closed the connection] 14:10:38 he does (declaim (optimize (speed 3) (safety 1))) 14:12:00 dim: what can i say -- worksforme 14:12:19 saschakb [~skbierm@p4FEA10D7.dip0.t-ipconnect.de] has joined #lisp 14:12:30 fair enough. project's state: worksforme. :) 14:12:43 -!- kmels__ [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 244 seconds] 14:13:59 dim: if you want help, try recompiling with higher debug setting and see where the problem is 14:14:38 worksforstassatstoo 14:15:08 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 14:15:13 -!- saschakb [~skbierm@p4FEA10D7.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 14:17:29 adding (debug 3) to the declaim expression made it work now 14:17:31 cool 14:18:02 oh, heisenbugs -- bugs for real men 14:19:00 and I need to Force Quit the application (and the whole lisp while at it) to stop it, dunno if that's by the book 14:19:03 QuickSilver_ [~ait@cpe-72-177-30-155.austin.res.rr.com] has joined #lisp 14:19:21 -!- QuickSilver_ [~ait@cpe-72-177-30-155.austin.res.rr.com] has quit [Client Quit] 14:19:22 yeah, i'm not handling Esc or q 14:19:29 but closing the window should be enough 14:20:28 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 244 seconds] 14:20:42 francisl [~flavoie@199.84.164.114] has joined #lisp 14:20:42 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Read error: Connection reset by peer] 14:21:00 *stassats* further reduces consing on passing strings in CFFI with a strategically places SPEED declaration 14:21:31 kmels__ [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 14:22:05 attila_lendvai [~attila_le@apn-5-63-246-253.vodafone.hu] has joined #lisp 14:22:05 -!- attila_lendvai [~attila_le@apn-5-63-246-253.vodafone.hu] has quit [Changing host] 14:22:05 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 14:22:26 and not only for strings, but for doing any freeing 14:22:26 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 14:22:40 -!- mutha [~mutha@109.227.27.238] has quit [Quit: mutha] 14:22:47 cool, now we can have non-consing freeing, yes? 14:22:51 mutha [~mutha@109.227.27.238] has joined #lisp 14:22:56 yes 14:22:56 -!- mutha [~mutha@109.227.27.238] has quit [Client Quit] 14:23:02 yesss 14:23:22 that's all about SBCL, of course 14:23:47 bitonic [~user@dyn1195-40.wlan.ic.ac.uk] has joined #lisp 14:24:44 jdz: the window has no decoration bar and the window menu won't open here 14:25:34 QuickSilver_ [~ait@cpe-72-177-30-155.austin.res.rr.com] has joined #lisp 14:25:37 for now, it's on https://github.com/stassats/cffi 14:25:47 i'm doing further profiling for low-hanging fruits 14:26:04 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Client Quit] 14:26:29 dim: because you're using some awkward OS/window manager combination, right? 14:26:38 dim: like OSX Lion 14:26:51 indeed 14:27:08 dim: as you can see on the screenshot, it was perfectly ok when i wrote the article (on Leopard) 14:27:43 I can see that, yes 14:27:51 I'm not blaming you, you know, just reporting 14:28:18 well, i'm surprised it works at all 14:28:21 I wanted to see some graphics done in lisp and simple enough to get started, and you offered me that, so, thank you :) 14:28:28 it broke for me when i upgraded to Snow Leopard 14:28:39 because if the main thread / opengl thingie 14:28:46 but that probably is fixed now 14:28:57 dim: you're welcome 14:29:00 I want to have something like a Logo Turtle but prettier maybe that's made in lisp so that you can use that to play around in lisp 14:29:02 -!- kushal [kdas@fedora/kushal] has quit [Quit: Leaving] 14:29:19 preparing for the day a kid ask me about teaching her/him programming 14:29:53 let's move that robot on screen ourselves, then write a program to do that, looks something of a nice first hand project 14:30:15 emacs-dwim [~user@rrcs-72-43-236-2.nys.biz.rr.com] has joined #lisp 14:32:19 -!- liweinan [~liweinan@123.117.208.111] has quit [Remote host closed the connection] 14:34:25 -!- hkBst_ [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 244 seconds] 14:34:39 liweinan [~liweinan@123.117.208.111] has joined #lisp 14:35:09 hkBst_ [~marijn@gentoo/developer/hkbst] has joined #lisp 14:35:25 Indecipherable [~Indeciphe@41.13.28.177] has joined #lisp 14:41:54 -!- francisl [~flavoie@199.84.164.114] has quit [Quit: francisl] 14:43:06 -!- Krystof [~user@81.174.155.115] has quit [Remote host closed the connection] 14:43:25 Thra11 [~thrall@87.115.174.172] has joined #lisp 14:48:30 -!- Nisstyre [~yours@oftn/member/Nisstyre] has quit [Ping timeout: 248 seconds] 14:49:11 -!- mr_vile [~carnage@9ch.in] has quit [Read error: Connection reset by peer] 14:49:22 -!- Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 250 seconds] 14:49:26 beaky [~beaky@92.96.100.66] has joined #lisp 14:49:32 what is a reader macro 14:49:44 clhs glossary/reader macro 14:49:44 http://www.lispworks.com/reference/HyperSpec/Body/26_glo_r.htm#reader_macro 14:50:40 so it is what implements the syntax for the read function? 14:50:57 -!- Buglouse [~Buglouse@unaffiliated/Buglouse] has quit [Ping timeout: 244 seconds] 14:51:14 Demosthenex [~Demosthen@206.180.155.43.adsl.hal-pc.org] has joined #lisp 14:51:42 -!- dodo_ [~dodo@199.119.201.138] has quit [Ping timeout: 245 seconds] 14:51:47 yes 14:52:26 that's awesome 14:52:40 -!- bitonic [~user@dyn1195-40.wlan.ic.ac.uk] has quit [Remote host closed the connection] 14:53:07 bitonic [~user@dyn1195-40.wlan.ic.ac.uk] has joined #lisp 14:53:23 reader by itself only can read symbols and numbers 14:54:32 -!- kmels__ [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 248 seconds] 14:54:32 -!- jasom [~aidenn@ip70-191-80-19.sb.sd.cox.net] has quit [Ping timeout: 248 seconds] 14:54:49 jasom [~aidenn@ip70-191-80-19.sb.sd.cox.net] has joined #lisp 14:55:40 Buglouse [~Buglouse@unaffiliated/Buglouse] has joined #lisp 14:56:27 Krystof [~user@81.174.155.115] has joined #lisp 14:56:49 Nisstyre [~yours@oftn/member/Nisstyre] has joined #lisp 14:58:31 -!- hkBst_ [~marijn@gentoo/developer/hkbst] has quit [Remote host closed the connection] 14:58:57 hkBst_ [~marijn@79.170.210.172] has joined #lisp 14:58:57 -!- hkBst_ [~marijn@79.170.210.172] has quit [Changing host] 14:58:57 hkBst_ [~marijn@gentoo/developer/hkbst] has joined #lisp 14:59:01 -!- Vutral [ss@mirbsd/special/Vutral] has quit [Read error: Operation timed out] 14:59:25 kmels__ [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 15:01:11 ISF [~ivan@189.61.223.97] has joined #lisp 15:02:00 can I "inquire" the reader table to see what reader function is responsible of parsing (...)? 15:02:15 clhs g-m-c 15:02:15 glossary/define-method-combination arguments lambda list: http://www.lispworks.com/reference/HyperSpec/Body/26_glo_d.htm#define-method-combination_arguments_lambda_list 15:02:20 err 15:02:34 specbot: what's up with you? 15:02:40 clhs get-macro-character 15:02:40 http://www.lispworks.com/reference/HyperSpec/Body/f_set_ma.htm 15:03:15 -!- elliottcable is now known as pawsgordon 15:04:19 (get-macro-character #\() # 15:04:34 dodo_ [~dodo@61.173.122.81] has joined #lisp 15:04:38 Source Location: # 15:04:39 hehe 15:04:52 -!- mathrick_ [~mathrick@80.63.227.98] has quit [Quit: Leaving] 15:04:59 awesome 15:05:17 when compared to having to use gdb to understand what happens in static code running, in particular 15:05:21 well, another story 15:06:06 if you press M-. on it, it will take you to it 15:06:28 -!- c_arenz [arenz@nat/ibm/x-tatqquelsmlsocyw] has quit [Ping timeout: 248 seconds] 15:06:50 get-macro-character yes, anonymous function no 15:07:00 yes, i mean the anonymous function 15:07:26 signal(error ("No known definition for: (in COMMON-LISP-USER)")) 15:08:06 where did you put your cursor? 15:08:31 -!- hkBst_ [~marijn@gentoo/developer/hkbst] has quit [Ping timeout: 244 seconds] 15:09:09 should be somewhere between "Anonymous Function" 15:11:40 and i don't see an obvious way to make it applicable to the whole presentation 15:12:21 well, without breaking APIs, that is 15:14:24 Vutral [ss@mirbsd/special/Vutral] has joined #lisp 15:17:38 qptain_Nemo [~qN@89.207.216.208] has joined #lisp 15:18:38 linse_ [~marioooh@x-132-204-243-254.xtpr.umontreal.ca] has joined #lisp 15:21:20 Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has joined #lisp 15:21:37 -!- mcsontos [mcsontos@nat/redhat/x-epwkqkyaakpqqdkg] has quit [Quit: Leaving] 15:22:16 gffa [~unknown@unaffiliated/gffa] has joined #lisp 15:24:02 stardiviner [~stardivin@122.236.243.106] has joined #lisp 15:25:51 Daisy [~Daisy@c-3d42e555.143-16-64736c10.cust.bredbandsbolaget.se] has joined #lisp 15:27:16 mmm, ok it works now 15:27:32 I did put it on the first # or after the n 15:28:57 btw M-. is awesome 15:30:11 -!- Gurragchaa [u6439@gateway/web/irccloud.com/x-dwbmxnzoeypvgdkq] has quit [Max SendQ exceeded] 15:30:53 Gurragchaa [u6439@gateway/web/irccloud.com/x-wtjyrvytlehdslcx] has joined #lisp 15:31:51 jewel [~jewel@105-236-20-105.access.mtnbusiness.co.za] has joined #lisp 15:32:25 dim: ok, fixed in CVS with some convoluted mess 15:32:34 now you can M-. anywhere on a presentation 15:32:46 wow, thanks 15:32:54 stupid question if I may: why CVS? 15:33:08 because. 15:33:56 that's a valid answer 15:33:58 dim: That's the way it's always been done! It worked in the past, there is no reason it won't work in the future. 15:34:14 there was SCCS and the like before, rcs even maybe 15:34:46 cvs has never been atomic, so it's a very limited definition of "worked in the past" 15:35:19 tdammers_ [~tobias@212-182-150-105.ip.telfort.nl] has joined #lisp 15:36:47 -!- Cymew [~user@fw01d.snowmen.se] has quit [Read error: Operation timed out] 15:40:02 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Ping timeout: 245 seconds] 15:40:59 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 15:44:52 -!- liweinan [~liweinan@123.117.208.111] has quit [Remote host closed the connection] 15:45:01 teggi [~teggi@113.172.42.162] has joined #lisp 15:46:15 francisl [~flavoie@199.84.164.114] has joined #lisp 15:46:33 liweinan [~liweinan@123.117.208.111] has joined #lisp 15:48:56 I have considered having my memory of CVS surgically removed. 15:49:43 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Ping timeout: 260 seconds] 15:50:17 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 15:50:21 then you won't remember how bad you felt and will start using it again 15:51:46 The one good thing about CVS is that it was an improvement over raw RCS. 15:51:50 yes, that's why I have not done it. We Must Not Forget 15:52:26 -!- xcombelle [~xcombelle@AToulouse-551-1-41-14.w90-11.abo.wanadoo.fr] has quit [Remote host closed the connection] 15:52:50 Eternal Merging of The Centralized Mind, or something like that 15:52:59 -!- sellout [~Adium@pool-71-175-17-248.phlapa.fios.verizon.net] has quit [Quit: Leaving.] 15:55:10 morphling [~stefan@gssn-4d003311.pool.mediaWays.net] has joined #lisp 16:01:12 -!- paolo_m [~user@2-228-95-110.ip190.fastwebnet.it] has quit [Ping timeout: 252 seconds] 16:07:27 -!- Indecipherable [~Indeciphe@41.13.28.177] has quit [Quit: used jmIrc] 16:09:21 -!- fe[nl]ix [~quassel@pdpc/supporter/professional/fenlix] has quit [Remote host closed the connection] 16:09:32 fe[nl]ix [~quassel@pdpc/supporter/professional/fenlix] has joined #lisp 16:10:37 -!- fe[nl]ix [~quassel@pdpc/supporter/professional/fenlix] has quit [Remote host closed the connection] 16:11:19 paolo_m [~user@2-228-95-110.ip190.fastwebnet.it] has joined #lisp 16:12:13 fe[nl]ix [~quassel@pdpc/supporter/professional/fenlix] has joined #lisp 16:12:58 -!- silenius [~silenius@brln-4db9ec99.pool.mediaWays.net] has left #lisp 16:21:50 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Remote host closed the connection] 16:24:43 -!- segv- [~mb@dslb-088-075-246-101.pools.arcor-ip.net] has quit [Quit: segv-] 16:28:25 -!- pawsgordon is now known as elliottcable 16:30:12 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Ping timeout: 252 seconds] 16:30:56 could anyone explain (defun foo (a) a) (defun bar () ''t) why (foo '''t) and (test) is not identical, please? 16:31:40 tensorpudding [~tensorpud@108.87.20.77] has joined #lisp 16:31:46 2 and 3 are not equal 16:32:13 assuming you call (bar) instead of (test) 16:32:31 ah yes sorry 16:33:15 nan_: why do you expect ''t and '''t to be "identical"? 16:34:32 i don't expect them to be identical but 16:35:24 quote doesn't just disappear. 16:35:30 in (foo '''t) a in foo equals ''t since it was evaluated once, then it returns a, which is ''t 16:36:19 fantazo [~fantazo@91-119-196-139.dynamic.xdsl-line.inode.at] has joined #lisp 16:36:35 in both cases outer QUOTE stops evaluation, so in one case you get (quote t), in other (quote (quote t)) 16:36:57 nan_: they both are evaluated once 16:37:06 -!- Slivka [~Slivka@31.40.53.196] has quit [Remote host closed the connection] 16:38:22 nan_: remember 'foo is just a shorthand form of writing (quote foo). so ''foo is '(quote foo) is (quote (quote foo)). so ''foo isn't the symbol foo, it's (list 'quote 'foo) 16:39:48 i have trouble understanding this that at the enterance of foo '''t evaluated once, so a equals ''t, then i thought (foo (a) a) is just like (foo () ''t) 16:40:20 no 16:40:21 nan_: there's no "entrace" 16:40:34 nan_: you should check the basic evaluation rules of common lisp 16:40:48 it's like (foo () '''t) 16:40:53 it's a function, so (foo '''t) is first evaluated to "apply #'foo too ''t" 16:41:01 *to 16:41:03 it's called "substitution" 16:42:13 lduros [~user@fsf/member/lduros] has joined #lisp 16:42:27 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 16:42:34 oh then (foo (a) *a), until * a doesn't get evaluated and still '''t 16:42:50 nan_: if you take t, for example. then t evaluates to the symbol t. so (eq t 't) => t however, it's the value of t that is doing magic. the value of the variable t is (quote t). however, if you write ''t, you're writing (quote (quote t)). in which the inner form -- (quote t) -- isn't evaluated. it's just the list (list 'quote 't). so if you think about it, ''t and '''t contain quite different values. 16:43:13 pnq [~nick@unaffiliated/pnq] has joined #lisp 16:43:44 no, it's (foo (a) a), where a is bound to the result of evaluation by the call-site 16:43:50 nan_: first the reader produces 5 conses: (cons 'foo (cons (cons quote (cons quote (cons quote 't))) nil)) 16:43:56 nan_: and for experimenting with evaluation, you'd better use a symbol that's not T, NIL or any keyword 16:44:11 nan_: when you call (foo (+ 1 2)), then before entering the function foo, (+ 1 2) is calculated. foo never sees that. what foo thinks, is that it's being called with the argument 3. so (foo 3). foo itself never evaluates its arguments. 16:44:31 nan_: then at evaluation time the first cons is interpreted as a function application, 'foo as #'foo, and the outer quote is removed to supply the argument 16:44:33 it can't be really though as substation because of side effects 16:44:37 thought 16:44:55 substitution, bloody ispell! 16:45:42 nan_: (alternatively you can think of quote as a macro, it isn't though iirc) 16:46:57 i am reading all of it, it is taking time, thanks :) 16:47:19 Ralt_ [~Ralt@89-92-204-200.hfc.dyn.abo.bbox.fr] has joined #lisp 16:48:03 -!- leo2007 [~leo@182.48.109.8] has quit [Ping timeout: 260 seconds] 16:48:09 sytse: I don't think it can be, or not without some other special operator which it expands to 16:49:37 hmm, the result of macros is immediately evaluated of course, silly me 16:49:54 so it would have to call itself ;-) 16:49:57 you can put quote around it! 16:51:08 macroexpand-1 applied to the trivial macro would be like quote (but obviously you'd still have to use quote to have the reader produce the macroexpand-1 call) 16:52:35 I'm confusing nan_, sorry for that (just disregard the last part) 16:52:50 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Ping timeout: 255 seconds] 16:53:45 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 16:54:07 I think if I read the responses above, I'd be confused! 16:54:23 (not that they are bad, just ... interleaved ...) 16:54:25 I think I've confused myself! 16:55:01 metathinking about lisp is fun though =] 16:55:33 clhs single-quote 16:55:33 Sorry, I couldn't find anything for single-quote. 16:55:44 Really? 16:55:56 http://www.lispworks.com/documentation/HyperSpec/Body/02_dc.htm 16:55:58 you asked "single-quote" really? 16:55:58 -!- QuickSilver_ [~ait@cpe-72-177-30-155.austin.res.rr.com] has quit [Read error: Connection reset by peer] 16:56:00 clhs ' 16:56:00 http://www.lispworks.com/reference/HyperSpec/Body/02_dc.htm 16:56:06 'A single-quote introduces an expression to be ``quoted.'' Single-quote followed by an expression exp is treated by the Lisp reader as an abbreviation for and is parsed identically to the expression (quote exp). See the special operator quote.' 16:56:20 QuickSilver_ [~ait@cpe-72-177-30-155.austin.res.rr.com] has joined #lisp 16:56:29 stassats: That is the title of the section. 16:56:54 and specbot never searched for titles of sections 16:57:01 -!- Buglouse [~Buglouse@unaffiliated/Buglouse] has quit [Ping timeout: 244 seconds] 16:57:13 ikki [~ikki@187.240.178.2] has joined #lisp 16:57:44 -!- paolo_m [~user@2-228-95-110.ip190.fastwebnet.it] has left #lisp 16:57:46 I think it'll be hard for a newcomer to thoroughly understand the concept 'object' though 16:58:05 stassats: Regardless of how specbot works, it isn't unreasonable to expect it to recognize section titles. Xach's search engine does. 16:58:09 stassats: specbot searches for symbols? 16:58:13 clhs object 16:58:13 Sorry, I couldn't find anything for object. 16:58:20 yep, no glossary searching 16:58:27 clhs glossary/object 16:58:27 http://www.lispworks.com/reference/HyperSpec/Body/26_glo_o.htm#object 16:58:30 Or rather, it doesn't recognize that. 16:58:37 either 16:59:01 clhs master/single-quote 16:59:01 Sorry, I couldn't find anything for master/single-quote. 16:59:06 clhs index/single-quote 16:59:06 Sorry, I couldn't find anything for index/single-quote. 16:59:07 ThomasH: if you know the title, you can as well know its number 16:59:11 well 16:59:16 clhs 2.4.3 16:59:16 Single-Quote: http://www.lispworks.com/reference/HyperSpec/Body/02_dc.htm 16:59:18 I don't care actually 16:59:30 -!- prip [~foo@host84-125-dynamic.37-79-r.retail.telecomitalia.it] has quit [Ping timeout: 264 seconds] 16:59:31 brandonz [~brandon@c-71-202-142-243.hsd1.ca.comcast.net] has joined #lisp 16:59:34 symbols are the easiest to remember anyway 17:01:23 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Ping timeout: 255 seconds] 17:01:31 ThomasH: and l1sp.org doesn't do that either 17:01:48 Buglouse [~Buglouse@unaffiliated/Buglouse] has joined #lisp 17:02:03 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 17:02:05 stassats: Okay 17:02:21 (specbot and l1sp.org are using the same index, actually) 17:02:29 for clhs 17:02:48 -!- stardiviner [~stardivin@122.236.243.106] has quit [Quit: my website: http://stardiviner.dyndns-blog.com/] 17:02:49 i am missing something fundamental obviously. i'll experiment with something other than quote now, thanks for the responses :) 17:03:50 restdes [~grive@pool-71-183-214-254.nycmny.fios.verizon.net] has joined #lisp 17:03:59 I think the confusing thing about quote is that lesser languages do not need it 17:08:23 -!- Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has quit [Ping timeout: 244 seconds] 17:08:29 pnpuff [~aeiou@unaffiliated/pnpuff] has joined #lisp 17:08:55 tfb: need is an odd choice of words 17:08:58 nan_: process of evaluating (foo 'x) spelled out in simple terms: the string "(foo 'x)" is fed to the reader, it splits it into tokens "(", "foo", space, "'", "x", ")", these get converted to the tree (left-paren, symbol foo, (quote, symbol x), right-paren), and that then gets parsed into the following list with two elements: the symbol foo, and the list with the following two components: the symbol quote and the symbol x. 17:09:18 wrong! 17:09:38 I did say 'simple terms' ;-) 17:09:39 it's not converted into tokens, it calls a #\( reader-macro 17:09:41 *naryl* is hesitating to recommend some SICP 17:10:09 well, you don't need quote in a language which does not have an explicit readable data representation of its own source 17:11:06 s/source/source code/ 17:11:18 -!- hlavaty [~user@91-65-217-229-dynip.superkabel.de] has quit [Remote host closed the connection] 17:11:20 nan_: after that it's handed to eval (at which point really depends on a number of things), which takes the outer list, first evaluates every component in it: the symbol called "FOO" to the function #'foo, and the list with the symbols called "QUOTE" and "X" to just the symbol called "X". Then this function #'foo gets called with the symbol called "X" as its argument 17:11:57 stassats: at least that latter part (the important part) is somewhat correct, if grossly simplified ;-) 17:12:25 prip [~foo@host84-125-dynamic.37-79-r.retail.telecomitalia.it] has joined #lisp 17:13:41 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Ping timeout: 252 seconds] 17:14:06 -!- stat_vi [~stat@dslb-094-218-233-064.pools.arcor-ip.net] has quit [Quit: leaving] 17:14:27 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 17:14:40 stassats: you're right though, I was giving out bad education /o\ 17:15:10 *sytse* reader noob 17:15:19 the reader algorithm is actually simpler than what you're describing 17:15:21 pnpu1f [~aeiou@host42-45-dynamic.37-79-r.retail.telecomitalia.it] has joined #lisp 17:15:25 stassats: yes. 17:15:26 I know 17:15:55 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Leaving] 17:16:06 -!- xan_ [~xan@80.174.78.254.dyn.user.ono.com] has quit [Quit: leaving] 17:16:20 i think involving and explaining the reader is too much. yes, it's there. but the essense is that the code is converted to an abstract syntax tree and you can work frem there on. for nan_, custom reader functions are not what he is trying to grasp. 17:16:36 s/frem/from/ 17:17:03 what I'm describing is like using a full DFA for parsing a regular grammar and another parser on top of that, which is a *lot* more difficult to fully understand than the lisp reader.. 17:17:19 The only thing about the reader to know is that 'x is shorthand (syntactic sugar) for (quote x). 17:17:42 madnificent: true. It's mostly 'eval' that any lisper needs to know about what it does approximately 17:18:03 it does not matter how that happens (I mean, it does matter, but not, I guess to nan_) 17:18:35 -!- pnpuff [~aeiou@unaffiliated/pnpuff] has quit [Ping timeout: 272 seconds] 17:19:16 -!- kmels__ [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 248 seconds] 17:19:33 ah well 17:19:34 -!- pnpu1f [~aeiou@host42-45-dynamic.37-79-r.retail.telecomitalia.it] has quit [Client Quit] 17:19:42 I guess nan_ does fine by himself, he experiments :) 17:20:15 And then the way to understand what happens is to *write* an evaluator, because it's very easy! 17:20:28 yep 17:20:30 (I mean a little tiny one) 17:21:02 or give a long speech of conses of conses of conses that bores everyone to death ;-) 17:22:03 answer_42 [~answer_42@gateway/tor-sasl/answer42/x-66983568] has joined #lisp 17:22:58 and of symbols being objects pointing to objects and more such nonsense 17:25:16 -!- spacefrogg is now known as spacefrogg^ 17:30:11 Forty-3 [~seana11@pool-71-163-168-125.washdc.fios.verizon.net] has joined #lisp 17:31:55 Blkt [~user@82.84.188.5] has joined #lisp 17:32:25 ignotus [~ignotus@unaffiliated/ignotus] has joined #lisp 17:35:43 sellout [~Adium@pool-96-245-196-218.phlapa.fios.verizon.net] has joined #lisp 17:36:29 -!- tfb [~tfb@fw-tnat.cambridge.arm.com] has left #lisp 17:37:12 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 17:38:13 -!- bitonic [~user@dyn1195-40.wlan.ic.ac.uk] has quit [Read error: Operation timed out] 17:39:12 segmond__ [~segmond@adsl-99-150-131-115.dsl.sfldmi.sbcglobal.net] has joined #lisp 17:39:21 The set-equal implementation in alexandria seems convoluted. Why does it use DOLIST and MEMBER instead of just using SUBSETP? 17:40:53 asciilifeform [~asciilife@pool-108-56-236-219.washdc.fios.verizon.net] has joined #lisp 17:41:18 -!- brandonz [~brandon@c-71-202-142-243.hsd1.ca.comcast.net] has quit [Ping timeout: 252 seconds] 17:41:57 subsetp has to be used twice 17:42:11 -!- prxq [~mommer@mnhm-590c3942.pool.mediaWays.net] has quit [Quit: Leaving] 17:42:19 So does the DOLIST/MEMBER approach 17:42:32 -!- segmond_ [~segmond@adsl-99-150-135-229.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 245 seconds] 17:43:37 -!- asciilifeform [~asciilife@pool-108-56-236-219.washdc.fios.verizon.net] has quit [Remote host closed the connection] 17:43:46 Bike [~Glossina@67-5-240-27.ptld.qwest.net] has joined #lisp 17:46:55 mattrepl [~mattrepl@pool-72-66-73-241.washdc.fios.verizon.net] has joined #lisp 17:47:04 ThomasH: optimization, to spare a function call to subsetp? 17:47:58 -!- ignotus [~ignotus@unaffiliated/ignotus] has left #lisp 17:48:17 -!- ramkrsna [ramkrsna@unaffiliated/ramkrsna] has quit [Quit: Leaving] 17:49:47 Indecipherable [~Indeciphe@41.13.0.3] has joined #lisp 17:49:54 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 264 seconds] 17:49:58 sytse: I hope not, and that doesn't help, because it is making iterative calls to MEMBER. The only thing I can think of is that there is some implementation with a poorly implemented version of SUBSETP and the alexandria devs wanted to make set-equal as consistent as possible across implementations. 17:54:17 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 17:54:53 -!- doomlord [~doomlod@host109-151-246-226.range109-151.btcentralplus.com] has quit [Ping timeout: 244 seconds] 18:00:19 -!- sykopomp [~sykopomp@gateway/tor-sasl/sykopomp] has quit [Remote host closed the connection] 18:01:10 doomlord [~doomlod@host109-151-246-226.range109-151.btcentralplus.com] has joined #lisp 18:01:23 -!- Indecipherable [~Indeciphe@41.13.0.3] has quit [Quit: used jmIrc] 18:03:37 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 18:04:11 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 244 seconds] 18:04:16 segmond_ [~segmond@108.73.162.65] has joined #lisp 18:05:00 -!- segmond__ [~segmond@adsl-99-150-131-115.dsl.sfldmi.sbcglobal.net] has quit [Read error: Connection reset by peer] 18:09:32 xcombelle [~xcombelle@AToulouse-551-1-41-14.w90-11.abo.wanadoo.fr] has joined #lisp 18:12:28 -!- xcombelle [~xcombelle@AToulouse-551-1-41-14.w90-11.abo.wanadoo.fr] has quit [Read error: No route to host] 18:14:11 xcombelle [~xcombelle@AToulouse-551-1-41-14.w90-11.abo.wanadoo.fr] has joined #lisp 18:15:15 dto [~user@pool-96-252-62-13.bstnma.fios.verizon.net] has joined #lisp 18:15:34 lide: someone says you were asking about lisp games 18:16:36 <- guilty as charged 18:17:07 no one expected the lisp-gaming inquisition! 18:17:42 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 18:18:07 saschakb [~skbierm@p4FEA10D7.dip0.t-ipconnect.de] has joined #lisp 18:18:33 -!- saschakb [~skbierm@p4FEA10D7.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 18:19:28 saschakb [~skbierm@p4FEA10D7.dip0.t-ipconnect.de] has joined #lisp 18:22:08 ferada [~ferada@dslb-088-069-039-183.pools.arcor-ip.net] has joined #lisp 18:23:54 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 240 seconds] 18:24:49 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Ping timeout: 252 seconds] 18:25:44 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 18:26:24 -!- tali713 [~user@c-24-245-45-112.hsd1.mn.comcast.net] has quit [Ping timeout: 244 seconds] 18:29:36 brandonz [~brandon@c-71-202-142-243.hsd1.ca.comcast.net] has joined #lisp 18:32:20 Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has joined #lisp 18:34:08 bitonic [~user@host86-138-96-107.range86-138.btcentralplus.com] has joined #lisp 18:34:58 gravicappa [~gravicapp@ppp91-77-174-89.pppoe.mtu-net.ru] has joined #lisp 18:36:03 alagabes [~me@scheme.qwpx.net] has joined #lisp 18:36:09 hello 18:36:22 I have a problem with encoding 2D array to json 18:37:23 basically I cannot do something like this (json:encode-json (make-array 2 2)) 18:37:40 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 18:37:50 if I'll create list of arrays eg. '( #( 1 2 3) #( 3 2 1) ) 18:38:02 it works just like I want it to 18:38:10 kushal [~kdas@fedora/kushal] has joined #lisp 18:39:15 sdemarre [~serge@91.176.73.228] has joined #lisp 18:39:43 -!- theBlackDragon [~dragon@213.219.161.142.adsl.dyn.edpnet.net] has quit [Read error: Operation timed out] 18:40:06 alagabes: Which json library are you using and does it have a manual? 18:40:41 alagabes: so, why don't you do that then? 18:41:33 ThomasH: cl-json 18:41:37 i assume that javascript doesn't have multi-dimensional arrays 18:41:52 stassats: whole program is now working on 2D arrays 18:42:11 so, while you can encode a cl multi-dimensional array to json, the reverse is not true 18:42:29 -!- pnq [~nick@unaffiliated/pnq] has quit [Quit: Leaving.] 18:42:46 well, you can write it like this in json [[1,2,3],[3,2,1]] 18:42:54 that's an array of arrays 18:43:20 alagabes: you can write a method for encode-json on arrays to do what you like, though you have to remember to fall back to the method on sequences if possible 18:43:54 so I understand that #2A != array of arrays? 18:44:00 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 252 seconds] 18:44:04 No 18:44:08 no, it's a multidimensional array 18:44:22 they are first-class two-dimensional arrays 18:44:25 real multidimensional arrays 18:44:34 -!- jcazevedo [~jcazevedo@188.250.15.178] has quit [Quit: jcazevedo] 18:44:58 so you'll be making up your own semantics for multidimensional array -> array of arrays of ..., not that that's hard to guess I suppose 18:45:06 can you provide some resource, I've to admit that I havent heard of it yet 18:45:12 k0001 [~k0001@host39.200-117-32.telecom.net.ar] has joined #lisp 18:45:40 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 18:45:49 (I mean first-class two-dimensional arrays) 18:47:10 ASau [~user@176.4.60.101] has joined #lisp 18:47:31 clhs arrays 18:47:31 Sorry, I couldn't find anything for arrays. 18:47:40 I'm a total failure with specbot 18:47:46 indeed 18:47:48 clhs array 18:47:48 http://www.lispworks.com/reference/HyperSpec/Body/t_array.htm 18:48:13 thanks guys 18:48:19 or girls 18:48:21 dunno 18:53:30 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 264 seconds] 18:58:48 deego [deego@unaffiliated/deego] has joined #lisp 19:06:38 -!- lduros [~user@fsf/member/lduros] has quit [Read error: Operation timed out] 19:07:18 lduros [~user@fsf/member/lduros] has joined #lisp 19:08:50 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 19:10:44 -!- brandonz [~brandon@c-71-202-142-243.hsd1.ca.comcast.net] has quit [Ping timeout: 248 seconds] 19:11:00 -!- Ralt_ [~Ralt@89-92-204-200.hfc.dyn.abo.bbox.fr] has quit [Remote host closed the connection] 19:11:07 -!- dto [~user@pool-96-252-62-13.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 19:11:45 restart-case appears to be consing inappropriately 19:11:50 *stassats* ponders how to solve that 19:13:25 -!- francisl [~flavoie@199.84.164.114] has quit [Quit: francisl] 19:13:42 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 252 seconds] 19:13:50 Joreji [~thomas@81-124.eduroam.rwth-aachen.de] has joined #lisp 19:15:04 on sbcl, on ccl restarts are dynamic-extent 19:16:01 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 19:16:01 agumonke1 [~agu@27.217.72.86.rev.sfr.net] has joined #lisp 19:17:20 brandonz [~brandon@c-71-202-142-243.hsd1.ca.comcast.net] has joined #lisp 19:18:14 -!- agumonkey [~agu@27.217.72.86.rev.sfr.net] has quit [Ping timeout: 240 seconds] 19:19:36 ja jebe 19:19:50 ale ten hunchentoot jest zajebisty 19:19:54 mozg mi rapuje 19:20:03 wrong language 19:20:34 wrong channel 19:20:35 sorry 19:20:40 and swearing is not appreciated! 19:20:58 segv- [~mb@dslb-088-075-246-101.pools.arcor-ip.net] has joined #lisp 19:21:25 -!- segv- [~mb@dslb-088-075-246-101.pools.arcor-ip.net] has quit [Client Quit] 19:21:42 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 256 seconds] 19:21:50 stassats: yes, here, but I was fully convinced that this is other chanell where swearing is...well..common 19:23:55 k0001_ [~k0001@host105.190-229-211.telecom.net.ar] has joined #lisp 19:27:07 -!- k0001 [~k0001@host39.200-117-32.telecom.net.ar] has quit [Ping timeout: 245 seconds] 19:27:27 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 19:31:44 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 246 seconds] 19:32:40 killerboy [~mateusz@217.17.38.43] has joined #lisp 19:33:06 -!- benny [~user@i577A8A26.versanet.de] has quit [Ping timeout: 264 seconds] 19:37:18 attila_lendvai [~attila_le@80-95-90-4.pool.digikabel.hu] has joined #lisp 19:37:18 -!- attila_lendvai [~attila_le@80-95-90-4.pool.digikabel.hu] has quit [Changing host] 19:37:18 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 19:37:46 -!- ahoops [~ahoops__@121.96.14.223] has quit [Ping timeout: 245 seconds] 19:38:13 -!- bitonic [~user@host86-138-96-107.range86-138.btcentralplus.com] has quit [Ping timeout: 244 seconds] 19:38:39 -!- teggi [~teggi@113.172.42.162] has quit [Remote host closed the connection] 19:39:49 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 19:42:18 -!- jewel [~jewel@105-236-20-105.access.mtnbusiness.co.za] has quit [Ping timeout: 250 seconds] 19:42:55 Joreji_ [~thomas@81-124.eduroam.rwth-aachen.de] has joined #lisp 19:44:54 jcazevedo [~jcazevedo@bl18-96-148.dsl.telepac.pt] has joined #lisp 19:45:41 majuscule [~dylan@dylansserver.com] has joined #lisp 19:46:21 forgive my ignorance, I'm brand new to this. How would I go about installing a module off of the common lisp directory? Or better question - how are modules usually searched for and dealt with? 19:46:37 use quicklisp 19:46:48 common lisp directory isn't really for installing stuff 19:48:11 majuscule: you should read the description of the library on the Common Lisp Directory to see where and how it can be downloaded and installed on your system. 19:48:24 -!- Oddity [~Oddity@unaffiliated/oddity] has quit [Ping timeout: 255 seconds] 19:48:26 -!- Joreji_ [~thomas@81-124.eduroam.rwth-aachen.de] has quit [Quit: Changing server] 19:49:40 Joreji_ [~thomas@81-124.eduroam.rwth-aachen.de] has joined #lisp 19:50:28 majuscule: if you're lucky, it's on quicklisp. If you're not unlucky, it will have an asdf definition so that you only have to download it, unpack it, point asdf to its directory and use quicklisp or directly asdf to load it. If you're unlucky, you will have to download it, unpack it, and read the instructions about how to load it into your image. If you're very unlucky, there won't be instructions. If you really have the gods 19:50:28 against you, there won't be documentation, no obvious file to load, and it will be such a mess that you'll be wondering whether to rewrite it instead of trying to find in which order to load the files. 19:51:08 -!- Buglouse [~Buglouse@unaffiliated/Buglouse] has quit [Ping timeout: 244 seconds] 19:51:28 -!- flip214 [~marek@unaffiliated/flip214] has quit [Ping timeout: 252 seconds] 19:51:59 Once you learn enough lisp, you'll end up writing your own version of everything, anyway. 19:54:52 bananagram [~bananagra@c-98-198-236-112.hsd1.tx.comcast.net] has joined #lisp 19:55:29 ASau` [~user@46.115.75.160] has joined #lisp 19:55:45 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 252 seconds] 19:55:52 tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has joined #lisp 19:55:59 Buglouse [~Buglouse@unaffiliated/Buglouse] has joined #lisp 19:57:20 -!- ASau [~user@176.4.60.101] has quit [Ping timeout: 244 seconds] 19:57:59 arrk13 [~arrakis24@dslb-178-006-216-180.pools.arcor-ip.net] has joined #lisp 19:58:47 flip214 [~marek@unaffiliated/flip214] has joined #lisp 19:59:49 Yuuhi [benni@p5483A240.dip.t-dialin.net] has joined #lisp 20:02:03 <|3b|> stassats: restart-case consing possibly related to https://bugs.launchpad.net/sbcl/+bug/1023721 ? 20:02:29 hello, does somebody know the cffi function to access C #defines? do I just use defcvar like for C variables? 20:02:33 no, make-restart and cons are consing 20:02:53 <|3b|> ah, probably harder to fix then 20:03:17 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 20:03:36 it's just that each in commonqt each callback is wrapped into a restart-case 20:04:03 arrk13: #defines don't exist in object code... 20:04:06 <|3b|> arrk13: #defines don't exist at runtime, you need to define a constant or enum in lisp, possibly using something like cffi-grovel to figure out the correct value 20:04:21 -!- flip214 [~marek@unaffiliated/flip214] has quit [Ping timeout: 260 seconds] 20:04:30 and it's called a lot, needlessly, i'm working making it to be called less, discarding unnecessary calls at the C side 20:05:04 <|3b|> cl-opengl uses lots of restart-case by default, so would probably also appreciate optimizations there 20:05:46 the direct impact on run-time is minimal, only through the GC 20:06:01 so if in a C header file there are various constants as #defines, I'd then have to redefine them all in my lisp code, right? 20:06:13 no, you would use cffi-grovel 20:07:20 daniel1 [~danielmg@201.209.38.229] has joined #lisp 20:07:24 but if I wanted to do it manually? 20:07:37 -!- daniel1 is now known as daniellmg 20:07:47 -!- daniellmg [~danielmg@201.209.38.229] has left #lisp 20:07:49 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 248 seconds] 20:08:52 better erase such a desire 20:09:46 pyx [~pyx@d24-141-100-35.home.cgocable.net] has joined #lisp 20:11:06 <|3b|> if you are sure they don't change or depend on platform or anything, you can define them manually 20:11:23 flip214 [~marek@unaffiliated/flip214] has joined #lisp 20:11:58 -!- brandonz [~brandon@c-71-202-142-243.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds] 20:12:31 pbj`: thank you very much :-) 20:13:08 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 20:13:45 I'm a bit confused about quicklist still, i've loaded a module which I presume is installed, but I cannot load it from a script with `require`. should i be using quicklisp in my scripts? that seems a bit silly 20:13:45 bitonic [~user@host86-138-96-107.range86-138.btcentralplus.com] has joined #lisp 20:14:10 it's definitely installed "inside quicklisp" or something 20:14:17 arrk13: you can use swig to collect the #define and convert them to defconstant automatically. 20:14:52 majuscule: yes, you should use quicklisp in your scripts. 20:15:06 majuscule: require with a single argument is implementation dependant anyways. 20:15:16 *|3b|* notes that defconstant isn't always the best translation of #define 20:16:06 interesting 20:16:38 Indeed, #define str "hello" translates to (defconstant str "hello") which is not too good. 20:16:43 -!- jcazevedo [~jcazevedo@bl18-96-148.dsl.telepac.pt] has quit [Quit: jcazevedo] 20:17:03 pjb`: i know this is silly but how do i stop the output on 'load quicklisp.lisp'? 20:17:31 I'd try (setf *load-verbose* nil). 20:17:41 loading quicklisp.lisp is a bad idea 20:17:45 that seems dangerous 20:17:47 attila_lendvai1 [~attila_le@80-95-90-249.pool.digikabel.hu] has joined #lisp 20:17:49 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Disconnected by services] 20:17:50 stassats: how should i be doing this? 20:17:57 Yes, you should be loading ~/quicklisp/setup.lisp 20:18:20 or rather have it loaded in your initsscript 20:18:35 well, follow the instructions and have it in your initscript? 20:18:38 it is in my initscripts 20:18:51 but it doesn't seem to be loaded when i run a script, only in the repl 20:19:08 good then, add (load "~/.sbclrc") 20:19:40 That said, I would call "script" only standalone lisp sources that can run on the bare implementation. Once you need libraries, it's not a "script" anymore, but a "program" or "application". Then you would save an executable image and run that, instead of running the since-file lisp source file. 20:20:01 KingsKnighted [~quassel@c-174-52-149-13.hsd1.ut.comcast.net] has joined #lisp 20:20:09 And you would set up things so that the executable image doesn't load the rc file, to avoid interference from the user setup. 20:20:21 that makes sense, but i'm not sure how to go about doing all of that. wher can i read about it? 20:20:31 in your implementation manual 20:20:51 Or using cl-launch, IIRC, it can save executable images on several implementations. 20:20:57 -!- attila_lendvai1 [~attila_le@80-95-90-249.pool.digikabel.hu] has quit [Client Quit] 20:21:01 stassats: btw, i have no ~/.sbclrc 20:21:25 stassats: where is my implementation manual? should that come with my distros package? 20:21:32 I just have (load #P"~/rc/common-lisp") in my ~/.sbclrc (basically). 20:21:43 majuscule: or more often, on the web. 20:21:53 Google for sbcl manual or sbcl documentation. 20:22:06 cool, thanks 20:22:54 attila_lendvai [~attila_le@80-95-90-249.pool.digikabel.hu] has joined #lisp 20:22:54 -!- attila_lendvai [~attila_le@80-95-90-249.pool.digikabel.hu] has quit [Changing host] 20:22:54 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 20:23:15 <|3b|> majuscule: did you say which lisp implementation you are using? 20:23:23 i did not, but it's clisp 20:23:41 Then you want to put (load #P"~/rc/common-lisp") in ~/.clisprc.lisp 20:24:08 s^rc/common-lisp^rc/common.lisp^g 20:24:12 -!- k0001_ [~k0001@host105.190-229-211.telecom.net.ar] has quit [Ping timeout: 244 seconds] 20:24:58 -!- saschakb [~skbierm@p4FEA10D7.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 20:25:28 i have no ~/rc, is this defining a new file? 20:25:33 errors, so no 20:25:34 -!- yates [~user@nc-71-54-138-0.dhcp.embarqhsd.net] has quit [Quit: rcirc on GNU Emacs 24.0.96.1] 20:25:37 hmm 20:25:50 Well, I put my run-command files in ~/rc/ but you can put yours wherever you want. 20:26:29 The point is that you can put common lisp code you want to run from your run-command files for all CL implementations in a single rc file, and load it from the various implementation rc files. 20:26:46 i see okay that makes sense :-) 20:27:22 (I still put implementation specific stuff in implementation specific rc files, but it's in general only to restore a common environment). 20:27:56 pnpuff` [~aeiou@unaffiliated/pnpuff] has joined #lisp 20:32:45 Spion [~spion@unaffiliated/spion] has joined #lisp 20:33:33 -!- KingsKnighted [~quassel@c-174-52-149-13.hsd1.ut.comcast.net] has quit [Read error: Connection reset by peer] 20:33:55 <|3b|> does static-vectors have any way to identify a static vector? 20:44:41 puchacz [~puchacz@46-65-36-47.zone16.bethere.co.uk] has joined #lisp 20:45:19 -!- bitonic [~user@host86-138-96-107.range86-138.btcentralplus.com] has quit [Remote host closed the connection] 20:45:41 bitonic [~user@host86-138-96-107.range86-138.btcentralplus.com] has joined #lisp 20:46:08 |3b|: no 20:46:18 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 264 seconds] 20:46:52 <|3b|> fe[nl]ix: any idea if it would be possible to implement? 20:48:21 it's not possible 20:49:10 each implementation would have to have a way to do that, which static-vectors would wrap 20:49:24 but AFAIK, none has such a function 20:49:26 -!- beaky [~beaky@92.96.100.66] has left #lisp 20:50:02 <|3b|> well, presumably on SBCL it would just be (constantly T) or something 20:51:06 you presume wrong 20:51:09 read the code 20:51:14 killerbo1 [~mateusz@217.17.38.43] has joined #lisp 20:51:14 -!- killerboy [~mateusz@217.17.38.43] has quit [Disconnected by services] 20:52:51 -!- pnpuff` [~aeiou@unaffiliated/pnpuff] has quit [Quit: Bye.] 20:53:04 <|3b|> ah, uses foreign alloc on sbcl too 20:53:31 |3b|: static-vectors doesn't pin vectors on SBCL 20:53:34 *|3b|* wonders if i should just write yet another arrays-for-foerign-calls lib :/ 20:53:56 the point of it is to have static arrays that don't need pinning 20:54:09 |3b|: what would be the point of it ? 20:54:25 <|3b|> right, which is more than i need so costs ability to detect arrays that can be passed directly 20:54:46 francisl [~flavoie@199.84.164.114] has joined #lisp 20:54:49 *|3b|* just wants pinning, or minimal copying if i can't have that 20:55:25 <|3b|> with ability to reliably detect when i can pass an array directly 20:55:42 -!- killerbo1 is now known as killerboy 20:56:37 <|3b|> so caller can allocate a special array in advance when it needs to be fast, or called code can allocate one if it has to, when i just want convenience 20:56:55 s0ber_ [~s0ber@1-164-210-188.dynamic.hinet.net] has joined #lisp 20:56:58 why not just use static-vectors ? you can specify in the docs that all users of your library must pass arrays allocated with static-vectors 20:57:58 <|3b|> many uses will have a copy anyway, since i don't want to rewrite every single loading lib i use (like opticl or whatever) to use a custom allocator 20:58:01 actually, on SBCL I can make up such a predicate 20:58:06 <|3b|> no point in making callers deal with it in that case 20:58:26 __class__ [~class@99-105-56-217.lightspeed.sntcca.sbcglobal.net] has joined #lisp 20:58:29 using the same logic that the GC uses to tell if a pointer belongs to the Lisp heap 20:58:43 on other implementations, I wouldn't know 20:58:49 -!- s0ber [~s0ber@114-25-206-217.dynamic.hinet.net] has quit [Ping timeout: 252 seconds] 20:58:50 *|3b|* wouldn't worry about it unless it could be portable 20:59:00 -!- s0ber_ is now known as s0ber 20:59:04 <|3b|> if i wanted to only use SBCL i'd just pin it directly :) 20:59:39 I'm trying to learn to use cl-opengl. If I load the file directly into sbcl or vie slime-eval-buffer, then it works fine. yet if I try to compile it with C-c C-k, I get an error "Package GLUT does not exist" - but it does and I load it sucessfully if run from console! what could cause this? 21:00:06 <|3b|> shwouchk: random guess would be you aren't using packages correctly 21:00:18 I load it via: (require :asdf) (asdf:load-system :cl-glut) 21:00:29 |3b|, sounds reasonable 21:00:55 <|3b|> actually, i guess maybe not with that particular error 21:01:13 |3b|, is what I said not the correct way to load packages? 21:01:16 Ralt_ [~Ralt@89-92-204-200.hfc.dyn.abo.bbox.fr] has joined #lisp 21:01:22 <|3b|> you don't "load" packages 21:01:56 <|3b|> "package" in CL is more of a 'namespace' in CL, not a group of files or library or whatever 21:02:16 <|3b|> we usually call those "systems" to try to avoid confusion 21:02:40 hmm 21:02:42 alright 21:03:19 |3b|, I thought they were more or less synonymous. I guess not 21:03:50 <|3b|> yeah, common mistake :( 21:04:00 stat_vi [~stat@dslb-094-218-229-038.pools.arcor-ip.net] has joined #lisp 21:04:04 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 252 seconds] 21:04:15 k0001 [~k0001@host105.190-229-211.telecom.net.ar] has joined #lisp 21:04:39 dnolen [~user@cpe-74-64-61-245.nyc.res.rr.com] has joined #lisp 21:05:24 -!- linse_ [~marioooh@x-132-204-243-254.xtpr.umontreal.ca] has quit [Quit: zzzz] 21:05:53 segmond__ [~segmond@99.150.137.61] has joined #lisp 21:05:57 |3b|, also, if I do run ir from sh, the (glut) window opens but instead of having a black window, it is messed up (shows what was behind it when it was created) Does this point to something specific should have set up but missed 21:05:58 ? 21:06:35 *|3b|* doesn't think anything specifies what contents of a window will be if you don't draw anything to it 21:07:36 <|3b|> usually you call gl:clear to clear the window, or draw something covering whole window 21:07:37 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 21:08:15 Xizor [~Xizor@c83-252-198-185.bredband.comhem.se] has joined #lisp 21:08:46 <|3b|> shwouchk: are you calling (require :asdf) and (asdf:load-system ...) from repl, or did you put that in the source file? 21:09:20 -!- segmond_ [~segmond@108.73.162.65] has quit [Ping timeout: 255 seconds] 21:09:40 <|3b|> latter might cause package not found errors when compiling in a fresh lisp, since they don't normally get evaluated until the file is loaded, so they haven't been loaded yet during compilation 21:10:01 |3b|, everything is in the source file 21:10:07 -!- _d3f [~freedo@46.183.216.234] has quit [Quit: ~ The Gnu went back to savannah ~] 21:10:38 |3b|, when I run sbcl --load file.lisp everything runs perfectly 21:11:04 <|3b|> right, when you just LOAD it, it evaluates each top-level form in order 21:11:16 <|3b|> so it loads the library before looking at the rest of the file 21:11:46 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Read error: Operation timed out] 21:11:58 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 21:12:03 -!- xcombelle [~xcombelle@AToulouse-551-1-41-14.w90-11.abo.wanadoo.fr] has quit [Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the world of IRC.] 21:12:12 <|3b|> when you try to compile it, it compiles code for that form, then tries to compile the rest of the file, but since just compiling (asdf:load-system ... ) doesn't actually load anything, the rest of the compilation fails 21:12:29 k0001_ [~k0001@200.117.235.89] has joined #lisp 21:12:43 <|3b|> usually you would define a .asd file specifying the dependencies of you project, and order to compile/load the files of your project, then load that .asd file with asdf 21:13:48 Oddity [~Oddity@unaffiliated/oddity] has joined #lisp 21:14:27 I see 21:15:06 makes sense 21:16:10 -!- k0001 [~k0001@host105.190-229-211.telecom.net.ar] has quit [Ping timeout: 256 seconds] 21:16:21 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 21:16:23 -!- sdemarre [~serge@91.176.73.228] has quit [Ping timeout: 244 seconds] 21:16:28 ehu [ehu@ip167-22-212-87.adsl2.static.versatel.nl] has joined #lisp 21:17:16 Is these a way to check what keyword arguments a certain function takes? 21:17:34 you shouldn't need that 21:19:40 stassats, what if the function provides poor/no documentation and I don't want to open the source file? 21:20:34 you ought to be using slime 21:21:37 stassats, I am 21:21:48 stassats, so what? 21:21:57 M-x slime-arglist 21:21:58 well, then you will see the arguments in the minibuffer when you write a call to it 21:22:55 -!- k0001_ [~k0001@200.117.235.89] has quit [Ping timeout: 260 seconds] 21:24:39 stassats, and for macro? 21:25:36 also, some stuff is not convenient to run in slime 21:25:40 Bike, thanks 21:26:18 -!- restdes [~grive@pool-71-183-214-254.nycmny.fios.verizon.net] has left #lisp 21:26:30 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 264 seconds] 21:29:14 varjagg [u4973@gateway/web/irccloud.com/x-kcnzfetqqjenenbs] has joined #lisp 21:32:49 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 21:35:24 -!- Nisstyre [~yours@oftn/member/Nisstyre] has quit [Ping timeout: 250 seconds] 21:35:57 Thra11_ [~thrall@87.114.185.166] has joined #lisp 21:38:03 -!- joast [~rick@76.178.135.192] has quit [Ping timeout: 245 seconds] 21:38:51 fms [~user@70-36-138-244.dsl.dynamic.sonic.net] has joined #lisp 21:39:06 -!- Thra11 [~thrall@87.115.174.172] has quit [Ping timeout: 264 seconds] 21:39:13 -!- fms is now known as ebobby 21:39:32 -!- ebobby [~user@70-36-138-244.dsl.dynamic.sonic.net] has quit [Remote host closed the connection] 21:40:27 ebobby [~fms@70-36-138-244.dsl.dynamic.sonic.net] has joined #lisp 21:42:51 jdz stassats madnificent sytse tfb -- oh i forgot to say, the keyword was "variable" while a variable evaluate to its values, the expression (which is equal to variable a's value here) evaluates to something else (can't the word sorry), it was my misunderstanding of basic difference in variable/expression evaluation as jdz pointed out at start. *cheers again for responses 21:43:09 shwouchk: (swank::decode-arglist (swank::arglist #'function-you-want-the-arglist-for)) 21:44:01 drewc, is this something that would work in regular repl as well or only in slime? 21:44:05 but, for a macro? you expect that data to exist at macroexpand time? 21:44:35 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Ping timeout: 265 seconds] 21:44:39 -!- cibs [~cibs@219-87-142-18.static.tfn.net.tw] has quit [*.net *.split] 21:44:43 drewc, I don't know actually 21:44:44 or, heh, at all for that matter ;) 21:45:02 shwouchk: SWANK is a common lisp package. 21:45:12 jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has joined #lisp 21:46:00 drewc, ah, cool 21:46:23 *drewc* is likely to now say 'whatever you are trying to do is likely not quite right'... but he may just leave it at that. 21:46:33 -!- nforgerit [~nforgerit@HSI-KBW-149-172-198-162.hsi13.kabel-badenwuerttemberg.de] has quit [Quit: nforgerit] 21:47:45 just want some way to understand undocumented code 21:47:53 library 21:48:26 cibs [~cibs@219-87-142-18.static.tfn.net.tw] has joined #lisp 21:49:54 -!- myx [~myx@pppoe-196-222-dyn-sr.volgaline.ru] has quit [Ping timeout: 252 seconds] 21:50:26 blbef [~chatzilla@089144206148.atnat0015.highway.a1.net] has joined #lisp 21:50:29 shwouchk: M-., autocompletion and argument list display. The latter two combine nicely for keyword arguments, with slime only offering keywords that are in the lambda list. 21:51:09 pkhuong: I love C-c for that reason alone! 21:52:36 pkhuong, that reminds me, is there a way to autocomplete without inserting some whitespace char after the completion? 21:53:12 segmond_ [~segmond@adsl-108-73-165-17.dsl.sfldmi.sbcglobal.net] has joined #lisp 21:53:21 shwouchk: well, if the library is undocumented, and closed source, then swank::decode-arglist is likely to do what you want in the REPL or in a .lisp file, if you do not want to use SLIME. 21:53:30 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 264 seconds] 21:53:36 I don't know. I don't see why I'd need that either. 21:53:46 pkhuong, M-. is nice, thanks! 21:54:15 pkhuong, sometimes (usually) I want to put a closing parens right after the symbol 21:54:47 shwouchk: paredit makes editing s-expressions more fun 21:55:06 pkhuong: I am personally getting sick of forgetting that extra space, so my line ends with an extra #\Space that shouldn't be there, and I never notice it until I 'git gui' the code before staging things :) 21:55:21 minion: paredit 21:55:22 paredit: a set of Emacs commands, with a minor mode for convenient access to them, for editing balanced S-expressions and a number of higher-level operations on S-expressions, at ; see also the #paredit channel 21:55:39 -!- Buglouse [~Buglouse@unaffiliated/Buglouse] has quit [Ping timeout: 244 seconds] 21:55:40 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 21:56:14 -!- segmond__ [~segmond@99.150.137.61] has quit [Ping timeout: 240 seconds] 21:56:44 shwouchk: paredit fixes that when I type the closing parenthesis. 21:58:13 I see 21:59:01 -!- rdqfdx [~rdqfdx@78.90.88.244] has quit [Remote host closed the connection] 21:59:16 pkhuong, I just tried it and it didn't do it. guess I need to learn it more. That's why I just hoped for a keybinding 21:59:53 paredit is also not enabled at the REPL by default. 22:00:08 biscarch [~chris@ip-64-134-238-131.public.wayport.net] has joined #lisp 22:00:10 -!- blbef [~chatzilla@089144206148.atnat0015.highway.a1.net] has quit [Read error: Connection reset by peer] 22:00:59 -!- jtza8 [~jtza8@105-237-38-170.access.mtnbusiness.co.za] has quit [Remote host closed the connection] 22:01:56 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 248 seconds] 22:03:44 Buglouse [~Buglouse@unaffiliated/Buglouse] has joined #lisp 22:05:29 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 22:05:53 What is preventing Lispers from using CL for webservers more often? 22:06:01 The man 22:06:02 madnificent: pkhuong: but paredit sometimes intrudes too much, are you using paredit functions extensively? 22:06:02 <|3b|> nothing? 22:06:07 biscarch: it's not 22:06:21 nan_: yes 22:06:53 madnificent: so, nothing? I was under the impression that CL webservers weren't a "solved problem" as it were 22:06:54 <|3b|> or maybe 'someone else picking the web server tech' 22:07:00 nan_: rarely, but sometimes, do i use C-q ) or C-q because i messed something up with paredit. when starting out C-q is something you can't miss :) 22:07:14 <|3b|> biscarch: that's due to people using CL for webservers 22:07:37 biscarch: perhaps they could be faster... some very fast ones exist (like teepeedee 2). but most people seem to use hunchentoot, as it does the job well. 22:07:47 biscarch: I was under the impression that webservers weren't a solved problem in general. 22:08:04 hrm ... being a self employed lisp web developer, and having written servers myself .... 22:08:10 biscarch: could you elaborate on what you want to build, or what you want to support? or... 22:08:16 biscarch: I see a lot of people delivering with hunchentoot and a reverse proxy. That others are still trying to achieve interesting performance characteristics with fresh code bases is orthogonal. 22:08:43 I guess I must not be a lisper according to biscarch's statement. ;) 22:08:44 you're not a real lisper if you haven't written a webserver! 22:08:45 *madnificent* ducks 22:08:47 madnificent: I'm interested in working on a webserver as a side project, so I was wondering what would be the issues to solve 22:09:15 madnificent: ok, /me packs his things 22:09:19 biscarch: you could look at either toot, or at hunchentoot. also, sykopomp was working on one (conserv). those are all active projects 22:09:47 biscarch: that is, if you want to develop on the webserver itself. if you want to write web applications, there's loads and loads of things to have/try/make/think about. 22:09:53 *drewc* still uses UCW HTTPD for a major commercial app 22:10:13 madnificent: I'm interested in the webserver itself 22:10:28 and I can recommend looking at the httpd that comes with UCW actually 22:10:31 biscarch: do you have much lisp experience? 22:11:03 madnificent: not a ton, but I've been using Clojure lately for some projects 22:11:09 -!- ASau` [~user@46.115.75.160] has quit [Ping timeout: 244 seconds] 22:11:41 <|3b|> something hunchentoot compatible better suited for lots of idle connections might be interesting 22:11:49 biscarch: http://common-lisp.net/project/ucw/repos/ucw-core/src/backend/httpd.lisp 22:11:54 biscarch: great, you've learned all sorts of bad things then! (it isn't trollong if it's in #lisp!) 22:12:06 haha 22:12:10 madnificent: but it's off-topic! 22:12:16 stassats: sorry 22:12:22 drewc: thanks 22:13:32 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 250 seconds] 22:14:52 I'm reading Practical CL when I have the time, and would really prefer to use CL over Clojure in general. 22:15:58 biscarch: and since I am now idling in #emacs, https://github.com/nicferrier/elnode ... and emacs24 elisp is starting to be more like CL apparenetly ... 22:16:24 *drewc* looks around and his eyes say "please don't /kb me!" 22:18:19 -!- Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has quit [Ping timeout: 250 seconds] 22:18:25 wake me up when it grows a package system 22:20:14 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 22:22:26 -!- djuber [~user@c-76-16-60-176.hsd1.il.comcast.net] has quit [Remote host closed the connection] 22:23:03 -!- lduros [~user@fsf/member/lduros] has quit [Remote host closed the connection] 22:23:21 Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has joined #lisp 22:24:35 -!- cdidd [~cdidd@176.14.146.254] has quit [Remote host closed the connection] 22:25:11 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 265 seconds] 22:29:30 -!- bitonic [~user@host86-138-96-107.range86-138.btcentralplus.com] has quit [Ping timeout: 264 seconds] 22:34:54 bitonic [~user@host86-138-96-107.range86-138.btcentralplus.com] has joined #lisp 22:35:42 -!- francisl [~flavoie@199.84.164.114] has quit [Quit: francisl] 22:36:27 riverc4c [~grive@pool-71-183-214-254.nycmny.fios.verizon.net] has joined #lisp 22:37:30 -!- Buglouse [~Buglouse@unaffiliated/Buglouse] has quit [Ping timeout: 244 seconds] 22:37:42 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 22:39:43 _0bitcount [~ulises11@82.158.224.145.dyn.user.ono.com] has joined #lisp 22:40:00 nforgerit [~nforgerit@HSI-KBW-149-172-198-162.hsi13.kabel-badenwuerttemberg.de] has joined #lisp 22:41:04 brandonz [~brandon@199-188-193-145.PUBLIC.monkeybrains.net] has joined #lisp 22:41:10 -!- biscarch [~chris@ip-64-134-238-131.public.wayport.net] has quit [Ping timeout: 256 seconds] 22:42:14 -!- Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has quit [Ping timeout: 240 seconds] 22:44:24 brandonz_ [~brandon@199-188-193-145.PUBLIC.monkeybrains.net] has joined #lisp 22:44:54 -!- riverc4c [~grive@pool-71-183-214-254.nycmny.fios.verizon.net] has left #lisp 22:47:24 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 22:48:52 -!- Forty-3 [~seana11@pool-71-163-168-125.washdc.fios.verizon.net] has quit [Quit: reboot] 22:48:54 Buglouse [~Buglouse@unaffiliated/Buglouse] has joined #lisp 22:49:21 -!- peterhil` [~peterhil@gatekeeper.brainalliance.com] has quit [Ping timeout: 265 seconds] 22:50:37 -!- answer_42 [~answer_42@gateway/tor-sasl/answer42/x-66983568] has quit [Quit: WeeChat 0.3.9.1] 22:50:54 biscarch [~androirc@2600:1010:b118:d876:c613:53f9:3648:80a8] has joined #lisp 22:53:03 Kenjin [~josesanto@2.81.203.175] has joined #lisp 22:54:13 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 248 seconds] 22:55:17 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 22:55:22 -!- morphling [~stefan@gssn-4d003311.pool.mediaWays.net] has quit [Quit: Konversation terminated!] 22:55:39 -!- Kenjin [~josesanto@2.81.203.175] has quit [Client Quit] 22:56:53 -!- Buglouse [~Buglouse@unaffiliated/Buglouse] has quit [Ping timeout: 255 seconds] 22:56:57 Kenjin [~josesanto@bl20-203-175.dsl.telepac.pt] has joined #lisp 22:57:44 -!- Kenjin [~josesanto@bl20-203-175.dsl.telepac.pt] has quit [Client Quit] 23:00:03 Buglouse [~Buglouse@unaffiliated/Buglouse] has joined #lisp 23:00:11 kwmiebach [~kwmiebach@xdsl-87-79-230-168.netcologne.de] has joined #lisp 23:00:12 -!- mishoo [~mishoo@178.138.98.197] has quit [Read error: Connection reset by peer] 23:03:48 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 248 seconds] 23:04:41 -!- ianmcorvidae [~ianmcorvi@musicbrainz/user/ianmcorvidae] has quit [Quit: brb hopefully fixing unicode] 23:04:49 stassats: are you sure that null-terminator-len is a performance problem ? 23:05:08 ianmcorvidae [~ianmcorvi@ip72-200-124-178.tc.ph.cox.net] has joined #lisp 23:05:08 -!- ianmcorvidae [~ianmcorvi@ip72-200-124-178.tc.ph.cox.net] has quit [Changing host] 23:05:08 ianmcorvidae [~ianmcorvi@musicbrainz/user/ianmcorvidae] has joined #lisp 23:06:24 -!- prip [~foo@host84-125-dynamic.37-79-r.retail.telecomitalia.it] has quit [Ping timeout: 250 seconds] 23:06:40 fe[nl]ix: i am 23:07:02 15%, 10ms improvement on real code 23:09:13 in foreign-string-alloc, it's even called twice, that can be changed too 23:09:38 then I'll have to find another way because plists are not thread-safe 23:10:05 -!- Blkt [~user@82.84.188.5] has quit [Read error: Connection reset by peer] 23:10:40 can you attach a test case ? 23:11:23 i can 23:12:42 fe[nl]ix: http://paste.lisp.org/display/133870 23:12:54 -!- emacs-dwim [~user@rrcs-72-43-236-2.nys.biz.rr.com] has quit [Ping timeout: 256 seconds] 23:16:19 -!- Alice3 [~Alice@cpc3-grim12-0-0-cust856.12-3.cable.virginmedia.com] has quit [] 23:17:35 Slivka [~Slivka@31.40.53.196] has joined #lisp 23:17:51 kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has joined #lisp 23:17:57 prip [~foo@host196-3-dynamic.46-79-r.retail.telecomitalia.it] has joined #lisp 23:18:01 -!- brandonz_ [~brandon@199-188-193-145.PUBLIC.monkeybrains.net] has quit [Ping timeout: 260 seconds] 23:18:22 chris [~chris@108-83-17-79.lightspeed.sntcca.sbcglobal.net] has joined #lisp 23:18:46 -!- biscarch [~androirc@2600:1010:b118:d876:c613:53f9:3648:80a8] has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )] 23:18:46 -!- chris is now known as Guest54613 23:18:50 -!- brandonz [~brandon@199-188-193-145.PUBLIC.monkeybrains.net] has quit [Ping timeout: 244 seconds] 23:18:50 -!- Guest54613 is now known as biscarch 23:19:44 ltbarcly1 [~ltbarcly@pool-71-116-67-158.snfcca.dsl-w.verizon.net] has joined #lisp 23:21:04 -!- ferada [~ferada@dslb-088-069-039-183.pools.arcor-ip.net] has quit [Quit: leaving] 23:21:22 not calling it twice in foreign-string-alloc helps some, but not by as much 23:21:29 brust [~olof@c83-248-83-254.bredband.comhem.se] has joined #lisp 23:21:34 -!- ltbarcly [~ltbarcly@pool-71-116-67-158.snfcca.dsl-w.verizon.net] has quit [Ping timeout: 252 seconds] 23:21:53 -!- brust [~olof@c83-248-83-254.bredband.comhem.se] has left #lisp 23:23:30 pnq [~nick@unaffiliated/pnq] has joined #lisp 23:26:26 Tril [~anonymous@unaffiliated/tril] has joined #lisp 23:27:49 fe[nl]ix: but i don't think that the value of the plist will be ever modified, only new stuff consed upfront 23:28:08 so, if some cache is lost, no big deal 23:28:23 Denommus [~user@201.75.86.249] has joined #lisp 23:28:33 I'm having problems compiling clx: http://pastebin.com/2TQp8fRT 23:29:35 fe[nl]ix: well, and i expect setf on variables to be atomic 23:29:57 -!- kmels [~kmels@frbg-4d028276.pool.mediaWays.net] has quit [Ping timeout: 248 seconds] 23:33:38 -!- stat_vi [~stat@dslb-094-218-229-038.pools.arcor-ip.net] has quit [Quit: leaving] 23:34:31 -!- iLogical [~iLogical@unaffiliated/ilogical] has quit [Read error: Connection reset by peer] 23:35:01 it even can be changed to (setf *null-length* (list* encoding length *null-length*)), because it already knows it's not there 23:35:02 -!- am0c [~am0c@am0c.broker.freenet6.net] has quit [Ping timeout: 245 seconds] 23:35:20 -!- puchacz [~puchacz@46-65-36-47.zone16.bethere.co.uk] has quit [Read error: Connection reset by peer] 23:41:33 -!- Denommus [~user@201.75.86.249] has quit [Ping timeout: 265 seconds] 23:44:30 ahoops [~ahoops__@121.96.14.223] has joined #lisp 23:57:25 asciilifeform [~asciilife@pool-108-56-236-219.washdc.fios.verizon.net] has joined #lisp