00:00:20 That might be implemented by making symbol objects have a slot for their values. Or there might be big hash table of symbol -> value mappings. 00:00:41 gigamonkey: i understand that, dynamic and static and lexical and global variables... shadowed variables... all that jazz 00:00:47 mon_key: lisp is a language. You cannot ask the kind of question you're asking without specifying a machine. I can run Common Lisp in my brain. How many "bit" does it take to store a vector of bits in my mind? What does it mean to say a vector is word aligned when it's stored there? 00:00:57 stassats: so a 16-bit S-B-V will take at least on 64bit word of mermory? 00:01:00 Landr: so maybe I missed it; what is your actual question? 00:01:15 mon_key: if you have a question about a specific implementation, the best thing to do is to look at the sources of that implementation. 00:01:18 mon_key: if you have ccl, you can look at the output of ccl:object-direct-size when it is applied to various lisp objects. 00:01:34 gigamonkey: "what is a symbol, what is a name, what is an identifier, what is a variable, which of these are actual lisp objects and which are abstract concepts?" 00:01:38 Landr: I think that the problem comes down to you using sloppy language, really. 00:01:50 A symbol is a lisp object. The rest are concepts. 00:01:54 rme: thanks I will look at that on the machine at home. 00:01:56 Landr: how many times did we answer to these questions already? 00:02:00 Yes, what Zhivago said. 00:02:11 pjb: gigamonkey asked what the question was, i didn't ask it again 00:02:35 mon_key: it will take at least a word, which is 64 bit on a 64-bit architecture 00:02:39 -!- danlentz [~danlentz@c-68-46-98-23.hsd1.nj.comcast.net] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 00:02:59 pjb: OK. Thanks for your help. I recognize its a kinda silly question for CL. I just realized this afternoon when profiling something that I don't actually "know the cost of anything" :) 00:03:04 mon_key: another way to answer those questions, is to ask yourself how you would do it if you had to implement it. 00:03:07 Landr: you may profit from taking a look at http://gigamonkeys.com/book/syntax-and-semantics.html 00:03:28 in theory, it can be aligned even more, if it's made with SIMD in mind 00:04:03 mon_key: you would get different answers if you tried to implement CL in one week-end, of if you tried to make an implementation generating the fastest code ever. 00:04:04 mon_key: ccl:heap-utilization might also be interesting 00:04:17 stassats: Sorry man I don't understand SIMD yet. occassionaly i read a wiki article about architecture and then get upset b/c its so C oriented 00:05:03 <|3b|> mon_key: the relevant part is that it tends to need wider than usual alignment 00:05:05 mon_key: for this discussion, it's enough to know that data should be aligned to some boundaries to get maximum performance from SIMD operations 00:05:20 tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has joined #lisp 00:05:33 stassats: so don't make odd length data ? 00:05:58 mon_key: well, the oddness depends on the implementation. 00:06:18 rather, make a large array instead of many small arrays if you care about such thing 00:06:29 and if it's possible and feasible in your case 00:06:30 For example, if the implementation uses 2-bit tags or 3-bit tags, there will remain a different number of bits for your values. 00:06:52 stassats: doesn't that just lead to C--there's one *big* array called the heap. ;-) 00:07:05 *|3b|* wonders if any implementations have immediate small bit-vectors 00:07:22 pjb: tags a ala stassats 64 bit headers? 00:07:40 mon_key: i didn't say that headers are 64-bit 00:07:41 Too. 00:07:42 pjb: so 36bit -4 on the old LispM stuff 00:08:26 -!- ilowhy [~ilowhy@124.124.225.20] has quit [Read error: Operation timed out] 00:08:37 gigamonkey: there's always sb-sys:sap-ref 00:08:40 stassats: OK. there is header and data. The data is what CL shows me the header is what CL shows the compiler for my machine arch? 00:08:40 <|3b|> 'tag bits' is usually the part of a pointer/immediate value used to identify the type, while 'header' would be larger data stored with the actual object 00:08:52 ilowhy [~ilowhy@124.124.225.20] has joined #lisp 00:09:12 <|3b|> 'header' would include stuff like array element type, fill pointers, dimensions, etc 00:09:14 -!- azaq23 [~derivecto@unaffiliated/azaq23] has quit [Quit: Leaving.] 00:09:41 -!- seangrove [~user@70-36-236-168.dsl.static.sonic.net] has quit [Ping timeout: 240 seconds] 00:09:47 <|3b|> while 'tag bits' would probably just be enough to tell you 'this points to an array' or something like that 00:11:13 |3b|: so at best my bit-vector will prob. hold at least as much "skeleton" data about itself as an equivalent byte-array sans fill-pointer and not explicitly adjustable? 00:11:13 ahh, of course, it'd be silly if "a" was a binding/pointer to a binding/pointer between "a" and something else 00:11:56 marmalade [~marmalade@99.192.104.125] has joined #lisp 00:12:07 <|3b|> mon_key: right, on a sane implementation, i'd expect a bit vector and byte vector with the same number of bits to be comparable size (assuming bytes that pack densely) 00:12:09 mon_key: if your arrays are so small, consider using integers 00:13:00 mon_key: you might like to read http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.4394&rank=1 00:13:09 <|3b|> actually, i guess you couldn't have immediate bit-vectors, since they woujld lose identity 00:13:46 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 246 seconds] 00:14:03 stassats: the specific issue is that the array is either a BV or byte-array with either 6 bytes for 48bit integer or 48bits of 1/0 00:14:48 sbahra [~sbahra@pool-74-106-252-24.bltmmd.fios.verizon.net] has joined #lisp 00:15:08 stassats: in either case i'm outside of fixnum range on x86-32bit so i'm curious to know if there are any gains to be had _after_ the conversion - which is ult. neccessary. 00:15:35 rme: Thanks! 00:15:42 araujo [~araujo@190.38.51.34] has joined #lisp 00:15:42 -!- araujo [~araujo@190.38.51.34] has quit [Changing host] 00:15:42 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 00:15:52 benchmark? 00:17:19 -!- Xach [~xach@pdpc/supporter/professional/xach] has left #lisp 00:17:27 stassats: :) Yes, but as I say... I don't really know the costs. I know how long it takes build em and fill em but not so much what it cost to do so. 00:18:11 -!- marmalade is now known as macrocat 00:20:04 -!- Ragnaroek [~chatzilla@143.93.53.41] has quit [Remote host closed the connection] 00:20:40 ahhhh, variables don't have names, symbols have names! 00:21:07 stassats: pjb: |3b|: rme: Thanks all for your help! 00:21:10 Landr: You're one confused bunny. 00:21:20 Zhivago: tell me about it :\ 00:21:22 Landr: A symbol has a name with respect to the printer and reader. 00:21:28 mon_key: you mean cost as in space? 00:21:57 Landr: Everywhere else that name is irrelevant -- so forget about symbol-name. 00:22:27 enthymeme [~kraken@adsl-76-194-209-80.dsl.lsan03.sbcglobal.net] has joined #lisp 00:22:36 Symbols are used as names of variables in Common Lisp programs. When a symbol is evaluated as a form, the value of the variable it names is produced. 00:22:38 stassats: Yes... maybe. e.g. TIME will tell me how much consing occured but i don't see how that is so relevant to array data 00:22:46 Landr: A variable is a conceptual name, value pair in the environment, where that name is usually a symbol. 00:22:48 -!- Tordek [tordek@gateway/shell/blinkenshell.org/session] has quit [Read error: Operation timed out] 00:23:02 Landr: That's all there is to it. 00:23:37 just compare different representations and see which one takes less or more 00:23:41 so a variable is an abstract term to describe a symbol with a name and a value 00:23:48 rexim [~rexim@91.204.184.177] has joined #lisp 00:24:02 hi! 00:24:09 No. 00:24:16 *Landr* cries 00:24:24 A variable is an entry in the abstract environment that associates a name with a value. 00:24:52 Symbols are usually used for those names. 00:24:56 stassats: less/more of what though? i.e. I got conses down cold, thats the goo that lisp is made of. What is the goo that arrays are made of :) 00:25:26 Thinking of a symbol having a value is a conceptual error. 00:25:35 it has a value-slot 00:25:40 mon_key: of bytes 00:25:42 That's what's confusing you. 00:25:53 time will return you how much bytes were consed 00:25:57 Stop thinking of symbol-value as being a slot in the symbol. 00:26:17 symbol-value is just a way to do a lookup in the dynamic environment. 00:26:27 you wouldn't know for what specifically they were used, but you'll the idea which representation takes more or less 00:26:49 A bit like using dlsym in C. 00:27:00 It's an unfortunate name that is causing you much brain-damage. 00:27:15 stassats: So "95,992,512 bytes consed" is really saying, "this is how much goo i had to schlep doing your dirty work?" 00:27:37 yes 00:27:44 -!- tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has quit [Quit: Leaving.] 00:27:59 you thought that consing had to with CONSes? 00:28:09 attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has joined #lisp 00:28:10 -!- attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has quit [Changing host] 00:28:10 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 00:28:14 Yes! I didn't understand that at all. 00:28:16 Tordek [~tordek@2001:470:dc50:b0::21] has joined #lisp 00:28:21 longfin [~longfin@124.198.53.194] has joined #lisp 00:28:27 -!- ilowhy [~ilowhy@124.124.225.20] has quit [Read error: Connection timed out] 00:28:41 pdlogan [~patrick@80.sub-75-196-113.myvzw.com] has joined #lisp 00:28:44 e.g. "Why the hell is that cosing so much, and where!" 00:28:52 ilowhy [~ilowhy@124.124.225.20] has joined #lisp 00:29:05 consing is "allocating memory" in lisp-talk 00:29:13 a variable isn't a data object/type 00:29:38 cons is short for construction. 00:29:47 -!- pnq [~nick@host-224.ssu.portsmouth.oh.us] has quit [Ping timeout: 276 seconds] 00:30:12 Landr: Yes. It is an entry in an environment. 00:30:22 stassats: I'm not gonna have another bitch-fest b/c of my failure to understand but suffice it to say that little line certainly threw me for a loop. 00:30:23 i thought it was for "conscription", for conscripting young bytes 00:30:52 cons blocks are construction blocks :) 00:30:55 ;_; it makes sense when I use it but not when I try to understand it 00:31:18 landr: That's because you are very sloppy in thought and expression. 00:31:28 i blame my humanities education :< 00:31:46 landr: You should have taken philosophy. 00:31:50 ... 00:31:52 i did :[ 00:32:03 Without failing? 00:32:11 :> well, i haven't failed yet 00:32:12 stassats: I will try to remember to change the relevant line in the SBCL sources before my next build. I much prefer "95,992,512 bytes worth of dirty laundry processed" 00:32:17 Then this shouldn't be hard. 00:32:27 probably not, but i'm overthinking it i guess 00:32:35 I think SICP explains these things at length. 00:32:45 -!- emporas [~emporas@athedsl-170924.home.otenet.gr] has quit [Read error: Operation timed out] 00:32:52 although you probably don't need much of that to write useful programs. 00:33:00 i understand variables, lexical and dynamical, just fine in any other language 00:33:01 mon_key: that's misleading, it doesn't talk about garbage collected memory, but about allocated memory 00:33:03 -!- pdlogan [~patrick@80.sub-75-196-113.myvzw.com] has quit [Ping timeout: 246 seconds] 00:33:12 Landr: Do you understand identity? 00:33:12 now suddenly there's another thing called a 'symbol' coming along 00:33:31 Zhivago: identity as in naming, or as in being? 00:33:46 Landr: As in being. 00:33:50 5 = 5 00:33:58 five is five 00:34:03 stassats: the GC times non-GC times are prob. giving me enough hints b/c i always (sb-ext:gc) immediately before a timing 00:34:27 a = 5: the value of a is 5 00:34:37 gc is triggered after allocating 12M in SBCL, by default 00:34:41 Landr: The value of the variable named a is 5. 00:34:52 Landr: You are being sloppy. 00:35:01 ah, yes, wait 00:35:16 Landr: a is an identity, just like 5 is. 00:35:38 Landr: You could have a language where 5 could be used as a variable name. 00:35:43 assume a silly object in memory: struct variable { char * name; int * value}; that is a variable 00:35:50 Landr: Then writing 5 = 5; would make sense. 00:35:58 Zhivago: like lisp 00:36:03 Landr: Do you understand what that would mean? 00:36:05 more entropy! 00:36:12 stassats: But not CL. 00:36:19 Zhivago: 5 gets set to the value of 5 00:36:23 Landr: No. 00:36:26 which could be 4 00:36:27 no? 00:36:38 Landr: That's obviously nonsense -- you can't set 5 to anything -- it's a goddamned identity. 00:36:46 Landr: Re-read what I wrote earlier about a. 00:36:48 but... when you use it as a name 00:36:56 (setf *read-base* 4) (let ((5 5.)) 5) 00:37:04 Landr: So, what does 5 = 4 mean there? 00:37:30 danlentz0 [~danlentz@c-68-46-98-23.hsd1.nj.comcast.net] has joined #lisp 00:38:07 how can i create more random bytes?!Q 00:38:10 the same as a = 4, if 5 is defined as just another letter of the alphabet 00:38:21 Landr: So, what are you setting to 4? 00:39:01 the byte in memory pointed to by a? 00:39:20 landr: There are no bytes or pointers. 00:39:32 landr: And the question is regarding 5 = 4, so there is no a. 00:39:35 landr: Try again. 00:39:44 variables have values, variables have names 00:39:56 a = 5, a is the name, 5 is the value, ??? is the variable whose name is a and whose value is 5 00:40:03 Landr: In the example of 5 = 4, so what is being set to 4? 00:40:08 do they have homes and wives? 00:40:11 Landr: Please answer this question and stop babbling. 00:40:41 is it something like http://en.wikipedia.org/wiki/Sign_%28linguistics%29 ? 00:40:56 Landr: Please answer the question. 00:41:35 i don't know the answer :( 00:41:50 Landr: I told you the answer earlier. 00:41:59 5 is a variable name you said 00:42:09 So, what is being set to 4? 00:42:16 the variable named by 5 00:42:30 or the variable whose name is 5... same thing right? 00:42:45 Ok. In this case, when we say 5 = 4, we are setting the value associated with the name 5 in the current environment to 4. 00:42:50 yes 00:42:58 We aren't setting 5 to anything. 00:43:10 no, because it's on a higher level 00:43:11 a = 4 is _exactly the same_, except that the name is now a. 00:43:20 yes 00:43:35 mon_key` [~user@74.143.13.202] has joined #lisp 00:43:37 Ok. Just remember that symbols are identities, like numbers are identities. 00:43:47 The rest should follow. 00:43:56 -!- mon_key [~user@unaffiliated/monkey/x-267253] has quit [Remote host closed the connection] 00:43:56 bbl 00:44:44 -!- lifeng [~lifeng@bb116-14-235-180.singnet.com.sg] has quit [Quit: Ex-Chat] 00:45:06 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 00:45:22 so instead of variables lisp uses symbols 00:45:31 no 00:45:42 >Symbols are used as names of variables 00:46:00 ikki [~ikki@201.122.132.181] has joined #lisp 00:47:08 xan__ [~xan@70.36.246.130] has joined #lisp 00:48:01 you should read SICP. 00:48:05 at least some of it. 00:48:15 xxxyyy [~xyxu@58.41.12.183] has joined #lisp 00:48:46 pdlogan [~patrick@230.sub-75-196-10.myvzw.com] has joined #lisp 00:48:57 i did, didn't help 00:49:33 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 260 seconds] 00:50:24 <|3b|> just because 'variables' aren't a separate object in CL doesn't mean they don't exist 00:50:36 <|3b|> 'variables' in CL are variables just like in any other language 00:50:41 for example this: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-21.html#%_sec_3.2 00:50:46 -!- rexim [~rexim@91.204.184.177] has quit [Quit:    ] 00:50:48 did you read this too? 00:51:04 it even has pictures! 00:52:03 i'm starting to get the feeling there are different types of symbols 00:52:14 <|3b|> no, 'symbol' is a specific construct in CL 00:52:40 <|3b|> when we say 'symbol' we mean specifically a CL symbol 00:52:45 but a symbol can serve as an identifier of a variable 00:52:48 <|3b|> there are lots of /uses/ for symbols 00:53:05 <|3b|> but a symbol is always the same thing, no matter how you use it 00:53:37 yes, it's an instance of a class 00:53:49 a symbol is an instance of the symbol class 00:54:05 <|3b|> as i said before, CL is defined in terms of lisp objects, not a sequence of characters as many languages are 00:54:22 neoesque [~neoesque@210.59.147.232] has joined #lisp 00:54:31 ... but it does have to transition from sequence of characters to objects at some point 00:54:45 i find calling objects of built-in classes "instances" misleading 00:54:48 <|3b|> the reader takes a sequence of characters, and converts them to lisp objects in a specified way 00:54:58 because you can't instantiate them yourself 00:55:55 so if i'm the reader and I get the characters 'f' 'o' 'o' I look this up in a table to see what this string means, I know it's a symbol, I just have to know what the value of the symbol is 00:56:11 <|3b|> so you pass the characters #\( #\f #\o #\o #\) to the reader, for example by evaluating (read-from-string "(foo)") or by using READ on a file containing that source text, and it returns a list containing the symbol named "FOO" 00:56:26 <|3b|> no 00:56:36 <|3b|> the reader just return the symbol FOO 00:56:43 <|3b|> reader doesn't care what it 'means' 00:56:50 but it evaluates it 00:56:55 <|3b|> nop 00:56:56 <|3b|> no 00:57:02 <|3b|> the evaluator evaluates things 00:57:47 ok, i'm the repl and I get the characters 'f' 'o' 'o' I look this up in a table to see what this string means, I know it's a symbol, I just have to know what the value of the symbol is 00:58:04 <|3b|> the REPL does more than 1 thing 00:58:14 ... 00:58:17 <|3b|> it READs it EVALuates, it PRINTs then it LOOPs 00:58:34 I just want to simplify things 00:58:39 not be 100% accurate 00:58:42 <|3b|> during the READ part, it converts the characters #\f #\o #\o to the symbol FOO 00:58:49 <|3b|> then it evaluates that symbol 00:59:26 -!- ilowhy [~ilowhy@124.124.225.20] has quit [Read error: Connection timed out] 00:59:28 <|3b|> since there is no surrounding context, that symbol must refer to a special variable in conforming code (since there is no surrounding lexical scope in which a lexical variable could have been defined) 00:59:48 ilowhy [~ilowhy@124.124.225.20] has joined #lisp 00:59:53 so a variable is an object? 00:59:56 <|3b|> so it tries to look up the variable with that name in the current dynamic scope 01:00:32 <|3b|> not particularly 01:00:45 :( 01:00:48 nah, forget it 01:00:49 <|3b|> there is no object in the CL spec that is a 'variable', any more than there is in C 01:00:53 i'll never understand it 01:00:57 <|3b|> it is still a meaningful concept though 01:01:01 i mean, i can work with it 01:01:04 i just don't get it 01:01:06 <|3b|> just not one that the spec exposes 01:01:07 but that's ok 01:01:31 perhaps that's because there's nothing to get 01:01:33 <|3b|> 'special variable' is the interpretation of that symbol in that context 01:01:34 a variable is named by an object, but the variable itself is made of magic. 01:01:58 (some variables more magical than others) 01:02:24 ok, what if instead of the word "variable" i used the word "cupboard" 01:02:48 -!- meingbg [~meingbg@c-7ae3e055.85-2-64736c11.cust.bredbandsbolaget.se] has quit [Read error: Connection reset by peer] 01:03:18 meingbg [~meingbg@c-7ae3e055.85-2-64736c11.cust.bredbandsbolaget.se] has joined #lisp 01:03:33 -!- pdlogan [~patrick@230.sub-75-196-10.myvzw.com] has quit [Ping timeout: 248 seconds] 01:04:03 *|3b|* tries another approach... 01:04:10 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 246 seconds] 01:04:34 <|3b|> CL has a set of rules for evaluating code, where 'code' is a set of lisp objects like lists, symbols, numbers, etc 01:05:11 wait, wait 01:05:17 let me just look this al up in cltl 01:05:47 <|3b|> ok, reading about cltl environments might be helpful 01:05:56 *|3b|* doesn't actually know much about them though 01:06:22 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 01:06:35 "symbols (sometimes called atomic symbols for emphasis or clarity) are named data objects" 01:06:40 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Client Quit] 01:09:51 Mococa [~Mococa@187.114.164.210] has joined #lisp 01:10:58 -!- meingbg [~meingbg@c-7ae3e055.85-2-64736c11.cust.bredbandsbolaget.se] has quit [Ping timeout: 258 seconds] 01:13:17 -!- cpc26 [~cpc26@66-87-8-127.pools.spcsdns.net] has quit [Quit: WeeChat 0.3.3] 01:15:28 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 260 seconds] 01:16:51 -!- Mococa [~Mococa@187.114.164.210] has quit [Read error: Operation timed out] 01:18:15 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 01:18:29 pnq [~nick@ACA30EDB.ipt.aol.com] has joined #lisp 01:18:50 pdlogan [~patrick@100.sub-72-102-31.myvzw.com] has joined #lisp 01:19:07 -!- pdlogan [~patrick@100.sub-72-102-31.myvzw.com] has left #lisp 01:19:54 -!- ilowhy [~ilowhy@124.124.225.20] has quit [Read error: Connection timed out] 01:20:18 ilowhy [~ilowhy@124.124.225.20] has joined #lisp 01:21:32 >(Sorry to be repetitive on this point, but confusing symbols and variables is one of the most common and avoidable problems in learning Scheme. It's worse in Lisp, where symbols and variables do have a deep connection, but not an obvious one.) 01:21:38 well, at least i'm not alone, that's a comfort 01:21:46 <|3b|> :) 01:22:01 Landr: it's quite simple: just write a lisp implementation! 01:24:43 hmm 01:24:51 symbols can't have multiple names, can they? 01:24:59 <|3b|> right 01:24:59 but variables can 01:25:04 Why don't you write a lisp implementation? 01:25:04 <|3b|> no 01:25:17 Landr: if you wrote it, all answers would be obvious. 01:25:40 but I don't understand anything of parsers and lexers :( [well, I do, but actually writing it is beyond my ability] 01:25:42 <|3b|> a symbol can name multiple variables 01:25:51 o_O how? 01:25:58 <|3b|> but each of those variables only has 1 name, which is that symbol 01:25:58 Landr: you're lucky, you don't need to write any parser or lexer to implement lisp! 01:26:21 no, i meant, a symbol only has one "name" 01:26:21 <|3b|> (lambda (a) (let ((a 1)) (let ((a 2)) (print a)))) 01:26:23 Landr: Zhivago showed you above!!! 01:26:31 Landr: don't you read what we write here? 01:26:40 <|3b|> in that form, the symbol A is used 4 times 01:26:42 because it doesn't click with me! 01:26:43 Landr: perhaps it's useless, and we should rather be silent. 01:26:49 <|3b|> it only has 1 name, which is "A" 01:27:08 <|3b|> the first time it names a variable in the lambda list of the lambda 01:27:17 <|3b|> the second time it names a variable, initialized to the value 1 01:27:21 (lambda (a) (let ((a 1)) (let ((a 2)) (print a)) (print a))) 01:27:29 2 1 01:27:34 <|3b|> the third time it names another variable, initialized to 2 01:27:43 We're still on this? 01:27:49 i'm sorry :( 01:27:51 Zhivago: yes :-( 01:27:55 The name of a symbol doesn't bloody well matter except for the reader and printer. 01:27:57 <|3b|> the 4th time, it names the variable which was initialized to 2 01:28:14 <|3b|> (and in pjb's example, is used again to name the variable initialized to 1) 01:28:35 <|3b|> each of those variables has the name A (which is the symbol with the name "A") 01:28:43 Landr: In this regard, if the name of A is "A", then the name of 5 is "5". 01:28:52 Landr: Stop caring about it -- it is irrelevant to variables. 01:29:19 -!- ASau` [~user@95-28-62-73.broadband.corbina.ru] has quit [Remote host closed the connection] 01:29:50 <|3b|> in each of those cases, there is no specific 'object' representing the variable 01:30:05 <|3b|> in the lambda list arg, there is probably some space on the stack containing the value of that variable 01:30:13 so a name can refer to a symbol (meaning the symbol has that name), or to a variable (meaning the name is bound to that variable) 01:30:28 <|3b|> in my example, the outer LET was probably dropped by the compiler, so that variable disappeared completely 01:30:29 and in the let-descend, the name keeps getting re-bound to other variables 01:30:34 Landr: what name? 01:30:39 Landr: There are two separate stages. 01:30:49 ASau` [~user@95-28-62-73.broadband.corbina.ru] has joined #lisp 01:30:53 Landr: One is the reader/printer stage. 01:31:11 <|3b|> the inner let is only used once, so a smart compiler might just replace the usage of that variable with the value 2, and not allocate any storage for the variable, otherwise it is probably on the stack too 01:31:16 Landr: symbol-name is only of interest to the reader and printer <- do you understand this? 01:31:23 y... yes? 01:31:27 Landr: Do you care that the name of 5 is "5"? 01:31:29 -!- Yuuhi [benni@p5483BCA6.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:31:42 not really, it could be  01:31:52 or any other strange glyph 01:32:01 Landr: Yes. It is completely bloody godamnedwell irrelevant to anything interesting. 01:32:11 So why do you care that the name of A is "A"? 01:32:32 i don't :( i just don't understand the different concepts 01:32:42 Mococa [~Mococa@187.114.164.210] has joined #lisp 01:32:51 Then forget about the names of symbols -- they are irrelevant unless you're reading or writing program text. 01:32:59 Just like the names of numbers. 01:33:13 and the names of variables? 01:33:30 No, you idiot. 01:33:34 :( 01:33:39 Those are relevant to evaluation. 01:33:42 argh 01:34:02 -!- rme [~rme@pool-70-104-125-229.chi.dsl-w.verizon.net] has left #lisp 01:34:09 The only time we care that "5" becomes 5 is when we're building that 5. 01:34:12 Landr: why don't you write a lisp? It takes one page!!! 01:34:18 The only time we care that "A" becomes A is when we're building that A. 01:34:25 i'm sorry, i'm frustrating everyone :( 01:34:27 After we've done the building we just have 5 and A. 01:34:56 forget it, i'm just not smart enough to figure it out and it's only irritating everybody 01:34:58 let it be 01:34:59 And unless you're talking about reading or writing text, you don't care. 01:35:03 <|3b|> possibly this would be better suited to #lispcafe 01:35:43 Just remember that symbols are identities, and that's the only important thing. 01:36:42 It is because they are identities that we can use them as names. 01:37:13 Indeed. We could use numbers as easily. 01:37:25 -!- Mococa [~Mococa@187.114.164.210] has quit [Ping timeout: 258 seconds] 01:37:44 Or interned lists. 01:38:08 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 01:41:18 Mococa [~Mococa@187.114.164.210] has joined #lisp 01:43:53 -!- xan__ [~xan@70.36.246.130] has quit [Ping timeout: 240 seconds] 01:51:47 -!- ilowhy [~ilowhy@124.124.225.20] has quit [Read error: Connection timed out] 01:52:16 ilowhy [~ilowhy@124.124.225.20] has joined #lisp 01:54:41 xan_ [~xan@70.36.246.130] has joined #lisp 01:54:46 Once again, I think that javascript probably made the right choice in making strings into symbols. 01:55:03 It avoids a lot of this conceptual complexity. 01:56:20 slyrus_ [~chatzilla@h-74-2-1-101.lsanca54.static.covad.net] has joined #lisp 02:00:45 In LISP too, strings were symbols. But then it evolved. 02:00:55 In a bad way. 02:01:45 Strings as mutable character vectors is one of those incredibly bad ideas that has some appeal for reasons of superficial efficiency. 02:02:33 Tau [~tau@189-127-60-8.i-next.psi.br] has joined #lisp 02:02:44 hi. 02:03:10 Zhivago: it's still better (IMHO) than "strings as lists of characters" 02:03:10 i think it is a inconsistency having (fmap) working. 02:03:25 any function should receive an argument. 02:03:44 (fmap) just makes the parsing more complex and generates some issues. 02:03:46 what about it 02:03:57 Tau: what are you talking about? Also, (fmap) is on #haskell, iirc, not #lisp 02:04:03 -!- Mococa [~Mococa@187.114.164.210] has quit [Ping timeout: 246 seconds] 02:04:15 wait a minute... lisp doesn't have variable (names) or functions (names)... it has symbols 02:04:17 i use fmap as an aanalogy to function p_l|backup . 02:04:32 and symbols have values or functions bound to them 02:04:32 p_l|backup, mathematica it is impossible to have a function that do not receive an argument. 02:04:58 like lisp is supposed to be a functional language it would be fairly if any function received at least an argument. 02:05:06 p_l: I think they're at about the same level of horror -- lists of characters are at least easily decomposed. 02:05:15 Tau: well, I'm still trying to figure th topic of what you're talking about, cause you missed the intro 02:05:36 Zhivago: what would you propose for strings? 02:05:45 p_l|backup, i just threw a question on the channel it isn't related to what you were talking before. 02:06:13 Tau: yes, but the way you asked it was devoid of *any* context necessary to parse it 02:06:13 realitygrill [~realitygr@adsl-76-226-130-17.dsl.sfldmi.sbcglobal.net] has joined #lisp 02:06:41 p_l|backup, what were you talking about 02:07:10 p_l: I would propose that a string be a sequence of strings. 02:07:15 Tau: I'm just trying to figure what was your statement about. 02:07:31 alright. 02:07:51 p_l|backup, any function has a domain and a image,right ? 02:08:01 Tau: yes. 02:08:01 even thugh it is {} 02:08:09 p_l: Much like a list of pairs, you would decompose a string into a head string and a tail string. 02:08:16 p_l: Does that make sense? 02:08:19 p_l|backup, in lisp you have (function) as a way of invoking function. 02:08:33 but, it doesn't receive any argument(which is a inconcistency). 02:08:48 the image may be {} but the domain must be non empty. 02:08:51 Zhivago: kinda, but I'm unsure if I get it the same way as you think about it 02:09:13 Tau: a function without arguments exist in Maths 02:09:19 -a 02:09:26 p_l|backup, a function that doesn't receive argument ? 02:09:31 i don't think it exists. 02:09:43 (split latin "hello") -> "h", "ello" ; for example. 02:09:44 Tau: yeah, except it's usually considered a constant 02:09:59 p_l|backup, even numbers are functions. 02:10:06 4 is somehow a function. 02:10:13 f(x) = 1 => the argument x is irrevelant 02:10:25 p_l|backup, but f(x) receives an argument. 02:10:27 (split latin "h") -> "h", ""; and so on. 02:10:32 even though it is 'irrelevant'. 02:10:58 Now it is equivalent to a functional stream with a lexer. 02:11:03 Tau: anyway, Common Lisp doesn't really care, because it was never focused on being a "functional" language 02:11:31 So your decomposition doesn't need to yield strings for the head -- e.g., (split lisp "500 A") -> 500, " A". 02:11:48 Tau: in fact, except for certain dialects (Scheme, Clojure, possibly more), Lisp was never about FP, it just happened to make FP easy 02:11:50 Tau, what Lisp calls functions do not correspond directly with what mathematics calls functions. `Lisp functions' may be represented by mathematical functions mapping states of the world (and argument sequences) to states of the world (and return value sequences). But whoever told you that Common Lisp is a `functional language' is clueless or a loon or both. 02:12:20 Lisp functions are procedures -- lisp is a procedural language. 02:12:27 -!- madnificent [~madnifice@83.101.62.132] has quit [Ping timeout: 252 seconds] 02:12:32 It just has good support for a functional programming style. 02:12:41 any programming language is procedural i think. 02:12:51 Tau: No. 02:13:01 as any procedural language can be used in a functional way. 02:13:06 Tau: There are programming languages that do not include procedures. 02:13:06 it is just a matter of abstraction. 02:13:07 Tau: also, (function) semantically might map to (eval 'function '() *current-environment) (not real code, just a way to describe the model) 02:13:12 No. It is a matter of semantics. 02:13:21 Amadiro_ [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has joined #lisp 02:13:22 Zhivago, we have different interpretations for what procedural means then. 02:13:35 Tau: What do you think a procedure is? 02:14:03 Tau: if you want strict FP, look into Haskell, which is kinda like crazy Maths made executable with funky syntax 02:14:11 Zhivago, well. i think of a procedure as a function. and it can be seen so at most contexts. 02:14:29 -!- Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Ping timeout: 248 seconds] 02:15:27 Tau: So, you don't know. 02:15:40 Tau: I define a function as being a mapping from a domain to a range. 02:15:53 Tau: I define a procedure as being a sequence of operations over a period of time. 02:16:08 Tau: I suggest that you adopt these definitions so that you can talk about these things meaningfully. 02:17:24 cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has joined #lisp 02:17:26 Zhivago, defining a procedure that way is irrelevant, a language is a state machine which can be seen as a function which receives a finite or infinite tuple of values which are correspoinding to variable of the state machine. 02:17:51 Tau: You are gibbering. 02:17:55 Zhivago, so, even though you have that level of abstraction for procedure that is still a functional and i don't think it is useful thinking of procedures. 02:18:18 Tau: A language isn't a state machine. 02:18:21 Zhivago, i don't care what you think. that is fairly well known to anyone who has a degree on cs. 02:18:35 Tau: You might like to provide your definition for "state machine" so that we can point out why it is wrong or why a language isn't. 02:18:38 Tau: I think my Computational theory professor would fail you 02:19:10 Zhivago, look, what is a function ? 02:19:32 Tau: See above -- a mappint from domain to range. 02:19:37 er, mapping. 02:20:00 Zhivago, what is a language ? isn't it a set of functions which operate on a state machine ? 02:20:14 No. 02:20:23 Tau: ehhh... Function = Mapping of Input (Domain) to Output (Range). Procedure = a subset of function, with very specific constraints where Domain and range include this scary thing called Real World 02:20:26 Zhivago, where is that failing at explaining what a function is ? 02:20:41 -!- udzinari [~user@ip-89-102-12-6.net.upcbroadband.cz] has quit [Ping timeout: 240 seconds] 02:20:45 Where is what failing at explaining what a function is? 02:20:51 p_l|backup, that is just an abstraction they are the same. 02:20:55 Firstly, functions can't operate on things. 02:21:11 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 02:21:16 Zhivago, what is a state machine ? 02:21:40 Zhivago, can you think of a state machine as a function ? 02:21:48 A state machine is an object that contains state that is potentially altered by subsequent input. 02:21:50 No. 02:21:58 You cannot represent a state machine as a function. 02:22:23 You can represent a state machine as a function plus a state, at best. 02:22:35 Functions are necessarily stateless. 02:23:30 scode_ [~scode@hyperion.scode.org] has joined #lisp 02:23:35 homie [~levgue@xdsl-78-35-154-223.netcologne.de] has joined #lisp 02:23:36 -!- scode [~scode@hyperion.scode.org] has quit [Read error: Connection reset by peer] 02:24:18 Zhivago, a state machine is something like input -> SM -> output. isnt it ? 02:24:25 Tau: you could, theoretically, think of procedure as a function that has manipulation of state as domain and range, in a MWI system, where each possible value of state defines a possible configuration/state 02:24:35 Usually, which is why a function cannot be a state machine. 02:25:01 Zhivago, yes. i agreee about it. 02:25:03 To use a function you would need state, input -> function -> next_state, output. 02:25:51 well. i think this discussion turned pointless. 02:26:07 thomashc [~thomas@108.129.121.61] has joined #lisp 02:27:00 If you can start to use terms meaningfully then it has a point. 02:27:04 or, is it pointfree? 02:27:07 -!- Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has quit [Quit: "Object-oriented design" is an oxymoron] 02:27:23 It sounds like you are slowly starting to grasp the difference between functions and procedures. 02:27:30 lol Zhivago 02:27:46 Zhivago, procedures are just abstractions of functions. 02:27:51 i will not discuss that. 02:27:56 that is fairly trivial. 02:27:59 Tau: That is gibberish. 02:28:16 Tau: A procedure can implement a state machine. 02:28:22 Tau: Do you disagree? 02:28:40 Zhivago, yes. 02:28:42 i agree. 02:28:55 Zhivago, if i understood what you meant for 'implement'. 02:28:58 Tau: A function cannot implement a state machine -- do you disagree? 02:29:09 *p_l|backup* points out that adding state to "function" is definitely a non-trivial thing in Math 02:29:22 Zhivago, 'a state machine can be seen as a function' <-- 02:29:31 get your own conclusions. 02:29:31 Tau: Wrong. As shown above. 02:29:40 Tau: A state machine cannot be seen a a function. 02:29:45 Zhivago, i don't know where you got that but that is wrong. 02:29:56 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 02:30:02 Zhivago, head hopcroft 'a formal introduction to languages'. 02:30:05 read* 02:30:08 Tau: Show a function that is a state machine. 02:30:13 Zhivago, there will explain why that is a function. 02:30:42 Tau: I already showed that you need a function plus state to build a state machine. 02:30:47 Tau: A function is not sufficient. 02:31:49 Mococa [~Mococa@187.114.164.210] has joined #lisp 02:35:23 -!- astoon [~chatzilla@nat121-249-205-109.tvoe.tv] has quit [Remote host closed the connection] 02:36:27 -!- tauntaun [~Crumpet@ool-457c37c3.dyn.optonline.net] has quit [Quit: Ex-Chat] 02:36:57 -!- jweiss [~user@cpe-069-134-063-238.nc.res.rr.com] has quit [Read error: Operation timed out] 02:37:50 -!- danlentz0 [~danlentz@c-68-46-98-23.hsd1.nj.comcast.net] has quit [Remote host closed the connection] 02:38:53 -!- xan_ [~xan@70.36.246.130] has quit [Ping timeout: 260 seconds] 02:40:23 -!- cmm [~cmm@109.65.203.181] has quit [Ping timeout: 260 seconds] 02:41:19 cmm [~cmm@109.65.203.181] has joined #lisp 02:48:30 araujo [~araujo@190.38.51.34] has joined #lisp 02:48:30 -!- araujo [~araujo@190.38.51.34] has quit [Changing host] 02:48:30 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 02:48:34 Vicfred [~Vicfred@201.102.74.144] has joined #lisp 02:49:23 saterus [~saterus@99-186-52-39.lightspeed.clmboh.sbcglobal.net] has joined #lisp 02:53:39 nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has joined #lisp 02:53:39 -!- nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has quit [Changing host] 02:53:39 nefo [~nefo@unaffiliated/nefo] has joined #lisp 02:54:29 -!- splittist [~splittist@30-245.62-188.cust.bluewin.ch] has quit [Ping timeout: 252 seconds] 02:59:13 -!- macrocat [~marmalade@99.192.104.125] has quit [Read error: Connection reset by peer] 03:01:14 splittist [~splittist@30-245.62-188.cust.bluewin.ch] has joined #lisp 03:01:38 -!- patagous [970fedeb@gateway/web/freenode/ip.151.15.237.235] has quit [Quit: Page closed] 03:09:00 did SLIME always consider compiler warning as an error? 03:09:20 p_l|backup: is that SLIME or the Lisp? 03:09:42 I think it has to do with the third return value from COMPILE-FILE 03:10:18 But I don't really know that that's the case. 03:11:15 Landr: you still here? 03:11:27 well, loading the whole system again after ,restart-inferior-lisp 03:11:38 yup 03:11:54 I'm curious. Did you ever read http://gigamonkeys.com/book/syntax-and-semantics.html 03:11:55 -!- hugod_ [~hugod@bas1-montreal50-1279442725.dsl.bell.ca] has quit [Ping timeout: 246 seconds] 03:12:32 Fine if you didn't. I'm just wondering whether you read it and it didn't help or if you didn't read it. 03:12:41 yes, but i found something else which i think helped more 03:13:01 http://www.psg.com/~dlamkins/sl/chapter03-05.html 03:15:20 Okaiy. 03:15:27 -!- sbahra [~sbahra@pool-74-106-252-24.bltmmd.fios.verizon.net] has quit [Quit: sbahra] 03:15:39 Thanks. Glad you found something that works for you. 03:17:21 hugod_ [~hugod@bas1-montreal50-1279442098.dsl.bell.ca] has joined #lisp 03:21:46 -!- Mococa [~Mococa@187.114.164.210] has quit [Remote host closed the connection] 03:23:32 -!- Vicfred [~Vicfred@201.102.74.144] has quit [Quit: ] 03:25:42 ... it looks like I'm chasing a wabbit with my code 03:32:08 otoh, I finally feel like my damn ERP/CRM app is coming together, despite being less than 200 lines altogether 03:32:25 -!- enthymeme [~kraken@adsl-76-194-209-80.dsl.lsan03.sbcglobal.net] has quit [Ping timeout: 258 seconds] 03:36:49 seangrove [~user@c-98-234-242-172.hsd1.ca.comcast.net] has joined #lisp 03:36:56 danlentz [~danlentz@c-68-46-98-23.hsd1.nj.comcast.net] has joined #lisp 03:42:43 spradnyesh [~pradyus@nat/yahoo/x-lcdzoscwhutvhber] has joined #lisp 03:48:03 ... and it probably has the most spiffy ORM layer I have ever dealt with 03:49:18 -!- Atomsk is now known as ace4016 03:50:23 -!- Tordek [~tordek@2001:470:dc50:b0::21] has quit [Ping timeout: 260 seconds] 03:50:39 Tordek [~tordek@2001:470:dc50:b0::21] has joined #lisp 03:52:34 sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has joined #lisp 03:53:24 Nately [~babycakes@unaffiliated/nately] has joined #lisp 03:55:12 enthymeme [~kraken@cpe-76-171-245-75.socal.res.rr.com] has joined #lisp 03:55:14 -!- Nately [~babycakes@unaffiliated/nately] has left #lisp 04:11:24 -!- gigamonkey [~user@adsl-99-17-205-117.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 264 seconds] 04:16:22 -!- cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has quit [Quit: Leaving.] 04:17:03 -!- splittist [~splittist@30-245.62-188.cust.bluewin.ch] has quit [Ping timeout: 246 seconds] 04:17:24 kushal [~kdas@nat/redhat/x-idwzbxfkzxbcgyes] has joined #lisp 04:17:24 -!- kushal [~kdas@nat/redhat/x-idwzbxfkzxbcgyes] has quit [Changing host] 04:17:24 kushal [~kdas@fedora/kushal] has joined #lisp 04:29:16 -!- sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has quit [Ping timeout: 246 seconds] 04:30:04 evening 04:34:11 -!- Demosthenes [~demo@206.180.155.43.adsl.hal-pc.org] has quit [Ping timeout: 240 seconds] 04:34:43 -!- Bootvis [bob@baltar.lan.endoria.net] has quit [Ping timeout: 252 seconds] 04:35:03 Demosthenes [~demo@206.180.155.43.adsl.hal-pc.org] has joined #lisp 04:38:00 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 04:39:35 gaidal [~gaidal@113.109.113.217] has joined #lisp 04:39:54 Bootvis [bob@baltar.lan.endoria.net] has joined #lisp 04:39:59 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 04:41:52 Total Estimated Cost to Develop = $ 1,805 <--- I think the statistics used by SLOCCount are skewed (there is 76 lines of code!) 04:42:17 it might be justified if those 75 lines are one big SQL query 04:43:40 p_l|backup: i came in a momemt too late to see -- what is the orm project name? 04:44:18 danlentz: hu.dwim.perec 04:44:47 oh - y you're right 04:45:22 I'm not sure yet if the code I've just written will run, but I'm writing new type support right now and it needs to be finished to reload it :D 04:45:31 i thought this had to be big news if it was better then petrec 04:45:57 albino: including ASDF files, 126 lines of code, $ 3,069 <--- wtf 04:46:09 danlentz: well, perec could certainly get better :D 04:46:26 using unexported symbols et al to get to DEFMAPPING is a chore 04:47:20 p_l|backup: common, that's sweet sweet money we're talking about :) 04:48:14 i was surpised it was so stable actually -- prior (pre-quicklisp - that is P.Q.) installation was so diffult i began to think of the whole prioject as a monster 04:48:42 -!- enthymeme [~kraken@cpe-76-171-245-75.socal.res.rr.com] has quit [Quit: brb] 04:48:57 -!- cmm [~cmm@109.65.203.181] has quit [Ping timeout: 260 seconds] 04:49:03 albino: If I was ever paid like that, I wouldn't be agonising over whether to shell out every bit of money for a pair of AKG K271 and an amplifier to drive them (and end up buying cheap Superlux HD669). 04:49:12 p_l|backup: Maybe it's using the theory of 3 (10? some other made up number?) debugged lines of code per day? 04:49:39 <_3b> p_l|backup: presumably it estimates based on some 'enterprisey' average of 100loc/week or so, and anyone coding faster than that can just charge more/hr to make it up 04:49:42 rtoym: or maybe it's got a really high modifier for lisp :) 04:49:55 cmm [~cmm@109.65.203.181] has joined #lisp 04:49:57 its very stable in fact. It can let you do unwise things though and suffer performance 04:51:04 if you are not careful 04:52:00 p_l|backup: Maybe. ohloh (currently offline) said some $10 million or more for cmucl. Same for maxima. 04:52:36 the orm query language is something you can get used to (and spoiled by) 04:54:29 Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has joined #lisp 04:55:05 the hu.dwim.rdbms layer is really quite nice in its own right - gets undeservedly overshadowed by perec sometimes 04:55:34 <_3b> p_l|backup: keep in mind that people being paid for code tend to also have meetings, report, sick leave, etc coming out of the same pay, so when you just count LOC there is a lot of overhead 04:56:13 true 04:59:41 the test suite is monsterously big and time consuming be warned 05:02:07 MAn, was on the all night leak hunt from hell thinking it was my snazzy new calls for whatever turns out NSURL* is caching HTTP request/responses. 05:04:30 ... wowzers 05:06:30 *p_l|backup* got "illegal function call" in macroexpansion 05:09:04 gor[e] [~svr@gw1.masterhost.ru] has joined #lisp 05:11:52 http://paste.lisp.org/display/121450 <--- and now this. 05:12:37 mcsontos [~mcsontos@nat/redhat/x-apgtlhumozponuxy] has joined #lisp 05:13:58 <_3b> either something else is exporting symbols, or you changed the exports 05:14:16 p_l|backup: have you seen the tutorial/article posted a while back? it contians a short example on implementing defptypes 05:15:02 <_3b> exporting things with lowercase names might also be a problem is that wasn't intentional 05:15:03 danlentz: the one by pinterface? 05:15:24 xan__ [~xan@70.36.246.130] has joined #lisp 05:15:57 y thats it. not all that great but the defptype episode was the highlight 05:15:59 _3b: strings were used just now, before that I had upcased symbols 05:16:08 danlentz: yeah, that's the one I'm using :) 05:16:32 <_3b> well, lowercase strings won't match symbols with uppercase names, which covers most of the errors 05:16:36 not a whole lot of choicers 05:16:53 _3b: apparently something was interfering with redefining the package... 05:16:57 <_3b> and if i remember right, hu.lisp tends to export things at definition instead of in defpackage 05:19:26 *_3b* would say look around hu.dwim package definitions and see if theyt have some workaround for that warning, or else just ignore it (or don't use the feature to export things outside defpackage) 05:26:18 ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has joined #lisp 05:27:11 flip214 [~marek@2001:858:107:1:7a2b:cbff:fed0:c11c] has joined #lisp 05:27:11 -!- flip214 [~marek@2001:858:107:1:7a2b:cbff:fed0:c11c] has quit [Changing host] 05:27:11 flip214 [~marek@unaffiliated/flip214] has joined #lisp 05:35:05 -!- thomashc [~thomas@108.129.121.61] has quit [Ping timeout: 258 seconds] 05:35:47 -!- fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has quit [Remote host closed the connection] 05:37:39 -!- npoektop [~npoektop@85.202.112.90] has quit [Quit: bye] 05:39:16 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 246 seconds] 05:39:49 -!- vert2 [vert2@gateway/shell/bshellz.net/x-axvezcfcfujipovd] has quit [Ping timeout: 248 seconds] 05:41:08 vert2 [~vert2@gateway/shell/bshellz.net/x-xachjxdjnchmaoup] has joined #lisp 05:41:14 Riastradh [debian-tor@fsf/member/riastradh] has joined #lisp 05:43:54 -!- DrForr [~drforr@pool-98-112-230-87.lsanca.fios.verizon.net] has quit [Ping timeout: 258 seconds] 05:45:27 -!- nefo [~nefo@unaffiliated/nefo] has quit [Quit: Leaving] 05:45:46 DrForr [~drforr@pool-98-112-230-87.lsanca.fios.verizon.net] has joined #lisp 05:51:06 tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has joined #lisp 05:51:34 -!- realitygrill [~realitygr@adsl-76-226-130-17.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 05:52:11 -!- slyrus_ [~chatzilla@h-74-2-1-101.lsanca54.static.covad.net] has quit [Ping timeout: 240 seconds] 05:52:48 -!- EarlGray [~dmytrish@inherent.puzzler.volia.net] has quit [Ping timeout: 264 seconds] 05:54:05 neoesque_ [~neoesque@210.59.147.232] has joined #lisp 05:54:05 -!- neoesque [~neoesque@210.59.147.232] has quit [Remote host closed the connection] 05:54:10 -!- neoesque_ [~neoesque@210.59.147.232] has quit [Client Quit] 05:56:20 slyrus_ [~chatzilla@h-74-2-1-101.lsanca54.static.covad.net] has joined #lisp 05:59:06 mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has joined #lisp 05:59:20 -!- mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has quit [Changing host] 05:59:21 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 05:59:48 *p_l|backup* , desperate, opens CCL instead 06:01:17 not unless a lot changed i dont think 06:01:50 danlentz: well, it might show a differently worded error message that might push me in the right direction 06:02:02 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 06:02:24 <_3b> p_l|backup: the package stuff still? 06:02:40 _3b: yeah 06:02:46 can ccl support the prereqs now? 06:03:43 <_3b> well, easy fix looks like just export perec:parser-of and perec:body-of from erp.db.types 06:03:52 it used to have issues with quasiquote, computed-class 06:04:13 that message was pretty clear actually. 06:04:19 *_3b* missed a few, but should be obvious 06:04:37 <_3b> alternately, figure out what macro you used from perec that exports things for you and tell it not to 06:05:27 <_3b> (and switch back to symbols instead of lower case strings for the :export, unless you changed reader upcasing) 06:06:31 _3b: strings were a short lived experiment 06:06:40 <_3b> yeah, just making sure :) 06:08:44 <_3b> important part is something other than defpackage is exporting things from that package 06:08:48 ... fixed 06:09:11 _3b: my defpackage forms were borked 06:09:32 and it wasn't visually obvious from looking at them 06:09:41 at least not in my current frame of mind :) 06:09:45 <_3b> ah, that could be a problem too :) 06:11:04 it led to interesting cases like not having CL imported... 06:11:49 -!- Amadiro_ [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Ping timeout: 246 seconds] 06:12:10 Davidbrcz [david@212-198-126-167.rev.numericable.fr] has joined #lisp 06:12:18 ah, well, who needs cl anyway ;-) 06:12:52 neoesque [~neoesque@210.59.147.232] has joined #lisp 06:14:25 also, I need a form that deletes my packages in case I have to redefine them 06:15:09 <_3b> you can probably just ignore the warning for interactive use 06:15:27 (delete-package)? 06:15:52 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 260 seconds] 06:16:07 flip214: yes, I did it. It's just the fact that I need it there that irks me 06:16:10 agumonkey [~user@64.158.70-86.rev.gaoland.net] has joined #lisp 06:16:29 -!- ikki [~ikki@201.122.132.181] has quit [Ping timeout: 258 seconds] 06:16:36 <_3b> it is just the usual sbcl helping you avoid nonconforming code :p 06:16:58 <_3b> (even if not conforming wouldn't matter in the majority of implementations including sbcl) 06:18:08 _3b: normally SBCL doesn't throw a fit like that, though 06:18:20 <_3b> it does if you export things outside the package 06:18:54 <_3b> or delete things from the export list 06:21:39 I think I finally managed to get it to run, though it's ugly trick 06:21:53 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Ping timeout: 240 seconds] 06:22:18 namely, moved the code to hu.dwim.perec package, but made the defptype forms directly refer to types:: symbols 06:23:35 -!- lanthan [~ze@p54B7B891.dip.t-dialin.net] has quit [Quit: Ex-Chat] 06:24:31 gko [~gko@223-138-29-1.dynamic.hinet.net] has joined #lisp 06:25:23 mishoo_ [~mishoo@79.112.237.103] has joined #lisp 06:25:50 <_3b> why not just add the symbols defptype exports to the :export list of your package? 06:27:57 Amadiro_ [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has joined #lisp 06:28:21 _3b: I'm trying to make it so that the only external symbols of the erp.db.types package are type designators 06:28:57 <_3b> ah, i guess dumping them in the package of the macro that exports things without asking is fair then :) 06:29:10 jdz [~jdz@193.206.22.97] has joined #lisp 06:29:29 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 06:29:30 <_3b> (though you could also export them from your own 'implementation' package, then re-export them from a publi-api package) 06:29:49 good morning 06:31:06 EarlGray [~dmytrish@inherent.puzzler.volia.net] has joined #lisp 06:34:28 ... some days you just love when the interning reader causes a build fail 06:36:37 -!- Amadiro_ [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Read error: Operation timed out] 06:37:06 -!- borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has quit [Read error: Connection reset by peer] 06:37:12 p_l|backup: which non-interning reader are you using? 06:37:24 thomashc [~thomas@108.129.108.122] has joined #lisp 06:37:25 borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has joined #lisp 06:38:49 dmytrish [~dmytrish@inherent.puzzler.volia.net] has joined #lisp 06:39:12 -!- EarlGray [~dmytrish@inherent.puzzler.volia.net] has quit [Ping timeout: 260 seconds] 06:39:14 jdz: at the moment, none, but I'm going to patch SBCL's to support non-interning operation 06:39:33 -!- gaidal [~gaidal@113.109.113.217] has quit [Ping timeout: 260 seconds] 06:39:39 it's just that I had a mess in package failing a second build >_> 06:40:21 it's all fun, though 06:40:51 especially when you get more done than you expect :) 06:43:05 -!- mathrick [~mathrick@users177.kollegienet.dk] has quit [Ping timeout: 240 seconds] 06:43:32 -!- vert2 [~vert2@gateway/shell/bshellz.net/x-xachjxdjnchmaoup] has quit [Ping timeout: 276 seconds] 06:43:39 vert2 [vert2@gateway/shell/bshellz.net/x-ehrfxijwvxffcgez] has joined #lisp 06:43:52 -!- dmytrish [~dmytrish@inherent.puzzler.volia.net] has quit [Ping timeout: 260 seconds] 06:44:13 rexim [~rexim@91.204.184.177] has joined #lisp 06:44:35 -!- rexim [~rexim@91.204.184.177] has quit [Client Quit] 06:44:59 dmytrish [~dmytrish@inherent.puzzler.volia.net] has joined #lisp 06:45:04 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 06:47:13 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 06:48:04 -!- agumonkey [~user@64.158.70-86.rev.gaoland.net] has quit [Ping timeout: 252 seconds] 06:51:30 gaidal [~gaidal@113.109.119.228] has joined #lisp 06:54:52 btw, paste of the working code http://paste.lisp.org/display/121451 06:55:01 -!- tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has quit [Quit: Leaving.] 06:55:38 tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has joined #lisp 06:55:44 -!- tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has quit [Client Quit] 06:55:58 basho__ [~basho__@dslb-188-108-008-172.pools.arcor-ip.net] has joined #lisp 06:56:05 -!- dmytrish [~dmytrish@inherent.puzzler.volia.net] has quit [Ping timeout: 248 seconds] 06:57:13 dmytrish [~dmytrish@inherent.puzzler.volia.net] has joined #lisp 06:57:59 Harag [~Harag@iburst-41-213-31-246.iburst.co.za] has joined #lisp 07:00:17 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 240 seconds] 07:01:31 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 07:02:58 I get an error with "(ql:quickload :hu.dwim.perec.postgresql)" 07:03:11 component "hu.dwim.rdbms.postgresql" not found 07:04:08 Hmmm, Xach not here yet ... 07:06:03 flip214: (ql:quickload 'hu.dwim.perec) 07:06:15 hu.dwim.perec.postgresql is part of it 07:06:45 I thought that this would just pull perec as dependency ... but perhaps I'm spoiled by debian package management? 07:07:06 "component "hu.dwim.perec" not found" ;-( 07:09:45 after restarting sbcl I get another error for this: component "parse-number" not found 07:10:33 The dependencies seem to be shot ... 07:10:40 Joreji [~thomas@70-124.eduroam.RWTH-Aachen.DE] has joined #lisp 07:11:29 update your quicklisp? 07:11:41 did that a week ago ... 07:12:05 Installed version 2011040600 is as new as upstream version 2011040600. No update. 07:15:31 -!- Joreji [~thomas@70-124.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 258 seconds] 07:15:49 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 248 seconds] 07:16:51 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 07:17:01 isismelting [~jo@ip72-197-227-251.sd.sd.cox.net] has joined #lisp 07:18:17 question: (get-decoded-time) prints data on lines - is there an easy way to put these in a list? 07:19:26 (multiple-value-list (get-decoded-time)) 07:19:43 isismelting: ^^ 07:19:58 JigJigJigs [c84dd3fc@gateway/web/freenode/ip.200.77.211.252] has joined #lisp 07:20:03 Tired of niggers? 07:20:13 Sick of their monkeyshines? 07:20:15 thankyou so much flip214. i couldn't think of a way to look up my question on intraweb. 07:20:19 Then join our forum today! 07:20:28 c h i m p o u t . c o m / f o r u m 07:20:36 At Chimpout we are NOT White Supremacists 07:20:44 We welcome all non-negroid races! 07:21:45 flip214 - if you have a moment, could you think of a way i could've used intraweb search to find the answer rather than to bother irc? i'm trying to get better with that (this is one step backward for two steps forward i hope hehe) 07:22:18 isismelting: hyperspec and PCL? 07:22:25 We welcome anybody who hates niggers 07:22:27 and who isn't a nigger! 07:22:41 well, if the REPL gives answers on multiple lines, it's multiple values being returned. That you have to know. 07:22:44 We have members who are Asians, Gays, Whites, non-negroid Hispanics, Jews, Arabs, 07:22:49 etc 07:22:50 then just look into the hyperspec 07:23:00 sadly minion (a bot) doesn't work currently 07:23:05 Come join the diverse and humanistic alliance against the fecal-colored negro beast! 07:23:10 chimpout forum! 07:24:34 (buy-a-drink-for flip214) thanks 07:25:01 isismelting: the clhs of get-decoded-time says that it returns multiple values, too 07:25:12 Supernova|iPod [~EyesIsMin@unaffiliated/eyesismine] has joined #lisp 07:25:22 -!- Supernova|iPod [~EyesIsMin@unaffiliated/eyesismine] has left #lisp 07:25:55 i see that now - i could've thought to look up "multiple values" "lisp" "list" - which i will do next time 07:26:45 -!- jdz [~jdz@193.206.22.97] has quit [Remote host closed the connection] 07:27:04 -!- JigJigJigs [c84dd3fc@gateway/web/freenode/ip.200.77.211.252] has quit [Disconnected by services] 07:30:05 -!- ltriant [~ltriant@110-174-168-43.static.tpgi.com.au] has quit [Quit: Computer has gone to sleep] 07:34:10 clhs: get-decoded-time 07:34:19 hmm, borked too 07:35:08 minion is dead 07:36:03 morphling [~stefan@gssn-5f7562d0.pool.mediaWays.net] has joined #lisp 07:36:34 tcr [~tcr@217-162-207-164.dynamic.hispeed.ch] has joined #lisp 07:36:48 -!- ec|detached is now known as elliottcable 07:38:25 killerboy [~mateusz@pc-212-51-221-162.p.lodz.pl] has joined #lisp 07:39:06 jdz [~jdz@193.206.22.97] has joined #lisp 07:40:39 ... damn. Some telcos know how to get blood pumping. They call you and start the talk by informing you that it's recorded, and that the talk will cover stuff placed under telecommunication secrecy law, and could you please authorize yourself to talk? o_O 07:40:55 Beetny [~Beetny@ppp118-208-16-38.lns20.bne1.internode.on.net] has joined #lisp 07:43:12 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 246 seconds] 07:44:18 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 07:48:44 insomniaSalt [~milan@port-92-204-113-173.dynamic.qsc.de] has joined #lisp 07:49:48 -!- xan__ [~xan@70.36.246.130] has quit [Read error: Operation timed out] 07:51:55 -!- insomnia1alt [~milan@port-92-204-76-173.dynamic.qsc.de] has quit [Ping timeout: 246 seconds] 07:53:24 -!- morphling [~stefan@gssn-5f7562d0.pool.mediaWays.net] has quit [Remote host closed the connection] 07:54:38 -!- saterus [~saterus@99-186-52-39.lightspeed.clmboh.sbcglobal.net] has left #lisp 07:54:42 Joreji [~thomas@80-137.eduroam.RWTH-Aachen.DE] has joined #lisp 07:54:45 woudshoo [~user@ipleiden.intellimagic.net] has joined #lisp 07:55:01 -!- killerboy [~mateusz@pc-212-51-221-162.p.lodz.pl] has quit [Quit: bye] 07:57:36 -!- Tau [~tau@189-127-60-8.i-next.psi.br] has quit [Quit: Leaving] 08:03:18 c_arenz [~arenz@nat/ibm/x-gzwdaoghkjpeowdn] has joined #lisp 08:04:06 ehu [~ehuels@109.33.169.255] has joined #lisp 08:04:15 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 08:06:54 -!- Tristam [~Tristam@cpe-72-226-124-205.nycap.res.rr.com] has quit [Ping timeout: 252 seconds] 08:09:12 -!- borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has quit [Remote host closed the connection] 08:09:45 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Quit: Reconnecting] 08:10:04 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 08:10:18 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Read error: Connection reset by peer] 08:10:41 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 08:11:30 Tristam [~Tristam@cpe-72-226-124-205.nycap.res.rr.com] has joined #lisp 08:13:54 nha [~prefect@imamac13.epfl.ch] has joined #lisp 08:14:12 relcomp [~chatzilla@nat.rz.uni-karlsruhe.de] has joined #lisp 08:14:32 -!- Salamander [~Salamande@ppp118-210-103-83.lns20.adl2.internode.on.net] has quit [Ping timeout: 276 seconds] 08:17:40 Salamander [~Salamande@ppp121-45-151-106.lns21.adl6.internode.on.net] has joined #lisp 08:19:17 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 08:19:18 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 260 seconds] 08:21:43 -!- isismelting [~jo@ip72-197-227-251.sd.sd.cox.net] has left #lisp 08:29:04 Athas [~athas@130.225.165.35] has joined #lisp 08:40:48 -!- kae [~b@c-c3cae253.97-16-64736c12.cust.bredbandsbolaget.se] has quit [Disconnected by services] 08:41:34 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Read error: Operation timed out] 08:43:41 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 08:47:34 -!- elliottcable is now known as y 08:47:51 -!- y is now known as elliottcable 08:48:02 -!- TheRealLongshot [~longshot@180.184.33.204] has quit [Quit: TheRealLongshot] 08:48:46 eut [~m@cpe-24-24-136-239.socal.res.rr.com] has joined #lisp 08:49:12 anyone familiar with gsl? 08:55:29 hlavaty [~user@91-65-223-81-dynip.superkabel.de] has joined #lisp 08:56:33 lanthan [~ze@p50992b91.dip0.t-ipconnect.de] has joined #lisp 08:56:58 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Read error: Operation timed out] 08:57:57 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 08:58:14 am0c [~am0c@124.49.51.197] has joined #lisp 08:58:16 -!- lanthan [~ze@p50992b91.dip0.t-ipconnect.de] has quit [Max SendQ exceeded] 08:59:22 lanthan [~ze@p50992b91.dip0.t-ipconnect.de] has joined #lisp 08:59:43 TheRealLongshot [~longshot@180.184.33.204] has joined #lisp 09:02:38 Wraithan [~wraithan@206.125.170.2] has joined #lisp 09:04:01 meingbg [~meingbg@c-7ae3e055.85-2-64736c11.cust.bredbandsbolaget.se] has joined #lisp 09:04:44 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Ping timeout: 246 seconds] 09:05:32 lifeng [~lifeng@155.69.43.70] has joined #lisp 09:06:55 udzinari [~user@nat/ibm/x-mwbwkcvogbxukuie] has joined #lisp 09:08:09 -!- gaidal [~gaidal@113.109.119.228] has quit [Quit: Leaving] 09:12:11 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 240 seconds] 09:13:13 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 09:16:02 ZabaQ [~Zaba@135.114-84-212.staticip.namesco.net] has joined #lisp 09:19:26 -!- aoh [~aki@85.23.168.123] has quit [Ping timeout: 246 seconds] 09:20:10 aoh [~aki@85.23.168.123] has joined #lisp 09:20:52 Emacs has a locate mode? Neato. 09:25:59 -!- Wraithan [~wraithan@206.125.170.2] has left #lisp 09:26:25 borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has joined #lisp 09:33:08 -!- Joreji [~thomas@80-137.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 258 seconds] 09:35:00 -!- am0c [~am0c@124.49.51.197] has quit [Quit: Leaving] 09:36:24 am0c [~am0c@124.49.51.197] has joined #lisp 09:39:49 woudshoo` [~user@ipleiden.intellimagic.net] has joined #lisp 09:41:00 attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has joined #lisp 09:41:00 -!- attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has quit [Changing host] 09:41:01 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 09:41:10 -!- sigjuice_ [~sigjuice@c-71-198-22-233.hsd1.ca.comcast.net] has quit [Ping timeout: 276 seconds] 09:41:12 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 09:42:56 -!- woudshoo [~user@ipleiden.intellimagic.net] has quit [Ping timeout: 260 seconds] 09:43:07 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 276 seconds] 09:43:46 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 09:46:12 -!- billitch [~billitch@men75-12-88-183-197-206.fbx.proxad.net] has quit [Ping timeout: 264 seconds] 09:46:28 -!- neoesque [~neoesque@210.59.147.232] has quit [Quit: Bye!] 09:50:26 Wraithan [~wraithan@206.125.170.2] has joined #lisp 09:51:21 Was looking around and didn't find one, so I thought I'd ask. Are there any rss2.0/atom libs or do most people just support the very basics of these and write their own using an xml parsing lib? 09:57:39 madnificent [~madnifice@83.101.62.132] has joined #lisp 09:59:05 -!- slyrus_ [~chatzilla@h-74-2-1-101.lsanca54.static.covad.net] has quit [Ping timeout: 240 seconds] 10:06:21 emporas [~emporas@athedsl-170924.home.otenet.gr] has joined #lisp 10:10:39 Yuuhi [benni@p5483DA1F.dip.t-dialin.net] has joined #lisp 10:14:45 -!- xxxyyy [~xyxu@58.41.12.183] has quit [Quit: Leaving.] 10:18:29 -!- hramrach_ [debian-tor@gateway/tor-sasl/hramrach] has quit [Remote host closed the connection] 10:19:13 fgump [~gump@188.74.82.177] has joined #lisp 10:19:36 hramrach_ [debian-tor@gateway/tor-sasl/hramrach] has joined #lisp 10:20:24 -!- am0c [~am0c@124.49.51.197] has quit [Remote host closed the connection] 10:22:42 -!- gko [~gko@223-138-29-1.dynamic.hinet.net] has quit [] 10:22:55 i'm using lisp in a box and have used quicklisp to install some packages, but it seems i have to reinstall the packages each time i start emacs. how can i avoid this? 10:24:33 (if i don't reinstall them, i get "there is no package named ...." when i try to compile my lisp file) 10:24:46 peterhil [~peterhil@a91-153-112-241.elisa-laajakaista.fi] has joined #lisp 10:24:54 absence: did you put stuff quicklisp told you to put in initfiles? 10:26:41 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Quit: Reconnecting] 10:26:58 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 10:28:30 nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has joined #lisp 10:28:30 hm, emacs is hanging.. i'll restart and see if quicklisp tells me something 10:28:30 -!- nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has quit [Changing host] 10:28:30 nefo [~nefo@unaffiliated/nefo] has joined #lisp 10:28:37 -!- longfin [~longfin@124.198.53.194] has quit [Remote host closed the connection] 10:29:32 billitch [~billitch@87-231-48-244.rev.numericable.fr] has joined #lisp 10:29:43 it just says it's loading my package 10:30:40 absence: ok, before compiling *your* file, you have to load the dependencies (using quicklisp) 10:31:20 absence: common lisp packages are not the same thing as modules (or quicklisp packages) 10:31:48 oh 10:32:01 -!- mcsontos [~mcsontos@nat/redhat/x-apgtlhumozponuxy] has quit [Read error: Operation timed out] 10:32:33 -!- fgump [~gump@188.74.82.177] has quit [Ping timeout: 258 seconds] 10:33:48 so i need to add the loading instructions to some startup file? any idea where it's located with lisp in a box? 10:33:55 gemelen [~shelta@shpd-78-36-166-6.static.vologda.ru] has joined #lisp 10:35:34 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 10:35:34 fgump [~gump@188.74.82.177] has joined #lisp 10:39:19 -!- gemelen [~shelta@shpd-78-36-166-6.static.vologda.ru] has quit [Quit:    .    ...] 10:40:56 Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 10:46:52 beach` [~user@116.118.11.247] has joined #lisp 10:47:26 gemelen [~shelta@shpd-95-53-177-16.vologda.ru] has joined #lisp 10:47:30 -!- billitch [~billitch@87-231-48-244.rev.numericable.fr] has quit [Ping timeout: 258 seconds] 10:47:49 billitch [~billitch@87-231-48-244.rev.numericable.fr] has joined #lisp 10:47:56 -!- beach [~user@116.118.47.142] has quit [Disconnected by services] 10:48:00 -!- beach` is now known as beach 10:49:47 -!- dmytrish [~dmytrish@inherent.puzzler.volia.net] has quit [Read error: Operation timed out] 10:50:14 dmytrish [~dmytrish@inherent.puzzler.volia.net] has joined #lisp 10:51:28 spilman [~spilman@ARennes-552-1-29-226.w92-135.abo.wanadoo.fr] has joined #lisp 10:52:55 -!- Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has quit [Read error: Operation timed out] 10:54:49 -!- Athas [~athas@130.225.165.35] has quit [Remote host closed the connection] 10:56:53 gravicappa [~gravicapp@80.90.116.82] has joined #lisp 10:58:44 hargettp [~hargettp@pool-71-174-139-45.bstnma.east.verizon.net] has joined #lisp 11:04:11 tauntaun [~Crumpet@208.252.23.2] has joined #lisp 11:04:27 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has left #lisp 11:05:11 -!- billitch [~billitch@87-231-48-244.rev.numericable.fr] has quit [Ping timeout: 240 seconds] 11:05:21 billitch [~billitch@78.250.200.147] has joined #lisp 11:08:13 cl-perec:defptype question - I just read this, is this still true? 11:08:19 "Notice how name-of, args-of, body-of, substituter-of, and parser-of are not prefixed by the cl-perec package. That's because they aren't in the cl-perec package, even though they should be" 11:08:57 workarounds ... "3) Put an (in-package #:cl-perec) form just before our defptype" 11:09:06 Is that still a problem? 11:09:35 attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has joined #lisp 11:09:35 -!- attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has quit [Changing host] 11:09:35 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 11:10:12 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Client Quit] 11:10:59 stassats [~stassats@wikipedia/stassats] has joined #lisp 11:14:43 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Read error: Operation timed out] 11:16:27 Joreji [~thomas@75-220.eduroam.RWTH-Aachen.DE] has joined #lisp 11:16:54 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 11:17:00 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 11:18:07 skeptical_p [~rononovsk@bzq-79-178-185-68.red.bezeqint.net] has joined #lisp 11:18:11 Amadiro [~Amadiro@1x-193-157-205-196.uio.no] has joined #lisp 11:22:00 mcsontos [~mcsontos@nat/redhat/x-vsnfiacngihomwnm] has joined #lisp 11:22:42 ch077179 [~urs@xdsl-188-155-1-133.adslplus.ch] has joined #lisp 11:23:04 xxxyyy [~xyxu@58.33.152.39] has joined #lisp 11:26:54 Krystof [~csr21@158.223.161.59] has joined #lisp 11:31:01 Is there something I'm missing here? (documentation (lambda () "test" nil) 'function) => NIL 11:31:15 attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has joined #lisp 11:31:15 -!- attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has quit [Changing host] 11:31:15 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 11:31:48 -!- homie [~levgue@xdsl-78-35-154-223.netcologne.de] has quit [Ping timeout: 260 seconds] 11:32:40 mishoo__ [~mishoo@79.112.237.103] has joined #lisp 11:32:58 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 276 seconds] 11:33:01 flip214: it's now hu.dwim.perec::defptype 11:33:06 (and yes, unexported) 11:33:08 -!- mishoo_ [~mishoo@79.112.237.103] has quit [Read error: Operation timed out] 11:33:20 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 11:33:29 and to be sure, I went with the workaround 11:33:48 p_l|backup: thanks ... but you didn't test whether it works without that, did you? 11:33:52 (the stuff regarding defstar-shield) 11:34:12 flip214: I ended up not testing it, mainly due to many other issues I had to deal with (defpackage madness) 11:34:37 p_l|backup: thank you nonetheless 11:35:35 flip214: http://paste.lisp.org/display/121451 <--- here's my end result, btw 11:37:42 thank you, already stolen copied ;-) 11:38:47 Athas [~athas@shop3.diku.dk] has joined #lisp 11:39:10 well, none of that stuff was covered with any specific license/secrecy restraint, so happy to share :) 11:39:49 dnolen [~davidnole@184.152.69.75] has joined #lisp 11:41:44 mathrick [~mathrick@users177.kollegienet.dk] has joined #lisp 11:43:48 -!- Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has quit [Quit: Leaving] 11:43:59 yvdriess [~Beef@soft85.vub.ac.be] has joined #lisp 11:44:40 -!- ehu [~ehuels@109.33.169.255] has quit [Ping timeout: 276 seconds] 11:47:31 Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has joined #lisp 11:48:56 -!- spradnyesh [~pradyus@nat/yahoo/x-lcdzoscwhutvhber] has left #lisp 11:49:29 killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has joined #lisp 11:49:53 -!- hargettp [~hargettp@pool-71-174-139-45.bstnma.east.verizon.net] has quit [Quit: Leaving...] 11:51:36 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 264 seconds] 11:53:40 ehu [~ehuels@109.33.169.255] has joined #lisp 11:55:08 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Ping timeout: 260 seconds] 11:56:41 -!- billitch [~billitch@78.250.200.147] has quit [Ping timeout: 240 seconds] 11:57:36 billitch [~billitch@78.250.200.147] has joined #lisp 11:58:11 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has left #lisp 11:58:20 -!- tauntaun [~Crumpet@208.252.23.2] has quit [Ping timeout: 246 seconds] 11:59:11 -!- Harag [~Harag@iburst-41-213-31-246.iburst.co.za] has quit [Ping timeout: 258 seconds] 12:01:57 silenius [~silenus@212.99.133.38] has joined #lisp 12:03:58 carlocci [~nes@93.37.214.245] has joined #lisp 12:04:59 urandom__ [~user@p548A73FD.dip.t-dialin.net] has joined #lisp 12:05:20 azathoth99 [~g@pool-74-111-197-135.lsanca.fios.verizon.net] has joined #lisp 12:05:21 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp 12:06:17 normally that means that I may not do *anything* with it, not even remembering ... so is it BSD, GPL, PD ;-) 12:06:17 -!- billitch [~billitch@78.250.200.147] has quit [Read error: Connection reset by peer] 12:06:49 -!- azathoth99 [~g@pool-74-111-197-135.lsanca.fios.verizon.net] has quit [Remote host closed the connection] 12:07:38 flip214: at the moment it's WTFPL 12:08:13 What The Friendly People Like? 12:08:23 -!- skeptical_p [~rononovsk@bzq-79-178-185-68.red.bezeqint.net] has quit [Ping timeout: 258 seconds] 12:08:53 What(ever) The Fuck Public License 12:09:53 the actual project will be delivered to client under MIT, I guess :) 12:09:56 -!- tsuru [~charlie@adsl-87-52-181.bna.bellsouth.net] has quit [Remote host closed the connection] 12:10:41 any nlp people here? 12:10:44 billitch [~billitch@78.250.200.147] has joined #lisp 12:10:55 if i have two lists ('a 'b 'c) and (1 2 3), is there a function that will turn them into (('a 1) ('b 2) ('c 3))? 12:11:14 absence: PAIRLIS, almost. 12:11:28 absence: you have a glut of quotes 12:12:11 absence: (mapcar 'list '(a b c) '(1 2 3)) 12:14:12 ah! i like the mapcar one, thanks :) 12:15:26 neoesque [~neoesque@210.59.147.226] has joined #lisp 12:15:39 why desn't it have to be #'list? 12:16:01 because that's a byte shorter? 12:16:21 ;-) no, both works .... I'd have use #' too 12:16:48 absence: a symbol may be used to designate a function named by that symbol in the global environment. 12:17:41 and it is safe to use #' for functions in common-lisp package 12:19:34 jdz: what do you mean? I can use #' for other packages as well ... do you mean because they're normally imported in all packages? 12:20:04 flip214: they might be shadowed by lexical function bindings. 12:20:26 flip214: shadowing and redefinition 12:20:51 ah, but the symbol always takes the global one ... that's what you meant. thank you. 12:21:38 flip214: if you use #', you capture the function at that time; if you store it somewhere, redefining the function might not have the desired effect 12:22:45 -!- billitch [~billitch@78.250.200.147] has quit [Read error: Connection reset by peer] 12:24:08 -!- Joreji [~thomas@75-220.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 276 seconds] 12:24:55 -!- Salamander [~Salamande@ppp121-45-151-106.lns21.adl6.internode.on.net] has quit [Ping timeout: 246 seconds] 12:25:23 La0fer [~Laofers1@64.120.233.114] has joined #lisp 12:25:37 jdz: of course, because the symbol is the "global entity" and has to be processed via symbol-function to call it; the #' is the function reference itself. 12:28:36 flip214: yes, my point being that one should make a conscious choice of which form to use, because they have different semantics in different contexts 12:29:17 it's not like: always use 'some-function or #'some-function 12:29:45 jdz: right, ok. thanks for clarification! 12:30:00 am0c [~am0c@180.224.41.34] has joined #lisp 12:31:11 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 240 seconds] 12:32:17 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 12:33:29 Joreji [~thomas@85-077.eduroam.RWTH-Aachen.DE] has joined #lisp 12:34:31 dullard [~user@188-223-137-38.zone14.bethere.co.uk] has joined #lisp 12:35:46 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 12:37:04 prljavi_hari [~h@dh207-39-111.xnet.hr] has joined #lisp 12:37:40 Salamander [~Salamande@ppp118-210-217-153.lns20.adl6.internode.on.net] has joined #lisp 12:39:11 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 12:39:32 Can someone tell me how to call a lisp function with javascript (parenscript) by using JSONP ? 12:39:50 Riastradh [debian-tor@fsf/member/riastradh] has joined #lisp 12:40:16 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 12:40:41 *madnificent* has no clue 12:41:46 Are there any other working AJAX frameworks ? 12:42:05 prljavi_hari: Working in what sense? 12:42:59 To do what is supposed to do 12:43:08 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 246 seconds] 12:43:27 prljavi_hari: I suspect they all work. 12:43:38 -!- Krystof [~csr21@158.223.161.59] has quit [Ping timeout: 276 seconds] 12:44:01 drdo [~user@91.205.108.93.rev.vodafone.pt] has joined #lisp 12:44:02 I tried cl-ajax, ht-ajax, ht-simple-ajax, json and nothing 12:44:22 Riastradh [debian-tor@fsf/member/riastradh] has joined #lisp 12:45:03 prljavi_hari: You were unable to learn how to use ANY of them? 12:45:19 no 12:45:27 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 248 seconds] 12:45:33 That is truly a sad state of affairs. But I don't think the software is primarily to blame. 12:45:36 I don't really get it 12:45:42 Clearly. 12:46:32 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 12:46:33 do you recommend some ajax framework 12:46:56 I haven't tried any. When I wanted to use ajax, I wrote it myself. 12:47:36 I don't know to do that 12:48:10 It's just a web request ... 12:48:20 is there something to read 12:48:20 So, what's the problem? 12:49:20 you mean Hunchentoot request or what 12:49:42 Subliteracy is a terrible curse. 12:51:08 Hmm, does anyone happen to have SBCL 1.0.47 handy, and a few minutes to try something? (the exact version is important) 12:51:45 d'oh, i can just download the binary. never mind. 12:53:17 -!- Beetny [~Beetny@ppp118-208-16-38.lns20.bne1.internode.on.net] has quit [Ping timeout: 252 seconds] 12:55:40 Xach: still then, if someone had it, it'd have been an overall time gain. (/me didn't have it) 12:57:31 yah, Debian sid has 1.0.47.0 so mine is exact match 12:57:48 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 12:57:50 kanru: can you try (ql:quickload "hu.dwim.perec") and tell me if it fails? 12:59:18 jweiss [~user@cpe-069-134-063-238.nc.res.rr.com] has joined #lisp 13:00:01 yes it failed 13:01:15 cpc26 [~cpc26@66-87-11-229.pools.spcsdns.net] has joined #lisp 13:01:22 Xach: thank you. So it's a buggy cl-asdf, and a borked sbcl. Sorry to have bothered you - I'll have to wait for a newer sbcl, then? 13:02:04 Salamander_ [~Salamande@ppp118-210-222-81.lns20.adl6.internode.on.net] has joined #lisp 13:02:35 flip214: I don't know. 13:02:42 where is the paste bot? 13:02:44 http://paste.lisp.org/+2LPU 13:02:49 -!- Salamander [~Salamande@ppp118-210-217-153.lns20.adl6.internode.on.net] has quit [Ping timeout: 258 seconds] 13:02:54 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 13:03:10 Xach: well, it seems to work for you with another sbcl version, IIUC? 13:04:27 It works in 1.0.47.24 13:05:18 there's a regression (from 1.0.45.18) fix in 1.0.47.19 13:05:24 Salamander__ [~Salamande@ppp121-45-146-77.lns21.adl6.internode.on.net] has joined #lisp 13:05:42 longfin [~longfin@211.187.37.46] has joined #lisp 13:06:11 -!- Salamander_ [~Salamande@ppp118-210-222-81.lns20.adl6.internode.on.net] has quit [Ping timeout: 240 seconds] 13:06:50 flip214: what version of asdf does your package system provide? 13:07:35 "grep cl-asdf /var/log/dpkg.log" returns "cl-asdf 2:2.013.3-1" 13:07:51 as now uninstalled ;-) 13:08:17 2:2.014.3-1 13:08:34 -!- Salamander__ is now known as Salamander 13:08:47 -!- prljavi_hari [~h@dh207-39-111.xnet.hr] has left #lisp 13:09:19 Because hu.dwim.asdf :depends-on asdf, it is finding the debian version instead of the quicklisp version, because of how the source registry is updated on debian systems. i think. 13:09:25 debian version of asdf, that is. 13:09:40 I think loading debian's asdf clobbers quicklisp's setup. I'm not certain, though. 13:09:45 But removing it helped, so does it matter? Currently re-making an SBCL checkout of 1.0.47.24, then testing. Result tomorrow, ok? 13:10:05 I just checked out sbcl 1.0.47 from cvs, and it built hu.dwim.perec fine. 13:10:08 -!- ZabaQ [~Zaba@135.114-84-212.staticip.namesco.net] has left #lisp 13:10:18 ZabaQ [~Zaba@135.114-84-212.staticip.namesco.net] has joined #lisp 13:10:21 It matters a bit. It would be nice to find out why it fails and if it can be avoided without removing all traces of Debian lisp stuff. 13:10:51 So it's just 1.0.47.0 ... ? 13:11:03 It might be just debian's 1.0.47.0 13:11:20 The binary of 1.0.47 from sbcl.org works fine too. 13:12:01 perhaps another debian cl package that causes incompatibilities elsewhere? 13:12:04 hmmm 13:13:53 Could be. 13:13:55 # dpkg-query -l | grep ^ii.*"Common Lisp" 13:13:55 ii cl-sql 5.3.2-1 SQL Interface for Common Lisp 13:13:55 ii clisp 1:2.49-7 GNU CLISP, a Common Lisp implementation 13:13:55 ii sbcl 1:1.0.47.0-2 A Common Lisp compiler and development system 13:13:56 ii sbcl-doc 1:1.0.47.0-2 Documentation for Steel Bank Common Lisp 13:14:08 oops, sorry. more width than expected. 13:14:24 So the only thing that could interfere is cl-sql ... hmmm 13:15:32 joachifm [~joachim@212.7.195.193] has joined #lisp 13:15:43 it works if I remove /usr/share/common-lisp/source/cl-asdf/asdf.asdf temproarily 13:15:58 *asdf.asd 13:16:31 kanru: it builds to completion? no errors? 13:17:03 it builds a lot of things.. still building 13:17:14 ok. i suspect it might barf later. 13:17:49 now done. 13:18:12 completed with no errors 13:19:51 Xach: Is there a way to get quickload compilations get running in parallel? 13:20:36 myu2 [~myu2@v051158.dynamic.ppp.asahi-net.or.jp] has joined #lisp 13:21:01 well, with 1.0.47.24 I get the error "The value NIL is not of type INTEGER." again - in ("hu.dwim.rdbms" "source" "logger"), source: (THE INTEGER SB-PCL::VALUE) 13:21:10 flip214: There isn't a built-in way. I can't imagine a way, but that doesn't mean there isn't a way. 13:21:35 flip214: odd. maybe try blowing away ~/.cache/common-lisp/ too? 13:21:40 -!- fgump [~gump@188.74.82.177] has quit [Quit: Leaving] 13:21:41 Xach: thank you. I'm awfully sorry, but I've got to go. Should be back tomorrow. 13:22:05 Shouldn't be needed - the cache/1.0.47.24 directory didn't exist, I'm sure. 13:24:19 -!- flip214 [~marek@unaffiliated/flip214] has quit [Remote host closed the connection] 13:27:45 -!- killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has quit [Ping timeout: 252 seconds] 13:28:53 Xach: fascinating, your quicklisp efforts have gathered a complete new set of users, with even different demands (as a sideline comment to the quicklisp mailing list) 13:29:11 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 248 seconds] 13:29:22 -!- Joreji [~thomas@85-077.eduroam.RWTH-Aachen.DE] has quit [Read error: Operation timed out] 13:29:23 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Quit: Ex-Chat] 13:29:35 Brandon J. Van Every is pretty famous for his style. 13:29:37 There must be a price or a medal we could give to Xach... 13:29:52 e.g. google this: brandon van every cmake 13:30:19 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 13:30:36 ikki [~ikki@201.144.87.46] has joined #lisp 13:31:06 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #lisp 13:32:59 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 13:35:32 pjb: many kind quicklisp users have given coppers 13:38:53 Joreji [~thomas@85-077.eduroam.RWTH-Aachen.DE] has joined #lisp 13:40:10 Xach: are you behind quicklisp? 13:40:25 loke: behind and slightly to the left of it 13:40:38 Xach: oh, i thought you're ahead of it 13:40:47 or in front 13:41:08 Xach: good enough for me. Let me just heap some praise on you. :-) I don't think my renewed interest in Lisp would have succeeded if it wasn't for quicklisp. It's the package I always wanted, but didn't know I did :-) 13:41:23 rmarianski [~rmariansk@mail.marianski.com] has joined #lisp 13:42:03 loke: glad to hear it! 13:42:43 superflit [~superflit@140.226.49.148] has joined #lisp 13:47:52 -!- neoesque [~neoesque@210.59.147.226] has quit [Quit: Bye!] 13:51:48 -!- ehu [~ehuels@109.33.169.255] has quit [Ping timeout: 260 seconds] 13:54:22 Ragnaroek [~chatzilla@boccacio.fh-trier.de] has joined #lisp 13:56:09 chp [~chp@2001:da8:a000:155:5eff:35ff:fe0c:c3ef] has joined #lisp 13:56:44 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 13:58:22 -!- ikki [~ikki@201.144.87.46] has quit [Ping timeout: 246 seconds] 13:58:41 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 240 seconds] 13:59:22 jtza8 [~jtza8@41.56.46.113] has joined #lisp 13:59:37 Harag [~Harag@iburst-41-213-31-246.iburst.co.za] has joined #lisp 14:02:11 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.] 14:02:25 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 14:02:54 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 14:03:01 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #lisp 14:05:08 pjb: The Lisp Revitalisation Medal? :p 14:06:28 muhdik [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has joined #lisp 14:06:38 heh 14:07:42 muddyferret [~muddyferr@88.Red-80-26-102.staticIP.rima-tde.net] has joined #lisp 14:13:58 ^F (C-f) <--- now that's a weird thing to put in *features* 14:16:42 milanj [~milanj_@109-92-102-125.dynamic.isp.telekom.rs] has joined #lisp 14:19:44 -!- xxxyyy [~xyxu@58.33.152.39] has quit [Quit: Leaving.] 14:21:53 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 14:24:35 -!- Khisanth [~Khisanth@pool-96-250-21-68.nycmny.east.verizon.net] has quit [Ping timeout: 252 seconds] 14:25:18 js0000 [~js@67.208.188.68] has joined #lisp 14:25:36 -!- chr [~user@148.122.202.244] has quit [Read error: Connection reset by peer] 14:25:41 -!- am0c [~am0c@180.224.41.34] has quit [Ping timeout: 252 seconds] 14:29:09 chr [~user@148.122.202.244] has joined #lisp 14:29:30 rme [~rme@pool-70-104-125-229.chi.dsl-w.verizon.net] has joined #lisp 14:31:14 -!- mcsontos [~mcsontos@nat/redhat/x-vsnfiacngihomwnm] has quit [Quit: Leaving] 14:36:39 Blast. 14:36:50 gffa [~gffa@unaffiliated/gffa] has joined #lisp 14:36:56 I started my swank with a :STYLE of NIL 14:37:03 but don't seem to have it 14:37:36 how did you try it? how do you come to that conclusion? 14:38:15 I'm double checking.. 14:38:36 M-x slime-list-threads is an easy way 14:38:43 I started ccl 1.6 for windows in an *inferior* lisp buffer 14:39:01 yes, I have two threads 14:39:17 started swank with (create-server :style nil) 14:39:23 I think ccl might start with those two threads itself 14:39:45 looked at the value of swank:*communication-style* and got :SPAWN 14:43:35 naeg [~naeg@194.208.239.170] has joined #lisp 14:46:26 leo2007 [~leo@th041158.ip.tsinghua.edu.cn] has joined #lisp 14:46:28 -!- jtza8 [~jtza8@41.56.46.113] has quit [Read error: Connection reset by peer] 14:47:06 jtza8 [~jtza8@41.56.46.113] has joined #lisp 14:47:41 -!- pnq [~nick@ACA30EDB.ipt.aol.com] has quit [Ping timeout: 252 seconds] 14:48:28 pastorn [~alexander@aoeuu.csbnet.se] has joined #lisp 14:48:32 heyo 14:49:55 I have a question about lists... 14:50:08 How do i make a function that takes a list of arguments? 14:50:36 pastorn: You mean the number of arguments it accepts is not known in advance? 14:50:46 Xach: exactly 14:50:58 (defn (add4 x y z w) (+ x y z w)) 14:51:01 pastorn: If you have a function defined like (defun foo (&rest bar) ...) and call it like (foo 1 2 3), BAR is bound to (1 2 3) in the body of FOO. 14:51:02 i can do that 14:51:12 What language is that? 14:51:25 Xach: dunno... some random lisp dialect i just made up 14:51:33 pastorn: This channel is for Common Lisp. 14:52:10 Xach: yeah 14:52:20 -!- yvdriess [~Beef@soft85.vub.ac.be] has quit [Quit: Leaving] 14:52:25 Xach: so exactly how would a rebranding of '+' as 'add' look? 14:52:37 -!- BrianRice [~water@c-98-246-165-205.hsd1.or.comcast.net] has quit [Quit: BrianRice] 14:52:55 pastorn: If I were writing it, perhaps something like (defun add (&rest args) (reduce #'+ args)) 14:53:20 Xach: and if a n00b like me was to read it? 14:53:33 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 14:54:07 pastorn: I can't predict what might happen. 14:54:16 :) 14:54:25 (setf (symbol-function 'add) #'+) 14:54:25 :p 14:54:34 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Read error: Operation timed out] 14:54:43 df_aldur: 'f' in 'setf' stands for? 14:54:52 field 14:55:52 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 14:56:07 -!- silenius [~silenus@212.99.133.38] has quit [Ping timeout: 248 seconds] 14:57:00 there's no recursive way to do this? 14:57:31 pastorn: Common Lisp does not guarantee tail recursion elimination, so you might want to think twice about that. 14:59:10 loke: ehm... i don't know what that means... should i worry about stack overflow? 14:59:16 -!- ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has quit [Quit: Quit] 14:59:20 pastorn: yes 15:00:02 loke: fine... how about calling a second function which is tail recursive with two arguments; an accumulator and the rest of the list? 15:00:19 pastorn: same 15:00:40 pastorn: why would you want to? 15:00:46 pastorn: Most common lisp implementations do implement tair recursion elimination, but many only do it for compiled code. 15:00:50 so how do i write a sum function which takes constant space? 15:00:57 pastorn: use LOOP 15:01:17 loke: what is it and where can i learn about it? 15:01:21 pastorn: something like (loop for element in args sum element) 15:01:34 pastorn: I gave you one approximate example just now. 15:01:37 http://www.lispworks.com/documentation/HyperSpec/Body/m_loop.htm 15:01:51 Or better: http://www.gigamonkeys.com/book/loop-for-black-belts.html 15:02:16 loke: yeah, the first link seems a bit too hardcore for me :) 15:02:39 Yeah. Start with the second one. The first one is basically a refernce manual. Use it once you know th ebasics. 15:03:11 this seems way more complicated than haskell :/ 15:04:06 pastorn: It is, and it's not. There is more to Common Lisp than Haskell, but that's just because CL is a language that is designed to build real applications, rather than an academic exercise. 15:05:05 pastorn: you'll do well learning LOOP. It's incredibly powerful, and will save you a lot of pain. 15:05:07 loke:haha 15:05:28 *pastorn* does some mental masturbation 15:07:00 -!- chp [~chp@2001:da8:a000:155:5eff:35ff:fe0c:c3ef] has left #lisp 15:09:02 which function gives me the first elemnt of a list? "head"? "snoc"? 15:09:18 Khisanth [~Khisanth@pool-96-250-25-39.nycmny.east.verizon.net] has joined #lisp 15:09:21 pastorn: CAR. You really didn't read the tutorials, did you? 15:09:23 pastorn: CAR or FIRST. 15:09:24 pastorn: read a book 15:09:36 i want to write the shitty version of this function before doing the good one 15:09:51 someon raise minion please? 15:09:56 http://gigamonkeys.com/book/ is a good book to start with. 15:09:59 pastorn: Why don't you check out the book I linked to. It's very good and will explain everything in a ver good way: 15:10:00 http://www.gigamonkeys.com/book/ 15:10:12 Xach: stop thinking like me! :-) 15:10:12 pastorn: http://www.gigamonkeys.com/book/ 15:10:27 heh, JOLT :) 15:10:27 loke: everyone here thinks of that book, I guess :D 15:10:32 didn't they go belly up? 15:10:41 pastorn: what, gigamonkeys? nope 15:10:50 p_l|backup: no, JOLT cola 15:10:59 dunno, it's some backwater USA thing, right? 15:11:14 spend a long afternoon at mossen's and read the book. 15:11:22 p_l|backup: it's cola with extra caffeine... or was, at least here in sweden it's not available anymore 15:12:26 heh. I simply order "Quad-Damage Latte" for that (or make equivalent myself) 15:13:01 slyrus_ [~chatzilla@h-74-2-1-101.lsanca54.static.covad.net] has joined #lisp 15:14:07 p_l|backup: I'm so stealing that name 15:15:24 Xach: mossen? 15:15:53 ikki [~ikki@201.144.87.42] has joined #lisp 15:16:30 drdo: feel free :) 15:17:04 mind you, the "latte" part instead of just "giant espresso" is actually effect of ... painful testing :) 15:17:28 Krystof [~csr21@158.223.161.59] has joined #lisp 15:17:49 -!- nefo [~nefo@unaffiliated/nefo] has quit [Quit: Leaving] 15:18:50 tsuru [~charlie@adsl-87-52-181.bna.bellsouth.net] has joined #lisp 15:19:05 (the milk serves as protective agent for the stomach in case of drinking on empty) 15:22:33 -!- mon_key` [~user@74.143.13.202] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 15:25:06 I drink espresso without milk and have no problems on an empty stomach 15:26:39 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 252 seconds] 15:27:02 TDT: thn you have iron stomach :) 15:27:24 well, mine could qualify, but I went few times through the whole day not eating anything and only drinking coffee 15:27:28 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 15:27:36 the milk is to make those episodes less stomach-turning :) 15:27:38 -!- jdz [~jdz@193.206.22.97] has quit [Ping timeout: 246 seconds] 15:30:41 -!- Xach [~xach@pdpc/supporter/professional/xach] has quit [Ping timeout: 276 seconds] 15:32:10 -!- woudshoo` [~user@ipleiden.intellimagic.net] has quit [Ping timeout: 246 seconds] 15:32:34 pdlogan [~patrick@64.134.138.41] has joined #lisp 15:33:13 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp 15:35:38 -!- longfin [~longfin@211.187.37.46] has quit [Remote host closed the connection] 15:35:54 varjag [~eugene@4.169.249.62.customer.cdi.no] has joined #lisp 15:37:55 hmm. what does one do when a foreign function fails mysteriously? it is possible to attach gdb? 15:38:08 danlentz_ [~danlentz@c-68-46-98-23.hsd1.nj.comcast.net] has joined #lisp 15:38:19 -!- drewc [~user@S01060013101b6ddb.vc.shawcable.net] has quit [Remote host closed the connection] 15:38:38 -!- danlentz [~danlentz@c-68-46-98-23.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 15:38:45 ZabaQ: depends on implementation 15:39:50 cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has joined #lisp 15:39:53 -!- Krystof [~csr21@158.223.161.59] has quit [Ping timeout: 246 seconds] 15:40:53 -!- naeg [~naeg@194.208.239.170] has quit [Ping timeout: 260 seconds] 15:41:18 -!- spilman [~spilman@ARennes-552-1-29-226.w92-135.abo.wanadoo.fr] has left #lisp 15:43:58 ZabaQ: there's slime-attach-gdb 15:44:56 am0c [~am0c@124.49.51.197] has joined #lisp 15:45:29 -!- pdlogan [~patrick@64.134.138.41] has left #lisp 15:47:11 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #lisp 15:48:02 juniorroy [~juniorroy@212.36.224.57] has joined #lisp 15:50:11 greaver [~J@h15a2.n2.ips.mtn.co.ug] has joined #lisp 15:50:31 -!- cmm [~cmm@109.65.203.181] has quit [Ping timeout: 248 seconds] 15:51:15 cmm [~cmm@109.65.203.181] has joined #lisp 15:54:57 naeg [~naeg@194.208.239.170] has joined #lisp 15:56:10 -!- ikki [~ikki@201.144.87.42] has quit [Ping timeout: 260 seconds] 15:56:30 -!- dnolen [~davidnole@184.152.69.75] has quit [Remote host closed the connection] 15:57:43 -!- rtoym [~chatzilla@user-0c99ag2.cable.mindspring.com] has quit [Ping timeout: 246 seconds] 15:58:12 rurban [~demo@178-190-146-154.adsl.highway.telekom.at] has joined #lisp 15:59:07 -!- Ragnaroek [~chatzilla@boccacio.fh-trier.de] has quit [Ping timeout: 246 seconds] 15:59:29 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Ping timeout: 240 seconds] 16:01:08 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 16:07:35 -!- c_arenz [~arenz@nat/ibm/x-gzwdaoghkjpeowdn] has quit [Ping timeout: 258 seconds] 16:08:03 brodo_ [~brodo@p5B0249FB.dip.t-dialin.net] has joined #lisp 16:09:07 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 250 seconds] 16:09:17 morphling [~stefan@gssn-5f7562d0.pool.mediaWays.net] has joined #lisp 16:09:49 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 16:10:14 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 16:10:28 pdlogan [~patrick@174-25-37-137.ptld.qwest.net] has joined #lisp 16:10:31 -!- brodo [~brodo@p5B024D86.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 16:10:31 -!- brodo_ is now known as brodo 16:11:24 -!- nha [~prefect@imamac13.epfl.ch] has quit [Read error: Operation timed out] 16:12:20 -!- Athas [~athas@shop3.diku.dk] has quit [Remote host closed the connection] 16:15:47 ikki [~ikki@201.144.87.40] has joined #lisp 16:18:01 Krystof [~csr21@158.223.51.76] has joined #lisp 16:19:13 H4ns [~H4ns@p5DDBB5B9.dip.t-dialin.net] has joined #lisp 16:20:27 rtoym [~chatzilla@user-0c99ag2.cable.mindspring.com] has joined #lisp 16:21:07 daniel_ [~daniel@p5B326064.dip.t-dialin.net] has joined #lisp 16:22:03 -!- daniel___ [~daniel@p5082B025.dip.t-dialin.net] has quit [Read error: Operation timed out] 16:22:25 -!- pdo [~pdo@217.33.254.141] has quit [Remote host closed the connection] 16:25:17 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 276 seconds] 16:25:32 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 16:26:46 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Ping timeout: 246 seconds] 16:27:53 -!- jtza8 [~jtza8@41.56.46.113] has quit [Ping timeout: 276 seconds] 16:29:49 -!- tcr [~tcr@217-162-207-164.dynamic.hispeed.ch] has quit [Quit: Leaving.] 16:33:45 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 16:33:54 -!- lanthan [~ze@p50992b91.dip0.t-ipconnect.de] has quit [Quit: Ex-Chat] 16:35:53 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 16:36:58 -!- udzinari [~user@nat/ibm/x-mwbwkcvogbxukuie] has quit [Remote host closed the connection] 16:39:41 cheezus1 [~Adium@76.10.136.155] has joined #lisp 16:40:14 Pirx [~Pirx@195.225.69.9] has joined #lisp 16:40:21 -!- ikki [~ikki@201.144.87.40] has quit [Ping timeout: 252 seconds] 16:41:17 -!- cheezus [~Adium@76-10-136-155.dsl.teksavvy.com] has quit [Ping timeout: 240 seconds] 16:41:23 eugu [~Miranda@213.141.157.147] has joined #lisp 16:42:34 -!- rurban [~demo@178-190-146-154.adsl.highway.telekom.at] has quit [Quit: Verlassend] 16:43:20 the-J-thing [~john@224.13.202.84.customer.cdi.no] has joined #lisp 16:43:48 hi 16:45:08 -!- ZabaQ [~Zaba@135.114-84-212.staticip.namesco.net] has left #lisp 16:46:48 -!- brodo [~brodo@p5B0249FB.dip.t-dialin.net] has quit [Quit: brodo] 16:47:21 brodo [~brodo@p5B0249FB.dip.t-dialin.net] has joined #lisp 16:47:35 -!- Joreji [~thomas@85-077.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 248 seconds] 16:51:04 mon_key [~user@unaffiliated/monkey/x-267253] has joined #lisp 16:51:20 the-J-thing: hi 16:51:40 samIamIsam [~samIamIsa@wn14jp.aic.nrl.navy.mil] has joined #lisp 16:55:09 -!- H4ns [~H4ns@p5DDBB5B9.dip.t-dialin.net] has quit [Quit: H4ns] 16:57:28 ehu [~ehuels@87.212.64.118] has joined #lisp 17:00:52 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 258 seconds] 17:02:54 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 17:04:18 -!- gor[e] [~svr@gw1.masterhost.ru] has quit [Ping timeout: 260 seconds] 17:04:55 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 17:05:11 -!- joachifm [~joachim@212.7.195.193] has quit [Ping timeout: 248 seconds] 17:07:28 HG` [~HG@p579F7414.dip.t-dialin.net] has joined #lisp 17:09:49 -!- hlavaty [~user@91-65-223-81-dynip.superkabel.de] has quit [Ping timeout: 246 seconds] 17:10:17 -!- leo2007 [~leo@th041158.ip.tsinghua.edu.cn] has quit [Ping timeout: 240 seconds] 17:15:06 -!- kpreid [~kpreid@128.153.214.177] has quit [Quit: Offline] 17:16:11 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 252 seconds] 17:16:42 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 17:16:57 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 17:19:06 -!- Wraithan [~wraithan@206.125.170.2] has left #lisp 17:19:40 -!- myu2 [~myu2@v051158.dynamic.ppp.asahi-net.or.jp] has quit [Remote host closed the connection] 17:20:37 -!- Krystof [~csr21@158.223.51.76] has quit [Ping timeout: 240 seconds] 17:21:59 BrandLeeJones [~BrandLeeJ@84.114.246.246] has joined #lisp 17:23:47 ikki [~ikki@200.95.162.228] has joined #lisp 17:23:53 -!- greaver [~J@h15a2.n2.ips.mtn.co.ug] has quit [Read error: Connection reset by peer] 17:27:19 -!- prip [~foo@host188-121-dynamic.42-79-r.retail.telecomitalia.it] has quit [Ping timeout: 258 seconds] 17:29:10 prip [~foo@host188-121-dynamic.42-79-r.retail.telecomitalia.it] has joined #lisp 17:31:20 udzinari [~user@ip-89-102-12-6.net.upcbroadband.cz] has joined #lisp 17:31:34 wzergw [~hynek@ip-62-245-66-12.net.upcbroadband.cz] has joined #lisp 17:34:23 -!- BrandLeeJones [~BrandLeeJ@84.114.246.246] has left #lisp 17:34:34 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Quit: leaving] 17:34:53 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #lisp 17:34:53 realitygrill [~realitygr@76.226.210.64] has joined #lisp 17:39:26 I compile a Lisp source file containing: 17:39:35 (defmacro foo () "doc" 123) (assert (documentation 'foo 'function)) 17:40:04 then load it .... With CLISP the assertion signals a condition. 17:40:13 Am I using undefined behavior? 17:40:41 reb``: Is FOO a function? 17:41:00 Oh, damn. 17:41:06 No, looks like that is defined. 17:41:19 reb``: Looks good to me. 17:42:01 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Ping timeout: 246 seconds] 17:43:19 realitygrill_ [~realitygr@76.226.210.64] has joined #lisp 17:43:19 -!- ikki [~ikki@200.95.162.228] has quit [Ping timeout: 252 seconds] 17:43:33 reb``: Oh, but the assertion might still trigger if clisp doesn't store the doc. 17:43:52 sellout: The issue may be that the macro must be available in the compile time environment ... but CLISP doesn't store the documentation until some later time. 17:44:13 CLISP does store the documentation eventually. 17:44:20 reb``: Oh, interesting. 17:45:36 reb``: In any case, an implementation never _has_ to return a docstring. 17:45:56 superjudge [~mjl@c83-250-110-188.bredband.comhem.se] has joined #lisp 17:45:56 sure 17:46:55 -!- realitygrill [~realitygr@76.226.210.64] has quit [Ping timeout: 246 seconds] 17:46:56 -!- realitygrill_ is now known as realitygrill 17:48:03 enthymeme [~kraken@cpe-76-171-245-75.socal.res.rr.com] has joined #lisp 17:48:12 The real problem I'm seeing is CLISP's inability to load alexandria, because the code is coping one macro's documentation to another. The doc fetch return NIL because of the issue I asked about, then the SETF fails -- documentation not allowed to be set to NIL. 17:49:24 hmmm, I'm also running a slightly out of date CLISP ... time to upgrade. 17:49:55 reb``: Ah, sounds like a bug in alexandria. Should be (or docstring ""), I guess. 17:50:24 The spec definitely says that it new-value must be a string, and that documentation may return nil. 17:50:58 kpreid [~kpreid@128.153.180.50] has joined #lisp 17:52:06 reb``: i can confirm that clisp 2.49 can load alexandria without error 17:52:26 Thanks ... I'm upgrading now. 17:53:29 -!- dmiles [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has quit [Ping timeout: 240 seconds] 17:55:08 silenius [~silenus@dslb-088-075-064-143.pools.arcor-ip.net] has joined #lisp 17:56:57 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Quit: Valete!] 17:57:36 fgump [~gump@188.74.82.177] has joined #lisp 18:00:55 -!- relcomp [~chatzilla@nat.rz.uni-karlsruhe.de] has left #lisp 18:03:28 H4ns [~H4ns@p579FA73F.dip.t-dialin.net] has joined #lisp 18:03:35 astalla [~astalla@dynamic-adsl-94-36-30-157.clienti.tiscali.it] has joined #lisp 18:04:05 -!- H4ns [~H4ns@p579FA73F.dip.t-dialin.net] has quit [Client Quit] 18:06:10 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 18:07:06 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Remote host closed the connection] 18:07:24 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 18:07:41 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 18:08:56 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 18:10:38 Phooodus [~foo@68.107.217.139] has joined #lisp 18:10:56 tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has joined #lisp 18:12:32 -!- Phoodus [~foo@68.107.217.139] has quit [Ping timeout: 276 seconds] 18:13:11 dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has joined #lisp 18:14:06 ZabaQ [~Zaba@135.114-84-212.staticip.namesco.net] has joined #lisp 18:14:18 never attached gdb to a lisp instance on windows before 18:14:25 this ought to be educational 18:14:48 HG`` [~HG@93.192.81.86] has joined #lisp 18:15:29 -!- srcerer [~chatzilla@dns2.klsairexpress.com] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.16/20110319135224]] 18:16:37 -!- HG` [~HG@p579F7414.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 18:16:59 hmm..first challenge is to actually find the process id! 18:17:49 waaaaargh [~waaaaargh@agsb-5d870fe5.pool.mediaWays.net] has joined #lisp 18:20:17 aha! Powershell has a ps! 18:21:44 agumonkey [~user@64.158.70-86.rev.gaoland.net] has joined #lisp 18:21:52 hmm, no symbols! 18:24:37 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 18:28:50 ZabaQ: forget it. Add print expressions! ;-) 18:31:43 damn, it's no use. 18:31:51 ccl keeps segfaulting. 18:32:53 ZabaQ: strace could help. 18:33:03 Or something similar on Microsoft systems. 18:33:07 pbj: this is 'doze 18:33:18 if ithe lisp isn't dead, (ccl::getpid) will tell you. 18:33:36 pjb: doubt if there's anything useful 18:33:49 rme: thanks, that's handy 18:33:57 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Remote host closed the connection] 18:34:39 Ragnaroek [~chatzilla@p5B0C6610.dip.t-dialin.net] has joined #lisp 18:35:17 I think prints are the best option. 18:36:21 GDB might not be the best choice... 18:36:32 Unfortunately, using gdb on windows is even worse than it is on unix, and that's saying something. 18:36:37 yes 18:36:57 get windbg (free download from MS, iirc), and attach it 18:37:22 eventually get a hi-end specialistic debugger like IDA :) 18:38:16 I wonder how IDA behave on CCL or SBCL. 18:38:22 -!- samIamIsam [~samIamIsa@wn14jp.aic.nrl.navy.mil] has quit [] 18:38:26 *behaves even 18:38:31 salva_oz [~kvirc@105.11.117.91.dynamic.mundo-r.com] has joined #lisp 18:38:39 windbg doesn't understand gcc's debugging symbols, though, so that makes it hard to use windbg to debug ccl's lisp kernel code (which is compiled with gcc). 18:39:25 Salamander_ [~Salamande@ppp118-210-187-13.lns20.adl6.internode.on.net] has joined #lisp 18:39:26 ... uhh 18:39:39 usual windows ecosystem mess 18:40:29 -!- Amadiro [~Amadiro@1x-193-157-205-196.uio.no] has quit [Quit: Leaving] 18:40:48 -!- Salamander [~Salamande@ppp121-45-146-77.lns21.adl6.internode.on.net] has quit [Ping timeout: 264 seconds] 18:41:15 ZabaQ: I'm not sure if I wouldn't rather say "GCC in strange land", but I don't know how well other compilers (not only C) work with windbg 18:42:12 It would probably be better to compile ccl's lisp kernel with the Microsoft tools, but there's a lot of assembly I wouldn't want to rewrite (although I might be able to use yasm), and there are probably a few gcc-isms in there (e.g., __builtin_return_address) too. One of these days... 18:42:35 Salamander__ [~Salamande@ppp118-210-235-183.lns20.adl6.internode.on.net] has joined #lisp 18:43:20 Raykon [~user@bl8-14-111.dsl.telepac.pt] has joined #lisp 18:43:58 -!- Salamander_ [~Salamande@ppp118-210-187-13.lns20.adl6.internode.on.net] has quit [Ping timeout: 246 seconds] 18:44:13 hi worlds, i need some help with a very basic concept of lisp i think whats the diference between symbols :a and 'a, and how can i get :a symbol from string "a" , in need that (equal (cons :a 1) (cons (some-func a) 1)) be true ,thanks 18:44:51 -!- Pirx [~Pirx@195.225.69.9] has quit [] 18:46:13 salva_oz: :a is a symbol interned into the keyword package, while 'a is a symbol interned in the package bound to the special variable cl:*package* 18:46:14 drdo [~user@91.205.108.93.rev.vodafone.pt] has joined #lisp 18:46:33 'a reads as a list of two symbols, QUOTE and A. 18:47:15 salva_oz: INTERN is one way to get a symbol, given a string. 18:47:39 FIND-SYMBOL is another, provided you know the symbol already exists in the package of interest. 18:48:25 gravicappa [~gravicapp@ppp91-77-161-130.pppoe.mtu-net.ru] has joined #lisp 18:48:44 dlowe: Xach: thanks a lot, i was trying with intern but without ": " 18:49:23 salva_oz: ":" is not part of the symbol's name. 18:49:33 salva_oz: (eq :a (intern "A" (find-package :keyword))) 18:51:06 great thanks 18:51:59 -!- kpreid [~kpreid@128.153.180.50] has quit [Quit: Offline] 18:55:05 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Ping timeout: 250 seconds] 18:55:09 srcerer [~chatzilla@63.196.107.132] has joined #lisp 18:56:08 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 18:57:44 kpreid [~kpreid@128.153.180.50] has joined #lisp 19:00:17 -!- gemelen [~shelta@shpd-95-53-177-16.vologda.ru] has quit [Ping timeout: 240 seconds] 19:00:36 jikanter [~quassel@66.146.192.40] has joined #lisp 19:02:50 gemelen [~shelta@shpd-95-53-177-16.vologda.ru] has joined #lisp 19:05:24 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 19:06:38 -!- enthymeme [~kraken@cpe-76-171-245-75.socal.res.rr.com] has quit [Quit: rcirc on GNU Emacs 23.1.1] 19:08:56 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 19:09:00 -!- slyrus_ [~chatzilla@h-74-2-1-101.lsanca54.static.covad.net] has quit [Ping timeout: 264 seconds] 19:09:09 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Remote host closed the connection] 19:09:09 antero [~antero@host-88-215-181-149.stv.ru] has joined #lisp 19:10:00 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 19:10:26 -!- fgump [~gump@188.74.82.177] has quit [Ping timeout: 258 seconds] 19:10:28 -!- ace4016 [~ace4016@adsl-32-125-145.mia.bellsouth.net] has quit [Quit: brb] 19:10:52 slyrus_ [~chatzilla@h-74-2-1-101.lsanca54.static.covad.net] has joined #lisp 19:11:18 kleppari [~spa@bitbucket.is] has joined #lisp 19:11:44 -!- superflit [~superflit@140.226.49.148] has quit [Quit: superflit] 19:12:10 -!- elliottcable is now known as ec|detached 19:13:39 ace4016 [ace4016@adsl-32-125-145.mia.bellsouth.net] has joined #lisp 19:14:29 -!- antero [~antero@host-88-215-181-149.stv.ru] has left #lisp 19:15:37 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 19:16:35 -!- agumonkey [~user@64.158.70-86.rev.gaoland.net] has quit [Remote host closed the connection] 19:16:57 -!- silenius [~silenus@dslb-088-075-064-143.pools.arcor-ip.net] has quit [Read error: Connection reset by peer] 19:17:07 aintme [~user@201.37.221.87.dynamic.jazztel.es] has joined #lisp 19:19:22 -!- ace4016 [ace4016@adsl-32-125-145.mia.bellsouth.net] has quit [Quit: brb] 19:20:02 ace4016 [ace4016@adsl-32-125-145.mia.bellsouth.net] has joined #lisp 19:20:06 Hello Lispers! 19:20:41 sabalaba [~sabalaba@67-194-112-195.wireless.umnet.umich.edu] has joined #lisp 19:20:53 -!- schaueho [d5a445c1@gateway/web/freenode/ip.213.164.69.193] has quit [Ping timeout: 252 seconds] 19:21:05 Is it possible to (re)connect to a lisp process after ones Emacs crashes. And if so what do I need to tell Slime to make this happen? 19:21:23 -!- slyrus_ [~chatzilla@h-74-2-1-101.lsanca54.static.covad.net] has quit [Ping timeout: 260 seconds] 19:21:35 slime-connect 19:21:41 Yes, so long as the Lisp process is still running. 19:21:52 slime-connect what? 19:22:08 xvilka [~xvilka@ip-79-111-220-160.bb.netbynet.ru] has joined #lisp 19:22:10 mon_key: It will prompt for host name and port number. 19:22:39 ... but you need to start up Swank in a mode that keeps running after the Slime connection dies. 19:22:47 hi! are there any ready web-frameworks? something like dragonfly on newlisp? 19:22:56 I'm not sure if M-x slime in Emacs does that. 19:22:59 reb``: How do i find the port? 19:23:25 mon_key: swank makes a file with the port 19:23:41 ikki [~ikki@201.122.132.181] has joined #lisp 19:24:19 Also use usually know the port because you started Swank with (swank:create-server :port $port :dont-close t). 19:24:29 s/use/you 19:25:00 mon_key: how did you get emacs and your slime together in the first place? 19:25:11 mon_key: do that thing again. 19:26:45 Fare [~Fare@ita4fw1.itasoftware.com] has joined #lisp 19:26:51 bad_alloc [~bad_alloc@HSI-KBW-085-216-109-135.hsi.kabelbw.de] has joined #lisp 19:27:17 fgump [~gump@188.74.82.177] has joined #lisp 19:30:02 -!- basho__ [~basho__@dslb-188-108-008-172.pools.arcor-ip.net] has quit [Remote host closed the connection] 19:31:34 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 19:32:54 -!- jikanter [~quassel@66.146.192.40] has quit [Remote host closed the connection] 19:32:57 fsrt [~m@talula.plus.com] has joined #lisp 19:33:03 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 19:34:07 So, looks like `slime-swank-port-file' is what i'm looking for and that is absent so presumably i can't connect to the (pre)existing process. 19:34:07 -!- fsrt [~m@talula.plus.com] has left #lisp 19:35:38 If the file existed then (slime-read-swank-port) would've given me that port. 19:36:14 of course, I recompile it, and it all magically works(!) 19:36:24 mon_key: start swank-server manually with :dont-close t 19:36:31 *ZabaQ* will have to switch to Linux again for the sake of his sanity 19:36:47 p_l|backup: Yes, thanks just found that in slime/start-swank.lisp 19:37:30 So, is it safe to assume that when my last Emacs crashed the Swank server closed its connection automatically? 19:37:31 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 19:38:49 tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has joined #lisp 19:41:29 -!- seangrove [~user@c-98-234-242-172.hsd1.ca.comcast.net] has quit [Ping timeout: 248 seconds] 19:43:07 -!- tauntaun [~Crumpet@ool-44c7e46c.dyn.optonline.net] has quit [Ping timeout: 246 seconds] 19:43:16 kenanb [~kenanb@94.54.231.88] has joined #lisp 19:43:29 -!- superjudge [~mjl@c83-250-110-188.bredband.comhem.se] has quit [Ping timeout: 246 seconds] 19:43:57 e.g. b/c of ":dont-close nil"? 19:44:04 -!- rdd [~rdd@c83-250-51-60.bredband.comhem.se] has quit [Remote host closed the connection] 19:44:07 yes 19:44:12 that's the default 19:44:47 loomer [~loomer@unaffiliated/loomer] has joined #lisp 19:45:46 -!- loomer [~loomer@unaffiliated/loomer] has left #lisp 19:47:31 mon_key: you can set swank:*dont-close* inside your ~/.swank.lisp 19:47:42 silenius [~silenus@dslb-088-075-064-143.pools.arcor-ip.net] has joined #lisp 19:48:19 tcr: p_l|backup: Thanks! 19:49:35 tcr: So, if i do this i will then need to manually kill of the process or does `slime-quit-lisp' take care of this? 19:50:06 -!- kpreid [~kpreid@128.153.180.50] has quit [Quit: Offline] 19:50:28 I would expect that to take care of it. i.e. ,quit should quit the inferior lisp, while ,disconnect should just shutdown the socket 19:51:03 -!- silenius [~silenus@dslb-088-075-064-143.pools.arcor-ip.net] has quit [Remote host closed the connection] 19:51:26 such that disconnect then slime-connect should be able to find the process? 19:58:14 kpreid [~kpreid@128.153.214.177] has joined #lisp 19:58:33 -!- xvilka [~xvilka@ip-79-111-220-160.bb.netbynet.ru] has left #lisp 20:00:58 -!- kenanb [~kenanb@94.54.231.88] has left #lisp 20:01:03 mon_key: yeah you can look up the port number in the *inferior-lisp-buffer* or use netstat or lsof 20:01:26 OK. Thanks again. 20:01:51 :D 20:02:00 *Landr* gets it! 20:02:23 well, I already got it last night 20:02:45 thanks again to everyone who used hands and feet to explain it to me 20:02:49 Landr: variables and symbols and names? 20:02:55 yup 20:02:59 -!- bad_alloc [~bad_alloc@HSI-KBW-085-216-109-135.hsi.kabelbw.de] has quit [Quit: Verlassend] 20:03:02 oh my 20:03:33 Landr: FWIW i copy/pasted that bulk of that discussion to a file for future reference the next time i get confused :) 20:03:44 lol 20:04:06 actually this is what finally made it click with me: http://www.psg.com/~dlamkins/sl/chapter03-05.html 20:04:42 things have names, and symbols can be used as names 20:05:01 Spion [~spion@unaffiliated/spion] has joined #lisp 20:05:30 -!- realitygrill [~realitygr@76.226.210.64] has quit [Quit: realitygrill] 20:07:20 Landr:, As an aside it was an accidental yanking of the relevant portions of that discussion into the minibuffer which killed an Emacs which had been running for about ten days :( On the plus side I get to learn more about the guts of SWANK:CREATE-SERVER. 20:08:09 alas poor emacs, it must've killed itself in frustration over my skull's thickness :> 20:10:08 -!- Ragnaroek [~chatzilla@p5B0C6610.dip.t-dialin.net] has quit [Remote host closed the connection] 20:11:32 Landr: I wouldn't self flagellate too much. IIRC Xach recently blogged about something similar w/r/t non-lispers not immediately getting the whole symbol/symbol-name/string thing 20:12:51 e.g. http://xach.livejournal.com/287562.html 20:12:55 -!- fgump [~gump@188.74.82.177] has quit [Ping timeout: 258 seconds] 20:14:14 fgump [~gump@188.74.82.177] has joined #lisp 20:14:24 -!- aintme [~user@201.37.221.87.dynamic.jazztel.es] has left #lisp 20:18:03 adobriyan [~ad@vulture2-nat-43.telecom.by] has joined #lisp 20:18:48 ... is it weird that I never found symbols to be an issue, or I am possibly missing something that's going to kick me in the ass sooner or later? 20:19:45 if concept of interning makes sense to you then there's not much more about it (except for the the upcasing of the reader) 20:21:41 tcr: packages 20:22:23 p_l|backup: I found the discussion potentially relevant w/r/t closures. 20:23:12 also the semantics of symbols seems to be more an issue than the mechanics for most 20:25:22 well, to me, I didn't really understand what symbols were (not sure if I do now though) ... I thought it was all just variables like in other languages 20:26:05 I guess that I don't really separate semantics from mechanics there... 20:26:53 Landr: heh. You thought from the pov of the program, instead of compiler's 20:27:00 -!- ZabaQ [~Zaba@135.114-84-212.staticip.namesco.net] has quit [Quit: Leaving.] 20:27:03 indeed 20:27:20 I think that given the ascendancy of Quicklisp, next they should put Xach in charge of emacs as well. 20:28:08 amen 20:28:11 clean up this elpa debacle 20:28:55 Landr: So for example, I copied last nights discussion to the same file I keep my notes about on clousres. Which BTW nclude those puzzling out Lamkins chapter 11: http://www.psg.com/~dlamkins/sl/chapter11.html#closures 20:28:57 *sellout* wonders if he can ban RMS like he did BvE. 20:29:08 what is BvE? 20:29:19 gigamonkey [~user@adsl-99-17-205-117.dsl.pltn13.sbcglobal.net] has joined #lisp 20:31:39 benny` [~benny@i577A1DA7.versanet.de] has joined #lisp 20:32:37 Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has joined #lisp 20:32:41 -!- benny [~benny@i577A70AD.versanet.de] has quit [Ping timeout: 248 seconds] 20:33:39 -!- HG`` [~HG@93.192.81.86] has quit [Quit: Leaving.] 20:38:35 Athas [~athas@130.225.165.35] has joined #lisp 20:39:45 -!- tty234 [telex@gateway/shell/anapnea.net/x-fhplixtenhfkjpiq] has quit [Ping timeout: 258 seconds] 20:40:44 -!- gravicappa [~gravicapp@ppp91-77-161-130.pppoe.mtu-net.ru] has quit [Ping timeout: 276 seconds] 20:42:16 -!- sabalaba [~sabalaba@67-194-112-195.wireless.umnet.umich.edu] has quit [Ping timeout: 246 seconds] 20:42:30 -!- benny` is now known as benny 20:44:39 macrocat [~marmalade@142.177.208.103] has joined #lisp 20:48:30 -!- Athas [~athas@130.225.165.35] has quit [Read error: Connection reset by peer] 20:50:01 -!- sellout [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Ping timeout: 276 seconds] 20:50:23 sellout [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 20:52:04 -!- udzinari [~user@ip-89-102-12-6.net.upcbroadband.cz] has quit [Ping timeout: 246 seconds] 20:52:38 tty234 [telex@gateway/shell/anapnea.net/x-atddcitaeahscnfu] has joined #lisp 20:52:42 timor [~timor@port-92-195-61-241.dynamic.qsc.de] has joined #lisp 20:53:38 eudoxia [~eudoxia@r190-133-129-80.dialup.adsl.anteldata.net.uy] has joined #lisp 20:54:03 -!- eudoxia [~eudoxia@r190-133-129-80.dialup.adsl.anteldata.net.uy] has quit [Client Quit] 20:57:03 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.4] 20:59:45 functional = procedural + side-effects 20:59:48 roughly correct? 21:00:15 uh, no. 21:00:23 the opposite of correct 21:00:34 hmm 21:00:51 sabalaba [~sabalaba@67-194-103-188.wireless.umnet.umich.edu] has joined #lisp 21:00:53 time to hit wikipedia :) 21:01:06 ah, other way around 21:01:16 dnolen [~davidnole@184.152.69.75] has joined #lisp 21:01:19 xan_ [~xan@70.36.246.130] has joined #lisp 21:03:29 -!- peddie [~peddie@XVM-107.MIT.EDU] has quit [Ping timeout: 276 seconds] 21:04:41 stassats [~stassats@wikipedia/stassats] has joined #lisp 21:04:41 -!- timor [~timor@port-92-195-61-241.dynamic.qsc.de] has quit [Remote host closed the connection] 21:05:07 -!- adobriyan [~ad@vulture2-nat-43.telecom.by] has quit [Quit: Leaving] 21:05:20 peddie [~peddie@XVM-107.MIT.EDU] has joined #lisp 21:05:22 realitygrill [~realitygr@67-194-87-113.wireless.umnet.umich.edu] has joined #lisp 21:07:00 timor [~timor@port-92-195-61-241.dynamic.qsc.de] has joined #lisp 21:07:33 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 260 seconds] 21:07:54 functional programming can mean a lot of different things, depending on who you ask 21:08:51 Really? 21:09:04 really 21:09:23 Pray elaborate. 21:10:29 Some people say it's about having first-class functions, some people say it's about not having side effects, etc... 21:11:44 Krystof [~csr21@csrhodes.plus.com] has joined #lisp 21:11:51 Who would disagree with either of those, at least in content if not in form? (Loonies excluded from consideration.) 21:11:57 -!- timor [~timor@port-92-195-61-241.dynamic.qsc.de] has quit [Remote host closed the connection] 21:12:41 Riastradh: But do you call a language functional if it has both? any? one in particular? 21:12:41 -!- La0fer [~Laofers1@64.120.233.114] has quit [Ping timeout: 252 seconds] 21:13:57 -!- sabalaba [~sabalaba@67-194-103-188.wireless.umnet.umich.edu] has quit [Read error: Operation timed out] 21:15:01 I wouldn't call a language functional. 21:15:05 I think anyone sensible would agree that for a language to support functional programming, it is necessary and sufficient that it have first-class functions and support expressing programs by combining functions of their written inputs rather than of the implicit input of time. 21:15:10 -!- Davidbrcz [david@212-198-126-167.rev.numericable.fr] has quit [Ping timeout: 246 seconds] 21:16:22 If anyone has experience with s-xml-rpc, when doing something like (encode-xml-rpc-call "foo" t) or (encode-xml-rpc-call "foo" nil), it encodes both t and nil as strings, not as booleans. According to the docs, it should encode these types automatically. Has anyoen run into this before? 21:16:37 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.] 21:16:37 Riastradh: C supports what you mentioned 21:16:43 And I think anyone sensible would agree that for a programming language to be (purely) functional, it is necessary and sufficient that it have first-class functions and exclude the implicit input of time. 21:17:17 Riastradh: A function being pure is not only about values depending on time 21:17:21 timor [~timor@port-92-195-61-241.dynamic.qsc.de] has joined #lisp 21:17:34 You also have IO 21:17:36 How many time did we say to Landr that things have names and symbols are names? <22:01:12> actually this is what finally made it click with me: http://www.psg.com/~dlamkins/sl/chapter03-05.html <22:01:48> things have names, and symbols can be used as names 21:17:37 21:17:48 how about lexical scoping and local functions? 21:17:59 But I guess you need to be a Professor for the message to be understood... 21:18:19 Pray explain, drdo, how to create a data structure in C without relying on the state of memory changing as a function of time. 21:18:19 -!- Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has quit [Ping timeout: 246 seconds] 21:18:26 pjb: some people work better with books. 21:19:14 Riastradh: Please explain how to do that in any language 21:19:30 pjb: I'm sorry :< 21:19:42 -!- Onyxyte [~Onyxyte@r75-110-112-109.rmntcmtc02.rcmtnc.ab.dh.suddenlink.net] has quit [Remote host closed the connection] 21:20:52 drdo, there is no notion, in the Haskell evaluation model, of taking a location in memory, applying some function to it at times t0 and t1, and observing different results if t0 =/= t1. 21:21:36 In other words, time is not an intrinsic part of the Haskell evaluation model. But it is an intrinsic part of the C evaluation model, and it is not practical to write programs in C without relying on this fact. 21:22:06 Riastradh: Your definition of functional programming supporting language is too large: C qualifies. 21:22:25 One essential element in practice is a garbage collector. 21:22:40 pjb: what? I have enough RAM and swap. 21:23:08 pjb, C qualifies how? Pray explain how to create a data structure in C without relying on the state of memory changing as a function of time. 21:23:30 You can avoid assignment. 21:23:52 pnq [~nick@AC81605B.ipt.aol.com] has joined #lisp 21:24:13 -!- Guest38511 [~seejay@plexyplanet.org] has quit [Ping timeout: 258 seconds] 21:24:24 You can avoid assignment in trivial programs, yes. You can't avoid it in non-trivial programs. Pray explain how to create a data structure in C without relying on the state of memory changing as a function of time. 21:24:36 (You can also use a garbage collector in C, so it is still not hostile to FP). 21:24:45 Riastradh: The state of memory changes in any language 21:25:00 Riastradh: well you hide the needed mutations in monads. 21:25:02 Creating anything means the state of memory changes 21:25:06 It's not a part of the semantics of Haskell's evaluation model, drdo. It's part of a pragmatic implementation, certainly. 21:25:26 Riastradh: My guess is that you mean mutation 21:25:35 Landr: no problem, I guess it's the magic of professors. 21:25:50 ok, going back to my question a bit more. I dove into the source code. There's a portion that says: (cond (or (stringp arg) (symbolp arg)) ... do string stuff), and later it actually checks if it's thea rg is null or the arg is t to do a boolean. So...my question is, (symbolp t) returns true...is this a bug in their code, or is bool different than what I thought it was? 21:25:58 In Haskell, given an environment in which f and x are bound to variables, you cannot distinguish `f x' evaluated at time t0 from `f x' evaluated at time t1, in said environment. 21:26:09 TDT: or is not bound usually. 21:26:35 Riastradh: That depends on what you distinguish on 21:26:42 pjb: can you elaborate on what you mean 21:26:43 sabalaba [~sabalaba@67-194-103-188.wireless.umnet.umich.edu] has joined #lisp 21:26:55 cond takes a list of clause. 21:27:14 The evaluation model does not have a notion of time, drdo. 21:27:17 a clause is a list whose first element is an expression that is evaluted to determine if the rest of the clause should be evaluated. 21:27:42 pjb: Sorry, yes...I really pruend that down. Basically the first condition is checking if it's a symbol or a string, that was the point I was trying to make. Since symbolp of t and nil both go out to t, it shouldn't evaluate any others 21:27:44 Riastradh: It sure does 21:27:45 TDT: the first element of the first clause of your COND is the variable OR. 21:27:47 pjb: But my feeling is it should 21:27:51 seejay [~seejay@plexyplanet.org] has joined #lisp 21:28:07 If you prefer to say `mutation' rather than `observable function of time', that's OK; the meaning isn't substantially different. 21:28:12 You can even force evaluation 21:28:17 -!- seejay is now known as Guest65988 21:28:31 as in, force strict evaluation 21:29:03 TDT: if you add the required parentheses, yes, T and NIL will enter this first clause. 21:29:31 seq is a pragmatic operator, not a semantic operator. With infinite memory, and assuming that the outermost evaluation of x terminates, `seq x y' is indistinguishable from `y'. 21:29:37 -!- xan_ [~xan@70.36.246.130] has quit [Ping timeout: 240 seconds] 21:29:45 Riastradh: But even disregarding this, if C doesn't qualify as supporting functional programming, then neither does Scheme or CL 21:29:51 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 21:30:24 Scheme and Common Lisp both support functional programming. Plenty of useful programs can be written in both languages without relying on any observable functions of time. 21:30:40 Same is true of C. 21:30:41 Riastradh: What makes C not support it? 21:30:48 pjb: Yeah...this code is in s-xml-rpc, I'm not concerned about the cond and how that works....my problem is the very first cond it does is an or if the argument is a string or a symbol. Both t and nil evaluate to true in this case. Since it's the first check in the cond, and it evaluates to true, then it goes in..obviously. So the issue is that I pass in t, it's evaluated to "t" thus is wrapped in , when it should fall down 21:30:48 further and wrap in the 21:30:48 Show me one, pjb! 21:30:58 fact. 21:31:06 Create a data structure without mutation. 21:31:14 pjb: My reason of posting this is to ask...symbolp of t, and nil are equal to true. Either their code is wrong, or my idea of what constitutes a boolean is wrong 21:31:18 You can not use any data structure. 21:31:30 Or you can call cons, and ignore what happens behind the curtain, as you do in lisp. 21:31:45 eh, gotta hit the bus, I'llr ead any responses when I get home...ic an patch the code, I reallydon't want to though 21:32:06 Factorial is a trivial program, pjb. You've pulled it out of your arse to make a rhetorical point, not a valid point. 21:32:09 TDT: it may not be wrong, it it is silly to test something that cannot happen. 21:32:21 Riastradh: I can program in C without ever using mutation 21:32:45 Riastradh: if you want. More seriously, take cons, and the garbage collector. You can implement it in C (say it's inside a monad) and forget about mutation. 21:33:13 return (struct foo){ 1, 2, 3 }; // is this a mutation? 21:33:19 -!- dullard [~user@188-223-137-38.zone14.bethere.co.uk] has quit [Remote host closed the connection] 21:33:20 Riastradh: Initialization is not the same as mutation 21:33:28 In Von Neumann computers, mutation always occurs, if only behind the scene. 21:33:37 int a = 3; 21:33:40 this is not mutation 21:33:47 Riastradh: and then, there's the new ^ lambda stuff in Objective-C, I hear C's adopting it. 21:34:12 You would have no problem implementing conses in C without mutation 21:34:13 Sure, drdo. That's not mutation. That's also not an interesting data structure. 21:34:40 -!- milanj [~milanj_@109-92-102-125.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 21:34:52 It's interesting enough, you can implement all kind of interesting functional data structures with just cons. 21:34:53 Pretty sure everyone and their mother has implemented a linked list in C without mutation 21:35:11 xale, that makes no more data structures than there is code. 21:35:20 And you can really implement any functional data structure in C 21:35:23 -!- ace4016 [ace4016@adsl-32-125-145.mia.bellsouth.net] has quit [Disconnected by services] 21:35:24 Atomsk [ace4016@adsl-32-125-145.mia.bellsouth.net] has joined #lisp 21:35:30 where functional means no mutation 21:35:52 Riastradh: Do you have an example to disprove my claim? 21:36:19 An example of what? 21:36:34 Of a data structure that is possible to implement without mutation in lisp but not in C 21:36:41 -!- Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has quit [Read error: Operation timed out] 21:37:25 Riastradh: does it create a data structure? is there mutation? 21:38:02 xan_ [~xan@70.36.246.130] has joined #lisp 21:38:07 is this one of those turing tar pit discussions? 21:38:19 Almost not. 21:38:21 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 21:38:23 adeht: close but not really 21:38:53 So there's some disagreement, but not much :-) 21:38:58 Euthydemus [~euthydemu@vaxjo5.79.cust.blixtvik.net] has joined #lisp 21:39:04 It creates one trivial data structure, xale. It does not create a data structure, say, whose size is not proportional say to the size of the code you have written. 21:39:13 woo hoo, just got 4 lisp books in the mail for just the cost of postage. I had never heard of "Understanding CLOS" before. 21:39:33 -!- TheRealLongshot [~longshot@180.184.33.204] has quit [Ping timeout: 258 seconds] 21:40:00 Riastradh: Bring up the example, or you will need to introduce more constraints on the definition of functional language to be able to say that lisp is one but C isn't 21:40:43 And this is really what i was talking about earlier when i said that functional programming means something different depending on who you ask 21:41:10 Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has joined #lisp 21:41:25 seangrove [~user@70-36-236-168.dsl.static.sonic.net] has joined #lisp 21:41:28 I don't really like to categorize languages like that 21:41:30 adeht, drdo made a claim that `functional programming can mean a lot of different things, depending on who you ask'. I asked him to elaborate, and I offered definitions of `functional programming' and `(purely) functional language' in order to find who disagrees with parts of the definitions and to substantiate the claim that the term conveys different meaning to different parties. 21:41:35 It's not very useful 21:42:04 Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has joined #lisp 21:42:11 Riastradh: so you would agree that it creates a data structure and there is no mutation? 21:42:12 plan9 [~stian@arachnotron.sletner.com] has joined #lisp 21:42:22 Riastradh: You listed some properties about a language that it must have so you can call it functional, and i said that C fits 21:42:27 Riastradh: albeit a trivial one. 21:42:30 And now you are saying that it doesn't, and i'm asking why 21:43:06 -!- astalla [~astalla@dynamic-adsl-94-36-30-157.clienti.tiscali.it] has quit [Quit: Quit] 21:43:17 drdo, I cannot take J. Random Useful C Program and apply time-independent reasoning to it. That's why the term `functional programming' is useful: it describes an approach to programming that enables `time-independent' reasoning. 21:43:29 Riastradh: You can't do that in lisp either 21:44:13 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 246 seconds] 21:44:15 Riastradh: Sure, i can talk about the idea of programming in a functional style, i just think that stating functional as being a property of the language itself is not so clear 21:44:18 In general, you're right that one can't do it to Lisps: that's why I never claimed that Lisps are `(purely) functional languages'. However, they do support functional programming, in the sense that there are plenty of useful programs that admit time-independent reasoning. 21:44:40 Krystof [~csr21@csrhodes.plus.com] has joined #lisp 21:45:21 Riastradh: And i said that C supports such functional programming too, and you haven't been able to tell me why it doesn't 21:45:23 In Haskell, the evaluation model guarantees time-independent reasoning. That is why it is useful to call Haskell a (purely) functional language. Of course, one can structure one's programs to make it just as hard to reason about them, by introducing the concept of time into them and then writing everything in terms of that. But that's not part of the evaluation model. 21:46:03 drdo: the value of "supports" in C's case is pretty small 21:46:24 drdo, here is a randomly chosen example of a useful program written in Scheme that implements a non-trivial data structure without relying on any observable entity as a function of time: . 21:46:26 -!- rmarianski [~rmariansk@mail.marianski.com] has quit [Quit: leaving] 21:46:30 cmm: What doesn't it support that lisp does that is relevant to functional programming? 21:46:41 drdo: a GC? 21:46:47 Please show me an example of a useful program written in C that has the same property. 21:47:11 cmm: What does that have to do with it? 21:47:21 allocating and freeing memory isn't mutation 21:47:36 False, drdo. Allocating and freeing memory are mutation. 21:47:51 Riastradh: Then so is make any object in lisp 21:48:06 it's only a mutation if you can't pretend it doesn't happen. 21:48:11 drdo: convenience, which is usually implied when people use the word "to support", unless they are merely keeping a tedious discussion going 21:48:13 At time t0, the expression *x in C has defined behaviour. At time t1 > t0, I call free(x). At time t2, the expression *x has undefined behaviour. Hence the behaviour of the expression *x is a function of time. 21:48:32 ahmm 21:48:51 then so does X in lisp 21:48:59 If you don't mutate ever in C 21:49:03 *x doesn't depend on time 21:49:44 Please show me an example of a useful functional program in C -- a program that doesn't depend on time. 21:49:56 -!- ch077179 [~urs@xdsl-188-155-1-133.adslplus.ch] has quit [Quit: Verlassend] 21:50:19 Riastradh: I can show you anything and you will claim that it is a toy example 21:50:32 -!- ec|detached is now known as elliottcable 21:50:35 And i'm not just about to set out writing a program of considerable size right now 21:50:39 I readily admit that the terms `useful' and `trivial' are hard to quantify. But I want you to stand up seriously and, with a straight face, say `This is a serious, non-trivial functional program in C.'. 21:50:53 I don't want you to write a program. I want you to show me a program. 21:51:21 Riastradh: Such style is not usually employed when writing C, so it's hard to find an existing one 21:51:34 Why is it not usually employed? 21:51:58 Because C is the land of mutation 21:52:18 What does that mean? 21:52:24 That it ill supports functional programming, perchance? 21:52:41 ace4016 [ace4016@adsl-32-125-145.mia.bellsouth.net] has joined #lisp 21:52:46 Riastradh: Now please tell why it ill supports functional programming 21:53:06 What is the fundamental different between lisp and C that makes C a poor language for functional programming? 21:53:10 *difference 21:54:17 -!- gemelen [~shelta@shpd-95-53-177-16.vologda.ru] has quit [Ping timeout: 240 seconds] 21:54:21 Before I answer that, perhaps you could explain what you meant by `C is the land of mutation'. 21:54:40 I meant that it's idiomatic to mutate stuff around in C 21:54:41 -!- Atomsk [ace4016@adsl-32-125-145.mia.bellsouth.net] has quit [Ping timeout: 240 seconds] 21:54:41 danieljames [~danieljam@94-193-7-241.zone7.bethere.co.uk] has joined #lisp 21:54:51 It says more about the people programming in C than the language itself 21:54:57 It's idiomatic to mutate stuff in Scheme and Common Lisp, too. 21:55:04 Riastradh: exactly my point 21:55:20 dmiles [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has joined #lisp 21:55:23 You are the one claiming that there's some difference, not me 21:55:34 So it should be straightforward to come across a useful functional program in C. 21:55:53 -!- am0c [~am0c@124.49.51.197] has quit [Remote host closed the connection] 21:55:59 Riastradh: I can write you a linked list implementation 21:56:20 Perhaps you could sketch how a bounded-balance binary tree would look in `functional C'. 21:56:25 sid3k`` [~user@li298-167.members.linode.com] has joined #lisp 21:56:27 like cmm said, a GC for one.. another is that it doesn't have a convenient syntax for recursive data structures or functions as first-class objects 21:56:30 gemelen [~shelta@shpd-92-101-145-204.vologda.ru] has joined #lisp 21:56:31 -!- mishoo__ [~mishoo@79.112.237.103] has quit [Read error: Operation timed out] 21:56:39 Raykon` [~user@bl8-14-111.dsl.telepac.pt] has joined #lisp 21:56:44 hello- are nested defuns bad? 21:56:45 chr` [~user@148.122.202.244] has joined #lisp 21:56:48 SpitfireWP_ [~Spitfire@wikipedia/spitfire] has joined #lisp 21:56:52 Riastradh: That's trivial, i can just have my "mutation" function make a new list every time 21:56:59 gigamonk` [~user@adsl-99-17-205-117.dsl.pltn13.sbcglobal.net] has joined #lisp 21:57:09 danieljames: it's likely that you want FLET or LABELS 21:57:47 adeht: thanks 21:57:52 OK, a linked list then, not a bounded-balance binary tree. 21:57:53 -!- nu11ptr [~nu11ptr@76.235.222.18] has quit [Ping timeout: 240 seconds] 21:57:58 mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has joined #lisp 21:58:10 Riastradh: A linked list would look exactly like it does in lisp 21:58:10 homie [~levgue@xdsl-78-35-171-219.netcologne.de] has joined #lisp 21:58:12 housel` [~user@mccarthy.opendylan.org] has joined #lisp 21:58:14 Riastradh: I do remember pjb linking to some "functional C" library 21:58:16 What will the code look like? How will you define cons? 21:58:21 -!- dmiles_afk [~dmiles@c-71-56-149-8.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 21:58:22 -!- sid3k` [~user@li298-167.members.linode.com] has quit [Read error: Connection reset by peer] 21:58:22 -!- eugu [~Miranda@213.141.157.147] has quit [Ping timeout: 246 seconds] 21:58:22 -!- chr [~user@148.122.202.244] has quit [Ping timeout: 246 seconds] 21:58:22 -!- housel [~user@mccarthy.opendylan.org] has quit [Ping timeout: 246 seconds] 21:58:23 -!- SpitfireWP [~Spitfire@wikipedia/spitfire] has quit [Ping timeout: 246 seconds] 21:58:23 -!- gigamonkey [~user@adsl-99-17-205-117.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 21:58:38 -!- Raykon [~user@bl8-14-111.dsl.telepac.pt] has quit [Remote host closed the connection] 21:59:23 -!- xan_ [~xan@70.36.246.130] has quit [Ping timeout: 276 seconds] 21:59:30 pair_t *cons (void *car, void *cdr) { pair_t pair = malloc (sizeof (pair_t)); pair->car = car; pair->cdr = cdr; return pair; } 22:00:12 i obviously missed a * there in the declaration of pair 22:01:08 car and cdr are the obvious 22:01:13 and there you have your linked list 22:01:29 it's exactly the same as in lisp 22:01:53 -!- varjag [~eugene@4.169.249.62.customer.cdi.no] has quit [Quit: Ex-Chat] 22:01:55 -!- ehu [~ehuels@87.212.64.118] has quit [Ping timeout: 260 seconds] 22:02:32 TheRealLongshot [~longshot@180.184.33.204] has joined #lisp 22:02:40 Hmm, I thought you said without mutation. But OK -- I'll overlook that mutation. Problem: Anything using cons, car, and cdr as you have defined them, without relying on details of their implementation, will generally use unbounded memory; hence it is not actually practical. 22:02:41 -!- urandom__ [~user@p548A73FD.dip.t-dialin.net] has quit [Read error: Connection reset by peer] 22:02:53 Riastradh: what mutation? 22:02:59 pair->car = car; 22:03:06 that's initialization really 22:03:20 drdo: your assignments to car/cdr are mutations 22:03:29 drdo: nope 22:03:36 Like I said: I'll overlook that mutation. 22:03:47 Riastradh: if cons written in C bothers you, you can just write extern object cons(object,object); and implement cons in assembler. 22:03:47 adeht: It's not because of the semantics of C, but conceptually it is 22:04:07 The other problem, that you can't really use this in a practical program, is more important. 22:04:12 Riastradh: I would just write it in C, in a file called cons-monad.c and be done with it. 22:04:16 Riastradh: I have used it in a practical program 22:04:27 -!- juniorroy [~juniorroy@212.36.224.57] has quit [Ping timeout: 240 seconds] 22:04:30 Riastradh: yes, but did you define functional programming as something "practical"? 22:04:33 It's exactly the same amount of practical as in lisp 22:04:35 drdo: conceptually the term is quite vague 22:04:47 Indeed, some languages are more practical than others to write programs in the functional programming style. 22:04:53 -!- danieljames [~danieljam@94-193-7-241.zone7.bethere.co.uk] has left #lisp 22:05:14 -!- rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 276 seconds] 22:05:16 -!- mippymoe [~mathguru1@c-24-11-171-16.hsd1.mi.comcast.net] has quit [Quit: Leaving] 22:05:17 pjb, if it's not practical to express programs using approach FOO in language BAR, then language BAR does not support approach FOO. 22:05:20 I'm not claiming that C is more practical or anything like that 22:05:35 I'm just claiming that support for functional programming is about the same in C and lisp 22:05:47 ltriant [~ltriant@110-174-168-43.static.tpgi.com.au] has joined #lisp 22:05:50 rien [~rien@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 22:06:03 -!- morphling [~stefan@gssn-5f7562d0.pool.mediaWays.net] has quit [Remote host closed the connection] 22:06:08 the difference is that lisps abstract at least some mutations and memory management. 22:06:09 pjb: what was that library you once linked where you can write "lispy" C 22:06:12 And indeed, with enough greenspunning, you can call ecl functions from C programs. 22:06:15 If it were about the same, drdo, then it would be just as practical to use your cons implementation as a library in C as it is to use my bb-tree implementation as a library in Scheme. 22:06:16 Programming in C is not as nice, but what makes it less nice is orthogonal to functional programming 22:06:28 -!- timor [~timor@port-92-195-61-241.dynamic.qsc.de] has quit [Ping timeout: 260 seconds] 22:06:33 adeht: there are several, for C++: http://www.informatimago.com/articles/life-saver.html 22:06:50 Riastradh: People do that, glib has exactly this 22:07:00 drdo, no, you're missing a part. 22:07:09 ah it was intelib 22:07:09 You haven't said anything about releasing the memory you allocated with malloc. 22:07:15 Good morning everyone! 22:07:21 Riastradh: That's a different problem 22:07:27 No, it's not, drdo. 22:07:32 That's not related to functional programming 22:07:36 A C library that intrinsically leaks memory is not a useful C library. 22:07:46 Riastradh: You have to release the memory 22:07:47 pjb: you may also like Kaz Kylheku's txr program 22:07:54 Riastradh: you can use boehmgc with almost any C program. 22:08:02 But having to do so manually or with a GC is not related to functional programming 22:08:07 (When I say `intrinsically', I mean that the semantics of the library implies that memory will leak, not that the library has a bug.) 22:08:24 Riastradh: well, Mach somehow survived... 22:08:50 redline6561 [~user@c-66-56-55-169.hsd1.ga.comcast.net] has joined #lisp 22:08:54 Riastradh: And it's really easy to argue why freeing memory is not mutation 22:09:04 Because if you argue that it is, then allocating memory must also be 22:09:13 drdo, let's suppose you do have to release the memory, then. In that case, you haven't drawn the whole picture: you need a scheme for coordinating between different users of the library whose responsibility it is to release the memory. 22:09:54 pjb, you can introduce lots of bugs into any C program. 22:10:08 Riastradh: I could keep a reference count if i wanted to do that 22:10:43 drdo, hmm, so you have to keep time-dependent state recording the usage of the data structure? 22:10:53 I didn't have to do that when writing bb-tree.scm. 22:11:34 If you do that, then car(x) may have defined behaviour at time t0 and undefined behaviour at time t2, because at time t1 (t0 < t1 < t2) I ran unref(x). 22:11:34 Riastradh: I can record such information without mutation too 22:11:46 -!- madnificent [~madnifice@83.101.62.132] has quit [Read error: Operation timed out] 22:12:02 Riastradh: Well, you are not supposed to call car if you have called unref 22:12:12 That's just part of the semantics of my liv 22:12:14 *lib 22:12:33 drdo, so you're telling me that the semantics of the library is time-dependent. 22:12:51 The semantics of the *expression* car(x) is time-dependent. 22:14:04 Well, ok, i don't see a way around sequencing at the moment 22:14:42 there is an easy way, make somebody else do it for you. 22:14:51 then you can pretend that it doesn't happen. 22:15:06 usability question: should asdf automatically try to update itself the first time around, or should it fail subtly if you update it as part of a build that then extends it and finds the original running asdf has been shadowed and not extended? 22:15:17 xale: You can't do that in C 22:15:22 Riastradh: you can write car(x) in Haskell, and you're saying it's time-dependant? 22:15:23 Not for this particular case 22:15:38 or should it try harder to replace things in place in a non-portable way rather than shadow them? 22:15:53 Fare: asdf updates itself? 22:16:04 drdo: currently, not automatically 22:16:21 Now, there is a significant difference between this pragmatic fact (pragmatically, the C program has to release memory) and a pragmatic fact about some Haskell programs brought up earlier (pragmatically, `seq x y' is distinguishable from `y'). The difference is that although in *some* useful Haskell programs, replacing `seq x y' by `y' breaks the program, in *every* useful C program, if you as a rule don't release memory it is practically guarante 22:16:26 Fare: I recently ran into a problem where asdf-find-asdf was shadowed by another asdf.asd (debian's) appearing in the source registry 22:16:32 when I say "update", here, I mean "into lisp memory, from the source-registry" 22:16:53 Xach: exactly the kind of issue I'm discussing. 22:17:00 pjb, absolutely. The semantics of evaluating any expression in a given environment in Haskell is time-independent. 22:17:16 Xach: yesterday, I had hell - described in my latest mail to asdf-devel 22:17:34 Riastradh: My solution is not be hard and fast about categorizing languages, i just use those terms to talk about "style" in a vague but still meaningful way 22:17:39 *is to not 22:17:43 -!- Joreji [~thomas@66-232.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 260 seconds] 22:17:56 This is not true of Common Lisp and Scheme, but in Common Lisp and Scheme it is nevertheless possible to compose useful programs without relying on time. 22:18:03 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Read error: Operation timed out] 22:18:04 eudoxia [~eudoxia@r190-133-129-80.dialup.adsl.anteldata.net.uy] has joined #lisp 22:18:06 -!- eudoxia [~eudoxia@r190-133-129-80.dialup.adsl.anteldata.net.uy] has quit [Client Quit] 22:18:15 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 22:18:16 And we argue that in C too. 22:18:19 Mococa [~Mococa@187.114.164.210] has joined #lisp 22:18:39 `Argue' is not `substantiate'. 22:18:44 Harder, less practical, but still possible. 22:18:50 Riastradh: As you can do in most high-level languages; I suppose that leaves how easy is it? 22:18:57 Riastradh: Sure you will have to free memory in C, but you can still get a lot of the benefits of a functional style in C 22:19:23 "have to free memory in C" is meaningless. Just use a garbage collect, just like in lisp or haskell. 22:19:39 thus mutation is sliped under the rug, and you can write functional programs in C. 22:19:47 *Xach* also just got "LISP 1.5 PRIMER" 22:19:49 pjb: the problem in this particular case is not mutation 22:19:49 Oh, yes, drdo. It can definitely be helpful to take a functional approach to problems in just about any language. The language might make it hard, of course, and might make it compose poorly with other parts of or libraries written in the language. 22:19:53 But sequencing 22:20:06 Which you would still have no way to get around even with a gc 22:20:08 in c 22:20:19 pjb, garbage collection does not compose with C. It requires either (a) a bug (Boehm), (b) extra-C semantics (perhaps Zeta-C), or (c) a global transformation. 22:20:58 Riastradh: I would not qualify Boehm a bug, because garbage collection need not be exact. 22:21:01 Xach: A movie about a time-travel macro? A print-eval-read loop. :-P 22:21:25 Riastradh: you don't really need a full-blown garbage collector to construct a useful "functional" library though 22:21:38 Eh, i just remembered why this dicussion started :) 22:21:52 Cin: 1967 lisp book. also got gabriel's benchmark book and "lisp, lore, and logic". all because that nice fella on comp.lang.lisp was giving them away. 22:22:06 Oh, nice. 22:22:08 Riastradh: e.g., in some cases you can use arenas, which may be bounded 22:22:35 Xach: would you rather asdf kind-of-work but has subtle bugs, or detect discrepancy early and bug out with error message, forcing one to update configuration? 22:23:26 adeht: indeed, you don't even need a full-blown gc. If you limit yourself to the datatypes provided by the library, then it can do the garbage collection by itself. 22:23:27 The solution for quicklisp would be to install its own asdf.asd with its asdf. 22:23:34 Fare: I'm not sure. I suspect fail & error. 22:23:35 drdo, well, I started asking you questions because you seemed to claim that the term `functional programming' fails to convey meaning, like the term `object-oriented programming'. 22:23:38 A lack of lexical closures and first-class functions makes me afraid of trying to do functional style. 22:23:41 and put it in the central registry 22:23:58 possibly using the source-registry for everything else. 22:24:23 Riastradh: I didn't say it is meaningless, i just said it is ill defined 22:24:31 What's the difference? 22:24:40 -!- rasterbar [~rasterbar@unaffiliated/rasterbar] has quit [Remote host closed the connection] 22:24:41 It could clarify things to say that functional and OO are "programming styles", and as styles, they're applicable to various circumstances, and indeed, mostly in the eyes of the beholder. 22:25:05 Riastradh: If we couldn't talk about ill defined things, we would have a very big problem 22:25:25 Go get a dictionary and i guarantee 99.9% of the words are grossly ill defined 22:26:50 OK, so by `is ill-defined' you don't mean `has no non-bogus definition', but `has a loose meaning'. Just checking. (`Well-defined' is ill-defined, of course.) 22:26:55 -!- Mococa [~Mococa@187.114.164.210] has quit [Ping timeout: 246 seconds] 22:27:49 Riastradh: I guess drdo means that the term is usually used informally, and is ambiguous when used as such 22:27:56 It's not ambiguous. 22:28:17 Riastradh: Yes, i mean something around informally defined 22:28:29 `Object-oriented' is ambiguous. When you say `object-oriented' to me, I have no clue what you're talking about unless you give further specification. When you say `functional' to me, it conveys a very particular meaning. 22:28:38 Like most words in any natural language 22:28:44 Like car, chair 22:28:46 etc 22:29:05 You couldn't possibly give me a well defined meaning for "car" 22:29:19 When you, a Common Lisp programmer, say `object-oriented' to a Java programmer, what you mean will probably have almost no relation to what your interlocutor thinks you mean. 22:29:22 http://ai-integration.biz/everything/index.pl?node=fp 22:29:38 Riastradh: OO is even more ill defined than functional 22:29:48 SBCL uses the PCL CLOS, right? 22:30:10 drdo: That's what he's saying. 22:30:15 sellout, with various optimizations, yes 22:30:16 I know 22:30:18 sellout: heavily modified 22:30:19 And i'm agreeing 22:30:31 stassats: Ok, what uses it 22:30:37 drdo: actually both were quite well defined but no one wanted to abide by it ;-) 22:30:37 stassats: _least_ modified? 22:30:59 *sellout* wants to test something that has pcl conditionalization. 22:31:07 eugu [~Miranda@213.141.157.147] has joined #lisp 22:31:11 Some try to define functional as meaning referential transparency. 22:31:29 -!- seangrove [~user@70-36-236-168.dsl.static.sonic.net] has quit [Ping timeout: 240 seconds] 22:31:31 p_l|backup: I blame the Cloud(TM) 22:31:37 Doesn't seem very useful, though. 22:32:18 sellout: some ancient pre-ANSI lisp lurking somewhere? 22:32:23 (... for some reason, that suggests GCL) 22:36:55 -!- waaaaargh [~waaaaargh@agsb-5d870fe5.pool.mediaWays.net] has quit [Quit: WTF? leaving!] 22:40:13 Fare: You know what would make my life a little easier? 22:40:18 -!- djinni` [~djinni`@li125-242.members.linode.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:40:28 using Ruby instead of CL ? 22:40:30 djinni` [~djinni`@li125-242.members.linode.com] has joined #lisp 22:40:51 ... I'd have thought that would make it harder. 22:40:53 Fare: if the system definition search functions for various things (old-style central registry search, new registry search, implementation's systems) were exported, documented, supported functions. 22:41:29 Fare: then if I needed to, I could have very predictable system search functionality (e.g. no registry searching, but finding sb-posix if needed, plus my own search) 22:41:52 Not sure what's unpredictable now. 22:41:56 Has anyone used byacc? 22:42:09 Though I agree it could be better documented. 22:42:25 Fare: ha ha ha 22:42:39 Seriously though, it would be nice. 22:42:43 Also, I am considering doing for ASDF as for XCVB: scan everything once, then never query the filesystem until requested. 22:42:45 Mococa [~Mococa@187.114.164.210] has joined #lisp 22:43:08 at least, for the source-registry 22:43:23 obviously, central-registry would maintain compatible behavior. 22:44:00 Xach: I'm not sure what you want to do, so I don't know how to facilitate. 22:44:59 -!- sabalaba [~sabalaba@67-194-103-188.wireless.umnet.umich.edu] has quit [Remote host closed the connection] 22:45:11 -!- lemoinem [~swoog@216.252.78.146] has quit [Ping timeout: 252 seconds] 22:45:26 Fare: Well, the most recent example of trouble springs to mind. sysdef-find-asdf was behind the registry search function, so when asdf.asd was in the registry, it "won" 22:45:50 Fare: If I want to rearrange things so sysdef-find-asdf always "wins", I have to rearrange functions named with asdf::... 22:46:06 sysdef-find-asdf is meant as a fallback 22:46:09 Fare: It would be nice, I think, if that aspect of system definition search was documented, exported, etc. 22:46:10 lemoinem [~swoog@39-91-252-216.dsl.colba.net] has joined #lisp 22:46:22 so you may always load-system :asdf, even when no asdf.asd is present 22:46:56 if you want it to always win... it means asdf can't upgrade itself anymore 22:47:04 that's contrary to the initial design 22:47:12 That is the desired behavior for me. 22:47:33 Another example: I want no source registries, but I do want implementation add-ons to be found. 22:47:40 ok. You can put it first, then. 22:47:55 It's unlikely to ever be renamed or removed. 22:47:55 However, implementation add-ons are lumped into the source registry mechanism. 22:48:06 is that bad? 22:48:26 -!- cheezus1 [~Adium@76.10.136.155] has quit [Quit: Leaving.] 22:48:32 they had to go somewhere, and that was the easiest place, I felt. 22:49:06 Fare: But in my example, I would like no source registry searching, but I do want e.g. sb-posix to be found. 22:49:26 -!- Mococa [~Mococa@187.114.164.210] has quit [Ping timeout: 276 seconds] 22:49:50 why not just configure an empty source-registry? 22:49:59 (asdf:initialize-source-registry "") 22:50:13 or something like that 22:50:27 It would be nice to me if I could do something like (setf asdf:*system-definition-search-functions* (list 'asdf:sysdef-implementation-searches my-app:sysdef-finder)) 22:50:40 Mococa [~Mococa@187.114.164.210] has joined #lisp 22:50:41 that makes sense. 22:51:02 and put it first, before the central-registry? 22:51:12 between the central and source-registry, for compatibility? 22:51:12 No central registry. 22:51:26 no central registry??? 22:53:29 -!- wzergw [~hynek@ip-62-245-66-12.net.upcbroadband.cz] has quit [Quit: Leaving.] 22:54:03 -!- tsuru [~charlie@adsl-87-52-181.bna.bellsouth.net] has quit [Remote host closed the connection] 22:54:13 not sure what you mean 22:54:34 you mean, you want to break compatibility? Or just override defaults to remove it in your configuration? 22:54:54 BTW, I accept patches :-) 22:55:13 Fare: override defaults in my configuration for specialized application purposes 22:55:54 Fare: for an example, an application builder. imagine you know exactly what system files you want to load and where they are. you could imagine a system-definition search function that did nothing more than return entries from a hash table. but you also need (in the sbcl case) to be able to find sb-posix and things like that. 22:56:38 You could do that with the central registry, yes, and I do that now. I think it would be nice to have the additional freedom to do it through the asdf:*system-definition-search-functions* mechanism, which trumps everything else. 22:57:51 Fare: One thing I ask myself is "If the registry mechanism was not provided, does ASDF provide the (supported) means to implement it?" and the answer is no. And that makes it hard to implement similar but incompatible ideas. 22:59:06 dnolen [~davidnole@pool-68-161-53-197.ny325.east.verizon.net] has joined #lisp 23:01:08 -!- eugu [~Miranda@213.141.157.147] has quit [Quit: eugu] 23:01:18 Xach. OK. I see. 23:01:23 I like the idea. 23:01:44 If I write it, will you document it? :-/ 23:02:00 and/or write tests? 23:03:28 my plan: 1- write the hash-table thing 23:03:48 2- rebase the source-registry off it, populated the first time and/or when asked 23:04:11 3- put the system things in their own variant of that 23:04:22 sabalaba [~sabalaba@67-194-103-188.wireless.umnet.umich.edu] has joined #lisp 23:04:46 4- for compatibility, have the order: central-registry, system-registry, source-registry, asdf-fallback. 23:04:52 would that suit you? 23:05:12 can you open a bug on launchpad to immortalize the discussion? 23:07:03 I'll try to...currently scrubbing small instances in preparation for short-term hibernation 23:08:57 -!- Mococa [~Mococa@187.114.164.210] has quit [Ping timeout: 240 seconds] 23:09:07 Woshin [~Woshin@c-66-30-108-153.hsd1.ma.comcast.net] has joined #lisp 23:10:06 -!- tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has quit [Quit: Leaving.] 23:10:26 Mococa [~Mococa@187.114.164.210] has joined #lisp 23:11:15 Deathaholic [~Mococa@187.114.164.210] has joined #lisp 23:13:25 -!- sabalaba [~sabalaba@67-194-103-188.wireless.umnet.umich.edu] has quit [Ping timeout: 252 seconds] 23:15:11 -!- Mococa [~Mococa@187.114.164.210] has quit [Ping timeout: 240 seconds] 23:16:25 -!- Tordek [~tordek@2001:470:dc50:b0::21] has quit [Ping timeout: 248 seconds] 23:16:31 (defun default-handler () ... (log-message :info "Default handler called for script ~A" (script-name*)) 23:16:47 wut? how can script-name* have a value? 23:17:15 oh wait, globals probably 23:17:31 unless... 23:17:49 -!- Deathaholic [~Mococa@187.114.164.210] has quit [Ping timeout: 252 seconds] 23:18:00 Tordek [~tordek@2001:470:dc50:b0::21] has joined #lisp 23:18:04 nu11ptr [~nu11ptr@adsl-76-235-211-176.dsl.klmzmi.sbcglobal.net] has joined #lisp 23:18:05 special variable, i guess 23:18:31 though it lost an earmuff 23:18:34 hmm, i thought that if that function were called in another function which does declare a value for script-name, its scope'd transfer 23:19:16 as in: (defun test-a () A) (defun test-b () (let ((A 1)) (test-a)) (test-b) => 1 23:19:19 only if that function was declaring it special 23:19:33 special? 23:19:34 (that is, test-a would need to declare it special) 23:19:43 Landr: living in dynamic scope 23:19:45 Landr: the earmuff convention is helpful for identifying when that is an issue. 23:19:57 as opposed to lexical 23:20:09 ahh, I see 23:20:14 xan_ [~xan@206.111.142.135.ptr.us.xo.net] has joined #lisp 23:21:00 sid3k``` [~user@li298-167.members.linode.com] has joined #lisp 23:21:58 -!- sid3k`` [~user@li298-167.members.linode.com] has quit [Read error: Connection reset by peer] 23:26:58 -!- muhdik [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has quit [Ping timeout: 260 seconds] 23:27:10 am0c [~am0c@124.49.51.197] has joined #lisp 23:27:46 drdo` [~user@91.205.108.93.rev.vodafone.pt] has joined #lisp 23:28:52 -!- dnolen [~davidnole@pool-68-161-53-197.ny325.east.verizon.net] has quit [Ping timeout: 246 seconds] 23:29:45 hmm, so you do have to use defvar in some way, let doesn't let you use special variables 23:29:55 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 276 seconds] 23:30:10 wrong 23:30:17 dlila [~dlila@99.230.47.229] has joined #lisp 23:31:31 homie` [~levgue@xdsl-78-35-130-5.netcologne.de] has joined #lisp 23:31:35 Deathaholic [~Mococa@187.114.164.210] has joined #lisp 23:32:25 *Landr* reads the idiot's guide to special variables 23:32:47 -!- pdlogan [~patrick@174-25-37-137.ptld.qwest.net] has left #lisp 23:32:49 Landr: (let ((x y)) (declare (special x)) ...) ; x becomes special, y stays lexical 23:33:02 stassats` [~stassats@wikipedia/stassats] has joined #lisp 23:34:06 Xach: you here? 23:34:10 -!- homie [~levgue@xdsl-78-35-171-219.netcologne.de] has quit [Ping timeout: 258 seconds] 23:34:56 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 276 seconds] 23:41:53 Partially 23:43:55 Not, actually. 23:44:00 -!- carlocci [~nes@93.37.214.245] has quit [Quit: eventually IE will rot and die] 23:48:27 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 23:50:27 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 23:54:55 we're trying to get swank to start & stop via config 23:55:16 it seems that swank crashes and is unrestartable in a lisp image when you ask it to stop via a non-swank thread 23:59:15 *sigh*, why does bug tracking require an account setup step instead of just letting you post with your email address?