2015-01-03T00:01:02Z isoraqathedh quit (Ping timeout: 244 seconds) 2015-01-03T00:04:15Z k-stz joined #lisp 2015-01-03T00:07:56Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-01-03T00:10:23Z Quadrescence joined #lisp 2015-01-03T00:10:30Z Quadrescence quit (Client Quit) 2015-01-03T00:13:57Z joswig quit (Quit: joswig) 2015-01-03T00:15:34Z manuel__ joined #lisp 2015-01-03T00:15:49Z yrdz quit (Ping timeout: 244 seconds) 2015-01-03T00:16:50Z hrs joined #lisp 2015-01-03T00:16:58Z xrash quit (Remote host closed the connection) 2015-01-03T00:17:44Z Puffin is now known as BitPuffin 2015-01-03T00:20:12Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-01-03T00:20:50Z rpg quit (Quit: rpg) 2015-01-03T00:23:09Z manuel__ quit (Quit: manuel__) 2015-01-03T00:23:57Z akkad: is there a way in a dolist to print lines without the double \n\n between each? 2015-01-03T00:24:21Z Bicyclidine: yes. that has nothing to do with dolist. could you paste your code? 2015-01-03T00:24:39Z hiroakip joined #lisp 2015-01-03T00:24:41Z Ethan- joined #lisp 2015-01-03T00:25:10Z manuel__ joined #lisp 2015-01-03T00:25:10Z manuel__ quit (Client Quit) 2015-01-03T00:25:32Z akkad: http://paste.lisp.org/display/145056 2015-01-03T00:25:52Z akkad: sorry, it has a captha, and is a mousey page. vs emacs yagist 2015-01-03T00:27:00Z p_l: hmm... what would you guys recommend for a parser library in CL? 2015-01-03T00:27:06Z stepnem joined #lisp 2015-01-03T00:27:13Z p_l: (trying to parse Cisco IOS configs) 2015-01-03T00:27:13Z Bicyclidine: how come you push to (car *report*) but then iterate through *report* 2015-01-03T00:27:17Z mdev joined #lisp 2015-01-03T00:27:33Z mdev: if lisp were so great why does barely anyone use it, modern day? 2015-01-03T00:27:52Z Bicyclidine: to get to the other side 2015-01-03T00:27:54Z mdev: and no i'm not a *troll or any other unoriginal insult, it's a very valid question 2015-01-03T00:27:59Z p_l: mdev: bad PR 2015-01-03T00:28:00Z akkad: Bicyclidine: changed how it worked previously and don't know how to articulate I've no clue what I'm doing? 2015-01-03T00:28:01Z edgar-rft joined #lisp 2015-01-03T00:28:17Z mishoo quit (Ping timeout: 265 seconds) 2015-01-03T00:28:23Z akkad: mdev: lisp is a state of mind that everyone has. 2015-01-03T00:28:24Z mdev: p_l why does a language need PR? if it's awesome wouldn't it grow from there? 2015-01-03T00:28:36Z mdev: LISP been known for years anyway, longer than many languages 2015-01-03T00:28:58Z akkad: seen clojure/ruby/Elixir? 2015-01-03T00:29:04Z Bicyclidine: akkad: ok, well, anyway, the point is dolist doesn't insert newlines, your printing does. try (dolist (x '(1 2 3 4)) (print x)), it should print 1 \ 2 \ 3 \ 4, where \s are newlines; that's because print puts a newline every time. 2015-01-03T00:29:16Z Bicyclidine: akkad: but if you use, say, princ, no newlines inbetween. 2015-01-03T00:29:23Z p_l: mdev: and often I heard people stating things that were untrue with lisp implementations in 1970s 2015-01-03T00:29:27Z akkad: Bicyclidine: thanks 2015-01-03T00:29:40Z Bicyclidine: akkad: format t doesn't insert newlines, so if they're appearing that's in the text you're printing. 2015-01-03T00:29:45Z p_l: mdev: a friend had been to *recent* university lecture that probably didn't change material since early 1980s 2015-01-03T00:29:56Z akkad: Bicyclidine: originally this did not use *report* and I printed from every thread, but that leads to bleadthrough 2015-01-03T00:30:36Z nyef: p_l: My "go-to" solution for parsing is pretty much always a hand-coded recursive-descent parser. Or regexps. One or the other, they're usually pretty easy to throw together, and fairly easy to understand. 2015-01-03T00:30:53Z p_l: mdev: reality is that a lot of funding goes into things that appear in in-flight magazines in business class in arlines. Seriously 2015-01-03T00:30:58Z pi- quit 2015-01-03T00:31:13Z p_l mumbles something about client's CTO who buys everything shown on billboards along 101 2015-01-03T00:31:34Z antoszka: p_l: how about esrap you suggested to me some time ago? 2015-01-03T00:31:41Z nyef: mdev: Language adoption is a social problem, not a technical problem. As such, social techniques such as marketing apply. 2015-01-03T00:31:50Z p_l: antoszka: ahhh, that was the name 2015-01-03T00:31:50Z akkad: Bicyclidine: princ does the right thing. thanks 2015-01-03T00:31:55Z p_l: just found it on google 2015-01-03T00:31:57Z cpc26__ quit (Read error: Connection reset by peer) 2015-01-03T00:31:59Z antoszka: p_l: there you go :) 2015-01-03T00:32:24Z antoszka: p_l: when i forget the name i google "common lisp packrat" and it's the first hit 2015-01-03T00:32:36Z cpc26 joined #lisp 2015-01-03T00:32:42Z nyef: ("Society treats technical fixes to social problems as damage, and routes around them.") 2015-01-03T00:32:44Z Bicyclidine: akkad: np 2015-01-03T00:33:15Z antoszka: p_l: curious to see your esrap code if you'll be able to share/show any 2015-01-03T00:33:45Z p_l: I don't think parser would be anything NDA-able 2015-01-03T00:33:58Z p_l: especially since I'm looking for now, not doing it on payroll 2015-01-03T00:33:58Z Bicyclidine: akkad: also, you should probably not have defvar in a function like that. can you not just use let? 2015-01-03T00:34:09Z akkad: yeah good point. 2015-01-03T00:34:42Z akkad: https://gist.github.com/def936bf6ea1c3ae22e8 never seen sbcl do that 2015-01-03T00:35:10Z akkad: dropped to ldb 2015-01-03T00:36:31Z nyef: akkad: Okay, that's neat. That's not even a familiar error message to me. 2015-01-03T00:37:16Z nyef: akkad: (lisp-implementation-version)? 2015-01-03T00:37:36Z Quadrescence joined #lisp 2015-01-03T00:37:58Z nyef: akkad: And how'd you trigger it? 2015-01-03T00:38:14Z akkad: parsing gzipped json 2015-01-03T00:41:12Z nyef: Hrm. "So, a sheet is put onto a particular screen by making it a child of an appropriate graft and enabling it." It seems that there's an order to these operations. 2015-01-03T00:41:51Z mdev: do you guys really LISP 2015-01-03T00:41:57Z mdev: for anything real? web or anything? 2015-01-03T00:42:02Z akkad: real? 2015-01-03T00:42:10Z Vutral quit (Ping timeout: 244 seconds) 2015-01-03T00:42:26Z nyef: ... Is this the point where we're supposed to invoke the "Kantian Metaphysics"? 2015-01-03T00:42:27Z akkad: mdev you're not? 2015-01-03T00:42:39Z mdev: negative 2015-01-03T00:42:46Z mdev: I don't know LISP :) 2015-01-03T00:42:49Z akkad is afraid that lisp is outside mdev's noumena 2015-01-03T00:42:57Z antoszka: It's Lisp, not LISP, BTW. 2015-01-03T00:43:35Z antoszka: :) 2015-01-03T00:43:38Z akkad: depending if you're in Zmacs or not 2015-01-03T00:43:55Z Bicyclidine: is kantian metaphysics just talking about euclidean geometry a lot 2015-01-03T00:45:10Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-01-03T00:45:51Z nyef: Hrm. CLIM II 9.3 says "To display a sheet on a display, it must have a graft for an ancestor". It then requires that the sheet and all of its ancestors must be enabled. 2015-01-03T00:46:09Z p_l: mdev: with antoszka we nearly ended up doing few commercial projects in lisp ;) 2015-01-03T00:46:20Z antoszka: *nearly*... 2015-01-03T00:46:26Z p_l: I had a bit of stuff in the past that is now gone with the wind for non-technical reasons 2015-01-03T00:46:39Z antoszka: but yeah, hopefully we can manage some in the future 2015-01-03T00:47:07Z p_l: now looking at either SBCL or Go for (re-)implementing a tool we have at work that is currently written in Python, but is honestly useless at the time 2015-01-03T00:48:51Z p_l: and I really, really would like the functionality working, like yesterday 2015-01-03T00:48:59Z antoszka: Don't go Go. 2015-01-03T00:49:54Z none joined #lisp 2015-01-03T00:50:08Z none is now known as Guest20792 2015-01-03T00:50:12Z nyef: I'm not about to mess with Go without at least a three-stone handicap at this point. 2015-01-03T00:50:57Z gabriel_laddel quit (Read error: Connection reset by peer) 2015-01-03T00:50:59Z p_l: I find go to be a pretty good alternative to Python, sometimes... 2015-01-03T00:51:57Z innertracks joined #lisp 2015-01-03T00:53:30Z wwj joined #lisp 2015-01-03T00:54:45Z pillton: Is a lambda list of the form (&optional a b &key c) considered bad practice? 2015-01-03T00:54:52Z pillton: SBCL signals a style warning. 2015-01-03T00:55:07Z mdev: I know LISP support as far as libraries is pretty bad 2015-01-03T00:55:21Z mdev: and what is a language without a solid framework/libraries :| 2015-01-03T00:56:04Z wwj left #lisp 2015-01-03T00:56:37Z pillton: mdev: I lisp for real. 2015-01-03T00:56:46Z Guest20792: mdev: that excludes almost all languages 2015-01-03T00:56:57Z p_l: mdev: Common Lisp makes it easy to just write the stuff you need, plus we got a smaller community for various reasons 2015-01-03T00:57:02Z akkad: would not expect ( and ) to be iterated in a dolist 2015-01-03T00:57:31Z nyef: pillton: Combining &optional and &key leads to accidentally forgetting the optionals and going straight to the keywords, which leads to hard-to-diagnose and otherwise-weird errors. 2015-01-03T00:58:22Z Vutral joined #lisp 2015-01-03T00:58:43Z mdev: you all would LOVE a massive builtin library for LISP 2015-01-03T00:58:50Z mdev: with tons of functionality, similar to PHP 2015-01-03T00:58:59Z mdev: why reinvent the wheel for everything if not needed? 2015-01-03T00:59:02Z mdev: you know i'm right! 2015-01-03T00:59:05Z nyef: ... No, no we wouldn't. 2015-01-03T00:59:09Z Bicyclidine: i've seen php's library, i don't want it 2015-01-03T00:59:19Z p_l: Bicyclidine: that's not a high bar ;D 2015-01-03T00:59:31Z Bicyclidine: common lisp's library is huge already, it's hundreds of functions 2015-01-03T00:59:35Z nyef: Why reinvent the wheel? Because it's supposed to have more SIDES than that! 2015-01-03T00:59:36Z Guest20792: at least you reinvent the wheel once in common lisp, not for every library, every module 2015-01-03T01:00:30Z pillton: nyef: Ta. Weird. 2015-01-03T01:01:01Z innertracks quit (Quit: innertracks) 2015-01-03T01:01:57Z phadthai: mdev: http://cliki.net/ :) 2015-01-03T01:03:14Z antoszka: mdev: http://www.quicklisp.org/beta/releases.html <- libraries available through the quicklisp library manager only 2015-01-03T01:03:28Z tadni joined #lisp 2015-01-03T01:03:43Z DrCode quit (Ping timeout: 250 seconds) 2015-01-03T01:03:54Z mdev: cool thanks 2015-01-03T01:05:14Z Guest20792: also it is not the lack of libraries, just there are not too many edi-w around :) 2015-01-03T01:05:29Z mdev: not sure what that is 2015-01-03T01:05:38Z mdev: what do you use LISP for anyway, doubtful with web? 2015-01-03T01:06:01Z Bicyclidine: as previously mentioned, we don't write it in allcaps or use it as an acronym these days 2015-01-03T01:06:20Z Bicyclidine: "LISt Processing" 2015-01-03T01:06:21Z Guest20792: mdev: edi weitz 2015-01-03T01:06:22Z p_l: edi-w = Edi Weitz, author of most-currently-used Common Lisp HTTP server, *the* regex library, and bunch of other things 2015-01-03T01:07:00Z mdev: why not just use apache or nginx like all other languages with LISP? 2015-01-03T01:07:03Z mdev: err Lisp 2015-01-03T01:07:33Z nyef: ... I use nginx and pound in front of hunchentoot, myself. 2015-01-03T01:07:44Z p_l: mdev: actually, only PHP these days tends towards that kind of deployment 2015-01-03T01:07:45Z DrCode joined #lisp 2015-01-03T01:08:05Z p_l: everyone else uses a HTTP server with a high-performance proxy in front 2015-01-03T01:08:23Z nyef: Said high-performance proxy is, not uncommonly, nginx. 2015-01-03T01:08:45Z towodo joined #lisp 2015-01-03T01:09:00Z mdev: nginx is an awesome stand alone HTTP server too though, best out there IMHO 2015-01-03T01:09:04Z p_l: sometimes it's haproxy+nginx, with nginx serving static stuff and haproxy taking care of forward load balancer 2015-01-03T01:09:10Z mdev: high scale, good memory managment etc... 2015-01-03T01:09:29Z p_l: mdev: yes, but it doesn't provide a good API to use it directly, other than proxying 2015-01-03T01:09:35Z Ober notes mdev is now trolling #lisp 2015-01-03T01:09:49Z akkad: oh that's the same troll. you're right 2015-01-03T01:11:46Z Ven joined #lisp 2015-01-03T01:12:52Z nitrix joined #lisp 2015-01-03T01:13:10Z pendapi joined #lisp 2015-01-03T01:15:17Z pendapi heard corman is now opensource? 2015-01-03T01:15:25Z antoszka: nope 2015-01-03T01:15:30Z antoszka: got a link handy? 2015-01-03T01:15:50Z nyef: Xach: How's that push to github going, btw? 2015-01-03T01:16:14Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T01:16:17Z pt1 quit (Remote host closed the connection) 2015-01-03T01:16:22Z nikki93 joined #lisp 2015-01-03T01:17:02Z defaultxr joined #lisp 2015-01-03T01:17:05Z p_l: antoszka: Xach mentioned he is going to try pushing it to GitHub, since he got permission 2015-01-03T01:17:21Z p_l: btw, anyone recalls how to tell SBCL's build.sh to pass -fPIC to CC? 2015-01-03T01:18:10Z Ukari joined #lisp 2015-01-03T01:18:54Z nyef: p_l: something to do with CFLAGS, maybe? 2015-01-03T01:19:09Z ovidnis quit (Quit: Lost terminal) 2015-01-03T01:19:31Z nyef: Hrm, no, that gets squashed. 2015-01-03T01:20:31Z nyef: p_l: At a guess, hack Config.-. 2015-01-03T01:20:48Z p_l: nyef: that's what I did right now 2015-01-03T01:20:52Z urandom__ quit (Quit: Konversation terminated!) 2015-01-03T01:21:09Z Guest20792: i am planning to write bindings for stb (sean barret) and full portability (including mobile via ecl-android) is my goal, i need to compile them (C code), do you know of similar projects that i can get some ideas? mobile part easy since you have ndk and such but for other platforms you dont always have a C compiler. thanks 2015-01-03T01:21:38Z towodo quit (Quit: towodo) 2015-01-03T01:22:05Z nyef: ... What platforms don't have a C compiler? 2015-01-03T01:22:30Z akkad: Sybolics VLM 2015-01-03T01:22:39Z nyef: akkad: Zeta-C, surely? 2015-01-03T01:22:43Z Bicyclidine: android? 2015-01-03T01:22:58Z nyef: Bicyclidine: NDK, wasn't it? 2015-01-03T01:23:11Z Guest20792: yeh android part is easy for once 2015-01-03T01:23:52Z inkogneato quit (Quit: inkogneato) 2015-01-03T01:24:00Z nyef: Movitz is an unlikely target, so its lack of a C compiler isn't likely to be at issue... 2015-01-03T01:24:24Z p_l: I wonder if adding -fPIC would break SBCL builds on not-hardened systems……… 2015-01-03T01:25:14Z nyef: p_l: You might want to turn on the whatever-it-was that causes linkage-table to be used for runtime addresses. 2015-01-03T01:25:28Z Guest20792: nyef: there are maybe compilers for every platform but they may or may not be installed, and need different project/makefiles for each of them, if there are existing libraries that solve this portability problem, it would be great help 2015-01-03T01:26:19Z nyef: Guest20792: Good luck? 2015-01-03T01:26:26Z Guest20792: hehee thanks 2015-01-03T01:28:41Z spacebat joined #lisp 2015-01-03T01:28:42Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-01-03T01:28:56Z Quadrescence joined #lisp 2015-01-03T01:29:27Z Quadrescence quit (Client Quit) 2015-01-03T01:30:54Z stardiviner joined #lisp 2015-01-03T01:38:06Z castillo joined #lisp 2015-01-03T01:38:09Z castillo quit (Remote host closed the connection) 2015-01-03T01:39:12Z p_l: nyef: what's most interesting to me is if fixing x86-64 assembly to be PIC would break anything 2015-01-03T01:40:00Z towodo joined #lisp 2015-01-03T01:40:07Z gmcastil joined #lisp 2015-01-03T01:40:27Z zRecursive joined #lisp 2015-01-03T01:41:00Z innertracks joined #lisp 2015-01-03T01:42:17Z ehaliewicz quit (Ping timeout: 240 seconds) 2015-01-03T01:42:26Z Zamenhof joined #lisp 2015-01-03T01:55:55Z zn is now known as jtz 2015-01-03T01:56:40Z chrisb quit (Ping timeout: 255 seconds) 2015-01-03T01:58:43Z enitiz quit (Quit: Leaving) 2015-01-03T01:58:52Z hrs quit (Ping timeout: 240 seconds) 2015-01-03T01:59:35Z klltkr joined #lisp 2015-01-03T02:01:05Z Vaporatorius quit (Remote host closed the connection) 2015-01-03T02:01:38Z nikki93 quit (Remote host closed the connection) 2015-01-03T02:01:42Z p_l: all hail gentoo and it's ease of changing gcc toolchains 2015-01-03T02:01:56Z p_l is finally gearing to upgrade to SBCL 1.2.7 2015-01-03T02:02:14Z nikki93 joined #lisp 2015-01-03T02:02:37Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T02:02:41Z Guest20792: wow.. with vacietis something like this would actually be possible! 2015-01-03T02:03:03Z nikki93 joined #lisp 2015-01-03T02:03:47Z dandersen quit (Read error: Connection reset by peer) 2015-01-03T02:04:09Z dandersen joined #lisp 2015-01-03T02:04:16Z Guest20792: nyef: and Zeta-C 2015-01-03T02:11:16Z enitiz joined #lisp 2015-01-03T02:17:22Z zeitue quit (Ping timeout: 245 seconds) 2015-01-03T02:19:51Z dandersen quit (Changing host) 2015-01-03T02:19:51Z dandersen joined #lisp 2015-01-03T02:20:18Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T02:25:12Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-01-03T02:26:34Z dandersen quit (Ping timeout: 250 seconds) 2015-01-03T02:31:00Z nikki93 joined #lisp 2015-01-03T02:32:13Z Guest20792 quit (Remote host closed the connection) 2015-01-03T02:32:48Z Guest20792 joined #lisp 2015-01-03T02:35:05Z dandersen joined #lisp 2015-01-03T02:36:16Z Guest20792 quit (Remote host closed the connection) 2015-01-03T02:36:29Z Guest20792 joined #lisp 2015-01-03T02:37:10Z kapil__ joined #lisp 2015-01-03T02:40:52Z Joreji joined #lisp 2015-01-03T02:42:27Z Guest20792 quit (Remote host closed the connection) 2015-01-03T02:42:43Z Guest20792 joined #lisp 2015-01-03T02:44:25Z harish quit (Read error: Connection reset by peer) 2015-01-03T02:47:18Z harish joined #lisp 2015-01-03T02:47:34Z zeitue joined #lisp 2015-01-03T02:49:37Z Karl_Dscc quit (Remote host closed the connection) 2015-01-03T02:49:40Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T02:49:57Z nikki93 joined #lisp 2015-01-03T02:51:31Z harish quit (Client Quit) 2015-01-03T02:55:17Z harish joined #lisp 2015-01-03T03:03:24Z gmcastil quit (Ping timeout: 250 seconds) 2015-01-03T03:08:54Z ehaliewicz joined #lisp 2015-01-03T03:09:51Z Guest93068 joined #lisp 2015-01-03T03:09:53Z Guest93068: b 2015-01-03T03:16:00Z khisanth_ joined #lisp 2015-01-03T03:18:07Z Khisanth quit (Ping timeout: 255 seconds) 2015-01-03T03:21:19Z Joreji quit (Ping timeout: 265 seconds) 2015-01-03T03:21:19Z nikki93 quit (Remote host closed the connection) 2015-01-03T03:22:46Z Quadrescence joined #lisp 2015-01-03T03:25:33Z bgs100 joined #lisp 2015-01-03T03:25:38Z nyef: Hrm. Renaming "region-difference" to "region-relative-complement" and reversing the arguments probably falls into the category of "gratuitous incompatibility". 2015-01-03T03:29:39Z manuel__ joined #lisp 2015-01-03T03:30:07Z ehaliewicz quit (Remote host closed the connection) 2015-01-03T03:31:48Z manuel__ quit (Client Quit) 2015-01-03T03:32:31Z SpikeMaster joined #lisp 2015-01-03T03:32:53Z Quadrescence: aren't all complements relative 2015-01-03T03:34:08Z nyef: No, by convention the absolute complement of a region is the relative complement of that region in +everywhere+. 2015-01-03T03:34:19Z Quadrescence: (defun region-complement (region &key (relative-to +everywhere+)) 2015-01-03T03:34:21Z Quadrescence: ;) 2015-01-03T03:41:45Z t4intz joined #lisp 2015-01-03T03:41:54Z gabriel_laddel joined #lisp 2015-01-03T03:42:25Z gabriel_laddel quit (Changing host) 2015-01-03T03:42:25Z gabriel_laddel joined #lisp 2015-01-03T03:42:35Z SpikeMaster left #lisp 2015-01-03T03:43:37Z Ukari quit (Quit: Leaving.) 2015-01-03T03:47:23Z dagnachew quit (Quit: WeeChat 1.0.1) 2015-01-03T03:48:28Z zeitue quit (Ping timeout: 250 seconds) 2015-01-03T03:53:28Z Adlai` is now known as adlai 2015-01-03T03:56:22Z zRecursive left #lisp 2015-01-03T03:58:26Z towodo quit (Quit: towodo) 2015-01-03T03:58:42Z Guest20792 quit (Ping timeout: 244 seconds) 2015-01-03T04:01:55Z zeitue joined #lisp 2015-01-03T04:02:29Z beach joined #lisp 2015-01-03T04:02:37Z beach: Good morning everyone! 2015-01-03T04:02:51Z nyef: Hello beach. 2015-01-03T04:03:23Z beach: nyef: I see you are making steady progress. Very nice! 2015-01-03T04:03:40Z nyef: I don't know about STEADY progress, but progress. 2015-01-03T04:04:01Z beach: I can live with that. :) 2015-01-03T04:04:06Z nyef: I've started accumulating a list of "easy wins" so that I can keep my github streak going. 2015-01-03T04:04:30Z beach: nyef: Oh that is so easy to fake. 2015-01-03T04:04:45Z nyef: I'm sure. 2015-01-03T04:04:58Z beach: When I realized how easy it is to fake, I quit looking. 2015-01-03T04:05:19Z nyef: Let me guess, careful resetting of authorship and commit times in your git commits? 2015-01-03T04:05:29Z beach: Just change the date on your computer, make a commit, change the date back, push. 2015-01-03T04:05:51Z scottj joined #lisp 2015-01-03T04:06:02Z nyef: Yeah, but if I'm using it for myself as a behavioral control then cheating doesn't help. 2015-01-03T04:06:31Z beach: True. But then you can do git log | grep ... | wc -l 2015-01-03T04:06:37Z beach: mdev: This article has the answer to your main question: http://metamodular.com/Essays/wrong.html 2015-01-03T04:06:49Z nyef: Heh. 2015-01-03T04:07:21Z beach: nyef: I am partly joking. I use the GitHub graph as well, for my own evaluation. 2015-01-03T04:07:39Z nyef: Anyway, right now I'm trying to figure out how the region code that I wrote for a previous incarnation of nq-clim works. 2015-01-03T04:08:18Z beach: nyef: Do you write comments in your code? I have started doing that a lot the past decade or so, because I can't remember what I did otherwise. 2015-01-03T04:08:23Z nyef: I'm reasonably convinced that it DOES work for the cases that it handles, but it can't actually perform any operations with a composite region as input. 2015-01-03T04:08:27Z nyef: It varies. 2015-01-03T04:08:47Z nyef: When I'm doing something straight-line, boring, and externally-referenced, then I mostly don't bother. 2015-01-03T04:09:17Z beach: I find that even though the comments take a while to write, I save time a week later when I need to figure out what I did. 2015-01-03T04:09:25Z nyef: When I'm operating at the edge of my abilities (or well beyond my comfort zone) or I'm doing something horrifically clever, then I comment. 2015-01-03T04:09:37Z beach: Yes, I see. 2015-01-03T04:09:41Z nyef: In this case, there are comments. 2015-01-03T04:09:46Z nyef: And test cases. 2015-01-03T04:10:15Z nyef: And I drew out the inputs to the test cases on graph paper so that I could see what the test cases actually DID. 2015-01-03T04:11:33Z zyaku quit (Ping timeout: 256 seconds) 2015-01-03T04:11:45Z beach: Nice! Even better would be to have those drawings online. Not easy, I know. 2015-01-03T04:12:00Z zyaku joined #lisp 2015-01-03T04:12:17Z nyef: Best would be for the test cases to use the same layout used for rendering the drawing as their inputs. 2015-01-03T04:12:36Z Zhivago: Generally I find comments providing the why of things worthwhile. 2015-01-03T04:13:05Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-01-03T04:14:58Z nyef: Yes, the why can be important. Sometimes the what is important as well. As in "what the heck is this doing using symbols from SB-KERNEL?!?" 2015-01-03T04:15:20Z oleo is now known as Guest41466 2015-01-03T04:17:07Z oleo__ joined #lisp 2015-01-03T04:17:15Z k-dawg joined #lisp 2015-01-03T04:17:52Z nyef: "If we get this far, then we need to construct the union of up to three bands (the top and bottom strips, and the middle strip). Fortunately, MAKE-RECTANGLE is defined to return +NOWHERE+ when passed parameters for a rectangle of zero area. This would be a lot easier to understand with a diagram or three." Gee thanks, old-me. 2015-01-03T04:17:56Z gmcastil joined #lisp 2015-01-03T04:18:09Z Guest41466 quit (Ping timeout: 245 seconds) 2015-01-03T04:18:17Z beach: Heh! 2015-01-03T04:18:53Z nyef: I know that it works because I've gone over all of the test cases and I can see that the inputs and expected outputs are correct, and running them says that they all pass. 2015-01-03T04:18:58Z nyef: But... eesh. 2015-01-03T04:19:22Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-01-03T04:19:36Z Quadrescence joined #lisp 2015-01-03T04:20:01Z nyef: And this code still only works if I give it two rectangles, two +nowhere+s, or a rectangle and a +nowhere+ as input. It can return a composite-region but there are no methods defined to accept them. 2015-01-03T04:20:07Z Quadrescence quit (Client Quit) 2015-01-03T04:21:14Z nell quit (Quit: WeeChat 1.1-rc1) 2015-01-03T04:21:33Z nyef: beach: So, backing up a bit, what are your thoughts on sheet-enabled-p for disowned sheets? 2015-01-03T04:21:45Z t4intz quit (Ping timeout: 256 seconds) 2015-01-03T04:22:02Z beach: I would have to read the appropriate section. Hold on... 2015-01-03T04:23:41Z sismondi quit (Quit: sismondi) 2015-01-03T04:24:29Z beach: I would say a disowned sheet automatically becomes disabled. 2015-01-03T04:24:55Z beach: Whether it automatically becomes enabled again when adopted, I guess, is the question. 2015-01-03T04:26:01Z t4intz joined #lisp 2015-01-03T04:26:06Z beach: I guess it depends on what is meant by "is actively participating in the windowing relationship with its parent". 2015-01-03T04:26:42Z nyef: Okay, that's about as far as I got. 2015-01-03T04:27:07Z beach: I think Scott was just trying to find a neutral word for X11 "mapped". 2015-01-03T04:27:45Z nyef: The upshot for me is that when a clx-frame-sheet gets adopted by the graft, it is not enabled. 2015-01-03T04:28:25Z nyef: On the other hand, a mirrored sheet further down the hierarchy can be enabled without being grafted simply because it is adopted by some other sheet. 2015-01-03T04:28:36Z beach: I think it is probably meant to be a flag that can be turned on and off, so that if the flag is on and it is adopted, then it is viewable if the parent is viewable. 2015-01-03T04:29:05Z nyef: Which means that it may well end up thrashing the enabled bit a time or two during the mirror realization process. 2015-01-03T04:29:56Z beach: The way I read it is that the enable flag is orthogonal to anything else. 2015-01-03T04:31:52Z beach: Who removed the ability for specbot to recognize "clim", and why? 2015-01-03T04:32:10Z nyef: The way I read it is that the enable flag can only be true for an adopted sheet. 2015-01-03T04:32:59Z beach: nyef: What I am saying is that the flag is not what is returned by sheet-enabled-p. 2015-01-03T04:33:27Z beach: No wait... 2015-01-03T04:33:34Z k-dawg quit (Quit: This computer has gone to sleep) 2015-01-03T04:34:05Z nyef: As far as I'm concerned, the flag is forced to nil when the sheet is disowned and may not be set true until the sheet is adopted. 2015-01-03T04:34:28Z beach: Yeah, OK. That's certainly one way of interpreting the spec. 2015-01-03T04:34:39Z nyef: And then there's a whole other song-and-dance with mirrored sheets, since (setf sheet-enabled-p) doesn't actually set the flag for them. 2015-01-03T04:35:33Z nyef: Instead, (setf sheet-enabled-p) bounces around a bit and ends up at XMapWindow() or XUnmapWindow(). When the MapNotify event comes in, the event handler sets the flag. 2015-01-03T04:36:58Z beach: Makes sense. 2015-01-03T04:37:15Z stepnem quit (Ping timeout: 244 seconds) 2015-01-03T04:37:17Z nyef: This also applies to regions and transformations. 2015-01-03T04:37:28Z beach: "This"? 2015-01-03T04:38:56Z nyef: The "setting things doesn't actually take immediate effect" thing. 2015-01-03T04:39:42Z nyef: If you set the region or transformation of a mirrored sheet (with setf, no less!), it gets diverted through the host window system and event handling loop. 2015-01-03T04:39:54Z beach: I see. Confusing at first, but it makes sense. 2015-01-03T04:40:03Z nyef: It does, but it's also completely insane. 2015-01-03T04:40:48Z nyef: See the comments by RSL in 7.3, SHEET-REGION. 2015-01-03T04:40:53Z beach: But then, there must be a flag that indicates that someone has done (setf (sheet-enabled-p) t) which is not the value returned by (sheet-enabled-p ...). 2015-01-03T04:41:09Z nyef: Why must there? 2015-01-03T04:41:13Z beach: No? 2015-01-03T04:41:29Z beach: Does it just go to the display server? 2015-01-03T04:41:34Z nyef: Why not? 2015-01-03T04:41:43Z beach: Yeah, OK. 2015-01-03T04:42:00Z nyef: The XMapWindow() request gets fired off, and then CLIM can basically forget about it until the MapNotify comes in. 2015-01-03T04:42:11Z beach: I understand. 2015-01-03T04:43:15Z nyef: At which point the (setf sheet-enabled-p) :around (enabled-p (sheet mirrored-sheet-mixin)) can ask the window server "hey, is this sheet mapped?", and when the server says "yes", it can (call-next-method) instead of calling XLIB:MAP-WINDOW. 2015-01-03T04:43:41Z nyef: ... or there might be such a cache. Very likely for regions, actually, given shaped windows. 2015-01-03T04:46:33Z beach: Why would the primary method of (setf sheet-enabled-p) be called when the display server says it is already mapped? 2015-01-03T04:46:42Z nyef: I... May have found what I need with regards to regions. Dug out my copy of Foley, van Dam, Feiner, Hughes, and section 19.7 is pretty much what I need. 2015-01-03T04:46:49Z nyef: beach: To set the slot-value. 2015-01-03T04:47:22Z beach: Why does there need to be a slot? 2015-01-03T04:47:44Z t4intz quit (Ping timeout: 245 seconds) 2015-01-03T04:47:53Z nyef: Because normal sheets need an enabled-p as well, and there's no unmirrored-sheet-mixin for that. 2015-01-03T04:48:12Z beach: I see. 2015-01-03T04:48:16Z nyef: At which point, let's use it as a cache and save the server round-trip. 2015-01-03T04:50:05Z nyef: Okay, I have two easy wins that I can tackle tomorrow, and a major win that I have good information on. 2015-01-03T04:51:05Z beach: nyef: As I recall, there is no good way of implementing region-intersects-region-p. 2015-01-03T04:51:17Z moei quit (Quit: Leaving...) 2015-01-03T04:51:27Z MutSbeta quit (Quit: Leaving.) 2015-01-03T04:51:41Z nyef: (not (eq +nowhere+ (region-intersection ...))) 2015-01-03T04:52:36Z beach: nyef: But the only way to implement region-intersection is to create an "intersection" object with the two original regions. 2015-01-03T04:53:12Z nyef: Not if you're limiting to compositions of rectilinear regions. 2015-01-03T04:53:22Z beach: Of course. 2015-01-03T04:53:32Z beach: But that is a very severe restriction compared to the spec. 2015-01-03T04:53:42Z nyef: Yes. 2015-01-03T04:53:55Z beach: nyef: Actually gilberth had an idea that might work, but I don't like it much. He suggested representing regions as (say horizontal) strips where the upper and lower edge is a line, and the right and left edges are elliptical arcs. 2015-01-03T04:53:57Z nyef: At the same time, I don't believe that I need more than that to start with. 2015-01-03T04:54:15Z nyef: ... wha? 2015-01-03T04:54:34Z Bicyclidine: suddenly, calculus. 2015-01-03T04:55:24Z beach: The reason I don't like it much is that I am convinced we need regions defined by Bezier splines. 2015-01-03T04:55:34Z nyef 's brain explodes. 2015-01-03T04:55:44Z beach: nyef: Sorry! :( 2015-01-03T04:55:49Z pawanspace joined #lisp 2015-01-03T04:56:15Z nyef: I need regions that are chunks of a raster display device. That's ALL I need at this point. 2015-01-03T04:56:29Z t4intz joined #lisp 2015-01-03T04:56:51Z beach: So you only allow very limited rectilinear transformations, then? 2015-01-03T04:57:04Z beach: Do coordinates have to be integers? 2015-01-03T04:57:09Z nyef: For the moment, yes. 2015-01-03T04:57:33Z nyef: It's simple, and I'm more interested in getting the higher-level application protocols up and running than faffing about with graphics models. 2015-01-03T04:57:46Z beach: Fair enough. 2015-01-03T04:58:16Z Zhivago: Then regions as bitmaps might work. 2015-01-03T04:58:18Z nyef: Once I have input editing, presentations, graph layout, and so on, THEN I might be interested in going back and doing unspeakably clever things with the graphics model. 2015-01-03T04:58:50Z beach: Actually, gilberth's idea might work if "elliptical arcs" are replaced by "Bezier splines". 2015-01-03T04:58:56Z beach contemplates. 2015-01-03T05:01:01Z beach: Hmm. If all regions are defined by a sequence of Bezier splines, is it true that the intersection of two regions can be defined the same way? 2015-01-03T05:01:40Z nyef can't think in splines right now. 2015-01-03T05:01:43Z beach: Perhaps with certain restrictions on "simplicity". 2015-01-03T05:02:05Z beach: nyef: It was more meant as a challenge for Bicyclidine. 2015-01-03T05:02:15Z nyef: Oh, okay. 2015-01-03T05:02:32Z Bicyclidine: i barely know algebraic geometry, unfortunately :p 2015-01-03T05:02:37Z beach: :( 2015-01-03T05:03:06Z nyef: At least I figured out that a mirrored-sheet-mixin has to call realize-mirror from note-sheet-grafted. 2015-01-03T05:03:10Z beach: I THINK that it is possible to compute the intersection of two cubic spline curves, and that's all that is needed. 2015-01-03T05:03:14Z c74d quit (Read error: Connection reset by peer) 2015-01-03T05:03:25Z nyef: ... Oh, hell. Even that might not work. /-: 2015-01-03T05:04:05Z nyef: Wait, yes it will, the permanent medium can't be allocated until the sheet is grafted anyway. 2015-01-03T05:04:27Z nyef: I'm tired enough that my brain is dropping packets. 2015-01-03T05:04:39Z Bicyclidine: the calculus thing was a joke about the method of exhaustion (fertile ground for comedy) 2015-01-03T05:05:38Z Bicyclidine: http://www.sciencedirect.com/science/article/pii/016783968590024X this seems... less than trivial 2015-01-03T05:06:47Z c74d joined #lisp 2015-01-03T05:06:55Z pawanspace: I was reading structure and interpretation https://mitpress.mit.edu/sicp/full-text/sicp/book/node77.html 2015-01-03T05:07:05Z beach: Bicyclidine: Looks doable to me. 2015-01-03T05:07:40Z pawanspace: It has eval method using switch case statement 2015-01-03T05:07:41Z Bicyclidine: i guess in general you'd be computing an algebraic variety, which is, like, doubly exponential, so hopefully i don't know what i'm talking about 2015-01-03T05:07:48Z nyef: Academic paper? Don't union rules require that they at least SEEM nontrivial? 2015-01-03T05:08:05Z pawanspace: And it says " In most Lisp implementations, dispatching on the type of an expression is done in a data-directed style. This allows a user to add new types of expressions that eval can distinguish, without modifying the definition of eval itself. " 2015-01-03T05:08:19Z pawanspace: Can anybody explain how do we achieve this 2015-01-03T05:08:30Z Bicyclidine: Macros is what i would think of. 2015-01-03T05:09:10Z c74d quit (Read error: Connection reset by peer) 2015-01-03T05:10:01Z nyef: pawanspace: Have a list of functions (lambda (form continuation) (when (self-evaluating? form) (continuation form))). Call them in turn with the form and a continuation until one of them calls the continuation. If none of them do, hit the error case. 2015-01-03T05:10:42Z beach: pawanspace: Keep a dictionary that maps symbols (the CAR of the expression) to "eval methods". 2015-01-03T05:11:00Z nyef: Other than that, yeah, I don't think that this covers macros. 2015-01-03T05:11:20Z beach: pawanspace: That's basically what "data driven" or "data directed" means. 2015-01-03T05:11:27Z nyef: There are probably other approaches, but they'd be pretty similar. 2015-01-03T05:13:07Z pawanspace: beach: hmm that makes sense 2015-01-03T05:13:11Z akkad asks if anyone here is doing production on hunchentoot and if so what framework has the most polish 2015-01-03T05:13:56Z nyef: I run some version of hunchentoot in production... but not using any other framework. 2015-01-03T05:13:57Z ahungry: is the call to #'get-universal-time UTC I assume? Or dependent on time zone in any way 2015-01-03T05:14:06Z nyef: clhs get-universal-time 2015-01-03T05:14:06Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_get_un.htm 2015-01-03T05:14:25Z ahungry: I just rewrote all my site (http://ahungry.com) into caveman2 (used to be a mix of php/perl) 2015-01-03T05:14:35Z nyef: I have a vague recollection that TZs are applied when you decode universal times. 2015-01-03T05:14:36Z ahungry: Issues I've run into, both woo and wookie fail, so only hunchentoot works as the server back end 2015-01-03T05:14:53Z ahungry: full up to date arch linux system and quicklisp dists updated 2015-01-03T05:15:32Z nyef: Honestly, depending on what you're doing, you might not need a framework, you might be able to get away with throwing together some request handlers. 2015-01-03T05:15:35Z ahungry: also clack's URI parser (quri) is super easy to crash unfortunately if invalid get/post strings are sent in 2015-01-03T05:15:42Z ahungry: I put in a merge request for a fix 2015-01-03T05:15:57Z c74d joined #lisp 2015-01-03T05:15:59Z ahungry: like, if you hit a caveman2/clack site with http://example.com/?a==b 2015-01-03T05:16:05Z ahungry: you'll lock a thread on hunchentoot 2015-01-03T05:16:12Z ahungry: do it 100 times and it runs outta threads 2015-01-03T05:16:48Z nyef: Nice. Does it also max out the CPU load? 2015-01-03T05:17:20Z ahungry: I didn't notice it, but it bubbles the malformed-uri error up to simple-error, and when not running in emacs but just bare sbcl --eval '...' I can never interact with the error 2015-01-03T05:17:20Z c74d quit (Read error: Connection reset by peer) 2015-01-03T05:17:23Z ahungry: and cancel it out 2015-01-03T05:17:24Z ahungry: so the thread just sits 2015-01-03T05:17:34Z arpunk quit (Disconnected by services) 2015-01-03T05:17:44Z arpunk` joined #lisp 2015-01-03T05:17:54Z nyef: (sb-thread:release-foreground) 2015-01-03T05:19:52Z nyef: I know it's not immediately obvious, but you CAN get to interact with the debugger if it pops up in another thread. 2015-01-03T05:19:54Z innertracks quit (Quit: innertracks) 2015-01-03T05:20:22Z ahungry: I do like the caveman2 framework, all of the code for it seems to be made up of smaller projects of fukamachi's (clack/sxql/quri/datafly) and his code layout is nice, but like i mentioned the other day, a little lacking in comments 2015-01-03T05:20:24Z c74d joined #lisp 2015-01-03T05:20:41Z finnrobi_ quit (Ping timeout: 256 seconds) 2015-01-03T05:20:45Z ahungry: I'm getting better at updating it to fix these issues I run into (I have most his forked on my github with fixes I've run into pending merge requests or already merged) 2015-01-03T05:20:57Z ahungry: oh nice, thanks nyef 2015-01-03T05:21:41Z t4intz quit (Ping timeout: 244 seconds) 2015-01-03T05:22:27Z finnrobi joined #lisp 2015-01-03T05:24:57Z c74d quit (Read error: Connection reset by peer) 2015-01-03T05:25:29Z nyef: I'm sure that the reason it's not more widely known is that so many people use SLIME instead. 2015-01-03T05:25:38Z pawanspace quit (Quit: Colloquy for iPhone - http://colloquy.mobi) 2015-01-03T05:25:41Z akkad: nyef hunchentoot how would you reference the ip of the client? 2015-01-03T05:26:10Z nyef: akkad: It's passed in a header from the proxy server, isn't it? 2015-01-03T05:26:22Z nyef: Or are you not in a production environment? 2015-01-03T05:26:55Z nyef: You might check the documentation. I got what I needed running and then mostly ignore hunchentoot unless it breaks. 2015-01-03T05:27:10Z ahungry: I have apache proxypassing to hunchentoot, but HT gets 127.0.0.1 for each pass through 2015-01-03T05:27:17Z c74d joined #lisp 2015-01-03T05:27:19Z ahungry: may need to be in apache config to tell it to pass along ip 2015-01-03T05:27:45Z nyef: Yeah, but check your request headers, as that's WHERE apache would pass the ip along. 2015-01-03T05:28:14Z ahungry: ah yea I'm just watching the request output caveman2 prints out in the running instance 2015-01-03T05:28:57Z nyef: The 127.0.0.1 is your localhost (obviously), and if you have apache doing your proxying then it's the address that apache is connecting from. 2015-01-03T05:31:20Z echo-area joined #lisp 2015-01-03T05:35:59Z ahungry: yea, at this point it isn't a big deal for the main site, and my games I use IP as something useful on, I just open that port on iptables and have users connect to a different hunchentoot/sbcl instance on a different port 2015-01-03T05:37:45Z ahungry: I know how to configure hunchentoot to log to files - is there a way to redirect all output received by sbcl to a file though? Web logs in real time are good for development, but can't do analytics on those 2015-01-03T05:39:05Z nyef: Everything is done via streams, you can bind whichever streams to file streams, you can use synonym streams as necessary... I'm too tired to figure out what you're trying to do and make specific recommendations. 2015-01-03T05:39:15Z nyef: In fact, I'm just about to crash. 2015-01-03T05:39:59Z ahungry: Oh, and one more - this fails: sbcl --eval '(progn (ql:quickload :com.ahungry) (com.ahungry:start))', with a message that the com.ahungry package doesn't exist (the error occurs before it becomes quick loaded) - how can I get this to work? Just make a loader script that just depends on com.ahungry and does a single call to start? 2015-01-03T05:40:15Z bgs100 quit (Quit: bgs100) 2015-01-03T05:40:38Z ahungry: Ok, I guess I'll have to find out what streams they're using, probably just *standard-output* (maybe) 2015-01-03T05:40:43Z nyef: Pass two --eval arguments? 2015-01-03T05:41:08Z nyef: Or (funcall (intern "START" :com.ahungry)). 2015-01-03T05:41:35Z ahungry: nice, thanks nyef 2015-01-03T05:41:59Z nyef: And I'm out of time until much later this morning. Good luck, and good night. 2015-01-03T05:42:05Z nyef quit (Quit: G'night all) 2015-01-03T05:42:19Z antonv` quit (Ping timeout: 245 seconds) 2015-01-03T05:43:37Z arcwest2 quit (Ping timeout: 240 seconds) 2015-01-03T05:49:56Z enitiz quit (Quit: Leaving) 2015-01-03T05:50:01Z innertracks joined #lisp 2015-01-03T05:50:03Z k-stz quit (Remote host closed the connection) 2015-01-03T05:51:51Z stardiviner quit (Ping timeout: 256 seconds) 2015-01-03T05:55:17Z joneshf-laptop quit (Ping timeout: 245 seconds) 2015-01-03T05:57:06Z joneshf-laptop joined #lisp 2015-01-03T05:58:31Z beach: OK, so the intersection of two Bezier curves can be computed by exploiting the "convex-hull" property, i.e. in order for two curves to intersect, their convex hulls must intersect. 2015-01-03T05:59:08Z beach: There are other methods as well: https://students.cs.byu.edu/~tom/557/text/cic.pdf 2015-01-03T05:59:54Z Bicyclidine: it's always sad seeing papers with all those ?s in 'em 2015-01-03T06:00:03Z beach agrees. 2015-01-03T06:01:29Z PinealGlandOptic quit (Ping timeout: 245 seconds) 2015-01-03T06:01:51Z akkad: nyef yeah behind nginx 2015-01-03T06:05:04Z BlueRavenGT quit (Ping timeout: 255 seconds) 2015-01-03T06:05:36Z beach: So this means that there are practical algorithms that can compute the intersection of any two regions where the boundary is defined by Bezier curves. 2015-01-03T06:06:11Z beach: Which basically amounts to PostScript regions, right? 2015-01-03T06:07:04Z akkad: nyef https://gist.github.com/6c3e3cf458396920053f is what I use in clack 2015-01-03T06:07:50Z juiko joined #lisp 2015-01-03T06:09:55Z crichter joined #lisp 2015-01-03T06:11:06Z oudeis quit (Read error: No route to host) 2015-01-03T06:15:43Z innertracks quit (Quit: innertracks) 2015-01-03T06:17:26Z kushal joined #lisp 2015-01-03T06:24:58Z innertracks joined #lisp 2015-01-03T06:29:03Z gmcastil quit (Ping timeout: 244 seconds) 2015-01-03T06:30:08Z zRecursive joined #lisp 2015-01-03T06:30:50Z oudeis joined #lisp 2015-01-03T06:43:18Z Kabaka quit (Read error: Connection reset by peer) 2015-01-03T06:44:48Z hvxgr quit (Ping timeout: 265 seconds) 2015-01-03T06:45:59Z crichter: So, when I try to evaluate (car '(+ 1 2) 3 4), why does it throw an error instead of returning 7? 2015-01-03T06:46:25Z Bicyclidine: Why would it return seven? 2015-01-03T06:46:38Z Bicyclidine: What do you think car does? 2015-01-03T06:46:49Z tesuji joined #lisp 2015-01-03T06:46:57Z crichter: Returns the first element of a list? 2015-01-03T06:47:04Z Bicyclidine: Oh, you meant to do ((car '(+ 1 2)) 3 4). 2015-01-03T06:47:09Z Bicyclidine: car takes one argument, not three. 2015-01-03T06:47:40Z Bicyclidine: (car '(+ 1 2) 3 4) is a call to "car" with three arguments. You meant to call the result of (car '(+ 1 2)) with two arguments, 3 and 4. 2015-01-03T06:48:03Z Bicyclidine: and since it's lisp you actually would do (funcall (car '(+ 1 2)) 3 4). 2015-01-03T06:48:14Z Bicyclidine: does that make sense? 2015-01-03T06:49:22Z crichter: The boner with the parens, yes, but why do I have to explicitly tell lisp that '+" is a function? Isn't it's place in the list supposed to imply that? 2015-01-03T06:49:59Z Bicyclidine: because lisp is a lisp-2. ((car '(+ 1 2)) 3 4) would work in a scheme. 2015-01-03T06:50:33Z Bicyclidine: in common lisp the heads of forms aren't evaluated like that. 2015-01-03T06:52:59Z crichter: Huh. I've been labouring under a major misapprehension, then. What would the order of evaluation be in lisp for the ill-formed list? Does it think that the "+" returned by car isn't a symbol? 2015-01-03T06:53:30Z clop2 quit (Ping timeout: 250 seconds) 2015-01-03T06:53:34Z Bicyclidine: You mean for the first thing you said? 2015-01-03T06:53:55Z Bicyclidine: Or for the thing that works in scheme but not lisp. 2015-01-03T06:54:03Z crichter: Sorry, yeah, the first thing. 2015-01-03T06:54:10Z beach: crichter: For your original list, three things would be evaluated, '(+ 1 2), 3, and 4. 2015-01-03T06:54:29Z beach: They are all self-evaluating, so they evaluate to themselves. 2015-01-03T06:54:37Z beach: Then CAR is called with those three values. 2015-01-03T06:55:00Z crichter: oops. I meant ((car '(1 2)) 3 4) 2015-01-03T06:55:16Z Bicyclidine: the evaluator would look at the head of the form and throw an error because it's not a valid head. 2015-01-03T06:55:26Z |3b|: CL has special evaluation rules for first element of a list being evaluated, if it is a symbol it is looked up as a function, if it is a lambda form it is called, otherwise it is an error 2015-01-03T06:55:27Z beach: You meant ((car '(+ 1 2)) 3 4) as Bicyclidine said, right? 2015-01-03T06:56:18Z gmcastil joined #lisp 2015-01-03T06:56:27Z arcwest2 joined #lisp 2015-01-03T06:57:15Z beach: Bicyclidine: Would that work in Scheme? Is a symbol a function designator in Scheme? 2015-01-03T06:57:51Z Bicyclidine: um. hm. dunno. 2015-01-03T06:58:08Z beach: I suspect not. 2015-01-03T06:58:16Z beach: ... but I can't remember :( 2015-01-03T06:58:27Z Bicyclidine: it doesn't work in biwa scheme. 2015-01-03T06:58:29Z Bicyclidine: shows what i know. 2015-01-03T06:58:45Z Bicyclidine: (Error: '+ is not a function [car]) 2015-01-03T06:58:49Z beach: crichter: What language is it supposed to be? 2015-01-03T06:58:55Z beach: Bicyclidine: Yeah. 2015-01-03T06:58:57Z crichter: huh. Thanks for the assist lispers. :) 2015-01-03T06:59:02Z crichter: SBCL 2015-01-03T06:59:10Z Jubb quit (Remote host closed the connection) 2015-01-03T06:59:20Z beach: Oh. Then what Bicyclidine and |3b| said. 2015-01-03T06:59:32Z crichter: So I could implement this using lambda? 2015-01-03T06:59:42Z beach: crichter: Implement what? 2015-01-03T06:59:59Z beach: crichter: (funcall (car '(+ 1 2)) 3 4) should work. 2015-01-03T07:00:17Z scymtym joined #lisp 2015-01-03T07:00:24Z crichter: Yeah, it totally does. 2015-01-03T07:02:26Z beach: crichter: By using FUNCALL, the form (car '(+ 1 2)) turns into an argument which is evaluated normally. Furthermore, the symbol + is a designator for the function #'+, so FUNCALL will look up the function that the symbol designates and applies that function to the arguments given. 2015-01-03T07:03:17Z beach: crichter: And this will work in all conforming Common Lisp implementations, not only SBCL. 2015-01-03T07:04:56Z crichter: Thanks beach. One step closer to enlightenment. 2015-01-03T07:05:06Z beach: crichter: Good luck. 2015-01-03T07:08:42Z crichter: So the REPL sees ((car '(+ 1 2)) 3 4) and evalutes 3 as 3, 4 as 4 and then sees a list instead of a symbol and throws an error? 2015-01-03T07:09:05Z Bicyclidine: i think it has to do the list thing first, not sure off the top of my head though 2015-01-03T07:09:17Z beach: The error is probably detected first. 2015-01-03T07:09:21Z Bicyclidine: and you can have lists as the head, but only if it's a lambda form, something like ((lambda (x) x) 4) 2015-01-03T07:10:23Z beach: crichter: Most REPLs actually compiler the form first, and the compiler will detect the malformed form before anything is actually computed. 2015-01-03T07:10:45Z beach: actually compile 2015-01-03T07:11:22Z crichter: Oh! So it's the Reader that throws the error? 2015-01-03T07:11:28Z beach: crichter: No. 2015-01-03T07:11:32Z beach: The reader is fine. 2015-01-03T07:11:38Z beach: The compiler signals the error. 2015-01-03T07:11:48Z __main__ quit (Read error: Connection reset by peer) 2015-01-03T07:12:36Z juiko quit (Remote host closed the connection) 2015-01-03T07:12:37Z Bicyclidine: reader can't throw an error, it's valid syntax parsing wise. you can do '((car '(+ 1 2)) 3 4) after all 2015-01-03T07:12:50Z Hexstream left #lisp 2015-01-03T07:12:52Z Zhivago: try (funcall (car '(+ 1 2)) 3 4) 2015-01-03T07:13:12Z beach: Zhivago: I already suggested that. 2015-01-03T07:13:25Z __main__ joined #lisp 2015-01-03T07:13:49Z beach: crichter: Try: ((car '(+ 1 2)) (car x)) 2015-01-03T07:14:06Z beach: crichter: The error message is: Execution of a form compiled with errors. 2015-01-03T07:14:30Z beach: crichter: If (car x) had been evaluated, then the message would have been: Unbound variable X. 2015-01-03T07:15:09Z hvxgr joined #lisp 2015-01-03T07:15:28Z kushal quit (Quit: Leaving) 2015-01-03T07:15:40Z __main__ quit (Read error: Connection reset by peer) 2015-01-03T07:16:26Z _main_ joined #lisp 2015-01-03T07:17:13Z thepreacher joined #lisp 2015-01-03T07:17:33Z crichter: right.... 2015-01-03T07:19:13Z thepreacher quit (Client Quit) 2015-01-03T07:19:40Z |3b|: looks like it isn't specified what happens if you have an invalid form like that, so might evaluate arguments or not 2015-01-03T07:20:05Z _main_ is now known as __main__ 2015-01-03T07:22:31Z stassats joined #lisp 2015-01-03T07:23:27Z akkad: (loop (sleep 1)) ;; there must be a way to launch clack in sbcl without having to loop like this without it exiting 2015-01-03T07:23:57Z |3b|: find a thread and wait for it to exit, run a repl, convince it to not start an extra thread 2015-01-03T07:24:33Z pjb: nydel: what microsoft did with GPL? 2015-01-03T07:24:40Z |3b|: (sleep 1234567890123456789) without looping 2015-01-03T07:26:42Z pjb: nydel: oh, craftbukkit http://www.planetminecraft.com/blog/no-more-bukkit---microsoft-trying-to-but-mojang/ 2015-01-03T07:31:06Z vaporatorius joined #lisp 2015-01-03T07:40:33Z beach: crichter: Another experiment to try: (compile nil (lambda () ((car '(+ 1 2)) (car x)))) 2015-01-03T07:40:57Z stassats: what's the COMPILE for? 2015-01-03T07:41:51Z beach: crichter: That is basically what the REPL does. In reality a REPL is often a RCXPL, Read, Compile eXecute, Print. 2015-01-03T07:42:45Z beach: stassats: I am trying to show crichter that the same error message (illegal function call) is produced when that form is evaluated as when it is compiled in a NULL lexical environment. 2015-01-03T07:43:50Z stassats: then you used compile not exactly right 2015-01-03T07:44:01Z crichter: beWhat is a "NULL 2015-01-03T07:44:18Z beach: crichter: Basically means "top-level expression". 2015-01-03T07:44:25Z crichter: beach: what is a "NULL lexical environment"? 2015-01-03T07:44:51Z beach: stassats: What should I have done instead? 2015-01-03T07:44:58Z stassats: beach: (compile nil '(lambda () ((car '(+ 1 2)) (car x)))) 2015-01-03T07:45:13Z beach: Crap. Yes of course. 2015-01-03T07:45:47Z pjb: crichter: why don't you read clhs? 2015-01-03T07:46:02Z crichter: clhs? 2015-01-03T07:46:03Z beach: crichter: Correction: Another experiment to try: (compile nil '(lambda () ((car '(+ 1 2)) (car x)))) 2015-01-03T07:46:05Z pjb: crichter: like, chapter 3: http://www.lispworks.com/documentation/HyperSpec/Body/03_.htm 2015-01-03T07:46:11Z crichter: oh, the hyper-spec 2015-01-03T07:47:00Z beach: Thanks stassats! 2015-01-03T07:49:23Z mrSpec joined #lisp 2015-01-03T07:49:28Z mrSpec quit (Changing host) 2015-01-03T07:49:28Z mrSpec joined #lisp 2015-01-03T07:50:13Z Aiwass joined #lisp 2015-01-03T07:50:22Z beach: LOOP question: Where does it say that there can't be duplicate variables in LOOP clauses. 2015-01-03T07:50:36Z crichter: thx pjb 2015-01-03T07:51:05Z crichter: *crichter* pops some ibuprofen, hunkers down w clhs 2015-01-03T07:51:18Z stassats: beach: for one thing, it's hard to imagine how parallel bindings can be duplicated 2015-01-03T07:51:32Z kapil__ quit (Quit: Connection closed for inactivity) 2015-01-03T07:51:49Z beach: Yes, I wasn't thinking of the parallel ones, but the sequential ones, like between two independent clauses. 2015-01-03T07:52:08Z beach: As in (loop for x ... for x ...) 2015-01-03T07:52:31Z beach: I can understand the problem with (loop for x ... and x ...). 2015-01-03T07:52:44Z |3b|: clhs 6.1.1.7 2015-01-03T07:52:44Z specbot: Destructuring: http://www.lispworks.com/reference/HyperSpec/Body/06_aag.htm 2015-01-03T07:53:04Z pjb: beach: perhaps it's implied by the fact that the bindings are established first, and the initialization second. 2015-01-03T07:53:08Z |3b|: is the last sentence talking about duplication within 1 clause or in general? 2015-01-03T07:53:24Z pjb: therefore duplicate variables would lead to increment clauses incrementing the same binding. 2015-01-03T07:53:35Z stassats: |3b|: (x x), i wager 2015-01-03T07:53:44Z |3b|: last 2 sentence rather 2015-01-03T07:53:47Z beach: |3b|: That's it! Thanks. 2015-01-03T07:54:54Z beach: pjb: True. Though the fact that something is nonsensical doesn't mean that it is forbidden. 2015-01-03T07:55:08Z pjb: True. 2015-01-03T07:55:31Z pjb: The question would rather be if there's some leaway allowing divergent semantics, and therefore making the form non-conforming. 2015-01-03T07:55:48Z Aiwass left #lisp 2015-01-03T07:55:49Z z_ joined #lisp 2015-01-03T07:56:00Z z_ is now known as Guest57679 2015-01-03T07:56:38Z beach: Well, I am willing to interpret the last paragraph of 6.1.1.7 as applying to all clauses. 2015-01-03T07:57:21Z Guest57679 quit (Client Quit) 2015-01-03T07:57:26Z pjb: Yes, it seems to be all encompassing. 2015-01-03T07:57:56Z beach: Yet another item to make more explicit in Common Lisp version 2. 2015-01-03T07:58:59Z zeitue quit (Ping timeout: 245 seconds) 2015-01-03T08:00:40Z arpunk` quit (Ping timeout: 250 seconds) 2015-01-03T08:06:10Z BitPuffin quit (Ping timeout: 264 seconds) 2015-01-03T08:06:47Z mrkkrp joined #lisp 2015-01-03T08:11:29Z Bicyclidine quit (Ping timeout: 245 seconds) 2015-01-03T08:13:33Z Zamenhof quit (Quit: WeeChat 1.0.1) 2015-01-03T08:13:47Z jackdaniel: on loadin foreign library few times in a row - further loading should return nil, or rather increase refcount of instances of such library? 2015-01-03T08:14:15Z pjb: Whatever, as long as it's documented. 2015-01-03T08:15:13Z stassats: jackdaniel: unload the previous library first 2015-01-03T08:15:32Z jackdaniel: im implementing unload on ecl 2015-01-03T08:15:55Z emacsomancer00 quit (Remote host closed the connection) 2015-01-03T08:16:00Z jackdaniel: well, there is parameter force-reload 2015-01-03T08:16:21Z mdev quit (Ping timeout: 256 seconds) 2015-01-03T08:16:30Z emacsomancer00 joined #lisp 2015-01-03T08:21:25Z gmcastil quit (Ping timeout: 255 seconds) 2015-01-03T08:27:38Z mishoo joined #lisp 2015-01-03T08:28:08Z chu: Hey silly question, but what do I call SBCL? Is "compiler" sufficient, or is there another term which is more accurate? 2015-01-03T08:28:16Z stassats: an implementation 2015-01-03T08:28:18Z pjb: implementation 2015-01-03T08:28:22Z chu: Cheers. 2015-01-03T08:32:17Z tadni quit (Ping timeout: 240 seconds) 2015-01-03T08:40:33Z gravicappa joined #lisp 2015-01-03T08:41:04Z tadni joined #lisp 2015-01-03T08:41:14Z ndrei quit (Remote host closed the connection) 2015-01-03T08:43:34Z ndrei joined #lisp 2015-01-03T08:45:36Z hekmek joined #lisp 2015-01-03T08:45:41Z ehu joined #lisp 2015-01-03T08:46:22Z klltkr joined #lisp 2015-01-03T08:46:25Z Shinmera joined #lisp 2015-01-03T08:46:58Z zyaku quit (Ping timeout: 264 seconds) 2015-01-03T08:52:21Z zRecursive quit (Remote host closed the connection) 2015-01-03T08:55:37Z quazimodo joined #lisp 2015-01-03T08:59:09Z wgslayer joined #lisp 2015-01-03T09:02:13Z arcwest2 quit (Quit: Nettalk6 - www.ntalk.de) 2015-01-03T09:05:31Z crichter quit (Ping timeout: 255 seconds) 2015-01-03T09:06:02Z akkad: what db's have the best support on sbcl? 2015-01-03T09:06:22Z innertracks quit (Ping timeout: 240 seconds) 2015-01-03T09:06:28Z pjb: Why should they have any support at all? 2015-01-03T09:06:49Z akkad: because in the real world outside the CLHS things change. and people need persistence 2015-01-03T09:07:06Z akkad: and unless SBCL got orthogonal persistence without me noticing, you need a db :P 2015-01-03T09:07:11Z pjb: Can't you just use postgres? 2015-01-03T09:07:24Z pjb: http://www.cliki.net/site/search?query=database 2015-01-03T09:07:32Z akkad: and one might consider than an answer to the question aforementioned 2015-01-03T09:07:48Z arcwest2 joined #lisp 2015-01-03T09:07:53Z akkad: postgres is a db 2015-01-03T09:08:04Z H4ns: akkad: there is a wealth of options. i have written an in-memory object oriented database in the past (bknr), and currenlty use postgres with postmodern a lot. 2015-01-03T09:08:07Z pjb: http://www.cliki.net/Postmodern 2015-01-03T09:08:13Z Grue`: postgres has the best support 2015-01-03T09:08:15Z akkad: thanks 2015-01-03T09:08:20Z Bicyclidine joined #lisp 2015-01-03T09:08:25Z akkad: good choice to have :P 2015-01-03T09:09:06Z innertracks joined #lisp 2015-01-03T09:12:59Z MrWoohoo joined #lisp 2015-01-03T09:13:24Z kcj quit (Read error: Connection reset by peer) 2015-01-03T09:13:45Z wgslayer quit (Quit: Leaving) 2015-01-03T09:21:06Z moei joined #lisp 2015-01-03T09:25:49Z davorb joined #lisp 2015-01-03T09:26:18Z davorb quit (Client Quit) 2015-01-03T09:29:46Z davorb joined #lisp 2015-01-03T09:30:03Z davorb quit (Client Quit) 2015-01-03T09:33:21Z davorb joined #lisp 2015-01-03T09:39:23Z hardenedapple joined #lisp 2015-01-03T09:41:57Z drdanmaku quit (Quit: Connection closed for inactivity) 2015-01-03T09:42:00Z drl_ joined #lisp 2015-01-03T09:44:27Z Vutral quit (Ping timeout: 245 seconds) 2015-01-03T09:44:40Z gingerale quit (Ping timeout: 244 seconds) 2015-01-03T09:45:11Z stassats quit (Ping timeout: 244 seconds) 2015-01-03T09:45:18Z scottj quit (Quit: leaving) 2015-01-03T09:48:45Z defaultxr quit (Quit: gnight) 2015-01-03T09:53:48Z Vutral joined #lisp 2015-01-03T09:55:18Z sid_cypher joined #lisp 2015-01-03T09:56:34Z pnpuff joined #lisp 2015-01-03T09:59:29Z munksgaard joined #lisp 2015-01-03T10:01:09Z scymtym quit (Remote host closed the connection) 2015-01-03T10:01:14Z pt1 joined #lisp 2015-01-03T10:04:01Z nydel: does slime or sbcl save repl input history to a global variable or a file, as does bash with ~/.bash_history ? 2015-01-03T10:04:56Z beach: For SLIME it must be in a file somewhere because the history is remembered between sessions. 2015-01-03T10:05:09Z gmcastil joined #lisp 2015-01-03T10:05:15Z beach: But I don't know where. 2015-01-03T10:05:35Z pt1 quit (Remote host closed the connection) 2015-01-03T10:05:47Z nydel: i've noticed that it does, that's why i ask. i kind of assume it's encrypted or otherwise inaccessible, what do you reckon beach ? 2015-01-03T10:06:08Z beach: I haven't looked. Best to wait for someone who knows to answer. 2015-01-03T10:06:11Z akkad: bknr not worky 2015-01-03T10:06:31Z akkad: Someone: hey 2015-01-03T10:06:44Z nydel: Someone is always afk 2015-01-03T10:07:24Z _5kg quit (Ping timeout: 244 seconds) 2015-01-03T10:07:39Z nydel: time to evaluate (print "blipbloopblep12345") in my slime then do some greping about in ~ 2015-01-03T10:07:51Z edgar-rft: nydel: here on Debian Linux it's ~./slime-history.eld 2015-01-03T10:08:25Z nydel: edgar-rft: same here on ubuntu. thank you kindly, sir 2015-01-03T10:09:25Z nydel: now i just need to figure out the best way to handle repl form eval history handling when dealing with one of these multi-user repl objects. 2015-01-03T10:10:15Z gmcastil quit (Ping timeout: 256 seconds) 2015-01-03T10:11:14Z nydel: hmm, i don't think any of the other "pure" cl instances keep a history, do they? i know that when i try to utilize such a feature in a non-slime SBCL it doesn't seem to have that feature at all 2015-01-03T10:11:50Z nydel: maybe a :REPL-HISTORY project either exists or is a good idea 2015-01-03T10:12:24Z edgar-rft: nydel: I usually use rlwrap for Common Lisp in the terminal, where the name of the history file can be customized 2015-01-03T10:13:17Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-01-03T10:13:20Z nydel: edgar-rft: oh i see this at cliki, about to try loading it up with ql 2015-01-03T10:14:13Z edgar-rft: nydel: rlwrap is a C program, I don't think it's in quicklisp 2015-01-03T10:14:29Z nydel: oh, C. that'd be why then. 2015-01-03T10:14:39Z nydel: edgar-rft: which CL do you use? 2015-01-03T10:14:57Z Ven joined #lisp 2015-01-03T10:17:08Z edgar-rft: I start SBCL in the terminal like this: rlwrap -H ~./sbcl_history sbcl 2015-01-03T10:17:45Z nydel: i'm building rlwrap right now so i'm sure that launch form will make sense in a moment 2015-01-03T10:17:52Z munksgaard quit (Ping timeout: 240 seconds) 2015-01-03T10:19:50Z edgar-rft is back in a few minutes... 2015-01-03T10:22:15Z nydel: got it working with sbcl now edgar-rft thanks for the tip 2015-01-03T10:22:45Z nydel: neato an SBCL where scrolls history 2015-01-03T10:25:46Z zadock joined #lisp 2015-01-03T10:25:56Z manuel__ joined #lisp 2015-01-03T10:26:08Z scymtym joined #lisp 2015-01-03T10:26:50Z manuel__ quit (Client Quit) 2015-01-03T10:29:33Z pacon quit (Read error: Connection reset by peer) 2015-01-03T10:35:43Z beach: Turns out, mdev is definitely a troll. He was here in December 2013 with essentially the same discourse. 2015-01-03T10:36:21Z Shinmera: I haven't read the logs of last night yet, am I in for a treat? 2015-01-03T10:37:20Z beach: He is a bit amusing, but basically the same as most: "If Lisp is so great, why is nobody using it?" 2015-01-03T10:37:33Z Shinmera: Ah. 2015-01-03T10:43:12Z beach: So I pointed him to this essay: http://metamodular.com/Essays/wrong.html 2015-01-03T10:43:24Z yenda joined #lisp 2015-01-03T10:43:50Z beach: Whether that was what shut him up or not, I don't know, but he didn't say anything after that. 2015-01-03T10:49:40Z huza joined #lisp 2015-01-03T10:50:17Z Shinmera: Alright, caught up. 2015-01-03T10:50:27Z pnpuff quit (Quit: Lost terminal) 2015-01-03T10:50:42Z Shinmera: I've read that essay before, I recall agreeing with it in pretty much all accounts. 2015-01-03T10:50:57Z _5kg joined #lisp 2015-01-03T10:52:14Z Shinmera: akkad: I run Hunchentoot on a public facing server 2015-01-03T10:52:28Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-01-03T10:52:30Z Shinmera: akkad: If that's what you mean by "doing production on Hunchentoot" 2015-01-03T10:54:05Z Shinmera: *on pretty much all accounts 2015-01-03T10:56:19Z pacon joined #lisp 2015-01-03T10:57:38Z pacon quit (Max SendQ exceeded) 2015-01-03T10:57:57Z nikki93 joined #lisp 2015-01-03T10:58:10Z pacon joined #lisp 2015-01-03T10:58:16Z akkad: nothing reverse proxying that? 2015-01-03T10:58:59Z Shinmera: Depends on whether you count cloudflare as a proxy. 2015-01-03T10:59:06Z pacon quit (Max SendQ exceeded) 2015-01-03T10:59:31Z Grue`: Shinmera: do you run all your projects in the same image or in different processes? 2015-01-03T10:59:35Z Shinmera: In my experience people vastly overestimate how popular their sites will be, worrying way too much about scalability/performance, when it would work just as well otherwise. 2015-01-03T11:00:08Z Shinmera: Grue`: I'm not sure what you mean by "all your projects" in this context 2015-01-03T11:00:58Z _5kg quit (Ping timeout: 265 seconds) 2015-01-03T11:01:20Z Grue`: well, I'm just wondering what's considered the best practice; if there are two unrelated web services, it would make sense to run them in different images so if one crashes or something, the other would be unaffected 2015-01-03T11:01:55Z Shinmera: My services are running on the same framework and in the same image as that's the entire purpose behind my framework: Allowing the sharing of certain resources like user logins, etc. 2015-01-03T11:02:31Z Grue`: right 2015-01-03T11:02:36Z Shinmera: If your sites don't need that kind of coupling it would make sense to separate them if the demand ever arises. But obviously, the more instances you start, the more overhead you accumulate too. 2015-01-03T11:03:51Z Shinmera: I should probably invest some time at some point offering alternative implementations to my core interface modules that allow distributed operation so that the framework context can be shared across multiple instances/machines 2015-01-03T11:03:55Z Shinmera: But that's for another time. 2015-01-03T11:04:47Z Shinmera: As I said before, usually people worry too much about the performance of their servers. Just run it for some months and see what happens. Proxying, caching and load-balancing can be added later. 2015-01-03T11:04:52Z akkad: aserve get much love these days? 2015-01-03T11:05:08Z akkad: Shinmera: well I mean for ssl offloading 2015-01-03T11:06:05Z Shinmera: I don't know how bad CL+SSL's performance is, but I recall google saying that activating mandatory SSL on their gmail servers requires absolutely zero additional hardware to be installed 2015-01-03T11:06:12Z Shinmera: So that too, I don't think is a thing to worry about. 2015-01-03T11:06:21Z Shinmera: *required 2015-01-03T11:09:41Z innertracks1 joined #lisp 2015-01-03T11:11:16Z akkad: well hunchentoot support for ssl 2015-01-03T11:11:20Z innertracks quit (Ping timeout: 250 seconds) 2015-01-03T11:14:52Z H4ns: in all but very small sites, i would recommend using a front end http cache, and possibly a separate ssl handler. i have been very happy with nginx for ssl and varnish for caching. 2015-01-03T11:15:07Z kons quit (Read error: Connection reset by peer) 2015-01-03T11:15:56Z H4ns: for personal sites, raw hunchentoot is fine, but it is not resilient against load spikes and if you have to scale, it is far easier to do so using a cache hierarchy rather than trying to optimize hunchentoot itself, which is inherently slow in several areas. 2015-01-03T11:17:44Z protist joined #lisp 2015-01-03T11:19:58Z fantazo joined #lisp 2015-01-03T11:21:07Z Jesin quit (Ping timeout: 245 seconds) 2015-01-03T11:22:00Z yeticry quit (Ping timeout: 244 seconds) 2015-01-03T11:23:15Z yeticry joined #lisp 2015-01-03T11:24:40Z jackdani1l joined #lisp 2015-01-03T11:24:47Z jackdani1l quit (Client Quit) 2015-01-03T11:29:11Z test1600 joined #lisp 2015-01-03T11:30:23Z jackdaniel quit (Quit: xxx) 2015-01-03T11:30:33Z pt1 joined #lisp 2015-01-03T11:32:24Z akkad: H4ns thanks. 2015-01-03T11:32:59Z anunnaki quit (Remote host closed the connection) 2015-01-03T11:33:23Z pt1 quit (Remote host closed the connection) 2015-01-03T11:33:56Z pt1 joined #lisp 2015-01-03T11:34:08Z Jesin joined #lisp 2015-01-03T11:34:49Z hiroakip quit (Ping timeout: 245 seconds) 2015-01-03T11:35:49Z Jesin quit (Max SendQ exceeded) 2015-01-03T11:35:56Z Guest93068 quit (Quit: Lost terminal) 2015-01-03T11:36:52Z Jesin joined #lisp 2015-01-03T11:38:23Z jackdaniel joined #lisp 2015-01-03T11:38:35Z Jesin quit (Max SendQ exceeded) 2015-01-03T11:38:40Z pt1 quit (Ping timeout: 265 seconds) 2015-01-03T11:39:24Z nikki93 quit (Ping timeout: 245 seconds) 2015-01-03T11:40:29Z Jesin joined #lisp 2015-01-03T11:44:19Z nikki93 joined #lisp 2015-01-03T11:45:04Z _5kg joined #lisp 2015-01-03T11:47:59Z pacon joined #lisp 2015-01-03T11:48:55Z pacon quit (Max SendQ exceeded) 2015-01-03T11:49:38Z pacon joined #lisp 2015-01-03T11:50:33Z pacon quit (Max SendQ exceeded) 2015-01-03T11:51:05Z pacon joined #lisp 2015-01-03T11:52:19Z pacon quit (Max SendQ exceeded) 2015-01-03T11:52:29Z hitecnologys_ joined #lisp 2015-01-03T11:52:53Z pacon joined #lisp 2015-01-03T11:55:37Z hitecnologys quit (Ping timeout: 255 seconds) 2015-01-03T11:55:37Z hitecnologys_ is now known as hitecnologys 2015-01-03T11:58:21Z akkad: odd :restas is pulling in SWANK and failing 2015-01-03T12:00:14Z munksgaard joined #lisp 2015-01-03T12:04:41Z Beetny quit (Ping timeout: 244 seconds) 2015-01-03T12:07:47Z test1600 quit (Ping timeout: 244 seconds) 2015-01-03T12:07:56Z digiorgi_ joined #lisp 2015-01-03T12:09:04Z digiorgi_: I know when we code a constant it may be sorrounded with '+', a global variable with '*'. But... a class with '<' and '>'?????? 2015-01-03T12:09:39Z beach: digiorgi_: It is a convention from Dylan. 2015-01-03T12:09:39Z Shinmera: Some people, for reasons beyond me, like that. 2015-01-03T12:10:08Z arpunk joined #lisp 2015-01-03T12:10:34Z fantazo: beach, you mean something like ? 2015-01-03T12:10:50Z beach: http://opendylan.org/books/drm/Naming_Conventions 2015-01-03T12:10:58Z kapil__ joined #lisp 2015-01-03T12:11:15Z digiorgi_: http://labs.ariel-networks.com/cl-style-guide.html 2015-01-03T12:11:19Z beach: "Module bindings used to hold types begin and end with angle brackets." 2015-01-03T12:11:49Z Bicyclidine quit (Ping timeout: 255 seconds) 2015-01-03T12:11:59Z beach: digiorgi_: That last site, you should take with a grain of salt. 2015-01-03T12:12:00Z fantazo: always nice to know from where a naming convention came from. 2015-01-03T12:12:08Z digiorgi_: dylan look like scheme conventions more like a cl one 2015-01-03T12:12:56Z beach: Yes, Dylan is more like Scheme in many respects. 2015-01-03T12:12:56Z Shinmera: If any style guide at all, I'd look at this one https://google-styleguide.googlecode.com/svn/trunk/lispguide.xml 2015-01-03T12:13:00Z josemanuel joined #lisp 2015-01-03T12:13:41Z t4intz joined #lisp 2015-01-03T12:13:52Z beach: digiorgi_: I agree with Shinmera. That guide has more agreed-upon conventions. 2015-01-03T12:14:03Z arpunk quit (Remote host closed the connection) 2015-01-03T12:15:23Z eudoxia joined #lisp 2015-01-03T12:15:28Z arpunk joined #lisp 2015-01-03T12:15:34Z Shinmera: It's also written in proper English and has good reasoning behind each convention. 2015-01-03T12:15:48Z beach: fantazo: It is occasionally a good idea to introduce "foreign" conventions into a language, but not often, and attempts most often fail. 2015-01-03T12:15:49Z Shinmera: Unlike that ariel-networks link 2015-01-03T12:16:31Z Grue`: oh it's the guys who made clack, i was wondering why it uses convention so often... 2015-01-03T12:16:37Z eudoxia: one-package per file is a p. good idea 2015-01-03T12:16:45Z Shinmera: I disagree. 2015-01-03T12:16:51Z beach: Me too. 2015-01-03T12:16:57Z eudoxia: and dylan class naming conventions help because otherwise you keep writing (defmethod foo ((class class)) ...) 2015-01-03T12:17:07Z Shinmera: How does that "help"? 2015-01-03T12:17:10Z Shinmera: It just makes you type more. 2015-01-03T12:17:13Z akkad: CORRUPTION WARNING in SBCL pid 30492(tid 2953326592): The integrity of this image is possibly compromised. Continuing with fingers crossed. 2015-01-03T12:17:16Z Shinmera: And looks gross to boot 2015-01-03T12:17:36Z eudoxia: makes the difference between classes and instances clearer 2015-01-03T12:17:46Z Shinmera: Seems pretty clear off the bat to me 2015-01-03T12:17:56Z Grue`: but they're in different namespaces, they cannot clash 2015-01-03T12:18:22Z eudoxia: it's obviously not for the language, but for the programmer 2015-01-03T12:18:24Z beach: I like this from McCLIM: (defmethod graft ((graft graft)) graft) 2015-01-03T12:18:32Z Shinmera: eudoxia: Saying that won't make your argument valid. 2015-01-03T12:18:58Z eudoxia: ok 2015-01-03T12:19:09Z tesuji quit (Ping timeout: 244 seconds) 2015-01-03T12:19:32Z Shinmera: The places where you refer to a class are either clearly defined and common (defmethod) or you have to use a quote anyway. 2015-01-03T12:19:50Z Shinmera: So I don't see any reason at all to clutter the naming with pointless surrounding. 2015-01-03T12:20:33Z Shinmera: If anything, things like (make-instance ') is doubly hinted. 2015-01-03T12:20:37Z Shinmera: *are 2015-01-03T12:21:30Z eudoxia: when looking at the exports of a package it tells you straight away which symbols are classes 2015-01-03T12:21:34Z Shinmera: Of all the things that once can get confused about with naming in CL, classes and instances has never been a candidate for me, ever. 2015-01-03T12:21:50Z Shinmera: Why would you look at the exports of a package? 2015-01-03T12:22:10Z eudoxia: really, though, the one thing where i disagree with the ariel networks guide is using annotations. i tried that in crane and it's not really such a good idea 2015-01-03T12:22:25Z beach: eudoxia: It is more reasonable to put the adjective after the noun like they do in Vietnamese and (mostly) in French, but that doesn't mean one can just start doing that in (say) English and Swedish. 2015-01-03T12:22:44Z t4intz quit (Remote host closed the connection) 2015-01-03T12:22:59Z beach: I think this argument is much stronger than any argument based on logic or reasoning. 2015-01-03T12:23:03Z eudoxia: it's a pair of angular brackets 2015-01-03T12:23:07Z eudoxia: it's not changing the semantics of the language 2015-01-03T12:23:16Z t4intz joined #lisp 2015-01-03T12:23:25Z Shinmera: Your code is the language, fwiw. 2015-01-03T12:23:31Z beach: eudoxia: You also can't start writing all nouns with a capital in English they way they do in German. 2015-01-03T12:24:03Z beach: Languages, including programming languages, are means of communication between people. If you don't follow widely-agreed-upon conventions, you disrupt that communication. 2015-01-03T12:24:35Z Grue`: cl-annot breaks M-. in slime, so it makes it harder to track down the function definition 2015-01-03T12:25:42Z klltkr joined #lisp 2015-01-03T12:26:04Z digiorgi_: I can deduce that anybody here uses the < >, and therefore is not a very agreed convention. Then it may be not good to use 2015-01-03T12:26:28Z test1600 joined #lisp 2015-01-03T12:26:32Z josteink quit (Quit: brb) 2015-01-03T12:27:00Z josteink joined #lisp 2015-01-03T12:27:27Z Shinmera: Evidently some use <> but they are a vast minority. 2015-01-03T12:27:51Z Grue`: you're only likely to encounter it if you happen to use some libraries from those guys 2015-01-03T12:28:42Z eudoxia: which means you will because fukamachi is the backbone of this community 2015-01-03T12:28:55Z yeticry quit (Ping timeout: 255 seconds) 2015-01-03T12:29:01Z beach: eudoxia: Which community? 2015-01-03T12:29:24Z eudoxia: this one. the lisp community. the community of this channel. 2015-01-03T12:29:30Z H4ns: aha 2015-01-03T12:29:35Z Shinmera: I haven't used any fukamachi-ware so far and I'm doing quite well. 2015-01-03T12:29:41Z eudoxia: well at least the subset of common lispers who like web development 2015-01-03T12:29:46Z eudoxia: there are dozens of us, dozens! 2015-01-03T12:29:52Z Shinmera: And I do web-development too, how about that. 2015-01-03T12:30:14Z yeticry joined #lisp 2015-01-03T12:30:18Z dim: I really appreciate edi-ware, I don't know anything about fukamachi-ware 2015-01-03T12:30:35Z beach: There are occasionally people who are influential enough to change existing conventions. Richard Stallman changing the conventions of the C language comes to mind. But it is not very frequent. 2015-01-03T12:33:28Z beach must not be part of the community of this channel. 2015-01-03T12:34:19Z Shinmera: Maybe we are just not "in". 2015-01-03T12:34:25Z beach: That must be it. 2015-01-03T12:35:38Z beach: eudoxia: Notice that I don't argue against your reason behind this convention, because, like I said, reason is not important. When nearly everyone else start using that convention, I will too, for the same reason I am *not* using it now. 2015-01-03T12:35:44Z urandom__ joined #lisp 2015-01-03T12:36:38Z beach: eudoxia: Notice also, that if I were to program in Dylan, I would follow that convention, just as I put the adjectives after the nouns in Vietnamese and just as I capitalize nouns when I write German. 2015-01-03T12:38:32Z kuimacro joined #lisp 2015-01-03T12:38:38Z eudoxia: class names are such a microscopic thing though, it's not like i'm ignoring predicate naming conventions or something writing camelCase 2015-01-03T12:38:54Z Shinmera: beach: I would say reason is important if you want to convince people to start using a convention that is not the norm. 2015-01-03T12:39:28Z H4ns: eudoxia: class names are not at all microscopic in object oriented programs 2015-01-03T12:39:34Z beach: Shinmera: Sure, but I don't pretend to be as influential as that, so I wouldn't dream of attempting that. 2015-01-03T12:39:34Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-01-03T12:39:48Z Shinmera: beach: Right 2015-01-03T12:40:13Z H4ns: eudoxia: personally, i find it rather offensive if a programmer choses to not follow conventions, to the point where i don't want to hack on such software. 2015-01-03T12:40:13Z Shinmera: eudoxia: The scale of the application of your convention has no bearing on your arguments either. 2015-01-03T12:40:45Z H4ns: i have rather bad memories of my time with allegroserve, which was such a program 2015-01-03T12:41:18Z beach: eudoxia: You are disrupting communication with people reading your code. That is quite rude. And what H4ns says should tell you that there are people out there who react very much to that. 2015-01-03T12:41:46Z Shinmera: Not only reading your code, but also using your library. 2015-01-03T12:42:21Z beach: Right. In addition, this convention touches on client-visible aspects. 2015-01-03T12:42:53Z eudoxia: Shinmera: i would argue it does. there's a difference between weird-looking class names and ACL-style code that uses weird utilities nobody else uses like that if*-else macro 2015-01-03T12:42:59Z Shinmera: It's kind of viral in that aspect as it either forces you to have a mangling of conventions, or adapt that convention for all your code. 2015-01-03T12:43:23Z Bicyclidine joined #lisp 2015-01-03T12:43:33Z H4ns: eudoxia: nobody else uses in common lisp 2015-01-03T12:43:42Z Shinmera: eudoxia: No. How often you apply your convention makes no difference on whether your arguments are sound or not. 1+1=3 is wrong no matter if you type it once or a billion times. 2015-01-03T12:45:01Z edgar-rft quit (Quit: session vanished by death) 2015-01-03T12:45:34Z t4intz quit (Ping timeout: 255 seconds) 2015-01-03T12:45:41Z eudoxia: H4ns: i do, eitaro fukamachi does, this library https://github.com/gschjetne/eclastic does, it looks like the infection is spreading 0: 2015-01-03T12:45:42Z kuimacro quit (Ping timeout: 244 seconds) 2015-01-03T12:46:06Z Shinmera: That's a tiny subset of the CL libraries and programs out there. 2015-01-03T12:46:13Z H4ns: eudoxia: congratulations. you managed to chip off another chunk of the common lisp world to make up your own ghetto 2015-01-03T12:46:58Z eudoxia: and i happily use Shinmera's libraries all the time, whose class names are not written in that convention 2015-01-03T12:47:07Z eudoxia: it's hardly a ghetto 2015-01-03T12:47:18Z dfox quit (Ping timeout: 265 seconds) 2015-01-03T12:47:33Z H4ns: it was amusing to see ron garret's attempt to found his own ghetto recently. 2015-01-03T12:47:38Z eudoxia: using ergolib + cl-annot, that's more ghetto 2015-01-03T12:48:11Z H4ns: "my ghetto is less ghetto than their's" 2015-01-03T12:48:21Z eudoxia: it pretty much is 2015-01-03T12:48:23Z Shinmera: eudoxia: Just to make an example of how off-putting that convention is: When you created the first repo for your CommonDoc thing I immediately put it off as soon as I noticed that gross class-naming. 2015-01-03T12:48:25Z beach: H4ns: In c.l.l? 2015-01-03T12:48:33Z fantazo quit (Quit: Verlassend) 2015-01-03T12:49:02Z H4ns: beach: it was in hackernews iirc, "ergolib, a library to make lisp easier for beginners". better defclass, unified binding, better loop. 2015-01-03T12:49:13Z hrs joined #lisp 2015-01-03T12:49:23Z beach: H4ns: Oh. OK. 2015-01-03T12:49:28Z Shinmera: There's currently an argument about it on CLL, I think. 2015-01-03T12:49:42Z kuimacro joined #lisp 2015-01-03T12:49:47Z Shinmera: Or I might be confusing names 2015-01-03T12:49:57Z H4ns: possible that i confuse names, too 2015-01-03T12:50:12Z Grue`: IMO: if it's not installable through quicklisp, it's a ghetto; if it's installable through quicklisp it's not a ghetto 2015-01-03T12:50:13Z Shinmera: Bah, I don't have my news reader on this machine 2015-01-03T12:50:32Z H4ns: this garret library was horrifying, though. i mean, the guy is a granddaddy, but his code is that of an adolescent >D 2015-01-03T12:51:52Z _5kg quit (Ping timeout: 255 seconds) 2015-01-03T12:52:48Z Shinmera: On an off-topic note: Thanks to whoever linked Butterick's Practical Typography a (long) while ago, I enjoyed it a lot. 2015-01-03T12:53:52Z t4intz joined #lisp 2015-01-03T12:58:52Z kuimacro quit (Ping timeout: 240 seconds) 2015-01-03T12:58:54Z francogrex joined #lisp 2015-01-03T12:59:50Z francogrex: hi for guys who have experience with sdl, if one would want to make a 'simple' game, is there advantage in using lispbulder-sdl over ltk (using tcl-tk)? 2015-01-03T13:02:45Z dfox joined #lisp 2015-01-03T13:03:17Z Patzy quit (Ping timeout: 240 seconds) 2015-01-03T13:04:17Z Patzy joined #lisp 2015-01-03T13:08:38Z eudoxia quit (Quit: Leaving) 2015-01-03T13:09:40Z xificurC joined #lisp 2015-01-03T13:11:45Z theos quit (Disconnected by services) 2015-01-03T13:12:12Z theos joined #lisp 2015-01-03T13:20:12Z oleo__ quit (Quit: Verlassend) 2015-01-03T13:20:15Z MoALTz joined #lisp 2015-01-03T13:20:42Z pjb: nydel: if it does, it's accessible thru the CL:DRIBBLE function. 2015-01-03T13:20:44Z pjb: clhs dribble 2015-01-03T13:20:44Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_dribbl.htm 2015-01-03T13:20:58Z pjb: (AFAIK, most implementations implement it). 2015-01-03T13:21:24Z oleo joined #lisp 2015-01-03T13:21:47Z pjb: Of course, the question of the integration of CL:DRIBBLE with slime could be asked. 2015-01-03T13:22:22Z MoALTz_ quit (Ping timeout: 264 seconds) 2015-01-03T13:22:42Z pjb: It would be rather imprudent to assume that slime encrypts anything. 2015-01-03T13:26:09Z Karl_Dscc joined #lisp 2015-01-03T13:26:54Z pacon quit (Ping timeout: 245 seconds) 2015-01-03T13:27:03Z stassats joined #lisp 2015-01-03T13:27:29Z francogrex quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-01-03T13:34:13Z attila_lendvai joined #lisp 2015-01-03T13:34:28Z attila_lendvai quit (Changing host) 2015-01-03T13:34:28Z attila_lendvai joined #lisp 2015-01-03T13:34:40Z rtra quit (Ping timeout: 265 seconds) 2015-01-03T13:35:55Z _5kg joined #lisp 2015-01-03T13:39:07Z t4intz quit (Ping timeout: 255 seconds) 2015-01-03T13:39:35Z rtra joined #lisp 2015-01-03T13:39:51Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-01-03T13:40:59Z protist quit (Quit: Konversation terminated!) 2015-01-03T13:42:04Z zyaku joined #lisp 2015-01-03T13:44:50Z Guest20792 joined #lisp 2015-01-03T13:46:43Z _5kg quit (Ping timeout: 256 seconds) 2015-01-03T13:54:26Z towodo joined #lisp 2015-01-03T13:58:17Z huza quit (Ping timeout: 240 seconds) 2015-01-03T13:59:26Z woudshoo joined #lisp 2015-01-03T14:00:06Z tesuji joined #lisp 2015-01-03T14:01:00Z inkogneato joined #lisp 2015-01-03T14:01:09Z zadock quit (Quit: Leaving) 2015-01-03T14:04:35Z EvW joined #lisp 2015-01-03T14:05:14Z pgomes joined #lisp 2015-01-03T14:05:32Z azynheira joined #lisp 2015-01-03T14:05:42Z LiamH joined #lisp 2015-01-03T14:06:43Z hitecnologys: Is there a chance ASDF might see different *FEATURES* while loading system? I'm experiencing weird behaviour: though symbol is present in features list and `#+feature T` evaluates fine, after loading system I can't access functions that were in the file that was put under conditional block. If I remove #+ macro, it loads as expected. 2015-01-03T14:07:19Z pjb: hitecnologys: not while loading (different from what?) but while compiling, it's perfectly possible. 2015-01-03T14:07:34Z hitecnologys: pjb: ah, right, compiling. 2015-01-03T14:07:56Z pjb: where do you put that symbol on the *features* list? 2015-01-03T14:07:58Z hitecnologys: pjb: is there any way to debug this except putting #.(print *features*)? 2015-01-03T14:08:00Z pjb: where, and foremost, when? 2015-01-03T14:08:09Z hitecnologys: pjb: I don't, it's freetype2 and cl-cairo2. 2015-01-03T14:08:42Z pjb: (eval-when (:compile-toplevel) (format t "while compiling ~S~%" *features*)) (eval-when (:load-toplevel) (format t "while loading binary ~S~%" *features*)) (eval-when (:execute) (format t "while loading source ~S~%" *features*)) 2015-01-03T14:08:44Z hitecnologys: pjb: in cl-cairo2.asd there's #+freetype2 block. It doesn't get compiled even though I have freetype2 installed and in features. 2015-01-03T14:09:03Z ggole joined #lisp 2015-01-03T14:10:33Z Ven joined #lisp 2015-01-03T14:11:29Z inkogneato quit (Quit: inkogneato) 2015-01-03T14:11:52Z Ven quit (Client Quit) 2015-01-03T14:12:21Z Ven joined #lisp 2015-01-03T14:12:53Z digiorgi_ quit (Remote host closed the connection) 2015-01-03T14:14:42Z hitecnologys: Indeed. :freetype2 isn't there while compilation is done. 2015-01-03T14:14:53Z hitecnologys: Why can that happen? 2015-01-03T14:15:07Z Ven quit (Read error: Connection reset by peer) 2015-01-03T14:15:25Z pjb: Probably the dependencies are ill-defined. 2015-01-03T14:15:51Z klltkr joined #lisp 2015-01-03T14:16:15Z Xach: I did not get it pushed to github yesterday. I'll try today. So many distractions. 2015-01-03T14:16:31Z hitecnologys: pjb: dependencies of cl-cairo? 2015-01-03T14:16:33Z Soft joined #lisp 2015-01-03T14:16:42Z pjb: I'd say so. 2015-01-03T14:18:08Z hitecnologys: Ah, I'm slow on things today. Yes, it does seem this way. 2015-01-03T14:19:11Z hitecnologys: But it's not cl-cairo, it's me. 2015-01-03T14:20:05Z hitecnologys: I should put cl-freetype2 before cl-cairo2. Then it works fine. 2015-01-03T14:20:17Z hitecnologys: pjb: thanks for help. 2015-01-03T14:22:46Z hitecnologys: No, it doesn't. 2015-01-03T14:23:28Z pjb: I don't know in what order asdf loads system dependencies. Why would it do it in a specific order? 2015-01-03T14:23:48Z hitecnologys: Right. 2015-01-03T14:23:49Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T14:24:16Z pjb: I guess you would have to have two systems a depends on b, a depends on cairo, b depends on freetype. 2015-01-03T14:24:24Z nikki93 joined #lisp 2015-01-03T14:24:36Z pjb: optional dependencies are bitches. 2015-01-03T14:24:58Z hitecnologys: What's wrong with putting it into :defsystem-depends-on? 2015-01-03T14:25:25Z pjb: Perhaps nothing. 2015-01-03T14:25:34Z pjb: you'd put freetype there. 2015-01-03T14:25:38Z hitecnologys: Yes. 2015-01-03T14:25:58Z hitecnologys: I just don't want to have two systems. 2015-01-03T14:26:13Z hitecnologys: I'm already confused. That would be even more confusing. 2015-01-03T14:26:26Z pjb: In a way the dependencies structure depends on the presence of freetype2, so it would be ok to use :defsystem-depends-on. 2015-01-03T14:26:44Z hitecnologys: Isn't there something in ASDF for such cases? I mean weak dependencies. There is :weak-depends-on or something but no way to conditionally load stuff? 2015-01-03T14:26:54Z pjb: I don't know. 2015-01-03T14:27:17Z hitecnologys: I see. 2015-01-03T14:28:34Z test1600 quit (Ping timeout: 245 seconds) 2015-01-03T14:30:04Z ejbs joined #lisp 2015-01-03T14:31:12Z bb010g quit (Quit: Connection closed for inactivity) 2015-01-03T14:31:29Z _5kg joined #lisp 2015-01-03T14:32:46Z pgomes quit (Quit: Leaving) 2015-01-03T14:32:46Z azynheira quit (Quit: Leaving) 2015-01-03T14:34:12Z ggole quit (Ping timeout: 244 seconds) 2015-01-03T14:35:12Z BitPuffin joined #lisp 2015-01-03T14:35:29Z cmatei joined #lisp 2015-01-03T14:36:49Z nst joined #lisp 2015-01-03T14:37:24Z nst: H3LLOW WORLD 2015-01-03T14:37:31Z nst quit (Client Quit) 2015-01-03T14:38:54Z yenda quit (Ping timeout: 250 seconds) 2015-01-03T14:39:27Z t4intz joined #lisp 2015-01-03T14:41:04Z Ethan- quit (Ping timeout: 245 seconds) 2015-01-03T14:41:30Z attila_lendvai quit (Quit: Leaving.) 2015-01-03T14:43:34Z Guest20792 quit (Ping timeout: 245 seconds) 2015-01-03T14:49:38Z nell joined #lisp 2015-01-03T14:52:54Z xrash joined #lisp 2015-01-03T14:57:10Z s00pcan_ joined #lisp 2015-01-03T15:00:04Z nyef joined #lisp 2015-01-03T15:00:20Z beach: Hello nyef! 2015-01-03T15:00:21Z nyef: G'morning all. 2015-01-03T15:00:52Z EvW quit (Ping timeout: 244 seconds) 2015-01-03T15:02:34Z _5kg quit (Ping timeout: 264 seconds) 2015-01-03T15:03:05Z Mon_Ouie joined #lisp 2015-01-03T15:07:47Z Patzy quit (Ping timeout: 244 seconds) 2015-01-03T15:08:22Z Patzy joined #lisp 2015-01-03T15:09:39Z Jesin quit (Ping timeout: 244 seconds) 2015-01-03T15:11:44Z Jesin joined #lisp 2015-01-03T15:11:49Z s00pcan_ quit (Remote host closed the connection) 2015-01-03T15:13:49Z theseb joined #lisp 2015-01-03T15:18:01Z s00pcan_ joined #lisp 2015-01-03T15:19:10Z towodo quit (Quit: towodo) 2015-01-03T15:21:17Z towodo joined #lisp 2015-01-03T15:24:08Z nikki93 quit (Remote host closed the connection) 2015-01-03T15:24:41Z nikki93 joined #lisp 2015-01-03T15:24:47Z Guest20792 joined #lisp 2015-01-03T15:24:52Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T15:25:21Z nikki93 joined #lisp 2015-01-03T15:27:33Z s00pcan_ quit (Remote host closed the connection) 2015-01-03T15:27:36Z schaueho joined #lisp 2015-01-03T15:27:47Z s00pcan_ joined #lisp 2015-01-03T15:28:08Z s00pcan_ quit (Remote host closed the connection) 2015-01-03T15:28:22Z s00pcan_ joined #lisp 2015-01-03T15:33:46Z gingerale joined #lisp 2015-01-03T15:34:40Z s00pcan_ quit (Remote host closed the connection) 2015-01-03T15:35:07Z nikki93 quit (Remote host closed the connection) 2015-01-03T15:35:44Z nikki93 joined #lisp 2015-01-03T15:37:06Z PinealGlandOptic joined #lisp 2015-01-03T15:37:11Z nikki93 quit (Read error: No route to host) 2015-01-03T15:37:14Z nikki93_ joined #lisp 2015-01-03T15:38:09Z Xach looks gift horse in mouth, grumbles about indentation via tabs 2015-01-03T15:45:25Z _5kg joined #lisp 2015-01-03T15:45:33Z ggole joined #lisp 2015-01-03T15:46:11Z nikki93_ quit (Remote host closed the connection) 2015-01-03T15:47:29Z theseb: Xach: as a python user i'm cool with that 2015-01-03T15:47:54Z woudshoo quit (Remote host closed the connection) 2015-01-03T15:48:01Z woudshoo joined #lisp 2015-01-03T15:49:14Z nikki93 joined #lisp 2015-01-03T15:49:33Z joast quit (Quit: Leaving.) 2015-01-03T15:51:03Z hitecnologys: theseb: you shouldn't be. 2015-01-03T15:51:25Z theseb: hitecnologys: i still love lisp 2015-01-03T15:52:31Z t4intz quit (Ping timeout: 256 seconds) 2015-01-03T15:53:39Z nikki93 quit (Ping timeout: 256 seconds) 2015-01-03T15:54:03Z hitecnologys: theseb: I mean the tabs. Indentation with tabs is horrible. 2015-01-03T15:54:27Z theseb: hitecnologys: i have emacs set to autoconvert to 8 spaces fwiw 2015-01-03T15:55:21Z test1600 joined #lisp 2015-01-03T15:55:37Z EvW joined #lisp 2015-01-03T15:56:21Z hitecnologys: theseb: isn't 8 a bit too much of space? 2015-01-03T16:01:15Z nyef: No, 8 spaces is the standard tab stop. 2015-01-03T16:01:30Z theseb: hitecnologys: i indent all my code 8 spaces too 2015-01-03T16:02:01Z theseb: hitecnologys: love the linux kernel coding standard... https://www.kernel.org/doc/Documentation/CodingStyle 2015-01-03T16:02:09Z theseb: hitecnologys: he splains why 8 space indents are a good idea 2015-01-03T16:02:20Z nyef: 8 spaces is the standard tab stop. Four spaces is the standard C indent level. Tabs may be used instead of spaces to indent C code ONLY, and even that should be rare. 2015-01-03T16:03:08Z theseb: nyef: i don't know that there is a "standard C indent level" 2015-01-03T16:05:38Z rurumate joined #lisp 2015-01-03T16:06:07Z towodo quit (Quit: towodo) 2015-01-03T16:07:09Z nyef: Meh. 2015-01-03T16:08:01Z towodo joined #lisp 2015-01-03T16:09:09Z wgslayer joined #lisp 2015-01-03T16:14:00Z drdanmaku joined #lisp 2015-01-03T16:14:03Z pjb: nyef: nope. the standard tab stop is 10 spaces. 2015-01-03T16:14:48Z pjb: (on the multics mainframes where my CS courses text files were written on). 2015-01-03T16:14:49Z Guest20792 quit (Ping timeout: 255 seconds) 2015-01-03T16:17:08Z dandersen quit (Changing host) 2015-01-03T16:17:08Z dandersen joined #lisp 2015-01-03T16:17:29Z stardiviner joined #lisp 2015-01-03T16:20:56Z Patzy quit (Ping timeout: 265 seconds) 2015-01-03T16:21:34Z Patzy joined #lisp 2015-01-03T16:21:59Z Grue` quit (Ping timeout: 244 seconds) 2015-01-03T16:23:56Z oleo is now known as Guest46209 2015-01-03T16:25:33Z zyaku quit (Quit: Lost terminal) 2015-01-03T16:25:44Z oleo__ joined #lisp 2015-01-03T16:26:43Z s00pcan_ joined #lisp 2015-01-03T16:26:50Z Guest46209 quit (Ping timeout: 244 seconds) 2015-01-03T16:27:38Z theseb quit (Quit: Leaving) 2015-01-03T16:30:01Z towodo quit (Quit: towodo) 2015-01-03T16:31:29Z stardiviner quit (Ping timeout: 244 seconds) 2015-01-03T16:31:51Z towodo joined #lisp 2015-01-03T16:33:30Z s00pcan_ quit (Remote host closed the connection) 2015-01-03T16:33:44Z s00pcan_ joined #lisp 2015-01-03T16:34:31Z s00pcan_ quit (Remote host closed the connection) 2015-01-03T16:34:53Z kushal joined #lisp 2015-01-03T16:35:32Z towodo quit (Client Quit) 2015-01-03T16:35:51Z pt1 joined #lisp 2015-01-03T16:36:20Z s00pcan_ joined #lisp 2015-01-03T16:37:01Z pt1 quit (Remote host closed the connection) 2015-01-03T16:37:10Z rurumate: is there something like "man pages" in the repl? 2015-01-03T16:37:22Z tharugrim quit (Ping timeout: 245 seconds) 2015-01-03T16:37:33Z nyef: clhs describe 2015-01-03T16:37:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_descri.htm 2015-01-03T16:37:38Z nyef: clhs apropos 2015-01-03T16:37:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_apropo.htm 2015-01-03T16:37:55Z rurumate: thanks nyef 2015-01-03T16:38:16Z towodo joined #lisp 2015-01-03T16:38:48Z s00pcan_ quit (Read error: Connection reset by peer) 2015-01-03T16:39:05Z tharugrim joined #lisp 2015-01-03T16:40:56Z Bicyclidine quit (Quit: Lost terminal) 2015-01-03T16:41:44Z s00pcan_ joined #lisp 2015-01-03T16:42:32Z Bicyclidine joined #lisp 2015-01-03T16:43:07Z Grue`` joined #lisp 2015-01-03T16:43:13Z Grue`` is now known as Grue` 2015-01-03T16:43:23Z kushal quit (Read error: Connection reset by peer) 2015-01-03T16:43:56Z Ven joined #lisp 2015-01-03T16:45:10Z dandersen quit (Ping timeout: 264 seconds) 2015-01-03T16:48:20Z zacharias quit (Ping timeout: 244 seconds) 2015-01-03T16:49:27Z towodo quit (Quit: towodo) 2015-01-03T16:50:22Z s00pcan_ quit (Ping timeout: 255 seconds) 2015-01-03T16:51:16Z joast joined #lisp 2015-01-03T16:53:40Z rurumate quit (Ping timeout: 250 seconds) 2015-01-03T16:53:41Z oleo__ quit (Quit: Verlassend) 2015-01-03T16:56:50Z kushal joined #lisp 2015-01-03T16:57:08Z Alfr joined #lisp 2015-01-03T16:57:51Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-01-03T17:05:04Z oleo joined #lisp 2015-01-03T17:05:08Z dagnachew joined #lisp 2015-01-03T17:08:07Z ejbs` joined #lisp 2015-01-03T17:08:11Z zophy joined #lisp 2015-01-03T17:09:52Z ejbs quit (Ping timeout: 245 seconds) 2015-01-03T17:11:42Z pt1 joined #lisp 2015-01-03T17:13:05Z pt1 quit (Remote host closed the connection) 2015-01-03T17:15:36Z pt1 joined #lisp 2015-01-03T17:16:36Z rurumate joined #lisp 2015-01-03T17:16:43Z antonv joined #lisp 2015-01-03T17:16:57Z xrash quit (Ping timeout: 240 seconds) 2015-01-03T17:16:59Z digiorgi_ joined #lisp 2015-01-03T17:19:56Z klltkr joined #lisp 2015-01-03T17:21:14Z pt1 quit (Remote host closed the connection) 2015-01-03T17:21:24Z gabriel_laddel quit (Ping timeout: 244 seconds) 2015-01-03T17:23:31Z klltkr quit (Read error: Connection reset by peer) 2015-01-03T17:27:33Z bhyde joined #lisp 2015-01-03T17:30:27Z bcoburn quit (Remote host closed the connection) 2015-01-03T17:32:15Z innertracks1 quit (Quit: innertracks1) 2015-01-03T17:37:22Z rurumate quit (Ping timeout: 264 seconds) 2015-01-03T17:38:05Z ejbs joined #lisp 2015-01-03T17:41:07Z rurumate joined #lisp 2015-01-03T17:55:19Z kushal quit (Quit: Leaving) 2015-01-03T17:57:44Z Petit_Dejeuner_ joined #lisp 2015-01-03T18:01:55Z rurumate quit (Ping timeout: 255 seconds) 2015-01-03T18:02:13Z Petit_Dejeuner_ quit (Ping timeout: 244 seconds) 2015-01-03T18:02:32Z Guest20792 joined #lisp 2015-01-03T18:03:04Z josemanuel quit (Quit: Saliendo) 2015-01-03T18:04:47Z BlueRavenGT joined #lisp 2015-01-03T18:07:20Z nell quit (Quit: WeeChat 1.1-rc1) 2015-01-03T18:11:57Z schaueho quit (Ping timeout: 240 seconds) 2015-01-03T18:14:37Z H4ns: clhs documentation 2015-01-03T18:14:37Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 2015-01-03T18:15:10Z tadni quit (Ping timeout: 264 seconds) 2015-01-03T18:18:00Z towodo joined #lisp 2015-01-03T18:20:41Z sismondi joined #lisp 2015-01-03T18:20:48Z nyef: Oh, right, that too, although DESCRIBE usually trots out anything relevant stored in DOCUMENTATION. 2015-01-03T18:23:47Z H4ns: interesting. i've never looked at it that way :) 2015-01-03T18:24:02Z pt1 joined #lisp 2015-01-03T18:30:14Z xrash joined #lisp 2015-01-03T18:35:42Z towodo quit (Quit: towodo) 2015-01-03T18:35:48Z woudshoo quit (Ping timeout: 244 seconds) 2015-01-03T18:36:37Z pt1 quit (Remote host closed the connection) 2015-01-03T18:37:36Z kpreid: DOCUMENTATION is the "api" and DESCRIBE is the "ui" 2015-01-03T18:38:50Z pt1_ joined #lisp 2015-01-03T18:39:25Z lispm joined #lisp 2015-01-03T18:42:33Z agumonkey quit (Ping timeout: 265 seconds) 2015-01-03T18:43:31Z scymtym quit (Ping timeout: 265 seconds) 2015-01-03T18:43:33Z agumonkey joined #lisp 2015-01-03T18:44:17Z Guest20792 quit (Read error: Connection reset by peer) 2015-01-03T18:44:35Z jleija joined #lisp 2015-01-03T18:44:38Z Guest20792 joined #lisp 2015-01-03T18:45:06Z EvW quit (Ping timeout: 244 seconds) 2015-01-03T18:45:33Z defaultxr joined #lisp 2015-01-03T18:47:54Z woudshoo joined #lisp 2015-01-03T18:49:53Z slyrus joined #lisp 2015-01-03T18:51:00Z emacsomancer00 quit (Read error: Connection reset by peer) 2015-01-03T18:52:03Z MutSbeta joined #lisp 2015-01-03T18:55:17Z pt1_ quit (Remote host closed the connection) 2015-01-03T19:02:12Z attila_lendvai joined #lisp 2015-01-03T19:04:07Z hekmek quit (Quit: Verlassend) 2015-01-03T19:13:32Z Grue`: when was the last quicklisp release? 2015-01-03T19:13:35Z EvW joined #lisp 2015-01-03T19:13:52Z stassats: last year 2015-01-03T19:14:55Z Grue`: oh right, i see december 17 2015-01-03T19:15:02Z fourier joined #lisp 2015-01-03T19:15:02Z fourier quit (Changing host) 2015-01-03T19:15:02Z fourier joined #lisp 2015-01-03T19:15:08Z innertracks joined #lisp 2015-01-03T19:15:13Z nyef: Which is the case for pretty much everything with a release schedule more often than annually and less often than daily... 2015-01-03T19:16:02Z stassats: the last sbcl release happened in different years in different time zones 2015-01-03T19:16:50Z Grue`: i'm just trying to find out why this commit made on november 5 hasn't made its way into quicklisp's cffi 2015-01-03T19:17:04Z Grue`: https://github.com/cffi/cffi/commit/ecd2040f5aa147a3edf230a184362373ff405724 2015-01-03T19:17:04Z stassats: because it hasn't been released? 2015-01-03T19:17:42Z Bicyclidine: last quicklisp release was the seventeenth, i think with cffi it uses releases rather than HEAD 2015-01-03T19:17:45Z Grue`: ah, cffi's last release is in september 2015-01-03T19:17:48Z Grue`: how sad 2015-01-03T19:21:01Z Qudit314159 quit (Remote host closed the connection) 2015-01-03T19:27:22Z fourier quit (Quit: Leaving) 2015-01-03T19:27:35Z nikki93 joined #lisp 2015-01-03T19:31:37Z slyrus quit (Ping timeout: 240 seconds) 2015-01-03T19:32:07Z tesuji quit (Ping timeout: 244 seconds) 2015-01-03T19:32:22Z stassats quit (Ping timeout: 240 seconds) 2015-01-03T19:32:31Z towodo joined #lisp 2015-01-03T19:34:25Z stacksmith quit (Remote host closed the connection) 2015-01-03T19:41:03Z sismondi_ joined #lisp 2015-01-03T19:41:57Z sismondi quit (Ping timeout: 245 seconds) 2015-01-03T19:41:57Z sismondi_ is now known as sismondi 2015-01-03T19:47:23Z tesuji joined #lisp 2015-01-03T19:48:25Z nydel quit (Quit: leaving) 2015-01-03T19:49:18Z sismondi_ joined #lisp 2015-01-03T19:50:17Z sismondi quit (Ping timeout: 245 seconds) 2015-01-03T19:50:17Z sismondi_ is now known as sismondi 2015-01-03T19:51:59Z cpc26 left #lisp 2015-01-03T19:52:00Z cpc26 joined #lisp 2015-01-03T19:52:31Z beach: Are there any functions other than COUNT and REDUCE for which it is required that the elements must be processed from the end? 2015-01-03T19:53:21Z beach: Er, I mean, when :from-end is T. 2015-01-03T19:53:47Z nyef: Well, the first check would be to look for functions that take a from-end argument.. 2015-01-03T19:54:00Z beach: Yes, did that. 2015-01-03T19:54:11Z nyef: clhs find-if 2015-01-03T19:54:11Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_find_.htm 2015-01-03T19:54:27Z beach: No sequence function other than COUNT requires it. 2015-01-03T19:54:33Z nyef: Hrm. 2015-01-03T19:54:51Z nyef: FIND-IF doesn't mandate a processing direction, just a result. 2015-01-03T19:54:59Z beach: I have doubts about REMOVE-DUPLICATES 2015-01-03T19:55:19Z beach: Also, MISMATCH, perhaps. 2015-01-03T19:59:03Z woudshoo` joined #lisp 2015-01-03T19:59:07Z brandonz quit (Remote host closed the connection) 2015-01-03T19:59:07Z brandonz_ quit (Remote host closed the connection) 2015-01-03T20:00:22Z xrash quit (Ping timeout: 240 seconds) 2015-01-03T20:00:43Z nyef: I think I'm about to use the (setf (car foo) (setf (cdar foo) (cons bar nil))) trick for list construction again. I so RARELY get to use that. (-: 2015-01-03T20:01:17Z ejbs`` joined #lisp 2015-01-03T20:02:18Z woudshoo quit (Ping timeout: 265 seconds) 2015-01-03T20:03:14Z EvW quit (Remote host closed the connection) 2015-01-03T20:03:16Z ejbs quit (Ping timeout: 265 seconds) 2015-01-03T20:03:16Z ejbs` quit (Ping timeout: 265 seconds) 2015-01-03T20:03:24Z EvW joined #lisp 2015-01-03T20:04:25Z zacharias joined #lisp 2015-01-03T20:04:28Z zacharias quit (Changing host) 2015-01-03T20:04:28Z zacharias joined #lisp 2015-01-03T20:05:15Z xrash joined #lisp 2015-01-03T20:06:42Z Posterdati quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2015-01-03T20:06:49Z beach: No problem. 2015-01-03T20:07:10Z beach: Time to go spend time with my (admittedly small) family. 2015-01-03T20:07:14Z beach left #lisp 2015-01-03T20:09:58Z woudshoo` quit (Ping timeout: 250 seconds) 2015-01-03T20:10:44Z Beetny joined #lisp 2015-01-03T20:13:42Z Posterdati joined #lisp 2015-01-03T20:16:37Z oudeis quit (Quit: This computer has gone to sleep) 2015-01-03T20:17:24Z nyef: clhs pop 2015-01-03T20:17:24Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_pop.htm 2015-01-03T20:18:10Z nyef: Okay, pop on an empty list is NIL. Good. 2015-01-03T20:19:02Z hzp quit (Ping timeout: 245 seconds) 2015-01-03T20:20:01Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T20:20:06Z nikki93_ joined #lisp 2015-01-03T20:24:10Z agumonkey quit (Ping timeout: 264 seconds) 2015-01-03T20:25:53Z agumonkey joined #lisp 2015-01-03T20:28:37Z digiorgi_ quit (Remote host closed the connection) 2015-01-03T20:28:48Z hzp joined #lisp 2015-01-03T20:29:19Z nyef: And it looks like I can mix WITH and FOR-AS in a LOOP and they will occur (with side effects) in the order that they appear textually... Which means that I'm probably NOT going to get to use that list construction trick. 2015-01-03T20:32:02Z bb010g joined #lisp 2015-01-03T20:32:03Z isoraqathedh_l is now known as isoraqathedh 2015-01-03T20:33:54Z flip214_ is now known as flip214 2015-01-03T20:34:01Z flip214 quit (Changing host) 2015-01-03T20:34:01Z flip214 joined #lisp 2015-01-03T20:34:28Z oudeis joined #lisp 2015-01-03T20:37:51Z ejbs``` joined #lisp 2015-01-03T20:39:26Z ejbs`` quit (Ping timeout: 250 seconds) 2015-01-03T20:39:59Z kjeldahl joined #lisp 2015-01-03T20:41:16Z oudeis quit (Quit: This computer has gone to sleep) 2015-01-03T20:46:17Z hzp quit (Ping timeout: 265 seconds) 2015-01-03T20:48:00Z hzp joined #lisp 2015-01-03T20:51:10Z nikki93_ quit (Read error: Connection reset by peer) 2015-01-03T20:51:26Z nikki93 joined #lisp 2015-01-03T20:52:02Z isoraqathedh_l joined #lisp 2015-01-03T20:52:09Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-01-03T20:52:25Z Shinmera joined #lisp 2015-01-03T20:52:26Z isoraqathedh quit (Ping timeout: 250 seconds) 2015-01-03T20:52:38Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T20:52:39Z nikki93_ joined #lisp 2015-01-03T20:54:22Z test1600 quit (Ping timeout: 240 seconds) 2015-01-03T20:59:55Z ejbs``` quit (Remote host closed the connection) 2015-01-03T21:02:43Z oudeis joined #lisp 2015-01-03T21:03:50Z stassats joined #lisp 2015-01-03T21:04:49Z ggole quit 2015-01-03T21:06:11Z nikki93_ quit (Read error: Connection reset by peer) 2015-01-03T21:06:38Z nikki93 joined #lisp 2015-01-03T21:12:02Z tadni joined #lisp 2015-01-03T21:12:16Z arcwest2 quit (Quit: Nettalk6 - www.ntalk.de) 2015-01-03T21:14:18Z towodo quit (Quit: towodo) 2015-01-03T21:20:55Z nyef: And, once again, having found seven or eight bugs in the function I'm working on over five test cases, I'm reminded of how thoroughly useful having a unit-test suite is. 2015-01-03T21:21:31Z stassats: i bet you would have been more careful without unit tests 2015-01-03T21:22:31Z nyef: No, I'd've gotten it to compile without warnings, tried it once or twice interactively, and moved on. 2015-01-03T21:23:03Z stassats: but would it make a sound? 2015-01-03T21:23:24Z nyef: Or I'd've gotten massively bogged down running the various test cases manually, forgetting the details of some of them each time.. 2015-01-03T21:23:27Z xrash quit (Ping timeout: 256 seconds) 2015-01-03T21:27:16Z nydel joined #lisp 2015-01-03T21:28:11Z bgs100 joined #lisp 2015-01-03T21:28:16Z xrash joined #lisp 2015-01-03T21:28:54Z oudeis quit (Read error: Connection reset by peer) 2015-01-03T21:29:19Z oudeis joined #lisp 2015-01-03T21:30:38Z stassats quit (Ping timeout: 244 seconds) 2015-01-03T21:31:08Z oudeis_ joined #lisp 2015-01-03T21:31:29Z tesuji quit (Ping timeout: 245 seconds) 2015-01-03T21:32:13Z nyef: Heh. I'd forgotten about the standard-bounding-rectangle / standard-rectangle thing. 2015-01-03T21:33:33Z nyef: https://github.com/abridgewater/nq-clim/blob/master/geometry/standard-rectangle.lisp#L17 has one version of my earlier commentary on the matter. 2015-01-03T21:33:59Z oudeis quit (Ping timeout: 245 seconds) 2015-01-03T21:34:04Z MutSbeta quit (Quit: Leaving.) 2015-01-03T21:34:19Z hiroakip joined #lisp 2015-01-03T21:34:34Z nyef: The other version is in standard-bounding-rectangle.lisp. 2015-01-03T21:35:35Z gravicappa quit (Ping timeout: 264 seconds) 2015-01-03T21:37:19Z Mon_Ouie quit (Ping timeout: 245 seconds) 2015-01-03T21:39:46Z Alfr quit (Quit: Leaving) 2015-01-03T21:43:28Z innertracks quit (Quit: innertracks) 2015-01-03T21:48:52Z s00pcan_ joined #lisp 2015-01-03T21:49:16Z Mon_Ouie joined #lisp 2015-01-03T21:49:28Z Mon_Ouie quit (Changing host) 2015-01-03T21:49:28Z Mon_Ouie joined #lisp 2015-01-03T21:52:38Z hrs quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-01-03T21:54:27Z towodo joined #lisp 2015-01-03T21:57:26Z s00pcan_ quit (Ping timeout: 250 seconds) 2015-01-03T21:59:08Z nikki93 quit (Read error: Connection reset by peer) 2015-01-03T21:59:29Z nikki93 joined #lisp 2015-01-03T22:01:41Z Patzy quit (Ping timeout: 265 seconds) 2015-01-03T22:02:09Z Patzy joined #lisp 2015-01-03T22:02:12Z stassats joined #lisp 2015-01-03T22:05:28Z chef__ joined #lisp 2015-01-03T22:05:47Z chef__ quit (Remote host closed the connection) 2015-01-03T22:07:17Z stassats quit (Ping timeout: 240 seconds) 2015-01-03T22:07:24Z innertracks joined #lisp 2015-01-03T22:07:39Z xificurC quit (Ping timeout: 256 seconds) 2015-01-03T22:08:09Z drl quit (Ping timeout: 244 seconds) 2015-01-03T22:08:13Z drl_ quit (Ping timeout: 256 seconds) 2015-01-03T22:08:19Z Luna_ joined #lisp 2015-01-03T22:11:47Z drl joined #lisp 2015-01-03T22:12:57Z drl_ joined #lisp 2015-01-03T22:13:37Z AeroNotix quit (Ping timeout: 240 seconds) 2015-01-03T22:14:45Z enitiz joined #lisp 2015-01-03T22:15:26Z oudeis_ quit (Quit: This computer has gone to sleep) 2015-01-03T22:16:43Z keen__________22 quit (Read error: Connection reset by peer) 2015-01-03T22:17:04Z lispm quit (Ping timeout: 255 seconds) 2015-01-03T22:17:35Z towodo quit (Quit: towodo) 2015-01-03T22:19:39Z keen__________22 joined #lisp 2015-01-03T22:21:12Z Zamenhof joined #lisp 2015-01-03T22:22:24Z towodo joined #lisp 2015-01-03T22:29:13Z towodo quit (Quit: towodo) 2015-01-03T22:35:21Z Guest20792 quit (Remote host closed the connection) 2015-01-03T22:36:12Z drmeister_ is now known as drmeister 2015-01-03T22:37:38Z Dynasty joined #lisp 2015-01-03T22:37:57Z gingerale quit (Ping timeout: 240 seconds) 2015-01-03T22:42:40Z nell joined #lisp 2015-01-03T22:44:27Z ehu quit (Ping timeout: 245 seconds) 2015-01-03T22:45:02Z dmitescu joined #lisp 2015-01-03T22:47:08Z nyef: "You know that you cut some corners when your region union operation only works correctly if both regions consist of only rectangles with the same height and vertical position." 2015-01-03T22:47:10Z dmitescu quit (Client Quit) 2015-01-03T22:47:46Z nyef: On the upside, at least that much works, and it scales to far, far more rectangles than my previous attempt did. 2015-01-03T22:47:56Z innertracks quit (Ping timeout: 244 seconds) 2015-01-03T22:48:01Z nyef: ... provided that they all share the same vertical aspect. 2015-01-03T22:48:10Z eudoxia joined #lisp 2015-01-03T22:48:11Z spacebat quit (Ping timeout: 264 seconds) 2015-01-03T22:52:06Z innertracks joined #lisp 2015-01-03T22:53:02Z hardenedapple quit (Quit: WeeChat 1.0.1) 2015-01-03T22:53:11Z oudeis joined #lisp 2015-01-03T22:56:04Z Jesin quit (Quit: Leaving) 2015-01-03T22:56:22Z drmeister: The SLIME function FRAME-LOCALS returns a list of (:name XXX :id YYY :value ZZZ) for the frame locals. Is the :id YYY the same id required by the function FRAME-VAR-VALUE? 2015-01-03T22:56:57Z drmeister: My guess is that it is. 2015-01-03T22:58:16Z drmeister: I don't have a unique id for each frame local so I was going to start with 0 and count the locals and use the count as the id. 2015-01-03T22:58:32Z ejbs joined #lisp 2015-01-03T22:58:37Z nyef: ... or use a list of the data-type and the address in memory? 2015-01-03T22:58:51Z nyef: (That way you have the information that you need to get at the value Right There.) 2015-01-03T22:58:57Z s00pcan_ joined #lisp 2015-01-03T22:59:29Z nyef: On the other hand, I don't know that a non-EQL-comparable value works for an id there. 2015-01-03T22:59:34Z ejbs: Is there any point (performance wise) in using a one-dimensional array and doing the maths yourself when you need a multi-dimensional array or are multi-dimensional arrays in SBCL already optimised for that? 2015-01-03T23:00:12Z nyef: ejbs: Don't forget row-major-aref. 2015-01-03T23:00:50Z nyef: ejbs: Express what you want to express first, THEN worry about optimization. 2015-01-03T23:01:05Z edgar-rft joined #lisp 2015-01-03T23:01:14Z mrkkrp left #lisp 2015-01-03T23:01:32Z Xach: drmeister: i don't know if it will be of any help, but corman lisp source will be available soon 2015-01-03T23:01:38Z nyef: (That way you, too, can have the experience of taking a program that spends ten hours doing computations before crashing and speeding it up so that it takes mere seconds to run to the same point.) 2015-01-03T23:01:50Z drmeister: Xach: For what? 2015-01-03T23:02:12Z Xach: drmeister: it is a lisp written in C++ and Common Lisp 2015-01-03T23:02:24Z Xach: maybe something useful could be borrowed, maybe not 2015-01-03T23:02:29Z ejbs: nyef: Hehe :), true! I was mostly curious if a common optimisation route is 'solved' by the compiler 2015-01-03T23:02:39Z drmeister: I don't know anything about Corman Common Lisp. 2015-01-03T23:03:06Z ejbs: drmeister: I'm pretty sure you know that it's written in C++ and Common Lisp ;-) 2015-01-03T23:05:18Z Jesin joined #lisp 2015-01-03T23:06:16Z mrSpec quit (Remote host closed the connection) 2015-01-03T23:06:18Z LiamH quit (Quit: Leaving.) 2015-01-03T23:07:01Z s00pcan_ quit (Remote host closed the connection) 2015-01-03T23:07:17Z oleo quit (Quit: Verlassend) 2015-01-03T23:08:29Z Jesin quit (Client Quit) 2015-01-03T23:11:08Z AeroNotix joined #lisp 2015-01-03T23:13:25Z drmeister: I'll take a look at it when it becomes available. 2015-01-03T23:13:42Z enitiz quit (Ping timeout: 265 seconds) 2015-01-03T23:15:21Z Jesin joined #lisp 2015-01-03T23:16:44Z gabriel_laddel joined #lisp 2015-01-03T23:17:05Z EvW quit (Ping timeout: 265 seconds) 2015-01-03T23:17:24Z oleo joined #lisp 2015-01-03T23:19:45Z gabriel_laddel quit (Changing host) 2015-01-03T23:19:45Z gabriel_laddel joined #lisp 2015-01-03T23:26:21Z nyef: ... Trying to figure out what test case to add next such that I can force an improvement to the system without causing me to implement the entire thing. 2015-01-03T23:27:08Z malbertife joined #lisp 2015-01-03T23:31:14Z nyef: The problem with just implementing the entire thing being that then I'll have a bunch of test cases that I still need to come up with, but they'll all just work. /-: 2015-01-03T23:33:03Z nyef: Hrm. Okay, I think I have a couple. 2015-01-03T23:35:28Z enitiz joined #lisp 2015-01-03T23:36:50Z rurumate joined #lisp 2015-01-03T23:37:58Z drmeister: Does sbcl provide access to variables in registers from the slime debugger? If so - how? 2015-01-03T23:39:07Z innertracks quit (Quit: innertracks) 2015-01-03T23:39:09Z drmeister: via the swank functions FRAME-LOCALS and FRAME-VAR-VALUE 2015-01-03T23:39:55Z nyef: If it does, it would depend on the host architecture and the register. 2015-01-03T23:40:18Z nyef: Floating-point registers on x86oids are a bit of a no-go zone, for example. 2015-01-03T23:40:31Z nyef: Something about 80-bit floating point formats not being supported. 2015-01-03T23:41:13Z nyef: I don't actually know how the slime debugger interacts with sbcl, so I can't really say beyond that. 2015-01-03T23:41:15Z MoALTz_ joined #lisp 2015-01-03T23:43:11Z nyef: Hrm. SB-DI:DEBUG-VAR-VALUE... 2015-01-03T23:43:11Z hekmek joined #lisp 2015-01-03T23:43:23Z nyef: (working from a fairly old version of SLIME here.) 2015-01-03T23:44:27Z MoALTz quit (Ping timeout: 244 seconds) 2015-01-03T23:44:37Z nyef: debug-var-value => access-compiled-debug-var-slot => sub-access-debug-var-slot => oh, god THAT thing. 2015-01-03T23:44:44Z drmeister: I'm reading the swank/sbcl.lisp source. 2015-01-03T23:45:24Z nyef: Yes, it looks like it CAN read the register values out of a signal context, so long as it's not an x86oid floating-point register. 2015-01-03T23:45:29Z drmeister: I need to switch to DWARF and stop trying to roll my own debug annotation code. 2015-01-03T23:46:16Z rurumate: what does (declare #.*standard-optimize-settings*) do? e.g. in cl-ppcre's parser.lisp 2015-01-03T23:46:52Z Bicyclidine: rurumate: #. is read time evaluation. basically it plugs the values in standard optimize settings into things. 2015-01-03T23:47:01Z nyef: rurumate: That would rather depend on the value of *standard-optimize-settings* at read-time. 2015-01-03T23:47:02Z Bicyclidine: it's pcre-specific, dunno if the rest of weitz's code does it even 2015-01-03T23:48:28Z rurumate: so *standard-optimize-settings* is from cl package? 2015-01-03T23:48:53Z Shinmera: No 2015-01-03T23:49:09Z Shinmera: An M-. on it will reveal its mysterious circumstances! 2015-01-03T23:49:49Z enitiz quit (Quit: Leaving) 2015-01-03T23:49:56Z nyef: Oop. Gotta run. Back in half an hour or so. 2015-01-03T23:52:37Z eudoxia_ joined #lisp 2015-01-03T23:52:37Z eudoxia quit (Read error: Connection reset by peer) 2015-01-03T23:52:55Z rurumate: Shinmera: indeed, thanks 2015-01-03T23:53:27Z Shinmera: Never be afraid to jump around everywhere with M-. 2015-01-03T23:53:55Z rurumate: anyway there seems to be a lot of redundancy in cl-ppcre: http://paste.lisp.org/display/145069 2015-01-03T23:54:39Z Shinmera: How is that redundant? 2015-01-03T23:54:55Z rurumate: it's the same line all over the place 2015-01-03T23:54:59Z rurumate: what does it even do? 2015-01-03T23:55:13Z Shinmera: Declare optimisation settings, as it clearly says. 2015-01-03T23:55:25Z Xach: rurumate: those settings must be declared in each defun 2015-01-03T23:55:44Z rurumate: Xach: how so? 2015-01-03T23:56:02Z Ethan- joined #lisp 2015-01-03T23:56:03Z rurumate: is there no other way? 2015-01-03T23:56:20Z Shinmera: There's declaim, but that's bad because it might spill over. 2015-01-03T23:57:05Z rurumate: but there is the defvar in specials.lisp, is that not enough? 2015-01-03T23:57:11Z Xach: rurumate: no. 2015-01-03T23:57:13Z Shinmera: No? 2015-01-03T23:57:14Z stacksmith joined #lisp 2015-01-03T23:57:26Z Xach: rurumate: i think it is probably best to just accept it for now. it will become clearer later. 2015-01-03T23:57:49Z Xach: rurumate: some of the things cl-ppcre does is not typical, but it's because it aims high in certain areas 2015-01-03T23:58:06Z Xach: it is not all that typical to make such declarations in every defun, unless you have certain goals 2015-01-03T23:59:30Z Shinmera: That defvar does just the same thing as any defvar does: Define a special variable. Just because it's called *standard-optimize-settings* doesn't make it some magical variable that does things for you. 2015-01-03T23:59:58Z towodo joined #lisp