2014-10-18T00:02:54Z y20141015 quit (Quit: Page closed) 2014-10-18T00:03:45Z pkkm quit (Ping timeout: 260 seconds) 2014-10-18T00:04:37Z alusion joined #lisp 2014-10-18T00:06:03Z Bicyclidine quit (Ping timeout: 255 seconds) 2014-10-18T00:06:05Z pkkm joined #lisp 2014-10-18T00:07:57Z jewel joined #lisp 2014-10-18T00:08:36Z freaksken quit (Ping timeout: 246 seconds) 2014-10-18T00:10:13Z clop2 quit (Ping timeout: 272 seconds) 2014-10-18T00:10:21Z Longlius joined #lisp 2014-10-18T00:15:07Z svetlyak40wt joined #lisp 2014-10-18T00:17:10Z tadni quit (Read error: Connection reset by peer) 2014-10-18T00:17:47Z tadni joined #lisp 2014-10-18T00:18:08Z drewc quit (Ping timeout: 260 seconds) 2014-10-18T00:18:27Z wooden joined #lisp 2014-10-18T00:19:34Z svetlyak40wt quit (Ping timeout: 250 seconds) 2014-10-18T00:19:38Z drewc joined #lisp 2014-10-18T00:21:49Z posterdati300 quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2014-10-18T00:29:29Z jlongster quit (Ping timeout: 258 seconds) 2014-10-18T00:32:26Z lduros quit (Remote host closed the connection) 2014-10-18T00:33:38Z billstclair joined #lisp 2014-10-18T00:34:00Z bjorkintosh quit (Ping timeout: 260 seconds) 2014-10-18T00:35:30Z madmalik quit (Quit: Connection closed for inactivity) 2014-10-18T00:35:45Z johnwalker quit (Ping timeout: 255 seconds) 2014-10-18T00:38:17Z nand1 joined #lisp 2014-10-18T00:40:47Z sfa_ quit (Quit: leaving) 2014-10-18T00:42:31Z sfa joined #lisp 2014-10-18T00:42:40Z johnwalker joined #lisp 2014-10-18T00:42:41Z johnwalker quit (Client Quit) 2014-10-18T00:43:27Z sfa quit (Client Quit) 2014-10-18T00:43:35Z sfa joined #lisp 2014-10-18T00:43:57Z bjorkintosh joined #lisp 2014-10-18T00:44:18Z sfa quit (Client Quit) 2014-10-18T00:44:57Z sfa joined #lisp 2014-10-18T00:45:21Z sfa quit (Client Quit) 2014-10-18T00:45:40Z hugoduncan is now known as hugod 2014-10-18T00:45:55Z sfa joined #lisp 2014-10-18T00:49:24Z lommm quit (Quit: Lost terminal) 2014-10-18T00:56:01Z varjag_ quit (Quit: Connection closed for inactivity) 2014-10-18T00:57:13Z askatasuna joined #lisp 2014-10-18T00:57:24Z ramus joined #lisp 2014-10-18T01:00:08Z jusss joined #lisp 2014-10-18T01:00:52Z aretecode quit (Read error: Connection reset by peer) 2014-10-18T01:01:24Z billitch joined #lisp 2014-10-18T01:04:00Z pjb: - 2014-10-18T01:04:36Z nyef: + 2014-10-18T01:07:07Z nyef: What should (progn (setf (cddr -) '((+ 3 4)))) evaluate to at toplevel? 2014-10-18T01:07:56Z bcoburn quit (Read error: Connection reset by peer) 2014-10-18T01:11:08Z bjorkintosh quit (Ping timeout: 250 seconds) 2014-10-18T01:11:32Z CrazyEddy quit (Ping timeout: 244 seconds) 2014-10-18T01:13:42Z nyef: I'm trying to find a justification for it returning ((+ 3 4)) as well as a justification for it returning 7. Both interpretations seem plausible. 2014-10-18T01:15:08Z aretecode joined #lisp 2014-10-18T01:18:32Z meiji11 joined #lisp 2014-10-18T01:19:48Z zRecursive joined #lisp 2014-10-18T01:19:51Z |3b|: nyef: "The top level loop is not completely specified; " so whichever you like? :p 2014-10-18T01:21:02Z kanru` joined #lisp 2014-10-18T01:21:15Z bjorkintosh joined #lisp 2014-10-18T01:21:18Z nyef: Plausible. But it might be usable as a way to distinguish between interpreter-based and compiler-based EVAL strategies. 2014-10-18T01:21:37Z msx quit (Ping timeout: 258 seconds) 2014-10-18T01:21:59Z Nilly joined #lisp 2014-10-18T01:22:00Z |3b|: i'd expect it to be undefined behavior for exactly that reason 2014-10-18T01:22:19Z joneshf-laptop joined #lisp 2014-10-18T01:22:31Z Svetlana joined #lisp 2014-10-18T01:22:33Z nyef: Except that it doesn't appear to be explicitly undefined. 2014-10-18T01:23:32Z |3b|: is destructive modification of a form being evaluated allowed in general? 2014-10-18T01:24:11Z |3b|: since same would apply without - 2014-10-18T01:24:21Z Svetlana quit (Client Quit) 2014-10-18T01:24:44Z nyef: Mmm. I've only been able to find a prohibition from modifying literal data, not from modifying the actual program structure. 2014-10-18T01:24:59Z Svetlana joined #lisp 2014-10-18T01:25:04Z jaminja_ joined #lisp 2014-10-18T01:25:14Z |3b|: yeah, that's all i could think of 2014-10-18T01:25:30Z chu joined #lisp 2014-10-18T01:25:42Z |3b|: though arguably all code is 'literal data' while it is being evaluated 2014-10-18T01:25:46Z innertracks joined #lisp 2014-10-18T01:26:01Z |3b|: "referenced directly in a program" 2014-10-18T01:27:06Z nyef: But it's not REFERENCED in the program, it IS the program. 2014-10-18T01:28:37Z msx joined #lisp 2014-10-18T01:29:23Z jaminja_ quit (Remote host closed the connection) 2014-10-18T01:31:14Z Karl_Dscc joined #lisp 2014-10-18T01:36:14Z Nilly: Does anyone know if there's a good reason function-lambda-expression is always nil on SBCL, but sb-kernel:%fun-lambda-list, which describe uses, seems to work? 2014-10-18T01:38:16Z nyef: Nilly: Because the lambda-list is stored separately? 2014-10-18T01:38:52Z jhao quit (Ping timeout: 250 seconds) 2014-10-18T01:39:04Z nyef: Also, F-L-E isn't guaranteed to work anyway, and is supposed to contain the full source of the function, which would be basically unused in any system which compiles all of its functions by default. 2014-10-18T01:40:16Z Nilly: Ah, I see. I didn't realize F-L-E is supposed to give the full source. Thanks. 2014-10-18T01:41:24Z Karl_Dscc quit (Remote host closed the connection) 2014-10-18T01:41:44Z kcj joined #lisp 2014-10-18T01:41:48Z jhao joined #lisp 2014-10-18T01:42:27Z tessier quit (Read error: Connection reset by peer) 2014-10-18T01:42:38Z tessier joined #lisp 2014-10-18T01:44:35Z tvaalen quit (Ping timeout: 255 seconds) 2014-10-18T01:47:37Z jusss quit (Remote host closed the connection) 2014-10-18T01:47:55Z jusss joined #lisp 2014-10-18T01:48:39Z bjorkintosh quit (Quit: Leaving) 2014-10-18T01:51:21Z enikesha joined #lisp 2014-10-18T01:51:58Z phao_ joined #lisp 2014-10-18T01:52:13Z bjorkintosh joined #lisp 2014-10-18T01:52:51Z skbierm1 joined #lisp 2014-10-18T01:54:41Z skbierm quit (Ping timeout: 272 seconds) 2014-10-18T01:54:57Z phao quit (Ping timeout: 255 seconds) 2014-10-18T01:57:49Z phao_ quit (Quit: Leaving) 2014-10-18T01:59:22Z Bike: "The lambda expression may have been pre-processed in some ways, but it should remain a suitable argument to compile or function" makes it sound like returning something else would be ok 2014-10-18T02:07:45Z Zachary joined #lisp 2014-10-18T02:09:17Z innertracks quit (Ping timeout: 272 seconds) 2014-10-18T02:14:25Z oleo is now known as Guest93539 2014-10-18T02:14:57Z bjorkintosh quit (Ping timeout: 246 seconds) 2014-10-18T02:16:09Z oleo__ joined #lisp 2014-10-18T02:16:26Z stacksmith_ quit (Ping timeout: 265 seconds) 2014-10-18T02:18:09Z Guest93539 quit (Ping timeout: 272 seconds) 2014-10-18T02:19:43Z skbierm1 quit (Quit: Leaving.) 2014-10-18T02:19:44Z tvaalen joined #lisp 2014-10-18T02:19:59Z stacksmith_ joined #lisp 2014-10-18T02:22:07Z skbierm joined #lisp 2014-10-18T02:22:53Z jusss quit (Read error: Connection reset by peer) 2014-10-18T02:23:15Z jusss joined #lisp 2014-10-18T02:26:09Z joast quit (Ping timeout: 246 seconds) 2014-10-18T02:29:07Z CrazyEddy joined #lisp 2014-10-18T02:29:45Z yuikov quit (Remote host closed the connection) 2014-10-18T02:30:55Z bjorkintosh joined #lisp 2014-10-18T02:31:48Z zeitue joined #lisp 2014-10-18T02:32:28Z yuikov joined #lisp 2014-10-18T02:36:54Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-18T02:36:54Z Nilly quit (Read error: Connection reset by peer) 2014-10-18T02:37:22Z yuikov quit (Ping timeout: 250 seconds) 2014-10-18T02:39:38Z billitch quit (Quit: leaving) 2014-10-18T02:39:44Z slyrus joined #lisp 2014-10-18T02:39:58Z billitch joined #lisp 2014-10-18T02:40:17Z xpoqp quit (Ping timeout: 245 seconds) 2014-10-18T02:40:21Z ofosos joined #lisp 2014-10-18T02:41:18Z jlongster joined #lisp 2014-10-18T02:42:15Z yeticry quit (Ping timeout: 246 seconds) 2014-10-18T02:43:15Z yeticry joined #lisp 2014-10-18T02:49:44Z psykotron quit (Quit: Connection closed for inactivity) 2014-10-18T02:50:31Z pavelpenev quit (Remote host closed the connection) 2014-10-18T02:51:33Z joast joined #lisp 2014-10-18T02:55:05Z Adlai: (delete-package *package*) ; Evaluation aborted on #" {D0746D1}>. 2014-10-18T02:58:26Z billitch: nice try 2014-10-18T03:00:09Z billitch: though at this point the reader has already done its job, is the repl so important to prevent the valid semantics of deleting the current package ? 2014-10-18T03:00:31Z billitch: s/prevent/preclude 2014-10-18T03:01:28Z |3b|: you can call READ at any time 2014-10-18T03:01:41Z billitch: (fmakunbound 'read) ? 2014-10-18T03:02:40Z |3b|: or find-symbol, intern, etc 2014-10-18T03:03:12Z Zachary quit (Quit: Leaving) 2014-10-18T03:03:34Z |3b|: description of delete-package implies it is valid to have a deleted package in *package* as long as you don't do any of those things though 2014-10-18T03:04:45Z billitch: sbcl is sane enough to protect us, but i find it interesting that lisp programmers never feel the need to get rid of much of the compiler infrastructure once the program is packaged / shipped 2014-10-18T03:05:14Z |3b|: lots of us feel that need, just not enough to rewrite large chunks of existing compilers that depend on the compiler at runtime 2014-10-18T03:05:37Z |3b|: or to spend lots of $$ on implementations with that as a specific feature 2014-10-18T03:06:59Z billitch: i would think global variables like *package* are heavy design decisions, node.js nailed modules as first class values pretty good 2014-10-18T03:07:45Z |3b|: design criteria were different in the '80s :/ 2014-10-18T03:08:12Z |3b|: and there weren't as many not-quite-right examples to compare to 2014-10-18T03:08:51Z billitch: maybe it could be generalized to find all unused functions / symbols / packages and remove them from the image not unlike garbage collection 2014-10-18T03:09:07Z zRecursive quit (Remote host closed the connection) 2014-10-18T03:09:12Z |3b|: that's called "tree shaking" 2014-10-18T03:09:19Z |3b|: the $$ implementations do that 2014-10-18T03:09:26Z |3b|: free ones don't, patches welcome :p 2014-10-18T03:09:56Z billitch: :) 2014-10-18T03:10:21Z |3b|: and in particular, the functions aren't as unused as you might thing in some implementations 2014-10-18T03:11:13Z |3b|: *think 2014-10-18T03:12:34Z phao joined #lisp 2014-10-18T03:12:47Z |3b|: so it isn't just "remove unused functions", you also have to precompile any modified generic function dispatch, etc that wouldn't have otherwise been have been compiled until someone called it if ever 2014-10-18T03:13:14Z |3b|: and make sure nothing else compiled things at runtime as an optimization or for caching or whatever internally 2014-10-18T03:13:33Z jlongster quit (Ping timeout: 258 seconds) 2014-10-18T03:14:21Z beach joined #lisp 2014-10-18T03:14:31Z beach: Good morning everyone! 2014-10-18T03:14:32Z |3b|: Adlai: which implementation was that on? 2014-10-18T03:14:48Z ack006: Good morning :-) 2014-10-18T03:15:10Z billitch: i was more thinking in term of a gc : inspect all JMP and see what code is never called 2014-10-18T03:15:12Z |3b|: sbcl seems to just do the 'undefined behavior' thing when *package* is deleted 2014-10-18T03:15:42Z |3b|: billitch: sounds like a bad implementation :p 2014-10-18T03:16:14Z |3b|: billitch: but the question isn't implementation of it, just the usefulness of it without a lot of extra work 2014-10-18T03:16:14Z Adlai: |3b|: sbcl, the error is through swank 2014-10-18T03:17:04Z phao: heya beach 2014-10-18T03:18:29Z |3b|: hmm, i still don't get that error in sbcl through slime, though as might be expected, slime breaks pretty badly :p 2014-10-18T03:18:46Z |3b|: or if i do get the error, it breaks too much to show it 2014-10-18T03:19:34Z billitch: |3b|: it would require the program to never redefine anything 2014-10-18T03:19:49Z |3b|: billitch: which would? 2014-10-18T03:19:50Z yuikov joined #lisp 2014-10-18T03:20:08Z |3b|: tree shaking in general? 2014-10-18T03:20:08Z poo joined #lisp 2014-10-18T03:20:45Z hiyosi quit (Quit: WeeChat 1.0) 2014-10-18T03:20:51Z billitch: |3b|: yes, or a bad implementation of it :) 2014-10-18T03:20:56Z |3b|: you can redefine things, just not compile them if you didn't include the compiler 2014-10-18T03:21:00Z poo: hello 2014-10-18T03:21:00Z c107 quit (Remote host closed the connection) 2014-10-18T03:21:12Z beach: Hello poo. 2014-10-18T03:21:24Z |3b|: if you included an evaluator you could even redefine things to new things 2014-10-18T03:21:44Z |3b|: the 'bad implementation' part was more about not catching things that were only called with funcall/apply 2014-10-18T03:22:03Z yuikov quit (Remote host closed the connection) 2014-10-18T03:22:14Z poo: do you have any hobbeiss 2014-10-18T03:22:21Z |3b|: though i guess they might be kept as 'data' even if not noticed as function calls 2014-10-18T03:22:33Z nyef: Hello beach. 2014-10-18T03:22:40Z poo: wow 2014-10-18T03:22:45Z nyef: ... Ah, the tree-shaker conversation again. 2014-10-18T03:23:07Z poo: suck you 2014-10-18T03:23:19Z billitch: i was more thinking about disassembling every function and see where the control flows 2014-10-18T03:23:33Z drmeister: Morning beach. 2014-10-18T03:23:34Z meiji11 left #lisp 2014-10-18T03:23:47Z beach: drmeister: Did you have a question? 2014-10-18T03:23:48Z poo: shut up 2014-10-18T03:23:51Z nyef: AIUI, one of the main issues with producing an SBCL image without the compiler is supporting discriminating functions / EMFs in PCL. 2014-10-18T03:24:44Z poo: your silly 2014-10-18T03:24:52Z drmeister: Yeah - I was reading up on the LLVM mem2reg optimization pass and rereading pkhuongs essay on the quadratic worst case involved in converting Lisp to SSA. 2014-10-18T03:25:07Z nyef: On the other hand, if you're willing to sacrifice a whole lot of functionality, including all of CLOS, it's possible to abuse the SBCL build process to cross-compile a set of fasls to bind into a much smaller core file. 2014-10-18T03:25:11Z beach: drmeister: OK. 2014-10-18T03:25:24Z poo is now known as BillyJim 2014-10-18T03:25:29Z billitch: nyef: pcl ? emf ? 2014-10-18T03:25:31Z drmeister: A while ago I suggested that I would put all stack binding into alloca's on the stack and then let mem2reg sort them out. 2014-10-18T03:25:47Z beach: billitch: Portable Common Loops. 2014-10-18T03:25:48Z nyef: billitch: Portable Common LOOPS, Effective Method Function. 2014-10-18T03:25:59Z |3b|: billitch: consider the case where control flows to function passed as first argument 2014-10-18T03:26:15Z drmeister: That appears to be the recommended way of generating LLVM SSA. 2014-10-18T03:26:46Z BillyJim: do you like ice cream 2014-10-18T03:26:48Z drmeister: What do you think of that applied to what we are about to try? Converting Cleavir MIR to LLVM-IR SSA? 2014-10-18T03:26:56Z |3b|: billitch: the emf/pcl stuff is what i meant by the compiler being used more than you might expect... sbcl compiles things at runtime in normal use, so you can't remove the compiler 2014-10-18T03:27:10Z BillyJim: what 2014-10-18T03:27:22Z |3b|: and PCL is the CLOS implementation used by SBCL 2014-10-18T03:27:36Z beach: drmeister: I really don't know enough about LLVM to tell. 2014-10-18T03:27:53Z BillyJim: tggvccgfcggvfgfvtggbgtgvbhgfgyhcjgbhcxvvkjhhh 2014-10-18T03:28:05Z beach: drmeister: I guess you will have to try it. 2014-10-18T03:28:14Z |3b|: so if you just implement a tree shaker, you still get all of the compiler in every sbcl image 2014-10-18T03:28:25Z nyef: ... I don't suppose that we have an op in the channel, do we? 2014-10-18T03:28:42Z drmeister: beach: That's what I figured we would do. 2014-10-18T03:28:48Z beach: p_l: Are you here? 2014-10-18T03:28:48Z BillyJim: shit 2014-10-18T03:28:49Z yuikov joined #lisp 2014-10-18T03:29:05Z BillyJim: shit 2014-10-18T03:29:09Z billitch: i guess it would require some kind of static typing of every function before shaking then 2014-10-18T03:29:35Z drmeister: Posts like this discourage compiler writers from generating PHI nodes. http://code2code.wordpress.com/tag/mem2reg/ 2014-10-18T03:29:39Z yuikov quit (Read error: No route to host) 2014-10-18T03:29:59Z nyef: Why shake the tree, anyway? Why not start with a minimal core and only load the pieces that you need in the first place? 2014-10-18T03:30:22Z BillyJim: i will kill you 2014-10-18T03:30:53Z drmeister: Can someone ban BillyJim - ice cream and murder are off topic for #lisp. 2014-10-18T03:31:25Z billitch: nyef: like having a separate image for compiler and program ? 2014-10-18T03:31:36Z BillyJim: tlktoit5ortmgmggmgmgmgmgmgmggmgmgmgmgmgmgmgmgmgmgmgmggmgmkjkkkkkkkkkkkkkkjiik5tttgmmngmgmmmmmmmmmmmgmgmgmgmgmgmgmgmgmgmgmgmgmggmgmgmgmgmgmgmgmgmgmgmgbmgmgmgmgmgmgmgmg 2014-10-18T03:31:44Z nyef: billitch: Yes. And that's what happens anyway when you load already-compiled FASLs. 2014-10-18T03:32:14Z drmeister: nyef: So you start with a core set of functions and crawl out to keep what you need? 2014-10-18T03:32:28Z beach: drmeister: That post seems contrary to a post from pkhuong on how easy it is to use LLVM SSA. 2014-10-18T03:33:06Z nyef: drmeister: Umm... No? I'd start with a minimal structure and only include major chunks of functionality (the compiler, CLOS, and so on) as requested. 2014-10-18T03:34:14Z drmeister: Hmm, I didn't get that sense. I agree with pkhuong, I find LLVM-SSA to be very easy to work with. 2014-10-18T03:34:24Z beach: drmeister: It is trivial to turn SSA into something without Φ. 2014-10-18T03:34:42Z BillyJim: billy jim not like you 2014-10-18T03:34:50Z drmeister: How do you do that? 2014-10-18T03:35:05Z beach: drmeister: Just put an assignment in each branch leading up to the basic block where the Φ function is located. 2014-10-18T03:35:06Z billitch: nyef: it sounds interesting, but if there is no interface to these separate images in sbcl it is impossible to use 2014-10-18T03:35:20Z nyef: True. 2014-10-18T03:35:29Z nyef: And what I actually do is something far, far hackier. 2014-10-18T03:35:31Z BillyJim: now dooooooooooooooo it 2014-10-18T03:36:50Z BillyJim: heloooo a a are you th ere 2014-10-18T03:36:54Z beach: drmeister: I had a long discussion with jasom and ggole yesterday about that. I am thinking the two notations may be equivalent for many optimizations. 2014-10-18T03:37:32Z beach: drmeister: Do you see how to do that? 2014-10-18T03:37:34Z billitch: nyef: like cat *.fasl ? 2014-10-18T03:37:35Z drmeister: I read that discussion - that's what prompted me to reread the stuff I mentioned to refresh my memory. 2014-10-18T03:37:55Z nyef: billitch: Like (sb!vm:genesis ...) 2014-10-18T03:38:10Z BillyJim: your a booboo head 2014-10-18T03:38:10Z drmeister: And which two notations do you think are equivalent? SSA and CPS? 2014-10-18T03:38:19Z billitch: ow 2014-10-18T03:38:19Z beach: drmeister: So if you have x3 <- Φ(x1, x2) you remove it and you put x3 <- x1 and x3 <- x2 in the incoming arcs. 2014-10-18T03:38:41Z nyef: billitch: Which subjects my small cores to all of the restrictions of early-stage !COLD-INIT with no intention of setting up most of the environment. 2014-10-18T03:38:43Z beach: drmeister: SSA and the one you obtain if you replace Φ as I suggest. 2014-10-18T03:39:05Z drmeister: beach: Doesn't that violate the Single part of Static Single Assignment? 2014-10-18T03:39:15Z beach: drmeister: Yes. 2014-10-18T03:39:31Z ChanServ has set mode +o slyrus 2014-10-18T03:39:36Z drmeister: Oh - ok, so it's not valid SSA after that transformation. 2014-10-18T03:39:36Z beach: drmeister: The discussion was whether that particular property of SSA is actually used in the optimization algorithms. 2014-10-18T03:39:42Z drmeister: I see. 2014-10-18T03:39:46Z BillyJim [~chatzilla@adsl-108-252-240-27.dsl.pltn13.sbcglobal.net] has been kicked from #lisp by slyrus (BillyJim) 2014-10-18T03:39:55Z nyef: slyrus: Thank you! 2014-10-18T03:40:10Z slyrus: now if i could remember the ban syntax... 2014-10-18T03:40:46Z beach: drmeister: It seems to me the main property of SSA is that every "static version" of every variable is kept. And that property is preserved. But I don't want that discussion again. I need to prove or disprove my hunch. 2014-10-18T03:40:47Z drmeister: So the question is: Is SSA actually SsA (small "s" for single). 2014-10-18T03:40:56Z beach: Yes. 2014-10-18T03:41:02Z nyef: You still end up with most of the benefits of SSA, and if you keep a list of all of the places where a variable is set as part of the variable... 2014-10-18T03:41:16Z drmeister: It's ok, I read the discussion. 2014-10-18T03:41:23Z beach: nyef: That's my hunch, yes. 2014-10-18T03:41:36Z beach: Lucky for me, there is still research to be done. 2014-10-18T03:42:22Z slyrus has set mode +b *!*@123.208.71.143 2014-10-18T03:42:23Z nyef: SBCL somewhat operates on this idea. 2014-10-18T03:42:29Z araujo quit (Quit: Leaving) 2014-10-18T03:42:30Z drmeister: I recall you wondering if the optimizations use that property. My thought on reading that was "Oh my gosh,to figure that out for LLVM one would have to dig through a lot of C++ code". 2014-10-18T03:42:39Z beach: nyef: Oh, interesting! 2014-10-18T03:42:55Z nyef: At least, I think it does. 2014-10-18T03:43:01Z beach: Sounds plausible. 2014-10-18T03:43:02Z nyef: Not quite sure what all happens in the front-end. 2014-10-18T03:43:56Z beach: drmeister: For Cleavir, I intend to implement all the widely-used algorithms and thoroughly document what they do. 2014-10-18T03:44:12Z drmeister: I've never heard anyone in the LLVM community posit anything like that. 2014-10-18T03:44:19Z nyef: SBCL LVARs are sortof upside-down phi-functions: They have a single REFERENCE, and however many assignments. 2014-10-18T03:45:07Z beach: drmeister: I am not surprised. Questioning decade-old wisdom is hard to do and requires a lot of work. 2014-10-18T03:45:17Z beach: drmeister: But that's how I justify my salary. 2014-10-18T03:45:21Z drmeister: That would be cool - because the interface between Cleavir and LLVM could be anywhere across a continuum of optimizers. If Cleavir provided optimizations that would make LLVM optimizations redundant then the LLVM optimizations could be removed from the pass manager. 2014-10-18T03:45:38Z beach: drmeister: Sounds right. 2014-10-18T03:45:59Z drmeister: I justify my salary by denying unworthy undergraduates access to medical schools. 2014-10-18T03:46:25Z drmeister is kidding but it feels like that sometimes. 2014-10-18T03:46:31Z beach: drmeister: Don't get me started on that topic. 2014-10-18T03:46:55Z zacharias_ joined #lisp 2014-10-18T03:47:26Z beach: nyef: Are LVARs documented somewhere, or would I have to read the code? 2014-10-18T03:48:01Z drmeister: Well, I'm curious if the LLVM mem2reg optimization pass blows up when I start seriously using the stack. 2014-10-18T03:48:23Z beach: Why would they blow up? 2014-10-18T03:48:25Z nyef: It looks like it might be more a UTSL situation. 2014-10-18T03:48:41Z beach: minion: What does UTSL stand for? 2014-10-18T03:48:41Z minion: Unclerical Trapezium Scripturalism Leatherer 2014-10-18T03:48:50Z nyef: Use The Source, Luke! 2014-10-18T03:48:58Z beach: nyef: Thanks. 2014-10-18T03:49:18Z nyef: They're approximately the value semantics of a continuation in CPS. 2014-10-18T03:49:20Z drmeister: beach: I thought maybe the quadratic behavior might show up as mem2reg tries to move alloca's into registers and insert phi nodes into LLVM-IR. 2014-10-18T03:49:25Z ack006: My God, it's full of source! 2014-10-18T03:49:29Z beach: nyef: I see. 2014-10-18T03:50:00Z zacharias quit (Ping timeout: 260 seconds) 2014-10-18T03:50:10Z beach: drmeister: All Greek to me. I would assume translation to SSA would be a separate pass. Guess not. 2014-10-18T03:50:33Z nyef: At some point early on, someone split the CMUCL "continuation" structure into separate LVAR (linear variable) and CTRAN (control transfer) parts, so given that some of the old CMUCL documentation might also apply. 2014-10-18T03:51:01Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-18T03:51:01Z beach: Hmm. 2014-10-18T03:51:15Z cpt_nemo joined #lisp 2014-10-18T03:51:44Z drmeister: I'm probably not saying things properly. mem2reg is a separate pass. I generate LLVM-IR/mostly-SSA code containing memory references. Then mem2reg rewrites my code and changes alloca's to register accesses and inserts PHI nodes where needed. 2014-10-18T03:52:23Z nyef: Which basically puts it at the "ICR" (implicit continuation representation) form of CPS, and since CPS is isomorphic to SSA... 2014-10-18T03:52:45Z drmeister: nyef: Does ICR have PHI nodes? 2014-10-18T03:53:03Z beach: nyef: CPS is isomorphic to SSA only with a lot of restrictions. It seems people choose to ignore those restrictions. 2014-10-18T03:53:36Z nyef: drmeister: LVARs are basically DISTRIBUTED PHI nodes. They have a single reference and possibly multiple assignments (but only one live assignment along any path along the flow graph before their reference). 2014-10-18T03:54:13Z nyef: The closest I've found to an actual PHI node is a CAST node, which can reference one LVAR and assign its value to another. 2014-10-18T03:54:24Z beach: nyef: That does sound very similar to my suggested notation. 2014-10-18T03:54:46Z beach: nyef: Except for the restriction of a single reference. 2014-10-18T03:55:05Z nyef: (In many cases these are used for type-checks, and can be snapped out by substituting one LVAR for the other if the compiler "knows" that the type-check always passes.) 2014-10-18T03:56:09Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-18T03:56:16Z cpt_nemo joined #lisp 2014-10-18T03:56:32Z drmeister: I'm still kind of surprised that this isn't all figured out - what the heck are all these so called "computer scientists" doing with their time? (present company excepted of course). 2014-10-18T03:56:55Z jkaye joined #lisp 2014-10-18T03:57:04Z beach: drmeister: They are doing things for which grants can be obtained. 2014-10-18T03:57:24Z Nilly joined #lisp 2014-10-18T03:57:33Z beach: drmeister: Compiler research and OS research are no longer funded. 2014-10-18T03:57:54Z beach: drmeister: Mobile platforms and big data from social media on the other hand... 2014-10-18T03:59:10Z beach: drmeister: CS research is fad driven, but don't get me started on that topic either. 2014-10-18T03:59:41Z drmeister: Well, that is tragic. When I started this journey I thought - well, when I get to writing the compiler I'll be able to take advantage of all this stuff being completely worked out. I am shocked, absolutely shocked I am. 2014-10-18T04:00:06Z Bike: if it makes you feel any better, that's how orgo made me feel abou retrosynthesis. 2014-10-18T04:01:28Z jkaye quit (Ping timeout: 258 seconds) 2014-10-18T04:01:37Z beach: drmeister: Calm down! :) 2014-10-18T04:01:59Z jusss quit (Quit: ERC Version 5.2 (IRC client for Emacs)) 2014-10-18T04:02:03Z drmeister: Then you have big social media and big data companies like Facebook and Google investing in crap languages (D, PHP, Javascript, Go) - ugh. 2014-10-18T04:02:37Z nyef: At least they completely figured out optics quite some time ago, nothing new to discover there in the past hundred years or so. d-: 2014-10-18T04:02:47Z beach: drmeister: That has to do with propagating incompetence through our system of higher education. Another topic you don't want to get me started on. 2014-10-18T04:02:51Z drmeister: nyef: Metamaterials. 2014-10-18T04:03:13Z nyef: drmeister: I know. What a way to make the optics people eat their words, right? (-: 2014-10-18T04:03:15Z slyrus: thankfully there appears to be some skunkworks project at google to improve SBCL 2014-10-18T04:03:39Z beach: slyrus: Oh? Do we know the people? 2014-10-18T04:04:28Z slyrus: douglas katzman has contributed a ton of commits this year 2014-10-18T04:05:00Z slyrus: there's yet another interpreter (for SBCL) that appears to have been developed at google too 2014-10-18T04:05:19Z beach: slyrus: The one jsnell is working on? 2014-10-18T04:05:32Z slyrus: oh, he's at google too now, right? 2014-10-18T04:05:38Z slyrus: but, no, I think it's a different one 2014-10-18T04:05:41Z beach: I don't know. 2014-10-18T04:05:46Z slyrus: (unless he worked on that one too) 2014-10-18T04:07:49Z madrik joined #lisp 2014-10-18T04:11:05Z snafuchs quit (Ping timeout: 260 seconds) 2014-10-18T04:11:22Z beach: drmeister: Anyway, you don't have to panic. SSA is "known" to be "good", so you can safely use it. A lot of algorithms have been developed for it, and they are well documented and readily available. Just accept this as "true" and you will be fine. 2014-10-18T04:11:34Z snafuchs joined #lisp 2014-10-18T04:12:39Z drmeister: Good, I was afraid I might prancing down the garden path to disaster. 2014-10-18T04:13:06Z beach: Not at all. 2014-10-18T04:13:50Z drmeister: It will be interesting to apply this SSA stuff to my automatic differentiator. 2014-10-18T04:14:23Z drmeister: Currently I generate C code but I could lower it straight to SSA. 2014-10-18T04:15:14Z beach: "differentiator" as in symbolic differentiation form calculus? 2014-10-18T04:15:43Z moore33 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2014-10-18T04:16:25Z drmeister: Yeah. Actually, I don't do the differentiation. Mathematica does that - but I wrote an optimizer that reduces the first and second analytical derivatives it generates into efficient C code. Now that I know what SSA - I realized I generated SSA. 2014-10-18T04:16:30Z alusion quit (Quit: WeeChat 1.1-dev) 2014-10-18T04:16:39Z drmeister: "Now that I know what SSA is - I realized I generated SSA" 2014-10-18T04:17:22Z drmeister: It's to do non-linear optimization of multivariable functions. 2014-10-18T04:17:39Z innertracks joined #lisp 2014-10-18T04:17:47Z innertracks quit (Client Quit) 2014-10-18T04:19:14Z White_Flame: regarding not getting upset about the state of computer science & higher education, I defer to the principles from this video: https://www.youtube.com/watch?v=WINDtlPXmmE 2014-10-18T04:20:58Z drmeister: Ha - and those were the "good old days". 2014-10-18T04:20:58Z beach: White_Flame: :) 2014-10-18T04:22:34Z rme quit (Quit: rme) 2014-10-18T04:22:55Z beach: I am writing a book about it instead. I won't reveal the title because it is actually quite cute. 2014-10-18T04:23:18Z drmeister: "IM AS MAD AS HE... squirrel!" 2014-10-18T04:23:53Z beach: And now that CreateSpace is not going to withhold US taxes, I won't mind if it is a success. 2014-10-18T04:26:05Z slyrus_ joined #lisp 2014-10-18T04:26:30Z White_Flame: "I'm as mad as h-e, and I'm not going to take these double hockey sticks anymore!" 2014-10-18T04:26:31Z slyrus quit (Ping timeout: 255 seconds) 2014-10-18T04:26:34Z slyrus_ is now known as slyrus 2014-10-18T04:37:09Z Vutral__ quit (Ping timeout: 260 seconds) 2014-10-18T04:38:04Z Vutral_ joined #lisp 2014-10-18T04:40:37Z RenRenJuan joined #lisp 2014-10-18T04:42:12Z xyjprc quit (Remote host closed the connection) 2014-10-18T04:56:27Z em quit (Ping timeout: 272 seconds) 2014-10-18T04:57:01Z cy joined #lisp 2014-10-18T05:05:46Z askatasuna quit (Ping timeout: 240 seconds) 2014-10-18T05:10:03Z c107 joined #lisp 2014-10-18T05:10:35Z nyef quit (Quit: G'night all) 2014-10-18T05:11:49Z psykotron joined #lisp 2014-10-18T05:13:16Z jewel_ joined #lisp 2014-10-18T05:13:19Z jhao quit (Ping timeout: 255 seconds) 2014-10-18T05:16:45Z jewel quit (Ping timeout: 272 seconds) 2014-10-18T05:20:03Z Nilly quit (Read error: Connection reset by peer) 2014-10-18T05:22:49Z Qudit2 joined #lisp 2014-10-18T05:27:02Z bgs100 quit (Quit: bgs100) 2014-10-18T05:27:30Z beach: OK, so now I have an implementation-independent MIR notation with instructions such as CAR (which requires the argument to be a CONS), FIXNUM-ADD, DOUBLE-FLOAT-AREF, etc. Now I must turn that into something specific to each implementation. But how? 2014-10-18T05:28:39Z beach: I am thinking maybe a generic function, SPECIALIZE that takes an instruction, an object representing the implementation, and an object representing the processor/OS and that replaces the general instructions with special ones. 2014-10-18T05:29:08Z ndrei joined #lisp 2014-10-18T05:31:11Z beach: But it can become messy, because one general instruction may have to be replaced by several special ones. 2014-10-18T05:33:06Z fantazo joined #lisp 2014-10-18T05:35:12Z Shinmera joined #lisp 2014-10-18T05:39:18Z drmeister: Why replace the instructions - aren't you done with MIR at this point and lowering it into assembler? 2014-10-18T05:39:34Z drmeister: assembly language? 2014-10-18T05:40:00Z beach: drmeister: Sort of right. I will keep the graph representation, but the level of the code will be lower. Muchnick calls it LIR. 2014-10-18T05:40:09Z beach: ... for "Low-level ...". 2014-10-18T05:41:04Z hiyosi joined #lisp 2014-10-18T05:41:20Z beach: Also, there is probably an intermediate step, because machine instructions can not be generated until registers have been allocated. But register allocation need for something lower level than MIR. 2014-10-18T05:41:34Z beach: I guess that's what I will call LIR. 2014-10-18T05:42:03Z beach: So for instance in SICL, CAR would be replaced by "load the contents of the address of the input with -1 subtracted from it." 2014-10-18T05:42:40Z drmeister: I see - SPECIALIZE sounds fine then, and it's just going to get messy. 2014-10-18T05:42:58Z beach: Yeah, I don't think there is an easy way out of it. 2014-10-18T05:43:37Z beach: I think I'll make SPECIALIZE just return new instructions without manipulating the graph. 2014-10-18T05:46:01Z beach: Maybe an :AROUND method will take care of altering the graph. 2014-10-18T05:46:21Z pranavrc joined #lisp 2014-10-18T05:46:21Z pranavrc quit (Changing host) 2014-10-18T05:46:21Z pranavrc joined #lisp 2014-10-18T05:46:55Z phao quit (Ping timeout: 244 seconds) 2014-10-18T05:47:41Z drmeister: That's an interesting idea. Is there a way in CLOS to invoke just the inner SPECIALIZE function? 2014-10-18T05:48:10Z beach: I don't think so. 2014-10-18T05:48:20Z drmeister: I'm intrigued by that idea of a specialized function that is purely functional and you move the side-effects to the :AROUND method. 2014-10-18T05:48:35Z beach: That's pretty much standard CLOS design. 2014-10-18T05:49:00Z drmeister: Really? That is a common idiom? 2014-10-18T05:49:14Z drmeister: Interesting - I'll keep it in mind. 2014-10-18T05:49:15Z beach: I think so. I have used it several times. 2014-10-18T05:49:47Z drmeister: That's why I thought invoking the specialized function alone might be useful for testing. 2014-10-18T05:50:36Z drmeister: I better get some sleep. Good night. 2014-10-18T05:50:40Z beach: 'night. 2014-10-18T05:52:15Z kanru` quit (Ping timeout: 258 seconds) 2014-10-18T05:56:41Z White_Flame: beach: Is there a particular reason that you differentiated things like double-float-aref to its own identity, instead of having for example a single aref tag with parameters? 2014-10-18T05:57:15Z Bike: for when the array type is known statically, i'd assume 2014-10-18T05:57:28Z jkaye joined #lisp 2014-10-18T05:57:38Z Bike: it makes a better atomic unit than one with type dispatch 2014-10-18T05:59:27Z White_Flame: but for what I presume is a project on idealized, compatible compilation semantics, it seems like the explosion of combinations would be more unwieldy than parameterization 2014-10-18T06:00:13Z White_Flame: obviously it's a matter of preference, just curious what the context of that decision was in particular 2014-10-18T06:01:55Z jkaye quit (Ping timeout: 255 seconds) 2014-10-18T06:11:57Z c107 quit (Ping timeout: 245 seconds) 2014-10-18T06:13:45Z heddwch quit (Ping timeout: 260 seconds) 2014-10-18T06:14:10Z hitecnologys joined #lisp 2014-10-18T06:15:25Z nalssee joined #lisp 2014-10-18T06:17:01Z c107 joined #lisp 2014-10-18T06:20:17Z beach: White_Flame: I have no rational justification. Just a hunch that it's better this way. 2014-10-18T06:20:28Z beach: Sometimes my hunches turn out to be wrong. 2014-10-18T06:21:03Z effy_ quit (Quit: No Ping reply in 180 seconds.) 2014-10-18T06:21:26Z effy joined #lisp 2014-10-18T06:22:04Z beach: I spend a lot of time rewriting code based on an incorrect hunch. But then, I see no way of testing a hunch other than trying to implement it and see what happens. 2014-10-18T06:25:18Z tkd quit (Ping timeout: 250 seconds) 2014-10-18T06:26:23Z tkd__ quit (Ping timeout: 272 seconds) 2014-10-18T06:38:17Z svetlyak40wt joined #lisp 2014-10-18T06:38:30Z hitecnologys_ joined #lisp 2014-10-18T06:40:14Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T06:41:06Z hitecnologys quit (Ping timeout: 240 seconds) 2014-10-18T06:43:14Z gingerale joined #lisp 2014-10-18T06:45:29Z ggole joined #lisp 2014-10-18T06:47:27Z resttime quit (Quit: resttime) 2014-10-18T07:06:34Z tkd__ joined #lisp 2014-10-18T07:06:35Z tkd joined #lisp 2014-10-18T07:07:36Z freaksken joined #lisp 2014-10-18T07:09:10Z Perkol joined #lisp 2014-10-18T07:09:14Z Jubb quit (Remote host closed the connection) 2014-10-18T07:14:56Z rx14 joined #lisp 2014-10-18T07:15:12Z rx14 quit (Remote host closed the connection) 2014-10-18T07:16:57Z rx14 joined #lisp 2014-10-18T07:18:33Z tadni` joined #lisp 2014-10-18T07:19:48Z tadni quit (Ping timeout: 246 seconds) 2014-10-18T07:21:54Z em joined #lisp 2014-10-18T07:21:59Z em quit (Changing host) 2014-10-18T07:21:59Z em joined #lisp 2014-10-18T07:22:11Z heddwch joined #lisp 2014-10-18T07:25:41Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T07:26:12Z pt1 joined #lisp 2014-10-18T07:28:05Z mishoo joined #lisp 2014-10-18T07:31:58Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-10-18T07:32:22Z ndrei_ joined #lisp 2014-10-18T07:32:56Z ndrei quit (Quit: Lost terminal) 2014-10-18T07:34:01Z nalssee joined #lisp 2014-10-18T07:39:44Z psykotron quit (Quit: Connection closed for inactivity) 2014-10-18T07:40:28Z fantazo quit (Ping timeout: 255 seconds) 2014-10-18T07:48:45Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T07:55:16Z nalssee joined #lisp 2014-10-18T07:58:24Z jkaye joined #lisp 2014-10-18T07:59:44Z keen______ joined #lisp 2014-10-18T08:00:38Z keen_____ quit (Ping timeout: 250 seconds) 2014-10-18T08:02:48Z jkaye quit (Ping timeout: 250 seconds) 2014-10-18T08:06:43Z ndrei_ quit (Quit: Lost terminal) 2014-10-18T08:08:13Z c107 quit (Remote host closed the connection) 2014-10-18T08:08:56Z c107 joined #lisp 2014-10-18T08:11:15Z Harag joined #lisp 2014-10-18T08:11:41Z Perkol quit (Remote host closed the connection) 2014-10-18T08:13:05Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T08:15:01Z ndrei joined #lisp 2014-10-18T08:15:45Z ndrei quit (Client Quit) 2014-10-18T08:16:06Z ndrei joined #lisp 2014-10-18T08:19:08Z cy quit (Quit: :q!) 2014-10-18T08:19:49Z pt1 quit (Remote host closed the connection) 2014-10-18T08:21:11Z slyrus quit (Remote host closed the connection) 2014-10-18T08:23:12Z vaporatorius joined #lisp 2014-10-18T08:28:22Z farhaven quit (Ping timeout: 240 seconds) 2014-10-18T08:30:09Z stepnem joined #lisp 2014-10-18T08:31:43Z hitecnologys_ quit (Quit: hitecnologys_) 2014-10-18T08:32:47Z ggole quit 2014-10-18T08:32:57Z Vutral_ quit (Ping timeout: 246 seconds) 2014-10-18T08:32:59Z posterdati300 joined #lisp 2014-10-18T08:37:23Z Vutral quit (Excess Flood) 2014-10-18T08:38:07Z hitecnologys joined #lisp 2014-10-18T08:38:43Z svetlyak40wt joined #lisp 2014-10-18T08:42:19Z chu joined #lisp 2014-10-18T08:44:36Z nug700 quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-18T08:47:30Z hardenedapple joined #lisp 2014-10-18T08:49:19Z madrik quit (Read error: Connection reset by peer) 2014-10-18T08:53:52Z c107 quit (Remote host closed the connection) 2014-10-18T08:55:23Z Karl_Dscc joined #lisp 2014-10-18T08:57:20Z Vutral joined #lisp 2014-10-18T08:57:48Z vinleod joined #lisp 2014-10-18T09:00:00Z aleamb quit (Ping timeout: 250 seconds) 2014-10-18T09:03:46Z defaultxr quit (Quit: gnight) 2014-10-18T09:04:06Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-18T09:05:34Z Blaguvest joined #lisp 2014-10-18T09:09:41Z stassats joined #lisp 2014-10-18T09:10:03Z angavrilov joined #lisp 2014-10-18T09:10:50Z Vutral quit (Excess Flood) 2014-10-18T09:13:29Z Vutral joined #lisp 2014-10-18T09:15:16Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T09:17:37Z madmalik joined #lisp 2014-10-18T09:18:01Z zeitue quit (Ping timeout: 272 seconds) 2014-10-18T09:21:22Z Vutral quit (Excess Flood) 2014-10-18T09:21:56Z pt1 joined #lisp 2014-10-18T09:23:42Z farhaven joined #lisp 2014-10-18T09:23:53Z nalssee joined #lisp 2014-10-18T09:25:34Z gravicappa joined #lisp 2014-10-18T09:25:59Z Vutral joined #lisp 2014-10-18T09:30:14Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-18T09:30:14Z ovenpasta joined #lisp 2014-10-18T09:30:28Z stassats quit (Remote host closed the connection) 2014-10-18T09:31:11Z stassats joined #lisp 2014-10-18T09:31:23Z Vutral quit (Excess Flood) 2014-10-18T09:32:37Z Vutral joined #lisp 2014-10-18T09:32:39Z jusss joined #lisp 2014-10-18T09:35:29Z zeitue joined #lisp 2014-10-18T09:39:28Z Vutral quit (Excess Flood) 2014-10-18T09:45:39Z svetlyak40wt joined #lisp 2014-10-18T09:45:41Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-18T09:45:48Z cpt_nemo joined #lisp 2014-10-18T09:46:09Z Vutral joined #lisp 2014-10-18T09:49:03Z skbierm quit (Remote host closed the connection) 2014-10-18T09:51:01Z skbierm joined #lisp 2014-10-18T09:51:27Z backupthrick quit (Read error: Connection reset by peer) 2014-10-18T09:52:03Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T09:53:37Z backupthrick joined #lisp 2014-10-18T09:54:03Z beach: Hmm. I shall have to rename MIR to HIR because the result of the next step of code generation is closer to what Muchnick calls MIR. 2014-10-18T09:54:07Z svetlyak40wt quit (Ping timeout: 255 seconds) 2014-10-18T09:54:23Z nalssee joined #lisp 2014-10-18T09:54:25Z Vutral quit (Excess Flood) 2014-10-18T09:57:56Z wasamasa: you mean, the canonical project? 2014-10-18T09:58:30Z stassats: you mean the space station? 2014-10-18T09:58:31Z svetlyak40wt joined #lisp 2014-10-18T09:59:29Z wasamasa: you mean, world peace? 2014-10-18T09:59:48Z stassats: that's what after the space station was named 2014-10-18T09:59:52Z RenRenJuan quit (Ping timeout: 272 seconds) 2014-10-18T10:00:06Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T10:00:39Z RenRenJuan joined #lisp 2014-10-18T10:00:43Z wasamasa: indeed 2014-10-18T10:03:33Z Vutral joined #lisp 2014-10-18T10:04:42Z yorick joined #lisp 2014-10-18T10:04:52Z rx14: yorick, hi 2014-10-18T10:05:01Z beach: So I think I have the next level figured out. The (new) MIR notation will be implementation independent and backend independent, but the choice of instructions and data will depend on both. 2014-10-18T10:10:53Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-18T10:11:05Z cpt_nemo joined #lisp 2014-10-18T10:14:12Z ack006 quit (Remote host closed the connection) 2014-10-18T10:14:42Z hiroakip joined #lisp 2014-10-18T10:15:10Z clop2 joined #lisp 2014-10-18T10:16:34Z peterhil quit (Quit: Must not waste too much time here...) 2014-10-18T10:19:39Z sabalaba_ joined #lisp 2014-10-18T10:19:46Z Vutral quit (Excess Flood) 2014-10-18T10:19:58Z sabalaba_ quit (Read error: Connection reset by peer) 2014-10-18T10:20:35Z sabalaba_ joined #lisp 2014-10-18T10:21:13Z aduadu joined #lisp 2014-10-18T10:23:10Z aduadu left #lisp 2014-10-18T10:23:12Z Vutral joined #lisp 2014-10-18T10:23:19Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T10:24:15Z shka joined #lisp 2014-10-18T10:24:21Z shka: good day all! 2014-10-18T10:25:39Z beach: Hello shka. 2014-10-18T10:27:10Z nalssee joined #lisp 2014-10-18T10:28:13Z shka: i wonder if anyone here was actually using any lisp machine 2014-10-18T10:28:29Z ehu joined #lisp 2014-10-18T10:35:17Z ered quit (Read error: No route to host) 2014-10-18T10:35:21Z aynik joined #lisp 2014-10-18T10:35:48Z varjag_ joined #lisp 2014-10-18T10:36:27Z Vutral quit (Excess Flood) 2014-10-18T10:37:13Z sabalaba_ quit (Remote host closed the connection) 2014-10-18T10:40:17Z ofosos_ joined #lisp 2014-10-18T10:40:28Z Xach: shka: yes 2014-10-18T10:40:41Z atgreen quit (Remote host closed the connection) 2014-10-18T10:40:47Z shka: Xach: nice :) 2014-10-18T10:41:00Z shka: i don't think i will be even able to see one 2014-10-18T10:41:30Z stassats: not with that attitude 2014-10-18T10:41:45Z wasamasa: lol 2014-10-18T10:41:51Z wasamasa: emacs is close enough for me 2014-10-18T10:43:26Z ofosos quit (Ping timeout: 240 seconds) 2014-10-18T10:43:29Z shka: stassats: ? 2014-10-18T10:44:02Z wasamasa: and I doubt the sources of the lower level parts of a lisp machine are any better than the horrors emacs sources have to offer 2014-10-18T10:44:37Z Vutral joined #lisp 2014-10-18T10:45:09Z beach: wasamasa: What is horrible about Emacs sources? 2014-10-18T10:45:24Z wasamasa throws beach into the redisplay loop 2014-10-18T10:45:25Z shka: actually, i'm wonder how would os written completly in lisp would look like 2014-10-18T10:45:52Z stassats: the source code or the interface? 2014-10-18T10:46:02Z stassats: the interface would be indistinguishable 2014-10-18T10:46:12Z Shinmera: from magic? 2014-10-18T10:46:22Z stassats: from magic as well 2014-10-18T10:46:31Z shka: stassats: drivers 2014-10-18T10:46:44Z shka: file system 2014-10-18T10:46:49Z Xach: shka: hardware is not magic. you write bytes to certain addresses to make things happen. 2014-10-18T10:46:50Z shka: things like that 2014-10-18T10:47:02Z Xach: shka: then you read bytes from certain addresses. 2014-10-18T10:47:02Z stassats: shka: there's nothing special about those things 2014-10-18T10:47:05Z wasamasa: beach: just read something like reftex, find-file internals, the C stuff (like all display code and the file handlers), ... 2014-10-18T10:47:26Z shka: yeah, but it is not like you see low level work in lisp all over the place ;-) 2014-10-18T10:47:46Z Xach: shka: you might find rob warnock's musings on debugging hardware in scheme interesting. (he also talks a lot about common lisp) 2014-10-18T10:48:00Z Xach: http://xach.com/rpw3/articles/ has the articles 2014-10-18T10:48:04Z beach: wasamasa: Reading those will not make me understand what you find horrible. I am interested in why *you* think so. 2014-10-18T10:48:05Z shka: plus it would it be interesting to see something that is written in lisp from the drivers up to interface 2014-10-18T10:48:19Z wasamasa: beach: it all screams "Rewrite this ASAP" at me 2014-10-18T10:48:32Z wasamasa: beach: I spend tons more time understanding than actually doing changes to it 2014-10-18T10:48:44Z beach: wasamasa: I see. 2014-10-18T10:48:50Z stassats: shka: lisp is just a programming language, there's nothing special 2014-10-18T10:49:00Z wasamasa: beach: and it gets worse the closer to the core content I get, external packages are usually fine 2014-10-18T10:49:06Z stassats: it's not like javascript, which is would be too braindamaged for such things 2014-10-18T10:49:19Z wasamasa: stassats: I wouldn't be so sure about that 2014-10-18T10:49:32Z wasamasa: stassats: considering you can flask a keyboard with chromium and a bit JS these days 2014-10-18T10:49:35Z wasamasa: *flash 2014-10-18T10:49:43Z Xach: shka: have you looked at movitz? you can see how it interacts with x86 hardware at a low level. and it is nice code. 2014-10-18T10:50:38Z Xach: shka: http://xach.com/rpw3/articles/BxGdnVAeZ7JqM_2jXTWc-g%40speakeasy.net.html and many other posts have nice info 2014-10-18T10:51:47Z shka: Xach: sadly, my brain is to small for such low level ;-) 2014-10-18T10:52:25Z stassats: that's false, low level dosn't have many parts 2014-10-18T10:52:36Z shka: plus i want to learn some haskell 2014-10-18T10:52:38Z wasamasa: shka: actually, stuff is simpler at these levels once you stop trying to abstract it away 2014-10-18T10:52:44Z shka: so i have to manage my time 2014-10-18T10:52:45Z wasamasa: shka: and take it for what it is 2014-10-18T10:52:51Z Xach: shka: that is a self-fulfilling sentiment 2014-10-18T10:53:00Z stassats: shka: so, don't learn haskell, learn assembly 2014-10-18T10:53:03Z svetlyak40wt joined #lisp 2014-10-18T10:53:03Z stassats: much more useful 2014-10-18T10:53:12Z shka: Xach: i actually agree with you ;-) 2014-10-18T10:53:18Z shka: stassats: i want to that as well 2014-10-18T10:53:52Z kingless joined #lisp 2014-10-18T10:53:54Z hiyosi quit (Quit: WeeChat 1.0) 2014-10-18T10:54:06Z shka: right now i barely understnad mix from art of computer programming 2014-10-18T10:54:17Z shka: don't ask me how usefull is that :P 2014-10-18T10:54:31Z wasamasa: shka: you may want to /join ##lisp 2014-10-18T10:54:40Z hiyosi joined #lisp 2014-10-18T10:54:55Z wasamasa: shka: discussion of any lisp-related content is encouraged over there 2014-10-18T10:55:08Z hiyosi quit (Client Quit) 2014-10-18T10:55:13Z shka: nah, i better stop procastinating on irc ;-) 2014-10-18T10:55:36Z hiyosi joined #lisp 2014-10-18T10:55:47Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T10:57:15Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T10:57:51Z zacharias_ is now known as zacharias 2014-10-18T10:59:54Z Beetny quit (Ping timeout: 255 seconds) 2014-10-18T11:02:01Z fantazo joined #lisp 2014-10-18T11:02:49Z moore33 joined #lisp 2014-10-18T11:03:03Z moore33: good morning 2014-10-18T11:03:44Z beach: Hello moore33. 2014-10-18T11:03:58Z jtza8 joined #lisp 2014-10-18T11:05:47Z moore33: When one wakes up early due to jet lag, time to hack some lisp :) 2014-10-18T11:05:48Z hzp joined #lisp 2014-10-18T11:06:23Z stassats: when isn't it the time to hack lisp? 2014-10-18T11:06:30Z beach: moore33: Did you just go, or did you just come back? 2014-10-18T11:07:19Z moore33: Arrived in US Thursday afternoon. I'm not terribly jet lagged anymore, but still waking up early. 2014-10-18T11:07:29Z moore33: This is a quick trip over Toussaint. 2014-10-18T11:07:41Z beach: Good, I hope. 2014-10-18T11:07:55Z moore33: Yeah, so far. 2014-10-18T11:13:28Z hiyosi quit (Quit: WeeChat 1.0) 2014-10-18T11:13:50Z hiyosi joined #lisp 2014-10-18T11:17:06Z mishoo quit (Remote host closed the connection) 2014-10-18T11:17:30Z mishoo joined #lisp 2014-10-18T11:17:52Z malice joined #lisp 2014-10-18T11:18:28Z malice: Hello! I have a question :) 2014-10-18T11:18:36Z malice: My code is here: https://github.com/MatthewRock/neuroshima-utils/blob/master/sztuczki-database.lisp 2014-10-18T11:18:41Z malice: I mean the code from line 176. 2014-10-18T11:18:52Z malice: I have a macro which I intended to use in DO, but it doesn't really work. 2014-10-18T11:18:56Z stassats: protip: https://github.com/MatthewRock/neuroshima-utils/blob/master/sztuczki-database.lisp#L176 2014-10-18T11:19:08Z malice: Oh, thanks:) 2014-10-18T11:19:16Z stassats: you probably want to expand into PROGN 2014-10-18T11:19:19Z wasamasa: malice: is that polish names all over your code? 2014-10-18T11:19:30Z Grue`: well, calling read at compile time is not really what you want to do 2014-10-18T11:19:32Z malice: wasamasa, yeah, but this doesn't matter for the problem. Why? 2014-10-18T11:19:50Z wasamasa: malice: well, you can forget looking for collaborators with that :P 2014-10-18T11:19:52Z Shinmera: Because people will have trouble understanding it if they don't know polish 2014-10-18T11:20:00Z Shinmera: Which is most people in here. 2014-10-18T11:20:08Z malice: wasamasa, problem is about macro which is in english and with DO which isn't polish too :) 2014-10-18T11:20:21Z Grue`: oh wait, i misread that 2014-10-18T11:20:30Z malice: Actually it isn't read in compilation time 2014-10-18T11:20:43Z malice: Macro expands into the exact same code that I would write by myself 2014-10-18T11:20:45Z malice: theoretically 2014-10-18T11:20:48Z wasamasa: malice: I can't even guess what the macro is doing because the docstring is english 2014-10-18T11:20:50Z malice: because afaik it doesn't expand 2014-10-18T11:20:52Z wasamasa: *isn't 2014-10-18T11:21:21Z Grue`: malice: you need to wrap that in progn 2014-10-18T11:21:29Z stassats: and by the way, DO doesn't expand its clauses 2014-10-18T11:21:29Z Grue`: `(progn ,@(loop ...)) 2014-10-18T11:22:06Z malice: Grue`, let me try 2014-10-18T11:22:22Z Grue`: oh wait 2014-10-18T11:22:30Z Grue`: you can't use that in (do 2014-10-18T11:22:45Z mishoo quit (Ping timeout: 244 seconds) 2014-10-18T11:23:08Z Grue`: you need the entire form in macro, with do and all 2014-10-18T11:23:59Z malice: Grue`, yeah that was my problem 2014-10-18T11:24:03Z zacharias quit (Ping timeout: 265 seconds) 2014-10-18T11:24:04Z malice: So I can't use macro in DO? 2014-10-18T11:24:11Z malice: Or at least use it in that way? 2014-10-18T11:24:15Z Grue`: macroexpansion doesnt work that way 2014-10-18T11:24:39Z Grue`: the entire DO form is expanded first and then whatever macros are left are expanded 2014-10-18T11:24:51Z timpani_ is now known as timpani 2014-10-18T11:24:54Z malice: Ah. 2014-10-18T11:25:12Z svetlyak40wt joined #lisp 2014-10-18T11:25:22Z sabalaba_ joined #lisp 2014-10-18T11:25:47Z CrazyWoods joined #lisp 2014-10-18T11:25:58Z malice: Well, thanks for explanation, Grue` ! 2014-10-18T11:30:22Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T11:30:54Z svetlyak40wt joined #lisp 2014-10-18T11:32:18Z kingless quit (Remote host closed the connection) 2014-10-18T11:32:56Z malice quit (Quit: Leaving) 2014-10-18T11:36:20Z stassats: macros are only expanded if they are to be evaluated 2014-10-18T11:36:30Z stassats: if another macro doesn't evaluate a form, then it won't be expanded either 2014-10-18T11:37:34Z xpoqp joined #lisp 2014-10-18T11:39:43Z timpani quit (Quit: leaving) 2014-10-18T11:44:06Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T11:45:17Z vaporatorius quit (Quit: Leaving) 2014-10-18T11:45:40Z svetlyak40wt joined #lisp 2014-10-18T11:46:18Z Blaguvest quit 2014-10-18T11:47:07Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T11:47:16Z stassats` joined #lisp 2014-10-18T11:47:37Z svetlyak40wt joined #lisp 2014-10-18T11:49:12Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T11:49:16Z stassats quit (Ping timeout: 260 seconds) 2014-10-18T11:49:42Z svetlyak40wt joined #lisp 2014-10-18T11:50:36Z nalssee joined #lisp 2014-10-18T11:51:35Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T11:52:06Z svetlyak40wt joined #lisp 2014-10-18T11:52:55Z Blaguvest joined #lisp 2014-10-18T11:53:41Z nalssee quit (Client Quit) 2014-10-18T11:55:16Z sabalaba_ quit (Remote host closed the connection) 2014-10-18T11:58:53Z theos quit (Disconnected by services) 2014-10-18T11:59:20Z theos joined #lisp 2014-10-18T11:59:53Z jkaye joined #lisp 2014-10-18T12:00:00Z jebes quit (Ping timeout: 260 seconds) 2014-10-18T12:01:55Z jebes joined #lisp 2014-10-18T12:02:17Z ndrei quit (Quit: leaving) 2014-10-18T12:02:40Z ndrei joined #lisp 2014-10-18T12:02:58Z SvenGek joined #lisp 2014-10-18T12:04:22Z jkaye quit (Ping timeout: 240 seconds) 2014-10-18T12:05:16Z Nizumzen joined #lisp 2014-10-18T12:06:39Z stassats`: so, how do i reinitialize a class instance when its superclass is changed? sbcl does update the class-slots etc, but reinitialize-instance isn't triggered 2014-10-18T12:06:42Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T12:07:06Z stassats`: sure i can call my init function for all subclasses 2014-10-18T12:12:07Z madalu quit (Remote host closed the connection) 2014-10-18T12:12:48Z beach: stassats`: UPDATE-INSTANCE-FOR-REDEFINED-CLASS should be called. 2014-10-18T12:13:14Z stassats`: i'm updating the class, not instances 2014-10-18T12:14:18Z sabalaba_ joined #lisp 2014-10-18T12:14:38Z beach: Oh, by "class instance" you meant "class metaobject"? 2014-10-18T12:14:46Z beach: Not "instance of a class"? 2014-10-18T12:14:52Z stassats`: right 2014-10-18T12:15:41Z sabalaba_ quit (Remote host closed the connection) 2014-10-18T12:15:46Z beach: Is it not enough that it gets updated before more instances are created? 2014-10-18T12:16:00Z stassats`: it gets updated by sbcl, but not by me 2014-10-18T12:16:27Z stassats`: i need to compute some additional information, and if the class was already finalized, i have no way of knowing if the superclass got changed in the meantime 2014-10-18T12:16:52Z zacts quit (Ping timeout: 240 seconds) 2014-10-18T12:17:03Z stassats`: i can walk subclasses recursively and call my update function on finalized classes 2014-10-18T12:17:38Z stassats`: now i am contemplating, what does the MOP prescribe and is SBCL in the right 2014-10-18T12:17:45Z zacts joined #lisp 2014-10-18T12:17:59Z pegu joined #lisp 2014-10-18T12:18:01Z beach: I see. I am not sure there is anything in the MOP to do that. 2014-10-18T12:18:39Z stassats`: i can also use the dependent protocol 2014-10-18T12:18:49Z beach: That's a possibility. 2014-10-18T12:19:05Z oleo__ quit (Quit: Verlassend) 2014-10-18T12:19:07Z stassats`: but again, that seems strange to me, since sbcl does touch the class object, in effect reinitalizing it, but without the means of REINITIALIZE-INSTANCE 2014-10-18T12:19:39Z beach: As I recall, the MOP does not require that REINITIALIZE-INSTANCE be called. 2014-10-18T12:19:56Z stassats`: that seems to be the case 2014-10-18T12:20:13Z beach: But it has been a few months since last I looked at it, so I forget the details. 2014-10-18T12:20:27Z stassats`: well, i guess the dependent protocol is uncalled for here, i can just call recursively on subclasses 2014-10-18T12:23:08Z stassats`: are direct-subclasses available before finalization? 2014-10-18T12:24:40Z beach: Good question. I can't remember. 2014-10-18T12:24:45Z beach: mop class-direct-subclasses 2014-10-18T12:24:46Z specbot: http://metamodular.com/CLOS-MOP/class-direct-subclasses.html 2014-10-18T12:24:54Z stassats`: it is 2014-10-18T12:25:13Z stassats`: done during initialization by add-direct-subclasses 2014-10-18T12:25:54Z pranavrc quit (Read error: Connection reset by peer) 2014-10-18T12:25:56Z nalssee joined #lisp 2014-10-18T12:25:58Z pranavrc_ joined #lisp 2014-10-18T12:26:05Z ggole joined #lisp 2014-10-18T12:26:07Z beach: Yup. 2014-10-18T12:26:09Z stassats`: ok, that does the job 2014-10-18T12:28:00Z stassats`: and i'm sure other implementations do different things 2014-10-18T12:28:41Z nalssee quit (Client Quit) 2014-10-18T12:28:43Z beach: Is this going to be in an application or in the code for SBCL itself? 2014-10-18T12:28:46Z cmack` joined #lisp 2014-10-18T12:28:49Z stassats`: an application 2014-10-18T12:31:05Z Hache_ joined #lisp 2014-10-18T12:31:41Z ggole quit (Ping timeout: 258 seconds) 2014-10-18T12:32:37Z askatasuna joined #lisp 2014-10-18T12:32:41Z cmack quit (Ping timeout: 265 seconds) 2014-10-18T12:32:46Z zacharias joined #lisp 2014-10-18T12:35:58Z oleo joined #lisp 2014-10-18T12:40:57Z skbierm quit (Remote host closed the connection) 2014-10-18T12:42:06Z EvW joined #lisp 2014-10-18T12:44:24Z jtza8 quit (Remote host closed the connection) 2014-10-18T12:46:32Z sabalaba_ joined #lisp 2014-10-18T12:47:02Z __prefect is now known as nha 2014-10-18T12:49:15Z skbierm joined #lisp 2014-10-18T12:49:32Z QualityAddict joined #lisp 2014-10-18T12:54:24Z QualityAddict quit (Ping timeout: 246 seconds) 2014-10-18T12:55:01Z nalssee joined #lisp 2014-10-18T12:55:07Z kcj quit (Remote host closed the connection) 2014-10-18T12:56:49Z sabalaba_ quit (Ping timeout: 255 seconds) 2014-10-18T12:57:05Z vlnx quit (Remote host closed the connection) 2014-10-18T12:57:38Z QualityAddict joined #lisp 2014-10-18T12:57:40Z leo2007 quit (Read error: Connection reset by peer) 2014-10-18T13:02:13Z clop2 quit (Ping timeout: 272 seconds) 2014-10-18T13:02:51Z Svetlana quit (Quit: gone) 2014-10-18T13:07:58Z hiroakip quit (Ping timeout: 265 seconds) 2014-10-18T13:09:35Z leo2007 joined #lisp 2014-10-18T13:13:40Z phao joined #lisp 2014-10-18T13:16:01Z ndrei quit (Remote host closed the connection) 2014-10-18T13:17:08Z ndrei joined #lisp 2014-10-18T13:17:20Z ndrei quit (Client Quit) 2014-10-18T13:17:45Z ndrei joined #lisp 2014-10-18T13:18:36Z Jubb joined #lisp 2014-10-18T13:23:26Z cmack` is now known as cmack 2014-10-18T13:23:32Z EvW quit (Ping timeout: 260 seconds) 2014-10-18T13:32:29Z mishoo joined #lisp 2014-10-18T13:32:52Z leo2007 quit (Quit: rcirc on GNU Emacs 25.0.50.7) 2014-10-18T13:33:36Z leo2007 joined #lisp 2014-10-18T13:33:54Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T13:34:10Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-10-18T13:38:22Z leo2007 quit (Ping timeout: 272 seconds) 2014-10-18T13:41:22Z Nizumzen quit (Ping timeout: 255 seconds) 2014-10-18T13:41:52Z yeticry quit (Ping timeout: 240 seconds) 2014-10-18T13:42:02Z rme joined #lisp 2014-10-18T13:44:04Z yeticry joined #lisp 2014-10-18T13:44:10Z mvilleneuve joined #lisp 2014-10-18T13:46:42Z leo2007 joined #lisp 2014-10-18T13:47:20Z ndrei quit (Ping timeout: 260 seconds) 2014-10-18T13:49:00Z svetlyak40wt joined #lisp 2014-10-18T13:50:24Z Longlius quit (Ping timeout: 272 seconds) 2014-10-18T13:51:10Z shka: http://i.imgur.com/5gbFE.png 2014-10-18T13:54:00Z sabalaba_ joined #lisp 2014-10-18T13:56:40Z Perkol joined #lisp 2014-10-18T13:58:33Z sabalaba_ quit (Ping timeout: 260 seconds) 2014-10-18T13:58:38Z pt1 quit (Remote host closed the connection) 2014-10-18T14:00:37Z jkaye joined #lisp 2014-10-18T14:01:58Z isBEKaml joined #lisp 2014-10-18T14:05:06Z jkaye quit (Ping timeout: 246 seconds) 2014-10-18T14:09:33Z pranavrc_ quit 2014-10-18T14:12:22Z jtza8 joined #lisp 2014-10-18T14:13:51Z isBEKaml quit (Quit: leaving) 2014-10-18T14:14:52Z isBEKaml joined #lisp 2014-10-18T14:18:29Z Nizumzen joined #lisp 2014-10-18T14:20:14Z arpunk joined #lisp 2014-10-18T14:24:06Z jlongster joined #lisp 2014-10-18T14:24:47Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T14:24:56Z oleo is now known as Guest1129 2014-10-18T14:26:40Z oleo__ joined #lisp 2014-10-18T14:28:24Z Guest1129 quit (Ping timeout: 272 seconds) 2014-10-18T14:29:05Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-10-18T14:36:23Z jlongster quit (Ping timeout: 240 seconds) 2014-10-18T14:40:49Z oleo__ quit (Quit: Verlassend) 2014-10-18T14:42:22Z oleo__ joined #lisp 2014-10-18T14:42:47Z oleo__ is now known as oleo 2014-10-18T14:43:59Z feiyin joined #lisp 2014-10-18T14:46:52Z kpreid quit (Quit: Quitting) 2014-10-18T14:51:16Z ddenniss joined #lisp 2014-10-18T14:52:10Z ddenniss left #lisp 2014-10-18T14:52:20Z nalssee joined #lisp 2014-10-18T14:55:04Z sabalaba_ joined #lisp 2014-10-18T14:55:09Z nalssee quit (Client Quit) 2014-10-18T14:55:10Z murftown joined #lisp 2014-10-18T14:55:37Z tadni` quit (Ping timeout: 255 seconds) 2014-10-18T14:56:00Z feiyin left #lisp 2014-10-18T14:56:22Z fisxoj joined #lisp 2014-10-18T14:56:54Z murftown: I am using sbcl and I want to be able to get the argument list for an already defined function. I saw an example that said "(sb-introspect:function-lambda-list #'funcname)" would do this, but my sbcl says sb-introspect is not a package. How can I include / install / use sb-introspect? 2014-10-18T14:57:14Z svetlyak40wt joined #lisp 2014-10-18T14:57:18Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T14:57:19Z fisxoj: have you tried just requiring it? 2014-10-18T14:57:29Z nalssee joined #lisp 2014-10-18T14:57:40Z fisxoj: I just tried that and it worked on my sbcl 2014-10-18T14:57:56Z murftown: fisxoj: that did it. thanks! lisp n00b here 2014-10-18T14:58:18Z sabrac joined #lisp 2014-10-18T14:58:20Z fisxoj: no worries, welcome to a world of almost zero documentation where all of the code is brilliant and indecipherable :P 2014-10-18T14:58:30Z fisxoj: but usually, mercifully short 2014-10-18T14:58:34Z murftown: exactly! it's amazing and time consuming! 2014-10-18T14:58:38Z innertracks joined #lisp 2014-10-18T14:59:18Z wol quit (Quit: Konversation terminated!) 2014-10-18T14:59:36Z Bike: you can see the other contribs in the source. you load em the same way. 2014-10-18T14:59:40Z sabalaba_ quit (Ping timeout: 250 seconds) 2014-10-18T14:59:50Z fisxoj: now, my turn to ask a question, how do I get rid of this different version between swank and slime message? I've removed the old slime entirely, I think, unless quicklisp has a secret copy 2014-10-18T15:01:49Z nalssee quit (Client Quit) 2014-10-18T15:03:36Z isBEKaml: how would I look up the argument list of a function in clisp? keep hitting tab until it connects to CLISP hyperspec, prints pages of content (including redirections)? 2014-10-18T15:03:43Z cpc26 joined #lisp 2014-10-18T15:03:51Z pt1 joined #lisp 2014-10-18T15:03:52Z cpc26_ quit (Ping timeout: 260 seconds) 2014-10-18T15:03:53Z isBEKaml: or just use (disassemble)? I'm not far enough to under dissassemble output... 2014-10-18T15:04:53Z isBEKaml: I'll just download CLTL and work through that, I guess. 2014-10-18T15:05:11Z Bike: i think function-lambda-expression works on clisp 2014-10-18T15:06:47Z isBEKaml: that wouldn't work for compiled functions, correct? 2014-10-18T15:07:15Z isBEKaml: I tried (function-lambda-expression #'inspect) and it showed NIL (so yeah, not for compiled ones) 2014-10-18T15:07:27Z nalssee joined #lisp 2014-10-18T15:08:14Z pt1 quit (Remote host closed the connection) 2014-10-18T15:08:50Z Bike: try ext:arglist 2014-10-18T15:09:55Z isBEKaml: Bike: Awesome! 2014-10-18T15:10:22Z kpreid joined #lisp 2014-10-18T15:10:50Z ndrei joined #lisp 2014-10-18T15:12:02Z billitch quit (Ping timeout: 260 seconds) 2014-10-18T15:13:30Z Perkol quit (Quit: Leaving) 2014-10-18T15:14:13Z axd711 joined #lisp 2014-10-18T15:15:05Z hiroakip joined #lisp 2014-10-18T15:16:49Z murftown: I have a question: "(defun prepend123 (L) (list 1 2 3 . L))", I get an error "TYPE-ERROR: The value L is not of type LIST.", but I actually WANTED it to be a list - how do I tell lisp that this argument is indeed supposed to be a list? 2014-10-18T15:17:08Z Bike: that's invalid syntax, you can't evaluate dotted lists 2014-10-18T15:17:10Z stassats`: L is a symbol 2014-10-18T15:17:15Z Bike: you want (list* 1 2 3 L) 2014-10-18T15:17:43Z Grue`: I think that's a schemeism and murftown actually meant (apply #'list 1 2 3 L) 2014-10-18T15:18:16Z stassats`: please! no apply 2014-10-18T15:18:20Z murftown: ok thanks! both of those work, thanks Bike / Grue 2014-10-18T15:18:34Z kpreid quit (Quit: Quitting) 2014-10-18T15:18:53Z kpreid joined #lisp 2014-10-18T15:19:04Z murftown: so I guess that was one of those Lisp meta-off-by-1 errors: off by one level of quoting / evaluation? 2014-10-18T15:19:08Z stassats`: no, not both of those work 2014-10-18T15:19:13Z Grue`: gotta remember list* exists for the next time 2014-10-18T15:19:21Z stassats`: murftown: don't use Grue`'s advice 2014-10-18T15:19:37Z Grue`: what's wrong with apply? 2014-10-18T15:20:07Z fisxoj quit (Quit: fisxoj) 2014-10-18T15:20:33Z murftown: they both SEEM like they work, but I'm sure I don't get all the deep ethical implications of each :p 2014-10-18T15:20:42Z ndrei quit (Ping timeout: 245 seconds) 2014-10-18T15:21:51Z murftown: or semantic implications 2014-10-18T15:21:55Z isBEKaml: Grue`: [not a strong Lisper here] I can't speak for stassats`, but I guess the reason is (apply) works by *applying* the function to each argument and slows things down by net effect. 2014-10-18T15:22:14Z Grue`: it does exactly the same thing 2014-10-18T15:22:30Z murftown: isBEKaml: slows down as in it won't run as fast? 2014-10-18T15:22:35Z ndrei joined #lisp 2014-10-18T15:22:43Z Bike: well, list* will work if L isn't a list 2014-10-18T15:22:47Z isBEKaml: murftown: Not sure, clisp kind of hides it. 2014-10-18T15:23:22Z Grue`: except L *is* a list in the original question 2014-10-18T15:23:28Z schaueho joined #lisp 2014-10-18T15:23:51Z Bike: yeah, i'm just sayin, that's the main difference. 2014-10-18T15:24:06Z murftown: it looks like list* makes a list but leaves the last item naked instead of as part of a cons: (list* 1 2 3 4 5) => (1 2 3 4 . 5) 2014-10-18T15:24:17Z Bike: yes 2014-10-18T15:24:25Z Bike: so, if it's already a cons, there you go 2014-10-18T15:24:31Z murftown: perfect 2014-10-18T15:24:42Z murftown: apply looks mega-useful though 2014-10-18T15:24:59Z Grue`: exactly, apply is a general answer to your question 2014-10-18T15:25:03Z murftown: stassats` why is apply not to be desired? 2014-10-18T15:26:56Z murftown: because the problem with my orig code was that L was a symbol and hadn't been evaluated yet, correct? 2014-10-18T15:27:26Z Grue`: no, the problem is that you used dotted list syntax which is not allowed in this context 2014-10-18T15:27:37Z stassats`: just try (length (prepend-apply (make-list 10000000))) and (length (prepend-list* (make-list 10000000))) 2014-10-18T15:27:46Z stassats`: and then tell me which blows the stack and which doesn't 2014-10-18T15:27:53Z stassats`: or which stumbles upon c-a-l, and which doesn't 2014-10-18T15:28:31Z murftown: ok thanks stassats`, obviously an important implementation detail for scalability 2014-10-18T15:28:40Z stassats`: so, please, never use APPLY on things which aren't actually function arguments 2014-10-18T15:28:41Z Bike: murftown: the type error was in the evaluator, before the function call. you'd get the same with (foo a b d . 9) 2014-10-18T15:29:03Z stassats`: murftown: there's no scalability here, it's plain wrong, the lower limit is 50 2014-10-18T15:29:21Z Grue`: stassats`: except in murftown's case the elements of L *were* supposed to be function arguments 2014-10-18T15:29:56Z jtza8 quit (Ping timeout: 258 seconds) 2014-10-18T15:30:00Z Grue`: hence why they thought dotted list would work 2014-10-18T15:30:14Z murftown: this seems to work too: (defun prepend123** (L) `(1 2 3 ,L)) 2014-10-18T15:30:26Z stassats`: it should be ,@L 2014-10-18T15:30:58Z Shinmera: murftown: Don't do that. The compiler may inline the quoted list so if you modify it somewhere along the line you're going to get nasty surprises. 2014-10-18T15:31:10Z Krystof: what quoted list? 2014-10-18T15:31:18Z Shinmera: backquoted 2014-10-18T15:31:26Z stassats`: there's no shared part here 2014-10-18T15:31:33Z Krystof: just how do you think it's going to "inline" it? 2014-10-18T15:31:39Z stassats`: if it were `(,@L 1 2 3), then yes 2014-10-18T15:32:08Z drdanmaku joined #lisp 2014-10-18T15:32:13Z murftown: ,@L interesting 2014-10-18T15:32:13Z Shinmera: Ah, I see, yes. 2014-10-18T15:32:58Z Shinmera: Krystof: I suppose it could keep the same cons for the first few elements. 2014-10-18T15:33:06Z Shinmera: Though I see why it wouldn't. 2014-10-18T15:33:06Z stassats`: it could not 2014-10-18T15:33:18Z stassats`: no, it "could not", not "would not" 2014-10-18T15:34:35Z Shinmera: Bleh, I'm not up to speed today. I see now, yes. 2014-10-18T15:34:54Z zacharias quit (Quit: Bye!) 2014-10-18T15:35:01Z arpunk quit (Remote host closed the connection) 2014-10-18T15:35:18Z ndrei quit (Ping timeout: 258 seconds) 2014-10-18T15:35:35Z protist joined #lisp 2014-10-18T15:36:15Z slyrus joined #lisp 2014-10-18T15:37:05Z EvW joined #lisp 2014-10-18T15:38:07Z murftown: I couldn't find @ or ,@ in the lispworks hyperspec, what does it do? 2014-10-18T15:38:07Z murftown: is that the one that splices in a list to an existing list? 2014-10-18T15:38:07Z murftown: Shinmera thanks for the warning 2014-10-18T15:38:19Z stassats`: clhs ,@ 2014-10-18T15:38:19Z specbot: Couldn't find anything for ,@. 2014-10-18T15:38:21Z stassats`: clhs ` 2014-10-18T15:38:21Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_df.htm 2014-10-18T15:38:45Z Grue`: (defun prepend123 (list) (nconc '(1 2 3) list)) the worst solution ;) 2014-10-18T15:39:02Z Patzy quit (Ping timeout: 245 seconds) 2014-10-18T15:39:38Z Shinmera: murftown: Sorry about the kneejerk reaction to it, I was wrong in this case, but it's still good to keep in mind that quoted things may be inlined when possible. 2014-10-18T15:39:48Z Patzy joined #lisp 2014-10-18T15:40:40Z murftown: Shinmera: ok. I'm not sure quite what that means yet, but it will make me be a little wary of backquotes until I understand more, ty\ 2014-10-18T15:42:07Z normanrichards joined #lisp 2014-10-18T15:43:00Z InvalidCo: is there already a form/reader-macro which would execute code once at macro-expansion time and leave the resulting code in-place? 2014-10-18T15:43:12Z Bike: clhs #. 2014-10-18T15:43:12Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhf.htm 2014-10-18T15:43:28Z InvalidCo: Bike: Isn't that read-time expansion? 2014-10-18T15:43:41Z Bike: yes 2014-10-18T15:43:52Z stassats`: macro expansion time? have you thought about a macro? 2014-10-18T15:44:01Z InvalidCo: well I wrote a macro to do the job 2014-10-18T15:44:14Z stassats`: or do you want load-time-value? 2014-10-18T15:44:17Z InvalidCo: which basically just takes code and spits out the result 2014-10-18T15:44:58Z InvalidCo: just (eval `(progn ,@body)) 2014-10-18T15:46:35Z askatasuna quit (Quit: WeeChat 1.0.1) 2014-10-18T15:47:19Z innertracks quit (Quit: innertracks) 2014-10-18T15:49:27Z Grue`: since I see EVAL, this seems like a bad idea all around 2014-10-18T15:49:35Z InvalidCo: that's what I thought 2014-10-18T15:50:07Z InvalidCo: of course, it could be avoided by writing (macrolet ((,sym () ,@body)) (,sym)) 2014-10-18T15:50:23Z Shinmera: just define a second macro and expand to a call to that macro? 2014-10-18T15:50:31Z stassats`: the unconditional dismissal of EVAL is baffling 2014-10-18T15:51:14Z Bike: yeah, if evaluating is what you're doing, you should use eval. though side effecting at macroexpansion time is a bit weird. 2014-10-18T15:51:56Z murftown quit (Quit: murftown) 2014-10-18T15:51:58Z stassats`: i'm sure InvalidCo just wants load-time-value 2014-10-18T15:52:21Z stassats`: or #. 2014-10-18T15:53:09Z InvalidCo: nope 2014-10-18T15:53:28Z stassats`: you just don't know that you want them 2014-10-18T15:53:32Z InvalidCo: the problem is there's lots of one-off code generation that I don't want to escalate into a plethora of macros 2014-10-18T15:53:41Z ggole joined #lisp 2014-10-18T15:54:03Z Grue`: looks liek you need a macro that makes macros 2014-10-18T15:54:35Z InvalidCo: :) 2014-10-18T15:54:51Z InvalidCo: I've already got my own version of DADA 2014-10-18T15:55:58Z sabalaba_ joined #lisp 2014-10-18T15:56:07Z svetlyak40wt joined #lisp 2014-10-18T15:56:11Z shka: you dawg, we heared that you like code 2014-10-18T15:56:21Z shka: so we showe you how to write code that will wirte code 2014-10-18T15:56:31Z shka: that will write code you actually want 2014-10-18T15:57:37Z hiroakip quit (Ping timeout: 265 seconds) 2014-10-18T15:59:30Z Shinmera: Is there a function like sb-introspect:function-lambda-list in CCL? I know of ccl:function-args, but that would mean reconstructing the list by hand. 2014-10-18T15:59:45Z stassats`: just use swank 2014-10-18T15:59:53Z Shinmera: What if I don't have swank at hand 2014-10-18T16:00:01Z rme: ccl:arglist 2014-10-18T16:00:12Z stassats`: rip out what swank does 2014-10-18T16:00:17Z Shinmera: rme: Ah, indeed. Thanks! 2014-10-18T16:00:22Z sabalaba_ quit (Ping timeout: 240 seconds) 2014-10-18T16:00:24Z Bike: swank uses ccl:arglist. 2014-10-18T16:00:34Z Shinmera: I wonder why I never found that. 2014-10-18T16:01:12Z jkaye joined #lisp 2014-10-18T16:02:19Z jusss quit (Remote host closed the connection) 2014-10-18T16:03:07Z innertracks joined #lisp 2014-10-18T16:05:52Z jkaye quit (Ping timeout: 240 seconds) 2014-10-18T16:06:01Z innertracks quit (Client Quit) 2014-10-18T16:06:05Z Harag1 joined #lisp 2014-10-18T16:06:53Z loke quit (Ping timeout: 240 seconds) 2014-10-18T16:07:20Z Harag quit (Ping timeout: 260 seconds) 2014-10-18T16:08:04Z ndrei joined #lisp 2014-10-18T16:09:33Z innertracks joined #lisp 2014-10-18T16:10:36Z Harag1 quit (Ping timeout: 260 seconds) 2014-10-18T16:11:21Z jkaye joined #lisp 2014-10-18T16:12:32Z pjb: isBEKaml: you've got a very wrong mental model of what APPLY does. 2014-10-18T16:14:41Z pjb: The problem with (apply (function list) …) is call-arguments-limit. 2014-10-18T16:14:48Z cmatei quit (Ping timeout: 260 seconds) 2014-10-18T16:15:08Z pjb: which can be as low as 20, so if your list L has 18 elements, (apply (function list) 1 2 3 L) will break. 2014-10-18T16:16:15Z jkaye quit (Ping timeout: 255 seconds) 2014-10-18T16:16:22Z Grue`: if it's that low, chances are a lot of the code out there won't work on that implementation anyway 2014-10-18T16:17:10Z pjb: Another difference between (apply (function list) 1 2 3 L) and (list* 1 2 3 L) is that the former will create a new list for all the element (copying the list L), while the later will return a list that share its tail with L. (eq (cdddr (list* 1 2 3 L)) L) --> T 2014-10-18T16:21:39Z Nilly joined #lisp 2014-10-18T16:22:07Z Perkol joined #lisp 2014-10-18T16:24:24Z normanrichards quit (Ping timeout: 246 seconds) 2014-10-18T16:24:32Z jlongster joined #lisp 2014-10-18T16:25:36Z isBEKaml: pjb: Not the first time. Thanks :-) 2014-10-18T16:27:07Z wilfredh joined #lisp 2014-10-18T16:28:47Z cmatei joined #lisp 2014-10-18T16:33:25Z loke_ quit (Quit: Leaving) 2014-10-18T16:34:30Z matthewhill joined #lisp 2014-10-18T16:35:16Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-10-18T16:35:25Z ans quit (Ping timeout: 260 seconds) 2014-10-18T16:37:05Z Perkol quit (Remote host closed the connection) 2014-10-18T16:37:54Z ans joined #lisp 2014-10-18T16:42:36Z jlongster quit (Ping timeout: 246 seconds) 2014-10-18T16:43:47Z pkkm left #lisp 2014-10-18T16:46:48Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T16:47:15Z resttime joined #lisp 2014-10-18T16:48:43Z nalssee joined #lisp 2014-10-18T16:49:05Z isBEKaml quit (Ping timeout: 255 seconds) 2014-10-18T16:49:35Z hitecnologys quit (Quit: hitecnologys) 2014-10-18T16:50:07Z clop2 joined #lisp 2014-10-18T16:50:18Z matthewhill quit (Quit: Lingo: www.lingoirc.com) 2014-10-18T16:50:35Z CrazyWoods quit (Quit: leaving) 2014-10-18T16:50:48Z Nilly quit (Read error: Connection reset by peer) 2014-10-18T16:54:48Z karswell joined #lisp 2014-10-18T16:54:52Z ndrei quit (Ping timeout: 240 seconds) 2014-10-18T16:55:48Z zygentoma joined #lisp 2014-10-18T16:57:07Z sabalaba_ joined #lisp 2014-10-18T17:00:37Z mvilleneuve joined #lisp 2014-10-18T17:00:43Z innertracks quit (Ping timeout: 255 seconds) 2014-10-18T17:01:54Z sabalaba_ quit (Ping timeout: 265 seconds) 2014-10-18T17:02:19Z ofosos_ quit (Ping timeout: 272 seconds) 2014-10-18T17:04:24Z bgs100 joined #lisp 2014-10-18T17:13:45Z ack006 joined #lisp 2014-10-18T17:13:46Z jhao joined #lisp 2014-10-18T17:14:17Z clop2 quit (Ping timeout: 272 seconds) 2014-10-18T17:19:07Z nalssee quit (Quit: This computer has gone to sleep) 2014-10-18T17:23:20Z jlongster joined #lisp 2014-10-18T17:23:20Z jlongster quit (Remote host closed the connection) 2014-10-18T17:25:06Z stassats` quit (Ping timeout: 265 seconds) 2014-10-18T17:26:34Z yrk quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-18T17:26:58Z CrazyWoods joined #lisp 2014-10-18T17:28:31Z CrazyWoods: Which GUI toolkit are suggest for lisp? 2014-10-18T17:30:37Z wasamasa: html+css+js 2014-10-18T17:31:16Z wasamasa: aka web ui 2014-10-18T17:33:27Z CrazyWoods: wasamasa: web base? 2014-10-18T17:33:49Z wasamasa: CrazyWoods: yes 2014-10-18T17:39:03Z isBEKaml joined #lisp 2014-10-18T17:42:30Z hardenedapple joined #lisp 2014-10-18T17:44:25Z theos quit (Disconnected by services) 2014-10-18T17:44:56Z theos joined #lisp 2014-10-18T17:47:50Z jtza8 joined #lisp 2014-10-18T17:48:03Z zickzackv joined #lisp 2014-10-18T17:48:29Z sakes joined #lisp 2014-10-18T17:48:37Z isBEKaml quit (Quit: leaving) 2014-10-18T17:49:57Z sakes quit (Remote host closed the connection) 2014-10-18T17:50:23Z arpunk joined #lisp 2014-10-18T17:53:03Z innertracks joined #lisp 2014-10-18T17:57:55Z sabalaba_ joined #lisp 2014-10-18T17:58:08Z Nizumzen quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-18T17:58:52Z thawes joined #lisp 2014-10-18T18:02:22Z sabalaba_ quit (Ping timeout: 245 seconds) 2014-10-18T18:02:23Z SvenGek left #lisp 2014-10-18T18:06:50Z pillton quit (Remote host closed the connection) 2014-10-18T18:12:17Z jkaye joined #lisp 2014-10-18T18:13:12Z urandom__ joined #lisp 2014-10-18T18:13:53Z kpreid quit (Ping timeout: 272 seconds) 2014-10-18T18:14:51Z ered joined #lisp 2014-10-18T18:16:24Z zickzackv quit (Ping timeout: 250 seconds) 2014-10-18T18:16:36Z jkaye quit (Ping timeout: 244 seconds) 2014-10-18T18:16:57Z kpreid joined #lisp 2014-10-18T18:19:07Z gabriel_laddel joined #lisp 2014-10-18T18:19:15Z kpreid quit (Client Quit) 2014-10-18T18:19:40Z hiroakip joined #lisp 2014-10-18T18:25:42Z axd711 quit (Ping timeout: 245 seconds) 2014-10-18T18:26:47Z zickzackv joined #lisp 2014-10-18T18:28:26Z jtza8 quit (Ping timeout: 240 seconds) 2014-10-18T18:29:29Z jtza8 joined #lisp 2014-10-18T18:31:48Z jegaxd26 quit (Ping timeout: 265 seconds) 2014-10-18T18:32:18Z Perkol joined #lisp 2014-10-18T18:32:33Z Perkol: how do i load file in clisp? 2014-10-18T18:32:48Z Grue`: (load "file.lisp") 2014-10-18T18:34:00Z fantazo quit (Quit: Verlassend) 2014-10-18T18:34:25Z zygentoma quit (Ping timeout: 260 seconds) 2014-10-18T18:35:51Z protist quit (Ping timeout: 258 seconds) 2014-10-18T18:36:30Z vaporatorius joined #lisp 2014-10-18T18:36:57Z Qudit2 quit (Remote host closed the connection) 2014-10-18T18:37:37Z Grue` quit (Ping timeout: 260 seconds) 2014-10-18T18:39:19Z zacharias joined #lisp 2014-10-18T18:40:56Z psykotron joined #lisp 2014-10-18T18:41:15Z ndrei joined #lisp 2014-10-18T18:42:22Z defaultxr joined #lisp 2014-10-18T18:43:04Z Patzy quit (Remote host closed the connection) 2014-10-18T18:43:13Z Patzy joined #lisp 2014-10-18T18:43:27Z beach: Perkol: And the good news is that it's not particular to CLISP; it's the same in all Common Lisp implementations. 2014-10-18T18:43:53Z beach left #lisp 2014-10-18T18:44:08Z zickzackv quit (Ping timeout: 250 seconds) 2014-10-18T18:45:51Z Grue` joined #lisp 2014-10-18T18:46:57Z kuzy000_ joined #lisp 2014-10-18T18:50:28Z ggole quit 2014-10-18T18:53:39Z svetlyak40wt quit (Remote host closed the connection) 2014-10-18T18:55:17Z hiroakip quit (Ping timeout: 245 seconds) 2014-10-18T18:55:33Z innertracks quit (Ping timeout: 255 seconds) 2014-10-18T18:59:14Z billitch joined #lisp 2014-10-18T18:59:25Z kuzy000_ quit (Remote host closed the connection) 2014-10-18T19:01:29Z tali713 quit (*.net *.split) 2014-10-18T19:01:29Z cibs quit (*.net *.split) 2014-10-18T19:02:11Z tali713 joined #lisp 2014-10-18T19:04:28Z c107 joined #lisp 2014-10-18T19:05:40Z innertracks joined #lisp 2014-10-18T19:06:48Z mcc joined #lisp 2014-10-18T19:06:48Z cibs joined #lisp 2014-10-18T19:07:06Z Qudit2 joined #lisp 2014-10-18T19:10:04Z gabriel_laddel quit (Remote host closed the connection) 2014-10-18T19:12:31Z Clarice joined #lisp 2014-10-18T19:16:15Z jhao quit (Ping timeout: 255 seconds) 2014-10-18T19:16:57Z attila_lendvai joined #lisp 2014-10-18T19:17:00Z attila_lendvai quit (Changing host) 2014-10-18T19:17:00Z attila_lendvai joined #lisp 2014-10-18T19:17:01Z pt1 joined #lisp 2014-10-18T19:19:59Z Ven joined #lisp 2014-10-18T19:24:01Z svetlyak40wt joined #lisp 2014-10-18T19:24:05Z svetlyak40wt quit (Read error: Connection reset by peer) 2014-10-18T19:28:32Z stassats joined #lisp 2014-10-18T19:30:09Z lambda joined #lisp 2014-10-18T19:30:40Z byte48 quit (Ping timeout: 258 seconds) 2014-10-18T19:31:02Z pt1 quit (Read error: Connection reset by peer) 2014-10-18T19:31:07Z pt1_ joined #lisp 2014-10-18T19:31:08Z nug700 joined #lisp 2014-10-18T19:33:14Z malpas joined #lisp 2014-10-18T19:33:29Z malpas is now known as aleamb 2014-10-18T19:34:20Z pavelpenev joined #lisp 2014-10-18T19:41:27Z ndrei quit (Ping timeout: 246 seconds) 2014-10-18T19:44:49Z easye joined #lisp 2014-10-18T19:47:55Z skbierm quit (Remote host closed the connection) 2014-10-18T19:52:04Z pt1_ quit (Read error: Connection reset by peer) 2014-10-18T19:52:22Z pt1 joined #lisp 2014-10-18T19:56:51Z Karl_Dscc quit (Remote host closed the connection) 2014-10-18T19:57:00Z pt1 quit (Read error: Connection reset by peer) 2014-10-18T19:57:05Z pt1_ joined #lisp 2014-10-18T19:57:51Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-10-18T19:59:41Z Shinmera joined #lisp 2014-10-18T20:00:11Z sheilong joined #lisp 2014-10-18T20:02:13Z Qudit2 quit (Remote host closed the connection) 2014-10-18T20:03:45Z Bicyclidine joined #lisp 2014-10-18T20:08:33Z ered quit (Quit: Leaving) 2014-10-18T20:12:28Z jhao joined #lisp 2014-10-18T20:12:57Z jkaye joined #lisp 2014-10-18T20:14:02Z ered joined #lisp 2014-10-18T20:14:30Z aynik quit (Quit: everything will be ok at the end, and if is not ok, is not the end) 2014-10-18T20:15:18Z pt1_ quit (Read error: Connection reset by peer) 2014-10-18T20:15:47Z pt1 joined #lisp 2014-10-18T20:17:26Z jkaye quit (Ping timeout: 258 seconds) 2014-10-18T20:17:50Z Perkol quit (Quit: Leaving) 2014-10-18T20:18:07Z Nizumzen joined #lisp 2014-10-18T20:18:28Z easye quit (Read error: Connection reset by peer) 2014-10-18T20:18:34Z easye` joined #lisp 2014-10-18T20:19:12Z vlnx joined #lisp 2014-10-18T20:21:57Z shka quit (Quit: WeeChat 1.0.1) 2014-10-18T20:27:16Z gravicappa quit (Remote host closed the connection) 2014-10-18T20:28:41Z sabalaba_ joined #lisp 2014-10-18T20:29:11Z rme quit (Quit: rme) 2014-10-18T20:29:12Z rme quit (Quit: rme) 2014-10-18T20:30:37Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-18T20:31:10Z moore33 agonizes over changing the fill column to 98. 2014-10-18T20:31:11Z Adlai: is there a way to prevent the printer from using exponential notation? 2014-10-18T20:31:31Z Longlius joined #lisp 2014-10-18T20:32:12Z cpt_nemo joined #lisp 2014-10-18T20:32:16Z moore33: clhs format 2014-10-18T20:32:16Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_format.htm 2014-10-18T20:33:36Z pt1_ joined #lisp 2014-10-18T20:34:10Z moore33: Adlai: ~f in format basically can be used to exclude exponential notation. 2014-10-18T20:34:23Z moore33: But I don't think you can do that with good old prin1. 2014-10-18T20:35:15Z Adlai plays a bit with it 2014-10-18T20:36:19Z pt1 quit (Ping timeout: 272 seconds) 2014-10-18T20:37:09Z easye` quit (Ping timeout: 260 seconds) 2014-10-18T20:39:13Z pt1 joined #lisp 2014-10-18T20:40:05Z pt1__ joined #lisp 2014-10-18T20:41:29Z stassats quit (Ping timeout: 245 seconds) 2014-10-18T20:43:08Z pt1_ quit (Ping timeout: 260 seconds) 2014-10-18T20:43:41Z pt1 quit (Ping timeout: 260 seconds) 2014-10-18T20:43:54Z pt1 joined #lisp 2014-10-18T20:44:05Z pt1 quit (Remote host closed the connection) 2014-10-18T20:46:36Z antonv joined #lisp 2014-10-18T20:46:43Z psy_ joined #lisp 2014-10-18T20:46:52Z pt1 joined #lisp 2014-10-18T20:46:52Z pt1 quit (Remote host closed the connection) 2014-10-18T20:47:20Z pt1__ quit (Ping timeout: 258 seconds) 2014-10-18T20:47:21Z Clarice is now known as kristof 2014-10-18T20:50:47Z jcp joined #lisp 2014-10-18T20:50:50Z jcp is now known as Guest8323 2014-10-18T20:51:11Z Kruppe quit (Read error: Connection reset by peer) 2014-10-18T20:52:44Z innertracks quit (Quit: innertracks) 2014-10-18T20:55:18Z Guest8323 is now known as Kruppe 2014-10-18T20:57:47Z kristof quit (Ping timeout: 245 seconds) 2014-10-18T20:59:44Z psykotron quit (Quit: Connection closed for inactivity) 2014-10-18T21:01:07Z jtza8 quit (Ping timeout: 245 seconds) 2014-10-18T21:02:30Z angavrilov quit (Remote host closed the connection) 2014-10-18T21:06:42Z bcoburn joined #lisp 2014-10-18T21:07:55Z Longlius quit (Ping timeout: 265 seconds) 2014-10-18T21:10:31Z tadni joined #lisp 2014-10-18T21:11:15Z lambda quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-18T21:11:27Z innertracks joined #lisp 2014-10-18T21:14:45Z dagnachew joined #lisp 2014-10-18T21:14:54Z jtza8 joined #lisp 2014-10-18T21:17:22Z tadni quit (Ping timeout: 240 seconds) 2014-10-18T21:17:30Z dagnachew quit (Client Quit) 2014-10-18T21:17:57Z dagnachew joined #lisp 2014-10-18T21:17:57Z tadni joined #lisp 2014-10-18T21:18:51Z innertracks quit (Quit: innertracks) 2014-10-18T21:24:33Z Lefeni quit (Quit: Leaving) 2014-10-18T21:24:51Z enikesha quit (Ping timeout: 264 seconds) 2014-10-18T21:26:54Z innertracks joined #lisp 2014-10-18T21:29:46Z sz0 quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-18T21:30:49Z pt1 joined #lisp 2014-10-18T21:31:01Z innertracks quit (Client Quit) 2014-10-18T21:34:04Z pt1 quit (Remote host closed the connection) 2014-10-18T21:41:33Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-18T21:41:40Z cpt_nemo joined #lisp 2014-10-18T21:42:22Z RenRenJuan quit (Quit: Leaving) 2014-10-18T21:43:37Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-10-18T21:47:07Z ofosos joined #lisp 2014-10-18T21:47:46Z billitch quit (Ping timeout: 260 seconds) 2014-10-18T21:48:26Z schaueho quit (Ping timeout: 240 seconds) 2014-10-18T21:49:10Z jhao quit (Ping timeout: 255 seconds) 2014-10-18T21:49:45Z JuanDaugherty joined #lisp 2014-10-18T21:50:11Z pjb: moore33: here 2¢, go buy yourself a 132-column line printer. 2014-10-18T21:50:53Z jtza8 quit (Remote host closed the connection) 2014-10-18T21:52:06Z Jesin quit (Quit: Leaving) 2014-10-18T21:54:58Z sheilong quit (Quit: Konversation terminated!) 2014-10-18T21:55:30Z Nizumzen quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-18T21:55:34Z Jesin joined #lisp 2014-10-18T21:56:12Z rx14 quit (Ping timeout: 246 seconds) 2014-10-18T21:59:24Z Nilly joined #lisp 2014-10-18T22:06:32Z meiji11 joined #lisp 2014-10-18T22:06:32Z fisxoj joined #lisp 2014-10-18T22:06:33Z klltkr joined #lisp 2014-10-18T22:07:19Z hiroakip joined #lisp 2014-10-18T22:10:15Z Beetny joined #lisp 2014-10-18T22:14:03Z MoALTz_ joined #lisp 2014-10-18T22:16:28Z stepnem quit (Ping timeout: 260 seconds) 2014-10-18T22:17:39Z MoALTz quit (Ping timeout: 272 seconds) 2014-10-18T22:19:06Z jhao joined #lisp 2014-10-18T22:19:29Z pillton joined #lisp 2014-10-18T22:23:15Z specbot quit (Remote host closed the connection) 2014-10-18T22:23:15Z minion quit (Remote host closed the connection) 2014-10-18T22:30:22Z sabalaba_ quit (Remote host closed the connection) 2014-10-18T22:33:15Z specbot joined #lisp 2014-10-18T22:33:16Z minion joined #lisp 2014-10-18T22:34:02Z EvW quit (Remote host closed the connection) 2014-10-18T22:34:12Z EvW joined #lisp 2014-10-18T22:38:10Z moore33: pjb: You can buy me a 132 column tablet. 2014-10-18T22:52:01Z cpt_nemo quit (Ping timeout: 260 seconds) 2014-10-18T22:52:08Z cpt_nemo joined #lisp 2014-10-18T22:52:59Z Nizumzen joined #lisp 2014-10-18T22:53:44Z kcj joined #lisp 2014-10-18T22:56:08Z svetlyak40wt joined #lisp 2014-10-18T22:57:14Z wizzo quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-18T22:59:34Z EvW quit (Ping timeout: 265 seconds) 2014-10-18T23:00:48Z QualityAddict quit (Ping timeout: 255 seconds) 2014-10-18T23:00:52Z jhao quit (Remote host closed the connection) 2014-10-18T23:01:01Z vaporatorius quit (Remote host closed the connection) 2014-10-18T23:04:23Z svetlyak40wt quit (Ping timeout: 244 seconds) 2014-10-18T23:05:31Z nyef joined #lisp 2014-10-18T23:06:14Z castillo joined #lisp 2014-10-18T23:06:22Z nyef: Good evening all. 2014-10-18T23:06:34Z ack006: Good evening :-) 2014-10-18T23:06:40Z castillo is now known as gmcastil 2014-10-18T23:08:11Z QualityAddict joined #lisp 2014-10-18T23:09:11Z QualityAddict quit (Read error: Connection reset by peer) 2014-10-18T23:09:37Z QualityAddict joined #lisp 2014-10-18T23:10:15Z QualityAddict quit (Read error: Connection reset by peer) 2014-10-18T23:10:41Z wilfredh quit (Quit: Connection closed for inactivity) 2014-10-18T23:11:50Z QualityAddict joined #lisp 2014-10-18T23:11:52Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-18T23:11:59Z pavelpenev quit (Remote host closed the connection) 2014-10-18T23:12:06Z ehu quit (Ping timeout: 240 seconds) 2014-10-18T23:12:33Z hiroakip quit (Ping timeout: 260 seconds) 2014-10-18T23:13:14Z urandom__ quit (Quit: Konversation terminated!) 2014-10-18T23:14:58Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-10-18T23:15:16Z ovenpasta quit (Ping timeout: 260 seconds) 2014-10-18T23:16:18Z jhao joined #lisp 2014-10-18T23:20:37Z kpreid joined #lisp 2014-10-18T23:21:23Z mishoo quit (Ping timeout: 240 seconds) 2014-10-18T23:28:30Z pjb: moore33: use a smaller font ;-) 2014-10-18T23:29:16Z JuanDaugherty: yello, nyef, ack006 2014-10-18T23:29:18Z pjb: but if you're programming on a tablet, it should be easy and ergonomic enough to swipe to read long lines. 2014-10-18T23:29:43Z ack006: hi JuanDaugherty 2014-10-18T23:29:50Z pjb: moore33: you probably have a gestures based editor so you already have your fingers on the tablet, no? 2014-10-18T23:30:49Z moore33: I'm not really programming on the tablet, more writing on the tablet (on the bus). 2014-10-18T23:31:38Z moore33: And I don't want to build my whole coding experience around the tablet, as that is obviously secondary. 2014-10-18T23:31:44Z moore33: But it is something to consider. 2014-10-18T23:32:21Z moore33: I know the Google style recommendation is for 100 characters width, but I'm not sure that I find it readable. Will have to experiment. 2014-10-18T23:35:38Z nha_ joined #lisp 2014-10-18T23:36:47Z jhao quit (Ping timeout: 265 seconds) 2014-10-18T23:37:43Z jhao joined #lisp 2014-10-18T23:38:43Z nha quit (Ping timeout: 272 seconds) 2014-10-18T23:39:07Z innertracks joined #lisp 2014-10-18T23:40:55Z clop2 joined #lisp 2014-10-18T23:41:24Z stanislav joined #lisp 2014-10-18T23:41:31Z pjb: moore33: nowadays, half-screen width is my unit. Of course, it's a variable number of character per line, depending on the screen, and on the font currently used. Hey! Apple introduced a 14 Mpixel screen! 2014-10-18T23:42:01Z nyef is SO looking forward to having a retina display computer. 2014-10-18T23:42:24Z rme joined #lisp 2014-10-18T23:43:34Z attila_lendvai quit (Quit: Leaving.) 2014-10-18T23:44:43Z moore33: pjb: I agree that half screen width is a good criteria. However, I don't think the pixel resolution is that important; if the font is too small, it's too small. 2014-10-18T23:45:37Z nyef: If the font is too small, hold the tablet closer to your face? 2014-10-18T23:45:52Z moore33: Very ergonomic. 2014-10-18T23:46:01Z nyef: Yeah, about what I figured. (-: 2014-10-18T23:48:07Z nyef: How about 2x magnifying glasses instead? 2014-10-18T23:48:51Z sabalaba_ joined #lisp 2014-10-18T23:49:29Z moore33: I'm waiting for a tablet with an optic element like a collimating mirror to give the illusion of much greater surface area. 2014-10-18T23:50:18Z ack006: put a smartphone in a pair of ski goggles with lenses to correct viewing distance, instant diy oculus rift :-) 2014-10-18T23:50:49Z ack006: been done before, by several makers 2014-10-18T23:51:13Z pjb: moore33: there are already tablets that correct for your eyes. 2014-10-18T23:51:25Z moore33: pjb:Oh? 2014-10-18T23:51:29Z slyrus: nyef: I have to say the 4k monitor i got the other day is pretty awesome! 2014-10-18T23:51:32Z pjb: moore33: http://tailoreddisplays.com 2014-10-18T23:51:46Z moore33: ack006: Where do I swipe/touch the "screen?" 2014-10-18T23:52:29Z Xach: moore33: stick your finger in your eye 2014-10-18T23:52:30Z nyef: pjb: Oh, sweet. 2014-10-18T23:52:42Z Xach: moore33: or interact via a joystick in your ear 2014-10-18T23:52:47Z pjb: Somebody said optics were done, but great optical applications remain to be developed. 2014-10-18T23:52:51Z ack006: moore33: you usually don't, i.e. you move your head, but i guess you could hook up gesture detection with cv 2014-10-18T23:53:09Z ack006: using the back camera if it can focus nearby enough 2014-10-18T23:54:07Z nyef: pjb: Could this also deliver different images to each eye, giving an effective 3d display as well? 2014-10-18T23:54:17Z nyef: ... Oh. It'd HAVE to give different images to each eye... 2014-10-18T23:54:27Z pjb: Definitely. 3D screen already exist (notably for phones and small tablets). 2014-10-18T23:54:28Z moore33: pjb:That's pretty interesting, though I don't feel a compelling desire to take my glasses off to use my tablet. 2014-10-18T23:54:39Z pjb: But for some reason I can't understand, they're not commercialized. 2014-10-18T23:54:46Z fisxoj quit (Quit: fisxoj) 2014-10-18T23:55:16Z pjb: moore33: well given that I spend about 100% of my awake time in front of screens, if they had all this technology, I could live without glasses :-) 2014-10-18T23:55:37Z nyef: The only place I'm aware of seeing a 3d screen that doesn't require viewing glasses is in the Nintendo 3DS. 2014-10-18T23:55:38Z ack006: pjb: :-) 2014-10-18T23:56:11Z pjb: I heard a few years ago that gsm operators were testing 3D phones, but nothing since. 2014-10-18T23:56:31Z pjb: I assume they encountered some problem, like, they couldn't find a way to extract money from it. 2014-10-18T23:56:43Z nyef: Now that's a problem that I can believe. 2014-10-18T23:57:00Z nyef: After all, what's the killer app? 2014-10-18T23:57:05Z sabalaba_ quit (Remote host closed the connection) 2014-10-18T23:58:54Z Nizumzen quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-18T23:59:01Z fisxoj joined #lisp