2015-02-10T00:00:10Z manuel___ joined #lisp 2015-02-10T00:00:54Z vaporatorius quit (Remote host closed the connection) 2015-02-10T00:02:29Z rtra joined #lisp 2015-02-10T00:05:31Z a20150205 quit (Quit: Page closed) 2015-02-10T00:05:42Z quazimodo joined #lisp 2015-02-10T00:11:12Z pspace joined #lisp 2015-02-10T00:12:43Z ebrasca joined #lisp 2015-02-10T00:13:53Z hellofunk quit (Ping timeout: 265 seconds) 2015-02-10T00:14:17Z scymtym_ quit (Ping timeout: 256 seconds) 2015-02-10T00:17:23Z J_4096 quit (Quit: leaving) 2015-02-10T00:19:24Z Zamenhof quit (Quit: WeeChat 1.0.1) 2015-02-10T00:19:41Z Longlius joined #lisp 2015-02-10T00:21:14Z k-dawg joined #lisp 2015-02-10T00:23:39Z Mon_Ouie quit (Remote host closed the connection) 2015-02-10T00:29:50Z johann joined #lisp 2015-02-10T00:33:59Z Big_G joined #lisp 2015-02-10T00:35:01Z johann quit (Ping timeout: 264 seconds) 2015-02-10T00:36:10Z badkins joined #lisp 2015-02-10T00:39:28Z ebrasca quit (Quit: ebrasca) 2015-02-10T00:42:25Z kristof quit (Ping timeout: 255 seconds) 2015-02-10T00:45:05Z stardiviner joined #lisp 2015-02-10T00:45:42Z manuel___ quit (Quit: manuel___) 2015-02-10T00:49:00Z Jesin joined #lisp 2015-02-10T00:50:14Z harish quit (Ping timeout: 245 seconds) 2015-02-10T00:56:16Z drmeister joined #lisp 2015-02-10T00:58:10Z urandom__ quit (Quit: Konversation terminated!) 2015-02-10T01:01:06Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-10T01:11:37Z emaczen joined #lisp 2015-02-10T01:17:18Z kobain joined #lisp 2015-02-10T01:24:13Z Karl_Dscc quit (Remote host closed the connection) 2015-02-10T01:26:17Z a20150202 joined #lisp 2015-02-10T01:27:06Z johann joined #lisp 2015-02-10T01:29:31Z dagnachew joined #lisp 2015-02-10T01:33:46Z akkad: is there anything like cl-store/sqlite that can be used to write a large amount of records concurrently? 2015-02-10T01:35:00Z attila_lendvai quit (Quit: Leaving.) 2015-02-10T01:35:53Z hvxgr quit (Ping timeout: 256 seconds) 2015-02-10T01:35:54Z protist: how do you make tooltips in ltk? 2015-02-10T01:37:45Z hvxgr joined #lisp 2015-02-10T01:39:54Z defaultxr joined #lisp 2015-02-10T01:44:19Z dagnachew quit (Quit: WeeChat 1.1.1) 2015-02-10T01:45:22Z dagnachew joined #lisp 2015-02-10T01:45:35Z brkpnt quit (Remote host closed the connection) 2015-02-10T01:47:48Z emaczen: With the loop macro, I wish to loop over a list: 'for ele in elements' then, create a new variable that changes at each iteration that depends on 'ele'. I've done this before with 'do' but how do I do this with loop? 2015-02-10T01:48:33Z emaczen: With the 'do' loop, this looks like: (do ((a (some-s-exp)) 2015-02-10T01:48:53Z emaczen: (b (f a)) 2015-02-10T01:49:04Z Xach: emaczen: (loop for ele in elements for b = (f ele) ...) 2015-02-10T01:49:59Z emaczen: Xach: Is there a way to do it without the extra for? I like to think of extra 'fors' as independent variables 2015-02-10T01:51:11Z wilfredh quit (Quit: Connection closed for inactivity) 2015-02-10T01:51:21Z vdamewood joined #lisp 2015-02-10T01:54:22Z Xach: I don't know. One option is to stop liking to think that. 2015-02-10T01:54:37Z White_Flame: "The for and as keywords are synonyms; they can be used interchangeably." 2015-02-10T01:54:45Z White_Flame: "By convention, for introduces new iterations and as introduces iterations that depend on a previous iteration specification. " 2015-02-10T01:55:07Z White_Flame: so (loop for ele ... as b = ...) would seem to fit the convention 2015-02-10T01:55:17Z emaczen: White_Flame: I knew I wasn't being totally pedantic! 2015-02-10T01:56:18Z Amaan quit (Quit: Connection closed for inactivity) 2015-02-10T01:56:20Z White_Flame: it's still pedantic, just pendatry supported by the spec ;) 2015-02-10T01:56:54Z emaczen: White_Flame: lol! 2015-02-10T01:57:52Z badkins_ joined #lisp 2015-02-10T01:59:32Z emaczen: So I am using an ABCL specific feature in a .asd file (maven integration), how can I tell SBCL to skip over this? 2015-02-10T01:59:55Z White_Flame: presumably #+abcl 2015-02-10T02:00:17Z badkins quit (Ping timeout: 245 seconds) 2015-02-10T02:00:49Z xorox90 joined #lisp 2015-02-10T02:03:06Z dagnachew quit (Quit: WeeChat 1.1.1) 2015-02-10T02:04:58Z yrk quit (Quit: ERC (IRC client for Emacs 25.0.50.1)) 2015-02-10T02:06:51Z Xach: #+abcl is definitely a good way 2015-02-10T02:08:01Z montyxcantsin joined #lisp 2015-02-10T02:12:16Z akkad: abcl is pretty nice, once it starts up 2015-02-10T02:13:10Z wjiang joined #lisp 2015-02-10T02:13:25Z wjiang quit (Max SendQ exceeded) 2015-02-10T02:13:53Z wjiang joined #lisp 2015-02-10T02:14:17Z wjiang left #lisp 2015-02-10T02:14:28Z bgs100 joined #lisp 2015-02-10T02:15:47Z harish joined #lisp 2015-02-10T02:17:04Z mmathers: abcl support all the quicklisp packages now? 2015-02-10T02:17:59Z Xach: mmathers: no. 2015-02-10T02:18:04Z Xach: but it supports a lot. 2015-02-10T02:18:27Z akkad: I assume it caches stuff it builds out? like fasl equivalent? 2015-02-10T02:18:48Z Xach: What caches stuff? 2015-02-10T02:19:20Z akkad: when you compile packages on abcl. is there any sort of caching? or does every rerun require recompiling everything? 2015-02-10T02:19:20Z harish quit (Remote host closed the connection) 2015-02-10T02:19:36Z akkad: I guess the right term is "saving images"? 2015-02-10T02:20:33Z Xach: it produces fasls like other implementations. 2015-02-10T02:21:25Z akkad: ahh. was thinking jars 2015-02-10T02:21:32Z harish joined #lisp 2015-02-10T02:21:34Z Xach: i think the fasls might be jar-like 2015-02-10T02:21:37Z Xach: if not exactly jars 2015-02-10T02:21:50Z ASau joined #lisp 2015-02-10T02:21:54Z akkad: ahh ok. 2015-02-10T02:22:18Z Denommus` joined #lisp 2015-02-10T02:22:49Z manuel___ joined #lisp 2015-02-10T02:24:08Z nell joined #lisp 2015-02-10T02:25:41Z emaczen: how can I remove the last element of a string 2015-02-10T02:25:51Z emaczen: I tried 'butlast' 2015-02-10T02:26:46Z Xach: emaczen: it involves making a new string that is a little smaller than the original and copying everything into it. not all that efficient if you can avoid it. SUBSEQ is the easiest way to do it. 2015-02-10T02:27:21Z emaczen: I just copied over an old text file from a windows computer with the \r\n at the end of each line... 2015-02-10T02:27:26Z White_Flame: at least fetching the length is a constant-time operation 2015-02-10T02:27:49Z Xach: emaczen: oh, then string-right-trim is probably an easy way to trim things. though i often use emacs to convert that sort of thing. 2015-02-10T02:28:01Z White_Flame: there's also dos2unix on the commandline 2015-02-10T02:28:08Z Xach: yes, there are many options 2015-02-10T02:28:09Z emaczen: Xach: I am using emacs right now -- is there a command for that? 2015-02-10T02:28:26Z Xach: emaczen: does it say (DOS) in the mode line? 2015-02-10T02:28:54Z emaczen: Yep 2015-02-10T02:29:27Z Xach: M-x set-buffer-file-coding-system RET undecided-dos is what i've used 2015-02-10T02:29:33Z akkad: cat file|tr -d \015 2015-02-10T02:29:34Z Xach: orry, undecided-unix 2015-02-10T02:30:20Z emaczen: thanks guys! 2015-02-10T02:31:21Z kapil__ joined #lisp 2015-02-10T02:31:24Z nell left #lisp 2015-02-10T02:33:25Z enitiz joined #lisp 2015-02-10T02:34:06Z wglb quit (Remote host closed the connection) 2015-02-10T02:34:54Z jonh joined #lisp 2015-02-10T02:36:38Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-10T02:40:06Z Denommus` quit (Quit: rebooting) 2015-02-10T02:41:38Z Quadrescence joined #lisp 2015-02-10T02:46:06Z echo-area joined #lisp 2015-02-10T02:46:06Z akkad: sed -i "s#\o15##g" file #strip ^M 2015-02-10T02:46:27Z Mon_Ouie joined #lisp 2015-02-10T02:46:27Z Mon_Ouie quit (Changing host) 2015-02-10T02:46:27Z Mon_Ouie joined #lisp 2015-02-10T02:48:05Z loke: Argh. String accesses are ridiculously faster on simple-string than on string's 2015-02-10T02:48:19Z loke: why, oh why, is simpel-string not the default 2015-02-10T02:49:19Z emaczen quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-10T02:49:47Z White_Flame: default from what? 2015-02-10T02:50:38Z loke: I don't know what I suggest. All I would have wanted is that I wouldn't have to DECLARE variables as simple-string before accessing its content in order to avoid hairy-vector-aref 2015-02-10T02:51:00Z White_Flame: where are your strings coming from? 2015-02-10T02:51:16Z loke: Function arguments, usually. 2015-02-10T02:51:22Z White_Flame: sigh 2015-02-10T02:51:33Z White_Flame: how are the strings created that you're seeing? 2015-02-10T02:51:35Z enitiz quit (Quit: Leaving) 2015-02-10T02:52:06Z enitiz joined #lisp 2015-02-10T02:52:06Z Bike: don't think that matters, if the access functions are trying to access all strings instead of just simple ones 2015-02-10T02:52:14Z White_Flame: at least on my SBCL, "abc", and (coerce '(#\a #\b #\c) 'string) are simple-strings 2015-02-10T02:52:36Z Denommus` joined #lisp 2015-02-10T02:52:51Z White_Flame: as are subseqs of simple-strings 2015-02-10T02:52:57Z loke: White_Flame: That's irrelevant to what I'm saying. I know how to fix it, I just don't want to. My point is that CL's arrays (and by consequence, strings) are too flexible. If the compiler could assume all arrays were simple, the optimiser could generate mych better code without any declarations. 2015-02-10T02:53:44Z White_Flame: okay, it sounded like string objects were being created as non-simple 2015-02-10T02:53:48Z loke: I guess it all comes down to the existenace of displaced arrays 2015-02-10T02:53:56Z Bike: " always gives simple strings, so that's not the issue. 2015-02-10T02:54:14Z loke: No. My issue is that SBCL has to assume that strings could be non-simple, even if they in practice almost never are. 2015-02-10T02:54:34Z jgrant joined #lisp 2015-02-10T02:54:53Z White_Flame: you could shadow your own string operations which declare them as simple before handing off to the cl: variants 2015-02-10T02:55:03Z Bike: displaced arrays would be nice if they didn't mean bizarre levels of indirection 2015-02-10T02:55:09Z White_Flame: that would be the least syntactically invasive 2015-02-10T02:55:54Z loke: White_Flame: Yes. True. Although probably not worth it. 2015-02-10T02:55:59Z jusss joined #lisp 2015-02-10T02:56:08Z loke: It's probably more clear to simply add declarations in the performance sensitive parts. 2015-02-10T02:56:50Z loke: At least now I understand why pkuhong was saying when he said that displaced arrays shouldn't have been included because they stop a lot of optimisation opportunities. 2015-02-10T02:57:29Z White_Flame: right, it's a fairly heavy space vs speed tradeoff 2015-02-10T02:57:47Z jlongster quit (Ping timeout: 245 seconds) 2015-02-10T02:57:54Z loke: The only way to create displaced arrays is uing MAKE-ARRAY, right? 2015-02-10T02:59:34Z Bike: probably. 2015-02-10T03:00:17Z loke: I searched my QL directory. 388 references to :displaced-to in systems packages 2015-02-10T03:00:28Z loke: I searched my QL directory. 388 references to :displaced-to in 864 systems 2015-02-10T03:00:47Z loke: (obviously multimple versions of the same systems) 2015-02-10T03:01:06Z Bike: it's useful, but the way it's integrated leaves something to be desired 2015-02-10T03:01:09Z loke: But it gives a rough statistic of about 0.5 uses of displaced-to per system 2015-02-10T03:02:11Z loke: The main used of displaced arrays seems to be cl-mathstats 2015-02-10T03:02:16Z loke: (whatever that is) 2015-02-10T03:02:41Z Bike: i wonder, if you removed the array-displacement introspection, could they be as efficient as simple arrays 2015-02-10T03:03:09Z jgrant quit (Read error: Connection reset by peer) 2015-02-10T03:03:35Z jgrant joined #lisp 2015-02-10T03:03:44Z loke: Then we have clevernesses like this, which is probably slower than just using the radix array without displacement: 2015-02-10T03:03:44Z loke: https://github.com/vseloved/cl-redis/blob/master/float.lisp#L11 2015-02-10T03:04:08Z raphaelss joined #lisp 2015-02-10T03:04:34Z White_Flame: Bike: Yeah, I see no reason displaced string support can't be as fast as normal strings for dereferencing chars 2015-02-10T03:04:49Z White_Flame: the biggest change would likely be the garbage collector, depending on how it's implemented 2015-02-10T03:05:05Z Bike: yeah, i have no idea how that would interact with gc exactly. 2015-02-10T03:05:37Z loke: White_Flame: for simple displacement, perhaps, but the problem is that you can do dimensional displacement as well. I.e. displace a two-dimensional array into a 3D one with completely different rakns 2015-02-10T03:05:39Z White_Flame: I'd put an extra field on the string pointing to the full string it's displacing intttttttto 2015-02-10T03:05:39Z loke: ranks 2015-02-10T03:05:44Z jusss: the return values are all capital letters, can I return lower case ? 2015-02-10T03:05:52Z White_Flame: loke: true 2015-02-10T03:06:09Z loke: jusss: Return values of what? 2015-02-10T03:06:44Z White_Flame: symbols default to uppercase. If you want symbols to exist in lowercase, you can force it by doing '|foo| instead of 'foo 2015-02-10T03:06:58Z jusss: loke: like princ 2015-02-10T03:06:59Z White_Flame: or telling the reader to use different casinnnnnnnnnnng rules 2015-02-10T03:07:08Z resttime quit (Quit: resttime) 2015-02-10T03:07:10Z Bike: is something wrong with your keyboard 2015-02-10T03:07:27Z White_Flame: yeah, sorry, it's VNC being laggy with keydown/keyup 2015-02-10T03:07:28Z loke: jusss: What are you printing. If you print a symbol in upper case, it will be printed in upper case. If you print a symbol in lower case, likewise it will be printed in lower case. 2015-02-10T03:07:46Z Bike: i think some fortran things use displaced arrays with different dimensions and presumably do it reasonably fast 2015-02-10T03:07:51Z loke: jusss: Thus, if you want it to print something lower case, you have to pass in a lower-case value 2015-02-10T03:08:15Z loke: Bike: yes, but they can do it compile-time because it's all statically typed. 2015-02-10T03:08:18Z Petit_Dejeuner quit (Ping timeout: 245 seconds) 2015-02-10T03:08:37Z loke: Bike: Lisp can (and does) the same, but you also have to statically type everything. Hence, the DECALRE 2015-02-10T03:09:05Z enitiz quit (Ping timeout: 246 seconds) 2015-02-10T03:09:31Z Bike: oh. wellthen. 2015-02-10T03:09:34Z jusss: loke: (princ 'hi) I 2015-02-10T03:09:45Z jusss: I'd like to get lower case 2015-02-10T03:09:59Z White_Flame: 'hi reads as an upper-cased symbol. '|hi| performs no case conversion 2015-02-10T03:10:12Z White_Flame: though you likely want strings if you care about case, not symbols 2015-02-10T03:10:14Z loke: jusss: The upper casing happens when your inpit is read, not when it's printed 2015-02-10T03:11:03Z White_Flame: (princ "Hi!") 2015-02-10T03:14:17Z jusss: can I shut it down that upper casing as read ? 2015-02-10T03:14:31Z innertracks quit (Quit: innertracks) 2015-02-10T03:14:38Z jgrant is now known as grant_ 2015-02-10T03:14:53Z White_Flame: jusss: yes, but you really shouldn't 2015-02-10T03:15:06Z White_Flame: libraries might rely on that 2015-02-10T03:15:37Z White_Flame: also, it's a good indicator on output that what you're viewing is internal symbols, not human-friendly text strings 2015-02-10T03:15:43Z sheilong joined #lisp 2015-02-10T03:16:46Z jusss: I see, thanks 2015-02-10T03:20:27Z a20150202 quit (Quit: Page closed) 2015-02-10T03:24:54Z joneshf-laptop joined #lisp 2015-02-10T03:29:36Z enitiz joined #lisp 2015-02-10T03:30:13Z beach joined #lisp 2015-02-10T03:30:18Z enitiz quit (Read error: Connection reset by peer) 2015-02-10T03:30:25Z beach: Good morning everyone! 2015-02-10T03:30:25Z minion: beach, memo from pjb: using the stack, is like copying the list to a vector, and furthermore, within the size of (some) cache. Therefore you are definitely benefiting, if transitorily, from the cache. Considering cdr-coding (both for the paper and in an implementation) for bigger list would not invalidate the reasoning, only reframing it. 2015-02-10T03:30:49Z enitiz joined #lisp 2015-02-10T03:33:29Z jlongster joined #lisp 2015-02-10T03:34:15Z vdamewood quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-02-10T03:36:42Z zhangyh26258 joined #lisp 2015-02-10T03:37:52Z jlongster quit (Ping timeout: 240 seconds) 2015-02-10T03:38:22Z zhangyh26258 quit (Max SendQ exceeded) 2015-02-10T03:39:39Z bgs100 quit (Quit: bgs100) 2015-02-10T03:44:06Z looking_glass joined #lisp 2015-02-10T03:44:19Z zacharias_ joined #lisp 2015-02-10T03:47:37Z zacharias quit (Ping timeout: 264 seconds) 2015-02-10T03:49:01Z pinterface joined #lisp 2015-02-10T03:49:15Z enitiz quit (Quit: Leaving) 2015-02-10T03:50:09Z pspace quit (Quit: Konversation terminated!) 2015-02-10T03:50:14Z pillton: Good morning beach. 2015-02-10T03:52:53Z zacts joined #lisp 2015-02-10T03:54:02Z drmeister: Hi beach. 2015-02-10T03:54:18Z drmeister: How are the load-time-value AST/HIR changes coming? 2015-02-10T03:54:59Z beach: drmeister: Very well, thank you. 2015-02-10T03:55:10Z beach: Now, the AST contains no constants. 2015-02-10T03:55:22Z drmeister: How long until it would be ready for me to use? 2015-02-10T03:55:28Z beach: Only LOAD-TIME-VALUE or (if you introduced them) immediates. 2015-02-10T03:55:37Z beach: I think you can use it already. 2015-02-10T03:55:58Z beach: There are a few things I must move to the AST level that are now at the HIR level. 2015-02-10T03:56:03Z beach: But you won't notice them. 2015-02-10T03:56:21Z beach: Only if you generate THE or TYPEQ ASTs. 2015-02-10T03:57:23Z jasom: Looking at CL webdec, I thought I'd try out reactJS for rendering, and hacked up a quick modification to parenscript and cl-who to allow generating jsx: http://paste.lisp.org/display/145715#1 2015-02-10T03:57:36Z ruste quit (Read error: Connection reset by peer) 2015-02-10T03:57:45Z jasom: any comments on the lisp side of the syntax? 2015-02-10T03:58:10Z ruste joined #lisp 2015-02-10T03:59:43Z beach: drmeister: I need to either update HIR-TRANSFORMATIONS or tell you what to do instead. I prefer the latter solution, because there will be no one-size-fits-all HIR-TRANSFORMATIONS. 2015-02-10T04:03:30Z beach: drmeister: Are you planning to write the file compiler or the in-core compiler first? 2015-02-10T04:05:10Z drmeister: beach: I'm pretty sure you mean COMPILE-FILE or COMPILE - correct? 2015-02-10T04:05:19Z beach: Yes. 2015-02-10T04:06:05Z drmeister: I was starting with COMPILE - but almost everything I do is applied to both 2015-02-10T04:06:16Z ruste quit (Read error: Connection reset by peer) 2015-02-10T04:06:50Z beach: Do you want me to describe what I am doing, or do you just want me to give you the code? 2015-02-10T04:06:55Z drmeister: I'm reusing all of my constant/load-time-value code 2015-02-10T04:08:02Z frkout joined #lisp 2015-02-10T04:09:07Z beach: What I do now is that I eliminate the LOAD-TIME-VALUEs at the AST level. 2015-02-10T04:09:25Z beach: It is a transformation called HOIST-LOAD-TIME-VALUE. 2015-02-10T04:09:37Z bb010g joined #lisp 2015-02-10T04:10:25Z xorox90 quit (Quit: Connection closed for inactivity) 2015-02-10T04:10:27Z beach: It transforms the AST into a function that takes the values of the LOAD-TIME-VALUE forms as arguments. When you call that function, it has the effect of evaluating the original form. 2015-02-10T04:10:49Z psy__ joined #lisp 2015-02-10T04:10:58Z beach: When that AST is transformed to HIR, there are no LOAD-TIME-VALUEs in there, nor any constants. 2015-02-10T04:11:53Z beach: So when the escape analysis is done, at the HIR level, there are only hexagonal variables. Nothing else. No constants. No load-time-values. 2015-02-10T04:12:07Z beach: That should be easy to generate code for. 2015-02-10T04:12:24Z echo-area quit (Remote host closed the connection) 2015-02-10T04:13:18Z work_op quit (Ping timeout: 245 seconds) 2015-02-10T04:14:13Z harish quit (Ping timeout: 264 seconds) 2015-02-10T04:14:16Z beach: drmeister: Did you faint? 2015-02-10T04:14:18Z echo-area joined #lisp 2015-02-10T04:14:37Z drmeister: Almost - watching TV with a friend - sorry. 2015-02-10T04:14:47Z beach: Oh. We can do this some other time. 2015-02-10T04:14:59Z drmeister: Hang on - reading. 2015-02-10T04:16:41Z drmeister: I think I'll need to see the generated hir to figure it out 2015-02-10T04:16:52Z eru quit (Ping timeout: 240 seconds) 2015-02-10T04:17:20Z drmeister: Does it generate HIR like this now? 2015-02-10T04:17:50Z beach: Only if you call HOIST-LOAD-TIME-VALUE on the AST first. 2015-02-10T04:18:20Z beach: 1. Generate the AST. 2. Call HOIST-LOAD-TIME-VALUE. 2015-02-10T04:18:41Z beach: 3. Generate HIR. 2015-02-10T04:18:43Z jusss quit (Ping timeout: 245 seconds) 2015-02-10T04:19:24Z beach: Now you have an initial instruction that is a special version of the ENTER instruction. It also contains a list of forms to evaluate and pass to the function represented by the HIR. 2015-02-10T04:20:39Z beach: So to evaluate the original form, you do (apply fun (mapcar #'eval (forms instruction))). 2015-02-10T04:22:16Z beach: 4. call PROCESS-CAPTURED-VARIABLES. 2015-02-10T04:23:01Z beach: Now you have only variables with dynamic extent, so you can put them on the stack or in registers. 2015-02-10T04:23:55Z kobain quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2015-02-10T04:23:59Z drmeister: Ok 2015-02-10T04:24:00Z echo-area quit (Remote host closed the connection) 2015-02-10T04:24:18Z manuel____ joined #lisp 2015-02-10T04:24:40Z echo-area joined #lisp 2015-02-10T04:25:17Z manuel___ quit (Ping timeout: 245 seconds) 2015-02-10T04:29:53Z spacebat` quit (Remote host closed the connection) 2015-02-10T04:31:27Z Harag joined #lisp 2015-02-10T04:37:53Z k-dawg joined #lisp 2015-02-10T04:45:37Z cluck quit (Remote host closed the connection) 2015-02-10T04:47:49Z quazimodo quit (Ping timeout: 264 seconds) 2015-02-10T04:50:27Z Pyridrym quit (Quit: leaving) 2015-02-10T04:52:02Z grant_ is now known as xjgrant 2015-02-10T04:58:00Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-10T04:58:24Z quazimodo joined #lisp 2015-02-10T04:59:59Z Harag1 joined #lisp 2015-02-10T05:00:10Z Harag quit (Read error: Connection reset by peer) 2015-02-10T05:00:48Z manuel____ quit (Quit: manuel____) 2015-02-10T05:03:50Z jlongster joined #lisp 2015-02-10T05:04:03Z loke: What is the most efficient way to check if a string contains any of a set of characters? 2015-02-10T05:04:24Z Harag joined #lisp 2015-02-10T05:04:27Z loke: I.e. I want it to return true if the strng contains one of, say, x y z or a number. 2015-02-10T05:04:32Z H4ns: i'd try a regular expression first 2015-02-10T05:04:56Z Harag1 quit (Remote host closed the connection) 2015-02-10T05:05:13Z emma quit (Ping timeout: 255 seconds) 2015-02-10T05:05:19Z loke: H4ns: That's what I do, but in this case, is there a more efficient way? I'm asking because this is one of the most certral parts of the application and every string that is processed in the system goes through this one. 2015-02-10T05:05:30Z loke: I just figured I' 2015-02-10T05:05:42Z H4ns: loke: are these only ascii characters? 2015-02-10T05:06:08Z loke: H4ns: the strings are unicode, but the filtering is only done on ascii chars (to be specific, control characters). 2015-02-10T05:06:18Z H4ns: loke: i'd hand-craft a function for the purpose, probably using a bit mask. 2015-02-10T05:06:28Z badkins_ quit (Remote host closed the connection) 2015-02-10T05:06:30Z loke: I need to actually throw an error if certain illegal control characters are received 2015-02-10T05:06:58Z H4ns: loke: if it is just control characters (< 32), then cl:case might be sufficiently optimized. 2015-02-10T05:07:12Z loke: H4ns: Yeah, I could. But that would take me into the territory of "premature optimisation" :-) 2015-02-10T05:07:13Z emma joined #lisp 2015-02-10T05:07:13Z beach: Make a vector of 32 booleans. 2015-02-10T05:07:22Z montyxcantsin quit (Ping timeout: 240 seconds) 2015-02-10T05:07:51Z beach: Traverse the string. Check if char-code is < 32. If so use the vector, if not return nil. 2015-02-10T05:09:18Z loke: beach: Yeah, I guess I'll do something like that (they're not all in one range though), but ti's good enough 2015-02-10T05:09:44Z beach: All control characters are between 0 and 31 2015-02-10T05:09:45Z H4ns: loke: if it is premature, don't optimize it. 2015-02-10T05:10:27Z montyxcantsin joined #lisp 2015-02-10T05:14:44Z Amaan joined #lisp 2015-02-10T05:17:38Z jusss joined #lisp 2015-02-10T05:17:47Z loke: beach: Well, also 7F to 9F. 2015-02-10T05:17:57Z johann quit (Remote host closed the connection) 2015-02-10T05:18:09Z loke: But yeah, I think there were more, but those are the only ones, so filtering that out with two range checks was easy enough 2015-02-10T05:18:35Z johann joined #lisp 2015-02-10T05:19:09Z capcar quit (Ping timeout: 256 seconds) 2015-02-10T05:19:22Z loke: s/think/thought/ 2015-02-10T05:22:00Z loke: Related; supposedly JSON does not allow any control characters in its input. But both CL-JSON and ST-JSON both happily accepts it 2015-02-10T05:22:52Z johann quit (Ping timeout: 240 seconds) 2015-02-10T05:27:50Z innertracks joined #lisp 2015-02-10T05:28:55Z innertracks quit (Client Quit) 2015-02-10T05:29:40Z pranavrc joined #lisp 2015-02-10T05:31:13Z sheilong quit (Quit: Konversation terminated!) 2015-02-10T05:33:17Z pillton: Quadrescence: The thing I was talking about the other day is coming along. http://paste.lisp.org/display/145716 2015-02-10T05:34:36Z vdamewood joined #lisp 2015-02-10T05:42:37Z moei quit (Quit: Leaving...) 2015-02-10T05:44:06Z jasom: is there any way to get a list of local slots in a standard-object? 2015-02-10T05:44:58Z loke: jasom: Yes 2015-02-10T05:44:58Z ruste joined #lisp 2015-02-10T05:45:12Z jasom: loke: care to share it? 2015-02-10T05:45:18Z loke: jasom: But you have to use the MOP. I recommend you load the package CLOSER-MOP which normalises that for multiple platforms 2015-02-10T05:45:23Z loke: jasom: sure 2015-02-10T05:45:26Z pillton: CLASS_DIRECT-SLOTS. 2015-02-10T05:46:01Z loke: (closer-mop:class-slots (find-class 'myclass)) 2015-02-10T05:48:18Z pillton: mop class-slots 2015-02-10T05:48:18Z specbot: http://metamodular.com/CLOS-MOP/class-slots.html 2015-02-10T05:48:22Z jasom: and then just class-of to get the class 2015-02-10T05:48:38Z loke: jasom: Well yes, if you have the instenace 2015-02-10T05:48:40Z loke: instance 2015-02-10T05:49:19Z profess quit (Ping timeout: 255 seconds) 2015-02-10T05:50:04Z loke: jasom: If you want to look up the value of a slot using the slot definition, you might be interested in SLOT-VALUE-USING-CLASS 2015-02-10T05:50:04Z karswell quit (Remote host closed the connection) 2015-02-10T05:50:57Z karswell joined #lisp 2015-02-10T05:51:57Z H4ns: loke: cl:graphic-char-p might be optimized well 2015-02-10T05:54:17Z loke: H4ns: Ah, that's iunteresting 2015-02-10T05:56:59Z Denommus` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-10T05:57:47Z qubitnerd joined #lisp 2015-02-10T05:59:57Z innertracks joined #lisp 2015-02-10T06:01:35Z qubitnerd quit (Client Quit) 2015-02-10T06:02:27Z kapil__ quit (Quit: Connection closed for inactivity) 2015-02-10T06:03:15Z psy_ quit (Remote host closed the connection) 2015-02-10T06:03:15Z psy__ quit (Remote host closed the connection) 2015-02-10T06:03:47Z pt1 joined #lisp 2015-02-10T06:04:52Z innertracks quit (Quit: innertracks) 2015-02-10T06:15:14Z zacts quit (Quit: leaving) 2015-02-10T06:17:30Z zacharias_ quit (Ping timeout: 252 seconds) 2015-02-10T06:18:46Z johann joined #lisp 2015-02-10T06:22:52Z kapil__ joined #lisp 2015-02-10T06:23:57Z johann quit (Ping timeout: 252 seconds) 2015-02-10T06:29:54Z pt1 quit (Remote host closed the connection) 2015-02-10T06:31:21Z antonv quit (Ping timeout: 246 seconds) 2015-02-10T06:31:47Z meiji11 joined #lisp 2015-02-10T06:37:28Z fantazo joined #lisp 2015-02-10T06:42:51Z vdamewood quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-02-10T06:43:19Z hvxgr quit (Ping timeout: 255 seconds) 2015-02-10T06:43:40Z resttime joined #lisp 2015-02-10T06:44:12Z Shinmera joined #lisp 2015-02-10T06:50:56Z beach left #lisp 2015-02-10T06:51:55Z Harag quit (Remote host closed the connection) 2015-02-10T06:52:08Z Harag joined #lisp 2015-02-10T06:55:03Z badkins joined #lisp 2015-02-10T06:57:05Z looking_glass quit (Remote host closed the connection) 2015-02-10T06:59:52Z badkins quit (Ping timeout: 240 seconds) 2015-02-10T07:01:02Z munksgaard joined #lisp 2015-02-10T07:01:58Z mrSpec joined #lisp 2015-02-10T07:02:32Z aap_ is now known as aap 2015-02-10T07:03:51Z jlongster quit (Ping timeout: 250 seconds) 2015-02-10T07:13:38Z zacharias joined #lisp 2015-02-10T07:14:08Z hvxgr joined #lisp 2015-02-10T07:17:29Z munksgaard quit (Read error: Connection reset by peer) 2015-02-10T07:20:39Z recycle joined #lisp 2015-02-10T07:22:20Z psy_ joined #lisp 2015-02-10T07:24:34Z Big_G quit (Read error: Connection reset by peer) 2015-02-10T07:26:36Z pt1 joined #lisp 2015-02-10T07:31:27Z moei joined #lisp 2015-02-10T07:31:32Z psy_ quit (Quit: Leaving) 2015-02-10T07:33:00Z theseb quit (Quit: Leaving) 2015-02-10T07:46:14Z cadadar joined #lisp 2015-02-10T07:49:01Z BlueRavenGT quit (Ping timeout: 252 seconds) 2015-02-10T07:49:36Z johann joined #lisp 2015-02-10T07:51:42Z mishoo joined #lisp 2015-02-10T07:54:59Z johann quit (Ping timeout: 265 seconds) 2015-02-10T07:55:27Z jusss quit (Read error: Connection reset by peer) 2015-02-10T07:56:23Z Lokathor_ quit (Quit: Leaving) 2015-02-10T08:00:37Z ehu joined #lisp 2015-02-10T08:01:04Z PaulCapestany quit (Read error: Connection reset by peer) 2015-02-10T08:01:46Z d4ryus__ joined #lisp 2015-02-10T08:02:31Z PaulCapestany joined #lisp 2015-02-10T08:02:48Z xificurC joined #lisp 2015-02-10T08:04:52Z d4ryus quit (Ping timeout: 240 seconds) 2015-02-10T08:05:52Z Ven_ joined #lisp 2015-02-10T08:08:56Z kushal quit (Ping timeout: 244 seconds) 2015-02-10T08:09:14Z pranavrc_ joined #lisp 2015-02-10T08:10:52Z pranavrc quit (Ping timeout: 250 seconds) 2015-02-10T08:11:47Z PaulCapestany quit (Read error: Connection reset by peer) 2015-02-10T08:12:15Z PaulCapestany joined #lisp 2015-02-10T08:17:03Z oleo__ joined #lisp 2015-02-10T08:17:36Z oleo is now known as Guest52430 2015-02-10T08:18:43Z Guest52430 quit (Ping timeout: 255 seconds) 2015-02-10T08:21:56Z ggole joined #lisp 2015-02-10T08:22:09Z ineiros joined #lisp 2015-02-10T08:24:05Z theos quit (Ping timeout: 246 seconds) 2015-02-10T08:29:05Z xyh joined #lisp 2015-02-10T08:31:10Z fridim_ joined #lisp 2015-02-10T08:36:52Z cadadar quit (Ping timeout: 240 seconds) 2015-02-10T08:38:18Z cadadar joined #lisp 2015-02-10T08:39:24Z radioninja joined #lisp 2015-02-10T08:40:49Z MrWoohoo quit (Quit: Computer has gone to sleep.) 2015-02-10T08:41:37Z Ven_ quit (Ping timeout: 264 seconds) 2015-02-10T08:41:52Z montyxcantsin quit (Ping timeout: 240 seconds) 2015-02-10T08:45:04Z psy_ joined #lisp 2015-02-10T08:47:02Z zadock joined #lisp 2015-02-10T08:47:11Z zadock quit (Remote host closed the connection) 2015-02-10T08:47:39Z kushal joined #lisp 2015-02-10T08:50:16Z johann joined #lisp 2015-02-10T08:52:57Z arenz joined #lisp 2015-02-10T08:53:40Z kuzy000_ joined #lisp 2015-02-10T08:54:02Z Harag quit (Ping timeout: 245 seconds) 2015-02-10T08:54:04Z Harag1 joined #lisp 2015-02-10T08:55:26Z johann quit (Ping timeout: 244 seconds) 2015-02-10T08:56:13Z ovenpasta joined #lisp 2015-02-10T08:56:25Z hellofunk joined #lisp 2015-02-10T08:57:13Z munksgaard joined #lisp 2015-02-10T08:58:06Z hellofunk left #lisp 2015-02-10T08:58:37Z frkout_ joined #lisp 2015-02-10T09:02:11Z redeemed joined #lisp 2015-02-10T09:02:21Z frkout quit (Ping timeout: 252 seconds) 2015-02-10T09:03:01Z vlnx quit (Ping timeout: 250 seconds) 2015-02-10T09:04:18Z theos joined #lisp 2015-02-10T09:06:13Z cadadar quit (Ping timeout: 245 seconds) 2015-02-10T09:08:14Z Beetny joined #lisp 2015-02-10T09:13:31Z stepnem joined #lisp 2015-02-10T09:17:23Z harish joined #lisp 2015-02-10T09:19:04Z araujo joined #lisp 2015-02-10T09:20:21Z meiji11 quit (Remote host closed the connection) 2015-02-10T09:20:27Z defaultxr quit (Quit: gnight) 2015-02-10T09:23:18Z jasom quit (Ping timeout: 245 seconds) 2015-02-10T09:25:04Z Ven_ joined #lisp 2015-02-10T09:25:05Z stardiviner quit (Ping timeout: 256 seconds) 2015-02-10T09:26:19Z karswell quit (Remote host closed the connection) 2015-02-10T09:27:11Z karswell joined #lisp 2015-02-10T09:28:41Z jasom joined #lisp 2015-02-10T09:30:01Z devll joined #lisp 2015-02-10T09:30:08Z Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-02-10T09:35:52Z zadock joined #lisp 2015-02-10T09:36:46Z vlnx joined #lisp 2015-02-10T09:38:20Z stardiviner joined #lisp 2015-02-10T09:38:49Z zadock quit (Remote host closed the connection) 2015-02-10T09:48:07Z k-dawg joined #lisp 2015-02-10T09:48:24Z cadadar joined #lisp 2015-02-10T09:49:08Z k-dawg quit (Client Quit) 2015-02-10T09:50:20Z Harag joined #lisp 2015-02-10T09:50:27Z Harag1 quit (Remote host closed the connection) 2015-02-10T09:51:07Z zadock joined #lisp 2015-02-10T09:52:17Z zadock quit (Remote host closed the connection) 2015-02-10T09:53:00Z zadock joined #lisp 2015-02-10T09:55:56Z ASau quit (Remote host closed the connection) 2015-02-10T09:57:34Z ASau joined #lisp 2015-02-10T09:59:39Z stux|RC-only quit (Ping timeout: 256 seconds) 2015-02-10T10:02:39Z Saigut joined #lisp 2015-02-10T10:02:48Z ASau quit (Remote host closed the connection) 2015-02-10T10:03:20Z stux|RC-only joined #lisp 2015-02-10T10:03:24Z ASau joined #lisp 2015-02-10T10:06:01Z johann joined #lisp 2015-02-10T10:07:31Z kcj quit (Remote host closed the connection) 2015-02-10T10:09:52Z qubitnerd joined #lisp 2015-02-10T10:09:54Z intinig joined #lisp 2015-02-10T10:11:07Z johann quit (Ping timeout: 245 seconds) 2015-02-10T10:12:39Z mega1 joined #lisp 2015-02-10T10:15:40Z frkout_ quit (Remote host closed the connection) 2015-02-10T10:17:22Z vsync_ quit (Ping timeout: 245 seconds) 2015-02-10T10:18:48Z vsync_ joined #lisp 2015-02-10T10:20:45Z brkpnt_ joined #lisp 2015-02-10T10:24:13Z harish quit (Ping timeout: 264 seconds) 2015-02-10T10:31:17Z d4ryus__ is now known as d4ryus 2015-02-10T10:31:58Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-10T10:32:35Z echo-area quit (Remote host closed the connection) 2015-02-10T10:33:25Z pranavrc_ quit 2015-02-10T10:33:34Z Ven_ joined #lisp 2015-02-10T10:33:35Z pranavrc joined #lisp 2015-02-10T10:36:06Z the_real_intinig joined #lisp 2015-02-10T10:36:52Z srcerer quit (Ping timeout: 255 seconds) 2015-02-10T10:37:50Z srcerer joined #lisp 2015-02-10T10:39:17Z intinig quit (Ping timeout: 244 seconds) 2015-02-10T10:41:42Z fantazo quit (Quit: Verlassend) 2015-02-10T10:47:27Z brkpnt_ quit (Remote host closed the connection) 2015-02-10T10:51:40Z frkout joined #lisp 2015-02-10T10:59:49Z Harag quit (Remote host closed the connection) 2015-02-10T11:00:21Z frkout quit (Read error: Connection reset by peer) 2015-02-10T11:00:24Z Harag joined #lisp 2015-02-10T11:01:05Z devll quit (Remote host closed the connection) 2015-02-10T11:02:13Z cadadar quit (Ping timeout: 264 seconds) 2015-02-10T11:03:51Z angavrilov joined #lisp 2015-02-10T11:08:54Z alexherbo2 joined #lisp 2015-02-10T11:19:28Z Karl_Dscc joined #lisp 2015-02-10T11:20:35Z hitecnologys joined #lisp 2015-02-10T11:21:44Z johann joined #lisp 2015-02-10T11:27:10Z johann quit (Ping timeout: 265 seconds) 2015-02-10T11:27:23Z antgreen quit (Remote host closed the connection) 2015-02-10T11:31:13Z leo2007 quit (Ping timeout: 245 seconds) 2015-02-10T11:32:42Z leo2007 joined #lisp 2015-02-10T11:36:39Z k-dawg joined #lisp 2015-02-10T11:45:26Z enitiz joined #lisp 2015-02-10T11:45:37Z enitiz quit (Remote host closed the connection) 2015-02-10T11:45:49Z qubitnerd quit (Ping timeout: 264 seconds) 2015-02-10T11:46:49Z enitiz joined #lisp 2015-02-10T11:47:33Z enitiz quit (Read error: Connection reset by peer) 2015-02-10T11:54:01Z paradoja joined #lisp 2015-02-10T11:54:59Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-02-10T11:56:29Z Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-02-10T11:57:15Z attila_lendvai joined #lisp 2015-02-10T11:57:15Z attila_lendvai quit (Changing host) 2015-02-10T11:57:15Z attila_lendvai joined #lisp 2015-02-10T11:59:32Z ebrasca joined #lisp 2015-02-10T12:00:02Z Denommus` joined #lisp 2015-02-10T12:01:28Z Denommus quit (Ping timeout: 255 seconds) 2015-02-10T12:02:03Z enitiz joined #lisp 2015-02-10T12:06:39Z Ralt quit (Ping timeout: 272 seconds) 2015-02-10T12:08:13Z psy_ quit (Read error: No route to host) 2015-02-10T12:08:37Z JuanDaugherty joined #lisp 2015-02-10T12:16:35Z johann joined #lisp 2015-02-10T12:18:28Z love-and-peace joined #lisp 2015-02-10T12:19:07Z love-and-peace: hi friends! little question on common-lisp: is there a way to make a integer as keyword? 2015-02-10T12:19:48Z |3b|: not sure what you mean, :123 ? 2015-02-10T12:20:35Z eudoxia joined #lisp 2015-02-10T12:20:36Z love-and-peace: |3b|: right - i have a plist, which shall take strings and numbers as keywords 2015-02-10T12:21:20Z Beetny quit (Ping timeout: 250 seconds) 2015-02-10T12:21:57Z jackdaniel: love-and-peace: (defun xxx (&key |123|) (print |123|)) ; you may use it as (xxx :123 4) 2015-02-10T12:22:21Z |3b|: (getf '(1 2 3 4) 1) -> 2 2015-02-10T12:22:55Z |3b|: strings are a bit harder though, you need to have the same string, not just one with the same contents... better to use symbols or a different data structure in that case 2015-02-10T12:23:17Z oleo__ is now known as oleo 2015-02-10T12:23:26Z love-and-peace: jackdaniel & |3b|: i will try both - thank you very much :) 2015-02-10T12:23:30Z Shinmera: (assoc "foo" '(("foo" . "a") (1 . "b")) :test #'equal) 2015-02-10T12:23:44Z Shinmera: Just use an alist, assoc allows a test so you can use both strings and numbers as keys. 2015-02-10T12:23:54Z |3b|: or a hash table 2015-02-10T12:24:20Z jackdaniel: or butterflies 2015-02-10T12:24:24Z jackdaniel: ;-) 2015-02-10T12:24:37Z love-and-peace: Shinmera: ah, okay, seems to fit better - there could be better structures... xD thanks all for the hints 2015-02-10T12:25:00Z Shinmera: That getf doesn't have a :test argument has bothered me a few times. 2015-02-10T12:25:18Z ebrasca: how it (loop for (n v uv c) ... work? 2015-02-10T12:25:28Z Shinmera: Magic 2015-02-10T12:26:13Z cadadar joined #lisp 2015-02-10T12:26:26Z ebrasca: i know how work (loop for n ... 2015-02-10T12:26:36Z Shinmera: Do you know about destructuring-bind? 2015-02-10T12:26:51Z ebrasca: I,don't 2015-02-10T12:27:01Z Shinmera: clhs destructuring-bind 2015-02-10T12:27:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_destru.htm 2015-02-10T12:27:09Z |3b|: it works the same way, but assumes the value is a list and assigns the first 4 values to N,V,UV,C (or NIL if there are fewer than 4 values in the list) 2015-02-10T12:27:27Z munksgaard quit (Read error: Connection reset by peer) 2015-02-10T12:27:29Z |3b|: it is similar to destructuring-bind, but not exactly the same 2015-02-10T12:27:39Z Shinmera: Sadly not quite the same. 2015-02-10T12:27:42Z munksgaard joined #lisp 2015-02-10T12:28:23Z |3b|: actually, i guess mostly different aside from the basic idea :p 2015-02-10T12:28:39Z Shinmera: Yeah, for some reason I always think of it as a destructuring-bind 2015-02-10T12:28:51Z Shinmera: My bad. 2015-02-10T12:29:30Z qubitnerd joined #lisp 2015-02-10T12:30:30Z Shinmera: ebrasca: Basically try: (loop for (a b) in '((1 2) (x y)) do (format T "~a and ~a" a b)) 2015-02-10T12:30:36Z Shinmera: should be rather apparent what it does from that. 2015-02-10T12:31:25Z selat joined #lisp 2015-02-10T12:31:33Z ebrasca: Shinmera: thx 2015-02-10T12:31:51Z munksgaard quit (Ping timeout: 246 seconds) 2015-02-10T12:32:22Z ebrasca: thx all 2015-02-10T12:32:43Z munksgaard joined #lisp 2015-02-10T12:34:22Z Shinmera: Note that since it takes a list you can also use it to take apart alists and other constructs: (loop for (key . val) in '((a . 0) (b 1 2 3)) do (format T "Key: ~a Val: ~a~% key val)) 2015-02-10T12:34:44Z Shinmera: *(format T "Key: ~a Val: ~a~%" key val) 2015-02-10T12:36:33Z ehu: ebrasca: using numbers in keyword positions (without making them true keywords) is not necessarily going to work: numbers in CL are guaranteed to be EQL, while symbols are guaranteed to be EQ. 2015-02-10T12:36:49Z Shinmera: numbers are guaranteed EQL 2015-02-10T12:36:55Z Shinmera: they are not guaranteed EQ. 2015-02-10T12:37:04Z ehu: Shinmera: riht. 2015-02-10T12:37:05Z hitecnologys_ joined #lisp 2015-02-10T12:37:06Z ehu: right. 2015-02-10T12:37:10Z ehu: that's what I said? 2015-02-10T12:37:19Z Shinmera: Oh, I misread. 2015-02-10T12:37:19Z ehu: ah. 2015-02-10T12:37:26Z ehu: I didn't *exactly* say that. 2015-02-10T12:37:43Z ehu: I didn't say that they are *not* *guaranteed* to be EQ 2015-02-10T12:37:53Z easye joined #lisp 2015-02-10T12:38:53Z tkhoa2711 joined #lisp 2015-02-10T12:39:24Z Shinmera: On some implementations EQ can trip you over pretty badly with numbers. (eg abcl: (eq 700 700) => NIL) 2015-02-10T12:39:56Z hitecnologys quit (Ping timeout: 246 seconds) 2015-02-10T12:41:24Z |3b|: can on any implementation, they are free to assume you verified it wasn't a number 2015-02-10T12:41:29Z kushal quit (Ping timeout: 245 seconds) 2015-02-10T12:41:55Z |3b|: or to just skip checking if it knows one or more args are numbers 2015-02-10T12:42:05Z xan_ joined #lisp 2015-02-10T12:44:12Z Grue`: is there any implementation where (let ((x 12345)) (eq x x)) is false (for some integer)? 2015-02-10T12:44:42Z Shinmera: can't be because it denotes the same object 2015-02-10T12:44:48Z Longlius quit (Remote host closed the connection) 2015-02-10T12:44:52Z ehu: Shinmera: on abcl: (eq 10 10) --> T 2015-02-10T12:44:53Z |3b|: doesn't just depend on the integer, could depend on compilation setting as well 2015-02-10T12:44:56Z Grue`: it's allowed to be false in the spec 2015-02-10T12:45:05Z kushal joined #lisp 2015-02-10T12:45:05Z Shinmera: ehu: Yes, some numbers are cached. Try higher ones. 2015-02-10T12:45:14Z |3b|: could depend on other code in the function 2015-02-10T12:45:18Z Shinmera: Grue`: Oh, really? Huh. 2015-02-10T12:47:19Z Shinmera: "An implementation is permitted to make ``copies'' of characters and numbers at any time. The effect is that Common Lisp makes no guarantee that eq is true even when both its arguments are ``the same thing'' if that thing is a character or number." 2015-02-10T12:47:21Z Shinmera: interesting. 2015-02-10T12:48:45Z yrk joined #lisp 2015-02-10T12:49:17Z yrk quit (Changing host) 2015-02-10T12:49:17Z yrk joined #lisp 2015-02-10T12:51:29Z spacebatty joined #lisp 2015-02-10T12:52:36Z fantazo joined #lisp 2015-02-10T12:56:35Z Mon_Ouie quit (Ping timeout: 250 seconds) 2015-02-10T13:02:58Z capcar joined #lisp 2015-02-10T13:03:11Z smokeink joined #lisp 2015-02-10T13:04:52Z Denommus` quit (Ping timeout: 240 seconds) 2015-02-10T13:07:02Z Ven_ joined #lisp 2015-02-10T13:09:20Z pranavrc quit 2015-02-10T13:09:26Z cadadar quit (Quit: Leaving.) 2015-02-10T13:10:57Z xyh quit (Remote host closed the connection) 2015-02-10T13:12:18Z nicdev` is now known as nicdev 2015-02-10T13:13:16Z xyh joined #lisp 2015-02-10T13:13:57Z kobain joined #lisp 2015-02-10T13:15:57Z enitiz quit (Remote host closed the connection) 2015-02-10T13:18:08Z hiyosi joined #lisp 2015-02-10T13:24:43Z profess joined #lisp 2015-02-10T13:27:51Z gabriel_laddel joined #lisp 2015-02-10T13:30:32Z EvW joined #lisp 2015-02-10T13:31:50Z manuel___ joined #lisp 2015-02-10T13:35:27Z enitiz joined #lisp 2015-02-10T13:35:52Z urandom__ joined #lisp 2015-02-10T13:36:01Z manuel___ quit (Ping timeout: 250 seconds) 2015-02-10T13:37:36Z Saigut quit (Read error: Connection reset by peer) 2015-02-10T13:37:41Z protist quit (Ping timeout: 246 seconds) 2015-02-10T13:38:11Z Saigut joined #lisp 2015-02-10T13:39:23Z ejbs joined #lisp 2015-02-10T13:40:38Z AeroNotix quit (Ping timeout: 244 seconds) 2015-02-10T13:44:38Z AeroNotix joined #lisp 2015-02-10T13:47:30Z gko__ joined #lisp 2015-02-10T13:48:07Z Pyridrym joined #lisp 2015-02-10T13:52:48Z vaporatorius joined #lisp 2015-02-10T13:53:25Z LiamH joined #lisp 2015-02-10T14:04:18Z badkins joined #lisp 2015-02-10T14:08:09Z enitiz quit (Ping timeout: 245 seconds) 2015-02-10T14:10:23Z foom quit (Ping timeout: 245 seconds) 2015-02-10T14:15:35Z badkins_ joined #lisp 2015-02-10T14:18:17Z badkins quit (Ping timeout: 246 seconds) 2015-02-10T14:18:37Z tajjada joined #lisp 2015-02-10T14:19:11Z qubitnerd quit (Ping timeout: 256 seconds) 2015-02-10T14:21:14Z johann quit (Remote host closed the connection) 2015-02-10T14:21:49Z johann joined #lisp 2015-02-10T14:22:29Z yeticry quit (Ping timeout: 244 seconds) 2015-02-10T14:22:43Z foom joined #lisp 2015-02-10T14:24:46Z yeticry joined #lisp 2015-02-10T14:26:06Z frkout joined #lisp 2015-02-10T14:26:12Z antgreen joined #lisp 2015-02-10T14:26:17Z johann quit (Ping timeout: 250 seconds) 2015-02-10T14:30:29Z frkout quit (Ping timeout: 246 seconds) 2015-02-10T14:34:51Z ebrasca: |3b|: thx now i understand vbo/vao 2015-02-10T14:35:17Z mishoo_ joined #lisp 2015-02-10T14:35:26Z mishoo quit (Ping timeout: 252 seconds) 2015-02-10T14:35:48Z Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-02-10T14:38:42Z cluck joined #lisp 2015-02-10T14:41:14Z hardenedapple joined #lisp 2015-02-10T14:41:21Z DeadTrickster quit (Read error: No route to host) 2015-02-10T14:42:52Z Ven_ joined #lisp 2015-02-10T14:43:30Z DeadTrickster joined #lisp 2015-02-10T14:44:26Z raphaelss quit (Quit: leaving) 2015-02-10T14:49:02Z gabriel_laddel quit (Ping timeout: 245 seconds) 2015-02-10T14:55:27Z ejbs quit (Ping timeout: 256 seconds) 2015-02-10T14:55:42Z rhllor joined #lisp 2015-02-10T14:56:01Z Ethan- quit (Ping timeout: 256 seconds) 2015-02-10T14:56:13Z zacharias quit (Ping timeout: 264 seconds) 2015-02-10T14:58:12Z cadadar joined #lisp 2015-02-10T14:59:35Z ovenpasta quit (Ping timeout: 246 seconds) 2015-02-10T15:01:17Z hiroakip quit (Ping timeout: 265 seconds) 2015-02-10T15:02:15Z arenz quit (Ping timeout: 256 seconds) 2015-02-10T15:02:19Z hiroakip joined #lisp 2015-02-10T15:08:24Z qubitnerd joined #lisp 2015-02-10T15:09:24Z nell joined #lisp 2015-02-10T15:11:04Z urandom__ quit (Quit: Konversation terminated!) 2015-02-10T15:14:38Z Ober quit (Ping timeout: 246 seconds) 2015-02-10T15:15:55Z hiroakip quit (Remote host closed the connection) 2015-02-10T15:18:16Z zadock quit (Quit: Leaving) 2015-02-10T15:21:53Z Saigut quit (Remote host closed the connection) 2015-02-10T15:22:52Z Big_G joined #lisp 2015-02-10T15:23:42Z the_real_intinig is now known as intinig 2015-02-10T15:24:10Z jlongster joined #lisp 2015-02-10T15:24:38Z EvW quit (Ping timeout: 250 seconds) 2015-02-10T15:28:23Z zacharias joined #lisp 2015-02-10T15:30:58Z billyJoe joined #lisp 2015-02-10T15:33:11Z billyJoe quit 2015-02-10T15:33:24Z pierre1_ joined #lisp 2015-02-10T15:36:31Z Ven_ quit (Ping timeout: 252 seconds) 2015-02-10T15:37:48Z enitiz joined #lisp 2015-02-10T15:39:07Z wheelsucker joined #lisp 2015-02-10T15:41:53Z pt1 quit (Ping timeout: 240 seconds) 2015-02-10T15:42:46Z aap quit (Remote host closed the connection) 2015-02-10T15:44:19Z psy_ joined #lisp 2015-02-10T15:45:39Z arpunk joined #lisp 2015-02-10T15:48:05Z smokeink quit (Read error: Connection reset by peer) 2015-02-10T15:51:46Z Ven_ joined #lisp 2015-02-10T15:54:24Z attila_lendvai quit (Quit: Leaving.) 2015-02-10T15:55:20Z hiroakip joined #lisp 2015-02-10T15:55:30Z aap joined #lisp 2015-02-10T15:57:52Z Guest34609 quit (Ping timeout: 240 seconds) 2015-02-10T15:58:16Z holycow joined #lisp 2015-02-10T15:58:40Z holycow is now known as Guest54303 2015-02-10T15:59:59Z tharugrim joined #lisp 2015-02-10T16:01:48Z xyh: how to disable compiler warnings (CCL) ? 2015-02-10T16:02:15Z Guest54303 quit (Client Quit) 2015-02-10T16:09:55Z Cymew quit (Ping timeout: 265 seconds) 2015-02-10T16:11:06Z BlueRavenGT joined #lisp 2015-02-10T16:12:27Z kapil__ quit (Quit: Connection closed for inactivity) 2015-02-10T16:15:21Z ggole quit (Ping timeout: 256 seconds) 2015-02-10T16:18:32Z Karl_Dscc quit (Remote host closed the connection) 2015-02-10T16:19:56Z radioninja quit (Ping timeout: 252 seconds) 2015-02-10T16:20:26Z theseb joined #lisp 2015-02-10T16:22:19Z a20150101 joined #lisp 2015-02-10T16:22:22Z araujo quit (Quit: Leaving) 2015-02-10T16:23:20Z xjgrant quit (Remote host closed the connection) 2015-02-10T16:23:27Z ebrasca quit (Quit: ebrasca) 2015-02-10T16:23:48Z a20150210 joined #lisp 2015-02-10T16:23:48Z grantix joined #lisp 2015-02-10T16:26:15Z xificurC quit (Quit: WeeChat 1.0.1) 2015-02-10T16:28:22Z rhllor left #lisp 2015-02-10T16:28:48Z rhllor joined #lisp 2015-02-10T16:29:09Z hardenedapple quit (Quit: WeeChat 1.1.1) 2015-02-10T16:31:56Z Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-02-10T16:37:53Z sword` quit (Ping timeout: 245 seconds) 2015-02-10T16:40:53Z xan_ quit (Quit: Lost terminal) 2015-02-10T16:41:43Z badkins_ is now known as badkins 2015-02-10T16:43:01Z pt1 joined #lisp 2015-02-10T16:45:08Z fantazo quit (Quit: Verlassend) 2015-02-10T16:45:13Z hlavaty joined #lisp 2015-02-10T16:48:07Z edgar-rft quit (Quit: an error occurred somewhere) 2015-02-10T16:48:25Z munksgaard quit (Ping timeout: 264 seconds) 2015-02-10T16:49:48Z pt1 quit (Remote host closed the connection) 2015-02-10T16:53:23Z beach joined #lisp 2015-02-10T16:53:32Z beach: Good evening everyone! 2015-02-10T16:53:40Z beach: drmeister: I just sent you email. 2015-02-10T16:54:00Z Karl_Dscc joined #lisp 2015-02-10T16:55:14Z zacharias quit (Quit: WeeChat 1.1.1) 2015-02-10T16:55:29Z zacharias joined #lisp 2015-02-10T16:55:58Z beach: drmeister: In Cleavir/Intermediate-representation/HIR/general-purpose-instructions.lisp there should be a class named top-level-enter-instruction, with enter-instruction as its superclass. If that is not the case, something is wrong. 2015-02-10T16:56:47Z gingerale joined #lisp 2015-02-10T16:58:24Z innertracks joined #lisp 2015-02-10T17:02:54Z eudoxia quit (Quit: Leaving) 2015-02-10T17:03:30Z harish joined #lisp 2015-02-10T17:04:30Z Bicyclidine joined #lisp 2015-02-10T17:10:17Z paradoja quit (Ping timeout: 245 seconds) 2015-02-10T17:10:54Z zacharias quit (Ping timeout: 252 seconds) 2015-02-10T17:13:22Z brkpnt_ joined #lisp 2015-02-10T17:18:07Z bb010g quit (Quit: Connection closed for inactivity) 2015-02-10T17:18:36Z zadock joined #lisp 2015-02-10T17:19:58Z enitiz quit (Ping timeout: 245 seconds) 2015-02-10T17:23:07Z johann_ joined #lisp 2015-02-10T17:24:21Z redeemed quit (Ping timeout: 244 seconds) 2015-02-10T17:25:03Z brkpnt_ quit (Ping timeout: 252 seconds) 2015-02-10T17:25:11Z brkpnt___ joined #lisp 2015-02-10T17:26:13Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-10T17:28:12Z johann_ quit (Ping timeout: 245 seconds) 2015-02-10T17:30:26Z drmeister: Hey beach: I saw your email. 2015-02-10T17:30:40Z brkpnt___ is now known as brkpnt 2015-02-10T17:30:49Z pt1 joined #lisp 2015-02-10T17:31:02Z beach: Good! :) 2015-02-10T17:31:28Z drmeister: I'm just checking the code for the top-level-enter-instruction class 2015-02-10T17:32:28Z drmeister: Hmm, it's there - maybe I need to restart slime and reload everything - hang on. 2015-02-10T17:32:48Z beach: It could be a dependency problem. 2015-02-10T17:33:03Z Patzy quit (Ping timeout: 250 seconds) 2015-02-10T17:33:12Z yrk quit (Read error: Connection reset by peer) 2015-02-10T17:33:17Z drmeister: On my end or your end? 2015-02-10T17:33:22Z beach: Both. 2015-02-10T17:33:44Z Patzy joined #lisp 2015-02-10T17:33:49Z beach: I may have forgotten to make a system depend on all the other systems it ought to depend on. 2015-02-10T17:34:44Z drmeister: I restarted everything and I still see the error 2015-02-10T17:35:39Z beach: What signals the error? 2015-02-10T17:35:57Z xificurC joined #lisp 2015-02-10T17:37:00Z yrk joined #lisp 2015-02-10T17:37:15Z drmeister: The last function that I see is COMPILE-AST 2015-02-10T17:37:31Z yrk quit (Changing host) 2015-02-10T17:37:32Z yrk joined #lisp 2015-02-10T17:37:35Z drmeister: Then CHANGE-CLASS and FIND-CLASS --> fail 2015-02-10T17:37:48Z beach: Is this during compilation or execution? 2015-02-10T17:38:33Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-10T17:38:40Z drmeister: I'm going to say execution - my compiler doesn't care 2015-02-10T17:39:04Z beach: OK hold on... 2015-02-10T17:39:25Z drmeister: I'm doing some checks myself. 2015-02-10T17:40:01Z drmeister: (apropos "top-level") doesn't generate anything - so it hasn't been compiled. I can try wiping out the asdf cache. 2015-02-10T17:40:32Z drmeister: No - wait - hang on. 2015-02-10T17:40:49Z drmeister: I was looking in the wrong frame 2015-02-10T17:41:01Z grantix quit (Remote host closed the connection) 2015-02-10T17:41:32Z beach: There was a missing package prefix on that class. 2015-02-10T17:41:46Z beach: I haven't executed that code myself yet, so I haven't seen it yet. 2015-02-10T17:41:54Z beach: I put in the package prefix, but I haven't tested it. 2015-02-10T17:42:00Z drmeister: (find-class 'cleavir-ir:top-level-enter-instruction) --> # 2015-02-10T17:42:12Z drmeister: That should do it. 2015-02-10T17:42:35Z drmeister: Why does it work for you? Are you using packages that I am not? 2015-02-10T17:43:33Z beach: Read what I wrote! :) 2015-02-10T17:43:39Z beach: I haven't executed that code myself yet. 2015-02-10T17:44:37Z drmeister: Ah, I thought you meant that you haven't executed the code with the package prefix added. 2015-02-10T17:45:15Z drmeister feels like a guinea pig 2015-02-10T17:45:20Z beach: No, I meant, you are further along than I am. :) 2015-02-10T17:45:28Z vlion quit (Ping timeout: 250 seconds) 2015-02-10T17:45:42Z drmeister: Now it gets further: The slot CLEAVIR-IR::%LAMBDA-LIST in the object a CLEAVIR-IR:TOP-LEVEL-ENTER-INSTRUCTION#<0x1118b6478> is unbound. 2015-02-10T17:45:44Z jdz quit (Ping timeout: 252 seconds) 2015-02-10T17:46:45Z beach: Hmm. CHANGE-CLASS preserves existing slots, right? 2015-02-10T17:46:51Z radioninja joined #lisp 2015-02-10T17:47:06Z beach: Let me check something else... 2015-02-10T17:48:22Z attila_lendvai joined #lisp 2015-02-10T17:48:29Z attila_lendvai quit (Changing host) 2015-02-10T17:48:30Z attila_lendvai joined #lisp 2015-02-10T17:51:25Z jackdaniel: _death: this bug happens only, when you compile function, and it's present on 13.5.1 on x86 as well 2015-02-10T17:52:14Z jackdaniel: _death: function defined in repl works fine 2015-02-10T17:52:18Z beach: drmeister: Yeah, I see the problem. 2015-02-10T17:52:26Z jdz joined #lisp 2015-02-10T17:53:59Z recycle quit (Ping timeout: 245 seconds) 2015-02-10T17:54:13Z beach: drmeister: I need more time to fix that. And now I must go fix dinner, too. 2015-02-10T17:54:38Z grantix joined #lisp 2015-02-10T17:55:06Z drmeister: No problem - I'm going for a swim. Send me an email when you get it fixed today or tomorrow. 2015-02-10T17:55:07Z beach: Hopefully, after I have had dinner, social life, and sleep, I should be able to get to a point where I am able to execute all that code myself, so you don't have to feel like a guinea pig. 2015-02-10T17:55:40Z beach: OK, have a nice swim. 2015-02-10T17:55:55Z drmeister: Don't worry about the guinea pig thing. I'm anxious to see what these changes look like. 2015-02-10T17:55:58Z drmeister: One quick question 2015-02-10T17:56:06Z beach: Sure. 2015-02-10T17:56:20Z drmeister: How does the maximum number of arguments to a function impact your new approach? 2015-02-10T17:56:36Z jackdaniel: when I C-c C-c code in slime, what exactly happens? 2015-02-10T17:56:36Z drmeister: Or does it? 2015-02-10T17:56:42Z beach: Good question. I thought about it, but decided not to care for the time being. 2015-02-10T17:56:53Z beach: Sorry, got to go. 2015-02-10T17:57:29Z drmeister: jackdaniel: It writes the code to a temporary file and compiles that temporary file spoofing the compiler into thinking that it is compiling part of a larger, different source file. 2015-02-10T17:57:53Z jackdaniel: drmeister: thanks 2015-02-10T17:58:11Z hiroakip quit (Ping timeout: 265 seconds) 2015-02-10T17:58:14Z Gues_____ joined #lisp 2015-02-10T17:58:19Z Gues_____ quit (Max SendQ exceeded) 2015-02-10T17:58:39Z Rundfunk_ joined #lisp 2015-02-10T17:58:50Z hitecnologys_ is now known as hitecnologys 2015-02-10T17:59:22Z kushal quit (Ping timeout: 240 seconds) 2015-02-10T17:59:52Z xyh: is there a function like INTEGER->STRING ? 2015-02-10T18:00:10Z xyh: 123 -> "123" 2015-02-10T18:00:19Z drmeister: (format nil "~a" 123) 2015-02-10T18:00:22Z jackdaniel: xyh: (format nil "~a" your-integer) 2015-02-10T18:00:32Z wglb joined #lisp 2015-02-10T18:00:43Z jackdaniel: oh 2015-02-10T18:01:38Z xyh: sorry ... I forget FORMAT (again) 2015-02-10T18:01:46Z kushal joined #lisp 2015-02-10T18:02:07Z Bicyclidine: or write-to-string. 2015-02-10T18:02:33Z jackdaniel: drmeister: so there should be no difference when i just (compile-file #P"/path/to/function/definition.lisp") ? 2015-02-10T18:02:59Z jackdaniel: if file contains only this function of course 2015-02-10T18:04:41Z drmeister: jackdaniel: I think you are correct. Check out slime/swank/clasp.lisp function: swank-compile-string 2015-02-10T18:05:59Z cadadar quit (Quit: Leaving.) 2015-02-10T18:06:50Z jackdaniel: hmm, my slime doesn't have it (2.12), but this directory is nice hint 2015-02-10T18:07:09Z jackdaniel: i encountered weird bug in ecl, which happens *only* when C-c C-c from another buffer 2015-02-10T18:09:17Z enitiz joined #lisp 2015-02-10T18:10:17Z PinealGlandOptic joined #lisp 2015-02-10T18:10:44Z hiroakip joined #lisp 2015-02-10T18:12:19Z Ralt joined #lisp 2015-02-10T18:13:20Z sword` joined #lisp 2015-02-10T18:14:50Z Big_G quit (Read error: Connection reset by peer) 2015-02-10T18:17:09Z attila_lendvai quit (Quit: Leaving.) 2015-02-10T18:17:16Z enitiz quit (Read error: Connection reset by peer) 2015-02-10T18:17:22Z stardiviner quit (Ping timeout: 240 seconds) 2015-02-10T18:20:39Z PinealGlandOptic quit (Quit: Lost terminal) 2015-02-10T18:30:56Z stardiviner joined #lisp 2015-02-10T18:31:26Z nell quit (Quit: WeeChat 1.2-dev) 2015-02-10T18:34:15Z a20150210 quit (Quit: Page closed) 2015-02-10T18:35:27Z antgreen quit (Ping timeout: 250 seconds) 2015-02-10T18:35:36Z fantazo joined #lisp 2015-02-10T18:37:10Z drmeister: It's only in the latest slime versions 2015-02-10T18:38:14Z hitecnologys quit (Quit: hitecnologys) 2015-02-10T18:38:29Z jlongster quit (Remote host closed the connection) 2015-02-10T18:38:59Z jlongster joined #lisp 2015-02-10T18:40:28Z Denommus joined #lisp 2015-02-10T18:41:00Z BlueRavenGT quit (Remote host closed the connection) 2015-02-10T18:41:02Z Denommus quit (Client Quit) 2015-02-10T18:41:34Z jackdaniel: ecl generates bad fas for let-over-lambda, it's not swank error 2015-02-10T18:45:41Z fantazo quit (Ping timeout: 246 seconds) 2015-02-10T18:46:59Z beach left #lisp 2015-02-10T18:47:25Z fantazo joined #lisp 2015-02-10T18:47:42Z jlongster quit (Ping timeout: 252 seconds) 2015-02-10T18:48:07Z jackdaniel: ok, in compiled version (mapcar fun lst) it evaluates fun on each element, but when interpreted it behaves correctly 2015-02-10T18:51:59Z jlongster joined #lisp 2015-02-10T18:56:47Z zacharias joined #lisp 2015-02-10T18:57:57Z cadadar joined #lisp 2015-02-10T18:58:11Z BlueRavenGT joined #lisp 2015-02-10T19:00:12Z urandom__ joined #lisp 2015-02-10T19:03:18Z ovenpasta joined #lisp 2015-02-10T19:04:59Z Denommus joined #lisp 2015-02-10T19:06:25Z zadock quit (Quit: Leaving) 2015-02-10T19:09:30Z hlavaty quit (Ping timeout: 246 seconds) 2015-02-10T19:10:02Z manuel__ joined #lisp 2015-02-10T19:11:39Z ovenpasta quit (Ping timeout: 265 seconds) 2015-02-10T19:11:56Z johann_ joined #lisp 2015-02-10T19:11:58Z sheilong joined #lisp 2015-02-10T19:12:14Z munksgaard joined #lisp 2015-02-10T19:13:26Z pt1 quit (Remote host closed the connection) 2015-02-10T19:16:28Z tajjada quit (Ping timeout: 250 seconds) 2015-02-10T19:16:53Z johann_ quit (Ping timeout: 252 seconds) 2015-02-10T19:18:33Z tajjada joined #lisp 2015-02-10T19:18:45Z intinig quit (Remote host closed the connection) 2015-02-10T19:18:53Z akkad: does weitz irc? 2015-02-10T19:19:01Z H4ns: no 2015-02-10T19:19:14Z intinig joined #lisp 2015-02-10T19:20:14Z devll joined #lisp 2015-02-10T19:20:28Z pt1 joined #lisp 2015-02-10T19:23:17Z EvW joined #lisp 2015-02-10T19:25:28Z Fade: that's probably one of the reasons he publishes so much code. :) 2015-02-10T19:26:50Z Petit_Dejeuner joined #lisp 2015-02-10T19:27:36Z sword`` joined #lisp 2015-02-10T19:27:44Z intinig quit (Ping timeout: 250 seconds) 2015-02-10T19:28:34Z akkad: This regexp builder of his. 2015-02-10T19:29:02Z sword` quit (Ping timeout: 246 seconds) 2015-02-10T19:29:03Z eudoxia joined #lisp 2015-02-10T19:29:53Z theseb quit (Quit: Leaving) 2015-02-10T19:33:56Z devll quit (Remote host closed the connection) 2015-02-10T19:35:35Z Shinmera quit (Quit: brb) 2015-02-10T19:35:44Z innertracks quit (Quit: innertracks) 2015-02-10T19:37:01Z moore33 quit (Ping timeout: 264 seconds) 2015-02-10T19:37:28Z Kruppe quit (Ping timeout: 245 seconds) 2015-02-10T19:39:28Z Shinmera joined #lisp 2015-02-10T19:39:52Z munksgaard quit (Ping timeout: 240 seconds) 2015-02-10T19:40:12Z Kruppe joined #lisp 2015-02-10T19:43:38Z rhllor quit (Quit: rhllor) 2015-02-10T19:48:58Z EvW quit (Ping timeout: 250 seconds) 2015-02-10T19:49:18Z moore33 joined #lisp 2015-02-10T19:51:43Z Bicyclidine quit (Ping timeout: 255 seconds) 2015-02-10T19:51:55Z devll joined #lisp 2015-02-10T19:55:16Z JuanDaugherty quit (Quit: Hibernate, etc.) 2015-02-10T19:56:31Z xyh: an example of DEFUN in DEFUN as helper functions (just change two lines of the LET-FUN of ytool) :: https://www.refheap.com/97106 2015-02-10T19:57:25Z innertracks joined #lisp 2015-02-10T20:03:25Z xyh quit (Remote host closed the connection) 2015-02-10T20:03:27Z Bicyclidine joined #lisp 2015-02-10T20:04:26Z xyh joined #lisp 2015-02-10T20:10:56Z gko__ quit (Quit: Connection closed for inactivity) 2015-02-10T20:12:30Z antgreen joined #lisp 2015-02-10T20:16:37Z Pyridrym quit (Quit: Lost terminal) 2015-02-10T20:17:57Z dstatyvka joined #lisp 2015-02-10T20:17:58Z fantazo quit (Quit: Verlassend) 2015-02-10T20:18:27Z Harag quit (Quit: Harag) 2015-02-10T20:18:54Z selat quit (Quit: Lost terminal) 2015-02-10T20:18:59Z jrm quit (Remote host closed the connection) 2015-02-10T20:19:24Z oleo quit (Read error: Connection reset by peer) 2015-02-10T20:20:36Z jrm joined #lisp 2015-02-10T20:21:37Z oleo joined #lisp 2015-02-10T20:21:58Z pt1 quit (Remote host closed the connection) 2015-02-10T20:24:09Z hiroakip quit (Ping timeout: 265 seconds) 2015-02-10T20:27:36Z EvW joined #lisp 2015-02-10T20:29:05Z pierre1_ quit (Quit: Leaving) 2015-02-10T20:34:57Z Pyridrym joined #lisp 2015-02-10T20:38:32Z hiroakip joined #lisp 2015-02-10T20:42:45Z yrk quit (Ping timeout: 244 seconds) 2015-02-10T20:44:03Z nyef joined #lisp 2015-02-10T20:45:12Z pt1 joined #lisp 2015-02-10T20:45:27Z pt1 quit (Remote host closed the connection) 2015-02-10T20:46:47Z xyh quit (Remote host closed the connection) 2015-02-10T20:49:12Z hiroakip quit (Ping timeout: 250 seconds) 2015-02-10T20:49:35Z devon`` joined #lisp 2015-02-10T20:54:17Z pt1 joined #lisp 2015-02-10T20:54:52Z antgreen quit (Ping timeout: 240 seconds) 2015-02-10T20:57:31Z pt1 quit (Remote host closed the connection) 2015-02-10T21:00:44Z johann_ joined #lisp 2015-02-10T21:04:10Z hiroakip joined #lisp 2015-02-10T21:04:14Z sheilong quit (Quit: Konversation terminated!) 2015-02-10T21:05:34Z johann_ quit (Ping timeout: 252 seconds) 2015-02-10T21:17:48Z hiroakip quit (Ping timeout: 250 seconds) 2015-02-10T21:20:47Z Pyridrym quit (Quit: leaving) 2015-02-10T21:22:08Z heurist quit (Ping timeout: 250 seconds) 2015-02-10T21:24:06Z mindCrime_ joined #lisp 2015-02-10T21:24:35Z jasom: Is there a tutorial or other good starting point for defining new asdf components? In this case I'd like to use parenscript to generate a .js file as part of the compile stage 2015-02-10T21:26:14Z paradoja joined #lisp 2015-02-10T21:26:42Z brkpnt quit (Remote host closed the connection) 2015-02-10T21:28:20Z munksgaard joined #lisp 2015-02-10T21:28:21Z protist joined #lisp 2015-02-10T21:28:22Z angavrilov quit (Remote host closed the connection) 2015-02-10T21:29:38Z intinig joined #lisp 2015-02-10T21:29:57Z fe[nl]ix: jasom: no tutorial, but a good starting point is cffi-grovel 2015-02-10T21:30:07Z fe[nl]ix: the extension is very simple 2015-02-10T21:32:39Z hiroakip joined #lisp 2015-02-10T21:32:52Z lagging_troll joined #lisp 2015-02-10T21:35:09Z tokenrove: what is the preferred approach to defining commutative multiple dispatch methods? i've seen calling the primary method with the arguments reversed, and using a macro to define both methods with the same body. 2015-02-10T21:35:38Z Patzy quit (Ping timeout: 264 seconds) 2015-02-10T21:35:49Z Patzy joined #lisp 2015-02-10T21:35:58Z Bicyclidine: last time i had to do that i used a macro. didn't really like this solution, though. 2015-02-10T21:36:29Z Mon_Ouie joined #lisp 2015-02-10T21:38:06Z intinig quit (Ping timeout: 265 seconds) 2015-02-10T21:39:07Z tokenrove: i would guess that the macro approach avoids the extra call, although perhaps some sufficiently smart compiler can do just as well with the first approach. call-with-swapped-arguments seems cleaner somehow, but i don't have a justification for that feeling. 2015-02-10T21:40:28Z Bicyclidine: i doubt the compiler can do a lot with clos calls because of all the redefinition restrictions 2015-02-10T21:41:45Z tokenrove: a macro and double-definition it is, i guess. 2015-02-10T21:42:25Z Bicyclidine: i guess a proper thing to do might be defining your own class of gf that doesn't care about argument order, but that sounds hard 2015-02-10T21:42:27Z spacebatty quit (Ping timeout: 252 seconds) 2015-02-10T21:45:44Z vdamewood joined #lisp 2015-02-10T21:46:25Z jasom: fe[nl]ix: thanks 2015-02-10T21:47:05Z Guest89653 joined #lisp 2015-02-10T21:47:07Z Guest89653: . 2015-02-10T21:48:24Z spacebatty joined #lisp 2015-02-10T21:48:43Z Petit_Dejeuner quit (Ping timeout: 245 seconds) 2015-02-10T21:49:16Z heurist joined #lisp 2015-02-10T21:49:37Z jasom: Bicyclidine: tokenrove what about defining an inline, non-generic function that does the operation, and then two methods that invoke that function with the right order? 2015-02-10T21:50:26Z stepnem quit (Ping timeout: 244 seconds) 2015-02-10T21:50:52Z moore33 quit (Quit: Leaving) 2015-02-10T21:51:36Z tokenrove: jasom: that'd do, too; i imagine it's basically equivalent to the macro approach. either way, i'd want to make sure i'm always redefining both methods at the same time. 2015-02-10T21:52:08Z radioninja quit (Ping timeout: 252 seconds) 2015-02-10T21:56:37Z fe[nl]ix: tokenrove: why would you do such a thing ? 2015-02-10T21:56:51Z Bicyclidine: what, make a commutative generic function? 2015-02-10T21:58:04Z fe[nl]ix: yes 2015-02-10T21:58:58Z tokenrove: fe[nl]ix: maybe i'm missing something obvious. i have a method that is specialized on some types, but the order of the arguments is irrelevant, and i don't want to duplicate the method body. 2015-02-10T21:59:49Z kuzy000_ quit (Ping timeout: 264 seconds) 2015-02-10T21:59:52Z munksgaard quit (Ping timeout: 240 seconds) 2015-02-10T21:59:58Z Bicyclidine: fe[nl]ix: i don't understand why you wouldn't. there's even one in a cdr. 2015-02-10T22:00:08Z fe[nl]ix: tokenrove: then why make a second method ? 2015-02-10T22:00:33Z Petit_Dejeuner joined #lisp 2015-02-10T22:01:02Z Bicyclidine: so that you don't have to define that a nominally commutative function takes a FOO and then a BAR, and not the other way around? 2015-02-10T22:01:29Z tokenrove: fe[nl]ix: ((foo type-a) (bar type-b)) and ((foo type-b) (bar type-a)) have the same effect, but ((foo type-a) (bar something-else)) does not, so i can't just specialize on the first (or second) arguments. 2015-02-10T22:02:39Z scymtym_ joined #lisp 2015-02-10T22:03:39Z fe[nl]ix: then move the actual code into a separate function, and call that from the two methods 2015-02-10T22:04:09Z intinig joined #lisp 2015-02-10T22:04:14Z intinig quit (Remote host closed the connection) 2015-02-10T22:04:43Z intinig joined #lisp 2015-02-10T22:05:16Z Krystof: if it's really commutative in all cases, you could have a default method which swaps the arguments 2015-02-10T22:07:06Z tokenrove: thank you all for your input. 2015-02-10T22:09:04Z Devon` joined #lisp 2015-02-10T22:09:25Z intinig quit (Ping timeout: 264 seconds) 2015-02-10T22:10:03Z ehaliewicz joined #lisp 2015-02-10T22:14:52Z spacebatty quit (Ping timeout: 252 seconds) 2015-02-10T22:21:13Z Petit_Dejeuner quit (Ping timeout: 245 seconds) 2015-02-10T22:22:12Z antonv joined #lisp 2015-02-10T22:23:12Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-02-10T22:23:31Z profess quit (Ping timeout: 252 seconds) 2015-02-10T22:23:40Z vdamewood quit (Quit: Computer has gone to sleep.) 2015-02-10T22:26:39Z attila_lendvai joined #lisp 2015-02-10T22:26:40Z attila_lendvai quit (Changing host) 2015-02-10T22:26:40Z attila_lendvai joined #lisp 2015-02-10T22:29:38Z mischief joined #lisp 2015-02-10T22:29:56Z mischief: hello 2015-02-10T22:30:01Z mischief: is there a lisp bot here 2015-02-10T22:30:59Z akkad: clhs print 2015-02-10T22:31:00Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_pr.htm 2015-02-10T22:31:29Z mischief: clhs (if (> 2 3) "Yup") 2015-02-10T22:31:32Z mischief: ? 2015-02-10T22:31:48Z akkad: specbot: help 2015-02-10T22:31:48Z specbot: To use the specbot bot, say something like "database term", where database can be: clhs lp mop. 2015-02-10T22:32:54Z robot-beethoven joined #lisp 2015-02-10T22:33:29Z mischief: specbot: help lp 2015-02-10T22:33:35Z mischief: i suck at this 2015-02-10T22:33:52Z pillton: The database lp is for launchpad bugs. 2015-02-10T22:34:34Z zygentoma joined #lisp 2015-02-10T22:35:06Z Grue`: mischief: you can't make a bot execute arbitrary lisp code, that would be very unsafe 2015-02-10T22:35:45Z mischief: why not? 2015-02-10T22:35:59Z gingerale quit (Ping timeout: 246 seconds) 2015-02-10T22:36:03Z pillton: Grue`: Unless you had first class environments. 2015-02-10T22:36:17Z fridim_ quit (Ping timeout: 246 seconds) 2015-02-10T22:37:13Z Grue`: it would still be very hard to sandbox 2015-02-10T22:38:13Z mischief: i know in lua you can certainly make sandbox because you can limit vm step count, and remove all unsafe c-level functions from the environment, or override them in a new environment with lua functions 2015-02-10T22:38:19Z mischief: can you not do that in a lisp vm? 2015-02-10T22:39:15Z nyef: There's also the matter that evalbots tend to adversely affect the signal-to-noise ratio of the channel. There are some limits on minion to prevent that sort of thing with some of its features. 2015-02-10T22:39:26Z Pyridrym joined #lisp 2015-02-10T22:40:05Z wheelsucker quit (Quit: Client Quit) 2015-02-10T22:43:07Z resttime quit (Quit: resttime) 2015-02-10T22:43:55Z LiamH quit (Quit: Leaving.) 2015-02-10T22:44:13Z devll quit (Ping timeout: 264 seconds) 2015-02-10T22:45:43Z Bahman joined #lisp 2015-02-10T22:46:23Z Bahman: Greetings! 2015-02-10T22:46:51Z decent: Howdy! 2015-02-10T22:47:17Z resttime joined #lisp 2015-02-10T22:49:27Z johann_ joined #lisp 2015-02-10T22:50:38Z J_4096 joined #lisp 2015-02-10T22:51:41Z AeroNotix: sie ma 2015-02-10T22:54:11Z johann_ quit (Ping timeout: 246 seconds) 2015-02-10T22:55:32Z clop quit (Ping timeout: 246 seconds) 2015-02-10T22:55:33Z dilated_dinosaur quit (Ping timeout: 246 seconds) 2015-02-10T22:57:59Z defaultxr joined #lisp 2015-02-10T22:58:06Z clop joined #lisp 2015-02-10T22:59:07Z zygentoma quit (Read error: Connection reset by peer) 2015-02-10T22:59:26Z zygentoma joined #lisp 2015-02-10T23:00:12Z lagging_troll quit (Remote host closed the connection) 2015-02-10T23:00:59Z White_Flame: mischief: The only standard way to hide something in CL is to put in a closure, and even then implementation-specific debug calls can likely access it 2015-02-10T23:01:25Z White_Flame awaits any other ways of hiding objects that I didn't recall 2015-02-10T23:06:02Z nyef: You can always unintern some symbols... 2015-02-10T23:06:34Z zygentoma quit (Ping timeout: 255 seconds) 2015-02-10T23:07:14Z mischief: i decided to write a scheme myself in c, and i've never really written a lisp-like language ever before. so the concepts are very different to me. SICP is helping, though :) 2015-02-10T23:07:42Z innertracks quit (Quit: innertracks) 2015-02-10T23:08:25Z dilated_dinosaur joined #lisp 2015-02-10T23:08:37Z xificurC quit (Ping timeout: 245 seconds) 2015-02-10T23:09:08Z ehu quit (Ping timeout: 252 seconds) 2015-02-10T23:09:30Z ehu joined #lisp 2015-02-10T23:09:44Z mischief: are "strings" supposed to be distinct from symbols? 2015-02-10T23:10:01Z ehu quit (Client Quit) 2015-02-10T23:11:17Z White_Flame: yes 2015-02-10T23:11:30Z logand joined #lisp 2015-02-10T23:11:32Z ruste quit (Ping timeout: 245 seconds) 2015-02-10T23:11:38Z White_Flame: symbols are (usually) interned into a package 2015-02-10T23:11:48Z White_Flame: making them singleton objects 2015-02-10T23:12:16Z cadadar quit (Quit: Leaving.) 2015-02-10T23:12:45Z mischief: so a string is a distinct data type from a symbol, an atom like an integer? 2015-02-10T23:12:50Z White_Flame: yes 2015-02-10T23:13:03Z White_Flame: a symbol is an object which references a string & package which name it 2015-02-10T23:13:29Z Bicyclidine: old lisps conflated them and used symbols where we'd use strings now 2015-02-10T23:13:36Z White_Flame: it also has a value, a plist for generic storage, a function, and more 2015-02-10T23:13:51Z ynniv joined #lisp 2015-02-10T23:14:26Z logand: hi, are there any lispers here that would like to meet in japan? 2015-02-10T23:14:29Z White_Flame: when you do (defun foo () ..), that sets the symbol-function of the symbol FOO to that functionality 2015-02-10T23:15:01Z ynniv: How does one expect to run unit tests for a new project? (ie, how should I organize mine to be more obvious) 2015-02-10T23:15:03Z White_Flame: logand: sounds like fun, but I'm not planning on flying to Japan any time soon :-P 2015-02-10T23:15:20Z mischief: White_Flame: ok.. i guess i need to add a string data type then. 2015-02-10T23:15:47Z logand: White_Flame: no prob, i'm flying to japan and thinking about some kind of lisp meeting would be nice 2015-02-10T23:15:54Z White_Flame: very old lisps didn't even have strings. They're not technically necessary 2015-02-10T23:16:02Z mischief: i'm noticing that 2015-02-10T23:16:10Z Bicyclidine: still nice to have, though. 2015-02-10T23:16:36Z mischief: i can write (in my own language i am writing) (print "foo") and this tries to lookup symbol foo and print its value 2015-02-10T23:16:47Z mischief: but (print (quote "foo")) just prints foo 2015-02-10T23:16:48Z Bicyclidine: ok, that's probably wrong. 2015-02-10T23:17:05Z zygentoma joined #lisp 2015-02-10T23:17:11Z hiroakip quit (Ping timeout: 265 seconds) 2015-02-10T23:17:21Z White_Flame: then why bother with the doublequotes? 2015-02-10T23:17:52Z mischief: so that the parser can capture symbols with spaces 2015-02-10T23:18:05Z ynniv: now we’re getting somewhere 2015-02-10T23:18:05Z Bicyclidine: we use | for that. 2015-02-10T23:18:06Z White_Flame: so then they're optional 2015-02-10T23:18:41Z White_Flame: In CL, |foo bar| allows you to include otherwise punctuating characters, but it also doesn't modify the case 2015-02-10T23:18:53Z mischief: not really. (define a "fourty two") isn't the same as (define a fourty two) 2015-02-10T23:19:02Z White_Flame: so foo and |foo| are not identical, as their names are "FOO" and "foo" 2015-02-10T23:19:04Z ynniv: is |foo bar| interned? 2015-02-10T23:19:28Z White_Flame: mischief: I mean they're not required for all instances, only when spaces are involved 2015-02-10T23:19:33Z mischief: oh, yes. 2015-02-10T23:19:43Z Bicyclidine: ynniv: sure 2015-02-10T23:19:44Z jlongster quit (Ping timeout: 246 seconds) 2015-02-10T23:20:23Z mischief: how are macros supposed to work? are they expanded at parse-time? 2015-02-10T23:20:24Z White_Flame: but #:|foo bar| is not :) 2015-02-10T23:20:26Z ynniv: in fact, is there a difference between strings and uninterned symbols? 2015-02-10T23:20:36Z Bicyclidine: mischief: compile time, usually 2015-02-10T23:21:05Z Bicyclidine: mischief: if you just have an evaluator, it usually goes (defun eval (form env) (let ((form (macroexpand form env))) ...do stuff with form...)) 2015-02-10T23:21:07Z White_Flame: mischief: conceptually, the first step in evaluating the form 2015-02-10T23:21:32Z mischief: yes, i just have eval. no compile or byteocodes vm 2015-02-10T23:21:49Z White_Flame: note that the CL spec indicates that macros may be expanded multiple times 2015-02-10T23:21:52Z Bicyclidine: usually lisps make reading (parsing) and evaluating very separate steps. 2015-02-10T23:22:05Z Bicyclidine: you can do one during the other but it's not as bad as perl, i mean 2015-02-10T23:22:08Z mischief: so macros are actually modifying the sexprs before their evaluation or execution 2015-02-10T23:22:17Z White_Flame: yes 2015-02-10T23:22:29Z White_Flame: they're generally returning a new sexpr to replace the original macro-headed one 2015-02-10T23:22:32Z Bicyclidine: not modifying exactly, they're functions from sexprs to other sexprs. can be pure functions. 2015-02-10T23:23:19Z White_Flame: it's very bad form to directly modify sexprs that were literal in the source code 2015-02-10T23:23:30Z paradoja quit (Remote host closed the connection) 2015-02-10T23:23:31Z mischief: is there a purpose to macros other than just 'pre-processing' before execution? 2015-02-10T23:23:41Z White_Flame: creating new language features 2015-02-10T23:23:56Z mischief: e.g. is there any reason that the macro can't just be a function that is run at execution time instead of compile time 2015-02-10T23:24:03Z White_Flame: yes 2015-02-10T23:24:06Z White_Flame: consider 'if' 2015-02-10T23:24:22Z White_Flame: you do not want the "then" clause evaluated if whatever condition is false 2015-02-10T23:24:48Z White_Flame: so you can't just say (special-if-macro (do-this 1) (do-that 2)), since both the 'then' and the 'else' will be evaluated before calling the function 2015-02-10T23:24:58Z White_Flame: s/special-if-macro/special-if-function/ 2015-02-10T23:25:17Z oGMo: mischief: if you wanted macros evaluated as functions at runtime, you could for certain things (even IF), but in many cases it would perform poorly and require you eval expressions at runtime 2015-02-10T23:25:21Z Bicyclidine: you can also add arbitrary syntax, like the loop or case macros. 2015-02-10T23:25:34Z oGMo: you could translate if to (if-function (lambda ..) (lambda ..) (lambda ..)) 2015-02-10T23:25:57Z White_Flame: the only other option would be a more java-like (special-if-function (lambda () (do-this 1)) (lambda () (do-that 2))), which is more pain for the user and would run slower 2015-02-10T23:26:07Z oGMo: quite 2015-02-10T23:26:30Z mischief: my interpreter is certainly not fast, and poorly implemented. :-) 2015-02-10T23:26:41Z White_Flame: as learning projects tend to be :) 2015-02-10T23:27:02Z mischief: i guess i should write cond, seems to be fairly useful 2015-02-10T23:27:04Z oGMo: slow and working is better than optimized and not 2015-02-10T23:27:43Z profess joined #lisp 2015-02-10T23:28:12Z mrSpec quit (Remote host closed the connection) 2015-02-10T23:31:11Z impulse quit (Ping timeout: 244 seconds) 2015-02-10T23:33:33Z nell joined #lisp 2015-02-10T23:35:49Z Devon` quit (Remote host closed the connection) 2015-02-10T23:38:15Z mischief: seems i might need to write cond as a 'special form' 2015-02-10T23:38:18Z ebrasca joined #lisp 2015-02-10T23:38:47Z Bicyclidine: well, there you go. if you have if already you don't need to. 2015-02-10T23:40:00Z devll joined #lisp 2015-02-10T23:40:26Z mischief: i have if but i'm not sure how i can write cond in terms of it. 2015-02-10T23:41:15Z White_Flame: it's a great example of where a macro would be great 2015-02-10T23:41:26Z mischief: :p 2015-02-10T23:41:36Z White_Flame: transform (cond (a 1) (b 2) (c 3)) into an 'if' tree 2015-02-10T23:41:53Z White_Flame: as a source-to-source conversion, then let 'if' deal with the execution 2015-02-10T23:42:08Z Big_G joined #lisp 2015-02-10T23:42:40Z mischief: currently i have no intermediate step between parse and eval where i could write macros 2015-02-10T23:42:52Z ruste joined #lisp 2015-02-10T23:43:24Z White_Flame: but you now have a very clear example of what a macro can od that a function can't 2015-02-10T23:43:26Z vdamewood joined #lisp 2015-02-10T23:44:13Z mischief: the trick is that all arguments to functions implemented in c are eval'd before passing to the c function 2015-02-10T23:44:14Z devll quit (Ping timeout: 246 seconds) 2015-02-10T23:44:39Z Bicyclidine: well, that's fine, since a macro is presumably distinct. 2015-02-10T23:45:40Z Bicyclidine: cond in terms of if. you probably don't have backquote, though. (defmacro cond (&rest clauses) (if (null clauses) nil `(if ,(caar clauses) (progn ,@(cdar clauses)) (cond ,@(cdr clauses))))) 2015-02-10T23:45:41Z manuel__ quit (Quit: manuel__) 2015-02-10T23:46:23Z mischief: heh. i haven't needed car/cdr yet either! :) 2015-02-10T23:46:49Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2015-02-10T23:47:02Z Bicyclidine: your evaluator doesn't use car? 2015-02-10T23:47:34Z mischief: my shitty lisp uses arrays for lists :( 2015-02-10T23:47:38Z mishoo_ quit (Ping timeout: 265 seconds) 2015-02-10T23:47:50Z mischief: and eval is written in c, not in the language itself 2015-02-10T23:47:52Z impulse joined #lisp 2015-02-10T23:48:03Z Bicyclidine: well, that's boring. 2015-02-10T23:48:37Z mischief: its tricky 2015-02-10T23:50:16Z johann joined #lisp 2015-02-10T23:50:44Z Bahman quit (Quit: zzZZ) 2015-02-10T23:51:36Z Bicyclidine: (defun eval (form env) (let ((form (macroexpand form env))) (typecase form (symbol (lookup form env)) (cons (case (car form) (if (if (eval (second form) env) (eval (third form) env) (eval (fourth form) env))) (lambda (make-lambda form)) (otherwise (let ((fun (eval (first form) env))) (eval (lambda-body fun) (augment-environment (lambda-params fun) (mapcar #'eval (rest form))))))))) (t form)) or so 2015-02-10T23:51:45Z quasisane quit (Remote host closed the connection) 2015-02-10T23:52:06Z pillton: minion: tell Bicyclidine about paste.lisp.org 2015-02-10T23:52:07Z minion: Sorry, I couldn't find anything in the database for ``paste.lisp.org''. 2015-02-10T23:52:16Z Bicyclidine: guess that's a bit long and incoherent to be a "one-liner" 2015-02-10T23:52:19Z vsync_ quit (Quit: ZNC - http://znc.sourceforge.net) 2015-02-10T23:52:34Z dstatyvka left #lisp 2015-02-10T23:53:18Z eudoxia quit (Quit: Leaving) 2015-02-10T23:53:20Z jasom: Is it allowed to wrap methods defined in the standard (e.g. print-object) 2015-02-10T23:53:42Z Bicyclidine: wrap how? :around? 2015-02-10T23:53:46Z jasom: Bicyclidine: yeah 2015-02-10T23:54:00Z Bicyclidine: i don't think so, let me find a reference. 2015-02-10T23:54:01Z jasom: I specifically would like to override the printing of hash-tables to something more useful for me 2015-02-10T23:54:04Z mischief: Bicyclidine: yes, but i have none of this. e.g. let, macroexpand, typecase, symbol etc :> 2015-02-10T23:54:14Z mischief: it's so basic it hurts. 2015-02-10T23:54:43Z jasom: Bicyclidine: I found no mention of the word "method" in 3.2.2.3 2015-02-10T23:54:57Z mischief: so i guess i will settle for a special form 2015-02-10T23:55:03Z Bicyclidine: "Defining a method for a standardized generic function which is applicable when all of the arguments are direct instances of standardized classes. " 2015-02-10T23:55:10Z Bicyclidine: clhs 11.1.2.1.2 2015-02-10T23:55:10Z specbot: Constraints on the COMMON-LISP Package for Conforming Programs: http://www.lispworks.com/reference/HyperSpec/Body/11_abab.htm 2015-02-10T23:55:10Z a20150101 quit (Remote host closed the connection) 2015-02-10T23:55:17Z johann quit (Ping timeout: 245 seconds) 2015-02-10T23:55:21Z Bicyclidine: clhs 3.2.2.3 2015-02-10T23:55:21Z specbot: Semantic Constraints: http://www.lispworks.com/reference/HyperSpec/Body/03_bbc.htm 2015-02-10T23:55:38Z Bicyclidine: oh, that's not going to have clos stuff... 2015-02-10T23:56:04Z jasom: ah 2015-02-10T23:56:14Z Bicyclidine: mischief: having a macroexpander will make things nicer than just adding special syntax for everything 2015-02-10T23:56:30Z Bicyclidine: it's kind of dumb that 11.1.2.1.2 is so important and it's buried five levels into the package chapter 2015-02-10T23:56:48Z Bicyclidine: anyway, i think the idea is that implementations might have around methods already. 2015-02-10T23:57:06Z jasom: right 2015-02-10T23:57:23Z jasom: well on sbcl at least *print-readably* gives me something slighlty useful 2015-02-10T23:59:59Z kephra just realized that one of the Lisp gurus now work at a faculty I founded a few years ago ;-)