2014-12-08T00:00:11Z cibs quit (Ping timeout: 272 seconds) 2014-12-08T00:00:34Z munksgaard quit (Ping timeout: 244 seconds) 2014-12-08T00:00:41Z corni quit (Ping timeout: 260 seconds) 2014-12-08T00:03:37Z ehu quit (Ping timeout: 240 seconds) 2014-12-08T00:07:33Z zRecursive: clhs shiftf 2014-12-08T00:07:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_shiftf.htm 2014-12-08T00:08:27Z rivrkeepr quit (Read error: Connection reset by peer) 2014-12-08T00:08:43Z chu joined #lisp 2014-12-08T00:09:09Z rivrkeepr joined #lisp 2014-12-08T00:10:23Z EvW quit (Ping timeout: 244 seconds) 2014-12-08T00:13:09Z JokerDoom joined #lisp 2014-12-08T00:13:26Z pnpuff joined #lisp 2014-12-08T00:14:06Z nikki93_ joined #lisp 2014-12-08T00:18:10Z blahzik quit (Quit: blahzik) 2014-12-08T00:19:10Z pnpuff left #lisp 2014-12-08T00:20:18Z psilord_bot joined #lisp 2014-12-08T00:20:30Z urandom__ quit (Quit: Konversation terminated!) 2014-12-08T00:21:53Z pnpuff joined #lisp 2014-12-08T00:22:39Z psilord_bot quit (Remote host closed the connection) 2014-12-08T00:23:23Z Quadrescence joined #lisp 2014-12-08T00:27:40Z pnpuff left #lisp 2014-12-08T00:27:40Z billstclair joined #lisp 2014-12-08T00:29:10Z klltkr_ joined #lisp 2014-12-08T00:33:14Z resttime joined #lisp 2014-12-08T00:33:32Z goglosh joined #lisp 2014-12-08T00:37:10Z goglosh: I'm curious 2014-12-08T00:37:11Z flaggy joined #lisp 2014-12-08T00:37:24Z goglosh: what kind of things do you usually code in lisp? 2014-12-08T00:37:31Z resttime quit (Client Quit) 2014-12-08T00:38:39Z drewc: goglosh: usually electronic computer programs... but that seems to be changing for me. 2014-12-08T00:38:57Z goglosh: electronic computer humm 2014-12-08T00:39:01Z goglosh: sounds esoteric 2014-12-08T00:39:42Z goglosh: sounds like electricity-dependant lambda calculus 2014-12-08T00:40:05Z goglosh: why would you ever do that? 2014-12-08T00:40:08Z drewc: indeed. 100 years ago computers were biological. 2014-12-08T00:41:46Z drewc: Well, I think that most people who use computers have and own electronic computers, so in that sense I like programming for them. 2014-12-08T00:43:59Z goglosh: well the future is coming 2014-12-08T00:44:23Z goglosh: you'll have to get used to programming blood nanobots 2014-12-08T00:46:48Z drewc: If you think that is where the future of technology is going to lead, more power to you. CL is a decent language for such things I suppose. 2014-12-08T00:47:25Z Quadrescence quit (Read error: Connection reset by peer) 2014-12-08T00:50:34Z robot-beethoven joined #lisp 2014-12-08T00:54:07Z goglosh: yeah actually 2014-12-08T00:54:24Z goglosh: more so han state machine langs at least 2014-12-08T00:55:53Z Quadrescence joined #lisp 2014-12-08T00:58:39Z flaggy quit (Ping timeout: 244 seconds) 2014-12-08T00:58:58Z Quadrescence quit (Read error: Connection reset by peer) 2014-12-08T01:00:16Z Petit_Dejeuner_: Real computer viruses. 2014-12-08T01:04:00Z adlai: https://en.wikipedia.org/wiki/Ophiocordyceps_unilateralis 2014-12-08T01:04:07Z JokerDoom quit (Quit: Leaving) 2014-12-08T01:04:22Z JokerDoom joined #lisp 2014-12-08T01:05:28Z blahzik joined #lisp 2014-12-08T01:05:29Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-08T01:06:07Z resttime joined #lisp 2014-12-08T01:06:34Z Quadrescence joined #lisp 2014-12-08T01:08:46Z stepnem quit (Ping timeout: 244 seconds) 2014-12-08T01:08:49Z adlai: any existing idiom to cope with this pattern? https://github.com/adlai/scalpl/blob/master/qd.lisp#L261-L266 2014-12-08T01:09:37Z adlai: ie, DO variables that are initialized and stepped by the same form. like the LOOP for-equals clause 2014-12-08T01:10:16Z adlai: http://www.lispworks.com/documentation/HyperSpec/Body/06_abad.htm 2014-12-08T01:12:22Z jumblerg joined #lisp 2014-12-08T01:13:44Z towodo joined #lisp 2014-12-08T01:16:48Z chitofan joined #lisp 2014-12-08T01:17:58Z wilfredh quit (Quit: Connection closed for inactivity) 2014-12-08T01:18:24Z flaggy joined #lisp 2014-12-08T01:18:55Z petrutrimbitas quit (Quit: petrutrimbitas) 2014-12-08T01:21:00Z Quadrescence: adlai, is that your project? looks interesting 2014-12-08T01:21:35Z adlai: aha 2014-12-08T01:22:28Z lyanchih_ joined #lisp 2014-12-08T01:22:43Z adlai is always open to discuss it, that's why it's on github 2014-12-08T01:22:48Z gabriel-artigue quit (Remote host closed the connection) 2014-12-08T01:22:50Z nikki93_ quit (Remote host closed the connection) 2014-12-08T01:25:00Z honkfestival quit (Remote host closed the connection) 2014-12-08T01:28:58Z Quadrescence: adlai, I don't know a lot about finance but I hope to do more, and I especially hope to do some programming with it 2014-12-08T01:29:58Z adlai: that's fine, me neither! 2014-12-08T01:32:04Z dagnachew quit (Quit: WeeChat 1.0.1) 2014-12-08T01:34:31Z towodo quit (Quit: towodo) 2014-12-08T01:35:30Z goglosh left #lisp 2014-12-08T01:38:06Z chitofan quit (Quit: Page closed) 2014-12-08T01:41:50Z rx_ joined #lisp 2014-12-08T01:43:01Z towodo joined #lisp 2014-12-08T01:49:07Z honkfestival joined #lisp 2014-12-08T01:49:17Z drewc quit (Ping timeout: 244 seconds) 2014-12-08T01:51:02Z echo-area joined #lisp 2014-12-08T01:51:15Z rx_ quit (Read error: Connection reset by peer) 2014-12-08T01:51:48Z towodo quit (Quit: towodo) 2014-12-08T01:52:22Z flaggy quit (Ping timeout: 245 seconds) 2014-12-08T01:54:37Z JamesNZ joined #lisp 2014-12-08T01:55:54Z Karl_Dscc quit (Remote host closed the connection) 2014-12-08T01:58:06Z Hydan is now known as Hydan` 2014-12-08T01:58:32Z rx_ joined #lisp 2014-12-08T01:59:49Z rx_ quit (Client Quit) 2014-12-08T01:59:55Z towodo joined #lisp 2014-12-08T01:59:59Z kristof joined #lisp 2014-12-08T02:00:24Z blahzik quit (Quit: blahzik) 2014-12-08T02:01:22Z vaporatorius quit (Remote host closed the connection) 2014-12-08T02:15:45Z towodo quit (Quit: towodo) 2014-12-08T02:16:57Z blahzik joined #lisp 2014-12-08T02:17:35Z towodo joined #lisp 2014-12-08T02:23:18Z towodo quit (Quit: towodo) 2014-12-08T02:24:52Z drewc joined #lisp 2014-12-08T02:26:01Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-08T02:28:36Z frkout_ joined #lisp 2014-12-08T02:29:00Z adlai: Quadrescence: if you want to learn about scalpl starting from the deep end, make sense of my latest commit: (declare (optimize (debug 3))) 2014-12-08T02:29:21Z adlai: pastefail... https://github.com/adlai/scalpl/commit/ea3b89e?diff=unified 2014-12-08T02:31:37Z Quadrescence: adlai, this does not make a lot of sense to me 2014-12-08T02:31:57Z frkout quit (Ping timeout: 244 seconds) 2014-12-08T02:32:04Z Quadrescence: except that it conses a lot 2014-12-08T02:33:11Z adlai: (sb-ext:gc :full t) takes RES from 111 to 79, back over 100 within seconds 2014-12-08T02:34:01Z Quadrescence: :) 2014-12-08T02:34:14Z JokerDoomWork joined #lisp 2014-12-08T02:35:17Z Quadrescence: adlai, do I see floats with money 2014-12-08T02:35:45Z adlai: yes, but in fewer places as time goes on 2014-12-08T02:36:10Z Quadrescence: that should be considered a bug 2014-12-08T02:36:20Z Quadrescence: unless you're just doing some statistics 2014-12-08T02:37:10Z adlai: most of this code isn't doing accounting. yes, you could say it's statistics, which are used to (heuristically, ie it's not optimal) calculate orders to place on the exchange 2014-12-08T02:37:30Z Quadrescence: okay that's not so bad 2014-12-08T02:38:06Z adlai: in my defense, this code is more precise than the APIs it deals with 2014-12-08T02:38:48Z Quadrescence: [my internet will shut off when i am below 30k ft. if i disappear, it's not because i'm rude :)] 2014-12-08T02:39:09Z _JokerDoomWork joined #lisp 2014-12-08T02:39:17Z adlai: ahh yes. there's some paul graham bit about this... 2014-12-08T02:40:01Z kristof: That's a bizarre altitude to have internet at. Are you an astronaut/sherpa? 2014-12-08T02:40:44Z BitPuffin quit (Read error: Connection reset by peer) 2014-12-08T02:40:47Z Quadrescence: no I am on an airplane 2014-12-08T02:40:54Z kristof: Oh right 2014-12-08T02:42:12Z JokerDoomWork quit (Ping timeout: 265 seconds) 2014-12-08T02:42:15Z Quadrescence: okay i guess i should go now. ttyl 2014-12-08T02:42:18Z Quadrescence quit (Quit: Leaving) 2014-12-08T02:43:04Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-08T02:43:17Z AntiSpamMeta joined #lisp 2014-12-08T02:44:33Z |3b| quit (Ping timeout: 258 seconds) 2014-12-08T02:47:44Z klltkr_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-12-08T02:52:10Z |3b| joined #lisp 2014-12-08T02:52:57Z tadni` joined #lisp 2014-12-08T02:59:10Z _JokerDoomWork quit (Read error: No route to host) 2014-12-08T02:59:21Z JokerDoomWork joined #lisp 2014-12-08T03:00:34Z blahzik quit (Quit: blahzik) 2014-12-08T03:01:14Z beach joined #lisp 2014-12-08T03:01:28Z beach: Good morning everyone! 2014-12-08T03:04:21Z ryankarason joined #lisp 2014-12-08T03:04:55Z tadni`: beach: o/ 2014-12-08T03:05:25Z towodo joined #lisp 2014-12-08T03:07:13Z adlai: morning 2014-12-08T03:08:54Z vinleod joined #lisp 2014-12-08T03:09:17Z guawoo joined #lisp 2014-12-08T03:10:03Z towodo quit (Client Quit) 2014-12-08T03:10:48Z guawoo left #lisp 2014-12-08T03:11:48Z JokerDoomWork quit (Read error: No route to host) 2014-12-08T03:12:07Z JokerDoomWork joined #lisp 2014-12-08T03:13:05Z nhanH is now known as NhanH 2014-12-08T03:13:10Z NhanH is now known as nhanH 2014-12-08T03:13:15Z nhanH is now known as NhanH 2014-12-08T03:13:56Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-08T03:14:30Z jusss joined #lisp 2014-12-08T03:15:45Z drmeister: Good morning beach. 2014-12-08T03:18:27Z drmeister: You might want to read my emails in reverse order of how they arrived. 2014-12-08T03:21:29Z beach: I know. I am answering them anyway. 2014-12-08T03:21:39Z Petit_Dejeuner_ is now known as Petit_Dejeuner 2014-12-08T03:21:41Z yrdz``` joined #lisp 2014-12-08T03:21:41Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-08T03:22:38Z drmeister: What do you think of a (declare (function-name FOO)) or (declare (function-name (setf FOO))). I still don't understand why SBCL and ECL went and modified FUNCTION to support NAMED-LAMBDA and LAMBDA-BLOCK respectively rather than using a declare expression. 2014-12-08T03:23:09Z yrdz`` quit (Ping timeout: 245 seconds) 2014-12-08T03:23:42Z beach: That looks like a conforming solution. 2014-12-08T03:24:18Z beach: And if you do that, I will have to rush to handle the DECLARATION declaration specifier, which I don't right now :) 2014-12-08T03:24:23Z JokerDoomWork quit (Read error: No route to host) 2014-12-08T03:24:25Z _JokerDoomWork joined #lisp 2014-12-08T03:25:20Z beach: drmeister: Can you summarize in a few words what problem you are trying to solve? 2014-12-08T03:26:26Z drmeister: In idiomatic Common Lisp function objects returned by FUNCTION don't have their names attached to them. Is that correct? 2014-12-08T03:27:34Z beach: drmeister: I think that's true. 2014-12-08T03:27:56Z beach: I am not quite awake yet, so a bit hard to think still. 2014-12-08T03:28:37Z drmeister: To deal with this SBCL and ECL appear to have modified their FUNCTION special operators to accept (FUNCTION (NAMED-LAMBDA _name_ (...) ...)) and (FUNCTION (LAMBDA-BLOCK _name_ (...) ...)) in SBCL and ECL respectively. 2014-12-08T03:28:44Z beach: The name of a function is part of the environment. If you do it the traditional way, the name is the symbol that contains the function in its function-cell. 2014-12-08T03:29:08Z drmeister: I think they do this because it's a quick way to create the function and give it a name in one operation. 2014-12-08T03:29:13Z beach: What do you need the name of a function for? 2014-12-08T03:29:24Z drmeister: Only debugging and backtraces. 2014-12-08T03:29:32Z drmeister: backtraces. 2014-12-08T03:29:52Z beach: You mean looking at those backtraces manually? 2014-12-08T03:29:59Z frkout_ quit (Read error: Connection reset by peer) 2014-12-08T03:30:02Z beach: I don't personally do that anymore. 2014-12-08T03:30:05Z frkout joined #lisp 2014-12-08T03:30:07Z drmeister: I saw your email where you said you didn't feel that it was necessary if the source information was available. 2014-12-08T03:30:10Z beach: I hit `v' in SLIME and look at the source. 2014-12-08T03:30:17Z drmeister: Yes, looking at backtraces manually. 2014-12-08T03:30:42Z drmeister: (sigh) I look at a lot of backtraces. Maybe it's just me then. 2014-12-08T03:30:45Z beach: I guess this is why I haven't felt that it is a problem that requires a solution in SICL. 2014-12-08T03:30:51Z kristof quit (Ping timeout: 244 seconds) 2014-12-08T03:31:13Z drmeister: When you deal with bootstrapping you end up looking at backtraces a lot. 2014-12-08T03:31:14Z stardiviner joined #lisp 2014-12-08T03:31:20Z beach: But Cleavir can be extended, so each implementation can have specific stuff in there. 2014-12-08T03:31:36Z vowyer_ joined #lisp 2014-12-08T03:31:39Z drmeister: Sure, but modifying FUNCTION broke Cleavir. 2014-12-08T03:31:41Z beach: Sure, I may change my mind. 2014-12-08T03:31:47Z drmeister: Or no not broke cleavir 2014-12-08T03:31:48Z drmeister: sorry 2014-12-08T03:31:54Z drmeister: That's not what I meant to say. 2014-12-08T03:32:05Z beach: drmeister: You can extend Cleavir to handle new special operators. 2014-12-08T03:32:09Z beach: It is meant for that. 2014-12-08T03:32:34Z drmeister: But can/should we extend FUNCTION to handle named-lambda or lambda-block? 2014-12-08T03:32:42Z beach: The rule about code walkers exists only so that they can know what is a form and what is not. 2014-12-08T03:33:23Z drmeister: Because I spent a couple of days ripping every (lambda-block FOO (...) ...) out of the ECL source code and converting them to (lambda (...) (BLOCK FOO ...)) 2014-12-08T03:33:30Z beach: Hard for me to say at this point. I am just saying that you can extend Cleavir to do it if you want. 2014-12-08T03:33:43Z drmeister: I don't want to now. 2014-12-08T03:33:57Z beach: drmeister: I see yes. And I remember when you did that. 2014-12-08T03:34:26Z drmeister: But after I ripped out all of the lambda-blocks so that the code would work with Cleavir my backtraces became much less interpretable because all of the function names were gone and replaced with LAMBDA. 2014-12-08T03:34:45Z beach: I understand. 2014-12-08T03:34:47Z drmeister: Right. I feel like I've been eating crazy pills today talking to people about it. 2014-12-08T03:35:36Z beach: Next time you find something like that in ECL, remember that Cleavir was meant to be extended, so you don't *need* to change ECL or Clasp. 2014-12-08T03:35:50Z drmeister: Here I'm faced with two major implementations extending their FUNCTION special operators in a way that breaks code-walkers. When I look it up named-lambda or lambda-block on the web I get lots of people talking about how it breaks code walkers. 2014-12-08T03:36:13Z beach: Yes, so I understand. 2014-12-08T03:36:38Z drmeister: Well, I discussed this with you and it seemed like a good idea to everyone I talked to at the time. 2014-12-08T03:36:43Z beach: So why don't these implementation do the following: 2014-12-08T03:36:54Z drmeister: To replace lambda-block with lambda. 2014-12-08T03:36:55Z beach: They handle the new special operator themselves. 2014-12-08T03:37:07Z beach: They provide a macro that expands into normal lambda. 2014-12-08T03:37:14Z drmeister: That doesn't work. 2014-12-08T03:37:24Z beach: OK, why? 2014-12-08T03:37:27Z drmeister: Because it's in the argument to FUNCTION 2014-12-08T03:37:34Z drmeister: FUNCTION doesn't expand macros. 2014-12-08T03:37:46Z beach: Oh, right. 2014-12-08T03:37:58Z beach: They would have to introduce a different special operator. 2014-12-08T03:38:13Z drmeister: #'(lambda-block FOO (...) ...) is not valid Common Lisp. It can not be made to be valid Common Lisp by any macro-ology 2014-12-08T03:38:27Z beach: Yes, yes, I remember now. 2014-12-08T03:38:46Z beach: It would have to be (NAMED-FUNCTION (LAMBDA (...) ...)) 2014-12-08T03:38:46Z frkout quit (Read error: Connection reset by peer) 2014-12-08T03:38:55Z drmeister: Yes. 2014-12-08T03:39:06Z frkout joined #lisp 2014-12-08T03:39:25Z drmeister: The choice they (SBCL, ECL) made is a bit bizarre to me. 2014-12-08T03:39:50Z beach: To me too. But then, I haven't run into the problem of reading backtraces without SLIME yet. 2014-12-08T03:40:02Z drmeister: It seems that they could have added the function name in a DECLARE expression or they could have set the name of the function object after it was returned by FUNCTION. 2014-12-08T03:40:25Z beach: Sure, several other solutions exist. 2014-12-08T03:40:27Z drmeister: But they chose a route that breaks code-walkers. Weird. 2014-12-08T03:40:40Z drmeister: Maybe this is why code-walkers have a bad name. 2014-12-08T03:40:49Z drmeister: bad reputation. 2014-12-08T03:40:50Z beach: Another one would be to search the environment for a name that is attached to the function object. 2014-12-08T03:41:21Z beach: Then it would work if you do (setf (fdefinition ...) (lambda ...)) too. 2014-12-08T03:41:41Z drmeister: Right - but you could have multiple symbols for the same function. 2014-12-08T03:42:14Z beach: How is that worse than giving the function ONE name initially? 2014-12-08T03:42:15Z drmeister: I'm about to implement it using a declare (FUNCTION (lambda (...) (declare (function-name FOO)) ... )) 2014-12-08T03:42:33Z |3b|: beach: nice non-interactive backtraces are nice for pasting into bug reports 2014-12-08T03:42:57Z c53100 quit (Ping timeout: 244 seconds) 2014-12-08T03:42:58Z drmeister: |3b| Yes - that's very helpful. 2014-12-08T03:43:01Z beach: |3b|: I'll think about that one when the time comes. 2014-12-08T03:43:06Z beach: drmeister: Like I said, that seems like a good, conforming solution. 2014-12-08T03:43:16Z drmeister: Which? The declare? 2014-12-08T03:43:34Z beach: Yeah. 2014-12-08T03:44:54Z |3b| wonders if it is common to want to add/modify those names 2014-12-08T03:45:38Z drmeister: Agreed. It seems to fit well. 2014-12-08T03:45:59Z drichards: I have a q: I am calling a macro which does not evaluate it's argument. I want to generate (eval) an argument with which to call the macro. I need to do this at compile-time. Is this possible? 2014-12-08T03:47:21Z analyticd joined #lisp 2014-12-08T03:47:32Z beach: drichards: Maybe it's just that I am not awake yet, but for me to understand what you mean, you have to provide a concrete example. Maybe others understand. 2014-12-08T03:47:49Z drmeister: drichards: Concrete examples are helpful. 2014-12-08T03:48:07Z beach: drichards: Most of these questions end up being answered by "You should not have written a macro in the first place, but a function". 2014-12-08T03:49:30Z drichards: :) 2014-12-08T03:50:51Z drichards: Ok, this is UFFI code. I am tring to use def-struct where one of the members is an array i.e. (:array :char #). I have a def-constant which has the # I want. I can't see how to insert the constant into the def-struct 2014-12-08T03:50:56Z drmeister: I've gotten swank to compile and run and get to SWANK-REPL and then it hangs up in the READ. I'm having trouble debugging it because it's wrapped in a RESTART-CASE and it's redirected *standard-input* and *standard-output* - ARGH 2014-12-08T03:50:58Z drmeister: https://gist.github.com/drmeister/729308a6dad17890304b 2014-12-08T03:51:02Z beach: drmeister: I also like the declaration technique because it will force me to think about how to handle implementation-specific declarations in Cleavir. I have to do that because it is allowed by the Common Lisp HyperSpec. 2014-12-08T03:51:49Z beach: drichards: Oops sorry. I am not an FFI person. I hope others can help. 2014-12-08T03:51:50Z drmeister: Right (declaim (declaration function-name)) 2014-12-08T03:52:19Z |3b|: #. might work if your constant is defined soon enough 2014-12-08T03:52:46Z drmeister: Is stassats our resident expert in all things SLIME? 2014-12-08T03:53:04Z drichards: ok. it all compiles but I had to duplkicate a constant in a couple of places, which I dislike. 2014-12-08T03:54:27Z drmeister: Or does anyone know how I would set up something like the gray-streams/socket that slime uses to communicate with swank? 2014-12-08T03:54:41Z pnpuff joined #lisp 2014-12-08T03:55:17Z drmeister: I tested my socket code and it seems to work ok. But I haven't tested my gray-streams very much and I haven't tried using them together. 2014-12-08T03:55:39Z Saigut quit (Ping timeout: 245 seconds) 2014-12-08T03:56:46Z drichards: LOL .. socket code is what I am working on too :) 2014-12-08T03:58:38Z ivan4th: drmeister: well, you may replace again *standard-input* and *standard-output* or say *debug-io* for your debug print. and if you have problems with TCP connection you may also try to use ngrep on it to see what's going on before it breaks 2014-12-08T03:59:01Z ivan4th: sudo ngrep -W byline -d lo port 4005 2014-12-08T03:59:27Z ivan4th: (or some other port) 2014-12-08T03:59:35Z ryankarason: anyone in here using CLISP, what kinda of wrapper function can i use to respawn a thread that have crashed from program stack overflow? 2014-12-08T04:01:39Z pnpuff: drmeister: I'm still trying to build clasp... I hope I will be able to build it on EWindows 2014-12-08T04:02:02Z drmeister: ivan4th: that is very helpful - thank you. 2014-12-08T04:02:06Z analyticd quit (Quit: analyticd) 2014-12-08T04:02:27Z drmeister: pnpuff: Are you trying to build it under cygwin or Windows? 2014-12-08T04:02:33Z pnpuff: yes... 2014-12-08T04:03:01Z drmeister: pnpuff: Because Windows probably won't work. Clang under Windows doesn't support C++ exception handling. 2014-12-08T04:03:07Z drmeister: Not as of a few months ago. 2014-12-08T04:04:02Z ivan4th: drmeister: *slime-events* emacs buffer may also be of some help when debugging swank backends 2014-12-08T04:05:03Z drmeister: ivan4th: I didn't realize that was there. *slime-events*... it's full of stars! 2014-12-08T04:05:11Z drmeister: Sadly ngrep might be broken on OS X 2014-12-08T04:05:42Z ivan4th: drmeister: maybe wireshark/tshark then 2014-12-08T04:05:55Z drmeister: Yeah: lo: No such device exists (BIOCSETIF failed: Device not configured): Device not configured 2014-12-08T04:06:08Z drmeister: And the linux box I use doesn't allow me sudo access. 2014-12-08T04:06:19Z ivan4th: perhaps mac os x uses some other name for loopback interface 2014-12-08T04:06:34Z drmeister: wireshark I have 2014-12-08T04:07:05Z drmeister: ifconfig lists lo0 2014-12-08T04:07:22Z drmeister: Yeah, that doesn't fail immediately. 2014-12-08T04:08:07Z drmeister: Trying. 2014-12-08T04:08:48Z analyticd joined #lisp 2014-12-08T04:11:02Z drmeister: Yeah - swank is hanging up in the READ 2014-12-08T04:11:45Z jusss quit (Ping timeout: 260 seconds) 2014-12-08T04:11:59Z drmeister: slime is generating events but nothing is coming back. On the swank end it's going into the READ but not coming out. 2014-12-08T04:12:00Z drmeister: https://gist.github.com/drmeister/1f1ec3c8db8390432e52 2014-12-08T04:12:45Z drmeister: I think I need to create a gray stream that looks like *standard-input* and figure out why it's not coming out of READ 2014-12-08T04:14:32Z gmcastil quit (Remote host closed the connection) 2014-12-08T04:16:23Z wheelsucker quit (Quit: Client Quit) 2014-12-08T04:16:26Z vowyer_ quit (Quit: C-x C-c) 2014-12-08T04:19:13Z Vutral quit (Ping timeout: 260 seconds) 2014-12-08T04:20:40Z ASau quit (Remote host closed the connection) 2014-12-08T04:21:24Z k-dawg joined #lisp 2014-12-08T04:23:09Z ASau joined #lisp 2014-12-08T04:25:40Z _JokerDoomWork quit (Read error: No route to host) 2014-12-08T04:25:50Z JokerDoomWork joined #lisp 2014-12-08T04:26:00Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-08T04:27:23Z DrCode quit (Ping timeout: 250 seconds) 2014-12-08T04:32:54Z JokerDoomWork quit (Read error: No route to host) 2014-12-08T04:33:05Z JokerDoomWork joined #lisp 2014-12-08T04:36:45Z yeticry quit (Ping timeout: 265 seconds) 2014-12-08T04:38:23Z bgs100 quit (Quit: bgs100) 2014-12-08T04:38:37Z yeticry joined #lisp 2014-12-08T04:40:37Z beach: drmeister: I have some ideas about how to handle implementation-defined declarations. I am not sure how soon I will have a detailed specification, though. 2014-12-08T04:40:42Z JokerDoom quit (Ping timeout: 245 seconds) 2014-12-08T04:41:28Z JokerDoomWork quit (Ping timeout: 258 seconds) 2014-12-08T04:42:51Z beach: drmeister: The solution may involve modifications to the Cleavir local environment machinery. 2014-12-08T04:43:03Z drmeister: beach: No problem - I'm still sidling up to incorporating Cleavir. 2014-12-08T04:43:11Z LiamH quit (Quit: Leaving.) 2014-12-08T04:43:20Z drmeister: Local? Isn't it a global thing? 2014-12-08T04:43:41Z beach: Not necessarily. 2014-12-08T04:43:51Z stardiviner quit (Ping timeout: 250 seconds) 2014-12-08T04:44:14Z beach: The implementation can introduce its own declarations, and they may apply to lexical variables or functions. 2014-12-08T04:44:36Z beach: For instance, in your case, you might want to name a function introduced by FLET or LABELS. 2014-12-08T04:44:57Z drmeister: I see, DECLAIM can be top level or not. 2014-12-08T04:44:58Z beach: But that's just your case. 2014-12-08T04:45:18Z beach: Yes, DECLAIM is top level. 2014-12-08T04:45:31Z beach: But a declaration is valid in DECLARE as well. 2014-12-08T04:45:40Z beach: Or, it may be. 2014-12-08T04:46:26Z beach: Imagine (flet ((fun (x) (declare (function-name fun 'fun))) ...)) 2014-12-08T04:47:08Z beach: Or, I guess it would be introduce automatically by your FLET converter. 2014-12-08T04:47:35Z drmeister: Hmm, where can these DECLARATION expressions appear? Can they be in any DECLARE? (lambda (...) (declare (declaration foo)) (declare (foo bar))) ...) ? 2014-12-08T04:48:24Z drmeister: Nope, never mind. 2014-12-08T04:48:45Z drmeister: It's not one of the local declarations. 2014-12-08T04:48:51Z beach: drmeister: The DECLARATION declaration can only be global. 2014-12-08T04:48:56Z beach: But that one is not important. 2014-12-08T04:49:11Z beach: It is just meant for compilers other than you own. 2014-12-08T04:49:16Z beach: ... and code walkers. 2014-12-08T04:49:16Z k-dawg quit (Quit: This computer has gone to sleep) 2014-12-08T04:49:31Z drmeister: Oh, I see - right - I need it to be in the HIR 2014-12-08T04:49:31Z beach: So that they won't generate warnings or errors. 2014-12-08T04:49:36Z ggole joined #lisp 2014-12-08T04:49:57Z drmeister: I still only have a fuzzy idea of how I'm going to work with HIR. 2014-12-08T04:49:59Z beach: More importantly, Cleavir needs a complete mechanism so that implementations can handle their own declarations. 2014-12-08T04:50:02Z drmeister: How is the HIR->MIR stuff coming? 2014-12-08T04:50:31Z beach: drmeister: HIR->MIR is getting clearer. 2014-12-08T04:52:08Z beach: Indefinite lexical locations should be augmented with pairs for static rintime environment access. I need to introduce instructions for creating static runtime environment "levels". 2014-12-08T04:53:11Z beach: It will make it easier for the implementation to translate accesses to indefinite into memory accesses. 2014-12-08T04:53:13Z drmeister: That sounds very familiar - it sounds like how I structured my activation-frames. Linked lists of arrays that store lexical bindings? 2014-12-08T04:53:18Z JokerDoomWork joined #lisp 2014-12-08T04:53:44Z beach: I don't want to specify a particular representation, but the concept is probably universal. 2014-12-08T04:53:47Z drmeister: Your talking about how to represent the closed over environments? 2014-12-08T04:53:55Z beach: Yes. 2014-12-08T04:54:04Z drmeister: I almost understand what you are saying! 2014-12-08T04:54:46Z momo-reina joined #lisp 2014-12-08T04:55:18Z beach: It is not trivial because a function that has only variables with dynamic extent does not need to create a level in the static runtime environment. 2014-12-08T04:55:18Z drmeister: Yes, well that is part of what has been puzzling me - how to convert HIR into creation of the static runtime environments (activation frames). 2014-12-08T04:56:00Z drmeister: Right. 2014-12-08T04:56:12Z beach: I am thinking of making that information more explicit before HIR is translated to MIR, so as to make life easier for the implementer. 2014-12-08T04:56:24Z drmeister: It would definitely make my life easier. 2014-12-08T04:56:45Z beach: At the same time, I take advantage of that opportunity to optimize a bit. 2014-12-08T04:57:02Z momo-reina quit (Remote host closed the connection) 2014-12-08T04:57:07Z drmeister: Can I tell you what I was thinking along those lines? 2014-12-08T04:57:16Z beach: Specifically, remove "levels" of the static runtime environment that are not needed by any nested functions. 2014-12-08T04:57:24Z drmeister: It may be trivial and you already thought about it. 2014-12-08T04:57:47Z stardiviner joined #lisp 2014-12-08T04:57:50Z beach: I prepared an example. If you have a minute, I will paste it. 2014-12-08T04:57:54Z drmeister: Sure. 2014-12-08T04:59:13Z drmeister: ivan4th: that ngrep command - it prints everything that goes through the socket between slime and swank - correct? 2014-12-08T04:59:54Z beach: http://paste.lisp.org/+33LG 2014-12-08T05:01:22Z frkout quit (Remote host closed the connection) 2014-12-08T05:01:49Z frkout joined #lisp 2014-12-08T05:04:03Z drmeister: Yes - the popping off of the 0 level environment for line 6 is better than my thinking. 2014-12-08T05:04:24Z beach: What was your thinking? 2014-12-08T05:04:33Z drmeister: Not popping it off. 2014-12-08T05:04:40Z p_nathan left #lisp 2014-12-08T05:04:46Z beach: That sounds more like not thinking at all :) 2014-12-08T05:04:48Z drmeister: Giving it the same environment as that on line 5 and 7 2014-12-08T05:05:12Z beach: Seriously, yes, this is an optimization. 2014-12-08T05:05:19Z drmeister: Yup. 2014-12-08T05:05:20Z beach: It may not be very significant. 2014-12-08T05:05:52Z beach: Though it could be for stuff like CPS conversions, where LAMBDAs are nested quite deep. 2014-12-08T05:06:39Z beach: So I want to make those operations explicit before I ask the implementation to convert from HIR to MIR. 2014-12-08T05:07:21Z beach: And I want to make sure both X2 on lines 5 and 7 and X1 on line 6 are labeled <0,0> 2014-12-08T05:07:59Z beach: ... i.e., first variable in topmost level in the static runtime environment. 2014-12-08T05:08:24Z drmeister: I seem to recall that L.I.S.P. had some optimizations as well. 2014-12-08T05:08:40Z beach: Right, you said that. I forgot to look, though. 2014-12-08T05:09:14Z beach: So, you see what it is that I am planning to do? 2014-12-08T05:09:23Z drmeister: I thought he mentioned something where as you go deeper you include pointers directly to outer environments - so you don't have to chain through every time. 2014-12-08T05:10:04Z beach: OK, I'll try to remember to read that section. 2014-12-08T05:10:05Z vowyer_ joined #lisp 2014-12-08T05:10:10Z drmeister: Yes, I see. It's how I run my interpreter without any optimizations included. 2014-12-08T05:10:17Z stardiviner quit (Ping timeout: 245 seconds) 2014-12-08T05:10:29Z drmeister: Only I put all bindings in these environments 2014-12-08T05:10:54Z drmeister: And every LET or LET* creates another one. 2014-12-08T05:10:58Z beach: I am fairly sure this concept of "levels" in the static runtime environment is universal. 2014-12-08T05:11:07Z drmeister: Yup. 2014-12-08T05:11:34Z beach: Now I just have to come up with HIR instructions that do not require a specific representation. 2014-12-08T05:12:21Z endou_____ quit (Ping timeout: 272 seconds) 2014-12-08T05:12:43Z drmeister: And you have unique identities associated with all variables - correct? 2014-12-08T05:12:59Z mearnsh quit (Ping timeout: 272 seconds) 2014-12-08T05:13:10Z drmeister: So (let ((x 1)) (let ((x (+ x 1)) ...)) doesn't get confused. 2014-12-08T05:13:12Z endou_____ joined #lisp 2014-12-08T05:13:17Z beach: Correct. Each unique variable has a different lexical location object associated with it. 2014-12-08T05:14:20Z beach: In this case, two different lexical location objects will contain the same name `X'. 2014-12-08T05:14:35Z drmeister: And are you are going to add some kind of HIR instruction that comes right under an ENTER-INSTRUCTION to establish these environments? This is where I'm guessing. 2014-12-08T05:14:49Z beach: Yes, I think that will be the case. 2014-12-08T05:14:53Z mearnsh joined #lisp 2014-12-08T05:15:18Z drmeister: That doesn't sound right though - because the lambda list processing may need to put values in some of those bindings 2014-12-08T05:15:31Z brandonz quit (Quit: Lost terminal) 2014-12-08T05:15:35Z beach: No. 2014-12-08T05:15:42Z jusss joined #lisp 2014-12-08T05:15:44Z drmeister: No - what? 2014-12-08T05:15:50Z beach: The lambda list processing always puts values in dynamic variables. 2014-12-08T05:15:59Z brandonz joined #lisp 2014-12-08T05:16:13Z beach: So those will be on the stack or in registers. 2014-12-08T05:16:27Z drmeister: Really? And then you would have instructions to copy those into the environment? 2014-12-08T05:16:39Z drmeister: I prefer activation-frame 2014-12-08T05:16:45Z beach: Then the HIR code will establish the runtime environment and move those dynamic varibles to the runtime environment if necessary. 2014-12-08T05:17:02Z drmeister: Oh gad, that's so much easier than what I was thinking. 2014-12-08T05:17:56Z beach: If they don't need to go in the static runtime environment, the register allocator can be told to take them from the register in which they were passed. 2014-12-08T05:18:25Z beach: So that copy instruction will then be a NOP. 2014-12-08T05:19:28Z drmeister: Right - I got that. Well, that's the final piece of the puzzle for rewriting my argument processor to work with Cleavir (I think) 2014-12-08T05:20:19Z beach: So the outputs of the ENTER-INSTRUCTION are all dynamic extent. That's the important thing to remember. HIR will do the rest. 2014-12-08T05:20:41Z drmeister: What do you want to call these arrays of bindings on the heap? 2014-12-08T05:21:14Z beach: I don't want to call them anything because they may not be arrays in every implementation, and they may not be on the heap. 2014-12-08T05:21:44Z drmeister: Not on the heap? You are blowing my mind. 2014-12-08T05:22:22Z drmeister: Where else would they be? 2014-12-08T05:22:28Z drmeister: could they be? 2014-12-08T05:22:39Z isis_ joined #lisp 2014-12-08T05:22:43Z beach: In my example, if GG is such that it only calls its argument, without holding on to it, then X2 can be allocated on the stack. 2014-12-08T05:23:08Z beach: It is just that my example assumes an unknown GG. 2014-12-08T05:23:31Z beach: But if GG is (say) SORT or FIND-IF, then we know they won't hold on to the closure. 2014-12-08T05:23:41Z stardiviner joined #lisp 2014-12-08T05:23:41Z drmeister: What about II? 2014-12-08T05:23:57Z beach: I used GG as one example. 2014-12-08T05:24:30Z beach: In the paste, GG and II must both be "known" like that in order for X2 to be allocated on the stack. 2014-12-08T05:24:57Z drmeister: Ok, so there are three possibilities then? 2014-12-08T05:25:09Z beach: At least. 2014-12-08T05:25:44Z beach: I suggested the other day that X2 could be allocated in an XMM register in case GG and II are like SORT of FIND-IF. 2014-12-08T05:26:28Z beach: If you want to read about stuff like that, I think it is called upward/downward funarg. 2014-12-08T05:26:34Z edgar-rft joined #lisp 2014-12-08T05:26:39Z drmeister: In register/stack accessible only within the function, on the heap - indefinite extent, on the stack - dynamic extent/accessible from inner functions. 2014-12-08T05:26:42Z beach: Algol-like languages use a "static link" on the stack. 2014-12-08T05:27:06Z drmeister: I'm familiar with upward/downward funargs 2014-12-08T05:27:14Z beach: OK. 2014-12-08T05:27:30Z drmeister: It's only now that it's starting to be useful to me. 2014-12-08T05:28:03Z henesy joined #lisp 2014-12-08T05:28:25Z drmeister: So you are going to have to add instructions to establish several different kinds of levels for each function. 2014-12-08T05:28:41Z drmeister: Can we call them "frames"? 2014-12-08T05:28:49Z beach: GAH, no. 2014-12-08T05:28:59Z beach: It will be confused with the stack frame. 2014-12-08T05:29:36Z beach: The stack frame holds stuff with dynamic extent. 2014-12-08T05:29:40Z drmeister: I may be mistaken but I think L.I.S.P calls them activation-frames 2014-12-08T05:29:51Z beach: Maybe so. 2014-12-08T05:29:58Z jumblerg joined #lisp 2014-12-08T05:30:03Z beach: I'll try to remember to look it up. 2014-12-08T05:31:36Z beach: Anyway, I have not yet figured out where, when, and how to represent variables with dynamic in a different stack frame. 2014-12-08T05:31:45Z beach: So for now, they will all be on the heap. 2014-12-08T05:32:04Z beach: with dynamic extent. 2014-12-08T05:32:37Z capcar quit (Ping timeout: 272 seconds) 2014-12-08T05:33:24Z beach: It is possible that there is very little that I need to do, though. 2014-12-08T05:33:44Z drmeister: That's how I started. I now use builtin_alloca to allocate "these things that shall not be named frames" on the stack. 2014-12-08T05:34:17Z ggole: drmeister: so you copy stuff there? 2014-12-08T05:34:20Z beach: You can't do that in general. 2014-12-08T05:34:32Z ggole: You might end up with stack->stack copies if you do it that way 2014-12-08T05:34:37Z stardiviner quit (Ping timeout: 240 seconds) 2014-12-08T05:34:44Z drmeister: beach: I know - I only use them where downward funargs are appropriate. 2014-12-08T05:34:52Z ggole: Well, you can't copy mutable things. 2014-12-08T05:35:50Z beach: drmeister: So in fact, what you use alloca for is exactly what is called a "frame". 2014-12-08T05:35:52Z beach: ? 2014-12-08T05:35:55Z drmeister: I've been pretty careful with them. And Common Lisp runs with them. 2014-12-08T05:36:28Z beach: drmeister: Namely to hold variables that have dynamic extent and that do not escape. 2014-12-08T05:37:14Z drmeister: Maybe, I'm doing this within a C++ stack frame that will contain more than the alloca and the alloca has no return address or base pointer associated with it. I'll call it a "framelet". 2014-12-08T05:37:37Z drmeister: beach: Yes, dynamic extent - do not escape. 2014-12-08T05:37:45Z drmeister: Where a heap frame would be overkill. 2014-12-08T05:37:58Z drmeister: "heap framelet" 2014-12-08T05:38:13Z beach: drmeister: Sometimes you confuse me. One minute you say every variable is allocated on the heap, next minute you say you actually do the analysis between arbitrary GG and II and those that only call their argument. 2014-12-08T05:38:29Z rs0 joined #lisp 2014-12-08T05:38:30Z drmeister: Sometimes I confuse myself. 2014-12-08T05:38:43Z drmeister: Actually, things have evolved over the past months. 2014-12-08T05:38:54Z ggole: You can stack-allocate anything that only escape downwards, btw 2014-12-08T05:39:04Z beach: No, I mean you say contradictory things within minutes. 2014-12-08T05:39:05Z ggole: (I think this is what beach was suggesting before.) 2014-12-08T05:39:44Z beach vanishes for half an hour or so. 2014-12-08T05:42:31Z drmeister: Ok, every variable binding is on the heap. I have the ability to create framelets on the stack. I don't use them much, only in situations where it is clear that the values they contain can't escape. 2014-12-08T05:42:37Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-08T05:43:16Z pranavrc joined #lisp 2014-12-08T05:43:39Z drmeister: ggole: I forget if you've mentioned this. Which CL implementation do you work with? 2014-12-08T05:43:44Z gmcastil joined #lisp 2014-12-08T05:44:40Z ggole: I've never implemented a lisp 2014-12-08T05:44:44Z ggole: The same issues turn up in other languages though. 2014-12-08T05:44:57Z gingerale quit (Ping timeout: 250 seconds) 2014-12-08T05:47:50Z vowyer_ quit (Remote host closed the connection) 2014-12-08T05:49:06Z drmeister: Oh, ok - you seem very knowledgeable 2014-12-08T05:49:22Z stardiviner joined #lisp 2014-12-08T05:51:05Z yuikov joined #lisp 2014-12-08T05:51:29Z pnpuff quit (Ping timeout: 264 seconds) 2014-12-08T05:51:32Z isis_ quit (Ping timeout: 250 seconds) 2014-12-08T05:53:45Z frkout_ joined #lisp 2014-12-08T05:54:30Z psy_ quit (Ping timeout: 264 seconds) 2014-12-08T05:55:38Z frkout__ joined #lisp 2014-12-08T05:55:46Z frkout_ quit (Read error: Connection reset by peer) 2014-12-08T05:57:04Z frkout quit (Ping timeout: 244 seconds) 2014-12-08T05:57:22Z zRecursive: drmeister: What does "the values they contain can't escape" mean ? 2014-12-08T05:57:51Z frkout__ quit (Read error: Connection reset by peer) 2014-12-08T05:57:57Z frkout joined #lisp 2014-12-08T05:57:58Z jumblerg joined #lisp 2014-12-08T05:58:43Z drmeister: It means a closure that closes over them can't return, unwind the stack and wipe out those bindings. 2014-12-08T05:59:13Z victor_lowther quit (Ping timeout: 272 seconds) 2014-12-08T05:59:33Z zRecursive: Otherwise they willnot be valid ? 2014-12-08T06:00:55Z zRecursive: maybe disappear 2014-12-08T06:01:04Z loz joined #lisp 2014-12-08T06:01:46Z drmeister: Yes 2014-12-08T06:02:03Z pranavrc quit (Remote host closed the connection) 2014-12-08T06:02:04Z victor_lowther joined #lisp 2014-12-08T06:02:21Z yenda joined #lisp 2014-12-08T06:02:37Z pllx joined #lisp 2014-12-08T06:04:12Z TDog quit (Quit: ChatZilla 0.9.91 [Firefox 33.1/20141106120505]) 2014-12-08T06:04:41Z segmond quit (Ping timeout: 252 seconds) 2014-12-08T06:07:37Z beach: drmeister: Wikipedia seems to use "activation record" and "stack frame" as synonyms. 2014-12-08T06:08:06Z scymtym_ quit (Ping timeout: 265 seconds) 2014-12-08T06:09:03Z beach: So I need to find out whether there is a widely-used term for a "level" of the static runtime environment that is not easily confused with "stack frame". 2014-12-08T06:09:44Z psy_ joined #lisp 2014-12-08T06:09:45Z beach: "static activation record" is a bit too long. 2014-12-08T06:11:15Z drdanmaku quit (Ping timeout: 272 seconds) 2014-12-08T06:11:33Z yuikov quit 2014-12-08T06:11:43Z psy_ quit (Max SendQ exceeded) 2014-12-08T06:12:28Z karswell quit (Read error: Connection reset by peer) 2014-12-08T06:12:30Z pranavrc joined #lisp 2014-12-08T06:12:30Z pranavrc quit (Changing host) 2014-12-08T06:12:30Z pranavrc joined #lisp 2014-12-08T06:13:24Z beach: Actually, in one place, Wikipedia distinguishes between the two: "However, because, by definition, the existence of a downwards funarg is contained in the execution of the function that creates it, the activation record for the function can usually still be stored on the stack. Nonetheless, the existence of downwards funargs implies a tree structure of closures and activation records that can complicate human and machine reasoning 2014-12-08T06:13:24Z beach: about the program state." 2014-12-08T06:13:25Z pranavrc quit (Read error: Connection reset by peer) 2014-12-08T06:13:30Z karswell joined #lisp 2014-12-08T06:13:34Z pranavrc joined #lisp 2014-12-08T06:14:27Z drdanmaku joined #lisp 2014-12-08T06:14:28Z beach: So I guess I'll use "activation record", and I'll add "static" when there would otherwise be a risk of confusion. 2014-12-08T06:14:41Z oleo__ quit (Quit: Verlassend) 2014-12-08T06:14:54Z blahzik joined #lisp 2014-12-08T06:15:23Z atgreen quit (Ping timeout: 258 seconds) 2014-12-08T06:15:35Z pranavrc quit (Read error: No route to host) 2014-12-08T06:16:02Z pranavrc joined #lisp 2014-12-08T06:16:02Z pranavrc quit (Changing host) 2014-12-08T06:16:02Z pranavrc joined #lisp 2014-12-08T06:16:19Z victor_lowther quit (Ping timeout: 272 seconds) 2014-12-08T06:16:46Z lyanchih_ quit (Ping timeout: 255 seconds) 2014-12-08T06:17:11Z beach: drmeister: I think it will look like this in HIR: The ENTER-INSTRUCTION will have an output that is not in its lambda list and which holds the static runtime environment. The CALL-INSTRUCTION will have an input for that. I will introduce instructions (say) add-activation that takes an runtime-environment as input and produces a runtime environment with an additional activation record as output. 2014-12-08T06:17:25Z victor_lowther joined #lisp 2014-12-08T06:17:46Z pranavrc quit (Read error: No route to host) 2014-12-08T06:17:48Z pranavrc_ joined #lisp 2014-12-08T06:17:48Z beach: And I will introduce an instruction called (say) parent-activation that takes a runtime environment as input, and produces the parent runtime environment as output. 2014-12-08T06:18:30Z segmond joined #lisp 2014-12-08T06:18:30Z pranavrc_ quit (Read error: Connection reset by peer) 2014-12-08T06:18:51Z pranavrc joined #lisp 2014-12-08T06:19:22Z analyticd quit (Quit: analyticd) 2014-12-08T06:19:34Z pranavrc quit (Read error: No route to host) 2014-12-08T06:19:57Z pranavrc joined #lisp 2014-12-08T06:19:57Z pranavrc quit (Changing host) 2014-12-08T06:19:57Z pranavrc joined #lisp 2014-12-08T06:20:20Z cibs joined #lisp 2014-12-08T06:23:39Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-08T06:24:45Z pranavrc quit (Ping timeout: 260 seconds) 2014-12-08T06:25:39Z blahzik quit (Ping timeout: 245 seconds) 2014-12-08T06:25:52Z yenda quit (Quit: WeeChat 1.0.1) 2014-12-08T06:26:21Z blahzik joined #lisp 2014-12-08T06:28:52Z pt1 joined #lisp 2014-12-08T06:31:42Z pt1 quit (Remote host closed the connection) 2014-12-08T06:32:30Z drmeister: What does a runtime-environment consist of? 2014-12-08T06:32:46Z pranavrc joined #lisp 2014-12-08T06:32:46Z pranavrc quit (Changing host) 2014-12-08T06:32:46Z pranavrc joined #lisp 2014-12-08T06:32:57Z lyanchih_ joined #lisp 2014-12-08T06:33:52Z stardiviner quit (Ping timeout: 255 seconds) 2014-12-08T06:33:59Z MoALTz joined #lisp 2014-12-08T06:34:13Z pranavrc quit (Read error: No route to host) 2014-12-08T06:34:13Z isis_ joined #lisp 2014-12-08T06:34:26Z loz quit (Ping timeout: 256 seconds) 2014-12-08T06:34:27Z beach: A "dynamic" part holding special variable bindings, unwind-protects, and such, and a "static" part, holding bindings of lexical variables with indefinite extent, and of course the "stack frame/registers" holding bindings of lexical variables with dynamic extent. 2014-12-08T06:34:32Z pranavrc joined #lisp 2014-12-08T06:35:47Z beach: I agree it is confusing that "dynamic" is used in two different ways. 2014-12-08T06:36:03Z drmeister: So there it will be necessary to construct an environment to generate code from HIR. 2014-12-08T06:36:44Z drmeister: Or I'm not quite following this part. 2014-12-08T06:36:53Z blahzik quit (Quit: blahzik) 2014-12-08T06:37:11Z beach: Which "environment" are you talking about now? 2014-12-08T06:37:45Z pranavrc quit (Read error: No route to host) 2014-12-08T06:38:02Z JokerDoom joined #lisp 2014-12-08T06:38:14Z jumblerg joined #lisp 2014-12-08T06:38:22Z pranavrc joined #lisp 2014-12-08T06:38:23Z pranavrc quit (Changing host) 2014-12-08T06:38:23Z pranavrc joined #lisp 2014-12-08T06:38:38Z beach: I can't imagine HIR requiring anything that you don't already do. 2014-12-08T06:38:46Z pranavrc quit (Read error: No route to host) 2014-12-08T06:39:08Z pranavrc joined #lisp 2014-12-08T06:39:08Z pranavrc quit (Changing host) 2014-12-08T06:39:08Z pranavrc joined #lisp 2014-12-08T06:39:54Z drmeister: Never mind, I'll just have to work with it to figure this out. 2014-12-08T06:40:32Z pranavrc quit (Read error: No route to host) 2014-12-08T06:40:34Z beach: OK. 2014-12-08T06:40:54Z pranavrc joined #lisp 2014-12-08T06:42:00Z pranavrc_ joined #lisp 2014-12-08T06:42:00Z pranavrc quit (Read error: Connection reset by peer) 2014-12-08T06:42:14Z ASau quit (Ping timeout: 250 seconds) 2014-12-08T06:44:02Z pranavrc joined #lisp 2014-12-08T06:44:02Z pranavrc quit (Changing host) 2014-12-08T06:44:02Z pranavrc joined #lisp 2014-12-08T06:44:02Z pranavrc_ quit (Read error: Connection reset by peer) 2014-12-08T06:45:14Z pranavrc_ joined #lisp 2014-12-08T06:45:14Z pranavrc quit (Read error: Connection reset by peer) 2014-12-08T06:45:24Z pyx joined #lisp 2014-12-08T06:46:44Z pranavrc joined #lisp 2014-12-08T06:46:44Z pranavrc quit (Changing host) 2014-12-08T06:46:44Z pranavrc joined #lisp 2014-12-08T06:46:44Z pranavrc_ quit (Read error: Connection reset by peer) 2014-12-08T06:46:49Z drmeister: Your HIR graphs help a lot. When you are able to generate graphs with these new instructions could you point them out to me? 2014-12-08T06:47:18Z beach: Sure. 2014-12-08T06:47:28Z stardiviner joined #lisp 2014-12-08T06:47:30Z pranavrc quit (Read error: No route to host) 2014-12-08T06:47:37Z drmeister: Is this HIR or is it becoming MIR? 2014-12-08T06:47:49Z beach: Still HIR at this point. 2014-12-08T06:47:51Z pranavrc joined #lisp 2014-12-08T06:48:15Z beach: MIR will have explicit arithmetic, addresses, and memory operations. 2014-12-08T06:48:33Z pranavrc quit (Read error: Connection reset by peer) 2014-12-08T06:48:50Z beach: HIR is all about operations on Lisp objects. 2014-12-08T06:48:52Z pranavrc joined #lisp 2014-12-08T06:49:29Z pyx quit (Client Quit) 2014-12-08T06:49:29Z ehu joined #lisp 2014-12-08T06:49:43Z drmeister: I'm slowly narrowing down where swank is hanging. 2014-12-08T06:49:47Z drmeister: https://www.irccloud.com/pastebin/LLXD6EJt 2014-12-08T06:50:08Z drmeister: gray:stream-read-char 2014-12-08T06:50:17Z pranavrc quit (Read error: No route to host) 2014-12-08T06:50:37Z pranavrc joined #lisp 2014-12-08T06:50:48Z JamesNZ quit (Remote host closed the connection) 2014-12-08T06:51:06Z beach: Time to get to work! 2014-12-08T06:51:09Z beach left #lisp 2014-12-08T06:51:40Z khisanth_ joined #lisp 2014-12-08T06:53:53Z Khisanth quit (Ping timeout: 264 seconds) 2014-12-08T06:53:59Z MrWoohoo joined #lisp 2014-12-08T06:54:37Z pranavrc quit (Read error: No route to host) 2014-12-08T06:54:43Z pranavrc joined #lisp 2014-12-08T06:55:04Z jusss quit (Read error: Connection reset by peer) 2014-12-08T06:56:31Z pranavrc_ joined #lisp 2014-12-08T06:56:31Z pranavrc quit (Read error: Connection reset by peer) 2014-12-08T07:00:39Z pranavrc_ quit (Ping timeout: 245 seconds) 2014-12-08T07:02:46Z zRecursive quit (Remote host closed the connection) 2014-12-08T07:02:52Z frkout quit (Read error: Connection reset by peer) 2014-12-08T07:03:14Z frkout joined #lisp 2014-12-08T07:06:29Z manuel__ joined #lisp 2014-12-08T07:09:57Z jusss joined #lisp 2014-12-08T07:12:41Z ggherdov quit (Ping timeout: 272 seconds) 2014-12-08T07:14:03Z frkout quit (Remote host closed the connection) 2014-12-08T07:14:29Z frkout joined #lisp 2014-12-08T07:15:21Z angavrilov joined #lisp 2014-12-08T07:17:48Z mrSpec joined #lisp 2014-12-08T07:17:48Z blahzik joined #lisp 2014-12-08T07:18:53Z keen________ quit (Read error: Connection reset by peer) 2014-12-08T07:19:28Z khisanth_ quit (Ping timeout: 264 seconds) 2014-12-08T07:20:14Z khisanth_ joined #lisp 2014-12-08T07:20:25Z keen________ joined #lisp 2014-12-08T07:20:41Z frkout_ joined #lisp 2014-12-08T07:21:04Z ehu quit (Ping timeout: 245 seconds) 2014-12-08T07:21:25Z Harag joined #lisp 2014-12-08T07:21:43Z Niac joined #lisp 2014-12-08T07:23:16Z pt1 joined #lisp 2014-12-08T07:23:52Z frkout quit (Ping timeout: 244 seconds) 2014-12-08T07:24:05Z mearnsh quit (Ping timeout: 272 seconds) 2014-12-08T07:24:21Z shortCircuit__ joined #lisp 2014-12-08T07:25:05Z mearnsh joined #lisp 2014-12-08T07:25:27Z drmeister: Hmm, slime is crashing but the restart handlers are not allowing it to crash - they are keeping it alive and I can't see the error. 2014-12-08T07:25:45Z ggherdov joined #lisp 2014-12-08T07:25:55Z drmeister: Sorry, swank is crashing. The restart handlers are not allowing swank to die. 2014-12-08T07:26:00Z Harag quit (Ping timeout: 250 seconds) 2014-12-08T07:26:01Z fantazo joined #lisp 2014-12-08T07:29:08Z defaultxr quit (Quit: gnight) 2014-12-08T07:34:13Z mearnsh quit (Ping timeout: 272 seconds) 2014-12-08T07:35:36Z mearnsh joined #lisp 2014-12-08T07:36:28Z frkout_ quit (Remote host closed the connection) 2014-12-08T07:36:54Z frkout joined #lisp 2014-12-08T07:38:39Z innertracks quit (Quit: innertracks) 2014-12-08T07:38:43Z chu joined #lisp 2014-12-08T07:39:48Z madmalik joined #lisp 2014-12-08T07:45:39Z joneshf-laptop_ joined #lisp 2014-12-08T07:45:40Z joneshf-laptop quit (Read error: Connection reset by peer) 2014-12-08T07:47:03Z psy_ joined #lisp 2014-12-08T07:51:38Z blahzik quit (Quit: blahzik) 2014-12-08T07:52:09Z innertracks joined #lisp 2014-12-08T07:52:40Z zxq9 joined #lisp 2014-12-08T07:53:12Z ehu joined #lisp 2014-12-08T07:53:18Z Beetny joined #lisp 2014-12-08T07:55:45Z ndrei quit (Ping timeout: 272 seconds) 2014-12-08T07:57:21Z pranavrc joined #lisp 2014-12-08T07:57:21Z pranavrc quit (Changing host) 2014-12-08T07:57:21Z pranavrc joined #lisp 2014-12-08T07:59:33Z MoALTz quit (Quit: Leaving) 2014-12-08T08:00:05Z ggole_ joined #lisp 2014-12-08T08:02:04Z pranavrc quit (Ping timeout: 264 seconds) 2014-12-08T08:02:08Z innertracks quit (Quit: innertracks) 2014-12-08T08:02:45Z ndrei joined #lisp 2014-12-08T08:03:30Z ggole quit (Ping timeout: 264 seconds) 2014-12-08T08:04:15Z theos quit (Read error: Connection reset by peer) 2014-12-08T08:05:54Z ggole_ is now known as ggole 2014-12-08T08:07:09Z ndrei quit (Ping timeout: 252 seconds) 2014-12-08T08:07:23Z nikki93: is there a difference between &rest and &body? 2014-12-08T08:07:46Z jdz: semantically no 2014-12-08T08:07:50Z H4ns: nikki93: they look different to allow the editor to make indentation decisions. 2014-12-08T08:08:10Z jdz: H4ns: that's like a very recent development 2014-12-08T08:08:24Z H4ns: jdz: i don't think so. i'd rather say it is the other way round. 2014-12-08T08:08:31Z jdz: previously it was for programmers to make the distinction of intent :) 2014-12-08T08:08:42Z H4ns: jdz: like in the old days, when you had an editor that was written in lisp and could understand lisp. 2014-12-08T08:08:56Z H4ns: from the perspective of editor hinting, it is a very poor design choice :) 2014-12-08T08:09:00Z jdz: damn, i still hope to see one in my life 2014-12-08T08:09:27Z H4ns: ah, also &body gives a clue to the programmer so that they can easily recognize that the arguments are code, not data. 2014-12-08T08:10:54Z ndrei joined #lisp 2014-12-08T08:11:20Z theos joined #lisp 2014-12-08T08:12:25Z pnpuff joined #lisp 2014-12-08T08:17:01Z kcj joined #lisp 2014-12-08T08:21:43Z yrdz``` quit (Ping timeout: 272 seconds) 2014-12-08T08:22:44Z stassats joined #lisp 2014-12-08T08:26:28Z nydel quit (Quit: WeeChat 0.4.2) 2014-12-08T08:26:52Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-08T08:27:52Z nydel joined #lisp 2014-12-08T08:27:56Z pllx quit (Quit: ++) 2014-12-08T08:28:09Z milosn quit (Ping timeout: 245 seconds) 2014-12-08T08:30:21Z Vutral joined #lisp 2014-12-08T08:32:50Z pranavrc joined #lisp 2014-12-08T08:32:50Z pranavrc quit (Changing host) 2014-12-08T08:32:50Z pranavrc joined #lisp 2014-12-08T08:34:39Z lyanchih_ quit (Ping timeout: 244 seconds) 2014-12-08T08:35:58Z mishoo joined #lisp 2014-12-08T08:37:33Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-08T08:38:12Z innertracks joined #lisp 2014-12-08T08:38:41Z mvilleneuve joined #lisp 2014-12-08T08:38:43Z DataLinkDroid joined #lisp 2014-12-08T08:39:34Z DataLinkDroid quit (Client Quit) 2014-12-08T08:41:31Z innertracks quit (Client Quit) 2014-12-08T08:44:11Z arenz joined #lisp 2014-12-08T08:45:00Z pt1 quit (Read error: Connection reset by peer) 2014-12-08T08:45:25Z pt1 joined #lisp 2014-12-08T08:46:41Z milosn joined #lisp 2014-12-08T08:46:55Z zacharias joined #lisp 2014-12-08T08:57:29Z pnpuff quit (Ping timeout: 264 seconds) 2014-12-08T09:00:51Z petrutrimbitas joined #lisp 2014-12-08T09:01:17Z attila_lendvai joined #lisp 2014-12-08T09:01:17Z attila_lendvai quit (Changing host) 2014-12-08T09:01:17Z attila_lendvai joined #lisp 2014-12-08T09:06:24Z Cymew joined #lisp 2014-12-08T09:08:02Z malbertife joined #lisp 2014-12-08T09:09:42Z vinleod joined #lisp 2014-12-08T09:11:10Z corni joined #lisp 2014-12-08T09:14:46Z fridim_ joined #lisp 2014-12-08T09:16:07Z munksgaard joined #lisp 2014-12-08T09:17:47Z pppp2 joined #lisp 2014-12-08T09:17:52Z nha joined #lisp 2014-12-08T09:20:24Z pnpuff joined #lisp 2014-12-08T09:21:01Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-12-08T09:21:13Z petrutrimbitas quit (Quit: petrutrimbitas) 2014-12-08T09:23:17Z JuanDaugherty quit (Remote host closed the connection) 2014-12-08T09:25:49Z ehu quit (Ping timeout: 260 seconds) 2014-12-08T09:28:21Z pranavrc quit (Remote host closed the connection) 2014-12-08T09:32:02Z ASau joined #lisp 2014-12-08T09:32:25Z Niac quit (Remote host closed the connection) 2014-12-08T09:33:42Z hlavaty joined #lisp 2014-12-08T09:35:37Z jusss quit (Ping timeout: 260 seconds) 2014-12-08T09:38:07Z malbertife_ joined #lisp 2014-12-08T09:38:26Z malbertife_ quit (Client Quit) 2014-12-08T09:38:36Z Karl_Dscc joined #lisp 2014-12-08T09:42:00Z malbertife quit (Ping timeout: 258 seconds) 2014-12-08T09:45:03Z gmcastil quit (Ping timeout: 252 seconds) 2014-12-08T09:48:37Z kcj quit (Read error: Connection reset by peer) 2014-12-08T09:49:36Z kcj joined #lisp 2014-12-08T09:57:42Z stardiviner quit (Quit: my website: http://stardiviner.dyndns-blog.com/) 2014-12-08T09:58:12Z nee joined #lisp 2014-12-08T10:00:49Z corni quit (Ping timeout: 260 seconds) 2014-12-08T10:04:12Z hardenedapple joined #lisp 2014-12-08T10:04:51Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-08T10:05:30Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-08T10:09:32Z Cymew quit (Quit: Konversation terminated!) 2014-12-08T10:09:51Z Cymew joined #lisp 2014-12-08T10:14:25Z Joreji joined #lisp 2014-12-08T10:16:10Z redeemed joined #lisp 2014-12-08T10:17:42Z vaporatorius joined #lisp 2014-12-08T10:21:48Z k-dawg joined #lisp 2014-12-08T10:26:37Z emma quit (Ping timeout: 240 seconds) 2014-12-08T10:27:07Z pranavrc joined #lisp 2014-12-08T10:27:22Z pranavrc quit (Changing host) 2014-12-08T10:27:22Z pranavrc joined #lisp 2014-12-08T10:31:22Z frkout_ joined #lisp 2014-12-08T10:33:09Z frkout__ joined #lisp 2014-12-08T10:33:26Z frkout_ quit (Read error: Connection reset by peer) 2014-12-08T10:35:16Z frkout quit (Ping timeout: 256 seconds) 2014-12-08T10:38:40Z Karl_Dscc quit (Remote host closed the connection) 2014-12-08T10:42:18Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-12-08T10:43:17Z gravicappa joined #lisp 2014-12-08T10:45:35Z ivan4th quit (Ping timeout: 244 seconds) 2014-12-08T10:45:42Z ivan4th joined #lisp 2014-12-08T10:49:40Z lintomas joined #lisp 2014-12-08T10:50:26Z lintomas quit (Client Quit) 2014-12-08T10:58:01Z przl joined #lisp 2014-12-08T10:58:25Z pppp2 quit (Read error: Connection reset by peer) 2014-12-08T11:01:15Z flaggy joined #lisp 2014-12-08T11:02:00Z echo-area quit (Remote host closed the connection) 2014-12-08T11:02:47Z joneshf-laptop_ quit (Ping timeout: 245 seconds) 2014-12-08T11:04:17Z DeadTrickster quit (Ping timeout: 260 seconds) 2014-12-08T11:05:54Z attila_lendvai quit (Quit: Leaving.) 2014-12-08T11:09:19Z frkout joined #lisp 2014-12-08T11:09:42Z frkout__ quit (Read error: Connection reset by peer) 2014-12-08T11:11:42Z joneshf-laptop_ joined #lisp 2014-12-08T11:11:59Z chu joined #lisp 2014-12-08T11:12:10Z wilfredh joined #lisp 2014-12-08T11:13:49Z stepnem joined #lisp 2014-12-08T11:26:16Z hitecnologys quit (Ping timeout: 256 seconds) 2014-12-08T11:27:36Z hitecnologys joined #lisp 2014-12-08T11:29:11Z kcj quit (Ping timeout: 272 seconds) 2014-12-08T11:31:36Z jusss joined #lisp 2014-12-08T11:33:10Z EvW joined #lisp 2014-12-08T11:46:37Z Joreji quit (Read error: Connection reset by peer) 2014-12-08T11:47:04Z mishoo quit (Ping timeout: 244 seconds) 2014-12-08T11:51:12Z ndrei quit (Ping timeout: 256 seconds) 2014-12-08T11:52:20Z przl quit (Ping timeout: 256 seconds) 2014-12-08T11:52:29Z capcar joined #lisp 2014-12-08T11:54:15Z urandom__ joined #lisp 2014-12-08T11:59:21Z jtza8 joined #lisp 2014-12-08T12:01:20Z jtza8 quit (Remote host closed the connection) 2014-12-08T12:04:45Z isis_ quit (Read error: Connection reset by peer) 2014-12-08T12:05:05Z isis_ joined #lisp 2014-12-08T12:06:18Z isis_ is now known as therik 2014-12-08T12:06:31Z therik quit (Read error: Connection reset by peer) 2014-12-08T12:06:46Z isis_ joined #lisp 2014-12-08T12:08:34Z Shinmera joined #lisp 2014-12-08T12:09:24Z tadni` quit (Read error: Connection reset by peer) 2014-12-08T12:09:58Z c53100 joined #lisp 2014-12-08T12:10:00Z frkout_ joined #lisp 2014-12-08T12:10:11Z frkout quit (Read error: Connection reset by peer) 2014-12-08T12:12:29Z emma joined #lisp 2014-12-08T12:15:40Z pjb: minion: memo for beach: your idea of using macros to expand to lambda instead of named-lambda is still good, because (function (named-lambda …)) is actually always expanded from macros (in user sources). Namely, it's defun, defmacro, defgeneric, defmethod, flet, labels, and lambda that are the macros that may expand to (function (named-lambda …)). User code doesn't contain any occurence of #'(named-lambda …). 2014-12-08T12:15:40Z minion: Remembered. I'll tell beach when he/she/it next speaks. 2014-12-08T12:17:59Z Beetny quit (Ping timeout: 250 seconds) 2014-12-08T12:20:36Z pjb: drmeister: stassats was playing with you. FUNCTION creates closures and it's the only way to create closures. COERCE, COMPILE create functions, but cannot create closures. EVAL can return a closure, but not one created in the environment where EVAL is called. 2014-12-08T12:21:19Z stassats: the question was about functions 2014-12-08T12:21:35Z stassats: and it's irrelevant anyway, for the thousandth time 2014-12-08T12:26:59Z adlai: any reason AMQP isn't in quicklisp? 2014-12-08T12:27:57Z emma quit (Ping timeout: 250 seconds) 2014-12-08T12:28:00Z ivan4th: adlai: dunno. but it's a pity de.setf.amqp is AGPL 2014-12-08T12:28:44Z thawes joined #lisp 2014-12-08T12:29:32Z ivan4th: perhaps I'll have to write cffi bindings for rabbitmq-c or something 2014-12-08T12:31:02Z ndrei joined #lisp 2014-12-08T12:31:25Z stassats quit (Ping timeout: 250 seconds) 2014-12-08T12:33:57Z Xach: adlai: does it build for you? 2014-12-08T12:35:39Z flaggy quit (Ping timeout: 258 seconds) 2014-12-08T12:35:52Z pt1_ joined #lisp 2014-12-08T12:36:11Z flaggy joined #lisp 2014-12-08T12:36:31Z pjb: ivan4th: you may try bribery to get a commercial license, perhaps. 2014-12-08T12:37:46Z pt1_ quit (Remote host closed the connection) 2014-12-08T12:37:57Z pt1 quit (Read error: No route to host) 2014-12-08T12:38:02Z jusss quit (Remote host closed the connection) 2014-12-08T12:38:13Z pt1 joined #lisp 2014-12-08T12:38:49Z adlai: Xach: working on it 2014-12-08T12:39:02Z jusss joined #lisp 2014-12-08T12:39:02Z ndrei quit (Ping timeout: 245 seconds) 2014-12-08T12:40:30Z adlai: ugh, de.setf.utilities has an outdated asdf.asd >_< 2014-12-08T12:40:50Z frkout_ quit (Read error: Connection reset by peer) 2014-12-08T12:40:56Z frkout joined #lisp 2014-12-08T12:42:48Z Xach: adlai: de.setf.* is tempting because it covers a lot of ground. but i have never had any success getting anything to work. 2014-12-08T12:43:03Z Xach: I think it's one of those parallel universes of functionality. 2014-12-08T12:43:09Z Xach: Like the core-server stuff. 2014-12-08T12:43:25Z Xach: Works ok if you use it exclusively, not so well in concert with other things. 2014-12-08T12:43:46Z Shinmera: Can anyone tell my why drakma fails to POST a file with an UTF-8 filename, despite having specified :external-form-out :utf-8 ? http://plaster.tymoon.eu/view/7Y# 2014-12-08T12:43:52Z Shinmera: *format 2014-12-08T12:44:04Z Shinmera: Do I have to manually encode the filename to send or something 2014-12-08T12:46:04Z przl joined #lisp 2014-12-08T12:46:35Z JuanDaugherty joined #lisp 2014-12-08T12:47:28Z ndrei joined #lisp 2014-12-08T12:47:29Z Shinmera: Should I open an issue ticket for this? 2014-12-08T12:48:41Z adlai: https://github.com/lisp/de.setf.amqp/blob/master/readmes/README-build.md ^_^ 2014-12-08T12:50:14Z quazimodo quit (Ping timeout: 265 seconds) 2014-12-08T12:50:40Z przl quit (Ping timeout: 264 seconds) 2014-12-08T12:52:03Z Soft quit (Quit: WeeChat 1.1-dev) 2014-12-08T12:54:26Z H4ns: Shinmera: looks like a bug 2014-12-08T12:55:13Z Shinmera: I can't seem to control the encoding with *drakma-default-external-format* or implementation internal default encodings either. 2014-12-08T12:55:35Z henesy quit (Ping timeout: 258 seconds) 2014-12-08T12:55:39Z Shinmera: I'll open a bug ticket on github, if that's alright with you 2014-12-08T12:55:41Z Joreji joined #lisp 2014-12-08T12:55:57Z H4ns: Shinmera: sure, that is the very proper place. 2014-12-08T12:56:16Z H4ns: Shinmera: obviously, a pull request would be even more welcome :) 2014-12-08T12:56:51Z Shinmera: I'm not familiar with the drakma source, but I'll dig around to see if I can find something obviously fixable. 2014-12-08T12:57:54Z H4ns: ugh. 2014-12-08T12:58:28Z Shinmera: ? 2014-12-08T12:59:07Z BitPuffin joined #lisp 2014-12-08T12:59:09Z H4ns: i'm chasing the problem, and it is not a pretty sight 2014-12-08T12:59:12Z ndrei quit (Ping timeout: 256 seconds) 2014-12-08T12:59:14Z Shinmera: Ah. 2014-12-08T12:59:23Z Shinmera: Sorry to cause you trouble! 2014-12-08T12:59:32Z Soft joined #lisp 2014-12-08T12:59:52Z H4ns: it was my life choice to become ediware maintainer :) 2014-12-08T13:00:23Z Joreji quit (Ping timeout: 265 seconds) 2014-12-08T13:00:50Z Joreji joined #lisp 2014-12-08T13:01:05Z hiyosi joined #lisp 2014-12-08T13:01:59Z quazimodo joined #lisp 2014-12-08T13:03:19Z przl joined #lisp 2014-12-08T13:03:28Z Shinmera: Yeah, I can't make anything out in this, sorry. I'll write you a bug ticket though so you can have the pleasure of hitting the close button later. 2014-12-08T13:03:31Z H4ns: *drakma-default-external-format* would be meant to take care of the encoding, really, so i am not sure what is going on. and the code is.... well... not obvious. 2014-12-08T13:03:56Z H4ns: github issue is cool. please attach the backtrace and maybe a way to reproduce 2014-12-08T13:04:02Z Shinmera: Sure. 2014-12-08T13:04:08Z quazimodo quit (Remote host closed the connection) 2014-12-08T13:06:20Z Harag joined #lisp 2014-12-08T13:07:58Z tadni` joined #lisp 2014-12-08T13:08:37Z Shinmera: Here you go https://github.com/edicl/drakma/issues/49 2014-12-08T13:09:35Z H4ns: thanks. it may take me a bit before i get to it. 2014-12-08T13:09:48Z Shinmera: Sure. 2014-12-08T13:10:05Z pnpuff quit (Ping timeout: 264 seconds) 2014-12-08T13:10:16Z baotiao joined #lisp 2014-12-08T13:10:35Z Shinmera: I noticed it because my automatic filebox synchroniser failed on some of my audio files, but luckily that's not an urgent matter. 2014-12-08T13:10:47Z protist joined #lisp 2014-12-08T13:10:52Z lavokad joined #lisp 2014-12-08T13:11:06Z capcar quit (Quit: WeeChat 1.0.1) 2014-12-08T13:11:39Z frkout quit (Read error: Connection reset by peer) 2014-12-08T13:11:43Z frkout_ joined #lisp 2014-12-08T13:13:25Z ndrei joined #lisp 2014-12-08T13:15:20Z petrutrimbitas joined #lisp 2014-12-08T13:17:47Z lavokad quit (Remote host closed the connection) 2014-12-08T13:18:37Z Shinmera is more surprised that nobody seems to have hit this issue before 2014-12-08T13:18:53Z H4ns: it could still be a user error 2014-12-08T13:19:06Z lavokad joined #lisp 2014-12-08T13:20:03Z lavokad: hi, in neotree, each time i want create or delete a file or folder, im asked question "if i want to delete" having to say "yes" "no" 2014-12-08T13:20:22Z lavokad: how can i make it skip these question and respond yes always 2014-12-08T13:20:23Z lavokad: ? 2014-12-08T13:20:28Z resttime quit (Quit: resttime) 2014-12-08T13:20:32Z Shinmera: That's a question for #emacs 2014-12-08T13:20:42Z lavokad: ohh 2014-12-08T13:20:43Z lavokad: sorry 2014-12-08T13:20:49Z lavokad: i thought i was there 2014-12-08T13:20:52Z lavokad: :/ 2014-12-08T13:20:55Z Shinmera: It happens :) 2014-12-08T13:23:09Z stassats joined #lisp 2014-12-08T13:23:11Z gz quit (Ping timeout: 272 seconds) 2014-12-08T13:24:53Z gz__ joined #lisp 2014-12-08T13:25:12Z pranavrc quit 2014-12-08T13:28:03Z normanrichards quit 2014-12-08T13:28:20Z normanrichards joined #lisp 2014-12-08T13:32:46Z normanrichards quit (Ping timeout: 244 seconds) 2014-12-08T13:32:53Z baotiao quit (Quit: baotiao) 2014-12-08T13:34:45Z fe[nl]ix: lol 2014-12-08T13:34:50Z fe[nl]ix reads RFC 2231 2014-12-08T13:35:36Z lavokad quit (Read error: Connection reset by peer) 2014-12-08T13:40:28Z hardenedapple joined #lisp 2014-12-08T13:42:52Z ujal joined #lisp 2014-12-08T13:43:25Z ujal left #lisp 2014-12-08T13:45:29Z hlavaty: fe[nl]ix: it's amazing that so much resources is wasted on arbitrary syntax 2014-12-08T13:45:49Z stassats quit (Ping timeout: 265 seconds) 2014-12-08T13:49:06Z hlavaty: fe[nl]ix: btw are you still using perec + oracle? i fixed a bug in the rdbms backend 2014-12-08T13:49:52Z swflint_away joined #lisp 2014-12-08T13:50:10Z swflint_away is now known as swflint 2014-12-08T13:50:14Z fe[nl]ix: no, we switched to Java & Hibernate 2014-12-08T13:50:17Z _5kg quit (Ping timeout: 240 seconds) 2014-12-08T13:50:43Z hlavaty: i though you were doing lisp :-) 2014-12-08T13:50:45Z octophore joined #lisp 2014-12-08T13:50:53Z fe[nl]ix: not any more 2014-12-08T13:51:14Z hlavaty: another lisp business gone 2014-12-08T13:52:31Z fe[nl]ix: yeah 2014-12-08T13:52:36Z yrk joined #lisp 2014-12-08T13:53:06Z yrk quit (Changing host) 2014-12-08T13:53:06Z yrk joined #lisp 2014-12-08T13:53:23Z H4ns: fe[nl]ix: do you like it? or does it suck? 2014-12-08T13:53:32Z H4ns: fe[nl]ix: honest answer, please! :) 2014-12-08T13:54:04Z madmalik left #lisp 2014-12-08T13:54:41Z Harag quit (Ping timeout: 244 seconds) 2014-12-08T13:56:33Z fe[nl]ix: H4ns: you mean Hibernate ? 2014-12-08T13:56:49Z towodo joined #lisp 2014-12-08T13:56:54Z H4ns: fe[nl]ix: yeah, java & hibernate. as a lisper, how do you like it? 2014-12-08T13:57:00Z drmeister: Good morning - "swank" internals question - Does anyone know what to disable in swank so that its restart and condition handling doesn't keep recovering when it encounters an error in swank? 2014-12-08T13:57:34Z fe[nl]ix: H4ns: it's stupendously verbose and inflexible 2014-12-08T13:57:42Z egp_ joined #lisp 2014-12-08T13:57:46Z egp_ quit (Client Quit) 2014-12-08T13:57:46Z fe[nl]ix: but very high quality 2014-12-08T13:57:51Z drmeister: I can disable every restart-bind/handler-case I see but that may break swank 2014-12-08T13:58:11Z malbertife joined #lisp 2014-12-08T13:58:13Z H4ns: fe[nl]ix: high quality is not a bad feat 2014-12-08T13:58:21Z Shinmera: fe[nl]ix: High quality in what way? 2014-12-08T13:58:56Z fe[nl]ix: H4ns: a colleague wrote a full-featured REST server for a huge SQL schema in a week 2014-12-08T13:59:05Z fe[nl]ix: including full-coverage test suite 2014-12-08T13:59:30Z fe[nl]ix: it just took a lot of cut&paste, as we do not have macros 2014-12-08T14:00:07Z H4ns: fe[nl]ix: i did something similar with clojure this weekend (although not a huge schema), and i really came to appreciate macros again. 2014-12-08T14:00:18Z fe[nl]ix: Shinmera: the engineering kind, we didn't encounter any defect(bug) 2014-12-08T14:00:22Z H4ns: fe[nl]ix: anyway, it is sad to see common lisp projects move somewhere else. 2014-12-08T14:00:29Z fe[nl]ix: and since I'm doing QA here, I'm happy about that 2014-12-08T14:00:34Z Shinmera: fe[nl]ix: What about documentation? 2014-12-08T14:00:49Z rivrkeepr quit (Read error: Connection reset by peer) 2014-12-08T14:01:27Z rivrkeepr joined #lisp 2014-12-08T14:01:32Z fe[nl]ix: Shinmera: pretty good 2014-12-08T14:02:17Z Shinmera: fe[nl]ix: I'm glad to hear that then. (I'm asking because before I left my job they were considering different web/db options and Hibernate was one of the things to be considered) 2014-12-08T14:03:38Z protist: H4ns: I am saddened by the success of Clojure 2014-12-08T14:03:46Z H4ns: protist: why? 2014-12-08T14:03:56Z protist: H4ns: Clojure has some good ideas...but I prefer Common Lisp 2014-12-08T14:04:16Z protist: H4ns: my main issue is with how Clojure is heavy handed about being immutable 2014-12-08T14:04:23Z protist: H4ns: I like options 2014-12-08T14:04:46Z fe[nl]ix: H4ns: did you see rfc 2231 ? 2014-12-08T14:04:50Z H4ns: protist: but clojure does not destroy cl. what makes you sad about its success? 2014-12-08T14:04:54Z H4ns: fe[nl]ix: no 2014-12-08T14:05:09Z protist: H4ns: I think it does intrude on Common Lisp territory 2014-12-08T14:05:41Z protist: H4ns: a business that might consider Common Lisp will likely say "well Clojure is popular, and integrates with Java" 2014-12-08T14:05:54Z Shinmera: Common Lisp hisses at Clojure and shows its fangs in a vain attempt to defend its territory. 2014-12-08T14:05:54Z protist: H4ns: I would prefer them break free from Java and go with Common Lisp 2014-12-08T14:06:02Z ivan4th is currently (hopefully) switching to cl+js+some-go-in-background from python+js+some-cl-in-background for living. 2014-12-08T14:06:03Z Shinmera: Tune in next time on Programming Language Nature Channel 2014-12-08T14:06:24Z protist: H4ns: even if fewer of them break free from Java...I want the clear cut win that is Common Lisp (how I see it) 2014-12-08T14:06:35Z H4ns: protist: i have been doing common lisp for over 10 years, and i've never seen a business "consider" common lisp 2014-12-08T14:07:01Z protist: H4ns: what business are you in? 2014-12-08T14:07:03Z H4ns: protist: what i have seen and done is pursuade businesses into common lisp. 2014-12-08T14:07:12Z protist: H4ns: I haven't used Common Lisp professionally, but I would love to 2014-12-08T14:07:20Z fe[nl]ix: H4ns: you have to encode the UTF8 file name to octets, then encode octets to ASCII using URL-encoding, then split the header onto multiple lines if the name is too long 2014-12-08T14:07:43Z H4ns: fe[nl]ix: that sounds awesome. :( 2014-12-08T14:07:44Z araujo joined #lisp 2014-12-08T14:07:44Z araujo quit (Changing host) 2014-12-08T14:07:44Z araujo joined #lisp 2014-12-08T14:07:50Z H4ns: i'll make a note on the issue 2014-12-08T14:08:01Z fe[nl]ix: and to specify that the multiple parameters of content-disposition are to be concatenated, the parameters must have an index suffix 2014-12-08T14:08:19Z H4ns: *burp* 2014-12-08T14:08:39Z fe[nl]ix: so instead of name="foo.jpg", you have name*0="start"\r\n name*1="end" 2014-12-08T14:09:02Z brucem: protist: the only way to do that is to just do it. 2014-12-08T14:09:20Z brucem: protist: if you want to enough, you'll find a way. 2014-12-08T14:09:22Z H4ns: fe[nl]ix: noted, thanks. 2014-12-08T14:09:23Z pnpuff joined #lisp 2014-12-08T14:09:34Z fe[nl]ix: H4ns: the details are in RFC 5987, 2231 and 2047 2014-12-08T14:09:43Z protist: brucem: called one up...it was apparently a headhunter for the company said I sounded great...we emailed back and forth some...then he abruptly stopped responding to anything 2014-12-08T14:10:05Z protist: brucem: was a weird experience 2014-12-08T14:10:17Z Xach: fe[nl]ix: that is interesting. 2014-12-08T14:10:35Z s00pcan quit (Read error: Connection reset by peer) 2014-12-08T14:10:39Z protist: brucem: you are right though, I need to try more :) 2014-12-08T14:10:42Z c53100 quit (Ping timeout: 244 seconds) 2014-12-08T14:10:53Z fe[nl]ix: Xach: that's a gentle way to put it, if you're referring to the RFCs 2014-12-08T14:11:58Z s00pcan joined #lisp 2014-12-08T14:12:07Z fe[nl]ix: H4ns: and you can(must in practice?) also specify the encoding 2014-12-08T14:12:11Z frkout_ quit (Read error: Connection reset by peer) 2014-12-08T14:12:13Z fe[nl]ix: see section 4.1 of https://tools.ietf.org/html/rfc2231 2014-12-08T14:12:25Z frkout joined #lisp 2014-12-08T14:13:02Z Xach: fe[nl]ix: seems like a "something must be done, this is something, therefore we must do it" kind of thing. 2014-12-08T14:13:15Z fe[nl]ix: yeah :D 2014-12-08T14:13:54Z H4ns: fe[nl]ix: thank you for the insight. i've added it to https://github.com/edicl/drakma/issues/49 and may eventually get to fixing it properly. 2014-12-08T14:15:53Z fe[nl]ix: cool 2014-12-08T14:16:20Z Shinmera: fe[nl]ix: Why the splitting of the name though, do header lines have a max length? 2014-12-08T14:16:29Z Shinmera is confused 2014-12-08T14:16:46Z fe[nl]ix: yes, 2047 mandates line wrapping 2014-12-08T14:16:53Z shifty778 quit (Ping timeout: 240 seconds) 2014-12-08T14:17:06Z globait joined #lisp 2014-12-08T14:17:15Z globait: hello everyone does someone have a minute?' 2014-12-08T14:17:34Z ChanServ has set mode +o fe[nl]ix 2014-12-08T14:18:10Z Shinmera: " While there is no limit to the length of a multiple-line header field, each line of a header field that contains one or more 'encoded-word's is limited to 76 characters." wow 2014-12-08T14:19:51Z Grue`: clearly this limitation is there because it has to fit in the width of DOS terminal... 2014-12-08T14:20:08Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-08T14:20:50Z Shinmera: ¯\(°_o)/¯ 2014-12-08T14:20:58Z globait: i'm coming from a theater background and i would like to learn programming what would you recommend that i do? 2014-12-08T14:21:01Z fe[nl]ix: Shinmera: also https://tools.ietf.org/html/rfc5322#section-2.2.3 2014-12-08T14:22:18Z Shinmera: Remind me to never want to write an HTTP endpoint. 2014-12-08T14:22:51Z Shinmera: globait: Well, what would you like to do with programming? 2014-12-08T14:23:08Z globait: magic? 2014-12-08T14:23:33Z Shinmera: I'm asking because depending on what you'd like to do there's more or less fitting ways to start out. 2014-12-08T14:23:40Z globait: i would like to write web apps and create nice sites and make services that people could benefit from its use 2014-12-08T14:24:55Z globait: today i am starting a programming bootcamp and i feel like i am totally screwed, they have a 95% rejection rate and i somehow got it... i did put a ton of effort into it and i still find it extremely difficult after months of practice 2014-12-08T14:25:27Z globait: s/got it/got in 2014-12-08T14:25:43Z stassats joined #lisp 2014-12-08T14:25:58Z LiamH joined #lisp 2014-12-08T14:26:28Z Shinmera: This channel is dedicated towards Common Lisp programming. Is your course related to Lisp? 2014-12-08T14:27:17Z globait: no, it's rails, but all programming languages have an identical base 2014-12-08T14:27:43Z globait: i heard lisp people are generally much more knowledgeable than other programmers 2014-12-08T14:28:30Z Shinmera: I can't say one way or the other, but you might get better help for your specific questions in the channels that are dedicated towards web programming and/or rails. 2014-12-08T14:28:37Z pjb: globait: I'd advise you Shakespear. Yes, it's a programming language! :-) 2014-12-08T14:29:01Z pjb: http://en.wikipedia.org/wiki/Shakespeare_%28programming_language%29 2014-12-08T14:29:08Z globait: well, i don't really have specific questions, just general questions and i appreciate your concern :) 2014-12-08T14:29:11Z Shinmera: globait: I can't really tell you if this channel can be of much use to you without knowing what it is you're having trouble with. 2014-12-08T14:29:23Z globait: i'm struggling with logical thinking 2014-12-08T14:29:25Z sauerkrause: I wouldn't say identical base. I'd say there are several families of languages that differ quite drastically, but languages in the same family would be superficially similar at some scope. 2014-12-08T14:29:37Z pjb: globait: ok, it's a little a "joke" language, but it tells something about the commonality of theatre and programming. 2014-12-08T14:29:38Z stassats: even scheme is off-topic here 2014-12-08T14:29:53Z shortCircuit__ quit (Remote host closed the connection) 2014-12-08T14:30:43Z Cymew: globait: I take it you know little of programming then? I'd suggest you start with this book if you feel the urge for lisp http://www.cs.cmu.edu/~dst/LispBook/ 2014-12-08T14:31:06Z Cymew: It's quite methodical and easy going 2014-12-08T14:31:24Z globait: so shakespeare is kinda like markup then? 2014-12-08T14:31:26Z Cymew: But, I'm sure there are resources like that for Ruby and/or Ruby on Rails 2014-12-08T14:31:26Z sauerkrause: hey, that's the book they used to teach lisp back in uni. 2014-12-08T14:31:48Z pjb: globait: yes, this is the book I would rememend too. 2014-12-08T14:33:04Z globait: thanks for everything 2014-12-08T14:33:19Z pjb: globait: no, shakespeare is not about markup; it's a true programming language, turing complete, with variables and operations. Only it uses a syntax close to theater piece writing. 2014-12-08T14:33:25Z globait: i'm in tears just about how wonderful you guys are on irc helping someone out 2014-12-08T14:33:51Z Quadrescence joined #lisp 2014-12-08T14:34:06Z stassats: don't delude yourself 2014-12-08T14:34:06Z pjb: globait: there are a lot of other books we could advise, you if you start with http://www.cs.cmu.edu/~dst/LispBook/ your should be able to make it. Then come back to ask more. Also, have a look at http://cliki.net/Getting+Started 2014-12-08T14:34:19Z pjb: s/you if/but if/ 2014-12-08T14:34:21Z globait: i'm starting this program today! 2014-12-08T14:34:25Z globait: http://appacademy.io/ 2014-12-08T14:34:48Z _5kg joined #lisp 2014-12-08T14:34:52Z globait: i've gotten accepted, i think they should have rejected me i don't see what they seen in me, i am struggling and i my peers are prodigies 2014-12-08T14:35:03Z globait: and my peers* 2014-12-08T14:35:11Z stassats: this is not your twitter 2014-12-08T14:35:11Z zeitue quit (Quit: Leaving) 2014-12-08T14:35:43Z Cymew: globait: Go take a peek at that link I gave you. Feel free to return with specific common lisp related questions 2014-12-08T14:36:06Z pjb: globait: now it would depend on the kind of learner you are. appacademy teaches you Ruby. If you would be confused learning different programming languages at the same time, you should concentarte on Ruby for now (try #ruby), and come back to Common Lisp #lisp when you're done with appacademy. 2014-12-08T14:36:24Z duggiefresh joined #lisp 2014-12-08T14:36:27Z globait: will do pjb thank you so much! 2014-12-08T14:36:36Z Cymew: I can attest to the usefullness of #ruby 2014-12-08T14:36:56Z pjb: globait: the theory is that any human can be a programmer. If you are able to give directions to a fellow traveler, or if you can write a receipe, then you are a programmer, or so goes the theory. 2014-12-08T14:37:48Z pjb: globait: it's true, any human can do math and can do programming. Not everybody may be professionnal mathematician or professionnal programmer, that's something else. But it is great to learn programming anyhow. 2014-12-08T14:39:17Z brent80 joined #lisp 2014-12-08T14:39:26Z dlowe: even a tiny bit of programming knowledge gives you computer superpowers. 2014-12-08T14:39:30Z pjb: globait: have a look at: https://www.youtube.com/watch?v=-e8oBF4IrgU 2014-12-08T14:39:30Z globait: is a jr developer considered a "professional" programmer? 2014-12-08T14:39:31Z pnpuff: ...someone may be better than a professionist anyway...as an artist of the science (math/programming/engineering or whatever else) ;-) 2014-12-08T14:40:12Z gravicappa quit (Remote host closed the connection) 2014-12-08T14:40:21Z globait: i have a theory that anyone could become anything as long as they're taught in a manner that they understand 2014-12-08T14:40:27Z globait: but i might be wrong 2014-12-08T14:40:48Z pjb: globait: If you know some programming, you can talk to professional programmers and CS guys, so even if you don't do it yourself in the enterprise, it's a skill that puts you way ahead most of the other people. 2014-12-08T14:41:42Z globait: well, pjb i would like to graduate from this program and get a job working for a startup like everyone else and then start my own company 2014-12-08T14:42:45Z pjb: I forsee no problem. 2014-12-08T14:43:03Z pjb: They seem to have a quite complete curriculum. 2014-12-08T14:43:09Z frkout quit (Read error: Connection reset by peer) 2014-12-08T14:43:13Z frkout_ joined #lisp 2014-12-08T14:43:19Z wasamasa: "everone else" is working for startups? 2014-12-08T14:43:30Z wasamasa: sounds pretty far from the truth :P 2014-12-08T14:43:42Z drmeister: What is the point of DEFIMPLEMENTATION in swank? It doesn't seem to bind functions to symbols in the usual way. 2014-12-08T14:44:08Z pjb: drmeister: it's to define the implementation specific features. 2014-12-08T14:44:35Z pjb: drmeister: to port swank, you only have to provide specific implementations for those definitions. 2014-12-08T14:45:04Z stassats: drmeister: poor man's defmethod 2014-12-08T14:46:02Z drmeister: But it doesn't seem to bind the functions to the function slot of symbols. It appears to associate them with the 'IMPLEMENTATION property of the symbol that they are named after. It looks like you would get a kind of shadow namespace of functions. 2014-12-08T14:46:05Z pjb: drmeister: it also keep tracks of the missing implementation specific features: an implementation may lack some features, and still work with slime. 2014-12-08T14:46:28Z drmeister: It looks like a good idea - but am I understanding it correctly? 2014-12-08T14:46:34Z stassats: drmeister: that's an implementation detail 2014-12-08T14:47:06Z pjb: Yes, it stores the function on the property list of the symbol naming it, under the swank-backend::implementation key. 2014-12-08T14:47:12Z thawes quit (Ping timeout: 265 seconds) 2014-12-08T14:47:25Z drmeister: I'm about to go underground for a while - communication spotty - but I'll be able to see anything you post when I come out again. 2014-12-08T14:47:31Z Joreji quit (Ping timeout: 258 seconds) 2014-12-08T14:47:42Z thawes joined #lisp 2014-12-08T14:48:06Z drmeister: pjb: So to call one of these functions you use (funcall (get 'symbol 'implementation) ...) 2014-12-08T14:48:15Z pjb: drmeister: the actual function is defined by definterface. 2014-12-08T14:48:30Z pjb: It is the one that does this funcall. 2014-12-08T14:48:51Z stassats: drmeister: it's a poor man's defmethod and poor man's function redifinition 2014-12-08T14:48:56Z pjb: Notice that it deals with default implementations. 2014-12-08T14:48:59Z pjb: Yes, basically. 2014-12-08T14:49:03Z stassats: drmeister: so, it's not a good idea 2014-12-08T14:49:06Z stassats: just an idea 2014-12-08T14:49:18Z lavokad joined #lisp 2014-12-08T14:49:29Z pjb: They could have used defmethod as underlying mechanism to definterface and defimplementation. 2014-12-08T14:49:39Z drmeister: I see, DEFINTERFACE sets up a normal function binding that invokes the implementation function. 2014-12-08T14:49:52Z drmeister: Ok, I think I see. 2014-12-08T14:50:01Z pjb: However notice that swank is also designed to work with non CL implementations (Scheme, ruby, R), so they didn't assume CLOS availability in their design. 2014-12-08T14:50:28Z stassats: scheme ruby and r have nothing to do with definterface and defimplementation 2014-12-08T14:50:34Z drmeister: But they would have to write their swank in their language. 2014-12-08T14:50:59Z pjb: When I write programs that must run in different languages, I try to use a unique design. I assume swank authors did the same. 2014-12-08T14:51:24Z stassats: that's not the case 2014-12-08T14:51:40Z stassats: it's for swank to run on different implementations with different internals 2014-12-08T14:52:01Z gavilancomun joined #lisp 2014-12-08T14:52:07Z stassats: it has no relation the swank communication protocol in any way 2014-12-08T14:52:58Z pjb: Again, when I have to write teh same program on different targets, I still write a single specifications, and design a single architecture. 2014-12-08T14:53:02Z pjb: Call me lazy!!! 2014-12-08T14:53:50Z stassats: drmeister: and swank and slime is not the place to look for best programming practices 2014-12-08T14:54:08Z stassats: it works, but it's a mess 2014-12-08T14:55:43Z flip214: Is there a way to test whether a structure is already defined? I've got the symbol it should be using as name. 2014-12-08T14:55:59Z flip214: The only thing that I could find is (IGNORE-ERRORS (make-instance sym)) 2014-12-08T14:56:04Z stassats: find-class 2014-12-08T14:56:09Z pjb: make-instance cannot work on structures. 2014-12-08T14:56:12Z pjb: find-class either. 2014-12-08T14:56:18Z pjb: they _may_ work on them. 2014-12-08T14:56:23Z pjb: but it's not conforming. 2014-12-08T14:56:26Z stassats: sigh 2014-12-08T14:56:36Z stassats: clhs defstruct 2014-12-08T14:56:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defstr.htm 2014-12-08T14:56:41Z pjb: Conformingly, if you know the constructor, you could try to call it. 2014-12-08T14:56:47Z globait quit (Quit: Page closed) 2014-12-08T14:56:54Z stassats: "defstruct without a :type option defines a class with the structure name as its name." 2014-12-08T14:57:03Z pjb: (ignore-errors (make-)) 2014-12-08T14:57:47Z flip214: stassats: ah, thanks. so unless the defstruct was defeined with that option find-class should work. 2014-12-08T14:57:54Z stassats: flip214: so, (typep (find-class 'x) 'structure-class) 2014-12-08T14:58:34Z flip214: pjb: yeah, but if the constructor is different, then it gets a bit harder. MOP, of course... 2014-12-08T14:58:42Z flip214: I guess I'll do the find-class trick. 2014-12-08T14:58:50Z flip214: Thank you both! 2014-12-08T14:58:52Z stassats: it's the only proper way 2014-12-08T14:59:00Z stassats: and it's 100% conforming 2014-12-08T14:59:02Z pjb: ok, find-class should work to find structure-classes. 2014-12-08T14:59:08Z pjb: But not make-instance: make-instance (class standard-class) &rest initargs / make-instance (class symbol) &rest initargs 2014-12-08T14:59:08Z pjb: 2014-12-08T14:59:17Z pjb: it works only on standard classes. 2014-12-08T14:59:19Z jusss quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-08T15:00:01Z pjb: AFAIK. 2014-12-08T15:00:14Z stassats: flip214: another way to express the same thing: (subtypep 'x 'structure-object) 2014-12-08T15:00:16Z flip214: So, now I'll only have to define the class if it's not already here ... ;/ 2014-12-08T15:00:29Z stassats: what for? 2014-12-08T15:00:41Z stassats: ah, naturally i forget (typep (find-class 'x nil) 'structure-class) 2014-12-08T15:01:24Z pjb: Perhaps I should revise my notion here, since all implementation seem to allow make-instance on a symbol naming a structure-class. 2014-12-08T15:01:48Z stassats: whaddayknow, (subtypep 'x 'structure-object) doesn't work on clisp, but it wouldn't be clisp if it did 2014-12-08T15:01:57Z flip214: I want to fix CL-MESSAGEPACK for the ext-types. Giving a list of symbols to a function should be enough to get encoding/decoding and, if not already defined, the needed classes. 2014-12-08T15:01:57Z stassats: flip214: so, (typep (find-class 'x nil) 'structure-class) is my final offer 2014-12-08T15:02:07Z Quadrescence: stassats, hahaha 2014-12-08T15:02:29Z flip214: stassats: I'm already bought and sold, thanks so much ;) 2014-12-08T15:02:56Z pjb: stassats: here, it works also in clisp: clall -r '(defstruct p x y)' '(subtypep (quote p) (quote structure-object))' 2014-12-08T15:03:08Z stassats: pjb: try (subtypep (quote p) (quote structure-object)) 2014-12-08T15:03:21Z pjb: This is exactly what I wrote. 2014-12-08T15:03:25Z stassats: no you did not 2014-12-08T15:03:34Z pjb: Perhaps you forgot to define defstruct p? 2014-12-08T15:03:42Z stassats: perhaps you forgot the question 2014-12-08T15:03:57Z pjb: (equalp '(subtypep (quote p) (quote structure-object)) '(subtypep (quote p) (quote structure-object)))--> t 2014-12-08T15:04:01Z pjb: this is exactly what I wrote. 2014-12-08T15:04:09Z stassats: go check your message 2014-12-08T15:04:17Z pjb: Read again: stassats: here, it works also in clisp: clall -r '(defstruct p x y)' '(subtypep (quote p) (quote structure-object))' 2014-12-08T15:04:33Z stassats: (and yes, i'm intentionally being obtuse) 2014-12-08T15:05:12Z drmeister: Is there a way to disable call-with-debugging-environment being called when an error occurs in swank? I am seeing a problem in how backtraces are generated but swank just recovers and keeps going and I need it to just fail. 2014-12-08T15:05:31Z stassats: and i can repeat the question for your convenience "Is there a way to test whether a structure is already defined?" 2014-12-08T15:05:46Z mark__ joined #lisp 2014-12-08T15:05:56Z stassats: drmeister: what do you want to get called? 2014-12-08T15:07:47Z pjb: 7.1.6 Initialize-Instance: The generic function initialize-instance is called by make-instance to initialize a newly created instance. ; but initialize-instance has no standard method on structure-object, only on standard-object. Therefore make-instance should not be used in conforming programs, even if all implementations make it work: this is an extension. 2014-12-08T15:07:50Z thawes quit (Ping timeout: 256 seconds) 2014-12-08T15:08:42Z stassats: drmeister: you want to debug errors in slime itself? M-x slime-toggle-debug-on-swank-error 2014-12-08T15:09:17Z drmeister: Id like swank to just crash into its own debugger 2014-12-08T15:10:15Z oleo joined #lisp 2014-12-08T15:11:04Z stassats: whose own? 2014-12-08T15:11:07Z drmeister: Can't send anything from slime to swank yet. So emacs commands to control swank are ineffective 2014-12-08T15:11:12Z Joreji joined #lisp 2014-12-08T15:11:48Z mark__: hello. I was told that this may be a good place to talk about inclusion of a new macro into alexandria. This macro appears in Paul Graham's 'On Lisp' as '_f' (although its implementation there lacks one little detail) and it's pretty conservative. _f takes function and place and modifies the place with the function. So, for example (reversef place) is (_f #'reverse place) 2014-12-08T15:12:13Z stassats: i don't like the name 2014-12-08T15:12:27Z mark__: yes, it's ugly 2014-12-08T15:13:36Z frkout_ quit (Read error: Connection reset by peer) 2014-12-08T15:13:45Z Grue`: (funcf #'reverse place) 2014-12-08T15:13:49Z frkout joined #lisp 2014-12-08T15:14:04Z stassats: no better 2014-12-08T15:14:24Z stassats: can't say i'm a fan of modify macros, they sure require less typing 2014-12-08T15:14:37Z wasamasa: mark__: I thought alexandria's point was not becoming yet another huge collection of utilities? 2014-12-08T15:15:56Z mark__: well, I thought it's something like collection of very conservative utilites that complement standard Common Lisp... 2014-12-08T15:16:31Z dlowe: it's just hard to get things added, though I've been surprised at a few of the things that have been added 2014-12-08T15:17:28Z Grue`: there are some weird functions in alexandria 2014-12-08T15:17:52Z stassats: with a better name it's stops being much better than (setf place (reverse place)), so, i don't see a value 2014-12-08T15:18:11Z stassats: (just don't get me on multiple evaluation) 2014-12-08T15:18:11Z dlowe: I dunno. places can get pretty long 2014-12-08T15:18:29Z Grue`: stassats: that depends on the length of the place 2014-12-08T15:18:35Z dlowe: applyf? 2014-12-08T15:18:39Z mark__: yes, that's the point - places can have complex structure 2014-12-08T15:18:54Z dlowe: I'm applying a function to the value in the place? 2014-12-08T15:18:57Z stassats: apply-place was going to be my initial suggestion before i dismissed the idea 2014-12-08T15:19:02Z Grue`: though maybe in that case its worth to write an accessor 2014-12-08T15:19:20Z stassats: but then should be funcall, not apply 2014-12-08T15:19:51Z stassats: mark__: my editor posses a complex feature, copy and paste 2014-12-08T15:19:56Z dlowe: setf-call 2014-12-08T15:20:13Z pjb: mark__: if it wasn't already taken, it could have been named REPLACE :-) 2014-12-08T15:20:27Z pjb: mark__: perhaps: replacef 2014-12-08T15:20:46Z stassats: that's terrible 2014-12-08T15:20:56Z pjb: but then, you couldn't define a replacef modifier macro for the replace function :-( 2014-12-08T15:20:57Z pjb: yes. 2014-12-08T15:21:17Z karswell quit (Ping timeout: 240 seconds) 2014-12-08T15:21:21Z dlowe: how about just MODIFY 2014-12-08T15:21:33Z pjb: Yes, that would do. Or UPDATE. 2014-12-08T15:21:35Z dlowe: (modify #'string-downcase title) 2014-12-08T15:22:07Z splittist: then mark__ can write and publish trivial-modify... 2014-12-08T15:22:07Z thawes joined #lisp 2014-12-08T15:22:16Z stassats: with-place 2014-12-08T15:22:18Z mark__: well, in clojure something similar is called update-in, maybe 'updatef' then ? 2014-12-08T15:22:23Z Grue`: how about (modify place function1 function2 ...) and they are chained 2014-12-08T15:22:23Z shifty778 joined #lisp 2014-12-08T15:22:25Z jweiss joined #lisp 2014-12-08T15:22:39Z pjb: There's one problem with modifier macros: the order of argument is fixed. Writing and APPENDF and a PREPENDF require to define two functions (APPEND and PREPEND), where only the order of arguments changes. 2014-12-08T15:24:01Z dlowe: F was just a way to distinguish itself from SET and SETQ without upsetting previous lisps. It's not a requirement. 2014-12-08T15:24:02Z jweiss: i'm using cffi to call a function that takes no args and returns a bool: (cffi:foreign-funcall "app_init" :boolean) the next lisp gc after that will segfault. what could cause that? 2014-12-08T15:24:15Z dlowe: I like Grue`'s idea 2014-12-08T15:24:17Z mishoo joined #lisp 2014-12-08T15:24:48Z petrutrimbitas quit (Quit: petrutrimbitas) 2014-12-08T15:24:49Z stassats: jweiss: heap corruption 2014-12-08T15:25:02Z dlowe: update/modify/mutate 2014-12-08T15:25:21Z wasamasa: mark__: since alexandria explicitly mentions it's meant to be conservative 2014-12-08T15:25:31Z jweiss: stassats: so what might cause heap corruption then? the lib writing to memory it shouldn't? 2014-12-08T15:25:35Z petrutrimbitas joined #lisp 2014-12-08T15:25:46Z stassats: yes 2014-12-08T15:26:19Z jweiss: stassats: but i've used this same lib elsewhere, including via swig+python, which has not had any problem. 2014-12-08T15:26:42Z jweiss: maybe that was just luck 2014-12-08T15:27:01Z stassats: it may be stack corruption as well 2014-12-08T15:27:04Z stassats: what implementation is that? 2014-12-08T15:27:05Z brent80 quit (Quit: ZNC - http://znc.in) 2014-12-08T15:27:10Z jweiss: stassats: sbcl 2014-12-08T15:27:17Z jweiss: i get segfaults in ecl also though 2014-12-08T15:27:47Z stassats: what library is that? 2014-12-08T15:28:55Z jweiss: stassats: it's one my company is developing, i have access to the source. it's a c++ lib, i'm making some of the functions extern C so that we can call them without swig. they take and return standard types and aren't overloaded. 2014-12-08T15:29:12Z stassats: what funny things does it do? 2014-12-08T15:30:39Z jweiss: stassats: i don't know, this particular function just initializes some stuff and returns a boolean. I've been calling it from python for many months without issue. 2014-12-08T15:31:07Z stassats: what does initialize? 2014-12-08T15:31:28Z jweiss: hm, i'd have to dig into the source, i'm not a C++ programmer but i could give you some idea, hang on 2014-12-08T15:31:50Z stassats: allocating memory, setting up signal handlers, creating threads? 2014-12-08T15:32:05Z pjb: - 2014-12-08T15:32:06Z stassats: anything that might be unusual 2014-12-08T15:37:45Z jweiss: stassats: looks like it finds the config directory, sets up the signal handler. ok here is something unusual: https://github.com/Open-Transactions/opentxs/blob/develop/src/core/crypto/OTCrypto.cpp#L425-433 but i have no idea if that has anything to do with it. 2014-12-08T15:38:01Z stassats: jweiss: which signal? 2014-12-08T15:38:14Z jweiss: hm, let me check the signal handler. 2014-12-08T15:38:24Z tadni` quit (Remote host closed the connection) 2014-12-08T15:39:17Z swflint quit (Remote host closed the connection) 2014-12-08T15:42:28Z jweiss: stassats: looks like a bunch, SIGINT, SIGSEGV, SIGBUG, SIGTERM, SIGILL, SIGTTIN, SIGTTOU, SIGFPE, SIGXFSZ, SIGSYS. the build system has a flag to turn on the signal handler, and it's on. i could try again with it compiled out. 2014-12-08T15:43:13Z Krystof: do 2014-12-08T15:43:15Z stassats: SIGSEGV looks bad in particular 2014-12-08T15:43:19Z Krystof: if you stomp on SEGV nothing will work 2014-12-08T15:43:42Z Krystof: I believe it is possible to write a proper handler (which delegates to an already-existing one) with sigaction() 2014-12-08T15:43:46Z Joreji quit (Ping timeout: 255 seconds) 2014-12-08T15:43:48Z Krystof: I haven't yet seen anyone do that in the wild 2014-12-08T15:44:01Z jweiss: what do you mean? wouldn't that only matter once you've had a segfault already? 2014-12-08T15:44:03Z stassats is thinking again about signalless and protectionless runtime 2014-12-08T15:44:18Z stassats: jweiss: segfault doesn't always mean a bad thing 2014-12-08T15:44:25Z Krystof: jweiss: no, the Lisp runtime traps and handles SEGVs 2014-12-08T15:44:25Z frkout quit (Read error: Connection reset by peer) 2014-12-08T15:44:36Z frkout joined #lisp 2014-12-08T15:45:14Z stassats: jweiss: with MMU, you can mark a region of memory as read only, or no access at all, and at the access time it will generate a trap 2014-12-08T15:45:16Z jweiss: interesting. ok, i'll recompile without the signal handler and see if that makes a differnce. if that's it that's definitely something I never would have figured out on my own :) 2014-12-08T15:45:19Z Krystof: we implement tracking writes to memory pages by making the pages read-only, and trapping the segmentation fault caused by attempts to write 2014-12-08T15:45:19Z boogie quit (Quit: Leaving...) 2014-12-08T15:45:25Z Joreji joined #lisp 2014-12-08T15:45:30Z stassats: you can then handle it, do something with that region, unprotect and continue 2014-12-08T15:45:35Z Krystof: our signal handler re-enables write access to the page and continues 2014-12-08T15:45:45Z stassats: is there an echo? 2014-12-08T15:46:35Z Krystof: (it's surely bad practice to trap signals in libraries at all: what if two different libraries want to perform their own cleanup actions?) 2014-12-08T15:47:28Z jweiss: Krystof: well, at the time this was written, the library was only intended to be used by internal programs. i'm using it to test those programs so i'm breaking their intended use case. 2014-12-08T15:47:48Z stassats: signalless and protectionless runtime will be required for proper sbcl.so 2014-12-08T15:47:57Z jweiss: still, this is all good to know and i can get it fixed since i think portability will become important. 2014-12-08T15:48:23Z stassats: so that you can load sbcl.so inside sbcl 2014-12-08T15:48:33Z stassats: or inside ccl 2014-12-08T15:49:01Z Karl_Dscc joined #lisp 2014-12-08T15:50:08Z Krystof: stassats: will it? I'd have thought that we could "just" use sigaction properly 2014-12-08T15:50:33Z stassats: using signals properly, now that's a conundrum 2014-12-08T15:51:42Z yrk quit (Quit: ERC (IRC client for Emacs 25.0.50.1)) 2014-12-08T15:52:43Z drmeister: stassats: If I (setf (debug-on-swank-error) nil) at the top of swank/clasp.lisp what will the effect be? Or (setf (debug-on-swank-error) t) Is the top of swank/clasp.lisp a good place to do this or will it be overridden? 2014-12-08T15:53:06Z stassats: drmeister: try it 2014-12-08T15:53:51Z drmeister: Hmm, I have about a 5 minute cycle time to test things. Which one has the opposite effect of the default? 2014-12-08T15:53:59Z stassats: i have no idea 2014-12-08T15:54:13Z fe[nl]ix: yes, trapping signals in libraries is very bad practice 2014-12-08T15:54:36Z billstclair quit (Read error: Connection reset by peer) 2014-12-08T15:54:48Z brent80 joined #lisp 2014-12-08T15:54:51Z stassats: Krystof: and stopping using signals is easy, stop for gc can be done with safepoints, just without using protection, but a jump instead 2014-12-08T15:55:07Z drmeister: toggle-debug-on-swank-error will probably do the opposite of what it's currently doing as long as I put it in the right place. 2014-12-08T15:55:07Z stassats: getting relocatable cores would be harder 2014-12-08T15:55:09Z jweiss: i am not sure how it's supposed to work, can't you set up a signal handler to say, shut down network connections on SIGINT but still allow other handlers to get called? 2014-12-08T15:55:20Z wheelsucker joined #lisp 2014-12-08T15:55:58Z Karl_Dscc quit (Remote host closed the connection) 2014-12-08T15:56:07Z drmeister: I got it. 2014-12-08T15:56:28Z drmeister: backend.lisp (defparameter *debug-swank-backend* nil ) - currently. 2014-12-08T15:56:50Z stassats: but you can't connect slime, so, what's the point? 2014-12-08T15:56:57Z stassats: just disable the swank debugger completely 2014-12-08T15:57:33Z swflint_away joined #lisp 2014-12-08T15:57:52Z swflint_away is now known as swflint 2014-12-08T15:58:27Z chu quit (Remote host closed the connection) 2014-12-08T15:58:32Z jweiss: stassats: ahhh sweet, that was it. works fine with the signal handler disabled. that probably saved me several days of investigation. 2014-12-08T15:59:10Z jweiss: i will happily send you a bitcoin tip if you accept them :) 2014-12-08T15:59:19Z stassats: nah, don't worry 2014-12-08T15:59:26Z stassats: we ain't in it for the money 2014-12-08T15:59:47Z k-dawg quit (Quit: This computer has gone to sleep) 2014-12-08T16:00:11Z Krystof: http://paste.lisp.org/display/144631 # approximately? 2014-12-08T16:00:36Z jweiss: love the lisp community. every time i have a python question, #python gives me an infinite recursion of "why are you trying to do that" 2014-12-08T16:00:43Z Krystof: oops, also need SA_SIGACTION in flags 2014-12-08T16:01:08Z drmeister: stassats: How do I disable the swank debugger completely? 2014-12-08T16:01:27Z drmeister: jweiss: Why are you trying to ask python questions? 2014-12-08T16:01:45Z drmeister ducks 2014-12-08T16:01:48Z stassats: drmeister: reimplement install-debugger-globally? 2014-12-08T16:01:55Z jweiss: drmeister: until recently i had to use python. 2014-12-08T16:01:58Z stassats: drmeister: but why are you trying to do that? 2014-12-08T16:02:10Z yrk joined #lisp 2014-12-08T16:02:13Z emma joined #lisp 2014-12-08T16:02:22Z emma quit (Changing host) 2014-12-08T16:02:22Z emma joined #lisp 2014-12-08T16:02:35Z stassats: Krystof: but whose handler is called first? 2014-12-08T16:02:41Z yrk quit (Changing host) 2014-12-08T16:02:41Z yrk joined #lisp 2014-12-08T16:02:47Z jweiss: oh now i get drmeister's joke :) 2014-12-08T16:03:03Z Krystof: stassats: shouldn't matter: they should be worrying about disjoint areas of memory 2014-12-08T16:03:03Z jweiss: sorry so humorless after dealing with that crap :) 2014-12-08T16:03:16Z Krystof: ILTWIS"should" 2014-12-08T16:03:58Z drmeister: stassats: I'm not sure. At the moment, when I start swank in clasp - everything loads and it blocks in SWANK:ACCEPT-CONNECTIONS 2014-12-08T16:04:12Z Krystof: stassats: if we implemented this we could in theory work better under gdb without all that stuff about everyone trying to use SIGTRAP 2014-12-08T16:04:22Z drmeister: https://gist.github.com/drmeister/dc4248cf4e861621e7d3 2014-12-08T16:04:52Z Krystof: I say "in theory" because everyone needs to cooperate at passing on signals to parent handlers if they're not ones of their own, and as I say no-one does 2014-12-08T16:04:56Z Krystof: or did, when I last looked at it 2014-12-08T16:05:25Z stassats: drmeister: sorry, i was using your joke 2014-12-08T16:05:28Z Karl_Dscc joined #lisp 2014-12-08T16:06:19Z drmeister: Then in emacs I go M-x slime-connect and then swank throws a fit, tries to print a backtrace and fails, tells me (currently) that CL:READ-SEQUENCE is missing and then recovers and goes back to trying to process more slime requests. I just want to drop into the repl. 2014-12-08T16:06:33Z drmeister: Ha! Now it drops into the clasp debugger. 2014-12-08T16:07:14Z drmeister: https://gist.github.com/drmeister/46a50bfd334383e540f1 2014-12-08T16:07:19Z drmeister: That's all I wanted. 2014-12-08T16:07:38Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-08T16:07:59Z stassats: that should be easy to implement 2014-12-08T16:09:46Z fe[nl]ix: Qt hijacks SIGCHLD 2014-12-08T16:09:53Z stassats: yeah 2014-12-08T16:10:02Z stassats: in a bad way 2014-12-08T16:10:19Z stassats: i think they improved it a bit in later versions 2014-12-08T16:11:36Z drmeister: Yes. Currently Clasp has multiple problems and it helps to drop into the system debugger to figure out what they are one by one. This one is pretty clear. Thanks. 2014-12-08T16:11:53Z przl quit (Ping timeout: 252 seconds) 2014-12-08T16:16:03Z frkout_ joined #lisp 2014-12-08T16:16:16Z frkout quit (Read error: Connection reset by peer) 2014-12-08T16:17:07Z axion: anyone familiar with the static-vectors library? 2014-12-08T16:17:19Z stassats: maybe 2014-12-08T16:17:32Z stassats: i'm sure fe[nl]ix is 2014-12-08T16:17:41Z munksgaard quit (Ping timeout: 264 seconds) 2014-12-08T16:18:24Z fe[nl]ix: axion: I wrote it 2014-12-08T16:18:40Z axion: i'm just wondering how i can go about programtically filling a static-vector. the usual cl functions dont seem to work. i am pretty new to this :) 2014-12-08T16:19:18Z fe[nl]ix: axion: please paste a small piece of code that doesn't do what you expect 2014-12-08T16:19:33Z fe[nl]ix: and also, what OS/Lisp implementation you're using 2014-12-08T16:19:34Z stassats: isn't a static vector an ordinary vector? 2014-12-08T16:19:36Z axion: well, the problem is i cannot make it adjustable 2014-12-08T16:19:51Z fe[nl]ix: that's correct, you cannot do that 2014-12-08T16:19:52Z stassats: well, it's static after all, cant' be adjustable 2014-12-08T16:20:04Z axion: i need a way to push hundreds of floats to it after creation, or somehow to its constructor 2014-12-08T16:20:08Z nee quit (Quit: Verlassend) 2014-12-08T16:20:34Z stassats: static vectors is an optimization, if you're using adjustable vectors you can forget about performance 2014-12-08T16:20:35Z fe[nl]ix: you can create a displaced array that has a static vector as back-end 2014-12-08T16:21:01Z axion: ok, well i need a vector that won't be GC'd to send off to opengl 2014-12-08T16:21:20Z fe[nl]ix: but, if possible, pre-compute the vector size and create it with the right size from the beginning 2014-12-08T16:21:57Z drdanmaku joined #lisp 2014-12-08T16:22:27Z axion: hmm ok thanks 2014-12-08T16:22:43Z stassats: you don't need static-vectors for that 2014-12-08T16:22:55Z axion: oh? |3b| recommended it over cffi 2014-12-08T16:23:41Z stassats: cffi:foreign-alloc will do what you want 2014-12-08T16:23:55Z axion: yeah the idea was to avoid cffi 2014-12-08T16:24:03Z stassats: you can't use opengl without cffi 2014-12-08T16:24:04Z theseb joined #lisp 2014-12-08T16:24:12Z axion: true, but it';s abstracted 2014-12-08T16:24:19Z axion: i no nothing about C or allocating memory 2014-12-08T16:24:24Z axion: know* 2014-12-08T16:24:31Z stassats: and you can't use static-vectors without cffi for that 2014-12-08T16:25:05Z axion: hmm ok, i guess i'll just use immediate mode for drawing then 2014-12-08T16:25:33Z stassats: static-vectors will work, just that if all you want is to pass an array to C, you don't need it 2014-12-08T16:26:13Z axion: hmm 2014-12-08T16:26:19Z stassats: as it says in the readme, it's useful for sharing vectors, as in, you have lisp code which works on vectors, and then you pass it into a foreign library 2014-12-08T16:26:43Z axion: right 2014-12-08T16:29:02Z petrutrimbitas quit (Quit: petrutrimbitas) 2014-12-08T16:34:38Z redeemed quit (Quit: q) 2014-12-08T16:36:13Z JokesOnYou77 joined #lisp 2014-12-08T16:36:42Z pt1 quit (Ping timeout: 244 seconds) 2014-12-08T16:37:32Z theseb: help! Did I find a bug in Paul Graham's simple Common Lisp implementation of eval?.....here is CL eval code.. http://ep.yimg.com/ty/cdn/paulgraham/jmc.lisp ....not 3rd line of eval function 2014-12-08T16:37:43Z theseb: ((atom e) (assoc. e a)) 2014-12-08T16:37:50Z theseb: is he assume all atoms are vars??!?! 2014-12-08T16:37:54Z theseb: assuming* 2014-12-08T16:38:07Z JokesOnYou77: Hi all. How can I print to both the REPL and to a file? (I have a stream for the file already but for testing it would be nice to see in the REPL without opening the file) 2014-12-08T16:38:08Z theseb: s/not/note 2014-12-08T16:38:17Z stassats: clhs dribble 2014-12-08T16:38:17Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_dribbl.htm 2014-12-08T16:38:36Z stassats: that's the other way around 2014-12-08T16:39:01Z stassats: (make-broadcast-stream file-stream *standard-output) 2014-12-08T16:39:25Z matthewhill joined #lisp 2014-12-08T16:39:27Z matthewhill quit (Client Quit) 2014-12-08T16:40:23Z stassats: theseb: what does so many punctuation marks, "??!?!", add to your question? 2014-12-08T16:41:14Z Grue`: theseb: it's just a trivial lisp implementation that doesnt support such things as numeric constants 2014-12-08T16:41:30Z Quadrescence joined #lisp 2014-12-08T16:41:34Z JokesOnYou77: Broadcast-stream. Perfect, thank you! 2014-12-08T16:42:09Z milosn quit (Ping timeout: 260 seconds) 2014-12-08T16:42:52Z stassats: Grue`: '1 2014-12-08T16:42:53Z Grue`: (make-broadcast-stream) is also great for a stream that goes nowhere 2014-12-08T16:44:33Z theseb: stacksmith: cuz i'm excited! 2014-12-08T16:44:57Z theseb: Grue`: oh snap you're right...no numbers but what about STRINGS? 2014-12-08T16:44:58Z stassats: so excited you can't type my name 2014-12-08T16:45:14Z theseb: stassats: lisp has me pumped lately 2014-12-08T16:45:15Z stassats: theseb: it does support numbers 2014-12-08T16:45:19Z stassats: see above 2014-12-08T16:45:31Z Grue`: well you can't do anything with them, but... 2014-12-08T16:45:35Z gingerale joined #lisp 2014-12-08T16:45:48Z theseb: Grue`: well being able to eval the poort things would be a start 2014-12-08T16:46:05Z theseb: stassats: Grue` said "doesnt support such things as numeric constants" 2014-12-08T16:46:17Z stassats: well, i refuted him 2014-12-08T16:46:25Z Grue`: theseb: technically I was wrong about that 2014-12-08T16:46:25Z khisanth_ is now known as Khisanth 2014-12-08T16:46:27Z theseb: stassats: oh yes you can quote 2014-12-08T16:46:35Z frkout joined #lisp 2014-12-08T16:46:36Z theseb: stassats: and you can quote strings!!!! 2014-12-08T16:46:41Z theseb: stassats: yer a genius! 2014-12-08T16:46:46Z frkout_ quit (Read error: Connection reset by peer) 2014-12-08T16:47:04Z stassats: not really, that's all because i don't put four exclamation marks after every sentence 2014-12-08T16:47:24Z stassats: and you can't quote strings, since there are no strings 2014-12-08T16:47:43Z theseb: Grue`: wait...why do you say there are no strings? 2014-12-08T16:47:49Z theseb: stassats: sorry..that was for you 2014-12-08T16:48:10Z stassats: this thing doesn't implement a reader 2014-12-08T16:48:22Z Grue`: this lisp implementation depends on Common Lisp reader, so any CL atom will be atom for this lisp 2014-12-08T16:48:31Z stassats: so, anything the parent implementation has will be passed to it 2014-12-08T16:48:58Z stassats: so, everything is just blobs 2014-12-08T16:49:11Z theseb: I can accept that Paul G is assuming all atoms (except vars) will be quoted 2014-12-08T16:49:23Z stassats: or did you want to go writing program in a 60 line language interpretation? 2014-12-08T16:49:41Z rhllor joined #lisp 2014-12-08T16:49:55Z towodo quit (Ping timeout: 255 seconds) 2014-12-08T16:49:56Z theseb: stassats: i can't believe you caught that...i'm still in awe 2014-12-08T16:50:20Z theseb: imho Paul should have stated that in his Roots of Lisp 2014-12-08T16:50:29Z stassats: stated what? 2014-12-08T16:50:37Z Grue`: it should be self-evident that this is a toy example 2014-12-08T16:50:41Z theseb: maybe he should add a footnote..."Special thanks to stassats for stating atoms are handled with quotes" 2014-12-08T16:50:53Z theseb: Grue`: yes 2014-12-08T16:50:54Z stassats: you are just confused 2014-12-08T16:51:31Z theseb: stassats: i am just used to REPLs that you can type strings and numbers into them....and they spit out the original atom 2014-12-08T16:51:50Z theseb: stassats: i forgot that isn't necessary 2014-12-08T16:52:33Z stassats: that's called self evaluation objects 2014-12-08T16:52:39Z stassats: the #" reader macro 2014-12-08T16:52:49Z stassats: the #\" reader macro creates a string 2014-12-08T16:53:07Z stassats: the reader parses 10 as an number, not as a symbol 2014-12-08T16:54:09Z theseb: stassats: yea..thanks 2014-12-08T16:54:27Z stassats: so, when you conflate two different incompatible implementations, you get confusion 2014-12-08T16:54:43Z rhllor quit (Ping timeout: 272 seconds) 2014-12-08T16:55:33Z rhllor joined #lisp 2014-12-08T16:55:36Z przl joined #lisp 2014-12-08T16:56:07Z theseb: stassats: basically to be able to tell diff between vars, numbers and strings he'd need to at least at enough of reader macro primitives to where he could access substrings and analyze 2014-12-08T16:56:23Z theseb: s/at enough/implement enough 2014-12-08T16:56:36Z stassats: this thing evaluates forms, not strings 2014-12-08T16:56:58Z stassats: and you can implement numbers with lists 2014-12-08T16:57:23Z theseb: stassats: wait..i thought the purpose of eval was to be able to pass strings...so i'd do (eval '(+ 1 2) 'env) 2014-12-08T16:57:50Z theseb: unless you refer to '(+ 1 2) as a "form" 2014-12-08T16:57:54Z theseb: i'm not so good on the proper lingo yet 2014-12-08T16:58:33Z stassats: how many times did i tell to learn lisp instead of infatuating yourself with implementations? 2014-12-08T16:58:56Z jasom: theseb: eval cannot evaluate strings 2014-12-08T16:59:04Z theseb: stassats: i just bough Land Of Lisp and I have SICP...i'm working on it 2014-12-08T16:59:10Z jasom: theseb: or rather strings are self evaluating 2014-12-08T16:59:18Z theseb: stassats: heck i'm teaching my son CL 2014-12-08T16:59:23Z theseb: stassats: or plan to at least 2014-12-08T16:59:28Z theseb: stassats: i love lisp 2014-12-08T16:59:30Z Grue`: poor son 2014-12-08T16:59:33Z jasom: (eval "(+ 1 2)") => "(+ 1 2)" 2014-12-08T16:59:41Z pnpuff: jasom: that's cool! 2014-12-08T16:59:44Z Quadrescence: theseb, did you read SICP and do the exercises yet 2014-12-08T16:59:51Z theseb: Quadrescence: working on it 2014-12-08T17:00:02Z Quadrescence: how far are you? 2014-12-08T17:00:15Z theseb: Quadrescence: i want to get ch 1 perfect before i move on 2014-12-08T17:00:28Z jasom: clhs 3.1.2.1 2014-12-08T17:00:28Z specbot: Form Evaluation: http://www.lispworks.com/reference/HyperSpec/Body/03_aba.htm 2014-12-08T17:00:41Z theseb: Grue`: no! here's my thinking...some teach their kids chess to develop their brains right?....why not lisp too? 2014-12-08T17:00:54Z theseb: Grue`: can't you see lisp would be good for a little developing brain? 2014-12-08T17:00:58Z theseb: ") 2014-12-08T17:01:06Z jasom: there's the entirety of the evaluation semantics 2014-12-08T17:02:28Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-08T17:03:01Z attila_lendvai joined #lisp 2014-12-08T17:03:01Z attila_lendvai quit (Changing host) 2014-12-08T17:03:01Z attila_lendvai joined #lisp 2014-12-08T17:03:09Z theseb: jasom: yes that's how a good eval should work....i think this primitive eval expects (eval 'sexp 'env) unless i'm mistaken 2014-12-08T17:03:38Z drmeister: Damn, I'm glad I put the time into figuring out function naming yesterday. 2014-12-08T17:03:55Z drmeister: Debugging swank without readable backtraces would su-uck. 2014-12-08T17:03:59Z jasom: theseb: common-lisp doesn't define an eval that takes an environment. Also, why did you quote the argument names? 2014-12-08T17:04:31Z stassats: jasom: common lisp has global environment, this thing does not 2014-12-08T17:04:42Z theseb: stassats: thanks 2014-12-08T17:04:53Z jasom scrolls up to figure out what "this thing" is 2014-12-08T17:05:22Z stassats: (eval. 'x '((x 10))) => 10 2014-12-08T17:05:44Z theseb: jasom: it is the prophet Paul Graham's "look how awesome and elegant Lisp is" version of eval 2014-12-08T17:06:03Z theseb: jasom: "The Roots Of Lisp" paper 2014-12-08T17:06:05Z stassats: oh come on, can't you be any more silly with your "prophet" 2014-12-08T17:06:26Z Grue`: if you want Paul Graham's favorite lisp, look up Arc 2014-12-08T17:06:50Z jasom: stassats: well to be fair, arc has 87 more years to catch on :P 2014-12-08T17:07:21Z stassats: is a 100 year language like a 1000 year reich? 2014-12-08T17:07:25Z stassats: wham, godwin law 2014-12-08T17:07:28Z drmeister: Alrighty, I received a form in swank - now I just have to get it to talk back to slime. 2014-12-08T17:08:08Z Shinmera: stassats: Haven't seen Godwin in here yet, props. 2014-12-08T17:08:45Z theseb: stassats: say...i was thinking.....with CL everyone can write macros to bend it to their whims right?....e.g. if CL didn't have first but only car....anybody could just define first as an alias to car and BAM..they have their own little perfect pet language right? 2014-12-08T17:08:49Z ndrei quit (Ping timeout: 255 seconds) 2014-12-08T17:09:03Z pjb: the reader will always parse 10 as an integer (as long as no reader macro is put on digits), but 43 could be parsed as a symbol if *read-base* is 2. 2014-12-08T17:09:33Z attila_lendvai quit (Quit: Leaving.) 2014-12-08T17:09:46Z gavilancomun quit (Quit: ChatZilla 0.9.91 [Firefox 34.0/20141125180439]) 2014-12-08T17:09:46Z stassats: did you end your sentence in a dot or is that a decimal base dot? 2014-12-08T17:10:20Z pjb: 2 is 2. in all bases :-) 2014-12-08T17:10:21Z pjb: (|CL|:|SETF| |CL|:|*READ-BASE*| (|CL|:|+| 1 1)) 2014-12-08T17:10:27Z theseb: stassats: i doubt the "base" is a decimal 2014-12-08T17:10:32Z theseb: even *I* know that! :) 2014-12-08T17:10:34Z Joreji quit (Ping timeout: 250 seconds) 2014-12-08T17:10:46Z pjb: (but base 2 of course). 2014-12-08T17:10:54Z gravicappa joined #lisp 2014-12-08T17:10:57Z pjb: hence (|CL|:|+| 1 1). 2014-12-08T17:11:19Z billstclair joined #lisp 2014-12-08T17:11:19Z billstclair quit (Changing host) 2014-12-08T17:11:19Z billstclair joined #lisp 2014-12-08T17:11:40Z stassats: well, all digits are themselves in all bases, as long as they fit 2014-12-08T17:11:42Z pjb: The Lisp reader is really a wonderful piece. You can have fun with it for months. 2014-12-08T17:11:52Z Grue`: *read-base* is such a silly feature, maybe CL committee expected the humanity to switch from decimal in the future 2014-12-08T17:12:01Z swflint quit (Remote host closed the connection) 2014-12-08T17:12:03Z stassats: Grue`: maclisp used base 8 2014-12-08T17:12:07Z stassats: they had to be compatible 2014-12-08T17:12:08Z theseb: pjb: i heard someone implemented a lot of haskell in CL 2014-12-08T17:12:21Z pjb: Yes, a lot of old languages used base 8. 2014-12-08T17:12:25Z stassats: Grue`: so, it's a bout the past 2014-12-08T17:12:31Z Grue`: figures 2014-12-08T17:12:47Z pjb: theseb: ML was originally implemented in Lisp, just like Postgres, Smalltalk, etc, etc. 2014-12-08T17:12:55Z pjb: Javascript. 2014-12-08T17:13:06Z stassats: Grue`: but having bases thrown all around is pretty useful 2014-12-08T17:13:27Z pjb: stassats: it's also about some specific packages where you may prefer to have a lot of binary or octal (or evel hexadecimal) literals. 2014-12-08T17:13:28Z theseb: pjb: but if someone mucks with your beloved reader so much they are running 1000s of macros won't that make even a hello world in their DSL be *butt* slow? 2014-12-08T17:13:35Z stassats: Grue`: like in parse-integer, or write, or ~r in format 2014-12-08T17:13:45Z stassats: not many languages have built in things like that 2014-12-08T17:13:53Z pjb: theseb: whatever you do at read-time takes only time at read-time. 2014-12-08T17:14:10Z pjb: theseb: see: http://cliki.net/Performance 2014-12-08T17:14:31Z Grue`: package written in hexadecimal would be confusing seeing something like DAD is actually a number 2014-12-08T17:14:47Z stassats: that's why 8 is better 2014-12-08T17:14:51Z pjb: :-) 2014-12-08T17:14:56Z pjb: QED. 2014-12-08T17:15:04Z stassats: but why stop, base 36 2014-12-08T17:15:06Z frkout quit (Ping timeout: 265 seconds) 2014-12-08T17:15:37Z emma quit (Ping timeout: 272 seconds) 2014-12-08T17:15:45Z pjb: Notice, with *read-base* 36. it looks like it's now case insensitive! :-) (for reading integers). 2014-12-08T17:15:55Z theseb: pjb: wait..i know CL has good performance.....are you saying those links will prove CL has good performance even with massive padding of reader with 1000s of macro goodies? 2014-12-08T17:16:15Z pjb: theseb: my point is that "good performance" doesn't mean anything. 2014-12-08T17:16:21Z pjb: What do you want to be good? 2014-12-08T17:16:22Z emma joined #lisp 2014-12-08T17:16:44Z theseb: pjb: i'm sure when Smalltalk was done in a lisp DSL they didn't care about performance 2014-12-08T17:16:46Z pjb: The time the programmer spends? the time the compiler spends _reading_? The time the compiler spends _compiling_? The time the computer spends executing? 2014-12-08T17:17:04Z theseb: pjb: as long as it ran in some sane amount of time they were happy to get their research paper done 2014-12-08T17:17:23Z tharugrim quit (Ping timeout: 245 seconds) 2014-12-08T17:17:36Z pjb: With the time the programmer spends, do you prefer the programmer spending time thinking about a good solution to his problem, or spending good and efficient time debugging? 2014-12-08T17:17:49Z Joreji joined #lisp 2014-12-08T17:18:19Z theseb: pjb: former 2014-12-08T17:18:29Z pjb: theseb: And when we have nowadays computer working one million times faster, with one million times more RAM, and one billion times more permanent storage, how does any of this still matter? 2014-12-08T17:18:51Z stassats: because of what you told 2014-12-08T17:19:01Z tharugrim joined #lisp 2014-12-08T17:19:12Z pjb: I only said: theseb: whatever you do at read-time takes only time at read-time. 2014-12-08T17:19:35Z stassats: computers are getting faster, but the software manages to consume all the resources 2014-12-08T17:19:56Z theseb: pjb: i can't believe people implement entire languages in Lisp..that just blows my mind 2014-12-08T17:20:30Z pjb: And you can believe people implement entire languages in C, and that doesn't blow your mind? 2014-12-08T17:20:58Z stassats: or in assembly 2014-12-08T17:21:28Z pjb: stassats: yes, but it still does a little more than the old software. Compare eg. nethack with Eve online. Or compare tn and Firefox. 2014-12-08T17:22:14Z stassats: most of the web things are gimmicks any way 2014-12-08T17:22:31Z Grue`: lately it's all about reimplementing old software in javascript that runs slower than it ran in the 90s 2014-12-08T17:23:52Z pjb: stassats: I'm only saying two things: the software of the computer of the NCC-1701-D will look more like firefox than tn :-) 2014-12-08T17:24:54Z pjb: stassats: think about it, what happens once we've programmed all the algorithms in reusable libraries? Will we still need programmers, or will it be enough for the user to say: "computer, perpare the holodeck to show be a simulation of the enterprise in orbit around Aldebarn"? 2014-12-08T17:25:09Z pjb: s/be/me/ 2014-12-08T17:26:54Z munksgaard joined #lisp 2014-12-08T17:27:08Z stassats: the designers and managers will invent a way to make your life hell trying to implement this neat little feature everybody will love 2014-12-08T17:27:09Z pjb: The fact is that the web browsers considered as OSes, do a good job to package a lot of functionalities, usable easy from a declarative form (HTML/XML) or some high level programming (Javascript). It's the same principle as the Lisp Machine or Smalltalk. 2014-12-08T17:27:55Z EvW1 joined #lisp 2014-12-08T17:28:43Z stassats: http://xkcd.com/1425/ 2014-12-08T17:28:48Z mark__ left #lisp 2014-12-08T17:29:07Z theseb: pjb, stassats: wait....tell me this is crazy....anyone ever tried implementing C in lisp? 2014-12-08T17:29:14Z stassats: sure 2014-12-08T17:29:19Z theseb: SURE!? 2014-12-08T17:29:26Z theseb: man 2014-12-08T17:29:33Z theseb: mind blown again 2014-12-08T17:29:40Z stassats: you are easily surprised 2014-12-08T17:29:50Z stassats: there's nothing special about it 2014-12-08T17:30:56Z theseb: stassats: so you just translate a for loop in C to an sexpr in CL that does looping, etc. 2014-12-08T17:31:05Z theseb: stassats: i guess i was expecting some kind of impedance mismatch 2014-12-08T17:31:19Z theseb: something that didn't translate so nicely 2014-12-08T17:31:21Z pnpuff: Aldebaran, I like it... 2014-12-08T17:31:46Z stassats: theseb: for loop is a computation 2014-12-08T17:31:52Z stassats: you translate it into another computation 2014-12-08T17:32:59Z EvW quit (Ping timeout: 265 seconds) 2014-12-08T17:33:26Z towodo joined #lisp 2014-12-08T17:33:42Z Joreji quit (Read error: Connection reset by peer) 2014-12-08T17:34:35Z pjb: theseb: check vacietis 2014-12-08T17:35:18Z pjb: https://github.com/vsedach/Vacietis 2014-12-08T17:35:36Z pjb: There's also an old fortran to cl: f2cl 2014-12-08T17:35:59Z pjb: On the Lisp Machine too there were several such compilers for non-lisp languages. 2014-12-08T17:36:13Z pullphinger joined #lisp 2014-12-08T17:40:56Z pjb: Xach: did vacietis disappear from quicklisp? Why? (ql:quickload "vacietis") and (ql:quickload "vacietis.vcc") fail with ; Evaluation aborted on #. :-( 2014-12-08T17:40:59Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-12-08T17:41:33Z pnpuff: pjb: it's an interesting link 2014-12-08T17:47:47Z swflint_away joined #lisp 2014-12-08T17:48:10Z swflint_away is now known as swflint 2014-12-08T17:48:46Z jasom: zeta-lisp had a c compiler too, right? 2014-12-08T17:50:41Z theseb: if someone likes some of the syntax of scheme and clojure and other lisps.....they can just write CL macros to happily mould CL into their ultimate perfect syntax w/o leaving CL right? 2014-12-08T17:50:55Z fe[nl]ix: jasom: yes 2014-12-08T17:50:56Z stassats: no 2014-12-08T17:51:15Z theseb: stassats: no for jasom or me? 2014-12-08T17:51:19Z stassats: you 2014-12-08T17:51:26Z stassats: macros provide only a limited way to modify 2014-12-08T17:51:37Z jasom: theseb: sort of. You are still restricted to the reader algorithm, which includes interning of symbols 2014-12-08T17:51:37Z pnpuff: I was reading about zeta-c just now 2014-12-08T17:51:39Z theseb: stassats: wait..if CL can implement C they can certainly implement clojure and scheme 2014-12-08T17:51:58Z stacksmith: C is much more limited... 2014-12-08T17:52:03Z mrSpec quit (Quit: mrSpec) 2014-12-08T17:52:11Z fe[nl]ix: http://www.textfiles.com/bitsavers/bits/TI/Explorer/zeta-c/ 2014-12-08T17:52:18Z Bike: vacietis is a C compiler, not something to use C syntax in a lisp program. 2014-12-08T17:53:03Z jasom: (though you can completely hijack the lisp reader if you want by setting a reader macro for every single possible character) 2014-12-08T17:53:20Z Xach: theseb: not via macros. 2014-12-08T17:54:21Z stassats: jasom: or, yknow, you can hijack the LOAD function 2014-12-08T17:54:56Z loz joined #lisp 2014-12-08T17:54:59Z theseb: Xach: oh hey..i read an interview of you! you use the REPL to run shell commands and crank out C and Perl code when $BOSS needs another language!? crazy! 2014-12-08T17:55:09Z stacksmith: Well, if there is a way to map target language S-exps to CL, I image you could do it with reader macros and macros. But why? There are decent clojure and scheme implementations out there. 2014-12-08T17:55:37Z stacksmith: imagine, not image. 2014-12-08T17:55:44Z theseb: Xach: basically CL REPO is your command and control for life.....impressive 2014-12-08T17:55:53Z theseb: er at least your desktop 2014-12-08T17:56:26Z theseb: Linux is just your device driver for Emacs 2014-12-08T17:56:34Z jasom: theseb: also after you've done this, you are now writing in a language that arguably isn't CL anymore; moving away from a standard should only be done if the gains by doing so outweigh the costs 2014-12-08T17:56:51Z innertracks joined #lisp 2014-12-08T17:57:17Z theseb: jasom: sure 2014-12-08T17:57:19Z stacksmith: Also, the only reason to use closure afaic is JVM, which of course you'd not have with CL... 2014-12-08T17:57:44Z stacksmith: clojure, sorry. 2014-12-08T17:57:48Z stassats: theseb: you have some magical impression of lisp 2014-12-08T17:57:57Z pnpuff: stacksmith: maybe with abcl yes... 2014-12-08T17:58:01Z stassats: i guess when you don't know things everything seems magical 2014-12-08T17:58:10Z theseb: stassats: lol....i'm learning fast 2014-12-08T17:58:19Z stassats: doesn't look like it 2014-12-08T17:58:33Z rivrkeepr: sussman magic scheme is it 2014-12-08T17:58:47Z jasom: stacksmith: it does have some opinions on shared state, and an STM library. And replace JVM with a list of possible host environments (CLR, javascript come to mind) 2014-12-08T17:58:58Z theseb: rivrkeepr: magic? 2014-12-08T17:59:13Z rivrkeepr: some found that hp machine magic 2014-12-08T17:59:39Z rivrkeepr: chipmonk, was that the implementation used for mit undergrads? forget 2014-12-08T18:00:14Z stacksmith: I still think Apple ][ is magic. 2014-12-08T18:00:19Z theseb: jasom: i don't get that....imagine your get addicted to Java libs w/ clojure and then you move to a CLR/.NET clojure....now you got 90% of your tools ripped out from under you 2014-12-08T18:00:57Z stacksmith: Don't get addicted to Java libs... 2014-12-08T18:01:18Z Shinmera: How does one even do that? 2014-12-08T18:01:36Z stacksmith: It requires a spoon and a syringe 2014-12-08T18:01:52Z Shinmera: No, I mean, getting addicted to Java libs. 2014-12-08T18:01:52Z theseb: stacksmith: at the very least your clojure code is nonportable between the different VMs...that ain't cool 2014-12-08T18:03:02Z rivrkeepr: agree, appl 2, lisa, that amiga machine..magic. lisp machine and NeXt workstations..magic. 'computers are getting faster, but the software manages to consume all the resources' indeed 2014-12-08T18:03:22Z theseb: stacksmith: i'm hoping to do something with Arduino and CL....Arduino has that simple magic the Apple ][ had 2014-12-08T18:03:52Z theseb: stacksmith: i.e. beautifully simple elegant hardware 2014-12-08T18:04:34Z stacksmith: theseb, respectfully disagree: Arduino has that C++ magic that I don't respect, no on-board software, and a culture that calls their code "sketches" 2014-12-08T18:04:34Z Karl_Dscc quit (Remote host closed the connection) 2014-12-08T18:05:23Z theseb: stacksmith: :) 2014-12-08T18:05:34Z stacksmith: theseb, and there is little elegance in the idiotic connector that is shifted to make it impossible to plugboard 2014-12-08T18:06:24Z fantazo quit (Quit: Verlassend) 2014-12-08T18:06:57Z k-stz joined #lisp 2014-12-08T18:07:01Z kushal joined #lisp 2014-12-08T18:07:07Z stacksmith: But arduino does present opportunities for total nerds to meet artist chicks, I suppose. 2014-12-08T18:07:29Z przl quit (Ping timeout: 264 seconds) 2014-12-08T18:08:17Z rivrkeepr: visited a coding class a geek was teaching at an art college once. that can be an ultra sweet gig 2014-12-08T18:08:28Z jasom: theseb: I have lisp code that invokes the fork() syscall; that's not portable to windows, but I won't run it under windows. 2014-12-08T18:08:51Z mishoo quit (Ping timeout: 252 seconds) 2014-12-08T18:09:37Z theseb: rivrkeepr: "Where's the any key?" type class? 2014-12-08T18:09:47Z theseb: stacksmith: doubtful 2014-12-08T18:09:55Z stacksmith: Has anyone here used the serial port to communicate to retrocomputers/controllers from CL? 2014-12-08T18:10:04Z theseb: stacksmith: it takes more than calling code "sketches" to meet chicks 2014-12-08T18:10:22Z rivrkeepr: theseb, this was some time back, and they were using pascal running on appl2's if memory serves 2014-12-08T18:11:14Z stacksmith: theseb, just go to those arduino meetups, you'll see what I mean. It gets pretty gross on occasions. 2014-12-08T18:12:17Z zacharias quit (Ping timeout: 244 seconds) 2014-12-08T18:12:33Z stacksmith: "I'm doing my art school project. Can you guys help me?" type of crap. Lot's of bearded dudes to the rescue, chaos ensues, marriages broken. 2014-12-08T18:13:38Z rivrkeepr: they were writing their own programs but i didn't get to see the projects or final projects. that art school actually has way smart kids many of whom would do well in lots of different fields--but who realize as young adults they want to risk careers as fine artists 2014-12-08T18:14:38Z t4nk044 joined #lisp 2014-12-08T18:14:59Z stassats: this is grossly off-topic 2014-12-08T18:15:03Z stacksmith: Any thoughts on CL serial port access? 2014-12-08T18:15:19Z pjb: theseb: what part of Universal TUring Machine didn't you understand? http://en.wikipedia.org/wiki/Universal_Turing_machine 2014-12-08T18:15:21Z rivrkeepr: lol broken marriages. hard to do constructive recursions within that traditional marriage once the hot art ladies show up--very true 2014-12-08T18:15:26Z stassats: stacksmith: just open the device file 2014-12-08T18:15:33Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-12-08T18:15:50Z milosn joined #lisp 2014-12-08T18:16:05Z rivrkeepr: it's migrating back to lisp and logo worldviews 2014-12-08T18:16:46Z pjb: - 2014-12-08T18:17:04Z theseb: stassats: lol 2014-12-08T18:17:16Z goglosh joined #lisp 2014-12-08T18:17:36Z stacksmith: stassats, that would work, but would be nice to have some higher-level control of port settings, and the damn console messes with characters... 2014-12-08T18:17:53Z pnpuff quit (Ping timeout: 264 seconds) 2014-12-08T18:18:00Z goglosh: you know what we should make? a texinfo guide to CL 2014-12-08T18:18:12Z stassats: "we" shouldn't 2014-12-08T18:18:13Z pt1 joined #lisp 2014-12-08T18:18:17Z goglosh: something like a unifide reference 2014-12-08T18:18:26Z towodo quit (Quit: towodo) 2014-12-08T18:18:35Z theseb: stacksmith: sorry..that lol was meant 4u 2014-12-08T18:18:40Z goglosh: stassats I get it, still, it'd be nice yo have 2014-12-08T18:18:46Z goglosh: to* 2014-12-08T18:19:01Z brent80 quit (Ping timeout: 255 seconds) 2014-12-08T18:19:59Z rivrkeepr: some years later from that same school i did see final projects students from a vr course, in a gallery. irix on sgi gear no doubt. artist prefer consistent structure ultimately without the infinite mission creep to many coding environments. lisp didn't catch on within that community for initial cost-of-investment reasons, no doubt 2014-12-08T18:20:30Z pjb: It caught amongst musicians. 2014-12-08T18:20:32Z rivrkeepr: final student projects, that is/artists 2014-12-08T18:20:45Z adlai: goglosh: https://github.com/eudoxia0/cl-ansi-spec/fork 2014-12-08T18:20:50Z stacksmith: goglosh, what's wrong with the HyperSpec? 2014-12-08T18:21:15Z rivrkeepr: saw some early dx7 type cultures. musicians at that level have more money to work with, that young fine (visual) artists in the colleges, as a rule 2014-12-08T18:22:01Z fe[nl]ix: rivrkeepr: please stop now. it's off-topic 2014-12-08T18:22:03Z blahzik joined #lisp 2014-12-08T18:22:30Z rivrkeepr: than their peers, in the other field. or that's how it used to be. berklee might have spent (or had donated) a 100K synclavier--but a 100K lisp machine wasn't going to go into visual-artist hands that way 2014-12-08T18:22:39Z rivrkeepr: it's very on-topic actually 2014-12-08T18:22:43Z stassats: no it's not 2014-12-08T18:22:50Z fe[nl]ix has set mode +b *!~river@*.sbcglobal.net 2014-12-08T18:22:50Z rivrkeepr [~quassel@pdpc/supporter/professional/fenlix] has been kicked from #lisp by fe[nl]ix (rivrkeepr) 2014-12-08T18:23:03Z malbertife quit (Ping timeout: 258 seconds) 2014-12-08T18:23:09Z malbertife_ joined #lisp 2014-12-08T18:23:14Z ChanServ has set mode -o fe[nl]ix 2014-12-08T18:26:20Z genii joined #lisp 2014-12-08T18:27:36Z pt1 quit (Ping timeout: 265 seconds) 2014-12-08T18:28:24Z towodo joined #lisp 2014-12-08T18:30:57Z arenz quit (Ping timeout: 240 seconds) 2014-12-08T18:31:47Z pt1 joined #lisp 2014-12-08T18:33:37Z theseb: lol 2014-12-08T18:34:59Z drmeister: Slime uses rassoc-if which uses rassoc (sigh) another function I'd neglected to implement. 2014-12-08T18:36:10Z ndrei joined #lisp 2014-12-08T18:36:31Z corni joined #lisp 2014-12-08T18:37:30Z Qudit314159 quit (Remote host closed the connection) 2014-12-08T18:37:53Z Qudit314159 joined #lisp 2014-12-08T18:41:20Z towodo quit (Quit: towodo) 2014-12-08T18:43:33Z gf3 is now known as lawngnode 2014-12-08T18:44:16Z goglosh: hyperspec? 2014-12-08T18:45:00Z Xach: goglosh: http://l1sp.org/cl/ 2014-12-08T18:45:23Z j_king: looks like exercism.io finally enabled the common lisp exercises on their site. 2014-12-08T18:45:34Z goglosh: ugh I'm a noob 2014-12-08T18:45:36Z goglosh: anyway, thanks 2014-12-08T18:46:05Z edran quit (Ping timeout: 264 seconds) 2014-12-08T18:46:59Z s00pcan quit (Remote host closed the connection) 2014-12-08T18:48:42Z vi1 quit (Remote host closed the connection) 2014-12-08T18:49:56Z pt1 quit (Read error: Connection reset by peer) 2014-12-08T18:51:14Z pt1 joined #lisp 2014-12-08T18:52:30Z towodo joined #lisp 2014-12-08T18:54:25Z goglosh quit (Quit: leaving) 2014-12-08T18:54:50Z drewc thinks "it looks like j_king read /r/lisp the same time I did!" 2014-12-08T18:55:43Z drewc: good morning all, and good moon daeg 2014-12-08T18:59:00Z s00pcan joined #lisp 2014-12-08T19:00:32Z mishoo joined #lisp 2014-12-08T19:02:58Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-08T19:06:18Z MoALTz joined #lisp 2014-12-08T19:07:48Z Karl_Dscc joined #lisp 2014-12-08T19:09:28Z MoALTz quit (Read error: Connection reset by peer) 2014-12-08T19:09:52Z stassats quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-08T19:10:05Z mishoo quit (Ping timeout: 252 seconds) 2014-12-08T19:11:17Z MoALTz joined #lisp 2014-12-08T19:13:25Z przl joined #lisp 2014-12-08T19:14:41Z TDT joined #lisp 2014-12-08T19:17:04Z Joreji joined #lisp 2014-12-08T19:17:37Z przl quit (Ping timeout: 240 seconds) 2014-12-08T19:18:17Z milosn quit (Read error: Connection reset by peer) 2014-12-08T19:19:00Z milosn joined #lisp 2014-12-08T19:20:27Z Petit_Dejeuner quit (Ping timeout: 258 seconds) 2014-12-08T19:22:35Z klltkr_ joined #lisp 2014-12-08T19:22:55Z black_13 quit (Quit: Page closed) 2014-12-08T19:24:08Z TDT quit (Read error: Connection reset by peer) 2014-12-08T19:24:24Z TDT joined #lisp 2014-12-08T19:26:32Z rhllor_ joined #lisp 2014-12-08T19:27:22Z brent80 joined #lisp 2014-12-08T19:27:25Z rhllor quit (Ping timeout: 250 seconds) 2014-12-08T19:27:25Z rhllor_ is now known as rhllor 2014-12-08T19:28:15Z Petit_Dejeuner joined #lisp 2014-12-08T19:29:30Z _JokerDoom joined #lisp 2014-12-08T19:30:01Z _JokerDoomWork joined #lisp 2014-12-08T19:32:11Z JokerDoomWork quit (Ping timeout: 250 seconds) 2014-12-08T19:32:22Z JokerDoom quit (Ping timeout: 244 seconds) 2014-12-08T19:32:38Z protist quit (Quit: Konversation terminated!) 2014-12-08T19:33:57Z drmeister: Getting swank to work is rough - so many implementation dependent details 2014-12-08T19:38:42Z Xach: drmeister: probably one of the most popular programs with a lot of implementation-specific code. 2014-12-08T19:39:29Z kcj joined #lisp 2014-12-08T19:41:23Z pt1 quit (Read error: Connection reset by peer) 2014-12-08T19:45:29Z kcj quit (Read error: Connection reset by peer) 2014-12-08T19:45:48Z pt1 joined #lisp 2014-12-08T19:46:19Z isis_ quit (Ping timeout: 244 seconds) 2014-12-08T19:46:35Z hiroakip joined #lisp 2014-12-08T19:49:35Z fridim_ quit (Ping timeout: 258 seconds) 2014-12-08T19:51:05Z fragamus joined #lisp 2014-12-08T19:51:42Z hiroakip quit (Ping timeout: 265 seconds) 2014-12-08T19:52:46Z ivan4th: drmeister: did it for js many years ago. Can you imagine driving IE6 from SLIME REPL? did it at some point, too (although it used flash sockets and didn't work very well) 2014-12-08T19:53:43Z pt1 quit (Read error: Connection reset by peer) 2014-12-08T19:53:50Z fragamus quit (Read error: Connection reset by peer) 2014-12-08T19:54:33Z fragamus joined #lisp 2014-12-08T19:54:57Z fragamus quit (Client Quit) 2014-12-08T19:56:22Z Petit_Dejeuner_ joined #lisp 2014-12-08T19:57:11Z isis_ joined #lisp 2014-12-08T19:57:15Z Petit_Dejeuner quit (Ping timeout: 258 seconds) 2014-12-08T19:57:37Z theseb quit (Quit: Leaving) 2014-12-08T19:58:10Z ggole quit 2014-12-08T19:58:19Z hiroakip joined #lisp 2014-12-08T20:03:06Z towodo_ joined #lisp 2014-12-08T20:04:41Z towodo quit (Ping timeout: 264 seconds) 2014-12-08T20:04:42Z towodo_ is now known as towodo 2014-12-08T20:05:39Z pt1 joined #lisp 2014-12-08T20:06:38Z blahzik quit (Quit: blahzik) 2014-12-08T20:07:36Z nikki93_ joined #lisp 2014-12-08T20:08:09Z isis_ quit (Ping timeout: 250 seconds) 2014-12-08T20:09:53Z codeberg quit (Remote host closed the connection) 2014-12-08T20:10:26Z codeberg joined #lisp 2014-12-08T20:12:08Z pt1 quit (Ping timeout: 256 seconds) 2014-12-08T20:15:31Z Petit_Dejeuner__ joined #lisp 2014-12-08T20:15:35Z isis_ joined #lisp 2014-12-08T20:17:24Z flaggy quit (Ping timeout: 272 seconds) 2014-12-08T20:19:07Z angavrilov quit (Remote host closed the connection) 2014-12-08T20:19:29Z blahzik joined #lisp 2014-12-08T20:19:29Z Petit_Dejeuner_ quit (Ping timeout: 258 seconds) 2014-12-08T20:20:10Z edgar-rft quit (Quit: continuation closed into paranoid error) 2014-12-08T20:21:11Z zacharias joined #lisp 2014-12-08T20:23:06Z gabriel_laddel joined #lisp 2014-12-08T20:26:36Z k-stz quit (Remote host closed the connection) 2014-12-08T20:29:19Z stacksmith: ivan4th, AeroNotix 2014-12-08T20:29:38Z stacksmith: drives the browser from REPL, i believe 2014-12-08T20:30:55Z rhllor quit (Quit: rhllor) 2014-12-08T20:31:16Z JuanDaugherty quit (Remote host closed the connection) 2014-12-08T20:31:56Z lavokad quit (Remote host closed the connection) 2014-12-08T20:34:26Z pt1 joined #lisp 2014-12-08T20:35:00Z pt1 quit (Read error: Connection reset by peer) 2014-12-08T20:35:53Z pt1 joined #lisp 2014-12-08T20:38:58Z gingerale quit (Ping timeout: 255 seconds) 2014-12-08T20:40:24Z akkad joined #lisp 2014-12-08T20:41:18Z akkad tries to find a way to ask in a non-(troll|flamewar) manner what is missing from CL in Clojure. 2014-12-08T20:41:38Z fragamus joined #lisp 2014-12-08T20:41:39Z Quadrescence joined #lisp 2014-12-08T20:43:44Z mishoo joined #lisp 2014-12-08T20:43:50Z Petit_Dejeuner_ joined #lisp 2014-12-08T20:45:58Z wasamasa: akkad: on this channel? 2014-12-08T20:47:26Z edran joined #lisp 2014-12-08T20:47:28Z Petit_Dejeuner__ quit (Ping timeout: 258 seconds) 2014-12-08T20:47:53Z AeroNotix: ivan4th: lispkit is an application exposing webkit2 via CL 2014-12-08T20:48:13Z juanlas joined #lisp 2014-12-08T20:49:23Z Petit_Dejeuner_ quit (Ping timeout: 258 seconds) 2014-12-08T20:50:51Z akkad: wasamasa: you're right. 2014-12-08T20:51:08Z wasamasa: akkad: if anything, #clojure will know 2014-12-08T20:51:15Z wasamasa: akkad: but certainly not #lisp 2014-12-08T20:51:18Z akkad: ((let (the_record_show 'withdrawn))) 2014-12-08T20:51:31Z wasamasa: akkad: perhaps ##lisp will work 2014-12-08T20:51:54Z pgomes joined #lisp 2014-12-08T20:52:32Z ivan4th: AeroNotix: I was talking about swank-js. I used it to develop js apps some time ago, so I could interat with js in FF, Chome, on iPad and so on. Unfortunately it's of much less use today with majority of modern js projects because everything just sits inside closures and C-M-x on a function definition isn't that useful most of the time 2014-12-08T20:52:44Z ivan4th: *interact 2014-12-08T20:52:45Z towodo quit (Quit: towodo) 2014-12-08T20:53:04Z AeroNotix: ivan4th: sorry I misunderstood 2014-12-08T20:53:24Z ivan4th: s/Chome/Chrome/ 2014-12-08T20:55:04Z Petit_Dejeuner_ joined #lisp 2014-12-08T20:55:12Z pt1 quit (Ping timeout: 256 seconds) 2014-12-08T20:58:34Z milosn quit (Ping timeout: 245 seconds) 2014-12-08T21:00:12Z innertracks quit (Quit: innertracks) 2014-12-08T21:00:26Z drmeister: ivan4th: Using javascript with slime - how do you determine where an expression starts and stops? 2014-12-08T21:00:41Z BitPuffin quit (Ping timeout: 260 seconds) 2014-12-08T21:01:00Z drmeister: Do determine what to send to swank. Or did the user just select a region and evaluate that? 2014-12-08T21:03:43Z innertracks joined #lisp 2014-12-08T21:06:29Z blahzik quit (Quit: blahzik) 2014-12-08T21:06:58Z isis_ quit (Ping timeout: 245 seconds) 2014-12-08T21:08:52Z isis_ joined #lisp 2014-12-08T21:09:31Z ivan4th: drmeister: in REPL, you just press enter and the expression is sent to the swank backend 2014-12-08T21:09:36Z attila_lendvai joined #lisp 2014-12-08T21:09:44Z ivan4th: and for .js files js2-mode provides access to ast 2014-12-08T21:09:55Z jumblerg joined #lisp 2014-12-08T21:11:09Z ivan4th: ... that contains source position information that can be used to determine where start & end of a function is. although of course it's all much harder than in case of lisp 2014-12-08T21:13:11Z ivan4th: I used to organize js code in distinct "top level forms" (avoiding module pattern etc.), than I did some hacks to make swank-js work with requirejs, and then I gave up 2014-12-08T21:14:02Z ndrei quit (Ping timeout: 245 seconds) 2014-12-08T21:14:23Z hiroakip quit (Ping timeout: 272 seconds) 2014-12-08T21:15:02Z zeitue joined #lisp 2014-12-08T21:15:13Z drmeister: I'm getting some degree of communication between slime and swank now. But in the one line emacs window at the bottom (I forget what it's called) it says: cl-ecase failed: NIL, (nil :td-handler :sigil :spawn) 2014-12-08T21:16:12Z drmeister: That's on the emacs side - right? I'm assuming cl-ecase is an elisp function - correct? 2014-12-08T21:16:33Z ivan4th: drmeister: slime-use-sigint-for-interrupt in slime.el 2014-12-08T21:16:46Z hiroakip joined #lisp 2014-12-08T21:16:47Z ivan4th: wrong communication style 2014-12-08T21:16:50Z LiamH: "cl-ecase is an alias for `ecase' in `cl-lib.el'." 2014-12-08T21:16:53Z drmeister: Here's what *slime-events* is posting: 2014-12-08T21:16:55Z drmeister: https://gist.github.com/drmeister/0ef2800d3bbe0cc1a660 2014-12-08T21:17:48Z ivan4th: seems like your swank backend is sending wrong connection info 2014-12-08T21:17:49Z drmeister: ivan4th: Could you elaborate? 2014-12-08T21:18:05Z drmeister: Where do you see that? 2014-12-08T21:18:31Z ivan4th: slime-events -- the first request is (swank:connection-info) 2014-12-08T21:18:41Z ivan4th: the response is parsed by slime-set-connection-info in slime.el 2014-12-08T21:19:01Z ivan4th: you have :style NIL there, that's the communication style 2014-12-08T21:19:25Z ivan4th: it must be :fd-handler, :spawn or :sigio, but not NIL 2014-12-08T21:19:54Z drmeister: I see. Where would I set this up? slime/swank/clasp.lisp ? 2014-12-08T21:20:26Z drmeister: Clasp is single threaded. 2014-12-08T21:20:55Z drmeister: What is best? :fd-handler or :sigio? 2014-12-08T21:21:07Z White_Flame: gabriel 2014-12-08T21:21:09Z Shinmera: drmeister: Where on the roadmap do you see threading? 2014-12-08T21:21:25Z drmeister: Spring or so. 2014-12-08T21:21:37Z Shinmera: Alright, steadily onwards then :) 2014-12-08T21:21:39Z ivan4th: drmeister: oops, seems like I forgot some details. NIL should work too, let's see why it fails 2014-12-08T21:22:05Z nikki93_ quit (Remote host closed the connection) 2014-12-08T21:23:07Z loz quit (Ping timeout: 258 seconds) 2014-12-08T21:23:19Z Lowl3v3l joined #lisp 2014-12-08T21:23:50Z ivan4th: I don't quite remember the details of slime-side parsing of the response, but elisp is case-sensitive and maybe it just expects nil not NIL? 2014-12-08T21:24:23Z ivan4th: and NIL is printed instead of nil due to some *print-case* mishandling in your backend or cl implementation 2014-12-08T21:24:27Z gravicappa quit (Remote host closed the connection) 2014-12-08T21:24:44Z ivan4th: (see your last paste) 2014-12-08T21:26:22Z drmeister: Ok. Is nil supposed to print lower case? 2014-12-08T21:26:29Z ivan4th: I think so 2014-12-08T21:27:33Z drmeister: Hmm, ECL prints NIL. But I hear you: cl-ecase failed: NIL, (nil :td-handler :sigil :spawn) NIL vs nil 2014-12-08T21:27:35Z pjb: If *print-case* is set to :downcase, then yes. 2014-12-08T21:27:41Z ivan4th: see prin1-to-string-for-emacs in rpc.lisp, it's responsible for formatting messages for emacs side 2014-12-08T21:28:14Z drmeister: Maybe *print-case* isn't having the intended effect - let me check 2014-12-08T21:28:32Z ivan4th: e.g. in sbcl: 2014-12-08T21:28:35Z ivan4th: (swank/rpc::prin1-to-string-for-emacs '(nil :td-handler :sigil :spawn) *package*) 2014-12-08T21:28:39Z jweiss quit (Ping timeout: 245 seconds) 2014-12-08T21:28:42Z pjb: drmeister: on the other hand, if you mean elisp nil, then (symbol-name 'nil) --> "nil". 2014-12-08T21:28:43Z ivan4th: gives "(nil :td-handler :sigil :spawn)" 2014-12-08T21:28:48Z drmeister: It's not. 2014-12-08T21:29:01Z drmeister: *print-case* is being ignored for nil/NIL 2014-12-08T21:29:07Z drmeister: I know why. 2014-12-08T21:29:21Z ivan4th: drmeister: this needs to be fixed 2014-12-08T21:29:42Z ivan4th: and there's some chance that swank connection will succeed after that 2014-12-08T21:30:42Z drmeister: I'm all a-quiver. 2014-12-08T21:31:05Z drmeister: Seriously, you don't know how long I've waited to talk to Clasp through slime. 2014-12-08T21:31:22Z Shinmera: I don't even want to imagine how you were able to survive without the benefits of Slime for so long 2014-12-08T21:31:26Z joast quit (Read error: Connection reset by peer) 2014-12-08T21:31:56Z Shinmera: Chapeau to you 2014-12-08T21:32:08Z joast joined #lisp 2014-12-08T21:34:39Z drmeister: Bootstrapping - a la - Hieronymus Karl Friedrich Baron von Münchhausen 2014-12-08T21:34:54Z milosn joined #lisp 2014-12-08T21:37:59Z pgomes quit (Quit: Leaving) 2014-12-08T21:38:57Z hiroakip quit (Ping timeout: 244 seconds) 2014-12-08T21:44:58Z rhllor joined #lisp 2014-12-08T21:46:36Z nikki93_ joined #lisp 2014-12-08T21:50:22Z eazar001 quit (Remote host closed the connection) 2014-12-08T21:51:42Z eazar001 joined #lisp 2014-12-08T21:53:42Z hiroakip joined #lisp 2014-12-08T21:54:17Z gabriel_laddel quit (Ping timeout: 240 seconds) 2014-12-08T21:55:25Z Kanae joined #lisp 2014-12-08T21:56:39Z rhllor: is there some type of looping that's faster than the loop macro? 2014-12-08T21:57:03Z Shinmera: What 2014-12-08T21:57:32Z rhllor: I have to do something repeat an action 10^18 times, and even just caliing (loop repeat (expt 10 18)) takes a long time 2014-12-08T21:57:51Z soggybre1d joined #lisp 2014-12-08T21:57:59Z drmeister: rhllor: The idea is that the LOOP macro and the compiler generate code that is as fast as possible. 2014-12-08T21:58:30Z drmeister: 10^18 times? There is no way to loop that many times before the sun goes nova. 2014-12-08T21:58:43Z hugod quit (Remote host closed the connection) 2014-12-08T21:59:03Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-08T21:59:21Z drmeister: 1Gigahertz clock speeds means the cpu clock ticks 10^12 times per second 2014-12-08T21:59:24Z towodo joined #lisp 2014-12-08T21:59:31Z Xach: drmeister: so maybe with 6 cores 2014-12-08T21:59:32Z drmeister: Ok, not the sun going NOVA 2014-12-08T22:00:02Z stacksmith: When you have to iterate 10^18 times, it's time to rethink the problem and the solution. 2014-12-08T22:00:29Z Xach: rhllor: what action do you have to repeat that many times? 2014-12-08T22:00:30Z drmeister: 277 years if each iteration of the loop took 10^-12 seconds (one CPU clock tick). 2014-12-08T22:00:46Z drmeister: Days, days! Not years! 2014-12-08T22:00:52Z soggybread quit (Ping timeout: 255 seconds) 2014-12-08T22:01:00Z drmeister clubs himself with his abacus 2014-12-08T22:01:28Z rhllor: Xach: it's a problem on projecteuler 2014-12-08T22:01:42Z Xach: rhllor: which one? 2014-12-08T22:01:59Z Grue`: well then you're doing it wrong. most problems on projecteuler can be solved with pen and paper 2014-12-08T22:02:22Z rhllor: Grue`: I realise that 2014-12-08T22:02:50Z rhllor: Xach: 349 2014-12-08T22:03:26Z Grue`: none of the problems require brute force solutions 2014-12-08T22:04:05Z rhllor: Grue`: that's not completely true, but brute force is the easiest to implement 2014-12-08T22:04:05Z bcoburn joined #lisp 2014-12-08T22:04:10Z Grue`: i had a lot of the problems solved but I heard their database was wiped out so all my progress is gone :( 2014-12-08T22:04:24Z rhllor: oh wow 2014-12-08T22:04:25Z towodo quit (Ping timeout: 272 seconds) 2014-12-08T22:04:51Z Grue`: rhllor: no, it's not. how can you implement looping over a bazillion numbers? you can't 2014-12-08T22:05:25Z rhllor: Grue`: I mean making an algorithm 2014-12-08T22:07:37Z malbertife_ quit (Ping timeout: 255 seconds) 2014-12-08T22:08:44Z Shinmera: The point of the exercise is exactly to avoid having to iterate 10^38 times. 2014-12-08T22:08:52Z Shinmera: 10³⁸ 2014-12-08T22:09:35Z pjb: - 2014-12-08T22:11:08Z kushal quit (Remote host closed the connection) 2014-12-08T22:11:36Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-12-08T22:12:06Z octophore_ joined #lisp 2014-12-08T22:13:26Z juanlas quit (Quit: juanlas) 2014-12-08T22:13:56Z pullphinger quit 2014-12-08T22:14:15Z octophore quit (Ping timeout: 250 seconds) 2014-12-08T22:15:08Z octophore joined #lisp 2014-12-08T22:15:50Z lavokad joined #lisp 2014-12-08T22:16:41Z octophore_ quit (Ping timeout: 264 seconds) 2014-12-08T22:16:50Z petrutrimbitas joined #lisp 2014-12-08T22:17:03Z lavokad: "not all objects can be printed in a form that read will understan" 2014-12-08T22:17:21Z lavokad: could you pls give an example of this case 2014-12-08T22:19:34Z Grue`: lavokad: (lambda ()) 2014-12-08T22:19:55Z Xach: lavokad: # 2014-12-08T22:19:56Z Grue`: (make-instance 'standard-object) 2014-12-08T22:20:18Z Xach: lavokad: the #< sequence explicitly means "this object can't be read" 2014-12-08T22:20:47Z lavokad: thanks 2014-12-08T22:21:37Z thawes quit (Remote host closed the connection) 2014-12-08T22:22:34Z fraktal66 joined #lisp 2014-12-08T22:22:37Z thawes joined #lisp 2014-12-08T22:25:20Z fraktal66 quit (Client Quit) 2014-12-08T22:27:13Z Joreji quit (Read error: Connection reset by peer) 2014-12-08T22:30:38Z thawes quit (Remote host closed the connection) 2014-12-08T22:30:46Z codeberg quit (Remote host closed the connection) 2014-12-08T22:30:46Z adlai quit (Write error: Connection reset by peer) 2014-12-08T22:31:18Z thawes joined #lisp 2014-12-08T22:31:21Z isis_ quit (Ping timeout: 244 seconds) 2014-12-08T22:33:45Z Bicyclidine joined #lisp 2014-12-08T22:34:18Z thawes quit (Remote host closed the connection) 2014-12-08T22:35:01Z thawes joined #lisp 2014-12-08T22:35:10Z duggiefresh quit 2014-12-08T22:37:50Z petrutrimbitas quit (Quit: petrutrimbitas) 2014-12-08T22:39:12Z drmeister: Hmm, ECL's default communication-style for slime is "nil". 2014-12-08T22:39:28Z eskatrem joined #lisp 2014-12-08T22:42:24Z bgs100 joined #lisp 2014-12-08T22:45:39Z mishoo quit (Ping timeout: 245 seconds) 2014-12-08T22:51:26Z octophore_ joined #lisp 2014-12-08T22:53:32Z octophore-- joined #lisp 2014-12-08T22:53:53Z octophore quit (Ping timeout: 264 seconds) 2014-12-08T22:55:20Z octophore-- quit (Read error: Connection reset by peer) 2014-12-08T22:55:36Z octophore joined #lisp 2014-12-08T22:55:57Z rhllor: how can I combine the contents of some lists into one list 2014-12-08T22:56:21Z octophore_ quit (Ping timeout: 272 seconds) 2014-12-08T22:56:26Z rhllor: like '(1) '(2) '(3) ==> '(1 2 3) 2014-12-08T22:58:14Z Bicyclidine: clhs append 2014-12-08T22:58:14Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_append.htm 2014-12-08T22:59:38Z rhllor: thanks 2014-12-08T22:59:42Z rhllor quit (Quit: Page closed) 2014-12-08T23:01:10Z _death: Xach: https://github.com/death/naggum :D 2014-12-08T23:03:23Z Bicyclidine quit (Ping timeout: 244 seconds) 2014-12-08T23:04:43Z munksgaard quit (Ping timeout: 244 seconds) 2014-12-08T23:05:13Z octophore_ joined #lisp 2014-12-08T23:05:38Z thawes quit (Remote host closed the connection) 2014-12-08T23:06:47Z octophore quit (Ping timeout: 244 seconds) 2014-12-08T23:06:58Z c53100 joined #lisp 2014-12-08T23:08:21Z Baggers joined #lisp 2014-12-08T23:09:30Z tmh_ quit (Read error: Connection reset by peer) 2014-12-08T23:09:45Z tmh_ joined #lisp 2014-12-08T23:09:50Z Karl_Dscc quit (Remote host closed the connection) 2014-12-08T23:11:06Z Bicyclidine joined #lisp 2014-12-08T23:11:07Z MoALTz_ joined #lisp 2014-12-08T23:14:13Z wheelsucker quit (Quit: Client Quit) 2014-12-08T23:14:24Z MoALTz quit (Ping timeout: 245 seconds) 2014-12-08T23:14:35Z Xach: heh 2014-12-08T23:17:09Z LiamH quit (Quit: Leaving.) 2014-12-08T23:20:23Z munksgaard joined #lisp 2014-12-08T23:21:11Z hiyosi joined #lisp 2014-12-08T23:23:29Z araujo quit (Read error: Connection reset by peer) 2014-12-08T23:24:15Z araujo joined #lisp 2014-12-08T23:25:17Z Bicyclidine quit (Ping timeout: 240 seconds) 2014-12-08T23:25:42Z drmeister: Agh - Slime starts up - I have a CL-USER> prompt - it says "Connected. Your hacking starts... NOW" I type (print "Hello") into the repl and... it disconnects! #$%#$*@#$@#$*% 2014-12-08T23:26:27Z Xach: noooo 2014-12-08T23:27:04Z drmeister: Sorry for the salty language. 2014-12-08T23:28:32Z drmeister: Are there any slime experts who would take pity on a lost soul. 2014-12-08T23:28:36Z drmeister: https://gist.github.com/drmeister/477bdba934068b4a01d7 2014-12-08T23:28:43Z drmeister: That's from my *Messages* buffer 2014-12-08T23:29:25Z _death: note the "versions differ" message 2014-12-08T23:29:36Z _death: may want to update slime 2014-12-08T23:31:25Z Bicyclidine joined #lisp 2014-12-08T23:32:29Z oleo is now known as Guest46443 2014-12-08T23:33:12Z drmeister: I thought that was because I was hacking swank 2014-12-08T23:34:11Z oleo__ joined #lisp 2014-12-08T23:35:42Z munksgaard quit (Ping timeout: 245 seconds) 2014-12-08T23:35:53Z Guest46443 quit (Ping timeout: 264 seconds) 2014-12-08T23:36:18Z drmeister: Swank you wicked temptress! Every time I try to send something from slime it disconnects! Argh 2014-12-08T23:36:39Z drmeister: Here's a transcript of the swank run. I've turned on TRACE on some functions just for yucks. 2014-12-08T23:36:40Z drmeister: https://gist.github.com/drmeister/8b1ceba5124818defe72 2014-12-08T23:37:41Z Bicyclidine: do you get those undefined function warnings on ecl? 2014-12-08T23:37:53Z Bicyclidine: i'm used to undefined function warnings from slime but read-line sure sounds important, you know? 2014-12-08T23:40:28Z Bicyclid1ne joined #lisp 2014-12-08T23:40:38Z Bicyclid1ne: those tests also seem, uh, worrying. where are those coming from? 2014-12-08T23:42:16Z Bicyclidine quit (Ping timeout: 258 seconds) 2014-12-08T23:42:57Z Bicyclid1ne is now known as Bicyclidine 2014-12-08T23:44:15Z drmeister: You raise an excellent point. 2014-12-08T23:45:02Z drmeister: I used ECL so that I have a working reference implementation to target for exactly this kind of problem. 2014-12-08T23:47:07Z JokesOnYou77 quit (Quit: Leaving) 2014-12-08T23:48:11Z drmeister: Re warnings and tests - I have no idea. My experience with slime internals is only a few hours deep. 2014-12-08T23:50:33Z corni quit (Ping timeout: 260 seconds) 2014-12-08T23:50:48Z resttime joined #lisp 2014-12-08T23:51:53Z Bicyclidine: i don't know either, but it looks like a lot of results are returning nil, which sounds to me like something is not actually returning, either because you don't have enough introspection or more basically because clasp isn't actually getting anything from slime. 2014-12-08T23:52:32Z Baggers quit (Remote host closed the connection) 2014-12-08T23:52:54Z Bicyclidine: hm, it looks like you're requiring a lot of the swank contribs. maybe you should start doing whatever the minimal functionality is? 2014-12-08T23:53:30Z _JokerDoomWork quit (Ping timeout: 244 seconds) 2014-12-08T23:53:49Z hiroakip quit (Ping timeout: 255 seconds) 2014-12-08T23:54:16Z pjb: _death: thanks for naggum. 2014-12-08T23:54:33Z pjb: More services should be provided as cli or emacs commands. 2014-12-08T23:55:39Z Bicyclidine: naggum looks simple enough that it could be autogenerated practically. `(defun ,name () (interactive) (browse-url ,url)) 2014-12-08T23:56:50Z manuel___ joined #lisp 2014-12-08T23:57:07Z manuel__ quit (Ping timeout: 244 seconds) 2014-12-08T23:58:15Z drmeister: What is naggum? 2014-12-08T23:58:15Z chu joined #lisp 2014-12-08T23:58:53Z Bicyclidine: an emacs command _death wrote to poll http://xach.com/naggum/articles/random in emacs. 2014-12-08T23:59:25Z Bicyclidine: erik naggum being a lisper who wrote a lot of interesting things on usenet, interesting enough that xach put together an archive of his posts.