2015-02-14T00:01:11Z vaporatorius quit (Remote host closed the connection) 2015-02-14T00:01:33Z Ethan- joined #lisp 2015-02-14T00:04:27Z dafunktion joined #lisp 2015-02-14T00:08:25Z quazimodo joined #lisp 2015-02-14T00:10:09Z linux_dream quit (Quit: Leaving) 2015-02-14T00:11:12Z nalssee joined #lisp 2015-02-14T00:12:15Z jlongster joined #lisp 2015-02-14T00:12:26Z jlongster quit (Remote host closed the connection) 2015-02-14T00:14:31Z c74d quit (Remote host closed the connection) 2015-02-14T00:15:35Z nalssee quit (Ping timeout: 256 seconds) 2015-02-14T00:16:30Z johann_ quit (Ping timeout: 244 seconds) 2015-02-14T00:16:50Z c74d joined #lisp 2015-02-14T00:17:39Z meiji11 joined #lisp 2015-02-14T00:19:36Z radioninja quit (Ping timeout: 252 seconds) 2015-02-14T00:21:09Z zacts quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-14T00:24:06Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-02-14T00:26:13Z harish quit (Ping timeout: 264 seconds) 2015-02-14T00:27:01Z theseb joined #lisp 2015-02-14T00:27:16Z zolk3ri quit (Quit: Lost terminal) 2015-02-14T00:32:41Z grantix quit (Ping timeout: 264 seconds) 2015-02-14T00:38:30Z kristof: drmeister: You switched to LLVM? 2015-02-14T00:40:07Z alecigne quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-14T00:46:47Z oudeis quit (Quit: This computer has gone to sleep) 2015-02-14T00:51:28Z lispyone joined #lisp 2015-02-14T00:52:00Z nyef: kristof: No "switched" about it, he's been working with LLVM for ages now. 2015-02-14T00:54:35Z spacebatty joined #lisp 2015-02-14T00:56:37Z munksgaard joined #lisp 2015-02-14T00:59:16Z lispyone quit (Remote host closed the connection) 2015-02-14T01:02:45Z Jesin quit (Quit: Leaving) 2015-02-14T01:06:45Z emacsomancer00 joined #lisp 2015-02-14T01:07:01Z Jesin joined #lisp 2015-02-14T01:07:51Z jleija joined #lisp 2015-02-14T01:08:20Z oudeis joined #lisp 2015-02-14T01:10:29Z dafunktion quit (Remote host closed the connection) 2015-02-14T01:12:42Z johann joined #lisp 2015-02-14T01:12:49Z antgreen quit (Ping timeout: 244 seconds) 2015-02-14T01:16:18Z a20150202 joined #lisp 2015-02-14T01:17:38Z drmeister: kristof: Clasp has always used LLVM as the backend. 2015-02-14T01:17:56Z kristof: I was not aware. Or perhaps I was, but it's been a while since I've thought about it. 2015-02-14T01:21:35Z Evanescence quit (Quit: Weird in coding now, or make love, only two things push me away from IRC.) 2015-02-14T01:27:20Z tkhoa2711 joined #lisp 2015-02-14T01:27:53Z johann quit (Ping timeout: 246 seconds) 2015-02-14T01:35:44Z oudeis quit (Quit: This computer has gone to sleep) 2015-02-14T01:36:18Z dafunktion joined #lisp 2015-02-14T01:37:22Z clop2 quit (Ping timeout: 245 seconds) 2015-02-14T01:37:42Z psy_ joined #lisp 2015-02-14T01:37:56Z innertracks quit (Quit: innertracks) 2015-02-14T01:39:09Z spacebatty quit (Ping timeout: 250 seconds) 2015-02-14T01:39:56Z lispyone joined #lisp 2015-02-14T01:40:27Z johann joined #lisp 2015-02-14T01:41:08Z dafunktion quit (Ping timeout: 246 seconds) 2015-02-14T01:45:24Z harish joined #lisp 2015-02-14T01:46:01Z quazimodo quit (Ping timeout: 264 seconds) 2015-02-14T01:48:01Z munksgaard quit (Ping timeout: 265 seconds) 2015-02-14T01:49:01Z lispyone quit (Remote host closed the connection) 2015-02-14T01:56:13Z emacsomancer00 quit (Ping timeout: 264 seconds) 2015-02-14T01:59:53Z nell joined #lisp 2015-02-14T02:05:50Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-14T02:07:57Z clop2 joined #lisp 2015-02-14T02:08:27Z pocket joined #lisp 2015-02-14T02:09:36Z defaultxr joined #lisp 2015-02-14T02:10:04Z Karl_Dscc joined #lisp 2015-02-14T02:15:11Z lispyone joined #lisp 2015-02-14T02:24:01Z theseb quit (Quit: Leaving) 2015-02-14T02:28:12Z enitiz joined #lisp 2015-02-14T02:29:30Z innertracks joined #lisp 2015-02-14T02:31:49Z nell quit (Ping timeout: 252 seconds) 2015-02-14T02:34:23Z scymtym_ quit (Ping timeout: 246 seconds) 2015-02-14T02:35:16Z drmeister: It's not correct to just use (nsubstitute new existing place) to change place - correct? The proper way to do it is (setf place (nsubstitute new existing place)) 2015-02-14T02:35:46Z clop2 quit (Ping timeout: 250 seconds) 2015-02-14T02:36:45Z enitiz quit (Quit: Leaving) 2015-02-14T02:37:01Z dafunktion joined #lisp 2015-02-14T02:38:46Z lispyone quit (Remote host closed the connection) 2015-02-14T02:43:14Z kristof quit (Quit: WeeChat 1.1.1) 2015-02-14T02:44:06Z bjorkintosh quit (Quit: Leaving) 2015-02-14T02:50:53Z nyef: drmeister: Something like that, yes. If you can't guarantee the identity of the head of a list then you have to do the SETF. See also: SORT. 2015-02-14T02:51:31Z lispyone joined #lisp 2015-02-14T02:52:42Z spacebatty joined #lisp 2015-02-14T02:53:23Z bjorkintosh joined #lisp 2015-02-14T03:02:42Z defaultxr quit (Remote host closed the connection) 2015-02-14T03:03:30Z Karl_Dscc quit (Remote host closed the connection) 2015-02-14T03:05:50Z k-dawg joined #lisp 2015-02-14T03:14:48Z lispyone quit (Remote host closed the connection) 2015-02-14T03:16:39Z clop2 joined #lisp 2015-02-14T03:18:58Z zhangyh26258 joined #lisp 2015-02-14T03:19:04Z zhangyh26258 quit (Read error: Connection reset by peer) 2015-02-14T03:19:18Z zhangyh26258 joined #lisp 2015-02-14T03:19:27Z kobain quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2015-02-14T03:19:56Z bgs100 joined #lisp 2015-02-14T03:24:24Z clop2 quit (Ping timeout: 252 seconds) 2015-02-14T03:26:10Z enitiz joined #lisp 2015-02-14T03:35:57Z zacharias_ joined #lisp 2015-02-14T03:36:11Z ThePhoeron joined #lisp 2015-02-14T03:38:55Z zacharias quit (Ping timeout: 252 seconds) 2015-02-14T03:43:29Z harish quit (Ping timeout: 264 seconds) 2015-02-14T03:44:17Z doesthiswork joined #lisp 2015-02-14T03:45:03Z bb010g joined #lisp 2015-02-14T03:46:35Z oudeis joined #lisp 2015-02-14T03:49:03Z gmcastil joined #lisp 2015-02-14T03:50:51Z vdamewood joined #lisp 2015-02-14T03:51:17Z emaczen joined #lisp 2015-02-14T03:51:30Z pocket quit (Remote host closed the connection) 2015-02-14T04:03:10Z ahungry: Are there any gtk3 bindings? A search in ql showed cells-gtk3 but it is apparently the third iteration of cells, not something using gtk3 2015-02-14T04:04:48Z oudeis quit (Quit: This computer has gone to sleep) 2015-02-14T04:08:01Z wooden: i'm dying to get line numbers in backtraces in sbcl -- i can't make heads or tails of the error messages most of the time. there's a recipe here, http://www.idryman.org/blog/2012/03/26/lisp-debugging-tools/, but i don't know how to get 'swank-backend' loaded. i've tried (require :swank-backend) and (require 'swank-backend) and other variations to no avail. 2015-02-14T04:15:12Z taylanub quit (Remote host closed the connection) 2015-02-14T04:15:29Z taylanub joined #lisp 2015-02-14T04:15:48Z Pyridrym quit (Quit: leaving) 2015-02-14T04:16:30Z emaczen: hey guys, I have a quick question about method combination 2015-02-14T04:16:46Z Bike: shoot 2015-02-14T04:17:41Z beach joined #lisp 2015-02-14T04:17:50Z emaczen: I have a class and it's superclass and the subclass method needs to be called on the return value of the superclass method. 2015-02-14T04:17:50Z beach: Good morning everyone! 2015-02-14T04:17:55Z nyef: Hello beach. 2015-02-14T04:18:00Z emaczen: Hey beach. 2015-02-14T04:18:07Z drmeister: Hi beach. 2015-02-14T04:18:19Z Bike: emaczen: you can have your subclass mtehod be (do-stuff-with (call-next-method)) 2015-02-14T04:18:23Z drmeister: Sorry about the stream of emails. 2015-02-14T04:18:32Z beach: drmeister: I see from the logs that you are discovering the power of CLOS. 2015-02-14T04:18:38Z drmeister: Oh yeah. 2015-02-14T04:18:46Z beach: drmeister: It's fine. I'll investigate when I am more awake. 2015-02-14T04:18:47Z nyef: emaczen: Use an :AROUND method, bind the result of (CALL-NEXT-METHOD) in a LET, and do your thing. 2015-02-14T04:18:56Z drmeister: I didn't use it though - because with great power comes great responsibility - or so I'm told 2015-02-14T04:19:08Z nyef: (Or don't bind with a LET and just use the value straight-up.) 2015-02-14T04:19:32Z nyef: drmeister: "Power corrupts. Absolute power is kindof neat." 2015-02-14T04:20:25Z beach: drmeister: You can use "stealth mixins". I wrote a paper about those. :) 2015-02-14T04:20:46Z emaczen: nyef and Bike: Thanks! 2015-02-14T04:21:58Z beach: drmeister: It's a cute little trick where client code can define a mixin class for some library code. It is perfectly safe and modular. 2015-02-14T04:22:19Z drmeister: beach: How does it work? 2015-02-14T04:22:55Z beach: It uses the MOP to add a superclass to the library class whenever it is defined or redefined. 2015-02-14T04:23:40Z wooden figured it out 2015-02-14T04:23:43Z beach: I don't recommend it though in this case. I was just telling you as an illustration of the power of CLOS. 2015-02-14T04:24:16Z warweasle joined #lisp 2015-02-14T04:24:17Z johann quit (Remote host closed the connection) 2015-02-14T04:24:22Z beach: drmeister: I am surprised you didn't know about mixin classes. It's a technique used in C++ as well. 2015-02-14T04:24:52Z johann joined #lisp 2015-02-14T04:24:57Z emaczen: What do mixins look like in c++ 2015-02-14T04:25:18Z beach: Syntactically, they are just ordinary classes. 2015-02-14T04:25:24Z beach: It is more the way they are used. 2015-02-14T04:25:32Z emaczen: ahh 2015-02-14T04:25:56Z nyef: emaczen: They're basically abstract superclasses that are only used in multiple-inheritance scenarios. 2015-02-14T04:26:59Z emaczen: nyef: I have played with them in Scala and the machinery is via something called a Trait 2015-02-14T04:27:37Z nyef: emaczen: Sounds plausible, yes. 2015-02-14T04:27:45Z beach: emaczen: Let me give you an example: Suppose you have several classes, unrelated by inheritance, that all need a NAME slot and perhaps a NAME accessor as well. Then you can create a class NAME-MIXIN that provides the slot and the accessor, and you can make it a superclass of several different, unrelated, classes. 2015-02-14T04:28:46Z emaczen: beach: Yeah, I kinda see it as being even more modular 2015-02-14T04:29:14Z beach: It avoids code duplication by abstracting out that slot and accessor. 2015-02-14T04:29:18Z johann quit (Ping timeout: 252 seconds) 2015-02-14T04:31:47Z beach: drmeister: The fact that existing instances are updated when you redefine the class is why you should use standard classes rather than structure classes when you develop code interactively. 2015-02-14T04:32:20Z drmeister: I see. 2015-02-14T04:32:28Z drmeister: I was reading up on it in Common Lisp. 2015-02-14T04:32:50Z nalssee joined #lisp 2015-02-14T04:33:22Z drmeister: beach: I ran into a problem with basic-blocks and I tracked down the problem to duplicate WRITE-CELL-INSTRUCTIONs in the predecessor list of the successor of the WRITE-CELL-INSTRUCTION. 2015-02-14T04:33:48Z beach: drmeister: Hmm. Not good! 2015-02-14T04:34:21Z beach: How is it a problem for basic blocks? 2015-02-14T04:34:36Z beach: I mean, the concept of a basic block is defined for any flow graph. 2015-02-14T04:34:37Z drmeister: I tracked it down to duplicate functionality in initialize-instance specialized on instruction and insert-instruction-between 2015-02-14T04:35:19Z beach: Oh, so you found the problem? 2015-02-14T04:35:21Z beach: Nice! 2015-02-14T04:35:58Z drmeister: An instruction in the HIR has two duplicate WRITE-CELL-INSTRUCTIONs in the predecessor list - so cleavir-basic-blocks:basic-blocks sees it as the start of a basic block. 2015-02-14T04:36:14Z beach: I see. 2015-02-14T04:38:01Z beach: What is the duplicate functionality? 2015-02-14T04:38:23Z brucem: drmeister: we have some code landing soon in our LLVM run-time that you might find interesting. 2015-02-14T04:38:24Z drmeister: Give me a sec 2015-02-14T04:39:11Z drmeister: Code/Cleavir/Intermediate-representation/instruction.lisp (defmethod initialize-instance :after ((obj instruction) &key &allow-other-keys)...) 2015-02-14T04:39:14Z brucem: drmeister: It implements conditions, etc using the unwind APIs and LSDA in the exception personality code. 2015-02-14T04:39:55Z drmeister: If :successors is passed to (make-write-cell-instruction then the new write-cell-instruction is added to the predecessors list of its successor 2015-02-14T04:40:57Z beach: drmeister: I think I understand. 2015-02-14T04:41:02Z dafunktion quit (Ping timeout: 246 seconds) 2015-02-14T04:41:32Z enitiz quit (Ping timeout: 245 seconds) 2015-02-14T04:41:39Z drmeister: Then insert-instruction-after calls insert-instruction-between and it replaces the predecessors of the successor with the new instruction. That leaves you with two identical write-cell-instructions in the predecessor list of the successor of the write-cell-instruction. 2015-02-14T04:41:43Z drmeister: Does that make sense? 2015-02-14T04:41:57Z beach: It does. 2015-02-14T04:42:02Z beach: Thanks for tracking that down. 2015-02-14T04:42:47Z beach: I guess the solution would be to not pass the successor to make-write-cell-instruction. 2015-02-14T04:42:52Z drmeister: What is the solution? 2015-02-14T04:42:54Z drmeister: Ah 2015-02-14T04:43:19Z beach: I have started making the successor optional to all constructors. 2015-02-14T04:43:30Z beach: But I don't know if that's the case for this one. 2015-02-14T04:43:37Z beach: If not, I should make it optional. 2015-02-14T04:45:16Z beach: It is optional. 2015-02-14T04:47:17Z beach: drmeister: So it looks like in segregate-lexicals.lisp all the calls of the form (insert-instruction-... (make-...-instruction ...)) the successor should be omitted. 2015-02-14T04:47:19Z emaczen: night guys 2015-02-14T04:47:20Z emaczen left #lisp 2015-02-14T04:47:43Z drmeister: I'm trying that 2015-02-14T04:47:58Z zeitue quit (Quit: Leaving) 2015-02-14T04:51:07Z gmcastil quit (Ping timeout: 245 seconds) 2015-02-14T04:52:43Z theseb joined #lisp 2015-02-14T04:53:14Z nyef: Oh, for the... The Muchnick book doesn't cover anything about dealing with multiple values or dynamic-extent allocations in terms of stack discipline. 2015-02-14T04:54:42Z beach: nyef: Yeah, it assumes all languages are C-like. 2015-02-14T04:55:03Z nyef: To a CPU, all languages are assembler-like. 2015-02-14T04:56:34Z nyef: I'm fairly confident that what I need to know is some chunk of well-established theory. Almost certainly graph theory. 2015-02-14T04:56:48Z beach: My main problem with it, though, is that it is supposed to be more detailed in its descriptions of algorithms and data structures than most books, but then it gets it all wrong by using Fortran-style data structures, using indexes into tables rather than pointers. 2015-02-14T04:57:19Z impulse: anyone use slimv? 2015-02-14T04:57:32Z beach: nyef: What is the problem you are trying to solve? 2015-02-14T04:58:08Z nyef: There's a bug with conditional nested DX allocation in SBCL. 2015-02-14T04:58:26Z nyef: It confuses the half-assed stack packet lifetime analysis. 2015-02-14T04:59:15Z nyef: Well, actually, it's worse than that. If it DIDN'T confuse said analysis into a crash then the compiler would generate incorrect code. 2015-02-14T04:59:22Z warweasle quit (Remote host closed the connection) 2015-02-14T04:59:28Z beach: Not good. 2015-02-14T04:59:49Z nyef: I've got an angle on generating correct code once the lifetime information is correct, so now I need to figure out that side of things. 2015-02-14T05:00:51Z beach: What do you mean by "conditional nested DX allocation"? 2015-02-14T05:01:00Z beach: Can you give an example? 2015-02-14T05:01:56Z nyef: (let ((a (if x (cons y (cons z nil) (cons v (cons w nil)))) (declare (dynamic-extent a)) ...) 2015-02-14T05:02:46Z beach: Got it. 2015-02-14T05:03:34Z nyef: With only one level of CONS on each branch, it's fine, as the results go to the same LVARs along all branches. With the second CONS on either branch, there's an extra DX LVAR that appears on only one branch, causing the backwards flow analysis to propagate the expectation that it's live all the way back to the start of the function. 2015-02-14T05:05:38Z beach: That kind of analysis can become pretty hairy. 2015-02-14T05:05:44Z dmiles_afk joined #lisp 2015-02-14T05:06:33Z dmiles quit (Ping timeout: 252 seconds) 2015-02-14T05:06:54Z nyef: I think that what I need might be to take a forward analysis of the blocks that are reachable from each instantiation of a stack packet, and the backwards analysis of all paths that can lead to the guaranteed life of a stack packet (its destruction, in the case of a multiple-values packet, or the body of its environment for a DX allocation), and then take the intersection of the two. 2015-02-14T05:07:01Z oudeis joined #lisp 2015-02-14T05:07:07Z clop2 joined #lisp 2015-02-14T05:07:31Z nyef: But I'm not at all certain about that. 2015-02-14T05:08:45Z theseb quit (Quit: Leaving) 2015-02-14T05:10:34Z pacon joined #lisp 2015-02-14T05:11:45Z beach: I wonder whether "structural analysis" (as described by Muchnick) would help in situations like that. I think Common Lisp would lend itself very well to such analyses. 2015-02-14T05:12:35Z nyef: Plausibly. Mind the TAGBODY. 2015-02-14T05:13:04Z beach: Right. Though most TAGBODYs are the result of expansions of LOOP, DO, etc. 2015-02-14T05:14:24Z nyef: It's the ones that AREN'T that I'm more worried about. 2015-02-14T05:16:10Z clop2 quit (Ping timeout: 244 seconds) 2015-02-14T05:16:40Z stardiviner joined #lisp 2015-02-14T05:18:08Z nyef: The procedure that I have that I'm fairly sure will work, but that is very likely to be slow, involves starting from each point where an LVAR is known to be live (for DX) or is killed (for multiple-values) and tracing all possible non-looping paths backwards until the LVAR is "born" or it is known NOT to have been "born", and to mark it as live in each block along the path where it was born. 2015-02-14T05:18:16Z nyef: For EVERY such path. 2015-02-14T05:18:35Z gendl joined #lisp 2015-02-14T05:19:52Z beach: I don't think I understood what the current incorrect code looks like. 2015-02-14T05:19:59Z qubitnerd quit (Quit: WeeChat 1.1.1) 2015-02-14T05:20:59Z cluck quit (Remote host closed the connection) 2015-02-14T05:24:08Z nyef: The current code is broken enough that I'm looking to replace it from first principles instead of trying to fix it. 2015-02-14T05:24:25Z beach: No, I meant, the generated code. 2015-02-14T05:24:33Z nyef: Ah. 2015-02-14T05:24:35Z beach: In what way is it incorrect? 2015-02-14T05:24:54Z nyef: So, it doesn't actually get as far as generating it. 2015-02-14T05:25:07Z johann joined #lisp 2015-02-14T05:25:08Z nyef: The "stack" phase in the compiler has a number of sub-phases. 2015-02-14T05:25:50Z nyef: First it establishes which blocks create stack packets, and in what order the packets are created within the blocks. 2015-02-14T05:26:02Z nyef: Next it does the lifetime analysis thing, which is broken. 2015-02-14T05:26:27Z beach: I see. So it is not generating incorrect code at the moment? 2015-02-14T05:26:58Z ruste quit (Ping timeout: 265 seconds) 2015-02-14T05:26:59Z nyef: Third, it orders the results of the lifetime analysis such that each block has a list of which packets are on the stack at entry and exit, and in which order. 2015-02-14T05:27:05Z nyef: This step currently blows up. 2015-02-14T05:27:19Z beach: OK. 2015-02-14T05:28:09Z harish joined #lisp 2015-02-14T05:28:10Z nyef: Finally, once all of the analysis is done, cleanup code gets inserted to discard stack packets which are no longer live. 2015-02-14T05:29:32Z nyef: So I have a two-part task. I need to fix the analysis, and then I need to add the logic to insert messup code for the cases where something is going to get cleaned up that isn't initialized on all inbound control flow paths. 2015-02-14T05:30:23Z johann quit (Ping timeout: 245 seconds) 2015-02-14T05:33:17Z beach: It sounds complicated. Would it be possible to put the "messup code" once in a block that dominates all the others? 2015-02-14T05:33:51Z zacts joined #lisp 2015-02-14T05:35:15Z nyef: Maybe, but that would take realizing that the problem exists and finding the appropriate dominator. 2015-02-14T05:35:37Z beach: I see, yes. 2015-02-14T05:37:03Z zacts quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-14T05:37:18Z nyef: "What's the closest block to B1 that dominates B1 and every block that initializes a variable in the set {V1, V2...}?" 2015-02-14T05:38:20Z pranavrc joined #lisp 2015-02-14T05:38:20Z pranavrc quit (Changing host) 2015-02-14T05:38:20Z pranavrc joined #lisp 2015-02-14T05:38:26Z beach: That sounds doable. 2015-02-14T05:38:33Z beach: The dominator tree can answer that question. 2015-02-14T05:39:10Z nyef: Hmm. And I bet it's either not built at all or not available when STACK runs. 2015-02-14T05:39:14Z theos: o/ 2015-02-14T05:39:23Z lispyone joined #lisp 2015-02-14T05:39:38Z beach: Hello theos. 2015-02-14T05:39:50Z theos: sup beach 2015-02-14T05:44:15Z lispyone quit (Ping timeout: 256 seconds) 2015-02-14T05:44:53Z theos: i am thinking of writing a face recognition lib in CL. it might take some time. 2015-02-14T05:45:28Z beach: It might, yeah. 2015-02-14T05:45:30Z drmeister: beach: Can an enter-instruction have a create-cell as a predecessor? 2015-02-14T05:45:37Z drmeister: create-cell-instruction? 2015-02-14T05:46:00Z beach: drmeister: I don't think an ENTER-INSTRUCTION can have predecessors. 2015-02-14T05:46:27Z beach: drmeister: Or, rather, I have never thought about that possibility, so I have no idea what would happen. 2015-02-14T05:46:28Z drmeister: Hmm, I think I figured out where the missing create-cell-instruction went. 2015-02-14T05:46:45Z beach: Oh, good! I have a missing create-cell as well. 2015-02-14T05:47:14Z drmeister: I'm looking at some MIR and the first instruction has a predecessor that is a CREATE-CELL-INSTRUCTION 2015-02-14T05:47:41Z beach: Oh, so it is inserted BEFORE the ENTER-INSTRUCTION? Not good! 2015-02-14T05:48:04Z drmeister: http://imgur.com/qppiIm1 2015-02-14T05:48:08Z bb010g quit (Quit: Connection closed for inactivity) 2015-02-14T05:48:25Z beach: Yeah, looks like what I have too. 2015-02-14T05:48:59Z drmeister: The predecessors of the ENTER-3094 instruction is (#) 2015-02-14T05:49:10Z drmeister: And G3084 doesn't have a CREATE-CELL-INSTRUCTION 2015-02-14T05:49:12Z beach: Thanks for tracking that down. 2015-02-14T05:49:27Z beach: I think I can figure that out, once I am more awake. 2015-02-14T05:49:45Z beach: drmeister: Do you confirm that removing the successor from those make-...-instruction calls works? 2015-02-14T05:49:53Z drmeister: ENTER-3094 is a MIR instruction that I created that has a label - it inherits from enter-instruction. 2015-02-14T05:50:22Z beach: OK. 2015-02-14T05:51:45Z beach: At his pace, you I will soon be able to subcontract some of the MIR transformations to you. :) 2015-02-14T05:52:02Z drmeister: Do I have that wrong, should it be top-level-enter-instruction 2015-02-14T05:52:05Z beach: s/you I/I/ 2015-02-14T05:52:15Z Harag joined #lisp 2015-02-14T05:55:17Z beach: drmeister: Could it just be that there is a BEFORE where there should be an AFTER? 2015-02-14T05:55:32Z drmeister: Where? 2015-02-14T05:55:58Z beach: I don't know. Where the CREATE-CELL is inserted I suppose. 2015-02-14T05:56:07Z nyef: Right, time to sleep. 2015-02-14T05:56:11Z nyef quit (Quit: G'night all) 2015-02-14T05:56:23Z drmeister: beach: I'm not sure - I haven't gone looking into the code. 2015-02-14T05:56:29Z drmeister: But that sounds about right 2015-02-14T05:56:44Z beach: I'll investigate later today. 2015-02-14T05:57:04Z beach: drmeister: So did you try removing the successors from the calls to the constructors? 2015-02-14T05:59:16Z drmeister: Yes, that made a difference but now cleavir-basic-blocks:basic-blocks is failing because it can't find a basic block because of this predecessor 2015-02-14T05:59:42Z beach: Yes, of course. 2015-02-14T06:01:11Z beach: It was only yesterday that I used that code for the first time, and I saw the missing create-cell instruction. So again you are ahead of me. 2015-02-14T06:01:46Z zhangyh26258 quit (Remote host closed the connection) 2015-02-14T06:01:53Z oudeis quit (Quit: This computer has gone to sleep) 2015-02-14T06:02:12Z drmeister: chomping at the bit as it were 2015-02-14T06:03:28Z zhangyh26258 joined #lisp 2015-02-14T06:03:59Z spacebatty quit (Ping timeout: 245 seconds) 2015-02-14T06:04:01Z beach: Yeah, you are a very brave person. 2015-02-14T06:04:55Z beach: Though hopefully you will learn something from it. 2015-02-14T06:05:31Z hiroakip quit (Ping timeout: 255 seconds) 2015-02-14T06:06:23Z beach: For the third morning in a row, the thrush is singing outside my window. It's spring!!! 2015-02-14T06:07:13Z bgs100 quit (Quit: bgs100) 2015-02-14T06:10:25Z clop2 joined #lisp 2015-02-14T06:17:13Z oudeis joined #lisp 2015-02-14T06:17:31Z zacts joined #lisp 2015-02-14T06:18:16Z edgar-rft joined #lisp 2015-02-14T06:18:47Z drmeister: http://imgur.com/vXVyyr9 2015-02-14T06:19:05Z drmeister: I think that might be it. 2015-02-14T06:19:12Z beach: Beautiful! 2015-02-14T06:19:32Z drmeister: beach: I'm just polishing a gem. 2015-02-14T06:19:39Z quazimodo joined #lisp 2015-02-14T06:19:44Z zacts: what is that pic of? 2015-02-14T06:19:45Z beach: Oh, that's very kind of you. 2015-02-14T06:19:50Z zacts is just joining in 2015-02-14T06:20:03Z drmeister: zacts: It's a representation of a program 2015-02-14T06:20:14Z zacts: but I mean what does the program do? 2015-02-14T06:20:22Z drmeister: beach: Could I make a few suggestions? Or should I send you the diff? 2015-02-14T06:20:25Z beach: zacts: drmeister is using Cleavir to write a compiler. This is the intermediate code for one of his programs. 2015-02-14T06:20:32Z zacts: oh neato 2015-02-14T06:20:46Z beach: drmeister: Whatever is more convenient. 2015-02-14T06:21:09Z vdamewood quit (Quit: Computer has gone to sleep.) 2015-02-14T06:21:10Z drmeister: zacts: The heavy lifting is done by beach's code. I'm just tracked down a small bug as I learn how to work with the code. 2015-02-14T06:22:07Z clop2 quit (Ping timeout: 250 seconds) 2015-02-14T06:26:02Z beach: drmeister: I need to vanish for half an hour or so. What did you decide? You send me some email? 2015-02-14T06:26:15Z drmeister: I just sent off the email. 2015-02-14T06:26:53Z drmeister: You were correct about changing the insert-instruction-before to insert-instruction-after, but you have to get the new instruction and use that to insert the write-cell-instruction. 2015-02-14T06:26:58Z beach: Got it! Excellent! That will give me enough work for today. I also have some admin stuff I need to do, and I need to work some more on my papers. 2015-02-14T06:27:05Z drmeister: So I changed the insert-instruction-XXX functions to return the new instruction. 2015-02-14T06:27:28Z drmeister: Great - thank you very much for the feedback. 2015-02-14T06:27:30Z beach: OK, thanks. I'll have a look at all that. 2015-02-14T06:28:25Z beach vanishes. 2015-02-14T06:35:51Z bjorkintosh quit (Read error: Connection timed out) 2015-02-14T06:36:13Z qubitnerd joined #lisp 2015-02-14T06:37:10Z dmitigr joined #lisp 2015-02-14T06:37:38Z mrSpec joined #lisp 2015-02-14T06:42:40Z qubitnerd quit (Quit: WeeChat 1.1.1) 2015-02-14T06:42:46Z bjorkintosh joined #lisp 2015-02-14T06:43:13Z qubitnerd joined #lisp 2015-02-14T06:44:22Z hvxgr quit (Ping timeout: 240 seconds) 2015-02-14T06:45:14Z qubitnerd quit (Client Quit) 2015-02-14T06:46:54Z pt1 joined #lisp 2015-02-14T06:51:13Z badkins quit (Remote host closed the connection) 2015-02-14T06:53:07Z fantazo joined #lisp 2015-02-14T06:55:40Z jleija quit (Quit: leaving) 2015-02-14T07:01:15Z qubitnerd joined #lisp 2015-02-14T07:04:23Z pacon2 joined #lisp 2015-02-14T07:06:01Z doesthiswork quit (Quit: Leaving.) 2015-02-14T07:06:13Z pacon quit (Ping timeout: 245 seconds) 2015-02-14T07:06:25Z bb010g joined #lisp 2015-02-14T07:07:17Z doesthiswork joined #lisp 2015-02-14T07:07:23Z impulse quit (Ping timeout: 246 seconds) 2015-02-14T07:08:00Z xach quit (Ping timeout: 186 seconds) 2015-02-14T07:08:25Z doesthiswork quit (Client Quit) 2015-02-14T07:09:02Z impulse joined #lisp 2015-02-14T07:10:59Z ThePhoeron quit (Remote host closed the connection) 2015-02-14T07:11:13Z ThePhoeron joined #lisp 2015-02-14T07:11:49Z clop2 joined #lisp 2015-02-14T07:14:17Z johann joined #lisp 2015-02-14T07:14:35Z AntiSpamMeta_ joined #lisp 2015-02-14T07:14:53Z AntiSpamMeta quit (Remote host closed the connection) 2015-02-14T07:15:07Z johann quit (Read error: Connection reset by peer) 2015-02-14T07:15:39Z johann joined #lisp 2015-02-14T07:16:11Z cadadar joined #lisp 2015-02-14T07:17:39Z justinmcp_ joined #lisp 2015-02-14T07:17:42Z qubitnerd quit (Quit: WeeChat 1.1.1) 2015-02-14T07:18:36Z qubitnerd joined #lisp 2015-02-14T07:21:27Z theBlack1ragon joined #lisp 2015-02-14T07:22:58Z clop2 quit (Ping timeout: 265 seconds) 2015-02-14T07:23:13Z replcated_ joined #lisp 2015-02-14T07:23:33Z Natch_a joined #lisp 2015-02-14T07:23:33Z hvxgr joined #lisp 2015-02-14T07:25:34Z johann quit (Remote host closed the connection) 2015-02-14T07:27:15Z recycle_ joined #lisp 2015-02-14T07:28:06Z nalssee quit (*.net *.split) 2015-02-14T07:28:07Z zacharias_ quit (*.net *.split) 2015-02-14T07:28:07Z Beetny quit (*.net *.split) 2015-02-14T07:28:07Z Natch quit (*.net *.split) 2015-02-14T07:28:07Z lemoinem quit (*.net *.split) 2015-02-14T07:28:07Z recycle quit (*.net *.split) 2015-02-14T07:28:07Z egp__ quit (*.net *.split) 2015-02-14T07:28:07Z Vivitron quit (*.net *.split) 2015-02-14T07:28:07Z srcerer quit (*.net *.split) 2015-02-14T07:28:07Z theBlackDragon quit (*.net *.split) 2015-02-14T07:28:07Z replcated quit (*.net *.split) 2015-02-14T07:28:07Z justinmcp quit (*.net *.split) 2015-02-14T07:28:07Z jackdaniel quit (*.net *.split) 2015-02-14T07:28:07Z pegu` quit (*.net *.split) 2015-02-14T07:28:07Z doobi-sham-95717 quit (*.net *.split) 2015-02-14T07:28:07Z theBlack1ragon is now known as theBlackDragon 2015-02-14T07:30:00Z pjb: minion: memo for Fare: that's why there's this minion memo tool. 2015-02-14T07:30:00Z minion: Remembered. I'll tell Fare when he/she/it next speaks. 2015-02-14T07:30:04Z pegu` joined #lisp 2015-02-14T07:30:44Z clop2 joined #lisp 2015-02-14T07:32:02Z vdamewood joined #lisp 2015-02-14T07:32:30Z srcerer joined #lisp 2015-02-14T07:33:29Z pjb: dim: IMO, conferences should be recorded and diffused on vimeo and youtube. Thus a proselitic exposition wouldn't be lost. 2015-02-14T07:34:34Z urandom__ quit (Quit: Konversation terminated!) 2015-02-14T07:35:34Z nell joined #lisp 2015-02-14T07:35:56Z doobi-sham-95717 joined #lisp 2015-02-14T07:35:56Z nalssee joined #lisp 2015-02-14T07:35:56Z zacharias_ joined #lisp 2015-02-14T07:35:56Z lemoinem joined #lisp 2015-02-14T07:35:56Z egp__ joined #lisp 2015-02-14T07:35:56Z Vivitron joined #lisp 2015-02-14T07:35:56Z jackdaniel joined #lisp 2015-02-14T07:36:20Z doobi-sham-95717 quit (Max SendQ exceeded) 2015-02-14T07:37:30Z pjb: drmeister: nsubstitute and nsubstitute-if are required to setf any car (if sequence is a list) or aref (if sequence is a vector) of sequence that is required to be replaced with newitem. If sequence is a list, none of the cdrs of the top-level list can be modified. ; so you don't have to setf back the result. 2015-02-14T07:37:30Z pjb: 2015-02-14T07:39:22Z cadadar: pjb: Regarding conferences: Were you talking about ELS? I'd love to be there but can't make it; I had hoped there'll be some recordings? 2015-02-14T07:39:29Z tkhoa2711 joined #lisp 2015-02-14T07:39:32Z alusion joined #lisp 2015-02-14T07:39:41Z agumonkey quit (Quit: ZNC - http://znc.in) 2015-02-14T07:40:00Z drmeister: pjb: Thanks 2015-02-14T07:40:35Z alusion quit (Client Quit) 2015-02-14T07:41:05Z pjb: cadadar: yes, I was talking about ELS. 2015-02-14T07:41:08Z ruste joined #lisp 2015-02-14T07:41:11Z agumonkey joined #lisp 2015-02-14T07:41:41Z nell quit (Ping timeout: 246 seconds) 2015-02-14T07:43:59Z pacon2 quit (Read error: Connection reset by peer) 2015-02-14T07:47:48Z nell joined #lisp 2015-02-14T07:49:28Z arpunk quit (Ping timeout: 255 seconds) 2015-02-14T07:49:50Z a20150202 quit (Quit: Page closed) 2015-02-14T07:53:14Z nell quit (Ping timeout: 244 seconds) 2015-02-14T07:54:06Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-14T07:55:19Z zeitue joined #lisp 2015-02-14T07:56:40Z JuanDaugherty joined #lisp 2015-02-14T07:59:11Z ovenpasta quit (Ping timeout: 246 seconds) 2015-02-14T08:01:17Z d4ryus_ joined #lisp 2015-02-14T08:03:04Z joneshf-laptop joined #lisp 2015-02-14T08:04:02Z Harag quit (Ping timeout: 245 seconds) 2015-02-14T08:04:29Z d4ryus quit (Ping timeout: 264 seconds) 2015-02-14T08:06:29Z nalssee quit (Ping timeout: 245 seconds) 2015-02-14T08:08:05Z drmeister: beach: I submitted an abstract to ELS on Clasp. I dunno if I can afford to go but we'll see. 2015-02-14T08:08:14Z zhangyh26258 quit (Remote host closed the connection) 2015-02-14T08:08:23Z beach: That's great! You should go! 2015-02-14T08:08:46Z drmeister: I've put so much bloody time into this thing. I should talk about it or get a paper out of it. 2015-02-14T08:08:47Z beach: In the worst case, I can present it for you. I assume it's about Clasp, right? 2015-02-14T08:08:53Z pt1 quit (Remote host closed the connection) 2015-02-14T08:08:54Z drmeister: Yeah. 2015-02-14T08:09:11Z beach: I strongly recommend you go. 2015-02-14T08:09:20Z beach: There will be many interesting people there. 2015-02-14T08:09:20Z drmeister: Hmm, you present it for me? How do you look in a suit? 2015-02-14T08:09:43Z beach: I wasn't planning to put on a suit, but I do have some. 2015-02-14T08:10:02Z drmeister: Hmmm, I'm not sure that's up to my standards :-) 2015-02-14T08:10:12Z beach: OK, never mind then. :) 2015-02-14T08:10:31Z beach: This is not chemistry. We don't wear suits at conferences. 2015-02-14T08:13:11Z fridim_ joined #lisp 2015-02-14T08:13:35Z beach: I definitely agree that you should talk about it. 2015-02-14T08:13:51Z beach: The talk is more important than the paper. 2015-02-14T08:14:17Z drmeister: Yeah - I should. 2015-02-14T08:15:13Z beach: Having a paper at ELS is not going to be extremely important for your career, but you will get exposure. 2015-02-14T08:16:50Z drmeister: Is the class of closure cells different from other variables in HIR? 2015-02-14T08:16:51Z drmeister: http://imgur.com/eGF6qT8 2015-02-14T08:16:54Z defaultxr joined #lisp 2015-02-14T08:17:20Z drmeister: Is the class of G2008 different from the class of say G2007? 2015-02-14T08:18:11Z drmeister: Wait, maybe that's not as relevant a question as it was earlier in the day. 2015-02-14T08:18:12Z beach: There is no difference at this level. 2015-02-14T08:18:41Z drmeister: Oh, I see. 2015-02-14T08:19:07Z drmeister: The create-cell-instruction creates a CONS on the heap and puts the address in G2008 2015-02-14T08:19:14Z beach: Exactly. 2015-02-14T08:20:34Z beach: I suppose some implementations will choose not to use CONS cells in which case a cell might not be a Common Lisp object. 2015-02-14T08:20:38Z faheem_ quit (Quit: Connection closed for inactivity) 2015-02-14T08:20:44Z beach: Otherwise, at this level, all variables are supposed to hold Common Lisp objects. 2015-02-14T08:21:08Z drmeister: Ok - further down in that graph where the immediate value 0 is assigned to G2005. I guess I'll have to make G2005 a Common Lisp object pointer as well? 2015-02-14T08:21:29Z drmeister: LLVM-IR variables are have types. 2015-02-14T08:21:45Z drmeister: A pointer is type {}* an integer is i32 2015-02-14T08:23:00Z Guthur joined #lisp 2015-02-14T08:23:22Z beach: drmeister: If you use t-aref, you might have to make sure it looks like the same kind of object that you would use in an AREF form. 2015-02-14T08:23:37Z drmeister: Maybe I shouldn't use "t aref". I'd like something more primitive that takes a simple vector as its argument and looks up an element according to a constant integer assigned to the instruction. Does that sound reasonable? 2015-02-14T08:23:49Z beach: Maybe so, yes. 2015-02-14T08:24:29Z drmeister: Because it won't need to bounds check. I really just want to calculate the offset into an array and pull out the element there. 2015-02-14T08:24:41Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-02-14T08:24:45Z beach: Sure. 2015-02-14T08:24:49Z zhangyh26258 joined #lisp 2015-02-14T08:24:58Z beach: Though t-aref assumes that the bounds have been checked. 2015-02-14T08:25:03Z Shinmera joined #lisp 2015-02-14T08:25:22Z Ven joined #lisp 2015-02-14T08:25:51Z drmeister: I want something like Fetch - I guess. 2015-02-14T08:25:56Z beach: That instruction is supposed to be used once the checks have been made. That way, it might be possible to optimize away some checks. 2015-02-14T08:26:18Z pt1 joined #lisp 2015-02-14T08:26:21Z johann joined #lisp 2015-02-14T08:26:27Z beach: Something similar maybe. 2015-02-14T08:27:25Z jtz quit (Ping timeout: 264 seconds) 2015-02-14T08:28:02Z gingerale joined #lisp 2015-02-14T08:29:17Z drmeister: Ok, I'm knackered - I better get some sleep. I just finished binge watching 8 episodes of "Broadchurch" with my wife while exploring/debugging unfamiliar code. I recommend the series but I found the ending disappointing. 2015-02-14T08:29:36Z beach: I have seen it already. 2015-02-14T08:30:06Z beach: drmeister: Sleep well. 2015-02-14T08:30:39Z zacharias_ quit (Ping timeout: 245 seconds) 2015-02-14T08:31:03Z drmeister: I sent you another email. If you like the last one (gensym labels for instructions) send me an email - I'd be happy to implement it and send you a patch. 2015-02-14T08:31:41Z johann quit (Ping timeout: 246 seconds) 2015-02-14T08:36:42Z stepnem joined #lisp 2015-02-14T08:38:05Z gingerale- joined #lisp 2015-02-14T08:40:33Z badkins joined #lisp 2015-02-14T08:40:48Z gingerale quit (Ping timeout: 245 seconds) 2015-02-14T08:40:55Z gingerale joined #lisp 2015-02-14T08:43:42Z qubitnerd quit (Quit: WeeChat 1.1.1) 2015-02-14T08:43:59Z fridim_ quit (Ping timeout: 252 seconds) 2015-02-14T08:44:04Z Ven quit (Read error: Connection reset by peer) 2015-02-14T08:44:05Z gingerale- quit (Ping timeout: 264 seconds) 2015-02-14T08:44:06Z qubitnerd joined #lisp 2015-02-14T08:44:38Z badkins quit (Ping timeout: 246 seconds) 2015-02-14T08:46:42Z hitecnologys joined #lisp 2015-02-14T08:47:29Z dim: drmeister: read that you're going to submit to els, awesome ;-) 2015-02-14T08:49:20Z dim: pjb: agreed with public availability (youtube) of conf recordings; that was done last year on the IRCAM website 2015-02-14T08:49:23Z meiji11 quit (Remote host closed the connection) 2015-02-14T08:56:31Z qubitnerd quit (Quit: WeeChat 1.1.1) 2015-02-14T08:59:05Z Ven joined #lisp 2015-02-14T08:59:20Z johann joined #lisp 2015-02-14T09:00:46Z innertracks quit (Quit: innertracks) 2015-02-14T09:01:04Z pt1 quit (Remote host closed the connection) 2015-02-14T09:08:50Z johann quit (Remote host closed the connection) 2015-02-14T09:09:26Z johann joined #lisp 2015-02-14T09:10:02Z zacharias joined #lisp 2015-02-14T09:13:55Z johann quit (Ping timeout: 256 seconds) 2015-02-14T09:14:57Z qubitnerd joined #lisp 2015-02-14T09:17:11Z angavrilov joined #lisp 2015-02-14T09:21:26Z vaporatorius joined #lisp 2015-02-14T09:27:20Z housel quit (Quit: Terminated with extreme prejudice - dircproxy 1.0.5) 2015-02-14T09:30:16Z psy_ quit (Ping timeout: 255 seconds) 2015-02-14T09:31:34Z scymtym_ joined #lisp 2015-02-14T09:35:44Z arenz joined #lisp 2015-02-14T09:38:22Z Ven quit (Read error: No route to host) 2015-02-14T09:42:53Z arenz quit (Ping timeout: 264 seconds) 2015-02-14T09:44:26Z ehu joined #lisp 2015-02-14T09:48:36Z petergil quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-14T09:49:04Z haplo` joined #lisp 2015-02-14T09:52:11Z defaultxr quit (Quit: gnight) 2015-02-14T09:52:29Z psy_ joined #lisp 2015-02-14T09:52:38Z ep0 joined #lisp 2015-02-14T09:53:32Z Ven joined #lisp 2015-02-14T09:55:24Z mishoo_ joined #lisp 2015-02-14T09:57:15Z haplo` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-14T09:57:39Z haplo` joined #lisp 2015-02-14T10:00:43Z nalssee joined #lisp 2015-02-14T10:03:37Z haplo` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-14T10:04:03Z haplo` joined #lisp 2015-02-14T10:04:28Z ljhgck joined #lisp 2015-02-14T10:05:07Z ljhgck left #lisp 2015-02-14T10:06:52Z ep0 quit (Quit: leaving) 2015-02-14T10:08:04Z alecigne joined #lisp 2015-02-14T10:09:38Z johann joined #lisp 2015-02-14T10:11:07Z vaporatorius quit (Ping timeout: 245 seconds) 2015-02-14T10:13:39Z keen__________61 joined #lisp 2015-02-14T10:14:22Z johann quit (Ping timeout: 240 seconds) 2015-02-14T10:15:02Z keen__________60 quit (Ping timeout: 265 seconds) 2015-02-14T10:16:27Z trigoman joined #lisp 2015-02-14T10:16:32Z munksgaard joined #lisp 2015-02-14T10:16:46Z attila_lendvai joined #lisp 2015-02-14T10:16:46Z attila_lendvai quit (Changing host) 2015-02-14T10:16:46Z attila_lendvai joined #lisp 2015-02-14T10:16:51Z trigoman: This may be super OT, but I figured people in this channel would be able to give me pointers. I'm trying to understand this Koan: http://www.csd.uwo.ca/~magi/personal/humour/Computer_Folklore/The%20Lambda%20Nature%20Koan.html 2015-02-14T10:17:17Z ovenpasta joined #lisp 2015-02-14T10:17:18Z trigoman: How do I go about grokking what it's trying to teach me? 2015-02-14T10:18:27Z AeroNotix: Can I query whether SBCL supports image compression? Context: https://github.com/AeroNotix/lispkit/issues/84 2015-02-14T10:19:25Z ep0 joined #lisp 2015-02-14T10:20:20Z johann joined #lisp 2015-02-14T10:21:22Z zhangyh26258 quit (Remote host closed the connection) 2015-02-14T10:21:34Z beach: trigoman: It probably means that the person who wrote it doesn't think PL/I is as worthy as Lisp. 2015-02-14T10:21:52Z beach: trigoman: On the other hand, the Common Lisp condition system was inspired by that of Multics PL/I. 2015-02-14T10:22:49Z kuzy000_ joined #lisp 2015-02-14T10:22:57Z trigoman: I did some minor looking into PL/I 2015-02-14T10:23:00Z beach: trigoman: Furthermore, Multics Emacs was the first Emacs implementation written in Lisp. 2015-02-14T10:23:05Z trigoman: but I feel like I'm missing something. 2015-02-14T10:23:19Z beach: trigoman: Multics used PL/I very differently from, say, IBM. 2015-02-14T10:23:27Z p_l: AeroNotix: :SB-CORE-COMPRESSION in cl:*features* 2015-02-14T10:23:28Z beach: So you need to look into Multics. 2015-02-14T10:23:37Z AeroNotix: p_l: thank you 2015-02-14T10:23:44Z trigoman: beach, thanks! you're awesome 2015-02-14T10:23:53Z Karl_Dscc joined #lisp 2015-02-14T10:23:57Z beach: trigoman: Thanks. Just experience talking. 2015-02-14T10:24:10Z p_l: beach: afaik the PL/I was actually quite IBM-ish, it's just that everyone had slightly different subset of it, and Multics had a very special runtime? 2015-02-14T10:24:27Z p_l is quite interested in the differences there 2015-02-14T10:24:31Z trigoman: This is the first time I hear about Multics 2015-02-14T10:27:05Z lispyone joined #lisp 2015-02-14T10:29:08Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-14T10:30:17Z johann quit (Remote host closed the connection) 2015-02-14T10:30:52Z johann joined #lisp 2015-02-14T10:31:01Z ep0 quit (Quit: leaving) 2015-02-14T10:31:01Z trigoman quit (Ping timeout: 255 seconds) 2015-02-14T10:32:43Z zhangyh26258 joined #lisp 2015-02-14T10:32:49Z pjb: beach: You would use C very differently on an IBM system than on Multics, or on Unix. 2015-02-14T10:32:57Z hardenedapple joined #lisp 2015-02-14T10:34:34Z pjb: or for a more recent experience, you would use C differently when writting a MacOS application than when writing a unix program. 2015-02-14T10:35:07Z beach: p_l: Multics PL/I was a very complete implementation of the language. But Multics PL/I code looks more like C code than it does (say) COBOL code, which is what IBM used it for. 2015-02-14T10:35:23Z gigetoo joined #lisp 2015-02-14T10:35:31Z johann quit (Ping timeout: 256 seconds) 2015-02-14T10:35:52Z beach: p_l: Multics PL/I used a lot of pointers, for instance. 2015-02-14T10:37:16Z beach: Also, the runtime environment was awesome. The dynamic linker allowed you to program the way you do in Lisp, i.e., run the code before all functions are written. If you tripped a non-existing function, you could then write the function in a file, compile it, then just say "continue", and the program would continue where it left off. 2015-02-14T10:37:39Z p_l: so mostly a runtime difference and a style difference 2015-02-14T10:37:55Z beach: Yes, I believe the language itself was the same. 2015-02-14T10:38:03Z pjb: beach: Same could be done in linux: https://www.youtube.com/watch?v=LwicN2u6Dro 2015-02-14T10:38:26Z p_l: pjb: well, given that the dynamic linker is userspace program, yes 2015-02-14T10:38:31Z pjb: but it's in the category of PhD explaining/re-implementing what's in any lisp system. 2015-02-14T10:39:16Z beach: pjb: That sounds like the traditional excuse: "Sure you can do that in XXX. All you need to do is [huge amount of specific code]." 2015-02-14T10:39:46Z beach: pjb: Did you actually use Multics at the time? 2015-02-14T10:40:19Z gigetoo_ joined #lisp 2015-02-14T10:41:01Z pjb: We had a Multics system when I was at UPMC, but we used the unix layer on it (and I didn't use it a lot, because I had A/UX and then NeXTstep at home). Then I had for a few months a microVax with multics on it. Unfortunately, I couldn't keep it. 2015-02-14T10:41:40Z beach: microVAX can't run Multics. Multics requires specific hardware. 2015-02-14T10:41:49Z pjb: Otherwise, there's a few multics systems available thru the Internet. But again, not enough time to play with them. 2015-02-14T10:42:15Z p_l: umm... last multics was switched off in 2000, in Australia, iirc 2015-02-14T10:42:26Z beach: My 5-line description above does not even begin to communicate how awesome the environment was. 2015-02-14T10:43:05Z beach: Also, I think I would have known if Multics had a "Unix layer". 2015-02-14T10:43:17Z beach: pjb: Maybe you are confusing Multics and some other system? 2015-02-14T10:43:45Z johann joined #lisp 2015-02-14T10:43:52Z pjb: It's possible. 2015-02-14T10:44:08Z gigetoo quit (Quit: Lost terminal) 2015-02-14T10:44:15Z gigetoo_ is now known as gigetoo 2015-02-14T10:45:13Z gigetoo quit (Quit: leaving) 2015-02-14T10:45:48Z gigetoo joined #lisp 2015-02-14T10:48:09Z faheem_ joined #lisp 2015-02-14T10:55:03Z beach: p_l: Yes, that sounds plausible. 2015-02-14T10:58:50Z schaueho joined #lisp 2015-02-14T10:59:25Z zacharias quit (Quit: WeeChat 1.1.1) 2015-02-14T10:59:36Z cadadar quit (Quit: Leaving.) 2015-02-14T10:59:48Z zacharias joined #lisp 2015-02-14T11:01:29Z agumonkey_ joined #lisp 2015-02-14T11:01:38Z agumonkey quit (Read error: Connection reset by peer) 2015-02-14T11:02:07Z monod joined #lisp 2015-02-14T11:03:17Z tharugrim quit (Ping timeout: 246 seconds) 2015-02-14T11:09:17Z leo2007 quit (Quit: happy hacking) 2015-02-14T11:10:33Z leo2007 joined #lisp 2015-02-14T11:11:10Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-14T11:13:29Z schaueho quit (Ping timeout: 264 seconds) 2015-02-14T11:15:25Z alecigne quit (Remote host closed the connection) 2015-02-14T11:16:34Z tharugrim joined #lisp 2015-02-14T11:19:09Z agumonkey_ quit (Ping timeout: 256 seconds) 2015-02-14T11:20:37Z kushal joined #lisp 2015-02-14T11:21:44Z Natch_a quit (Excess Flood) 2015-02-14T11:22:16Z Natch joined #lisp 2015-02-14T11:25:33Z Krystof: somewhere on the Internet (comp.lang.lisp? reddit?) a couple of weeks ago, there was a thread about building lisps and bootstrapping 2015-02-14T11:25:40Z Krystof: does anyone remember where? 2015-02-14T11:26:17Z beach didn't see it. 2015-02-14T11:26:36Z oleo joined #lisp 2015-02-14T11:27:42Z Krystof: I just came across exhibit Z: http://trac.clozure.com/ccl/ticket/1264 2015-02-14T11:27:49Z theos quit (Disconnected by services) 2015-02-14T11:28:12Z oleo__ quit (Ping timeout: 245 seconds) 2015-02-14T11:28:13Z munksgaard quit (Ping timeout: 256 seconds) 2015-02-14T11:28:17Z theos joined #lisp 2015-02-14T11:28:30Z fantazo quit (Quit: Verlassend) 2015-02-14T11:29:32Z beach: Krystof: Is this related: http://www.reddit.com/r/lisp/comments/2sjckb/bootstrapping_a_lisp_compiler/ 2015-02-14T11:30:48Z monod quit (Ping timeout: 245 seconds) 2015-02-14T11:31:25Z agumonkey joined #lisp 2015-02-14T11:32:56Z alecigne joined #lisp 2015-02-14T11:33:18Z Krystof: that was probably it 2015-02-14T11:33:20Z Krystof: thanks 2015-02-14T11:33:40Z beach: Sure. Just typed "Lisp bootstrapping building reddit" to Google. :) 2015-02-14T11:33:44Z Krystof: bah 2015-02-14T11:33:47Z Krystof: I must be getting old 2015-02-14T11:33:55Z wyan joined #lisp 2015-02-14T11:33:55Z vaporatorius joined #lisp 2015-02-14T11:33:56Z beach: I fear that's true. :) 2015-02-14T11:34:26Z kcj quit (Read error: Connection reset by peer) 2015-02-14T11:35:46Z wyan left #lisp 2015-02-14T11:37:57Z radioninja joined #lisp 2015-02-14T11:38:24Z munksgaard joined #lisp 2015-02-14T11:39:49Z fridim_ joined #lisp 2015-02-14T11:41:57Z justanotheruser quit (Ping timeout: 245 seconds) 2015-02-14T11:42:52Z munksgaard quit (Ping timeout: 240 seconds) 2015-02-14T11:42:53Z justanotheruser joined #lisp 2015-02-14T11:49:38Z Beetny joined #lisp 2015-02-14T11:54:08Z lispyone quit (Remote host closed the connection) 2015-02-14T12:03:51Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-14T12:08:53Z moore33 joined #lisp 2015-02-14T12:09:08Z antgreen joined #lisp