2018-10-01T00:00:32Z rtypo quit (Ping timeout: 252 seconds) 2018-10-01T00:05:44Z Balooga_ quit (Quit: Balooga_) 2018-10-01T00:09:41Z robotoad quit (Max SendQ exceeded) 2018-10-01T00:10:57Z Essadon quit (Quit: Qutting) 2018-10-01T00:11:08Z robotoad joined #lisp 2018-10-01T00:21:44Z Nephromancer quit (Quit: Connection closed for inactivity) 2018-10-01T00:37:49Z robotoad quit (Quit: robotoad) 2018-10-01T00:42:02Z asarch joined #lisp 2018-10-01T00:46:47Z anewuser joined #lisp 2018-10-01T00:58:35Z gector quit (Quit: WeeChat 2.0.1) 2018-10-01T00:58:49Z gector joined #lisp 2018-10-01T01:01:22Z Balooga_ joined #lisp 2018-10-01T01:02:17Z jack_rabbit joined #lisp 2018-10-01T01:02:48Z Achylles quit (Remote host closed the connection) 2018-10-01T01:03:17Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-01T01:11:01Z Copenhagen_Bram joined #lisp 2018-10-01T01:13:35Z r1b quit (Quit: r1b) 2018-10-01T01:15:28Z GoldRin joined #lisp 2018-10-01T01:23:35Z GoldRin quit (Ping timeout: 252 seconds) 2018-10-01T01:31:58Z pjb joined #lisp 2018-10-01T01:43:02Z dale quit (Quit: dale) 2018-10-01T01:50:57Z esrse joined #lisp 2018-10-01T01:55:15Z Balooga_ quit (Quit: Balooga_) 2018-10-01T01:58:44Z robotoad joined #lisp 2018-10-01T02:02:34Z robotoad quit (Client Quit) 2018-10-01T02:04:27Z nanoz joined #lisp 2018-10-01T02:04:34Z dented42_ joined #lisp 2018-10-01T02:05:00Z pjb quit (Ping timeout: 252 seconds) 2018-10-01T02:09:14Z nanoz quit (Ping timeout: 252 seconds) 2018-10-01T02:14:39Z nowolfer quit (Ping timeout: 252 seconds) 2018-10-01T02:14:44Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-01T02:16:21Z nowolfer joined #lisp 2018-10-01T02:17:01Z Balooga_ joined #lisp 2018-10-01T02:17:39Z robotoad joined #lisp 2018-10-01T02:24:06Z dented42_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-01T02:27:59Z dented42 joined #lisp 2018-10-01T02:31:19Z Balooga_ quit (Quit: Balooga_) 2018-10-01T02:33:50Z pjb joined #lisp 2018-10-01T02:37:25Z quipa quit (Read error: Connection reset by peer) 2018-10-01T02:50:06Z Kundry_Wag joined #lisp 2018-10-01T02:50:11Z Kundry_Wag quit (Remote host closed the connection) 2018-10-01T02:53:36Z r1b joined #lisp 2018-10-01T02:59:54Z orivej quit (Ping timeout: 264 seconds) 2018-10-01T03:06:12Z anewuser quit (Quit: anewuser) 2018-10-01T03:07:09Z pjb quit (Ping timeout: 252 seconds) 2018-10-01T03:15:18Z beach: Good morning everyone! 2018-10-01T03:30:39Z P1RATEZ joined #lisp 2018-10-01T03:42:57Z siraben quit (Ping timeout: 268 seconds) 2018-10-01T03:43:03Z r1b quit (Quit: r1b) 2018-10-01T03:43:06Z pfdietz: Good morning 2018-10-01T03:44:46Z pfdietz: Wondering how to set up test-op in asdf so quicklisp can verify the tests passed. 2018-10-01T03:45:44Z Bike quit (Quit: Lost terminal) 2018-10-01T03:48:06Z siraben joined #lisp 2018-10-01T03:52:06Z no-defun-allowed: morning beach 2018-10-01T03:52:12Z v0|d quit (Ping timeout: 268 seconds) 2018-10-01T03:52:53Z gector quit (Ping timeout: 252 seconds) 2018-10-01T03:52:54Z troydm quit (Ping timeout: 252 seconds) 2018-10-01T03:53:39Z gector joined #lisp 2018-10-01T04:02:12Z dddddd quit (Remote host closed the connection) 2018-10-01T04:15:39Z jinkies quit (Ping timeout: 252 seconds) 2018-10-01T04:21:09Z sword quit (Read error: Connection reset by peer) 2018-10-01T04:22:42Z sword joined #lisp 2018-10-01T04:33:04Z igemnace joined #lisp 2018-10-01T04:38:47Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-01T04:45:01Z varjag joined #lisp 2018-10-01T04:46:05Z Copenhagen_Bram joined #lisp 2018-10-01T04:47:36Z pjb joined #lisp 2018-10-01T04:49:22Z varjag quit (Ping timeout: 246 seconds) 2018-10-01T04:52:17Z pjb quit (Ping timeout: 252 seconds) 2018-10-01T05:12:10Z xuxuru joined #lisp 2018-10-01T05:17:52Z xuxuru quit (Quit: xuxuru) 2018-10-01T05:37:33Z phoe: pfdietz: I've been thinking the same thing recently, and had no idea. 2018-10-01T05:37:47Z phoe: I'll enjoy the answer if you or anyone has it. 2018-10-01T05:46:46Z vlatkoB joined #lisp 2018-10-01T05:46:47Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-01T06:05:27Z ubermonk joined #lisp 2018-10-01T06:10:13Z graphene quit (Remote host closed the connection) 2018-10-01T06:11:31Z graphene joined #lisp 2018-10-01T06:11:58Z varjag joined #lisp 2018-10-01T06:14:13Z zfree joined #lisp 2018-10-01T06:16:21Z phoe: Is it expected that if a slot is allocated on the class, it can no longer be bound by default via :DEFAULT-INITARGS? 2018-10-01T06:19:40Z nirved joined #lisp 2018-10-01T06:21:22Z phoe: or rather, https://plaster.tymoon.eu/view/940#940 ? 2018-10-01T06:21:52Z phoe: s/make-instance/make-condition, same results. 2018-10-01T06:22:10Z troydm joined #lisp 2018-10-01T06:23:47Z shrdlu68 joined #lisp 2018-10-01T06:29:28Z xuxuru joined #lisp 2018-10-01T06:33:05Z phoe: I get different behavior on CCL. 2018-10-01T06:34:16Z shrdlu68: Does CCL have hash-table extensions similar to SBCL (define custom test & hash function)? 2018-10-01T06:34:23Z scymtym quit (Ping timeout: 268 seconds) 2018-10-01T06:35:51Z phoe: shrdlu68: https://github.com/metawilm/cl-custom-hash-table 2018-10-01T06:36:33Z xuxuru quit (Quit: xuxuru) 2018-10-01T06:36:40Z phoe: "Several Lisp implementations already support custom TEST and HASH arguments for MAKE-HASH-TABLE. This library is a small wrapper around the vendor-specific extensions. (Allegro CL, CCL, CMUCL, LispWorks, SBCL)" 2018-10-01T06:36:59Z quazimodo joined #lisp 2018-10-01T06:38:33Z shrdlu68: phoe: Thanks. 2018-10-01T06:39:50Z fouric joined #lisp 2018-10-01T06:40:05Z makomo quit (Ping timeout: 252 seconds) 2018-10-01T06:40:56Z graphene quit (Remote host closed the connection) 2018-10-01T06:42:21Z graphene joined #lisp 2018-10-01T06:46:43Z varjag quit (Ping timeout: 268 seconds) 2018-10-01T06:47:51Z ubermonk: phoe: on sbcl default-initargs on class allocated slots works fine for defclass, but fails to set the slot for define-condition 2018-10-01T06:48:08Z phoe: ubermonk: yes, I see that one 2018-10-01T06:48:18Z phoe: It gets worse - (define-condition foo () ((%bar :reader bar :initarg :bar :allocation :class)) (:default-initargs :bar 42)) (bar (make-condition 'foo)) ;=> # 2018-10-01T06:48:31Z phoe: as in, the # thing gets returned 2018-10-01T06:48:42Z phoe: I don't think that's the intended behaviour 2018-10-01T06:49:31Z robotoad quit (Quit: robotoad) 2018-10-01T06:52:10Z ubermonk: its just returning the slot, which fails to be set in the case of constructing a condition 2018-10-01T06:52:15Z ubermonk: yes I find it surprising 2018-10-01T06:53:56Z ubermonk: perhaps a difference between the handling of SB-PCL::CONDITION-EFFECTIVE-SLOT-DEFINITION and SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION 2018-10-01T06:54:06Z phoe: ok, bugtickets created 2018-10-01T06:54:16Z phoe: https://bugs.launchpad.net/sbcl/+bug/1795301 https://bugs.launchpad.net/sbcl/+bug/1795302 2018-10-01T06:54:25Z ubermonk: good stuff 2018-10-01T07:00:00Z frgo quit (Remote host closed the connection) 2018-10-01T07:00:38Z frgo joined #lisp 2018-10-01T07:02:02Z ubermonk: though I can understand why this may have gone unnoticed, the only use for this feature I can think of is keeping track of the last subclass constructed 2018-10-01T07:03:38Z robotoad joined #lisp 2018-10-01T07:04:32Z Shinmera: phoe: pfdietz: I'm assuming it requires an error be signalled on test failure. 2018-10-01T07:05:13Z frgo quit (Ping timeout: 268 seconds) 2018-10-01T07:05:22Z jackdaniel: given cooperation from the test framework, it may be actually any signal, not necessarily error 2018-10-01T07:05:27Z jackdaniel: then you can handle it from test-op 2018-10-01T07:05:29Z Shinmera: Xach: Could you clear us up on this? How do you determine whether a run of asdf:test-op during the dist check to have been succuessful? 2018-10-01T07:07:15Z Shinmera: *whecher a run uf asdf:test-op during dist check has been successful 2018-10-01T07:07:23Z Shinmera: **whether 2018-10-01T07:07:42Z Shinmera: jesus I guess my language center hasn't fully woken up yet 2018-10-01T07:09:39Z kini quit (Quit: No Ping reply in 180 seconds.) 2018-10-01T07:14:39Z phoe: Xach: yes please, I'd like that 2018-10-01T07:16:29Z kini joined #lisp 2018-10-01T07:19:03Z orivej joined #lisp 2018-10-01T07:19:24Z varjag joined #lisp 2018-10-01T07:21:33Z scymtym joined #lisp 2018-10-01T07:32:27Z frgo joined #lisp 2018-10-01T07:33:42Z pjb joined #lisp 2018-10-01T07:43:52Z shka_: good morning 2018-10-01T07:44:43Z beach: Hello shka_. 2018-10-01T07:47:21Z P1RATEZ quit 2018-10-01T07:49:56Z Arcaelyx_ quit (Ping timeout: 260 seconds) 2018-10-01T07:50:30Z Arcaelyx joined #lisp 2018-10-01T07:54:44Z zfree quit (Quit: zfree) 2018-10-01T08:03:54Z aindilis quit (Ping timeout: 252 seconds) 2018-10-01T08:07:37Z robotoad quit (Quit: robotoad) 2018-10-01T08:07:51Z shka_ quit (Quit: WeeChat 1.9.1) 2018-10-01T08:08:00Z pjb quit (Ping timeout: 252 seconds) 2018-10-01T08:08:09Z shka_ joined #lisp 2018-10-01T08:14:16Z asarch quit (Quit: Leaving) 2018-10-01T08:15:45Z robotoad joined #lisp 2018-10-01T08:25:44Z robotoad quit (Quit: robotoad) 2018-10-01T08:29:44Z ggole joined #lisp 2018-10-01T08:32:47Z zfree joined #lisp 2018-10-01T08:37:54Z heisig joined #lisp 2018-10-01T08:43:42Z domovod joined #lisp 2018-10-01T08:44:10Z orivej quit (Ping timeout: 252 seconds) 2018-10-01T08:51:13Z quipa joined #lisp 2018-10-01T08:58:23Z phoe: good morniiiing 2018-10-01T09:01:26Z beach: Hello phoe. 2018-10-01T09:02:40Z phoe: Hey beach . 2018-10-01T09:03:05Z marvin2 quit (Ping timeout: 252 seconds) 2018-10-01T09:03:23Z slyrus1 joined #lisp 2018-10-01T09:03:49Z phoe: I might consider creating a personal homepage that lists all the Lisp libraries I've created, in hope they're useful to someone. 2018-10-01T09:06:57Z reverse_light joined #lisp 2018-10-01T09:09:04Z heisig: Good morning phoe! You could also just put that information on cliki. 2018-10-01T09:19:36Z FreeBirdLjj joined #lisp 2018-10-01T09:24:42Z shrdlu68: What's the easiest way to trace how many times a function was called? 2018-10-01T09:25:24Z shka_: trace comes to mind 2018-10-01T09:25:34Z shka_: fancy-trace of slime 2018-10-01T09:26:59Z roshanavand joined #lisp 2018-10-01T09:41:37Z roshanavand quit (Ping timeout: 246 seconds) 2018-10-01T09:42:33Z roshanavand joined #lisp 2018-10-01T09:42:35Z trittweiler joined #lisp 2018-10-01T09:43:46Z khisanth_ quit (Ping timeout: 272 seconds) 2018-10-01T09:46:07Z phoe: heisig: good idea! Thanks 2018-10-01T09:54:48Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-01T09:55:02Z quazimodo joined #lisp 2018-10-01T09:56:15Z khisanth_ joined #lisp 2018-10-01T10:00:23Z v0|d joined #lisp 2018-10-01T10:02:07Z jgoss joined #lisp 2018-10-01T10:04:50Z pjb joined #lisp 2018-10-01T10:05:44Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-01T10:06:21Z FreeBirdLjj joined #lisp 2018-10-01T10:10:12Z Shinmera: I used to put my projects on cliki but then got lazy 2018-10-01T10:11:06Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-10-01T10:34:59Z dddddd joined #lisp 2018-10-01T10:35:51Z SlashLife quit (Max SendQ exceeded) 2018-10-01T10:36:33Z DataLinkDroid joined #lisp 2018-10-01T10:37:40Z SlashLife joined #lisp 2018-10-01T10:38:15Z pjb quit (Ping timeout: 252 seconds) 2018-10-01T10:39:00Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-01T10:39:47Z roshanavand joined #lisp 2018-10-01T10:40:31Z esrse quit (Ping timeout: 244 seconds) 2018-10-01T10:42:26Z v0|d quit (Remote host closed the connection) 2018-10-01T10:42:59Z marvin2 joined #lisp 2018-10-01T10:45:10Z m00natic joined #lisp 2018-10-01T10:48:55Z Xach: Shinmera: I don't use asdf:test-op at all. 2018-10-01T10:49:07Z Xach: I build only. 2018-10-01T10:51:39Z troydm quit (Ping timeout: 252 seconds) 2018-10-01T10:52:20Z Shinmera: Hmm. For some reason I remember talk about tests being run automatically too 2018-10-01T10:54:51Z eminhi joined #lisp 2018-10-01T10:56:51Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-01T10:58:52Z quazimodo joined #lisp 2018-10-01T10:59:51Z Xach: 2018-10-01T11:01:00Z frgo quit (Remote host closed the connection) 2018-10-01T11:01:11Z Xach: Shinmera: i'm still trying to get https://github.com/quicklisp/qlt integrated 2018-10-01T11:01:29Z frgo joined #lisp 2018-10-01T11:04:28Z Shinmera: Xach: any ideas about making integration easier for the library provider? Perhaps through a .qlt.lisp file or something? 2018-10-01T11:05:53Z frgo quit (Ping timeout: 245 seconds) 2018-10-01T11:07:55Z Shinmera: As in, qlt would scan repo roots for a .qlt.lisp file that provides the test hook for that project. 2018-10-01T11:08:11Z Xach: Shinmera: Hmm, I haven't thought about that side of it. 2018-10-01T11:08:48Z nowolfer quit (Ping timeout: 268 seconds) 2018-10-01T11:09:02Z lavaflow quit (Ping timeout: 252 seconds) 2018-10-01T11:10:36Z nowolfer joined #lisp 2018-10-01T11:13:11Z v0|d joined #lisp 2018-10-01T11:13:49Z frgo joined #lisp 2018-10-01T11:14:59Z Shinmera: Having to pr against the qlt repo for test changes would be pretty cumbersome 2018-10-01T11:23:36Z quazimodo quit (Ping timeout: 268 seconds) 2018-10-01T11:23:56Z aindilis joined #lisp 2018-10-01T11:24:04Z nckx quit (Ping timeout: 240 seconds) 2018-10-01T11:25:00Z quazimodo joined #lisp 2018-10-01T11:27:07Z crsc quit (Quit: leaving) 2018-10-01T11:27:12Z trittweiler quit (Ping timeout: 252 seconds) 2018-10-01T11:31:53Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-01T11:32:32Z roshanavand joined #lisp 2018-10-01T11:38:54Z quazimodo quit (Ping timeout: 244 seconds) 2018-10-01T11:40:04Z quazimodo joined #lisp 2018-10-01T11:48:35Z crsc joined #lisp 2018-10-01T11:50:25Z troydm joined #lisp 2018-10-01T11:55:44Z pjb joined #lisp 2018-10-01T12:02:12Z theBlackDragon joined #lisp 2018-10-01T12:05:38Z rumbler31 joined #lisp 2018-10-01T12:06:36Z scymtym quit (Ping timeout: 260 seconds) 2018-10-01T12:09:17Z rumbler31 quit (Remote host closed the connection) 2018-10-01T12:16:57Z trittweiler joined #lisp 2018-10-01T12:26:20Z Bike joined #lisp 2018-10-01T12:29:02Z pjb quit (Ping timeout: 252 seconds) 2018-10-01T12:29:19Z lemoinem quit (Read error: Connection reset by peer) 2018-10-01T12:29:56Z lemoinem joined #lisp 2018-10-01T12:32:20Z frgo quit (Remote host closed the connection) 2018-10-01T12:33:29Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-01T12:33:32Z DGASAU joined #lisp 2018-10-01T12:41:41Z razzy joined #lisp 2018-10-01T12:42:36Z makomo joined #lisp 2018-10-01T12:50:35Z DGASAU quit (Read error: Connection reset by peer) 2018-10-01T12:50:46Z DGASAU joined #lisp 2018-10-01T12:51:10Z makomo quit (Ping timeout: 268 seconds) 2018-10-01T12:57:21Z jgoss_ joined #lisp 2018-10-01T12:57:51Z beach quit (Ping timeout: 252 seconds) 2018-10-01T12:58:41Z jgoss quit (Read error: Connection reset by peer) 2018-10-01T13:01:44Z kajo joined #lisp 2018-10-01T13:05:56Z lavaflow joined #lisp 2018-10-01T13:06:04Z LiamH joined #lisp 2018-10-01T13:08:26Z russellw: to prepend 1 item to a list, (cons 'a rest). Is there a shorter form for prepending 2 items than (cons 'a (cons 'b rest))? 2018-10-01T13:08:34Z beach joined #lisp 2018-10-01T13:08:41Z Bike: list* 2018-10-01T13:08:51Z Bike: clhs list* 2018-10-01T13:08:51Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_list_.htm 2018-10-01T13:09:10Z russellw: thanks! 2018-10-01T13:09:19Z Bike: no problem 2018-10-01T13:13:13Z igemnace quit (Quit: WeeChat 2.2) 2018-10-01T13:14:45Z scymtym joined #lisp 2018-10-01T13:15:07Z d4ryus quit (Ping timeout: 246 seconds) 2018-10-01T13:16:01Z d4ryus joined #lisp 2018-10-01T13:16:13Z warweasle joined #lisp 2018-10-01T13:18:07Z nowolfer quit (Read error: Connection reset by peer) 2018-10-01T13:20:11Z nowolfer joined #lisp 2018-10-01T13:23:32Z scymtym quit (Ping timeout: 240 seconds) 2018-10-01T13:23:32Z Josh_2 joined #lisp 2018-10-01T13:30:55Z Xach: Shinmera: well, the qlt snippet could invoke the test suite? 2018-10-01T13:36:05Z Arcaelyx joined #lisp 2018-10-01T13:37:11Z phoe: Xach: via invoking the ASDF test-op on the system? 2018-10-01T13:37:16Z phoe: that's the way I would suggest 2018-10-01T13:37:50Z phoe: I mean, we already have ASDF test-op; I can't yet see a reason for another test hook 2018-10-01T13:39:56Z heisig quit (Ping timeout: 260 seconds) 2018-10-01T13:44:08Z Shinmera: Xach: sure, but still, I'd personally much prefer having code relating to my systems under my control so I can change them as needed 2018-10-01T13:44:34Z Shinmera: phoe: test-op has no way of specifying how failures are reported 2018-10-01T13:44:44Z scymtym joined #lisp 2018-10-01T13:45:17Z Shinmera: often, for users, it's best to just print a report, whereas for completely automated systems like qlt an error is more appropriate, so that it can be caught and a notice can be sent 2018-10-01T13:46:57Z vtomole joined #lisp 2018-10-01T13:47:05Z phoe: yes, I see. 2018-10-01T13:47:35Z phoe: "The results of this operation are not defined by ASDF. It has proven difficult to define how the test operation should signal its results to the user in a way that is compatible with all of the various test libraries and test techniques in use in the community, and given the fact that ASDF operations do not return a value indicating success or failure. For those willing to go to the effort, we suggest 2018-10-01T13:47:41Z phoe: defining conditions to signal when a test-op fails, and storing in those conditions information that describes which tests fail. " 2018-10-01T13:47:44Z phoe: via https://common-lisp.net/project/asdf/asdf/Predefined-operations-of-ASDF.html, Operation test-op 2018-10-01T13:48:06Z xuxuru joined #lisp 2018-10-01T13:48:08Z Shinmera: One of the failures of ASDF in my view is that operations are singleton objects and there's no real way for the user to specify arguments to control the precise evaluation of the operation. 2018-10-01T13:48:55Z phoe: What do we decide on, then? 2018-10-01T13:49:30Z phoe: Do we patch ASDF with something that attempts to fix this situation? 2018-10-01T13:49:43Z Shinmera: I'd be fine with what I suggested; a qlt-specific file that ensures tests are run with an error in case of failures. 2018-10-01T13:50:32Z Shinmera: As I said, you can't really patch asdf to address this, it would be a fundamental change in how it works. 2018-10-01T13:50:37Z phoe: That would mean that we have an .ASD file and a .QLT file to fully define a system. 2018-10-01T13:50:49Z phoe: Which is one file too much. 2018-10-01T13:51:18Z Shinmera: People already write .travis.ymls and .circle-cis and whatever else 2018-10-01T13:51:37Z Shinmera: Another file for another kind of CI is no problem to me 2018-10-01T13:52:09Z phoe: Sure, no problem then. 2018-10-01T13:52:23Z frgo joined #lisp 2018-10-01T13:53:29Z acolarh quit (Ping timeout: 252 seconds) 2018-10-01T13:55:34Z phoe: Does QLT parse ASD files before reading the QLT-specific files? 2018-10-01T13:56:45Z frgo_ joined #lisp 2018-10-01T13:56:48Z frgo quit (Ping timeout: 252 seconds) 2018-10-01T13:56:51Z phoe: If yes, then a hack would be, to the end of foo.asd, add #+qlt (cl:in-package :qlt-user) #+qlt (qlt-specific-stuff-regarding-system #:foo ...) 2018-10-01T14:04:22Z ebzzry_ joined #lisp 2018-10-01T14:04:26Z vtomole quit (Quit: Page closed) 2018-10-01T14:06:25Z acolarh joined #lisp 2018-10-01T14:12:11Z jkordani joined #lisp 2018-10-01T14:25:29Z Xach: qlt does not do anything with asd files. 2018-10-01T14:26:02Z pjb joined #lisp 2018-10-01T14:32:33Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-01T14:32:58Z beach quit (Ping timeout: 252 seconds) 2018-10-01T14:33:56Z beach joined #lisp 2018-10-01T14:40:28Z ski quit (Ping timeout: 245 seconds) 2018-10-01T14:49:44Z didi joined #lisp 2018-10-01T14:49:51Z cage_ joined #lisp 2018-10-01T14:52:18Z didi: If you would write a function `write-object', which writes a representation of an object to a stream, would you write it, regarding the STREAM, after WRITE-* or FORMAT? That is, would (null STREAM) mean you write to *STANDARD-OUTPUT* or you return a string? 2018-10-01T14:53:04Z ski joined #lisp 2018-10-01T14:53:17Z beach: I would use the standard definition of stream designator. 2018-10-01T14:53:25Z didi: beach: Thank you. 2018-10-01T14:55:56Z heisig joined #lisp 2018-10-01T14:56:48Z dyelar quit (Quit: Leaving.) 2018-10-01T14:58:22Z heisig quit (Remote host closed the connection) 2018-10-01T14:58:40Z heisig joined #lisp 2018-10-01T14:58:52Z pjb quit (Ping timeout: 252 seconds) 2018-10-01T14:59:30Z quipa quit (Ping timeout: 250 seconds) 2018-10-01T15:03:48Z trittweiler quit (Ping timeout: 245 seconds) 2018-10-01T15:04:17Z zfree quit (Quit: zfree) 2018-10-01T15:05:42Z asarch joined #lisp 2018-10-01T15:09:35Z dyelar joined #lisp 2018-10-01T15:14:38Z dyelar quit (Ping timeout: 252 seconds) 2018-10-01T15:15:20Z dyelar joined #lisp 2018-10-01T15:17:05Z dyelar quit (Client Quit) 2018-10-01T15:17:13Z dale_ joined #lisp 2018-10-01T15:17:32Z dale_ is now known as dale 2018-10-01T15:21:15Z SaganMan quit (Quit: WeeChat 1.6) 2018-10-01T15:22:55Z robotoad joined #lisp 2018-10-01T15:26:45Z anewuser joined #lisp 2018-10-01T15:29:13Z orivej joined #lisp 2018-10-01T15:34:26Z ski quit (Ping timeout: 252 seconds) 2018-10-01T15:38:13Z graphene quit (Remote host closed the connection) 2018-10-01T15:38:50Z igemnace joined #lisp 2018-10-01T15:39:29Z graphene joined #lisp 2018-10-01T15:41:51Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-01T15:47:30Z Fade: with sbcl 1.4.12 on x86-64 ironclad is failing to compile on a package lock violation. should I report on sharplispers github? 2018-10-01T15:48:54Z Fade: ironclad-v0.40 from quicklisp. 2018-10-01T15:49:34Z Xach: Hmm, I thought this was all worked out already 2018-10-01T15:49:56Z Fade: I just updated my quicklisp and sbcl to check things out. 2018-10-01T15:50:08Z Fade: I could pull the master branch and try again. 2018-10-01T15:50:29Z Xach: Hmm, I think I screwed something up pretty well somehow. 2018-10-01T15:50:30Z Arcaelyx joined #lisp 2018-10-01T15:50:39Z Xach: Things have regressed 2018-10-01T15:51:03Z Xach: yes indeed 2018-10-01T15:51:05Z Xach: argh 2018-10-01T16:02:52Z Xach: and of course i can't built old sbcl right now for an unknown reason 2018-10-01T16:05:24Z Fade: :( 2018-10-01T16:06:32Z Xach works it out slowly 2018-10-01T16:07:45Z trittweiler joined #lisp 2018-10-01T16:09:20Z frgo_ quit (Ping timeout: 252 seconds) 2018-10-01T16:14:52Z Josh_2: When I have a FLEXI-STREAMS:FLEXI-IO-STREAM, and I am using read-line on it, how can I reset back to the start, setting the file-position to 0, the same with flexi-stream-position, I want to be able to read-line from the start of the flexi-io-stream again 2018-10-01T16:15:09Z Josh_2: 10/10 quality writing by me 2018-10-01T16:17:12Z Xach: So what happened is I uploaded an old dist instead of the correct one and now it is a matter of fixing it up 2018-10-01T16:17:22Z shka_ quit (Quit: WeeChat 1.9.1) 2018-10-01T16:18:57Z nowhere_man joined #lisp 2018-10-01T16:18:59Z roshanavand quit (Ping timeout: 268 seconds) 2018-10-01T16:19:26Z roshanavand joined #lisp 2018-10-01T16:20:11Z zxcvz joined #lisp 2018-10-01T16:24:43Z graphene quit (Read error: Connection reset by peer) 2018-10-01T16:24:49Z jurov quit (Ping timeout: 246 seconds) 2018-10-01T16:25:59Z graphene joined #lisp 2018-10-01T16:26:01Z jurov joined #lisp 2018-10-01T16:27:25Z angavrilov quit (Remote host closed the connection) 2018-10-01T16:27:29Z orivej quit (Ping timeout: 252 seconds) 2018-10-01T16:27:37Z angavrilov joined #lisp 2018-10-01T16:28:35Z pfdietz: I am trying to get a system ready for inclusion in quicklisp. What needs to be done for test-op to return something that the quicklisp testing process would recognize? 2018-10-01T16:28:54Z pfdietz: (inclusion in a dist) 2018-10-01T16:29:08Z shrdlu68 quit (Ping timeout: 252 seconds) 2018-10-01T16:29:53Z Xach: pfdietz: nothing is needed. only compilation is attempted. 2018-10-01T16:30:01Z pfdietz: Ok. 2018-10-01T16:34:24Z zxcvz quit (Ping timeout: 268 seconds) 2018-10-01T16:36:34Z rozenglass joined #lisp 2018-10-01T16:37:01Z roshanavand quit (Ping timeout: 244 seconds) 2018-10-01T16:38:12Z roshanavand joined #lisp 2018-10-01T16:45:05Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-10-01T16:45:26Z SenasOzys quit (Ping timeout: 260 seconds) 2018-10-01T16:50:55Z Xach: pfdietz: must be multi-implementation, too 2018-10-01T16:53:10Z nowolfer quit (Ping timeout: 246 seconds) 2018-10-01T16:55:00Z pjb joined #lisp 2018-10-01T16:55:12Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-01T16:55:13Z nowolfer joined #lisp 2018-10-01T16:55:14Z pfdietz: This is Waters' old COVER package. Main issue is getting rid of some CLtL1-isms. 2018-10-01T16:56:09Z roshanavand joined #lisp 2018-10-01T16:56:55Z domovod quit (Quit: WeeChat 2.2) 2018-10-01T16:57:44Z anewuser quit (Quit: anewuser) 2018-10-01T16:58:27Z igemnace quit (Ping timeout: 268 seconds) 2018-10-01T17:04:14Z Fade: a package with CLtL1-isms is an odd choice to champion. :) 2018-10-01T17:17:43Z pfdietz: Hey, it's a cool package! And I have uses for extensions of it. 2018-10-01T17:18:01Z quipa joined #lisp 2018-10-01T17:22:31Z frgo joined #lisp 2018-10-01T17:23:21Z roshanavand quit (Ping timeout: 260 seconds) 2018-10-01T17:23:43Z shka_ joined #lisp 2018-10-01T17:23:55Z shka_: good evening! 2018-10-01T17:24:02Z roshanavand joined #lisp 2018-10-01T17:24:35Z shka_: pjb: numenta stuff was intriguing enough for me to buy "on intelligence" book 2018-10-01T17:25:05Z shka_: i wonder if htms can be paired with boltzmann machines 2018-10-01T17:25:24Z shka_: anyway, thanks for something new to learn! 2018-10-01T17:27:27Z anunnaki quit (Ping timeout: 252 seconds) 2018-10-01T17:30:16Z nowhere_man quit (Ping timeout: 246 seconds) 2018-10-01T17:36:02Z kushal quit (Remote host closed the connection) 2018-10-01T17:44:14Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-01T17:44:18Z m00natic quit (Remote host closed the connection) 2018-10-01T17:44:56Z scymtym quit (Ping timeout: 260 seconds) 2018-10-01T17:51:30Z vlatkoB quit (Remote host closed the connection) 2018-10-01T17:59:34Z scymtym joined #lisp 2018-10-01T18:01:05Z nowhere_man joined #lisp 2018-10-01T18:08:57Z roshanavand joined #lisp 2018-10-01T18:13:41Z roshanavand quit (Ping timeout: 268 seconds) 2018-10-01T18:14:29Z roshanavand joined #lisp 2018-10-01T18:16:24Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-01T18:21:34Z jeosol: morning guys 2018-10-01T18:21:46Z sauvin quit (Read error: Connection reset by peer) 2018-10-01T18:22:26Z jeosol: anyone has a working websockets (any lib) example they can share with me. I tried to load fukamachi's websocket-driver example on his github, but getting some weird errors. 2018-10-01T18:23:10Z jeosol: one of the errors is "No Sec-WebSocket-Version header" 2018-10-01T18:23:28Z angavrilov quit (Remote host closed the connection) 2018-10-01T18:23:54Z jxy quit (Remote host closed the connection) 2018-10-01T18:24:29Z jeosol: what I am trying to do is this: I have an application that writes output when running, I will like to send this to a browser window. The output from the program is supposed to show status report, e.g., like log output 2018-10-01T18:25:17Z jeosol: maybe there is a better way to achieve this. Also, the messages can be fast or slow, depending on problem. 2018-10-01T18:26:37Z oni-on-ion: try hunchensocket 2018-10-01T18:28:11Z heisig quit (Remote host closed the connection) 2018-10-01T18:28:54Z SaganMan joined #lisp 2018-10-01T18:29:23Z jeosol: oni-on-ion: thanks for that. I guess websockets is the approach I should be looking at? 2018-10-01T18:30:24Z whartung: you don’t necessarily need websockets for that, folks have been doing long-polling to do that forever. 2018-10-01T18:32:51Z graphene quit (Remote host closed the connection) 2018-10-01T18:34:11Z graphene joined #lisp 2018-10-01T18:34:52Z jxy joined #lisp 2018-10-01T18:35:01Z dueyfinster joined #lisp 2018-10-01T18:37:18Z jeosol: whartung: ok, I am not a web expert but I am just looking for away to send my print statements to the repl to some text box (div, textarea, etc) on a page. 2018-10-01T18:38:29Z whartung: if you’re trying to simulate a repl, then you may be happier with websockets. 2018-10-01T18:38:51Z RedNifre joined #lisp 2018-10-01T18:39:00Z RedNifre: Greetings. 2018-10-01T18:39:21Z cage_ quit (Remote host closed the connection) 2018-10-01T18:39:22Z jeosol: not simulate, just send read-only print statements to a page. 2018-10-01T18:39:56Z oni-on-ion: can use hunchentoot etc. basic HTTP requests for that 2018-10-01T18:40:00Z frgo quit (Read error: Connection reset by peer) 2018-10-01T18:40:01Z shka_ quit (Remote host closed the connection) 2018-10-01T18:40:30Z roshanavand quit (Ping timeout: 244 seconds) 2018-10-01T18:41:17Z roshanavand joined #lisp 2018-10-01T18:42:42Z roshanavand quit (Client Quit) 2018-10-01T18:43:13Z whartung: well that’s the problem jeosol — web pages out of the box simply aren’t set up for that, trickling in content. 2018-10-01T18:43:26Z whartung: it takes a bit of plumbing to get that two work. 2018-10-01T18:43:30Z whartung: *to work 2018-10-01T18:43:46Z whartung: two too many to’s in english... 2018-10-01T18:44:09Z jeosol: i agree. I tried the ajax approach, the pages don't update as fast I wanted, some kind of lag. 2018-10-01T18:45:42Z whartung: long polling is a normal http request that’s reading the response, and acting on it as it’s read (vs caching it all up and then acting on the finished payload). Meanwhile, the server never closes the response/socket, so it remains open. Something on the server is polling or waiting for new data to push down the opened response to the client. 2018-10-01T18:45:51Z jeosol: probably didn't implement it correctly 2018-10-01T18:46:01Z whartung: it’s not web 101, that’s for sure 2018-10-01T18:46:24Z whartung: you could have the web page just repeatedly poll the server for updates. 2018-10-01T18:46:30Z whartung: and send fine grained responses 2018-10-01T18:47:07Z whartung: that has inefficiencies of its own, but it’s likely easier ti implement. 2018-10-01T18:49:05Z makomo joined #lisp 2018-10-01T18:51:03Z eminhi quit (Ping timeout: 252 seconds) 2018-10-01T18:56:10Z emaczen joined #lisp 2018-10-01T18:56:11Z dueyfinster quit (Quit: My iMac has gone to sleep. ZZZzzz…) 2018-10-01T18:58:13Z emaczen quit (Client Quit) 2018-10-01T18:58:16Z jruchti quit (Ping timeout: 250 seconds) 2018-10-01T18:58:45Z emaczen joined #lisp 2018-10-01T19:06:03Z nowhere_man joined #lisp 2018-10-01T19:11:33Z Arcaelyx quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-01T19:14:16Z jruchti joined #lisp 2018-10-01T19:14:18Z robotoad quit (Quit: robotoad) 2018-10-01T19:14:41Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-01T19:16:44Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-01T19:17:28Z orivej joined #lisp 2018-10-01T19:18:59Z Copenhagen_Bram joined #lisp 2018-10-01T19:21:04Z Arcaelyx joined #lisp 2018-10-01T19:21:18Z Arcaelyx quit (Client Quit) 2018-10-01T19:28:29Z jasom: If you don't care about IE/Edge you can use server-sent events 2018-10-01T19:28:57Z jasom: but websockets have better support 2018-10-01T19:30:04Z slyrus1 quit (Ping timeout: 240 seconds) 2018-10-01T19:30:04Z RedNifre quit (Read error: Connection reset by peer) 2018-10-01T19:33:12Z emaczen: Is there a CL or a common CL implementation function that will convert an integer to and from big and little endian? 2018-10-01T19:34:27Z |3b|: nothing directly in spec 2018-10-01T19:35:20Z ggole quit (Quit: ggole) 2018-10-01T19:35:22Z dlowe: you sure you want that, or do you want a byte vector 2018-10-01T19:35:46Z dlowe: because it's a lot nicer to think of byte order as being an encoding of an integer 2018-10-01T19:36:52Z dlowe: I thought alexandria had something, but it doesn't 2018-10-01T19:36:54Z jasom: emaczen: consider fastio? 2018-10-01T19:37:13Z jasom: emaczen: it doesn't have conversion, but it lets you read from a byte-stream as a particular endianness 2018-10-01T19:37:39Z jasom: https://github.com/rpav/fast-io 2018-10-01T19:44:54Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-01T19:44:58Z longshi joined #lisp 2018-10-01T19:52:52Z RedNifre joined #lisp 2018-10-01T19:58:29Z slyrus1 joined #lisp 2018-10-01T19:58:53Z jkordani_ joined #lisp 2018-10-01T20:00:55Z warweasle quit (Quit: later) 2018-10-01T20:02:14Z dented42 joined #lisp 2018-10-01T20:02:54Z jkordani quit (Ping timeout: 264 seconds) 2018-10-01T20:03:50Z RedNifre: Hey there, I discovered this ancient C64 Lisp and I'm trying to write a macro that turns (-> 4 (+ 3) (* 5)), but I'm afraid I'm too clueless about lisp to do that. Conceptually speaking, how would you solve it? 2018-10-01T20:05:16Z dlowe: well, I'd start by figuring out my inputs and output code 2018-10-01T20:05:17Z Bike: did you forget to type the end of the second clause? 2018-10-01T20:05:20Z RedNifre: So far I have a FEXRP function like (df tf2 (a b) (cons (car b) (cons a (cdr b] which does the job for two elements, i.e. it turns (tf2 5 (+ 2)) into (+ 5 2) 2018-10-01T20:05:32Z dlowe: but this channel is just for common lisp 2018-10-01T20:05:39Z dlowe: the any-lisp channel is ##lisp 2018-10-01T20:06:05Z RedNifre: ah, my bad, i thought this would be any lisp. 2018-10-01T20:10:37Z npr-work joined #lisp 2018-10-01T20:13:05Z pierpal joined #lisp 2018-10-01T20:15:47Z nowhere_man quit (Ping timeout: 268 seconds) 2018-10-01T20:16:33Z Bike quit (Ping timeout: 256 seconds) 2018-10-01T20:26:31Z phoe: I actually have a question about ANSI CL naming conventions 2018-10-01T20:27:29Z phoe: "how can it be variable if it must be constant": why are constant variables named like that? 2018-10-01T20:27:45Z oni-on-ion: i always get warnings with defconst 2018-10-01T20:28:03Z Shinmera: phoe: what? 2018-10-01T20:28:10Z phoe: constant variable 2018-10-01T20:28:13Z phoe: that's an oxymoron 2018-10-01T20:28:47Z Shinmera: Ah, because 2018-10-01T20:28:48Z _death: it varies when the programmer decides to change it 2018-10-01T20:28:55Z phoe: I guess this translates to a constant binding in the namespace of variables 2018-10-01T20:28:55Z Shinmera: clhs glossary/variable 2018-10-01T20:28:55Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/26_glo_v.htm#variable 2018-10-01T20:29:08Z Shinmera: variable n. a binding in the ``variable'' namespace. 2018-10-01T20:29:09Z phoe: which makes more sense when expanded like that 2018-10-01T20:29:14Z phoe: oh right, exactly this 2018-10-01T20:30:07Z phoe: the naming "constant variable" reminds me of that Ford quotation where you could have any color of your model T as long as that color is EQL to :BLACK 2018-10-01T20:30:18Z phoe: geez, even the name's lispy: model T 2018-10-01T20:30:52Z oni-on-ion: model Ethh 2018-10-01T20:34:59Z trittweiler quit (Ping timeout: 252 seconds) 2018-10-01T20:45:39Z hiroaki joined #lisp 2018-10-01T20:47:44Z robotoad joined #lisp 2018-10-01T20:47:56Z warweasle joined #lisp 2018-10-01T20:47:59Z Roy_Fokker joined #lisp 2018-10-01T20:48:01Z aeth: well, a vector isn't a vector so it doesn't surprise me that a variable isn't necessarily variable 2018-10-01T20:48:09Z aeth: and a function doesn't have to be a function, either :-) 2018-10-01T20:48:16Z aeth: programming does stuff like that all of the time 2018-10-01T20:50:15Z aeth: (a vector isn't a vector because you can't do (+ (vector 1 2) (vector 3 4)) or (* 42 (vector 1 2))) 2018-10-01T20:51:17Z oni-on-ion: except in hooolia 2018-10-01T20:51:43Z aeth: Using the name "vector" for "1D array" means that when people actually implement vectors they're usually called "vec"s in CL 2018-10-01T20:52:27Z oni-on-ion: agh naming stuff is important =( 2018-10-01T20:52:33Z fortitude joined #lisp 2018-10-01T20:56:33Z aeth: oni-on-ion: I'm not really familiar with Julia, but you probably don't actually want (+ (vector 1 2) (vector 3 4)) to work, even with real vectors. You probably want a #'vec+ and a #'scalar*vec instead. And then, on top of that, you probably *actually* want #'vec+-into or #'scalar*vec-into most of the time 2018-10-01T20:56:53Z aeth: Being too generic can be problematic, and with vectors you don't want to overallocate. 2018-10-01T21:00:04Z aeth: I don't think the combination of a very generic #'+ (to the point where it would work with vectors and maybe even matrices) and a dynamically typed language is a good combination. 2018-10-01T21:00:15Z didi left #lisp 2018-10-01T21:02:39Z aeth: #'* is even harder. #'* can have any number of scalars, but only one vector (unless you arbitrarily want to pick which vector multiplication to use), but if you also have it with matrices, there's only one matrix multiplication, so suddenly you can use it for any arbitrary combination of foos and scalars again. 2018-10-01T21:03:33Z parjanya joined #lisp 2018-10-01T21:06:09Z oni-on-ion: the combination is clearly defined because of typing 2018-10-01T21:06:21Z oni-on-ion: (on julia side. its really smart with it) 2018-10-01T21:06:55Z oni-on-ion: i wouldnt imagine doing mathematical on anything else. i think it gets those nice properties from MATLAB or R but im not sure. 2018-10-01T21:07:19Z aeth: Personally, I prefer doing mathematics on something that is explicit rather than magic. 2018-10-01T21:08:19Z aeth: I'd rather try to work in a middle level between the machine and the math theory than just type the math and hope the language is sufficiently smart. 2018-10-01T21:11:19Z oni-on-ion: i suppose you feel that julia is magic? not sure what to say after that. 2018-10-01T21:11:54Z oni-on-ion: doesnt feel like a conversation i am part of, or that i agree with any role that is assumed of me within it 2018-10-01T21:11:55Z aeth: *Something* has to be sacrificed to get efficient(ish) dynamically typed generics for mathematics. 2018-10-01T21:12:07Z oni-on-ion: yeah, the compiler's effort. 2018-10-01T21:13:12Z oni-on-ion: and the available packages and frameworks as extension to that; i've never seen an ecosystem nearly as complete and perfect for graphics/audio science and gamedev as i seen for julia 2018-10-01T21:13:50Z oni-on-ion: the sacrifice is having to Type out your code, i guess. but it works out, theres almost no undefined behavior, its quite a tight and robust and well thought-out platform. 2018-10-01T21:13:58Z oni-on-ion: but i'm using CL 2018-10-01T21:14:27Z aeth: wait, you do have to add types? :-) 2018-10-01T21:15:02Z razzy quit (Remote host closed the connection) 2018-10-01T21:15:25Z aeth: Now *that* matches my CL experience. 2018-10-01T21:15:35Z razzy joined #lisp 2018-10-01T21:16:14Z oni-on-ion: no, types are optional 2018-10-01T21:16:31Z oni-on-ion: it helps when designing stuff but yes also very important for optimisation =) 2018-10-01T21:16:43Z aeth: It's a bait and switch. SBCL does the same thing. "$foo is dynamically typed. $foo is almost as fast as C for mathematics." Well, yeah. When you add the optional type declarations. 2018-10-01T21:17:08Z longshi quit (Quit: WeeChat 2.2) 2018-10-01T21:17:19Z aeth: I mean, obviously I think that's good in a language, to have the types be optional, but it's misleading to imply that the dynamic typing is the fast part when you have to help the language out to match C. 2018-10-01T21:17:21Z oni-on-ion: with julia i find it is easier to line up big abstract ideas into little detailed implementations. like a good micro/macroscopre 2018-10-01T21:17:23Z rumbler31 joined #lisp 2018-10-01T21:17:47Z oni-on-ion: oh. yeah julia doesnt claim that. i suppose that is another inaccurate assumption i cannot be a part of =) 2018-10-01T21:18:12Z oni-on-ion: anything as we know has sacrifices for performance 2018-10-01T21:18:22Z oni-on-ion: nothing is really that different than anything else 2018-10-01T21:18:53Z oni-on-ion: but i wanted to say, that julia vector/matrix ops are superb, best-in-class, grade A top shelf delicioso 2018-10-01T21:19:12Z oni-on-ion: but thats half a macro away in CL anyway eh =) 2018-10-01T21:19:13Z aeth: Ime you can have generics or you can have fast dynamic typing but not both. Scheme usually cheats by having you write foo-bar-baz-ref instead of aref (now the compiler/interpreter knows what type it has to be!) just so it can keep its purity in dynamic typing some more. But even Scheme had to give into having a generic +, *, etc. 2018-10-01T21:20:05Z aeth: (I guess you can also do generics with a JIT by assuming that the type won't change and running something for long enough? I'm not that familiar with JITs) 2018-10-01T21:20:39Z rumbler31 quit (Remote host closed the connection) 2018-10-01T21:21:28Z aeth: Lisp machines might have had another approach, I'm not sure. I think they ignored type declarations entirely. But no one uses specialized hardware like that anymore. 2018-10-01T21:22:34Z no-defun-allowed: Lisp machines do the type checking using hardware in parallel. 2018-10-01T21:22:40Z oni-on-ion: hehe @ scheme. and yeah about balancing dynamic vs. static. its good for when systems have a nice pleasant natural harmonious mix of both - like CL and like julia 2018-10-01T21:22:57Z aeth: Oh, and just to be clear again, I'd much rather declare types in a few places where necessary for performance than everywhere. 2018-10-01T21:23:27Z oni-on-ion: this is what i recent-learned about CL, that its both high and low. much from our discussions aeth i thank you for that and also many others here. but julia helps me understand CL more, anyway =) 2018-10-01T21:23:31Z aeth: But optional typing where it matters is almost as fast as C, not dynamic typing. 2018-10-01T21:24:22Z aeth: (What you can learn from CL is most of the time types don't matter! For performance, anyway.) 2018-10-01T21:24:26Z oni-on-ion: not sure how CL is about declaring types everywhere, but julia is good with type inferencing, mostly just a few places needed. a bit like ocaml i guess. not like haskell where its requires everywhere 2018-10-01T21:24:30Z oni-on-ion: *required 2018-10-01T21:24:58Z oni-on-ion: hm=) types help me design. not sure where to go with just defparameter/defun 2018-10-01T21:25:06Z aeth: oni-on-ion: CL is not about declaring types everywhere, but CL being competitive with Fortran/C/C++ for math computations (which is also what Julia tries to do) *is* about declaring types everywhere. 2018-10-01T21:25:32Z aeth: As a rule of thumb, arrays and numbers (and arrays of numbers) seem to be where it matters in CL. 2018-10-01T21:25:41Z oni-on-ion: julia is 10 years old. it doesnt "try" to accomplish that. but i appreciate your opinion. 2018-10-01T21:26:11Z aeth: oni-on-ion: If there's one thing I've learned about competing with C++ is everyone tries to, but there's just so much momentum behind it :-p 2018-10-01T21:26:19Z oni-on-ion: julia's main ting is to provide performant numeric and math stuff to replace C++, matlab, R, numpy/python. its doing really well for that. 2018-10-01T21:27:00Z no-defun-allowed: http://harmful.cat-v.org/software/c++ 2018-10-01T21:27:07Z oni-on-ion: sure aeth. theres a reason i have a lot of respect for julia and talk about it often. just saying. im not blind by any means =) my standards are almost impossible to fulfill 2018-10-01T21:27:38Z aeth: oni-on-ion: definitely looks like it replaces matlab, which is a really good thing because matlab isn't FOSS and the compatible GNU octave is much slower than matlab iirc. 2018-10-01T21:27:45Z oni-on-ion: rust is not even close they went the wrong direction i think 2018-10-01T21:28:10Z oni-on-ion: yea, also lots of complains about python, but numpy done in C, but most of that stuff is ported to julia now 2018-10-01T21:28:15Z no-defun-allowed: Yeah it died of memory leaks. 2018-10-01T21:28:30Z oni-on-ion: story of my life 2018-10-01T21:29:28Z no-defun-allowed: "oh no memory leaks are safe though!" says the rust book 2018-10-01T21:29:51Z aeth: oni-on-ion: the thing about C++ is that (almost) everyone who could leave C++ has already left C++ so if you want to compete with C++ you probably need something like Rust 2018-10-01T21:30:10Z aeth: You're, unfortunately, probably not going to replace C++ with something with a GC. 2018-10-01T21:30:22Z oni-on-ion: ur too accusative convo done! 2018-10-01T21:30:45Z no-defun-allowed: Golang seems somewhat reasonable. 2018-10-01T21:30:51Z pjb: aeth: you can see GC, if you say you're doing it at compilation time. 2018-10-01T21:30:52Z aeth: no-defun-allowed: yeah, but it competes with Java 2018-10-01T21:31:03Z oni-on-ion: i cant represent all those language designers and whatever hangups are going on here. i just mention casual random fact info and hope its useful. not tryint to sell anything or get into comparisons or distract anyone from working etc 2018-10-01T21:31:06Z pjb: aeth: cf. ARC in Objective-C or Swift. 2018-10-01T21:31:07Z no-defun-allowed: It's certainly a higher level language but it seems quite fast. 2018-10-01T21:31:10Z no-defun-allowed: I see. 2018-10-01T21:31:32Z oni-on-ion: programming is not a pvp competition fight battle royale to me, thats all. its a practical healthy creative persuit. 2018-10-01T21:31:35Z aeth: pjb: I think anti-GC is a very overrated approach and GCs work in a lot more places than people think they work, but the people who stayed on C++ are people who disagree. 2018-10-01T21:32:04Z pjb: aeth: foremost, almost no program should be written in C or C++… 2018-10-01T21:32:14Z aeth: pjb: What reference counting does is make people think it's not a GC, though. 2018-10-01T21:32:35Z pjb: Almost all unix user-space programs should be written in higher level programming languages. 2018-10-01T21:32:44Z no-defun-allowed: People seem scared of GCs today. 2018-10-01T21:33:31Z no-defun-allowed: Even McCarthy's LISP didn't take long to garbage collect. 2018-10-01T21:34:19Z oni-on-ion: its the "magic" they dont understand which scares them. 2018-10-01T21:34:24Z oni-on-ion: like fancy other new languages 2018-10-01T21:34:29Z oni-on-ion: tsk tsk 2018-10-01T21:34:40Z foom2: no-defun-allowed: that's not a useful argument. memory was a lot faster relative to CPU speed back then than it is now. 2018-10-01T21:35:24Z no-defun-allowed: That's true. 2018-10-01T21:35:40Z aeth: no-defun-allowed: Pauses can be bad if your program is real-time. That's imo the main valid argument against most (but not all!) GCs. 2018-10-01T21:36:47Z no-defun-allowed: There are realtime GCs, right? I remember one for Java. 2018-10-01T21:37:09Z aeth: And there's the problem. Java. 2018-10-01T21:37:18Z pjb: There are real time GCs, and there are GC working in parallel, in background threads, and even in hardware! 2018-10-01T21:37:31Z no-defun-allowed: (If there aren't any libre ones, it means nothing though.) 2018-10-01T21:38:01Z aeth: You don't need maximum performance for real-time, you need predictable performance. GC is just one of the ways it can be unpredictable. JITs are afaik another. 2018-10-01T21:38:08Z durn joined #lisp 2018-10-01T21:38:29Z aeth: I guess if it runs long enough it becomes predictable enough. 2018-10-01T21:39:50Z durn: I have my .stumpwmrc set to create a Swank server on port 4004 so I can update it while running. How can I change out Swank for Slynk or otherwise connect to the Swank server with Sly? 2018-10-01T21:40:18Z aeth: pjb: All of the nice GCs seem to be JVM 2018-10-01T21:41:20Z pjb: aeth: that's only because they have powerful backers: Sun, Oracle. Anytime, you win the lotto, and get bought out, become milliardaire, and finance the implementation of those GC in free CL implementations. 2018-10-01T21:41:58Z pjb: aeth: perhaps now that Elon Musk doesn't have Tesla on his plate anymore, you could interest him into some Common Lisp Venture? 2018-10-01T21:42:36Z aeth: pjb: A GC like that is much more complicated than a GC like what current CLs (obviously excluding ABCL) have because afaik it's more like having multiple GCs than one. 2018-10-01T21:43:29Z Copenhagen_Bram quit (Ping timeout: 252 seconds) 2018-10-01T21:43:57Z xuxuru quit (Quit: xuxuru) 2018-10-01T21:44:05Z aeth: Different GCs offer different drawbacks and advantages. The JVM afaik wants to be able to offer everything for everyone. Looks like Wikipedia describes it as "several garbage collectors". https://en.wikipedia.org/wiki/HotSpot 2018-10-01T21:44:09Z PuercoPop quit (Quit: ZNC 1.6.3 - http://znc.in) 2018-10-01T21:46:31Z Copenhagen_Bram joined #lisp 2018-10-01T21:47:45Z Essadon joined #lisp 2018-10-01T21:50:23Z LiamH quit (Quit: Leaving.) 2018-10-01T21:51:26Z orivej quit (Ping timeout: 252 seconds) 2018-10-01T21:52:12Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-01T22:06:51Z Younder quit (Ping timeout: 260 seconds) 2018-10-01T22:12:23Z ym joined #lisp 2018-10-01T22:14:05Z serichsen joined #lisp 2018-10-01T22:14:09Z serichsen: Moin! 2018-10-01T22:14:58Z no-defun-allowed: Hi serichsen 2018-10-01T22:15:27Z serichsen: To whom it may concern: the twitter bot @planet_lisp seems not to be working since May, assuming that it should tweet about anything new on planet.lisp.org 2018-10-01T22:15:41Z no-defun-allowed: If the JVM garbage collectors are so good, hour come they haven't removed Java yet? 2018-10-01T22:16:18Z serichsen: I guess someone still holds a reverence. 2018-10-01T22:17:33Z nirved quit (Quit: Leaving) 2018-10-01T22:18:34Z Younder joined #lisp 2018-10-01T22:18:49Z RedNifre quit (Quit: (dm >>= (n f l) (mapcan f l))) 2018-10-01T22:30:34Z dented42 joined #lisp 2018-10-01T22:31:58Z serichsen: Xach: sorry, you seem to be involved in Planet Lisp. See above. 2018-10-01T22:48:00Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-01T23:00:48Z jkordani joined #lisp 2018-10-01T23:01:15Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-01T23:03:44Z robotoad quit (Quit: robotoad) 2018-10-01T23:04:20Z jkordani_ quit (Ping timeout: 252 seconds) 2018-10-01T23:08:11Z mkolenda joined #lisp 2018-10-01T23:12:48Z rumbler31 joined #lisp 2018-10-01T23:15:31Z Bike joined #lisp 2018-10-01T23:21:29Z dxtr: Isn't there something like multiple-value-bind but for lists? 2018-10-01T23:22:03Z dxtr: My question is rhetorical. I know there is but I can't remember the name of it :) 2018-10-01T23:23:35Z jack_rabbit quit (Ping timeout: 252 seconds) 2018-10-01T23:24:34Z Bike: you mean you don't want to know the answer? 2018-10-01T23:25:28Z ebzzry_ quit (Read error: No route to host) 2018-10-01T23:25:33Z dxtr: I'd like the answer 2018-10-01T23:25:43Z dxtr: I think I can handle the answer 2018-10-01T23:25:44Z Bike: it isn't rhetorical then, is it? destructuring-bind 2018-10-01T23:26:51Z mange joined #lisp 2018-10-01T23:27:25Z dxtr: You're right. That wasn't the word I was looking for either. Maybe I should go to bed and avoid further embarassment 2018-10-01T23:27:54Z dxtr: I was trying to avoid a snarky "Yes." ;) 2018-10-01T23:28:44Z rumbler31 quit (Remote host closed the connection) 2018-10-01T23:35:36Z Kaisyu joined #lisp 2018-10-01T23:42:05Z warweasle quit (Quit: away) 2018-10-01T23:42:44Z jack_rabbit joined #lisp 2018-10-01T23:44:40Z Essadon quit (Quit: Qutting) 2018-10-01T23:50:28Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-01T23:51:01Z mkolenda joined #lisp 2018-10-01T23:55:16Z Kaisyu7 joined #lisp 2018-10-01T23:59:02Z earl-ducaine quit (Remote host closed the connection) 2018-10-01T23:59:31Z graphene quit (Remote host closed the connection) 2018-10-02T00:00:47Z graphene joined #lisp 2018-10-02T00:04:54Z anewuser joined #lisp 2018-10-02T00:06:25Z dale quit (Quit: dale) 2018-10-02T00:07:23Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-02T00:09:14Z durn quit (Ping timeout: 252 seconds) 2018-10-02T00:10:47Z asarch quit (Quit: Leaving) 2018-10-02T00:15:24Z mkolenda joined #lisp 2018-10-02T00:15:33Z rumbler31 joined #lisp 2018-10-02T00:17:29Z quipa quit (Ping timeout: 252 seconds) 2018-10-02T00:21:09Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-02T00:22:22Z Xach: serichsen: sorry. i need to fix it. 2018-10-02T00:27:25Z quazimodo joined #lisp 2018-10-02T00:31:45Z fortitude quit (Remote host closed the connection) 2018-10-02T00:39:13Z graphene quit (Remote host closed the connection) 2018-10-02T00:39:34Z serichsen quit (Ping timeout: 240 seconds) 2018-10-02T00:39:34Z pfdietz quit (Ping timeout: 240 seconds) 2018-10-02T00:40:29Z graphene joined #lisp 2018-10-02T00:44:07Z pfdietz joined #lisp 2018-10-02T00:51:50Z dented42 joined #lisp 2018-10-02T00:52:25Z nowhere_man joined #lisp 2018-10-02T00:55:12Z elderK joined #lisp 2018-10-02T00:59:33Z pjb quit (Read error: Connection reset by peer) 2018-10-02T01:00:11Z pjb joined #lisp 2018-10-02T01:06:54Z Cymew quit (Read error: Connection reset by peer) 2018-10-02T01:07:30Z Cymew joined #lisp 2018-10-02T01:07:33Z scymtym quit (Ping timeout: 245 seconds) 2018-10-02T01:09:26Z warweasle joined #lisp 2018-10-02T01:12:25Z Oladon joined #lisp 2018-10-02T01:13:53Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-02T01:21:27Z pjb quit (Ping timeout: 252 seconds) 2018-10-02T01:22:38Z doesthiswork joined #lisp 2018-10-02T01:22:58Z doesthiswork: what test framework should I use? 2018-10-02T01:26:53Z shifty joined #lisp 2018-10-02T01:28:01Z AeroNotix: doesthiswork: prove, rove or fiveam 2018-10-02T01:28:18Z doesthiswork: alrighty 2018-10-02T01:28:36Z AeroNotix: imho, rove is the better of the three. 2018-10-02T01:51:27Z emaczen: I see :little-endian in my *features* how common is the type of endianness across implementations? 2018-10-02T01:52:24Z esrse joined #lisp 2018-10-02T01:55:46Z |3b|: how common is little endian, or how common to be specified that way in *features*? 2018-10-02T01:57:29Z |3b|: little-endian is fairly common (mostly depends on CPU or ABI rather than implementation), and there is a library called "trivial-features" that i think will put that sort of thing in *features* in a consistent way 2018-10-02T01:58:13Z emaczen: |3b|: If I started using a big-endian machine, would :big-endian be in the *features* list? 2018-10-02T01:58:55Z |3b|: depends on implementation, but trivial-features would put it there if needed on implementations that didn't already do so 2018-10-02T02:04:58Z warweasle quit (Quit: away...) 2018-10-02T02:08:27Z robotoad joined #lisp 2018-10-02T02:08:29Z igemnace joined #lisp 2018-10-02T02:08:50Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-02T02:10:51Z quazimodo joined #lisp 2018-10-02T02:10:59Z doesthiswork quit (Quit: Leaving.) 2018-10-02T02:14:06Z eminhi joined #lisp 2018-10-02T02:22:36Z Roy_Fokker quit (Quit: Leaving) 2018-10-02T02:25:17Z rumbler31 quit (Remote host closed the connection) 2018-10-02T02:27:33Z nowhere_man quit (Ping timeout: 245 seconds) 2018-10-02T02:28:43Z rumbler31 joined #lisp 2018-10-02T02:29:18Z dddddd quit (Remote host closed the connection) 2018-10-02T02:33:26Z r1b joined #lisp 2018-10-02T02:37:16Z xsperry joined #lisp 2018-10-02T02:49:43Z NB0X-Matt-CA quit (Quit: WeeChat 2.0.1) 2018-10-02T02:52:47Z igemnace quit (Read error: Connection reset by peer) 2018-10-02T02:53:04Z igemnace joined #lisp 2018-10-02T02:55:01Z beach: Good morning everyone! 2018-10-02T02:58:30Z jgkamat: morning bea 2018-10-02T02:58:35Z jgkamat: beach :) 2018-10-02T03:01:47Z no-defun-allowed: morning beach 2018-10-02T03:13:01Z rumbler31 quit (Remote host closed the connection) 2018-10-02T03:21:46Z jeosol: morning beach 2018-10-02T03:23:17Z elderK quit (Quit: Connection closed for inactivity) 2018-10-02T03:29:34Z pierpal quit (Quit: Poof) 2018-10-02T03:29:51Z pierpal joined #lisp 2018-10-02T03:33:32Z pierpal quit (Read error: Connection reset by peer) 2018-10-02T03:33:50Z pierpal joined #lisp 2018-10-02T03:36:29Z igemnace quit (Read error: Connection reset by peer) 2018-10-02T03:36:31Z igemnace_ joined #lisp 2018-10-02T03:41:29Z r1b quit (Quit: r1b) 2018-10-02T03:48:02Z pierpal quit (Read error: Connection reset by peer) 2018-10-02T03:55:10Z siraben quit (Remote host closed the connection) 2018-10-02T03:55:51Z siraben joined #lisp 2018-10-02T03:57:53Z Oladon quit (Quit: Leaving.) 2018-10-02T04:01:22Z siraben quit (Ping timeout: 268 seconds) 2018-10-02T04:13:54Z rumbler31 joined #lisp 2018-10-02T04:19:34Z rumbler31 quit (Ping timeout: 240 seconds) 2018-10-02T04:24:14Z masterdonx quit (Quit: ZNC - http://znc.in) 2018-10-02T04:24:45Z masterdonx joined #lisp 2018-10-02T04:25:13Z anewuser quit (Quit: anewuser) 2018-10-02T04:26:05Z marvin2 quit (Ping timeout: 252 seconds) 2018-10-02T04:28:17Z graphene quit (Ping timeout: 252 seconds) 2018-10-02T04:32:30Z antonv joined #lisp 2018-10-02T04:32:47Z antonv: jackdaniel: hi 2018-10-02T04:33:58Z antonv: jackdaniel: how do you think, the error: too few arguments to function call, expected at least 3, have 2 2018-10-02T04:33:58Z antonv: cl_set(VV[26],cl_remove(1, VV[45])); 2018-10-02T04:34:06Z antonv: here https://travis-ci.org/roswell/roswell/jobs/435810196 2018-10-02T04:34:15Z antonv: is it an ECl or rowsell bug? 2018-10-02T04:34:35Z antonv: As I understand it's a compilation failure of this file: https://github.com/roswell/roswell/blob/release/lisp/extend-quicklisp.lisp 2018-10-02T04:36:01Z antonv: Probably caused by this line: https://github.com/roswell/roswell/blob/release/lisp/extend-quicklisp.lisp#L134 2018-10-02T04:40:13Z xsperry quit (Quit: CGI:IRC (Ping timeout)) 2018-10-02T04:42:19Z antonv: ok, it's going to be fixed: https://github.com/roswell/roswell/issues/343#issuecomment-426146899 2018-10-02T04:42:33Z parjanya quit (Remote host closed the connection) 2018-10-02T04:43:14Z no-defun-allowed: yeah that's missing the sequence to remove from 2018-10-02T04:43:20Z parjanya joined #lisp 2018-10-02T04:44:24Z no-defun-allowed: that file does look pretty messy 2018-10-02T04:44:48Z beach: It does. 2018-10-02T04:45:01Z beach: Inconsistent and incorrect spacing. 2018-10-02T04:45:41Z beach: Multiple IN-PACKAGE forms. 2018-10-02T04:45:53Z beach: Absence of newlines between top-level forms. 2018-10-02T04:46:07Z no-defun-allowed: it's quite fortunate nothing else is broken. 2018-10-02T04:46:14Z makomo: morning 2018-10-02T04:46:23Z no-defun-allowed: morning, makomo 2018-10-02T04:46:31Z beach: Hello makomo. 2018-10-02T04:46:42Z makomo: hello :-) 2018-10-02T04:46:50Z beach: .. Incorrect indentation. 2018-10-02T04:47:30Z no-defun-allowed: well, i might give cleaning it up a go after the relevant issue gets fixed. 2018-10-02T04:47:58Z pierpal joined #lisp 2018-10-02T04:48:21Z beach: That would be good I guess. But messy code often suggests messy thinking on the part of the author. 2018-10-02T04:49:03Z antonv: beach: or maybe author writes lots of code 2018-10-02T04:49:13Z beach: That is no excuse. 2018-10-02T04:49:26Z beach: In fact, it's the other way around. 2018-10-02T04:49:39Z antonv: around how? 2018-10-02T04:49:54Z beach: Someone who writes lots of code should, in order to be as fast as possible, decide once and for all how the indentation should look, what spacing to use, etc. 2018-10-02T04:50:04Z beach: Otherwise, he or she must stop and think about it each time. 2018-10-02T04:50:39Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-02T04:50:41Z antonv: Maybe they decided, but you just don't understand their system :) 2018-10-02T04:50:44Z no-defun-allowed: i should probably nuke/delete my old github account 2018-10-02T04:51:00Z beach: antonv: I seriously doubt that. 2018-10-02T04:51:13Z no-defun-allowed: it's a bloody mess, antonv 2018-10-02T04:51:56Z no-defun-allowed: unless "choose based on the output of RANDOM" is a style, there's no formatting style or patterns 2018-10-02T04:52:30Z parjanya quit (Read error: Connection reset by peer) 2018-10-02T04:53:48Z antonv: no-defun-allowed: what github accound do yyou mean? 2018-10-02T04:54:02Z parjanya joined #lisp 2018-10-02T04:54:20Z no-defun-allowed: i'm deleting my really old github account since i used it since i was around 11 2018-10-02T04:55:11Z antonv: no-defun-allowed: how old are you now? 2018-10-02T04:55:47Z no-defun-allowed: 17 2018-10-02T04:56:42Z antonv: fine age 2018-10-02T04:57:10Z no-defun-allowed: do you think the roswell maintainers would accept a PR that cleans up just one file? 2018-10-02T04:57:31Z beach: no-defun-allowed: You can try. It would send a good signal. 2018-10-02T04:57:56Z antonv: no-defun-allowed: i donn't know 2018-10-02T04:58:01Z no-defun-allowed: what would i be saying if i did? 2018-10-02T04:58:09Z beach: I think I know the author. Isn't he a frequent participant at ELS despite being far away? 2018-10-02T04:58:43Z beach: no-defun-allowed: "clean up code according to established conventions." 2018-10-02T04:58:54Z no-defun-allowed: fair enough 2018-10-02T04:59:34Z no-defun-allowed: fortunately the list i need to give REMOVE is in with the setf, hah 2018-10-02T05:01:23Z pierpal quit (Read error: Connection reset by peer) 2018-10-02T05:01:38Z antonv: no-defun-allowed: if you have nothing to do, maybe you better implement email notifications using Amazon SES in cl-test-grid? 2018-10-02T05:02:07Z no-defun-allowed: i'm not that bored 2018-10-02T05:02:16Z antonv: good for you 2018-10-02T05:02:54Z no-defun-allowed: okay that came off a bit rude 2018-10-02T05:03:05Z antonv: ) 2018-10-02T05:03:08Z antonv: :) 2018-10-02T05:03:20Z no-defun-allowed: in around 30 minutes i have to leave for the orthodontist and it's pretty much one symbol i have to add 2018-10-02T05:03:54Z antonv: what symbol? 2018-10-02T05:04:17Z no-defun-allowed: `ql-dist:*dist-enumeration-functions*​` 2018-10-02T05:04:32Z no-defun-allowed: L144 should be `(remove 'roswell-dist-enumeration-function ql-dist:*dist-enumeration-functions*)` if i'm not mistaken 2018-10-02T05:05:03Z moei quit (Read error: Connection reset by peer) 2018-10-02T05:05:35Z moei joined #lisp 2018-10-02T05:06:35Z antonv: no-defun-allowed: a, yes, you're right, but that's fixed already - issue is closed on github. 2018-10-02T05:06:47Z slyrus quit (Remote host closed the connection) 2018-10-02T05:06:47Z slyrus1 is now known as slyrus 2018-10-02T05:06:57Z slyrus1 joined #lisp 2018-10-02T05:07:54Z no-defun-allowed: i think all the read-from-string asdf symbols could be done with a reader macro like #+asdf 2018-10-02T05:11:41Z antonv: no-defun-allowed: if asdf was present (so that #+asdf works), then there would be no need for read-from-string at all 2018-10-02T05:11:59Z froggey quit (Ping timeout: 252 seconds) 2018-10-02T05:14:01Z froggey joined #lisp 2018-10-02T05:15:19Z Bike quit (Quit: Lost terminal) 2018-10-02T05:18:13Z jackdaniel: antonv: so is there something for me to investigate? 2018-10-02T05:18:28Z jackdaniel: or question solved itself when I was sound asleep? :) 2018-10-02T05:19:34Z antonv: jackdaniel: solved - it was a roswell bug, fixed already 2018-10-02T05:19:51Z antonv: jackdaniel: you wake up early 2018-10-02T05:19:52Z pjb joined #lisp 2018-10-02T05:20:03Z antonv: I'm only preparing for sleep 2018-10-02T05:20:16Z jackdaniel: heh 2018-10-02T05:20:53Z lavaflow quit (Read error: Connection reset by peer) 2018-10-02T05:22:50Z jackdaniel: no-defun-allowed: keep in mind that such email notification would benefit whole ecosystem, cl-test-grid is invaluable help for implementers 2018-10-02T05:22:57Z lavaflow joined #lisp 2018-10-02T05:27:03Z pjb quit (Ping timeout: 252 seconds) 2018-10-02T05:27:28Z eminhi quit (Ping timeout: 272 seconds) 2018-10-02T05:30:54Z sauvin joined #lisp 2018-10-02T05:32:44Z emaczen: how do you use cffi to postfix increment ++ a char**? 2018-10-02T05:33:11Z emaczen: my understanding is that a ++ on a int* increments the address by 4 since integers are represented with 4 bytes 2018-10-02T05:34:13Z antonv quit (Ping timeout: 245 seconds) 2018-10-02T05:34:20Z emaczen: since char* is variable, how can you determine what to increment by or is ++ implemented via strlen or counting the length of the current char*? 2018-10-02T05:35:37Z jackdaniel: pointer increment always increments by the address size 2018-10-02T05:44:35Z emaczen: We dereference with cffi:mem-ref right? 2018-10-02T05:51:07Z makomo quit (Read error: Connection reset by peer) 2018-10-02T06:09:46Z nonlinear joined #lisp 2018-10-02T06:10:42Z frgo joined #lisp 2018-10-02T06:12:34Z bigfondue quit (Ping timeout: 240 seconds) 2018-10-02T06:22:32Z quipa joined #lisp 2018-10-02T06:24:26Z wiselord quit (Ping timeout: 268 seconds) 2018-10-02T06:25:04Z dented42 joined #lisp 2018-10-02T06:25:22Z svillemot quit (Quit: ZNC 1.6.5+deb1+deb9u1 - http://znc.in) 2018-10-02T06:25:57Z heisig joined #lisp 2018-10-02T06:27:28Z arduo joined #lisp 2018-10-02T06:27:49Z svillemot joined #lisp 2018-10-02T06:28:24Z arduo quit (Remote host closed the connection) 2018-10-02T06:30:56Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-02T06:32:56Z quazimodo joined #lisp 2018-10-02T06:34:22Z bigfondue joined #lisp 2018-10-02T06:35:13Z gabbiel joined #lisp 2018-10-02T06:39:52Z Younder quit (Ping timeout: 246 seconds) 2018-10-02T06:41:17Z gabbiel quit (Remote host closed the connection) 2018-10-02T06:51:08Z nirved joined #lisp 2018-10-02T06:51:35Z Demosthenex quit (Ping timeout: 244 seconds) 2018-10-02T06:53:46Z Demosthenex joined #lisp 2018-10-02T07:00:23Z no-defun-allowed: There is one thing though: if FEATURES change, will old fasls be used? 2018-10-02T07:00:50Z no-defun-allowed: I figure that fasl checking would be done on read forms instead of string representations but I'm not sure. 2018-10-02T07:02:47Z Cymew quit (Remote host closed the connection) 2018-10-02T07:05:38Z ealfonso joined #lisp 2018-10-02T07:09:54Z flamebeard joined #lisp 2018-10-02T07:10:22Z beach: "fasl checking"? 2018-10-02T07:11:28Z jackdaniel: beach: I believe he talks about verifying, if fasl's need to be recompiled (asdf's cache-specific behavior) 2018-10-02T07:11:53Z beach: Ah, OK. 2018-10-02T07:13:06Z jackdaniel: she* :) 2018-10-02T07:15:06Z rozenglass quit (Remote host closed the connection) 2018-10-02T07:16:38Z Shinmera: fasls are recompiled if the file timestamp changes or the implementation version changes 2018-10-02T07:16:59Z Shinmera: that's the standard asdf behaviour at least 2018-10-02T07:23:12Z shka_ joined #lisp 2018-10-02T07:23:30Z shka_: good morning 2018-10-02T07:24:21Z beach: Hello shka_. 2018-10-02T07:25:01Z shka_: what is the fastest way to convert bitvector into integer? 2018-10-02T07:26:01Z jackdaniel: (coerce bit-vector 'integer) 2018-10-02T07:26:06Z nowhere_man joined #lisp 2018-10-02T07:26:14Z shka_: wow, that works? 2018-10-02T07:26:17Z shka_: let me try 2018-10-02T07:26:19Z jackdaniel: I don't know, have you tried it? 2018-10-02T07:27:19Z Shinmera: It's not specified to, but it might. 2018-10-02T07:27:24Z shka_: well, it does not work 2018-10-02T07:27:28Z shka_: at least not in sbcl 2018-10-02T07:28:03Z rumbler31 joined #lisp 2018-10-02T07:28:11Z shka_: jackdaniel: idea of that did not occur to me 2018-10-02T07:29:26Z shka_: but maybe there is something sbcl specific for that 2018-10-02T07:29:59Z shka_: oh, there is a library! 2018-10-02T07:32:50Z shka_: ok, bit-smasher is way faster then reduce (lambda (a b) (+ (ash a 1) b)) ;-) 2018-10-02T07:32:52Z rumbler31 quit (Ping timeout: 272 seconds) 2018-10-02T07:33:58Z shrdlu68 joined #lisp 2018-10-02T07:36:28Z angavrilov joined #lisp 2018-10-02T07:39:06Z vlatkoB joined #lisp 2018-10-02T07:40:39Z eminhi joined #lisp 2018-10-02T07:42:52Z Shinmera: The fastest way of course is to just use integers instead of bit vectors 2018-10-02T07:43:02Z shka_: it is true 2018-10-02T07:44:53Z ealfonso quit (Ping timeout: 252 seconds) 2018-10-02T07:47:41Z ealfonso joined #lisp 2018-10-02T07:54:36Z mange quit (Remote host closed the connection) 2018-10-02T07:55:01Z shrdlu68: shka_: One can use a window function with octet vectors, uint62 vectors, etc, without converting to bit vectors. 2018-10-02T07:55:19Z shka_: obviously 2018-10-02T07:55:34Z robotoad quit (Quit: robotoad) 2018-10-02T07:57:52Z shrdlu68: I switched my code to this from using bit-vectors, using a uint62 vector. 2018-10-02T07:58:37Z shrdlu68: Surprisingly, this is slower than when I was using bit-vectors, at least for now. 2018-10-02T08:00:46Z shrdlu68: I'm getting used to these kind of surprises these days. 2018-10-02T08:03:04Z JohnMS_WORK joined #lisp 2018-10-02T08:04:03Z no-defun-allowed: beach, jackdaniel: yes, i was wondering how a lisp system determines when a cache is no longer usable 2018-10-02T08:04:59Z Shinmera: The lisp system has no fasl cache, that's all asdf 2018-10-02T08:05:06Z Shinmera: and I already gave the answer for that 2018-10-02T08:05:08Z no-defun-allowed: oh okay 2018-10-02T08:06:55Z shrdlu68: Is it accurate to say that converting an integer to a bit-vector is a O(n) operation? 2018-10-02T08:07:22Z nowhere_man quit (Ping timeout: 250 seconds) 2018-10-02T08:07:31Z Shinmera: depends on what the implementation gives you. 2018-10-02T08:07:45Z Shinmera: but if it's just standard, then yes 2018-10-02T08:08:00Z no-defun-allowed: yeah, depends on the size of the vector and how it's managed. 2018-10-02T08:08:33Z no-defun-allowed: worst case is probably O(n), best would be O(1) which would be achieved if it fits in a machine register 2018-10-02T08:09:30Z Cymew joined #lisp 2018-10-02T08:10:06Z no-defun-allowed: i don't understand the assumptions extend-quicklisp makes in roswell 2018-10-02T08:10:32Z no-defun-allowed: some parts try to only do things if asdf is around using read-from-string and others just use asdf package symbols anyway 2018-10-02T08:11:04Z armo joined #lisp 2018-10-02T08:11:10Z armo: anyone around? 2018-10-02T08:11:18Z Shinmera: no 2018-10-02T08:11:25Z armo: crap 2018-10-02T08:11:35Z jackdaniel: armo: Shinmera is a bot, it doesn't mean that anyone is around 2018-10-02T08:11:37Z scymtym joined #lisp 2018-10-02T08:11:41Z jackdaniel: oups 2018-10-02T08:11:46Z armo: haha 2018-10-02T08:11:49Z Shinmera: it's true 2018-10-02T08:12:12Z armo: that's the biggest load of horse I heard the entire day lol 2018-10-02T08:12:15Z shrdlu68: We're all automatons, true. 2018-10-02T08:12:26Z no-defun-allowed: Shinmera: [ ] I am not a robot 2018-10-02T08:12:47Z Shinmera: armo: The lesson is to just ask your question instead of asking to ask 2018-10-02T08:12:53Z armo: can anyone help with racket? 2018-10-02T08:13:14Z Shinmera: That would be a question for #racket or #scheme. This is common lisp. 2018-10-02T08:13:18Z no-defun-allowed: this is a common lisp room 2018-10-02T08:13:32Z no-defun-allowed: we don't have many resources for tennis equipment 2018-10-02T08:13:37Z shrdlu68: Only commoners here. 2018-10-02T08:13:47Z armo left #lisp 2018-10-02T08:14:31Z no-defun-allowed: so i guess anything that mentions asdf gets the #+asdf macro 2018-10-02T08:14:40Z Cymew quit (Ping timeout: 272 seconds) 2018-10-02T08:14:56Z Shinmera: Huh? 2018-10-02T08:15:29Z no-defun-allowed: if you look at roswell's lisp/extend-quicklisp source, it's quite unclear if it expects asdf to be around 2018-10-02T08:15:36Z Shinmera: Ah 2018-10-02T08:15:58Z no-defun-allowed: some parts have a weird (ignore-errors (read-from-string "ASDF:FOO")) guard and others do not 2018-10-02T08:16:20Z no-defun-allowed: i've rewritten those guards to use #+asdf but i can't tell why the rest isn't guarded in a similar manner 2018-10-02T08:16:32Z jackdaniel: sloppy programming maybe 2018-10-02T08:16:48Z no-defun-allowed: presumably. 2018-10-02T08:17:29Z no-defun-allowed: the only hunch i have is if there's some backwards compatibility issue but nothing seems to be complex enough for it to have not existed earlier 2018-10-02T08:17:51Z loke: (find-symbol "FOO" "ASDF") is better. 2018-10-02T08:18:09Z Shinmera: loke: That doesn't help with readtable case changes :/ 2018-10-02T08:18:14Z no-defun-allowed: #+asdf asdf:foo is even better in this case. 2018-10-02T08:18:27Z hiroaki quit (Ping timeout: 252 seconds) 2018-10-02T08:19:56Z loke: Shinmera: (find-symbol (symbol-name '#:foo '#:asdf)) 2018-10-02T08:20:02Z loke: oops 2018-10-02T08:20:08Z loke: Shinmera: (find-symbol (symbol-name '#:foo) (symbol-name '#:asdf)) 2018-10-02T08:20:19Z no-defun-allowed: the phrase "just works" in roswell's description made me cringe though. 2018-10-02T08:20:22Z Shinmera: right. 2018-10-02T08:20:40Z jackdaniel: I had three approaches to rosweel 2018-10-02T08:20:46Z jackdaniel: and it never "just worked" for variosu reasons 2018-10-02T08:20:48Z jackdaniel: various* 2018-10-02T08:21:09Z jackdaniel: roswell even 2018-10-02T08:21:32Z Shinmera: I've used it only for CI and there it worked well enough 2018-10-02T08:21:35Z no-defun-allowed: generally speaking, "just work" solutions have limited purpose and probably aren't oriented towards programmers 2018-10-02T08:21:54Z Shinmera: no-defun-allowed: What? That's a stupid generalisation 2018-10-02T08:22:27Z no-defun-allowed: it probably is, but i don't trust things to just work 2018-10-02T08:22:48Z Shinmera: That doesn't mean solutions shouldn't be made to just work 2018-10-02T08:22:51Z ealfonso quit (Ping timeout: 252 seconds) 2018-10-02T08:22:54Z jackdaniel: hang on, I need to solder my RAM chip 2018-10-02T08:23:19Z no-defun-allowed: lol, jackdaniel 2018-10-02T08:23:20Z jackdaniel: and write kernel driver for it 2018-10-02T08:24:21Z no-defun-allowed: well, not exactly what i had in mind 2018-10-02T08:26:02Z shka_: question is 2018-10-02T08:26:05Z no-defun-allowed: but beyond some level of complexity or design, there isn't a solution that fits all problems 2018-10-02T08:26:10Z shka_: is there anything better then roswell? 2018-10-02T08:26:22Z siraben joined #lisp 2018-10-02T08:26:46Z no-defun-allowed: i suppose linux taught me to be a masocist so i won't comment further on software design 2018-10-02T08:26:50Z Shinmera: shka_: roswell does lots of things. I'm not aware of another tool that can install a large variety of implementations with a single command 2018-10-02T08:27:12Z Shinmera: shka_: But it also has build scripts and other stuff that I don't understand the need for 2018-10-02T08:27:35Z shka_: ok 2018-10-02T08:28:02Z Shinmera: no-defun-allowed: Sorry to hear that 2018-10-02T08:28:11Z no-defun-allowed: it looks somewhat like an attempt to unixify lisp systems IMO 2018-10-02T08:28:38Z Shinmera: it started as an implementation bootstrapper 2018-10-02T08:35:02Z nowhere_man joined #lisp 2018-10-02T08:36:39Z hiroaki joined #lisp 2018-10-02T08:37:33Z beach: What is an "implementation bootstrapper"? 2018-10-02T08:38:16Z no-defun-allowed: > 2018-10-02T08:38:24Z no-defun-allowed: >Roswell is a Lisp implementation installer/manager, launcher, and much more! 2018-10-02T08:38:45Z no-defun-allowed: it sets up your favourite CL implementation i guess 2018-10-02T08:40:20Z no-defun-allowed: looks like the golang launcher/compiler/stuff commandline tool to me 2018-10-02T08:41:27Z jdz: I just randomly created https://github.com/thephoeron/bit-smasher/pull/9, and looking at the output https://travis-ci.org/thephoeron/bit-smasher/jobs/436017531 made me very sad. 2018-10-02T08:42:41Z jdz: Mainly because how the CI jobs download half of Qicklisp libraries. 2018-10-02T08:43:10Z Shinmera: I tried fixing that by having travis cache things 2018-10-02T08:43:38Z Shinmera: but any time I try to do literally anything with travis I end up with hours of lost time and lots of rage 2018-10-02T08:44:26Z Shinmera: so I'm not suprprised that most don't bother beyond the basic setup 2018-10-02T08:44:39Z jdz: I wonder if compiled FASLs could be cached, because I see ironclad as one of the systems, and it takes a while to compile that. 2018-10-02T08:44:52Z jdz: Anyway, this looks like the very definition of bloat. 2018-10-02T08:45:32Z jdz: Layers on top of layers, global warming be damned. 2018-10-02T08:45:33Z Shinmera: ha ha ha speaking of https://github.com/Shinmera/3d-vectors/commit/099e7ca4d6f01e783dcbc10bf2f7274ca4d508d3 2018-10-02T08:45:51Z JohnMS joined #lisp 2018-10-02T08:46:14Z Shinmera: I really need to get to work on forge and autobuild 2018-10-02T08:46:47Z dxtr: I just bought Practical Common Lisp 2018-10-02T08:46:53Z Shinmera: Good! 2018-10-02T08:46:58Z dxtr: Hehe 2018-10-02T08:47:12Z igemnace_ quit (Remote host closed the connection) 2018-10-02T08:48:59Z JohnMS_WORK quit (Ping timeout: 252 seconds) 2018-10-02T08:49:34Z scymtym: many of those dependencies are due to the fact that cl-coveralls HTML-scrapes the coverage data from SBCL's coverage report (when i last checked, anyway) 2018-10-02T08:50:07Z Shinmera: Yeah, I was puzzled to see lquery & team in there 2018-10-02T08:52:58Z pfdietz quit (Ping timeout: 245 seconds) 2018-10-02T08:56:48Z pfdietz joined #lisp 2018-10-02T08:57:42Z Myon: svillemot: re cl-nibbles, there's a new release, but also another patch on top of it, not sure what makes sense to upload 2018-10-02T09:03:50Z razzy quit (Ping timeout: 252 seconds) 2018-10-02T09:04:23Z nirved quit (Ping timeout: 252 seconds) 2018-10-02T09:04:27Z razzy joined #lisp 2018-10-02T09:05:46Z nirved joined #lisp 2018-10-02T09:06:35Z esrse quit (Ping timeout: 252 seconds) 2018-10-02T09:12:24Z heisig quit (Remote host closed the connection) 2018-10-02T09:12:37Z heisig joined #lisp 2018-10-02T09:23:07Z dim: Shinmera: some people prepare docker images, publish them on some hub that travis can reach, and then have travis use that specified environment rather than their own moving target... I'm thinking of doing that next time I have to fix travis for pgloader 2018-10-02T09:23:38Z dim: Myon: I don't have an answer for you unfortunately :/ 2018-10-02T09:23:43Z Shinmera: dim: I'm thinking I hate travis like the pest and want to develop my own CI to be free of its curse 2018-10-02T09:23:53Z jruchti quit (Ping timeout: 268 seconds) 2018-10-02T09:23:56Z dim: well travis still gives you free VMs 2018-10-02T09:24:30Z Shinmera: VMs isn't really a big deal for me 2018-10-02T09:24:51Z Shinmera: And yes yes there's jenkins and all that but it's all a mess. 2018-10-02T09:25:07Z quazimodo quit (Ping timeout: 268 seconds) 2018-10-02T09:25:08Z dim: do you run PR's code in your CI system? there's something about trust in using travis, aka not your own system, disposable VM 2018-10-02T09:25:26Z Shinmera: I have no plans at the moment 2018-10-02T09:25:33Z dim: fair enough then 2018-10-02T09:26:15Z dim: Shinmera: did you have a look at https://circleci.com or some other competitors to Travis, btw? 2018-10-02T09:26:50Z Shinmera: Haven't had the energy to, no 2018-10-02T09:27:23Z Shinmera: Pretty much anything that requires me to push and wait to test my script is going to be as shitty as travis though 2018-10-02T09:27:42Z jruchti joined #lisp 2018-10-02T09:28:43Z dim: https://circleci.com/docs/2.0/deployment-integrations/#ssh 2018-10-02T09:28:55Z rumbler31 joined #lisp 2018-10-02T09:29:07Z orivej joined #lisp 2018-10-02T09:29:16Z dim: though I didn't test CircleCI at all, it seems like to can run your own hosted CircleCI locally 2018-10-02T09:30:41Z dim: anyway I feel I'm doing their advertising where I all want is for someone to take care of the CI for pgloader really, so I'll stop here ;-) 2018-10-02T09:31:28Z Myon: dim: it's probably just a matter of trying to build pgloader and see if it works 2018-10-02T09:33:27Z rumbler31 quit (Ping timeout: 252 seconds) 2018-10-02T09:49:09Z dim: Myon: I just restarted https://travis-ci.org/dimitri/pgloader/jobs/426791620 to see what happens with the current QL distribution 2018-10-02T09:49:26Z dim: we might have an answer in the next 5 to 15 mins 2018-10-02T09:51:22Z beach quit (Ping timeout: 250 seconds) 2018-10-02T09:53:53Z Myon: dim: looks like the debugger is waiting for someone to press a key 2018-10-02T09:54:23Z dim: at least it was a fast answer 2018-10-02T09:54:53Z dim: ironclad/2018-08-31/ironclad-v0.42.tgz doesn't work 2018-10-02T09:55:04Z dim: nibbles/2018-08-31/nibbles-20180831-git.tgz might or might not work 2018-10-02T09:55:30Z dim: is that the information you needed Myon? 2018-10-02T09:56:05Z Myon: looks like, yes 2018-10-02T10:12:12Z iskander quit (Quit: Quit) 2018-10-02T10:14:53Z beach joined #lisp 2018-10-02T10:17:54Z iskander joined #lisp 2018-10-02T10:27:19Z anewuser joined #lisp 2018-10-02T10:29:30Z m00natic joined #lisp 2018-10-02T10:38:13Z mkolenda quit (Remote host closed the connection) 2018-10-02T10:38:50Z mkolenda joined #lisp 2018-10-02T10:45:25Z marvin2 joined #lisp 2018-10-02T10:46:40Z smokeink joined #lisp 2018-10-02T10:46:41Z froggey quit (Ping timeout: 252 seconds) 2018-10-02T10:50:49Z trittweiler joined #lisp 2018-10-02T10:52:02Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2018-10-02T10:53:26Z froggey joined #lisp 2018-10-02T10:53:29Z vlatkoB joined #lisp 2018-10-02T10:54:13Z Cymew joined #lisp 2018-10-02T11:17:08Z beach quit (Disconnected by services) 2018-10-02T11:19:41Z beach joined #lisp 2018-10-02T11:20:47Z Essadon joined #lisp 2018-10-02T11:21:12Z igemnace joined #lisp 2018-10-02T11:28:40Z ggole joined #lisp 2018-10-02T11:29:42Z rumbler31 joined #lisp 2018-10-02T11:34:27Z rumbler31 quit (Ping timeout: 252 seconds) 2018-10-02T11:40:00Z OMGOMG joined #lisp 2018-10-02T11:41:55Z frgo quit (Remote host closed the connection) 2018-10-02T11:42:24Z frgo joined #lisp 2018-10-02T11:42:26Z xuxuru joined #lisp 2018-10-02T11:44:09Z frgo quit (Read error: Connection reset by peer) 2018-10-02T11:45:25Z frgo joined #lisp 2018-10-02T11:48:34Z creat quit (Ping timeout: 240 seconds) 2018-10-02T11:52:37Z creat joined #lisp 2018-10-02T12:07:44Z SaganMan quit (Ping timeout: 272 seconds) 2018-10-02T12:11:06Z orivej quit (Ping timeout: 252 seconds) 2018-10-02T12:24:58Z Bike joined #lisp 2018-10-02T12:29:22Z SaganMan joined #lisp 2018-10-02T12:30:21Z rumbler31 joined #lisp 2018-10-02T12:30:45Z xuxuru quit (Quit: xuxuru) 2018-10-02T12:32:42Z kooga joined #lisp 2018-10-02T12:33:07Z xuxuru joined #lisp 2018-10-02T12:34:28Z warweasle joined #lisp 2018-10-02T12:34:48Z rumbler31 quit (Ping timeout: 252 seconds) 2018-10-02T12:40:55Z mkolenda quit (Remote host closed the connection) 2018-10-02T12:41:26Z mkolenda joined #lisp 2018-10-02T12:45:17Z dddddd joined #lisp 2018-10-02T12:47:48Z smokeink quit (Remote host closed the connection) 2018-10-02T13:04:13Z cage_ joined #lisp 2018-10-02T13:04:16Z uint quit (Remote host closed the connection) 2018-10-02T13:10:38Z uint joined #lisp 2018-10-02T13:17:39Z charh quit (Ping timeout: 252 seconds) 2018-10-02T13:41:18Z xuxuru quit (Quit: xuxuru) 2018-10-02T13:42:07Z w37 joined #lisp 2018-10-02T13:43:26Z nckx joined #lisp 2018-10-02T13:46:42Z ebzzry joined #lisp 2018-10-02T14:00:34Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-02T14:01:46Z nowolfer quit (Ping timeout: 260 seconds) 2018-10-02T14:03:28Z nowolfer joined #lisp 2018-10-02T14:07:35Z pierpal joined #lisp 2018-10-02T14:14:38Z frgo quit (Remote host closed the connection) 2018-10-02T14:15:08Z frgo joined #lisp 2018-10-02T14:15:57Z eminhi quit (Ping timeout: 252 seconds) 2018-10-02T14:16:14Z jack_rabbit quit (Ping timeout: 252 seconds) 2018-10-02T14:17:01Z mkolenda quit (Remote host closed the connection) 2018-10-02T14:17:37Z mkolenda joined #lisp 2018-10-02T14:19:32Z frgo quit (Ping timeout: 244 seconds) 2018-10-02T14:21:41Z flamebeard quit 2018-10-02T14:26:28Z frgo joined #lisp 2018-10-02T14:30:10Z jruchti quit (Remote host closed the connection) 2018-10-02T14:30:56Z dale_ joined #lisp 2018-10-02T14:31:08Z rumbler31 joined #lisp 2018-10-02T14:31:15Z dale_ is now known as dale 2018-10-02T14:33:05Z angavrilov quit (Remote host closed the connection) 2018-10-02T14:35:55Z rumbler31 quit (Ping timeout: 268 seconds) 2018-10-02T14:39:05Z beach quit (Disconnected by services) 2018-10-02T14:39:39Z beach joined #lisp 2018-10-02T14:42:23Z arbv joined #lisp 2018-10-02T14:43:06Z frgo quit (Remote host closed the connection) 2018-10-02T14:43:35Z frgo joined #lisp 2018-10-02T14:43:46Z fortitude joined #lisp 2018-10-02T14:43:54Z jruchti joined #lisp 2018-10-02T14:44:50Z npr-work quit (Ping timeout: 252 seconds) 2018-10-02T14:48:15Z frgo quit (Ping timeout: 268 seconds) 2018-10-02T14:58:40Z DGASAU quit (Read error: Connection reset by peer) 2018-10-02T14:59:10Z siraben quit (Remote host closed the connection) 2018-10-02T14:59:37Z DGASAU joined #lisp 2018-10-02T14:59:51Z siraben joined #lisp 2018-10-02T15:04:05Z shrdlu68 quit (Ping timeout: 252 seconds) 2018-10-02T15:06:16Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-10-02T15:09:39Z shka_ quit (Quit: WeeChat 1.9.1) 2018-10-02T15:12:03Z jkordani_ joined #lisp 2018-10-02T15:14:15Z heisig quit (Ping timeout: 250 seconds) 2018-10-02T15:16:07Z Bike quit (Ping timeout: 256 seconds) 2018-10-02T15:16:28Z jkordani quit (Ping timeout: 272 seconds) 2018-10-02T15:25:22Z charh joined #lisp 2018-10-02T15:30:59Z robotoad joined #lisp 2018-10-02T15:33:45Z angavrilov joined #lisp 2018-10-02T15:35:18Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-10-02T15:35:40Z rippa joined #lisp 2018-10-02T15:57:39Z shka_ joined #lisp 2018-10-02T15:57:51Z angavrilov quit (Read error: Connection reset by peer) 2018-10-02T15:57:56Z shka_: good evening 2018-10-02T15:58:10Z beach: Hello shka_. 2018-10-02T15:58:22Z sjl joined #lisp 2018-10-02T16:00:23Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-02T16:03:48Z optikalmouse joined #lisp 2018-10-02T16:04:10Z igemnace quit (Quit: WeeChat 2.2) 2018-10-02T16:04:15Z Bike joined #lisp 2018-10-02T16:06:23Z heisig joined #lisp 2018-10-02T16:08:07Z heisig quit (Client Quit) 2018-10-02T16:18:53Z jruchti quit (Ping timeout: 252 seconds) 2018-10-02T16:31:54Z rumbler31 joined #lisp 2018-10-02T16:32:19Z varjag joined #lisp 2018-10-02T16:32:51Z makomo joined #lisp 2018-10-02T16:36:26Z phoe: I think I'm using a wrong kind of abstraction in my problem. 2018-10-02T16:36:47Z rumbler31 quit (Ping timeout: 268 seconds) 2018-10-02T16:36:51Z phoe: I have messages in my system, and there are three kinds of messages - FOO being a request, (OK FOO) being a successful response and (ERROR FOO) being an error. 2018-10-02T16:37:08Z phoe: Each of them may have completely different slots. 2018-10-02T16:37:34Z phoe: So I can't really define a single class FOO and set its slot STATUS to one of (NIL :OK :ERROR) because then my slots will be mismatched. 2018-10-02T16:38:19Z pjb joined #lisp 2018-10-02T16:38:44Z phoe: It's more like I need a dual kind of inheritance, one being FOO, BAR, BAZ, ... that are the different kinds of messages, and then the (NIL :OK :ERROR) that is the message status. 2018-10-02T16:38:59Z jkordani joined #lisp 2018-10-02T16:40:42Z ggole: Tag the info with symbols? 2018-10-02T16:41:16Z ggole: eg, Greenspunning datatypes 2018-10-02T16:42:22Z phoe: What do you mean? 2018-10-02T16:42:57Z jkordani_ quit (Ping timeout: 268 seconds) 2018-10-02T16:44:16Z ggole: If you have exactly three possible cases, you can indicate which one you have with a symbol 2018-10-02T16:45:07Z phoe: Yes, that's what I am doing now 2018-10-02T16:45:17Z phoe: And each possible case can have a different set of slots 2018-10-02T16:45:26Z ggole: The symbol doesn't go in the class 2018-10-02T16:45:42Z phoe: Oh, so you mean one more layer going in between 2018-10-02T16:45:44Z ggole: Because it's the discriminant - you use it to determine which class you are looking at 2018-10-02T16:45:59Z ggole: So the class value sits along side the symbol (in a cons or whatever) 2018-10-02T16:46:34Z jruchti joined #lisp 2018-10-02T16:46:35Z phoe: It's still pointless - FOO, (OK FOO), (ERROR FOO), BAR, (OK BAR), (ERROR BAR) are six different classes anyway 2018-10-02T16:46:41Z phoe: All six may have different slots 2018-10-02T16:47:29Z phoe: Right now I'm wishing I could name classes with two-element lists, but I can't have that 2018-10-02T16:52:25Z pjb: phoe: actually, you can. 2018-10-02T16:52:38Z pjb: You just need to implement this namespace yourself. 2018-10-02T16:53:06Z phoe: Yes, that's what I'm thinking of. 2018-10-02T16:54:29Z phoe: Time to take a dive into the MOP. 2018-10-02T16:54:50Z pjb: You can also name it: (defclass |FOO BAR| …) (defclass |ERROR FOO| …) or even: (defclass |(ERROR FOO BAZ)| …) so you can (read-from-string (symbol-name (class-name (class-of (make-instance '|(ERROR FOO BAZ)|))))) #| --> (error foo baz) ; 15 |# 2018-10-02T16:55:27Z phoe: Hm. 2018-10-02T16:55:28Z Bike: mop doesn't really touch names 2018-10-02T16:55:36Z phoe: Bike: yes, I don't want to deal with names. 2018-10-02T16:55:47Z phoe: The standard states that class names are symbols, period. 2018-10-02T16:56:24Z phoe: If I want to have my own naming convention, it means that I need to create a new subclass of STANDARD-CLASS that has a slot for this new naming method. 2018-10-02T16:57:11Z phoe: And then rebuild half of the user interface to use this new naming method. The default DEFMETHOD won't work with it, for example. 2018-10-02T17:00:06Z phoe: ...Lisp is a crazy language if it even allows me to think of redefining a half of the object system to suit my needs better 2018-10-02T17:03:26Z foom2 is now known as foom 2018-10-02T17:04:26Z pjb: phoe: or you just map lisp objects to symbols (uninterned), and implement your own find-class. 2018-10-02T17:04:32Z phoe: Hey, one second. I can still use the NAME slot on standard-class; I can just add a new slot named STATUS, which can be one of (NIL :OK :ERROR). 2018-10-02T17:05:03Z phoe: And simply avoid defining them via DEFCLASS and instead resort to a custom mechanism of mine. 2018-10-02T17:05:33Z phoe: (find-message-class '(:ok foo)) ;=> some class with name FOO and status :OK 2018-10-02T17:05:33Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-02T17:06:09Z phoe: And, once I have that, I need to implement my own DEFMETHOD that grabs class objects from my storage and not the class namespace. 2018-10-02T17:07:12Z optikalmouse quit (Quit: optikalmouse) 2018-10-02T17:08:03Z phoe: ........CLOS is completely and absolutely bonkers. I love it. 2018-10-02T17:09:54Z djeis[m]: We forget sometimes just how flexible it really is. 2018-10-02T17:10:27Z m00natic quit (Remote host closed the connection) 2018-10-02T17:19:39Z shifty quit (Ping timeout: 252 seconds) 2018-10-02T17:22:42Z ggole quit (Quit: ggole) 2018-10-02T17:26:12Z oni-on-ion: how to examine class structure of clos with slime 2018-10-02T17:26:38Z phoe: hm? 2018-10-02T17:26:42Z phoe: inspect the class object 2018-10-02T17:26:49Z phoe: (find-class 'standard-class) 2018-10-02T17:26:54Z phoe: R-click the returned object, Inspect 2018-10-02T17:28:18Z oni-on-ion: ah cool =) did (inspect ..) because no mouse 2018-10-02T17:28:20Z oni-on-ion: ty 2018-10-02T17:31:20Z |3b|: you can inspect it in slime inspector from keyboard with C-c C-I 2018-10-02T17:32:40Z LiamH joined #lisp 2018-10-02T17:35:36Z wiselord joined #lisp 2018-10-02T17:36:36Z varjag quit (Ping timeout: 268 seconds) 2018-10-02T17:43:55Z npr-work joined #lisp 2018-10-02T17:45:11Z varjag joined #lisp 2018-10-02T17:45:13Z pfdietz quit (Quit: pfdietz) 2018-10-02T17:46:46Z pfdietz joined #lisp 2018-10-02T17:48:33Z jkordani_ joined #lisp 2018-10-02T17:51:09Z anewuser quit (Quit: anewuser) 2018-10-02T17:52:22Z zxcvz joined #lisp 2018-10-02T17:52:38Z jkordani quit (Ping timeout: 268 seconds) 2018-10-02T17:52:59Z shrdlu68 joined #lisp 2018-10-02T17:53:15Z fouric: would anyone happen to know why (format t "pushd ~/bin") => "Compilation failed: error in FORMAT: No matching closing slash" ? 2018-10-02T17:53:41Z |3b|: ~ denotes format control, use ~~ for a literal ~ character 2018-10-02T17:53:47Z fouric: oh, i'm an idiot 2018-10-02T17:53:49Z fouric: thank you sir 2018-10-02T17:54:17Z fouric: (it's really nice that that was caught at compile-time though) 2018-10-02T17:54:18Z shrdlu68: What the time complexity of (length )? 2018-10-02T17:54:39Z shka_: linear 2018-10-02T17:54:48Z fouric: i think it's O(n) in a naive implementation and O(1) in a clever one? 2018-10-02T17:54:48Z |3b|: it has to walk whole list, so O(N) on length 2018-10-02T17:55:05Z fouric: i recall something about SBCL being able to actually make some lists be vectors/arrays in some cases 2018-10-02T17:55:15Z |3b|: can't be clever, since lists can share structure and be modified at any point internally 2018-10-02T17:55:23Z shka_: as PCL put it 2018-10-02T17:55:25Z fouric: RIP 2018-10-02T17:55:28Z shka_: there are no lists 2018-10-02T17:55:42Z |3b|: true, &rest 'lists' might be O(1) depending on how you use them in SBCL 2018-10-02T17:55:52Z |3b| doesn't know of any other cases though 2018-10-02T17:56:32Z fouric: that's unfortunate 2018-10-02T17:56:43Z |3b|: doing much of anything with them will turn them into real lists as specified in clhs, so probably shouldn't rely on that either 2018-10-02T17:56:56Z fouric: ...although i can imagine how difficult it would be to find lists that were guaranteed not to have either of those two things done to them 2018-10-02T17:57:02Z dlowe: it can be fairly clever just with adjacent cons cells 2018-10-02T17:59:10Z edgar-rft joined #lisp 2018-10-02T17:59:23Z |3b|: also keep in mind a list has N sublists, so how would you know which if any needed optimized 2018-10-02T18:00:23Z |3b|: &rest i think gets optimized as "vector of adjacent things on stack", since you are frequently giving it separate things anyway 2018-10-02T18:00:50Z |3b|: but as soon as you treat it as a list (in a way visible to user code) it has to build a real list out of it 2018-10-02T18:01:29Z |3b| has no idea what exactly you can do to it without triggering that, though i think LENGTH is safe 2018-10-02T18:07:25Z doubledup joined #lisp 2018-10-02T18:09:48Z dlowe: you can just build a vector of cons cells that is a real list, so that reads occur using aref unless/until a write occurs 2018-10-02T18:14:41Z orivej joined #lisp 2018-10-02T18:15:37Z whaack_ joined #lisp 2018-10-02T18:16:17Z whaack_: Hello, I am trying to pass the result of a function into a macro. Right now i have to execute the function and copy and paste the code into the macro call. Is there a convention on how to do this? 2018-10-02T18:17:00Z |3b|: convention is to not do that (at least without more info on what you are trying to do) 2018-10-02T18:17:05Z dlowe: whaack_: are you clear on what exactly a macro does? 2018-10-02T18:17:39Z |3b|: depending on context, possibly calling function from macro, or building macro form at runtime, or reader tricks could be applicable 2018-10-02T18:19:48Z whaack_: dlowe: I think so, but maybe I do not know what I don't know. In my own words: A macro transforms an expression into another expression at compile time. So afaik what I'm trying to do is not possible / not normal because whenever I try to pass the result of the function to my macro it is just going to try to "transform my function" instead of evaluating it 2018-10-02T18:20:40Z Bike: what macro isthis? 2018-10-02T18:20:44Z |3b|: you can transform the function call, but not the output 2018-10-02T18:20:49Z whaack_: The reason I am asking is because I am using the library cl-who, and it takes a lisp expression such as (:div (:a :href "www.mysite.com" "mysite")) and transforms it into html code
mysite.com
2018-10-02T18:21:24Z whaack_: So I have this api where I can pass some lisp code representing html into a macro, but i want to be able to generate the lisp code that becomes html programmaticaly 2018-10-02T18:21:30Z orivej quit (Ping timeout: 264 seconds) 2018-10-02T18:22:40Z whaack_: Right now i can execute my function, generate my html, and then paste it into my macro, and get my html. I feel sad struggling and failing to encapsulate that process into a function/macro. 2018-10-02T18:23:19Z whaack_: generate my html-as-lisp* 2018-10-02T18:23:46Z |3b| got confused by trying to mix stuff with cl-who and switched to other libs :p 2018-10-02T18:23:56Z |3b|: (not that i liked any of the other libs either) 2018-10-02T18:26:46Z dlowe: whaack_: right, a macro runs before your program is running, so you can't take the "result" of a function 2018-10-02T18:27:02Z dlowe: whaack_: however, you can generate code that calls the function and then does something with the result 2018-10-02T18:27:05Z sauvin quit (Read error: Connection reset by peer) 2018-10-02T18:27:19Z dlowe: and it's very easy to generate code that calls a function 2018-10-02T18:30:28Z creat quit (Quit: ZNC - http://znc.in) 2018-10-02T18:30:41Z whaack_: dlowe: right, but if that "something" is pass the result of the function to the parameter of a macro then i can't do it. 2018-10-02T18:30:45Z creat joined #lisp 2018-10-02T18:32:02Z Bike: i thought this is what the 'htm' thing in cl-who did 2018-10-02T18:32:06Z Bike: i haen't used it, thou 2018-10-02T18:32:32Z whaack_: Bike: ah yeah i saw an example of htm being used and it looked like what i wanted but i wasn't sure. i will look at it again right now 2018-10-02T18:32:38Z rumbler31 joined #lisp 2018-10-02T18:33:08Z dlowe: whaack_: I disagree. It will work fine. 2018-10-02T18:34:54Z dlowe: (defun my-f (x) (1+ x)) (defmacro mac-a (e) `(1+ ,e)) (defmacro mac-b (e) `(1+ (mac-a ,e))) 2018-10-02T18:35:42Z dlowe: (mac-b (my-f 5)) => (1+ (mac-a (my-f 5))) => (1+ (1+ (my-f 5))) => (1+ (1+ 6)) => 8 2018-10-02T18:36:13Z Bike: whack is talking about a specific macro that they didn't write. 2018-10-02T18:37:22Z dlowe: well, you can EVAL the macro if you want it during runtime 2018-10-02T18:37:39Z rumbler31 quit (Ping timeout: 268 seconds) 2018-10-02T18:37:48Z whaack_: ^ evaling the macro sounds like what i want 2018-10-02T18:37:56Z Bike: don't do that 2018-10-02T18:38:26Z Bike: we are talking about the specific case of generating some html 2018-10-02T18:38:32Z Bike: there's no need to take a sledgehammer to it 2018-10-02T18:39:41Z whaack_ looks into htm 2018-10-02T18:39:57Z dlowe: Yes, basically by using EVAL, you are undoing whatever useful thing the macro was doing for you 2018-10-02T18:40:30Z jasom: If we are using cl-who, just use functions, it works fine! 2018-10-02T18:42:03Z whaack_: okay so i guess i can reduce my question to: how do i get cl-who to do its lisp-to-html transformation at runtime 2018-10-02T18:42:41Z jasom: whaack_: I'm about to post an example of a function 2018-10-02T18:42:48Z whaack_: jasom: tyvm 2018-10-02T18:53:31Z dvdmuckle quit (Quit: Bouncer Surgery) 2018-10-02T18:54:33Z dvdmuckle joined #lisp 2018-10-02T18:55:20Z jasom: whaack_: https://paste.pound-python.org/show/YHuWkUgaYKlGVDN7Hppy/ 2018-10-02T18:56:59Z whaack_: jasom: tyvm x2. 2018-10-02T18:57:02Z jasom: spinneret definitely has its advantages over cl-who (e.g. there's no way to have pretty-indentation with an example like this) but making encapsulations with cl-who is easier than most people think. 2018-10-02T18:58:03Z emaczen quit (Remote host closed the connection) 2018-10-02T18:58:56Z nowhere_man joined #lisp 2018-10-02T19:01:05Z whaack_ quit (Read error: Connection reset by peer) 2018-10-02T19:03:56Z foom2 joined #lisp 2018-10-02T19:05:01Z hiroaki quit (Ping timeout: 246 seconds) 2018-10-02T19:06:22Z myrmidon joined #lisp 2018-10-02T19:06:35Z shrdlu68: (disassemble #'truncate) on SBCL is...interesting. Would it just translate to a div opcode for fixnums? 2018-10-02T19:07:23Z foom quit (Ping timeout: 276 seconds) 2018-10-02T19:08:02Z Bike: probably. 2018-10-02T19:08:19Z Bike: truncate is the full function. most calls to truncate are probably reduced to not involve calling that function. 2018-10-02T19:08:40Z Bike: if you M-. truncate, you'll see a number of DEFTRANSFORMs that carry that out. 2018-10-02T19:09:27Z cage_ quit (Quit: Leaving) 2018-10-02T19:09:49Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-02T19:11:47Z doubledup quit (Quit: Leaving) 2018-10-02T19:12:43Z shrdlu68: Hmm, I see the deftransforms contain (unsigned-byte 64). 2018-10-02T19:13:35Z shrdlu68: Does it apply the transform to (unsigned-byte 62)? 2018-10-02T19:14:01Z shrdlu68: I thought we couldn't use full 64-bit registers... 2018-10-02T19:14:45Z Bike: might unbox em 2018-10-02T19:15:09Z shrdlu68: I've been working with uint62 all along. 2018-10-02T19:15:23Z shrdlu68: What's "unboxing"? 2018-10-02T19:15:54Z shrdlu68: Ah, I see. 2018-10-02T19:16:56Z |3b|: we can use full 64bits, just have to be careful with it if you want to do so efficiently 2018-10-02T19:17:31Z shrdlu68: Careful how? 2018-10-02T19:17:53Z |3b|: for example passing them to a (full call of) a function, returning from a function, or storing it in an untyped container will require allocating it as a bignum and passing/storing a pointer to that 2018-10-02T19:18:37Z |3b|: but within a function, or in specialized arrays or typed structs, you can use it as a 64bit value 2018-10-02T19:18:59Z |3b|: within a function might require type checks/declarations 2018-10-02T19:19:23Z |3b|: also be careful with overflow, since if it isn't sure whether an operation can overflow it will add checks 2018-10-02T19:20:17Z shrdlu68: What happens when you use, say (unsigned-byte 47)? 2018-10-02T19:20:36Z |3b|: (if you want C style overflow, sbcl optimizes cases where it knows you are only using the low N bits of the results, like (ldb (byte 64 0) (+ x y)), or similar with LOGAND, etc 2018-10-02T19:21:04Z |3b|: unsigned-byte 47 could end up treated as a fixnum or unsigned-byte 64 depending on how you use it 2018-10-02T19:21:28Z shrdlu68: I mean does it produce code any less efficient than it would've if you had used (unsigned-byte 64). 2018-10-02T19:21:36Z |3b|: possibly more efficient 2018-10-02T19:21:54Z |3b|: for example it is a subtype of fixnum, so can be passed to functions, etc as a fixnum 2018-10-02T19:22:19Z |3b|: and adding 2 of those is (unsigned-byte 48), so it doesn't have to check for overflow when adding them in 64bit registers 2018-10-02T19:22:43Z |3b|: so if you know a tighter bound for values, it helps to check/declare that bound 2018-10-02T19:23:27Z |3b| is mostly talking about sbcl, other implementations may behave differently, though usually similar things apply 2018-10-02T19:24:19Z |3b|: and i probably would try to avoid using an implementation that could do something useful with ub64 declaration, but not ub47, and didn't just expand the ub47 to ub64 :) 2018-10-02T19:24:44Z shrdlu68: So as long as I declare my uint64s I'll avoid bignum arithmetic as long as I don't overflow. I'm mostly doing logxor and truncate. 2018-10-02T19:25:03Z shka_ quit (Ping timeout: 252 seconds) 2018-10-02T19:25:30Z |3b|: a bit more accurate to say "as long as the compiler can tell you don't overflow" 2018-10-02T19:25:40Z |3b|: (or explicitly don't want any potential overflow) 2018-10-02T19:25:40Z shrdlu68: Ok. 2018-10-02T19:26:03Z |3b|: logxor is an example of something it can tell won't overflow 2018-10-02T19:27:04Z |3b|: if it can't tell, it will add checks or possibly make full calls (though possibly still to more specialized functions) 2018-10-02T19:27:10Z jasom: modular arithmetic it can also tell won't overflow 2018-10-02T19:27:31Z |3b|: right, that's how you specify you don't want the overflow :) 2018-10-02T19:27:34Z vlatkoB quit (Remote host closed the connection) 2018-10-02T19:27:39Z dented42 joined #lisp 2018-10-02T19:28:21Z jasom: it's surprisingly smart for how fast it runs. 2018-10-02T19:28:23Z |3b|: if you compile the function with (optimize (speed 3)) declaration, it will tell you about places where it might have been able to generate faster code 2018-10-02T19:28:41Z |3b|: at least once you figure out how to interpret what it says :) 2018-10-02T19:29:27Z jasom: also inlining will prevent boxing at function-call boundaries. 2018-10-02T19:32:55Z knobo joined #lisp 2018-10-02T19:33:48Z knobo: I can not find any packages using package-inferred-system 2018-10-02T19:34:03Z knobo: Doesn't anyone like it? 2018-10-02T19:36:45Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-02T19:37:03Z knobo: hmm... cl-docker is one. 2018-10-02T19:39:34Z warweasle joined #lisp 2018-10-02T19:40:09Z smasta joined #lisp 2018-10-02T19:42:53Z nirved quit (Quit: Leaving) 2018-10-02T19:53:23Z shrdlu68 quit (Ping timeout: 252 seconds) 2018-10-02T19:55:04Z scymtym quit (Ping timeout: 240 seconds) 2018-10-02T19:58:05Z adam4567 joined #lisp 2018-10-02T20:00:53Z knobo quit (Quit: WeeChat 1.4) 2018-10-02T20:01:51Z knobo joined #lisp 2018-10-02T20:03:53Z knobo: Which system is a good example of using package-inferred-system? 2018-10-02T20:03:56Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-02T20:07:10Z pjb: Perhaps one that has the same name for the system and the package? 2018-10-02T20:07:28Z jeosol: morning guys. 2018-10-02T20:08:12Z orivej joined #lisp 2018-10-02T20:08:32Z zxcvz quit (Quit: zxcvz) 2018-10-02T20:09:10Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-10-02T20:09:18Z kajo joined #lisp 2018-10-02T20:09:48Z jeosol: I am exploring converting speech to text/action using CL. Has any here used is aware such use. Or I may have to use other languages/frameworks to process the speech and then send action to CL side? 2018-10-02T20:10:09Z nowhere_man quit (Ping timeout: 268 seconds) 2018-10-02T20:10:29Z no-defun-allowed: I've used pocketsphinx to recognise speech. 2018-10-02T20:11:43Z oni-on-ion: emacspeak ? 2018-10-02T20:12:46Z jeosol: is it this lib https://github.com/cmusphinx/pocketsphinx ? 2018-10-02T20:13:05Z no-defun-allowed: Yes. 2018-10-02T20:14:04Z no-defun-allowed: I've used a pocketsphinx process's stdout pipe since I'm not too good with cffi or pocketsphinx. 2018-10-02T20:14:37Z dented42 joined #lisp 2018-10-02T20:16:00Z jeosol: thanks. I'll explore that. I hope what I am trying to do is possible. Just need to have speech command execute some CL functions/workflows. 2018-10-02T20:22:22Z trittweiler quit (Ping timeout: 272 seconds) 2018-10-02T20:23:32Z Essadon quit (Quit: Qutting) 2018-10-02T20:25:17Z edgar-rft quit (Ping timeout: 252 seconds) 2018-10-02T20:25:28Z oni-on-ion: here u go jeosol http://ergoemacs.org/emacs/using_voice_to_code.html 2018-10-02T20:25:36Z oni-on-ion: some inspiration 2018-10-02T20:27:34Z shrdlu68 joined #lisp 2018-10-02T20:28:04Z shrdlu68: Is there a built-in function to set the a specific bit in an integer? 2018-10-02T20:28:15Z no-defun-allowed: I guess the impractical is better for xahlee then getting emacs pinky. 2018-10-02T20:30:10Z oni-on-ion: dunno. if you seen the vid it looks quite practical 2018-10-02T20:30:53Z pjb: shrdlu68: integers are immutable. 2018-10-02T20:31:23Z pjb: shrdlu68: (setf i (dpb 1 (byte 1 p) i)) 2018-10-02T20:31:42Z shrdlu68: Yeah apart from that one. 2018-10-02T20:31:42Z no-defun-allowed: xahlee is a meme honestly 2018-10-02T20:31:56Z oni-on-ion: shrdlu68: check here? http://tomszilagyi.github.io/2016/01/CL-bitwise-Rosettacode 2018-10-02T20:32:03Z razzy quit (Ping timeout: 244 seconds) 2018-10-02T20:32:10Z pjb: shrdlu68: again, integers are immutable! (setf i (logior (ash 1 n) i)) 2018-10-02T20:32:13Z oni-on-ion: no-defun-allowed: dont know him myself =) i've seen the video linked from elsewhere 2018-10-02T20:32:24Z oni-on-ion: did not really read the page when i linked it here just now 2018-10-02T20:32:48Z no-defun-allowed: (hence why I want to know who would win in a fight between xahlee and mister quicklisp) 2018-10-02T20:33:02Z no-defun-allowed: he's pretty trollish with his content 2018-10-02T20:33:35Z oni-on-ion: that sounds like a meme itself , regardless of the real human person whomever it may be irl 2018-10-02T20:33:51Z jeosol: oni-on-ion: thanks for the links looks interesting 2018-10-02T20:34:10Z oni-on-ion: ie. i dont dislike or like trump because i know next to nothing about him, but i can see a lot of people dislike and a lot of people like. i can choose a crowd or remain not-knowing 2018-10-02T20:34:21Z oni-on-ion: np i hope it leads to a fruitful quest 2018-10-02T20:43:53Z rumbler31 joined #lisp 2018-10-02T20:44:16Z Inline quit (Quit: Leaving) 2018-10-02T20:46:08Z rumbler31 quit (Remote host closed the connection) 2018-10-02T20:49:53Z jeosol quit (Ping timeout: 256 seconds) 2018-10-02T21:08:07Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-02T21:19:09Z slyrus1 quit (Remote host closed the connection) 2018-10-02T21:19:09Z Roy_Fokker joined #lisp 2018-10-02T21:21:15Z jasom: shrdlu68: if integers were mutable you could do (setf 1 2). You clearly can't do that. 2018-10-02T21:21:56Z shrdlu68: I understand that. I didn't mean in a mutable way, my wording fails me. 2018-10-02T21:22:35Z jasom: (setf (ldb (byte 1 n) x) 1) ;; <-- that will set bit n 2018-10-02T21:23:02Z oni-on-ion: clhs byte 2018-10-02T21:23:02Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_by_by.htm 2018-10-02T21:23:13Z jasom: The format for the accessor is: (ldb bytespec place) 2018-10-02T21:23:16Z jasom: clhs ldb 2018-10-02T21:23:16Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_ldb.htm 2018-10-02T21:23:58Z scymtym joined #lisp 2018-10-02T21:24:19Z jasom: shrdlu68: that lets you set arbitrary bit ranges to arbitrary values; a single bit is just the degenerate form. 2018-10-02T21:25:21Z oni-on-ion: ah nested setf =P 2018-10-02T21:26:54Z shrdlu68 quit (Ping timeout: 264 seconds) 2018-10-02T21:27:32Z pjb: oni-on-ion: we say setf of a place, or generalised reference. 2018-10-02T21:27:49Z shrdlu68 joined #lisp 2018-10-02T21:28:05Z oni-on-ion: which can be anything as defined per set-setf (forget the defname) 2018-10-02T21:38:57Z Cymew quit (Ping timeout: 268 seconds) 2018-10-02T21:40:08Z pjb: defsetf or (defun (setf foo)) or other implementation dependent or standard specified accessors. 2018-10-02T21:40:33Z dented42 joined #lisp 2018-10-02T21:41:20Z oni-on-ion: yea the second one =) slots included right ? 2018-10-02T21:46:38Z rumbler31 joined #lisp 2018-10-02T21:51:54Z rumbler31 quit (Ping timeout: 268 seconds) 2018-10-02T22:02:25Z Bike quit (Ping timeout: 256 seconds) 2018-10-02T22:02:58Z varjag quit (Ping timeout: 245 seconds) 2018-10-02T22:05:23Z emaczen joined #lisp 2018-10-02T22:05:43Z emaczen: Can you return a cffi pointer from a defun? 2018-10-02T22:06:00Z jasom: emaczen: yes? 2018-10-02T22:06:16Z jasom: emaczen: I mean why not, you can return any object from a defun. 2018-10-02T22:06:38Z emaczen: jasom: When I print the object from the function before returning I see a foreign pointer type 2018-10-02T22:06:49Z emaczen: but when I print the object in the calling function, it is a list.... 2018-10-02T22:07:02Z jasom: emaczen: post the code? 2018-10-02T22:08:23Z varjag joined #lisp 2018-10-02T22:13:52Z adam4567 left #lisp 2018-10-02T22:14:25Z jasom: emaczen: trivially (defun foo () (cffi:foreign-alloc :int)) returns a foreign pointer so it's obviously possible. 2018-10-02T22:17:24Z emaczen: jasom: yep, I'm really stumped and am posting... 2018-10-02T22:17:36Z emaczen: just when I thought I was getting the hang of C/Cffi 2018-10-02T22:18:07Z emaczen: https://pastebin.com/pKBxNiX7 2018-10-02T22:19:24Z emaczen: I'm having an issue with sin-addr 2018-10-02T22:19:47Z jasom: is there a reason you use malloc rather than foreign-alloc? 2018-10-02T22:20:06Z emaczen: jasom: I tried swapping them, and I still get the same error 2018-10-02T22:20:15Z emaczen: what is so great about foreign-alloc? 2018-10-02T22:20:16Z |3b|: any reason you return a pointer instead of just the value? 2018-10-02T22:20:41Z |3b|: ah, i guess you are allocating and filling them? 2018-10-02T22:21:02Z |3b|: probably better to let CFFI handle that for you 2018-10-02T22:21:12Z emaczen: |3b|: Is there a more recommended way? 2018-10-02T22:21:15Z |3b|: paste your struct def too 2018-10-02T22:22:01Z emaczen: https://pastebin.com/uBCxBMUw -- struct def 2018-10-02T22:22:46Z |3b|: but with the way you are doing it, the mem-ref is the problem 2018-10-02T22:22:59Z emaczen: But don't I need a mem-ref since sin-addr isn't a pointer? 2018-10-02T22:23:20Z |3b|: didn't you just say you are returning a pointer? 2018-10-02T22:23:43Z rumbler31 joined #lisp 2018-10-02T22:24:08Z emaczen: make-in-addr returns a pointer 2018-10-02T22:24:16Z |3b|: but in that case, i'm not sure you want a pointer there 2018-10-02T22:24:32Z |3b| might have to look at docs to see how nested structs works there 2018-10-02T22:24:35Z shrdlu68 quit (Ping timeout: 268 seconds) 2018-10-02T22:24:59Z emaczen: I tried cffi:foreign-slot-value also without success 2018-10-02T22:26:09Z moei quit (Quit: Leaving...) 2018-10-02T22:27:23Z |3b|: that looks like one of the type of structs cffi doesn't handle well without help :( 2018-10-02T22:28:13Z emaczen: |3b|: how do I help it? 2018-10-02T22:29:59Z |3b| is trying to remember how that stuff works 2018-10-02T22:30:27Z jasom: emaczen: are you grovelling? 2018-10-02T22:30:42Z jasom: emaczen: that's the easiest way; otherwise just write a C helper function to get the field(s) you need. 2018-10-02T22:31:09Z emaczen: jasom: What is wrong with cffi:foreign-slot-value or cffi:with-foreign-slots? 2018-10-02T22:31:18Z emaczen: jasom: I am not grovelling 2018-10-02T22:31:29Z jasom: emaczen: that is fine, as long as your struct definition is correct; grovelling is the easiest way to get it correct. 2018-10-02T22:32:21Z jasom: emaczen: but none of this should cause make-in-addr to not return a pointer. I deleted the with-foregin-slots and it works as expected. 2018-10-02T22:33:10Z emaczen: jasom: well actually this is strange 2018-10-02T22:33:12Z |3b|: https://gist.github.com/3b/fa74e58f3bf297ee8cd95010b54141bd 2018-10-02T22:33:28Z |3b|: ^ is closer to what i would do 2018-10-02T22:33:31Z emaczen: man inet(4) specifies 4 fields for struct sockaddr_in 2018-10-02T22:33:33Z |3b|: (or at least one way) 2018-10-02T22:33:50Z emaczen: but the struct sockaddr_in definition in in.h has 5 fields 2018-10-02T22:33:54Z jasom: emaczen: it specifies that those 4 fields must be present, not what order they are in of if there are others 2018-10-02T22:34:07Z jasom: emaczen: this is why grovelling is done. 2018-10-02T22:34:08Z emaczen: jasom: Oh... 2018-10-02T22:34:12Z |3b|: (setf (mem-ref ...) ...) can translate from a lisp plist (or other things if you define some methods) 2018-10-02T22:34:25Z |3b|: so you can just use that to initialize it 2018-10-02T22:34:37Z |3b|: rather than interacting with slots directly 2018-10-02T22:35:04Z varjag quit (Ping timeout: 268 seconds) 2018-10-02T22:35:16Z jasom: emaczen: if this isn't for didactic purposes, basic-binary-ipc does most of this already (though IIRC it's missing ipv6 support) 2018-10-02T22:35:18Z |3b|: note the nested (s-addr 0) works fine 2018-10-02T22:35:23Z emaczen: |3b|: You are using the byte offsets? 2018-10-02T22:35:44Z jasom: and if this is for didactic purposes, pick a library less annoying than BSD sockets to work with. 2018-10-02T22:35:48Z |3b|: aside from the sin-zero slot, i'm letting cffi translate it entirely from a plist 2018-10-02T22:36:02Z |3b|: no offsets or anything 2018-10-02T22:36:29Z jasom: If you look up "cruft" in the dictionary there is a picture of the BSD sockets API. 2018-10-02T22:36:52Z |3b|: other part that i do differently is to try to avoid manual pointer allocation and passing them around between functions, since that is a good way to get leaks :) 2018-10-02T22:37:32Z |3b|: if possible, use cffi:with-... macros, and keep things in lisp forms outside of those, unless performance or something requires you to keep pointers around for longer times 2018-10-02T22:38:29Z jasom: oh, but don't use cffi:with- macros for large allocations since SBCL unconditionally stack allocates those (boo!) 2018-10-02T22:38:48Z emaczen: what was wrong with my code? 2018-10-02T22:38:49Z |3b|: ouch :/ 2018-10-02T22:39:43Z jasom has a with-foreign-heap-alloc macro in several files 2018-10-02T22:40:26Z |3b|: emaczen: from your definition, the sin-addr struct is included directly in sockaddr-t, so you can't set it with a pointer 2018-10-02T22:40:42Z |3b|: so allocating a pointer to store there is wrong and will leak the way you used it 2018-10-02T22:41:15Z emaczen: what is sockaddr-t? 2018-10-02T22:41:40Z |3b|: sorry, -in 2018-10-02T22:42:00Z |3b|: just a sec, i'll try to debug it a bit so i can give a concrete answer 2018-10-02T22:42:20Z lemoinem quit (Killed (verne.freenode.net (Nickname regained by services))) 2018-10-02T22:42:21Z lemoinem joined #lisp 2018-10-02T22:43:18Z emaczen: Why can't I allocate a pointer there and then dereference it? 2018-10-02T22:43:56Z emaczen: You are talking about the (setf sin-addr ...) form right? 2018-10-02T22:44:14Z |3b|: well, you can, but it is silly, and nothing will free it 2018-10-02T22:45:59Z |3b|: also i think you ran into one of the bad spots of cffi API :/ 2018-10-02T22:46:37Z |3b|: yeah, not sure you can actually set that slot properly :/ 2018-10-02T22:46:54Z kajo quit (Ping timeout: 252 seconds) 2018-10-02T22:48:39Z emaczen: |3b|: So whose fault is it? 2018-10-02T22:51:11Z |3b|: ok, apparently cffi does require you to alloc some foreign memory just so it can copy that to some other foreign memory :/ 2018-10-02T22:51:38Z Bike joined #lisp 2018-10-02T22:51:41Z |3b|: https://gist.github.com/3b/fa74e58f3bf297ee8cd95010b54141bd#gistcomment-2722449 2018-10-02T22:52:14Z |3b| would write a function to fill it rather than allocate, since as mentioned before i don't like passing pointers around :p 2018-10-02T22:52:28Z |3b|: and setf mem-ref is enough to fill in-addr, since it is simple 2018-10-02T22:53:27Z LiamH quit (Quit: Leaving.) 2018-10-02T22:54:48Z |3b|: or without extra allocations (but with extra verbosity) https://gist.github.com/3b/fa74e58f3bf297ee8cd95010b54141bd#gistcomment-2722453 2018-10-02T22:55:19Z |3b|: which gets a pointer to the struct in-addr inside the sockaddr-in, and sets the slot on that directly 2018-10-02T22:56:17Z |3b|: but i think if i were wrapping that, i'd define translators so i could just set/read the whole struct at once with mem-ref and (setf mem-ref) 2018-10-02T22:56:21Z emaczen: |3b|: Can you give me a clearer synopsis? 2018-10-02T22:56:34Z Bike is now known as orangegluon 2018-10-02T22:56:59Z emaczen: I still just don't understand why my original code won't work? Why can't I allocate and then dereference in that location? 2018-10-02T22:56:59Z orangegluon is now known as orangehiggsboson 2018-10-02T22:57:12Z emaczen: And whose fault is it that I can't do that? 2018-10-02T22:57:21Z |3b|: you don't want to dereference 2018-10-02T22:57:38Z robotoad quit (Quit: robotoad) 2018-10-02T22:57:52Z |3b|: you shouldn't need to allocate, it is cffi's fault you need to 2018-10-02T22:57:59Z emaczen: |3b|: why? the struct def wants the struct not the pointer? 2018-10-02T22:58:21Z |3b|: sec, let me check man page to make sure your defs are right 2018-10-02T22:59:07Z pjb: emaczen: sin-addr is a variable length field. 2018-10-02T23:00:14Z emaczen: pjb: Where do you get that from? struct in_addr sin_addr; <-- is the definition from in.h 2018-10-02T23:00:16Z pjb: I wouldn't use high level cffi to manipulate sockaddr-in… 2018-10-02T23:00:31Z |3b|: the way you defined it (which looks right), the memory for the in-addr struct is contained in the sockaddr-in… struct. it doesn't store a pointer 2018-10-02T23:01:57Z orangehiggsboson is now known as Bike 2018-10-02T23:02:00Z |3b|: so the memory for sockaddr-in looks like aabbccccdddddddd where aa is sin_family, bb is sin_port, cccc is sin_addr.s_addr 2018-10-02T23:02:56Z |3b|: so in C, you would just do foo.sin_addr.sin_addr = address; without any extra allocation 2018-10-02T23:02:56Z emaczen: |3b|: 2018-10-02T23:03:05Z emaczen: Yes 2018-10-02T23:03:46Z |3b|: cffi's api for nested structs/arrays is broken though, so depending on the context it does various confusing and/or broken things :/ 2018-10-02T23:04:03Z |3b|: https://gist.github.com/3b/fa74e58f3bf297ee8cd95010b54141bd#gistcomment-2722453 is equivalent to the C code 2018-10-02T23:04:10Z |3b|: just very verbose 2018-10-02T23:05:07Z |3b|: something like (&(foo.sin_addr))->sin_addr = address; if i can remember C at all 2018-10-02T23:06:03Z |3b|: and really, foo->sin_addr too, since we can't have foo as a local in cffi, so we need to store it as a pointer 2018-10-02T23:06:14Z |3b|: but it does the same thing as the c code :p 2018-10-02T23:07:17Z |3b|: so for this specific part of the brokenness, cffi by default dereferences a pointer to a struct as a plist 2018-10-02T23:07:54Z pjb: Usually, it's better to just use memref and compute the offset yourself. 2018-10-02T23:07:58Z |3b|: and you can use (setf mem-ref) to assign that plist back to the struct 2018-10-02T23:08:25Z pjb: Notably for #pragma pack is not dealt with by cffi, but other complex structures may need it too. 2018-10-02T23:09:24Z |3b|: so we can do (cffi:with-foreign-object (s '(:struct in-addr)) (list (cffi:mem-ref s '(:struct in-addr)) (setf (cffi:mem-ref s '(:struct in-addr)) '(s-addr 12345)) (cffi:mem-ref s '(:struct in-addr)))) 2018-10-02T23:09:33Z |3b|: and get something like ((S-ADDR 4098117524) (S-ADDR 12345) (S-ADDR 12345)) 2018-10-02T23:09:46Z |3b|: that part is reasonable and convenient 2018-10-02T23:10:09Z |3b|: unfortunately, when you have a nested struct or array, it returns a pointer to that member when you do mem-ref 2018-10-02T23:10:52Z |3b|: sorry, those are both wrong 2018-10-02T23:11:27Z |3b|: when you have a nested struct, it returns a nested plist, and nested array returns a nested array 2018-10-02T23:11:32Z emaczen: |3b|: I tried your verbose code 2018-10-02T23:11:40Z |3b|: when you have a :count foo field, it returns a pointer 2018-10-02T23:11:50Z emaczen: (cffi:foreign-slot-value ptr '(:struct sockaddr-in) 'sin-addr) --> (s-addr 0) 2018-10-02T23:11:58Z emaczen: Why is it returning a list? 2018-10-02T23:12:15Z |3b|: thats what i said about returning a plist when you dereference a struct 2018-10-02T23:13:02Z |3b|: and when you try to assign to a struct with nested struct, nested plist works. but nested array doesn't, nor for :count 2018-10-02T23:13:32Z emaczen: |3b|: Okay, so this is all cffi fault? 2018-10-02T23:14:03Z |3b|: and as you see, foreign-slot-value returns a plist for nested struct, but you can't assign a plist to it 2018-10-02T23:14:20Z |3b|: it is cffi's fault i can't give you a nice answer easily :) 2018-10-02T23:14:37Z emaczen: What is the solution? I'm starting to understand, but it is really messed up... 2018-10-02T23:15:40Z myrmidon quit (Quit: leaving) 2018-10-02T23:15:42Z |3b|: and responding to what pjb said, i'd still use the high-level API, but specify offsets in the structure definition if the cffi defaults were incorrect 2018-10-02T23:16:18Z |3b|: (possibly using a groveller for APIs where struct layouts might be different on every platform) 2018-10-02T23:17:58Z edgar-rft joined #lisp 2018-10-02T23:27:58Z |3b|: emaczen: https://gist.github.com/3b/179ef479250186f1a96b47d03339701d is probably how i'd start 2018-10-02T23:28:40Z |3b|: the translate-into-foreign-memory is close to what cffi would make on its own, but with custom defaults 2018-10-02T23:28:59Z |3b|: and with working assignment to whole thing 2018-10-02T23:29:03Z |3b|: (i think) 2018-10-02T23:29:15Z |3b| is starting to get confused too :/ 2018-10-02T23:29:41Z emaczen: Is CFFI supposed to return plists for nested structs? 2018-10-02T23:30:11Z emaczen: I'm just trying to make sure that I have correct field values since I get an invalid argument error when I try to call bind 2018-10-02T23:31:16Z r1b joined #lisp 2018-10-02T23:35:22Z |3b|: i think returning nested plist for nested struct is correct 2018-10-02T23:36:04Z siraben quit (Ping timeout: 240 seconds) 2018-10-02T23:36:08Z |3b|: what does your current code look like? 2018-10-02T23:36:36Z emaczen: I just reverted back to what I had before without the mem-ref and (cffi:foreign-slot-value addr '(:struct sockaddr-in) 'sin-addr) --> (s-addr 0) 2018-10-02T23:37:00Z |3b|: whole thing, including the call to bind 2018-10-02T23:37:23Z kslt1 joined #lisp 2018-10-02T23:37:46Z emaczen: Is the '(s-addr 0) just for lisp? How would C code use sin-addr if it is a cons? 2018-10-02T23:37:55Z |3b|: just for lisp 2018-10-02T23:38:01Z |3b|: C is just seeing the 0 2018-10-02T23:38:26Z emaczen: |3b|: Well in that case, the only problem I really had was the mem-ref 2018-10-02T23:38:47Z |3b|: and the memory leak? :) 2018-10-02T23:39:08Z emaczen: Why can't I free it now? 2018-10-02T23:39:39Z |3b|: where is the pointer to it? 2018-10-02T23:40:18Z emaczen: (setf sin-addr (make-in-addr addresss)) -- can't I free sin-addr? 2018-10-02T23:40:29Z emaczen: |3b|: Oh I see 2018-10-02T23:40:34Z emaczen: I guess I don't really have the pointer... 2018-10-02T23:40:40Z |3b|: sin-addr isn't really a pointer 2018-10-02T23:42:34Z emaczen: |3b|: Okay, I'll use with-foreign-object then 2018-10-02T23:43:08Z emaczen: but in terms of bind I've just been trying to use the REPL to make a socket, create a sockaddr-in and then bind them 2018-10-02T23:43:28Z jasom: might be easier to use getaddrinfo and treat the sockaddr structs as black-boxes, FWIW 2018-10-02T23:47:06Z robotoad joined #lisp 2018-10-02T23:48:08Z dale quit (Quit: dale) 2018-10-02T23:51:20Z warweasle joined #lisp 2018-10-02T23:51:51Z jasom: emaczen: https://github.com/markcox80/basic-binary-ipc/blob/master/src/posix-sockets.lisp#L264 if you want to crib 2018-10-02T23:52:06Z nowolfer quit (Ping timeout: 260 seconds) 2018-10-02T23:52:37Z rumbler31 quit (Remote host closed the connection) 2018-10-02T23:53:01Z jasom: note that it gets the struct sockaddr_in definition via the groveller. 2018-10-02T23:53:09Z jasom: because that's the only portable way to do it. 2018-10-02T23:53:36Z nowolfer joined #lisp 2018-10-02T23:55:13Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-02T23:55:47Z Copenhagen_Bram joined #lisp 2018-10-02T23:55:59Z dented42 joined #lisp 2018-10-02T23:56:04Z dented42 quit (Client Quit) 2018-10-03T00:04:48Z nonlinear is now known as NB0X-Matt-CA 2018-10-03T00:06:13Z Kaisyu joined #lisp 2018-10-03T00:07:44Z smasta quit (Ping timeout: 252 seconds) 2018-10-03T00:18:59Z quazimodo joined #lisp 2018-10-03T00:28:51Z sjl quit (Ping timeout: 260 seconds) 2018-10-03T00:36:22Z moei joined #lisp 2018-10-03T00:55:48Z smokeink joined #lisp 2018-10-03T01:00:03Z pierpal quit (Remote host closed the connection) 2018-10-03T01:37:23Z veinofhashome quit (Quit: Connection closed for inactivity) 2018-10-03T01:38:30Z khisanth_ quit (Ping timeout: 252 seconds) 2018-10-03T01:40:50Z smasta joined #lisp 2018-10-03T01:43:15Z jeosol joined #lisp 2018-10-03T01:52:04Z khisanth_ joined #lisp 2018-10-03T01:52:48Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-03T01:53:23Z kslt1 quit (Ping timeout: 245 seconds) 2018-10-03T01:54:26Z quazimodo joined #lisp 2018-10-03T01:58:47Z robotoad quit (Quit: robotoad) 2018-10-03T02:06:09Z holycow joined #lisp 2018-10-03T02:12:50Z robotoad joined #lisp 2018-10-03T02:23:15Z rumbler31 joined #lisp 2018-10-03T02:45:09Z Guest93749 joined #lisp 2018-10-03T02:46:00Z Guest93749: ASDF was out of date so I installed a new operating system 2018-10-03T02:46:11Z Guest93749: woops 2018-10-03T02:47:51Z shifty joined #lisp 2018-10-03T02:48:19Z rumbler31 quit (Remote host closed the connection) 2018-10-03T02:48:39Z PuercoPop joined #lisp 2018-10-03T02:52:29Z orivej quit (Ping timeout: 252 seconds) 2018-10-03T02:53:02Z msb quit (Read error: Connection reset by peer) 2018-10-03T02:55:32Z oni-on-ion: o_o 2018-10-03T02:56:33Z no-defun-allowed: that works i guess 2018-10-03T02:57:18Z msb joined #lisp 2018-10-03T02:59:38Z Guest93749: I had started off just intending to use a snazzy new library but it snowballed into updating everything at once 2018-10-03T03:00:12Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-03T03:01:21Z igemnace joined #lisp 2018-10-03T03:02:01Z rumbler31 joined #lisp 2018-10-03T03:04:22Z emaczen: jasom: I wrote a lisp program that writes a c program to find out constant values and struct sizes 2018-10-03T03:04:49Z emaczen: I could probably extend this program a little further to make defcstructs 2018-10-03T03:06:18Z beach: Good morning everyone! 2018-10-03T03:07:23Z oni-on-ion: why/? good morning beach 2018-10-03T03:08:09Z emaczen: morning beach 2018-10-03T03:08:13Z no-defun-allowed: morning beach 2018-10-03T03:13:28Z pierpal joined #lisp 2018-10-03T03:14:53Z aeth: What library do people use to work with non-graphics matrices (i.e. arbitrary, not 4x4) in CL? 2018-10-03T03:16:31Z oni-on-ion: cl-blapack 2018-10-03T03:17:59Z oni-on-ion: or lisplab. both have good perf 2018-10-03T03:21:05Z pierpal quit (Quit: Poof) 2018-10-03T03:21:19Z igemnace quit (Read error: Connection reset by peer) 2018-10-03T03:21:21Z pierpal joined #lisp 2018-10-03T03:21:43Z igemnace joined #lisp 2018-10-03T03:23:06Z oni-on-ion: when setting :type for defstruct slot, must provide default value? ("arguments not in pairs") 2018-10-03T03:23:28Z Bike: yes 2018-10-03T03:26:19Z aeth: I've tried cl-blapack, but it requires a really old version of gfortran (3?) that my distro doesn't ship with, so it would be hard for me to set up. 2018-10-03T03:26:36Z oni-on-ion: k ty Bike 2018-10-03T03:26:59Z aeth: I also tried f2cl, which comes with Fortran libraries, but it doesn't appear to be a good translation into (SB)CL. It doesn't appear to be very optimized and one of the libraries blows the heap when I try to load it. 2018-10-03T03:28:20Z oni-on-ion: julia compiled with BLAS builtin, it must have a version that does recent gfortran, mine is 7.3.x 2018-10-03T03:28:21Z aeth: (I say "(SB)CL" because it's possible it was written with another implementation in mind) 2018-10-03T03:28:28Z aeth: Is lisplab not in Quicklisp? 2018-10-03T03:28:40Z oni-on-ion: nope doesnt look like it, just dl + asdf 2018-10-03T03:28:51Z oni-on-ion: eh there might be reasons for that though 2018-10-03T03:33:11Z smasta quit (Ping timeout: 252 seconds) 2018-10-03T03:37:19Z rumbler31 quit (Remote host closed the connection) 2018-10-03T03:41:08Z smasta joined #lisp 2018-10-03T03:46:28Z Oladon joined #lisp 2018-10-03T03:47:26Z dented42 joined #lisp 2018-10-03T03:52:10Z aeth: It might be easier for me to just implement https://en.wikipedia.org/wiki/Gaussian_elimination#Pseudocode then 2018-10-03T03:57:52Z smokeink: aeth: https://ybin.me/p/7804833ea6150792#LU4udfbQ8j+HDqTngFyAgeYZSsHOA1Xz39P1lv3lRt0= 2018-10-03T03:59:18Z troydm quit (Ping timeout: 252 seconds) 2018-10-03T04:01:34Z Guest93749 is now known as doesthiswork 2018-10-03T04:06:16Z PuercoPop: aeth: I haven't used it, but have you checked out matlisp? https://github.com/matlisp/matlisp 2018-10-03T04:06:55Z oni-on-ion: lisplab was derived from matlisp code. 2018-10-03T04:08:23Z nowolfer quit (Ping timeout: 252 seconds) 2018-10-03T04:10:16Z nowolfer joined #lisp 2018-10-03T04:10:17Z nowhere_man joined #lisp 2018-10-03T04:10:35Z smasta quit (Ping timeout: 252 seconds) 2018-10-03T04:12:34Z jgoss_ quit (Quit: Leaving) 2018-10-03T04:14:23Z Bike quit (Quit: Lost terminal) 2018-10-03T04:14:56Z smasta joined #lisp 2018-10-03T04:19:10Z kushal joined #lisp 2018-10-03T04:24:17Z kushal quit (Excess Flood) 2018-10-03T04:24:41Z kushal joined #lisp 2018-10-03T04:24:43Z oni-on-ion: eh how am i making plists ? so far i'm doing `(:a ,a :b ,b) but its got broken formatting on multiple lines (the :b aligns with the ,a not the :a) 2018-10-03T04:25:01Z oni-on-ion: should i be using (list ..) instead? 2018-10-03T04:25:22Z beach: You mean in SLIME? 2018-10-03T04:25:34Z oni-on-ion: emacs lisp-mode 2018-10-03T04:25:37Z oni-on-ion: (CL) 2018-10-03T04:25:58Z beach: Try the slime-indentation contribution. It sometimes does a better job. 2018-10-03T04:26:10Z oni-on-ion: kk 2018-10-03T04:26:15Z beach: But basically, Emacs/SLIME is not that great. 2018-10-03T04:26:42Z beach: The analysis of the code is quite rudimentary, so it doesn't always compute the right indentation. 2018-10-03T04:27:25Z oni-on-ion: i am not confident that being a slime contrib, it would affect the indent of lisp mode buffers 2018-10-03T04:27:26Z beach: The slime-indentation contribution fixes some problems like indentation of LOOP clauses. 2018-10-03T04:27:38Z beach: Oh, it does. 2018-10-03T04:27:39Z oni-on-ion: ah, hmm 2018-10-03T04:27:41Z oni-on-ion: trying .. 2018-10-03T04:27:45Z beach: But maybe not for your case. 2018-10-03T04:27:50Z PuercoPop: oni-on-ion: depending on the situation you can use a let that returns a plist for you 2018-10-03T04:28:44Z oni-on-ion: whoa. beach , it totally works! i just added slime-indentation to the slime-setup in emacs, evaluated, and all is well in the world. awesome! emacs/slime isnt all bad =) =) 2018-10-03T04:28:46Z PuercoPop: This is what I've used for building plist https://code.puercopop.com/cl-xcb.git/tree/src/utils.lisp#n51 2018-10-03T04:29:08Z no-defun-allowed: by default slime isn't very good with quasiquotes 2018-10-03T04:29:16Z no-defun-allowed: *slime's indentation. 2018-10-03T04:29:31Z beach: oni-on-ion: Glad it worked for you. 2018-10-03T04:30:03Z no-defun-allowed: slime probably reads it like a function call 2018-10-03T04:30:17Z oni-on-ion: me too. thanks 2018-10-03T04:30:34Z oni-on-ion: yeah, i think so. it aligned everything after the first item in the `() list 2018-10-03T04:30:49Z varjag joined #lisp 2018-10-03T04:35:02Z varjag quit (Ping timeout: 252 seconds) 2018-10-03T04:41:22Z NB0X-Matt-CA quit (Ping timeout: 268 seconds) 2018-10-03T04:44:41Z orivej joined #lisp 2018-10-03T04:52:27Z robotoad quit (Quit: robotoad) 2018-10-03T04:53:29Z NB0X-Matt-CA joined #lisp 2018-10-03T04:55:38Z Oladon quit (Quit: Leaving.) 2018-10-03T04:57:25Z fouric: Anyone have any idea why buildapp might be throwing "Fatal UNDEFINED-FUNCTION: The function ASDF/INTERFACE::OPERATION-FORCED is undefined." on me? 2018-10-03T04:59:26Z nonlinear joined #lisp 2018-10-03T05:00:34Z s-geometry joined #lisp 2018-10-03T05:01:45Z NB0X-Matt-CA quit (Read error: Connection reset by peer) 2018-10-03T05:01:58Z nonlinear is now known as NB0X-Matt-CA 2018-10-03T05:03:27Z NB0X-Matt-CA quit (Client Quit) 2018-10-03T05:04:23Z s-geometry: Hello. How can I list all the methods applicable to a given value or class? like the class browser's "functions" tab in Lispworks. 2018-10-03T05:06:07Z oni-on-ion: i would like to know that as well. nice nick 2018-10-03T05:06:29Z robotoad joined #lisp 2018-10-03T05:06:39Z oni-on-ion: s-geometry: check (inspect (find-class 'classname)) it shows direct-methods 2018-10-03T05:06:45Z s-geometry: thx 2018-10-03T05:11:04Z nonlinear joined #lisp 2018-10-03T05:12:44Z nowolfer quit (Ping timeout: 252 seconds) 2018-10-03T05:14:47Z nowolfer joined #lisp 2018-10-03T05:15:49Z beach: mop compute-applicable-methods 2018-10-03T05:15:49Z specbot: http://metamodular.com/CLOS-MOP/compute-applicable-methods.html 2018-10-03T05:16:04Z beach: s-geometry: ↑ 2018-10-03T05:16:11Z trittweiler joined #lisp 2018-10-03T05:17:00Z no-defun-allowed: fancy, unicode arrows 2018-10-03T05:17:02Z oni-on-ion: ouu. that part of most impls ? 2018-10-03T05:17:43Z quipa_ joined #lisp 2018-10-03T05:17:45Z orivej quit (Ping timeout: 268 seconds) 2018-10-03T05:18:05Z s-geometry: beach: with compute-applicable-methods, you need to supply generic-fn 2018-10-03T05:18:27Z beach: oni-on-ion: Yes. There is a system called CLOSER-MOP that wraps implementation-specific details in a portable package. 2018-10-03T05:19:02Z beach: s-geometry: Methods are part of a generic function, so that seems quite reasonable I think. 2018-10-03T05:19:12Z s-geometry: I want something like (applicable-methods (class-of '(1 2 3))) and get methods defined on cons class and up 2018-10-03T05:19:30Z beach: s-geometry: Methods are not defined on classes in Common Lisp. 2018-10-03T05:19:36Z beach: But... 2018-10-03T05:19:46Z beach: mop specializer-direct-methods 2018-10-03T05:19:47Z specbot: http://metamodular.com/CLOS-MOP/specializer-direct-methods.html 2018-10-03T05:19:47Z oni-on-ion: i remember seeing something in clim-listener about this 2018-10-03T05:20:07Z nonlinear is now known as NB0X-Matt-CA 2018-10-03T05:20:54Z quipa quit (Ping timeout: 252 seconds) 2018-10-03T05:21:00Z oni-on-ion: is tree shaking hard ? 2018-10-03T05:21:01Z beach: s-geometry: It is not perfect, but you can work from there. 2018-10-03T05:21:11Z beach: oni-on-ion: It is impossible in general. 2018-10-03T05:21:14Z no-defun-allowed: depends on the size of tree 2018-10-03T05:21:37Z no-defun-allowed: some you can go up to and shake, some are too big for that. some are too small and you might snap something off instead. 2018-10-03T05:21:43Z beach: oni-on-ion: If your code contains (eval (read)) then you need everything in the standard. 2018-10-03T05:21:47Z oni-on-ion: i was just thinking, using a single lone bits of code from a lib, but who knows what happens live/dynamically, so impossible for sure 2018-10-03T05:22:07Z oni-on-ion: yeah, beach =) i understand some commercial things do it but for packing up likely limited images/systems 2018-10-03T05:22:27Z s-geometry: thanks beach 2018-10-03T05:22:34Z beach: s-geometry: Anytime. 2018-10-03T05:23:02Z no-defun-allowed: if you don't have any loose evals, i think it's possible though 2018-10-03T05:23:10Z beach: oni-on-ion: You then just decide what functionality you don't want user code to be able to take advantage of and remove that functionality. 2018-10-03T05:23:13Z no-defun-allowed: you also lose debugging though since the debugger has an EVAL too 2018-10-03T05:23:37Z beach: And you can't add methods to a generic function either. 2018-10-03T05:23:55Z oni-on-ion: if tree shooken cant? 2018-10-03T05:24:02Z beach: Because that requires the compiler. 2018-10-03T05:24:05Z oni-on-ion: ah 2018-10-03T05:24:38Z no-defun-allowed: any kind of dynamic updating or execution is disallowed in general 2018-10-03T05:25:23Z no-defun-allowed: one of the SICP excercises suggested using an interpreter for dynamic execution which could be called and call from/to compiled code but that seems like too much of a hassle. 2018-10-03T05:25:29Z smokeink: fouric: in my (limited) experience it's a pain to generate executables with asdf (it depends what implementation you use and on other things) - and buildapp didn't look to me like a finished tool 2018-10-03T05:26:03Z no-defun-allowed: ideally shaken programs would not have (unhandled) errors 2018-10-03T05:26:06Z oni-on-ion: this is wierd to be able to choose: i can implement something completely in macros, so that compilation executes its functionality. 2018-10-03T05:26:30Z oni-on-ion: no-defun-allowed: heh yeah=) 2018-10-03T05:26:41Z fouric: smokeink: aight, i might just roll my own tool then 2018-10-03T05:26:51Z fouric: as long as i only care about sbcl it should be pretty easy anyway 2018-10-03T05:27:04Z fouric: ty for advice 2018-10-03T05:27:24Z makomo: morning! 2018-10-03T05:28:14Z no-defun-allowed: hi makomo 2018-10-03T05:29:24Z smokeink: fouric: np. I have some notes here that say: "on windows u can use buildapp it works well. on linux and windows u can use shinmera asdf technique but won't work well if your app uses other foreign libraries" 2018-10-03T05:32:11Z smokeink: if you really want to do it with buildapp I have some examples that I've ran in the past and worked ; 'loke has a .lisp file that loads everything, includes a "main" function and finishes off with sb-ext:save-lisp-and-die' 2018-10-03T05:33:22Z vlatkoB joined #lisp 2018-10-03T05:33:44Z dddddd quit (Remote host closed the connection) 2018-10-03T05:36:02Z smokeink: fouric: buildapp experiments https://ybin.me/p/65dbf99f371ed1ce#Yls8x7FRyPtOTAr/mWqmHRvluyInJzrgTFoQDL/R1fI= 2018-10-03T05:38:00Z on_ion joined #lisp 2018-10-03T05:38:02Z nowolfer quit (Ping timeout: 252 seconds) 2018-10-03T05:38:18Z nowolfer joined #lisp 2018-10-03T05:39:08Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-03T05:40:34Z oni-on-ion quit (Ping timeout: 268 seconds) 2018-10-03T05:41:06Z quazimodo joined #lisp 2018-10-03T05:43:14Z phoe: smokeink: huh? 2018-10-03T05:43:30Z phoe: AFAIK Shinmera's Deploy works with foreign libraries 2018-10-03T05:44:16Z frgo joined #lisp 2018-10-03T05:46:44Z doesthiswork quit (Ping timeout: 268 seconds) 2018-10-03T05:49:06Z frgo quit (Ping timeout: 260 seconds) 2018-10-03T05:55:21Z pjb quit (Ping timeout: 252 seconds) 2018-10-03T05:55:24Z smokeink: ok 2018-10-03T06:06:07Z sauvin joined #lisp 2018-10-03T06:06:43Z smasta quit (Ping timeout: 245 seconds) 2018-10-03T06:13:09Z Shinmera: Deploy works well on any platform 2018-10-03T06:14:00Z Shinmera: And it's specifically designed to deal with foreigt libraries, so. 2018-10-03T06:14:10Z Shinmera: *foreign 2018-10-03T06:15:15Z JohnMS_WORK joined #lisp 2018-10-03T06:18:14Z Necktwi joined #lisp 2018-10-03T06:18:28Z holycow quit (Quit: Lost terminal) 2018-10-03T06:18:49Z Necktwi: any neural network implementations on lisp? 2018-10-03T06:19:34Z on_ion: lisp *is* the neural network 2018-10-03T06:20:07Z no-defun-allowed: don't need em tbh 2018-10-03T06:20:09Z robotoad quit (Quit: robotoad) 2018-10-03T06:21:00Z Necktwi: can lisp do image recognition? 2018-10-03T06:21:16Z quazimodo quit (Ping timeout: 268 seconds) 2018-10-03T06:21:20Z no-defun-allowed: yes 2018-10-03T06:21:21Z beach: Necktwi: Lisp is a general-purpose programming language, so yes. 2018-10-03T06:21:53Z Necktwi: i got confused with what on_ion said 2018-10-03T06:22:26Z beach: Necktwi: But there is no standard Common Lisp function named RECOGNIZE-IMAGE, so someone needs to write it. 2018-10-03T06:22:49Z quazimodo joined #lisp 2018-10-03T06:22:53Z Necktwi: how lisp is a neural network 2018-10-03T06:22:59Z jackdaniel: I'm also confused by that "lisp is the neural network" 2018-10-03T06:23:16Z jackdaniel: Necktwi: I'd ignore this statement 2018-10-03T06:23:28Z jackdaniel: (I'm CL programmer and still I don't understand it) 2018-10-03T06:24:30Z jackdaniel: regarding machine learning and similar areas, there is a cliki entry with some libraries: https://www.cliki.net/machine%20learning 2018-10-03T06:24:31Z Necktwi: http://www.michaelnielsen.org/ddi/lisp-as-the-maxwells-equations-of-software/ 2018-10-03T06:24:44Z jackdaniel: if you are interested in nlp, there is cl-nlp 2018-10-03T06:25:28Z Necktwi: yeah i'm interested, thank you. 2018-10-03T06:26:04Z Necktwi: does this channel bot use cl-nlp? 2018-10-03T06:26:11Z jackdaniel: I find such parallels (lisp as the maxwell whatever; lisp is a neural network; lisp blurrs the boundry between data and code) more confusing than interesting 2018-10-03T06:26:29Z jackdaniel: Necktwi: afaik it is eliza-derived chatbot 2018-10-03T06:26:40Z jackdaniel: eliza is rule-based 2018-10-03T06:26:42Z jackdaniel: so no 2018-10-03T06:27:12Z Necktwi: , about you 2018-10-03T06:27:31Z Necktwi: does the channel has a bot? 2018-10-03T06:27:44Z beach: minion: Are you a bot? 2018-10-03T06:27:46Z minion: i'm not a bot. i prefer the term ``electronically composed''. 2018-10-03T06:27:47Z jackdaniel: spec list* 2018-10-03T06:28:01Z jackdaniel: clhs list* 2018-10-03T06:28:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_list_.htm 2018-10-03T06:28:12Z Necktwi: minion, about you 2018-10-03T06:28:12Z minion: you speak nonsense 2018-10-03T06:28:24Z Necktwi: minion, tell me about you 2018-10-03T06:28:25Z minion: Necktwi: what's up? 2018-10-03T06:28:32Z jackdaniel: Necktwi: please play with minion on query 2018-10-03T06:29:21Z beach: minion: Please tell Necktwi about minion. 2018-10-03T06:29:22Z minion: minion: https://www.cliki.net/minion 2018-10-03T06:29:48Z moei quit (Read error: Connection reset by peer) 2018-10-03T06:30:11Z no-defun-allowed: minion: what pronouns do you use? 2018-10-03T06:30:11Z minion: 42 2018-10-03T06:30:20Z moei joined #lisp 2018-10-03T06:30:21Z no-defun-allowed: oh ok 2018-10-03T06:33:21Z smasta joined #lisp 2018-10-03T06:41:52Z trittweiler quit (Ping timeout: 246 seconds) 2018-10-03T06:44:45Z eschatologist quit (Remote host closed the connection) 2018-10-03T06:45:35Z eschatologist joined #lisp 2018-10-03T06:52:35Z flamebeard joined #lisp 2018-10-03T06:57:47Z soeye_ joined #lisp 2018-10-03T07:00:29Z varjag joined #lisp 2018-10-03T07:05:16Z soeye_ left #lisp 2018-10-03T07:05:36Z lnostdal quit (Excess Flood) 2018-10-03T07:05:51Z lnostdal joined #lisp 2018-10-03T07:12:06Z minion quit (Disconnected by services) 2018-10-03T07:12:08Z minion joined #lisp 2018-10-03T07:15:17Z uint_ joined #lisp 2018-10-03T07:16:38Z soeye_ joined #lisp 2018-10-03T07:18:22Z spaceplu- joined #lisp 2018-10-03T07:18:22Z dvdmuckle_ joined #lisp 2018-10-03T07:19:29Z dvdmuckle quit (*.net *.split) 2018-10-03T07:19:29Z arbv quit (*.net *.split) 2018-10-03T07:19:29Z uint quit (*.net *.split) 2018-10-03T07:19:29Z kooga quit (*.net *.split) 2018-10-03T07:19:29Z PuercoPop quit (*.net *.split) 2018-10-03T07:19:30Z CEnnis91 quit (*.net *.split) 2018-10-03T07:19:30Z rotty quit (*.net *.split) 2018-10-03T07:19:30Z groovy2shoes quit (*.net *.split) 2018-10-03T07:19:30Z sigjuice quit (*.net *.split) 2018-10-03T07:19:30Z argoneus quit (*.net *.split) 2018-10-03T07:19:30Z brandonz quit (*.net *.split) 2018-10-03T07:19:30Z Fade quit (*.net *.split) 2018-10-03T07:19:30Z spacepluk quit (*.net *.split) 2018-10-03T07:19:30Z _death quit (*.net *.split) 2018-10-03T07:19:30Z ecraven quit (*.net *.split) 2018-10-03T07:19:30Z cgay quit (*.net *.split) 2018-10-03T07:19:30Z commanderkeen quit (*.net *.split) 2018-10-03T07:19:30Z tfb quit (*.net *.split) 2018-10-03T07:19:30Z xristos quit (*.net *.split) 2018-10-03T07:19:30Z isoraqathedh quit (*.net *.split) 2018-10-03T07:19:30Z jdz quit (*.net *.split) 2018-10-03T07:19:30Z HDurer quit (*.net *.split) 2018-10-03T07:19:30Z Blkt quit (*.net *.split) 2018-10-03T07:19:30Z gko quit (*.net *.split) 2018-10-03T07:19:30Z GreaseMonkey quit (*.net *.split) 2018-10-03T07:19:30Z p9fn quit (*.net *.split) 2018-10-03T07:19:30Z weltung quit (*.net *.split) 2018-10-03T07:19:30Z kushal quit (*.net *.split) 2018-10-03T07:19:30Z zooey quit (*.net *.split) 2018-10-03T07:19:34Z dvdmuckle_ is now known as dvdmuckle 2018-10-03T07:20:01Z spaceplu- is now known as spacepluk 2018-10-03T07:21:59Z aindilis quit (Ping timeout: 252 seconds) 2018-10-03T07:24:09Z soeye_ left #lisp 2018-10-03T07:24:22Z shka_ joined #lisp 2018-10-03T07:24:26Z shka_: good morning 2018-10-03T07:24:29Z soeye_ joined #lisp 2018-10-03T07:24:53Z Copenhagen_Bram quit (Remote host closed the connection) 2018-10-03T07:25:08Z JohnMS_WORK: Good morning. 2018-10-03T07:26:22Z _death joined #lisp 2018-10-03T07:26:48Z Copenhagen_Bram joined #lisp 2018-10-03T07:27:05Z Necktwi: can i talk about AI here? 2018-10-03T07:27:53Z shka_: it is mostly about common lisp 2018-10-03T07:28:00Z no-defun-allowed: i don't see why not 2018-10-03T07:28:03Z no-defun-allowed: but as long as it's in CL 2018-10-03T07:28:04Z shka_: but same people hang on lispcafe 2018-10-03T07:28:11Z shka_: which is general discussion 2018-10-03T07:28:16Z jackdaniel: Necktwi: if it is Lisp related then sure 2018-10-03T07:28:27Z no-defun-allowed: only a fifth are on #lispcafe, which is kinda sad 2018-10-03T07:28:35Z smasta quit (Ping timeout: 252 seconds) 2018-10-03T07:28:36Z Necktwi: ofcourse lisp related 2018-10-03T07:28:44Z shka_: then you are good to go 2018-10-03T07:28:51Z beach: no-defun-allowed: Perhaps the others need to get some work done. 2018-10-03T07:29:08Z no-defun-allowed: that's true 2018-10-03T07:29:21Z Regenaxer joined #lisp 2018-10-03T07:29:24Z shka_: beach: do you have any idea who that would be? ;-) 2018-10-03T07:29:27Z no-defun-allowed: i guess 80-20 time has actual testing :P 2018-10-03T07:29:58Z beach: shka_: No, not really. Just a hunch. 2018-10-03T07:31:16Z shka_: what a shame, i am sure those are ought to be extrordinary people 2018-10-03T07:31:16Z Necktwi: can lisp scripts be compiled to binary? not bytecode. 2018-10-03T07:31:16Z Necktwi: and b as down to metal as C? 2018-10-03T07:31:16Z no-defun-allowed: we taught plexi to pick drinks 2018-10-03T07:31:16Z no-defun-allowed: oh yes, i have to write documentation and stuff instead of fiddling around with a bot 2018-10-03T07:32:42Z shka_: Necktwi: sbcl is compiler only implementation 2018-10-03T07:32:42Z shka_: by compiler i mean: compiles to machine code 2018-10-03T07:32:42Z no-defun-allowed: yep, sbcl, cmucl and a bunch others compile to machine code Necktwi 2018-10-03T07:32:43Z aindilis joined #lisp 2018-10-03T07:32:44Z PuercoPop joined #lisp 2018-10-03T07:32:44Z arbv joined #lisp 2018-10-03T07:32:44Z kooga joined #lisp 2018-10-03T07:32:44Z CEnnis91 joined #lisp 2018-10-03T07:32:44Z rotty joined #lisp 2018-10-03T07:32:44Z groovy2shoes joined #lisp 2018-10-03T07:32:44Z sigjuice joined #lisp 2018-10-03T07:32:44Z GreaseMonkey joined #lisp 2018-10-03T07:32:44Z weltung joined #lisp 2018-10-03T07:32:44Z argoneus joined #lisp 2018-10-03T07:32:44Z brandonz joined #lisp 2018-10-03T07:32:44Z HDurer joined #lisp 2018-10-03T07:32:44Z ecraven joined #lisp 2018-10-03T07:32:44Z cgay joined #lisp 2018-10-03T07:32:44Z tfb joined #lisp 2018-10-03T07:32:44Z xristos joined #lisp 2018-10-03T07:32:44Z jdz joined #lisp 2018-10-03T07:32:44Z p9fn joined #lisp 2018-10-03T07:32:44Z gko joined #lisp 2018-10-03T07:32:50Z shka_: try dissasemble 2018-10-03T07:33:39Z shka_: or check the bottom of this page 2018-10-03T07:33:42Z shka_: https://gitlab.com/jgkamat/rmsbolt 2018-10-03T07:34:08Z aindilis quit (Remote host closed the connection) 2018-10-03T07:34:19Z Necktwi: is there a lisp based emacs? 2018-10-03T07:34:27Z Necktwi: or alternative? 2018-10-03T07:34:28Z kushal joined #lisp 2018-10-03T07:34:42Z jgkamat: I haven't tried cmucl, but there are a quite few lisps that do that 2018-10-03T07:34:51Z jgkamat: I think ecl goes through c -> asm 2018-10-03T07:34:53Z beach: Necktwi: (first) Climacs exists, but it is not great. I am working on Second Climacs. 2018-10-03T07:35:10Z beach: Necktwi: There are a bunch of others as well. 2018-10-03T07:35:49Z aindilis joined #lisp 2018-10-03T07:36:12Z beach: Necktwi: [about compiling to machine code] Make sure you don't confuse two concepts: 1. Compiling to machine code, and 2. Generating a Unix executable file. 2018-10-03T07:36:13Z jackdaniel: jgkamat: SBCL and CCL compile to machine code, ECL compiles to C and then to machine code, ABCL compiles to JVM bytecode, clisp compiles to bytecode but has JIT compiling to native, clasp compiles to LLVM IR and then to machine code 2018-10-03T07:36:14Z Necktwi: i read that in original lisp on can actually write assembly but clisp has deviated too far for doing that 2018-10-03T07:36:22Z beach: Necktwi: The two are orthogonal. 2018-10-03T07:36:35Z beach: Necktwi: CLISP is an implementation of Common Lisp. 2018-10-03T07:36:56Z Necktwi: there are other implementations of Common Lisp? 2018-10-03T07:36:57Z no-defun-allowed: gnuemacs is a good start :P 2018-10-03T07:36:58Z jgkamat: yup, +1 jackdaniel :) 2018-10-03T07:37:04Z no-defun-allowed: climacs and second-climacs are also good emacsen 2018-10-03T07:37:12Z beach: Necktwi: It is entirely possible that it was true for CLISP at some point, but it is no longer the case. 2018-10-03T07:37:23Z jackdaniel: Necktwi: there is a lot of them, check this out! https://common-lisp.net/project/ecl/static/quarterly/img/vol4/all-hierarchy.png 2018-10-03T07:37:31Z beach: Necktwi: People already told you about SBCL, CMUCL, CCL, ECL, etc, etc. 2018-10-03T07:37:35Z smasta joined #lisp 2018-10-03T07:38:59Z beach: Necktwi: Can you give a link to the information that you cited? 2018-10-03T07:39:14Z beach: Necktwi: Or a bibliography reference? 2018-10-03T07:39:37Z Necktwi: ling regarding writing assemebly in lisp? 2018-10-03T07:39:45Z Necktwi: link* 2018-10-03T07:40:06Z beach: Necktwi: Yes, but I don't know what you mean by "writing assembly in lisp". 2018-10-03T07:40:57Z Necktwi: i too got confused by that 2018-10-03T07:41:05Z no-defun-allowed: i'm very sure you can write assembler in lisp. 2018-10-03T07:41:15Z no-defun-allowed: eg https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ 2018-10-03T07:41:18Z Necktwi: i thought (ADD R0 R1) 2018-10-03T07:41:28Z Necktwi: something like that 2018-10-03T07:41:31Z beach: Necktwi: Most modern Common Lisp implementations compile Common Lisp code to machine code. There is no particular need to write assembly in Lisp. 2018-10-03T07:41:59Z beach: Necktwi: But some implementations have a LAP (Lisp Assembly Program?) module that is used as a backend for the compiler. 2018-10-03T07:42:30Z beach: Necktwi: But what would you use it for? 2018-10-03T07:42:56Z Necktwi: I've come across few days back. i'm not sure i pull it again, i'll try 2018-10-03T07:43:33Z beach: Necktwi: What would you use it for? If you are going to write assembly code, you might as well use the native assembler. 2018-10-03T07:43:43Z smokeink quit (Ping timeout: 244 seconds) 2018-10-03T07:43:51Z Regenaxer left #lisp 2018-10-03T07:44:20Z Necktwi: i want to exercise back propogating gradient descent in neural network. 2018-10-03T07:44:33Z beach: Necktwi: So write it in Common Lisp. 2018-10-03T07:44:34Z shka_: beach: wouldn't it be neat to have interactive REPL when writing assembly? 2018-10-03T07:44:45Z no-defun-allowed: with cffi, i'm sure you could interface with nasm or something? 2018-10-03T07:44:51Z beach: shka_: Possibly. 2018-10-03T07:45:17Z beach: Necktwi: If you are thinking of mixing Common Lisp code and assembly code, as is sometimes done in low-level C code, you can pretty much forget about it. The mapping from Common Lisp code to machine code is much more complex than the much simpler mapping from C code to assembler. 2018-10-03T07:45:19Z no-defun-allowed: shka_: good job you invented TempleOS, now terry davis's ghost is gonna sue you 2018-10-03T07:45:31Z isoraqathedh joined #lisp 2018-10-03T07:45:39Z no-defun-allowed: that sounds okay but he's got pretty good relations with god apparently... 2018-10-03T07:45:43Z shka_: anyway, beach is right, you are better off writing those things in CL 2018-10-03T07:45:54Z Necktwi: i want to make to exercise it down to metal. to leverage GPUs SIMD capability for applying weights in single cycle 2018-10-03T07:46:05Z Shinmera: but muh performance 2018-10-03T07:46:13Z no-defun-allowed: --> oclcl <-- 2018-10-03T07:46:14Z shka_: sbcl produces reasonably efficient numeric code 2018-10-03T07:46:21Z Necktwi: i want to exercise it down to metal. to leverage GPUs SIMD capability for applying weights in single cycle 2018-10-03T07:46:40Z shka_: Necktwi: then CUDA? 2018-10-03T07:46:47Z Regenaxer joined #lisp 2018-10-03T07:46:48Z jackdaniel: Necktwi: see Common Lisp library called CEPL 2018-10-03T07:47:03Z no-defun-allowed: cl-vep will do that one day but i need to write some kind of code modifying tool to let it run in oclcl's limited syntax 2018-10-03T07:47:10Z jackdaniel: also, if you are interested in parallelized computing in general check out petalisp 2018-10-03T07:47:36Z jackdaniel: Necktwi: https://github.com/cbaggers/cepl ; http://www.youtube.com/playlist?list=PL2VAYZE_4wRKKr5pJzfYD1w4tKCXARs5y 2018-10-03T07:47:39Z Necktwi: petalisp! never ending lisps! 2018-10-03T07:47:50Z jackdaniel: petalisp is a DSL written in Common Lisp 2018-10-03T07:47:57Z jackdaniel: (DSL means Domain Specific Language) 2018-10-03T07:48:16Z shka_: well, petalisp can be good fit for neural networks stuff 2018-10-03T07:48:48Z Jachy: Has anyone started a project to interface CL with Vulkan yet? 2018-10-03T07:48:56Z smasta quit (Ping timeout: 252 seconds) 2018-10-03T07:51:53Z ggole joined #lisp 2018-10-03T07:52:09Z quipa_ quit (Read error: Connection reset by peer) 2018-10-03T07:56:04Z Necktwi quit (Ping timeout: 246 seconds) 2018-10-03T07:56:19Z angavrilov joined #lisp 2018-10-03T08:05:44Z frgo joined #lisp 2018-10-03T08:07:22Z Necktwi joined #lisp 2018-10-03T08:07:34Z anewuser joined #lisp 2018-10-03T08:13:35Z pierpal quit (Read error: Connection reset by peer) 2018-10-03T08:13:55Z ggole quit (*.net *.split) 2018-10-03T08:13:55Z arbv quit (*.net *.split) 2018-10-03T08:13:55Z kooga quit (*.net *.split) 2018-10-03T08:13:55Z PuercoPop quit (*.net *.split) 2018-10-03T08:13:55Z CEnnis91 quit (*.net *.split) 2018-10-03T08:13:55Z rotty quit (*.net *.split) 2018-10-03T08:13:55Z groovy2shoes quit (*.net *.split) 2018-10-03T08:13:55Z sigjuice quit (*.net *.split) 2018-10-03T08:13:56Z argoneus quit (*.net *.split) 2018-10-03T08:13:56Z brandonz quit (*.net *.split) 2018-10-03T08:13:56Z ecraven quit (*.net *.split) 2018-10-03T08:13:56Z cgay quit (*.net *.split) 2018-10-03T08:13:56Z tfb quit (*.net *.split) 2018-10-03T08:13:56Z xristos quit (*.net *.split) 2018-10-03T08:13:56Z jdz quit (*.net *.split) 2018-10-03T08:13:56Z HDurer quit (*.net *.split) 2018-10-03T08:13:56Z gko quit (*.net *.split) 2018-10-03T08:13:56Z GreaseMonkey quit (*.net *.split) 2018-10-03T08:13:56Z p9fn quit (*.net *.split) 2018-10-03T08:13:56Z weltung quit (*.net *.split) 2018-10-03T08:13:56Z kushal quit (*.net *.split) 2018-10-03T08:17:24Z s-geometry quit (Ping timeout: 272 seconds) 2018-10-03T08:17:47Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-03T08:17:51Z JohnMS joined #lisp 2018-10-03T08:20:33Z JohnMS_WORK quit (Ping timeout: 252 seconds) 2018-10-03T08:22:02Z kushal joined #lisp 2018-10-03T08:27:16Z ggole joined #lisp 2018-10-03T08:27:16Z PuercoPop joined #lisp 2018-10-03T08:27:16Z arbv joined #lisp 2018-10-03T08:27:16Z kooga joined #lisp 2018-10-03T08:27:16Z CEnnis91 joined #lisp 2018-10-03T08:27:16Z rotty joined #lisp 2018-10-03T08:27:16Z groovy2shoes joined #lisp 2018-10-03T08:27:16Z sigjuice joined #lisp 2018-10-03T08:27:16Z GreaseMonkey joined #lisp 2018-10-03T08:27:16Z weltung joined #lisp 2018-10-03T08:27:16Z argoneus joined #lisp 2018-10-03T08:27:16Z brandonz joined #lisp 2018-10-03T08:27:16Z HDurer joined #lisp 2018-10-03T08:27:16Z ecraven joined #lisp 2018-10-03T08:27:16Z cgay joined #lisp 2018-10-03T08:27:16Z tfb joined #lisp 2018-10-03T08:27:16Z xristos joined #lisp 2018-10-03T08:27:16Z jdz joined #lisp 2018-10-03T08:27:16Z p9fn joined #lisp 2018-10-03T08:27:16Z gko joined #lisp 2018-10-03T08:28:31Z quipa joined #lisp 2018-10-03T08:29:40Z kajo joined #lisp 2018-10-03T08:34:22Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-03T08:42:01Z SaganMan quit (Quit: WeeChat 1.6) 2018-10-03T08:51:29Z ggole quit (*.net *.split) 2018-10-03T08:51:29Z arbv quit (*.net *.split) 2018-10-03T08:51:29Z kooga quit (*.net *.split) 2018-10-03T08:51:29Z PuercoPop quit (*.net *.split) 2018-10-03T08:51:29Z CEnnis91 quit (*.net *.split) 2018-10-03T08:51:30Z rotty quit (*.net *.split) 2018-10-03T08:51:30Z groovy2shoes quit (*.net *.split) 2018-10-03T08:51:30Z sigjuice quit (*.net *.split) 2018-10-03T08:51:30Z argoneus quit (*.net *.split) 2018-10-03T08:51:30Z brandonz quit (*.net *.split) 2018-10-03T08:51:30Z ecraven quit (*.net *.split) 2018-10-03T08:51:30Z cgay quit (*.net *.split) 2018-10-03T08:51:30Z tfb quit (*.net *.split) 2018-10-03T08:51:30Z xristos quit (*.net *.split) 2018-10-03T08:51:30Z jdz quit (*.net *.split) 2018-10-03T08:51:30Z HDurer quit (*.net *.split) 2018-10-03T08:51:30Z gko quit (*.net *.split) 2018-10-03T08:51:30Z GreaseMonkey quit (*.net *.split) 2018-10-03T08:51:30Z p9fn quit (*.net *.split) 2018-10-03T08:51:30Z weltung quit (*.net *.split) 2018-10-03T08:51:30Z kushal quit (*.net *.split) 2018-10-03T08:59:38Z kushal joined #lisp 2018-10-03T09:00:28Z scymtym quit (Ping timeout: 246 seconds) 2018-10-03T09:01:55Z marvin3 joined #lisp 2018-10-03T09:05:07Z marvin2 quit (Ping timeout: 252 seconds) 2018-10-03T09:05:07Z ggole joined #lisp 2018-10-03T09:05:07Z PuercoPop joined #lisp 2018-10-03T09:05:07Z arbv joined #lisp 2018-10-03T09:05:07Z kooga joined #lisp 2018-10-03T09:05:07Z CEnnis91 joined #lisp 2018-10-03T09:05:07Z rotty joined #lisp 2018-10-03T09:05:07Z groovy2shoes joined #lisp 2018-10-03T09:05:07Z sigjuice joined #lisp 2018-10-03T09:05:07Z GreaseMonkey joined #lisp 2018-10-03T09:05:07Z weltung joined #lisp 2018-10-03T09:05:07Z argoneus joined #lisp 2018-10-03T09:05:07Z brandonz joined #lisp 2018-10-03T09:05:07Z HDurer joined #lisp 2018-10-03T09:05:07Z ecraven joined #lisp 2018-10-03T09:05:07Z cgay joined #lisp 2018-10-03T09:05:07Z tfb joined #lisp 2018-10-03T09:05:07Z xristos joined #lisp 2018-10-03T09:05:07Z jdz joined #lisp 2018-10-03T09:05:07Z p9fn joined #lisp 2018-10-03T09:05:07Z gko joined #lisp 2018-10-03T09:05:11Z arbv quit (Ping timeout: 252 seconds) 2018-10-03T09:07:06Z pierpal joined #lisp 2018-10-03T09:11:18Z wiselord quit (Remote host closed the connection) 2018-10-03T09:13:28Z hiroaki joined #lisp 2018-10-03T09:13:38Z pierpal quit (Read error: Connection reset by peer) 2018-10-03T09:15:34Z troydm joined #lisp 2018-10-03T09:19:08Z hiroaki quit (Ping timeout: 252 seconds) 2018-10-03T09:24:52Z phoe: Jachy: ask on #lispgames 2018-10-03T09:24:55Z phoe: I think someone's been working on that 2018-10-03T09:29:10Z scymtym joined #lisp 2018-10-03T09:31:46Z arbv joined #lisp 2018-10-03T09:32:53Z hiroaki joined #lisp 2018-10-03T09:37:34Z anewuser quit (Quit: anewuser) 2018-10-03T09:38:23Z lavaflow quit (Ping timeout: 252 seconds) 2018-10-03T09:39:57Z zfree joined #lisp 2018-10-03T09:40:22Z DataLinkDroid quit (Ping timeout: 256 seconds) 2018-10-03T09:41:51Z v0|d quit (Remote host closed the connection) 2018-10-03T09:46:30Z v0|d joined #lisp 2018-10-03T09:58:30Z quipa_ joined #lisp 2018-10-03T09:59:12Z quipa_ quit (Read error: Connection reset by peer) 2018-10-03T10:00:55Z quipa quit (Ping timeout: 250 seconds) 2018-10-03T10:10:02Z orivej joined #lisp 2018-10-03T10:11:42Z nowolfer quit (Quit: leaving) 2018-10-03T10:13:55Z kajo quit (Ping timeout: 250 seconds) 2018-10-03T10:18:59Z Regenaxer left #lisp 2018-10-03T10:27:15Z FreeBirdLjj joined #lisp 2018-10-03T10:27:38Z Elon_Satoshi joined #lisp 2018-10-03T10:28:13Z m00natic joined #lisp 2018-10-03T10:28:57Z smokeink joined #lisp 2018-10-03T10:29:42Z Copenhagen_Bram quit (Ping timeout: 252 seconds) 2018-10-03T10:29:48Z orivej quit (Ping timeout: 252 seconds) 2018-10-03T10:34:31Z lavaflow joined #lisp 2018-10-03T10:43:30Z no-defun-allowed: lol, recursive definitions are fun 2018-10-03T10:45:39Z beach quit (Ping timeout: 252 seconds) 2018-10-03T10:47:04Z cydork joined #lisp 2018-10-03T10:57:51Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-03T10:59:32Z dmiles quit (Ping timeout: 272 seconds) 2018-10-03T11:00:53Z igemnace quit (Quit: gtg) 2018-10-03T11:02:07Z Xach: urfha 2018-10-03T11:02:47Z no-defun-allowed: hi xach 2018-10-03T11:04:49Z dmiles joined #lisp 2018-10-03T11:09:30Z uint_ is now known as uint 2018-10-03T11:24:05Z FreeBirdLjj joined #lisp 2018-10-03T11:32:54Z quipa joined #lisp 2018-10-03T11:35:25Z pierpal joined #lisp 2018-10-03T11:45:26Z shifty quit (Ping timeout: 252 seconds) 2018-10-03T11:51:09Z FreeBirdLjj quit (Read error: Connection timed out) 2018-10-03T11:51:53Z FreeBirdLjj joined #lisp 2018-10-03T11:54:50Z orivej joined #lisp 2018-10-03T11:57:59Z drot quit (Quit: Quit.) 2018-10-03T11:59:57Z drot joined #lisp 2018-10-03T12:06:45Z drot quit (Quit: Quit.) 2018-10-03T12:11:05Z drot joined #lisp 2018-10-03T12:12:54Z Lycurgus joined #lisp 2018-10-03T12:14:06Z kslt1 joined #lisp 2018-10-03T12:16:52Z Essadon joined #lisp 2018-10-03T12:18:54Z quazimodo joined #lisp 2018-10-03T12:23:30Z phoe: Necktwi: take a look at SBCL's assembly generator and VOPs 2018-10-03T12:24:01Z phoe: there are several articles that explain how it works. You should be able to write chunks of assembly in Lisp that way, and utilize them from inside the Common Lisp environment. 2018-10-03T12:24:21Z shka_: good luck maintaining that, though 2018-10-03T12:25:06Z nowhere_man quit (Ping timeout: 268 seconds) 2018-10-03T12:25:31Z phoe: good luck maintaining anything that you need to compile all the way down to assembly in general 2018-10-03T12:25:36Z phoe: you could also take a look at https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/mandelbrot-sbcl-1.html 2018-10-03T12:26:21Z frgo quit 2018-10-03T12:28:03Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-03T12:29:02Z phoe: it's an example of writing highly performant SBCL 2018-10-03T12:30:05Z quazimodo joined #lisp 2018-10-03T12:31:05Z marvin3 quit (Ping timeout: 252 seconds) 2018-10-03T12:32:21Z phoe: (performant and unmaintainable, of course) 2018-10-03T12:43:44Z dddddd joined #lisp 2018-10-03T12:46:10Z nowhere_man joined #lisp 2018-10-03T12:48:28Z pierpal quit (Ping timeout: 272 seconds) 2018-10-03T13:01:46Z wiselord joined #lisp 2018-10-03T13:05:58Z LiamH joined #lisp 2018-10-03T13:12:06Z beach joined #lisp 2018-10-03T13:13:03Z Bike joined #lisp 2018-10-03T13:17:09Z ski joined #lisp 2018-10-03T13:31:30Z cydork quit (Ping timeout: 252 seconds) 2018-10-03T13:32:00Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-03T13:33:25Z dale joined #lisp 2018-10-03T13:33:49Z FreeBirdLjj joined #lisp 2018-10-03T13:38:40Z FreeBirdLjj quit (Ping timeout: 244 seconds) 2018-10-03T13:42:43Z FreeBirdLjj joined #lisp 2018-10-03T13:43:45Z vtomole joined #lisp 2018-10-03T13:45:58Z rumbler31 joined #lisp 2018-10-03T13:47:12Z rumbler31 quit (Remote host closed the connection) 2018-10-03T13:47:14Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T13:51:13Z JohnMS quit (Read error: Connection timed out) 2018-10-03T13:54:12Z FreeBirdLjj joined #lisp 2018-10-03T13:54:41Z kajo joined #lisp 2018-10-03T13:56:01Z JohnMS_WORK joined #lisp 2018-10-03T13:58:48Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-10-03T13:59:18Z ubermonk quit (Ping timeout: 264 seconds) 2018-10-03T14:02:55Z Lycurgus quit (Quit: Exeunt) 2018-10-03T14:03:40Z mingus quit (Read error: Connection reset by peer) 2018-10-03T14:03:40Z emaczen quit (Read error: Connection reset by peer) 2018-10-03T14:03:40Z deba5e12 quit (Read error: Connection reset by peer) 2018-10-03T14:03:49Z deba5e12 joined #lisp 2018-10-03T14:05:29Z FreeBirdLjj joined #lisp 2018-10-03T14:06:24Z trittweiler joined #lisp 2018-10-03T14:09:47Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T14:28:33Z cydork joined #lisp 2018-10-03T14:30:39Z FreeBirdLjj joined #lisp 2018-10-03T14:32:28Z smasta joined #lisp 2018-10-03T14:34:28Z smokeink quit (Remote host closed the connection) 2018-10-03T14:35:06Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T14:37:08Z FreeBirdLjj joined #lisp 2018-10-03T14:39:58Z arbv quit (Quit: ZNC - https://znc.in) 2018-10-03T14:41:41Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-10-03T14:42:35Z nowhere_man quit (Read error: Connection reset by peer) 2018-10-03T14:43:08Z nowhere_man joined #lisp 2018-10-03T14:46:00Z veinofstars joined #lisp 2018-10-03T14:53:23Z nowhere_man quit (Ping timeout: 245 seconds) 2018-10-03T14:55:02Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-03T14:55:28Z arbv joined #lisp 2018-10-03T14:58:33Z frgo joined #lisp 2018-10-03T15:02:49Z domovod joined #lisp 2018-10-03T15:03:48Z FreeBirdLjj joined #lisp 2018-10-03T15:04:54Z gector quit (Read error: Connection reset by peer) 2018-10-03T15:05:11Z gector joined #lisp 2018-10-03T15:06:28Z Elon_Satoshi quit (Quit: So long, and thanks for all the fish! 2.2 Weechat is best Weechat) 2018-10-03T15:08:18Z Copenhagen_Bram joined #lisp 2018-10-03T15:08:31Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-10-03T15:10:54Z kajo quit (Ping timeout: 252 seconds) 2018-10-03T15:13:18Z kajo joined #lisp 2018-10-03T15:14:39Z shka_ quit (Quit: WeeChat 1.9.1) 2018-10-03T15:15:48Z smasta quit (Ping timeout: 252 seconds) 2018-10-03T15:17:18Z FreeBirdLjj joined #lisp 2018-10-03T15:18:10Z doesntthiswork joined #lisp 2018-10-03T15:19:14Z flamebeard quit 2018-10-03T15:20:51Z kyby64 joined #lisp 2018-10-03T15:21:51Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T15:23:47Z kslt1 quit (Ping timeout: 252 seconds) 2018-10-03T15:28:25Z robotoad joined #lisp 2018-10-03T15:32:25Z kslt1 joined #lisp 2018-10-03T15:35:14Z smasta joined #lisp 2018-10-03T15:36:03Z kajo quit (Ping timeout: 252 seconds) 2018-10-03T15:36:20Z FreeBirdLjj joined #lisp 2018-10-03T15:37:16Z on_ion: defvar sux 2018-10-03T15:38:33Z kajo joined #lisp 2018-10-03T15:40:32Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T15:41:36Z emaczen joined #lisp 2018-10-03T15:42:04Z quazimodo quit (Ping timeout: 240 seconds) 2018-10-03T15:43:04Z iridioid joined #lisp 2018-10-03T15:43:19Z on_ion: so i changed a defpackage form, to add :export, which displays in (inspect (find-package ..)) , but still i see "cant find function" 2018-10-03T15:44:12Z on_ion: nvm works now =) 2018-10-03T15:44:33Z FreeBirdLjj joined #lisp 2018-10-03T15:45:15Z smasta quit (Ping timeout: 244 seconds) 2018-10-03T15:45:51Z kajo quit (Ping timeout: 260 seconds) 2018-10-03T15:46:32Z quipa_ joined #lisp 2018-10-03T15:47:46Z kajo joined #lisp 2018-10-03T15:48:02Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-10-03T15:48:15Z quipa quit (Ping timeout: 252 seconds) 2018-10-03T15:49:13Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-10-03T15:52:11Z cage_ joined #lisp 2018-10-03T15:55:26Z zfree quit (Quit: zfree) 2018-10-03T15:56:58Z FreeBirdLjj joined #lisp 2018-10-03T15:57:11Z fe[nl]ix: on_ion: next time you feel the impulse to dispense such pearls of wisdom you can wait a few minutes and learn something 2018-10-03T16:01:36Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-10-03T16:02:57Z myrmidon joined #lisp 2018-10-03T16:03:31Z smaster joined #lisp 2018-10-03T16:03:56Z orivej quit (Ping timeout: 260 seconds) 2018-10-03T16:04:53Z FreeBirdLjj joined #lisp 2018-10-03T16:05:22Z iridioid quit (Ping timeout: 246 seconds) 2018-10-03T16:07:09Z kslt1 quit (Ping timeout: 252 seconds) 2018-10-03T16:09:13Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-10-03T16:16:50Z zxcvz joined #lisp 2018-10-03T16:17:46Z emaczen quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-10-03T16:19:38Z smaster quit (Ping timeout: 245 seconds) 2018-10-03T16:19:41Z emaczen joined #lisp 2018-10-03T16:21:49Z akovalenko quit (Remote host closed the connection) 2018-10-03T16:22:21Z akovalenko joined #lisp 2018-10-03T16:25:19Z smaster joined #lisp 2018-10-03T16:26:27Z ggole quit (Quit: ggole) 2018-10-03T16:26:41Z scymtym quit (Ping timeout: 260 seconds) 2018-10-03T16:28:23Z wiselord quit (Ping timeout: 252 seconds) 2018-10-03T16:29:36Z shka_ joined #lisp 2018-10-03T16:29:56Z shka_: good evening 2018-10-03T16:30:08Z jasom: emaczen: "I wrote a lisp program that writes a c program to find out constant values and struct sizes" <-- this is what the CFFI groveller does. 2018-10-03T16:30:09Z rippa joined #lisp 2018-10-03T16:31:57Z sjl joined #lisp 2018-10-03T16:40:28Z varjag joined #lisp 2018-10-03T16:43:14Z cydork quit (Ping timeout: 252 seconds) 2018-10-03T16:43:54Z dieggsy quit (Remote host closed the connection) 2018-10-03T16:47:34Z scymtym joined #lisp 2018-10-03T16:53:44Z sjl quit (Quit: WeeChat 2.3-dev) 2018-10-03T17:07:45Z sjl joined #lisp 2018-10-03T17:10:02Z smaster quit (Ping timeout: 272 seconds) 2018-10-03T17:12:18Z smaster joined #lisp 2018-10-03T17:13:17Z FreeBirdLjj joined #lisp 2018-10-03T17:14:23Z cage_ quit (Remote host closed the connection) 2018-10-03T17:15:48Z doubledup joined #lisp 2018-10-03T17:16:17Z russellw: Is there a standard macro that will print the name of a variable along with its current value? 2018-10-03T17:18:16Z FreeBirdLjj quit (Ping timeout: 272 seconds) 2018-10-03T17:19:42Z sjl: russellw: not that I know of. I ended up writing my own: https://github.com/sjl/cl-losh/blob/master/src/debugging.lisp#L16 2018-10-03T17:19:52Z emaczen: jasom: my program only gets the total size of the struct 2018-10-03T17:20:02Z emaczen: It doesn't have any knowledge about the offsets of the fields 2018-10-03T17:20:56Z hiroaki quit (Ping timeout: 252 seconds) 2018-10-03T17:21:07Z russellw: sjl, thanks! 2018-10-03T17:21:17Z FreeBirdLjj joined #lisp 2018-10-03T17:26:11Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2018-10-03T17:26:54Z smaster quit (Ping timeout: 252 seconds) 2018-10-03T17:28:55Z FreeBirdLjj joined #lisp 2018-10-03T17:33:18Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T17:37:04Z m00natic quit (Remote host closed the connection) 2018-10-03T17:38:25Z nowhere_man joined #lisp 2018-10-03T17:41:31Z smaster joined #lisp 2018-10-03T17:53:13Z emaczen: Is the ordering of the plist returned by cffi:mem-ref significant? 2018-10-03T17:54:06Z emaczen: I wouldn't think it is 2018-10-03T17:56:08Z smaster quit (Ping timeout: 252 seconds) 2018-10-03T17:58:58Z jack_rabbit joined #lisp 2018-10-03T18:00:03Z maximjaffe joined #lisp 2018-10-03T18:02:06Z vtomole quit (Quit: Page closed) 2018-10-03T18:02:16Z quipa_ quit (Ping timeout: 246 seconds) 2018-10-03T18:03:53Z vlatkoB quit (Remote host closed the connection) 2018-10-03T18:04:25Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-03T18:04:57Z shrdlu68 joined #lisp 2018-10-03T18:12:39Z Lycurgus joined #lisp 2018-10-03T18:13:44Z zxcvz quit (Quit: zxcvz) 2018-10-03T18:13:59Z zxcvz joined #lisp 2018-10-03T18:15:31Z zxcvz quit (Client Quit) 2018-10-03T18:18:59Z zxcvz joined #lisp 2018-10-03T18:21:32Z FreeBirdLjj joined #lisp 2018-10-03T18:25:49Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-10-03T18:26:18Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T18:27:25Z sauvin quit (Remote host closed the connection) 2018-10-03T18:38:11Z Necktwi quit (Ping timeout: 252 seconds) 2018-10-03T18:39:20Z nowhere_man quit (Ping timeout: 272 seconds) 2018-10-03T18:40:42Z metallicus joined #lisp 2018-10-03T18:42:36Z dieggsy joined #lisp 2018-10-03T18:42:36Z beach quit (Ping timeout: 252 seconds) 2018-10-03T18:47:51Z robotoad quit (Quit: robotoad) 2018-10-03T18:48:31Z pjb joined #lisp 2018-10-03T18:48:36Z kajo joined #lisp 2018-10-03T18:51:19Z angavrilov quit (Remote host closed the connection) 2018-10-03T18:52:00Z smaster joined #lisp 2018-10-03T18:55:33Z orivej joined #lisp 2018-10-03T19:04:47Z meepdeew joined #lisp 2018-10-03T19:07:25Z soeye_ left #lisp 2018-10-03T19:07:59Z doesntthiswork is now known as doesthiswork 2018-10-03T19:09:17Z smaster quit (Ping timeout: 252 seconds) 2018-10-03T19:11:08Z doesthiswork quit (Remote host closed the connection) 2018-10-03T19:15:20Z doesthiswork joined #lisp 2018-10-03T19:16:26Z orivej quit (Ping timeout: 260 seconds) 2018-10-03T19:17:42Z FreeBirdLjj joined #lisp 2018-10-03T19:22:12Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T19:25:21Z iomonad quit (Ping timeout: 244 seconds) 2018-10-03T19:28:22Z meepdeew quit (Remote host closed the connection) 2018-10-03T19:34:09Z meepdeew joined #lisp 2018-10-03T19:34:58Z smaster joined #lisp 2018-10-03T19:35:53Z Roy_Fokker joined #lisp 2018-10-03T19:38:16Z X-Scale quit (Ping timeout: 244 seconds) 2018-10-03T19:38:55Z iomonad joined #lisp 2018-10-03T19:39:30Z meepdeew quit (Ping timeout: 272 seconds) 2018-10-03T19:40:53Z lavaflow quit (Ping timeout: 245 seconds) 2018-10-03T19:45:15Z X-Scale joined #lisp 2018-10-03T19:47:26Z lavaflow joined #lisp 2018-10-03T19:50:54Z nowhere_man joined #lisp 2018-10-03T19:54:43Z shifty joined #lisp 2018-10-03T19:57:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-10-03T19:58:47Z shka_ quit (Ping timeout: 252 seconds) 2018-10-03T20:00:56Z frodef joined #lisp 2018-10-03T20:01:00Z maximjaffe quit (Ping timeout: 244 seconds) 2018-10-03T20:03:28Z warweasle quit (Quit: FREEE!!!!!!!!!!!!!) 2018-10-03T20:18:22Z orivej joined #lisp 2018-10-03T20:20:54Z Selwyn joined #lisp 2018-10-03T20:21:10Z roshanavand joined #lisp 2018-10-03T20:21:43Z shrdlu68 quit (Quit: WeeChat 2.0.1) 2018-10-03T20:25:15Z mkolenda quit (Remote host closed the connection) 2018-10-03T20:26:03Z mkolenda joined #lisp 2018-10-03T20:26:45Z trittweiler quit (Ping timeout: 252 seconds) 2018-10-03T20:30:08Z razzy` joined #lisp 2018-10-03T20:30:17Z razzy` quit (Remote host closed the connection) 2018-10-03T20:31:05Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-03T20:31:36Z kajo joined #lisp 2018-10-03T20:32:31Z zxcvz quit (Quit: Leaving) 2018-10-03T20:34:20Z Necktwi joined #lisp 2018-10-03T20:34:28Z jkordani_: looking for an article similar to https://jlongster.com/Lisp--It-s-Not-About-Macros,-It-s-About-Read but where the author walked through this in python (and C I think) for reference. 2018-10-03T20:34:49Z jkordani_: I was thinking it was on the malisper.me blog but that's harder to browse 2018-10-03T20:37:57Z Rawriful joined #lisp 2018-10-03T20:39:16Z Necktwi quit (Ping timeout: 260 seconds) 2018-10-03T20:40:59Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-03T20:41:25Z trittweiler joined #lisp 2018-10-03T20:41:41Z kslt1 joined #lisp 2018-10-03T20:41:50Z robotoad joined #lisp 2018-10-03T20:42:30Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-03T20:46:43Z Lycurgus quit (Quit: Exeunt) 2018-10-03T20:49:03Z smaster quit (Ping timeout: 244 seconds) 2018-10-03T20:56:08Z dmiles quit (Ping timeout: 272 seconds) 2018-10-03T20:59:34Z foom2 quit (Ping timeout: 240 seconds) 2018-10-03T20:59:47Z sjl quit (Quit: WeeChat 2.3-dev) 2018-10-03T21:02:12Z meepdeew joined #lisp 2018-10-03T21:04:56Z kslt1 quit (Ping timeout: 260 seconds) 2018-10-03T21:06:26Z meepdeew quit (Ping timeout: 252 seconds) 2018-10-03T21:10:12Z kslt1 joined #lisp 2018-10-03T21:15:12Z maximjaffe joined #lisp 2018-10-03T21:15:45Z maximjaffe quit (Remote host closed the connection) 2018-10-03T21:17:57Z doubledup quit (Remote host closed the connection) 2018-10-03T21:18:55Z FreeBirdLjj joined #lisp 2018-10-03T21:19:14Z jmercouris joined #lisp 2018-10-03T21:23:09Z foom joined #lisp 2018-10-03T21:23:24Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-03T21:28:57Z dmiles joined #lisp 2018-10-03T21:29:05Z jmercouris left #lisp 2018-10-03T21:44:01Z LiamH quit (Quit: Leaving.) 2018-10-03T21:44:11Z Bike quit (Ping timeout: 256 seconds) 2018-10-03T21:55:06Z foom quit (Ping timeout: 260 seconds) 2018-10-03T21:56:54Z Rawriful quit (Quit: WeeChat 1.4) 2018-10-03T22:01:20Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-03T22:01:55Z kyby64 left #lisp 2018-10-03T22:03:50Z mkolenda joined #lisp 2018-10-03T22:06:20Z kslt1 quit (Remote host closed the connection) 2018-10-03T22:07:21Z [X-Scale] joined #lisp 2018-10-03T22:07:51Z X-Scale quit (Ping timeout: 268 seconds) 2018-10-03T22:08:02Z [X-Scale] is now known as X-Scale 2018-10-03T22:08:19Z w37 quit (Ping timeout: 246 seconds) 2018-10-03T22:09:45Z rumbler31 joined #lisp 2018-10-03T22:11:11Z rumbler31 quit (Remote host closed the connection) 2018-10-03T22:11:21Z sjl joined #lisp 2018-10-03T22:11:24Z robotoad_ joined #lisp 2018-10-03T22:12:36Z robotoad quit (Ping timeout: 260 seconds) 2018-10-03T22:15:35Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-03T22:16:35Z metallicus_ joined #lisp 2018-10-03T22:18:57Z metallicus quit (Ping timeout: 252 seconds) 2018-10-03T22:19:04Z nowhere_man joined #lisp 2018-10-03T22:22:20Z frodef quit (Ping timeout: 252 seconds) 2018-10-03T22:24:27Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-03T22:26:04Z varjag quit (Ping timeout: 240 seconds) 2018-10-03T22:30:43Z djh quit (Ping timeout: 246 seconds) 2018-10-03T22:31:52Z xrash joined #lisp 2018-10-03T22:35:45Z smaster joined #lisp 2018-10-03T22:38:49Z FreeBirdLjj joined #lisp 2018-10-03T22:42:24Z smaster quit (Ping timeout: 252 seconds) 2018-10-03T22:43:19Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2018-10-03T22:50:43Z quazimodo joined #lisp 2018-10-03T22:54:51Z metallicus_ quit (Remote host closed the connection) 2018-10-03T23:01:38Z orivej quit (Ping timeout: 252 seconds) 2018-10-03T23:02:24Z robotoad_ quit (Quit: robotoad_) 2018-10-03T23:02:58Z makomo quit (Ping timeout: 245 seconds) 2018-10-03T23:04:03Z Selwyn quit (Ping timeout: 252 seconds) 2018-10-03T23:07:46Z mange joined #lisp 2018-10-03T23:09:21Z myrmidon quit (Quit: Leaving) 2018-10-03T23:10:37Z cods quit (Ping timeout: 244 seconds) 2018-10-03T23:13:59Z r1b quit (Quit: r1b) 2018-10-03T23:16:02Z rumbler31 joined #lisp 2018-10-03T23:18:54Z fouric: is there an object system for CL that allows me to define traits/interfaces on classes/objects, or should i just use CLOS+multiple inheritance? 2018-10-03T23:19:01Z fouric: (or roll my own) 2018-10-03T23:23:09Z p_l: CLOS with multiple inheritance is easiest, you can make your own rules about it with full MOP and custom metaclass 2018-10-03T23:24:46Z pjb: There are alternative OO systems. Also, it's easy to implement one, either based on CLOS, or without CLOS. 2018-10-03T23:24:59Z pjb: There's for example KR, used in Garnet. 2018-10-03T23:26:11Z pjb: Various kinds of "interfaces" have been defined in various systems (eg. IIRC, asdf and slime/swank, and others). 2018-10-03T23:26:47Z sjl quit (Ping timeout: 268 seconds) 2018-10-03T23:29:43Z Bike joined #lisp 2018-10-03T23:32:18Z fouric: pjb: do you have any suggestions for an OO system that implements this feature? 2018-10-03T23:32:26Z edgar-rft quit (Ping timeout: 252 seconds) 2018-10-03T23:33:23Z dale quit (Quit: dale) 2018-10-03T23:33:56Z themsay joined #lisp 2018-10-03T23:34:50Z fouric: I know that I could implement my own, but I would rather use an already-existing solution because (1) I want to reduce ecosystem fragmentation (2) I'll probably implement part of it wrong or omit features (3) I'm more interested in building a particular application with the OO system than the system itself and (4) I'm lazy :P 2018-10-03T23:35:06Z Kalten joined #lisp 2018-10-03T23:35:07Z Essadon quit (Quit: Qutting) 2018-10-03T23:36:26Z fouric: https://www.cliki.net/KR 2018-10-03T23:36:30Z fouric: aha 2018-10-03T23:36:43Z pjb: I don't have in mind precise information on systems implementing interfaces. IIRC, Pascal Costanza had something like this. In CLOS, interfaces are basically just a set of defgeneric… 2018-10-03T23:37:04Z pjb: KR is just an (interesting) alternative OO system, not specifically with interfaces. 2018-10-03T23:37:35Z pjb: Cells is similar to KR, IIRC. 2018-10-03T23:38:24Z Bike: what do you mean by traits? 2018-10-03T23:39:22Z pjb: It may be something similar to Costanza's contexts? 2018-10-03T23:39:53Z pjb: ContextL or AspectL https://github.com/pcostanza 2018-10-03T23:40:42Z themsay quit (Ping timeout: 252 seconds) 2018-10-03T23:41:19Z themsay joined #lisp 2018-10-03T23:41:46Z siraben joined #lisp 2018-10-03T23:41:50Z Kalten left #lisp 2018-10-03T23:42:18Z sjl joined #lisp 2018-10-03T23:42:29Z rumbler31: fouric: for my edification, what exactly do you mean 2018-10-03T23:47:41Z Kaisyu joined #lisp 2018-10-03T23:48:59Z rumbler31: jkordani: this? http://stevelosh.com/blog/2016/06/symbolic-computation/ 2018-10-03T23:50:08Z sjl quit (Quit: WeeChat 2.3-dev) 2018-10-03T23:56:56Z themsay quit (Ping timeout: 252 seconds) 2018-10-03T23:57:23Z themsay joined #lisp 2018-10-04T00:01:56Z themsay quit (Ping timeout: 268 seconds) 2018-10-04T00:06:19Z sjl joined #lisp 2018-10-04T00:06:53Z themsay joined #lisp 2018-10-04T00:09:06Z FreeBirdLjj joined #lisp 2018-10-04T00:12:35Z p_l: traits typically is one of multiple mechanisms to get around single inheritance ;) 2018-10-04T00:13:26Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-04T00:13:58Z mrblack joined #lisp 2018-10-04T00:14:17Z groovy2shoes quit (Excess Flood) 2018-10-04T00:14:39Z groovy2shoes joined #lisp 2018-10-04T00:14:57Z mrblack: I'm having trouble with slime (it was working before :/). I got the message: "The function COMMON-LISP-USER::*2 is undefined. [Condition of type UNDEFINED-FUNCTION]". 2018-10-04T00:15:20Z Bike: did you write (*2 something) instead of (* 2 something)? 2018-10-04T00:15:40Z mrblack: let me see 2018-10-04T00:15:58Z mrblack: oh yes I did. 2018-10-04T00:15:59Z mrblack: sorry 2018-10-04T00:20:21Z pjb quit (Ping timeout: 260 seconds) 2018-10-04T00:21:36Z sjl quit (Ping timeout: 252 seconds) 2018-10-04T00:25:43Z mason left #lisp 2018-10-04T00:26:07Z roshanavand quit (Quit: leaving) 2018-10-04T00:28:52Z FreeBirdLjj joined #lisp 2018-10-04T00:33:29Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-04T00:37:16Z sjl joined #lisp 2018-10-04T00:40:04Z rumbler31 quit (Remote host closed the connection) 2018-10-04T00:48:13Z anewuser joined #lisp 2018-10-04T00:53:13Z cydork joined #lisp 2018-10-04T00:54:00Z ym quit (Remote host closed the connection) 2018-10-04T00:55:07Z pjb joined #lisp 2018-10-04T01:00:35Z FreeBirdLjj joined #lisp 2018-10-04T01:05:27Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-10-04T01:10:21Z FreeBirdLjj joined #lisp 2018-10-04T01:14:36Z jinkies joined #lisp 2018-10-04T01:14:44Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-04T01:19:49Z jasom: fouric: what do you want to do with traits that you can't do with defgeneric? 2018-10-04T01:22:10Z jasom: fouric: traits primarily seem to be a way to make the type system happy, and lisp very nearly has no type system. 2018-10-04T01:27:28Z jasom: hmm, traits apparently started in Self, which is untyped, so they are about more than the typesystem 2018-10-04T01:28:36Z pjb quit (Ping timeout: 260 seconds) 2018-10-04T01:29:00Z ealfonso joined #lisp 2018-10-04T01:33:45Z jasom: hmm reading up on how they work in self, they sound like multiple-inheritence, minus slots, minus automatic conflict resolution 2018-10-04T01:34:00Z smaster joined #lisp 2018-10-04T01:38:06Z jasom: Without MOP, I cant think of a way of doing the last item, but just defining a classs with no slots should be sufficient for the first two. 2018-10-04T01:41:52Z beach joined #lisp 2018-10-04T01:46:16Z jasom: if you prefixed each trait method with the name of the trait (or if you put each trait's methods in a different package) then AFAICT you have everything that self traits do just with bog-standard CLOS 2018-10-04T01:52:02Z p_l: jasom: using MOP you can override inheritance and conflict resolution 2018-10-04T01:52:31Z p_l: an example in The Art of Meta-Object Protocol describes implementing different resolution systems 2018-10-04T01:58:13Z smokeink joined #lisp 2018-10-04T02:02:43Z esrse joined #lisp 2018-10-04T02:08:51Z sjl quit (Ping timeout: 252 seconds) 2018-10-04T02:12:56Z robotoad joined #lisp 2018-10-04T02:13:03Z lavaflow quit (Read error: Connection reset by peer) 2018-10-04T02:14:20Z lavaflow joined #lisp 2018-10-04T02:22:34Z varjag joined #lisp 2018-10-04T02:23:29Z dale joined #lisp 2018-10-04T02:26:23Z aeth: jasom: I'm not sure I agree with you about Lisp's type system. Lisp has one of the fanciest type systems. 2018-10-04T02:26:37Z aeth: It's just that most things are T or inferred. 2018-10-04T02:26:47Z varjag quit (Ping timeout: 252 seconds) 2018-10-04T02:28:01Z Bike: is what you just said actually relevant to the particular question of traits in object systems 2018-10-04T02:31:32Z no-defun-allowed: traits just sound like a complicated defgeneric, i agree with jasom 2018-10-04T02:34:47Z fouric: jasom: I want to be able to add slots to a class with a trait. 2018-10-04T02:35:17Z Necktwi joined #lisp 2018-10-04T02:35:42Z fouric: I thought that traits did that, but I guess that I was wrong? 2018-10-04T02:36:25Z fouric: What I want is the ability to add slots to an object and then define methods that only operate on instances of the class with those slots. 2018-10-04T02:38:30Z quazimod1 joined #lisp 2018-10-04T02:38:33Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-04T02:39:44Z Necktwi quit (Ping timeout: 252 seconds) 2018-10-04T02:40:33Z rumbler31 joined #lisp 2018-10-04T02:45:42Z rumbler31 quit (Ping timeout: 252 seconds) 2018-10-04T02:49:56Z linack joined #lisp 2018-10-04T02:55:13Z meepdeew joined #lisp 2018-10-04T03:00:01Z meepdeew quit (Ping timeout: 244 seconds) 2018-10-04T03:00:29Z dale quit (Quit: dale) 2018-10-04T03:06:45Z Necktwi joined #lisp 2018-10-04T03:07:50Z Oladon joined #lisp 2018-10-04T03:11:42Z Necktwi quit (Ping timeout: 272 seconds) 2018-10-04T03:13:24Z Necktwi joined #lisp 2018-10-04T03:13:38Z beach: Good morning everyone! 2018-10-04T03:13:53Z Oladon: Morning, beach! 2018-10-04T03:24:49Z blt quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-10-04T03:25:06Z cydork quit (Ping timeout: 252 seconds) 2018-10-04T03:25:20Z pjb joined #lisp 2018-10-04T03:27:00Z no-defun-allowed: morning beach 2018-10-04T03:27:38Z dddddd quit (Remote host closed the connection) 2018-10-04T03:37:10Z Oladon: Anyone know of any forum libraries in Lisp? 2018-10-04T03:37:15Z jinkies: morning, beach 2018-10-04T03:37:46Z no-defun-allowed: i wrote a forum but it's not very good 2018-10-04T03:38:02Z Oladon: Any interest in continuing/extending it? 2018-10-04T03:38:19Z Oladon: I'm kinda surprised that I'm not finding any at all 2018-10-04T03:38:23Z no-defun-allowed: hmm it's got a niche but i was just wondering how fast i was with slime 2018-10-04T03:38:50Z no-defun-allowed: it's got random names which are stored in hunchentoot ids and nested comments 2018-10-04T03:39:04Z no-defun-allowed: *hunchentoot cookies 2018-10-04T03:40:09Z rumbler31 joined #lisp 2018-10-04T03:40:53Z rumbler31 quit (Remote host closed the connection) 2018-10-04T03:41:20Z jack_rabbit quit (Ping timeout: 252 seconds) 2018-10-04T03:45:21Z Oladon: no-defun-allowed: well, give it a thunk or two... I think our community would be enriched thereby. 2018-10-04T03:45:32Z no-defun-allowed: i wrote it in an hour 20 minutes :p 2018-10-04T03:45:42Z Oladon: Oh, heh 2018-10-04T03:45:54Z no-defun-allowed: writing a forum in netfarm would be more exciting tbh 2018-10-04T03:46:11Z cydork joined #lisp 2018-10-04T03:46:20Z Oladon: As in, Python? 2018-10-04T03:46:32Z no-defun-allowed: after i get the MOP documented and implemented i'll write a forum backend 2018-10-04T03:46:57Z no-defun-allowed: oh no, no python here 2018-10-04T03:47:06Z Oladon: Whew. What's netfarm? 2018-10-04T03:47:24Z no-defun-allowed: a kind of distributed data handling thing 2018-10-04T03:47:58Z Oladon: Something you're doing? 2018-10-04T03:48:13Z no-defun-allowed: yes, some friends and i are writing and designing it 2018-10-04T03:48:20Z Oladon: cool 2018-10-04T03:48:31Z no-defun-allowed: thanks 2018-10-04T03:48:50Z no-defun-allowed: i have some of it on gitlab.com/netfarm.gq but we're nowhere near done 2018-10-04T03:49:59Z Oladon: Looks neat. 2018-10-04T03:50:06Z Oladon: I'd better hit the sack -- morning comes early these days. 2018-10-04T03:50:08Z Oladon: G'night all! 2018-10-04T03:51:04Z no-defun-allowed: nighty night 2018-10-04T03:55:36Z shifty quit (Ping timeout: 260 seconds) 2018-10-04T03:57:56Z smaster quit (Ping timeout: 272 seconds) 2018-10-04T03:58:31Z pjb quit (Ping timeout: 260 seconds) 2018-10-04T04:04:54Z siraben quit (Ping timeout: 268 seconds) 2018-10-04T04:05:48Z LdBeth: GG 2018-10-04T04:06:00Z no-defun-allowed: hi LdBeth 2018-10-04T04:06:30Z LdBeth: good eve 2018-10-04T04:11:31Z smokeink quit (Remote host closed the connection) 2018-10-04T04:14:07Z d4ryus1 joined #lisp 2018-10-04T04:14:43Z jkordani joined #lisp 2018-10-04T04:14:50Z d4ryus quit (Ping timeout: 252 seconds) 2018-10-04T04:15:19Z jack_rabbit joined #lisp 2018-10-04T04:15:33Z blt joined #lisp 2018-10-04T04:16:53Z smokeink joined #lisp 2018-10-04T04:18:11Z jkordani_ quit (Ping timeout: 252 seconds) 2018-10-04T04:18:58Z igemnace joined #lisp 2018-10-04T04:19:56Z shka_ joined #lisp 2018-10-04T04:25:04Z pjb joined #lisp 2018-10-04T04:28:59Z Bike quit (Quit: Lost terminal) 2018-10-04T04:30:08Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-04T04:30:38Z ealfonso left #lisp 2018-10-04T04:32:34Z jack_rabbit quit (Ping timeout: 240 seconds) 2018-10-04T04:34:38Z jack_rabbit joined #lisp 2018-10-04T04:35:02Z fiddlerwoaroof joined #lisp 2018-10-04T04:35:47Z Copenhagen_Bram joined #lisp 2018-10-04T04:36:25Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-04T04:42:00Z pjb quit (Ping timeout: 252 seconds) 2018-10-04T04:43:13Z Copenhagen_Bram joined #lisp 2018-10-04T04:43:38Z cpape quit (Ping timeout: 250 seconds) 2018-10-04T04:51:10Z Oladon quit (Quit: Leaving.) 2018-10-04T04:52:02Z anewuser quit (Quit: anewuser) 2018-10-04T05:07:10Z smaster joined #lisp 2018-10-04T05:09:03Z quazimod1 quit (Ping timeout: 252 seconds) 2018-10-04T05:10:02Z quazimodo joined #lisp 2018-10-04T05:10:36Z mrblack: how can I get syntax for common lisp on Emacs? lisp-mode doesn't seem to do it 2018-10-04T05:12:32Z beach: mrblack: Use SLIME. 2018-10-04T05:13:01Z beach: You can install SLIME from Quicklisp. There are instructions on the Quicklisp site. 2018-10-04T05:14:38Z mrblack: beach, I have Slime, it's enabled in the buffer. 2018-10-04T05:14:50Z beach: Then you should be fine. 2018-10-04T05:14:57Z beach: what appears to be the problem? 2018-10-04T05:15:08Z mrblack: beach, there's not syntax highliting 2018-10-04T05:15:35Z beach: Hold on... 2018-10-04T05:16:00Z sauvin joined #lisp 2018-10-04T05:16:08Z beach: mrblack: What does your mode line say? 2018-10-04T05:16:20Z beach: It should say ... (Lisp ...) 2018-10-04T05:16:22Z beach: Does it? 2018-10-04T05:16:36Z mrblack: my mode line does not show mode 2018-10-04T05:17:11Z beach: Did you start SLIME with M-x slime? 2018-10-04T05:17:51Z beach: Actually, you get syntax highlighting without starting SLIME. 2018-10-04T05:18:06Z beach: How did you create your buffer? 2018-10-04T05:19:07Z mrblack: I created a file with "file.lisp", than opened it with "emacsclient -n file.lisp" 2018-10-04T05:19:18Z frgo quit (Remote host closed the connection) 2018-10-04T05:19:36Z beach: What happens if you type M-x lisp-mode in the buffer? 2018-10-04T05:19:55Z frgo joined #lisp 2018-10-04T05:20:01Z makomo joined #lisp 2018-10-04T05:20:01Z mrblack: nothing happnes 2018-10-04T05:20:03Z mrblack: happens 2018-10-04T05:20:24Z beach: What if you don't do it with emacsclient, just emacs. Then what happens? 2018-10-04T05:20:58Z mrblack: beach, still no syntax highlighting 2018-10-04T05:21:38Z beach: It works here. 2018-10-04T05:21:49Z beach: What version of Emacs do you have? 2018-10-04T05:21:52Z mrblack: beach, this is my slime configuration: https://hastebin.com/hilominoga.sql 2018-10-04T05:22:05Z mrblack: I have GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.31) of 2018-08-16 2018-10-04T05:22:22Z beach: Your SLIME configuration should not matter. You should get syntax highlighting without it. 2018-10-04T05:22:39Z mrblack: weird 2018-10-04T05:23:50Z beach: Try starting your emacs with emacs -q, then do M-x server-start. Then, do your emacsclient ... 2018-10-04T05:24:06Z beach: Just to see whether you have something strange in your .emacs file 2018-10-04T05:24:27Z frgo quit (Ping timeout: 252 seconds) 2018-10-04T05:24:57Z beach: ... or just emacs -q stuff.lisp 2018-10-04T05:25:01Z beach: That's even better. 2018-10-04T05:25:09Z beach: You should get syntax highlighting. 2018-10-04T05:26:07Z beach: If not, there is something seriously wrong with your Emacs installation. 2018-10-04T05:28:25Z beach: mrblack: Are you still here? 2018-10-04T05:28:29Z mrblack: I tried with a larger file and there is highlighting, but it didn't show in the short example I was trying out. 2018-10-04T05:28:36Z mrblack: Sorry to bother 2018-10-04T05:28:56Z beach: Did you try emacs -q file.lisp? 2018-10-04T05:29:14Z mrblack: No, it's working without the need of this option 2018-10-04T05:29:19Z no-defun-allowed: mrblack: you want common-lisp-mode for slime to activate properly btw 2018-10-04T05:29:28Z mrblack: I found weird that "setf" didn't have highlighting 2018-10-04T05:29:50Z beach: mrblack: So it work, and it was just that in your file.lisp you had nothing to be highlighted? 2018-10-04T05:29:58Z no-defun-allowed: yes, which i do believe is fixed with c-l-m 2018-10-04T05:30:18Z mrblack: beach, precisely. 2018-10-04T05:30:21Z beach: no-defun-allowed: This is a more fundamental problem if Lisp does not show up in the mode line. 2018-10-04T05:30:27Z beach: mrblack: Still strange that you don't have Lisp in the mode line. 2018-10-04T05:30:54Z mrblack: beach, I don't have any modes in the mode line, I configured it that way 2018-10-04T05:30:59Z beach: Oh. 2018-10-04T05:31:03Z beach: No wonder. 2018-10-04T05:31:07Z beach: Well, off you go then. 2018-10-04T05:31:18Z mrblack: thanks... sorry for wasting your time :P 2018-10-04T05:31:30Z beach: It's fine. I needed a break anyway. 2018-10-04T05:31:33Z mrblack: hahah 2018-10-04T05:31:33Z mrblack: okay! 2018-10-04T05:31:40Z no-defun-allowed: https://emacs-doctor.com/emacs-strip-tease.html​ 2018-10-04T05:32:15Z mrblack: no-defun-allowed, 404 2018-10-04T05:32:38Z no-defun-allowed: is there any percent-sign garbage at the end of the link ? 2018-10-04T05:32:57Z no-defun-allowed: something's very broken in riot and i hate it but bleh everyone else uses it .-. 2018-10-04T05:33:04Z mrblack: no-defun-allowed, no 2018-10-04T05:33:18Z no-defun-allowed: very odd 2018-10-04T05:33:30Z no-defun-allowed: an extra + at the end? 2018-10-04T05:33:53Z no-defun-allowed: this needs further debugging which i can't do right now 2018-10-04T05:34:25Z linack quit (Quit: Leaving) 2018-10-04T05:34:27Z mrblack: is it possible to get the syntax highlighting in the Slime repl buffer? 2018-10-04T05:34:59Z mrblack: nevermind 2018-10-04T05:35:01Z mrblack: it is 2018-10-04T05:35:03Z mrblack: :P 2018-10-04T05:37:39Z drot quit (Ping timeout: 252 seconds) 2018-10-04T05:42:58Z pjb joined #lisp 2018-10-04T05:44:33Z vlatkoB joined #lisp 2018-10-04T05:45:03Z igemnace quit (Quit: WeeChat 2.2) 2018-10-04T05:46:38Z igemnace joined #lisp 2018-10-04T05:47:54Z pjb quit (Ping timeout: 264 seconds) 2018-10-04T05:49:14Z shifty joined #lisp 2018-10-04T05:50:19Z beach: I am having a problem that I don't understand with the MOP on SBCL. I am doing (defclass foo (closer-mop:funcallable-standard-class) ()) then (make-instance 'foo) and I get an error that f-s-c was specified as the superclass of the class I just created, but the metaclasses f-s-c and FOO are incompatible. 2018-10-04T05:50:45Z beach: I am sure there is some interesting method I should define on VALIDATE-SUPERCLASS, but I can't figure out which one. 2018-10-04T05:52:00Z beach: Oops, that funcallable-standard-OBJECT was specified as... 2018-10-04T05:52:02Z jackdaniel: beach: you may need to define method validate-superclass 2018-10-04T05:52:17Z beach: I am sure there is some interesting method I should define on VALIDATE-SUPERCLASS, but I can't figure out which one. 2018-10-04T05:52:20Z jackdaniel: on funcallable-standard-class and standard-class 2018-10-04T05:52:32Z beach: Oh? Hmm. 2018-10-04T05:52:51Z fiddlerwoaroof: Are you trying to define a funcallable object, or a metaclass? 2018-10-04T05:52:52Z jackdaniel: (defmethod c2mop:validate-superclass ((c standard-funcallable-class) (c2 standard-class)) t) 2018-10-04T05:52:56Z jackdaniel: that should do the trick 2018-10-04T05:53:02Z beach: fiddlerwoaroof: a metaclass. 2018-10-04T05:53:14Z beach: jackdaniel: Can you explain that? 2018-10-04T05:53:17Z beach: to me? 2018-10-04T05:53:48Z jackdaniel: I may try 2018-10-04T05:54:24Z jackdaniel: make-instance is for standard-class 2018-10-04T05:54:36Z beach: ? 2018-10-04T05:54:51Z beach: I am specifically making an instance of a subclass of f-s-c. 2018-10-04T05:54:54Z jackdaniel: so if you try to make instance of metaclass which is not compatible with it, implementation may conclude that it is not necessarily OK 2018-10-04T05:55:37Z jackdaniel: hm, but there is make-instance created especially for funcallable-standard-class 2018-10-04T05:55:41Z jackdaniel: acording to MOP 2018-10-04T05:55:58Z beach: Why do you say that make-instance is for standard-class? 2018-10-04T05:56:11Z beach: make-instance makes an instance of whatever I tell it to. 2018-10-04T05:56:51Z beach: By the way, I tried your suggestion and it didn't help. 2018-10-04T05:57:26Z jackdaniel: http://metamodular.com/CLOS-MOP/make-instance.html according to his page make-instance is specialized only on standard-class and funcallable-standard-class, that's what I meant 2018-10-04T05:58:06Z beach: OK, but since FOO is a subclass of funcallable-standard-class, that should work. 2018-10-04T05:58:27Z jackdaniel: yes, that prompted "< jackdaniel> hm, but there is make-instance created especially for funcallable-standard-class" 2018-10-04T05:59:16Z beach: I can do (make-instance 'closer-mop:funcallable-standard-class) no problem. 2018-10-04T05:59:37Z jackdaniel: (defclass bar () () (:metaclass c2mop:funcallable-standard-class)) 2018-10-04T05:59:40Z jackdaniel: define class this way 2018-10-04T06:00:09Z jackdaniel: if you had used another metaclass (i.e created by you not inheriting from standard-class nor funcallable-standard-class) then you'd have to define validate-superclass 2018-10-04T06:00:12Z beach: But then instances of BAR are not classes. 2018-10-04T06:00:30Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-04T06:00:46Z beach: I guess I should state the problem differently: Tell me how I can make instances of a subclass of closer-mop:funcallable-standard-class! 2018-10-04T06:03:14Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-04T06:04:38Z beach: Got it. 2018-10-04T06:05:06Z beach: The VALIDATE-SUPERCLASS method should be between FOO and F-S-C. 2018-10-04T06:05:15Z beach: I could not have figured that out from the error message. 2018-10-04T06:08:04Z Copenhagen_Bram joined #lisp 2018-10-04T06:09:12Z beach: In hindsight, it makes sense. 2018-10-04T06:10:19Z nowhere_man joined #lisp 2018-10-04T06:13:23Z acolarh quit (Ping timeout: 250 seconds) 2018-10-04T06:15:08Z drot joined #lisp 2018-10-04T06:15:10Z jgoss joined #lisp 2018-10-04T06:16:09Z space_otter joined #lisp 2018-10-04T06:20:17Z shka_ quit (Ping timeout: 252 seconds) 2018-10-04T06:22:54Z varjag joined #lisp 2018-10-04T06:26:49Z Jesin quit (Ping timeout: 250 seconds) 2018-10-04T06:30:13Z Jesin joined #lisp 2018-10-04T06:31:50Z JohnMS_WORK joined #lisp 2018-10-04T06:32:23Z [X-Scale] joined #lisp 2018-10-04T06:33:26Z megalography joined #lisp 2018-10-04T06:35:00Z X-Scale quit (Ping timeout: 272 seconds) 2018-10-04T06:35:01Z [X-Scale] is now known as X-Scale 2018-10-04T06:36:36Z scymtym quit (Ping timeout: 268 seconds) 2018-10-04T06:37:34Z flamebeard joined #lisp 2018-10-04T06:38:14Z smokeink quit (Remote host closed the connection) 2018-10-04T06:38:54Z trittweiler quit (Ping timeout: 252 seconds) 2018-10-04T06:39:31Z trittweiler joined #lisp 2018-10-04T06:41:57Z jeosol quit (Ping timeout: 256 seconds) 2018-10-04T06:42:09Z varjag quit (Ping timeout: 268 seconds) 2018-10-04T06:45:18Z jgoss quit (Ping timeout: 252 seconds) 2018-10-04T06:46:56Z trittweiler quit (Ping timeout: 252 seconds) 2018-10-04T06:47:28Z trittweiler joined #lisp 2018-10-04T06:54:25Z JohnMS joined #lisp 2018-10-04T06:57:18Z JohnMS_WORK quit (Ping timeout: 252 seconds) 2018-10-04T06:57:23Z smaster quit (Ping timeout: 252 seconds) 2018-10-04T07:00:20Z jasom: fouric: traits (at least as they were used in self) do exactly the opposite of that; they add methods but do not add slots. What you are describing sounds more like a mixin, or just plain old multiple inheritence 2018-10-04T07:02:48Z Cymew joined #lisp 2018-10-04T07:02:48Z Cymew quit (Remote host closed the connection) 2018-10-04T07:06:56Z jinkies quit (Ping timeout: 260 seconds) 2018-10-04T07:06:58Z domovod quit (Quit: WeeChat 2.2) 2018-10-04T07:09:13Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-04T07:10:20Z shka_ joined #lisp 2018-10-04T07:12:18Z fiddlerwoaroof joined #lisp 2018-10-04T07:13:48Z lnostdal quit (Ping timeout: 252 seconds) 2018-10-04T07:15:03Z xificurC joined #lisp 2018-10-04T07:15:44Z shka_: good morning 2018-10-04T07:16:43Z xificurC: can anyone explain why (uiop:slurp-stream-string *standard-input*) doesn't work as expected when run in sbcl --eval? I get a CLOSED-STREAM-ERROR 2018-10-04T07:17:31Z xificurC: ddd | sbcl --noinform --eval '(progn (load :asdf) (format t "~S" (uiop:slurp-stream-string *standard-input*))' 2018-10-04T07:17:45Z xificurC: echo ddd* 2018-10-04T07:18:48Z xificurC: and require instead of load ofc 2018-10-04T07:19:13Z xrash quit (Ping timeout: 246 seconds) 2018-10-04T07:21:34Z varjag joined #lisp 2018-10-04T07:22:16Z xrash joined #lisp 2018-10-04T07:30:46Z ggole joined #lisp 2018-10-04T07:33:32Z djh joined #lisp 2018-10-04T07:33:51Z robotoad quit (Quit: robotoad) 2018-10-04T07:35:28Z drot quit (Ping timeout: 245 seconds) 2018-10-04T07:36:10Z elderK joined #lisp 2018-10-04T07:42:30Z JohnMS_WORK joined #lisp 2018-10-04T07:45:14Z JohnMS quit (Ping timeout: 252 seconds) 2018-10-04T07:48:11Z acolarh joined #lisp 2018-10-04T07:50:50Z scymtym joined #lisp 2018-10-04T07:51:52Z no-defun-allowed: anyways i have the code uploaded 2018-10-04T07:51:54Z no-defun-allowed: minion: tell Oladon i have put the code up on https://gitlab.com/theemacsshibe/mboard 2018-10-04T07:51:54Z minion: Oladon: watch out, you'll make krystof angry 2018-10-04T07:52:15Z no-defun-allowed: alright smartass 2018-10-04T07:52:48Z no-defun-allowed: there isn't even a fucking setup for CL continuous integration and gitlab turns it on anyway 2018-10-04T07:53:01Z beach: minion: memo for no-defun-allowed: this is how it is done. 2018-10-04T07:53:01Z minion: Remembered. I'll tell no-defun-allowed when he/she/it next speaks. 2018-10-04T07:53:18Z no-defun-allowed: i see 2018-10-04T07:53:18Z minion: no-defun-allowed, memo from beach: this is how it is done. 2018-10-04T07:53:20Z Shinmera: Colleen: notify no-defun-allowed Or like this 2018-10-04T07:53:20Z Colleen: Shinmera: Got it. I'll let no-defun-allowed know as soon as possible. 2018-10-04T07:53:44Z no-defun-allowed: i'll use both just to be sure :^) 2018-10-04T07:53:45Z Colleen: no-defun-allowed: Shinmera said 24 seconds ago: Or like this 2018-10-04T07:54:21Z no-defun-allowed: i'd normally use minion but i don't want to make shinmera sad by not using colleen so 2018-10-04T07:54:30Z Shinmera: Lol I don't care 2018-10-04T07:54:44Z ogamita joined #lisp 2018-10-04T07:54:45Z Shinmera: I'm just amused by how often people forget minion's syntax 2018-10-04T07:54:58Z space_otter quit (Remote host closed the connection) 2018-10-04T07:55:02Z no-defun-allowed: colleen: notify oladon i put the code up on https://gitlab.com/theemacsshibe/mboard 2018-10-04T07:55:08Z jackdaniel: I have problems with remembering Colleen memo syntax 2018-10-04T07:55:21Z Shinmera: Not using tab completion for names? tsk tsk tsk 2018-10-04T07:55:23Z no-defun-allowed: "minion tell foo" makes most sense to me 2018-10-04T07:55:42Z Shinmera: And me not using case-insensitive comparison for names? also tsk tsk tsk 2018-10-04T07:56:15Z no-defun-allowed: does anyone know how to setup CI on gitlab at least? 2018-10-04T07:56:17Z jdz: Colleen should be offended by people misspelling its name. 2018-10-04T07:56:17Z Colleen: Unknown command. Possible matches: 8, set, say, mop, get, hello, block, time, tell, roll, 2018-10-04T07:56:57Z beach quit (Disconnected by services) 2018-10-04T07:57:01Z no-defun-allowed: Colleen: notify Oladon I put up the code on https://gitlab.com/theemacsshibe/mboard, it's very messy and bad so you get all the loose parts under WTFPL 2018-10-04T07:57:01Z Colleen: no-defun-allowed: Got it. I'll let Oladon know as soon as possible. 2018-10-04T07:57:23Z jdz: Shinmera: also, it should probably require a colon or comma after the nick to treat the line as a command. 2018-10-04T07:57:38Z beach joined #lisp 2018-10-04T07:58:15Z jdz: Or at least not complain about unknown command if the colon or comma are missing (but work as expected if it is not missing, and the command syntax is known). 2018-10-04T07:58:43Z no-defun-allowed: gitlab just turned on continuous integration and it doesn't even do anything 2018-10-04T07:58:53Z no-defun-allowed: it just sits there, finds out that i never set it up and dies 2018-10-04T07:59:36Z jdz: You probably have checked a check-box somewhere that you want CI, but have not bothered to set one up? 2018-10-04T08:00:12Z no-defun-allowed: i don't remember checking any though 2018-10-04T08:00:23Z froggey quit (Ping timeout: 252 seconds) 2018-10-04T08:00:24Z jdz: It could have been checked by default. 2018-10-04T08:00:26Z no-defun-allowed: i made the repo about ten minutes ago i'd remember 2018-10-04T08:01:02Z no-defun-allowed: but it does work so i'm happy 2018-10-04T08:01:32Z Shinmera: colleen: hello 2018-10-04T08:01:32Z Colleen: Hi! 2018-10-04T08:01:39Z Shinmera: yay, case-insensitivity 2018-10-04T08:03:14Z no-defun-allowed uploaded an image: Screenshot_2018-10-04_18-00-52.png (9KB) < https://matrix.org/_matrix/media/v1/download/matrix.org/cQxHZXLTYAohhjLIOEChdAso > 2018-10-04T08:03:19Z no-defun-allowed: rainbows would be cool i guess 2018-10-04T08:04:07Z Shinmera: jdz: It used to do that, but thet people tried invoking commands without the colon, so here we are. 2018-10-04T08:05:08Z Shinmera: I think I'll reinstate the colon though, since the new behaviour has been bothering me more than not 2018-10-04T08:08:03Z roshanavand joined #lisp 2018-10-04T08:10:50Z angavrilov joined #lisp 2018-10-04T08:12:11Z froggey joined #lisp 2018-10-04T08:12:28Z drot joined #lisp 2018-10-04T08:17:59Z mange quit (Remote host closed the connection) 2018-10-04T08:18:03Z Shinmera: Colleen should no longer respond to this now. 2018-10-04T08:20:37Z roshanavand quit (Remote host closed the connection) 2018-10-04T08:25:57Z roshanavand joined #lisp 2018-10-04T08:31:36Z no-defun-allowed: i'm up to writing about the MOP in my design guide/spec for netfarm 2018-10-04T08:32:22Z no-defun-allowed: the definition of the schema called "schema" (equivalent to standard-class i guess) is recursive cause i need a schema to parse schemas 2018-10-04T08:32:54Z no-defun-allowed: should i leave that one hard coded in or should i set that up to be an instance of a bootstrap schema? 2018-10-04T08:35:58Z beach: no-defun-allowed: I am afraid it is going to be very hard to give you advice. It is not clear to me at all what it is that you are trying to do, and even if you were to explain it, I am convinced it will take a lot of effort to actually understand it. I could be wrong of course, so please go ahead and try if you want. 2018-10-04T08:36:20Z beach: no-defun-allowed: It is not even clear that the name "MOP" is pertinent. 2018-10-04T08:36:33Z no-defun-allowed: damn 2018-10-04T08:36:43Z no-defun-allowed: never mind then, i'll think into it more 2018-10-04T08:37:55Z no-defun-allowed: i think it's a MOP since it handles classes which are ordinary objects but it doesn't go into the Art of MOP's inheritance rules and other complex subjects 2018-10-04T08:38:58Z beach: OK. 2018-10-04T08:39:29Z beach: I could pitch in some time if you want to explain it or show some documentation. 2018-10-04T08:39:34Z no-defun-allowed: you've probably got your own much more interesting and complex one to handle with sicl, so i shouldn't bug you with it 2018-10-04T08:39:39Z beach: At least I could tell you what I can understand. 2018-10-04T08:40:12Z beach: Well, it bothers me that you might be wasting YOUR time if you are going the wrong direction. 2018-10-04T08:43:59Z heisig joined #lisp 2018-10-04T08:48:01Z shka_: heisig: good morning! 2018-10-04T08:48:23Z ogamita quit (Ping timeout: 245 seconds) 2018-10-04T08:49:03Z heisig: Good morning! 2018-10-04T08:49:36Z acolarh quit (Ping timeout: 252 seconds) 2018-10-04T08:51:43Z shka_: heisig: i was wondering how can I build automatic differentation on petalisp 2018-10-04T08:52:46Z shka_: from what i understand, the best way to do so, is to walk on mathematical expressions to build transformed variant 2018-10-04T08:54:38Z no-defun-allowed: shka_: sicp chapter 2.3.2 has a differentiator in scheme 2018-10-04T08:56:42Z no-defun-allowed: hm, making a CAS with ulisp and that would be exciting. not now though. 2018-10-04T08:59:37Z drot quit (Ping timeout: 244 seconds) 2018-10-04T08:59:51Z ogamita joined #lisp 2018-10-04T09:00:06Z lemoinem is now known as Guest73351 2018-10-04T09:00:06Z Guest73351 quit (Killed (hitchcock.freenode.net (Nickname regained by services))) 2018-10-04T09:00:08Z lemoinem joined #lisp 2018-10-04T09:03:09Z drot joined #lisp 2018-10-04T09:04:06Z acolarh joined #lisp 2018-10-04T09:05:47Z zfree joined #lisp 2018-10-04T09:05:57Z shka_: no-defun-allowed: automatic != symbolic! 2018-10-04T09:08:54Z heisig: shka_: Can you point me to a paper or so that explains what you mean with automatic differentiation? 2018-10-04T09:09:02Z mingus joined #lisp 2018-10-04T09:09:25Z shka_: heisig: will blog post do? 2018-10-04T09:09:38Z heisig: Sure. 2018-10-04T09:10:34Z shka_: this is short and accessible https://rufflewind.com/2016-12-30/reverse-mode-automatic-differentiation 2018-10-04T09:10:40Z shka_: it is very simple concept 2018-10-04T09:11:19Z shka_: basicly, run expression in reverse ;-) 2018-10-04T09:12:17Z shka_: there is "tape implementation" there, but please ignore this part 2018-10-04T09:12:32Z shka_: it can be done better in lisp 2018-10-04T09:14:24Z heisig: shka_: Thank you! I agree, most things can be done better in Lisp :) The question is whether the problem has enough inherent parallelism for Petalisp. I will read the blog post and think about it. 2018-10-04T09:15:00Z shka_: heisig: it should have! especially since you are already basicly generating code 2018-10-04T09:16:12Z scymtym quit (Ping timeout: 252 seconds) 2018-10-04T09:16:41Z quipa joined #lisp 2018-10-04T09:26:13Z zfree quit (Quit: zfree) 2018-10-04T09:26:36Z hhdave joined #lisp 2018-10-04T09:31:08Z acolarh quit (Ping timeout: 244 seconds) 2018-10-04T09:37:00Z zfree joined #lisp 2018-10-04T09:45:16Z acolarh joined #lisp 2018-10-04T10:02:04Z themsay quit (Quit: Quit) 2018-10-04T10:05:31Z hhdave: rme: Hi. I realize you might be asleep at the moment, but hopefully you'll see this message... Further to https://ccl.clozure.com/irc-logs/ccl/ccl-2018-05.txt - I have hit on a way of fairly reliably reporoducing our CCL kernel panics. A new thing I'm working on seems to make the system drop into the kernel debugger much more reliably, including on my Mac (dx86cl64). To hit it I seem to have to create an array EITHER with a fill pointer OR which i 2018-10-04T10:05:31Z hhdave: AND then I have to use #'replace to populate it. I haven't managed to make a minimal test case for it yet, but I have narrowed it down to that. I also noted previously that Norvig's prolog compiler seemed to be triggering it a lot, and that makes a lot of use of adjustable arrays. If I make a non adjustable array with no fill pointer I don't get the problem. I wonder if it could be a similar error to the allocate_list() problem 2018-10-04T10:05:32Z hhdave: (https://github.com/Clozure/ccl/commit/73a04500245f5a539da142a7461c6d98248ed92a). Any ideas? Otherwise I'll keep trying to make a minimal test case... 2018-10-04T10:06:38Z hhdave: (I have lots of separate threads running the prolog code and 1 other thread doing the #'replace) 2018-10-04T10:17:19Z scymtym joined #lisp 2018-10-04T10:22:17Z ogamita quit (Ping timeout: 252 seconds) 2018-10-04T10:23:12Z Essadon joined #lisp 2018-10-04T10:23:14Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-10-04T10:25:04Z scymtym quit (Ping timeout: 240 seconds) 2018-10-04T10:27:51Z metallicus joined #lisp 2018-10-04T10:31:03Z hhdave: I'm suspecting ccl::%uvector-replace. If I arrange for the source and destination arrays to have different ccl::typecode I don't get the crash 2018-10-04T10:31:33Z hhdave: - vector-push-extend also uses %uvector-replace, which is what the prolog system does 2018-10-04T10:39:01Z JohnMS joined #lisp 2018-10-04T10:41:54Z JohnMS_WORK quit (Ping timeout: 264 seconds) 2018-10-04T10:41:56Z rumbler31 joined #lisp 2018-10-04T10:45:26Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-04T10:46:42Z rumbler31 quit (Ping timeout: 264 seconds) 2018-10-04T10:47:11Z hhdave: I have a minimal test case. It looks like it may have been fixed in https://github.com/Clozure/ccl/commit/956d89398e2840ee7f5adda0af242eae721e22f1#diff-c51d0aad3eb21a87a37b579343b117be though... 2018-10-04T10:47:40Z Copenhagen_Bram joined #lisp 2018-10-04T10:48:57Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-04T10:50:48Z orivej joined #lisp 2018-10-04T10:54:05Z Copenhagen_Bram joined #lisp 2018-10-04T10:54:25Z Shinmera: hhdave: Shouldn't this be in #ccl? 2018-10-04T10:56:55Z roshanavand quit (Ping timeout: 246 seconds) 2018-10-04T10:57:15Z roshanavand joined #lisp 2018-10-04T10:57:28Z hhdave: Shinmera: Oh bother. I thought that was where I was posting. Ooops... 2018-10-04T11:00:53Z doesthiswork quit (Ping timeout: 245 seconds) 2018-10-04T11:00:56Z frgo joined #lisp 2018-10-04T11:02:45Z dddddd joined #lisp 2018-10-04T11:03:02Z themsay joined #lisp 2018-10-04T11:03:02Z themsay quit (Client Quit) 2018-10-04T11:06:33Z frgo quit (Ping timeout: 252 seconds) 2018-10-04T11:08:54Z xrash quit (Read error: Connection reset by peer) 2018-10-04T11:09:58Z ogamita joined #lisp 2018-10-04T11:10:34Z nckx quit (Ping timeout: 240 seconds) 2018-10-04T11:10:53Z frgo joined #lisp 2018-10-04T11:13:53Z no-defun-allowed: shka_: oh, my bad. 2018-10-04T11:19:49Z themsay joined #lisp 2018-10-04T11:31:30Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-04T11:32:08Z roshanavand joined #lisp 2018-10-04T11:35:36Z beach quit (Ping timeout: 252 seconds) 2018-10-04T11:39:38Z m00natic joined #lisp 2018-10-04T11:44:58Z beach joined #lisp 2018-10-04T11:45:21Z Lycurgus joined #lisp 2018-10-04T12:06:11Z angavrilov quit (Ping timeout: 260 seconds) 2018-10-04T12:07:20Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-04T12:07:56Z esrse quit (Ping timeout: 260 seconds) 2018-10-04T12:08:22Z roshanavand joined #lisp 2018-10-04T12:11:05Z siraben joined #lisp 2018-10-04T12:12:50Z cydork quit (Ping timeout: 252 seconds) 2018-10-04T12:14:48Z cydork joined #lisp 2018-10-04T12:18:27Z nckx joined #lisp 2018-10-04T12:23:29Z russellw: sbcl --script successfully runs a file, but breaks --eval. How do you run a script file without verbosity, and also specify a main function to run? 2018-10-04T12:24:11Z Shinmera: --script is a shorthand that also end toplevel options. Read the manpage. 2018-10-04T12:24:34Z angavrilov joined #lisp 2018-10-04T12:25:53Z yaocl joined #lisp 2018-10-04T12:26:57Z Bike joined #lisp 2018-10-04T12:30:09Z ogamita quit (Ping timeout: 252 seconds) 2018-10-04T12:31:52Z russellw: ah! you're right, lot of options not listed in the help text. thanks! 2018-10-04T12:33:26Z metallicus quit (Remote host closed the connection) 2018-10-04T12:41:51Z adlai: so it seems as though (code-char (+ n (char-code #\a))) is potentially wildly unportable 2018-10-04T12:42:28Z Shinmera: Naturally. 2018-10-04T12:42:48Z adlai: would (write (+ 10 n) :base 36) be sanely idiomatic? 2018-10-04T12:42:55Z adlai: with perhaps an appropriate :case 2018-10-04T12:43:59Z Shinmera: just create a string with the alphabet you want and index off of that 2018-10-04T12:44:04Z ggole: (aref n "abc...") 2018-10-04T12:44:05Z ggole: Right 2018-10-04T12:45:00Z adlai grumbles about how this would be so much simpler with an (invert #'digit-char-p) 2018-10-04T12:45:17Z adlai: but thank you for the suggestion 2018-10-04T12:45:24Z ggole: What do you mean, invert? 2018-10-04T12:45:29Z s-geometry joined #lisp 2018-10-04T12:45:56Z adlai: i looked through the characters dictionary in the spec, found digit-char-p, and said to myself, "this does what i want, but backwards" 2018-10-04T12:46:10Z ggole: Oh, I see 2018-10-04T12:46:37Z _death: (digit-char 10 36) 2018-10-04T12:46:49Z solb joined #lisp 2018-10-04T12:47:30Z solb: Howdy lispers, would a someone help me look at the possibility of optimizing the speed of lisp against Julia? 2018-10-04T12:48:05Z solb: As well school me on the conventions of #lisp so I'm not too rude accidentally 2018-10-04T12:48:19Z Shinmera: Lisp has no speed, it's a language 2018-10-04T12:48:54Z Shinmera: You'll need to contrast implementations if anything. 2018-10-04T12:49:23Z adlai: _death: uh how did i miss that! thank you. 2018-10-04T12:50:21Z solb: I see. Are there implementations I should look to for fast computation? 2018-10-04T12:50:41Z Shinmera: SBCL, primarily, I suppose 2018-10-04T12:50:43Z shka_: sbcl, obviously 2018-10-04T12:51:11Z solb: Could I send code snippets? Maybe there's something I'm missing to make this faster? 2018-10-04T12:51:23Z ggole wonders whether digit-char was evicted from cache or was never there to start with 2018-10-04T12:51:35Z Shinmera: As long as they're in a paste, not dircectly in the channel 2018-10-04T12:52:08Z solb: https://pastebin.com/2k9acUZp 2018-10-04T12:52:18Z solb: Are there things I'm totally missing out on, in terms of speed? 2018-10-04T12:53:07Z dlowe: solb: if you (declaim (optimize (speed 3) (safety 0) (debug 0))) that will get you a bunch of optimization notes in sbcl 2018-10-04T12:53:14Z dlowe: during compilation 2018-10-04T12:53:34Z dlowe: oh, you did that. nvm! 2018-10-04T12:55:30Z solb: I'm sorry for being such a newbie, but are there big differences between declaim and declare? 2018-10-04T12:55:40Z dlowe: just scope 2018-10-04T12:55:46Z Shinmera: declaim is global, declare is local 2018-10-04T12:56:03Z s-geometry: solb: how does your code perform against julia? 2018-10-04T12:56:15Z Shinmera: just... never declaim safety 0. 2018-10-04T12:57:10Z Shinmera: in general don't even declare safety 0 until you're abso-fucking-lutely sure your code won't misbehave 2018-10-04T12:57:23Z warweasle joined #lisp 2018-10-04T12:57:28Z Shinmera: (and you're sure it even helps at all) 2018-10-04T12:57:34Z heisig: Shinmera: For HPC, safety 0 is a very valuable feature. 2018-10-04T12:57:51Z dlowe: anarchy! 2018-10-04T12:57:59Z _death: high performance crashing? ;) 2018-10-04T12:58:09Z Shinmera: Hah! 2018-10-04T12:58:41Z kajo joined #lisp 2018-10-04T12:58:48Z solb: The Julia code takes ~0.090 to run, CL takes ~0.120s 2018-10-04T12:59:12Z Shinmera: reminds me of this: Section 5 https://cliki.net/Infrequently%20Asked%20Questions 2018-10-04T13:00:15Z Shinmera: solb: you mean SBCL takes that long? 2018-10-04T13:00:29Z dlowe: solb: the disassembly shows a lot of calls to generic arithmetic 2018-10-04T13:00:43Z dlowe: solb: I would not use loop for this 2018-10-04T13:00:51Z _death: step is not declared 2018-10-04T13:00:57Z _death: (its type) 2018-10-04T13:01:31Z heisig: I use safety 0 only for auto-generated code, and only after I have carefully debugged the generator (using safety 3, debug 3, of course). So usually no high performance crashing :) 2018-10-04T13:03:11Z solb: hmmm. I tried declaring the type of step, but it didn't much help. 2018-10-04T13:03:34Z solb: I should probably try recursion here. 2018-10-04T13:04:03Z dlowe: now you have a problem inside a larger problem 2018-10-04T13:04:37Z beach: solb: You should definitely not try recursion. 2018-10-04T13:04:55Z _death: you also need to declare the summation variable's type 2018-10-04T13:05:03Z shka_: solb: add type declaration for step 2018-10-04T13:05:33Z shka_: also, what just _death said 2018-10-04T13:05:45Z solb: how do you declare the type of the summing? 2018-10-04T13:05:51Z jackdaniel: solb: http://ix.io/1ohU , there is still some casting to return value though 2018-10-04T13:05:53Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-04T13:05:59Z jackdaniel: but note declaration of ftype 2018-10-04T13:06:18Z heisig: solb: Yes, try accumulating in a separate variable instead of (loop ... SUM ...): https://pastebin.com/qVLAkH0c 2018-10-04T13:06:21Z jackdaniel: with that you don't probably need (type double-float …) 2018-10-04T13:07:02Z jackdaniel: you may lift acc up if you want to declare it as well 2018-10-04T13:07:54Z jackdaniel: ah, and * step sum I forgot 2018-10-04T13:08:31Z dlowe: try this too https://pastebin.com/00QCjXPp 2018-10-04T13:08:39Z dlowe: it disassembles with no generic calls 2018-10-04T13:09:52Z solb: wowie 2018-10-04T13:09:55Z solb: you guys are the best! 2018-10-04T13:10:00Z heisig: solb: Oh, and if you are brave enough, you can use https://github.com/guicho271828/cl-simd :) 2018-10-04T13:10:26Z beach: solb: So what's the verdict? 2018-10-04T13:10:41Z shka_: CL wins. FATALITY 2018-10-04T13:10:47Z ggole: Does loop define that the implicit zero is an integer (eg, if there are no iterations)? 2018-10-04T13:11:01Z adlai wonders what could possibly be overriding (write ... :case :downcase) 2018-10-04T13:11:11Z solb: The last pastebin from dlowe was faster than Julia!! ~0.06s 2018-10-04T13:11:24Z adlai: adding `:escape nil` does not fix this 2018-10-04T13:11:45Z adlai finds himself using (format () "~(~36R~)" 10) 2018-10-04T13:11:55Z Shinmera: adlai: the case option is only for symbols. 2018-10-04T13:12:04Z adlai: yuck. 2018-10-04T13:12:13Z Shinmera: see *print-case* and write 2018-10-04T13:12:46Z Shinmera: It also does not just downcase, se 2018-10-04T13:12:49Z Shinmera: *so 2018-10-04T13:13:22Z dlowe: I'm sure you could code golf it back to Julia hackers and they'd be like "oh, you didn't frood the loop" and it'd be faster again, and then back to us 2018-10-04T13:14:15Z solb: Likely so. Maybe worth an ask to the Julia guys 2018-10-04T13:14:29Z Shinmera: Exercices like these are also fairly pointless because they prove nothing substantial. 2018-10-04T13:14:48Z shka_: dlowe: i think that you will get back to 0.09 just by setting safety 1 2018-10-04T13:15:17Z solb: Well, it's not super pointless, because I'm rewriting an N-Body simulator, so these low end speed increase mean a lot to me 2018-10-04T13:15:52Z Shinmera: If it's just for your curiosity, then sure 2018-10-04T13:15:53Z beach: Shinmera: That's probably true, but there is a psychological aspect to it, because some people do think that they do prove something substantiatl. 2018-10-04T13:16:03Z beach: substantial, even. 2018-10-04T13:16:11Z Shinmera: I thought you might want to "prove" something with this exercise 2018-10-04T13:16:54Z shka_: there is nothing to prove, assembly produced is self evident 2018-10-04T13:17:39Z shka_: but, anyway, you can run numerical computations on sbcl just fine 2018-10-04T13:17:43Z dlowe: shka_: I didn't set safety :p 2018-10-04T13:17:45Z shka_: it is not slow 2018-10-04T13:18:04Z shka_: in fact it is pretty fast 2018-10-04T13:18:21Z ggole: Benchmarking small loops like this can be very misleading though 2018-10-04T13:18:48Z ggole: It's very easy for compilers to do things to them that result in you measuring things other than what you think you are measuring. 2018-10-04T13:19:21Z pfdietz: Just ask the Julia people how fast their compiler is. 2018-10-04T13:19:47Z Shinmera: my problem is more that writing performant software that's more than a single function and still wanting to fairly compare it to an implementation in another language is nigh impossible 2018-10-04T13:20:01Z ggole: Looking at the assembly and seeing a loop with float operations in it is a pretty good foil for that in this case, but in general it's pretty easy to footgun yourself. 2018-10-04T13:22:15Z beach: ggole: We had such a case the other day when someone claimed something like "lists are 1000 times faster than vectors" based on a loop that was optimized away by SBCL. 2018-10-04T13:23:19Z Lycurgus quit (Quit: Exeunt) 2018-10-04T13:23:58Z ggole: Right 2018-10-04T13:23:58Z dlowe: Shinmera: sure, but people aren't gonna stop :) 2018-10-04T13:24:03Z Shinmera: I know. 2018-10-04T13:24:16Z Shinmera: There's a lot of reasons to be depressed 2018-10-04T13:24:17Z solb quit (Ping timeout: 256 seconds) 2018-10-04T13:24:28Z jackdaniel: lately I was cracking my head on optimizing speed regression with glyphs 2018-10-04T13:24:30Z dlowe: brain the size of a planet... 2018-10-04T13:24:39Z Shinmera: heh 2018-10-04T13:24:51Z jackdaniel: using flamegraph McCLIM tool written by scymtym I've found, that most time is spend somewhere else 2018-10-04T13:25:20Z jackdaniel: and changing one function gave me a great boost, not because of microptimization, but thanks to limiting calls to an expensive function 2018-10-04T13:30:21Z frgo quit (Remote host closed the connection) 2018-10-04T13:30:50Z frgo joined #lisp 2018-10-04T13:39:11Z frgo quit (Ping timeout: 252 seconds) 2018-10-04T13:40:45Z cydork quit (Ping timeout: 252 seconds) 2018-10-04T13:45:06Z frgo joined #lisp 2018-10-04T13:49:38Z frgo quit (Ping timeout: 245 seconds) 2018-10-04T13:51:53Z v0|d quit (Remote host closed the connection) 2018-10-04T13:54:00Z frgo joined #lisp 2018-10-04T13:57:10Z lnostdal joined #lisp 2018-10-04T13:57:14Z yaocl quit (Quit: yaocl) 2018-10-04T13:58:23Z frgo quit (Ping timeout: 245 seconds) 2018-10-04T13:58:27Z foom joined #lisp 2018-10-04T14:01:06Z solb joined #lisp 2018-10-04T14:01:40Z v0|d joined #lisp 2018-10-04T14:01:42Z solb: Thank you all for help earlier! Class ended so I had to abruptly run away 2018-10-04T14:01:44Z solb: But thank you! 2018-10-04T14:02:13Z solb: One more question: how do I declare acc in this code? https://pastebin.com/SYDZE0ut 2018-10-04T14:03:18Z pfdietz: DO* takes declarations between the termination clause and the body. 2018-10-04T14:03:31Z pfdietz: http://www.lispworks.com/documentation/lw70/CLHS/Body/m_do_do.htm 2018-10-04T14:05:31Z jackdaniel: so basically this: http://ix.io/1oi9 2018-10-04T14:05:45Z jackdaniel: you don't need to call the double-float in the end clause 2018-10-04T14:06:50Z solb: I see! Thank you. 2018-10-04T14:07:17Z solb: I wasn't sure if that form would be automatically 'declare'd or I had to call 'declare' myself 2018-10-04T14:07:20Z solb: but that makes a lot of sense! 2018-10-04T14:10:06Z Josh_2 joined #lisp 2018-10-04T14:10:07Z nowhere_man quit (Ping timeout: 246 seconds) 2018-10-04T14:12:21Z solb quit (Quit: Page closed) 2018-10-04T14:14:31Z s-geometry quit (Ping timeout: 260 seconds) 2018-10-04T14:15:23Z frgo joined #lisp 2018-10-04T14:18:06Z s-geometry joined #lisp 2018-10-04T14:19:21Z scymtym joined #lisp 2018-10-04T14:23:20Z astronavt joined #lisp 2018-10-04T14:24:00Z frgo quit (Ping timeout: 252 seconds) 2018-10-04T14:26:45Z dale_ joined #lisp 2018-10-04T14:27:04Z dale_ is now known as dale 2018-10-04T14:29:38Z heisig left #lisp 2018-10-04T14:29:49Z cydork joined #lisp 2018-10-04T14:33:03Z frgo joined #lisp 2018-10-04T14:33:10Z frgo quit (Read error: Connection reset by peer) 2018-10-04T14:33:35Z frgo joined #lisp 2018-10-04T14:38:14Z frgo quit (Ping timeout: 272 seconds) 2018-10-04T14:47:00Z jurov quit (Excess Flood) 2018-10-04T14:49:56Z roshanavand quit (Ping timeout: 268 seconds) 2018-10-04T14:50:25Z jurov joined #lisp 2018-10-04T14:50:42Z roshanavand joined #lisp 2018-10-04T14:52:00Z russellw: beach, as the person in question, that loop was not in fact optimized away by SBCL, and I posted proof that it was not. Please don't spread misinformation, even casually. If you want to argue that someone is using the wrong benchmark, you can do it by suggesting a better one 2018-10-04T14:54:10Z beach: Sure. Sorry about that. 2018-10-04T14:54:26Z russellw: no worries 2018-10-04T14:56:37Z charh quit (Quit: zZZzzZ) 2018-10-04T14:59:15Z shka_ quit (Quit: WeeChat 1.9.1) 2018-10-04T15:01:55Z rippa joined #lisp 2018-10-04T15:03:40Z kyby64 joined #lisp 2018-10-04T15:06:16Z igemnace quit (Quit: WeeChat 2.2) 2018-10-04T15:10:45Z shifty quit (Ping timeout: 252 seconds) 2018-10-04T15:14:25Z solb joined #lisp 2018-10-04T15:15:01Z mn3m joined #lisp 2018-10-04T15:16:53Z flamebeard quit 2018-10-04T15:22:12Z asarch joined #lisp 2018-10-04T15:24:34Z megalography quit (Quit: Leaving.) 2018-10-04T15:27:02Z robotoad joined #lisp 2018-10-04T15:28:14Z jusss joined #lisp 2018-10-04T15:28:25Z zxcvz joined #lisp 2018-10-04T15:28:56Z jusss: what's the different between contination with promise/future? 2018-10-04T15:29:22Z jusss: and why the other language dont support contination 2018-10-04T15:29:49Z beach: That doesn't sound like a Common Lisp question. 2018-10-04T15:30:24Z russellw: yeah, jusss, are you perhaps looking for Scheme? 2018-10-04T15:30:38Z jusss: sorry, 2018-10-04T15:30:47Z jusss: sent wrong channel 2018-10-04T15:31:41Z jusss: that blablabla concepts are really not easy to understand 2018-10-04T15:47:04Z mn3m quit (Quit: mn3m) 2018-10-04T15:47:15Z solb quit (Quit: Page closed) 2018-10-04T15:47:51Z jusss quit (Remote host closed the connection) 2018-10-04T15:51:23Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-04T15:52:19Z xylef joined #lisp 2018-10-04T15:53:07Z xylef quit (Client Quit) 2018-10-04T15:56:38Z LiamH joined #lisp 2018-10-04T15:58:06Z xuxuru joined #lisp 2018-10-04T16:02:36Z nowhere_man joined #lisp 2018-10-04T16:04:44Z slyrus1 joined #lisp 2018-10-04T16:04:44Z zfree quit (Quit: zfree) 2018-10-04T16:06:24Z slyrus quit (Ping timeout: 268 seconds) 2018-10-04T16:06:24Z slyrus1 is now known as slyrus 2018-10-04T16:10:48Z jasom: Shinmera: It's been a while since I read that original Julia post, but the point was mainly that Julia has a specific combination of performance and ergonomics that is rare. I think that SBCL has similar characteristics, though Julia probably wins in terms of automatic vectorization. A lot of languages are very much outside this box either because of poor ergonomics (e.g. C, C++, Fortran), or poor performance 2018-10-04T16:10:49Z jasom: outside of builtin functions (e.g. Python, Ruby). 2018-10-04T16:11:27Z Shinmera: What are you telling me this for? 2018-10-04T16:12:01Z frgo joined #lisp 2018-10-04T16:12:07Z jasom: Shinmera: from 3 hours ago "my problem is more that writing performant software ..." 2018-10-04T16:13:35Z Shinmera: My statement is ubiquitous. The complexity and different ways in which you can write something explodes so quickly that any /fair/ comparison becomes impossible 2018-10-04T16:14:37Z Shinmera: I'm not making any statements about any actual systems out there. 2018-10-04T16:15:17Z jasom: Shinmera: I think "fair" is not binary. You can compare two implementations of the same algorithm in two different languages and discuss them in a manner that is reasonable. 2018-10-04T16:15:42Z jasom: there will definitely be some subjective calls, but that doesn't make it inherently unfair. 2018-10-04T16:16:12Z frgo quit (Ping timeout: 252 seconds) 2018-10-04T16:16:17Z Shinmera: That's where the size part of what I said comes into play. 2018-10-04T16:17:15Z jasom: I think there does become a point where a fair comparison becomes difficult, but it's much larger than a single function. I think 100kloc is still tractible. 2018-10-04T16:17:27Z Shinmera: I really doubt that 2018-10-04T16:18:04Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-10-04T16:18:55Z Shinmera: Time and time again even one liners get code-golfed around here into different variants that are shorter, more idiomatic, or more performant. And that's within a single language. 2018-10-04T16:19:18Z shka_ joined #lisp 2018-10-04T16:19:31Z Shinmera: Evaluating this for larger systems.. well, I'd be interested to see anyone actually complete it. 2018-10-04T16:21:19Z scymtym: that way lies the benchmark game which is ridiculous. for example, the lisp solutions use libgmp via ffi and define SBCL vops 2018-10-04T16:21:25Z razzy joined #lisp 2018-10-04T16:21:28Z frgo joined #lisp 2018-10-04T16:21:29Z jasom: Start with "how & why did they decompose the problem in this manner?" Different conventions and primitives offered by different languages lend themselves to different natural decompositions of the code. 2018-10-04T16:22:09Z jasom: scymtym: yeah something like 20% of the benchmark game benchmarks devolve to measuring the overhead of the GMP bindings for that language. 2018-10-04T16:22:55Z jasom: scymtym: but as far as defining VOPs? I think that is useful to discuss. Are VOPs a better abstraction than inline assembly in C? Which languages don't offer anything comparable to those two features? 2018-10-04T16:23:04Z Shinmera: I'm not interested in debating this any further until someone goes and actually produces a meaningful comparison, of which I have yet to see one in my life. 2018-10-04T16:23:35Z scymtym: jasom: https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/mandelbrot-sbcl-1.html 2018-10-04T16:23:36Z Shinmera: I'm sure Julia is great for some things and that was never anything I contended. 2018-10-04T16:23:37Z jasom will try to dig up the right paper 2018-10-04T16:24:10Z Shinmera: *debated 2018-10-04T16:24:12Z jasom: I agree that it is totally an uninteresting question to ask if algorithm X can be implemented 2% faster in Julia than SBCL. 2018-10-04T16:24:20Z fouric: jasom: ah! thank you for correcting my misconception 2018-10-04T16:24:24Z fouric: (re: traits) 2018-10-04T16:24:48Z frgo quit (Remote host closed the connection) 2018-10-04T16:24:52Z fouric: multiple inheritance it is 2018-10-04T16:25:03Z frgo joined #lisp 2018-10-04T16:25:46Z mathrick_ quit (Ping timeout: 260 seconds) 2018-10-04T16:26:29Z jasom: fouric: multiple inheritance is very powerful, but be aware of its pitfalls; diamond inheritence and name clashes are a thing. Name clashes of methods are less of a problem in lisp because methods are not namespaced to the class, but reasoning about diamond inheritence can be confusing. 2018-10-04T16:27:07Z jasom: fouric: if you were wondering what diamond inheritance is: https://en.wikipedia.org/wiki/Multiple_inheritance#/media/File:Diamond_inheritance.svg 2018-10-04T16:27:39Z Shinmera: diamond inheritance is not a big deal in lisp either due to the fact that the precedence rules are clearly defined 2018-10-04T16:27:45Z SaganMan joined #lisp 2018-10-04T16:29:02Z jasom: Shinmera: it's rarely a problem in any language not named C++ with a diagram as simple as is typically drawn, it's when you don't immediately realize it's happening that it can get confusing. 2018-10-04T16:29:04Z _death: lisp does the right thing, even if it's a bit more expensive.. C++ does not, and so has virtual inheritance 2018-10-04T16:29:15Z Shinmera: jasom: Right. 2018-10-04T16:30:56Z jasom: and again it's greatly helped that you aren't implicitly inheriting namespaces when you inherit an object. you can have inherit from a class with a foo:bar and a different class with a baz:bar method and the sky does not fall. 2018-10-04T16:32:59Z jasom: It took me years to come to this conclusion though because I tend to not heavily use classes; it was always strange to me that CLOS did away with message-passing OO (because multiple dispatch is not incompatible with message-passing). I always knew I was missing something because message-passing systems in lisp predated CLOS, so everyone involved in creating CLOS had used them before and thought CLOS was 2018-10-04T16:33:01Z jasom: better. 2018-10-04T16:34:59Z jasom: this was another problem traits were meant to solve; in self, conflicts in method names must be explicitly resolved. 2018-10-04T16:37:06Z mathrick_ joined #lisp 2018-10-04T16:38:57Z hhdave quit (Ping timeout: 252 seconds) 2018-10-04T16:39:30Z jack_rabbit quit (Ping timeout: 252 seconds) 2018-10-04T16:39:45Z SaganMan quit (Quit: WeeChat 1.6) 2018-10-04T16:43:15Z pjb joined #lisp 2018-10-04T16:51:37Z jack_rabbit joined #lisp 2018-10-04T16:51:48Z skidd0 joined #lisp 2018-10-04T16:52:39Z jasom: fouric: ah, I found a possible source of confusion, apparently what scala calls "traits" is different from the rest of the world calls traits, so if you learned them there, then that might be why 2018-10-04T16:52:59Z cl-arthur joined #lisp 2018-10-04T16:53:20Z jasom: scala traits can have state, but may not have parameterized constructors. 2018-10-04T16:53:38Z Shinmera: jasom: Scala and Rust both, I believe. 2018-10-04T16:54:20Z jasom: Shinmera: https://doc.rust-lang.org/rust-by-example/trait.html implies they cannot have state, but does not state it. 2018-10-04T16:54:38Z Shinmera: they can have fields 2018-10-04T16:54:45Z Shinmera: but it gets real messy real quick 2018-10-04T16:55:13Z Shinmera: anyway, I don't want to go on a rant about Rust so I'll just snuff it. 2018-10-04T16:55:28Z skidd0: Hey so as I'm learning Lisp (through building a program), should I focus on making my code "lispy" and "elegant" or just "get it to work" first? 2018-10-04T16:55:39Z jasom: having fields in traits just seems like missing the piont, *shrug* 2018-10-04T16:55:49Z jasom: skidd0: get it to work. 2018-10-04T16:55:56Z skidd0: okay 2018-10-04T16:56:09Z skidd0: i'm just warry of engraining bad, non optimal techniques 2018-10-04T16:56:09Z Shinmera: Agreed, you can always rewrite later 2018-10-04T16:56:16Z skidd0: okay, thanks guys 2018-10-04T16:56:17Z jasom: skidd0: when you are new, you can usually tell if it works, but can't tell if it's elegant, so measure what you can. 2018-10-04T16:56:49Z Shinmera: lQuery and Radiance were my first projects. I've rewritten them both about thrice, and coming back to see the dumb shit I did was amusing. 2018-10-04T16:56:54Z cl-arthur: skidd0: I get things to working, and then I beg on #clschool for code reviews so I can see how I fucked up :) 2018-10-04T16:56:55Z skidd0: i just have a nagging feeling in my head when I use a munch of prgns 2018-10-04T16:57:08Z skidd0: ah smart 2018-10-04T16:57:10Z skidd0: code reviews 2018-10-04T16:57:30Z skidd0: cl-arthur: I'll do the same once I have a working minimal viable product 2018-10-04T16:57:31Z jasom: skidd0: 5 years from now I'll be surprised if you don't marvel at how bad your code looks like today. However writing software that works is a huge accomplishment, regardless of how you get there. 2018-10-04T16:58:21Z skidd0: i love the endorphin rush when a new method works as intended 2018-10-04T16:58:26Z skidd0: thanks everyone 2018-10-04T16:58:33Z |3b|: and ideally that should apply to any 5 year period :) 2018-10-04T16:59:05Z skidd0: Are there any books or resources like "Writing Idiomatic Python" for CL? 2018-10-04T16:59:20Z jackdaniel: minion: tell skidd0 about pcl 2018-10-04T16:59:20Z minion: skidd0: please see pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2018-10-04T16:59:22Z skidd0: so I can start to get a feel for what "good code" looks like? 2018-10-04T16:59:23Z _death: you should have a program that replays your code snippets from 5 years ago every day 2018-10-04T16:59:26Z jackdaniel: this is the closest resource you can get 2018-10-04T16:59:40Z skidd0: I've been using PCL! 2018-10-04T16:59:42Z Shinmera: _death: Clockwork orange for programers? 2018-10-04T16:59:45Z skidd0: very helpful resource 2018-10-04T17:00:36Z jackdaniel: skidd0: since many programmers grew up on it, and the author did a good deal of research about "idiomatic" programming in CL that's what sets a standard of things most lispers would consider idiomatic 2018-10-04T17:00:41Z skidd0: I also have ANSI Common Lisp from Paul Graham 2018-10-04T17:00:45Z _death: skidd0: http://norvig.com/luv-slides.ps 2018-10-04T17:00:49Z jackdaniel: clean code, using clos etc 2018-10-04T17:01:04Z jackdaniel: ANSI CL is a great book, but it's far from "idiomatic" - whatever that means 2018-10-04T17:01:33Z jackdaniel: also PAIP, excellent book 2018-10-04T17:01:36Z skidd0: thanks _death 2018-10-04T17:02:07Z cl-arthur: https://www.cs.northwestern.edu/academics/courses/325/readings/graham/graham-notes.html lists (supposedly) non-idiomatic parts of ANSI CL 2018-10-04T17:02:08Z skidd0: idiomatic to me just means leveraging the built in features of a language 2018-10-04T17:02:14Z jackdaniel: https://github.com/norvig/paip-lisp 2018-10-04T17:03:02Z m00natic quit (Remote host closed the connection) 2018-10-04T17:03:27Z shka_: well, i just wanted to point out that land of lisp is a fun book 2018-10-04T17:03:33Z shka_: good evening btw 2018-10-04T17:03:33Z charh joined #lisp 2018-10-04T17:04:04Z skidd0: I found a copy but haven't read it yet 2018-10-04T17:04:10Z skidd0: it's more project based, right? 2018-10-04T17:04:14Z skidd0: That's my style 2018-10-04T17:04:37Z skidd0: Thanks for the links, cl-arthur and jackdaniel 2018-10-04T17:04:47Z shka_: it is, but it is slightly skewed toward functional programming 2018-10-04T17:04:48Z skidd0: jackdaniel: are you a whiskey guy? 2018-10-04T17:04:55Z skidd0: okay awesome 2018-10-04T17:05:00Z shka_: but it is fun 2018-10-04T17:05:03Z skidd0: I want to dive more into FP 2018-10-04T17:05:15Z skidd0: I understand CL is less FP then other Lisps though 2018-10-04T17:05:24Z skidd0: or so I've seen written 2018-10-04T17:05:39Z jackdaniel: skidd0: sure, why? 2018-10-04T17:05:45Z jackdaniel: you plan to send me a bottle? 2018-10-04T17:06:14Z skidd0: just reading into your nick is all 2018-10-04T17:06:23Z skidd0: we can share one once I write my program ;] 2018-10-04T17:06:32Z dim: yeah I think CL doesn't care much about FP other than for FP to be a useful way to solve some practical problems when you write code 2018-10-04T17:06:50Z dim: just like OOP is, and then we have CLOS 2018-10-04T17:06:59Z varjag joined #lisp 2018-10-04T17:07:28Z jackdaniel: skidd0: CL is a ball of mud 2018-10-04T17:07:30Z dim: I like that attitude of “here's a tool set to solve problems, we hope you'll find what you need”, at least that's my personal reading of it 2018-10-04T17:07:36Z skidd0: that's why I'm liking CL so much 2018-10-04T17:07:39Z jackdaniel: you may add mud to it and it will still look like CL 2018-10-04T17:07:41Z skidd0: it's a tool box 2018-10-04T17:07:45Z skidd0: not a forced mindset 2018-10-04T17:07:46Z shka_: lisp is mix of everything 2018-10-04T17:07:53Z shka_: well, common lisp 2018-10-04T17:08:06Z Shinmera: I, too, identify as a dung beetle 2018-10-04T17:09:25Z cgay: heh 2018-10-04T17:09:36Z shka_: such a majestic creature 2018-10-04T17:13:57Z cydork quit (Ping timeout: 252 seconds) 2018-10-04T17:17:26Z sjl joined #lisp 2018-10-04T17:19:27Z kyby64 quit (Ping timeout: 256 seconds) 2018-10-04T17:21:55Z quipa quit (Ping timeout: 246 seconds) 2018-10-04T17:23:33Z quipa joined #lisp 2018-10-04T17:25:59Z warweasle is now known as warweasle_afk 2018-10-04T17:59:18Z pjb quit (Ping timeout: 264 seconds) 2018-10-04T17:59:36Z shenghi quit (Ping timeout: 252 seconds) 2018-10-04T18:09:59Z shenghi joined #lisp 2018-10-04T18:11:41Z nixfreak joined #lisp 2018-10-04T18:14:04Z myrmidon joined #lisp 2018-10-04T18:15:42Z lyf[kde] joined #lisp 2018-10-04T18:16:26Z jsjolen joined #lisp 2018-10-04T18:16:45Z lyf[kde] quit (Quit: Quit) 2018-10-04T18:18:22Z roshanavand quit (Ping timeout: 268 seconds) 2018-10-04T18:18:47Z roshanavand joined #lisp 2018-10-04T18:20:09Z mathrick_ quit (Ping timeout: 252 seconds) 2018-10-04T18:20:10Z jsjolen: Wrapping EVAL-WHEN (:compile-toplevel :load-toplevel :execute) around a defconstant/alexandria:define-constant should lead to errors being signalled as long as the constant is of some relatively complex object, right? In general making sure that something can be DEFCONSTANT:ed seems to be a bit of a pain (because of the time the value needs to be available) 2018-10-04T18:20:35Z lyf[kde] joined #lisp 2018-10-04T18:21:02Z lyf[kde] quit (Client Quit) 2018-10-04T18:21:15Z lyf[kde] joined #lisp 2018-10-04T18:21:36Z |3b|: if you need it available at compile time, you need to be able to calculate it whether it is stored as a constant or not 2018-10-04T18:22:10Z jsjolen: |3b|: Yup, I guess the second sentence was me meandering on a tangent 2018-10-04T18:22:50Z lyf[kde] quit (Client Quit) 2018-10-04T18:22:59Z lyf[kde] joined #lisp 2018-10-04T18:23:09Z |3b|: if first part is about redefinition, avoiding that is what alexandria:define-constant is for, just use a test that works on that object 2018-10-04T18:23:18Z roshanavand quit (Ping timeout: 244 seconds) 2018-10-04T18:23:57Z roshanavand joined #lisp 2018-10-04T18:27:14Z slyrus1 joined #lisp 2018-10-04T18:27:30Z jsjolen: Yeah, I'll add that in as a FIXME, I'm not entirely sure if this EVAL-WHEN is even needed. 2018-10-04T18:27:31Z zaquest joined #lisp 2018-10-04T18:31:04Z lyf[kde] quit (Ping timeout: 240 seconds) 2018-10-04T18:31:30Z pjb joined #lisp 2018-10-04T18:32:28Z mathrick_ joined #lisp 2018-10-04T18:36:56Z jsjolen quit (Remote host closed the connection) 2018-10-04T18:40:31Z slyrus1 quit (Ping timeout: 260 seconds) 2018-10-04T18:49:21Z ggole quit (Quit: ggole) 2018-10-04T18:53:10Z lyf[kde] joined #lisp 2018-10-04T18:53:34Z lyf[kde] quit (Client Quit) 2018-10-04T18:56:03Z warweasle_afk is now known as warweasle 2018-10-04T19:02:11Z zxcvz quit (Quit: Leaving) 2018-10-04T19:05:03Z pjb quit (Ping timeout: 252 seconds) 2018-10-04T19:14:46Z Necktwi quit (Quit: leaving) 2018-10-04T19:22:28Z decent-username joined #lisp 2018-10-04T19:25:53Z vlatkoB quit (Remote host closed the connection) 2018-10-04T19:27:20Z s-geometry quit (Ping timeout: 252 seconds) 2018-10-04T19:29:42Z lyf[kde] joined #lisp 2018-10-04T19:34:33Z Trystam joined #lisp 2018-10-04T19:38:48Z smaster joined #lisp 2018-10-04T19:41:22Z Trystam quit (Quit: Leaving) 2018-10-04T19:41:24Z azimut joined #lisp 2018-10-04T19:44:04Z azimut_ quit (Ping timeout: 240 seconds) 2018-10-04T19:44:16Z serichsen joined #lisp 2018-10-04T19:44:31Z serichsen: good evening 2018-10-04T19:56:43Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-10-04T19:59:45Z dented42 joined #lisp 2018-10-04T19:59:57Z shka_ quit (Ping timeout: 252 seconds) 2018-10-04T20:03:22Z myrmidon quit (Quit: Leaving) 2018-10-04T20:04:03Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-04T20:04:39Z npr-work left #lisp 2018-10-04T20:20:23Z lyf[kde] quit (Quit: Quit) 2018-10-04T20:39:37Z Roy_Fokker joined #lisp 2018-10-04T20:40:50Z slyrus1 joined #lisp 2018-10-04T20:43:01Z scymtym quit (Ping timeout: 260 seconds) 2018-10-04T20:47:58Z Bike_ joined #lisp 2018-10-04T20:48:56Z asarch quit (Quit: Leaving) 2018-10-04T20:49:18Z Bike quit (Disconnected by services) 2018-10-04T20:49:20Z Bike_ is now known as Bike 2018-10-04T21:01:15Z roshanavand quit (Quit: leaving) 2018-10-04T21:01:52Z pjb joined #lisp 2018-10-04T21:05:47Z pierpal joined #lisp 2018-10-04T21:06:37Z phoe quit (Read error: Connection reset by peer) 2018-10-04T21:09:03Z angavrilov quit (Remote host closed the connection) 2018-10-04T21:11:29Z zotan joined #lisp 2018-10-04T21:13:48Z smaster quit (Ping timeout: 245 seconds) 2018-10-04T21:14:47Z hhdave joined #lisp 2018-10-04T21:17:43Z antonv joined #lisp 2018-10-04T21:18:12Z antonv: can anyone open http://www.sbcl.org/manual/ ? 2018-10-04T21:18:24Z antonv: "This site can't be reached" for me 2018-10-04T21:19:27Z hhdave quit (Ping timeout: 252 seconds) 2018-10-04T21:20:10Z phoe joined #lisp 2018-10-04T21:20:47Z shifty joined #lisp 2018-10-04T21:22:19Z hhdave joined #lisp 2018-10-04T21:23:19Z antoszka: antonv: looks like the domain name hasn't been paid for 2018-10-04T21:23:35Z antoszka: it's rather not about reaching the site, but (not) resolving the name 2018-10-04T21:23:53Z antoszka: ;; Host sbcl.org not found: 2(SERVFAIL) 2018-10-04T21:24:47Z zigpaw: domain was paid for, it expires on 2019-04-16; so just dns server failure. 2018-10-04T21:25:10Z phoe: Whoever serves the DNS server for sbcl.org - they need to fix their DNS server. 2018-10-04T21:26:07Z antonv: use http://sbcl.sourceforge.net/ in the meantime 2018-10-04T21:26:20Z zigpaw: there is no SOA record resolving for the domain, so basically someone broke it via registrar panel or registrar f*ed up (enom so yeah, wouldn') 2018-10-04T21:26:26Z zigpaw: wouldn't be surprised* 2018-10-04T21:26:31Z antoszka: yeah 2018-10-04T21:26:36Z hhdave quit (Ping timeout: 252 seconds) 2018-10-04T21:26:45Z antoszka: only whois contains delegation info: 2018-10-04T21:26:46Z shifty quit (Ping timeout: 260 seconds) 2018-10-04T21:26:47Z antoszka: Name Server: DNS1.MEDONLINE.COM 2018-10-04T21:26:49Z antoszka: Name Server: DNS2.MEDONLINE.COM 2018-10-04T21:26:57Z antoszka: those names don't resolve either 2018-10-04T21:27:13Z zigpaw: so we have a culprit. 2018-10-04T21:27:36Z antoszka: so it seems 2018-10-04T21:27:58Z antoszka: still, if you're a DNS provider you'd at least keep glue records in your upstream 2018-10-04T21:28:09Z antoszka: it all seems snafud 2018-10-04T21:28:45Z zigpaw: fixing it will take time if those won't go online, chaning the nameservers propagates slowly (from my experience) and if serial number won't be continuation of the last one used it will even take longer (also from my experience). 2018-10-04T21:31:51Z antoszka: If there's an entirely new SOA record the serial probably won't matter that much. 2018-10-04T21:32:15Z antoszka: Still, it's a pain and somebody (domain owner) would have take care of that at the registrar. 2018-10-04T21:32:31Z smaster joined #lisp 2018-10-04T21:32:58Z scymtym joined #lisp 2018-10-04T21:33:24Z antoszka: *but* 2018-10-04T21:33:34Z antoszka: it all seems to belong to enom.com (the registrar) 2018-10-04T21:33:46Z antoszka: and on their website they say "we know the service is downgraded" 2018-10-04T21:34:19Z Ober joined #lisp 2018-10-04T21:34:39Z pjb quit (Ping timeout: 252 seconds) 2018-10-04T21:35:06Z Ober notes sbcl.org is down again 2018-10-04T21:35:24Z antoszka: looks like dns problem 2018-10-04T21:35:48Z antoszka: if somebody has the IP cached we could test if the site itself is up 2018-10-04T21:35:49Z zigpaw: datacenters get flooded, they burn, or maybe someone just tipped over power cables. but that's why normally there are two dns servers, and they should be located separately (which rarely happens when people self-host) 2018-10-04T21:36:10Z skidd0: are you talking about best practices? 2018-10-04T21:36:13Z zigpaw knows cause he does the same :P 2018-10-04T21:36:14Z skidd0: what are those? 2018-10-04T21:36:16Z antoszka: zigpaw: and preferably unrelated to a) registrar b) site-hosting 2018-10-04T21:36:29Z antoszka: I try to at least adhere to a) and b) 2018-10-04T21:36:36Z Lycurgus joined #lisp 2018-10-04T21:36:44Z Ober: not even cached though. 2018-10-04T21:36:45Z antoszka: and keep ns-s separate 2018-10-04T21:37:51Z Bike quit (Ping timeout: 256 seconds) 2018-10-04T21:38:10Z zigpaw: but today it is really easy to have your domain kept by some giant-hosting-company like godaddy or smaller-one like name.com and use their dns servers which they keep separated (as they have learned the hard way years ago in most cases ;-)) 2018-10-04T21:38:31Z antoszka: 216.105.38.10 2018-10-04T21:38:33Z antoszka: here you go 2018-10-04T21:38:47Z Ober: they still hosting on source forget? 2018-10-04T21:38:48Z antoszka: sf.net 2018-10-04T21:38:54Z antoszka: looks like it 2018-10-04T21:39:25Z Ober: might as well put the forums on AOL.net to show all the millenials we're not old. :P 2018-10-04T21:39:56Z antoszka: yeah, and the site works 2018-10-04T21:40:13Z antoszka: if you put the address into `/etc/hosts` or trick your resolver your other favourite way :) 2018-10-04T21:40:42Z zigpaw: enom is just an old company that I think didn't keep up and probably not the cheapest one also. I think I haven't used them for many many years. 2018-10-04T21:41:02Z antoszka: I don't even know them. 2018-10-04T21:41:41Z antoszka: > The most recent version is SBCL 1.4.12, released September 28, 2018 (release notes). 2018-10-04T21:41:45Z antoszka: That's from the website. 2018-10-04T21:41:52Z antoszka: It's FRESH! 2018-10-04T21:42:13Z zigpaw: they were one of the few early registrars, you almost had to use them (esp. if you were not from US). 2018-10-04T21:42:45Z antoszka: Hm. I've used Polish registrars in the 90s (well, there really was only one + resellers) 2018-10-04T21:42:52Z decent-username quit (Remote host closed the connection) 2018-10-04T21:43:13Z zigpaw: but not for domains other than .pl as far as my memory serves well. 2018-10-04T21:43:26Z antonv quit (Ping timeout: 252 seconds) 2018-10-04T21:43:49Z zigpaw: and they wanted you to provide written 'proof' that you 'own' the name you wanted to register. 2018-10-04T21:44:25Z zigpaw had used nask too, they were terrible ;) 2018-10-04T21:45:45Z antoszka: zigpaw: True. They also cared for the .pl TLD. 2018-10-04T21:45:52Z antoszka: They were ;) 2018-10-04T21:48:30Z xuxuru quit (Quit: xuxuru) 2018-10-04T21:57:42Z cpape joined #lisp 2018-10-04T21:58:51Z antoszka: zigpaw: are you Polish, btw? If so, you might want to stick around #lisp-pl, too 2018-10-04T22:01:00Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-04T22:01:31Z zigpaw: I am, thanks :) 2018-10-04T22:02:55Z mkolenda joined #lisp 2018-10-04T22:06:17Z pjb joined #lisp 2018-10-04T22:07:01Z charh_ joined #lisp 2018-10-04T22:08:46Z charh quit (Ping timeout: 260 seconds) 2018-10-04T22:09:35Z nixfreak quit (Ping timeout: 256 seconds) 2018-10-04T22:09:53Z Essadon quit (Quit: Qutting) 2018-10-04T22:10:24Z solb joined #lisp 2018-10-04T22:11:10Z solb: Hey y'all -- solb back again with the optimization questions 2018-10-04T22:12:24Z LdBeth: GG 2018-10-04T22:12:25Z solb: https://pastebin.com/PNsaNGck 2018-10-04T22:12:41Z charh_ is now known as charh 2018-10-04T22:13:11Z solb: the second one takes half the time as the first one when the first is called with #'sin 2018-10-04T22:14:03Z LdBeth: SBCL? 2018-10-04T22:14:09Z solb: yessir 2018-10-04T22:16:02Z solb: one thing I've noticed is the difference that the first cons'es a bunch of things, whereas the second does not 2018-10-04T22:16:12Z solb: but I don't know why / where... 2018-10-04T22:18:32Z LdBeth: solb: I guess you place wrong place for DECLARE in DO* 2018-10-04T22:18:55Z LdBeth: http://clhs.lisp.se/Body/m_do_do.htm#doST 2018-10-04T22:19:12Z bigfondue quit (Ping timeout: 252 seconds) 2018-10-04T22:20:10Z solb: hmmm but nothing being declared there appears to be slowing down the code 2018-10-04T22:20:32Z LdBeth: Though I’m not sure it’s relevant 2018-10-04T22:21:00Z solb: What's the right format at the end? 2018-10-04T22:22:26Z LdBeth: (DO* (clauses ...) 2018-10-04T22:22:27Z LdBeth: (declare form...) 2018-10-04T22:22:28Z LdBeth: ((> time end) ...)) 2018-10-04T22:24:04Z makomo quit (Ping timeout: 244 seconds) 2018-10-04T22:27:41Z Ober left #lisp 2018-10-04T22:30:17Z skidd0 quit (Quit: WeeChat 2.2) 2018-10-04T22:31:59Z aeth: ({var | (var [init-form [step-form]])}*) (end-test-form result-form*) declaration* {tag | statement}* 2018-10-04T22:32:51Z aeth: solb: LdBeth is wrong here, and the link LdBeth provided is counter to what LdBeth is saying in LdBeth's code example 2018-10-04T22:33:16Z varjag quit (Ping timeout: 260 seconds) 2018-10-04T22:33:22Z aeth: solb: Your indentation is wrong, though. declare should go on its own line 2018-10-04T22:33:31Z solb: ok! 2018-10-04T22:33:41Z solb: do you have any idea about the cons'ing though? 2018-10-04T22:34:24Z aeth: In case I was unclear, the declaration appears as an optional first line to the body. Having the declare not on its own line obscures that declare is the first line of the body 2018-10-04T22:34:49Z pjb: funcall may be implemented as (apply f (list time)) <- here consing a list of arguments. 2018-10-04T22:35:04Z solb: oh oh I see, any way to get around that? 2018-10-04T22:35:42Z pjb: try (apply f time '()) 2018-10-04T22:35:53Z pjb: Just guessing here… 2018-10-04T22:35:59Z aeth: solb:It's not that 2018-10-04T22:37:01Z aeth: solb: The problem is that double-float itself conses, and an arbitrary double float added to another double float will also cons. It's arbitrary because it's being returned from a function that it is not inlined. (sin in your other example is inline in SBCL in this case) 2018-10-04T22:38:23Z solb: so is there a way to inline my own functions? 2018-10-04T22:38:42Z aeth: solb: The two easiest ways I can think of to work around this would be: you could turn this from a function into a macro, or you could have the function return a single-float. Inlining the function *might* also work if the calling function is itself not a higher order function, even though disassembling left-hand directly will still show consing. 2018-10-04T22:39:22Z aeth: solb: You can also have the function mutate an array of length 1 that contains a double float instead of returning a value. In SBCL, a struct with a :type double-float slot will also work. 2018-10-04T22:40:09Z aeth: (Make sure that you don't also return the value you're setting or that defeats the point becuase it'll still have to cons to return the return value even though the setting isn't consing. e.g. (setf (aref foo 0) some-double-float) as the final position would cons anyway because it will both set and return some-double-float) 2018-10-04T22:40:36Z solb: is it too much to ask what an implementation like this would look like? 2018-10-04T22:41:36Z aeth: Well those are four (five if you count structs and arrays separately) different implementations. I've used all five. 2018-10-04T22:42:21Z solb: where can I read about this? (I've read two books, and am reading 'On Lisp') 2018-10-04T22:43:58Z aeth: I'm not sure there's a resource. I've written a bit about avoiding consing in general, in the context of my game engine here: https://gitlab.com/zombie-raptor/zombie-raptor/blob/8fef9b44b47982d6e756e9b8d0eb0d7b7bd5178e/CONTRIBUTING.md#consing-heap-allocations 2018-10-04T22:44:09Z aeth: But that's skewed toward how game engines work: i.e. mutable state. 2018-10-04T22:44:39Z aeth: If you wanted an approach with less mutable state, the macro or single-float return value or inline approach might be preferable. 2018-10-04T22:45:11Z solb: how would turning into a macro help? 2018-10-04T22:45:31Z aeth: solb: Because then the double float doesn't leave the scope of the function 2018-10-04T22:46:39Z solb: what exactly does that mean in this context 2018-10-04T22:46:41Z aeth: If something is an unsigned-byte 64, signed-byte 64, or double-float it can be optimized to not be boxed, but only if it doesn't leave the function except if it's being set as an element of a specialized array (i.e. :element-type 'double-float) or (in SBCL and perhaps some other implementations) a struct slot with :type double-float 2018-10-04T22:46:43Z solb: which double-float is leaving the scope of the function? 2018-10-04T22:47:01Z aeth: solb: It's leaving the higher order function. 2018-10-04T22:47:28Z aeth: It's also the return value. 2018-10-04T22:48:06Z aeth: solb: Just skimming it my best guess is that the two allocations are (1) the return value and (2) the result of the addition in (+ suma (the double-float (funcall f time))) 2018-10-04T22:48:31Z aeth: There will also be a third allocation, f's return value. 2018-10-04T22:49:20Z solb: hmmm 2018-10-04T22:49:36Z solb: I'm trying my best to keep up 2018-10-04T22:50:32Z aeth: solb: The most straightforward refactoring would either be to (1) inline and hope that in actual use it wouldn't cons (it's only 315 bytes with allocations so it's probably small enough to add a (declaim (inline foo)) above the defun) but I'm not sure about how it would handle the funcall part (it would remove the return value's consing unless the calling function also returns a double-float) 2018-10-04T22:51:52Z aeth: solb: Or (2) make your own box with something like (make-array 1 :element-type 'double-float) and modify your API so the higher order function does something like (defun foo (x) (setf (aref x 0) (calculations (aref x 0))) nil) ; of course this pseudocode only works if calculations is inline 2018-10-04T22:52:10Z smaster quit (Ping timeout: 268 seconds) 2018-10-04T22:52:21Z aeth: (returning x instead of nil would also work, since it's an array) 2018-10-04T22:53:00Z aeth: then you'd do something like (+ suma (progn (funcall f array-of-size-one) (aref array-of-size-one 0))) 2018-10-04T22:53:13Z smaster joined #lisp 2018-10-04T22:53:34Z Bike joined #lisp 2018-10-04T22:53:39Z aeth: hopefully that would remove the boxing because it can really truly trust that + isn't going to be used on a double-float, assuming it knows that array-of-size-one is of the type (simple-array double-float (1)) 2018-10-04T22:53:50Z aeth: s/isn't going to be used/is going to be used/ 2018-10-04T22:54:26Z aeth: (I'm guessing that the ftype declaration for f isn't really working, but an aref would) 2018-10-04T22:55:05Z aeth: If you go with #1 you will get a note every compilation that it conses, even if it doesn't actually cons in any user function. 2018-10-04T22:55:37Z earl-ducaine joined #lisp 2018-10-04T22:56:26Z solb: hmm 2018-10-04T22:56:36Z solb: I have very little time but I will save all this and use this later :) 2018-10-04T22:56:38Z solb: thank you so much 2018-10-04T22:56:39Z aeth: solb: got it to work 2018-10-04T22:56:47Z solb: please share!! 2018-10-04T22:56:50Z aeth: (declaim (inline left-hand*)) 2018-10-04T22:57:00Z aeth: (well I renamed it to left-hand* to test) 2018-10-04T22:57:12Z aeth: and replace the function type with (type function f) 2018-10-04T22:57:23Z aeth: Then I did this: (defun foo () (coerce (left-hand* 1d0 2d0 3d0 #'sin) 'single-float)) 2018-10-04T22:57:25Z yaocl joined #lisp 2018-10-04T22:57:30Z aeth: half the asm size 2018-10-04T22:58:05Z aeth: (I turn it into a single-float so it doesn't allocate the final return value... there are other ways to get the value out of the function. If you need the precision, I'd set a value in a specialized array or struct instead) 2018-10-04T22:58:06Z solb: ok I will try this 2018-10-04T22:58:26Z aeth: I think it will work as long as the function you're using is itself inline, like the built-in math functions 2018-10-04T22:59:22Z aeth: If you need a double-float out of it, use an array or struct, e.g.: (defun foo (answer) (declare (type (simple-array double-float (1)) answer)) (setf (aref answer 0) (left-hand* 1d0 2d0 3d0 #'sin)) answer) 2018-10-04T22:59:39Z aeth: Just make sure that no double-float is being returned. 2018-10-04T22:59:51Z aeth: That returns the answer array that was modified to provide the answer. 2018-10-04T23:01:48Z Copenhagen_Bram quit (Quit: So long, and thanks for all the fish! 2.2 Weechat is best Weechat) 2018-10-04T23:02:36Z yaocl_ joined #lisp 2018-10-04T23:03:44Z r1b joined #lisp 2018-10-04T23:04:13Z aeth: This is a really cool result, btw. I wasn't 100% sure that you could just have an inline higher order function that calls an inline function and get an efficient result from that. It even works for user-defined inline functions like (declaim (inline bar)) (defun bar (x) (+ 2 x)) 2018-10-04T23:04:30Z yaocl quit (Ping timeout: 268 seconds) 2018-10-04T23:04:30Z yaocl_ is now known as yaocl 2018-10-04T23:05:32Z phadthai quit (Ping timeout: 272 seconds) 2018-10-04T23:05:48Z aeth: This means that practically speaking you might be able to remove a lot of your type declarations because the inline function will (probably) handle it when inline. e.g. bar has no type declarations. 2018-10-04T23:07:04Z jasom: aeth: the way the inliner works in sbcl is by recursively open-coding the inline functions, so if the HoF gets inlined, then it will have a direct call to the function passed as a parameter which gets inlined &c. 2018-10-04T23:07:41Z jasom: also I don't know if it's still the case, but several years ago sbcl would go nuts if you declared a recursive function to be inline. 2018-10-04T23:09:20Z jasom: seems to be smarter now. 2018-10-04T23:09:38Z lemoinem quit (Ping timeout: 245 seconds) 2018-10-04T23:10:15Z lemoinem joined #lisp 2018-10-04T23:10:46Z robotoad quit (Quit: robotoad) 2018-10-04T23:11:08Z LiamH quit (Quit: Leaving.) 2018-10-04T23:11:28Z aeth: Too bad you can't inline the entire program. (And if you can it'd be a bad idea) 2018-10-04T23:14:02Z makomo joined #lisp 2018-10-04T23:14:22Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-04T23:15:18Z lemoinem quit (Ping timeout: 252 seconds) 2018-10-04T23:16:04Z Kaisyu joined #lisp 2018-10-04T23:16:49Z aeth: I like the idea of having SBCL do all of the hard work. 2018-10-04T23:17:14Z Josh_2: I like it when computers make life easier 2018-10-04T23:20:02Z phadthai joined #lisp 2018-10-04T23:20:47Z dented42 joined #lisp 2018-10-04T23:22:43Z lemoinem joined #lisp 2018-10-04T23:23:27Z quipa quit (Ping timeout: 252 seconds) 2018-10-04T23:29:34Z pierpal quit (Read error: Connection reset by peer) 2018-10-04T23:29:41Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-04T23:31:30Z robotoad joined #lisp 2018-10-04T23:37:24Z mange joined #lisp 2018-10-04T23:45:43Z megalography joined #lisp 2018-10-04T23:51:36Z siraben quit (Ping timeout: 252 seconds) 2018-10-04T23:54:56Z dale quit (Quit: dale) 2018-10-05T00:01:47Z solb quit (Ping timeout: 256 seconds) 2018-10-05T00:03:16Z smaster quit (Ping timeout: 244 seconds) 2018-10-05T00:07:31Z megalography left #lisp 2018-10-05T00:08:49Z anewuser joined #lisp 2018-10-05T00:11:29Z robotoad quit (Max SendQ exceeded) 2018-10-05T00:13:14Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-05T00:14:23Z mkolenda joined #lisp 2018-10-05T00:16:19Z khisanth_ quit (Ping timeout: 246 seconds) 2018-10-05T00:17:46Z Autolycus joined #lisp 2018-10-05T00:22:53Z robotoad joined #lisp 2018-10-05T00:30:00Z khisanth_ joined #lisp 2018-10-05T00:34:24Z serichsen quit (Ping timeout: 252 seconds) 2018-10-05T00:35:29Z Autolycus quit 2018-10-05T00:36:46Z cydork joined #lisp 2018-10-05T00:37:11Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-05T00:47:04Z igemnace joined #lisp 2018-10-05T00:51:41Z cl-arthur quit (Quit: Lost terminal) 2018-10-05T00:59:48Z sjl quit (Ping timeout: 252 seconds) 2018-10-05T01:02:33Z r1b quit (Quit: r1b) 2018-10-05T01:05:01Z doesthiswork joined #lisp 2018-10-05T01:11:24Z pyx joined #lisp 2018-10-05T01:12:16Z pyx quit (Client Quit) 2018-10-05T01:13:01Z makomo quit (Ping timeout: 244 seconds) 2018-10-05T01:19:07Z dented42 joined #lisp 2018-10-05T01:24:02Z yaocl quit (Quit: yaocl) 2018-10-05T01:24:31Z yaocl joined #lisp 2018-10-05T01:27:00Z smaster joined #lisp 2018-10-05T01:36:16Z trittweiler quit (Ping timeout: 244 seconds) 2018-10-05T01:36:51Z trittweiler joined #lisp 2018-10-05T01:49:18Z smaster quit (Ping timeout: 252 seconds) 2018-10-05T02:00:58Z robotoad quit (Quit: robotoad) 2018-10-05T02:02:54Z orivej quit (Ping timeout: 264 seconds) 2018-10-05T02:04:56Z smaster joined #lisp 2018-10-05T02:11:12Z robotoad joined #lisp 2018-10-05T02:21:23Z esrse joined #lisp 2018-10-05T02:29:56Z newbie11 joined #lisp 2018-10-05T02:32:24Z earl-ducaine quit (Read error: Connection reset by peer) 2018-10-05T02:34:04Z charh quit (Quit: zZZZZz) 2018-10-05T02:36:27Z newbie11 is now known as stereosphere 2018-10-05T02:38:18Z Lycurgus quit (Quit: Exeunt) 2018-10-05T02:39:35Z beach: Good morning everyone! 2018-10-05T02:39:51Z no-defun-allowed: Morning beach 2018-10-05T02:40:36Z pierpal joined #lisp 2018-10-05T02:48:53Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-05T02:56:18Z pjb quit (Ping timeout: 252 seconds) 2018-10-05T03:21:28Z dddddd quit (Remote host closed the connection) 2018-10-05T03:21:39Z linack joined #lisp 2018-10-05T03:22:26Z Ober joined #lisp 2018-10-05T03:22:59Z Ober gets a rst on svn to common-lisp.net 2018-10-05T03:24:12Z LdBeth: Good evening 2018-10-05T03:28:03Z no-defun-allowed: Hello LdBeth 2018-10-05T03:32:21Z cydork quit (Ping timeout: 252 seconds) 2018-10-05T03:39:39Z Bike quit (Quit: Lost terminal) 2018-10-05T03:41:02Z LdBeth: Hi 2018-10-05T03:41:24Z theBlackDragon quit (Ping timeout: 252 seconds) 2018-10-05T03:42:16Z LdBeth: How to specify the title when creating a CLIM frame? 2018-10-05T03:44:52Z on_ion: checked in #clim ? 2018-10-05T03:56:44Z igemnace quit (Read error: Connection reset by peer) 2018-10-05T03:56:50Z igemnace_ joined #lisp 2018-10-05T03:57:39Z beach: LdBeth: I think the title is derived from the name of the application frame. 2018-10-05T04:02:28Z cydork joined #lisp 2018-10-05T04:04:52Z anewuser quit (Ping timeout: 246 seconds) 2018-10-05T04:12:52Z dented42 quit (Quit: Textual IRC Client: www.textualapp.com) 2018-10-05T04:16:54Z arbv quit (Ping timeout: 252 seconds) 2018-10-05T04:17:15Z slyrus2 joined #lisp 2018-10-05T04:19:32Z igemnace_ quit (Ping timeout: 244 seconds) 2018-10-05T04:20:52Z fiddlerwoaroof: I've been thinking it might be interesting to have a CLIM backend that controls emacs via swank:eval-in-emacs 2018-10-05T04:29:30Z varjag joined #lisp 2018-10-05T04:32:26Z igemnace_ joined #lisp 2018-10-05T04:33:11Z beach quit (Ping timeout: 260 seconds) 2018-10-05T04:33:45Z varjag quit (Ping timeout: 252 seconds) 2018-10-05T04:43:36Z jackdaniel: LdBeth: just pass :title "foo" in define-application-frame 2018-10-05T04:43:48Z jackdaniel: it defaults to the frame name indeed 2018-10-05T04:44:00Z jackdaniel: *just pass :NAME "foo" – not :title (!) sorry 2018-10-05T04:45:45Z nydel quit (Ping timeout: 252 seconds) 2018-10-05T04:48:22Z beach joined #lisp 2018-10-05T04:49:36Z crsc_ joined #lisp 2018-10-05T04:50:22Z beach: fiddlerwoaroof: What would the use of such a thing be? 2018-10-05T04:50:34Z sauvin_ joined #lisp 2018-10-05T04:51:52Z krkini joined #lisp 2018-10-05T04:51:56Z impulse joined #lisp 2018-10-05T04:52:08Z sauvin quit (*.net *.split) 2018-10-05T04:52:08Z akovalenko quit (*.net *.split) 2018-10-05T04:52:08Z troydm quit (*.net *.split) 2018-10-05T04:52:08Z uint quit (*.net *.split) 2018-10-05T04:52:08Z Demosthenex quit (*.net *.split) 2018-10-05T04:52:08Z crsc quit (*.net *.split) 2018-10-05T04:52:08Z kini quit (*.net *.split) 2018-10-05T04:52:08Z katyusha quit (*.net *.split) 2018-10-05T04:54:39Z zotan quit (Ping timeout: 252 seconds) 2018-10-05T04:55:21Z linack quit (Quit: Leaving) 2018-10-05T04:57:07Z akovalenko joined #lisp 2018-10-05T04:57:07Z troydm joined #lisp 2018-10-05T04:57:07Z uint joined #lisp 2018-10-05T04:57:07Z Demosthenex joined #lisp 2018-10-05T04:57:07Z katyusha joined #lisp 2018-10-05T04:58:05Z fiddlerwoaroof: It would be portable, cross-platform mainly 2018-10-05T04:58:29Z beach: Yes, but I don't understand what such a thing does. 2018-10-05T04:58:43Z beach: Sorry for being dense. It's early in the morning. 2018-10-05T05:01:16Z fiddlerwoaroof: Ah, emacs already has a widget library and various text styling facilities and slime/swank seem to have a way to bind a buffer to a stream. 2018-10-05T05:01:46Z fiddlerwoaroof: It would be kinda interesting to have something like clim-listener running inside of an emacs window 2018-10-05T05:02:01Z beach: OK, I see. Thanks for the explanation. 2018-10-05T05:03:48Z shka_ joined #lisp 2018-10-05T05:07:43Z beach: fiddlerwoaroof: There is a lot of McCLIM activity at the moment, so if you want to pursue that idea, this is a good time. 2018-10-05T05:10:28Z frgo quit (Remote host closed the connection) 2018-10-05T05:11:06Z frgo joined #lisp 2018-10-05T05:15:32Z frgo quit (Ping timeout: 252 seconds) 2018-10-05T05:22:29Z dented42 joined #lisp 2018-10-05T05:27:30Z shka_: good evening 2018-10-05T05:27:50Z beach: ? 2018-10-05T05:28:07Z beach: shka_: Where are you? 2018-10-05T05:28:10Z shka_: haha, i think that i did not sleep that well xD 2018-10-05T05:28:12Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-05T05:28:20Z shka_: good morning, obviously 2018-10-05T05:28:25Z beach: OK. 2018-10-05T05:44:09Z stereosphere quit (Ping timeout: 252 seconds) 2018-10-05T05:59:00Z cydork quit (Ping timeout: 252 seconds) 2018-10-05T06:01:12Z frgo joined #lisp 2018-10-05T06:02:26Z doesthiswork quit (Ping timeout: 260 seconds) 2018-10-05T06:05:30Z sauvin_ is now known as Sauvin 2018-10-05T06:05:41Z frgo quit (Ping timeout: 268 seconds) 2018-10-05T06:06:47Z JohnMS_WORK joined #lisp 2018-10-05T06:06:55Z mange quit (Ping timeout: 268 seconds) 2018-10-05T06:07:29Z varjag joined #lisp 2018-10-05T06:08:15Z flamebeard joined #lisp 2018-10-05T06:13:10Z yaocl quit (Quit: yaocl) 2018-10-05T06:16:17Z anewuser joined #lisp 2018-10-05T06:17:28Z shka_ quit (Ping timeout: 272 seconds) 2018-10-05T06:21:57Z frgo joined #lisp 2018-10-05T06:26:58Z frgo quit (Ping timeout: 272 seconds) 2018-10-05T06:29:30Z cydork joined #lisp 2018-10-05T06:40:50Z scymtym quit (Ping timeout: 268 seconds) 2018-10-05T06:43:46Z ggole joined #lisp 2018-10-05T06:44:00Z igemnace_ is now known as igemnace 2018-10-05T06:45:36Z varjag quit (Ping timeout: 260 seconds) 2018-10-05T06:47:34Z LdBeth: jackdaniel: Actually I want to pass it to make-application-frame, and I figured out I want :pretty-name, but thanks 2018-10-05T06:48:00Z vlatkoB joined #lisp 2018-10-05T06:52:06Z LdBeth: Common Lisp's inspector is great 2018-10-05T06:56:53Z splittist: good morning 2018-10-05T07:02:06Z yaocl joined #lisp 2018-10-05T07:11:16Z ggole quit (Ping timeout: 260 seconds) 2018-10-05T07:12:12Z ggole joined #lisp 2018-10-05T07:14:09Z robotoad quit (Quit: robotoad) 2018-10-05T07:15:09Z scymtym joined #lisp 2018-10-05T07:23:51Z frgo joined #lisp 2018-10-05T07:28:18Z frgo quit (Ping timeout: 252 seconds) 2018-10-05T07:32:50Z pierpal quit (Read error: Connection reset by peer) 2018-10-05T07:34:48Z heisig joined #lisp 2018-10-05T07:36:05Z robotoad joined #lisp 2018-10-05T07:36:49Z aeth quit (Read error: Connection reset by peer) 2018-10-05T07:37:21Z pierpal joined #lisp 2018-10-05T07:37:27Z aeth joined #lisp 2018-10-05T07:42:27Z shka_ joined #lisp 2018-10-05T07:46:15Z mrblack quit (Remote host closed the connection) 2018-10-05T07:49:24Z HDurer quit (Remote host closed the connection) 2018-10-05T07:58:22Z slyrus2 quit (Remote host closed the connection) 2018-10-05T07:59:31Z hhdave joined #lisp 2018-10-05T08:04:22Z robotoad quit (Quit: robotoad) 2018-10-05T08:04:42Z impulse quit (Ping timeout: 268 seconds) 2018-10-05T08:05:35Z impulse joined #lisp 2018-10-05T08:08:14Z astronavt quit (Read error: Connection reset by peer) 2018-10-05T08:08:29Z astronavt joined #lisp 2018-10-05T08:20:38Z angavrilov joined #lisp 2018-10-05T08:23:59Z frgo joined #lisp 2018-10-05T08:28:36Z frgo quit (Ping timeout: 252 seconds) 2018-10-05T08:31:08Z frgo joined #lisp 2018-10-05T08:33:04Z mathrick_ quit (Ping timeout: 240 seconds) 2018-10-05T08:34:22Z themsay quit (Ping timeout: 246 seconds) 2018-10-05T08:36:24Z mathrick_ joined #lisp 2018-10-05T08:50:22Z beach: Hello splittist. 2018-10-05T08:51:18Z trittweiler quit (Ping timeout: 244 seconds) 2018-10-05T08:55:25Z quipa joined #lisp 2018-10-05T08:57:01Z quipa_ joined #lisp 2018-10-05T08:59:51Z angavrilov quit (Ping timeout: 252 seconds) 2018-10-05T09:00:12Z quipa quit (Ping timeout: 268 seconds) 2018-10-05T09:04:24Z zfree joined #lisp 2018-10-05T09:04:43Z angavrilov joined #lisp 2018-10-05T09:08:50Z esrse quit (Ping timeout: 268 seconds) 2018-10-05T09:11:54Z yaocl quit (Quit: yaocl) 2018-10-05T09:13:21Z JohnMS joined #lisp 2018-10-05T09:15:25Z nirved joined #lisp 2018-10-05T09:16:27Z JohnMS_WORK quit (Ping timeout: 252 seconds) 2018-10-05T09:17:52Z orivej joined #lisp 2018-10-05T09:18:26Z nsrahmad joined #lisp 2018-10-05T09:29:28Z JohnMS_WORK joined #lisp 2018-10-05T09:32:36Z JohnMS quit (Ping timeout: 252 seconds) 2018-10-05T09:36:25Z Myon: svillemot, dim: I gave http://beta.quicklisp.org/archive/nibbles/2018-08-31/nibbles-20180831-git.tgz a try and now pgloader says Fatal SIMPLE-ERROR: 2018-10-05T09:36:28Z Myon: Compilation failed: Compile-time package lock violation: 2018-10-05T09:36:31Z Myon: Lock on package SB-X86-64-ASM violated when binding EA as a local function 2018-10-05T09:36:33Z Myon: while in package SB-VM. 2018-10-05T09:38:56Z crsc_ is now known as crsc 2018-10-05T09:49:27Z pierpal quit (Ping timeout: 252 seconds) 2018-10-05T09:49:32Z razzy quit (Ping timeout: 268 seconds) 2018-10-05T09:49:50Z zaquest quit (Remote host closed the connection) 2018-10-05T09:59:57Z jackdaniel: looks like someone tries to access symbol which is not there anymore 2018-10-05T10:00:20Z jackdaniel: (or yet, depends on sbcl your sbcl version) 2018-10-05T10:00:30Z jackdaniel: s/on sbcl/on/ 2018-10-05T10:02:36Z shka_: Myon: what version of SBCL? 2018-10-05T10:03:54Z shka_: i have newest sbcl built, i will attempt to load nibbles 2018-10-05T10:05:08Z shka_: it loaded for me 2018-10-05T10:05:49Z shka_: small clarification though, it is sbcl 1.4.11 here 2018-10-05T10:05:57Z shka_: so fairly recent, but not the newest one! 2018-10-05T10:08:08Z russellw: Is it good to have things aligned in columns? Which version is best? https://pastebin.com/bXGvAfzg 2018-10-05T10:11:11Z shka_: russellw: i think that basicly nobody attempts to align columns in lisp 2018-10-05T10:11:32Z shka_: at least i don't see it 2018-10-05T10:11:45Z russellw: cool, thanks 2018-10-05T10:16:30Z beach: russellw: Lining up the columns has at least two disadvantages that I can see: First, it takes more effort when you introduce more lines of code, because the old alignment may then be wrong. Second, if one line has a short first word and a long second word, and another has a long first word and a short second word, you can get into a situation where lines end up far to the right, even though there is room for each individual line when 2018-10-05T10:16:31Z beach: it is not aligned. 2018-10-05T10:17:12Z russellw: beach, true! I'm writing an auto formatter which would solve the first problem, but not the second 2018-10-05T10:17:21Z beach: I see. 2018-10-05T10:17:24Z _death: there was redshank 2018-10-05T10:20:17Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-10-05T10:22:15Z igemnace quit (Quit: gtg) 2018-10-05T10:29:40Z Myon: shka_: 2:1.4.11-1 2018-10-05T10:29:48Z Myon: Debian unstable 2018-10-05T10:30:07Z shka_: maybe i have older version of nibbles then 2018-10-05T10:30:57Z mange joined #lisp 2018-10-05T10:31:20Z Myon: context is https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908641 2018-10-05T10:32:12Z shka_: nope, same version of nibbles as well 2018-10-05T10:32:35Z shka_: interesting 2018-10-05T10:33:00Z shka_: i have no clue why this happens 2018-10-05T10:33:30Z shka_: nibbles loads fine on sbcl here 2018-10-05T10:40:56Z razzy joined #lisp 2018-10-05T10:50:42Z nsrahmad quit (Ping timeout: 252 seconds) 2018-10-05T10:52:21Z kooga quit (Ping timeout: 252 seconds) 2018-10-05T10:54:18Z dddddd joined #lisp 2018-10-05T10:55:05Z varjag joined #lisp 2018-10-05T10:57:05Z kooga joined #lisp 2018-10-05T11:19:00Z mejja joined #lisp 2018-10-05T11:27:39Z pierpal joined #lisp 2018-10-05T11:30:12Z kajo joined #lisp 2018-10-05T11:31:31Z m00natic joined #lisp 2018-10-05T11:43:48Z Essadon joined #lisp 2018-10-05T11:51:33Z astronavt quit (Ping timeout: 252 seconds) 2018-10-05T11:53:46Z kajo quit (Ping timeout: 272 seconds) 2018-10-05T11:58:48Z frgo quit (Remote host closed the connection) 2018-10-05T11:59:16Z frgo joined #lisp 2018-10-05T12:00:46Z siraben joined #lisp 2018-10-05T12:00:58Z frgo_ joined #lisp 2018-10-05T12:01:25Z frgo_ quit (Remote host closed the connection) 2018-10-05T12:01:40Z frgo_ joined #lisp 2018-10-05T12:03:39Z frgo quit (Ping timeout: 252 seconds) 2018-10-05T12:13:17Z kushal quit (Ping timeout: 256 seconds) 2018-10-05T12:14:01Z kushal joined #lisp 2018-10-05T12:15:36Z phoe: beach: Do you have any implementation of ENSURE-CLASS-USING-CLASS? 2018-10-05T12:15:48Z phoe: I'm particularly interested in the part that updates/redefines existing class objects. 2018-10-05T12:17:23Z phoe: ...I think I found it, https://github.com/robert-strandh/SICL/blob/e19613c61d8797a9ea586e3c513efdaeb0860d68/Code/CLOS/ensure-class-using-class-support.lisp 2018-10-05T12:17:35Z beach: You did. 2018-10-05T12:17:50Z kajo joined #lisp 2018-10-05T12:18:11Z beach: phoe: Most of the CLOS code is split up into support/defgenerics/defmethods 2018-10-05T12:18:14Z phoe: Oh. It simply calls REINITIALIZE-INSTANCE. 2018-10-05T12:18:42Z beach: Only if the class already exists. 2018-10-05T12:18:44Z phoe: ...well, not "simply". 2018-10-05T12:18:47Z phoe: But in the end, yes. 2018-10-05T12:19:23Z phoe: If it doesn't exist, it creates that class. 2018-10-05T12:19:32Z roshanavand joined #lisp 2018-10-05T12:19:41Z beach: Yes, that's it's purpose in life. 2018-10-05T12:19:49Z phoe: (: 2018-10-05T12:24:16Z beach: phoe: What problem are you trying to solve? 2018-10-05T12:25:55Z elderK quit (Quit: Connection closed for inactivity) 2018-10-05T12:27:43Z roshanavand quit (Quit: leaving) 2018-10-05T12:31:14Z phoe: beach: extending CLOS to add an alternate class type. Classes are usually named by symbols; I've found an use case for objects that are named by lists containing two symbols. 2018-10-05T12:31:59Z beach: phoe: I think the presentation types in McCLIM are represented by classes named that way. 2018-10-05T12:32:57Z beach: Apparently, it is allowed. 2018-10-05T12:33:26Z beach: http://metamodular.com/CLOS-MOP/initialization-of-class-metaobjects2.html 2018-10-05T12:33:48Z beach: "The :name argument is an object." 2018-10-05T12:33:48Z phoe: allowed? 2018-10-05T12:33:59Z phoe: ... 2018-10-05T12:34:00Z phoe: http://metamodular.com/CLOS-MOP/class-name.html 2018-10-05T12:34:13Z phoe: This is different than http://clhs.lisp.se/Body/f_class_.htm 2018-10-05T12:34:44Z beach: Yes. 2018-10-05T12:35:18Z beach: You can't find such a class using FIND-CLASS, but the intrinsic name of the class can be any object according to the MOP. 2018-10-05T12:36:02Z phoe: But I could write my own function that is named FIND-FOO. 2018-10-05T12:36:14Z phoe: That will find a FOO with the name (BAR BAZ). 2018-10-05T12:36:19Z beach: Yes, you can have your classes in your own database. 2018-10-05T12:36:39Z phoe: And I'll need a DEFINE-FOO that calls ENSURE-FOO that calls ENSURE-FOO-USING-CLASS. 2018-10-05T12:39:29Z beach: You could "cheat". 2018-10-05T12:39:39Z phoe: How? 2018-10-05T12:39:48Z phoe: By defining methods on ENSURE-CLASS? 2018-10-05T12:39:56Z phoe: ...-USING-CLASS? 2018-10-05T12:40:18Z beach: Name your class with (gensym), then, once it is in your database, (reinitialize-instance (find-class ) :name ) 2018-10-05T12:40:33Z beach: Then you can use the existing machinery. 2018-10-05T12:40:39Z phoe: Oh. 2018-10-05T12:40:47Z phoe: How would subsequent DEFCLASS calls work? 2018-10-05T12:40:59Z phoe: I mean, would this make it possible to reinitialize the class using DEFCLASS? 2018-10-05T12:41:17Z beach: You can't use DEFCLASS with anything other than a symbol. 2018-10-05T12:41:26Z phoe: Oh, wait, that's correct. 2018-10-05T12:41:31Z phoe: But, wait. 2018-10-05T12:41:43Z phoe: It is in my database now, so I can call (find-foo '(bar baz)). 2018-10-05T12:41:52Z phoe: And I can call REINITIALIZE-INSTANCE manually. 2018-10-05T12:42:04Z phoe: Which means that I'll nonetheless need to write that piece of the machinery. 2018-10-05T12:42:19Z beach: Not necessarily. 2018-10-05T12:42:54Z phoe: ...do I first rename the class back to the gensym, then call ENSURE-CLASS-USING-CLASS, then rename the class back to the list? 2018-10-05T12:42:58Z smaster quit (Ping timeout: 245 seconds) 2018-10-05T12:43:22Z beach: Something like that. 2018-10-05T12:43:32Z phoe: This is a hack. 2018-10-05T12:43:40Z phoe: ........I think I'll do that. 2018-10-05T12:43:44Z beach: You do (setf (find-class (gensym)) (find-my-class )) 2018-10-05T12:43:54Z beach: Then (ensure-class-using-class...) 2018-10-05T12:44:08Z beach: Then (setf (find-class ) nil) 2018-10-05T12:44:19Z beach: You don't have to use the original gensym. 2018-10-05T12:44:36Z phoe: Oh, so the gensym only has lexical extent. 2018-10-05T12:44:57Z beach: If you setf the find-class to NIL, then it will be gone after that. 2018-10-05T12:45:07Z beach: So, yes. 2018-10-05T12:45:12Z beach: You don't have to remember it. 2018-10-05T12:46:39Z phoe: Clever. 2018-10-05T12:46:46Z beach: Thanks! :) 2018-10-05T12:46:47Z phoe: Cleavir.* 2018-10-05T12:46:51Z beach: Heh! 2018-10-05T12:46:51Z phoe: (sorry, typo) 2018-10-05T12:46:54Z phoe: (: 2018-10-05T12:47:04Z phoe: I wasn't aware of that MOP extension of #'CLASS-NAME 2018-10-05T12:47:21Z beach: Not a lot of people know that. :) 2018-10-05T12:48:25Z phoe: So, basically, I can specialize CLASS-NAME on my custom subclass of STANDARD-CLASS. 2018-10-05T12:48:42Z phoe: And it'll return whatever I tell it to return. 2018-10-05T12:49:04Z jack_rabbit quit (Ping timeout: 240 seconds) 2018-10-05T12:50:41Z heisig quit (Quit: Leaving) 2018-10-05T12:52:49Z beach: You don't need to do that. 2018-10-05T12:53:09Z beach: CLASS-NAME returns the intrinsic name of the class. 2018-10-05T12:53:27Z beach: Not the name used as key in the database. 2018-10-05T12:53:33Z phoe: Oh. Right. 2018-10-05T12:53:51Z phoe: So I can already set arbitrary data there and retrieve it. 2018-10-05T12:53:56Z beach: Yes. 2018-10-05T12:54:06Z phoe: That's even better. 2018-10-05T12:54:11Z beach: You just need to write your own FIND-CLASS and (SETF FIND-CLASS) 2018-10-05T12:54:49Z beach: ... and your own version of DEFCLASS if you want to be able to define classes that way. 2018-10-05T12:54:52Z phoe: Yes, and in the trivial case it's just GETHASH, (SETF GETHASH), and REMHASH. 2018-10-05T12:55:03Z beach: But your macro could expand to DEFCLASS with a GENSYM. 2018-10-05T12:55:06Z phoe: And DEFINE-FOO that wraps around DEFCLASS--- 2018-10-05T12:55:09Z phoe: Yes, exactly this. 2018-10-05T12:55:13Z beach: You got it. 2018-10-05T12:55:49Z phoe: It's a hack. I never thought of using GENSYMs in FIND-CLASS. 2018-10-05T12:55:58Z phoe: Or rather - as class names. 2018-10-05T12:56:02Z beach: Make sure you stick some UNWIND-PROTECT in there so that you don't accumulate gensym-ed class names in find-class. 2018-10-05T12:56:11Z phoe: Yes, that's correct. I remember that one. 2018-10-05T12:56:54Z cydork quit (Ping timeout: 252 seconds) 2018-10-05T12:57:15Z phoe: (let ((gensym (gensym))) (unwind-protect (progn (setf (find-class gensym) my-class) ...) (setf (find-class gensym) nil))) 2018-10-05T12:57:25Z phoe: Something like that I think. 2018-10-05T12:57:34Z beach: Yes, something like that. 2018-10-05T12:58:51Z phoe: One more question - is (tagbody :loop (unwind-protect ... (go :loop))) unescapable by any standard means? 2018-10-05T12:59:54Z beach: Not sure what you are asking. 2018-10-05T13:00:14Z beach: Oh, no, that one is undefined behavior. 2018-10-05T13:00:25Z phoe: Is it undefined? 2018-10-05T13:00:28Z beach: Yes. 2018-10-05T13:01:24Z beach: clhs 5.2 2018-10-05T13:01:24Z specbot: Transfer of Control to an Exit Point: http://www.lispworks.com/reference/HyperSpec/Body/05_b.htm 2018-10-05T13:01:53Z phoe: "2. The cleanup clauses of any intervening unwind-protect clauses are evaluated. " 2018-10-05T13:01:58Z beach: :loop is an exit point that should be "abandoned" if someone transfers control outside that tagbody. 2018-10-05T13:02:32Z phoe: Yes, but control isn't transferred outside of that tagbody. 2018-10-05T13:02:43Z phoe: It's transferred right into the tagbody. 2018-10-05T13:03:10Z beach: If ... contains a (throw 'outside) it does. 2018-10-05T13:03:51Z phoe: Oh! 2018-10-05T13:03:57Z phoe: So that's what this passage means. 2018-10-05T13:04:02Z phoe: I got it now. 2018-10-05T13:04:03Z beach: Yes. 2018-10-05T13:04:36Z beach: Any exit points between the throw and the catch are "abandoned" in step 1. 2018-10-05T13:04:36Z LiamH joined #lisp 2018-10-05T13:04:44Z beach: And that includes the :loop. 2018-10-05T13:05:12Z warweasle joined #lisp 2018-10-05T13:06:12Z beach: You might find that many existing implementations do not, in fact, abandon it, and that your code "works". Nevertheless it is undefined behavior, and your code won't work in SICL. 2018-10-05T13:08:15Z random-nick joined #lisp 2018-10-05T13:13:04Z nirved_ joined #lisp 2018-10-05T13:13:04Z nirved is now known as Guest40980 2018-10-05T13:13:04Z Guest40980 quit (Killed (niven.freenode.net (Nickname regained by services))) 2018-10-05T13:13:04Z nirved_ is now known as nirved 2018-10-05T13:13:38Z Fade joined #lisp 2018-10-05T13:21:24Z rippa joined #lisp 2018-10-05T13:22:18Z frgo_ quit (Remote host closed the connection) 2018-10-05T13:23:01Z phoe: Okay. I understand that now. 2018-10-05T13:23:03Z phoe: Thanks! 2018-10-05T13:23:18Z beach: Great! 2018-10-05T13:24:54Z cydork joined #lisp 2018-10-05T13:25:01Z frgo joined #lisp 2018-10-05T13:25:47Z charh joined #lisp 2018-10-05T13:26:51Z Bike joined #lisp 2018-10-05T13:37:20Z dale joined #lisp 2018-10-05T13:42:04Z astronavt joined #lisp 2018-10-05T13:53:32Z Fade: slow morning. 2018-10-05T13:53:53Z SaganMan joined #lisp 2018-10-05T13:54:12Z khisanth_ quit (Quit: Leaving) 2018-10-05T13:54:42Z Khisanth joined #lisp 2018-10-05T13:55:30Z phoe: *afternoon 2018-10-05T13:58:48Z astronavt_ joined #lisp 2018-10-05T13:59:38Z zfree quit (Quit: zfree) 2018-10-05T14:01:08Z astronavt quit (Ping timeout: 268 seconds) 2018-10-05T14:01:14Z phoe: beach: minor tidbit, inside my custom DEFCLASS wrapper, should the gensym be created once at macroexpansion time, or each single time at execution time? 2018-10-05T14:01:37Z phoe: Should it be `(let ((gensym (gensym "CLASS-NAME))) ...) or (let ((gensym (gensym "CLASS-NAME"))) `...) ? 2018-10-05T14:01:44Z arbv joined #lisp 2018-10-05T14:02:13Z beach: I don't think it matters. 2018-10-05T14:02:25Z phoe: I don't think either. 2018-10-05T14:02:27Z orivej quit (Ping timeout: 252 seconds) 2018-10-05T14:08:20Z beach quit (Disconnected by services) 2018-10-05T14:08:33Z phoe: Is there a format control that prints a space only if there is no preceding whitespace? 2018-10-05T14:08:58Z beach joined #lisp 2018-10-05T14:09:20Z dlowe: ~t can do that I think 2018-10-05T14:09:45Z dlowe: oh, hm. maybe not. 2018-10-05T14:11:25Z astronavt__ joined #lisp 2018-10-05T14:12:21Z mange quit (Ping timeout: 252 seconds) 2018-10-05T14:13:17Z phoe: One more question - when I define a PRINT-OBJECT method on a CLASS metaobject, what is the correct way to avoid printing behavior like #<# 56789> when printing its instances? 2018-10-05T14:14:04Z Bike: ...does that happen? 2018-10-05T14:14:15Z phoe: http://plaster.tymoon.eu/view/943#943 2018-10-05T14:14:22Z phoe: Yes, most likely because I screwed up somewhere 2018-10-05T14:14:36Z phoe: find-message-class is my custom mechanism 2018-10-05T14:14:47Z phoe: and '(foo bar) is the class name in this case 2018-10-05T14:14:50Z Bike: ...huh 2018-10-05T14:15:06Z Bike: i would have expected print-unreadable-object :type to use the class-name 2018-10-05T14:15:10Z astronavt_ quit (Ping timeout: 250 seconds) 2018-10-05T14:15:25Z phoe: hm 2018-10-05T14:15:36Z phoe: maybe I have screwed it up 2018-10-05T14:16:21Z Bike: do you have a print-object method on the message-class? 2018-10-05T14:16:28Z Bike: on (foo bar) i guess. 2018-10-05T14:17:58Z phoe: Hm 2018-10-05T14:18:01Z phoe: One second 2018-10-05T14:18:08Z phoe: Let me restart my Lisp image and start from scratch 2018-10-05T14:18:16Z phoe: I might have done something there 2018-10-05T14:18:55Z phoe: nope, I don't 2018-10-05T14:19:24Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-10-05T14:19:43Z Bike: can you compute-applicable-methods and make sure they're all standard, for a sanity check 2018-10-05T14:20:02Z azrazalea joined #lisp 2018-10-05T14:20:20Z phoe: http://plaster.tymoon.eu/view/944#944 2018-10-05T14:20:24Z phoe: that's the whole code that I have written 2018-10-05T14:21:06Z phoe: (compute-applicable-methods #'print-object (list * *standard-output*)) ;=> (# #) 2018-10-05T14:21:19Z phoe: where * ;=> #<# {1003C24793}> 2018-10-05T14:21:23Z phoe: so, the instance 2018-10-05T14:21:30Z frgo quit (Remote host closed the connection) 2018-10-05T14:22:03Z frgo joined #lisp 2018-10-05T14:22:12Z phoe: ...oh 2018-10-05T14:22:30Z phoe: http://plaster.tymoon.eu/view/945#945 2018-10-05T14:22:34Z phoe: is this behavior of TYPE-OF expected? 2018-10-05T14:22:37Z phoe: clhs type-of 2018-10-05T14:22:37Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_tp_of.htm 2018-10-05T14:22:48Z Bike: well, sure. 2018-10-05T14:22:50Z phoe: ...yes, it returns the class object 2018-10-05T14:22:54Z phoe: which is a type specifier 2018-10-05T14:23:14Z Bike: but print-unreadable-object doesn't have to print the type-of. 2018-10-05T14:23:24Z phoe: https://github.com/sbcl/sbcl/blob/master/src/code/print.lisp#L257 2018-10-05T14:23:28Z phoe: my implementation does that 2018-10-05T14:23:52Z Bike: Oh. 2018-10-05T14:23:59Z Bike: What's class-name of this message-class of yours? 2018-10-05T14:24:05Z cage_ joined #lisp 2018-10-05T14:24:26Z phoe: (class-name (find-message-class '(foo bar))) ;=> (FOO BAR) 2018-10-05T14:24:37Z phoe: it's a two-element list 2018-10-05T14:24:40Z Bike: Huh 2018-10-05T14:24:57Z Bike: Well, type-of won't return that since it won't work through find-class, so it's not the class's "proper name" 2018-10-05T14:25:01Z phoe: (since the MOP allows arbitrary Lisp data to be class-names, as beach has explained above) 2018-10-05T14:25:50Z phoe: 4. For objects of metaclass structure-class or standard-class, and for conditions, type-of returns the proper name of the class returned by class-of if it has a proper name, and otherwise returns the class itself. 2018-10-05T14:25:58Z phoe: yep, it returns the class itself. 2018-10-05T14:26:07Z Bike: you could either ask sbcl to be a little smarter, or my preferred option, define your own print-object method for message-object that prints something nice 2018-10-05T14:26:37Z Bike: where message-object is a superclass of all instances of message-class 2018-10-05T14:26:49Z phoe: Yes, that's what I need to do 2018-10-05T14:26:51Z frgo quit (Ping timeout: 252 seconds) 2018-10-05T14:27:57Z scymtym quit (Ping timeout: 252 seconds) 2018-10-05T14:29:07Z Bike: though it might still be annoying if somebody wants to have a different print-object method for a subclass and tries to use print unreadable object 2018-10-05T14:32:25Z anewuser quit (Ping timeout: 246 seconds) 2018-10-05T14:33:06Z phoe: message-object being a superclass of all instances of message-class... 2018-10-05T14:33:07Z shka_: phoe: why do you want each message to have different class? 2018-10-05T14:33:11Z phoe: hm, one second, let me parse it 2018-10-05T14:33:25Z orivej joined #lisp 2018-10-05T14:33:33Z phoe: shka_: to have some decent inheritance and define serialization and deserialization as CLOS methods on these classes 2018-10-05T14:34:04Z shka_: can't you simple dispach serialization and deserialization on content of the message? 2018-10-05T14:34:46Z anewuser joined #lisp 2018-10-05T14:36:23Z phoe: shka_: sure I can, and the first element of the message is the indicator of the type of the message 2018-10-05T14:36:30Z phoe: in other words, the class name 2018-10-05T14:36:43Z phoe: so I make an instance of the class name and fill its slots based on the rest of the message 2018-10-05T14:36:58Z phoe: boom, I dispatch serialization/deserialization based on the contents of the message. 2018-10-05T14:38:46Z shka_: I am terribly sorry, i can't follow all the wall of the text today and i am not sure how this relates to message answers we were discussing the other day 2018-10-05T14:38:59Z Denommus joined #lisp 2018-10-05T14:38:59Z shka_: so please, don't mind me 2018-10-05T14:40:24Z Bike: phoe: i.e. like standard-object and standard-class. 2018-10-05T14:41:08Z phoe: Bike: uh, each time you make an instance of standard-class, you get a standard-object, right? 2018-10-05T14:41:32Z Bike: no. every instance of standard-class is a subclass of standard-object, though. 2018-10-05T14:41:50Z Bike: well, okay, you also get an instance of standard-object, but that's not what i'm talking about here. 2018-10-05T14:42:06Z phoe: oh. I got it right then. 2018-10-05T14:49:52Z frgo joined #lisp 2018-10-05T14:50:20Z phoe: Okay, I got it. Now all I need is a custom DEFMETHOD that accepts these semi-anonymous classes. 2018-10-05T14:50:29Z phoe: ...as specializers, that is. 2018-10-05T14:50:49Z Bike: if i were you i'd have it just do your custom lookup and then expand into a defmethod with literal classes 2018-10-05T14:50:59Z Bike: and then define a make-load-form for the classes so that they dump correctly 2018-10-05T14:51:07Z phoe: Oh. Wait a second. 2018-10-05T14:51:28Z phoe: What I did was, I wrapped around DEFCLASS, and temporarily assigned a gensymmed name to the class. 2018-10-05T14:51:34Z phoe: I can do the same thing for DEFMETHOD. 2018-10-05T14:52:02Z phoe: This is ugly as holy hell, blame beach for suggesting this to me. 2018-10-05T14:53:03Z phoe: It's going to be more work, because I need to do a little bit of argument parsing in case of DEFMETHOD, but it should work. 2018-10-05T14:53:09Z Bike: what? you don't need to do... what 2018-10-05T14:53:17Z Bike: i mean for defmethod it should be pretty easy 2018-10-05T14:53:23Z Bike: you can use the parsing functions mop exposes, probably 2018-10-05T14:53:35Z phoe: oh, it exposes such a function? 2018-10-05T14:53:48Z bigfondue joined #lisp 2018-10-05T14:54:13Z frgo quit (Ping timeout: 245 seconds) 2018-10-05T14:54:51Z Bike: sb-mop:extract-{lambda-list, specializer-names} 2018-10-05T14:55:09Z phoe: ooh 2018-10-05T14:55:20Z Bike: er, not just sb- 2018-10-05T14:55:20Z phoe: that's the thing, thanks! 2018-10-05T14:55:22Z Bike: you know what i mean 2018-10-05T14:55:23Z phoe: yes 2018-10-05T14:55:31Z frgo joined #lisp 2018-10-05T14:56:13Z phoe: I need to have three cases here 2018-10-05T14:56:19Z phoe: One, in case it's a symbol 2018-10-05T14:56:26Z phoe: Two, in case it's an EQL-specializer 2018-10-05T14:56:54Z phoe: Three, in case it's a list that's not an EQL specializer, in which case it's the name of my custom class 2018-10-05T14:57:04Z phoe: ...gee, MOP makes things so easy sometimes 2018-10-05T14:59:32Z astronavt joined #lisp 2018-10-05T14:59:34Z astronavt__ quit (Read error: Connection reset by peer) 2018-10-05T15:01:14Z astronavt quit (Max SendQ exceeded) 2018-10-05T15:02:51Z astronavt joined #lisp 2018-10-05T15:03:33Z astronavt quit (Max SendQ exceeded) 2018-10-05T15:04:03Z astronavt joined #lisp 2018-10-05T15:05:01Z astronavt quit (Max SendQ exceeded) 2018-10-05T15:05:31Z astronavt joined #lisp 2018-10-05T15:13:16Z astronavt quit (Remote host closed the connection) 2018-10-05T15:13:43Z astronavt joined #lisp 2018-10-05T15:17:50Z robotoad joined #lisp 2018-10-05T15:19:29Z igemnace joined #lisp 2018-10-05T15:27:38Z shka_ quit (Quit: WeeChat 1.9.1) 2018-10-05T15:30:31Z flamebeard quit 2018-10-05T15:33:18Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-05T15:35:48Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-05T15:41:53Z Josh_2 joined #lisp 2018-10-05T15:52:35Z Denommus quit (Remote host closed the connection) 2018-10-05T15:54:53Z astronavt quit (Read error: Connection reset by peer) 2018-10-05T15:55:13Z astronavt joined #lisp 2018-10-05T15:56:02Z scymtym joined #lisp 2018-10-05T16:00:35Z emerson quit (Quit: WeeChat 2.2) 2018-10-05T16:01:29Z emerson joined #lisp 2018-10-05T16:02:04Z astronavt_ joined #lisp 2018-10-05T16:02:11Z astronavt quit (Read error: Connection reset by peer) 2018-10-05T16:07:22Z astronavt_ quit (Read error: Connection reset by peer) 2018-10-05T16:07:53Z astronavt_ joined #lisp 2018-10-05T16:12:04Z hhdave quit (Ping timeout: 240 seconds) 2018-10-05T16:12:08Z varjag joined #lisp 2018-10-05T16:12:15Z cl-arthur joined #lisp 2018-10-05T16:16:12Z mhd2018 joined #lisp 2018-10-05T16:19:46Z quipa_ is now known as quipa 2018-10-05T16:23:37Z Arcaelyx joined #lisp 2018-10-05T16:25:00Z kajo joined #lisp 2018-10-05T16:25:27Z astronavt_ quit (Ping timeout: 252 seconds) 2018-10-05T16:28:25Z pfdietz: What fun: (sxhash ) ==> 593605263 in CCL 2018-10-05T16:28:43Z beach: Why is that strange? 2018-10-05T16:29:05Z Bike: they're all the same hash, you mean? 2018-10-05T16:29:15Z pfdietz: Yes. That magic number. 2018-10-05T16:29:29Z beach has not looked into sxhash (yet). 2018-10-05T16:29:41Z beach: Oh! 2018-10-05T16:29:43Z beach: Heh! 2018-10-05T16:30:02Z Bike: it's a good number 2018-10-05T16:30:12Z sjl joined #lisp 2018-10-05T16:30:45Z pfdietz: Was just bitten by this. Of course one can add a slot to the object to store a user-defined hash value. What is really needed is to make sxhash generic so the user can add methods for it. 2018-10-05T16:31:22Z beach takes note. 2018-10-05T16:32:50Z Bike: i think the nice way to do it is to have a generic function that provides fixnums for the hasher to use 2018-10-05T16:32:54Z |3b|: yeah, i think implementation has to store it or return a constant to preserve semantics across change-class etc 2018-10-05T16:32:55Z Bike: i forget the paper with the rationale though 2018-10-05T16:33:08Z Bike: oh yeah, there's that. 2018-10-05T16:33:20Z |3b|: (store the sxhash in the instance i mean) 2018-10-05T16:34:43Z beach: That sounds acceptable. 2018-10-05T16:35:30Z pfdietz: There's something categorical about the relationship between hash functions, equality testing, and copy methods. 2018-10-05T16:36:01Z |3b|: actually, sxhash is defined as EQ for instances of standard-object, so don't even need change-class 2018-10-05T16:36:35Z asarch joined #lisp 2018-10-05T16:37:48Z jasom: Shinmera: M-. on asdf/uiop symbols doesn't seem to work in portacle; suggestions? 2018-10-05T16:39:42Z shka_ joined #lisp 2018-10-05T16:40:15Z jinkies joined #lisp 2018-10-05T16:57:19Z cydork quit (Ping timeout: 246 seconds) 2018-10-05T16:59:15Z astronavt joined #lisp 2018-10-05T17:09:10Z Copenhagen_Bram joined #lisp 2018-10-05T17:15:09Z m00natic quit (Remote host closed the connection) 2018-10-05T17:19:00Z igemnace quit (Quit: WeeChat 2.2) 2018-10-05T17:33:07Z anewuser quit (Quit: anewuser) 2018-10-05T17:37:43Z shka_ quit (Read error: Connection reset by peer) 2018-10-05T17:38:33Z shka_ joined #lisp 2018-10-05T17:38:45Z Shinmera: jasom: source paths get baked into fasls absolutely in sbcl :/ 2018-10-05T17:39:24Z Shinmera: jasom: Only option is to recompile the file. Should be it $platform/asdf/asdf.lisp 2018-10-05T17:39:42Z Shinmera: *in 2018-10-05T17:40:36Z Shinmera: alternatively, implement source relocation for fasls in SBCL, that'd help me out a lot :) 2018-10-05T17:41:17Z |3b|: compile them with logical pathnames like sbcl source so you can change the physical path :p 2018-10-05T17:41:56Z Shinmera: that doesn't chime well with asdf, and some systems use case-sensitive names, at which point logical pathnames are game over 2018-10-05T17:42:17Z |3b|: yeah, didn't think it was actually a practical solution :( 2018-10-05T17:43:24Z Shinmera: Anyway, portacle has two fasl problems, both of which I'd appreciate someone else fixing https://github.com/portacle/portacle/issues/62 https://github.com/portacle/portacle/issues/61 2018-10-05T17:43:43Z Shinmera heads off again 2018-10-05T17:53:02Z skeuomorf joined #lisp 2018-10-05T17:53:40Z shka_ quit (Read error: Connection reset by peer) 2018-10-05T17:54:37Z shka_ joined #lisp 2018-10-05T18:01:39Z pierpal quit (Quit: Poof) 2018-10-05T18:01:56Z pierpal joined #lisp 2018-10-05T18:05:33Z sjl quit (Ping timeout: 252 seconds) 2018-10-05T18:07:17Z jasom: Shinmera: thanks! 2018-10-05T18:08:05Z jasom: maybe on launch, portacle could remove all .fasls if the absolute path has changed? 2018-10-05T18:10:06Z Jesin quit (Ping timeout: 264 seconds) 2018-10-05T18:12:19Z makomo joined #lisp 2018-10-05T18:15:34Z ggole quit (Quit: ggole) 2018-10-05T18:21:53Z sjl joined #lisp 2018-10-05T18:30:50Z makomo quit (Ping timeout: 252 seconds) 2018-10-05T18:39:57Z warweasle quit (Quit: gotta run) 2018-10-05T18:42:42Z jsjolen joined #lisp 2018-10-05T18:46:43Z makomo joined #lisp 2018-10-05T18:47:21Z random-nick quit (Ping timeout: 252 seconds) 2018-10-05T18:50:42Z smaster joined #lisp 2018-10-05T18:53:26Z pierpal quit (Quit: Poof) 2018-10-05T18:53:43Z pierpal joined #lisp 2018-10-05T18:55:10Z Denommus joined #lisp 2018-10-05T18:56:31Z smaster quit (Ping timeout: 260 seconds) 2018-10-05T19:00:35Z vlatkoB quit (Remote host closed the connection) 2018-10-05T19:04:51Z Jesin joined #lisp 2018-10-05T19:05:59Z vibs29 joined #lisp 2018-10-05T19:08:24Z jinkies quit (Remote host closed the connection) 2018-10-05T19:09:33Z ckonstanski joined #lisp 2018-10-05T19:10:05Z trittweiler joined #lisp 2018-10-05T19:10:08Z graphene joined #lisp 2018-10-05T19:15:22Z v0|d quit (Remote host closed the connection) 2018-10-05T19:15:48Z v0|d joined #lisp 2018-10-05T19:19:30Z random-nick joined #lisp 2018-10-05T19:19:44Z vlatkoB joined #lisp 2018-10-05T19:20:03Z smaster joined #lisp 2018-10-05T19:26:22Z vlatkoB quit (Remote host closed the connection) 2018-10-05T19:30:13Z lemoinem quit (Killed (livingstone.freenode.net (Nickname regained by services))) 2018-10-05T19:30:14Z lemoinem joined #lisp 2018-10-05T19:33:51Z makomo quit (Ping timeout: 260 seconds) 2018-10-05T19:38:14Z mejja quit (Quit: mejja) 2018-10-05T19:41:40Z _death: seems bleeding edge usocket on sbcl gives a missing paren error.. 2018-10-05T19:41:58Z on_ion: o_o 2018-10-05T19:45:32Z pierpal quit (Read error: Connection reset by peer) 2018-10-05T19:45:46Z pierpal joined #lisp 2018-10-05T19:45:58Z xvx joined #lisp 2018-10-05T19:47:22Z dented42 joined #lisp 2018-10-05T19:47:51Z lavaflow quit (Ping timeout: 252 seconds) 2018-10-05T19:47:58Z lavaflow_ joined #lisp 2018-10-05T19:49:54Z makomo joined #lisp 2018-10-05T19:53:17Z shka_: _death: it certainly bleeds ;-) 2018-10-05T19:59:45Z cage_ quit (Remote host closed the connection) 2018-10-05T20:03:45Z jcowan joined #lisp 2018-10-05T20:05:28Z quipa quit (Ping timeout: 245 seconds) 2018-10-05T20:05:35Z trittweiler quit (Ping timeout: 268 seconds) 2018-10-05T20:05:37Z _death: the blood of usocket drowns out all sockets, except bergelsocket and his wife, which boarded their ark.. its flesh becomes the earth, its sweat the oceans, its hair the trees, its brains the clouds, its skull the sky, its bones the rocks, and its eyebrows sockgard.. 2018-10-05T20:06:25Z LiamH quit (Quit: Leaving.) 2018-10-05T20:08:32Z warweasle joined #lisp 2018-10-05T20:11:22Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-05T20:11:55Z kajo joined #lisp 2018-10-05T20:18:01Z LiamH joined #lisp 2018-10-05T20:20:18Z mhd2018 quit (Ping timeout: 252 seconds) 2018-10-05T20:22:55Z drewc joined #lisp 2018-10-05T20:23:14Z graphene quit (Remote host closed the connection) 2018-10-05T20:24:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-10-05T20:24:05Z Bike quit (Ping timeout: 256 seconds) 2018-10-05T20:24:30Z graphene joined #lisp 2018-10-05T20:25:56Z smaster quit (Ping timeout: 268 seconds) 2018-10-05T20:26:54Z astronavt quit (Ping timeout: 264 seconds) 2018-10-05T20:28:58Z Roy_Fokker joined #lisp 2018-10-05T20:36:15Z shka_ quit (Ping timeout: 252 seconds) 2018-10-05T20:47:33Z varjag quit (Ping timeout: 245 seconds) 2018-10-05T20:49:48Z smaster joined #lisp 2018-10-05T20:50:55Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-05T20:51:15Z quipa joined #lisp 2018-10-05T20:51:44Z dented42 joined #lisp 2018-10-05T21:03:01Z jsjolen quit (Ping timeout: 246 seconds) 2018-10-05T21:04:36Z angavrilov quit (Remote host closed the connection) 2018-10-05T21:07:52Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-05T21:10:57Z msb quit (Ping timeout: 268 seconds) 2018-10-05T21:11:28Z msb joined #lisp 2018-10-05T21:12:56Z asarch quit (Quit: Leaving) 2018-10-05T21:14:27Z gendl: https://i.redd.it/oryudi35dfq11.png 2018-10-05T21:15:27Z gendl: I'll just leave that there. Saw it on reddit then it seemed to disappear. 2018-10-05T21:19:50Z Bike joined #lisp 2018-10-05T21:19:57Z on_ion: =) =) 2018-10-05T21:24:18Z skeuomorf quit (Ping timeout: 252 seconds) 2018-10-05T21:25:17Z phoe: gendl: I remember this version, https://cdn-images-1.medium.com/max/736/0*BLzHP_3NKAPvyOxW.jpg 2018-10-05T21:26:15Z gendl: yep this looks like the religious answer to that original one. 2018-10-05T21:27:54Z on_ion: hehe. both are great 2018-10-05T21:30:19Z scymtym quit (Ping timeout: 246 seconds) 2018-10-05T21:30:57Z phoe: live long and prosper 2018-10-05T21:31:04Z phoe goes to sleep 2018-10-05T21:33:46Z clittorbit joined #lisp 2018-10-05T21:34:37Z clittorbit: (print hey) 2018-10-05T21:34:58Z phoe: clittorbit: is variable HEY bound? 2018-10-05T21:35:45Z graphene quit (Remote host closed the connection) 2018-10-05T21:37:02Z graphene joined #lisp 2018-10-05T21:37:50Z clittorbit: Ahhh shit 2018-10-05T21:37:55Z clittorbit: (print 'hey) 2018-10-05T21:37:59Z clittorbit: :) 2018-10-05T21:38:17Z jcowan quit (Quit: This computer has gone to sleep) 2018-10-05T21:39:38Z phoe: hey hey (: 2018-10-05T21:44:37Z hellosaw joined #lisp 2018-10-05T21:49:48Z orivej quit (Ping timeout: 268 seconds) 2018-10-05T21:52:14Z LiamH quit (Quit: Leaving.) 2018-10-05T21:53:56Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-05T22:00:01Z mhd2018 joined #lisp 2018-10-05T22:01:34Z dented42 joined #lisp 2018-10-05T22:18:51Z smaster quit (Ping timeout: 244 seconds) 2018-10-05T22:18:53Z nirved quit (Quit: Leaving) 2018-10-05T22:28:22Z makomo quit (Ping timeout: 272 seconds) 2018-10-05T22:28:54Z makomo joined #lisp 2018-10-05T22:29:49Z anewuser joined #lisp 2018-10-05T22:31:40Z quipa_ joined #lisp 2018-10-05T22:32:44Z quipa_ quit (Read error: Connection reset by peer) 2018-10-05T22:33:50Z quipa quit (Ping timeout: 244 seconds) 2018-10-05T22:39:00Z DGASAU quit (Ping timeout: 244 seconds) 2018-10-05T22:43:12Z hellosaw: Hello, do any of you know any recommended practice of making simultaneous connections to different databases (residing on the same server) using cl-dbi? The idea is to make a single query that refers to different databases. Thank you 2018-10-05T22:43:56Z DGASAU joined #lisp 2018-10-05T22:50:00Z meepdeew joined #lisp 2018-10-05T22:57:42Z meepdeew quit (Read error: Connection reset by peer) 2018-10-05T22:59:30Z xvx quit (Quit: xvx) 2018-10-05T23:09:15Z random-nick quit (Read error: Connection reset by peer) 2018-10-05T23:14:30Z Essadon quit (Quit: Qutting) 2018-10-05T23:19:22Z hellosaw quit (Quit: Page closed) 2018-10-05T23:19:58Z Denommus quit (Read error: Connection reset by peer) 2018-10-05T23:20:24Z hellosaw joined #lisp 2018-10-05T23:26:30Z jruchti quit (Quit: jruchti) 2018-10-05T23:26:57Z robotoad quit (Quit: robotoad) 2018-10-05T23:31:13Z cl-arthur quit (Quit: Lost terminal) 2018-10-05T23:35:42Z Petit_Dejeuner joined #lisp 2018-10-05T23:37:46Z robotoad joined #lisp 2018-10-05T23:38:52Z lavaflow joined #lisp 2018-10-05T23:40:34Z lavaflow_ quit (Ping timeout: 272 seconds) 2018-10-05T23:52:49Z hellosaw quit (Quit: Page closed) 2018-10-05T23:55:04Z jruchti joined #lisp 2018-10-05T23:56:59Z johnjay joined #lisp 2018-10-05T23:59:51Z mhd2018 quit (Ping timeout: 260 seconds) 2018-10-06T00:02:52Z dale quit (Quit: dale) 2018-10-06T00:08:33Z makomo quit (Ping timeout: 252 seconds) 2018-10-06T00:15:09Z siraben quit (Ping timeout: 252 seconds) 2018-10-06T00:17:33Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-06T00:28:07Z graphene quit (Remote host closed the connection) 2018-10-06T00:29:27Z graphene joined #lisp 2018-10-06T00:29:59Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-06T00:31:20Z r1b joined #lisp 2018-10-06T00:34:07Z orivej joined #lisp 2018-10-06T00:34:57Z mingus quit (Ping timeout: 252 seconds) 2018-10-06T00:35:09Z razzy quit (Ping timeout: 252 seconds) 2018-10-06T00:36:02Z sjl quit (Read error: Connection reset by peer) 2018-10-06T00:37:18Z Copenhagen_Bram joined #lisp 2018-10-06T00:51:11Z cydork joined #lisp 2018-10-06T00:52:33Z robotoad quit (Quit: robotoad) 2018-10-06T00:58:09Z elderK joined #lisp 2018-10-06T00:59:14Z slyrus2 joined #lisp 2018-10-06T01:01:00Z slyrus quit (Ping timeout: 252 seconds) 2018-10-06T01:01:00Z slyrus1 is now known as slyrus 2018-10-06T01:01:01Z slyrus2 is now known as slyrus1 2018-10-06T01:06:16Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-06T01:10:27Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-06T01:18:22Z Copenhagen_Bram joined #lisp 2018-10-06T01:20:09Z robotoad joined #lisp 2018-10-06T01:36:26Z nydel joined #lisp 2018-10-06T01:36:41Z skidd0 joined #lisp 2018-10-06T01:37:46Z robotoad quit (Quit: robotoad) 2018-10-06T01:38:07Z skidd0: I'm struggling to figure out why a class object created with make-instance has all its slots unbound 2018-10-06T01:38:57Z Petit_Dejeuner: Did you provide values in the constructor or do they have some kind of default value in the defclass? 2018-10-06T01:39:19Z Ober: did you create an accessor? or a default? 2018-10-06T01:39:43Z skidd0: I provided values when i constructed it 2018-10-06T01:39:48Z skidd0: the class has accessors 2018-10-06T01:40:12Z Petit_Dejeuner: Do you have :initarg for each slot? 2018-10-06T01:40:48Z Petit_Dejeuner: (defclass bank-account () ((customer-name :initarg :customer-name) 2018-10-06T01:40:57Z skidd0: yes 2018-10-06T01:41:08Z skidd0: and those init-args are used in the make-instance 2018-10-06T01:41:59Z Petit_Dejeuner: Did you redefine the class after making the instance? 2018-10-06T01:42:15Z skidd0: i did not 2018-10-06T01:42:23Z Arcaelyx quit (Quit: Textual IRC Client: www.textualapp.com) 2018-10-06T01:42:55Z Petit_Dejeuner: Does (slot-value object 'slot-name) not work? 2018-10-06T01:43:32Z skidd0: that's what set of the unbound issue 2018-10-06T01:43:55Z skidd0: I tried to format the slot's value 2018-10-06T01:44:05Z skidd0: but it is unbound in the object 2018-10-06T01:44:17Z Petit_Dejeuner: Can you give me the relevant slot form of the defclass and the snippet where you try to access to slot-name? 2018-10-06T01:44:21Z Petit_Dejeuner: the* 2018-10-06T01:44:32Z skidd0: sure one moment 2018-10-06T01:45:05Z robotoad joined #lisp 2018-10-06T01:48:25Z Ober: xb 2018-10-06T01:49:03Z parjanya quit (Remote host closed the connection) 2018-10-06T01:49:11Z parjanya joined #lisp 2018-10-06T01:50:23Z skidd0: https://bin.0x00sec.org/?6a63eff8f6d0cf8d#x7OSAPS09fK+2L0p/tywF0lDNO7MaQHHd25TX9TdDxU= 2018-10-06T01:51:08Z |3b|: :initarg ? 2018-10-06T01:51:09Z skidd0: I'm using Postmodern for SQL management 2018-10-06T01:51:17Z skidd0: oh 2018-10-06T01:51:36Z skidd0: oh my 2018-10-06T01:51:39Z skidd0: I am so silly 2018-10-06T01:52:07Z skidd0: and that's why pair programming is pushed so hard in my software engineering class 2018-10-06T01:52:14Z |3b|: :) 2018-10-06T01:52:37Z skidd0: I'm to hyphen-happy 2018-10-06T01:52:46Z |3b| is surprised it didn't complain 2018-10-06T01:52:55Z skidd0: me too 2018-10-06T01:52:57Z |3b|: maybe metaclass confuses it 2018-10-06T01:53:00Z skidd0: was just thinking about that 2018-10-06T01:53:10Z skidd0: does init-form need a hyphen? 2018-10-06T01:53:21Z |3b|: clhs defclass 2018-10-06T01:53:21Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defcla.htm 2018-10-06T01:53:39Z skidd0: thanks 2018-10-06T01:54:01Z |3b| points at something definitive rather than relying on my brain which will get confused by reasonable seeming options :) 2018-10-06T01:55:19Z |3b|: ouch, mostly definitive :/ (has it as :init-form in the description of the argument to :initform) 2018-10-06T01:56:00Z |3b|: :initform with no - is the correct one 2018-10-06T01:56:55Z skidd0: oh that is odd 2018-10-06T02:02:46Z skidd0: now my method works 2018-10-06T02:03:07Z skidd0: thank you, Petit_Dejeuner, Ober, and |3b| (and specbot) 2018-10-06T02:04:20Z troydm quit (Ping timeout: 252 seconds) 2018-10-06T02:11:47Z skidd0 quit (Quit: WeeChat 2.2) 2018-10-06T02:12:45Z troydm joined #lisp 2018-10-06T02:28:30Z joast quit (Remote host closed the connection) 2018-10-06T02:29:32Z robotoad quit (Quit: robotoad) 2018-10-06T02:31:31Z DGASAU quit (Read error: Connection reset by peer) 2018-10-06T02:31:40Z joast joined #lisp 2018-10-06T02:34:49Z DGASAU joined #lisp 2018-10-06T02:46:55Z shifty joined #lisp 2018-10-06T02:47:10Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-06T02:53:03Z fiddlerwoaroof joined #lisp 2018-10-06T02:57:47Z rocx joined #lisp 2018-10-06T03:00:22Z chipolux quit (Quit: chipolux) 2018-10-06T03:01:57Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-06T03:05:28Z rocx: stupid question: is there a better way to make `random' actually be random across executions besides constantly making a new random-state as an argument for random? 2018-10-06T03:05:39Z marusich joined #lisp 2018-10-06T03:06:39Z chipolux joined #lisp 2018-10-06T03:07:40Z patche joined #lisp 2018-10-06T03:08:03Z patche quit (Client Quit) 2018-10-06T03:08:13Z DecimPrime joined #lisp 2018-10-06T03:08:31Z Bike: seeding it each time won't make it any more "actually random" really 2018-10-06T03:08:36Z Bike: there's only so much entropy 2018-10-06T03:09:51Z rocx: so it basically works best on a persistent program rather than a compiled program to get consistently random number? 2018-10-06T03:11:42Z robotoad joined #lisp 2018-10-06T03:16:19Z Bike: what behavior do you actually want 2018-10-06T03:16:25Z Bike: usually a pseudorandom sequence is fine 2018-10-06T03:17:50Z rocx: say, when running the program, first thing it does is generate some string (in a hypothetical and structured way). it needs to be random every time the program is run. 2018-10-06T03:18:18Z Bike: just seed it once at startup then 2018-10-06T03:18:38Z Bike: assuming you mean it should be distinct between runs 2018-10-06T03:18:52Z rocx: yes. as in (setf *random-state* (make-random-state t)) ? 2018-10-06T03:20:19Z Bike: yeah should be fine 2018-10-06T03:21:44Z rocx: hm. odd. swore i did that and it didn't work as intended. 2018-10-06T03:26:57Z moei quit (Quit: Leaving...) 2018-10-06T03:30:10Z jkordani quit (Read error: Connection reset by peer) 2018-10-06T03:30:34Z dddddd quit (Remote host closed the connection) 2018-10-06T03:34:26Z pierpal quit (Read error: Connection reset by peer) 2018-10-06T03:35:45Z anewuser quit (Ping timeout: 268 seconds) 2018-10-06T03:57:15Z skeuomorf joined #lisp 2018-10-06T03:59:00Z jackdaniel quit (Ping timeout: 252 seconds) 2018-10-06T04:09:06Z dented42 joined #lisp 2018-10-06T04:16:43Z r1b quit (Ping timeout: 245 seconds) 2018-10-06T04:24:18Z adlai quit (Ping timeout: 272 seconds) 2018-10-06T04:26:33Z adlai joined #lisp 2018-10-06T04:27:32Z pierpal joined #lisp 2018-10-06T04:44:43Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-06T04:55:12Z Copenhagen_Bram joined #lisp 2018-10-06T04:59:24Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-06T05:03:44Z beach: Good morning everyone! 2018-10-06T05:07:38Z no-defun-allowed: Morning beach 2018-10-06T05:08:51Z jackdaniel joined #lisp 2018-10-06T05:15:03Z nowhere_man joined #lisp 2018-10-06T05:35:33Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-06T05:41:49Z moei joined #lisp 2018-10-06T05:42:07Z steiner joined #lisp 2018-10-06T05:46:48Z Copenhagen_Bram joined #lisp 2018-10-06T05:47:16Z Bike quit (Quit: Lost terminal) 2018-10-06T05:48:23Z vlatkoB joined #lisp 2018-10-06T06:01:18Z orivej quit (Ping timeout: 245 seconds) 2018-10-06T06:06:44Z LdBeth: Midnight 2018-10-06T06:09:21Z shifty quit (Ping timeout: 252 seconds) 2018-10-06T06:09:53Z shrdlu68 joined #lisp 2018-10-06T06:10:05Z shifty joined #lisp 2018-10-06T06:27:03Z _whitelogger quit (Remote host closed the connection) 2018-10-06T06:27:06Z shifty quit (Ping timeout: 244 seconds) 2018-10-06T06:29:18Z _whitelogger joined #lisp 2018-10-06T06:36:33Z myrmidon joined #lisp 2018-10-06T06:44:37Z pierpal quit (Read error: Connection reset by peer) 2018-10-06T06:49:14Z no-defun-allowed: hi shrdlu68 2018-10-06T06:49:26Z shrdlu68: no-defun-allowed: Hello 2018-10-06T06:54:08Z shrdlu68: Is there a way to tell my implementation (sbcl, in this case), to do (* x y) like MUL x y? x and y being, say 64-bit values. 2018-10-06T06:55:00Z no-defun-allowed: pop a (declare (fixnum x y)) in your function and it should get closer 2018-10-06T06:55:17Z no-defun-allowed: clhs declare 2018-10-06T06:55:17Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_declar.htm 2018-10-06T06:55:36Z no-defun-allowed: clhs declaration type 2018-10-06T06:56:28Z no-defun-allowed: basically if you have some kind of body with lexical binds you can tell CL systems that they are some type and that they should optimize for it 2018-10-06T06:57:57Z myrmidon quit (Ping timeout: 252 seconds) 2018-10-06T06:58:26Z myrmidon joined #lisp 2018-10-06T07:01:28Z shrdlu68: My goal is to get a 64-bit value by multiplying two 64-bit numbers, just as one would in C. I'm not sure type declaration will help. 2018-10-06T07:04:57Z no-defun-allowed: oh good point 2018-10-06T07:05:32Z no-defun-allowed: as well, (declare (optimize (safety 0))) tends to stop overflow checking 2018-10-06T07:06:32Z doubledup joined #lisp 2018-10-06T07:07:00Z doubledup quit (Max SendQ exceeded) 2018-10-06T07:07:22Z doubledup joined #lisp 2018-10-06T07:07:54Z no-defun-allowed: [this seems to work](https://pastebin.com/AvCbV1na) 2018-10-06T07:09:58Z shrdlu68: Nice! 2018-10-06T07:10:29Z no-defun-allowed: i wouldn't expect it to be portable for obvious reasons 2018-10-06T07:18:45Z pierpal joined #lisp 2018-10-06T07:25:15Z pierpal quit (Read error: Connection reset by peer) 2018-10-06T07:26:56Z pierpal joined #lisp 2018-10-06T07:27:32Z aeth: shrdlu68: 64-bit values work as long as they're not boxed 2018-10-06T07:27:38Z aeth: shrdlu68: they're not boxed as long as they don't leave the function 2018-10-06T07:29:24Z aeth: shrdlu68: ways you can do that are (1) inline function, (2) use a macro, (3) mutate a specialized array (i.e. :element-type) or a struct with a slot with a :type, (4) coerce it into a value that's not boxed (e.g. coercing a double-float to a single-float as the return value) 2018-10-06T07:29:43Z aeth: otherwise, you get generic arithmetic functions that will box 2018-10-06T07:32:10Z zxcvz joined #lisp 2018-10-06T07:32:56Z aeth: note that #3 is the most implementation specific and #1 might not always work if the compiler isn't very smart. 2018-10-06T07:33:46Z pierpal quit (Read error: Connection reset by peer) 2018-10-06T07:35:03Z aeth: shrdlu68: as for wrapping around, in SBCL, you can do that with mod 2018-10-06T07:35:21Z aeth: shrdlu68: e.g. (defun foo (a) (declare ((simple-array (unsigned-byte 64) (1)) a)) (setf (aref a 0) (mod (* (aref a 0) 42) (expt 2 64))) a) 2018-10-06T07:35:23Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-06T07:36:01Z pierpal joined #lisp 2018-10-06T07:36:04Z aeth: (For something that trivial you'd probably want to go with an inline function, though. The inline function itself will have the unoptimized disassembly, but the caller function will be optimized.) 2018-10-06T07:39:54Z pierpal quit (Read error: Connection reset by peer) 2018-10-06T07:40:14Z scymtym joined #lisp 2018-10-06T07:40:14Z pierpal joined #lisp 2018-10-06T07:40:55Z angavrilov joined #lisp 2018-10-06T07:43:18Z pierpal quit (Read error: Connection reset by peer) 2018-10-06T07:44:24Z shka_ joined #lisp 2018-10-06T07:44:48Z ravndal quit (Quit: WeeChat 2.2) 2018-10-06T07:46:06Z pierpal joined #lisp 2018-10-06T07:46:28Z ravndal joined #lisp 2018-10-06T07:54:32Z razzy joined #lisp 2018-10-06T07:59:41Z shka_ quit (Remote host closed the connection) 2018-10-06T08:01:12Z DecimPrime quit (Ping timeout: 252 seconds) 2018-10-06T08:01:25Z shka_ joined #lisp 2018-10-06T08:02:07Z shrdlu68: What I'm trying to do is this: https://programmingpraxis.com/2018/06/19/fibonacci-hash/ 2018-10-06T08:02:54Z shrdlu68: I'm not sure whether SBCL already implements it. 2018-10-06T08:05:48Z aeth: (defun foo (a) (declare ((simple-array (unsigned-byte 64) (1)) a)) (setf (aref a 0) (mod (ash (mod (* (aref a 0) 11400714819323198485) (expt 2 64)) 54) (expt 2 64))) a) (foo (make-array 1 :element-type '(unsigned-byte 64) :initial-element 42)) 2018-10-06T08:07:14Z aeth: Alternatively, (declaim (inline bar)) (defun bar (x) (declare ((unsigned-byte 64) x)) (mod (ash (mod (* x 11400714819323198485) (expt 2 64)) 54) (expt 2 64))) 2018-10-06T08:07:46Z aeth: The second version will allocate the final result as a bignum, but inlining can remove the allocation depending on the details of the calling function 2018-10-06T08:08:16Z aeth: s/will allocate/might allocate/ 2018-10-06T08:09:02Z shrdlu68: But you end up doing both mod and multiplication. 2018-10-06T08:10:08Z aeth: I don't see a DIV in the disassembly 2018-10-06T08:11:10Z aeth: I also don't see the LEA followed by an AND that mod by a power of 2 (optimized specially) normally gives 2018-10-06T08:11:34Z froggey quit (Ping timeout: 240 seconds) 2018-10-06T08:12:18Z aeth: It's more than that, though. Doing the multiplication on an ub64 and then the mod would make it a bignum and then do the generic mod on the bignum. It would be very noticable. 2018-10-06T08:12:20Z pierpal quit (Read error: Connection reset by peer) 2018-10-06T08:13:44Z froggey joined #lisp 2018-10-06T08:13:47Z sauvin_ joined #lisp 2018-10-06T08:14:24Z pierpal joined #lisp 2018-10-06T08:14:48Z ggole joined #lisp 2018-10-06T08:16:16Z aeth: hmm... actually, modifying it to get variations that aren't optimized produces weird results 2018-10-06T08:16:16Z Sauvin quit (Ping timeout: 260 seconds) 2018-10-06T08:18:54Z siraben joined #lisp 2018-10-06T08:19:47Z johnjay quit (Ping timeout: 256 seconds) 2018-10-06T08:20:20Z pierpal quit (Read error: Connection reset by peer) 2018-10-06T08:27:06Z makomo joined #lisp 2018-10-06T08:31:04Z shrdlu68 left #lisp 2018-10-06T08:33:13Z doubledup quit (Quit: Leaving) 2018-10-06T08:33:27Z doubledup joined #lisp 2018-10-06T08:34:52Z trittweiler joined #lisp 2018-10-06T08:40:37Z doubledup quit (Quit: Leaving) 2018-10-06T08:41:23Z doubledup joined #lisp 2018-10-06T08:43:53Z shifty joined #lisp 2018-10-06T08:45:51Z robotoad quit (Quit: robotoad) 2018-10-06T08:50:19Z pierpal joined #lisp 2018-10-06T08:51:37Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-06T08:55:16Z dented42 joined #lisp 2018-10-06T08:59:22Z doubledup quit (Quit: Leaving) 2018-10-06T08:59:31Z dented42 quit (Ping timeout: 244 seconds) 2018-10-06T09:00:09Z doubledup joined #lisp 2018-10-06T09:00:14Z graphene quit (Remote host closed the connection) 2018-10-06T09:01:40Z graphene joined #lisp 2018-10-06T09:06:18Z micro quit (Remote host closed the connection) 2018-10-06T09:10:19Z random-nick joined #lisp 2018-10-06T09:13:59Z makomo quit (Ping timeout: 244 seconds) 2018-10-06T09:24:59Z shrdlu68 joined #lisp 2018-10-06T09:27:22Z dented42 joined #lisp 2018-10-06T09:30:34Z makomo joined #lisp 2018-10-06T09:32:59Z sauvin_ is now known as Sauvin 2018-10-06T09:53:24Z shka_ quit (Ping timeout: 252 seconds) 2018-10-06T09:54:25Z shka_ joined #lisp 2018-10-06T10:09:34Z beach quit (Ping timeout: 252 seconds) 2018-10-06T10:11:26Z beach joined #lisp 2018-10-06T10:14:53Z varjag joined #lisp 2018-10-06T10:18:14Z anewuser joined #lisp 2018-10-06T10:23:45Z orivej joined #lisp 2018-10-06T10:31:38Z dented42 quit (Ping timeout: 272 seconds) 2018-10-06T10:31:40Z krkini quit (Quit: No Ping reply in 180 seconds.) 2018-10-06T10:38:38Z kini joined #lisp 2018-10-06T10:39:23Z SenasOzys joined #lisp 2018-10-06T10:39:57Z dddddd joined #lisp 2018-10-06T10:43:08Z kini quit (Client Quit) 2018-10-06T10:49:50Z kini joined #lisp 2018-10-06T10:58:56Z dented42 joined #lisp 2018-10-06T11:02:08Z scymtym quit (Ping timeout: 245 seconds) 2018-10-06T11:06:22Z Lycurgus joined #lisp 2018-10-06T11:08:19Z Josh_2 joined #lisp 2018-10-06T11:14:50Z vlatkoB_ joined #lisp 2018-10-06T11:18:06Z vlatkoB quit (Ping timeout: 252 seconds) 2018-10-06T11:19:04Z graphene quit (Remote host closed the connection) 2018-10-06T11:20:19Z graphene joined #lisp 2018-10-06T11:30:27Z no-defun-allowed: Woohoo, I think it's burnout time. 2018-10-06T11:41:40Z Bike joined #lisp 2018-10-06T11:47:20Z kajo joined #lisp 2018-10-06T11:53:26Z beach: no-defun-allowed: Are you working too hard? 2018-10-06T11:53:58Z shrdlu68: What does (space 3) really do? Is it "don't sacrifice speed for space"? 2018-10-06T11:54:23Z shrdlu68: I mean (space 0) 2018-10-06T11:55:39Z shka_: shrdlu68: not much :-) 2018-10-06T11:55:50Z shka_: in sbcl, it makes function more likely to be inlined 2018-10-06T11:56:00Z shka_: other then that, i don't know 2018-10-06T11:56:05Z Bike: it means "space [usage] is extremely important". implementations can decide what that means variously 2018-10-06T11:56:45Z phoe: space 0 means "don't care for space in the slightest" 2018-10-06T11:57:00Z phoe: space 3 means "the resulting code is meant to be as small as possible" 2018-10-06T11:57:31Z Bike: space means "both code size and run-time space" according to the standard 2018-10-06T11:57:33Z Bike: i mean 2018-10-06T11:57:36Z Bike: they're 'all kinda vague 2018-10-06T11:57:57Z phoe: in particular (optimize (speed 3) (space 0) (debug 0) (safety 0) (compilation-speed 0)) means "sacrifice everything for speed" 2018-10-06T11:58:25Z phoe: that's the setting everyone is the most interested in for some weird reason 2018-10-06T11:58:40Z shka_: *weird reason* :P 2018-10-06T11:58:54Z shrdlu68: (compilation-speed)? Why would that produce faster code? 2018-10-06T11:59:10Z Bike: compilation-speed 0 is telling the compiler to take its time 2018-10-06T11:59:15Z Bike: so it can maybe do more optimizations 2018-10-06T11:59:21Z shrdlu68: Oh. 2018-10-06T11:59:30Z shrdlu68: What's the default? 2018-10-06T11:59:49Z Bike: implementation-defind, i think 2018-10-06T12:03:00Z froggey quit (Ping timeout: 252 seconds) 2018-10-06T12:03:39Z scymtym joined #lisp 2018-10-06T12:04:44Z froggey joined #lisp 2018-10-06T12:06:30Z skeuomorf quit (Ping timeout: 252 seconds) 2018-10-06T12:18:48Z cydork quit (Quit: WeeChat 2.2) 2018-10-06T12:33:30Z mkolenda quit (Remote host closed the connection) 2018-10-06T12:34:14Z mkolenda joined #lisp 2018-10-06T12:43:12Z phoe: compilation-speed 0 is SBCL, compilation-speed 3 is CCL 2018-10-06T12:43:16Z phoe: /s 2018-10-06T12:44:14Z warweasle joined #lisp 2018-10-06T12:47:55Z shka_: sbcl compilation-speed is acceptable 2018-10-06T12:48:36Z phoe: I know, I'm just being silly 2018-10-06T12:48:36Z Shinmera: And it's improved a lot recently thanks to Stas 2018-10-06T12:48:54Z phoe: Yep - especially regarding Ironclad that was famous for taking way too long to compile 2018-10-06T12:49:16Z phoe: There were fixes both in Ironclad and in SBCL to improve that situation, and the SBCL fixes actually helped all of SBCL compilation speeds 2018-10-06T12:52:02Z scymtym: yeah, we heavily optimized the register allocator more or less specifically for ironclad. dougk, stas and myself worked on it 2018-10-06T12:53:28Z beach: What is special about Ironclad? 2018-10-06T12:53:48Z Bike: huge functions that do a lot of arithmetic 2018-10-06T12:53:55Z scymtym: it uses macros to generate large functions 2018-10-06T12:53:58Z beach: I see. 2018-10-06T12:53:59Z Bike: it's pretty slow to compile even in general 2018-10-06T12:55:03Z scymtym: and i suspect large chunks of straight-line code and thus large basic blocks or something like that in addition to just large in general 2018-10-06T12:57:01Z russellw: a function can return two values using VALUES. but is it considered okay to return two values on one path and one value on another? Or is it required or recommended that if a function ever returns two values, it should always do so? 2018-10-06T12:57:19Z Bike: i find it confusing, but it's allowed 2018-10-06T12:57:28Z Bike: i usually just manually write out the implied NILs 2018-10-06T12:57:44Z shka_: russellw: returning fixed number of values is a better idea 2018-10-06T12:57:45Z SenasOzys quit (Read error: Connection reset by peer) 2018-10-06T12:58:01Z Bike: might also be easier to optimize if the number of values is fixed. 2018-10-06T12:58:15Z SaganMan quit (Quit: WeeChat 1.6) 2018-10-06T12:58:57Z russellw: so not required, but recommended? olay, thanks! 2018-10-06T13:00:22Z jsjolen joined #lisp 2018-10-06T13:01:18Z dented42 quit (Ping timeout: 252 seconds) 2018-10-06T13:01:27Z Essadon joined #lisp 2018-10-06T13:07:37Z jsjolen quit (Remote host closed the connection) 2018-10-06T13:19:12Z jsjolen joined #lisp 2018-10-06T13:21:06Z hellosaw joined #lisp 2018-10-06T13:22:33Z jsjolen quit (Remote host closed the connection) 2018-10-06T13:22:58Z jsjolen joined #lisp 2018-10-06T13:25:43Z Lycurgus quit (Quit: Exeunt) 2018-10-06T13:26:57Z shrdlu68 quit (Quit: WeeChat 2.0.1) 2018-10-06T13:34:57Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-06T13:38:25Z jsjolen: I'm debugging some code running in SBCL. At some point there's a type mismatch from a DECLARE, does anyone know if it's possible to receive more info about what DECLARE it's from (like what variable it pertains to)? 2018-10-06T13:39:17Z angavrilov quit (Remote host closed the connection) 2018-10-06T13:40:45Z Bike: what message are you getting? 2018-10-06T13:41:41Z jsjolen: The value 3 is not of type (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)) 2018-10-06T13:42:13Z jsjolen: And the call-stack doesn't reveal a lot (a single call to a fast-method) 2018-10-06T13:43:06Z Bike: you can get more info by throwing a (declare (optimize debug)) in there somwhere. if you paste what you're seeing i might be able to untangle it, too 2018-10-06T13:43:49Z jsjolen: I did do a SB-EXT:restrict-compiler-policy before doing an ASDF:compile-system (and I'm fairly certain that the system does not do that itself) 2018-10-06T13:45:22Z jsjolen: Alright, I manually commented out all of the declares, now I get that it's a call to LENGTH at least. 2018-10-06T13:50:29Z jsjolen: Aha, I got it. 2018-10-06T13:53:58Z beach: I just love those error messages. They are so ... unhelpful. 2018-10-06T13:59:19Z dented42 joined #lisp 2018-10-06T14:02:07Z _death: (defun helpfulify (error-message) (string-append error-message "; and by the way, your shoe laces are untied.")) 2018-10-06T14:04:56Z jsjolen: _death: Jokes on you, I'm wearing sandals with socks 2018-10-06T14:06:36Z flazh quit (Ping timeout: 268 seconds) 2018-10-06T14:07:04Z _death: but that means your shoe's laces are likely untied indeed 2018-10-06T14:07:34Z Shinmera: beach: What would be more helpful to say about a type mismatch? 2018-10-06T14:07:39Z jsjolen: Only if you use classic logic 2018-10-06T14:08:10Z _death: jsjolen: well, aside from vacuous truth.. it may be that it's the shoe not worn ;) 2018-10-06T14:10:49Z steiner quit (Remote host closed the connection) 2018-10-06T14:12:29Z jsjolen: _death: Good point 2018-10-06T14:13:33Z Roy_Fokker joined #lisp 2018-10-06T14:14:05Z flazh joined #lisp 2018-10-06T14:18:44Z jsjolen: There are 2 CL implementations of HMMs on Github. One is large, well-featured and fast but I can't get it to work and the other one doesn't implement learning. I might give up on making the first one work and write my own, but that'd just be: https://xkcd.com/927/ 2018-10-06T14:19:31Z Josh_2: jsjolen: nah that would just be the lisp way, apparently we like to reinvent the wheel *hmm* 2018-10-06T14:20:07Z Shinmera: My wheel's better than yours 2018-10-06T14:20:29Z shka_: Shinmera: actually your wheels are pretty good 2018-10-06T14:20:45Z Shinmera: Thanks 2018-10-06T14:20:49Z shka_: ;-) 2018-10-06T14:21:13Z Shinmera: Working on lockless wheels recently 2018-10-06T14:21:21Z Shinmera: so, new wheels on quicklisp soon 2018-10-06T14:21:56Z jsjolen: Josh_2: Yeah, only issue is that implementing the algorithms is really boring haha. Hey, I've got them in Java, maybe I should just use ABCL? inb4 now I've got 2 problems 2018-10-06T14:21:58Z shka_: you made something like trivial-atomics recently? 2018-10-06T14:22:06Z Shinmera: No 2018-10-06T14:22:34Z Shinmera: Not gonna try either, all I need is CAS on svref and slot accessors. 2018-10-06T14:22:56Z shka_: ok 2018-10-06T14:23:00Z igemnace joined #lisp 2018-10-06T14:23:17Z _whitelogger quit (Remote host closed the connection) 2018-10-06T14:25:09Z jsjolen quit (Remote host closed the connection) 2018-10-06T14:25:32Z _whitelogger joined #lisp 2018-10-06T14:30:03Z dented42 quit (Ping timeout: 245 seconds) 2018-10-06T14:38:26Z flazh quit (Read error: Connection reset by peer) 2018-10-06T14:39:05Z flazh joined #lisp 2018-10-06T14:43:37Z beach: Shinmera: The argument was supposed to contain a but it contains a instead. 2018-10-06T14:46:38Z emma_ joined #lisp 2018-10-06T15:09:45Z hellosaw: hi, do any of you know how to connect to multiple mysql databases using mito? 2018-10-06T15:12:20Z slyrus2 joined #lisp 2018-10-06T15:15:56Z dented42 joined #lisp 2018-10-06T15:17:52Z elderK quit (Quit: Connection closed for inactivity) 2018-10-06T15:18:57Z Josh_2: hellosaw: did you look at https://github.com/fukamachi/mito/#connecting-to-db maybe you can fiddle with the value of *connection* idk 2018-10-06T15:24:56Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-06T15:40:11Z angavrilov joined #lisp 2018-10-06T15:41:53Z Iolo joined #lisp 2018-10-06T15:42:31Z slyrus2 quit (Ping timeout: 260 seconds) 2018-10-06T15:43:51Z hellosaw: thanks Josh_2 2018-10-06T15:50:10Z shka_ quit (Quit: Konversation terminated!) 2018-10-06T15:51:07Z shka_ joined #lisp 2018-10-06T15:52:01Z DecimPrime joined #lisp 2018-10-06T15:53:32Z myrmidon quit (Quit: myrmidon) 2018-10-06T15:57:00Z hellosaw quit (Quit: Page closed) 2018-10-06T15:59:49Z ckonstanski quit (Remote host closed the connection) 2018-10-06T16:10:24Z Oladon joined #lisp 2018-10-06T16:13:42Z SaganMan joined #lisp 2018-10-06T16:18:41Z dented42 quit (Ping timeout: 244 seconds) 2018-10-06T16:21:44Z micro joined #lisp 2018-10-06T16:25:21Z mejja joined #lisp 2018-10-06T16:25:41Z shifty quit (Ping timeout: 260 seconds) 2018-10-06T16:25:42Z grumble quit (Quit: If we're putting dbus in the linux kernel, I want a java rmi registry there too.) 2018-10-06T16:30:10Z iAmDecim joined #lisp 2018-10-06T16:31:45Z iAmDecim quit (Client Quit) 2018-10-06T16:32:41Z DecimPrime quit (Ping timeout: 260 seconds) 2018-10-06T16:38:44Z grumble joined #lisp 2018-10-06T16:40:52Z maarhart joined #lisp 2018-10-06T16:41:57Z maarhart quit (Remote host closed the connection) 2018-10-06T16:55:25Z r1b joined #lisp 2018-10-06T16:58:13Z doubledup quit (Quit: Leaving) 2018-10-06T17:04:35Z knicklux joined #lisp 2018-10-06T17:11:34Z dented42 joined #lisp 2018-10-06T17:18:25Z sabrac joined #lisp 2018-10-06T17:18:41Z SenasOzys joined #lisp 2018-10-06T17:19:35Z SenasOzys quit (Remote host closed the connection) 2018-10-06T17:20:00Z SenasOzys joined #lisp 2018-10-06T17:20:04Z pierpal quit (Ping timeout: 240 seconds) 2018-10-06T17:31:01Z knicklux quit (Remote host closed the connection) 2018-10-06T17:32:06Z scymtym quit (Ping timeout: 252 seconds) 2018-10-06T17:38:45Z knicklux joined #lisp 2018-10-06T17:39:28Z warweasle joined #lisp 2018-10-06T17:40:22Z smaster joined #lisp 2018-10-06T17:42:04Z r1b quit (Quit: r1b) 2018-10-06T17:42:45Z bendersteed joined #lisp 2018-10-06T17:43:27Z dented42 quit (Ping timeout: 252 seconds) 2018-10-06T17:44:56Z knicklux quit (Remote host closed the connection) 2018-10-06T17:48:21Z bendersteed quit (Remote host closed the connection) 2018-10-06T17:51:30Z dddddd quit (Remote host closed the connection) 2018-10-06T17:51:48Z Khisanth quit (Ping timeout: 250 seconds) 2018-10-06T17:53:38Z knicklux joined #lisp 2018-10-06T17:57:18Z scymtym joined #lisp 2018-10-06T17:57:59Z bendersteed joined #lisp 2018-10-06T18:04:05Z thinkpad quit (Ping timeout: 244 seconds) 2018-10-06T18:04:46Z Khisanth joined #lisp 2018-10-06T18:05:30Z knicklux quit (Quit: Leaving) 2018-10-06T18:06:52Z knicklux joined #lisp 2018-10-06T18:08:09Z shka_ quit (Quit: Konversation terminated!) 2018-10-06T18:08:29Z meepdeew joined #lisp 2018-10-06T18:09:54Z thinkpad joined #lisp 2018-10-06T18:11:56Z phoe: I think I might actually publish my code for classes named after lists somewhere. 2018-10-06T18:12:21Z phoe: It might be good to have it published somewhere as an example of how to ab^H^Huse the MOP. 2018-10-06T18:13:35Z shka_ joined #lisp 2018-10-06T18:14:39Z knicklux quit (Quit: Leaving) 2018-10-06T18:16:54Z knicklux joined #lisp 2018-10-06T18:19:10Z otwieracz: You should rather use ^W instead. 2018-10-06T18:19:12Z shka_ quit (Ping timeout: 252 seconds) 2018-10-06T18:19:28Z otwieracz: ^H is terribly inefficient. 2018-10-06T18:20:25Z on_ion: computationally expensive ascii codes 2018-10-06T18:24:00Z graphene quit (Remote host closed the connection) 2018-10-06T18:25:32Z shka_ joined #lisp 2018-10-06T18:25:56Z Oladon quit (Quit: Leaving.) 2018-10-06T18:26:21Z jack_rabbit joined #lisp 2018-10-06T18:29:20Z warweasle is now known as warweasle_afk 2018-10-06T18:36:32Z mejja quit (Quit: mejja) 2018-10-06T18:39:18Z mhd2018 joined #lisp 2018-10-06T18:41:31Z robotoad joined #lisp 2018-10-06T18:41:43Z dented42 joined #lisp 2018-10-06T18:43:24Z bacterio joined #lisp 2018-10-06T18:46:42Z aeth: If you want to be really inefficient...^UIf you want to be really inefficient, use C-u 2018-10-06T18:47:41Z megeve joined #lisp 2018-10-06T18:47:43Z stereosphere joined #lisp 2018-10-06T18:47:47Z jackdaniel: http://i.imgur.com/lmMnN4H.png - multiline with font leading :) 2018-10-06T18:48:58Z |3b|: always nice when text looks better than the lines :) 2018-10-06T18:49:31Z jackdaniel: haha 2018-10-06T18:49:32Z jackdaniel: yeah 2018-10-06T18:51:27Z Iolo left #lisp 2018-10-06T18:54:19Z ggole quit (Quit: ggole) 2018-10-06T18:54:25Z knicklux quit (Remote host closed the connection) 2018-10-06T18:57:02Z r1b joined #lisp 2018-10-06T18:59:26Z bendersteed quit (Quit: bye) 2018-10-06T19:00:06Z zxcvz quit (Quit: Leaving) 2018-10-06T19:03:08Z vlatkoB_ quit (Remote host closed the connection) 2018-10-06T19:04:35Z megeve left #lisp 2018-10-06T19:04:44Z vlatkoB joined #lisp 2018-10-06T19:05:57Z anewuser quit (Quit: anewuser) 2018-10-06T19:13:00Z dented42 quit (Ping timeout: 252 seconds) 2018-10-06T19:17:03Z kajo joined #lisp 2018-10-06T19:19:06Z serichsen joined #lisp 2018-10-06T19:19:12Z serichsen: good evening 2018-10-06T19:23:00Z doubledup joined #lisp 2018-10-06T19:29:07Z buffergn0me quit (Remote host closed the connection) 2018-10-06T19:29:44Z thinkpad quit (Ping timeout: 268 seconds) 2018-10-06T19:30:02Z thinkpad joined #lisp 2018-10-06T19:30:18Z vlatkoB quit (Remote host closed the connection) 2018-10-06T19:30:54Z buffergn0me joined #lisp 2018-10-06T19:32:37Z phoe: heyy 2018-10-06T19:33:14Z robotoad quit (Quit: robotoad) 2018-10-06T19:41:06Z robotoad joined #lisp 2018-10-06T19:44:01Z shka_: what's going on? 2018-10-06T19:59:10Z bacterio quit (Quit: bacterio) 2018-10-06T20:01:17Z jcowan joined #lisp 2018-10-06T20:02:01Z jcowan: It seems that value the expression (eql #c(2.0 1.0) #c(2.0 1)) is implementation-dependent. Is this the result of bugs or an allowed divergence? 2018-10-06T20:03:29Z Bike: "Two complex numbers are considered to be eql if their real parts are eql and their imaginary parts are eql" 2018-10-06T20:04:31Z Lycurgus joined #lisp 2018-10-06T20:04:46Z Bike: so i think no? 2018-10-06T20:05:18Z |3b|: what does (type-of #c(2.0 1)) say? 2018-10-06T20:05:31Z jcowan: The CLHS (under EQL) says: "[EQL returns true] If x and y are both numbers of the same type and the same value." 2018-10-06T20:05:55Z jcowan: And the definition of #c says that it does floating-point contagion. 2018-10-06T20:06:16Z |3b|: spec also says that r and i parts are either both real or both rational 2018-10-06T20:07:01Z jcowan: Bike's sentence comes from CLtLv2 6.3, so presumably is overridden by the ANS. 2018-10-06T20:08:14Z |3b|: so if there is an implementation extension for float+rational, they aren't EQL. if there isn't, they should both be float/float and probably same type so eql 2018-10-06T20:08:36Z Shinmera: hmhm http://plaster.tymoon.eu/view/946#946 2018-10-06T20:08:38Z Bike: it's from the notes 2018-10-06T20:08:44Z trittweiler: it's right in the Notes section of the clhs. The examples also specifically list this case. I find it pretty clear? 2018-10-06T20:08:57Z Bike: notes and examples aren't normative though, i guess 2018-10-06T20:08:59Z Shinmera: Hoorah for clisp 2018-10-06T20:08:59Z |3b|: yeah, i think clisp is the one with the float/rational extension 2018-10-06T20:09:11Z jcowan: So #c(2.0 1) should be of type (complex single-float) just like #c(2.0 1.0) 2018-10-06T20:09:30Z |3b|: Shinmera: what is the type-of #c(2.0 1) for all? 2018-10-06T20:09:32Z jcowan: There has been dispute in the Scheme community about whether examples are normative 2018-10-06T20:09:54Z |3b|: jcowan: that's what the spec says, but clisp extends the spec 2018-10-06T20:10:36Z Bike: jcowan: CLHS explicitly says notes and examples aren't part of the standard. 2018-10-06T20:10:41Z Shinmera: |3b|: http://plaster.tymoon.eu/view/946#947 2018-10-06T20:11:02Z jcowan: clisp reports all complex numbers as simply type COMPLEX 2018-10-06T20:11:09Z jcowan: or I should say, clisp's type-of does 2018-10-06T20:11:22Z Shinmera: ( by the way, https://github.com/shinmera/cl-all ) 2018-10-06T20:11:42Z |3b|: (but they don't support inf/nan, because that would encourage unportable code or something :p) 2018-10-06T20:12:02Z |3b|: from clisp docs: "Complex numbers can have a real part and an imaginary part of different types. " 2018-10-06T20:12:04Z jcowan: sbcl's reports (COMPLEX (SINGLE-FLOAT 2.0 1.0)) 2018-10-06T20:12:16Z Bike: deep. 2018-10-06T20:12:27Z |3b|: while clhs says "The real part and imaginary part are either both rational or both of the same float type. " 2018-10-06T20:13:22Z Shinmera: |3b|: https://github.com/Shinmera/float-features :^) 2018-10-06T20:13:36Z jcowan: |3b|: yes, not supporting +inf, -inf, nan, and -0.0 is stupid nowadays 2018-10-06T20:15:18Z serichsen quit (Ping timeout: 252 seconds) 2018-10-06T20:16:04Z jcowan: So clisp is out of spec here 2018-10-06T20:16:16Z jcowan: (because #C(2.0 1) and #c(2.0 1.0) are not eql) 2018-10-06T20:16:29Z Bike: are you running with clisp's ansi conformance flag? 2018-10-06T20:16:32Z jcowan: no 2018-10-06T20:16:43Z Bike: cos i just remembered it totally has such a thing 2018-10-06T20:17:09Z trittweiler: So this isn't about EQL at all but about #c and COMPLEX. I.e. an example where the definition of EQL kicks in would be: (eql (complex 1 0.5f0) (complex 1 0.5d0)) must be NIL 2018-10-06T20:17:42Z jcowan: But the -ansi flag doesn't help, eql still returns NIL 2018-10-06T20:17:44Z trittweiler: assuming single-float and double-float are distinct types. Can't remember if that's mandated by the standard 2018-10-06T20:17:50Z jcowan: No, it isn't. 2018-10-06T20:18:04Z jcowan: Only pairwise consistency is mandated 2018-10-06T20:18:36Z Bike: what if you mess with custom:*floating-point-contagion-ansi* 2018-10-06T20:18:52Z jcowan: Didn't know about that one 2018-10-06T20:18:58Z Bike: and floating-point-rational-contagion-ansi because so many flags 2018-10-06T20:20:35Z jcowan: the custom: flag doesn't change it either 2018-10-06T20:21:31Z themsay joined #lisp 2018-10-06T20:22:02Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-06T20:22:31Z kajo joined #lisp 2018-10-06T20:25:57Z dddddd joined #lisp 2018-10-06T20:27:03Z kajo quit (Client Quit) 2018-10-06T20:27:50Z kajo joined #lisp 2018-10-06T20:28:00Z jcowan: trittweiler: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/FloatPrecision.md is mostly about Schemes, but also tells what various CLs do with the four float types 2018-10-06T20:30:28Z jcowan: in short, Lispworks has 19-bit shorts but is otherwise normal, and clisp has 17-bit shorts and arbitrary precision longs. 2018-10-06T20:30:32Z r1b quit (Quit: r1b) 2018-10-06T20:32:25Z trittweiler: That document doesn't seem to mention the assumed architecture (x86-64), perhaps that would be a useful addendum? 2018-10-06T20:36:46Z fe[nl]ix: trittweiler: IEEE floats should behave the same across architectures 2018-10-06T20:36:52Z trittweiler: Might also want to include a note about Emacs lisp which is quite a popular Lisp. That doesn't have a concept of different floats to begin with so it's sort of out of place but may still be worth a note given its pop 2018-10-06T20:38:37Z dented42 joined #lisp 2018-10-06T20:44:12Z jcowan: trittweiler: Good idea 2018-10-06T20:47:54Z smaster quit (Ping timeout: 252 seconds) 2018-10-06T20:47:55Z orivej quit (Quit: orivej) 2018-10-06T20:50:42Z |3b|: fe[nl]ix: immediate short floats might depend on pointer size though 2018-10-06T20:52:31Z jcowan quit (Quit: This computer has gone to sleep) 2018-10-06T20:53:47Z orivej joined #lisp 2018-10-06T20:55:34Z aeth: you could try typep 2018-10-06T20:55:39Z aeth: (for clisp) 2018-10-06T20:55:57Z shka_ quit (Ping timeout: 252 seconds) 2018-10-06T20:56:51Z aeth: (typep (complex 1f0 1f0) '(complex single-float)) => T 2018-10-06T20:58:40Z aeth: Shinmera: Good library. I might need to use it. 2018-10-06T20:58:41Z warweasle_afk quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-06T20:59:46Z knicklux joined #lisp 2018-10-06T20:59:59Z aeth: mfiano: https://github.com/Shinmera/float-features has a with-float-traps-masked which can replace the SBCL-only without-fp-traps in cl-sdl2 https://github.com/lispgames/cl-sdl2/blob/a963ea57c7d43761f28314f0642fcae18fb51174/src/sdl2.lisp#L131-L136 2018-10-06T21:01:14Z rozenglass joined #lisp 2018-10-06T21:01:23Z Lycurgus quit (Quit: Exeunt) 2018-10-06T21:05:19Z angavrilov quit (Remote host closed the connection) 2018-10-06T21:09:34Z knicklux quit (Ping timeout: 246 seconds) 2018-10-06T21:10:06Z skeuomorf joined #lisp 2018-10-06T21:10:22Z Petit_Dejeuner: Is there an equivalent to *nix access(2) in Common Lisp? I couldn't find anything in UIOP or the file I/O chapter in PCL. Is there some third party library I should be using? 2018-10-06T21:10:23Z Josh_2 quit (Read error: Connection reset by peer) 2018-10-06T21:11:54Z dented42 quit (Ping timeout: 264 seconds) 2018-10-06T21:11:58Z Petit_Dejeuner: I guess I'll try Osicat for now. 2018-10-06T21:12:26Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-06T21:13:04Z marusich quit (Ping timeout: 240 seconds) 2018-10-06T21:13:35Z kajo joined #lisp 2018-10-06T21:15:17Z kajo quit (Client Quit) 2018-10-06T21:16:11Z LdBeth: it about file permission 2018-10-06T21:20:49Z fe[nl]ix: Petit_Dejeuner: don't use it 2018-10-06T21:21:10Z Petit_Dejeuner: fe[nl]ix: Anything better? 2018-10-06T21:23:19Z fe[nl]ix: attempt to do whatever you're planning to do with the file and handle the errors 2018-10-06T21:24:34Z knicklux joined #lisp 2018-10-06T21:24:41Z Petit_Dejeuner: ...yeah, you're right. 2018-10-06T21:24:54Z Petit_Dejeuner: Thanks. 2018-10-06T21:25:13Z Petit_Dejeuner deletes 20 loc and a dependency 2018-10-06T21:51:40Z zxcvz joined #lisp 2018-10-06T22:05:14Z robotoad quit (Max SendQ exceeded) 2018-10-06T22:09:34Z robotoad joined #lisp 2018-10-06T22:10:01Z groovy2shoes quit (Read error: Connection reset by peer) 2018-10-06T22:14:07Z Elon_Satoshi joined #lisp 2018-10-06T22:15:06Z emaczen quit (Ping timeout: 260 seconds) 2018-10-06T22:15:41Z Copenhagen_Bram quit (Ping timeout: 260 seconds) 2018-10-06T22:24:54Z Petit_Dejeuner: clhs read-line 2018-10-06T22:24:54Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_rd_lin.htm 2018-10-06T22:26:58Z doubledup quit (Quit: Leaving) 2018-10-06T22:27:45Z Lycurgus joined #lisp 2018-10-06T22:30:47Z Lycurgus quit (Client Quit) 2018-10-06T22:31:23Z dented42 joined #lisp 2018-10-06T22:32:49Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-06T22:33:45Z mkolenda joined #lisp 2018-10-06T22:39:48Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-06T22:46:31Z random-nick quit (Ping timeout: 246 seconds) 2018-10-06T22:49:35Z SenasOzys quit (Remote host closed the connection) 2018-10-06T22:49:59Z SenasOzys joined #lisp 2018-10-06T22:51:04Z SenasOzys quit (Remote host closed the connection) 2018-10-06T22:51:35Z SenasOzys joined #lisp 2018-10-06T22:57:01Z SenasOzys quit (Ping timeout: 246 seconds) 2018-10-06T22:58:05Z ryan_vw joined #lisp 2018-10-06T22:58:27Z meepdeew quit (Remote host closed the connection) 2018-10-06T22:59:12Z Josh_2 joined #lisp 2018-10-06T22:59:26Z no-defun-allowed: beach: I'm not very sure. 2018-10-06T23:00:46Z no-defun-allowed: It's that or I've hit a mental block in my work. 2018-10-06T23:03:31Z dented42 quit (Ping timeout: 260 seconds) 2018-10-06T23:05:53Z ryan_vw quit (Quit: WeeChat 2.2) 2018-10-06T23:06:08Z ryan_vw joined #lisp 2018-10-06T23:08:58Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-06T23:09:31Z mkolenda joined #lisp 2018-10-06T23:11:12Z Essadon quit (Quit: Qutting) 2018-10-06T23:16:21Z Elon_Satoshi quit (Ping timeout: 260 seconds) 2018-10-06T23:17:51Z Copenhagen_Bram joined #lisp 2018-10-06T23:25:14Z nyingen_ joined #lisp 2018-10-06T23:26:41Z dented42 joined #lisp 2018-10-06T23:31:54Z nyingen_: I have a situation where a lib I installed via quicklisp is not working and needs to be patched. I can see where QL installed it 2018-10-06T23:32:09Z on_ion: ~/quicklisp/ ? 2018-10-06T23:32:10Z nyingen_: If I modify that code, how do I make sure the lisp system compiles and uses that new version 2018-10-06T23:32:42Z |3b|: just loading it again probably will do that 2018-10-06T23:32:54Z Bike: quicklisp won't download a system again unless it's updated. 2018-10-06T23:32:57Z nyingen_: To be clear, my project depends on library A which depends on library B, and B is the one that needs the patch 2018-10-06T23:33:19Z |3b|: right, ASDF handles loading for QL, and recompiles when files are modified 2018-10-06T23:33:22Z nyingen_: ok 2018-10-06T23:33:36Z nyingen_: so (ql:quickload "library-a") would do it? 2018-10-06T23:33:42Z |3b|: probably better to put a temporary copy in ~/quicklisp/local-projects/ and modify that though 2018-10-06T23:33:56Z |3b|: right, or load your project if it has proper dependencies 2018-10-06T23:34:07Z dented42 quit (Ping timeout: 246 seconds) 2018-10-06T23:34:08Z nyingen_: right, I didn't use quickproject this time because I thought it would be a small one-off 2018-10-06T23:35:04Z nyingen_: So to put the local copy in ~/quicklisp/local-projects, I just use 'cp' as normal? Or do I need to tell QL to do it somehow? 2018-10-06T23:35:22Z nyingen_: I know almost nothing about QL so feel free to point me to the relevant docs if these are simple questions :) 2018-10-06T23:35:28Z |3b|: cp or a git checkout or whatever (in case it is fixed already upstream) 2018-10-06T23:35:39Z nyingen_: ah, I should check that 2018-10-06T23:35:49Z nyingen_: QL doesn't pull from git, it has its own repo, right? 2018-10-06T23:36:10Z nyingen_: and once I have it in local-projects/ do I need to do something special to make QL use that one? 2018-10-06T23:36:23Z |3b|: right, it gets current code (for some project-dependent definition of current) every month, and that's what you get all month 2018-10-06T23:36:51Z Pixel_Outlaw joined #lisp 2018-10-06T23:36:55Z |3b|: possibly (ql:register-local-projects) after making the copy if it doesn't see it immediately, but ql loads things from local-projects before the things it downloads 2018-10-06T23:37:38Z |3b|: 'current' might mean 'git head', or 'release tarball', or specific branch from git or whatever 2018-10-06T23:38:25Z nyingen_: I see 2018-10-06T23:39:17Z nyingen_: The lib I need to patch hasn't been updated in some years by the looks of it 2018-10-06T23:40:29Z |3b|: what lib? 2018-10-06T23:40:48Z on_ion: |3b|: that is what i do, but a symbolic link in ~/ql/l-p 2018-10-06T23:43:37Z nyingen_: |3b|: this would be 'chillax', a lib for communicating with CouchDB 2018-10-06T23:43:53Z |3b|: ah 2018-10-06T23:44:36Z |3b|: author of that stopped using CL i think :( 2018-10-06T23:44:42Z nyingen_: Ah that's too bad 2018-10-06T23:44:57Z on_ion: no one stays in the temple forever =) 2018-10-06T23:45:05Z on_ion: except those whom teach others 2018-10-06T23:45:08Z on_ion: The Way 2018-10-06T23:47:40Z nyingen_: |3b|: well thanks for the tips. I'll give this a whirl later, and if it all works out I guess I'll fork the chillax lib since it sounds like it's probably unmaintained 2018-10-06T23:47:59Z nyingen_: in case anyone else is interested in it. it's a simple lib but I like the API 2018-10-06T23:52:32Z warweasle joined #lisp 2018-10-06T23:57:59Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-07T00:00:02Z kozy quit (Remote host closed the connection) 2018-10-07T00:00:49Z skeuomorf left #lisp 2018-10-07T00:00:57Z kozy joined #lisp 2018-10-07T00:14:57Z siraben quit (Ping timeout: 252 seconds) 2018-10-07T00:28:54Z dented42 joined #lisp 2018-10-07T00:31:43Z robotoad quit (Max SendQ exceeded) 2018-10-07T00:38:56Z Arcaelyx joined #lisp 2018-10-07T00:42:35Z robotoad joined #lisp 2018-10-07T01:15:43Z phao joined #lisp 2018-10-07T01:19:41Z phao: Hi. New to lisp here. Is there any way to have something like a pointer to a pointer with common lisp? I have a function which returns me a cons-cell, and I'd like to replace it by another thing, but in the place where that cons-cell came from. In C, I could do this by returning a pointer that cons-cell pointer. How could I do this sort of thing in CL? 2018-10-07T01:20:52Z phao: From what I'm seeing, the "common pattern" in CL for this is to have something like (setf (my-getter-of-cons-cell obj) new-cons-cell) it seems. Not sure... 2018-10-07T01:20:54Z no-defun-allowed: you could box it by putting it in a vector with just that cons 2018-10-07T01:21:15Z no-defun-allowed: if you have to though, you may want to rethink things though, it's not typical for CL to do that 2018-10-07T01:21:17Z phao: I see. 2018-10-07T01:26:34Z ryan_vw quit (Ping timeout: 240 seconds) 2018-10-07T01:27:22Z phao: Thanks. 2018-10-07T01:28:23Z aeth: Sounds like you could use a closure. (let ((foo (cons 1 nil))) (defun foo () foo) (defun (setf foo) (new-value) (setf foo new-value))) Then (setf (foo) "Hello, world!") (foo) and your foo function now returns "Hello, world!" 2018-10-07T01:28:48Z on_ion: ehe 2018-10-07T01:29:05Z Bike: i'd rather see it and look at what is appropriate 2018-10-07T01:29:27Z phao: Bike, It's an exercise on removing an element from a bst 2018-10-07T01:29:42Z aeth: Yes, that is literally implementing what you want, but what are you trying to do? The code I wrote isn't very idiomatic (although it does use a getter/setter pair) 2018-10-07T01:30:04Z nyingen_: Hm, I found the problem with chillax. Not sure it's anything in his lib specifically but drakma is returning a vector of octets instead of a string representing JSON (when talking to Couchdb) 2018-10-07T01:30:13Z phao: I have a node in the tree n=(elt, left, right). I know n.left is null and I want to replace n, in the tree, by its right. 2018-10-07T01:30:45Z phao: In C, having a pointer to n, I could do *n = (*n)->right 2018-10-07T01:31:08Z on_ion: algorithm might be such that the C way may seem like the right option 2018-10-07T01:31:13Z phao: that is what I have in mind. Without using pointers-to-pointers I have to keep track of "where I'm coming from" 2018-10-07T01:33:09Z phao: But it's no big deal. It's not needed for me to do that. I was just curious if there was some straightforward way to do that. 2018-10-07T01:33:54Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-07T01:36:19Z phao: Thanks all. 2018-10-07T01:36:55Z phao quit (Quit: Leaving) 2018-10-07T01:37:14Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-07T01:39:14Z nyingen_: Anyone around who's familiar with Drakma? 2018-10-07T01:39:22Z Bike: i mean, a little. 2018-10-07T01:40:02Z nyingen_: So this couchdb lib uses Drakma to make requests and get responses via HTTP to the couchdb server 2018-10-07T01:40:39Z nyingen_: CouchDB responds with JSON strings, but since it's content-type:application/json, Drakma returns it as a vector of octets 2018-10-07T01:41:07Z nyingen_: Apparently the couchdb lib ("chillax") expects a plain string. Perhaps this was the behaviour 8 years ago when it was written? 2018-10-07T01:41:34Z |3b|: https://edicl.github.io/drakma/#*text-content-types* <- add json to that i think 2018-10-07T01:41:34Z Bike: https://common-lisp.net/~loliveira/ediware/drakma/doc/#*text-content-types* 2018-10-07T01:41:35Z nyingen_: Adding (flexi-streams:octets-to-string response) in the chillax source code fixes the problem but is that the right approach? 2018-10-07T01:41:44Z nyingen_: ah, ok 2018-10-07T01:41:45Z Bike: listen to 3b instead of me, even though we said the same thing 2018-10-07T01:42:14Z nyingen_: Cool, now I don't need to patch chillax after all 2018-10-07T01:42:30Z |3b|: best kind of bug fix :) 2018-10-07T01:42:31Z Petit_Dejeuner: "listen to 3b instead of me" infinite loop 2018-10-07T01:43:14Z Oladon joined #lisp 2018-10-07T01:43:16Z nyingen_: I did look at the Drakma docs but I ended up thinking that the :external-format-out option to drakma:http-request had something to do with it 2018-10-07T01:43:22Z no-defun-allowed: yes, you need to adjoin ("application" . "json") to that var 2018-10-07T01:51:25Z drdo: Hmm, is there any standard util to coerce to boolean? i.e. non NIL is T 2018-10-07T01:51:43Z elderK joined #lisp 2018-10-07T01:51:44Z Bike: i just do not not 2018-10-07T01:51:48Z Bike: or (if x t nil) 2018-10-07T01:52:27Z drdo: Bike: yeah, just wondering if there was something in some widely use lib 2018-10-07T01:52:31Z drdo: *used 2018-10-07T01:53:11Z Bike: not that i am aware of. 2018-10-07T01:54:00Z shifty joined #lisp 2018-10-07T01:54:31Z on_ion: being in the base CL lib seems quite widely used. 2018-10-07T01:55:04Z robotoad quit (Quit: robotoad) 2018-10-07T02:05:44Z doesthiswork joined #lisp 2018-10-07T02:09:46Z elfmacs joined #lisp 2018-10-07T02:13:38Z robotoad joined #lisp 2018-10-07T02:42:42Z smaster joined #lisp 2018-10-07T02:55:51Z smaster quit (Quit: WeeChat 2.2) 2018-10-07T03:05:12Z Oladon quit (Quit: Leaving.) 2018-10-07T03:15:04Z _whitelogger quit (Remote host closed the connection) 2018-10-07T03:17:19Z _whitelogger joined #lisp 2018-10-07T03:22:03Z orivej quit (Ping timeout: 252 seconds) 2018-10-07T03:29:26Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-07T03:29:48Z beach: Good morning everyone! 2018-10-07T03:30:35Z no-defun-allowed: morning beach 2018-10-07T03:34:35Z dale joined #lisp 2018-10-07T03:45:10Z pierpal joined #lisp 2018-10-07T03:50:37Z on_ion: good morning 2018-10-07T03:51:36Z beach: no-defun-allowed: It happens to all of us. There are several remedies. 1. Take a break entirely, grow vegetables instead for instance. 2. Start a different (simpler?) project. 2018-10-07T03:52:14Z no-defun-allowed: good ideas 2018-10-07T03:52:40Z pierpal quit (Quit: Poof) 2018-10-07T03:52:43Z no-defun-allowed: it's spring now and i was considering growing tomatoes, heh 2018-10-07T03:52:56Z LdBeth: GG 2018-10-07T03:53:00Z pierpal joined #lisp 2018-10-07T03:59:12Z LdBeth: I remember there's a expanding meme on starting new project 2018-10-07T04:06:31Z pierpal quit (Read error: Connection reset by peer) 2018-10-07T04:06:46Z pierpal joined #lisp 2018-10-07T04:09:41Z Copenhagen_Bram quit (Quit: So long, and thanks for all the fish! 2.2 Weechat is best Weechat) 2018-10-07T04:11:25Z dddddd quit (Remote host closed the connection) 2018-10-07T04:13:59Z Pixel_Outlaw quit (Quit: Leaving) 2018-10-07T04:16:22Z aeth: no-defun-allowed: 3. write documentation 2018-10-07T04:16:40Z aeth: You're still moving forward, just not programming. 2018-10-07T04:16:48Z skeuomorf joined #lisp 2018-10-07T04:17:22Z skeuomorf quit (Client Quit) 2018-10-07T04:17:30Z aeth: (writing tests might work, too) 2018-10-07T04:17:53Z no-defun-allowed: i was writing docs 2018-10-07T04:18:09Z aeth: oh well if you've exhausted that then GOTO 1 2018-10-07T04:19:00Z no-defun-allowed: alright 2018-10-07T04:19:16Z jack_rabbit quit (Ping timeout: 250 seconds) 2018-10-07T04:19:25Z no-defun-allowed: these were docs i wrote before doing the programming cause it's a difficult topic 2018-10-07T04:20:40Z LdBeth: well writing doc utils also word 2018-10-07T04:20:45Z LdBeth: works 2018-10-07T04:27:04Z _whitelogger quit (Remote host closed the connection) 2018-10-07T04:27:34Z terpri joined #lisp 2018-10-07T04:28:58Z aeth: Consider writing things that are not as important but are related. Documentation is just one thing. 2018-10-07T04:29:18Z _whitelogger joined #lisp 2018-10-07T04:29:53Z no-defun-allowed: well, i was writing about how the MOP would work 2018-10-07T04:30:15Z elfmacs quit (Ping timeout: 252 seconds) 2018-10-07T04:30:19Z aeth: What are you using the MOP for? 2018-10-07T04:30:51Z no-defun-allowed: it's not to be confused with the CLOS's MOP 2018-10-07T04:31:11Z no-defun-allowed: but it's how objects get parsed and validated including the classes that are defined 2018-10-07T04:40:34Z ggole joined #lisp 2018-10-07T04:48:46Z phadthai quit (Quit: hardware upgrade) 2018-10-07T05:07:09Z megalography joined #lisp 2018-10-07T05:12:47Z dale quit (Quit: dale) 2018-10-07T05:13:43Z pierpal quit (Read error: Connection reset by peer) 2018-10-07T05:13:52Z pierpal joined #lisp 2018-10-07T05:14:25Z nyingen_: So (push (cons "application" "json") drakma:*text-content-types* ) works as expected when I call drakma:http-request from the repl 2018-10-07T05:14:42Z nyingen_: However that had no effect on the chillax library which is using drakma to talk to couchdb 2018-10-07T05:15:23Z nyingen_: I must be doing something incorrectly 2018-10-07T05:18:37Z nyingen_: nevermind, there is a different problem going on. 2018-10-07T05:19:55Z ryan_vw joined #lisp 2018-10-07T05:20:30Z pierpal quit (Ping timeout: 252 seconds) 2018-10-07T05:21:51Z jack_rabbit joined #lisp 2018-10-07T05:22:12Z pierpal joined #lisp 2018-10-07T05:26:20Z nyingen_: The Chillax lib does need a small patch, it turns out. 2018-10-07T05:26:36Z pierpal quit (Read error: Connection reset by peer) 2018-10-07T05:26:51Z pierpal joined #lisp 2018-10-07T05:39:33Z ebzzry quit (Read error: Connection reset by peer) 2018-10-07T05:41:36Z JohnMS joined #lisp 2018-10-07T05:45:36Z on_ion: nyingen_: for drakma? 2018-10-07T05:48:41Z phadthai joined #lisp 2018-10-07T06:02:40Z beach: no-defun-allowed: I think MOP-related stuff is way to complicated for you, judging from your reaction when I gave you a list of suggested projects. You said they were probably too complicated for you. 2018-10-07T06:02:55Z no-defun-allowed: yeah probably 2018-10-07T06:03:11Z no-defun-allowed: having that kind of dynamics would be a killer feature for my project though 2018-10-07T06:03:35Z beach: I understand. 2018-10-07T06:03:44Z vlatkoB joined #lisp 2018-10-07T06:04:12Z no-defun-allowed: i'll do more reading i guess 2018-10-07T06:04:19Z beach: If I were you, I would choose a small project that could be useful for several #lisp participants and that has to do with some Common Lisp tools, as opposed to an application. 2018-10-07T06:04:37Z beach: That way, you would have many people to help you and give you advice. 2018-10-07T06:04:53Z no-defun-allowed: alright 2018-10-07T06:05:43Z beach: Not that I have anything specific in mind. At least not right now. But I guess I could give it some thought. 2018-10-07T06:06:09Z bacterio joined #lisp 2018-10-07T06:06:22Z dented42 joined #lisp 2018-10-07T06:06:32Z no-defun-allowed: except for the object protocol this project seems very achievable though 2018-10-07T06:07:43Z nyingen_: on_ion: The chillax lib (for couchdb) is using drakma:http-request incorrectly, it seems. I'm sure the code worked in 2010 but something seems to have changed 2018-10-07T06:08:18Z nyingen_: Removing :external-format-in and :external-format-out from its invocation of that function makes everything work the way it's supposed to 2018-10-07T06:15:50Z beach: no-defun-allowed: So why the mental block then? 2018-10-07T06:16:25Z no-defun-allowed: cause of the object protocol part 2018-10-07T06:16:29Z on_ion: nyingen_: ahh, cool. 2018-10-07T06:16:56Z beach: no-defun-allowed: Oh, sorry, misread your previous utterance. 2018-10-07T06:17:10Z no-defun-allowed: that's alright 2018-10-07T06:19:23Z beach: The thing with applications, though, is that there is a great risk that you are the only one interested in that particular application, so you are pretty much on your own. 2018-10-07T06:19:42Z beach: That's why I suggested a programming tool instead. 2018-10-07T06:21:09Z no-defun-allowed: fair enough 2018-10-07T06:22:43Z beach: I mean, it is fine to be on your own if you have the drive, and you are an experienced Common Lisp programmer. But that is not your case, as I understand it. 2018-10-07T06:24:28Z elfmacs joined #lisp 2018-10-07T06:27:16Z no-defun-allowed: one sec, playing tech support for my dad 2018-10-07T06:31:22Z no-defun-allowed: back 2018-10-07T06:32:14Z no-defun-allowed: well i know that i'm not the only one interested, my friends have been listening and asking questions about it 2018-10-07T06:32:44Z igemnace quit (Quit: WeeChat 2.2) 2018-10-07T06:33:34Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-07T06:34:08Z no-defun-allowed: i can't call it new either, i've been toying with the idea for at least a year now 2018-10-07T06:34:43Z beach: Can you describe in a simple phrase what your application is doing? 2018-10-07T06:35:52Z no-defun-allowed: this application is designed to transport and store various types of data across a distributed network. 2018-10-07T06:36:07Z igemnace joined #lisp 2018-10-07T06:37:20Z no-defun-allowed: however, it also provides elliptic-curve signing and key derivation for proving ownership, and schemas to turn the textual formats into actual objects in your favourite language (such as CL). 2018-10-07T06:37:35Z terpri quit (Ping timeout: 268 seconds) 2018-10-07T06:38:27Z dented42 joined #lisp 2018-10-07T06:40:05Z solb joined #lisp 2018-10-07T06:42:51Z solb: hey y'all, wondering about some problems with my function apparently using generic-+ instead of doing float arithmetic 2018-10-07T06:44:06Z solb: the problem is only at optimize speed 2 and 3 and has to do with the reader value of my class 2018-10-07T06:44:44Z beach: What is the "reader value of a class"? 2018-10-07T06:45:08Z dented42 quit (Ping timeout: 244 seconds) 2018-10-07T06:45:28Z solb: or sorry, :reader of my class 2018-10-07T06:45:42Z solb: https://pastebin.com/Bi5iNg2w 2018-10-07T06:46:27Z solb: oh shit that's me testing making an inline function that just adds to double, but there's still pointer->double-float coercion that I don't exactly understand 2018-10-07T06:47:22Z rippa joined #lisp 2018-10-07T06:47:32Z beach: I strongly suspect that the :TYPE option is used only to check the type when things are stored, and that a boxed value is stored in any case. 2018-10-07T06:48:29Z phoe: solb: unless you're writing this yourself as an exercise, https://github.com/Shinmera/3d-matrices 2018-10-07T06:48:43Z solb: yeah I'm writing it myself as an exercise :) 2018-10-07T06:49:01Z phoe: okiedokie 2018-10-07T06:49:21Z solb: but thank you, will definitely use as a reference 2018-10-07T06:49:24Z phoe: pointer -> double float coercion in SBCL most likely means that you are converting from a boxed value to an unboxed value 2018-10-07T06:49:45Z beach: phoe: I think that is precisely what I said, no? 2018-10-07T06:50:23Z phoe: beach: yes, correct. 2018-10-07T06:50:46Z solb: I'm sorry for being a noobie, but what exactly does that mean for my use 2018-10-07T06:50:56Z phoe: and :TYPE is only for compiler information. SBCL doesn't make use of that information and you can store integers in a :TYPE FLOAT slot. 2018-10-07T06:51:06Z solb: ahhhhh, i see. 2018-10-07T06:51:18Z solb: Is there anyway to force double-float at compile? 2018-10-07T06:51:32Z beach: solb: I think you are out of luck. 2018-10-07T06:51:51Z beach: solb: I suspect when it stores a double float in a standard object, it is always boxed. 2018-10-07T06:51:59Z phoe: solb: I think you will want structure classes, created via DEFSTRUCT. 2018-10-07T06:51:59Z solb: welp, makes sense. 2018-10-07T06:52:14Z phoe: structure classes are dumber, as in, they don't make use of many of the advanced object-oriented facilities. 2018-10-07T06:52:22Z solb: ahh i thought about using defstruct 2018-10-07T06:52:25Z solb: I guess I should do that after all 2018-10-07T06:52:45Z Bike quit (Quit: Lost terminal) 2018-10-07T06:52:54Z phoe: but they also make it possible to either use structure-classes or to use a trick and use a vector as a structure. 2018-10-07T06:53:23Z phoe: then all the DEFSTRUCT does is create make, predicate and accessor functions for that vector. 2018-10-07T06:53:45Z solb: what is a structure-class? 2018-10-07T06:53:46Z phoe: so, essentially, you'll use a typed vector of three floats, which is as efficient as you can get. 2018-10-07T06:53:57Z phoe: solb: the type of class usually created by defstruct. 2018-10-07T06:53:57Z solb: ooh, that sounds like exactly what I want :) 2018-10-07T06:55:30Z phoe: defclass creates standard-classes, instances of which are standard-objects; defstruct creates structure-classes, instances of which are structure-objects. 2018-10-07T06:55:47Z phoe: ...unless defstruct creates vectors or lists, which is the special case. 2018-10-07T06:56:02Z phoe: but, if you're doing vector operations, it seems that you might want to use this. 2018-10-07T06:56:15Z phoe: also, I posted a wrong link; you're doing vector operations and not matrix operations. 2018-10-07T06:57:16Z phoe: https://github.com/Shinmera/3d-vectors 2018-10-07T06:58:32Z solb: phoe, thank you so much 2018-10-07T06:58:45Z phoe: it uses structure-objects for vectors, see https://github.com/Shinmera/3d-vectors/blob/master/struct.lisp 2018-10-07T06:59:23Z beach: The existence of STANDARD-INSTANCE-ACCESS makes it tricky to store unboxed data in a STANDARD-OBJECT. 2018-10-07T06:59:31Z beach: mop standard-instance-access 2018-10-07T06:59:31Z specbot: http://metamodular.com/CLOS-MOP/standard-instance-access.html 2018-10-07T07:00:49Z phoe: beach: yep. I think the storage vector associated with instances is, in general, a simple-vector, meaning that things are always boxed inside it. 2018-10-07T07:01:09Z jack_rabbit quit (Ping timeout: 252 seconds) 2018-10-07T07:01:10Z beach: If you happen to ask for a slot that happens to contain an unboxed float, it will be interpreted as a Common Lisp object, and very likely crash your system. 2018-10-07T07:01:37Z phoe: Creating different types of storage for a single instance might be problematic. 2018-10-07T07:02:12Z beach: That part is doable I think. 2018-10-07T07:02:30Z beach: The implementation would not use a simple vector. 2018-10-07T07:02:44Z solb: What I'm getting is I should definitely use DEFSTRUCT, right? 2018-10-07T07:02:58Z beach: Not from me. 2018-10-07T07:03:09Z solb: What are your thoughts? 2018-10-07T07:03:19Z phoe: solb: if you want it to go faster, I say yes. If you think your code is already fast enough, then there's no need to. 2018-10-07T07:03:24Z beach: I never use DEFSTRUCT. But then, I don't have the problems you do. 2018-10-07T07:03:58Z solb: Well this is a base for a N-Body gravity simulator, so speed is a pretty big priority 2018-10-07T07:04:13Z beach: solb: I don't write N-Body gravity simulators. 2018-10-07T07:04:15Z phoe: then do two things, in this order. 2018-10-07T07:04:24Z phoe: 1) use defstruct for your vectors 2018-10-07T07:04:26Z doubledup joined #lisp 2018-10-07T07:04:43Z phoe: 2) switch for an external library that has been used and battle-tested for a longer while. (: 2018-10-07T07:05:07Z phoe: 1) is for learning, 2) is for when you've already learned. 2018-10-07T07:05:31Z solb: hahaha, I'm sure life would be much easier using an external library, yes. 2018-10-07T07:05:41Z solb: But there's fun to building my own, right? :) 2018-10-07T07:05:47Z phoe: exactly 2018-10-07T07:06:00Z phoe: that's why I write code that I don't end up using later on 2018-10-07T07:06:18Z solb: Well, it could break sometimes, as long as it works well enough to get some good numbers 2018-10-07T07:06:39Z phoe: the worst way for it to break is not when it errors, but when it seems to work correctly 2018-10-07T07:06:46Z phoe: except it doesn't 2018-10-07T07:07:11Z solb: true, true. 2018-10-07T07:07:43Z solb: I also stole back some speed writing my own ADD-DUB function that just adds two numbers I know to be doubles, and declaming that inline 2018-10-07T07:07:49Z solb: as silly at that solution seems it gained some time 2018-10-07T07:09:32Z dented42 joined #lisp 2018-10-07T07:09:39Z phoe: solb: weird 2018-10-07T07:09:56Z solb: Well anyways, off to bed for me now, but thanks for the help as usual :) 2018-10-07T07:10:04Z phoe: as long as the compiler knows that both of your arguments are doubles, it should be able to speed it up for you 2018-10-07T07:10:17Z phoe: no point in defining a separate function for that and then inlining it 2018-10-07T07:11:59Z meepdeew joined #lisp 2018-10-07T07:12:02Z aeth: solb: two ways to avoid boxing in a data structure: specialized array (possibly created through defstruct storing to a sequence) and :type in a(n ordinary) structure slot 2018-10-07T07:12:17Z aeth: The latter is less portable, of course, but it'll work in a sufficiently optimizing compiler. 2018-10-07T07:13:23Z aeth: pretty much will only avoid the boxes of double-float, (unsigned-byte 64) and (signed-byte 64) and you still have to be careful not to e.g. return one from a non-inline function or call a function that's not inline with it as a parameter. 2018-10-07T07:13:59Z phoe: aeth: SBCL with SPEED 3 should warn of this last scenario. 2018-10-07T07:14:11Z aeth: Yes, SBCL is very good about this. 2018-10-07T07:14:31Z solb quit (Ping timeout: 256 seconds) 2018-10-07T07:14:40Z aeth: SBCL is the only implementation where I'm sure every workaround like this I'm doing actually works because of its compiler notes, its commented disassemble output, its profiling, etc. 2018-10-07T07:15:00Z aeth: I'd love for there to be some competition in tooling there. 2018-10-07T07:20:38Z stereosphere quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-07T07:25:41Z doesthiswork quit (Ping timeout: 268 seconds) 2018-10-07T07:32:26Z phoe: Where in the standard CL are class names used as arguments? DEFCLASS, DEFMETHOD, (SETF) FIND-CLASS, ...? 2018-10-07T07:32:41Z phoe: DEFGENERIC with :METHOD option, too, ...? 2018-10-07T07:33:35Z no-defun-allowed: TYPEP 2018-10-07T07:34:26Z phoe: that's type specifiers, but right. 2018-10-07T07:35:16Z no-defun-allowed: well class names are type specifiers 2018-10-07T07:35:39Z Shinmera: even class objects are type specifiers! 2018-10-07T07:35:50Z no-defun-allowed: oh cool, didn't know that 2018-10-07T07:35:52Z no-defun-allowed: ty Shinmera 2018-10-07T07:36:32Z Shinmera: phoe: find-method is another 2018-10-07T07:37:08Z Shinmera: Or, wait, no, that needs class objects 2018-10-07T07:38:12Z Shinmera: change-class though 2018-10-07T07:38:56Z elfmacs quit (Ping timeout: 272 seconds) 2018-10-07T07:39:05Z on_ion: does make-instance count 2018-10-07T07:39:20Z Shinmera: and allocate-instance 2018-10-07T07:39:31Z no-defun-allowed: yes, m-i counts 2018-10-07T07:40:22Z shka_ joined #lisp 2018-10-07T07:42:44Z themsay quit (Ping timeout: 272 seconds) 2018-10-07T07:43:17Z phoe: hm 2018-10-07T07:43:21Z phoe: not all that much 2018-10-07T07:43:31Z phoe: s/much/many/ 2018-10-07T07:46:09Z phoe: Shinmera: A-I doesn't accept class names 2018-10-07T07:46:58Z phoe: I'll write a CLOS extension that allows it to accept classes named by lists of symbols, not only symbols 2018-10-07T07:47:24Z Shinmera: blast my memory 2018-10-07T07:54:40Z ryan_vw quit (Ping timeout: 268 seconds) 2018-10-07T07:58:00Z Lycurgus joined #lisp 2018-10-07T08:14:11Z dented42 quit (Ping timeout: 260 seconds) 2018-10-07T08:18:16Z bendersteed joined #lisp 2018-10-07T08:27:35Z mkolenda quit (Remote host closed the connection) 2018-10-07T08:28:19Z mkolenda joined #lisp 2018-10-07T08:38:12Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-07T08:40:15Z LdBeth: brain power 2018-10-07T08:43:17Z kajo joined #lisp 2018-10-07T08:45:22Z angavrilov joined #lisp 2018-10-07T08:50:34Z desperek joined #lisp 2018-10-07T08:50:40Z desperek: hiya 2018-10-07T08:51:13Z phoe: heyyy 2018-10-07T08:52:02Z dented42 joined #lisp 2018-10-07T08:53:45Z random-nick joined #lisp 2018-10-07T08:55:14Z desperek awoos so the whole channel can hear him 2018-10-07T08:55:28Z JohnMS quit (Quit: Konversation terminated!) 2018-10-07T08:56:18Z SenasOzys joined #lisp 2018-10-07T08:56:42Z no-defun-allowed: hi 2018-10-07T09:00:06Z desperek: sup no-defun-allowed 2018-10-07T09:00:19Z desperek: oh right, i had a question. how do you make a web server with lisp 2018-10-07T09:00:23Z desperek: common lisp 2018-10-07T09:00:53Z no-defun-allowed: you can use hunchentoot or some other server to make a web program 2018-10-07T09:00:57Z Shinmera: https://cliki.net/Web 2018-10-07T09:01:11Z desperek: no-defun-allowed, what about writing a server myself 2018-10-07T09:01:18Z no-defun-allowed: (i found hunchentoot to be just the right balance of handholding and decisions. your mileage may vary :) 2018-10-07T09:01:28Z no-defun-allowed: probably not worth it unless you have specific use cases 2018-10-07T09:01:40Z desperek: i like the site of hunchenthot 2018-10-07T09:02:17Z no-defun-allowed: fun and utterly useless fact: it's named after a frank zappa piece 2018-10-07T09:03:45Z desperek: no-defun-allowed, thanks for letting me know about that 2018-10-07T09:04:04Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T09:09:12Z fiddlerwoaroof joined #lisp 2018-10-07T09:09:14Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T09:14:23Z fiddlerwoaroof joined #lisp 2018-10-07T09:16:35Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T09:20:13Z fiddlerwoaroof joined #lisp 2018-10-07T09:20:17Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T09:20:25Z ebzzry joined #lisp 2018-10-07T09:20:39Z fiddlerwoaroof joined #lisp 2018-10-07T09:22:59Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T09:23:57Z shifty quit (Ping timeout: 252 seconds) 2018-10-07T09:26:13Z fiddlerwoaroof joined #lisp 2018-10-07T09:28:25Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T09:31:36Z fiddlerwoaroof joined #lisp 2018-10-07T09:33:52Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T09:39:15Z fiddlerwoaroof joined #lisp 2018-10-07T09:43:39Z rixard joined #lisp 2018-10-07T09:51:40Z igemnace quit (Read error: Connection reset by peer) 2018-10-07T09:51:56Z igemnace joined #lisp 2018-10-07T09:58:43Z nyingen_: what do i do when the inferior lisp (in emacs slime mode) hangs? 2018-10-07T09:58:57Z nyingen_: ctrl-c didn't help; I had to quit emacs entirely 2018-10-07T10:00:05Z rtypo joined #lisp 2018-10-07T10:01:21Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T10:03:59Z nowhere_man joined #lisp 2018-10-07T10:06:06Z fiddlerwoaroof joined #lisp 2018-10-07T10:06:25Z robotoad quit (Quit: robotoad) 2018-10-07T10:06:47Z orivej joined #lisp 2018-10-07T10:12:01Z knicklux quit (Remote host closed the connection) 2018-10-07T10:19:43Z ravndal quit (Quit: WeeChat 2.2) 2018-10-07T10:33:51Z rixard quit (Quit: rixard) 2018-10-07T10:39:25Z ravndal joined #lisp 2018-10-07T10:41:30Z scymtym quit (Ping timeout: 252 seconds) 2018-10-07T10:42:23Z bendersteed quit (Remote host closed the connection) 2018-10-07T10:43:15Z no-defun-allowed: Somehow doing C-c C-c in inferior-lisp works. 2018-10-07T10:45:24Z Essadon joined #lisp 2018-10-07T10:45:28Z Gnuxie[m]: C-g 2018-10-07T10:45:46Z Gnuxie[m]: if it's when you're typing something into the repl 2018-10-07T10:45:56Z Gnuxie[m]: idk, it does that with me because of AC a lot 2018-10-07T10:46:26Z SenasOzys quit (Quit: Leaving) 2018-10-07T10:50:50Z nyingen_: Hm, I could try C-g next time 2018-10-07T10:51:02Z nyingen_: I did try C-c C-c which usually works, but did not here 2018-10-07T10:51:10Z nyingen_: this was doing something with cl-mysql 2018-10-07T10:51:23Z nyingen_: not sure what made it hang, as I lost access to the debugger and repl 2018-10-07T10:51:32Z nyingen_: very frustrating. 2018-10-07T10:54:36Z varjag joined #lisp 2018-10-07T10:54:42Z dented42 quit (Ping timeout: 252 seconds) 2018-10-07T10:55:07Z Lycurgus quit (Quit: Exeunt) 2018-10-07T10:55:58Z v0|d quit (Remote host closed the connection) 2018-10-07T10:59:06Z v0|d joined #lisp 2018-10-07T11:08:49Z Josh_2 joined #lisp 2018-10-07T11:09:43Z dddddd joined #lisp 2018-10-07T11:12:47Z serichsen joined #lisp 2018-10-07T11:14:42Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T11:15:01Z scymtym joined #lisp 2018-10-07T11:17:42Z fiddlerwoaroof joined #lisp 2018-10-07T11:19:16Z Elon_Satoshi joined #lisp 2018-10-07T11:21:18Z serichsen quit (Ping timeout: 252 seconds) 2018-10-07T11:21:39Z lavaflow quit (Ping timeout: 252 seconds) 2018-10-07T11:24:00Z theBlackDragon joined #lisp 2018-10-07T11:24:17Z Elon_Satoshi quit (Quit: So long, and thanks for all the fish! 2.2 Weechat is best Weechat) 2018-10-07T11:26:17Z Elon_Satoshi joined #lisp 2018-10-07T11:34:49Z doubledup quit (Quit: Leaving) 2018-10-07T11:42:35Z runejuhl quit (Read error: Connection reset by peer) 2018-10-07T11:43:37Z runejuhl joined #lisp 2018-10-07T11:46:24Z pierpal quit (Ping timeout: 252 seconds) 2018-10-07T11:46:56Z theBlackDragon quit (Remote host closed the connection) 2018-10-07T11:50:16Z theBlackDragon joined #lisp 2018-10-07T11:52:18Z rjid joined #lisp 2018-10-07T11:53:15Z kamog joined #lisp 2018-10-07T11:56:18Z gabot quit (Ping timeout: 245 seconds) 2018-10-07T11:56:56Z gabot joined #lisp 2018-10-07T11:57:58Z dueyfinster joined #lisp 2018-10-07T12:04:24Z knicklux joined #lisp 2018-10-07T12:07:42Z igemnace quit (Ping timeout: 264 seconds) 2018-10-07T12:10:19Z rjid quit (Ping timeout: 256 seconds) 2018-10-07T12:13:35Z dented42 joined #lisp 2018-10-07T12:15:15Z dueyfinster quit (Quit: My iMac has gone to sleep. ZZZzzz…) 2018-10-07T12:16:19Z dueyfinster joined #lisp 2018-10-07T12:17:37Z pierpal joined #lisp 2018-10-07T12:18:22Z lavaflow joined #lisp 2018-10-07T12:20:34Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-07T12:25:15Z Bike joined #lisp 2018-10-07T12:27:14Z pierpal quit (Ping timeout: 268 seconds) 2018-10-07T12:27:44Z asymptotically joined #lisp 2018-10-07T12:42:02Z _whitelogger quit (Remote host closed the connection) 2018-10-07T12:43:31Z drdo: Is there a function somewhere in some utility library to find the longest common prefix of a set of strings? 2018-10-07T12:43:58Z siraben joined #lisp 2018-10-07T12:44:15Z _whitelogger joined #lisp 2018-10-07T12:47:58Z ebzzry quit (Ping timeout: 245 seconds) 2018-10-07T12:52:48Z Shinmera: (defun prefix (strings) (with-output-to-string (o) (loop for i from 0 below (loop for s in strings minimize (length s)) while (loop for (a b) on strings always (or (null b) (char= (char a i) (char b i)))) do (write-char (char (first strings) i) o)))) 2018-10-07T12:54:03Z Shinmera: Could probably be done better, but whatever 2018-10-07T12:59:25Z moei quit (Quit: Leaving...) 2018-10-07T13:06:26Z dented42 quit (Ping timeout: 260 seconds) 2018-10-07T13:08:50Z drdo: Shinmera: I'm reading up on suffix trees, I've long forgotten the details 2018-10-07T13:16:17Z dented42 joined #lisp 2018-10-07T13:21:28Z elderK quit (Quit: Connection closed for inactivity) 2018-10-07T13:25:23Z bacterio left #lisp 2018-10-07T13:30:34Z rocx quit (Remote host closed the connection) 2018-10-07T13:30:51Z rocx joined #lisp 2018-10-07T13:32:35Z dueyfinster quit (Quit: Textual IRC Client: www.textualapp.com) 2018-10-07T13:34:45Z myrkraverk joined #lisp 2018-10-07T13:35:02Z dueyfinster joined #lisp 2018-10-07T13:35:44Z igemnace joined #lisp 2018-10-07T13:37:38Z siraben quit (Remote host closed the connection) 2018-10-07T13:40:42Z Arcaelyx quit (Ping timeout: 264 seconds) 2018-10-07T13:42:04Z jcowan joined #lisp 2018-10-07T13:43:18Z Arcaelyx_ joined #lisp 2018-10-07T13:47:32Z dented42 quit (Ping timeout: 272 seconds) 2018-10-07T13:51:12Z Xof: (defun prefix (strings) (let* ((sofar (first strings)) (len (length sofar))) (dolist (s (rest strings) sofar) (let ((m (mismatch s sofar :end len))) (when m (setf len m sofar (subseq sofar 0 m))))))) 2018-10-07T13:52:31Z warweasle joined #lisp 2018-10-07T13:53:00Z Shinmera: First time seeing mismatch, nice 2018-10-07T13:56:32Z siraben joined #lisp 2018-10-07T13:59:35Z moei joined #lisp 2018-10-07T14:01:46Z phoe: Is DEFGENERIC allowed to expand into (PROGN (DEFGENERIC-INTERNAL ...) (DEFMETHOD ...)) with a DEFMETHOD for each :METHOD option specified inside DEFGENERIC? 2018-10-07T14:02:05Z phoe: Or rather - is DEFMETHOD a valid part of DEFGENERIC expansion? 2018-10-07T14:03:08Z Bike: sure, why not? 2018-10-07T14:03:30Z Bike: you have to specially indicate that the methods are part of the defgeneric in a special way, but that's not much 2018-10-07T14:03:50Z phoe: Bike: hm, that special way is what I'm interested in 2018-10-07T14:04:01Z phoe: I assume there's no portable way of accessing that, is it? 2018-10-07T14:04:17Z phoe: s/is it/is there/ 2018-10-07T14:04:29Z Bike: probably not. 2018-10-07T14:04:57Z phoe: well then, a little bit more work for me. 2018-10-07T14:08:14Z jcowan: phoe: Indeed, there is no reason why DEFGENERIC can't expand into a simpler version of DEFGENERIC, as long as the recursion bottoms out somewhere. 2018-10-07T14:09:08Z phoe: jcowan: I'm working on my custom version of DEFGENERIC and I think it needs to expand into CL:DEFGENERIC since the only portable method of specifying initial methods is through DEFGENERIC's :METHOD. 2018-10-07T14:09:20Z phoe: Which means that I need to do some list tweakin' 2018-10-07T14:09:45Z jcowan: Makes sense 2018-10-07T14:10:19Z jcowan: In general you cannot count on how a macro in the CL package will expand, except that it won't generate any nonstandard special forms. 2018-10-07T14:10:53Z jcowan: Of course, there is no real difference between initially specified methods and other methods: you could expand into (BEGIN (DEFGENERIC ...) (DEFMETHOD ...) ...) 2018-10-07T14:11:08Z beach: phoe: Those methods in the defgeneric form have a special status. 2018-10-07T14:11:19Z beach: jcowan: There is. 2018-10-07T14:13:07Z beach: "first, methods defined by previous defgeneric forms are removed" 2018-10-07T14:13:12Z beach: clhs defgeneric 2018-10-07T14:13:12Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defgen.htm 2018-10-07T14:13:31Z phoe: beach: yep, so I can't do it any other way. 2018-10-07T14:13:42Z beach: other than what? 2018-10-07T14:13:58Z phoe: Expanding into CL:DEFGENERIC with :METHOD options. 2018-10-07T14:13:59Z beach: You can't expand it to defgeneric-without-method plus defmethods. 2018-10-07T14:14:08Z phoe: Yes, I can't do that. 2018-10-07T14:14:14Z beach: Correct. 2018-10-07T14:14:17Z jcowan: Yes, okay, so there is a magic side effect. But the methods themselves behave the same way whether defined in defgeneric or defmethod. 2018-10-07T14:14:32Z beach: Of course. 2018-10-07T14:14:44Z siraben: /whois jcowan 2018-10-07T14:14:51Z siraben: Oops that ended up public :P 2018-10-07T14:14:54Z phoe: gasp 2018-10-07T14:14:57Z Shinmera: Shameful 2018-10-07T14:15:03Z siraben: Sad face :( 2018-10-07T14:15:15Z jcowan: /whois siraben 2018-10-07T14:15:19Z jcowan: No leading space! 2018-10-07T14:15:31Z siraben: Yes with /say , right? 2018-10-07T14:15:44Z jcowan: Actually with //whois, though YMMV 2018-10-07T14:15:50Z siraben: Emacs ERC has this weird feature that /say doesn't echo... 2018-10-07T14:16:05Z siraben: I mean bug. 2018-10-07T14:16:18Z jcowan: So presumably a method has to keep a bit saying "This method was defined by defgeneric". 2018-10-07T14:16:42Z Bike: or the defgeneric keeps a list of which methods are from the defgeneric. 2018-10-07T14:16:55Z jcowan: Sure. 2018-10-07T14:17:13Z jcowan: Fortunately a method can't be shared between two generic functions. 2018-10-07T14:17:54Z jcowan: Though I doubt redefining generic functions on the fly is something you want to do much (outside dev/debug context) 2018-10-07T14:18:50Z beach: That's an important use case, though. 2018-10-07T14:19:12Z phoe: beach: is a STANDARD-CLASS allowed to have a non-symbol name? 2018-10-07T14:19:26Z pierpal joined #lisp 2018-10-07T14:19:43Z phoe: I'm still working on http://metamodular.com/CLOS-MOP/class-name.html 2018-10-07T14:19:48Z slyrus1 quit (Ping timeout: 244 seconds) 2018-10-07T14:22:18Z nsrahmad joined #lisp 2018-10-07T14:22:23Z beach: According to the MOP, I think any class can have a non-symbol name. 2018-10-07T14:24:42Z dented42 joined #lisp 2018-10-07T14:24:59Z phoe: Then I've found an edge-case error in SBCL, I think. 2018-10-07T14:34:53Z Roy_Fokker joined #lisp 2018-10-07T14:40:38Z phoe: (defclass quux () ((fred :accessor fred :initform 42))) 2018-10-07T14:41:01Z phoe: (setf (class-name (find-class 'quux)) '(frob)) signals an internal error in SBCL. 2018-10-07T14:41:52Z beach: phoe: You need to figure out how McCLIM gets around that then. 2018-10-07T14:42:07Z phoe: beach: ...or file a bugticket. 2018-10-07T14:42:31Z phoe: The name is changed successfully; what errors is some internal assertion during accessor fixup. 2018-10-07T14:42:38Z beach: Oh! 2018-10-07T14:42:45Z beach: I see. 2018-10-07T14:43:02Z beach: What happens if you use reinitialize instance instead? 2018-10-07T14:43:54Z knicklux quit (Quit: Leaving) 2018-10-07T14:44:46Z phoe: beach: REINITIALIZE-INSTANCE is on the stack. I assume the same error will happen. 2018-10-07T14:45:04Z phoe: Like, it's called by SETF CLASS-NAME. Even the MOP page for SETF CLASS-NAME says that it calls R-I. 2018-10-07T14:45:32Z beach: I see. 2018-10-07T14:46:13Z scottj joined #lisp 2018-10-07T14:46:35Z flip214 joined #lisp 2018-10-07T14:53:36Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T14:53:37Z nanoz joined #lisp 2018-10-07T14:56:01Z dented42 quit (Ping timeout: 246 seconds) 2018-10-07T14:57:17Z fiddlerwoaroof joined #lisp 2018-10-07T15:09:08Z phoe: A workaround is to not define accessors in DEFCLASS and define them separately. 2018-10-07T15:14:13Z Bike quit (Quit: Lost terminal) 2018-10-07T15:17:09Z asymptotically quit (Quit: Leaving) 2018-10-07T15:18:03Z Josh_2 quit (Ping timeout: 268 seconds) 2018-10-07T15:26:22Z nsrahmad quit (Remote host closed the connection) 2018-10-07T15:31:15Z on_ion: setf class-name... whoa =) 2018-10-07T15:34:24Z Elon_Satoshi quit (Read error: Connection reset by peer) 2018-10-07T15:35:36Z phoe: on_ion: huh? 2018-10-07T15:35:42Z phoe: that's a pretty standard MOP feature 2018-10-07T15:36:02Z phoe: and even a pretty standard ANSI CL feature 2018-10-07T15:36:31Z beach: on_ion: The class name is not used for much. Don't confuse it with FIND-CLASS and (SETF FIND-CLASS). 2018-10-07T15:37:13Z phoe: in particular, (defclass foo () ()) (setf (find-class 'bar) (find-class 'foo)) is valid 2018-10-07T15:37:22Z ryan_vw joined #lisp 2018-10-07T15:37:24Z phoe: beach: ...or did I forget anything up there? 2018-10-07T15:37:30Z on_ion: yes yes, "what, these self-driving diamon and golden shoes? everyone in my 'hood has them, fairly standard issue." 2018-10-07T15:37:53Z beach: phoe: It is valid. 2018-10-07T15:38:02Z phoe: on_ion: welcome to Common Lisp, where tweaking your language's object system is absolutely normal 2018-10-07T15:38:11Z phoe: beach: yep, thanks for confirming. 2018-10-07T15:41:02Z on_ion: phoe: um hello hi, ive been here for a while, nice to meet you too. yes we all have diamond and golden clothes and amenities i know about all of those. i didnt know about the SHOES in particular, thats all. ~_~ 2018-10-07T15:41:34Z on_ion: good morning beach. happy thxgiving all 2018-10-07T15:41:54Z dueyfinster quit (Read error: Connection reset by peer) 2018-10-07T15:42:40Z beach: on_ion: Thanks. We don't celebrate that where I live, so I don't keep track. But thanks anyway. 2018-10-07T15:44:06Z Elon_Satoshi joined #lisp 2018-10-07T15:45:23Z on_ion: beach: ah, its a canadian day here, holiday. i only notice it because people start talking about turkeys. hope your weekend went/is going well anyhow 2018-10-07T15:46:21Z beach: on_ion: Yes, thanks. Very busy, but it went well. 2018-10-07T15:46:32Z beach: I hope the same for yours. 2018-10-07T15:46:37Z on_ion: (setf (setf (find-class .. 2018-10-07T15:46:38Z on_ion: ty 2018-10-07T15:50:13Z Elon_Satoshi quit (Ping timeout: 244 seconds) 2018-10-07T15:52:00Z Oladon joined #lisp 2018-10-07T15:53:16Z nanoz quit (Ping timeout: 260 seconds) 2018-10-07T15:54:06Z Elon_Satoshi joined #lisp 2018-10-07T15:54:08Z astronavt joined #lisp 2018-10-07T15:54:48Z dented42 joined #lisp 2018-10-07T15:57:07Z FreeBirdLjj joined #lisp 2018-10-07T15:59:12Z adlai: "welcome to common lisp, where the print-case is up and the read-case don't matter" 2018-10-07T16:00:10Z Shinmera: unfortunately there are people that change read-case, and there's surprisingly many areas where that can screw you up 2018-10-07T16:00:58Z on_ion: like find-package ? 2018-10-07T16:02:42Z phoe: literally anything where you expect symbols to be named by uppercase characters only 2018-10-07T16:04:10Z Elon_Satoshi quit (Ping timeout: 244 seconds) 2018-10-07T16:06:53Z flip214 quit (Read error: Connection reset by peer) 2018-10-07T16:07:22Z slyrus1 joined #lisp 2018-10-07T16:09:13Z Elon_Satoshi joined #lisp 2018-10-07T16:09:13Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T16:12:51Z flip214 joined #lisp 2018-10-07T16:13:53Z fiddlerwoaroof joined #lisp 2018-10-07T16:14:06Z asymptotically joined #lisp 2018-10-07T16:15:03Z Josh_2 joined #lisp 2018-10-07T16:19:12Z astronavt quit (Ping timeout: 252 seconds) 2018-10-07T16:22:43Z Elon_Satoshi quit (Read error: Connection reset by peer) 2018-10-07T16:22:46Z astronavt joined #lisp 2018-10-07T16:24:27Z Shinmera: if you wanted to write truly "portable code" you'd hawe to denote every CL symbol with uppercase and vertical bars 2018-10-07T16:24:27Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T16:24:55Z Shinmera: !!FUN!! 2018-10-07T16:24:58Z phoe: (in-readtable my-silly-readtable) 2018-10-07T16:25:06Z phoe: Shinmera: there, your vertical bars no longer work 2018-10-07T16:25:15Z r1b joined #lisp 2018-10-07T16:25:53Z dented42 quit (Ping timeout: 268 seconds) 2018-10-07T16:26:21Z makomo quit (Ping timeout: 252 seconds) 2018-10-07T16:26:33Z Shinmera: changing print-case can also screw you up if you think you can circumvent read-case problems with something like (find-symbol (format NIL "~a-~a" 'foo 'p)) 2018-10-07T16:29:23Z fiddlerwoaroof joined #lisp 2018-10-07T16:31:35Z Elon_Satoshi joined #lisp 2018-10-07T16:31:47Z jcowan: Whoever writes code not using the standard readtable deserves to lose. 2018-10-07T16:31:48Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T16:34:18Z beach: I was just thinking that, for implementations that don't have first-class global environments, that could be a bootstrapping trick. 2018-10-07T16:34:42Z beach: I am not being serious. 2018-10-07T16:36:49Z fiddlerwoaroof joined #lisp 2018-10-07T16:40:38Z |3b|: code using strange readtables/case/etc is fine, loading other peoples code in strange readtables/etc is when you deserve to lose :) 2018-10-07T16:40:46Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T16:41:50Z |3b| is willing to make some allowances for 'modern mode', since it seems like a reasonable thing to change, but anything beyond that is user error :) 2018-10-07T16:42:38Z Shinmera: I'm not 2018-10-07T16:43:01Z Shinmera: I'll write constants uppercase til I die and modern mode chokes on that 2018-10-07T16:43:10Z beach: How long have you been not. [typical Eliza answer] 2018-10-07T16:45:02Z on_ion: we have caps lock 2018-10-07T16:45:10Z beach: Not me. 2018-10-07T16:45:15Z on_ion: neither, but.. 2018-10-07T16:45:16Z beach: I traded it for Control 2018-10-07T16:45:28Z |3b|: Shinmera: speaking of uppercase constants, does cl-spidev have any way to do unbuffered reads? 2018-10-07T16:45:43Z on_ion: me as well. hey what do you think of this, beach ... moving backspace to top left (tilde ~?) and moving space to top right (bkspc) 2018-10-07T16:45:47Z |3b| can't tell if TRANSMIT can do that or if it is only for full-duplex 2018-10-07T16:46:23Z fiddlerwoaroof joined #lisp 2018-10-07T16:46:45Z beach: on_ion: Maybe. What I really want is a narrow space key so that there is room for more mode keys there. 2018-10-07T16:46:46Z |3b|: my code seems to be breaking due to buffering (i can read large chunks correctly, but any pauses give me bad data, with apparent missing parts so i lose sync with device's fixed size packets) 2018-10-07T16:47:10Z shka_: phoe: did you figured out how to have list as a class name? 2018-10-07T16:47:17Z on_ion: beach: hm yeah. i cant think of what to use space for otherwise. tab perhaps 2018-10-07T16:47:36Z beach: I would have to think about it. 2018-10-07T16:48:08Z beach: It could be Control I guess. I would like to keep my home position while pressing control. 2018-10-07T16:48:37Z beach: Anyway, time to go fix dinner for my (admittedly small) family. 2018-10-07T16:49:39Z scymtym quit (Ping timeout: 252 seconds) 2018-10-07T16:50:24Z on_ion: enjoy 2018-10-07T16:50:25Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T16:51:33Z Essadon quit (Read error: No route to host) 2018-10-07T16:57:39Z fiddlerwoaroof joined #lisp 2018-10-07T16:58:31Z Essadon joined #lisp 2018-10-07T16:58:31Z stereosphere joined #lisp 2018-10-07T16:58:31Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:03:26Z fiddlerwoaroof joined #lisp 2018-10-07T17:11:41Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:14:00Z meepdeew quit (Remote host closed the connection) 2018-10-07T17:15:20Z phoe: shka_: yes, and discovered a SBCL bug along the way. 2018-10-07T17:15:27Z phoe: https://bugs.launchpad.net/sbcl/+bug/1796568 2018-10-07T17:16:05Z hugbubby joined #lisp 2018-10-07T17:16:06Z astronavt quit (Ping timeout: 260 seconds) 2018-10-07T17:16:21Z hugbubby: .help 2018-10-07T17:16:29Z fiddlerwoaroof joined #lisp 2018-10-07T17:16:52Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:17:03Z hugbubby: well I don't see any FAQ or nothing in the MOTD so I'll just ask: Is SICP still a good book to learn lisp with? 2018-10-07T17:20:14Z phoe: hugbubby: depends on the Lisp dialect that you want to learn 2018-10-07T17:20:26Z phoe: SICP is about Scheme; this channel is related to Common Lisp 2018-10-07T17:20:40Z phoe: nonetheless, SICP is still a rather good read, and the SICP lectures are still very good to watch 2018-10-07T17:20:50Z phoe: for learning CL, it is: 2018-10-07T17:20:55Z phoe: minion: tell hugbubby about pcl 2018-10-07T17:20:56Z minion: hugbubby: please see pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2018-10-07T17:20:57Z phoe: minion: tell hugbubby about gentle 2018-10-07T17:20:57Z minion: hugbubby: have a look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 2018-10-07T17:21:04Z shka_: hugbubby: SICP is about learning fundamentals of programming 2018-10-07T17:21:27Z shka_: scheme (not common lisp) is vessel picked by authors 2018-10-07T17:22:24Z hugbubby: What is the difference between scheme and common lisp 2018-10-07T17:22:29Z shka_: phoe: ok, thanks for info 2018-10-07T17:23:16Z shka_: hugbubby: numerous 2018-10-07T17:23:40Z shka_: different mindset, different goals, different implementations 2018-10-07T17:23:50Z shka_: different semantics 2018-10-07T17:23:51Z phoe: hugbubby: scheme is a smaller language that's oriented towards functional programming 2018-10-07T17:23:53Z shka_: different features 2018-10-07T17:24:03Z phoe: CL is a bigger language that is multi-paradigm by design 2018-10-07T17:24:28Z fiddlerwoaroof joined #lisp 2018-10-07T17:25:26Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:26:30Z Elon_Satoshi quit (Ping timeout: 252 seconds) 2018-10-07T17:26:50Z hugbubby: thanks for the help 2018-10-07T17:30:51Z phoe: hugbubby: no problem 2018-10-07T17:31:52Z fiddlerwoaroof joined #lisp 2018-10-07T17:32:14Z phoe: beach: I think I found the issue. 2018-10-07T17:32:27Z phoe: SBCL internally assumes that #'CLASS-NAME returns symbols. 2018-10-07T17:32:37Z phoe: Which is valid under ANSI CL but invalid under MOP conditions. 2018-10-07T17:33:30Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:35:38Z phoe: And I think I just fixed it, too. 2018-10-07T17:36:52Z phoe: beach: is printing instances of anonymous classes defined by the standard? 2018-10-07T17:37:10Z phoe: For a class # 2018-10-07T17:37:13Z phoe: an instance looks like #<# {1010049DD3}> 2018-10-07T17:37:25Z fiddlerwoaroof joined #lisp 2018-10-07T17:37:26Z jcowan: phoe: I wouldn't say Scheme is particularly oriented toward functional programming 2018-10-07T17:37:53Z phoe: jcowan: oh - it's been my impression for a long while 2018-10-07T17:38:01Z phoe: could you give me some reading material on the topic? 2018-10-07T17:38:05Z jcowan: it too is multi-paradigm, though the paradigms aren't made explicit 2018-10-07T17:38:21Z jcowan: in any case, OO and FP are duals: "objects are poor man's closures, but then again, closures are poor man's objects" 2018-10-07T17:38:25Z shka_: functional is such overloaded term 2018-10-07T17:38:38Z jcowan: instance variables correspond to local variables, e.g. 2018-10-07T17:39:48Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:41:40Z jcowan: phoe: https://www.math.purdue.edu/~lucier/615/Meroon-Doc/MeroonV3.ps describes Meroon, a highly portable (and probably familiar) object system in Scheme 2018-10-07T17:44:32Z dented42 joined #lisp 2018-10-07T17:45:28Z fiddlerwoaroof joined #lisp 2018-10-07T17:46:07Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:51:54Z fiddlerwoaroof joined #lisp 2018-10-07T17:53:09Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:55:17Z sabrac quit (Quit: Konversation terminated!) 2018-10-07T17:58:06Z fiddlerwoaroof joined #lisp 2018-10-07T17:58:20Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T17:59:38Z ryan_vw quit (Ping timeout: 245 seconds) 2018-10-07T18:00:11Z kajo joined #lisp 2018-10-07T18:03:33Z fiddlerwoaroof joined #lisp 2018-10-07T18:05:36Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T18:06:06Z roshanavand joined #lisp 2018-10-07T18:10:01Z fiddlerwoaroof joined #lisp 2018-10-07T18:10:53Z phoe: shka_: anyway, yes, I found it, and I'm slowly turning it into a library 2018-10-07T18:10:54Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T18:12:55Z ggole quit (Quit: ggole) 2018-10-07T18:13:20Z phoe: https://plaster.tymoon.eu/view/952#952 2018-10-07T18:15:05Z fiddlerwoaroof joined #lisp 2018-10-07T18:15:42Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T18:16:28Z r1b quit (Quit: r1b) 2018-10-07T18:17:18Z dented42 quit (Ping timeout: 264 seconds) 2018-10-07T18:19:29Z robotoad joined #lisp 2018-10-07T18:22:00Z makomo joined #lisp 2018-10-07T18:24:10Z fiddlerwoaroof joined #lisp 2018-10-07T18:24:32Z kamog quit (Quit: Leaving.) 2018-10-07T18:25:54Z beach: phoe: I don't know what is said about printing class objects. But I don't think there is such a thing as an anonymous class. CLASS-NAME probably always returns a name that you can not unset. 2018-10-07T18:25:54Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T18:26:42Z sabrac joined #lisp 2018-10-07T18:28:00Z flazh quit (Quit: flazh) 2018-10-07T18:28:10Z phoe: beach: I've searched for it; printing unreadable objects is implementation-dependent, so, in particular, printing standard-classes is implementation-dependent. 2018-10-07T18:28:29Z phoe: beach: also, (allocate-instance 'standard-class) gives you a class instance whose name slot is *not* set. 2018-10-07T18:28:56Z phoe: So #'CLASS-NAME cannot be relied on in all situations. 2018-10-07T18:29:11Z phoe: (I actually made a SBCL bugticket about this the other day) 2018-10-07T18:31:04Z fiddlerwoaroof joined #lisp 2018-10-07T18:31:15Z flazh joined #lisp 2018-10-07T18:38:28Z roshanavand quit (Ping timeout: 268 seconds) 2018-10-07T18:39:18Z roshanavand joined #lisp 2018-10-07T18:40:56Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T18:41:20Z Copenhagen_Bram joined #lisp 2018-10-07T18:44:55Z random-nick quit (Read error: Connection reset by peer) 2018-10-07T18:45:08Z m3tti joined #lisp 2018-10-07T18:45:53Z roshanavand quit (Ping timeout: 244 seconds) 2018-10-07T18:46:08Z scymtym joined #lisp 2018-10-07T18:46:14Z fiddlerwoaroof joined #lisp 2018-10-07T18:46:48Z roshanavand joined #lisp 2018-10-07T18:48:55Z Shinmera: |3b|: I don't remember. It's a library I have very little memory of since I wrote it quite quickly and barely used it. Haven't gotten to working on the project that I initially wrote it for 2018-10-07T18:48:56Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T18:49:30Z pierpal quit (Read error: Connection reset by peer) 2018-10-07T18:49:41Z pierpal joined #lisp 2018-10-07T18:50:29Z LdBeth: Good morning 2018-10-07T18:50:46Z Josh_2: Evening 2018-10-07T18:50:46Z pierpal quit (Read error: Connection reset by peer) 2018-10-07T18:50:56Z |3b|: Shinmera: ok, looks like i might be able to just use transmit, otherwise i can make a copy of it that does what i need 2018-10-07T18:51:14Z |3b|: (assuming i can get anything to work, keep getting "message too long" from it currently) 2018-10-07T18:51:22Z pierpal joined #lisp 2018-10-07T18:51:53Z Shinmera: I'm definitely open to changes if you figure anything out 2018-10-07T18:52:07Z fiddlerwoaroof joined #lisp 2018-10-07T18:54:30Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:00:09Z frgo quit (Remote host closed the connection) 2018-10-07T19:00:24Z angavrilov quit (Remote host closed the connection) 2018-10-07T19:00:41Z frgo joined #lisp 2018-10-07T19:00:54Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-07T19:01:31Z robotoad quit (Quit: robotoad) 2018-10-07T19:01:40Z roshanavand joined #lisp 2018-10-07T19:02:41Z frgo quit (Client Quit) 2018-10-07T19:03:55Z robotoad joined #lisp 2018-10-07T19:04:16Z fiddlerwoaroof joined #lisp 2018-10-07T19:05:31Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:07:55Z frgo joined #lisp 2018-10-07T19:08:30Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-07T19:09:30Z roshanavand joined #lisp 2018-10-07T19:09:41Z fiddlerwoaroof joined #lisp 2018-10-07T19:10:34Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:11:22Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-07T19:12:13Z frgo quit (Ping timeout: 246 seconds) 2018-10-07T19:16:19Z vlatkoB quit (Remote host closed the connection) 2018-10-07T19:16:39Z fiddlerwoaroof joined #lisp 2018-10-07T19:16:51Z ravndal quit (Ping timeout: 252 seconds) 2018-10-07T19:17:07Z shka_ quit (Ping timeout: 246 seconds) 2018-10-07T19:18:51Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:21:31Z frgo joined #lisp 2018-10-07T19:22:10Z shifty joined #lisp 2018-10-07T19:23:02Z fiddlerwoaroof joined #lisp 2018-10-07T19:23:07Z ravndal joined #lisp 2018-10-07T19:24:20Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:24:27Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-07T19:25:26Z roshanavand joined #lisp 2018-10-07T19:26:08Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-07T19:28:21Z fiddlerwoaroof joined #lisp 2018-10-07T19:28:56Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:31:16Z random-nick joined #lisp 2018-10-07T19:34:09Z fiddlerwoaroof joined #lisp 2018-10-07T19:35:12Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:42:54Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-07T19:43:56Z roshanavand joined #lisp 2018-10-07T19:44:23Z phoe: minion: memo for shka: https://github.com/phoe/list-named-class 2018-10-07T19:44:23Z minion: Remembered. I'll tell shka when he/she/it next speaks. 2018-10-07T19:44:28Z phoe: minion: memo for shka_: https://github.com/phoe/list-named-class 2018-10-07T19:44:28Z minion: Remembered. I'll tell shka_ when he/she/it next speaks. 2018-10-07T19:44:31Z fiddlerwoaroof joined #lisp 2018-10-07T19:45:46Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:47:33Z zxcvz quit (Quit: Leaving) 2018-10-07T19:48:18Z pierpal quit (Remote host closed the connection) 2018-10-07T19:53:53Z fiddlerwoaroof joined #lisp 2018-10-07T19:55:32Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T19:56:21Z lnostdal quit (Ping timeout: 252 seconds) 2018-10-07T19:57:23Z |3b|: Shinmera: possibly starting to figure out the spi stuff, will try to send a pull request with my changes at some point 2018-10-07T19:58:15Z Shinmera: Thanks, much appreciated. Sorry that I couldn't deliver on the "just works" experience 2018-10-07T19:58:26Z |3b|: Shinmera: any thoughts on naming for a function that does (possibly multiple) fixed size read through ioctl? 2018-10-07T19:58:38Z |3b|: Shinmera: np, mostly works aside from that one bit :) 2018-10-07T19:58:46Z Shinmera: I'm currently stuck in low-level memory hell myself on a different project :/ 2018-10-07T19:59:00Z Shinmera: multiple in what way? 2018-10-07T19:59:22Z |3b|: reads in multiple transactions, or maybe even multiple ioctls 2018-10-07T19:59:31Z |3b| isn't sure exactly yet 2018-10-07T19:59:39Z Shinmera: hmm 2018-10-07T19:59:56Z Shinmera: read-chunked or something like that? 2018-10-07T20:00:06Z twokays joined #lisp 2018-10-07T20:00:11Z |3b| tried reading a bunch of packets at once and got errors, but looping on single packet-sized ioctl reads seems OK 2018-10-07T20:00:24Z |3b|: next is trying multiple single-packet sized reads with 1 ioctl 2018-10-07T20:02:40Z fiddlerwoaroof joined #lisp 2018-10-07T20:02:47Z |3b|: though maybe single packet per ioctl calls is fast enough, if i can get it running on another thread 2018-10-07T20:03:26Z |3b|: multiple per call would hopefully make it less CPU intensive and less sensitive to GC though 2018-10-07T20:08:05Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-10-07T20:09:15Z anewuser joined #lisp 2018-10-07T20:09:45Z phoe: Okay - this is a hack (obviously), but I have created a MOP-based toolkit for creating and using classes that are named with lists of symbols, not only symbols (as in ANSI CL). 2018-10-07T20:09:45Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T20:09:48Z phoe: https://github.com/phoe/list-named-class 2018-10-07T20:09:55Z phoe: Tests will be done tomorrow, when it's not night anymore. 2018-10-07T20:09:57Z m3tti quit (Remote host closed the connection) 2018-10-07T20:10:20Z m3tti joined #lisp 2018-10-07T20:12:10Z roshanavand quit (Ping timeout: 244 seconds) 2018-10-07T20:13:06Z roshanavand joined #lisp 2018-10-07T20:13:14Z orivej quit (Ping timeout: 272 seconds) 2018-10-07T20:14:50Z fiddlerwoaroof joined #lisp 2018-10-07T20:15:39Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T20:17:03Z orivej joined #lisp 2018-10-07T20:18:26Z jmercouris joined #lisp 2018-10-07T20:18:45Z jmercouris: does anyone know how to do file upload in caveman2? 2018-10-07T20:21:06Z Sauvin quit (Ping timeout: 252 seconds) 2018-10-07T20:21:12Z sauvin_ joined #lisp 2018-10-07T20:22:39Z fiddlerwoaroof joined #lisp 2018-10-07T20:22:49Z pjb joined #lisp 2018-10-07T20:22:51Z meepdeew joined #lisp 2018-10-07T20:22:56Z sauvin_ is now known as Sauvin 2018-10-07T20:23:48Z ealfonso joined #lisp 2018-10-07T20:23:48Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T20:25:51Z jmercouris: can someone please remind me what #S means? 2018-10-07T20:25:56Z jmercouris: I'm having a mental block right now 2018-10-07T20:26:28Z no-defun-allowed: jmercouris: a structure follows. 2018-10-07T20:26:48Z jmercouris: no-defun-allowed: like a struct? 2018-10-07T20:27:01Z jmercouris: or any kind of structured data? 2018-10-07T20:27:07Z Shinmera: clhs #s 2018-10-07T20:27:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhm.htm 2018-10-07T20:27:19Z jmercouris: ok, so a struct 2018-10-07T20:27:21Z jmercouris: thanks 2018-10-07T20:27:40Z no-defun-allowed: A struct. 2018-10-07T20:28:00Z Shinmera: The proper term /is/ a structure though, not a struct. 2018-10-07T20:28:12Z jmercouris: I think we're all on the same page here. 2018-10-07T20:28:18Z fiddlerwoaroof joined #lisp 2018-10-07T20:28:37Z |3b|: Shinmera: looks like read-chunked works on my device with a small delay, can read 24 packets per call (apparently limited by kernel buffer size, so maybe more if i adjust kernel/module parameters) 2018-10-07T20:28:50Z Shinmera: |3b|: Sounds good 2018-10-07T20:29:07Z Shinmera: what kind of byte transfer rate do you get with that? 2018-10-07T20:29:35Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T20:30:11Z |3b|: looks like ~1.5MB/sec 2018-10-07T20:30:32Z |3b|: with 18MHz clock (max 20 on the device) 2018-10-07T20:31:00Z Shinmera: What are you reading from anyway? 2018-10-07T20:31:45Z |3b|: 1.34 that try 2018-10-07T20:31:52Z |3b|: thermal camera 2018-10-07T20:32:01Z Shinmera: from a Pi? Nifty. 2018-10-07T20:32:04Z |3b|: yeah 2018-10-07T20:32:31Z Shinmera: I initially wrote it for a set of plates called "PiPlates" that use some weird custom spi based command protocol 2018-10-07T20:32:46Z Shinmera: never got around to finish that tough 2018-10-07T20:32:54Z ealfonso: anyone familiar with postmodern have any suggestion on how to handle jsonb types? for example, I'd like to serialize/deserialize with cl-json 2018-10-07T20:33:19Z |3b|: this thing uses i2c for command/status stuff, so spent most of last day or 2 implementing that part 2018-10-07T20:33:30Z Shinmera: heh 2018-10-07T20:34:34Z |3b|: a lot of that was just typing in boilerplate once i got the basics done though... (define-get-set-enum command-name x y z enum1 enum2 enum3) etc 2018-10-07T20:34:54Z |3b|: which would read or write 2 words and convert to/from specified keywords 2018-10-07T20:35:06Z |3b|: or toggle a boolean, or read/write an int, etc 2018-10-07T20:36:04Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-07T20:36:29Z |3b|: pi plates looks interesting 2018-10-07T20:36:47Z fiddlerwoaroof joined #lisp 2018-10-07T20:36:49Z Shinmera: They have a python library, but the code's real bad 2018-10-07T20:36:54Z |3b|: heh 2018-10-07T20:37:46Z Shinmera: A somewhat direct translation is here, but it doesn't work yet and I never found the energy to debug https://github.com/Shinmera/pi-plates 2018-10-07T20:39:44Z |3b| has enough things to hook up to my pi for now, but maybe next time i buy stuff :) 2018-10-07T20:39:44Z jmercouris: I'm having a weird issue reading from a stream: https://gist.github.com/jmercouris/9c756df70f44b3055aff7cd6ca15f811 2018-10-07T20:40:03Z jmercouris: here's the doc for circular-streams: https://github.com/fukamachi/circular-streams 2018-10-07T20:40:25Z orivej quit (Ping timeout: 246 seconds) 2018-10-07T20:41:06Z jmercouris: not sure what (sb-kernel:closed-flame ...) even means 2018-10-07T20:41:32Z groovy2shoes joined #lisp 2018-10-07T20:41:51Z |3b|: probably just the indicator stream is closed 2018-10-07T20:41:55Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T20:42:02Z prrs joined #lisp 2018-10-07T20:42:08Z astronavt joined #lisp 2018-10-07T20:42:16Z jmercouris: indicator stream? 2018-10-07T20:42:20Z |3b|: also, why do you have some many debuggers open? 2018-10-07T20:42:35Z |3b|: indicator that the stream is closed, sorry for ambiguous syntax 2018-10-07T20:42:43Z jmercouris: I just don't close them, I just usually C-g and go back to the code 2018-10-07T20:43:00Z |3b|: q is easy way to get rid of debugger window 2018-10-07T20:43:09Z jmercouris: You literally just changed my life 2018-10-07T20:43:29Z jmercouris: I even had set-up ibuffer to group sldb to close them easily 2018-10-07T20:44:17Z |3b|: q i think uses first 'abort' restart, in case that happens to matter at some point (sometimes you need to pick a different one when there are multiple) 2018-10-07T20:44:40Z jmercouris: Well drilling down into the stream, it does indeed appear to be closed 2018-10-07T20:45:02Z jmercouris: I wish I knew more about streams, where can I learn about them that isn't the CLHS? 2018-10-07T20:46:43Z fiddlerwoaroof joined #lisp 2018-10-07T20:47:20Z |3b|: try (read-char (lack... last-request) nil :eof) there instead 2018-10-07T20:47:23Z jcowan quit (Quit: This computer has gone to sleep) 2018-10-07T20:47:52Z meepdeew quit (Remote host closed the connection) 2018-10-07T20:47:52Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T20:47:53Z |3b|: looks like with that circular stream, you should be able to keep reading after that error 2018-10-07T20:49:18Z jmercouris: still no luck 2018-10-07T20:50:19Z |3b|: same error? 2018-10-07T20:50:27Z m3tti quit (Remote host closed the connection) 2018-10-07T20:50:38Z jmercouris: yeah, # is closed 2018-10-07T20:50:44Z m3tti joined #lisp 2018-10-07T20:51:14Z jmercouris: I'm trying to get the raw-body so that I can handle file uploads 2018-10-07T20:52:12Z phoe: jmercouris: well, that error means that the socket got closed indeed 2018-10-07T20:52:12Z fiddlerwoaroof joined #lisp 2018-10-07T20:52:46Z jmercouris: Yes, I figured as much, it kind of makes sense 2018-10-07T20:52:55Z jmercouris: as soon as the server responds, why would it stay open? 2018-10-07T20:53:13Z jmercouris: I just want to peek inside 2018-10-07T20:53:19Z jmercouris: I did find this helpful issue: https://github.com/fukamachi/caveman/issues/63 2018-10-07T20:53:28Z phoe: actually 2018-10-07T20:53:28Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-07T20:53:34Z phoe: you should be able to read from its stream 2018-10-07T20:53:40Z phoe: and only after you exhaust it, you should get an EOF 2018-10-07T20:53:48Z jmercouris: I should not get an EOF at all 2018-10-07T20:53:51Z phoe: the data that the server sent you doesn't go anywhere 2018-10-07T20:53:52Z jmercouris: it is a "circular stream" 2018-10-07T20:54:01Z lucca joined #lisp 2018-10-07T20:54:08Z jmercouris: https://github.com/fukamachi/circular-streams 2018-10-07T20:54:10Z phoe: oh, hm 2018-10-07T20:54:20Z |3b|: from my reading, you should get an EOF, then you should get the contents again 2018-10-07T20:54:31Z no-defun-allowed: Are there any web servers that give you streams instead of creating large strings? 2018-10-07T20:54:47Z |3b|: (presumably buffered in memory though, so you can't get more data from server that way, or send to it) 2018-10-07T20:54:54Z no-defun-allowed: Node gives you a response object you can write on, for example. 2018-10-07T20:55:09Z |3b|: i think you can do that with hunchentoot 2018-10-07T20:55:14Z phoe: no-defun-allowed: should be possible wit--- yes 2018-10-07T20:55:27Z phoe: you should be able to get a stream from which you can read and to which you can write 2018-10-07T20:55:35Z |3b|: though you might need to adjust the default thread per connection model if you have lots of clients and long requests 2018-10-07T20:55:43Z no-defun-allowed: Good, good. 2018-10-07T20:59:34Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T21:01:50Z phoe: |3b|: I actually was digging for that 2018-10-07T21:01:54Z phoe: lemme find that link 2018-10-07T21:02:14Z phoe: https://quickref.common-lisp.net/quux-hunchentoot.html 2018-10-07T21:02:18Z phoe: thread-pooling-taskmaster that is 2018-10-07T21:02:24Z phoe: it uses a lparallel kernel. 2018-10-07T21:02:35Z |3b|: yeah, thought i'd seem it done, but haven't looked at details 2018-10-07T21:02:46Z |3b| doesn't have that problem, so doesn't worry about it :p 2018-10-07T21:02:59Z fiddlerwoaroof joined #lisp 2018-10-07T21:03:33Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T21:05:10Z random-nick quit (Read error: Connection reset by peer) 2018-10-07T21:06:31Z fiddlerwoaroof joined #lisp 2018-10-07T21:06:42Z jmercouris: Wow, unbelievable 2018-10-07T21:06:49Z jmercouris: I forgot: enctype="multipart/form-data" 2018-10-07T21:07:13Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T21:07:24Z Bike joined #lisp 2018-10-07T21:07:48Z jmercouris: I just wasted like an hour thinking, why would this framework convert a file to a string? 2018-10-07T21:08:02Z jmercouris: s/convert a file to a string/convert a file to the filename as a string 2018-10-07T21:08:40Z r1b joined #lisp 2018-10-07T21:09:27Z fiddlerwoaroof joined #lisp 2018-10-07T21:09:38Z fiddlerwoaroof quit (Client Quit) 2018-10-07T21:09:38Z desperek quit (Quit: xoxo) 2018-10-07T21:11:47Z robotoad quit (Quit: robotoad) 2018-10-07T21:13:13Z astronavt quit (Read error: Connection reset by peer) 2018-10-07T21:14:25Z nyingen_: The MySQL situation in CL seems a bit under-done 2018-10-07T21:15:20Z nyingen_: I had no trouble using sqlite with CL, but for mysql it looks like the choices are cl-mysql, which behaves strangely on my system (sbcl on linux) and CLSQL whose website and docs are 404 2018-10-07T21:16:40Z jmercouris: under-done? There are so many SQL libraries in CL 2018-10-07T21:17:17Z jmercouris: nyingen_: here is a good one I like to reccommend: http://8arrow.org/cl-dbi/ 2018-10-07T21:17:41Z nyingen_: jmercouris: I did see that one. According to the QL site, it uses cl-mysql to connect with MySQL 2018-10-07T21:17:45Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-07T21:18:01Z jmercouris: what kind of "strange" issues are you having? 2018-10-07T21:18:21Z nyingen_: I've had the REPL hang when doing queries or fetching results 2018-10-07T21:18:34Z jmercouris: could be a result of your communication style, for example 2018-10-07T21:18:44Z |3b| has the impression postgres is more popular with CL devs, though hard to say if that is cause or effect of quality of mysql support :) 2018-10-07T21:18:46Z nyingen_: I'm no stranger to the debugger but since it hangs, I can't see what the problem is 2018-10-07T21:18:50Z jmercouris: in your .swank.lisp file you can do: (setf swank:*communication-style* :spawn) 2018-10-07T21:18:55Z nyingen_: hm, ok 2018-10-07T21:18:56Z jmercouris: or (setf swank:*communication-style* :fd-handler) 2018-10-07T21:19:04Z jmercouris: try those out, and see if they help 2018-10-07T21:19:10Z nyingen_: What's the difference there? Or is there a manual I can read? 2018-10-07T21:19:17Z jmercouris: fd uses a file descriptor 2018-10-07T21:19:21Z jmercouris: and spawn makes a new thread 2018-10-07T21:19:22Z ym joined #lisp 2018-10-07T21:19:28Z jmercouris: it is somewhere in the slime manual 2018-10-07T21:19:32Z nyingen_: Ok, I'll check 2018-10-07T21:19:39Z nyingen_: I figured it could be a threading issue 2018-10-07T21:19:46Z jmercouris: https://www.common-lisp.net/project/slime/doc/html/Communication-style.html 2018-10-07T21:20:27Z ym quit (Remote host closed the connection) 2018-10-07T21:20:33Z nyingen_: jmercouris: I will try that 2018-10-07T21:20:49Z jmercouris: best of luck, if that doesn't work, and you don't have to use mysql, I would also suggest just switching to postgres 2018-10-07T21:21:06Z nyingen_: Yeah, unfortunately I do have to use MySQL. I'm migrating a huge database to couchdb 2018-10-07T21:21:21Z jmercouris: maybe you can migrate from mysql to postgres, and then to couchdb 2018-10-07T21:21:33Z jmercouris: you can use the postgres migration tool that dimitri (?) wrote 2018-10-07T21:21:34Z |3b|: did you try interrupting it when it hangs? (C-c C-c in repl, C-c C-b in other lisp buffers) 2018-10-07T21:21:36Z nyingen_: Maybe, but the current trouble is getting the data out of MySQL 2018-10-07T21:21:43Z nyingen_: |3b|: I did try that, to no effect 2018-10-07T21:22:09Z igemnace quit (Quit: WeeChat 2.2) 2018-10-07T21:22:15Z jmercouris: https://github.com/dimitri/pgloader 2018-10-07T21:23:21Z nyingen_: jmercouris: Interesting. I might try that as a last resort, but I've never used postgres and would rather not bring it in if I can avoid it 2018-10-07T21:23:26Z orivej joined #lisp 2018-10-07T21:23:32Z jmercouris: Yeah, it was just a thought 2018-10-07T21:24:05Z nyingen_: This project started out as a perl script using perl's DBI, but the devil is in the details so I rewrote it to CL, not anticipating the trouble I was going to have with the mysql libs 2018-10-07T21:24:31Z jmercouris: maybe you can write the migration in perl then 2018-10-07T21:25:05Z jmercouris: oh, I misunderstood, I assumed it was a legacy perl application using mysql and you were moving to CL + couchdb 2018-10-07T21:26:43Z |3b|: nyingen_: hmm, if interrupting it didn't work, did you check *inferior-lisp*? might have run out of memory or printed some other fatal error there 2018-10-07T21:26:47Z nyingen_: yeah, unexpected issues cropped up with the migration and so I switched to using CL so I could use the debugger, sane data types, and so on 2018-10-07T21:26:56Z zigpaw quit (Ping timeout: 260 seconds) 2018-10-07T21:27:07Z nyingen_: |3b|: oh, good idea. Next time it hangs I will check that 2018-10-07T21:27:29Z |3b|: possibly also increase heap size of sbcl if you have a large amount of data 2018-10-07T21:27:47Z |3b|: i think it defaults to 1gb, which is easy to hit 2018-10-07T21:27:58Z prrs quit (Remote host closed the connection) 2018-10-07T21:28:03Z nyingen_: The DB is very large, yeah, but for testing purposes I'm only using 500 records, which should be only a few hundred KB at most 2018-10-07T21:28:21Z nyingen_: also the SQL lib is not supposed to fetch them all, but return them row-by-row when asked 2018-10-07T21:29:08Z |3b| tries to avoid assumptions like that when things aren't working :) 2018-10-07T21:29:22Z |3b|: if it was behaving as i expected it to, it would be working :p 2018-10-07T21:29:48Z |3b|: (but small test DB does sound like that probably isn't the problem) 2018-10-07T21:30:00Z jack_rabbit joined #lisp 2018-10-07T21:30:48Z jmercouris: are you sure your specifying the sql path correctly? are your credentials valid? 2018-10-07T21:30:55Z jmercouris: is the sql server running? 2018-10-07T21:31:04Z nyingen_: yes. some queries work, some hang the repl 2018-10-07T21:31:11Z jmercouris: interesting 2018-10-07T21:31:14Z nyingen_: My next step is probably to read the source code of cl-sql 2018-10-07T21:31:25Z jmercouris: maybe some relationships within those queries? 2018-10-07T21:31:34Z nyingen_: it has a design that seems odd to me, namely using a global connection handle 2018-10-07T21:31:35Z jmercouris: do those same queries hang when executed from the sql cli? 2018-10-07T21:31:45Z nyingen_: jmercouris: no, everything is fine from the sql cli 2018-10-07T21:31:57Z nyingen_: also perl's DBI had no problem either 2018-10-07T21:32:06Z jmercouris: very strange 2018-10-07T21:32:19Z nyingen_: the trouble I was having there was figuring out mappings to couchdb's json, etc, and that problem is much better approached in CL 2018-10-07T21:32:22Z jmercouris: I know this is going to sound very dumb, but have you tried restarting your inferior lisp? 2018-10-07T21:32:52Z nyingen_: jmercouris: restarted it when? during the hang? 2018-10-07T21:33:03Z jmercouris: just in general, maybe there is some strange conflicts going on 2018-10-07T21:33:07Z jmercouris: perhaps something was redefined at some point 2018-10-07T21:33:09Z jmercouris: who knows? 2018-10-07T21:33:36Z jmercouris: maybe some asd in local-projects interferring with cl-sql? 2018-10-07T21:33:47Z jmercouris: do you get any prompts when loading the system? 2018-10-07T21:34:33Z jmercouris: maybe you have an old version of cl-sql? idk, I'm just guessing here, because the behavior you've described is very strange 2018-10-07T21:34:46Z nyingen_: Yeah, I'll look into all these 2018-10-07T21:34:48Z jmercouris: and I can't imagine how one would even begin troubleshooting it, some queries work, some hang, but they all work in the sql CLI 2018-10-07T21:35:09Z nyingen_: my guess would be some sort of threading issue with cl-mysql or cl-mysql + swank or whatever 2018-10-07T21:35:17Z jmercouris: oh that's a good idea 2018-10-07T21:35:20Z jmercouris: you know what you should try 2018-10-07T21:35:24Z jmercouris: start sbcl by itself in a new terminal window 2018-10-07T21:35:35Z jmercouris: and try the same operations 2018-10-07T21:36:22Z nyingen_: yeah, taking emacs/swank out of the equation is a good idea 2018-10-07T21:38:06Z asymptotically quit (Quit: Leaving) 2018-10-07T21:39:38Z nyingen_: jmercouris: ok, I get the same hanging in the standalone repl, so now I need to make sure my code is doing what I think it's doing, and if that's all good, check what cl-mysql is doing internally 2018-10-07T21:39:43Z nyingen_: so swank is not the problem, thankfully 2018-10-07T21:40:11Z jmercouris: Nice, well, that's a start 2018-10-07T21:40:26Z astronavt joined #lisp 2018-10-07T21:41:18Z astronavt quit (Max SendQ exceeded) 2018-10-07T21:41:29Z nyingen_: Ideally I would switch to a different MySQL lib and try that, but the only other one seems to be CLSQL, whose website is 404 so I'm not too sure about that, even if its code is in the quicklisp repository 2018-10-07T21:42:31Z jmercouris: well, you can examine the code if it is in the quicklisp repository 2018-10-07T21:42:45Z jmercouris: just quickload it and it will be in ~/quicklisp/distributions/quicklisp I think 2018-10-07T21:42:52Z jmercouris: something like that, there is a path, you'll find it 2018-10-07T21:43:03Z astronavt joined #lisp 2018-10-07T21:43:08Z jmercouris: the README could have pretty simple instructions, I would say it is worth a try 2018-10-07T21:43:38Z Copenhagen_Bram joined #lisp 2018-10-07T21:46:59Z Shinmera: https://www.quicklisp.org/beta/UNOFFICIAL/docs/clsql/doc/index.html 2018-10-07T21:52:09Z jmercouris quit (Remote host closed the connection) 2018-10-07T21:55:03Z Khisanth quit (Ping timeout: 245 seconds) 2018-10-07T21:55:19Z m3tti quit (Ping timeout: 246 seconds) 2018-10-07T21:55:30Z Khisanth joined #lisp 2018-10-07T21:55:40Z robotoad joined #lisp 2018-10-07T22:00:15Z zigpaw joined #lisp 2018-10-07T22:12:41Z frodef joined #lisp 2018-10-07T22:32:00Z warweasle joined #lisp 2018-10-07T22:33:44Z shifty quit (Ping timeout: 244 seconds) 2018-10-07T22:42:17Z fiddlerwoaroof joined #lisp 2018-10-07T22:44:36Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T22:46:16Z pjb quit (Ping timeout: 252 seconds) 2018-10-07T22:47:05Z Josh_2 quit (Remote host closed the connection) 2018-10-07T22:48:50Z astronavt quit (Ping timeout: 268 seconds) 2018-10-07T22:49:56Z r1b quit (Quit: r1b) 2018-10-07T22:50:26Z katco joined #lisp 2018-10-07T22:51:09Z fiddlerwoaroof joined #lisp 2018-10-07T22:51:23Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T22:51:24Z prrs joined #lisp 2018-10-07T22:52:06Z jack_rabbit quit (Ping timeout: 264 seconds) 2018-10-07T22:52:56Z katco: hey everyone, i've created a library to generate OpenAPI clients: https://github.com/kat-co/openapi2cl. i'd love feedback on coding standards/readibility, as well as bugs from folks working with it. just please read the numbered list of caveats in the readme first :) 2018-10-07T22:57:50Z |3b|: katco: i see a (check-type ... function), any reason for not allowing function designators? 2018-10-07T22:57:55Z fiddlerwoaroof joined #lisp 2018-10-07T22:58:13Z katco: |3b|: likely ignorance =/ 2018-10-07T22:58:38Z |3b| frequently just uses 'foo instead of #'foo in situations where it doesn't matter 2018-10-07T22:58:41Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2018-10-07T22:59:48Z katco: so it would have to support symbols and functions? 2018-10-07T22:59:49Z |3b|: using symbols in cl-user sounds like a bad idea, better to make a specific package for it 2018-10-07T23:00:02Z |3b|: right 2018-10-07T23:00:09Z katco: ok 2018-10-07T23:00:22Z Bike: since funcall, apply etc already do that that's hopefully not too hard on you. 2018-10-07T23:01:05Z katco: re. symbols in cl-user; that is purely so that when the code is piped through format it doesn't prepend everything with a package. if i specify another package, will it do the same? 2018-10-07T23:01:42Z |3b|: just set *package* to whatever package they are in when you print it 2018-10-07T23:02:00Z |3b|: and then it won't break if someone runs it from some other package :) 2018-10-07T23:02:26Z katco: ah, great! i'll try that 2018-10-07T23:03:15Z katco: if y'all are up for it, opening issues would be great. i'm traveling tomorrow and i don't want to lose this input. cool if not though! 2018-10-07T23:05:25Z |3b|: use WHEN (or UNLESS) instead of single-branch IF. (just style, has same behavior) 2018-10-07T23:05:29Z jack_rabbit joined #lisp 2018-10-07T23:05:33Z katco: ty 2018-10-07T23:10:05Z astronavt joined #lisp 2018-10-07T23:22:04Z pjb joined #lisp 2018-10-07T23:23:25Z marusich joined #lisp 2018-10-07T23:26:59Z katco: i have to go pack, but tyvm for your comments so far :) i've logged them as issues here: https://github.com/kat-co/openapi2cl/issues 2018-10-07T23:31:14Z aeth quit (Read error: Connection reset by peer) 2018-10-07T23:32:09Z aeth joined #lisp 2018-10-07T23:34:04Z meepdeew joined #lisp 2018-10-07T23:35:43Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-07T23:39:16Z rtypo quit (Ping timeout: 246 seconds) 2018-10-07T23:51:44Z siraben quit (Ping timeout: 268 seconds) 2018-10-07T23:51:45Z astronavt_ joined #lisp 2018-10-07T23:55:03Z astronavt quit (Ping timeout: 252 seconds) 2018-10-07T23:55:34Z pjb quit (Ping timeout: 240 seconds) 2018-10-07T23:57:00Z no-defun-allowed: how can i stop hunchentoot logging requests? 2018-10-08T00:07:15Z astronavt_ quit (Ping timeout: 252 seconds) 2018-10-08T00:10:58Z astronavt joined #lisp 2018-10-08T00:25:58Z Essadon quit (Quit: Qutting) 2018-10-08T00:35:48Z fiddlerwoaroof joined #lisp 2018-10-08T00:36:28Z dented42 joined #lisp 2018-10-08T00:36:40Z astronavt quit (Ping timeout: 246 seconds) 2018-10-08T00:37:34Z on_ion: https://edicl.github.io/hunchentoot/#logging 2018-10-08T00:38:03Z no-defun-allowed: that seems to be for errors 2018-10-08T00:38:19Z no-defun-allowed: tracing log-message* revealed no calls to it too 2018-10-08T00:38:37Z on_ion: have you read the first sentence/paragraph though 2018-10-08T00:38:45Z astronavt joined #lisp 2018-10-08T00:38:46Z on_ion: its an 'error handler' which also sometimes means 'hook' 2018-10-08T00:39:00Z no-defun-allowed: oh yes 2018-10-08T00:39:12Z on_ion: after describing the log handler, second sentence explains how to disable. 2018-10-08T00:39:13Z frodef quit (Ping timeout: 268 seconds) 2018-10-08T00:39:16Z no-defun-allowed: :ACCESS-LOG-DESTINATION nil should do 2018-10-08T00:39:18Z on_ion: did you skip it? =) 2018-10-08T00:39:25Z no-defun-allowed: (: 2018-10-08T00:47:21Z meepdeew quit (Remote host closed the connection) 2018-10-08T00:54:40Z warweasle joined #lisp 2018-10-08T01:07:35Z SaganMan quit (Ping timeout: 268 seconds) 2018-10-08T01:15:27Z astronavt quit (Ping timeout: 252 seconds) 2018-10-08T01:16:33Z stereosphere quit (Ping timeout: 252 seconds) 2018-10-08T01:26:49Z roshanavand quit (Ping timeout: 244 seconds) 2018-10-08T01:29:21Z igemnace joined #lisp 2018-10-08T01:40:45Z kgx joined #lisp 2018-10-08T01:40:54Z dddddd quit (Remote host closed the connection) 2018-10-08T01:48:00Z daniel-s joined #lisp 2018-10-08T01:48:39Z marusich quit (Ping timeout: 252 seconds) 2018-10-08T01:52:00Z pjb joined #lisp 2018-10-08T01:53:03Z orivej quit (Ping timeout: 252 seconds) 2018-10-08T01:55:16Z jack_rabbit quit (Ping timeout: 260 seconds) 2018-10-08T01:57:11Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-08T01:59:45Z Copenhagen_Bram joined #lisp 2018-10-08T02:06:06Z robotoad quit (Quit: robotoad) 2018-10-08T02:10:22Z Arcaelyx_ quit (Quit: Textual IRC Client: www.textualapp.com) 2018-10-08T02:16:12Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-08T02:17:14Z jack_rabbit joined #lisp 2018-10-08T02:24:00Z dented42 joined #lisp 2018-10-08T02:25:34Z pjb quit (Ping timeout: 240 seconds) 2018-10-08T02:25:51Z Petit_Dejeuner quit (Ping timeout: 252 seconds) 2018-10-08T02:30:12Z shifty joined #lisp 2018-10-08T02:32:36Z sabrac quit (Quit: Konversation terminated!) 2018-10-08T02:39:46Z comborico1611 joined #lisp 2018-10-08T02:40:33Z comborico1611: I'm looking for a pdf of Common LISP: The Reference. Anyone know where to get it? 2018-10-08T02:42:46Z beach: Good morning everyone! 2018-10-08T02:43:21Z ryan_vw joined #lisp 2018-10-08T02:44:02Z beach: Why would you look for such a book? It predates the standard. 2018-10-08T02:44:24Z comborico1611: I'm just curious to scan through it. 2018-10-08T02:44:45Z beach: It was probably never made public. 2018-10-08T02:52:57Z pjb joined #lisp 2018-10-08T02:55:03Z robotoad joined #lisp 2018-10-08T02:57:22Z Copenhagen_Bram quit (Ping timeout: 246 seconds) 2018-10-08T02:57:46Z comborico1611 quit (Quit: comborico1611) 2018-10-08T03:01:19Z Copenhagen_Bram joined #lisp 2018-10-08T03:06:02Z linack joined #lisp 2018-10-08T03:07:37Z warweasle quit (Quit: Night) 2018-10-08T03:17:34Z hugbubby quit (Ping timeout: 240 seconds) 2018-10-08T03:19:27Z hugbubby joined #lisp 2018-10-08T03:21:09Z shka_ joined #lisp 2018-10-08T03:25:36Z no-defun-allowed: morning beach 2018-10-08T03:26:15Z pjb quit (Ping timeout: 252 seconds) 2018-10-08T03:40:51Z Khisanth quit (Ping timeout: 260 seconds) 2018-10-08T03:42:06Z shka_: good morning 2018-10-08T03:42:06Z minion: shka_, memo from phoe: https://github.com/phoe/list-named-class 2018-10-08T03:42:06Z minion: shka_, memo from phoe: https://github.com/phoe/list-named-class 2018-10-08T03:58:28Z Khisanth joined #lisp 2018-10-08T04:07:36Z ryan_vw quit (Ping timeout: 252 seconds) 2018-10-08T04:14:04Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-08T04:14:33Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-08T04:16:23Z Copenhagen_Bram joined #lisp 2018-10-08T04:20:25Z Bike quit (Quit: Lost terminal) 2018-10-08T04:25:14Z kamog joined #lisp 2018-10-08T04:26:58Z Balooga_ joined #lisp 2018-10-08T04:31:08Z aindilis quit (Read error: Connection reset by peer) 2018-10-08T04:32:41Z aindilis joined #lisp 2018-10-08T04:36:48Z frgo quit (Remote host closed the connection) 2018-10-08T04:37:26Z frgo joined #lisp 2018-10-08T04:40:03Z elfmacs joined #lisp 2018-10-08T04:41:36Z frgo quit (Ping timeout: 244 seconds) 2018-10-08T04:57:30Z holycow joined #lisp 2018-10-08T05:00:27Z astronavt joined #lisp 2018-10-08T05:23:00Z pjb joined #lisp 2018-10-08T05:26:56Z anewuser quit (Quit: anewuser) 2018-10-08T05:38:37Z no-defun-allowed: bored, writing a http server 2018-10-08T05:39:54Z p_l: beach: Common LISP: The reference was published 2018-10-08T05:39:58Z p_l: I had it in my hands, even 2018-10-08T05:40:50Z beach: p_l: What I meant was that it was perhaps never put up on the Internet as PDF. 2018-10-08T05:41:05Z p_l: ahh 2018-10-08T05:41:07Z p_l: yeah 2018-10-08T05:44:28Z p_l: interestingly enough, it looks like Google doesn't have an example of its cover 2018-10-08T05:44:39Z p_l: at least the version I had in my hands 2018-10-08T05:45:39Z no-defun-allowed: i wonder if lparallel has good latency 2018-10-08T05:47:41Z sunset_NOVA joined #lisp 2018-10-08T05:49:28Z mkolenda quit (Remote host closed the connection) 2018-10-08T05:50:05Z mkolenda joined #lisp 2018-10-08T05:51:15Z razzy quit (Ping timeout: 268 seconds) 2018-10-08T05:52:21Z ryan_vw joined #lisp 2018-10-08T05:52:29Z frgo joined #lisp 2018-10-08T05:53:22Z shifty quit (Ping timeout: 272 seconds) 2018-10-08T05:55:58Z no-defun-allowed: 2383requests/second 2018-10-08T05:56:06Z no-defun-allowed: not too bad tbh 2018-10-08T05:56:30Z pjb quit (Ping timeout: 252 seconds) 2018-10-08T05:57:03Z frgo quit (Ping timeout: 252 seconds) 2018-10-08T05:57:59Z razzy joined #lisp 2018-10-08T05:58:40Z shka_ quit (Ping timeout: 246 seconds) 2018-10-08T05:59:54Z frgo joined #lisp 2018-10-08T06:03:25Z frodef joined #lisp 2018-10-08T06:04:30Z vlatkoB joined #lisp 2018-10-08T06:07:45Z Balooga_ quit (Quit: Balooga_) 2018-10-08T06:08:53Z no-defun-allowed: ab and wrk can't agree on if my server is creating "read errors" 2018-10-08T06:10:41Z no-defun-allowed: now ab is convinced i'm doing 24,000 requests/second and wrk only thinks i'm doing about 1000 2018-10-08T06:11:54Z Balooga_ joined #lisp 2018-10-08T06:15:45Z linack quit (Quit: Leaving) 2018-10-08T06:18:21Z sunset_NOVA quit (Quit: Leaving) 2018-10-08T06:25:38Z orivej joined #lisp 2018-10-08T06:27:01Z scymtym quit (Ping timeout: 268 seconds) 2018-10-08T06:27:34Z JohnMS_WORK joined #lisp 2018-10-08T06:32:13Z bacterio joined #lisp 2018-10-08T06:32:32Z bacterio left #lisp 2018-10-08T06:50:00Z shka_ joined #lisp 2018-10-08T06:51:23Z flamebeard joined #lisp 2018-10-08T06:56:24Z holycow quit (Quit: Lost terminal) 2018-10-08T06:59:11Z Oladon quit (Quit: Leaving.) 2018-10-08T07:00:13Z daniel-s quit (Read error: Connection reset by peer) 2018-10-08T07:04:02Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-08T07:04:51Z mingus joined #lisp 2018-10-08T07:04:54Z orivej quit (Ping timeout: 252 seconds) 2018-10-08T07:06:41Z splittist: Good morning 2018-10-08T07:07:32Z no-defun-allowed: morning splittist 2018-10-08T07:09:02Z rozenglass quit (Remote host closed the connection) 2018-10-08T07:15:30Z dented42 joined #lisp 2018-10-08T07:18:37Z beach: Hello splittist. Long time no see. 2018-10-08T07:19:21Z beach: splittist: Did you notice the creation of the channel #sicl, where I can blab as much as I want about what I am doing? 2018-10-08T07:19:36Z splittist: I'm usually lurking. I did not. I will join and lurk there, too (: 2018-10-08T07:19:55Z beach: Great! 2018-10-08T07:20:15Z beach: I have no news right now, but I am working pretty hard on bootstrapping at the moment. 2018-10-08T07:20:35Z beach: Though, I also have to finish my report on Jim Newton's thesis. 2018-10-08T07:22:41Z splittist: sicl (and the general beachverse of projects) is one of my favourite contemporary examples of people (not you) overestimating what can be done in a year, but underestimating what can be done in 5/10 years. 2018-10-08T07:23:16Z beach: Interesting observation. 2018-10-08T07:24:10Z beach: Yeah, I never said I would finish in 10 years. :) 2018-10-08T07:24:34Z beach: Instead, I planned it so that intermediate results are independently useful. 2018-10-08T07:25:06Z shka_: 'beachverse' 2018-10-08T07:26:33Z shka_: i literally loled at this 2018-10-08T07:27:03Z no-defun-allowed: using sbcl internals to turn off nagles algorithm takes the speed from 24,000 to 31,800 requests a second. 2018-10-08T07:27:51Z jackdaniel: http://i.imgur.com/cfjq2XE.png (multiline text positioning test array in McCLIM) 2018-10-08T07:28:10Z no-defun-allowed: nice 2018-10-08T07:28:25Z jackdaniel: thanks 2018-10-08T07:28:33Z beach: YAY! 2018-10-08T07:29:21Z zigpaw: the "character not found" (empty box) glyph on the last line was intentional? 2018-10-08T07:29:27Z jackdaniel: yes 2018-10-08T07:29:37Z shka_: jackdaniel: looks cool 2018-10-08T07:29:50Z zigpaw: looks cool :) 2018-10-08T07:29:51Z Balooga_ quit (Quit: Balooga_) 2018-10-08T07:29:59Z no-defun-allowed: actually, nagles doesn't really slow it down 2018-10-08T07:30:08Z jackdaniel: I still need to get the whole bounding box right, but I need other codebases to attend to now 2018-10-08T07:30:27Z no-defun-allowed: sbcl decided to go 8000 reqs/second faster cause it could 2018-10-08T07:31:26Z shka_: this should be really useful 2018-10-08T07:34:32Z no-defun-allowed: ab and wrk still aren't agreeing, wrk says woo is two magnitudes faster than my http server but ab says they're about the same 2018-10-08T07:35:52Z galdor: isn't ab the one which isn't that good at parallelizing connections ? 2018-10-08T07:36:01Z galdor: wrk is much more efficient iirc 2018-10-08T07:36:15Z galdor: in your case you would be limited by ab, not by the server 2018-10-08T07:36:37Z no-defun-allowed: that's a shame 2018-10-08T07:36:42Z robotoad quit (Quit: robotoad) 2018-10-08T07:36:47Z no-defun-allowed: ): 2018-10-08T07:37:22Z no-defun-allowed: wrk goes slower than ab too 2018-10-08T07:37:35Z astronavt_ joined #lisp 2018-10-08T07:38:15Z galdor: in any case, most of these benchmarks actually measure the kernel 2018-10-08T07:38:29Z astronavt quit (Disconnected by services) 2018-10-08T07:38:33Z astronavt_ is now known as astronavt 2018-10-08T07:38:51Z galdor: unless you manage to test with access patterns and data related to your real workload, it's not really significant 2018-10-08T07:39:28Z no-defun-allowed: i'm fairly confident this lparallel-based solution is pretty fast but i can't tell 2018-10-08T07:40:19Z shka_: lparallel based solution to what? 2018-10-08T07:42:11Z no-defun-allowed: multithreaded http server 2018-10-08T07:42:42Z shka_: eeee, that does not sound like a great idea 2018-10-08T07:42:54Z domovod joined #lisp 2018-10-08T07:42:57Z galdor: you can use a thread pool to process requests 2018-10-08T07:43:13Z galdor: as long as you are not using one thread per request, you're fine 2018-10-08T07:43:32Z shifty joined #lisp 2018-10-08T07:44:01Z no-defun-allowed: yeah, that's where i'm getting the thread pool from 2018-10-08T07:44:09Z shka_: using one thread per request is not always wrong 2018-10-08T07:47:24Z frgo quit (Remote host closed the connection) 2018-10-08T07:47:52Z frgo joined #lisp 2018-10-08T07:49:48Z ryan_vw quit (Ping timeout: 252 seconds) 2018-10-08T07:49:59Z no-defun-allowed: i tried different thread counts and cpu count seemed to work best 2018-10-08T07:50:39Z shka_: no-defun-allowed: in lparallel? Yes. 2018-10-08T07:51:04Z shka_: anyway, don't dismiss one thread per request so easy 2018-10-08T07:51:19Z shka_: sometimes it is perfectly sufficient approach 2018-10-08T07:51:29Z no-defun-allowed: this worked fine here 2018-10-08T07:51:34Z no-defun-allowed: i've done one thread per request before 2018-10-08T07:52:33Z frgo quit (Ping timeout: 252 seconds) 2018-10-08T07:53:30Z pjb joined #lisp 2018-10-08T08:03:13Z prrs quit (Ping timeout: 268 seconds) 2018-10-08T08:04:20Z varjag joined #lisp 2018-10-08T08:05:59Z russellw: What are the situations where a dot can occur in lisp source code, apart from 'loop for (a . more) on s'? It's not used for rest parameters of functions the way it is in scheme, right? 2018-10-08T08:06:01Z angavrilov joined #lisp 2018-10-08T08:06:36Z no-defun-allowed: you can use it in destructuring-bind, and it's also used a lot in alists 2018-10-08T08:06:53Z phoe: russellw: anywhere 2018-10-08T08:06:58Z no-defun-allowed: eg (loop for (key . value) in '((a . 42) (b . 3))) 2018-10-08T08:07:01Z phoe: '(a . b) denotes a quoted cons 2018-10-08T08:07:11Z phoe: these are very common when you create alists 2018-10-08T08:07:18Z russellw: ah, quotes, yes, good point 2018-10-08T08:08:30Z asymptotically joined #lisp 2018-10-08T08:10:23Z xificurC quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2018-10-08T08:15:55Z ggole joined #lisp 2018-10-08T08:17:36Z beach: phoe: Not anywhere. (a . b . c) is not valid syntax. 2018-10-08T08:18:03Z beach: Nor is #(a b . c) 2018-10-08T08:18:41Z no-defun-allowed: in WTFCL, . in a vector means the rest of the vector is in c /s 2018-10-08T08:18:50Z beach: russellw: You can use it as a rest parameter in a macro lambda list. 2018-10-08T08:19:31Z russellw: you can? okay, thanks 2018-10-08T08:20:04Z beach: no-defun-allowed: #( means a literal vector. A, B, and C are not variables. 2018-10-08T08:20:44Z phoe: beach: yes, I generatelized it way too much. 2018-10-08T08:20:46Z no-defun-allowed: wtfcl is not real, it's a joke language 2018-10-08T08:20:52Z beach: no-defun-allowed: And a vector is not a linked structure, so there is no concept of "rest of the vector". 2018-10-08T08:21:05Z no-defun-allowed: exactly, that's the joke 2018-10-08T08:21:51Z phoe: beach: no-defun-allowed is not being serious over here, as denoted by the /s at the end of his post 2018-10-08T08:22:26Z no-defun-allowed: phoe's wtfcl also comes with other absolutely useful stuf like constructuring-bind 2018-10-08T08:22:46Z no-defun-allowed: enough misinformation, dots are very useful when you want to save a cons or want the "rest" of something 2018-10-08T08:24:25Z _death: if you're tired of plain ,@ and feeling destructive, there's ,. 2018-10-08T08:25:22Z russellw: what does ,. do? 2018-10-08T08:25:24Z no-defun-allowed: how's that work? 2018-10-08T08:26:12Z _death: `(a b ,.(list 'c 'd)) 2018-10-08T08:26:24Z beach: phoe: too subtle for me. 2018-10-08T08:26:33Z pjb quit (Ping timeout: 252 seconds) 2018-10-08T08:27:51Z no-defun-allowed: maybe the acronym didn't quite set it up 2018-10-08T08:28:13Z russellw: huh, ,. does work. how? I though , had to be followed by a form? CLHS doesn't mention ,. 2018-10-08T08:28:24Z beach: It does. 2018-10-08T08:28:24Z _death: russellw: it does 2018-10-08T08:28:35Z russellw: where? 2018-10-08T08:28:50Z no-defun-allowed: yeah, that's new to me 2018-10-08T08:29:20Z phoe: clhs 2.4.6 2018-10-08T08:29:20Z specbot: Backquote: http://www.lispworks.com/reference/HyperSpec/Body/02_df.htm 2018-10-08T08:29:23Z phoe: grep for ",." 2018-10-08T08:29:43Z _death: http://www.lispworks.com/documentation/HyperSpec/Body/02_df.htm 2018-10-08T08:29:47Z no-defun-allowed: nasty 2018-10-08T08:29:52Z russellw: aha! I stand corrected 2018-10-08T08:29:59Z no-defun-allowed: cool beans though 2018-10-08T08:30:18Z phoe: ,. is like ,@ except it is usable for lists that are destroyable 2018-10-08T08:30:31Z phoe: in practice, I haven't seen it used anywhere though 2018-10-08T08:30:42Z beach: Not terribly useful though. Saving a few CONS cells in the reader is typically not worth the effort. 2018-10-08T08:31:10Z phoe: especially since the reader is rarely exercised in working code 2018-10-08T08:31:25Z beach: Exactly. 2018-10-08T08:38:27Z varjag: was there some software that tracks the licenses of systems via their .asd dependencies? 2018-10-08T08:39:10Z jackdaniel: sjl's utilility library has a snippet which looks for GPL libraries 2018-10-08T08:41:06Z jackdaniel: varjag: https://github.com/sjl/print-licenses 2018-10-08T08:41:57Z phoe: https://github.com/vindarel/print-licenses has more commits than that 2018-10-08T08:42:23Z nirved joined #lisp 2018-10-08T08:43:43Z varjag: aha.. thankyou folks 2018-10-08T08:43:50Z nirved is now known as Guest87092 2018-10-08T08:44:45Z nirved joined #lisp 2018-10-08T08:47:06Z Guest87092 quit (Ping timeout: 260 seconds) 2018-10-08T08:49:24Z elfmacs quit (Ping timeout: 252 seconds) 2018-10-08T08:53:29Z jmarciano joined #lisp 2018-10-08T09:07:48Z fiddlerwoaroof quit (Ping timeout: 272 seconds) 2018-10-08T09:08:44Z razzy quit (Remote host closed the connection) 2018-10-08T09:09:14Z razzy joined #lisp 2018-10-08T09:13:35Z fiddlerwoaroof joined #lisp 2018-10-08T09:18:10Z fiddlerwoaroof quit (Ping timeout: 246 seconds) 2018-10-08T09:20:06Z fiddlerwoaroof joined #lisp 2018-10-08T09:24:36Z fiddlerwoaroof quit (Ping timeout: 252 seconds) 2018-10-08T09:28:47Z fiddlerwoaroof joined #lisp 2018-10-08T09:33:24Z fiddlerwoaroof quit (Ping timeout: 250 seconds) 2018-10-08T09:48:45Z fiddlerwoaroof joined #lisp 2018-10-08T09:50:27Z Myon: svillemot: thanks for the cl-nibbles fix 2018-10-08T09:50:45Z Myon: unfortunately pgloader is still failing, Compilation failed: Compile-time package lock violation: 2018-10-08T09:50:48Z Myon: Lock on package SB-X86-64-ASM violated when binding EA as a local function 2018-10-08T09:50:51Z Myon: while in package SB-VM. 2018-10-08T09:50:58Z Myon: dim: any idea? 2018-10-08T09:52:08Z ealfonso quit (Ping timeout: 245 seconds) 2018-10-08T09:53:14Z fiddlerwoaroof quit (Ping timeout: 252 seconds) 2018-10-08T09:54:34Z svillemot: Myon: np, I didn't check that it fixes pgloader, but I guess it does 2018-10-08T09:54:50Z svillemot: oh ok it does not 2018-10-08T09:55:09Z Myon: I think the error was different before 2018-10-08T09:55:33Z svillemot: yes, for sure something has been fixed in nibbles, so this must be something else 2018-10-08T09:56:24Z Myon: afaict the fix in https://github.com/sharplispers/nibbles/pull/6 does not help either, but maybe I was testing badly 2018-10-08T09:57:00Z Myon: (I had not seen your upload yet when I built a local package) 2018-10-08T10:07:03Z fiddlerwoaroof joined #lisp 2018-10-08T10:07:54Z scymtym joined #lisp 2018-10-08T10:12:14Z fiddlerwoaroof quit (Ping timeout: 276 seconds) 2018-10-08T10:17:27Z fiddlerwoaroof joined #lisp 2018-10-08T10:21:48Z fiddlerwoaroof quit (Ping timeout: 252 seconds) 2018-10-08T10:23:10Z roshanavand joined #lisp 2018-10-08T10:23:41Z pjb joined #lisp 2018-10-08T10:24:10Z siraben joined #lisp 2018-10-08T10:24:23Z Ricchi left #lisp 2018-10-08T10:30:55Z fiddlerwoaroof joined #lisp 2018-10-08T10:34:38Z frgo joined #lisp 2018-10-08T10:35:48Z fiddlerwoaroof quit (Ping timeout: 252 seconds) 2018-10-08T10:36:42Z zfree joined #lisp 2018-10-08T10:39:12Z zfree quit (Read error: Connection reset by peer) 2018-10-08T10:39:58Z igemnace quit (Quit: WeeChat 2.2) 2018-10-08T10:49:33Z fiddlerwoaroof joined #lisp 2018-10-08T10:50:09Z m00natic joined #lisp 2018-10-08T10:51:45Z SenasOzys joined #lisp 2018-10-08T10:52:51Z siraben quit (Ping timeout: 252 seconds) 2018-10-08T10:53:34Z orivej joined #lisp 2018-10-08T10:54:16Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2018-10-08T10:56:09Z pjb quit (Ping timeout: 252 seconds) 2018-10-08T10:58:51Z no-defun-allowed: Alright, time for me to GC. (TODO: use faster collector.) Night. 2018-10-08T11:01:40Z elfmacs joined #lisp 2018-10-08T11:08:15Z fiddlerwoaroof joined #lisp 2018-10-08T11:11:18Z Copenhagen_Bram quit (Ping timeout: 268 seconds) 2018-10-08T11:12:45Z fiddlerwoaroof quit (Ping timeout: 252 seconds) 2018-10-08T11:20:48Z Copenhagen_Bram joined #lisp 2018-10-08T11:20:56Z zigpaw quit (Remote host closed the connection) 2018-10-08T11:25:10Z siraben joined #lisp 2018-10-08T11:26:49Z fiddlerwoaroof joined #lisp 2018-10-08T11:30:54Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-08T11:31:04Z fiddlerwoaroof quit (Ping timeout: 240 seconds) 2018-10-08T11:31:55Z roshanavand joined #lisp 2018-10-08T11:45:12Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-08T11:45:50Z roshanavand joined #lisp 2018-10-08T11:50:56Z nowhere_man joined #lisp 2018-10-08T11:53:35Z fiddlerwoaroof joined #lisp 2018-10-08T11:58:26Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2018-10-08T12:03:30Z nowhere_man quit (Ping timeout: 264 seconds) 2018-10-08T12:06:38Z scymtym quit (Ping timeout: 276 seconds) 2018-10-08T12:07:45Z pjb joined #lisp 2018-10-08T12:16:44Z fiddlerwoaroof joined #lisp 2018-10-08T12:18:56Z Essadon joined #lisp 2018-10-08T12:21:36Z fiddlerwoaroof quit (Ping timeout: 268 seconds) 2018-10-08T12:29:39Z fiddlerwoaroof joined #lisp 2018-10-08T12:30:06Z nowhere_man joined #lisp 2018-10-08T12:31:28Z hugbubby quit (Ping timeout: 268 seconds) 2018-10-08T12:34:33Z fiddlerwoaroof quit (Ping timeout: 268 seconds) 2018-10-08T12:34:42Z rocx quit (Remote host closed the connection) 2018-10-08T12:37:35Z fiddlerwoaroof joined #lisp 2018-10-08T12:40:26Z pjb quit (Ping timeout: 252 seconds) 2018-10-08T12:42:16Z fiddlerwoaroof quit (Ping timeout: 252 seconds) 2018-10-08T12:44:58Z zfree joined #lisp 2018-10-08T12:46:31Z katco quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-08T12:48:18Z Copenhagen_Bram quit (Ping timeout: 244 seconds) 2018-10-08T12:49:41Z zigpaw joined #lisp 2018-10-08T12:51:48Z Copenhagen_Bram joined #lisp 2018-10-08T12:58:00Z kajo quit (Ping timeout: 252 seconds) 2018-10-08T12:58:29Z fiddlerwoaroof joined #lisp 2018-10-08T13:03:30Z fiddlerwoaroof quit (Ping timeout: 264 seconds) 2018-10-08T13:05:41Z warweasle joined #lisp 2018-10-08T13:07:54Z dmiles quit (Ping timeout: 252 seconds) 2018-10-08T13:08:21Z fiddlerwoaroof joined #lisp 2018-10-08T13:08:39Z nowhereman_ joined #lisp 2018-10-08T13:09:24Z nowhere_man quit (Ping timeout: 252 seconds) 2018-10-08T13:13:01Z nowhereman_ quit (Remote host closed the connection) 2018-10-08T13:13:39Z nowhereman_ joined #lisp 2018-10-08T13:14:47Z jgoss joined #lisp 2018-10-08T13:14:54Z Bike joined #lisp 2018-10-08T13:16:44Z fiddlerwoaroof quit (Ping timeout: 252 seconds) 2018-10-08T13:17:38Z zxcvz joined #lisp 2018-10-08T13:20:52Z scymtym joined #lisp 2018-10-08T13:29:40Z Josh_2 joined #lisp 2018-10-08T13:31:07Z fiddlerwoaroof joined #lisp 2018-10-08T13:35:50Z fiddlerwoaroof quit (Ping timeout: 244 seconds) 2018-10-08T13:40:16Z jkordani joined #lisp 2018-10-08T13:50:57Z fiddlerwoaroof joined #lisp 2018-10-08T13:52:13Z Copenhagen_Bram quit (Ping timeout: 246 seconds) 2018-10-08T13:54:33Z aindilis quit (Read error: Connection reset by peer) 2018-10-08T13:55:20Z Copenhagen_Bram joined #lisp 2018-10-08T13:55:34Z fiddlerwoaroof quit (Ping timeout: 240 seconds) 2018-10-08T13:56:34Z shifty quit (Ping timeout: 268 seconds) 2018-10-08T13:56:49Z Xof: I know this was yesterday or even the day before, but it's still in my scrollback and I had a showerthought, so... 2018-10-08T13:56:51Z Xof: (defun prefix (strings) (reduce (lambda (x y) (subseq x 0 (mismatch x y :end1 (length x)))) strings)) 2018-10-08T13:58:46Z dmiles joined #lisp 2018-10-08T14:01:44Z phoe: Xof: that's nice 2018-10-08T14:05:22Z fiddlerwoaroof joined #lisp 2018-10-08T14:05:45Z ggole: That does a lot of copying of the same chars 2018-10-08T14:07:29Z phoe: sure it does, but I think that by now this is code golfing and not efficiency racing 2018-10-08T14:10:03Z fiddlerwoaroof quit (Ping timeout: 252 seconds) 2018-10-08T14:11:50Z on_ion: code golf... 2018-10-08T14:12:36Z Copenhagen_Bram quit (Ping timeout: 252 seconds) 2018-10-08T14:12:38Z Bronsa joined #lisp 2018-10-08T14:12:57Z hjudt: do people nowadays use slime or sly? i've tried sly recently and found it offers some good improvements over slime. 2018-10-08T14:13:36Z phoe: I'm a spacemacs+slime user. I don't really complain, but then again, I haven't tried sly. 2018-10-08T14:13:37Z aindilis joined #lisp 2018-10-08T14:13:58Z fiddlerwoaroof joined #lisp 2018-10-08T14:14:30Z ggole: (defun prefix (strings) (if (null strings) "" (subseq (car strings) 0 (loop for string in (cdr strings) minimizing (or (mismatch (car strings) string) (length (car strings))))))) 2018-10-08T14:14:52Z ggole: Not really all that efficient either 2018-10-08T14:15:26Z Copenhagen_Bram joined #lisp 2018-10-08T14:15:38Z cage_ joined #lisp 2018-10-08T14:19:01Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2018-10-08T14:20:40Z asymptotically quit (Quit: Leaving) 2018-10-08T14:22:22Z fiddlerwoaroof joined #lisp 2018-10-08T14:30:34Z ym joined #lisp 2018-10-08T14:34:57Z FreeBirdLjj joined #lisp 2018-10-08T14:36:14Z anewuser joined #lisp 2018-10-08T14:37:33Z pjb joined #lisp 2018-10-08T14:38:16Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2018-10-08T14:43:16Z lavaflow quit (Read error: No route to host) 2018-10-08T14:44:19Z hjudt: phoe: didn't know about spacemacs, but then i like following the standard emacs way because that's what my distribution provides... i also think about that way about sly, but quicklisp now provides it too so in that case it is fine and i like the features stickers and repl backreferences. 2018-10-08T14:45:31Z lavaflow joined #lisp 2018-10-08T14:45:39Z shka_: so btw 2018-10-08T14:45:46Z shka_: why sly? 2018-10-08T14:45:52Z shka_: is it any better then slime? 2018-10-08T14:46:15Z jackdaniel: I think that tasks like codegolf are superficial - there is quite a lot occasions when programmer is in need for small one-time utility during normal course of coding, that's a perfect occasion to make something and be proud of it 2018-10-08T14:47:36Z hjudt: shka_: it is like slime but has some additional nifty features (i also like the fuzzy search btw) and spares you some config lines. but that's probably it. might also be a matter of taste, but some things just seem to be easier to handle to me. 2018-10-08T14:48:13Z hjudt: i've only started using it a week ago and never was a very experienced slime user though. 2018-10-08T14:49:12Z hjudt: the only thing you have to set up in contrast to slime is a keymap for the selector which comes out-of-the-box with slime. that hasn't been very difficult to achieve though. 2018-10-08T14:50:16Z hjudt: it also has good documentation which helped me a lot, though slime isn't bad in that regard too 2018-10-08T14:51:10Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-08T14:51:58Z hjudt: the great thing was that you can also try it without removing slime. so it's easy to switch back and forth. 2018-10-08T14:52:39Z hjudt now feels like an advocate but is still not sure what to use 2018-10-08T14:57:10Z shka_: hjudt: well, i should give it a try i guess! 2018-10-08T14:58:41Z igemnace joined #lisp 2018-10-08T14:58:57Z hjudt: shka_: sure, you can read up on it here: https://github.com/joaotavora/sly it also has nice demo videos. 2018-10-08T14:59:04Z jack_rabbit quit (Ping timeout: 240 seconds) 2018-10-08T14:59:25Z shka_: well, if it is in the spacemacs, setup should be trivial 2018-10-08T15:00:17Z hjudt: would be glad if you share your experience with it since you're probably a more experienced slime user than me 2018-10-08T15:00:34Z elfmacs quit (Ping timeout: 272 seconds) 2018-10-08T15:00:51Z FreeBirdLjj joined #lisp 2018-10-08T15:00:58Z shka_: hjudt: animated gifs look cool up to this point ;-) 2018-10-08T15:04:54Z hjudt: yes, and there is also a tutorial or walkthrough that works and is perhaps more easier to follow (at least if you aren't a 144hz-accustomed hardcore gamer). 2018-10-08T15:05:46Z FreeBirdLjj quit (Ping timeout: 250 seconds) 2018-10-08T15:06:29Z hjudt: (which means i have been too slow to follow these in detail) 2018-10-08T15:06:39Z hjudt: but i found those pretty cool too 2018-10-08T15:09:10Z dyelar joined #lisp 2018-10-08T15:09:43Z gector quit (Read error: Connection reset by peer) 2018-10-08T15:10:37Z gector joined #lisp 2018-10-08T15:10:40Z kajo joined #lisp 2018-10-08T15:10:54Z pjb quit (Ping timeout: 252 seconds) 2018-10-08T15:11:11Z jmarciano quit (Ping timeout: 268 seconds) 2018-10-08T15:12:33Z razzy quit (Ping timeout: 252 seconds) 2018-10-08T15:13:49Z shka_ quit (Quit: WeeChat 1.9.1) 2018-10-08T15:14:15Z knicklux joined #lisp 2018-10-08T15:15:05Z russellw: How do you programmatically generate '(1 2 3 . 4)? cons wants just two parameters, and append and list* both correctly complain that the last element is not a list 2018-10-08T15:15:53Z Bike: (list* 1 2 3 4)? 2018-10-08T15:16:00Z beach: APPEND should not complain. 2018-10-08T15:16:20Z Bike: (append '(1 2 3) 4) also works 2018-10-08T15:16:21Z beach: Nor should LIST*. 2018-10-08T15:16:43Z gector quit (Ping timeout: 245 seconds) 2018-10-08T15:16:56Z russellw: ah, you're right, I was actually calling them wrong. thanks! 2018-10-08T15:17:33Z Bike: no problem 2018-10-08T15:17:48Z gector joined #lisp 2018-10-08T15:18:35Z Roy_Fokker joined #lisp 2018-10-08T15:25:04Z Oladon joined #lisp 2018-10-08T15:26:17Z FreeBirdLjj joined #lisp 2018-10-08T15:28:17Z flamebeard quit 2018-10-08T15:44:52Z russellw: What's the best way to test if a value is an improper list? 2018-10-08T15:45:09Z beach: I am sure there is something in Alexandria. 2018-10-08T15:45:28Z beach: But there is a little trick you can use if you don't want to use an external library. 2018-10-08T15:45:39Z beach: Let me see if I can remember it... 2018-10-08T15:46:05Z beach: clhs list-length 2018-10-08T15:46:05Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_list_l.htm 2018-10-08T15:46:28Z beach: clsh ignore-errors 2018-10-08T15:46:34Z beach: clhs ignore-errors 2018-10-08T15:46:34Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_ignore.htm 2018-10-08T15:47:21Z russellw: list-length: Returns the length of list if list is a proper list. Returns nil if list is a circular list. ... It doesn't say what the result is for a dotted list? 2018-10-08T15:47:49Z beach: Should signal an error of type type-error if list is not a proper list or a circular list. 2018-10-08T15:48:08Z russellw: I forgot about circular lists. To clarify: what I actually need to test for is a dotted list. - ah! okay, thanks 2018-10-08T15:48:10Z beach: So you wrap it in ignore-errors. 2018-10-08T15:48:20Z sjl joined #lisp 2018-10-08T15:48:35Z beach: russellw: Are you saying you don't need to take circular lists into account? 2018-10-08T15:48:37Z on_ion: alexandria has fallen long agop 2018-10-08T15:48:41Z beach: Then it is easy. 2018-10-08T15:48:55Z russellw: I'll probably write my own function, so that will probably involve (and (consp a) (not (consp (cdr a))))? 2018-10-08T15:49:13Z razzy joined #lisp 2018-10-08T15:49:15Z russellw: right, don't need to take circular lists into account 2018-10-08T15:49:30Z beach: russellw: (null (cdr (last list))) 2018-10-08T15:49:40Z russellw: thanks! 2018-10-08T15:49:41Z beach: russellw: rather (not (null (cdr (last list)))) 2018-10-08T15:49:50Z beach: returns true if the list is dotted. 2018-10-08T15:52:11Z kuwze joined #lisp 2018-10-08T15:53:36Z Shinmera: (loop for (_ . r) on list while r never (not (consp r))) 2018-10-08T15:54:43Z pfdietz: But really, use a library. 2018-10-08T15:55:22Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-08T15:56:50Z rippa joined #lisp 2018-10-08T15:57:16Z |3b|: LOOP accepts NIL for ignoring things when destructuring 2018-10-08T15:57:31Z Shinmera: I thought that was an SBCL bug 2018-10-08T15:59:14Z pfdietz: clhs 6.1.1.7 2018-10-08T15:59:14Z specbot: Destructuring: http://www.lispworks.com/reference/HyperSpec/Body/06_aag.htm 2018-10-08T15:59:41Z Shinmera: ah, there it is 2018-10-08T15:59:57Z Shinmera: I think the bug was in relation to destructuring-bind accepting the same, then 2018-10-08T16:00:14Z |3b|: yeah, that sounds familiar 2018-10-08T16:04:00Z zfree quit (Quit: zfree) 2018-10-08T16:05:11Z nowhereman_ quit (Ping timeout: 260 seconds) 2018-10-08T16:08:01Z SenasOzys quit (Ping timeout: 246 seconds) 2018-10-08T16:08:50Z shka_ joined #lisp 2018-10-08T16:08:56Z shka_: good evening 2018-10-08T16:09:49Z nixfreak joined #lisp 2018-10-08T16:12:13Z nixfreak: Does anyone use lisp to create bash 1liners like to find something or parse something out, trying to see if its better to use lisp than bash on linux ? 2018-10-08T16:12:49Z linack joined #lisp 2018-10-08T16:14:21Z |3b|: CL tends to be a bit verbose for things that you would usually do in bash, but i think some people have utility libs for making shell-like things more convenient 2018-10-08T16:14:50Z |3b|: though also depends on whether you already have the data in memory in a running lisp image 2018-10-08T16:14:57Z Shinmera: As soon as you need to use arrays in bash it gets terrible enough so quick that pretty much anything else would be better. 2018-10-08T16:15:34Z |3b|: yeah, i guess it depends on where you cutoff is for "something reasonable to do in bash" 2018-10-08T16:16:06Z |3b|: the further you are pushing bash, the more competitive CL is 2018-10-08T16:16:17Z on_ion: nixfreak: i would look at emacs' eshell and elisp. it allows mixing lisp (without parens usually) and bash. 2018-10-08T16:16:26Z on_ion: (bash=i mean shell commands) 2018-10-08T16:16:40Z on_ion: and you can pipe with emacs buffers and other nice things 2018-10-08T16:17:49Z |3b|: also CL's spec for file naming and operations doesn't make it very nice for general processing of files at the name/directory level 2018-10-08T16:18:48Z knicklux quit (Ping timeout: 245 seconds) 2018-10-08T16:19:24Z nixfreak: I was thinking it could be used to create little scripts to mimic unix tools 2018-10-08T16:21:54Z |3b|: i think there are a few libs for that sort of thing, but i haven't used any of them 2018-10-08T16:24:49Z knicklux joined #lisp 2018-10-08T16:27:22Z shka_: nixfreak: i wrote find-like utility in lisp 2018-10-08T16:28:07Z shka_: it takes more lines to get done simple things 2018-10-08T16:28:10Z nixfreak: do you have a repo I can see the code shka ? 2018-10-08T16:28:19Z shka_: but is is so much easier for more complicated stuff 2018-10-08T16:28:27Z orivej quit (Ping timeout: 252 seconds) 2018-10-08T16:28:32Z shka_: nixfreak: it is not exactly self contained 2018-10-08T16:28:44Z nixfreak: ahh ok , so for 1liners stick to bash and more complicated programs use lisp 2018-10-08T16:29:03Z shka_: anyway 2018-10-08T16:29:05Z shka_: https://github.com/sirherrbatka/cl-data-structures/blob/master/src/file-system/find.lisp 2018-10-08T16:29:19Z shka_: thing is, i am returning so called range as a result 2018-10-08T16:29:30Z shka_: which is essentially generator in this case 2018-10-08T16:30:12Z shka_: so the code is more complicated, but it works with other things i wrote that expect range as a input 2018-10-08T16:30:59Z shka_: i can do stuff like find csv files, then group by header those files 2018-10-08T16:31:17Z shka_: or start multi thread processing using lparallel 2018-10-08T16:31:38Z shka_: and sure, i can do those things manually, but this way i have reusable code 2018-10-08T16:32:27Z shka_: so i can stack functions on top of each other forming essentially a pipe 2018-10-08T16:32:31Z nixfreak: thats really cool , so why not just use find and grep , not being mean about it just curious why you did 2018-10-08T16:32:57Z shka_: well, as I said, it is easier to write complicated stuff in lisp 2018-10-08T16:33:03Z knicklux quit (Ping timeout: 252 seconds) 2018-10-08T16:33:19Z shka_: and there are libs to handle different types of files 2018-10-08T16:33:54Z shka_: and I already have general utils that work on ranges, so i can leverage those if i have something that works like find 2018-10-08T16:33:57Z shka_: so i wrote it 2018-10-08T16:34:15Z nixfreak: thats really cool , thanks for the insight 2018-10-08T16:34:26Z shka_: sure, no problem 2018-10-08T16:34:34Z shka_: i also have cat clone :P 2018-10-08T16:34:59Z nixfreak: I keep going back and fourth with languages and keep coming back to lisp for some reason 2018-10-08T16:35:17Z shka_: https://github.com/sirherrbatka/cl-data-structures/blob/master/src/file-system/line-by-line.lisp 2018-10-08T16:35:28Z shka_: so this one simply reads file line by line 2018-10-08T16:35:41Z shka_: i like it because (again) it works with other stuff i have 2018-10-08T16:36:19Z shka_: and i quite often deal with large files that store data in each line 2018-10-08T16:36:42Z knicklux joined #lisp 2018-10-08T16:37:28Z shka_: this does not require reading everything to memory at once, works with my aggregation functions, can be chained into multithreaded processing and so one 2018-10-08T16:38:02Z shka_: it is sort of like apache spark streams in this regard 2018-10-08T16:38:19Z shka_: anyway, that's just my impression 2018-10-08T16:38:36Z nixfreak: ok thanks again 2018-10-08T16:42:19Z asymptotically joined #lisp 2018-10-08T16:43:16Z shka_: nixfreak: anyway, i really prefer to write in lisp so if there is simply no tool that cuts it for me it is natural choice 2018-10-08T16:43:53Z shka_: i think you may be the same 2018-10-08T16:46:52Z makomo quit (Ping timeout: 246 seconds) 2018-10-08T16:47:46Z nixfreak: shka I'm still a big noob in CL but I'm going to focus my attention to it instead of other languages 2018-10-08T16:48:08Z shka_: cool :-) 2018-10-08T16:49:33Z cgay quit (Ping timeout: 252 seconds) 2018-10-08T16:52:14Z mhd2018 quit (Quit: Textual IRC Client: www.textualapp.com) 2018-10-08T16:52:58Z pjb joined #lisp 2018-10-08T16:56:26Z anewuser quit (Quit: anewuser) 2018-10-08T16:57:14Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-08T17:09:04Z FreeBirdLjj joined #lisp 2018-10-08T17:11:49Z stereosphere joined #lisp 2018-10-08T17:17:25Z cgay joined #lisp 2018-10-08T17:22:38Z m00natic quit (Remote host closed the connection) 2018-10-08T17:25:10Z mejja joined #lisp 2018-10-08T17:31:42Z linack quit (Ping timeout: 252 seconds) 2018-10-08T17:35:14Z doubledup joined #lisp 2018-10-08T17:37:42Z roshanavand quit (Ping timeout: 264 seconds) 2018-10-08T17:40:56Z adlai: nixfreak: it helps to have a specific project to attack in lisp 2018-10-08T17:41:55Z adlai: "little scripts to mimic unix tools" might not be the right approach for learning CL, as these tend to be rather orthogonal to CL's strengths 2018-10-08T17:46:20Z nixfreak: what books or classes do you recommend for leaning CL 2018-10-08T17:46:22Z shka_: i dare to disagree 2018-10-08T17:46:33Z shka_: nixfreak: as always PCL 2018-10-08T17:46:41Z shka_: practial common lisp 2018-10-08T17:46:49Z nixfreak: ok 2018-10-08T17:47:31Z makomo joined #lisp 2018-10-08T17:47:37Z shka_: imho one could build very cool shell out of common lisp 2018-10-08T17:48:23Z durn joined #lisp 2018-10-08T17:49:24Z roshanavand joined #lisp 2018-10-08T17:51:35Z bacterio joined #lisp 2018-10-08T17:51:38Z nixfreak: shka I think is possible also 2018-10-08T17:51:47Z nixfreak: *its* 2018-10-08T17:52:40Z shka_: well, yes, but i have issues with unix pipes and string typing and you know the rest of my story 2018-10-08T17:55:38Z nckx quit (Read error: Connection reset by peer) 2018-10-08T17:56:21Z Bronsa quit (Ping timeout: 252 seconds) 2018-10-08T17:59:45Z durn: How do I load Slynk in a package? An error is thrown when (slynk-loader:init) is called despite there being (require :slynk) above it. 2018-10-08T17:59:57Z zfree joined #lisp 2018-10-08T18:01:19Z shka_: durn: https://github.com/joaotavora/sly#running-the-server-standalone 2018-10-08T18:02:16Z shka_: durn: i would add those lines into sbclrc even! 2018-10-08T18:02:27Z durn: shka_: Thanks. 2018-10-08T18:03:47Z mejja quit (Remote host closed the connection) 2018-10-08T18:03:59Z p_l: https://www.ebay.com/itm/Symbolics-MacIvory-model-3-8-MW-in-an-Apple-Quadra-650-80-MB-9-GB-Genera-8-3-/113295545913?_ul=PL 2018-10-08T18:04:48Z d4ryus1 is now known as d4ryus 2018-10-08T18:05:08Z durn: Has anyone ever considered emulating the Lisp Machine instruction set by defining it as a set of Forth words? 2018-10-08T18:06:10Z rozenglass joined #lisp 2018-10-08T18:06:20Z Bike: were lisp machines stack based? 2018-10-08T18:06:35Z durn: Bike: From what I've read, yeah. 2018-10-08T18:07:39Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-08T18:08:23Z roshanavand joined #lisp 2018-10-08T18:12:19Z astronavt quit (Quit: Leaving) 2018-10-08T18:14:20Z razzy quit (Ping timeout: 268 seconds) 2018-10-08T18:15:19Z Ober: see #lispm. I'm sure ams or others have all that info 2018-10-08T18:17:36Z roshanavand quit (Ping timeout: 260 seconds) 2018-10-08T18:18:21Z roshanavand joined #lisp 2018-10-08T18:23:23Z durn: Ober:Thanks for the pointer. 2018-10-08T18:23:27Z durn left #lisp 2018-10-08T18:29:11Z durn joined #lisp 2018-10-08T18:30:42Z durn: shka_: When they say "~/dir/to/sly", they mean a path to the .el file, right? 2018-10-08T18:30:48Z shka_: no 2018-10-08T18:31:09Z shka_: durn: path to common lisp server 2018-10-08T18:31:21Z durn: shka_: How can I find that for sly? 2018-10-08T18:31:38Z shka_: https://github.com/joaotavora/sly/tree/master/slynk 2018-10-08T18:31:48Z shka_: here it is in the repo 2018-10-08T18:32:32Z warweasle is now known as warweasle_afk 2018-10-08T18:32:54Z kgx quit (Quit: leaving) 2018-10-08T18:34:57Z pjb quit (Read error: Connection reset by peer) 2018-10-08T18:36:52Z durn: They want the path to slynk.asd I'm assuming then? 2018-10-08T18:37:28Z orivej joined #lisp 2018-10-08T18:37:38Z shka_: durn: path to directory 2018-10-08T18:37:59Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-08T18:38:48Z shka_: durn: so locate slynk.asd, get the directory part, substitute #p"~/dir/to/sly", the rest is the same from my understanding 2018-10-08T18:39:01Z vlatkoB quit (Remote host closed the connection) 2018-10-08T18:39:04Z durn: shka_: Ah, thanks. 2018-10-08T18:39:26Z shka_: well, i did not try it myself so no guarantees! 2018-10-08T18:40:10Z durn: shka_: ... 2018-10-08T18:40:16Z durn: Here goes nothing. 2018-10-08T18:40:20Z durn quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-08T18:40:24Z shka_: it should work imho ;-) 2018-10-08T18:41:43Z durn joined #lisp 2018-10-08T18:41:52Z durn: shka_: It worked, thanks! 2018-10-08T18:42:04Z durn quit (Client Quit) 2018-10-08T18:42:19Z shka_: durn: cool, but i am not so sure about starting server there 2018-10-08T18:42:41Z shka_: try removing starting server from sbclrc and restart sly 2018-10-08T18:43:04Z shka_: leave push and load-system (for now) 2018-10-08T18:43:25Z shka_: if it will work, remove load-system and restart sly 2018-10-08T18:43:47Z shka_: so you will have only the bare minimum required 2018-10-08T18:45:00Z bacterio quit (Quit: bacterio) 2018-10-08T18:45:47Z frodef quit (Ping timeout: 268 seconds) 2018-10-08T18:47:21Z roshanavand quit (Ping timeout: 260 seconds) 2018-10-08T18:48:21Z roshanavand joined #lisp 2018-10-08T18:54:26Z serichsen joined #lisp 2018-10-08T18:55:00Z serichsen: good evening 2018-10-08T18:55:08Z pjb joined #lisp 2018-10-08T18:58:45Z PuercoPop: durn: to the .asd file. 2018-10-08T18:59:07Z serichsen: cheers 2018-10-08T18:59:11Z PuercoPop: What I do on my .stumprc is (push #P"/home/puercopop/.emacs.d/site-lisp/sly/slynk/" asdf:*central-registry*) 2018-10-08T18:59:31Z PuercoPop: then (require 'slynk) which could prolly be (asdf:make "slynk") 2018-10-08T18:59:48Z PuercoPop: and then call slynk:create-server (In my cae define a command that calls it) 2018-10-08T19:10:12Z shka_ quit (Ping timeout: 252 seconds) 2018-10-08T19:10:58Z cage_ quit (Quit: Leaving) 2018-10-08T19:11:56Z robotoad joined #lisp 2018-10-08T19:13:12Z ggole quit (Quit: ggole) 2018-10-08T19:16:53Z asymptotically quit (Remote host closed the connection) 2018-10-08T19:18:39Z varjagg joined #lisp 2018-10-08T19:18:51Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-08T19:18:55Z jkordani_ joined #lisp 2018-10-08T19:19:00Z razzy joined #lisp 2018-10-08T19:19:25Z roshanavand joined #lisp 2018-10-08T19:22:42Z jkordani quit (Ping timeout: 264 seconds) 2018-10-08T19:25:37Z warweasle_afk is now known as warweasle 2018-10-08T19:34:41Z siegbert joined #lisp 2018-10-08T19:41:08Z igemnace quit (Read error: Connection reset by peer) 2018-10-08T19:41:33Z azimut_ joined #lisp 2018-10-08T19:41:51Z igemnace joined #lisp 2018-10-08T19:43:21Z azimut quit (Ping timeout: 252 seconds) 2018-10-08T19:44:16Z SenasOzys joined #lisp 2018-10-08T19:47:51Z shifty joined #lisp 2018-10-08T19:48:39Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-08T19:49:32Z roshanavand joined #lisp 2018-10-08T20:04:37Z Copenhagen_Bram quit (Quit: i'm sorry but i'm just too addicted to the internet and i have dishes to do) 2018-10-08T20:06:40Z asarch joined #lisp 2018-10-08T20:08:23Z siegbert left #lisp 2018-10-08T20:08:28Z roshanavand quit (Ping timeout: 246 seconds) 2018-10-08T20:08:45Z frodef joined #lisp 2018-10-08T20:09:34Z roshanavand joined #lisp 2018-10-08T20:12:20Z m3tti joined #lisp 2018-10-08T20:20:11Z doubledup quit (Quit: Leaving) 2018-10-08T20:29:44Z SenasOzys quit (Remote host closed the connection) 2018-10-08T20:30:21Z SenasOzys joined #lisp 2018-10-08T20:31:14Z X-Scale quit (Ping timeout: 244 seconds) 2018-10-08T20:32:55Z [X-Scale] joined #lisp 2018-10-08T20:33:11Z [X-Scale] is now known as X-Scale 2018-10-08T20:36:47Z rtypo joined #lisp 2018-10-08T20:40:52Z knicklux quit (Remote host closed the connection) 2018-10-08T20:40:58Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-10-08T20:43:10Z robotoad quit (Quit: robotoad) 2018-10-08T20:46:21Z scymtym quit (Ping timeout: 260 seconds) 2018-10-08T20:47:51Z nirved quit (Quit: Leaving) 2018-10-08T20:54:00Z angavrilov quit (Remote host closed the connection) 2018-10-08T20:54:10Z zxcvz quit (Quit: Leaving) 2018-10-08T20:57:12Z kajo quit (Ping timeout: 250 seconds) 2018-10-08T20:57:48Z robotoad joined #lisp 2018-10-08T20:58:32Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-08T20:59:03Z kajo joined #lisp 2018-10-08T20:59:40Z asarch quit (Quit: Leaving) 2018-10-08T21:09:08Z fiddlerwoaroof joined #lisp 2018-10-08T21:15:01Z m3tti quit (Remote host closed the connection) 2018-10-08T21:15:24Z m3tti joined #lisp 2018-10-08T21:16:16Z fiddlerwoaroof quit (Quit: Gone.) 2018-10-08T21:17:38Z robotoad quit (Quit: robotoad) 2018-10-08T21:19:06Z fiddlerwoaroof joined #lisp 2018-10-08T21:19:53Z mfiano quit (Quit: WeeChat 2.1) 2018-10-08T21:20:00Z m3tti quit (Remote host closed the connection) 2018-10-08T21:20:41Z Essadon quit (Quit: Qutting) 2018-10-08T21:21:38Z m3tti joined #lisp 2018-10-08T21:21:52Z PuercoPop quit (Quit: ZNC 1.6.3 - http://znc.in) 2018-10-08T21:21:55Z m3tti quit (Remote host closed the connection) 2018-10-08T21:22:15Z robotoad joined #lisp 2018-10-08T21:22:19Z m3tti joined #lisp 2018-10-08T21:22:30Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-08T21:23:13Z nckx joined #lisp 2018-10-08T21:28:48Z scymtym joined #lisp 2018-10-08T21:29:34Z oystewh quit (Ping timeout: 240 seconds) 2018-10-08T21:31:32Z astronavt joined #lisp 2018-10-08T21:33:03Z astronavt quit (Max SendQ exceeded) 2018-10-08T21:33:30Z astronavt joined #lisp 2018-10-08T21:34:19Z PuercoPop joined #lisp 2018-10-08T21:38:53Z sjl quit (Quit: WeeChat 2.3-dev) 2018-10-08T21:41:02Z sjl joined #lisp 2018-10-08T21:41:55Z igemnace quit (Ping timeout: 246 seconds) 2018-10-08T21:43:38Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-08T21:44:57Z sjl_ joined #lisp 2018-10-08T21:45:39Z warweasle joined #lisp 2018-10-08T21:46:44Z didi joined #lisp 2018-10-08T21:47:59Z didi: Hey, I found a good advantage of structs over CLOS objects: copy-*. 2018-10-08T21:48:12Z sjl quit (Ping timeout: 252 seconds) 2018-10-08T21:48:29Z aeth: Yes, but (1) it's a shallow copy and (2) you rarely need it 2018-10-08T21:48:36Z didi: aeth: True. 2018-10-08T21:49:06Z didi: Still, something structs have that CLOS objects don't. 2018-10-08T21:49:24Z aeth: You can still define a deep copy by renaming the copy function to %copy-foo and defining an inline copy-foo that does a deep copy 2018-10-08T21:49:37Z aeth: So it's not entirely useless 2018-10-08T21:49:55Z aeth: copy-foo would mostly use %copy-foo 2018-10-08T21:50:27Z aeth: didi: The standard-object (not CLOS object) way to do it would be to define a copy generic 2018-10-08T21:50:34Z didi: aeth: But shallow copies can be useful. I'm using it right now. I want a struct just like the original, but with only one slot changed. 2018-10-08T21:50:46Z didi: aeth: I see. 2018-10-08T21:50:50Z jasom: I think the main point of structs is that they are less dynamic than classes 2018-10-08T21:51:13Z aeth: I'm not sure why there isn't a copy method that defaults to a shallow copy for defclass 2018-10-08T21:51:24Z aeth: Probably not hard to add that 2018-10-08T21:51:41Z jasom: aeth: which slots would it copy?? 2018-10-08T21:52:13Z aeth: jasom: Well, the main point in modern CL is that structs can be optimized for storage and access if :type is provided for a slot 2018-10-08T21:52:42Z phoe: I asked this question about a year ago I think, but 2018-10-08T21:53:04Z phoe: what is the most interesting way of getting a NIL in Common Lisp? 2018-10-08T21:53:04Z aeth: Structs are a good way to e.g. avoid the double-float box 2018-10-08T21:53:16Z phoe: just a NIL, no side effects intended 2018-10-08T21:53:58Z phoe: Like, (progn) 2018-10-08T21:54:29Z jasom: (identity (values)) is interesting I think 2018-10-08T21:54:45Z jasom: since (values) is not the same as (identity (values)) 2018-10-08T21:54:56Z aeth: phoe: Lots of ways to get it because it's false, the empty list, and nothing 2018-10-08T21:55:07Z aeth: Most interesting way is multiple values, yes 2018-10-08T21:55:52Z aeth: Except for multiple-value-list and multiple-value-call, if you request the nth value and it doesn't exist, you get NIL as the default value 2018-10-08T21:56:15Z phoe: (multiple-value-bind () (values)) 2018-10-08T21:56:37Z Bike: (collatz-conjecture-true-p) => NIL 2018-10-08T21:57:30Z phoe: Bike: that's a risky one 2018-10-08T21:57:47Z Bike: but it would be pretty interesting. 2018-10-08T21:57:52Z jasom: (loop (when (zerop (random most-positive-fixnum)) (return nil)) 2018-10-08T21:58:16Z Shinmera: (is-this-question-interesting-p) ;=> NIL 2018-10-08T21:58:22Z Bike: oh snap 2018-10-08T21:58:50Z robotoad quit (Quit: robotoad) 2018-10-08T22:00:12Z jasom: the thing I like about the random version is that it is only probabalistically defined to terminate from the standard, but most (all?) real-world implementations it is guaranteed to terminate. 2018-10-08T22:00:27Z mfiano joined #lisp 2018-10-08T22:00:54Z Bike: huh? how would it not terminate? 2018-10-08T22:01:10Z Bike: i guess the standard doesn't guarantee that the distribution doesn't suck 2018-10-08T22:02:03Z jasom: Bike: if a non-cyclic rng is used, then the probability approaches 1 of it terminating over time, but never reaches it. Real prngs tend to be cyclic though, so there is bounded time for it to terminate (even if it's absurdly large). 2018-10-08T22:02:09Z Bike: oh it does say it should be "approximately" uniform, huh 2018-10-08T22:02:31Z astronavt_ joined #lisp 2018-10-08T22:02:36Z Bike: what the heck is a non cyclic rng 2018-10-08T22:02:41Z Bike: there are only finitely many return values 2018-10-08T22:02:51Z astronavt quit (Read error: Connection reset by peer) 2018-10-08T22:03:01Z jasom: Bike: It's conjectured that pi is non-cyclic, right? 2018-10-08T22:03:22Z Shinmera: computer words are finite tho. 2018-10-08T22:03:24Z Bike: "A cyclic number is an integer in which cyclic permutations of the digits are successive multiples of the number." uh 2018-10-08T22:03:24Z jasom: rational expansions of pi that is. 2018-10-08T22:03:28Z adlai: someone could plausibly set it up to read from a nondeterministic hardware device 2018-10-08T22:03:52Z Bike: i guess it's not proven that pi is normal 2018-10-08T22:03:57Z Bike: but i don't understand why it matters 2018-10-08T22:04:11Z Bike: most-positive-fixnum is finite, and since it's an integer the distribution is discrete 2018-10-08T22:05:20Z jasom: Bike: consider flipping a fair coin. Let's say I flip the coin until I get 5 heads in a row. That is not guaranteed to terminate, though it is very likely to for any large number of iterations. 2018-10-08T22:05:47Z nixfreak quit (Ping timeout: 256 seconds) 2018-10-08T22:05:56Z Bike: oh. yeah. ok 2018-10-08T22:05:59Z Bike: i'm being stupid. 2018-10-08T22:06:10Z Bike: taking limits too soon 2018-10-08T22:06:20Z jasom: similarly an implementation with less than (integer-length most-positive-fixnum) state in its prng might never terminate on that. 2018-10-08T22:07:02Z jasom: and it's guaranteed that there are some values it will never return from (random most-positive-fixnum) if there are that few bits of state in the prng. 2018-10-08T22:07:32Z aeth: (true-statement-p "This sentence is false.") => ? 2018-10-08T22:07:55Z Shinmera: jasom: Though the spec does say: If limit is an integer, each of the possible results occurs with (approximate) probability 1/limit. 2018-10-08T22:08:10Z Shinmera: So arguably it does not allow holes. 2018-10-08T22:08:14Z jasom: Shinmera: 0 is approximately 1/limit if limit is very large 2018-10-08T22:08:39Z Shinmera: I'd read that as "explicitly not zero" 2018-10-08T22:08:44Z jasom: Shinmera: no finite state prng can do this when you consider bignums, unless you think the spec implies the state must be larger than the largest allowed bignum. 2018-10-08T22:09:28Z jasom: Shinmera: if it required each possible result to occure with identical probability, then it would explicitly not allow holes. 2018-10-08T22:09:47Z jasom: but "approximately" implies that holes are allowed to me. 2018-10-08T22:10:06Z Shinmera: to me it implies that the prng can be imperfect (which it will be+ 2018-10-08T22:10:27Z Shinmera: but not that it can have holes. 2018-10-08T22:10:37Z jasom: Shinmera: there are lots of imperfect prng with 100% even distribution of values (a simple LCG does this, for example). 2018-10-08T22:12:37Z Shinmera: Aight 2018-10-08T22:13:09Z Bike quit (Ping timeout: 256 seconds) 2018-10-08T22:18:02Z robotoad joined #lisp 2018-10-08T22:18:33Z adlai: phoe: /buffer 29 2018-10-08T22:18:40Z adlai: oops. 2018-10-08T22:20:06Z m3tti quit (Ping timeout: 252 seconds) 2018-10-08T22:21:14Z Ober: irc is hard 2018-10-08T22:23:38Z phoe: adlai: I don't even have 29 buffers 2018-10-08T22:28:20Z adlai: re: "most interesting way to get the value NIL" ... how about "as return value of #'type-of" 2018-10-08T22:28:29Z pjb: (length (buffer-list)) -> 39 ; not even trying. 2018-10-08T22:30:20Z jack_rabbit joined #lisp 2018-10-08T22:32:56Z kushal quit (Remote host closed the connection) 2018-10-08T22:33:20Z jasom: adlai: is that possible? 2018-10-08T22:33:47Z adlai: it should not be, which is what would make it so interesting 2018-10-08T22:33:54Z kushal joined #lisp 2018-10-08T22:36:25Z astronavt_ is now known as astronavt 2018-10-08T22:37:14Z Posterdati quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-08T22:37:55Z SenasOzys quit (Ping timeout: 246 seconds) 2018-10-08T22:44:38Z varjagg quit (Ping timeout: 245 seconds) 2018-10-08T22:51:00Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-08T22:52:12Z Roy_Fokker joined #lisp 2018-10-08T22:53:49Z drl joined #lisp 2018-10-08T22:54:22Z r1b joined #lisp 2018-10-08T22:58:57Z astronavt quit (Ping timeout: 252 seconds) 2018-10-08T23:00:33Z didi quit (Remote host closed the connection) 2018-10-08T23:04:15Z tsandstr joined #lisp 2018-10-08T23:05:45Z astronavt joined #lisp 2018-10-08T23:06:13Z tsandstr quit (Remote host closed the connection) 2018-10-08T23:06:18Z orivej quit (Ping timeout: 252 seconds) 2018-10-08T23:07:24Z astronavt_ joined #lisp 2018-10-08T23:08:29Z r1b quit (Quit: r1b) 2018-10-08T23:11:10Z astronavt quit (Ping timeout: 246 seconds) 2018-10-08T23:18:49Z razzy quit (Remote host closed the connection) 2018-10-08T23:19:18Z razzy joined #lisp 2018-10-08T23:22:37Z orivej joined #lisp 2018-10-08T23:23:17Z frodef quit (Ping timeout: 268 seconds) 2018-10-08T23:23:54Z razzy quit (Ping timeout: 252 seconds) 2018-10-08T23:24:24Z razzy joined #lisp 2018-10-08T23:33:20Z Demosthenex quit (Ping timeout: 252 seconds) 2018-10-08T23:33:48Z anewuser joined #lisp 2018-10-08T23:39:07Z Bike_ joined #lisp 2018-10-08T23:40:00Z Bike_ is now known as Bike 2018-10-08T23:40:22Z meepdeew joined #lisp 2018-10-08T23:42:54Z pjb quit (Ping timeout: 252 seconds) 2018-10-08T23:44:36Z siraben quit (Ping timeout: 252 seconds) 2018-10-08T23:49:40Z meepdeew quit (Ping timeout: 246 seconds) 2018-10-08T23:50:05Z Demosthenex joined #lisp 2018-10-08T23:50:14Z meepdeew joined #lisp 2018-10-08T23:53:30Z sjl_ quit (Quit: WeeChat 2.3-dev) 2018-10-08T23:53:32Z ryan_vw joined #lisp 2018-10-08T23:53:55Z sjl joined #lisp 2018-10-08T23:54:12Z sjl quit (Client Quit) 2018-10-08T23:55:16Z meepdeew quit (Read error: Connection reset by peer) 2018-10-08T23:58:49Z tsandstr joined #lisp 2018-10-08T23:59:27Z anewuser quit (Ping timeout: 252 seconds) 2018-10-09T00:00:28Z tsandstr quit (Remote host closed the connection) 2018-10-09T00:04:01Z tsandstr joined #lisp 2018-10-09T00:04:31Z aeth: Has anyone seen pillton? I just did a `tail -n 100000 '#lisp.log' | grep '\(pillton\)\|\(Day\)'` and it looks like he was last here 21 August 2018-10-09T00:04:44Z meepdeew joined #lisp 2018-10-09T00:07:04Z holycow joined #lisp 2018-10-09T00:07:52Z Ober: yes, equinox 2018-10-09T00:10:45Z aeth: I'm recompiling with my cache clear to verify it but I think I get problems with specialization-store and ECL and I always try to verify things like that over IRC first. 2018-10-09T00:11:05Z no-defun-allowed: can you use cffi to run ecl in another cl? 2018-10-09T00:12:16Z Bike: Maybe? 2018-10-09T00:12:16Z Colleen: Bike: drmeister said 36 minutes, 42 seconds ago: (ql:quickload something :verbose t) provides lots of info - thank you. 2018-10-09T00:13:45Z meepdeew quit (Ping timeout: 252 seconds) 2018-10-09T00:15:31Z pjb joined #lisp 2018-10-09T00:17:49Z kuwze quit (Ping timeout: 256 seconds) 2018-10-09T00:18:04Z aeth: Hmm, yeah, in ECL I get "* The macro form (VEC--INTO! TEMP-VECTOR-1 VEC2 VEC1) was not expanded successfully." 2018-10-09T00:19:03Z meepdeew joined #lisp 2018-10-09T00:21:10Z anewuser joined #lisp 2018-10-09T00:22:42Z Jachy: minion: memo for nixfreak: https://github.com/t-sin/one (example of using CL with bash one liners) 2018-10-09T00:22:42Z minion: Remembered. I'll tell nixfreak when he/she/it next speaks. 2018-10-09T00:23:39Z meepdeew quit (Ping timeout: 252 seconds) 2018-10-09T00:27:38Z serichsen quit (Ping timeout: 276 seconds) 2018-10-09T00:31:42Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-09T00:35:07Z moei quit (Read error: Connection reset by peer) 2018-10-09T00:35:40Z moei joined #lisp 2018-10-09T00:37:17Z orivej quit (Ping timeout: 268 seconds) 2018-10-09T00:40:06Z asarch joined #lisp 2018-10-09T00:40:08Z Petit_Dejeuner joined #lisp 2018-10-09T00:44:47Z FreeBirdLjj joined #lisp 2018-10-09T00:46:56Z dented42 joined #lisp 2018-10-09T00:48:51Z pjb quit (Ping timeout: 252 seconds) 2018-10-09T00:50:32Z robotoad quit (Quit: robotoad) 2018-10-09T00:55:12Z FreeBirdLjj quit (Read error: Connection reset by peer) 2018-10-09T00:55:37Z FreeBirdLjj joined #lisp 2018-10-09T00:57:27Z orivej joined #lisp 2018-10-09T00:58:16Z mrSpec quit (Ping timeout: 246 seconds) 2018-10-09T01:00:28Z FreeBird_ joined #lisp 2018-10-09T01:03:11Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2018-10-09T01:09:11Z Oladon quit (Quit: Leaving.) 2018-10-09T01:13:31Z rtypo quit (Ping timeout: 260 seconds) 2018-10-09T01:17:59Z ryan_vw quit (Ping timeout: 268 seconds) 2018-10-09T01:18:59Z makomo quit (Ping timeout: 250 seconds) 2018-10-09T01:28:42Z elfmacs joined #lisp 2018-10-09T01:31:58Z FreeBird_ quit (Remote host closed the connection) 2018-10-09T01:32:34Z FreeBirdLjj joined #lisp 2018-10-09T01:37:15Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-09T01:41:08Z slyrus1 quit (Quit: slyrus1) 2018-10-09T01:48:20Z quazimodo joined #lisp 2018-10-09T01:49:03Z astronavt_ is now known as astronavt 2018-10-09T01:51:16Z robotoad joined #lisp 2018-10-09T02:03:02Z robotoad quit (Quit: robotoad) 2018-10-09T02:04:07Z rumbler31 joined #lisp 2018-10-09T02:04:18Z orivej quit (Ping timeout: 252 seconds) 2018-10-09T02:10:31Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-09T02:17:10Z ryan_vw joined #lisp 2018-10-09T02:18:29Z robotoad joined #lisp 2018-10-09T02:22:39Z terpri joined #lisp 2018-10-09T02:39:42Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-09T02:45:48Z pjb joined #lisp 2018-10-09T02:45:49Z iomonad quit (Ping timeout: 244 seconds) 2018-10-09T03:08:57Z slyrus1 joined #lisp 2018-10-09T03:10:15Z gector quit (Read error: Connection reset by peer) 2018-10-09T03:10:16Z zz2eggoo joined #lisp 2018-10-09T03:10:44Z gector joined #lisp 2018-10-09T03:12:01Z Copenhagen_Bram joined #lisp 2018-10-09T03:19:00Z pjb quit (Ping timeout: 252 seconds) 2018-10-09T03:20:31Z eminhi joined #lisp 2018-10-09T03:21:34Z holycow quit (Quit: Lost terminal) 2018-10-09T03:22:30Z meepdeew joined #lisp 2018-10-09T03:45:13Z ryan_vw quit (Ping timeout: 246 seconds) 2018-10-09T03:46:03Z pjb joined #lisp 2018-10-09T03:47:30Z jasmith quit (Quit: Leaving) 2018-10-09T03:49:41Z arescorpio joined #lisp 2018-10-09T03:53:42Z linack joined #lisp 2018-10-09T03:59:22Z emaczen joined #lisp 2018-10-09T04:00:00Z iomonad joined #lisp 2018-10-09T04:01:17Z anewuser quit (Quit: anewuser) 2018-10-09T04:10:30Z Bike quit (Quit: Lost terminal) 2018-10-09T04:14:21Z elfmacs quit (Ping timeout: 260 seconds) 2018-10-09T04:15:23Z arescorpio quit (Remote host closed the connection) 2018-10-09T04:18:57Z pjb quit (Ping timeout: 252 seconds) 2018-10-09T04:19:49Z shka_ joined #lisp 2018-10-09T04:19:54Z shka_: good morning 2018-10-09T04:24:09Z beach: Good morning everyone! 2018-10-09T04:24:14Z beach: Hello shka_. 2018-10-09T04:40:12Z q-u-a-n joined #lisp 2018-10-09T04:47:04Z astronavt_ joined #lisp 2018-10-09T04:47:29Z astronavt quit (Read error: Connection reset by peer) 2018-10-09T04:47:33Z eminhi quit (Ping timeout: 245 seconds) 2018-10-09T04:55:57Z igemnace joined #lisp 2018-10-09T04:59:36Z eminhi joined #lisp 2018-10-09T05:00:21Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-09T05:15:39Z nyingen_: So there's a CL lib on github I forked and made a minor patch to (to make it work in modern times). Last commit was 7 years ago. Should I still file an issue and/or make a PR? 2018-10-09T05:15:49Z nyingen_: Etiquette question I guess. 2018-10-09T05:16:34Z nyingen_: Also someone here said that the original author is in a state of apostasy 2018-10-09T05:18:01Z PuercoPop: nyingen_: send the PR, little is lost that way 2018-10-09T05:25:38Z frodef joined #lisp 2018-10-09T05:26:58Z quazimodo quit (Ping timeout: 272 seconds) 2018-10-09T05:28:41Z quazimodo joined #lisp 2018-10-09T05:28:51Z pjb joined #lisp 2018-10-09T05:31:21Z jackdaniel: nyingen_: one reason you should do that is a possibility, that someone takes a burden of maintaining this library in the future (not the original author). place he'll take the code and issues is the original repository, same goes for accepting pull requests 2018-10-09T05:32:10Z jackdaniel: fwiw that's one of things we did with log4cl: we've retyped issues from the original repository and merged dangling pull requests 2018-10-09T05:34:31Z shifty quit (Ping timeout: 268 seconds) 2018-10-09T05:34:54Z pjb quit (Remote host closed the connection) 2018-10-09T05:35:09Z pjb joined #lisp 2018-10-09T05:37:42Z shka_ quit (Ping timeout: 252 seconds) 2018-10-09T05:38:20Z lavaflow quit (Read error: No route to host) 2018-10-09T05:38:35Z lavaflow joined #lisp 2018-10-09T05:39:21Z pjb quit (Ping timeout: 252 seconds) 2018-10-09T05:45:03Z _whitelogger quit (Remote host closed the connection) 2018-10-09T05:45:05Z rumbler31 quit (Remote host closed the connection) 2018-10-09T05:47:18Z _whitelogger joined #lisp 2018-10-09T05:47:48Z makomo joined #lisp 2018-10-09T05:49:35Z vlatkoB joined #lisp 2018-10-09T05:49:38Z iomonad quit (Ping timeout: 245 seconds) 2018-10-09T05:49:53Z linack quit (Remote host closed the connection) 2018-10-09T05:50:14Z mhd2018 joined #lisp 2018-10-09T05:50:16Z nyingen_: jackdaniel, PuercoPop: ok, I'll do that. Thanks 2018-10-09T05:58:04Z flamebeard joined #lisp 2018-10-09T06:08:32Z ravndal quit (Quit: WeeChat 2.2) 2018-10-09T06:08:42Z argoneus quit (Ping timeout: 252 seconds) 2018-10-09T06:09:04Z JohnMS_WORK joined #lisp 2018-10-09T06:09:27Z ryan_vw joined #lisp 2018-10-09T06:10:17Z argoneus joined #lisp 2018-10-09T06:15:33Z rgr joined #lisp 2018-10-09T06:16:04Z makomo quit (Ping timeout: 246 seconds) 2018-10-09T06:22:28Z elfmacs joined #lisp 2018-10-09T06:29:53Z frgo quit (Remote host closed the connection) 2018-10-09T06:32:09Z runejuhl quit (Ping timeout: 252 seconds) 2018-10-09T06:33:07Z runejuhl joined #lisp 2018-10-09T06:49:45Z asarch: How can I get the decimal version?: (+ 1/4 1/4) 2018-10-09T06:50:14Z beach: asarch: You are confused. 2018-10-09T06:50:22Z beach: asarch: Decimal is just a way of printing. 2018-10-09T06:50:27Z beach: Do you mean floating point? 2018-10-09T06:50:40Z beach: clhs float 2018-10-09T06:50:40Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_float.htm 2018-10-09T06:50:42Z asarch: I mean, 0.5 2018-10-09T06:50:57Z beach: That's a floating point number that happens to be printed as a decimal. 2018-10-09T06:51:01Z asarch: 1/4 <- Fractional, isn't it? 2018-10-09T06:51:10Z asarch: 0.25 <- Floating? 2018-10-09T06:51:10Z beach: ratio 2018-10-09T06:51:20Z beach: Try (float 1/2) 2018-10-09T06:51:37Z asarch: Bingo! 2018-10-09T06:51:39Z asarch: Thank you! 2018-10-09T06:51:44Z asarch: Thank you very much :-) 2018-10-09T06:52:00Z orivej joined #lisp 2018-10-09T06:52:05Z asarch re-write his notes 2018-10-09T06:53:15Z beach: If you think you are dealing with decimals, you will be very confused when you try (+ 0.3 0.6) 2018-10-09T06:54:05Z no-defun-allowed: my personal favourite is 0.1 + 0.2 but i think it's double floats only or something 2018-10-09T06:54:08Z no-defun-allowed: sbcl gets it right 2018-10-09T06:54:26Z beach: A large proportion of my students told me that SBCL had a bug, the first time they saw this behavior. Very interesting that they had never noticed it in any other language. 2018-10-09T06:54:33Z no-defun-allowed: yep, (+ 0.1d0 0.2d0) /= 0.3d0 2018-10-09T06:55:14Z lieven: what every computer scientist should know about floating point still isn't read widely enough :) 2018-10-09T06:55:25Z beach: Indeed. 2018-10-09T06:55:40Z no-defun-allowed: beach: if you're not busy, could you please explain how SICL manages finding the GC roots in a program? 2018-10-09T06:55:44Z asarch: Well, I helped my younger brother to add fractions with just pen and paper and I couldn't find in my notes the way to get '0.5' :-( 2018-10-09T06:56:07Z beach: no-defun-allowed: Sure. 2018-10-09T06:56:26Z beach: no-defun-allowed: Give me a minute. 2018-10-09T06:56:32Z no-defun-allowed: sbcl uses a conservative approach on x86 and x86_64 but i was wondering if you used specific registers or anything to distinguish unboxed and boxed values 2018-10-09T06:56:35Z no-defun-allowed: of course (: 2018-10-09T06:57:07Z beach: no-defun-allowed: Well, the SICL GC has not been entirely implemented yet, but here is the plan... 2018-10-09T06:57:11Z asarch: Anyway, thank you guys. See you later. Have some rest :-) 2018-10-09T06:57:17Z asarch quit (Quit: Leaving) 2018-10-09T06:57:35Z beach: no-defun-allowed: For each value of the program counter, the compiler emits information about what is contained in which register. 2018-10-09T06:57:54Z no-defun-allowed: that's very useful 2018-10-09T06:57:57Z beach: no-defun-allowed: So there is no need to distinguish registers. 2018-10-09T06:58:01Z no-defun-allowed: nice! 2018-10-09T06:58:27Z beach: http://metamodular.com/garbage-collection.pdf 2018-10-09T06:58:32Z no-defun-allowed: so the GC just looks up the program counter in your table and looks at what types exist in the registers? 2018-10-09T06:58:41Z no-defun-allowed: that's a brilliant approach 2018-10-09T06:58:45Z beach: Second page (page 120) 2018-10-09T06:58:52Z beach: Yes. 2018-10-09T06:59:14Z beach: I did not invent it. At least I hope I didn't. 2018-10-09T06:59:37Z no-defun-allowed: i've never heard of that before so you may as well have. 2018-10-09T06:59:50Z beach: I seriously doubt it. 2018-10-09T07:00:26Z beach: Anyway, you have the complete description in that document. As I wrote, the thing is complicated by callee-saves registers. 2018-10-09T07:01:01Z no-defun-allowed: (after reading about gothreads i thought about an OS which could manage thousands of threads in one memory space and uses GC and JIT threads and message passing and stuff) 2018-10-09T07:01:04Z no-defun-allowed: thankyou very much 2018-10-09T07:01:22Z beach: Anytime. 2018-10-09T07:02:03Z shka_ joined #lisp 2018-10-09T07:02:08Z beach: If it weren't for callee-saves registers, each stack frame could be processed independently according to the return address of the next frame. 2018-10-09T07:02:38Z no-defun-allowed: racket's gc language provides the roots for the programmer which is good but i wanted to know how to find roots as well 2018-10-09T07:02:52Z beach: I see. 2018-10-09T07:03:33Z frgo joined #lisp 2018-10-09T07:03:51Z frgo quit (Remote host closed the connection) 2018-10-09T07:04:19Z nowhereman_ joined #lisp 2018-10-09T07:04:23Z no-defun-allowed: it's quite fun being able to debug it in something other than gdb, but the not real (loop across heap collecting garbage) is probably my favourite gc development tool :P 2018-10-09T07:04:47Z frgo joined #lisp 2018-10-09T07:06:06Z no-defun-allowed: i thought about doing a similar thing in CL but the visual heap viewer was too good to pass on. 2018-10-09T07:07:42Z rgr quit (Ping timeout: 264 seconds) 2018-10-09T07:09:25Z igemnace quit (Quit: WeeChat 2.2) 2018-10-09T07:10:05Z ecraven: using slime, is there a way to influence how emacs displays things? can I send something over the wire that will change the fontification in emacs? 2018-10-09T07:10:28Z phoe: ecraven: I think the fontification is client-side only 2018-10-09T07:11:00Z phoe: you theoretically could send stuff from the Lisp image for evaluation in emacs, but I haven't seen that used widely 2018-10-09T07:11:50Z ecraven: I'm getting to the point where I wish I could use emacs like a listener on the old lisp machines :-/ 2018-10-09T07:13:06Z orivej quit (Ping timeout: 264 seconds) 2018-10-09T07:17:12Z Elyis joined #lisp 2018-10-09T07:18:18Z Elyis: hi, i'm trying to set up slime-atom but each time i have the error "If this is your first time running atom-slime, this is normal. Try running slime:connect in a minute or so once it's finished compiling." without any changes (i'm on macos) 2018-10-09T07:19:04Z astronavt_ quit (Ping timeout: 272 seconds) 2018-10-09T07:22:25Z Shinmera: Elyis: better ask an its github issues page. 2018-10-09T07:22:40Z Shinmera: *on 2018-10-09T07:22:51Z Elyis: Shinmera: oh okay thanks for redirecting me ^^ 2018-10-09T07:24:53Z astronavt joined #lisp 2018-10-09T07:28:26Z rozenglass quit (Remote host closed the connection) 2018-10-09T07:28:31Z meepdeew quit (Remote host closed the connection) 2018-10-09T07:30:20Z beach quit (Disconnected by services) 2018-10-09T07:31:02Z beach joined #lisp 2018-10-09T07:34:51Z scymtym quit (Ping timeout: 252 seconds) 2018-10-09T07:34:54Z iomonad joined #lisp 2018-10-09T07:36:37Z themsay joined #lisp 2018-10-09T07:37:48Z ryan_vw quit (Ping timeout: 252 seconds) 2018-10-09T07:39:50Z ryan_vw joined #lisp 2018-10-09T07:40:48Z themsay quit (Ping timeout: 252 seconds) 2018-10-09T07:42:18Z Elyis quit 2018-10-09T07:44:21Z ryan_vw quit (Ping timeout: 260 seconds) 2018-10-09T07:47:58Z iomonad quit (Ping timeout: 245 seconds) 2018-10-09T07:51:43Z zz2eggoo quit (Quit: Leaving) 2018-10-09T07:54:07Z angavrilov joined #lisp 2018-10-09T07:57:34Z kajo quit (Ping timeout: 240 seconds) 2018-10-09T07:59:39Z kajo joined #lisp 2018-10-09T08:05:00Z stereosphere quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-09T08:07:54Z pierpal joined #lisp 2018-10-09T08:11:50Z dorothyw joined #lisp 2018-10-09T08:12:26Z dorothyw: Is there a book that will teach you calculus with lisp? 2018-10-09T08:12:48Z no-defun-allowed: SICP does symbolic integration in section 2.3 2018-10-09T08:13:03Z dorothyw: Is calculus the same as symbolic integration? 2018-10-09T08:13:18Z no-defun-allowed: integration is one thing calculus does 2018-10-09T08:13:29Z dorothyw: And derivation correct? 2018-10-09T08:13:35Z no-defun-allowed: yes. 2018-10-09T08:13:56Z no-defun-allowed: however, i don't think there's too much to change if you can do one but not the other. 2018-10-09T08:14:20Z no-defun-allowed: do you know how to do either? 2018-10-09T08:15:57Z dorothyw: No. I remember in class there was some very big equation and we learned some rules to take what I would call an expression (4x^2 + x + 3) and do it in our heads without needing the equation. And this had alot to do with acceleration which is meters per second per second. 2018-10-09T08:17:07Z Shinmera: What does any of this have to do with lisp 2018-10-09T08:17:19Z pierpal quit (Ping timeout: 268 seconds) 2018-10-09T08:17:30Z dorothyw: The syntax to math is bad I just can't read it. 2018-10-09T08:17:34Z dorothyw: I want to do calculus in lisp. 2018-10-09T08:17:44Z dorothyw: So I can learn the tricks everyone brags about being able to do. 2018-10-09T08:17:56Z scymtym joined #lisp 2018-10-09T08:18:25Z no-defun-allowed: briefly, the rule for derivation of ax^n is anx^(n-1) and integration of ax^n is a/(n+1)*x^(n+1) 2018-10-09T08:18:53Z dorothyw: Yes this looks to me much like computer code. I feel it could be converted to lisp. 2018-10-09T08:19:01Z pierpal joined #lisp 2018-10-09T08:19:02Z themsay joined #lisp 2018-10-09T08:19:12Z no-defun-allowed: if you don't have something of that form, just try again with each part of the expression and keep the same operator 2018-10-09T08:19:39Z dorothyw: If I parse left to right a represents the integer to multiply against the variable to n power. 2018-10-09T08:19:48Z no-defun-allowed: (so if you have (+ a b), then you'll need to integrate/differentiate a and b and substitute them back in) 2018-10-09T08:20:02Z no-defun-allowed: you might find it easier to read in s-expressions too 2018-10-09T08:21:05Z dorothyw: (derive '(* 3 x x)) => '(* 3 x) 2018-10-09T08:21:53Z pierpal quit (Read error: Connection reset by peer) 2018-10-09T08:22:12Z pierpal joined #lisp 2018-10-09T08:22:20Z dorothyw: The order of operations confuses me in the second example. 2018-10-09T08:22:20Z jdz: dorothyw: Are you after something like Maxima? 2018-10-09T08:22:38Z dorothyw: I want to learn what someone who can pass calculus 4 has learned. 2018-10-09T08:23:21Z no-defun-allowed: dorothyw: everything before x is the new coefficient, everything after is the power 2018-10-09T08:23:26Z dorothyw: a/((n+1)*^(n+1)) 2018-10-09T08:23:31Z pierpal quit (Read error: Connection reset by peer) 2018-10-09T08:23:40Z themsay quit (Ping timeout: 272 seconds) 2018-10-09T08:23:44Z no-defun-allowed: for example, integrating 2x will give you x^2 2018-10-09T08:23:46Z splittist: dorothyw: you now know that 'symbolic differentiation' is the key term to search for. Looking for that plus 'lisp' gives a squillion hits, some with interesting urls including things like 'calc404' in them. 2018-10-09T08:23:50Z dorothyw: s/*^/*x^/ 2018-10-09T08:24:48Z dorothyw: symbolic differentiation seems to be the same thing as deriving 2018-10-09T08:25:08Z pierpal joined #lisp 2018-10-09T08:25:10Z dorothyw: If I am correct that the first example is the only way to derive then I have done it. Though I am not sure that is the case. 2018-10-09T08:25:24Z dorothyw: To me derivation seems to be pop. 2018-10-09T08:25:35Z Jachy: If your physics is good you might be able to use SICM (Structure and Interpretation of Classical Mechanics) Example: https://mitpress.mit.edu/sites/default/files/titles/content/sicm_edition_2/chapter001.html#h1-5 2018-10-09T08:25:51Z dorothyw: "4x^7" => (* x x x x x x x 4) 2018-10-09T08:26:24Z dorothyw: (defun derive (x) (tail x)) 2018-10-09T08:26:45Z igemnace joined #lisp 2018-10-09T08:27:28Z Shinmera: tail is not a standard lisp function 2018-10-09T08:27:44Z no-defun-allowed: i'd frankly make up a *-and-expt "operator" in a program like that to save on some parsing while keeping it short 2018-10-09T08:27:45Z dorothyw: s/tail/cdr/ 2018-10-09T08:28:55Z dorothyw: "4x^7" => '(7 'x 4) 2018-10-09T08:29:40Z dorothyw: (defun derive (x) (push x (- (pop x)) 1)) 2018-10-09T08:29:50Z no-defun-allowed: (*-and-expt 4 x 7) 2018-10-09T08:29:52Z no-defun-allowed: ew, push/pop 2018-10-09T08:29:59Z dorothyw: hmm? 2018-10-09T08:30:10Z no-defun-allowed: i'll take a look now 2018-10-09T08:30:20Z dorothyw: You do not like mutability. 2018-10-09T08:30:52Z no-defun-allowed: i don't think that's a good place for it 2018-10-09T08:31:01Z Jachy: dorothyw: why wouldn't you encode "4x^7" as something like "(* 4 (expt 'x 7))"? 2018-10-09T08:31:20Z dorothyw: Because I do not know the definition of expt. 2018-10-09T08:31:30Z no-defun-allowed: (expt x n) = x^n 2018-10-09T08:31:56Z pierpal quit (Read error: Connection reset by peer) 2018-10-09T08:32:06Z dorothyw: What does (expt 5 5) compile to in sbcl? 2018-10-09T08:32:12Z Jachy: You could call it pow if that's better 2018-10-09T08:32:22Z Jachy: (need your own function of course) 2018-10-09T08:32:30Z no-defun-allowed: probably gets compile-time folded 2018-10-09T08:32:44Z jdz: dorothyw: You still looking for an answer to book about calculus in lisp? 2018-10-09T08:32:46Z no-defun-allowed: (setf (fdefinition 'pow) (fdefinition 'expt)) is always possible but probably not useful 2018-10-09T08:33:02Z dorothyw: jdz: if one presents itself. If one does not exist or I find one my query is terminated. 2018-10-09T08:33:20Z jdz: I just don't see the point of these random sexps. 2018-10-09T08:33:52Z dorothyw: briefly, the rule for derivation of ax^n is anx^(n-1) and 2018-10-09T08:33:52Z dorothyw: integration of ax^n is a/(n+1)*x^(n+1) [08: 2018-10-09T08:34:05Z dorothyw: I don't think this is truly a complete set of the rules. 2018-10-09T08:34:18Z no-defun-allowed: "briefly" 2018-10-09T08:34:19Z no-defun-allowed: no it's not 2018-10-09T08:34:33Z dorothyw: This is only the simplest form of derivation. 2018-10-09T08:34:36Z Shinmera: can you take this to #clschool or some other noob channel 2018-10-09T08:35:00Z no-defun-allowed: dorothyw: just port [SICP's differentiator](https://sarabander.github.io/sicp/html/2_002e3.xhtml#g_t2_002e3_002e2) to CL thanks 2018-10-09T08:35:24Z dorothyw: Well then the answer is just learn sicp. And then the answer is just learn pcbl. 2018-10-09T08:37:24Z no-defun-allowed: PAIP also has a (macsyma|maxima) clone 2018-10-09T08:39:32Z Jachy: dorothyw: Going back to the original question, is the request for some book/resource that combines teaching calculus from the ground up (e.g. no past familiarity) with Lisp as a backdrop? Or just doing calculus with lisp? 2018-10-09T08:40:06Z pierpal joined #lisp 2018-10-09T08:43:04Z astronavt quit (Ping timeout: 240 seconds) 2018-10-09T08:43:18Z shka_: Jachy: first learn to do calculus on paper 2018-10-09T08:44:15Z varjag: +1 2018-10-09T08:45:47Z shka_: if you want simple book, calculus for dummies is really useful 2018-10-09T08:46:16Z shka_: it saves students since late XIX century ;-) 2018-10-09T08:51:44Z Bronsa joined #lisp 2018-10-09T08:51:51Z pierpal quit (Ping timeout: 252 seconds) 2018-10-09T08:54:23Z pierpal joined #lisp 2018-10-09T08:58:56Z pfdietz quit (Remote host closed the connection) 2018-10-09T08:59:11Z pfdietz joined #lisp 2018-10-09T08:59:45Z mhd2018 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2018-10-09T08:59:53Z dorothyw: It is just because I want to learn calculus but I don't like the syntax of math. 2018-10-09T09:00:23Z shrdlu68 joined #lisp 2018-10-09T09:17:09Z asymptotically joined #lisp 2018-10-09T09:22:13Z SenasOzys joined #lisp 2018-10-09T09:27:47Z eMBee quit (Ping timeout: 244 seconds) 2018-10-09T09:30:18Z razzy: beach: hi : 2018-10-09T09:33:04Z zfree quit (Quit: zfree) 2018-10-09T09:34:12Z dddddd joined #lisp 2018-10-09T09:35:38Z beach: Hello razzy. 2018-10-09T09:36:03Z razzy: beach: hello, do you still think about flat filesystems? 2018-10-09T09:36:23Z beach: razzy: Have I said that I think about flat filesystems? 2018-10-09T09:36:44Z beach: I don't think about file systems at all, usually. 2018-10-09T09:36:48Z razzy: i think so, it was clear from you manifest 2018-10-09T09:37:01Z razzy: OS manifest 2018-10-09T09:37:15Z beach: I don't think I mention files at all in there. 2018-10-09T09:37:25Z beach: Other than complaining about them. 2018-10-09T09:37:33Z razzy: ah :] 2018-10-09T09:37:41Z shka_: razzy: no file system was the idea 2018-10-09T09:37:57Z razzy: yes yes, that what i think 2018-10-09T09:38:06Z beach: But yeah, I think hierarchical file systems are a bad idea. 2018-10-09T09:38:11Z razzy: just files with tags 2018-10-09T09:38:17Z beach: Not files. 2018-10-09T09:38:19Z beach: Common Lisp objects. 2018-10-09T09:38:38Z razzy: hmm hmm, files are next best thing 2018-10-09T09:39:04Z beach: To me, a Unix-type file is just a vector of 8-bit bytes. 2018-10-09T09:39:37Z no-defun-allowed: unix files don't have any meaning 2018-10-09T09:39:39Z razzy: weirdly twisted together 2018-10-09T09:40:08Z no-defun-allowed: hell, even character encoding is too hard for unix 2018-10-09T09:40:37Z shka_: razzy: idea was to basicly use vast address space of modern machines to establish access to data on so called persistant storage 2018-10-09T09:40:46Z razzy: yeah, unix is a swamp people wonder to die in 2018-10-09T09:40:47Z beach: razzy: Why are you wondering about that? 2018-10-09T09:41:10Z beach: razzy: About what I am thinking of, I mean. 2018-10-09T09:41:21Z TMA: I wonder if razzy meant wander 2018-10-09T09:41:35Z beach: I think razzy meant wander, yes. 2018-10-09T09:41:40Z phoe: what's wander? 2018-10-09T09:42:02Z razzy: they wander 2018-10-09T09:42:04Z beach: But razzy was also wondering what I am thinking about. 2018-10-09T09:42:19Z shka_: some wander by mistake 2018-10-09T09:42:30Z shka_: ;-) 2018-10-09T09:43:15Z iomonad joined #lisp 2018-10-09T09:46:46Z razzy: beach: i need flat filesystem on linux. emacs elisp modul, preferably. so i want to ask you, if you ever try to wander flat-filesystem-on-linux way. emacs module would be good place to test ideas in the wild :] 2018-10-09T09:48:59Z razzy: phoe: wander is by foot, wonder is by thinking. (partly joke) 2018-10-09T09:49:08Z shka_: razzy: this is not releated to original manifesto in any way 2018-10-09T09:49:42Z no-defun-allowed: yeah that's not really what was intended 2018-10-09T09:49:53Z beach quit (Ping timeout: 276 seconds) 2018-10-09T09:50:12Z shka_: and beach was like "fuck this shit i am out 2018-10-09T09:52:04Z no-defun-allowed: great job 2018-10-09T09:52:20Z razzy: uh 2018-10-09T09:53:34Z beach joined #lisp 2018-10-09T09:53:45Z razzy: it is not in original manifest, true. i want to ask advice 2018-10-09T09:54:46Z beach: razzy: I am not thinking of Linux much at all, other than as my current tool for most things. 2018-10-09T09:56:40Z razzy: flattened filesystem as emacs module would help me. 2018-10-09T09:57:22Z razzy: soo, i am surprised nobody done that already 2018-10-09T09:57:44Z zfree joined #lisp 2018-10-09T09:58:02Z shka_: razzy: maybe people at #emacs would have better idea 2018-10-09T09:58:42Z razzy: true, i also wanted to say hi to beach 2018-10-09T09:59:01Z tsandstr quit (Ping timeout: 246 seconds) 2018-10-09T09:59:09Z beach: Thanks! I am afraid I am not going to be able to help you. 2018-10-09T09:59:29Z no-defun-allowed: maybe i should port my singing synth to CL 2018-10-09T09:59:45Z beach: no-defun-allowed: Please do! 2018-10-09T10:00:23Z no-defun-allowed: you give it a list of syllables which have length, pitch and phonemes and it puts together samples and adjusts their pitches 2018-10-09T10:01:12Z razzy: no-defun-allowed: in what is it ported now? 2018-10-09T10:01:22Z no-defun-allowed: i want to add automatic syllable finding (which i think i have an algorithm for) and a better stretching mode 2018-10-09T10:01:34Z no-defun-allowed: it's in python right now but all the heavy stuff is done by sox and aubiopitch 2018-10-09T10:01:49Z no-defun-allowed: i don't mind that it wraps those programs but it could be a bit faster 2018-10-09T10:09:03Z _whitelogger quit (Remote host closed the connection) 2018-10-09T10:10:08Z razzy: "what you cannot build, you do not understand" 2018-10-09T10:11:17Z _whitelogger joined #lisp 2018-10-09T10:12:15Z orivej joined #lisp 2018-10-09T10:17:55Z no-defun-allowed: well, i'm not too into frequency analysis and the like (: 2018-10-09T10:18:31Z asymptotically quit (Quit: Leaving) 2018-10-09T10:23:07Z razzy: my quote is about that if you build it, you can say you understand it 2018-10-09T10:23:30Z jackdaniel: such claim is false 2018-10-09T10:23:31Z razzy: and it should work of course 2018-10-09T10:23:59Z jackdaniel: being able to build something does not imply you understand it 2018-10-09T10:24:28Z razzy: if you build it, and you cannot say the difference from original, you can say you understand it 2018-10-09T10:25:10Z jackdaniel: you have ikea furniture with detailed instruction what goes where, you are able to build the furniture 2018-10-09T10:25:21Z razzy: from scratch 2018-10-09T10:25:25Z jackdaniel: if it is complicated enough it is not given, that having same parts but no instruciton you'll be able to build it again 2018-10-09T10:25:41Z jackdaniel: from atoms? from hardware? from assembly? from programming language? from framework? define scratch 2018-10-09T10:26:11Z razzy: scratch is thing that previous builder build it from 2018-10-09T10:26:26Z no-defun-allowed: damn, fft in CL is really short 2018-10-09T10:27:30Z no-defun-allowed: also, any language with complex numbers halves the program size 2018-10-09T10:27:56Z razzy: no-defun-allowed: i like frequency analysis :] 2018-10-09T10:28:08Z jackdaniel: so "understanding" "something" is a mental state dependent on: object origin and knowledge of the previous person who built it? doesn't make much sense to me 2018-10-09T10:28:50Z no-defun-allowed: however this rosetta code entry looks like shit and uses lists for the analysed sample which doesn't help 2018-10-09T10:30:11Z razzy: jackdaniel: it is ok with me now. 2018-10-09T10:42:42Z pfdietz quit (Ping timeout: 250 seconds) 2018-10-09T10:43:51Z igemnace quit (Quit: WeeChat 2.2) 2018-10-09T10:44:16Z alandipert quit (Ping timeout: 272 seconds) 2018-10-09T10:45:26Z pfdietz joined #lisp 2018-10-09T10:45:51Z rumbler31 joined #lisp 2018-10-09T10:50:06Z rumbler31 quit (Ping timeout: 252 seconds) 2018-10-09T10:53:25Z no-defun-allowed: I'd probably use some kind of "step" to avoid more consing with a vector to make fft fast. 2018-10-09T10:55:50Z m00natic joined #lisp 2018-10-09T11:03:02Z hhdave joined #lisp 2018-10-09T11:05:09Z nowhereman_ quit (Ping timeout: 252 seconds) 2018-10-09T11:06:59Z Bronsa quit (Ping timeout: 244 seconds) 2018-10-09T11:07:23Z asymptotically joined #lisp 2018-10-09T11:08:49Z ggole joined #lisp 2018-10-09T11:20:51Z razzy: or buy more hardware :] 2018-10-09T11:22:13Z no-defun-allowed: razzy: I'm not making another vector like that. 2018-10-09T11:22:43Z no-defun-allowed: *another large quantity of vectors which should have around the same total size as the original. 2018-10-09T11:26:31Z pierpal quit (Ping timeout: 250 seconds) 2018-10-09T11:27:07Z pierpal joined #lisp 2018-10-09T11:33:53Z shifty joined #lisp 2018-10-09T11:37:26Z rumbler31 joined #lisp 2018-10-09T11:37:44Z SenasOzys quit (Ping timeout: 268 seconds) 2018-10-09T11:39:40Z Bronsa joined #lisp 2018-10-09T11:41:20Z rumbler31 quit (Remote host closed the connection) 2018-10-09T11:42:08Z razzy quit (Ping timeout: 245 seconds) 2018-10-09T11:44:56Z asymptotically quit (Quit: Leaving) 2018-10-09T11:47:32Z razzy joined #lisp 2018-10-09T11:49:41Z razzy: no-defun-allowed: there should be a way to make parael fft :] 2018-10-09T11:50:19Z Josh_2 joined #lisp 2018-10-09T11:51:44Z Essadon joined #lisp 2018-10-09T11:52:50Z siraben joined #lisp 2018-10-09T11:54:58Z shka_: parallel fft is trivial 2018-10-09T11:55:00Z frodef quit (Ping timeout: 252 seconds) 2018-10-09T11:55:03Z shka_: but don't bother 2018-10-09T11:55:59Z razzy: than you have two problems in future 2018-10-09T11:56:01Z astronavt joined #lisp 2018-10-09T11:56:26Z razzy: fft and paraelism 2018-10-09T12:03:49Z pierpal quit (Ping timeout: 244 seconds) 2018-10-09T12:06:51Z elfmacs quit (Ping timeout: 260 seconds) 2018-10-09T12:07:58Z JohnMS joined #lisp 2018-10-09T12:08:47Z emerson quit (Quit: WeeChat 2.2) 2018-10-09T12:10:57Z JohnMS_WORK quit (Ping timeout: 252 seconds) 2018-10-09T12:10:59Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-09T12:11:44Z stardiviner joined #lisp 2018-10-09T12:11:59Z drdo quit (Quit: ...) 2018-10-09T12:12:24Z drdo joined #lisp 2018-10-09T12:13:51Z frodef joined #lisp 2018-10-09T12:14:03Z kajo joined #lisp 2018-10-09T12:15:34Z emerson joined #lisp 2018-10-09T12:22:19Z adlai: no-defun-allowed: if you're talking about the code in https://rosettacode.org/wiki/Fast_Fourier_transform#Common_Lisp ... that is literally "Translation of: Python". they use nth in a loop for O(n^2) performance! 2018-10-09T12:22:52Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-09T12:23:18Z asymptotically joined #lisp 2018-10-09T12:23:23Z orivej quit (Ping timeout: 245 seconds) 2018-10-09T12:23:25Z tsandstr joined #lisp 2018-10-09T12:28:55Z stardiviner quit (Ping timeout: 268 seconds) 2018-10-09T12:28:55Z Bronsa quit (Remote host closed the connection) 2018-10-09T12:30:42Z beach: This one might be a bit better: https://github.com/ahefner/bordeaux-fft 2018-10-09T12:31:44Z jcowan joined #lisp 2018-10-09T12:44:30Z asymptotically quit (Quit: Leaving) 2018-10-09T12:44:54Z Bike joined #lisp 2018-10-09T12:45:31Z kajo joined #lisp 2018-10-09T12:52:25Z ogamita joined #lisp 2018-10-09T12:53:45Z ogamita: Hi! 2018-10-09T12:54:36Z astronavt_ joined #lisp 2018-10-09T12:55:11Z nowhereman_ joined #lisp 2018-10-09T12:55:18Z astronavt quit (Read error: Connection reset by peer) 2018-10-09T12:55:22Z jcowan quit (Quit: This computer has gone to sleep) 2018-10-09T12:57:21Z ogamita: So I'm trying to expand cl-lex so that it doesn't scans only prefixes of tokens (yeah, a major bug, but the point is that I'm using a library that is using cl-lex, I have my own lexers that work correctly thank you). So it uses cl-ppcre, and I extend it with a second regexp that should not be matched after the token regexp to validate it. 2018-10-09T12:57:22Z ogamita: Basically: ("OBJECT" "[-\\w]") should match "OBJECT" in "OBJECT FOO" but not in "OBJECT-FOO BAR". 2018-10-09T12:57:22Z ogamita: For this, I expand the parse-tree regexp as: (:alternation (:register "OBJECT" (:negative-lookahead (:char-class #\- :word-char-class))) …). 2018-10-09T12:57:34Z ogamita: However it doesn't work. I tried also :positive-lookahead with same results. 2018-10-09T12:57:44Z ogamita: How can cl-ppcre be used to do that? 2018-10-09T12:58:33Z tsandstr quit (Read error: Connection reset by peer) 2018-10-09T12:58:37Z adlai: beach: that's an actual library! but the rosetta code example triggered me 2018-10-09T12:59:02Z adlai: the only thing worse than "something is wrong on the internet" is... "unidiomatic python is masquerading as common lisp on the internet" 2018-10-09T13:00:01Z ogamita: (cl-ppcre:scan (cl-ppcre:create-scanner '(:alternation (:register "OBJECT" (:positive-lookahead (:char-class #\- :word-char-class))) (:register (:greedy-repetition 1 nil (:char-class :word-char-class #\-))))) " OBJECT-CLASS foo bar") #| --> 2 ; 8 ; #(2 nil) ; #(8 nil) |# 2018-10-09T13:00:04Z ogamita: I'd want 2 ; 14. 2018-10-09T13:00:14Z Shinmera: you, too, can edit rosetta code and can fix this supposed war crime 2018-10-09T13:00:18Z ogamita: (cl-ppcre:scan (cl-ppcre:create-scanner '(:alternation (:register "OBJECT" (:negative-lookahead (:char-class #\- :word-char-class))) (:register (:greedy-repetition 1 nil (:char-class :word-char-class #\-))))) " OBJECT-CLASS foo bar") #| --> 2 ; 8 ; #(2 nil) ; #(8 nil) |# 2018-10-09T13:00:51Z ogamita: adlai: that said, there's no idiomatic CL. 2018-10-09T13:01:27Z adlai: sure... you arrived after the link to the offending code. i am almost loathe to link you to it, out of consideration for your retinae. 2018-10-09T13:01:53Z ogamita: Note that I'm just asking for an obvious thing here: (:POSITIVE-LOOKAHEAD|:NEGATIVE-LOOKAHEAD|:POSITIVE-LOOKBEHIND|:NEGATIVE-LOOKBEHIND ) should be pretty obvious... (from cl-ppcre documentation). 2018-10-09T13:02:13Z adlai: i'll link you to my replacement in two shakes of lisp's tree 2018-10-09T13:02:29Z igemnace joined #lisp 2018-10-09T13:02:32Z adlai: and if you are a true glutton for unidiomatic garbage, you can look in the edit history to find the offending sample 2018-10-09T13:06:33Z jdz: ogamita: cl-ppcre has some restrictions on lookahead/lookbehind. I seem to remember at least something about being constant size. 2018-10-09T13:06:45Z jdz: Not sure this affects you, though. 2018-10-09T13:07:52Z ogamita: jdz: my regexp [-\w] should match a single character. 2018-10-09T13:08:49Z ogamita: But from the doc of the var *look-ahead-for-suffix* I would infer that the meaning of looking ahead or behind for ppcre is not what was obvious to me… 2018-10-09T13:12:12Z ogamita: Well, nope. Perl PCRE documents it as I understood it. cl-ppcre doesn't seem to work. 2018-10-09T13:13:40Z elfmacs joined #lisp 2018-10-09T13:20:26Z pierpal joined #lisp 2018-10-09T13:21:18Z orivej joined #lisp 2018-10-09T13:21:28Z warweasle joined #lisp 2018-10-09T13:25:53Z moei quit (Read error: Connection reset by peer) 2018-10-09T13:26:14Z mhd2018 joined #lisp 2018-10-09T13:26:25Z moei joined #lisp 2018-10-09T13:32:07Z jcowan joined #lisp 2018-10-09T13:33:38Z jcowan: Are property lists used much nowadays, and if so, for what? 2018-10-09T13:35:07Z Bike: &key 2018-10-09T13:35:09Z ogamita: Well, they're at least as much used as old lisp code is still used. 2018-10-09T13:35:38Z ogamita: jcowan: they're more user-friendly than a-lists. 2018-10-09T13:35:39Z pierpal quit (Ping timeout: 252 seconds) 2018-10-09T13:35:50Z ogamita: So you may use them in public API functions. 2018-10-09T13:36:11Z jcowan: Sorry, I mean plists on symbols, not disembodied plists as data structures 2018-10-09T13:36:19Z ogamita: As for symbol-plist, and getf they may be used as much as symbols are used. 2018-10-09T13:36:26Z zigpaw quit (Remote host closed the connection) 2018-10-09T13:37:22Z zigpaw joined #lisp 2018-10-09T13:37:39Z Bike: symbol plists are prettymuch unused outsideof old code. 2018-10-09T13:38:33Z jcowan: Is that primarily because they are global mutable state, or for some other reason? 2018-10-09T13:38:44Z pfdietz: I have occasionally used the plists of symbols, but in many cases it's just better to use a structure or standard object instead of a symbol and store the data there. 2018-10-09T13:39:27Z Bike: being global is a lot of it, yeah 2018-10-09T13:39:33Z ogamita: jcowan: (let ((c 0) (p 0) (ss '())) (dolist (s (dolist (p (list-all-packages) (remove-duplicates ss)) (do-symbols (s p) (push s ss)))) (incf c) (when (symbol-plist s) (incf p))) (values c p (float (/ p c)))) #| --> 69919 ; 800 ; 0.011441811 |# 2018-10-09T13:39:59Z ogamita: jcowan: it's purely a fashion. 2018-10-09T13:40:41Z Bike: but even when i do want a new global mapping from symbols to values i like to just use a hash table or something 2018-10-09T13:40:42Z jcowan: It would be interesting to see what the keys in those 800 plists are 2018-10-09T13:41:04Z ogamita: 1- symbols cannot really be considered a global resource, since we have packages. 2- using symbol property lists even on global symbols (eg. keywords or library packages) doesn't generally lead to collision since you can use as keys symbols in your own package! 2018-10-09T13:41:07Z Bike: can iterate over it and stuff 2018-10-09T13:41:14Z shifty quit (Ping timeout: 250 seconds) 2018-10-09T13:41:21Z ogamita: 3- plist are faster than hash-table and use way fewer memory1 2018-10-09T13:41:24Z Bike: packages are global. don't be so sophistic 2018-10-09T13:41:28Z ogamita: (as long as they're short). 2018-10-09T13:41:51Z ogamita: package names are another global resource, but not package themselves! 2018-10-09T13:42:03Z jcowan: Yes, symbol-plists look optimized for the case of fairly few properties for each symbol 2018-10-09T13:42:05Z ogamita: Hence com.informatimago.i.own.this 2018-10-09T13:42:46Z jcowan: Do any CLs have nonstandard ways of creating unregistered packages? 2018-10-09T13:42:49Z ogamita: jcowan: I would say that the main change in programming style is the use of functional abstraction all the time. 2018-10-09T13:42:54Z russellw quit 2018-10-09T13:43:23Z Bike: i am unaware of any implementation with an exported interface for unnamed packages 2018-10-09T13:43:29Z ogamita: So the use of symbol-plist is not apparent in public interfaces, and you can implement them as you wish. 2018-10-09T13:44:16Z ogamita: Bike: this is not the question. The point is that you can do (setf (getf 'cl:sin 'com.informatimago.i.own.this.there.is.no.collision.risk.ever) 'dont) 2018-10-09T13:44:38Z Bike: it's what jcowan asked 2018-10-09T13:44:48Z shka_: heh 2018-10-09T13:44:48Z ogamita: I mean: (setf (getf 'cl:sin 'com.informatimago.i.own.this.there.is.no.collision.risk.ever:will-you) 'dont) 2018-10-09T13:45:11Z jcowan: Oh,that's quite different 2018-10-09T13:45:12Z ogamita: Sorry. I got a phone call in the middle of it… 2018-10-09T13:45:24Z shka_: saying that packages are global is currently good enough approximation of the current status imho ;-) 2018-10-09T13:46:07Z astronavt_ quit (Ping timeout: 244 seconds) 2018-10-09T13:46:21Z jcowan: Well, they are global in the same sense that DNS names are global: literally true, but that doesn't constrain anyone from creating unique ones 2018-10-09T13:46:32Z ogamita: Well, you could use a custom package implementation such as com.informatimago.common-lisp.lisp-reader.package and store your symbols in those structures instead of cl packages; this would give you "anonymous" packages :-) 2018-10-09T13:46:34Z jcowan: though only by convention 2018-10-09T13:46:53Z Bike: being able to come up with a new name doesn't mean the names aren't global :/ 2018-10-09T13:46:59Z jcowan: or no, a little more than convention in the case of DNS 2018-10-09T13:47:03Z jcowan nods 2018-10-09T13:47:15Z jcowan: I can't add a name to mit.edu without the cooperation of MIT admins 2018-10-09T13:47:21Z ogamita: Also it may be clearer and easier to user clos objects with slots rather than symbols with plists. 2018-10-09T13:47:29Z jcowan: still, Java manages okay with a convention 2018-10-09T13:47:40Z ogamita: jcowan: that is, we have a number of modern techniques that seem to be often better than plists. 2018-10-09T13:48:01Z jcowan: Sure 2018-10-09T13:48:32Z jcowan: I have been thinking about writing a Scheme library that implements packages pretty much as in CL, but as purely runtime constructs (which is what Scheme symbols are). 2018-10-09T13:48:44Z jcowan: Now I'm wondering if I'm not just doing retrocomputing 2018-10-09T13:48:44Z ogamita: The uniqueness can be enforced legally on the basis of DNS. Can depend on the jurisdiction, but some accept it. 2018-10-09T13:48:53Z Bike: what does "purely runtime constructs" mean 2018-10-09T13:48:54Z jcowan: (which is something I like) 2018-10-09T13:49:25Z ogamita: jcowan: translate com.informatimago.common-lisp.lisp-reader.package to scheme. 2018-10-09T13:49:54Z ogamita: Bike: scheme doesn't have a compilation environment or a readtable that would allow you to use such packages at compilation time. 2018-10-09T13:50:03Z jcowan: In Scheme, all variables are lexical, so there is no way (short of eval) to obtain the value of a variable from the symbol that names it. 2018-10-09T13:50:27Z jcowan: There are imports and exports and all, but they are purely compile-time constructs. 2018-10-09T13:50:48Z Bike: i thought that was more because scheme has a separate module system, unlike CL 2018-10-09T13:50:54Z jcowan: Yes, exactly 2018-10-09T13:50:59Z luis joined #lisp 2018-10-09T13:51:28Z jcowan: But it has no runtime consequences, so symbols in Scheme exist purely as unique objects with one property, the name. 2018-10-09T13:52:01Z Bike: do the modules have anything to do with symbols 2018-10-09T13:52:05Z jcowan: (symbol->string 'foo) => "foo" and (eq? 'foo 'foo) => #t, and that's it 2018-10-09T13:52:07Z Bike: i thought they were more like environments 2018-10-09T13:52:19Z Bike: i.e. a binding of names to values 2018-10-09T13:52:27Z jcowan: Just so 2018-10-09T13:52:42Z nowhereman_ quit (Ping timeout: 264 seconds) 2018-10-09T13:52:51Z jcowan: There are also runtime environments for the use of eval, but they are not really first-class yet 2018-10-09T13:53:40Z ogamita: in scheme, symbols are just interned strings. 2018-10-09T13:53:47Z jcowan: (ogamita: it's more than just legalities, you cannot set up foo.mit.edu because the mit.edu DNS servers won't know about it.) 2018-10-09T13:53:55Z jcowan: ogamita: Exactly 2018-10-09T13:54:28Z ogamita: jcowan: I mean that if somebody uses your domain name outside the DNS, you have a good legal case against them. 2018-10-09T13:54:52Z pfdietz: CL has smashed together a number of different behaviors in its symbols. A lot of that is just tradition. 2018-10-09T13:54:59Z jcowan nods 2018-10-09T13:55:09Z ogamita: And actually, vice-versa. If you try to register a domain name from the name of an existing company or person that you're not entitled to legally, you may have problems keeping this domain name. 2018-10-09T13:55:22Z ogamita: (not enforced by ICAN, but by the judges). 2018-10-09T13:55:29Z jcowan: If I do make these packages for Scheme, the symbols won't have value/function cells, of course 2018-10-09T13:55:47Z Bike: packages aren't strictly related to that either 2018-10-09T13:55:51Z ogamita: But you can still implement symbol-value and symbol-function and symbol-plist. 2018-10-09T13:55:56Z ogamita: Just use hash-tables. 2018-10-09T13:55:59Z Bike: yeah 2018-10-09T13:56:01Z jcowan: Oh yes 2018-10-09T13:56:26Z ogamita: jcowan: this is the classic greenspunning. When you're not using Lisp, you're implementing lisp. 2018-10-09T13:56:34Z jcowan: However, there is no point in a value cell because changing it can't affect the behavior of existing code (that doesn't call symbol-value, obvs) 2018-10-09T13:56:53Z ogamita: There's (dynamic var) and dynamic-let in scheme. 2018-10-09T13:57:05Z jcowan: Not in the standard 2018-10-09T13:57:21Z jcowan: R7RS uses parameters, which are first-class dynamic variables 2018-10-09T13:57:27Z ogamita: jcowan: perhaps it would be more productive to implement an application useful to users in Common Lisp, rather than implementing another half-assed lisp in scheme…? 2018-10-09T13:57:32Z jcowan: (though admittedly most people don't use them in first-class ways) 2018-10-09T13:57:44Z beach: I guess I should figure out what to use symbol plists for in SICL, since I have first-class global environments and the plist is not contained in the symbol. 2018-10-09T13:57:47Z steiner joined #lisp 2018-10-09T13:58:07Z jcowan: Yes, well, I am the chair of the Scheme revision committee: writing CL packages is not in my remit. 2018-10-09T13:58:30Z Bike: beach: nothing sounds good to me 2018-10-09T13:58:37Z jcowan chuckles 2018-10-09T13:58:56Z beach: Bike: I might come to that conclusion, yes. :) 2018-10-09T13:59:02Z Bike: in a fresh sbcl there's a couple hundred symbols with plists, news to me 2018-10-09T13:59:08Z Bike: swank/backend apparently uses them 2018-10-09T13:59:29Z pfdietz: Huh. 2018-10-09T13:59:33Z Bike: as do sb-fasl and sb-x86-64-asm 2018-10-09T13:59:59Z Bike: ah, the swank defimplementation thing is through symbol plists 2018-10-09T14:00:07Z ogamita: jcowan: I would bet symbol plists are more used in unpublished (prototypal) lisp code than in published libraries :-) 2018-10-09T14:00:22Z jcowan: Sounds likely. 2018-10-09T14:00:53Z ogamita: jcowan: what's nice with lisp is that you have a lot of data structures and abstractiosn that you can quickly use at the repl to have fun (exploration programming), but that you would rewrite otherwise, more cleanly, for release. 2018-10-09T14:01:25Z dlowe: and then sprinkle with declarations for performance 2018-10-09T14:01:29Z adlai: is there a "hate on my code" version of the #RoastMe meme for CL? https://rosettacode.org/wiki/Fast_Fourier_transform#Common_Lisp 2018-10-09T14:01:52Z jcowan: My work is basically to add things carefully and systematically to Scheme with regard to utility 2018-10-09T14:02:50Z Bike: i don't think scheme needs packages. modules are probably a nicer way to go about things, though anything be compile time only is eh 2018-10-09T14:02:52Z cage_ joined #lisp 2018-10-09T14:02:57Z r1b joined #lisp 2018-10-09T14:03:08Z jcowan: e.g. sets, immutable (not persistent) lists, deques, generators, boxes, ephemerons, etc. 2018-10-09T14:03:15Z jcowan: to mention some that are already in 2018-10-09T14:03:24Z dlowe: adlai: mapcan #'mapcar seems like over-lisping 2018-10-09T14:03:34Z adlai: L: 2018-10-09T14:04:32Z jcowan: Bike: Scheme macros are already compile-time only (where I am using "compile-time" in the CL sense, not necessarily implying a compiler) 2018-10-09T14:04:40Z dlowe: as is `(,ffta ,ffta) instead of (list ffta ffta) 2018-10-09T14:04:53Z jcowan chuckles 2018-10-09T14:05:20Z jcowan: always modulo eval 2018-10-09T14:05:46Z dlowe: adlai: I like the destructuring loop, though 2018-10-09T14:06:16Z adlai: dlowe: yes yes... my annealing settled on (make-list 2 :initial-element (fft as)) (make-list 2 :initial-element (loop ...)) and that got rid of the let* 2018-10-09T14:06:46Z adlai: but i decided that (make-list 2 :initial-element ..) is a cardinal sin, and must not be ever used for any reason whatsoever 2018-10-09T14:06:48Z dlowe: (append (mapcar '+ a aux) (mapcar '- a aux)) seems sufficiently short and understandable not to be replaced 2018-10-09T14:06:55Z shka_: adlai: it would be better to simply write recursive implementation, imho 2018-10-09T14:07:01Z vibs29 quit (Ping timeout: 260 seconds) 2018-10-09T14:07:01Z jcowan: Bike: So in practice no one uses packages as a simple data structure either. 2018-10-09T14:07:02Z adlai: shka_: it is recursive! 2018-10-09T14:07:05Z dlowe: it is recursive 2018-10-09T14:07:33Z shka_: uh, right 2018-10-09T14:08:19Z adlai leaves the golf bit... people looking for CL code deserve to have their expectations stretched a little 2018-10-09T14:08:44Z vibs29 joined #lisp 2018-10-09T14:09:47Z adlai: another little funecdote: before switching from EXP to CIS, there was a (* #C(0 -2) pi) 2018-10-09T14:11:48Z jcowan: As part of this effort, I read the package chapter of the Chine Nual, and Zetalisp's package system was rather different, with single rather than multiple inheritance, 2018-10-09T14:11:50Z kuwze joined #lisp 2018-10-09T14:11:58Z adlai: my intermediate version used #C(0 #.pi) 2018-10-09T14:12:10Z jcowan: the ability to say "foo:bar:baz" (symbol baz in package bar subsidary to top-level package foo) 2018-10-09T14:12:40Z jcowan: and even 'foo:(bar baz zam) => (foo:bar foo:baz foo:zam) 2018-10-09T14:12:44Z dlowe: adlai: yeah, I noticed that. Good find. 2018-10-09T14:13:11Z Bike: eh? really? we're all extending things with package local nicknames and shit and it was in the chinual? golly. 2018-10-09T14:13:22Z Bike: sbcl does have foo::(whatever ...) syntax as an extention 2018-10-09T14:13:47Z jcowan: Yeah, Zetalisp is a direct predecessor of Common Lisp, but there are differences 2018-10-09T14:14:10Z jcowan: some unavoidable (the Chine Nual describes an implementation, the CLHS prescribes a standard) 2018-10-09T14:14:40Z jcowan: but it's interesting that the package name space was hierarchical 2018-10-09T14:14:41Z adlai: dlowe: ty! ... but it's good to know that the complex toolkit is comprehensive enough to make tricks like that unnecessary 2018-10-09T14:15:08Z jcowan: of course hierarchy wouldn't mean that use-package couldn't exist (although in fact it didn't until Zetalisp imported a lot of CL stuff in its last stage) 2018-10-09T14:15:26Z jcowan: anyway, thanks for the input, all 2018-10-09T14:15:29Z jcowan quit (Quit: This computer has gone to sleep) 2018-10-09T14:18:49Z shka_: hierarchical packages should be have been incorporated into CL 2018-10-09T14:18:53Z shka_: {/ 2018-10-09T14:21:20Z adlai wonders why https://rosettacode.org/wiki/Quaternion_type#Common_Lisp was done with a class rather than a 2-element array of complexes 2018-10-09T14:22:52Z Shinmera: because type aliasing is bad 2018-10-09T14:23:17Z Shinmera: and also I don't see why you'd use complexes 2018-10-09T14:24:22Z adlai: quaternion operations can be expressed concisely as operations on an ordered pair of complex numbers (aka "cayley-dickson construction") 2018-10-09T14:25:57Z adlai liked John Baez's explanation of this: http://math.ucr.edu/home/baez//week59.html 2018-10-09T14:26:18Z Shinmera: Neat 2018-10-09T14:27:06Z dlowe: That seems unambiguously better if you can use complexes because then you benefit from the compiler-level complex number optimizations 2018-10-09T14:27:38Z adlai reminds himself to revisit his list of complaints about the CL type system once he has completed another year of school 2018-10-09T14:27:39Z Shinmera: Are those optimised a lot in practise, though? 2018-10-09T14:28:01Z Shinmera: And even then still, I'd not use an array and instead a struct. 2018-10-09T14:28:41Z shka_: biginteger sbcl question 2018-10-09T14:28:44Z adlai: the advantage of a struct (or class) is obvious in the later part of that example, with the method dispatch 2018-10-09T14:29:06Z Shinmera: It's also better simply because you get a distinct type 2018-10-09T14:29:08Z shka_: if i have biginteger and i attempt to setf ldb 2018-10-09T14:29:35Z shka_: my assumption is that no implementation in such case would actually require extra memory allocated 2018-10-09T14:29:37Z Bike: numbers are immutable. 2018-10-09T14:29:45Z Bike: it might copy 2018-10-09T14:30:12Z shka_: uh, ok 2018-10-09T14:30:26Z shka_: is it possible to avoid making a copy? 2018-10-09T14:31:01Z shka_: other then use bit-array 2018-10-09T14:31:03Z dlowe: adlai: complaining about CL is a very popular exercise in futility 2018-10-09T14:31:08Z Shinmera: (setf (ldb b o) n) is (almost) the same as (setf o (dpb n b o)) 2018-10-09T14:31:21Z frgo quit (Remote host closed the connection) 2018-10-09T14:31:30Z shka_: Shinmera: yeah, i understand 2018-10-09T14:31:44Z frgo joined #lisp 2018-10-09T14:31:49Z frgo quit (Remote host closed the connection) 2018-10-09T14:32:06Z Bike: if the compiler doesn't optimize it i don't think there's much to be done 2018-10-09T14:32:11Z shka_: i am just trying to figure out if there is any way to avoid actually making copy of potentially huge byte 2018-10-09T14:32:18Z frgo joined #lisp 2018-10-09T14:32:29Z adlai: dlowe: i'd say that it keeps people out of worse trouble, but in here, complaining about CL is the worst kind of trouble :) 2018-10-09T14:32:32Z Shinmera: use libgmp :v 2018-10-09T14:32:47Z Bike: i mean besides bit arrays 2018-10-09T14:32:53Z Bike: which have explicitly in-place operations 2018-10-09T14:33:03Z shka_: Bike: do you have any idea when compiler is actually able to optimize this? 2018-10-09T14:33:19Z shka_: Shinmera: i don't wanna, though :( 2018-10-09T14:33:29Z Shinmera: shka_: It was a joke anyway 2018-10-09T14:33:48Z Bike: well it's able to when the old value isn't used afterward 2018-10-09T14:33:56Z Bike: i don't know if any compiler actually checks 2018-10-09T14:34:06Z orivej quit (Ping timeout: 268 seconds) 2018-10-09T14:34:07Z shka_: ok, that does not help 2018-10-09T14:34:30Z shka_: well, i will try bit-arrays 2018-10-09T14:34:45Z shka_: if ONLY bit-arrays would work with ldb 2018-10-09T14:34:53Z shka_: it would make life so much easier 2018-10-09T14:35:14Z FreeBirdLjj joined #lisp 2018-10-09T14:35:20Z shka_: actually, i will write my own ldb for bit-arrays 2018-10-09T14:35:36Z shka_: this seems to be the right thing to do 2018-10-09T14:36:42Z frgo quit (Ping timeout: 252 seconds) 2018-10-09T14:37:17Z vtomole joined #lisp 2018-10-09T14:39:09Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-09T14:39:39Z elfmacs quit (Ping timeout: 252 seconds) 2018-10-09T14:41:59Z kuwze quit (Ping timeout: 256 seconds) 2018-10-09T14:44:14Z nowhereman_ joined #lisp 2018-10-09T14:47:04Z jack_rabbit quit (Ping timeout: 240 seconds) 2018-10-09T14:49:26Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-10-09T14:51:03Z cl-arthur joined #lisp 2018-10-09T14:53:17Z ogamita quit (Ping timeout: 244 seconds) 2018-10-09T14:54:59Z dkrm quit (Quit: WeeChat 2.2) 2018-10-09T14:55:07Z kajo joined #lisp 2018-10-09T15:00:35Z asymptotically joined #lisp 2018-10-09T15:07:53Z jcowan joined #lisp 2018-10-09T15:11:21Z igemnace quit (Ping timeout: 252 seconds) 2018-10-09T15:19:46Z shrdlu68: What if the you ldb a setf'able place, like a vector. 2018-10-09T15:21:58Z beach: shrdlu68: (setf ldb) takes a place. 2018-10-09T15:22:02Z beach: Is that what you mean? 2018-10-09T15:22:14Z shrdlu68: I mean would it avoid making a copy? 2018-10-09T15:22:43Z beach: shrdlu68: As many people pointed out, numbers are immutable. 2018-10-09T15:22:48Z beach: Luckily. 2018-10-09T15:27:41Z beach: I guess you don't agree. 2018-10-09T15:27:45Z quazimodo quit (Ping timeout: 268 seconds) 2018-10-09T15:29:05Z quazimodo joined #lisp 2018-10-09T15:29:10Z Bike: it would be nice if you could convert bit arrays to integers and back without consing, though 2018-10-09T15:29:42Z russellw joined #lisp 2018-10-09T15:29:52Z lnostdal joined #lisp 2018-10-09T15:30:01Z beach: How would that work? 2018-10-09T15:31:31Z Bike: something like (setf (bit-ldb byte vector) n) where it takes bits from n, i guess 2018-10-09T15:31:31Z rippa joined #lisp 2018-10-09T15:31:39Z zfree quit (Remote host closed the connection) 2018-10-09T15:32:15Z beach: If there is no consing, you would effectively have mutable numbers. 2018-10-09T15:32:51Z beach: In fact, you would have change-class on numbers. 2018-10-09T15:33:17Z Bike: no, no, not that. 2018-10-09T15:34:07Z Bike: immutable numbers would almost certainly be bad yeah. 2018-10-09T15:34:34Z beach: mutable 2018-10-09T15:35:12Z Bike: er. yes. 2018-10-09T15:35:37Z Shinmera: he means mutating the bit-vector through the ldb interface 2018-10-09T15:35:53Z beach: Ah. 2018-10-09T15:36:34Z beach: That doesn't sound the same as "convert bit arrays to integers and back without consing". 2018-10-09T15:36:55Z Bike: well, it's part of an integer into part of a vector 2018-10-09T15:37:05Z beach: OK. 2018-10-09T15:37:06Z Bike: i could have described it better though 2018-10-09T15:42:15Z eagleflo joined #lisp 2018-10-09T15:43:48Z shrdlu68 quit (Ping timeout: 252 seconds) 2018-10-09T15:48:15Z Josh_2 quit (Read error: Connection reset by peer) 2018-10-09T15:48:15Z flamebeard quit 2018-10-09T15:48:24Z asymptotically quit (Quit: Leaving) 2018-10-09T15:48:29Z varjag joined #lisp 2018-10-09T15:53:43Z vtomole quit (Quit: Page closed) 2018-10-09T16:02:06Z JohnMS quit (Read error: Connection reset by peer) 2018-10-09T16:03:53Z Copenhagen_Bram quit (Remote host closed the connection) 2018-10-09T16:05:31Z sjl joined #lisp 2018-10-09T16:05:56Z Copenhagen_Bram joined #lisp 2018-10-09T16:07:15Z LiamH joined #lisp 2018-10-09T16:15:07Z igemnace joined #lisp 2018-10-09T16:17:47Z kdas_ joined #lisp 2018-10-09T16:18:48Z robotoad quit (Ping timeout: 245 seconds) 2018-10-09T16:18:49Z kushal quit (Ping timeout: 256 seconds) 2018-10-09T16:19:47Z robotoad joined #lisp 2018-10-09T16:20:07Z zigpaw quit (Remote host closed the connection) 2018-10-09T16:23:15Z steiner left #lisp 2018-10-09T16:32:22Z jcowan quit (Quit: This computer has gone to sleep) 2018-10-09T16:34:08Z pjb joined #lisp 2018-10-09T16:35:43Z nirved joined #lisp 2018-10-09T16:35:58Z kajo quit (Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.) 2018-10-09T16:36:29Z kajo joined #lisp 2018-10-09T16:41:18Z siraben quit (Ping timeout: 264 seconds) 2018-10-09T16:41:55Z ravndal joined #lisp 2018-10-09T16:41:59Z frodef quit (Ping timeout: 276 seconds) 2018-10-09T16:42:44Z hhdave quit (Ping timeout: 272 seconds) 2018-10-09T16:43:13Z m3tti joined #lisp 2018-10-09T16:46:04Z Sauvin quit (Ping timeout: 246 seconds) 2018-10-09T16:51:25Z zigpaw joined #lisp 2018-10-09T17:01:07Z FreeBirdLjj quit (Read error: Connection timed out) 2018-10-09T17:01:23Z sauvin_ joined #lisp 2018-10-09T17:01:58Z FreeBirdLjj joined #lisp 2018-10-09T17:10:42Z cl-arthur quit (Quit: Lost terminal) 2018-10-09T17:11:18Z m3tti quit (Ping timeout: 252 seconds) 2018-10-09T17:12:06Z ggole quit (Quit: ggole) 2018-10-09T17:13:13Z zfree joined #lisp 2018-10-09T17:13:54Z siraben joined #lisp 2018-10-09T17:14:20Z asymptotically joined #lisp 2018-10-09T17:14:52Z roshanavand joined #lisp 2018-10-09T17:14:54Z m00natic quit (Read error: Connection reset by peer) 2018-10-09T17:20:56Z frodef joined #lisp 2018-10-09T17:24:43Z rk[ghost] joined #lisp 2018-10-09T17:25:11Z rk[ghost]: hey all. i have a hunchentoot server that i run in sbcl (or ccl/armcl) 2018-10-09T17:25:58Z rk[ghost]: typically, i have a wrapper script that creates a named gnuscreen, calls the interpreter, loads the program and then detaches 2018-10-09T17:26:18Z rk[ghost]: the box this server is runnign on consistently now has poweroutages 2018-10-09T17:26:26Z sjl quit (Ping timeout: 272 seconds) 2018-10-09T17:26:36Z rk[ghost]: as such, i thought to openrc-i-fy my script 2018-10-09T17:26:45Z rk[ghost]: which i presume i need to daemonize and log now? (any good libs for this) 2018-10-09T17:27:00Z rk[ghost]: however, i want to be able to attach to the interpreter to make tweaks to the running program 2018-10-09T17:27:13Z rk[ghost]: how do ya'll handle lisp-interpreter based server programs and such? 2018-10-09T17:27:21Z Shinmera: why do that when you can load swank and connect via your local emacs 2018-10-09T17:27:21Z rk[ghost]: any thoughts appreciated. even bully ones. 2018-10-09T17:27:38Z rk[ghost]: luckily, i am too far for you to throw dung 2018-10-09T17:27:40Z rk[ghost]: i don't emacs 2018-10-09T17:27:47Z rk[ghost]: maybe it is time i ought to give in. 2018-10-09T17:27:59Z rk[ghost]: anyhoot, unfamiliar with swank as well. 2018-10-09T17:28:18Z rk[ghost]: i have a handful of wrapper scripts around tmux and screen 2018-10-09T17:28:35Z rk[ghost]: so it is usual for me for any program i have, to create a named screen for it 2018-10-09T17:28:57Z rk[ghost]: irssi, mutt, w3m, armcl, ect.. 2018-10-09T17:29:25Z rk[ghost]: (some ancient thoughts are coming) 2018-10-09T17:29:30Z rk[ghost]: i think i made my own hacky swank like thing 2018-10-09T17:29:43Z rk[ghost]: i once wrote a script for vim (/me hides) that copied a line 2018-10-09T17:29:49Z rk[ghost]: and sent the keystrokes to a named screen 2018-10-09T17:31:32Z emaczen quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-10-09T17:35:04Z pjb: can't you just call this script from /etc/rc.local ? 2018-10-09T17:35:08Z pjb: This is what I do… 2018-10-09T17:35:15Z LdBeth: Good morning 2018-10-09T17:36:16Z |3b| just adds batteries if power is unreliable :p 2018-10-09T17:36:45Z pjb: rk[ghost]: using a private irc server and irc clients to connect to your program may be a nice way to do it. 2018-10-09T17:36:45Z m3tti joined #lisp 2018-10-09T17:36:54Z rk[ghost]: |3b|: stop it with your nonsense logical solutions! 2018-10-09T17:37:18Z pjb: rk[ghost]: however, if you prefer a directly connected REPL, you can either use slime/swank, or add a telnet server (or ssh server) in your CL programs. 2018-10-09T17:37:27Z rk[ghost]: hmm^ 2018-10-09T17:37:28Z pjb: rk[ghost]: this is why I implemented the telnet protocol. 2018-10-09T17:37:34Z rk[ghost]: i do prefer a directly connected REPL 2018-10-09T17:37:40Z rk[ghost]: however, maybe that is just a habit thing 2018-10-09T17:37:49Z LdBeth: Some VPS provider just forbids irc 2018-10-09T17:37:50Z rk[ghost]: and i would like the other solutions more, after familiarizing myself 2018-10-09T17:37:58Z rk[ghost]: pjb: ah, hmm. 2018-10-09T17:38:11Z rk[ghost]: anyone else every manually IRC'd with telnet?? 2018-10-09T17:38:15Z rk[ghost]: ever* 2018-10-09T17:38:16Z pjb: rk[ghost]: you can also provide a REPL directly on a socket, but telnet or irc provide better terminal interfaces. 2018-10-09T17:38:32Z LdBeth: rk[ghost] (IRC): I did 2018-10-09T17:38:35Z rk[ghost]: pjb: well, for one project, i just made an IRC bot that directly connects to a REPL 2018-10-09T17:38:38Z pjb: rk[ghost]: you could do that, but you'd have to know the IRC protocol :-) 2018-10-09T17:38:39Z rk[ghost]: so i can lisp over IRC 2018-10-09T17:38:46Z rk[ghost]: pjb: oh i know. i have done it before 2018-10-09T17:38:49Z pjb: irc clients are nice; there are several of them running in emacs. 2018-10-09T17:38:52Z rk[ghost]: curious if anyone else was that sadistic. 2018-10-09T17:39:30Z LdBeth: IRC protocol is easy 2018-10-09T17:39:43Z rk[ghost]: pjb: my private irc server / client is running onthe same box as the hunchentoot server ;P 2018-10-09T17:40:00Z pjb: This is nice. 2018-10-09T17:40:17Z rk[ghost]: OK thanks for some ideas. my mind is only half in computers/lisp today 2018-10-09T17:40:20Z rk[ghost]: it is soooo nice outside. 2018-10-09T17:40:38Z rk[ghost]: so, i will think on these little thoguhts for now and be back after i poke around i nthe evening. 2018-10-09T17:40:44Z rk[ghost]: THANK YOU ALL 2018-10-09T17:40:47Z sjl joined #lisp 2018-10-09T17:41:04Z rk[ghost]: i still don't understand why people don't lisp. such a helpful community... 2018-10-09T17:41:25Z pjb: Have a look at: https://github.com/informatimago/lisp/tree/master/common-lisp/telnet 2018-10-09T17:42:19Z rk[ghost]: at this point, lisp has a robust set of libraries, an active and helpful community, and runs on just about any device 2018-10-09T17:42:27Z rk[ghost]: oh 2018-10-09T17:42:37Z rk[ghost]: and it has this funny advantage that 7 year old programs are still working just fine and dandy 2018-10-09T17:42:46Z rk[ghost]: why come people don't lisp, eh!? 2018-10-09T17:43:07Z rk[ghost]: pjb: thank you! i once wrote my own telnet like program in Erlang 2018-10-09T17:43:24Z rk[ghost]: except mine had its own bs protocol i made up 2018-10-09T17:43:33Z rk[ghost]: essentially a simple, send commands over a port 2018-10-09T17:43:34Z scymtym quit (Ping timeout: 240 seconds) 2018-10-09T17:43:39Z pjb: rk[ghost]: it could work better on mobile OSes. 2018-10-09T17:43:43Z pjb: (iOS and Android). 2018-10-09T17:43:53Z rk[ghost]: my main rig is a Novena 2018-10-09T17:44:13Z rk[ghost]: it is a laptop, but it is armv7.. so it (for most purposes) acts like a mobile-OSy device 2018-10-09T17:44:25Z rk[ghost]: web browsers tend to think i am a phone XD 2018-10-09T17:44:55Z rk[ghost]: the difference with my telnet-like program i made for Erlang was, i used public/private keys 2018-10-09T17:45:11Z rk[ghost]: and dropped messages that weren't signed by known users 2018-10-09T17:46:04Z pjb: Yes. Currently I haven't implemented security options yet. 2018-10-09T17:46:46Z LdBeth: Probably could solve by a TLS program 2018-10-09T17:47:23Z rk[ghost]: pjb: security is something always at the bottom of my interests 2018-10-09T17:47:36Z rk[ghost]: however, for that project i decided to give in to learn more about public/private keys and such and such 2018-10-09T17:47:49Z pjb: For personal use. But as soon as you have customers, this is a subject, nowadays. 2018-10-09T17:47:52Z rk[ghost]: i have a feeling, i could probably wrap your telnet script with my erlang script in some way 2018-10-09T17:48:08Z rk[ghost]: pjb: aye. i design things for a world that doesn't exist 2018-10-09T17:48:17Z rk[ghost]: the peaceful happy world of sharing and caring world hackers. 2018-10-09T17:48:57Z rk[ghost]: @security options, is there already a robust library (CL) for public/private keys and md5s and such? 2018-10-09T17:51:26Z m3tti quit (Remote host closed the connection) 2018-10-09T17:51:44Z m3tti joined #lisp 2018-10-09T17:51:58Z nsrahmad joined #lisp 2018-10-09T17:52:28Z LdBeth: https://github.com/sharplispers/ironclad 2018-10-09T17:52:55Z LdBeth: rk[ghost]: it’s a encryption library 2018-10-09T17:55:11Z rk[ghost]: LdBeth: yaay, thanks 2018-10-09T17:55:40Z makomo joined #lisp 2018-10-09T17:56:29Z rk[ghost]: pjb: err, what exactly does rc.local suppose to do? 2018-10-09T17:57:15Z rk[ghost]: (i like and run gentoo, but never spent much time to understand openrc beyond running the commands to add an init script to the boot order) 2018-10-09T17:57:32Z rk[ghost]: if the question is inappropriate for this channel, lemme know 2018-10-09T17:57:49Z jack_rabbit joined #lisp 2018-10-09T17:57:59Z rk[ghost]: just trying to get armcl programs wrapped up as servers that are spawn / managed by openrc with terminal connectivity available and good logging 2018-10-09T17:58:17Z rk[ghost]: and the system of my choice is Gentoo running on an armv7 device (for now) 2018-10-09T18:00:12Z LdBeth: Basic people invented rc.local to avoid mess up the main rc file 2018-10-09T18:00:37Z LdBeth: So it’s the same as append something to rc 2018-10-09T18:03:18Z LdBeth: But what people supposed to do is write OpenRC scripts in init.d, so one can rc-service stop/start/restart them 2018-10-09T18:04:03Z m3tti quit (Ping timeout: 252 seconds) 2018-10-09T18:04:35Z pjb: rk[ghost]: usually the boot scripts will source rc.local at the end of the boot process, to let you start local daemons. 2018-10-09T18:05:03Z pjb: rk[ghost]: of course, nowadays you have stuff like systemd and launchd, but nothing beats the simplicity and resilience of the simple rc.local script. 2018-10-09T18:05:38Z pjb: I guess openrc is as dumb as systemd and launchd… 2018-10-09T18:06:38Z LdBeth: Well, OpenRC is an add on to standard Unix rc script utility. 2018-10-09T18:06:50Z pjb: So perhaps better than systemd. 2018-10-09T18:07:23Z pjb: Unix system administration was so simple… 2018-10-09T18:09:57Z ebzzry joined #lisp 2018-10-09T18:11:36Z rk[ghost]: pjb: aye. systemd gives me troubles. my laptop has it and :| 2018-10-09T18:11:50Z rk[ghost]: but for the raspberry-pi server i have.. i was smart and installed Gentoo / openrc 2018-10-09T18:11:52Z rk[ghost]: wahooo! 2018-10-09T18:12:20Z rk[ghost]: my laptop is running Debian 2018-10-09T18:12:27Z rk[ghost]: once i save up enough money for another harddrive 2018-10-09T18:12:34Z nsrahmad left #lisp 2018-10-09T18:12:36Z rk[ghost]: i plan to do a MUCH overdue reformat of my system 2018-10-09T18:12:48Z rk[ghost]: and apparently there is Devuan? which is systemdless Debian 2018-10-09T18:12:53Z rk[ghost]: anyhoot, sorry to digress 2018-10-09T18:13:07Z rk[ghost]: pjb: thanks for clarifying. 2018-10-09T18:13:58Z rk[ghost]: my system seems to use multiple directories for rcs 2018-10-09T18:14:17Z rk[ghost]: like how cron handles things. 2018-10-09T18:17:06Z jasom: pjb: OpenRC is classic RC with a few new features; it also consists of a wrapper for the shell scripts (openrc-run) to simplify things a bit (e.g. no need to source a bunch of libraries in your init scripts) 2018-10-09T18:18:59Z rk[ghost]: LdBeth: ah, that is the path i was attempting the other day. creating my script in init.d 2018-10-09T18:19:14Z rk[ghost]: anyhoot, i realize i need to rework how my program works as it wasn't designed to be daemonized 2018-10-09T18:19:32Z rk[ghost]: i mean, i sually run the screen wrapper script to boot the program, which loads everything up 2018-10-09T18:19:36Z rk[ghost]: and then waits for me to type 2018-10-09T18:19:38Z frodef quit (Ping timeout: 272 seconds) 2018-10-09T18:19:54Z rk[ghost]: (server:boot) 2018-10-09T18:20:23Z rk[ghost]: thso my step one of "daemonizing" was just to add that last line to my .lisp :P 2018-10-09T18:20:43Z rk[ghost]: OK, thanks all. i will be back soon with more ?s. and maybe even an answer. 2018-10-09T18:21:46Z rk[ghost]: pjb: at "unix system administration was so simple".. makes me think of Solaris 2018-10-09T18:21:53Z rk[ghost]: gee did they make good sysadmin tools. 2018-10-09T18:24:38Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-09T18:24:45Z jasom: rk[ghost]: there is a helper to daemonize programs and generate a pid file &c. 2018-10-09T18:24:53Z sauvin_ quit (Read error: Connection reset by peer) 2018-10-09T18:25:21Z jasom: I think it's called "daemonize" 2018-10-09T18:25:31Z rk[ghost]: hmm, now i am curious. waht would be advantage of adding telnet server (or ssh prgram to CL program) vs. sshing to box and connecting to screen? 2018-10-09T18:26:06Z jasom: rk[ghost]: I think screen/tmux/dtach are all better than adding a server since you get scrollback and other features already. 2018-10-09T18:26:26Z rk[ghost]: aye, i would concur with this at first thoughts as well 2018-10-09T18:26:31Z rk[ghost]: not sure if was missing something:P 2018-10-09T18:26:45Z rk[ghost]: i wrote a couple cool wrapper scripts around tmux and screen to make something fun 2018-10-09T18:27:01Z jasom: though I also strongly suggest having a logfile; there's a couple of decent logging libraries for lisp that will do things like log rotation for you. 2018-10-09T18:27:10Z rk[ghost]: jasom: great point. 2018-10-09T18:27:19Z rk[ghost]: i also concur that i should have gotten on that train long ago 2018-10-09T18:27:37Z rk[ghost]: i once came across logstach? too. which was interesting as iirc it does like a ETL for log files 2018-10-09T18:27:52Z rk[ghost]: to create master log files for cross comparison and reformats them all so that they match 2018-10-09T18:28:37Z rk[ghost]: jasom: @daemonize, thanks. investigating. 2018-10-09T18:28:42Z jasom: log4cl is easy to get setup with, but after using it I find it to be a bit janky on the implementation side; IIRC Shinmera has a logging library that I've been meaning to look into, but I haven't written a daemon since making that decision 2018-10-09T18:28:45Z scymtym joined #lisp 2018-10-09T18:28:59Z jasom: rk[ghost]: if you're going to have a REPL via screen then not really a need for daemonize 2018-10-09T18:29:22Z rk[ghost]: is there also an error handling library people tend to use.. or is it just all custom jazz? 2018-10-09T18:29:23Z jasom: rk[ghost]: though I do recommend writing out a PID file if you are using OpenRC; it makes it a lot happier. 2018-10-09T18:29:28Z rk[ghost]: jasom: right right. 2018-10-09T18:29:34Z jasom: rk[ghost]: define error handling 2018-10-09T18:29:42Z rk[ghost]: i realized that daemonizing probably isn't want i want as it contradicts screenifying 2018-10-09T18:29:54Z rk[ghost]: however, i need to set up something such taht there are init script that properly start my stuffs 2018-10-09T18:29:57Z jasom: if you want to do things like log backtraces on unexpected conditions, dissect is good 2018-10-09T18:30:26Z jasom: rk[ghost]: screen has a command line option to start in the background, that will be helpful 2018-10-09T18:30:51Z rk[ghost]: aye. i also have wrapper scripts to send keystrokes to the background screens 2018-10-09T18:31:16Z rk[ghost]: dissect, roger, thanks. 2018-10-09T18:31:38Z jasom: rk[ghost]: I've done the send-keys trick before, but I recommend instead having a shell script that starts everything, and telling screen to run that from the command-line 2018-10-09T18:31:40Z rk[ghost]: @writing out a pidfile.. err i understand this on the surface. but when i think about going about that, my mind becomes murky 2018-10-09T18:33:24Z jasom: rk[ghost]: if you're using sbcl: (with-open-file (pidfile "/path/to/pidfile" :direction :output :if-exists :supersede)(format pidfile "~A~%"(sb-posix:getpid))) 2018-10-09T18:33:34Z space_otter joined #lisp 2018-10-09T18:34:04Z jasom: if not sbcl, figure out how to get the pid (a CFFI wrapper for getpid is relatively easy to write on the chance your implementation doesn't provide it). 2018-10-09T18:34:07Z rk[ghost]: aye, for my irc bot i have something like : 66.61.32.99:1990/share/robit.sh 2018-10-09T18:34:46Z rk[ghost]: jasom: unfornately the folks of sbcl don't give a hoot about my 32bit arm system 2018-10-09T18:34:50Z rk[ghost]: ;P 2018-10-09T18:35:02Z rk[ghost]: so, i use CCL/armcl (they gots multithread support!!) 2018-10-09T18:35:17Z jasom: rk[ghost]: ccl::getpid 2018-10-09T18:35:17Z rk[ghost]: jasom: oi. thanks VERY much. 2018-10-09T18:35:21Z rk[ghost]: :D 2018-10-09T18:35:24Z rk[ghost]: doubly thanks 2018-10-09T18:35:41Z rk[ghost]: gee, now i feel bad as ya'll are too helpful and i am being lazy here just asking questiosn and not programming 2018-10-09T18:36:04Z jasom: some unix system calls are very hard to wrap, getpid is very easy to wrap, so most lisps have it somewhere internal, if not exported. 2018-10-09T18:36:09Z rk[ghost]: anyhoot, very cool. this all gives me some things to play with. i think i may try multiple ones just to know for myself which seems to work more 2018-10-09T18:36:28Z rk[ghost]: but learning to pidify/openrcify and log my programs correctly all seem worthwhile in the end 2018-10-09T18:36:45Z rk[ghost]: and the telnet thing, i can see how to this could be handy for other things 2018-10-09T18:37:05Z rk[ghost]: aye, the way i do things can be confusing to the system 2018-10-09T18:37:30Z rk[ghost]: got lisp program running in the interpreter, which was spawned from a sh wrapped in rlwrap 2018-10-09T18:37:33Z rk[ghost]: XD 2018-10-09T18:37:42Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-09T18:37:53Z jasom: cool; ironically enough, even though I run gentoo I use daemontools for running my lisp daemons, because all you need to do for that is provide a script to run, and it will run it as a given user and log stdout/stderr to rotating timestamped logs for you. It will *not* work well with the screen trick though because it assumes a single pid for the daemon. 2018-10-09T18:38:24Z jasom: I either don't provide a repl, or run a swank daemon on a unix socket for getting interactivity. 2018-10-09T18:39:10Z jasom: does swank exist for armcl? You could ssh forward a port to connect remotely if it does. 2018-10-09T18:42:10Z shifty joined #lisp 2018-10-09T18:42:21Z rk[ghost]: hmm. 2018-10-09T18:42:23Z Copenhagen_Bram joined #lisp 2018-10-09T18:43:03Z rk[ghost]: i see if i am to move forward with lisping, i thnk it may finally be time to install emacs/evil + swank, eh? 2018-10-09T18:45:01Z didi joined #lisp 2018-10-09T18:47:13Z didi left #lisp 2018-10-09T18:48:33Z jcowan joined #lisp 2018-10-09T18:49:57Z jasom: rk[ghost]: I recommend it. Even if you only use swank as a REPL it's worth it (I used vim for editing lisp code and slime for REPL/debugging for years before moving to emacs/evil). 2018-10-09T18:51:31Z rk[ghost]: ah, aye. 2018-10-09T18:51:41Z rk[ghost]: my first use of emacs tainted it a bit for me 2018-10-09T18:52:03Z rk[ghost]: i was aware that it wasn't emacs's fault, but i let it slide that way anyway 2018-10-09T18:52:17Z rk[ghost]: (first use was in college. it was some old xemacs and no one taught me how to configure it) 2018-10-09T18:52:22Z rk[ghost]: so it was just all default settigns 2018-10-09T18:52:29Z rk[ghost]: and was an absurd beast to weild 2018-10-09T18:52:48Z rk[ghost]: then someone showed me 'vi' and i instantly was hooked thinking all program should work like that 2018-10-09T18:53:07Z rk[ghost]: and to this day, i have vi-like input on my terminals, in my irc client. i use pentadactyl in the browser, ect. 2018-10-09T18:53:27Z rk[ghost]: imo, there is 100 keys on my keyboard. so if i do less than 100 tasks, i should never press more than a single button at a time to do anything 2018-10-09T18:53:42Z rk[ghost]: OK, again, mostly useless but i apologize for disgression. 2018-10-09T18:53:47Z rk[ghost]: thanks very very much jasom 2018-10-09T18:54:49Z rk[ghost]: hmm, using emacs/evil+swank should nix my need for rlwrap 2018-10-09T18:58:11Z jasom: rk[ghost]: indeed 2018-10-09T18:58:47Z aindilis quit (Remote host closed the connection) 2018-10-09T18:59:17Z asymptotically quit (Quit: Leaving) 2018-10-09T18:59:31Z jasom: rk[ghost]: I have a few customizations to evil for ding lispy things; I'll see if I can dig them up and paste them. A big one is getting M-. (slime's jump to definition shortcut) to work in normal mode since I don't use the corresponding vim key combination ever. 2018-10-09T19:00:18Z aindilis joined #lisp 2018-10-09T19:00:49Z myrmidon joined #lisp 2018-10-09T19:03:41Z russellw: I'm trying to do this: (loop for (a . more) on s with b = (car more) ...) but it's not working; b is always nil. What am I doing wrong? 2018-10-09T19:04:15Z orivej joined #lisp 2018-10-09T19:05:34Z |3b|: with is evaluated before for 2018-10-09T19:05:47Z space_otter quit (Remote host closed the connection) 2018-10-09T19:06:21Z Bike: maybe you mean for b = (car more) 2018-10-09T19:06:45Z m3tti joined #lisp 2018-10-09T19:08:18Z russellw: ah! thanks 2018-10-09T19:08:51Z Bike: like 3b said, 'with' is more for one time outer bindings 2018-10-09T19:10:25Z russellw: But not strictly? I did use 'with' in another loop for something that would be every time around the loop, and it worked 2018-10-09T19:11:04Z russellw: (loop with c = (read-char) collect c until ..) ; this works 2018-10-09T19:11:11Z rk[ghost]: jasom: ah very cool. i would appreciate your efforts. 2018-10-09T19:11:44Z |3b|: shouldn't work, unless it triggers UNTIL on first iteration or has some other termination clause 2018-10-09T19:11:54Z Bike: yeah, i basically don't believe you. 2018-10-09T19:12:47Z |3b| gets an infinite loop when i tries 2018-10-09T19:12:50Z |3b|: *tried 2018-10-09T19:13:05Z |3b|: or maybe try. wording is hard 2018-10-09T19:13:15Z russellw: ... oh wait. That section of code is the section that just handles block comments, and I haven't tested those yet. So I guess you're probably right and it actually doesn't work, I just don't know it yet 2018-10-09T19:13:51Z russellw changes it to 'for' 2018-10-09T19:16:14Z Denommus joined #lisp 2018-10-09T19:23:04Z cage_ quit (Quit: Leaving) 2018-10-09T19:27:48Z knicklux joined #lisp 2018-10-09T19:36:09Z ACE_Recliner_ joined #lisp 2018-10-09T19:37:45Z ACE_Recliner_ quit (Client Quit) 2018-10-09T19:38:08Z ACE_Recliner joined #lisp 2018-10-09T19:47:21Z orivej quit (Ping timeout: 252 seconds) 2018-10-09T19:47:56Z orivej joined #lisp 2018-10-09T19:58:36Z ACE_Recliner_ joined #lisp 2018-10-09T19:59:36Z m3tti quit (Remote host closed the connection) 2018-10-09T19:59:39Z jcowan: I have in fact been thinking about integers-as-bits vs. bitvectors-as-bits. There is a substantial library of integers-as-bits functions, similar to CL's but more extensive. 2018-10-09T19:59:55Z m3tti joined #lisp 2018-10-09T19:59:56Z jcowan: There is as yet no corresponding lib for bit operations backed by bitvectors. 2018-10-09T20:00:37Z jcowan: I am trying to decide whether I should propose a bitvector function for every integer function (indeed two, one non-destructive and one destructive), 2018-10-09T20:00:42Z ACE_Recliner quit (Ping timeout: 244 seconds) 2018-10-09T20:00:47Z ACE_Recliner_ is now known as ACE_Recliner 2018-10-09T20:00:52Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-10-09T20:00:52Z jcowan: or if there is some principled way of reducing the library. 2018-10-09T20:03:03Z pierpal joined #lisp 2018-10-09T20:03:06Z |3b|: clhs bit-and 2018-10-09T20:03:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_bt_and.htm 2018-10-09T20:03:39Z |3b|: ^ and subseq cover a lot of them 2018-10-09T20:04:34Z |3b|: and subseq is an accessor like LDB, so you can SETF it 2018-10-09T20:04:48Z |3b|: though a bit harder since you need to match the size 2018-10-09T20:05:17Z |3b|: easy/fast translation between bitvectors/ints would be nice though 2018-10-09T20:06:14Z jcowan: I don't see how it can be fast without incurring mutable numbers, unless you are talking about immutable bit vectors (in which case they might as well be numbers) 2018-10-09T20:06:28Z |3b|: hmm, those work on arbitrary dimensions, hadn't realized that 2018-10-09T20:06:58Z |3b|: no, i just mean being able to (setf (subseq bit-vector 10 20) (bits-from-int 3)) or similar 2018-10-09T20:07:57Z |3b|: instead of (setf (subseq bit-vector 10 20) #b000000011) or however many 0 that should be, and even worse if it is a variable 2018-10-09T20:09:12Z jcowan: I agree that packaging int->bitvector and bitvector->int make sense, but you have to accept the memory allocation penalty 2018-10-09T20:09:20Z |3b|: sure 2018-10-09T20:10:01Z jcowan: Because they are purely bitwise, there is no reason why they should be limited to 1d bitvectors 2018-10-09T20:10:02Z |3b|: i guess bit-* is missing destructive versions 2018-10-09T20:10:09Z jasom: it should be pretty easy to write a setf expander that lets you use a bytespec on a bit-vector; then you can do (setf (bit-ldb bit-vector (byte 10 10)) (ldb (integer 10 10))) 2018-10-09T20:11:38Z jasom: you can use the subseq format alternatively, but I would personally prefer the ldb format for things as that makes both sides of the assignment consistent for a common use-case. 2018-10-09T20:11:43Z |3b|: yeah, that's probably better, wouldn't have to cons a bitvector 2018-10-09T20:12:03Z |3b|: ldb style taking int as input i mean 2018-10-09T20:12:45Z jasom: by subseq format I mean start/end vs size/position 2018-10-09T20:12:52Z |3b|: and since you are writing the expander it could even recognize some special cases and copy bits directly without an intermediate bignum 2018-10-09T20:13:35Z jasom: most uses of ldb won't make a bignum just because you usually don't have larger than word bitfields 2018-10-09T20:13:48Z jasom: and you also don't have word ldb since that would usually be a nop 2018-10-09T20:15:20Z jasom: but that is a good point; you could special case any value-form that starts with ldb 2018-10-09T20:16:18Z jasom: and then just loop with logbitp 2018-10-09T20:20:40Z angavrilov quit (Remote host closed the connection) 2018-10-09T20:20:52Z jcowan examines SRFI 151 (integers as bits) to see which operations are strictly bitwise 2018-10-09T20:21:46Z jcowan: There are some that plainly make sense even though they are not bit-for-bit, like population count 2018-10-09T20:22:25Z |3b|: (count 1 bitvector) :) 2018-10-09T20:23:54Z jcowan: true, although that is probably inefficient on x86, as it's hardly likely to use POPCNT 2018-10-09T20:24:28Z |3b| thought sbcl optimizes it 2018-10-09T20:26:56Z |3b|: yeah, looks like it does logcount on backing buffer a word at a time, which uses popcnt 2018-10-09T20:26:56Z m3tti quit (Ping timeout: 272 seconds) 2018-10-09T20:30:07Z kdas_ is now known as kushal 2018-10-09T20:30:49Z jasom: |3b|: you can't avoid creating a bignum in the case that the byte would be a bignum, becuase SETF needs to return the value assigned 2018-10-09T20:30:55Z m3tti joined #lisp 2018-10-09T20:31:11Z |3b|: ah, true :/ 2018-10-09T20:31:48Z |3b|: so maybe a separate function 2018-10-09T20:31:58Z m3tti quit (Remote host closed the connection) 2018-10-09T20:32:23Z m3tti joined #lisp 2018-10-09T20:32:35Z |3b| isn't sure how common that case would be though 2018-10-09T20:33:11Z jcowan: dammit, it looks like all 30 integers-as-bit ops make some kind of sense in bitvectors except arithmetic-shift, and that would be replaced by logical-shift 2018-10-09T20:34:17Z aindilis quit (Ping timeout: 244 seconds) 2018-10-09T20:34:45Z eminhi quit (Ping timeout: 252 seconds) 2018-10-09T20:35:53Z jcowan: that means writing a lot of finicky error-prone code 2018-10-09T20:38:00Z aeth: jasom: Actually, you *can* avoid creating a bignum 2018-10-09T20:38:49Z frgo joined #lisp 2018-10-09T20:39:04Z aeth: jasom: SETF needs to return the value assigned, but SBCL can ignore that value if SETF isn't in a position where its return value is used. 2018-10-09T20:40:07Z aeth: (And setf can be inline) 2018-10-09T20:40:23Z jasom: aeth: so if I only create the bignum at the very end of the storing form, then sbcl may be smart enough to remove it? 2018-10-09T20:42:03Z Shinmera: jasom: Yes, I quite like Verbose ;) 2018-10-09T20:42:06Z aeth: jasom: if an inline function (including an inline defun (setf foo)) or a macro (including defsetf?) 2018-10-09T20:42:30Z Bike: i don't think sbcl is smart enough for this 2018-10-09T20:42:49Z Bike: or rather they probably naven't specifically handled the case 2018-10-09T20:42:52Z jasom: aeth: in this case define-setf-expander, but that will be macroexpanded 2018-10-09T20:43:01Z frgo quit (Ping timeout: 246 seconds) 2018-10-09T20:43:04Z jasom: I'll run a test later, but right now just working on naieve version 2018-10-09T20:44:26Z aeth: jasom: (defun foo (a) (declare ((simple-array double-float (1)) a)) (setf (aref a 0) 42d0) a) ; no allocation because it doesn't need to return 42d0 2018-10-09T20:44:33Z aeth: jasom: (defun foo (a) (declare ((simple-array double-float (1)) a)) (setf (aref a 0) 42d0)) ; allocation because it does need to return 42d0 2018-10-09T20:45:38Z aeth: jasom: So SBCL can in the case of double-float and (unsigned-byte 64) and (signed-byte 64) certainly remove the unused allocations of the return values of SETFs under certain (inline) circumstances. 2018-10-09T20:45:57Z aeth: jasom: whether or not it handles your specific case (or could be patched to do so) is unknown 2018-10-09T20:47:22Z Bike: this isn't just removing an allocation though, it's turning an allocation into a mutation. 2018-10-09T20:47:54Z jasom: right, setf expanders have no introspection into the right-side of the assignment 2018-10-09T20:48:09Z aeth: I suspect it would work for a constant RHS 2018-10-09T20:48:10Z jasom: so no way to know if its (setf X (ldb ..)) vs (setf X (anything-else ...)) 2018-10-09T20:48:30Z orivej quit (Ping timeout: 252 seconds) 2018-10-09T20:48:43Z rumbler31 joined #lisp 2018-10-09T20:49:02Z Bike: i don't think it would be the setf macroexpansion doing the optimization, either 2018-10-09T20:49:22Z Bike: it doesn't even have enough information 2018-10-09T20:49:40Z aeth: right 2018-10-09T20:50:42Z rumbler31 quit (Remote host closed the connection) 2018-10-09T20:54:42Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-09T20:58:05Z edgar-rft joined #lisp 2018-10-09T20:59:48Z orivej joined #lisp 2018-10-09T21:00:58Z m3tti quit (Remote host closed the connection) 2018-10-09T21:01:26Z m3tti joined #lisp 2018-10-09T21:03:07Z Copenhagen_Bram joined #lisp 2018-10-09T21:16:54Z stereosphere joined #lisp 2018-10-09T21:26:24Z vlatkoB quit (Remote host closed the connection) 2018-10-09T21:27:57Z nirved quit (Quit: Leaving) 2018-10-09T21:34:49Z igemnace quit (Quit: WeeChat 2.2) 2018-10-09T21:35:41Z Bike quit (Ping timeout: 256 seconds) 2018-10-09T21:36:27Z dented42 joined #lisp 2018-10-09T21:37:24Z meepdeew joined #lisp 2018-10-09T21:39:50Z jasom: naive implementation (only lightly tested): https://gist.github.com/jasom/037465e21c0908489428704a01777550 2018-10-09T21:40:28Z jasom: (let (( x (make-array 32 :element-type 'bit :initial-element 1))) (setf (bit-ldb x (byte 4 0)) #xa) x) ;; => #*11111111111111111111111111111010 2018-10-09T21:40:48Z |3b|: Shinmera: https://github.com/3b/cl-spidev/blob/master/low-level.lisp#L140-L214 is what i ended up with for non-consing ioctl-based read API so far 2018-10-09T21:41:28Z |3b|: (or at least mostly non-consing, might still make some 32bit bignums) 2018-10-09T21:41:41Z Shinmera: Ho boy 2018-10-09T21:42:27Z |3b|: probably needs a bit more range checking still 2018-10-09T21:42:29Z swflint quit (Ping timeout: 244 seconds) 2018-10-09T21:42:47Z Shinmera: Especiall needs additions to documentation.lisp ;) 2018-10-09T21:42:56Z |3b|: yeah, that too :) 2018-10-09T21:43:03Z m3tti quit (Remote host closed the connection) 2018-10-09T21:43:23Z m3tti joined #lisp 2018-10-09T21:44:14Z |3b|: also might clean up the API a bit, ended up trying 2 different ways, so might remove the one i ended up not using (once i decide which that is, since i think i currently have a bit of both still) 2018-10-09T21:44:52Z Shinmera: Adding stuff to call this with the wrapper intefrace would also be good 2018-10-09T21:45:05Z Shinmera: Christ I'm making typoes like nobody's business again, aren't I 2018-10-09T21:45:19Z |3b|: one was a big destination buffer, with an xfer struct per range in the buffer, then switched to a smaller set of xfer buffers that i slide across the big buffer 2018-10-09T21:45:35Z ACE_Recliner quit (Ping timeout: 244 seconds) 2018-10-09T21:45:44Z |3b|: but now i'm back to only using a fairly small read buffer, so might go back to fixed buffer of xferss 2018-10-09T21:46:19Z |3b|: yeah, not wrapped or exported yet while i figured out what i'm doing :) 2018-10-09T21:46:54Z Shinmera: Anyway, this is really cool. Wonder if I'm going to use it myself for some Pi stuff 2018-10-09T21:46:55Z |3b|: but i checked in code that uses it, so made a fork for it too so both can be pushed somewhere at same time 2018-10-09T21:47:39Z |3b| might also rewrite the commits to get rid of tabs, so that fork might get reset at some point 2018-10-09T21:47:53Z Shinmera: I can squash merge 2018-10-09T21:48:44Z Shinmera: Reminds me again to see if I can make an official build of Portacle for the Pi 2018-10-09T21:48:54Z swflint joined #lisp 2018-10-09T21:49:10Z Shinmera: Just really wish ARM64 Pi distros were the norm 2018-10-09T21:49:38Z |3b|: https://github.com/3b/3b-lepton/blob/master/capture.lisp is the code that uses it, still fairly ugly (and made more so trying to avoid consing bignums without restricting sizes too much) 2018-10-09T21:49:45Z |3b|: yeah :/ 2018-10-09T21:50:08Z |3b|: threaded sbcl and 64bit words would simplify things 2018-10-09T21:50:28Z |3b|: could just start a thread, and not worry nearly as much about consing intermediate values 2018-10-09T21:51:06Z |3b| tried moving some work around in hopes of getting it fast enough to stream to ffmpeg without threads, not quite gotten far enough to test yet though 2018-10-09T21:51:20Z Shinmera: There's an OpenSuse ARM64 for the Pi 2018-10-09T21:51:29Z Shinmera: but I haven't tried it yet 2018-10-09T21:52:14Z |3b|: i think there are is a debian fork too, and ubuntu server if you hack boot setup a bit 2018-10-09T21:52:32Z Shinmera: yea sure but those are all deemed "experimental, unofficial" 2018-10-09T21:52:39Z |3b|: true :/ 2018-10-09T21:52:41Z Shinmera: whereas the suse one I think has an official release 2018-10-09T21:52:52Z Shinmera: been meaning to try it for like half a year now 2018-10-09T21:53:04Z |3b|: maybe i should try that soon 2018-10-09T21:53:46Z |3b|: was hoping to get this fast enough to run on pi zero, don't think it will be able to encode at same time though, even if it can display (which is probably iffy) 2018-10-09T21:54:05Z |3b| wonders if i can do async texture uploads on pi 0 2018-10-09T21:54:16Z Shinmera: if you can get something to render an RGB framebuffer you should be good 2018-10-09T21:54:25Z Shinmera: I'd hope 2018-10-09T21:54:45Z |3b|: more that just waiting on SPI for capture doesn't leave much time for doing anything else 2018-10-09T21:55:02Z |3b|: especially if display is going to be on spi too 2018-10-09T21:55:21Z Shinmera: could mmap with sharing and fork to render 2018-10-09T21:55:26Z m3tti quit (Ping timeout: 260 seconds) 2018-10-09T21:55:32Z |3b|: possibly 2018-10-09T21:55:36Z Shinmera: but now we're getting real weird 2018-10-09T21:56:06Z |3b|: well, better than trying to run callbacks on another thread in unthreaded sbcl, which so far doesn't seem to be going to work :p 2018-10-09T21:56:36Z swflint quit (Ping timeout: 260 seconds) 2018-10-09T21:56:38Z |3b|: cffi:defcallback callbacks, that is 2018-10-09T21:56:59Z Shinmera: Also, a good hook for 2018-10-09T21:57:03Z Shinmera: Colleen: look up mmap 2018-10-09T21:57:03Z Colleen: About mmap https://shinmera.github.io/mmap#about_mmap 2018-10-09T21:57:26Z |3b|: cool 2018-10-09T21:57:57Z Roy_Fokker joined #lisp 2018-10-09T21:58:07Z ACE_Recliner joined #lisp 2018-10-09T21:58:10Z swflint joined #lisp 2018-10-09T21:59:18Z |3b|: currently i can just capture to memory and encode later, which is probably good enough for now 2018-10-09T21:59:32Z |3b|: not like i'm setting up a permanent surveillance system or something with it 2018-10-09T21:59:54Z Shinmera: Wait until you want to record the ten hour rave party at your home 2018-10-09T22:00:19Z |3b|: it encodes quick, i can just have gaps every once in a while :) 2018-10-09T22:00:32Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-09T22:01:59Z |3b|: https://youtu.be/53FwuNlwSew was recorded that way, capture for 1 min then encode 2018-10-09T22:02:04Z mkolenda joined #lisp 2018-10-09T22:02:47Z Shinmera: what's the temperature range on that? 2018-10-09T22:03:06Z |3b|: that video? "room temperature" to "soldering iron" 2018-10-09T22:03:19Z Shinmera: looks like it has a pretty hard distance cap 2018-10-09T22:03:49Z |3b|: not sure if the camera was configured for 0-655K or 0-6555K range, or not set for calibrated at all 2018-10-09T22:04:04Z |3b|: nah, just nothing interesting behind it, and bad color ramp 2018-10-09T22:04:34Z Shinmera: I see 2018-10-09T22:05:20Z |3b|: it returns 14 bits, and i just grabbed ranges of bits for R,G,B 2018-10-09T22:05:36Z Shinmera: ah, yea, ouch 2018-10-09T22:06:15Z |3b|: but should be able to do better with a 14bit LUT than they do with "gain control -> 8 bits -> 8bit LUT" 2018-10-09T22:06:55Z Shinmera: just map the range to hue and do a hsv->rgb conversion 2018-10-09T22:07:42Z |3b|: well, with calibrated mode, most of the 'interesting' range is fairly narrow band (say freezing to a bit above body temp), so would want most of the variation there 2018-10-09T22:07:50Z Shinmera: hmmh 2018-10-09T22:07:50Z alandipert joined #lisp 2018-10-09T22:08:34Z |3b|: so maybe the hue rainbow there, and a blue->white ramp (with some added banding or cycling of value) for colder, and red->yellow->white for hotter 2018-10-09T22:09:18Z |3b|: or maybe a more complicated waveform in middle, will have to think about actual # of values, and how fast they change 2018-10-09T22:09:46Z |3b|: but that will be something to play with once i have live display (which is probably next task) 2018-10-09T22:10:16Z jcowan quit (Quit: This computer has gone to sleep) 2018-10-09T22:10:45Z Shinmera: right. 2018-10-09T22:10:47Z |3b|: can upload raw 16bit data to GPU, and a LUT texture, and remap it on display, then write various functions to generate new LUTs 2018-10-09T22:11:43Z |3b|: and for that don't losing sync for a second isn't too horrible, so don't need to worry about fancy threading or mmaping stuff like extended encoding capture 2018-10-09T22:11:56Z |3b|: but first is lunch i think :) 2018-10-09T22:13:25Z mhd2018 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2018-10-09T22:13:32Z |3b|: also need to try hooking up small display soon, so i can make it portable, HDMI output to 24" monitor isn't too good for that :) 2018-10-09T22:15:09Z Shinmera: And I'm off to bed 2018-10-09T22:22:02Z rumbler31 joined #lisp 2018-10-09T22:23:27Z iskander quit (Ping timeout: 250 seconds) 2018-10-09T22:24:03Z iskander joined #lisp 2018-10-09T22:25:31Z varjag quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-09T22:26:05Z dddddd quit (Read error: Connection reset by peer) 2018-10-09T22:29:19Z mhd2018 joined #lisp 2018-10-09T22:35:39Z tsandstr joined #lisp 2018-10-09T22:36:30Z Bike joined #lisp 2018-10-09T22:47:53Z jasom: is there a predefined type for a valid array index? 2018-10-09T22:48:19Z |3b|: fixnum? 2018-10-09T22:48:26Z |3b|: actually i guess positive fixnum 2018-10-09T22:48:33Z |3b|: non-negative 2018-10-09T22:48:46Z jasom: is that guaranteed? 2018-10-09T22:49:00Z Bike: technically you'd need array-dimension-limit 2018-10-09T22:49:10Z whartung: You get your fixnum back if not delighted. 2018-10-09T22:49:14Z jasom: (integer 0 array-dimension limit) is correct 2018-10-09T22:49:22Z |3b|: yeah, i guess it could be less than fixnum 2018-10-09T22:49:28Z jasom: or more than fixnum 2018-10-09T22:49:29Z whartung: does CL support negative dimensions? 2018-10-09T22:49:33Z whartung: I never tried it 2018-10-09T22:49:56Z whartung: can I have an array of -5 to 5? 2018-10-09T22:50:00Z whartung: like in Fortran? 2018-10-09T22:50:06Z jasom: A positive fixnum, the exact magnitude of which is implementation-dependent, but which is not less than 1024. <-- it is guaranteed to fit within a fixnum 2018-10-09T22:50:07Z |3b|: array indices are specified to be fixnums 2018-10-09T22:50:13Z |3b|: right 2018-10-09T22:50:20Z Bike: whartung: no 2018-10-09T22:50:43Z |3b|: i think they are allowed to be larger than array-dimension-limit too 2018-10-09T22:50:47Z whartung: yea, just never though about — wouldn’t surprise me either way 2018-10-09T22:51:09Z whartung: array-dimension-limit is the number of dimensions, not the magnitude of a single dimension I think 2018-10-09T22:51:56Z |3b|: (satisfies (lambda (a) (array-in-bounds-p array a))), for some specific array ARRAY :p 2018-10-09T22:52:10Z jasom: so that means fixnums must be at least 10 bits. There go my plans for an 8008 common lisp implementation :P 2018-10-09T22:52:30Z Bike: they have to be at least sixteen, in fact 2018-10-09T22:52:31Z whartung: heh 2018-10-09T22:52:33Z whartung: lo 2018-10-09T22:52:34Z whartung: lol 2018-10-09T22:53:24Z |3b|: ah, it was array-total-size-limit which is only a lower bound on upper bounds 2018-10-09T22:53:53Z |3b|: (if max size depends on element type, a-t-s-l is smallest max size) 2018-10-09T22:54:33Z moei quit (Quit: Leaving...) 2018-10-09T22:58:35Z Essadon quit (Quit: Qutting) 2018-10-09T23:01:53Z robotoad quit (Quit: robotoad) 2018-10-09T23:02:23Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-09T23:05:26Z pjb: Actually (deftype array-index () `(integer 0 ,(1- array-dimension-limit))) 2018-10-09T23:06:31Z pjb: But be careful that (expt array-dimension-limit array-rank-limit) is usuall less than array-total-size-limit. 2018-10-09T23:06:43Z pjb: You must stay within array-total-size-limit. 2018-10-09T23:08:04Z SenasOzys joined #lisp 2018-10-09T23:13:11Z aeth: whartung: You write your own fooref, which isn't a big deal in CL 2018-10-09T23:13:23Z whartung: sure 2018-10-09T23:13:49Z whartung: like I said, wouldn’t have surprised me if it actually supported it. 2018-10-09T23:14:05Z aeth: wouldn't have surprised me either since it does support a lot 2018-10-09T23:14:12Z whartung: si 2018-10-09T23:14:35Z aeth: but notice that what it does support is a flexible *end* index, for e.g. stacks. it doesn't support a flexible start index 2018-10-09T23:14:46Z aeth: (and it doesn't have queues) 2018-10-09T23:15:07Z aeth: It's very similar to the whole ND array thing, though. Actually even simpler to implement. 2018-10-09T23:15:50Z whartung: I don’t know what the “ND array thing” is. 2018-10-09T23:15:52Z aeth: I guess the issue is (aref foo 1 2) is unambiguously a 2D array, but (aref foo 1) isn't unambiguously the 1st element in a 1D array if it has a flexible start point for the index. So you'd make every aref slower for a rare feature unless you fully type declared everything. 2018-10-09T23:16:00Z aeth: whartung: 0D, 1D, 2D, 3D, 4D, ... 2018-10-09T23:16:03Z whartung: ah 2018-10-09T23:16:10Z aeth: whartung: I didn't have enough time to write them all 2018-10-09T23:16:29Z whartung: “there’s only 4?” :) 2018-10-09T23:16:36Z aeth: in SBCL array-dimension-limit is 4611686018427387901 2018-10-09T23:16:40Z aeth: we'd be here all day 2018-10-09T23:16:46Z whartung: ticky ticky 2018-10-09T23:17:13Z aeth: oh that's for each individual dimension 2018-10-09T23:17:27Z aeth: I'd want array-rank-limit 2018-10-09T23:17:44Z aeth: That's only 65529 2018-10-09T23:18:21Z aeth: (portably, it has to be at least 8) 2018-10-09T23:19:02Z frgo joined #lisp 2018-10-09T23:19:10Z LiamH quit (Quit: Leaving.) 2018-10-09T23:23:36Z frgo quit (Ping timeout: 252 seconds) 2018-10-09T23:24:36Z SenasOzys quit (Read error: Connection reset by peer) 2018-10-09T23:24:49Z SenasOzys joined #lisp 2018-10-09T23:26:08Z robotoad joined #lisp 2018-10-09T23:27:36Z jasom: It has to be at least call-arguments-limit as well in order for aref to work, right? 2018-10-09T23:27:44Z LiamH joined #lisp 2018-10-09T23:27:45Z jasom: s/at least/no more than 2018-10-09T23:28:14Z LiamH quit (Client Quit) 2018-10-09T23:29:35Z jasom: wow sbcl's call-arguments-limit appears to be most-positive-fixnum. I don't think I'm going to exceed that any time soon 2018-10-09T23:32:00Z whartung: test it and see! 2018-10-09T23:32:23Z sjl: (defun function-with-one-hundred-thousand-arguments #.(loop :repeat 100000 :collect (gensym)) nil) 2018-10-09T23:32:23Z Colleen: sjl: PuercoPop said 22 hours, 5 minutes ago: Have you tried the command refresh-heads when StumpWM does recognize the new heads? https://stumpwm.github.io/git/stumpwm-git_9.html#External-Monitors 2018-10-09T23:32:35Z whartung: how big of a 2 element, N D array can you make before your computer ejects your swap partion through the case. 2018-10-09T23:33:14Z sjl: PuercoPop: oh hmm, I'll give that a shot later, thanks! 2018-10-09T23:33:56Z pjb: warweasle: (min (expt 2 array-rank-limit) array-total-size-limit) 2018-10-09T23:34:36Z myrmidon quit (Ping timeout: 260 seconds) 2018-10-09T23:37:15Z |3b|: hmm... for i of-type (unsigned-byte ,',(- (integer-length most-positive-fixnum) (integ\ 2018-10-09T23:37:17Z |3b|: er-length (1- samples)))) 2018-10-09T23:38:04Z |3b|: i've been writing such pretty code for this project :p 2018-10-09T23:40:29Z |3b|: for i of-type (pixel-index-type ,',samples) ;; much better :p 2018-10-09T23:42:46Z siraben quit (Ping timeout: 260 seconds) 2018-10-09T23:46:10Z aeth: I think you'll run into 64 bit RAM size limitations before you run into 63 bit fixnum limitations in most cases 2018-10-09T23:46:22Z whartung: si 2018-10-09T23:46:31Z |3b| only has 29 bit fixnums :( 2018-10-09T23:46:41Z whartung: “ZFS supports 128 bits, why can’t I swap??” 2018-10-09T23:46:42Z aeth: you might be able to construct something with bit arrays... of course, then you do need more RAM than you normally get 2018-10-09T23:46:43Z |3b|: and 30 or so bits of ram (addresses) 2018-10-09T23:46:44Z jasom: aeth: 62 bit fixnum on amd64 I think 2018-10-09T23:46:50Z aeth: |3b|: I thought Pis were 64-bit? 2018-10-09T23:46:57Z jasom: aeth: 63 bit fixnum but 62-bit positive fixnums 2018-10-09T23:47:03Z |3b|: pi OSes aren't 2018-10-09T23:47:10Z |3b|: (and only newer pi have 64bit cpu) 2018-10-09T23:47:32Z aeth: jasom: yes, so it's 1/4 what you'd expect. So you'd basically need bit arrays 2018-10-09T23:47:45Z aeth: jasom: bit arrays and the theoretical maximum of RAM :-p 2018-10-09T23:48:03Z Kaisyu joined #lisp 2018-10-09T23:49:06Z jasom: I think max address is only 48 bits on amd64, so SoL there 2018-10-09T23:49:09Z aeth: |3b|: The official raspberry pi OS? I'd think you'd be able to just install the ARM64 fedora/etc. distros on it, idk 2018-10-09T23:49:18Z aeth: |3b|: looks like only gen 3 is 32/64 bit 2018-10-09T23:49:26Z |3b|: yeah, you can, but i didn't :/ 2018-10-09T23:49:42Z aeth: |3b|: Lisps are made for 36+ bit machines 2018-10-09T23:50:01Z aeth: you're going to cons like mad (or have to do painful workarounds) in 32 bit 2018-10-09T23:50:06Z |3b| tried a few other options and failed to get a good setup, will probably try some of the other options at some point 2018-10-09T23:50:08Z jasom: aeth: I'd argue they're made for 18+ bit machines, but *shrug* 2018-10-09T23:50:20Z |3b| wants to be able to run on the pi 0 too though, which is 32bit CPU 2018-10-09T23:50:54Z jasom: PDPs had 18 bit pointers anyways 2018-10-09T23:50:59Z aeth: |3b|: next gen will probably be 32 2018-10-09T23:51:22Z aeth: jasom: perhaps I should say Common Lisp instead 2018-10-09T23:51:35Z aeth: jasom: the minimums in the hyperspec do seem aimed with 16-18 bit in mind 2018-10-09T23:51:55Z aeth: but practical minimums really require 32-bit or 64-bit, and 64-bit is a lot more convenient (e.g. unboxed single-float) 2018-10-09T23:53:03Z fortitude quit (Remote host closed the connection) 2018-10-09T23:54:12Z aeth: s/will probably be 32/probably won't be 32/ 2018-10-09T23:57:22Z jasom: aeth: surely you mean unboxed double-float? 2018-10-09T23:57:35Z aeth: jasom: double-float *is* boxed 2018-10-09T23:57:39Z aeth: jasom: has to have a type tag 2018-10-09T23:58:11Z jasom: it's only boxed on function-call boundaries, but I see what you mean now. 2018-10-09T23:58:40Z aeth: jasom: In SBCL double-float and (unsigned-byte 64) and (signed-byte 64) all heap allocate unless they're used in restrictive ways (within a function, saved to typed struct slots or specialized arrays) 2018-10-09T23:58:45Z jasom: what sorts of things are single-floats better than 64-bit integers for? 2018-10-09T23:59:52Z aeth: In 32-bit ([un]signed-byte 64) are bignums in SBCL and their specialized arrays aren't there (just T arrays) 2018-10-09T23:59:59Z aeth: So you can't even work around the boxing 2018-10-10T00:00:38Z aeth: jasom: single-float's used a lot in graphics. Plus, you can work with double-floats and have single-float as the end result. 2018-10-10T00:00:39Z jasom: you would need to vary your range by 2**39 to ever have more precision with single-float vs unsigned-byte 64 2018-10-10T00:01:07Z jasom: aeth: I'm talking about 64 bit machines, where unboxed single-floats are used. 2018-10-10T00:01:52Z on_ion quit (Quit: WeeChat 1.9.1) 2018-10-10T00:01:54Z aeth: jasom: single-floats are faster when you don't really care about the end result that much (e.g. gaming), and even faster since you'd have to use a third party library for fixed-point arithmetic 2018-10-10T00:02:52Z aeth: jasom: afaik in practice single-floats are just double-floats whose end results are stored as single-floats in CL implementations 2018-10-10T00:02:59Z aeth: for e.g. sin 2018-10-10T00:03:06Z jasom: single-floats are faster than 64-bit integers? I'd bet that depends on the operation. 2018-10-10T00:03:29Z aeth: jasom: Assuming not +/- (and *?) 2018-10-10T00:03:43Z r1b quit (Quit: r1b) 2018-10-10T00:03:44Z aeth: jasom: But even then in CL you'd have to wrap it in (mod ... (expt 2 64)) after every operation to get it to be fast 2018-10-10T00:03:57Z aeth: (assuming the implementation even optimizes that, like SBCL does) 2018-10-10T00:04:07Z aeth: single-floats always stay single-floats 2018-10-10T00:04:15Z jasom: or overflow 2018-10-10T00:04:27Z jasom: spec doesn't define INF and friends IIRC 2018-10-10T00:05:06Z aeth: generally this sort of thing is run with https://github.com/Shinmera/float-features/blob/91739d64c2d5c99f6add31be7367a9416a98891f/float-features.lisp#L143-L194 2018-10-10T00:05:22Z tsandstr quit (Remote host closed the connection) 2018-10-10T00:05:40Z aeth: okay, it's actually generally just run with sb-int:with-float-traps-masked and a slow path for every other implementation, but that's the author's fault for not using the library Shinmera wrote for that 2018-10-10T00:06:02Z jasom: ah. I really don't like floats so haven't explored such things in CL much. 2018-10-10T00:06:20Z aeth: jasom: it's actually really great 2018-10-10T00:06:22Z rumbler31 quit (Remote host closed the connection) 2018-10-10T00:06:39Z jasom: I do very few calculations where the required precision is relative to the magnitude of the value, so *shrug* 2018-10-10T00:06:49Z aeth: jasom: mask float traps when you are running your application, but keep the defaults when you run your unit tests 2018-10-10T00:06:59Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-10T00:07:06Z aeth: So during your unit tests, you can see the overflows/etc. 2018-10-10T00:08:19Z jasom: My motto is "fixnums can represent the entire solar system to a precision of under 1mm" 2018-10-10T00:09:32Z whartung: fixed point math ftw 2018-10-10T00:10:02Z Roy_Fokker joined #lisp 2018-10-10T00:11:16Z jasom: 2um using the major axis of neptune: https://www.google.com/search?q=9.09e9km%2F2**62+in+um 2018-10-10T00:11:29Z jasom: s/neptune/neptune's orbit 2018-10-10T00:11:30Z aeth: jasom: usually there's some complicated algorithm that works around problems with floating point... and you can just implement the algorithm 2018-10-10T00:12:11Z jasom: aeth: at which point single-floats may no longer keep up with fixed-point 2018-10-10T00:12:23Z aeth: jasom: why not both? 2018-10-10T00:12:51Z aeth: jasom: If you do a solar system with single-floats (you could just go to doubles at that point) then you can divide it into zones 2018-10-10T00:12:55Z aeth: small integer zones 2018-10-10T00:14:09Z aeth: jasom: anyway, I think floating point is in general faster because CPUs build in hardware for floating point (but you might need special ASM to access it all) 2018-10-10T00:14:15Z jasom: At a minimum, my point is that integers are much larger than they were when floating-point won over fixed-point, so reevaluating ones choices might be good. Also, outside of certain scientific calculations the assumptions of floating-point may not fit your data 2018-10-10T00:14:25Z jasom: CPUs build in hardware for integers too... 2018-10-10T00:14:37Z aeth: eh, it depends on what speed you want 2018-10-10T00:14:43Z jasom: in any event, dinner, I'll look at your last points later :) 2018-10-10T00:14:57Z aeth: if you're doing real time use floats, if you're doing supercomputer simulations use floats. 2018-10-10T00:15:19Z aeth: Anything where you'd be using Fortran before SBCL became an acceptable Fortran, you probably want floats. 2018-10-10T00:15:30Z aeth: (Whether you want single-float or double-float or both depends on specifics) 2018-10-10T00:16:19Z aeth: I've written my share of efficient integer arithmetic, too. It's a bit more painful in CL because CL actually wants correct behavior, so you need to establish your bounds or use unsigned and wrap each arithmetic operation with mod of a power of 2 2018-10-10T00:18:04Z aeth: I'm sure a compiler that enforced float correctness would make floats equally or more painful, of course. With floats you just get runtime nonsense values or a runtime exception (depending on settings), rather than a compile time possible bignum allocation. 2018-10-10T00:20:00Z quazimodo quit (Ping timeout: 272 seconds) 2018-10-10T00:20:13Z aeth: I have established bounds for certain float functions with random testing, but I think that those bounds are probably best left as just documented rather than enforced. 2018-10-10T00:21:27Z quazimodo joined #lisp 2018-10-10T00:21:35Z oni-on-ion joined #lisp 2018-10-10T00:23:08Z r1b joined #lisp 2018-10-10T00:24:03Z oni-on-ion quit (Quit: WeeChat 1.9.1) 2018-10-10T00:24:39Z pjb quit (Ping timeout: 252 seconds) 2018-10-10T00:24:42Z oni-on-ion joined #lisp 2018-10-10T00:27:09Z aeth: Anyway, that's just my 2¢. On the other hand, if there's anyone who'd waste months implementing efficient fixed point in CL to be used in a handful of functions, it'd probably be me. :-p 2018-10-10T00:28:48Z oni-on-ion: topic, sbcl 1.4.5 -> 1.4.12 2018-10-10T00:28:50Z robotoad quit (Quit: robotoad) 2018-10-10T00:30:47Z oni-on-ion: "optimization: adding 1 to or subtracting 1 from a fixnum variable does not cons." =) 2018-10-10T00:30:51Z oni-on-ion: (1.4.10) 2018-10-10T00:31:17Z oni-on-ion: aeth: been following it? used SB-COVER? 2018-10-10T00:34:30Z ryan_vw joined #lisp 2018-10-10T00:34:57Z aeth: oni-on-ion: code coverage, as in it tracks to see how much is tested? 2018-10-10T00:38:59Z aeth: Hmm, doesn't appear to give correct results for me. I guess I was reading the manual incorrectly. 2018-10-10T00:39:26Z aeth: I do know that the coverage is very low, though. :-) 2018-10-10T00:39:27Z pierpal quit (Remote host closed the connection) 2018-10-10T00:39:36Z scymtym quit (Remote host closed the connection) 2018-10-10T00:41:29Z Xach: arrrgh postmodern is busted 2018-10-10T00:43:15Z no-defun-allowed: ): 2018-10-10T00:44:37Z scymtym joined #lisp 2018-10-10T00:46:03Z tsandstr joined #lisp 2018-10-10T00:47:01Z no-defun-allowed: Xach: what happened to it? 2018-10-10T00:47:15Z Xach: duplicate definition at the end of postmodern/utils.lisp 2018-10-10T00:52:32Z Balooga_ joined #lisp 2018-10-10T00:55:54Z Denommus quit (Remote host closed the connection) 2018-10-10T00:57:13Z no-defun-allowed: that's a shame 2018-10-10T00:59:46Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-10T01:01:13Z pjb joined #lisp 2018-10-10T01:02:11Z sjl quit (Ping timeout: 252 seconds) 2018-10-10T01:05:08Z s-geometry joined #lisp 2018-10-10T01:06:40Z elfmacs joined #lisp 2018-10-10T01:07:21Z no-defun-allowed: hi s-geometry 2018-10-10T01:08:19Z frgo joined #lisp 2018-10-10T01:11:32Z s-geometry quit (Read error: Connection reset by peer) 2018-10-10T01:13:11Z wanz joined #lisp 2018-10-10T01:13:12Z frgo quit (Ping timeout: 272 seconds) 2018-10-10T01:15:41Z Balooga_ quit (Quit: Balooga_) 2018-10-10T01:18:36Z r1b quit (Quit: r1b) 2018-10-10T01:23:16Z ACE_Recliner quit (Remote host closed the connection) 2018-10-10T01:23:25Z meepdeew quit (Remote host closed the connection) 2018-10-10T01:23:57Z igemnace joined #lisp 2018-10-10T01:29:37Z Khisanth quit (Ping timeout: 268 seconds) 2018-10-10T01:32:50Z igemnace quit (Ping timeout: 272 seconds) 2018-10-10T01:33:16Z wanz quit (Quit: wanz) 2018-10-10T01:34:24Z pjb quit (Ping timeout: 252 seconds) 2018-10-10T01:37:32Z X-Scale quit (*.net *.split) 2018-10-10T01:37:32Z akovalenko quit (*.net *.split) 2018-10-10T01:37:32Z uint quit (*.net *.split) 2018-10-10T01:37:32Z rk[ghost] quit (*.net *.split) 2018-10-10T01:37:32Z katyusha quit (*.net *.split) 2018-10-10T01:37:32Z tsandstr quit (*.net *.split) 2018-10-10T01:37:32Z Kaisyu quit (*.net *.split) 2018-10-10T01:37:32Z swflint quit (*.net *.split) 2018-10-10T01:37:32Z slyrus1 quit (*.net *.split) 2018-10-10T01:37:32Z jkordani_ quit (*.net *.split) 2018-10-10T01:37:32Z cgay quit (*.net *.split) 2018-10-10T01:37:32Z trittweiler quit (*.net *.split) 2018-10-10T01:37:32Z azrazalea quit (*.net *.split) 2018-10-10T01:37:32Z arbv quit (*.net *.split) 2018-10-10T01:37:32Z bigfondue quit (*.net *.split) 2018-10-10T01:37:32Z drot quit (*.net *.split) 2018-10-10T01:37:32Z blt quit (*.net *.split) 2018-10-10T01:37:32Z dieggsy quit (*.net *.split) 2018-10-10T01:37:32Z veinofstars quit (*.net *.split) 2018-10-10T01:37:32Z CEnnis91 quit (*.net *.split) 2018-10-10T01:37:32Z rotty quit (*.net *.split) 2018-10-10T01:37:32Z sigjuice quit (*.net *.split) 2018-10-10T01:37:32Z brandonz quit (*.net *.split) 2018-10-10T01:37:32Z ecraven quit (*.net *.split) 2018-10-10T01:37:32Z tfb quit (*.net *.split) 2018-10-10T01:37:32Z xristos quit (*.net *.split) 2018-10-10T01:37:33Z jdz quit (*.net *.split) 2018-10-10T01:37:33Z gko quit (*.net *.split) 2018-10-10T01:37:33Z GreaseMonkey quit (*.net *.split) 2018-10-10T01:37:33Z p9fn quit (*.net *.split) 2018-10-10T01:37:33Z weltung quit (*.net *.split) 2018-10-10T01:37:33Z kushal quit (*.net *.split) 2018-10-10T01:37:33Z scymtym quit (*.net *.split) 2018-10-10T01:37:33Z SenasOzys quit (*.net *.split) 2018-10-10T01:37:33Z orivej quit (*.net *.split) 2018-10-10T01:37:33Z ravndal quit (*.net *.split) 2018-10-10T01:37:33Z eagleflo quit (*.net *.split) 2018-10-10T01:37:33Z pfdietz quit (*.net *.split) 2018-10-10T01:37:33Z lavaflow quit (*.net *.split) 2018-10-10T01:37:33Z drl quit (*.net *.split) 2018-10-10T01:37:33Z mfiano quit (*.net *.split) 2018-10-10T01:37:33Z gabot quit (*.net *.split) 2018-10-10T01:37:33Z mingus quit (*.net *.split) 2018-10-10T01:37:33Z megalography quit (*.net *.split) 2018-10-10T01:37:33Z froggey quit (*.net *.split) 2018-10-10T01:37:33Z DGASAU quit (*.net *.split) 2018-10-10T01:37:33Z crsc quit (*.net *.split) 2018-10-10T01:37:33Z slyrus quit (*.net *.split) 2018-10-10T01:37:33Z acolarh quit (*.net *.split) 2018-10-10T01:37:33Z d4ryus quit (*.net *.split) 2018-10-10T01:37:33Z djh quit (*.net *.split) 2018-10-10T01:37:33Z deba5e12 quit (*.net *.split) 2018-10-10T01:37:33Z ski quit (*.net *.split) 2018-10-10T01:37:33Z dvdmuckle quit (*.net *.split) 2018-10-10T01:37:33Z danielxvu quit (*.net *.split) 2018-10-10T01:37:33Z salva quit (*.net *.split) 2018-10-10T01:37:33Z koenig quit (*.net *.split) 2018-10-10T01:37:33Z scottj quit (*.net *.split) 2018-10-10T01:37:33Z Colleen quit (*.net *.split) 2018-10-10T01:37:33Z vibs29 quit (*.net *.split) 2018-10-10T01:37:33Z razzy quit (*.net *.split) 2018-10-10T01:37:33Z Jesin quit (*.net *.split) 2018-10-10T01:37:33Z jurov quit (*.net *.split) 2018-10-10T01:37:33Z foom quit (*.net *.split) 2018-10-10T01:37:33Z hjudt quit (*.net *.split) 2018-10-10T01:37:33Z gingerale quit (*.net *.split) 2018-10-10T01:37:33Z lieven quit (*.net *.split) 2018-10-10T01:37:33Z kilimanjaro quit (*.net *.split) 2018-10-10T01:37:33Z gendl quit (*.net *.split) 2018-10-10T01:37:34Z splittist quit (*.net *.split) 2018-10-10T01:37:34Z jhei quit (*.net *.split) 2018-10-10T01:37:34Z rme quit (*.net *.split) 2018-10-10T01:37:34Z Jachy quit (*.net *.split) 2018-10-10T01:37:34Z Gnuxie[m] quit (*.net *.split) 2018-10-10T01:37:34Z iskander quit (*.net *.split) 2018-10-10T01:37:34Z mkolenda quit (*.net *.split) 2018-10-10T01:37:34Z emerson quit (*.net *.split) 2018-10-10T01:37:34Z nckx quit (*.net *.split) 2018-10-10T01:37:34Z PuercoPop quit (*.net *.split) 2018-10-10T01:37:34Z chipolux quit (*.net *.split) 2018-10-10T01:37:34Z clittorbit quit (*.net *.split) 2018-10-10T01:37:34Z creat quit (*.net *.split) 2018-10-10T01:37:34Z Kevslinger quit (*.net *.split) 2018-10-10T01:37:34Z tripty quit (*.net *.split) 2018-10-10T01:37:34Z fouric quit (*.net *.split) 2018-10-10T01:37:34Z tomaw quit (*.net *.split) 2018-10-10T01:37:34Z Duns_Scrotus quit (*.net *.split) 2018-10-10T01:37:34Z beaky quit (*.net *.split) 2018-10-10T01:37:34Z PyroLagus quit (*.net *.split) 2018-10-10T01:37:34Z fluxit quit (*.net *.split) 2018-10-10T01:37:35Z les quit (*.net *.split) 2018-10-10T01:37:35Z cpt_nemo quit (*.net *.split) 2018-10-10T01:37:35Z sz0 quit (*.net *.split) 2018-10-10T01:37:35Z dim quit (*.net *.split) 2018-10-10T01:37:35Z wws quit (*.net *.split) 2018-10-10T01:37:35Z mood quit (*.net *.split) 2018-10-10T01:37:35Z nowhereman_ quit (*.net *.split) 2018-10-10T01:37:35Z runejuhl quit (*.net *.split) 2018-10-10T01:37:35Z mathrick_ quit (*.net *.split) 2018-10-10T01:37:35Z mfiano[m] quit (*.net *.split) 2018-10-10T01:37:35Z nisstyre quit (*.net *.split) 2018-10-10T01:37:35Z |3b| quit (*.net *.split) 2018-10-10T01:37:35Z Manny8888 quit (*.net *.split) 2018-10-10T01:37:36Z elfmacs quit (*.net *.split) 2018-10-10T01:37:36Z Copenhagen_Bram quit (*.net *.split) 2018-10-10T01:37:36Z jack_rabbit quit (*.net *.split) 2018-10-10T01:37:36Z _whitelogger quit (*.net *.split) 2018-10-10T01:37:36Z shka_ quit (*.net *.split) 2018-10-10T01:37:36Z fiddlerwoaroof quit (*.net *.split) 2018-10-10T01:37:36Z jgoss quit (*.net *.split) 2018-10-10T01:37:36Z v0|d quit (*.net *.split) 2018-10-10T01:37:36Z parjanya quit (*.net *.split) 2018-10-10T01:37:36Z kooga quit (*.net *.split) 2018-10-10T01:37:36Z lucca quit (*.net *.split) 2018-10-10T01:37:36Z Ober quit (*.net *.split) 2018-10-10T01:37:36Z thijso quit (*.net *.split) 2018-10-10T01:37:36Z itruslove quit (*.net *.split) 2018-10-10T01:37:36Z hfjvjffju quit (*.net *.split) 2018-10-10T01:37:36Z xantoz quit (*.net *.split) 2018-10-10T01:37:36Z phenoble quit (*.net *.split) 2018-10-10T01:37:36Z Patzy quit (*.net *.split) 2018-10-10T01:37:36Z dxtr quit (*.net *.split) 2018-10-10T01:37:36Z djeis[m] quit (*.net *.split) 2018-10-10T01:37:36Z beach quit (*.net *.split) 2018-10-10T01:37:36Z cpape quit (*.net *.split) 2018-10-10T01:37:36Z svillemot quit (*.net *.split) 2018-10-10T01:37:36Z lonjil quit (*.net *.split) 2018-10-10T01:37:36Z TMA quit (*.net *.split) 2018-10-10T01:37:36Z energizer quit (*.net *.split) 2018-10-10T01:37:36Z fowlduck quit (*.net *.split) 2018-10-10T01:37:36Z bheesham quit (*.net *.split) 2018-10-10T01:37:37Z easye quit (*.net *.split) 2018-10-10T01:37:37Z drmeister quit (*.net *.split) 2018-10-10T01:37:37Z p_l quit (*.net *.split) 2018-10-10T01:37:37Z stylewarning quit (*.net *.split) 2018-10-10T01:37:37Z thekolb quit (*.net *.split) 2018-10-10T01:37:37Z johs quit (*.net *.split) 2018-10-10T01:37:37Z juristi quit (*.net *.split) 2018-10-10T01:37:37Z Xach quit (*.net *.split) 2018-10-10T01:37:37Z tazjin quit (*.net *.split) 2018-10-10T01:37:37Z azahi quit (*.net *.split) 2018-10-10T01:37:37Z banjiewen quit (*.net *.split) 2018-10-10T01:37:37Z knicklux quit (*.net *.split) 2018-10-10T01:37:37Z iomonad quit (*.net *.split) 2018-10-10T01:37:37Z terpri quit (*.net *.split) 2018-10-10T01:37:37Z azimut_ quit (*.net *.split) 2018-10-10T01:37:37Z flip214 quit (*.net *.split) 2018-10-10T01:37:37Z myrkraverk quit (*.net *.split) 2018-10-10T01:37:37Z micro quit (*.net *.split) 2018-10-10T01:37:37Z jruchti quit (*.net *.split) 2018-10-10T01:37:37Z charh quit (*.net *.split) 2018-10-10T01:37:37Z Fade quit (*.net *.split) 2018-10-10T01:37:37Z _death quit (*.net *.split) 2018-10-10T01:37:37Z White_Flame quit (*.net *.split) 2018-10-10T01:37:37Z roscoe_tw quit (*.net *.split) 2018-10-10T01:37:37Z Shinmera quit (*.net *.split) 2018-10-10T01:37:37Z libre-man quit (*.net *.split) 2018-10-10T01:37:37Z dan64 quit (*.net *.split) 2018-10-10T01:37:37Z sshirokov quit (*.net *.split) 2018-10-10T01:37:37Z sbryant quit (*.net *.split) 2018-10-10T01:37:37Z lxpz quit (*.net *.split) 2018-10-10T01:37:37Z MetaYan quit (*.net *.split) 2018-10-10T01:37:37Z Mon_Ouie quit (*.net *.split) 2018-10-10T01:37:37Z argoneus quit (*.net *.split) 2018-10-10T01:37:37Z groovy2shoes quit (*.net *.split) 2018-10-10T01:37:37Z drewc quit (*.net *.split) 2018-10-10T01:37:37Z eschatologist quit (*.net *.split) 2018-10-10T01:37:38Z housel quit (*.net *.split) 2018-10-10T01:37:38Z umpc quit (*.net *.split) 2018-10-10T01:37:38Z SumoSud0 quit (*.net *.split) 2018-10-10T01:37:38Z stux|RC quit (*.net *.split) 2018-10-10T01:37:38Z LdBeth quit (*.net *.split) 2018-10-10T01:37:38Z jerme_ quit (*.net *.split) 2018-10-10T01:37:38Z michalisko quit (*.net *.split) 2018-10-10T01:37:38Z ircbrowse quit (*.net *.split) 2018-10-10T01:37:38Z meowray quit (*.net *.split) 2018-10-10T01:37:38Z kajo quit (*.net *.split) 2018-10-10T01:37:38Z drdo quit (*.net *.split) 2018-10-10T01:37:38Z buffergn0me quit (*.net *.split) 2018-10-10T01:37:38Z emma_ quit (*.net *.split) 2018-10-10T01:37:38Z SlashLife quit (*.net *.split) 2018-10-10T01:37:38Z no-defun-allowed quit (*.net *.split) 2018-10-10T01:37:38Z tumdum quit (*.net *.split) 2018-10-10T01:37:38Z XachX quit (*.net *.split) 2018-10-10T01:37:38Z galdor quit (*.net *.split) 2018-10-10T01:37:38Z rvirding quit (*.net *.split) 2018-10-10T01:37:38Z kjeldahl quit (*.net *.split) 2018-10-10T01:37:39Z abbe quit (*.net *.split) 2018-10-10T01:37:39Z voidlily quit (*.net *.split) 2018-10-10T01:37:39Z leo_song quit (*.net *.split) 2018-10-10T01:37:39Z loke quit (*.net *.split) 2018-10-10T01:37:39Z jgkamat quit (*.net *.split) 2018-10-10T01:37:39Z AeroNotix quit (*.net *.split) 2018-10-10T01:37:39Z spal quit (*.net *.split) 2018-10-10T01:37:39Z malm quit (*.net *.split) 2018-10-10T01:37:39Z l1x quit (*.net *.split) 2018-10-10T01:37:39Z antoszka quit (*.net *.split) 2018-10-10T01:37:39Z Myon quit (*.net *.split) 2018-10-10T01:37:39Z dlowe quit (*.net *.split) 2018-10-10T01:37:39Z Nikotiini quit (*.net *.split) 2018-10-10T01:37:39Z ebzzry quit (*.net *.split) 2018-10-10T01:37:39Z zfree quit (*.net *.split) 2018-10-10T01:37:39Z aeth quit (*.net *.split) 2018-10-10T01:37:39Z twokays quit (*.net *.split) 2018-10-10T01:37:39Z jackdaniel quit (*.net *.split) 2018-10-10T01:37:39Z adlai quit (*.net *.split) 2018-10-10T01:37:39Z impulse quit (*.net *.split) 2018-10-10T01:37:39Z nydel quit (*.net *.split) 2018-10-10T01:37:39Z spacepluk quit (*.net *.split) 2018-10-10T01:37:39Z isoraqathedh quit (*.net *.split) 2018-10-10T01:37:39Z minion quit (*.net *.split) 2018-10-10T01:37:39Z sword quit (*.net *.split) 2018-10-10T01:37:39Z saturn2 quit (*.net *.split) 2018-10-10T01:37:39Z ja-barr quit (*.net *.split) 2018-10-10T01:37:39Z whartung quit (*.net *.split) 2018-10-10T01:37:39Z Tordek quit (*.net *.split) 2018-10-10T01:37:39Z wooden quit (*.net *.split) 2018-10-10T01:37:39Z APic quit (*.net *.split) 2018-10-10T01:37:39Z z0d quit (*.net *.split) 2018-10-10T01:37:39Z CrazyEddy quit (*.net *.split) 2018-10-10T01:37:39Z specbot quit (*.net *.split) 2018-10-10T01:37:39Z K1rk quit (*.net *.split) 2018-10-10T01:37:39Z fe[nl]ix quit (*.net *.split) 2018-10-10T01:37:39Z Ziemas quit (*.net *.split) 2018-10-10T01:37:39Z ft quit (*.net *.split) 2018-10-10T01:37:39Z ryan_vw quit (*.net *.split) 2018-10-10T01:37:39Z oni-on-ion quit (*.net *.split) 2018-10-10T01:37:39Z alandipert quit (*.net *.split) 2018-10-10T01:37:39Z q-u-a-n quit (*.net *.split) 2018-10-10T01:37:40Z gector quit (*.net *.split) 2018-10-10T01:37:40Z dyelar quit (*.net *.split) 2018-10-10T01:37:40Z kamog quit (*.net *.split) 2018-10-10T01:37:40Z masterdonx quit (*.net *.split) 2018-10-10T01:37:40Z funnel quit (*.net *.split) 2018-10-10T01:37:40Z _bryan quit (*.net *.split) 2018-10-10T01:37:40Z justinmcp_ quit (*.net *.split) 2018-10-10T01:37:40Z vxe_ quit (*.net *.split) 2018-10-10T01:37:40Z dorothyw quit (*.net *.split) 2018-10-10T01:37:40Z trn quit (*.net *.split) 2018-10-10T01:37:40Z jasom quit (*.net *.split) 2018-10-10T01:37:40Z Lord_Nightmare quit (*.net *.split) 2018-10-10T01:37:40Z Tristam quit (*.net *.split) 2018-10-10T01:37:40Z Xof quit (*.net *.split) 2018-10-10T01:37:40Z hvxgr quit (*.net *.split) 2018-10-10T01:37:40Z Patternmaster quit (*.net *.split) 2018-10-10T01:37:40Z mhd2018 quit (*.net *.split) 2018-10-10T01:37:40Z shifty quit (*.net *.split) 2018-10-10T01:37:40Z roshanavand quit (*.net *.split) 2018-10-10T01:37:40Z zigpaw quit (*.net *.split) 2018-10-10T01:37:40Z lnostdal quit (*.net *.split) 2018-10-10T01:37:40Z russellw quit (*.net *.split) 2018-10-10T01:37:40Z Demosthenex quit (*.net *.split) 2018-10-10T01:37:40Z ym quit (*.net *.split) 2018-10-10T01:37:40Z dmiles quit (*.net *.split) 2018-10-10T01:37:40Z domovod quit (*.net *.split) 2018-10-10T01:37:40Z Petit_Dejeuner quit (*.net *.split) 2018-10-10T01:37:40Z flazh quit (*.net *.split) 2018-10-10T01:37:40Z phadthai quit (*.net *.split) 2018-10-10T01:37:40Z kozy quit (*.net *.split) 2018-10-10T01:37:40Z thinkpad quit (*.net *.split) 2018-10-10T01:37:40Z grumble quit (*.net *.split) 2018-10-10T01:37:40Z kini quit (*.net *.split) 2018-10-10T01:37:40Z troydm quit (*.net *.split) 2018-10-10T01:37:40Z phoe quit (*.net *.split) 2018-10-10T01:37:40Z shenghi quit (*.net *.split) 2018-10-10T01:37:40Z NB0X-Matt-CA quit (*.net *.split) 2018-10-10T01:37:40Z Kaisyu7 quit (*.net *.split) 2018-10-10T01:37:40Z jxy quit (*.net *.split) 2018-10-10T01:37:40Z reverse_light quit (*.net *.split) 2018-10-10T01:37:41Z luis quit (*.net *.split) 2018-10-10T01:37:41Z cyberlard quit (*.net *.split) 2018-10-10T01:37:41Z stereosphere quit (*.net *.split) 2018-10-10T01:37:41Z knobo quit (*.net *.split) 2018-10-10T01:37:41Z cross quit (*.net *.split) 2018-10-10T01:37:41Z pchrist quit (*.net *.split) 2018-10-10T01:37:41Z otwieracz quit (*.net *.split) 2018-10-10T01:37:41Z OMGOMG quit (*.net *.split) 2018-10-10T01:37:41Z ramus quit (*.net *.split) 2018-10-10T01:37:41Z sukaeto quit (*.net *.split) 2018-10-10T01:37:41Z kingcons quit (*.net *.split) 2018-10-10T01:37:41Z copec quit (*.net *.split) 2018-10-10T01:42:54Z Patternmaster joined #lisp 2018-10-10T01:42:54Z hvxgr joined #lisp 2018-10-10T01:42:54Z Xof joined #lisp 2018-10-10T01:42:54Z Tristam joined #lisp 2018-10-10T01:42:54Z Lord_Nightmare joined #lisp 2018-10-10T01:42:54Z jasom joined #lisp 2018-10-10T01:42:54Z trn joined #lisp 2018-10-10T01:42:54Z justinmcp_ joined #lisp 2018-10-10T01:42:54Z vxe_ joined #lisp 2018-10-10T01:42:54Z _bryan joined #lisp 2018-10-10T01:42:54Z funnel joined #lisp 2018-10-10T01:42:54Z masterdonx joined #lisp 2018-10-10T01:42:54Z kamog joined #lisp 2018-10-10T01:42:54Z dyelar joined #lisp 2018-10-10T01:42:54Z gector joined #lisp 2018-10-10T01:42:54Z q-u-a-n joined #lisp 2018-10-10T01:42:54Z dorothyw joined #lisp 2018-10-10T01:42:54Z alandipert joined #lisp 2018-10-10T01:42:54Z oni-on-ion joined #lisp 2018-10-10T01:42:54Z ryan_vw joined #lisp 2018-10-10T01:43:02Z kushal joined #lisp 2018-10-10T01:43:11Z tsandstr joined #lisp 2018-10-10T01:43:11Z Kaisyu joined #lisp 2018-10-10T01:43:11Z swflint joined #lisp 2018-10-10T01:43:11Z slyrus joined #lisp 2018-10-10T01:43:11Z jkordani_ joined #lisp 2018-10-10T01:43:11Z cgay joined #lisp 2018-10-10T01:43:11Z trittweiler joined #lisp 2018-10-10T01:43:11Z bigfondue joined #lisp 2018-10-10T01:43:11Z azrazalea joined #lisp 2018-10-10T01:43:11Z arbv joined #lisp 2018-10-10T01:43:11Z drot joined #lisp 2018-10-10T01:43:11Z blt joined #lisp 2018-10-10T01:43:11Z dieggsy joined #lisp 2018-10-10T01:43:11Z veinofstars joined #lisp 2018-10-10T01:43:11Z CEnnis91 joined #lisp 2018-10-10T01:43:11Z rotty joined #lisp 2018-10-10T01:43:11Z sigjuice joined #lisp 2018-10-10T01:43:11Z GreaseMonkey joined #lisp 2018-10-10T01:43:11Z weltung joined #lisp 2018-10-10T01:43:11Z brandonz joined #lisp 2018-10-10T01:43:11Z ecraven joined #lisp 2018-10-10T01:43:11Z tfb joined #lisp 2018-10-10T01:43:11Z xristos joined #lisp 2018-10-10T01:43:11Z jdz joined #lisp 2018-10-10T01:43:11Z p9fn joined #lisp 2018-10-10T01:43:11Z gko joined #lisp 2018-10-10T01:43:25Z mhd2018 joined #lisp 2018-10-10T01:43:25Z shifty joined #lisp 2018-10-10T01:43:25Z roshanavand joined #lisp 2018-10-10T01:43:25Z zigpaw joined #lisp 2018-10-10T01:43:25Z lnostdal joined #lisp 2018-10-10T01:43:25Z russellw joined #lisp 2018-10-10T01:43:25Z luis joined #lisp 2018-10-10T01:43:25Z Petit_Dejeuner joined #lisp 2018-10-10T01:43:25Z Demosthenex joined #lisp 2018-10-10T01:43:25Z ym joined #lisp 2018-10-10T01:43:25Z dmiles joined #lisp 2018-10-10T01:43:25Z domovod joined #lisp 2018-10-10T01:43:25Z flazh joined #lisp 2018-10-10T01:43:25Z phadthai joined #lisp 2018-10-10T01:43:25Z kozy joined #lisp 2018-10-10T01:43:25Z thinkpad joined #lisp 2018-10-10T01:43:25Z grumble joined #lisp 2018-10-10T01:43:25Z kini joined #lisp 2018-10-10T01:43:25Z troydm joined #lisp 2018-10-10T01:43:25Z phoe joined #lisp 2018-10-10T01:43:25Z shenghi joined #lisp 2018-10-10T01:43:25Z NB0X-Matt-CA joined #lisp 2018-10-10T01:43:25Z Kaisyu7 joined #lisp 2018-10-10T01:43:25Z jxy joined #lisp 2018-10-10T01:43:25Z reverse_light joined #lisp 2018-10-10T01:43:25Z cyberlard joined #lisp 2018-10-10T01:43:32Z runejuhl joined #lisp 2018-10-10T01:43:32Z mathrick_ joined #lisp 2018-10-10T01:43:32Z mfiano[m] joined #lisp 2018-10-10T01:43:32Z nisstyre joined #lisp 2018-10-10T01:43:32Z |3b| joined #lisp 2018-10-10T01:43:32Z Manny8888 joined #lisp 2018-10-10T01:44:13Z argoneus joined #lisp 2018-10-10T01:44:13Z groovy2shoes joined #lisp 2018-10-10T01:44:13Z drewc joined #lisp 2018-10-10T01:44:13Z eschatologist joined #lisp 2018-10-10T01:44:13Z housel joined #lisp 2018-10-10T01:44:13Z umpc joined #lisp 2018-10-10T01:44:13Z SumoSud0 joined #lisp 2018-10-10T01:44:13Z stux|RC joined #lisp 2018-10-10T01:44:13Z LdBeth joined #lisp 2018-10-10T01:44:13Z jerme_ joined #lisp 2018-10-10T01:44:13Z michalisko joined #lisp 2018-10-10T01:44:13Z ircbrowse joined #lisp 2018-10-10T01:44:13Z meowray joined #lisp 2018-10-10T01:44:23Z elfmacs joined #lisp 2018-10-10T01:44:23Z jack_rabbit joined #lisp 2018-10-10T01:44:23Z _whitelogger joined #lisp 2018-10-10T01:44:23Z shka_ joined #lisp 2018-10-10T01:44:23Z fiddlerwoaroof joined #lisp 2018-10-10T01:44:23Z jgoss joined #lisp 2018-10-10T01:44:23Z lucca joined #lisp 2018-10-10T01:44:23Z v0|d joined #lisp 2018-10-10T01:44:23Z parjanya joined #lisp 2018-10-10T01:44:23Z kooga joined #lisp 2018-10-10T01:44:23Z Ober joined #lisp 2018-10-10T01:44:23Z thijso joined #lisp 2018-10-10T01:44:23Z itruslove joined #lisp 2018-10-10T01:44:23Z xantoz joined #lisp 2018-10-10T01:44:23Z phenoble joined #lisp 2018-10-10T01:44:23Z Patzy joined #lisp 2018-10-10T01:44:23Z dxtr joined #lisp 2018-10-10T01:44:23Z djeis[m] joined #lisp 2018-10-10T01:44:30Z rk[ghost] joined #lisp 2018-10-10T01:44:30Z akovalenko joined #lisp 2018-10-10T01:44:30Z uint joined #lisp 2018-10-10T01:44:30Z katyusha joined #lisp 2018-10-10T01:44:37Z stux|RC quit (Max SendQ exceeded) 2018-10-10T01:44:45Z stereosphere joined #lisp 2018-10-10T01:44:45Z knobo joined #lisp 2018-10-10T01:44:45Z OMGOMG joined #lisp 2018-10-10T01:44:45Z kingcons joined #lisp 2018-10-10T01:44:45Z cross joined #lisp 2018-10-10T01:44:45Z pchrist joined #lisp 2018-10-10T01:44:45Z otwieracz joined #lisp 2018-10-10T01:44:45Z sukaeto joined #lisp 2018-10-10T01:44:45Z ramus joined #lisp 2018-10-10T01:44:45Z copec joined #lisp 2018-10-10T01:44:45Z _whitelogger quit (Write error: Connection reset by peer) 2018-10-10T01:44:54Z beach joined #lisp 2018-10-10T01:44:54Z cpape joined #lisp 2018-10-10T01:44:54Z svillemot joined #lisp 2018-10-10T01:44:54Z lonjil joined #lisp 2018-10-10T01:44:54Z TMA joined #lisp 2018-10-10T01:44:54Z energizer joined #lisp 2018-10-10T01:44:54Z fowlduck joined #lisp 2018-10-10T01:44:54Z bheesham joined #lisp 2018-10-10T01:44:54Z azahi joined #lisp 2018-10-10T01:44:54Z banjiewen joined #lisp 2018-10-10T01:44:54Z easye joined #lisp 2018-10-10T01:44:54Z drmeister joined #lisp 2018-10-10T01:44:54Z p_l joined #lisp 2018-10-10T01:44:54Z thekolb joined #lisp 2018-10-10T01:44:54Z stylewarning joined #lisp 2018-10-10T01:44:54Z johs joined #lisp 2018-10-10T01:44:54Z juristi joined #lisp 2018-10-10T01:44:54Z tazjin joined #lisp 2018-10-10T01:44:54Z Xach joined #lisp 2018-10-10T01:45:00Z slyrus is now known as 7IZAAM9GH 2018-10-10T01:45:12Z vibs29 joined #lisp 2018-10-10T01:45:12Z razzy joined #lisp 2018-10-10T01:45:12Z Jesin joined #lisp 2018-10-10T01:45:12Z jurov joined #lisp 2018-10-10T01:45:12Z foom joined #lisp 2018-10-10T01:45:12Z hjudt joined #lisp 2018-10-10T01:45:12Z kilimanjaro joined #lisp 2018-10-10T01:45:12Z Jachy joined #lisp 2018-10-10T01:45:12Z splittist joined #lisp 2018-10-10T01:45:12Z gendl joined #lisp 2018-10-10T01:45:12Z gingerale joined #lisp 2018-10-10T01:45:12Z Gnuxie[m] joined #lisp 2018-10-10T01:45:12Z rme joined #lisp 2018-10-10T01:45:12Z lieven joined #lisp 2018-10-10T01:45:12Z jhei joined #lisp 2018-10-10T01:45:18Z tomaw- joined #lisp 2018-10-10T01:45:18Z scymtym joined #lisp 2018-10-10T01:45:18Z orivej joined #lisp 2018-10-10T01:45:18Z ravndal joined #lisp 2018-10-10T01:45:18Z eagleflo joined #lisp 2018-10-10T01:45:18Z pfdietz joined #lisp 2018-10-10T01:45:18Z lavaflow joined #lisp 2018-10-10T01:45:18Z drl joined #lisp 2018-10-10T01:45:18Z mfiano joined #lisp 2018-10-10T01:45:18Z mingus joined #lisp 2018-10-10T01:45:18Z scottj joined #lisp 2018-10-10T01:45:18Z gabot joined #lisp 2018-10-10T01:45:18Z megalography joined #lisp 2018-10-10T01:45:18Z froggey joined #lisp 2018-10-10T01:45:18Z DGASAU joined #lisp 2018-10-10T01:45:18Z crsc joined #lisp 2018-10-10T01:45:18Z slyrus joined #lisp 2018-10-10T01:45:18Z acolarh joined #lisp 2018-10-10T01:45:18Z djh joined #lisp 2018-10-10T01:45:18Z d4ryus joined #lisp 2018-10-10T01:45:18Z deba5e12 joined #lisp 2018-10-10T01:45:18Z ski joined #lisp 2018-10-10T01:45:18Z dvdmuckle joined #lisp 2018-10-10T01:45:18Z danielxvu joined #lisp 2018-10-10T01:45:18Z salva joined #lisp 2018-10-10T01:45:18Z koenig joined #lisp 2018-10-10T01:45:18Z Colleen joined #lisp 2018-10-10T01:45:27Z kjeldahl joined #lisp 2018-10-10T01:45:27Z abbe joined #lisp 2018-10-10T01:45:27Z Myon joined #lisp 2018-10-10T01:45:27Z voidlily joined #lisp 2018-10-10T01:45:27Z l1x joined #lisp 2018-10-10T01:45:27Z leo_song joined #lisp 2018-10-10T01:45:27Z loke joined #lisp 2018-10-10T01:45:27Z jgkamat joined #lisp 2018-10-10T01:45:27Z AeroNotix joined #lisp 2018-10-10T01:45:27Z spal joined #lisp 2018-10-10T01:45:27Z malm joined #lisp 2018-10-10T01:45:27Z dlowe joined #lisp 2018-10-10T01:45:27Z antoszka joined #lisp 2018-10-10T01:45:27Z Nikotiini joined #lisp 2018-10-10T01:45:35Z kajo joined #lisp 2018-10-10T01:45:35Z drdo joined #lisp 2018-10-10T01:45:35Z buffergn0me joined #lisp 2018-10-10T01:45:35Z emma_ joined #lisp 2018-10-10T01:45:35Z SlashLife joined #lisp 2018-10-10T01:45:35Z no-defun-allowed joined #lisp 2018-10-10T01:45:35Z tumdum joined #lisp 2018-10-10T01:45:35Z galdor joined #lisp 2018-10-10T01:45:35Z XachX joined #lisp 2018-10-10T01:45:35Z rvirding joined #lisp 2018-10-10T01:45:43Z knicklux joined #lisp 2018-10-10T01:45:43Z iomonad joined #lisp 2018-10-10T01:45:43Z terpri joined #lisp 2018-10-10T01:45:43Z azimut_ joined #lisp 2018-10-10T01:45:43Z flip214 joined #lisp 2018-10-10T01:45:43Z myrkraverk joined #lisp 2018-10-10T01:45:43Z micro joined #lisp 2018-10-10T01:45:43Z jruchti joined #lisp 2018-10-10T01:45:43Z charh joined #lisp 2018-10-10T01:45:43Z Fade joined #lisp 2018-10-10T01:45:43Z _death joined #lisp 2018-10-10T01:45:43Z roscoe_tw joined #lisp 2018-10-10T01:45:43Z White_Flame joined #lisp 2018-10-10T01:45:43Z Shinmera joined #lisp 2018-10-10T01:45:43Z libre-man joined #lisp 2018-10-10T01:45:43Z dan64 joined #lisp 2018-10-10T01:45:43Z sshirokov joined #lisp 2018-10-10T01:45:43Z sbryant joined #lisp 2018-10-10T01:45:43Z lxpz joined #lisp 2018-10-10T01:45:43Z MetaYan joined #lisp 2018-10-10T01:45:43Z Mon_Ouie joined #lisp 2018-10-10T01:45:52Z twokays joined #lisp 2018-10-10T01:45:52Z jackdaniel joined #lisp 2018-10-10T01:45:52Z adlai joined #lisp 2018-10-10T01:45:52Z nydel joined #lisp 2018-10-10T01:45:52Z isoraqathedh joined #lisp 2018-10-10T01:45:52Z spacepluk joined #lisp 2018-10-10T01:45:52Z minion joined #lisp 2018-10-10T01:45:52Z sword joined #lisp 2018-10-10T01:45:52Z saturn2 joined #lisp 2018-10-10T01:45:52Z ja-barr joined #lisp 2018-10-10T01:45:52Z whartung joined #lisp 2018-10-10T01:45:52Z APic joined #lisp 2018-10-10T01:45:52Z z0d joined #lisp 2018-10-10T01:45:52Z CrazyEddy joined #lisp 2018-10-10T01:45:52Z specbot joined #lisp 2018-10-10T01:45:52Z fe[nl]ix joined #lisp 2018-10-10T01:45:52Z Ziemas joined #lisp 2018-10-10T01:45:52Z livingstone.freenode.net has set mode +o fe[nl]ix 2018-10-10T01:47:40Z APic quit (Max SendQ exceeded) 2018-10-10T01:48:51Z stux|RC-only joined #lisp 2018-10-10T01:48:57Z les joined #lisp 2018-10-10T01:49:05Z mood joined #lisp 2018-10-10T01:49:10Z emerson joined #lisp 2018-10-10T01:49:12Z nowhere_man joined #lisp 2018-10-10T01:49:14Z aeth joined #lisp 2018-10-10T01:49:33Z wanz joined #lisp 2018-10-10T01:49:43Z igemnace joined #lisp 2018-10-10T01:49:47Z dim joined #lisp 2018-10-10T01:49:48Z creat joined #lisp 2018-10-10T01:49:57Z APic joined #lisp 2018-10-10T01:49:59Z iskander joined #lisp 2018-10-10T01:50:16Z _whitelogger joined #lisp 2018-10-10T01:50:39Z stux|RC joined #lisp 2018-10-10T01:50:42Z beaky joined #lisp 2018-10-10T01:51:47Z tripty joined #lisp 2018-10-10T01:52:53Z tripty quit (Changing host) 2018-10-10T01:52:53Z tripty joined #lisp 2018-10-10T01:54:25Z wooden_ joined #lisp 2018-10-10T01:56:20Z K1rk joined #lisp 2018-10-10T02:00:00Z emma_ quit (Quit: leaving) 2018-10-10T02:00:08Z Tordek joined #lisp 2018-10-10T02:01:43Z esrse joined #lisp 2018-10-10T02:06:52Z rumbler31 joined #lisp 2018-10-10T02:10:58Z rumbler31 quit (Ping timeout: 246 seconds) 2018-10-10T02:17:54Z robotoad joined #lisp 2018-10-10T02:19:03Z nckx joined #lisp 2018-10-10T02:19:33Z Guest68062 joined #lisp 2018-10-10T02:19:52Z Guest68062 is now known as PuercoPop 2018-10-10T02:24:04Z makomo quit (Ping timeout: 244 seconds) 2018-10-10T02:25:53Z ealfonso joined #lisp 2018-10-10T02:26:50Z ealfonso: Why do I get different results with macro vs macrolet? https://pastebin.com/4nu0qsr9 2018-10-10T02:27:38Z beach: Good morning everyone! 2018-10-10T02:27:39Z |3b|: you need to pass the local environment to macro0expand to see macrolet 2018-10-10T02:28:24Z |3b| doesn't remember if there is a better way to get that local environment than with a macro or not 2018-10-10T02:28:39Z beach: I don't think so. 2018-10-10T02:28:44Z meepdeew joined #lisp 2018-10-10T02:29:29Z |3b|: macro/macrolet accept &environment lambda-list keyword to let you get access to the environment while expanding the macro 2018-10-10T02:32:24Z |3b|: something like (defmacro x (form &environment e) `',(macroexpand form e)) 2018-10-10T02:32:58Z meepdeew quit (Ping timeout: 245 seconds) 2018-10-10T02:33:12Z |3b|: then inside your macrolet (x (slot my-slot)) will expand to '(my-slot ...) 2018-10-10T02:33:44Z frgo joined #lisp 2018-10-10T02:34:41Z dented42 joined #lisp 2018-10-10T02:36:37Z beaky quit (Quit: WeebChat 2.0.1) 2018-10-10T02:38:01Z frgo quit (Ping timeout: 244 seconds) 2018-10-10T02:40:44Z ealfonso quit (Ping timeout: 252 seconds) 2018-10-10T02:43:34Z ealfonso joined #lisp 2018-10-10T02:44:14Z ealfonso: beach |3b| thanks 2018-10-10T02:46:42Z shifty quit (Ping timeout: 268 seconds) 2018-10-10T02:51:10Z 7IZAAM9GH quit (Quit: 7IZAAM9GH) 2018-10-10T02:51:33Z slyrus1 joined #lisp 2018-10-10T02:52:49Z meepdeew joined #lisp 2018-10-10T02:53:42Z drl quit (Ping timeout: 252 seconds) 2018-10-10T02:54:26Z ealfonso: actually I'm still stuck... shouldn't the inner macro (defined via macrolet) be expanded before the defclass macro? https://pastebin.com/1U571DZC 2018-10-10T02:55:25Z Bike: no. 2018-10-10T02:55:29Z Bike: why would it be? 2018-10-10T02:56:08Z Bike: since that's not even in a normal evaluation context, the my-local-slot-macro form will never be evaluated, so it's just a syntax error. 2018-10-10T02:56:54Z beach: ealfonso: Macro calls are expanded only when they are in a position of evaluation. 2018-10-10T02:57:24Z beach: ealfonso: The slots of a DEFMACRO form are not in such a position. 2018-10-10T02:57:26Z ealfonso: I see 2018-10-10T02:57:44Z beach: I am saying the same thing as Bike, only with different words. 2018-10-10T02:59:48Z lavaflow quit (Read error: Connection reset by peer) 2018-10-10T03:01:57Z meepdeew quit (Ping timeout: 252 seconds) 2018-10-10T03:02:06Z lavaflow joined #lisp 2018-10-10T03:06:09Z drl joined #lisp 2018-10-10T03:08:45Z linack joined #lisp 2018-10-10T03:11:04Z Copenhagen_Bram joined #lisp 2018-10-10T03:12:03Z r1b joined #lisp 2018-10-10T03:12:24Z ealfonso quit (Ping timeout: 252 seconds) 2018-10-10T03:12:27Z meepdeew joined #lisp 2018-10-10T03:17:21Z meepdeew quit (Ping timeout: 252 seconds) 2018-10-10T03:19:29Z meepdeew joined #lisp 2018-10-10T03:22:20Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-10T03:25:56Z fiddlerwoaroof quit (Quit: Gone.) 2018-10-10T03:26:27Z _whitelogger quit (Remote host closed the connection) 2018-10-10T03:26:29Z fiddlerwoaroof joined #lisp 2018-10-10T03:28:54Z meepdeew quit (Ping timeout: 252 seconds) 2018-10-10T03:29:26Z meepdeew joined #lisp 2018-10-10T03:31:14Z pjb joined #lisp 2018-10-10T03:37:57Z meepdeew quit (Ping timeout: 244 seconds) 2018-10-10T03:37:57Z drl quit (Ping timeout: 244 seconds) 2018-10-10T03:43:30Z v0|d quit (Remote host closed the connection) 2018-10-10T03:45:59Z beaky joined #lisp 2018-10-10T03:50:27Z drl joined #lisp 2018-10-10T03:52:58Z fiddlerwoaroof quit (Quit: Gone.) 2018-10-10T03:53:22Z meepdeew joined #lisp 2018-10-10T03:53:49Z rumbler31 joined #lisp 2018-10-10T03:55:14Z fiddlerwoaroof joined #lisp 2018-10-10T03:57:43Z meepdeew quit (Ping timeout: 246 seconds) 2018-10-10T03:58:09Z meepdeew joined #lisp 2018-10-10T03:59:57Z r1b quit (Quit: r1b) 2018-10-10T04:02:18Z aindilis joined #lisp 2018-10-10T04:02:22Z Bike quit (Quit: Lost terminal) 2018-10-10T04:02:37Z meepdeew quit (Ping timeout: 246 seconds) 2018-10-10T04:03:11Z meepdeew joined #lisp 2018-10-10T04:05:04Z pjb quit (Ping timeout: 252 seconds) 2018-10-10T04:07:23Z fiddlerwoaroof quit (Quit: Gone.) 2018-10-10T04:07:57Z sauvin joined #lisp 2018-10-10T04:07:59Z moei joined #lisp 2018-10-10T04:08:24Z fiddlerwoaroof joined #lisp 2018-10-10T04:11:48Z meepdeew quit (Ping timeout: 250 seconds) 2018-10-10T04:20:37Z linack quit (Quit: Leaving) 2018-10-10T04:22:18Z meepdeew joined #lisp 2018-10-10T04:22:42Z beach quit (Ping timeout: 252 seconds) 2018-10-10T04:23:19Z _whitelogger joined #lisp 2018-10-10T04:25:06Z ryan_vw quit (Ping timeout: 272 seconds) 2018-10-10T04:26:31Z meepdeew quit (Ping timeout: 244 seconds) 2018-10-10T04:27:35Z meepdeew joined #lisp 2018-10-10T04:31:35Z pjb joined #lisp 2018-10-10T04:32:09Z meepdeew quit (Ping timeout: 252 seconds) 2018-10-10T04:33:35Z shifty joined #lisp 2018-10-10T04:34:35Z meepdeew joined #lisp 2018-10-10T04:35:18Z quazimodo quit (Ping timeout: 244 seconds) 2018-10-10T04:35:25Z beach joined #lisp 2018-10-10T04:37:19Z quazimodo joined #lisp 2018-10-10T04:38:48Z meepdeew quit (Ping timeout: 245 seconds) 2018-10-10T04:45:05Z _whitelogger quit (Remote host closed the connection) 2018-10-10T04:47:18Z _whitelogger joined #lisp 2018-10-10T04:49:50Z mhd2018 quit (Quit: Textual IRC Client: www.textualapp.com) 2018-10-10T04:51:55Z vlatkoB joined #lisp 2018-10-10T05:00:06Z _whitelogger quit (Remote host closed the connection) 2018-10-10T05:01:41Z otwieracz quit (Quit: WeeChat 2.1) 2018-10-10T05:02:21Z _whitelogger joined #lisp 2018-10-10T05:04:36Z pjb quit (Ping timeout: 252 seconds) 2018-10-10T05:05:21Z otwieracz joined #lisp 2018-10-10T05:07:39Z wanz quit (Quit: wanz) 2018-10-10T05:16:42Z rumbler31 quit (Remote host closed the connection) 2018-10-10T05:21:39Z beach quit (Ping timeout: 252 seconds) 2018-10-10T05:21:46Z ryan_vw joined #lisp 2018-10-10T05:22:27Z beach joined #lisp 2018-10-10T05:32:24Z igemnace quit (Quit: WeeChat 2.2) 2018-10-10T05:33:45Z igemnace joined #lisp 2018-10-10T05:42:54Z igemnace quit (Quit: WeeChat 2.2) 2018-10-10T05:49:35Z igemnace joined #lisp 2018-10-10T05:52:04Z steiner joined #lisp 2018-10-10T06:04:00Z orivej quit (Ping timeout: 252 seconds) 2018-10-10T06:04:56Z robotoad quit (Quit: robotoad) 2018-10-10T06:08:45Z JohnMS_WORK joined #lisp 2018-10-10T06:16:42Z astronavt joined #lisp 2018-10-10T06:24:21Z ryan_vw quit (Ping timeout: 252 seconds) 2018-10-10T06:26:32Z orivej joined #lisp 2018-10-10T06:27:39Z scymtym quit (Ping timeout: 252 seconds) 2018-10-10T06:44:08Z shka_: good morning 2018-10-10T06:44:27Z no-defun-allowed: morning shka_ 2018-10-10T06:46:18Z domovod quit (Quit: WeeChat 2.2) 2018-10-10T06:47:00Z splittist: morning shka_ 2018-10-10T07:07:07Z arbv quit (Quit: ZNC - https://znc.in) 2018-10-10T07:07:28Z arbv joined #lisp 2018-10-10T07:08:04Z Kaisyu quit (Read error: Connection reset by peer) 2018-10-10T07:08:10Z tfb quit (Read error: Connection reset by peer) 2018-10-10T07:08:15Z CEnnis91 quit (Read error: Connection reset by peer) 2018-10-10T07:08:15Z Kaisyu joined #lisp 2018-10-10T07:08:16Z veinofstars quit (Read error: Connection reset by peer) 2018-10-10T07:08:16Z weltung quit (Write error: Connection reset by peer) 2018-10-10T07:08:22Z tfb joined #lisp 2018-10-10T07:08:28Z veinofstars joined #lisp 2018-10-10T07:08:33Z ecraven quit (Ping timeout: 252 seconds) 2018-10-10T07:08:33Z xristos quit (Ping timeout: 252 seconds) 2018-10-10T07:08:56Z GreaseMonkey quit (Remote host closed the connection) 2018-10-10T07:09:06Z tripty quit (Ping timeout: 252 seconds) 2018-10-10T07:09:06Z creat quit (Ping timeout: 252 seconds) 2018-10-10T07:09:07Z CEnnis91 joined #lisp 2018-10-10T07:09:39Z iskander quit (Ping timeout: 252 seconds) 2018-10-10T07:09:39Z swflint quit (Ping timeout: 252 seconds) 2018-10-10T07:09:39Z sigjuice quit (Ping timeout: 252 seconds) 2018-10-10T07:09:39Z jdz quit (Ping timeout: 252 seconds) 2018-10-10T07:10:12Z bigfondue quit (Ping timeout: 252 seconds) 2018-10-10T07:10:12Z rotty quit (Ping timeout: 252 seconds) 2018-10-10T07:10:12Z brandonz quit (Ping timeout: 252 seconds) 2018-10-10T07:10:12Z gko quit (Ping timeout: 252 seconds) 2018-10-10T07:10:12Z p9fn quit (Ping timeout: 252 seconds) 2018-10-10T07:10:24Z swflint joined #lisp 2018-10-10T07:10:30Z ecraven joined #lisp 2018-10-10T07:10:46Z jdz joined #lisp 2018-10-10T07:10:56Z creat joined #lisp 2018-10-10T07:10:58Z rotty joined #lisp 2018-10-10T07:11:01Z tripty joined #lisp 2018-10-10T07:11:11Z iskander joined #lisp 2018-10-10T07:11:34Z gko joined #lisp 2018-10-10T07:12:41Z sigjuice joined #lisp 2018-10-10T07:14:53Z Copenhagen_Bram quit (Remote host closed the connection) 2018-10-10T07:17:04Z Copenhagen_Bram joined #lisp 2018-10-10T07:22:49Z SaganMan joined #lisp 2018-10-10T07:28:23Z orivej quit (Ping timeout: 244 seconds) 2018-10-10T07:33:38Z scymtym joined #lisp 2018-10-10T07:34:57Z jdz quit (Ping timeout: 252 seconds) 2018-10-10T07:35:52Z jdz joined #lisp 2018-10-10T07:36:03Z gko quit (Ping timeout: 252 seconds) 2018-10-10T07:36:57Z brandonz joined #lisp 2018-10-10T07:37:31Z gko joined #lisp 2018-10-10T07:41:24Z dented42 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-10-10T07:41:28Z bigfondue joined #lisp 2018-10-10T07:44:54Z pjb joined #lisp 2018-10-10T07:46:28Z frgo joined #lisp 2018-10-10T07:48:22Z heisig joined #lisp 2018-10-10T07:51:06Z nirved joined #lisp 2018-10-10T07:57:27Z tomaw- is now known as tomaw 2018-10-10T08:00:18Z angavrilov joined #lisp 2018-10-10T08:02:32Z frgo quit (Remote host closed the connection) 2018-10-10T08:02:44Z frgo joined #lisp 2018-10-10T08:03:19Z frgo quit (Remote host closed the connection) 2018-10-10T08:05:10Z hhdave joined #lisp 2018-10-10T08:07:05Z hhdave_ joined #lisp 2018-10-10T08:09:38Z hhdave quit (Ping timeout: 245 seconds) 2018-10-10T08:09:38Z hhdave_ is now known as hhdave 2018-10-10T08:09:53Z Harag joined #lisp 2018-10-10T08:18:06Z frgo joined #lisp 2018-10-10T08:18:32Z stereosphere quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2018-10-10T08:19:42Z pjb quit (Ping timeout: 264 seconds) 2018-10-10T08:22:12Z moei quit (Read error: Connection reset by peer) 2018-10-10T08:22:49Z moei joined #lisp 2018-10-10T08:32:34Z dented42 joined #lisp 2018-10-10T08:37:35Z dented42 quit (Ping timeout: 268 seconds) 2018-10-10T08:39:13Z myrmidon joined #lisp 2018-10-10T08:42:52Z cl-arthur joined #lisp 2018-10-10T09:06:26Z dented42 joined #lisp 2018-10-10T09:06:40Z jgoss quit (Remote host closed the connection) 2018-10-10T09:11:26Z asymptotically joined #lisp 2018-10-10T09:16:13Z ebzzry joined #lisp 2018-10-10T09:24:57Z flamebeard joined #lisp 2018-10-10T09:29:11Z zfree joined #lisp 2018-10-10T09:35:54Z varjag joined #lisp 2018-10-10T09:39:19Z dented42 quit (Ping timeout: 246 seconds) 2018-10-10T09:48:09Z knicklux quit (Quit: Leaving) 2018-10-10T09:48:16Z SaganMan quit (Ping timeout: 252 seconds) 2018-10-10T09:50:10Z flamebeard quit (Remote host closed the connection) 2018-10-10T10:04:52Z roshanavand quit (Quit: leaving) 2018-10-10T10:15:35Z dented42 joined #lisp 2018-10-10T10:16:17Z pjb joined #lisp 2018-10-10T10:17:17Z siraben joined #lisp 2018-10-10T10:26:11Z jack_rabbit quit (Ping timeout: 260 seconds) 2018-10-10T10:36:43Z mingus quit (Remote host closed the connection) 2018-10-10T10:38:25Z orivej joined #lisp 2018-10-10T10:40:00Z mingus joined #lisp 2018-10-10T10:42:55Z frgo quit (Remote host closed the connection) 2018-10-10T10:46:54Z dented42 quit (Ping timeout: 252 seconds) 2018-10-10T10:48:52Z frgo joined #lisp 2018-10-10T10:49:42Z pjb quit (Ping timeout: 264 seconds) 2018-10-10T10:53:30Z frgo quit (Ping timeout: 252 seconds) 2018-10-10T10:53:35Z igemnace quit (Quit: WeeChat 2.2) 2018-10-10T10:55:30Z moei quit (Ping timeout: 252 seconds) 2018-10-10T10:57:07Z lemoinem quit (Ping timeout: 244 seconds) 2018-10-10T10:59:38Z frgo joined #lisp 2018-10-10T11:04:58Z orivej quit (Ping timeout: 268 seconds) 2018-10-10T11:06:31Z SaganMan joined #lisp 2018-10-10T11:09:45Z orivej joined #lisp 2018-10-10T11:23:00Z dented42 joined #lisp 2018-10-10T11:35:47Z charh quit (Remote host closed the connection) 2018-10-10T11:38:18Z esrse quit (Ping timeout: 264 seconds) 2018-10-10T11:38:56Z flamebeard joined #lisp 2018-10-10T11:41:53Z flamebeard quit (Remote host closed the connection) 2018-10-10T11:46:10Z Harag1 joined #lisp 2018-10-10T11:47:33Z Harag quit (Ping timeout: 245 seconds) 2018-10-10T11:48:34Z Harag1 is now known as Harag 2018-10-10T11:55:27Z dented42 quit (Ping timeout: 252 seconds) 2018-10-10T11:57:02Z galdor quit (Quit: WeeChat 2.2) 2018-10-10T11:57:31Z galdor joined #lisp 2018-10-10T11:58:20Z Essadon joined #lisp 2018-10-10T12:00:15Z roshanavand joined #lisp 2018-10-10T12:03:31Z shifty quit (Ping timeout: 246 seconds) 2018-10-10T12:07:44Z sunset_NOVA joined #lisp 2018-10-10T12:13:40Z m00natic joined #lisp 2018-10-10T12:14:39Z cl-arthur quit (Quit: Lost terminal) 2018-10-10T12:15:17Z pjb joined #lisp 2018-10-10T12:17:06Z kamog quit (Quit: Leaving.) 2018-10-10T12:26:51Z flamebeard joined #lisp 2018-10-10T12:36:19Z sunset_NOVA quit (Ping timeout: 244 seconds) 2018-10-10T12:36:30Z eschatologist quit (Ping timeout: 264 seconds) 2018-10-10T12:38:54Z moei joined #lisp 2018-10-10T12:41:09Z dented42 joined #lisp 2018-10-10T12:41:58Z sunset_NOVA joined #lisp 2018-10-10T12:47:06Z asymptotically2 joined #lisp 2018-10-10T12:49:21Z pjb quit (Ping timeout: 252 seconds) 2018-10-10T12:50:11Z asymptotically quit (Ping timeout: 256 seconds) 2018-10-10T12:53:32Z moei quit (Quit: Leaving...) 2018-10-10T12:55:24Z LiamH joined #lisp 2018-10-10T13:01:13Z flamebeard quit (Remote host closed the connection) 2018-10-10T13:03:30Z steiner quit (Remote host closed the connection) 2018-10-10T13:04:26Z warweasle joined #lisp 2018-10-10T13:04:54Z shka_: heisig: hello 2018-10-10T13:05:18Z shka_: heisig: where should i start reading petalisp source code to understand how code generation works? 2018-10-10T13:05:52Z shka_: I am trying to figure out your technics 2018-10-10T13:08:25Z X-Scale joined #lisp 2018-10-10T13:09:14Z heisig: shka_: Thank you for your interest! The recommended reading order is just the order that ASDF uses. Another way is to use (break) and M-. to dive into the code. 2018-10-10T13:09:34Z aindilis quit (Ping timeout: 250 seconds) 2018-10-10T13:09:36Z shka_: ok, sounds fine 2018-10-10T13:09:38Z shka_: thanks! 2018-10-10T13:10:48Z asymptotically2 is now known as asymptotically 2018-10-10T13:12:07Z dented42 quit (Ping timeout: 246 seconds) 2018-10-10T13:16:56Z Bike joined #lisp 2018-10-10T13:17:28Z SumoSud0 quit (Remote host closed the connection) 2018-10-10T13:18:47Z SumoSud0 joined #lisp 2018-10-10T13:22:17Z lemoinem joined #lisp 2018-10-10T13:25:19Z steiner joined #lisp 2018-10-10T13:31:48Z ggole joined #lisp 2018-10-10T13:53:10Z frgo quit (Remote host closed the connection) 2018-10-10T13:58:24Z heisig quit (Quit: Leaving) 2018-10-10T14:08:52Z moei joined #lisp 2018-10-10T14:10:05Z nixfreak joined #lisp 2018-10-10T14:11:16Z dented42 joined #lisp 2018-10-10T14:13:26Z stacksmith joined #lisp 2018-10-10T14:14:58Z stacksmith left #lisp 2018-10-10T14:15:12Z stacksmith joined #lisp 2018-10-10T14:17:43Z frgo joined #lisp 2018-10-10T14:26:04Z shka_ quit (Quit: WeeChat 1.9.1) 2018-10-10T14:26:45Z lieven quit (Ping timeout: 250 seconds) 2018-10-10T14:27:37Z galdor quit (Ping timeout: 250 seconds) 2018-10-10T14:33:33Z FreeBirdLjj joined #lisp 2018-10-10T14:37:49Z myrmidon quit (Quit: Leaving) 2018-10-10T14:41:24Z lieven joined #lisp 2018-10-10T14:42:58Z dented42 quit (Ping timeout: 245 seconds) 2018-10-10T14:45:30Z Harag quit (Ping timeout: 264 seconds) 2018-10-10T14:45:49Z pjb joined #lisp 2018-10-10T14:59:34Z pfdietz: aeth: oni-on-ion: Waters' old COVER package will be going into quicklisp soonish. I tidied it up a bit and wrote an asd file. https://github.com/pfdietz/cover 2018-10-10T14:59:43Z eMBee joined #lisp 2018-10-10T15:01:31Z rippa joined #lisp 2018-10-10T15:02:51Z vaporatorius joined #lisp 2018-10-10T15:19:30Z pjb quit (Ping timeout: 252 seconds) 2018-10-10T15:30:54Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-10T15:31:02Z astronavt quit (Remote host closed the connection) 2018-10-10T15:31:15Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-10T15:31:25Z astronavt joined #lisp 2018-10-10T15:31:42Z FreeBirdLjj joined #lisp 2018-10-10T15:32:51Z quazimodo joined #lisp 2018-10-10T15:35:12Z robotoad joined #lisp 2018-10-10T15:36:14Z nsrahmad joined #lisp 2018-10-10T15:36:33Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2018-10-10T15:37:58Z chipolux joined #lisp 2018-10-10T15:53:48Z quazimodo quit (Ping timeout: 245 seconds) 2018-10-10T15:54:42Z astronavt quit (Ping timeout: 252 seconds) 2018-10-10T15:55:59Z quazimodo joined #lisp 2018-10-10T15:56:36Z jasom: pfdietz: interesting; I wonder if that could be used to write something like AFL (a tool for generating inputs to take each possible branch). 2018-10-10T15:58:01Z pfdietz: This is part of my plan! 2018-10-10T15:58:33Z jasom: pfdietz: thanks! it's people like you that allow me to sit on the couch eating bon-bons all day :) 2018-10-10T15:59:10Z didi joined #lisp 2018-10-10T15:59:51Z pfdietz: The plan is to generalize the "point" data structure there to allow subclassing and custom behaviors. For that use case, it needs checkpointing and rollback, so tests can be tracked if they increase coverage, and then the test minimized to the smallest input(s) that still increase coverage. 2018-10-10T16:00:26Z pfdietz: Current issue I have with COVER is that it doesn't play well with certain macro packages, particularly ITERATE. 2018-10-10T16:00:41Z didi: Can I use function EQ to compare two instances of a class? 2018-10-10T16:00:47Z pfdietz: Yes 2018-10-10T16:00:57Z didi: Cool. Thank you. 2018-10-10T16:01:13Z pfdietz: It will determine if they are the same object, not do a slot-by-slot comparison. 2018-10-10T16:01:23Z didi: That's exactly what I want. 2018-10-10T16:01:57Z pfdietz: The only place you need to beware of EQ is with numbers and characters. Use EQL for those. Or, in general, use EQL instead of EQ unless you want to microoptimize. 2018-10-10T16:02:12Z didi: Thank you. 2018-10-10T16:02:45Z JohnMS_WORK quit (Read error: Connection reset by peer) 2018-10-10T16:03:09Z rumbler31 joined #lisp 2018-10-10T16:03:19Z cage_ joined #lisp 2018-10-10T16:04:59Z rumbler31 quit (Remote host closed the connection) 2018-10-10T16:08:25Z sjl joined #lisp 2018-10-10T16:10:23Z zfree quit (Remote host closed the connection) 2018-10-10T16:11:42Z FreeBirdLjj joined #lisp 2018-10-10T16:14:52Z ggole quit (Quit: ggole) 2018-10-10T16:16:43Z FreeBirdLjj quit (Ping timeout: 245 seconds) 2018-10-10T16:16:53Z shka_ joined #lisp 2018-10-10T16:20:07Z slightlycyborg joined #lisp 2018-10-10T16:20:55Z dented42 joined #lisp 2018-10-10T16:22:26Z slightlycyborg: Hi. I am interested in the concept of dyanmically loaded lisp packages. I want to run a top level form that loads some code, uses that code, and then unloads that code so it doesn't consume ram. What is the best way to do this? 2018-10-10T16:22:49Z Bike: the unloading part is hard. 2018-10-10T16:23:06Z Bike: loading code can have arbitrary side effects, so there's no nonspecific way to undo a load. 2018-10-10T16:23:11Z Bike: you can undefine functions and stuff though. 2018-10-10T16:24:35Z slightlycyborg: Ok. I am just imagining having more code on my machines HD than I have space for in RAM. If I want to use all that code at different points in time while still keeping the same lisp process up and running, then I will have to load and unload. 2018-10-10T16:25:48Z Shinmera: why imagine. Worry about it once you confirm that this is actually a problem. 2018-10-10T16:26:02Z beach: slightlycyborg: Your virtual-memory system will likely take care of it. 2018-10-10T16:26:55Z asarch joined #lisp 2018-10-10T16:27:05Z slightlycyborg: Ok. Those are both good points. 2018-10-10T16:31:08Z Harag joined #lisp 2018-10-10T16:34:29Z shka_: good evening 2018-10-10T16:34:50Z beach: Hello shka_. 2018-10-10T16:39:02Z jcowan joined #lisp 2018-10-10T16:39:13Z hhdave quit (Ping timeout: 245 seconds) 2018-10-10T16:42:01Z pjb joined #lisp 2018-10-10T16:44:22Z LdBeth: good morning 2018-10-10T16:44:52Z jcowan: Good afternoon! 2018-10-10T16:46:24Z Bike: good time 2018-10-10T16:49:03Z varjagg joined #lisp 2018-10-10T16:49:08Z stereosphere joined #lisp 2018-10-10T16:52:33Z dented42 quit (Ping timeout: 245 seconds) 2018-10-10T16:52:55Z FreeBirdLjj joined #lisp 2018-10-10T16:57:03Z sunset_NOVA quit (Quit: Leaving) 2018-10-10T16:57:11Z shka_: Bike: :D 2018-10-10T16:57:15Z didi left #lisp 2018-10-10T16:57:52Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2018-10-10T16:58:23Z jasom: beach: vm will take care of it, but then you need to swap to do a full heap GC :( 2018-10-10T16:59:11Z shka_: documentation for cl-progress-bar is not in the quickref 2018-10-10T16:59:25Z shka_: any idea why is that? 2018-10-10T17:01:05Z jasom: slightlycyborg: it's unlikely to be a real issue if you're only running a single lisp process because code has gotten larger much slower than RAM has gotten cheaper. If you do run into a problem you can enforce that a loadable "unit" of code use a single package and then delete the package, which may render most of the functions and global variables loaded unreachable 2018-10-10T17:01:44Z Shinmera: also typically the size of data far dwarfs the size of code 2018-10-10T17:02:53Z slightlycyborg: jasom. I was contemplating a lisp machine on top of linux where there is a single lisp process and all subsequent processes are sbcl threads. 2018-10-10T17:03:40Z slightlycyborg: Ok so if fn's are unreachable then they get gc'd I guess. I didn't know how fns work. I assumed data would get gc'd since that complies with my model of a java gc 2018-10-10T17:04:34Z Shinmera: The standard does not mandate GC of any kind. In practice every implementation so far has GC of some kind, though not all GC functions. 2018-10-10T17:05:02Z Shinmera: (Clasp for instance does not due to LLVM complications) 2018-10-10T17:05:04Z FreeBirdLjj joined #lisp 2018-10-10T17:05:08Z Kundry_Wag joined #lisp 2018-10-10T17:05:23Z Kundry_Wag quit (Remote host closed the connection) 2018-10-10T17:05:35Z frgo quit (Remote host closed the connection) 2018-10-10T17:06:04Z frgo joined #lisp 2018-10-10T17:06:04Z m00natic quit (Remote host closed the connection) 2018-10-10T17:10:28Z frgo quit (Ping timeout: 245 seconds) 2018-10-10T17:11:16Z quazimodo quit (Ping timeout: 268 seconds) 2018-10-10T17:13:02Z quazimodo joined #lisp 2018-10-10T17:14:30Z rixard joined #lisp 2018-10-10T17:15:50Z sauvin quit (Remote host closed the connection) 2018-10-10T17:16:18Z pfdietz: Code not being GCed is a problem for things I do, but there are workarounds. 2018-10-10T17:26:17Z jack_rabbit joined #lisp 2018-10-10T17:32:20Z Kaisyu quit (Quit: Connection closed for inactivity) 2018-10-10T17:34:05Z rixard quit (Quit: rixard) 2018-10-10T17:34:41Z nsrahmad quit (Remote host closed the connection) 2018-10-10T17:36:57Z frgo joined #lisp 2018-10-10T17:38:14Z frgo quit (Remote host closed the connection) 2018-10-10T17:38:32Z frgo joined #lisp 2018-10-10T17:39:36Z cage_ quit (Remote host closed the connection) 2018-10-10T17:40:12Z Selwyn joined #lisp 2018-10-10T17:41:29Z SenasOzys joined #lisp 2018-10-10T17:52:06Z dented42 joined #lisp 2018-10-10T17:52:10Z jasom: slightlycyborg: of course if you have any references to the names of the functions lying around (most obvious would be actual calls to the function, but any variables with the same name would do it as well), then the functions likely wont be GC'd, and it is very implementation dependent. 2018-10-10T17:52:24Z beach: jasom: Depends on the kind of GC you have. :) 2018-10-10T17:52:32Z jasom: but sbcl will GC code inasmuch as it GCs anything 2018-10-10T17:53:30Z orivej quit (Ping timeout: 252 seconds) 2018-10-10T17:53:45Z jasom: beach: I suppose a reference counted GC wouldn't need to walk the tree, but most other GCs tend to at least occasionally walk the entire heap (even if just incrementally). 2018-10-10T17:53:48Z steiner quit (Ping timeout: 245 seconds) 2018-10-10T17:54:34Z beach: jasom: True. I was (jokingly) referring to the fact that most GCs will in fact traverse the entire heap because they copy it. 2018-10-10T17:55:31Z jasom: beach: most lisp GCs will; mostly-copying GCs tend to be less popular in other runtimes, in favor of either compacting or even non-moving GCs. 2018-10-10T17:56:23Z White_Flame: and if course, if you go oldschool like picolisp, then every object on the heap is 2 words and fragmentation isn't an issue at all 2018-10-10T17:56:39Z jasom: IIRC you have a GC design that only moves when promoting from the nursery. 2018-10-10T17:57:19Z beach: jasom: I was also (jokingly) making an allusion to the planned SICL GC which I think would have less of a paging problem since the global collector does not move objects around. 2018-10-10T17:57:43Z jasom: I haven't measured it, but I imagine that non-moving GCs would be more VM friendly since they wouldn't dirty pages with only old objects. 2018-10-10T17:57:50Z beach: Yeah. 2018-10-10T17:58:31Z Copenhagen_Bram quit (Read error: Connection reset by peer) 2018-10-10T17:59:08Z jasom: does sbcl at least not move very large objects? When I was playing around with a toy incremental copying GC, that was a fairly large win. 2018-10-10T17:59:56Z beach: White_Flame: Interestingly, I made an early decision with SICL that every heap allocated object is either a 2-word CONS cell, or it has a 2-word "header" which has one pointer to the class and another pointer to the "rack" (which contains all data), so I can have the advantages of a mark-and-sweep collector for the CONS cells and headers, and I use a malloc/free style allocator for the racks (Doug Lea's technique). 2018-10-10T18:00:31Z beach: Therefore object allocated in the global heap do not move. 2018-10-10T18:00:46Z White_Flame: would things like boxed double-floats need to have a header/rack as well? 2018-10-10T18:00:54Z beach: Yes. 2018-10-10T18:01:12Z jasom: is the rack for 2-word objects in malloc style heap too? 2018-10-10T18:01:19Z jasom: that was unclear from the paper. 2018-10-10T18:01:51Z beach: Good question. 2018-10-10T18:01:53Z jasom: though I only read it once, and 3 is a minimum for me actually understanding technical papers 2018-10-10T18:02:05Z jcowan: Java has pluggable GC, and has just introduced a GC that does not collect garbage. It can be used to induce memory pressure. 2018-10-10T18:02:10Z beach: Yes, I don't think a 2-word rack would exist. 2018-10-10T18:02:14Z Josh_2 joined #lisp 2018-10-10T18:02:51Z jcowan: beach: Do you have any immediate representations in SICL? 2018-10-10T18:03:07Z beach: Sure, fixnums, characters, single floats. 2018-10-10T18:03:14Z jasom: CONS and fixnum at least I remember. 2018-10-10T18:03:36Z jasom: oh, are conses not immediates? 2018-10-10T18:03:50Z beach: I don't call that immediate, no. 2018-10-10T18:04:00Z beach: But they have no rack. 2018-10-10T18:04:08Z beach: Only a 2-word cell. 2018-10-10T18:04:29Z jasom: hmm if you ran in x32 mode they could be immediates (totally the opposite direction you are going, but gives me a fairly useless idea). 2018-10-10T18:04:40Z beach: jasom: A rack contains at the very least a stamp and a list of slots. So an object with 1 word information would have 3 words in it. 2018-10-10T18:04:53Z jasom: beach: that makes sense 2018-10-10T18:05:02Z jcowan nods 2018-10-10T18:05:08Z beach: jasom: I don't think I am going to try 32-bit stuff. 2018-10-10T18:05:39Z jasom: beach: that would make some of your persistance ideas non-workable 2018-10-10T18:05:49Z jasom: 32-bit address space that is 2018-10-10T18:05:53Z beach: Yeah. 2018-10-10T18:06:01Z jcowan: So you distinguish between pairs and non-pairs using a low tag? 2018-10-10T18:06:02Z beach: One reason I am willing to drop it. 2018-10-10T18:06:23Z beach: Yes, CONS cells and "general instances" have different tags. 2018-10-10T18:07:08Z jcowan: In the pointer, or in the object? 2018-10-10T18:07:16Z beach: In the pointer. 2018-10-10T18:07:16Z astronavt joined #lisp 2018-10-10T18:07:23Z jcowan: Gotcha, thanks 2018-10-10T18:07:35Z beach: Pleasure. 2018-10-10T18:08:48Z astronavt quit (Max SendQ exceeded) 2018-10-10T18:09:17Z astronavt joined #lisp 2018-10-10T18:09:17Z beach: I am off to spend time with my (admittedly small) family. I'll be back tomorrow morning (UTC+2). 2018-10-10T18:11:44Z jcowan: Bottom Scheme, a back-burner project of mine, uses all 8 pointer tags to encode fixnums, other immediates, and pointers to compnums, vectors, pairs, bytevectors, strings, and all other (procedure, symbol, or struct). Double floats are punboxed. 2018-10-10T18:16:12Z vaporatorius quit (Quit: Leaving) 2018-10-10T18:20:12Z Kundry_Wag joined #lisp 2018-10-10T18:22:11Z dented42 quit (Ping timeout: 268 seconds) 2018-10-10T18:27:42Z Kundry_Wag quit (Remote host closed the connection) 2018-10-10T18:27:49Z Kundry_Wag joined #lisp 2018-10-10T18:29:56Z asymptotically quit (Quit: Leaving) 2018-10-10T18:39:46Z nirved quit (Quit: Leaving) 2018-10-10T18:39:58Z Kundry_Wag quit (Remote host closed the connection) 2018-10-10T18:47:56Z drewc quit (Quit: ZNC 1.6.3+deb1 - http://znc.in) 2018-10-10T18:48:04Z gilez joined #lisp 2018-10-10T18:48:55Z Kundry_Wag joined #lisp 2018-10-10T18:50:25Z makomo joined #lisp 2018-10-10T18:52:04Z Bike_ joined #lisp 2018-10-10T18:52:17Z Bike quit (Disconnected by services) 2018-10-10T18:52:19Z Bike_ is now known as Bike 2018-10-10T18:52:50Z m3tti joined #lisp 2018-10-10T18:54:21Z ealfonso joined #lisp 2018-10-10T18:55:20Z Kundry_Wag quit (Remote host closed the connection) 2018-10-10T18:55:45Z orivej joined #lisp 2018-10-10T18:57:37Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2018-10-10T18:58:21Z vlatkoB joined #lisp 2018-10-10T19:00:03Z vlatkoB quit (Remote host closed the connection) 2018-10-10T19:00:53Z m3tti quit (Remote host closed the connection) 2018-10-10T19:01:21Z m3tti joined #lisp 2018-10-10T19:01:52Z drewc joined #lisp 2018-10-10T19:02:48Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-10T19:03:51Z roshanavand joined #lisp 2018-10-10T19:04:06Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-10T19:04:32Z mkolenda joined #lisp 2018-10-10T19:04:52Z quazimodo joined #lisp 2018-10-10T19:15:26Z FreeBirdLjj quit (Remote host closed the connection) 2018-10-10T19:21:58Z dented42 joined #lisp 2018-10-10T19:22:58Z roshanavand quit (Ping timeout: 245 seconds) 2018-10-10T19:23:48Z roshanavand joined #lisp 2018-10-10T19:25:23Z eschatologist joined #lisp 2018-10-10T19:32:42Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-10T19:32:58Z shka_ quit (Ping timeout: 245 seconds) 2018-10-10T19:33:35Z roshanavand joined #lisp 2018-10-10T19:47:15Z roshanavand quit (Remote host closed the connection) 2018-10-10T19:47:31Z roshanavand joined #lisp 2018-10-10T19:56:15Z jcowan: I've been thinking about these conversions from bitvectors to integers. It seems in order to make them work, #*111000 has to be treated as the integer 7; that is, bitvector bits are numbered big-endianly (as in array displacements), integer bits are numbered little-endianly (as in byte specs). Does that seem wrong to anyone? 2018-10-10T19:56:18Z roshanavand quit (Ping timeout: 245 seconds) 2018-10-10T19:57:20Z roshanavand joined #lisp 2018-10-10T19:59:30Z dlowe: binary notation of a number is bigend 2018-10-10T20:00:04Z dlowe: endian is just the encoding of a number, like the text encoding of a character 2018-10-10T20:00:46Z anamorphic joined #lisp 2018-10-10T20:02:28Z m3tti quit (Remote host closed the connection) 2018-10-10T20:02:46Z m3tti joined #lisp 2018-10-10T20:06:36Z DGASAU quit (Read error: Connection reset by peer) 2018-10-10T20:08:10Z DGASAU joined #lisp 2018-10-10T20:09:36Z angavrilov quit (Remote host closed the connection) 2018-10-10T20:11:30Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2018-10-10T20:13:42Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2018-10-10T20:13:59Z jcowan: Yes. But the LOGBITP and BYTE functions treat integers in a little-endian way, even if the internal representation is big-endian. That is, bit 0 is 2^0, bit 1 is 2^1, etc. 2018-10-10T20:15:01Z Bike: i guess i would just think of it as bit vectors being written left to right while numbers are written write to left 2018-10-10T20:16:07Z jcowan: Just so. (In actual Arabic writing (but not Persian, which uses the Arabic script), people actually do write numbers from right to left. In Persian and Hebrew, you jump forward (rightward) for the appropriate number of digits and then write them left to right, and then jump forward again. 2018-10-10T20:16:10Z jcowan: ) 2018-10-10T20:16:37Z Nizumzen joined #lisp 2018-10-10T20:17:38Z Bike: i thought in arabic you wrote everything from right to left 2018-10-10T20:18:32Z ecraven: jcowan: you mean arabic writes literal "61" for 16? that is incorrect, I think, 1 is left and 6 is right, in arabic writing 2018-10-10T20:19:47Z Roy_Fokker joined #lisp 2018-10-10T20:21:35Z shifty joined #lisp 2018-10-10T20:22:33Z aeth: ecraven: I think so, too. There are also two Arabic numerals. The first are the ones in the west (west of Egypt?) that Europe eventually got. The second are distinct 2018-10-10T20:22:48Z ecraven: I actually can't think of any number system that writes least-significant-digit-leftmost (unless you count things like ancient greek boustrophedon, which is not a positional numeral system anyway) 2018-10-10T20:22:50Z aeth: e.g. ١ instead of 1 2018-10-10T20:23:44Z anamorphic: Is there any kind of guide on what's good practice when designing an API for a CFFI'd library? 2018-10-10T20:24:10Z ecraven: aeth: ١٦, I think, is 16 2018-10-10T20:24:57Z anamorphic: e.g. should I make it really lispy, or make it very C-ish so that it is more easilly documented by the library's own C documentation 2018-10-10T20:25:23Z ecraven: anamorphic: I usually split it, one thin layer above C, and then a better abstraction on top of it 2018-10-10T20:25:39Z ecraven: so if anyone wants to, they can import the lower-level API, but for most use cases the higher-level API is better 2018-10-10T20:26:48Z sjl: that's the approach cl-charms takes. there's a charms/low-level package with the CFFI wrappers and charms/high-level with the Lispy abstractions. I've used that approach for some other things and it works pretty well. 2018-10-10T20:27:11Z Shinmera: I third this. 2018-10-10T20:27:13Z kushal quit (Remote host closed the connection) 2018-10-10T20:27:19Z no-defun-allowed: Morning 2018-10-10T20:27:28Z anamorphic: would it matter if the low-level thing is defined at a asdf system level or is it enought as a system with low and high level packages? 2018-10-10T20:27:33Z sjl: You can even generate the low-level package with something like SWIG if that appeals to you (I know some people don't like it though). 2018-10-10T20:27:49Z Shinmera: Generally I make a *-cffi package for direct bindings, and a * package for a "no headaches" wrapper 2018-10-10T20:28:00Z kushal joined #lisp 2018-10-10T20:28:03Z drl quit (Quit: Ex-Chat) 2018-10-10T20:28:12Z sjl: I suppose you could make them separate systems if you really wanted to. I generally don't bother and just make them two packages in one system. 2018-10-10T20:28:38Z Shinmera: yeah, typically neither level is large enough to warrant a split 2018-10-10T20:28:41Z anamorphic: ok cool. I went the way of creating a foo-cffi pacakge and a foo pacakge with some niceties 2018-10-10T20:29:53Z scymtym quit (Ping timeout: 276 seconds) 2018-10-10T20:30:46Z aeth: cl-opengl splits it, it has a %gl and a gl package 2018-10-10T20:31:08Z Shinmera: yes, I meant a split of the systems 2018-10-10T20:31:19Z Shinmera: naturally splitting the packages is a good idea 2018-10-10T20:31:21Z stereosphere quit (Ping timeout: 252 seconds) 2018-10-10T20:31:48Z anamorphic: Hmm yeah I guess that saves extra code from being loaded 2018-10-10T20:32:27Z Shinmera: Ok to be clear: I don't think splitting systems is a good idea. I do think splitting packages is a good idea. 2018-10-10T20:32:39Z anamorphic: Oh OK 2018-10-10T20:33:28Z jmercouris joined #lisp 2018-10-10T20:33:34Z |3b| usually intends the low-level to be used in addition to the high-level for specific bits that need higher performance or something, so both would generally be used together 2018-10-10T20:34:09Z |3b|: i probably wouldn't reject a pull request from someone that wanted to be able to load the low-level by itself, but wouldn't set it up that way to start with 2018-10-10T20:34:28Z m3tti quit (Remote host closed the connection) 2018-10-10T20:34:52Z m3tti joined #lisp 2018-10-10T20:35:20Z |3b|: like in the opengl case, i could see wanting to write a separate high-level layer for gles, which would usually run on resource constrained systems so skipping normal GL wrappers would be good 2018-10-10T20:35:24Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-10T20:35:49Z |3b|: (that case would probably skip some of the low-level code as well for that matter) 2018-10-10T20:36:17Z anamorphic: are you referring to cl-opengl specifically in this case? 2018-10-10T20:36:49Z |3b|: in general for the part about pull requests and intent, cl-opengl specifically for gles example 2018-10-10T20:37:11Z quazimodo joined #lisp 2018-10-10T20:37:54Z |3b| probably wouldn't accept a pull request for gles specific systems of my non-gl libraries :) 2018-10-10T20:43:28Z m3tti quit (Remote host closed the connection) 2018-10-10T20:45:45Z dyelar quit (Remote host closed the connection) 2018-10-10T20:46:14Z dyelar joined #lisp 2018-10-10T20:49:30Z pjb: jcowan: (let ((i (random 1024)) (bv (make-array 10 :element-type 'bit))) (loop for bit below (integer-length i) do (setf (aref bv bit) (if (logbitp bit i) 1 0))) (values (format nil "~B" i) bv)) #| --> "1110100101" ; #*1010010111 |# 2018-10-10T20:50:05Z pjb: jcowan: it's just a matter of convention in the binary representation of integers, and the lisp printed representation of bit-vectors. 2018-10-10T20:50:33Z pjb: jcowan: if the bit weren't in the same order, we'd have to write (setf (aref bv (- (integer-length i) bit)) …) 2018-10-10T20:50:37Z dented42 quit (Ping timeout: 246 seconds) 2018-10-10T20:51:47Z charh joined #lisp 2018-10-10T20:54:55Z scymtym joined #lisp 2018-10-10T20:58:26Z asymptotically joined #lisp 2018-10-10T20:59:55Z jcowan: ecraven: no, I mean that when writing "16" in Arabic text, the 6 is written before the 1, whereas in Persian/Hebrew/Latin writing, the 1 is written before the 6. 2018-10-10T21:01:23Z aeth: jcowan: Saudi currency seems to disagree with you. https://en.wikipedia.org/wiki/Saudi_riyal#/media/File:Saudi_Riyal_5th_Domination.jpg 2018-10-10T21:01:29Z aeth: e.g. 500 on one side, ٥٠٠ on the other 2018-10-10T21:01:48Z aeth: unless currency has different rules than prose... 2018-10-10T21:02:30Z aeth: also e.g. Qatari riyal (only 50 has a picture). https://en.wikipedia.org/wiki/Qatari_riyal#/media/File:50_qatari_riyal.jpg 2018-10-10T21:02:49Z Shinmera: Please move this to a channel that is not this one 2018-10-10T21:08:06Z astronavt quit (Quit: Leaving) 2018-10-10T21:11:21Z Josh_2 quit (Remote host closed the connection) 2018-10-10T21:12:36Z d4ryus quit (Ping timeout: 252 seconds) 2018-10-10T21:20:42Z d4ryus joined #lisp 2018-10-10T21:22:52Z asymptotically quit (Remote host closed the connection) 2018-10-10T21:24:40Z anamorphic quit (Quit: anamorphic) 2018-10-10T21:26:48Z dented42 joined #lisp 2018-10-10T21:27:26Z anamorphic joined #lisp 2018-10-10T21:33:17Z Bike quit (Ping timeout: 256 seconds) 2018-10-10T21:33:34Z Orion3k joined #lisp 2018-10-10T21:38:11Z Josh_2 joined #lisp 2018-10-10T21:42:23Z rumbler31 joined #lisp 2018-10-10T21:45:34Z jcowan: "before" is ambiguous, I meant it in the temporal rather than the spatial sense. First you write the 6, then you write the 1 to its right. 2018-10-10T21:55:32Z Jesin quit (Quit: Leaving) 2018-10-10T21:57:48Z Jesin joined #lisp 2018-10-10T21:59:54Z dented42 quit (Ping timeout: 252 seconds) 2018-10-10T22:00:49Z LiamH quit (Quit: Leaving.) 2018-10-10T22:01:15Z dented42 joined #lisp 2018-10-10T22:03:53Z nixfreak quit (Ping timeout: 256 seconds) 2018-10-10T22:08:46Z mejja joined #lisp 2018-10-10T22:19:38Z varjagg quit (Ping timeout: 245 seconds) 2018-10-10T22:19:59Z rumbler31 quit (Remote host closed the connection) 2018-10-10T22:20:32Z dyelar quit (Quit: Leaving.) 2018-10-10T22:21:44Z Guest13389 joined #lisp 2018-10-10T22:22:19Z dented42 quit (Ping timeout: 246 seconds) 2018-10-10T22:23:26Z jmercouris: is there any way to go from #P"Path" to simply a string "Path"? 2018-10-10T22:24:10Z |3b|: clhs namestring 2018-10-10T22:24:10Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_namest.htm 2018-10-10T22:24:18Z stacksmith quit (Ping timeout: 252 seconds) 2018-10-10T22:24:18Z |3b|: clhs native-namestring 2018-10-10T22:24:18Z specbot: Couldn't find anything for native-namestring. 2018-10-10T22:24:25Z jmercouris: just as I found it 2018-10-10T22:24:28Z jmercouris: it is namestring 2018-10-10T22:24:33Z jmercouris: clhs namestring 2018-10-10T22:24:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_namest.htm 2018-10-10T22:24:38Z |3b|: ah, native is uiop:native-namestring 2018-10-10T22:24:50Z jmercouris: yep, I will use the uiop version though, so thanks for the tip 2018-10-10T22:25:25Z |3b|: if you are passing to OS, native is better. CL one might escape things oddly to maintain CL semantics 2018-10-10T22:25:34Z jmercouris: yeah, I figured 2018-10-10T22:25:45Z jmercouris: always use uiop when possible 2018-10-10T22:26:26Z |3b|: well, if you are staying in lisp, not escaping might confuse things too :) 2018-10-10T22:26:35Z Selwyn quit (Read error: Connection reset by peer) 2018-10-10T22:26:38Z jmercouris: I'm running chown, hence why I need that string 2018-10-10T22:26:42Z |3b|: though CL pathname/namestring semantics aren't always non-confusing to start with 2018-10-10T22:33:27Z Harag quit (Ping timeout: 252 seconds) 2018-10-10T22:35:39Z jmercouris: understatement of the year :D 2018-10-10T22:35:53Z jmercouris: I am now almost two years into CL, and I'm still not 100% on them 2018-10-10T22:36:11Z jmercouris: then again, there is so much to learn, I feel like I could spend at least a decade before really mastering CL 2018-10-10T22:36:17Z jmercouris: maybe I am just slow, not sure 2018-10-10T22:38:06Z anamorphic quit (Quit: anamorphic) 2018-10-10T22:39:08Z jmercouris quit (Remote host closed the connection) 2018-10-10T22:39:40Z pjb: A decade if you put in a dedicated effort learning it. I've been doing CL for 22 years, and I'm still very light on parts, such as the MOP. 2018-10-10T22:43:51Z anamorphic joined #lisp 2018-10-10T22:46:20Z pjb quit (Ping timeout: 252 seconds) 2018-10-10T22:58:19Z anamorphic quit (Quit: anamorphic) 2018-10-10T22:58:50Z anewuser joined #lisp 2018-10-10T23:00:38Z Petit_Dejeuner: Easy to learn, hard to master. 2018-10-10T23:01:10Z Petit_Dejeuner: ...how many years until you become such expert who regularly uses eval and read. 2018-10-10T23:01:25Z Petit_Dejeuner: s/such/an/ 2018-10-10T23:04:56Z Essadon quit (Quit: Qutting) 2018-10-10T23:05:00Z r1b joined #lisp 2018-10-10T23:05:37Z orivej quit (Ping timeout: 244 seconds) 2018-10-10T23:07:26Z jasom: Petit_Dejeuner: directly calling eval is very rare outside of implementing a REPL. 2018-10-10T23:07:42Z quazimodo quit (Ping timeout: 268 seconds) 2018-10-10T23:08:50Z aindilis joined #lisp 2018-10-10T23:09:27Z quazimodo joined #lisp 2018-10-10T23:10:50Z Petit_Dejeuner: So I've been told. 2018-10-10T23:14:24Z makomo quit (Ping timeout: 244 seconds) 2018-10-10T23:14:36Z White_Flame: hot code loading uses it, too 2018-10-10T23:15:50Z Petit_Dejeuner: Is that what SLIME is doing underneath? 2018-10-10T23:17:47Z pjb joined #lisp 2018-10-10T23:18:11Z Petit_Dejeuner: Since we're on the topic, is there anyway to control what dynamic environment #'eval sees to limit what functions it can call? 2018-10-10T23:19:04Z Petit_Dejeuner: Stick it in a package with limited bindings? 2018-10-10T23:20:01Z White_Flame: it can always use package::private in order to hit whatever dynamic variable it wants 2018-10-10T23:20:28Z shifty quit (Ping timeout: 245 seconds) 2018-10-10T23:21:10Z White_Flame: after read and before eval, maybe you could sweep through all the symbols to try to ensure they're always white-listed. Then you also have to eliminate interning, and it might be a difficult cat-and-mouse game 2018-10-10T23:23:29Z Kaisyu joined #lisp 2018-10-10T23:26:51Z RagnarDanneskjol joined #lisp 2018-10-10T23:29:11Z troydm quit (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) 2018-10-10T23:30:06Z roshanavand quit (Ping timeout: 252 seconds) 2018-10-10T23:31:07Z jasom: Petit_Dejeuner: there is no way to control the environment of eval in general; if you want to have a sandbox, it's probably better to write a CL-like DSL 2018-10-10T23:32:33Z Petit_Dejeuner: This ALMOST seems right, but I need to make sure stuff like #. isn't creating leaks. https://pastebin.com/raw/gQYwVRkF 2018-10-10T23:33:17Z Petit_Dejeuner: Probably need to make a safe reader as well somehow. 2018-10-10T23:33:21Z jasom: Petit_Dejeuner: not at all; consider the input of "(uiop:run-program ...)" 2018-10-10T23:34:58Z Jesin quit (Quit: Leaving) 2018-10-10T23:35:18Z SenasOzys quit (Remote host closed the connection) 2018-10-10T23:35:40Z SenasOzys joined #lisp 2018-10-10T23:36:18Z Petit_Dejeuner: Huh, yeah I guess it can still get at other packages. 2018-10-10T23:36:50Z Petit_Dejeuner: Maybe I can change the reader so qualified (or whatever they're called) symbols don't work? 2018-10-10T23:38:36Z dented42 joined #lisp 2018-10-10T23:39:46Z White_Flame: *READ-EVAL* can turn off the #. read-time feature 2018-10-10T23:43:30Z dented42 quit (Ping timeout: 252 seconds) 2018-10-10T23:44:13Z siraben quit (Ping timeout: 245 seconds) 2018-10-10T23:51:04Z sjl: consider https://github.com/phoe/safe-read 2018-10-10T23:51:33Z pjb quit (Ping timeout: 252 seconds) 2018-10-10T23:52:11Z jasom: Petit_Dejeuner: if you change the reader so it can't get at other packages and you don't import any symbols that could allow them to intern strings, then you might be almost right. 2018-10-10T23:54:15Z Guest88437 joined #lisp 2018-10-10T23:55:24Z X-Scale quit (Ping timeout: 252 seconds) 2018-10-10T23:56:00Z dented42 joined #lisp 2018-10-11T00:00:33Z dented42 quit (Ping timeout: 252 seconds) 2018-10-11T00:02:46Z robotoad quit (Quit: robotoad) 2018-10-11T00:03:30Z troydm joined #lisp 2018-10-11T00:05:41Z justinmcp_ quit (Quit: No Ping reply in 180 seconds.) 2018-10-11T00:06:42Z cl-arthur joined #lisp 2018-10-11T00:06:50Z justinmcp joined #lisp 2018-10-11T00:09:42Z asarch_ joined #lisp 2018-10-11T00:09:45Z pfdietz1 joined #lisp 2018-10-11T00:10:02Z pfdietz quit (Remote host closed the connection) 2018-10-11T00:10:02Z mejja quit (Read error: Connection reset by peer) 2018-10-11T00:10:02Z asarch quit (Read error: Connection reset by peer) 2018-10-11T00:10:02Z pfdietz1 is now known as pfdietz 2018-10-11T00:10:48Z danielxvu quit (Ping timeout: 252 seconds) 2018-10-11T00:11:22Z justinmcp quit (Client Quit) 2018-10-11T00:11:54Z ravndal quit (Ping timeout: 252 seconds) 2018-10-11T00:11:54Z djh quit (Ping timeout: 252 seconds) 2018-10-11T00:12:24Z dented42 joined #lisp 2018-10-11T00:12:27Z Guest13389 quit (Ping timeout: 252 seconds) 2018-10-11T00:12:30Z justinmcp joined #lisp 2018-10-11T00:12:32Z slyrus quit (Remote host closed the connection) 2018-10-11T00:12:32Z slyrus1 is now known as slyrus 2018-10-11T00:12:47Z deba5e12 quit (Read error: Connection reset by peer) 2018-10-11T00:12:52Z slyrus1 joined #lisp 2018-10-11T00:13:03Z fiddlerwoaroof quit (Quit: Gone.) 2018-10-11T00:13:05Z deba5e12 joined #lisp 2018-10-11T00:13:18Z fiddlerwoaroof joined #lisp 2018-10-11T00:14:24Z Guest13389 joined #lisp 2018-10-11T00:15:08Z ravndal joined #lisp 2018-10-11T00:16:18Z r1b quit (Ping timeout: 252 seconds) 2018-10-11T00:17:50Z jcowan: given the limited objectives of safe-read, I would think writing it from scratch (by which I mean read-char) would be not only safer but easier 2018-10-11T00:17:52Z ryan_vw joined #lisp 2018-10-11T00:17:59Z jcowan: no readtable futzing, etc. 2018-10-11T00:18:24Z Kundry_Wag joined #lisp 2018-10-11T00:19:14Z dented42 quit (Ping timeout: 268 seconds) 2018-10-11T00:20:27Z jcowan: come to think of it, though, there is no string->number, is there? If not, you'd have to sanitize numbers and call read on them. 2018-10-11T00:21:58Z jasom: parse-integer exists 2018-10-11T00:22:06Z jasom: parse-float is a library and parse-number is also a library 2018-10-11T00:22:33Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-10-11T00:24:56Z dented42 joined #lisp 2018-10-11T00:26:40Z robotoad joined #lisp 2018-10-11T00:27:46Z sjl quit (Ping timeout: 244 seconds) 2018-10-11T00:27:52Z GoldRin joined #lisp 2018-10-11T00:30:32Z jcowan: ah, good 2018-10-11T00:31:09Z dented42 quit (Ping timeout: 252 seconds) 2018-10-11T00:36:39Z jcowan: so apparently it handles numbers, strings, and lists, and that's it. 2018-10-11T00:39:08Z Kundry_Wag joined #lisp 2018-10-11T00:43:23Z dented42 joined #lisp 2018-10-11T00:43:42Z Kundry_Wag quit (Ping timeout: 264 seconds) 2018-10-11T00:47:39Z dented42 quit (Ping timeout: 252 seconds) 2018-10-11T01:00:09Z didi joined #lisp 2018-10-11T01:03:11Z didi: What should I use for the parameter `default' of function `getf' if I want to know, for certain, that an indicator is absent? 2018-10-11T01:05:21Z slyrus1 quit (Remote host closed the connection) 2018-10-11T01:05:31Z no-defun-allowed: maybe MEMBER would be more appropriate if you want to test for presence 2018-10-11T01:06:16Z drewc: didi: I use a GENSYM for that if I really care, for often, :asbent, or a similar keyword that states my intention if it is vancant. 2018-10-11T01:06:55Z didi: no-defun-allowed: Hum. The values will be tested too, and I don't want that. 2018-10-11T01:06:58Z didi: drewc: Thank you. 2018-10-11T01:07:08Z mkolenda quit (Ping timeout: 252 seconds) 2018-10-11T01:07:15Z Jachy quit (Ping timeout: 250 seconds) 2018-10-11T01:07:42Z no-defun-allowed: i see 2018-10-11T01:08:02Z didi: I am thinking of using something like (list :absent) as default, so I can test it using `eq'. 2018-10-11T01:08:46Z didi: Maybe even a defparameter of sorts. 2018-10-11T01:09:18Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-11T01:09:26Z jcowan: I use (copy-seq "some string that explains what it's for") 2018-10-11T01:09:41Z didi: jcowan: Thank you. 2018-10-11T01:09:49Z Arcaelyx joined #lisp 2018-10-11T01:09:53Z jcowan: The advantage of that over a pair is that it doesn't interfere with the way things are printed 2018-10-11T01:10:12Z quazimodo joined #lisp 2018-10-11T01:10:12Z didi: Interesting. 2018-10-11T01:11:33Z Kundry_Wag joined #lisp 2018-10-11T01:12:05Z didi: The manual mentions function `get-properties' but seems a bit overkill. Maybe it isn't. 2018-10-11T01:15:01Z mkolenda joined #lisp 2018-10-11T01:16:27Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-10-11T01:19:13Z ryan_vw quit (Ping timeout: 245 seconds) 2018-10-11T01:22:28Z mkolenda quit (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) 2018-10-11T01:24:42Z buffergn0me quit (Remote host closed the connection) 2018-10-11T01:25:06Z buffergn0me joined #lisp 2018-10-11T01:25:51Z Gnuxie[m] quit (Ping timeout: 250 seconds) 2018-10-11T01:29:30Z Guest88437 is now known as X-Scale 2018-10-11T01:30:49Z asarch_: One stupid question, does Emacs include a REPL? 2018-10-11T01:31:11Z asarch_: (Some place to evaluate some EmacsLisp expression) 2018-10-11T01:31:24Z jasom: asarch_: the scratch buffer and C-j is what I use for that 2018-10-11T01:32:23Z asarch_: Thank you jasom 2018-10-11T01:32:27Z asarch_: Thank you very much :-) 2018-10-11T01:32:30Z no-defun-allowed: ielm mode? 2018-10-11T01:33:39Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-10-11T01:37:26Z akovalenko quit (Ping timeout: 252 seconds) 2018-10-11T01:37:58Z no-defun-allowed quit (Ping timeout: 252 seconds) 2018-10-11T01:39:06Z elfmacs quit (Ping timeout: 260 seconds) 2018-10-11T01:39:11Z Kundry_Wag joined #lisp 2018-10-11T01:41:59Z slyrus1 joined #lisp 2018-10-11T01:42:11Z elfmacs joined #lisp 2018-10-11T01:42:51Z quazimodo quit (Ping timeout: 252 seconds) 2018-10-11T01:42:52Z slyrus quit (Ping timeout: 246 seconds) 2018-10-11T01:42:52Z slyrus1 is now known as slyrus 2018-10-11T01:43:23Z Kundry_Wag quit (Ping timeout: 245 seconds) 2018-10-11T01:44:31Z quazimodo joined #lisp 2018-10-11T01:47:47Z pjb joined #lisp 2018-10-11T01:48:09Z asarch_: I was watching a video about how to construct a menu using CSS and the programmer wrote: ul>li*5>a[href="#"]{Item $} 2018-10-11T01:48:52Z GoldRin quit (Ping timeout: 272 seconds) 2018-10-11T01:49:00Z asarch_: And the line was expanded to
  • Item 1
  • five times 2018-10-11T01:49:49Z asarch_: And I was wondering if there was a way to do the same with the REPL of Emacs 2018-10-11T01:50:09Z didi left #lisp 2018-10-11T01:50:29Z asarch_: Something a la Emmet: https://emmet.io/ 2018-10-11T01:50:51Z lemoinem quit (Killed (sinisalo.freenode.net (Nickname regained by services))) 2018-10-11T01:50:53Z lemoinem joined #lisp 2018-10-11T01:51:44Z NB0X-Matt-CA quit (Ping timeout: 268 seconds) 2018-10-11T01:55:20Z asarch_: (Unless with a macro) 2018-10-11T01:56:52Z ryan_vw joined #lisp 2018-10-11T01:57:13Z esrse joined #lisp 2018-10-11T01:57:57Z mkolenda joined #lisp 2018-10-11T01:59:32Z shifty joined #lisp 2018-10-11T02:02:12Z mathrick_ quit (Ping timeout: 250 seconds) 2018-10-11T02:05:18Z Roy_Fokker quit (Read error: Connection reset by peer) 2018-10-11T02:08:58Z robotoad quit (Quit: robotoad) 2018-10-11T02:10:41Z Kundry_Wag joined #lisp 2018-10-11T02:12:22Z Arcaelyx quit (Quit: Textual IRC Client: www.textualapp.com) 2018-10-11T02:14:33Z mathrick_ joined #lisp 2018-10-11T02:15:06Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-10-11T02:21:03Z pjb quit (Ping timeout: 252 seconds) 2018-10-11T02:24:54Z linack joined #lisp 2018-10-11T02:34:16Z Kundry_Wag joined #lisp 2018-10-11T02:38:39Z Kundry_Wag quit (Ping timeout: 250 seconds) 2018-10-11T02:45:04Z _whitelogger quit (Remote host closed the connection) 2018-10-11T02:47:18Z _whitelogger joined #lisp 2018-10-11T02:47:48Z pjb joined #lisp 2018-10-11T02:49:14Z beach: Good morning everyone! 2018-10-11T02:50:06Z beach: phoe: Could your safe reader be implemented as a bunch of specific methods for Eclector? 2018-10-11T02:52:15Z lagagain joined #lisp 2018-10-11T02:56:16Z robotoad joined #lisp 2018-10-11T02:59:22Z DGASAU quit (Read error: Connection reset by peer) 2018-10-11T03:07:33Z aindilis quit (Ping timeout: 245 seconds) 2018-10-11T03:14:22Z quazimodo quit (Ping timeout: 268 seconds) 2018-10-11T03:15:37Z meepdeew joined #lisp 2018-10-11T03:15:47Z quazimodo joined #lisp 2018-10-11T03:16:42Z slightlycyborg quit (Ping timeout: 252 seconds) 2018-10-11T03:20:58Z jcowan: Looks like overkill for something that is actually simpler than JSON 2018-10-11T03:21:00Z pjb quit (Ping timeout: 252 seconds) 2018-10-11T03:21:03Z jcowan: (no maps) 2018-10-11T03:21:07Z meepdeew quit (Ping timeout: 250 seconds) 2018-10-11T03:21:38Z beach: What does? 2018-10-11T03:22:02Z Kundry_Wag joined #lisp 2018-10-11T03:22:30Z jcowan: Implementing safe-read with Eclector 2018-10-11T03:23:15Z beach: Are you saying that the safe-read code is simpler than the combined amount of code required to configure Eclector? 2018-10-11T03:24:58Z jcowan: no, than Eclector plus the configuration. 2018-10-11T03:25:16Z beach: Oh, but then the Eclector way is definitely preferable. 2018-10-11T03:25:31Z beach: Because then you have a separate module that is separately maintained. 2018-10-11T03:25:39Z beach: And that has several clients. 2018-10-11T03:26:02Z jcowan: Point. Does Eclector have limits on nesting depth? 2018-10-11T03:26:03Z beach: So the combined maintenance burden is less than with a specific implementation for safe-read. 2018-10-11T03:26:32Z beach: jcowan: I don't know, but I am sure scymtym would be happy to consider such an addition. 2018-10-11T03:26:42Z Kundry_Wag quit (Ping timeout: 268 seconds) 2018-10-11T03:26:48Z jcowan nods 2018-10-11T03:27:33Z beach: He has been doing a fantastic job of testing and documenting Eclector. Also, uniforminzing the code so that it is understandable and maintainable. 2018-10-11T03:27:36Z beach: I am very impressed. 2018-10-11T03:27:49Z Jachy joined #lisp 2018-10-11T03:27:54Z beach: And, there are at least four clients for it. 2018-10-11T03:27:56Z jcowan: (I'm not talking about phoe's impleentation specifically, but a lower-level version not involving readtables or REQD istself. 2018-10-11T03:28:03Z Ober: xb 2018-10-11T03:28:03Z jcowan: s/REQD/READ 2018-10-11T03:28:16Z beach: jcowan: OK. 2018-10-11T03:28:51Z jcowan: I suspect that such code would be easier to audit, since it is part of the security perimeter 2018-10-11T03:28:55Z beach: The current clients for Eclector are: SICL, Clasp, Second Climacs, and scymtym's experimental (and very impressive) Common Lisp development environment. 2018-10-11T03:30:13Z beach: Oh, and maybe Shinmera's documentation system as well. 2018-10-11T03:30:15Z jcowan: A general and portable CL reader is a great thing, and I'm glad it exists. 2018-10-11T03:30:44Z beach: And it's more than a reader. It can "read" the comments and other skipped material as well. 2018-10-11T03:30:51Z beach: Very useful in some applications. 2018-10-11T03:31:36Z beach: There have been portable readers in the past, but I think this is the first one that is written with heavy use of generic functions, so that it can be adapted to the needs of the client. 2018-10-11T03:32:14Z jcowan: Generic functions are the best part of OO 2018-10-11T03:32:22Z beach: Totally! 2018-10-11T03:32:47Z jcowan: I'm looking to get generic functions without classes into Scheme 2018-10-11T03:35:35Z patche joined #lisp 2018-10-11T03:36:27Z DGASAU joined #lisp 2018-10-11T03:39:07Z anewuser quit (Quit: anewuser) 2018-10-11T03:39:30Z beach: If you have no classes, what would the methods specialize on? 2018-10-11T03:44:18Z Jach[m] joined #lisp