2015-03-22T00:03:51Z Joreji joined #lisp 2015-03-22T00:03:58Z MrWoohoo joined #lisp 2015-03-22T00:04:30Z cyphase quit (Ping timeout: 265 seconds) 2015-03-22T00:05:09Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T00:06:27Z ehu quit (Quit: Leaving.) 2015-03-22T00:08:49Z guicho_ joined #lisp 2015-03-22T00:10:28Z Joreji joined #lisp 2015-03-22T00:13:05Z hiyosi joined #lisp 2015-03-22T00:13:57Z {-}grant joined #lisp 2015-03-22T00:14:42Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T00:15:48Z nyef: Doesn't drmeister have some good angles for rendering large graphs? 2015-03-22T00:17:01Z cyphase joined #lisp 2015-03-22T00:17:22Z stepnem quit (Ping timeout: 245 seconds) 2015-03-22T00:18:36Z intinig joined #lisp 2015-03-22T00:20:10Z Joreji joined #lisp 2015-03-22T00:20:13Z gmcastil joined #lisp 2015-03-22T00:21:23Z remi`bd quit (Quit: leaving) 2015-03-22T00:21:30Z intinig quit (Remote host closed the connection) 2015-03-22T00:23:20Z pt1 quit (Remote host closed the connection) 2015-03-22T00:25:36Z drmeister: Cystoscape or Tulip 2015-03-22T00:27:12Z Shinmera: mood: I was able to view the SVG in browsers, though it lagged like crazy. 2015-03-22T00:27:43Z Shinmera: Converting to png will be much worse. 2015-03-22T00:30:53Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T00:35:35Z sdothum quit (Quit: ZNC - 1.6.0 - http://znc.in) 2015-03-22T00:35:36Z pacon quit (Read error: Connection reset by peer) 2015-03-22T00:36:03Z echo-area quit (Remote host closed the connection) 2015-03-22T00:36:05Z mood: Shinmera: The SVG is viewable, yes, but there are too many lines everywhere. PNG is usually rendered faster than SVG, but the filesize will probably get rid of any performance gains. 2015-03-22T00:36:23Z Joreji joined #lisp 2015-03-22T00:36:32Z Shinmera: I couldn't even load the pngs anywhere when I tried that 2015-03-22T00:37:16Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T00:37:19Z sdothum joined #lisp 2015-03-22T00:37:34Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-03-22T00:38:34Z intinig joined #lisp 2015-03-22T00:39:11Z mood: Shinmera: I now have a 33M png rendered using fdp. Initial rendering performance is horrible, but once I'm at a zoom level I like it's very fast 2015-03-22T00:40:14Z mood: It's not at all useful though 2015-03-22T00:40:38Z echo-area joined #lisp 2015-03-22T00:42:52Z Joreji joined #lisp 2015-03-22T00:43:53Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T00:44:20Z Phagus joined #lisp 2015-03-22T00:44:25Z intinig quit (Remote host closed the connection) 2015-03-22T00:44:37Z cyphase quit (Ping timeout: 265 seconds) 2015-03-22T00:44:48Z Phagus: In CLISP, is it possible to inspect the help string of a function on-line in the repl? 2015-03-22T00:45:07Z Phagus: Eg, something like (help setq), and it would display the documentation for setq? 2015-03-22T00:46:15Z Bike: (documentation 'setq 'function) 2015-03-22T00:46:20Z Bike: though i don't know if there is any 2015-03-22T00:46:25Z Bike: (describe 'setq) might be more helpful. 2015-03-22T00:46:51Z Phagus: HMmmm... its a litle ugly 2015-03-22T00:47:20Z Bike: there's no guarantee implementations keep documentation of standard functions around. usually easier just to look at the clhs. 2015-03-22T00:47:25Z mood: There isn't any. It looks like CLISP tries to fetch a HyperSpec entry on (describe 'setq). Too bad it's a 404. 2015-03-22T00:47:37Z {-}grant quit (Remote host closed the connection) 2015-03-22T00:47:47Z Phagus: I mean, IPython's REPL and pry for Ruby both let you get on-line documentation 2015-03-22T00:47:52Z Phagus: It helps a lot 2015-03-22T00:48:50Z nyef: I've never been impressed with GNU CLISP, and this bit of anecdata doesn't exactly inspire me to reevaluate it. (-: 2015-03-22T00:48:59Z {-}grant joined #lisp 2015-03-22T00:49:27Z Joreji joined #lisp 2015-03-22T00:49:28Z Phagus: What do you use nyef ? 2015-03-22T00:49:40Z mood: nyef: SBCL isn't really more helpful here 2015-03-22T00:49:41Z _death: if you're using slime, you can C-c C-d C-h to look up a symbol in the CLHS, after setting things up. 2015-03-22T00:49:48Z Bike: well, sbcl's describe says pretty much nothing relevant to a newbie 2015-03-22T00:49:55Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T00:51:00Z _death: erm, `C-c C-d h' 2015-03-22T00:52:02Z _death: you can also `C-c C-d d' to describe a symbol. https://common-lisp.net/project/slime/doc/html/Documentation.html 2015-03-22T00:53:08Z Phagus: Does SLIME mesh well with emacs-evil? 2015-03-22T00:53:16Z x1n4u joined #lisp 2015-03-22T00:53:30Z mood: Phagus: Well enough for me, at least 2015-03-22T00:53:49Z mood: You'll have to use some Emacs-isms, but I haven't found any horrible conflicts 2015-03-22T00:54:27Z mood: Or, well, you can configure things so you don't need the Emacs-isms if you really hate them, I guess 2015-03-22T00:54:46Z Phagus: I don't mind occasional Emacs-isms 2015-03-22T00:56:49Z xinau quit (Ping timeout: 264 seconds) 2015-03-22T00:57:15Z cyphase joined #lisp 2015-03-22T00:58:45Z gmcastil quit (Remote host closed the connection) 2015-03-22T01:02:31Z drmeister: I often render graphviz graphs as eps and open them in adobe illustrator. You can search for text in nodes. You can also select edges and change their appearance. 2015-03-22T01:04:29Z Joreji joined #lisp 2015-03-22T01:04:33Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T01:06:45Z resttime quit (Ping timeout: 246 seconds) 2015-03-22T01:07:26Z k-stz quit (Remote host closed the connection) 2015-03-22T01:07:33Z munksgaard quit (Ping timeout: 264 seconds) 2015-03-22T01:07:42Z xrash quit (Remote host closed the connection) 2015-03-22T01:07:56Z xrash joined #lisp 2015-03-22T01:09:30Z Joreji joined #lisp 2015-03-22T01:09:35Z leb quit (Quit: Computer has gone to sleep.) 2015-03-22T01:10:14Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T01:12:20Z EvW quit (Quit: EvW) 2015-03-22T01:13:20Z linux_dream quit (Quit: Leaving) 2015-03-22T01:13:29Z linux_dream joined #lisp 2015-03-22T01:19:07Z chu_ joined #lisp 2015-03-22T01:21:03Z Joreji joined #lisp 2015-03-22T01:22:30Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T01:22:49Z chu quit (Ping timeout: 256 seconds) 2015-03-22T01:25:37Z rszeno joined #lisp 2015-03-22T01:26:03Z Joreji joined #lisp 2015-03-22T01:26:22Z smokeink joined #lisp 2015-03-22T01:27:06Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T01:27:11Z smokeink quit (Remote host closed the connection) 2015-03-22T01:28:14Z clop quit (Ping timeout: 252 seconds) 2015-03-22T01:29:46Z t4nk228 joined #lisp 2015-03-22T01:30:12Z bb010g quit (Quit: Connection closed for inactivity) 2015-03-22T01:32:40Z Joreji joined #lisp 2015-03-22T01:32:44Z xrash quit (Remote host closed the connection) 2015-03-22T01:33:10Z xrash joined #lisp 2015-03-22T01:34:44Z t4nk228 quit (Quit: Page closed) 2015-03-22T01:34:44Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T01:37:19Z slyrus quit (Ping timeout: 245 seconds) 2015-03-22T01:37:54Z slyrus joined #lisp 2015-03-22T01:39:20Z t4nk383 joined #lisp 2015-03-22T01:39:41Z t4nk383 quit (Client Quit) 2015-03-22T01:40:19Z Joreji joined #lisp 2015-03-22T01:40:54Z thodg joined #lisp 2015-03-22T01:43:26Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T01:47:15Z resttime joined #lisp 2015-03-22T01:48:46Z _leb joined #lisp 2015-03-22T01:53:57Z Joreji joined #lisp 2015-03-22T01:55:38Z smokeink joined #lisp 2015-03-22T01:55:44Z yeticry quit (Ping timeout: 272 seconds) 2015-03-22T01:56:29Z yeticry joined #lisp 2015-03-22T01:59:15Z xrash quit (Ping timeout: 244 seconds) 2015-03-22T02:01:04Z xiaoguo joined #lisp 2015-03-22T02:01:34Z yeticry quit (Remote host closed the connection) 2015-03-22T02:02:03Z yeticry joined #lisp 2015-03-22T02:02:37Z smokeink: http://paste.lisp.org/display/146421 any idea how to optimize it? It quickly exhausts the stack 2015-03-22T02:04:13Z xrash joined #lisp 2015-03-22T02:04:49Z {-}grant quit (Remote host closed the connection) 2015-03-22T02:07:26Z zacharias quit (Ping timeout: 256 seconds) 2015-03-22T02:09:38Z {-}grant joined #lisp 2015-03-22T02:13:29Z CrazyEddy quit (Remote host closed the connection) 2015-03-22T02:15:58Z munksgaard joined #lisp 2015-03-22T02:16:00Z CrazyEddy joined #lisp 2015-03-22T02:16:59Z mj-0 joined #lisp 2015-03-22T02:17:03Z mj-0 quit (Remote host closed the connection) 2015-03-22T02:17:42Z futpib quit (Quit: Konversation terminated!) 2015-03-22T02:18:50Z ewiltshi quit (Ping timeout: 246 seconds) 2015-03-22T02:20:14Z ewiltshi joined #lisp 2015-03-22T02:20:40Z defaultxr quit (Quit: brb) 2015-03-22T02:25:15Z drmeister: Got through compiling CLOS with Cleavir/Clasp - just a few more things to finish up. 2015-03-22T02:25:34Z defaultxr joined #lisp 2015-03-22T02:26:01Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T02:26:24Z {-}grant quit (Read error: Connection reset by peer) 2015-03-22T02:26:26Z {-}grant- joined #lisp 2015-03-22T02:26:49Z ewiltshi quit (Ping timeout: 255 seconds) 2015-03-22T02:27:07Z guicho_ quit (Ping timeout: 252 seconds) 2015-03-22T02:31:25Z ewiltshi joined #lisp 2015-03-22T02:33:40Z PinealGlandOptic quit (Quit: leaving) 2015-03-22T02:34:20Z cyphase quit (Ping timeout: 265 seconds) 2015-03-22T02:34:20Z PinealGlandOptic joined #lisp 2015-03-22T02:34:32Z badkins quit (Remote host closed the connection) 2015-03-22T02:35:12Z {-}grant- quit (Ping timeout: 256 seconds) 2015-03-22T02:37:54Z innertracks quit (Quit: innertracks) 2015-03-22T02:47:08Z cyphase joined #lisp 2015-03-22T02:47:10Z Phagus quit (Quit: leaving) 2015-03-22T02:48:25Z nyef: drmeister: Congratulations. 2015-03-22T02:48:33Z nyef: CLOS is a major step! 2015-03-22T02:48:51Z drmeister: Thanks. 2015-03-22T02:49:17Z jasom: whoa, congrats drmeister 2015-03-22T02:49:50Z drmeister: Next is compiling Cleavir/Clasp with Cleavir/Clasp 2015-03-22T02:50:55Z nyef: Ah, yes. The MFTL test: "Can it compile itself yet?" 2015-03-22T02:51:16Z jasom: smokeink: I think just enabling optimizations will prevent it from blowing the stack, but it's going to be slow 2015-03-22T02:52:14Z jasom: smokeink: as long as you have tail-calls sbcl should eliminate them with (speed 3) and (debug 1) 2015-03-22T02:52:28Z LiamH quit (Ping timeout: 244 seconds) 2015-03-22T02:52:44Z xrash quit (Ping timeout: 272 seconds) 2015-03-22T02:53:48Z drmeister: nyef: Yes - Fare sent me a recipe for extracting every source file from an ASDF system - time to try it out and compile those files. 2015-03-22T02:54:43Z rszeno quit (Ping timeout: 255 seconds) 2015-03-22T02:54:49Z jasom: smokeink: also if you're going to do a naive fibonacci, at least memoize it 2015-03-22T02:55:33Z ASau` joined #lisp 2015-03-22T02:57:14Z xrash joined #lisp 2015-03-22T02:57:25Z nyef: This "lazy evaluation" thing doesn't make all that much sense to me in terms of semantics. 2015-03-22T02:58:48Z munksgaard quit (Ping timeout: 252 seconds) 2015-03-22T02:58:59Z ASau quit (Ping timeout: 245 seconds) 2015-03-22T02:59:17Z ASau` is now known as ASau 2015-03-22T03:01:55Z rszeno joined #lisp 2015-03-22T03:02:03Z slyrus quit (Remote host closed the connection) 2015-03-22T03:04:12Z phax joined #lisp 2015-03-22T03:05:02Z jasom: me neither 2015-03-22T03:05:25Z jasom: It's lazily evaluating fib, but not caching the result. Worst of both worlds 2015-03-22T03:06:25Z psy_ quit (Ping timeout: 264 seconds) 2015-03-22T03:06:35Z mbuf joined #lisp 2015-03-22T03:06:51Z nyef: It's even worse than that: FIB is defined recursively in terms of these half-baked lazy structures. 2015-03-22T03:07:06Z jasom: right 2015-03-22T03:07:22Z nyef: That's what's blowing the stack, actually. 2015-03-22T03:08:27Z nyef: Well, most likely. 2015-03-22T03:13:11Z linux_dream quit (Quit: Leaving) 2015-03-22T03:14:24Z fierydiarreha joined #lisp 2015-03-22T03:14:27Z drmeister: Damn - I didn't get my meaning across to Fare - this recipe: (mapcar 'asdf:component-pathname (asdf::required-components :clasp-cleavir :keep-component 'asdf:cl-source-file)) only gives me the files in the :clasp-cleavir system - not the systems it depends on (recursively). 2015-03-22T03:14:49Z bandrami quit (Ping timeout: 264 seconds) 2015-03-22T03:15:52Z echo-area quit (Remote host closed the connection) 2015-03-22T03:16:33Z echo-area joined #lisp 2015-03-22T03:17:44Z ASau quit (Ping timeout: 245 seconds) 2015-03-22T03:20:21Z drmeister: Someone here gave me some Common Lisp code a couple of days ago that builds a list of all source files compiled by ASDF when building a system - I forgot what their handle was - thank you kind stranger! 2015-03-22T03:20:32Z drmeister: It works beautifully. 2015-03-22T03:20:52Z arpunk quit (Remote host closed the connection) 2015-03-22T03:22:13Z drmeister: 119 source files - on top of the 82 that I currently have - (sigh). Great! 2015-03-22T03:22:35Z drmeister: Might as well rest a spell - this is going to take some time. 2015-03-22T03:23:59Z ASau joined #lisp 2015-03-22T03:24:05Z drmeister: Does anyone know how to take an ASDF CL-SOURCE-FILE and get the full pathname for it? 2015-03-22T03:26:41Z Phagus joined #lisp 2015-03-22T03:27:26Z Phagus: Which implementation of Scheme should one use for SICP? I've been reading recommendations to use Racket, but I'm not sure 2015-03-22T03:30:11Z sdothum quit (Quit: ZNC - 1.6.0 - http://znc.in) 2015-03-22T03:31:16Z alusion quit (Quit: WeeChat 1.2-dev) 2015-03-22T03:31:27Z yakccd joined #lisp 2015-03-22T03:32:45Z drmeister: Got it: asdf/component:component-pathname 2015-03-22T03:33:41Z drmeister: Phagus: There's an MIT Scheme. 2015-03-22T03:34:45Z cyphase quit (Ping timeout: 265 seconds) 2015-03-22T03:40:38Z psy_ joined #lisp 2015-03-22T03:41:06Z Phagus: Yeah found it.. Attempting to make it 2015-03-22T03:42:46Z psy_ quit (Max SendQ exceeded) 2015-03-22T03:42:57Z ASau quit (Ping timeout: 264 seconds) 2015-03-22T03:44:50Z psy_ joined #lisp 2015-03-22T03:47:10Z cyphase joined #lisp 2015-03-22T03:47:32Z ASau joined #lisp 2015-03-22T03:48:06Z SAL9000 joined #lisp 2015-03-22T03:52:28Z scymtym quit (Read error: Connection reset by peer) 2015-03-22T03:55:03Z wz1000 quit (Quit: WeeChat 1.1.1) 2015-03-22T03:59:54Z jleija quit (Quit: leaving) 2015-03-22T04:01:12Z drmeister: There's a Common Lisp function for reducing a pathname to the minimum relative path relative to some other pathname - does anyone recall what it is called? 2015-03-22T04:01:50Z drmeister: It doesn't have PATHNAME in the name - I keep forgetting what it is called. 2015-03-22T04:02:35Z drmeister: ENOUGH-NAMESTRING - grr 2015-03-22T04:02:37Z guicho joined #lisp 2015-03-22T04:03:43Z cluck quit (Remote host closed the connection) 2015-03-22T04:07:44Z ASau quit (Ping timeout: 245 seconds) 2015-03-22T04:08:06Z chu_ quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-22T04:11:24Z SAL9000: can lparallel play nice with cl-async & blackbird's promises? 2015-03-22T04:11:51Z beach joined #lisp 2015-03-22T04:12:00Z xiaoguo quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2015-03-22T04:12:05Z beach: Good morning everyone! 2015-03-22T04:12:10Z akkad: morning? 2015-03-22T04:12:19Z ASau joined #lisp 2015-03-22T04:13:52Z Phagus: In MIT scheme repl, how do I disable on-line debugging? In clisp for example you can do at start-up: `clisp -on-error abort` 2015-03-22T04:14:07Z beach: Phagus: This channel is about Common Lisp. 2015-03-22T04:14:22Z cyphase quit (Ping timeout: 256 seconds) 2015-03-22T04:14:22Z SAL9000: Phagus: #scheme 2015-03-22T04:14:23Z ggole joined #lisp 2015-03-22T04:14:45Z akkad: unless cl on racket has happened. 2015-03-22T04:16:36Z SAL9000: given two (or more) implementations of similar classes e.g. PURI and QURI, how does one go about making them interoperable? 2015-03-22T04:17:31Z SAL9000: in other words, (drakma:http-request) wants a PURI object or string, while my code works with QURI objects. Is there some way to define an automatic "conversion" from QURI to PURI? 2015-03-22T04:17:55Z SAL9000: of course, I can just (puri:uri (render-uri quri-obj)) but that's inefficient. 2015-03-22T04:21:26Z hrr4 joined #lisp 2015-03-22T04:22:57Z badkins joined #lisp 2015-03-22T04:23:57Z pillton: I have a beta version of a system which implements a new function which is similar to a generic function but dispatches according to type. 2015-03-22T04:24:00Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2015-03-22T04:24:09Z pillton: https://github.com/markcox80/specialization-store 2015-03-22T04:24:13Z pillton: Comments welcomed. 2015-03-22T04:25:15Z pavelpenev joined #lisp 2015-03-22T04:25:44Z beach: pillton: Provides a new "kind of function" rather than just a new "function"? 2015-03-22T04:26:01Z Beetny joined #lisp 2015-03-22T04:26:10Z pillton: Ok. 2015-03-22T04:27:21Z cyphase joined #lisp 2015-03-22T04:27:25Z memoized-pyon is now known as extensional-pyon 2015-03-22T04:27:40Z beach: pillton: Looks very useful. 2015-03-22T04:27:48Z beach: pillton: How is it implemented? 2015-03-22T04:27:48Z drmeister: Hi beach - I compiled all of CLOS 2015-03-22T04:27:49Z badkins quit (Ping timeout: 250 seconds) 2015-03-22T04:28:08Z guicho: pillton: just yesterday I was implementing a system that captures type variables, but suspendend. structures based on type varables are already completed, however propagating the type restriction is a bit complicated. https://github.com/guicho271828/trivialib.typevar 2015-03-22T04:28:10Z beach: drmeister: Wow! That's good progress. 2015-03-22T04:28:45Z beach: drmeister: I was just thinking about that class constant. It is going to become a problem if it is a constant. 2015-03-22T04:29:21Z drmeister: I added code to generate code for literals that are built-in classes. 2015-03-22T04:29:33Z ASau quit (Ping timeout: 250 seconds) 2015-03-22T04:29:42Z PinealGlandOptic quit (Quit: leaving) 2015-03-22T04:29:53Z beach: drmeister: How does it work? 2015-03-22T04:29:54Z drmeister: So I can COMPILE-FILE stuff like (defvar *a* #.(find-class 'integer)) 2015-03-22T04:30:13Z pillton: beach: Using CLOS at present. I looked (briefly) at making it circular, but didn't think it was worth the effort. 2015-03-22T04:30:27Z drmeister: It generates code that evaluates FIND-CLASS with the symbol. 2015-03-22T04:30:56Z guicho: pillton: dispatches according to type << I wonder how the matching tree is optimized. 2015-03-22T04:30:58Z beach: drmeister: It does that at load time? 2015-03-22T04:31:01Z drmeister: Yes. 2015-03-22T04:31:15Z beach: drmeister: OK, so you are sure to get the EQ object. Good. 2015-03-22T04:31:31Z pillton: guicho: It isn't at present. 2015-03-22T04:31:31Z drmeister: Yes. 2015-03-22T04:31:47Z drmeister: beach: Do you understand how the init-form works for MAKE-LOAD-FORM? 2015-03-22T04:32:04Z pillton: guicho: There are mechanisms for moving it all to compile time though. 2015-03-22T04:32:04Z PinealGlandOptic joined #lisp 2015-03-22T04:32:15Z drmeister: I don't understand how to generate code for that. 2015-03-22T04:32:17Z beach: drmeister: I haven't really looked at MAKE-LOAD-FORM. Let me check... 2015-03-22T04:33:05Z ASau joined #lisp 2015-03-22T04:33:05Z drmeister: Is it as easy as evaluate the create-form followed by the init-form. The init-form doesn't take arguments - the objects created in the create-form is somehow baked into the init-form as if it were a constant. I may be overthinking this. 2015-03-22T04:33:50Z guicho: pillton: oh it works in runtime? but I don't think it is a problem, since you just have to recompile the dispatching function runtime when new method is added. 2015-03-22T04:33:51Z beach: drmeister: I may have to read this when I am more awake than I am right now. 2015-03-22T04:34:50Z mj-0 joined #lisp 2015-03-22T04:35:36Z pillton: guicho: It works at both runtime and compile time. If it can deduce the specialization at compile time, then the specialization is invoked directly. Otherwise, the dispatching function is used. 2015-03-22T04:35:59Z drmeister: beach: No problem - I'll sleep on it. 2015-03-22T04:36:08Z drmeister: beach: Have you compiled Cleavir with Cleavir? 2015-03-22T04:36:08Z guicho: pillton: that sounds good. 2015-03-22T04:36:16Z pillton: guicho: Specializations need to have a name or declared inline for that to occur though. 2015-03-22T04:36:35Z SAL9000: pillton: Is there a trade-off to using specialization-store over, say, CLOS + etypecase? 2015-03-22T04:36:52Z beach: drmeister: Not yet. 2015-03-22T04:37:12Z drmeister: Ok - I thought maybe with your Common Lisp backend... 2015-03-22T04:37:19Z drmeister: Ok - I'm going to try it next. 2015-03-22T04:37:21Z pillton: SAL9000: In terms of code layout there is. 2015-03-22T04:37:27Z beach: drmeister: My evaluator is still incomplete. I can't do special variable bindings or non-local control transfers. 2015-03-22T04:37:29Z guicho: SAL9000: it would be faster than CLOS since it reduce runtime dispatching. 2015-03-22T04:37:55Z pillton: SAL9000: Some classes you do not get access to as well e.g. (simple-array double-float *). 2015-03-22T04:37:55Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-03-22T04:38:33Z drmeister: There are 119 source files in cleavir + the interface that I wrote 2015-03-22T04:38:37Z SAL9000: pillton, guicho: OK, so why doesn't CLOS natively support dispatch on types, then? 2015-03-22T04:38:56Z drmeister: There are about 80 odd source files In Clasp. 2015-03-22T04:39:11Z drmeister: So there are going to be about 200 source files in Cleavir/Clasp once I'm done. 2015-03-22T04:39:24Z beach: drmeister: Sounds reasonable. 2015-03-22T04:39:51Z beach: drmeister: Lately, I have purposely created many small files so that I can use them selectively in different situations. 2015-03-22T04:39:53Z Quadrescence: SAL9000, dispatch on types would be unreasonably slow 2015-03-22T04:40:38Z Quadrescence: Imagine the horror of a load of expensive SATISFIES types. 2015-03-22T04:41:23Z guicho: that's specific to SATISFIES types. 2015-03-22T04:41:25Z Quadrescence: SAL9000, Additionally, determining a lattice of types in Lisp is not really possible. 2015-03-22T04:41:39Z SAL9000: what do you mean by a "lattice of types"? 2015-03-22T04:42:03Z pillton: SAL9000: Classes naturally form trees. 2015-03-22T04:42:17Z Quadrescence: SAL9000, What is more specific? (INTEGER -1 1) or (MOD 3)? 2015-03-22T04:42:35Z Quadrescence: What if you dispatch on both? How do you determine what to do with 0? 2015-03-22T04:43:19Z pillton: I don't think that is a valid argument. 2015-03-22T04:43:21Z guicho: Quadrescence, pillton: so lisp types are not naturally a tree. 2015-03-22T04:43:35Z guicho: pillton: also applies to mixins. 2015-03-22T04:43:42Z Quadrescence: pillton, Why not? There's ambiguity. With classes, there is not. 2015-03-22T04:43:49Z beach: drmeister: The only disadvantage that I can see with many small files is that I won't get inter-procedure optimization. However, when we store the AST for each function, those ASTs can be arbitrarily combined and compiled as if they were in the same file. 2015-03-22T04:44:00Z Quadrescence: How do you unambiguously define a canonical ordering with types? 2015-03-22T04:44:20Z pillton: The user created the ambiguity. It is not up the framework to resolve that ambiguity. 2015-03-22T04:44:36Z Quadrescence: In Common Lisp, it is up to the language to resolve ambiguity. 2015-03-22T04:44:51Z pillton: Who seriously wants the SAME function to perform two different actions for the same argument? 2015-03-22T04:44:52Z Quadrescence: The language definition includes disambiguation. So you'd expect types should as well. 2015-03-22T04:44:55Z drmeister: beach: It's also possible to get inlining on the LLVM side. I do whole program optimization already. 2015-03-22T04:45:06Z drmeister: Whole program inlining. 2015-03-22T04:45:12Z Quadrescence: pillton, The whole point of class inheritance is to allow that. 2015-03-22T04:46:00Z pillton: Nonsense. 2015-03-22T04:46:06Z Quadrescence: o_O? 2015-03-22T04:46:30Z Quadrescence: If you want to do simple predicate based dispatch, then that's fine. But that's kind of dumb, in my opinion. Doesn't lend well to modular, extensible systems with clearly defined semantics. 2015-03-22T04:46:36Z beach: drmeister: So it does that on the machine code? 2015-03-22T04:47:02Z drmeister: On the LLVM-IR. 2015-03-22T04:47:06Z beach: I see. 2015-03-22T04:47:14Z beach: drmeister: That only avoids the call. It can't do inter-procedure optimization. 2015-03-22T04:47:48Z beach: drmeister: Or maybe it can do some things that do not depend on language semantics. 2015-03-22T04:47:55Z Quadrescence: Type dispatch essentially boils down to predicate dispatch, of course. 2015-03-22T04:48:05Z pillton: So does CLOS dispatch. 2015-03-22T04:48:35Z Quadrescence: yes, where the predicates overlap in a very precisely defined way 2015-03-22T04:48:35Z guicho: Quadrescence, pillton: I do not care if the system clearly defines the method to be run. In CLOS, it is. In pattern matching, if the ambiguity occurs, the first dispatched branch will be executed. this does not mess up the program, since all patterns should be defined in one place. I'm not sure about specialization-store, but I hope it is possible. 2015-03-22T04:49:51Z drmeister: On second thought - I'm pretty sure I don't want LLVM to do inlining of Common Lisp code within Common Lisp code - I don't think it will work because it won't know anything about the arguments that are passed in the thread-local multiple-values array. 2015-03-22T04:49:59Z pillton: guicho: It picks the most specific specialization otherwise it is undefined. 2015-03-22T04:50:12Z drmeister: I think the proper place to do that is in Cleavir. 2015-03-22T04:50:27Z beach: drmeister: Yeah, maybe so. 2015-03-22T04:50:28Z guicho: pillton: that "most specific specialization" is what Quadrescence is mentioned by 2015-03-22T04:50:41Z guicho: "canonical ordering" 2015-03-22T04:50:53Z guicho: sorry for messy english 2015-03-22T04:51:01Z guicho: s/is/has/ 2015-03-22T04:51:24Z pillton: No, he is referring to the object 0 belonging to the types (integer -1 1) and (mod 3). 2015-03-22T04:51:30Z drmeister: The inlining is fine for my C++ intrinsic functions. I can do stuff like look up load-time values in C++ and have it inline that code into my generated LLVM-IR. 2015-03-22T04:51:49Z guicho: pillton: so which is most specific? (integer -1 1) or (mod 3) ? 2015-03-22T04:52:05Z pillton: guicho: That is undefined. Consider (integer 0 10) versus (integer 0 100). 2015-03-22T04:52:14Z a2015 quit (Quit: Page closed) 2015-03-22T04:52:38Z pillton: guicho: The first is a subtype of the second. 2015-03-22T04:53:26Z guicho: pillton: That is undefined<< and this is what Quadrescence cares about. 2015-03-22T04:53:47Z pillton: You can't do that for types. 2015-03-22T04:54:15Z pillton: Classes represent a subset of all possible types. 2015-03-22T04:54:42Z guicho: pillton: how about signalling an error e.g. type-ambiguation , or taking the "all in" strategy? 2015-03-22T04:54:49Z znode joined #lisp 2015-03-22T04:55:20Z pillton: Subclass standard-store and implement funcall-store and expand-store. 2015-03-22T04:55:59Z pillton: If you restrict yourself to types that exhibit the same characteristics as classes, then there is no issue. 2015-03-22T04:56:30Z guicho: pillton: not. consider mixins. 2015-03-22T04:57:31Z guicho: imagine you have a method for class A and class B. then class C inherits both A and B. which method runs? 2015-03-22T04:58:54Z guicho: imagine you have /two/ methods for each of class A and class B. then suppose a class C inherits both A and B as mixins. which method runs? 2015-03-22T04:59:00Z theseb joined #lisp 2015-03-22T04:59:38Z guicho: also assume there is currently no method is defined for C itseld. 2015-03-22T05:00:20Z theos quit (Disconnected by services) 2015-03-22T05:00:34Z pillton: Ok. That I haven't considered. 2015-03-22T05:00:50Z theos joined #lisp 2015-03-22T05:03:34Z CrazyEddy quit (Remote host closed the connection) 2015-03-22T05:04:48Z beach: drmeister: Still around? 2015-03-22T05:05:01Z joneshf-laptop quit (Read error: Connection reset by peer) 2015-03-22T05:05:06Z drmeister: yes 2015-03-22T05:05:07Z beach: drmeister: So how much is left to do? 2015-03-22T05:05:17Z joneshf-laptop joined #lisp 2015-03-22T05:05:23Z {-}grant- joined #lisp 2015-03-22T05:05:39Z pillton: I'm not a big fan of multiple inheritance, so I am happy to leave it undefined. 2015-03-22T05:06:56Z drmeister: beach: Not much - I'm just preparing the build system to handle the new files. I don't want to use ASDF to load the Cleavir systems. 2015-03-22T05:07:00Z drmeister: https://www.irccloud.com/pastebin/eMmHHPMr 2015-03-22T05:07:27Z drmeister: These symbols represent the source files. The second half of the list is Cleavir 2015-03-22T05:07:42Z drmeister: They are in the order that ASDF would compile them. 2015-03-22T05:07:50Z beach: OK. 2015-03-22T05:07:56Z beach: Why do you not want to use ASDF? 2015-03-22T05:07:56Z znode quit (Quit: (null)) 2015-03-22T05:08:09Z drmeister: Bootstrapping. 2015-03-22T05:08:23Z drmeister: I have a mini build system built into Clasp. 2015-03-22T05:08:29Z beach: It always boils down to bootstrapping doesn't it? 2015-03-22T05:08:35Z drmeister: It takes a list of files and compiles them and links them etc. 2015-03-22T05:08:37Z drmeister: Yes. 2015-03-22T05:09:42Z beach: One day I will write a paper about it. 2015-03-22T05:09:57Z drmeister: The keyword symbols in the list are milestones - I can bring up the Clasp executable with no image and have it load source files or compile ranges of source files from the list. 2015-03-22T05:10:22Z drmeister: I should be the one to write that paper dude - I've done nothing but think about bootstrapping for four years. :-) 2015-03-22T05:11:35Z drmeister: That list is the master list of all Common Lisp source files needed to build the Clasp Common Lisp image. 2015-03-22T05:12:06Z mj-0 quit (Remote host closed the connection) 2015-03-22T05:12:08Z drmeister: You can use the interpreter to load from :start to :cmp but no farther - if you try, the constant macro expansion will bring the system to its knees. 2015-03-22T05:12:10Z beach: drmeister: I think the two papers would be very different. 2015-03-22T05:12:14Z guicho: pillton: you can at least detect it and warn it , or signals an error. 2015-03-22T05:12:29Z quazimodo joined #lisp 2015-03-22T05:13:21Z guicho: pillton: to check if two types overlap, run (subtypep '(and t1 t2) nil). 2015-03-22T05:13:23Z drmeister: The first 48 entries can be loaded into the interpreter and run in the interpreter with reasonable speed. 2015-03-22T05:14:19Z beach: drmeister: We need to discuss your ELS paper at some point. Tell me when and where. In #clasp maybe? But when? 2015-03-22T05:14:19Z cyphase quit (Ping timeout: 265 seconds) 2015-03-22T05:14:21Z drmeister: The first 66 entries - up to :MIN defines the minimal Common Lisp - no CLOS. 2015-03-22T05:14:34Z drmeister: Clasp is everything up to entry 98 :ALL. 2015-03-22T05:14:40Z drmeister: Cleavir/Clasp is everything. 2015-03-22T05:15:18Z drmeister: How about Monday 2015-03-22T05:15:42Z drmeister: I may be at the cusp of getting this working 2015-03-22T05:16:00Z beach: Monday is fine. What time? 2015-03-22T05:16:26Z beach: I can free up some time in the afternoon here, so morning for you. 2015-03-22T05:16:32Z drmeister: How about my morning - your afternoon. 2015-03-22T05:16:39Z drmeister: Sure. 2015-03-22T05:16:43Z beach: What time do you wake up? 2015-03-22T05:16:52Z drmeister: My Monday morning is your Monday afternoon. 2015-03-22T05:16:57Z guicho: pillton: (defclass a () ())(defclass b () ())(defclass c (a b) ())(subtypep 'c '(and a b)) -> T 2015-03-22T05:17:00Z a2015 joined #lisp 2015-03-22T05:17:15Z beach: Er, what time are you going to be operational on Monday, rather. 2015-03-22T05:17:37Z guicho: pillton: (subtypep '(and a b) nil) 2015-03-22T05:17:41Z guicho: > NIL 2015-03-22T05:17:51Z drmeister: Probably 9:30am EST 2015-03-22T05:18:13Z beach: drmeister: OK, there is currently a 5h difference. 2015-03-22T05:18:30Z beach: so I will write down 14:30. 2015-03-22T05:19:05Z beach: drmeister: Done. 2015-03-22T05:19:21Z beach: drmeister: So in #clasp? 2015-03-22T05:19:24Z drmeister: The reason I want to avoid ASDF is I don't want to have to compile and load ASDF in the middle of the build process. That would also "bake" ASDF into the build process. 2015-03-22T05:19:29Z drmeister: Sure, #clasp. 2015-03-22T05:19:34Z beach: Good. 2015-03-22T05:20:26Z drmeister: I'll use ASDF to periodically update the list of files to build and when I'm developing I'll use ASDF. But I want a vanilla build system that doesn't require it. 2015-03-22T05:20:35Z beach: I see. 2015-03-22T05:20:41Z theos quit (Read error: Connection reset by peer) 2015-03-22T05:21:04Z a2015 quit (Ping timeout: 246 seconds) 2015-03-22T05:21:56Z a2015 joined #lisp 2015-03-22T05:22:36Z jcp joined #lisp 2015-03-22T05:23:00Z jcp is now known as Guest94045 2015-03-22T05:23:12Z drmeister: Cleavir source files are now integrated within my build system. 2015-03-22T05:23:30Z drmeister: (clasp-cleavir:compile-system :all :cleavir-clasp :system *cleavir-clasp*) --> 2015-03-22T05:23:56Z drmeister: https://www.irccloud.com/pastebin/zFsfJ9dY 2015-03-22T05:24:03Z drmeister: And away we go. 2015-03-22T05:25:23Z drmeister: Given level of care that you put into writing idiomatic Common Lisp - I think this is going to work. 2015-03-22T05:26:31Z drmeister: See? Usually when I make a statement like that whatever I happen to be building immediately crashes or segfaults or does something bad - not this time. 2015-03-22T05:26:32Z beach: You mean as opposed to a DEFCONSTANT in the middle of a function? :) 2015-03-22T05:26:35Z drmeister: It's just chugging away. 2015-03-22T05:26:52Z drmeister: Yeah - you don't have any of those do you? 2015-03-22T05:27:00Z beach: No I don't. 2015-03-22T05:27:05Z cyphase joined #lisp 2015-03-22T05:27:22Z Kruppe quit (Ping timeout: 245 seconds) 2015-03-22T05:27:23Z djinni` quit (Ping timeout: 245 seconds) 2015-03-22T05:27:45Z drmeister: Wait - it's done. 2015-03-22T05:27:45Z beach: An immediate goal of SICL is to have idiomatic code that can be read and understand by someone who wants to do that. 2015-03-22T05:28:01Z hvxgr quit (Ping timeout: 264 seconds) 2015-03-22T05:28:07Z drmeister: That was fast. 2015-03-22T05:28:28Z beach: drmeister: I must admit I am not quite following what you are doing at the moment. 2015-03-22T05:28:58Z drmeister: I just compiled all of the Cleavir source files with the Cleavir/Clasp compiler. You've just been self-hosted. 2015-03-22T05:29:12Z beach: That's very very impressive. 2015-03-22T05:29:21Z djinni` joined #lisp 2015-03-22T05:29:30Z drmeister: Yup, 119 files. 2015-03-22T05:30:05Z theos joined #lisp 2015-03-22T05:30:06Z theseb left #lisp 2015-03-22T05:30:14Z rszeno quit (Quit: Leaving.) 2015-03-22T05:30:52Z vr-rm quit (Ping timeout: 255 seconds) 2015-03-22T05:32:31Z drmeister: Hmm, it put all the files in the wrong place because I didn't have the *features* set right. 2015-03-22T05:32:42Z ggole: drmeister: nice, that must feel satisfying 2015-03-22T05:32:57Z drmeister: I'm going to set it up to run from the start overnight and see if it runs tomorrow. 2015-03-22T05:33:19Z drmeister: Yeah - I'll feel great if it runs. 2015-03-22T05:33:37Z c74d quit (Remote host closed the connection) 2015-03-22T05:34:29Z beach: drmeister: So I take it you don't need me for anything right now? If so, I am going to take a break. 2015-03-22T05:34:50Z drmeister: Just so you can see - here are the LLVM bitcode files for the Cleavir source files: 2015-03-22T05:34:53Z drmeister: https://www.irccloud.com/pastebin/0ijkkXSi 2015-03-22T05:35:06Z mj-0 joined #lisp 2015-03-22T05:35:26Z drmeister: Nope - I'm fine. I'm heading to bed as soon as I've started up a full build. 2015-03-22T05:35:42Z c74d joined #lisp 2015-03-22T05:35:44Z heurist quit (Ping timeout: 252 seconds) 2015-03-22T05:35:46Z beach: Great. Talk to you when you wake up I guess. 2015-03-22T05:43:29Z vr-rm joined #lisp 2015-03-22T05:44:11Z mj-0 quit (Remote host closed the connection) 2015-03-22T05:45:13Z mj-0 joined #lisp 2015-03-22T05:45:30Z xiaoguo joined #lisp 2015-03-22T05:45:47Z bgs100 quit (Quit: bgs100) 2015-03-22T05:50:42Z hrr4 quit (Ping timeout: 256 seconds) 2015-03-22T05:52:19Z a2015 quit (Quit: Page closed) 2015-03-22T05:59:24Z heurist joined #lisp 2015-03-22T06:01:35Z gingerale joined #lisp 2015-03-22T06:02:13Z heurist quit (Client Quit) 2015-03-22T06:04:47Z mj-0 quit (Remote host closed the connection) 2015-03-22T06:04:52Z slyrus joined #lisp 2015-03-22T06:12:47Z dfinninger joined #lisp 2015-03-22T06:14:48Z sunwukong joined #lisp 2015-03-22T06:20:57Z gendl quit (Read error: Connection reset by peer) 2015-03-22T06:22:19Z rtoym quit (Ping timeout: 245 seconds) 2015-03-22T06:22:26Z rtoym joined #lisp 2015-03-22T06:23:17Z gendl joined #lisp 2015-03-22T06:23:38Z mbuf quit (Quit: Leaving) 2015-03-22T06:25:51Z dmiles_akf joined #lisp 2015-03-22T06:26:20Z dmiles_afk quit (Ping timeout: 246 seconds) 2015-03-22T06:36:16Z user__ joined #lisp 2015-03-22T06:42:34Z Mon_Ouie joined #lisp 2015-03-22T06:43:07Z dfinninger quit (Remote host closed the connection) 2015-03-22T06:44:35Z easye quit (Read error: Connection reset by peer) 2015-03-22T06:47:04Z vlnx quit (Ping timeout: 272 seconds) 2015-03-22T06:48:38Z CrazyEddy joined #lisp 2015-03-22T06:51:16Z MrWoohoo joined #lisp 2015-03-22T06:55:18Z xrash quit (Ping timeout: 252 seconds) 2015-03-22T06:55:32Z robot-beethoven joined #lisp 2015-03-22T07:00:11Z xrash joined #lisp 2015-03-22T07:04:54Z Karl_Dscc joined #lisp 2015-03-22T07:05:10Z _leb quit (Quit: Computer has gone to sleep.) 2015-03-22T07:07:14Z dagnachewa quit (Remote host closed the connection) 2015-03-22T07:08:15Z pjb: minion: memo for eugeneia: there's nothing useful you can do knowing the sizes of lisp types. Why would you want to know them? 2015-03-22T07:08:16Z minion: Remembered. I'll tell eugeneia when he/she/it next speaks. 2015-03-22T07:11:15Z pjb: Bike: you just need to tell clisp where to look up for the hyperspec! 2015-03-22T07:11:51Z pjb: Bike: for example: (setq custom:*clhs-root-default* "http://localhost/local/lisp/HyperSpec/") ; in ~/.clisprc.lisp 2015-03-22T07:11:51Z pjb: 2015-03-22T07:12:12Z sol_ joined #lisp 2015-03-22T07:12:56Z pjb: nyef: you should read clisp doc: http://clisp.org/impnotes/ 2015-03-22T07:13:48Z akkad: joshe: thanks I've got 4 ppc boxes doing lisp builds now :P 2015-03-22T07:13:54Z misv quit (Ping timeout: 244 seconds) 2015-03-22T07:16:22Z Karl_Dscc quit (Remote host closed the connection) 2015-03-22T07:17:03Z pjb: beach: you can always use with-compilation-unit to get optimizations across several files. 2015-03-22T07:17:18Z Guest39831 joined #lisp 2015-03-22T07:17:19Z selat joined #lisp 2015-03-22T07:17:52Z pjb: beach: the question would be how to integrate with-compilation-unit with asdf. I don't know if there's any provision for it. 2015-03-22T07:18:38Z beach: I think there is. 2015-03-22T07:19:22Z sol_ quit (Ping timeout: 272 seconds) 2015-03-22T07:19:52Z misv joined #lisp 2015-03-22T07:19:52Z beach: But I haven't checked the details. All I care about right now is to be convinced that there is no penalty in making many small files. 2015-03-22T07:20:29Z pjb: There doesn't seem to be: https://bugs.launchpad.net/asdf/+bug/507378/comments/2 2015-03-22T07:21:45Z beach: Hmm. OK. I trust someone will fix that before I need it. 2015-03-22T07:21:54Z pjb: Let's hope :-) 2015-03-22T07:27:11Z attila_lendvai joined #lisp 2015-03-22T07:27:11Z attila_lendvai quit (Changing host) 2015-03-22T07:27:11Z attila_lendvai joined #lisp 2015-03-22T07:29:02Z _leb joined #lisp 2015-03-22T07:32:19Z xrash quit (Remote host closed the connection) 2015-03-22T07:35:36Z defaultxr quit (Quit: gnight) 2015-03-22T07:35:56Z edgar-rft joined #lisp 2015-03-22T07:38:09Z beach: What is the general mechanism to use if I want to compile a standard macro form as if it were a special operator? 2015-03-22T07:38:34Z beach: The macro must exists for the purpose of code walkers. 2015-03-22T07:38:52Z beach: But how do I avoid that it get expanded in my compiler? 2015-03-22T07:39:01Z beach: Just test for special-operator-p first? 2015-03-22T07:39:41Z beach: Hmm, am I even allowed to have special-operator-p return true for such a thing? 2015-03-22T07:41:35Z beach: I think I don't have the right. 2015-03-22T07:41:49Z beach: clhs 3.1.2.1.2.1 2015-03-22T07:41:49Z pjb: beach: you just test for special operators before testing for (macro-function (first sexp)). 2015-03-22T07:41:49Z specbot: Special Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_ababa.htm 2015-03-22T07:42:02Z pjb: it's hardwired in the compiler. 2015-03-22T07:42:05Z ggole: Have your own compiler-internal predicate? 2015-03-22T07:42:20Z beach: Yeah, OK. 2015-03-22T07:43:07Z pjb: Of course, you can have a table, so you would do (cond ((special-operator-p (first sexp)) (funcall (first sexp) sexp)) ((macro-function (first sexp)) (compile-form (macroexpand sexp env))) (t (compile-call sexp))) 2015-03-22T07:44:09Z beach: Yeah, I get it. It is a bit more complicated than that because of compiler macros, but I get the general idea. 2015-03-22T07:44:56Z gz quit (Connection reset by peer) 2015-03-22T07:45:02Z beach: Thanks. 2015-03-22T07:45:26Z beach: Now I have to figure out how to make this implementation independent. :) 2015-03-22T07:45:36Z beach takes a break. 2015-03-22T07:48:10Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2015-03-22T07:49:26Z pavelpenev joined #lisp 2015-03-22T07:49:51Z psy_ quit (Ping timeout: 256 seconds) 2015-03-22T07:55:30Z user__ quit (Remote host closed the connection) 2015-03-22T07:59:20Z attila_lendvai quit (Quit: Leaving.) 2015-03-22T07:59:23Z Rudolph-Miller quit (Ping timeout: 246 seconds) 2015-03-22T08:00:46Z Rudolph-Miller joined #lisp 2015-03-22T08:04:01Z selat quit (Ping timeout: 244 seconds) 2015-03-22T08:05:11Z mishoo_ joined #lisp 2015-03-22T08:06:11Z malbertife joined #lisp 2015-03-22T08:06:16Z malbertife quit (Read error: Connection reset by peer) 2015-03-22T08:09:05Z beach: As it turns out, I already have the mechanism in place. For a compound form such as (f arg ...) I ask the implementation for FUNCTION-INFO. The implementation should just return a SPECIAL-OPERATOR-INFO instance if it wants Cleavir to treat it specially. 2015-03-22T08:09:50Z beach: Cleavir then calls CONVERT-SPECIAL and the implementation is free to define methods on that generic function. 2015-03-22T08:10:31Z mbuf joined #lisp 2015-03-22T08:10:44Z pjb: Perhaps you are feeling a little uneasy about this, in that some fundamental CL semantics are left implicit in the way the implementation of FUNCTION-INFO prioritize the type of object it returns? (ie. special-operator-info over macro-operator-info) 2015-03-22T08:11:51Z vr-rm quit (Ping timeout: 250 seconds) 2015-03-22T08:12:18Z beach: Having thought about it for the past 20 minutes, I have decided that I do not feel uneasy about it. :) 2015-03-22T08:12:49Z tumba joined #lisp 2015-03-22T08:12:57Z beach: Because the implementation is free to implement methods on FUNCTION-INFO as it pleases. 2015-03-22T08:14:32Z pjb: an operator can have three facets, special operator, macro and function. macro and function are quite exclusive, but the standard specifically allows a special operator to be fbound (reserved for the implementation), and specifically mandate a special operator to be macro bound, when it's not a standard special operator. Therefore you have at least to take into account this later case, and perhaps also the previous one, if you want 2015-03-22T08:15:15Z pjb: You can say that this can be dealt with different environments and be done with it. 2015-03-22T08:15:16Z jumar joined #lisp 2015-03-22T08:16:54Z vlnx joined #lisp 2015-03-22T08:17:17Z beach: That is precisely what I am going to do. By the way the implementation-specific method on function-info works, the implementation will inform Cleavir how it is to be treated. 2015-03-22T08:17:59Z beach: That way, the implementation can do things like check the phase of the moon and return different INFO instances as it pleases. 2015-03-22T08:18:03Z pjb: So for clearvir, a code walker would just be a different implementation returning the macro instead of the special operator, or returning its own special operator object. 2015-03-22T08:18:10Z pjb: Right. 2015-03-22T08:18:22Z beach: That sounds very right. 2015-03-22T08:20:05Z beach: Thanks for helping me think this through! 2015-03-22T08:20:14Z pjb: You're welcome. 2015-03-22T08:27:14Z smokeink: jasom: thanks for the tips 2015-03-22T08:33:23Z angavrilov joined #lisp 2015-03-22T08:37:40Z _leb quit (Quit: Computer has gone to sleep.) 2015-03-22T08:51:50Z tumba quit (Quit: Using Circe, the loveliest of all IRC clients) 2015-03-22T08:52:05Z Shinmera joined #lisp 2015-03-22T08:53:49Z jumar quit (Quit: Leaving.) 2015-03-22T08:56:52Z monod joined #lisp 2015-03-22T09:00:32Z yeticry quit (Read error: Connection reset by peer) 2015-03-22T09:00:42Z Karl_Dscc joined #lisp 2015-03-22T09:02:25Z Karl_Dscc quit (Remote host closed the connection) 2015-03-22T09:05:06Z munksgaard joined #lisp 2015-03-22T09:05:49Z chu joined #lisp 2015-03-22T09:06:29Z yeticry joined #lisp 2015-03-22T09:07:31Z pavelpenev quit (Ping timeout: 252 seconds) 2015-03-22T09:07:47Z pavelpenev joined #lisp 2015-03-22T09:09:11Z vr-rm joined #lisp 2015-03-22T09:10:01Z beach: There is nothing like MULTIPLE-VALUE-SETQ, right? I am thinking of a special operator that would take a list of variables and a form, evaluate the form and ASSIGN (not bind) the values of it to the variables with the usual mismatch rule. 2015-03-22T09:18:33Z xificurC joined #lisp 2015-03-22T09:19:48Z cyphase quit (Ping timeout: 256 seconds) 2015-03-22T09:21:00Z Shinmera: beach: I'm not entirely sure what you're asking, but I don't think there's anything else aside from SETF and the MULTIPLE-VALUE* functions that handle multiple values. 2015-03-22T09:21:44Z Shinmera: You could also do something like (progv symbols (multiple-value-list form) ..) 2015-03-22T09:21:46Z beach: Right. And SETF is a macro. 2015-03-22T09:22:07Z beach: That would bind the variables, wouldn't it? 2015-03-22T09:22:08Z Shinmera: Yeah. 2015-03-22T09:22:19Z vaporatorius joined #lisp 2015-03-22T09:22:22Z Shinmera: Ah, yes. 2015-03-22T09:22:29Z Shinmera: I'm not quite awake yet. 2015-03-22T09:22:53Z Shinmera: I'm curious: Where does your question come from? 2015-03-22T09:22:57Z beach: I guess I am looking for the effect of (setf (values var1 var2 ...) form) 2015-03-22T09:23:49Z beach: I am going to introduce an AST in Cleavir for this kind of operation, unless of course, there is already an operator that does this. 2015-03-22T09:24:27Z beach: I will compile MULTIPLE-VALUE-BIND to that kind of operator, just as I compile LET to a SETQ-AST with a fresh variable. 2015-03-22T09:24:54Z Shinmera: I see. 2015-03-22T09:25:10Z beach: And in fact, I think I will just generalize the SETQ-AST so that it takes a list of variables. 2015-03-22T09:25:46Z beach: The second phase of Cleavir compiles a form in a particular CONTEXT, and part of such a context is the number of values that are expected. 2015-03-22T09:26:34Z stepnem joined #lisp 2015-03-22T09:27:44Z quazimodo quit (Ping timeout: 256 seconds) 2015-03-22T09:29:00Z Shinmera: Xach: is there a programmatical way to ask quicklisp if it knows of a system (that might now be downloaded yet)? 2015-03-22T09:29:06Z Shinmera: *not 2015-03-22T09:29:24Z cadadar joined #lisp 2015-03-22T09:31:02Z pt1 joined #lisp 2015-03-22T09:32:12Z scymtym joined #lisp 2015-03-22T09:35:02Z Phagus quit (Quit: leaving) 2015-03-22T09:35:43Z francogrex joined #lisp 2015-03-22T09:35:53Z Shinmera: I imagine there must be, I just couldn't find a symbol that looked like it in the exported symbols list. 2015-03-22T09:36:29Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-22T09:36:57Z francogrex: Hi, since the introduction of the threads on win32 (> sbcl v1.0.55) I am unable to build sbcl on windows with MinGW. has anyone had success building it? I am interested in how it went? 2015-03-22T09:37:33Z Shinmera: stassats usually does the windows builds from what I know. You might want to ask him in #sbcl if you haven't already. 2015-03-22T09:37:48Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-22T09:45:53Z francogrex: ok 2015-03-22T09:47:00Z fierydiarreha quit (Ping timeout: 256 seconds) 2015-03-22T09:49:36Z Grue`: francogrex: I had success building it once; mostly I just download binaries though 2015-03-22T09:50:22Z quazimodo joined #lisp 2015-03-22T09:50:25Z Grue`: it failed one sb-posix test related to pathnames, but after I edited the test it ran smoothly 2015-03-22T09:53:00Z francogrex: Grue`: I like building from source. the failure for me is related to pthreads-win32 header file 2015-03-22T09:53:07Z francogrex: always 2015-03-22T09:53:35Z monod quit (Remote host closed the connection) 2015-03-22T09:53:54Z k-stz joined #lisp 2015-03-22T09:53:54Z francogrex: do you have a pthreads lib that you linked to on windows? 2015-03-22T09:54:37Z extensional-pyon quit (Quit: My morality has evaporated under the harsh UV light.) 2015-03-22T09:56:24Z pyon joined #lisp 2015-03-22T09:56:42Z Grue`: yeah, its included in the source 2015-03-22T09:58:10Z pyon quit (Client Quit) 2015-03-22T09:58:30Z francogrex: and you used MinGW? do you remember which versions (sbcl,mingw)? 2015-03-22T09:58:50Z Grue`: i guess it depends on the version on windows as well, I doubt anyone tested it on XP for example 2015-03-22T09:59:48Z francogrex: aha 2015-03-22T09:59:48Z pyon joined #lisp 2015-03-22T09:59:54Z francogrex: xp here 2015-03-22T10:00:17Z Grue`: well... xp is pretty old 2015-03-22T10:00:38Z Shinmera: XP is EOL. 2015-03-22T10:01:15Z xiaoguo quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2015-03-22T10:03:00Z pacon joined #lisp 2015-03-22T10:06:45Z Shinmera: mood: I know what the load problem is now. What I don't know is how I haven't run into it before. 2015-03-22T10:09:03Z x1n4u: http://paste.lisp.org/display/146427 2015-03-22T10:09:35Z x1n4u: can you pass a list as multiple arguments to a function in a easy way ? 2015-03-22T10:09:38Z arbscht quit (Ping timeout: 252 seconds) 2015-03-22T10:09:47Z beach: x1n4u: APPLY 2015-03-22T10:09:48Z Shinmera: clhs apply 2015-03-22T10:09:48Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_apply.htm 2015-03-22T10:10:35Z x1n4u: thanks 2015-03-22T10:15:26Z foom quit (Ping timeout: 265 seconds) 2015-03-22T10:17:12Z ehu joined #lisp 2015-03-22T10:23:01Z arbscht joined #lisp 2015-03-22T10:26:57Z Joreji joined #lisp 2015-03-22T10:27:55Z foom joined #lisp 2015-03-22T10:32:56Z frkout joined #lisp 2015-03-22T10:33:17Z ehu quit (Quit: Leaving.) 2015-03-22T10:35:42Z jewel joined #lisp 2015-03-22T10:36:13Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T10:36:58Z qbit quit (Ping timeout: 272 seconds) 2015-03-22T10:37:44Z munksgaard quit (Ping timeout: 245 seconds) 2015-03-22T10:37:50Z pt1 quit (Remote host closed the connection) 2015-03-22T10:39:25Z qbit joined #lisp 2015-03-22T10:39:49Z qbit is now known as Guest5445 2015-03-22T10:41:47Z Joreji joined #lisp 2015-03-22T10:42:37Z remi`bd joined #lisp 2015-03-22T10:43:21Z frkout quit (Remote host closed the connection) 2015-03-22T10:43:36Z Shinmera: Xach: nevermind my question, I was able to figure it out by digging into the source. 2015-03-22T10:47:18Z oleo is now known as Guest68153 2015-03-22T10:48:27Z oleo_ joined #lisp 2015-03-22T10:48:35Z francogrex quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-22T10:48:43Z Joreji quit (Ping timeout: 252 seconds) 2015-03-22T10:49:25Z Joreji joined #lisp 2015-03-22T10:50:36Z Guest68153 quit (Ping timeout: 252 seconds) 2015-03-22T10:50:37Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T10:54:02Z mbuf quit (Quit: Leaving) 2015-03-22T10:57:18Z Shinmera: mood: It should work just fine now. http://plaster.tymoon.eu/view/9K 2015-03-22T10:59:28Z mood: Shinmera: Yes, yes it does. Thanks! 2015-03-22T10:59:51Z Shinmera: Thank you for bringing it to my attention, and thanks to Quicklisp for making the fix quite trivial and nice. 2015-03-22T11:00:44Z Shinmera still needs to figure out how to distribute binaries for sqlite and its pcre extension so it doesn't need to give a gross error. 2015-03-22T11:03:30Z pjb: - 2015-03-22T11:06:35Z danlentz joined #lisp 2015-03-22T11:06:43Z Joreji joined #lisp 2015-03-22T11:08:44Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T11:12:49Z sdothum joined #lisp 2015-03-22T11:13:06Z Joreji joined #lisp 2015-03-22T11:13:17Z ziocroc joined #lisp 2015-03-22T11:14:53Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T11:15:58Z jewel quit (Ping timeout: 256 seconds) 2015-03-22T11:16:08Z Shinmera: mood: Let me know if you encounter any other troubles. There's quite a few edges that have to be smoothened still. 2015-03-22T11:18:24Z jewel joined #lisp 2015-03-22T11:19:31Z pacon2 joined #lisp 2015-03-22T11:20:25Z Joreji joined #lisp 2015-03-22T11:20:29Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T11:21:23Z loz1 joined #lisp 2015-03-22T11:22:19Z pacon quit (Ping timeout: 255 seconds) 2015-03-22T11:22:58Z jewel quit (Ping timeout: 252 seconds) 2015-03-22T11:23:17Z pacon2 quit (Read error: Connection reset by peer) 2015-03-22T11:23:35Z k-dawg joined #lisp 2015-03-22T11:23:49Z pacon2 joined #lisp 2015-03-22T11:24:53Z jewel joined #lisp 2015-03-22T11:25:36Z Joreji joined #lisp 2015-03-22T11:26:47Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T11:29:14Z ejbs` joined #lisp 2015-03-22T11:29:24Z ehu joined #lisp 2015-03-22T11:29:43Z jewel quit (Ping timeout: 256 seconds) 2015-03-22T11:30:31Z ejbs quit (Ping timeout: 252 seconds) 2015-03-22T11:32:13Z Joreji joined #lisp 2015-03-22T11:33:24Z k-dawg quit (Quit: This computer has gone to sleep) 2015-03-22T11:33:30Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T11:38:21Z ejbs`` joined #lisp 2015-03-22T11:38:35Z agumonkey joined #lisp 2015-03-22T11:38:53Z Joreji joined #lisp 2015-03-22T11:38:58Z badkins joined #lisp 2015-03-22T11:41:13Z ejbs` quit (Ping timeout: 264 seconds) 2015-03-22T11:41:44Z futpib joined #lisp 2015-03-22T11:43:04Z resttime quit (Quit: resttime) 2015-03-22T11:43:30Z badkins quit (Ping timeout: 252 seconds) 2015-03-22T11:43:44Z Vutral quit (Ping timeout: 256 seconds) 2015-03-22T11:44:59Z jewel joined #lisp 2015-03-22T11:48:36Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-03-22T11:49:24Z jewel quit (Ping timeout: 246 seconds) 2015-03-22T11:50:09Z Beetny quit (Ping timeout: 264 seconds) 2015-03-22T11:53:01Z oleo_ is now known as oleo 2015-03-22T11:53:56Z frkout joined #lisp 2015-03-22T11:54:36Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T11:55:06Z ziocroc2 joined #lisp 2015-03-22T11:55:21Z ziocroc quit (Read error: Connection reset by peer) 2015-03-22T11:58:28Z frkout quit (Ping timeout: 256 seconds) 2015-03-22T12:02:18Z ziocroc2 is now known as ziocroc 2015-03-22T12:03:47Z xiaoguo joined #lisp 2015-03-22T12:07:10Z kapil___ joined #lisp 2015-03-22T12:08:22Z Vutral joined #lisp 2015-03-22T12:09:59Z Vutral quit (Excess Flood) 2015-03-22T12:16:03Z Joreji joined #lisp 2015-03-22T12:16:51Z kcj quit (Remote host closed the connection) 2015-03-22T12:17:26Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T12:19:26Z Vutral joined #lisp 2015-03-22T12:20:41Z Joreji joined #lisp 2015-03-22T12:21:34Z Vutral quit (Excess Flood) 2015-03-22T12:21:36Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T12:22:32Z jewel joined #lisp 2015-03-22T12:26:38Z c74d quit (Remote host closed the connection) 2015-03-22T12:27:19Z Joreji joined #lisp 2015-03-22T12:28:01Z jewel quit (Ping timeout: 255 seconds) 2015-03-22T12:28:58Z c74d joined #lisp 2015-03-22T12:30:30Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T12:30:40Z schaueho joined #lisp 2015-03-22T12:34:09Z pt1 joined #lisp 2015-03-22T12:34:34Z alpha-: what is ASDF ? 2015-03-22T12:35:17Z Shinmera: alpha-: https://reader.tymoon.eu/article/267 2015-03-22T12:35:29Z SAL9000: alpha-: ASDF is "Another System Definition Facility"; the Common Lisp equivalent of a Makefile, perhaps. 2015-03-22T12:35:30Z pjb: minion: asdf 2015-03-22T12:35:31Z minion: Sorry, I couldn't find anything in the database for ``asdf''. 2015-03-22T12:35:57Z Joreji joined #lisp 2015-03-22T12:36:04Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T12:37:30Z nyef: minion: What does asdf stand for? 2015-03-22T12:37:30Z minion: Anthracitism Sporal Dabble Fordy 2015-03-22T12:38:39Z Shinmera: Colleen: asdf 2015-03-22T12:38:39Z Colleen: "asdf": Another System Definition Facility is the default tool to define build systems for Common Lisp systems. See https://common-lisp.net/project/asdf/ . A basic introduction can be found on https://reader.tymoon.eu/article/267 2015-03-22T12:38:48Z Shinmera: There we go, now there's even a shortcut, wowey. 2015-03-22T12:39:24Z vaporatorius quit (Quit: Leaving) 2015-03-22T12:41:42Z SAL9000: anyone know what's up with cliki.net? 2015-03-22T12:42:02Z SAL9000: it's been giving out 500 errors like candy since (at least) ~6 hours ago 2015-03-22T12:43:03Z remi`bd: wow, is Colleen a bot? 2015-03-22T12:43:20Z nyef: Sounds like the server process is down while the proxy is still up. 2015-03-22T12:43:44Z Shinmera: Colleen: tell remi`bd about yourself 2015-03-22T12:43:44Z Colleen: remi`bd, look at "yourself": I'm a modularized IRC bot framework written in Common Lisp. For a list of commands, try !help . You can find my source code here: https://github.com/Shinmera/colleen 2015-03-22T12:44:01Z Shinmera: Don't play with it in here though, you can use privmsgs for that. 2015-03-22T12:44:19Z remi`bd: yeah :D Always thought about writing an IRC bot in CL 2015-03-22T12:45:32Z larion joined #lisp 2015-03-22T12:46:20Z SAL9000: nyef: is there a mirror somewhere? 2015-03-22T12:46:33Z nyef: I have no idea. 2015-03-22T12:47:03Z Shinmera: Who maintains it these days? ehu? 2015-03-22T12:47:57Z ehu: hi 2015-03-22T12:48:01Z ehu: what's up? 2015-03-22T12:48:05Z Shinmera: cliki is down. 2015-03-22T12:48:26Z ehu: Ah. Yes, I know. I've contacted Vladimir about it, because I can't get cliki restarted. 2015-03-22T12:48:38Z ehu: haven't heard back yet. 2015-03-22T12:49:24Z ehu: SAL9000: It's been like that since noon yesterday. 2015-03-22T12:50:21Z ehu: the cliki process reports a missing file, but that file hasn't been there for at least a week. 2015-03-22T12:50:27Z ehu: so, I'm now wondering what to do. 2015-03-22T12:50:37Z ehu: (and cliki was running perfectly fine during that week) 2015-03-22T12:51:13Z Joreji joined #lisp 2015-03-22T12:52:17Z Shinmera: The joys of miraculous bugs 2015-03-22T12:53:05Z ehu: yea. but I've been too busy working on common-lisp.net itself (and the tasks I had to delay to get the GitLab migration in place in the first place) 2015-03-22T12:53:06Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T12:53:56Z ehu: and I don't know the code base; I've just been restarting it when it failed. 2015-03-22T12:54:08Z thodg quit (Ping timeout: 246 seconds) 2015-03-22T12:55:15Z ruste_ joined #lisp 2015-03-22T12:58:25Z Joreji joined #lisp 2015-03-22T13:00:08Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T13:03:03Z Patzy quit (Ping timeout: 250 seconds) 2015-03-22T13:03:45Z Patzy joined #lisp 2015-03-22T13:04:28Z cyphase_ joined #lisp 2015-03-22T13:05:48Z Joreji joined #lisp 2015-03-22T13:06:44Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T13:10:36Z ejbs``` joined #lisp 2015-03-22T13:12:14Z ejbs`` quit (Ping timeout: 252 seconds) 2015-03-22T13:13:44Z pt1 quit (Remote host closed the connection) 2015-03-22T13:15:51Z Joreji joined #lisp 2015-03-22T13:17:18Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T13:17:59Z Vutral joined #lisp 2015-03-22T13:18:40Z ejbs```` joined #lisp 2015-03-22T13:18:42Z LiamH joined #lisp 2015-03-22T13:19:01Z sysfault joined #lisp 2015-03-22T13:19:36Z hiroaki joined #lisp 2015-03-22T13:19:57Z hiroakip joined #lisp 2015-03-22T13:20:13Z xiaoguo quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2015-03-22T13:20:47Z ejbs``` quit (Ping timeout: 256 seconds) 2015-03-22T13:23:07Z Joreji joined #lisp 2015-03-22T13:23:15Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T13:24:20Z pt1 joined #lisp 2015-03-22T13:24:41Z ghking joined #lisp 2015-03-22T13:25:33Z ghking quit (Quit: Leaving) 2015-03-22T13:28:08Z Joreji joined #lisp 2015-03-22T13:28:49Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T13:34:10Z zadock quit (Quit: Leaving) 2015-03-22T13:39:20Z rszeno joined #lisp 2015-03-22T13:39:24Z Guest5445 is now known as qbit 2015-03-22T13:42:34Z pacon2 quit (Quit: Leaving) 2015-03-22T13:44:24Z Joreji joined #lisp 2015-03-22T13:45:32Z k-dawg joined #lisp 2015-03-22T13:45:35Z yasha9 quit (Ping timeout: 246 seconds) 2015-03-22T13:45:37Z rszeno quit (Read error: Connection reset by peer) 2015-03-22T13:49:15Z CrazyEddy quit (Remote host closed the connection) 2015-03-22T13:49:46Z clop joined #lisp 2015-03-22T13:49:56Z sz0 quit (Quit: My computer has gone to sleep. ZZZzzz…) 2015-03-22T13:52:46Z yrk joined #lisp 2015-03-22T13:53:20Z yrk quit (Changing host) 2015-03-22T13:53:20Z yrk joined #lisp 2015-03-22T13:54:24Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T13:55:35Z attila_lendvai joined #lisp 2015-03-22T13:55:35Z attila_lendvai quit (Changing host) 2015-03-22T13:55:35Z attila_lendvai joined #lisp 2015-03-22T13:55:40Z EvW joined #lisp 2015-03-22T13:55:54Z cyphase_ is now known as cyphase 2015-03-22T13:58:27Z larion quit (Ping timeout: 244 seconds) 2015-03-22T13:59:08Z yasha9 joined #lisp 2015-03-22T13:59:53Z Joreji joined #lisp 2015-03-22T14:01:02Z attila_lendvai quit (Ping timeout: 244 seconds) 2015-03-22T14:01:27Z rszeno joined #lisp 2015-03-22T14:05:38Z larion joined #lisp 2015-03-22T14:07:16Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T14:10:02Z cadadar quit (Quit: Leaving.) 2015-03-22T14:12:35Z Joreji joined #lisp 2015-03-22T14:13:39Z munksgaard joined #lisp 2015-03-22T14:13:44Z drmeister: Hey everyone 2015-03-22T14:13:53Z nyef: Hello drmeister. 2015-03-22T14:14:22Z drmeister: If you have an (flet ((setf foo)...) ...) - what is the name of the implicit block of the (setf foo) local function? 2015-03-22T14:15:31Z drmeister: Oh wait - got it 2015-03-22T14:15:41Z drmeister: Glossary: function block name 2015-03-22T14:16:07Z nyef: Yeah, just got there myself. 2015-03-22T14:17:34Z drmeister: Yesh - I'm getting confused about what compilers I'm compiling my compilers with. 2015-03-22T14:17:58Z vaporatorius joined #lisp 2015-03-22T14:18:46Z cluck joined #lisp 2015-03-22T14:19:22Z cyphase quit (Quit: cyphase.com) 2015-03-22T14:19:46Z sysfault_ joined #lisp 2015-03-22T14:20:17Z drmeister: Last evening I compiled all of Cleavir with Cleavir and everything worked. I ran it again overnight from start to finish and this time it complained about the implicit block symbol of the (setf foo) function in an (flet ((setf foo)...) ...). Weird. 2015-03-22T14:20:41Z ehu: drmeister: your compiler got smarter? :-) 2015-03-22T14:20:52Z drmeister: I think it got dumber. 2015-03-22T14:21:24Z drmeister: But yeah - along those lines. 2015-03-22T14:22:38Z sysfault quit (Ping timeout: 246 seconds) 2015-03-22T14:23:19Z drmeister: beach: Are you online? 2015-03-22T14:24:33Z drmeister: I was messing around a lot, compiling files out of sequence. 2015-03-22T14:25:35Z drmeister: I don't see any provision in the Cleavir code for extracting the "function block name" from a (setf foo) flet function name. 2015-03-22T14:25:54Z sysfault_ quit (Quit: Leaving) 2015-03-22T14:27:25Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T14:27:44Z logand joined #lisp 2015-03-22T14:28:04Z munksgaa1d joined #lisp 2015-03-22T14:28:45Z manuel__ joined #lisp 2015-03-22T14:29:25Z ASau` joined #lisp 2015-03-22T14:31:01Z eugeneia joined #lisp 2015-03-22T14:31:01Z cadadar joined #lisp 2015-03-22T14:31:17Z munksgaard quit (Ping timeout: 252 seconds) 2015-03-22T14:32:02Z ASau quit (Ping timeout: 244 seconds) 2015-03-22T14:32:34Z SAL9000: drmeister: can most or all of the information Clang needs to interface to C/C++ code be gained through static analysis of the C/C++ source code concerned? 2015-03-22T14:33:00Z Joreji joined #lisp 2015-03-22T14:33:18Z dfinninger joined #lisp 2015-03-22T14:34:15Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T14:34:31Z beach: drmeister: It is possible. I'll deal with it. 2015-03-22T14:34:37Z beach: But I am pretty much taking the day off. 2015-03-22T14:34:47Z SAL9000: sorry, not Clang. 2015-03-22T14:34:48Z SAL9000: mistyped. 2015-03-22T14:34:52Z yrk quit (Ping timeout: 256 seconds) 2015-03-22T14:34:53Z SAL9000: Clasp. 2015-03-22T14:34:55Z SAL9000: drmeister: ^ 2015-03-22T14:35:06Z SAL9000: (this is what I get for going on IRC at 1am...) 2015-03-22T14:35:20Z beach: I also haven't dealt with the evaluation of non-top-level forms. 2015-03-22T14:35:35Z beach: I think it is an easy fix, but I want to understand it fully before attempting anything. 2015-03-22T14:35:39Z x1n4u quit (Ping timeout: 245 seconds) 2015-03-22T14:36:23Z drmeister: beach: It's weird because I compiled the code in the evening and this didn't come up. 2015-03-22T14:36:41Z beach: I have no explanation for that. 2015-03-22T14:37:28Z ASau` is now known as ASau 2015-03-22T14:37:51Z nialo joined #lisp 2015-03-22T14:39:31Z drmeister: Neither do I. Oh well. I can see the problem clearly now. 2015-03-22T14:39:33Z Joreji joined #lisp 2015-03-22T14:40:49Z drmeister: SAL9000: Yes, it could be - it would require writing a small program in Common Lisp to extract that information. 2015-03-22T14:41:38Z drmeister: All of the information can be extracted from static analysis of the C/C++ source code using the Clang ASTMatcher library that is exposed within Clasp. 2015-03-22T14:41:59Z SAL9000: ah, nice, so no need for ROSE or SWIG or something 2015-03-22T14:42:15Z drmeister: I do that now to build an interface between the Memory Pool System garbage collector and my C++ code. 2015-03-22T14:42:26Z clop quit (Ping timeout: 252 seconds) 2015-03-22T14:42:35Z drmeister: ROSE and SWIG: Children playing with children's toys. ;-) 2015-03-22T14:42:54Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T14:43:17Z SAL9000: one thing I'm not seeing is how RAII and similar patterns would work 2015-03-22T14:43:21Z yrdz joined #lisp 2015-03-22T14:43:22Z SAL9000: given that CL doesn't have destructurs 2015-03-22T14:43:39Z drmeister: Actually, I have no idea what ROSE is - so I shouldn't be so glib. 2015-03-22T14:44:17Z eugeneia: hehe 2015-03-22T14:44:17Z minion: eugeneia, memo from pjb: there's nothing useful you can do knowing the sizes of lisp types. Why would you want to know them? 2015-03-22T14:44:19Z drmeister: I'm not sure what you mean? Are you asking how RAII would work if you interface C++ with CL? 2015-03-22T14:44:36Z nyef: ... ROSE: A pale red wine, often swigged during the summer months? 2015-03-22T14:44:36Z SAL9000: drmeister: yes 2015-03-22T14:44:57Z SAL9000: nyef, drmeister: http://rosecompiler.org/ 2015-03-22T14:45:08Z drmeister: It works fine because Clasp uses C++ exception handling for stack unwinding. 2015-03-22T14:45:18Z eugeneia: nyef: can't be called wine really 2015-03-22T14:45:28Z eugeneia: nyef: maybe for cooking 2015-03-22T14:45:35Z eugeneia: but no 2015-03-22T14:45:43Z |3b|: rose sounds more like clang/llvm than like swig 2015-03-22T14:46:44Z SAL9000: drmeister: what happens if Clasp-side code allocates an instance of a C++ class which has a destructor, stores it somewhere, then it gets garbage collected from Clang-side? If I'm understanding the situation correctly, the destructor would not be called, thus RAII would break. 2015-03-22T14:46:52Z |3b|: so you still need "rose ... or something", where "or something" is llvm 2015-03-22T14:47:00Z drmeister: Is ROSE based on LLVM or did they roll their own compiler front ends? 2015-03-22T14:47:18Z eugeneia: whos going to ELS 2015 in london? =) 2015-03-22T14:47:37Z CrazyEddy joined #lisp 2015-03-22T14:47:57Z SAL9000: drmeister: I'm not sure about that; I haven't investigated it in detail (yet). Looks like they rolled their own, though. 2015-03-22T14:48:00Z drmeister: SAL9000: Every Clasp object is a C++ class and many have destructors - they are handled fine. 2015-03-22T14:48:10Z SAL9000: OK, so RAII works 2015-03-22T14:48:12Z Joreji joined #lisp 2015-03-22T14:48:12Z Shinmera: eugeneia: Quite a few interesting people. 2015-03-22T14:48:26Z SAL9000: what about things like unique_ptr and C++-side reference-counting? 2015-03-22T14:48:33Z eugeneia: Shinmera: Oh I am just fine with uninteresting people too :) 2015-03-22T14:48:45Z drmeister: For foreign C++ classes you specify whether pointer ownership is taken over by Clasp or not. 2015-03-22T14:49:26Z SAL9000: that makes sense 2015-03-22T14:49:31Z eugeneia is not giving a talk this year so no audio fuckups =) 2015-03-22T14:50:09Z drmeister: There is another kind of C++ class that is more intimately bound to Clasp and that are subject to moving garbage collection. Those with destructors have finalizers set up for them. They are also analyzed by my static analyzer to identify every pointer within them so that they can be updated when the C++ objects move in memory. 2015-03-22T14:50:13Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T14:50:17Z Shinmera: eugenia: The ones I know of are beach, drmeister, jdz, splittist, Xach, Xof, and myself. 2015-03-22T14:51:08Z eugeneia: drmeister: Will you hold a talk on Clasp? 2015-03-22T14:51:16Z Shinmera: Accidental exclusions from that list of people that I should know of are purely due to bad memory. 2015-03-22T14:51:19Z drmeister: Yeah. 2015-03-22T14:51:22Z eugeneia: coolio 2015-03-22T14:51:40Z SAL9000: will this talk be recorded? I'd like to listen but I'm in Australia. Can't come to London that easily :( 2015-03-22T14:51:46Z eugeneia: Do we have a talk on this new Lisp OS? whats its called again? 2015-03-22T14:51:53Z eugeneia: I am super hyped about ut 2015-03-22T14:51:55Z eugeneia: *it 2015-03-22T14:52:01Z oleo: which one ? 2015-03-22T14:52:15Z Shinmera: SAL9000: I asked Xof about it, but he said he didn't know yet. Most likely they will be. 2015-03-22T14:52:22Z SAL9000: eugeneia: there is a lisp os? last I heard there was only talk about running clasp 'bare-metal' to implement such 2015-03-22T14:52:29Z attila_lendvai joined #lisp 2015-03-22T14:52:35Z Shinmera: SAL9000: He's talking about Mezzano 2015-03-22T14:52:41Z kapil___ quit (Quit: Connection closed for inactivity) 2015-03-22T14:52:42Z eugeneia: Lip OS: Mezzano 2015-03-22T14:52:45Z Shinmera: and I haven't heard of froggey coming to ELS, so I doubt it. 2015-03-22T14:52:50Z eugeneia: https://github.com/froggey/Mezzano 2015-03-22T14:53:06Z eugeneia: somebody should pour in their mad ass compiler skills 2015-03-22T14:53:11Z Joreji joined #lisp 2015-03-22T14:53:28Z SAL9000: oh my god someone actually did this :o 2015-03-22T14:53:38Z eugeneia: I will then *promise* to donate some manpower on a networking stack 2015-03-22T14:54:12Z eugeneia: I wan't VM farms of little lisp kernels =) 2015-03-22T14:54:12Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T14:54:55Z SAL9000: this is beautiful 2015-03-22T14:54:57Z |3b|: SAL9000: i wouldn't call finalizers "RAII", you really want a WITH-FOO scope to match RAII 2015-03-22T14:54:58Z SAL9000: it's like emacs: the actual OS 2015-03-22T14:55:10Z eugeneia: emacs meh^^ 2015-03-22T14:55:18Z nyef: eugeneia: GC first, then maybe compiler stuff. 2015-03-22T14:55:38Z manuel__ quit (Quit: manuel__) 2015-03-22T14:55:40Z nyef: eugeneia: And, honestly, there's already a networking stack there, get hacking already! d-: 2015-03-22T14:55:42Z |3b|: consider something like using RAII to grab a lock, that is never going to end well if it doesn't get released until next GC at best :) 2015-03-22T14:56:07Z SAL9000: |3b|: there's also RAII for stuff like, say, a GPU context. 2015-03-22T14:56:19Z |3b|: right, which you also don't really want leaking indefinitely 2015-03-22T14:56:42Z |3b|: consider something that opens lots of files but doesn't allocate much, so doesn't GC often 2015-03-22T14:56:48Z SAL9000: not the kind of thing you can shove into with-foo though 2015-03-22T14:57:09Z |3b|: yeah, translating idioms between languages is hard :/ 2015-03-22T14:57:15Z eugeneia: nyef: Yeah I am consulting for Snabb at the moment (next gen packet processing) thought I could maybe translate some successful ideas. 2015-03-22T14:57:34Z SAL9000: I'm thinking that lisp-side "destructors" for RAII are more of a safety-net 2015-03-22T14:58:05Z SAL9000: while the proper way would be (class:new instance) (class:destroy instance) or (with-class ) 2015-03-22T14:58:24Z |3b|: sure, as long as you realize the net might not actually be raised above the floor or attached to anything :p 2015-03-22T14:58:25Z hiroakip quit (Ping timeout: 252 seconds) 2015-03-22T14:58:29Z SAL9000: so if your stuff gets garbage-collected before you call (class:destroy) it still does the Right Thing 2015-03-22T14:58:45Z hiroaki quit (Ping timeout: 250 seconds) 2015-03-22T14:59:27Z SAL9000: while locks which get released at next GC cycle are easily noticed, C++-side leaks would be notoriously harder to debug 2015-03-22T14:59:28Z Karl_Dscc joined #lisp 2015-03-22T14:59:48Z Joreji joined #lisp 2015-03-22T15:00:15Z eugeneia: nyef: and I have some dreams about an erlang inspired Lisp runtime at the moment which I wan't to take to the imlementation level at some point but I'd feel bad hijacking a young project :p 2015-03-22T15:00:35Z eugeneia: what is it with me and the utterly wrong "wan't" at the moment 2015-03-22T15:00:35Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T15:00:45Z eugeneia: horrible 2015-03-22T15:01:21Z |3b|: finalizers can still leak indefinitely though, so you could still end up with things working 99% of the time and only failing under load after a long run 2015-03-22T15:01:21Z beach: eugeneia: Turn on your spell checker. It will catch it. 2015-03-22T15:01:22Z nyef: Mmm... It's not even like the difference between "cant" and "can't"... 2015-03-22T15:01:36Z ggole: What's it short for? "Wanna donut?" 2015-03-22T15:01:43Z |3b|: nyef: at least both of those are words :) 2015-03-22T15:01:51Z nyef: Exactly! 2015-03-22T15:02:15Z eugeneia: its not like I type it knowingly 2015-03-22T15:02:22Z nyef: Or "wont" and "won't". 2015-03-22T15:02:42Z nyef: ... No, that doesn't look right. 2015-03-22T15:02:45Z eugeneia: no "won't" is just as inexistant right? 2015-03-22T15:02:45Z nyef: Hrm. 2015-03-22T15:02:46Z SAL9000: |3b|: true, although that's nicer than things randomly failing while you're in REPL... and it's not like it's hard to add a STYLE-WARNING to this. 2015-03-22T15:03:06Z eugeneia: nyef: but I did that a lot too recently *gwarn* 2015-03-22T15:03:26Z ggole: eugeneia: I won't agree with that. 2015-03-22T15:03:51Z nyef: Yeah, that was it. "tendency" vs. "will not". 2015-03-22T15:04:31Z manuel__ joined #lisp 2015-03-22T15:04:40Z pt1 quit (Remote host closed the connection) 2015-03-22T15:04:45Z nialo is now known as bcoburn 2015-03-22T15:04:46Z ggole: Strange contraction, that one. 2015-03-22T15:05:41Z manuel__ quit (Client Quit) 2015-03-22T15:05:42Z beach: eugeneia: If you had your spell checker on, it would have caught "inexistant" as well. 2015-03-22T15:06:03Z eugeneia: yeah go all pedantic now :) 2015-03-22T15:06:48Z nyef: We have a long history, as a channel, of being pedantic about language. Just ask minion about "thwap"! 2015-03-22T15:07:20Z eugeneia: "As was her wont, she refused to let me pay." 2015-03-22T15:07:39Z eugeneia: "wont" is something I didn't even know 2015-03-22T15:07:41Z eugeneia: wow 2015-03-22T15:09:22Z nyef: Now consider the difference between "unwanted" and "unwonted". (-: 2015-03-22T15:10:14Z drmeister: beach: Maybe when I compiled everything last night it hit that error and I was typing and closed the SLDB frame before I noticed it came up. That file (utilities/utilities.lisp) is about 19 from the end so almost everything compiled. 2015-03-22T15:11:23Z drmeister: I patched Cleavir to handle function-block-name(s) in (defmethod convert-special ...) for flet and labels. I'm trying it out. 2015-03-22T15:11:58Z drmeister: I'll leave the official changes to you. 2015-03-22T15:12:19Z beach: OK. 2015-03-22T15:12:57Z pt1 joined #lisp 2015-03-22T15:13:43Z digiorgi joined #lisp 2015-03-22T15:14:08Z drmeister: Remember how I was surprised that it was done already? That was when I thought I'd compiled all of Cleavir within the span of a few minutes - it seemed too fast. It still seemed to fast for 100 source files. Oh well. 2015-03-22T15:14:19Z drmeister: That's why I ran everything from scratch overnight. 2015-03-22T15:14:24Z burtons quit (Ping timeout: 245 seconds) 2015-03-22T15:14:34Z digiorgi quit (Client Quit) 2015-03-22T15:14:49Z beach: Yes I see. At least you have a plausible explanation. 2015-03-22T15:15:20Z drmeister: It's a "fog of war" explanation. 2015-03-22T15:15:57Z schaueho quit (Ping timeout: 264 seconds) 2015-03-22T15:16:18Z badkins joined #lisp 2015-03-22T15:16:43Z drmeister: I never get anything right the first time - or the second time... 2015-03-22T15:16:54Z manuel__ joined #lisp 2015-03-22T15:16:55Z beach: So you say. 2015-03-22T15:16:59Z drmeister: but the fifth time - that usually works for me. 2015-03-22T15:17:11Z Shinmera: You can get everything right the first time. Just need to adapt the goals. 2015-03-22T15:17:12Z beach: I take it you have been married a few times before this one. 2015-03-22T15:17:33Z drmeister: Oh - no - that I got really, really right. 2015-03-22T15:17:42Z beach: See? 2015-03-22T15:17:51Z beach: You are too negative about things. 2015-03-22T15:17:58Z drmeister: Or let's say I got it wrong but then I got domesticated. 2015-03-22T15:18:15Z drmeister: Civilized. 2015-03-22T15:18:32Z drmeister: Something like that. 2015-03-22T15:19:27Z Shinmera: beach: I don't know if that's negative or just the result of experience. 2015-03-22T15:20:38Z pjb: - 2015-03-22T15:20:44Z Judge_Dredd joined #lisp 2015-03-22T15:20:59Z beach: Shinmera: I don't know drmeister well enough to tell. 2015-03-22T15:21:16Z beach: Anyway, time to go spend some more time with my (admittedly small) family. 2015-03-22T15:21:18Z badkins quit (Ping timeout: 252 seconds) 2015-03-22T15:21:36Z yrdz left #lisp 2015-03-22T15:21:52Z theseb joined #lisp 2015-03-22T15:22:44Z rszeno quit (Quit: Leaving.) 2015-03-22T15:24:08Z drmeister: Yesterday in my pridefulness I dumped the list of bitcode files generated by the build last night. utilities.bc is in there but I don't know if it's an empty file or not. Later when the current build finishes I'll check if any of the later files were built. 2015-03-22T15:28:33Z ziocroc quit (Ping timeout: 264 seconds) 2015-03-22T15:29:19Z ziocroc joined #lisp 2015-03-22T15:29:22Z d4ryus__ joined #lisp 2015-03-22T15:29:23Z ggole: Like they say, pride comes before a regression. 2015-03-22T15:29:42Z hiroakip joined #lisp 2015-03-22T15:29:52Z hiroaki joined #lisp 2015-03-22T15:30:21Z Ethan- quit (Ping timeout: 264 seconds) 2015-03-22T15:32:17Z d4ryus quit (Ping timeout: 246 seconds) 2015-03-22T15:34:00Z yrk joined #lisp 2015-03-22T15:34:36Z yrk quit (Changing host) 2015-03-22T15:34:36Z yrk joined #lisp 2015-03-22T15:35:16Z Karl_Dscc quit (Remote host closed the connection) 2015-03-22T15:37:41Z pt1 quit (Remote host closed the connection) 2015-03-22T15:37:42Z nyef: Pride comes before getting mauled by lions? 2015-03-22T15:39:15Z drmeister: Nope - later files were built - I am completely flummoxed - I have no idea how Cleavir got built yesterday evening. 2015-03-22T15:39:52Z pt1 joined #lisp 2015-03-22T15:40:12Z drmeister: I'm pretty sure I know what's going on now though. 2015-03-22T15:41:56Z ggole waits for drmeister to get mauled by lions 2015-03-22T15:43:28Z manuel__ quit (Quit: manuel__) 2015-03-22T15:45:47Z EvW quit (Quit: EvW) 2015-03-22T15:45:57Z SAL9000: ggole, drmeister: http://xkcd.com/292/ 2015-03-22T15:52:37Z That_Engineer joined #lisp 2015-03-22T15:55:46Z k-dawg quit (Quit: This computer has gone to sleep) 2015-03-22T15:57:01Z ziocroc quit (Quit: ziocroc) 2015-03-22T16:00:14Z drmeister: SAL9000: It's funny that you brought up what you did - I just ran into a "too many open files" error. 2015-03-22T16:00:35Z drmeister: I wasn't closing my streams in COMPILE-FILE and adding Cleavir to my build system put me over the limit. 2015-03-22T16:00:38Z Judge_Dredd left #lisp 2015-03-22T16:01:12Z mj-0 joined #lisp 2015-03-22T16:01:54Z billstclair quit (Ping timeout: 276 seconds) 2015-03-22T16:02:38Z selat joined #lisp 2015-03-22T16:03:04Z SAL9000: drmeister: perhaps opening files should be a GC trigger just as consing is? 2015-03-22T16:03:45Z ehu quit (Quit: Leaving.) 2015-03-22T16:03:52Z nyef: drmeister: ... So, either you're not using WITH-OPEN-FILE or you are not using a suitable UNWIND-PROTECT? 2015-03-22T16:03:58Z drmeister: Naw, this is solved with a simple WITH-OPEN-STREAM 2015-03-22T16:04:04Z Guest84732 joined #lisp 2015-03-22T16:04:23Z drmeister: nyef: Yes - I was OPENing the file/stream and then just abandoning it. 2015-03-22T16:05:10Z nyef: That... takes a deliberate choice, given that the default construct for opening a file should be WITH-OPEN-FILE. 2015-03-22T16:05:40Z drmeister: You know how when you are debugging and you start with "I have no idea why this isn't working" and then after a while it's "I have no idea how anything worked before" - I am so there. 2015-03-22T16:05:56Z ehu joined #lisp 2015-03-22T16:06:04Z ehu quit (Client Quit) 2015-03-22T16:06:24Z futpib quit (Quit: Konversation terminated!) 2015-03-22T16:06:37Z drmeister: Is WITH-OPEN-FILE just a convenience version of WITH-OPEN-STREAM? 2015-03-22T16:06:48Z nyef: I think it might have extra semantics. 2015-03-22T16:07:27Z oleo: a file stream 2015-03-22T16:07:33Z oleo: vs. a stream alone.... 2015-03-22T16:07:44Z nyef: As in, it might do different things on NLX. 2015-03-22T16:08:29Z SAL9000: NLX? 2015-03-22T16:10:07Z nyef: Non-local exit. 2015-03-22T16:10:11Z nyef: Unwind, basically. 2015-03-22T16:12:10Z defaultxr joined #lisp 2015-03-22T16:17:01Z Mon_Ouie quit (Ping timeout: 256 seconds) 2015-03-22T16:18:05Z eugeneia: drmeister: classic debugging state of mind :) 2015-03-22T16:18:08Z boogie joined #lisp 2015-03-22T16:20:14Z nyef: I still don't understand how SBCL ever worked on MIPS before I fixed it. 2015-03-22T16:20:40Z That_Engineer quit (Ping timeout: 255 seconds) 2015-03-22T16:21:23Z jtza8 joined #lisp 2015-03-22T16:22:34Z smokeink quit (Remote host closed the connection) 2015-03-22T16:22:40Z sheilong joined #lisp 2015-03-22T16:22:56Z logand` joined #lisp 2015-03-22T16:23:43Z rhllor joined #lisp 2015-03-22T16:24:56Z Joreji joined #lisp 2015-03-22T16:24:57Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T16:24:58Z fierydiarreha joined #lisp 2015-03-22T16:26:47Z logand quit (Ping timeout: 252 seconds) 2015-03-22T16:30:59Z bandrami joined #lisp 2015-03-22T16:31:31Z theos quit (Remote host closed the connection) 2015-03-22T16:32:09Z Joreji joined #lisp 2015-03-22T16:32:37Z arenz joined #lisp 2015-03-22T16:34:37Z Guest84732 quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-22T16:34:55Z bandrami quit (Client Quit) 2015-03-22T16:35:06Z Joreji_ joined #lisp 2015-03-22T16:35:18Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T16:35:40Z devll joined #lisp 2015-03-22T16:35:41Z Joreji_ quit (Read error: Connection reset by peer) 2015-03-22T16:36:25Z theos joined #lisp 2015-03-22T16:37:04Z drmeister: Are dynamic library files held open while a program that uses them runs? 2015-03-22T16:37:44Z nyef: Yes, but I don't believe that it uses up an FD for it. 2015-03-22T16:38:06Z Vutral quit (Ping timeout: 244 seconds) 2015-03-22T16:38:15Z drmeister: I see lots of FASL files open - they are dynamic libraries 2015-03-22T16:38:37Z drmeister: https://www.irccloud.com/pastebin/Y1pC9za3 2015-03-22T16:38:39Z p_l: nyef: you use an fd for them, afaik 2015-03-22T16:38:50Z p_l: because mmap uses an fd 2015-03-22T16:39:57Z eugeneia quit (Ping timeout: 264 seconds) 2015-03-22T16:40:09Z Joreji joined #lisp 2015-03-22T16:40:53Z pt1 quit (Remote host closed the connection) 2015-03-22T16:46:01Z mj-0 quit (Remote host closed the connection) 2015-03-22T16:46:13Z attila_lendvai quit (Ping timeout: 252 seconds) 2015-03-22T16:46:57Z nyef: Looking at an sbcl process with lsof, all of the dynamic libraries seem to have an FD of "mem". 2015-03-22T16:48:06Z nyef: The impression that I get is that once the library is open and its spaces mapped, the actual FD is no longer required. 2015-03-22T16:48:09Z Joreji quit (Read error: Connection reset by peer) 2015-03-22T16:53:08Z fierydiarreha quit (Ping timeout: 246 seconds) 2015-03-22T16:53:59Z yrk quit (Ping timeout: 245 seconds) 2015-03-22T16:55:12Z That_Engineer joined #lisp 2015-03-22T16:57:53Z theseb left #lisp 2015-03-22T16:58:13Z francogrex joined #lisp 2015-03-22T16:59:55Z CrazyEddy quit (Remote host closed the connection) 2015-03-22T17:00:23Z d4ryus__ is now known as d4ryus 2015-03-22T17:00:57Z CrazyEddy joined #lisp 2015-03-22T17:03:15Z mj-0 joined #lisp 2015-03-22T17:03:22Z pjb: memory mapped files are still files requiring a file descriptor. see mmap(2)! 2015-03-22T17:03:42Z pjb: notably munmap(). 2015-03-22T17:04:33Z drmeister: It's ASDF that is building and loading all of those FASL files - am I in danger with large systems with lots of dependencies of running out of FDs? 2015-03-22T17:04:34Z Vutral joined #lisp 2015-03-22T17:04:54Z drmeister: If I used Caveman(2) for instance - that dependency graph was huge. 2015-03-22T17:05:06Z pjb: Of course, you'd be free to _copy_ the data from the file into RAM. But then it wouldn't be a memory mapped file anymore, and you'd have one copy per process using the library, instead of a shared library. 2015-03-22T17:05:33Z p_l: drmeister: maybe implement merged FASLs like ECL? 2015-03-22T17:05:56Z p_l: where whole ASDF system compiles into single FASL 2015-03-22T17:06:03Z drmeister: Yeah - I should look into that. My build system builds a merged FASL. 2015-03-22T17:06:17Z drmeister: ASDF does it by building a merged source file and compiling that into a single FASL. 2015-03-22T17:06:50Z drmeister: My build system builds separate bitcode files and links them together using LLVM. I guess I have options here. 2015-03-22T17:07:12Z fierydiarreha joined #lisp 2015-03-22T17:07:29Z mj-0 quit (Ping timeout: 246 seconds) 2015-03-22T17:08:17Z Shinmera: Didn't people long ago tell you to write your own FASL format to avoid all the headaches of shared libraries? 2015-03-22T17:08:34Z drmeister: Probably - I don't listen to other people. 2015-03-22T17:08:37Z drmeister: What headaches? 2015-03-22T17:08:53Z Shinmera: I recall you having problem with your FASL strategy before. 2015-03-22T17:08:54Z drmeister: (sometimes I don't listen to other people). 2015-03-22T17:08:55Z pjb: You can still use shared libraries, and it might be a good idea, to promote usability of CL on unix systems. 2015-03-22T17:08:56Z Shinmera: *problems 2015-03-22T17:09:05Z drmeister: I fixed it. 2015-03-22T17:09:16Z pjb: But it would involve some layers above the basic shared library format. 2015-03-22T17:09:45Z pjb: For example, a mapped library would still have to run load-time-value expressions once per process. 2015-03-22T17:10:12Z CrazyEddy quit (Ping timeout: 252 seconds) 2015-03-22T17:10:19Z drmeister: I'm trying to stick to standard C/C++/unix tools. C++ interop, shared libraries, DWARF debugging info etc. Then I can take advantage of existing tools. 2015-03-22T17:10:20Z Shinmera: Also, generating bundled FASLs doesn't fix the problem, it just mitigates it. 2015-03-22T17:10:57Z CrazyEddy joined #lisp 2015-03-22T17:11:14Z Shinmera: Not to mention that, if you do that, rebuilding a system will always result in a complete rebuild of the entire thing, rather than the one changed file + dependant files. 2015-03-22T17:11:15Z drmeister: Shinmera: Which problem does it mitigate? The use of FD handles? 2015-03-22T17:11:30Z Shinmera: I thought that was the issue being discussed here? 2015-03-22T17:11:31Z pjb: You have to see it as a layered protocol. You use elf shared library as a transport layer for your application layer. 2015-03-22T17:11:45Z drmeister: Yes - that was the topic. 2015-03-22T17:12:01Z nicdev joined #lisp 2015-03-22T17:12:07Z Shinmera: Then how do my statements imply that I'm talking about anything but that? 2015-03-22T17:12:46Z drmeister: Shinmera: Yes, changing something in the core Common Lisp requires a rebuild of the image. 2015-03-22T17:13:33Z rhllor quit (Quit: rhllor) 2015-03-22T17:13:38Z drmeister: Hopefully I'll reach a point where that won't be required as often. Also, building a single bitcode file and then reusing the rest is a lot faster - but it doesn't work if you change a macro. 2015-03-22T17:13:39Z devll quit (Remote host closed the connection) 2015-03-22T17:13:51Z Shinmera: I'm not talking about your core CL. I'm talking about any library ever. ASDF normally generates a FASL per each file. Bundling the FASLs together into one per system was suggested. I'm saying that doesn't solve the problem, nor is it a nice mitigation strategy. 2015-03-22T17:14:07Z devll joined #lisp 2015-03-22T17:14:30Z pjb: Right. You'd have to consider those fasl as .o and have a phase to gather them into a .so file. 2015-03-22T17:14:38Z f03lipe joined #lisp 2015-03-22T17:14:45Z pjb: You'd have a .so per system. 2015-03-22T17:15:10Z dfinninger quit (Remote host closed the connection) 2015-03-22T17:15:20Z drmeister: Shinmera: I agree - but I think it's part of the cost of doing business. But you have a choice - you can build things piecemeal using ASDF and then when you want to build a production FASL you can build one big FASL. 2015-03-22T17:15:24Z drmeister: That's what I'm doing now. 2015-03-22T17:16:19Z drmeister: I just finished compiling Cleavir/Clasp with Cleavir/Clasp compiled with the bootstrapping compiler - it takes about an hour. 2015-03-22T17:16:31Z drmeister: This time I'm certain everything works. 2015-03-22T17:16:33Z Shinmera: On Mac, I'm guessing? 2015-03-22T17:16:39Z drmeister: Yes. 2015-03-22T17:16:41Z drmeister: Mac 2015-03-22T17:16:47Z drmeister: two year old MBP 2015-03-22T17:16:58Z Shinmera: Can't wait for my one week build time on linux then :) 2015-03-22T17:17:08Z drmeister: Now I'll generate the one big FASL. 2015-03-22T17:18:12Z drmeister: Actually - I can do something else first. Load Clasp with no image and load all of the bitcode files in sequence JITting them as it goes. 2015-03-22T17:19:57Z drmeister: Hmm, that's a bit of a problem - I don't have the full list of bitcode files at that point. 2015-03-22T17:20:16Z drmeister: Bootstrapping (snort) 2015-03-22T17:22:11Z drmeister: I use a list of symbols that get converted into PATHNAMEs - it's a bit Byzantine. 2015-03-22T17:22:15Z drmeister: https://www.irccloud.com/pastebin/kl69FGtY 2015-03-22T17:22:17Z cadadar quit (Quit: Leaving.) 2015-03-22T17:22:43Z pjb: Why not strings? 2015-03-22T17:22:56Z Adlai quit (Ping timeout: 272 seconds) 2015-03-22T17:23:30Z drmeister: Pathnames would be more useful. I think I did it this way because when I first implemented this I didn't have pathnames. 2015-03-22T17:23:55Z pjb: physical namestrings are strings. 2015-03-22T17:24:17Z pjb: they're require very little pathname mechanism implemented to be useful. 2015-03-22T17:24:24Z pjb: s/'re// 2015-03-22T17:24:43Z drmeister: I had zero at the time. I'll switch to pathnames now. 2015-03-22T17:25:29Z Adlai joined #lisp 2015-03-22T17:26:07Z drmeister: There are also keyword symbols in there - they are a way of specifying intermediate stages that I can load and compile to. 2015-03-22T17:26:20Z boogie quit (Remote host closed the connection) 2015-03-22T17:29:46Z boogie joined #lisp 2015-03-22T17:30:37Z k-stz` joined #lisp 2015-03-22T17:30:44Z boogie quit (Remote host closed the connection) 2015-03-22T17:31:11Z k-stz` quit (Remote host closed the connection) 2015-03-22T17:31:45Z goku joined #lisp 2015-03-22T17:32:58Z goku quit (Remote host closed the connection) 2015-03-22T17:34:11Z clop joined #lisp 2015-03-22T17:34:54Z badkins joined #lisp 2015-03-22T17:38:14Z That_Engineer quit (Quit: Leaving) 2015-03-22T17:38:44Z francogrex: msg? 2015-03-22T17:39:13Z bcoburn_c joined #lisp 2015-03-22T17:40:24Z bcoburn quit (Ping timeout: 246 seconds) 2015-03-22T17:41:06Z pjb: I see how disappointed you are… 2015-03-22T17:41:25Z ejbs````` joined #lisp 2015-03-22T17:42:08Z francogrex: not as much as when I get no messages of facebook! 2015-03-22T17:42:32Z badkins quit (Remote host closed the connection) 2015-03-22T17:43:01Z slyrus quit (Ping timeout: 255 seconds) 2015-03-22T17:43:33Z ejbs```` quit (Ping timeout: 264 seconds) 2015-03-22T17:43:53Z drmeister: Facebook always tells me "you have 0 friends" (apologies to South Park) 2015-03-22T17:45:40Z pjb: The only facebook accounts I have are named xyz-develop or abc-test or something :-) 2015-03-22T17:45:41Z faheem_: zero is the luckiest number. When it comes to Facebook. 2015-03-22T17:45:45Z francogrex: drmeister: you're lucky trust me 2015-03-22T17:47:14Z Shinmera: Whadda ya mean "lucky", it's your choice to log on to facebook or whether you keep your profile at all. 2015-03-22T17:48:32Z pjb: Not always. 2015-03-22T17:48:36Z drmeister: The exercise of trying to load all the bitcode files was useful - it uncovered some files that were missing IN-PACKAGE forms 2015-03-22T17:48:49Z faheem_: Shinmera: maybe Facebook created his profile spontaneously. It does that sometimes. 2015-03-22T17:49:01Z pjb: Also, give the groupthink of the general population, I don't see any freedom of choice in those matters. 2015-03-22T17:49:03Z yCrazyEdd joined #lisp 2015-03-22T17:49:10Z CrazyEddy quit (Remote host closed the connection) 2015-03-22T17:49:14Z yCrazyEdd is now known as CrazyEddy 2015-03-22T17:49:58Z drmeister is just kidding - he has Facebook friends - he chooses to ignore them. 2015-03-22T17:50:45Z psy_ joined #lisp 2015-03-22T17:52:29Z drmeister: Except for the posts about cats - since like about half the world population I probably carry Toxoplasma gondii - I like cats. 2015-03-22T17:52:33Z faheem_: drmeister: I'm tempted to send you a friend request. 2015-03-22T17:52:38Z drmeister: Toxoplasma gondii is the reason we have the internet. 2015-03-22T17:53:32Z ggole waits for drmeister to be mauled by cats 2015-03-22T17:59:27Z drmeister: It's a parasite that makes rats seek out cats. It infects humans and makes us friendlier, slightly stupider and like cats. The Internet is full of cat pictures - you see where I'm going with this. 2015-03-22T18:00:14Z drmeister: In France about 85% of the population is infected. 2015-03-22T18:00:59Z drmeister: That's probably why they are stereotyped as great lovers and surrender monkeys. 2015-03-22T18:02:07Z drmeister: Did you hear about the French Swiss Army knife? 2015-03-22T18:02:33Z drmeister: It has a corkscrew and ten white flags. 2015-03-22T18:02:49Z faheem_: drmeister: that all sounds like myth. 2015-03-22T18:02:54Z faheem_: posing as science. 2015-03-22T18:02:59Z vr-rm quit (Ping timeout: 256 seconds) 2015-03-22T18:03:15Z drmeister: Oh god I hope b_e_a_c_h doesn't read this. 😄 2015-03-22T18:03:34Z pjb: He's Swedish. 2015-03-22T18:03:41Z drmeister: Look it up. 2015-03-22T18:04:15Z drmeister: Hard science with a little interpretation 2015-03-22T18:04:40Z drmeister: Back off man, I'm a scientist. 2015-03-22T18:04:52Z pjb: There's no point in fighting unwinnable wars. You USians should know that, but no, you're still doing it, after half a dozen unwinnable war lost. 2015-03-22T18:05:53Z drmeister: I agree - also, I'm Canadian by birth. We are largely pacifists. 2015-03-22T18:05:57Z pjb: And besides unwinable wars, there's also not-one-s-war wars. 2015-03-22T18:06:17Z pjb: Why should the people (99.99%) fight capitalists (0.01%) wars? 2015-03-22T18:07:42Z pavelpenev quit (Quit: No Ping reply in 180 seconds.) 2015-03-22T18:07:49Z drmeister: No argument from me. 2015-03-22T18:07:56Z drmeister: No argument from me. 2015-03-22T18:08:18Z guicho quit (Quit: さようなら) 2015-03-22T18:09:03Z pavelpenev joined #lisp 2015-03-22T18:09:25Z drmeister: I was watching a Ted talk by Dean Kamen about his Slingshot water purification system. I agree with him that we should be shipping those out rather than bombs. 2015-03-22T18:10:06Z drmeister: Sorry - waaaay off topic. I'll stop now. 2015-03-22T18:17:28Z wheelsucker joined #lisp 2015-03-22T18:20:58Z bcoburn_c is now known as bcoburn 2015-03-22T18:22:53Z attila_lendvai joined #lisp 2015-03-22T18:30:04Z larion quit (Ping timeout: 272 seconds) 2015-03-22T18:30:38Z larion joined #lisp 2015-03-22T18:31:37Z leb joined #lisp 2015-03-22T18:32:31Z Karl_Dscc joined #lisp 2015-03-22T18:33:24Z Mon_Ouie joined #lisp 2015-03-22T18:33:30Z Mon_Ouie quit (Changing host) 2015-03-22T18:33:30Z Mon_Ouie joined #lisp 2015-03-22T18:37:47Z hiroakip quit (Ping timeout: 246 seconds) 2015-03-22T18:38:08Z hiroaki quit (Ping timeout: 246 seconds) 2015-03-22T18:38:18Z bgs100 joined #lisp 2015-03-22T18:39:31Z manuel__ joined #lisp 2015-03-22T18:39:47Z hrr4 joined #lisp 2015-03-22T18:40:52Z agumonkey_ joined #lisp 2015-03-22T18:41:08Z agumonkey quit (Read error: Connection reset by peer) 2015-03-22T18:44:39Z gravicappa joined #lisp 2015-03-22T18:47:25Z futpib joined #lisp 2015-03-22T18:51:02Z ejbs joined #lisp 2015-03-22T18:54:32Z arenz quit (Ping timeout: 265 seconds) 2015-03-22T18:54:39Z loz1 quit (Ping timeout: 246 seconds) 2015-03-22T18:56:23Z francogrex quit (Quit: ERC Version 5.2 (IRC client for Emacs)) 2015-03-22T18:56:59Z ejbs: I thought beach was German 2015-03-22T18:57:11Z ejbs````` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-03-22T19:06:54Z zadock joined #lisp 2015-03-22T19:08:08Z ejbs quit (Remote host closed the connection) 2015-03-22T19:09:54Z beach: pjb: I am European. 2015-03-22T19:11:08Z mood: beach: Sounds like ELS is made for you 2015-03-22T19:11:30Z beach: That's one way of putting it. I actually organized the first one. 2015-03-22T19:11:52Z mood: Ok, made *by* you 2015-03-22T19:12:00Z loz1 joined #lisp 2015-03-22T19:12:08Z cluck: history burn! 2015-03-22T19:12:12Z hitecnologys_ joined #lisp 2015-03-22T19:12:31Z beach: Pascal Costanza invented it. He asked me to organize the first one. 2015-03-22T19:12:47Z mood: This is getting complicated... 2015-03-22T19:13:08Z ejbs joined #lisp 2015-03-22T19:13:57Z mood: I'm still not sure if I can/want to go to ELS2015 2015-03-22T19:14:00Z beach: Yeah. Unimportant trivia. 2015-03-22T19:14:39Z beach: mood: I recommend it. 2015-03-22T19:14:53Z beach: I trust Xof will do a great job on the orgainzation. 2015-03-22T19:14:59Z beach: organization. 2015-03-22T19:15:15Z cluck: it's sad we're still defined by sets of imaginary lines in the sand, we should be making universal lisp symposiums, radioing invites to aliens from arecibo 2015-03-22T19:15:17Z hitecnologys quit (Ping timeout: 250 seconds) 2015-03-22T19:15:17Z hitecnologys_ is now known as hitecnologys 2015-03-22T19:15:55Z beach: cluck: Everybody is invited to this one. There were two submissions from Japan and several from the US. 2015-03-22T19:16:09Z beach: No lines in the sand here. 2015-03-22T19:16:43Z aeth: cluck: I'm guessing that there are various practical reasons for different regional events, including time zones, expense of travel, and borders (e.g. Schengen Area in Europe) 2015-03-22T19:17:12Z dfinninger joined #lisp 2015-03-22T19:19:29Z shka joined #lisp 2015-03-22T19:19:33Z shka: hi 2015-03-22T19:20:27Z ejbs: beach: Do you still live in Sweden? If I may ask 2015-03-22T19:20:49Z ehu joined #lisp 2015-03-22T19:20:51Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-22T19:21:04Z beach: I live in France, which is probably why drmeister thinks I am French. I have lived longer outside Sweden than inside at this point. 2015-03-22T19:21:32Z dfinninger quit (Ping timeout: 246 seconds) 2015-03-22T19:21:52Z mood: It'd be really useful to know the general outline of the ELS programme, for hotel reservations and the like. Hmm 2015-03-22T19:22:11Z Odin-: beach: I don't see how it's limited by lines in the sand unless people from outside the region are actively prevented from attending. Is that the case? 2015-03-22T19:22:13Z beach: mood: It should be imminent. 2015-03-22T19:22:23Z beach: mood: The review process is finished. 2015-03-22T19:23:08Z beach: Odin-: I just said that everybody is invited and cited several submissions from other continents. 2015-03-22T19:23:19Z beach: Did you miss it? 2015-03-22T19:24:32Z beach: Odin-: Xach is a keynote speaker. He is USAsian. 2015-03-22T19:24:39Z Odin-: Hm. No, but apparently my IRC client colours you and cluck far too similarly. 2015-03-22T19:24:48Z beach: Oh. 2015-03-22T19:24:53Z Odin-: Sorry. 2015-03-22T19:25:10Z beach: No problem. 2015-03-22T19:25:55Z mood: beach: Nice, I can wait a few more days. Everything seems pretty affordable, so that shouldn't be a problem. (I'm a student, so the registration fee of only 60 euro also helps.) 2015-03-22T19:26:32Z beach: mood: Yeah, we decided on low registration fees from the beginning, especially for students. I think that's a good thing. 2015-03-22T19:27:03Z angavrilov quit (Remote host closed the connection) 2015-03-22T19:27:22Z beach: mood: I told Shinmera (but he was not interested) that one time I visited Golsmiths I stayed in a student dorm for a few nights. It was OK for a few nights. No luxury of course. That option might be open to you. 2015-03-22T19:28:27Z beach: mood: All reasonable hotels were fully booked because of some major event so I had no choice. But it was good because it was just across the street from where the ELS venue is going to be. 2015-03-22T19:28:48Z admg joined #lisp 2015-03-22T19:29:10Z faheem_: beach: Goldsmiths College, U of L? 2015-03-22T19:29:11Z mood: beach: I could consider something like that, but money isn't much of a problem and I like the hotel experience a lot more 2015-03-22T19:29:17Z manuel__ quit (Quit: manuel__) 2015-03-22T19:29:30Z beach: faheem_: Yes, it is indicated on the ELS website. 2015-03-22T19:29:39Z faheem_: mood: college dorms can be better places to meet people. 2015-03-22T19:29:49Z beach: mood: That's what Shinmera said too. 2015-03-22T19:29:53Z beach: Just saying... 2015-03-22T19:30:17Z drmeister: beach: it took about an hour to compile cleavir/clasp with Cleavir/clasp compiled with the bootstrapping compiler. On modern MacBook Pro 2015-03-22T19:30:33Z beach: drmeister: Not too bad. 2015-03-22T19:30:44Z Shinmera: For once when I get pinged it isn't about my libraries being broken. And I was already terrified. 2015-03-22T19:31:16Z drmeister: A good timing comparison will be to compile it with itself compiled by itself 2015-03-22T19:31:38Z beach: drmeister: Yes! Be sure to remember the timings. 2015-03-22T19:32:25Z drmeister: That will test a lot of code all at once. 2015-03-22T19:32:25Z x1n4u joined #lisp 2015-03-22T19:32:37Z beach: drmeister: Did I tell you that if you bring your copy of Lisp in Small Pieces, you can have it signed by the translator for sure, and likely by the author as well. 2015-03-22T19:32:39Z beach: ? 2015-03-22T19:33:06Z drmeister: Yes. I'll try to bring it. 2015-03-22T19:33:30Z beach: I'll tell the translator to bring her favorite pen. 2015-03-22T19:33:54Z That_Engineer joined #lisp 2015-03-22T19:34:00Z Shinmera has to practise more traditional drawing again. 2015-03-22T19:34:25Z beach: drmeister: I should go. Talk tomorrow morning UTC+1 maybe. 2015-03-22T19:34:39Z beach left #lisp 2015-03-22T19:36:57Z motumla joined #lisp 2015-03-22T19:37:09Z mood: Shinmera: The fact that people ping you about library breakage could also be a positive statement about the general quality of the whole. 2015-03-22T19:37:21Z motumla quit (Client Quit) 2015-03-22T19:37:47Z Shinmera: I didn't mean it in a negative way at all. I'm really grateful for all feedback. I'm just also a very anxious person. 2015-03-22T19:37:48Z mood: If it's all completely broken, someone is more likely to give up 2015-03-22T19:37:48Z faheem_: well, it means people are actually using it. 2015-03-22T19:38:00Z mood: That too 2015-03-22T19:38:08Z faheem_: Shinmera: try dance. or yoga. either, or both. 2015-03-22T19:38:23Z motumla joined #lisp 2015-03-22T19:38:42Z motumla quit (Client Quit) 2015-03-22T19:39:05Z Shinmera: Thanks for the suggestion, but I think I'll stick to drawing, reading, writing, coding, singing, and playing games for now. 2015-03-22T19:39:23Z motumla joined #lisp 2015-03-22T19:39:34Z mood: It's a wonder you get so much code written, with all of those other things taking up time 2015-03-22T19:39:34Z That_Engineer: I'm new to lisp and have been using vim for a long time. Everything I've read has said to use emacs for lisp. My question is: why do so many lispers use emacs? 2015-03-22T19:39:43Z motumla quit (Remote host closed the connection) 2015-03-22T19:39:57Z H4ns: That_Engineer: there is very good integration of lisp development into emacs 2015-03-22T19:39:57Z faheem_: That_Engineer: SLIME is a very good interface. 2015-03-22T19:39:59Z Shinmera: mood: The secret is that they don't take up much time at all, except for when I'm not coding or slacking off. 2015-03-22T19:40:03Z faheem_: for lack of a better term. 2015-03-22T19:40:11Z faheem_: That_Engineer: have you tried SLIME? 2015-03-22T19:40:21Z H4ns: That_Engineer: as we are using interactive development, a good integrated editor is very vital 2015-03-22T19:40:32Z faheem_: Unfortunate name, but that's hackers for you. Not in the marketing business. 2015-03-22T19:40:40Z Shinmera: That_Engineer: It's a combination of SLIME being great, elisp being "close", and history. 2015-03-22T19:41:05Z That_Engineer: faheem_: not yet. I've been suffering through trying to use vim and lisp. Now I give up and what to learn about emacs. 2015-03-22T19:41:08Z mood: That_Engineer: Some people are very happy with SLIMV though, so don't let all the Emacs talk put you off 2015-03-22T19:41:12Z faheem_: Shinmera: those don't sound like very social activities. well, except possibly for the singing and games. depending. 2015-03-22T19:41:23Z faheem_: SLIMV? 2015-03-22T19:41:36Z That_Engineer: Haven't checked that out yet. 2015-03-22T19:41:37Z mood: Superior Lisp Interaction Mode for Vim 2015-03-22T19:41:39Z Shinmera: faheem_: My social interaction is IRC channels and twitter. 2015-03-22T19:41:52Z faheem_: Shinmera: blimey. 2015-03-22T19:42:08Z faheem_: you need to get out more. 2015-03-22T19:42:17Z Shinmera: That_Engineer: There's also packages to make emacs more vim-y 2015-03-22T19:42:34Z Shinmera: faheem_: Nah. 2015-03-22T19:42:35Z motumla joined #lisp 2015-03-22T19:42:47Z faheem_: Shinmera: :-) 2015-03-22T19:43:04Z faheem_: That_Engineer: SLIME is very good. Try it. 2015-03-22T19:43:17Z aeth: Is the French version of Lisp in Small Pieces still available of that book somewhere? Je peux lire des livres en français. 2015-03-22T19:43:21Z faheem_: Of course, you might not like emacs. Some people don't. 2015-03-22T19:43:44Z faheem_: mood: oh, never heard of that. Is that like SLIME? 2015-03-22T19:44:24Z Shinmera: aeth: Le titre français est "Les Langages Lisp". 2015-03-22T19:45:26Z aeth: Merci. 2015-03-22T19:45:35Z mood: faheem_: Yes. It's not bad. I used it for a few months before moving on to Emacs 2015-03-22T19:45:40Z Shinmera: Pas du tout 2015-03-22T19:45:54Z Bike: aeth: author's page has some links. http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html 2015-03-22T19:46:18Z Bike: course, it's out of date, because academia... 2015-03-22T19:46:41Z mood: LiSP is one expensive book 2015-03-22T19:47:06Z aeth: The new title: Principes d'implantation de Scheme et Lisp 2015-03-22T19:47:12Z Bike: again, academia 2015-03-22T19:48:02Z That_Engineer: Is the integration between emacs, slime, and lisp worth the change? I'm willing to switch if it is worth it. 2015-03-22T19:48:12Z Bike: it is pretty great, yes. 2015-03-22T19:48:26Z Xach: That_Engineer: it's hard for someone other than you to say how much you value vim 2015-03-22T19:48:46Z Xach: Emacs's CL integration is better than anything else right now, though. 2015-03-22T19:48:46Z Quadrescence joined #lisp 2015-03-22T19:49:00Z faheem_: mood: oh, ok. 2015-03-22T19:49:02Z eazar001_ joined #lisp 2015-03-22T19:50:01Z faheem_: That_Engineer: you could just play with it. If you don't use emacs bells and whistles, it isn't significantly harder to use than pico/nano. 2015-03-22T19:50:04Z shka: That_Engineer: emacs integration with processes is in general superior to vim's 2015-03-22T19:50:09Z fierydiarreha quit (Ping timeout: 264 seconds) 2015-03-22T19:50:30Z shka: so even if you code in c, debugging with gdb in emacs is nicer 2015-03-22T19:50:49Z eazar001 quit (Ping timeout: 264 seconds) 2015-03-22T19:50:54Z shka: plus spacemacs is rather cool 2015-03-22T19:50:59Z shka: and saves a lot of time on customization 2015-03-22T19:51:09Z eazar001_ quit (Client Quit) 2015-03-22T19:51:23Z eazar001 joined #lisp 2015-03-22T19:51:26Z yCrazyEdd joined #lisp 2015-03-22T19:51:52Z CrazyEddy quit (Remote host closed the connection) 2015-03-22T19:51:52Z yCrazyEdd is now known as CrazyEddy 2015-03-22T19:52:01Z shka: emacs holds edge in a couple more areas as well 2015-03-22T19:52:23Z Shinmera: editor_wars.txt 2015-03-22T19:52:28Z shka: however, it is not minimalistic editor and for some reason some users do not like that 2015-03-22T19:52:39Z shka: Shinmera: yeah, more less 2015-03-22T19:52:46Z shka: but i represent the voice of reason 2015-03-22T19:52:48Z shka: ;-) 2015-03-22T19:52:56Z That_Engineer: I'm not trying to start a flame war between vim/vi and emacs. 2015-03-22T19:53:00Z Xof quit (Ping timeout: 252 seconds) 2015-03-22T19:53:18Z Shinmera: Some people will even if you don't want them to 2015-03-22T19:53:33Z That_Engineer: Sadly... 2015-03-22T19:53:43Z Shinmera: Either way, consensus seems to be: Give it a shot, if you don't like emacs you can use slimv. 2015-03-22T19:53:54Z shka: yeah 2015-03-22T19:53:58Z LiamH quit (Read error: Connection reset by peer) 2015-03-22T19:54:03Z That_Engineer: Yep. Working on installing emacs and slime now to give it a try. 2015-03-22T19:54:09Z shka: you may try spacemacs as well 2015-03-22T19:54:21Z shka: i really enjoy using it 2015-03-22T19:55:16Z gravicappa quit (Remote host closed the connection) 2015-03-22T19:55:43Z aeth: emacs 24 is nice. It has its own package manager now. You don't have to track down random github repos and put them in ~/.emacs.d/vendor/ when you want to use a language emacs doesn't have a built-in mode for. 2015-03-22T19:56:55Z fierydiarreha joined #lisp 2015-03-22T19:56:57Z Xof joined #lisp 2015-03-22T19:58:10Z aeth: paredit for emacs is the only autocompletion in an IDE that actually is usable for me. If I type ( and it automatically adds a ), I don't unbalance my parentheses if my muscle memory makes me type a usless ). It just overwrites the ) instead of placing a new one. 2015-03-22T19:59:02Z mood: aeth: Slimv actually has paredit, btw 2015-03-22T19:59:07Z Quadrescence: ) does something much more important that a no-op! 2015-03-22T19:59:27Z {-}grant- quit (Read error: Connection reset by peer) 2015-03-22T19:59:41Z Quadrescence: But ultimately both Emacs and vi are bad because you can't program either editor in Common Lisp. ;) 2015-03-22T19:59:53Z pjb: Exactly. 2015-03-22T20:00:04Z mood: How's Climacs? 2015-03-22T20:00:06Z aeth: Quadrescence: emacs is GPL if anyone wants to give it a try 2015-03-22T20:00:29Z Quadrescence: mood, There are some good ideas, but it does not match in any sense of the word Emacs. 2015-03-22T20:00:29Z Shinmera: mood: An emacs implementation in CL. 2015-03-22T20:00:40Z Shinmera: Whoops, I read that for "What" 2015-03-22T20:00:42Z Shinmera: beh. 2015-03-22T20:00:45Z Quadrescence: And it depends on McCLIM which is kind of buggy still. 2015-03-22T20:00:55Z Xach hasn't been able to get comfortable with emacses in CL 2015-03-22T20:01:00Z Shinmera: Aren't there already other rewrites of it in the plans or something? 2015-03-22T20:01:44Z Quadrescence: McCLIM is being worked on by alastair I think. 2015-03-22T20:02:04Z Quadrescence: beach wants to do CLIM3 among his other 20 gigantic projects I think. 2015-03-22T20:02:14Z mood: beach has a Second-Climacs repository. It uses his CLIMatis 2015-03-22T20:02:15Z {-}grant joined #lisp 2015-03-22T20:02:20Z Quadrescence: yes 2015-03-22T20:02:41Z mood: Last time I asked it wasn't usable, if I remember correctly 2015-03-22T20:02:46Z bb010g joined #lisp 2015-03-22T20:04:18Z Davidbrcz joined #lisp 2015-03-22T20:04:35Z innertracks joined #lisp 2015-03-22T20:06:11Z innertracks quit (Client Quit) 2015-03-22T20:06:57Z clop quit (Ping timeout: 264 seconds) 2015-03-22T20:12:23Z sz0 joined #lisp 2015-03-22T20:17:10Z fierydiarreha quit (Ping timeout: 244 seconds) 2015-03-22T20:17:24Z fierydiarreha joined #lisp 2015-03-22T20:17:56Z dfinninger joined #lisp 2015-03-22T20:18:53Z zadock quit (Quit: Leaving) 2015-03-22T20:19:11Z Oveja joined #lisp 2015-03-22T20:19:33Z ggole quit 2015-03-22T20:21:17Z Oveja quit (Max SendQ exceeded) 2015-03-22T20:22:01Z faheem_: Typo alert on the ELS site: Edmund Weitz — University of Applied Scicences, Hamburg, Germany 2015-03-22T20:22:16Z faheem_: Should be "Sciences" 2015-03-22T20:22:20Z dfinninger quit (Ping timeout: 252 seconds) 2015-03-22T20:22:50Z drmeister: That_Engineer: I used vi for 20 years or so and then switched to emacs to work with lisp. I never looked back. 2015-03-22T20:23:33Z ejbs quit (Remote host closed the connection) 2015-03-22T20:23:38Z That_Engineer: drmeister: That's good to know. I've only been using vim for 5ish years, maybe a bit more. So I'm not THAT invested in it. 2015-03-22T20:23:42Z mood: drmeister: Do you use something like Evil? 2015-03-22T20:23:50Z fierydiarreha quit (Ping timeout: 246 seconds) 2015-03-22T20:25:14Z hrr4 quit (Ping timeout: 245 seconds) 2015-03-22T20:27:21Z drmeister: mood: no I prefer to use tools in their simplest form 2015-03-22T20:27:59Z drmeister: The less configuration the more portable 2015-03-22T20:28:08Z drmeister: They are 2015-03-22T20:28:36Z That_Engineer: drmeister: right now I'm running through the built in emacs tutorial. Do you have any other recommendations? 2015-03-22T20:29:18Z drmeister: Nope. Look forward to slime. It's awesome 2015-03-22T20:29:28Z That_Engineer: Good deal. 2015-03-22T20:31:30Z ered quit (Read error: Connection reset by peer) 2015-03-22T20:32:00Z drmeister: It's the most fluid programming experience in existence 2015-03-22T20:32:40Z Shinmera: *that you know of 2015-03-22T20:34:02Z drmeister: I've used a lot of them. Im going to go with in existence 😊 2015-03-22T20:34:32Z drmeister: Small talk is the only thing that comes close. 2015-03-22T20:34:36Z drmeister: L 2015-03-22T20:36:21Z quazimodo quit (Ping timeout: 264 seconds) 2015-03-22T20:38:07Z drmeister: Given the amount of infrastructure that a smalltalk code browser requires its remarkable how fluid slime is on a tty display. 2015-03-22T20:40:15Z futpib quit (Read error: Connection reset by peer) 2015-03-22T20:40:58Z futpib joined #lisp 2015-03-22T20:42:49Z Guest94045 is now known as Kruppe 2015-03-22T20:45:26Z futpib quit (Ping timeout: 252 seconds) 2015-03-22T20:45:53Z loz1 quit (Ping timeout: 246 seconds) 2015-03-22T20:48:05Z cluck: That_Engineer: the help menu is your friend, use it often 2015-03-22T20:52:32Z Longlius quit (Remote host closed the connection) 2015-03-22T20:59:14Z a2015 joined #lisp 2015-03-22T21:02:20Z sol_ joined #lisp 2015-03-22T21:04:11Z gigetoo quit (Remote host closed the connection) 2015-03-22T21:04:27Z gigetoo joined #lisp 2015-03-22T21:04:55Z futpib joined #lisp 2015-03-22T21:06:45Z fierydiarreha joined #lisp 2015-03-22T21:09:59Z futpib quit (Ping timeout: 256 seconds) 2015-03-22T21:10:10Z ziocroc joined #lisp 2015-03-22T21:10:24Z futpib_ joined #lisp 2015-03-22T21:10:50Z That_Engineer quit (Ping timeout: 265 seconds) 2015-03-22T21:13:17Z sheilong quit (Quit: Konversation terminated!) 2015-03-22T21:15:36Z Ven joined #lisp 2015-03-22T21:15:55Z futpib_ quit (Read error: Connection reset by peer) 2015-03-22T21:16:05Z eugeneia joined #lisp 2015-03-22T21:17:22Z ered joined #lisp 2015-03-22T21:18:43Z dfinninger joined #lisp 2015-03-22T21:22:04Z Oveja joined #lisp 2015-03-22T21:22:09Z badkins joined #lisp 2015-03-22T21:23:13Z dfinninger quit (Ping timeout: 264 seconds) 2015-03-22T21:24:18Z Oveja quit (Max SendQ exceeded) 2015-03-22T21:24:50Z bcoburn_y joined #lisp 2015-03-22T21:26:46Z bcoburn quit (Ping timeout: 272 seconds) 2015-03-22T21:30:32Z ramus_ joined #lisp 2015-03-22T21:30:32Z ramus quit (Ping timeout: 244 seconds) 2015-03-22T21:33:15Z ramus_ is now known as ramus 2015-03-22T21:33:45Z the_real_intinig joined #lisp 2015-03-22T21:39:29Z the_real_intinig quit (Remote host closed the connection) 2015-03-22T21:40:31Z vaporatorius quit (Remote host closed the connection) 2015-03-22T21:40:32Z attila_lendvai quit (Ping timeout: 246 seconds) 2015-03-22T21:40:37Z xificurC quit (Ping timeout: 264 seconds) 2015-03-22T21:46:47Z bcoburn joined #lisp 2015-03-22T21:47:40Z bcoburn_y quit (Ping timeout: 272 seconds) 2015-03-22T21:50:57Z larion quit (Ping timeout: 265 seconds) 2015-03-22T21:53:09Z psy_ quit (Ping timeout: 264 seconds) 2015-03-22T21:53:44Z cadadar joined #lisp 2015-03-22T21:55:52Z psy_ joined #lisp 2015-03-22T21:58:02Z larion joined #lisp 2015-03-22T21:59:52Z Xof quit (Ping timeout: 252 seconds) 2015-03-22T22:00:29Z shka quit (Remote host closed the connection) 2015-03-22T22:00:52Z gendl quit (Quit: gendl) 2015-03-22T22:01:01Z That_Engineer joined #lisp 2015-03-22T22:01:22Z mvilleneuve joined #lisp 2015-03-22T22:01:30Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2015-03-22T22:01:37Z pattern joined #lisp 2015-03-22T22:01:44Z hiroakip joined #lisp 2015-03-22T22:02:45Z sol__ quit (Ping timeout: 264 seconds) 2015-03-22T22:04:18Z sol__ joined #lisp 2015-03-22T22:04:33Z mtd quit (Ping timeout: 264 seconds) 2015-03-22T22:04:54Z Xof joined #lisp 2015-03-22T22:06:03Z gendl joined #lisp 2015-03-22T22:09:25Z mhd_ joined #lisp 2015-03-22T22:11:28Z theseb joined #lisp 2015-03-22T22:12:22Z Davidbrcz quit (Ping timeout: 272 seconds) 2015-03-22T22:15:24Z the_real_intinig joined #lisp 2015-03-22T22:16:01Z cadadar quit (Quit: Leaving.) 2015-03-22T22:16:35Z That_Engineer quit (Read error: Connection reset by peer) 2015-03-22T22:16:48Z That_Engineer joined #lisp 2015-03-22T22:17:45Z logand` quit (Ping timeout: 264 seconds) 2015-03-22T22:19:21Z innertracks joined #lisp 2015-03-22T22:19:23Z paul0 joined #lisp 2015-03-22T22:19:26Z dfinninger joined #lisp 2015-03-22T22:21:20Z the_real_intinig quit (Remote host closed the connection) 2015-03-22T22:23:09Z CrazyEddy quit (Remote host closed the connection) 2015-03-22T22:23:41Z yCrazyEdd joined #lisp 2015-03-22T22:24:01Z yCrazyEdd is now known as CrazyEddy 2015-03-22T22:24:16Z dfinninger quit (Ping timeout: 255 seconds) 2015-03-22T22:26:33Z mtd joined #lisp 2015-03-22T22:28:13Z the_real_intinig joined #lisp 2015-03-22T22:30:54Z the_real_intinig quit (Remote host closed the connection) 2015-03-22T22:31:15Z That_Engineer quit (Read error: Connection reset by peer) 2015-03-22T22:32:08Z That_Engineer joined #lisp 2015-03-22T22:32:48Z CrazyEddy quit (Remote host closed the connection) 2015-03-22T22:33:34Z munksgaa1d quit (Ping timeout: 245 seconds) 2015-03-22T22:34:50Z CrazyEddy joined #lisp 2015-03-22T22:34:54Z mhd_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2015-03-22T22:35:36Z zadock joined #lisp 2015-03-22T22:37:46Z hitecnologys quit (Quit: ZNC - http://znc.in) 2015-03-22T22:37:48Z boogie joined #lisp 2015-03-22T22:38:45Z hitecnologys joined #lisp 2015-03-22T22:38:53Z ehu quit (Quit: Leaving.) 2015-03-22T22:38:57Z Longlius joined #lisp 2015-03-22T22:43:00Z jtza8 quit (Remote host closed the connection) 2015-03-22T22:43:34Z boogie quit (Remote host closed the connection) 2015-03-22T22:44:09Z boogie joined #lisp 2015-03-22T22:44:42Z bcoburn|l joined #lisp 2015-03-22T22:45:18Z bcoburn quit (Ping timeout: 272 seconds) 2015-03-22T22:45:23Z remi`bd quit (Quit: leaving) 2015-03-22T22:46:19Z gklimowicz quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-03-22T22:46:59Z clop joined #lisp 2015-03-22T22:48:34Z {-}grant quit (Ping timeout: 245 seconds) 2015-03-22T22:49:46Z hitecnologys_ joined #lisp 2015-03-22T22:49:50Z quazimodo joined #lisp 2015-03-22T22:51:03Z {-}grant joined #lisp 2015-03-22T22:52:38Z leb quit (Quit: Computer has gone to sleep.) 2015-03-22T22:52:40Z larion quit (Ping timeout: 252 seconds) 2015-03-22T22:52:49Z hitecnologys quit (Ping timeout: 250 seconds) 2015-03-22T22:52:49Z hitecnologys_ is now known as hitecnologys 2015-03-22T22:53:37Z mvilleneuve quit (Quit: This computer has gone to sleep) 2015-03-22T22:55:39Z sunwukong quit (Ping timeout: 245 seconds) 2015-03-22T22:57:38Z keen_________ quit (Read error: Connection reset by peer) 2015-03-22T22:58:38Z gingerale quit (Ping timeout: 256 seconds) 2015-03-22T22:59:20Z keen_________ joined #lisp 2015-03-22T23:00:29Z ziocroc quit (Ping timeout: 256 seconds) 2015-03-22T23:03:03Z {-}grant quit (Read error: Connection reset by peer) 2015-03-22T23:07:28Z the_real_intinig joined #lisp 2015-03-22T23:07:42Z hiroakip quit (Ping timeout: 252 seconds) 2015-03-22T23:07:51Z pattern quit (Ping timeout: 256 seconds) 2015-03-22T23:09:59Z larion joined #lisp 2015-03-22T23:11:37Z the_real_intinig quit (Remote host closed the connection) 2015-03-22T23:14:18Z larion quit (Ping timeout: 252 seconds) 2015-03-22T23:16:28Z Ethan- joined #lisp 2015-03-22T23:17:47Z bcoburn|l is now known as bcoburn 2015-03-22T23:18:03Z {-}grant joined #lisp 2015-03-22T23:19:12Z gklimowicz joined #lisp 2015-03-22T23:20:27Z dfinninger joined #lisp 2015-03-22T23:23:49Z NaNDude quit (Quit: Leaving) 2015-03-22T23:25:01Z dfinninger quit (Ping timeout: 264 seconds) 2015-03-22T23:26:46Z oleo is now known as Guest64100 2015-03-22T23:27:56Z oleo_ joined #lisp 2015-03-22T23:30:16Z Guest64100 quit (Ping timeout: 272 seconds) 2015-03-22T23:32:28Z admg quit (Quit: Bye) 2015-03-22T23:32:46Z x1n4u quit (Quit: WeeChat 1.1.1) 2015-03-22T23:33:49Z NaNDude joined #lisp 2015-03-22T23:34:26Z NaNDude quit (Client Quit) 2015-03-22T23:38:55Z hiyosi joined #lisp 2015-03-22T23:40:02Z cyphase joined #lisp 2015-03-22T23:41:15Z the_real_intinig joined #lisp 2015-03-22T23:41:47Z clop quit (Ping timeout: 250 seconds) 2015-03-22T23:43:09Z sol_ quit (Quit: Leaving) 2015-03-22T23:45:16Z the_real_intinig quit (Remote host closed the connection) 2015-03-22T23:47:04Z NaNDude joined #lisp 2015-03-22T23:48:27Z larion joined #lisp 2015-03-22T23:49:20Z linux_dream joined #lisp 2015-03-22T23:50:42Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-03-22T23:52:00Z x1n4u joined #lisp 2015-03-22T23:52:32Z shum joined #lisp 2015-03-22T23:52:37Z larion quit (Ping timeout: 244 seconds) 2015-03-22T23:53:02Z sdothum quit (Ping timeout: 256 seconds) 2015-03-22T23:54:09Z x1n4u: hey 2015-03-22T23:59:19Z edgar-rft quit (Quit: edgar-rft)