2015-06-16T00:03:37Z Denommus quit (Quit: going home) 2015-06-16T00:07:29Z attila_lendvai quit (Ping timeout: 244 seconds) 2015-06-16T00:07:36Z ndrei quit (Ping timeout: 252 seconds) 2015-06-16T00:10:15Z yrk quit (Ping timeout: 268 seconds) 2015-06-16T00:13:37Z A205B064 quit (Ping timeout: 264 seconds) 2015-06-16T00:16:20Z JuanDaugherty quit (Quit: Hibernate, etc.) 2015-06-16T00:16:46Z spyrosoft: drmeister: What an inspiration. 2015-06-16T00:18:06Z White_Flame just finished the video. Great job! 2015-06-16T00:18:26Z spyrosoft: Same. 2015-06-16T00:21:46Z cheryllium joined #lisp 2015-06-16T00:24:17Z Devon: Any idea how to debug (list (ql:quickload "foo" :verbose t) (find-package "FOO")) => (("foo") NIL) 2015-06-16T00:26:13Z mingvs quit (Ping timeout: 255 seconds) 2015-06-16T00:29:49Z lispyone joined #lisp 2015-06-16T00:30:19Z Karl_Dscc quit (Remote host closed the connection) 2015-06-16T00:30:27Z nyef: Devon: Does the "foo" system even define a package named "FOO"? 2015-06-16T00:31:33Z clop2 joined #lisp 2015-06-16T00:31:39Z usrj joined #lisp 2015-06-16T00:35:05Z shifty779 quit (Ping timeout: 246 seconds) 2015-06-16T00:36:00Z White_Flame: the named system "foo" doesn't necessarily imply that it has a package named "FOO" 2015-06-16T00:36:30Z pillton: What is the system? 2015-06-16T00:37:45Z protist quit (Quit: Konversation terminated!) 2015-06-16T00:41:14Z Fare joined #lisp 2015-06-16T00:47:53Z walter|r joined #lisp 2015-06-16T00:47:55Z shifty779 joined #lisp 2015-06-16T00:48:39Z eudoxia quit (Quit: Leaving) 2015-06-16T00:57:58Z manuel_ quit (Quit: manuel_) 2015-06-16T01:00:15Z usrj quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 2015-06-16T01:02:10Z zacharias_ joined #lisp 2015-06-16T01:05:13Z zacharias quit (Ping timeout: 264 seconds) 2015-06-16T01:07:27Z Devon: nyef: I did not get the error ; Evaluation aborted on #. 2015-06-16T01:08:16Z nyef: Devon: Packages aren't systems, so not getting an error doesn't tell us much. 2015-06-16T01:08:45Z nyef: Well, other than it's quite possibly doing what it's "supposed" to. 2015-06-16T01:09:10Z Devon: nyef: quickload silently fails if the defsystem omits a file depended on by another file. 2015-06-16T01:11:04Z nyef: Here's a simple example: System "clx" does not define a package named "CLX", and this is by design. 2015-06-16T01:12:54Z nyef: You are either deliberately obscuring the name of the system that you're trying to load, or it is a local system that you've defined named "foo". Either way, this limits the help that we can give you. 2015-06-16T01:13:11Z aap_ joined #lisp 2015-06-16T01:14:22Z nyef: "Silently fails" is not a failure mode that I'd expect of quicklisp, unless local systems are also involved. 2015-06-16T01:15:46Z harish quit (Ping timeout: 256 seconds) 2015-06-16T01:16:11Z wilfredh quit (Quit: Connection closed for inactivity) 2015-06-16T01:16:29Z aap quit (Ping timeout: 256 seconds) 2015-06-16T01:19:13Z OxMLR left #lisp 2015-06-16T01:19:20Z OxMLR joined #lisp 2015-06-16T01:23:01Z stacksmith quit (Quit: Leaving) 2015-06-16T01:31:01Z frkout joined #lisp 2015-06-16T01:37:17Z echo-area joined #lisp 2015-06-16T01:41:58Z cheryllium quit (Remote host closed the connection) 2015-06-16T01:42:34Z jaykru joined #lisp 2015-06-16T01:44:47Z Adlai joined #lisp 2015-06-16T01:46:08Z spyrosoft quit (Ping timeout: 246 seconds) 2015-06-16T01:46:36Z Davidbrcz quit (Ping timeout: 252 seconds) 2015-06-16T01:47:25Z drmeister: cluck, spyrosoft: Thanks! 2015-06-16T01:47:37Z drmeister: White_Flame: Thanks as well 2015-06-16T01:48:18Z drmeister: It looks like I might be speaking at Google in the Bay Area in August. 2015-06-16T01:51:47Z smokeink joined #lisp 2015-06-16T01:53:20Z nyef: drmeister: Same talk, or a different one? 2015-06-16T01:54:26Z drmeister: It would be the same talk I guess although I'll change some of the slides and the lisp side might be updated. 2015-06-16T01:55:19Z jlongster quit (Ping timeout: 255 seconds) 2015-06-16T01:55:38Z OxMLR: neat, I'll be looking forward to it :-) 2015-06-16T01:58:15Z sheilong joined #lisp 2015-06-16T02:02:52Z wat left #lisp 2015-06-16T02:02:55Z XachX: Devon: What's the scoop with foo? 2015-06-16T02:03:00Z wat joined #lisp 2015-06-16T02:03:17Z theos: guten tag 2015-06-16T02:03:24Z wat is now known as sfbae 2015-06-16T02:04:24Z spyrosoft joined #lisp 2015-06-16T02:04:38Z harish joined #lisp 2015-06-16T02:13:45Z lispyone quit (Remote host closed the connection) 2015-06-16T02:17:38Z psy_ joined #lisp 2015-06-16T02:18:56Z Devon: XachX: http://csail.mit.edu/~devon/lisp/quicklisp-silently-fails.text 2015-06-16T02:19:37Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2015-06-16T02:24:56Z XachX: Devon: thanks, that's a bug for sure. 2015-06-16T02:25:23Z Devon: I was able to get my code to load again although I have no clue how. 2015-06-16T02:28:04Z Devon: XachX: by the way, ql:system-apropos is still case-sensitive, which means it breaks when I paste package names from some web page titles -- I'm pretty sure I even sent you a patch for that. 2015-06-16T02:28:04Z jeffdc joined #lisp 2015-06-16T02:28:46Z XachX: I was unable to comprehend everything it changed after looking at it for a while. 2015-06-16T02:29:03Z XachX: If you send a simpler patch that changes less I may have enough time to apply it, otherwise it may take some time for me to puzzle out the existing one. 2015-06-16T02:29:31Z XachX: Or I'll just write it from scratch based on the idea, which is simple enough. 2015-06-16T02:29:48Z Devon: I think that's a case of string= vs. string-equal 2015-06-16T02:30:11Z jeffdc left #lisp 2015-06-16T02:32:07Z XachX: I will revisit it sometime. It hasn't left my todo. 2015-06-16T02:32:17Z burtons joined #lisp 2015-06-16T02:36:12Z drmeister: Hey XachX do you know who to talk to about the planet list autotweeter? 2015-06-16T02:36:15Z XachX: Devon: I'll make a couple updates tomorrow that fix the thing. 2015-06-16T02:36:28Z XachX: drmeister: H4ns is the person 2015-06-16T02:37:32Z drmeister: I wrote a blog post and started by thanking the folks at Google for the invite. The tweet that went out was all about thanking people and didn't mention the link in the body. 2015-06-16T02:38:29Z drmeister: H4ns: I rewrote the blog post and if you were so inclined you could push the "Redo" button on the autotweeter thingy. 2015-06-16T02:40:28Z XachX: drmeister: That is not what I saw of the tweet. 2015-06-16T02:40:32Z XachX: drmeister: what tweet did you see? 2015-06-16T02:40:37Z XachX: Link? 2015-06-16T02:40:59Z drmeister: https://twitter.com/planet_lisp 2015-06-16T02:41:28Z XachX: Oh, that has nothing to do with H4ns. That is twitter's automatic excerpt thing. 2015-06-16T02:41:49Z XachX: I suspect it will update automatically, but if not, it's not a big deal - people who care can click the link in the tweet to see the latest. 2015-06-16T02:41:54Z drmeister: Oh, I thought that was planet lisp that did that. 2015-06-16T02:42:29Z drmeister: Sure - ok, next time I'll remember to move the tweetable stuff to the top. 2015-06-16T02:42:40Z XachX: No, planet_lisp just gives the link, and twitter knows how to slurp out a little bit of the target site to make it more interesting, supposedly. 2015-06-16T02:43:00Z XachX: If it bugs you, I suppose deleting and retweeting would help. 2015-06-16T02:43:28Z XachX: But it wasn't the program's fault, it's just a cascade of caches getting old stuff... 2015-06-16T02:44:47Z drmeister: On a different note: Do you know how to figure out what directories ASDF is searching for .asd files? I added a new file to .config/common-lisp/source-registry.conf.d/ properly and for some reason ASDF is ignoring it. 2015-06-16T02:45:35Z XachX: drmeister: that directory is for config files (named *.conf, i think). did you put an .asd file there? 2015-06-16T02:46:22Z drmeister: No, I copied a .conf file and edited the path. It finds files at the end of the path in the first .conf file. 2015-06-16T02:46:53Z drmeister: These are the files in that directory 2015-06-16T02:46:54Z drmeister: https://www.irccloud.com/pastebin/En4zX7sd/ 2015-06-16T02:47:15Z drmeister: The new one is 40-cando-lisp.conf. It's a copy of 30-clasp-lisp.conf (which works) but has a different path. 2015-06-16T02:47:40Z drmeister: 30-clasp-lisp.conf (which works) --> (:tree "/Users/meister/Development/clasp/src/lisp") 2015-06-16T02:48:08Z drmeister: 40-clasp-lisp.conf (which doesn't work) --> (:tree "/Users/meister/Development/clasp/projects/cando/src/lisp") 2015-06-16T02:48:14Z drmeister: Both paths exist 2015-06-16T02:49:21Z spyrosoft quit (Quit: Leaving.) 2015-06-16T02:49:29Z XachX: I don't know if it makes any difference in how ASDF interprets configuration strings, but when it comes to CL pathnames, the trailing slash is pretty important. 2015-06-16T02:49:51Z XachX: I don't have much to suggest beyond that. I found it pretty hard to understand ASDF's configuration mechanism and I generally avoid it. 2015-06-16T02:50:08Z drmeister: That seems to be the prevailing attitude. 2015-06-16T02:51:38Z jlongster joined #lisp 2015-06-16T02:52:41Z beach joined #lisp 2015-06-16T02:52:56Z beach: Good morning everyone! 2015-06-16T02:53:28Z nyef: Hello beach. 2015-06-16T02:54:44Z OxMLR: Morning! 2015-06-16T02:55:29Z emaczen: morning 2015-06-16T02:56:04Z jlongster quit (Ping timeout: 245 seconds) 2015-06-16T02:57:43Z walter|r quit (Remote host closed the connection) 2015-06-16T02:59:07Z drmeister: Hi beach. 2015-06-16T02:59:45Z drmeister: You and I are on the front page of Hacker News. https://news.ycombinator.com 2015-06-16T03:00:03Z drmeister: #9 - oh - so sad, fallen from#6 2015-06-16T03:00:04Z nyef: Okay, with CLIM, is a MIRRORED-SHEET-MIXIN always supposed to have a mirror when grafted, or is realizing the mirror optionally triggered when and as the specific sheet/pane class calls for it? 2015-06-16T03:01:43Z beach: drmeister: Congratulations! 2015-06-16T03:02:04Z beach: nyef: The latter. 2015-06-16T03:02:24Z drmeister: Yeah, that and two bucks gets me a burnt coffee at Starbucks. 2015-06-16T03:02:31Z beach: nyef: Rather, the port decides whether there will be a mirror. 2015-06-16T03:02:33Z drmeister I'm kidding 2015-06-16T03:03:09Z nyef: Wait, what? How? 2015-06-16T03:03:32Z nyef: If it's via the adaptive toolkit, that falls under "specific sheet/pane class". 2015-06-16T03:03:51Z drmeister: beach: When you have a moment I'd love to talk about inlining. 2015-06-16T03:04:14Z nyef: Well, or "always when grafted". 2015-06-16T03:04:16Z beach: nyef: I don't remember the details, but you told me a while ago that I don't need to go remove all those mixins to create a port that doesn't realize the mirrors. 2015-06-16T03:04:18Z eazar001 quit (Remote host closed the connection) 2015-06-16T03:04:37Z beach: drmeister: I am surprised your last example even compiles with the TRULY-THE in there. 2015-06-16T03:05:12Z nyef: ... Now I'm confused. 2015-06-16T03:05:17Z beach: drmeister: Sure, I have time. 2015-06-16T03:05:18Z drmeister: beach: Really? I didn't put it in there, destructuring-bind does that. 2015-06-16T03:05:43Z eazar001 joined #lisp 2015-06-16T03:06:03Z beach: drmeister: OK, so how is it defined? I thought it was treated specially by the other Clasp compilers. 2015-06-16T03:06:32Z beach: nyef: You can dig up the discussion from the logs. 2015-06-16T03:06:34Z mingvs joined #lisp 2015-06-16T03:07:06Z drmeister: (defmacro truly-the (&rest args) `(the ,@args)) 2015-06-16T03:07:17Z beach: Oh, OK. 2015-06-16T03:07:25Z nyef: Good point. I guess I'll ask Google in a few minutes. 2015-06-16T03:07:49Z drmeister: Do you have any idea what is going on with the Y binding? 2015-06-16T03:07:54Z beach: It is entirely possible that the THE doesn't work in Cleavir, but that probably isn't the problem. 2015-06-16T03:07:55Z drmeister: In the inlined case? 2015-06-16T03:08:15Z beach: drmeister: I have no idea. The test is always false.\ 2015-06-16T03:08:30Z drmeister: In this case, yes. 2015-06-16T03:08:42Z beach: Well, this case fails doesn't it? 2015-06-16T03:08:51Z mbuf joined #lisp 2015-06-16T03:08:55Z drmeister: This is a stripped down, toy case. In destructuring-bind it depends on the value you pass to d-s. 2015-06-16T03:08:59Z drmeister: d-b 2015-06-16T03:09:08Z beach: Does that code fail or not? 2015-06-16T03:09:10Z drmeister: This one, yes. 2015-06-16T03:09:16Z beach: Then that's a good start. 2015-06-16T03:09:25Z drmeister: Does the code fail? Yes, the problem is visible in the MIR 2015-06-16T03:09:28Z JuanitoJons joined #lisp 2015-06-16T03:09:42Z beach: And the failure happens even though the test is always false. 2015-06-16T03:11:02Z drmeister: Yes. The example code prints garbage rather than NIL 2015-06-16T03:11:04Z clop2 quit (Ping timeout: 245 seconds) 2015-06-16T03:11:43Z drmeister: The MIR shows why it prints garbage, because the value of Y is set but it prints G2150 which is uninitialized 2015-06-16T03:12:23Z drmeister: https://usercontent.irccloud-cdn.com/file/nMYgg15z/inlining-car.mir1.dot.pdf 2015-06-16T03:12:39Z beach: Uninitialized should not happen. That's wrong. 2015-06-16T03:12:42Z drmeister: For those of you following along at home. 2015-06-16T03:12:45Z drmeister: Right. 2015-06-16T03:13:03Z zirman joined #lisp 2015-06-16T03:14:05Z drmeister: At "eq:12" execution goes to the left, it sets Y to NIL and then never uses it. Execution proceeds to the PRINT at the bottom and it prints an uninitialized variable. 2015-06-16T03:14:17Z lispyone joined #lisp 2015-06-16T03:14:26Z jaykru quit (Quit: yawn) 2015-06-16T03:14:29Z beach: I can't really see anything on this small screen. 2015-06-16T03:14:37Z beach: But I believe you. 2015-06-16T03:15:23Z drmeister: Here is the code that generates it: 2015-06-16T03:15:25Z drmeister: https://www.irccloud.com/pastebin/eKIc2K65/ 2015-06-16T03:15:37Z zirman quit (Client Quit) 2015-06-16T03:15:38Z drmeister: Now if I don't inline the CAR it works perfectly. 2015-06-16T03:15:54Z beach: To answer your question, it would be very difficult for me to debug in my environment, because of your specific macros, i.e., destructuring-bind, prog1, truly-the, etc. 2015-06-16T03:15:57Z drmeister: If I remove the (SETQ temp-list (CDR temp-list)) ... it works perfectly 2015-06-16T03:16:11Z drmeister: If I change anything else about the code... it works perfectly 2015-06-16T03:16:35Z drmeister: Yes, that's why I'm a bit panicked 2015-06-16T03:17:37Z drmeister: If you didn't see the problem immediately (due to your wizard level skills) then I have a problem. 2015-06-16T03:18:05Z drmeister: I've worked for a year to get to this point and I can't inline. 2015-06-16T03:18:21Z beach: Please give me a few days. 2015-06-16T03:18:30Z drmeister: No problem. 2015-06-16T03:18:38Z beach: I can't see anything on this screen. 2015-06-16T03:18:58Z drmeister: But what I was going to suggest is perhaps I should set you up with a Clasp environment 2015-06-16T03:19:24Z lispyone quit (Ping timeout: 276 seconds) 2015-06-16T03:19:28Z drmeister: Because this is a difficult thing to debug and does depend on a lot of code in Clasp. 2015-06-16T03:19:59Z ASau quit (Remote host closed the connection) 2015-06-16T03:20:23Z ASau joined #lisp 2015-06-16T03:20:40Z beach: I fear I would be exposed to Clasp bugs such as the recent effective-method thing. 2015-06-16T03:20:43Z drmeister: You don't have to move to it permanently of course, but to debug inlining and code generation etc. Clasp offers a working environment. 2015-06-16T03:21:25Z beach: But I'll think about it. 2015-06-16T03:21:29Z drmeister: Yes, there are trade-offs 2015-06-16T03:22:53Z scymtym joined #lisp 2015-06-16T03:23:06Z drmeister: Do you have any recommendations on how to debug this? 2015-06-16T03:23:25Z beach: drmeister: Did you try compiling that example as it is from typed-in text? 2015-06-16T03:23:37Z Quadrescence joined #lisp 2015-06-16T03:23:58Z beach: I am asking because you said it was generated from destructuring-bind. 2015-06-16T03:24:09Z drmeister: The code that I just pasted is by itself in one source file. 2015-06-16T03:24:15Z drmeister: I compile-file it with Cleavir. 2015-06-16T03:24:26Z beach: What happens if you remove the TRULY-THE. 2015-06-16T03:25:02Z drmeister: It was generated by destructuring-bind but I macroexpanded the destructuring-bind and then cut the code down to the minimal part that causes the problem. 2015-06-16T03:25:07Z drmeister: Good, let me try that. 2015-06-16T03:25:38Z beach: This is general advice: try removing things or changing things slightly to simplify as much as possible. 2015-06-16T03:25:39Z OxMLR quit (Quit: Leaving) 2015-06-16T03:26:07Z drmeister: I've spent about two hours doing that. I don't approach you with problems lightly. 2015-06-16T03:26:10Z beach: Next, try replacing (CDR ...) by something simple like 2. 2015-06-16T03:26:33Z OxMLR joined #lisp 2015-06-16T03:26:41Z drmeister: Give me a sec... Bringing everything up. 2015-06-16T03:27:34Z nyef: Okay, Google tells me that, about five and a half months ago, I came to the conclusion that, yes, mirrored-sheet-mixin not only needs to realize-mirror when grafted and destroy-mirror when degrafted, but it must use a :BEFORE method for the graft and an :AFTER method for the degraft. And I suspect that there's a further issue with ordering what happens with the degraft. 2015-06-16T03:28:50Z stevegt quit (Remote host closed the connection) 2015-06-16T03:29:22Z beach: nyef: Furthermore, whether a mirror was realized at all was up to the port. 2015-06-16T03:30:10Z nyef: That I'm having a bit more trouble with. 2015-06-16T03:30:30Z beach: nyef: ... so that a port-type could be written that has only a single top-level window, without modifying all those mixins. 2015-06-16T03:30:34Z drmeister: Ok, here is the example to start with (I made a few mods). 2015-06-16T03:30:37Z drmeister: https://www.irccloud.com/pastebin/b74o29pK/ 2015-06-16T03:30:59Z drmeister: Here's what I get: ("Should be 99 --> " #\NUL) 2015-06-16T03:31:06Z jlongster joined #lisp 2015-06-16T03:31:13Z drmeister: I run a second time: ("Should be 99 --> " 70366596694016) 2015-06-16T03:31:18Z drmeister: Garbage 2015-06-16T03:31:21Z nyef: Umm... No, the thing is that, in a normal system, only sheet classes defined by the port would have mirrored-sheet-mixin. 2015-06-16T03:31:39Z wooden quit (Ping timeout: 252 seconds) 2015-06-16T03:31:41Z drmeister: I'll remove the TRULY-THE 2015-06-16T03:32:18Z ozzloy quit (Remote host closed the connection) 2015-06-16T03:32:27Z ozzloy joined #lisp 2015-06-16T03:32:29Z yeticry quit (Ping timeout: 256 seconds) 2015-06-16T03:32:31Z wooden joined #lisp 2015-06-16T03:32:32Z wooden quit (Changing host) 2015-06-16T03:32:32Z wooden joined #lisp 2015-06-16T03:33:08Z yeticry joined #lisp 2015-06-16T03:33:10Z nyef: That is, NONE of the standard sheets and panes defined by the system inherit MIRRORED-SHEET-MIXIN. The port defines sheet classes that DO for the frame toplevel sheets and for any gadgets that it wants to do the adaptive-toolkit thing for instead of using the "standard" gadgets. 2015-06-16T03:33:20Z drmeister: Now its: 2015-06-16T03:33:28Z drmeister: https://www.irccloud.com/pastebin/sy4KBi8n/ 2015-06-16T03:33:51Z drmeister: ("Should be 99 --> " T) 2015-06-16T03:33:59Z walter|r joined #lisp 2015-06-16T03:34:21Z beach: nyef: That completely contradicts my memory of our previous discussion. 2015-06-16T03:34:52Z jaykru joined #lisp 2015-06-16T03:35:12Z beach: drmeister: See, that is a simplification. 2015-06-16T03:35:18Z nyef: So, either your memory is misleading you, or I have a completely different understanding now from what I did then. 2015-06-16T03:35:31Z nyef: And the latter would not in the least bit surprise me. 2015-06-16T03:35:35Z beach: nyef: I shall have to revisit the discussion and let you know. 2015-06-16T03:35:55Z drmeister: beach: Yes, that is. I thought I tried that one and it fixed the problem but clearly it simplifies things. 2015-06-16T03:36:03Z drmeister: And the problem persists - excellent 2015-06-16T03:36:37Z beach: drmeister: Now try replacing (CDR temp-list) by some number. 2015-06-16T03:36:44Z beach: CDR is not inlined right? 2015-06-16T03:36:57Z drmeister: CDR is not inlined. Just CONSP and CAR 2015-06-16T03:37:10Z beach: OK, then replace the CDR. 2015-06-16T03:37:22Z drmeister: Your suggestion is a good one, I simply removed the (SETQ ... ) that may have been too drastic. 2015-06-16T03:37:44Z beach: a number is simpler than a function call. 2015-06-16T03:38:34Z walter|r quit (Ping timeout: 256 seconds) 2015-06-16T03:39:37Z Xof quit (Ping timeout: 240 seconds) 2015-06-16T03:40:09Z vlnx quit (Quit: leaving) 2015-06-16T03:40:33Z beach: nyef: Can this wait a few days? 2015-06-16T03:41:05Z beach: nyef: I am in a very uncomfortable computing environment right now. 2015-06-16T03:41:22Z nyef: Probably. But I'm trying to find it now. It looks like it would have been in the Dec 30 - Jan 8 range. 2015-06-16T03:41:37Z beach: Sounds plausible. 2015-06-16T03:41:54Z drmeister: Current function: 2015-06-16T03:41:58Z drmeister: https://www.irccloud.com/pastebin/Y2h7Gpi2/ 2015-06-16T03:42:09Z drmeister: ("Should be 99 --> " 3278622079081619345) 2015-06-16T03:42:20Z drmeister: Still garbage - good. 2015-06-16T03:44:18Z drmeister: If I take out the (SETQ...) then it works : ("Should be 99 --> " 99) 2015-06-16T03:44:20Z nyef: beach: I did find a point where you said that you'd gotten rid of MIRRORED-SHEET-MIXIN and the adaptive toolkit stuff anyway. 2015-06-16T03:44:40Z sheilong quit (Quit: WeeChat 1.1.1) 2015-06-16T03:45:24Z drmeister: If I replace the (SETQ ...) with 2 --> it's broken again 2015-06-16T03:45:43Z drmeister: https://www.irccloud.com/pastebin/AZlRmpWm/ 2015-06-16T03:46:35Z beach: nyef: That probably has to do with CLIM3 2015-06-16T03:46:41Z beach: nyef: Different issue. 2015-06-16T03:46:43Z nyef: Ah. 2015-06-16T03:46:52Z nyef: And, yes, it was in the context of CLIM3. 2015-06-16T03:47:24Z Jessin joined #lisp 2015-06-16T03:47:26Z stevegt joined #lisp 2015-06-16T03:47:27Z JuanitoJons quit (Quit: Saliendo) 2015-06-16T03:47:41Z Jesin quit (Disconnected by services) 2015-06-16T03:47:42Z beach: drmeister: So now basically we are down to an interaction between Clasp PROG1 and also the fact that the first argument of PROG1 is compiled in an environment that requires all values, right? 2015-06-16T03:47:45Z Jessin is now known as Jesin 2015-06-16T03:48:16Z drmeister: I don't know what you mean by " fact that the first argument of PROG1 is compiled in an environment that requires all values" 2015-06-16T03:48:47Z beach: nyef: 14.09.29:08:39 in the Tunes logs. 2015-06-16T03:49:03Z nyef: Ah, so even earlier! 2015-06-16T03:49:47Z beach: drmeister: It doesn't matter, and I was wrong too, so forget what I said. 2015-06-16T03:50:20Z beach: drmeister: Now the example should be simple enough that you can look at HIR. 2015-06-16T03:50:37Z beach: drmeister: We need to know what your PROG1 does, too. 2015-06-16T03:50:41Z beach: It's a macro. 2015-06-16T03:50:42Z drmeister: I've pared it down even more: 2015-06-16T03:50:44Z drmeister: https://www.irccloud.com/pastebin/KuE294Si/ 2015-06-16T03:51:27Z drmeister: --> 2251188224 2015-06-16T03:51:28Z Bike: what's car's inline body? 2015-06-16T03:51:29Z beach: Excellent. 2015-06-16T03:51:30Z drmeister: Ok 2015-06-16T03:51:49Z Fare quit (Ping timeout: 265 seconds) 2015-06-16T03:51:52Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-06-16T03:52:06Z drmeister: https://www.irccloud.com/pastebin/OYzwhA1t/ 2015-06-16T03:52:18Z drmeister: That's the macroexpansion of the PROG1. 2015-06-16T03:52:21Z drmeister: I'll insert that. 2015-06-16T03:52:38Z nyef: beach: ... And I don't even appear in these logs. No wonder your reported memory was confusing me! 2015-06-16T03:52:53Z beach: Hmm. 2015-06-16T03:52:58Z Bike: do you need the prog1? 2015-06-16T03:53:17Z beach: nyef: You must have come in a bit later. Maybe a few days. 2015-06-16T03:53:22Z nyef: I would definitely argue that MIRRORED-SHEET-MIXIN should be mixed in at the leaf level, not the root level. 2015-06-16T03:53:34Z Bike: i'm wondering is car is misdeclared to take a cons, and that's propagating back to the if. 2015-06-16T03:53:41Z Bike: i don't know if cleavir does that stuff yet, though. 2015-06-16T03:53:53Z drmeister: https://www.irccloud.com/pastebin/1uzigFWj/ 2015-06-16T03:54:06Z drmeister: --> 2323764184 (Garbage) 2015-06-16T03:54:07Z echo-area quit (Read error: Connection reset by peer) 2015-06-16T03:54:11Z echo-are` joined #lisp 2015-06-16T03:54:13Z drmeister: Bike: I don't know, lets see. 2015-06-16T03:54:16Z nyef: And yes, apparently I came in on October 1st. 2015-06-16T03:54:25Z beach: Bike: CAR *should* be (if (consp x) (primop:car x) (if (null x) nil (error ...))) 2015-06-16T03:54:43Z torpig quit (Ping timeout: 265 seconds) 2015-06-16T03:54:56Z drmeister: https://www.irccloud.com/pastebin/LJ6cfdpd/ 2015-06-16T03:55:13Z OxMLR quit (Quit: Leaving) 2015-06-16T03:55:34Z drmeister: beach: CAR is defined the way you say 2015-06-16T03:55:53Z beach: I don't doubt it. I was telling Bike. 2015-06-16T03:56:09Z drmeister: I was just pointing that out. 2015-06-16T03:56:14Z beach: OK, sure. 2015-06-16T03:56:16Z askatasuna quit (Quit: WeeChat 1.2) 2015-06-16T03:56:29Z nyef: Okay, looks like I was working from an incomplete understanding of the spec last October. 2015-06-16T03:56:35Z aap_ quit (Read error: Connection reset by peer) 2015-06-16T03:56:36Z drmeister: I took out the 2. 2015-06-16T03:56:38Z drmeister: https://www.irccloud.com/pastebin/V9tGB4T4/ 2015-06-16T03:56:41Z aap joined #lisp 2015-06-16T03:56:42Z drmeister: --> Garbage 2015-06-16T03:56:52Z torpig joined #lisp 2015-06-16T03:57:35Z beach: See, now it is *much* simpler. 2015-06-16T03:57:42Z drmeister: https://www.irccloud.com/pastebin/NUxWMFyR/ 2015-06-16T03:57:48Z drmeister: --> Works, 2015-06-16T03:57:50Z drmeister: --> 99 2015-06-16T03:57:54Z drmeister: Going back to the LET 2015-06-16T03:58:19Z drmeister: Generating MIR 2015-06-16T03:58:56Z beach: Start with HIR. 2015-06-16T03:59:10Z beach: One step at a time. 2015-06-16T04:00:19Z ASau quit (Read error: Connection reset by peer) 2015-06-16T04:00:38Z drmeister: Give me a sec. I wasn't generating the HIR graph - I just added it. 2015-06-16T04:02:59Z echo-are` is now known as echo-area 2015-06-16T04:02:59Z drmeister: It compiled several source files with inlining - it wasn't until it hit a defparameter in the fifth file or so that it crashed. 2015-06-16T04:04:51Z emaczen: I have a mapcar form that I want to remove the most outer parens from. From past experience, I have used (apply #'mapcar (lambda () ...) some-list) -- but lisp is telling me that the elements of the list need to be lists. 2015-06-16T04:05:56Z nyef: emaczen: Your... mapcar only returns one element? 2015-06-16T04:06:26Z Bike: a function of no arguments isn't gonna work with mapcar, for one 2015-06-16T04:06:30Z emaczen: Without the apply my mapcar statement is returning (((x 0) (y 0))) 2015-06-16T04:06:44Z emaczen: sorry the mapcar form does have an argument 2015-06-16T04:07:39Z nyef: Why are you using MAPCAR, if your input list only has one element? 2015-06-16T04:08:23Z emaczen: In this case the input list only hase one element but it could have more 2015-06-16T04:09:16Z nyef: Try MAPCAN instead? 2015-06-16T04:09:20Z k-dawg joined #lisp 2015-06-16T04:09:53Z nyef: Admittedly, that uses NCONC, which is destructive, so it may not be the best choice. 2015-06-16T04:09:55Z emaczen: nyef: Thanks, that is what I was looking for 2015-06-16T04:10:08Z nyef: Your next weapon would be a LOOP APPENDING. 2015-06-16T04:10:50Z nyef: Make sure to test with more than one element in your list, as well! 2015-06-16T04:11:15Z drmeister: Sorry, it's taking some time. I need to figure out where to hook in to get the HIR. It's COMPILE-FILE afterall and I want the HIR for each top level form. 2015-06-16T04:15:21Z lispyone joined #lisp 2015-06-16T04:17:23Z drmeister: beach: I did the compilation with COMPILE - that gives me the HIR. 2015-06-16T04:17:35Z drmeister: The HIR looks fine. The MIR is incorrect. 2015-06-16T04:17:44Z beach: drmeister: Take your time. I am preparing to go to breakfast. I will take my computer but I might have to talk to others. 2015-06-16T04:17:47Z drmeister: That is interesting. 2015-06-16T04:18:35Z drmeister: The code crashes occasionally - I believe because of the uninitialized value. 2015-06-16T04:18:39Z drmeister: It just crashed again. 2015-06-16T04:18:59Z drmeister: Go have breakfast. I'll get this running again and I'll post what I find. 2015-06-16T04:19:45Z lispyone quit (Ping timeout: 250 seconds) 2015-06-16T04:20:37Z emaczen: I recently discovered (loop for (k . v) in alist ...) is there an equivalent for plists or is there another map/iteration form? 2015-06-16T04:21:21Z Bike: (loop for (k v) in plist by #'cddr ...) i think? 2015-06-16T04:22:08Z drmeister: Ok. This is the example currently: 2015-06-16T04:22:10Z drmeister: https://www.irccloud.com/pastebin/QxnjfHyA/ 2015-06-16T04:22:18Z Oladon: You could probably also use destructuring-bind, I think 2015-06-16T04:22:29Z Bike: on, not in, sorry 2015-06-16T04:22:42Z drmeister: (foo) --> garbage or crash 2015-06-16T04:23:15Z emaczen: Bike can you think of something without using by? 2015-06-16T04:23:27Z Bike: no? why on earth does that matter? 2015-06-16T04:23:43Z emaczen: It's cleaner 2015-06-16T04:23:49Z beach: No it isn't. 2015-06-16T04:23:57Z beach: There is no dirt in software. 2015-06-16T04:24:04Z Oladon: Heh 2015-06-16T04:24:11Z emaczen: (loop for (k . v) in a-list) is really clean. 2015-06-16T04:24:18Z drmeister: The HIR: http://i.imgur.com/M4ejnfC.png 2015-06-16T04:24:24Z sdothum quit (Ping timeout: 276 seconds) 2015-06-16T04:24:26Z drmeister: beach: The HIR looks fine! 2015-06-16T04:24:29Z Bike: i'm not even going to do this "I don't want to type two words" thing, sorry 2015-06-16T04:25:08Z emaczen: Bike: No worries, I guess it is not a readily available solution 2015-06-16T04:25:17Z emaczen: Or popular at least. 2015-06-16T04:25:23Z drmeister: beach: Near the bottom, right where all the code paths coalesce is (Y:0) 2015-06-16T04:25:50Z drmeister: That's the Y variable being bound - it's in the right place, it's being set and the print will read it. 2015-06-16T04:25:57Z drmeister: The MIR is the problem! 2015-06-16T04:26:40Z drmeister: http://i.imgur.com/2iGa6PV.png 2015-06-16T04:27:58Z cluck quit (Remote host closed the connection) 2015-06-16T04:28:15Z drmeister: This is a little harder to follow but at the top is a Y:75 - it's being set but it's not connected as an input to any assignment that ends up in the PRINT function. 2015-06-16T04:28:28Z drmeister: It's the HIR->MIR step that is the problem! 2015-06-16T04:29:03Z beach: I can't really see anything on this tiny screen. 2015-06-16T04:29:26Z drmeister: I'm going to remove the eliminate-superfluous-temporaries pass 2015-06-16T04:31:33Z beach: That one is experimental. I am using it myself, and it seems to work. 2015-06-16T04:31:37Z drmeister: Oh frabjous day! 2015-06-16T04:31:40Z drmeister: That's the problem. 2015-06-16T04:31:58Z drmeister: It may need some debugging. 2015-06-16T04:32:10Z beach: Entirely possible. 2015-06-16T04:32:19Z drmeister: (foo) --> 99 2015-06-16T04:32:40Z drmeister: It's a non-essential optimization so I can turn it off and proceed with inlining. 2015-06-16T04:32:42Z beach: I didn't mean for you to use it permanently. Just check whether it improves compile time and/or run-time. 2015-06-16T04:32:58Z drmeister: LLVM eliminates superfluous temporaries as well. 2015-06-16T04:33:11Z beach: I am sure it does, yes. 2015-06-16T04:33:16Z drmeister: Right, but I plugged it in and then moved on to inlining. 2015-06-16T04:33:32Z beach: I would be interested in knowing where it fails, though. 2015-06-16T04:33:33Z mishoo joined #lisp 2015-06-16T04:33:41Z drmeister: And it mostly works, it's just some weird interaction between the inlined code and that optimization. 2015-06-16T04:33:50Z innertracks joined #lisp 2015-06-16T04:34:53Z Guest50096 joined #lisp 2015-06-16T04:35:33Z beach: Doesn't sound plausible. Once it is inlined, there is nothing to tell that it is. Or there shouldn't be. 2015-06-16T04:36:02Z beach: drmeister: Did you look at HIR after that optimization? 2015-06-16T04:36:05Z drmeister: Right, what I mean is in this situation when I inline CAR the problem surfaces. 2015-06-16T04:36:22Z beach: drmeister: If not, then you can't conclude that it is the problem. 2015-06-16T04:36:22Z drmeister: No, I didn't look at the HIR right after the optimization. 2015-06-16T04:36:35Z drmeister: Well, I take it out and the problem went away. 2015-06-16T04:36:40Z tessier quit (Ping timeout: 244 seconds) 2015-06-16T04:36:43Z beach: Not good enough. 2015-06-16T04:36:46Z drmeister: You are correct though it may not be that optimization. 2015-06-16T04:37:24Z beach: Unless you are sure, you are going to have a similar issue soon, and we'll go through this again. 2015-06-16T04:37:49Z k-dawg quit (Quit: This computer has gone to sleep) 2015-06-16T04:38:13Z jlongster quit (Ping timeout: 256 seconds) 2015-06-16T04:38:14Z innertracks quit (Client Quit) 2015-06-16T04:38:14Z drmeister: I'll generate HIR immediately before and after the optimization tomorrow. 2015-06-16T04:38:23Z beach: Good plan. 2015-06-16T04:38:37Z drmeister: I'll have to figure out how to generate multiple HIR files in the same compilation. 2015-06-16T04:38:51Z beach: That should keep you busy. 2015-06-16T04:41:18Z drmeister: I was falling asleep but now I'm wide awake. 2015-06-16T04:41:20Z Somnasper joined #lisp 2015-06-16T04:44:51Z beach: drmeister: Summary then: You need to come up with more ideas for simplification before you give up, and you need to do one step at a time in the translation to figure out what is going wrong, and finally, you need to gather evidence that your hypothesis is correct. 2015-06-16T04:46:13Z mea-culpa quit (Remote host closed the connection) 2015-06-16T04:47:41Z beach: drmeister: I didn't do anything to debug this. All I did was to suggest simplifications. You did all the rest yourself. 2015-06-16T04:47:55Z Somnasper: drmeister, what are you working on that you've been asking almost as many questions as me? 2015-06-16T04:48:27Z beach: minion: Please tell Somnasper about clasp. 2015-06-16T04:48:27Z minion: Somnasper: clasp: An implementation of Common Lisp that interoperates smoothly with C++ and uses LLVM to generate native code 2015-06-16T04:49:03Z beach: minion: Please tell Somnasper about SICL. 2015-06-16T04:49:04Z minion: Somnasper: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL 2015-06-16T04:49:05Z kaptin joined #lisp 2015-06-16T04:49:09Z beach: minion: Please tell Somnasper about Cleavir. 2015-06-16T04:49:10Z minion: Somnasper: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future 2015-06-16T04:49:30Z beach: Somnasper: drmeister is using Cleavir to write a better compiler for Clasp. 2015-06-16T04:49:44Z Somnasper: Oh wow, awesome 2015-06-16T04:50:25Z Somnasper: I've been buzzing around Clasp for a while now, hard to find much info on how complete it is 2015-06-16T04:50:51Z beach: I'll let drmeister answer that. 2015-06-16T04:51:14Z futpib joined #lisp 2015-06-16T04:53:13Z Somnasper: OH god I'm bad at remembering names, I didn't realize you were the one creating it! Really nice work!!! 2015-06-16T04:53:39Z beach: Somnasper: I am not creating Clasp. drmeister is. 2015-06-16T04:53:57Z Somnasper: That's what I meant, since I was addressing him from the start, sorry 2015-06-16T04:54:10Z Somnasper: Haven't used irc much since I was a preteen 2015-06-16T04:54:29Z beach: No problem. You'll learn again. 2015-06-16T04:55:15Z Somnasper: But yes, drmeister: you're cool as hell 2015-06-16T04:56:17Z mishoo quit (Ping timeout: 240 seconds) 2015-06-16T04:59:45Z bb010g joined #lisp 2015-06-16T04:59:57Z A205B064 joined #lisp 2015-06-16T05:02:18Z malbertife joined #lisp 2015-06-16T05:04:36Z kobain quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2015-06-16T05:06:31Z jasom: anyone know if there's a decent work-tunable password hashing library for lisp? I can always do something like PBKDF2/SHA1 using ironclad, but if I don't have to roll it from scratch that would be nice. 2015-06-16T05:08:01Z jasom: hmm googling found this: https://github.com/gigamonkey/monkeylib-bcrypt but it isn't in quicklisp 2015-06-16T05:09:05Z Davidbrcz joined #lisp 2015-06-16T05:09:17Z nyef quit (Ping timeout: 240 seconds) 2015-06-16T05:09:55Z drmeister: beach: Here is the HIR immediately before eliminate-superfluous-temporaries: http://i.imgur.com/XJ0UYqJ.png 2015-06-16T05:10:26Z drmeister: Here it is immediately after: http://i.imgur.com/M3BeXtg.png 2015-06-16T05:10:28Z ggole joined #lisp 2015-06-16T05:10:57Z drmeister: The thing to look for is the yellow ellipse containing (Y:0) 2015-06-16T05:11:37Z drmeister: In the before HIR it's connected to an assignment at the bottom that assigns it to G2146 which is the second input to the PRINT funcall 2015-06-16T05:13:03Z psy_ quit (Ping timeout: 250 seconds) 2015-06-16T05:13:03Z drmeister: In the after HIR it's no longer connected to that any assignment as an input - it's being used as an output but not as an input for anything else. 2015-06-16T05:13:04Z beach: Does it look wrong after? 2015-06-16T05:13:08Z drmeister: Yes. 2015-06-16T05:13:14Z beach: Great! Thanks. 2015-06-16T05:13:26Z beach: I'll look at that once I have a bigger screen. 2015-06-16T05:13:52Z drmeister: I can give you anything else you need to find the problem. It's pretty subtle because I ran a lot of code through that optimization that appeared to work fine. 2015-06-16T05:14:05Z drmeister: I really, really appreciate what you've done here. 2015-06-16T05:14:18Z beach: drmeister: I think I have enough for now. 2015-06-16T05:14:34Z drmeister: Great. Have a nice day, I'll talk to you later. 2015-06-16T05:14:40Z beach: drmeister: Yes, sleep well. 2015-06-16T05:15:10Z drmeister: I hope to sleep the sleep of the just. 2015-06-16T05:18:16Z drmeister: beach: Oh - one last question for the evening. 2015-06-16T05:18:28Z beach: OK, shoot! 2015-06-16T05:18:31Z drmeister: Is this how you mean primop:rplaca to be used? 2015-06-16T05:18:33Z drmeister: https://www.irccloud.com/pastebin/BuXUrWSh/ 2015-06-16T05:18:42Z drmeister: Grr, indenting! 2015-06-16T05:19:00Z drmeister: https://www.irccloud.com/pastebin/jdSzGms5/ 2015-06-16T05:19:15Z drmeister: I use it in a position that does not return a value? 2015-06-16T05:20:43Z beach: Correct. 2015-06-16T05:20:47Z drmeister: I did all that messing about to make cleavir-primop:rplaca inherit from one-value-mixin and you said it should be a zero-value-mixin. 2015-06-16T05:20:51Z beach: Except that the error message is not optimal. 2015-06-16T05:21:02Z drmeister: Oh, what would you recommend? 2015-06-16T05:21:07Z beach: non-car? 2015-06-16T05:21:10Z beach: non-cons! 2015-06-16T05:21:22Z drmeister: Argh! Right. 2015-06-16T05:22:13Z beach: And now you can figure out how to write (setf car) as well. 2015-06-16T05:23:38Z shka joined #lisp 2015-06-16T05:24:12Z drmeister: Maybe we could chat tomorrow about other inlined functions to write. I'm exhausted. 2015-06-16T05:24:33Z beach: Sure. 2015-06-16T05:24:51Z beach: I am still entertaining tourists, so I may not be available much. 2015-06-16T05:25:33Z drmeister: But I'm going to try and compile cclasp with inlining cons/car/cdr/rplaca/rplacd 2015-06-16T05:30:20Z oleo quit (Quit: Leaving) 2015-06-16T05:30:53Z pt1 joined #lisp 2015-06-16T05:32:54Z ASau joined #lisp 2015-06-16T05:34:15Z jlongster joined #lisp 2015-06-16T05:37:12Z Jesin quit (Quit: Leaving) 2015-06-16T05:38:52Z jlongster quit (Ping timeout: 252 seconds) 2015-06-16T05:42:58Z qubitner1 joined #lisp 2015-06-16T05:44:37Z drmeister: beach: It just occurred to me. Maybe I could serialize/save AST's and send them to you, or what about HIR. Have you set things up or could you set things up in Cleavir to serialize that stuff? 2015-06-16T05:44:40Z Somnasper quit (Ping timeout: 246 seconds) 2015-06-16T05:44:44Z drmeister: Ok, I'm really off to bed now. 2015-06-16T05:47:10Z pt1 quit (Remote host closed the connection) 2015-06-16T05:48:08Z beach: I no longer believe you. 2015-06-16T05:49:00Z meiji11 joined #lisp 2015-06-16T05:51:45Z jlongster joined #lisp 2015-06-16T05:54:23Z igajsin joined #lisp 2015-06-16T05:56:18Z jlongster quit (Ping timeout: 264 seconds) 2015-06-16T05:56:47Z Brozo quit (Remote host closed the connection) 2015-06-16T05:57:45Z kushal joined #lisp 2015-06-16T06:09:40Z ASau quit (Ping timeout: 252 seconds) 2015-06-16T06:13:08Z mishoo joined #lisp 2015-06-16T06:13:16Z Somnasper joined #lisp 2015-06-16T06:13:48Z Somnasper: Is there a way to get the effect of rainbow delimiters, but highlighting all text between the brackets as well? 2015-06-16T06:13:53Z shka: it must be around 4 am 2015-06-16T06:14:09Z shka: drmeister: you need to rest 2015-06-16T06:14:40Z shka quit (Quit: Konversation terminated!) 2015-06-16T06:14:44Z keen_________ joined #lisp 2015-06-16T06:14:48Z Somnasper: drmeister: I'm going to assume that's probably true, get some sleep 2015-06-16T06:15:45Z keen________ quit (Read error: Connection reset by peer) 2015-06-16T06:15:59Z Somnasper: .... 2015-06-16T06:16:07Z Somnasper: I'm just talking about plain highlighting, aren't I 2015-06-16T06:16:09Z Somnasper: ignore me 2015-06-16T06:16:46Z Somnasper quit (Client Quit) 2015-06-16T06:17:11Z lispyone joined #lisp 2015-06-16T06:21:37Z lispyone quit (Ping timeout: 240 seconds) 2015-06-16T06:21:46Z futpib quit (Ping timeout: 252 seconds) 2015-06-16T06:24:29Z Mon_Ouie joined #lisp 2015-06-16T06:25:04Z radioninja quit (Ping timeout: 252 seconds) 2015-06-16T06:28:04Z pt1 joined #lisp 2015-06-16T06:30:45Z vlnx joined #lisp 2015-06-16T06:34:55Z angavrilov joined #lisp 2015-06-16T06:34:58Z tessier joined #lisp 2015-06-16T06:35:52Z stardiviner quit (Ping timeout: 276 seconds) 2015-06-16T06:39:41Z jackdaniel: we ain't need no lack of not paying attention 2015-06-16T06:40:15Z Davidbrcz quit (Ping timeout: 276 seconds) 2015-06-16T06:42:01Z tmtwd quit (Quit: Leaving) 2015-06-16T06:43:22Z theos: we dont need no lack of not paying no attention 2015-06-16T06:47:20Z malbertife quit (Ping timeout: 265 seconds) 2015-06-16T06:52:16Z madnificent joined #lisp 2015-06-16T06:52:19Z pt1_ joined #lisp 2015-06-16T06:52:30Z jlongster joined #lisp 2015-06-16T06:54:06Z cmatei quit (Ping timeout: 244 seconds) 2015-06-16T06:54:20Z pt1 quit (Read error: No route to host) 2015-06-16T06:55:44Z pt1 joined #lisp 2015-06-16T06:56:26Z ndrei joined #lisp 2015-06-16T06:56:54Z jlongster quit (Ping timeout: 245 seconds) 2015-06-16T06:57:27Z Brozo joined #lisp 2015-06-16T06:57:42Z pt1 quit (Read error: No route to host) 2015-06-16T06:57:55Z pt1 joined #lisp 2015-06-16T06:58:47Z pt1_ quit (Ping timeout: 250 seconds) 2015-06-16T07:01:55Z Ven joined #lisp 2015-06-16T07:02:17Z Brozo quit (Ping timeout: 240 seconds) 2015-06-16T07:03:44Z pyon joined #lisp 2015-06-16T07:03:53Z qubitnerd joined #lisp 2015-06-16T07:04:10Z CEnnis91 quit (Quit: Connection closed for inactivity) 2015-06-16T07:04:13Z pyon is now known as Guest98438 2015-06-16T07:04:13Z qubitnerd is now known as Guest86620 2015-06-16T07:04:17Z myztic quit (Ping timeout: 240 seconds) 2015-06-16T07:04:38Z Guest98438 quit (Changing host) 2015-06-16T07:04:38Z Guest98438 joined #lisp 2015-06-16T07:04:59Z Guest98438 quit (Client Quit) 2015-06-16T07:05:09Z hiroakip joined #lisp 2015-06-16T07:05:20Z pyon joined #lisp 2015-06-16T07:05:44Z Cymew joined #lisp 2015-06-16T07:06:35Z qubitner1 quit (Ping timeout: 250 seconds) 2015-06-16T07:07:20Z meiji11 quit (Remote host closed the connection) 2015-06-16T07:08:36Z mea-culpa joined #lisp 2015-06-16T07:09:25Z adhoc quit (Ping timeout: 255 seconds) 2015-06-16T07:10:06Z mrSpec joined #lisp 2015-06-16T07:10:38Z cmatei joined #lisp 2015-06-16T07:12:06Z torpig quit (Ping timeout: 276 seconds) 2015-06-16T07:12:55Z yasha9 quit (Ping timeout: 276 seconds) 2015-06-16T07:14:12Z igajsin quit (Ping timeout: 252 seconds) 2015-06-16T07:14:43Z przl joined #lisp 2015-06-16T07:15:36Z jaykru quit (Quit: yawn) 2015-06-16T07:17:58Z lispyone joined #lisp 2015-06-16T07:19:23Z stardiviner joined #lisp 2015-06-16T07:20:21Z madnificent quit (Read error: Connection reset by peer) 2015-06-16T07:20:37Z madnificent joined #lisp 2015-06-16T07:22:28Z lispyone quit (Ping timeout: 255 seconds) 2015-06-16T07:23:08Z Shinmera joined #lisp 2015-06-16T07:24:03Z Guest86620 quit (Quit: WeeChat 1.2) 2015-06-16T07:25:24Z yasha9 joined #lisp 2015-06-16T07:25:29Z remi`bd joined #lisp 2015-06-16T07:26:18Z theos quit (Disconnected by services) 2015-06-16T07:26:48Z theos joined #lisp 2015-06-16T07:28:50Z harish quit (Ping timeout: 265 seconds) 2015-06-16T07:31:19Z flash- joined #lisp 2015-06-16T07:31:58Z stepnem joined #lisp 2015-06-16T07:33:39Z walter|r joined #lisp 2015-06-16T07:36:13Z madnificent quit (Read error: Connection reset by peer) 2015-06-16T07:36:27Z madnificent joined #lisp 2015-06-16T07:37:53Z shka joined #lisp 2015-06-16T07:37:57Z walter|r quit (Ping timeout: 240 seconds) 2015-06-16T07:38:16Z emaczen quit (Ping timeout: 256 seconds) 2015-06-16T07:38:59Z arpunk quit (Ping timeout: 256 seconds) 2015-06-16T07:39:18Z torpig joined #lisp 2015-06-16T07:41:35Z przl quit (Quit: leaving) 2015-06-16T07:41:54Z przl joined #lisp 2015-06-16T07:41:58Z aerique: Does Nikodemus Siivola frequent the premises? 2015-06-16T07:42:19Z zacharias_ quit (Ping timeout: 245 seconds) 2015-06-16T07:43:28Z Shinmera: jasom: There's crypto-shortcuts http://shinmera.github.io/crypto-shortcuts/ 2015-06-16T07:47:58Z przl quit (Ping timeout: 272 seconds) 2015-06-16T07:47:58Z alchemis7 quit (Ping timeout: 272 seconds) 2015-06-16T07:49:12Z Kooda joined #lisp 2015-06-16T07:50:13Z Cymew quit (Quit: Konversation terminated!) 2015-06-16T07:53:21Z jlongster joined #lisp 2015-06-16T07:55:06Z epitron joined #lisp 2015-06-16T07:55:23Z renard_ quit (Ping timeout: 246 seconds) 2015-06-16T07:56:52Z pt1_ joined #lisp 2015-06-16T07:57:29Z Cymew joined #lisp 2015-06-16T07:57:39Z jlongster quit (Ping timeout: 244 seconds) 2015-06-16T08:00:19Z pt1 quit (Ping timeout: 250 seconds) 2015-06-16T08:00:52Z przl joined #lisp 2015-06-16T08:02:17Z kcj joined #lisp 2015-06-16T08:03:41Z bgs100 quit (Quit: bgs100) 2015-06-16T08:04:35Z adhoc joined #lisp 2015-06-16T08:05:03Z standoo joined #lisp 2015-06-16T08:05:09Z standoo: hello lisp world 2015-06-16T08:06:03Z theos: hullo 2015-06-16T08:06:52Z intinig joined #lisp 2015-06-16T08:07:28Z przl quit (Ping timeout: 244 seconds) 2015-06-16T08:12:22Z psy_ joined #lisp 2015-06-16T08:18:46Z lispyone joined #lisp 2015-06-16T08:23:13Z lispyone quit (Ping timeout: 264 seconds) 2015-06-16T08:27:05Z grouzen joined #lisp 2015-06-16T08:28:00Z smull quit (Quit: leaving) 2015-06-16T08:28:35Z smull joined #lisp 2015-06-16T08:28:36Z pjb: Bike: (loop for (k v) :ON plist by #'cddr ...) 2015-06-16T08:31:07Z pjb: emaczen: (loop for (k v) :ON plist by #'cddr ...) 2015-06-16T08:35:08Z nf7 joined #lisp 2015-06-16T08:35:18Z quazimodo quit (Ping timeout: 276 seconds) 2015-06-16T08:36:01Z nf7: Why is it that lisp functions are usually written in ALL-CAPS in documentation, textbooks, and compilers? 2015-06-16T08:36:06Z harish_ joined #lisp 2015-06-16T08:36:08Z k-dawg joined #lisp 2015-06-16T08:36:37Z mood: nf7: It's an easy way to distinguish code from the text talking about it 2015-06-16T08:37:06Z Shinmera: Also, the standard readtable case is :upcase 2015-06-16T08:38:07Z nf7: Ok, so it's just a convention. 2015-06-16T08:44:14Z radioninja joined #lisp 2015-06-16T08:45:09Z ndrei quit (Ping timeout: 252 seconds) 2015-06-16T08:47:05Z pjb: nf7: no. 2015-06-16T08:47:13Z pjb: nf7: Common Lisp IS case sensitive. 2015-06-16T08:47:14Z ndrei joined #lisp 2015-06-16T08:47:22Z pjb: (not (eq '|ABC| '|abc|)) 2015-06-16T08:47:24Z standoo: yeah 2015-06-16T08:47:27Z standoo: still learning it 2015-06-16T08:47:37Z pjb: nf7: but the lisp reader is configured by default to upcase all the letters in symbol names. 2015-06-16T08:47:50Z standoo: it's really different from other languages i learn 2015-06-16T08:48:00Z pjb: nf7: so with the default readtable setting, you get (eq 'ABC 'abc) 2015-06-16T08:48:18Z pjb: standoo: learn more. It's just like, eg. in Pascal. 2015-06-16T08:48:36Z pjb: Well, you don't know it, because in Pascal you don't have a symbol-name function. 2015-06-16T08:48:56Z nf7 left #lisp 2015-06-16T08:48:58Z pjb: nf7: notice that emacs lisp is ALSO case sensitive, but its reader doesn't change the case of symbols. 2015-06-16T08:49:00Z standoo: pjb: it's quite hard to change the thinking around 2015-06-16T08:49:09Z pjb: so in elisp, (not (eq 'ABC 'abc)) 2015-06-16T08:49:15Z standoo: pjb: very used to imperative proramming languages 2015-06-16T08:49:38Z pjb: standoo: lisp is an imperative programming language. 2015-06-16T08:50:06Z pjb: It's even the first one to have a PROG operator specifically designed for imperative PROGramming. 2015-06-16T08:50:06Z pjb: clhs prog 2015-06-16T08:50:06Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_prog_.htm 2015-06-16T08:50:43Z pjb: Notice the {tag | statement}* body. You can use (GO tag) to jump around. 2015-06-16T08:51:33Z pjb: If you want a better name for lisp: chameleon. 2015-06-16T08:52:05Z ndrei quit (Ping timeout: 256 seconds) 2015-06-16T08:52:12Z standoo: pjb: what's the learning curve for lisp? 2015-06-16T08:52:43Z gendl joined #lisp 2015-06-16T08:52:45Z ndrei joined #lisp 2015-06-16T08:53:04Z jackdaniel: standoo: it's a spiral :D 2015-06-16T08:53:17Z standoo: jackdaniel: spiral up or down? 2015-06-16T08:53:25Z theos: you can learn lisp in 20 mins 2015-06-16T08:53:47Z theos: mastering it is impossible 2015-06-16T08:54:14Z zacharias joined #lisp 2015-06-16T08:55:09Z jackdaniel: it's a joke, but I think it has ordinary learning curve if you seek for abilities, yet reaching the end (mastering as theos said) may take many years 2015-06-16T08:55:14Z hiroakip quit (Ping timeout: 245 seconds) 2015-06-16T08:55:28Z jackdaniel: so you learn in normal pace, but you can learn much more 2015-06-16T08:55:33Z jackdaniel: personal opinion obviously 2015-06-16T08:57:42Z hiroakip joined #lisp 2015-06-16T08:58:18Z shka: standoo: i want to add something here 2015-06-16T08:58:22Z shka: lisp is FUN 2015-06-16T08:58:45Z jackdaniel: so if you scale your knowledge with all you can know for two languages, comparision of learning curves might look a bit dissapointing, but it's same as saying 10% of 100 is more then 5% of 1000, because 10 > 5 2015-06-16T08:58:50Z shka: and learning indepth is rewarding expirence 2015-06-16T08:59:15Z shka: so what can i say 2015-06-16T08:59:24Z shka: standoo: try, you will like it 2015-06-16T08:59:31Z jackdaniel: or not ^_^ 2015-06-16T08:59:31Z standoo: i am learning it now 2015-06-16T08:59:34Z standoo: haha 2015-06-16T08:59:35Z Brozo joined #lisp 2015-06-16T08:59:49Z shka: jackdaniel: this option is always present 2015-06-16T09:00:06Z jackdaniel: so it is a dubious practice to not mention it 2015-06-16T09:00:55Z shka: yeah, but personally i really, really enjoy writting cl code 2015-06-16T09:01:16Z Karl_Dscc joined #lisp 2015-06-16T09:01:17Z shka: i will probabbly never master it 2015-06-16T09:01:28Z shka: but as it was said, almost nobody does 2015-06-16T09:01:48Z standoo: yeah 2015-06-16T09:01:58Z standoo: i'm on a mission to evaluate a bunch of languages 2015-06-16T09:02:20Z shka: oh, that's interesting 2015-06-16T09:03:25Z jackdaniel: standoo: I think it would be beneficial for many, if after doing that you'll express your personal opinions on differences and similarities between them 2015-06-16T09:03:50Z jackdaniel: as an essay for instance 2015-06-16T09:03:59Z Brozo quit (Ping timeout: 256 seconds) 2015-06-16T09:04:01Z mrSpec quit (Ping timeout: 264 seconds) 2015-06-16T09:15:24Z shka: standoo: another good thing about cl is that it is multi-paradgim 2015-06-16T09:15:42Z standoo: shka: multi-paradigm? 2015-06-16T09:15:43Z shka: for instance clos is really awesome 2015-06-16T09:18:13Z mrSpec joined #lisp 2015-06-16T09:19:29Z lispyone joined #lisp 2015-06-16T09:20:16Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-06-16T09:22:32Z stardiviner quit (Ping timeout: 252 seconds) 2015-06-16T09:22:57Z ndrei quit (Ping timeout: 240 seconds) 2015-06-16T09:23:56Z lispyone quit (Ping timeout: 244 seconds) 2015-06-16T09:25:11Z ndrei joined #lisp 2015-06-16T09:26:07Z agumonkey quit (Ping timeout: 250 seconds) 2015-06-16T09:27:05Z agumonkey joined #lisp 2015-06-16T09:27:21Z Karl_Dscc quit (Remote host closed the connection) 2015-06-16T09:27:22Z pyon quit (Quit: fix config) 2015-06-16T09:28:09Z stardiviner joined #lisp 2015-06-16T09:28:50Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-06-16T09:28:56Z pyon joined #lisp 2015-06-16T09:30:13Z flip214 quit (Ping timeout: 265 seconds) 2015-06-16T09:31:28Z flip214 joined #lisp 2015-06-16T09:31:49Z renard_ joined #lisp 2015-06-16T09:33:31Z munksgaard joined #lisp 2015-06-16T09:34:51Z loz quit (Quit: Leaving.) 2015-06-16T09:37:48Z mea-culp` joined #lisp 2015-06-16T09:39:26Z mea-culpa quit (Ping timeout: 244 seconds) 2015-06-16T09:39:36Z jtza8 joined #lisp 2015-06-16T09:40:08Z mea-culp` is now known as mea-culpa 2015-06-16T09:40:45Z clop2 joined #lisp 2015-06-16T09:42:04Z renard_ quit (Quit: ZNC - http://znc.sourceforge.net) 2015-06-16T09:43:36Z wgslayer joined #lisp 2015-06-16T09:44:01Z wgslayer: anybody in here got some experience with CL + libwebsockets ? 2015-06-16T09:44:05Z gendl quit (Quit: gendl) 2015-06-16T09:48:50Z gendl joined #lisp 2015-06-16T09:50:14Z Ven joined #lisp 2015-06-16T09:50:19Z Karl_Dscc joined #lisp 2015-06-16T09:51:03Z pjb: wgslayer: not me. Perhaps in #lispweb? 2015-06-16T09:51:33Z wgslayer: i don't even think it's related to libwebsockets. maybe still smoebody can help: 2015-06-16T09:52:00Z wgslayer: the moment i am starting the server (via ffi) in the main or a subthread 2015-06-16T09:52:07Z wgslayer: my lisp process hangs after a couple seconds 2015-06-16T09:52:36Z wgslayer: the libwebsockets lib does not fork or create threads… 2015-06-16T09:52:41Z pjb: standoo: the learning curve to learn lisp is very smooth and has a very small slope. 2015-06-16T09:52:42Z wgslayer: it cannot be an ffi issue 2015-06-16T09:52:52Z wgslayer: and in plain C the code seems to work without further issues 2015-06-16T09:54:29Z pjb: If no threads or process are created, then the libwebsockets server runs in the thread from which you invoke it (via FFI). Assumedly, it is running, and therefore the call to the server doesn't return (until, possibly, when the server exits). Therefore you cannot do anything else on that REPL. 2015-06-16T09:54:42Z jlongster joined #lisp 2015-06-16T09:54:48Z pjb: You lisp process doesn't hang, it runs the libwebsockets server, I assume. 2015-06-16T09:54:56Z qubitnerd joined #lisp 2015-06-16T09:55:46Z standoo: pjb: so the mountain is very high 2015-06-16T09:55:50Z pjb: Now, if you use C libraries that create threads and deal with threads or signals, this could pose some problem with lisp implementations that manage threads and deal with signals themselves. Some caution and deep knowledge (of both the implementation and the library) would be required. 2015-06-16T09:56:17Z pjb: standoo: Depends on how long you walk this small slope. 2015-06-16T09:56:37Z wgslayer: @pjb: i checked the c source of libwebsockets.. no threads involved, but i will double-check. the lisp process hangs because i can't create additional connections (slime) and the spinning beach ball on mac appears 2015-06-16T09:56:51Z wgslayer: surprisingly though is, that the same code runs under linux without issues :) 2015-06-16T09:56:55Z wgslayer: same lisp (clozure cl) 2015-06-16T09:57:01Z wgslayer: i am trying now with sbcl on mac, let's see 2015-06-16T09:57:19Z pjb: standoo: http://mrozekma.com/editor-learning-curve.png 2015-06-16T09:58:05Z pjb: wgslayer: if the library doesn't deal with threads, perhaps you could start the server from a thread created from lisp? 2015-06-16T09:58:10Z grees joined #lisp 2015-06-16T09:58:29Z pjb: (bt:make-thread (lambda () (websocket:server)) :name "websocket-server") 2015-06-16T09:58:33Z pjb: something like that. 2015-06-16T09:58:53Z wgslayer: yeah tried that, too. 2015-06-16T09:59:19Z pjb: wgslayer: why do you insist on C code. It's always buggy and undebuggable. 2015-06-16T09:59:22Z pjb: Just use hunchentoot. 2015-06-16T09:59:31Z A205B064 quit (Ping timeout: 256 seconds) 2015-06-16T09:59:38Z wgslayer: hehehe… and how shall i incorporate websockets support ? :) 2015-06-16T09:59:48Z jlongster quit (Ping timeout: 276 seconds) 2015-06-16T09:59:49Z wgslayer: i am too lazy to implement the protocol, even if it is not that difficult 2015-06-16T10:00:09Z pjb: Implement it in lisp! 2015-06-16T10:00:23Z Brozo joined #lisp 2015-06-16T10:00:29Z wgslayer: you mean direct ffi'ing to libwebsockets or reimplementing the stuff in CL ? 2015-06-16T10:00:41Z pjb: reimplementing the stuff in CL 2015-06-16T10:00:51Z gendl quit (Quit: gendl) 2015-06-16T10:01:28Z pjb: You read https://tools.ietf.org/html/rfc6455 and write lisp code. 2015-06-16T10:01:41Z p_l: IIRC there isn't much to write for websockets, is there? 2015-06-16T10:01:49Z wgslayer: exactly 2015-06-16T10:01:56Z wgslayer: not that big of a deal… i just wanted quick results 2015-06-16T10:01:58Z pjb: I don't know, I've not read the rfc. 2015-06-16T10:02:32Z pjb: What's great with implementing protocols, is that YOU HAVE A SPECIFICATION! This is not often that you can be the happy programmer working from a specification… 2015-06-16T10:02:33Z shka: wgslayer: are you sure that this is not libwebsockets issue? 2015-06-16T10:02:51Z wgslayer: the fascinating thing is: if i try to abort the process with CTRL-C 2015-06-16T10:02:58Z wgslayer: (after a write command to the client) 2015-06-16T10:03:05Z wgslayer: i can enter the debugger 2015-06-16T10:03:05Z shka: that last time i tried, libwebsockets was buggy 2015-06-16T10:03:12Z wgslayer: and then the system works again 2015-06-16T10:03:28Z wgslayer: shka: yeah same here but after two years i thought i'll give it a try 2015-06-16T10:03:29Z wgslayer: again 2015-06-16T10:04:20Z shka: standoo: yes, it is a good thing because common lisp does not try to force you into any path 2015-06-16T10:04:46Z Karl_Dscc quit (Remote host closed the connection) 2015-06-16T10:05:06Z standoo: shka: what about standardization? 2015-06-16T10:05:13Z Brozo quit (Ping timeout: 264 seconds) 2015-06-16T10:06:14Z shka: standoo: i can't follow 2015-06-16T10:06:40Z pjb: wgslayer: indeed, the framing seems relatively simple, and the opening protocol could be implemented as a hunchentoot module (possibly generically for all lisp web servers, since you only have to deal with the headers, and be able to take over the socket stream). 2015-06-16T10:06:54Z radioninja quit (Ping timeout: 252 seconds) 2015-06-16T10:07:04Z shka: by multi-paradgim i ment that it allows you to write functional code, object oriented code, aspect oriented code… 2015-06-16T10:07:08Z robot-beethoven quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2015-06-16T10:07:20Z hitecnologys joined #lisp 2015-06-16T10:07:23Z shka: it is very flexible 2015-06-16T10:07:35Z shka: allows you to pick best approach 2015-06-16T10:08:01Z wgslayer: pjb: i'll give it a try. for the beginning handshake and the simple framing should suffice 2015-06-16T10:08:09Z wgslayer: the event handle will be the most work anyways 2015-06-16T10:08:15Z wgslayer: event handler 2015-06-16T10:08:30Z pjb: Be sure to study well the rfc. 2015-06-16T10:08:53Z GuilOooo quit (Ping timeout: 265 seconds) 2015-06-16T10:11:21Z pjb: wgslayer: when writing protocols, you may want to introduce an indirection with respect to I/O. Because you may have to use your protocol module in different context. For example, READ-BYTE blocks on socket streams. You may be using iolib with event-based (select/poll) reception of data, and therefore it's not the protocol that would call read-byte, it's the event system that would call the protocol with a new byte (or record). 2015-06-16T10:11:27Z grees quit (Remote host closed the connection) 2015-06-16T10:12:13Z grees joined #lisp 2015-06-16T10:14:19Z Baggers joined #lisp 2015-06-16T10:14:39Z wgslayer: i will read the rfc and think about it. i am not happy with breaking out to the libwebsockets lib anyway 2015-06-16T10:14:42Z ndrei quit (Ping timeout: 246 seconds) 2015-06-16T10:16:42Z pjb: wgslayer: using ffi libraries is always a pis-aller, and often give you more problems than time saved (debugging difficulty, impossible to explore safely from the REPL, and at run-time: inefficient data conversion back and forth). 2015-06-16T10:20:13Z lispyone joined #lisp 2015-06-16T10:21:02Z wgslayer: @pjb i know i know… coming from a lot of ffi experience with interfacing to various window systems 2015-06-16T10:21:38Z wgslayer: i think interactive development with ffi does not work well… 2015-06-16T10:22:02Z radioninja joined #lisp 2015-06-16T10:25:01Z lispyone quit (Ping timeout: 264 seconds) 2015-06-16T10:27:27Z mbuf quit (Ping timeout: 252 seconds) 2015-06-16T10:29:03Z happy-dude quit (Quit: Connection closed for inactivity) 2015-06-16T10:29:24Z attila_lendvai joined #lisp 2015-06-16T10:29:24Z attila_lendvai quit (Changing host) 2015-06-16T10:29:24Z attila_lendvai joined #lisp 2015-06-16T10:33:12Z gendl joined #lisp 2015-06-16T10:33:56Z icosa1 joined #lisp 2015-06-16T10:34:52Z Guest500` joined #lisp 2015-06-16T10:36:55Z icosa1 quit (Read error: Connection reset by peer) 2015-06-16T10:37:49Z Guest50096 quit (Ping timeout: 244 seconds) 2015-06-16T10:41:10Z icosa joined #lisp 2015-06-16T10:44:09Z echo-area quit (Remote host closed the connection) 2015-06-16T10:46:44Z seg quit (Quit: !!) 2015-06-16T10:47:38Z Xof joined #lisp 2015-06-16T10:47:52Z milosn quit (Read error: Connection reset by peer) 2015-06-16T10:48:09Z milosn joined #lisp 2015-06-16T10:48:15Z qsun joined #lisp 2015-06-16T10:50:15Z seg joined #lisp 2015-06-16T10:50:15Z seg quit (Changing host) 2015-06-16T10:50:15Z seg joined #lisp 2015-06-16T10:51:03Z solbeven joined #lisp 2015-06-16T10:51:57Z radioninja quit (Ping timeout: 240 seconds) 2015-06-16T10:55:47Z Khisanth joined #lisp 2015-06-16T10:57:57Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2015-06-16T10:58:27Z solbeven quit (Quit: Leaving) 2015-06-16T11:00:38Z scymtym: wgslayer: have you seen https://github.com/capitaomorte/hunchensocket ? 2015-06-16T11:00:42Z Karl_Dscc joined #lisp 2015-06-16T11:01:10Z Brozo joined #lisp 2015-06-16T11:02:57Z ndrei joined #lisp 2015-06-16T11:05:44Z standoo quit (Quit: standoo) 2015-06-16T11:05:49Z Brozo quit (Ping timeout: 264 seconds) 2015-06-16T11:09:11Z BitPuffin|osx joined #lisp 2015-06-16T11:11:32Z dlowe quit (Quit: ZNC - http://znc.sourceforge.net) 2015-06-16T11:11:37Z kcj quit (Ping timeout: 240 seconds) 2015-06-16T11:12:13Z edgar-rft quit (Quit: edgar-rft) 2015-06-16T11:12:48Z hardenedapple joined #lisp 2015-06-16T11:13:32Z gendl quit (Quit: gendl) 2015-06-16T11:17:16Z GuilOooo joined #lisp 2015-06-16T11:20:39Z jtza8 quit (Ping timeout: 245 seconds) 2015-06-16T11:21:02Z lispyone joined #lisp 2015-06-16T11:22:20Z quazimodo joined #lisp 2015-06-16T11:23:33Z wgslayer: thanks i will check it out. 2015-06-16T11:25:25Z zygentoma joined #lisp 2015-06-16T11:26:13Z lispyone quit (Ping timeout: 264 seconds) 2015-06-16T11:30:31Z dlowe joined #lisp 2015-06-16T11:30:53Z jason_m joined #lisp 2015-06-16T11:33:11Z attila_lendvai quit (Quit: Leaving.) 2015-06-16T11:33:15Z attila_lendvai1 joined #lisp 2015-06-16T11:33:16Z attila_lendvai1 is now known as attila_lendvai 2015-06-16T11:33:16Z attila_lendvai quit (Changing host) 2015-06-16T11:33:16Z attila_lendvai joined #lisp 2015-06-16T11:34:47Z jtza8 joined #lisp 2015-06-16T11:36:40Z qubitner1 joined #lisp 2015-06-16T11:37:29Z dilated_dinosaur joined #lisp 2015-06-16T11:37:49Z grees: \join #cplusplus 2015-06-16T11:37:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2015-06-16T11:38:41Z frkout quit (Remote host closed the connection) 2015-06-16T11:38:58Z redeemed joined #lisp 2015-06-16T11:39:25Z qubitnerd quit (Ping timeout: 255 seconds) 2015-06-16T11:45:14Z cosmicexplorer joined #lisp 2015-06-16T11:46:05Z Guest500` quit (Ping timeout: 250 seconds) 2015-06-16T11:46:37Z EvW joined #lisp 2015-06-16T11:50:06Z trebor_home joined #lisp 2015-06-16T11:51:51Z gendl joined #lisp 2015-06-16T11:52:26Z Guest500` joined #lisp 2015-06-16T11:53:05Z drmeister: Compilation of Clasp+Cleavir got through about 50 source files and then hit an issue because I haven't yet supported make-load-form (sigh) 2015-06-16T11:53:41Z sdothum joined #lisp 2015-06-16T11:53:49Z drmeister: Now I have to figure that out again and finally implement it. 2015-06-16T11:54:11Z drmeister: That's with inlining consp/car/cdr/rplaca/rplacd 2015-06-16T12:00:44Z przl joined #lisp 2015-06-16T12:02:54Z clop2 quit (Ping timeout: 264 seconds) 2015-06-16T12:05:58Z dilated_dinosaur quit (Ping timeout: 255 seconds) 2015-06-16T12:11:29Z pranavrc joined #lisp 2015-06-16T12:11:49Z yrk joined #lisp 2015-06-16T12:12:26Z yrk quit (Changing host) 2015-06-16T12:12:26Z yrk joined #lisp 2015-06-16T12:12:53Z dilated_dinosaur joined #lisp 2015-06-16T12:14:54Z Ven quit (Ping timeout: 264 seconds) 2015-06-16T12:16:02Z Guest500` quit (Remote host closed the connection) 2015-06-16T12:16:32Z gendl quit (Quit: gendl) 2015-06-16T12:16:33Z Ethan- joined #lisp 2015-06-16T12:16:54Z yeticry quit (Ping timeout: 252 seconds) 2015-06-16T12:17:47Z przl quit (Ping timeout: 256 seconds) 2015-06-16T12:18:27Z smokeink quit (Remote host closed the connection) 2015-06-16T12:19:41Z EvW quit (Remote host closed the connection) 2015-06-16T12:19:51Z EvW joined #lisp 2015-06-16T12:20:34Z Cymew: drmeister: I just watched your google tech talk. I knew from listening to you that you were nuts, but after this I know you are *really* nuts! Impressive stuff you have done there. 2015-06-16T12:21:46Z lispyone joined #lisp 2015-06-16T12:22:13Z antoszka: Cymew: Is that talk available publicly? 2015-06-16T12:22:22Z XachX: antoszka: planet lisp links to it 2015-06-16T12:22:27Z antoszka: ah, cool. 2015-06-16T12:23:39Z Cymew: drmeister: https://www.youtube.com/watch?v=8X69_42Mj-g 2015-06-16T12:23:46Z Cymew: sorry, 2015-06-16T12:23:50Z Cymew: antoszka: https://www.youtube.com/watch?v=8X69_42Mj-g 2015-06-16T12:24:09Z eudoxia joined #lisp 2015-06-16T12:24:20Z przl joined #lisp 2015-06-16T12:24:20Z smokeink joined #lisp 2015-06-16T12:24:58Z myztic joined #lisp 2015-06-16T12:25:17Z sheilong joined #lisp 2015-06-16T12:25:34Z antoszka: Cymew: thx 2015-06-16T12:25:40Z sheilong quit (Client Quit) 2015-06-16T12:26:19Z lispyone quit (Ping timeout: 244 seconds) 2015-06-16T12:27:36Z sheilong joined #lisp 2015-06-16T12:28:13Z yeticry joined #lisp 2015-06-16T12:28:28Z antoszka: Cymew: Yeah, I was lucky to see drmeister's talk at the ELS, this seems to be more or less the same thing :) 2015-06-16T12:32:38Z myztic quit (Quit: Leaving) 2015-06-16T12:33:30Z antoszka: Curious about the Q&A at the end :) 2015-06-16T12:34:35Z grees quit (Remote host closed the connection) 2015-06-16T12:36:13Z przl quit (Quit: leaving) 2015-06-16T12:37:32Z przl joined #lisp 2015-06-16T12:47:32Z Fare joined #lisp 2015-06-16T12:49:18Z frkout joined #lisp 2015-06-16T12:50:58Z theBlackDragon quit (Ping timeout: 255 seconds) 2015-06-16T12:54:11Z frkout quit (Ping timeout: 265 seconds) 2015-06-16T12:55:28Z jtza8 quit (Ping timeout: 255 seconds) 2015-06-16T12:56:08Z kami joined #lisp 2015-06-16T12:57:18Z theBlackDragon joined #lisp 2015-06-16T13:01:58Z Cymew quit (Quit: Konversation terminated!) 2015-06-16T13:02:10Z Cymew joined #lisp 2015-06-16T13:03:13Z lispyone joined #lisp 2015-06-16T13:05:09Z Petit_Dejeuner quit (Read error: Connection reset by peer) 2015-06-16T13:05:42Z Petit_Dejeuner joined #lisp 2015-06-16T13:05:55Z jtza8 joined #lisp 2015-06-16T13:06:47Z renard_ joined #lisp 2015-06-16T13:08:08Z lispyone quit (Ping timeout: 265 seconds) 2015-06-16T13:09:17Z akersof quit (Ping timeout: 240 seconds) 2015-06-16T13:10:42Z drmeister: Cymew: Thanks! 2015-06-16T13:11:21Z drmeister: beach: Are you online? I got a LOT farther compiling Clasp+Cleavir with inlining - it got through about 50 source files. 2015-06-16T13:12:54Z drmeister: It failed because it tried to do a make-load-form on a Cleavir AST 2015-06-16T13:13:29Z attila_lendvai joined #lisp 2015-06-16T13:13:29Z drmeister: I'm trying to wrap my head around what it's doing and if it should be doing it and how to fix it. 2015-06-16T13:13:38Z drmeister: Here's what it was compiling: 2015-06-16T13:14:16Z drmeister: https://www.irccloud.com/pastebin/QwYg1k0k/ 2015-06-16T13:15:06Z drmeister: I just edited the paste above to include the previous (DECLAIM (INLINE coerce-fdesignator)...) 2015-06-16T13:15:17Z drmeister: So it's declaring a function as INLINE 2015-06-16T13:15:48Z drmeister: And I guess that is causing it to try and create a load-time-value for the AST. 2015-06-16T13:16:55Z drmeister: But getting down to brass tacks, it's trying to call make-load-form on an AST which is an instance of a CLOS class. 2015-06-16T13:17:21Z nyef joined #lisp 2015-06-16T13:17:42Z Cymew: How I really hate coding with NTH and LENGTH in the same function. I really wish all of CL had used 1 indexing, instead of mixing in some of that ugly 0 indexing in between. 2015-06-16T13:18:08Z akersof joined #lisp 2015-06-16T13:19:18Z Shinmera: ? Which function uses 1-indexing? 2015-06-16T13:19:54Z Cymew: You know I can not tell you which is which even if my life depended on it, and that's the problem... 2015-06-16T13:20:07Z drmeister: I guess I have to specialize make-load-form on this AST node (it's one that I wrote and inherited from your FUNCTION-AST). I guess I use the define-save-into code you set up. 2015-06-16T13:20:11Z Shinmera: No function in CL to my knowledge uses 1-indexing. It's all 0-indexed. 2015-06-16T13:21:06Z EvW quit (Ping timeout: 256 seconds) 2015-06-16T13:21:07Z Cymew: Either we have been looking at different functions, or you mean something different by that phrase than I do. 2015-06-16T13:21:28Z Shinmera: The first element is at position 0. 2015-06-16T13:21:31Z EvW joined #lisp 2015-06-16T13:22:04Z Shinmera: (nth 0 '(a b c)) => a 2015-06-16T13:22:04Z ggole: length doesn't index at all, it returns the, uh, length 2015-06-16T13:22:33Z Shinmera: ggole: Alternative description: The count/number of elements in the sequence. 2015-06-16T13:23:39Z ggole: Cymew: are you thinking of first / second / etc? 2015-06-16T13:23:57Z ggole: eg, first = (nth 0 list) 2015-06-16T13:23:59Z Cymew: This is what riles me up: 2015-06-16T13:24:27Z GuilOooo quit (Ping timeout: 250 seconds) 2015-06-16T13:24:29Z Cymew: (LENGTH '(a b c d e f g h i k)) -> 10 2015-06-16T13:24:46Z Shinmera: Yes, because there's 10 elements. 2015-06-16T13:24:51Z Cymew: (NTH 10 '(a b c d e f g h i k)) -> NIL 2015-06-16T13:25:02Z Cymew: The latter should return 'k' 2015-06-16T13:25:03Z Shinmera: Yes, because it's 0 indexed. 2015-06-16T13:25:06Z Shinmera: No. 2015-06-16T13:25:06Z ggole: You've passed a count where you should have passed an index. 2015-06-16T13:25:32Z ndrei quit (Ping timeout: 265 seconds) 2015-06-16T13:25:51Z Cymew: I am not sure what the correct word for it is in English, but that makes me nuts 2015-06-16T13:26:12Z CEnnis91 joined #lisp 2015-06-16T13:26:14Z Shinmera: Most languages use zero-indexing. 2015-06-16T13:26:14Z Cymew: Maybe it's not indexing, but it feels wrong 2015-06-16T13:26:17Z ggole: It makes perfect sense once you understand the distinction between counting and indexing. 2015-06-16T13:26:25Z GuilOooo joined #lisp 2015-06-16T13:26:48Z isBEKaml joined #lisp 2015-06-16T13:27:06Z prphp joined #lisp 2015-06-16T13:27:07Z ndrei joined #lisp 2015-06-16T13:27:30Z elimik31 joined #lisp 2015-06-16T13:27:45Z dlowe: an index is the offset from the beginning 2015-06-16T13:27:52Z dlowe: so the first element is beginning + 0 2015-06-16T13:27:54Z ggole: If you think the other way, I think it's probably quite uncomfortable. 2015-06-16T13:28:08Z dlowe: Cymew: you coming from lua? 2015-06-16T13:28:21Z Ven joined #lisp 2015-06-16T13:29:53Z Cymew: I have actually never touched lua 2015-06-16T13:31:05Z Cymew: Fortran and lisp are the only languages that makes sense to me. This little niggle feel wrong, but I guess it's just learning to adjust to the viewpoint 2015-06-16T13:31:56Z Cymew: ggole: I do feel uncomfortable, yes. Maybe I'm just doing it wrong. It would not be the first time. ;) 2015-06-16T13:36:34Z nyef: Consider the LENGTH to be the first index which DOESN'T refer to a member of the sequence. 2015-06-16T13:37:06Z ndrei quit (Ping timeout: 264 seconds) 2015-06-16T13:37:09Z nyef: (Or, "here's where the next one goes.") 2015-06-16T13:37:24Z Cymew: nyef: That's one way to do it, I guess. 2015-06-16T13:37:29Z ggole: Which works for subsequences, too 2015-06-16T13:37:46Z Cymew looks over his shoulder 2015-06-16T13:37:54Z ndrei joined #lisp 2015-06-16T13:38:12Z Fare quit (Quit: Leaving) 2015-06-16T13:38:13Z Cymew: ggole: I just typed SUBSEQ in another window. That was spooky! 2015-06-16T13:38:15Z jlongster joined #lisp 2015-06-16T13:38:53Z ggole: Oh, I was thinking of the :start and :end keywords rather than subseq... 2015-06-16T13:39:11Z Cymew: But still 2015-06-16T13:39:53Z ggole: Don't worry, if you hang iron over the door I can't enter. 2015-06-16T13:40:40Z jtza8 quit (Ping timeout: 252 seconds) 2015-06-16T13:40:57Z Cymew: Good. That will make me feel more relaxed tonight. 2015-06-16T13:41:28Z zacharias quit (Remote host closed the connection) 2015-06-16T13:43:01Z mrSpec quit (Ping timeout: 264 seconds) 2015-06-16T13:43:39Z cluck joined #lisp 2015-06-16T13:44:18Z OxMLR joined #lisp 2015-06-16T13:44:34Z kushal quit (Quit: Leaving) 2015-06-16T13:47:59Z Petit_Dejeuner quit (Read error: Connection reset by peer) 2015-06-16T13:48:45Z elimik31 quit (Ping timeout: 252 seconds) 2015-06-16T13:48:54Z Petit_Dejeuner joined #lisp 2015-06-16T13:49:53Z Karl_Dscc quit (Remote host closed the connection) 2015-06-16T13:52:27Z arpunk joined #lisp 2015-06-16T13:53:00Z Petit_Dejeuner_ joined #lisp 2015-06-16T13:55:11Z Petit_Dejeuner quit (Ping timeout: 244 seconds) 2015-06-16T13:57:00Z mrSpec joined #lisp 2015-06-16T14:00:15Z zaquest quit (Read error: Connection reset by peer) 2015-06-16T14:01:35Z zacharias joined #lisp 2015-06-16T14:01:47Z Cymew quit (Ping timeout: 265 seconds) 2015-06-16T14:02:10Z theos: what if he has iron door? 2015-06-16T14:03:44Z lispyone joined #lisp 2015-06-16T14:04:51Z lispyone_ joined #lisp 2015-06-16T14:08:32Z milosn_ joined #lisp 2015-06-16T14:08:33Z lispyone quit (Ping timeout: 252 seconds) 2015-06-16T14:08:43Z milosn quit (Read error: Connection reset by peer) 2015-06-16T14:10:01Z mrSpec quit (Ping timeout: 264 seconds) 2015-06-16T14:11:25Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-06-16T14:14:22Z pt1_ quit (Ping timeout: 256 seconds) 2015-06-16T14:14:35Z Karl_Dscc joined #lisp 2015-06-16T14:15:08Z akersof quit (Ping timeout: 246 seconds) 2015-06-16T14:15:34Z akersof joined #lisp 2015-06-16T14:17:29Z gendl joined #lisp 2015-06-16T14:18:13Z oleo joined #lisp 2015-06-16T14:18:13Z oleo quit (Changing host) 2015-06-16T14:18:13Z oleo joined #lisp 2015-06-16T14:18:40Z oleo: morning 2015-06-16T14:19:59Z milosn_ is now known as milosn 2015-06-16T14:20:22Z mrSpec joined #lisp 2015-06-16T14:21:59Z qubitner1 is now known as qubitnerd 2015-06-16T14:22:34Z hiroakip quit (Ping timeout: 276 seconds) 2015-06-16T14:22:58Z Petit_Dejeuner_ quit (Read error: Connection timed out) 2015-06-16T14:24:34Z Petit_Dejeuner_ joined #lisp 2015-06-16T14:24:35Z kdas_ joined #lisp 2015-06-16T14:26:00Z askatasuna joined #lisp 2015-06-16T14:26:30Z CrazyEddy quit (Ping timeout: 252 seconds) 2015-06-16T14:26:45Z XachX: Devon: As caches expire, an updated quicklisp client will be available via (ql:update-client) that fixes the issue you reported yesterday. It also makes system-apropos case-insensitive. 2015-06-16T14:27:53Z trebor_home quit (Quit: "bye") 2015-06-16T14:31:22Z isBEKaml quit (Quit: leaving) 2015-06-16T14:33:04Z Ethan- quit (Remote host closed the connection) 2015-06-16T14:33:28Z isBEKaml joined #lisp 2015-06-16T14:33:44Z isBEKaml quit (Changing host) 2015-06-16T14:33:44Z isBEKaml joined #lisp 2015-06-16T14:35:29Z kami quit (Ping timeout: 256 seconds) 2015-06-16T14:37:37Z Petit_Dejeuner_ quit (Ping timeout: 264 seconds) 2015-06-16T14:40:43Z xrash joined #lisp 2015-06-16T14:41:32Z prphp quit (Read error: Connection reset by peer) 2015-06-16T14:50:34Z prphp joined #lisp 2015-06-16T14:54:35Z redeemed quit (Quit: q) 2015-06-16T14:54:36Z kdas_ quit (Ping timeout: 244 seconds) 2015-06-16T14:54:38Z Devon: XachX: Thanks for turning the wheel of Lambda. 2015-06-16T14:59:38Z remi`bd quit (Quit: leaving) 2015-06-16T15:01:44Z zadock joined #lisp 2015-06-16T15:03:08Z kami joined #lisp 2015-06-16T15:04:34Z Petit_Dejeuner joined #lisp 2015-06-16T15:05:26Z isBEKaml quit (Quit: leaving) 2015-06-16T15:05:56Z kami quit (Remote host closed the connection) 2015-06-16T15:06:00Z isBEKaml joined #lisp 2015-06-16T15:06:20Z drmeister: I know I've been through this before but I didn't quite finish the incorporation of MAKE-LOAD-FORM into my compiler a couple of months ago when I was discussing this. 2015-06-16T15:07:21Z drmeister: If I have a standard object and I need to regenerate it as a load-time-value at load-time - I specialize MAKE-LOAD-FORM on the class of that object. 2015-06-16T15:08:04Z drmeister: It returns a creation form and an initialization form. I stick those forms into the FASL file with code to evaluate them at load time. 2015-06-16T15:08:36Z gendl quit (Quit: gendl) 2015-06-16T15:08:43Z drmeister: Does that sound right? 2015-06-16T15:09:01Z drmeister: That's what I read in the CLHS and recall from past discussions. 2015-06-16T15:09:44Z jlongster quit (Remote host closed the connection) 2015-06-16T15:10:06Z nyef: I thought it was only one form? I think that one of us is about to learn something. 2015-06-16T15:10:09Z nyef: clhs make-load-form 2015-06-16T15:10:10Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_ld_.htm 2015-06-16T15:10:13Z kobain joined #lisp 2015-06-16T15:10:25Z Shinmera: It returns a creation and initialization form 2015-06-16T15:10:29Z nyef: ... And I'm the one to learn something, yes. 2015-06-16T15:11:10Z trebor_home joined #lisp 2015-06-16T15:11:37Z drmeister: I don't see any make-load-form specializations in Cleavir for ASTs so I'll hack one together now and talk to beach about it when he comes back on. 2015-06-16T15:11:57Z isBEKaml quit (Quit: leaving) 2015-06-16T15:12:19Z drmeister: It sounds like something he would add or was planning to add. 2015-06-16T15:12:30Z Shinmera: Wait, why do you need to dump AST stuff to file? 2015-06-16T15:14:43Z drmeister: That's what I'm trying to puzzle out. It came up when I compiled a function that was declaim'd inline 2015-06-16T15:14:52Z alexshendi joined #lisp 2015-06-16T15:16:26Z drmeister: I compiled clasp+cleavir last night with inlining on. When compiling the first function (other than the five I declared/defined as inline) that was declaim'd inline the compiler choked because I hadn't set up the code to call make-load-form to serialize standard objects. It would have failed anyway because there is no make-load-form specialization on AST 2015-06-16T15:16:27Z drmeister: objects. 2015-06-16T15:16:50Z drmeister: But then there is your (and my) question. Why does it need to dump an AST to the file? 2015-06-16T15:17:14Z Shinmera: It shouldn't, from what I understand. At the point of the FASL, it should all be executable code already anyway. 2015-06-16T15:17:21Z drmeister: I'm guessing the code is smarter than I am and it is saving the AST for inlining after load-time? 2015-06-16T15:17:48Z drmeister: But what if I use that function after the FASL loads - it should continue to be inlined shouldn't it? 2015-06-16T15:18:00Z Shinmera: Also: "The methods specialized on standard-object, structure-object, and condition all signal an error of type error." 2015-06-16T15:18:07Z Shinmera: from m-l-f 2015-06-16T15:18:22Z drmeister: But that begs the question - why isn't this happening with the CONSP/CAR/CDR/RPLACA/RPLACD that I define to be inline? 2015-06-16T15:19:09Z drmeister: Doesn't that just mean I have to specialize on any subclass of standard-object etc? 2015-06-16T15:19:18Z Shinmera: Yes. 2015-06-16T15:19:20Z dlowe: drmeister: (explain-yourself (compile my-form)) 2015-06-16T15:19:33Z drmeister: Whoah - what is that? 2015-06-16T15:19:39Z dlowe: (with-cogent-explanation (compile my-form)) 2015-06-16T15:20:02Z dlowe: just a wish without an implementation 2015-06-16T15:20:16Z Shinmera: Also useful: (fix-all-bugs #p"~/clasp") 2015-06-16T15:20:35Z drmeister: This is Clasp we are talking about. Right - that would be nice - but sadly, not implemented. 2015-06-16T15:21:03Z drmeister: About to go under city, comm will become intermittent for about 10 min. 2015-06-16T15:21:21Z didi joined #lisp 2015-06-16T15:21:36Z dlowe: with-cogent-explanation would probably just turn on a trace for every conditional 2015-06-16T15:21:42Z didi: drmeister: Very interesting talk. Congratulations. 2015-06-16T15:21:42Z minion: didi, memo from pjb: you wouldn't call symbol-name to compare symbols, but string= ! If you want to ensure symbols, you would write (and (symbolp x) (string= x 'hello)). 2015-06-16T15:21:51Z drmeister: didi: Thank you. 2015-06-16T15:21:58Z dlowe: Why X? because Y, Z, and A all evaluated to T 2015-06-16T15:22:01Z didi: drmeister: Thank you for it. 2015-06-16T15:22:08Z gendl joined #lisp 2015-06-16T15:22:24Z gendl quit (Client Quit) 2015-06-16T15:22:43Z didi: Ah, cool. I didn't know `string=' could do that. 2015-06-16T15:22:47Z didi: pjb: Thank you. 2015-06-16T15:23:40Z tmtwd joined #lisp 2015-06-16T15:25:55Z Baggers quit (Ping timeout: 256 seconds) 2015-06-16T15:27:32Z drmeister: I think I'm barking up the wrong tree here. 2015-06-16T15:27:59Z drmeister: I need to talk to beach about this before implementing anything. 2015-06-16T15:28:14Z nopf: drmeister: are there trees ist lisp? i thought there were only lists 2015-06-16T15:28:57Z dlowe: drmeister: there are all kinds of data structures 2015-06-16T15:29:02Z dlowe: drmeister: you have been lied to 2015-06-16T15:29:10Z dlowe: drmeister: why am I telling you this 2015-06-16T15:29:16Z dlowe: nopf: ^ 2015-06-16T15:30:26Z k-dawg quit (Quit: This computer has gone to sleep) 2015-06-16T15:32:02Z kushal joined #lisp 2015-06-16T15:33:15Z Davidbrcz joined #lisp 2015-06-16T15:34:25Z scymtym: drmeister: maybe there is an instance spliced into the code that is being dumped; something like (list #.(make-instance 'foo)). dumping such code requires a method on MAKE-LOAD-FORM for FOO. 2015-06-16T15:34:49Z didi left #lisp 2015-06-16T15:36:59Z Ven joined #lisp 2015-06-16T15:37:18Z frsilent joined #lisp 2015-06-16T15:38:27Z innertracks joined #lisp 2015-06-16T15:40:41Z ggole: Trees? In Lisp!? 2015-06-16T15:41:04Z Brozo joined #lisp 2015-06-16T15:42:12Z dlowe: It's more likely than you think! 2015-06-16T15:43:07Z mea-culpa quit (Read error: Connection reset by peer) 2015-06-16T15:43:40Z mea-culpa joined #lisp 2015-06-16T15:44:29Z zaquest joined #lisp 2015-06-16T15:49:56Z przl quit (Ping timeout: 272 seconds) 2015-06-16T15:50:02Z intinig quit (Remote host closed the connection) 2015-06-16T15:51:02Z pjb: Shinmera: first uses 1-index ;-) 2015-06-16T15:51:28Z pjb: first second third fourth … tenth actually refer the 0th, the 1st, 2nd, 3rd, … 9th elements. 2015-06-16T15:51:29Z Davidbrcz quit (Ping timeout: 245 seconds) 2015-06-16T15:52:17Z innertracks quit (Quit: innertracks) 2015-06-16T15:52:27Z pjb: minion: memo for Cymew: you need to read the giants: https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html 2015-06-16T15:52:27Z minion: Remembered. I'll tell Cymew when he/she/it next speaks. 2015-06-16T15:54:38Z pjb: minion: memo for Cymew: You can always do: (defpackage "CYMEW-LISP" (:use "CL") (:shadow "AREF") (:export "CAR" … "AREF")) (defun cymew-lisp:aref (a &rest indices) (apply (function cl:aref) (mapcar (function 1-) indices))) (defun (setf cymew-lisp:aref) …) (defpackage "CYMEW-LISP-USER (:use "CYMEW-LISP")) (in-package "CYMEW-LISP-USER") 2015-06-16T15:54:38Z minion: Remembered. I'll tell Cymew when he/she/it next speaks. 2015-06-16T15:55:18Z jaykru joined #lisp 2015-06-16T15:55:27Z pjb: Now we have an eXtended Xach? 2015-06-16T15:55:28Z GuilOooo quit (Ping timeout: 255 seconds) 2015-06-16T15:56:51Z shka: yes, there are more trees in lisp than in amazon jungle 2015-06-16T15:57:03Z shka: it proves that world was programmed in lisp 2015-06-16T15:57:57Z Whymind quit (Read error: Connection reset by peer) 2015-06-16T15:58:53Z smokeink quit (Remote host closed the connection) 2015-06-16T16:00:15Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-06-16T16:02:13Z zacharias quit (Ping timeout: 264 seconds) 2015-06-16T16:03:35Z EvW quit (Ping timeout: 265 seconds) 2015-06-16T16:11:33Z n1x joined #lisp 2015-06-16T16:17:11Z n1x quit (Max SendQ exceeded) 2015-06-16T16:18:37Z eudoxia quit (Ping timeout: 256 seconds) 2015-06-16T16:22:48Z selat joined #lisp 2015-06-16T16:23:26Z dwrngr joined #lisp 2015-06-16T16:24:08Z Petit_Dejeuner quit (Ping timeout: 272 seconds) 2015-06-16T16:24:29Z jaykru quit (Quit: yawn) 2015-06-16T16:26:23Z gendl joined #lisp 2015-06-16T16:29:23Z gendl quit (Client Quit) 2015-06-16T16:29:29Z grouzen quit (Ping timeout: 250 seconds) 2015-06-16T16:35:39Z spyrosoft joined #lisp 2015-06-16T16:37:09Z n1x joined #lisp 2015-06-16T16:41:13Z pyon quit (Quit: fix config) 2015-06-16T16:42:58Z Jesin joined #lisp 2015-06-16T16:43:15Z jasom: Shinmera: crypto-shortcuts looks great 2015-06-16T16:43:40Z Shinmera: jasom: It's just a wrapper around ironclad and some other lib though. I wasn't sure what exactly you wanted. 2015-06-16T16:44:04Z jasom: well it looks like the library that I was going to implement 20% of if I couldn't find 2015-06-16T16:45:13Z jasom: Shinmera: what's the difference between pbkdf2-key and pbkdf2-hash ? 2015-06-16T16:46:41Z thodg quit (Ping timeout: 246 seconds) 2015-06-16T16:47:05Z Shinmera: I think one returns an array and the other a string 2015-06-16T16:47:23Z Shinmera: Yeah, the docstrings say so. 2015-06-16T16:47:45Z Shinmera: I can't remember why I wanted to include both versions. 2015-06-16T16:48:07Z sdothum quit (Ping timeout: 250 seconds) 2015-06-16T16:48:21Z klltkr joined #lisp 2015-06-16T16:52:33Z manuel_ joined #lisp 2015-06-16T16:54:34Z qubitner1 joined #lisp 2015-06-16T16:55:19Z kobain quit (Ping timeout: 255 seconds) 2015-06-16T16:56:37Z k-stz joined #lisp 2015-06-16T16:56:58Z innertracks joined #lisp 2015-06-16T16:57:34Z qubitnerd quit (Ping timeout: 255 seconds) 2015-06-16T17:03:17Z pranavrc quit (Quit: Leaving) 2015-06-16T17:03:51Z developernotes joined #lisp 2015-06-16T17:04:20Z ebrasca joined #lisp 2015-06-16T17:06:57Z n1x quit (Ping timeout: 240 seconds) 2015-06-16T17:07:48Z pyon joined #lisp 2015-06-16T17:09:37Z tessier quit (Ping timeout: 276 seconds) 2015-06-16T17:10:00Z wgslayer quit (Quit: Leaving.) 2015-06-16T17:10:49Z lispyone_ quit (Read error: Connection reset by peer) 2015-06-16T17:11:22Z lispyone joined #lisp 2015-06-16T17:12:25Z n1x joined #lisp 2015-06-16T17:12:49Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-06-16T17:14:11Z hardenedapple quit (Quit: WeeChat 1.2) 2015-06-16T17:14:26Z zadock quit (Quit: Leaving) 2015-06-16T17:14:52Z shka quit (Ping timeout: 246 seconds) 2015-06-16T17:15:03Z tessier joined #lisp 2015-06-16T17:16:15Z malbertife joined #lisp 2015-06-16T17:21:50Z GuilOooo joined #lisp 2015-06-16T17:24:06Z kobain joined #lisp 2015-06-16T17:25:21Z bb010g quit (Quit: Connection closed for inactivity) 2015-06-16T17:27:16Z BitPuffin|osx quit (Ping timeout: 265 seconds) 2015-06-16T17:29:55Z fantazo joined #lisp 2015-06-16T17:31:33Z Davidbrcz joined #lisp 2015-06-16T17:32:19Z n1x quit (Ping timeout: 250 seconds) 2015-06-16T17:40:46Z Jaskologist joined #lisp 2015-06-16T17:42:04Z cosmicexplorer quit (Remote host closed the connection) 2015-06-16T17:46:16Z emaczen joined #lisp 2015-06-16T17:48:39Z ASau joined #lisp 2015-06-16T17:49:13Z araujo quit (Quit: Leaving) 2015-06-16T17:51:53Z araujo joined #lisp 2015-06-16T17:51:53Z araujo quit (Changing host) 2015-06-16T17:51:53Z araujo joined #lisp 2015-06-16T17:54:11Z walter|r joined #lisp 2015-06-16T17:55:43Z flash- quit (Ping timeout: 250 seconds) 2015-06-16T18:02:29Z torpig quit (Ping timeout: 265 seconds) 2015-06-16T18:05:32Z shka joined #lisp 2015-06-16T18:08:56Z jaykru joined #lisp 2015-06-16T18:09:03Z radioninja joined #lisp 2015-06-16T18:10:07Z futpib joined #lisp 2015-06-16T18:12:31Z akersof quit (Ping timeout: 256 seconds) 2015-06-16T18:15:23Z ggole quit 2015-06-16T18:15:25Z madnificent quit (Ping timeout: 264 seconds) 2015-06-16T18:15:54Z drmeister: I think I figured out why my code is trying to generate load-time value for inlined functions. I think it's an accident. 2015-06-16T18:15:54Z knobo1 joined #lisp 2015-06-16T18:16:03Z drmeister: This is my definition of DEFUN 2015-06-16T18:16:06Z drmeister: https://www.irccloud.com/pastebin/Osi0PXiV/ 2015-06-16T18:16:41Z Bike: ,(eval-when ...) <-- wat. 2015-06-16T18:16:55Z drmeister: On line 18-20 I have ,(eval-when ...) that invokes *defun-inline-hook* 2015-06-16T18:17:22Z jasom: Is there a better way to do a bit-rotate than two ash and an ior? 2015-06-16T18:17:29Z drmeister: If it returns the AST then it's going to try and build it into the compiled code - right?!? 2015-06-16T18:17:32Z jasom: and a maxk 2015-06-16T18:17:37Z drmeister: Bike, is that what you are reacting to? 2015-06-16T18:17:39Z radioninja quit (Ping timeout: 244 seconds) 2015-06-16T18:17:50Z Bike: drmeister: that and that eval-when makes no sense at all with the comma, yeah. 2015-06-16T18:17:55Z drmeister: Note: This is cribbed from ECL code - I hacked this when I was first starting. It's DEFUN after all. 2015-06-16T18:18:00Z Bike: jasom: sb-rotate-byte? 2015-06-16T18:18:18Z jasom: Bike: thanks 2015-06-16T18:18:29Z knobo1 quit (Read error: No route to host) 2015-06-16T18:18:46Z drmeister: It puts DEFUN into functions. 2015-06-16T18:19:27Z drmeister: Let me check the original ECL code for this 2015-06-16T18:19:43Z manuel_ quit (Ping timeout: 264 seconds) 2015-06-16T18:19:56Z Bike: drmeister: i mean, ,(eval-when ...) means it's just executed right there in the macroexpander. the eval-when is pretty much pointless, you could just have the (and ...) with the same effect. 2015-06-16T18:19:58Z ehu1 joined #lisp 2015-06-16T18:20:10Z Bike: drmeister: you probably meant the eval-when to be in the expansion. maybe. 2015-06-16T18:20:43Z Bike: i don't know what the inline hook does, of course. 2015-06-16T18:20:50Z drmeister: Right - I see that - that was my bad to put that in; but like you say, it's pointless. 2015-06-16T18:20:55Z manuel_ joined #lisp 2015-06-16T18:21:20Z ehu quit (Ping timeout: 265 seconds) 2015-06-16T18:21:29Z Bike: does the inline hook save the source for later inlining? 2015-06-16T18:21:33Z drmeister: The original ECL code doesn't use eval-when because unlike me when I wrote this, they knew what they were doing. 2015-06-16T18:21:35Z drmeister: https://www.irccloud.com/pastebin/7x6sFLeI/ 2015-06-16T18:22:19Z drmeister: But even if I used their code I would suffer the same fate, my *defun-inline-hook* should return NIL otherwise whatever it returns will get compiled into the FASL. 2015-06-16T18:22:21Z Bike: okay, so you want the hook to be called for effect in the macroexpander, is that right? 2015-06-16T18:22:49Z drmeister: Yes. The hook generates the AST and stores it in the compile time environment for inlining later on. 2015-06-16T18:23:37Z drmeister: https://www.irccloud.com/pastebin/XzQ2Of6w/ 2015-06-16T18:24:36Z Bike: well, you might as well not put it in the progn then. 2015-06-16T18:24:54Z drmeister: The setf is returning the ast as a result. Ho boy - that was unfortunate. If I return NIL then all will be forgiven. 2015-06-16T18:24:56Z Bike: just have (when *dump-defun-definitions* ...) (when *defun-inline-hook* ...) `(progn ...) 2015-06-16T18:25:12Z Bike: there's no reason to have it contribute anything to the expansion. 2015-06-16T18:25:36Z Bike: though i'm not sure if you want to call this in the expander or in the expansion. 2015-06-16T18:25:43Z drmeister: I always have to think so hard on this. What about load time? I'd like it to generate ASTs at load time as well. Thinking... 2015-06-16T18:26:00Z Bike: okay, then yeah, you want the expansion to do it, not the expander. 2015-06-16T18:26:14Z Bike: so change it back to before, with the ,(eval-when ...), but lose the comma. 2015-06-16T18:27:04Z innertracks quit (Quit: innertracks) 2015-06-16T18:27:18Z Bike: you don't need to mess with the hook's definition that way, either. 2015-06-16T18:27:18Z drmeister: How does this look? 2015-06-16T18:27:21Z drmeister: https://www.irccloud.com/pastebin/ZLRqujH5/ 2015-06-16T18:27:54Z Bike: i think you want ',name, and i don't know about env. 2015-06-16T18:27:55Z drmeister: This will embed the form in global-function in the FASL. But it should only be a small form for inlining purposes. 2015-06-16T18:28:35Z Bike: oh, your hook doesn't actually use the env. so kill that. 2015-06-16T18:28:38Z jaykru quit (Quit: yawn) 2015-06-16T18:28:53Z psy_ quit (Quit: Leaving) 2015-06-16T18:29:21Z psy_ joined #lisp 2015-06-16T18:30:04Z torpig joined #lisp 2015-06-16T18:31:11Z drmeister: What does (lambda (x foo) (declare (ignore foo)) ... ) do? The (declare (ignore foo)) part. It tells the compiler the argument should be accepted but ignored? 2015-06-16T18:31:20Z Bike: Yes. 2015-06-16T18:31:35Z Bike: If you have (lambda (x) 4) for instance the compiler might warn you that you didn't use x, because that might be a mistake. 2015-06-16T18:31:46Z Bike: putting the declare ignore x tells the compiler that you didn't make a mistake and to shut up. 2015-06-16T18:32:04Z drmeister: Ok, here's what I've changed them to: 2015-06-16T18:32:14Z drmeister: https://www.irccloud.com/pastebin/UlQpOpDj/ 2015-06-16T18:32:18Z drmeister: https://www.irccloud.com/pastebin/Q39UdXQr/ 2015-06-16T18:32:20Z nyef: There's also DECLARE IGNORABLE, which is useful in macros, where user code may-or-may-not reference the variable, and it is not a matter of concern either way. 2015-06-16T18:32:21Z qubitnerd joined #lisp 2015-06-16T18:32:32Z jaykru joined #lisp 2015-06-16T18:32:49Z drmeister: nyef: Thank you - that puzzled me as well. 2015-06-16T18:32:50Z kdas_ joined #lisp 2015-06-16T18:32:56Z Bike: drmeister: i'm really pretty sure you mean ',name in the call to the hook, but otherwise that's probably fine 2015-06-16T18:33:23Z drmeister: You are correct. As always - thank you for your excellent code review. 2015-06-16T18:33:34Z Patzy quit (Ping timeout: 245 seconds) 2015-06-16T18:33:49Z gravicappa joined #lisp 2015-06-16T18:34:28Z Patzy joined #lisp 2015-06-16T18:34:30Z kdas_ quit (Read error: Connection reset by peer) 2015-06-16T18:34:35Z Bike: actually. i wonder if you actually do want the inline expansion saved if you're loading. i don't think other implementations do that. 2015-06-16T18:34:48Z moei quit (Quit: Leaving...) 2015-06-16T18:34:57Z qubitner1 quit (Ping timeout: 240 seconds) 2015-06-16T18:35:18Z drmeister: beach suggested it (IIRC) and I reflexively want whatever he suggests. I usually figure out later on why it's a good idea. 2015-06-16T18:35:28Z kushal quit (Ping timeout: 252 seconds) 2015-06-16T18:35:33Z attila_lendvai quit (Quit: Leaving.) 2015-06-16T18:35:33Z Bike: heh. well, i guess it'll work either way. 2015-06-16T18:36:20Z drmeister: Yeah, why would I want that? Don't I want code that I compile in the REPL and after I load the image to inline anything that was inlined in the image? 2015-06-16T18:37:10Z drmeister: Smoke testing... 2015-06-16T18:38:30Z drmeister: I don't know what is going on (and it may be subjective) but Clasp's bootstrapping compiler seems to be getting faster. 2015-06-16T18:38:37Z drmeister attributes it to clean living. 2015-06-16T18:38:40Z icosa quit (Read error: Connection reset by peer) 2015-06-16T18:42:17Z shka: drmeister: unless you have benchmarks, i will say that it is all because your mind is slowing down 2015-06-16T18:42:24Z shka: ;-) 2015-06-16T18:43:42Z akersof joined #lisp 2015-06-16T18:44:44Z torpig quit (Quit: WeeChat 1.1.1) 2015-06-16T18:46:22Z Jesin quit (Quit: Leaving) 2015-06-16T18:50:36Z Jesin joined #lisp 2015-06-16T18:51:33Z torpig joined #lisp 2015-06-16T18:56:48Z kushal joined #lisp 2015-06-16T18:58:15Z edgar-rft joined #lisp 2015-06-16T19:02:45Z drmeister: Could be. Could be. Ah, but I have github - so I could generate benchmarks... 2015-06-16T19:03:39Z drmeister: Duh! I forgot to quote the name. 2015-06-16T19:03:41Z drmeister: https://www.irccloud.com/pastebin/4jfG2uVw/ 2015-06-16T19:04:04Z drmeister: I wanted to make it extra obvious so I used QUOTE rather than ' 2015-06-16T19:07:14Z shka: one moment please 2015-06-16T19:07:26Z shka: i always thought that ' and quote is basicly same thing 2015-06-16T19:07:55Z mood: shka: It is, but a single ' is a lot harder to miss than (quote ...) 2015-06-16T19:07:56Z shka: i was using quote in macros just because i don't want to confuse ' with ` 2015-06-16T19:08:18Z drmeister: They are. ' is a reader macro or "syntactic sugar" for (QUOTE ...) 2015-06-16T19:08:22Z attila_lendvai joined #lisp 2015-06-16T19:08:26Z shka: oh ok 2015-06-16T19:08:39Z drmeister: It's even harder to miss when the ' isn't there. 2015-06-16T19:08:50Z shka: damn, you actually wrote this 2015-06-16T19:08:52Z drmeister: easier to miss. 2015-06-16T19:08:55Z shka: i'm to tired 2015-06-16T19:08:57Z drmeister: One of those. 2015-06-16T19:09:28Z shka: yeah, that ,/` is confusing enough 2015-06-16T19:10:00Z drmeister: ', <-- surprisingly useful combination of almost invisible characters. 2015-06-16T19:10:17Z drmeister: It's as close to significant whitespace as you get in Common Lisp 2015-06-16T19:10:59Z shka: hehe, well writing macros requires good deal of concentration even without additional ' 2015-06-16T19:11:13Z shka: that's where we can agree 2015-06-16T19:13:46Z shka quit (Quit: Konversation terminated!) 2015-06-16T19:14:22Z shka joined #lisp 2015-06-16T19:14:28Z gingerale joined #lisp 2015-06-16T19:16:07Z attila_lendvai quit (Quit: Leaving.) 2015-06-16T19:17:22Z shka: drmeister: clasp clos is also mostly from ecl? 2015-06-16T19:19:28Z qubitnerd quit (Ping timeout: 252 seconds) 2015-06-16T19:20:26Z Guest22054 quit (Quit: ZNC - http://znc.in) 2015-06-16T19:20:56Z akersof quit (Ping timeout: 252 seconds) 2015-06-16T19:22:11Z Denommus joined #lisp 2015-06-16T19:23:20Z EvW joined #lisp 2015-06-16T19:24:38Z grees joined #lisp 2015-06-16T19:25:05Z shka quit (Quit: Konversation terminated!) 2015-06-16T19:25:29Z shka joined #lisp 2015-06-16T19:25:37Z walter|r quit (Remote host closed the connection) 2015-06-16T19:26:15Z drmeister: Clasp CLOS is ALL from ECL 2015-06-16T19:26:51Z shka: hm i wanted to ask 2015-06-16T19:26:57Z shka: why ECL? 2015-06-16T19:27:20Z drmeister: When I give a talk at Google in California I'm not going to give the same talk as the one last week. I'm going to show how I'll use Common Lisp and CANDO/Clasp to build molecules. 2015-06-16T19:27:20Z shka: there are other implementations, like ccl and sbcl, but you choosed ecl 2015-06-16T19:27:25Z fantazo quit (Ping timeout: 276 seconds) 2015-06-16T19:27:50Z nyef: drmeister: I look forward to seeing the video, then. (-: 2015-06-16T19:27:57Z shka: talk was excelent 2015-06-16T19:27:59Z drmeister: Because ECL is based on C and the rest of the code works with a C foundation and ECL CLOS works with the rest of the ECL CL code. 2015-06-16T19:28:26Z shka: you are good speaker, topic is interesting, really good job on everything 2015-06-16T19:28:38Z shka: that makes sense 2015-06-16T19:30:05Z pyon is now known as lptm 2015-06-16T19:31:28Z Shinmera: Also, SBCL CLOS is often regarded as a completely insane code base for mad men, so trying to make it work with a new implementation would probably be far from trivial. 2015-06-16T19:32:06Z Bike: i found the original "portable" version on cmu once, i wonder how hard it would be to adapt. there were hooks to have jumps instead of calls and stuff... 2015-06-16T19:32:16Z Bike: the main problem would be the old CL style, maybe 2015-06-16T19:39:37Z sdothum joined #lisp 2015-06-16T19:39:42Z BitPuffin|osx joined #lisp 2015-06-16T19:42:53Z jaykru quit (Quit: yawn) 2015-06-16T19:43:12Z attila_lendvai joined #lisp 2015-06-16T19:46:05Z Karl_Dscc quit (Remote host closed the connection) 2015-06-16T19:46:59Z Karl_Dscc joined #lisp 2015-06-16T19:51:32Z ndrei quit (Ping timeout: 256 seconds) 2015-06-16T19:52:10Z ndrei joined #lisp 2015-06-16T19:52:53Z innertracks joined #lisp 2015-06-16T19:54:40Z myztic joined #lisp 2015-06-16T19:56:41Z wolf_mozart quit (Changing host) 2015-06-16T19:56:41Z wolf_mozart joined #lisp 2015-06-16T19:56:41Z wolf_mozart quit (Changing host) 2015-06-16T19:56:41Z wolf_mozart joined #lisp 2015-06-16T19:58:53Z Longlius quit (Remote host closed the connection) 2015-06-16T19:58:58Z shka quit (Quit: Konversation terminated!) 2015-06-16T19:59:25Z Prawnzy joined #lisp 2015-06-16T19:59:35Z Prawnzy quit (Client Quit) 2015-06-16T20:00:35Z Prawnzy joined #lisp 2015-06-16T20:03:44Z prxq joined #lisp 2015-06-16T20:08:19Z Patzy quit (Ping timeout: 250 seconds) 2015-06-16T20:08:45Z scymtym quit (Ping timeout: 250 seconds) 2015-06-16T20:09:15Z Patzy joined #lisp 2015-06-16T20:12:07Z askatasuna quit (Quit: WeeChat 1.2) 2015-06-16T20:14:29Z askatasuna joined #lisp 2015-06-16T20:15:51Z Petit_Dejeuner joined #lisp 2015-06-16T20:20:13Z innertracks quit (Quit: innertracks) 2015-06-16T20:25:26Z ehu1 quit (Quit: Leaving.) 2015-06-16T20:29:01Z attila_lendvai quit (Quit: Leaving.) 2015-06-16T20:29:41Z emaczen: In one use-case of my function I want to use a &rest argument and in the other, I do not want to use a rest argument. Is there a common solution to this problem? 2015-06-16T20:29:51Z Bike: apply 2015-06-16T20:30:16Z emaczen: Bike: I'll try that again.. 2015-06-16T20:31:57Z attila_lendvai joined #lisp 2015-06-16T20:31:57Z attila_lendvai quit (Changing host) 2015-06-16T20:31:57Z attila_lendvai joined #lisp 2015-06-16T20:32:24Z malbertife quit (Ping timeout: 272 seconds) 2015-06-16T20:33:18Z attila_lendvai quit (Client Quit) 2015-06-16T20:35:19Z myztic quit (Ping timeout: 264 seconds) 2015-06-16T20:35:23Z kushal quit (Quit: Leaving) 2015-06-16T20:38:02Z brpocock joined #lisp 2015-06-16T20:38:40Z emaczen: Bike: I can't seem to get it to work... 2015-06-16T20:39:04Z emaczen: If my function expects a list, can't I do (apply #'my-function element1 element2 ... ) 2015-06-16T20:39:05Z beach quit (Ping timeout: 246 seconds) 2015-06-16T20:39:27Z dwrngr: you'll just have to quote list the elements, apply passes them one by one 2015-06-16T20:39:48Z dwrngr: (my-function element1 element2) when you really want (my-function '(element1 element2)) ? 2015-06-16T20:39:57Z oleo_ joined #lisp 2015-06-16T20:40:17Z Bike: emaczen: (defun foo (&rest list) do-stuff-with-list). then (foo 4 5 6) works, as does (apply #'foo '(4 5 6)) 2015-06-16T20:41:03Z brpocock: or (apply #'my-function (apply #'list element1 element2)) ; if you're in a particularly weird corner? 2015-06-16T20:41:24Z emaczen: Ok, let me try again 2015-06-16T20:41:25Z Karl_Dscc quit (Remote host closed the connection) 2015-06-16T20:41:29Z brpocock feels foolish even to type this though? 2015-06-16T20:42:03Z oleo quit (Ping timeout: 265 seconds) 2015-06-16T20:42:04Z dwrngr: i regret having typed anything without paying attention first, disregard my comments if they dont work haha 2015-06-16T20:42:20Z dwrngr quit (Remote host closed the connection) 2015-06-16T20:42:34Z Karl_Dscc joined #lisp 2015-06-16T20:42:54Z emaczen: Bike: (foo e1 e2 e3 ...) works, but (apply #'foo (mapcar ....)) does not. 2015-06-16T20:43:15Z Bike: Can you paste something and or be more descriptive about the nature of the not working? 2015-06-16T20:44:07Z manuel__ joined #lisp 2015-06-16T20:44:19Z emaczen: Lisp is tellling me that it requires more than one argument for my (apply #'foo (mapcar ...)) 2015-06-16T20:44:41Z Bike: i think i need to see the definitions. 2015-06-16T20:45:05Z emaczen: Sure, I'll make a paste in a second. I'm going to try to rule a few more things out that I just thought of. 2015-06-16T20:45:37Z manuel_ quit (Ping timeout: 240 seconds) 2015-06-16T20:45:37Z manuel__ is now known as manuel_ 2015-06-16T20:46:07Z oleo_: try (list (mapcar..... 2015-06-16T20:46:10Z brpocock: (trace apply) in a pinch, perhaps; are you certain (mapcar …) ¬⇒ nil ? 2015-06-16T20:46:45Z brpocock: (let ((blah (mapcar …))) (when blah (apply #'foo blah))) ; ? 2015-06-16T20:47:48Z Bike: tracing standard functions isn't defined, and (apply #'some-constant ...) is probably not going to involve a call to apply anyway 2015-06-16T20:48:19Z myztic joined #lisp 2015-06-16T20:55:00Z emaczen: I think the issue is that if the mapcar evaluates to nil, lisp does not like (apply #'foo nil) 2015-06-16T20:55:21Z emaczen: If I just add (apply #'foo nil (mapcar ...)) everything seems to be alright. 2015-06-16T20:55:42Z emaczen: I think Lisp sees (apply #'foo nil) as (apply #'foo) ? 2015-06-16T20:55:47Z brpocock: +1 Bike, but does work SBCL REPL usually. (perhaps not always) 2015-06-16T20:56:35Z Bike: emaczen: no, those are different. how is foo defined? 2015-06-16T20:56:55Z emaczen: Bike: I'll give up and make a paste now... 2015-06-16T20:58:02Z Bike: (apply #'print nil) => error: not enough arguments to PRINT, but (apply #'print) => error: not enough arguments to APPLY 2015-06-16T21:02:21Z emaczen: http://paste.lisp.org/display/149935 2015-06-16T21:02:30Z tmtwd quit (Ping timeout: 252 seconds) 2015-06-16T21:04:02Z Bike: (merge-plists '(:a 4) '(:b 5)) => works, (apply #'merge-plists '((:a 4) (:b 5))) => works 2015-06-16T21:05:16Z Bike: (merge-plists) won't work, though, and so neither will (apply #'merge-plists nil) 2015-06-16T21:05:20Z rvchangue_ quit (Ping timeout: 272 seconds) 2015-06-16T21:05:43Z jaykru joined #lisp 2015-06-16T21:05:51Z Bike: if you add an :initial-value to the reduce it'll work with no arguments. 2015-06-16T21:05:51Z emaczen: Bike: I see now 2015-06-16T21:06:08Z Bike: also, the entire function isn't needed because plist semantics already include what to do if there's multiples of the same key. 2015-06-16T21:06:23Z askatasuna quit (Ping timeout: 246 seconds) 2015-06-16T21:07:19Z emaczen: Bike: I was having trouble building plists from other plists... 2015-06-16T21:07:22Z Joreji joined #lisp 2015-06-16T21:07:27Z Bike: just append em together 2015-06-16T21:07:54Z rvchangue_ joined #lisp 2015-06-16T21:08:10Z radioninja joined #lisp 2015-06-16T21:09:15Z emaczen: (append '(:a 1) '(:a 3)) 2015-06-16T21:09:24Z emaczen: Gives me '(:a 1 :a 3)) 2015-06-16T21:09:39Z Bike: Yes. that's a fine plist. 2015-06-16T21:09:48Z Bike: (getf '(:a 1 :a 3) :a) => 1 2015-06-16T21:09:56Z emaczen: I want unique keys 2015-06-16T21:10:02Z Bike: Why? 2015-06-16T21:10:14Z Bike: most of the advantage of plists is that you can just throw em together like that. 2015-06-16T21:10:57Z gravicappa quit (Remote host closed the connection) 2015-06-16T21:10:59Z myztic quit (Ping timeout: 265 seconds) 2015-06-16T21:11:12Z emaczen: I did have something like that earlier, but I am saving the plists and it looked to be a potential bug in the future 2015-06-16T21:11:18Z Petit_Dejeuner quit (Ping timeout: 252 seconds) 2015-06-16T21:11:49Z Bike: plists are defined to work like that. you just make sure the key that's actually effective is on the left. 2015-06-16T21:11:58Z Bike: you have to make a decision like that with your merge function anyway. 2015-06-16T21:12:57Z emaczen: Yes, but my function trims them down before saving the list, and you can add to it later as well. 2015-06-16T21:13:26Z emaczen: I could see myself changing the order -- it could just be really messy 2015-06-16T21:13:59Z Bike: "trims them down" how, though? you still have to remember which one (merge-plists '(:a 1) '(:a 3)) gives you. 2015-06-16T21:16:31Z emaczen: After I call merge-plists, I save the resulting plist to a variable. What if I didn't merge them with my function and then later I reversed the list and then (when I do (getf plist :a) I would get 3 instead of 1. 2015-06-16T21:16:39Z alexshendi quit (Quit: Leaving) 2015-06-16T21:16:46Z Bike: if you reversed the list it wouldn't be a plist... 2015-06-16T21:17:01Z Bike: and why would you reverse a plist anyway? 2015-06-16T21:17:38Z emaczen: You could reverse them with respect to elements being key-value pairs 2015-06-16T21:17:58Z Bike: Why would you? 2015-06-16T21:17:59Z oGMo: i think the "why" question still remains :P 2015-06-16T21:18:32Z Denommus` joined #lisp 2015-06-16T21:18:44Z jaykru quit (Quit: yawn) 2015-06-16T21:18:48Z oGMo: similarly to alists i'm sure even if you did it "correctly" it'd be actively the wrong thing 2015-06-16T21:19:49Z Davidbrcz quit (Ping timeout: 245 seconds) 2015-06-16T21:19:50Z emaczen: A end up using reverse a fair bit when I build lists. 2015-06-16T21:20:02Z Denommus quit (Ping timeout: 246 seconds) 2015-06-16T21:20:09Z Bike: Plists? 2015-06-16T21:20:10Z emaczen: A few of the lists in this program are being reversed, it just seems plausible to avoid a bug 2015-06-16T21:20:34Z emaczen: Yes, but maybe some perspective here, is that I learned about plists last night... 2015-06-16T21:20:46Z ebrasca quit (Remote host closed the connection) 2015-06-16T21:20:48Z Oladon: Maybe plists aren't actually what you want for this task? 2015-06-16T21:20:49Z Bike: I mean plists are super old. Like, 1970s, probably. They're baked into the language definition, in keyword arguments. 2015-06-16T21:21:31Z nikki93 joined #lisp 2015-06-16T21:21:35Z White_Flame: and if it hasn't been mentioned yet, their semantics mean you can share the tail-end of a list with a prior context 2015-06-16T21:21:50Z emaczen: I was using alists before and I like the plist representation better. This is all part of a message passing object system macro -- it's good to keep macros as lists right? 2015-06-16T21:21:57Z ndrei quit (Ping timeout: 252 seconds) 2015-06-16T21:21:58Z White_Flame: shove overrides up front, and the older values still exist when the prior head is used, or you pop off newer entries 2015-06-16T21:23:59Z myztic joined #lisp 2015-06-16T21:30:36Z klltkr joined #lisp 2015-06-16T21:31:47Z ehu joined #lisp 2015-06-16T21:33:41Z `dwr quit (Ping timeout: 250 seconds) 2015-06-16T21:34:32Z novemberist joined #lisp 2015-06-16T21:35:48Z selat quit (Quit: Lost terminal) 2015-06-16T21:35:51Z jaykru joined #lisp 2015-06-16T21:39:25Z Denommus` is now known as Denommus 2015-06-16T21:42:59Z Davidbrcz joined #lisp 2015-06-16T21:43:07Z futpib quit (Ping timeout: 264 seconds) 2015-06-16T21:45:44Z phadthai_ joined #lisp 2015-06-16T21:45:47Z phadthai quit (Read error: Connection reset by peer) 2015-06-16T21:50:22Z innertracks joined #lisp 2015-06-16T21:50:33Z innertracks quit (Client Quit) 2015-06-16T21:50:47Z cpc26 joined #lisp 2015-06-16T21:51:11Z sheilong quit (Quit: WeeChat 1.1.1) 2015-06-16T21:51:14Z cpc26 quit (Remote host closed the connection) 2015-06-16T21:54:14Z loke_ joined #lisp 2015-06-16T21:54:22Z Joreji quit (Read error: Connection reset by peer) 2015-06-16T21:55:43Z mrSpec quit (Remote host closed the connection) 2015-06-16T21:59:44Z OrangeShark joined #lisp 2015-06-16T21:59:50Z Joreji joined #lisp 2015-06-16T22:02:13Z EvW quit (Ping timeout: 265 seconds) 2015-06-16T22:03:23Z Joreji quit (Read error: Connection reset by peer) 2015-06-16T22:04:27Z developernotes quit (Quit: Textual IRC Client: www.textualapp.com) 2015-06-16T22:05:23Z novemberist quit (Remote host closed the connection) 2015-06-16T22:07:09Z pjb: emaczen: (defun f (&rest args) (if (and (= 1 (length args)) (listp (first args))) (do-something (first args)) (f args))) 2015-06-16T22:07:32Z pjb: so you may call it as (f 1 2 3 4) or (f '(1 2 3 4)) 2015-06-16T22:07:46Z pjb: Only works if the first argument cannot be a list and alone. 2015-06-16T22:09:15Z munksgaard quit (Ping timeout: 252 seconds) 2015-06-16T22:10:22Z jaykru quit (Quit: yawn) 2015-06-16T22:11:47Z pjb: Bike: plists are as old as lisp, present in LISP 1.5 in 1962, and probably from the first day, since the symbol name and the symbol value were stored on the plist! 2015-06-16T22:12:37Z EvW joined #lisp 2015-06-16T22:14:16Z moei joined #lisp 2015-06-16T22:16:37Z gingerale quit (Ping timeout: 264 seconds) 2015-06-16T22:16:43Z cluck: drmeister: ooc, have you tried something like minikanren? from your talk i was left with the impression some logic programming might help reduce the search space 2015-06-16T22:17:13Z cluck: (as in tried with clasp) 2015-06-16T22:18:06Z pjb: drmeister: I wonder if your discussion with the fgpa guy let you think that it could be a good way to optimize the speed of your application, and if you envisage to do that eventually? 2015-06-16T22:18:44Z pjb: drmeister: Was it Marc Battyani? 2015-06-16T22:19:49Z pjb: drmeister: he's behind http://www.novasparks.com/ 2015-06-16T22:21:23Z phadthai_ is now known as phadthai 2015-06-16T22:22:07Z angavrilov quit (Remote host closed the connection) 2015-06-16T22:23:23Z ehu quit (Ping timeout: 246 seconds) 2015-06-16T22:24:37Z nikki93 quit (Remote host closed the connection) 2015-06-16T22:25:12Z nikki93 joined #lisp 2015-06-16T22:28:54Z emaczen: After I (require :cocoa) my slime repl is "paused" and the CCL listener starts. How do I keep the slime repl from being "paused"? 2015-06-16T22:29:36Z nikki93 quit (Ping timeout: 252 seconds) 2015-06-16T22:32:50Z prxq quit (Remote host closed the connection) 2015-06-16T22:34:26Z drmeister: pjb: it might but I think we are going to be working with regular CPUs for a while. I don't think even the protein folding folks are working with fpgas. 2015-06-16T22:34:43Z innertracks joined #lisp 2015-06-16T22:34:51Z lispyone quit (Remote host closed the connection) 2015-06-16T22:38:17Z jaykru joined #lisp 2015-06-16T22:38:55Z k-stz quit (Remote host closed the connection) 2015-06-16T22:42:52Z grees quit (Remote host closed the connection) 2015-06-16T22:43:46Z tankrim joined #lisp 2015-06-16T22:44:03Z theverbg joined #lisp 2015-06-16T22:46:51Z pjb: emaczen: I don't observe that, here it opens the Cocoa windows, and the slime repl is still active. 2015-06-16T22:47:41Z pjb: drmeister: and I assume you have access to massively parallel super computers, so you could fork alternatives on a lot of CPU. 2015-06-16T22:50:56Z jtza8 joined #lisp 2015-06-16T22:51:11Z drmeister: I have had access in the past and hope to have access in the future. 2015-06-16T22:51:52Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-06-16T22:51:52Z drmeister: 2015-06-16T22:55:41Z innertracks quit (Quit: innertracks) 2015-06-16T22:56:43Z emaczen quit (Remote host closed the connection) 2015-06-16T23:03:42Z loke_ quit (Ping timeout: 276 seconds) 2015-06-16T23:06:27Z akersof joined #lisp 2015-06-16T23:15:53Z jtza8 quit (Remote host closed the connection) 2015-06-16T23:20:35Z jtz quit (Quit: WeeChat 1.0.1) 2015-06-16T23:20:49Z jtz joined #lisp 2015-06-16T23:23:22Z drmeister: Hmm, I think I need to rearrange my definition of DEFUN 2015-06-16T23:23:37Z mishoo quit (Ping timeout: 240 seconds) 2015-06-16T23:24:40Z drmeister: This is my current definition (please excuse the non defmacro syntax) 2015-06-16T23:24:43Z drmeister: https://www.irccloud.com/pastebin/71wkpoOZ/ 2015-06-16T23:25:56Z drmeister: When I macroexpand a DEFUN I get this: 2015-06-16T23:26:10Z drmeister: https://www.irccloud.com/pastebin/7tG4VRpN/ 2015-06-16T23:26:34Z drmeister: I'm expanding: (macroexpand '(defun foo (x y) (+ x y))) 2015-06-16T23:27:05Z drmeister: The problem is that EVERY function that I defun will have it's entire source code built into the FASL file! Oh... my... glob! 2015-06-16T23:27:16Z drmeister: Not good. 2015-06-16T23:27:25Z Mon_Ouie quit (Ping timeout: 264 seconds) 2015-06-16T23:27:53Z drmeister: I only want this to happen if the function is actually going to be inlined. 2015-06-16T23:28:03Z dmiles_afk quit (Read error: Connection reset by peer) 2015-06-16T23:28:14Z dmiles_afk joined #lisp 2015-06-16T23:30:25Z drmeister: I think I want *defun-inline-hook* to return code that reads like (eval-when (:compile-toplevel ...) (setup-inlining-for name function)) 2015-06-16T23:30:40Z drmeister: And that would be , injected into the code generated by DEFUN 2015-06-16T23:30:47Z drmeister: Otherwise it's NIL 2015-06-16T23:35:21Z emaczen joined #lisp 2015-06-16T23:35:51Z emaczen: pjb: I have no idea why, but the CCL repl is pausing when I ever I delete some code... 2015-06-16T23:36:03Z emaczen: If I don't delete that code, it works fine just like it used to... 2015-06-16T23:36:15Z emaczen: I'm more worried about plists vs alists though. 2015-06-16T23:36:40Z innertracks joined #lisp 2015-06-16T23:37:15Z A205B064 joined #lisp 2015-06-16T23:40:50Z jleija joined #lisp 2015-06-16T23:41:13Z prphp quit (Ping timeout: 255 seconds) 2015-06-16T23:42:34Z innertracks quit (Quit: innertracks) 2015-06-16T23:48:04Z Prawnzy quit (Quit: Leaving...) 2015-06-16T23:52:27Z myztic quit (Ping timeout: 276 seconds) 2015-06-16T23:53:53Z Longlius joined #lisp 2015-06-16T23:54:15Z k-dawg joined #lisp 2015-06-16T23:54:20Z ndrei joined #lisp 2015-06-16T23:59:08Z clop2 joined #lisp 2015-06-16T23:59:44Z ndrei quit (Ping timeout: 256 seconds) 2015-06-16T23:59:44Z trebor_home quit (Ping timeout: 256 seconds)