2015-02-24T00:00:33Z ASau joined #lisp 2015-02-24T00:00:35Z vaporatorius quit (Remote host closed the connection) 2015-02-24T00:01:28Z tkhoa2711 joined #lisp 2015-02-24T00:01:32Z badkins quit (Ping timeout: 245 seconds) 2015-02-24T00:07:01Z kuzy000_ quit (Ping timeout: 264 seconds) 2015-02-24T00:07:13Z nell quit (Ping timeout: 244 seconds) 2015-02-24T00:07:14Z Nekfh quit 2015-02-24T00:08:26Z PaulCapestany joined #lisp 2015-02-24T00:09:51Z PaulCapestany quit (Max SendQ exceeded) 2015-02-24T00:10:41Z grantix joined #lisp 2015-02-24T00:10:44Z PaulCapestany joined #lisp 2015-02-24T00:12:10Z Vutral quit (Ping timeout: 256 seconds) 2015-02-24T00:26:46Z clintm quit (Read error: Connection reset by peer) 2015-02-24T00:27:49Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-24T00:34:40Z attila_lendvai joined #lisp 2015-02-24T00:35:03Z k-dawg joined #lisp 2015-02-24T00:37:08Z attila_lendvai quit (Client Quit) 2015-02-24T00:37:43Z Kanae joined #lisp 2015-02-24T00:38:31Z Vutral joined #lisp 2015-02-24T00:38:31Z Vutral quit (Changing host) 2015-02-24T00:38:31Z Vutral joined #lisp 2015-02-24T00:38:36Z impulse quit (Ping timeout: 246 seconds) 2015-02-24T00:48:21Z attila_lendvai joined #lisp 2015-02-24T00:48:30Z attila_lendvai quit (Changing host) 2015-02-24T00:48:30Z attila_lendvai joined #lisp 2015-02-24T00:50:36Z impulse joined #lisp 2015-02-24T00:50:56Z hiroakip quit (Ping timeout: 265 seconds) 2015-02-24T00:51:49Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-24T00:52:46Z harish quit (Ping timeout: 255 seconds) 2015-02-24T00:53:16Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-24T01:00:24Z hvxgr quit (Ping timeout: 252 seconds) 2015-02-24T01:01:06Z pjb: - 2015-02-24T01:01:43Z antgreen joined #lisp 2015-02-24T01:01:52Z linux_dream joined #lisp 2015-02-24T01:03:27Z attila_lendvai quit (Quit: Leaving.) 2015-02-24T01:06:19Z teiresias quit (Ping timeout: 250 seconds) 2015-02-24T01:08:04Z hvxgr joined #lisp 2015-02-24T01:08:13Z teiresias joined #lisp 2015-02-24T01:16:43Z Mon_Ouie quit (Quit: WeeChat 1.1.1) 2015-02-24T01:18:30Z oleo is now known as Guest9472 2015-02-24T01:20:00Z oleo__ joined #lisp 2015-02-24T01:21:27Z Guest9472 quit (Ping timeout: 256 seconds) 2015-02-24T01:31:15Z grantix quit (Remote host closed the connection) 2015-02-24T01:35:28Z grantix joined #lisp 2015-02-24T01:36:01Z innertracks joined #lisp 2015-02-24T01:36:57Z a20120222 joined #lisp 2015-02-24T01:39:24Z nuy_10461903 joined #lisp 2015-02-24T01:41:16Z dafunktion quit (Remote host closed the connection) 2015-02-24T01:42:47Z ruste quit (Ping timeout: 252 seconds) 2015-02-24T01:43:19Z nikki93_ joined #lisp 2015-02-24T01:48:04Z dkcl quit (Ping timeout: 246 seconds) 2015-02-24T01:50:28Z attila_lendvai joined #lisp 2015-02-24T01:54:19Z attila_lendvai quit (Read error: Connection reset by peer) 2015-02-24T01:54:38Z attila_lendvai joined #lisp 2015-02-24T01:55:04Z isis_ quit (Ping timeout: 264 seconds) 2015-02-24T01:58:24Z badkins_ is now known as badkins 2015-02-24T02:01:12Z nikki93_ quit (Remote host closed the connection) 2015-02-24T02:02:51Z Acherontius joined #lisp 2015-02-24T02:03:35Z Acherontius quit (Client Quit) 2015-02-24T02:04:18Z jumblerg joined #lisp 2015-02-24T02:04:27Z Acherontius joined #lisp 2015-02-24T02:06:07Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-24T02:07:12Z paroneayea quit (Read error: Connection reset by peer) 2015-02-24T02:07:37Z paroneayea joined #lisp 2015-02-24T02:08:01Z harish_ joined #lisp 2015-02-24T02:08:09Z defaultxr joined #lisp 2015-02-24T02:09:40Z jumblerg quit (Ping timeout: 244 seconds) 2015-02-24T02:12:35Z lispyone joined #lisp 2015-02-24T02:16:05Z jleija joined #lisp 2015-02-24T02:17:20Z lispyone quit (Remote host closed the connection) 2015-02-24T02:17:54Z lispyone joined #lisp 2015-02-24T02:21:47Z Karl_Dscc quit (Remote host closed the connection) 2015-02-24T02:22:25Z lispyone quit (Ping timeout: 250 seconds) 2015-02-24T02:33:14Z ebrasca quit (Quit: ebrasca) 2015-02-24T02:33:27Z zacts quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-24T02:36:27Z qubitnerd joined #lisp 2015-02-24T02:38:55Z kanru joined #lisp 2015-02-24T02:41:09Z edgar-rft quit (Quit: edgar-rft) 2015-02-24T02:43:09Z dmiles_afk: lisp500 is pretty close to a full CL (with MOP) 2015-02-24T02:44:10Z dmiles_afk: Awesome.. has any work contined to overlay lisp500 to make it fuller and fuller? 2015-02-24T02:47:37Z linux_dream quit (Quit: Leaving) 2015-02-24T02:48:03Z linux_dream joined #lisp 2015-02-24T02:58:03Z psy_ joined #lisp 2015-02-24T03:00:03Z innertracks quit (Ping timeout: 256 seconds) 2015-02-24T03:07:38Z fragamus joined #lisp 2015-02-24T03:15:21Z scymtym quit (Ping timeout: 256 seconds) 2015-02-24T03:17:52Z psy_ quit (Ping timeout: 265 seconds) 2015-02-24T03:20:42Z Acherontius quit (Remote host closed the connection) 2015-02-24T03:26:34Z attila_lendvai quit (Ping timeout: 265 seconds) 2015-02-24T03:26:47Z emaczen joined #lisp 2015-02-24T03:38:59Z beach joined #lisp 2015-02-24T03:39:08Z beach: Good morning everyone! 2015-02-24T03:39:19Z nyef: Hello beach. 2015-02-24T03:41:11Z drmeister: Hi beach 2015-02-24T03:46:11Z drmeister: I decided I was mangling the AST 2015-02-24T03:46:12Z rotty quit (Ping timeout: 246 seconds) 2015-02-24T03:46:22Z nopf quit (Ping timeout: 240 seconds) 2015-02-24T03:46:29Z dafunktion joined #lisp 2015-02-24T03:46:31Z beach: I saw your email. 2015-02-24T03:46:44Z drmeister: I'm trying to figure out how you set up information between special operators like tagbody and go or block and return-from 2015-02-24T03:47:32Z jleija quit (Quit: leaving) 2015-02-24T03:48:03Z beach: In the AST? 2015-02-24T03:50:12Z drmeister: In COMPILE-ASST 2015-02-24T03:50:16Z drmeister: COMPILE-AST 2015-02-24T03:51:05Z drmeister: I guess my big question is what does UNWIND-INSTRUCTION do? 2015-02-24T03:51:55Z beach: It unwinds the stack. 2015-02-24T03:52:06Z drmeister: When you translate HIR into Common Lisp it becomes (gensym). 2015-02-24T03:52:07Z emaczen: Can someone give me an example of (typecase (cons v1 v2) ((number symbol) ...)) or is that right? I don't see anything in the hyperspec 2015-02-24T03:52:29Z drmeister: How does that unwind that stack? 2015-02-24T03:52:53Z beach: drmeister: It removes frames until it gets to the frame of the successor instruction. 2015-02-24T03:53:19Z beach: emaczen: As often, your questions are hard to understand. 2015-02-24T03:53:37Z qubitnerd quit (Ping timeout: 245 seconds) 2015-02-24T03:53:40Z MoALTz_ quit (Ping timeout: 255 seconds) 2015-02-24T03:53:45Z beach: Here is an example: (typecase (cons v1 v2) ((number symbol)) 234) 2015-02-24T03:53:53Z enfors quit (Ping timeout: 246 seconds) 2015-02-24T03:54:02Z beach: Er, (typecase (cons v1 v2) ((number symbol) 234)) 2015-02-24T03:55:28Z emaczen: I can't get a simple example like that to compile 2015-02-24T03:56:07Z emaczen: I'll try a lisp paste 2015-02-24T03:56:36Z beach: emaczen: That is because (number symbol) is not a valid type 2015-02-24T03:57:02Z beach: emaczen: Try (or number symbol) 2015-02-24T03:57:17Z beach: Assuming that is what you meant. 2015-02-24T03:58:02Z emaczen: I want to match on on all 4 combinations of number symbol for v1 and v2 2015-02-24T03:58:24Z beach: emaczen: In the future, you need to learn to make that clear when you ask your questions. 2015-02-24T03:58:45Z emaczen: sorry 2015-02-24T03:59:46Z emaczen: do you still want to see a paste? 2015-02-24T03:59:57Z beach: The type that describes that is (cons (or number symbol) (or number symbol)) 2015-02-24T03:59:59Z beach: No need. 2015-02-24T04:00:25Z Corvidium joined #lisp 2015-02-24T04:00:32Z beach: (typecase (cons v1 v2) ((cons (or number symbol) (or number symbol)) 234)) 2015-02-24T04:00:44Z emaczen: beach: Cool -- I really like that! 2015-02-24T04:01:01Z nell joined #lisp 2015-02-24T04:01:11Z drmeister: I see that an UNWIND-INSTRUCTION contains an invocation and a successor - I just don't see how to implement it - yikes, this is starting to drive me nuts. 2015-02-24T04:01:36Z beach: drmeister: I don't understand what is so hard to understand about it? 2015-02-24T04:01:45Z dafunktion quit (Ping timeout: 252 seconds) 2015-02-24T04:02:17Z innertracks joined #lisp 2015-02-24T04:02:19Z drmeister: It's like I know how to implement stack unwinding with exception handling - I've done it very successfully. How the heck do I map unwind-instruction to exception handling. 2015-02-24T04:02:22Z beach: The successor instruction belongs to a particular invocation (stack frame) and the unwind instruction to a more deeply nested one. 2015-02-24T04:02:30Z drmeister: I get that. 2015-02-24T04:02:33Z beach: You need to remove stack frames until you get to the outer one. 2015-02-24T04:02:46Z beach: Oh. 2015-02-24T04:03:20Z badkins quit (Remote host closed the connection) 2015-02-24T04:05:45Z rotty joined #lisp 2015-02-24T04:06:02Z linux_dream quit (Quit: Leaving) 2015-02-24T04:06:08Z nopf joined #lisp 2015-02-24T04:06:20Z drmeister: This is why I'm thinking of not using the unwind-instruction. I think I can implement this with try/catch pretty easily. I'm wrestling with where to rewrite the AST/HIR/MIR to do this but I know how to implement it with try/catch. Mapping unwind-instruction to try/catch - I am clueless. 2015-02-24T04:06:32Z drmeister: It's very frustrating. 2015-02-24T04:12:58Z nyef quit (Quit: G'night all) 2015-02-24T04:15:15Z drmeister: beach: Were you able to get clasp to compile? 2015-02-24T04:15:45Z beach: No. 2015-02-24T04:15:59Z drmeister: Where did you get to? 2015-02-24T04:16:03Z beach: http://metamodular.com/make.log 2015-02-24T04:16:45Z beach: libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: No such file or directory 2015-02-24T04:16:52Z beach: I think that might be the problem. 2015-02-24T04:18:56Z drmeister: Yes, I think you need to install bzlib with apt-get 2015-02-24T04:19:12Z beach: OK. 2015-02-24T04:19:56Z beach: There is no such package. 2015-02-24T04:22:51Z drmeister: How about libbz2 2015-02-24T04:23:20Z drmeister: Or: sudo apt-get install libbz2-1.0 libbz2-dev 2015-02-24T04:23:57Z drmeister: These are not very helpful and intuitive names 2015-02-24T04:24:49Z beach: sudo apt-get install libbz2-dev 2015-02-24T04:25:06Z beach: Seems to have installed the bzip2.h file. 2015-02-24T04:26:06Z beach: I wonder why it recompiles all the .cpp files when I do a `make' again. 2015-02-24T04:26:58Z beach: It used to be that the Makefile had a dependency so that if the .o file exists, no recompilation was necessary. No longer, I guess. 2015-02-24T04:27:57Z beach: Anyway, recompiling now. 2015-02-24T04:29:37Z beach: drmeister: So, question: What do you do in the existing compiler when you have something like (tagbody (ff (lambda (...) (go out))) out (gg ...)) 2015-02-24T04:32:22Z drmeister: beach: It sets up a try/catch block for the tagbody and the (go out) throws a DYNAMIC_GO exception which is caught by the catch clause. 2015-02-24T04:32:23Z beach: drmeister: Even better example: (tagbody (ff (lambda (...) (go a))) (go b) a (gg 2015-02-24T04:32:23Z beach: ...) b) 2015-02-24T04:32:48Z drmeister: See? Doesn't that make so much more sense than "unwind the stack and go to the successor"? 2015-02-24T04:33:11Z drmeister: (sigh) 2015-02-24T04:33:11Z beach: Maybe for someone who knows C++. That is not my case. 2015-02-24T04:33:23Z drmeister: I'm being sarcastic - not me either. 2015-02-24T04:33:32Z drmeister: Although I know how to work with it. 2015-02-24T04:33:34Z beach: How do you distinguish between different tags in the throw. 2015-02-24T04:33:48Z beach: Oh, missed the sarcasm. Sorry. 2015-02-24T04:33:57Z drmeister: I put special values in the exception that I throw. 2015-02-24T04:34:24Z beach: So why can't you do the exact same thing now. 2015-02-24T04:34:28Z drmeister: Is it as simple as unwind the stack to the invocation frame and jump to the instruction of the successor? 2015-02-24T04:35:26Z beach: Well, "unwind" implies checking for unwind-protects, undoing bindings of special variables, removing intervening blocks, etc, etc. 2015-02-24T04:36:11Z drmeister: Right - all that stuff. How do you deal with it? 2015-02-24T04:36:23Z jamesf joined #lisp 2015-02-24T04:36:25Z beach: How about using try/catch and throw? 2015-02-24T04:37:06Z jamesf quit (Client Quit) 2015-02-24T04:37:23Z beach: Set up a try/catch block for the entire function containing the successor instruction. 2015-02-24T04:38:01Z drmeister: Well, there would be a bunch of nested try/catch statements. Each one would have a cleanup clause that would be evaluated if an exception percolates up through it. 2015-02-24T04:38:03Z beach: When I translate HIR to Common Lisp that's basically what I do. 2015-02-24T04:38:41Z kushal joined #lisp 2015-02-24T04:38:43Z drmeister: Here - I'll try to put together some examples. 2015-02-24T04:38:45Z beach: Think about how you would translate my HIR translated to Common Lisp. 2015-02-24T04:39:28Z beach: I basically generate a huge tagbody for the entire function. 2015-02-24T04:39:36Z jamesf joined #lisp 2015-02-24T04:41:29Z beach: Even better: Imagine the HIR program as a C++ program with gotos in it and a label for each instruction. 2015-02-24T04:41:30Z drmeister: Right - I was looking at that but the translate-simple-instruction for unwind-exception is simply (gensym) - I don't understand how that unwinds anything. 2015-02-24T04:42:15Z beach: It generates a label in the huge tagbody. 2015-02-24T04:42:28Z drmeister: Will that work? Hang on - I can come up with an example that I think would give it trouble. 2015-02-24T04:46:55Z drmeister: https://www.irccloud.com/pastebin/SuGmyXJk 2015-02-24T04:47:19Z drmeister: Clasp prints "first cleanup" "a" "second cleanup" "b 2015-02-24T04:47:24Z drmeister: " 2015-02-24T04:47:44Z drmeister: Here's how I would implement it with try/cleanup/catch 2015-02-24T04:53:55Z Harag joined #lisp 2015-02-24T05:01:29Z beach: Yes? 2015-02-24T05:03:46Z drmeister: I'm puzzling over it. What I've got is pseudo-code. 2015-02-24T05:03:52Z drmeister: https://www.irccloud.com/pastebin/UkWnGSCX 2015-02-24T05:05:40Z beach: I don't understand what that means. Perhaps you can describe in English what you think the problem is. 2015-02-24T05:05:49Z smith_ joined #lisp 2015-02-24T05:06:22Z innertracks quit (Ping timeout: 244 seconds) 2015-02-24T05:06:57Z drmeister: Hmm, let's see. 2015-02-24T05:07:16Z drmeister: The "try" special operator works like this. 2015-02-24T05:08:01Z drmeister: It has the form (try protected-form ((cleanup) cleanup-forms) ((go-exception var) exception-forms) ) 2015-02-24T05:08:21Z drmeister: The cleanup forms are evaluated whether or not a non-local exit takes place in the protected-form. 2015-02-24T05:08:47Z beach: Well, I didn't mean you should explain the semantics of your pseudo code for me. But I'll try to understand it. 2015-02-24T05:08:48Z smith__ joined #lisp 2015-02-24T05:09:27Z beach: What I meant was for you to explain what the trouble would be with your Common Lisp example. 2015-02-24T05:09:43Z drmeister: I see - but hang on - I'm on a roll The (go-exception var) exception-forms) are evaluated if a 'go exception is thrown in the protected form. The "var" contains info about the go exception that was thrown. 2015-02-24T05:09:51Z drmeister: The problem... 2015-02-24T05:10:19Z smith__ quit (Client Quit) 2015-02-24T05:11:27Z smith_ quit (Ping timeout: 265 seconds) 2015-02-24T05:11:27Z drmeister: I guess it's if a 'go is thrown from the first lambda the (print "first cleanup") needs to be evaluated and then jump to "a:" but if a 'go is thrown from the second lambda the (print "second cleanup") needs to be evaluated and then jump to "b:". 2015-02-24T05:11:54Z drmeister: If there is just one big tagbody isn't that a problem? 2015-02-24T05:12:40Z nowhereman quit (Ping timeout: 252 seconds) 2015-02-24T05:12:51Z nowhereman joined #lisp 2015-02-24T05:12:52Z drmeister: Maybe not - the first cleanup code could have the label pre-a: and the second could have the label pre-b: 2015-02-24T05:13:00Z psy_ joined #lisp 2015-02-24T05:14:04Z drmeister: Does this work? What you said before: "Even better: Imagine the HIR program as a C++ program with gotos in it and a label for each instruction." 2015-02-24T05:15:00Z beach: I can tell this is going to be complicated. 2015-02-24T05:15:11Z drmeister: Then the unwind-instruction unwinds the stack to the target function and jumps to the appropriate label for the instruction? 2015-02-24T05:15:19Z beach: yes. 2015-02-24T05:15:39Z drmeister: What is going to be complicated? My approach? 2015-02-24T05:15:48Z beach: Our understanding each other. 2015-02-24T05:16:14Z beach: Let us go back a few steps. 2015-02-24T05:16:35Z beach: You seem to say that the translation to HIR that I am doing is not working. 2015-02-24T05:16:37Z beach: Right? 2015-02-24T05:16:56Z beach: And that is independent of how you translate it later. 2015-02-24T05:17:15Z beach: And independent of the semantics of your pseudo code. 2015-02-24T05:17:55Z beach: Am I right so far? 2015-02-24T05:18:23Z drmeister: No - I'm saying that my understanding of how to translate unwind-instruction into C++ style exception handling is not working and I'm extremely frustrated with myself for not being able to see how to do it. 2015-02-24T05:18:56Z beach: "I can come up with an example that I think would give it trouble." 2015-02-24T05:19:31Z beach: Where "it" seemed to refer to "It generates a label in the huge tagbody." 2015-02-24T05:19:35Z kobain quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2015-02-24T05:19:38Z drmeister: I'm kind of hung up on the nested try/catch blocks - I think they are necessary for some reason. If its as simple as one try/catch block per function then it's not complicated at all. 2015-02-24T05:20:02Z beach: So how about we see whether it is possible. 2015-02-24T05:20:31Z beach: The first step would be to make sure that the HIR is correct. 2015-02-24T05:20:38Z drmeister: You mean by just trying it? Or some kind of proof that it is all that is necessary? 2015-02-24T05:20:48Z beach: The second step would be to make sure that translating that HIR to a huge tagbody is correct. 2015-02-24T05:21:01Z beach: Convincing you by an argument. 2015-02-24T05:21:08Z drmeister: I follow you. 2015-02-24T05:21:51Z beach: Let's start with your example (let (x y) ...), OK? 2015-02-24T05:22:07Z drmeister: I can see that the HIR is correct by looking at the graphs - can I not? 2015-02-24T05:22:27Z drmeister: I mean - they look correct. 2015-02-24T05:22:30Z beach: Here is where "I can tell that this is going to be complicated" comes in. 2015-02-24T05:22:39Z drmeister: Ok. 2015-02-24T05:22:53Z beach: Because you don't implement UNWIND-PROTECT the way I suggested, and I have no idea wither your method is correct. 2015-02-24T05:23:14Z beach: But perhaps we can assume it is implemented as I suggested for the time being. 2015-02-24T05:23:16Z drmeister: Well, I've suspended that approach for the moment. 2015-02-24T05:23:37Z beach: Because you would have to do something pretty much equivalent anyway. So is that OK with you? 2015-02-24T05:23:38Z beach: 2015-02-24T05:24:06Z drmeister: I don't understand that last sentence 2015-02-24T05:24:45Z beach: If you decide not to implement unwind-protect the way I suggested, you would have to implemented in a way that basically has the same semantics. 2015-02-24T05:24:55Z drmeister: Yes. 2015-02-24T05:25:06Z beach: So is it OK with you if for the moment we assume it is implemented as I suggested? 2015-02-24T05:25:42Z beach: Yes again? 2015-02-24T05:25:44Z drmeister: Yes. I'm ready to believe. 2015-02-24T05:25:49Z beach: If so, then the UNWIND-PROTECTs would be function calls. Right? 2015-02-24T05:26:18Z drmeister: Could you remind me again of your approach to implement UNWIND-PROTECT? 2015-02-24T05:26:25Z drmeister: Just so we are on the same page. 2015-02-24T05:26:28Z beach: Sure. 2015-02-24T05:27:10Z beach: (unwind-protect protected-form cleanup-forms*) => (funwind-protect (lambda () protected-form) (lambda () cleanup-forms*)) 2015-02-24T05:27:33Z drmeister: Got it. 2015-02-24T05:28:02Z beach: Let's see if I can create a paste that will show your example translated that way.... 2015-02-24T05:28:09Z drmeister: And if there is a non-local exit from the (lambda () protected-form) - how does funwind-protect detect that and call the cleanup-forms? 2015-02-24T05:29:58Z BlueRavenGT quit (Ping timeout: 255 seconds) 2015-02-24T05:30:50Z beach: Hold on please. I can only do one thing at a time. 2015-02-24T05:31:05Z beach: http://paste.lisp.org/+34L2 2015-02-24T05:32:04Z mrcom quit (Quit: Leaving) 2015-02-24T05:32:15Z beach: Do you agree with that expansion? 2015-02-24T05:32:51Z beach: If so, I'll answer your question shortly. 2015-02-24T05:33:21Z drmeister: yes 2015-02-24T05:33:26Z beach: OK, here we go. 2015-02-24T05:33:40Z beach: Now, funwind-protect is a function, so it has its own stack frame. 2015-02-24T05:33:53Z drmeister: yes 2015-02-24T05:34:14Z beach: What it does is that it marks that stack frame as containing a cleanup function to be executed if that stack frame should ever be unwound. 2015-02-24T05:34:49Z beach: You can trivially implement it using your old compiler by creating a function containing an unwind-protect. 2015-02-24T05:35:41Z drmeister: ok 2015-02-24T05:35:47Z beach: (defun funwind-protect (protected-thunk cleanup-thunk) (unwind-protect (funcall protected-thunk) (funcall cleanup-thunk))) 2015-02-24T05:35:59Z beach: Do you agree? 2015-02-24T05:36:07Z drmeister: Yes 2015-02-24T05:36:11Z beach: Great! 2015-02-24T05:36:25Z beach: Now, let's see how this example translates to HIR. 2015-02-24T05:36:46Z beach: Since now we have only functions, you can trivially check it yourself in fact. 2015-02-24T05:37:06Z beach: But as you can see, now the entire function is one big tagbody. 2015-02-24T05:37:19Z beach: And there are no try/catch in this function at all. 2015-02-24T05:37:55Z beach: So you agree that when the (go a) or (go b) is executed, the stack will be unwound. 2015-02-24T05:38:05Z drmeister: Well, the unwind-protect used one 2015-02-24T05:38:16Z beach: That is beside the point. 2015-02-24T05:38:26Z beach: We are talking about how THIS function translates to HIR. 2015-02-24T05:38:50Z drmeister: Ok 2015-02-24T05:39:46Z beach: In the HIR of this function, there will be UNWIND-INSTRUCTIONs that have the PRINTs as targets. Right? 2015-02-24T05:40:40Z innertracks joined #lisp 2015-02-24T05:41:10Z drmeister: Ok 2015-02-24T05:41:45Z beach: Now, it ought to be possible for you to imagine how to implement this expanded example using try/catch and throw. No? 2015-02-24T05:42:06Z beach: Since now you have a single try/catch for the entire tagbody. 2015-02-24T05:43:12Z beach: I mean, there are no more unwind-protects. Just function calls. 2015-02-24T05:43:23Z beach: And you can assume you have no idea what those functions do. 2015-02-24T05:43:54Z beach: All you know is that deeply nested in these nested functions, you have a GO. 2015-02-24T05:44:10Z beach: I take it you are lost again? 2015-02-24T05:44:30Z beach: Tell me where I lost you. 2015-02-24T05:44:32Z drmeister: Not lost but not entirely comfortable 2015-02-24T05:44:45Z drmeister: Reading again... 2015-02-24T05:45:10Z cluck quit (Remote host closed the connection) 2015-02-24T05:45:40Z dafunktion joined #lisp 2015-02-24T05:48:52Z drmeister: Ok, I think I follow. 2015-02-24T05:49:30Z drmeister: The unwind-protect is transformed into the funwind-protect 2015-02-24T05:49:33Z beach: Great! You have to imagine that the function is not called funwind-protect but something that you don't recognize. Then this entire thing has nothing to do with unwinding. 2015-02-24T05:49:38Z frkout quit (Remote host closed the connection) 2015-02-24T05:49:49Z hungnv95 joined #lisp 2015-02-24T05:50:08Z beach: Yes. Mentally replace funwind-protect by MY-FUN. 2015-02-24T05:50:17Z dafunktion quit (Ping timeout: 252 seconds) 2015-02-24T05:50:21Z beach: OK? 2015-02-24T05:50:27Z drmeister: Ok. 2015-02-24T05:50:27Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T05:50:30Z beach: Sure? 2015-02-24T05:50:38Z drmeister: I think so. 2015-02-24T05:50:43Z beach: Hmm. OK. 2015-02-24T05:50:58Z drmeister: I'm biting back complaining about using my old compiler and closures. 2015-02-24T05:50:59Z beach: Now, how would you translate this function using try/catch throw? 2015-02-24T05:51:17Z beach: Yes, please don't bring that up right now. 2015-02-24T05:51:26Z beach: For now, we are just talking semantics. 2015-02-24T05:51:54Z badkins joined #lisp 2015-02-24T05:51:56Z beach: You would make a huge try/catch for the entire tagbody, right? 2015-02-24T05:52:24Z drmeister: Which function do I need to translate using try/catch/throw? This one? http://paste.lisp.org/display/145910 2015-02-24T05:52:40Z beach: Yes. 2015-02-24T05:53:02Z beach: Except imagine that funwind-protect is replaced by MY-FUN. 2015-02-24T05:53:13Z beach: It is just an unknown function. 2015-02-24T05:53:33Z beach: You would make a huge try/catch for the entire tagbody, right? 2015-02-24T05:54:11Z jamesf quit (Remote host closed the connection) 2015-02-24T05:54:15Z drmeister: Well, the inner "go"(s) are going to require a try/catch/throw aren't they? 2015-02-24T05:54:39Z drmeister: So yes. 2015-02-24T05:54:50Z beach: I thought you told me that the inner GOs turn into throws and the tagbody into a single try/catch. 2015-02-24T05:55:06Z beach: I mean, that's what you told me before, right? A tagbody turns into a try/catch. 2015-02-24T05:55:18Z drmeister: Right - that's what I meant 2015-02-24T05:55:26Z beach: EXCELLENT! Now imagine the entire function is such a huge TAGBODY. 2015-02-24T05:55:32Z drmeister: So yes, one try/catch for the whole function. 2015-02-24T05:55:41Z beach: WHEW! 2015-02-24T05:55:45Z drmeister: I think I see where you are going (or where you are). 2015-02-24T05:56:14Z beach: The final step is to realize that you can turn any function in a HIR program into a huge tagbody. 2015-02-24T05:56:32Z badkins quit (Ping timeout: 245 seconds) 2015-02-24T05:56:39Z beach: You just pout a label before each instruction and a GO after each instruction. 2015-02-24T05:56:43Z dmiles_afk: Something I'm wondering.. If from scheme I was slowed the Lisp 500 lisp file.. In my getting close to common Lisp? 2015-02-24T05:57:05Z dmiles_afk: slowed/load 2015-02-24T05:57:05Z beach: "slowed"? 2015-02-24T05:57:22Z innertracks quit (Ping timeout: 245 seconds) 2015-02-24T05:57:34Z beach: drmeister: Do you agree with the last step? 2015-02-24T05:57:48Z beach: drmeister: That is in fact what my HIR -> Common Lisp translator does. 2015-02-24T05:58:08Z drmeister: Yes - I think so - sleeping on this may help. 2015-02-24T05:58:10Z beach: drmeister: Except that, in order to make it more readable, it first finds the basic blocks. 2015-02-24T05:58:43Z drmeister: Right - tags are only needed at basic block entry points. 2015-02-24T05:58:50Z beach: Yes. 2015-02-24T05:58:54Z dmiles_afk: Basically it looks like Lisp 500 is based off of only 68 functions .. the other 90 C functions help the 68 2015-02-24T05:59:13Z beach: drmeister: OK, shall we call it a day? 2015-02-24T05:59:27Z Mon_Ouie joined #lisp 2015-02-24T05:59:28Z Mon_Ouie quit (Changing host) 2015-02-24T05:59:28Z Mon_Ouie joined #lisp 2015-02-24T06:00:12Z drmeister: I think so - this was helpful. I'll cogitate on it tomorrow. This is basically a transformation of functions that demonstrates that they can be treated as a single tagbody - right? 2015-02-24T06:00:23Z beach: Yes. 2015-02-24T06:00:38Z beach: So you get a single try/catch per function, at most. 2015-02-24T06:01:21Z beach: drmeister: So you now know how to implement the UNWIND-INSTRUCTION. 2015-02-24T06:01:25Z drmeister: So unwind-instruction just needs two pieces of information, what function to unwind to and where to jump within that function? 2015-02-24T06:01:30Z beach: So now all your problems are solved. 2015-02-24T06:01:38Z beach: Yes. 2015-02-24T06:01:41Z beach: Exactly. 2015-02-24T06:01:48Z ASau quit (Ping timeout: 256 seconds) 2015-02-24T06:02:20Z beach: And the "where to jump" is the label of the successor instruction. 2015-02-24T06:02:26Z drmeister: Ok, I'll think on that until it sticks and then I'll ask you about closures. 2015-02-24T06:02:48Z beach: Don't change the subject, dammit! :) 2015-02-24T06:02:53Z drmeister: Or maybe by then I'll figure it out. 2015-02-24T06:03:05Z beach: Seriously, sure. We'll do closures later. 2015-02-24T06:03:30Z beach: Happy for now? 2015-02-24T06:03:35Z drmeister: But isn't it going to turn out that to avoid wrapping everything in a closure I'll have to have nested try/catch blocks? 2015-02-24T06:04:07Z beach: There will be one tagbody per function. You do one try/catch per tagbody. Where would the nesting come from? 2015-02-24T06:04:16Z drmeister: Don't worry - I'm not unraveling what you just told me - I'll think on it. 2015-02-24T06:04:32Z drmeister: Ok, I'll put it aside for now. 2015-02-24T06:04:41Z dmiles_afk: So where I was going with scheme and lisp500 .. Is that the 68 C functions are basically almost present in scheme already 2015-02-24T06:04:54Z beach: drmeister: I mean, the closures are their own functions, so they will have their own try/catch of course. 2015-02-24T06:05:20Z beach: dmiles_afk: You can't load a C file into Scheme. 2015-02-24T06:05:48Z jasom: beach: you can load it into lisp 2015-02-24T06:05:56Z dmiles_afk: I am not talking about letting C file in the scheme and talking about letting core500.lisp 2015-02-24T06:06:23Z beach: OK, sorry, I misunderstood. 2015-02-24T06:06:24Z dmiles_afk: talking about loading core500.lisp .. and not ever needing the C file 2015-02-24T06:06:59Z dmiles_afk: I guess I believe that getting the common Lisp starting out from a scheme interpreter is a long road 2015-02-24T06:07:13Z beach: drmeister: Do you see what I am saying? Each closure turns into its own function in HIR with its own ENTER instruction. So each closure will be a different tagbody. 2015-02-24T06:07:19Z dmiles_afk: But then Lisp 500 seems to shorten it 2015-02-24T06:08:04Z dmiles_afk: But I have to think that something must be very flawed in my thinking.. That somehow I'm missing something obvious 2015-02-24T06:08:06Z beach: drmeister: So each closure will have its own try/catch. 2015-02-24T06:08:12Z beach: drmeister: Are you lost again? 2015-02-24T06:08:32Z jasom: dmiles_afk: implementing common lisp in any language is a long road (even common lisp) 2015-02-24T06:09:27Z grantix quit (Ping timeout: 265 seconds) 2015-02-24T06:10:09Z beach: Yay! `make' in externals-clasp succeeded! 2015-02-24T06:12:51Z beach is guessing that drmeister fell asleep, so is going to vanish for a while in order not to wake drmeister up. 2015-02-24T06:19:17Z hungnv95 joined #lisp 2015-02-24T06:19:24Z kakakak123341 joined #lisp 2015-02-24T06:20:41Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T06:20:49Z kakakak123341 quit (Read error: Connection reset by peer) 2015-02-24T06:26:43Z nikki93_ joined #lisp 2015-02-24T06:27:24Z maxpeck` joined #lisp 2015-02-24T06:28:05Z maxpeck quit (Read error: Connection reset by peer) 2015-02-24T06:29:25Z nikki93_ quit (Remote host closed the connection) 2015-02-24T06:35:07Z pt1 joined #lisp 2015-02-24T06:37:15Z peterhil` joined #lisp 2015-02-24T06:39:24Z peterhil quit (Ping timeout: 245 seconds) 2015-02-24T06:43:17Z hvxgr quit (Ping timeout: 265 seconds) 2015-02-24T06:45:11Z pt1 quit (Remote host closed the connection) 2015-02-24T06:47:22Z innertracks joined #lisp 2015-02-24T06:49:03Z ehu joined #lisp 2015-02-24T06:51:32Z beach left #lisp 2015-02-24T06:54:56Z innertracks quit (Quit: innertracks) 2015-02-24T06:57:26Z Harag quit (Remote host closed the connection) 2015-02-24T06:57:54Z Harag joined #lisp 2015-02-24T06:57:55Z hiroakip joined #lisp 2015-02-24T06:58:19Z hungnv95 joined #lisp 2015-02-24T07:00:56Z munksgaard joined #lisp 2015-02-24T07:01:55Z egp_ quit (Ping timeout: 250 seconds) 2015-02-24T07:02:08Z egp__ quit (Ping timeout: 265 seconds) 2015-02-24T07:05:48Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T07:08:59Z defaultxr quit (Quit: gnight) 2015-02-24T07:10:04Z Mon_Ouie quit (Ping timeout: 264 seconds) 2015-02-24T07:11:00Z psy_ quit (Remote host closed the connection) 2015-02-24T07:11:30Z hiroakip quit (Ping timeout: 256 seconds) 2015-02-24T07:11:37Z gaukaka11 joined #lisp 2015-02-24T07:12:12Z gaukaka11 quit (Read error: Connection reset by peer) 2015-02-24T07:13:03Z Harag quit (Remote host closed the connection) 2015-02-24T07:13:14Z Harag joined #lisp 2015-02-24T07:14:02Z hvxgr joined #lisp 2015-02-24T07:15:35Z egp_ joined #lisp 2015-02-24T07:15:43Z egp__ joined #lisp 2015-02-24T07:20:08Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-02-24T07:24:19Z ktt9 quit (Ping timeout: 244 seconds) 2015-02-24T07:24:39Z c74d quit (Remote host closed the connection) 2015-02-24T07:26:25Z kushal quit (Quit: Leaving) 2015-02-24T07:26:34Z edgar-rft joined #lisp 2015-02-24T07:26:59Z ggole joined #lisp 2015-02-24T07:27:26Z kushal joined #lisp 2015-02-24T07:28:10Z c74d joined #lisp 2015-02-24T07:28:14Z c74d quit (Remote host closed the connection) 2015-02-24T07:29:26Z Beetny joined #lisp 2015-02-24T07:29:40Z Corvidium quit (Read error: No route to host) 2015-02-24T07:30:35Z c74d joined #lisp 2015-02-24T07:30:35Z hungnv95 joined #lisp 2015-02-24T07:30:58Z mishoo joined #lisp 2015-02-24T07:31:43Z pt1 joined #lisp 2015-02-24T07:31:51Z kushal quit (Max SendQ exceeded) 2015-02-24T07:32:15Z emaczen quit (Ping timeout: 250 seconds) 2015-02-24T07:33:59Z Harag quit (Ping timeout: 245 seconds) 2015-02-24T07:34:16Z kushal joined #lisp 2015-02-24T07:34:31Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T07:34:31Z dafunktion joined #lisp 2015-02-24T07:35:26Z kdas_ joined #lisp 2015-02-24T07:35:35Z Harag joined #lisp 2015-02-24T07:35:48Z kdas_ quit (Remote host closed the connection) 2015-02-24T07:35:58Z munksgaard quit (Ping timeout: 255 seconds) 2015-02-24T07:38:58Z hungnv95 joined #lisp 2015-02-24T07:39:14Z dafunktion quit (Ping timeout: 246 seconds) 2015-02-24T07:40:04Z maxpeck` quit (Ping timeout: 264 seconds) 2015-02-24T07:41:45Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T07:41:50Z gingerale joined #lisp 2015-02-24T07:43:11Z enfors joined #lisp 2015-02-24T07:43:41Z innertracks joined #lisp 2015-02-24T07:44:18Z hungnv95 joined #lisp 2015-02-24T07:45:14Z schaueho joined #lisp 2015-02-24T07:45:45Z mega1 joined #lisp 2015-02-24T07:45:47Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T07:46:08Z hungnv95 joined #lisp 2015-02-24T07:46:34Z sz0 joined #lisp 2015-02-24T07:48:04Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T07:50:13Z innertracks quit (Quit: innertracks) 2015-02-24T07:50:13Z Harag quit (Read error: Connection reset by peer) 2015-02-24T07:51:06Z Harag joined #lisp 2015-02-24T07:51:57Z hungnv95 joined #lisp 2015-02-24T07:52:07Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T07:52:29Z Harag quit (Read error: Connection reset by peer) 2015-02-24T07:54:22Z hungnv95 joined #lisp 2015-02-24T07:56:33Z munksgaard joined #lisp 2015-02-24T07:56:50Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T07:56:50Z radioninja joined #lisp 2015-02-24T07:57:00Z pt1_ joined #lisp 2015-02-24T07:57:58Z nell quit (Quit: WeeChat 1.2-dev) 2015-02-24T08:00:25Z pt1 quit (Ping timeout: 264 seconds) 2015-02-24T08:00:57Z Xof quit (Ping timeout: 246 seconds) 2015-02-24T08:02:16Z d4ryus___ joined #lisp 2015-02-24T08:02:55Z xificurC joined #lisp 2015-02-24T08:03:26Z trunghung98 joined #lisp 2015-02-24T08:03:45Z trunghung98 quit (Read error: Connection reset by peer) 2015-02-24T08:04:45Z Xof joined #lisp 2015-02-24T08:05:17Z d4ryus quit (Ping timeout: 245 seconds) 2015-02-24T08:07:25Z hungnv95 joined #lisp 2015-02-24T08:08:49Z harish_ quit (Ping timeout: 264 seconds) 2015-02-24T08:09:32Z Bahman joined #lisp 2015-02-24T08:11:26Z angavrilov joined #lisp 2015-02-24T08:11:47Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T08:13:17Z Harag joined #lisp 2015-02-24T08:15:26Z mishoo quit (Read error: Connection reset by peer) 2015-02-24T08:16:15Z larion quit (Ping timeout: 256 seconds) 2015-02-24T08:18:37Z stardiviner quit (Ping timeout: 245 seconds) 2015-02-24T08:20:06Z mishoo joined #lisp 2015-02-24T08:27:43Z wemeetagain quit (Read error: Connection reset by peer) 2015-02-24T08:29:33Z void_AT joined #lisp 2015-02-24T08:33:07Z stardiviner joined #lisp 2015-02-24T08:34:17Z devll joined #lisp 2015-02-24T08:36:56Z MrWoohoo joined #lisp 2015-02-24T08:36:59Z psy_ joined #lisp 2015-02-24T08:37:30Z psy_ quit (Max SendQ exceeded) 2015-02-24T08:38:13Z psy_ joined #lisp 2015-02-24T08:42:55Z hungnv95 joined #lisp 2015-02-24T08:43:07Z pt1_ quit (Remote host closed the connection) 2015-02-24T08:46:17Z kephra quit (Ping timeout: 252 seconds) 2015-02-24T08:46:23Z kraehe joined #lisp 2015-02-24T08:46:29Z void_AT quit 2015-02-24T08:46:51Z munksgaard quit (Ping timeout: 256 seconds) 2015-02-24T08:49:24Z arenz joined #lisp 2015-02-24T08:49:26Z przl joined #lisp 2015-02-24T08:49:47Z nostoi joined #lisp 2015-02-24T08:49:50Z Cymew joined #lisp 2015-02-24T08:50:43Z wemeetagain joined #lisp 2015-02-24T08:51:13Z frkout joined #lisp 2015-02-24T08:51:13Z frkout quit (Remote host closed the connection) 2015-02-24T08:52:29Z Shinmera joined #lisp 2015-02-24T08:53:11Z keen__________72 quit (Read error: Connection reset by peer) 2015-02-24T08:55:39Z keen__________72 joined #lisp 2015-02-24T08:57:01Z pt1 joined #lisp 2015-02-24T08:57:14Z Ven joined #lisp 2015-02-24T08:57:49Z kcj quit (Remote host closed the connection) 2015-02-24T08:59:45Z ehu quit (Quit: Leaving.) 2015-02-24T09:01:16Z gravicappa joined #lisp 2015-02-24T09:03:55Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T09:04:14Z grungier quit (Remote host closed the connection) 2015-02-24T09:05:33Z a20120222 quit (*.net *.split) 2015-02-24T09:05:44Z pt1 quit (Ping timeout: 246 seconds) 2015-02-24T09:07:25Z Ralt: hi #lisp 2015-02-24T09:07:30Z resttime quit (Quit: resttime) 2015-02-24T09:07:35Z Ralt: Shinmera: ping 2015-02-24T09:07:54Z edne left #lisp 2015-02-24T09:08:34Z Shinmera: Pong. 2015-02-24T09:08:55Z Ralt: Shinmera: where is your pgp public key? :-) 2015-02-24T09:09:06Z Ralt: gpg --search-keys couldn't find it. 2015-02-24T09:09:09Z Shinmera: keybase.io/Shinmera 2015-02-24T09:09:48Z Shinmera: They don't have a GPG keyserver yet, but iirc it's in the issues at least. 2015-02-24T09:10:04Z Ralt: Shinmera: fair enough. Just tracked you on it. 2015-02-24T09:12:30Z kapil___ quit (Quit: Connection closed for inactivity) 2015-02-24T09:13:25Z Pastaf quit (Remote host closed the connection) 2015-02-24T09:13:50Z pt1 joined #lisp 2015-02-24T09:14:49Z pranavrc joined #lisp 2015-02-24T09:15:45Z harish_ joined #lisp 2015-02-24T09:17:30Z Shinmera: Ralt: Were you able to get the example running? 2015-02-24T09:18:03Z Ralt: Shinmera: haven't tried it yet 2015-02-24T09:18:06Z Ralt: at work right now 2015-02-24T09:18:45Z Shinmera: Ah, alright. 2015-02-24T09:19:03Z hungnv95 joined #lisp 2015-02-24T09:19:17Z przl quit (Ping timeout: 252 seconds) 2015-02-24T09:19:31Z munksgaard joined #lisp 2015-02-24T09:20:18Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T09:22:30Z Ven quit (Ping timeout: 246 seconds) 2015-02-24T09:23:16Z dafunktion joined #lisp 2015-02-24T09:23:52Z przl joined #lisp 2015-02-24T09:27:07Z nuy_10461903 quit (Remote host closed the connection) 2015-02-24T09:27:30Z hungnv95 joined #lisp 2015-02-24T09:27:40Z nuy_10461903 joined #lisp 2015-02-24T09:28:06Z dafunktion quit (Ping timeout: 246 seconds) 2015-02-24T09:28:16Z Alfr joined #lisp 2015-02-24T09:29:12Z hungnv95 quit (Remote host closed the connection) 2015-02-24T09:29:21Z pt1 quit (Read error: Connection timed out) 2015-02-24T09:30:18Z stepnem joined #lisp 2015-02-24T09:31:53Z pt1 joined #lisp 2015-02-24T09:33:22Z w37 joined #lisp 2015-02-24T09:33:36Z k-dawg joined #lisp 2015-02-24T09:36:14Z larion joined #lisp 2015-02-24T09:38:22Z pt1 quit (Remote host closed the connection) 2015-02-24T09:39:50Z xan_ joined #lisp 2015-02-24T09:43:53Z selat joined #lisp 2015-02-24T09:44:39Z hitecnologys joined #lisp 2015-02-24T09:46:12Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-24T09:46:46Z pt1 joined #lisp 2015-02-24T09:46:51Z Harag quit (Quit: Harag) 2015-02-24T09:47:06Z Harag joined #lisp 2015-02-24T09:48:03Z przl quit (Ping timeout: 256 seconds) 2015-02-24T09:53:09Z rjmacready joined #lisp 2015-02-24T09:55:35Z rjmacready: hey, has anybody played around with McCLIM https://common-lisp.net/project/mcclim/ ? 2015-02-24T09:56:24Z pt1 quit (Remote host closed the connection) 2015-02-24T09:57:11Z H4ns: many have played around with it, but few use it afterwards 2015-02-24T09:58:35Z jdz: i have played around with it a loooong time ago, and i had no idea what i was doing. but here's the result: http://www.ltn.lv/~jonis/clones.html 2015-02-24T10:00:37Z rjmacready: jdz: very cool! 2015-02-24T10:00:53Z larion_ joined #lisp 2015-02-24T10:01:19Z rjmacready: H4ns: do you mean that there are better options, that mcclim is not good, ...? 2015-02-24T10:01:20Z larion_ quit (Client Quit) 2015-02-24T10:02:03Z H4ns: rjmacready: clim is interesting, but mcclim is rather buggy and it is apparently very hard to base a real application on it. 2015-02-24T10:02:36Z H4ns: rjmacready: i used it for some very limited things and it worked ok for that, but it was not very easy to get along with and in the end i switched to writing web interfaces instead :) 2015-02-24T10:04:16Z rjmacready: H4ns: ok i see 2015-02-24T10:04:40Z Shinmera: Other implementations that follow the ideas of CLIM are in the works at least, from what I've picked up on here. 2015-02-24T10:07:41Z Karl_Dscc joined #lisp 2015-02-24T10:08:45Z hungnv95 joined #lisp 2015-02-24T10:09:01Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T10:17:32Z nostoi quit (Read error: Connection reset by peer) 2015-02-24T10:17:44Z przl joined #lisp 2015-02-24T10:17:55Z nostoi joined #lisp 2015-02-24T10:19:15Z pt1 joined #lisp 2015-02-24T10:28:04Z resttime joined #lisp 2015-02-24T10:28:42Z isis_ joined #lisp 2015-02-24T10:34:45Z kuzy000_ joined #lisp 2015-02-24T10:35:10Z intinig joined #lisp 2015-02-24T10:37:20Z paroneayea quit (Read error: Connection reset by peer) 2015-02-24T10:37:51Z paroneayea joined #lisp 2015-02-24T10:38:59Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-24T10:39:02Z dafunktion joined #lisp 2015-02-24T10:40:14Z rjmacready: Shinmera: mind to point to some of them? 2015-02-24T10:40:30Z pt1 quit (Remote host closed the connection) 2015-02-24T10:43:04Z hungnv95 joined #lisp 2015-02-24T10:43:25Z Shinmera: I think nyef has been working on nq-CLIM and beach was working on the CLIM II spec. 2015-02-24T10:43:34Z selat quit (Ping timeout: 245 seconds) 2015-02-24T10:44:00Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T10:44:04Z dafunktion quit (Ping timeout: 255 seconds) 2015-02-24T10:44:44Z Odin- suspects web interfaces are really the path forward. 2015-02-24T10:48:47Z Shinmera shudders 2015-02-24T10:50:58Z Karl_Dscc quit (Remote host closed the connection) 2015-02-24T10:53:00Z lieven: rjmacready: another CLIM offshoot by some of the original developers was DUIM for the Dylan language 2015-02-24T10:53:54Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-02-24T10:53:54Z cadadar joined #lisp 2015-02-24T10:56:00Z cadadar quit (Client Quit) 2015-02-24T10:56:08Z cadadar joined #lisp 2015-02-24T10:56:41Z cadadar quit (Client Quit) 2015-02-24T10:58:01Z axion: what is a good way to clamp a single float to the closest of multiple values? 2015-02-24T10:58:05Z psy_ quit (Read error: No route to host) 2015-02-24T11:08:06Z psy_ joined #lisp 2015-02-24T11:08:10Z ggole: How many values? 2015-02-24T11:08:23Z jackdaniel: axion: http://ix.io/gww <- ? 2015-02-24T11:08:51Z jackdaniel: eh, its wrong, but you got a drill, right? 2015-02-24T11:09:03Z nostoi quit (Quit: Verlassend) 2015-02-24T11:09:09Z jackdaniel: you have to also associate clamped value if min-diff > diff 2015-02-24T11:09:14Z axion: suppose i have 0.51 and i want to change it to 0.5 because it is the closest of: -1.0, -0.5, 0.5, and 1.0 2015-02-24T11:12:49Z H4ns: there is nothing built in for that. i'd use reduce, i think. 2015-02-24T11:13:54Z axion: ok, i'll read up on that 2015-02-24T11:14:08Z brkpnt_ joined #lisp 2015-02-24T11:14:27Z Cymew: I've gotten the impression people often don't use CL for GUI programming. I wonder if it is because CLIM is in such a state, or if it is in such a state because people don't do GUI programming in CL 2015-02-24T11:15:23Z jackdaniel: I think its the former 2015-02-24T11:16:02Z sz0 is now known as sz0` 2015-02-24T11:16:26Z H4ns: i also think that while clim is rather cool, it does not cater well for the expectations of people that want to write guis. often, they want a "menu" and "forms", and clim does have those as its first-class things. 2015-02-24T11:18:00Z jdz: except nowadays [because of the web] nobody cares about platform look-and-feel 2015-02-24T11:18:44Z H4ns: why write a native gui application if you don't need platform look-and-feel? :) 2015-02-24T11:18:54Z jdz: so we've gone full circle, and CLIM is reborn as reactive.js or what's its name 2015-02-24T11:19:26Z H4ns: unfortunately, we've lost CL on the way and need to use javascript instead :) 2015-02-24T11:20:26Z jdz: well, if i was not such a lazy bum i'd divorce the CLIMish thing i wrote from the application it was used in 2015-02-24T11:20:44Z jdz: web application 2015-02-24T11:21:31Z sz0` is now known as sz0 2015-02-24T11:21:58Z jdz: sadly i have more exciting things to use my free time for 2015-02-24T11:24:57Z larion quit (Ping timeout: 256 seconds) 2015-02-24T11:26:13Z Harag quit (Remote host closed the connection) 2015-02-24T11:26:38Z Harag joined #lisp 2015-02-24T11:26:42Z rjmacready: i hate web development so much i would rather play with c# windows forms applications at home 2015-02-24T11:27:00Z rjmacready: and no, im not trolling 2015-02-24T11:29:03Z devll quit (Remote host closed the connection) 2015-02-24T11:30:03Z H4ns: rjmacready: maybe cocoa on ccl would be an option for you? 2015-02-24T11:30:13Z k-dawg joined #lisp 2015-02-24T11:30:39Z H4ns: rjmacready: at least that is a path which has demonstrably lead to actual, modern applications recently. 2015-02-24T11:31:08Z jackdaniel: axion: or this (this one ought to be correct) http://ix.io/gwz/common-lisp 2015-02-24T11:31:45Z paradoja joined #lisp 2015-02-24T11:32:36Z hungnv95 joined #lisp 2015-02-24T11:36:51Z nuy_10461903 quit (Ping timeout: 256 seconds) 2015-02-24T11:37:47Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T11:37:55Z H4ns: axion: i can offer this: http://paste.lisp.org/display/145912 2015-02-24T11:38:36Z hungnv95 joined #lisp 2015-02-24T11:38:57Z axion: thanks 2015-02-24T11:39:02Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T11:39:37Z rjmacready: H4ns: if cocoa on ccl works on windows or linux, maybe (isnt cocoa apple related?) 2015-02-24T11:39:50Z dafunktion joined #lisp 2015-02-24T11:39:58Z H4ns: rjmacready: cocoa is apple related, yes. 2015-02-24T11:40:04Z rjmacready: H4ns: i dont know what "that" stands for in your second sentence :P 2015-02-24T11:40:22Z H4ns: rjmacready: that == ccl + cocoa (on apple) 2015-02-24T11:40:35Z p_l: rjmacready: there's an implementation of NextSTEP APIs for *nix and windows, and NeXTSTEP used to be quite portable (under OpenSTEP brand) 2015-02-24T11:40:54Z p_l: they are not complete wrt OSX, though 2015-02-24T11:41:21Z H4ns: ccl + cocoa + something other than apple osx is not a path that has been proven successful recently 2015-02-24T11:41:40Z pt1 joined #lisp 2015-02-24T11:42:01Z p_l: CCL docs are unclear on building in such conditions, or were some time ago 2015-02-24T11:42:03Z p_l: haven't really tried 2015-02-24T11:42:33Z rjmacready: H4ns: ah ok 2015-02-24T11:42:37Z hungnv95 joined #lisp 2015-02-24T11:42:43Z axion: H4ns: can this be simplified if we assume the list of candidates will always have negative and positive values with the same abs, in order to half the passed in list? 2015-02-24T11:43:19Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T11:44:52Z dafunktion quit (Ping timeout: 240 seconds) 2015-02-24T11:49:23Z nuy_10461903 joined #lisp 2015-02-24T11:53:05Z nuy_10461903 quit (Max SendQ exceeded) 2015-02-24T11:53:43Z nuy_10461903 joined #lisp 2015-02-24T11:55:47Z hungnv95 joined #lisp 2015-02-24T11:56:08Z Karl_Dscc joined #lisp 2015-02-24T11:56:38Z hungkaka123 joined #lisp 2015-02-24T11:57:13Z hungnv95: em yeu anh 2015-02-24T11:58:28Z rszeno joined #lisp 2015-02-24T12:00:25Z d4ryus___ is now known as d4ryus 2015-02-24T12:01:30Z hvpt joined #lisp 2015-02-24T12:01:41Z hvpt: hello 2015-02-24T12:03:43Z tkhoa2711 joined #lisp 2015-02-24T12:07:01Z intinig quit (Remote host closed the connection) 2015-02-24T12:07:36Z intinig joined #lisp 2015-02-24T12:07:53Z hvpt: heheheh 2015-02-24T12:08:40Z JuanDaugherty joined #lisp 2015-02-24T12:08:43Z brkpnt_ quit (Remote host closed the connection) 2015-02-24T12:08:56Z H4ns: axion: simplified? not sure. 2015-02-24T12:09:39Z larion joined #lisp 2015-02-24T12:10:01Z quazimodo quit (Ping timeout: 264 seconds) 2015-02-24T12:11:44Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T12:12:19Z hungnv95 joined #lisp 2015-02-24T12:12:31Z hvpt: hihihihihihi 2015-02-24T12:13:19Z dafunktion joined #lisp 2015-02-24T12:15:40Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T12:16:16Z intinig quit (Ping timeout: 272 seconds) 2015-02-24T12:16:36Z pt1_ joined #lisp 2015-02-24T12:18:41Z intinig joined #lisp 2015-02-24T12:19:07Z pt1 quit (Ping timeout: 250 seconds) 2015-02-24T12:19:12Z Ven joined #lisp 2015-02-24T12:19:42Z ehu joined #lisp 2015-02-24T12:21:17Z cadadar joined #lisp 2015-02-24T12:22:11Z Beetny quit (Ping timeout: 256 seconds) 2015-02-24T12:30:17Z moei quit (Quit: Leaving...) 2015-02-24T12:30:19Z Cymew: Quite a lot of tools in the redhat space these days are written in python, even gui ones. Anyone know what they use? Some kind of wrapper for C libraries like Qt/GTK? (the on topic angle being that those kind of wrapper libs are available for CL as well) 2015-02-24T12:34:07Z rjmacready: Cymew: i believe they do use C wrappers for those toolkits 2015-02-24T12:34:42Z rjmacready: but I dunno what's the state of art regarding that on CL 2015-02-24T12:35:39Z rszeno cffi ? 2015-02-24T12:36:16Z Shinmera joined #lisp 2015-02-24T12:37:12Z rjmacready: by "that" i mean bindings for Qt/Gtk/... 2015-02-24T12:37:31Z hungnv95 joined #lisp 2015-02-24T12:37:52Z rjmacready: meaning that i dont know how up to date or how comprehensive they are (do they only implement a subset of gtk/qt? and so on ...) 2015-02-24T12:38:06Z Shinmera: CommonQt is very up to date and works very well. 2015-02-24T12:38:28Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T12:38:53Z Ven quit (Read error: Connection reset by peer) 2015-02-24T12:39:55Z kraehe: rjmacready, I prefer a more loose coupling for GUIs - e.g. Lisp talking to JS to produce a website or to GtkServer to produce a "native" GUI 2015-02-24T12:41:51Z Shinmera: And I prefer the opposite. 2015-02-24T12:42:20Z Mon_Ouie joined #lisp 2015-02-24T12:43:45Z intinig quit (Remote host closed the connection) 2015-02-24T12:44:23Z intinig joined #lisp 2015-02-24T12:44:37Z kraehe: but at the end, everything is wrapped in a socket, and you have a loose coupling with X11 2015-02-24T12:45:17Z stratomula quit (Ping timeout: 250 seconds) 2015-02-24T12:45:37Z kraehe: i think to recall, that there was talking to X11 was one of the (many failed) attempts for GNU/Smalltalk to build a GUI 2015-02-24T12:46:01Z larion quit (Ping timeout: 255 seconds) 2015-02-24T12:46:20Z Cymew: It sounds like CommonQt is a bit cumbersome to use, though. Or am I getting that wrong? Is it just not very lispy, while it matters little in the pyhton world? 2015-02-24T12:46:29Z larion joined #lisp 2015-02-24T12:46:35Z zeroish quit (Ping timeout: 246 seconds) 2015-02-24T12:46:45Z antoszka: kraehe: I suppose ltk fills the model you like really nice, too. 2015-02-24T12:47:09Z cadadar quit (Quit: Leaving.) 2015-02-24T12:47:11Z cadadar1 joined #lisp 2015-02-24T12:48:43Z Cymew: Looks like there are a bunch of gtk libs for CL on cliki as well. I guess it's the same problem as usual, many options but not a clear choice. 2015-02-24T12:49:04Z hvpt quit (Quit: Leaving) 2015-02-24T12:49:32Z kraehe: Cymew, the choice is to settle at a higher level of abstraction 2015-02-24T12:49:32Z Mon_Ouie quit (Ping timeout: 252 seconds) 2015-02-24T12:49:41Z hungkaka123 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2015-02-24T12:50:08Z kraehe: http://kephra.de/o3proto/books.html <- e.g take a look at the html source code ;-) 2015-02-24T12:51:39Z rszeno: supposing that you use a browser with js support or js enabled, :) 2015-02-24T12:51:42Z Ethan- joined #lisp 2015-02-24T12:52:04Z kraehe: rszeno, yes ;-( but it also runs in phonegap 2015-02-24T12:52:16Z Shinmera: Cymew: http://shinmera.github.io/qtools/ https://github.com/Shinmera/qtools/tree/master/qtools-example 2015-02-24T12:52:28Z larion quit (Ping timeout: 252 seconds) 2015-02-24T12:52:32Z Cymew: kraehe: looks quite nice. In a webbified world it's not bad. 2015-02-24T12:53:00Z intinig quit (Ping timeout: 272 seconds) 2015-02-24T12:53:09Z larion joined #lisp 2015-02-24T12:53:39Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-24T12:53:40Z kapil___ joined #lisp 2015-02-24T12:54:28Z Cymew: Shinmera: I guess the fact that you felt the need to build qtools says something about CommonQt being a bit cumbersome, does it not? Those examples do look good, I grant you that! Qtools would be my choice for CL GUI programming, actually. 2015-02-24T12:55:00Z salva joined #lisp 2015-02-24T12:55:35Z kraehe: Cymew, compare the better readablity of the lisp code with the following JSON: http://kephra.de/o3proto/demo.json.txt 2015-02-24T12:56:25Z splittist: Holy COBOL! lin.pric ? 2015-02-24T12:56:26Z Shinmera: Cymew: It is, but fortunately for you, I already wrote Qtools so there's no need to lament. 2015-02-24T12:56:57Z kraehe: splittist, *sorry* was working in the UN/EDIFACT group for nearly a decade 2015-02-24T12:57:11Z Shinmera: Cymew: Even beside that I wrote the first version of Parasol in "plain" CommonQt without too much of an issue. Qtools is mostly my experiment of trying to fuse two rather different worlds. 2015-02-24T12:57:18Z splittist: kraehe: (: 2015-02-24T12:57:36Z kraehe: splittist, the nightmare of the paperless office 2015-02-24T12:58:44Z splittist: I enjoy living in the future, where I drive my flying car to my paperless office 2015-02-24T12:59:05Z Shinmera: Anyway, Qtools is currently "hot as fresh pie" in that I'm only just right now writing the documentation for the latest additions. 2015-02-24T12:59:07Z fragamus quit (Ping timeout: 244 seconds) 2015-02-24T12:59:23Z rszeno: kraehe, is very nice site, :) 2015-02-24T12:59:23Z kraehe: I enjoy living in a city, where I do not need a car, in walking distance to the boats house of my yacht club ;-) 2015-02-24T12:59:59Z Cymew: Shinmera: Nice. I thought Parasol was also done in Qtools. 2015-02-24T13:00:27Z Cymew: Like I said, I like it quite a bit. Impressive work. 2015-02-24T13:00:30Z kraehe: rszeno, the goal is an SAP for the poor - the Scheme like engine will later be hidden by infix reader macros 2015-02-24T13:01:13Z Shinmera: Cymew: The second version is, the first was not. https://github.com/Shinmera/parasol/tree/old-master 2015-02-24T13:01:22Z Cymew: I see 2015-02-24T13:02:04Z kraehe: but I plan to offer both choices: 1st code your app in scheme, so o3db is a kind of emacs for database apps, 2nd code it o3db by filling out forms this will be more for the powerpointless business consultants 2015-02-24T13:02:22Z psy_ quit (Read error: No route to host) 2015-02-24T13:02:44Z antgreen quit (Ping timeout: 244 seconds) 2015-02-24T13:02:53Z Ven joined #lisp 2015-02-24T13:03:42Z intinig joined #lisp 2015-02-24T13:04:19Z kraehe: rszeno, http://kephra.de/o3proto/r4rs-subset.html <- and there is really a scheme like engine working under the belt 2015-02-24T13:05:32Z rszeno: i know somebody who want to do same thing but with n3 and java 2015-02-24T13:05:45Z hiyosi joined #lisp 2015-02-24T13:05:49Z eudoxia joined #lisp 2015-02-24T13:08:24Z kraehe: N3? RDF? 2015-02-24T13:09:22Z cadadar1 quit (Quit: Leaving.) 2015-02-24T13:10:07Z rszeno: yes 2015-02-24T13:12:00Z attila_lendvai joined #lisp 2015-02-24T13:12:00Z attila_lendvai quit (Changing host) 2015-02-24T13:12:00Z attila_lendvai joined #lisp 2015-02-24T13:12:32Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-02-24T13:12:34Z segmond quit (Ping timeout: 255 seconds) 2015-02-24T13:13:18Z selat joined #lisp 2015-02-24T13:15:14Z pranavrc quit 2015-02-24T13:19:37Z kraehe: o3db will be 3rd implementation of same idea, first was for mainframes, 2nd for vax&unix terminals, and 3rd now is for web/ajax 2015-02-24T13:20:04Z the_real_intinig joined #lisp 2015-02-24T13:20:55Z Ven joined #lisp 2015-02-24T13:21:04Z intinig quit (Ping timeout: 252 seconds) 2015-02-24T13:22:17Z taylanub: what's o3db? google doesn't help much? 2015-02-24T13:22:46Z kraehe: o3db is my upcoming project/vision 2015-02-24T13:23:36Z kraehe: the idea is that a database already knows a lot about possible apps, one just has to add some metadata to have a full app 2015-02-24T13:24:07Z oleo__ quit (Read error: Connection reset by peer) 2015-02-24T13:24:11Z kraehe: one could store this metadata in a database itself, and use forms to crud it, to allow non coders to extend an app 2015-02-24T13:25:10Z segmond joined #lisp 2015-02-24T13:25:55Z rszeno: hraehe, https://github.com/jmvanel/semantic_forms 2015-02-24T13:26:29Z oleo__ joined #lisp 2015-02-24T13:27:15Z the_real_intinig quit (Remote host closed the connection) 2015-02-24T13:27:21Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-02-24T13:27:24Z BitPuffin joined #lisp 2015-02-24T13:27:54Z intinig joined #lisp 2015-02-24T13:28:38Z kraehe: rszeno, will later need a database of both RDF and X12 semantics recommendations, to name fields of databases, that are used to exchange data with other apps 2015-02-24T13:29:00Z kraehe builds this cathedral in the sky even higher 2015-02-24T13:29:04Z rszeno: are described in n3 2015-02-24T13:29:23Z kraehe: well, step by step - lets finish the r4rs subset that I need first 2015-02-24T13:29:48Z rszeno: everything is described in n3 2015-02-24T13:30:03Z kraehe: taylanub, pm ok? 2015-02-24T13:30:19Z taylanub: kraehe: thanks, I'm not that interested :-) 2015-02-24T13:31:09Z Jubb quit (Read error: Connection reset by peer) 2015-02-24T13:32:40Z BitPuffin quit (Ping timeout: 265 seconds) 2015-02-24T13:33:10Z intinig quit (Read error: No route to host) 2015-02-24T13:33:36Z intinig joined #lisp 2015-02-24T13:34:16Z arpunk quit (Remote host closed the connection) 2015-02-24T13:35:39Z segmond quit (Ping timeout: 245 seconds) 2015-02-24T13:38:32Z Shinmera quit (Ping timeout: 256 seconds) 2015-02-24T13:38:51Z rszeno quit (Quit: Leaving.) 2015-02-24T13:39:38Z BitPuffin joined #lisp 2015-02-24T13:43:27Z Ven joined #lisp 2015-02-24T13:44:52Z kobain joined #lisp 2015-02-24T13:45:16Z Shinmera joined #lisp 2015-02-24T13:45:18Z kobain quit (Max SendQ exceeded) 2015-02-24T13:45:35Z kobain joined #lisp 2015-02-24T13:45:51Z taylanub quit (Disconnected by services) 2015-02-24T13:45:51Z taylanub joined #lisp 2015-02-24T13:46:05Z kobain quit (Max SendQ exceeded) 2015-02-24T13:46:22Z kobain joined #lisp 2015-02-24T13:48:04Z stardiviner quit (Quit: Weird in coding now, or make love, only two things push me away from IRC.) 2015-02-24T13:48:54Z segmond joined #lisp 2015-02-24T13:49:44Z intinig quit (Remote host closed the connection) 2015-02-24T13:50:24Z Alfr quit (Quit: Leaving) 2015-02-24T13:51:45Z dafunktion quit (Remote host closed the connection) 2015-02-24T13:52:08Z stardiviner joined #lisp 2015-02-24T13:52:36Z quazimodo joined #lisp 2015-02-24T13:53:52Z attila_lendvai quit (Quit: Leaving.) 2015-02-24T13:54:36Z stardiviner quit (Client Quit) 2015-02-24T13:54:39Z the_real_intinig joined #lisp 2015-02-24T13:58:50Z LiamH joined #lisp 2015-02-24T14:02:43Z ehu quit (Quit: Leaving.) 2015-02-24T14:04:02Z segmond quit (Ping timeout: 245 seconds) 2015-02-24T14:06:05Z Shinmera: Phew! Qtools5 documentation finally done. http://shinmera.github.io/qtools/ 2015-02-24T14:07:41Z eudoxia: qtools is really a great project, i might go back to Qt programming because of it 2015-02-24T14:08:03Z Denommus joined #lisp 2015-02-24T14:08:12Z Shinmera: If I write any more documentation, github is going to count my project as being HTML instead of Common Lisp. 2015-02-24T14:08:29Z Cymew: :) 2015-02-24T14:12:51Z the_real_intinig quit (Remote host closed the connection) 2015-02-24T14:13:13Z lispyone joined #lisp 2015-02-24T14:13:25Z intinig joined #lisp 2015-02-24T14:16:21Z intinig quit (Remote host closed the connection) 2015-02-24T14:16:39Z intinig joined #lisp 2015-02-24T14:17:06Z vaporatorius joined #lisp 2015-02-24T14:17:25Z segmond joined #lisp 2015-02-24T14:18:34Z attila_lendvai joined #lisp 2015-02-24T14:19:27Z yrk joined #lisp 2015-02-24T14:19:49Z sz0 quit (Ping timeout: 245 seconds) 2015-02-24T14:19:59Z yrk quit (Changing host) 2015-02-24T14:19:59Z yrk joined #lisp 2015-02-24T14:20:33Z mega1: Shinmera: with PAX, that wouldn't be an issue ;-) 2015-02-24T14:20:57Z gko__ joined #lisp 2015-02-24T14:21:00Z dafunktion joined #lisp 2015-02-24T14:21:01Z eudoxia is also doing his own documentation generator 2015-02-24T14:21:02Z Shinmera: What wouldn't be an issue? 2015-02-24T14:21:26Z mega1: you wouldn't have more HTML than Common Lisp 2015-02-24T14:21:38Z Adlai: if you use a library that builds the html programmatically 2015-02-24T14:21:44Z Shinmera: But I want people to be able to view it on github pages or locally without anything extra. 2015-02-24T14:22:01Z eudoxia: then just compile the HTML and put it on the gh-pages branch 2015-02-24T14:22:05Z Ven quit (Ping timeout: 246 seconds) 2015-02-24T14:22:07Z eudoxia: i mean, compile the docs to HTML 2015-02-24T14:22:07Z Shinmera: I already do that. 2015-02-24T14:22:33Z Shinmera: The HTML page you're seeing is generated by staple using the README.md and the docstrings. 2015-02-24T14:23:10Z Shinmera: I just /also/ put the resulting HTML into the main repo so that it's available after quicklisp distribution. 2015-02-24T14:23:17Z Shinmera: *main repo branch 2015-02-24T14:23:18Z mega1: oh, staple. I didn't know about it. 2015-02-24T14:23:35Z Shinmera: Most people don't know about most of my projects. http://shinmera.github.io/staple/ 2015-02-24T14:24:36Z attila_lendvai quit (Remote host closed the connection) 2015-02-24T14:25:18Z tkhoa2711 joined #lisp 2015-02-24T14:25:24Z badkins joined #lisp 2015-02-24T14:25:59Z dafunktion quit (Ping timeout: 246 seconds) 2015-02-24T14:27:23Z Cymew: Everyone should have a documentation generator. It's the new thing to cut your teeth on. I've started my own as well... 2015-02-24T14:27:35Z Ven joined #lisp 2015-02-24T14:28:05Z cluck joined #lisp 2015-02-24T14:29:09Z mega1: Shinmera: does it just add the package index to the markdown? 2015-02-24T14:29:21Z Shinmera: It can do whatever you want it to do :) 2015-02-24T14:29:46Z Shinmera: The default template does that, and some minor system definition information insertion. 2015-02-24T14:29:55Z mega1: where is that? 2015-02-24T14:30:10Z Shinmera: https://github.com/Shinmera/staple/blob/master/default.ctml 2015-02-24T14:31:00Z easye joined #lisp 2015-02-24T14:31:28Z mega1: ah, ok. thanks 2015-02-24T14:31:43Z yrk quit (Read error: Connection reset by peer) 2015-02-24T14:31:52Z Shinmera: See http://shinmera.github.io/clip/ for the templating language. 2015-02-24T14:32:04Z hitecnologys quit (Read error: Connection reset by peer) 2015-02-24T14:32:48Z attila_lendvai joined #lisp 2015-02-24T14:33:18Z dafunktion joined #lisp 2015-02-24T14:34:20Z loke_ joined #lisp 2015-02-24T14:34:24Z Bahman quit (Ping timeout: 252 seconds) 2015-02-24T14:38:11Z Bahman joined #lisp 2015-02-24T14:38:48Z lispyone quit (Remote host closed the connection) 2015-02-24T14:41:24Z dafunktion quit (Remote host closed the connection) 2015-02-24T14:42:03Z mega1: I see. Staple is a traditional documentation generator. PAX comes with a philosophy that I believe is halfway to literate programming. 2015-02-24T14:43:38Z Shinmera: I've never done literate programming, so I can't say if that would be a thing for me. 2015-02-24T14:44:39Z mega1: I've never done it either :-) 2015-02-24T14:45:50Z Denommus` joined #lisp 2015-02-24T14:47:22Z Denommus quit (Ping timeout: 245 seconds) 2015-02-24T14:48:28Z attila_lendvai quit (Remote host closed the connection) 2015-02-24T14:49:37Z psy_ joined #lisp 2015-02-24T14:50:12Z psy_ quit (Max SendQ exceeded) 2015-02-24T14:50:56Z psy_ joined #lisp 2015-02-24T14:51:24Z yrk joined #lisp 2015-02-24T14:51:57Z yrk quit (Changing host) 2015-02-24T14:51:58Z yrk joined #lisp 2015-02-24T14:52:11Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-24T14:54:44Z nyef joined #lisp 2015-02-24T14:55:00Z nyef: G'morning all. 2015-02-24T14:56:10Z taylanub quit (Ping timeout: 256 seconds) 2015-02-24T14:56:26Z attila_lendvai joined #lisp 2015-02-24T14:59:21Z dxtr joined #lisp 2015-02-24T15:00:01Z dxtr: Are there any decent lisp plugins for vim? 2015-02-24T15:00:21Z eudoxia: slimv 2015-02-24T15:00:30Z dxtr: Sweet, thanks! 2015-02-24T15:01:10Z dxtr: Typical. Just when you mentioned it I found a blog post on Google about it 2015-02-24T15:01:44Z linux_dream joined #lisp 2015-02-24T15:03:36Z Denommus` is now known as Denommus 2015-02-24T15:04:36Z Shinmera: Alternatively, evil-mode in emacs and slime. 2015-02-24T15:04:55Z Shinmera: Though that's the reverse, in a way. 2015-02-24T15:05:18Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-02-24T15:06:38Z gravicappa quit (Remote host closed the connection) 2015-02-24T15:09:07Z larion quit (Ping timeout: 255 seconds) 2015-02-24T15:10:40Z dxtr: Is cl-irc the preferred IRC library? :) 2015-02-24T15:11:20Z eudoxia: shinmera's colleen can be used as an IRC library 2015-02-24T15:11:45Z dxtr: Oh cool 2015-02-24T15:13:44Z dxtr: This is perfect 2015-02-24T15:14:58Z hitecnologys joined #lisp 2015-02-24T15:15:07Z hitecnologys quit (Client Quit) 2015-02-24T15:15:36Z hitecnologys joined #lisp 2015-02-24T15:21:24Z gniourf quit (Quit: Leaving) 2015-02-24T15:22:17Z bandrami joined #lisp 2015-02-24T15:22:30Z kapil___ quit (Quit: Connection closed for inactivity) 2015-02-24T15:22:53Z gniourf joined #lisp 2015-02-24T15:23:27Z attila_lendvai quit (Quit: Leaving.) 2015-02-24T15:23:51Z rszeno joined #lisp 2015-02-24T15:24:13Z linux_dream quit (Quit: Leaving) 2015-02-24T15:26:06Z jdz quit (Ping timeout: 252 seconds) 2015-02-24T15:26:33Z jlongster joined #lisp 2015-02-24T15:28:30Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-02-24T15:29:38Z Petit_Dejeuner quit (Ping timeout: 265 seconds) 2015-02-24T15:31:40Z jdz joined #lisp 2015-02-24T15:32:30Z Mawile joined #lisp 2015-02-24T15:33:08Z attila_lendvai joined #lisp 2015-02-24T15:33:21Z Shinmera joined #lisp 2015-02-24T15:33:30Z attila_lendvai quit (Changing host) 2015-02-24T15:33:30Z attila_lendvai joined #lisp 2015-02-24T15:34:16Z intinig quit (Remote host closed the connection) 2015-02-24T15:34:55Z intinig joined #lisp 2015-02-24T15:34:56Z bandrami quit (Quit: Leaving) 2015-02-24T15:35:08Z intinig quit (Remote host closed the connection) 2015-02-24T15:35:25Z intinig joined #lisp 2015-02-24T15:35:27Z ruste joined #lisp 2015-02-24T15:36:27Z Ven joined #lisp 2015-02-24T15:37:01Z Joreji joined #lisp 2015-02-24T15:37:01Z Karl_Dscc quit (Remote host closed the connection) 2015-02-24T15:38:11Z lispyone joined #lisp 2015-02-24T15:38:23Z resttime quit (Quit: resttime) 2015-02-24T15:40:22Z Petit_Dejeuner joined #lisp 2015-02-24T15:40:50Z pt1_ quit (Ping timeout: 244 seconds) 2015-02-24T15:46:32Z qubitnerd joined #lisp 2015-02-24T15:47:23Z resttime joined #lisp 2015-02-24T15:47:41Z sz0 joined #lisp 2015-02-24T15:50:14Z Harag quit (Ping timeout: 245 seconds) 2015-02-24T15:52:14Z linux_dream joined #lisp 2015-02-24T15:52:19Z Pyridrym joined #lisp 2015-02-24T15:55:32Z sz0 is now known as sz0` 2015-02-24T15:55:35Z vdamewood joined #lisp 2015-02-24T15:56:45Z Ven quit (Read error: Connection reset by peer) 2015-02-24T15:57:31Z Ven joined #lisp 2015-02-24T16:01:14Z rebelshrug quit (Quit: Textual IRC Client: www.textualapp.com) 2015-02-24T16:02:34Z sz0` is now known as sz0 2015-02-24T16:03:21Z sz0 quit (Quit: Bye.) 2015-02-24T16:05:21Z beach joined #lisp 2015-02-24T16:05:34Z beach: Good afternoon everyone! 2015-02-24T16:05:40Z jackdaniel: o/ 2015-02-24T16:05:49Z nyef: Hello beach. 2015-02-24T16:06:09Z rebelshrug joined #lisp 2015-02-24T16:07:36Z splittist: beach: what will your next bushel of ELS papers cover? (: 2015-02-24T16:07:37Z Cymew quit (Ping timeout: 264 seconds) 2015-02-24T16:07:49Z beach: This year or next year? :) 2015-02-24T16:08:17Z Joreji quit (Ping timeout: 264 seconds) 2015-02-24T16:08:39Z burtons joined #lisp 2015-02-24T16:09:16Z Alfr joined #lisp 2015-02-24T16:09:19Z beach: This year is 1. Handling :FROM-END T and 2. first-class global environments. Maybe 3. A CLOSy version of the CLtL2 local environment protocol. 2015-02-24T16:09:39Z sz0 joined #lisp 2015-02-24T16:09:48Z beach: Next year, probably something about Cleavir, also extensible LOOP. 2015-02-24T16:09:59Z beach: and whatever I cook up in the coming year. 2015-02-24T16:10:18Z void_AT joined #lisp 2015-02-24T16:13:31Z Ven quit (Read error: Connection reset by peer) 2015-02-24T16:13:42Z Ven joined #lisp 2015-02-24T16:15:21Z Ven quit (Read error: Connection reset by peer) 2015-02-24T16:16:28Z Ven joined #lisp 2015-02-24T16:17:32Z cadadar joined #lisp 2015-02-24T16:17:49Z beach: splittist: Will you be there this year? 2015-02-24T16:18:37Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-24T16:19:38Z cpc26 joined #lisp 2015-02-24T16:19:58Z splittist: beach: still up in the air 2015-02-24T16:20:06Z salva quit (Ping timeout: 244 seconds) 2015-02-24T16:20:06Z cpc26_ quit (Ping timeout: 244 seconds) 2015-02-24T16:20:49Z mood quit (Ping timeout: 264 seconds) 2015-02-24T16:21:11Z grantix joined #lisp 2015-02-24T16:21:36Z beach: I hope you can make it. 2015-02-24T16:23:18Z mood joined #lisp 2015-02-24T16:23:20Z dim: having trouble with cl-ppcre multi-line regexp... is that known to work? 2015-02-24T16:23:56Z H4ns: dim: yes. 2015-02-24T16:26:39Z linux_dream quit (Quit: Leaving) 2015-02-24T16:28:41Z dim: so that's on me then 2015-02-24T16:29:10Z dim: but I cry a little each time I have to play with a regexp, I'd better get a real parser and be done with that already 2015-02-24T16:29:30Z Bike: you could use ppcre's list expressions. 2015-02-24T16:30:59Z Xach: you could use the regex coach! 2015-02-24T16:31:06Z zygentoma joined #lisp 2015-02-24T16:31:28Z void_AT quit (Ping timeout: 246 seconds) 2015-02-24T16:31:37Z dim: I'm using list expressions 2015-02-24T16:31:40Z dim: it still fails on me 2015-02-24T16:31:44Z dim: I'm back to parsing 2015-02-24T16:32:01Z dlowe: use a parser library :) 2015-02-24T16:32:06Z dim: reminder for next time, never ever think using a regexp will make anything simpler 2015-02-24T16:32:16Z dim: I like esrap but it doesn't handle back references 2015-02-24T16:32:23Z dim: I have 90% of the parser from another project already 2015-02-24T16:32:27Z salva joined #lisp 2015-02-24T16:33:03Z Bike: oh, multiline regex as in you're matching multiple lines, not that the regex is multiple lines. 2015-02-24T16:33:38Z Shinmera: Regexes are Ok if you don't try to do anything beyond simple matching with it. 2015-02-24T16:34:02Z a20150201 joined #lisp 2015-02-24T16:34:06Z attila_lendvai quit (Quit: Leaving.) 2015-02-24T16:34:16Z Bike: i guess you need to pass :multi-line-mode t, dunno if you are 2015-02-24T16:34:32Z dim: of course I am, yeah 2015-02-24T16:34:44Z dim: it still doesn't match anything even with obvious made up examples 2015-02-24T16:35:02Z dim: so I'm throwing that approach away and complaining about it here just to feel not that alone in the dark 2015-02-24T16:35:07Z dim: sorry about the bad vibes 2015-02-24T16:35:29Z theseb joined #lisp 2015-02-24T16:36:08Z arenz quit (Ping timeout: 246 seconds) 2015-02-24T16:36:17Z badkins_ joined #lisp 2015-02-24T16:38:49Z Xach: I wish we could help with real data!! 2015-02-24T16:38:57Z Shinmera: dim: I'm still having trouble understanding what exactly you're trying to match 2015-02-24T16:39:27Z badkins quit (Ping timeout: 245 seconds) 2015-02-24T16:39:28Z Shinmera: Because f.e. matching two empty lines works just dandy. 2015-02-24T16:39:38Z swflint_away is now known as swflint 2015-02-24T16:39:40Z Shinmera: If that's what a "multi line regex" is 2015-02-24T16:40:06Z badkins_ is now known as badkins 2015-02-24T16:42:40Z hungnv95 joined #lisp 2015-02-24T16:42:46Z hungnv95: hi everyone 2015-02-24T16:43:02Z hungnv95 quit (Read error: Connection reset by peer) 2015-02-24T16:43:58Z void_AT joined #lisp 2015-02-24T16:44:54Z devll joined #lisp 2015-02-24T16:45:47Z Davidbrcz joined #lisp 2015-02-24T16:46:32Z dim: I do appreciate your willingness to be useful guys... but really, it's between that thing and me. ;-) 2015-02-24T16:47:15Z dim: now I feel your pain, so I'm publishing an exampel 2015-02-24T16:47:17Z jasom: dim: I think you want :multi-line-mode nil if you want to match multiple lines 2015-02-24T16:48:36Z dim: http://paste.lisp.org/display/145913 2015-02-24T16:49:05Z vsync_ is now known as vsync60 2015-02-24T16:49:57Z vsync60 is now known as vsync 2015-02-24T16:50:09Z Xach: dim: thanks! 2015-02-24T16:51:24Z jasom: dim: FYI you can do arbitrary parsing with esrap if you use the function rule (which makes your grammer no longer describable in the PEG) 2015-02-24T16:51:30Z Karl_Dscc joined #lisp 2015-02-24T16:51:44Z dim: any link for docs to the function rule? 2015-02-24T16:51:58Z jasom: dim: nope, I figured it out from the source 2015-02-24T16:52:04Z ASau joined #lisp 2015-02-24T16:53:46Z Shinmera: dim: I'm not sure if I understand your list regex correctly as I've never used them before, but "FUNCTION ([a-zA-Z_]+) ([\\s\\S]*) END \\1;" matches your example. 2015-02-24T16:53:49Z shka joined #lisp 2015-02-24T16:53:52Z shka: hi all 2015-02-24T16:54:10Z shka: what is the best or most popular test framework nowdays? 2015-02-24T16:54:25Z Shinmera: Whichever you choose. 2015-02-24T16:54:30Z theos quit (Disconnected by services) 2015-02-24T16:55:01Z theos joined #lisp 2015-02-24T16:56:30Z shka: Shinmera: as you would think, i'm essentially trying to choose one 2015-02-24T16:56:35Z antoszka: shka: 5am is the one I keep bumping into. 2015-02-24T16:56:52Z antoszka: shka: But this totally anegdotic. 2015-02-24T16:56:54Z Shinmera: "best" is relative to what you want to do 2015-02-24T16:57:00Z Shinmera: "popular" is not a good thing to go by 2015-02-24T16:57:09Z Shinmera: so: How is anyone supposed to answer your question well? 2015-02-24T16:57:41Z jasom: Shinmera: popular is as good a way to pick a starting point as any (maybe better, as it's more likely to be exercised) 2015-02-24T16:57:42Z |3b| quit (Read error: Connection reset by peer) 2015-02-24T16:58:00Z shka: i want to essentially test functions and methods. I don't think i need mocking since common lisp is dynamic typed. I wish i could write tests in the same file as my code 2015-02-24T16:58:32Z Karl_Dscc quit (Remote host closed the connection) 2015-02-24T16:58:32Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-02-24T16:58:38Z eudoxia: no nooo no nono no 2015-02-24T16:58:44Z eudoxia: tests go in a different system 2015-02-24T16:58:53Z eudoxia: people loading your code should not load the tests of your code also 2015-02-24T16:58:53Z shka: it would be nice to be able to organize tests in groups so i'm not forced to run evertyhing at once 2015-02-24T16:59:11Z shka: eudoxia: can't i get that with macro? 2015-02-24T16:59:56Z shka: needless to say, that would be all i can think at the moment 2015-02-24T17:00:14Z eudoxia: fiveam does allow you to group tests into suites 2015-02-24T17:00:27Z Shinmera: If you just want to "test functions" and "group" then almost anything will suit your needs. 2015-02-24T17:00:29Z shka: why it is actually 5am? 2015-02-24T17:00:36Z shka: i mean 2015-02-24T17:00:44Z shka: this name is certainly peculiar 2015-02-24T17:01:06Z shka: eudoxia: i think i will stick with 5am 2015-02-24T17:01:29Z reb````: I like Stefil for testing. 2015-02-24T17:01:34Z shka: Functions for re-running recently run tests. 2015-02-24T17:01:38Z reb```` is now known as reb 2015-02-24T17:01:46Z shka: now, that is cute feature to have 2015-02-24T17:02:02Z Bike: Shinmera: your regex doesn't seem to work with multiple lines 2015-02-24T17:02:32Z Shinmera: Bike: I don't know about you, but it works for me? https://filebox.tymoon.eu/file/TXprMg== 2015-02-24T17:03:22Z munksgaard quit (Ping timeout: 240 seconds) 2015-02-24T17:03:26Z jasom: hmm, I'm getting a different value when I do an (eval +) then when I copy and paste the result in the repl 2015-02-24T17:03:38Z Shinmera: Ah, wait, it matches too greedily 2015-02-24T17:03:40Z Shinmera: Hold on 2015-02-24T17:03:42Z jasom: does slime not print readably? 2015-02-24T17:04:00Z Shinmera: Should be "FUNCTION ([a-zA-Z_]+) ([\\s\\S]*?) END \\1;" 2015-02-24T17:04:31Z shka: reb: actually stefil also looks nice 2015-02-24T17:04:40Z Shinmera: shka: There's also Prove. 2015-02-24T17:04:42Z Bike: i typed in the same thing and got nil. weird. 2015-02-24T17:04:42Z shka: and dead simple 2015-02-24T17:05:33Z Shinmera: Bike: That's strange indeed. I don't think my CL-PPCRE is modified in any way, I just started my image. 2015-02-24T17:05:46Z nell joined #lisp 2015-02-24T17:05:58Z ehu joined #lisp 2015-02-24T17:06:09Z Shinmera: dim: Does my regex from above work for you, or? 2015-02-24T17:06:25Z shka: nice that i can put the test suite at the end of the file 2015-02-24T17:06:25Z selat quit (Read error: Connection reset by peer) 2015-02-24T17:06:37Z shka: so it will load each time i'm loading file 2015-02-24T17:06:41Z dim: I've switched to a real parser that can split the important things in between the keywords because I will need that later 2015-02-24T17:06:44Z shka: it is kinda nice, really 2015-02-24T17:06:56Z dim: I canceled the quick and dirty approach 2015-02-24T17:07:05Z munksgaard joined #lisp 2015-02-24T17:07:10Z Shinmera: Alright. 2015-02-24T17:07:21Z jasom: Shinmera: http://paste.lisp.org/display/145914 2015-02-24T17:08:20Z jasom: actually, if anyone can answer the question what I'm doing wrong there, I'd appreciate it 2015-02-24T17:08:56Z Shinmera: I can't tell you, as I said, I never used the list regexes thing before. 2015-02-24T17:09:11Z Shinmera: I just punch my things into http://regexr.com/ until it works. 2015-02-24T17:09:13Z Bike: am i reading that right? you used the parse ppcre gave you and it didn't work, but the string does? 2015-02-24T17:09:14Z serses joined #lisp 2015-02-24T17:09:30Z radioninja quit (Ping timeout: 252 seconds) 2015-02-24T17:09:35Z jasom: Bike: no, if I do '#.(cl-ppcre:parse-string) it works 2015-02-24T17:09:45Z jasom: If I copy and paste (prin1 +) after that, it doesn't 2015-02-24T17:10:06Z jasom: Obviously (eval +) works fine 2015-02-24T17:10:26Z jasom: so something is getting munged in the prin1/copy/paste path 2015-02-24T17:10:39Z w37 quit (Remote host closed the connection) 2015-02-24T17:11:09Z jasom: Ah 2015-02-24T17:11:20Z Bike: well, if i c/p the prni1'd output it works for me. 2015-02-24T17:11:25Z jasom: "#\ " became "#\" 2015-02-24T17:11:51Z jasom: Can I get sbcl to print #\Space instead of "#\ "? 2015-02-24T17:12:22Z Bike: print-readably t, looks like 2015-02-24T17:12:33Z jasom thought prin1 bound *print-readably* 2015-02-24T17:12:46Z jasom: blargh, nope just print-escape 2015-02-24T17:12:58Z jasom: and princ binds *print-readably* to false 2015-02-24T17:13:05Z Bike: good old printer. 2015-02-24T17:13:25Z jasom: I need another O word so I can call it GOOP 2015-02-24T17:14:52Z Bike: prin1 gives output "suitable for READ" but doesn't bind print-readably, nice 2015-02-24T17:15:15Z Patzy quit (Ping timeout: 250 seconds) 2015-02-24T17:15:35Z echo-are` joined #lisp 2015-02-24T17:15:50Z Patzy joined #lisp 2015-02-24T17:16:17Z echo-area quit (Ping timeout: 256 seconds) 2015-02-24T17:17:50Z eudoxia quit (Quit: Leaving) 2015-02-24T17:18:59Z agumonkey quit (Ping timeout: 250 seconds) 2015-02-24T17:19:18Z jasom: Bike: that's probably so that it doesn't error on unprintable objects? 2015-02-24T17:19:38Z gravicappa joined #lisp 2015-02-24T17:20:13Z bb010g quit (Quit: Connection closed for inactivity) 2015-02-24T17:22:00Z przl quit (Ping timeout: 246 seconds) 2015-02-24T17:22:33Z jasom: Anyway dim, I know it's too late, but: (:SEQUENCE "FUNCTION " (:REGISTER (:GREEDY-REPETITION 1 NIL (:CHAR-CLASS (:RANGE #\a #\z) (:RANGE #\A #\Z) #\_))) #\Space (:GROUP (:NON-GREEDY-REPETITION 0 NIL (:CHAR-CLASS :WHITESPACE-CHAR-CLASS :NON-WHITESPACE-CHAR-CLASS))) " END " (:BACK-REFERENCE 1) #\;) 2015-02-24T17:22:44Z BlueRavenGT joined #lisp 2015-02-24T17:23:17Z dim: why is your large char-class working when everything is not? 2015-02-24T17:23:46Z jasom: everything doesn't match a newline in multi-line mode 2015-02-24T17:24:09Z dim: oh. I missed that in the docs. why does it makes sense? 2015-02-24T17:24:44Z jasom: dim: because you might want to e.g. .*$ in multi-line mode 2015-02-24T17:24:52Z jasom: to match to the end of the line 2015-02-24T17:25:10Z dim: mmm. 'k 2015-02-24T17:26:52Z jasom: I think the first thing I said is you wanted single-line mode 2015-02-24T17:26:57Z |3b|`` joined #lisp 2015-02-24T17:27:25Z jasom: and indeed, if you put :single-line-mode right after :sequence then everything works replacing :char-class with :everything 2015-02-24T17:27:53Z jasom: (:SEQUENCE :single-line-mode-p "FUNCTION " (:REGISTER (:GREEDY-REPETITION 1 NIL (:CHAR-CLASS (:RANGE #\a #\z) (:RANGE #\A #\Z) #\_))) #\Space (:GROUP (:NON-GREEDY-REPETITION 0 NIL :everything)) " END " (:BACK-REFERENCE 1) #\;) 2015-02-24T17:28:28Z jasom: "single line mode" means "treat it as if it were a single line" not "I only want to match on a single line" 2015-02-24T17:28:43Z jasom: so newlines are not special in single-line-mode but are in multi-line 2015-02-24T17:29:39Z jasom: As usual this all goes back to ed 2015-02-24T17:30:39Z jasom: The real wtf is that \s matches a newline in multi-line mode 2015-02-24T17:31:02Z jasom: kudos to Shinmera for discovering that 2015-02-24T17:31:33Z munksgaard quit (Ping timeout: 250 seconds) 2015-02-24T17:33:05Z lispyone quit (Remote host closed the connection) 2015-02-24T17:36:21Z |3b|`` is now known as |3b| 2015-02-24T17:36:39Z Shinmera: I just googled "dotall multiline" and had it in a minute ‾\(ツ)/‾ 2015-02-24T17:37:07Z ByElektroNeo joined #lisp 2015-02-24T17:38:09Z Shinmera: Having an interactive tool like regexr is invaluable when writing the damn things as it makes problems immediately apparent as you write. 2015-02-24T17:38:19Z JuanDaugherty is unclear if sb-introspect is supposed to be used for xref or what 2015-02-24T17:39:52Z resttime quit (Ping timeout: 245 seconds) 2015-02-24T17:45:21Z monod joined #lisp 2015-02-24T17:47:53Z monod: hello g'd guys! 2015-02-24T17:49:15Z munksgaard joined #lisp 2015-02-24T17:53:37Z munksgaard quit (Ping timeout: 244 seconds) 2015-02-24T17:54:27Z Patzy quit (Remote host closed the connection) 2015-02-24T17:54:34Z Patzy joined #lisp 2015-02-24T17:55:42Z Pyridrym quit (Ping timeout: 245 seconds) 2015-02-24T17:56:48Z intinig quit (Remote host closed the connection) 2015-02-24T17:59:31Z MoALTz joined #lisp 2015-02-24T18:00:42Z selat joined #lisp 2015-02-24T18:01:01Z selat quit (Read error: Connection reset by peer) 2015-02-24T18:01:37Z ggole quit 2015-02-24T18:03:00Z Ethan- quit (Ping timeout: 246 seconds) 2015-02-24T18:04:11Z gabriel_laddel joined #lisp 2015-02-24T18:06:41Z selat joined #lisp 2015-02-24T18:08:00Z selat quit (Read error: Connection reset by peer) 2015-02-24T18:09:45Z innertracks joined #lisp 2015-02-24T18:09:49Z monod: I'd like to "host" a project. 2015-02-24T18:10:07Z monod: I need it to be public in order to have the most help out of the community 2015-02-24T18:11:15Z Mawile: Like, hosting code..? Or a bunch of content related to it? 2015-02-24T18:11:15Z Mawile: Because if you mean the former, there is always Github. 2015-02-24T18:11:42Z sz0 is now known as sz0` 2015-02-24T18:11:48Z Mawile: Actually, the latter would work there too because of the username.github.io thing they have 2015-02-24T18:12:58Z devll quit (Remote host closed the connection) 2015-02-24T18:13:27Z monod: Mawile, you opened another question in me :D because I've heard of (and used) Gitlab a few time ago, and I was just wondering now if wouldn't it be a nice idea to put stuff in Gitlab instead of Github. But, coming back in-topic... 2015-02-24T18:14:00Z monod: Mawile, I think I'd need to put both code and things related to it, like... A graph showing the current status of the project 2015-02-24T18:14:22Z monod: (think of it as a graph with "todos" and "concepts" drawed in there) 2015-02-24T18:14:24Z MrWoohoo quit (Ping timeout: 252 seconds) 2015-02-24T18:14:34Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-24T18:14:43Z Mawile: Hm, well Github has a Wiki and Issue tracker for each project... 2015-02-24T18:14:54Z monod: Gitlab has it too 2015-02-24T18:14:58Z monod: has them* too 2015-02-24T18:15:03Z Mawile: I'm unfamiliar with Gitlab, so I'm not 100% sure how it comparse 2015-02-24T18:15:09Z monod: ukay 2015-02-24T18:15:28Z monod: btw, I'd choose Gitlab just for the fun of using it 2015-02-24T18:15:37Z Mawile: Oh yeah? ^^ 2015-02-24T18:15:41Z monod: yes :D 2015-02-24T18:15:49Z Mawile checks it out 2015-02-24T18:15:54Z monod: I mean that I'm not very much wondering about the choice between gitlab and github 2015-02-24T18:16:05Z monod: oh, you're better to! Mawile :D 2015-02-24T18:16:45Z Mawile: Fascinating 2015-02-24T18:16:48Z monod: it's completely open-source, compared to github which has something that I can't recall atm (even if it's open-source as well) 2015-02-24T18:17:35Z monod: supposing I would choose github or gitlab, now it's time to see if I can do what I intend to, with one of them 2015-02-24T18:17:49Z monod: thanks for the help Mawile! \o/ 2015-02-24T18:18:06Z Mawile: Not sure how much I did... But you're welcome. ^^ 2015-02-24T18:18:30Z monod: I did not even think of tools like github xD You reminded me of those 2015-02-24T18:19:01Z Bicyclidine joined #lisp 2015-02-24T18:19:22Z jjkola joined #lisp 2015-02-24T18:19:35Z jjkola: hi 2015-02-24T18:19:36Z monod: @all: have a look at this reading! Might be interesting for the people in this channel! It's the book "lisp hackers" which gathers some interviews from 14 lispers.. (Might it be useful to put it in the /title to increase visibility?) Link: https://leanpub.com/lisphackers/read 2015-02-24T18:19:39Z monod: hi jjkola 2015-02-24T18:19:54Z monod: (@all: it's a free book) 2015-02-24T18:20:23Z jjkola: anybody using cl-libusb? 2015-02-24T18:21:34Z jjkola: I'm wondering what functionality I should keep and what I can get rid of, so if somebody is using it would be nice to get some feedback 2015-02-24T18:22:13Z void_AT quit 2015-02-24T18:23:17Z Bahman quit (Quit: Ave atque vale) 2015-02-24T18:23:25Z jjkola: brb 2015-02-24T18:25:12Z Mawile bookmarks book 2015-02-24T18:27:13Z dafunktion joined #lisp 2015-02-24T18:27:56Z grantix- joined #lisp 2015-02-24T18:29:12Z pt1 joined #lisp 2015-02-24T18:34:01Z Patzy quit (Ping timeout: 264 seconds) 2015-02-24T18:34:18Z Patzy joined #lisp 2015-02-24T18:35:53Z Pyridrym joined #lisp 2015-02-24T18:37:18Z lispyone joined #lisp 2015-02-24T18:38:43Z larion joined #lisp 2015-02-24T18:43:00Z intinig joined #lisp 2015-02-24T18:45:09Z intinig quit (Remote host closed the connection) 2015-02-24T18:46:09Z Mon_Ouie joined #lisp 2015-02-24T18:46:15Z selat joined #lisp 2015-02-24T18:47:07Z swflint is now known as swflint_away 2015-02-24T18:47:48Z selat quit (Read error: Connection reset by peer) 2015-02-24T18:48:41Z Petit_Dejeuner_ joined #lisp 2015-02-24T18:49:27Z jjkola: back 2015-02-24T18:51:34Z bb010g joined #lisp 2015-02-24T18:51:47Z Petit_Dejeuner__ joined #lisp 2015-02-24T18:52:35Z yrk quit (Remote host closed the connection) 2015-02-24T18:52:38Z Petit_Dejeuner quit (Ping timeout: 265 seconds) 2015-02-24T18:53:25Z selat joined #lisp 2015-02-24T18:53:27Z Petit_Dejeuner_ quit (Ping timeout: 250 seconds) 2015-02-24T18:54:15Z selat quit (Read error: Connection reset by peer) 2015-02-24T18:56:58Z radioninja joined #lisp 2015-02-24T18:58:22Z paradoja quit (Ping timeout: 240 seconds) 2015-02-24T18:58:57Z Pyridrym quit (Quit: leaving) 2015-02-24T19:00:40Z edgar-rft quit (Quit: edgar-rft) 2015-02-24T19:02:55Z thodg joined #lisp 2015-02-24T19:03:02Z devll joined #lisp 2015-02-24T19:03:35Z Pyridrym joined #lisp 2015-02-24T19:04:45Z pt1 quit (Remote host closed the connection) 2015-02-24T19:05:10Z selat joined #lisp 2015-02-24T19:05:49Z selat quit (Read error: Connection reset by peer) 2015-02-24T19:07:33Z paroneayea quit (Read error: Connection reset by peer) 2015-02-24T19:08:04Z paroneayea joined #lisp 2015-02-24T19:12:58Z sol__ joined #lisp 2015-02-24T19:14:01Z innertracks1 joined #lisp 2015-02-24T19:14:41Z devll quit (Remote host closed the connection) 2015-02-24T19:15:42Z innertracks quit (Ping timeout: 245 seconds) 2015-02-24T19:16:25Z selat joined #lisp 2015-02-24T19:16:41Z selat quit (Read error: Connection reset by peer) 2015-02-24T19:17:23Z munksgaard joined #lisp 2015-02-24T19:17:38Z francogrex joined #lisp 2015-02-24T19:19:01Z beach left #lisp 2015-02-24T19:19:02Z francogrex: Hi, I would like to 'debug' a library by using break and step etc... but asdf system forces compilation and when compiled I lose the src. Is there a way to load asdf without compilation (sbcl usage here)? 2015-02-24T19:21:04Z nyef: francogrex: That seems more than a little odd. Are you sure it's not that it's getting compiled with too low a DEBUG optimize quality? 2015-02-24T19:23:00Z rhllor joined #lisp 2015-02-24T19:23:03Z a20150201 quit (Quit: Page closed) 2015-02-24T19:23:05Z munksgaard quit (Ping timeout: 250 seconds) 2015-02-24T19:23:08Z francogrex: I am not seeting anything nyef leaving the defaults settings. should I start (declaim (optimize (debug 3))) before compiling/loading the asdf 2015-02-24T19:23:17Z francogrex: setting 2015-02-24T19:24:31Z a20150201 joined #lisp 2015-02-24T19:27:56Z nyef: That I couldn't tell you. It might be worth a shot, or there's also something about RESTRICT-COMPILER-POLICY somewhere which might be usable. 2015-02-24T19:28:33Z nyef: The idea that compilation in SBCL "losing the source" is a bit odd, hence my suggestion that it might be an issue with the optimization policy. 2015-02-24T19:29:12Z nyef: Some libraries like to proclaim their own debug settings, which can be a bit of a bother in situations like this. 2015-02-24T19:30:01Z Pyridrym quit (Quit: leaving) 2015-02-24T19:30:06Z rpg joined #lisp 2015-02-24T19:30:22Z kons joined #lisp 2015-02-24T19:31:55Z innertracks joined #lisp 2015-02-24T19:32:47Z innertracks1 quit (Ping timeout: 245 seconds) 2015-02-24T19:33:37Z HG` joined #lisp 2015-02-24T19:34:38Z Denommus quit (Remote host closed the connection) 2015-02-24T19:39:34Z sol__: need help with socket timeout - i'm sending udp request with usocket and while i provide socket-connect with :timeout 2 it doesn't timeout after 2 seconds... 2015-02-24T19:40:51Z lispyone quit (Remote host closed the connection) 2015-02-24T19:44:51Z fantazo quit (Quit: Verlassend) 2015-02-24T19:45:43Z lispyone joined #lisp 2015-02-24T19:46:14Z francogrex: I'll look into asdf itmay have it's own compilation settings 2015-02-24T19:47:49Z lispyone quit (Remote host closed the connection) 2015-02-24T19:48:40Z francogrex: nyef: (declaim (optimize (debug 3))) did the trick ! 2015-02-24T19:49:22Z nyef: francogrex: Wonderful! 2015-02-24T19:49:38Z francogrex: thanks 2015-02-24T19:49:46Z vdamewood quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-02-24T19:49:55Z innertracks quit (Ping timeout: 255 seconds) 2015-02-24T19:50:09Z Posterdati quit (Ping timeout: 265 seconds) 2015-02-24T19:50:31Z lispyone joined #lisp 2015-02-24T19:50:59Z moei joined #lisp 2015-02-24T19:51:57Z francogrex: fyi I'm playing around with montezuma it's a good lib: https://github.com/sharplispers/montezuma 2015-02-24T19:52:44Z Bicyclidine quit (Ping timeout: 245 seconds) 2015-02-24T19:53:06Z jjkola quit (Quit: Leaving) 2015-02-24T19:53:17Z rjmacready quit (Ping timeout: 264 seconds) 2015-02-24T19:53:50Z kushal quit (Excess Flood) 2015-02-24T19:54:51Z lispyone quit (Remote host closed the connection) 2015-02-24T19:54:52Z BitPuffin quit (Ping timeout: 240 seconds) 2015-02-24T19:55:19Z ruste quit (Ping timeout: 255 seconds) 2015-02-24T19:55:36Z kushal joined #lisp 2015-02-24T19:55:38Z dafunktion quit (Remote host closed the connection) 2015-02-24T19:56:18Z JuanDaugherty quit (Remote host closed the connection) 2015-02-24T19:58:53Z cpc26 quit (Ping timeout: 250 seconds) 2015-02-24T19:59:12Z cpc26 joined #lisp 2015-02-24T20:01:11Z HG` quit (Quit: Leaving.) 2015-02-24T20:02:16Z munksgaard joined #lisp 2015-02-24T20:02:48Z attila_lendvai joined #lisp 2015-02-24T20:02:48Z attila_lendvai quit (Changing host) 2015-02-24T20:02:48Z attila_lendvai joined #lisp 2015-02-24T20:03:42Z Posterdati joined #lisp 2015-02-24T20:04:55Z Denommus joined #lisp 2015-02-24T20:06:34Z innertracks joined #lisp 2015-02-24T20:06:55Z sol__ quit (Ping timeout: 244 seconds) 2015-02-24T20:08:25Z lispyone joined #lisp 2015-02-24T20:12:13Z Harag joined #lisp 2015-02-24T20:12:22Z munksgaard quit (Ping timeout: 240 seconds) 2015-02-24T20:12:32Z sol__ joined #lisp 2015-02-24T20:13:19Z gravicappa quit (Ping timeout: 255 seconds) 2015-02-24T20:13:53Z przl joined #lisp 2015-02-24T20:14:02Z Patzy quit (Ping timeout: 245 seconds) 2015-02-24T20:15:04Z Patzy joined #lisp 2015-02-24T20:15:05Z fragamus joined #lisp 2015-02-24T20:15:41Z ebrasca joined #lisp 2015-02-24T20:15:57Z kobain quit (Ping timeout: 250 seconds) 2015-02-24T20:17:49Z sol__ quit (Ping timeout: 264 seconds) 2015-02-24T20:17:52Z |3b| quit (Read error: Connection reset by peer) 2015-02-24T20:18:41Z pnpuff joined #lisp 2015-02-24T20:18:44Z stev3n joined #lisp 2015-02-24T20:19:40Z kons quit (Remote host closed the connection) 2015-02-24T20:20:04Z |3b| joined #lisp 2015-02-24T20:20:39Z ByElektroNeo quit (Ping timeout: 245 seconds) 2015-02-24T20:20:52Z prxq joined #lisp 2015-02-24T20:21:53Z Bicyclidine joined #lisp 2015-02-24T20:23:08Z Petit_Dejeuner__ quit (Ping timeout: 256 seconds) 2015-02-24T20:24:30Z pt1 joined #lisp 2015-02-24T20:25:19Z Harag quit (Ping timeout: 250 seconds) 2015-02-24T20:25:20Z Xaving joined #lisp 2015-02-24T20:26:06Z innertracks quit (Quit: innertracks) 2015-02-24T20:28:08Z innertracks joined #lisp 2015-02-24T20:31:47Z Davidbrcz quit (Ping timeout: 256 seconds) 2015-02-24T20:34:09Z kobain joined #lisp 2015-02-24T20:34:39Z kobain quit (Max SendQ exceeded) 2015-02-24T20:34:58Z kobain joined #lisp 2015-02-24T20:35:55Z kons joined #lisp 2015-02-24T20:36:02Z kobain quit (Max SendQ exceeded) 2015-02-24T20:36:22Z kobain joined #lisp 2015-02-24T20:36:50Z kobain quit (Max SendQ exceeded) 2015-02-24T20:37:14Z kushal quit (Ping timeout: 272 seconds) 2015-02-24T20:37:28Z Ralt: Shinmera: cheers, using github's qtools instead of quicklisp "fixes" my issues 2015-02-24T20:37:40Z Xach: new quicklisp release very soon 2015-02-24T20:38:07Z Ralt: Xach: yay! :) 2015-02-24T20:38:32Z Eremox joined #lisp 2015-02-24T20:38:33Z schjetne: Xach: cool, getting closer to the 'beyond beta'? 2015-02-24T20:38:52Z Shinmera: Ralt: Documentation is complete as well. 2015-02-24T20:38:53Z schjetne: I'm planning on going to the symposium for your talk 2015-02-24T20:38:55Z Ralt: Xach: you've probably heard this question quite often, but why is quicklisp not based on something tag-based (for releases) and push-based (for updates) 2015-02-24T20:38:57Z Ralt: ? 2015-02-24T20:39:01Z Ralt: Shinmera: yay! :) 2015-02-24T20:39:14Z pnpuff left #lisp 2015-02-24T20:39:18Z Xach: Ralt: I don't know what that means. 2015-02-24T20:39:27Z sol__ joined #lisp 2015-02-24T20:39:35Z Eremox: Anyone know any good small project for learning lisp? Or any other tips? 2015-02-24T20:39:47Z Xach: Eremox: practical common lisp is a good book about common lisp 2015-02-24T20:39:57Z Shinmera: Eremox: PCL has nice small to medium projects. 2015-02-24T20:40:30Z Shinmera: Eremox: And otherwise, just implement whatever piques your interest. 2015-02-24T20:40:38Z antoszka: Eremox: Once you start reading PCL you'll probably want to roll your own pretty quickly. 2015-02-24T20:40:39Z Xach: Ralt: what is tagged? 2015-02-24T20:40:49Z ByElektroNeo joined #lisp 2015-02-24T20:41:03Z Kanae quit (Read error: Connection reset by peer) 2015-02-24T20:41:11Z Eremox: Antoszaka: roll my own? 2015-02-24T20:41:17Z antoszka: Eremox: At this stage you'll want to get some orientation in available libraries and probably learn to use Xach's quicklisp. 2015-02-24T20:41:22Z Ralt: Xach: sorry... let me explain what I mean. Tags are git tags for each project. And "push based" means that each project maintainer pushes to quicklisp that it updated. This way, quicklisp is always updated. 2015-02-24T20:41:26Z antoszka: Eremox: Your own project, as Shinmera says. 2015-02-24T20:41:33Z Eremox: Ok 2015-02-24T20:41:51Z Xach: Ralt: not every project uses git. not every maintainer cares about maintaining extra info for quicklisp's sake. 2015-02-24T20:42:11Z Ralt: Xach: oh, I see 2015-02-24T20:42:21Z Ralt: got it 2015-02-24T20:42:23Z Petit_Dejeuner joined #lisp 2015-02-24T20:44:04Z gabriel_laddel quit (Remote host closed the connection) 2015-02-24T20:44:04Z Davidbrcz joined #lisp 2015-02-24T20:44:52Z monod: "new quicklisp release very soon" I hope the update process from our client will not be difficult! :D 2015-02-24T20:45:28Z serses quit (Quit: Leaving) 2015-02-24T20:47:40Z Xach: monod: you type (ql:update-dist "quicklisp") to get the new and updated libraries 2015-02-24T20:48:09Z monod: right 2015-02-24T20:48:37Z mrSpec joined #lisp 2015-02-24T20:50:31Z kushal joined #lisp 2015-02-24T20:50:38Z monod: xach: also, I'm reading this book in which you're quoted :) https://leanpub.com/lisphackers/read 2015-02-24T20:50:50Z Xach: sweet 2015-02-24T20:51:11Z monod: (I just found how togo to newline) 2015-02-24T20:51:15Z monod: oops wrong 2015-02-24T20:51:20Z monod: (testtest) 2015-02-24T20:51:27Z monod: wrong again xD nvm 2015-02-24T20:52:21Z Karl_Dscc joined #lisp 2015-02-24T20:54:23Z attila_lendvai quit (Remote host closed the connection) 2015-02-24T20:55:15Z francogrex quit (Quit: ERC Version 5.2 (IRC client for Emacs)) 2015-02-24T20:58:17Z hiroakip joined #lisp 2015-02-24T20:59:32Z innertracks quit (Quit: innertracks) 2015-02-24T21:00:32Z Eremox: For how long have you guys been lisp hackers? 2015-02-24T21:00:59Z gko__ quit (Quit: Connection closed for inactivity) 2015-02-24T21:01:06Z dafunktion joined #lisp 2015-02-24T21:01:07Z dlowe: uh, 13 years. I'm a noob. 2015-02-24T21:01:26Z Xach: you'll get there, dlowe 2015-02-24T21:02:06Z rhllor: Eremox: Land of Lisp is a nice book 2015-02-24T21:02:14Z attila_lendvai joined #lisp 2015-02-24T21:02:14Z attila_lendvai quit (Changing host) 2015-02-24T21:02:14Z attila_lendvai joined #lisp 2015-02-24T21:02:23Z Shinmera: I barely started. To be more precise: almost two years. 2015-02-24T21:02:30Z Numerius joined #lisp 2015-02-24T21:03:06Z Mawile: As someone working through Land of Lisp, I can attest that it is a good book. 2015-02-24T21:03:26Z Eremox: I am currently waiting for sicp, but I will put it on my 'list 2015-02-24T21:03:54Z Xof: I am twenty days shy of 13 years since my first commit to a lisp project 2015-02-24T21:06:25Z sz0` is now known as sz0 2015-02-24T21:07:28Z joga quit (Changing host) 2015-02-24T21:07:28Z joga joined #lisp 2015-02-24T21:07:47Z rhllor_ joined #lisp 2015-02-24T21:08:36Z csziacobus joined #lisp 2015-02-24T21:09:25Z rhllor quit (Ping timeout: 265 seconds) 2015-02-24T21:09:25Z rhllor_ is now known as rhllor 2015-02-24T21:10:20Z Ralt: Shinmera: ping 2015-02-24T21:10:34Z Shinmera: What's the problem? 2015-02-24T21:10:41Z Ralt: Shinmera: you're using (q+:make-qvboxlayout in your example code 2015-02-24T21:10:51Z Ralt: q+ is a macro from what I see though... 2015-02-24T21:11:07Z Shinmera: q+ is a package name in this case. 2015-02-24T21:11:31Z dafunktion quit (Read error: Connection timed out) 2015-02-24T21:12:04Z dafunktion joined #lisp 2015-02-24T21:12:06Z Ralt: Shinmera: indeed, that's what I saw... 2015-02-24T21:12:12Z Ralt: couldn't get it loaded though. 2015-02-24T21:12:16Z Ralt: works now... 2015-02-24T21:12:21Z Ralt: oh well. 2015-02-24T21:12:34Z Ralt: it complains that window-title is not external to q+ :/ 2015-02-24T21:12:41Z Ralt: I'll check the defpackage. 2015-02-24T21:12:50Z Shinmera: You won't find it there. 2015-02-24T21:12:53Z Shinmera: What are you using? SBCL? 2015-02-24T21:12:58Z Ralt: yes 2015-02-24T21:13:14Z Shinmera: Let me build clean. 2015-02-24T21:13:45Z Ralt: ty 2015-02-24T21:13:51Z BitPuffin joined #lisp 2015-02-24T21:13:54Z Ralt: what are you usually using? 2015-02-24T21:14:04Z Shinmera: SBCL 2015-02-24T21:14:20Z Ralt: oh :) 2015-02-24T21:14:43Z Shinmera: Loads and runs cleanly for me without erroring about anything. 2015-02-24T21:14:46Z urandom__ joined #lisp 2015-02-24T21:15:03Z Shinmera: Are you manually compiling form by form? 2015-02-24T21:15:29Z pt1 quit (Remote host closed the connection) 2015-02-24T21:15:39Z Pyridrym joined #lisp 2015-02-24T21:15:50Z Davidbrcz quit (Ping timeout: 246 seconds) 2015-02-24T21:16:03Z Ralt: Shinmera: https://gist.github.com/Ralt/a1184b4f232cfc0c2df3 2015-02-24T21:16:20Z Ralt: C-c C-k fails with the same error 2015-02-24T21:16:47Z Shinmera: You're missing the (named-readtables:in-readtable :qtools) 2015-02-24T21:17:12Z Ralt: doing it once in the package is not enough? 2015-02-24T21:17:19Z Shinmera: No, it's once per file. 2015-02-24T21:17:28Z Ralt: oh. 2015-02-24T21:17:30Z Shinmera: Just like in-package is. 2015-02-24T21:17:33Z Ralt: thanks for the info 2015-02-24T21:17:43Z Bicyclidine: readtables aren't tied to packages, see 2015-02-24T21:17:48Z Shinmera: Don't worry, that tripped me up too when I first used it. 2015-02-24T21:18:12Z BitPuffin quit (Ping timeout: 245 seconds) 2015-02-24T21:18:18Z Ralt: I thought I was clever when adding it at the end of my package.lisp... 2015-02-24T21:18:31Z Shinmera: I guess I'll ammend that to the Qtools documentation. 2015-02-24T21:18:37Z Ralt: Shinmera: well, it compiles fine now 2015-02-24T21:18:43Z Shinmera: ...tomorrow. I'm too tired to really do anything now. 2015-02-24T21:18:47Z sol__ quit (Ping timeout: 250 seconds) 2015-02-24T21:18:48Z Shinmera: Ralt: great! 2015-02-24T21:18:59Z shka quit (Quit: WeeChat 1.1.1) 2015-02-24T21:19:18Z Ralt: and even runs fine! 2015-02-24T21:19:20Z Ralt: woohoo 2015-02-24T21:19:29Z przl quit (Ping timeout: 250 seconds) 2015-02-24T21:19:47Z Ralt: Shinmera: ftr, I find your example file pretty great. 2015-02-24T21:20:04Z Shinmera: I'm intending on writing more examples that show off different things. 2015-02-24T21:20:32Z PaulCapestany quit (Quit: .) 2015-02-24T21:20:40Z Shinmera: A simple music player being one of those. 2015-02-24T21:20:43Z Ralt: I think I already asked you, but don't remember the answer. Do you plan on being able to load .ui files created with QtCreator? 2015-02-24T21:21:06Z Shinmera: I'd have to look into that as I have no idea what that involves. 2015-02-24T21:21:31Z Ralt: not a lot of C++ lines: http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html 2015-02-24T21:21:57Z Ralt: (look down to "The UiTools approach") 2015-02-24T21:22:01Z Ralt: s/look/scroll/ 2015-02-24T21:22:15Z PaulCapestany joined #lisp 2015-02-24T21:22:44Z Alfr quit (Quit: Leaving) 2015-02-24T21:22:44Z Shinmera: Well, there's a qtuitools smoke module, so I guess you can just directly translate it. 2015-02-24T21:23:26Z Ralt: I guess 2015-02-24T21:23:40Z PaulCapestany quit (Max SendQ exceeded) 2015-02-24T21:23:59Z Numerius quit (Ping timeout: 250 seconds) 2015-02-24T21:24:25Z kuzy000_ quit (Ping timeout: 244 seconds) 2015-02-24T21:24:29Z PaulCapestany joined #lisp 2015-02-24T21:26:06Z innertracks joined #lisp 2015-02-24T21:26:12Z stev3n quit (Quit: WeeChat 1.1.1) 2015-02-24T21:26:37Z innertracks quit (Client Quit) 2015-02-24T21:27:12Z Numerius joined #lisp 2015-02-24T21:27:52Z Xaving quit (Quit: Page closed) 2015-02-24T21:29:06Z Shinmera: I'd be more interested in writing a compiler for .ui -> .lisp, but that'll probably be quite a lot of work. 2015-02-24T21:29:39Z Ralt: heh 2015-02-24T21:30:02Z kons quit (Remote host closed the connection) 2015-02-24T21:31:04Z pt1 joined #lisp 2015-02-24T21:32:13Z mrSpec quit (Ping timeout: 264 seconds) 2015-02-24T21:34:02Z thodg quit (Ping timeout: 246 seconds) 2015-02-24T21:36:23Z dafunktion quit (Remote host closed the connection) 2015-02-24T21:36:46Z schaueho quit (Ping timeout: 272 seconds) 2015-02-24T21:37:38Z pt1 quit (Remote host closed the connection) 2015-02-24T21:41:41Z stepnem quit (Ping timeout: 246 seconds) 2015-02-24T21:42:17Z jasom: bah, there isn't a way to remeove a header from a hunchentoot response object 2015-02-24T21:44:12Z H4ns: jasom: why can't you just modify the headers-out slot of the response? 2015-02-24T21:44:13Z monod quit (Ping timeout: 264 seconds) 2015-02-24T21:44:34Z jasom: H4ns: okay, I can do that now that I read the code; the slot wasn't mentioned in the docs, and they did seem to spend a bit of work to hide it from you 2015-02-24T21:44:47Z H4ns: did we? 2015-02-24T21:45:02Z mrSpec joined #lisp 2015-02-24T21:45:21Z nyef: Heh. Reminds me of when I was trying to put two different versions of the same header in a response. What a nuisance! 2015-02-24T21:45:38Z jasom: anyway content-length ought not be set on a 304 2015-02-24T21:46:30Z H4ns: i think it is a documentation bug that hunchentoot:headers-out is not documented as accessor. might be worth a bug report. 2015-02-24T21:46:36Z nell quit (Quit: WeeChat 1.2-dev) 2015-02-24T21:46:43Z Xach has been misreading this as drakma for 5 minutes, getting very confused 2015-02-24T21:47:09Z nell joined #lisp 2015-02-24T21:47:16Z rszeno quit (Quit: Leaving.) 2015-02-24T21:47:52Z jasom: H4ns: I don't think there is an accessor for headers-out 2015-02-24T21:48:12Z H4ns: jasom: you are right. 2015-02-24T21:48:14Z jasom: No known definition for: (setf headers-out) (in :hunchentoot) 2015-02-24T21:48:57Z Petit_Dejeuner quit (Ping timeout: 250 seconds) 2015-02-24T21:49:17Z antoszka: y 2015-02-24T21:49:25Z antoszka: (sorry, wrong window) 2015-02-24T21:49:56Z H4ns: jasom: i tend to believe that (setf header-out) should be changed so that if a header value is nil, that header is removed. 2015-02-24T21:50:26Z jasom: H4ns: I agree. That's what I first tried 2015-02-24T21:51:23Z jasom: Of course when I finally did remove content-length in handle-if-modified-since, it appears that something later on in the pipeline adds it back in 2015-02-24T21:52:09Z H4ns: jasom: the 304 thing seems like a real bug to me 2015-02-24T21:52:37Z innertracks joined #lisp 2015-02-24T21:53:17Z innertracks quit (Client Quit) 2015-02-24T21:54:41Z ByElektroNeo quit (Remote host closed the connection) 2015-02-24T21:54:59Z hiyosi joined #lisp 2015-02-24T21:55:23Z ehu quit (Quit: Leaving.) 2015-02-24T21:56:41Z Davidbrcz joined #lisp 2015-02-24T21:57:25Z jasom: yeah, it looks like the solution is to strip content-length in start-output 2015-02-24T21:59:22Z H4ns: jasom: the fix-304-behavior branch has the fix 2015-02-24T21:59:33Z H4ns: jasom: can you try it and let me know if it works for you? 2015-02-24T22:00:30Z H4ns: jasom: https://github.com/edicl/hunchentoot/compare/fix-304-behavior?expand=1 2015-02-24T22:01:14Z H4ns: it may make sense to strip content + content-length for most, if not all, 3xx responses. 2015-02-24T22:02:00Z axion: H4ns: are you a hunchentoot maintainer? 2015-02-24T22:02:32Z H4ns: axion: not really, but i was and just felt like tooling around right now :) 2015-02-24T22:02:42Z axion: H4ns: aha, any idea how to make REDIRECT do a 301 instead of a 302 by default? 2015-02-24T22:02:57Z Petit_Dejeuner joined #lisp 2015-02-24T22:04:13Z jasom: The value of HUNCHENTOOT::NEW-VALUE is NIL, which is not of type INTEGER. 2015-02-24T22:04:26Z jasom: H4ns: there is a special defmethod just for content-length 2015-02-24T22:04:28Z Patzy quit (Ping timeout: 255 seconds) 2015-02-24T22:04:59Z Patzy joined #lisp 2015-02-24T22:04:59Z Petit_Dejeuner_ joined #lisp 2015-02-24T22:05:09Z Ralt: Shinmera: I'll bother you one last time... for today https://gist.github.com/Ralt/d5ea0d019ab6ef631482 2015-02-24T22:05:13Z Ralt: :P 2015-02-24T22:05:18Z H4ns: jasom: gah 2015-02-24T22:05:28Z Ralt: any idea why it's not working? I get "unbound-slot first-box" 2015-02-24T22:05:33Z H4ns: jasom: i feared that this might not be as easy :) 2015-02-24T22:06:31Z Shinmera: Ralt: There's no need to make new widget classes for everything. 2015-02-24T22:06:52Z H4ns: axion: redirect has a :code keyword argument. the default cannot be overridden. 2015-02-24T22:06:54Z jasom: H4ns: also I had already tried removing it with a (setf (slot-value *reply* headers-out) ...) 2015-02-24T22:07:00Z jasom: H4ns: that didn't fix it 2015-02-24T22:07:14Z H4ns: jasom: did not fix the sending of content-length? 2015-02-24T22:07:52Z Ralt: Shinmera: ah, got it 2015-02-24T22:08:05Z Shinmera: Ralt: hold on a sec, I'm trying to wrap my head around this but I'm very tired. 2015-02-24T22:08:19Z Ralt: Shinmera: nah don't worry. I'll mess with the code. 2015-02-24T22:08:35Z pierre1_ joined #lisp 2015-02-24T22:08:41Z H4ns: jasom: what is interesting, though, is that content-length should only be sent if there is any content. 2015-02-24T22:08:53Z Petit_Dejeuner quit (Ping timeout: 250 seconds) 2015-02-24T22:08:58Z H4ns: jasom: can't you maybe avoid sending any content in the not-modified case? 2015-02-24T22:09:04Z jasom: H4ns: or if it's set via (content-length*) 2015-02-24T22:09:17Z H4ns: mhh, gourmet code 2015-02-24T22:09:26Z H4ns: send-headers is such a beauty 2015-02-24T22:10:03Z Shinmera: Ralt: I added a comment on what I think it should be like. 2015-02-24T22:11:01Z H4ns: jasom: i'm pretty sure that content-length is not sent if no content is provided, so maybe no fix is needed if you just do it right? 2015-02-24T22:11:44Z jasom: H4ns: in this case it's Hunchentoot that's sending the 304 2015-02-24T22:11:46Z jasom: not me 2015-02-24T22:11:55Z jasom: I'm just sending a file with last-modified-date 2015-02-24T22:11:55Z H4ns: hm. 2015-02-24T22:12:14Z jasom: and it says "Oh, I know what to do with that! " 2015-02-24T22:12:45Z jasom: if you want to see awesome, look at the definitions for content-length* and (setf content-length*) 2015-02-24T22:12:52Z Shinmera: Ralt: You might want to read https://reader.tymoon.eu/article/313 if you haven't yet. 2015-02-24T22:13:07Z jasom: note that the writer sets a different value than the reader gets 2015-02-24T22:13:08Z H4ns: jasom: i don't have to look at that, thank you very much :) 2015-02-24T22:13:08Z Shinmera: For now, I need sleep. Good night, #lisp 2015-02-24T22:13:13Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-02-24T22:13:33Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2015-02-24T22:13:42Z H4ns: jasom: but what you say is that the bug is actually in hunchentoot's own handling of if-modified-since when serving static files, right? 2015-02-24T22:14:37Z jasom: H4ns: right 2015-02-24T22:14:45Z jasom: I was originally going to fix it there 2015-02-24T22:14:56Z jasom: and now that I know how to, I think I can 2015-02-24T22:15:01Z H4ns: jasom: nice catch! 2015-02-24T22:15:37Z jasom: 1) set content to nil 2) remove content-length from headers-out 3) set (slot-value *reply* 'content-length) to nil 2015-02-24T22:15:54Z H4ns: jasom: i'm not sure why the content-length would be set in the first place 2015-02-24T22:16:47Z Numerius left #lisp 2015-02-24T22:17:05Z H4ns: jasom: handle-static-file sets these headers (and the content) after it did the if-modified-since handling. i have faint memories that i split the header setting into two separate forms to avoid that a content-length would be set for the not-modified case. 2015-02-24T22:18:05Z xificurC quit (Ping timeout: 252 seconds) 2015-02-24T22:18:19Z H4ns: https://github.com/edicl/hunchentoot/commit/b260dc21b0fe8425794088d6c40d2cfc9bb25512 was that commit 2015-02-24T22:20:08Z bb010g quit (Quit: Connection closed for inactivity) 2015-02-24T22:21:35Z jasom: http://paste.lisp.org/+34LD 2015-02-24T22:21:37Z sz0 quit (Read error: Connection reset by peer) 2015-02-24T22:21:39Z jasom: that fixes it for me 2015-02-24T22:22:02Z sz0 joined #lisp 2015-02-24T22:22:21Z jasom: (it's based off of your fix-304-behavior branch; it should work on master if you only apply the diff to request.lisp 2015-02-24T22:23:31Z jasom: I discovered this because I had a slightly buggy proxy that didn't flush after the headers, so it was taking ~30s to fetch files that hadn't changed 2015-02-24T22:23:33Z H4ns: if that is for static files served by hunchentoot, i'd rather want to see the bug fixed. 2015-02-24T22:23:41Z jasom: no 2015-02-24T22:23:47Z jasom: not static files served by hunchentoot 2015-02-24T22:23:52Z jasom: or maybe not 2015-02-24T22:23:53Z angavrilov quit (Read error: Connection reset by peer) 2015-02-24T22:24:23Z jasom: I'm using clack; it generates a fairly sane looking 200 reply which hunchentoot turns into a 304 based off of its headers 2015-02-24T22:24:47Z H4ns: aha? how does it do that? 2015-02-24T22:25:15Z jasom: it's in reply.lisp handle-if-modified-since 2015-02-24T22:25:15Z H4ns: i would rather say that clack sets a content-length before calling handle-if-modified-since 2015-02-24T22:25:39Z H4ns: hunchentoot calls handle-if-modified-since only for static files. 2015-02-24T22:26:14Z jasom: I'm curious how clack sets content-length since there's no mutator for it 2015-02-24T22:26:42Z jasom: ah, it's coming from hunchentoot:handle-static-file 2015-02-24T22:27:22Z H4ns: as i said, handle-static-file does not set the content-length in the 304 case 2015-02-24T22:28:22Z H4ns: but if clack decouples the if-modified-since handling from setting the content length (which it can do, content-length* is exposed as accessor), then things woud break in the manner that you describe. 2015-02-24T22:28:58Z H4ns: i find your patch rather ugly, but i can see how it makes handle-if-modified-since more useful. can you send a pull request? 2015-02-24T22:29:16Z jasom: content-length is a reader only and the setf for content-length* sets headers-out not content-length 2015-02-24T22:30:04Z H4ns: something else must be going on in that case that i don't understand. from inspection, the handle-static-file code seems to do the right thing. 2015-02-24T22:32:05Z jasom: how do I serve a static file with hunchentoot directly? I can test that case 2015-02-24T22:32:29Z H4ns: by default, it serves its own documentation. 2015-02-24T22:33:54Z resttime joined #lisp 2015-02-24T22:35:12Z jasom: H4ns: that has content-length set 2015-02-24T22:35:25Z jasom: curl -i -z 'Tue, 24 Feb 2016 09:07:48 GMT' http://localhost:4242/hunchentoot-doc.html 2015-02-24T22:36:17Z jasom: I set it up with the easy teenage new york example 2015-02-24T22:36:38Z H4ns: not for me. 2015-02-24T22:37:01Z H4ns: you need to pass the exact same date as if-modified-since date, otherwise you'll not see a 304 2015-02-24T22:37:07Z munksgaard joined #lisp 2015-02-24T22:37:14Z H4ns: curl -H 'If-Modified-Since: Sun, 30 Nov 2014 16:16:05 GMT' -v -o /dev/null http://localhost:3939/hunchentoot-doc.html 2015-02-24T22:37:19Z dafunktion joined #lisp 2015-02-24T22:37:21Z H4ns: -> 304, no content-length header 2015-02-24T22:37:44Z rebelshrug quit (Remote host closed the connection) 2015-02-24T22:38:37Z Davidbrcz quit (Ping timeout: 245 seconds) 2015-02-24T22:40:14Z akkad: what is the sbcl option to ignore gc related exceptions? 2015-02-24T22:40:39Z H4ns: "ignore gc related exceptions"? oO 2015-02-24T22:40:57Z H4ns: like, "i can't collect garbage and my heap is broken, let me continue"? 2015-02-24T22:41:05Z jasom: ah yes, that looks right 2015-02-24T22:41:53Z jasom: If you give it a date in the future, it returns a 200 with no content, but content-length set 2015-02-24T22:42:25Z H4ns: jasom: nope 2015-02-24T22:42:31Z LiamH quit (Quit: Leaving.) 2015-02-24T22:42:46Z jasom: well that's what it's doing for me 2015-02-24T22:42:47Z H4ns: jasom: it does not parse the date. it just compares the strings. if they are not equal, there is no match. 2015-02-24T22:42:59Z H4ns: jasom: then you have something in between you and hunchentoot that is broken 2015-02-24T22:44:31Z Petit_Dejeuner_ quit (Ping timeout: 255 seconds) 2015-02-24T22:44:43Z jasom: oh 2015-02-24T22:45:08Z jasom: I wonder if curl sees the date in the future and ignores the body? 2015-02-24T22:45:27Z hiroakip quit (Ping timeout: 250 seconds) 2015-02-24T22:45:28Z H4ns: jasom: that could be. try using -H instead of -z 2015-02-24T22:46:44Z pjb: - 2015-02-24T22:47:30Z linux_dream joined #lisp 2015-02-24T22:47:53Z jasom: actually curl-v prints out "document not new enough, simulate a 304 2015-02-24T22:47:58Z jasom: so that's what's going on 2015-02-24T22:48:32Z Petit_Dejeuner_ joined #lisp 2015-02-24T22:48:37Z sol__ joined #lisp 2015-02-24T22:48:48Z H4ns: nothing like that happens if you use -H to set the if-modified-since header 2015-02-24T22:50:41Z wooden quit (Ping timeout: 246 seconds) 2015-02-24T22:51:08Z akkad: H4ns: like https://gist.github.com/0fa81f422524286163c4 2015-02-24T22:51:27Z dafunktion quit (Ping timeout: 252 seconds) 2015-02-24T22:51:55Z mrSpec quit (Remote host closed the connection) 2015-02-24T22:51:56Z H4ns: akkad: sbcl cannot continue if its heap is corrupted. 2015-02-24T22:52:21Z H4ns: akkad: you need to stop corrupting the heap. there is no way how you can convince sbcl to ignore heap corruption, 2015-02-24T22:52:33Z H4ns: . even 2015-02-24T22:52:40Z akkad: yeah, you're right. 2015-02-24T22:52:55Z akkad: this platform is experimental for threads. 2015-02-24T22:53:04Z cadadar quit (Quit: Leaving.) 2015-02-24T22:53:40Z Petit_Dejeuner__ joined #lisp 2015-02-24T22:55:03Z sz0 is now known as sz0` 2015-02-24T22:55:16Z Petit_Dejeuner_ quit (Ping timeout: 265 seconds) 2015-02-24T22:55:57Z rhllor quit (Quit: rhllor) 2015-02-24T22:57:48Z csziacobus quit (Quit: csziacobus) 2015-02-24T22:58:35Z akkad: clhs intentionally-corrupt-heap 2015-02-24T22:58:35Z specbot: Couldn't find anything for intentionally-corrupt-heap. 2015-02-24T22:59:04Z H4ns: jasom: i'm out for today. an issue or pull request would be appreciated. 2015-02-24T22:59:34Z dafunktion joined #lisp 2015-02-24T23:01:08Z kcj joined #lisp 2015-02-24T23:02:56Z Petit_Dejeuner__ quit (Ping timeout: 256 seconds) 2015-02-24T23:04:58Z |3b|: akkad: look under "undefined behavior" and "safety 0" 2015-02-24T23:05:54Z akkad: |3b| thank you. did not see any optimize lines. but will keep digging. 2015-02-24T23:06:47Z |3b|: if you'd stayed in #sbcl a few minutes longer, someone found 16 of them in cl-store 2015-02-24T23:07:00Z linux_dream quit (Quit: Leaving) 2015-02-24T23:07:23Z akkad: yeah well. nyef had provided a key previously that avoided the issue for me. 2015-02-24T23:07:48Z akkad: paid support is always worth every penny :P 2015-02-24T23:08:30Z prxq quit (Remote host closed the connection) 2015-02-24T23:09:07Z mishoo quit (Ping timeout: 250 seconds) 2015-02-24T23:10:35Z |3b|: akkad: is ldb still running there? 2015-02-24T23:14:07Z rpg_ joined #lisp 2015-02-24T23:14:17Z admg joined #lisp 2015-02-24T23:14:20Z rpg_ quit (Client Quit) 2015-02-24T23:16:07Z xan_ quit (Ping timeout: 256 seconds) 2015-02-24T23:16:57Z munksgaard quit (Ping timeout: 246 seconds) 2015-02-24T23:18:17Z rpg quit (Ping timeout: 246 seconds) 2015-02-24T23:18:39Z admg quit (Ping timeout: 246 seconds) 2015-02-24T23:18:42Z a20150201 quit (Quit: Page closed) 2015-02-24T23:20:57Z akkad: |3b| I uninstalled it as it was over 6 months old and no longer supported. but also the latest available on homebrew. 2015-02-24T23:21:20Z |3b|: no longer supported? 2015-02-24T23:22:23Z |3b| had the impression someone was trying to give you support when you left 2015-02-24T23:25:46Z lispyone quit (Remote host closed the connection) 2015-02-24T23:26:18Z lispyone joined #lisp 2015-02-24T23:28:14Z burtons quit (Ping timeout: 272 seconds) 2015-02-24T23:28:30Z akkad: thanks. ccl64 works ok, a little slower, but no corrupted heap. 2015-02-24T23:29:02Z |3b|: that you know of :) 2015-02-24T23:30:19Z akkad: yeah very true. but given threads, on darwin, the support has been there for a bit longer in ccl no? 2015-02-24T23:30:27Z |3b|: probalby 2015-02-24T23:30:51Z gingerale quit (Ping timeout: 256 seconds) 2015-02-24T23:31:37Z lispyone quit (Ping timeout: 264 seconds) 2015-02-24T23:35:20Z larion quit (Read error: Connection reset by peer) 2015-02-24T23:38:31Z defaultxr joined #lisp 2015-02-24T23:39:39Z dafunktion quit (Read error: Connection reset by peer) 2015-02-24T23:39:47Z dafunktion joined #lisp 2015-02-24T23:43:28Z isis_ quit (Ping timeout: 255 seconds) 2015-02-24T23:44:58Z innertracks joined #lisp 2015-02-24T23:46:01Z Pyridrym quit (Quit: leaving) 2015-02-24T23:47:08Z Ethan- joined #lisp 2015-02-24T23:49:25Z akkad: someone: thanks for the help 2015-02-24T23:51:14Z Denommus quit (Quit: going home) 2015-02-24T23:58:37Z sol__ quit (Ping timeout: 245 seconds)