2020-04-01T00:00:48Z lxbarbosa: Ive read that Haskell is way different of mainstream language but not that different of Lisp 2020-04-01T00:02:52Z Oladon joined #lisp 2020-04-01T00:03:11Z Bike: haskell is an interesting language, sure 2020-04-01T00:03:34Z Bike: "must know about" sounds like some kind of weird fad advertisement so i'm not going to say that 2020-04-01T00:03:55Z no-defun-allowed: 10 Lisp features you must know about: number #5 will surprise you 2020-04-01T00:04:58Z v1sage joined #lisp 2020-04-01T00:06:29Z fe[nl]ix: hahaha 2020-04-01T00:06:43Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-04-01T00:07:51Z lxbarbosa: no-defun-allowed: hehe 2020-04-01T00:08:10Z lxbarbosa: Bike: interesting is enough... thanks! 2020-04-01T00:11:03Z prince1 joined #lisp 2020-04-01T00:11:19Z ebrasca joined #lisp 2020-04-01T00:11:53Z lxbarbosa: no-defun-allowed: https://www.reddit.com/r/LispMemes/comments/fq4q2g/i_made_this_for_my_friend_and_thought_i_should/?utm_source=share&utm_medium=web2x 2020-04-01T00:11:53Z lxbarbosa: :D 2020-04-01T00:11:56Z ebrasca quit (Remote host closed the connection) 2020-04-01T00:12:38Z stylewarning: lxbarbosa: I think understanding strictly typed parametric polymorphism and how lazy evaluation affects API boundaries is important 2020-04-01T00:14:00Z lxbarbosa: stylewarning: hm, cool. I hope there are epub Haskell books, not in the mood of touching lately :D 2020-04-01T00:30:32Z SGASAU` quit (Remote host closed the connection) 2020-04-01T00:31:02Z SGASAU` joined #lisp 2020-04-01T00:31:23Z loli: lxbarbosa: there are tools lisp could easily steal, ADTS are an example (and thus deriving functions over this structure) 2020-04-01T00:32:06Z loli: probably stealing effect systems would be nice. Though they are quite primitive in Haskell 2020-04-01T00:32:56Z SGASAU` quit (Remote host closed the connection) 2020-04-01T00:33:26Z SGASAU` joined #lisp 2020-04-01T00:37:32Z pilne_ joined #lisp 2020-04-01T00:39:27Z pilne quit (Ping timeout: 260 seconds) 2020-04-01T00:40:34Z White_Flame: stylewarning: please try to sell the keyboards to people with a lispm that need one 2020-04-01T00:40:43Z White_Flame: instead of the idiot keyboard hoarders 2020-04-01T00:41:11Z loli: are people selling the space cadet? 2020-04-01T00:42:21Z White_Flame: ye olde original? well, just on the used market 2020-04-01T00:43:03Z White_Flame: if you can find one obv 2020-04-01T00:44:40Z v1sage quit (Quit: v1sage) 2020-04-01T00:46:07Z lxbarbosa: loli: I expect lots of fun learning it :) 2020-04-01T00:46:30Z loli: lxbarbosa: you will! I find it's a nice language, though beware you might just taking harder languages like Coq or F* 2020-04-01T00:46:35Z loli: stay away! 2020-04-01T00:47:24Z lxbarbosa quit (Remote host closed the connection) 2020-04-01T00:50:28Z iAmDecim joined #lisp 2020-04-01T00:53:56Z fookara quit (Remote host closed the connection) 2020-04-01T00:54:24Z fookara joined #lisp 2020-04-01T00:57:53Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-01T01:01:33Z ebzzry joined #lisp 2020-04-01T01:03:57Z bitmapper quit (Ping timeout: 250 seconds) 2020-04-01T01:10:03Z EvW quit (Ping timeout: 272 seconds) 2020-04-01T01:20:14Z markong quit (Ping timeout: 256 seconds) 2020-04-01T01:21:56Z fookara quit (Remote host closed the connection) 2020-04-01T01:26:57Z libertyprime joined #lisp 2020-04-01T01:37:51Z terpri_ quit (Remote host closed the connection) 2020-04-01T01:37:52Z space_otter joined #lisp 2020-04-01T01:38:16Z terpri_ joined #lisp 2020-04-01T01:50:13Z FreeBirdLjj joined #lisp 2020-04-01T01:54:35Z FreeBirdLjj quit (Ping timeout: 252 seconds) 2020-04-01T01:55:26Z iAmDecim joined #lisp 2020-04-01T01:55:49Z lisper29 left #lisp 2020-04-01T01:58:30Z v_m_v joined #lisp 2020-04-01T01:59:08Z Nikotiini joined #lisp 2020-04-01T02:03:08Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-01T02:03:27Z v_m_v quit (Ping timeout: 260 seconds) 2020-04-01T02:05:25Z bendersteed quit (Quit: bye) 2020-04-01T02:07:41Z Inline quit (Ping timeout: 272 seconds) 2020-04-01T02:08:24Z GeissT quit (Ping timeout: 256 seconds) 2020-04-01T02:20:32Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-01T02:21:02Z GeissT joined #lisp 2020-04-01T02:34:22Z pjb quit (Read error: Connection reset by peer) 2020-04-01T02:35:23Z pjb joined #lisp 2020-04-01T02:36:52Z jeosol joined #lisp 2020-04-01T02:39:07Z torbo joined #lisp 2020-04-01T02:40:27Z efm quit (Quit: Konversation terminated!) 2020-04-01T02:52:34Z akoana left #lisp 2020-04-01T02:55:48Z beach: Good morning everyone! 2020-04-01T02:59:46Z iAmDecim joined #lisp 2020-04-01T03:02:03Z jeosol: Good morning beach 2020-04-01T03:07:20Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-01T03:16:05Z Oladon quit (Quit: Leaving.) 2020-04-01T03:16:14Z sjl joined #lisp 2020-04-01T03:18:13Z Bourne quit (Ping timeout: 264 seconds) 2020-04-01T03:18:17Z elderK joined #lisp 2020-04-01T03:20:10Z sjl: When using &key (foo some-form foo-supplied?) in a destructuring-bind, shouldn't foo-supplied be bound to true if :foo is given in the call and false otherwise? 2020-04-01T03:20:21Z sjl: like, what am I missing here? https://paste.stevelosh.com/7c301026ece2efc869e5ce253f5ff56f98bbf307 2020-04-01T03:20:51Z sjl: Why is SBCL binding the second value of the initform to the -supplied variable? 2020-04-01T03:21:15Z Bike: looks like a bug to me. 2020-04-01T03:21:43Z sjl: okay, I'm not losing my mind then 2020-04-01T03:22:46Z Bike: and of course if you use just a lambda list it's (:FOO NIL) properly 2020-04-01T03:23:03Z Bike: ah, ha ha, you can see it in the expansion 2020-04-01T03:23:28Z Bike: it uses sb-int:binding* which can bind multiple values, and uses multiple values for the variables 2020-04-01T03:23:33Z sjl: yeah, it works properly in vanilla lambda lists -- only seems to be an issue in destructuring-bind 2020-04-01T03:24:43Z sjl: alright, I'll file a bug 2020-04-01T03:28:06Z Bike: i think i have a fix 2020-04-01T03:28:19Z Bike: guessing pretty hard, though, i guess an sbcl dev can probably fix it better 2020-04-01T03:29:47Z KDr23 joined #lisp 2020-04-01T03:31:17Z KDr22 quit (Ping timeout: 250 seconds) 2020-04-01T03:35:44Z sjl: https://bugs.launchpad.net/sbcl/+bug/1870004 2020-04-01T03:35:50Z C-Keen quit (Ping timeout: 265 seconds) 2020-04-01T03:51:09Z vlatkoB joined #lisp 2020-04-01T03:52:53Z dreamcompiler quit (Read error: Connection reset by peer) 2020-04-01T03:53:06Z dreamcompiler joined #lisp 2020-04-01T03:54:12Z gigetoo quit (Ping timeout: 265 seconds) 2020-04-01T03:55:56Z pilne_ quit (Quit: Now if you will excuse me, I have a giant ball of oil to throw out my window) 2020-04-01T04:01:21Z Oladon joined #lisp 2020-04-01T04:01:53Z fookara joined #lisp 2020-04-01T04:02:44Z C-Keen joined #lisp 2020-04-01T04:03:05Z C-Keen is now known as Guest56414 2020-04-01T04:03:09Z gigetoo joined #lisp 2020-04-01T04:04:43Z iAmDecim joined #lisp 2020-04-01T04:05:18Z narimiran joined #lisp 2020-04-01T04:05:27Z v_m_v joined #lisp 2020-04-01T04:09:34Z SGASAU`` joined #lisp 2020-04-01T04:10:14Z v_m_v quit (Ping timeout: 256 seconds) 2020-04-01T04:13:25Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-01T04:13:28Z SGASAU` quit (Ping timeout: 256 seconds) 2020-04-01T04:19:03Z froggey quit (Ping timeout: 252 seconds) 2020-04-01T04:20:54Z SGASAU``` joined #lisp 2020-04-01T04:21:00Z froggey joined #lisp 2020-04-01T04:21:06Z elderK quit (Quit: WeeChat 1.9) 2020-04-01T04:21:34Z SGASAU`` quit (Ping timeout: 240 seconds) 2020-04-01T04:22:47Z Bike quit (Quit: Lost terminal) 2020-04-01T04:23:58Z Codaraxis joined #lisp 2020-04-01T04:34:35Z fookara quit (Remote host closed the connection) 2020-04-01T04:35:03Z fookara joined #lisp 2020-04-01T04:38:56Z torbo quit (Remote host closed the connection) 2020-04-01T04:40:15Z SGASAU``` quit (Ping timeout: 260 seconds) 2020-04-01T04:47:11Z EvW1 joined #lisp 2020-04-01T04:47:21Z fookara quit (Remote host closed the connection) 2020-04-01T04:47:44Z fookara joined #lisp 2020-04-01T04:54:32Z fookara quit (Remote host closed the connection) 2020-04-01T04:54:54Z fookara joined #lisp 2020-04-01T04:55:13Z renzhi joined #lisp 2020-04-01T04:55:58Z stepnem_ joined #lisp 2020-04-01T04:56:37Z stepnem quit (Ping timeout: 264 seconds) 2020-04-01T05:03:30Z renzhi quit (Ping timeout: 256 seconds) 2020-04-01T05:04:38Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-04-01T05:09:54Z iAmDecim joined #lisp 2020-04-01T05:12:43Z shka_ joined #lisp 2020-04-01T05:17:35Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-01T05:21:36Z mathrick quit (Remote host closed the connection) 2020-04-01T05:21:58Z mathrick joined #lisp 2020-04-01T05:30:55Z flazh quit (Ping timeout: 252 seconds) 2020-04-01T05:31:19Z dddddd quit (Ping timeout: 250 seconds) 2020-04-01T05:31:39Z EvW1 quit (Ping timeout: 252 seconds) 2020-04-01T05:32:01Z flazh joined #lisp 2020-04-01T05:38:26Z gravicappa joined #lisp 2020-04-01T05:49:25Z shka_ quit (Ping timeout: 264 seconds) 2020-04-01T05:51:52Z heisig joined #lisp 2020-04-01T05:53:41Z ArthurStrong quit (Quit: leaving) 2020-04-01T05:54:37Z Codaraxis quit (Remote host closed the connection) 2020-04-01T05:55:11Z Codaraxis joined #lisp 2020-04-01T05:59:13Z heisig quit (Quit: Leaving) 2020-04-01T06:00:35Z Oladon quit (Quit: Leaving.) 2020-04-01T06:00:43Z ebzzry quit (Remote host closed the connection) 2020-04-01T06:08:21Z ebzzry joined #lisp 2020-04-01T06:09:32Z iAmDecim joined #lisp 2020-04-01T06:26:24Z ebzzry quit (Read error: Connection reset by peer) 2020-04-01T06:29:38Z JetJej quit (Quit: [Quit]) 2020-04-01T06:31:39Z kamog joined #lisp 2020-04-01T06:34:17Z ebzzry joined #lisp 2020-04-01T06:36:50Z ebzzry quit (Read error: Connection reset by peer) 2020-04-01T06:40:11Z twelvemonkeys quit (Ping timeout: 260 seconds) 2020-04-01T06:41:54Z twelvemonkeys joined #lisp 2020-04-01T06:42:28Z CrazyEddy quit (Ping timeout: 258 seconds) 2020-04-01T06:44:49Z random-nick joined #lisp 2020-04-01T06:45:04Z jprajzne quit (Quit: jprajzne) 2020-04-01T06:47:12Z fookara quit (Remote host closed the connection) 2020-04-01T06:48:02Z aap_ is now known as aap 2020-04-01T06:48:39Z Guest56414 quit (Changing host) 2020-04-01T06:48:39Z Guest56414 joined #lisp 2020-04-01T06:48:41Z Guest56414 is now known as C-Keen 2020-04-01T06:49:09Z rumbler31 quit (Read error: Connection reset by peer) 2020-04-01T06:49:22Z fookara joined #lisp 2020-04-01T06:49:47Z rumbler31 joined #lisp 2020-04-01T06:50:24Z |Pirx| quit (Read error: Connection reset by peer) 2020-04-01T06:50:44Z |Pirx| joined #lisp 2020-04-01T06:51:05Z fookara quit (Remote host closed the connection) 2020-04-01T06:51:06Z simplegauss quit (Ping timeout: 265 seconds) 2020-04-01T06:51:25Z fookara joined #lisp 2020-04-01T06:52:33Z femi quit (Ping timeout: 265 seconds) 2020-04-01T06:53:12Z v_m_v joined #lisp 2020-04-01T06:53:31Z space_otter quit (Ping timeout: 265 seconds) 2020-04-01T06:53:31Z quazimodo quit (Ping timeout: 265 seconds) 2020-04-01T06:53:31Z hjudt quit (Ping timeout: 265 seconds) 2020-04-01T06:53:31Z theBlackDragon quit (Ping timeout: 265 seconds) 2020-04-01T06:53:37Z loke` joined #lisp 2020-04-01T06:54:00Z fouric quit (Ping timeout: 265 seconds) 2020-04-01T06:54:02Z quazimodo joined #lisp 2020-04-01T06:54:45Z theBlackDragon joined #lisp 2020-04-01T06:55:27Z loke quit (Ping timeout: 265 seconds) 2020-04-01T06:55:34Z twelvemonkeys quit (Ping timeout: 240 seconds) 2020-04-01T06:55:56Z gabot quit (Ping timeout: 265 seconds) 2020-04-01T06:57:17Z femi joined #lisp 2020-04-01T06:57:27Z simplegauss joined #lisp 2020-04-01T06:57:44Z twelvemonkeys joined #lisp 2020-04-01T06:57:52Z v_m_v quit (Ping timeout: 265 seconds) 2020-04-01T06:59:11Z hjudt joined #lisp 2020-04-01T06:59:31Z space_otter joined #lisp 2020-04-01T06:59:39Z fouric joined #lisp 2020-04-01T07:00:25Z v88m quit (Remote host closed the connection) 2020-04-01T07:00:33Z gabot joined #lisp 2020-04-01T07:09:57Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-01T07:11:28Z dale quit (Quit: My computer has gone to sleep) 2020-04-01T07:13:28Z Bourne joined #lisp 2020-04-01T07:14:15Z phoe: Where in CLHS are FTYPE lambda lists defined? 2020-04-01T07:14:22Z ebzzry joined #lisp 2020-04-01T07:15:16Z orivej quit (Ping timeout: 265 seconds) 2020-04-01T07:16:34Z phoe: found it, System Class FUNCTION 2020-04-01T07:17:48Z beach: That's not considered a lambda list. 2020-04-01T07:18:19Z phoe: yes, correct 2020-04-01T07:18:28Z Cymew joined #lisp 2020-04-01T07:19:34Z iAmDecim joined #lisp 2020-04-01T07:21:57Z jprajzne joined #lisp 2020-04-01T07:25:41Z fookara quit (Remote host closed the connection) 2020-04-01T07:27:42Z fookara joined #lisp 2020-04-01T07:30:39Z ebzzry_ joined #lisp 2020-04-01T07:30:47Z ebzzry quit (Remote host closed the connection) 2020-04-01T07:42:01Z ebzzry joined #lisp 2020-04-01T07:42:09Z ebzzry_ quit (Remote host closed the connection) 2020-04-01T07:55:04Z amerlyq joined #lisp 2020-04-01T07:57:34Z ebzzry_ joined #lisp 2020-04-01T07:57:42Z ebzzry quit (Remote host closed the connection) 2020-04-01T08:08:57Z space_otter quit (Remote host closed the connection) 2020-04-01T08:11:54Z terpri_ quit (Remote host closed the connection) 2020-04-01T08:12:15Z terpri_ joined #lisp 2020-04-01T08:12:15Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-01T08:13:01Z ebzzry_ joined #lisp 2020-04-01T08:13:27Z v_m_v joined #lisp 2020-04-01T08:15:58Z amazoniantoad joined #lisp 2020-04-01T08:16:47Z Codaraxis_ joined #lisp 2020-04-01T08:17:21Z fookara quit (Remote host closed the connection) 2020-04-01T08:17:45Z fookara joined #lisp 2020-04-01T08:18:21Z Inline joined #lisp 2020-04-01T08:18:21Z amazoniantoad: Hey guys. I'm trying to take two columns and generate a matrix from their multiplication. Could anyone show me how to do this? Currently I'm trying to do (elt (elt matrix i) j) and using setf to set the value. But instead of getting unique values for every cell I wind up getting the exact same row in the matrix 2020-04-01T08:19:04Z no-defun-allowed: Why are you using an array of arrays? Common Lisp has n-dimensional arrays. 2020-04-01T08:19:22Z amazoniantoad: oh 2020-04-01T08:19:29Z amazoniantoad: So what should I be doing instead? 2020-04-01T08:19:34Z no-defun-allowed: And are you talking about matrix multiplication, element-wise multiplication, or...? 2020-04-01T08:19:37Z ljavorsk joined #lisp 2020-04-01T08:19:43Z amazoniantoad: yes, element-wise 2020-04-01T08:20:08Z no-defun-allowed: And you have two 2d arrays you want to multiply the elements of? 2020-04-01T08:20:23Z amazoniantoad: No. Two 1D arrays and I want to create from that a 2D array 2020-04-01T08:20:36Z Codaraxis quit (Ping timeout: 258 seconds) 2020-04-01T08:21:32Z no-defun-allowed: How do you get a 2D array from two 1D arrays? Something like O_i,j = M_i × N_j? 2020-04-01T08:21:34Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-01T08:22:23Z amazoniantoad: yes 2020-04-01T08:24:08Z no-defun-allowed: Well, to make a 2 dimensional array, you can use (make-array (list columns rows)), and then (setf (aref column row) value) to set an element of that array. 2020-04-01T08:24:32Z phoe: amazoniantoad: https://plaster.tymoon.eu/view/1724#1724 2020-04-01T08:24:36Z pjb: amazoniantoad: and also, there's #clschool for basic questions like that. 2020-04-01T08:24:52Z amazoniantoad: Thanks for letting me know pjb 2020-04-01T08:25:12Z no-defun-allowed: Yeah, like that. 2020-04-01T08:25:16Z pjb: http://cliki.net/IRC 2020-04-01T08:25:32Z amazoniantoad: thanks guys 2020-04-01T08:27:26Z no-defun-allowed: (Using Petalisp, you could write (defun cross-multiply (a b) (petalisp:α #'* (petalisp:reshape a (petalisp:τ (i) (i 0))) (petalisp:reshape b (petalisp:τ (j) (0 j))))). I don't think Common Lisp is very nice for doing n-dimensional array work without some helper functions.) 2020-04-01T08:28:34Z phoe: that's a big step up from simple standard CL functions though 2020-04-01T08:28:51Z no-defun-allowed: True. 2020-04-01T08:29:14Z phoe: I don't think amazoniantoad is a possible client for petalisp if he's still working on getting the basics of 2D arrays done - maybe in a few months, but not yet 2020-04-01T08:29:45Z no-defun-allowed: Writing a step between a JIT-compiling parallel array manipulation DSL and using big loops of (setf aref) is left to the reader. 2020-04-01T08:29:45Z jeosol quit (Remote host closed the connection) 2020-04-01T08:34:40Z ljavorsk quit (Read error: Connection reset by peer) 2020-04-01T08:34:45Z ljavorsk_ joined #lisp 2020-04-01T08:35:26Z CrazyEddy joined #lisp 2020-04-01T08:38:45Z fanta1 joined #lisp 2020-04-01T08:39:16Z ebzzry_ joined #lisp 2020-04-01T08:39:46Z ggole joined #lisp 2020-04-01T08:41:11Z karlosz quit (Quit: karlosz) 2020-04-01T08:41:13Z fookara quit (Read error: Connection reset by peer) 2020-04-01T08:44:07Z kamog quit (Remote host closed the connection) 2020-04-01T08:44:31Z kamog joined #lisp 2020-04-01T08:44:52Z beach: That's not what I would call "element-wise", but hey. 2020-04-01T08:45:35Z no-defun-allowed: I wouldn't call it element-wise either. 2020-04-01T08:46:08Z no-defun-allowed: amazoniantoad: "element-wise" would probably refer to O_i = M_i + N_i, if I'm not mistaken. 2020-04-01T08:47:00Z Shinmera: indeed it would. 2020-04-01T08:48:13Z kamog quit (Remote host closed the connection) 2020-04-01T08:52:25Z pjb: If you don't want to do it element-wise, you can use map: https://termbin.com/5was 2020-04-01T08:52:43Z pjb: but this involves allocating O(n*m) temporary conses… 2020-04-01T08:56:37Z pjb: Well, you can also use (map 'vector (lambda (x) (map 'vector (lambda (y) (* x y)) v2)) v1) which should be more efficient allocating temp storage, but still O(m*n) temp space. 2020-04-01T09:16:03Z CrazyEddy quit (Ping timeout: 260 seconds) 2020-04-01T09:18:16Z flip214 quit (Ping timeout: 256 seconds) 2020-04-01T09:19:56Z flip214 joined #lisp 2020-04-01T09:22:42Z Codaraxis joined #lisp 2020-04-01T09:24:27Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-04-01T09:24:52Z Lord_of_Life joined #lisp 2020-04-01T09:26:37Z Codaraxis_ quit (Ping timeout: 250 seconds) 2020-04-01T09:30:05Z vlatkoB_ joined #lisp 2020-04-01T09:32:40Z vlatkoB quit (Ping timeout: 256 seconds) 2020-04-01T09:39:11Z Codaraxis quit (Read error: Connection reset by peer) 2020-04-01T09:40:42Z CrazyEddy joined #lisp 2020-04-01T09:48:52Z mgsk_ quit (Ping timeout: 256 seconds) 2020-04-01T09:50:00Z Bourne quit (Ping timeout: 256 seconds) 2020-04-01T09:50:00Z borodust quit (Ping timeout: 256 seconds) 2020-04-01T09:50:03Z cartwright quit (Ping timeout: 240 seconds) 2020-04-01T09:50:16Z mgsk_ joined #lisp 2020-04-01T09:50:30Z vlatkoB_ quit (Quit: No Ping reply in 180 seconds.) 2020-04-01T09:51:19Z borodust joined #lisp 2020-04-01T09:51:21Z adlai joined #lisp 2020-04-01T09:51:43Z borodust is now known as Guest64823 2020-04-01T09:51:49Z vlatkoB joined #lisp 2020-04-01T09:53:12Z cartwright joined #lisp 2020-04-01T09:54:54Z hiroaki quit (Ping timeout: 258 seconds) 2020-04-01T09:55:18Z ukari quit (Remote host closed the connection) 2020-04-01T09:55:51Z ukari joined #lisp 2020-04-01T09:57:14Z rippa joined #lisp 2020-04-01T10:02:55Z FreeBirdLjj joined #lisp 2020-04-01T10:07:38Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2020-04-01T10:13:05Z LdBeth: (april:april "1 2 3 ∘.× 10 20 30 40") 2020-04-01T10:13:30Z flip214: Can a compiler macro (or normal macro) get the form(s) it's embedded in? SBCL only would work for that use case. 2020-04-01T10:14:25Z LdBeth: I think there's a CLtL2 extension or something 2020-04-01T10:15:48Z phoe: flip214: I don't think so. The only thing available is the environment, and that doesn't contain everything. 2020-04-01T10:16:13Z Shinmera: flip214: that sounds like you're trying something very ugly 2020-04-01T10:16:18Z phoe: https://etc.ruricolist.com/2020/03/15/the-symbol-macrolet-trick/ 2020-04-01T10:16:27Z phoe: that could perhaps be used for such communication 2020-04-01T10:16:39Z phoe: but I agree with Shinmera 2020-04-01T10:17:42Z adlai: clhs - 2020-04-01T10:17:42Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a__.htm 2020-04-01T10:18:47Z adlai: flip214: "The value of - is the form that is currently being evaluated by the Lisp read-eval-print loop." (obviously, doesn't work in files) 2020-04-01T10:23:55Z flip214: adlai: thanks, that won't help 2020-04-01T10:24:20Z v_m_v quit (Remote host closed the connection) 2020-04-01T10:24:26Z flip214: I've got a function that asks the user a question - and I'd like to determine whether the outer form wants a string, boolean, or number result 2020-04-01T10:24:47Z pjb: flip214: it cannot, and this is for the best. This is the best feature of lisp macros, not to be able to know anything about the outer form. This is what makes them secure! 2020-04-01T10:25:41Z pjb: flip214: however, there is macrolet (and symbol-macrolet), which can be used in the EXPANSION of an outer macro. (and also flet and labels). 2020-04-01T10:25:41Z v_m_v joined #lisp 2020-04-01T10:26:32Z flip214: pjb: yeah, and compiler-let, and similar stuff. I'm just wondering whether there's an easier way - #'<= in the outer form requires a number, string= a string, etc. 2020-04-01T10:26:44Z pjb: flip214: this let you design an outer macro, in which you can have access to a macro. The outer macro can arrange to give the information needed by the inner macro, even if comes from forms outside of the inner macro (but inside the outer macro, of course). 2020-04-01T10:26:55Z xkapastel joined #lisp 2020-04-01T10:27:48Z pjb: flip214: that said you are not allowed to shadow the fbinding of symbols in the CL package, or defining compiler-macros on them. So you have two ther reason why you won't be able to do that for <= or string=. 2020-04-01T10:28:03Z pjb: flip214: but you can do it for your-own:<= or your-own:string= 2020-04-01T10:30:02Z pjb: flip214: now, I don't think there's any guarantee about the environments for macro-expansion and compiler-macro expansion. I don't think you could conformingly pass information from a macro to a compiler-macro. This would have to be checked in the CLHS. 2020-04-01T10:30:41Z pjb: flip214: but once you have a wrapper macro, you don't really need compiler-macro, and this would allow you to do stuff on forms using symbols in the CL package as operators. 2020-04-01T10:30:52Z pjb: flip214: (just code-walk your inner forms, and do whatever you want). 2020-04-01T10:31:28Z davsebamse quit (Read error: Connection reset by peer) 2020-04-01T10:31:41Z aamukastemato joined #lisp 2020-04-01T10:31:41Z davsebamse joined #lisp 2020-04-01T10:32:20Z phoe: flip214: the outer form should pass the expected input type to the function, that's the cleanest way I can think of 2020-04-01T10:32:35Z phoe: either that, or bind dynavars 2020-04-01T10:32:40Z phoe: but the latter is ugly 2020-04-01T10:33:16Z LdBeth: write a type inference macro 2020-04-01T10:33:35Z phoe: this escalated quickly 2020-04-01T10:34:36Z no-defun-allowed: What part of [Hindley-Milner equations] do you not understand? 2020-04-01T10:34:59Z flip214: phoe: Yeah, that's what I thought, too... I'd just like to avoid having my own code-walker, there are already too many of them ;/ 2020-04-01T10:35:05Z Inline: unless an environment is passed explicitly in the macro 2020-04-01T10:35:28Z LdBeth: well, actually F_omega is required 2020-04-01T10:35:41Z flip214: I hoped that I there's an easy way to see what the outer function is - and then the expected type is easy... 2020-04-01T10:35:53Z ukari quit (Remote host closed the connection) 2020-04-01T10:36:36Z phoe: flip214: if you want a true, absolute hack, use DISSECT at runtime to analyze the stack, figure out which function you were called from, and adjust the typecheck accordingly 2020-04-01T10:36:40Z ukari joined #lisp 2020-04-01T10:37:04Z phoe: I'd shoot anyone who tried to do that in the code that I maintain 2020-04-01T10:38:18Z LdBeth: I donut think expected type would be easy for lisp 2020-04-01T10:38:31Z flip214: phoe: no, not at runtime, via &environment would be good enough ;) 2020-04-01T10:38:56Z flip214: LdBeth: most functions have input/output types already declared, and in the worst case I have to annotate the symbol 2020-04-01T10:39:17Z Inline: introspect-environment heh 2020-04-01T10:39:20Z phoe: flip214: how about the symbol-macro trick then? you set a symbol-macro in the environment with the expected type that you can then macroexpand in the inner macro 2020-04-01T10:40:56Z LdBeth: flip214: what if the outer function is PRINT 2020-04-01T10:41:45Z LdBeth: or CONS 2020-04-01T11:07:55Z ukari quit (Remote host closed the connection) 2020-04-01T11:09:11Z ukari joined #lisp 2020-04-01T11:10:01Z flip214: LdBeth: the query function will only occur within AND, OR, <=, STRING=, and similar stuff. It's not general-purpose. 2020-04-01T11:14:37Z prince1 quit (Ping timeout: 264 seconds) 2020-04-01T11:17:27Z flip214: thanks, everybody! 2020-04-01T11:18:48Z epony quit (Quit: reconfig) 2020-04-01T11:19:19Z epony joined #lisp 2020-04-01T11:21:19Z cosimone joined #lisp 2020-04-01T11:25:59Z cosimone quit (Client Quit) 2020-04-01T11:32:59Z v_m_v quit (Remote host closed the connection) 2020-04-01T11:36:56Z libertyprime quit (Read error: Connection reset by peer) 2020-04-01T11:42:10Z markong joined #lisp 2020-04-01T11:42:47Z libertyprime joined #lisp 2020-04-01T11:45:49Z aamukastemato quit (Ping timeout: 264 seconds) 2020-04-01T11:47:09Z Bike joined #lisp 2020-04-01T11:47:45Z phoe: `AND` and `OR` will already be macroexpanded by the time your form is macroexpanded 2020-04-01T11:51:25Z flip214: phoe: these are not the CL:AND and CL:OR that you're looking for 2020-04-01T11:51:47Z flip214: (that even rhymes! now let's bring it into 19 syllables... ;) 2020-04-01T11:52:03Z Bike: doing something different based on the return type sounds like a job for static typing. which is to say, might be in the wrong language here 2020-04-01T11:54:44Z gko joined #lisp 2020-04-01T11:55:09Z flip214: Bike: why? a GF chooses a method based on the input type as well, so I'd see that as some kind of symmetry 2020-04-01T11:55:36Z lalilulelo joined #lisp 2020-04-01T11:55:51Z Bike: it chooses a method based on the input _object_ 2020-04-01T11:56:00Z Bike: the class thereof, but nonetheless it has an actual object to work with 2020-04-01T11:56:08Z Bike: (usually the class, i mean, there are also eql specializers) 2020-04-01T11:56:29Z Bike: since you don't have an output object, doesn't quite work the same way. 2020-04-01T11:56:52Z Bike: if it actually chose a method based on the type, you could indeed have it do different things based on the output type. but that information does not necessarily exist in lisp. 2020-04-01T11:59:56Z terpri_ quit (Remote host closed the connection) 2020-04-01T12:00:11Z markoong joined #lisp 2020-04-01T12:00:17Z terpri_ joined #lisp 2020-04-01T12:00:41Z drl joined #lisp 2020-04-01T12:01:04Z phoe: flip214: ooooh 2020-04-01T12:02:04Z iAmDecim quit (Quit: WeeChat 1.9) 2020-04-01T12:02:30Z iAmDecim joined #lisp 2020-04-01T12:03:20Z markong quit (Ping timeout: 265 seconds) 2020-04-01T12:05:14Z flip214: Bike: (SATISFIES NUMBERP) 2020-04-01T12:05:31Z Bike: please use words if you want to try to explain something to me 2020-04-01T12:06:35Z phoe: flip214: SATISFIES is not a class 2020-04-01T12:11:29Z markong joined #lisp 2020-04-01T12:12:39Z bitmapper joined #lisp 2020-04-01T12:14:04Z Bike: despite the efforts of the best alchemists i can hire, i haven't yet restored my pineal gland to its ancestral power and so cannot read minds 2020-04-01T12:14:20Z beach: Sad. :( 2020-04-01T12:14:29Z Bike: anyway, things like apply and eval can mess up the concept pretty hard. even just calling something like that at the repl could be a type error for ambiguity 2020-04-01T12:15:11Z markoong quit (Ping timeout: 250 seconds) 2020-04-01T12:15:33Z Bike: if you're only using this in specific contexts, you could have those contexts pass along an additional parameter expressing what kind of result is expected, sort of like COERCE 2020-04-01T12:15:58Z phoe: I just had a minor moment of enlightenment 2020-04-01T12:16:12Z phoe: Aren't signals just dynamically-scoped hooks? 2020-04-01T12:16:28Z beach: Signals? 2020-04-01T12:16:35Z Bike: well, handlers, sure. 2020-04-01T12:16:38Z phoe: Or rather - handlers 2020-04-01T12:16:43Z phoe: signals are a means of invoking these hooks. 2020-04-01T12:17:54Z dddddd joined #lisp 2020-04-01T12:21:15Z prince1 joined #lisp 2020-04-01T12:25:56Z prince1 quit (Ping timeout: 258 seconds) 2020-04-01T12:26:45Z markoong joined #lisp 2020-04-01T12:28:02Z cosimone joined #lisp 2020-04-01T12:29:47Z mn3m quit (Read error: Connection reset by peer) 2020-04-01T12:30:36Z markong quit (Ping timeout: 256 seconds) 2020-04-01T12:31:13Z markoong quit (Ping timeout: 250 seconds) 2020-04-01T12:31:15Z mn3m joined #lisp 2020-04-01T12:31:16Z markong joined #lisp 2020-04-01T12:49:54Z libertyprime quit (Quit: Lost terminal) 2020-04-01T12:51:20Z vsync joined #lisp 2020-04-01T13:07:11Z ukari quit (Remote host closed the connection) 2020-04-01T13:08:19Z ukari joined #lisp 2020-04-01T13:08:44Z sunwukong joined #lisp 2020-04-01T13:14:14Z nicktick quit (Ping timeout: 256 seconds) 2020-04-01T13:18:27Z v_m_v joined #lisp 2020-04-01T13:20:08Z jmercouris joined #lisp 2020-04-01T13:20:29Z jmercouris quit (Remote host closed the connection) 2020-04-01T13:22:48Z v_m_v quit (Remote host closed the connection) 2020-04-01T13:32:16Z eeeeeta: gah Closure XML is driving me insane 2020-04-01T13:32:24Z eeeeeta: usocket sockets don't have any kind of line buffering on them, do they? 2020-04-01T13:36:54Z ullbeking left #lisp 2020-04-01T13:40:17Z tim` joined #lisp 2020-04-01T13:40:47Z tim` left #lisp 2020-04-01T13:41:51Z phoe: eeeeeta: I remember that I had to FINISH-OUTPUT them 2020-04-01T13:42:04Z phoe: so AFAIK they are buffered 2020-04-01T13:42:12Z eeeeeta: phoe, how in the nine hells do I turn the buffering off 2020-04-01T13:42:34Z jmercouris joined #lisp 2020-04-01T13:42:43Z eeeeeta: I'm this close to giving up and just using SB-BSD-SOCKETS :p 2020-04-01T13:44:56Z eeeeeta: this is read buffering though 2020-04-01T13:48:52Z sulami joined #lisp 2020-04-01T13:58:30Z Bourne joined #lisp 2020-04-01T14:02:40Z v_m_v joined #lisp 2020-04-01T14:03:57Z sulami quit (Remote host closed the connection) 2020-04-01T14:04:30Z jmercouris: how to collect only on some condition? 2020-04-01T14:04:34Z jmercouris: in a loop 2020-04-01T14:05:18Z beach: when collect 2020-04-01T14:05:25Z jmercouris: (loop for i from 1 to 10 when nil collect nil) 2020-04-01T14:05:29Z jmercouris: wow I didn't think that would actually work 2020-04-01T14:05:36Z jmercouris: next time I'll try in the REPL before asking 2020-04-01T14:05:40Z jmercouris: thank you anyways :-) 2020-04-01T14:05:44Z beach: Why did you not think it would work? 2020-04-01T14:05:59Z jmercouris: I dont know, Loop is still very hard for me to remember everything 2020-04-01T14:06:15Z beach: It is not about remembering. It is about reading the Common Lisp HyperSpec. 2020-04-01T14:06:16Z jmercouris: my mind was stuck on collecting nil for some reason 2020-04-01T14:06:30Z phoe: jmercouris: that's (loop collect (when ...)) 2020-04-01T14:06:32Z jmercouris: and I was going to strip out nil at the end via some remove-if 2020-04-01T14:06:47Z phoe: a slightly different construct 2020-04-01T14:06:54Z jmercouris: yeah, rather than using a loop keyword 2020-04-01T14:07:03Z phoe: since then the collecting is unconditional, but the collected value is sometimes NIL 2020-04-01T14:07:11Z jmercouris: exactly what I was doing 2020-04-01T14:07:13Z jmercouris: yes 2020-04-01T14:07:39Z amerigo joined #lisp 2020-04-01T14:07:59Z beach: You can also do things like if collect else append 2020-04-01T14:08:11Z v_m_v quit (Ping timeout: 260 seconds) 2020-04-01T14:09:11Z jmercouris: in this case what are you appending to? 2020-04-01T14:09:16Z jmercouris: the end of the list you would be collecting? 2020-04-01T14:09:20Z jmercouris: rather than prepending? 2020-04-01T14:09:54Z d4ryus: jmercouris: there is video from baggers about loop on youtube :) (search for 'Some Common Lisp Loop Macro Examples') 2020-04-01T14:10:15Z beach: Yes, like COLLECT, APPEND adds to the end of the default list. 2020-04-01T14:10:21Z phoe: (loop for i in '((1) (2) (3) (4) (5) (6)) if (evenp (car i)) collect i else append i) 2020-04-01T14:10:29Z phoe: ;=> (1 (2) 3 (4) 5 (6)) 2020-04-01T14:10:52Z jmercouris: here's something that I've wondered about for some months 2020-04-01T14:11:03Z jmercouris: when we have a list right, and we join two lists together 2020-04-01T14:11:04Z phoe: you can COLLECT INTO if you want named/multiple collectibles 2020-04-01T14:11:10Z beach: d4ryus: It seems that video has been recommended in the past. 2020-04-01T14:11:15Z jmercouris: sometimes the elements are merged, sometimes a list just gets added tot he list 2020-04-01T14:11:21Z phoe: jmercouris: "merged", what do you mean 2020-04-01T14:11:22Z jmercouris: sometimes they can handle a nil first value, sometimes not 2020-04-01T14:11:33Z phoe: we'd need code examples to answer your question 2020-04-01T14:11:41Z jmercouris: let me look in my notes 2020-04-01T14:12:01Z phoe: since "sometimes" is a poor thing to answer, even if it's good tale material 2020-04-01T14:12:35Z beach: I think what jmercouris is referring to is the traditional idea that Common Lisp lists behave like abstract data types, which they don't. 2020-04-01T14:13:01Z jmercouris: that's more or less what I am getting at yes 2020-04-01T14:13:05Z jmercouris: why are the implementation details revealed 2020-04-01T14:13:21Z jmercouris: like I know what is going on underneath, I've read through all of gentle introduction 2020-04-01T14:13:31Z jmercouris: I'm still looking for an example 2020-04-01T14:13:35Z White_Flame: programming was more low level at that time 2020-04-01T14:13:42Z beach: jmercouris: At some point, you need concrete data types to implement abstract ones. Common Lisp lists give the tools you need to do abstract stuff. 2020-04-01T14:14:16Z beach: jmercouris: And these tools are dirt cheap in terms of performance. 2020-04-01T14:14:17Z Bike: "linked lists have a head and a tail" is fairly anodyne as implementation details go 2020-04-01T14:14:21Z jmercouris: like here's an example 2020-04-01T14:14:25Z jmercouris: (append 'a '(b c d)) -> ERROR 2020-04-01T14:14:25Z White_Flame: and since hardware was constrained, you needed to play games with exact storage mechanisms so as not to blow up ram 2020-04-01T14:14:27Z jmercouris: (append '(b c d) 'a) -> (B C D . A) 2020-04-01T14:14:40Z jmercouris: I get what is going on, but it could just as easily have been written in a smarter way to silently handle the error 2020-04-01T14:14:40Z sjl_ joined #lisp 2020-04-01T14:14:47Z jmercouris: why the decision to not do this? 2020-04-01T14:14:49Z Bike: silently handle how? 2020-04-01T14:14:51Z phoe: clhs append 2020-04-01T14:14:51Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_append.htm 2020-04-01T14:14:55Z phoe: "list---each must be a proper list except the last, which may be any object." 2020-04-01T14:14:57Z Bike: like, pretend A is (A)? 2020-04-01T14:15:00Z jmercouris: for example 2020-04-01T14:15:04Z jmercouris: or just return '(b c d) 2020-04-01T14:15:06Z beach: That would be a very bad idea. 2020-04-01T14:15:07Z jmercouris: or return two values or something 2020-04-01T14:15:10Z Bike: why would you want that? 2020-04-01T14:15:17Z beach: Hiding errors. 2020-04-01T14:15:18Z jmercouris: because sometimes we do not want to handle errors 2020-04-01T14:15:21Z jmercouris: I know this is a crazy idea 2020-04-01T14:15:24Z jmercouris: but sometimes we don't care 2020-04-01T14:15:30Z phoe: > because sometimes we do not want to handle errors 2020-04-01T14:15:31Z Bike: well, you can use ignore-errors or something if you want to 2020-04-01T14:15:32Z White_Flame: then the caller would have to do all sorts of extra work everyt time they wanted to use APPEND 2020-04-01T14:15:34Z beach: Then you have the tools to ignore the errors. 2020-04-01T14:15:38Z Bike: baking that into the standard library is gross 2020-04-01T14:15:40Z phoe: yes, ignore-errors 2020-04-01T14:15:44Z Bike: because sometimes we do want errors. 2020-04-01T14:15:45Z jmercouris: sure, I have the tools 2020-04-01T14:15:48Z jmercouris: I am asking for the rationale 2020-04-01T14:15:58Z beach: jmercouris: What everyone told you. 2020-04-01T14:16:01Z Bike: so that when we write wrong code and don't realize it, an error is signaled 2020-04-01T14:16:06Z phoe: if you want to avoid type errors, then you'll want a language that's weakly typed by default 2020-04-01T14:16:30Z Bike: we see the error and go "oh" and fix the code 2020-04-01T14:16:31Z jmercouris: here is another example 2020-04-01T14:16:34Z jmercouris: (nthcdr 4 '(a b c . d)) ; PROBLEM!!! D doesn't have a cdr of nil 2020-04-01T14:16:46Z fanta1 quit (Quit: fanta1) 2020-04-01T14:16:58Z jmercouris: I guess it is a decision that had to be made 2020-04-01T14:17:00Z Bike: nthcdr is extremely simply defined as doing cdr n times. why complicate it with whatever hiding you want to do? 2020-04-01T14:17:14Z beach: jmercouris: Again, the language is there to help the programmer find problems in the code. Not to hide them from him/her. 2020-04-01T14:17:24Z phoe: CL isn't weakly typed unless you decide to (optimize (safety 0)), at which point you can have all the append symbols to lists that you want 2020-04-01T14:17:34Z jmercouris: I'll think about what you all have said 2020-04-01T14:17:45Z White_Flame: also https://en.wikipedia.org/wiki/Principle_of_least_astonishment 2020-04-01T14:17:46Z jmercouris: I'm not saying I disagree by the way 2020-04-01T14:17:46Z Bike: i know some languages do this but it just frustrates me 2020-04-01T14:17:49Z phoe: except then the standard says that you get what you want, which is undefined behaviour 2020-04-01T14:18:02Z Bike: because the system is set up so i can't fix problems because they're fucking invisible 2020-04-01T14:18:07Z beach: jmercouris: This is stuff you should know since (as I recall) you have been programming professionally for some time. It is not specific to Common Lisp. 2020-04-01T14:18:10Z jmercouris: Bike: like in Python :-D? 2020-04-01T14:18:15Z Bike: yes, like in python 2020-04-01T14:18:15Z phoe: or in js 2020-04-01T14:18:29Z jmercouris: Yeah, since 2013 professionally 2020-04-01T14:18:48Z jmercouris: still, using a language as a user, doesn't mean you understand the design decisions 2020-04-01T14:18:54Z Bike: lisp does do some implicit coercion stuff and i'm sometimes negative about that, but it's not as bad as in python or whatever, far as i can tell 2020-04-01T14:18:54Z phoe: I can't agree that (append 'a '(b c d)) ;=> :undefined is a good idea 2020-04-01T14:18:57Z beach: jmercouris: You should definitely avoid languages that silently hide problems in application code. 2020-04-01T14:19:13Z phoe: especially since all user code expects that APPEND always returns a list 2020-04-01T14:19:42Z White_Flame: I think "functions should behave consistently and not randomly behave differently while trying to guess at what the user intends" is a reasonable design decision 2020-04-01T14:19:46Z phoe: so suddenly all code that depends on that must stop depending on that, or, hell, it can return :undefined to 2020-04-01T14:19:53Z phoe: too* 2020-04-01T14:19:57Z beach: phoe: Not true: (append '() 3) 2020-04-01T14:20:19Z phoe: beach: wait a second 2020-04-01T14:20:29Z phoe: oh right 2020-04-01T14:20:50Z phoe: ...what surprises me that this is defined behaviour! 2020-04-01T14:21:02Z phoe: "result---an object. This will be a list unless the last list was not a list and all preceding lists were null." 2020-04-01T14:21:05Z jmercouris: Well, there are a lot of people who seem to disagree with you guys, at the very least on accident :-D 2020-04-01T14:21:24Z phoe: well, they can disagree all right 2020-04-01T14:21:25Z jmercouris: Python imports come to mind 2020-04-01T14:21:29Z beach: jmercouris: There is lots of incompetence in software development. 2020-04-01T14:21:32Z White_Flame: that's because they never hit the problems of dealing with attempts at trying to guess user intent 2020-04-01T14:21:44Z White_Flame: python does not behave inconsistently 2020-04-01T14:21:49Z jmercouris: lmao 2020-04-01T14:21:50Z jmercouris: that's a good one 2020-04-01T14:21:59Z phoe: I prefer my code to fail fast, and type errors in dynamic programming are exactly where programs should fail fast 2020-04-01T14:21:59Z White_Flame: and has plenty of errors akin to append's 2020-04-01T14:22:13Z prince1 joined #lisp 2020-04-01T14:22:15Z phoe: since type errors are always the programmer's or the user's fault 2020-04-01T14:22:27Z beach: jmercouris: phoe puts it well. Incorrect code should fail sooner rather than later. 2020-04-01T14:22:29Z White_Flame: I mean, by your rationale, "print foo" should work in python3, because it should guess tha tyou're using python 2 style 2020-04-01T14:22:41Z jmercouris: oh man, let's not get into that debacle 2020-04-01T14:23:14Z phoe: agreed, let's not go there 2020-04-01T14:24:00Z beach: jmercouris: As an example of making the language help you, it used to be the case that (setq
) at the REPL would silently create variable if it did not already exist. That is a terrible idea, because a spelling mistake in a variable will then go unnoticed. 2020-04-01T14:24:19Z jmercouris: It was also very convenient 2020-04-01T14:24:23Z cartwright quit (Ping timeout: 240 seconds) 2020-04-01T14:25:02Z jmercouris: but, true, very error prone 2020-04-01T14:25:24Z flip214: I got around my type-derivation by building the reverse path for all forms in a global during compilation, so that a compiler-macro can find its current form and look up what's "above" it 2020-04-01T14:25:35Z beach: jmercouris: I suggest you read the writings of Bertrand Meyer. 2020-04-01T14:25:45Z phoe: flip214: care to share? 2020-04-01T14:25:50Z catalinbostan joined #lisp 2020-04-01T14:26:13Z jmercouris: beach: which? 2020-04-01T14:26:28Z beach: jmercouris: He formalized something known as "programming by contract" which is basically the idea of catching errors as soon as possible. Before him, there was a tendency to hide errors. 2020-04-01T14:27:10Z lucasb joined #lisp 2020-04-01T14:27:10Z prince1 quit (Ping timeout: 256 seconds) 2020-04-01T14:27:49Z beach: jmercouris: Start with the Wikipedia article on "Design by contract" 2020-04-01T14:28:03Z jmercouris: https://en.wikipedia.org/wiki/Design_by_contract 2020-04-01T14:28:06Z jmercouris: OK 2020-04-01T14:28:10Z cartwright joined #lisp 2020-04-01T14:28:17Z Bike: flip214: if this is a required part of the semantics you might want to make your function a macro instead 2020-04-01T14:28:38Z beach: jmercouris: If you want to be an excellent professional developer, these are things you should definitely know about. 2020-04-01T14:29:05Z jmercouris: yeah, definitely 2020-04-01T14:30:03Z flip214: phoe: the reversal is more or less trivial... and the compiler macro has a (&whole form) which is used in a GETHASH then 2020-04-01T14:30:06Z flip214: no magic at all 2020-04-01T14:30:16Z beach: I know it can be hard to motivate oneself to study these things, especially when one is "lost in a sea of mediocrity" as Dream Theater puts it. 2020-04-01T14:31:10Z jmercouris: at least I don't have to study about Java Beans anymore 2020-04-01T14:31:21Z jmercouris: what I like about this channel is that there are some smart people, and it can be motivating to learn from them 2020-04-01T14:31:38Z Steinberg2010 joined #lisp 2020-04-01T14:31:45Z jmercouris: that's actually why I started with CL, I wanted to learn more and more thoroughly understand programming 2020-04-01T14:31:55Z beach: I totally agree. That's why I hang out here too. There are some very smart and some very knowledgeable people here. 2020-04-01T14:33:50Z flip214: phoe: https://paste.debian.net/hidden/762caa6f/ is the gist 2020-04-01T14:35:04Z Bike: i never really thought about the "design by contract" metaphor but it's pretty good. when you're explaining something to a friend taking shortcuts and being metaphorical and stuff makes sense since they know you and can guess what you mean and so on. with a contract it has to be interpreted by disinterested lawyers and judges, and a computer cares even less than those people 2020-04-01T14:36:33Z efm joined #lisp 2020-04-01T14:37:11Z White_Flame: that's why I refer to it as "attempting to guess the user's intent" 2020-04-01T14:37:32Z White_Flame: which obviously it does not have the data to do correctly 2020-04-01T14:37:45Z Steinberg2010 quit (Ping timeout: 250 seconds) 2020-04-01T14:37:52Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-01T14:38:13Z White_Flame: (and obviously doesn't have the intelligence or human empathy to perform it in the first place, even if it did have more data) 2020-04-01T14:38:39Z White_Flame: the intent should be solely in the invocation of the function 2020-04-01T14:43:02Z jmercouris quit (Ping timeout: 256 seconds) 2020-04-01T14:43:11Z beach: Bike: Yes, reading his stuff at the time was an eyeopener for me. Before that, a program that crashed was considered the worst thing that could happen. After his writing, we understood that it was better for a program to crash (soon) rather than silently giving the wrong answer. 2020-04-01T14:43:17Z phoe: the collective wisdom of the people who talk here is massive and wonderful - I keep on leaving this IRC session more and more knowledgeable and wise even after years of sitting here 2020-04-01T14:43:44Z phoe: ;; and silently hope that I contribute positively to it while I'm learning more Lisp, too 2020-04-01T14:44:50Z beach: Unix code, for instance, silently gave (gives?) the wrong answers. One of the rules that RMS established for the GNU project was to avoid that. 2020-04-01T14:45:02Z Unigurd`` joined #lisp 2020-04-01T14:46:54Z lavaflow quit (Read error: Connection reset by peer) 2020-04-01T14:47:02Z lavaflow_ joined #lisp 2020-04-01T14:47:11Z lavaflow_ quit (Client Quit) 2020-04-01T14:52:10Z lavaflow joined #lisp 2020-04-01T14:58:29Z fookara joined #lisp 2020-04-01T14:59:54Z sjl_: re: setq autocreating variables and making typos unnoticed, this why I find defmethod not requiring a defgeneric to be annoying 2020-04-01T15:00:13Z beach: I totally agree. 2020-04-01T15:00:33Z beach: I have spent many hours debugging spelling mistakes in DEFMETHOD. 2020-04-01T15:02:15Z sjl_: Or forgetting a package prefix on the method name. That one is extra fun. 2020-04-01T15:02:28Z beach: Yes, that one too. 2020-04-01T15:05:38Z beach: Interestingly, in the book "Object-Oriented Programming, The CLOS Perspective", one of the authors states that DEFMETHOD was meant to be the primary interface. I think that phrase shows the age of the book. 2020-04-01T15:07:49Z dlowe: why is that worse than misspelling a function name? 2020-04-01T15:08:48Z beach: If you misspell a function name in DEFUN, and try to call it with the intended name, you get an undefined function error. 2020-04-01T15:09:04Z beach: Same if you misspell it in the function-call form. 2020-04-01T15:09:41Z splittist: dlowe: also, defmethods are supposed to interact based on their name. 2020-04-01T15:09:52Z splittist: shared name, I mean 2020-04-01T15:09:53Z beach: With a generic function, you often get the wrong answer, like when you intended to override an existing method specializing to a subclass. 2020-04-01T15:09:56Z phoe: (defmethod frobnicate ((object foo)) ...) (defmethod fronbicate ((object bar)) ...) 2020-04-01T15:10:13Z phoe: look ma, two different GFs 2020-04-01T15:11:09Z splittist: Some intellisense with completion on defmethod names based on defgenerics already defined, perhaps? 2020-04-01T15:11:54Z dlowe: (defun foo-frobnicate (foo) ...) (defun bar-fornbicate (bar) ...) seems equally likely and bad. 2020-04-01T15:12:04Z dlowe: but if you say so 2020-04-01T15:12:47Z beach: dlowe: (bar-frobnicate ...) will result in an error. 2020-04-01T15:12:59Z splittist: dlowe: if you call BAR-FROBNICATE you get an undefined. If you call FROBNICATE with a BAR, anything could happen, depending on your object hierarchy. 2020-04-01T15:13:01Z dlowe: ah, I see what you mean 2020-04-01T15:13:34Z phoe: dlowe: the compiler will warn you about undefined functions 2020-04-01T15:13:43Z phoe: it won't warn you about undefined GFs 2020-04-01T15:13:56Z beach: But I think it should. 2020-04-01T15:14:01Z phoe: I wish SBCL toggled these warnings back on, or made it toggleable 2020-04-01T15:14:06Z beach: And apparently, SBCL used to warn. 2020-04-01T15:14:07Z splittist: beach: you should get on to that 2020-04-01T15:14:18Z phoe: beach: yes, it used to warn about implicitly creating generic functions 2020-04-01T15:14:28Z beach: splittist: What do you suggest I do? 2020-04-01T15:14:45Z splittist: how about a whole new compiler? How hard could it be? 2020-04-01T15:15:00Z beach: Piece of cake. I am on it... 2020-04-01T15:15:01Z splittist: And a program editor, of course. 2020-04-01T15:15:16Z splittist: With an OS to fit them together. Next week is fine. 2020-04-01T15:15:53Z beach: Oh, man, I have articles to update. Can it wait another week? 2020-04-01T15:16:19Z splittist: I'm feeling generous - take 10 days. 2020-04-01T15:16:31Z beach: Whew! Thanks! 2020-04-01T15:17:18Z Shinmera: splittist: psh, without a web browser this'll never take off 2020-04-01T15:17:43Z jmercouris joined #lisp 2020-04-01T15:22:25Z hiroaki joined #lisp 2020-04-01T15:25:22Z bitmapper quit (Ping timeout: 265 seconds) 2020-04-01T15:31:00Z lxbarbosa joined #lisp 2020-04-01T15:32:26Z theBlack1ragon joined #lisp 2020-04-01T15:33:52Z orivej joined #lisp 2020-04-01T15:36:13Z theBlackDragon quit (Ping timeout: 264 seconds) 2020-04-01T15:36:29Z iAmDecim joined #lisp 2020-04-01T15:37:55Z Steinberg2010 joined #lisp 2020-04-01T15:38:14Z jprajzne quit (Quit: Leaving.) 2020-04-01T15:39:30Z shangul joined #lisp 2020-04-01T15:39:36Z fookara quit (Remote host closed the connection) 2020-04-01T15:41:10Z niklascarlsson joined #lisp 2020-04-01T15:41:50Z niklascarlsson quit (Remote host closed the connection) 2020-04-01T15:44:47Z achilles joined #lisp 2020-04-01T15:46:16Z achilles quit (Client Quit) 2020-04-01T15:47:49Z fookara joined #lisp 2020-04-01T15:48:03Z Unigurd`` quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-01T15:48:04Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-01T15:48:12Z fookara quit (Remote host closed the connection) 2020-04-01T15:48:36Z Unigurd joined #lisp 2020-04-01T15:48:37Z fookara joined #lisp 2020-04-01T15:48:41Z ebzzry_ joined #lisp 2020-04-01T15:49:16Z Steinberg2010 quit (Ping timeout: 256 seconds) 2020-04-01T15:50:02Z drl quit (Quit: Ex-Chat) 2020-04-01T15:50:11Z fookara quit (Remote host closed the connection) 2020-04-01T15:51:37Z fookara joined #lisp 2020-04-01T15:53:31Z SGASAU joined #lisp 2020-04-01T15:57:46Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-01T15:58:00Z sulami joined #lisp 2020-04-01T15:58:43Z gko quit (Ping timeout: 265 seconds) 2020-04-01T15:59:26Z sunwukong quit (Quit: Leaving) 2020-04-01T15:59:41Z jmercouris quit (Ping timeout: 265 seconds) 2020-04-01T15:59:51Z aamukastemato joined #lisp 2020-04-01T16:00:54Z fookara quit (Remote host closed the connection) 2020-04-01T16:01:14Z fookara joined #lisp 2020-04-01T16:01:30Z dale_ joined #lisp 2020-04-01T16:01:37Z shangul quit (Ping timeout: 265 seconds) 2020-04-01T16:01:39Z v_m_v joined #lisp 2020-04-01T16:01:39Z iAmDecim joined #lisp 2020-04-01T16:01:40Z dale_ is now known as dale 2020-04-01T16:03:09Z fookara quit (Remote host closed the connection) 2020-04-01T16:03:21Z monokrom joined #lisp 2020-04-01T16:03:56Z fookara joined #lisp 2020-04-01T16:07:57Z frgo joined #lisp 2020-04-01T16:13:12Z ebzzry joined #lisp 2020-04-01T16:13:13Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-01T16:14:48Z ljavorsk_ quit (Remote host closed the connection) 2020-04-01T16:15:11Z ljavorsk_ joined #lisp 2020-04-01T16:17:04Z fookara quit (Remote host closed the connection) 2020-04-01T16:17:27Z achillesp joined #lisp 2020-04-01T16:18:09Z frgo quit 2020-04-01T16:18:24Z achillesp quit (Remote host closed the connection) 2020-04-01T16:20:15Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-01T16:21:31Z vivit joined #lisp 2020-04-01T16:22:07Z jonatack quit (Ping timeout: 252 seconds) 2020-04-01T16:23:09Z prince1 joined #lisp 2020-04-01T16:24:24Z jonatack joined #lisp 2020-04-01T16:25:10Z fookara joined #lisp 2020-04-01T16:26:27Z shangul joined #lisp 2020-04-01T16:27:29Z bitmapper joined #lisp 2020-04-01T16:27:37Z ebzzry quit (Remote host closed the connection) 2020-04-01T16:28:02Z prince1 quit (Ping timeout: 256 seconds) 2020-04-01T16:30:20Z lxbarbos` joined #lisp 2020-04-01T16:34:20Z lxbarbosa quit (Ping timeout: 246 seconds) 2020-04-01T16:36:56Z ebzzry joined #lisp 2020-04-01T16:37:16Z fookara quit (Remote host closed the connection) 2020-04-01T16:38:38Z vivit: Is there a way to express the initform of a slot in terms of other slots on the object? 2020-04-01T16:38:59Z adlai: vivit, no, use an :after method to initialize-instance or shared-initialize 2020-04-01T16:39:26Z adlai: clhs shared-initialize 2020-04-01T16:39:26Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_shared.htm 2020-04-01T16:41:39Z iAmDecim joined #lisp 2020-04-01T16:41:48Z ebzzry quit (Remote host closed the connection) 2020-04-01T16:42:42Z mrcom quit (Ping timeout: 265 seconds) 2020-04-01T16:44:31Z vivit: Why do you need to specify the accesible slots when you call that function? Doesn't the class definition itself already have those? 2020-04-01T16:44:42Z vivit: Or does this operate on a lower level of abstraction than the class definitions 2020-04-01T16:45:06Z vivit: s/have/specify/ 2020-04-01T16:45:47Z Xach: vivit: it's optional 2020-04-01T16:46:16Z Xach: vivit: if you specify the args, they are available as arguments, you can also work from the values in the instance already (in an :after) 2020-04-01T16:46:20Z beach: vivit: There is no such thing as an "accessible slot". To refer to a slot, you need to have an existing object. The object does not exist when the initform is evaluated. 2020-04-01T16:46:25Z mrcom joined #lisp 2020-04-01T16:46:26Z jcowan: What are the use cases for returning zero values? I mean, it's an obvious generalization of more ordinary multiple values, but when would it make sense? 2020-04-01T16:46:46Z _death: you're not suppose to call this function yourself 2020-04-01T16:47:02Z Xach: jcowan: some prefer it to returning nil to indicate "this function has no meaningful return value" 2020-04-01T16:47:07Z Xach: or some other value 2020-04-01T16:47:17Z Xach: "prefer it to nil or some other value" that is. 2020-04-01T16:48:17Z jcowan nods. 2020-04-01T16:48:19Z KDr23 quit (Remote host closed the connection) 2020-04-01T16:48:29Z jcowan: So the main application is in a context when you don't care what values are returned, then. 2020-04-01T16:48:46Z Xach: jcowan: that's how i've seen it used. 2020-04-01T16:48:54Z jcowan: Makes sense 2020-04-01T16:49:48Z Bike: technically it could also be useful in multiple-value-call, but i've never actually seen that 2020-04-01T16:52:18Z jcowan: I'm arguing against the position that in Lisp, a proper monad implementation should be extended from Haskell's one-arg-one-value functions to n-args-m-values. It makes little sense to pass zero values to the next element in a bind chain. 2020-04-01T16:52:30Z ggole quit (Quit: Leaving) 2020-04-01T16:53:42Z FreeBirdLjj joined #lisp 2020-04-01T16:54:06Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-01T16:55:18Z pyx joined #lisp 2020-04-01T16:56:32Z KDr23 joined #lisp 2020-04-01T16:57:34Z pyx quit (Client Quit) 2020-04-01T16:57:46Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2020-04-01T16:58:12Z pjb: jcowan: one place you definitely want to return zero values, is in "commands". Ie. functions designed to be called on the REPL, as command, (they may ouput some text), but for which you don't want any result to be displayed to keep the REPL clean. 2020-04-01T16:59:01Z aamukastemato quit (Ping timeout: 264 seconds) 2020-04-01T16:59:21Z pjb: jcowan: other places, is when you don't want to leak an internal data. Since all expressions return some value, there's always a value returned by default from a function. Sometimes, you want to make sure that default value is not returned, so you add a (values) to return nothing. 2020-04-01T17:00:20Z pjb: jcowan: note that for commands, if you use a function that returns a big data structure, it may take a lot of time and screen space to print it. This is often when you will take the pain to add the (values) call. 2020-04-01T17:01:25Z Bike: really? i haven't done much haskell programming, but i thought with the semicolon syntax you could write values that weren't bound to anything 2020-04-01T17:04:25Z jcowan: And yet definers seem to mostly return nil, and they are the very essence of nothing-useful-to-return 2020-04-01T17:04:51Z jcowan: Bike: If you mean do-syntax, you can, but that all gets unpacked into calls on map and map-append 2020-04-01T17:05:35Z Xach: defun returning its name has at least one nice use. 2020-04-01T17:05:37Z Bike: well, sure, so analogously youo'd have chains of multiple value call i would think 2020-04-01T17:13:31Z iAmDecim joined #lisp 2020-04-01T17:13:38Z jcowan: yes 2020-04-01T17:14:03Z ukari quit (Remote host closed the connection) 2020-04-01T17:14:19Z jcowan: I am just not convinced that generalizing monads to multiple args/values (multiple values are the dual of multiple args, passing more than one value to the continuation) is really worth the headache 2020-04-01T17:14:32Z ukari joined #lisp 2020-04-01T17:14:40Z jcowan: It is shaky to call anything returning multiple values a function (in the math sense) 2020-04-01T17:14:46Z karlosz joined #lisp 2020-04-01T17:14:51Z jcowan: s/shaky/sketchy 2020-04-01T17:14:58Z pjb: jcowan: in CL most definiers return the name that has been defined. 2020-04-01T17:15:11Z pjb: or the thing itself. 2020-04-01T17:15:19Z pjb: (defvar *foo*) #| --> *foo* |# (defclass foo () ()) #| --> # |# 2020-04-01T17:16:05Z jprajzne joined #lisp 2020-04-01T17:17:47Z jcowan: sorry, brain fart; I was thinking about returning the name 2020-04-01T17:22:20Z jcowan: In Scheme, definitions are not expressions, just syntactic sugar that can only be used at top level or at the start of a let (vel sim.) block. 2020-04-01T17:24:25Z Guest64823 left #lisp 2020-04-01T17:24:47Z borodust joined #lisp 2020-04-01T17:24:47Z jonatack_ joined #lisp 2020-04-01T17:26:15Z jonatack_ quit (Client Quit) 2020-04-01T17:26:32Z jonatack_ joined #lisp 2020-04-01T17:26:48Z sulami quit (Remote host closed the connection) 2020-04-01T17:27:10Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-01T17:28:37Z jonatack quit (Ping timeout: 265 seconds) 2020-04-01T17:29:06Z ljavorsk_ quit (Ping timeout: 265 seconds) 2020-04-01T17:31:28Z iAmDecim joined #lisp 2020-04-01T17:31:43Z Bike: well multiple values are really just a kind of implicit tuple type. the sketchy part is more the implicit coercion of one of those tuples to the primary value in almost all contexts 2020-04-01T17:32:38Z smazga joined #lisp 2020-04-01T17:34:59Z v_m_v quit (Remote host closed the connection) 2020-04-01T17:36:27Z Steinberg2010 joined #lisp 2020-04-01T17:37:49Z alandipert: along those lines, coercion of no values to nil sketches me out a bit 2020-04-01T17:49:07Z peterhil` quit (Read error: Connection reset by peer) 2020-04-01T17:49:11Z nicktick joined #lisp 2020-04-01T17:49:32Z fookara joined #lisp 2020-04-01T17:50:27Z vivit: beach: the hyperspec uses the word "accessible" 2020-04-01T17:50:41Z peterhil joined #lisp 2020-04-01T17:51:20Z Steinberg2010 quit (Quit: WeeChat 2.7.1) 2020-04-01T17:51:47Z nicktick quit (Client Quit) 2020-04-01T17:51:49Z Bike: vivit: update-instance-for-different-class calls shared-initialize with a slots list of only the new slots, so that slots already in the object are not reinitialized. 2020-04-01T17:52:26Z Bike: vivit: and reinitialize-instance calls it with an empty slot list so that no slots are initialized from initforms 2020-04-01T17:53:02Z lxbarbos` quit (Ping timeout: 256 seconds) 2020-04-01T17:54:01Z amerlyq quit (Quit: amerlyq) 2020-04-01T17:54:13Z Kundry_Wag joined #lisp 2020-04-01T17:54:15Z nicktick joined #lisp 2020-04-01T17:56:29Z madage quit (Remote host closed the connection) 2020-04-01T17:56:52Z madage joined #lisp 2020-04-01T17:57:42Z jcowan: The point is that, coercion or not (Scheme doesn't have it), it's possible to implement MVs without reification 2020-04-01T17:57:52Z v_m_v joined #lisp 2020-04-01T17:57:56Z nicktick quit (Client Quit) 2020-04-01T17:59:43Z nicktick joined #lisp 2020-04-01T18:01:53Z nicktick quit (Client Quit) 2020-04-01T18:07:34Z CrazyEddy quit (Ping timeout: 240 seconds) 2020-04-01T18:07:59Z Codaraxis joined #lisp 2020-04-01T18:09:18Z ArthurStrong joined #lisp 2020-04-01T18:12:45Z kopiyka quit (Remote host closed the connection) 2020-04-01T18:13:25Z kopiyka joined #lisp 2020-04-01T18:13:26Z CrazyEddy joined #lisp 2020-04-01T18:14:11Z even4void joined #lisp 2020-04-01T18:14:55Z v_m_v quit (Remote host closed the connection) 2020-04-01T18:17:14Z gareppa joined #lisp 2020-04-01T18:18:30Z gareppa quit (Remote host closed the connection) 2020-04-01T18:20:20Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-01T18:24:05Z prince1 joined #lisp 2020-04-01T18:28:44Z prince1 quit (Ping timeout: 256 seconds) 2020-04-01T18:29:19Z sauvin quit (Read error: Connection reset by peer) 2020-04-01T18:31:14Z pluplog joined #lisp 2020-04-01T18:32:01Z Unigurd quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-01T18:34:34Z even4void quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-01T18:36:19Z izh_ joined #lisp 2020-04-01T18:37:14Z xlei quit (Ping timeout: 256 seconds) 2020-04-01T18:38:56Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-01T18:39:05Z v88m joined #lisp 2020-04-01T18:41:41Z cosimone quit (Quit: Quit.) 2020-04-01T18:43:53Z rumbler31 quit (Remote host closed the connection) 2020-04-01T18:44:29Z rumbler31 joined #lisp 2020-04-01T18:44:56Z zerous quit (Changing host) 2020-04-01T18:44:56Z zerous joined #lisp 2020-04-01T18:46:17Z xlei joined #lisp 2020-04-01T18:48:54Z rumbler31 quit (Ping timeout: 256 seconds) 2020-04-01T18:50:06Z Cymew quit (Ping timeout: 256 seconds) 2020-04-01T18:54:14Z rumbler31 joined #lisp 2020-04-01T18:56:01Z ukari quit (Remote host closed the connection) 2020-04-01T18:57:01Z ukari joined #lisp 2020-04-01T19:04:56Z pluplog quit (Read error: Connection reset by peer) 2020-04-01T19:08:53Z pilne joined #lisp 2020-04-01T19:11:22Z Inline quit (Remote host closed the connection) 2020-04-01T19:12:09Z Inline joined #lisp 2020-04-01T19:14:08Z iAmDecim joined #lisp 2020-04-01T19:18:36Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-01T19:18:44Z ljavorsk_ joined #lisp 2020-04-01T19:20:40Z ljavorsk_ quit (Remote host closed the connection) 2020-04-01T19:22:54Z efm quit (Ping timeout: 256 seconds) 2020-04-01T19:26:38Z ukari quit (Remote host closed the connection) 2020-04-01T19:27:28Z ukari joined #lisp 2020-04-01T19:32:28Z madand quit (Read error: Connection reset by peer) 2020-04-01T19:32:38Z trn quit (Quit: quit) 2020-04-01T19:32:50Z madand joined #lisp 2020-04-01T19:34:25Z v0|d quit (Ping timeout: 264 seconds) 2020-04-01T19:34:44Z elderK joined #lisp 2020-04-01T19:37:23Z madage quit (Ping timeout: 240 seconds) 2020-04-01T19:42:28Z cosimone joined #lisp 2020-04-01T19:42:50Z trn joined #lisp 2020-04-01T19:44:01Z aeth: One thing that is not really clear in the conversation (idk if you know it) but in CL, most MV-related things implicitly insert a NIL if there is no argument in the nth position and the nth position is requested. alandipert touched ont his with "coercion of no values to nil". 2020-04-01T19:44:39Z aeth: MV-related things will also tend to drop the extra values, which is less problematic. 2020-04-01T19:45:05Z aeth: I think only multiple-value-call and multiple-value-list don't have this implicit NILness to it. 2020-04-01T19:45:41Z aeth: Of course, (values) is particularly noticable because e.g. (funcall (lambda (x) x) (values)) => NIL whereas (multiple-value-call (lambda (x) x) (values)) is an error. 2020-04-01T19:45:43Z Bike: multiple value call is the only special operator, yes 2020-04-01T19:46:18Z aeth: ((lambda (x) x) (values)) is also NIL, the funcall isn't necessary 2020-04-01T19:52:30Z phoe: ((lambda (x) x) (values)) coerces (values) into a NIL and then calls the lambda on it 2020-04-01T19:52:38Z phoe: that's per normal rules of evaluation 2020-04-01T19:52:59Z phoe: M-V-C is a special form and therefore isn't affected by that 2020-04-01T19:54:23Z madage joined #lisp 2020-04-01T19:57:20Z catalinbostan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-01T19:57:35Z btbngr joined #lisp 2020-04-01T19:58:19Z fookara quit (Remote host closed the connection) 2020-04-01T19:58:41Z fookara joined #lisp 2020-04-01T19:59:35Z dreamcompiler quit (Ping timeout: 260 seconds) 2020-04-01T20:00:04Z Bike: you can imagine having semantics where every call works like multiple-value-call. then you could have (defun primary-value (&optional value &rest rest) (declare (ignore rest)) value) 2020-04-01T20:00:05Z rumbler31 quit (Remote host closed the connection) 2020-04-01T20:00:06Z catalinbostan joined #lisp 2020-04-01T20:00:40Z rumbler31 joined #lisp 2020-04-01T20:01:27Z dreamcompiler joined #lisp 2020-04-01T20:02:48Z narimiran quit (Ping timeout: 256 seconds) 2020-04-01T20:03:12Z rumbler31 quit (Remote host closed the connection) 2020-04-01T20:03:29Z rumbler31 joined #lisp 2020-04-01T20:03:50Z stepnem_ quit (Read error: Connection reset by peer) 2020-04-01T20:05:01Z iAmDecim joined #lisp 2020-04-01T20:05:11Z phoe: using gethash would be ugly 2020-04-01T20:07:49Z stepnem joined #lisp 2020-04-01T20:09:27Z t58 joined #lisp 2020-04-01T20:15:19Z pilne quit (Ping timeout: 250 seconds) 2020-04-01T20:15:39Z pilne joined #lisp 2020-04-01T20:17:54Z phoe: why doesn't the Lisp condition system allow signaling arbitrary Lisp objects? what was the rationale for that? 2020-04-01T20:18:08Z phoe: is it that conditions are guaranteed to know how to report themselves? 2020-04-01T20:20:41Z Bike: means you have a type to handle more specific than T 2020-04-01T20:21:09Z Bike: and you can put arbitrary objects in condition slots, so it's no big 2020-04-01T20:21:35Z jcowan: It doesn't? 2020-04-01T20:22:09Z phoe: I'm aware it's no big; I was just curious 2020-04-01T20:22:19Z phoe: the "type to handle more specific than T" is a good reason 2020-04-01T20:22:25Z Bike: jcowan: SIGNAL is defined as having a designator for a condition as an argument, etc 2020-04-01T20:22:40Z phoe: jcowan: you can't signal a 2 2020-04-01T20:24:21Z jcowan: Ah, got it. I was misled by the term "datum" in the CLHS section for signal 2020-04-01T20:24:56Z prince1 joined #lisp 2020-04-01T20:25:37Z jcowan: In Scheme exceptions and conditions are independent: you can raise any object, and you can use a condition for any purpose. 2020-04-01T20:26:40Z dlowe: I have wondered why it's not that way in CL 2020-04-01T20:28:29Z Bike: i don't know about scheme, but the lisp condition system can basically be defind in terms of the rest of the language, and usually is actually written that way. so why not make it specific to the task, i guess 2020-04-01T20:29:34Z prince1 quit (Ping timeout: 240 seconds) 2020-04-01T20:30:34Z jcowan: Are condition classes usually implemented as standard classes, or by separate machinery? 2020-04-01T20:31:17Z dlowe: usually as standard classes but it's not portable to rely upon it 2020-04-01T20:31:59Z dlowe: in CLtL2 they are always standard-classes but not in ANSI I think 2020-04-01T20:32:34Z Bike: sbcl has a separate condition-class metaclass, i think 2020-04-01T20:33:23Z Bike: yeah. and condition-class shares common superclasses with standard-class but is otherwise independent 2020-04-01T20:33:33Z dlowe: all sorts of weird restrictions that don't point to anything substantial http://www.lispworks.com/documentation/HyperSpec/Body/e_cnd.htm 2020-04-01T20:33:51Z dlowe: I suspect MacLisp or Interlisp just worked that way and we inherited them 2020-04-01T20:34:03Z Bike: i don't know why sbcl has this separate hierarchy, though 2020-04-01T20:34:28Z Bike: other implementations don't 2020-04-01T20:34:35Z phoe: they want to have conditions as early in the build process as possible 2020-04-01T20:34:36Z dlowe: what about cmucl? 2020-04-01T20:34:53Z Bike: phoe: i mean, they're still standard-objects and everything, though. 2020-04-01T20:35:59Z phoe: Bike: wait, conditions aren't standard-objects in sbcl or cmucl 2020-04-01T20:36:14Z phoe: (typep (make-instance 'condition) 'standard-object) ;=> NIL 2020-04-01T20:36:37Z phoe: AFAIK SBCL wants to have conditions early, before CLOS has booted - so they have this whole separate hierarchy for this reason alone 2020-04-01T20:36:47Z phoe: and they boot it early, before CLOS had a chance to boot up 2020-04-01T20:36:58Z Bike: oh, sorry, the classes are standard objects 2020-04-01T20:37:04Z Bike: whoops 2020-04-01T20:37:17Z fookara quit (Remote host closed the connection) 2020-04-01T20:38:32Z Bike: or, well, i'm confused now, arithmetic error has standard-object in its CPL but an actual arithemtic error object isn't a standard object 2020-04-01T20:38:37Z izh_ quit (Quit: Leaving) 2020-04-01T20:39:36Z achillesp joined #lisp 2020-04-01T20:39:36Z phoe: you mean the class? 2020-04-01T20:39:50Z achillesp left #lisp 2020-04-01T20:41:03Z phoe: (mapcar #'class-name (sb-pcl:class-precedence-list (find-class 'arithmetic-error))) 2020-04-01T20:41:06Z z147 joined #lisp 2020-04-01T20:41:07Z phoe: ;=> (ARITHMETIC-ERROR ERROR SERIOUS-CONDITION CONDITION SB-PCL::SLOT-OBJECT T) 2020-04-01T20:41:11Z phoe: no standard-object there 2020-04-01T20:41:16Z Bike: oh 2020-04-01T20:41:24Z Bike: i was looking at the CPL of condition-class 2020-04-01T20:41:28Z Bike: boy, i'm just confused today, sorry 2020-04-01T20:41:56Z phoe: metaclasses we dive intoooo 2020-04-01T20:42:37Z achillesp joined #lisp 2020-04-01T20:47:00Z btbngr quit (Quit: Leaving) 2020-04-01T20:52:21Z sendai_ quit (Ping timeout: 252 seconds) 2020-04-01T20:59:51Z baby_yoda joined #lisp 2020-04-01T21:04:00Z achillesp quit (Remote host closed the connection) 2020-04-01T21:05:46Z smazga quit (Quit: leaving) 2020-04-01T21:11:29Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-01T21:15:59Z gravicappa quit (Ping timeout: 250 seconds) 2020-04-01T21:16:32Z aamukastemato joined #lisp 2020-04-01T21:17:19Z oleba joined #lisp 2020-04-01T21:17:37Z tessier quit (Ping timeout: 258 seconds) 2020-04-01T21:18:03Z aamukastemato quit (Client Quit) 2020-04-01T21:25:41Z Lord_of_Life_ joined #lisp 2020-04-01T21:26:37Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-04-01T21:26:54Z oleba quit (Ping timeout: 240 seconds) 2020-04-01T21:27:01Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-01T21:29:17Z oleba joined #lisp 2020-04-01T21:31:02Z dreamcompiler quit (Ping timeout: 256 seconds) 2020-04-01T21:32:57Z dreamcompiler joined #lisp 2020-04-01T21:37:15Z lalilulelo quit (Quit: Leaving) 2020-04-01T21:40:06Z sjl_ quit (Ping timeout: 256 seconds) 2020-04-01T21:42:02Z tessier joined #lisp 2020-04-01T21:42:02Z tessier quit (Changing host) 2020-04-01T21:42:02Z tessier joined #lisp 2020-04-01T21:42:23Z z147 quit (Quit: z147) 2020-04-01T21:42:29Z oleba quit (Read error: Connection reset by peer) 2020-04-01T21:43:26Z iAmDecim joined #lisp 2020-04-01T21:48:10Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-01T21:52:31Z achillesp joined #lisp 2020-04-01T22:00:29Z Grue` joined #lisp 2020-04-01T22:00:46Z achillesp quit (Remote host closed the connection) 2020-04-01T22:02:08Z random-nick quit (Ping timeout: 256 seconds) 2020-04-01T22:02:23Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-01T22:02:54Z Lycurgus joined #lisp 2020-04-01T22:02:55Z hiredman_ joined #lisp 2020-04-01T22:04:19Z jlarocco joined #lisp 2020-04-01T22:06:20Z guna quit (Ping timeout: 256 seconds) 2020-04-01T22:06:38Z sbryant_ joined #lisp 2020-04-01T22:07:09Z asarch joined #lisp 2020-04-01T22:07:13Z pilne quit (Quit: Hello, 911? Yeah, it's caught in the window this time.) 2020-04-01T22:07:33Z pilne joined #lisp 2020-04-01T22:08:01Z felideon_ joined #lisp 2020-04-01T22:08:07Z ioa quit (*.net *.split) 2020-04-01T22:08:07Z copec quit (*.net *.split) 2020-04-01T22:08:07Z eeeeeta quit (*.net *.split) 2020-04-01T22:08:07Z AdmiralBumbleBee quit (*.net *.split) 2020-04-01T22:08:07Z akkad quit (*.net *.split) 2020-04-01T22:08:08Z felideon quit (*.net *.split) 2020-04-01T22:08:08Z Grue`` quit (*.net *.split) 2020-04-01T22:08:08Z hiredman quit (*.net *.split) 2020-04-01T22:08:08Z sbryant quit (*.net *.split) 2020-04-01T22:08:08Z gingerale quit (*.net *.split) 2020-04-01T22:08:08Z Ober is now known as akkad 2020-04-01T22:08:25Z gingerale joined #lisp 2020-04-01T22:11:19Z hhdave quit (Quit: hhdave) 2020-04-01T22:15:22Z cosimone quit (Quit: Quit.) 2020-04-01T22:21:51Z cosimone joined #lisp 2020-04-01T22:25:46Z prince1 joined #lisp 2020-04-01T22:28:18Z _jrjsmrtn joined #lisp 2020-04-01T22:29:14Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-04-01T22:30:42Z prince1 quit (Ping timeout: 265 seconds) 2020-04-01T22:30:50Z akkad is now known as 7YUAAD074 2020-04-01T22:30:52Z ioa joined #lisp 2020-04-01T22:30:52Z copec joined #lisp 2020-04-01T22:30:52Z eeeeeta joined #lisp 2020-04-01T22:30:52Z AdmiralBumbleBee joined #lisp 2020-04-01T22:30:52Z akkad joined #lisp 2020-04-01T22:30:58Z adam4567 joined #lisp 2020-04-01T22:31:23Z jlarocco quit (Remote host closed the connection) 2020-04-01T22:32:58Z ArthurStrong quit (Quit: leaving) 2020-04-01T22:33:52Z adam4567 left #lisp 2020-04-01T22:34:43Z ArthurStrong joined #lisp 2020-04-01T22:37:50Z baby_yoda quit (Quit: Leaving) 2020-04-01T22:44:51Z guna joined #lisp 2020-04-01T22:49:32Z achillesp joined #lisp 2020-04-01T22:54:49Z |Pirx| quit (Ping timeout: 264 seconds) 2020-04-01T22:57:02Z |Pirx| joined #lisp 2020-04-01T23:01:03Z nicktick joined #lisp 2020-04-01T23:02:16Z vivit quit (Ping timeout: 258 seconds) 2020-04-01T23:04:06Z cosimone quit (Ping timeout: 240 seconds) 2020-04-01T23:08:21Z vivit joined #lisp 2020-04-01T23:08:21Z vivit quit (Changing host) 2020-04-01T23:08:21Z vivit joined #lisp 2020-04-01T23:10:46Z dilated_dinosaur quit (Ping timeout: 256 seconds) 2020-04-01T23:12:10Z monokrom quit (Remote host closed the connection) 2020-04-01T23:12:21Z Lycurgus quit (Remote host closed the connection) 2020-04-01T23:13:12Z asarch quit (Quit: Leaving) 2020-04-01T23:20:00Z achillesp quit (Remote host closed the connection) 2020-04-01T23:22:35Z achillesp joined #lisp 2020-04-01T23:25:03Z achillesp quit (Remote host closed the connection) 2020-04-01T23:26:14Z |Pirx| quit (Ping timeout: 256 seconds) 2020-04-01T23:26:37Z |Pirx| joined #lisp 2020-04-01T23:30:37Z ukari quit (Remote host closed the connection) 2020-04-01T23:31:26Z ukari joined #lisp 2020-04-01T23:32:33Z slyrus__ quit (Quit: Leaving) 2020-04-01T23:33:18Z Unigurd joined #lisp 2020-04-01T23:33:48Z |Pirx_off joined #lisp 2020-04-01T23:37:34Z |Pirx| quit (Ping timeout: 256 seconds) 2020-04-01T23:37:34Z iAmDecim joined #lisp 2020-04-01T23:42:45Z t58 quit (Quit: bye.) 2020-04-01T23:56:21Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-01T23:58:02Z Codaraxis quit (Read error: Connection reset by peer) 2020-04-01T23:58:29Z Codaraxis joined #lisp 2020-04-01T23:59:26Z v88m quit (Ping timeout: 256 seconds) 2020-04-02T00:02:51Z torbo joined #lisp 2020-04-02T00:02:55Z Unigurd left #lisp 2020-04-02T00:08:03Z prince1 joined #lisp 2020-04-02T00:16:30Z ebzzry joined #lisp 2020-04-02T00:19:38Z ebzzry quit (Remote host closed the connection) 2020-04-02T00:20:12Z ebzzry joined #lisp 2020-04-02T00:24:37Z Kundry_Wag quit (Remote host closed the connection) 2020-04-02T00:25:17Z |Pirx_off left #lisp 2020-04-02T00:32:25Z SGASAU quit (Remote host closed the connection) 2020-04-02T00:32:45Z SGASAU joined #lisp 2020-04-02T00:37:07Z Kundry_Wag joined #lisp 2020-04-02T00:43:25Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-02T00:47:36Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-02T00:47:37Z ebzzry quit (Read error: Connection reset by peer) 2020-04-02T00:50:39Z Inline quit (Ping timeout: 246 seconds) 2020-04-02T01:01:05Z igemnace quit (Quit: WeeChat 2.7.1) 2020-04-02T01:04:53Z bitmapper quit (Ping timeout: 265 seconds) 2020-04-02T01:07:07Z amerigo quit (Quit: Connection closed for inactivity) 2020-04-02T01:12:37Z theBlack1ragon left #lisp 2020-04-02T01:13:04Z theBlackDragon joined #lisp 2020-04-02T01:13:53Z markong quit (Ping timeout: 250 seconds) 2020-04-02T01:24:42Z aeth quit (Ping timeout: 265 seconds) 2020-04-02T01:26:08Z aeth joined #lisp 2020-04-02T01:26:33Z igemnace joined #lisp 2020-04-02T01:29:36Z zaquest quit (Ping timeout: 256 seconds) 2020-04-02T01:40:39Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-04-02T01:42:06Z orivej joined #lisp 2020-04-02T01:43:46Z ebzzry joined #lisp 2020-04-02T01:47:55Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-04-02T01:49:15Z orivej joined #lisp 2020-04-02T01:49:20Z lonjil quit (Remote host closed the connection) 2020-04-02T01:52:17Z ebzzry quit (Read error: Connection reset by peer) 2020-04-02T01:52:45Z lonjil joined #lisp 2020-04-02T01:59:48Z lonjil quit (Remote host closed the connection) 2020-04-02T02:01:14Z ebzzry joined #lisp 2020-04-02T02:05:21Z ebzzry quit (Read error: Connection reset by peer) 2020-04-02T02:11:37Z lonjil joined #lisp 2020-04-02T02:12:56Z space_otter joined #lisp 2020-04-02T02:12:59Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-04-02T02:14:09Z orivej joined #lisp 2020-04-02T02:16:44Z gko joined #lisp 2020-04-02T02:22:48Z Bourne quit (Ping timeout: 256 seconds) 2020-04-02T02:27:03Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-04-02T02:27:13Z Tordek quit (Ping timeout: 264 seconds) 2020-04-02T02:28:13Z orivej joined #lisp 2020-04-02T02:34:20Z Oladon joined #lisp 2020-04-02T02:34:52Z amerlyq joined #lisp 2020-04-02T02:38:15Z Tordek joined #lisp 2020-04-02T02:39:53Z lxbarbosa joined #lisp 2020-04-02T02:41:54Z vert2 quit (Ping timeout: 240 seconds) 2020-04-02T02:42:09Z vert2 joined #lisp 2020-04-02T02:44:01Z Tordek quit (Ping timeout: 264 seconds) 2020-04-02T02:44:45Z Tordek joined #lisp 2020-04-02T02:49:30Z Tordek quit (Ping timeout: 256 seconds) 2020-04-02T02:50:01Z Tordek joined #lisp 2020-04-02T02:50:18Z ebzzry joined #lisp 2020-04-02T02:51:08Z vert2 quit (Ping timeout: 256 seconds) 2020-04-02T02:51:38Z vert2 joined #lisp 2020-04-02T02:54:46Z Tordek quit (Ping timeout: 256 seconds) 2020-04-02T02:54:54Z ebzzry quit (Remote host closed the connection) 2020-04-02T02:55:27Z Tordek joined #lisp 2020-04-02T02:55:29Z ebzzry joined #lisp 2020-04-02T02:56:47Z beach: Good morning everyone! 2020-04-02T03:04:02Z bmansurov joined #lisp 2020-04-02T03:05:33Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-04-02T03:07:01Z orivej joined #lisp 2020-04-02T03:10:38Z ebzzry quit (Read error: Connection reset by peer) 2020-04-02T03:14:05Z efm_ joined #lisp 2020-04-02T03:14:23Z efm_ quit (Client Quit) 2020-04-02T03:18:26Z shinzo joined #lisp 2020-04-02T03:19:26Z terpri_ quit (Remote host closed the connection) 2020-04-02T03:20:05Z terpri_ joined #lisp 2020-04-02T03:22:43Z ebzzry joined #lisp 2020-04-02T03:24:04Z ebzzry_ joined #lisp 2020-04-02T03:24:12Z ebzzry quit (Remote host closed the connection) 2020-04-02T03:27:19Z orivej quit (Quit: No Ping reply in 180 seconds.) 2020-04-02T03:34:02Z orivej joined #lisp 2020-04-02T03:34:46Z prince1 quit (Ping timeout: 256 seconds) 2020-04-02T03:39:25Z shinzo left #lisp 2020-04-02T03:39:57Z v88m joined #lisp 2020-04-02T03:40:49Z ArthurStrong quit (Quit: leaving) 2020-04-02T03:41:30Z Lycurgus joined #lisp 2020-04-02T03:48:17Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-02T03:48:37Z lxbarbos` joined #lisp 2020-04-02T03:49:32Z hiredman_ left #lisp 2020-04-02T03:50:20Z hiredman joined #lisp 2020-04-02T03:50:29Z lxbarbosa quit (Ping timeout: 272 seconds) 2020-04-02T03:53:45Z ebzzry_ joined #lisp 2020-04-02T03:54:55Z orivej_ joined #lisp 2020-04-02T03:55:03Z ebzzry_ quit (Remote host closed the connection) 2020-04-02T03:55:04Z orivej quit (Read error: Connection reset by peer) 2020-04-02T03:57:28Z ebzzry_ joined #lisp 2020-04-02T03:59:56Z pilne quit (Quit: Hello, 911? Yeah, it's caught in the window this time.) 2020-04-02T04:00:13Z vivit quit (Ping timeout: 264 seconds) 2020-04-02T04:03:57Z orivej_ quit (Quit: No Ping reply in 180 seconds.) 2020-04-02T04:05:18Z orivej joined #lisp 2020-04-02T04:14:01Z Kundry_Wag quit (Remote host closed the connection) 2020-04-02T04:15:43Z vivit joined #lisp 2020-04-02T04:16:07Z vivit quit (Changing host) 2020-04-02T04:16:07Z vivit joined #lisp 2020-04-02T04:19:18Z beach: vivit: Yes, I am sorry. You are right. The Common Lisp HyperSpec uses the term "accessible". 2020-04-02T04:20:06Z elderK quit (Quit: WeeChat 1.9) 2020-04-02T04:20:34Z beach: vivit: I am not sure you got a good answer, but the initform is executed before the instance is created, and accessing the slot either with SLOT-VALUE or a slot reader requires access to the instance. That's why you can't refer to a slot in the initform. 2020-04-02T04:27:13Z Bike quit (Quit: Lost terminal) 2020-04-02T04:27:27Z space_otter quit (Remote host closed the connection) 2020-04-02T04:30:33Z space_otter joined #lisp 2020-04-02T04:44:21Z gravicappa joined #lisp 2020-04-02T04:45:47Z narimiran joined #lisp 2020-04-02T04:46:58Z sz0 quit (Quit: Connection closed for inactivity) 2020-04-02T04:52:06Z iAmDecim joined #lisp 2020-04-02T04:54:47Z Kundry_Wag joined #lisp 2020-04-02T04:55:36Z Oladon quit (Quit: Leaving.) 2020-04-02T04:56:19Z akoana joined #lisp 2020-04-02T04:59:12Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-02T04:59:47Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-02T05:05:35Z dddddd quit (Ping timeout: 265 seconds) 2020-04-02T05:07:57Z Kundry_Wag joined #lisp 2020-04-02T05:09:50Z Lycurgus quit (Remote host closed the connection) 2020-04-02T05:12:14Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-02T05:14:26Z oxum quit (Quit: Leaving...) 2020-04-02T05:19:06Z akoana quit (Ping timeout: 256 seconds) 2020-04-02T05:23:58Z sauvin joined #lisp 2020-04-02T05:25:01Z jonatack__ joined #lisp 2020-04-02T05:25:28Z akoana joined #lisp 2020-04-02T05:28:10Z jonatack_ quit (Ping timeout: 256 seconds) 2020-04-02T05:31:15Z vlatkoB joined #lisp 2020-04-02T06:04:46Z amerigo joined #lisp 2020-04-02T06:12:02Z akoana left #lisp 2020-04-02T06:24:45Z torbo quit (Remote host closed the connection) 2020-04-02T06:27:49Z GeissT quit (Ping timeout: 264 seconds) 2020-04-02T06:29:38Z tephra joined #lisp 2020-04-02T06:33:33Z jprajzne quit (Quit: jprajzne) 2020-04-02T06:37:55Z dilated_dinosaur joined #lisp 2020-04-02T06:43:08Z random-nick joined #lisp 2020-04-02T06:45:27Z GeissT joined #lisp 2020-04-02T06:46:41Z lxbarbos` quit (Ping timeout: 250 seconds) 2020-04-02T07:04:18Z jprajzne joined #lisp 2020-04-02T07:08:21Z sz0 joined #lisp 2020-04-02T07:08:48Z Kundry_Wag joined #lisp 2020-04-02T07:11:12Z sonologico__ quit (Quit: Leaving) 2020-04-02T07:13:40Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-02T07:19:37Z PuercoPope quit (Ping timeout: 250 seconds) 2020-04-02T07:19:44Z Cymew joined #lisp 2020-04-02T07:24:10Z ggole joined #lisp 2020-04-02T07:29:17Z katco quit (Quit: killed) 2020-04-02T07:29:17Z unl0ckd quit (Quit: killed) 2020-04-02T07:29:29Z amnesic[m] quit (Quit: killed) 2020-04-02T07:29:30Z no-defun-allowed quit (Quit: killed) 2020-04-02T07:29:30Z LdBeth quit (Quit: killed) 2020-04-02T07:29:31Z Gnuxie[m] quit (Quit: killed) 2020-04-02T07:29:31Z infra_red[m] quit (Quit: killed) 2020-04-02T07:29:45Z Jachy quit (Quit: killed) 2020-04-02T07:29:46Z liambrown quit (Quit: killed) 2020-04-02T07:45:10Z zaquest joined #lisp 2020-04-02T07:54:43Z zaquest quit (Quit: Leaving) 2020-04-02T07:56:17Z zaquest joined #lisp 2020-04-02T08:01:08Z SGASAU quit (Remote host closed the connection) 2020-04-02T08:01:42Z SGASAU joined #lisp 2020-04-02T08:02:06Z hhdave joined #lisp 2020-04-02T08:09:25Z catalinbostan quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-02T08:13:32Z Codaraxis quit (Read error: Connection reset by peer) 2020-04-02T08:13:36Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-02T08:14:00Z Codaraxis joined #lisp 2020-04-02T08:14:19Z dale quit (Quit: My computer has gone to sleep) 2020-04-02T08:14:40Z iAmDecim joined #lisp 2020-04-02T08:19:09Z spainisnotequal joined #lisp 2020-04-02T08:22:24Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-02T08:28:11Z iAmDecim joined #lisp 2020-04-02T08:31:16Z spainisnotequal quit (Ping timeout: 240 seconds) 2020-04-02T08:31:29Z Tomsze joined #lisp 2020-04-02T08:31:31Z notzmv quit (Ping timeout: 258 seconds) 2020-04-02T08:32:25Z Tomsze quit (Client Quit) 2020-04-02T08:32:35Z notzmv joined #lisp 2020-04-02T08:32:41Z ski quit (Read error: Connection reset by peer) 2020-04-02T08:36:30Z vivit quit (Ping timeout: 258 seconds) 2020-04-02T08:43:04Z ebzzry_ joined #lisp 2020-04-02T08:43:58Z infra_red[m] joined #lisp 2020-04-02T08:43:58Z unl0ckd joined #lisp 2020-04-02T08:43:58Z amnesic[m] joined #lisp 2020-04-02T08:43:59Z liambrown joined #lisp 2020-04-02T08:43:59Z Gnuxie[m] joined #lisp 2020-04-02T08:43:59Z Jachy joined #lisp 2020-04-02T08:43:59Z LdBeth joined #lisp 2020-04-02T08:43:59Z katco joined #lisp 2020-04-02T08:43:59Z no-defun-allowed joined #lisp 2020-04-02T08:59:09Z sz0 quit 2020-04-02T08:59:59Z sz0 joined #lisp 2020-04-02T09:01:38Z dreamcompiler quit (Read error: Connection reset by peer) 2020-04-02T09:01:51Z dreamcompiler joined #lisp 2020-04-02T09:03:36Z SGASAU quit (Remote host closed the connection) 2020-04-02T09:04:28Z SGASAU joined #lisp 2020-04-02T09:14:09Z ebzzry_ quit (Remote host closed the connection) 2020-04-02T09:15:29Z ebzzry_ joined #lisp 2020-04-02T09:15:57Z amerlyq quit (Remote host closed the connection) 2020-04-02T09:16:54Z space_otter quit (Remote host closed the connection) 2020-04-02T09:18:39Z ebzzry joined #lisp 2020-04-02T09:18:48Z ebzzry_ quit (Remote host closed the connection) 2020-04-02T09:26:09Z Lord_of_Life quit (Ping timeout: 250 seconds) 2020-04-02T09:27:11Z Lord_of_Life joined #lisp 2020-04-02T09:35:20Z Ven`` joined #lisp 2020-04-02T09:36:21Z SGASAU quit (Remote host closed the connection) 2020-04-02T09:36:42Z SGASAU joined #lisp 2020-04-02T09:36:47Z jayspeer joined #lisp 2020-04-02T09:51:05Z SGASAU quit (Remote host closed the connection) 2020-04-02T09:51:25Z SGASAU joined #lisp 2020-04-02T09:53:10Z dirty_rebooter[m joined #lisp 2020-04-02T09:53:40Z ArthurStrong joined #lisp 2020-04-02T09:55:04Z cosimone joined #lisp 2020-04-02T09:55:07Z dirty_rebooter[m left #lisp 2020-04-02T10:01:15Z karlosz quit (Quit: karlosz) 2020-04-02T10:01:50Z karlosz joined #lisp 2020-04-02T10:01:53Z karlosz quit (Remote host closed the connection) 2020-04-02T10:02:04Z cosimone quit (Remote host closed the connection) 2020-04-02T10:02:32Z cosimone joined #lisp 2020-04-02T10:03:51Z KDr24 joined #lisp 2020-04-02T10:04:21Z SGASAU quit (Remote host closed the connection) 2020-04-02T10:04:49Z SGASAU joined #lisp 2020-04-02T10:05:44Z KDr23 quit (Ping timeout: 265 seconds) 2020-04-02T10:27:33Z cosimone quit (Remote host closed the connection) 2020-04-02T10:28:02Z cosimone joined #lisp 2020-04-02T10:32:47Z ebzzry quit (Read error: Connection reset by peer) 2020-04-02T10:36:26Z jello_pudding quit (Ping timeout: 240 seconds) 2020-04-02T10:37:25Z dddddd joined #lisp 2020-04-02T10:46:14Z markong joined #lisp 2020-04-02T10:48:32Z ljavorsk joined #lisp 2020-04-02T10:48:57Z jayspeer quit (Quit: see you guys! I'm going back to work which means vpn - and freenode does not like connections from aws) 2020-04-02T10:49:33Z markoong joined #lisp 2020-04-02T10:50:25Z ebzzry joined #lisp 2020-04-02T10:52:12Z rippa joined #lisp 2020-04-02T10:53:15Z markong quit (Ping timeout: 260 seconds) 2020-04-02T10:54:28Z ym joined #lisp 2020-04-02T10:55:30Z jello_pudding joined #lisp 2020-04-02T10:56:19Z vanjulio joined #lisp 2020-04-02T10:57:51Z markong joined #lisp 2020-04-02T10:58:08Z vanjulio quit (Remote host closed the connection) 2020-04-02T10:59:25Z ArthurStrong quit (Quit: leaving) 2020-04-02T11:00:15Z vanjulio joined #lisp 2020-04-02T11:01:48Z markoong quit (Ping timeout: 265 seconds) 2020-04-02T11:02:48Z Bourne joined #lisp 2020-04-02T11:03:32Z vanjulio quit (Remote host closed the connection) 2020-04-02T11:04:02Z vanjulio joined #lisp 2020-04-02T11:04:09Z vanjulio quit (Remote host closed the connection) 2020-04-02T11:04:32Z cosimone_ joined #lisp 2020-04-02T11:05:19Z markoong joined #lisp 2020-04-02T11:08:25Z davepdotorg joined #lisp 2020-04-02T11:09:12Z shka_ joined #lisp 2020-04-02T11:09:13Z shka_ quit (Client Quit) 2020-04-02T11:09:49Z markong quit (Ping timeout: 264 seconds) 2020-04-02T11:09:51Z ljavorsk quit (Read error: Connection reset by peer) 2020-04-02T11:10:41Z Kundry_Wag joined #lisp 2020-04-02T11:10:49Z ebzzry quit (Remote host closed the connection) 2020-04-02T11:10:51Z ljavorsk joined #lisp 2020-04-02T11:12:41Z ljavorsk_ joined #lisp 2020-04-02T11:15:13Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-02T11:15:32Z ljavorsk quit (Ping timeout: 256 seconds) 2020-04-02T11:15:33Z ebzzry joined #lisp 2020-04-02T11:15:50Z Bourne` joined #lisp 2020-04-02T11:16:16Z Bourne quit (Ping timeout: 256 seconds) 2020-04-02T11:16:16Z Bourne` quit (Remote host closed the connection) 2020-04-02T11:20:00Z ljavorsk_ quit (Ping timeout: 256 seconds) 2020-04-02T11:20:16Z cosimone_ quit (Quit: Quit.) 2020-04-02T11:23:35Z cosimone quit (Remote host closed the connection) 2020-04-02T11:24:03Z cosimone joined #lisp 2020-04-02T11:28:26Z Inline joined #lisp 2020-04-02T11:33:11Z shka_ joined #lisp 2020-04-02T11:35:06Z lonjil: anyone here ever read any of the books by Nils M. Holm? He has a few lisp books and I was thinking of maybe buying some of them, because the topics seem interesting. 2020-04-02T11:35:32Z ecraven: I've read some, I found them interesting 2020-04-02T11:37:07Z ecraven: hm.. I think I just mistook nils holm for doug hoyt 2020-04-02T11:37:15Z ebzzry quit (Remote host closed the connection) 2020-04-02T11:37:48Z jcowan: He's the Scheme 9 from Empty Space implementer 2020-04-02T11:38:04Z ecraven: ah, right, tx3.org.. I looked at the books a few weeks ago, I thought lisp system implementation looked interesting 2020-04-02T11:40:01Z jcowan: The tree-walker implementation was very very pretty, a textbook example of how to write such a thing in a low-level language. I haven't looked at the code for the bytecode version, though 2020-04-02T11:40:03Z lonjil: Yeah, that's the main one I was thinking of buying. 2020-04-02T11:40:19Z jcowan: At least he doesn't make you play Adventure to get to the source code any more. 2020-04-02T11:40:39Z no-defun-allowed: There has been some discussion of it before here: https://irclog.tymoon.eu/freenode/%23lisp?from=2018-11-26T00%3A14%3A11&to=2019-11-26T12%3A14%3A11&search=Lisp%20System%20Implementation 2020-04-02T11:42:03Z cosimone quit (Remote host closed the connection) 2020-04-02T11:42:04Z no-defun-allowed: Or to save you some time, https://irclog.tymoon.eu/freenode/%23lisp?around=1560226867 is a participant's first impressions of the book. 2020-04-02T11:42:27Z lonjil: ty 2020-04-02T11:42:29Z cosimone joined #lisp 2020-04-02T11:43:10Z no-defun-allowed: Then https://irclog.tymoon.eu/freenode/%23lisp?around=1574749037 was written some time after. 2020-04-02T11:43:19Z v0|d joined #lisp 2020-04-02T11:43:42Z no-defun-allowed: "it is basically just the commented code of one particular implementation" would be a good summary of all that. 2020-04-02T11:44:56Z markong joined #lisp 2020-04-02T11:45:10Z markoong quit (Ping timeout: 256 seconds) 2020-04-02T11:45:18Z jcowan: But one specifically written with intelligibility rather than speed or space in mind. 2020-04-02T11:49:02Z Bike joined #lisp 2020-04-02T11:55:53Z ebzzry joined #lisp 2020-04-02T12:01:15Z bitmapper joined #lisp 2020-04-02T12:06:01Z phoe: I am working on a tutorial for the Lisp condition system 2020-04-02T12:06:17Z phoe: ...and it slowly becomes less and less of an article and more and more of a book 2020-04-02T12:08:35Z Bike: got any exotic trix? 2020-04-02T12:09:10Z Bike: lifehacks? i only started doing anything complicated for clasp's compiler... 2020-04-02T12:10:12Z splittist: pheo: I'll buy it (: 2020-04-02T12:10:20Z splittist: phoe, even 2020-04-02T12:10:56Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-02T12:11:54Z efm joined #lisp 2020-04-02T12:13:12Z prince1 joined #lisp 2020-04-02T12:14:30Z cosimone quit (Remote host closed the connection) 2020-04-02T12:15:41Z Kundry_Wag joined #lisp 2020-04-02T12:17:43Z achillesp joined #lisp 2020-04-02T12:17:52Z prince1 quit (Ping timeout: 256 seconds) 2020-04-02T12:17:53Z Xach: i use conditions for the quicklisp client progress bar 2020-04-02T12:18:04Z jcowan: Nice! 2020-04-02T12:18:26Z Xach: the idea was that a frontend could handle it sooner and display a nicer one if they liked. 2020-04-02T12:18:31Z Xach: (nobody has done that yet) 2020-04-02T12:18:54Z Xach: could have been done with callbacks or something else, i wanted to do it with conditions and it works fine. 2020-04-02T12:20:49Z lonjil: nice 2020-04-02T12:21:23Z phoe: Bike: not really, it's a very basic tutorial 2020-04-02T12:21:40Z phoe: I start with a dynavar tutorial since it's required, and only then implement a hook system with dynavars 2020-04-02T12:21:50Z phoe: and then reimplement the hook system via conditions 2020-04-02T12:22:11Z phoe: I'm kinda comfortable with sharing it now since it's kinda-60%-complete at the moment, https://gist.github.com/phoe/5659f8e5d8ff85e99565de17e39e4449 2020-04-02T12:22:23Z Ven`` joined #lisp 2020-04-02T12:22:35Z phoe: I'll be happy to fix any bugs you happen to find along the way 2020-04-02T12:22:42Z phoe: splittist: tempting 2020-04-02T12:29:58Z Bourne joined #lisp 2020-04-02T12:33:15Z eeeeeta: what's the difference between a VECTOR and a SIMPLE-ARRAY? I thought they were the same... 2020-04-02T12:33:16Z eeeeeta: ; Evaluation aborted on #>. 2020-04-02T12:33:43Z beach: eeeeeta: A SIMPLE-ARRAY can have several dimensions. 2020-04-02T12:33:54Z beach: eeeeeta: A VECTOR only 1. 2020-04-02T12:34:04Z eeeeeta: beach, so why is a VECTOR not a SIMPLE-ARRAY? 2020-04-02T12:34:13Z phoe: eeeeeta: not all vectors are simple-arrays 2020-04-02T12:34:20Z phoe: e.g. vectors will fill pointers aren't simple-arrays 2020-04-02T12:34:24Z beach: eeeeeta: Furthermore a VECTOR can be non-simple ARRAY. 2020-04-02T12:34:29Z heisig joined #lisp 2020-04-02T12:34:31Z eeeeeta: but I didn't make this one with a fill pointer! 2020-04-02T12:34:36Z phoe: "The type of an array that is not displaced to another array, has no fill pointer, and is not expressly adjustable is a subtype of type simple-array." 2020-04-02T12:34:36Z eeeeeta: it was literally made with: 2020-04-02T12:34:37Z eeeeeta: (out (make-array len 2020-04-02T12:34:37Z eeeeeta: :initial-element 0 2020-04-02T12:34:37Z eeeeeta: :element-type '(unsigned-byte 8)))) 2020-04-02T12:34:38Z beach: phoe: That is not necessarily true. 2020-04-02T12:34:44Z phoe: beach: oh? 2020-04-02T12:35:18Z phoe: eeeeeta: (typep (make-array 10 :initial-element 0 :element-type '(unsigned-byte 8)) 'simple-array) ;=> T 2020-04-02T12:35:42Z phoe: (type-of (make-array 10 :initial-element 0 :element-type '(unsigned-byte 8))) ;=> (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (10)) 2020-04-02T12:35:54Z beach: phoe: You are turning the implication arrow incorrectly. 2020-04-02T12:36:22Z eeeeeta: oh wait I'm an idiot 2020-04-02T12:36:25Z eeeeeta: it might actually be a vector 2020-04-02T12:36:27Z phoe: beach: one second, which implication arrow 2020-04-02T12:36:41Z eeeeeta: yeah, it's the output of FLEXI-STREAMS:GET-OUTPUT-STREAM-SEQUENCE 2020-04-02T12:36:46Z eeeeeta: which probably isn't a simple array 2020-04-02T12:36:49Z eeeeeta: time for a COERCE 2020-04-02T12:37:02Z Bike: the implication is that an array with no fill pointer is a simple array, not that simple arrays don't have fill pointers 2020-04-02T12:37:12Z phoe: OK - got it now, thanks 2020-04-02T12:37:13Z beach: phoe: "The type of an array that is not displaced to another array, has no fill pointer, and is not expressly adjustable is a subtype of type simple-array." 2020-04-02T12:37:28Z eeeeeta: ah crap 2020-04-02T12:37:35Z eeeeeta: I apparently can't convert a vector to a SIMPLE-ARRAY with COERCE 2020-04-02T12:38:00Z Bike: simple-array is too vague. try (simple-array * (*)) 2020-04-02T12:38:11Z eeeeeta: I did (simple-array (unsigned-byte 8)) 2020-04-02T12:38:21Z phoe: (coerce (vector 1 2 3) 'simple-array) ;=> #(1 2 3) 2020-04-02T12:38:28Z eeeeeta: (coerce (flexi-streams:get-output-stream-sequence stream) 2020-04-02T12:38:28Z eeeeeta: '(simple-array (unsigned-byte 8))))) 2020-04-02T12:38:30Z eeeeeta: gives me 2020-04-02T12:38:34Z eeeeeta: ; Evaluation aborted on #>. 2020-04-02T12:38:39Z eeeeeta: wait no 2020-04-02T12:38:43Z eeeeeta: sorry, wrong error 2020-04-02T12:38:53Z eeeeeta: wait, no, that was the error 2020-04-02T12:38:54Z Bike: you should specify that you want a vector. 2020-04-02T12:39:05Z Bike: like (simple-array (unsigned-byte 8) (*)) 2020-04-02T12:39:09Z _death: better yet, you should patch flexi-streams 2020-04-02T12:40:04Z heisig: I have my first Petalisp user on Windows. Now he has the problem that "character: Return" is an unknown format directive. 2020-04-02T12:40:09Z eeeeeta: Bike, it worked, thank you! what's the extra (*) for? 2020-04-02T12:40:23Z Xach: heisig: ouch 2020-04-02T12:40:25Z Bike: it indicates that the array has exactly one dimension, i.e. is an array. 2020-04-02T12:40:28Z Bike: er 2020-04-02T12:40:29Z Bike: is a vector 2020-04-02T12:40:34Z Bike: being smart this morning 2020-04-02T12:40:41Z heisig: Does anyone know a good fix for that problem. Is that known? 2020-04-02T12:41:09Z heisig: The problem is due to multiline format strings that end in "~" 2020-04-02T12:42:06Z eeeeeta: ah right, thanks :) 2020-04-02T12:42:28Z phoe: heisig: aaah, are you hit by CRLF? 2020-04-02T12:42:40Z heisig: phoe: Exactly. 2020-04-02T12:42:49Z phoe: poke the implementation 2020-04-02T12:43:20Z phoe: tilde newline should work even on CRLF systems 2020-04-02T12:43:32Z phoe: ......if you are on Windows, that is? sigh 2020-04-02T12:44:15Z Xach: sbcl! 2020-04-02T12:44:33Z heisig: Yes, my student is using SBCL on Windows. 2020-04-02T12:44:34Z achillesp quit (Remote host closed the connection) 2020-04-02T12:46:10Z davepdotorg quit (Remote host closed the connection) 2020-04-02T12:46:36Z davepdotorg joined #lisp 2020-04-02T12:46:45Z phoe: minimal reproducible test case it is, then, and #sbcl 2020-04-02T12:50:57Z MichaelRaskin: And I guess in the short term the student will just run a line-end conversion on the source files 2020-04-02T12:55:40Z xkapastel joined #lisp 2020-04-02T12:59:00Z Shinmera: heisig: configure the editor to force LF, and configure git to stop its crlf conversion nonsense 2020-04-02T12:59:36Z Shinmera: SBCL will not do anything about this 2020-04-02T13:01:45Z phoe: that is also a very good option 2020-04-02T13:03:51Z _death: better just to patch sbcl.. good exercise for a student 2020-04-02T13:06:03Z cartwright quit (Ping timeout: 240 seconds) 2020-04-02T13:06:43Z SGASAU quit (Remote host closed the connection) 2020-04-02T13:06:46Z Bike: "et's get used to the fact that dynamic variables have a dynamic_ name infix" seems like a prefix, phoe 2020-04-02T13:07:04Z SGASAU` joined #lisp 2020-04-02T13:07:11Z acolarh quit (Ping timeout: 260 seconds) 2020-04-02T13:07:12Z Shinmera: Such a patch is non-trivial and from past conversations about CRLF stuff I do not believe it would be easily accepted either. 2020-04-02T13:07:32Z Shinmera: Better to just save the headache altogether with this and all other projects by nuking CRLF from orbit. 2020-04-02T13:10:03Z gxt quit (Ping timeout: 240 seconds) 2020-04-02T13:12:05Z jcowan: phoe: "When a lexical scope ends, the variables defined in it are discarded." is incorrect because closures. I suggest "A lexical variable can't be seen outside its scope". 2020-04-02T13:12:37Z Xach: i found cltl2's description of scopes helpful in this regard. 2020-04-02T13:13:59Z phoe: jcowan: fixed, thanks 2020-04-02T13:14:31Z jcowan: It's true in C, of course, because no closures. 2020-04-02T13:15:19Z efm quit (Quit: Konversation terminated!) 2020-04-02T13:16:33Z jonatack__ quit (Quit: jonatack__) 2020-04-02T13:16:58Z _death: do any other implementations implement a Tilde Return extension? 2020-04-02T13:17:03Z jonatack joined #lisp 2020-04-02T13:18:49Z Shinmera: The issue is with CRLF not being seen as #\Newline. 2020-04-02T13:18:54Z jcowan: "A situation is the evaluation of an expression in a specific context." I know that comes from the ANS, but IMO it is unfortunate. _Situation_ is not really a technical term: it bears its usual meaning of a state of affairs or. a set of circumstances. 2020-04-02T13:18:54Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-02T13:20:11Z phoe: lemme change it 2020-04-02T13:20:21Z phoe: the original ANS quote is unchanged, but the para below becomes: 2020-04-02T13:20:23Z phoe: "In this context, a *situation* is not really a technical term: it bears its usual meaning of a state of affairs or a set of circumstances. To reword the above statement slightly in our context: *handlers* contain the actual code for hooks. The action of invoking the hooks is called *signaling*. *Conditions* are the objects that may trigger some of the hooks when they are signaled, allowing handlers to access 2020-04-02T13:20:29Z phoe: arbitrary *data* that is a part of the given condition that was signaled." 2020-04-02T13:20:32Z phoe: does it sound better? 2020-04-02T13:21:20Z cartwright joined #lisp 2020-04-02T13:22:23Z ljavorsk joined #lisp 2020-04-02T13:24:37Z gxt joined #lisp 2020-04-02T13:25:44Z efm_ joined #lisp 2020-04-02T13:28:43Z Lycurgus joined #lisp 2020-04-02T13:31:22Z hhdave_ joined #lisp 2020-04-02T13:31:48Z hhdave quit (Ping timeout: 256 seconds) 2020-04-02T13:31:48Z hhdave_ is now known as hhdave 2020-04-02T13:48:38Z scymtym: heisig: i started a patchset for SBCL which adds end-of-line encodings to external formats but other things got in the way of finishing it. luis started helping at some later point but we still couldn't finish it yet 2020-04-02T13:51:32Z acolarh joined #lisp 2020-04-02T13:53:44Z heisig: scymtym: That would be great! But it is also not too urgent. For now, my student is using the Windows Subsystem for Linux to run the Linux version of everything. 2020-04-02T13:54:30Z heisig: The problem with the line endings got even weirder, because I couldn't even reproduce it on my Windows 7 machine. 2020-04-02T13:54:51Z heisig: So I cannot even submit a bug report. 2020-04-02T13:54:52Z phoe: hope he uses WSL2; I remember that SBCL had various assorted EWONTFIX failures under WSL1 2020-04-02T13:54:55Z scymtym: heisig: understood. i have seen problems with SIGNAL when using SBCL on WSL 2020-04-02T13:55:02Z Shinmera: heisig: it's probably git converting the line endings on his machine. 2020-04-02T13:55:15Z felideon_ quit (Remote host closed the connection) 2020-04-02T13:55:39Z heisig: Shinmera: Aah, that could be the case. He was using some weird git GUI. 2020-04-02T13:55:52Z felideon joined #lisp 2020-04-02T13:56:38Z Shinmera: it's a feature that I think is enabled on git for windows by default for whatever reason. I've gotten bug reports from that behaviour too. 2020-04-02T13:56:54Z heisig: Ouch! 2020-04-02T13:57:08Z Shinmera: Yeah, love it when software mangles my files for no reason. 2020-04-02T13:57:44Z phoe: https://help.github.com/en/github/using-git/configuring-git-to-handle-line-endings 2020-04-02T13:58:07Z amerlyq joined #lisp 2020-04-02T13:58:12Z heisig: Shinmera: That sounds like it could have been the problem. I will check with him. 2020-04-02T13:58:20Z heisig: Thanks everyone for the help! 2020-04-02T13:58:28Z asdfjkl joined #lisp 2020-04-02T13:58:54Z ljavorsk quit (Ping timeout: 256 seconds) 2020-04-02T13:59:59Z amerlyq quit (Client Quit) 2020-04-02T14:00:17Z amerlyq joined #lisp 2020-04-02T14:01:10Z phoe: jcowan: anything more? 2020-04-02T14:01:44Z phoe: I've fixed your remarks so far 2020-04-02T14:06:08Z amerlyq quit (Quit: amerlyq) 2020-04-02T14:06:29Z amerlyq joined #lisp 2020-04-02T14:06:50Z amerlyq quit (Client Quit) 2020-04-02T14:07:12Z amerlyq joined #lisp 2020-04-02T14:08:22Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-02T14:08:26Z ebzzry quit (Read error: Connection reset by peer) 2020-04-02T14:14:20Z prince1 joined #lisp 2020-04-02T14:15:16Z efm_ quit (Quit: Konversation terminated!) 2020-04-02T14:20:27Z Kundry_Wag joined #lisp 2020-04-02T14:21:00Z prince1 quit (Ping timeout: 256 seconds) 2020-04-02T14:21:36Z amerlyq quit (Quit: amerlyq) 2020-04-02T14:22:08Z amerlyq joined #lisp 2020-04-02T14:24:00Z phoe: beach: if you have the time, I would also like your review on https://gist.github.com/phoe/5659f8e5d8ff85e99565de17e39e4449. You can skip the first chapter completely. 2020-04-02T14:24:15Z phoe: It's not yet complete, but I'll write the last parts tomorrow or something. 2020-04-02T14:24:44Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-02T14:29:13Z pjb: phoe: note that catch/throw take any lisp object. Therefore you could implement a condition system allowing any lisp object to be thrown. 2020-04-02T14:29:37Z pjb: phoe: but as you can see, the problem is that you need to know the object that will be thrown, before you throw it, to be able to catch it. 2020-04-02T14:30:25Z pjb: phoe: also, since catch uses eq, you cannot catch numbers, which may be un-eq to themselves. 2020-04-02T14:30:30Z pjb: or characters. 2020-04-02T14:30:30Z beach: phoe: Sure, I'll have a look. 2020-04-02T14:30:41Z phoe: pjb: yes, that's what I inferred from what Bike said too. 2020-04-02T14:31:15Z phoe: pjb: wait a second, I can catch numbers just fine 2020-04-02T14:31:26Z pjb: phoe: nope, you can't. 2020-04-02T14:31:30Z davepdotorg quit (Remote host closed the connection) 2020-04-02T14:31:33Z phoe: I think you mixed up catch tags with the values that are actually thrown/caught 2020-04-02T14:31:41Z phoe: catch tags are checked via EQ 2020-04-02T14:31:46Z sulami joined #lisp 2020-04-02T14:31:50Z pjb: (catch (+ most-positive-fixnum 1) (throw (+ most-positive-fixnum 1) 0)) #| ERROR: Can't throw to tag 1152921504606846976 |# 2020-04-02T14:31:50Z phoe: but AFAIK I can throw any Lisp datum 2020-04-02T14:31:56Z davepdotorg joined #lisp 2020-04-02T14:31:58Z phoe: oh yes, you meant tags 2020-04-02T14:32:10Z phoe: yes, that is correct, tags need to be EQ-comparable 2020-04-02T14:32:46Z whiteline quit (Remote host closed the connection) 2020-04-02T14:32:55Z Bike: most condition implementations use return-from rather than throw, i think. 2020-04-02T14:33:22Z phoe: yes, they use tagbody/go 2020-04-02T14:33:28Z pjb: Yes, if you base it on types or classes instead of the object themselves. Also dynamic/lexical. 2020-04-02T14:33:48Z whiteline joined #lisp 2020-04-02T14:33:53Z phoe: I used throw/catch because it's less messy to show; I don't need to define macros that wrap tagbody/go into nice and clean syntax. 2020-04-02T14:34:08Z Bike: fair enough 2020-04-02T14:34:17Z phoe: sure, it's a much bigger footgun than tagbody/go, but also one that is simpler to implement in actual code 2020-04-02T14:34:29Z phoe: I don't want to write a tagbody/go-wraping macro only to then need to explain that macro 2020-04-02T14:34:36Z phoe: that'd defeat the purpose of my tutorial 2020-04-02T14:35:12Z Bike: i like that csv one, too. especially since it has handlers that don't handle, which is a subtle point, and handlers that affect the condition 2020-04-02T14:35:22Z Bike: might also wanna cover resignaling 2020-04-02T14:35:41Z Bike: in clasp i have to do something similar - handle arbitrary conditions from macroexpanders by signaling a new condition that has source information attached 2020-04-02T14:36:38Z davepdotorg quit (Ping timeout: 256 seconds) 2020-04-02T14:39:34Z whiteline_ joined #lisp 2020-04-02T14:39:42Z whiteline quit (Read error: Connection reset by peer) 2020-04-02T14:40:47Z phoe: yes, the CSV one takes a different approach from me - it's shorter and more concrete 2020-04-02T14:40:55Z phoe: that's why I've linked it there, too 2020-04-02T14:43:39Z peterhil quit (Read error: Connection reset by peer) 2020-04-02T14:43:47Z asdfjkl quit (Ping timeout: 250 seconds) 2020-04-02T14:44:01Z phoe: beach: thanks. 2020-04-02T14:44:28Z peterhil joined #lisp 2020-04-02T14:45:15Z beach: phoe: I'll do it incrementally. 2020-04-02T14:47:14Z phoe: beach: no problem. If possible, please write down the notes in some text document first. 2020-04-02T14:47:53Z Lycurgus quit (Remote host closed the connection) 2020-04-02T14:47:59Z beach: Hmm, OK. 2020-04-02T14:48:34Z phoe: I'll be on and off today, so sending them via IRC might not be the best idea. 2020-04-02T14:48:43Z beach: I see, yes. 2020-04-02T14:49:46Z Kundry_Wag joined #lisp 2020-04-02T14:51:20Z sarna joined #lisp 2020-04-02T14:55:44Z phoe: FYI: If anyone'd else like to read it, I'm all up for hearing comments. 2020-04-02T14:57:27Z whiteline_ quit (Quit: Leaving) 2020-04-02T14:58:00Z iAmDecim joined #lisp 2020-04-02T14:58:59Z pilne joined #lisp 2020-04-02T14:59:06Z heisig quit (Quit: Leaving) 2020-04-02T14:59:12Z Kundry_Wag quit (Remote host closed the connection) 2020-04-02T14:59:32Z whiteline joined #lisp 2020-04-02T14:59:38Z Kundry_Wag joined #lisp 2020-04-02T15:00:13Z Cymew quit (Ping timeout: 264 seconds) 2020-04-02T15:00:24Z cosimone joined #lisp 2020-04-02T15:00:40Z orivej quit (Ping timeout: 256 seconds) 2020-04-02T15:01:53Z spainisnotequal joined #lisp 2020-04-02T15:02:56Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-02T15:09:48Z sjl quit (Quit: WeeChat 2.2-dev) 2020-04-02T15:12:31Z efm joined #lisp 2020-04-02T15:13:24Z mseddon joined #lisp 2020-04-02T15:16:34Z efm quit (Ping timeout: 240 seconds) 2020-04-02T15:19:00Z Bourne quit (Remote host closed the connection) 2020-04-02T15:20:01Z choegusung joined #lisp 2020-04-02T15:21:10Z dreamcompiler quit (Quit: dreamcompiler) 2020-04-02T15:22:55Z davepdotorg joined #lisp 2020-04-02T15:24:20Z orivej joined #lisp 2020-04-02T15:25:59Z jcowan: phoe: probably, but in mtg 2020-04-02T15:26:34Z phoe: mtg? 2020-04-02T15:26:35Z whiteline quit (Quit: Leaving) 2020-04-02T15:27:16Z _death: maybe "meeting" 2020-04-02T15:27:20Z phoe: Oooh - I see 2020-04-02T15:27:23Z phoe: no rush 2020-04-02T15:28:18Z whiteline joined #lisp 2020-04-02T15:29:00Z ym quit (Ping timeout: 256 seconds) 2020-04-02T15:30:28Z Bourne joined #lisp 2020-04-02T15:30:42Z spainisnotequal quit (Remote host closed the connection) 2020-04-02T15:34:40Z shka_ quit (Ping timeout: 256 seconds) 2020-04-02T15:38:02Z jprajzne quit (Quit: Leaving.) 2020-04-02T15:38:49Z iAmDecim joined #lisp 2020-04-02T15:41:21Z ym joined #lisp 2020-04-02T15:42:10Z Bourne quit (Read error: Connection reset by peer) 2020-04-02T15:43:44Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-02T15:45:03Z Bourne joined #lisp 2020-04-02T15:45:31Z phoe initially thought about Magic: the Gathering 2020-04-02T15:46:57Z sulami quit (Remote host closed the connection) 2020-04-02T15:47:12Z sulami joined #lisp 2020-04-02T15:48:19Z _death: monday/tuesday/grumbleday 2020-04-02T15:50:47Z phoe: monday, incfmonday, incfincfmonday 2020-04-02T15:51:13Z shinohai quit (Ping timeout: 264 seconds) 2020-04-02T15:52:25Z sulami quit (Ping timeout: 264 seconds) 2020-04-02T15:53:29Z wsinatra joined #lisp 2020-04-02T15:53:56Z MichaelRaskin: phoe: not sure how the side-effects stack here! Shouldn't you just use 1+ ? 2020-04-02T15:55:04Z phoe: correct 2020-04-02T15:57:20Z gko quit (Ping timeout: 256 seconds) 2020-04-02T16:00:03Z TwoNotes joined #lisp 2020-04-02T16:00:56Z sulami joined #lisp 2020-04-02T16:03:18Z shinohai joined #lisp 2020-04-02T16:08:34Z sulami quit (Ping timeout: 240 seconds) 2020-04-02T16:09:50Z iAmDecim joined #lisp 2020-04-02T16:10:39Z CrazyEddy quit (Ping timeout: 265 seconds) 2020-04-02T16:11:12Z heisig joined #lisp 2020-04-02T16:12:34Z shinohai quit (Ping timeout: 240 seconds) 2020-04-02T16:15:23Z FreeBirdLjj joined #lisp 2020-04-02T16:17:11Z prince1 joined #lisp 2020-04-02T16:18:36Z xaotuk joined #lisp 2020-04-02T16:20:21Z FreeBirdLjj quit (Ping timeout: 272 seconds) 2020-04-02T16:22:25Z prince1 quit (Ping timeout: 264 seconds) 2020-04-02T16:26:05Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-02T16:28:26Z sulami joined #lisp 2020-04-02T16:31:15Z orivej_ joined #lisp 2020-04-02T16:31:31Z orivej quit (Read error: Connection reset by peer) 2020-04-02T16:31:47Z Inline quit (Ping timeout: 246 seconds) 2020-04-02T16:33:49Z sulami quit (Ping timeout: 264 seconds) 2020-04-02T16:40:15Z shinohai joined #lisp 2020-04-02T16:43:44Z iAmDecim joined #lisp 2020-04-02T16:45:09Z asdfjkl joined #lisp 2020-04-02T16:45:12Z EvW joined #lisp 2020-04-02T16:46:40Z sjl joined #lisp 2020-04-02T16:52:09Z heisig quit (Ping timeout: 258 seconds) 2020-04-02T16:57:16Z karstensrage_ left #lisp 2020-04-02T17:01:21Z hhdave quit (Ping timeout: 258 seconds) 2020-04-02T17:02:32Z sjl_ joined #lisp 2020-04-02T17:06:03Z sulami joined #lisp 2020-04-02T17:07:13Z hhdave joined #lisp 2020-04-02T17:10:11Z karlosz joined #lisp 2020-04-02T17:11:42Z hhdave quit (Ping timeout: 258 seconds) 2020-04-02T17:12:31Z slyrus joined #lisp 2020-04-02T17:12:51Z sulami quit (Ping timeout: 250 seconds) 2020-04-02T17:13:26Z CrazyEddy joined #lisp 2020-04-02T17:15:01Z heisig joined #lisp 2020-04-02T17:16:23Z rumbler31 quit (Read error: Connection reset by peer) 2020-04-02T17:16:29Z rumbler3_ joined #lisp 2020-04-02T17:16:34Z hiroaki quit (Ping timeout: 240 seconds) 2020-04-02T17:19:23Z sulami joined #lisp 2020-04-02T17:19:45Z jprajzne joined #lisp 2020-04-02T17:20:56Z choegusung left #lisp 2020-04-02T17:21:54Z Bourne quit (Ping timeout: 240 seconds) 2020-04-02T17:23:17Z heisig quit (Quit: Leaving) 2020-04-02T17:24:50Z jonatack_ joined #lisp 2020-04-02T17:25:08Z eeeeeta: is there some kind of CL Gray Stream that literally just counts the number of bytes written to it and throws away the data? 2020-04-02T17:25:58Z Ven`` quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-02T17:28:28Z jonatack quit (Ping timeout: 265 seconds) 2020-04-02T17:30:34Z hiroaki joined #lisp 2020-04-02T17:32:10Z Xach: eeeeeta: not premade that i know of. 2020-04-02T17:33:19Z phoe: eeeeeta: you can write one rather trivially 2020-04-02T17:34:02Z phoe: I have a joke^Wtotally serious gray stream project at https://github.com/phoe/quicklisp-quackload/blob/master/quicklisp-quackload.lisp that you can modify 2020-04-02T17:34:14Z Xach: quackload 2020-04-02T17:34:38Z phoe: you can add a (counter :accessor counter :initform 0) to the stream and modify STREAM-WRITE-CHAR to (incf (counter stream)) 2020-04-02T17:34:59Z phoe: then, just fetch the value of (counter stream) when you're done quackin^Wwriting to the stream 2020-04-02T17:35:04Z phoe: Xach: quack 2020-04-02T17:36:45Z phoe: also you might want to edit stream-write-char to stream-write-byte 2020-04-02T17:36:51Z phoe: if you want byte stream, that is 2020-04-02T17:37:23Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-02T17:51:26Z pilne_ joined #lisp 2020-04-02T17:52:54Z pilne quit (Ping timeout: 240 seconds) 2020-04-02T17:54:33Z Xach: _death: do you have a .deb i can use for libhspell.so? 2020-04-02T17:54:46Z Xach: a dockerfile to generate one would be fine too 2020-04-02T17:57:46Z phoe: ;; rant: why the hell does hspell on debian only provide an .a file and not a .so file 2020-04-02T17:58:02Z iAmDecim joined #lisp 2020-04-02T18:04:59Z _death: Xach: I don't use debian (except on my server) so not familiar with how to make .deb files.. I can provide you with the x86_64 binary I use 2020-04-02T18:05:17Z Xach: i don't use debian except on my server too 2020-04-02T18:06:23Z _death: did you have trouble generating a shared object? 2020-04-02T18:06:25Z Xach: _death: hmm, a build shell script would be handy too. i had one but lost it. just something that builds the .so would be fine. 2020-04-02T18:06:40Z Xach: _death: yes, you have to patch something or other to make it work and i lost the recipe. 2020-04-02T18:06:58Z Xach: i want to keep hspell but it is a minor pain and i want to push it off on its only user :) 2020-04-02T18:08:11Z _death: if I'm the only user then it's ok to remove from quicklisp 2020-04-02T18:08:29Z karlosz quit (Quit: karlosz) 2020-04-02T18:08:55Z Xach: I don't have any way to tell 2020-04-02T18:09:03Z _death: what are the download stats? 2020-04-02T18:09:13Z Xach: Oh, I guess I could check those 2020-04-02T18:09:20Z Xach: I haven't been looking closely at those in a year or two 2020-04-02T18:09:55Z Xach: _death: when you set up a new computer and want to use hspell, do you copy your binary or get it some other way? 2020-04-02T18:10:22Z sauvin quit (Read error: Connection reset by peer) 2020-04-02T18:10:30Z _death: well, I compiled hspell back then in 2018 when I set up the debian server (and before, but that was an archlinux server) 2020-04-02T18:10:58Z Xach: ah, so the solution is "don't set up new computers"? 2020-04-02T18:11:20Z _death: I just tried downloading the latest release and ./configure --enable-shared ; make 2020-04-02T18:11:31Z Xach: hmm 2020-04-02T18:11:33Z Xach: is there a make install? 2020-04-02T18:11:42Z _death: but it has some perl issue, and I really dislike mucking about with perl ;) 2020-04-02T18:12:12Z jackdaniel: solution is just a hack away 2020-04-02T18:12:25Z jackdaniel: I'm sure that a character ‰ will be involved 2020-04-02T18:12:29Z _death: also, I just updated my system so maybe it's a transient issue 2020-04-02T18:12:44Z phoe: jackdaniel: the issue with "solution is just a hack away" is the possibility of infinite recursion 2020-04-02T18:13:06Z phoe: both when trying to evaluate "hack" and when trying to evaluate "solution" 2020-04-02T18:13:41Z jackdaniel stares blankly at phoe 2020-04-02T18:14:21Z phoe stares blankly at jackdaniel 2020-04-02T18:14:50Z asdfjkl quit (Remote host closed the connection) 2020-04-02T18:15:00Z Xach: _death: same perl issue here. boo 2020-04-02T18:17:46Z _death: ok, solved that by changing require "PrefixBits.pl" to require "./PrefixBits.pl" in pmerge and genprefixes.pl 2020-04-02T18:17:55Z _death: then it built an .so 2020-04-02T18:18:04Z prince1 joined #lisp 2020-04-02T18:18:58Z Xach: could that be done via environment? 2020-04-02T18:19:53Z _death: web search suggests export PERL5LIB=. may work 2020-04-02T18:21:34Z _death: seems it does 2020-04-02T18:22:30Z sonologico joined #lisp 2020-04-02T18:23:00Z prince1 quit (Ping timeout: 258 seconds) 2020-04-02T18:23:01Z xaotuk quit (Ping timeout: 264 seconds) 2020-04-02T18:27:04Z cosimone quit (Quit: Terminated!) 2020-04-02T18:30:07Z Xach: ok. i will try to use this to make a durable deb 2020-04-02T18:33:14Z LdBeth: good morning 2020-04-02T18:36:24Z _death: Xach: I will add instructions to the readme 2020-04-02T18:44:13Z jprajzne quit (Quit: jprajzne) 2020-04-02T18:44:33Z jprajzne joined #lisp 2020-04-02T18:48:44Z jprajzne quit (Client Quit) 2020-04-02T18:49:08Z jprajzne joined #lisp 2020-04-02T18:51:18Z jcowan: I do not understand the ANS definition of define-modify-macro. It seems to be warning against implementing it in such a way that forms in the reference as well as in the function call must be evaluated only once. 2020-04-02T18:51:48Z jcowan: But setf says that what the place reference does with its subforms is totally up to it; they might not even be evaluated. 2020-04-02T18:53:00Z Bike: define-modify-macro uses an actual function call, and the arguments there are of course evaluated 2020-04-02T18:53:54Z sulami quit (Ping timeout: 240 seconds) 2020-04-02T18:53:57Z Bike: hmm let me check actually 2020-04-02T18:55:08Z Bike: ah. right right okay. so the problem is reference (i.e. the variable in the "except for the issue" definition). it's saying any subforms of reference have to be evaluated only once. 2020-04-02T18:55:26Z Bike: if the exact code there was used, they'd be evaluated twice - once as the function call, and once whatever the setf expansion does 2020-04-02T18:55:47Z Bike: once IN the function call, i mean 2020-04-02T18:56:04Z mseddon quit (Read error: Connection reset by peer) 2020-04-02T18:57:59Z Bike: For example, if you define new-incf with the "except for" definition, and then do (new-incf (car (print x))), it will print x twice 2020-04-02T18:58:24Z Bike: define-modify-macro avoids this by taking the setf expansion of reference and using the reader form ot get the argument to the function, rather than using the form directly. 2020-04-02T18:58:59Z Bike: make sense? 2020-04-02T19:01:40Z ggole quit (Quit: Leaving) 2020-04-02T19:04:00Z sulami joined #lisp 2020-04-02T19:05:41Z refpga joined #lisp 2020-04-02T19:06:51Z karlosz joined #lisp 2020-04-02T19:09:16Z v88m quit (Remote host closed the connection) 2020-04-02T19:13:25Z orivej_ quit (Quit: No Ping reply in 180 seconds.) 2020-04-02T19:14:17Z v88m joined #lisp 2020-04-02T19:14:36Z orivej joined #lisp 2020-04-02T19:15:26Z crumbler joined #lisp 2020-04-02T19:16:05Z nicktick1 joined #lisp 2020-04-02T19:17:42Z nicktick quit (Ping timeout: 256 seconds) 2020-04-02T19:18:39Z v88m quit (Ping timeout: 260 seconds) 2020-04-02T19:23:07Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-02T19:27:56Z terpri_ quit (Remote host closed the connection) 2020-04-02T19:28:22Z terpri_ joined #lisp 2020-04-02T19:29:01Z ukari quit (Ping timeout: 264 seconds) 2020-04-02T19:30:14Z terpri_ quit (Read error: Connection reset by peer) 2020-04-02T19:31:58Z dale_ joined #lisp 2020-04-02T19:32:16Z dale_ is now known as dale 2020-04-02T19:33:58Z elderK joined #lisp 2020-04-02T19:35:17Z elderK: Moin all 2020-04-02T19:35:19Z Josh_2 joined #lisp 2020-04-02T19:36:06Z phoe: evening 2020-04-02T19:36:17Z cosimone joined #lisp 2020-04-02T19:39:28Z efm joined #lisp 2020-04-02T19:41:34Z Josh_2: phoe: ello 2020-04-02T19:42:31Z Inline joined #lisp 2020-04-02T19:46:01Z v88m joined #lisp 2020-04-02T19:46:43Z madage quit (Ping timeout: 240 seconds) 2020-04-02T19:48:04Z vivit joined #lisp 2020-04-02T19:48:04Z vivit quit (Changing host) 2020-04-02T19:48:04Z vivit joined #lisp 2020-04-02T19:48:19Z crumbler quit (Quit: Leaving) 2020-04-02T19:55:25Z sulami quit (Ping timeout: 264 seconds) 2020-04-02T19:56:58Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-02T19:57:11Z phoe: Josup 2020-04-02T19:57:20Z phoe: ...wait, you are no longer here 2020-04-02T19:57:26Z phoe: that's why my Tab button didn't complete your nick 2020-04-02T19:58:58Z wixxyi joined #lisp 2020-04-02T20:08:11Z madage joined #lisp 2020-04-02T20:09:55Z FennecCode joined #lisp 2020-04-02T20:16:17Z cosimone quit (Remote host closed the connection) 2020-04-02T20:16:46Z cosimone joined #lisp 2020-04-02T20:17:12Z narimiran quit (Ping timeout: 256 seconds) 2020-04-02T20:19:00Z prince1 joined #lisp 2020-04-02T20:20:05Z Kevslinger joined #lisp 2020-04-02T20:23:31Z prince1 quit (Ping timeout: 250 seconds) 2020-04-02T20:24:02Z frgo joined #lisp 2020-04-02T20:25:54Z sulami joined #lisp 2020-04-02T20:31:10Z sulami quit (Ping timeout: 265 seconds) 2020-04-02T20:40:13Z akflcar joined #lisp 2020-04-02T20:43:44Z wixxyi quit (Ping timeout: 265 seconds) 2020-04-02T20:48:26Z markong quit (Ping timeout: 256 seconds) 2020-04-02T20:48:27Z markoong joined #lisp 2020-04-02T20:56:40Z markong joined #lisp 2020-04-02T20:56:41Z jonatack_ quit (Read error: Connection reset by peer) 2020-04-02T20:57:10Z hhdave joined #lisp 2020-04-02T20:58:17Z jonatack joined #lisp 2020-04-02T21:00:39Z markoong quit (Ping timeout: 265 seconds) 2020-04-02T21:03:02Z refpga` joined #lisp 2020-04-02T21:03:37Z sulami joined #lisp 2020-04-02T21:06:56Z refpga quit (Ping timeout: 265 seconds) 2020-04-02T21:07:13Z elderK quit (Quit: WeeChat 2.7.1) 2020-04-02T21:07:25Z gravicappa quit (Ping timeout: 265 seconds) 2020-04-02T21:09:24Z sulami quit (Ping timeout: 256 seconds) 2020-04-02T21:11:09Z elderK joined #lisp 2020-04-02T21:11:48Z mark___ joined #lisp 2020-04-02T21:12:09Z mark___ quit (Client Quit) 2020-04-02T21:13:19Z t58 joined #lisp 2020-04-02T21:27:01Z markoong joined #lisp 2020-04-02T21:27:19Z Lord_of_Life_ joined #lisp 2020-04-02T21:28:55Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-04-02T21:28:55Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-02T21:30:49Z markong quit (Ping timeout: 264 seconds) 2020-04-02T21:31:14Z terpri joined #lisp 2020-04-02T21:38:22Z TwoNotes quit (Quit: Leaving) 2020-04-02T21:39:26Z efm quit (Ping timeout: 256 seconds) 2020-04-02T21:39:38Z Inline quit (Remote host closed the connection) 2020-04-02T21:40:31Z Inline joined #lisp 2020-04-02T21:41:31Z Inline quit (Max SendQ exceeded) 2020-04-02T21:42:08Z efm joined #lisp 2020-04-02T21:42:11Z Inline joined #lisp 2020-04-02T21:43:03Z Inline quit (Remote host closed the connection) 2020-04-02T21:53:07Z sjl_ quit (Ping timeout: 260 seconds) 2020-04-02T21:54:55Z elderK quit (Quit: WeeChat 2.7.1) 2020-04-02T21:57:54Z sulami joined #lisp 2020-04-02T21:58:14Z lavaflow quit (Ping timeout: 240 seconds) 2020-04-02T21:59:12Z lavaflow joined #lisp 2020-04-02T22:01:17Z markong joined #lisp 2020-04-02T22:02:06Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-02T22:02:15Z fiddlerwoaroof_: I was just browsing clhs today and found the end of 11.1.2.3.2 interesting 2020-04-02T22:02:18Z fiddlerwoaroof_: clhs 11.1.2.3.2 2020-04-02T22:02:18Z specbot: Notes about The KEYWORD Package: http://www.lispworks.com/reference/HyperSpec/Body/11_abcb.htm 2020-04-02T22:02:21Z fiddlerwoaroof_: "it is generally not wise for a program to use a keyword[1] as a property indicator, since if there were ever another program that did the same thing, each would clobber the other's data." 2020-04-02T22:02:24Z fiddlerwoaroof_: I generally always use keyword/value pairs in plists but, this suggestion reminds me a lot of Clojure's recommendation to use namespaced keywords in maps rather than unqualified keywords 2020-04-02T22:02:55Z sulami quit (Ping timeout: 260 seconds) 2020-04-02T22:05:37Z markoong quit (Ping timeout: 264 seconds) 2020-04-02T22:06:17Z sjl: "namespaced keywords" wouldn't that just be... symbols? 2020-04-02T22:08:01Z hjudt quit (Ping timeout: 264 seconds) 2020-04-02T22:08:26Z hjudt joined #lisp 2020-04-02T22:08:38Z shangul quit (Remote host closed the connection) 2020-04-02T22:08:49Z fiddlerwoaroof_: Not in Clojure 2020-04-02T22:08:54Z fiddlerwoaroof_: :foo/bar vs. :foo 2020-04-02T22:09:13Z fiddlerwoaroof_: I've always found Clojure's decision to make keywords and symbols different types odd 2020-04-02T22:09:21Z sjl: huh, yeah, that's odd 2020-04-02T22:09:49Z Xach: fiddlerwoaroof_: symbol plists vs plists 2020-04-02T22:09:49Z sjl: I guess it means you can still have the keywords-look-themselves-up-in-collections-when-funcalled behavior 2020-04-02T22:09:55Z Xach: fiddlerwoaroof_: very different beasts! 2020-04-02T22:10:01Z shangul joined #lisp 2020-04-02T22:10:15Z phoe: symbol plists are global and therefore it's easy to clobber stuff there 2020-04-02T22:10:29Z fiddlerwoaroof_: Xach: when you click through the glossary links, this advice applies to both :) 2020-04-02T22:11:17Z Xach: fiddlerwoaroof_: good thing to add to the errata, then 2020-04-02T22:11:24Z fiddlerwoaroof_: Also, the reason for Clojure's recommendation is that when you pass the map to functions in different libraries, the libraries can be more certain that the key they want to work with has the meaning the library assigned to it. 2020-04-02T22:11:39Z Xach: as there is no issue with keyword keys in plists that matches the issue with symbol plists. 2020-04-02T22:13:02Z fiddlerwoaroof_: Which is true here too: if my product catalog uses :name for a product name and my contact list uses :NAME for a persons name, they can conflict if I'm passing the same plist to each. If they use PRODUCT:NAME and CONTACT:NAME, they won't 2020-04-02T22:13:13Z fiddlerwoaroof_: Alternatively, just use CLOS :) 2020-04-02T22:15:02Z ukari joined #lisp 2020-04-02T22:15:38Z Xach: fiddlerwoaroof_: aha, but it is common practice to use keyword initargs! 2020-04-02T22:15:54Z Xach: i have not really seen non-keyword initargs in practice but i take a weird comfort in knowing maybe they COULD be used 2020-04-02T22:17:04Z danielboston26 joined #lisp 2020-04-02T22:17:45Z dlowe: a highly theoretical adapation would be to have :foo be a special keyword object in the current package 2020-04-02T22:17:49Z Bike: i used non-keyword initargs in clasp for some standard classes, so as to not conflict with user code 2020-04-02T22:17:54Z Bike: it's pretty easy to work with, at least 2020-04-02T22:18:28Z fiddlerwoaroof_: I've been slowly becoming more and more in favor of adding namespaces to things everywhere I can 2020-04-02T22:18:29Z dlowe: it might be cleaner than having a special keyword package 2020-04-02T22:19:50Z prince1 joined #lisp 2020-04-02T22:21:35Z pilne_ quit (Quit: Me fail English? That's unpossible.) 2020-04-02T22:21:56Z pilne joined #lisp 2020-04-02T22:23:11Z aeth: fiddlerwoaroof_: Imo, I would generally avoid using plists for this sort of thing unless you're working at compile time, in which case you're going to either (1) generate a MAKE-FOO or MAKE-INSTANCE 'FOO with your syntactic plist tail or (2) actually create the object as long as it has a MAKE-LOAD-FORM... 2020-04-02T22:23:38Z aeth: (yes, you can actually create the object in the macro in that case, at least afaik) 2020-04-02T22:24:14Z prince1 quit (Ping timeout: 240 seconds) 2020-04-02T22:25:05Z aeth: Of course, "generally avoid" can become complicated if e.g. you're parsing JSON into plists, but in that case, the lack of JSON namespacing is the real issue... 2020-04-02T22:25:25Z fiddlerwoaroof_: Yeah, I usually use alists for maps until I decide I need a hash-table 2020-04-02T22:26:26Z fiddlerwoaroof_: But, in general, I think it's preferable to namespace the keys of your alist/plist/hash-table rather than use keywords 2020-04-02T22:27:57Z aeth: fiddlerwoaroof_: hash tables are kind of duck typed... if it has a :NAME then it should be a valid name for the API... and if that's not good enough, then reify it into an object that ensures pre-/post-conditions 2020-04-02T22:28:31Z aeth: IME what's far more problematic is when it expects a key and there is none... really easy to get an accidental NIL, even though GETHASH does technically let you specify a default value 2020-04-02T22:29:09Z phoe: always m-v-b your gethashes 2020-04-02T22:29:38Z phoe: if you don't check the secondary value then you willingly bring it upon yourself 2020-04-02T22:29:54Z aeth: alternatively, abstract that into a gethash* which errors when the secondary value is NIL 2020-04-02T22:30:43Z aeth: And I personally wrote trivial macros for error-when and error-unless because those patterns were so common... That makes a gethash* even more trivial 2020-04-02T22:31:26Z phoe: hah, #'phoe-toolbox:gethash-or-die 2020-04-02T22:31:53Z aeth: that, but with less Perl :-p 2020-04-02T22:31:54Z sulami joined #lisp 2020-04-02T22:32:45Z no-defun-allowed: gethash-or-keel-over 2020-04-02T22:34:06Z phoe: gethash-or-call-the-doomguy 2020-04-02T22:35:01Z no-defun-allowed: (gethash :thing (make-hash-table)) ; ⇒ keboom, keboom 2020-04-02T22:35:41Z akflcar quit (Ping timeout: 250 seconds) 2020-04-02T22:36:05Z msk joined #lisp 2020-04-02T22:36:06Z frgo quit (Read error: Connection reset by peer) 2020-04-02T22:36:41Z frgo joined #lisp 2020-04-02T22:36:50Z sulami quit (Ping timeout: 265 seconds) 2020-04-02T22:38:02Z aeth: phoe: Looking up the source for that... Personally, I prefer to put my errors in an error-when or error-less before the return value, rather than as an alternate branch in an IF. 2020-04-02T22:38:28Z aeth: In that particular case, it doesn't really matter (although for readability sake, the error coming first might make sense), but in general, it avoids a PROGN 2020-04-02T22:38:53Z aeth: It also makes the main body indented one level less 2020-04-02T22:39:05Z aeth: s/error-less/error-unless/ 2020-04-02T22:41:23Z csmionpdx82 joined #lisp 2020-04-02T22:43:01Z csmionpdx82 left #lisp 2020-04-02T22:46:33Z markoong joined #lisp 2020-04-02T22:48:26Z random-nick quit (Ping timeout: 265 seconds) 2020-04-02T22:50:26Z markong quit (Ping timeout: 256 seconds) 2020-04-02T22:55:56Z choegusung joined #lisp 2020-04-02T22:56:00Z choegusung quit (Client Quit) 2020-04-02T22:58:49Z phoe: aeth: correct, it doesn't really matter for the end control flow. 2020-04-02T22:59:42Z Kundry_W_ joined #lisp 2020-04-02T23:00:18Z fiddlerwoaroof_: I generally just design my code so that NIL from gethash is semantically equivelant to "missing value" 2020-04-02T23:01:05Z fiddlerwoaroof_: I find that I very seldom care about the difference between "missing key" and "nil" 2020-04-02T23:03:18Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-02T23:04:06Z cosimone quit (Ping timeout: 240 seconds) 2020-04-02T23:05:03Z mgr_ joined #lisp 2020-04-02T23:05:29Z aeth: idk, I personally find that if I'm not careful about my NILs, I'll have a random NIL show up as an error 20 function calls away from where the NIL appeared. 2020-04-02T23:06:03Z aeth: A NIL won't be an error until it ends up in something like a (+ nil 42) and who knows where it came from? Fail early. 2020-04-02T23:06:29Z phoe: ahh, the legendary billion dollar mistake 2020-04-02T23:06:29Z fiddlerwoaroof_: Yeah, I'm pretty careful about not letting unintended nils escape a function 2020-04-02T23:06:57Z fiddlerwoaroof_: But, that's generally something like (or result default-value) right before returning 2020-04-02T23:07:03Z aeth: phoe: except it's just false with a funny name, not a true null 2020-04-02T23:11:46Z jcowan: Is it actually stated in the ANS that what goes into a container (list, vector, struct, class slot, etc.) has to be ql to what comes out? 2020-04-02T23:12:17Z jcowan: s/ql/eql 2020-04-02T23:13:21Z pjb: aeth: (prog1 nil (push 'here (getf (symbol-plist 'nil) :where-from))) 2020-04-02T23:13:26Z phoe: jcowan: what do you mean, "comes out"? 2020-04-02T23:13:56Z pjb: (getf (symbol-plist 'nil) :where-from) #| --> (here) |# 2020-04-02T23:14:34Z Bike: as in is (let ((a (make-compound)) (x ...)) (setf (ref a ...) x) (eql x (ref a ...))) true. 2020-04-02T23:14:39Z phoe: if you write datum X into a place, and then you read that place, then unless some weird MOP magic happens, the value should be EQL to the original; there's simply no need to return non-EQL, and therefore different objects 2020-04-02T23:14:47Z jcowan: e.g. (lambda (x y) (rplaca x y) (eql y (car x)) guaranteed to return true? 2020-04-02T23:15:00Z Bike: phoe: sure there is. hypothetically you could have packed structs. 2020-04-02T23:15:06Z Bike: packed struct arrays, i mean. 2020-04-02T23:15:26Z phoe: I say that's an edge case though compared to usual language usage 2020-04-02T23:15:30Z v88m quit (Ping timeout: 265 seconds) 2020-04-02T23:15:35Z Bike: i don't know what you mean. 2020-04-02T23:15:39Z jcowan: But what I am asking is not whether this is true, but whether the ANS explicitly or implicitly requires it. 2020-04-02T23:15:50Z phoe: Bike: I think I need sleep 2020-04-02T23:16:02Z phoe: that's a more complex issue than I originally thought two minutes ago 2020-04-02T23:16:04Z Bike: jcowan: i don't believe it's explicitly stated. 2020-04-02T23:16:15Z pjb: (defmacro nil-from (expression where) (let ((v (gensym))) `(let ((,v (multiple-values-list ,expression))) (when (some (function nullp) ,v) (push ',where (getf (symbol-plist 'nil)))) (values-list ,v)))) 2020-04-02T23:16:31Z Bike: e.g. the description of arrays is "An array contains a set of objects called elements that can be referenced individually according to a rectilinear coordinate system", but "contains" is just plain english. 2020-04-02T23:16:36Z fiddlerwoaroof_: It seems to me that defaulting :TEST to 'eql in functions indicates that that's expected, though? 2020-04-02T23:16:59Z Bike: i mean, yeah, if an implementation actually didn't do this it would be bad 2020-04-02T23:17:09Z pjb: (let ((a (nil-from (make-compound) (let a))) (x ...)) (setf (ref a ...) (nil-from x x)) (nil-from (eql x (ref a ...)) silly-test)) 2020-04-02T23:17:24Z Bike: but i don't believe the standard describes the idea of a compound object, or what it means for an object to contain other objects 2020-04-02T23:17:38Z pjb: and just flush (getf (symbol-plist 'nil) :where-from) from time to time… 2020-04-02T23:17:57Z jcowan: Okay, I assumed that was the case (it is a CL QOI thing rather than a spec thing) 2020-04-02T23:18:04Z Bike: QOI? 2020-04-02T23:18:10Z pjb: Bike: symbol-plist, defstruct, defclass, make-array etc. 2020-04-02T23:18:16Z jcowan: sorry: quality of implementation 2020-04-02T23:18:16Z Bike: quality of... implementation? 2020-04-02T23:18:21Z pjb: Bike: the standard only talks about compound objects! 2020-04-02T23:18:34Z pjb: Bike: now, try to find one object that is not compound! (there are some). 2020-04-02T23:18:37Z Bike: i think it's just not defined since there's no formal semantic and it's assumed the reader knows what an array is 2020-04-02T23:18:51Z Bike: in the same way arithmetic isn't defined, etc 2020-04-02T23:18:51Z jcowan: I think the reformulation in terms of places is the best one 2020-04-02T23:19:06Z jcowan: a cons has two places, a vector has as many places as it has elements, etc. 2020-04-02T23:19:18Z jcowan: (consequently #() has no places) 2020-04-02T23:19:34Z Bike: i thought of that a bit when i was sketching out a memory model for clasp, but i think "place" is too broad in some ways and too specific in others 2020-04-02T23:19:34Z pjb: jcowan: note that clisp has a compilation-time-of-clisp option to have 3-slots in cons cells. 2020-04-02T23:19:50Z jcowan: For doubly linked lists, I suppose. 2020-04-02T23:19:56Z pjb: jcowan: or had; perhaps it has been removed recently, despite what a lot of people believe, clisp IS maintained. 2020-04-02T23:20:06Z Bike: since places can be anything, but some things that are place-like aren't places, like the dimensions of an array 2020-04-02T23:20:46Z pjb: In a way, dimensions of an array are places that you can mutate with adjust-array. Granted, adjust-array can return a non-eq object… 2020-04-02T23:21:37Z jcowan: I agree: something is a place if you can change it, even if there is no define-setf-* for it 2020-04-02T23:21:45Z jcowan: Yet. 2020-04-02T23:21:47Z pjb: (let ((i (make-array 0))) (setf i (adjust-array i (1+ (array-dimension i 0)))) (array-dimension i 0)) #| --> 1 |# 2020-04-02T23:22:18Z jcowan: rank is not a place, though in some languages it is 2020-04-02T23:22:32Z pjb: Note: (let ((i 0)) (declare (type i (integer 0))) (decf i)) #| --> -1 |# 2020-04-02T23:22:44Z pjb: while: (let ((i (make-array 0))) (setf i (adjust-array i (- (array-dimension i 0) 1))) (array-dimension i 0)) #| ERROR: The value (-1) is not of the expected type unsigned-byte. |# 2020-04-02T23:22:48Z Bike: well i mean, for example, subseq is a place; but there's no expectation that using (setf subseq) instead of rplaca in your earlier example would result in a true return value 2020-04-02T23:22:50Z pjb: LOL 2020-04-02T23:23:04Z Bike: ldb is also a place, and that fits in weirdly 2020-04-02T23:23:05Z jcowan: Ah. Excellent point 2020-04-02T23:23:11Z jcowan loves to be refuted 2020-04-02T23:23:26Z Bike: since setf can do arbitrary code, the concept is a little too broad, i'm thinking 2020-04-02T23:24:08Z jcowan: And that brings me back to my earlier point: is it guaranteed that (setf (car (cons 1 2)) (cons 1 2) conses only once, and if so, how? 2020-04-02T23:25:00Z Bike: er, no, that's not guaranteed. in fact i think it's guaranteed to cons twice. 2020-04-02T23:25:15Z Bike: is this about the define-modify-macro thing or no 2020-04-02T23:25:22Z pjb: jcowan: it is guaranteed it conses twice. 2020-04-02T23:25:34Z pjb: and it returns the second one. 2020-04-02T23:25:45Z LdBeth: it could be optimized to (cons (cons 1 2) 2) 2020-04-02T23:25:52Z jcowan: But the reference to a place can do anything, including not evaluating its arguments. 2020-04-02T23:26:03Z sulami joined #lisp 2020-04-02T23:26:04Z jcowan: This is the core of the d-m-m problem 2020-04-02T23:26:06Z LdBeth: but still requires twice 2020-04-02T23:26:16Z Bike: i mean, in general yes, but (setf car) is defined to evaluate its argument 2020-04-02T23:26:19Z jcowan: (for car, read some unknown function) 2020-04-02T23:26:21Z pjb: (let (k) (eq (setf (car (setf k (cons 1 2))) (cons 1 2)) k)) #| --> nil |# 2020-04-02T23:26:26Z jcowan: that has a define-setf-* 2020-04-02T23:26:34Z pjb: (let (k) (values (setf (car (setf k (cons 1 2))) (cons 1 2)) k)) #| --> (1 . 2) ; ((1 . 2) . 2) |# 2020-04-02T23:26:51Z Bike: okay, hang on here, back up a bit. you're not using define-modify-macro in this example at all, are you? define-modify-macro does not define a setf expander. 2020-04-02T23:27:18Z jcowan: No, it assumes that whatever place reference you pass to it has one 2020-04-02T23:27:26Z Bike: Sure. 2020-04-02T23:27:50Z Bike: or, well, the expansion assumes that, i guess. 2020-04-02T23:27:55Z jcowan: The d-m-m spec says that a d-m-m expands to 2020-04-02T23:27:58Z jcowan: (defmacro name (reference . lambda-list) 2020-04-02T23:27:58Z jcowan: documentation 2020-04-02T23:27:58Z jcowan: `(setf ,reference 2020-04-02T23:27:58Z jcowan: (function ,reference ,arg1 ,arg2 ...))) 2020-04-02T23:28:09Z White_Flame: jcowan: in (setf (car (cons ...))) val), the car defines the place, but the cons will always be evaluated first as a parameter 2020-04-02T23:28:13Z Bike: except for multiple evaluation, yes. 2020-04-02T23:28:34Z White_Flame: (won't it?) 2020-04-02T23:28:51Z Bike: yes. 2020-04-02T23:28:51Z jcowan: And what is meant by multiple evaluation? There is a hyperlink, but I don't understand the connection 2020-04-02T23:29:04Z Bike: If you give me a minute I'll write out an explicit example for you 2020-04-02T23:29:13Z jcowan: link to 5.1.1.1 2020-04-02T23:29:19Z Bike: clhs 5.1.1.1 2020-04-02T23:29:20Z specbot: Evaluation of Subforms to Places: http://www.lispworks.com/reference/HyperSpec/Body/05_aaa.htm 2020-04-02T23:30:00Z v88m joined #lisp 2020-04-02T23:30:48Z fiddlerwoaroof_: I don't understand 2, is it supposed to mean that the expansion of d-m-m should wrap the expansion with code to prevent re-evaluation of the arguments? 2020-04-02T23:30:57Z jcowan: Exactly. 2020-04-02T23:31:02Z Bike: If you give me a minute I will write out an example for you. 2020-04-02T23:31:13Z jcowan composes his soul in patience 2020-04-02T23:31:14Z sulami quit (Ping timeout: 256 seconds) 2020-04-02T23:33:49Z markong joined #lisp 2020-04-02T23:37:44Z markoong quit (Ping timeout: 265 seconds) 2020-04-02T23:38:42Z GeissT quit (Ping timeout: 265 seconds) 2020-04-02T23:41:14Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-02T23:42:06Z iAmDecim joined #lisp 2020-04-02T23:43:33Z vhost- quit (Quit: WeeChat 2.7.1) 2020-04-02T23:44:01Z vivit quit (Ping timeout: 265 seconds) 2020-04-02T23:44:08Z Bike: sorry, trying to be thorough here 2020-04-02T23:45:21Z vhost- joined #lisp 2020-04-02T23:45:21Z vhost- quit (Changing host) 2020-04-02T23:45:21Z vhost- joined #lisp 2020-04-02T23:50:34Z GeissT joined #lisp 2020-04-02T23:52:37Z epony quit (Quit: reconf) 2020-04-02T23:54:25Z fiddlerwoaroof_: Is there a nice library for interacting with Elasticsearch? 2020-04-02T23:55:01Z epony joined #lisp 2020-04-02T23:55:18Z markoong joined #lisp 2020-04-02T23:55:40Z Bike: http://ix.io/2gqV jcowan, fiddlerwoaroof_ 2020-04-02T23:59:29Z markong quit (Ping timeout: 265 seconds) 2020-04-03T00:00:23Z v88m quit (Read error: Connection reset by peer) 2020-04-03T00:00:43Z aeth: Bike: Isn't destructuring-bind a lambda list parser? 2020-04-03T00:02:46Z Bike: well, if we're being pedantic, define-modify-macro lambda lists are their own thing, and don't support destructuring or key parameters 2020-04-03T00:02:57Z Bike: but i tried to keep it simple outside of the complicated part, anyway 2020-04-03T00:03:08Z Bike: well. the part that's complicated and also relevant. 2020-04-03T00:06:09Z Bike: brb 2020-04-03T00:08:14Z markoong quit (Ping timeout: 240 seconds) 2020-04-03T00:09:28Z Nikotiini quit (Quit: WeeChat 1.4) 2020-04-03T00:09:45Z vivit joined #lisp 2020-04-03T00:09:45Z vivit quit (Changing host) 2020-04-03T00:09:45Z vivit joined #lisp 2020-04-03T00:13:18Z prince1 joined #lisp 2020-04-03T00:18:09Z arduo joined #lisp 2020-04-03T00:20:08Z sulami joined #lisp 2020-04-03T00:21:27Z holycow joined #lisp 2020-04-03T00:24:53Z sulami quit (Ping timeout: 250 seconds) 2020-04-03T00:25:26Z t58 quit (Quit: night) 2020-04-03T00:27:13Z quazimodo quit (Ping timeout: 264 seconds) 2020-04-03T00:28:21Z Nikotiini joined #lisp 2020-04-03T00:31:26Z refpga` quit (Remote host closed the connection) 2020-04-03T00:41:41Z akoana joined #lisp 2020-04-03T00:43:55Z Bike: i'm back, on the off chance anyone was waiting 2020-04-03T00:49:54Z sjl quit (Ping timeout: 240 seconds) 2020-04-03T00:51:09Z sjl joined #lisp 2020-04-03T00:55:23Z quazimodo joined #lisp 2020-04-03T00:56:31Z arduo quit (Ping timeout: 265 seconds) 2020-04-03T01:03:27Z danielboston26 quit (Ping timeout: 250 seconds) 2020-04-03T01:03:49Z bitmapper quit (Ping timeout: 264 seconds) 2020-04-03T01:05:34Z KDr24 quit (Ping timeout: 240 seconds) 2020-04-03T01:12:44Z FennecCode quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-03T01:14:18Z sulami joined #lisp 2020-04-03T01:19:18Z sulami quit (Ping timeout: 258 seconds) 2020-04-03T01:25:32Z gxt quit (Remote host closed the connection) 2020-04-03T01:26:42Z gxt joined #lisp 2020-04-03T01:35:33Z markovojvodic84 joined #lisp 2020-04-03T01:36:13Z quazimodo quit (Ping timeout: 264 seconds) 2020-04-03T01:37:21Z quazimodo joined #lisp 2020-04-03T01:38:26Z mgr_ quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-04-03T01:42:11Z mgr_ joined #lisp 2020-04-03T01:45:16Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-03T01:49:50Z pjb: /whoami 2020-04-03T01:50:11Z orivej quit (Ping timeout: 260 seconds) 2020-04-03T01:50:19Z orivej_ joined #lisp 2020-04-03T01:50:20Z ebrasca joined #lisp 2020-04-03T01:52:43Z gko joined #lisp 2020-04-03T02:00:48Z prince1 quit (Quit: WeeChat 2.7) 2020-04-03T02:00:56Z amerigo quit (Quit: Connection closed for inactivity) 2020-04-03T02:02:44Z orivej_ quit (Ping timeout: 265 seconds) 2020-04-03T02:04:26Z EvW quit (Ping timeout: 240 seconds) 2020-04-03T02:05:24Z orivej joined #lisp 2020-04-03T02:06:40Z PuercoPope joined #lisp 2020-04-03T02:08:30Z sulami joined #lisp 2020-04-03T02:12:21Z terpri quit (Remote host closed the connection) 2020-04-03T02:13:18Z sulami quit (Ping timeout: 256 seconds) 2020-04-03T02:14:04Z holycow quit (Quit: Lost terminal) 2020-04-03T02:15:11Z ebzzry joined #lisp 2020-04-03T02:18:27Z sulami joined #lisp 2020-04-03T02:23:20Z sulami quit (Ping timeout: 256 seconds) 2020-04-03T02:32:41Z orivej quit (Read error: Connection reset by peer) 2020-04-03T02:33:32Z orivej joined #lisp 2020-04-03T02:48:15Z torbo joined #lisp 2020-04-03T02:49:20Z ebrasca quit (Remote host closed the connection) 2020-04-03T02:52:53Z Oladon joined #lisp 2020-04-03T02:55:29Z ebrasca joined #lisp 2020-04-03T03:03:38Z sulami joined #lisp 2020-04-03T03:08:41Z sulami quit (Ping timeout: 250 seconds) 2020-04-03T03:12:19Z beach: Good morning everyone! 2020-04-03T03:15:29Z ebrasca: Morning beach ! 2020-04-03T03:16:59Z peterhil quit (Ping timeout: 258 seconds) 2020-04-03T03:17:56Z peterhil joined #lisp 2020-04-03T03:19:12Z ebrasca quit (Remote host closed the connection) 2020-04-03T03:22:23Z madage quit (Ping timeout: 240 seconds) 2020-04-03T03:27:39Z terpri joined #lisp 2020-04-03T03:28:25Z quazimodo quit (Ping timeout: 264 seconds) 2020-04-03T03:29:14Z ebrasca joined #lisp 2020-04-03T03:30:25Z quazimodo joined #lisp 2020-04-03T03:30:41Z space_otter joined #lisp 2020-04-03T03:31:11Z Bike quit (Ping timeout: 265 seconds) 2020-04-03T03:31:22Z space_otter quit (Client Quit) 2020-04-03T03:35:33Z quazimodo quit (Ping timeout: 250 seconds) 2020-04-03T03:35:38Z madage joined #lisp 2020-04-03T03:36:30Z ukari quit (Ping timeout: 265 seconds) 2020-04-03T03:37:14Z aeth: good morning beach 2020-04-03T03:37:27Z quazimodo joined #lisp 2020-04-03T03:38:56Z terpri quit (Remote host closed the connection) 2020-04-03T03:39:06Z aeth: Oh, no, it looks like ELS 2020 is cancelled? https://european-lisp-symposium.org/2020/index.html 2020-04-03T03:39:12Z aeth: well, "physical event cancelled" 2020-04-03T03:39:49Z beach: Had you planned to go? 2020-04-03T03:40:23Z terpri joined #lisp 2020-04-03T03:40:36Z aeth: no, but I always look forward to the results 2020-04-03T03:45:46Z edgar-rft: ELS 2020 this time takes place via telepathy 2020-04-03T03:46:26Z aeth: If we were all using Lisps, then yes, it would have 2020-04-03T03:47:29Z aeth: edgar-rft: Too bad this is all too early for VR/AR (called "XR" for "extended reality") to be commonplace or we could have something almost as good as telepathy. 2020-04-03T03:48:26Z terpri quit (Remote host closed the connection) 2020-04-03T03:53:11Z terpri joined #lisp 2020-04-03T03:57:04Z pilne quit (Quit: Tis but a scratch) 2020-04-03T03:57:51Z sulami joined #lisp 2020-04-03T03:58:21Z terpri quit (Remote host closed the connection) 2020-04-03T03:58:49Z terpri joined #lisp 2020-04-03T03:59:33Z Oladon quit (Quit: Leaving.) 2020-04-03T04:00:26Z terpri_ joined #lisp 2020-04-03T04:01:36Z aeth: beach: I think I do have a talk I could give in 2021 or 2022, though... 2020-04-03T04:02:34Z no-defun-allowed: I'll try to visit next year. Dunno how it will affect my study, or how my study will affect it, though. 2020-04-03T04:02:40Z sulami quit (Ping timeout: 256 seconds) 2020-04-03T04:04:26Z terpri quit (Ping timeout: 240 seconds) 2020-04-03T04:12:28Z ArthurStrong joined #lisp 2020-04-03T04:14:16Z aeth: no-defun-allowed: unfortunately, it's during weekdays, so I'm guessing you would need to take several days off, speaking to your professors ahead of time 2020-04-03T04:14:40Z no-defun-allowed: It's also approximately on the other side of the planet. 2020-04-03T04:15:31Z aeth: well, that just means add one more day (for the plane back... the plane there would be on a Sunday) 2020-04-03T04:18:17Z sz0 quit 2020-04-03T04:19:12Z sz0 joined #lisp 2020-04-03T04:29:17Z beach: aeth: It would either have to be a "lightning talk" of 5 minutes, or you would have to write a paper that will be peer reviewed, and only if it is accepted by the referees would you then be allowed to give a 20 minute talk. 2020-04-03T04:30:10Z beach: It would be silly to go half-way around the globe and only stay for a few days. 2020-04-03T04:31:06Z beach: When I went to Aotearoa, I stayed for a year. 2020-04-03T04:31:28Z nicktick1 quit (Quit: Leaving.) 2020-04-03T04:31:44Z nicktick joined #lisp 2020-04-03T04:31:58Z aeth: beach: heh, it would be very amusing to try to summarize what I'm doing in 5 minutes. 2020-04-03T04:32:02Z nicktick quit (Changing host) 2020-04-03T04:32:02Z nicktick joined #lisp 2020-04-03T04:32:20Z no-defun-allowed: Stupid question about talks: say I want to present about my work on Netfarm, which is (to my knowledge) a novel combination of not novel techniques for solving some problems other techniques create. 2020-04-03T04:32:32Z beach: aeth: Right. So then you need to think about writing a peer-reviewed paper. 2020-04-03T04:33:34Z no-defun-allowed: Should I focus on the implementation of those, or the concepts themselves (I would guess the former for a Lisp symposium), and all (most) of the components or just one? 2020-04-03T04:33:39Z no-defun-allowed: I guess an answer would also affect what I write about, too. 2020-04-03T04:35:58Z beach: no-defun-allowed: You put yourself in the shoes of members of the program committee, and you write something that is likely to make them give an "accept". It is hard to be more specific with the limited information we have so far. 2020-04-03T04:38:53Z no-defun-allowed: And would it be unwise to try to submit a paper to the first symposium I attend? 2020-04-03T04:39:12Z beach: Not at all. 2020-04-03T04:39:26Z aeth: beach: I'm writing a Scheme source-to-source compiler in and to Common Lisp. I'm probably a few days of work (so not necessarily a few days) away from getting it to read, compile, and load Scheme files. 2020-04-03T04:39:58Z no-defun-allowed: Sure, that is what I would have to do to get the paper accepted, but I suppose I don't know what I should write about that relates to my programming. 2020-04-03T04:40:03Z beach: no-defun-allowed: If it is rejected, you typically get detailed remarks that will make it possible to submit a better version the following year, or to some other conference. 2020-04-03T04:40:49Z beach: aeth: Great! 2020-04-03T04:41:19Z aeth: beach: https://gitlab.com/mbabich/airship-scheme 2020-04-03T04:41:24Z beach: no-defun-allowed: Write something up and we will figure it out together. 2020-04-03T04:43:08Z no-defun-allowed: Or, I guess I have a similar problem to the one that sometimes causes me to hesitate asking some questions in #lisp: is it on topic for ELS to just present something that was written in Lisp that may not have been much more interesting had it not been written in Lisp, or should it be something that takes advantage of (Common) Lisp features? 2020-04-03T04:43:31Z aeth: ASDF integration is going to be tricky, but I'll probably be able to do a mapping between r7rs's library system and ASDF's systems so e.g. (scheme base) would be the CL package and the ASDF system airship-scheme/scheme/base (almost like ASDF's package inferred system, except not enforcing a one-package-per-file style) 2020-04-03T04:43:51Z no-defun-allowed: beach: Alright, when I have time I'll write a draft. 2020-04-03T04:44:18Z beach: no-defun-allowed: There is no such preference for ELS papers. 2020-04-03T04:44:47Z no-defun-allowed: Right then. 2020-04-03T04:45:37Z beach: aeth: Demonstrative pronouns like "this" should typically be followed by a noun phrase. Otherwise it become vague what is being referred to. 2020-04-03T04:46:09Z no-defun-allowed: beach: Thank you very much in advance. 2020-04-03T04:46:36Z aeth: beach: ah, in the Overview. Yes, I actually had worse prose there and quickly rewrote that part to be grammatically correct 2020-04-03T04:46:43Z beach: aeth: Does "This" in "This allows programs..." refer to the fact that it is new, that it is Scheme, that it is implemented in Common Lisp, or that it is designed to run in a Common Lisp environment. 2020-04-03T04:46:54Z aeth: yes 2020-04-03T04:47:03Z gravicappa joined #lisp 2020-04-03T04:47:04Z aeth: well, besides the new part 2020-04-03T04:47:12Z beach: "This includes..." 2020-04-03T04:47:51Z aeth: oh, that was (I thought) unambiguously the built-ins, i.e. "the host data structures include" 2020-04-03T04:47:57Z aeth: I'll revise that 2020-04-03T04:49:24Z aeth: I'll replace the first "This" with "The embedded nature" 2020-04-03T04:50:13Z aeth: "The embedded nature of this architecture"? 2020-04-03T04:50:34Z beach: Much better. 2020-04-03T04:51:59Z sulami joined #lisp 2020-04-03T04:55:24Z asarch joined #lisp 2020-04-03T04:55:43Z asarch: https://en.cppreference.com/w/cpp/language/lambda 2020-04-03T04:55:48Z asarch: Ouch! :'-( 2020-04-03T04:57:02Z sulami quit (Ping timeout: 258 seconds) 2020-04-03T04:59:35Z no-defun-allowed: Yes, and? 2020-04-03T05:01:34Z aeth: beach: does NIL-as-false show up a lot in CLOS or the MOP? 2020-04-03T05:03:53Z asarch: A little challenge: how would you find the bigger of two numbers *without* using conditionals? 2020-04-03T05:03:59Z aeth: beach: Or anything else that could complicate a wrapping effort? 2020-04-03T05:04:09Z aeth: asarch: subtraction 2020-04-03T05:04:41Z asarch: ? 2020-04-03T05:04:57Z terpri_ quit (Ping timeout: 265 seconds) 2020-04-03T05:05:00Z aeth: asarch: You just need the sign so (signum (- x y)) 2020-04-03T05:05:10Z asarch: WOW!!! 2020-04-03T05:05:56Z aeth: (signum (- x y)) will get you -1, 0, or 1 (careful, this is the mathematical ideal and floating point precision can cause issues here) 2020-04-03T05:06:24Z no-defun-allowed: clhs max 2020-04-03T05:06:24Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_max_m.htm 2020-04-03T05:06:54Z no-defun-allowed: Nothing is said about the implementation of MAX. 2020-04-03T05:06:55Z asarch takes notes... 2020-04-03T05:07:01Z aeth: no-defun-allowed: ah, yes, that too. (= (max x y) x) but they can still be equal 2020-04-03T05:07:20Z no-defun-allowed: That is my understanding of the "bigger of two numbers". 2020-04-03T05:08:23Z asarch: From https://qr.ae/pNvlnk 2020-04-03T05:08:39Z aeth: no-defun-allowed: (= 1 (signum (- x y))) gets you "x is bigger than y" while (= x (max x y)) gets you "x is greater than or equal to y" 2020-04-03T05:08:46Z aeth: so it depends on which one you want and both have their uses 2020-04-03T05:09:23Z aeth: asarch: I don't think C has signum :-) 2020-04-03T05:09:26Z aeth: Or max, actually 2020-04-03T05:09:54Z aeth: well, maybe it has max in a library. 2020-04-03T05:10:03Z no-defun-allowed: Someone suggested (/ (+ a b (sqrt (expt (- a b) 2))) 2) there. 2020-04-03T05:10:13Z asarch: I know, I just was wondering how could be the Common Lisp way 2020-04-03T05:10:30Z swills quit (Ping timeout: 256 seconds) 2020-04-03T05:11:24Z no-defun-allowed: I like that way, partly because I was able to pretend I was clever for all of five seconds when I realised Pythagoras' theorem "extended" to one dimension, ie ||x|| = sqrt(x^2) 2020-04-03T05:11:33Z asarch: Did you see the polymorphic lambdas in C++? 2020-04-03T05:11:45Z no-defun-allowed: No, why would I care? 2020-04-03T05:11:57Z asarch: That would be such a pain to debug 2020-04-03T05:12:38Z no-defun-allowed: Cool. I don't write C++. 2020-04-03T05:13:53Z no-defun-allowed: Maybe you should tell ##c++ your opinion? They're probably Stockholmed enough that they would disagree, but it would be relevant there and only there. 2020-04-03T05:15:41Z dale quit (Quit: My computer has gone to sleep) 2020-04-03T05:17:06Z beach: aeth: I have not paid attention to such occurrences. What "wrapping effort" are you referring to? 2020-04-03T05:19:06Z swills joined #lisp 2020-04-03T05:19:25Z Kundry_W_ quit (Ping timeout: 264 seconds) 2020-04-03T05:20:20Z narimiran joined #lisp 2020-04-03T05:20:35Z aeth: beach: I distinguish between predicates and procedures (to use Scheme terminology), and autoconvert nil to #f in predicates for convenience (or for standards compliance when implementing a standard Scheme procedure) because Scheme has a separate #f from nil 2020-04-03T05:21:39Z ArthurStrong quit (Quit: leaving) 2020-04-03T05:21:56Z sauvin joined #lisp 2020-04-03T05:22:02Z torbo quit (Remote host closed the connection) 2020-04-03T05:23:03Z akoana left #lisp 2020-04-03T05:24:36Z dddddd quit (Ping timeout: 256 seconds) 2020-04-03T05:33:42Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-04-03T05:35:16Z asarch quit (Quit: Leaving) 2020-04-03T05:36:03Z vlatkoB joined #lisp 2020-04-03T05:36:52Z Lord_of_Life joined #lisp 2020-04-03T05:37:52Z Oddity quit (Read error: Connection reset by peer) 2020-04-03T05:46:11Z sulami joined #lisp 2020-04-03T05:46:22Z GeissT quit (Quit: Leaving) 2020-04-03T05:46:55Z Oddity joined #lisp 2020-04-03T05:47:23Z Kundry_Wag joined #lisp 2020-04-03T05:51:11Z sulami quit (Ping timeout: 250 seconds) 2020-04-03T05:52:56Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-03T05:54:25Z aeth: I also do a continuation passing style wrapping, but that should be OK unless there's weird control flow 2020-04-03T06:01:56Z ecraven quit (Quit: bye) 2020-04-03T06:02:16Z ecraven joined #lisp 2020-04-03T06:12:36Z beach: Why is it called a "wrapping"? 2020-04-03T06:13:55Z terpri joined #lisp 2020-04-03T06:27:56Z Cymew joined #lisp 2020-04-03T06:28:21Z terpri quit (Remote host closed the connection) 2020-04-03T06:28:45Z terpri joined #lisp 2020-04-03T06:40:19Z sulami joined #lisp 2020-04-03T06:45:08Z sulami quit (Ping timeout: 256 seconds) 2020-04-03T06:50:25Z random-nick joined #lisp 2020-04-03T06:58:18Z sulami joined #lisp 2020-04-03T07:11:24Z frgo quit (Remote host closed the connection) 2020-04-03T07:12:03Z frgo joined #lisp 2020-04-03T07:29:54Z vivit quit (Ping timeout: 240 seconds) 2020-04-03T07:37:19Z aeth: beach: I add a function that does nil->false or false->nil, is there a better name? 2020-04-03T07:37:41Z beach: Looks good to me. 2020-04-03T07:38:00Z ebzzry quit (Read error: Connection reset by peer) 2020-04-03T07:39:26Z ggole joined #lisp 2020-04-03T07:45:00Z ebzzry joined #lisp 2020-04-03T07:48:13Z frgo_ joined #lisp 2020-04-03T07:50:25Z frgo quit (Ping timeout: 252 seconds) 2020-04-03T07:54:26Z Codaraxis quit (Ping timeout: 240 seconds) 2020-04-03T07:56:39Z Codaraxis joined #lisp 2020-04-03T08:16:35Z Kundry_Wag joined #lisp 2020-04-03T08:17:32Z v_m_v joined #lisp 2020-04-03T08:22:24Z heisig joined #lisp 2020-04-03T08:23:07Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-03T08:36:45Z arduo joined #lisp 2020-04-03T08:59:21Z arduo quit (Remote host closed the connection) 2020-04-03T09:12:39Z Bourne joined #lisp 2020-04-03T09:13:00Z Codaraxis_ joined #lisp 2020-04-03T09:13:10Z tiwEllien joined #lisp 2020-04-03T09:16:35Z Codaraxis quit (Ping timeout: 250 seconds) 2020-04-03T09:23:14Z froggey quit (Ping timeout: 256 seconds) 2020-04-03T09:24:52Z froggey joined #lisp 2020-04-03T09:27:20Z Lord_of_Life_ joined #lisp 2020-04-03T09:28:19Z v_m_v quit (Remote host closed the connection) 2020-04-03T09:28:57Z xyz123 joined #lisp 2020-04-03T09:29:28Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-03T09:29:29Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-03T09:34:22Z Kundry_Wag joined #lisp 2020-04-03T09:34:24Z xyz123 quit (Remote host closed the connection) 2020-04-03T09:37:15Z msk quit (Remote host closed the connection) 2020-04-03T09:37:35Z msk joined #lisp 2020-04-03T09:39:13Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-03T09:39:54Z orivej quit (Ping timeout: 240 seconds) 2020-04-03T09:40:56Z sulami quit (Ping timeout: 265 seconds) 2020-04-03T09:42:44Z sulami joined #lisp 2020-04-03T09:45:21Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-04-03T09:47:33Z davepdotorg quit (Remote host closed the connection) 2020-04-03T09:48:02Z davepdotorg joined #lisp 2020-04-03T09:55:13Z gxt quit (Remote host closed the connection) 2020-04-03T09:56:07Z Inline joined #lisp 2020-04-03T09:58:22Z gxt joined #lisp 2020-04-03T10:04:03Z tiwEllien quit (Quit: WeeChat 2.7.1) 2020-04-03T10:04:44Z v_m_v joined #lisp 2020-04-03T10:09:31Z sunwukong joined #lisp 2020-04-03T10:09:40Z Kundry_Wag joined #lisp 2020-04-03T10:10:33Z tiwEllien1 joined #lisp 2020-04-03T10:10:35Z jayspeer joined #lisp 2020-04-03T10:13:26Z dddddd joined #lisp 2020-04-03T10:15:11Z davsebam1e joined #lisp 2020-04-03T10:15:15Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-03T10:18:49Z davsebamse quit (Ping timeout: 264 seconds) 2020-04-03T10:28:17Z __jrjsmrtn__ joined #lisp 2020-04-03T10:29:35Z _jrjsmrtn quit (Ping timeout: 260 seconds) 2020-04-03T10:39:39Z pilne joined #lisp 2020-04-03T10:43:09Z xkapastel joined #lisp 2020-04-03T10:50:06Z jayspeer quit (Quit: work vpn breaks freenode -- see ya!!) 2020-04-03T10:56:11Z Oddity quit (Ping timeout: 256 seconds) 2020-04-03T11:02:23Z Oddity joined #lisp 2020-04-03T11:15:29Z amazoniantoad quit (Quit: Connection closed for inactivity) 2020-04-03T11:18:38Z Kundry_Wag joined #lisp 2020-04-03T11:19:03Z markovojvodic84 quit (Ping timeout: 260 seconds) 2020-04-03T11:20:32Z karlosz quit (Quit: karlosz) 2020-04-03T11:23:32Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-03T11:25:35Z narimiran quit (Ping timeout: 260 seconds) 2020-04-03T11:28:42Z v_m_v quit (Remote host closed the connection) 2020-04-03T11:40:15Z jonatack quit (Quit: jonatack) 2020-04-03T11:45:21Z jonatack joined #lisp 2020-04-03T11:53:12Z davepdot_ joined #lisp 2020-04-03T11:56:45Z davepdotorg quit (Ping timeout: 265 seconds) 2020-04-03T12:02:54Z Inline quit (Remote host closed the connection) 2020-04-03T12:03:22Z markoong joined #lisp 2020-04-03T12:04:00Z Bike joined #lisp 2020-04-03T12:06:44Z sonologico quit (Ping timeout: 246 seconds) 2020-04-03T12:07:01Z Inline joined #lisp 2020-04-03T12:09:31Z sonologico joined #lisp 2020-04-03T12:11:26Z narimiran joined #lisp 2020-04-03T12:13:47Z rippa joined #lisp 2020-04-03T12:15:50Z Kundry_Wag joined #lisp 2020-04-03T12:25:41Z markong joined #lisp 2020-04-03T12:29:40Z danielboston26 joined #lisp 2020-04-03T12:29:45Z markoong quit (Ping timeout: 258 seconds) 2020-04-03T12:30:42Z danielboston26 quit (Client Quit) 2020-04-03T12:31:30Z davd joined #lisp 2020-04-03T12:32:53Z arduo joined #lisp 2020-04-03T12:35:37Z Josh_2 joined #lisp 2020-04-03T12:36:26Z Kundry_Wag quit (Remote host closed the connection) 2020-04-03T12:36:58Z Kundry_Wag joined #lisp 2020-04-03T12:41:22Z Davd[m] joined #lisp 2020-04-03T12:46:53Z EvW joined #lisp 2020-04-03T12:52:28Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-03T13:00:24Z FreeBirdLjj joined #lisp 2020-04-03T13:01:39Z sunwukong quit (Quit: Leaving) 2020-04-03T13:04:59Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-04-03T13:05:52Z davepdot_ quit (Remote host closed the connection) 2020-04-03T13:06:18Z davepdotorg joined #lisp 2020-04-03T13:08:03Z gxt quit (Ping timeout: 240 seconds) 2020-04-03T13:10:41Z gxt joined #lisp 2020-04-03T13:13:13Z markoong joined #lisp 2020-04-03T13:13:23Z markong quit (Ping timeout: 260 seconds) 2020-04-03T13:32:15Z heisig quit (Read error: Connection reset by peer) 2020-04-03T13:38:14Z krid joined #lisp 2020-04-03T13:41:59Z cosimone joined #lisp 2020-04-03T13:43:43Z gxt quit (Ping timeout: 240 seconds) 2020-04-03T13:51:03Z lalilulelo joined #lisp 2020-04-03T13:55:29Z Lycurgus joined #lisp 2020-04-03T13:56:02Z gxt joined #lisp 2020-04-03T13:56:27Z Kundry_Wag quit (Remote host closed the connection) 2020-04-03T13:56:54Z Kundry_Wag joined #lisp 2020-04-03T13:57:06Z lavaflow quit (Ping timeout: 265 seconds) 2020-04-03T14:01:37Z xkapastel joined #lisp 2020-04-03T14:02:58Z dgtlcmo joined #lisp 2020-04-03T14:03:46Z Kevslinger joined #lisp 2020-04-03T14:20:05Z flip214: parenscript translates PARSE-INTEGER to parseInteger... which doesn't exist in JS. Is there a more extensive "standard library" or replacement table than *PS-LISP-LIBRARY* ? 2020-04-03T14:23:10Z phoe: flip214: parse-int? 2020-04-03T14:23:45Z davd left #lisp 2020-04-03T14:24:05Z flip214: phoe: I know about the JS function. But is there some way to have Parenscript do some limited translation automatically? 2020-04-03T14:24:30Z flip214: If I write "parse-int" in the CL code it won't work on the host side, unless I create a workaround there... 2020-04-03T14:24:35Z Lycurgus quit (Remote host closed the connection) 2020-04-03T14:25:31Z phoe: sounds like you'd need to do that - or extend parenscript with your parse-integer function 2020-04-03T14:30:31Z rippa quit (Read error: Connection reset by peer) 2020-04-03T14:30:32Z sjl_ joined #lisp 2020-04-03T14:30:34Z gigetoo quit (Ping timeout: 240 seconds) 2020-04-03T14:31:36Z gigetoo joined #lisp 2020-04-03T14:32:29Z Shinmera: you'll need a wrapper either way, their signatures only coincide for the one-arg case. 2020-04-03T14:33:27Z phoe: ^ 2020-04-03T14:35:45Z flip214: well, is there some library (in QL?) that provides such wrappers? 2020-04-03T14:37:02Z phoe: don't think so 2020-04-03T14:37:07Z phoe: I'm afraid you'll need to DIY 2020-04-03T14:38:51Z dlowe: extending parenscript and submitting it upstream seems like the nicest option 2020-04-03T14:39:15Z Necktwi quit (Read error: Connection reset by peer) 2020-04-03T14:42:17Z dale_ joined #lisp 2020-04-03T14:42:42Z dale_ is now known as dale 2020-04-03T14:43:25Z niceplace quit (Ping timeout: 264 seconds) 2020-04-03T14:43:33Z niceplaces joined #lisp 2020-04-03T14:43:35Z sulami quit (Remote host closed the connection) 2020-04-03T14:47:23Z gxt quit (Ping timeout: 240 seconds) 2020-04-03T14:47:36Z spainisnotequal joined #lisp 2020-04-03T14:49:59Z EvW quit (Ping timeout: 272 seconds) 2020-04-03T14:53:52Z monokrom joined #lisp 2020-04-03T14:55:04Z Necktwi joined #lisp 2020-04-03T14:55:21Z cosimone quit (Quit: Terminated!) 2020-04-03T14:57:30Z spainisnotequal quit (Quit: Ping timeout (120 seconds)) 2020-04-03T14:57:43Z ym quit (Quit: Leaving) 2020-04-03T15:06:02Z vivit joined #lisp 2020-04-03T15:06:03Z vivit quit (Changing host) 2020-04-03T15:06:03Z vivit joined #lisp 2020-04-03T15:09:49Z Necktwi quit (Ping timeout: 264 seconds) 2020-04-03T15:13:00Z ebrasca quit (Remote host closed the connection) 2020-04-03T15:14:41Z Inline quit (Ping timeout: 246 seconds) 2020-04-03T15:16:24Z h11 quit (Read error: Connection reset by peer) 2020-04-03T15:16:49Z h11 joined #lisp 2020-04-03T15:17:49Z markoong quit (Read error: Connection reset by peer) 2020-04-03T15:18:01Z markoong joined #lisp 2020-04-03T15:19:06Z vlatkoB quit (Ping timeout: 256 seconds) 2020-04-03T15:19:25Z vlatkoB joined #lisp 2020-04-03T15:19:59Z flip214: dlowe: yeah, guess so. having something hang on the symbol property list, or a hashtable... 2020-04-03T15:21:15Z Necktwi joined #lisp 2020-04-03T15:23:43Z dlowe: I don't know anything about parenscript's internals but being able to map parse-integer into parseInt seems like a fundamental operation it would need 2020-04-03T15:24:03Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-03T15:27:37Z Aurora_iz_kosmos joined #lisp 2020-04-03T15:29:44Z ebrasca joined #lisp 2020-04-03T15:31:58Z pluplog joined #lisp 2020-04-03T15:33:08Z flip214: https://gitlab.common-lisp.net/parenscript/parenscript/-/issues/7 in case anybody would like to help designing 2020-04-03T15:43:55Z vivit quit (Quit: WeeChat 1.9.1) 2020-04-03T15:45:01Z phoe: commented there 2020-04-03T15:45:47Z flip214: thanks 2020-04-03T15:51:12Z phoe: well 2020-04-03T15:51:16Z phoe: if explaining the condition system was hard 2020-04-03T15:51:45Z phoe: now let me try explaining the even more intricate restart system that builds on the condition system and complicates it further in interesting ways 2020-04-03T15:51:48Z phoe sigh 2020-04-03T15:53:36Z Bike: it's just hore hooks 2020-04-03T15:53:54Z phoe: that is a bad typo 2020-04-03T15:56:09Z bitmapper joined #lisp 2020-04-03T15:58:29Z frgo joined #lisp 2020-04-03T15:59:37Z jcowan snickers 2020-04-03T16:00:27Z jcowan: Riastradh pruned it considerably for the Scheme proposal, and I pruned it even more, so what's left is "the essence of restarts", I think 2020-04-03T16:02:01Z frgo_ quit (Ping timeout: 264 seconds) 2020-04-03T16:02:43Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/RestartsCowan.md 2020-04-03T16:03:35Z jcowan: in particular, I found for myself I needed to sort out the difference between ambient restarters (in the dynamic environment) from restarters attached to conditions from free-standing restarters. 2020-04-03T16:04:19Z iAmDecim joined #lisp 2020-04-03T16:05:12Z beach: jcowan: If you are going to implement something like the Common Lisp condition system for Scheme, you should probably read what Kent Pitman wrote about the aspects he thinks he did wrong. 2020-04-03T16:05:29Z jcowan: I will, thanks. 2020-04-03T16:07:42Z davepdot_ joined #lisp 2020-04-03T16:07:47Z ebzzry quit (Read error: Connection reset by peer) 2020-04-03T16:08:51Z gko quit (Ping timeout: 260 seconds) 2020-04-03T16:09:54Z Mandus joined #lisp 2020-04-03T16:10:34Z davepdotorg quit (Ping timeout: 240 seconds) 2020-04-03T16:12:00Z t58 joined #lisp 2020-04-03T16:13:26Z jcowan: One thing we have done on the condition side is to force the condition *signaler* to decide whether the handler can return to its caller: there is both raise and raise-continuable. If a handler returns to a raise, another condition is raised. 2020-04-03T16:16:08Z jcowan: this raise bypasses the most recent handler, just as a condition raised *in* the handler does 2020-04-03T16:18:38Z remexre quit (Ping timeout: 268 seconds) 2020-04-03T16:19:21Z Bike: so, error and cerror? 2020-04-03T16:19:49Z Bike: not exactly, since invoke-debugger doesn't signal 2020-04-03T16:20:54Z Bike: and a handler has to explicitly continue for cerror, rather than just return 2020-04-03T16:23:03Z fiddlerwoaroof_: jcowan: does this mean that a handler can't swallow all the conditions signaled in its dynamic extent?' 2020-04-03T16:24:49Z jcowan: Similar except for the absence of invoke-debugger 2020-04-03T16:25:20Z Bike: it sounds more like throw/catch really... like, if you throw and there's no catch, a control error is signaled 2020-04-03T16:25:35Z jcowan: however, there is an interactor provided by the implementation that looks inside a restarter and figures out what variables to collect and what restarters are available 2020-04-03T16:25:43Z Bike: or how C++ does std::terminate (except std::terminate is dumber, because C++) 2020-04-03T16:25:52Z jcowan: But catch can never return to the point of throw, correct? 2020-04-03T16:26:15Z Bike: it can't, no. i just meant in this raise-cant-continue aspect 2020-04-03T16:26:16Z jcowan: fiddlerwoaroof_: A handler can definitely do anything it wants. 2020-04-03T16:26:26Z jcowan nods 2020-04-03T16:26:34Z fiddlerwoaroof_ is now known as fiddlerwoaroof 2020-04-03T16:26:48Z orivej joined #lisp 2020-04-03T16:27:03Z fiddlerwoaroof: Ok, I think I've misunderstood the description 2020-04-03T16:29:53Z jcowan: It's just that if the handler chain attempts to return to the caller, it will fail to do so. 2020-04-03T16:30:20Z jcowan: What I don't understand about the condition system is why there are classes like error, warning, etc. and also functions with the same names 2020-04-03T16:30:55Z jcowan: For all I can tell to the contrary, the fact that a condition is a subtype of warning has no effect on how it is signaled or handled 2020-04-03T16:30:56Z phoe: ;; caught NITPICK: there's no function named WARNING 2020-04-03T16:31:04Z fiddlerwoaroof: Isn't it just a convention that the "standard" way to raise a condition of class FOO is to call the function FOO? 2020-04-03T16:31:06Z phoe: jcowan: that is correct 2020-04-03T16:31:14Z Bike: jcowan: i mean, handlers can specialize on warning, but otherwise no 2020-04-03T16:31:23Z ioa quit (*.net *.split) 2020-04-03T16:31:23Z copec quit (*.net *.split) 2020-04-03T16:31:23Z eeeeeta quit (*.net *.split) 2020-04-03T16:31:23Z AdmiralBumbleBee quit (*.net *.split) 2020-04-03T16:31:23Z akkad quit (*.net *.split) 2020-04-03T16:31:29Z jcowan nods 2020-04-03T16:31:29Z akkad joined #lisp 2020-04-03T16:31:30Z phoe: you can even SIGNAL an error or ERROR a warning or ERROR a condition that isn't an error or warning 2020-04-03T16:31:30Z Bike: the error, warn, and signal functions have different effects, of course, and those effects are suited to those classes' semantic intents 2020-04-03T16:31:35Z ioa joined #lisp 2020-04-03T16:31:42Z copec joined #lisp 2020-04-03T16:31:42Z jcowan nods 2020-04-03T16:31:58Z phoe: the condition types are there for the programmer to utilize, especially if they write code that deals with Lisp in general 2020-04-03T16:32:00Z AdmiralBumbleBee joined #lisp 2020-04-03T16:32:33Z phoe: it may want to separate errors from warnings from (and condition (not (or warning error)))s 2020-04-03T16:32:41Z fiddlerwoaroof: nvm, I'm confusing conditions with restarts 2020-04-03T16:32:45Z tiwEllien1 quit (Quit: tiwEllien1) 2020-04-03T16:32:49Z Bike: so, hang on, in your system can a handler decline to handle the condition, and then a later handler can get at it and do whatever? 2020-04-03T16:32:51Z phoe: fiddlerwoaroof: :D 2020-04-03T16:32:57Z lavaflow joined #lisp 2020-04-03T16:33:26Z frgo_ joined #lisp 2020-04-03T16:33:43Z fiddlerwoaroof: One thing it took me a long time to realize was that HANDLER-BIND and HANDLER-CASE take type specifiers, not conditions 2020-04-03T16:34:03Z eeeeeta joined #lisp 2020-04-03T16:34:31Z fiddlerwoaroof: So, I can replace two identical handler clauses with (and condition1 condition2), etc. 2020-04-03T16:34:56Z fiddlerwoaroof: or, (OR ...) 2020-04-03T16:35:23Z phoe: fiddlerwoaroof: yes, all the magic of type specifiers 2020-04-03T16:35:57Z EvW1 joined #lisp 2020-04-03T16:35:58Z libertyprime joined #lisp 2020-04-03T16:36:12Z fiddlerwoaroof: I discovered this when trying to deal with libraries that signal simple conditions for things one generally wants to be able to handle 2020-04-03T16:36:21Z jcowan nods 2020-04-03T16:36:35Z pjb: aeth: SIGNUM contains a hidden IF. 2020-04-03T16:36:44Z jcowan: The Scheme analogue of handler-bind doesn't know from types, but handler-case does. 2020-04-03T16:36:54Z frgo quit (Ping timeout: 256 seconds) 2020-04-03T16:36:55Z pjb: aeth: like ABS. You need to implement them without IF if you want to use them in an IF-less solution. 2020-04-03T16:36:56Z Bike: having the type system there is convenient, but if i was designing the system myself i wouldn't have done that 2020-04-03T16:37:04Z Bike: not sure what i would do, exactly, but the type system is just... complicated. 2020-04-03T16:37:17Z jcowan: I can't find the specific Pitman paper you are referring to, btw. 2020-04-03T16:37:41Z fiddlerwoaroof: Bike: I think it's better than having both the type system + something else 2020-04-03T16:37:52Z pjb: aeth: SQUARE doesn't contain an IF, but SQRT does (it loops until) so abs = sqrt o square is no good, unless you proide an IF-less SQRT. 2020-04-03T16:38:22Z Bike: actually i suppose if the types were parsed ahead of time it might be okay 2020-04-03T16:39:30Z shangul quit (Ping timeout: 265 seconds) 2020-04-03T16:39:34Z emacsomancer quit (Read error: Connection reset by peer) 2020-04-03T16:39:38Z jcowan: Which you can: just expand the Taylor series to enough terms that any further terms would be lost in the error 2020-04-03T16:39:59Z Bike: ...eh? 2020-04-03T16:40:04Z pjb: jcowan: yes. 2020-04-03T16:40:18Z pjb: taylor series don't converge very fast usually… 2020-04-03T16:40:47Z jcowan: The ones for the trig functions are pretty good: I've certainly seen them used 2020-04-03T16:42:32Z eeeeeta is now known as eta 2020-04-03T16:42:45Z emacsomancer joined #lisp 2020-04-03T16:46:09Z tiwEllien1 joined #lisp 2020-04-03T16:46:35Z libertyprime quit (Read error: No route to host) 2020-04-03T16:46:40Z jcowan: And https://www.sciencedirect.com.sci-hub.tw/science/article/abs/pii/S0026269209000500 seems to be a good paper on hardware square root computations with the Taylor series, though I have only skimmed it. Per usual, we stop when the error is 0.5 ulps or better 2020-04-03T16:47:14Z tiwEllien1 quit (Client Quit) 2020-04-03T16:47:40Z pjb: jcowan: does the hardware loop (in time) or duplicates silicon (in space)? 2020-04-03T16:47:56Z tiwEllien joined #lisp 2020-04-03T16:48:21Z jcowan: It uses mul/div/sqrt pipeline stages. The point is that it's finite and can't get stuck, unlike Newton 2020-04-03T16:48:40Z jcowan: By all means read the paper and then tell me. 2020-04-03T16:49:02Z pjb: jcowan: well, the problem is more about the essence of IF. 2020-04-03T16:49:25Z jcowan: without if there is no meaningful iteration. 2020-04-03T16:49:36Z jcowan: ("My computer can run infinite loops twice as fast as your computer!") 2020-04-03T16:49:45Z pjb: jcowan: perhaps no observer in the quantum world! 2020-04-03T16:51:48Z pjb: In lambda-calculus, it's implemented thanks to lazy evaluation. 2020-04-03T16:52:07Z libertyprime joined #lisp 2020-04-03T16:54:18Z Oddity quit (Ping timeout: 256 seconds) 2020-04-03T16:55:08Z Jesin quit (Quit: Leaving) 2020-04-03T16:58:50Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-03T16:59:40Z Oddity joined #lisp 2020-04-03T17:08:46Z sonologico__ joined #lisp 2020-04-03T17:08:46Z Bourne quit (Read error: Connection reset by peer) 2020-04-03T17:09:44Z karlosz joined #lisp 2020-04-03T17:10:26Z phoe: Am I correct to say that the only places where the restart system interacts with the condition system is the macro WITH-CONDITION-RESTARTS, the standard-defined restarts ABORT, CONTINUE, ..., and the Lisp debugger? 2020-04-03T17:10:29Z Jesin joined #lisp 2020-04-03T17:10:32Z sonologico quit (Ping timeout: 246 seconds) 2020-04-03T17:12:44Z Xach: phoe: when i think of restarts and conditions, i think of find-restart and invoke-restart. do you consider those a part of your list already? 2020-04-03T17:16:22Z sonologico__ quit (Remote host closed the connection) 2020-04-03T17:16:49Z sonologico__ joined #lisp 2020-04-03T17:17:42Z phoe: Xach: my list? what do you mean? 2020-04-03T17:17:55Z phoe: also, find-restart does not necessarily have to do anything with conditions; neither does invoke-restart 2020-04-03T17:18:09Z phoe: the first accepts a restart name, the latter a restart designator and args for the restart function 2020-04-03T17:18:09Z fiddlerwoaroof: But they both take a condition 2020-04-03T17:18:14Z phoe: wait what 2020-04-03T17:18:17Z phoe: clhs find-restart 2020-04-03T17:18:18Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_find_r.htm 2020-04-03T17:18:31Z phoe: oooh - as the *optional* argument 2020-04-03T17:18:31Z fiddlerwoaroof: (find-restart name &optional condition) 2020-04-03T17:18:57Z phoe: yes, that relationship's much more complex then 2020-04-03T17:18:59Z phoe: thanks! 2020-04-03T17:19:00Z fiddlerwoaroof: Yeah, that surprised me but it was really useful for some stuff I've done recently 2020-04-03T17:19:17Z phoe: and sorry for stupid questions, I'm trying to wrap my head over making my words correct as I'm writing them down 2020-04-03T17:19:30Z Xach: phoe: your list of "with-condition-restarts, ..." 2020-04-03T17:19:31Z fiddlerwoaroof: e.g. if there are 2 continue restarts in scope, but you want the one associated with the signal 2020-04-03T17:20:55Z phoe: Xach: yes 2020-04-03T17:22:04Z iAmDecim joined #lisp 2020-04-03T17:22:59Z phoe: hmm 2020-04-03T17:24:22Z sonologico__ quit (Remote host closed the connection) 2020-04-03T17:25:06Z sonologico__ joined #lisp 2020-04-03T17:25:52Z sonologico__ quit (Remote host closed the connection) 2020-04-03T17:26:02Z fiddlerwoaroof: phoe: https://github.com/cjdev/aws-access/blob/edb09ea25912093fb0e53b9e8765733e6ff1e422/src/domain.lisp#L114 I forget exactly what motivated this, but I remember being surprised by Lispworks (I forget if it couldn't find the restart without the condition or if there were two of that restarts in scope, under certain conditions) 2020-04-03T17:26:09Z fiddlerwoaroof: https://github.com/cjdev/aws-access/blob/edb09ea25912093fb0e53b9e8765733e6ff1e422/src/utils.lisp#L14 2020-04-03T17:26:14Z fiddlerwoaroof: Here's the helper definition 2020-04-03T17:26:26Z sonologico__ joined #lisp 2020-04-03T17:27:21Z phoe: fiddlerwoaroof: yes, I see 2020-04-03T17:28:38Z Bourne joined #lisp 2020-04-03T17:32:52Z sonologico__ quit (Remote host closed the connection) 2020-04-03T17:33:19Z sonologico__ joined #lisp 2020-04-03T17:35:02Z nicktick quit (Quit: Leaving.) 2020-04-03T17:40:20Z nicktick joined #lisp 2020-04-03T17:43:36Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-03T17:43:52Z sonologico__ quit (Remote host closed the connection) 2020-04-03T17:44:08Z ebrasca quit (Remote host closed the connection) 2020-04-03T17:51:53Z bendersteed joined #lisp 2020-04-03T17:55:12Z remexre joined #lisp 2020-04-03T18:04:49Z vhost- quit (Ping timeout: 250 seconds) 2020-04-03T18:06:01Z hhdave_ joined #lisp 2020-04-03T18:07:23Z hhdave quit (Ping timeout: 260 seconds) 2020-04-03T18:07:23Z hhdave_ is now known as hhdave 2020-04-03T18:08:33Z vhost- joined #lisp 2020-04-03T18:08:33Z vhost- quit (Changing host) 2020-04-03T18:08:33Z vhost- joined #lisp 2020-04-03T18:09:16Z iAmDecim joined #lisp 2020-04-03T18:14:09Z asarch joined #lisp 2020-04-03T18:14:42Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-03T18:17:27Z pluplog quit (Read error: Connection reset by peer) 2020-04-03T18:18:27Z pluplog joined #lisp 2020-04-03T18:18:50Z stepnem quit (Read error: Connection reset by peer) 2020-04-03T18:18:56Z iAmDecim joined #lisp 2020-04-03T18:21:02Z stepnem joined #lisp 2020-04-03T18:21:57Z Jesin quit (Quit: Leaving) 2020-04-03T18:22:19Z jmercouris joined #lisp 2020-04-03T18:23:03Z jmercouris: How can I force (defparameter x '()) to print () instead of NIL 2020-04-03T18:23:08Z jmercouris: I understand they are equivalent 2020-04-03T18:25:22Z fiddlerwoaroof: set-pprint-dispatch should work 2020-04-03T18:25:40Z fiddlerwoaroof: But, I thought there was a variable that controls this 2020-04-03T18:26:31Z bendersteed quit (Remote host closed the connection) 2020-04-03T18:26:33Z jmercouris: maybe it is better to do something else here... 2020-04-03T18:26:40Z jmercouris: that would work, but let me rethink this 2020-04-03T18:26:42Z sauvin quit (Read error: Connection reset by peer) 2020-04-03T18:28:16Z pioneer42 joined #lisp 2020-04-03T18:28:31Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-03T18:28:56Z fiddlerwoaroof: Depending on the context (format stream "(~{~s~})" '()) 2020-04-03T18:29:09Z fiddlerwoaroof: But, that might not be practical 2020-04-03T18:29:27Z jmercouris: it is a macro where I want to either dump the arglist like ,arglist or show () to indicate rather than nil 2020-04-03T18:29:40Z Bike quit (Read error: Connection reset by peer) 2020-04-03T18:29:45Z jmercouris: when arglist is nil, ,arglist will show NIL 2020-04-03T18:29:55Z jmercouris: which makes sense... of course 2020-04-03T18:30:05Z Bike joined #lisp 2020-04-03T18:30:12Z jmercouris: I know what I will do, I'll handle it in a let above where I need it 2020-04-03T18:30:17Z jmercouris: the problem was that it was in a quoted form 2020-04-03T18:30:43Z phoe: jmercouris: why? 2020-04-03T18:30:50Z jmercouris: I'll show you in a second 2020-04-03T18:34:38Z phoe: Can I somehow get a list of all restarts that are applicable *only* to a given condition? That is, minus restarts that are applicable to everything? 2020-04-03T18:34:57Z phoe: ...I could (compute-restarts condition) and set-difference that with (compute-restarts), I guess. 2020-04-03T18:35:03Z fiddlerwoaroof: (compute-restarts condition) 2020-04-03T18:35:04Z Bike: that's probably it, yeah. 2020-04-03T18:35:26Z fiddlerwoaroof: Ah, missed a bit :) 2020-04-03T18:35:39Z fiddlerwoaroof: phoe: what are you working on? It sounds interesting 2020-04-03T18:35:55Z phoe: fiddlerwoaroof: https://gist.github.com/phoe/5659f8e5d8ff85e99565de17e39e4449 2020-04-03T18:36:32Z phoe: Also known as "How To Avoid Answering A Phone From Your Ex-Girlfriend - in Common Lisp" 2020-04-03T18:36:39Z fiddlerwoaroof: Cool 2020-04-03T18:37:41Z phoe: it's still WIP, but is kinda-complete now when it comes to dynavars, conditions, and handlers 2020-04-03T18:37:52Z phoe: remaining: restarts and debuggers 2020-04-03T18:38:11Z jmercouris: (defmacro define-command (name (&rest arglist) &body body) ... '(define-command ,arglist ,@body) ...) 2020-04-03T18:38:13Z jmercouris: that's why 2020-04-03T18:38:34Z fiddlerwoaroof: jmercouris: I usually do (,@arglist) 2020-04-03T18:38:49Z jmercouris: that will insert spurious () around it sometimes 2020-04-03T18:38:58Z jmercouris: when arglist is non-null 2020-04-03T18:39:28Z fiddlerwoaroof: arglist is always going to be a list, right? 2020-04-03T18:39:35Z jmercouris: yes 2020-04-03T18:39:37Z fiddlerwoaroof: () => () (a b c) => (a b c) 2020-04-03T18:39:39Z jmercouris: oh I missed the @ 2020-04-03T18:39:50Z fiddlerwoaroof: ah 2020-04-03T18:41:34Z Bike: you shouldn't think of it as "inserting spurious ()". that's a sensible frame if you're printing, but think about the actual objects - a list. 2020-04-03T18:41:42Z Bike: i mean you already figured out this problem, but, you know, in the future 2020-04-03T18:42:20Z jmercouris: yes, that's a good point 2020-04-03T18:44:37Z Cymew quit (Ping timeout: 264 seconds) 2020-04-03T18:47:18Z jmercouris quit (Remote host closed the connection) 2020-04-03T18:47:25Z phoe: " 2020-04-03T18:47:38Z phoe: "spurious ()" looks like kinda sloppy list handling to me 2020-04-03T18:48:03Z phoe: it's not that it inserts spurious () on its own, it's that it was given wrong arguments 2020-04-03T18:48:58Z Bike: actually, why is this macro building its own form back, anyway? 2020-04-03T18:49:01Z phoe: that's like complaining that using LIST instead of LIST* inserts spurious () around the last CDRs 2020-04-03T18:49:02Z Bike: maybe &whole could be used instead? 2020-04-03T18:49:07Z phoe: ^ 2020-04-03T18:49:46Z ufaucernio joined #lisp 2020-04-03T18:51:38Z mrcom quit (Read error: Connection reset by peer) 2020-04-03T18:52:34Z gxt joined #lisp 2020-04-03T19:02:19Z mrcom joined #lisp 2020-04-03T19:05:40Z v88m joined #lisp 2020-04-03T19:07:58Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-03T19:08:04Z ufaucernio quit (Ping timeout: 265 seconds) 2020-04-03T19:08:38Z Lycurgus joined #lisp 2020-04-03T19:09:24Z Lycurgus left #lisp 2020-04-03T19:10:31Z Codaraxis__ joined #lisp 2020-04-03T19:12:15Z libertyprime quit (Ping timeout: 260 seconds) 2020-04-03T19:14:12Z Codaraxis_ quit (Ping timeout: 256 seconds) 2020-04-03T19:17:45Z efm_ joined #lisp 2020-04-03T19:19:58Z efm quit (Ping timeout: 265 seconds) 2020-04-03T19:21:49Z phoe: Is (restart-case (invoke-restart 'foo) (foo (x) (* x x))) valid code? 2020-04-03T19:22:55Z Bike: well, you're not giving the restart enough arguments 2020-04-03T19:23:08Z Bike: but otherwise sure, i guess? 2020-04-03T19:24:29Z phoe: oh right - found it, thanks 2020-04-03T19:24:34Z phoe: I was dumb 2020-04-03T19:26:16Z Bike: i forgive you. 2020-04-03T19:26:39Z phoe: thank you 2020-04-03T19:26:45Z efm_ quit (Quit: Konversation terminated!) 2020-04-03T19:27:10Z efm joined #lisp 2020-04-03T19:27:15Z jcowan: phoe: My only other point is that copying the *whole* of section 1 into sectiomn 2 and translating the code is overkill and makes it hard to read. Instead, just present the cl code and a few words for each fragment to make it clear what it's for. 2020-04-03T19:28:57Z phoe: jcowan: point taken, I will possibly rewrite that chapter completely to shorten it all up. 2020-04-03T19:31:06Z Bike: i guess the weird thing is that (restart-bind ((foo (lambda (x) (* x x)))) (invoke-restart 'foo (invoke-restart 'foo 7))) => 2401 2020-04-03T19:31:19Z nicktick quit (Quit: Leaving.) 2020-04-03T19:31:20Z Bike: now there are some hooks 2020-04-03T19:31:21Z jprajzne quit (Read error: Connection reset by peer) 2020-04-03T19:31:40Z jprajzne joined #lisp 2020-04-03T19:33:37Z phoe: Bike: why weird though 2020-04-03T19:33:39Z aeth: pjb: SIGNUM on x86-64 probably contains a hidden IF, but SIGNUM could exist as an architectural primitive depending on the machine's asm, afaik. CL doesn't just run on x86-64. Of course, you'd probably still get a few conditionals in the generic version unless the compiler knows it's a float or fixnum. 2020-04-03T19:33:53Z Bike: phoe: just cos it's not how restarts are normally used. it makes sense, of course 2020-04-03T19:34:19Z phoe: Bike: usually you rarely get to see restart return values 2020-04-03T19:34:27Z Bike: usually you don't use restart-bind 2020-04-03T19:34:37Z Bike: not sure i've ever seen it in source code, actually 2020-04-03T19:34:48Z phoe: usually you just hit #\Q on your keyboard and return to the slime repl 2020-04-03T19:34:51Z pjb: aeth: usually, hardware provides two flags, N and Z, but you still have to test them to produce -1, 0 or 1. 2020-04-03T19:35:06Z iAmDecim joined #lisp 2020-04-03T19:35:20Z pjb: aeth: if you're lucky, you can read the flag register, and manipulate it arithmetically to get the wanted result. 2020-04-03T19:35:58Z fiddlerwoaroof: Bike: the only time I've seen RESTART-BIND is in implementations of RESTART-CASE 2020-04-03T19:36:05Z Bike: well, yes. 2020-04-03T19:36:21Z lucasb joined #lisp 2020-04-03T19:36:28Z fiddlerwoaroof: It and custom method combinations are things I really want to see a compelling use for :) 2020-04-03T19:37:01Z phoe: fiddlerwoaroof: well, I will try to convince you 2020-04-03T19:37:03Z fiddlerwoaroof: I think I may have used RESTART-BIND in the past to implement type coercions 2020-04-03T19:37:09Z pjb: fiddlerwoaroof: method combinations are monads. 2020-04-03T19:37:49Z fiddlerwoaroof: Perhaps, but I've generally been able to get away with only using the default method combinations 2020-04-03T19:38:36Z phoe: I actually started using method combinations recently 2020-04-03T19:39:20Z fiddlerwoaroof: I once tried to implement http routing as a method combination, but no implementation implements the spec (IMO) 2020-04-03T19:40:01Z phoe: I hacked^Wmodified a GF to actually perform some matching for me; with my m-c, methods get called in turn and the first one that returns non-nil produces the value for the GF 2020-04-03T19:40:22Z phoe: I still remember Bike wincing at that idea, but hey, it works 2020-04-03T19:40:29Z fiddlerwoaroof: that's the OR method combination? 2020-04-03T19:41:19Z phoe: yes, except I had to work with a multiple-value-or since I had multiple values 2020-04-03T19:41:20Z Bike: yeah, that just sounds like OR... i don't remember this 2020-04-03T19:41:30Z phoe: https://github.com/phoe/riichi-evaluator/blob/f978aa240a8cb4a0fb0a6cc457fd10725839779e/src/constants.lisp#L96 2020-04-03T19:41:41Z Bike: i even did something like that in my own code once, though i'm no longer sure it's the right thing to do 2020-04-03T19:41:51Z Bike: oh, well, all the multiple value lists kinda suck 2020-04-03T19:41:51Z Jesin joined #lisp 2020-04-03T19:44:53Z phoe: oooh 2020-04-03T19:44:55Z fiddlerwoaroof: phoe: can't you use the short form there? 2020-04-03T19:45:02Z phoe: Bike: I now remember *why* you winced 2020-04-03T19:45:26Z fiddlerwoaroof: (d-m-c chained-or :operator multiple-value-or) 2020-04-03T19:45:31Z phoe: none of my methods are specialized 2020-04-03T19:45:39Z phoe: they all use different qualifiers 2020-04-03T19:45:43Z Bike: oh. yeah. don't like that. 2020-04-03T19:45:52Z sonologico joined #lisp 2020-04-03T19:46:16Z phoe: (defmethod frobnicate :foo (x) ...) (defmethod frobnicate :bar (x) ...) (defmethod frobnicate :baz (x) ...) 2020-04-03T19:46:44Z fiddlerwoaroof: https://gist.github.com/fiddlerwoaroof/2def4b081bb9ba179efcce48a204646c#file-routing-method-combination-lisp-L61-L66 2020-04-03T19:46:52Z phoe: fiddlerwoaroof: nope, a short form wouldn't allow the above to work due to the qualifiers. 2020-04-03T19:46:52Z fiddlerwoaroof: I did that too 2020-04-03T19:47:03Z fiddlerwoaroof: yeah 2020-04-03T19:47:11Z phoe: hah! 2020-04-03T19:47:45Z fiddlerwoaroof: Except, for "real" my method combination would be specialized by your http-server class 2020-04-03T19:48:15Z phoe: yes 2020-04-03T19:48:53Z fiddlerwoaroof: The irritating thing is that nearly every implementation throws an error if you have two defmethods that only differ by qualifiers 2020-04-03T19:49:08Z Bike: er, really? 2020-04-03T19:49:11Z phoe: really? 2020-04-03T19:49:15Z phoe: I know that ECL does 2020-04-03T19:49:19Z phoe: CCL, AFAIK, doesn't 2020-04-03T19:49:20Z fiddlerwoaroof: sbcl has an escape hatch 2020-04-03T19:49:46Z fiddlerwoaroof: https://bugs.launchpad.net/sbcl/+bug/1799666 2020-04-03T19:50:07Z fiddlerwoaroof: I submitted a patch, but was told WONTFIX 2020-04-03T19:50:30Z Bike: clhs 7.6.6.1.2 2020-04-03T19:50:30Z specbot: Sorting the Applicable Methods by Precedence Order: http://www.lispworks.com/reference/HyperSpec/Body/07_ffab.htm 2020-04-03T19:51:23Z Bike: ah, because the method combination sorts them the same... i see 2020-04-03T19:51:49Z fiddlerwoaroof: but see the reference to 7.6.3 2020-04-03T19:51:51Z fiddlerwoaroof: clhs 7.6.3 2020-04-03T19:51:51Z specbot: Agreement on Parameter Specializers and Qualifiers: http://www.lispworks.com/reference/HyperSpec/Body/07_fc.htm 2020-04-03T19:52:14Z pluplog quit (Remote host closed the connection) 2020-04-03T19:52:21Z srji quit (Quit: leaving) 2020-04-03T19:53:10Z fiddlerwoaroof: It's a bit surprising because the documentation of d-m-c includes an example of this that doesn't work on most implementations 2020-04-03T19:53:14Z fiddlerwoaroof: clhs define-method-combination 2020-04-03T19:53:14Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defi_4.htm 2020-04-03T19:53:35Z Bike: well, nobody uses a lot of define-method-combination anyway 2020-04-03T19:53:42Z fiddlerwoaroof: Yeah 2020-04-03T19:54:04Z Bike: ecl doesn't support :arguments, w hich seems a bit more basic to me 2020-04-03T19:54:09Z phoe: I wish I could actually use it 2020-04-03T19:54:22Z phoe: I mean, hacks like these make it more useful for me 2020-04-03T19:54:26Z fiddlerwoaroof: Me too, I would have used this 2020-04-03T19:54:51Z fiddlerwoaroof: And I considered patching my sbcl every time I upgraded to make this work 2020-04-03T19:55:15Z seisatsu quit (Ping timeout: 272 seconds) 2020-04-03T19:56:22Z Jesin quit (Quit: Leaving) 2020-04-03T20:02:00Z phoe: this is one thing that I miss from base CL - ability to define groups of equal functions that are then grouped and combined in some way 2020-04-03T20:02:28Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-03T20:02:39Z phoe: and define-method-combination as I hacked it there is the cleanest way I've found to perform it so far without pulling external libraries 2020-04-03T20:03:07Z seisatsu joined #lisp 2020-04-03T20:04:29Z Jesin joined #lisp 2020-04-03T20:11:21Z sonologico___ joined #lisp 2020-04-03T20:14:17Z sonologico quit (Ping timeout: 265 seconds) 2020-04-03T20:14:19Z msk quit (Ping timeout: 260 seconds) 2020-04-03T20:14:28Z rippa joined #lisp 2020-04-03T20:14:51Z lxbarbosa joined #lisp 2020-04-03T20:15:47Z frgo joined #lisp 2020-04-03T20:15:57Z frgo_ quit (Read error: Connection reset by peer) 2020-04-03T20:16:59Z z147 joined #lisp 2020-04-03T20:23:16Z pioneer42 left #lisp 2020-04-03T20:25:39Z msk joined #lisp 2020-04-03T20:30:25Z msk_ joined #lisp 2020-04-03T20:30:25Z msk quit (Ping timeout: 250 seconds) 2020-04-03T20:33:19Z phoe: FIND-RESTART accepts an optional condition argument; is macro WITH-CONDITION-RESTARTS the only way of actually associating conditions with restarts? 2020-04-03T20:34:35Z ggole quit (Quit: Leaving) 2020-04-03T20:36:07Z phoe: wait a second 2020-04-03T20:36:18Z phoe: WITH-CONDITION-RESTARTS actually expects a condition *object* 2020-04-03T20:36:23Z phoe: not a condition type... 2020-04-03T20:36:24Z Bike: restart-case implicitly uses with-condition-restarts sometimes. 2020-04-03T20:36:37Z Bike: i think those are the only ways. 2020-04-03T20:36:58Z phoe: I misunderstand how this utility works then 2020-04-03T20:37:08Z phoe: we must already have a condition object to associate it with restarts 2020-04-03T20:37:15Z Bike: it only does so in the specific case of the form being a literal (error ...) or something, in which case it can take it apart into a make-condition, use the condition in with-condition-restarts, and then actually signal. 2020-04-03T20:38:01Z efm_ joined #lisp 2020-04-03T20:38:07Z phoe: wtf 2020-04-03T20:38:09Z Bike: e.g. see sb-impl::munge-restart-case-exprssion in sbcl. 2020-04-03T20:38:13Z Bike: yeah, it's kind of weird honestly. 2020-04-03T20:38:18Z efm quit (Ping timeout: 256 seconds) 2020-04-03T20:38:39Z Bike: but (restart-case (error ...) ...) is real common. 2020-04-03T20:38:56Z msk joined #lisp 2020-04-03T20:38:58Z frgo_ joined #lisp 2020-04-03T20:39:00Z xkapastel joined #lisp 2020-04-03T20:39:18Z frgo quit (Read error: No route to host) 2020-04-03T20:40:05Z Josh_2 quit (Remote host closed the connection) 2020-04-03T20:40:22Z Josh_2 joined #lisp 2020-04-03T20:40:55Z msk_ quit (Ping timeout: 260 seconds) 2020-04-03T20:42:09Z phoe: why is this in the standard and not an implementation detail 2020-04-03T20:42:24Z phoe: I mean, I'd need a use case for that 2020-04-03T20:42:33Z efm_ quit (Ping timeout: 250 seconds) 2020-04-03T20:42:34Z phoe: ;; that isn't implementing handler-case 2020-04-03T20:42:37Z Bike: so that the programmer can have the expectation that the condition is actually associated. 2020-04-03T20:42:39Z phoe: s/handler/restart/ 2020-04-03T20:42:46Z Bike: a use case for with-condition-restarts? 2020-04-03T20:42:50Z cosimone joined #lisp 2020-04-03T20:42:52Z sonologico__ joined #lisp 2020-04-03T20:42:55Z phoe: yes, for that one 2020-04-03T20:43:16Z phoe: something that isn't SB-KERNEL::-type of implementation internal 2020-04-03T20:44:38Z Bike: i think they only added it so that it's not an utterly magical property of restart-case. The issue in which association was added is here http://www.lispworks.com/documentation/HyperSpec/Issues/iss075_w.htm 2020-04-03T20:45:37Z flip214: I've got a function with RESTART-CASE. If I run that from the repl, I can choose the restarts; if the function is called from another from within a HANDLER-CASE, (COMPUTE-RESTARTS) doesn't show my restarts as available. 2020-04-03T20:45:48Z narimiran quit (Quit: leaving) 2020-04-03T20:46:06Z Bike: show code? 2020-04-03T20:46:10Z Josh_2` joined #lisp 2020-04-03T20:46:52Z Shinmera: does handler-case handle the condition? 2020-04-03T20:46:52Z Josh_2 quit (Read error: Connection reset by peer) 2020-04-03T20:48:03Z flip214: https://paste.debian.net/hidden/668f6557/ 2020-04-03T20:48:06Z flip214: Shinmera: yes. 2020-04-03T20:48:22Z Shinmera: well handler-case unwinds the stack, so 2020-04-03T20:48:39Z Bike: yeah, you'll need to use restart-bind. 2020-04-03T20:48:50Z flip214: ouch, that again 2020-04-03T20:49:01Z flip214: restart-bind or handler-bind? 2020-04-03T20:49:17Z Bike: handler-bind, sorry. 2020-04-03T20:50:21Z Shinmera: This is why I get a bit miffed when people talk about restarts as if that part was the best thing about CL's error handling. It's not. Handler-bind is the magic part. You could simulate restarts easily with exceptions if you had handler-bind. 2020-04-03T20:50:59Z flip214: thanks, that was it again 2020-04-03T20:54:50Z terpri_ joined #lisp 2020-04-03T20:55:47Z phoe: so this is an edge case where we have multiple conditions being signaled and/or nested debugger sessions 2020-04-03T20:56:04Z phoe: so we can figure out which restarts are available for which condition object 2020-04-03T20:57:17Z terpri quit (Ping timeout: 252 seconds) 2020-04-03T20:57:24Z lemoinem is now known as Guest13309 2020-04-03T20:57:24Z Guest13309 quit (Killed (moon.freenode.net (Nickname regained by services))) 2020-04-03T20:57:25Z lemoinem joined #lisp 2020-04-03T20:57:52Z sonologico___ quit (Remote host closed the connection) 2020-04-03T20:58:34Z sonologico___ joined #lisp 2020-04-03T21:01:52Z sonologico___ quit (Remote host closed the connection) 2020-04-03T21:02:22Z sonologico___ joined #lisp 2020-04-03T21:03:30Z asarch quit (Quit: Leaving) 2020-04-03T21:03:51Z Bike: yeah. really i suppose i'd only mention it in your tutorial alongside the debugger 2020-04-03T21:03:53Z gxt quit (Remote host closed the connection) 2020-04-03T21:04:35Z gxt joined #lisp 2020-04-03T21:04:45Z sonologico__ quit (Remote host closed the connection) 2020-04-03T21:05:56Z phoe: wait a second 2020-04-03T21:06:16Z phoe: the list of restarts inside the debugger - does the spec say how it is computed? 2020-04-03T21:06:27Z phoe: (compute-restarts), or (compute-restarts condition)? 2020-04-03T21:06:29Z Bike: i don't believe the spec even mandates that a debugger exists 2020-04-03T21:06:32Z Bike: clhs invoke-debugger 2020-04-03T21:06:32Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_invoke.htm 2020-04-03T21:06:54Z phoe: no info there that I see 2020-04-03T21:07:02Z Bike: yeah, it's vague. probably deliberately. 2020-04-03T21:07:41Z Bike: nonetheless, if there's an actual debugger and it didn't pass the condition to compute-restarts, it would be kind of dumb for no reason 2020-04-03T21:10:10Z amerlyq quit (Quit: amerlyq) 2020-04-03T21:10:16Z phoe: the spec speaks about associating conditions with restarts only to be quiet about whether the debugger actually utilizes that functionality 2020-04-03T21:10:22Z phoe: huh 2020-04-03T21:10:56Z Bike: i don't think it would be good to specify the debugger 2020-04-03T21:11:08Z Bike: i mean, i think a disabled debugger mode like sbcl has is fine, and then no restarts are computed at all 2020-04-03T21:11:17Z sonologico__ joined #lisp 2020-04-03T21:11:35Z phoe: yes 2020-04-03T21:11:43Z Bike: and the display is ultimately just a UI... i mean, the debugger generally lets you execute arbitrary code, so if you really want you can (compute-restarts) yourself and invoke something. 2020-04-03T21:12:15Z phoe: can I get a REPL inside sldb? or am I stuck to slime-eval-in-frame? 2020-04-03T21:12:25Z phoe: that's a sorta-related question 2020-04-03T21:12:46Z Bike: you could execute a repl in-frame, i guess :p 2020-04-03T21:12:56Z Bike: but no, i don't know of any way to do that 2020-04-03T21:13:01Z Bike: i mean, other than that. 2020-04-03T21:13:18Z fiddlerwoaroof: Launch a clim listener in frame :) 2020-04-03T21:13:22Z sonologico__ quit (Remote host closed the connection) 2020-04-03T21:13:43Z fiddlerwoaroof: This might be a useful thing to add to slime-mrepl 2020-04-03T21:13:57Z sonologico__ joined #lisp 2020-04-03T21:14:12Z jprajzne quit (Quit: jprajzne) 2020-04-03T21:14:13Z sonologico___ quit (Ping timeout: 265 seconds) 2020-04-03T21:14:50Z jprajzne joined #lisp 2020-04-03T21:15:04Z phoe: fiddlerwoaroof: tempting 2020-04-03T21:15:08Z phoe: very tempting 2020-04-03T21:16:23Z gxt quit (Remote host closed the connection) 2020-04-03T21:17:58Z gxt joined #lisp 2020-04-03T21:18:43Z jprajzne quit (Client Quit) 2020-04-03T21:20:15Z jprajzne joined #lisp 2020-04-03T21:21:48Z gxt quit (Remote host closed the connection) 2020-04-03T21:21:51Z phoe: so, if I understand correctly 2020-04-03T21:22:15Z phoe: the only reason why COMPUTE-RESTARTS, FIND-RESTART et al actually accept a condition object 2020-04-03T21:22:27Z gxt joined #lisp 2020-04-03T21:22:49Z markong joined #lisp 2020-04-03T21:22:54Z markoong quit (Ping timeout: 240 seconds) 2020-04-03T21:22:55Z phoe: is to filter out some other possible restarts that were created for other condition objects that might have been signaled in the same dynamic scope 2020-04-03T21:22:58Z phoe: is that correct? 2020-04-03T21:26:37Z phoe: because AFAIU, unless we have multiple signals in dynamic scope, this is not a issue that we will run into 2020-04-03T21:27:17Z Lord_of_Life_ joined #lisp 2020-04-03T21:27:26Z phoe: we need a condition to be signaled, we need a bound handler to bind a new restart and associate that restart with the signaled condition object 2020-04-03T21:27:31Z phoe: and then all of this, again, for a different condition 2020-04-03T21:27:54Z phoe: I'll go to hell if I put stuff like that in a condition/restart tutorial 2020-04-03T21:29:34Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-03T21:30:07Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-03T21:30:39Z gxt quit (Remote host closed the connection) 2020-04-03T21:31:32Z gxt joined #lisp 2020-04-03T21:31:32Z Shinmera: Is this the time to ask for volunteers to implement eval-in-frame in Dissect 2020-04-03T21:32:52Z sonologico__ quit (Remote host closed the connection) 2020-04-03T21:32:57Z gxt quit (Remote host closed the connection) 2020-04-03T21:33:36Z gxt joined #lisp 2020-04-03T21:33:48Z sonologico__ joined #lisp 2020-04-03T21:37:18Z gxt quit (Remote host closed the connection) 2020-04-03T21:37:22Z sonologico__ quit (Remote host closed the connection) 2020-04-03T21:38:02Z gxt joined #lisp 2020-04-03T21:38:26Z tiwEllien quit (Quit: tiwEllien) 2020-04-03T21:41:41Z markoong joined #lisp 2020-04-03T21:42:30Z phoe: well then, for now I'll just go ahead and treat these functions as if they didn't accept a condition argument 2020-04-03T21:42:41Z phoe: and possibly complicate stuff at the end 2020-04-03T21:45:47Z markong quit (Ping timeout: 260 seconds) 2020-04-03T21:46:54Z twelvemonkeys quit (Ping timeout: 240 seconds) 2020-04-03T21:48:23Z twelvemonkeys joined #lisp 2020-04-03T21:49:16Z phoe: why does this code fail on me? (restart-case (invoke-restart-interactively 'foo) (foo (x) (* x x))) 2020-04-03T21:49:36Z phoe: AFAIU it should be equivalent to (restart-case (invoke-restart 'foo 42) (foo (x) (* x x))) except I interactively give it the arguments 2020-04-03T21:49:47Z efm joined #lisp 2020-04-03T21:49:57Z Shinmera: there's no :interactive clause for the restart. 2020-04-03T21:50:03Z phoe: oh right 2020-04-03T21:50:38Z phoe: I need to explicitly specify it myself 2020-04-03T21:52:52Z krid quit (Ping timeout: 258 seconds) 2020-04-03T21:53:56Z ukari joined #lisp 2020-04-03T21:56:30Z pjb: phoe: what word don't you understand in: Too few arguments in call to #: 0 arguments provided, at least 1 required. 2020-04-03T21:57:02Z Kundry_W_ joined #lisp 2020-04-03T21:58:36Z phoe: pjb: there are tons of anonymous functions. Without context which actual function was invoked, this error message is as useful as a lone "The value NIL is not of type NUMBER". 2020-04-03T21:59:15Z phoe: I understand the error message perfectly, I didn't know where exactly it was signaled from. 2020-04-03T21:59:50Z pjb: phoe: yep, more care should be given in identifying the source of errors… 2020-04-03T22:00:28Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-03T22:03:21Z phoe: pjb: note that in (restart-case (invoke-restart-interactively 'foo) (foo (x) (* x x))), I *nowhere* provide zero args to an one-arg anonymous function. If I explicitly passed a lambda somewhere, or an empty arglist, I would figure out that something is wrong with it, but in this case, that argument passing is implicit. I had to re-read the spec to find that an empty list is passed in that case. 2020-04-03T22:04:31Z krid joined #lisp 2020-04-03T22:04:50Z sjl_ quit (Ping timeout: 256 seconds) 2020-04-03T22:06:56Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-03T22:09:11Z jprajzne quit (Quit: jprajzne) 2020-04-03T22:09:44Z jprajzne joined #lisp 2020-04-03T22:10:07Z markong joined #lisp 2020-04-03T22:11:16Z strongsaxophone joined #lisp 2020-04-03T22:11:20Z strongsaxophone: How could I read lisp docs ( like defintion of a function in terminal ( something like pydoc for python or man .3 for c ) 2020-04-03T22:11:38Z enigma joined #lisp 2020-04-03T22:11:42Z no-defun-allowed: (documentation 'function-name 'function) 2020-04-03T22:11:59Z aeth: also describe 2020-04-03T22:12:36Z no-defun-allowed: (documentation 'princ 'function) ; ⇒ "Output an aesthetic but not necessarily READable printed representation of OBJECT on the specified STREAM." on SBCL 2020-04-03T22:13:23Z enigma quit (Client Quit) 2020-04-03T22:13:38Z pjb: phoe: indeed. The problem is implicit from te definition of the restart foo… 2020-04-03T22:13:43Z jprajzne quit (Client Quit) 2020-04-03T22:13:58Z markoong quit (Ping timeout: 265 seconds) 2020-04-03T22:14:07Z jprajzne joined #lisp 2020-04-03T22:15:02Z krid quit (Ping timeout: 256 seconds) 2020-04-03T22:15:34Z amerlyq joined #lisp 2020-04-03T22:16:42Z markoong joined #lisp 2020-04-03T22:16:52Z markong quit (Ping timeout: 265 seconds) 2020-04-03T22:17:35Z strongsaxophone: no-defun-allowed: the output of (documentation 'princ 'function) is nil for me , also I tried it with defvar 2020-04-03T22:17:59Z phoe: strongsaxophone: which CL implementation are you on? 2020-04-03T22:18:08Z strongsaxophone: clisp in archlinux 2020-04-03T22:18:13Z strongsaxophone: I installed it with pacman 2020-04-03T22:19:00Z aeth: DESCRIBE seems to be more reliable for me 2020-04-03T22:19:12Z phoe: hah, clisp seems to contain no docstrings 2020-04-03T22:19:19Z aeth: I think CLISP might be the one that literally launches the Hyperspec in the web browser for DESCRIBE on CL symbols, though 2020-04-03T22:19:19Z strongsaxophone: more explicitly : http://clisp.cons.org/ 2020-04-03T22:19:24Z amerlyq quit (Client Quit) 2020-04-03T22:19:40Z phoe: aeth: yes, it just attempted to download the hyperspec on me when I called DESCRIBE 2020-04-03T22:20:47Z strongsaxophone: phoe: What CL implementation are you use ? 2020-04-03T22:20:57Z aeth: This channel is mostly SBCL and CCL. 2020-04-03T22:21:05Z phoe: SBCL here; I strongly suggest it 2020-04-03T22:21:17Z aeth: It used to have a lot of CLISP users, but most left when it didn't have a new release in years (it's been over a decade now at this point afaik) 2020-04-03T22:21:29Z aeth: s/most left/most left CLISP/ 2020-04-03T22:21:43Z aeth: Technically, CLISP is alive on life support... active enough for new commits, but not active enough for a new official release. 2020-04-03T22:22:29Z aeth: If you insist on using CLISP, building it yourself to get the latest version is probably the recommended way to do it... but for most purposes, just using SBCL or CCL will be better. 2020-04-03T22:24:19Z keja_ quit (Ping timeout: 268 seconds) 2020-04-03T22:25:24Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-03T22:25:54Z strongsaxophone: I'm agree to use sbcl which now I find that in pacman DB :) 2020-04-03T22:25:57Z aeth: While CL has a culture of writing portable code, portability libraries don't support every implementation, so the more libraries something uses, the more likely it is to not work on an obscure CL. I use a bunch of libraries that don't support CLISP and I don't really notice anymore because I've stopped testing on CLISP. 2020-04-03T22:27:11Z aeth: ECL has mostly replaced CLISP's niche of having an ultra-portable C-based interpreter that should run anywhere that GCC runs. I don't think implementations that use CLISP to bootstrap in the build-from-scratch process have ported that effort to ECL yet, though. 2020-04-03T22:27:19Z phoe: hmmm - I was wrong 2020-04-03T22:27:37Z phoe: RESTART-BIND's :TEST-FUNCTION argument accepts a condition and can run arbitrary code 2020-04-03T22:27:59Z phoe: I can play with that a lil bit 2020-04-03T22:28:04Z jackdaniel: sbcl recently landed support for bootstrapping from ecl (that led to ecl fixing some issues) 2020-04-03T22:28:14Z aeth: I retract my statement on bootstrapping then. 2020-04-03T22:28:31Z phoe: jackdaniel: good to know! 2020-04-03T22:28:45Z jackdaniel: that said clisp has some portability advantage which ecl doesn't have for now: boehm gc does not build on all platforms 2020-04-03T22:29:07Z jackdaniel: but there are plans to bring back an in-house gc (although not sure when) 2020-04-03T22:29:19Z aeth: ah 2020-04-03T22:29:31Z aeth: Here's hoping that such efforts happen. 2020-04-03T22:29:34Z jackdaniel: example of such platforms: minix3 and wasm userland 2020-04-03T22:30:13Z jackdaniel: but you know how it is -- plans are easy ,) 2020-04-03T22:30:24Z jackdaniel: that said, time to sleep, good night \o 2020-04-03T22:31:28Z aeth: heh minix3 2020-04-03T22:31:34Z aeth: someone planning on running CL in IME? 2020-04-03T22:31:54Z phoe: IME? 2020-04-03T22:32:06Z aeth: Intel Management Engine. https://en.wikipedia.org/wiki/Intel_Management_Engine 2020-04-03T22:32:16Z aeth: Basically, your Intel computers all have Minix installed. 2020-04-03T22:32:22Z fiddlerwoaroof: I had an amazing time trying to build sbcl on SPARC 2020-04-03T22:32:26Z aeth: On ring -3 2020-04-03T22:33:13Z fiddlerwoaroof: I couldn't get any binaries that worked on my SPARC machine and/or were new enough to bootstrap modern sbcl, so I spent a couple days getting a different implementation to work so I could bootstrap sbcl 2020-04-03T22:33:32Z fiddlerwoaroof: Only to realize that SBCL didn't support threads on SPARC/Solaris 2020-04-03T22:48:24Z xlei quit (Ping timeout: 256 seconds) 2020-04-03T22:50:09Z xlei joined #lisp 2020-04-03T22:51:40Z stepnem quit (Ping timeout: 265 seconds) 2020-04-03T22:52:21Z stepnem joined #lisp 2020-04-03T22:52:42Z Oladon joined #lisp 2020-04-03T22:54:52Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-03T23:04:52Z cosimone quit (Ping timeout: 260 seconds) 2020-04-03T23:06:59Z sonologico joined #lisp 2020-04-03T23:08:37Z iAmDecim joined #lisp 2020-04-03T23:08:52Z dddddd quit (Ping timeout: 256 seconds) 2020-04-03T23:09:44Z z147 quit (Quit: z147) 2020-04-03T23:11:43Z sonologico__ joined #lisp 2020-04-03T23:12:43Z akoana joined #lisp 2020-04-03T23:14:45Z sonologico quit (Ping timeout: 272 seconds) 2020-04-03T23:21:20Z EvW1 quit (Ping timeout: 265 seconds) 2020-04-03T23:22:25Z msk quit (Ping timeout: 264 seconds) 2020-04-03T23:27:13Z random-nick quit (Quit: quit) 2020-04-03T23:29:15Z sonologico__ quit (Remote host closed the connection) 2020-04-03T23:30:40Z strongsaxophone quit (Quit: leaving) 2020-04-03T23:31:00Z sonologico joined #lisp 2020-04-03T23:31:45Z sonologico quit (Remote host closed the connection) 2020-04-03T23:32:32Z sonologico joined #lisp 2020-04-03T23:33:20Z sonologico quit (Remote host closed the connection) 2020-04-03T23:36:06Z markovojvodic84 joined #lisp 2020-04-03T23:37:07Z t58 quit (Quit: Night) 2020-04-03T23:37:11Z notzmv quit (Ping timeout: 250 seconds) 2020-04-03T23:37:43Z notzmv joined #lisp 2020-04-03T23:41:02Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-03T23:45:57Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-03T23:46:29Z jcowan: invoke-debugger might call (posix:exit 1) or (tagbody freeze (go freeze)) or (arduino:assert-pin 13) 2020-04-03T23:46:41Z jcowan: it's the Facade Pattern 2020-04-03T23:48:30Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-04-03T23:59:22Z sjl quit (Quit: WeeChat 2.2-dev) 2020-04-04T00:06:56Z Oladon quit (Quit: Leaving.) 2020-04-04T00:07:04Z nicktick joined #lisp 2020-04-04T00:13:00Z carado joined #lisp 2020-04-04T00:15:17Z carado quit (Client Quit) 2020-04-04T00:16:55Z Kundry_W_ quit (Ping timeout: 265 seconds) 2020-04-04T00:21:54Z markoong quit (Ping timeout: 256 seconds) 2020-04-04T00:28:03Z Kundry_Wag joined #lisp 2020-04-04T00:29:11Z jprajzne quit (Quit: jprajzne) 2020-04-04T00:32:52Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-04T00:44:06Z jprajzne joined #lisp 2020-04-04T00:52:54Z parisienne_ quit (Read error: Connection reset by peer) 2020-04-04T00:53:32Z parisienne_ joined #lisp 2020-04-04T00:54:49Z johs quit (Ping timeout: 272 seconds) 2020-04-04T00:57:55Z johs joined #lisp 2020-04-04T01:01:09Z Kundry_Wag joined #lisp 2020-04-04T01:03:41Z jsatk quit (Ping timeout: 272 seconds) 2020-04-04T01:05:19Z sjl joined #lisp 2020-04-04T01:05:37Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-04T01:06:06Z jsatk joined #lisp 2020-04-04T01:08:07Z travv0 quit (Ping timeout: 272 seconds) 2020-04-04T01:11:16Z travv0 joined #lisp 2020-04-04T01:11:49Z Oladon joined #lisp 2020-04-04T01:14:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T01:19:08Z jprajzne joined #lisp 2020-04-04T01:28:55Z ebzzry joined #lisp 2020-04-04T01:34:09Z Kundry_Wag joined #lisp 2020-04-04T01:36:14Z bitmapper quit (Ping timeout: 240 seconds) 2020-04-04T01:36:29Z lemoinem quit (Killed (livingstone.freenode.net (Nickname regained by services))) 2020-04-04T01:36:30Z lemoinem joined #lisp 2020-04-04T01:37:17Z markasoftware: jcowan: out of curiosity, what package would arduino:assert-pin come from? I have never heard of an arduino lisp library 2020-04-04T01:37:47Z no-defun-allowed: Likely a made up one. 2020-04-04T01:37:58Z Jeanne-Kamikaze joined #lisp 2020-04-04T01:38:06Z jcowan: Sure. But there is Microscheme, which does run on the Arduino. 2020-04-04T01:38:38Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-04T01:38:51Z markasoftware: oh ok 2020-04-04T01:39:04Z markasoftware: i ask because i have actually been thinking about making such a thing for the past few weeks 2020-04-04T01:39:12Z markasoftware: i want to make an arduino testing framework in lisp :) 2020-04-04T01:39:20Z markasoftware: that integrates with an avr emulator 2020-04-04T01:39:40Z no-defun-allowed: Or maybe one could use cl-gpio on a Raspberry Pi: https://github.com/Shinmera/cl-gpio 2020-04-04T01:40:38Z no-defun-allowed: I think the GPIO library allows one to use Arduino-like pin numberings. 2020-04-04T01:50:07Z Kundry_Wag joined #lisp 2020-04-04T01:51:20Z space_otter joined #lisp 2020-04-04T01:54:37Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-04T01:58:11Z gko joined #lisp 2020-04-04T02:03:40Z White_Flame: what libs or implementation support both read & write "select" style IO? 2020-04-04T02:18:31Z adam4567 joined #lisp 2020-04-04T02:27:09Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-04T02:29:04Z arduo quit (Ping timeout: 256 seconds) 2020-04-04T02:31:10Z markovojvodic84 quit (Ping timeout: 256 seconds) 2020-04-04T02:39:15Z markasoftware: what does that mean? 2020-04-04T02:44:33Z mono joined #lisp 2020-04-04T02:47:37Z monokrom quit (Ping timeout: 264 seconds) 2020-04-04T02:49:20Z Kundry_Wag joined #lisp 2020-04-04T03:03:47Z libertyprime joined #lisp 2020-04-04T03:11:43Z beach: Good morning everyone! 2020-04-04T03:36:07Z Involuntary joined #lisp 2020-04-04T03:38:38Z GuerrillaMonkey joined #lisp 2020-04-04T03:38:46Z Jeanne-Kamikaze quit (Ping timeout: 256 seconds) 2020-04-04T03:41:57Z Involuntary quit (Ping timeout: 260 seconds) 2020-04-04T03:43:07Z Involuntary joined #lisp 2020-04-04T03:45:55Z GuerrillaMonkey quit (Ping timeout: 250 seconds) 2020-04-04T03:49:11Z jprajzne quit (Quit: jprajzne) 2020-04-04T03:49:33Z SGASAU` quit (Quit: reboot) 2020-04-04T03:51:07Z GuerrillaMonkey joined #lisp 2020-04-04T03:52:36Z GuerrillaMonkey quit (Read error: Connection reset by peer) 2020-04-04T03:54:04Z Involuntary quit (Ping timeout: 256 seconds) 2020-04-04T03:54:27Z iAmDecim joined #lisp 2020-04-04T04:07:02Z Kundry_Wag quit (Remote host closed the connection) 2020-04-04T04:08:04Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-04T04:09:31Z Jeanne-Kamikaze joined #lisp 2020-04-04T04:13:49Z pilne quit (Quit: Relax, its only ONES and ZEROS!) 2020-04-04T04:14:18Z jprajzne joined #lisp 2020-04-04T04:14:44Z Kundry_Wag joined #lisp 2020-04-04T04:19:08Z jprajzne quit (Quit: jprajzne) 2020-04-04T04:19:33Z jprajzne joined #lisp 2020-04-04T04:19:51Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-04T04:20:31Z Bike quit (Quit: Lost terminal) 2020-04-04T04:23:09Z iAmDecim joined #lisp 2020-04-04T04:25:13Z ebzzry quit (Read error: Connection reset by peer) 2020-04-04T04:30:33Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-04T04:35:03Z Oladon quit (Quit: Leaving.) 2020-04-04T04:38:36Z Involuntary joined #lisp 2020-04-04T04:38:42Z jprajzne quit (Quit: jprajzne) 2020-04-04T04:39:07Z jprajzne joined #lisp 2020-04-04T04:41:35Z Jeanne-Kamikaze quit (Ping timeout: 260 seconds) 2020-04-04T04:43:25Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-04-04T04:45:00Z Involuntary quit (Quit: Leaving) 2020-04-04T04:48:11Z ebzzry joined #lisp 2020-04-04T04:50:53Z iAmDecim joined #lisp 2020-04-04T04:55:29Z ozzloy joined #lisp 2020-04-04T04:55:29Z ozzloy quit (Changing host) 2020-04-04T04:55:29Z ozzloy joined #lisp 2020-04-04T04:55:55Z pluplog joined #lisp 2020-04-04T04:58:13Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-04T04:59:08Z jprajzne quit (Quit: jprajzne) 2020-04-04T04:59:30Z jprajzne joined #lisp 2020-04-04T05:03:43Z jprajzne quit (Client Quit) 2020-04-04T05:04:06Z jprajzne joined #lisp 2020-04-04T05:04:44Z pluplog quit (Remote host closed the connection) 2020-04-04T05:05:32Z pluplog joined #lisp 2020-04-04T05:08:52Z iAmDecim joined #lisp 2020-04-04T05:10:14Z asarch joined #lisp 2020-04-04T05:11:43Z pluplog quit (Remote host closed the connection) 2020-04-04T05:12:47Z no-defun-allowed: Can clsql create columns that store binary data? 2020-04-04T05:15:10Z pluplog joined #lisp 2020-04-04T05:16:27Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-04T05:29:25Z gxt quit (Remote host closed the connection) 2020-04-04T05:30:04Z gxt joined #lisp 2020-04-04T05:34:50Z lxbarbosa quit (Remote host closed the connection) 2020-04-04T05:36:31Z libertyprime quit (Read error: No route to host) 2020-04-04T05:36:52Z no-defun-allowed: From some poking around, I think the answer is "no", and it doesn't seem like SQL has a portable "octet vector" type, anyway. 2020-04-04T05:39:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T05:39:50Z jprajzne joined #lisp 2020-04-04T05:39:55Z wxie joined #lisp 2020-04-04T05:40:09Z sauvin joined #lisp 2020-04-04T05:42:49Z libertyprime joined #lisp 2020-04-04T05:43:43Z jprajzne quit (Client Quit) 2020-04-04T05:44:07Z jprajzne joined #lisp 2020-04-04T05:45:58Z notzmv quit (Remote host closed the connection) 2020-04-04T05:54:27Z gravicappa joined #lisp 2020-04-04T05:59:45Z ebzzry quit (Remote host closed the connection) 2020-04-04T06:16:43Z libertyprime quit (Read error: No route to host) 2020-04-04T06:16:46Z asarch quit (Quit: Leaving) 2020-04-04T06:19:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T06:19:23Z jello_pudding quit (Ping timeout: 252 seconds) 2020-04-04T06:19:37Z Kundry_Wag joined #lisp 2020-04-04T06:20:02Z wxie quit (Ping timeout: 260 seconds) 2020-04-04T06:22:39Z wxie joined #lisp 2020-04-04T06:24:05Z shangul joined #lisp 2020-04-04T06:24:05Z jprajzne joined #lisp 2020-04-04T06:24:15Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-04T06:27:47Z ebzzry joined #lisp 2020-04-04T06:29:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T06:33:30Z vlatkoB joined #lisp 2020-04-04T06:34:06Z jprajzne joined #lisp 2020-04-04T06:38:04Z jello_pudding joined #lisp 2020-04-04T06:39:11Z jprajzne quit (Quit: jprajzne) 2020-04-04T06:39:45Z jprajzne joined #lisp 2020-04-04T06:41:02Z wxie quit (Ping timeout: 260 seconds) 2020-04-04T06:43:43Z jprajzne quit (Client Quit) 2020-04-04T06:44:07Z jprajzne joined #lisp 2020-04-04T06:47:14Z fe[nl]ix: no-defun-allowed: yes, most RDBMS have a BLOB type 2020-04-04T06:50:53Z niceplace joined #lisp 2020-04-04T06:51:37Z niceplaces quit (Ping timeout: 265 seconds) 2020-04-04T06:52:40Z heisig joined #lisp 2020-04-04T07:01:43Z bendersteed joined #lisp 2020-04-04T07:08:44Z msk joined #lisp 2020-04-04T07:11:34Z efm quit (Remote host closed the connection) 2020-04-04T07:11:40Z ebzzry quit (Read error: Connection reset by peer) 2020-04-04T07:11:58Z efm joined #lisp 2020-04-04T07:14:18Z narimiran joined #lisp 2020-04-04T07:14:18Z narimiran quit (Client Quit) 2020-04-04T07:14:37Z aeth quit (Ping timeout: 264 seconds) 2020-04-04T07:16:17Z aeth joined #lisp 2020-04-04T07:20:18Z akoana quit (Quit: leaving) 2020-04-04T07:21:22Z space_otter quit (Remote host closed the connection) 2020-04-04T07:25:40Z zaquest quit (Quit: Leaving) 2020-04-04T07:26:52Z zaquest joined #lisp 2020-04-04T07:28:12Z markoong joined #lisp 2020-04-04T07:30:28Z Bourne quit (Ping timeout: 265 seconds) 2020-04-04T07:35:18Z gxt quit (Remote host closed the connection) 2020-04-04T07:36:16Z gxt joined #lisp 2020-04-04T07:45:48Z markong joined #lisp 2020-04-04T07:47:37Z gxt quit (Remote host closed the connection) 2020-04-04T07:48:18Z gxt joined #lisp 2020-04-04T07:49:34Z markoong quit (Ping timeout: 240 seconds) 2020-04-04T07:50:20Z markoong joined #lisp 2020-04-04T07:51:15Z markong quit (Ping timeout: 265 seconds) 2020-04-04T07:51:32Z Bourne joined #lisp 2020-04-04T07:59:27Z orivej quit (Ping timeout: 260 seconds) 2020-04-04T08:10:52Z ArthurStrong joined #lisp 2020-04-04T08:15:22Z v_m_v joined #lisp 2020-04-04T08:17:22Z LdBeth: why in SBCL the macro has been executed twice if the form returned is a lambda 2020-04-04T08:17:59Z LdBeth: (defmacro foo () (pprint "foo") '(lambda () '(1 2 3))) 2020-04-04T08:18:10Z LdBeth sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/jOikQJWCosMXHgczRrimiYCt > 2020-04-04T08:19:39Z ggole joined #lisp 2020-04-04T08:20:56Z beach: You mean the macro has been *expanded* twice? 2020-04-04T08:21:45Z beach: As I recall, the implementation is free to expand macro forms any number of times. That is why macro expanders should be written in a functional-programming style. 2020-04-04T08:24:19Z LdBeth: I wonder what special treatments to macros that return lambda forms are made in SBCL 2020-04-04T08:25:25Z aeth: interesting observation 2020-04-04T08:25:46Z phoe: LdBeth: macros shouldn't have side effects for that reason 2020-04-04T08:26:00Z aeth: also, should but not must be functional... afaik, you can have an incrementing counter in a macro as long as the only thing that matters is that the number goes up, e.g. some sort of versioning of the generated code 2020-04-04T08:26:13Z phoe: 1) because an implementation is allowed to expand them any number of times 2020-04-04T08:26:20Z phoe: 2) because *the user* is allowed to expand them any number of times 2020-04-04T08:27:37Z phoe: it isn't about what a macro returns, it's about the fact that it's a macro 2020-04-04T08:30:41Z aeth: Actually, I'm not sure what else would be a safe side effect other than a counter. Maybe logging? 2020-04-04T08:31:01Z aeth: Or creating something if it doesn't yet exist. 2020-04-04T08:31:59Z phoe: idempotent stuff 2020-04-04T08:32:30Z phoe: increasing incf-only counters counts as that, since it ensures "creating stuff that doesn't yet exist" 2020-04-04T08:33:06Z phoe: I wouldn't say logging - why would you want macroexpand-time logging 2020-04-04T08:33:33Z phoe: that would be mostly compile-time logging, too, since in normal program usage most macros would be expanded during file compilation 2020-04-04T08:34:42Z no-defun-allowed uploaded an image: side-effects.jpg (106KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/iCMJupZFLMkNOfARpdQDQoAq > 2020-04-04T08:35:02Z no-defun-allowed: I was going to say "side effects that do the same thing every time", but I guess idempotent is just that. 2020-04-04T08:35:32Z LdBeth: So seems SBCL "backtracks" to compile the form if the repl finds that the returned expression is a lambda 2020-04-04T08:36:12Z aeth: phoe: well, you have to be careful with just saying "counters" because you can't assume that e.g. 5 items exist with that counter since you can macroexpand/macroexpand-1, it can be macroexpanded multiple times, you can recompile forms/files, etc. 2020-04-04T08:36:59Z aeth: so a lot of a counter's assumptions might be wrong 2020-04-04T08:37:04Z phoe: |3b|: you've been mentioned on reddit 2020-04-04T08:37:38Z no-defun-allowed: Yeah, I had to tell off a friend for performing side effects at macroexpansion time instead of in the expanded code. 2020-04-04T08:37:52Z no-defun-allowed: Also, do separate compilation and runtime environments affect this? 2020-04-04T08:37:56Z ebzzry joined #lisp 2020-04-04T08:38:07Z phoe: aeth: okay, maybe wrong: multiple macroexpansions must be increasing a singleton counter of sorts, for instance, *GENSYM-COUNTER*. 2020-04-04T08:38:45Z aeth: no-defun-allowed: yeah interning is another thing that works, or in general creating any object if it doesn't yet exist 2020-04-04T08:38:50Z phoe: Still, even #:G0 and #:G0 are distinct objects, so it isn't a hard requirement; macrowriters must just be sure to make them idempotent, whatever it means in a given context. 2020-04-04T08:39:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T08:39:15Z aeth: you absolutely can create things in macros, e.g. make-load-form is a thing 2020-04-04T08:39:19Z aeth: just with care 2020-04-04T08:39:46Z no-defun-allowed: In the end, the macro just has to do the "same thing" no matter how many times it's expanded. 2020-04-04T08:42:32Z LdBeth: I think this curious effect only occurs in repl 2020-04-04T08:42:36Z phoe: aeth: obviously; you just need to ensure that creating multiple things of that thing that you create doesn't negatively affect anything 2020-04-04T08:44:17Z jprajzne joined #lisp 2020-04-04T08:44:39Z |3b|: phoe: too lazy to go look up reddit login to answer there, but a missing solutions are "send a pull request" and "remind the maintainer to maintain it (and/or help do so)" 2020-04-04T08:45:12Z phoe: okay 2020-04-04T08:45:33Z |3b| does seem to need to take a look at the bugs/PRs there though, added to my todo list (not that being on the list makes it likely to happen particularly soon) 2020-04-04T08:52:47Z aeth: phoe: right, either creating multiple is harmless, or ensuring you only create it once 2020-04-04T09:02:47Z kopiyka quit (Remote host closed the connection) 2020-04-04T09:04:16Z beach: I finished incorporating the referee remarks into my article on method combinations. If someone feels like proofreading the fresh version, there is still room for more names in the "Acknowledgments" section. Specifically, I added a figure that has not been checked, and I added examples of the scenarios at the end of section 1. http://metamodular.com/SICL/representing-method-combinations.pdf in case someone wants to have a look. 2020-04-04T09:06:49Z v_m_v quit (Ping timeout: 264 seconds) 2020-04-04T09:09:16Z Cymew joined #lisp 2020-04-04T09:10:10Z iAmDecim joined #lisp 2020-04-04T09:12:24Z wxie joined #lisp 2020-04-04T09:12:57Z beach: phoe: I haven't forgotten about you. It is just that we have a deadline for incorporating referee remarks, so I must make sure I meet that deadline. 2020-04-04T09:17:30Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-04T09:21:51Z random-nick joined #lisp 2020-04-04T09:28:27Z Lord_of_Life_ joined #lisp 2020-04-04T09:28:29Z ebzzry quit (Read error: Connection reset by peer) 2020-04-04T09:29:56Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-04T09:29:56Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-04T09:33:01Z ebzzry joined #lisp 2020-04-04T09:40:17Z PuercoPope quit (Remote host closed the connection) 2020-04-04T09:44:24Z ebzzry quit (Read error: Connection reset by peer) 2020-04-04T09:48:56Z wxie quit (Remote host closed the connection) 2020-04-04T09:49:10Z wxie joined #lisp 2020-04-04T09:50:18Z pluplog quit (Remote host closed the connection) 2020-04-04T09:50:44Z dale quit (Quit: My computer has gone to sleep) 2020-04-04T09:59:40Z Duuqnd joined #lisp 2020-04-04T10:00:48Z agspathis joined #lisp 2020-04-04T10:02:02Z drot joined #lisp 2020-04-04T10:02:52Z wxie quit (Ping timeout: 260 seconds) 2020-04-04T10:05:39Z ebzzry joined #lisp 2020-04-04T10:06:14Z wxie joined #lisp 2020-04-04T10:11:26Z wxie1 joined #lisp 2020-04-04T10:13:05Z wxie quit (Ping timeout: 258 seconds) 2020-04-04T10:13:22Z t58 joined #lisp 2020-04-04T10:16:43Z iAmDecim joined #lisp 2020-04-04T10:16:52Z wxie1 quit (Ping timeout: 260 seconds) 2020-04-04T10:18:37Z frgo joined #lisp 2020-04-04T10:19:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T10:19:27Z frgo_ quit (Read error: Connection reset by peer) 2020-04-04T10:19:36Z Cymew quit (Ping timeout: 258 seconds) 2020-04-04T10:19:50Z jprajzne joined #lisp 2020-04-04T10:22:37Z frgo quit (Read error: Connection reset by peer) 2020-04-04T10:22:43Z frgo_ joined #lisp 2020-04-04T10:23:43Z jprajzne quit (Client Quit) 2020-04-04T10:24:09Z jprajzne joined #lisp 2020-04-04T10:28:30Z frgo joined #lisp 2020-04-04T10:28:45Z frgo_ quit (Read error: Connection reset by peer) 2020-04-04T10:29:11Z jprajzne quit (Quit: jprajzne) 2020-04-04T10:31:34Z jprajzne joined #lisp 2020-04-04T10:33:00Z luckless joined #lisp 2020-04-04T10:36:48Z davepdot_ quit (Remote host closed the connection) 2020-04-04T10:37:24Z phoe: beach: no problem. I'll focus on finishing my article, then, so you have a complete work to review. 2020-04-04T10:38:43Z jprajzne quit (Quit: jprajzne) 2020-04-04T10:39:09Z jprajzne joined #lisp 2020-04-04T10:39:28Z libertyprime joined #lisp 2020-04-04T10:43:11Z nicktick1 joined #lisp 2020-04-04T10:46:02Z nicktick quit (Ping timeout: 265 seconds) 2020-04-04T10:55:34Z Inline joined #lisp 2020-04-04T10:57:38Z heisig quit (Ping timeout: 265 seconds) 2020-04-04T11:04:09Z jprajzne quit (Quit: jprajzne) 2020-04-04T11:04:34Z jprajzne joined #lisp 2020-04-04T11:08:43Z jprajzne quit (Client Quit) 2020-04-04T11:09:09Z jprajzne joined #lisp 2020-04-04T11:09:59Z bjorkintosh joined #lisp 2020-04-04T11:10:07Z SGASAU joined #lisp 2020-04-04T11:14:47Z libertyprime quit (Read error: Connection reset by peer) 2020-04-04T11:19:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T11:19:33Z libertyprime joined #lisp 2020-04-04T11:21:07Z jprajzne joined #lisp 2020-04-04T11:23:43Z jprajzne quit (Client Quit) 2020-04-04T11:24:07Z jprajzne joined #lisp 2020-04-04T11:33:56Z ufaucernio joined #lisp 2020-04-04T11:36:05Z cosimone joined #lisp 2020-04-04T11:39:30Z karlosz quit (Quit: karlosz) 2020-04-04T11:42:21Z Bike joined #lisp 2020-04-04T11:44:11Z jprajzne quit (Quit: jprajzne) 2020-04-04T11:45:21Z xaotuk joined #lisp 2020-04-04T11:49:08Z jprajzne joined #lisp 2020-04-04T11:49:37Z terpri_ quit (Ping timeout: 260 seconds) 2020-04-04T11:54:53Z agspathis quit (Remote host closed the connection) 2020-04-04T11:59:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T11:59:32Z watkinsr joined #lisp 2020-04-04T11:59:40Z rippa joined #lisp 2020-04-04T12:00:01Z watkinsr: Hey all, does anybody know how I can say `package` a script that does (ql:quickload :something) (something:something) ?? 2020-04-04T12:00:42Z phoe: watkinsr: what do you mean by packaging it 2020-04-04T12:00:53Z phoe: do you want to deploy a binary that executes #'something:something? 2020-04-04T12:01:16Z heisig joined #lisp 2020-04-04T12:01:16Z watkinsr: phoe: yes 2020-04-04T12:01:20Z phoe: if yes, look up https://github.com/Shinmera/deploy 2020-04-04T12:01:25Z watkinsr: phoe: because otherwise I have to wait for quicklisp to load it every time? 2020-04-04T12:01:34Z watkinsr: phoe: would it be quicker? 2020-04-04T12:01:41Z nicktick1 quit (Read error: Connection timed out) 2020-04-04T12:01:44Z watkinsr: phoe: I looked at roswell but roswell doesn't seem to do it for some reason 2020-04-04T12:02:02Z xkapastel joined #lisp 2020-04-04T12:03:36Z phoe: watkinsr: I don't know about roswell, but deploying a binary that way will avoid quicklisp operating 2020-04-04T12:03:44Z nicktick joined #lisp 2020-04-04T12:03:50Z phoe: since all code will already be loaded in the dumped Lisp image 2020-04-04T12:03:58Z adam4567 quit (Remote host closed the connection) 2020-04-04T12:04:29Z watkinsr: phoe: that's what I wanted, nice! 2020-04-04T12:05:25Z phoe: <3 2020-04-04T12:05:53Z cosimone quit (Quit: Terminated!) 2020-04-04T12:06:27Z shifty joined #lisp 2020-04-04T12:08:55Z shifty quit (Client Quit) 2020-04-04T12:09:05Z jprajzne joined #lisp 2020-04-04T12:09:45Z watkinsr: phoe: Component "deploy" not found, required by NIL 2020-04-04T12:09:48Z watkinsr: [Condition of type ASDF/FIND-COMPONENT:MISSING-DEPENDENCY] 2020-04-04T12:10:01Z watkinsr: phoe: presumably I need to (ql:quickload :deploy) ? 2020-04-04T12:14:11Z jprajzne quit (Quit: jprajzne) 2020-04-04T12:14:40Z phoe: watkinsr: yes 2020-04-04T12:14:44Z phoe: you need to quickload it first 2020-04-04T12:14:52Z nicktick1 joined #lisp 2020-04-04T12:15:06Z phoe: once it's downloaded, ASDF will find it 2020-04-04T12:16:36Z watkinsr: phoe: nice, gonna test it all now :D 2020-04-04T12:17:52Z nicktick quit (Ping timeout: 265 seconds) 2020-04-04T12:17:58Z watkinsr quit (Quit: WeeChat 2.7.1) 2020-04-04T12:19:18Z jprajzne joined #lisp 2020-04-04T12:23:22Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-04T12:24:08Z jprajzne quit (Quit: jprajzne) 2020-04-04T12:24:27Z watkinsr joined #lisp 2020-04-04T12:24:30Z jprajzne joined #lisp 2020-04-04T12:24:37Z watkinsr: phoe: thanks, it worked :) 2020-04-04T12:25:10Z amerlyq joined #lisp 2020-04-04T12:26:46Z phoe: watkinsr: no problem 2020-04-04T12:31:08Z ebrasca joined #lisp 2020-04-04T12:34:09Z jprajzne quit (Quit: jprajzne) 2020-04-04T12:34:36Z jprajzne joined #lisp 2020-04-04T12:36:34Z watkinsr: Hey, I'm trying to do the same process over on OpenBSD and I'm getting odd number of &KEY arguments while loading :deploy (MAKE-PATHNAME :NAME "libz" :TYPE) 2020-04-04T12:36:58Z watkinsr: anyway I can see a more in-depth backtrace? 2020-04-04T12:37:50Z bitmapper joined #lisp 2020-04-04T12:40:04Z scymtym: watkinsr: could be caused here: https://github.com/Shinmera/deploy/blob/1871511358428c568cdd842552be3e9135a47aa5/toolkit.lisp#L38 2020-04-04T12:40:40Z Shinmera: My first BSD user, exciting. 2020-04-04T12:42:41Z watkinsr: Shinmera: haha 2020-04-04T12:43:34Z watkinsr: scymtym: looks like it, hmm 2020-04-04T12:44:18Z Shinmera: If shared objects are also named .so on bsd, it should probably be #+(and unix (not darwin)) 2020-04-04T12:44:40Z heisig quit (Quit: Leaving) 2020-04-04T12:45:04Z watkinsr: Shinmera: I wouldn't know if they were, how could I check? Where is it looking? 2020-04-04T12:45:07Z srji joined #lisp 2020-04-04T12:45:42Z phoe: that's more of a BSD question I think 2020-04-04T12:46:06Z phoe: what is the way in which the OS fetches dynamic libraries 2020-04-04T12:46:08Z Bike: should probably have an #-(or ...) (error ...) there for this kinda thing 2020-04-04T12:46:16Z phoe: ^ 2020-04-04T12:46:43Z Shinmera: That too. 2020-04-04T12:46:59Z Shinmera: I'm busy right now though, so 2020-04-04T12:47:16Z watkinsr: Shinmera: no worries, I'll see if I can fix it later 2020-04-04T12:49:10Z ebzzry quit (Read error: Connection reset by peer) 2020-04-04T12:53:36Z Josh_2` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-04T12:53:57Z Josh_2 joined #lisp 2020-04-04T12:56:35Z frgo quit 2020-04-04T12:57:26Z Codaraxis joined #lisp 2020-04-04T13:01:04Z Codaraxis__ quit (Ping timeout: 265 seconds) 2020-04-04T13:05:42Z eta: how do you get ~X in FORMAT to print with padding? 2020-04-04T13:06:34Z eta: I tried: (format nil "~(~{~2,0X~}~)" '(1 2 3)) 2020-04-04T13:06:34Z eta: ; Evaluation aborted on #. 2020-04-04T13:06:51Z Bike: try '0, i think 2020-04-04T13:07:21Z eta: Bike, works, thanks :) 2020-04-04T13:07:28Z eta: (now why's it like that...) 2020-04-04T13:07:51Z Bike: for format parameters a number is interpreted as an actual number, and you need the quote to indicate a character. 2020-04-04T13:08:09Z Bike: "Prefix parameters are notated as signed (sign is optional) decimal numbers, or as a single-quote followed by a character. For example, ~5,'0d can be used to print an integer in decimal radix in five columns with leading zeros, or ~5,'*d to get leading asterisks. " 2020-04-04T13:09:03Z epony quit (Quit: reconfigure) 2020-04-04T13:14:59Z notzmv joined #lisp 2020-04-04T13:17:30Z Kundry_Wag joined #lisp 2020-04-04T13:21:04Z KahMue joined #lisp 2020-04-04T13:22:16Z epony joined #lisp 2020-04-04T13:23:13Z KahMue quit (Quit: KahMue) 2020-04-04T13:29:41Z izh_ joined #lisp 2020-04-04T13:39:15Z frgo joined #lisp 2020-04-04T13:40:43Z watkinsr: Shinmera: I used this to achieve it inside openbsd: https://stackoverflow.com/questions/48282586/saving-sbcl-image-from-emacs-multiple-threads-error 2020-04-04T13:43:49Z phoe: watkinsr: yes, that's doable as well. deploy is just a portability library that abstracts away the implementation's means of dumping images. 2020-04-04T13:46:14Z watkinsr: phoe: gotcha, but somehow the way deploy looks for libz must be different or rather, this method doesn't use libz? 2020-04-04T13:47:22Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-04T13:47:36Z cosimone joined #lisp 2020-04-04T13:51:45Z Josh_2: phoe I didn't know asdf could portably dump images, that's very useful :) 2020-04-04T13:53:17Z EvW joined #lisp 2020-04-04T13:54:12Z jprajzne quit (Quit: jprajzne) 2020-04-04T13:57:43Z beach` joined #lisp 2020-04-04T13:59:08Z phoe: watkinsr: you didn't use SBCL core compression. 2020-04-04T13:59:42Z phoe: if you compress the resulting image, it will be smaller, but zlib will be required to execute it. 2020-04-04T14:02:03Z beach quit (Ping timeout: 272 seconds) 2020-04-04T14:05:17Z beach` is now known as beach 2020-04-04T14:06:54Z iAmDecim joined #lisp 2020-04-04T14:07:37Z cosimone quit (Quit: Terminated!) 2020-04-04T14:10:37Z cosimone joined #lisp 2020-04-04T14:14:39Z cosimone quit (Client Quit) 2020-04-04T14:20:43Z asarch joined #lisp 2020-04-04T14:21:03Z EvW quit (Ping timeout: 272 seconds) 2020-04-04T14:26:52Z wxie joined #lisp 2020-04-04T14:29:51Z libertyprime quit (Read error: Connection reset by peer) 2020-04-04T14:30:40Z cosimone joined #lisp 2020-04-04T14:31:15Z orivej joined #lisp 2020-04-04T14:33:20Z ebzzry joined #lisp 2020-04-04T14:39:45Z jprajzne joined #lisp 2020-04-04T14:44:35Z davepdotorg joined #lisp 2020-04-04T14:48:02Z izh_ quit (Quit: Leaving) 2020-04-04T14:48:43Z jprajzne quit (Quit: jprajzne) 2020-04-04T14:49:08Z jprajzne joined #lisp 2020-04-04T14:49:32Z davepdotorg quit (Ping timeout: 256 seconds) 2020-04-04T15:02:35Z esrse joined #lisp 2020-04-04T15:05:44Z jcowan: ISLisp nails down that macro expanders, while not required to be completely functional, cannot have any side effects that leak out of the macro. For example, if the macro creates a cons, it may do a rplaca/d on that cons, but it cannot do I/O, or change the plist of any symbol, or attempt to modify any code. (As usual, allocation is not considered a side effect.) 2020-04-04T15:07:09Z esrse quit (Read error: Connection reset by peer) 2020-04-04T15:07:16Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-04T15:10:51Z esrse joined #lisp 2020-04-04T15:11:27Z _death: when you say "cannot", do you mean "must not", or an actual mechanism 2020-04-04T15:13:09Z xuxuru joined #lisp 2020-04-04T15:13:19Z splittist realises for the nth time that data-driven is less error-prone than ... whatever the other thing is he keeps making mistakes with. 2020-04-04T15:14:09Z jprajzne quit (Quit: jprajzne) 2020-04-04T15:14:33Z jprajzne joined #lisp 2020-04-04T15:18:54Z jprajzne quit (Client Quit) 2020-04-04T15:19:17Z jprajzne joined #lisp 2020-04-04T15:22:12Z jcowan: splittist: Smart data and dumb code beats smart code and dumb data every time. 2020-04-04T15:22:34Z ym joined #lisp 2020-04-04T15:23:35Z jcowan: _death: I mean that the consequences are undefined 2020-04-04T15:24:12Z jcowan: the compiler need not even expose read (for example) to macro expanders. 2020-04-04T15:24:54Z jcowan: OTOH, macros are evaluated at compile time, but eval does not exist in the language, so the compiler needs an evaluator but the runtime does not. 2020-04-04T15:26:34Z jcowan: ISLisp is an attempt to make a Lisp that is as static as possible (not however statically _typed_). For example, classes cannot be changed at run time, nor can the class of an instance be altered. 2020-04-04T15:27:33Z ecraven quit (Ping timeout: 272 seconds) 2020-04-04T15:28:57Z niceplace quit (Ping timeout: 260 seconds) 2020-04-04T15:29:14Z beach: Do you happen to know the reason that they wanted to make something more static? 2020-04-04T15:30:19Z jcowan: Run-time efficiency, given that although JITs existed (since 1977) they were not widely understood or used. 2020-04-04T15:31:04Z beach: I see. So the basis for their design may no longer be valid, like the decision to have C++ use "manual" memory management. 2020-04-04T15:31:36Z jcowan: My CL/R specification is an attempt to do the same thing, but with a strict CL subset 2020-04-04T15:33:05Z jcowan: Its principles are: "No loading, evaluation, compilation, or macroexpansion. No reflection on symbol values. No computed type specifiers, class names, or slot names. Packages are immutable except for interning new symbols. Classes are immutable. The class of an instance is immutable." 2020-04-04T15:33:48Z iAmDecim joined #lisp 2020-04-04T15:34:11Z jprajzne quit (Quit: jprajzne) 2020-04-04T15:34:21Z beach: What is the main use case for such a restricted language? 2020-04-04T15:35:09Z beach: I mean, I can see that it would be fun to create it, of course. 2020-04-04T15:36:32Z ecraven joined #lisp 2020-04-04T15:37:18Z jcowan: That was definitely my motivation in inventing (or perhaps the word is discovering) CL-R. 2020-04-04T15:37:29Z beach: Got it. 2020-04-04T15:37:57Z jcowan: But I would assume it could be competitive with AOT-compiled garbage collected languages like Go, with much more richness and, well, being a Lisp. 2020-04-04T15:38:10Z jcowan: (devops in Common Lisp!) 2020-04-04T15:38:16Z beach: The first phrase suggests that, without the restriction, programs can't be efficiently compiled, and efficient code can't be generated. 2020-04-04T15:38:17Z wxie quit (Ping timeout: 260 seconds) 2020-04-04T15:38:33Z lalilulelo quit (Quit: Leaving) 2020-04-04T15:39:23Z beach: Do you have any hard evidence that this suggestion is true? 2020-04-04T15:39:25Z jcowan: They certainly can be, provided your compiler can recover information about de facto immutability from the code 2020-04-04T15:39:58Z ecraven quit (Client Quit) 2020-04-04T15:40:33Z jcowan: R6RS introduced a feature whereby all programs requiring either mutable conses or mutable strings had to be flagged up front so that a different compilation strategy and run-time library could be used if they were known not to exist. AFAIK no R6RS implementation took advantage of this. 2020-04-04T15:40:45Z beach: I consider us very lucky with Common Lisp because we always have the entire program at our disposal. It can be considered immutable until it is modified, and then, since we have the compiler at our disposal, we can compile stuff again with the new immutability assumption. 2020-04-04T15:41:18Z Bike: it seems like this kind of thing could be good for distributing complete programs to non-programmers and stuff like that, while still doing development in normal lisp 2020-04-04T15:41:27Z jcowan: Such was the original 1977 JIT for APL, a language widely believed to be uncompilable then and since. 2020-04-04T15:42:02Z Bike: as opposed to the usual image dump thing 2020-04-04T15:42:13Z jcowan: Well, I wouldn't recommend writing full CL and then using a linter to detect CL/R violations, because often they will require rethinks. 2020-04-04T15:42:57Z ecraven joined #lisp 2020-04-04T15:43:02Z Bike: sure. i mean, you write your program as a normal CL program, and then when it comes to deploy you gather everything up and look it over for reflection to remove 2020-04-04T15:43:18Z jcowan: Yes, that's what I would not recommend 2020-04-04T15:43:39Z jcowan: the reflection may be deep in the code somewhere, such that you have to change a lot of stuff to fix it. 2020-04-04T15:44:11Z Kundry_Wag joined #lisp 2020-04-04T15:44:43Z ebrasca: Do you know some tests to test some file system inplementation in cl? 2020-04-04T15:46:28Z phoe: ebrasca: ANSI-TEST has a test suite 2020-04-04T15:46:45Z phoe: if you're looking for tests that Mezzano should pass, you could use these 2020-04-04T15:47:25Z ecraven quit (Ping timeout: 250 seconds) 2020-04-04T15:50:28Z ebrasca: phoe: I like to test fat32 implementation. 2020-04-04T15:52:32Z ArthurStrong quit (Quit: leaving) 2020-04-04T15:53:19Z shifty joined #lisp 2020-04-04T15:54:17Z jprajzne joined #lisp 2020-04-04T15:57:50Z esrse quit (Remote host closed the connection) 2020-04-04T15:58:56Z efm quit (Ping timeout: 265 seconds) 2020-04-04T15:59:05Z efm joined #lisp 2020-04-04T16:00:30Z conjunctive joined #lisp 2020-04-04T16:03:37Z phoe: ebrasca: I don't know if anyone ever wrote any Lisp tests for that. 2020-04-04T16:08:12Z phoe: You could perhaps adapt a permissively-licensed test suite from a different language, such as https://github.com/sudheesh001/AT-FAT3216/blob/master/src/tests.c 2020-04-04T16:08:37Z phoe: You don't need to care about the implementation itself, you'd just need to translate the test suite to use Lisp and your fat32 implementation. 2020-04-04T16:18:14Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-04T16:20:29Z dddddd joined #lisp 2020-04-04T16:29:34Z EvW1 joined #lisp 2020-04-04T16:31:51Z mseddon joined #lisp 2020-04-04T16:32:38Z hhdave_ joined #lisp 2020-04-04T16:34:11Z hhdave quit (Ping timeout: 260 seconds) 2020-04-04T16:34:11Z hhdave_ is now known as hhdave 2020-04-04T16:34:14Z ebzzry quit (Read error: Connection reset by peer) 2020-04-04T16:37:12Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-04T16:37:45Z ebzzry joined #lisp 2020-04-04T16:37:46Z gko quit (Ping timeout: 256 seconds) 2020-04-04T16:43:41Z Kundry_Wag joined #lisp 2020-04-04T16:51:17Z ebzzry quit (Read error: Connection reset by peer) 2020-04-04T16:56:20Z phoe: Good news everyone! ASDF's package-inferred system and UIOP:DEFINE-PACKAGE now fully supports package-local nicknames. 2020-04-04T16:58:11Z z147 joined #lisp 2020-04-04T16:58:43Z Aurora_iz_kosmos quit (Ping timeout: 240 seconds) 2020-04-04T17:04:49Z ebrasca quit (Remote host closed the connection) 2020-04-04T17:09:09Z jprajzne quit (Quit: jprajzne) 2020-04-04T17:09:34Z jprajzne joined #lisp 2020-04-04T17:09:36Z iAmDecim joined #lisp 2020-04-04T17:09:38Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-04T17:12:05Z Aurora_iz_kosmos joined #lisp 2020-04-04T17:12:50Z nicktick1 quit (Quit: Leaving.) 2020-04-04T17:14:09Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-04T17:14:09Z jprajzne quit (Client Quit) 2020-04-04T17:14:32Z jprajzne joined #lisp 2020-04-04T17:14:49Z sjl quit (Ping timeout: 265 seconds) 2020-04-04T17:15:48Z nicktick joined #lisp 2020-04-04T17:23:06Z sjl joined #lisp 2020-04-04T17:34:22Z dlowe: woo that is good news 2020-04-04T17:43:17Z bars0 joined #lisp 2020-04-04T17:44:38Z hhdave quit (Quit: hhdave) 2020-04-04T17:45:01Z iAmDecim joined #lisp 2020-04-04T17:49:16Z Shinmera: I also added support for PLNs to modularize, but I doubt many (anyone?) cares about that 2020-04-04T17:53:10Z Gnuxie[m]: does anyone know if this https://github.com/rpav/fast-io/pull/24/files should be made to use trivial-gray-streams or something before i ask rpav to merge it? 2020-04-04T17:54:25Z Bike: looks like it already uses it? 2020-04-04T17:54:57Z Bike: or am i missing something? it's an asd dependency and the package uses it 2020-04-04T17:55:20Z Gnuxie[m]: you're right 2020-04-04T17:56:49Z Gnuxie[m]: thanks 2020-04-04T17:56:57Z Bike: always happy to do nothing 2020-04-04T17:57:21Z Kevslinger joined #lisp 2020-04-04T17:58:32Z Gnuxie[m]: :) 2020-04-04T18:05:02Z karlosz joined #lisp 2020-04-04T18:09:08Z jprajzne quit (Quit: jprajzne) 2020-04-04T18:09:30Z jprajzne joined #lisp 2020-04-04T18:13:44Z jprajzne quit (Client Quit) 2020-04-04T18:14:08Z jprajzne joined #lisp 2020-04-04T18:15:37Z Cymew joined #lisp 2020-04-04T18:18:34Z hhdave joined #lisp 2020-04-04T18:20:13Z LdBeth: good morning 2020-04-04T18:20:22Z Cymew quit (Ping timeout: 265 seconds) 2020-04-04T18:22:25Z bars0 quit (Quit: leaving) 2020-04-04T18:23:03Z z147 quit (Ping timeout: 240 seconds) 2020-04-04T18:24:09Z jprajzne quit (Quit: jprajzne) 2020-04-04T18:24:32Z jprajzne joined #lisp 2020-04-04T18:29:12Z jprajzne quit (Ping timeout: 260 seconds) 2020-04-04T18:29:34Z niceplace joined #lisp 2020-04-04T18:30:31Z niceplace quit (Read error: Connection reset by peer) 2020-04-04T18:31:48Z niceplace joined #lisp 2020-04-04T18:31:53Z nicktick1 joined #lisp 2020-04-04T18:32:05Z xuxuru quit (Quit: xuxuru) 2020-04-04T18:34:05Z nicktick quit (Ping timeout: 265 seconds) 2020-04-04T18:34:14Z z147 joined #lisp 2020-04-04T18:37:33Z asarch quit (Ping timeout: 272 seconds) 2020-04-04T18:39:53Z phoe: ...I have almost hit a 100kB mark on my conditions/restarts tutorial and I still have two chapters left 2020-04-04T18:40:02Z phoe: might have even more, depending on how it goes 2020-04-04T18:40:03Z phoe: welp 2020-04-04T18:40:54Z FennecCode joined #lisp 2020-04-04T18:43:47Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-04T18:46:30Z davepdotorg joined #lisp 2020-04-04T18:46:51Z izh_ joined #lisp 2020-04-04T18:50:55Z davepdotorg quit (Ping timeout: 260 seconds) 2020-04-04T18:52:15Z Jeanne-Kamikaze joined #lisp 2020-04-04T18:53:22Z shangul quit (Ping timeout: 256 seconds) 2020-04-04T18:53:33Z sjl quit (Quit: WeeChat 2.2-dev) 2020-04-04T18:53:46Z t58 quit (Quit: bye) 2020-04-04T18:54:19Z z147_ joined #lisp 2020-04-04T18:56:43Z z147 quit (Ping timeout: 240 seconds) 2020-04-04T19:09:56Z Steinberg2010 joined #lisp 2020-04-04T19:10:36Z iAmDecim joined #lisp 2020-04-04T19:13:20Z Kundry_Wag quit (Remote host closed the connection) 2020-04-04T19:13:55Z Kundry_Wag joined #lisp 2020-04-04T19:14:09Z tutti joined #lisp 2020-04-04T19:14:32Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-04T19:15:13Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-04T19:15:55Z Kundry_Wag quit (Remote host closed the connection) 2020-04-04T19:16:02Z Kundry_Wag joined #lisp 2020-04-04T19:18:27Z iAmDecim joined #lisp 2020-04-04T19:18:49Z xuxuru joined #lisp 2020-04-04T19:36:11Z LdBeth: jcowan: well there's a similar thing named Standard Lisp 2020-04-04T19:36:39Z jcowan: I'm familiar with it, but it is definitely not CL-compatible 2020-04-04T19:36:40Z LdBeth: It doesn't not have macro and is offline compiled to C 2020-04-04T19:37:04Z jcowan: CL-R does have macros, and indeed the macro expanders are written in full CL 2020-04-04T19:39:11Z shangul joined #lisp 2020-04-04T19:45:10Z jayspeer joined #lisp 2020-04-04T19:45:49Z LdBeth: I think the benefit is able to distribute the product without a heavy runtime, but I doubt if the runtime efficiency can be improved by a noticeable amount compared to a full featured CL 2020-04-04T19:47:04Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-04T19:47:43Z iAmDecim joined #lisp 2020-04-04T19:49:39Z asarch joined #lisp 2020-04-04T19:55:44Z KahMue joined #lisp 2020-04-04T19:55:57Z xuxuru quit (Quit: xuxuru) 2020-04-04T19:57:49Z sjl joined #lisp 2020-04-04T20:00:36Z asarch quit (Ping timeout: 265 seconds) 2020-04-04T20:03:19Z Bourne quit (Ping timeout: 265 seconds) 2020-04-04T20:07:56Z jcowan: Well, you can tree-shake the runtime and probably should. 2020-04-04T20:12:37Z shangul quit (Ping timeout: 258 seconds) 2020-04-04T20:12:54Z mjsir911 quit (Quit: Goodbye, World!) 2020-04-04T20:15:03Z mjsir911 joined #lisp 2020-04-04T20:17:20Z Duuqnd quit (Quit: Leaving) 2020-04-04T20:19:09Z izh_ quit (Quit: Leaving) 2020-04-04T20:20:08Z Bourne joined #lisp 2020-04-04T20:20:59Z efm quit (Ping timeout: 260 seconds) 2020-04-04T20:21:39Z efm joined #lisp 2020-04-04T20:23:35Z z147_ quit (Remote host closed the connection) 2020-04-04T20:23:50Z pilne joined #lisp 2020-04-04T20:23:57Z z147_ joined #lisp 2020-04-04T20:31:04Z arduo joined #lisp 2020-04-04T20:33:10Z phoe: fouric: could you delete the fork of my gist? It's an early version of my work, and I am still thinking of how to publish it once it's finalized. 2020-04-04T20:33:13Z jayspeer quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-04T20:40:25Z Involuntary joined #lisp 2020-04-04T20:41:42Z Jeanne-Kamikaze quit (Read error: Connection reset by peer) 2020-04-04T20:45:53Z srandon111 joined #lisp 2020-04-04T20:49:56Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-04T20:53:59Z FennecCode quit (Remote host closed the connection) 2020-04-04T20:58:13Z KahMue2 joined #lisp 2020-04-04T20:58:17Z KahMue2 quit (Remote host closed the connection) 2020-04-04T21:04:53Z ggole quit (Quit: Leaving) 2020-04-04T21:05:48Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-04T21:07:23Z iAmDecim joined #lisp 2020-04-04T21:10:07Z SGASAU quit (Remote host closed the connection) 2020-04-04T21:10:09Z peterhil quit (Read error: Connection reset by peer) 2020-04-04T21:11:53Z peterhil joined #lisp 2020-04-04T21:12:35Z space_otter joined #lisp 2020-04-04T21:19:24Z shifty quit (Ping timeout: 256 seconds) 2020-04-04T21:30:07Z dale joined #lisp 2020-04-04T21:30:34Z Oladon joined #lisp 2020-04-04T21:31:16Z Lord_of_Life_ joined #lisp 2020-04-04T21:31:28Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-04T21:33:36Z Kundry_Wag quit (Remote host closed the connection) 2020-04-04T21:34:03Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-04T21:34:10Z Kundry_Wag joined #lisp 2020-04-04T21:35:56Z efm_ joined #lisp 2020-04-04T21:38:03Z efm quit (Ping timeout: 265 seconds) 2020-04-04T21:38:55Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-04T21:47:13Z KahMue left #lisp 2020-04-04T21:48:33Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-04T21:50:48Z twelvemonkeys quit (Ping timeout: 265 seconds) 2020-04-04T21:52:24Z twelvemonkeys joined #lisp 2020-04-04T21:54:06Z hhdave quit (Quit: hhdave) 2020-04-04T22:02:42Z EvW1 quit (Ping timeout: 260 seconds) 2020-04-04T22:03:12Z hhdave joined #lisp 2020-04-04T22:13:08Z Kundry_Wag joined #lisp 2020-04-04T22:17:46Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-04T22:29:13Z _jrjsmrtn joined #lisp 2020-04-04T22:30:00Z efm_ quit (Quit: Konversation terminated!) 2020-04-04T22:30:21Z efm joined #lisp 2020-04-04T22:31:42Z __jrjsmrtn__ quit (Ping timeout: 265 seconds) 2020-04-04T22:36:07Z frgo quit (Remote host closed the connection) 2020-04-04T22:36:34Z FreeBirdLjj joined #lisp 2020-04-04T22:36:36Z tutti quit (Remote host closed the connection) 2020-04-04T22:36:40Z frgo joined #lisp 2020-04-04T22:40:17Z cosimone quit (Quit: Quit.) 2020-04-04T22:40:34Z FennecCode joined #lisp 2020-04-04T22:41:12Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-04-04T22:46:38Z peterhil quit (Read error: Connection reset by peer) 2020-04-04T22:46:48Z peterhil` joined #lisp 2020-04-04T22:48:12Z davepdotorg joined #lisp 2020-04-04T22:49:22Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-04T22:53:09Z davepdotorg quit (Ping timeout: 265 seconds) 2020-04-04T22:57:23Z PuercoPope joined #lisp 2020-04-04T22:58:34Z peterhil joined #lisp 2020-04-04T22:59:26Z peterhil` quit (Ping timeout: 265 seconds) 2020-04-04T23:06:43Z Codaraxis quit (Read error: Connection reset by peer) 2020-04-04T23:08:37Z Steinberg2010 quit (Ping timeout: 272 seconds) 2020-04-04T23:09:09Z terpri joined #lisp 2020-04-04T23:13:19Z Oddity quit (Ping timeout: 250 seconds) 2020-04-04T23:14:45Z Kundry_Wag joined #lisp 2020-04-04T23:17:40Z hhdave quit (Quit: hhdave) 2020-04-04T23:20:14Z Oddity joined #lisp 2020-04-04T23:21:07Z random-nick quit (Ping timeout: 250 seconds) 2020-04-04T23:24:01Z z147_ quit (Quit: z147_) 2020-04-04T23:26:16Z Oddity quit (Ping timeout: 256 seconds) 2020-04-04T23:33:40Z Oddity joined #lisp 2020-04-04T23:37:57Z xkapastel joined #lisp 2020-04-04T23:40:43Z Oddity quit (Ping timeout: 260 seconds) 2020-04-04T23:43:50Z xaotuk quit (Ping timeout: 256 seconds) 2020-04-04T23:46:55Z mseddon quit (Read error: Connection reset by peer) 2020-04-04T23:48:30Z amerlyq quit (Quit: amerlyq) 2020-04-04T23:56:34Z FennecCode quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-04T23:57:16Z Oddity joined #lisp 2020-04-05T00:07:34Z dgtlcmo quit (Remote host closed the connection) 2020-04-05T00:09:48Z ahungry joined #lisp 2020-04-05T00:13:15Z ahungry quit (Read error: Connection reset by peer) 2020-04-05T00:13:54Z Involuntary quit (Remote host closed the connection) 2020-04-05T00:15:05Z ahungry joined #lisp 2020-04-05T00:18:18Z akoana joined #lisp 2020-04-05T00:20:16Z ArthurStrong joined #lisp 2020-04-05T00:20:34Z anticrisis joined #lisp 2020-04-05T00:22:10Z cgay quit (Quit: Lost terminal) 2020-04-05T00:23:21Z Oddity quit (Ping timeout: 265 seconds) 2020-04-05T00:29:09Z Bourne quit (Read error: Connection reset by peer) 2020-04-05T00:30:58Z Oddity joined #lisp 2020-04-05T00:33:01Z Josh_2 quit (Ping timeout: 265 seconds) 2020-04-05T00:36:03Z Aurora_iz_kosmos quit (Ping timeout: 240 seconds) 2020-04-05T00:37:09Z libertyprime joined #lisp 2020-04-05T00:37:16Z cgay joined #lisp 2020-04-05T00:37:55Z Kundry_Wag quit (Remote host closed the connection) 2020-04-05T00:38:24Z Bourne joined #lisp 2020-04-05T00:40:33Z cosimone joined #lisp 2020-04-05T00:45:26Z ski joined #lisp 2020-04-05T00:46:04Z markoong quit (Ping timeout: 265 seconds) 2020-04-05T00:48:08Z cosimone quit (Quit: Quit.) 2020-04-05T00:48:53Z Aurora_iz_kosmos joined #lisp 2020-04-05T00:49:33Z Kundry_Wag joined #lisp 2020-04-05T00:57:14Z Steinberg2010 joined #lisp 2020-04-05T01:02:06Z zmt01 quit (Quit: Leaving) 2020-04-05T01:02:06Z Oddity quit (Ping timeout: 256 seconds) 2020-04-05T01:05:35Z bitmapper quit (Ping timeout: 265 seconds) 2020-04-05T01:08:26Z Oddity joined #lisp 2020-04-05T01:10:41Z lisper29 joined #lisp 2020-04-05T01:11:04Z Jeanne-Kamikaze joined #lisp 2020-04-05T01:11:29Z torbo joined #lisp 2020-04-05T01:13:39Z gko joined #lisp 2020-04-05T01:14:45Z slyrus_ joined #lisp 2020-04-05T01:14:47Z zmt00 joined #lisp 2020-04-05T01:17:19Z slyrus quit (Ping timeout: 260 seconds) 2020-04-05T01:19:31Z karlosz quit (Quit: karlosz) 2020-04-05T01:25:03Z Oddity quit (Ping timeout: 250 seconds) 2020-04-05T01:42:48Z PuercoPope quit (Remote host closed the connection) 2020-04-05T01:43:17Z ufaucernio quit (Quit: Quit) 2020-04-05T01:45:49Z ufaucernio joined #lisp 2020-04-05T01:46:30Z ahungry quit (Remote host closed the connection) 2020-04-05T01:46:34Z ufaucernio quit (Client Quit) 2020-04-05T01:48:22Z ahungry joined #lisp 2020-04-05T01:50:32Z zaquest quit (Quit: Leaving) 2020-04-05T01:51:52Z Oddity joined #lisp 2020-04-05T01:54:14Z slyrus__ joined #lisp 2020-04-05T01:55:33Z chipolux quit (Quit: chipolux) 2020-04-05T01:57:12Z slyrus_ quit (Ping timeout: 260 seconds) 2020-04-05T01:57:19Z chipolux joined #lisp 2020-04-05T02:05:57Z ArthurStrong quit (Ping timeout: 260 seconds) 2020-04-05T02:07:17Z ArthurStrong joined #lisp 2020-04-05T02:17:36Z Steinberg2010 quit (Ping timeout: 265 seconds) 2020-04-05T02:18:46Z Kundry_Wag quit (Remote host closed the connection) 2020-04-05T02:24:01Z Aurora_iz_kosmos quit (Remote host closed the connection) 2020-04-05T02:24:33Z Aurora_iz_kosmos joined #lisp 2020-04-05T02:25:34Z sonologico joined #lisp 2020-04-05T02:33:02Z ebzzry joined #lisp 2020-04-05T02:36:28Z lemoinem quit (Read error: Connection reset by peer) 2020-04-05T02:36:54Z lemoinem joined #lisp 2020-04-05T02:43:35Z monok joined #lisp 2020-04-05T02:45:15Z karswell joined #lisp 2020-04-05T02:46:12Z mono quit (Ping timeout: 260 seconds) 2020-04-05T02:49:29Z scipio joined #lisp 2020-04-05T02:49:37Z davepdotorg joined #lisp 2020-04-05T02:53:54Z Kundry_Wag joined #lisp 2020-04-05T02:54:20Z davepdotorg quit (Ping timeout: 265 seconds) 2020-04-05T02:56:45Z Inline quit (Ping timeout: 265 seconds) 2020-04-05T02:58:16Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-05T03:10:25Z iAmDecim joined #lisp 2020-04-05T03:10:43Z slyrus_ joined #lisp 2020-04-05T03:11:23Z madage quit (Ping timeout: 240 seconds) 2020-04-05T03:13:31Z slyrus__ quit (Ping timeout: 260 seconds) 2020-04-05T03:20:45Z madage joined #lisp 2020-04-05T03:22:59Z sendai_ joined #lisp 2020-04-05T03:25:45Z luckless quit (Ping timeout: 272 seconds) 2020-04-05T03:26:46Z wxie joined #lisp 2020-04-05T03:37:12Z efm quit (Read error: Connection reset by peer) 2020-04-05T03:39:52Z karswell quit (Remote host closed the connection) 2020-04-05T03:40:03Z karswell_ joined #lisp 2020-04-05T03:41:59Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-05T03:41:59Z Bike quit (Quit: Lost terminal) 2020-04-05T03:42:57Z wxie quit (Remote host closed the connection) 2020-04-05T03:43:01Z efm joined #lisp 2020-04-05T03:43:12Z wxie joined #lisp 2020-04-05T03:46:00Z terpri quit (Remote host closed the connection) 2020-04-05T03:46:23Z terpri joined #lisp 2020-04-05T03:52:00Z Kundry_Wag joined #lisp 2020-04-05T03:53:11Z beach: Good morning everyone! 2020-04-05T03:55:21Z igemnace quit (Quit: WeeChat 2.8) 2020-04-05T03:56:17Z Kundry_Wag quit (Ping timeout: 250 seconds) 2020-04-05T03:58:47Z shangul joined #lisp 2020-04-05T03:59:45Z scipio quit (Quit: leaving) 2020-04-05T04:02:42Z shifty joined #lisp 2020-04-05T04:11:26Z ebzzry quit (Read error: Connection reset by peer) 2020-04-05T04:14:18Z PuercoPope joined #lisp 2020-04-05T04:14:25Z iAmDecim joined #lisp 2020-04-05T04:14:52Z ArthurStrong: beach: good morning indeed 2020-04-05T04:16:08Z PuercoPope: What would be the best way to implement a lru cache with a maximum size. I was thinking of using a norvig style queue but I woud like O(1) lookup so a linked list of cons cells wouldn't work 2020-04-05T04:16:51Z PuercoPope: I saw that vivache graph implements one using skip lists but I don't know anything about skip lists 2020-04-05T04:18:58Z beach: PuercoPope: What kind of "lookup" do you want in an LRU cache? 2020-04-05T04:19:19Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-05T04:19:40Z beach: PuercoPope: If you have anything that requires a lookup of an object given a key, I think O(1) is going to be hard. 2020-04-05T04:20:38Z beach: PuercoPope: A skip list is just a tree that is statistically balanced. 2020-04-05T04:21:10Z beach: So any "lookup" in a skip list would be O(log n). 2020-04-05T04:21:28Z adam4567 joined #lisp 2020-04-05T04:21:40Z karlosz joined #lisp 2020-04-05T04:24:35Z beach: If you stick your "lookup" in a parallel hash table, you can use a doubly linked list for your LRU cache. When you access an item, unlink it from its place and link it to the front. If you need to evict an item, evict the last one in the list. 2020-04-05T04:27:34Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-05T04:29:50Z ebzzry joined #lisp 2020-04-05T04:32:16Z slyrus__ joined #lisp 2020-04-05T04:33:06Z mangul joined #lisp 2020-04-05T04:33:35Z PuercoPope: beach: I would like O(1). The doubly linked list + ht seems like a good idea. 2020-04-05T04:34:20Z beach: You still haven't told me what "lookup" you need to do in the LRU cache. 2020-04-05T04:34:37Z PuercoPope: I'm trying to fix an issue with clx-truetype where it hash-tables as a cache but because it never evicts it leads to OOM situations 2020-04-05T04:34:43Z slyrus_ quit (Ping timeout: 260 seconds) 2020-04-05T04:35:20Z PuercoPope: beach: you mean what key? A string 2020-04-05T04:35:40Z dddddd quit (Ping timeout: 256 seconds) 2020-04-05T04:35:46Z beach: A "lookup" typically means obtaining some object given a key, but that does not seem to be something you would want to do in an LRU cache. 2020-04-05T04:35:54Z shangul quit (Ping timeout: 256 seconds) 2020-04-05T04:37:13Z beach: With a doubly linked list, you can't afford to do any such "lookup". You would need to already have a reference to the element in the list in order to unlink it in O(1). 2020-04-05T04:39:43Z beach: So if I understand what you want, I suggest using a hash table for the lookup, and the hash table contains "cells" in the list with a "previous" and a "next" pointer. The cell also contain the information you need for truetype, whatever that might be. A font maybe? 2020-04-05T04:40:11Z beach: But then, this is not really an LRU cache is it? 2020-04-05T04:40:32Z beach: Well, I guess it is. Sorry. 2020-04-05T04:40:38Z ArthurStrong left #lisp 2020-04-05T04:41:01Z beach: So to find an item, you do a lookup in your hash table. 2020-04-05T04:41:18Z beach: If it is there, you move it to the front of the list and access the information in the cell. 2020-04-05T04:41:55Z beach: If it is not there, you evict the last item in the list, load the item form disk I presume, enter a new cell into the hash table, link it to the front of the list. 2020-04-05T04:42:16Z beach: But, notice that there is no "lookup" in the list. 2020-04-05T04:42:28Z beach: The "lookup" is done in the hash table. 2020-04-05T04:42:53Z beach: So I guess you can say that your LRU cache is a combination of a hash table and a doubly linked list. 2020-04-05T04:45:27Z doIreallyneedapa joined #lisp 2020-04-05T04:45:31Z ebzzry quit (Read error: Connection reset by peer) 2020-04-05T04:48:20Z doIreallyneedapa quit (Remote host closed the connection) 2020-04-05T04:49:52Z wxie quit (Ping timeout: 260 seconds) 2020-04-05T05:02:33Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-04-05T05:10:13Z libertyprime quit (Read error: No route to host) 2020-04-05T05:13:50Z ahungry quit (Remote host closed the connection) 2020-04-05T05:15:09Z libertyprime joined #lisp 2020-04-05T05:18:40Z PuercoPope: Yeah, I only use the doubly linked list as a way to keep up the 'access history' so I can remove them when I reach a threshold. I think I got the gist of the idea. Thanks 2020-04-05T05:23:35Z iAmDecim joined #lisp 2020-04-05T05:24:53Z gravicappa joined #lisp 2020-04-05T05:26:06Z beach: Sure. I thought of one more thing, your list elements also need to contain the hash key, so that when you evict the oldest item, you can remove it from the hash table. 2020-04-05T05:28:23Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-05T05:33:11Z davepdotorg joined #lisp 2020-04-05T05:38:00Z davepdotorg quit (Ping timeout: 256 seconds) 2020-04-05T05:39:39Z lisper29 left #lisp 2020-04-05T05:52:53Z Kundry_Wag joined #lisp 2020-04-05T05:57:16Z libertyprime quit (Ping timeout: 256 seconds) 2020-04-05T05:57:49Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-05T05:59:20Z libertyprime joined #lisp 2020-04-05T06:09:04Z pilne quit (Quit: He who laughs last, thinks slowest) 2020-04-05T06:10:15Z wxie joined #lisp 2020-04-05T06:11:43Z ebzzry joined #lisp 2020-04-05T06:13:39Z karswell_ quit (Ping timeout: 250 seconds) 2020-04-05T06:16:50Z libertyprime quit (Remote host closed the connection) 2020-04-05T06:17:39Z torbo quit (Remote host closed the connection) 2020-04-05T06:22:46Z ft quit (Ping timeout: 268 seconds) 2020-04-05T06:32:04Z no-defun-allowed: In my cache, I use a minheap (system of the same name), a hash table of elements, and a hash table of times each key occurs in the heap. 2020-04-05T06:36:03Z no-defun-allowed: That seems better though. 2020-04-05T06:38:06Z sendai_ quit (Remote host closed the connection) 2020-04-05T06:38:29Z sendai_ joined #lisp 2020-04-05T06:38:52Z vlatkoB joined #lisp 2020-04-05T06:49:16Z donotturnoff joined #lisp 2020-04-05T06:52:16Z Oladon quit (Quit: Leaving.) 2020-04-05T06:52:38Z no-defun-allowed: Oh, I asked my friends today what they would be most interested in reading about from a shortlist, and got pretty conclusive results. 2020-04-05T07:03:13Z xaotuk joined #lisp 2020-04-05T07:10:10Z no-defun-allowed: The top three summaries were "replacements for centralised content moderation in distributed systems", "designing self-describing data formats using schemas and presentation scripts", and "implementing a fast and adaptable distributed hash table in Common Lisp", and I guess those are strong points of my work. 2020-04-05T07:12:40Z beach: Interesting. Also very hard problems, I would think. 2020-04-05T07:20:06Z White_Flame: PuercoPope: there's an implementation of hashtable + doubly linked list here: https://github.com/white-flame/clyc/blob/master/larkc-cycl/cache.lisp 2020-04-05T07:20:51Z White_Flame: the style is pretty old & very broken out, but you can at least see the management of the data 2020-04-05T07:23:24Z sarna_ joined #lisp 2020-04-05T07:23:47Z sarna_ quit (Remote host closed the connection) 2020-04-05T07:25:33Z scipio joined #lisp 2020-04-05T07:25:42Z no-defun-allowed: beach: On the other hand, I don't know if I've done anything new? For the former, most people are fine with having a centralised power structure controlling their distributed systems, which is quite sad, but more importantly mean I haven't heard of any other attempts. 2020-04-05T07:27:08Z no-defun-allowed: (Though, using a doubly linked-list would definitely be better for a LRU cache, now that I think of it; time tends to be monotonically increasing, so keys are always inserted at one end and removed from the other.) 2020-04-05T07:35:29Z beach: Your work is far from my domains of expertise, so you would have to invest in some literature research. It is tedious, but it can be fun as well. Also, it is an absolute requirement if you want to write an academic paper about your work. 2020-04-05T07:35:42Z no-defun-allowed: Right. 2020-04-05T07:37:04Z no-defun-allowed: Searching for "distributed moderation" from my university's library comes up with several articles that look promising. 2020-04-05T07:38:36Z beach: One interesting thing to do is to find an old article on the subject, and do a "forward search". 2020-04-05T07:38:47Z beach: The ACM digital library can help you do such things. 2020-04-05T07:39:08Z no-defun-allowed: That does sound interesting. 2020-04-05T07:40:05Z beach: It is standard practice, but unfortunately many people don't know how to do it. 2020-04-05T07:40:31Z beach: You go to an article, and there is a link for "cited by", which goes forward in time. 2020-04-05T07:41:09Z no-defun-allowed: Useful term: "collaborative filtering", which I think is one of the ways that my system could be used. 2020-04-05T07:41:14Z White_Flame: articles on time travel go the opposite way, if they're any good 2020-04-05T07:45:18Z iAmDecim joined #lisp 2020-04-05T07:47:08Z attila_lendvai joined #lisp 2020-04-05T07:48:19Z sonologico quit (Remote host closed the connection) 2020-04-05T07:49:14Z sonologico joined #lisp 2020-04-05T07:49:16Z sonologico quit (Client Quit) 2020-04-05T07:49:42Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-05T07:52:43Z no-defun-allowed: There's definitely a lot to dig through then. 2020-04-05T07:53:29Z beach: In that domain, I would think so, yes. But you need to be selective when you look at the "cited by" list, because some articles won't be relevant. 2020-04-05T07:53:48Z Kundry_Wag joined #lisp 2020-04-05T07:54:44Z beach: Then you must learn to "skim" articles. You quickly need to figure out whether they are irrelevant to your search, and quit reading them then. 2020-04-05T07:55:35Z zxcvz joined #lisp 2020-04-05T07:55:35Z no-defun-allowed: Right. 2020-04-05T07:55:59Z beach: Then, if you think it *might* be relevant and the abstract is well written, you can determine a lot from there. Unless of course they write "descriptive abstracts" like many of our Common Lisp friends do (until I correct them). 2020-04-05T07:56:30Z wxie quit (Ping timeout: 256 seconds) 2020-04-05T07:56:54Z xaotuk quit (Ping timeout: 265 seconds) 2020-04-05T07:58:21Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-05T07:58:30Z no-defun-allowed: Hm, "collaborative filtering" is different to what I have in mind, in that decisions that a user hasn't made are approximated by finding other users that have made similar decisions to those that they have made, and aggregating their decisions. 2020-04-05T07:58:59Z hhdave joined #lisp 2020-04-05T08:01:03Z no-defun-allowed: ...whereas we have users choose some delegates (friends) that would agree with them more often than not. Performing that automatically is interesting, nonetheless. 2020-04-05T08:01:10Z no-defun-allowed: Gotcha. 2020-04-05T08:07:55Z no-defun-allowed: Thanks for the advice. 2020-04-05T08:12:56Z attila_lendvai quit (Ping timeout: 240 seconds) 2020-04-05T08:14:01Z PuercoPope quit (Remote host closed the connection) 2020-04-05T08:16:25Z davepdotorg joined #lisp 2020-04-05T08:20:12Z ggole joined #lisp 2020-04-05T08:23:26Z Steinberg2010 joined #lisp 2020-04-05T08:32:34Z hiroaki quit (Ping timeout: 240 seconds) 2020-04-05T08:34:50Z ebzzry quit (Read error: Connection reset by peer) 2020-04-05T08:36:19Z CommanderViral1 quit (Quit: ZNC 1.7.1+deb1+bionic1 - https://znc.in) 2020-04-05T08:36:38Z CommanderViral joined #lisp 2020-04-05T08:43:02Z iAmDecim joined #lisp 2020-04-05T08:43:59Z akoana left #lisp 2020-04-05T08:44:34Z Bourne quit (Ping timeout: 240 seconds) 2020-04-05T08:46:15Z ecraven joined #lisp 2020-04-05T08:46:54Z MichaelRaskin: no-defun-allowed: I think there are multiple senses, recommendation engines try to cluster people and recommend based on that (old Netflix, Stumbleupon), moderation systems try to buld a single view for community (Slashdot — even if you find no articles on it, read something about it, it seems to be elaborate and interesting and has a long history to see how all of this works) 2020-04-05T08:47:11Z no-defun-allowed: I see. 2020-04-05T08:48:31Z MichaelRaskin: Explicit delegation… it seems harder to study, and even hard to see if it works or not. Something similar sometimes arises with some «you follow X, they liked Y» Twitter stuff, and more consciously in some places of LiveJournal friend-of-friend feed (LJ clones also count) and Tumblr (and clones) repost-based informal communities might end up similar to that 2020-04-05T08:48:55Z xaotuk joined #lisp 2020-04-05T08:49:06Z no-defun-allowed: Yeah, that seems less common, but I think it may complement the statistical techniques used in collaborative filtering. 2020-04-05T08:49:41Z heisig joined #lisp 2020-04-05T08:50:00Z MichaelRaskin: It does have some attractive sides, and it has some upfront investment properties for _each_ user that might scare people away from trying it fully 2020-04-05T08:50:38Z no-defun-allowed: It could help with "cold start" problems where there is just too little information to start guessing from, and having to infiltrate social circles in a way would dissuade some manipulation. 2020-04-05T08:51:06Z no-defun-allowed: Usually when I try some new discussion medium, it's cause a friend nagged me to try it. 2020-04-05T08:51:25Z MichaelRaskin: Re: articles — I guess that delegation behaviour is highly sensitive to _everything_ (see: «that's too much, I unsubscribe» on Twitter), so delegation is hard to model 2020-04-05T08:52:22Z no-defun-allowed: Sure. 2020-04-05T08:56:03Z jprajzne joined #lisp 2020-04-05T08:56:50Z attila_lendvai joined #lisp 2020-04-05T08:58:04Z attila_lendvai quit (Remote host closed the connection) 2020-04-05T08:59:44Z jprajzne quit (Client Quit) 2020-04-05T09:01:45Z dale quit (Quit: My computer has gone to sleep) 2020-04-05T09:04:34Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-05T09:04:43Z jprajzne joined #lisp 2020-04-05T09:12:08Z hhdave quit (Quit: hhdave) 2020-04-05T09:13:32Z anticrisis quit (Quit: Leaving) 2020-04-05T09:18:53Z davepdotorg quit (Ping timeout: 265 seconds) 2020-04-05T09:30:20Z Lord_of_Life_ joined #lisp 2020-04-05T09:30:34Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-05T09:31:41Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-05T09:37:50Z iAmDecim joined #lisp 2020-04-05T09:41:09Z random-nick joined #lisp 2020-04-05T09:42:18Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-05T09:44:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T09:45:07Z jprajzne joined #lisp 2020-04-05T09:45:08Z tichun joined #lisp 2020-04-05T09:46:07Z tichun quit (Client Quit) 2020-04-05T09:49:26Z jprajzne quit (Client Quit) 2020-04-05T09:49:49Z jprajzne joined #lisp 2020-04-05T09:52:30Z Oddity quit (Ping timeout: 256 seconds) 2020-04-05T09:54:33Z Kundry_Wag joined #lisp 2020-04-05T09:57:51Z Inline joined #lisp 2020-04-05T09:58:46Z Oddity joined #lisp 2020-04-05T09:59:00Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-05T09:59:13Z adam4567 quit (Quit: zzz) 2020-04-05T09:59:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T10:05:06Z jprajzne joined #lisp 2020-04-05T10:10:37Z iAmDecim joined #lisp 2020-04-05T10:14:24Z davepdotorg joined #lisp 2020-04-05T10:15:26Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-05T10:19:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T10:20:24Z jprajzne joined #lisp 2020-04-05T10:25:45Z ebzzry joined #lisp 2020-04-05T10:27:06Z ArthurStrong joined #lisp 2020-04-05T10:28:45Z Bourne joined #lisp 2020-04-05T10:29:15Z jprajzne quit (Quit: jprajzne) 2020-04-05T10:29:39Z jprajzne joined #lisp 2020-04-05T10:34:31Z splittist: Didn't Gnus have something like that? 2020-04-05T10:34:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T10:36:06Z frgo quit (Remote host closed the connection) 2020-04-05T10:36:38Z frgo joined #lisp 2020-04-05T10:39:40Z jprajzne joined #lisp 2020-04-05T10:40:59Z splittist: (yes - GroupLens) 2020-04-05T10:42:29Z rippa joined #lisp 2020-04-05T10:44:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T10:45:18Z jprajzne joined #lisp 2020-04-05T10:45:30Z no-defun-allowed: More stuff to read then. Thanks. 2020-04-05T10:47:17Z no-defun-allowed: It also seems quite common to use that vector cosine value as a correlation coefficient. 2020-04-05T10:48:20Z xkapastel joined #lisp 2020-04-05T10:50:54Z dddddd joined #lisp 2020-04-05T10:59:00Z cosimone joined #lisp 2020-04-05T10:59:15Z jprajzne quit (Quit: jprajzne) 2020-04-05T10:59:53Z jprajzne joined #lisp 2020-04-05T11:00:10Z karlosz quit (Quit: karlosz) 2020-04-05T11:07:07Z random-nick quit (Quit: quit) 2020-04-05T11:12:29Z random-nick joined #lisp 2020-04-05T11:14:43Z jprajzne quit (Quit: jprajzne) 2020-04-05T11:19:41Z jprajzne joined #lisp 2020-04-05T11:23:35Z markoong joined #lisp 2020-04-05T11:26:00Z orivej quit (Ping timeout: 256 seconds) 2020-04-05T11:30:57Z iAmDecim joined #lisp 2020-04-05T11:35:51Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-05T11:36:20Z shifty quit (Ping timeout: 265 seconds) 2020-04-05T11:36:38Z space_otter quit (Ping timeout: 265 seconds) 2020-04-05T11:38:05Z markong joined #lisp 2020-04-05T11:38:27Z tarod16 joined #lisp 2020-04-05T11:38:45Z markoong quit (Ping timeout: 265 seconds) 2020-04-05T11:38:59Z tarod16 left #lisp 2020-04-05T11:41:31Z iAmDecim joined #lisp 2020-04-05T11:46:00Z cosimone quit (Remote host closed the connection) 2020-04-05T11:46:27Z cosimone joined #lisp 2020-04-05T11:48:33Z ft joined #lisp 2020-04-05T11:54:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T11:55:29Z Kundry_Wag joined #lisp 2020-04-05T11:59:56Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-05T12:04:37Z jprajzne joined #lisp 2020-04-05T12:04:41Z ebzzry quit (Read error: Connection reset by peer) 2020-04-05T12:16:35Z Kundry_Wag joined #lisp 2020-04-05T12:19:10Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-05T12:24:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T12:25:17Z jprajzne joined #lisp 2020-04-05T12:25:37Z iAmDecim joined #lisp 2020-04-05T12:26:45Z Steinberg2010 quit (Ping timeout: 250 seconds) 2020-04-05T12:29:15Z jprajzne quit (Client Quit) 2020-04-05T12:29:41Z jprajzne joined #lisp 2020-04-05T12:34:28Z cosimone quit (Remote host closed the connection) 2020-04-05T12:34:55Z cosimone joined #lisp 2020-04-05T12:38:04Z farooqkz__ joined #lisp 2020-04-05T12:38:23Z farooqkz__ quit (Client Quit) 2020-04-05T12:38:32Z shangul joined #lisp 2020-04-05T12:40:13Z cosimone quit (Quit: Terminated!) 2020-04-05T12:40:37Z mangul quit (Ping timeout: 265 seconds) 2020-04-05T12:43:31Z v88m quit (Ping timeout: 265 seconds) 2020-04-05T12:44:37Z mangul joined #lisp 2020-04-05T12:47:03Z shangul quit (Ping timeout: 260 seconds) 2020-04-05T12:47:06Z mangul is now known as shangul 2020-04-05T12:49:23Z gxt quit (Ping timeout: 240 seconds) 2020-04-05T12:49:43Z guest1 joined #lisp 2020-04-05T12:49:47Z EvW joined #lisp 2020-04-05T12:50:29Z Josh_2 joined #lisp 2020-04-05T12:51:01Z guest1 left #lisp 2020-04-05T12:51:35Z gxt joined #lisp 2020-04-05T12:52:16Z watkinsr quit (Quit: WeeChat 2.7.1) 2020-04-05T12:58:59Z v88m joined #lisp 2020-04-05T13:16:23Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-05T13:19:13Z bitmapper joined #lisp 2020-04-05T13:19:15Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-05T13:26:43Z Bike joined #lisp 2020-04-05T13:28:29Z iAmDecim joined #lisp 2020-04-05T13:31:27Z EvW quit (Read error: Connection reset by peer) 2020-04-05T13:31:33Z EvW1 joined #lisp 2020-04-05T13:34:19Z SGASAU joined #lisp 2020-04-05T13:35:55Z terpri quit (Remote host closed the connection) 2020-04-05T13:36:21Z terpri joined #lisp 2020-04-05T13:43:00Z mhitchman[m] joined #lisp 2020-04-05T13:50:02Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-05T13:53:47Z scipio quit (Quit: leaving) 2020-04-05T13:56:25Z terpri quit (Remote host closed the connection) 2020-04-05T13:56:49Z terpri joined #lisp 2020-04-05T13:59:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T14:01:11Z tiwEllien joined #lisp 2020-04-05T14:02:44Z SGASAU quit (Remote host closed the connection) 2020-04-05T14:03:16Z SGASAU joined #lisp 2020-04-05T14:04:39Z jprajzne joined #lisp 2020-04-05T14:10:25Z terpri quit (Remote host closed the connection) 2020-04-05T14:10:53Z terpri joined #lisp 2020-04-05T14:23:37Z iAmDecim joined #lisp 2020-04-05T14:28:24Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-05T14:33:55Z snits quit (Ping timeout: 260 seconds) 2020-04-05T14:35:26Z iAmDecim joined #lisp 2020-04-05T14:41:18Z nika joined #lisp 2020-04-05T14:42:36Z snits joined #lisp 2020-04-05T14:44:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T14:48:42Z logand joined #lisp 2020-04-05T14:49:40Z jprajzne joined #lisp 2020-04-05T15:12:34Z SGASAU quit (Remote host closed the connection) 2020-04-05T15:13:03Z SGASAU joined #lisp 2020-04-05T15:13:18Z Kundry_Wag joined #lisp 2020-04-05T15:14:43Z jprajzne quit (Quit: jprajzne) 2020-04-05T15:20:04Z jprajzne joined #lisp 2020-04-05T15:25:08Z ym555 joined #lisp 2020-04-05T15:26:43Z shifty joined #lisp 2020-04-05T15:29:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T15:30:20Z jprajzne joined #lisp 2020-04-05T15:30:54Z pioneer42 joined #lisp 2020-04-05T15:33:34Z pioneer42 left #lisp 2020-04-05T15:35:54Z ym555 quit (Ping timeout: 256 seconds) 2020-04-05T15:36:07Z dddddd quit (Ping timeout: 250 seconds) 2020-04-05T15:36:14Z pioneer42 joined #lisp 2020-04-05T15:38:09Z ym555 joined #lisp 2020-04-05T15:38:32Z EvW1 quit (Ping timeout: 260 seconds) 2020-04-05T15:51:12Z sarna quit 2020-04-05T15:52:59Z ym555 quit (Ping timeout: 265 seconds) 2020-04-05T15:54:41Z jprajzne quit (Quit: jprajzne) 2020-04-05T15:55:06Z jprajzne joined #lisp 2020-04-05T15:55:31Z mrrevolt joined #lisp 2020-04-05T15:56:24Z eta: how do I get sbcl to do nothing? 2020-04-05T15:56:27Z mrrevolt: hello https://usercontent.irccloud-cdn.com/file/wqNCiTwM/MVIMG_20200330_210636%7E2.jpg 2020-04-05T15:56:45Z eta: i.e. idle the current thread, using 0% CPU, until it gets woken up by something 2020-04-05T15:57:55Z Bourne quit (Ping timeout: 260 seconds) 2020-04-05T15:59:22Z Bike: eta: http://www.sbcl.org/manual/#Waitqueue_002fcondition-variables maybe you want this? 2020-04-05T15:59:57Z Oladon joined #lisp 2020-04-05T16:00:13Z ym555 joined #lisp 2020-04-05T16:00:15Z eta: Bike, I guess that probably would work 2020-04-05T16:00:33Z eta: essentially my problem is that the main thread of the program doesn't do much except get woken up by a timer 2020-04-05T16:00:48Z phoe: condition variables that is 2020-04-05T16:01:16Z cosimone joined #lisp 2020-04-05T16:01:22Z eta: can the SBCL timer still wake up my thread if it's blocked on that? 2020-04-05T16:02:38Z Bourne joined #lisp 2020-04-05T16:03:22Z Bike: wait, so you're saying you have a thread that just does some action at certain intervals? something like that? 2020-04-05T16:03:26Z Bike: maybe you can just use sleep 2020-04-05T16:03:44Z eta: Bike, yeah 2020-04-05T16:04:00Z eta: Bike, it currently uses trivial-timers to schedule actions 2020-04-05T16:04:06Z eta: but most of the work happens on other threads I guess 2020-04-05T16:06:17Z eta: hey, looks like that works, thanks :) 2020-04-05T16:09:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T16:10:20Z beach: mrrevolt: If you want people to click on your link, you should tell them what they might expect if they do. 2020-04-05T16:11:42Z beach: mrrevolt: Posting links without any explanation is typical troll behavior. 2020-04-05T16:13:18Z mrrevolt: beach: knows ,next time i can’t, easy feiend 2020-04-05T16:14:00Z pioneer42 quit (Quit: Leaving.) 2020-04-05T16:14:37Z jprajzne joined #lisp 2020-04-05T16:17:03Z ym555 quit (Ping timeout: 260 seconds) 2020-04-05T16:17:17Z ym555_ joined #lisp 2020-04-05T16:17:43Z phoe: mrrevolt: nice photo, but it is not lisp-related in any way 2020-04-05T16:17:56Z phoe: please refrain from doing such 2020-04-05T16:22:02Z ym555_ quit (Ping timeout: 258 seconds) 2020-04-05T16:23:12Z eta: what's ~A but all on one line, i.e. with no newlines? 2020-04-05T16:23:16Z eta: (as a FORMAT directive) 2020-04-05T16:23:18Z ym555_ joined #lisp 2020-04-05T16:23:47Z beach: clhs ~a 2020-04-05T16:23:47Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cda.htm 2020-04-05T16:24:23Z phoe: eta: (let ((*print-right-margin* most-positive-fixnum)) ...) 2020-04-05T16:24:36Z eta: phoe, ahahaha, thanks ;P 2020-04-05T16:24:36Z phoe: and format ~a in there 2020-04-05T16:24:47Z eta: (that's amazingly hacky) 2020-04-05T16:25:25Z eta: actually tbf I'll probably just SETF that for the whole program 2020-04-05T16:25:32Z phoe: don't 2020-04-05T16:25:39Z phoe: this is a variable that is supposed to be set for the user 2020-04-05T16:25:45Z eta: huh? 2020-04-05T16:26:00Z phoe: the global value of *print-right-margin* is supposed to be settable by the user 2020-04-05T16:26:03Z nicktick1 quit (Quit: Leaving.) 2020-04-05T16:26:13Z eta: so why can't I set it then? 2020-04-05T16:26:18Z eta: to clarify 2020-04-05T16:26:22Z pjb: eta: then don't use format. 2020-04-05T16:26:30Z phoe: oh - if you are the only user of the program, then sure thing 2020-04-05T16:26:37Z phoe: I meant for programs that you distribute to others, such as libraries 2020-04-05T16:26:44Z eta: phoe, yeah, it's a binary that's being uploaded and run headless 2020-04-05T16:27:02Z eta: I mean I already overwrote *debugger-hook* with something that aborts the program, so ;P 2020-04-05T16:27:59Z phoe: eta: there's implementation-defined behaviour for that, like, sb-ext:disable-debugger 2020-04-05T16:28:26Z eta: also, how do I get SWANK to load everything it needs *before* I call save-lisp-and-die 2020-04-05T16:28:49Z eta: I loaded the ASDF system, but then I try connecting and I get a "can't locate module: swank-io-package::swank-sbcl-exts" 2020-04-05T16:29:22Z phoe: eta: https://github.com/Shinmera/deploy 2020-04-05T16:32:31Z pjb: eta: note that ~A is just princ, so you cannot use princ either. What you want is to print the objects yourself, in the format you need them. Note that print-object methods may force print newlines. (mine do, because I don't know enough about the pretty printer to make it optional or pretty-printer directed). 2020-04-05T16:32:37Z peterhil quit (Read error: Connection reset by peer) 2020-04-05T16:33:01Z pjb: eta: this means, that for standard-objects you will also have to print the slots yourself, using the format you need to print them. 2020-04-05T16:37:39Z quazimodo quit (Ping timeout: 250 seconds) 2020-04-05T16:40:30Z gko quit (Ping timeout: 256 seconds) 2020-04-05T16:44:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T16:45:19Z jprajzne joined #lisp 2020-04-05T16:48:46Z pilne joined #lisp 2020-04-05T16:49:26Z jprajzne quit (Client Quit) 2020-04-05T16:49:37Z SlashLife quit (Excess Flood) 2020-04-05T16:49:49Z jprajzne joined #lisp 2020-04-05T16:53:25Z SlashLife joined #lisp 2020-04-05T16:54:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T16:55:31Z quazimodo joined #lisp 2020-04-05T16:57:12Z jprajzne joined #lisp 2020-04-05T16:59:55Z terpri quit (Remote host closed the connection) 2020-04-05T17:00:34Z terpri joined #lisp 2020-04-05T17:00:46Z eta: pjb, right, thank you :) 2020-04-05T17:01:00Z eta: now if only I could get SWANK to work with emacs :p 2020-04-05T17:01:11Z eta hacks further 2020-04-05T17:01:41Z pjb: eta: use slime. slime runs on emacs, and knows how to work with swank on CL. 2020-04-05T17:01:54Z eta: pjb, no, I am 2020-04-05T17:01:59Z eta: but it fails to bring up a REPL 2020-04-05T17:02:33Z eta: because it can't locate some contrib module or something 2020-04-05T17:02:35Z pjb: eta: when you type M-x slime RET, you can check what happens in the buffer *inferior-lisp* ; you may have an error in your rc files. 2020-04-05T17:02:46Z eta: pjb, this is a remote SWANK, sorry 2020-04-05T17:03:00Z eta: it's running on a different server that doesn't have any lisp stuff installed 2020-04-05T17:03:15Z orivej joined #lisp 2020-04-05T17:03:25Z pjb: eta: in that case, you may want to edit the contrib list, or use quicklisp slime-helper to help install and use it. https://github.com/quicklisp/quicklisp-slime-helper 2020-04-05T17:03:33Z pjb: eta: with (ql:quickload :quicklisp-slime-helper) 2020-04-05T17:03:42Z Jeanne-Kamikaze joined #lisp 2020-04-05T17:03:48Z eta: pjb, how does one edit the contrib list? 2020-04-05T17:03:52Z eta: that seems to be the issue 2020-04-05T17:04:03Z eta: I tried using Emacs' inferior REPL and it didn't really work ;P 2020-04-05T17:04:05Z pjb: eta: on that server, you should want to install quicklisp and use the quicklisp slime helper to install swank. 2020-04-05T17:04:28Z eta: pjb, is there no way to have it all saved in the one lisp image? 2020-04-05T17:04:35Z pjb: eta: yes, if you use M-x slime-connet, then *inferior-lisp* won't be used. Slime will communicate thru the network to the remote CL. 2020-04-05T17:04:46Z eta: pjb, that's what I'm doing 2020-04-05T17:04:55Z eta: it fails partway through connection with the above error 2020-04-05T17:04:59Z Kundry_Wag quit (Remote host closed the connection) 2020-04-05T17:05:03Z pjb: eta: you can indeed load swank and save an image with it. But you will have to start the swank server when you boot the image. 2020-04-05T17:05:09Z pjb: This can be done. 2020-04-05T17:05:13Z eta: I did 2020-04-05T17:06:51Z pjb: But for the contrib, indeed, additionnal CL files might have to be loaded from an external file. I don't know if there is a way to preload them automatically. Hacking swank, you could probably set up a lisp image with them preloaded. 2020-04-05T17:09:15Z jprajzne quit (Quit: jprajzne) 2020-04-05T17:09:40Z jprajzne joined #lisp 2020-04-05T17:15:48Z ArthurStrong left #lisp 2020-04-05T17:20:17Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-05T17:40:38Z Kundry_Wag joined #lisp 2020-04-05T17:42:03Z buffergn0me joined #lisp 2020-04-05T17:44:33Z Inline quit (Ping timeout: 272 seconds) 2020-04-05T17:45:54Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-05T17:47:58Z terpri quit (Remote host closed the connection) 2020-04-05T17:48:20Z terpri joined #lisp 2020-04-05T17:49:43Z jprajzne quit (Quit: jprajzne) 2020-04-05T17:50:16Z jprajzne joined #lisp 2020-04-05T17:54:15Z jprajzne quit (Client Quit) 2020-04-05T17:54:27Z iAmDecim joined #lisp 2020-04-05T17:55:20Z jprajzne joined #lisp 2020-04-05T17:59:44Z jprajzne quit (Client Quit) 2020-04-05T17:59:46Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-05T18:05:03Z jprajzne joined #lisp 2020-04-05T18:06:20Z iAmDecim joined #lisp 2020-04-05T18:09:44Z jprajzne quit (Client Quit) 2020-04-05T18:10:19Z jprajzne joined #lisp 2020-04-05T18:11:22Z jmercouris joined #lisp 2020-04-05T18:11:45Z jmercouris: can someone give me a practical example of using define-symbol-macro? 2020-04-05T18:11:50Z jmercouris: what could it be useful for? 2020-04-05T18:12:59Z eta: jmercouris, how about in COND clauses where you want to not have magic numbers 2020-04-05T18:13:16Z jmercouris: why wouldn't you do a defparameter in a top level form? 2020-04-05T18:13:20Z eta: sorry, CASE* 2020-04-05T18:13:22Z jmercouris: or lexically bind? 2020-04-05T18:13:27Z eta: I think I tried that and it didn't work 2020-04-05T18:13:29Z eta: but I may be stupid 2020-04-05T18:13:55Z eta: jmercouris, yeah, no, that was why 2020-04-05T18:14:15Z jprajzne quit (Client Quit) 2020-04-05T18:14:23Z eta: https://theta.eu.org/lx/jmiw8quv.txt 2020-04-05T18:14:42Z jmercouris: interesting 2020-04-05T18:15:19Z jmercouris: so in this case your keyform is evaluated to t? 2020-04-05T18:15:20Z _death: eta: how would define-symbol-macro help you there 2020-04-05T18:15:23Z jmercouris: instead of the value of 1? 2020-04-05T18:15:39Z eta: _death, because it substitutes *test* for 1 at compile time? 2020-04-05T18:16:15Z _death: eta: have you tried it? 2020-04-05T18:16:45Z Bike: it won't work, just to skip ahead a bit. case keys aren't evaluated so they aren't macroexpanded. 2020-04-05T18:16:56Z eta: ah bollocks 2020-04-05T18:17:01Z eta: hmmm 2020-04-05T18:17:04Z jmercouris: http://dpaste.com/2HW1Z27 2020-04-05T18:17:14Z eta: what was I thinking of then... 2020-04-05T18:17:15Z _death: jmercouris: one use of d-s-m is to simulate nonspecial global variables 2020-04-05T18:17:30Z jmercouris: non special global variables 2020-04-05T18:17:32Z jmercouris: what are those? 2020-04-05T18:17:38Z jackdaniel: nothing special 2020-04-05T18:17:47Z eta: oh yeah, no I thought I could use it with CASE and I couldn't 2020-04-05T18:17:50Z eta: and used a COND instead 2020-04-05T18:17:56Z eta: dunno why they stayed symbol macros after that 2020-04-05T18:18:04Z jmercouris: oh I SEE 2020-04-05T18:18:09Z jmercouris: you wanted one of your cases to be the value of some variable 2020-04-05T18:18:13Z eta: yeah 2020-04-05T18:18:20Z eta: and I thought I could be clever and it didn't work out : ( 2020-04-05T18:18:25Z eta: :(* 2020-04-05T18:19:05Z jmercouris: apparently you mean a dynamic variable? 2020-04-05T18:19:36Z _death: for example http://rpw3.org/hacks/lisp/deflex.lisp 2020-04-05T18:19:40Z jprajzne joined #lisp 2020-04-05T18:19:58Z mrrevolt quit (Quit: Connection closed for inactivity) 2020-04-05T18:21:45Z jackdaniel: historical note: define-symbol-macro was added for compatibility with islispa long with the lambda macro 2020-04-05T18:21:58Z jackdaniel: islisp along* 2020-04-05T18:25:09Z jmercouris: so 2020-04-05T18:25:22Z jmercouris: backing var is in a separate package so that you can't just setf it to like a new value or something? 2020-04-05T18:28:31Z _death: no, the backing var is just to provide a storage place.. the point is that with (deflex foo 42) (defun tofu () (* foo 2)) (let ((foo 123)) (tofu)) => 84 2020-04-05T18:29:38Z jmercouris: I see 2020-04-05T18:29:55Z jmercouris: but I was asking why backing-var is interned in a separate package 2020-04-05T18:30:06Z _death: you can also define other kinds of globals using d-s-m 2020-04-05T18:30:26Z Bike: it's not interned in a separate package, is it? 2020-04-05T18:30:32Z Inline joined #lisp 2020-04-05T18:30:34Z Bike: it's interned in the package of the variable. 2020-04-05T18:30:44Z jmercouris: ah you're right 2020-04-05T18:30:47Z jmercouris: whoops 2020-04-05T18:31:23Z Involuntary joined #lisp 2020-04-05T18:31:43Z jmercouris: so using deflex is the closest you could get to a constant in something like CL? 2020-04-05T18:31:55Z Bike: it's not constant. 2020-04-05T18:32:10Z jmercouris: well, it can't be dynamically bound 2020-04-05T18:32:19Z Bike: it can be setf'd, and it can be lexically bound. 2020-04-05T18:32:24Z jmercouris: yeah 2020-04-05T18:32:29Z Bike: so, it's not constant. 2020-04-05T18:32:32Z jmercouris: what's the closest you could get to a constant? 2020-04-05T18:32:36Z Bike: clhs defconstant 2020-04-05T18:32:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defcon.htm 2020-04-05T18:32:43Z jmercouris: they can be setfd if I'm not mistaken 2020-04-05T18:32:56Z phoe: jmercouris: https://github.com/lmj/global-vars 2020-04-05T18:32:57Z Bike: constant variables cannot be setf'd. 2020-04-05T18:32:58Z _death: here's a toy I wrote some years ago https://gist.github.com/death/51c42a208445cd797b119aadf30c0245 2020-04-05T18:33:02Z phoe: except no rebinding here 2020-04-05T18:34:13Z jmercouris: phoe: I like! 2020-04-05T18:34:14Z Jeanne-Kamikaze quit (Ping timeout: 265 seconds) 2020-04-05T18:35:35Z jmercouris: any other examples for define-symbol-macro? 2020-04-05T18:36:22Z _death: defpersisted variables are lazily initialized 2020-04-05T18:36:32Z bars0 joined #lisp 2020-04-05T18:37:04Z jmercouris: _death: you mean defparamater and defvar? 2020-04-05T18:37:16Z _death: I mean the stuff in the gist I just mentioned 2020-04-05T18:38:31Z jmercouris: I don't understand the decision to use a database for this 2020-04-05T18:38:35Z jmercouris: why not just save and read from a file? 2020-04-05T18:39:13Z shangul quit (Ping timeout: 264 seconds) 2020-04-05T18:39:17Z _death: what if you have 2 variables? 2020-04-05T18:40:50Z _death: what if you want to extend it later on in some ways? say versioning or whatever 2020-04-05T18:40:52Z jmercouris: 2 sexps? 2020-04-05T18:41:12Z jmercouris: we used to use a database for bookmarks for example in Next, but found saving SEXPs to a file much more flexible 2020-04-05T18:42:25Z terpri quit (Remote host closed the connection) 2020-04-05T18:42:34Z _death: sqlite is not a traditional database management system (see https://www.sqlite.org/whentouse.html ) .. how were sexps more flexible? 2020-04-05T18:42:50Z terpri joined #lisp 2020-04-05T18:43:42Z hiroaki joined #lisp 2020-04-05T18:47:52Z jmercouris: dont have to update schema to add/remove fields 2020-04-05T18:48:20Z jmercouris: when everything can be stored in memory, it is easier to do so 2020-04-05T18:48:31Z jmercouris: easier to manipulate 2020-04-05T18:48:57Z jcowan: In fact, sexps are perfectly matched to dynamic typing 2020-04-05T18:49:21Z jcowan: and so is ASN.1 BER if you ignore the schema part of it, which has most of the complexity 2020-04-05T18:49:37Z jcowan: "dynamically typed binary representations" 2020-04-05T18:49:53Z Steinberg2010 joined #lisp 2020-04-05T18:50:09Z jmercouris: I can't tell if you are being sarcastic or not 2020-04-05T18:51:37Z jackdaniel: not using a database for data managament is a bad practice, *especially* that there is such great solution as sqlite 2020-04-05T18:52:57Z jackdaniel: having all in plain text as sexps gives you initially impression, that you do not have to update the schema, but then when you need to update it (i.e you change the format and you update on a system which already runs), you lose big 2020-04-05T18:53:36Z nika quit 2020-04-05T18:53:48Z jmercouris: you don't need to update it, you can have migrated and unmigrated data in the same file 2020-04-05T18:53:59Z aeth: text is for configuration, not data... you have to manually migrate if you put it in s-expressions... or, I guess, version it 2020-04-05T18:54:05Z jmercouris: and when you do need to update it, well you would be writing SQL transformations anyways 2020-04-05T18:54:43Z donotturnoff quit (Ping timeout: 265 seconds) 2020-04-05T18:54:49Z jackdaniel: this is an example where a difference between "simple" and "easy" is very apparent 2020-04-05T18:55:12Z jmercouris: it's not like I don't know both approaches in this application 2020-04-05T18:55:18Z jmercouris: I've implemented both of them 2020-04-05T18:55:30Z jmercouris: and let me tell you, sqlite is great, but it is no panacea 2020-04-05T18:55:40Z jackdaniel: nobody said it is a panacea 2020-04-05T18:55:48Z jmercouris: it is no panacea with regard to persistence 2020-04-05T18:55:51Z jackdaniel: but it is clearly a cure for storing data in text files 2020-04-05T18:56:07Z jmercouris: i disagree, it is often too heavy a solution 2020-04-05T18:56:13Z jmercouris: very powerful, but not necessary 2020-04-05T18:56:19Z jmercouris: sometimes a CSV will more than suffice, for example 2020-04-05T18:56:23Z jackdaniel: well, all I can say is that it is your foot, not mine 2020-04-05T18:56:40Z jmercouris: I believe in judgement on a case by case basis 2020-04-05T18:57:23Z Steinberg2010 quit (Ping timeout: 272 seconds) 2020-04-05T19:03:44Z jackdaniel: "Good!" [1] https://www.youtube.com/watch?v=H0FBGrtAicY ;) 2020-04-05T19:04:23Z buffergn0me: Another plus for s-expressions in files is less dependencies - the code and data will be easier to read and the system to run 20 years from now 2020-04-05T19:04:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T19:06:37Z jprajzne joined #lisp 2020-04-05T19:06:58Z _death: sqlite has a well-specified binary format, that will also be readable in 20 years 2020-04-05T19:07:27Z jmercouris: can you read an SQL binary with a text editor? 2020-04-05T19:07:29Z _death: if you need to store large arrays, say images, a binary format makes sense 2020-04-05T19:07:50Z hiroaki quit (Quit: Leaving) 2020-04-05T19:08:17Z jmercouris quit (Remote host closed the connection) 2020-04-05T19:09:29Z _death: if you have a flat file of sexps, then looking up the value for a particular variable would be slow 2020-04-05T19:10:20Z _death: these arguments are age old.. when I wrote this defpersist toy, I chose sqlite because it worked well with my perceived use cases 2020-04-05T19:10:26Z _death: although I do not use it nowadays 2020-04-05T19:10:39Z buffergn0me: Before sqlite, it was Berkeley DB, and before that it was dbm 2020-04-05T19:11:05Z _death: buffergn0me: those are key-value stores.. I did not want to use one 2020-04-05T19:11:32Z jackdaniel: and before dbm there were text files, and before that there were sheets of paper ,) 2020-04-05T19:11:41Z tutti joined #lisp 2020-04-05T19:11:47Z jackdaniel: and before that were people with a really really good memory 2020-04-05T19:11:49Z _death: I had similar hacks involving redis though 2020-04-05T19:12:20Z bars0 quit (Quit: leaving) 2020-04-05T19:13:13Z buffergn0me: I think that Interlisp showed that s-expressions in files go a really long way 2020-04-05T19:16:43Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-05T19:19:15Z jprajzne quit (Quit: jprajzne) 2020-04-05T19:19:40Z jprajzne joined #lisp 2020-04-05T19:23:13Z sjl quit (Quit: WeeChat 2.2-dev) 2020-04-05T19:24:17Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-05T19:24:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T19:25:15Z jprajzne joined #lisp 2020-04-05T19:28:29Z cosimone quit (Remote host closed the connection) 2020-04-05T19:28:56Z cosimone joined #lisp 2020-04-05T19:29:15Z jprajzne quit (Client Quit) 2020-04-05T19:29:41Z jprajzne joined #lisp 2020-04-05T19:57:14Z adam4567 joined #lisp 2020-04-05T20:01:21Z dale joined #lisp 2020-04-05T20:04:02Z karlosz joined #lisp 2020-04-05T20:04:03Z karlosz quit (Remote host closed the connection) 2020-04-05T20:04:17Z karlosz joined #lisp 2020-04-05T20:11:45Z mn3m quit (Remote host closed the connection) 2020-04-05T20:12:13Z mn3m joined #lisp 2020-04-05T20:13:02Z zxcvz quit (Quit: Leaving) 2020-04-05T20:13:52Z tutti quit (Ping timeout: 260 seconds) 2020-04-05T20:21:05Z Kundry_Wag joined #lisp 2020-04-05T20:25:34Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-05T20:26:25Z Yoshido joined #lisp 2020-04-05T20:33:23Z z147 joined #lisp 2020-04-05T20:34:38Z sjl joined #lisp 2020-04-05T20:34:43Z anticrisis joined #lisp 2020-04-05T20:35:28Z space_otter joined #lisp 2020-04-05T20:38:30Z anticrisis quit (Client Quit) 2020-04-05T20:38:48Z anticrisis joined #lisp 2020-04-05T20:40:15Z Momonga joined #lisp 2020-04-05T20:40:22Z ggole quit (Quit: Leaving) 2020-04-05T20:40:42Z Phlute joined #lisp 2020-04-05T20:43:13Z FennecCode joined #lisp 2020-04-05T20:47:43Z heisig quit (Ping timeout: 260 seconds) 2020-04-05T20:49:26Z heisig joined #lisp 2020-04-05T20:52:00Z Kundry_Wag joined #lisp 2020-04-05T20:52:12Z heisig quit (Client Quit) 2020-04-05T20:52:25Z Momonga left #lisp 2020-04-05T20:57:00Z gravicappa quit (Ping timeout: 265 seconds) 2020-04-05T20:58:28Z adam4567: Problem running sbcl script at Linux prompt $ sbcl --script test-cm.lisp 2020-04-05T20:58:28Z adam4567: 2020-04-05T20:58:28Z adam4567: 2020-04-05T20:58:41Z adam4567: First lines of script are, 2020-04-05T20:58:41Z adam4567: (in-package :cl-user) 2020-04-05T20:58:41Z adam4567: (load "/home/adam/.sbclrc") 2020-04-05T20:58:41Z adam4567: (ql:quickload "/home/adam/.quicklisp/local-projects/cm/cm.asd") 2020-04-05T20:58:42Z v88m quit (Remote host closed the connection) 2020-04-05T20:58:44Z adam4567: (in-package :cm) 2020-04-05T20:58:48Z adam4567: 2020-04-05T20:58:51Z adam4567: My .sbclrc contains quicklisp's location ".quicklisp/setup.lisp"..etc, that seems OK 2020-04-05T20:58:54Z adam4567: 2020-04-05T20:58:57Z adam4567: The ASDF file stats OK, but sbcl error when loading .. ?? 2020-04-05T20:58:58Z v88m joined #lisp 2020-04-05T20:59:00Z adam4567: $ ll /home/adam/.quicklisp/local-projects/cm/cm.asd 2020-04-05T20:59:04Z adam4567: -rw-rw-r-- 1 adam adam 3985 Mar 19 23:56 /home/adam/.quicklisp/local-projects/cm/cm.asd 2020-04-05T20:59:07Z adam4567: 2020-04-05T20:59:36Z adam4567: Unhandled LOAD-SYSTEM-DEFINITION-ERROR in .. : Error while trying to load definition for system from pathname /home/adam/.quicklisp/quicklisp/: Can't LOAD a directory: #P"/home/adam/.quicklisp/quicklisp/". 2020-04-05T20:59:41Z jprajzne quit (Quit: jprajzne) 2020-04-05T20:59:59Z phoe: adam4567: *PLEASE* use a pastebin. 2020-04-05T21:00:04Z jprajzne joined #lisp 2020-04-05T21:00:10Z adam4567: Oh. OK 2020-04-05T21:00:20Z phoe: That's your first warning, and I hope I'll never get to issue another one. (; 2020-04-05T21:00:48Z phoe: Now - I wonder where ASDF gets a diretory pathname from... 2020-04-05T21:01:32Z phoe: shouldn't (ql:quickload "cm") be enough? 2020-04-05T21:02:51Z adam4567: that seems to .. improve matters 2020-04-05T21:03:50Z adam4567: no error as before. OK. Thanks. Will continue. 2020-04-05T21:04:15Z jprajzne quit (Client Quit) 2020-04-05T21:04:40Z jprajzne joined #lisp 2020-04-05T21:05:31Z markong quit (Ping timeout: 265 seconds) 2020-04-05T21:05:55Z markong joined #lisp 2020-04-05T21:11:26Z buffergn0me joined #lisp 2020-04-05T21:18:15Z adlai caught one POLITE-WARNING: undefined variable: #|#LISP|::*PLEASE* 2020-04-05T21:23:45Z cgay quit (Quit: leaving) 2020-04-05T21:29:41Z random-nick quit (Ping timeout: 265 seconds) 2020-04-05T21:29:50Z Lord_of_Life_ joined #lisp 2020-04-05T21:30:17Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-05T21:32:19Z Lord_of_Life quit (Ping timeout: 250 seconds) 2020-04-05T21:32:36Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-05T21:34:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T21:36:03Z markoong joined #lisp 2020-04-05T21:39:37Z jprajzne joined #lisp 2020-04-05T21:40:16Z markong quit (Ping timeout: 256 seconds) 2020-04-05T21:41:26Z markong joined #lisp 2020-04-05T21:45:11Z markoong quit (Ping timeout: 258 seconds) 2020-04-05T21:46:19Z markoong joined #lisp 2020-04-05T21:49:41Z jprajzne quit (Quit: jprajzne) 2020-04-05T21:50:04Z jprajzne joined #lisp 2020-04-05T21:50:32Z buffergn0me joined #lisp 2020-04-05T21:50:33Z markong quit (Ping timeout: 258 seconds) 2020-04-05T21:51:02Z markong joined #lisp 2020-04-05T21:54:51Z markoong quit (Ping timeout: 250 seconds) 2020-04-05T21:55:34Z markoong joined #lisp 2020-04-05T21:59:40Z dddddd joined #lisp 2020-04-05T21:59:50Z markong quit (Ping timeout: 265 seconds) 2020-04-05T22:02:00Z tutti joined #lisp 2020-04-05T22:08:37Z v88m quit (Ping timeout: 264 seconds) 2020-04-05T22:13:03Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-05T22:14:15Z jprajzne quit (Quit: jprajzne) 2020-04-05T22:15:51Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-05T22:19:47Z Phlute quit (Remote host closed the connection) 2020-04-05T22:21:40Z Oladon quit (Quit: Leaving.) 2020-04-05T22:21:50Z hhdave joined #lisp 2020-04-05T22:24:35Z iAmDecim joined #lisp 2020-04-05T22:29:00Z quazimodo quit (Ping timeout: 256 seconds) 2020-04-05T22:30:58Z monok quit (Quit: Leaving) 2020-04-05T22:33:52Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-05T22:34:53Z jprajzne joined #lisp 2020-04-05T22:35:52Z quazimodo joined #lisp 2020-04-05T22:36:11Z frgo quit (Remote host closed the connection) 2020-04-05T22:36:45Z frgo joined #lisp 2020-04-05T22:37:31Z rippa quit (Read error: Connection reset by peer) 2020-04-05T22:42:43Z Oladon joined #lisp 2020-04-05T22:43:54Z quazimodo quit (Ping timeout: 256 seconds) 2020-04-05T22:44:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T22:49:34Z shifty quit (Ping timeout: 256 seconds) 2020-04-05T22:54:39Z jprajzne joined #lisp 2020-04-05T22:55:19Z z147 quit (Quit: z147) 2020-04-05T22:56:59Z X-Scale quit (Ping timeout: 260 seconds) 2020-04-05T22:58:25Z X-Scale` joined #lisp 2020-04-05T22:59:03Z X-Scale` is now known as X-Scale 2020-04-05T22:59:44Z jprajzne quit (Quit: jprajzne) 2020-04-05T23:00:20Z Bourne quit (Ping timeout: 256 seconds) 2020-04-05T23:01:58Z quazimodo joined #lisp 2020-04-05T23:04:31Z cosimone_ joined #lisp 2020-04-05T23:04:47Z cosimone quit (Ping timeout: 260 seconds) 2020-04-05T23:04:55Z jprajzne joined #lisp 2020-04-05T23:12:09Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-05T23:14:45Z jprajzne quit (Quit: jprajzne) 2020-04-05T23:15:18Z jprajzne joined #lisp 2020-04-05T23:19:15Z jprajzne quit (Client Quit) 2020-04-05T23:20:35Z nicktick joined #lisp 2020-04-05T23:35:05Z jprajzne joined #lisp 2020-04-05T23:37:58Z srandon111 quit (Remote host closed the connection) 2020-04-05T23:39:15Z jprajzne quit (Client Quit) 2020-04-05T23:39:38Z jprajzne joined #lisp 2020-04-05T23:47:37Z mathrick quit (Ping timeout: 264 seconds) 2020-04-05T23:47:38Z quazimodo quit (Read error: Connection reset by peer) 2020-04-05T23:50:03Z quazimodo joined #lisp 2020-04-05T23:53:06Z sendai_ quit (Remote host closed the connection) 2020-04-05T23:53:21Z sendai_ joined #lisp 2020-04-05T23:55:38Z markong joined #lisp 2020-04-05T23:55:42Z choegusung joined #lisp 2020-04-05T23:55:44Z choegusung quit (Client Quit) 2020-04-05T23:55:47Z Jesin quit (Quit: Leaving) 2020-04-05T23:59:42Z markoong quit (Ping timeout: 265 seconds) 2020-04-05T23:59:44Z jprajzne quit (Quit: jprajzne) 2020-04-06T00:00:20Z jprajzne joined #lisp 2020-04-06T00:02:03Z Jesin joined #lisp 2020-04-06T00:04:15Z jprajzne quit (Client Quit) 2020-04-06T00:09:32Z tutti quit (Ping timeout: 260 seconds) 2020-04-06T00:10:03Z dilated_dinosaur quit (Ping timeout: 250 seconds) 2020-04-06T00:11:38Z efm quit (Read error: Connection reset by peer) 2020-04-06T00:14:36Z markoong joined #lisp 2020-04-06T00:14:49Z arduo quit (Ping timeout: 250 seconds) 2020-04-06T00:18:52Z markong quit (Ping timeout: 256 seconds) 2020-04-06T00:24:39Z jprajzne joined #lisp 2020-04-06T00:39:55Z terpri quit (Remote host closed the connection) 2020-04-06T00:40:20Z terpri joined #lisp 2020-04-06T00:42:20Z markoong quit (Ping timeout: 256 seconds) 2020-04-06T00:46:53Z mathrick joined #lisp 2020-04-06T00:49:31Z Inline quit (Ping timeout: 272 seconds) 2020-04-06T00:51:00Z Kundry_Wag quit (Remote host closed the connection) 2020-04-06T00:51:33Z Kundry_Wag joined #lisp 2020-04-06T00:54:14Z ym555_ quit (Ping timeout: 240 seconds) 2020-04-06T00:56:12Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-06T00:56:39Z wxie joined #lisp 2020-04-06T01:01:38Z iAmDecim joined #lisp 2020-04-06T01:03:27Z bitmapper quit (Ping timeout: 260 seconds) 2020-04-06T01:03:37Z FennecCode quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-06T01:14:44Z jprajzne quit (Quit: jprajzne) 2020-04-06T01:18:54Z wxie1 joined #lisp 2020-04-06T01:19:36Z efm joined #lisp 2020-04-06T01:19:50Z jprajzne joined #lisp 2020-04-06T01:22:00Z wxie quit (Ping timeout: 256 seconds) 2020-04-06T01:22:00Z wxie1 is now known as wxie 2020-04-06T01:23:43Z dtman34 quit (Ping timeout: 250 seconds) 2020-04-06T01:23:45Z gko joined #lisp 2020-04-06T01:28:27Z Oladon quit (Quit: Leaving.) 2020-04-06T01:29:41Z wxie1 joined #lisp 2020-04-06T01:30:54Z wxie quit (Ping timeout: 240 seconds) 2020-04-06T01:30:55Z wxie1 is now known as wxie 2020-04-06T01:33:51Z v88m joined #lisp 2020-04-06T01:34:23Z renzhi joined #lisp 2020-04-06T01:34:41Z jprajzne quit (Quit: jprajzne) 2020-04-06T01:35:02Z jprajzne joined #lisp 2020-04-06T01:35:38Z Kundry_Wag joined #lisp 2020-04-06T01:43:00Z KDr24 joined #lisp 2020-04-06T01:49:26Z jprajzne quit (Quit: jprajzne) 2020-04-06T01:49:41Z logand` joined #lisp 2020-04-06T01:49:51Z jprajzne joined #lisp 2020-04-06T01:53:11Z logand quit (Ping timeout: 250 seconds) 2020-04-06T01:57:07Z ebzzry joined #lisp 2020-04-06T02:14:44Z jprajzne quit (Quit: jprajzne) 2020-04-06T02:25:43Z elderK joined #lisp 2020-04-06T02:26:21Z elderK: Hey guys, what's the equivalent of enumerations in CL? Is there such a thing? 2020-04-06T02:26:41Z elderK: The reason I ask, instead of just using symbols, is that for efficiency, I'd like to represent something as a 2D array. Say, a transition table. 2020-04-06T02:26:47Z elderK: Each symbol would map to an integer index. 2020-04-06T02:27:09Z elderK: Failing that, I might invent yet another "state machine" macro :P 2020-04-06T02:27:56Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-06T02:28:20Z wxie1 joined #lisp 2020-04-06T02:29:49Z jprajzne joined #lisp 2020-04-06T02:31:17Z wxie quit (Ping timeout: 260 seconds) 2020-04-06T02:31:20Z wxie1 is now known as wxie 2020-04-06T02:36:57Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-06T02:38:26Z SGASAU quit (Remote host closed the connection) 2020-04-06T02:38:46Z pjb: elderK: see com.informatimago.common-lisp.cesarum.utility:defenum 2020-04-06T02:38:52Z conjunctive: Hi all, just released a Huet-style zippers library for CL: https://github.com/conjunctive/zip 2020-04-06T02:39:00Z SGASAU joined #lisp 2020-04-06T02:39:03Z conjunctive: This is my first try working heavily with type declarations in SBCL. 2020-04-06T02:39:05Z conjunctive: Also, working with FSet has been fantastic! Coming from Clojure I felt right at home. 2020-04-06T02:42:14Z pjb: elderK: there are other variants. see for example: ccl::defenum 2020-04-06T02:44:11Z mrrevolt joined #lisp 2020-04-06T02:44:30Z broccolistem joined #lisp 2020-04-06T02:46:32Z asarch joined #lisp 2020-04-06T02:46:35Z elderK: Thanks pjb 2020-04-06T02:48:42Z LdBeth: good evening 2020-04-06T02:50:16Z elderK: pjb: If using a case statement, would this require translating the integer back to a symbol, and such 2020-04-06T02:50:19Z elderK: ? 2020-04-06T02:51:15Z shifty joined #lisp 2020-04-06T02:52:45Z LdBeth: elderK: for ccl::defenum, no 2020-04-06T02:53:04Z LdBeth: it just defines a symbol macro 2020-04-06T02:53:43Z elderK: Ah, I have not heard of symbol macros. 2020-04-06T02:53:45Z elderK: I will read up :) 2020-04-06T02:54:37Z broccolistem quit (Ping timeout: 260 seconds) 2020-04-06T02:55:47Z wxie quit (Ping timeout: 260 seconds) 2020-04-06T02:57:02Z shifty quit (Ping timeout: 256 seconds) 2020-04-06T02:58:30Z elderK: LdBeth: defconstant defines symbol macros? 2020-04-06T02:58:48Z libertyprime joined #lisp 2020-04-06T02:59:41Z beach: Good morning everyone! 2020-04-06T02:59:45Z Oladon joined #lisp 2020-04-06T03:00:04Z pjb: elderK: your defenum macro expansion could include a case- macro… 2020-04-06T03:00:07Z adlai: elderK: if you want to roll-your-own, i recommend an eq table from symbols to numbers; anyone concerned about the backlinks deserves the algorithmic complexity. 2020-04-06T03:00:52Z elderK: adlai: an eq table? 2020-04-06T03:01:00Z pjb: elderK: defconstant defines constant variables. Theorically, they could be implemented as symbol-macros, but implementations define them natively, to be able to detect bindings at compilation time, and for keywords. 2020-04-06T03:01:58Z elderK: Good morning, beach! 2020-04-06T03:02:37Z pjb: elderK: well, defining constant variables as symbol-macro wouldn't let you prevent binding them. 2020-04-06T03:02:54Z adlai: elderK: instead of a 2D array containing symbols designating the elements within the enum, (make-hash-table :test #'eq) for mapping symbols to offsets within the array; then, you don't even have to allocate that array if it's prohibitively large. 2020-04-06T03:03:12Z shifty joined #lisp 2020-04-06T03:04:44Z jprajzne quit (Quit: jprajzne) 2020-04-06T03:04:59Z adlai: have fun doing pointer arithmetic on enumerations :) 2020-04-06T03:05:22Z elderK: adlai: I'd rather avoid a hashlookup every time I need the integer value of some symbol. 2020-04-06T03:05:44Z elderK: I need to learn more about the case form. Are the things it matches against even evaluated? 2020-04-06T03:06:09Z pjb: elderK: you have to define boundaries, outside of which the symbols are used and inside of which the integers are used. 2020-04-06T03:06:27Z pjb: elderK: I like to use conversion functions to cross thos boundaries. 2020-04-06T03:07:09Z pjb: elderK: If you define constant variables, they have to be defined at compilation-time, so you can use them with #. in case forms processing the integer values. 2020-04-06T03:07:37Z pjb: In all cases, I don't see the point of using a hash-table, conversion functions can just use case. 2020-04-06T03:14:26Z adlai: elderK: if you'd like to reoptimize an eq hashtable once you're convinced that the enum's membership set has settled, you can verify that hash-table-count and hash-table-size are sufficiently far apart, and then call rehash; however, this is all an implementation detail, and your enum lookups should happen at compile-time 2020-04-06T03:14:37Z jprajzne joined #lisp 2020-04-06T03:15:03Z adlai may be talking slightly outside the spec here 2020-04-06T03:16:27Z adlai: myeah, there's no cl:rehash, although the desired side-effect is to rebuild the hashtable, without another call to make-hash-table, so that optimizers who pay attention to the membership set have an opportunity to work 2020-04-06T03:18:07Z Bike: elderK: the case macro does not evaluate the keys, no. 2020-04-06T03:19:17Z Bike: each case has a list of keys that are checked against with eql. if a clause key is T or OTHERWISE it's a default. if a clause key is some other object that counts as a list of one object. that's about it. 2020-04-06T03:19:43Z jprajzne quit (Quit: jprajzne) 2020-04-06T03:20:19Z jprajzne joined #lisp 2020-04-06T03:21:14Z elderK: Bike: Nuts. 2020-04-06T03:21:16Z adlai: maybe elderK is just asking "how is case implemented, when i reserve the right to use as many distinct keys as the size of some mystery 2D program text" 2020-04-06T03:22:05Z Bike: it means it can be compiled into a jump table sometimes. that's nice. but it's fundamentally a pretty static operator. 2020-04-06T03:22:17Z Bike: you could whip up something with cond if you want evaluated keys, of course 2020-04-06T03:23:23Z adlai: elderK: you may find the string-case macro implements exactly what you didn't think you were asking, if you want the enum members to exist at runtime 2020-04-06T03:23:25Z elderK: Bike: Aye. It's just I see (cond ...) as a bunch of if statements :P 2020-04-06T03:23:36Z Bike: well, good, because that's what it is 2020-04-06T03:23:39Z elderK: I see case as something "hopefully" much more efficient, somewhat like switch in C. 2020-04-06T03:23:44Z Bike: Yes 2020-04-06T03:23:48Z Bike: it is, exactly 2020-04-06T03:23:49Z beach: Those would be forms, not statements. 2020-04-06T03:24:13Z Bike: and C switch only works with constant expressions, no? 2020-04-06T03:24:20Z elderK: Correct. 2020-04-06T03:24:23Z GuerrillaMonkey joined #lisp 2020-04-06T03:25:42Z Bike: so that's how cl:case works as well. C does have a more expansive concept of constant expressions, though. 2020-04-06T03:27:03Z elderK: :( Aye, but if I define something, say, (defconstant foo 3) 2020-04-06T03:27:10Z adlai: there is a string-case library that builds a table from strings at compile time, and evaluates the key at run time, although it is not supposed to be abused as a replacement for enumerations 2020-04-06T03:27:11Z Involuntary quit (Ping timeout: 260 seconds) 2020-04-06T03:27:13Z elderK: and try to use that in a case, (case foo ...) 2020-04-06T03:27:21Z Bike: right, that's what I meant. 2020-04-06T03:27:21Z igemnace joined #lisp 2020-04-06T03:27:22Z elderK: foo will be evaluated, no? But the keys in the case clauses wont. 2020-04-06T03:27:27Z Bike: C allows that, lisp does not. 2020-04-06T03:27:38Z Bike: you can probably (ab)use the #. syntax for that though. 2020-04-06T03:27:48Z elderK: That seems painful. 2020-04-06T03:27:55Z Bike: it's not that bad. 2020-04-06T03:28:08Z adlai: elderK: in your example, the symbol foo might never be evaluated after the compiler hits defconstant 2020-04-06T03:28:09Z Bike: (case expr (#.foo ...whatever code...)) 2020-04-06T03:29:09Z Bike: the macro trying to evaluate the keys would be a problem because A) it needs a list, and B) case is actually used with literal unevaluated symbols a fair bit 2020-04-06T03:29:15Z jprajzne quit (Quit: jprajzne) 2020-04-06T03:29:20Z Bike: might be interesting to think about an expansion of what constant expressions are good for, tho 2020-04-06T03:29:41Z jprajzne joined #lisp 2020-04-06T03:29:47Z elderK: :( So, what's the idiomatic equivalent to a C enumeration, and switching on enumerants? Or using those enumerants as indices? 2020-04-06T03:30:08Z Bike: usually we use symbols instead of enumeration constants. 2020-04-06T03:30:37Z Bike: iirc sbcl is smart enough to reduce a case on symbols ot a jump table, so that's cool 2020-04-06T03:30:50Z elderK: That is cool. 2020-04-06T03:31:18Z elderK: So then, if I want to have a mapping between symbols and integer indices, I need a map of somesort. 2020-04-06T03:31:27Z elderK: Either a case statement say, or a cond, or a hash table. 2020-04-06T03:32:00Z Bike: yeah. well, just define a symbol->integer function that everything uses, and stress about the best way to implement it later 2020-04-06T03:33:18Z elderK: So, let's say we use #.SOME-NAME 2020-04-06T03:33:47Z elderK: What environment would that SOME-NAME be retrieved from? 2020-04-06T03:34:09Z Bike: the compilation environment 2020-04-06T03:34:29Z elderK: Right, so i'd have to ensure that my constants were visible via eval-when, correct? 2020-04-06T03:34:31Z Bike: if the implementation evaluates defconstants at compile time, as most do, that works fine. if you wanna be paranoid you can put an eval-when on 2020-04-06T03:34:44Z Bike: i mean, (defconstant +foo+ 3) will usually be fine by itself 2020-04-06T03:34:44Z jprajzne quit (Quit: jprajzne) 2020-04-06T03:34:49Z Bike: anyway imma sleep bye bye 2020-04-06T03:34:50Z Bike quit (Quit: leaving) 2020-04-06T03:35:20Z jprajzne joined #lisp 2020-04-06T03:35:31Z elderK: Goodnight Bike, thanks for your help. 2020-04-06T03:36:08Z cosimone_ quit (Quit: Quit.) 2020-04-06T03:38:22Z elderK: Well, nuts. That is disappointing :( 2020-04-06T03:38:29Z renzhi quit (Ping timeout: 250 seconds) 2020-04-06T03:40:33Z momozor joined #lisp 2020-04-06T03:42:17Z adlai: what are you disappointed about ? 2020-04-06T03:43:54Z adam4567 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-06T03:45:42Z EvW joined #lisp 2020-04-06T03:55:33Z adam4567 joined #lisp 2020-04-06T03:57:59Z aeth: elderK: The most idiomatic equivalent to an enum is a member type, e.g. (deftype color () '(member :red :green :blue)) (typep :red 'color) 2020-04-06T03:58:45Z aeth: Of course it doesn't actually have an (accessible) associated number until you define an ECASE that maps it to a number, as Bike said. 2020-04-06T03:59:02Z aeth: A macro that generates both at the same time shouldn't be too hard. 2020-04-06T03:59:41Z torbo joined #lisp 2020-04-06T04:00:00Z asarch quit (Quit: Leaving) 2020-04-06T04:02:42Z akoana joined #lisp 2020-04-06T04:20:14Z sauvin quit (Ping timeout: 240 seconds) 2020-04-06T04:24:15Z jprajzne quit (Quit: jprajzne) 2020-04-06T04:24:55Z jprajzne joined #lisp 2020-04-06T04:34:03Z xaotuk quit (Ping timeout: 265 seconds) 2020-04-06T04:34:41Z sauvin joined #lisp 2020-04-06T04:34:45Z pilne quit (Quit: Clap on! , Clap off! Clap@#&$NO CARRIER) 2020-04-06T04:35:23Z dmiles quit 2020-04-06T04:36:40Z nmg joined #lisp 2020-04-06T04:38:35Z EvW quit (Ping timeout: 265 seconds) 2020-04-06T04:39:50Z vlatkoB joined #lisp 2020-04-06T04:53:55Z mrrevolt quit (Quit: Connection closed for inactivity) 2020-04-06T04:55:59Z Oladon quit (Quit: Leaving.) 2020-04-06T04:58:34Z shangul joined #lisp 2020-04-06T04:59:29Z akoana left #lisp 2020-04-06T05:01:41Z ebzzry_ joined #lisp 2020-04-06T05:01:53Z GuerrillaMonkey quit (Remote host closed the connection) 2020-04-06T05:02:14Z ebzzry quit (Read error: Connection reset by peer) 2020-04-06T05:02:36Z lemoinem quit (Killed (livingstone.freenode.net (Nickname regained by services))) 2020-04-06T05:02:37Z lemoinem joined #lisp 2020-04-06T05:14:59Z narimiran joined #lisp 2020-04-06T05:15:18Z dmiles joined #lisp 2020-04-06T05:17:02Z ArthurStrong joined #lisp 2020-04-06T05:19:55Z wxie joined #lisp 2020-04-06T05:20:21Z elderK quit (Quit: WeeChat 2.8) 2020-04-06T05:33:08Z nicktick quit (Quit: Leaving.) 2020-04-06T05:34:21Z nicktick joined #lisp 2020-04-06T05:35:33Z nicktick quit (Client Quit) 2020-04-06T05:39:27Z gravicappa joined #lisp 2020-04-06T05:41:35Z wooden quit (Ping timeout: 260 seconds) 2020-04-06T05:49:43Z wooden joined #lisp 2020-04-06T05:49:43Z wooden quit (Changing host) 2020-04-06T05:49:43Z wooden joined #lisp 2020-04-06T05:50:29Z wxie quit (Ping timeout: 258 seconds) 2020-04-06T05:57:18Z torbo quit (Remote host closed the connection) 2020-04-06T06:06:02Z ggole joined #lisp 2020-04-06T06:22:20Z dddddd quit (Ping timeout: 256 seconds) 2020-04-06T06:23:14Z tsrt^ quit (Ping timeout: 256 seconds) 2020-04-06T06:23:34Z tsrt^ joined #lisp 2020-04-06T06:26:50Z Yoshido quit 2020-04-06T06:29:12Z ebrasca joined #lisp 2020-04-06T06:32:45Z Cymew joined #lisp 2020-04-06T06:32:55Z terpri quit (Remote host closed the connection) 2020-04-06T06:33:21Z terpri joined #lisp 2020-04-06T06:34:45Z jprajzne quit (Quit: jprajzne) 2020-04-06T06:42:05Z random-nick joined #lisp 2020-04-06T06:44:55Z jprajzne joined #lisp 2020-04-06T06:49:45Z jprajzne quit (Quit: jprajzne) 2020-04-06T06:53:10Z jprajzne joined #lisp 2020-04-06T06:53:38Z cmatei quit (Ping timeout: 240 seconds) 2020-04-06T06:54:15Z jprajzne quit (Client Quit) 2020-04-06T06:54:38Z jprajzne joined #lisp 2020-04-06T07:00:51Z arduo joined #lisp 2020-04-06T07:02:54Z v88m quit (Ping timeout: 256 seconds) 2020-04-06T07:05:04Z cmatei joined #lisp 2020-04-06T07:05:27Z quazimodo quit (Ping timeout: 260 seconds) 2020-04-06T07:07:05Z quazimodo joined #lisp 2020-04-06T07:07:58Z Bourne joined #lisp 2020-04-06T07:13:34Z tiwEllien joined #lisp 2020-04-06T07:14:00Z tiwEllien quit (Client Quit) 2020-04-06T07:14:48Z tiwEllien joined #lisp 2020-04-06T07:25:05Z arduo quit (Remote host closed the connection) 2020-04-06T07:30:34Z lisper29 joined #lisp 2020-04-06T07:33:54Z nicktick joined #lisp 2020-04-06T07:36:00Z KDr24 quit (Ping timeout: 256 seconds) 2020-04-06T07:38:36Z Necktwi quit (Ping timeout: 256 seconds) 2020-04-06T07:54:39Z KDr24 joined #lisp 2020-04-06T07:55:08Z lisper29 left #lisp 2020-04-06T07:55:28Z Necktwi joined #lisp 2020-04-06T07:56:03Z anticrisis quit (Quit: Leaving) 2020-04-06T07:56:10Z dilated_dinosaur joined #lisp 2020-04-06T07:58:58Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-06T08:06:02Z _whitelogger quit (Remote host closed the connection) 2020-04-06T08:08:15Z _whitelogger joined #lisp 2020-04-06T08:17:12Z vhost- quit (Ping timeout: 260 seconds) 2020-04-06T08:19:22Z v_m_v joined #lisp 2020-04-06T08:21:45Z shangul quit (Remote host closed the connection) 2020-04-06T08:22:07Z shangul joined #lisp 2020-04-06T08:27:02Z ebzzry_ joined #lisp 2020-04-06T08:29:43Z Aurora_iz_kosmos quit (Ping timeout: 240 seconds) 2020-04-06T08:30:58Z space_otter quit (Remote host closed the connection) 2020-04-06T08:35:06Z Aurora_iz_kosmos joined #lisp 2020-04-06T08:50:09Z fivo joined #lisp 2020-04-06T08:53:36Z Cymew quit (Ping timeout: 265 seconds) 2020-04-06T09:16:07Z davepdotorg quit (Remote host closed the connection) 2020-04-06T09:16:34Z davepdotorg joined #lisp 2020-04-06T09:23:07Z Cymew joined #lisp 2020-04-06T09:29:37Z Lord_of_Life_ joined #lisp 2020-04-06T09:32:27Z shifty quit (Ping timeout: 265 seconds) 2020-04-06T09:33:18Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-06T09:33:18Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-06T09:37:20Z cajetanp joined #lisp 2020-04-06T09:37:22Z cajetanp left #lisp 2020-04-06T09:39:24Z gxt quit (Quit: WeeChat 2.8) 2020-04-06T09:41:38Z frgo_ joined #lisp 2020-04-06T09:41:54Z gxt joined #lisp 2020-04-06T09:43:35Z Codaraxis joined #lisp 2020-04-06T09:44:32Z frgo quit (Ping timeout: 265 seconds) 2020-04-06T09:47:01Z TDeus joined #lisp 2020-04-06T09:47:43Z TDeus left #lisp 2020-04-06T09:55:52Z kopiyka joined #lisp 2020-04-06T10:01:55Z v0|d quit (Remote host closed the connection) 2020-04-06T10:02:55Z v0|d joined #lisp 2020-04-06T10:09:57Z markoong joined #lisp 2020-04-06T10:10:29Z heisig joined #lisp 2020-04-06T10:11:37Z Cymew quit (Ping timeout: 264 seconds) 2020-04-06T10:12:21Z Cymew joined #lisp 2020-04-06T10:16:12Z markoong quit (Ping timeout: 260 seconds) 2020-04-06T10:16:36Z markong joined #lisp 2020-04-06T10:16:56Z kopiykazzz joined #lisp 2020-04-06T10:17:16Z Bourne quit (Ping timeout: 256 seconds) 2020-04-06T10:24:19Z kopiykazzz quit (Remote host closed the connection) 2020-04-06T10:30:05Z __jrjsmrtn__ joined #lisp 2020-04-06T10:32:14Z _jrjsmrtn quit (Ping timeout: 256 seconds) 2020-04-06T10:34:12Z mn3m_ joined #lisp 2020-04-06T10:35:02Z mn3m quit (Read error: Connection reset by peer) 2020-04-06T10:36:43Z mn3m__ joined #lisp 2020-04-06T10:39:56Z mn3m_ quit (Ping timeout: 256 seconds) 2020-04-06T10:55:31Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-06T10:56:55Z adam4567 left #lisp 2020-04-06T11:02:32Z karlosz quit (Quit: karlosz) 2020-04-06T11:02:35Z jmercouris joined #lisp 2020-04-06T11:03:08Z Cymew quit (Ping timeout: 265 seconds) 2020-04-06T11:04:02Z jmercouris: can someone help me here, I'm not getting something http://dpaste.com/0MGBZBQ 2020-04-06T11:04:10Z jmercouris: it says there is a conflict 2020-04-06T11:04:16Z Cymew joined #lisp 2020-04-06T11:04:30Z jmercouris: HOWEVER, I am not exporitng the symbol NEXT/BLOCKER-MODE::MODIFIERS 2020-04-06T11:04:38Z jmercouris: s/exporitng/exporting 2020-04-06T11:04:52Z dale quit (Quit: My computer has gone to sleep) 2020-04-06T11:05:01Z orivej quit (Ping timeout: 264 seconds) 2020-04-06T11:06:16Z jmercouris: somehow deleting the key argument in request-resource-block causes the error to go away 2020-04-06T11:06:19Z jmercouris: this is what makes no sense to me 2020-04-06T11:08:09Z jmercouris: how can a key argument to a function cause a name conflict? 2020-04-06T11:09:39Z ym555_ joined #lisp 2020-04-06T11:10:26Z ebzzry_ joined #lisp 2020-04-06T11:19:04Z asarch joined #lisp 2020-04-06T11:19:58Z trocado joined #lisp 2020-04-06T11:22:32Z rippa joined #lisp 2020-04-06T11:25:17Z trocado: (rename-file #p"test/current/" #p"test/123/") is saying it can't rename [current dir]/test/current/ to [current dir]/test/current/test/123/ 2020-04-06T11:25:32Z trocado: is this expected behaviour? 2020-04-06T11:26:20Z trocado: i would assume that both paths are relative to current directory... 2020-04-06T11:27:36Z bendersteed quit (Remote host closed the connection) 2020-04-06T11:28:29Z Shinmera: clhs rename-file 2020-04-06T11:28:29Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_rn_fil.htm 2020-04-06T11:28:30Z Xach: trocado: RENAME merges the new with the old 2020-04-06T11:28:45Z Shinmera: "The primary value, defaulted-new-name, is the resulting name which is composed of new-name with any missing components filled in by performing a merge-pathnames operation using filespec as the defaults." 2020-04-06T11:28:45Z Xach: trocado: if you don't want that, make sure the new name is more complete 2020-04-06T11:29:54Z Xach: i think this is widely unexpected behavior, but it does allow some shortcuts if you have it memorized. like (rename-file "/My/cool/file/frob.lisp" "frob-backup") => "/My/cool/file/frob-backup.lisp" 2020-04-06T11:31:12Z trocado: I see, it actually makes sense. 2020-04-06T11:32:24Z Xach: it has internal logic at least. the problem with intuition and expectation is it's formed by whatever you learn first, and i learned a different style first (unix mv style). 2020-04-06T11:34:32Z v_m_v quit (Remote host closed the connection) 2020-04-06T11:36:17Z scymtym quit (Remote host closed the connection) 2020-04-06T11:37:48Z iAmDecim joined #lisp 2020-04-06T11:37:54Z trocado: Xach 2020-04-06T11:38:08Z trocado: Xach: yes, that's right 2020-04-06T11:39:35Z v_m_v joined #lisp 2020-04-06T11:49:08Z Josh_2: Afternoon all 2020-04-06T11:49:59Z bitmapper joined #lisp 2020-04-06T11:50:36Z dddddd joined #lisp 2020-04-06T11:54:30Z ebrasca quit (Remote host closed the connection) 2020-04-06T11:57:57Z Bike joined #lisp 2020-04-06T11:59:13Z phoe: hello 2020-04-06T12:03:52Z Bourne joined #lisp 2020-04-06T12:08:13Z scymtym joined #lisp 2020-04-06T12:09:44Z v_m_v quit 2020-04-06T12:14:20Z wxie joined #lisp 2020-04-06T12:18:35Z cosimone joined #lisp 2020-04-06T12:26:16Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-06T12:26:27Z trocado quit (Ping timeout: 265 seconds) 2020-04-06T12:27:18Z iAmDecim joined #lisp 2020-04-06T12:31:16Z mn3m_ joined #lisp 2020-04-06T12:34:00Z mn3m__ quit (Ping timeout: 265 seconds) 2020-04-06T12:34:36Z jmercouris quit (Remote host closed the connection) 2020-04-06T12:36:15Z beach: Hello phoe. 2020-04-06T12:41:45Z Bourne quit (Read error: Connection reset by peer) 2020-04-06T12:46:32Z shifty joined #lisp 2020-04-06T12:47:17Z EvW joined #lisp 2020-04-06T12:47:43Z n1kio joined #lisp 2020-04-06T12:53:36Z Bourne joined #lisp 2020-04-06T12:55:43Z xaotuk joined #lisp 2020-04-06T13:04:29Z ym quit (Quit: Leaving) 2020-04-06T13:07:32Z xaotuk quit (Ping timeout: 265 seconds) 2020-04-06T13:09:09Z xaotuk joined #lisp 2020-04-06T13:14:19Z fivo quit (Quit: WeeChat 1.9.1) 2020-04-06T13:17:32Z iAmDecim is now known as cyberoctopi 2020-04-06T13:19:10Z quazimodo quit (Ping timeout: 256 seconds) 2020-04-06T13:20:02Z quazimodo joined #lisp 2020-04-06T13:20:31Z xaotuk quit (Ping timeout: 258 seconds) 2020-04-06T13:22:30Z davepdot_ joined #lisp 2020-04-06T13:23:37Z clintm[m] joined #lisp 2020-04-06T13:24:35Z nmg quit (Remote host closed the connection) 2020-04-06T13:24:43Z nmg joined #lisp 2020-04-06T13:25:39Z cosimone quit (Remote host closed the connection) 2020-04-06T13:26:05Z cosimone joined #lisp 2020-04-06T13:26:12Z davepdotorg quit (Ping timeout: 256 seconds) 2020-04-06T13:33:44Z Inline joined #lisp 2020-04-06T13:39:07Z xaotuk joined #lisp 2020-04-06T13:39:18Z davepdot_ quit (Remote host closed the connection) 2020-04-06T13:39:20Z xkapastel joined #lisp 2020-04-06T13:47:01Z igemnace quit (Quit: WeeChat 2.8) 2020-04-06T13:55:31Z davepdotorg joined #lisp 2020-04-06T13:58:16Z efm_ joined #lisp 2020-04-06T13:59:34Z efm quit (Ping timeout: 240 seconds) 2020-04-06T14:02:23Z davepdotorg quit (Remote host closed the connection) 2020-04-06T14:02:52Z davepdotorg joined #lisp 2020-04-06T14:04:44Z davepdo__ joined #lisp 2020-04-06T14:05:17Z davepdotorg quit (Read error: Connection reset by peer) 2020-04-06T14:07:55Z xaotuk quit (Ping timeout: 260 seconds) 2020-04-06T14:16:47Z wxie quit (Ping timeout: 250 seconds) 2020-04-06T14:19:15Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-04-06T14:21:00Z trocado joined #lisp 2020-04-06T14:23:46Z cyberoctopi quit (Ping timeout: 258 seconds) 2020-04-06T14:25:18Z srandon111 joined #lisp 2020-04-06T14:25:53Z srandon111: guys what is meant by "natural recursion"? and what would it be a "non-natural recursioN" ? i found a post on stackoverflow but wasn't able to understand still 2020-04-06T14:29:36Z _death: looks like an idiosyncratic term to me 2020-04-06T14:30:31Z dlowe: yeah, I would interpret as "solving a problem particularly amenable to recursion" but it's not a term of art 2020-04-06T14:30:33Z Bike: recursion on natural numbers? no, i've never heard this term either 2020-04-06T14:30:45Z sjl_ joined #lisp 2020-04-06T14:30:52Z nmg quit (Remote host closed the connection) 2020-04-06T14:31:00Z phoe: srandon111: which post on SO 2020-04-06T14:32:26Z efm_ quit (Quit: Konversation terminated!) 2020-04-06T14:32:37Z sjl_ quit (Client Quit) 2020-04-06T14:34:05Z beach: I am sure if Daniel Friedman came up with those examples, he probably also supplied a definition of the term. 2020-04-06T14:34:13Z beach: phoe: It the first answer if you Google it. 2020-04-06T14:34:45Z edgar-rft: -> https://stackoverflow.com/questions/32260444/what-is-the-definition-of-natural-recursion 2020-04-06T14:36:24Z phoe: OK - I see it now 2020-04-06T14:38:05Z phoe: it seems to be related to natural numbers, and the most natural operations on these: a check whether a number is zero, adding one to a number, subtracting one from a number 2020-04-06T14:38:19Z Bike: oh, like a natural transformation maybe? 2020-04-06T14:38:38Z phoe: yes, that's my idea 2020-04-06T14:38:55Z phoe: how Church naturals are constructed 2020-04-06T14:38:57Z Bike: well i mean it's not actually natural number related https://en.wikipedia.org/wiki/Natural_transformation 2020-04-06T14:40:11Z shifty quit (Ping timeout: 250 seconds) 2020-04-06T14:40:26Z phoe: if you want to add 1 and 2 in the natural form, you get the stack of (add1 (add1 (add1 0))) which is a Church-encoded 3 2020-04-06T14:40:34Z shifty joined #lisp 2020-04-06T14:40:41Z phoe: the tail-recursive version does not have this form 2020-04-06T14:41:01Z efm joined #lisp 2020-04-06T14:41:12Z phoe: that's what I am thinking 2020-04-06T14:42:55Z _death: think you mean Church numerals 2020-04-06T14:43:39Z _death: i.e. names for numbers 2020-04-06T14:44:58Z Lord_Nightmare joined #lisp 2020-04-06T14:45:28Z phoe: _death: uh uh yes I mean that 2020-04-06T14:47:57Z _death: http://cmsc-16100.cs.uchicago.edu/2015/Lectures/02-lists.php 2020-04-06T14:51:44Z _death: to me it looks like a didactic device and not much more 2020-04-06T14:53:18Z _death: (there is also a http://cmsc-16100.cs.uchicago.edu/2015/Lectures/04-natural-recursion.php ) 2020-04-06T14:54:32Z cyberoctopi joined #lisp 2020-04-06T14:58:54Z cyberoctopi quit (Ping timeout: 240 seconds) 2020-04-06T15:01:48Z monokrom joined #lisp 2020-04-06T15:05:10Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-04-06T15:06:27Z Lord_Nightmare joined #lisp 2020-04-06T15:08:04Z epony quit (Remote host closed the connection) 2020-04-06T15:09:07Z epony joined #lisp 2020-04-06T15:10:07Z libertyprime quit (Read error: No route to host) 2020-04-06T15:10:49Z ski quit (Remote host closed the connection) 2020-04-06T15:17:47Z EvW quit (Ping timeout: 260 seconds) 2020-04-06T15:22:47Z cyberoctopi joined #lisp 2020-04-06T15:24:47Z pjb quit (Ping timeout: 272 seconds) 2020-04-06T15:25:12Z Steinberg2010 joined #lisp 2020-04-06T15:27:38Z n1kio quit (Remote host closed the connection) 2020-04-06T15:30:07Z Necktwi quit (Ping timeout: 265 seconds) 2020-04-06T15:51:11Z vlatkoB quit (Remote host closed the connection) 2020-04-06T15:51:22Z jcowan: _death: It's a dao of beginning programming that makes termination trivial to prove 2020-04-06T15:52:24Z jcowan: specifically, structural recursion is correct based on the correctness of structural induction over the domain 2020-04-06T15:52:45Z davepdotorg joined #lisp 2020-04-06T15:52:55Z vlatkoB joined #lisp 2020-04-06T15:53:12Z vms14 joined #lisp 2020-04-06T15:55:38Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-06T15:56:13Z davepdo__ quit (Ping timeout: 265 seconds) 2020-04-06T15:59:54Z heisig quit (Quit: Leaving) 2020-04-06T16:00:17Z zaquest joined #lisp 2020-04-06T16:06:46Z vms14: how I make sbcl work as a script with the shebang? 2020-04-06T16:07:03Z vms14: I've tried with #!/path/sbcl but won't load the code, just start 2020-04-06T16:07:10Z vms14: and adding --script to that 2020-04-06T16:07:17Z vms14: but then won't load quicklisp 2020-04-06T16:10:08Z EvW1 joined #lisp 2020-04-06T16:11:01Z Steinberg2010 quit (Ping timeout: 272 seconds) 2020-04-06T16:12:02Z Xach: vms14: --script does not load .sbclrc so you need to do things more manually. 2020-04-06T16:12:15Z cyberoctopi quit (Ping timeout: 258 seconds) 2020-04-06T16:12:33Z vms14: thanks Xach, just saw it now on the man page 2020-04-06T16:12:56Z vms14: but I'm not finding a similar flag 2020-04-06T16:13:59Z nicktick quit (Quit: Leaving.) 2020-04-06T16:13:59Z _death: you can save an image with quicklisp (and other third-party libraries) loaded 2020-04-06T16:14:27Z vms14: meh, I've just made a shell script 2020-04-06T16:14:52Z cyberoctopi joined #lisp 2020-04-06T16:14:56Z Xach: vms14: what do you mean "similar flag"? 2020-04-06T16:14:58Z vms14: bin/swank /usr/pkg/bin/sbcl --load /home/vms/swank.lisp 2020-04-06T16:15:13Z vms14: Xach one that does the same as script, but also loading quicklisp 2020-04-06T16:17:05Z nicktick joined #lisp 2020-04-06T16:17:37Z Xach: vms14: no, there is no flag like that, put (load ...) in your script if you want to use quicklisp. 2020-04-06T16:18:33Z vms14: yes, but then I have to make an additional .sh file 2020-04-06T16:19:20Z Xach: vms14: why? 2020-04-06T16:19:31Z vms14: #!/usr/pkg/bin/sbcl --load 2020-04-06T16:19:31Z vms14: (format t ":D~%") 2020-04-06T16:19:31Z vms14: 2020-04-06T16:19:35Z vms14: this is a test 2020-04-06T16:19:40Z vms14: won't work 2020-04-06T16:19:46Z Xach: Don't do that. Use --script. 2020-04-06T16:19:47Z vms14: with --script it does 2020-04-06T16:19:54Z vms14: but then no quicklisp 2020-04-06T16:19:56Z nicktick quit (Client Quit) 2020-04-06T16:20:07Z Xach: Put (load ) in your script if you want to use it. 2020-04-06T16:20:12Z vms14: so for having quicklisp I need to call it externally without a shebang 2020-04-06T16:20:17Z Xach: No, you don't. 2020-04-06T16:20:27Z Xach: Put the code to load quicklisp in your lisp script. 2020-04-06T16:20:40Z vms14: thanks 2020-04-06T16:22:23Z ym555_ quit (Quit: leaving...) 2020-04-06T16:22:37Z gko quit (Ping timeout: 265 seconds) 2020-04-06T16:25:28Z vms14: like this? #!/usr/pkg/bin/sbcl --load /home/vms/quicklisp/quicklisp/setup.lisp --script 2020-04-06T16:25:34Z vms14: not does not work as script 2020-04-06T16:25:38Z vms14: now* 2020-04-06T16:27:35Z vms14: strange, because when called externally does work 2020-04-06T16:29:54Z Xach: vms14: not at all like that. 2020-04-06T16:30:14Z Xach: Use (load ...) in the script to load quicklisp in the script 2020-04-06T16:30:23Z vms14: ah lol 2020-04-06T16:30:25Z vms14: xD 2020-04-06T16:30:37Z vms14: thanks again 2020-04-06T16:31:36Z Xach: no problem 2020-04-06T16:32:36Z vms14: still the shebang seems to work differently 2020-04-06T16:32:44Z vms14: echo "(html)" | sbcl --noinform --load /home/vms/lisp/html.lisp --script 2020-04-06T16:33:03Z vms14: does work fine, but I have to add --noinform because if not prints a banner even having --script 2020-04-06T16:33:18Z vms14: but with the shebang will enter a repl and do nothing 2020-04-06T16:33:21Z vms14: #!/usr/pkg/bin/sbcl --noinform --load /home/vms/lisp/html.lisp --script 2020-04-06T16:33:41Z Xach: vms14: you cannot have arguments on the shebang line with --script 2020-04-06T16:33:45Z Xach: --script must be the only argument 2020-04-06T16:34:15Z vms14: weird, but got it 2020-04-06T16:34:30Z terpri quit (Remote host closed the connection) 2020-04-06T16:34:49Z terpri joined #lisp 2020-04-06T16:42:34Z vms14 quit (Remote host closed the connection) 2020-04-06T16:44:45Z pjb joined #lisp 2020-04-06T16:44:58Z xaotuk joined #lisp 2020-04-06T16:45:42Z mn3m_ quit (Quit: mn3m_) 2020-04-06T16:45:49Z gravicappa quit (Ping timeout: 265 seconds) 2020-04-06T16:46:14Z mn3m joined #lisp 2020-04-06T16:46:16Z efm_ joined #lisp 2020-04-06T16:46:32Z efm_ quit (Client Quit) 2020-04-06T16:47:01Z efm quit (Ping timeout: 264 seconds) 2020-04-06T16:48:54Z Inline quit (Ping timeout: 265 seconds) 2020-04-06T16:50:42Z vhost- joined #lisp 2020-04-06T16:50:43Z vhost- quit (Changing host) 2020-04-06T16:50:43Z vhost- joined #lisp 2020-04-06T16:51:21Z mn3m quit (Quit: mn3m) 2020-04-06T16:54:09Z ArthurStrong left #lisp 2020-04-06T16:59:32Z cyberoctopi quit (Ping timeout: 265 seconds) 2020-04-06T16:59:32Z trocado quit (Ping timeout: 265 seconds) 2020-04-06T17:05:46Z karlosz joined #lisp 2020-04-06T17:07:31Z ahungry joined #lisp 2020-04-06T17:09:32Z cyberoctopi joined #lisp 2020-04-06T17:13:27Z Kundry_Wag quit (Remote host closed the connection) 2020-04-06T17:13:56Z Kundry_Wag joined #lisp 2020-04-06T17:15:30Z Codaraxis quit (Ping timeout: 258 seconds) 2020-04-06T17:21:21Z kamog joined #lisp 2020-04-06T17:22:25Z kamog quit (Client Quit) 2020-04-06T17:34:09Z Cymew quit (Ping timeout: 265 seconds) 2020-04-06T17:38:24Z ukari quit (Remote host closed the connection) 2020-04-06T17:39:08Z srandon111: guys do you commonly use macros? 2020-04-06T17:39:27Z ukari joined #lisp 2020-04-06T17:41:36Z pjb: srandon111: yes. 2020-04-06T17:44:50Z Xach: srandon111: yes 2020-04-06T17:53:43Z dlowe: srandon111: yes 2020-04-06T17:54:10Z KDr2 joined #lisp 2020-04-06T17:55:22Z KDr24 quit (Ping timeout: 256 seconds) 2020-04-06T17:58:54Z srandon111: why for example in other lisps such as clcojure the usage of macros is not encouraged ? 2020-04-06T17:59:00Z srandon111: Xach, dlowe phb 2020-04-06T17:59:07Z srandon111: * pjb 2020-04-06T18:02:00Z karlosz quit (Quit: karlosz) 2020-04-06T18:02:25Z dlowe: srandon111: I guess you'll have to ask them 2020-04-06T18:02:27Z karlosz joined #lisp 2020-04-06T18:02:34Z karlosz quit (Remote host closed the connection) 2020-04-06T18:03:04Z karlosz joined #lisp 2020-04-06T18:03:10Z karlosz quit (Remote host closed the connection) 2020-04-06T18:05:00Z cyberoctopi quit (Ping timeout: 256 seconds) 2020-04-06T18:05:51Z fiddlerwoaroof: srandon111: my experience with Clojure is that many of the developers come from other languages to it and, so, they don't see the value of macros 2020-04-06T18:06:04Z madand_ joined #lisp 2020-04-06T18:06:05Z fiddlerwoaroof: (other, non-lisp languages) 2020-04-06T18:06:14Z dlowe: specifically, in non-lisp languages macros always break things 2020-04-06T18:06:21Z fiddlerwoaroof: Yeah 2020-04-06T18:06:23Z Kemwer_ joined #lisp 2020-04-06T18:06:40Z Kaisyu72 joined #lisp 2020-04-06T18:07:12Z mgsk__ joined #lisp 2020-04-06T18:07:14Z hydan_ joined #lisp 2020-04-06T18:07:14Z asedeno_ joined #lisp 2020-04-06T18:07:14Z lonjil2 joined #lisp 2020-04-06T18:07:18Z pent_ joined #lisp 2020-04-06T18:07:24Z fiddlerwoaroof: Rich Hickey uses them a lot in the stuff he builds, though 2020-04-06T18:07:50Z vert2 quit (Ping timeout: 256 seconds) 2020-04-06T18:07:59Z jonatack_ joined #lisp 2020-04-06T18:08:05Z asedeno quit (Ping timeout: 246 seconds) 2020-04-06T18:08:05Z Kemwer quit (Ping timeout: 246 seconds) 2020-04-06T18:08:05Z pent quit (Ping timeout: 246 seconds) 2020-04-06T18:08:05Z madand quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-06T18:08:05Z mgsk quit (Ping timeout: 246 seconds) 2020-04-06T18:08:05Z Kaisyu7 quit (Remote host closed the connection) 2020-04-06T18:08:05Z lonjil quit (Quit: No Ping reply in 180 seconds.) 2020-04-06T18:08:05Z hydan quit (Ping timeout: 246 seconds) 2020-04-06T18:08:05Z parjanya quit (Ping timeout: 246 seconds) 2020-04-06T18:08:05Z jonatack quit (Ping timeout: 246 seconds) 2020-04-06T18:08:06Z fiddlerwoaroof: Another problem is that some macros (go in core.async) use code-walkers to do major program transformations and end up pretty brittle 2020-04-06T18:08:06Z hydan_ is now known as hydan 2020-04-06T18:08:06Z asedeno_ is now known as asedeno 2020-04-06T18:08:09Z mgsk__ is now known as mgsk 2020-04-06T18:08:13Z pent_ is now known as pent 2020-04-06T18:08:36Z fiddlerwoaroof: So, people often have a bad experience using those libraries 2020-04-06T18:10:38Z Tordek quit (Remote host closed the connection) 2020-04-06T18:11:09Z Tordek joined #lisp 2020-04-06T18:11:31Z karlosz joined #lisp 2020-04-06T18:12:14Z conjunctive: srandon111: They believe macros are more difficult to compose than functions, and tend to design interfaces around hash-table literals. 2020-04-06T18:12:38Z conjunctive: fiddlerwoaroof is right, there is still plenty of macro usage in Clojure code. 2020-04-06T18:15:49Z Tordek quit (Ping timeout: 264 seconds) 2020-04-06T18:16:21Z Tordek joined #lisp 2020-04-06T18:16:24Z vert2 joined #lisp 2020-04-06T18:16:29Z srandon111: conjunctive, how can i learn/practice them? 2020-04-06T18:16:46Z srandon111: is there any good resource walking you step by step from simple examples to more commples examples ? conjunctive 2020-04-06T18:16:51Z fiddlerwoaroof: Paul Graham's On Lisp is a decent introduction 2020-04-06T18:17:11Z fiddlerwoaroof: Practical Common Lisp is a better first book to learn about CL 2020-04-06T18:18:13Z shifty quit (Ping timeout: 264 seconds) 2020-04-06T18:18:29Z shifty joined #lisp 2020-04-06T18:20:48Z conjunctive: srandon111: I agree with fiddlerwoaroof, Practical Common Lisp is a great introduction. 2020-04-06T18:20:50Z conjunctive: I have heard good things about Let Over Lambda, for working extensively with macros. 2020-04-06T18:21:44Z dlowe: Let Over Lambda is entertainment for lispers. 2020-04-06T18:21:52Z fiddlerwoaroof: Let Over Lambda is a bad introduction because a couple of its examples dont' work 2020-04-06T18:22:08Z dlowe: it's an exploration of what's possible 2020-04-06T18:22:18Z fiddlerwoaroof: and it uses standardized functions and macros in non-conforming ways 2020-04-06T18:22:21Z phoe: ^ 2020-04-06T18:22:39Z phoe: LOL is a prime example in Lisp mental gymnastics 2020-04-06T18:22:58Z conjunctive: Oh my mistake, thanks for the clarification! I've only just started it. 2020-04-06T18:23:01Z phoe: it is enlightening in many ways and useless in many other ways 2020-04-06T18:23:19Z phoe: after reading multiple Lisp books, I've often come back to Graham's ANSI CL, Practical Common Lisp, On Lisp, CL Recipes 2020-04-06T18:23:20Z White_Flame: on lisp does make a bunch of little utility macros that aren't possible to write as functions 2020-04-06T18:23:24Z phoe: not to LOL though 2020-04-06T18:23:56Z phoe: so, in a way, it's a theoretical book 2020-04-06T18:24:07Z phoe: a very good one, but without much replayability value 2020-04-06T18:24:35Z White_Flame: (although many of On Lisp's utilities will be superceded by alexandria) 2020-04-06T18:25:19Z White_Flame: regarding let-over-lambda, having used codebases written to its style, I vehemently oppose it for actual work 2020-04-06T18:25:31Z White_Flame: for musing about creating an object system from scratch, fine 2020-04-06T18:25:38Z srandon111: White_Flame, what is alexandria? 2020-04-06T18:25:51Z White_Flame: srandon111: it's a very common general utility library 2020-04-06T18:26:20Z phoe: srandon111: a library that is considered by some people to be an essential supplement to the CL package 2020-04-06T18:26:44Z Necktwi joined #lisp 2020-04-06T18:27:50Z conjunctive: srandon111: You can find the repo at https://gitlab.common-lisp.net/alexandria/alexandria 2020-04-06T18:28:21Z White_Flame: although as a learner, the simpler On Lisp utilities are easier to see how they're written 2020-04-06T18:28:44Z White_Flame: if you go through the alexandria source code, there's a lot more mindfulness to optimization and ease of use that makes it more complex 2020-04-06T18:28:57Z White_Flame: *makes the implementation more complex 2020-04-06T18:29:49Z conjunctive: On the topic of Lisp books, would you recommend any prelimary material for the MOP book? 2020-04-06T18:31:02Z jcowan: LOL is a careful and thorough explanation of how to do things with macros that are not even worth doing. 2020-04-06T18:31:16Z jcowan: (among other things) 2020-04-06T18:31:46Z orivej joined #lisp 2020-04-06T18:35:18Z fiddlerwoaroof: conjunctive: PCL, basically 2020-04-06T18:35:47Z fiddlerwoaroof: the first couple chapters of AMOP are a fairly good example of how to design a complex system in common lisp and wrap in in macros 2020-04-06T18:38:21Z cyberoctopi joined #lisp 2020-04-06T18:41:48Z luni joined #lisp 2020-04-06T18:44:03Z shangul quit (Ping timeout: 258 seconds) 2020-04-06T18:50:34Z shifty quit (Ping timeout: 258 seconds) 2020-04-06T18:51:29Z shifty joined #lisp 2020-04-06T18:52:23Z hhdave_ joined #lisp 2020-04-06T18:52:28Z zaquest quit (Read error: No route to host) 2020-04-06T18:53:01Z hhdave quit (Ping timeout: 264 seconds) 2020-04-06T18:53:02Z hhdave_ is now known as hhdave 2020-04-06T18:54:22Z zaquest joined #lisp 2020-04-06T18:54:29Z zaquest_ joined #lisp 2020-04-06T18:54:45Z zaquest quit (Remote host closed the connection) 2020-04-06T18:55:00Z eschatologist quit (Remote host closed the connection) 2020-04-06T18:55:14Z eschatologist joined #lisp 2020-04-06T18:57:21Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-06T18:59:23Z zaquest_ quit (Ping timeout: 258 seconds) 2020-04-06T19:00:18Z dddddd quit (Ping timeout: 256 seconds) 2020-04-06T19:06:41Z srandon111: thanks conjunctive 2020-04-06T19:10:09Z z147 joined #lisp 2020-04-06T19:11:42Z eta: is there a function that takes functions A and B and returns (lambda (v) (A (B v))? 2020-04-06T19:13:14Z cyberoctopi quit (Ping timeout: 265 seconds) 2020-04-06T19:14:50Z ahungry: so a compose like? 2020-04-06T19:15:15Z fiddlerwoaroof: eta: alexandria:compose? 2020-04-06T19:15:30Z ahungry: http://rosettacode.org/wiki/Compose_function#Common_Lisp - thats a good sample if you want to just roll your own, its pretty simple/small 2020-04-06T19:17:35Z fiddlerwoaroof: The eval version there is evil 2020-04-06T19:17:56Z zaquest joined #lisp 2020-04-06T19:21:02Z cyberoctopi joined #lisp 2020-04-06T19:24:17Z phoe: alexandria:compose is the thing you want 2020-04-06T19:24:29Z phoe: I use it almost as often as I use #'a:curry and #'a:rcurry 2020-04-06T19:33:43Z momozor quit (Quit: leaving) 2020-04-06T19:35:59Z shifty quit (Ping timeout: 260 seconds) 2020-04-06T19:38:15Z achillesp joined #lisp 2020-04-06T19:44:41Z dlowe wistfully wishes they had called it papply instead of curry 2020-04-06T19:45:46Z splittist: you can always use serapeum:partial (I think) 2020-04-06T19:46:41Z dlowe: I don't care that much 2020-04-06T19:46:53Z dlowe: just enough to complain about it 2020-04-06T19:47:05Z dlowe: it's a very specific level of discomfort 2020-04-06T19:47:25Z luni left #lisp 2020-04-06T19:47:28Z Shinmera: Seems like my normal level of comfort overall 2020-04-06T19:47:39Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-06T19:48:27Z achillesp quit (Remote host closed the connection) 2020-04-06T19:51:52Z anticrisis joined #lisp 2020-04-06T20:01:58Z quantico quit (Quit: leaving) 2020-04-06T20:07:06Z parjanya joined #lisp 2020-04-06T20:07:45Z phoe: the mythical weltschmerz 2020-04-06T20:09:17Z phoe: ...cl-weltschmerz is a tempting project name 2020-04-06T20:17:38Z efm joined #lisp 2020-04-06T20:17:48Z cybercafe joined #lisp 2020-04-06T20:17:48Z LdBeth: good mornig 2020-04-06T20:17:54Z cybercafe: hello friends 2020-04-06T20:19:07Z cyberoctopi joined #lisp 2020-04-06T20:21:12Z eta: fiddlerwoaroof: thanks, that function's great :) 2020-04-06T20:22:38Z LdBeth: eta: It seems you might like to have threading macro too 2020-04-06T20:23:03Z eta: LdBeth: is that the arrow function thing? 2020-04-06T20:23:12Z LdBeth: yes 2020-04-06T20:24:13Z cyberoctopi quit (Ping timeout: 264 seconds) 2020-04-06T20:33:25Z pjb: srandon111: people tend to discourage the use of what THEY cannot master. For example, in C, it is strongly discouraged to use inner functions, since it's impossible to write them. In C++ it's discouraged to use OOP, since they cannot do multiple inheritance correctly. etc. 2020-04-06T20:35:25Z lxbarbosa joined #lisp 2020-04-06T20:38:29Z EvW1 quit (Ping timeout: 265 seconds) 2020-04-06T20:40:25Z narimiran quit (Ping timeout: 265 seconds) 2020-04-06T20:44:49Z pilne joined #lisp 2020-04-06T20:45:28Z ggole quit (Quit: Leaving) 2020-04-06T20:53:37Z dddddd joined #lisp 2020-04-06T20:54:36Z rumbler3_ quit (Remote host closed the connection) 2020-04-06T20:55:14Z rumbler31 joined #lisp 2020-04-06T20:56:03Z aeth: pjb: "Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?" https://en.wikiquote.org/wiki/Brian_Kernighan 2020-04-06T20:56:29Z aeth: in particular, anything here in this thread about C's switch is clever: https://news.ycombinator.com/item?id=22789304 2020-04-06T20:58:43Z phoe: Lisp makes it possible to debug things that are undebuggable in other languages 2020-04-06T20:59:14Z rumbler31 quit (Ping timeout: 240 seconds) 2020-04-06T20:59:14Z aeth: Lisp also makes it possible to have things be undebuggable that are debuggable in other languages. e.g. most uses of the programmable reader 2020-04-06T20:59:16Z phoe: but it also makes it possible to write 100% clusterfuck code that is impossible to debug even in Lisp 2020-04-06T20:59:22Z phoe: yes 2020-04-06T20:59:24Z eta: but only if you use HANDLER-BIND instead of HANDLER-CASE and INVOKE-DEBUGGER :p 2020-04-06T20:59:28Z phoe: not really 2020-04-06T20:59:43Z phoe: you can easily write a reader macro that reads and executes a Malbolge program 2020-04-06T20:59:48Z phoe: try debugging that 2020-04-06T21:00:23Z eta: ew 2020-04-06T21:00:35Z eta: phoe: oh yeah, you also can't debug recursive macro expansions 2020-04-06T21:00:44Z srandon111: phoe, how? 2020-04-06T21:00:49Z eta: unless you very carefully macroexpand-1 everything 2020-04-06T21:02:49Z fiddlerwoaroof: eta: macroexpansions aren't that bad with Slime's macrostepper 2020-04-06T21:02:58Z eta: fiddlerwoaroof: true 2020-04-06T21:03:02Z fiddlerwoaroof: There are a couple edge-cases 2020-04-06T21:03:06Z eta: but if you try and compile a whole file 2020-04-06T21:03:10Z eta: then you're done for 2020-04-06T21:03:18Z eta: SBCL just blows its stack and moans at you 2020-04-06T21:05:17Z choegusung joined #lisp 2020-04-06T21:08:47Z choegusung left #lisp 2020-04-06T21:09:16Z cosimone quit (Quit: Quit.) 2020-04-06T21:10:05Z arbv_ joined #lisp 2020-04-06T21:10:09Z arbv quit (Read error: Connection reset by peer) 2020-04-06T21:10:24Z Jesin quit (Quit: Leaving) 2020-04-06T21:12:06Z lxbarbosa quit (Ping timeout: 246 seconds) 2020-04-06T21:14:13Z rippa quit (Read error: Connection reset by peer) 2020-04-06T21:16:58Z Jesin joined #lisp 2020-04-06T21:20:50Z Steinberg2010 joined #lisp 2020-04-06T21:23:20Z pjb: aeth: definitely. This is why a good way to debug some code, is to rewrite it from scratch! 2020-04-06T21:24:21Z pjb: which is also a good reason why you should have modular code. So you don't have to rewrite everything, but just the bad module or function. 2020-04-06T21:32:13Z Lord_of_Life_ joined #lisp 2020-04-06T21:33:35Z Lord_of_Life quit (Ping timeout: 250 seconds) 2020-04-06T21:35:00Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-06T21:38:20Z Steinberg2010 quit (Ping timeout: 246 seconds) 2020-04-06T21:42:08Z VoidSick joined #lisp 2020-04-06T21:43:33Z cyberoctopi joined #lisp 2020-04-06T21:54:50Z rumbler31 joined #lisp 2020-04-06T21:55:10Z logand` quit (Remote host closed the connection) 2020-04-06T22:02:13Z anticrisis quit (Quit: Leaving) 2020-04-06T22:08:15Z z147 quit (Quit: z147) 2020-04-06T22:10:23Z efm quit (Read error: Connection reset by peer) 2020-04-06T22:13:14Z Steinberg2010 joined #lisp 2020-04-06T22:15:08Z dale_ joined #lisp 2020-04-06T22:15:14Z dale_ is now known as dale 2020-04-06T22:15:51Z efm joined #lisp 2020-04-06T22:16:08Z efm quit (Client Quit) 2020-04-06T22:16:35Z anticrisis joined #lisp 2020-04-06T22:18:54Z random-nick quit (Ping timeout: 240 seconds) 2020-04-06T22:19:26Z VoidSick quit (Quit: WeeChat 1.9.1) 2020-04-06T22:23:23Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-06T22:26:09Z watkinsr joined #lisp 2020-04-06T22:31:33Z efm joined #lisp 2020-04-06T22:33:20Z akoana joined #lisp 2020-04-06T22:37:17Z jasom: aeth: I used to use that Kernighan quote, but I now disagree with it. I think debugging and writing software are different (though not entirely orthogonal) skills. Over the past 10 years I've written very little code for work, but I've debugged others' code a heck of a lot. My debugging skills have shot way up while my development skills have atrophied a bit. I would say at this point that I am better at 2020-04-06T22:37:19Z jasom: debugging code I've never seen before than I am at writing a project from scratch. 2020-04-06T22:37:46Z fiddlerwoaroof: Yeah, my experience is that debugging is often easier than writing the code 2020-04-06T22:37:52Z monokrom quit (Quit: Leaving) 2020-04-06T22:38:26Z fiddlerwoaroof: e.g. when the cleverness/intelligence was in seeing a very simple way to solve a problem 2020-04-06T22:38:59Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-06T22:39:01Z fiddlerwoaroof: Or seeing the problem as an application of a more general problem 2020-04-06T22:40:38Z jasom: Also very few bugs are novel. I've on occasion suggested fixes to customers code without having ever seen the code, just from observing the symptoms. 2020-04-06T22:45:53Z Steinberg2010 quit (Ping timeout: 246 seconds) 2020-04-06T22:51:50Z ahungry quit (Remote host closed the connection) 2020-04-06T23:01:12Z cyberoctopi quit (Ping timeout: 256 seconds) 2020-04-06T23:11:36Z msk_ joined #lisp 2020-04-06T23:12:00Z cyberoctopi joined #lisp 2020-04-06T23:13:47Z msk quit (Ping timeout: 260 seconds) 2020-04-06T23:15:21Z xkapastel joined #lisp 2020-04-06T23:17:14Z v0|d quit (Ping timeout: 256 seconds) 2020-04-06T23:18:31Z notzmv quit (Ping timeout: 258 seconds) 2020-04-06T23:20:06Z cosimone joined #lisp 2020-04-06T23:24:43Z Aurora_iz_kosmos quit (Ping timeout: 240 seconds) 2020-04-06T23:25:06Z aeth: jasom: I suppose it's more accurately about reading than debugging, as in, it's harder to read (clever) code than to write it. e.g. regex 2020-04-06T23:25:27Z aeth: I'm not sure that's true, either, though. There are definitely lots of things that take all day to write a handful of lines 2020-04-06T23:25:41Z aeth: In that case, it's a bit hard to separate writing from debugging, though 2020-04-06T23:26:20Z fiddlerwoaroof: I've used regexes so much by now that I forget people have trouble reading them :) 2020-04-06T23:26:37Z aeth: which regexes matter 2020-04-06T23:26:49Z aeth: some languages let you do multiline and even commented regex 2020-04-06T23:27:15Z fiddlerwoaroof: I mean the standard, compressed "line-noise" regexes 2020-04-06T23:27:31Z fiddlerwoaroof: e.g. (?:[a-z]{2,})? stuff 2020-04-06T23:27:51Z wxie joined #lisp 2020-04-06T23:28:25Z cyberoctopi quit (Ping timeout: 264 seconds) 2020-04-06T23:28:38Z cosimone quit (Quit: Quit.) 2020-04-06T23:28:53Z fiddlerwoaroof: It's a bit like APL: for someone just getting started the syntax is gibberish, once you've really internalized it, it's the most efficient way to express precisely what you mean in the problem space. 2020-04-06T23:30:59Z aeth: Idk, I think regex is kind of like sh. It can't scale. Or, rather, it can scale but why would you? 2020-04-06T23:31:24Z aeth: that is, you can do neat one liners, but at some point, it's not the best tool 2020-04-06T23:31:30Z cosimone joined #lisp 2020-04-06T23:31:59Z karlosz quit (Quit: karlosz) 2020-04-06T23:32:15Z karlosz joined #lisp 2020-04-06T23:33:45Z cosimone quit (Client Quit) 2020-04-06T23:34:03Z wxie quit (Ping timeout: 250 seconds) 2020-04-06T23:35:09Z cosimone joined #lisp 2020-04-06T23:36:32Z rpg joined #lisp 2020-04-06T23:39:13Z Aurora_iz_kosmos joined #lisp 2020-04-06T23:39:58Z anticrisis_ joined #lisp 2020-04-06T23:40:54Z anticrisis__ joined #lisp 2020-04-06T23:43:41Z fiddlerwoaroof: Sure, but as a DSL for specifying sets of strings inside a larger program, it's really nice 2020-04-06T23:43:54Z anticrisis quit (Ping timeout: 265 seconds) 2020-04-06T23:44:52Z anticrisis_ quit (Ping timeout: 265 seconds) 2020-04-06T23:45:14Z gigetoo quit (Ping timeout: 240 seconds) 2020-04-06T23:46:40Z gigetoo joined #lisp 2020-04-06T23:51:51Z ayuce joined #lisp 2020-04-06T23:52:18Z ayuce quit (Remote host closed the connection) 2020-04-06T23:58:00Z fiddlerwoaroof: (SETF DRAKMA:*HEADER-STREAM* (SWANK-BUFFER-STREAMS:MAKE-BUFFER-OUTPUT-STREAM)) 2020-04-06T23:58:40Z fiddlerwoaroof: This is pretty nice: I can turn on http-mode in the resulting emacs buffer and get a nice colorized log of http requests next to my repl 2020-04-07T00:04:46Z kotrcka joined #lisp 2020-04-07T00:06:37Z ayuce joined #lisp 2020-04-07T00:06:42Z ayuce left #lisp 2020-04-07T00:10:27Z anticrisis__ quit (Quit: Leaving) 2020-04-07T00:10:37Z ayuce joined #lisp 2020-04-07T00:10:44Z anticrisis__ joined #lisp 2020-04-07T00:10:50Z torbo joined #lisp 2020-04-07T00:11:37Z watkinsr quit (Quit: WeeChat 2.7.1) 2020-04-07T00:13:11Z anticrisis__ quit (Client Quit) 2020-04-07T00:13:20Z nicktick joined #lisp 2020-04-07T00:13:26Z jcowan: fiddlerwoaroof: Except that a lot of people don't actually understand the corner cases, such as that normally . does not match newlines, and ^ and $ match beginning and end of line, not beginning and end of string 2020-04-07T00:13:41Z jcowan: there are s, m flags to change there 2020-04-07T00:13:45Z jcowan: these 2020-04-07T00:15:49Z ahungry joined #lisp 2020-04-07T00:17:19Z fiddlerwoaroof: Sure, and there are a half dozen slightly-incompatible implementations 2020-04-07T00:17:35Z fiddlerwoaroof: Python regex != PCRE != vim/sed != JS 2020-04-07T00:19:25Z markong quit (Ping timeout: 264 seconds) 2020-04-07T00:24:03Z cyberoctopi joined #lisp 2020-04-07T00:37:58Z libertyprime joined #lisp 2020-04-07T00:40:53Z cosimone quit (Quit: Quit.) 2020-04-07T00:45:24Z aeth: vim/sed regex are the same? I wouldn't be surprised if vim, sed, and ed all are slightly (if not more than slightly) incompatible 2020-04-07T00:45:37Z jcowan: yes, two standards (Posix BRE and ERE) and Ghu knows how many non-standards 2020-04-07T00:45:40Z aeth: Also, I think pcre and Perl regex are different 2020-04-07T00:45:51Z jcowan: chibi irregex/show FTW 2020-04-07T00:46:10Z jcowan: They are different 2020-04-07T00:48:22Z watkinsr joined #lisp 2020-04-07T00:50:24Z notzmv joined #lisp 2020-04-07T00:50:43Z notzmv is now known as Guest26468 2020-04-07T00:52:19Z ayuce quit (Remote host closed the connection) 2020-04-07T00:56:53Z renzhi joined #lisp 2020-04-07T01:01:49Z v0|d joined #lisp 2020-04-07T01:02:32Z Oladon joined #lisp 2020-04-07T01:04:39Z Guest26468 is now known as notzmv 2020-04-07T01:05:29Z bitmapper quit (Ping timeout: 250 seconds) 2020-04-07T01:09:56Z asarch: One stupid question: how is that, that in Caveman2 you can actually write expressions like @route GET "/" if, as far I know, every Lisp expression should be enclosed in parentheses? 2020-04-07T01:10:40Z fiddlerwoaroof: aeth: vim/sed I think both can take options to make their syntaxes roughly compatible 2020-04-07T01:10:54Z fiddlerwoaroof: similar to how grep is one syntax and grep -E is a different one 2020-04-07T01:11:03Z no-defun-allowed: asarch: That would require a "reader macro", which sets a function to read the rest of that expression after the @ character. 2020-04-07T01:11:20Z no-defun-allowed: and honestly, it's really dumb and looks out of place, but indeed it's possible. 2020-04-07T01:11:32Z fiddlerwoaroof: vim also adds "magic" mode where you have to put a backslash before certain regex chars 2020-04-07T01:11:54Z asarch: How would you create such expression? (defmacro @ () ...)? 2020-04-07T01:12:08Z asarch scratches his head... 2020-04-07T01:12:16Z no-defun-allowed: Did I not just say reader macro? 2020-04-07T01:12:23Z no-defun-allowed: clhs set-macro-character 2020-04-07T01:12:23Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_set_ma.htm 2020-04-07T01:14:41Z kotrcka quit (Quit: ChatZilla 0.9.94 [SeaMonkey 2.53.1/20200321023949]) 2020-04-07T01:14:52Z asarch: Mmmm... the server is down. Let's sudo apt-get -y install hyperspec 2020-04-07T01:15:08Z no-defun-allowed: It works here. 2020-04-07T01:16:16Z no-defun-allowed: In the MOP, are accessors guaranteed to use SLOT-VALUE-USING-CLASS? 2020-04-07T01:16:45Z ebzzry_ joined #lisp 2020-04-07T01:16:59Z space_otter joined #lisp 2020-04-07T01:18:26Z Kundry_W_ joined #lisp 2020-04-07T01:18:59Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-07T01:20:06Z asarch: How could I "expand" @ to see what is actually doing (a la macroexpand)? 2020-04-07T01:21:05Z Kundry_Wag quit (Ping timeout: 250 seconds) 2020-04-07T01:21:14Z cyberoctopi quit (Ping timeout: 240 seconds) 2020-04-07T01:21:19Z no-defun-allowed: I think you could prefix it with ' to get the generated code; but you would probably also need the expression after it that it annotates too. 2020-04-07T01:28:45Z Kaisyu72 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-07T01:30:11Z cyberoctopi joined #lisp 2020-04-07T01:31:08Z karstensrage joined #lisp 2020-04-07T01:34:36Z cyberoctopi quit (Ping timeout: 258 seconds) 2020-04-07T01:37:43Z cyberoctopi joined #lisp 2020-04-07T01:44:19Z Kaisyu7 joined #lisp 2020-04-07T01:50:05Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-07T01:50:50Z ebzzry_ joined #lisp 2020-04-07T01:55:00Z no-defun-allowed: Okay, if I have a class C1 with a metaclass M1, with a superclass C2 which has metaclass M2 and a slot S, should (slot-value 'S) invoke the SLOT-VALUE-USING-CLASS method specialised on C1? 2020-04-07T01:55:53Z pjb: asarch: using macroexpand or macroexpand-1. 2020-04-07T01:55:55Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-07T01:56:36Z pjb: asarch: oh, you mean the @route, not the macro you defmacro @'ed. 2020-04-07T01:56:53Z pjb: It's a reader macro, so: (read-from-string "@route GET \"/\"") 2020-04-07T01:57:13Z pjb: asarch: note however that some reader macro perform some processing. 2020-04-07T01:57:49Z pjb: asarch: for example, #S creates and return the structure. (defstruct point x y) (read-from-string "#S(point :x 1 :y 2)") #| --> #S(point :x 1 :y 2) ; 19 |# 2020-04-07T01:58:43Z pjb: asarch: on the other hand, #' doesn't: (print-conses (read-from-string "#'sin")) #| (function . (sin . ())) --> #'sin |# 2020-04-07T01:59:48Z pjb: asarch: it would probably be better to read the source… 2020-04-07T02:09:39Z Steinberg2010 joined #lisp 2020-04-07T02:13:57Z ebzzry_ joined #lisp 2020-04-07T02:14:26Z Steinberg2010 quit (Ping timeout: 256 seconds) 2020-04-07T02:16:39Z rumbler31 quit (Read error: Connection reset by peer) 2020-04-07T02:17:06Z rpg: Anyone know of any CL library that will take an OpenAPI/Swagger spec and synthesize a *server* stub? There are two libraries that, although they look unmaintained, promise to provide OpenAPI clients, but I don't see any mention of servers. 2020-04-07T02:17:07Z nicktick quit (Ping timeout: 265 seconds) 2020-04-07T02:17:13Z rumbler31 joined #lisp 2020-04-07T02:20:11Z swills left #lisp 2020-04-07T02:35:43Z gko joined #lisp 2020-04-07T02:47:07Z shifty joined #lisp 2020-04-07T02:55:42Z Oladon quit (Quit: Leaving.) 2020-04-07T02:55:47Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-07T02:58:22Z ebzzry_ joined #lisp 2020-04-07T03:03:56Z t3hyoshi quit (Quit: ZNC - https://znc.in) 2020-04-07T03:11:44Z torbo quit (Remote host closed the connection) 2020-04-07T03:11:44Z mrcom quit (Read error: Connection reset by peer) 2020-04-07T03:17:40Z asarch: Thank you! 2020-04-07T03:17:45Z asarch: Thank you very much! :-) 2020-04-07T03:18:19Z shangul joined #lisp 2020-04-07T03:18:19Z asarch: Ok, I will 2020-04-07T03:19:58Z Bike: no-defun-allowed: slot-value-using-class uses effective slot definitions, so yeah M2 won't enter into it I don't think. 2020-04-07T03:20:20Z no-defun-allowed: Righteo, thanks. 2020-04-07T03:20:30Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-07T03:21:41Z no-defun-allowed: That is what I observed getting it to work with ABCL. 2020-04-07T03:25:59Z beach: Good morning everyone! 2020-04-07T03:26:34Z Bike quit (Quit: leaving) 2020-04-07T03:31:25Z cyberoctopi quit (Ping timeout: 264 seconds) 2020-04-07T03:35:28Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-07T03:36:31Z karswell_ joined #lisp 2020-04-07T03:38:35Z akoana quit (Quit: leaving) 2020-04-07T03:43:47Z cyberoctopi joined #lisp 2020-04-07T03:45:11Z karswell_ is now known as karswell 2020-04-07T03:51:52Z pilne quit (Quit: Excess flood. Did someone see an ark float by?) 2020-04-07T03:53:36Z gigetoo quit (Ping timeout: 256 seconds) 2020-04-07T03:56:31Z gigetoo joined #lisp 2020-04-07T04:07:45Z ebzzry_ joined #lisp 2020-04-07T04:09:07Z vlatkoB joined #lisp 2020-04-07T04:09:43Z jprajzne quit (Quit: jprajzne) 2020-04-07T04:10:08Z jprajzne joined #lisp 2020-04-07T04:13:51Z Oladon joined #lisp 2020-04-07T04:14:14Z jprajzne quit (Client Quit) 2020-04-07T04:14:38Z jprajzne joined #lisp 2020-04-07T04:15:08Z efm quit (Ping timeout: 256 seconds) 2020-04-07T04:22:23Z efm joined #lisp 2020-04-07T04:26:10Z cyberoctopi quit (Ping timeout: 265 seconds) 2020-04-07T04:26:13Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-07T04:30:03Z _whitelogger quit (Remote host closed the connection) 2020-04-07T04:32:18Z _whitelogger joined #lisp 2020-04-07T04:35:54Z renzhi quit (Ping timeout: 240 seconds) 2020-04-07T04:39:03Z _whitelogger quit (Remote host closed the connection) 2020-04-07T04:41:16Z _whitelogger joined #lisp 2020-04-07T04:48:06Z ebzzry_ joined #lisp 2020-04-07T04:50:20Z karlosz quit (Quit: karlosz) 2020-04-07T04:52:47Z Krystof quit (Ping timeout: 258 seconds) 2020-04-07T04:54:17Z narimiran joined #lisp 2020-04-07T04:54:44Z cyberoctopi joined #lisp 2020-04-07T04:56:42Z ayuce joined #lisp 2020-04-07T04:59:03Z cyberoctopi quit (Ping timeout: 250 seconds) 2020-04-07T05:00:34Z froggey quit (Ping timeout: 240 seconds) 2020-04-07T05:01:54Z hdasch quit (Ping timeout: 240 seconds) 2020-04-07T05:02:07Z hdasch joined #lisp 2020-04-07T05:05:10Z ayuce quit (Remote host closed the connection) 2020-04-07T05:06:42Z ayuce joined #lisp 2020-04-07T05:13:34Z Oladon quit (Quit: Leaving.) 2020-04-07T05:30:04Z karlosz joined #lisp 2020-04-07T05:32:42Z hdasch quit (Ping timeout: 256 seconds) 2020-04-07T05:36:18Z nicktick joined #lisp 2020-04-07T05:38:39Z cyberoctopi joined #lisp 2020-04-07T05:40:34Z hdasch joined #lisp 2020-04-07T05:43:01Z xaotuk quit (Ping timeout: 265 seconds) 2020-04-07T05:43:25Z cyberoctopi quit (Ping timeout: 264 seconds) 2020-04-07T05:45:21Z asarch quit (Quit: Leaving) 2020-04-07T05:56:15Z JohnMS_WORK joined #lisp 2020-04-07T05:57:02Z matzy_ joined #lisp 2020-04-07T05:57:56Z matzy_: does anyone have a good modern tutorial on how to get a basic hunchentoot server running locally on your machine just to practice? 2020-04-07T05:58:17Z matzy_: all the tutorials i'm finding are really old or are actually configuring a prod server with the library 2020-04-07T05:58:20Z no-defun-allowed: The Hunchentoot manual has a..two liner I think on how to do that. 2020-04-07T05:58:34Z no-defun-allowed: https://edicl.github.io/hunchentoot/#teen-age A one liner, even. 2020-04-07T05:59:34Z matzy_: damn that's even simpler than what i have now. but dont you need to call something in slime to get it going? 2020-04-07T06:00:33Z matzy_: you cant just paste that in a file and access it from a browser, something has to trigger it to start 2020-04-07T06:00:56Z ahungry quit (Remote host closed the connection) 2020-04-07T06:00:58Z beach: You need to start your Common Lisp system, but you don't need SLIME for that. 2020-04-07T06:02:07Z matzy_: hmm what do you mean by that? I've always thought of SLIME as the thing that starts your CL system 2020-04-07T06:02:26Z ggole joined #lisp 2020-04-07T06:02:32Z matzy_: obviously i'm a beginner and trying to learn, been working my way through PCL 2020-04-07T06:03:02Z beach: SLIME is starting your Common Lisp for you. If that system happens to be SBCL, then you can start it by typing `sbcl' at the command line. 2020-04-07T06:03:20Z beach: You should see a `*' prompt. 2020-04-07T06:03:36Z matzy_: oh yeah i forgot about running sbcl directly 2020-04-07T06:05:34Z matzy_: that still doesn't make sense though. i surely need some command to start the specific api program i wrote though, right? 2020-04-07T06:05:59Z matzy_: just running sbcl in the directly doesnt load the page on localhost with the correct port 2020-04-07T06:06:01Z no-defun-allowed: What program have you written? 2020-04-07T06:06:25Z karlosz quit (Quit: karlosz) 2020-04-07T06:06:37Z karlosz joined #lisp 2020-04-07T06:06:47Z matzy_: 2020-04-07T06:06:47Z matzy_: (ql:quickload :hunchentoot) 2020-04-07T06:06:47Z matzy_: (hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242)) 2020-04-07T06:06:50Z matzy_: 2020-04-07T06:06:53Z matzy_: (hunchentoot:define-easy-handler (say-yo :uri "/yo") (name) 2020-04-07T06:06:56Z matzy_: (setf (hunchentoot:content-type*) "text/plain") 2020-04-07T06:06:58Z matzy_: (format nil "Hey~@[ ~A~]!" name)) 2020-04-07T06:07:01Z matzy_: sorry that's a shitty way to paste code i know 2020-04-07T06:07:48Z ayuce quit (Remote host closed the connection) 2020-04-07T06:07:56Z matzy_: but i'm not sure what command to run in SLIME or sbcl to "kick it off" 2020-04-07T06:08:43Z no-defun-allowed: You can use (load "filename") to load a file, or start sbcl using sbcl --load filename.lisp 2020-04-07T06:12:04Z matzy_: wow i feel like an idiot. that's exactly what i was missing. thanks a million! 2020-04-07T06:14:52Z eck joined #lisp 2020-04-07T06:15:30Z cyberoctopi joined #lisp 2020-04-07T06:15:42Z eck quit (Client Quit) 2020-04-07T06:16:16Z eck joined #lisp 2020-04-07T06:16:39Z eck is now known as Guest96678 2020-04-07T06:17:12Z Guest96678 quit (Client Quit) 2020-04-07T06:19:05Z ayuce joined #lisp 2020-04-07T06:19:20Z eck_ joined #lisp 2020-04-07T06:21:37Z ayuce quit (Remote host closed the connection) 2020-04-07T06:21:38Z cartwright quit (Remote host closed the connection) 2020-04-07T06:22:50Z hdasch quit (Ping timeout: 265 seconds) 2020-04-07T06:23:00Z ayuce joined #lisp 2020-04-07T06:24:19Z eck_ is now known as daddy 2020-04-07T06:24:36Z daddy is now known as eck`` 2020-04-07T06:24:51Z eck`` is now known as `eck` 2020-04-07T06:25:17Z hdasch joined #lisp 2020-04-07T06:25:48Z cartwright joined #lisp 2020-04-07T06:28:25Z Bourne quit (Ping timeout: 264 seconds) 2020-04-07T06:36:47Z Kundry_Wag joined #lisp 2020-04-07T06:39:12Z random-nick joined #lisp 2020-04-07T06:40:03Z Kundry_W_ quit (Ping timeout: 260 seconds) 2020-04-07T06:40:52Z nicktick quit (Quit: Leaving.) 2020-04-07T06:47:43Z esrse joined #lisp 2020-04-07T06:51:01Z Bourne joined #lisp 2020-04-07T06:54:55Z dddddd quit (Remote host closed the connection) 2020-04-07T06:58:15Z wsinatra quit (Remote host closed the connection) 2020-04-07T06:58:42Z wsinatra joined #lisp 2020-04-07T07:03:26Z yang quit (Ping timeout: 256 seconds) 2020-04-07T07:03:26Z stux|RC-only quit (Ping timeout: 256 seconds) 2020-04-07T07:04:31Z yang joined #lisp 2020-04-07T07:04:47Z stux|RC-only joined #lisp 2020-04-07T07:04:48Z heisig joined #lisp 2020-04-07T07:06:13Z tiwEllien joined #lisp 2020-04-07T07:07:25Z greaser|q quit (Ping timeout: 256 seconds) 2020-04-07T07:10:35Z greaser|q joined #lisp 2020-04-07T07:11:00Z PuercoPop joined #lisp 2020-04-07T07:18:34Z `eck` is now known as eck 2020-04-07T07:18:35Z cyberoctopi quit (Ping timeout: 250 seconds) 2020-04-07T07:19:44Z Cymew joined #lisp 2020-04-07T07:23:25Z ayuce quit (Remote host closed the connection) 2020-04-07T07:27:18Z ayuce joined #lisp 2020-04-07T07:30:13Z Oddity quit (Ping timeout: 264 seconds) 2020-04-07T07:31:43Z tiwEllien quit (Remote host closed the connection) 2020-04-07T07:32:29Z tiwEllien joined #lisp 2020-04-07T07:40:15Z gxt quit (Quit: WeeChat 2.8) 2020-04-07T07:46:18Z Oddity joined #lisp 2020-04-07T07:48:10Z dale quit (Quit: My computer has gone to sleep) 2020-04-07T07:48:53Z gxt joined #lisp 2020-04-07T08:02:20Z jackhill_ joined #lisp 2020-04-07T08:02:48Z kim\ joined #lisp 2020-04-07T08:03:02Z gingerale- joined #lisp 2020-04-07T08:03:25Z jackhill quit (Ping timeout: 246 seconds) 2020-04-07T08:03:26Z kim_ quit (Ping timeout: 246 seconds) 2020-04-07T08:03:26Z gingerale quit (Ping timeout: 246 seconds) 2020-04-07T08:04:50Z Tordek quit (Ping timeout: 258 seconds) 2020-04-07T08:05:38Z Tordek joined #lisp 2020-04-07T08:06:55Z gingerale- is now known as gingerale 2020-04-07T08:10:25Z vhost- quit (Ping timeout: 264 seconds) 2020-04-07T08:16:25Z CrazyEddy quit (Remote host closed the connection) 2020-04-07T08:19:47Z CrazyEddy joined #lisp 2020-04-07T08:27:48Z hdasch quit (Ping timeout: 256 seconds) 2020-04-07T08:27:56Z hdasch joined #lisp 2020-04-07T08:35:19Z matzy_: ok i have another question if anyone's around, hopefully it's less stupid 2020-04-07T08:36:51Z matzy_: so if i define an *acceptor* (I believe it is a class) and pass it to (hunchentoot:start *acceptor*) (literally that's my code), I get an error 2020-04-07T08:37:22Z matzy_: but if i do a one-liner with (hunchentoot:start) it works fine 2020-04-07T08:37:52Z matzy_: so this: (hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242)) 2020-04-07T08:38:04Z matzy_: from everything i've learned so far about lisp this makes no sense 2020-04-07T08:40:36Z Shinmera: From your description I have no idea what you're doing, so 2020-04-07T08:45:00Z matzy_: literally copying and pasting the third and fourth codeblocks on this page to see how serving files works: https://lispcookbook.github.io/cl-cookbook/web.html 2020-04-07T08:47:12Z matzy_: whereas the one-liner (hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242)) run without any errors 2020-04-07T08:47:52Z Shinmera: That still doesn't tell me what you're doing. 2020-04-07T08:48:08Z hdasch quit (Ping timeout: 265 seconds) 2020-04-07T08:48:47Z hdasch joined #lisp 2020-04-07T08:49:50Z matzy_: so the first example doesn't work either. I should clarify. Directly under the "Simple Webserver" huge heading, there's another "Serve Local Files" big header, and then under that is a "Hunchentoot" header, and it's the subsequent codeblocks that i'm literally pasting in emacs and they're not working 2020-04-07T08:50:17Z Shinmera: The code is obviously correct so whatever you're actually doing that isn't code must be wrong. 2020-04-07T08:52:11Z PuercoPop quit (Ping timeout: 250 seconds) 2020-04-07T08:59:14Z xaotuk joined #lisp 2020-04-07T09:01:27Z frgo_ quit (Remote host closed the connection) 2020-04-07T09:02:06Z frgo joined #lisp 2020-04-07T09:05:01Z vaporatorius joined #lisp 2020-04-07T09:05:16Z CrazyEddy quit (Remote host closed the connection) 2020-04-07T09:07:03Z matzy_ quit (Ping timeout: 260 seconds) 2020-04-07T09:09:56Z z147 joined #lisp 2020-04-07T09:11:05Z frgo_ joined #lisp 2020-04-07T09:12:54Z frgo_ quit (Remote host closed the connection) 2020-04-07T09:13:33Z frgo_ joined #lisp 2020-04-07T09:14:37Z frgo quit (Ping timeout: 260 seconds) 2020-04-07T09:21:04Z frgo joined #lisp 2020-04-07T09:21:40Z frgo quit (Remote host closed the connection) 2020-04-07T09:22:00Z amerlyq joined #lisp 2020-04-07T09:22:19Z frgo joined #lisp 2020-04-07T09:23:26Z frgo__ joined #lisp 2020-04-07T09:23:57Z frgo_ quit (Ping timeout: 260 seconds) 2020-04-07T09:25:12Z postit_ joined #lisp 2020-04-07T09:26:15Z postit_ quit (Client Quit) 2020-04-07T09:26:38Z postit joined #lisp 2020-04-07T09:27:27Z frgo quit (Ping timeout: 260 seconds) 2020-04-07T09:29:10Z sauvin quit (Ping timeout: 258 seconds) 2020-04-07T09:32:36Z markong joined #lisp 2020-04-07T09:33:00Z Lord_of_Life_ joined #lisp 2020-04-07T09:34:14Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-04-07T09:34:18Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-07T09:34:22Z no-defun-allowed: Is Ironclad supposed to be fast? 2020-04-07T09:36:38Z no-defun-allowed: I suppose so; it's probably not the bottleneck in my program. Never mind. 2020-04-07T09:37:41Z hdasch quit (Ping timeout: 250 seconds) 2020-04-07T09:38:10Z hdasch joined #lisp 2020-04-07T09:40:49Z Shinmera: It won't be as fast as crypto algorithms that were hand tuned by tons of people, but it's good enough (at least on SBCL) 2020-04-07T09:42:13Z markong quit (Ping timeout: 264 seconds) 2020-04-07T09:42:14Z no-defun-allowed: Yeah, it's about 1/4 the speed of OpenSSL on my laptop. 2020-04-07T09:42:19Z markoong joined #lisp 2020-04-07T09:43:20Z no-defun-allowed continues to look for the bottleneck 2020-04-07T09:43:35Z loke`: Is anyone maintaining ironclad? 2020-04-07T09:43:45Z loke`: I'd like support for SHA-3 for example. 2020-04-07T09:44:16Z phoe: loke`: yes, the sharplispers collective. 2020-04-07T09:46:22Z MichaelRaskin: Note that assembly implementations of cryptographic algorithms are usually also tuned against timing leaks. 2020-04-07T09:49:28Z p_l: sharplispers collective, eh? 2020-04-07T09:49:39Z p_l: might seek place there if I get more "free" time 2020-04-07T09:51:11Z jackdaniel: if I ever start a collective I'll call it dulllispers, three "l" there look like a great typo 2020-04-07T09:51:20Z phoe: dul³ispers 2020-04-07T09:51:26Z jackdaniel: no 2020-04-07T09:51:38Z phoe: :( 2020-04-07T09:51:43Z no-defun-allowed: Yeah, you could square the S while you're at it 2020-04-07T09:52:44Z jackdaniel: sure, but that wouldn't be a collective then 2020-04-07T09:52:47Z aeth: s/l/λ/ and you have a half life 3 joke there, too 2020-04-07T09:53:08Z aeth: while also being relevant to Lisp because of the lambda. 2020-04-07T09:53:17Z jackdaniel: :) /me gets back to ecl 2020-04-07T09:56:23Z Shepard joined #lisp 2020-04-07T09:58:28Z narimiran quit (Ping timeout: 256 seconds) 2020-04-07T10:01:43Z cyberoctopi joined #lisp 2020-04-07T10:03:51Z ayuce quit (Remote host closed the connection) 2020-04-07T10:03:59Z sauvin joined #lisp 2020-04-07T10:05:35Z xaotuk quit (Ping timeout: 258 seconds) 2020-04-07T10:07:34Z xaotuk joined #lisp 2020-04-07T10:08:17Z zaquest quit (Quit: Leaving) 2020-04-07T10:09:44Z Shepard quit (Remote host closed the connection) 2020-04-07T10:13:07Z jmercouris joined #lisp 2020-04-07T10:15:06Z space_otter quit (Remote host closed the connection) 2020-04-07T10:17:02Z drainful: What about embracing the typo look with dullllispers 2020-04-07T10:21:11Z froggey joined #lisp 2020-04-07T10:21:53Z hdasch quit (Ping timeout: 250 seconds) 2020-04-07T10:22:46Z EvW joined #lisp 2020-04-07T10:25:27Z hdasch joined #lisp 2020-04-07T10:36:08Z frgo__ quit (Remote host closed the connection) 2020-04-07T10:36:39Z zaquest joined #lisp 2020-04-07T10:36:40Z frgo joined #lisp 2020-04-07T10:41:08Z karlosz quit (Quit: karlosz) 2020-04-07T10:48:53Z CrazyEddy joined #lisp 2020-04-07T10:49:54Z jackdaniel: are these lambda lists [gf] (A &REST ARGS &KEY FOO &ALLOW-OTHER-KEYS) and [method] (A &KEY PAYLOAD) congruent? 2020-04-07T10:49:58Z jackdaniel: clhs 7.6.4 2020-04-07T10:49:58Z specbot: Congruent Lambda-lists for all Methods of a Generic Function: http://www.lispworks.com/reference/HyperSpec/Body/07_fd.htm 2020-04-07T10:50:24Z jackdaniel: reading 4th point carefully seems to say: "no", because "each method must accept all of the keyword names mentioned after &key, either by accepting them explicitly, by specifying &allow-other-keys, or by specifying &rest but not &key." 2020-04-07T10:50:29Z Bourne quit (Remote host closed the connection) 2020-04-07T10:50:34Z jackdaniel: do I miss something? 2020-04-07T10:51:02Z Bourne joined #lisp 2020-04-07T10:51:22Z z147 quit (Quit: z147) 2020-04-07T10:51:51Z igemnace joined #lisp 2020-04-07T10:53:07Z jackdaniel: also 2020-04-07T10:53:09Z jackdaniel: clhs 7.6.5 2020-04-07T10:53:09Z specbot: Keyword Arguments in Generic Functions and Methods: http://www.lispworks.com/reference/HyperSpec/Body/07_fe.htm 2020-04-07T10:56:47Z Shinmera: jackdaniel: But point 5 says &allow-other-keys may be omitted as long as it is on at least one method or the gf. 2020-04-07T10:57:51Z xaotuk quit (Ping timeout: 250 seconds) 2020-04-07T10:59:04Z rippa joined #lisp 2020-04-07T10:59:53Z xaotuk joined #lisp 2020-04-07T11:02:08Z jackdaniel: Shinmera: point 5. says "any keyword arguments may be mentioned in the call to the generic function. ", not "then method doesn't have to accept all of the keyword names mentioned after &key" 2020-04-07T11:02:33Z jackdaniel: so as I read it it says about calling the function, not about defining a method 2020-04-07T11:04:00Z Shinmera: 7.6.5 also says: If the lambda list of any applicable method or of the generic function definition contains &allow-other-keys, all keyword arguments are accepted by the generic function. 2020-04-07T11:04:14Z Shinmera: hmm. 2020-04-07T11:04:22Z jackdaniel: still it says about calling the function 2020-04-07T11:05:05Z Shinmera: Well, I'll give you the practical answer of: if you made it illegal to omit keyword arguments you would break a lot of code out there :) 2020-04-07T11:05:20Z jackdaniel: only one library breaks on quicklisp (maiden) 2020-04-07T11:05:36Z Shinmera: Oh, really? 2020-04-07T11:05:41Z jackdaniel: affirmative 2020-04-07T11:06:07Z jackdaniel: hm, maybe not -- I don't know. only one library in the pivot table from testing 2020-04-07T11:06:22Z jackdaniel: https://gitlab.com/embeddable-common-lisp/ecl/uploads/b754370025423cb0d90595d8d67e1d93/ecl-pivot-ccmp.html 2020-04-07T11:06:53Z jackdaniel: coungruency predicate didn't change, so there may be more 2020-04-07T11:07:34Z jackdaniel: either way, question is about conformance to standard, not to sbcl :) 2020-04-07T11:07:40Z Shinmera: Well if it's just me then of course I'll change it. 2020-04-07T11:11:57Z ayuce joined #lisp 2020-04-07T11:12:36Z Shinmera: Should be fixed. 2020-04-07T11:13:57Z jackdaniel: thanks, I'm still wondering if the interpretation should be loosened on ECL. I'll see what other implementations do 2020-04-07T11:17:29Z jasom quit (Ping timeout: 265 seconds) 2020-04-07T11:18:33Z ukari quit (Remote host closed the connection) 2020-04-07T11:19:00Z ukari joined #lisp 2020-04-07T11:20:29Z jasom joined #lisp 2020-04-07T11:23:34Z davepdotorg quit (Remote host closed the connection) 2020-04-07T11:24:00Z davepdotorg joined #lisp 2020-04-07T11:27:43Z dddddd joined #lisp 2020-04-07T11:27:49Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-07T11:28:08Z ayuce quit (Remote host closed the connection) 2020-04-07T11:29:17Z larme quit (Quit: WeeChat 2.3) 2020-04-07T11:29:29Z larme joined #lisp 2020-04-07T11:30:57Z larme quit (Client Quit) 2020-04-07T11:32:11Z esrse quit (Ping timeout: 260 seconds) 2020-04-07T11:32:21Z kpoeck joined #lisp 2020-04-07T11:32:38Z larme joined #lisp 2020-04-07T11:32:56Z kpoeck: Hello 2020-04-07T11:33:03Z jackdaniel: o/ 2020-04-07T11:33:21Z ebzzry_ joined #lisp 2020-04-07T11:34:06Z kpoeck: There seem to be cases where repositories are both on github and https://gitlab.common-lisp.net/ and the content is not the same 2020-04-07T11:34:50Z jackdaniel: interesting, maybe that are forks? or mirrors? 2020-04-07T11:34:55Z jackdaniel: well, bad mirrors if so 2020-04-07T11:35:34Z kpoeck: In you case https://gitlab.common-lisp.net/mcclim and https://github.com/McCLIM/McCLIM 2020-04-07T11:35:45Z kpoeck: in your case 2020-04-07T11:36:58Z kpoeck: The latest commit on https://gitlab.common-lisp.net/mcclim/mcclim/-/commits/master is like 7 years ago, so this is probably abandonned 2020-04-07T11:37:22Z jackdaniel: I'll see if I can configure it to pull from github and act as a mirror 2020-04-07T11:37:44Z jackdaniel: I'm one of members of the group and we have there mcclim-website and such 2020-04-07T11:38:16Z ukari quit (Remote host closed the connection) 2020-04-07T11:39:15Z ukari joined #lisp 2020-04-07T11:39:19Z kpoeck: I am asking since I just made a pr to zacl on https://gitlab.common-lisp.net/zbeane/zacl and there is also https://github.com/xach/zacl 2020-04-07T11:40:20Z kpoeck: in this case the github version seems to be abandonned and is missing 1 year of changes 2020-04-07T11:47:47Z libertyprime quit (Read error: No route to host) 2020-04-07T11:52:36Z libertyprime joined #lisp 2020-04-07T11:53:47Z postit quit (Quit: Connection closed for inactivity) 2020-04-07T11:57:38Z jmercouris quit (Remote host closed the connection) 2020-04-07T11:57:53Z loli quit (Quit: WeeChat 2.7.1) 2020-04-07T12:01:42Z Bike joined #lisp 2020-04-07T12:02:48Z Bourne quit (Ping timeout: 256 seconds) 2020-04-07T12:03:05Z Steinberg2010 joined #lisp 2020-04-07T12:04:41Z frgo quit (Read error: No route to host) 2020-04-07T12:04:47Z frgo_ joined #lisp 2020-04-07T12:10:05Z narimiran joined #lisp 2020-04-07T12:17:30Z Xach: kpoeck: i can explain for zacl 2020-04-07T12:18:01Z kpoeck: please 2020-04-07T12:18:04Z Xach: kpoeck: zacl was paid work and the payor demanded i use common-lisp.net. after the payment was done i switched to github, because that's what i prefer. 2020-04-07T12:18:39Z kpoeck: ok, so i did the pr in the right repository 2020-04-07T12:18:43Z Xach: well 2020-04-07T12:19:08Z Xach: i'm not sure that's true! 2020-04-07T12:19:17Z kpoeck: huh? 2020-04-07T12:19:51Z Xach: I just looked and quicklisp pulls from clnet, which is a surprise to me. 2020-04-07T12:20:02Z Xach: So I will check on the difference between repos and see which should truly be used. 2020-04-07T12:20:02Z kpoeck: sorry i read you message exactly backwors 2020-04-07T12:20:10Z Xach: No - it's not a clear situation 2020-04-07T12:21:40Z JohnMS joined #lisp 2020-04-07T12:22:09Z kpoeck: A technical question, in zacl - or better in zaserve - I have the problem that the "MP" package is used both in zacl and in clasp 2020-04-07T12:22:20Z kpoeck: And 2 symbols clash in the definition 2020-04-07T12:22:42Z kpoeck: Is this a case where package local nicknames can help me out? 2020-04-07T12:22:48Z Bike: clasp should probably rename it clasp-mp or something, then. 2020-04-07T12:23:10Z phoe: MP, short for multiprocessing, is a pacakge name that is likely collide 2020-04-07T12:23:15Z phoe: likely to collide* 2020-04-07T12:23:23Z Bourne joined #lisp 2020-04-07T12:23:23Z kpoeck: Bike, that would be the best idea 2020-04-07T12:23:56Z Xach: kpoeck: it looks as though the clnet one is the most up-to-date and i can accomodate PRs there 2020-04-07T12:23:59Z JohnMS_WORK quit (Ping timeout: 260 seconds) 2020-04-07T12:25:16Z eta: is there a way to check whether a string is valid UTF-8? 2020-04-07T12:25:18Z orivej quit (Ping timeout: 256 seconds) 2020-04-07T12:25:32Z Shinmera: strings have no encoding. 2020-04-07T12:25:47Z Bike: pretty easy to do with a byte vector, tho. 2020-04-07T12:26:35Z eta: Shinmera, okay, is there a way to check whether a string would *encode* to valid UTF-8? ;P 2020-04-07T12:26:51Z eta: I guess I could try using babel:string-to-octets and catch an error 2020-04-07T12:26:57Z Bike: how would it not encode? like if a character isn't in unicode? 2020-04-07T12:27:03Z Shinmera: if your implementation uses the unicode character set then it must. 2020-04-07T12:27:09Z Shinmera: no need to check. 2020-04-07T12:27:25Z eta: oh right 2020-04-07T12:27:33Z eta: so it's impossible for SBCL to read a string that isn't unicode? 2020-04-07T12:27:48Z loke`: eta: sure it is 2020-04-07T12:28:20Z Shinmera: unicode attempts to cover every character set out there, meaning the chance you get a string with a character set not covered by unicode is extremely slim. 2020-04-07T12:28:23Z eta: basically I'm debugging a crash where a "Illegal :UTF-8 character starting at position 0." error got thrown 2020-04-07T12:28:25Z 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) 2020-04-07T12:28:39Z Shinmera: well then you're dealing with bytes, not strings. 2020-04-07T12:28:42Z Bike: okay, so you have a stream of _bytes_ 2020-04-07T12:28:53Z loke`: Shinmera: actually it depends on Lisp implementation. Unicode only support 21 bits (well, a bit over 20 bits to be precise). 2020-04-07T12:29:13Z eta: urgh 2020-04-07T12:29:13Z loke`: If you have an implementation that allows characters above that, then you have invalidUnicode. 2020-04-07T12:29:18Z eta: I should just try and get a backtrace I guess 2020-04-07T12:29:28Z Bike: are you reading from a file or something? 2020-04-07T12:29:33Z eta: Bike, no I'm building a whatsapp bridge 2020-04-07T12:29:38Z Shinmera: loke`: Well I did say if your implementation uses the unicode character set. 2020-04-07T12:29:45Z Bike: well you're reading some kind of stream. 2020-04-07T12:29:48Z eta: and I think some idiot might have managed to set their whatsapp status to a non-UTF-8 string 2020-04-07T12:29:48Z loke`: But, in SBCL as far as I can remember, a character is defined to be a valid Unicode codepoint, in that implementation there is no such thing as an invalid string. 2020-04-07T12:29:51Z eta: oh yeah, multiple all over the place 2020-04-07T12:29:55Z eta: which is why a backtrace would help :p 2020-04-07T12:30:06Z eta: lessee here 2020-04-07T12:30:19Z eta: there isn't a BREAK-ON-SIGNALS that only breaks on error, or is there? 2020-04-07T12:30:36Z troydm joined #lisp 2020-04-07T12:30:46Z Bike: you can set *break-on-signals* to 'error 2020-04-07T12:30:55Z Bike: it's a type of conditions to break on, not a boolean. 2020-04-07T12:31:01Z loke`: eta: You can use the INCOV package (on quicklisp). It has the most robust error recovery parsing. 2020-04-07T12:31:08Z Bike: http://www.sbcl.org/manual/#Supported-External-Formats here's a list of the encodings supported by sbcl, if it helps. 2020-04-07T12:31:09Z eta: Bike, oh snap 2020-04-07T12:31:17Z eta: that's really useful 2020-04-07T12:31:26Z loke`: eta: It provides restarts that allows you to look at the invalid text and then invoke the restart with the specified replacement character. 2020-04-07T12:31:38Z loke`: I mean ICONV package 2020-04-07T12:31:49Z eta: loke`, thanks, I'll take a look :) 2020-04-07T12:33:00Z Shinmera: eta: it's likely that there's some byte padding or some other structure that you're not skipping. 2020-04-07T12:34:02Z jonatack_ quit (Ping timeout: 265 seconds) 2020-04-07T12:35:58Z eta: Shinmera, hmm, no, I think the issue is JS strings are UTF-16, right? 2020-04-07T12:36:04Z cyberoctopi quit (Ping timeout: 256 seconds) 2020-04-07T12:36:11Z eta: JSON*, rather 2020-04-07T12:36:14Z cosimone joined #lisp 2020-04-07T12:36:43Z Shinmera: eh? JSON is a character format 2020-04-07T12:37:03Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-07T12:37:13Z eta: well check out {\\\"status\\\":\\\"\\\\ud83c\\\\uddf5\\\\ud83c\\\\uddf9\\\\ud83c\\\\uddec\\\\ud83c\\\\udde7\\\"} 2020-04-07T12:37:16Z Shinmera: unless you're talking about BSON, which is another deal entirely. 2020-04-07T12:37:18Z eta: whatever this string is, it seems to be causing Problems 2020-04-07T12:37:35Z Shinmera: those are the raw codepoints. 2020-04-07T12:37:42Z eta: yeah 2020-04-07T12:37:48Z Shinmera: so there is no encoding. 2020-04-07T12:38:12Z Shinmera: you need to replace every \uX by the result of (code-char X) 2020-04-07T12:38:37Z eta: Shinmera, no, but is it possible that encoding that string as UTF-8 throws an error 2020-04-07T12:39:02Z Shinmera gives up 2020-04-07T12:39:12Z eta: sorry :( 2020-04-07T12:39:54Z Bike: what shinmera is trying to say is that you seem to be persistently confusing strings and their encodings as byte sequences. That string is perfectly encodable as UTF-8; but you're not dealing with a string, you're dealing with a byte sequence you got from the wire or something. 2020-04-07T12:40:24Z eta: Bike, what if it contained an unpaired UTF-16 surrogate? 2020-04-07T12:40:30Z eta: (or can lisp strings not contain those) 2020-04-07T12:40:37Z Bike: there are no UTF-16 surrogates in strings. Strings are composed of characters. 2020-04-07T12:40:44Z jcowan: When you represent characters in JSON strings as backslashed \uxxxx, you havd to use UTF-16 conventions. But the encodijng of a JSON value should always be UTF-8. 2020-04-07T12:41:17Z eta: Bike, so what you're saying is, strings are always sequences of valid characters? 2020-04-07T12:41:18Z jcowan: so "\D800" is an invalid string 2020-04-07T12:41:31Z Bike: eta: Yes, and in fact there are no "invalid characters". 2020-04-07T12:41:35Z shifty quit (Ping timeout: 265 seconds) 2020-04-07T12:41:47Z eta: just invalid byte sequences? 2020-04-07T12:41:50Z Bike: No! 2020-04-07T12:41:56Z Bike: There are no bytes! A string is made of characters. 2020-04-07T12:42:06Z Bike: It's a high level data type. 2020-04-07T12:42:29Z eta: sure 2020-04-07T12:42:35Z eta: what I meant to say is 2020-04-07T12:42:43Z eta: encoding errors only arise when you're going to/from byte sequences? 2020-04-07T12:43:00Z Bike: Well, yes. How would you get an encoding error except while encoding? 2020-04-07T12:43:39Z eta: ...this is a good point ;p 2020-04-07T12:43:41Z jcowan: At that level, yes. But then JSON string values can generate errors if they contain invalid escape sequences. Those are encoding/decoding errors at a different level 2020-04-07T12:43:47Z Bike: The error you showed looks like you're trying to decode a stream of bytes into a string, but the byte sequence is not actually UTF-8. 2020-04-07T12:44:07Z eta: jcowan, that's exactly what I was thinking! 2020-04-07T12:44:27Z eta: well I managed to crash SLIME with this weird string, somehow 2020-04-07T12:44:51Z eta: oh wait, no 2020-04-07T12:44:58Z eta: jcowan, you mean if the \uXXXX isn't actually a valid codepoint 2020-04-07T12:45:05Z cyberoctopi joined #lisp 2020-04-07T12:46:03Z jcowan: Or pair of surrogates. 2020-04-07T12:47:36Z edgar-rft: let's introduce NOT-ENCODING-ERROR conditions for errors that happen while not encoding 2020-04-07T12:48:41Z eta: aha! 2020-04-07T12:48:42Z mood: That does not apply to the string posted though, that (with some \\ removed) appears to be a Portuguese flag followed by a British flag 2020-04-07T12:48:44Z eta: Error during string-to-utf8: Unable to encode character 55356 as :UTF-8. 2020-04-07T12:48:44Z eta: (:write-string "\"\xD83C\xDDF5\xD83C\xDDF9\xD83C\xDDEC\xD83C\xDDE7\"" :repl-result) 2020-04-07T12:48:50Z eta: look, a character you can't encode as utf-8 2020-04-07T12:50:50Z eta: urgh, this is doing my head in 2020-04-07T12:50:56Z eta: because apparently you can 2020-04-07T12:52:01Z eta: I think I hit https://github.com/slime/slime/issues/527 2020-04-07T12:52:08Z eta: (ironically, which Shinmera reported) 2020-04-07T12:52:09Z jonatack joined #lisp 2020-04-07T12:53:33Z Shinmera: Good times implementing unicode standards. 2020-04-07T12:55:18Z eta: so it looks like I need to scan through the JSON strings for characters that are invalid in UTF-8 2020-04-07T12:55:32Z Bike: So the problem here is that the codepoint DEAD is a surrogate and not actually a character? 2020-04-07T12:56:13Z eta: Bike, yeah 2020-04-07T12:56:16Z eta: it's a surrogate half 2020-04-07T12:56:21Z eta: which you can't encode in UTF-8 2020-04-07T12:56:21Z bendersteed joined #lisp 2020-04-07T12:56:30Z Bike: It's not a character, so you can't encode it. 2020-04-07T12:56:38Z varjag joined #lisp 2020-04-07T12:57:05Z eta: Bike, oh yes it is 2020-04-07T12:57:08Z eta: > (type-of #\UD83C) 2020-04-07T12:57:08Z eta: EXTENDED-CHAR 2020-04-07T12:57:10Z Bike: i suppose a lisp implementation should err or something on (code-char #xDEAD) 2020-04-07T12:57:21Z eta: (it shouldn't be though) 2020-04-07T12:57:40Z eta: tbf I think CL-JSON should really throw the error here 2020-04-07T12:57:45Z mood: Hmm, babel doesn't complain while encoding it, only while decoding 2020-04-07T12:57:52Z eta: mood, yeah I found that as well 2020-04-07T12:57:56Z eta: weird 2020-04-07T12:58:12Z Bike: utf-8 is simple enough that you could come up with a byte sequence for the DEAD codepoint fine 2020-04-07T12:58:29Z Bike: https://en.wikipedia.org/wiki/UTF-8#Description it's very easy 2020-04-07T12:59:13Z Bike: so i suppose more pedantically we would say that UTF-8 is an encoding of code points to bytes, not characters to bytes 2020-04-07T12:59:28Z eta: Bike, but you aren't allowed 2020-04-07T12:59:29Z eta: > Since RFC 3629 (November 2003), the high and low surrogate halves used by UTF-16 (U+D800 through U+DFFF) and code points not encodable by UTF-16 (those after U+10FFFF) are not legal Unicode values, and their UTF-8 encoding must be treated as an invalid byte sequence. 2020-04-07T12:59:40Z eta: https://en.wikipedia.org/wiki/UTF-8#Invalid_code_points 2020-04-07T13:00:06Z Bike: babel is noncoformant to RFC 3629, oh nooooo 2020-04-07T13:00:32Z Bike: actually i'm not sure about the particulars of what this means. you can encode it but not decode it, maybe? 2020-04-07T13:00:59Z splittist: What about all the lisp strings between 1958 and November 2003? (Bring back EXPLODE) 2020-04-07T13:01:07Z eta: here, I wrote a function which fixes this 2020-04-07T13:01:09Z eta: (defun replace-surrogates (str) 2020-04-07T13:01:09Z eta: (substitute-if #\uFFFD (lambda (ch) (and (>= (char-code ch) #xD800) (<= (char-code ch) #xDFFF))) str)) 2020-04-07T13:02:05Z splittist: <= #xD800 (char-code ch) #xDFFF ? 2020-04-07T13:02:20Z Bike: yeah, prolly easier to read that way 2020-04-07T13:02:29Z eta: splittist, you can do that??!?!? 2020-04-07T13:02:32Z eta: woooooah 2020-04-07T13:02:38Z eta: I've been wanting to do something like that for ages :o 2020-04-07T13:02:59Z eta: that's amazing :) 2020-04-07T13:06:25Z didi joined #lisp 2020-04-07T13:06:45Z eta: oh okay 2020-04-07T13:06:52Z eta: so this is actually CL-JSON's fault, I think 2020-04-07T13:07:07Z didi: Great use of method's `:around': memmoizing values. 2020-04-07T13:07:11Z eta: it should be reading the UTF-16 surrogate pairs and pairing them up instead of just blindly calling CODE-CHAR 2020-04-07T13:07:46Z wxie joined #lisp 2020-04-07T13:07:49Z eta: this is https://github.com/hankhero/cl-json/issues/11 2020-04-07T13:09:40Z Shinmera: UTF-16 is a curse that will never leave us, much like CRLF and Tab characters 2020-04-07T13:10:16Z eta: maybe I should switch to another JSON library... :p 2020-04-07T13:10:50Z Bike: well, it looks like yason handles it correctly 2020-04-07T13:11:09Z Shinmera: what about jsown and jonathan and... what was the other one 2020-04-07T13:11:20Z Shinmera: *the other two thousand that no doubt exist 2020-04-07T13:11:21Z eta: st-json? 2020-04-07T13:11:21Z mood: st-json 2020-04-07T13:11:21Z eta: urgh 2020-04-07T13:11:28Z eta: which one do I pick now 2020-04-07T13:11:35Z beach: eta: While we are at it, errors are not "thrown" in Common Lisp. They are signaled. It is important because THROW means something entirely different in Common Lisp. 2020-04-07T13:12:17Z eta: beach, sorry! I do know that, just don't take much care and abuse the term 'throw' >_< I'll try and be more careful though! 2020-04-07T13:13:14Z Steinberg2010 quit (Ping timeout: 240 seconds) 2020-04-07T13:14:21Z Bike: oh, i see, cl:code-char is defined to return NIL if the code doesn't correspond to a character 2020-04-07T13:14:24Z Bike: weird but whatever 2020-04-07T13:14:43Z PuercoPop joined #lisp 2020-04-07T13:15:25Z bitmapper joined #lisp 2020-04-07T13:18:17Z jcowan: Why is that bad? Think of code-char as searching a notional association list between codes and chars. 2020-04-07T13:19:08Z kpoeck: in sbcl (list (code-char #xD83C) (code-char #xDDF5) (code-char #xD83C) (code-char #xDDF99) (code-char #xD83C) (code-char #xDDEC) (code-char #xD83C) (code-char #xDDE7)) -> (#\UD83C #\UDDF5 #\UD83C #\UDDF99 #\UD83C #\UDDEC #\UD83C #\UDDE7) 2020-04-07T13:19:45Z Bike: jcowan: because i'd prefer a "code X does not correspond to a character" to a "NIL is not of type CHARACTER" 2020-04-07T13:20:12Z wxie quit (Ping timeout: 260 seconds) 2020-04-07T13:20:23Z jcowan: Fair enough 2020-04-07T13:21:33Z _death: Bike: it's worse than that, if NIL is interpreted as something else.. this is another pitfall (maybe it should've been called code-char-p) 2020-04-07T13:21:57Z Bike: true, NIL is also a string designator 2020-04-07T13:22:00Z Bike: that could get funky 2020-04-07T13:22:10Z jcowan: There really are a whole lot of conventions for representing the behavior of partial functions: value vs. NIL, value vs. no values, two values (some value and validity flag), a Maybe class object 2020-04-07T13:22:36Z Bike: indeed 2020-04-07T13:22:50Z jcowan: nil is a designator?? for what string? 2020-04-07T13:23:01Z White_Flame: all symbols are string designators 2020-04-07T13:23:03Z Bike: "NIL" 2020-04-07T13:23:07Z jcowan: Oh, of course 2020-04-07T13:23:24Z Bike: what tangled webs we weave... 2020-04-07T13:23:38Z jcowan: ... when we engage in data punning 2020-04-07T13:23:56Z Bike: so (length (string (code-char whatever))) could be either 1 or 3 2020-04-07T13:27:04Z eta: sounds like I want https://github.com/anarchodin/trivial-utf-16, which isn't in quicklisp :( 2020-04-07T13:28:43Z hlavaty joined #lisp 2020-04-07T13:29:29Z Shinmera: just use babel 2020-04-07T13:29:38Z White_Flame: eta: then clone it and symlink the directory from ~/quicklisp/local-projects/ 2020-04-07T13:29:48Z White_Flame: then it's in (your) quicklisp 2020-04-07T13:29:52Z eta: Shinmera, babel can't do what I want though 2020-04-07T13:29:59Z eta: White_Flame, well that's no good, I'm writing a library :P 2020-04-07T13:30:06Z eta: eh, I'll just include it 2020-04-07T13:30:10Z White_Flame: ah 2020-04-07T13:30:33Z White_Flame: yeah, it's CC0 2020-04-07T13:30:33Z kpoeck: Make a request to add it to quicklisp 2020-04-07T13:31:09Z Shinmera: eta: like what? You can stuff your integers into a byte vector and hand them to babel to do the decoding. 2020-04-07T13:31:30Z eta: Shinmera, oh that'd probably work actually, thanks 2020-04-07T13:31:35Z eta: let's try 2020-04-07T13:32:24Z eta: hrm, it still passes through unpaired surrogates 2020-04-07T13:33:22Z eta: Shinmera, no it doesn't work, because your integers aren't octets 2020-04-07T13:34:02Z wxie joined #lisp 2020-04-07T13:34:42Z Shinmera: 's what ldb is for 2020-04-07T13:41:26Z eta: what what? 2020-04-07T13:41:48Z eta: oh, that ldb 2020-04-07T13:44:54Z frgo_ quit (Ping timeout: 240 seconds) 2020-04-07T13:45:34Z ahungry joined #lisp 2020-04-07T13:47:04Z random-nick quit (Ping timeout: 256 seconds) 2020-04-07T13:48:29Z kslt1 joined #lisp 2020-04-07T13:49:27Z jprajzne quit (Ping timeout: 258 seconds) 2020-04-07T13:50:06Z jprajzne joined #lisp 2020-04-07T13:54:14Z jprajzne quit (Client Quit) 2020-04-07T13:54:37Z jprajzne joined #lisp 2020-04-07T13:55:25Z Inline joined #lisp 2020-04-07T13:57:49Z davepdotorg quit (Ping timeout: 264 seconds) 2020-04-07T13:59:44Z jprajzne quit (Quit: jprajzne) 2020-04-07T14:00:08Z jprajzne joined #lisp 2020-04-07T14:04:14Z jprajzne quit (Client Quit) 2020-04-07T14:04:28Z wxie quit (Ping timeout: 256 seconds) 2020-04-07T14:04:36Z jprajzne joined #lisp 2020-04-07T14:05:37Z libertyprime quit (Ping timeout: 264 seconds) 2020-04-07T14:06:32Z ayuce joined #lisp 2020-04-07T14:07:14Z libertyprime joined #lisp 2020-04-07T14:07:52Z jprajzne quit (Remote host closed the connection) 2020-04-07T14:15:10Z frgo joined #lisp 2020-04-07T14:16:31Z frgo_ joined #lisp 2020-04-07T14:17:34Z jonatack_ joined #lisp 2020-04-07T14:18:12Z bjorkintosh quit (Remote host closed the connection) 2020-04-07T14:20:17Z frgo quit (Ping timeout: 260 seconds) 2020-04-07T14:20:30Z jonatack quit (Ping timeout: 256 seconds) 2020-04-07T14:21:24Z frgo_ quit (Ping timeout: 256 seconds) 2020-04-07T14:22:29Z frgo joined #lisp 2020-04-07T14:26:44Z jprajzne joined #lisp 2020-04-07T14:32:51Z jprajzne quit (Read error: Connection reset by peer) 2020-04-07T14:41:27Z varjagg joined #lisp 2020-04-07T14:41:33Z Kundry_Wag quit (Remote host closed the connection) 2020-04-07T14:42:12Z Kundry_Wag joined #lisp 2020-04-07T14:43:44Z varjag quit (Ping timeout: 256 seconds) 2020-04-07T14:44:00Z jprajzne joined #lisp 2020-04-07T14:44:18Z varjagg left #lisp 2020-04-07T14:45:02Z jprajzne quit (Remote host closed the connection) 2020-04-07T14:49:31Z jprajzne joined #lisp 2020-04-07T14:51:33Z EvW quit (Ping timeout: 246 seconds) 2020-04-07T14:51:45Z revtintin joined #lisp 2020-04-07T14:52:13Z jprajzne quit (Remote host closed the connection) 2020-04-07T14:57:29Z Ven`` joined #lisp 2020-04-07T14:59:45Z jackhill_ is now known as jackhill 2020-04-07T15:01:28Z monokrom joined #lisp 2020-04-07T15:02:01Z jprajzne joined #lisp 2020-04-07T15:02:23Z jprajzne quit (Remote host closed the connection) 2020-04-07T15:06:06Z jmercouris joined #lisp 2020-04-07T15:06:38Z jmercouris: is there a syntax for declaring a struct? e.g. not using (make-xyz ...) where xyz is the name of the struct? 2020-04-07T15:07:01Z beach: Declaring? 2020-04-07T15:07:08Z Inline: a constructor ? 2020-04-07T15:07:11Z jmercouris: yeah, like some sort of notation 2020-04-07T15:07:26Z beach: In a (declare ...) expression? 2020-04-07T15:07:32Z jmercouris: no, that's not what I mean 2020-04-07T15:07:56Z jmercouris: I don't want to have to do (list (make-xyz) (make-xyz)) 2020-04-07T15:08:03Z jmercouris: just wondering if there is a more succinct way to express that 2020-04-07T15:08:12Z Inline: right so you want a constructor 2020-04-07T15:08:15Z Inline: heh 2020-04-07T15:08:25Z jmercouris: is make-xyz not a constructor? 2020-04-07T15:09:12Z Inline: might be 2020-04-07T15:09:45Z _death: jmercouris: what do you want to do? 2020-04-07T15:09:45Z beach: It is. 2020-04-07T15:09:47Z Inline: instantiator, instance constructor or initializer 2020-04-07T15:09:59Z Inline: but you want a second wrapper it seems 2020-04-07T15:10:00Z jmercouris: I want to set the value of a slot to a list of my struct 2020-04-07T15:10:18Z beach: A "list" of your struct? 2020-04-07T15:10:24Z jmercouris: but I just want the value to exist without it being funcalled into existence 2020-04-07T15:10:26Z beach: Like (list (make-xyz...))? 2020-04-07T15:10:29Z jmercouris: yes 2020-04-07T15:10:34Z jmercouris: as I also wrote above 2020-04-07T15:10:49Z beach: Ah, yes you did. 2020-04-07T15:10:50Z jmercouris: maybe I should just use a list of lists 2020-04-07T15:11:06Z beach: What do you have against (make-xyz)? 2020-04-07T15:11:25Z jmercouris: make-xyz has to exist before I can use it in a form 2020-04-07T15:11:29Z jmercouris: otherwise I will get a compile error 2020-04-07T15:11:32Z jmercouris: that's what I primarily have against it 2020-04-07T15:11:52Z jmercouris: and that will change the order in which thigns are loaded, which I don't like 2020-04-07T15:11:56Z jprajzne joined #lisp 2020-04-07T15:12:04Z beach: It will exist if you define the structure first. 2020-04-07T15:12:14Z beach: Then use eval-when? 2020-04-07T15:12:26Z jmercouris: maybe, that could work 2020-04-07T15:13:50Z notzmv quit (Ping timeout: 265 seconds) 2020-04-07T15:14:21Z _death: it only has to exist when the form is evaluated.. it may be declared inline later on so you get a warning 2020-04-07T15:15:15Z jmercouris: _death: what does the line: it may be 2020-04-07T15:15:15Z jmercouris: declared inline later on so you get a warning mean? 2020-04-07T15:15:21Z jmercouris: can you please rephrase 2020-04-07T15:15:46Z jmercouris: I can't declare a struct twice with the same name, Lisp will complain 2020-04-07T15:16:36Z jmercouris: (declare (inline 'make-xyz))? 2020-04-07T15:17:05Z _death: it means the compiler may signal a warning if it already compiled references to a function that's now declaimed inline 2020-04-07T15:17:15Z _death: you don't need to define the structure twice 2020-04-07T15:17:15Z jmercouris: a way to suppress this warning? 2020-04-07T15:17:25Z _death: first, see if you get one 2020-04-07T15:17:28Z jmercouris: OK 2020-04-07T15:18:43Z jonatack_ quit (Ping timeout: 250 seconds) 2020-04-07T15:20:42Z Jachy quit (Quit: Idle for 30+ days) 2020-04-07T15:20:45Z jmercouris: it did not complain 2020-04-07T15:20:46Z jmercouris: interesting 2020-04-07T15:21:04Z jmercouris: I set it as the initform, and it is not executed until the object is instantiated 2020-04-07T15:21:14Z jmercouris: so, does the compiler not go through and say "hey, this function does not exist!"? 2020-04-07T15:21:37Z jmercouris: I know in defuns it does not traverse inside and do that 2020-04-07T15:22:03Z jprajzne quit (Remote host closed the connection) 2020-04-07T15:22:14Z beach: What? 2020-04-07T15:22:14Z _death: the constructor defined by defstruct is like any other function 2020-04-07T15:22:55Z didi left #lisp 2020-04-07T15:23:07Z jmercouris: I'm sorry, I'm a bit in my head and not explaining very whell 2020-04-07T15:23:10Z jmercouris: s/whell/well 2020-04-07T15:23:13Z jmercouris: Let me start over 2020-04-07T15:23:29Z jmercouris: I have a defclass with some slots, one of them has an initform with the value (list (make-xyz ...)) 2020-04-07T15:23:39Z jmercouris: I'm asking, why is the compiler not complaining about make-xyz not existing? 2020-04-07T15:24:00Z _death: in Lisp, you can reference names to functions that are not yet defined.. as long as you don't try to evaluate the form, no error should occur 2020-04-07T15:24:12Z jmercouris: OK, so I had misunderstood 2020-04-07T15:24:17Z jmercouris: I assumed it only cared whether it was top level 2020-04-07T15:24:25Z jmercouris: ah, jeez, now I feel a bit silly 2020-04-07T15:24:33Z jmercouris: that makes a ton of sense, and explains a lot of things 2020-04-07T15:27:20Z beach: You might get a warning though, depending on the implementation. But if your function is defined in the image that you are compiling from, the compiler will take that definition as proof that the function does exist. 2020-04-07T15:28:41Z _death: clhs with-compilation-unit 2020-04-07T15:28:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_w_comp.htm 2020-04-07T15:29:17Z beach: jmercouris: In your case, you will get a style warning from SBCL if you compile a file with your DEFCLASS form in it from a fresh Common Lisp image. 2020-04-07T15:29:41Z _death: there's also a notinline declaration.. it will force the compiler not to inline and likely not to give inline warnings ;) 2020-04-07T15:30:01Z jmercouris: I interestingly enough did not see a warning 2020-04-07T15:30:07Z jmercouris: no idea why, I thought I would 2020-04-07T15:30:21Z beach: jmercouris: "fresh Common Lisp image"? 2020-04-07T15:30:23Z Steinberg2010 joined #lisp 2020-04-07T15:30:30Z jmercouris: Yeah, i restarted slime and everything 2020-04-07T15:30:35Z jmercouris: and then only loaded my system 2020-04-07T15:30:58Z jmercouris: did a ,load-system 2020-04-07T15:31:08Z jonatack joined #lisp 2020-04-07T15:31:13Z beach: jmercouris: That may not compile it if it was already compiled. 2020-04-07T15:31:21Z jmercouris: oh I see 2020-04-07T15:31:27Z jmercouris: how can I force compilation? 2020-04-07T15:31:27Z beach: jmercouris: Try (compile-file "name-of-file.lisp") 2020-04-07T15:31:41Z Bike: there's asdf:compile-system with :force 2020-04-07T15:31:44Z jmercouris: but if I try to compile the file by itself it will not compile 2020-04-07T15:31:50Z jmercouris: it depends on a ton of other files 2020-04-07T15:32:05Z beach: Then what Bike said, or remove the existing FASLs. 2020-04-07T15:32:28Z jmercouris: I'll remove the FASLs later 2020-04-07T15:32:33Z jmercouris: it takes forever to build them all 2020-04-07T15:32:37Z jmercouris: I'll let you know when I do it 2020-04-07T15:34:02Z Bike: well you should only need to remove the fasl for the file with the defclass 2020-04-07T15:34:40Z jprajzne joined #lisp 2020-04-07T15:37:42Z revtintin quit (Ping timeout: 265 seconds) 2020-04-07T15:38:02Z flip214: is Dr. Rosenberg here on IRC as well? 2020-04-07T15:39:15Z flip214: or is someone else maintaining cl-base64? 2020-04-07T15:39:40Z jprajzne quit (Quit: jprajzne) 2020-04-07T15:40:01Z jprajzne joined #lisp 2020-04-07T15:40:25Z flip214: hmmm, https://github.com/jdz/cl-base64 seems to be the newest version 2020-04-07T15:44:14Z jprajzne quit (Client Quit) 2020-04-07T15:51:27Z notzmv joined #lisp 2020-04-07T15:53:50Z revtintin joined #lisp 2020-04-07T15:57:16Z nicktick joined #lisp 2020-04-07T16:00:16Z abbe: hi 2020-04-07T16:00:18Z abbe: could anyone please tell me what's wrong with this code: https://pastebin.com/HRbuBxsB ? 2020-04-07T16:00:19Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-07T16:00:26Z abbe: or raw version: https://pastebin.com/raw/HRbuBxsB 2020-04-07T16:01:07Z beach: #. means evaluate it at read time. 2020-04-07T16:01:17Z beach: But the parameter exists only at run time. 2020-04-07T16:01:24Z abbe: hmm 2020-04-07T16:01:25Z revtintin quit (Ping timeout: 264 seconds) 2020-04-07T16:01:30Z abbe: so it doesn't mean period character 2020-04-07T16:01:41Z beach: Oh, that would be #\. 2020-04-07T16:02:00Z abbe: oops, sorry, thanks! 2020-04-07T16:02:04Z EvW joined #lisp 2020-04-07T16:02:05Z beach: Sure. 2020-04-07T16:02:57Z abbe: also is there some built-in function to find the last element in a sequence, or (aref name (- (length name) 1) ) is the best ? 2020-04-07T16:03:22Z Bike: that's the way to go, yeah. use elt instead of aref if you mean a general sequence. 2020-04-07T16:03:42Z Bike: (i.e., a sequence that can be either a vector or a list or some implementation-defined gizmo.) 2020-04-07T16:03:49Z |Pirx| joined #lisp 2020-04-07T16:03:51Z beach: For a vector, yes, except that (- 1) is better written as (1- ) 2020-04-07T16:03:54Z jackdaniel: abbe: if you can afford using alexandria (which is a very popular utility library), you may use (alexandria:last-elt sequence) 2020-04-07T16:04:18Z jackdaniel: (or write it yourself / copy it) 2020-04-07T16:04:20Z abbe: oh, okay, probably not worth including a single function 2020-04-07T16:04:30Z vhost- joined #lisp 2020-04-07T16:04:30Z vhost- quit (Changing host) 2020-04-07T16:04:30Z vhost- joined #lisp 2020-04-07T16:04:50Z abbe: thanks! will go with elt 2020-04-07T16:08:53Z Steinberg2010 quit (Ping timeout: 246 seconds) 2020-04-07T16:13:00Z cosimone quit (Quit: Terminated!) 2020-04-07T16:13:11Z arbv_ quit (Read error: Connection reset by peer) 2020-04-07T16:13:12Z lonjil2 is now known as lonjil 2020-04-07T16:16:21Z frgo_ joined #lisp 2020-04-07T16:16:25Z frgo quit (Read error: Connection reset by peer) 2020-04-07T16:17:03Z heisig quit (Quit: Leaving) 2020-04-07T16:18:09Z cosimone joined #lisp 2020-04-07T16:18:47Z kslt1 quit (Remote host closed the connection) 2020-04-07T16:19:17Z cage_ joined #lisp 2020-04-07T16:20:04Z _death: you may also want to check that the string is nonempty 2020-04-07T16:21:03Z asarch joined #lisp 2020-04-07T16:24:30Z terpri quit (Remote host closed the connection) 2020-04-07T16:25:10Z terpri joined #lisp 2020-04-07T16:25:46Z karswell quit (Remote host closed the connection) 2020-04-07T16:26:07Z karswell_ joined #lisp 2020-04-07T16:29:54Z efm quit (Ping timeout: 265 seconds) 2020-04-07T16:32:17Z arbv joined #lisp 2020-04-07T16:36:57Z watkinsr quit (Remote host closed the connection) 2020-04-07T16:37:13Z watkinsr joined #lisp 2020-04-07T16:41:07Z Cymew quit (Ping timeout: 260 seconds) 2020-04-07T16:42:25Z Aurora_iz_kosmos quit (Quit: Пока, мир.) 2020-04-07T16:42:40Z kosmos_Aurora joined #lisp 2020-04-07T16:42:50Z kosmos_Aurora is now known as Aurora_iz_kosmos 2020-04-07T16:46:38Z jdz: flip214: I'm not exactly maintaining cl-base64, just fixed/implemented some things. 2020-04-07T16:46:56Z jdz: Sent an email to Kevin, but the email probably got lost somewhere. 2020-04-07T16:47:40Z cyberoctopi quit (Ping timeout: 256 seconds) 2020-04-07T16:51:32Z jmercouris: is there a reverse to symbol-function? 2020-04-07T16:52:13Z Bike: given a function, return its name? 2020-04-07T16:52:18Z jmercouris: yes 2020-04-07T16:52:33Z Bike: clhs function-lambda-expression 2020-04-07T16:52:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_fn_lam.htm 2020-04-07T16:52:36Z Bike: often doesn't work, though 2020-04-07T16:52:44Z jmercouris: I can imagine there are many cases 2020-04-07T16:53:15Z jmercouris: OK, fair enough, I will have to rethink it should I want the name 2020-04-07T16:53:16Z Bike: as it says, it's for debugging only 2020-04-07T16:53:21Z jmercouris: Yeah 2020-04-07T16:59:15Z revtintin joined #lisp 2020-04-07T17:02:28Z hlavaty quit (Remote host closed the connection) 2020-04-07T17:02:52Z wheelsucker49 joined #lisp 2020-04-07T17:03:31Z PuercoPop quit (Quit: WeeChat 1.9.1) 2020-04-07T17:08:14Z narimiran quit (Quit: leaving) 2020-04-07T17:09:53Z karlosz joined #lisp 2020-04-07T17:09:54Z choegusung joined #lisp 2020-04-07T17:11:51Z choegusung left #lisp 2020-04-07T17:14:17Z jcowan: beach: what is so great about 1-? It saves one space character and should produce exactly the same result when compiled, I would hope. 2020-04-07T17:16:27Z EvW quit (Ping timeout: 260 seconds) 2020-04-07T17:17:23Z jackdaniel: a stylistic rule is to use the most specific operator when applicable 2020-04-07T17:18:03Z jackdaniel: IMO it is easier for human brain (common lisp programmer will scan 1- like other known operators, while for (- …) it will need to parse also the argument in question 2020-04-07T17:18:57Z jcowan: Well, for me (1- x) looks too infix, as if it were (- 1 x) 2020-04-07T17:18:58Z Bike: i always see (1- x) as (- 1 x), very sad 2020-04-07T17:19:01Z omtrent quit (Quit: WeeChat 2.7.1) 2020-04-07T17:19:09Z _death: practice more lisp :) 2020-04-07T17:19:17Z jcowan: 2MWBAST 2020-04-07T17:19:27Z cyberoctopi joined #lisp 2020-04-07T17:20:53Z ravndal joined #lisp 2020-04-07T17:20:56Z _death: or defun +-1 ... 2020-04-07T17:21:55Z _death: and this is not so far from (+ -1 ...) 2020-04-07T17:23:21Z gko quit (Ping timeout: 258 seconds) 2020-04-07T17:24:58Z jcowan: _death: That's a potential number and so unavailable 2020-04-07T17:25:19Z _death: jcowan: is it? 2020-04-07T17:25:56Z jcowan: I think so. It begins with a sign, doesn't end with a sign, and contains a digit. 2020-04-07T17:25:59Z Kundry_Wag quit (Remote host closed the connection) 2020-04-07T17:26:14Z jcowan: clhs 2.3.1.1 2020-04-07T17:26:14Z specbot: Potential Numbers as Tokens: http://www.lispworks.com/reference/HyperSpec/Body/02_caa.htm 2020-04-07T17:26:28Z Kundry_Wag joined #lisp 2020-04-07T17:27:04Z jcowan: sbcl treats it as a symbol and so does clisp; I haven't tried any others 2020-04-07T17:28:05Z Bike: eclector also treats it as a symbol. 2020-04-07T17:28:30Z dale joined #lisp 2020-04-07T17:28:59Z jcowan: Huh, and here I thought eclector would be quite clear about potential numbers, at least in strict mode. 2020-04-07T17:29:48Z Bike: i'm not sure i quite understand how this works. does an implementation have to signal an error here or is treating it as a symbol okay? 2020-04-07T17:30:42Z _death: I see, but that a conforming implementation may treat it differently does not prohibits its use 2020-04-07T17:30:48Z _death: *prohibit 2020-04-07T17:31:00Z jcowan: They are reserved tokens like a:::b 2020-04-07T17:31:03Z shangul quit (Ping timeout: 260 seconds) 2020-04-07T17:31:25Z jcowan: I would signal a condition and allow restarting with a replacement value 2020-04-07T17:31:37Z jcowan: that way eclector-using systems can do what they want 2020-04-07T17:32:19Z Bike: i see, based on 2.3.5 the consequences are unspecified. i think. 2020-04-07T17:33:22Z EvW1 joined #lisp 2020-04-07T17:34:09Z jcowan: However, an implementation that defines some kind of potential number needs to be told about it, not just to have it stuffed under the rug as just another symbol. 2020-04-07T17:34:44Z jcowan: so a general-purpose reader should not silently treat it as a symbol. 2020-04-07T17:34:50Z jackdaniel: it is nice when unspecified behavior is signalled with all (if feasible) sensible behaviors proposed in form of restarts 2020-04-07T17:35:04Z jackdaniel: s/in form/in a form/ 2020-04-07T17:35:37Z Bike: yes, i just wanted to be clear it was okay at all 2020-04-07T17:35:38Z jcowan nods 2020-04-07T17:36:10Z efm joined #lisp 2020-04-07T17:38:25Z msk joined #lisp 2020-04-07T17:38:26Z jcowan: a:::b is technically not a reserved token, but the consequences are likewise unspecified 2020-04-07T17:38:42Z beach: jcowan: It's a very general rule in programming, namely, use the most specific construct that will accomplish the task. By doing it this way, you allow for the person reading your code to understand the intention much earlier. Of course (1- x) and (- x 1) is not much different, but if x spans several lines, it is. 2020-04-07T17:39:05Z beach: ... er, what jackdaniel said. Sorry 2020-04-07T17:39:35Z jcowan: Fair point in general, although any editor with the brains to do paren matching will make that easy 2020-04-07T17:40:22Z msk_ quit (Ping timeout: 256 seconds) 2020-04-07T17:40:28Z zaquest quit (Ping timeout: 265 seconds) 2020-04-07T17:40:48Z jcowan: Also, compactness brings obscurity: cdaddr is probably best expanded to (cdr (car (cddr ... 2020-04-07T17:41:03Z _death: potential numbers seem theoretical to me at this point, but good to know 2020-04-07T17:41:04Z jcowan: or use some better tools 2020-04-07T17:41:29Z beach: jcowan: It is not about compactness. That's one aspect, but not all of it. 2020-04-07T17:41:42Z beach: Certainly not the most important one. 2020-04-07T17:44:44Z jcowan: IIUC then it is an argument against sequence fns when you don't actually need the polymorphism of the arguments? 2020-04-07T17:47:38Z beach: Any rule can be abused if you put your mind to it. 2020-04-07T17:48:54Z beach: But yes, the sequence functions are best used when the exact representation of the sequence is not known. 2020-04-07T17:49:43Z jackdaniel misses a loop operator for iterating over an arbitrary sequence 2020-04-07T17:50:14Z beach: Anyway, I'm off to spend time with my (admittedly small) family. 2020-04-07T17:50:32Z jcowan: jackdaniel: Extensible loop, is it? 2020-04-07T17:51:52Z msk quit (Remote host closed the connection) 2020-04-07T17:52:10Z jackdaniel: in practice most (if not all) loop macros in today cl implementations *are* extensible, but these mechanisms are not documented nor compatible, so they are not usually used 2020-04-07T17:52:13Z msk joined #lisp 2020-04-07T17:52:25Z jackdaniel: not to mention that these loop implementations usually predate clos 2020-04-07T17:52:40Z jackdaniel: so extensibility goes with some obscure operators in system internals 2020-04-07T17:52:49Z jackdaniel: s/system/implementation/ 2020-04-07T17:54:26Z jcowan: yeag 2020-04-07T17:54:31Z nicktick quit (Quit: Leaving.) 2020-04-07T17:54:32Z jmercouris quit (Ping timeout: 256 seconds) 2020-04-07T17:54:33Z jcowan: er, yeah and yuck 2020-04-07T17:55:17Z Bike: the sequence extension includes a general sequence iteration path, which is nice 2020-04-07T17:55:23Z Bike: you could also put one in using an index and elt, of course 2020-04-07T17:56:01Z Bike: clasp's loop happens to have enough in common with sbcl's that i could cargo-cult the code over no problem, which is good, because i absolutely do not understand the loop code 2020-04-07T17:56:52Z jcowan: SRFI 42, which is not a Scheme standard, provides iteration over lists, simple vectors, strings, integer ranges, real ranges, character ranges, and streams, and adding your own is easy. There is also a polymorphic iterator that looks at the type it is interating over, and that's extensible too. 2020-04-07T17:57:07Z msk_ joined #lisp 2020-04-07T17:57:23Z Bike: yeah, the extension defines a thing for efficient iteration over whatever you define 2020-04-07T17:57:36Z Bike: i wrote a path for iterate (which i don't usually use) to see if i could, and it turned out i could but only inefficiently since iterate doesn't allow outer multiple-value-bind bindings for reasons i'm not clear on 2020-04-07T17:58:40Z jcowan: multiple values are always a bugbear in Lisp, because people forget to allow for them. 2020-04-07T17:58:52Z Bike: well, i mean, iterate explicitly doesn't allow them 2020-04-07T17:59:00Z jcowan: (Continuations are an even worse bugbear in Scheme) 2020-04-07T17:59:03Z Bike: lemme look it up again 2020-04-07T17:59:03Z msk quit (Ping timeout: 260 seconds) 2020-04-07T17:59:09Z Bike: something something delimited continuations 2020-04-07T17:59:54Z jcowan: I meant undelimited continuations, which is what Scheme captures by default 2020-04-07T18:00:06Z jcowan: though delim conts are a common extension 2020-04-07T18:00:11Z _death: jcowan: cl-su-ai has an example of a (perhaps imaginary?) "potential number" abuse.. Guy Steele defines a data type called a "mote" 2020-04-07T18:00:13Z Bike: yeah i'm just thinking of the "actually undelimited continuations are bad" articles i've read 2020-04-07T18:00:36Z jcowan: Well, they never return so they are not composable 2020-04-07T18:00:57Z Bike: https://common-lisp.net/project/iterate/doc/Destructuring.html#Destructuring here it was. "There are subtle interactions between variable declarations and evaluation order that make the correct implementation of multiple-value destructuring in a with somewhat tricky. " 2020-04-07T18:01:16Z Bike: i don't know what these interactions are 2020-04-07T18:01:53Z karlosz quit (Quit: karlosz) 2020-04-07T18:02:08Z jcowan: Unrelated question: does anyone have use cases for m-v-call with more than one producer function? It's come up for me once or twice years ago, but I can't remember quite why any motr 2020-04-07T18:02:52Z Bike: producer function? You mean, argument form? 2020-04-07T18:03:53Z _death: jcowan: I had one.. at the time I defined (defmacro values-concat (&body forms) `(multiple-value-call #'values ,@forms)) for it 2020-04-07T18:04:27Z jcowan: s/function/form 2020-04-07T18:04:38Z jcowan: the first argument is a consumer and the rest are producers of m-vs 2020-04-07T18:04:43Z Bike: sure, right. 2020-04-07T18:04:56Z jcowan: _death: Do you remember what you used it for, though? 2020-04-07T18:06:50Z _death: jcowan: the form using it is (values-concat bloom (encode-bits-internal bloom)) .. encode-bits returns two values 2020-04-07T18:06:52Z Bike: let's do a quick grep... opticl/shapes.lisp... oh, alexandria uses it for curry 2020-04-07T18:07:18Z jcowan: I'll look at alexandria 2020-04-07T18:07:25Z Bike: only in the case of curry that can't be compiler macroed away, though. check functions.lisp 2020-04-07T18:08:20Z Bike: basically it does it instead of the obvious (apply f (append ...)) 2020-04-07T18:09:02Z nitrix quit (Read error: Connection reset by peer) 2020-04-07T18:09:23Z jcowan: I don't think a cons-free implementation of mv-call is possible; it has to be primitive 2020-04-07T18:09:46Z jcowan: Has anyone looked into a minimal basis set for special forms? Clearly the standard set is not minimal 2020-04-07T18:10:54Z Bike: people ask occasionally, but i don't know if the question is that interesting. there's that one paper on implementing them in terms of each other... 2020-04-07T18:11:56Z _death: jcowan: I also have an example from an older (circa 2008?) proprietary code base 2020-04-07T18:12:09Z Bike: http://home.pipeline.com/~hbaker1/MetaCircular.html that paper, if you haven't seen it 2020-04-07T18:13:17Z nitrix joined #lisp 2020-04-07T18:14:56Z jcowan: I think I read the HB long ago; I went through most of his 2020-04-07T18:17:05Z Bike: i like the last one in there about macrotizing FUNCTION. a bit more support and maybe you wouldn't need any special operators at all, just macroexpand (lambda lambda-list . body) into `(make-closure ',analyzed-lambda-list ',analyzed-body) 2020-04-07T18:17:16Z Bike: quote as a macro was done by oleg, i think 2020-04-07T18:17:58Z jcowan: the first one seems bogus, emulating if with get, because get cannot be implemented without if. 2020-04-07T18:18:09Z Bike: eh? who says? 2020-04-07T18:18:33Z Bike: you can do it with aref instead of you'd prefer 2020-04-07T18:19:30Z Bike: i think that's the trick, really. there's lots of stuff in the language you can't do with just the special operators anyway. the special operators aren't a minimal operator set, they're just operators that the compiler is allowed to treat more mysteriously than it can functions or macros 2020-04-07T18:19:55Z jcowan scratches head 2020-04-07T18:20:07Z jcowan: how with aref? 2020-04-07T18:20:34Z _death: I guess it uses GET to give clue.. if boolean was 0 or 1, AREF would do, but it's NIL and non-NIL 2020-04-07T18:20:46Z Bike: hmmm how'd it go again. that's one i remember from some usenet post 2020-04-07T18:21:00Z Bike: who was that colorful guy xach made an archive of posts of... naggum, right 2020-04-07T18:21:35Z _death: boolean could also be CAR/CDR 2020-04-07T18:22:36Z eck is now known as rina 2020-04-07T18:22:57Z rina is now known as rina` 2020-04-07T18:23:08Z Bike: oh, true that it's bogus in that it won't work if the condition evaluates to non-nil but non-T, though 2020-04-07T18:23:28Z _death: Bike: that's why it has not-not 2020-04-07T18:23:37Z Bike: ahh. 2020-04-07T18:24:31Z jcowan: The Scheme standard basis set at runtime is variable reference, implicit function call, literals (including quote), if, setq, lambda. This is thought to be minimal, but I know of no proof. Outside runtime are macrolet, defpackage, and include (as in C). 2020-04-07T18:24:47Z jcowan: and of course not depends on if 2020-04-07T18:25:39Z ggole quit (Quit: Leaving) 2020-04-07T18:26:20Z Bike: well, if that's on the table, (defvar *aux* (vector nil (lambda (x y) (funcall x)) nil (lambda (x y) (funcall y))) (defmacro if (condition then &optional (else ''nil)) `(funcall (svref *aux* (length (string (not (not ,condition))))) ...)) 2020-04-07T18:26:29Z Bike: genius, you will agree 2020-04-07T18:27:46Z _death: don't see any code-char there :/ 2020-04-07T18:28:22Z jcowan: How do you implement length without if? 2020-04-07T18:28:40Z _death: string[-1] :) 2020-04-07T18:28:51Z Bike: hey, i'm writing the compiler, not the runtime 2020-04-07T18:29:18Z jcowan: Fair enough, but implementing `not` is still going to be circular. 2020-04-07T18:29:26Z Bike: http://okmij.org/ftp/Scheme/quote-as-macro.txt here's the quote as macro i was thinking about 2020-04-07T18:29:38Z Bike: it was actually shivers, whoops 2020-04-07T18:30:01Z Bike: or no, different o- 2020-04-07T18:30:07Z Bike: bleh. so dumb today. 2020-04-07T18:31:03Z ArthurStrong joined #lisp 2020-04-07T18:31:14Z Bike: i'm not sure why the vector? case is necessary, maybe scheme does vectors differently 2020-04-07T18:31:57Z Bike: in lisp this would remove any possibility of coalescing, but that's optional anyway 2020-04-07T18:32:10Z Bike: oh, well, you'd have to be careful about circular structures actually. 2020-04-07T18:32:52Z jcowan: vectors in Scheme are simple-vectors in CL 2020-04-07T18:32:59Z jcowan: strings are not vectors, therefore 2020-04-07T18:33:34Z rina` is now known as eck 2020-04-07T18:34:19Z revtintin quit (Quit: WeeChat 1.9.1) 2020-04-07T18:35:13Z Bike: i mean, (eval #(...)) returns immediately, right? so you could just macroexpand (quote #(...)) to #(...) 2020-04-07T18:35:25Z SGASAU quit (Remote host closed the connection) 2020-04-07T18:35:43Z SGASAU joined #lisp 2020-04-07T18:38:07Z jcowan: Now, yes, but that was not true in 2001; (eval #(1 2 3)) was an error 2020-04-07T18:38:28Z Bike: er, why? 2020-04-07T18:39:00Z jmercouris joined #lisp 2020-04-07T18:39:17Z jcowan: Hysterical raisins, I think. Vectors weren't self-quoting in Maclisp either. 2020-04-07T18:39:27Z Bike: bizarre. 2020-04-07T18:39:29Z jcowan: Finally we moved to the same position as CL except for () 2020-04-07T18:39:48Z jcowan: (eval ()) is still an error 2020-04-07T18:39:58Z Bike: that i can at least understand. 2020-04-07T18:40:02Z jcowan: it is assumed to be a malformed function call. 2020-04-07T18:40:11Z _death: in that same comment about the mote datatype, Steele remarks: "For example, I might extend my Common Lisp to evaluate a vector by evaluating its elements in parallel and returning the value of just one of them (implemented by choosing the value of whichever one finishes first)." 2020-04-07T18:40:45Z jcowan: he was much concerned with parallelism in those days: see the xapping example imn cltl 2020-04-07T18:41:20Z Bike: or fortress, but i guess that continues the "this might be a dumb way to denote a perfectly fine concept" concern 2020-04-07T18:41:37Z _death: yes (*Lisp...) .. but what Bike said re. fortress ;) 2020-04-07T18:43:25Z cyberoctopi quit (Ping timeout: 264 seconds) 2020-04-07T18:44:57Z pjb: (eval ()) #| --> nil |# no error. 2020-04-07T18:45:56Z pjb: jcowan: () is a symbol, which is declared as a constant variable, whose value is CL:NIL when evaluating CL:NIL it's a symbol, which is declared as ac onstant variable, whose value is CL:NIL. Therefore the result is CL:NIL! 2020-04-07T18:46:11Z pjb: Basic evaluation rules of CL… Go read a tutorial! 2020-04-07T18:46:18Z jcowan: Yes, I know the paradoxes of nil, really 2020-04-07T18:46:48Z jcowan: Bike was looking at a macro written in Scheme and wondering about parts of it. 2020-04-07T18:47:43Z _death: the message is https://cl-su-ai.cddddr.org/msg02850.html btw.. more about portable code walkers 2020-04-07T18:48:03Z jmercouris: I don't like the cadadaadar notation 2020-04-07T18:48:13Z jmercouris: I forget the order and have to look it up, every time 2020-04-07T18:48:15Z eta: jmercouris: cadadar is amazing 2020-04-07T18:48:24Z Bike: well, good news, it's 2020 and we prefer defclass 2020-04-07T18:48:38Z eta: jmercouris: it just does it from left to right 2020-04-07T18:49:04Z eta: cadar = (car (cdr (car ... 2020-04-07T18:49:09Z jmercouris: yeah, I know 2020-04-07T18:49:16Z jcowan: When I wrote a Lisp interpreter long ago, the undefined-function-name logic checked to see if the name matched /c[ad]*r/ and emulated it on the spot 2020-04-07T18:49:17Z jmercouris: it doesn't mean I don't end up drawing little diagrams to figure out what it is doing 2020-04-07T18:49:19Z jmercouris: I can't do it in my head 2020-04-07T18:49:45Z Bike: in modern CL objects other than symbols and conses are self evaluating, so the kind of extension steele talks about there is not possible 2020-04-07T18:49:49Z Bike: that's good to know 2020-04-07T18:49:56Z jcowan: I can only in stereotyped ways, roughly /ca?d*r/ 2020-04-07T18:50:17Z jcowan: Well, objects with printable representations anyway 2020-04-07T18:50:25Z Bike: no, all of them 2020-04-07T18:50:35Z Bike: "A form that is neither a symbol nor a cons is defined to be a self-evaluating object. Evaluating such an object yields the same object as a result. " 2020-04-07T18:50:58Z jmercouris: can an object return multiple values? 2020-04-07T18:51:02Z _death: Bike: but the potential number thing is still possible.. hardcoding IPs and magic numbers in code looks fun 2020-04-07T18:51:06Z jmercouris: a self-evaluation of an object 2020-04-07T18:51:11Z Bike: jmercouris: Nope 2020-04-07T18:51:24Z Bike: wouldn't be just the object, after all 2020-04-07T18:51:41Z Bike: as far as i know, printability has no impact on evaluability at all, which seems sensible to me 2020-04-07T18:51:44Z jmercouris: are you telling me that the definition of self-evaluation means only returning the identity? 2020-04-07T18:51:58Z Bike: sure. is that surprising? 2020-04-07T18:52:04Z jmercouris: sure it is 2020-04-07T18:52:17Z jmercouris: i just assumed self-evaluation meant that the object itself is a function which returns something 2020-04-07T18:52:20Z jmercouris: not necessarily itself 2020-04-07T18:52:28Z jmercouris: the fact that "fish" -> "fish" is not a given to me 2020-04-07T18:52:31Z Bike: That's an interesting assumption. 2020-04-07T18:52:44Z Bike: Sure, it's possible to imagine a world in which eval is a generic function and you can put methods on it, for example. 2020-04-07T18:53:21Z Bike: Was there some particular behavior or idea that made you consider this? 2020-04-07T18:53:36Z z147 joined #lisp 2020-04-07T18:53:54Z jmercouris: no 2020-04-07T18:54:15Z jmercouris: the only idea that made me consider it is the idea that behind self-evaluation, must be evaluation 2020-04-07T18:54:24Z jmercouris: and evaluation makes no guarantees about what will be returned 2020-04-07T18:54:49Z alandipert: i understand lazy evaluation in other languages as something like Bike's idea of eval as generic,and conditional operators are specializations 2020-04-07T18:55:05Z Bike: well, i mean. eval is just a function. if eval had no behavior specified it wouldn't be a very easy to use function. 2020-04-07T18:55:10Z jmercouris: i understand lazy evaluation in other languages as stored sexp 2020-04-07T18:55:33Z jcowan: Bike: your quote says "A form" not "An object", so I think evaluating an object that is not a form is undefined behavior 2020-04-07T18:55:35Z alandipert: i think maybe our understanding is similar, to the extent that a function is a kind fo stored sexp 2020-04-07T18:55:41Z jcowan: e.g. (eval (lambda (x) (+ x 1))) 2020-04-07T18:55:54Z Bike: jcowan: there are no objects that are not forms. 2020-04-07T18:56:18Z Bike: (per glossary entry "form": "any object meant to be evaluated") 2020-04-07T18:56:34Z jmercouris: can a list of atoms be said to be an object? 2020-04-07T18:56:40Z Bike: lists are objects, yes. 2020-04-07T18:56:42Z jmercouris: is a list of atoms not a form? 2020-04-07T18:57:03Z jmercouris: yes 2020-04-07T18:57:17Z jmercouris: is there anything that is *not* evaluated? 2020-04-07T18:57:28Z Bike: sure, stuff you quote 2020-04-07T18:57:31Z jcowan: alas the definition of "evaluate" and "form" in the glossary are mutually recursive, but it definitely does not say that all objects are forms. 2020-04-07T18:58:03Z _death: with a suitable interpretation, you could say (1 2 3) is not a form 2020-04-07T18:58:07Z Bike: well, it's not a formal grammar or anything, i'm using some reading comprehension 2020-04-07T18:58:25Z Bike: by the way, the generic eval thing i heard of here: https://www.piumarta.com/software/maru/ never heard of it elsewhere 2020-04-07T18:58:28Z jmercouris: _death: bike would tell you that is an object 2020-04-07T18:58:36Z _death: jmercouris: it is 2020-04-07T18:58:48Z jmercouris: _death: could we say '(1 2 3) is a form? 2020-04-07T18:58:49Z _death: jmercouris: (defun objectp (x) t) 2020-04-07T18:59:05Z _death: jmercouris: yes.. 2020-04-07T18:59:12Z cage_ quit (Quit: Leaving) 2020-04-07T18:59:25Z _death: jmercouris: the form (quote (1 2 3)) evaluates to (1 2 3) 2020-04-07T18:59:26Z jmercouris: so, all objects are forms, but not all forms are objects? 2020-04-07T18:59:39Z Bike: the issue where they changed the non-cons-symbol evaluation behavior mentions having to quote vectors 2020-04-07T18:59:57Z jmercouris: _death: I'm just trying to understand why you say (1 2 3) is not a form 2020-04-07T19:00:02Z jcowan: okay, you are right; the second definition of form is noncircular. 2020-04-07T19:00:19Z jcowan: But you'd be surprised how common circularity is in even professionally produced language dictionaries. 2020-04-07T19:00:32Z _death: jmercouris: the other way around.. all forms are objects, but not vice versa 2020-04-07T19:00:59Z Bike: i don't think i would be. CL is the language where prog2 returns the first value, after all 2020-04-07T19:01:58Z _death: jcowan: due to Agrippan trilemma 2020-04-07T19:02:25Z jmercouris: _death: so, you agree with jcowan then? 2020-04-07T19:02:34Z jcowan: jmercouris: No, a form is a symbol, compound form (non-empty list), or self-evaluating object (any object but a symbol or cons), so all forms are objects and vice versa 2020-04-07T19:02:53Z jmercouris: OK, you don't agree then 2020-04-07T19:03:03Z jmercouris: you guys are quite confusing sometimes :-D 2020-04-07T19:03:22Z jcowan: "Infinite are the arguments of mages." 2020-04-07T19:03:28Z jcowan: or 2020-04-07T19:03:38Z jcowan: "And I am right and you are right and everything is quite all right!" 2020-04-07T19:03:47Z _death: jmercouris: personally I don't mind calling (1 2 3) a form, unless the context requires the distinction 2020-04-07T19:04:14Z jmercouris: I usually refer to those things as forms 2020-04-07T19:04:21Z jmercouris: rather than objects, even though, yes, lists are objects 2020-04-07T19:04:55Z jcowan: It isn't a form in the first sense ("object meant to be evaluated") because it obviously isn't, but it is a form in the second sense. 2020-04-07T19:06:37Z jcowan: General dictionaries (not like the CL glossary) are constantly hovering between circularity and "word not in" (a word is used in a definition but not defined). The two are incompatible in principle, but you want to minimize a weighted sum of the two 2020-04-07T19:07:37Z ayuce quit (Remote host closed the connection) 2020-04-07T19:07:43Z jmercouris: i wonder if you could make a dictionary starting from a single definition from which all are built 2020-04-07T19:08:02Z jmercouris: i guess that's what they tried to do with those discs on the voyager 2020-04-07T19:08:05Z _death: jcowan: nowadays you could have an infinite online dictionary ;) 2020-04-07T19:08:10Z Bike: principia mathematica, provided you have godel yelling over your shoulder 2020-04-07T19:08:29Z jmercouris: what if you have godel yodeling over your shoulde? 2020-04-07T19:08:29Z jcowan: s/yelling/yodeling 2020-04-07T19:08:34Z jmercouris: ha! 2020-04-07T19:08:35Z jmercouris: beat you 2020-04-07T19:08:39Z Bike: or various efforts in formal theorem proving 2020-04-07T19:08:54Z jcowan: But I'm moving faster than you, so only according to your clock, not mine 2020-04-07T19:08:57Z Bike: take fifty thousand pages to show that in at least some cases, a circle has an inside and an outside 2020-04-07T19:09:15Z jcowan: So a point is not a circle of radius 0 2020-04-07T19:09:58Z _death: Hilbert said we should use chairs, tables, and beermugs anyway 2020-04-07T19:10:05Z Bike: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.374.4778&rep=rep1&type=pdf little old now, but 2020-04-07T19:11:33Z cyberoctopi joined #lisp 2020-04-07T19:13:35Z jcowan: A point is also a beermug of radius 0. 2020-04-07T19:13:51Z jcowan: or no, that is a line I guess, I was thinking of beermats. 2020-04-07T19:14:40Z vlatkoB quit (Remote host closed the connection) 2020-04-07T19:16:31Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-07T19:17:46Z msk joined #lisp 2020-04-07T19:19:39Z msk_ quit (Ping timeout: 250 seconds) 2020-04-07T19:19:46Z random-nick joined #lisp 2020-04-07T19:19:57Z karswell_ quit (Read error: Connection reset by peer) 2020-04-07T19:24:08Z _death: jcowan: (1 2 3) is not a form in the second sense either, is it? 2020-04-07T19:27:04Z gareppa joined #lisp 2020-04-07T19:30:08Z gareppa quit (Remote host closed the connection) 2020-04-07T19:30:14Z cosimone quit (Remote host closed the connection) 2020-04-07T19:30:43Z cosimone joined #lisp 2020-04-07T19:32:00Z orivej joined #lisp 2020-04-07T19:39:14Z msk_ joined #lisp 2020-04-07T19:39:48Z izh_ joined #lisp 2020-04-07T19:41:18Z msk quit (Ping timeout: 265 seconds) 2020-04-07T19:43:49Z cyberoctopi joined #lisp 2020-04-07T19:45:08Z SGASAU quit (Remote host closed the connection) 2020-04-07T19:45:36Z SGASAU joined #lisp 2020-04-07T19:47:33Z phoe: _death: all objects are forms, so (1 2 3) is a non-empty list 2020-04-07T19:47:45Z arduo joined #lisp 2020-04-07T19:47:47Z phoe: even if it certainly isn't meant to be evaluated 2020-04-07T19:47:47Z dddddd quit (Ping timeout: 260 seconds) 2020-04-07T19:48:28Z SGASAU quit (Remote host closed the connection) 2020-04-07T19:49:38Z _death: phoe: where do you see that all objects are forms? 2020-04-07T19:49:45Z msk joined #lisp 2020-04-07T19:50:44Z SGASAU joined #lisp 2020-04-07T19:51:34Z msk_ quit (Ping timeout: 240 seconds) 2020-04-07T19:52:15Z phoe: 21:02 < jcowan> jmercouris: No, a form is a symbol, compound form (non-empty list), or self-evaluating object (any object but a symbol or cons), so all forms are objects and vice versa 2020-04-07T19:52:44Z phoe: oh wait... 2020-04-07T19:52:52Z _death: phoe: the premise is from the glossary, but not the conclusion 2020-04-07T19:53:09Z phoe: no, a compound form must be: "a non-empty list which is a form: a special form, a lambda form, a macro form, or a function form." 2020-04-07T19:53:21Z phoe: and (1 2 3) is neither 2020-04-07T19:53:24Z _death: right 2020-04-07T19:53:55Z phoe: so (1 2 3) is formless, as per ancient zen tradition 2020-04-07T19:54:01Z jcowan: okay, you are right, not all objects are forms 2020-04-07T19:54:13Z _death: phoe: WATER is a form, though 2020-04-07T19:54:27Z Bike: formless sounds more like heart sutra than zen to me 2020-04-07T19:54:41Z slyrus_ joined #lisp 2020-04-07T19:55:06Z jcowan: (+ formless 1) => gormless 2020-04-07T19:55:40Z msk_ joined #lisp 2020-04-07T19:56:05Z phoe: _death: yes 2020-04-07T19:56:13Z phoe: Bike: possible, yes 2020-04-07T19:56:19Z phoe: jcowan: wait, that's wrong endianness 2020-04-07T19:56:24Z phoe: (1+ formless) ;=> formlest 2020-04-07T19:57:30Z msk quit (Ping timeout: 256 seconds) 2020-04-07T19:57:31Z slyrus__ quit (Ping timeout: 256 seconds) 2020-04-07T19:57:51Z _death: (lsc (char 1 0) 'formless) => ??? 2020-04-07T20:01:44Z Ven`` quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-07T20:06:15Z cyberoctopi quit (Ping timeout: 265 seconds) 2020-04-07T20:12:23Z pilne joined #lisp 2020-04-07T20:12:44Z jcowan: (+ "formless" #(1 0 0 0 0 0 0 0)) => "gormless" 2020-04-07T20:13:27Z phoe: _death: what's lsc? 2020-04-07T20:13:53Z _death: Load Symbol Character.. although it should really be LDC - LoaD Character and take string designators 2020-04-07T20:19:04Z _death: (actually it should be LDS, load string..) 2020-04-07T20:21:15Z adam4567 joined #lisp 2020-04-07T20:28:36Z quazimodo quit (Ping timeout: 256 seconds) 2020-04-07T20:34:51Z cyberoctopi joined #lisp 2020-04-07T20:35:55Z quazimodo joined #lisp 2020-04-07T20:39:23Z cyberoctopi quit (Ping timeout: 250 seconds) 2020-04-07T20:41:06Z cyberoctopi joined #lisp 2020-04-07T20:41:33Z izh_ quit (Quit: Leaving) 2020-04-07T20:51:38Z jmercouris quit (Remote host closed the connection) 2020-04-07T20:52:29Z Krystof joined #lisp 2020-04-07T21:07:10Z Steinberg2010 joined #lisp 2020-04-07T21:11:04Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-07T21:16:10Z z147 quit (Quit: z147) 2020-04-07T21:16:15Z gioyik joined #lisp 2020-04-07T21:17:22Z karlosz joined #lisp 2020-04-07T21:17:31Z ahungry quit (Remote host closed the connection) 2020-04-07T21:18:47Z asarch: (+ "let's" "get" "a" "beer!") 2020-04-07T21:19:14Z eta: wait 2020-04-07T21:19:18Z eta: you can do that? 2020-04-07T21:19:28Z eta: oh stuff me I've been using concatenate 'string all this time 2020-04-07T21:19:50Z no-defun-allowed: You cannot. 2020-04-07T21:26:10Z samlamamma joined #lisp 2020-04-07T21:27:49Z Shinmera: thank god that you cannot. 2020-04-07T21:28:55Z samlamamma: Shinmera:Cannot do what? 2020-04-07T21:29:10Z Bike: cannot (+ "hello " "world") 2020-04-07T21:29:15Z Shinmera: there's logs in the chat to read up on context. 2020-04-07T21:29:19Z Shinmera: *in the topic 2020-04-07T21:30:49Z Inline quit (Ping timeout: 264 seconds) 2020-04-07T21:30:55Z samlamamma: Everyone knows that (+ "hello " "world") equals (+ "world" "hello "), I see no issue with this 2020-04-07T21:32:05Z Lord_of_Life_ joined #lisp 2020-04-07T21:33:07Z iAmDecim joined #lisp 2020-04-07T21:33:18Z cyberoctopi quit (Read error: Connection reset by peer) 2020-04-07T21:34:25Z Lord_of_Life quit (Ping timeout: 250 seconds) 2020-04-07T21:34:25Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-07T21:42:26Z jprajzne joined #lisp 2020-04-07T21:42:48Z samlamamma: Today I did not write a single line of code, but at least I discovered /r/lispmemes. 2020-04-07T21:47:01Z _death: if + is not necessarily associative, why be strict about commutativity? (= (+ (+ 0.1d0 0.2d0) 0.3d0) (+ 0.1d0 (+ 0.2d0 0.3d0))) ;) 2020-04-07T21:49:14Z jprajzne quit (Quit: jprajzne) 2020-04-07T21:49:42Z Steinberg2010 quit (Ping timeout: 256 seconds) 2020-04-07T21:49:47Z jprajzne joined #lisp 2020-04-07T21:57:46Z jprajzne quit (Remote host closed the connection) 2020-04-07T21:58:03Z lucasb joined #lisp 2020-04-07T21:58:09Z jprajzne joined #lisp 2020-04-07T21:59:54Z monokrom quit (Remote host closed the connection) 2020-04-07T22:00:20Z MetaYan is now known as MetaYan_ 2020-04-07T22:02:31Z MetaYan_ is now known as MetaYan 2020-04-07T22:02:35Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-07T22:05:08Z iAmDecim joined #lisp 2020-04-07T22:06:43Z jcowan: That's the way IEEE floats work: 2-argument + is commutative, but 3-arg + is not associative 2020-04-07T22:10:33Z akoana joined #lisp 2020-04-07T22:12:00Z cosimone quit (Quit: Quit.) 2020-04-07T22:12:07Z jcowan: so we have established that (1 2 3) is not a form, and that (eval (1 2 3)) is undefined behavior, yes? 2020-04-07T22:12:27Z _death: and string concatenation is the other way around 2020-04-07T22:14:13Z jcowan: yes 2020-04-07T22:14:24Z jcowan: which is a VERY GOOD reason not to do it with + in any language 2020-04-07T22:14:32Z _death: jcowan: if you mean (cl:eval '(1 2 3)), I think so 2020-04-07T22:14:57Z _death: jcowan: I did not mean to seriously suggest it.. 2020-04-07T22:15:11Z jcowan: yes 2020-04-07T22:16:36Z alandipert: jcowan i have seen and use the term 'datum' for things like (1 2 3) 2020-04-07T22:17:00Z jcowan: In Scheme, 'datum' means 'object with an external representation. 2020-04-07T22:17:31Z jcowan: so (1 2 3) is a datum but the result of (lambda (x) x) is not 2020-04-07T22:19:04Z frgo_ quit (Remote host closed the connection) 2020-04-07T22:19:22Z Bike: i don't think it's defined in CL but it's used synonymously with "object" 2020-04-07T22:19:39Z frgo joined #lisp 2020-04-07T22:24:42Z jprajzne quit (Quit: jprajzne) 2020-04-07T22:29:43Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-07T22:30:40Z __jrjsmrtn__ quit (Ping timeout: 256 seconds) 2020-04-07T22:31:05Z jcowan: Object is defined as datum; datum is not defined 2020-04-07T22:31:16Z jcowan: clhs object 2020-04-07T22:31:16Z specbot: Couldn't find anything for object. 2020-04-07T22:31:52Z adam4567 quit (Remote host closed the connection) 2020-04-07T22:31:54Z __jrjsmrtn__ joined #lisp 2020-04-07T22:32:05Z pjb: jcowan: check the glossary! 2020-04-07T22:32:52Z Bike: i think there was a way to get the bot to look up glossary entries, but i don't remember it 2020-04-07T22:32:55Z jcowan: ~~ sigh ~~ That's where I got that from. 2020-04-07T22:32:55Z Bike: specbot: help 2020-04-07T22:32:55Z specbot: To use the specbot bot, say something like "database term", where database can be: clhs lp mop. 2020-04-07T22:33:02Z Bike: maybe not. 2020-04-07T22:33:09Z pjb: jcowan: the result of (lambda (x) x) is a datum. It's an object. It's a function. 2020-04-07T22:33:30Z jcowan: no datum entry; object entry defines it as "datum", and also gives a contextual definition of "a foo object" 2020-04-07T22:33:59Z pjb: jcowan: for NL definitions, check a NL dictionary! 2020-04-07T22:34:58Z jcowan: _object_ in NL means the same as in EN 2020-04-07T22:35:27Z jcowan: but pronounced "opyect", of course 2020-04-07T22:37:53Z Xach: http://l1sp.org/cl/glossary/object is one option 2020-04-07T22:38:09Z pjb: jcowan: NL = EN DUH! 2020-04-07T22:40:07Z pjb: = Natural Language 2020-04-07T22:40:13Z ArthurStrong quit (Quit: leaving) 2020-04-07T22:40:20Z jcowan: datum in NL means date in EN, and very unfortunately indeed Daten in DE means both dates and data (as pl. of datum) 2020-04-07T22:40:41Z jcowan: Yes, I know that's what you meant, just giving you a dose of your own quibbling 2020-04-07T22:45:13Z nicktick joined #lisp 2020-04-07T22:48:31Z adam4567 joined #lisp 2020-04-07T22:50:06Z samlamamma: jcowan:Feeling your pain re: datum meaning date 2020-04-07T22:51:09Z jcowan: a friend of mine from Texas but been working IT in Germany for decades tells his crew to say Datumswerte instead 2020-04-07T22:51:34Z jcowan: better than Datümer, as if -tum were long 2020-04-07T22:52:29Z _death: do they use ja-nein-wert for booleans? 2020-04-07T22:52:57Z kpoeck: wahr falsch 2020-04-07T22:53:52Z _death: kpoeck: ok.. that was Plankalkül terminology 2020-04-07T22:54:52Z kpoeck: that is even older than lisp, wow 2020-04-07T22:55:02Z random-nick quit (Ping timeout: 256 seconds) 2020-04-07T22:55:55Z bjorkintosh joined #lisp 2020-04-07T22:58:02Z _death: https://dl.acm.org/doi/abs/10.1145/361454.361515 2020-04-07T22:59:06Z SGASAU quit (Remote host closed the connection) 2020-04-07T22:59:27Z SGASAU joined #lisp 2020-04-07T23:00:21Z jcowan: _death: Google Translate says Boolescher Wert, which I assume is pronounced "buhlscher" 2020-04-07T23:01:16Z _death: boo-leh-scher 2020-04-07T23:02:56Z Bike: this paper uses algol notation, which i don't understand, in order to explain the Plankalkül notation i also don't understand. pretty nice 2020-04-07T23:03:06Z Bike: apparently types were called "modes" at some point. fascinating stuff 2020-04-07T23:04:19Z cartwright quit (Remote host closed the connection) 2020-04-07T23:04:58Z _death: jcowan: yes, youtube gives "bool'sche algebra" 2020-04-07T23:05:19Z jcowan: in Algol 60, yes 2020-04-07T23:05:29Z jcowan: it was the first language with countably infinitely many types 2020-04-07T23:05:35Z jcowan: s/60/68 2020-04-07T23:06:04Z jcowan: _death: but is it bohl- or buhl-? 2020-04-07T23:06:09Z Bike: apparently not, if Plankalkül had arrays of arrays of records 2020-04-07T23:06:14Z cartwright joined #lisp 2020-04-07T23:06:32Z jcowan: Point. Also Cobol, now that I think of it 2020-04-07T23:07:21Z _death: jcowan: buhl- it seems 2020-04-07T23:07:48Z jcowan: so a perfect hybrid of English root pronounced Englishly and German affix pronounced Germanwise 2020-04-07T23:10:54Z aeth: Is there a CLobol Cobol-in-CL and if not, why did they miss the opportunity to use that name? 2020-04-07T23:12:09Z pjb: aeth: learn Cobol. It looks like it has more employement opportunities than CL! 2020-04-07T23:20:35Z cosimone joined #lisp 2020-04-07T23:25:41Z nicktick quit (Quit: Leaving.) 2020-04-07T23:26:27Z asarch quit (Quit: Leaving) 2020-04-07T23:27:07Z adam4567 quit (Remote host closed the connection) 2020-04-07T23:27:55Z aeth: If we're going to go down that route we might as well shut everything down except for ##javascript 2020-04-07T23:29:18Z cosimone quit (Quit: Quit.) 2020-04-07T23:29:37Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-07T23:31:15Z Codaraxis joined #lisp 2020-04-07T23:32:06Z bendersteed quit (Remote host closed the connection) 2020-04-07T23:32:53Z SGASAU quit (Remote host closed the connection) 2020-04-07T23:33:11Z SGASAU joined #lisp 2020-04-07T23:33:13Z cosimone joined #lisp 2020-04-07T23:37:01Z zaquest joined #lisp 2020-04-07T23:40:23Z kpoeck left #lisp 2020-04-07T23:42:15Z torbo joined #lisp 2020-04-07T23:43:12Z kopiyka quit (Ping timeout: 260 seconds) 2020-04-07T23:43:14Z adam4567 joined #lisp 2020-04-07T23:45:50Z adam4567 quit (Remote host closed the connection) 2020-04-07T23:47:47Z iAmDecim joined #lisp 2020-04-07T23:48:50Z adam4567 joined #lisp 2020-04-07T23:52:29Z jcowan: I don't see any CL-to-JS that's even close to complete in "language features" as opposed to "library features" 2020-04-07T23:55:01Z aeth: You can't really have something that's both efficient and a conforming CL in JS because the languages are just too different. 2020-04-07T23:55:15Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-07T23:55:51Z jcowan waves webscript in aeth's general direction 2020-04-07T23:56:35Z jcowan: s/script/asm 2020-04-07T23:56:40Z pjb: aeth: webassembly. 2020-04-07T23:56:58Z aeth: jcowan: I believe the issue is the garbage collector 2020-04-07T23:57:17Z aeth: the initial wasm was more aimed at C/C++ 2020-04-07T23:58:01Z jasom: wasm is a no-go for so many reasons 2020-04-07T23:58:42Z jasom: the biggest one being that you can't just dynamically generate assembly and then call it (which most traditional lisps do) 2020-04-07T23:58:49Z Bike: i think t hey still haven't implemented exceptions and it looks like they've decided to go with C++ style ones, which I can tell you from experience are an enormous pain in the ass to reconcile with lisp nonlocal control flow. 2020-04-07T23:58:52Z jasom: clisp requires a C style call-stack, which wasm doesn't ahve 2020-04-07T23:59:33Z jasom: CliCC would work, but the last free one was kind of incomplete 2020-04-07T23:59:52Z renzhi joined #lisp 2020-04-08T00:07:12Z Oladon joined #lisp 2020-04-08T00:12:31Z White_Flame: btw, are there any good JS-in-CL projects out there? 2020-04-08T00:15:26Z no-defun-allowed: JS implementation in Common Lisp? 2020-04-08T00:16:45Z White_Flame: right 2020-04-08T00:16:54Z White_Flame: or js-to-cl "transpiler" or whatever 2020-04-08T00:17:03Z nicktick joined #lisp 2020-04-08T00:17:49Z no-defun-allowed: All I know of is cl-javascript, which might be a bit dead, and doesn't run as fast as the JITting implementations. 2020-04-08T00:18:35Z SGASAU quit (Remote host closed the connection) 2020-04-08T00:18:58Z SGASAU joined #lisp 2020-04-08T00:19:54Z zaquest quit (Quit: Leaving) 2020-04-08T00:24:29Z nicktick1 joined #lisp 2020-04-08T00:25:51Z SGASAU quit (Remote host closed the connection) 2020-04-08T00:26:41Z SGASAU joined #lisp 2020-04-08T00:27:32Z nicktick quit (Ping timeout: 260 seconds) 2020-04-08T00:32:44Z arduo quit (Remote host closed the connection) 2020-04-08T00:34:07Z Kundry_W_ joined #lisp 2020-04-08T00:37:24Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-08T00:42:28Z markoong quit (Ping timeout: 256 seconds) 2020-04-08T00:43:25Z samlamamma quit (Ping timeout: 264 seconds) 2020-04-08T00:44:09Z alandipert: Bike that HB paper you linked earlier is top notch 2020-04-08T00:55:01Z hdasch quit (Ping timeout: 256 seconds) 2020-04-08T00:55:07Z hdasch joined #lisp 2020-04-08T00:55:41Z manualcrank quit (Quit: WeeChat 1.9.1) 2020-04-08T01:00:18Z ebzzry_ joined #lisp 2020-04-08T01:00:24Z slyrus_ quit (Quit: Leaving) 2020-04-08T01:03:13Z Bike: yeah, it's neat, huh? 2020-04-08T01:04:48Z bitmapper quit (Ping timeout: 256 seconds) 2020-04-08T01:05:35Z hdasch quit (Ping timeout: 260 seconds) 2020-04-08T01:09:06Z hdasch joined #lisp 2020-04-08T01:11:32Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-08T01:12:11Z ahungry joined #lisp 2020-04-08T01:13:11Z amerlyq quit (Quit: amerlyq) 2020-04-08T01:16:33Z cosimone quit (Ping timeout: 256 seconds) 2020-04-08T01:19:41Z White_Flame: is there a printer call or flag that will print NIL as ()? 2020-04-08T01:20:57Z Bike: : modifier to the A and S format directives 2020-04-08T01:20:58Z shifty joined #lisp 2020-04-08T01:23:39Z nicktick1 quit (Ping timeout: 250 seconds) 2020-04-08T01:23:52Z nicktick joined #lisp 2020-04-08T01:29:37Z matzy_ joined #lisp 2020-04-08T01:30:20Z matzy_: assuming someone here has used easy-routes before, i have an extremely dumb question 2020-04-08T01:30:20Z matzy_: 2020-04-08T01:31:18Z matzy_: i can set up the acceptor just fine, and even give it a document root, but i can't figure out how to hit even the simplest route 2020-04-08T01:34:37Z z0d quit (Ping timeout: 260 seconds) 2020-04-08T01:34:41Z matzy_: here's an example of a super simple route i've been trying to write 2020-04-08T01:35:04Z matzy_: (easy-routes:defroute name ("/foo") (&get a) (format nil "Hey~@[ ~A~]!" a)) 2020-04-08T01:36:05Z gko joined #lisp 2020-04-08T01:36:17Z matzy_: should be super simple, a GET route at localhost:4444 (port i set it to in the acceptor), 127.0.0.1:4444/foo?a=Bob 2020-04-08T01:36:35Z Jeanne-Kamikaze joined #lisp 2020-04-08T01:36:50Z matzy_: yet that gives me a 404 and i have no idea why 2020-04-08T01:37:15Z no-defun-allowed: Dumb guess: would it have to be easy-routes:&get 2020-04-08T01:37:40Z no-defun-allowed: I guess not, the documentation says that. 2020-04-08T01:38:08Z no-defun-allowed: And did you start Hunchentoot with an instance of easy-routes:routes-acceptor? 2020-04-08T01:38:15Z matzy_: yeah i copied the docs first example but tried to make it even simpler 2020-04-08T01:38:24Z matzy_: yup 2020-04-08T01:38:46Z matzy_: (defvar *my-acceptor* (make-instance 'easy-routes:easy-routes-acceptor :port 4444 :document-root #p"www/")) 2020-04-08T01:39:24Z matzy_: and then of course the hunchentoot:start function with *my-acceptor* passed in 2020-04-08T01:39:46Z matzy_: and hitting 127.0.0.1:4444 gives me the custom html page i made 2020-04-08T01:40:44Z matzy_: like i feel i'm just missing something here. i work with APIs written in (far less interesting) languages everyday 2020-04-08T01:42:40Z matzy_: should that :defroute code i posted above work with the URL i put? 2020-04-08T01:58:22Z Oladon quit (Quit: Leaving.) 2020-04-08T01:58:52Z srandon111 quit (Quit: leaving) 2020-04-08T02:01:56Z pjb: White_Flame: (loop for test in '( nil (f o o) ) collect (format nil "(~{~A~^ ~})" test)) #| --> ("()" "(f o o)") |# 2020-04-08T02:08:23Z space_otter joined #lisp 2020-04-08T02:09:29Z EvW1 quit (Ping timeout: 246 seconds) 2020-04-08T02:22:41Z matzy_ quit (Read error: Connection reset by peer) 2020-04-08T02:32:35Z SGASAU quit (Remote host closed the connection) 2020-04-08T02:32:56Z SGASAU joined #lisp 2020-04-08T02:33:52Z libertyprime quit (Quit: Lost terminal) 2020-04-08T02:33:55Z space_otter quit (Remote host closed the connection) 2020-04-08T02:39:29Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-08T02:43:31Z manualcrank joined #lisp 2020-04-08T02:54:37Z Aurora_iz_kosmos quit (Quit: Пока, мир.) 2020-04-08T03:01:38Z ski joined #lisp 2020-04-08T03:02:42Z Oladon joined #lisp 2020-04-08T03:05:38Z ebzzry_ joined #lisp 2020-04-08T03:06:29Z nicktick1 joined #lisp 2020-04-08T03:09:07Z nicktick quit (Ping timeout: 260 seconds) 2020-04-08T03:12:59Z jasom: I guess matzy_ is gone, but that code worked for me 2020-04-08T03:13:42Z jasom: http://localhost:4444/foo?a=bar showed "Hey bar!" 2020-04-08T03:20:51Z SGASAU quit (Remote host closed the connection) 2020-04-08T03:20:58Z rohit joined #lisp 2020-04-08T03:21:25Z SGASAU joined #lisp 2020-04-08T03:27:15Z rohit quit (Remote host closed the connection) 2020-04-08T03:27:19Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-08T03:27:39Z rohit joined #lisp 2020-04-08T03:29:37Z rohit quit (Client Quit) 2020-04-08T03:34:40Z ebzzry_ joined #lisp 2020-04-08T03:37:38Z gioyik quit (Ping timeout: 256 seconds) 2020-04-08T03:48:15Z nicktick1 quit (Quit: Leaving.) 2020-04-08T03:49:37Z nicktick joined #lisp 2020-04-08T03:53:04Z pilne quit (Quit: We be chillin' - IceChat style) 2020-04-08T03:54:07Z Necktwi quit (Ping timeout: 265 seconds) 2020-04-08T03:56:01Z nicktick quit (Quit: Leaving.) 2020-04-08T03:57:50Z nicktick joined #lisp 2020-04-08T03:58:47Z jackdaniel quit (Quit: server upgrade) 2020-04-08T03:59:41Z nicktick quit (Client Quit) 2020-04-08T04:06:49Z beach: Good morning everyone! 2020-04-08T04:07:54Z KDr21 joined #lisp 2020-04-08T04:09:11Z KDr2 quit (Ping timeout: 250 seconds) 2020-04-08T04:13:05Z xaotuk quit (Ping timeout: 250 seconds) 2020-04-08T04:15:44Z ebzzry_ quit (Remote host closed the connection) 2020-04-08T04:16:38Z ebzzry_ joined #lisp 2020-04-08T04:17:23Z jackdaniel joined #lisp 2020-04-08T04:17:55Z gioyik joined #lisp 2020-04-08T04:18:35Z wheelsucker joined #lisp 2020-04-08T04:19:17Z Bike quit (Quit: Lost terminal) 2020-04-08T04:24:30Z revtintin joined #lisp 2020-04-08T04:25:22Z iAmDecim joined #lisp 2020-04-08T04:25:37Z vlatkoB joined #lisp 2020-04-08T04:28:38Z ahungry quit (Remote host closed the connection) 2020-04-08T04:29:34Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-04-08T04:32:21Z SGASAU quit (Remote host closed the connection) 2020-04-08T04:32:36Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-08T04:32:43Z SGASAU joined #lisp 2020-04-08T04:37:47Z holycow joined #lisp 2020-04-08T04:45:35Z Necktwi joined #lisp 2020-04-08T04:46:35Z Kundry_W_ quit (Remote host closed the connection) 2020-04-08T04:47:04Z Kundry_Wag joined #lisp 2020-04-08T04:51:02Z _whitelogger quit (Remote host closed the connection) 2020-04-08T04:52:47Z revtintin quit (Ping timeout: 265 seconds) 2020-04-08T04:53:15Z _whitelogger joined #lisp 2020-04-08T04:53:33Z karlosz quit (Quit: karlosz) 2020-04-08T05:00:16Z revtintin joined #lisp 2020-04-08T05:03:10Z shangul joined #lisp 2020-04-08T05:04:32Z ebzzry joined #lisp 2020-04-08T05:04:44Z ebzzry_ quit (Remote host closed the connection) 2020-04-08T05:06:00Z terpri quit (Remote host closed the connection) 2020-04-08T05:06:23Z terpri joined #lisp 2020-04-08T05:07:23Z karlosz joined #lisp 2020-04-08T05:10:37Z SGASAU quit (Remote host closed the connection) 2020-04-08T05:10:57Z SGASAU joined #lisp 2020-04-08T05:15:30Z terpri quit (Remote host closed the connection) 2020-04-08T05:16:15Z terpri joined #lisp 2020-04-08T05:20:51Z Jeanne-Kamikaze quit (Ping timeout: 260 seconds) 2020-04-08T05:21:32Z nicktick joined #lisp 2020-04-08T05:23:41Z torbo quit (Remote host closed the connection) 2020-04-08T05:27:30Z terpri quit (Remote host closed the connection) 2020-04-08T05:28:03Z terpri joined #lisp 2020-04-08T05:29:10Z terpri quit (Remote host closed the connection) 2020-04-08T05:29:30Z terpri joined #lisp 2020-04-08T05:30:11Z iAmDecim joined #lisp 2020-04-08T05:38:30Z shifty quit (Ping timeout: 256 seconds) 2020-04-08T05:40:56Z revtintin quit (Ping timeout: 265 seconds) 2020-04-08T05:47:53Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-08T05:48:54Z orivej quit (Ping timeout: 240 seconds) 2020-04-08T05:51:21Z ebzzry quit (Quit: WeeChat 2.3) 2020-04-08T05:52:59Z JohnMS_WORK joined #lisp 2020-04-08T05:53:00Z karlosz quit (Quit: karlosz) 2020-04-08T05:55:25Z terpri quit (Remote host closed the connection) 2020-04-08T05:56:54Z terpri joined #lisp 2020-04-08T06:01:36Z revtintin joined #lisp 2020-04-08T06:03:45Z dale quit (Quit: My computer has gone to sleep) 2020-04-08T06:06:44Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-08T06:08:11Z renzhi quit (Ping timeout: 265 seconds) 2020-04-08T06:09:22Z ruthra_k joined #lisp 2020-04-08T06:17:22Z narimiran joined #lisp 2020-04-08T06:18:53Z Oladon quit (Quit: Leaving.) 2020-04-08T06:20:53Z gioyik quit (Quit: WeeChat 2.7.1) 2020-04-08T06:22:20Z nicktick1 joined #lisp 2020-04-08T06:23:35Z nicktick2 joined #lisp 2020-04-08T06:25:07Z nicktick quit (Ping timeout: 260 seconds) 2020-04-08T06:25:11Z flip214: jdz: thanks, sent an email yesterday, too.... in the meantime I opened https://github.com/quicklisp/quicklisp-projects/issues/1825 to use your repo instead ;) 2020-04-08T06:27:00Z nicktick1 quit (Ping timeout: 256 seconds) 2020-04-08T06:32:01Z ruthra_k quit (Remote host closed the connection) 2020-04-08T06:37:23Z revtintin quit (Ping timeout: 260 seconds) 2020-04-08T06:37:27Z akoana quit (Quit: leaving) 2020-04-08T06:40:33Z revtintin joined #lisp 2020-04-08T06:42:39Z random-nick joined #lisp 2020-04-08T06:43:26Z terpri quit (Remote host closed the connection) 2020-04-08T06:43:30Z Kundry_Wag joined #lisp 2020-04-08T06:43:51Z terpri joined #lisp 2020-04-08T06:49:14Z revtintin quit (Ping timeout: 240 seconds) 2020-04-08T06:49:57Z Kundry_Wag quit (Ping timeout: 250 seconds) 2020-04-08T06:51:15Z years_ joined #lisp 2020-04-08T06:54:55Z revtintin joined #lisp 2020-04-08T06:59:54Z years_ left #lisp 2020-04-08T07:02:53Z jdz: flip214: Cool. I have not run into the OOM issue, so I'm glad I've fixed it unknowingly. 2020-04-08T07:04:13Z jdz: The main issue I was fixing was out-of-bounds array access, which was not very nice since there were (safety 0) declarations. 2020-04-08T07:06:10Z flip214: jdz: it's fixed by throwing a type error ;) 2020-04-08T07:06:23Z flip214: saying "NIL is not a string" 2020-04-08T07:09:36Z jdz: Gotta stop those pesky NILs from spreading. 2020-04-08T07:10:52Z revtintin quit (Ping timeout: 256 seconds) 2020-04-08T07:11:25Z terpri quit (Remote host closed the connection) 2020-04-08T07:12:25Z terpri joined #lisp 2020-04-08T07:12:27Z flip214: didn't spend any time looking for the reason.... allocating 2GB for a NIL sounds interesting 2020-04-08T07:16:16Z flip214: hmmm, replicating the (declare (string input) (optimize ... (safety 0))) isn't enough, I get a type error 2020-04-08T07:16:45Z jprajzne joined #lisp 2020-04-08T07:18:45Z aeth: (safety 0) is almost always a bad idea 2020-04-08T07:21:09Z flip214: aeth: that's why https://github.com/jdz/cl-base64/commit/f495809807a9311747c84fcb9520105ed663a971 2020-04-08T07:21:15Z Necktwi quit (Ping timeout: 260 seconds) 2020-04-08T07:21:29Z flip214: I'm just trying to reproduce with a minimal example 2020-04-08T07:23:52Z no-defun-allowed: Tell that to the jsown maintainer? 2020-04-08T07:25:31Z nicktick2 quit (Quit: Leaving.) 2020-04-08T07:27:09Z Necktwi joined #lisp 2020-04-08T07:28:15Z nicktick joined #lisp 2020-04-08T07:31:32Z aeth: to be fair, (safety 0) wouldn't be less safe than C if SBCL didn't also stop doing most static checking when (safety 0) not just runtime checking 2020-04-08T07:31:46Z adlai: lp mop 2020-04-08T07:31:59Z Necktwi quit (Ping timeout: 260 seconds) 2020-04-08T07:32:05Z adlai: lp anything 2020-04-08T07:32:41Z adlai: mop method-function 2020-04-08T07:32:41Z specbot: http://metamodular.com/CLOS-MOP/method-function.html 2020-04-08T07:33:01Z aeth: Compare (safety 0) to (safety 1) here: (with-compilation-unit () (defun hi () "hi") (defun foo () (declare (optimize (safety 0))) (+ 0 (hi)))) 2020-04-08T07:33:06Z adlai: who maintains specbot? 2020-04-08T07:33:34Z adlai: ... and what was 'lp' supposed to search 2020-04-08T07:33:36Z beach: aeth: The fact that something is no less safe than C is a very weak argument. 2020-04-08T07:33:57Z jackdaniel quit (Ping timeout: 256 seconds) 2020-04-08T07:34:09Z jackdaniel joined #lisp 2020-04-08T07:34:29Z beach: adlai: "launchpad" would be my guess. 2020-04-08T07:35:05Z aeth: beach: The C compiler will tell you it's bad, as will SBCL with (safety 1). Compiler, not runtime. Of course, this is not quite a good example because GENERIC-+ will still typecheck so it won't mess up at runtime. This is UB because it's a non-generic +: (with-compilation-unit () (defun hi () "hi") (defun foo () (declare (optimize (safety 0))) (+ 0 (the fixnum (hi))))) 2020-04-08T07:35:39Z aeth: THE, of course, is portably speaking dangerous, but only because it permits behavior like what's happening here with SBCL, but only when SBCL has (safety 0) 2020-04-08T07:36:18Z adlai: beach: thanks; so it's probably for a specific project? since specbot is in #sbcl too, there's even a usual suspect :) 2020-04-08T07:37:11Z aeth: My example is also bad in one other way... (+ 0 ...) won't mess things up, but any other number probably will 2020-04-08T07:37:40Z jdz: aeth: That's why I have (sb-ext:restrict-compiler-policy 'safety 1) in my ~/.sbclrc 2020-04-08T07:38:12Z aeth: to be fair, (safety 0) does have its use in removing bounds checks in arrays in a LOCALLY if you really know what you're doing... 2020-04-08T07:38:42Z aeth: Just never do it at the function level because then it won't check the inputs, e.g. you could pass in too many or too few arguments 2020-04-08T07:38:53Z Cymew joined #lisp 2020-04-08T07:38:56Z jdz: aeth: One does not need (safety 0) if the compiler can figure out the bounds checks don't have to be checked on every iteration. 2020-04-08T07:39:09Z aeth: if 2020-04-08T07:39:24Z aeth: There definitely are cases where you know it can't go out of bounds but SBCL does not (yet) know this 2020-04-08T07:39:49Z aeth: I rarely encounter these, and even then never really care about the check, though. 2020-04-08T07:40:44Z revtintin joined #lisp 2020-04-08T07:41:04Z z0d joined #lisp 2020-04-08T07:41:41Z aeth: I generally use fixed-size arrays when I want performance, though. Then there's no need to play any games around bounds checking. 2020-04-08T07:42:19Z beach: aeth: I don't think THE is worse than a type declaration. 2020-04-08T07:44:40Z aeth: Anyway for anyone following along later, my final, corrected version of messing up your SBCL with (safety 0) that will otherwise be caught at compile time is: (with-compilation-unit () (defun hi () "hi") (defun foo () (declare (optimize (safety 0))) (+ 2 (the fixnum (hi))))) 2020-04-08T07:45:28Z aeth: It probably won't get really nasty until you start SETFing the wrong things, though. 2020-04-08T07:45:46Z revtintin quit (Ping timeout: 256 seconds) 2020-04-08T07:45:52Z tiwEllien joined #lisp 2020-04-08T07:47:41Z Necktwi joined #lisp 2020-04-08T08:01:07Z m00natic joined #lisp 2020-04-08T08:03:41Z Codaraxis quit (Read error: Connection reset by peer) 2020-04-08T08:04:20Z Codaraxis joined #lisp 2020-04-08T08:17:10Z Necktwi quit (Ping timeout: 256 seconds) 2020-04-08T08:22:40Z jsatk quit (Ping timeout: 256 seconds) 2020-04-08T08:22:44Z parisienne_ quit (Read error: Connection reset by peer) 2020-04-08T08:22:55Z parisienne_ joined #lisp 2020-04-08T08:23:02Z jsatk joined #lisp 2020-04-08T08:26:31Z Codaraxis_ joined #lisp 2020-04-08T08:28:01Z Necktwi joined #lisp 2020-04-08T08:28:55Z Codaraxis quit (Ping timeout: 260 seconds) 2020-04-08T08:31:05Z nicktick1 joined #lisp 2020-04-08T08:31:27Z nicktick1 quit (Client Quit) 2020-04-08T08:34:17Z orivej joined #lisp 2020-04-08T08:35:12Z nicktick quit (Ping timeout: 260 seconds) 2020-04-08T08:36:02Z shifty joined #lisp 2020-04-08T08:39:46Z ggole joined #lisp 2020-04-08T08:40:25Z nicktick joined #lisp 2020-04-08T08:42:00Z efm_ joined #lisp 2020-04-08T08:42:53Z efm_ quit (Client Quit) 2020-04-08T08:43:04Z efm quit (Ping timeout: 256 seconds) 2020-04-08T08:43:28Z efm joined #lisp 2020-04-08T08:45:54Z nicktick quit (Quit: Leaving.) 2020-04-08T08:47:07Z Kundry_Wag joined #lisp 2020-04-08T08:51:47Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-04-08T08:53:30Z kopiyka joined #lisp 2020-04-08T08:55:03Z Necktwi quit (Ping timeout: 260 seconds) 2020-04-08T09:03:14Z nicktick joined #lisp 2020-04-08T09:16:30Z datajerk quit (Ping timeout: 256 seconds) 2020-04-08T09:18:10Z micro quit (Remote host closed the connection) 2020-04-08T09:19:02Z nicktick quit (Quit: Leaving.) 2020-04-08T09:20:27Z datajerk joined #lisp 2020-04-08T09:20:34Z revtintin joined #lisp 2020-04-08T09:25:13Z markoong joined #lisp 2020-04-08T09:25:27Z loke` is now known as loke 2020-04-08T09:26:21Z m00natic quit (Remote host closed the connection) 2020-04-08T09:29:25Z revtintin quit (Quit: WeeChat 1.9.1) 2020-04-08T09:29:55Z markoong quit (Client Quit) 2020-04-08T09:34:42Z Lord_of_Life_ joined #lisp 2020-04-08T09:36:01Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-04-08T09:36:01Z m00natic joined #lisp 2020-04-08T09:36:02Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-08T09:44:32Z m00natic quit (Ping timeout: 265 seconds) 2020-04-08T09:54:26Z chipolux quit (Quit: chipolux) 2020-04-08T09:55:34Z adam4567 quit (Remote host closed the connection) 2020-04-08T10:02:34Z iAmDecim joined #lisp 2020-04-08T10:19:05Z frgo quit (Remote host closed the connection) 2020-04-08T10:19:41Z frgo joined #lisp 2020-04-08T10:24:21Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-08T10:36:21Z iAmDecim joined #lisp 2020-04-08T10:50:45Z lavaflow quit (Ping timeout: 265 seconds) 2020-04-08T10:56:53Z lavaflow joined #lisp 2020-04-08T10:59:59Z narimiran quit (Ping timeout: 250 seconds) 2020-04-08T11:03:35Z grumpyvegetable quit (Quit: Connection closed for inactivity) 2020-04-08T11:13:39Z hdasch quit (Ping timeout: 265 seconds) 2020-04-08T11:13:48Z narimiran joined #lisp 2020-04-08T11:13:52Z hdasch joined #lisp 2020-04-08T11:27:00Z Necktwi joined #lisp 2020-04-08T11:32:47Z hdasch quit (Ping timeout: 260 seconds) 2020-04-08T11:32:58Z hdasch joined #lisp 2020-04-08T11:33:40Z bendersteed joined #lisp 2020-04-08T11:39:37Z cosimone joined #lisp 2020-04-08T11:42:35Z hdasch quit (Ping timeout: 260 seconds) 2020-04-08T11:43:00Z hdasch joined #lisp 2020-04-08T11:47:35Z cosimone quit (Quit: Terminated!) 2020-04-08T11:52:39Z wheelsucker49 quit (Remote host closed the connection) 2020-04-08T11:53:28Z cracauer quit (Ping timeout: 256 seconds) 2020-04-08T11:57:09Z Steinberg2010 joined #lisp 2020-04-08T12:04:39Z ukari quit (Remote host closed the connection) 2020-04-08T12:05:33Z ukari joined #lisp 2020-04-08T12:10:54Z flip214: when I try stepping via swank, the next output is a (continue) call in SWANK:SLDB-NEXT. I'd have expected to get the next form after the (BREAK) 2020-04-08T12:15:38Z Kundry_Wag joined #lisp 2020-04-08T12:16:14Z flip214: but the command going across the wire is "000038(:emacs-rex (swank:sldb-next 0) "COMMON-LISP-USER" 3 69)", and frame 0 is the function frame that I'm trying to step through?! 2020-04-08T12:17:19Z flip214: hmmm, I'm landing in SLDB level 1 instead of staying on the first sldb level 2020-04-08T12:17:29Z Bike joined #lisp 2020-04-08T12:20:51Z nicktick joined #lisp 2020-04-08T12:23:34Z sh_zam joined #lisp 2020-04-08T12:27:36Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-08T12:29:17Z cosimone joined #lisp 2020-04-08T12:36:09Z terpri quit (Read error: Connection reset by peer) 2020-04-08T12:36:21Z terpri joined #lisp 2020-04-08T12:39:02Z beach: flip214: I have never managed to get stepping to work to my satisfaction. It is of course possible that I am doing something wrong. 2020-04-08T12:39:30Z beach: flip214: Can I assume that you are using level 3 of the DEBUG optimize quality? 2020-04-08T12:40:17Z jcowan: "Removing run-time checks in production is like having life jackets in port but removing them before going to sea in order to carry more cargo." 2020-04-08T12:40:35Z nicktick quit (Quit: Leaving.) 2020-04-08T12:41:37Z nicktick joined #lisp 2020-04-08T12:43:02Z EvW joined #lisp 2020-04-08T12:43:34Z nicktick quit (Client Quit) 2020-04-08T12:45:48Z nicktick joined #lisp 2020-04-08T12:49:16Z Yardanico joined #lisp 2020-04-08T12:50:56Z sunwukong` joined #lisp 2020-04-08T12:53:18Z nicktick quit (Read error: Connection reset by peer) 2020-04-08T12:57:48Z ayuce joined #lisp 2020-04-08T12:58:50Z Steinberg2010 quit (Ping timeout: 265 seconds) 2020-04-08T12:59:19Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-08T13:00:46Z iAmDecim joined #lisp 2020-04-08T13:01:36Z sendai_ quit (Quit: Leaving) 2020-04-08T13:01:46Z sendai_ joined #lisp 2020-04-08T13:04:31Z sunwukong` left #lisp 2020-04-08T13:05:47Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-08T13:06:46Z sunwukong joined #lisp 2020-04-08T13:10:22Z cosimone quit (Remote host closed the connection) 2020-04-08T13:10:51Z cosimone joined #lisp 2020-04-08T13:16:25Z wxie joined #lisp 2020-04-08T13:26:46Z dddddd joined #lisp 2020-04-08T13:29:39Z Steinberg2010 joined #lisp 2020-04-08T13:35:03Z luni joined #lisp 2020-04-08T13:38:20Z bitmapper joined #lisp 2020-04-08T13:43:00Z lavaflow quit (Ping timeout: 256 seconds) 2020-04-08T13:44:14Z Inline joined #lisp 2020-04-08T13:49:02Z Steinberg2010 quit (Ping timeout: 260 seconds) 2020-04-08T13:51:20Z jasom: jcowan: coincidentally, I just had a project that saved a large amount of money *because* assertions were disabled in production. 2020-04-08T13:52:02Z jcowan: How was that? 2020-04-08T13:54:49Z jasom: hardware docs said that both the "success" and "error" indicator bits wouldn't be set at the same time. error-injection testing caught this happening in aging parts after about a year and a half of testing due to the assertion. Analysis of behavior without the assert is that the driver will eventually reset the hardware and continue. No patch needed specifically for this problem. 2020-04-08T13:55:18Z jasom: not saying that your previous statement was wrong, just laughing at the timing. 2020-04-08T13:59:28Z jcowan: Yes, but you were lucky: it could have been that the program went off the rails in the presence of the hardware problem 2020-04-08T14:00:01Z jcowan: In Multics, the first thing the system did after being restarted from a crash was to attempt to dump the virtual memory to disk for postmortem debugging. 2020-04-08T14:00:34Z jcowan: Now Multics VM was a tree of fixed-size segments rather than a flat space. 2020-04-08T14:00:39Z jcowan: s/disk/tape 2020-04-08T14:01:32Z jcowan: On one memorable and scary occasion at a customer site, attempting to reload the tape produced "HODIE NATUS EST RADICI FRATER" and halted, ignoring all further attempts to recover. 2020-04-08T14:01:44Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-08T14:01:52Z jcowan: "Today is born to the root a brother". 2020-04-08T14:02:01Z luni left #lisp 2020-04-08T14:02:14Z jcowan: On tracing, this error message happened in the bootstrap if the left and right pointers of the root segment weren't null (-1 on Multics). 2020-04-08T14:03:16Z jcowan: Further investigation showed that the disk controller had failed, writing out part of the root segment as all zeros, and there was no recovery from that. 2020-04-08T14:03:30Z jcowan: Except to wipe everything, reload the OS, and restore customer stuff from backup. 2020-04-08T14:07:10Z FreeBirdLjj joined #lisp 2020-04-08T14:07:18Z adlai: clearly, although posessing a reasonable sense of humor, they dropped out before receiving a diploma 2020-04-08T14:07:41Z adlai: any wreathed scholar would've printed `semper ubi sub ubi' 2020-04-08T14:11:47Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-04-08T14:11:54Z cosimone quit (Quit: Terminated!) 2020-04-08T14:12:31Z ahungry joined #lisp 2020-04-08T14:14:16Z jcowan: I think Bernie Greenberg learned his Latin in choir 2020-04-08T14:14:37Z jasom: Boatum est upsettum, magno cum grandine venti. 2020-04-08T14:14:45Z jcowan: more detailed version at https://multicians.org/hodie-natus-est.html but with more Multics-specific jargon 2020-04-08T14:15:03Z jcowan: Sign on a hitching post: TOTI EMUL ESTO 2020-04-08T14:20:48Z wxie quit (Ping timeout: 256 seconds) 2020-04-08T14:25:25Z shifty quit (Ping timeout: 264 seconds) 2020-04-08T14:27:17Z jmercouris joined #lisp 2020-04-08T14:27:29Z jmercouris: something like yasnippet exists for CL? 2020-04-08T14:27:34Z jmercouris: or will I have to write my own? 2020-04-08T14:27:51Z jmercouris: I'm not asking about snippets FOR CL 2020-04-08T14:27:57Z jmercouris: I'm asking about a snippet expander implementation in CL 2020-04-08T14:28:20Z beach: It is best if you tell us what kind of functionality you need. That way, people who don't know about snippets can help. 2020-04-08T14:28:45Z beach: jmercouris: Also, whether an expression is a form or not is not intrinsic to the expression. It has to do with its intended use. 2020-04-08T14:29:24Z beach: jmercouris: For example, (- (length list)) is probably a form if found at the top-level. 2020-04-08T14:29:28Z jmercouris: the functionality I need is the following, a program that can parse some form. The form is a form with some simple logic, some pre-filled text, and some spots that the user can fill int 2020-04-08T14:29:36Z jmercouris: for example (defclass ${1:name} (${2:inherits}) 2020-04-08T14:29:44Z beach: jmercouris: But in (let ((- (length list))) ...) it is very likely NOT a form. 2020-04-08T14:29:48Z jmercouris: the user will be prompted for a name, and inherits, and that value will be filled into a string 2020-04-08T14:30:14Z jmercouris: If I decide to roll my own snippets, which I probably will have to, syntax suggestions? 2020-04-08T14:30:33Z jmercouris: so, if the user supplied name = goldfish, and inherits = salmon 2020-04-08T14:30:46Z jmercouris: then (defclass goldfish (salmon) would be the output from the above snippet 2020-04-08T14:30:57Z jcowan: No? It looks like a form to me, whose value will be locally bound to -. 2020-04-08T14:31:31Z jmercouris: beach: let's start with a most basic question, what *is* a form? 2020-04-08T14:31:32Z beach: jcowan: (length list) is a form, but not (- (length list)). 2020-04-08T14:31:51Z beach: jmercouris: It is an expression that is intended for evaluation. 2020-04-08T14:31:52Z jcowan: oops, sorry for the noise 2020-04-08T14:32:01Z jcowan: O NOES, forms again 2020-04-08T14:32:07Z beach: jmercouris: So it depends on the intention of the person who wrote it. 2020-04-08T14:32:28Z beach: jcowan: I was asleep and noticed that the discussion was all wrong. 2020-04-08T14:32:46Z beach: jmercouris: Therefore it is not an intrinsic quality of an expression whether it is a form or not. 2020-04-08T14:33:14Z beach: jmercouris: Even (1 2 3) might be a form. It fails to evaluate, but perhaps the intention was to test the error that is signaled. 2020-04-08T14:33:29Z jmercouris: when do you write code with the intent of it not being evaluated? 2020-04-08T14:33:45Z jmercouris: when do you write an expression that will not be evaluated? 2020-04-08T14:34:04Z beach: jmercouris: In (let ((x 10) (y 20)) ...) (x 10) (y 20) are expressions but they are not intended to be evaluated. 2020-04-08T14:34:07Z jcowan: As a silly way of signaling a particular condition 2020-04-08T14:34:13Z pve joined #lisp 2020-04-08T14:34:16Z beach: jmercouris: So is ((x 10) (y 20)). 2020-04-08T14:34:29Z jmercouris: oh I see 2020-04-08T14:34:31Z beach: jmercouris: So is LET 2020-04-08T14:34:34Z jmercouris: because the let macro is just using them as data 2020-04-08T14:34:42Z jcowan: I have written things like (/ 1 0) to generate an ad hoc exception 2020-04-08T14:34:47Z jmercouris: to say yes, we want to lexically bind x to 10 or whatever 2020-04-08T14:34:52Z beach: Sort of, except that LET is a special operator, not a macro. 2020-04-08T14:35:01Z jmercouris: OK, but we pretend its a macro for this discussion 2020-04-08T14:35:15Z jcowan: beach: Did you see the discussion of the minimal basis for CL syntax? 2020-04-08T14:35:25Z jmercouris: the one we had some years ago? 2020-04-08T14:35:29Z jmercouris: or a more recent one? 2020-04-08T14:35:49Z beach: jcowan: If I did, I did not pay any attention to it. 2020-04-08T14:36:00Z jcowan: Yesterday 2020-04-08T14:36:01Z jmercouris: you definitely paid attention to it 2020-04-08T14:36:07Z jmercouris: oh, different conversation 2020-04-08T14:36:08Z jmercouris: nevermind 2020-04-08T14:36:09Z beach: jmercouris: Why do you care whether it is a macro or a special operator. 2020-04-08T14:36:15Z jmercouris: i don't care really 2020-04-08T14:36:27Z jmercouris: i was just glossing over the detail 2020-04-08T14:36:33Z jmercouris: saying, it doesn't matter 2020-04-08T14:36:35Z jmercouris: I get your point 2020-04-08T14:36:41Z dale_ joined #lisp 2020-04-08T14:36:42Z beach: My point is that whether an expression is a form or not is not intrinsic to the expression. 2020-04-08T14:36:46Z jmercouris: yes, I get it 2020-04-08T14:36:57Z jmercouris: it is intrinsic to whether it is intended to be evaluated 2020-04-08T14:37:01Z jmercouris: or if it is just data 2020-04-08T14:37:07Z dale_ is now known as dale 2020-04-08T14:37:12Z beach: But you can't know that by just looking at it. 2020-04-08T14:37:25Z jcowan: in any case, any special form can be implemented as a macro, hence the relevance of the minimal basis set 2020-04-08T14:37:46Z jcowan: most of the talk was how to implement IF (other than with COND, obvs) 2020-04-08T14:37:49Z jmercouris: more stuff to think about while I go on my bike ride 2020-04-08T14:37:58Z jmercouris: anyways, I'll be back later, syntax suggestions welcome! 2020-04-08T14:38:00Z jmercouris: for snippets 2020-04-08T14:38:10Z beach: jmercouris: Even in (let ((- (length list))) ...) you don't know whether (- (length list)) is a form or not, because you don't know whether the entire expression is. 2020-04-08T14:38:24Z Kundry_Wag joined #lisp 2020-04-08T14:39:40Z splittist: jmercouris: you could do a survey of syntaxes; you could let the user choose; is the prompting going to be parameterised; will you have built-in validation, and, if so, how will that be signalled? Happy pedaling. 2020-04-08T14:39:51Z holycow quit (Quit: Lost terminal) 2020-04-08T14:40:04Z Necktwi quit (Ping timeout: 256 seconds) 2020-04-08T14:40:12Z flip214: beach: my ~/.sbclrc has (safety 3) (debug 3) as default settings, yes. Thanks for the notice about stepping not working for you, too! 2020-04-08T14:40:34Z beach: Sure. 2020-04-08T14:41:37Z flip214: I was wondering whether my nvim/vlime setup was broken in that regard. 2020-04-08T14:42:01Z flip214: jdz: want to vote on https://github.com/quicklisp/quicklisp-projects/issues/1825 ? ;) 2020-04-08T14:43:41Z revtintin joined #lisp 2020-04-08T14:51:44Z revtintin quit (Ping timeout: 258 seconds) 2020-04-08T15:02:00Z Necktwi joined #lisp 2020-04-08T15:04:14Z rippa joined #lisp 2020-04-08T15:09:15Z monokrom joined #lisp 2020-04-08T15:12:23Z revtintin joined #lisp 2020-04-08T15:17:56Z grabarz joined #lisp 2020-04-08T15:20:23Z adlai: jcowan, esto perpetuum hippopotamo, n'est-cepas? 2020-04-08T15:20:48Z revtintin quit (Ping timeout: 256 seconds) 2020-04-08T15:22:33Z jcowan: adlai: Seems like good advice, assuming hippopotamo is ablative 2020-04-08T15:22:46Z jprajzne quit (Quit: Leaving.) 2020-04-08T15:23:28Z jcowan: hippos can be nasty and staying away is safest 2020-04-08T15:24:08Z adlai: regrettably, my keyboard lacks the ability to disambiguate cases that were spelled identically in the variant of latin that I studied a decade ago. 2020-04-08T15:24:37Z jmercouris: splittist: what is parameterised prompting? I am thinking no validation, it is just for simple form input 2020-04-08T15:25:05Z Bourne quit (Ping timeout: 258 seconds) 2020-04-08T15:25:27Z adlai: jcowan: wrt #'if, clearly as a funcall to symbol-plist of one and zero; as a macro, however you like. 2020-04-08T15:26:09Z adlai: minority report votes for symbol-plists of t and nil, and they are wrong, due to being in the minority! 2020-04-08T15:26:41Z jcowan: Thing is, you can't search a plist without an existing conditional operator 2020-04-08T15:27:15Z jcowan: That's like saying Smalltalk doesn't need if because true and false belong to different classes, which they do, but class dispatch obviously needs a conditional under the covers. 2020-04-08T15:27:46Z adlai: jcowan, sure, that's why you have an invariant, wherein the relevant function is located at a specific offset within the plist 2020-04-08T15:28:33Z adlai: iirc, cl-user mucking with cl plists leads to jokes plagiarised from aristophanes 2020-04-08T15:28:33Z jcowan: You can do a lot conditional-free, especially if you are willing to repeat work, but not everything. 2020-04-08T15:28:39Z jcowan: Ingenious; I have to think about that one 2020-04-08T15:29:16Z jcowan: You'd have to be sure that (setf get) maintains the invariant 2020-04-08T15:29:37Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-08T15:30:28Z adlai: verify in the macro, abuse via manual macroexpansion 2020-04-08T15:30:47Z Necktwi quit (Ping timeout: 260 seconds) 2020-04-08T15:31:16Z Kevslinger joined #lisp 2020-04-08T15:38:07Z EvW quit (Ping timeout: 260 seconds) 2020-04-08T15:39:07Z revtintin joined #lisp 2020-04-08T15:39:51Z Bike: you shouldn't need a conditional for dispatch though. you can use something like vtables, can't you? 2020-04-08T15:40:09Z fengshaun quit (Quit: bibi!) 2020-04-08T15:40:15Z Bike: i guess in a roundabout way that's the same as keeping the function in a dedicated spot in the symbol plist 2020-04-08T15:40:33Z fengshaun joined #lisp 2020-04-08T15:40:57Z sunwukong quit (Quit: Leaving) 2020-04-08T15:42:18Z Necktwi joined #lisp 2020-04-08T15:45:39Z cosimone joined #lisp 2020-04-08T15:46:57Z Bike: and extending on that, you could say that the lisp runtime has a %COND slot in every object; in the %COND of NIL is (lambda (x y) y), and for every other object it's (lambda (x y) x); and then (if x y z) is (funcall (funcall (%cond x) (lambda () y) (lambda () z))) no problem. 2020-04-08T15:47:00Z terpri quit (Remote host closed the connection) 2020-04-08T15:47:11Z _death: (defconstant true 'car) (defconstant false 'cdr) (defun if (test yes no) (funcall test (cons yes no))) ;; add funcalls for flavor 2020-04-08T15:47:23Z terpri joined #lisp 2020-04-08T15:47:56Z Bike: as such, in the next lisp revision IF should not be a special operator, thank you for coming to my TED talk 2020-04-08T15:48:30Z terpri quit (Remote host closed the connection) 2020-04-08T15:49:06Z splittist: jmercouris: something like (prompt-for thing prompter), so people can specialize prompt-for for different prompting mechanisms (react, repl, terminal, chatbot...) 2020-04-08T15:49:12Z adlai: _death: why not (function car), etc? 2020-04-08T15:49:23Z Bike: in case you want to redefine car and cdr later, obviously 2020-04-08T15:49:39Z jmercouris: splittist: yes, there will be that 2020-04-08T15:49:44Z _death: adlai: because it's not guaranteed to be constant 2020-04-08T15:49:57Z adlai: sure, although i'd hope that (function car) is short enough to be #'eq to (function car) 2020-04-08T15:50:02Z Bike: oh, yeah, if the implementation evaluates it at compile time it can't be dumped 2020-04-08T15:50:04Z adlai: maybe i am just an inveterate optimist. 2020-04-08T15:50:17Z jmercouris: I'm an invertebrate optimist 2020-04-08T15:50:37Z jmercouris: you may not know this, but I am a trilobyte 2020-04-08T15:50:50Z orivej quit (Ping timeout: 256 seconds) 2020-04-08T15:50:51Z jmercouris: s/trilobyte/trilobite 2020-04-08T15:52:44Z _death: currently we're troglodytes 2020-04-08T15:55:40Z jmercouris: lol 2020-04-08T15:56:35Z jmercouris: anyone have any document classification in CL? 2020-04-08T15:56:40Z jmercouris: anyone done it? 2020-04-08T15:57:11Z jmercouris: I see some old articles on it 2020-04-08T15:57:13Z jmercouris: but no source... 2020-04-08T15:57:27Z splittist: jmercouris: what is document classification? 2020-04-08T15:57:41Z iAmDecim joined #lisp 2020-04-08T15:58:07Z Steinberg2010 joined #lisp 2020-04-08T15:58:08Z lavaflow joined #lisp 2020-04-08T15:58:40Z jmercouris: document classification is concerned with semantic understanding of documents and plotting them in a 2d vector space 2020-04-08T15:58:48Z jmercouris: usually with the idea to group related documents, or determine what they are about 2020-04-08T15:59:35Z jmercouris: what i'm trying to do here is group tabs by content, for example 2020-04-08T15:59:40Z jmercouris: automatically 2020-04-08T16:00:16Z jmercouris: a common/basic example is TF/IDF 2020-04-08T16:00:22Z jmercouris: term frequency, inverse document frequency 2020-04-08T16:00:38Z Kundry_Wag quit (Remote host closed the connection) 2020-04-08T16:00:39Z jmercouris: https://en.wikipedia.org/wiki/Tf%E2%80%93idf 2020-04-08T16:00:52Z jmercouris: you can use that to figure out what terms are relevant in the document, and cluster that in a space, for example 2020-04-08T16:01:04Z Kundry_Wag joined #lisp 2020-04-08T16:01:07Z jmercouris: there are a variety of clustering techniques as well... 2020-04-08T16:01:09Z splittist: apart from semi-randomly shuffling my tabs, what other uses could there be? 2020-04-08T16:01:22Z jmercouris: it's not semi-random 2020-04-08T16:01:35Z pjb: jmercouris: cf cliki! 2020-04-08T16:01:38Z jmercouris: let's say you are cooking right 2020-04-08T16:01:44Z jmercouris: and you have 50 tabs open about foods 2020-04-08T16:01:56Z jmercouris: you want to find all your tabs that are related to vegan food or something 2020-04-08T16:02:00Z pjb: jmercouris: https://cliki.net/site/search?query=clarification 2020-04-08T16:02:24Z jmercouris: pjb: ? 2020-04-08T16:02:31Z jcowan: When people ask me if I use emacs or vi, I reply that I am an "ex" troglodyte (not to be confused with an ex-troglodyte) 2020-04-08T16:02:53Z _death: jmercouris: check out montezuma 2020-04-08T16:02:58Z dlowe: but ed is the standard editor 2020-04-08T16:03:00Z adlai: jmercouris, why must the output space be dodimensional? 2020-04-08T16:03:02Z jcowan: There are 5m troglodytes in China today, some with running water and even electricity 2020-04-08T16:03:18Z Cymew quit (Ping timeout: 256 seconds) 2020-04-08T16:03:33Z pjb: There are also a few of them in Spain. 2020-04-08T16:03:42Z pjb: No need to go as far as China… 2020-04-08T16:04:03Z jmercouris: _death: I like! 2020-04-08T16:04:14Z Steinberg2010 quit (Ping timeout: 246 seconds) 2020-04-08T16:04:15Z jmercouris: I'll make a protocol/interface for this, and first use montezuma 2020-04-08T16:04:20Z jmercouris: but I'll probably end up making my own 2020-04-08T16:04:29Z jmercouris: adlai: so that it can be clustered 2020-04-08T16:04:40Z adlai: k-means etc work in arbitrary dimensions 2020-04-08T16:04:55Z jmercouris: adlai: it doesn't have to be a 2d space, you're right 2020-04-08T16:05:06Z jmercouris: adlai: it must be at LEAST 2 dimensional though 2020-04-08T16:05:13Z adlai: clustering on a flat screen is mainly useful for people who like to criticise the output of an artificial neural network 2020-04-08T16:05:20Z jmercouris: lol 2020-04-08T16:05:24Z jmercouris: or when your data is sparse 2020-04-08T16:05:26Z t3hyoshi joined #lisp 2020-04-08T16:05:26Z _death: here's an old tfidf from some years ago https://gist.github.com/death/84c57eb0811421c1c51bf63f2fd716fd 2020-04-08T16:05:33Z jmercouris: when you find yourself adding more and more dimensions, good luck getting good clusters 2020-04-08T16:05:41Z Bike: what i should have said yesterday was that special operators don't express anything about inter-operator dependence - which i don't think would be very useful anyway - but express what a code walker has to know 2020-04-08T16:05:49Z Bike: code walking is hard/impossible in lisp for other reasons, unfortunately 2020-04-08T16:06:25Z jmercouris: adlai: also k means requires you to know how many clusters there are 2020-04-08T16:06:55Z jmercouris: my favorite clustering is db scan 2020-04-08T16:07:25Z jmercouris: because I don't like to make ANY assumptions about the document space 2020-04-08T16:07:34Z Necktwi quit (Ping timeout: 240 seconds) 2020-04-08T16:07:40Z jmercouris: sure I'll make assumptions about the max distance between nodes etc... 2020-04-08T16:07:42Z _death: dbscan is nice, but slow 2020-04-08T16:07:43Z jmercouris: but even that can be self tuning 2020-04-08T16:07:45Z jasom: Hmm, it would probably be possible to make a working CL code-walker 2020-04-08T16:07:54Z adlai: jmercouris, my reason for skepticism about clustering within 2d spaces is that there are much stricter bounds on planar graph colorings 2020-04-08T16:08:21Z jasom: If you made canonical expansions of all macros and special-forms in the spec, kind of like fare-quasiquote does for the ` reader macro 2020-04-08T16:08:29Z Bike quit (Read error: Connection reset by peer) 2020-04-08T16:08:33Z _death: jmercouris: dbscan requires a metric, so you're making assumptions 2020-04-08T16:08:41Z jmercouris: yeah I know 2020-04-08T16:08:44Z jmercouris: thats what I mentioned about above 2020-04-08T16:08:44Z Bike joined #lisp 2020-04-08T16:08:58Z jmercouris: still, far better than assuming amount of clusters 2020-04-08T16:09:09Z jmercouris: unless we are making a program called strawberry or not strawberry 2020-04-08T16:09:13Z jmercouris: in which case sure, we can use k means lol 2020-04-08T16:09:51Z Bike: _death: things like sbcl's named-lambda screw it up. probably other stuff, i haven't tried writing a portable walker myself 2020-04-08T16:10:21Z jmercouris: adlai: understood 2020-04-08T16:10:37Z jmercouris: anyways, I'll try to utilize montezuma with some sort of interface first, that's a nice start 2020-04-08T16:11:17Z _death: Bike: yeah.. maybe a portable walker must be extensible 2020-04-08T16:13:28Z jcowan: dlowe: I am willing to trade a little standardosity for a little convenience. 2020-04-08T16:14:28Z jcowan: I do use ed occasionally to work around bugs in vim, like its inability to substitute a pattern with a replacement containing a newline (you get a NUL instead) or the way that vim farts on very large files. 2020-04-08T16:15:28Z jmercouris: emacs has a VLF 2020-04-08T16:15:38Z jmercouris: https://github.com/m00natic/vlfi 2020-04-08T16:16:38Z jasom: jcowan: vim totally lets you substitute a pattern with a replacement containing a newline? 2020-04-08T16:16:53Z jcowan: in ex mode? 2020-04-08T16:16:58Z jcowan: s/foo/bar\ 2020-04-08T16:17:18Z jcowan: baz/ does not work, you end up with a line "opening bar^@baz closing" 2020-04-08T16:17:33Z jcowan: this is a very very longstanding bug 2020-04-08T16:18:12Z jcowan: At least vim 7.0 fixed the bug whereby undo in ex mode would rewind you to the last time you were in vi mode, which in my case is the beginning of editing! 2020-04-08T16:18:37Z beach: How is all this related to Common Lisp? 2020-04-08T16:19:08Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-08T16:22:48Z gko quit (Ping timeout: 265 seconds) 2020-04-08T16:23:00Z edgar-rft: Everything is related to Common Lisp, but most of it is not conforming. 2020-04-08T16:23:05Z dlowe: ... when editing common lisp code 2020-04-08T16:27:04Z pjb: Well, I already have an ed(1) in CL. Somebody could extend it to make it a vi(1), but indeed, it would require non-conforming libraries… 2020-04-08T16:27:34Z pjb: On the other hand, the problem mentionned above is in the regexp library, so this can be implemented and corrected conformingly. 2020-04-08T16:31:38Z z147 joined #lisp 2020-04-08T16:50:18Z iAmDecim joined #lisp 2020-04-08T16:53:28Z dreamcompiler joined #lisp 2020-04-08T16:54:34Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-08T16:55:56Z terpri joined #lisp 2020-04-08T16:56:18Z dreamcompiler quit (Client Quit) 2020-04-08T16:59:11Z jasom: pjb: you could implement emacs in CL, and then just use evil-mode to get vim 2020-04-08T17:01:23Z ggole quit (Quit: Leaving) 2020-04-08T17:03:37Z jcowan: pjb: pointer? 2020-04-08T17:13:01Z dlowe: jasom: someone tried this but was unable to get sufficient buy-in 2020-04-08T17:15:10Z asarch joined #lisp 2020-04-08T17:15:22Z joels joined #lisp 2020-04-08T17:16:32Z flip214: jcowan: is vim 7 still relevant? there's vim 8.2.0510, and neovim... 2020-04-08T17:16:56Z jcowan: vim 6 and before: bug. Vim 7 and after: no bug 2020-04-08T17:17:35Z jcowan: I sent Bram Molenaar a Google peer award for releasig vim 7 while we were both working there 2020-04-08T17:18:15Z pjb: jcowan: https://github.com/informatimago/lisp/tree/master/common-lisp/ed 2020-04-08T17:18:40Z pjb: jcowan: unfortunately, I haven't completed my regexp library. You will have to hook it to cl-ppcre. 2020-04-08T17:19:08Z asarch: ed! 2020-04-08T17:20:03Z eta: is the standard text editor? 2020-04-08T17:20:05Z jcowan: LGTM. I want to use it as a library: would you consider dual licensing under the LGPL? 2020-04-08T17:21:13Z pjb: No, I will stay with AGPL3 for the foreseable future. You might get lucky, and find an old version licensed under LGPL, but I don't distribute it anymore. 2020-04-08T17:22:39Z asarch: sam! 2020-04-08T17:24:44Z Inline quit (Ping timeout: 246 seconds) 2020-04-08T17:25:27Z asarch: wily! 2020-04-08T17:26:30Z iAmDecim joined #lisp 2020-04-08T17:28:21Z Bourne joined #lisp 2020-04-08T17:28:21Z xuxuru joined #lisp 2020-04-08T17:30:45Z v0|d` joined #lisp 2020-04-08T17:32:06Z v0|d quit (Ping timeout: 265 seconds) 2020-04-08T17:43:13Z v0|d` quit (Ping timeout: 265 seconds) 2020-04-08T17:49:19Z asarch quit (Quit: Leaving) 2020-04-08T17:51:00Z wsinatra quit (Quit: WeeChat 2.7) 2020-04-08T17:51:05Z cracauer joined #lisp 2020-04-08T17:52:43Z chipolux joined #lisp 2020-04-08T17:53:43Z revtintin quit (Quit: WeeChat 1.9.1) 2020-04-08T17:54:12Z gravicappa joined #lisp 2020-04-08T17:55:33Z jmercouris quit (Ping timeout: 250 seconds) 2020-04-08T17:57:16Z EvW joined #lisp 2020-04-08T17:58:34Z karlosz joined #lisp 2020-04-08T18:07:37Z Inline joined #lisp 2020-04-08T18:20:55Z splittist: bravo! 2020-04-08T18:21:42Z jcowan: I like sam, but I think its command mode could use a few improvements 2020-04-08T18:21:49Z jcowan: I've never used acme/wiley seriously 2020-04-08T18:23:57Z jcowan: https://github.com/deadpixi/sam/issues/96 is a list of proposed improvements 2020-04-08T18:24:11Z jcowan: I also have some ideas for making ex more like sam: 2020-04-08T18:24:18Z loli joined #lisp 2020-04-08T18:24:48Z jcowan: or rather for an upward compatible extension to ex 2020-04-08T18:24:49Z jcowan: https://github.com/johnwcowan/exx/blob/master/exx/exx-features.txt 2020-04-08T18:25:02Z jcowan: exx of course stands for "ex extended" 2020-04-08T18:31:04Z ayuce quit (Remote host closed the connection) 2020-04-08T18:40:43Z Inline quit (Quit: Leaving) 2020-04-08T18:45:52Z CrazyEddy quit (Ping timeout: 265 seconds) 2020-04-08T18:47:30Z ark quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-04-08T18:47:41Z ark joined #lisp 2020-04-08T18:51:10Z CrazyEddy joined #lisp 2020-04-08T18:54:32Z ayuce joined #lisp 2020-04-08T18:58:11Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-08T19:00:25Z neeasade joined #lisp 2020-04-08T19:08:37Z buffergn0me joined #lisp 2020-04-08T19:08:54Z Steinberg2010 joined #lisp 2020-04-08T19:10:02Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-08T19:19:03Z iAmDecim joined #lisp 2020-04-08T19:29:39Z lavaflow_ joined #lisp 2020-04-08T19:29:57Z lavaflow_ quit (Client Quit) 2020-04-08T19:31:29Z lavaflow quit (Ping timeout: 265 seconds) 2020-04-08T19:34:33Z lavaflow joined #lisp 2020-04-08T19:39:28Z lavaflow quit (Quit: WeeChat 2.7.1) 2020-04-08T19:39:42Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-08T19:40:23Z lavaflow joined #lisp 2020-04-08T19:40:56Z dddddd_ joined #lisp 2020-04-08T19:41:29Z thonkpod quit (Quit: WeeChat 2.4) 2020-04-08T19:42:54Z dddddd quit (Ping timeout: 240 seconds) 2020-04-08T19:43:01Z dddddd_ is now known as dddddd 2020-04-08T19:45:09Z Inline joined #lisp 2020-04-08T19:48:06Z efm quit (Quit: Konversation terminated!) 2020-04-08T19:53:01Z joels quit (Ping timeout: 264 seconds) 2020-04-08T19:53:34Z Inline quit (Quit: Leaving) 2020-04-08T19:59:23Z z147 quit (Ping timeout: 240 seconds) 2020-04-08T19:59:44Z cosimone quit (Remote host closed the connection) 2020-04-08T20:00:12Z cosimone joined #lisp 2020-04-08T20:03:30Z iAmDecim joined #lisp 2020-04-08T20:05:59Z Inline joined #lisp 2020-04-08T20:06:07Z msk joined #lisp 2020-04-08T20:06:50Z msk_ quit (Ping timeout: 258 seconds) 2020-04-08T20:07:57Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-04-08T20:09:58Z dvdmuckle joined #lisp 2020-04-08T20:14:51Z xuxuru quit (Quit: xuxuru) 2020-04-08T20:17:00Z Codaraxis_ quit (Remote host closed the connection) 2020-04-08T20:18:24Z Codaraxis_ joined #lisp 2020-04-08T20:20:14Z shangul quit (Ping timeout: 256 seconds) 2020-04-08T20:24:15Z choegusung joined #lisp 2020-04-08T20:24:15Z choegusung quit (Client Quit) 2020-04-08T20:27:36Z ski quit (Ping timeout: 256 seconds) 2020-04-08T20:29:02Z narimiran quit (Quit: leaving) 2020-04-08T20:32:23Z EvW quit (Ping timeout: 265 seconds) 2020-04-08T20:35:35Z EvW joined #lisp 2020-04-08T20:37:22Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-08T20:44:36Z buffergn0me joined #lisp 2020-04-08T20:47:17Z z147 joined #lisp 2020-04-08T20:52:21Z pve quit (Quit: leaving) 2020-04-08T21:02:19Z gravicappa quit (Ping timeout: 250 seconds) 2020-04-08T21:02:51Z holycow joined #lisp 2020-04-08T21:06:46Z lxbarbosa joined #lisp 2020-04-08T21:08:08Z ukari quit (Remote host closed the connection) 2020-04-08T21:08:49Z ukari joined #lisp 2020-04-08T21:08:49Z ayuce quit (Read error: Connection reset by peer) 2020-04-08T21:09:18Z ayuce joined #lisp 2020-04-08T21:20:49Z Posterdati quit (Ping timeout: 258 seconds) 2020-04-08T21:24:03Z vert2 quit (Ping timeout: 260 seconds) 2020-04-08T21:24:09Z v0|d joined #lisp 2020-04-08T21:24:24Z Tordek quit (Ping timeout: 265 seconds) 2020-04-08T21:25:47Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-08T21:28:26Z ahungry quit (Remote host closed the connection) 2020-04-08T21:33:45Z Lord_of_Life_ joined #lisp 2020-04-08T21:34:02Z Posterdati joined #lisp 2020-04-08T21:36:34Z Codaraxis__ joined #lisp 2020-04-08T21:36:35Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-08T21:36:35Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-08T21:36:44Z z147 quit (Quit: z147) 2020-04-08T21:39:12Z Steinberg2010 quit (Ping timeout: 260 seconds) 2020-04-08T21:39:27Z Codaraxis_ quit (Ping timeout: 260 seconds) 2020-04-08T21:44:30Z spikemaster joined #lisp 2020-04-08T21:51:01Z Kabriel: I am confused why this (format t "~14,6,2,,,,'eE" -9.999999747378752d-5) => -10.000000e-05 instead of -1.000000e-04? 2020-04-08T21:51:34Z Kabriel: pjb tested this on a variety of lisps, and apparently only sbcl and abcl give the wrong answer. 2020-04-08T21:52:29Z vert2 joined #lisp 2020-04-08T21:54:25Z efm joined #lisp 2020-04-08T21:57:35Z Tordek joined #lisp 2020-04-08T22:03:31Z pilne joined #lisp 2020-04-08T22:04:54Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-08T22:05:01Z orivej joined #lisp 2020-04-08T22:07:02Z buffergn0me joined #lisp 2020-04-08T22:10:53Z SGASAU quit (Remote host closed the connection) 2020-04-08T22:11:09Z SGASAU joined #lisp 2020-04-08T22:11:54Z iAmDecim joined #lisp 2020-04-08T22:13:03Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-08T22:14:14Z spikemaster left #lisp 2020-04-08T22:17:25Z shymega quit (Quit: Ciao.) 2020-04-08T22:18:07Z frgo quit (Read error: Connection reset by peer) 2020-04-08T22:18:42Z frgo joined #lisp 2020-04-08T22:21:37Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-08T22:22:22Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-08T22:22:36Z trincadour joined #lisp 2020-04-08T22:23:43Z shymega joined #lisp 2020-04-08T22:24:00Z xuxuru joined #lisp 2020-04-08T22:24:04Z iAmDecim joined #lisp 2020-04-08T22:26:17Z trincadour quit (Quit: trincadour) 2020-04-08T22:28:38Z random-nick quit (Ping timeout: 256 seconds) 2020-04-08T22:31:56Z xuxuru quit (Quit: xuxuru) 2020-04-08T22:33:05Z SGASAU quit (Remote host closed the connection) 2020-04-08T22:33:37Z SGASAU joined #lisp 2020-04-08T22:41:23Z efm quit (Remote host closed the connection) 2020-04-08T22:41:35Z shifty joined #lisp 2020-04-08T22:44:19Z efm joined #lisp 2020-04-08T22:44:38Z monokrom quit (Remote host closed the connection) 2020-04-08T22:45:18Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-08T22:46:31Z SGASAU quit (Remote host closed the connection) 2020-04-08T22:47:03Z SGASAU joined #lisp 2020-04-08T22:47:14Z shifty quit (Ping timeout: 265 seconds) 2020-04-08T22:47:33Z shifty joined #lisp 2020-04-08T22:48:21Z efm quit (Read error: Connection reset by peer) 2020-04-08T22:51:48Z cosimone quit (Quit: Quit.) 2020-04-08T22:58:25Z SGASAU quit (Remote host closed the connection) 2020-04-08T22:58:43Z SGASAU joined #lisp 2020-04-08T23:00:46Z torbo joined #lisp 2020-04-08T23:01:38Z gxt quit (Remote host closed the connection) 2020-04-08T23:02:45Z gxt joined #lisp 2020-04-08T23:05:18Z efm joined #lisp 2020-04-08T23:07:38Z SGASAU quit (Remote host closed the connection) 2020-04-08T23:08:06Z SGASAU joined #lisp 2020-04-08T23:12:51Z shifty quit (Ping timeout: 265 seconds) 2020-04-08T23:13:44Z shifty joined #lisp 2020-04-08T23:15:13Z iAmDecim joined #lisp 2020-04-08T23:19:47Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-08T23:26:09Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-08T23:26:40Z quazimodo quit (Ping timeout: 256 seconds) 2020-04-08T23:28:01Z SGASAU quit (Remote host closed the connection) 2020-04-08T23:28:30Z quazimodo joined #lisp 2020-04-08T23:29:02Z SGASAU joined #lisp 2020-04-08T23:39:29Z igemnace quit (Quit: WeeChat 2.8) 2020-04-08T23:44:11Z eck quit (Quit: WeeChat 2.7.1) 2020-04-08T23:44:40Z eck joined #lisp 2020-04-08T23:55:23Z lxbarbosa quit (Ping timeout: 265 seconds) 2020-04-09T00:01:13Z Kundry_W_ joined #lisp 2020-04-09T00:03:49Z iAmDecim joined #lisp 2020-04-09T00:04:30Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-04-09T00:06:53Z efm quit (Remote host closed the connection) 2020-04-09T00:08:20Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-09T00:10:03Z Oladon joined #lisp 2020-04-09T00:12:25Z efm_ joined #lisp 2020-04-09T00:15:25Z jcowan: Kabriel: Is it actually *wrong*? 2020-04-09T00:17:55Z ukari quit (Ping timeout: 265 seconds) 2020-04-09T00:18:02Z jellopudding joined #lisp 2020-04-09T00:25:16Z jellopudding quit (Read error: Connection reset by peer) 2020-04-09T00:25:42Z jellopudding joined #lisp 2020-04-09T00:25:54Z dlowe: yeah, it's non-conforming 2020-04-09T00:29:25Z SGASAU quit (Remote host closed the connection) 2020-04-09T00:29:55Z SGASAU joined #lisp 2020-04-09T00:30:40Z jellopudding quit (Quit: Quit Client) 2020-04-09T00:34:50Z buffergn0me joined #lisp 2020-04-09T00:38:04Z cylb joined #lisp 2020-04-09T00:39:27Z renzhi joined #lisp 2020-04-09T00:42:50Z SGASAU quit (Remote host closed the connection) 2020-04-09T00:43:17Z SGASAU joined #lisp 2020-04-09T00:50:01Z shifty quit (Ping timeout: 264 seconds) 2020-04-09T00:52:03Z torbo quit (Remote host closed the connection) 2020-04-09T01:04:41Z bitmapper quit (Ping timeout: 258 seconds) 2020-04-09T01:18:03Z ahungry joined #lisp 2020-04-09T01:19:07Z EvW quit (Ping timeout: 260 seconds) 2020-04-09T01:20:47Z Kundry_W_ quit (Ping timeout: 258 seconds) 2020-04-09T01:21:49Z Josh_2 quit (Ping timeout: 264 seconds) 2020-04-09T01:25:14Z Oladon quit (Quit: Leaving.) 2020-04-09T01:29:44Z aeth: Maybe bring it up in #sbcl 2020-04-09T01:29:50Z iAmDecim joined #lisp 2020-04-09T01:31:15Z Steinberg2010 joined #lisp 2020-04-09T01:31:46Z watkinsr quit (Read error: Connection reset by peer) 2020-04-09T01:32:03Z Krystof quit (Ping timeout: 265 seconds) 2020-04-09T01:35:11Z SGASAU quit (Remote host closed the connection) 2020-04-09T01:35:46Z SGASAU joined #lisp 2020-04-09T01:35:52Z Kundry_Wag joined #lisp 2020-04-09T01:36:04Z Kundry_Wag quit (Remote host closed the connection) 2020-04-09T01:36:31Z Kundry_Wag joined #lisp 2020-04-09T01:37:24Z thonkpod_ joined #lisp 2020-04-09T01:37:50Z ayuce quit (Remote host closed the connection) 2020-04-09T01:38:52Z thonkpod_ is now known as thonkpod 2020-04-09T01:42:36Z thonkpod quit (Quit: WeeChat 2.6) 2020-04-09T01:42:54Z thonkpod_ joined #lisp 2020-04-09T01:43:55Z Oladon joined #lisp 2020-04-09T01:44:41Z SGASAU quit (Remote host closed the connection) 2020-04-09T01:45:11Z SGASAU joined #lisp 2020-04-09T01:46:38Z Steinberg2010 quit (Ping timeout: 246 seconds) 2020-04-09T01:47:41Z thonkpod_ is now known as thonkpod 2020-04-09T01:48:48Z karlosz_ joined #lisp 2020-04-09T01:48:58Z karlosz quit (Ping timeout: 265 seconds) 2020-04-09T01:49:14Z karlosz_ is now known as karlosz 2020-04-09T01:51:25Z efm_ quit (Quit: Konversation terminated!) 2020-04-09T01:51:46Z efm joined #lisp 2020-04-09T01:54:07Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-09T02:07:58Z holycow: hi all. i am trying to install weblocks-skeleton from here 2020-04-09T02:08:25Z holycow: why i run lake migrate . i get the following error: Symbol "SYSTEM-VERSION" not found in the ASDF/INTERFACE package 2020-04-09T02:08:42Z holycow: i suspect there is a conflict with asdf and roswell that i create at some point. 2020-04-09T02:09:29Z holycow: can anyone point to resources online that i can read about HOW roswell and asdf work / interact with each other or the host environment? 2020-04-09T02:09:47Z holycow: i cannot find a 10 000 foot perspective on either system via google 2020-04-09T02:16:25Z cylb quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-09T02:19:57Z shinohai quit (Ping timeout: 250 seconds) 2020-04-09T02:27:59Z bendersteed quit (Read error: Connection reset by peer) 2020-04-09T02:38:34Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-09T02:47:09Z SGASAU quit (Remote host closed the connection) 2020-04-09T02:47:26Z SGASAU joined #lisp 2020-04-09T02:50:06Z ahungry: Are you familiar with nodejs/npm at all? asdf (another system definition facility) is a way to define packages, similar to package.json in node land. Quicklisp which you didn't mention is like npm - the tool to pull in remote dependencies for asdf to load. Roswell is closest to nvm I think (node version manager) - it wraps up all the lisp stuff into a ~/.roswell directory 2020-04-09T02:50:46Z buffergn0me joined #lisp 2020-04-09T02:59:50Z Codaraxis__ quit (Remote host closed the connection) 2020-04-09T03:00:40Z Codaraxis__ joined #lisp 2020-04-09T03:02:17Z beach: Good morning everyone! 2020-04-09T03:04:11Z alandipert: hi beach 2020-04-09T03:08:03Z iAmDecim joined #lisp 2020-04-09T03:12:39Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-09T03:16:57Z Bike quit (Quit: Lost terminal) 2020-04-09T03:24:39Z Jeanne-Kamikaze joined #lisp 2020-04-09T03:25:30Z terpri quit (Remote host closed the connection) 2020-04-09T03:25:52Z terpri joined #lisp 2020-04-09T03:28:35Z holycow: thanks ahungry 2020-04-09T03:36:58Z no-defun-allowed: Maybe offtopic, but what's the best practice if I want to store upwards of 10,000 binary files (addressed by hash of contents)? Filesystems usually don't perform as well as usual when you use directories with that many tiles. 2020-04-09T03:39:49Z shifty joined #lisp 2020-04-09T03:40:27Z holycow: 10k files in a folder shoudln't be a problem for ext4 2020-04-09T03:40:47Z holycow: maybe millions of files and then you start to see performance degredation 2020-04-09T03:41:02Z no-defun-allowed: Right. 2020-04-09T03:42:11Z iAmDecim joined #lisp 2020-04-09T03:42:16Z holycow: oh, upwards of ... 2020-04-09T03:42:19Z holycow: sorry i misread 2020-04-09T03:42:31Z holycow quit (Quit: Lost terminal) 2020-04-09T03:43:00Z msk quit (Ping timeout: 258 seconds) 2020-04-09T03:43:09Z holycow joined #lisp 2020-04-09T03:43:36Z no-defun-allowed: I'm thinking around 10^4 to 10^6 files. 2020-04-09T03:45:09Z holycow: well, i have run email servers with more files than that but they have all subdivided the attachments into subdirs 2020-04-09T03:45:21Z holycow: i don't know if i have ever had a single folder with that many files 2020-04-09T03:46:05Z holycow: i am just waisting your time, my apologies. i don't have any useful information for you. i just misread your original question and was curious. 2020-04-09T03:46:37Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-09T03:46:47Z no-defun-allowed: You're not wasting my time; I don't even have useless information to work with. 2020-04-09T03:47:07Z no-defun-allowed: ...or can I manipulate binary data from CLSQL somehow? 2020-04-09T03:52:54Z holycow: well, you know, even the base linux system has thousands if not millions of files 2020-04-09T03:53:07Z buffergn0me: no-defun-allowed: You can organize the files into sub-directories named after one or more digits in the hash. Should be pretty uniform. 2020-04-09T03:53:11Z holycow: my home nas machines have hundreds of million 2020-04-09T03:53:27Z no-defun-allowed: buffergn0me: Sure. 2020-04-09T03:53:39Z holycow: none of them seem to suffer in any way because they are all in subdirs 2020-04-09T03:54:32Z holycow: i would say it does kind of depend on how big your files are and what kind of post processing you need to do. large files will force you into the obvious answer, how many small files will give you some room to play with 2020-04-09T03:54:47Z pilne quit (Quit: Few women admit their age. Few men act theirs.) 2020-04-09T04:08:07Z nydel quit (Changing host) 2020-04-09T04:08:07Z nydel joined #lisp 2020-04-09T04:09:56Z choegusung joined #lisp 2020-04-09T04:10:10Z choegusung quit (Client Quit) 2020-04-09T04:15:46Z vlatkoB joined #lisp 2020-04-09T04:19:44Z narimiran joined #lisp 2020-04-09T04:20:32Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-09T04:22:55Z revtintin joined #lisp 2020-04-09T04:22:58Z EvW joined #lisp 2020-04-09T04:30:44Z slyrus joined #lisp 2020-04-09T04:32:48Z hhdave_ joined #lisp 2020-04-09T04:33:18Z renzhi quit (Ping timeout: 265 seconds) 2020-04-09T04:33:55Z wheelsucker quit (Remote host closed the connection) 2020-04-09T04:34:47Z hhdave quit (Ping timeout: 260 seconds) 2020-04-09T04:34:47Z hhdave_ is now known as hhdave 2020-04-09T04:36:01Z revtintin quit (Ping timeout: 250 seconds) 2020-04-09T04:36:15Z akoana joined #lisp 2020-04-09T04:39:55Z Necktwi joined #lisp 2020-04-09T04:48:22Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-09T04:53:04Z narimiran quit (Ping timeout: 256 seconds) 2020-04-09T04:56:56Z revtintin joined #lisp 2020-04-09T05:01:38Z Oladon quit (Quit: Leaving.) 2020-04-09T05:04:17Z q-u-a-n22 joined #lisp 2020-04-09T05:04:58Z narimiran joined #lisp 2020-04-09T05:07:25Z q-u-a-n2 quit (Ping timeout: 264 seconds) 2020-04-09T05:23:58Z gko joined #lisp 2020-04-09T05:25:30Z EvW quit (Ping timeout: 265 seconds) 2020-04-09T05:25:44Z Inline quit (Quit: Leaving) 2020-04-09T05:27:56Z ahungry quit (Read error: Connection reset by peer) 2020-04-09T05:34:02Z gravicappa joined #lisp 2020-04-09T05:37:40Z revtintin quit (Ping timeout: 256 seconds) 2020-04-09T05:37:57Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-04-09T05:40:06Z flip214: no-defun-allowed: while 2^20 files ain't that many, having them in a single directory is a bad idea - lookup performance and all that stuff. 2020-04-09T05:40:18Z no-defun-allowed: flip214: Yeah, that's my concern. 2020-04-09T05:40:39Z flip214: I'd suggest keeping 3 or 4 levels of 8-bit divisions, that should bring the last level down to a good number. 2020-04-09T05:40:47Z no-defun-allowed: (And, well, that SQL can be run over a network trivially, whereas a filesystem is a little less portable.) 2020-04-09T05:40:51Z flip214: which filesystem are you using? 2020-04-09T05:40:51Z no-defun-allowed: Right. 2020-04-09T05:41:35Z no-defun-allowed: btrfs, but I would expect a client to use ext4 if they use a Linux system. 2020-04-09T05:41:45Z holycow: oooooohhhhh 2020-04-09T05:41:46Z holycow: dude 2020-04-09T05:41:57Z flip214: no-defun-allowed: btrfs should be fine (IMO) 2020-04-09T05:42:03Z holycow: did you read up on btrfs on forums? 2020-04-09T05:42:21Z holycow: let me find a lnk 2020-04-09T05:42:22Z flip214: which kernel version? 2020-04-09T05:42:24Z no-defun-allowed: I can't remember, I formatted /home about five years ago. 2020-04-09T05:42:30Z no-defun-allowed: No, it hasn't eaten my data. 2020-04-09T05:42:38Z holycow: oh it will 2020-04-09T05:43:09Z no-defun-allowed: And it hasn't for the last five years? 2020-04-09T05:44:50Z holycow: there is an arch page somewhere with red sections all over warning about bugs and features that don't work properly 2020-04-09T05:44:56Z no-defun-allowed: ...one of them. 5.3...ish? 2020-04-09T05:45:21Z holycow: just trying to find the link for you to read, i can't remember where i foudn it 2020-04-09T05:45:46Z no-defun-allowed: The btrfs status page says everything I do is stable. 2020-04-09T05:45:57Z holycow: zfs is stable 2020-04-09T05:46:08Z holycow: btrfs shouldn't even be considered a file system 2020-04-09T05:46:22Z flip214: no-defun-allowed: I guess something recent will be good enough. I've had a few problems in the 4. aera, but none since then. 2020-04-09T05:47:04Z holycow: anyway my opinion is not important :) looking for something for you to review 2020-04-09T05:47:11Z no-defun-allowed: I do lament fallocate, but my experience with btrfs is that's a load of shite and it's been rock solid. 2020-04-09T05:49:09Z andrzejku joined #lisp 2020-04-09T05:49:13Z andrzejku: hejo 2020-04-09T05:49:51Z no-defun-allowed: holycow: And I did read that page five years ago and did an analysis. Still sounds quite stable. 2020-04-09T05:49:59Z holycow: oh, aha! 2020-04-09T05:50:04Z holycow: okay then :) 2020-04-09T05:51:19Z no-defun-allowed: I don't use some of the advanced features like checkpointing or RAID; but is even more off topic. 2020-04-09T05:52:40Z holycow: i used to replicate datacenters geographically using zfs. i can't go back to anything less and reading that btrfs arch writeup scared teh crap out of me. i could never use anything like that. 2020-04-09T05:56:36Z revtintin joined #lisp 2020-04-09T05:56:40Z no-defun-allowed: Offsite backups are probably excessive for my /home filesystem. 2020-04-09T05:56:46Z holycow: looks like synology and suse use btrfs 2020-04-09T05:56:47Z holycow: huh 2020-04-09T05:57:18Z holycow: i could never ever use a file system where i've read users loowing entire datasets using simple file system management tools 2020-04-09T05:58:29Z shangul joined #lisp 2020-04-09T05:58:43Z holycow: yeah, no, you are actually correct. you have to match the solution to your needs and risk comfort level 2020-04-09T06:00:49Z iAmDecim joined #lisp 2020-04-09T06:05:06Z JohnMS_WORK joined #lisp 2020-04-09T06:05:36Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-09T06:06:13Z revtintin quit (Ping timeout: 264 seconds) 2020-04-09T06:11:30Z revtintin joined #lisp 2020-04-09T06:12:30Z adam4567 joined #lisp 2020-04-09T06:12:35Z Cymew joined #lisp 2020-04-09T06:23:37Z revtintin quit (Ping timeout: 264 seconds) 2020-04-09T06:28:22Z revtintin joined #lisp 2020-04-09T06:28:56Z beach: Hello andrzejku. 2020-04-09T06:29:53Z beach: andrzejku: Are you new here? I don't recognize your nick. 2020-04-09T06:35:07Z iAmDecim joined #lisp 2020-04-09T06:38:49Z SGASAU quit (Remote host closed the connection) 2020-04-09T06:39:02Z revtintin quit (Ping timeout: 256 seconds) 2020-04-09T06:39:08Z SGASAU joined #lisp 2020-04-09T06:39:49Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-09T06:41:34Z SGASAU quit (Remote host closed the connection) 2020-04-09T06:41:52Z SGASAU joined #lisp 2020-04-09T06:43:31Z random-nick joined #lisp 2020-04-09T06:49:02Z revtintin joined #lisp 2020-04-09T06:50:10Z holycow quit (Quit: Lost terminal) 2020-04-09T06:51:34Z flip214: COMPILE returns a second and third value for warnings and errors; can I get the conditions that are signalled directly? Something like *debugger-hook*? 2020-04-09T06:52:50Z flip214: ah, HANDLER-CASE does the trick 2020-04-09T07:04:24Z revtintin quit (Ping timeout: 265 seconds) 2020-04-09T07:07:16Z andrzejku: beach, yes 2020-04-09T07:08:45Z hhdave_ joined #lisp 2020-04-09T07:09:25Z hhdave quit (Read error: Connection reset by peer) 2020-04-09T07:09:25Z hhdave_ is now known as hhdave 2020-04-09T07:11:23Z madage quit (Ping timeout: 240 seconds) 2020-04-09T07:11:42Z madage joined #lisp 2020-04-09T07:18:06Z beach: andrzejku: Great! What brings you to #lisp? 2020-04-09T07:21:27Z andrzejku: beach, emm good question, Lisp is in my learning plans 2020-04-09T07:21:39Z andrzejku: or lets say guile I wanted to join guile more 2020-04-09T07:21:57Z beach: Ouch. This group is dedicated to Common Lisp. Sorry! 2020-04-09T07:22:19Z andrzejku: yes, I know 2020-04-09T07:22:30Z andrzejku: had mistaken 2020-04-09T07:24:02Z beach: I think if you learn Common Lisp, you can apply that knowledge to Guile. 2020-04-09T07:25:13Z jprajzne joined #lisp 2020-04-09T07:27:47Z jonatack quit (Ping timeout: 265 seconds) 2020-04-09T07:28:19Z grabarz joined #lisp 2020-04-09T07:29:21Z jonatack joined #lisp 2020-04-09T07:29:28Z jonatack quit (Client Quit) 2020-04-09T07:29:47Z tiwEllien joined #lisp 2020-04-09T07:32:31Z v88m joined #lisp 2020-04-09T07:33:43Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-09T07:37:14Z andrzejku quit (Remote host closed the connection) 2020-04-09T07:38:11Z jonatack joined #lisp 2020-04-09T07:52:57Z arbv quit (Quit: ZNC - https://znc.in) 2020-04-09T08:08:36Z grabarz joined #lisp 2020-04-09T08:10:54Z grabarz quit (Client Quit) 2020-04-09T08:11:10Z dddddd quit (Ping timeout: 256 seconds) 2020-04-09T08:13:20Z eMBee quit (Remote host closed the connection) 2020-04-09T08:13:59Z eMBee joined #lisp 2020-04-09T08:21:07Z Kundry_Wag joined #lisp 2020-04-09T08:24:38Z revtintin joined #lisp 2020-04-09T08:27:36Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-09T08:29:47Z SGASAU quit (Remote host closed the connection) 2020-04-09T08:30:05Z SGASAU joined #lisp 2020-04-09T08:33:08Z heisig joined #lisp 2020-04-09T08:39:11Z pve joined #lisp 2020-04-09T08:41:17Z iAmDecim joined #lisp 2020-04-09T08:53:06Z cosimone joined #lisp 2020-04-09T08:56:59Z dale quit (Quit: My computer has gone to sleep) 2020-04-09T08:59:12Z cosimone quit (Quit: Terminated!) 2020-04-09T09:00:23Z cosimone joined #lisp 2020-04-09T09:00:31Z m00natic joined #lisp 2020-04-09T09:03:06Z arbv joined #lisp 2020-04-09T09:05:43Z revtintin quit (Ping timeout: 265 seconds) 2020-04-09T09:08:07Z karlosz quit (Quit: karlosz) 2020-04-09T09:14:37Z revtintin joined #lisp 2020-04-09T09:16:52Z phoe: the lisp dialects are similar in the beginning, though guile is a scheme and therefore much more functional-programming-oriented 2020-04-09T09:17:01Z phoe: whereas CL is multi-paradigm 2020-04-09T09:18:08Z phoe: once you know the basics of e.g. how S-expressions work, the evaluation model, lexical environments and lambdas, however, you'll be able to apply to any Lisp dialect with none or few modifications 2020-04-09T09:19:18Z beach: phoe: andrzejku left. 2020-04-09T09:21:21Z beach: phoe: Also, be careful with that kind of information. As I recall, some of the first Scheme standards did not define its operators in terms of the result of READ, but instead as surface syntax, much like other languages. So then (x . (y)) was not equal to (x y). 2020-04-09T09:22:13Z beach: Perhaps that makes Scheme different language altogether, and not a dialect of Lisp, which as we know, is not a well defined term. 2020-04-09T09:24:30Z terpri quit (Remote host closed the connection) 2020-04-09T09:24:50Z terpri joined #lisp 2020-04-09T09:27:31Z phoe: beach: you scared me for a second and I checked on all the scheme dialects I have installed on my machine whether defining stuff with cons notation was working 2020-04-09T09:29:17Z aeth: Scheme just has a lot of undefined behavior, like... the evaluation order. Put side effects in (+ a b c) using begin (their PROGN) and you don't know what order the printing will happen. 2020-04-09T09:30:04Z aeth: But the worst part is a lot of Schemes just return # or # in such cases, e.g. (if #f 42) 2020-04-09T09:30:38Z aeth: It's IMO way more reliable that CL returns NIL with (if nil 42) even if that's still bad style. 2020-04-09T09:31:07Z flazh quit (Ping timeout: 260 seconds) 2020-04-09T09:31:36Z aeth: What I like about everything being an expression in CL is that you don't really get entirely useless things unless someone goes out of their way to return (values) 2020-04-09T09:33:01Z Shinmera: I've come to really, really appreciate the methodology of always returning /something/ even if an operation is for side effects. 2020-04-09T09:34:14Z phoe: aeth: and (values) naturally turn into NIL if someone tries to use them anywhere except for multiple-value-* calls 2020-04-09T09:34:46Z andrzejku joined #lisp 2020-04-09T09:34:52Z Lord_of_Life_ joined #lisp 2020-04-09T09:34:58Z aeth: just multiple-value-call or multiple-value-list iirc. Well, I mean, the latter gives you NIL, but you'd expect (NIL) 2020-04-09T09:35:01Z andrzejku: beach, thnks for advice 2020-04-09T09:36:26Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-04-09T09:36:26Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-09T09:36:42Z aeth: For the most part, Scheme is basically just what you get if you wrap CL up in continuation passing style, though. This, of course, has quite a few implications. 2020-04-09T09:37:50Z beach: phoe: They may have changed it in later standards. 2020-04-09T09:37:58Z beach: andrzejku: Sure. 2020-04-09T09:40:55Z revtintin quit (Ping timeout: 260 seconds) 2020-04-09T09:42:38Z flazh joined #lisp 2020-04-09T09:47:55Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-09T09:48:03Z terpri quit (Remote host closed the connection) 2020-04-09T09:48:22Z terpri joined #lisp 2020-04-09T09:49:53Z iAmDecim joined #lisp 2020-04-09T09:52:10Z andrzejku: I am quite impressed by https://github.com/atlas-engineer/next 2020-04-09T09:52:23Z andrzejku: very tiny Lisp browser ;D 2020-04-09T09:54:15Z beach: andrzejku: I believe that's the one written by jmercouris. 2020-04-09T09:54:48Z beach: andrzejku: And I also think it is mostly a Common Lisp wrapper around something called "webkit" or something like that. 2020-04-09T09:54:54Z andrzejku: beach, I wonder which UI framework is used here 2020-04-09T09:55:02Z andrzejku: ahh thats for sure 2020-04-09T09:55:05Z andrzejku: but which one 2020-04-09T09:55:18Z beach: Sorry, don't know. You had better ask jmercouris. 2020-04-09T09:57:11Z no-defun-allowed: I believe it uses Gtk and the Webkit browser engine. 2020-04-09T09:58:13Z revtintin joined #lisp 2020-04-09T09:59:30Z terpri quit (Remote host closed the connection) 2020-04-09T10:00:03Z terpri joined #lisp 2020-04-09T10:00:54Z andrzejku: by the way where Lisp is mostly used in web? 2020-04-09T10:01:12Z no-defun-allowed: Servers? 2020-04-09T10:03:16Z beach: andrzejku: Are you asking where Lisp is mostly use, and if that happens to be for web stuff? 2020-04-09T10:03:27Z beach: I don't think you will find a niche use for it like that. 2020-04-09T10:03:56Z andrzejku: beach, yup 2020-04-09T10:04:30Z terpri quit (Remote host closed the connection) 2020-04-09T10:04:38Z andrzejku: beach, ok I get it 2020-04-09T10:04:50Z terpri joined #lisp 2020-04-09T10:05:41Z aeth: Professionally? Probably still AI (but much less important relative to the industry than in 1990) with a bit of web. Hobbyist? The largest niche community is probably gamedev. 2020-04-09T10:06:08Z aeth: Few actually publish their games, but many attempt to make them. :-) 2020-04-09T10:06:26Z no-defun-allowed: I don't think Lisp is one of those languages which is assigned a particular domain (unless you think of Lisp-the-paper Lisp, which is pretty much another mode of computation that is kind of lambda calculus but not really lambda calculus). 2020-04-09T10:08:11Z aeth: Few languages have one specific niche and no other niche. Few languages aren't used in web programming, too. 2020-04-09T10:08:30Z no-defun-allowed: JavaScript for the former? 2020-04-09T10:08:34Z aeth: It's one of those things you could find in any new language, just look for the microwebframework that's in the style of Python's Flask or (iirc) Ruby's Sinatra 2020-04-09T10:08:38Z revtintin quit (Ping timeout: 258 seconds) 2020-04-09T10:08:58Z no-defun-allowed: At this rate I've jinksed myself though. 2020-04-09T10:09:20Z aeth: no-defun-allowed: nah, I'm sure someone is trying to write an OS in JavaScript 2020-04-09T10:09:47Z beach: Please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list. - Kent Pitman 2020-04-09T10:10:07Z no-defun-allowed: aeth: (with-hazmat-suit-and-barf-bag (consider-reading #p"http://node-os.com/")) 2020-04-09T10:10:11Z no-defun-allowed: Indeed. 2020-04-09T10:11:57Z aeth: beach: so what you're saying is that CL is a language for chemistry simulations? 2020-04-09T10:12:36Z aeth: (if that was unclear, that was a joke, it was just something that wasn't really listed in the list) 2020-04-09T10:14:25Z beach: I am not saying anything. Just quoting Kent Pitman. 2020-04-09T10:17:21Z jdz: aeth: Not sure you're also joking, but just in case: https://www.youtube.com/watch?v=8X69_42Mj-g 2020-04-09T10:18:08Z frgo quit (Remote host closed the connection) 2020-04-09T10:18:46Z frgo joined #lisp 2020-04-09T10:29:42Z pilne joined #lisp 2020-04-09T10:31:16Z _jrjsmrtn joined #lisp 2020-04-09T10:32:54Z __jrjsmrtn__ quit (Ping timeout: 265 seconds) 2020-04-09T10:34:23Z akoana quit (Quit: leaving) 2020-04-09T10:35:45Z andrzejku quit (Read error: Connection reset by peer) 2020-04-09T10:37:19Z andrzejku joined #lisp 2020-04-09T10:37:26Z narimiran quit (Ping timeout: 256 seconds) 2020-04-09T10:37:50Z ggole joined #lisp 2020-04-09T10:42:28Z revtintin joined #lisp 2020-04-09T10:48:03Z _whitelogger quit (Remote host closed the connection) 2020-04-09T10:50:16Z _whitelogger joined #lisp 2020-04-09T10:50:36Z revtintin quit (Ping timeout: 265 seconds) 2020-04-09T10:54:26Z shifty quit (Ping timeout: 256 seconds) 2020-04-09T10:55:26Z shifty joined #lisp 2020-04-09T10:55:57Z libertyprime joined #lisp 2020-04-09T10:56:40Z adam4567 quit (Remote host closed the connection) 2020-04-09T10:59:10Z EvW1 joined #lisp 2020-04-09T11:00:14Z revtintin joined #lisp 2020-04-09T11:02:37Z Kundry_Wag joined #lisp 2020-04-09T11:03:31Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-09T11:05:41Z iAmDecim joined #lisp 2020-04-09T11:07:25Z revtintin quit (Ping timeout: 264 seconds) 2020-04-09T11:08:00Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-09T11:10:34Z Codaraxis__ quit (Ping timeout: 240 seconds) 2020-04-09T11:16:36Z revtintin joined #lisp 2020-04-09T11:21:15Z Cymew quit (Ping timeout: 260 seconds) 2020-04-09T11:30:18Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-09T11:32:42Z jcowan: No Scheme standard was ever defined in terms of surface syntax; I've read them all and can say that definitively. 2020-04-09T11:32:47Z EvW1 quit (Ping timeout: 260 seconds) 2020-04-09T11:33:24Z jcowan: AFAIK the only standard that ever was defined that way was DIN Lisp 1.2 (neither Scheme nor CL), and it was one of the points Henry Baker raised in his critique (which is still very interesting). 2020-04-09T11:34:22Z jcowan: In addition, Guile is as multi-paradigm as CL, if by that you mean it has good support for OO. 2020-04-09T11:36:31Z shinohai joined #lisp 2020-04-09T11:38:22Z drot quit (Quit: Quit.) 2020-04-09T11:38:39Z drot joined #lisp 2020-04-09T11:40:00Z heisig: jcowan: You mean GOOPS? It is far from being as useful, fast, and extensible as CLOS. 2020-04-09T11:40:16Z heisig: At least last time I checked. 2020-04-09T11:41:13Z jcowan: Less extensible, certainly. Useful is a matter of what you want to use it for, and what you expect. Fast, well, I'm sure it's possibly to implement CLOS to run slowly, even in these Latter Days of the Law. 2020-04-09T11:43:39Z heisig: Heh, yes it is definitely possible to implement CLOS to run slowly. 2020-04-09T11:44:18Z heisig: One can even slow down existing implementations by orders of magnitude, just by adding a single innocent method at the wrong place :) 2020-04-09T11:48:02Z _death: we need bp7patch for CL 2020-04-09T11:49:01Z EvW joined #lisp 2020-04-09T11:55:06Z Kundry_Wag joined #lisp 2020-04-09T11:58:55Z francogrex joined #lisp 2020-04-09T11:58:56Z EvW quit (Ping timeout: 265 seconds) 2020-04-09T12:00:13Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-09T12:01:45Z francogrex: Hi I want to compile a C code (or assembly code) but don't want to install gcc or any other C compiler. is there a lib in CL that lets me compile to an object file? it's won't be lisp code it's C or simply just machine code? does cffi allow? 2020-04-09T12:03:48Z no-defun-allowed: Er, you want a C compiler that emits C or assembler? 2020-04-09T12:03:49Z revtintin quit (Ping timeout: 264 seconds) 2020-04-09T12:04:11Z no-defun-allowed: I may be able to cook up a C compiler that emits C. Just a moment... 2020-04-09T12:06:10Z francogrex: no-defun-allowed: actually that compiles to object file! 2020-04-09T12:06:12Z no-defun-allowed: (defun compile-c-program (input-source output-object) (with-open-file (input input-source) (with-open-file (output output-object) (loop for line = (read-line input nil nil) until (null line) do (write-line line output))))) 2020-04-09T12:07:01Z no-defun-allowed: https://github.com/vsedach/Vacietis maybe. 2020-04-09T12:07:45Z narimiran joined #lisp 2020-04-09T12:08:20Z beach: francogrex: I have thought for a very long time that C compilers should be written in Common Lisp, as opposed to in C or C++. But I don't think anyone has done it yet. 2020-04-09T12:08:37Z beach: I was totally amazed when I saw that RMS had written GCC in C. 2020-04-09T12:09:00Z beach: But I guess he didn't have a reasonable Lisp system at the time. 2020-04-09T12:09:29Z francogrex: beach: yes i wish that would have been the case 2020-04-09T12:10:52Z francogrex: no-defun-allowed: Vacietis yes that seems ok though limited but appears to be in the spirit 2020-04-09T12:11:13Z beach: By the way, didn't GCC end up using the Boehm-Weiser GC after many years of attempting to avoid automatic memory management? 2020-04-09T12:12:14Z jackdaniel: it did 2020-04-09T12:12:19Z jackdaniel: internally 2020-04-09T12:12:36Z flip214: no-defun-allowed: vacietis is very restricted. 2020-04-09T12:12:47Z beach: jackdaniel: So I didn't dream that. Thanks. 2020-04-09T12:13:13Z jackdaniel: also genera gad c compiler written in lisp 2020-04-09T12:13:45Z no-defun-allowed: https://gcc.gnu.org/onlinedocs/gccint/Type-Information.html says there is a garbage collector, but I don't know if it's conservative if it needs a preprocessor to emit some kind of tracing information. 2020-04-09T12:13:54Z beach: jackdaniel: Good point. 2020-04-09T12:13:58Z jackdaniel: some indefined behaviors are a result of lobbying by lisp vendors 2020-04-09T12:14:33Z jackdaniel: that i.e pointer doesn't have to be a number or something 2020-04-09T12:14:40Z jackdaniel: I don't remember 2020-04-09T12:15:04Z jackdaniel: had* 2020-04-09T12:15:34Z jackdaniel: undefuned* phone curse 2020-04-09T12:16:13Z Kundry_Wag joined #lisp 2020-04-09T12:16:40Z francogrex: yes indeed vacitis is a good proof of concept but very poor to produce anything of use 2020-04-09T12:16:56Z jackdaniel: it does naive parsing 2020-04-09T12:17:26Z jackdaniel: you may check the esrap parser for C on one of scymtym's repositories 2020-04-09T12:17:43Z jackdaniel: with the preprocessor and stuff 2020-04-09T12:18:40Z jackdaniel: it is a conforming piece implemenyed according to the newest C standard 2020-04-09T12:18:49Z jackdaniel: implemented* 2020-04-09T12:20:06Z revtintin joined #lisp 2020-04-09T12:20:18Z beach: I vaguely remember reading some exchange about that. Very exciting. 2020-04-09T12:21:00Z beach: What are the plans in terms of what to use it for? 2020-04-09T12:21:34Z jackdaniel: I've started the gramma to have a conforming repl for C language in ECL :) 2020-04-09T12:21:46Z jackdaniel: as of scymtym , you have to ask him 2020-04-09T12:22:03Z beach: Wow! 2020-04-09T12:23:00Z francogrex: but how about sbcl or any lisp used just as an assembler? from handwritten asm code to object code... that in theory should be easy maybe exists already? 2020-04-09T12:24:53Z beach: You can probably grab the assembler from any of the major Common Lisp implementations, like SBCL, or CCL, and probably also Mezzano. 2020-04-09T12:25:18Z heisig: francogrex: You can use SBCL as an assembler via sb-c:define-vop. 2020-04-09T12:27:21Z cosimone quit (Quit: Quit.) 2020-04-09T12:27:21Z heisig: I know of programmers that wrap handcrafted assembler snippets in SBCL VOPs for the very performance critical parts of their code. 2020-04-09T12:31:29Z flip214: francogrex: https://pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/ 2020-04-09T12:31:51Z cosimone joined #lisp 2020-04-09T12:32:00Z francogrex: heisig: hmm yes i know vops and i know how to use them, but not interested in that. I would like to output an .o object file. vop doesn't do that not made for it 2020-04-09T12:35:28Z revtintin quit (Ping timeout: 256 seconds) 2020-04-09T12:38:21Z andrzejku quit (Read error: Connection reset by peer) 2020-04-09T12:39:33Z francogrex: I have a feeling CFFI might be able to do that i mean if one has the opcodes how dfficult would it be to compile them to an object file? 2020-04-09T12:40:05Z grabarz joined #lisp 2020-04-09T12:41:29Z grabarz quit (Client Quit) 2020-04-09T12:41:47Z cylb joined #lisp 2020-04-09T12:42:00Z EvW joined #lisp 2020-04-09T12:43:37Z heisig: Yes, one could do that, too. But in 90% of the cases you can get the very same assembler code just by compiling Lisp with the right declarations. 2020-04-09T12:44:27Z heisig: And I'm trying to boost that to 95% of the cases by writing a proper SIMD interface for SBCL. 2020-04-09T12:44:55Z grabarz joined #lisp 2020-04-09T12:50:00Z revtintin joined #lisp 2020-04-09T12:51:50Z francogrex: ok 2020-04-09T12:54:25Z francogrex: what about this? 2020-04-09T12:54:27Z francogrex: https://github.com/eschulte/elf 2020-04-09T12:55:45Z beach: francogrex: The hard part, at least for x86 is to select a machine instruction, given a source instruction, and also generating the bytes for that selected machine instruction. 2020-04-09T12:55:52Z revtintin quit (Ping timeout: 256 seconds) 2020-04-09T12:57:03Z andrzejku joined #lisp 2020-04-09T12:57:58Z revtintin joined #lisp 2020-04-09T12:58:15Z andrzejku quit (Client Quit) 2020-04-09T12:59:49Z iAmDecim joined #lisp 2020-04-09T13:00:16Z iAmDecim is now known as cyberoctopi 2020-04-09T13:03:26Z SGASAU quit (Remote host closed the connection) 2020-04-09T13:03:55Z SGASAU joined #lisp 2020-04-09T13:05:03Z bendersteed joined #lisp 2020-04-09T13:06:49Z nckx quit (Ping timeout: 264 seconds) 2020-04-09T13:10:04Z francogrex quit (Remote host closed the connection) 2020-04-09T13:10:13Z Bike joined #lisp 2020-04-09T13:14:13Z Josh_2 joined #lisp 2020-04-09T13:17:04Z gxt quit (Remote host closed the connection) 2020-04-09T13:17:04Z tiwEllien quit (Remote host closed the connection) 2020-04-09T13:17:04Z cartwright quit (Remote host closed the connection) 2020-04-09T13:17:04Z madage quit (Remote host closed the connection) 2020-04-09T13:17:56Z gxt joined #lisp 2020-04-09T13:18:49Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-09T13:19:02Z tiwEllien joined #lisp 2020-04-09T13:21:29Z cartwright joined #lisp 2020-04-09T13:22:59Z duuqnd joined #lisp 2020-04-09T13:24:46Z equwal quit (Ping timeout: 240 seconds) 2020-04-09T13:25:29Z madage joined #lisp 2020-04-09T13:27:42Z EvW quit (Ping timeout: 260 seconds) 2020-04-09T13:30:57Z anonities joined #lisp 2020-04-09T13:31:26Z Kundry_Wag joined #lisp 2020-04-09T13:32:36Z nwoob joined #lisp 2020-04-09T13:33:58Z nwoob: If someone makes an api that gives dynami response in structure and to parse that structure can metaprogramming be helpful? 2020-04-09T13:35:34Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-09T13:38:10Z beach: nwoob: I don't even know what that means. 2020-04-09T13:38:23Z ayuce joined #lisp 2020-04-09T13:38:53Z beach: What is "dynami response in structure"? 2020-04-09T13:40:21Z anonities left #lisp 2020-04-09T13:42:38Z nwoob: what if there is a project that build websites from a documentation that user can edit? Given that we have templates of design... The documentation data will be parsed and will become response of API or APIs 2020-04-09T13:43:23Z nwoob: so here response of API will be dynamic depending on the data provided by user 2020-04-09T13:43:38Z nwoob: beach: 2020-04-09T13:44:03Z nwoob: "dynamic" I mistyped in my first message 2020-04-09T13:48:15Z beach: That sounds like ordinary programming. 2020-04-09T13:48:45Z beach: The distinction is blurred of course. 2020-04-09T13:51:40Z ayuce quit (Remote host closed the connection) 2020-04-09T13:55:39Z cyberoctopi quit (Quit: WeeChat 1.9) 2020-04-09T13:57:33Z igemnace joined #lisp 2020-04-09T14:00:04Z ahungry joined #lisp 2020-04-09T14:00:32Z Kundry_Wag joined #lisp 2020-04-09T14:01:31Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-09T14:02:33Z monokrom joined #lisp 2020-04-09T14:08:08Z iAmDecim joined #lisp 2020-04-09T14:12:41Z KDr22 joined #lisp 2020-04-09T14:12:41Z duuqnd quit (Read error: Connection reset by peer) 2020-04-09T14:13:07Z bitmapper joined #lisp 2020-04-09T14:13:22Z duuqnd joined #lisp 2020-04-09T14:14:16Z KDr21 quit (Ping timeout: 265 seconds) 2020-04-09T14:17:50Z splittist: Forget the x86, the new hotness to target is PowerPoint https://www.youtube.com/watch?v=LArkm4v5mWA 2020-04-09T14:19:11Z mangul joined #lisp 2020-04-09T14:20:08Z efm quit (Remote host closed the connection) 2020-04-09T14:20:36Z EvW1 joined #lisp 2020-04-09T14:21:01Z buffergn0me joined #lisp 2020-04-09T14:21:35Z pjb: nwoob: http://alumni.media.mit.edu/~hugo/publications/papers/IUI2005-metafor.pdf 2020-04-09T14:21:38Z shangul quit (Disconnected by services) 2020-04-09T14:21:44Z mangul is now known as shangul 2020-04-09T14:22:03Z efm joined #lisp 2020-04-09T14:27:21Z efm_ joined #lisp 2020-04-09T14:27:27Z efm quit (Ping timeout: 260 seconds) 2020-04-09T14:30:09Z efm_ quit (Client Quit) 2020-04-09T14:30:36Z efm joined #lisp 2020-04-09T14:31:22Z flip214: splittist: Do you mean PowerPC? 2020-04-09T14:32:11Z splittist: flip214: Nope - Microsoft PowerPoint. 2020-04-09T14:33:19Z splittist: Tom Wildenhain's previous video is fascinating, too. 2020-04-09T14:34:23Z revtintin quit (Ping timeout: 265 seconds) 2020-04-09T14:34:24Z edgar-rft always thought that PCs don't work without power 2020-04-09T14:35:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-09T14:36:12Z wheelsucker joined #lisp 2020-04-09T14:38:35Z Kundry_Wag quit (Remote host closed the connection) 2020-04-09T14:38:39Z duuqnd quit (Remote host closed the connection) 2020-04-09T14:39:06Z duuqnd joined #lisp 2020-04-09T14:39:09Z Kundry_Wag joined #lisp 2020-04-09T14:41:39Z EvW1 quit (Remote host closed the connection) 2020-04-09T14:41:47Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-09T14:45:45Z guna_ joined #lisp 2020-04-09T14:47:03Z guna quit (Ping timeout: 260 seconds) 2020-04-09T14:47:14Z nckx joined #lisp 2020-04-09T14:51:11Z shymega quit (Quit: Ciao.) 2020-04-09T14:52:58Z shymega joined #lisp 2020-04-09T14:56:43Z Colleen quit (Quit: Colleen) 2020-04-09T14:57:59Z Colleen joined #lisp 2020-04-09T14:58:36Z revtintin joined #lisp 2020-04-09T15:00:41Z Inline joined #lisp 2020-04-09T15:01:24Z shymega quit (Quit: Ciao.) 2020-04-09T15:02:57Z shymega joined #lisp 2020-04-09T15:05:43Z guna joined #lisp 2020-04-09T15:06:13Z guna_ quit (Ping timeout: 264 seconds) 2020-04-09T15:09:29Z Steinberg2010 joined #lisp 2020-04-09T15:13:11Z revtintin quit (Ping timeout: 260 seconds) 2020-04-09T15:14:27Z mason joined #lisp 2020-04-09T15:16:46Z buffergn0me joined #lisp 2020-04-09T15:18:04Z shifty quit (Ping timeout: 265 seconds) 2020-04-09T15:18:13Z shifty joined #lisp 2020-04-09T15:26:40Z jprajzne quit (Quit: Leaving.) 2020-04-09T15:27:41Z rippa joined #lisp 2020-04-09T15:33:07Z buffergn0me quit (Ping timeout: 260 seconds) 2020-04-09T15:39:10Z revtintin joined #lisp 2020-04-09T15:40:19Z salinasc joined #lisp 2020-04-09T15:41:07Z iAmDecim joined #lisp 2020-04-09T15:43:54Z salinasc quit (Client Quit) 2020-04-09T15:44:00Z cdrlos joined #lisp 2020-04-09T15:45:24Z cdrlos quit (Client Quit) 2020-04-09T15:45:52Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-09T15:47:51Z neeasade quit (Remote host closed the connection) 2020-04-09T15:50:58Z vhost- quit (Ping timeout: 256 seconds) 2020-04-09T15:56:04Z Steinberg2010 quit (Ping timeout: 256 seconds) 2020-04-09T16:11:52Z anonities joined #lisp 2020-04-09T16:12:46Z ayuce joined #lisp 2020-04-09T16:14:36Z ebrasca joined #lisp 2020-04-09T16:17:08Z iAmDecim joined #lisp 2020-04-09T16:17:22Z Oladon joined #lisp 2020-04-09T16:19:36Z cartwright quit (Remote host closed the connection) 2020-04-09T16:20:57Z LdBeth loa 2020-04-09T16:21:52Z cartwright joined #lisp 2020-04-09T16:21:58Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-09T16:22:41Z vhost- joined #lisp 2020-04-09T16:22:41Z vhost- quit (Changing host) 2020-04-09T16:22:41Z vhost- joined #lisp 2020-04-09T16:23:36Z anonities quit (Remote host closed the connection) 2020-04-09T16:23:39Z jcowan: edgar-rft: There were those crank-powered laptops: that's "power" to a physicist, but not the rest of us. 2020-04-09T16:26:28Z anonities joined #lisp 2020-04-09T16:26:29Z anonities quit (Client Quit) 2020-04-09T16:28:20Z edgar-rft: jcowan: crank-power will help us to gain world domination 2020-04-09T16:29:44Z ebrasca quit (Remote host closed the connection) 2020-04-09T16:32:45Z jcowan: Indeed 2020-04-09T16:34:31Z jcowan: apparently the hand crank on the XO laptop was basically vaporware: actually shipped XOs used ordinary power adapters. 2020-04-09T16:37:16Z gko quit (Ping timeout: 256 seconds) 2020-04-09T16:37:19Z beach: Can we please stick to the channel topic? 2020-04-09T16:42:23Z LdBeth: look for a package capable for building oscillators 2020-04-09T16:45:36Z asarch joined #lisp 2020-04-09T16:49:16Z logand joined #lisp 2020-04-09T16:51:10Z LdBeth: https://github.com/titola/incudine 2020-04-09T16:56:03Z gxt quit (Remote host closed the connection) 2020-04-09T16:56:42Z gxt joined #lisp 2020-04-09T16:59:34Z hdasch quit (Ping timeout: 240 seconds) 2020-04-09T17:02:41Z hdasch joined #lisp 2020-04-09T17:04:16Z ayuce quit (Remote host closed the connection) 2020-04-09T17:10:47Z karlosz joined #lisp 2020-04-09T17:15:13Z v88m quit (Read error: Connection reset by peer) 2020-04-09T17:18:14Z v88m joined #lisp 2020-04-09T17:23:40Z aeth quit (Ping timeout: 256 seconds) 2020-04-09T17:24:20Z iAmDecim joined #lisp 2020-04-09T17:27:18Z ebrasca joined #lisp 2020-04-09T17:31:55Z ayuce joined #lisp 2020-04-09T17:34:41Z aeth joined #lisp 2020-04-09T17:34:43Z shinohai quit (Ping timeout: 250 seconds) 2020-04-09T17:35:37Z v88m quit (Ping timeout: 264 seconds) 2020-04-09T17:36:15Z ebrasca quit (Remote host closed the connection) 2020-04-09T17:36:34Z srji quit (Ping timeout: 240 seconds) 2020-04-09T17:45:24Z cosimone quit (Remote host closed the connection) 2020-04-09T17:46:36Z cosimone joined #lisp 2020-04-09T17:52:15Z efm quit (Ping timeout: 265 seconds) 2020-04-09T18:03:21Z logand quit (Read error: Connection reset by peer) 2020-04-09T18:04:09Z shangul quit (Ping timeout: 265 seconds) 2020-04-09T18:04:58Z karlosz quit (Quit: karlosz) 2020-04-09T18:05:20Z frgo_ joined #lisp 2020-04-09T18:08:12Z frgo quit (Ping timeout: 265 seconds) 2020-04-09T18:09:45Z frgo joined #lisp 2020-04-09T18:10:25Z frgo__ joined #lisp 2020-04-09T18:11:40Z cosimone quit (Remote host closed the connection) 2020-04-09T18:12:11Z frgo___ joined #lisp 2020-04-09T18:12:13Z cosimone joined #lisp 2020-04-09T18:12:57Z frgo_ quit (Ping timeout: 260 seconds) 2020-04-09T18:13:09Z dale_ joined #lisp 2020-04-09T18:13:36Z dale_ is now known as dale 2020-04-09T18:14:07Z frgo quit (Ping timeout: 260 seconds) 2020-04-09T18:14:29Z Inline quit (Ping timeout: 272 seconds) 2020-04-09T18:14:42Z frgo joined #lisp 2020-04-09T18:15:17Z frgo__ quit (Ping timeout: 260 seconds) 2020-04-09T18:16:05Z sauvin quit (Read error: Connection reset by peer) 2020-04-09T18:17:37Z frgo___ quit (Ping timeout: 260 seconds) 2020-04-09T18:20:30Z frgo_ joined #lisp 2020-04-09T18:21:36Z frgo__ joined #lisp 2020-04-09T18:21:40Z frgo__ quit (Remote host closed the connection) 2020-04-09T18:22:19Z frgo__ joined #lisp 2020-04-09T18:24:02Z frgo quit (Ping timeout: 260 seconds) 2020-04-09T18:24:37Z jello_pudding quit (Ping timeout: 272 seconds) 2020-04-09T18:25:12Z frgo_ quit (Ping timeout: 260 seconds) 2020-04-09T18:26:58Z jello_pudding joined #lisp 2020-04-09T18:28:35Z frgo__ quit (Read error: Connection reset by peer) 2020-04-09T18:28:42Z frgo joined #lisp 2020-04-09T18:29:36Z nwoob quit (Quit: Lost terminal) 2020-04-09T18:34:34Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-09T18:38:12Z shangul joined #lisp 2020-04-09T18:39:26Z libertyprime quit (Read error: Connection reset by peer) 2020-04-09T18:39:37Z jello_pudding quit (Ping timeout: 265 seconds) 2020-04-09T18:40:53Z v88m joined #lisp 2020-04-09T18:42:43Z frgo_ joined #lisp 2020-04-09T18:46:12Z frgo quit (Ping timeout: 260 seconds) 2020-04-09T18:52:07Z Inline joined #lisp 2020-04-09T18:52:08Z hdasch quit (Ping timeout: 256 seconds) 2020-04-09T18:53:13Z z147 joined #lisp 2020-04-09T18:54:34Z shangul quit (Ping timeout: 240 seconds) 2020-04-09T18:56:44Z hdasch joined #lisp 2020-04-09T18:57:10Z jello_pudding joined #lisp 2020-04-09T18:57:14Z hhdave quit (Ping timeout: 240 seconds) 2020-04-09T18:57:19Z hhdave_ joined #lisp 2020-04-09T18:57:24Z shifty quit (Ping timeout: 256 seconds) 2020-04-09T19:01:28Z ggole quit (Quit: Leaving) 2020-04-09T19:08:37Z iAmDecim joined #lisp 2020-04-09T19:10:51Z hdasch quit (Ping timeout: 265 seconds) 2020-04-09T19:11:02Z hdasch joined #lisp 2020-04-09T19:13:16Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-09T19:17:04Z grabarz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-09T19:28:56Z pve quit (Quit: leaving) 2020-04-09T19:29:33Z jonatack quit (Ping timeout: 256 seconds) 2020-04-09T19:31:39Z jonatack joined #lisp 2020-04-09T19:31:46Z jonatack quit (Client Quit) 2020-04-09T19:32:04Z jonatack joined #lisp 2020-04-09T19:40:46Z vlatkoB quit (Remote host closed the connection) 2020-04-09T19:43:49Z iAmDecim joined #lisp 2020-04-09T19:49:13Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-09T19:52:43Z z147 quit (Ping timeout: 240 seconds) 2020-04-09T19:53:20Z aeth quit (Ping timeout: 256 seconds) 2020-04-09T19:58:18Z izh_ joined #lisp 2020-04-09T19:59:09Z aeth joined #lisp 2020-04-09T20:00:47Z mgsk is now known as mgs 2020-04-09T20:01:28Z mgs is now known as mgsk 2020-04-09T20:06:56Z revtintin quit (Ping timeout: 256 seconds) 2020-04-09T20:08:32Z madage quit (Remote host closed the connection) 2020-04-09T20:09:04Z madage joined #lisp 2020-04-09T20:12:23Z revtintin joined #lisp 2020-04-09T20:13:43Z revtintin quit (Client Quit) 2020-04-09T20:16:58Z slyrus_ joined #lisp 2020-04-09T20:18:04Z iAmDecim joined #lisp 2020-04-09T20:19:29Z slyrus quit (Ping timeout: 265 seconds) 2020-04-09T20:19:34Z emys joined #lisp 2020-04-09T20:36:24Z narimiran quit (Ping timeout: 265 seconds) 2020-04-09T20:41:29Z lemoinem quit (Ping timeout: 250 seconds) 2020-04-09T20:42:23Z karlosz joined #lisp 2020-04-09T20:47:51Z ArthurStrong joined #lisp 2020-04-09T20:50:35Z gravicappa quit (Ping timeout: 250 seconds) 2020-04-09T20:53:01Z hdasch quit (Ping timeout: 264 seconds) 2020-04-09T20:53:12Z hdasch joined #lisp 2020-04-09T20:59:15Z lemoinem joined #lisp 2020-04-09T21:00:35Z bendersteed quit (Read error: Connection reset by peer) 2020-04-09T21:03:39Z cartwright quit (Quit: WeeChat 2.5) 2020-04-09T21:05:38Z cantstanya joined #lisp 2020-04-09T21:12:49Z hdasch quit (Ping timeout: 264 seconds) 2020-04-09T21:12:59Z hdasch joined #lisp 2020-04-09T21:14:47Z ski joined #lisp 2020-04-09T21:18:38Z emys quit (Ping timeout: 265 seconds) 2020-04-09T21:19:37Z swflint quit (Ping timeout: 260 seconds) 2020-04-09T21:20:44Z swflint joined #lisp 2020-04-09T21:22:12Z emys joined #lisp 2020-04-09T21:24:29Z hhdave_ quit (Quit: hhdave_) 2020-04-09T21:28:41Z heisig quit (Quit: Leaving) 2020-04-09T21:29:23Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-09T21:30:18Z Steinberg2010 joined #lisp 2020-04-09T21:35:33Z hdasch quit (Ping timeout: 265 seconds) 2020-04-09T21:35:49Z duuqnd quit (Quit: Leaving) 2020-04-09T21:36:51Z hdasch joined #lisp 2020-04-09T21:37:55Z Lord_of_Life_ joined #lisp 2020-04-09T21:38:10Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-09T21:38:21Z ArthurStrong quit (Quit: leaving) 2020-04-09T21:39:13Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-09T21:40:10Z izh_ quit (Quit: Leaving) 2020-04-09T21:42:53Z ahungry quit (Remote host closed the connection) 2020-04-09T21:51:30Z emys quit (Quit: Leaving) 2020-04-09T21:55:04Z Bourne quit (Remote host closed the connection) 2020-04-09T21:57:49Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-09T22:03:06Z hdasch quit (Ping timeout: 265 seconds) 2020-04-09T22:04:32Z hdasch joined #lisp 2020-04-09T22:07:47Z cosimone quit (Quit: Quit.) 2020-04-09T22:14:27Z vhost- quit (Quit: WeeChat 2.7.1) 2020-04-09T22:17:05Z frgo_ quit (Remote host closed the connection) 2020-04-09T22:17:41Z frgo joined #lisp 2020-04-09T22:21:37Z |Pirx| quit (Remote host closed the connection) 2020-04-09T22:21:51Z vhost- joined #lisp 2020-04-09T22:21:51Z vhost- quit (Changing host) 2020-04-09T22:21:51Z vhost- joined #lisp 2020-04-09T22:21:57Z Steinberg2010 quit (Ping timeout: 265 seconds) 2020-04-09T22:25:01Z cosimone joined #lisp 2020-04-09T22:27:58Z iAmDecim joined #lisp 2020-04-09T22:28:14Z random-nick quit (Ping timeout: 265 seconds) 2020-04-09T22:33:03Z asarch quit (Quit: Leaving) 2020-04-09T22:39:27Z Kundry_W_ joined #lisp 2020-04-09T22:42:23Z Kundry_Wag quit (Ping timeout: 250 seconds) 2020-04-09T22:50:48Z SGASAU quit (Remote host closed the connection) 2020-04-09T22:51:25Z SGASAU joined #lisp 2020-04-09T22:56:59Z cosimone quit (Quit: Quit.) 2020-04-09T22:58:32Z psilepr joined #lisp 2020-04-09T22:59:04Z reggie_ joined #lisp 2020-04-09T23:03:46Z akoana joined #lisp 2020-04-09T23:04:50Z smasta joined #lisp 2020-04-09T23:08:21Z SGASAU quit (Remote host closed the connection) 2020-04-09T23:09:02Z SGASAU joined #lisp 2020-04-09T23:09:52Z karlosz quit (Quit: karlosz) 2020-04-09T23:10:01Z karlosz joined #lisp 2020-04-09T23:11:31Z smasta quit (Ping timeout: 260 seconds) 2020-04-09T23:16:59Z psilepr left #lisp 2020-04-09T23:21:36Z adam4567 joined #lisp 2020-04-09T23:25:12Z dizbeleaf joined #lisp 2020-04-09T23:25:31Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-09T23:27:24Z slyrus__ joined #lisp 2020-04-09T23:28:33Z dizbeleaf quit (Remote host closed the connection) 2020-04-09T23:29:48Z slyrus_ quit (Ping timeout: 256 seconds) 2020-04-09T23:31:05Z karlosz_ joined #lisp 2020-04-09T23:31:30Z karlosz quit (Read error: No route to host) 2020-04-09T23:31:33Z karlosz_ is now known as karlosz 2020-04-09T23:32:19Z karlosz quit (Client Quit) 2020-04-09T23:32:39Z karlosz joined #lisp 2020-04-09T23:38:16Z eck left #lisp 2020-04-09T23:42:52Z slyrus_ joined #lisp 2020-04-09T23:45:40Z slyrus__ quit (Ping timeout: 256 seconds) 2020-04-09T23:46:07Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-09T23:46:14Z smasta joined #lisp 2020-04-09T23:47:12Z iAmDecim joined #lisp 2020-04-09T23:50:22Z slyrus__ joined #lisp 2020-04-09T23:50:58Z Kundry_W_ quit (Read error: Connection reset by peer) 2020-04-09T23:51:14Z karlosz quit (Quit: karlosz) 2020-04-09T23:52:08Z shinohai joined #lisp 2020-04-09T23:52:27Z Kundry_Wag joined #lisp 2020-04-09T23:53:02Z slyrus_ quit (Ping timeout: 260 seconds) 2020-04-09T23:53:06Z sendai_ quit (Remote host closed the connection) 2020-04-09T23:53:21Z sendai_ joined #lisp 2020-04-09T23:58:04Z karlosz joined #lisp 2020-04-09T23:59:37Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-10T00:03:11Z m00natic quit (Read error: No route to host) 2020-04-10T00:04:49Z shinohai quit (Remote host closed the connection) 2020-04-10T00:05:34Z shinohai joined #lisp 2020-04-10T00:17:51Z ebrasca joined #lisp 2020-04-10T00:33:20Z cantstanya is now known as Oxford 2020-04-10T00:34:04Z Oxford is now known as frank 2020-04-10T00:34:10Z frank is now known as cartwright 2020-04-10T00:34:26Z cartwright is now known as cantstanya 2020-04-10T00:35:59Z terpri quit (Remote host closed the connection) 2020-04-10T00:36:35Z terpri joined #lisp 2020-04-10T00:46:26Z Jeanne-Kamikaze joined #lisp 2020-04-10T00:59:20Z vhost- quit (Ping timeout: 265 seconds) 2020-04-10T01:04:58Z ahungry joined #lisp 2020-04-10T01:11:21Z Kundry_Wag joined #lisp 2020-04-10T01:13:11Z watkinsr joined #lisp 2020-04-10T01:15:14Z smasta quit (Ping timeout: 240 seconds) 2020-04-10T01:15:46Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-10T01:23:29Z zaquest joined #lisp 2020-04-10T01:27:19Z Kundry_Wag joined #lisp 2020-04-10T01:28:08Z adam4567 quit (Remote host closed the connection) 2020-04-10T01:31:14Z bitmapper quit (Ping timeout: 240 seconds) 2020-04-10T01:31:54Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-10T01:32:12Z efm joined #lisp 2020-04-10T01:33:59Z Kundry_Wag joined #lisp 2020-04-10T01:36:53Z karlosz quit (Quit: karlosz) 2020-04-10T01:39:23Z smasta joined #lisp 2020-04-10T01:40:02Z renzhi joined #lisp 2020-04-10T01:46:56Z hdasch quit (Ping timeout: 256 seconds) 2020-04-10T01:47:04Z hdasch joined #lisp 2020-04-10T01:51:43Z hdasch quit (Ping timeout: 265 seconds) 2020-04-10T01:51:51Z hdasch joined #lisp 2020-04-10T01:52:41Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-10T02:05:41Z peli joined #lisp 2020-04-10T02:06:14Z peli: is there a good lightweight routing framework to do something like flask or sinatra in CL? 2020-04-10T02:10:02Z hdasch quit (Ping timeout: 258 seconds) 2020-04-10T02:13:13Z hdasch joined #lisp 2020-04-10T02:15:20Z ayuce quit (Remote host closed the connection) 2020-04-10T02:27:30Z iAmDecim joined #lisp 2020-04-10T02:30:28Z xkapastel joined #lisp 2020-04-10T02:31:10Z terpri quit (Quit: Leaving) 2020-04-10T02:32:19Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-10T02:37:26Z ukari joined #lisp 2020-04-10T02:37:41Z mono joined #lisp 2020-04-10T02:40:25Z monokrom quit (Ping timeout: 264 seconds) 2020-04-10T02:44:37Z smasta quit (Ping timeout: 264 seconds) 2020-04-10T02:45:41Z karlosz joined #lisp 2020-04-10T02:46:20Z Inline quit (Ping timeout: 265 seconds) 2020-04-10T02:52:11Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-04-10T02:57:51Z libertyprime joined #lisp 2020-04-10T03:23:41Z libertyprime quit (Read error: Connection reset by peer) 2020-04-10T03:26:29Z vhost- joined #lisp 2020-04-10T03:26:29Z vhost- quit (Changing host) 2020-04-10T03:26:29Z vhost- joined #lisp 2020-04-10T03:29:05Z libertyprime joined #lisp 2020-04-10T03:31:04Z Kundry_Wag quit (Remote host closed the connection) 2020-04-10T03:33:34Z beach: Good morning everyone! 2020-04-10T03:34:22Z Codaraxis__ joined #lisp 2020-04-10T03:36:27Z beach: peli: You get more answers if you tell us what those things do. Not everybody knows, and not everybody is willing to read the documentation of those things in order to answer you. 2020-04-10T03:39:40Z peli: beach: i thought they were common enough but 2020-04-10T03:39:51Z peli: lightweight web frameworks that basically just have routing 2020-04-10T03:40:09Z peli: they are rather unopinionated with regards to architecture 2020-04-10T03:40:17Z beach: See, I didn't even know it had to do with web stuff. 2020-04-10T03:40:32Z no-defun-allowed: Hunchentoot? 2020-04-10T03:40:36Z peli: well i guess you learned something today 2020-04-10T03:40:39Z peli: i also look forward to learning something 2020-04-10T03:40:41Z aeth: "like Flask" is actually a very good way to ask the question 2020-04-10T03:40:54Z aeth: Most such web frameworks do literally say that on their front page 2020-04-10T03:41:25Z aeth: I think the author of the alternative to Hunchentoot has one. 2020-04-10T03:41:30Z aeth: I forget the name. 2020-04-10T03:41:41Z aeth: (Of the author, the alternative, and the framework. It has been quite a few years) 2020-04-10T03:42:01Z ahungry: caveman2? 2020-04-10T03:42:11Z aeth: fukamachi is the author 2020-04-10T03:42:30Z aeth: cliki says caveman, but cliki is also notorious for being like 10 years out of date. https://cliki.net/web%20framework 2020-04-10T03:42:51Z no-defun-allowed: caveman2? 2020-04-10T03:42:54Z aeth: http://8arrow.org/caveman/ 2020-04-10T03:43:03Z aeth: yeah, it even copies the @foo in a reader macro 2020-04-10T03:43:05Z peli: no-defun-allowed: aeth: that looks good! thank you 2020-04-10T03:43:09Z aeth: That might be going a bit too far to be like Flask at least imo 2020-04-10T03:43:09Z no-defun-allowed: Enjoy your documentation with that. 2020-04-10T03:44:16Z aeth: I think it can run on both the web servers though 2020-04-10T03:44:59Z aeth: peli: There's an even more lightweight (but a bit lower level) one that caveman is based on: http://8arrow.org/ningle/ 2020-04-10T03:45:22Z aeth: (hmm... I'm not sure if it's the lower level or just a fork) 2020-04-10T03:46:02Z aeth: And the web server I was thinking of is Woo, but all of these web frameworks are based on clack, which runs on both Woo and Hunchentoot (and some other things) 2020-04-10T03:47:00Z ahungry: caveman2 has a 'start' command that supports booting up with woo, hunchentoot or wookie iirc, but thats again thanks to clack 2020-04-10T03:57:01Z pilne quit (Quit: Never underestimate the power of stupid people in large groups.) 2020-04-10T04:01:23Z benjamin-l joined #lisp 2020-04-10T04:02:11Z gko joined #lisp 2020-04-10T04:02:19Z benjamin-l: I'm trying to make a class that extends the built-in array class like this: (defclass map-array (array) ()) 2020-04-10T04:02:48Z benjamin-l: sbcl doesn't like this, and says that the metaclasses for common-lisp:built-in-class and common-lisp:standard-class are incompatible 2020-04-10T04:02:51Z no-defun-allowed: Can't do that. 2020-04-10T04:03:01Z benjamin-l: is there any way to work around this 2020-04-10T04:03:11Z no-defun-allowed: You can't subclass classes with metaclass built-in-class. 2020-04-10T04:03:17Z aeth: you want "extensible sequences" 2020-04-10T04:03:21Z aeth: a quick search yields https://research.gold.ac.uk/2344/1/sequences-20070301.pdf 2020-04-10T04:03:27Z aeth: "User-extensible sequences in Common Lisp" 2020-04-10T04:03:33Z aeth: I'm not sure if this is what SBCL implements. 2020-04-10T04:03:37Z benjamin-l: cool, thank you 2020-04-10T04:03:39Z aeth: Unfortunately, not every implementation implements it. 2020-04-10T04:03:55Z aeth: http://www.sbcl.org/manual/index.html#Extensible-Sequences 2020-04-10T04:04:07Z no-defun-allowed: The CLHS page for BUILT-IN-CLASS explains why this is not possible in portable Common Lisp: "A built-in class is a class whose instances have [...] special representations." 2020-04-10T04:04:13Z no-defun-allowed: clhs built-in-class 2020-04-10T04:04:13Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_built_.htm 2020-04-10T04:05:01Z aeth: it's the same PDF but the link in the SBCL manual is dead 2020-04-10T04:05:38Z vlatkoB joined #lisp 2020-04-10T04:09:13Z Bike: this is what sbcl implements 2020-04-10T04:09:27Z aeth: There's probably a portability library that can implement extensible sequences on any implementation. You would just need to import those sequence functions instead of CL and extend a class other than sequence outside of implementations that don't permit extensible sequences. 2020-04-10T04:09:42Z aeth: But then the user would also have to do so, and it won't work for free with every sequence-generic function in every library 2020-04-10T04:13:10Z Bike: yes, shinmera wrote it https://github.com/Shinmera/trivial-extensible-sequences/tree/master 2020-04-10T04:13:38Z aeth: of course Shinmera wrote it 2020-04-10T04:13:46Z aeth: it sounds like a very Shinmera library 2020-04-10T04:15:18Z aeth: benjamin-l: you'll want to use the library Bike linked to instead of directly using SBCL's API 2020-04-10T04:21:21Z Kundry_Wag joined #lisp 2020-04-10T04:21:22Z narimiran joined #lisp 2020-04-10T04:23:15Z Bike quit (Quit: leaving) 2020-04-10T04:25:54Z swflint quit (Ping timeout: 265 seconds) 2020-04-10T04:26:37Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-10T04:26:41Z swflint joined #lisp 2020-04-10T04:27:14Z gko quit (Ping timeout: 240 seconds) 2020-04-10T04:48:27Z lavaflow quit (Ping timeout: 260 seconds) 2020-04-10T04:50:07Z ukari quit (Remote host closed the connection) 2020-04-10T04:51:04Z ukari joined #lisp 2020-04-10T04:55:20Z shifty joined #lisp 2020-04-10T05:02:25Z sauvin joined #lisp 2020-04-10T05:14:30Z gravicappa joined #lisp 2020-04-10T05:18:44Z revtintin joined #lisp 2020-04-10T05:20:07Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-10T05:37:26Z renzhi quit (Ping timeout: 265 seconds) 2020-04-10T05:39:16Z revtintin quit (Ping timeout: 256 seconds) 2020-04-10T05:43:05Z terpri joined #lisp 2020-04-10T05:44:08Z revtintin joined #lisp 2020-04-10T05:47:33Z dale quit (Quit: My computer has gone to sleep) 2020-04-10T05:48:54Z iAmDecim joined #lisp 2020-04-10T05:51:06Z revtintin quit (Ping timeout: 256 seconds) 2020-04-10T05:53:56Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-10T06:02:14Z revtintin joined #lisp 2020-04-10T06:08:10Z nwoob joined #lisp 2020-04-10T06:08:40Z ahungry quit (Ping timeout: 256 seconds) 2020-04-10T06:11:28Z nwoob: do you people here recommend going through SICP if I have almost none mathematical background? 2020-04-10T06:11:58Z Shinmera: aeth: what does that even mean 2020-04-10T06:20:39Z aeth: Shinmera: that if there's a portability library, odds are it's written by you 2020-04-10T06:21:55Z Kundry_Wag joined #lisp 2020-04-10T06:22:19Z Shinmera: I don't have /that/ many 2020-04-10T06:23:27Z aeth: okay, you don't have the majority, but you may have the plurality, but https://portability.cl/ is probably a biased sample 2020-04-10T06:24:01Z Shinmera: I'm sure there's a few missing still. 2020-04-10T06:26:11Z aeth: If you mean missing altogether, the most noticably missing thing is no portability layer over sb-unicode afaik, so no portable unicode-enabled alternative to sb-unicode:whitespace-p among other, harder-to-implement things like sb-unicode:casefold 2020-04-10T06:27:20Z Shinmera: There is cl-unicode, though it's not as fast as sb-unicode and is missing a bunch of stuff. 2020-04-10T06:28:18Z aeth: It doesn't look like it has either of my examples (whitespace or casefold/foldcase). It's in my history, but that might be one reason why I don't use it. 2020-04-10T06:29:36Z beach: nwoob: It depends on your objectives. If you want to write pragmatic Common Lisp code as opposed to understanding the basic ideas of recursion, encapsulation, etc. you are probably better off with PCL. 2020-04-10T06:29:52Z beach: nwoob: Also, it depends on what kind of programming you have done in the past. 2020-04-10T06:34:23Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-10T06:36:03Z ukari quit (Remote host closed the connection) 2020-04-10T06:54:17Z revtintin quit (Ping timeout: 265 seconds) 2020-04-10T06:57:07Z holycow joined #lisp 2020-04-10T06:58:16Z pjb: nwoob: I would advise to acquire some mathematical background, this would help a lot to be a programmer, and anything else too, nowadays… 2020-04-10T07:06:22Z slyrus_ joined #lisp 2020-04-10T07:06:51Z slyrus__ quit (Read error: Connection reset by peer) 2020-04-10T07:11:37Z shifty quit (Ping timeout: 264 seconds) 2020-04-10T07:12:18Z shifty joined #lisp 2020-04-10T07:13:47Z holycow quit (Quit: Lost terminal) 2020-04-10T07:15:02Z revtintin joined #lisp 2020-04-10T07:20:08Z revtintin quit (Ping timeout: 256 seconds) 2020-04-10T07:22:20Z shifty quit (Ping timeout: 256 seconds) 2020-04-10T07:24:20Z shifty joined #lisp 2020-04-10T07:25:13Z jello_pudding quit (Ping timeout: 265 seconds) 2020-04-10T07:25:45Z jonatack_ joined #lisp 2020-04-10T07:29:19Z jonatack quit (Ping timeout: 250 seconds) 2020-04-10T07:29:50Z revtintin joined #lisp 2020-04-10T07:30:18Z mangul joined #lisp 2020-04-10T07:32:02Z mangul quit (Remote host closed the connection) 2020-04-10T07:32:55Z shangul joined #lisp 2020-04-10T07:33:34Z shifty quit (Ping timeout: 240 seconds) 2020-04-10T07:33:53Z random-nick joined #lisp 2020-04-10T07:34:32Z shangul quit (Remote host closed the connection) 2020-04-10T07:34:48Z shifty joined #lisp 2020-04-10T07:34:57Z shangul joined #lisp 2020-04-10T07:36:47Z jello_pudding joined #lisp 2020-04-10T07:37:04Z revtintin quit (Ping timeout: 256 seconds) 2020-04-10T07:49:43Z gko joined #lisp 2020-04-10T07:50:51Z revtintin joined #lisp 2020-04-10T07:55:02Z Kundry_Wag joined #lisp 2020-04-10T07:58:31Z lavaflow joined #lisp 2020-04-10T08:00:05Z Kundry_Wag quit (Ping timeout: 250 seconds) 2020-04-10T08:00:15Z joast quit (Ping timeout: 260 seconds) 2020-04-10T08:00:42Z grabarz joined #lisp 2020-04-10T08:03:22Z lavaflow quit (Ping timeout: 256 seconds) 2020-04-10T08:04:40Z Necktwi quit (Ping timeout: 265 seconds) 2020-04-10T08:05:06Z Necktwi joined #lisp 2020-04-10T08:08:54Z xaotuk joined #lisp 2020-04-10T08:13:36Z akoana quit (Quit: leaving) 2020-04-10T08:21:43Z heisig joined #lisp 2020-04-10T08:40:49Z libertyprime quit (Ping timeout: 250 seconds) 2020-04-10T08:42:53Z libertyprime joined #lisp 2020-04-10T08:43:43Z grabarz quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-10T08:43:56Z xantoz quit (Ping timeout: 256 seconds) 2020-04-10T08:53:37Z revtintin quit (Ping timeout: 264 seconds) 2020-04-10T08:56:25Z xantoz joined #lisp 2020-04-10T08:56:54Z Necktwi quit (Ping timeout: 240 seconds) 2020-04-10T08:58:04Z Necktwi joined #lisp 2020-04-10T09:00:56Z dilated_dinosaur quit (Remote host closed the connection) 2020-04-10T09:05:41Z tiwEllien joined #lisp 2020-04-10T09:07:11Z revtintin joined #lisp 2020-04-10T09:13:44Z White_Flame: hmm, so if I have a lexer/parser that takes a character stream, how best to integrate it into the lisp reader for a non-string sublanguage? 2020-04-10T09:14:00Z shangul quit (Ping timeout: 258 seconds) 2020-04-10T09:14:41Z ggole joined #lisp 2020-04-10T09:16:28Z flip214: Is there an easy way to compare two hash-table trees for EQUALity? Apart from using ALEXANDRIA:HASH-TABLE-ALIST recursively, then sorting, or so? 2020-04-10T09:18:50Z flip214: thanks, got it already in 7 lines 2020-04-10T09:19:14Z jackdaniel: flip214: equalp works on hash tables 2020-04-10T09:19:32Z White_Flame: equalp is often wrong/unwanted due to ignoring string case 2020-04-10T09:19:43Z aeth: If EQUALP doesn't quite do what you want (e.g. it's case insensitive) just maphash 2020-04-10T09:20:11Z aeth: the only potentially tricky part is that you need to know if you didn't cover any values in the hash table not being mapped over 2020-04-10T09:21:16Z aeth: The laziest programmer way to avoid this issue is to have a counter since you can easily take the size of a hash table at the end. Or even just do a size comparison first. If the sizes aren't equal, they can't be equal. 2020-04-10T09:22:08Z madage quit (Remote host closed the connection) 2020-04-10T09:23:52Z aeth: Actually, LOOP is better than MAPHASH here because you want short circuiting 2020-04-10T09:24:58Z heisig: You can also short-circuit MAPHASH, using GO or RETURN-FROM. 2020-04-10T09:25:11Z aeth: ah 2020-04-10T09:25:31Z heisig: Or you could use WITH-HASH-TABLE-ITERATOR, if you want your program to be particularly ugly :) 2020-04-10T09:27:02Z peli left #lisp 2020-04-10T09:27:08Z xaotuk quit (Quit: WeeChat 2.7.1) 2020-04-10T09:27:55Z dilated_dinosaur joined #lisp 2020-04-10T09:28:47Z White_Flame: I made do-plist, do-alist, do-hash specifically with a surrounding (block nil ...) exactly for that 2020-04-10T09:29:57Z aeth: ah 2020-04-10T09:30:24Z White_Flame: I use them surprisingly often, even though it's not that big of a deal, it feels nice 2020-04-10T09:31:20Z madage joined #lisp 2020-04-10T09:32:26Z heisig: I prefer non-nil block names. I tend to forget which macros add an implicit block named nil, so an occurring RETURN can be quite confusing. 2020-04-10T09:32:52Z White_Flame: return-from is annoyingly long for me, for some reason 2020-04-10T09:33:02Z White_Flame: even though I do use extremely long names in my own stuff 2020-04-10T09:35:52Z no-defun-allowed: I still need to think of a better name than DECENTRALISE-STANDARD-SYSTEM:UPDATE-SYSTEM-FOR-NEW-INTERESTING-OBJECT-PREDICATE 2020-04-10T09:36:22Z flip214: White_Flame: why not call the blocks 'do-plist, 'do-hash, etc.? 2020-04-10T09:37:07Z White_Flame: purely because I'd rather do (reutrn foo) than (return-from do-plist val) 2020-04-10T09:37:10Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-04-10T09:37:32Z White_Flame: if I need to return deeper (which is exremely rarely; plain early exit is rare enough), then I'll manually use a lbock 2020-04-10T09:37:54Z White_Flame: or a block, if I want it to compile without typos 2020-04-10T09:38:36Z Lord_of_Life joined #lisp 2020-04-10T09:38:43Z White_Flame: no-defun-allowed: seems like a fine name to me, assuming your tab key works 2020-04-10T09:39:16Z no-defun-allowed: White_Flame: Then I get lazy and write d-s-s:u-s-f and SLIME gets confused as it doesn't like expanding both sides of a package : 2020-04-10T09:39:34Z White_Flame: no package local nickname for the first part? 2020-04-10T09:40:02Z aeth: Oh no, Gitlab has a new "smart" editor for its snippits that messes up the indentation. 2020-04-10T09:40:36Z no-defun-allowed: Someone would probably tell me decentralise-standard-system is too short and ambiguous. 2020-04-10T09:42:42Z no-defun-allowed: To be safe, I should use reverse domain name notation and call it org.cooperative-of-applied-language.decentralise2.standard-system:update-system-for-new-interesting-object-predicate 2020-04-10T09:43:09Z White_Flame: still shorter than real java code 2020-04-10T09:43:17Z no-defun-allowed: ): 2020-04-10T09:44:34Z revtintin quit (Ping timeout: 256 seconds) 2020-04-10T09:47:02Z aeth: Well, I hope I didn't mess this up when I manually indented the code like... well, I don't think I've ever manually indented Common Lisp before. https://gitlab.com/snippets/1964967 2020-04-10T09:47:11Z frgo_ joined #lisp 2020-04-10T09:47:27Z aeth: Thanks for messing up your simple pastebin functionality by making your editor "smart", Gitlab. 2020-04-10T09:47:27Z frgo_ quit (Client Quit) 2020-04-10T09:52:15Z iAmDecim joined #lisp 2020-04-10T09:52:45Z White_Flame: also, thanks for showing empty pages when javascript is disabled, gitlab 2020-04-10T09:53:24Z aeth: There's actually a way around that because it has an API 2020-04-10T09:53:33Z Kundry_Wag joined #lisp 2020-04-10T09:53:47Z aeth: But I generally disable JavaScript through umatrix because far too many things break without it running entirely 2020-04-10T09:54:06Z aeth: umatrix defaults to enabling first party JS, which works for pretty much every site that isn't a news site 2020-04-10T09:54:44Z White_Flame: everybody uses cloudflare & google js links though 2020-04-10T09:55:29Z aeth: You can whitelist more than just first party, but "everybody uses cloudflare" is part of what I mean by "except for news sites" 2020-04-10T09:56:23Z gxt quit (Ping timeout: 240 seconds) 2020-04-10T09:57:36Z revtintin joined #lisp 2020-04-10T09:57:40Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-10T09:58:26Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-10T09:58:30Z aeth: but anyway, my points are (1) wow that was unexpectedly hard because hash tables are kind of the worst case for this sort of thing (maybe I should put it in my util library) and (2) the last thing that needs a "smart" JS editor that messes with indentation is a pastebin for source code 2020-04-10T09:59:10Z random-nick quit (Quit: quit) 2020-04-10T10:00:36Z random-nick joined #lisp 2020-04-10T10:07:26Z random-nick quit (Ping timeout: 265 seconds) 2020-04-10T10:10:54Z ramHero joined #lisp 2020-04-10T10:12:35Z ebrasca quit (Remote host closed the connection) 2020-04-10T10:14:13Z karlosz quit (Quit: karlosz) 2020-04-10T10:15:55Z SGASAU quit (Remote host closed the connection) 2020-04-10T10:16:16Z SGASAU joined #lisp 2020-04-10T10:16:29Z shifty quit (Ping timeout: 258 seconds) 2020-04-10T10:17:04Z amerigo joined #lisp 2020-04-10T10:17:09Z frgo quit (Remote host closed the connection) 2020-04-10T10:17:41Z frgo joined #lisp 2020-04-10T10:19:30Z random-nick joined #lisp 2020-04-10T10:24:03Z ramHero93 joined #lisp 2020-04-10T10:24:44Z ayuce joined #lisp 2020-04-10T10:28:06Z Codaraxis_ joined #lisp 2020-04-10T10:29:00Z Codaraxis__ quit (Ping timeout: 256 seconds) 2020-04-10T10:29:37Z iAmDecim joined #lisp 2020-04-10T10:31:26Z igemnace quit (Remote host closed the connection) 2020-04-10T10:33:10Z flip214: aeth: your paste doesn't do recursive hash-table trees. 2020-04-10T10:34:37Z flip214: aeth: I've got hashtables with string keys, so I resorted to providing a "readable" (ha!) representation, and then do (equalp) of both. 2020-04-10T10:34:41Z flip214: see https://paste.debian.net/hidden/592182e3/ 2020-04-10T10:36:37Z niceplace quit (Ping timeout: 265 seconds) 2020-04-10T10:37:37Z niceplace joined #lisp 2020-04-10T10:38:16Z ramHero93 quit (Remote host closed the connection) 2020-04-10T10:41:57Z gxt joined #lisp 2020-04-10T10:49:56Z choegusung joined #lisp 2020-04-10T10:49:56Z choegusung quit (Client Quit) 2020-04-10T10:52:12Z ayuce quit (Remote host closed the connection) 2020-04-10T10:55:46Z ArthurStrong joined #lisp 2020-04-10T11:00:42Z ayuce joined #lisp 2020-04-10T11:02:00Z ramHero quit (Quit: beback) 2020-04-10T11:03:10Z ramHero joined #lisp 2020-04-10T11:06:21Z frgo quit 2020-04-10T11:11:30Z Krystof joined #lisp 2020-04-10T11:17:08Z kslt1 joined #lisp 2020-04-10T11:23:56Z cosimone joined #lisp 2020-04-10T11:24:02Z mrrevolt joined #lisp 2020-04-10T11:26:02Z pve joined #lisp 2020-04-10T11:30:00Z lavaflow joined #lisp 2020-04-10T11:36:09Z flip214: can a macro see the "original" form that it resulted from that was given to the compiler before any macroexpansions started? 2020-04-10T11:37:41Z MichaelRaskin: macros are processed top-down, if that's what you mean — internal macro invocations are not expanded 2020-04-10T11:37:46Z Shinmera: macros are expanded outside in, so that's what it gets. 2020-04-10T11:38:56Z phoe: flip214: there's no way to do that unless your outer macros explicitly communicate with the inner ones in some way. see https://etc.ruricolist.com/2020/03/15/the-symbol-macrolet-trick/ 2020-04-10T11:39:20Z phoe: you can pass information through the &environment that way. 2020-04-10T11:43:22Z frgo joined #lisp 2020-04-10T11:44:59Z White_Flame: wow, that's pretty nasty 2020-04-10T11:46:02Z White_Flame: if I read flip214's question correctly, in your (defmacro foo (params) ...) the params will already be the original pre-macroexpansion form, if it contains any 2020-04-10T11:46:24Z dddddd joined #lisp 2020-04-10T11:46:29Z White_Flame: because of the outside-in ordering 2020-04-10T11:46:41Z flip214: White_Flame: I'd like to annotate source forms for debugging purposes... so the macroexpanded things don't help that much 2020-04-10T11:46:45Z MichaelRaskin: White_Flame: my paper about code walking contains an actual nasty example 2020-04-10T11:47:08Z MichaelRaskin: flip214: you get original non-expanded forms 2020-04-10T11:47:32Z MichaelRaskin: White_Flame: the author here is being nice with inter-macro communication 2020-04-10T11:49:13Z White_Flame: are there compatibility libs to access environment objects in a standard way? 2020-04-10T11:50:18Z Shinmera: there's several cltl2 portability libraries in various states of... compatibility 2020-04-10T11:52:49Z flip214: I've got comments that I want to associate to the forms after them. but if a macro expands into some code, the CONSes or form tree won't match what I'm seeing at the form of the comment. 2020-04-10T11:53:34Z flip214: I'd like to be able to later on find the comment of the given form. 2020-04-10T11:54:34Z Shinmera: (defmacro with-comment (comment &body stuff) #| stash the stuff and comment somewhere to look up later #| `(progn ,@stuff)) 2020-04-10T11:54:50Z Shinmera: err, |# at the end there but whatever 2020-04-10T11:58:45Z White_Flame: how do you have a reference to the form in order to try to find the comment? 2020-04-10T11:58:51Z flip214: yeah, but how would stuff find its comment again? 2020-04-10T11:59:11Z Shinmera: I have no damn idea what you want to begin with, so 2020-04-10T11:59:14Z White_Flame: if it's data, unevaluated, your macro won't run. if it's evaluated, the "form" is now in a compiled form and you don't have a reference to its bit in the machine code 2020-04-10T11:59:36Z flip214: White_Flame: some things have a compiler-macro that has "&whole form" to reference back into a hash-table for the comment 2020-04-10T12:00:15Z White_Flame: so you want an EQ reference to that form somehow from somewhere else? 2020-04-10T12:00:40Z flip214: I guess so... I got myself confused already ;/ 2020-04-10T12:00:47Z White_Flame: as a key to the hashtable of comments or something 2020-04-10T12:00:50Z flip214: Might need to sleep over the whole concept 2020-04-10T12:00:55Z White_Flame: yeah, I don't know what your lookup key is 2020-04-10T12:01:01Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-10T12:03:35Z z147 joined #lisp 2020-04-10T12:06:00Z nwoob_ joined #lisp 2020-04-10T12:06:56Z ayuce quit (Remote host closed the connection) 2020-04-10T12:07:57Z nwoob quit (Ping timeout: 250 seconds) 2020-04-10T12:11:06Z jonatack_ quit (Ping timeout: 258 seconds) 2020-04-10T12:12:48Z ramHero quit (Ping timeout: 265 seconds) 2020-04-10T12:18:04Z Steinberg2010 joined #lisp 2020-04-10T12:19:47Z Kundry_Wag joined #lisp 2020-04-10T12:27:52Z Bike joined #lisp 2020-04-10T12:31:30Z moewe joined #lisp 2020-04-10T12:32:04Z moewe: Hey folks, trying some LISPing. I cant find an answer to my question: 2020-04-10T12:32:11Z shka_ joined #lisp 2020-04-10T12:33:31Z Xach leans forward in anticipation 2020-04-10T12:33:52Z heisig: 42 2020-04-10T12:34:12Z Josh_2: ^ 2020-04-10T12:34:14Z moewe: When I'm inside a package -> (in-package), I obviously can't access outside symbols, especially (true). I can't find how to access that inside a package? I also tried to simply exit the package namespace and execute it there, but the internet said to simply use the lisp namespace. But at least in sbcl it doesn't exist. 2020-04-10T12:34:28Z moewe: In short: how to evaluate (true) inside a package? 2020-04-10T12:34:38Z Xach: moewe: the premise is wrong. you can access any symbol at any time. 2020-04-10T12:34:50Z Xach: moewe: to access it without a prefix requires some setup. 2020-04-10T12:35:16Z Xach: moewe: TRUE isn't a standard symbol - do you know its home package name? 2020-04-10T12:35:50Z xuxuru joined #lisp 2020-04-10T12:36:02Z moewe: oh damn I this is a weird coindidence 2020-04-10T12:36:36Z moewe: I wanted to just let the script wait forever, so I did (sleep (true)), but apparently sbcl just crashed at that moment, and that doesnt even exist 2020-04-10T12:36:37Z moewe: huh 2020-04-10T12:36:39Z moewe: ok 2020-04-10T12:36:44Z moewe: let me rephrase the question 2020-04-10T12:37:02Z Bike: what is "true"? 2020-04-10T12:37:11Z moewe: Is there a way to not let a script exit on the end? I need to keep it alive so a thread can continue working 2020-04-10T12:37:23Z Xach: moewe: sure. (loop (sleep 1)) is one way. 2020-04-10T12:37:29Z moewe: aaah thanks! 2020-04-10T12:37:45Z Xach: (loop) is another but that will use CPU 2020-04-10T12:37:47Z _death: join-thread 2020-04-10T12:38:02Z Xach: that is a very nice way when a thread is involved! 2020-04-10T12:38:35Z Steinberg2010 quit (Ping timeout: 246 seconds) 2020-04-10T12:41:24Z shifty joined #lisp 2020-04-10T12:41:42Z z147 quit (Quit: z147) 2020-04-10T12:45:39Z Shinmera: (sleep most-positive-fixnum) 2020-04-10T12:47:55Z no-defun-allowed: (sleep most-positive-double-float) 2020-04-10T12:48:16Z no-defun-allowed: Aw, SBCL doesn't like that. 2020-04-10T12:48:35Z Shinmera: (sleep float-features:single-float-positive-infinity) :V 2020-04-10T12:48:59Z Bike: join-thread is probably the way to go if you are in fact wanting a thread to finish 2020-04-10T12:49:19Z no-defun-allowed: "arithmetic error FLOATING-POINT-INVALID-OPERATION signalled" time to report this bug in SBCL /s 2020-04-10T12:49:52Z Xach: moewe: out of curiosity, what is the thread doing? 2020-04-10T12:51:36Z moewe: I actually just sent you an E-Mail for inclusion about that :D I try to create a telegram bot, and that creates a thread in the background to listen for messages, so that thread never finishes 2020-04-10T12:52:00Z Bike: join-thread will never return, then. seems fine 2020-04-10T12:52:35Z _death: maybe it would be a good idea to have a way to signal the thread that it needs to die 2020-04-10T12:52:45Z moewe: Also thought about that 2020-04-10T12:52:53Z moewe: currently screening and CTRL+C 2020-04-10T12:53:07Z moewe: but that's in the future - I just want that thing to work 2020-04-10T12:53:12Z moewe: at least rn 2020-04-10T12:53:30Z Xach: Are there other threads running? 2020-04-10T12:53:45Z moewe: but since I want to liberate it as soon as it is, I need to rework that as later on ^^" 2020-04-10T12:54:02Z moewe: I don't know what that lib does, but at least I didn't start a different one 2020-04-10T12:54:13Z Xach: oh. 2020-04-10T12:54:55Z jprajzne joined #lisp 2020-04-10T12:56:48Z smasta joined #lisp 2020-04-10T12:57:31Z Xach: moewe: if you are able it is helpful for you to create a github issue 2020-04-10T13:01:54Z smasta quit (Ping timeout: 240 seconds) 2020-04-10T13:02:52Z voidlily quit (Ping timeout: 260 seconds) 2020-04-10T13:15:59Z pilne joined #lisp 2020-04-10T13:16:16Z voidlily joined #lisp 2020-04-10T13:16:21Z jonatack joined #lisp 2020-04-10T13:17:52Z kslt1 quit (Remote host closed the connection) 2020-04-10T13:18:59Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-10T13:19:30Z rippa joined #lisp 2020-04-10T13:21:47Z joast joined #lisp 2020-04-10T13:24:31Z ayuce joined #lisp 2020-04-10T13:24:33Z iAmDecim joined #lisp 2020-04-10T13:28:39Z narimiran quit (Quit: leaving) 2020-04-10T13:30:11Z smasta joined #lisp 2020-04-10T13:31:21Z francogrex joined #lisp 2020-04-10T13:32:00Z francogrex: Hi, does anyone know how to make a pointer executable in memory, using sb-posix? (sbcl)? 2020-04-10T13:33:12Z voidlily quit (Ping timeout: 260 seconds) 2020-04-10T13:33:24Z _death: mprotect? 2020-04-10T13:33:48Z mrrevolt quit (Quit: Connection closed for inactivity) 2020-04-10T13:34:35Z francogrex: on windows I used something like that (cffi:with-foreign-object (oldprotect 'dword) (VIRTUAL-PROTECT pointer 8 #x40 oldprotect)) 2020-04-10T13:34:49Z francogrex: to make the pointer executable 2020-04-10T13:35:06Z francogrex: _death: mprotect yes but how? 2020-04-10T13:35:19Z smasta quit (Ping timeout: 260 seconds) 2020-04-10T13:35:27Z _death: it's not the pointer that is made executable.. it's the memory pointed to 2020-04-10T13:35:53Z _death: man mprotect 2020-04-10T13:36:33Z francogrex: yes but from within sbcl. not man mprotect 2020-04-10T13:37:02Z Bike: you can probably call mprotect from within sbcl 2020-04-10T13:39:55Z francogrex: mprotect(code,pagesize,PROT_EXEC) I have a pointer with sb-alien:make-alien ... 2020-04-10T13:42:49Z revtintin quit (Ping timeout: 264 seconds) 2020-04-10T13:45:03Z cosimone quit (Read error: Connection reset by peer) 2020-04-10T13:45:27Z cosimone joined #lisp 2020-04-10T13:46:25Z ramHero joined #lisp 2020-04-10T13:48:30Z v88m quit (Ping timeout: 265 seconds) 2020-04-10T13:49:52Z FreeBirdLjj joined #lisp 2020-04-10T13:49:57Z efm quit (Ping timeout: 265 seconds) 2020-04-10T13:51:18Z hhdave joined #lisp 2020-04-10T13:52:24Z ahungry joined #lisp 2020-04-10T13:54:12Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-04-10T14:01:16Z Necktwi quit (Ping timeout: 256 seconds) 2020-04-10T14:02:52Z lucasb joined #lisp 2020-04-10T14:03:48Z grobe0ba quit (Ping timeout: 258 seconds) 2020-04-10T14:03:49Z pilne quit (Read error: Connection reset by peer) 2020-04-10T14:05:52Z pilne joined #lisp 2020-04-10T14:07:45Z grobe0ba joined #lisp 2020-04-10T14:08:43Z pilne quit (Read error: Connection reset by peer) 2020-04-10T14:11:19Z Shinmera: Colleen: tell francogrex look up mmap 2020-04-10T14:11:19Z Colleen: francogrex: About mmap https://shinmera.github.io/mmap#about_mmap 2020-04-10T14:11:53Z pilne joined #lisp 2020-04-10T14:12:11Z Necktwi joined #lisp 2020-04-10T14:20:21Z Xach quit (Remote host closed the connection) 2020-04-10T14:22:12Z Inline joined #lisp 2020-04-10T14:22:12Z bitmapper joined #lisp 2020-04-10T14:23:32Z libertyprime quit (Read error: Connection reset by peer) 2020-04-10T14:24:25Z emys joined #lisp 2020-04-10T14:26:58Z libertyprime joined #lisp 2020-04-10T14:29:46Z smasta joined #lisp 2020-04-10T14:31:02Z revtintin joined #lisp 2020-04-10T14:34:56Z smasta quit (Ping timeout: 256 seconds) 2020-04-10T14:36:34Z francogrex quit (Read error: Connection reset by peer) 2020-04-10T14:38:45Z moewe quit (Quit: Leaving) 2020-04-10T14:42:16Z zaquest quit (Quit: Leaving) 2020-04-10T14:44:34Z revtintin quit (Ping timeout: 256 seconds) 2020-04-10T14:45:05Z Kundry_Wag joined #lisp 2020-04-10T14:50:01Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-10T14:51:53Z trafaret1 joined #lisp 2020-04-10T14:54:02Z random-nick quit (Ping timeout: 256 seconds) 2020-04-10T15:01:26Z efm joined #lisp 2020-04-10T15:01:33Z Yardanico quit (Killed (Sigyn (Spam is off topic on freenode.))) 2020-04-10T15:01:46Z trafaret1 left #lisp 2020-04-10T15:11:56Z gko quit (Ping timeout: 265 seconds) 2020-04-10T15:12:09Z flip214: when using MACROEXPAND(-ALL), can I tell sbcl to use the environment it's currently running the form in, so that the currently active bindings are seen by the macros? 2020-04-10T15:13:34Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-10T15:20:25Z shka_ quit (Quit: Konversation terminated!) 2020-04-10T15:24:23Z phoe: yes, they accept the &environment arg 2020-04-10T15:24:46Z phoe: but you need a macro to access its value 2020-04-10T15:25:31Z wsinatra joined #lisp 2020-04-10T15:29:25Z flip214: I tried to copy CAPTURE-ENV from the SBCL tests... but it seems to capture only local functions, and not special variables 2020-04-10T15:31:52Z random-nick joined #lisp 2020-04-10T15:32:21Z shka_ joined #lisp 2020-04-10T15:33:22Z pjb: (defmacro expand (&environment env expression) (macroexpand expression env)) (macrolet ((moo (x) `'(in moo ,x))) (expand (moo 42))) #| --> (in moo 42) |# 2020-04-10T15:40:40Z Yardanico joined #lisp 2020-04-10T15:44:01Z vhost- quit (Ping timeout: 265 seconds) 2020-04-10T15:44:07Z jfrancis joined #lisp 2020-04-10T15:46:38Z z147 joined #lisp 2020-04-10T15:50:04Z beach left #lisp 2020-04-10T15:50:28Z beach joined #lisp 2020-04-10T15:52:12Z SGASAU quit (Remote host closed the connection) 2020-04-10T15:52:33Z SGASAU joined #lisp 2020-04-10T15:54:42Z flip214: yeah, right, I could try to expand in a macro and return the expansion from it... does that match my needs? 2020-04-10T15:54:45Z flip214: thanks anyway! 2020-04-10T15:57:14Z beach: flip214: Have you explained what it is you are trying to accomplish? I must have missed it. But it sounds like you need some other tools. 2020-04-10T15:58:25Z iAmDecim joined #lisp 2020-04-10T15:59:25Z hhdave quit (Quit: hhdave) 2020-04-10T16:00:11Z vhost- joined #lisp 2020-04-10T16:00:11Z vhost- quit (Changing host) 2020-04-10T16:00:12Z vhost- joined #lisp 2020-04-10T16:02:13Z flip214: beach: yeah, a less-impaired brain perhaps ;) 2020-04-10T16:03:01Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-10T16:03:57Z beach: I was thinking more about some Cleavir processing. 2020-04-10T16:05:14Z Kundry_Wag joined #lisp 2020-04-10T16:06:21Z vtomole joined #lisp 2020-04-10T16:06:44Z ramHero quit (Ping timeout: 265 seconds) 2020-04-10T16:09:37Z wsinatra quit (Quit: WeeChat 2.7) 2020-04-10T16:18:03Z smasta joined #lisp 2020-04-10T16:19:08Z beach quit (Remote host closed the connection) 2020-04-10T16:22:28Z beach joined #lisp 2020-04-10T16:22:45Z smasta quit (Ping timeout: 250 seconds) 2020-04-10T16:26:43Z karlosz joined #lisp 2020-04-10T16:27:42Z emys quit (Ping timeout: 256 seconds) 2020-04-10T16:30:57Z emys joined #lisp 2020-04-10T16:34:56Z SGASAU quit (Remote host closed the connection) 2020-04-10T16:35:31Z SGASAU joined #lisp 2020-04-10T16:37:55Z SGASAU quit (Remote host closed the connection) 2020-04-10T16:39:17Z emys quit (Ping timeout: 260 seconds) 2020-04-10T16:39:30Z SGASAU joined #lisp 2020-04-10T16:40:52Z ayuce quit (Remote host closed the connection) 2020-04-10T16:41:38Z ayuce joined #lisp 2020-04-10T16:43:58Z shifty quit (Ping timeout: 256 seconds) 2020-04-10T16:44:42Z iAmDecim joined #lisp 2020-04-10T16:52:00Z drmeister quit (Ping timeout: 246 seconds) 2020-04-10T16:52:18Z drmeister joined #lisp 2020-04-10T16:52:25Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-10T17:03:43Z z147 quit (Ping timeout: 240 seconds) 2020-04-10T17:08:04Z z147 joined #lisp 2020-04-10T17:12:31Z shifty joined #lisp 2020-04-10T17:20:15Z shifty quit (Ping timeout: 260 seconds) 2020-04-10T17:21:12Z shifty joined #lisp 2020-04-10T17:21:59Z Kundry_Wag quit (Remote host closed the connection) 2020-04-10T17:22:34Z Kundry_Wag joined #lisp 2020-04-10T17:27:13Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-10T17:33:36Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-04-10T17:34:01Z Lord_of_Life joined #lisp 2020-04-10T17:45:42Z Kundry_Wag joined #lisp 2020-04-10T17:46:00Z phadthai quit (Ping timeout: 256 seconds) 2020-04-10T17:46:08Z phadthai joined #lisp 2020-04-10T17:47:17Z sendai_ is now known as azimut__ 2020-04-10T17:56:44Z JetJej joined #lisp 2020-04-10T17:57:54Z bendersteed joined #lisp 2020-04-10T17:58:14Z vtomole quit (Remote host closed the connection) 2020-04-10T17:59:35Z X-Scale quit (*.net *.split) 2020-04-10T17:59:35Z mhitchman[m] quit (*.net *.split) 2020-04-10T17:59:36Z katco quit (*.net *.split) 2020-04-10T17:59:36Z LdBeth quit (*.net *.split) 2020-04-10T17:59:36Z amnesic[m] quit (*.net *.split) 2020-04-10T17:59:36Z no-defun-allowed quit (*.net *.split) 2020-04-10T17:59:36Z sepi``` quit (*.net *.split) 2020-04-10T17:59:36Z specbot quit (*.net *.split) 2020-04-10T17:59:36Z jbgg quit (*.net *.split) 2020-04-10T17:59:36Z APic quit (*.net *.split) 2020-04-10T17:59:36Z eagleflo quit (*.net *.split) 2020-04-10T17:59:36Z DGASAU` quit (*.net *.split) 2020-04-10T17:59:37Z creat quit (*.net *.split) 2020-04-10T17:59:37Z housel quit (*.net *.split) 2020-04-10T17:59:37Z abbe quit (*.net *.split) 2020-04-10T17:59:37Z vidak` quit (*.net *.split) 2020-04-10T18:03:51Z mhitchman[m] joined #lisp 2020-04-10T18:03:51Z no-defun-allowed joined #lisp 2020-04-10T18:03:51Z katco joined #lisp 2020-04-10T18:03:51Z LdBeth joined #lisp 2020-04-10T18:03:51Z amnesic[m] joined #lisp 2020-04-10T18:03:51Z sepi``` joined #lisp 2020-04-10T18:03:51Z specbot joined #lisp 2020-04-10T18:03:51Z jbgg joined #lisp 2020-04-10T18:03:51Z APic joined #lisp 2020-04-10T18:03:51Z eagleflo joined #lisp 2020-04-10T18:03:51Z DGASAU` joined #lisp 2020-04-10T18:03:51Z creat joined #lisp 2020-04-10T18:03:51Z housel joined #lisp 2020-04-10T18:03:51Z abbe joined #lisp 2020-04-10T18:03:51Z vidak` joined #lisp 2020-04-10T18:04:24Z X-Scale joined #lisp 2020-04-10T18:05:26Z sepi``` quit (Ping timeout: 240 seconds) 2020-04-10T18:06:17Z smasta joined #lisp 2020-04-10T18:10:54Z smasta quit (Ping timeout: 240 seconds) 2020-04-10T18:14:01Z orivej quit (Ping timeout: 264 seconds) 2020-04-10T18:15:25Z creat quit (Max SendQ exceeded) 2020-04-10T18:15:49Z creat joined #lisp 2020-04-10T18:23:47Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-10T18:28:26Z jbgg quit (Ping timeout: 240 seconds) 2020-04-10T18:29:07Z Soltex joined #lisp 2020-04-10T18:30:31Z jbgg joined #lisp 2020-04-10T18:30:51Z dale_ joined #lisp 2020-04-10T18:31:24Z SGASAU quit (Remote host closed the connection) 2020-04-10T18:31:46Z cosimone quit (Remote host closed the connection) 2020-04-10T18:32:14Z cosimone joined #lisp 2020-04-10T18:32:25Z SGASAU joined #lisp 2020-04-10T18:34:16Z Soltex quit (Quit: Leaving for some reason) 2020-04-10T18:34:27Z Soltex joined #lisp 2020-04-10T18:34:33Z sz0 quit (Ping timeout: 246 seconds) 2020-04-10T18:34:39Z iAmDecim joined #lisp 2020-04-10T18:35:15Z kilimanjaro quit (Ping timeout: 246 seconds) 2020-04-10T18:36:17Z jasom quit (Ping timeout: 246 seconds) 2020-04-10T18:36:32Z kilimanjaro joined #lisp 2020-04-10T18:36:44Z jasom joined #lisp 2020-04-10T18:37:20Z sz0 joined #lisp 2020-04-10T18:37:42Z cosimone quit (Ping timeout: 260 seconds) 2020-04-10T18:37:42Z cosimone_ joined #lisp 2020-04-10T18:40:59Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-10T18:41:23Z luis quit (Quit: ZNC - http://znc.sourceforge.net) 2020-04-10T18:43:07Z luis joined #lisp 2020-04-10T18:44:17Z hhdave joined #lisp 2020-04-10T18:44:19Z cosimone joined #lisp 2020-04-10T18:44:42Z cosimone_ quit (Ping timeout: 260 seconds) 2020-04-10T18:45:11Z efm quit (Ping timeout: 260 seconds) 2020-04-10T18:47:26Z hhdave quit (Client Quit) 2020-04-10T18:52:09Z tutti joined #lisp 2020-04-10T18:56:18Z Kundry_Wag quit (Remote host closed the connection) 2020-04-10T19:01:10Z Xach joined #lisp 2020-04-10T19:03:02Z v88m joined #lisp 2020-04-10T19:08:26Z ahungry quit (Remote host closed the connection) 2020-04-10T19:12:23Z shka_ quit (Ping timeout: 258 seconds) 2020-04-10T19:13:15Z ahungry joined #lisp 2020-04-10T19:17:48Z SGASAU quit (Remote host closed the connection) 2020-04-10T19:18:34Z SGASAU joined #lisp 2020-04-10T19:22:27Z v88m quit (Read error: Connection reset by peer) 2020-04-10T19:22:57Z v88m joined #lisp 2020-04-10T19:23:05Z watkinsr quit (Remote host closed the connection) 2020-04-10T19:24:09Z libertyprime quit (Read error: Connection reset by peer) 2020-04-10T19:25:38Z v88m quit (Read error: Connection reset by peer) 2020-04-10T19:26:18Z v88m joined #lisp 2020-04-10T19:29:05Z v88m quit (Read error: Connection reset by peer) 2020-04-10T19:29:31Z v88m joined #lisp 2020-04-10T19:29:36Z Kundry_Wag joined #lisp 2020-04-10T19:31:51Z EvW1 joined #lisp 2020-04-10T19:33:54Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-10T19:34:27Z xuxuru quit (Quit: xuxuru) 2020-04-10T19:35:36Z tutti quit (Ping timeout: 256 seconds) 2020-04-10T19:35:38Z v88m quit (Read error: Connection reset by peer) 2020-04-10T19:37:41Z v88m joined #lisp 2020-04-10T19:40:45Z v88m quit (Read error: Connection reset by peer) 2020-04-10T19:41:05Z v88m joined #lisp 2020-04-10T19:41:17Z EvW1 quit (Ping timeout: 260 seconds) 2020-04-10T19:42:48Z v88m quit (Read error: Connection reset by peer) 2020-04-10T19:42:51Z iAmDecim joined #lisp 2020-04-10T19:45:50Z v88m joined #lisp 2020-04-10T19:46:01Z v88m quit (Read error: Connection reset by peer) 2020-04-10T19:47:50Z v88m joined #lisp 2020-04-10T19:49:37Z ggole quit (Quit: Leaving) 2020-04-10T19:50:29Z ahungry quit (Remote host closed the connection) 2020-04-10T19:50:31Z asarch joined #lisp 2020-04-10T19:51:24Z stepnem quit (Read error: Connection reset by peer) 2020-04-10T19:54:35Z smasta joined #lisp 2020-04-10T19:55:10Z dale_ is now known as dale 2020-04-10T19:55:11Z stepnem joined #lisp 2020-04-10T19:55:48Z Kundry_Wag joined #lisp 2020-04-10T19:58:11Z ahungry joined #lisp 2020-04-10T19:59:23Z smasta quit (Ping timeout: 260 seconds) 2020-04-10T19:59:33Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-10T20:00:34Z bars0 joined #lisp 2020-04-10T20:03:55Z shangul joined #lisp 2020-04-10T20:05:39Z nwoob joined #lisp 2020-04-10T20:08:24Z nwoob_ quit (Ping timeout: 265 seconds) 2020-04-10T20:08:34Z renzhi joined #lisp 2020-04-10T20:30:48Z shangul quit (Ping timeout: 256 seconds) 2020-04-10T20:32:18Z efm joined #lisp 2020-04-10T20:33:47Z v88m quit (Read error: Connection reset by peer) 2020-04-10T20:35:03Z Steinberg2010 joined #lisp 2020-04-10T20:38:30Z heisig quit (Quit: Leaving) 2020-04-10T20:40:41Z v88m joined #lisp 2020-04-10T20:44:12Z emys joined #lisp 2020-04-10T20:46:57Z lilith_ joined #lisp 2020-04-10T20:47:03Z bendersteed quit (Remote host closed the connection) 2020-04-10T20:49:25Z lilith_ quit (Client Quit) 2020-04-10T20:53:38Z v88m quit (Read error: Connection reset by peer) 2020-04-10T20:54:07Z smasta joined #lisp 2020-04-10T20:57:40Z Kundry_Wag quit (Remote host closed the connection) 2020-04-10T20:58:58Z smasta quit (Ping timeout: 256 seconds) 2020-04-10T20:59:38Z v88m joined #lisp 2020-04-10T21:04:26Z v88m quit (Read error: Connection reset by peer) 2020-04-10T21:09:03Z Kundry_Wag joined #lisp 2020-04-10T21:13:52Z Steinberg2010 quit (Ping timeout: 256 seconds) 2020-04-10T21:16:14Z voidlily joined #lisp 2020-04-10T21:20:14Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-10T21:23:17Z bars0 quit (Quit: leaving) 2020-04-10T21:26:12Z ahungry quit (Remote host closed the connection) 2020-04-10T21:26:52Z emys quit (Ping timeout: 260 seconds) 2020-04-10T21:27:59Z emys joined #lisp 2020-04-10T21:30:50Z karlosz quit (Quit: karlosz) 2020-04-10T21:31:13Z karlosz joined #lisp 2020-04-10T21:36:24Z Lord_of_Life_ joined #lisp 2020-04-10T21:36:53Z hhdave joined #lisp 2020-04-10T21:39:35Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-04-10T21:39:37Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-10T21:41:24Z voidlily quit (Remote host closed the connection) 2020-04-10T21:43:30Z pilne_ joined #lisp 2020-04-10T21:43:36Z pilne quit (Read error: Connection reset by peer) 2020-04-10T21:43:55Z voidlily joined #lisp 2020-04-10T21:48:17Z smasta joined #lisp 2020-04-10T21:50:32Z iAmDecim joined #lisp 2020-04-10T21:51:23Z emys quit (Ping timeout: 260 seconds) 2020-04-10T21:53:00Z smasta quit (Ping timeout: 258 seconds) 2020-04-10T21:53:36Z karlosz quit (Remote host closed the connection) 2020-04-10T21:54:17Z Kundry_Wag quit (Remote host closed the connection) 2020-04-10T21:54:58Z Kundry_Wag joined #lisp 2020-04-10T21:55:48Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-10T21:57:19Z mikecheck joined #lisp 2020-04-10T21:58:10Z emys joined #lisp 2020-04-10T21:58:14Z gravicappa quit (Ping timeout: 240 seconds) 2020-04-10T21:59:14Z pve quit (Quit: leaving) 2020-04-10T22:04:23Z smasta joined #lisp 2020-04-10T22:06:41Z Codaraxis__ joined #lisp 2020-04-10T22:07:42Z emys quit (Ping timeout: 260 seconds) 2020-04-10T22:08:33Z housel quit (Read error: Connection reset by peer) 2020-04-10T22:08:46Z karlosz joined #lisp 2020-04-10T22:09:54Z Codaraxis_ quit (Ping timeout: 240 seconds) 2020-04-10T22:12:07Z r5o joined #lisp 2020-04-10T22:14:01Z emys joined #lisp 2020-04-10T22:16:06Z frgo quit (Remote host closed the connection) 2020-04-10T22:16:38Z frgo joined #lisp 2020-04-10T22:28:43Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-10T22:31:30Z __jrjsmrtn__ joined #lisp 2020-04-10T22:32:04Z _jrjsmrtn quit (Ping timeout: 256 seconds) 2020-04-10T22:33:33Z r5o quit (Read error: Connection reset by peer) 2020-04-10T22:34:15Z nwoob quit (Quit: Lost terminal) 2020-04-10T22:34:22Z emys quit (Ping timeout: 265 seconds) 2020-04-10T22:35:53Z ArthurStrong quit (Quit: leaving) 2020-04-10T22:36:49Z pilne_ quit (Quit: Give a man a fish and he will eat for a day. Teach him how to fish, and he will sit in a boat and drink beer all day) 2020-04-10T22:37:09Z pilne joined #lisp 2020-04-10T22:39:42Z karlosz quit (Quit: karlosz) 2020-04-10T22:39:58Z karlosz joined #lisp 2020-04-10T22:41:24Z emys joined #lisp 2020-04-10T22:41:36Z cosimone quit (Quit: Quit.) 2020-04-10T22:46:57Z SGASAU quit (Remote host closed the connection) 2020-04-10T22:47:31Z SGASAU joined #lisp 2020-04-10T22:48:01Z iAmDecim joined #lisp 2020-04-10T22:49:20Z emys quit (Ping timeout: 246 seconds) 2020-04-10T22:52:44Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-10T22:59:48Z karlosz quit (Quit: karlosz) 2020-04-10T23:05:36Z z147 quit (Quit: z147) 2020-04-10T23:12:24Z SGASAU quit (Remote host closed the connection) 2020-04-10T23:12:43Z SGASAU joined #lisp 2020-04-10T23:15:34Z jprajzne quit (Quit: jprajzne) 2020-04-10T23:15:57Z jprajzne joined #lisp 2020-04-10T23:16:38Z SGASAU quit (Remote host closed the connection) 2020-04-10T23:17:01Z SGASAU joined #lisp 2020-04-10T23:20:09Z jprajzne quit (Client Quit) 2020-04-10T23:20:34Z jprajzne joined #lisp 2020-04-10T23:25:54Z SGASAU quit (Remote host closed the connection) 2020-04-10T23:26:27Z SGASAU joined #lisp 2020-04-10T23:30:18Z torbo joined #lisp 2020-04-10T23:30:31Z asarch quit (Quit: Leaving) 2020-04-10T23:32:19Z iAmDecim joined #lisp 2020-04-10T23:40:14Z shifty quit (Ping timeout: 240 seconds) 2020-04-10T23:41:16Z hhdave quit (Quit: hhdave) 2020-04-10T23:56:54Z torbo quit (Remote host closed the connection) 2020-04-11T00:00:39Z jprajzne quit (Quit: jprajzne) 2020-04-11T00:01:02Z jprajzne joined #lisp 2020-04-11T00:05:09Z jprajzne quit (Client Quit) 2020-04-11T00:05:31Z r5o joined #lisp 2020-04-11T00:05:33Z jprajzne joined #lisp 2020-04-11T00:14:17Z heredoc quit (Ping timeout: 260 seconds) 2020-04-11T00:14:50Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-11T00:17:05Z ebrasca joined #lisp 2020-04-11T00:17:45Z orivej joined #lisp 2020-04-11T00:19:26Z random-nick quit (Ping timeout: 258 seconds) 2020-04-11T00:22:02Z hhdave joined #lisp 2020-04-11T00:22:02Z paul0 joined #lisp 2020-04-11T00:46:16Z emys joined #lisp 2020-04-11T00:46:25Z ukari joined #lisp 2020-04-11T00:51:09Z emys quit (Ping timeout: 265 seconds) 2020-04-11T00:54:29Z emys joined #lisp 2020-04-11T01:00:08Z zaquest joined #lisp 2020-04-11T01:00:40Z jprajzne quit (Quit: jprajzne) 2020-04-11T01:01:00Z jprajzne joined #lisp 2020-04-11T01:02:14Z emys quit (Ping timeout: 240 seconds) 2020-04-11T01:05:09Z jprajzne quit (Client Quit) 2020-04-11T01:05:34Z jprajzne joined #lisp 2020-04-11T01:06:10Z emys joined #lisp 2020-04-11T01:10:44Z emys quit (Ping timeout: 246 seconds) 2020-04-11T01:15:31Z emys joined #lisp 2020-04-11T01:15:34Z jprajzne quit (Quit: jprajzne) 2020-04-11T01:15:57Z jprajzne joined #lisp 2020-04-11T01:20:09Z jprajzne quit (Client Quit) 2020-04-11T01:20:24Z ahungry joined #lisp 2020-04-11T01:20:32Z jprajzne joined #lisp 2020-04-11T01:21:54Z hhdave quit (Ping timeout: 240 seconds) 2020-04-11T01:23:34Z emys quit (Ping timeout: 240 seconds) 2020-04-11T01:24:49Z KDr23 joined #lisp 2020-04-11T01:25:05Z v88m joined #lisp 2020-04-11T01:26:29Z akoana joined #lisp 2020-04-11T01:26:37Z KDr22 quit (Ping timeout: 264 seconds) 2020-04-11T01:30:34Z jprajzne quit (Quit: jprajzne) 2020-04-11T01:30:58Z jprajzne joined #lisp 2020-04-11T01:35:09Z jprajzne quit (Client Quit) 2020-04-11T01:35:32Z jprajzne joined #lisp 2020-04-11T01:43:19Z JetJej quit (Read error: Connection reset by peer) 2020-04-11T01:46:33Z amerigo quit (Quit: Connection closed for inactivity) 2020-04-11T01:49:11Z emys joined #lisp 2020-04-11T01:51:56Z v88m quit (Ping timeout: 256 seconds) 2020-04-11T01:55:07Z v88m joined #lisp 2020-04-11T01:59:49Z gko joined #lisp 2020-04-11T01:59:52Z v88m quit (Ping timeout: 256 seconds) 2020-04-11T02:00:22Z dddddd quit (Ping timeout: 256 seconds) 2020-04-11T02:00:40Z jprajzne quit (Quit: jprajzne) 2020-04-11T02:01:07Z jprajzne joined #lisp 2020-04-11T02:02:12Z emys quit (Ping timeout: 260 seconds) 2020-04-11T02:03:51Z bitmapper quit (Ping timeout: 260 seconds) 2020-04-11T02:05:08Z jprajzne quit (Client Quit) 2020-04-11T02:05:21Z emys joined #lisp 2020-04-11T02:05:30Z jprajzne joined #lisp 2020-04-11T02:11:16Z v88m joined #lisp 2020-04-11T02:11:22Z ukari quit (Ping timeout: 258 seconds) 2020-04-11T02:12:50Z ukari joined #lisp 2020-04-11T02:17:35Z emys quit (Ping timeout: 246 seconds) 2020-04-11T02:21:28Z emys joined #lisp 2020-04-11T02:34:35Z emys quit (Ping timeout: 265 seconds) 2020-04-11T02:36:42Z monok joined #lisp 2020-04-11T02:39:25Z mono quit (Ping timeout: 265 seconds) 2020-04-11T02:46:37Z ebrasca quit (Remote host closed the connection) 2020-04-11T02:47:05Z libertyprime joined #lisp 2020-04-11T02:49:34Z Inline quit (Ping timeout: 265 seconds) 2020-04-11T02:54:04Z emys joined #lisp 2020-04-11T02:59:50Z ayuce quit (Remote host closed the connection) 2020-04-11T03:02:44Z beach: Good morning everyone! 2020-04-11T03:18:49Z ahungry: mornin 2020-04-11T03:20:36Z hhdave joined #lisp 2020-04-11T03:23:04Z Oladon quit (Quit: Leaving.) 2020-04-11T03:31:50Z emys quit (Ping timeout: 256 seconds) 2020-04-11T03:35:26Z emys joined #lisp 2020-04-11T03:35:59Z slyrus__ joined #lisp 2020-04-11T03:38:23Z slyrus_ quit (Ping timeout: 258 seconds) 2020-04-11T03:40:18Z vlatkoB joined #lisp 2020-04-11T03:40:53Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-04-11T03:44:08Z emys quit (Ping timeout: 258 seconds) 2020-04-11T03:48:48Z emys joined #lisp 2020-04-11T03:49:59Z libertyprime quit (Ping timeout: 265 seconds) 2020-04-11T03:50:09Z iAmDecim joined #lisp 2020-04-11T03:50:38Z shifty joined #lisp 2020-04-11T03:51:49Z libertyprime joined #lisp 2020-04-11T03:52:34Z hhdave quit (Ping timeout: 256 seconds) 2020-04-11T03:54:55Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-11T03:56:33Z Oladon joined #lisp 2020-04-11T04:01:42Z emys quit (Ping timeout: 256 seconds) 2020-04-11T04:09:48Z orivej quit (Ping timeout: 265 seconds) 2020-04-11T04:15:55Z pilne quit (Quit: Given the choice between you, I'll take the sea-sick crocodile.) 2020-04-11T04:18:14Z emys joined #lisp 2020-04-11T04:18:33Z mikecheck quit (Quit: quit) 2020-04-11T04:25:54Z emys quit (Ping timeout: 240 seconds) 2020-04-11T04:29:50Z emys joined #lisp 2020-04-11T04:32:30Z ajpaon joined #lisp 2020-04-11T04:33:40Z ajpaon left #lisp 2020-04-11T04:43:04Z emys quit (Ping timeout: 256 seconds) 2020-04-11T04:50:24Z v88m quit (Ping timeout: 265 seconds) 2020-04-11T04:53:28Z v88m joined #lisp 2020-04-11T04:55:06Z emys joined #lisp 2020-04-11T04:58:18Z v88m quit (Ping timeout: 256 seconds) 2020-04-11T05:00:21Z karlosz joined #lisp 2020-04-11T05:03:31Z asdasdasddsaasd joined #lisp 2020-04-11T05:09:13Z Kundry_Wag quit (Remote host closed the connection) 2020-04-11T05:12:01Z Soltex quit (Remote host closed the connection) 2020-04-11T05:21:41Z emys quit (Ping timeout: 246 seconds) 2020-04-11T05:22:39Z gravicappa joined #lisp 2020-04-11T05:24:04Z emys joined #lisp 2020-04-11T05:24:30Z iAmDecim joined #lisp 2020-04-11T05:26:11Z wxie joined #lisp 2020-04-11T05:29:33Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-11T05:30:29Z wxie1 joined #lisp 2020-04-11T05:31:41Z Bike quit (Quit: Lost terminal) 2020-04-11T05:33:30Z wxie quit (Ping timeout: 256 seconds) 2020-04-11T05:33:31Z wxie1 is now known as wxie 2020-04-11T05:42:34Z emys quit (Ping timeout: 256 seconds) 2020-04-11T05:50:59Z hhdave joined #lisp 2020-04-11T05:59:33Z phlim joined #lisp 2020-04-11T06:04:03Z wxie quit (Ping timeout: 258 seconds) 2020-04-11T06:11:02Z emys joined #lisp 2020-04-11T06:13:05Z asdasdasddsaasd quit (Remote host closed the connection) 2020-04-11T06:15:46Z Oladon quit (Quit: Leaving.) 2020-04-11T06:17:37Z housel joined #lisp 2020-04-11T06:19:24Z emys quit (Ping timeout: 256 seconds) 2020-04-11T06:21:47Z ahungry quit (Remote host closed the connection) 2020-04-11T06:23:01Z hhdave quit (Ping timeout: 265 seconds) 2020-04-11T06:25:34Z ukari quit (Ping timeout: 240 seconds) 2020-04-11T06:29:58Z phlim quit (Remote host closed the connection) 2020-04-11T06:34:07Z iAmDecim joined #lisp 2020-04-11T06:40:03Z emys joined #lisp 2020-04-11T06:53:59Z phlim joined #lisp 2020-04-11T07:03:07Z v88m joined #lisp 2020-04-11T07:05:18Z madage quit (Ping timeout: 240 seconds) 2020-04-11T07:05:18Z cantstanya quit (Ping timeout: 240 seconds) 2020-04-11T07:05:18Z gxt quit (Ping timeout: 240 seconds) 2020-04-11T07:06:56Z v88m quit (Read error: Connection reset by peer) 2020-04-11T07:07:55Z gxt joined #lisp 2020-04-11T07:10:29Z shangul joined #lisp 2020-04-11T07:14:20Z orivej joined #lisp 2020-04-11T07:14:37Z emys quit (Ping timeout: 264 seconds) 2020-04-11T07:17:25Z madage joined #lisp 2020-04-11T07:18:19Z emys joined #lisp 2020-04-11T07:20:47Z libertyprime quit (Remote host closed the connection) 2020-04-11T07:23:18Z even4void joined #lisp 2020-04-11T07:24:10Z r5o quit (Read error: Connection reset by peer) 2020-04-11T07:26:32Z emys quit (Ping timeout: 260 seconds) 2020-04-11T07:27:31Z cantstanya joined #lisp 2020-04-11T07:29:07Z jonatack quit (Ping timeout: 260 seconds) 2020-04-11T07:30:52Z jonatack joined #lisp 2020-04-11T07:31:27Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-11T07:37:36Z v88m joined #lisp 2020-04-11T07:39:15Z emys joined #lisp 2020-04-11T07:40:34Z iAmDecim joined #lisp 2020-04-11T07:46:52Z dale quit (Quit: My computer has gone to sleep) 2020-04-11T07:47:37Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-11T07:50:02Z even4void joined #lisp 2020-04-11T07:56:29Z emys quit (Ping timeout: 265 seconds) 2020-04-11T08:01:44Z amerigo joined #lisp 2020-04-11T08:03:50Z hhdave joined #lisp 2020-04-11T08:09:09Z emys joined #lisp 2020-04-11T08:18:03Z shka_ joined #lisp 2020-04-11T08:18:13Z emys quit (Ping timeout: 264 seconds) 2020-04-11T08:18:36Z emys joined #lisp 2020-04-11T08:21:17Z dilated_dinosaur quit (Ping timeout: 258 seconds) 2020-04-11T08:22:28Z mangul joined #lisp 2020-04-11T08:24:45Z shangul quit (Ping timeout: 250 seconds) 2020-04-11T08:26:37Z emys quit (Ping timeout: 260 seconds) 2020-04-11T08:33:45Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-11T08:34:07Z dilated_dinosaur joined #lisp 2020-04-11T08:37:44Z heisig joined #lisp 2020-04-11T08:43:22Z v88m quit (Ping timeout: 265 seconds) 2020-04-11T08:51:10Z Inline joined #lisp 2020-04-11T09:00:53Z karlosz quit (Quit: karlosz) 2020-04-11T09:03:23Z hhdave quit (Ping timeout: 260 seconds) 2020-04-11T09:04:34Z r5o joined #lisp 2020-04-11T09:05:03Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-11T09:08:45Z emys joined #lisp 2020-04-11T09:16:36Z z147 joined #lisp 2020-04-11T09:16:38Z karlosz joined #lisp 2020-04-11T09:17:27Z karlosz quit (Client Quit) 2020-04-11T09:17:42Z theosvoitha joined #lisp 2020-04-11T09:17:51Z emys quit (Ping timeout: 260 seconds) 2020-04-11T09:20:13Z emys joined #lisp 2020-04-11T09:25:32Z emys quit (Ping timeout: 260 seconds) 2020-04-11T09:31:32Z z147 quit (Remote host closed the connection) 2020-04-11T09:33:03Z emys joined #lisp 2020-04-11T09:33:18Z iAmDecim joined #lisp 2020-04-11T09:34:54Z smasta quit (Ping timeout: 265 seconds) 2020-04-11T09:37:46Z Lord_of_Life_ joined #lisp 2020-04-11T09:38:14Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-11T09:38:52Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-11T09:39:05Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-11T09:40:48Z luni joined #lisp 2020-04-11T09:41:36Z madage quit (Read error: Connection reset by peer) 2020-04-11T09:41:55Z madage joined #lisp 2020-04-11T09:42:27Z McParen joined #lisp 2020-04-11T09:46:57Z grumble quit (Quit: even though the storm calmed down, the bitter end is just a matter of time) 2020-04-11T09:47:01Z McParen: hello, does somebody have experience with cffi-groveler? i am considering including the groveler to substitute a hard-coded set of constants in my ncurses library, and I cannot assess how risky it is to have a groveling step when the library is built. 2020-04-11T09:47:04Z z147 joined #lisp 2020-04-11T09:48:02Z Shinmera: Well it needs a C compiler. 2020-04-11T09:49:18Z grumble joined #lisp 2020-04-11T09:49:47Z emys quit (Ping timeout: 246 seconds) 2020-04-11T09:50:57Z heisig: McParen: I use the groveler for cl-mpi (https://github.com/marcoheisig/cl-mpi), if you need some inspiration. 2020-04-11T09:51:24Z heisig: I haven't had any issues so far. 2020-04-11T09:52:59Z McParen: did your users have any problems when the library is built? 2020-04-11T09:54:04Z McParen: the cl-test-grid often reports problems (or so i udnerstand it) with the groveler: https://common-lisp.net/project/cl-test-grid/library/cl-mpi.html 2020-04-11T09:55:39Z heisig: Oh, but that is because cl-mpi requires a particular C compiler (mpicc). If are happy with the default, or with something widely used like gcc, there shouldn't be any problems. 2020-04-11T09:57:38Z emys joined #lisp 2020-04-11T09:57:45Z McParen: it is not only cl-mpi, other projects i checked also show problems on cl-test-grid: https://common-lisp.net/project/cl-test-grid/library/cl-charms.html 2020-04-11T10:00:50Z heisig: Is there a reason why cl-test-grid only tests sbcl-1.3.2 on arm, or does it only show test failures? 2020-04-11T10:01:34Z McParen: this varies from month to month, i think that depends on who contributes the test cases. 2020-04-11T10:01:47Z McParen: no, it usually includes successful runs too. 2020-04-11T10:01:59Z akoana left #lisp 2020-04-11T10:02:55Z McParen: I only need a few integer constants, so I dont know whether it is less problematic to simply hardcode them or to add a dependence to a C compiler, include files, etc. 2020-04-11T10:03:56Z heisig: No, don't hardcode constants. C is not dynamically typed, so you can get some very bizarre bugs that way. 2020-04-11T10:05:05Z heisig: Asking the C compiler is the right way. Or, you could rewrite all the C dependencies in Lisp :) 2020-04-11T10:05:33Z McParen: the dependence in question is libc, locale.h 2020-04-11T10:05:59Z edgar-rft: AFAIK a constant that can change isn't a constant 2020-04-11T10:06:28Z McParen: it is the #define LC_ALL 2020-04-11T10:07:32Z McParen: I do not know how often the integers behind the defines are changed or whether they are equal between different systems 2020-04-11T10:07:42Z vhost- quit (Ping timeout: 256 seconds) 2020-04-11T10:07:52Z heisig: Fun fact: A C constant is not even a Lisp constant, because the Lisp process might live longer than the version of the C library in use. 2020-04-11T10:08:21Z heisig: This can actually happen if you reload dynamic libraries after resuming from save-lisp-and-die. 2020-04-11T10:08:30Z smasta joined #lisp 2020-04-11T10:09:36Z heisig should have written 'Lisp image' instead of 'Lisp process' 2020-04-11T10:09:42Z emys quit (Ping timeout: 265 seconds) 2020-04-11T10:11:10Z Shinmera: heisig: so what you're saying is that grovelling is also wrong 2020-04-11T10:11:59Z aeth: heisig: I assume that C type sizes won't change, although of course, that's only an assumption 2020-04-11T10:12:44Z edgar-rft: let's start assumption-based programming 2020-04-11T10:12:54Z Shinmera: edgar-rft: that's what everyone's already doing 2020-04-11T10:13:25Z smasta quit (Ping timeout: 264 seconds) 2020-04-11T10:13:33Z fivo joined #lisp 2020-04-11T10:13:36Z wxie joined #lisp 2020-04-11T10:13:40Z McParen: Shinmera: does any of your systems have cffi-grovel as a dependence? if yes, did it cause problems for users? 2020-04-11T10:13:48Z fivo quit (Client Quit) 2020-04-11T10:13:53Z Shinmera: No. I avoid the groveller because of the C compiler dependency. 2020-04-11T10:13:54Z tiwEllien joined #lisp 2020-04-11T10:13:57Z fivo joined #lisp 2020-04-11T10:14:09Z edgar-rft: I already wrongly assumed that a constant is constant 2020-04-11T10:14:11Z Shinmera: I hard-code constants per platform and have not had issues because of that so far. 2020-04-11T10:14:20Z McParen: okay, thanks. 2020-04-11T10:14:56Z aeth: edgar-rft: I assume that the language I'm using is constant, which works for CL so far 2020-04-11T10:14:56Z Shinmera: Well, not just the C compiler dependency, but also the dependency on the library being installed (with header files to boot) 2020-04-11T10:15:04Z frgo quit (Remote host closed the connection) 2020-04-11T10:15:07Z aeth: oone of these days someone's going to remove the deprecated functions like remove-if-not, though 2020-04-11T10:15:13Z aeth: s/oone/one/ 2020-04-11T10:15:22Z edgar-rft: LC_ALL = Lisp 2020-04-11T10:15:47Z frgo joined #lisp 2020-04-11T10:16:14Z emys joined #lisp 2020-04-11T10:18:13Z heisig: Shinmera: I think you can re-grovel, if you really care about the life of your Lisp image. But nowadays, I just try to avoid C dependencies. 2020-04-11T10:18:49Z heisig: aeth: Nobody is ever going to remove remove-if-not. 2020-04-11T10:18:55Z Shinmera: heisig: re-grovel on a target machine? 2020-04-11T10:19:16Z Shinmera: fat chance of that! 2020-04-11T10:20:10Z heisig: Only if your goal is to deploy long-lasting images. If you just want to obtain an executable, feel free to forget about this issue. 2020-04-11T10:20:37Z heisig: I'm just mentioning this here because it already bit me once. 2020-04-11T10:21:20Z heisig: You can only have one active MPI implementation at a time. But for testing, it is nice if you can change the implementation while your REPL stays alive. 2020-04-11T10:22:00Z aeth: heisig: they could remove remove-if-not via (remove-if-not (complement #'deprecatedp) functions) 2020-04-11T10:24:21Z emys quit (Ping timeout: 250 seconds) 2020-04-11T10:24:38Z heisig: Nah. Should there ever be people with enough influence to release a new CL standard, they will also have enough wisdom not to change the CL package. 2020-04-11T10:27:48Z luni quit (Quit: Connection closed) 2020-04-11T10:28:37Z aeth: it was a joke 2020-04-11T10:28:47Z shifty quit (Ping timeout: 260 seconds) 2020-04-11T10:31:20Z emys joined #lisp 2020-04-11T10:37:16Z random-nick joined #lisp 2020-04-11T10:37:21Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T10:37:29Z stepnem quit (Read error: Connection reset by peer) 2020-04-11T10:37:44Z random-nick joined #lisp 2020-04-11T10:38:34Z random-nick quit (Remote host closed the connection) 2020-04-11T10:39:23Z dddddd joined #lisp 2020-04-11T10:39:29Z emys quit (Ping timeout: 246 seconds) 2020-04-11T10:39:58Z stepnem joined #lisp 2020-04-11T10:48:46Z heisig: There are things one shouldn't joke about :) 2020-04-11T10:49:20Z lavaflow quit (Ping timeout: 265 seconds) 2020-04-11T10:51:23Z random-nick joined #lisp 2020-04-11T10:52:10Z vms14 joined #lisp 2020-04-11T10:52:39Z vms14: (defpackage :game (:use :common-lisp :xlib)) 2020-04-11T10:52:48Z vms14: Undefined function :USE called with arguments 2020-04-11T10:52:55Z vms14: what's wrong? I'm using ccl 2020-04-11T10:53:25Z vms14: isn't part of the standard? I see it in clhs 2020-04-11T10:53:32Z vms14: http://clhs.lisp.se/Body/m_defpkg.htm 2020-04-11T10:53:41Z _death: you're likely evaluating it in a package where defpackage is not cl:defpackage 2020-04-11T10:53:51Z vms14: hmm, thanks 2020-04-11T10:56:48Z vms14: Using # in # would cause name conflicts with symbols already present in that package:DEFPACKAGE COMMON-LISP:DEFPACKAGE meh 2020-04-11T10:57:07Z libertyprime joined #lisp 2020-04-11T10:57:37Z vms14: how should I use defpackage in a way it will work in all implementations without troubles? in sbcl I saw no problem 2020-04-11T10:59:27Z _death: it's unlikely that your issue is due to difference in implementations 2020-04-11T10:59:56Z vms14: it's weird, if I put ccl --load game.lisp I see no warnings, but with slime I get a restart 2020-04-11T11:00:26Z vms14: yeah, the real reason is I'm too noob xD 2020-04-11T11:01:32Z smasta joined #lisp 2020-04-11T11:01:59Z iAmDecim joined #lisp 2020-04-11T11:02:10Z hhdave joined #lisp 2020-04-11T11:03:15Z v88m joined #lisp 2020-04-11T11:04:39Z Necktwi quit (Ping timeout: 250 seconds) 2020-04-11T11:05:25Z _death: packages are stateful, so you may get yourself into a "weird" state.. if you're not sure about the current state, one way is to restart your lisp and try again 2020-04-11T11:05:50Z Necktwi joined #lisp 2020-04-11T11:06:49Z smasta quit (Ping timeout: 264 seconds) 2020-04-11T11:06:59Z hiroaki joined #lisp 2020-04-11T11:07:12Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-11T11:07:17Z _death: you can also explicitly qualify symbols to help in figuring out the state, e.g., using cl:*package* to determine the current package 2020-04-11T11:07:23Z z147 quit (Ping timeout: 240 seconds) 2020-04-11T11:08:40Z fivo quit (Quit: WeeChat 1.9.1) 2020-04-11T11:09:01Z _death: or (cl:describe 'defpackage) to see information about the defpackage symbol in the current package 2020-04-11T11:09:23Z vms14: I've used make-package 2020-04-11T11:09:30Z vms14: I see no warnings this way 2020-04-11T11:09:46Z vms14: (make-package :game :use '(:common-lisp :xlib)) 2020-04-11T11:09:53Z _death: programming by magic 2020-04-11T11:09:56Z vms14: which I don't understand 2020-04-11T11:10:19Z vms14: why defpackage gives me errors, and I even have to put the package name like cl:defpackage 2020-04-11T11:10:25Z vms14: and make-package just works 2020-04-11T11:10:30Z vms14: but meh 2020-04-11T11:10:45Z _death: if you "meh" you'll remain a noob 2020-04-11T11:11:10Z vms14: I thought defpackage was a fancy way to use make-package 2020-04-11T11:11:31Z vms14: and I always used defpackage in sbcl, never had a problem 2020-04-11T11:11:34Z vms14: until now using ccl 2020-04-11T11:12:06Z _death: so, figure out what the issue with your use of defpackage is 2020-04-11T11:12:48Z vms14: the issue is defpackage tells me there is a shadowing problem with the 'defpackage symbol once I :use :common-lisp 2020-04-11T11:12:57Z vms14: but make-package does not 2020-04-11T11:13:07Z _death: figure out the cause of this 2020-04-11T11:14:22Z vms14: wtf, in the repl there is no trouble now 2020-04-11T11:14:28Z vms14: (defpackage :meh (:use :common-lisp)) 2020-04-11T11:17:22Z vms14: restarted slime and I cannot reproduce the error, so I don't know what was happening 2020-04-11T11:17:28Z _death: transient issues like getting into a "weird state" during development are ok to ignore, but for your written code you should understand 100% why something works or not 2020-04-11T11:17:56Z vms14: it's weird, because the only thing I've done was to quickload clx and defpackage then 2020-04-11T11:18:11Z vms14: and I've copypasted the same sexp that gave me the error 2020-04-11T11:18:40Z vms14: but, I'll ignore that unless it happens again, maybe I did something without knowing 2020-04-11T11:18:55Z vms14: thanks anyway _death for trying to help 2020-04-11T11:21:14Z random-nick quit (Ping timeout: 240 seconds) 2020-04-11T11:26:24Z z147 joined #lisp 2020-04-11T11:27:26Z theosvoitha: Hello. Am just curious. What is lisp still used for? I somehow like it. am learning programming for data science. 2020-04-11T11:28:30Z pve joined #lisp 2020-04-11T11:28:46Z ArthurStrong joined #lisp 2020-04-11T11:28:49Z no-defun-allowed: "Having asked about the possibility that there are real people out there who use Lisp (as opposed to AI People who are known to be non-real and having received no answers, I can only conclude that LISP is not being used and that it is not, therefore, a real language." — Lisp Pointers, 198something 2020-04-11T11:29:48Z no-defun-allowed: A few things. Some that spring to mind include programs that give advice to traders, and the (in my opinion) best quantum computer compiler and simulator. 2020-04-11T11:31:03Z heisig: theosvoitha: I think there isn't a single domain where Lisp hasn't been used successfully. See https://lisp-lang.org/success/ for a few examples. 2020-04-11T11:31:43Z theosvoitha: heisig: checking. thanks. as i said i somehow like simplicity. 2020-04-11T11:32:01Z no-defun-allowed: There's also some game developers using Lisp, high performance computing people, Internet server making people, and generally it's usable for anything. 2020-04-11T11:33:15Z hhdave quit (Ping timeout: 250 seconds) 2020-04-11T11:33:17Z random-nick joined #lisp 2020-04-11T11:34:40Z ggole joined #lisp 2020-04-11T11:35:16Z theosvoitha: i read it . interesting. 2020-04-11T11:35:39Z theosvoitha: is this `https://lisp-lang.org/` the official Lisp website? 2020-04-11T11:35:53Z theosvoitha: because i can't find the official website in wiki. 2020-04-11T11:36:13Z theosvoitha: also i found that Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs 2020-04-11T11:36:33Z beach: theosvoitha: What would be an "official website" for Common Lisp? Nobody owns it. 2020-04-11T11:36:58Z theosvoitha: beach: No i mean where can i download or learn ? 2020-04-11T11:37:05Z beach: theosvoitha: This channel is dedicated to Common Lisp. It has an ANSI standard, and multiple implementations. 2020-04-11T11:37:32Z beach: theosvoitha: Each implementation is independent. Common Lisp is not a single-implementation language. 2020-04-11T11:38:09Z beach: theosvoitha: Currently, the best suggestion for a newbie bundle seems to be Portacle. 2020-04-11T11:38:09Z theosvoitha: beach: Still something i may follow to learn. where should i start from? 2020-04-11T11:38:29Z beach: minion: Please tell theosvoitha about PCL. 2020-04-11T11:38:29Z minion: theosvoitha: direct your attention towards 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). 2020-04-11T11:39:29Z beach: theosvoitha: Also, there is #clschool for question about basic Common Lisp. 2020-04-11T11:40:09Z beach: clhs 1 2020-04-11T11:40:09Z specbot: Introduction: http://www.lispworks.com/reference/HyperSpec/Body/01_.htm 2020-04-11T11:40:23Z theosvoitha: thanks no-defun-allowed ! heisig 2020-04-11T11:40:37Z beach: theosvoitha: That's as close to the official standards document as you can get. 2020-04-11T11:40:50Z theosvoitha: also thanks beach minion 2020-04-11T11:41:00Z theosvoitha: beach: which one the gigamonkey OR lispworks?? 2020-04-11T11:41:29Z beach: theosvoitha: The Lispworks document is the standard. It is not a pedagogical document. It is the definition of the language. 2020-04-11T11:41:48Z beach: theosvoitha: PCL is a book, written in order for people to learn from. 2020-04-11T11:42:09Z theosvoitha: beach: thanks i appreciate. i bookmarked both of them. really appreciate !! 2020-04-11T11:42:18Z beach: Good luck. 2020-04-11T11:42:30Z jprajzne quit (Quit: jprajzne) 2020-04-11T11:42:45Z theosvoitha: i will be idling here and at #clschool if it's allowed. 2020-04-11T11:42:52Z beach: Absolutely. 2020-04-11T11:43:09Z theosvoitha: thanks beach ! have a nice day ! 2020-04-11T11:43:26Z beach: Thanks. 2020-04-11T11:47:34Z _death: theosvoitha: http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/ 2020-04-11T11:49:13Z wxie quit (Ping timeout: 256 seconds) 2020-04-11T11:50:27Z wxie joined #lisp 2020-04-11T11:55:41Z smasta joined #lisp 2020-04-11T11:56:51Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-11T11:57:48Z vms14: theosvoitha: for prototyping is one of the best languages 2020-04-11T11:58:01Z vms14: also for building complex software and trying new things 2020-04-11T11:58:31Z vms14: specially with macros, creating dsl is very easy, which really helps at creating big and complex software 2020-04-11T11:59:07Z vms14: for building your own stuff, it's a very nice language to have in hand 2020-04-11T11:59:34Z vms14: and with slime you get instant feedback of everything you write 2020-04-11T12:00:08Z mangul is now known as shangul 2020-04-11T12:00:21Z vms14: this is very important, since there is no compile cycle nor even save-file/call-interpreter 2020-04-11T12:00:35Z vms14: you just write something and execute it, so you know if does what you wanted 2020-04-11T12:00:52Z smasta quit (Ping timeout: 265 seconds) 2020-04-11T12:13:55Z wxie quit (Ping timeout: 265 seconds) 2020-04-11T12:16:14Z vms14 quit (Remote host closed the connection) 2020-04-11T12:17:54Z ayuce joined #lisp 2020-04-11T12:30:45Z bendersteed joined #lisp 2020-04-11T12:36:43Z iAmDecim joined #lisp 2020-04-11T12:40:38Z cosimone joined #lisp 2020-04-11T12:41:30Z McParen left #lisp 2020-04-11T12:44:53Z z147_ joined #lisp 2020-04-11T12:47:03Z z147 quit (Ping timeout: 240 seconds) 2020-04-11T13:02:04Z aeth quit (Read error: Connection reset by peer) 2020-04-11T13:03:02Z aeth joined #lisp 2020-04-11T13:03:59Z aeth quit (Changing host) 2020-04-11T13:03:59Z aeth joined #lisp 2020-04-11T13:11:56Z wxie joined #lisp 2020-04-11T13:16:41Z Steinberg2010 joined #lisp 2020-04-11T13:20:08Z Inline quit (Ping timeout: 246 seconds) 2020-04-11T13:20:53Z ayuce quit (Read error: Connection reset by peer) 2020-04-11T13:21:28Z achilles joined #lisp 2020-04-11T13:21:36Z achilles left #lisp 2020-04-11T13:23:13Z Steinberg2010 quit (Ping timeout: 265 seconds) 2020-04-11T13:24:50Z ayuce joined #lisp 2020-04-11T13:26:45Z ayuce is now known as achilles 2020-04-11T13:27:01Z achilles left #lisp 2020-04-11T13:29:17Z ayuce joined #lisp 2020-04-11T13:30:46Z Necktwi quit (Ping timeout: 265 seconds) 2020-04-11T13:32:08Z hhdave joined #lisp 2020-04-11T13:33:45Z heisig quit (Quit: Leaving) 2020-04-11T13:34:23Z heredoc joined #lisp 2020-04-11T13:34:38Z z147_ quit (Quit: z147_) 2020-04-11T13:36:16Z edgar-rft: theosvoitha: in case nobody has already mentioned it before, there is a Common Lisp Wiki with lots of useful information -> https://www.cliki.net/Getting%20Started 2020-04-11T13:36:18Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-11T13:56:19Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-11T14:00:59Z Kevslinger joined #lisp 2020-04-11T14:03:14Z hhdave quit (Ping timeout: 240 seconds) 2020-04-11T14:04:47Z iAmDecim joined #lisp 2020-04-11T14:09:49Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-11T14:11:36Z Necktwi joined #lisp 2020-04-11T14:22:59Z Inline joined #lisp 2020-04-11T14:23:13Z ebrasca joined #lisp 2020-04-11T14:29:36Z Necktwi quit (Read error: Connection reset by peer) 2020-04-11T14:30:52Z Necktwi joined #lisp 2020-04-11T14:38:18Z smasta joined #lisp 2020-04-11T14:39:59Z iAmDecim joined #lisp 2020-04-11T14:41:17Z Bike joined #lisp 2020-04-11T14:42:46Z lavaflow joined #lisp 2020-04-11T14:45:29Z Necktwi_ joined #lisp 2020-04-11T14:47:38Z smasta quit (Ping timeout: 256 seconds) 2020-04-11T14:47:47Z Necktwi quit (Ping timeout: 260 seconds) 2020-04-11T14:48:41Z Steinberg2010 joined #lisp 2020-04-11T14:54:04Z phlim quit (Remote host closed the connection) 2020-04-11T14:56:47Z bendersteed quit (Read error: Connection reset by peer) 2020-04-11T14:57:25Z bendersteed joined #lisp 2020-04-11T14:59:11Z Steinberg2010 quit (Ping timeout: 258 seconds) 2020-04-11T15:04:47Z jasom quit (Quit: WeeChat 2.5) 2020-04-11T15:06:47Z wxie quit (Ping timeout: 260 seconds) 2020-04-11T15:11:35Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-11T15:14:39Z ArthurStrong quit (Quit: leaving) 2020-04-11T15:38:58Z frgo quit 2020-04-11T15:40:41Z iAmDecim joined #lisp 2020-04-11T15:41:01Z frgo joined #lisp 2020-04-11T15:44:41Z SGASAU` joined #lisp 2020-04-11T15:44:55Z Kundry_Wag joined #lisp 2020-04-11T15:44:59Z Kundry_Wag quit (Remote host closed the connection) 2020-04-11T15:45:25Z Kundry_Wag joined #lisp 2020-04-11T15:45:37Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-11T15:48:02Z SGASAU quit (Ping timeout: 265 seconds) 2020-04-11T15:53:46Z cosimone quit (Quit: Quit.) 2020-04-11T15:58:35Z SGASAU` quit (Remote host closed the connection) 2020-04-11T15:58:54Z SGASAU` joined #lisp 2020-04-11T15:59:01Z EvW joined #lisp 2020-04-11T16:02:56Z hhdave joined #lisp 2020-04-11T16:14:03Z even4void joined #lisp 2020-04-11T16:22:00Z iAmDecim joined #lisp 2020-04-11T16:27:12Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-11T16:28:27Z emys joined #lisp 2020-04-11T16:29:01Z bitmapper joined #lisp 2020-04-11T16:31:45Z smasta joined #lisp 2020-04-11T16:33:10Z Inline quit (Ping timeout: 265 seconds) 2020-04-11T16:33:57Z hhdave_ joined #lisp 2020-04-11T16:34:14Z hhdave quit (Ping timeout: 240 seconds) 2020-04-11T16:34:14Z hhdave_ is now known as hhdave 2020-04-11T16:35:47Z r5o quit (Quit: -a- Connection Timed Out) 2020-04-11T16:35:56Z r5o joined #lisp 2020-04-11T16:35:59Z z147 joined #lisp 2020-04-11T16:36:51Z smasta quit (Ping timeout: 265 seconds) 2020-04-11T16:37:12Z EvW quit (Ping timeout: 260 seconds) 2020-04-11T16:37:24Z r5o_ joined #lisp 2020-04-11T16:37:25Z r5o_ quit (Max SendQ exceeded) 2020-04-11T16:38:41Z r5o_ joined #lisp 2020-04-11T16:38:43Z r5o_ quit (Max SendQ exceeded) 2020-04-11T16:38:57Z Inline joined #lisp 2020-04-11T16:39:31Z r5o_ joined #lisp 2020-04-11T16:39:33Z r5o_ quit (Max SendQ exceeded) 2020-04-11T16:40:04Z r5o_ joined #lisp 2020-04-11T16:40:06Z r5o_ quit (Max SendQ exceeded) 2020-04-11T16:40:25Z r5o quit (Ping timeout: 265 seconds) 2020-04-11T16:40:35Z r5o joined #lisp 2020-04-11T16:40:37Z r5o quit (Max SendQ exceeded) 2020-04-11T16:43:19Z vhost- joined #lisp 2020-04-11T16:43:19Z vhost- quit (Changing host) 2020-04-11T16:43:19Z vhost- joined #lisp 2020-04-11T16:45:13Z gko quit (Ping timeout: 264 seconds) 2020-04-11T16:46:43Z EvW joined #lisp 2020-04-11T16:50:52Z vsync quit (Ping timeout: 265 seconds) 2020-04-11T16:55:08Z vsync joined #lisp 2020-04-11T16:58:08Z Bourne joined #lisp 2020-04-11T16:58:32Z emys quit (Ping timeout: 256 seconds) 2020-04-11T17:02:35Z emys joined #lisp 2020-04-11T17:08:51Z shifty joined #lisp 2020-04-11T17:09:57Z Jeanne-Kamikaze joined #lisp 2020-04-11T17:11:23Z slyrus_ joined #lisp 2020-04-11T17:13:22Z EvW quit (Ping timeout: 260 seconds) 2020-04-11T17:14:07Z slyrus__ quit (Ping timeout: 258 seconds) 2020-04-11T17:18:51Z ebrasca quit (Remote host closed the connection) 2020-04-11T17:22:22Z cosimone joined #lisp 2020-04-11T17:27:25Z hhdave quit (Quit: hhdave) 2020-04-11T17:31:03Z wheelsucker left #lisp 2020-04-11T17:31:12Z wheelsucker joined #lisp 2020-04-11T17:34:03Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-11T17:36:00Z shangul quit (Ping timeout: 256 seconds) 2020-04-11T17:40:03Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-11T17:43:39Z EvW1 joined #lisp 2020-04-11T17:55:23Z EvW1 quit (Remote host closed the connection) 2020-04-11T18:01:54Z smasta joined #lisp 2020-04-11T18:03:06Z iAmDecim joined #lisp 2020-04-11T18:05:42Z Steinberg2010 joined #lisp 2020-04-11T18:06:24Z FreeBirdLjj joined #lisp 2020-04-11T18:06:35Z smasta quit (Ping timeout: 260 seconds) 2020-04-11T18:07:52Z Volt_ joined #lisp 2020-04-11T18:07:52Z Volt_ quit (Read error: Connection reset by peer) 2020-04-11T18:08:28Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-11T18:09:21Z Volt_ joined #lisp 2020-04-11T18:11:07Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2020-04-11T18:15:16Z libertyprime quit (Ping timeout: 256 seconds) 2020-04-11T18:16:25Z even4void joined #lisp 2020-04-11T18:23:42Z hhdave joined #lisp 2020-04-11T18:24:32Z eta: is there a version of MACROLET that works like LABELS, i.e. you can reference variables in the lexical environment? 2020-04-11T18:29:56Z LdBeth: you can always reference lexical variables in macro 2020-04-11T18:30:51Z LdBeth: although they are not guaranteed to be lexical 2020-04-11T18:30:51Z eta: LdBeth, CLHS seems to say doing so is undefined behaviour 2020-04-11T18:30:53Z eta: http://www.lispworks.com/documentation/HyperSpec/Body/s_flet_.htm 2020-04-11T18:31:00Z eta: > Declarations and macrolet and symbol-macrolet definitions affect the local macro definitions in a macrolet, but the consequences are undefined if the local macro definitions reference any local variable or function bindings that are visible in that lexical environment. 2020-04-11T18:33:11Z izh_ joined #lisp 2020-04-11T18:34:11Z eta wonders if they can get away with it anyway 2020-04-11T18:34:45Z LdBeth: but regular macro still works 2020-04-11T18:35:16Z pjb: eta: you should clarify what you want to do. 2020-04-11T18:35:35Z hhdave quit (Quit: hhdave) 2020-04-11T18:35:46Z pjb: eta: notably, macros are expanded at compilation time, while lexical bindings are established at run-time. Like, in a 100 years, on a different computer (probably an emulator then). 2020-04-11T18:36:03Z eta: pjb, I want to write (let ((a 1)) (macrolet ((do-thing-with-a (b) `(+ ,a ,b))) (do-thing-with-a 2))) 2020-04-11T18:36:16Z eta: i.e. I'm referencing the lexical variable 'a' inside my macrolet 2020-04-11T18:36:26Z pjb: Yes, this is not possible with LET. 2020-04-11T18:36:36Z eta: pjb, so I have to use SYMBOL-MACROLET or EVAL? 2020-04-11T18:36:57Z pjb: eta: if you want to have variables that you can mutate in the macro (at macroexpansion time/compilation time) and then access it (or not) at run-time, you will need to write your own MACRO-LET macro. 2020-04-11T18:37:16Z eta: pjb, I don't want to mutate them 2020-04-11T18:37:30Z eta: pjb, could I perhaps change ,a to a and have it still work? 2020-04-11T18:37:31Z pjb: Then symbol-macrolet can be a good solution. 2020-04-11T18:37:55Z pjb: (symbol-macrolet ((a 1)) (macrolet ((do-thing-with-a (b) `(+ ,a ,b))) (do-thing-with-a 2))) #| --> 3 |# seems conforming to me. 2020-04-11T18:38:26Z pjb: eta: if you changed ,a to a it would indeed work with let, since a would be referenced a run-time then. 2020-04-11T18:38:32Z eta: oh okay 2020-04-11T18:39:00Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-11T18:39:03Z eta: pjb, I hadn't seen that SYMBOL-MACROLET trick before (nice!), but I'll just go with a instead of ,a for this case :) 2020-04-11T18:39:07Z pilne joined #lisp 2020-04-11T18:40:31Z pjb: eta: just keep in mind of WHEN different expressions are evaluated. (macroexpansion time, compilation time, load time, run-time, when evaluated by a call to EVAL, when read (reader macros, #.) etc). 2020-04-11T18:40:57Z eta: pjb, that helps me understand it, thanks! 2020-04-11T18:43:51Z vms14 joined #lisp 2020-04-11T18:44:03Z iAmDecim joined #lisp 2020-04-11T18:46:24Z Oladon joined #lisp 2020-04-11T18:49:16Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-11T18:49:52Z jcowan: My sense is that a construct for defining recursive local macros is not sufficiently useful. 2020-04-11T18:50:40Z jcowan: Indeed, I think it may be unnecessary, given that the result of a macro procedure is itself expanded again. 2020-04-11T18:51:18Z jcowan: So it would only come up if you want macro A and B, declared in the same scope, to invoke one another in their bodies 2020-04-11T18:53:47Z emys quit (Ping timeout: 258 seconds) 2020-04-11T18:54:14Z Bike: sounds exciting. 2020-04-11T18:54:40Z emys joined #lisp 2020-04-11T18:55:35Z sulami joined #lisp 2020-04-11T18:56:35Z bars0 joined #lisp 2020-04-11T19:01:18Z vms14 quit (Remote host closed the connection) 2020-04-11T19:01:46Z tiwEllien joined #lisp 2020-04-11T19:06:52Z hhdave joined #lisp 2020-04-11T19:09:05Z Willi-Smith joined #lisp 2020-04-11T19:12:36Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-11T19:25:50Z jonatack_ joined #lisp 2020-04-11T19:29:03Z jonatack quit (Ping timeout: 250 seconds) 2020-04-11T19:32:07Z karlosz joined #lisp 2020-04-11T19:33:53Z smasta joined #lisp 2020-04-11T19:38:58Z smasta quit (Ping timeout: 256 seconds) 2020-04-11T19:39:50Z pve quit (Quit: leaving) 2020-04-11T19:44:28Z cosimone quit (Remote host closed the connection) 2020-04-11T19:44:54Z cosimone joined #lisp 2020-04-11T19:47:11Z loli quit (Quit: WeeChat 2.7.1) 2020-04-11T19:49:10Z sulami quit (Ping timeout: 256 seconds) 2020-04-11T19:52:22Z iAmDecim joined #lisp 2020-04-11T19:54:37Z Oladon quit (Quit: Leaving.) 2020-04-11T19:55:03Z sulami joined #lisp 2020-04-11T19:55:42Z dale joined #lisp 2020-04-11T19:57:16Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-11T20:01:00Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-11T20:06:10Z shka_ quit (Ping timeout: 256 seconds) 2020-04-11T20:19:19Z karlosz quit (Quit: karlosz) 2020-04-11T20:25:50Z izh_ quit (Quit: Leaving) 2020-04-11T20:27:49Z random-nick quit (Ping timeout: 264 seconds) 2020-04-11T20:28:36Z EvW joined #lisp 2020-04-11T20:30:07Z Kundry_Wag joined #lisp 2020-04-11T20:41:39Z emysion joined #lisp 2020-04-11T20:43:56Z emys quit (Ping timeout: 246 seconds) 2020-04-11T20:49:48Z Kundry_Wag quit (Remote host closed the connection) 2020-04-11T20:50:18Z Kundry_Wag joined #lisp 2020-04-11T20:50:38Z ggole quit (Quit: Leaving) 2020-04-11T20:51:44Z random-nick joined #lisp 2020-04-11T20:55:08Z emysion quit (Ping timeout: 265 seconds) 2020-04-11T20:56:21Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T20:56:43Z random-nick joined #lisp 2020-04-11T20:59:28Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T20:59:51Z random-nick joined #lisp 2020-04-11T21:01:22Z vhost- quit (Quit: WeeChat 2.7.1) 2020-04-11T21:02:37Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:02:59Z random-nick joined #lisp 2020-04-11T21:03:43Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:04:03Z random-nick joined #lisp 2020-04-11T21:05:30Z bars0 quit (Quit: leaving) 2020-04-11T21:05:34Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:05:59Z random-nick joined #lisp 2020-04-11T21:07:56Z Willi-Smith quit (Ping timeout: 256 seconds) 2020-04-11T21:10:19Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:10:41Z random-nick joined #lisp 2020-04-11T21:11:54Z emys joined #lisp 2020-04-11T21:12:34Z ayuce quit (Ping timeout: 240 seconds) 2020-04-11T21:12:38Z sulami quit (Ping timeout: 256 seconds) 2020-04-11T21:16:05Z emys quit (Ping timeout: 250 seconds) 2020-04-11T21:20:59Z iAmDecim joined #lisp 2020-04-11T21:21:43Z Inline quit (Ping timeout: 265 seconds) 2020-04-11T21:22:11Z smasta joined #lisp 2020-04-11T21:22:39Z ayuce joined #lisp 2020-04-11T21:23:19Z ayuce quit (Read error: Connection reset by peer) 2020-04-11T21:25:20Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:25:42Z random-nick joined #lisp 2020-04-11T21:25:58Z gravicappa quit (Ping timeout: 258 seconds) 2020-04-11T21:26:19Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-11T21:26:34Z smasta quit (Ping timeout: 240 seconds) 2020-04-11T21:27:20Z Oladon joined #lisp 2020-04-11T21:33:44Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:34:09Z random-nick joined #lisp 2020-04-11T21:37:18Z z147 quit (Quit: z147) 2020-04-11T21:39:07Z Lord_of_Life_ joined #lisp 2020-04-11T21:41:01Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-04-11T21:41:45Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:41:59Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-11T21:42:05Z random-nick joined #lisp 2020-04-11T21:42:06Z smasta joined #lisp 2020-04-11T21:47:23Z hhdave quit (Quit: hhdave) 2020-04-11T21:48:24Z sulami joined #lisp 2020-04-11T21:51:45Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:52:08Z random-nick joined #lisp 2020-04-11T21:54:49Z sulami quit (Ping timeout: 264 seconds) 2020-04-11T21:57:53Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:58:16Z random-nick joined #lisp 2020-04-11T21:58:21Z ayuce joined #lisp 2020-04-11T21:58:41Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:59:11Z random-nick joined #lisp 2020-04-11T21:59:25Z _death: https://i.imgur.com/WTukenP.png <- deepspeech still has a way to go 2020-04-11T21:59:35Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T21:59:58Z random-nick joined #lisp 2020-04-11T22:01:09Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T22:01:53Z random-nick joined #lisp 2020-04-11T22:02:09Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T22:02:32Z random-nick joined #lisp 2020-04-11T22:02:59Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T22:03:23Z random-nick joined #lisp 2020-04-11T22:03:41Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T22:04:03Z random-nick joined #lisp 2020-04-11T22:04:23Z random-nick quit (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) 2020-04-11T22:04:48Z random-nick joined #lisp 2020-04-11T22:11:17Z random-nick quit (Quit: quit) 2020-04-11T22:15:04Z frgo quit (Remote host closed the connection) 2020-04-11T22:15:40Z frgo joined #lisp 2020-04-11T22:18:06Z Oladon1 joined #lisp 2020-04-11T22:18:52Z Oladon quit (Ping timeout: 258 seconds) 2020-04-11T22:21:52Z sulami joined #lisp 2020-04-11T22:22:59Z slyrus_ quit (Remote host closed the connection) 2020-04-11T22:28:54Z sulami quit (Ping timeout: 240 seconds) 2020-04-11T22:33:40Z slyrus joined #lisp 2020-04-11T22:35:21Z Steinberg2010 quit (Ping timeout: 258 seconds) 2020-04-11T22:49:55Z shifty quit (Ping timeout: 258 seconds) 2020-04-11T23:04:32Z cosimone quit (Ping timeout: 260 seconds) 2020-04-11T23:16:27Z sulami joined #lisp 2020-04-11T23:21:24Z sulami quit (Ping timeout: 265 seconds) 2020-04-11T23:23:04Z Jachy joined #lisp 2020-04-11T23:33:19Z SGASAU` quit (Remote host closed the connection) 2020-04-11T23:33:42Z SGASAU` joined #lisp 2020-04-11T23:34:09Z ayuce quit (Remote host closed the connection) 2020-04-11T23:38:01Z choegusung joined #lisp 2020-04-11T23:38:01Z choegusung quit (Client Quit) 2020-04-11T23:38:20Z Intensity quit (Remote host closed the connection) 2020-04-11T23:39:36Z SGASAU` quit (Remote host closed the connection) 2020-04-11T23:39:57Z SGASAU` joined #lisp 2020-04-11T23:50:36Z Involuntary joined #lisp 2020-04-11T23:52:07Z Involuntary quit (Client Quit) 2020-04-11T23:52:17Z Involuntary joined #lisp 2020-04-11T23:52:23Z EvW quit (Ping timeout: 260 seconds) 2020-04-11T23:53:34Z Jeanne-Kamikaze quit (Ping timeout: 256 seconds) 2020-04-11T23:56:04Z sulami joined #lisp 2020-04-12T00:00:56Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T00:07:41Z jcowan: Bike: In the R6RS standard it is possible to use macros before they are defined, except at the REPL (whose behavior R6RS does not specify). I argued against this (mis)feature in R7RS using a parable, "The Tale of Professor Simpleton and Dr. Hardcase" 2020-04-12T00:10:15Z hsaziz joined #lisp 2020-04-12T00:10:31Z EvW1 joined #lisp 2020-04-12T00:14:44Z Bike: what does using a macro before it's defined mean, exactly 2020-04-12T00:15:03Z hsaziz quit (Ping timeout: 265 seconds) 2020-04-12T00:17:14Z orivej quit (Ping timeout: 240 seconds) 2020-04-12T00:20:27Z bjorkintosh: wishful thinking! :-) 2020-04-12T00:24:35Z _death: if macro forms are expanded just before they are evaluated, then it is possible to have them stored before macro definition (but not in CL) 2020-04-12T00:26:24Z aeth: that sounds horrible 2020-04-12T00:26:45Z aeth: (for AOT compilers) 2020-04-12T00:35:16Z jcowan: (aeth: it's only possible within a library, the assumption being that you read in the whole library and process the syntax definitions before any variable definitions.) 2020-04-12T00:35:24Z jcowan: But I think it's bad on human factors grounds 2020-04-12T00:35:32Z jcowan: per the parable 2020-04-12T00:37:21Z LdBeth: is there any optimizations for a quite large array with only small integers as elements? 2020-04-12T00:37:54Z LdBeth: for example a (factorial 12) size array with only integers from 1 to 12 as elements? 2020-04-12T00:40:16Z no-defun-allowed: Odds are the upgraded element type of (integer 1 12) would be (unsigned-byte 8) 2020-04-12T00:40:27Z no-defun-allowed needs to check if INTEGER bounds are inclusive or exclusive 2020-04-12T00:40:58Z karlosz joined #lisp 2020-04-12T00:41:10Z _death: sbcl has (unsigned-byte 4) specialization 2020-04-12T00:41:28Z no-defun-allowed: (Right, a number is an inclusive integer designator unless I wrap it in a list) 2020-04-12T00:41:29Z LdBeth: It has to CCL specifically 2020-04-12T00:41:32Z no-defun-allowed: Ah yeah. 2020-04-12T00:42:02Z no-defun-allowed: In CCL: (upgraded-array-element-type '(integer 1 12)) ; ⇒ (UNSIGNED-BYTE 8) 2020-04-12T00:42:34Z LdBeth: yup, a lot quicker 2020-04-12T00:46:16Z no-defun-allowed: I...don't think many processors have instructions for manipulating 4-bit quantities, so it would probably only be better at saving memory. 2020-04-12T00:46:52Z zaquest quit (Quit: Leaving) 2020-04-12T00:46:58Z no-defun-allowed: ....which is reasonable because 12! is pretty big. 2020-04-12T00:47:02Z LdBeth: Yes, I'm using it for a permutation quick lookup table 2020-04-12T00:48:08Z zaquest joined #lisp 2020-04-12T00:50:03Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-12T00:50:17Z sulami joined #lisp 2020-04-12T00:50:20Z SGASAU` quit (Remote host closed the connection) 2020-04-12T00:50:52Z SGASAU` joined #lisp 2020-04-12T00:54:05Z Volt_ quit (Quit: exit();) 2020-04-12T00:55:06Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T00:56:33Z EvW1 quit (Read error: Connection reset by peer) 2020-04-12T00:57:46Z EvW joined #lisp 2020-04-12T01:00:58Z KindOne joined #lisp 2020-04-12T01:04:25Z bitmapper quit (Ping timeout: 264 seconds) 2020-04-12T01:05:19Z Bourne quit (Read error: Connection reset by peer) 2020-04-12T01:11:40Z iAmDecim joined #lisp 2020-04-12T01:13:11Z Involuntary quit (Quit: Leaving) 2020-04-12T01:13:21Z Jeanne-Kamikaze joined #lisp 2020-04-12T01:14:25Z zmt01 joined #lisp 2020-04-12T01:18:07Z zmt00 quit (Ping timeout: 260 seconds) 2020-04-12T01:22:52Z EvW quit (Ping timeout: 258 seconds) 2020-04-12T01:33:20Z amerigo quit (Quit: Connection closed for inactivity) 2020-04-12T01:33:43Z pjb: LdBeth: bit-vectors are vectors of bits (member 0 1). 2020-04-12T01:34:14Z pjb: LdBeth: most implementations also have octet vectors. You can also assume fixnum vectors. 2020-04-12T01:38:14Z Josh_2 quit (Ping timeout: 256 seconds) 2020-04-12T01:38:38Z Bike quit (Quit: Lost terminal) 2020-04-12T01:40:44Z Bike joined #lisp 2020-04-12T01:43:53Z jcowan: there's a case to be made that 1 bit per byte is more performant if you can afford the space 2020-04-12T01:44:04Z jcowan: Java does that for its vectors of booleans 2020-04-12T01:44:30Z sulami joined #lisp 2020-04-12T01:47:50Z pjb: It really depends on the operation. CL has a set of bit-* operations that work on whole bit-vectors. For those operations, packing bits in words is more efficient, both in space and time. 2020-04-12T01:48:05Z pjb: The only operation that is slowed, is aref. 2020-04-12T01:48:18Z pjb: I guess Java only has aref, and no bit-* operation… 2020-04-12T01:49:29Z sulami quit (Ping timeout: 265 seconds) 2020-04-12T01:53:39Z jcowan: Yes, I was taking about mutable bitvectors, not integers-as-bitstrings 2020-04-12T01:54:45Z jcowan: But it's not true that aref is the only slow operation: for example "rotate (CL) byte" is not efficient at all with 1 bit per bit 2020-04-12T01:55:34Z jcowan: or if you make it efficient, you have a good many edge cases to get right 2020-04-12T01:57:31Z pjb: jcowan: yes, for integers, CL also has boole and the log- operations. 2020-04-12T01:58:48Z pjb: Again, (rotatef (aref bv 0) (aref bv 1) (aref bv 2) (aref bv 3) (aref bv 4) (aref bv 5) (aref bv 6) (aref bv 7)) can be very efficient in CL (one read, one rotation of the octet, one store). 2020-04-12T01:59:24Z gko joined #lisp 2020-04-12T02:01:36Z jcowan: Those are the simple cases. Try using the constants 2, 3, 5, 7, 11, 13, 17, 19 instead 2020-04-12T02:03:12Z jcowan: Or as I said rotating or reversing an arbitrary byte. 2020-04-12T02:03:54Z xlei quit (Ping timeout: 256 seconds) 2020-04-12T02:05:14Z xlei joined #lisp 2020-04-12T02:06:43Z pjb: jcowan: as long as you use constant indices, it can be optimized at compilation-time. 2020-04-12T02:11:56Z ahungry joined #lisp 2020-04-12T02:12:43Z akoana joined #lisp 2020-04-12T02:13:11Z aeth: The inability to declare something pure (beyond inlining and hoping) is probably one of the biggest weaknesses of CL optimizations. That is, you can have something effectively constant that's not seen as constant, unless you go out of your way to e.g. run it with #. 2020-04-12T02:13:27Z aeth: (or put it in a macro, which is almost always superior to using #.) 2020-04-12T02:14:59Z aeth: A pure FP subset of CL that compiles to CL should be able to beat idiomatic CL in performance in some cases. 2020-04-12T02:17:04Z aeth: A related weakness is that you can have something literal like '(1 2 3 4) and you can see (e.g. with disassemble) the compiler have fun optimizing it within a function, but that's as far as it can go. 2020-04-12T02:17:40Z aeth: (defun foo () (let ((l '(1 2 3 4))) (car l))) ; disassemble this in SBCL and you can see that it returns 2, i.e. 1 with the fixnum tag. and caddr will return 6, i.e. 3 with the fixnum tag. 2020-04-12T02:20:09Z ayuce joined #lisp 2020-04-12T02:20:44Z aeth: The compilation model is also a weakness here. The compiler can't substitute (foo) with 1 (except within the file, which it might do if not notinline!) because FOO can be redefined at any time. 2020-04-12T02:23:17Z aeth: Finding a way to retore multi-file block compilation in SBCL could make a lot of this possible, but without a pure declaration, it would still be pretty easy to accidentally deoptimize your code. 2020-04-12T02:27:59Z aeth: s/retore/restore/ 2020-04-12T02:28:28Z cods quit (Ping timeout: 268 seconds) 2020-04-12T02:34:26Z sulami joined #lisp 2020-04-12T02:35:41Z mono joined #lisp 2020-04-12T02:38:14Z monok quit (Ping timeout: 256 seconds) 2020-04-12T02:39:45Z sulami quit (Ping timeout: 265 seconds) 2020-04-12T02:44:37Z smasta quit (Ping timeout: 264 seconds) 2020-04-12T02:45:40Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-12T02:50:04Z ukari joined #lisp 2020-04-12T02:56:00Z smasta joined #lisp 2020-04-12T02:58:49Z karlosz quit (Quit: karlosz) 2020-04-12T02:59:35Z karlosz joined #lisp 2020-04-12T03:02:42Z Kundry_Wag joined #lisp 2020-04-12T03:07:18Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-12T03:16:59Z h11 quit (Quit: The Lounge - https://thelounge.chat) 2020-04-12T03:19:40Z ayuce quit (Ping timeout: 256 seconds) 2020-04-12T03:27:25Z beach: Good morning everyone! 2020-04-12T03:28:41Z sulami joined #lisp 2020-04-12T03:32:16Z orivej joined #lisp 2020-04-12T03:33:26Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T03:35:24Z sulami joined #lisp 2020-04-12T03:40:28Z sulami quit (Ping timeout: 265 seconds) 2020-04-12T03:42:08Z Bike quit (Quit: Lost terminal) 2020-04-12T03:42:31Z Involuntary joined #lisp 2020-04-12T03:44:49Z dddddd quit (Ping timeout: 265 seconds) 2020-04-12T03:45:13Z Jeanne-Kamikaze quit (Ping timeout: 264 seconds) 2020-04-12T03:50:31Z Oladon1 quit (Quit: Leaving.) 2020-04-12T03:53:58Z Sweedish joined #lisp 2020-04-12T03:54:46Z Sweedish quit (Client Quit) 2020-04-12T03:57:48Z quazimodo quit (Ping timeout: 256 seconds) 2020-04-12T03:59:40Z quazimodo joined #lisp 2020-04-12T04:02:27Z Involuntary quit (Quit: Leaving) 2020-04-12T04:02:38Z Jeanne-Kamikaze joined #lisp 2020-04-12T04:03:10Z bjorkintosh quit (Read error: Connection reset by peer) 2020-04-12T04:04:05Z bjorkintosh joined #lisp 2020-04-12T04:08:59Z wxie joined #lisp 2020-04-12T04:14:30Z akoana: good morning beach! 2020-04-12T04:14:59Z akoana: and good morning everyone! 2020-04-12T04:15:39Z libertyprime joined #lisp 2020-04-12T04:23:34Z sulami joined #lisp 2020-04-12T04:23:37Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-12T04:28:25Z sulami quit (Ping timeout: 264 seconds) 2020-04-12T04:28:47Z Involuntary joined #lisp 2020-04-12T04:31:53Z Jeanne-Kamikaze quit (Ping timeout: 265 seconds) 2020-04-12T04:37:07Z beach: Hello akoana. 2020-04-12T04:39:44Z wxie quit (Ping timeout: 256 seconds) 2020-04-12T04:41:52Z Necktwi_ is now known as Necktwi 2020-04-12T04:42:00Z Bourne joined #lisp 2020-04-12T04:43:01Z Kundry_Wag joined #lisp 2020-04-12T04:44:03Z Involuntary quit (Quit: Leaving) 2020-04-12T04:44:12Z Jeanne-Kamikaze joined #lisp 2020-04-12T04:45:48Z LdBeth: pjb: thanks 2020-04-12T04:47:19Z pjb: LdBeth: in any case, you can always specify a specific element-type for your arrays. Perhaps the current implementation doesn't optimize it, but the next one will! 2020-04-12T04:48:42Z aeth: pjb: this has been discussed before and some of the element-types people might want (e.g. structs, if someone is used to C/C++/etc.) would be problematic to optimize 2020-04-12T04:51:44Z ahungry quit (Remote host closed the connection) 2020-04-12T04:52:08Z v88m quit (Remote host closed the connection) 2020-04-12T04:52:29Z pjb: aeth: exactly. In the current implementations. But in the future it may be different. And it's a way to document the code. 2020-04-12T04:52:47Z iAmDecim joined #lisp 2020-04-12T04:57:42Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-12T04:58:04Z Kundry_Wag quit (Remote host closed the connection) 2020-04-12T04:58:38Z Kundry_Wag joined #lisp 2020-04-12T05:04:50Z Oladon joined #lisp 2020-04-12T05:08:42Z Involuntary joined #lisp 2020-04-12T05:08:49Z bjorkintosh quit (Quit: Leaving) 2020-04-12T05:10:57Z Jeanne-Kamikaze quit (Ping timeout: 258 seconds) 2020-04-12T05:13:34Z smasta quit (Ping timeout: 256 seconds) 2020-04-12T05:15:29Z iAmDecim joined #lisp 2020-04-12T05:17:29Z sulami joined #lisp 2020-04-12T05:22:27Z sulami quit (Ping timeout: 258 seconds) 2020-04-12T05:25:38Z zaquest quit (Ping timeout: 256 seconds) 2020-04-12T05:28:40Z narimiran joined #lisp 2020-04-12T05:30:51Z Involuntary quit (Quit: Leaving) 2020-04-12T05:31:00Z Jeanne-Kamikaze joined #lisp 2020-04-12T05:37:23Z manjaroi3 joined #lisp 2020-04-12T05:38:45Z vhost- joined #lisp 2020-04-12T05:38:45Z vhost- quit (Changing host) 2020-04-12T05:38:45Z vhost- joined #lisp 2020-04-12T05:43:59Z Bourne quit (Read error: Connection reset by peer) 2020-04-12T05:45:03Z theruran joined #lisp 2020-04-12T05:47:00Z smasta joined #lisp 2020-04-12T05:47:29Z gravicappa joined #lisp 2020-04-12T05:50:52Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-04-12T05:51:56Z smasta quit (Ping timeout: 265 seconds) 2020-04-12T05:54:44Z Willi-Smith joined #lisp 2020-04-12T06:00:24Z zymurgy quit (Quit: WeeChat 1.4) 2020-04-12T06:00:49Z quazimodo quit (Ping timeout: 265 seconds) 2020-04-12T06:01:12Z Kundry_Wag quit (Remote host closed the connection) 2020-04-12T06:02:35Z quazimodo joined #lisp 2020-04-12T06:03:05Z Willi-Smith left #lisp 2020-04-12T06:04:33Z Oladon quit (Quit: Leaving.) 2020-04-12T06:07:13Z nmg joined #lisp 2020-04-12T06:08:51Z Bourne joined #lisp 2020-04-12T06:11:14Z zymurgy joined #lisp 2020-04-12T06:11:42Z sulami joined #lisp 2020-04-12T06:16:14Z sulami quit (Ping timeout: 240 seconds) 2020-04-12T06:17:44Z _paul0 joined #lisp 2020-04-12T06:18:44Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-12T06:20:02Z paul0 quit (Ping timeout: 246 seconds) 2020-04-12T06:23:49Z zaquest joined #lisp 2020-04-12T06:24:43Z shifty joined #lisp 2020-04-12T06:35:40Z emys joined #lisp 2020-04-12T06:38:37Z shangul joined #lisp 2020-04-12T06:39:40Z shka_ joined #lisp 2020-04-12T06:49:02Z even4void joined #lisp 2020-04-12T06:50:29Z emys quit (Ping timeout: 246 seconds) 2020-04-12T06:57:55Z phoe: morniiiing 2020-04-12T06:58:06Z emys joined #lisp 2020-04-12T07:00:21Z beach: Hello phoe. 2020-04-12T07:05:57Z sulami joined #lisp 2020-04-12T07:07:02Z emys quit (Ping timeout: 265 seconds) 2020-04-12T07:09:22Z phoe: Hey beach 2020-04-12T07:09:53Z phoe: I've hit the 50-page milestone on my "article" about the Common Lisp condition system. I guess it's time to start calling it a book instead. 2020-04-12T07:10:54Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-12T07:12:13Z sulami quit (Ping timeout: 264 seconds) 2020-04-12T07:12:24Z beach: Sounds like it. 2020-04-12T07:13:17Z beach: phoe: I am still very busy. Now I need to finish reading and assessing the document by Didier Verna, regarding his "habilitation". 2020-04-12T07:16:57Z phoe: beach: no problem, yes. 2020-04-12T07:17:22Z phoe: I'll keep on working on my thing for the time being. There's no rush reviewing it. 2020-04-12T07:17:45Z beach: Thanks! 2020-04-12T07:18:40Z v88m joined #lisp 2020-04-12T07:19:24Z phoe: It is me who should be the thanking one. 2020-04-12T07:25:53Z aeth: phoe: when you do have a book, you should put it on one of those sites that does low-volume publishing so people can buy it 2020-04-12T07:25:54Z jonatack__ joined #lisp 2020-04-12T07:26:04Z pve joined #lisp 2020-04-12T07:26:26Z phoe: aeth: leanpub, yes. 2020-04-12T07:29:00Z jonatack_ quit (Ping timeout: 256 seconds) 2020-04-12T07:31:34Z Codaraxis__ quit (Ping timeout: 240 seconds) 2020-04-12T07:31:42Z asarch joined #lisp 2020-04-12T07:33:07Z Codaraxis__ joined #lisp 2020-04-12T07:33:28Z smasta joined #lisp 2020-04-12T07:37:21Z slyrus_ joined #lisp 2020-04-12T07:38:34Z smasta quit (Ping timeout: 256 seconds) 2020-04-12T07:40:04Z slyrus quit (Ping timeout: 258 seconds) 2020-04-12T07:43:54Z sulami joined #lisp 2020-04-12T07:48:22Z emys joined #lisp 2020-04-12T07:52:47Z ukari quit (Remote host closed the connection) 2020-04-12T07:56:34Z emys quit (Ping timeout: 240 seconds) 2020-04-12T08:00:03Z ebrasca joined #lisp 2020-04-12T08:06:24Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T08:07:12Z ebrasca quit (Remote host closed the connection) 2020-04-12T08:07:25Z revtintin joined #lisp 2020-04-12T08:08:21Z sulami joined #lisp 2020-04-12T08:08:48Z emys joined #lisp 2020-04-12T08:10:12Z ATuin joined #lisp 2020-04-12T08:10:23Z ATuin: hi 2020-04-12T08:11:06Z no-defun-allowed: Hello ATuin 2020-04-12T08:11:33Z ATuin: i'm gettin a strange behaviour with ASDF and stumpwm 2020-04-12T08:11:46Z ATuin: and im quite new to both (also to lisp) 2020-04-12T08:12:17Z jackdaniel: please describe your problem 2020-04-12T08:12:24Z ATuin: ok, i will try 2020-04-12T08:12:29Z ATuin: i install it using guix 2020-04-12T08:12:46Z jackdaniel: fwiw there is also #stumpwm channel 2020-04-12T08:12:51Z ATuin: seems that sbcl was updated at some point to 2.0.3 (dunno if that's the problem or now though) 2020-04-12T08:13:04Z ATuin: yeah i was there, but no clue about the problem 2020-04-12T08:13:15Z ATuin: ok i have a link to the binary 2020-04-12T08:13:38Z ATuin: DISPLAY=:1 /home/atuin/.guix-profile/bin/stumpwm 2020-04-12T08:13:56Z ATuin: running that i can get my stumpwm working (loading slynk usign ASDF) 2020-04-12T08:14:16Z ATuin: DISPLAY=:1 $(readlink /home/atuin/.guix-profile/bin/stumpwm) 2020-04-12T08:14:30Z ATuin: running that it takes like 1-2 minutes to start 2020-04-12T08:14:48Z ATuin: it's stuck when loading a module 2020-04-12T08:14:55Z ATuin: (asdf:load-system :mem) for instance 2020-04-12T08:15:17Z ATuin: then ASDF loads itself (asdf:load-system :asdf) and that takes like 1 or 2 minutes 2020-04-12T08:15:52Z ATuin: looks like a problem with the paths right? since the binary is the same (one the symlink and the other dereferencing) 2020-04-12T08:16:22Z jackdaniel: yes, and that would be probably a packaging issue (i.e guix fault) 2020-04-12T08:16:43Z ATuin: yep, i think the same, but i want to understand the root of the problem so i can fix it 2020-04-12T08:17:09Z ATuin: at which point is using the relative paths, is it ASDF or stumpwm 2020-04-12T08:17:20Z ATuin: since sbcl works fine using symlinks 2020-04-12T08:17:40Z emys quit (Ping timeout: 256 seconds) 2020-04-12T08:17:54Z jackdaniel: maybe asdf can't find .cache/common-lisp 2020-04-12T08:18:01Z ATuin: ahh 2020-04-12T08:18:13Z revtintin quit (Ping timeout: 264 seconds) 2020-04-12T08:18:13Z jackdaniel: or sbcl cant figure its contrib directory? 2020-04-12T08:18:24Z ATuin: i think sbcl works fine 2020-04-12T08:18:40Z ATuin: i tried both ways of running it and no issues when loading systems 2020-04-12T08:18:54Z ATuin: but the .cache/common-lisp could make sense 2020-04-12T08:19:59Z ATuin: i tried to use (trace) but it does not provide enough info to see exactly what's taking the cpu so busy 2020-04-12T08:20:23Z jackdaniel leaves to celebrate the easter, good luck! 2020-04-12T08:20:36Z ATuin: thanks, and have fun :) 2020-04-12T08:22:16Z SGASAU` quit (Remote host closed the connection) 2020-04-12T08:22:40Z SGASAU` joined #lisp 2020-04-12T08:23:11Z iAmDecim joined #lisp 2020-04-12T08:25:13Z asarch quit (Quit: Leaving) 2020-04-12T08:26:22Z revtintin joined #lisp 2020-04-12T08:28:30Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-12T08:34:40Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T08:34:49Z stepnem quit (Ping timeout: 265 seconds) 2020-04-12T08:36:06Z stepnem joined #lisp 2020-04-12T08:39:22Z Necktwi quit (Read error: Connection reset by peer) 2020-04-12T08:39:26Z revtintin quit (Ping timeout: 256 seconds) 2020-04-12T08:39:57Z Necktwi joined #lisp 2020-04-12T08:41:20Z tiwEllien joined #lisp 2020-04-12T08:41:54Z v88m quit (Ping timeout: 240 seconds) 2020-04-12T08:48:40Z z147 joined #lisp 2020-04-12T08:56:00Z emys joined #lisp 2020-04-12T08:56:31Z even4void joined #lisp 2020-04-12T09:01:56Z amerigo joined #lisp 2020-04-12T09:05:00Z sulami joined #lisp 2020-04-12T09:05:32Z revtintin joined #lisp 2020-04-12T09:06:27Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-12T09:11:07Z smasta joined #lisp 2020-04-12T09:11:21Z phoe: the syntax inconsistencies between HANDLER-BIND and HANDLER-CASE and between RESTART-BIND and RESTART-CASE are kinda gross now that I think about them 2020-04-12T09:11:42Z phoe: RESTART-BIND accepts :TEST-FUNCTION while RESTART-CASE accepts :TEST 2020-04-12T09:12:02Z sulami quit (Ping timeout: 265 seconds) 2020-04-12T09:12:09Z phoe: HANDLER-BIND has a &body that accepts forms to be execused while HANDLER-CASE has a &body that accepts handler definitions 2020-04-12T09:12:18Z phoe: ewwwwww 2020-04-12T09:12:31Z shka_: well, side effect of design by the committee 2020-04-12T09:12:42Z emys quit (Ping timeout: 256 seconds) 2020-04-12T09:13:22Z no-defun-allowed: The committee did care for aesthetics; there's a section for it in every issue writeup. 2020-04-12T09:14:09Z parjanya quit (Ping timeout: 265 seconds) 2020-04-12T09:14:25Z shka_: yes, but it is very likely that weirdness like above is the result of the backward compatibility requirements 2020-04-12T09:14:59Z ukari joined #lisp 2020-04-12T09:15:00Z no-defun-allowed: Maybe. Not so much a "committee" problem as a "don't break things" problem then. 2020-04-12T09:16:52Z smasta quit (Ping timeout: 265 seconds) 2020-04-12T09:16:56Z ym joined #lisp 2020-04-12T09:18:05Z dddddd joined #lisp 2020-04-12T09:19:22Z Shinmera: phoe: I've never used restart-bind 2020-04-12T09:20:25Z emys joined #lisp 2020-04-12T09:22:11Z phoe: Shinmera: I have, and it's fancy 2020-04-12T09:22:36Z phoe: except not actually for restarts that restart actual processes 2020-04-12T09:24:43Z karlosz quit (Quit: karlosz) 2020-04-12T09:29:01Z emys quit (Ping timeout: 264 seconds) 2020-04-12T09:31:59Z jackdaniel: phoe: bind is a let specie 2020-04-12T09:32:13Z jackdaniel: case is a specie of well, case 2020-04-12T09:33:11Z jackdaniel: so semantically these oprators are ok when we take their names 2020-04-12T09:33:16Z revtintin quit (Ping timeout: 256 seconds) 2020-04-12T09:35:47Z phoe: jackdaniel: I'm aware 2020-04-12T09:35:56Z phoe: the disparity is more visible in the restart zone 2020-04-12T09:36:25Z emys joined #lisp 2020-04-12T09:36:33Z phoe: restart-bind's :test-function accepts #'foo, but restart-case's :test does not accept #'foo 2020-04-12T09:36:48Z phoe: if I didn't know how CL came to be it would cause me to go "wtf" 2020-04-12T09:37:01Z phoe: and even though I know, the urge to do so is strong in me 2020-04-12T09:39:09Z revtintin joined #lisp 2020-04-12T09:39:58Z Lord_of_Life_ joined #lisp 2020-04-12T09:40:33Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-04-12T09:41:17Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-12T09:43:06Z dale quit (Quit: My computer has gone to sleep) 2020-04-12T09:44:07Z ukari quit (Ping timeout: 260 seconds) 2020-04-12T09:44:18Z ym quit (Quit: Leaving) 2020-04-12T09:44:27Z emys quit (Ping timeout: 250 seconds) 2020-04-12T09:45:01Z SGASAU` quit (Remote host closed the connection) 2020-04-12T09:45:34Z revtintin quit (Ping timeout: 256 seconds) 2020-04-12T09:45:56Z SGASAU` joined #lisp 2020-04-12T09:47:45Z sulami joined #lisp 2020-04-12T09:51:47Z random-nick joined #lisp 2020-04-12T09:52:06Z emys joined #lisp 2020-04-12T09:52:32Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T09:53:43Z z147 quit (Ping timeout: 240 seconds) 2020-04-12T09:56:34Z hhdave joined #lisp 2020-04-12T09:57:04Z sulami joined #lisp 2020-04-12T10:01:02Z emys quit (Ping timeout: 265 seconds) 2020-04-12T10:01:12Z revtintin joined #lisp 2020-04-12T10:02:01Z sulami quit (Ping timeout: 264 seconds) 2020-04-12T10:08:32Z emys joined #lisp 2020-04-12T10:08:35Z SGASAU` quit (Ping timeout: 265 seconds) 2020-04-12T10:09:17Z sulami joined #lisp 2020-04-12T10:10:02Z jonatack__ quit (Ping timeout: 265 seconds) 2020-04-12T10:10:38Z jonatack__ joined #lisp 2020-04-12T10:12:10Z wheelsucker quit (Read error: Connection reset by peer) 2020-04-12T10:13:55Z sulami quit (Ping timeout: 250 seconds) 2020-04-12T10:15:09Z frgo quit (Remote host closed the connection) 2020-04-12T10:15:42Z frgo joined #lisp 2020-04-12T10:16:04Z phoe: also HANDLER-CASE has :NO-ERROR and RESTART-CASE does not 2020-04-12T10:16:09Z phoe: another eww 2020-04-12T10:16:38Z emys quit (Ping timeout: 246 seconds) 2020-04-12T10:20:40Z bendersteed quit (Remote host closed the connection) 2020-04-12T10:21:17Z sulami joined #lisp 2020-04-12T10:33:51Z __jrjsmrtn__ quit (Ping timeout: 250 seconds) 2020-04-12T10:35:06Z __jrjsmrtn__ joined #lisp 2020-04-12T10:41:43Z smasta joined #lisp 2020-04-12T10:46:25Z smasta quit (Ping timeout: 250 seconds) 2020-04-12T10:47:01Z emys joined #lisp 2020-04-12T10:48:21Z Inline joined #lisp 2020-04-12T10:56:25Z SGASAU joined #lisp 2020-04-12T10:58:46Z v88m joined #lisp 2020-04-12T11:04:50Z hhdave quit (Quit: hhdave) 2020-04-12T11:04:50Z narimiran quit (Ping timeout: 256 seconds) 2020-04-12T11:15:18Z SGASAU quit (Remote host closed the connection) 2020-04-12T11:15:47Z SGASAU joined #lisp 2020-04-12T11:17:34Z v88m quit (Ping timeout: 240 seconds) 2020-04-12T11:24:40Z phoe: I remember someone mentioning a macro named HANDLER-CASE* which worked exactly like HANDLER-CASE, except the cases were executed before unwinding the stack. Is anyone aware of any existing permissively-licensed implementation of it? 2020-04-12T11:25:15Z phoe: Grepping the c.l.l archives of 1986-2017 did not give me any hits. 2020-04-12T11:28:43Z SGASAU quit (Remote host closed the connection) 2020-04-12T11:29:18Z SGASAU joined #lisp 2020-04-12T11:29:29Z emys quit (Ping timeout: 265 seconds) 2020-04-12T11:32:39Z SGASAU quit (Remote host closed the connection) 2020-04-12T11:33:48Z shifty quit (Ping timeout: 256 seconds) 2020-04-12T11:34:29Z theruran quit (Quit: Connection closed for inactivity) 2020-04-12T11:34:45Z SGASAU joined #lisp 2020-04-12T11:35:30Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T11:35:52Z smasta joined #lisp 2020-04-12T11:36:37Z SGASAU quit (Remote host closed the connection) 2020-04-12T11:37:07Z SGASAU joined #lisp 2020-04-12T11:37:34Z phoe: Hmm. I think I'll grab handler-case from CMU CL and modify it. 2020-04-12T11:41:01Z smasta quit (Ping timeout: 264 seconds) 2020-04-12T11:45:21Z jackdaniel: I've shared this macro 2020-04-12T11:45:55Z jackdaniel: basically handler-bind in a block + no-error handling 2020-04-12T11:46:18Z jackdaniel: (shared on this channel) 2020-04-12T11:46:25Z phoe: jackdaniel: oh! let me grep the channel logs 2020-04-12T11:48:45Z phoe: hmm, one hit from 2018 2020-04-12T11:48:49Z emys joined #lisp 2020-04-12T11:52:21Z compmstr joined #lisp 2020-04-12T11:55:33Z tsrt^ quit 2020-04-12T11:57:30Z SGASAU quit (Remote host closed the connection) 2020-04-12T11:58:34Z SGASAU joined #lisp 2020-04-12T11:59:30Z sulami joined #lisp 2020-04-12T12:07:10Z iAmDecim joined #lisp 2020-04-12T12:07:20Z sulami quit (Remote host closed the connection) 2020-04-12T12:07:36Z sulami joined #lisp 2020-04-12T12:18:47Z emys quit (Ping timeout: 265 seconds) 2020-04-12T12:22:25Z revtintin quit (Ping timeout: 264 seconds) 2020-04-12T12:23:34Z eta: why does SBCL use so much dynamic space memory just after it's started? 2020-04-12T12:23:41Z eta: loading it and running (ROOM) results in 50,077,648 bytes for 1,311,232 dynamic objects (space total) 2020-04-12T12:26:07Z p_l: eta: speed vs code size is in play 2020-04-12T12:26:25Z eta: p_l, how so? 2020-04-12T12:26:44Z narimiran joined #lisp 2020-04-12T12:27:21Z _death: it includes the runtime, the compiler, docstrings, caches, libraries, docstrings, etc. 2020-04-12T12:27:27Z p_l: CMUCL (and thus SBCL, which derives from it) compiler is famous for generating fast code. However, the same rules that help it generate fast code mean that it takes more space, due to inlining et al 2020-04-12T12:27:46Z eta: oh wait, dynamic space includes code? 2020-04-12T12:27:50Z p_l: then you have the part where it has to include all the doctstrings etc. 2020-04-12T12:27:52Z p_l: yes 2020-04-12T12:27:55Z eta: what's immobile space for then? 2020-04-12T12:28:17Z p_l: eta: immobile space is the stuff that is, for various reason, "pinned" in memory location 2020-04-12T12:28:40Z p_l: eta: btw, the optimization features? They also take space in terms of compiler code, so you get more space used by compiler, too :) 2020-04-12T12:28:54Z eta: p_l, fair enough; thanks for the explanation! :) 2020-04-12T12:29:17Z p_l: eta: IIRC, try (room t) and it should show you some statistics on object types 2020-04-12T12:29:28Z p_l: though I think SBCL didn't show much detail there 2020-04-12T12:29:28Z eta thinks a heap size of around 90M for their app is more than reasonable 2020-04-12T12:29:52Z p_l: eta: remember to account for virtual memory, too 2020-04-12T12:30:03Z smasta joined #lisp 2020-04-12T12:30:22Z eta: > SB-C::COMPILED-DEBUG-FUN 2,399,872 bytes, 37,498 objects. 2020-04-12T12:30:24Z eta: aha 2020-04-12T12:30:40Z p_l: the GC algorithms work better if you have large address space + budget for ~2x the amount of memory used at any particular time (it's a quick approximation, not hard rule) 2020-04-12T12:30:49Z eta: eh, I'll take a memory hit for the ability to remote-debug my app any day :P 2020-04-12T12:31:11Z p_l: eta: compared to some code today, SBCL feels positively small ;) 2020-04-12T12:31:18Z eta: indeed! 2020-04-12T12:31:32Z p_l remembers when people used to complain about VCL's size when compiling binaries with Delphi :/ 2020-04-12T12:32:33Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-12T12:34:19Z revtintin joined #lisp 2020-04-12T12:37:12Z phoe: nowadays people run whole virtualized OSes to run their tiny apps; compared to this, SBCL footprint feels smol 2020-04-12T12:39:54Z hhdave joined #lisp 2020-04-12T12:40:24Z emys joined #lisp 2020-04-12T12:41:01Z smasta quit (Ping timeout: 264 seconds) 2020-04-12T12:45:11Z emys quit (Ping timeout: 265 seconds) 2020-04-12T12:45:20Z jonatack__ quit (Quit: jonatack__) 2020-04-12T12:45:40Z jonatack joined #lisp 2020-04-12T12:46:56Z jcowan: I am trying to solve a problem with involving the CL integer representation of bit sequences, and I can't see how to do it 2020-04-12T12:48:18Z jcowan: Given a list of bit positions, (i j k ...) the representation as an integer is 2^i + 2^j + 2^k + ...; that seems clear. 2020-04-12T12:50:43Z jcowan: Now I have a value n that means "all bits from n to infinity are set", which requires a negative number in the integer representation, i.e. -1 = 0 to infinity, -2 = 1 to infinity, -4 = 2 to infinity, etc. 2020-04-12T12:52:08Z jcowan: How can I combine these such that I get the integer representation of (i j k n (+ n 1) (+ n 2) ...)? Every time I try to reason it out, I get more confused. 2020-04-12T12:52:32Z emys joined #lisp 2020-04-12T12:54:37Z beach: Is it the case that i < j < k < n? 2020-04-12T12:56:09Z Steinberg2010 joined #lisp 2020-04-12T12:57:06Z jcowan: We can assume that n > the rest wlg, though the order of i, j, k shouldn't matter, addition being commutative and all. 2020-04-12T12:57:07Z Posterdati: jcowan: you can have a class with a bit array of n bits to store the < n bits positions 2020-04-12T12:57:34Z jcowan: I want to represent them as an integer, since almost all cases will fit into a fixnum. 2020-04-12T12:57:49Z beach: jcowan: Do you want to know how to obtain it in Common Lisp, or do you want some mathematical expression for it? 2020-04-12T12:59:22Z jcowan: Either. 2020-04-12T12:59:42Z ggole joined #lisp 2020-04-12T13:00:01Z beach: In Common Lisp, you can use LOGIOR and LOGNOT, so if you know how to do n, n+1, n+2, ... then you can OR it with the one for i j k. 2020-04-12T13:00:13Z jcowan: Just so 2020-04-12T13:00:53Z beach: And if you don't know how to do n, n+1, ..., then you can AND it with -1 and the representation for 1, 2, ... n-1. 2020-04-12T13:00:53Z Posterdati: what about over n positions bits? 2020-04-12T13:01:12Z beach: Posterdati: What about them? 2020-04-12T13:01:19Z emys quit (Ping timeout: 265 seconds) 2020-04-12T13:01:23Z Posterdati: is it a bit mask? 2020-04-12T13:01:29Z beach: It is an integer. 2020-04-12T13:01:34Z jcowan: the expression for n+ is evidently 2^n - 1 ! 2020-04-12T13:01:36Z iAmDecim joined #lisp 2020-04-12T13:01:46Z jcowan: whoa, much easier than I thought 2020-04-12T13:01:51Z beach: Good. 2020-04-12T13:02:11Z jcowan: thanks for being the proverbial teddy bear 2020-04-12T13:02:19Z beach: Pleasure. 2020-04-12T13:02:20Z Posterdati: so not an infinite bit mask 2020-04-12T13:02:33Z jcowan: ("explain your problem to the teddy bear: only if that doesn't work can you talk to a human being") 2020-04-12T13:02:36Z beach: Posterdati: A Common Lisp integer is an infinite bit mask. 2020-04-12T13:02:47Z Xach: (dpb 0 (byte n 0) -1) 2020-04-12T13:03:00Z Posterdati: beach: limited to the machine memory... 2020-04-12T13:03:06Z jcowan: .. with either a finite number of 1s or a finite number of 0s 2020-04-12T13:03:11Z KDr24 joined #lisp 2020-04-12T13:03:35Z beach: Posterdati: No, -1 is an infinite mask with all 1s in it. No need for infinite memory. 2020-04-12T13:03:49Z hhdave quit (Quit: hhdave) 2020-04-12T13:03:57Z beach: Posterdati: And 0 is an infinite mask with all 0s in it. No need for infinite memory. 2020-04-12T13:04:24Z KDr23 quit (Ping timeout: 256 seconds) 2020-04-12T13:05:00Z phoe: you don't need infinite memory to represent an infinite mask 2020-04-12T13:05:31Z phoe: CL does the trick of "hey, these are the bits that actually matter, and lets pretend that all the infinite bits that come later are zero" or "are one" 2020-04-12T13:06:12Z jcowan: Yes, which means (for instance) that you cannot have a bit representation of "all the prime numbers" 2020-04-12T13:06:16Z phoe: that is how all integers in CL are actually treated, unless you are explicitly use modular arithetic 2020-04-12T13:06:27Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-12T13:07:29Z beach: Posterdati: Try (logbitp (expt 2 100) -1) 2020-04-12T13:08:27Z revtintin quit (Ping timeout: 256 seconds) 2020-04-12T13:08:31Z emys joined #lisp 2020-04-12T13:08:54Z iAmDecim joined #lisp 2020-04-12T13:10:09Z beach: Posterdati: Then figure out how big a memory you need for (expt 2 100) bits. 2020-04-12T13:10:14Z tiwEllien quit (Remote host closed the connection) 2020-04-12T13:10:59Z Steinberg2010 quit (Ping timeout: 265 seconds) 2020-04-12T13:11:05Z srji joined #lisp 2020-04-12T13:11:26Z tiwEllien joined #lisp 2020-04-12T13:13:24Z emys quit (Ping timeout: 265 seconds) 2020-04-12T13:13:42Z EvW1 joined #lisp 2020-04-12T13:18:38Z beach: Posterdati: Did that make sense to you? 2020-04-12T13:18:53Z revtintin joined #lisp 2020-04-12T13:20:24Z emys joined #lisp 2020-04-12T13:23:22Z lemoinem is now known as Guest290 2020-04-12T13:23:23Z lemoinem joined #lisp 2020-04-12T13:23:32Z Guest290 quit (Ping timeout: 258 seconds) 2020-04-12T13:24:10Z Posterdati: I asked about the problem not about CL integers :) 2020-04-12T13:25:04Z emys quit (Ping timeout: 258 seconds) 2020-04-12T13:25:04Z revtintin quit (Ping timeout: 258 seconds) 2020-04-12T13:26:43Z efm quit (Ping timeout: 260 seconds) 2020-04-12T13:29:21Z beach: Fine. 2020-04-12T13:29:51Z beach: That should teach me to try to explain something. 2020-04-12T13:32:58Z revtintin joined #lisp 2020-04-12T13:35:22Z arduo joined #lisp 2020-04-12T13:37:30Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-12T13:37:57Z iAmDecim joined #lisp 2020-04-12T13:38:53Z vhost- quit (Ping timeout: 250 seconds) 2020-04-12T13:44:10Z emys joined #lisp 2020-04-12T13:44:37Z phoe: CLHS COMPUTE-RESTARTS says: 2020-04-12T13:44:44Z phoe: > When condition is non-nil, only those restarts are considered that are either explicitly associated with that condition, or not associated with any condition; (...) If condition is nil, all restarts are considered. 2020-04-12T13:45:06Z phoe: What should (restart-bind ((foo (lambda () 42) :test-function (constantly nil))) (print (find-restart 'foo)) nil) print? 2020-04-12T13:45:59Z phoe: Or rather 2020-04-12T13:46:21Z phoe: What should (restart-bind ((foo (lambda () 42) :test-function (constantly nil))) (print (compute-restarts)) nil) print? Will the printed list contain restart FOO? 2020-04-12T13:48:16Z phoe: Or did I mix restart tests and association between restarts and condition objects? 2020-04-12T13:49:23Z phoe: I think I did. 2020-04-12T13:50:54Z phoe: This stuff is so wonderfully complex... 2020-04-12T13:51:11Z Posterdati: beach: I asked about the problem, not CL, sorry :) 2020-04-12T13:51:34Z splittist: phoe: I'm waiting for the book... (: 2020-04-12T13:51:47Z phoe: splittist: so am I 2020-04-12T13:51:53Z phoe: it's 60 A4 pages right now 2020-04-12T13:51:56Z phoe: ...and still growing 2020-04-12T13:52:03Z beach: beach: limited to the machine memory... 2020-04-12T13:54:31Z phoe: splittist: the offer is still there if you want to review the WIP 2020-04-12T13:55:19Z bitmapper joined #lisp 2020-04-12T13:59:37Z Bike joined #lisp 2020-04-12T14:02:02Z Posterdati: beach: this is written in the specs about integers 2020-04-12T14:05:53Z smasta joined #lisp 2020-04-12T14:07:59Z Bike: phoe: well, i learned something today. i didn't think the tests factored in if no condition was provided to compute-restarts, but based on the glossary entry "applicable restarts" and 9.1.4.2.3, the tests are just called with NIL 2020-04-12T14:08:23Z emys quit (Ping timeout: 258 seconds) 2020-04-12T14:08:30Z Bike: so you can have a restart that's never applicable if a specific condition is given. i wonder if that could ever be good for anything. doesn't seem like it. 2020-04-12T14:08:45Z Bike: also, i tried your example but thought "why bother with the print" and got an unhandled memory fault and it took me a sec to understand why 2020-04-12T14:08:54Z sulami quit (Ping timeout: 240 seconds) 2020-04-12T14:09:03Z phoe: Bike: I laughed at that last part 2020-04-12T14:09:17Z phoe: also, yes - you can have a restart that is never applicable if a specific condition is given, that is the whole point 2020-04-12T14:09:35Z phoe: from what I've read, it is only the case when you are dealing with a nested debugger and have therefore multiple conditions being handled in the dynamic scope 2020-04-12T14:09:57Z Bike: but when a debugger computes restarts it probably passes the condition. 2020-04-12T14:09:59Z phoe: if you try to handle error A and this results in signaling error B, you probably don't want to see A-related restarts in your debugger 2020-04-12T14:10:02Z phoe: yes 2020-04-12T14:10:05Z phoe: that's what I have inferred 2020-04-12T14:10:21Z phoe: so when it computes restarts for condition B, it passes condition B there 2020-04-12T14:10:40Z phoe: so, if any restarts are associated with A, they are not visible in (compute-restarts B) 2020-04-12T14:10:42Z smasta quit (Ping timeout: 256 seconds) 2020-04-12T14:10:44Z Bike: you can add to your inference the hearsay that i have written a debugger and that is what it does 2020-04-12T14:10:47Z phoe: at least that is what I understood 2020-04-12T14:10:57Z phoe: yay! 2020-04-12T14:11:04Z phoe: still, I learn new and new things 2020-04-12T14:11:07Z Bike: yes, you're correct. But this is about not passing a condition at all. 2020-04-12T14:11:24Z phoe: the most important one: the test function and association are *separate* and accounted for separately 2020-04-12T14:11:37Z phoe: therefore the restart can be associated with the proper condition, but its test function may still return NIL 2020-04-12T14:11:41Z phoe: and boom, that restart is invisible 2020-04-12T14:11:51Z phoe: if no condition is passed, then the test function needs to deal with that fact 2020-04-12T14:12:09Z phoe: ...and it may still return NIL, for instance, when (= 0 (random 2)) 2020-04-12T14:12:10Z Bike: the association is also dynamic, so in two different dynamic extents calling compute-restarts with the same condition can give you different answers. 2020-04-12T14:12:18Z phoe: yes, that's correct 2020-04-12T14:12:38Z Bike: and yes, i understand how this no-condition test works, i'm just failing to think of a practical scenario in which you'd ever want to do this. 2020-04-12T14:12:47Z sulami joined #lisp 2020-04-12T14:12:49Z phoe: you can rebind dynamic variables between two invocations of (compute-restarts condition) and the test function for the restarts can take the current values of these dynavars into account 2020-04-12T14:13:22Z phoe: Bike: I have found a use case for that - some restarts are only available if the dynamic environment permits them at the moment 2020-04-12T14:13:48Z phoe: like, you don't want to call restart USE-FOO-INSTEAD if the dynamic variable *FOO* that houses the FOO that you are supposed to use is bound to NIL 2020-04-12T14:13:56Z phoe: you don't want that restart to even be visible 2020-04-12T14:14:06Z Bike: that's fine but i don't see how that's what i'm talking about 2020-04-12T14:14:14Z phoe: oh! what are you talking about then? 2020-04-12T14:14:19Z phoe: I misunderstood the no-condition test then 2020-04-12T14:14:24Z byronkatz joined #lisp 2020-04-12T14:14:54Z Bike: i'm talking about distinguishing (compute-restarts) from (compute-restarts condition) in such a way that the restart test would specifically want to know that the former and not the latter was done 2020-04-12T14:15:08Z Bike: for example, given my debugger, you could make a restart that was never visible to the debugger 2020-04-12T14:15:22Z Bike: with a test of (lambda (c) (not c)) 2020-04-12T14:15:29Z Bike: or well, just #'not i suppose 2020-04-12T14:15:30Z phoe: this is useful if you have restarts that don't perform a NLToC 2020-04-12T14:15:44Z phoe: you usually never want to have them visible in the debugger, since they don't get you out of it 2020-04-12T14:15:50Z Bike: okay, well, question two, why would you want restarts that don't perform an NLToC. i have never seen restart-bind in actual code 2020-04-12T14:16:02Z phoe: that's what I'm fixing in my book right now~ 2020-04-12T14:16:26Z emys joined #lisp 2020-04-12T14:16:36Z Bike: by next week you'll have figured out how to use restarts to implement delimited continuations 2020-04-12T14:16:43Z beach: Posterdati: Thank you for confirming that I need to work on my teaching skills. 2020-04-12T14:16:52Z phoe: Bike: call/cc via restarts in two weeks, I promise 2020-04-12T14:17:30Z revtintin quit (Ping timeout: 256 seconds) 2020-04-12T14:19:32Z Posterdati: beach: wasn't my intention, you were right about numbers, but I asked about the specific problem :) 2020-04-12T14:19:34Z Bike: https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/lsp/top.lsp#L1054 htere's where clasp's debugger computes restarts, for reference 2020-04-12T14:20:15Z phoe: also posting this here so I have something to search for later: an implementation of handler-case* https://plaster.tymoon.eu/view/1740#1740 2020-04-12T14:20:22Z phoe: seems not buggy from the little I've tested it 2020-04-12T14:21:01Z phoe: Bike: yes, I see 2020-04-12T14:22:18Z Bike: you don't need the return-from in the handler-bind, do you? 2020-04-12T14:22:25Z lavaflow quit (Ping timeout: 264 seconds) 2020-04-12T14:22:26Z phoe: which line? 2020-04-12T14:22:29Z Bike: 34 2020-04-12T14:22:37Z beach: Posterdati: No, you didn't ask, but you objected to an integer being an infinite bit mask, claiming that it is limited to available memory, and I showed with an example that you can check a bit way outside available memory, but since my explanation did not seem to make sense to you, it is clear that my teaching skills need improving. 2020-04-12T14:23:09Z phoe: Bike: yes, seems to - let me edit 2020-04-12T14:23:29Z Bike: i mean, it's hrmless, just making sure i udnerstand 2020-04-12T14:24:23Z phoe: Bike: this is modified CMU CL code, so it's possible it's a bit dirty in other places 2020-04-12T14:26:07Z phoe: I was unable to find jackdaniel's code so I decided to grab CMUCL's handler-case and smash it with a rock until it looked (hopefully) nice and clean enough to the eye 2020-04-12T14:30:04Z dorketch joined #lisp 2020-04-12T14:30:45Z Kundry_Wag joined #lisp 2020-04-12T14:32:10Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-04-12T14:32:42Z Kundry_Wag joined #lisp 2020-04-12T14:40:28Z ayuce joined #lisp 2020-04-12T14:41:37Z emys quit (Ping timeout: 264 seconds) 2020-04-12T14:42:15Z Posterdati: beach: https://lispcookbook.github.io/cl-cookbook/numbers.html 2020-04-12T14:42:46Z Posterdati: beach: Common Lisp provides a true integer type, called bignum, limited only by the total memory available (not the machine word size). 2020-04-12T14:43:01Z phoe: Posterdati: this is orthogonal to what beach was talking about 2020-04-12T14:43:03Z Posterdati: beach: I was referring to that 2020-04-12T14:43:13Z beach: I give up. 2020-04-12T14:43:17Z phoe: you are talking about the important bits while beach was talking about the non-important bits 2020-04-12T14:43:21Z Posterdati: phoe: no one stated against it 2020-04-12T14:43:33Z Posterdati: phoe: ok! 2020-04-12T14:43:42Z phoe: I think beach is well aware that the important bits are only limited by the memory that can store them 2020-04-12T14:43:53Z phoe: but the *trailing* bits aren't bounded like that 2020-04-12T14:44:00Z Posterdati: phoe: ok ok I understand now! 2020-04-12T14:44:17Z phoe: we can always say "let's pretend there's an infinite number of zeroes after these defined bits" and that is exactly what CL does almost everywhere 2020-04-12T14:44:21Z Posterdati: phoe: I didn't understand about > n bits positions 2020-04-12T14:44:41Z phoe: these N bits in this case are the significant bits, and these need to fit in memory, yes. 2020-04-12T14:44:49Z phoe: all the other ones, we can just pretend they fit. (; 2020-04-12T14:44:58Z Posterdati: beach: you cannot be a good teacher without patience :) 2020-04-12T14:45:56Z Posterdati: phoe: he stated from n to ininity which is not the case, we can hope that he can store a finite number of bits about position n... 2020-04-12T14:46:18Z phoe: Posterdati: actually, yes, from n to infinity 2020-04-12T14:46:45Z phoe: if your integer has N significant bits, then bits N+1, N+2, N+3, N+4, ..., N+inf are all the same 2020-04-12T14:46:50Z Posterdati: that's was my point... I didn't realize that beach was talking about the 0 to n-1 bits :) 2020-04-12T14:46:52Z phoe: and these are the bits that we pretend we know about 2020-04-12T14:47:03Z amerigo quit (Quit: Connection closed for inactivity) 2020-04-12T14:47:26Z Posterdati: phoe: now it is easy to reppresent those kind of numbers! 2020-04-12T14:48:10Z Posterdati: phoe: you can even extend bit-array 2020-04-12T14:48:32Z beach: *sigh* 2020-04-12T14:49:57Z phoe: extending bit arrays is very, very implementation dependent 2020-04-12T14:50:09Z phoe: which means that usually you cannot do it 2020-04-12T14:50:13Z emys joined #lisp 2020-04-12T14:52:30Z Posterdati: phoe: I mean you can write a new class 2020-04-12T14:53:11Z Posterdati: not properly extend bit-array 2020-04-12T14:53:13Z phoe: but that class won't be a subclass of INTEGER or BIT-ARRAY 2020-04-12T14:53:30Z Josh_2 joined #lisp 2020-04-12T14:53:42Z phoe: and will also likely be slow 2020-04-12T14:53:54Z Posterdati: phoe: that's true 2020-04-12T14:54:58Z emys quit (Ping timeout: 256 seconds) 2020-04-12T14:55:03Z jayspeer joined #lisp 2020-04-12T14:55:12Z Oladon joined #lisp 2020-04-12T14:55:15Z jayspeer quit (Client Quit) 2020-04-12T14:55:38Z jayspeer joined #lisp 2020-04-12T14:58:22Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T15:00:01Z smasta joined #lisp 2020-04-12T15:00:54Z sulami joined #lisp 2020-04-12T15:03:15Z byronkatz quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-12T15:03:29Z ATuin quit (Ping timeout: 256 seconds) 2020-04-12T15:04:41Z smasta quit (Ping timeout: 250 seconds) 2020-04-12T15:05:52Z EvW1 quit (Ping timeout: 260 seconds) 2020-04-12T15:12:09Z shifty joined #lisp 2020-04-12T15:14:29Z Steinberg2010 joined #lisp 2020-04-12T15:15:38Z smasta joined #lisp 2020-04-12T15:17:56Z akoana left #lisp 2020-04-12T15:19:41Z lavaflow joined #lisp 2020-04-12T15:20:27Z v88m joined #lisp 2020-04-12T15:23:57Z Steinberg2010 quit (Ping timeout: 260 seconds) 2020-04-12T15:24:20Z emys joined #lisp 2020-04-12T15:25:44Z vms14 joined #lisp 2020-04-12T15:27:09Z nmg quit (Remote host closed the connection) 2020-04-12T15:34:15Z v88m quit (Ping timeout: 258 seconds) 2020-04-12T15:34:27Z Xach: hmm, rfc3339-timestamp and rpc4cl have disappeared from gitlab. 2020-04-12T15:36:32Z Xach emails author 2020-04-12T15:42:38Z vms14 quit (Remote host closed the connection) 2020-04-12T15:42:53Z libertyprime quit (Read error: No route to host) 2020-04-12T15:44:02Z Xach: Wow, that was quick. The author says he has abandoned them due to lack of interest from users and himself. 2020-04-12T15:45:15Z phoe: Xach: does he have old versions? he could reupload them somewhere and wait for a maintainer. 2020-04-12T15:46:14Z Xach: I have old versions, but if the author has abandoned them due to lack of interest, I don't think it is good to ask them to do more work with them. 2020-04-12T15:46:25Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-12T15:46:36Z phoe: ooh - even better 2020-04-12T15:46:39Z jayspeer quit (Remote host closed the connection) 2020-04-12T15:46:44Z phoe: *we* could reupload them somewhere and wait for a maintainer 2020-04-12T15:46:47Z jayspeer joined #lisp 2020-04-12T15:46:54Z phoe: how many Quicklisp projects are affected by the disappearance? 2020-04-12T15:46:57Z Xach: I will remove them from Quicklisp, and if anyone notices and cares, I will put them on sharplispers. 2020-04-12T15:47:05Z Xach: Two - rfc3339-timestamp and rpc4cl. 2020-04-12T15:47:14Z phoe: oh! no one depends on them? 2020-04-12T15:47:18Z Xach: Nope. 2020-04-12T15:47:24Z phoe: in that case removing them from QL sounds like a decent idea 2020-04-12T15:47:35Z Xach: Not in quicklisp, anyway. there's no easy way to tell if others use them. 2020-04-12T15:47:45Z phoe: we'll find that one out 2020-04-12T15:54:08Z byronkatz joined #lisp 2020-04-12T15:56:43Z Xach: I keep a cached checkout of all vcs projects for building Quicklisp dists, so sometimes a project can disappear from its host for a long time before I notice 2020-04-12T15:57:03Z Xach: I'm going to be more systematic about fetching from the primary source every so often to detect problems with missing or moved projects. 2020-04-12T15:59:01Z arduo quit (Ping timeout: 264 seconds) 2020-04-12T16:02:35Z emys quit (Ping timeout: 260 seconds) 2020-04-12T16:05:23Z Oladon quit (Quit: Leaving.) 2020-04-12T16:13:55Z sulami quit (Remote host closed the connection) 2020-04-12T16:14:10Z sulami joined #lisp 2020-04-12T16:18:55Z smasta quit (Ping timeout: 260 seconds) 2020-04-12T16:18:56Z iAmDecim joined #lisp 2020-04-12T16:20:54Z sulami quit (Ping timeout: 240 seconds) 2020-04-12T16:23:50Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-12T16:25:27Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-12T16:25:43Z gabiruh joined #lisp 2020-04-12T16:30:33Z byronkatz quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-12T16:38:37Z rippa joined #lisp 2020-04-12T16:39:54Z X-Scale quit (Ping timeout: 240 seconds) 2020-04-12T16:41:21Z X-Scale` joined #lisp 2020-04-12T16:41:57Z vangogh joined #lisp 2020-04-12T16:42:09Z X-Scale` is now known as X-Scale 2020-04-12T16:47:00Z vangogh quit (Quit: Leaving) 2020-04-12T16:51:41Z gko quit (Ping timeout: 258 seconds) 2020-04-12T16:51:45Z akoana joined #lisp 2020-04-12T16:54:45Z jayspeer quit (Ping timeout: 258 seconds) 2020-04-12T16:54:48Z sulami joined #lisp 2020-04-12T16:56:04Z smasta joined #lisp 2020-04-12T16:57:48Z jcowan: aeth: You asked about alists vs. plists: see http://funcall.blogspot.com/2013/07/alist-or-plist.html by Joe Marshall 2020-04-12T16:59:31Z sulami quit (Ping timeout: 250 seconds) 2020-04-12T16:59:43Z Oladon joined #lisp 2020-04-12T16:59:45Z iAmDecim joined #lisp 2020-04-12T17:00:17Z jcowan: Actually, bignums may not be limited solely by memory: that was written before machine memories grew so big 2020-04-12T17:00:49Z smasta quit (Ping timeout: 264 seconds) 2020-04-12T17:03:29Z choegusung joined #lisp 2020-04-12T17:03:30Z choegusung quit (Client Quit) 2020-04-12T17:03:34Z loli joined #lisp 2020-04-12T17:06:39Z jcowan: libgmp allows a maximum of 2^2^39, because the number of 64-bit limbs is bounded by a 32-bit signed value. 2020-04-12T17:10:37Z ebrasca joined #lisp 2020-04-12T17:18:48Z apertus joined #lisp 2020-04-12T17:19:02Z apertus left #lisp 2020-04-12T17:19:14Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-12T17:20:19Z Jeanne-Kamikaze joined #lisp 2020-04-12T17:20:23Z v88m joined #lisp 2020-04-12T17:20:42Z cosimone joined #lisp 2020-04-12T17:26:33Z Xach: https://www.jwz.org/blog/2008/03/most-positive-bignum/ 2020-04-12T17:27:03Z v88m quit (Ping timeout: 260 seconds) 2020-04-12T17:27:08Z Jesin quit (Quit: Leaving) 2020-04-12T17:29:14Z eta: aha, a classic 2020-04-12T17:33:03Z akoana left #lisp 2020-04-12T17:36:53Z Kundry_Wag joined #lisp 2020-04-12T17:39:30Z Jesin joined #lisp 2020-04-12T17:47:54Z guest1 joined #lisp 2020-04-12T17:48:00Z Involuntary joined #lisp 2020-04-12T17:48:32Z sulami joined #lisp 2020-04-12T17:49:22Z narimiran quit (Quit: leaving) 2020-04-12T17:49:49Z smasta joined #lisp 2020-04-12T17:50:39Z Jeanne-Kamikaze quit (Ping timeout: 250 seconds) 2020-04-12T17:53:09Z even4void joined #lisp 2020-04-12T17:53:11Z even4void quit (Client Quit) 2020-04-12T17:54:42Z sulami quit (Ping timeout: 265 seconds) 2020-04-12T17:54:46Z smasta quit (Ping timeout: 256 seconds) 2020-04-12T18:08:03Z manjaroi3 quit (Quit: leaving) 2020-04-12T18:12:16Z ebrasca quit (Remote host closed the connection) 2020-04-12T18:14:48Z Jeanne-Kamikaze joined #lisp 2020-04-12T18:15:58Z Involuntary quit (Ping timeout: 265 seconds) 2020-04-12T18:17:34Z shangul quit (Ping timeout: 240 seconds) 2020-04-12T18:22:20Z ATuin joined #lisp 2020-04-12T18:23:42Z guest1 quit (Ping timeout: 265 seconds) 2020-04-12T18:27:18Z amerigo joined #lisp 2020-04-12T18:28:29Z SGASAU quit (Remote host closed the connection) 2020-04-12T18:28:48Z SGASAU joined #lisp 2020-04-12T18:30:17Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-12T18:34:19Z iAmDecim joined #lisp 2020-04-12T18:43:00Z sulami joined #lisp 2020-04-12T18:43:57Z smasta joined #lisp 2020-04-12T18:44:13Z EvW joined #lisp 2020-04-12T18:48:13Z sulami quit (Ping timeout: 264 seconds) 2020-04-12T18:48:28Z Involuntary joined #lisp 2020-04-12T18:48:49Z smasta quit (Ping timeout: 264 seconds) 2020-04-12T18:49:08Z EvW quit (Remote host closed the connection) 2020-04-12T18:49:12Z EvW2 joined #lisp 2020-04-12T18:51:16Z Jeanne-Kamikaze quit (Ping timeout: 256 seconds) 2020-04-12T18:55:45Z karlosz joined #lisp 2020-04-12T19:01:09Z LdBeth: well, 12 years age 2020-04-12T19:01:31Z phoe: I bet we can go bigger nowadays 2020-04-12T19:04:36Z vhost- joined #lisp 2020-04-12T19:04:36Z vhost- quit (Changing host) 2020-04-12T19:04:36Z vhost- joined #lisp 2020-04-12T19:05:31Z ATuin quit (Ping timeout: 260 seconds) 2020-04-12T19:07:30Z astronavt joined #lisp 2020-04-12T19:22:34Z v88m joined #lisp 2020-04-12T19:28:54Z jonatack quit (Ping timeout: 240 seconds) 2020-04-12T19:31:04Z jonatack joined #lisp 2020-04-12T19:36:57Z sulami joined #lisp 2020-04-12T19:37:01Z ATuin joined #lisp 2020-04-12T19:38:06Z smasta joined #lisp 2020-04-12T19:41:42Z easieste joined #lisp 2020-04-12T19:41:42Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T19:41:47Z easieste quit (Remote host closed the connection) 2020-04-12T19:43:02Z smasta quit (Ping timeout: 258 seconds) 2020-04-12T19:52:43Z Kundry_Wag quit (Remote host closed the connection) 2020-04-12T19:53:16Z EvW2 quit (Remote host closed the connection) 2020-04-12T19:53:30Z EvW joined #lisp 2020-04-12T19:54:23Z slyrus_ quit (Remote host closed the connection) 2020-04-12T19:54:48Z slyrus_ joined #lisp 2020-04-12T20:00:09Z aeth: jcowan: interesting trick about priority, I didn't know that 2020-04-12T20:00:46Z aeth: (defun foo (&key foo) foo) (foo :foo 42 :foo 43) => 42 2020-04-12T20:01:17Z Bike: yeah, that's useful for APPLYing stuff. 2020-04-12T20:01:34Z aeth: right, (let ((l (list :foo 43))) (apply #'foo (list* :foo 42 l))) 2020-04-12T20:01:46Z arduo joined #lisp 2020-04-12T20:02:57Z aeth: well, the article used something like `(:foo 42 ,@args) 2020-04-12T20:04:25Z shka_ quit (Ping timeout: 264 seconds) 2020-04-12T20:06:36Z phoe: that's equivalent 2020-04-12T20:06:45Z aeth: yes 2020-04-12T20:07:57Z emys joined #lisp 2020-04-12T20:09:08Z efm joined #lisp 2020-04-12T20:09:44Z smasta joined #lisp 2020-04-12T20:10:02Z vhost- quit (Ping timeout: 256 seconds) 2020-04-12T20:16:23Z emys quit (Ping timeout: 258 seconds) 2020-04-12T20:20:58Z Codaraxis__ quit (Remote host closed the connection) 2020-04-12T20:24:01Z Codaraxis__ joined #lisp 2020-04-12T20:26:26Z wyan joined #lisp 2020-04-12T20:26:35Z efm quit (Read error: Connection reset by peer) 2020-04-12T20:28:49Z smasta quit (Ping timeout: 250 seconds) 2020-04-12T20:30:38Z efm joined #lisp 2020-04-12T20:30:54Z Kundry_Wag joined #lisp 2020-04-12T20:31:15Z sulami joined #lisp 2020-04-12T20:35:14Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-12T20:36:26Z sulami quit (Ping timeout: 265 seconds) 2020-04-12T20:36:37Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-12T20:36:53Z Oladon quit (Quit: Leaving.) 2020-04-12T20:37:50Z emys joined #lisp 2020-04-12T20:45:01Z asarch joined #lisp 2020-04-12T20:45:49Z shifty quit (Ping timeout: 264 seconds) 2020-04-12T20:46:31Z Codaraxis__ quit (Remote host closed the connection) 2020-04-12T20:47:26Z emys quit (Ping timeout: 256 seconds) 2020-04-12T20:49:02Z cosimone quit (Quit: Quit.) 2020-04-12T20:51:20Z emys joined #lisp 2020-04-12T20:57:33Z pve quit (Quit: leaving) 2020-04-12T20:57:38Z z147 joined #lisp 2020-04-12T20:59:16Z emys quit (Ping timeout: 256 seconds) 2020-04-12T21:02:57Z emys joined #lisp 2020-04-12T21:11:12Z iAmDecim joined #lisp 2020-04-12T21:12:50Z torbo joined #lisp 2020-04-12T21:15:35Z gravicappa quit (Ping timeout: 265 seconds) 2020-04-12T21:15:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-12T21:16:11Z emys quit (Ping timeout: 258 seconds) 2020-04-12T21:18:39Z picopala joined #lisp 2020-04-12T21:22:25Z ATuin quit (Ping timeout: 264 seconds) 2020-04-12T21:24:49Z iAmDecim joined #lisp 2020-04-12T21:25:23Z sulami joined #lisp 2020-04-12T21:28:01Z ggole quit (Quit: Leaving) 2020-04-12T21:30:21Z sulami quit (Ping timeout: 250 seconds) 2020-04-12T21:32:44Z SGASAU quit (Remote host closed the connection) 2020-04-12T21:33:50Z SGASAU joined #lisp 2020-04-12T21:36:11Z SGASAU` joined #lisp 2020-04-12T21:36:39Z z147 quit (Quit: z147) 2020-04-12T21:37:01Z Kundry_Wag joined #lisp 2020-04-12T21:38:35Z phoe: when I work with slime-company, I get a string like "-f------" that tells me that a given symbol is bound in the function namespace 2020-04-12T21:38:48Z phoe: where is that code part defined? I can't see it in slime-company itself 2020-04-12T21:38:55Z Lord_of_Life_ joined #lisp 2020-04-12T21:40:08Z SGASAU quit (Ping timeout: 256 seconds) 2020-04-12T21:40:36Z SenasOzys joined #lisp 2020-04-12T21:42:00Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-12T21:42:03Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-12T21:42:10Z orivej quit (Ping timeout: 265 seconds) 2020-04-12T21:43:36Z picopala quit (Ping timeout: 240 seconds) 2020-04-12T21:46:39Z phoe: found it, swank::symbol-classification-string 2020-04-12T21:47:17Z orivej joined #lisp 2020-04-12T21:47:57Z hhdave joined #lisp 2020-04-12T21:50:13Z Involuntary quit (Quit: Leaving) 2020-04-12T21:50:35Z Jeanne-Kamikaze joined #lisp 2020-04-12T21:55:10Z dale joined #lisp 2020-04-12T21:55:20Z emys joined #lisp 2020-04-12T22:04:35Z emys quit (Ping timeout: 265 seconds) 2020-04-12T22:05:06Z emys joined #lisp 2020-04-12T22:06:17Z SenasOzys quit (Quit: Leaving) 2020-04-12T22:12:40Z Oladon joined #lisp 2020-04-12T22:14:03Z frgo quit (Remote host closed the connection) 2020-04-12T22:14:39Z frgo joined #lisp 2020-04-12T22:19:38Z sulami joined #lisp 2020-04-12T22:21:30Z emys quit (Ping timeout: 265 seconds) 2020-04-12T22:21:42Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- Organize your IRC) 2020-04-12T22:27:28Z conjunctive: Hi, what's the best method for function aliasing? The following gives Quicklisp warnings: (setf (fdefinition '@) #'fset:lookup) 2020-04-12T22:29:19Z phoe: conjunctive: quicklisp warnings? 2020-04-12T22:31:07Z conjunctive: (ql:quickload :zip :verbose t) => ... ;; caught STYLE-WARNING: undefined function: ZIP::@ 2020-04-12T22:31:48Z conjunctive: There's a warning for every use of the aliased function 2020-04-12T22:32:37Z phoe: try instead doing (eval-when (:compile-toplevel :load-toplevel :execute) (setf (fdefinition '@) #'fset:lookup)) 2020-04-12T22:32:48Z phoe: that should fix the warning 2020-04-12T22:32:50Z sulami quit (Ping timeout: 256 seconds) 2020-04-12T22:33:31Z z147 joined #lisp 2020-04-12T22:34:39Z conjunctive: Thank you, phoe! 2020-04-12T22:34:48Z phoe: <3 2020-04-12T22:34:59Z phoe: basically, you need the fdefinition to be available at compile time 2020-04-12T22:35:09Z phoe: this eval-when makes it available there. 2020-04-12T22:35:28Z phoe: otherwise, compile-time warnings happen, because the compiler has no idea that things will even out at runtime. 2020-04-12T22:35:56Z phoe: also, these are not Quicklisp warnings - they are ASDF warnings, or rather, warnings that result from file-compiling your code. 2020-04-12T22:46:37Z X-Scale joined #lisp 2020-04-12T22:52:16Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-12T22:58:20Z random-nick quit (Ping timeout: 256 seconds) 2020-04-12T22:59:24Z emys joined #lisp 2020-04-12T23:04:00Z arduo quit (Ping timeout: 256 seconds) 2020-04-12T23:04:02Z Xach: conjunctive: is zip the name of your project? 2020-04-12T23:07:20Z emys quit (Ping timeout: 256 seconds) 2020-04-12T23:10:18Z White_Flame: conjunctive: I use define-symbol-macro for punning a function name globally 2020-04-12T23:11:20Z emys joined #lisp 2020-04-12T23:11:24Z White_Flame: it doesn't monkey around much with such early time dependencies 2020-04-12T23:11:24Z Xach: White_Flame: how? 2020-04-12T23:11:31Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-12T23:12:25Z White_Flame: oh, I just looked at my uses, and those were funcalled things 2020-04-12T23:13:46Z Inline: all of a sudden i have generic functions defined in an earlier package with arguments depending on another package which comes later in the packages.list file not being able to find applicable method therein 2020-04-12T23:14:11Z Inline: wth 2020-04-12T23:14:33Z sulami joined #lisp 2020-04-12T23:19:14Z sulami quit (Ping timeout: 240 seconds) 2020-04-12T23:19:33Z emys quit (Ping timeout: 250 seconds) 2020-04-12T23:20:50Z hhdave quit (Quit: hhdave) 2020-04-12T23:26:26Z iAmDecim joined #lisp 2020-04-12T23:27:56Z wyan quit 2020-04-12T23:31:24Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-12T23:32:51Z dale quit (Quit: dale) 2020-04-12T23:33:10Z dale joined #lisp 2020-04-12T23:33:55Z manjaroi3 joined #lisp 2020-04-12T23:35:45Z hiroaki quit (Ping timeout: 265 seconds) 2020-04-12T23:36:23Z z147 quit (Ping timeout: 240 seconds) 2020-04-12T23:46:01Z karlosz quit (Read error: No route to host) 2020-04-12T23:46:55Z karlosz joined #lisp 2020-04-12T23:58:11Z sulami joined #lisp 2020-04-13T00:02:47Z Bourne quit (Ping timeout: 260 seconds) 2020-04-13T00:02:53Z sulami quit (Ping timeout: 250 seconds) 2020-04-13T00:05:14Z axion quit (Quit: WeeChat 2.6) 2020-04-13T00:06:03Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-13T00:07:00Z emys joined #lisp 2020-04-13T00:12:11Z emys quit (Ping timeout: 265 seconds) 2020-04-13T00:20:51Z emys joined #lisp 2020-04-13T00:26:17Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-13T00:26:48Z SGASAU joined #lisp 2020-04-13T00:28:28Z karlosz quit (Read error: No route to host) 2020-04-13T00:28:44Z karlosz joined #lisp 2020-04-13T00:28:53Z emys quit (Ping timeout: 250 seconds) 2020-04-13T00:31:42Z EvW quit (Ping timeout: 260 seconds) 2020-04-13T00:32:27Z emys joined #lisp 2020-04-13T00:33:11Z SGASAU quit (Remote host closed the connection) 2020-04-13T00:33:29Z SGASAU joined #lisp 2020-04-13T00:35:27Z axion joined #lisp 2020-04-13T00:36:56Z emys quit (Ping timeout: 246 seconds) 2020-04-13T00:37:39Z emys joined #lisp 2020-04-13T00:42:27Z emys quit (Ping timeout: 260 seconds) 2020-04-13T00:45:58Z axion left #lisp 2020-04-13T00:46:10Z mfiano joined #lisp 2020-04-13T00:46:23Z mfiano quit (Changing host) 2020-04-13T00:46:23Z mfiano joined #lisp 2020-04-13T00:47:36Z mfiano left #lisp 2020-04-13T00:48:24Z axion joined #lisp 2020-04-13T00:52:28Z sulami joined #lisp 2020-04-13T00:57:20Z sulami quit (Ping timeout: 256 seconds) 2020-04-13T01:01:07Z buffergn0me joined #lisp 2020-04-13T01:01:51Z dorketch quit (Quit: WeeChat 2.7) 2020-04-13T01:04:18Z compmstr quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-13T01:04:36Z ahungry joined #lisp 2020-04-13T01:09:19Z dtman34 joined #lisp 2020-04-13T01:10:29Z orivej quit (Ping timeout: 250 seconds) 2020-04-13T01:15:39Z smasta joined #lisp 2020-04-13T01:19:40Z bitmapper quit (Ping timeout: 265 seconds) 2020-04-13T01:23:52Z Oladon quit (Quit: Leaving.) 2020-04-13T01:29:51Z Oladon joined #lisp 2020-04-13T01:33:18Z gioyik joined #lisp 2020-04-13T01:41:46Z reggie__ joined #lisp 2020-04-13T01:42:34Z reggie_ quit (Ping timeout: 265 seconds) 2020-04-13T01:42:44Z manjaroi3 quit (Quit: leaving) 2020-04-13T01:44:47Z karlosz quit (Quit: karlosz) 2020-04-13T01:45:06Z karlosz joined #lisp 2020-04-13T01:46:24Z sulami joined #lisp 2020-04-13T01:51:13Z gioyik quit (Ping timeout: 264 seconds) 2020-04-13T01:51:20Z sulami quit (Ping timeout: 256 seconds) 2020-04-13T02:06:37Z gioyik joined #lisp 2020-04-13T02:07:51Z Bourne joined #lisp 2020-04-13T02:11:35Z iAmDecim joined #lisp 2020-04-13T02:13:19Z gioyik quit (Ping timeout: 265 seconds) 2020-04-13T02:15:11Z ebrasca joined #lisp 2020-04-13T02:15:54Z SGASAU quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-13T02:16:19Z SGASAU joined #lisp 2020-04-13T02:16:43Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-13T02:23:39Z LdBeth: cannot parse the sentence 2020-04-13T02:25:08Z LdBeth: well, yes, CL isn't Haskell, the order of definitions occurred in files does matter 2020-04-13T02:27:02Z jonatack quit (Ping timeout: 265 seconds) 2020-04-13T02:30:11Z karlosz quit (Quit: karlosz) 2020-04-13T02:34:42Z monok joined #lisp 2020-04-13T02:36:57Z housel quit (Read error: Connection reset by peer) 2020-04-13T02:37:34Z mono quit (Ping timeout: 256 seconds) 2020-04-13T02:38:17Z Inline: what about the overloading of the same symbol name from different packages whilst they are using other packages via :use directive in their package definition 2020-04-13T02:38:32Z Inline: that's just catastrophic 2020-04-13T02:40:03Z smasta quit (Ping timeout: 260 seconds) 2020-04-13T02:40:18Z Inline: i have #:buffer as defclass, as defgeneric (both explicit and implicit via :reader,:writer and :accessor), as defmethod (the same).... the list goes on and on 2020-04-13T02:40:38Z sulami joined #lisp 2020-04-13T02:41:29Z Xach quit (Ping timeout: 250 seconds) 2020-04-13T02:41:37Z Xach joined #lisp 2020-04-13T02:45:42Z sulami quit (Ping timeout: 265 seconds) 2020-04-13T02:47:48Z amerigo quit (Quit: Connection closed for inactivity) 2020-04-13T02:49:32Z Oladon quit (Quit: Leaving.) 2020-04-13T02:50:14Z efm quit (Remote host closed the connection) 2020-04-13T02:50:37Z efm joined #lisp 2020-04-13T02:52:07Z SGASAU quit (Remote host closed the connection) 2020-04-13T02:53:11Z SGASAU joined #lisp 2020-04-13T02:55:03Z iAmDecim joined #lisp 2020-04-13T02:58:15Z Involuntary joined #lisp 2020-04-13T02:58:28Z Jeanne-Kamikaze quit (Read error: Connection reset by peer) 2020-04-13T03:00:14Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-13T03:01:02Z beach: Good morning everyone! 2020-04-13T03:01:47Z pjb: Inline: you can intern those symbols in a different package before uninterning them. 2020-04-13T03:02:19Z pjb: Inline: or keep them in a list. Or just scan them from the objects. They're not lost. If they were, they'd be collected! 2020-04-13T03:05:02Z jonatack joined #lisp 2020-04-13T03:06:21Z Inline: ? 2020-04-13T03:07:29Z Bike: morning is the part of the day soon after the rising of the sun, inline 2020-04-13T03:08:24Z whiteline quit (Remote host closed the connection) 2020-04-13T03:08:49Z whiteline joined #lisp 2020-04-13T03:09:22Z Inline: am i allowed to refer to class slots as if they were struct slots ? like in struct-name-struct-sloss converted to class-name-class-slot ? 2020-04-13T03:09:38Z Inline: sorry for the typo 2020-04-13T03:10:19Z beach: Inline: Only if you define that name as an accessor. 2020-04-13T03:10:33Z Inline: hmmm 2020-04-13T03:10:34Z no-defun-allowed: If you define a accessor for the slot with that name, yes. 2020-04-13T03:10:42Z Inline: reader too ? or writer ? 2020-04-13T03:11:41Z no-defun-allowed: :accessor foo defines a function that can be called with (foo ) and another that can be called with (setf (foo ) ). 2020-04-13T03:11:44Z beach: Inline: If you say :accessor , then that is the same as saying :reader :writer (setf ) 2020-04-13T03:12:17Z Inline: alright thank you 2020-04-13T03:12:57Z Inline: i'm not sure what's up here, but i'm getting lots of errors in mcclim and also climacs as a result 2020-04-13T03:14:15Z beach: You need to show the errors. 2020-04-13T03:16:39Z pjb: Inline: also, clim doesn't use CL:DEFCLASS, but CLIM:DEFCLASS, so be sure to use the right one. 2020-04-13T03:19:11Z theosvoitha joined #lisp 2020-04-13T03:20:33Z Inline: okayy 2020-04-13T03:20:39Z jamzattack joined #lisp 2020-04-13T03:21:59Z beach: Inline: It is easy to get confused if you do :USE in DEFPACKAGE too much. I :USE only the CL package and stick explicit package prefixes on other symbols when necessary. That way, I avoid many problems like the one you seem to have. 2020-04-13T03:23:16Z Inline: well, the problem is in the defpackage forms in mcclim 2020-04-13T03:23:46Z beach: Oh? How does that problem manifest itself? 2020-04-13T03:24:54Z orivej joined #lisp 2020-04-13T03:27:21Z gioyik joined #lisp 2020-04-13T03:28:24Z Inline: i can't use clim-listener for example, when i press any key i get thrown into the debugger with various error messages 2020-04-13T03:28:46Z Inline: usually of the sort no-applicable-method errors 2020-04-13T03:29:25Z beach: So this is a different problem from you previous one. 2020-04-13T03:33:11Z Kundry_Wag quit (Remote host closed the connection) 2020-04-13T03:33:43Z Kundry_Wag joined #lisp 2020-04-13T03:34:54Z sulami joined #lisp 2020-04-13T03:37:54Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-13T03:41:05Z ayuce quit (Remote host closed the connection) 2020-04-13T03:43:44Z sulami quit (Ping timeout: 258 seconds) 2020-04-13T03:47:12Z Kundry_Wag joined #lisp 2020-04-13T03:47:49Z vhost- joined #lisp 2020-04-13T03:47:49Z vhost- quit (Changing host) 2020-04-13T03:47:49Z vhost- joined #lisp 2020-04-13T03:52:02Z toorevitimirp joined #lisp 2020-04-13T03:52:54Z gioyik quit (Ping timeout: 240 seconds) 2020-04-13T03:58:40Z orivej quit (Ping timeout: 256 seconds) 2020-04-13T03:58:46Z Bike quit (Quit: Lost terminal) 2020-04-13T03:59:46Z _paul0 quit (Quit: Leaving) 2020-04-13T03:59:47Z gioyik joined #lisp 2020-04-13T04:02:05Z ayuce joined #lisp 2020-04-13T04:03:51Z karlosz joined #lisp 2020-04-13T04:06:14Z pjb: Inline: be sure to (:use "CLIM") and not (:use "CL"). You're not writing a common lisp program, you're writing a CLIM program! 2020-04-13T04:07:24Z shifty joined #lisp 2020-04-13T04:09:30Z ayuce quit (Remote host closed the connection) 2020-04-13T04:09:55Z ayuce joined #lisp 2020-04-13T04:11:53Z Involuntary quit (Quit: Leaving) 2020-04-13T04:15:08Z ayuce quit (Read error: Connection reset by peer) 2020-04-13T04:22:54Z ayuce joined #lisp 2020-04-13T04:25:45Z beach: pjb: I think it is CLIM-LISP. 2020-04-13T04:25:47Z adlai is considering exploring NLP as a hiatus from other projects; has anyone here got insights and/or experience with the various CL libraries for this? 2020-04-13T04:27:36Z Kundry_Wag quit (Remote host closed the connection) 2020-04-13T04:28:50Z adlai: e.g., are there relevant existing libraries other than those listed in https://www.cliki.net/Natural%20Language%20Processing ? 2020-04-13T04:29:20Z sulami joined #lisp 2020-04-13T04:34:18Z sulami quit (Ping timeout: 256 seconds) 2020-04-13T04:34:52Z karlosz quit (Quit: karlosz) 2020-04-13T04:41:56Z ebrasca: Morning! 2020-04-13T04:42:17Z beach: Hello ebrasca. 2020-04-13T04:44:36Z karlosz joined #lisp 2020-04-13T04:46:51Z ebrasca: beach: How are you doing? 2020-04-13T04:50:24Z beach: ebrasca: Yesterday, I finished reading Didier Verna's "habilitation" document, mostly about Common Lisp. Today, I'll work on my report for his defense. I also need to start thinking about my slides for the ELS papers. And I have a nasty problem to debug in my SICL bootstrapping procedure. In SBCL, I run out of bind stack, and I don't know how to debug that. 2020-04-13T04:50:28Z beach: ebrasca: You? 2020-04-13T04:55:00Z ebrasca: beach: My cat just died last die. I back to work with FSs for mezzano. I am probably fine. 2020-04-13T04:57:23Z no-defun-allowed: RIP ebrasca's cat 2020-04-13T04:57:39Z beach: Sorry to hear about the cat. Good luck with Mezzano. 2020-04-13T05:03:48Z pjb: Happily, cats reproduce like rabbits, you won't have any difficulty to procure a new one. 2020-04-13T05:05:31Z ebrasca: pjb: It take time to tech them and I like cats. 2020-04-13T05:06:07Z pjb: ebrasca: perhaps you'd prefer to pet an elephant or a turtle. They outlive us… 2020-04-13T05:07:12Z ebrasca: 1 to big , 2 to slow 2020-04-13T05:07:48Z pjb: Yes, we should breed dwarf elephants. But don't believe turtles are always slow… 2020-04-13T05:09:22Z dmiles quit (Read error: Connection reset by peer) 2020-04-13T05:09:22Z Oladon joined #lisp 2020-04-13T05:09:53Z pjb: ebrasca: https://www.youtube.com/watch?v=Lg4FiyzrDSc 2020-04-13T05:09:58Z adlai once saw a snapping turtle run, those things could easily catch an old cat 2020-04-13T05:10:14Z pjb: ebrasca: or: https://www.youtube.com/watch?v=2jk01HfdTaY 2020-04-13T05:10:27Z adlai: strictly speaking they do not run since they maintain multiple points of contact with the ground at all times; still, they move quite fast 2020-04-13T05:12:11Z libertyprime joined #lisp 2020-04-13T05:12:22Z dmiles joined #lisp 2020-04-13T05:13:38Z ahungry quit (Remote host closed the connection) 2020-04-13T05:23:16Z buffergn0me quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-13T05:23:32Z sulami joined #lisp 2020-04-13T05:24:54Z ayuce quit (Remote host closed the connection) 2020-04-13T05:25:43Z dmiles quit (Read error: Connection reset by peer) 2020-04-13T05:28:46Z sulami quit (Ping timeout: 256 seconds) 2020-04-13T05:28:48Z dmiles joined #lisp 2020-04-13T05:29:26Z beach: adlai: phoe was working on a spell checker, but I don't know how far he got. I have always wanted a spell checker that returns all possible candidates for a word, including the word category, and information such as singular/plural present/past tense, etc. 2020-04-13T05:29:41Z beach: Such a thing could be used both for spell checkers and grammar checkers. 2020-04-13T05:30:17Z narimiran joined #lisp 2020-04-13T05:30:33Z ayuce joined #lisp 2020-04-13T05:31:02Z asarch quit (Quit: Leaving) 2020-04-13T05:31:33Z adlai: what you probably wanted is one that searches up to a hamming bound, rather than ~all~ possible candidates... 2020-04-13T05:31:54Z beach: Oh, I didn't mean all possible candidates for a misspelled word. 2020-04-13T05:31:58Z adlai: otherwise dog is a typo for cat :) 2020-04-13T05:32:03Z beach: I mean for a correctly spelled word. 2020-04-13T05:32:45Z beach: But you are right. For misspelled words, you have to limit the distance. 2020-04-13T05:33:17Z adlai: by candidates for a correctly spelled word, you mean the anticipated typos when someone meant to type that word? 2020-04-13T05:33:38Z beach: No. Let me give you an example... 2020-04-13T05:34:17Z beach: I type "flies". I want both (noun, plural) and (verb third-person singular). 2020-04-13T05:36:06Z adlai: ok, thanks for the example; that's quite outside what i imagined when you write "spell checker"; the colloquiallism that i remember my classics teachers using to describe this is "gloss" 2020-04-13T05:36:47Z beach: Sure, you also need possible corrections for misspelled words. 2020-04-13T05:36:49Z adlai: where "gloss" is a verb, and the similarity to the noun "glossary" is a very false friend 2020-04-13T05:37:43Z torbo quit (Remote host closed the connection) 2020-04-13T05:38:27Z gravicappa joined #lisp 2020-04-13T05:45:49Z vms14 joined #lisp 2020-04-13T05:45:55Z vms14: http://termbin.com/vq4a 2020-04-13T05:46:00Z vms14: what's wrong? 2020-04-13T05:46:16Z vms14: I'm trying to implement something like the js setTimeout 2020-04-13T05:46:38Z vms14: I just maintain a list of symbols which have :code and :time properties 2020-04-13T05:47:03Z no-defun-allowed: What is setp? set property? 2020-04-13T05:47:30Z vms14: oh, lol 2020-04-13T05:47:37Z vms14: I've put the < wrong 2020-04-13T05:47:52Z no-defun-allowed: Ouch, I've done that before with times. 2020-04-13T05:48:06Z vms14: setp is (defun setp (symbol property value) (setf (get symbol property) value) 2020-04-13T05:48:48Z vms14: meh, isn't working 2020-04-13T05:52:55Z gko joined #lisp 2020-04-13T05:54:18Z vms14: the time was wrong 2020-04-13T05:58:54Z pjb: vms14: what's wrong with defstruct or defclass? 2020-04-13T05:59:12Z vms14: nothing I guess, I just like symbols 2020-04-13T05:59:19Z pjb: ok. 2020-04-13T05:59:39Z vms14: but in terms of performance, is better to use defstruct? 2020-04-13T06:00:00Z vms14: I like to think symbols are cheap 2020-04-13T06:00:12Z no-defun-allowed: DEFSTRUCT is faster, but DEFCLASS is less likely to be annoying if you want to update your definitions. 2020-04-13T06:00:50Z pjb: In terms of code clarity, defstruct would be better. 2020-04-13T06:00:52Z ukari joined #lisp 2020-04-13T06:01:04Z no-defun-allowed: Hm, if you use properties on a symbol, those are stored on a property list, which is O(n) to access. Reading slots of a structure-instance or standard-instance (which are created from structures and classes, respectively) would be O(1). 2020-04-13T06:01:09Z vms14: I'll use defclass for stuff like the player, enemies or alike I hope 2020-04-13T06:01:36Z vms14: oh 2020-04-13T06:01:51Z vms14: then I have no excuse to not use defstruct 2020-04-13T06:02:58Z adlai: there's always an excuse not to use defstruct 2020-04-13T06:03:11Z vms14: adlai: defclass? 2020-04-13T06:03:35Z vms14: anyway I can't say I'm really worrying about performance 2020-04-13T06:03:55Z vms14: I'm sending code to perl and waiting for the result, and even made this 2020-04-13T06:04:08Z vms14: (defmacro async-eval (&body code) 2020-04-13T06:04:08Z vms14: (lambda () 2020-04-13T06:04:08Z vms14: (when (car code) 2020-04-13T06:04:08Z vms14: (eval (car code)) 2020-04-13T06:04:09Z adlai: optimization mature enough to want something that is not structured the way defstruct offers, yet immature enough to use defclass+nonstandard-object 2020-04-13T06:04:11Z vms14: (setf code (cdr code))))) 2020-04-13T06:05:23Z adlai hands vms14 a backquote and a bunch of commas 2020-04-13T06:06:35Z pjb: vms14: https://termbin.com/k5v1 2020-04-13T06:06:48Z adlai: use them wisely; and if you need another backquote, before you're done with this one, then may the angels have mercy on your soul 2020-04-13T06:09:03Z Oladon quit (Quit: Leaving.) 2020-04-13T06:10:09Z ayuce quit (Remote host closed the connection) 2020-04-13T06:10:42Z dddddd quit (Remote host closed the connection) 2020-04-13T06:12:46Z ayuce joined #lisp 2020-04-13T06:13:38Z vms14: pjb: thanks, much nicer 2020-04-13T06:13:53Z vms14: adlai: thanks for the ` and , also :D 2020-04-13T06:14:48Z shangul joined #lisp 2020-04-13T06:17:45Z sulami joined #lisp 2020-04-13T06:19:42Z dtman34 quit (Ping timeout: 256 seconds) 2020-04-13T06:22:29Z sulami quit (Ping timeout: 250 seconds) 2020-04-13T06:27:19Z karlosz quit (Quit: karlosz) 2020-04-13T06:29:02Z shka_ joined #lisp 2020-04-13T06:32:44Z orivej joined #lisp 2020-04-13T06:39:43Z vms14: it's weird, works fine until I have a loop 2020-04-13T06:40:15Z no-defun-allowed: ebrasca, pjb: "Watch a cat! It's an amazing animal..." 2020-04-13T06:40:23Z no-defun-allowed: vms14: What are you trying to do with async-eval? 2020-04-13T06:41:55Z vms14: no-defun-allowed: atm nothing, but for later, divide code in pieces, so the main loop can go executing that code without being blocked 2020-04-13T06:42:22Z vms14: like when you make a ball movement from one direction to another, the main loop needs to update that ball bit a bit 2020-04-13T06:42:39Z vms14: I want to just code the movement and let it being divided by pieces 2020-04-13T06:43:05Z vms14: so async-eval creates a closure that when called will execute only one sexp 2020-04-13T06:43:10Z vms14: and return nil once finishes 2020-04-13T06:43:17Z no-defun-allowed: Right, you're trying to implement asynchronous evaluation. What's the plan then? Do you want a closure that will run one form at a time? 2020-04-13T06:43:24Z vms14: yes 2020-04-13T06:43:40Z vms14: a list of those closures 2020-04-13T06:44:05Z vms14: so the main loop will iterate on them and eval only a sexp for everyone, then do other stuff 2020-04-13T06:44:08Z no-defun-allowed: So, async-eval should produce a list of closures, one for each form? 2020-04-13T06:44:25Z vms14: will only produce one closure with the code attached 2020-04-13T06:44:49Z kushal joined #lisp 2020-04-13T06:44:50Z vms14: like (defparameter code (async-eval (print "something") (print "more"))) 2020-04-13T06:45:14Z vms14: (funcall code) ; "something" (funcall code) ; "more" 2020-04-13T06:45:39Z vms14: I'm looking for a better way to implement that 2020-04-13T06:45:46Z vms14: so if you have any hint will be nice 2020-04-13T06:45:47Z no-defun-allowed: Right. I would try to transform (asynchronously e1 e2 ... en) into (let ((counter 0)) (lambda () (incf counter) (case counter (1 e1) (2 e2) ... (n en)))) 2020-04-13T06:46:12Z vms14: why? 2020-04-13T06:47:29Z vms14: then I need a macro to generate the case forms depending on the number of sexp the closure will have 2020-04-13T06:47:33Z no-defun-allowed: That would implement your form without using EVAL, which isn't necessary (and is very, very necessary when macro writing). 2020-04-13T06:47:37Z vms14: which should be easy 2020-04-13T06:47:51Z vms14: thanks, I wanted to avoid the eval 2020-04-13T06:48:54Z vms14: I'll work on that 2020-04-13T06:50:06Z no-defun-allowed: https://plaster.tymoon.eu/view/1741 is my implementation of that; but you might want to figure that out for yourself. 2020-04-13T06:53:28Z kushal quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-13T06:54:47Z vms14: thanks again, I was making a different macro just to generate the case form 2020-04-13T06:59:34Z vms14: don't get why you use with gensyms 2020-04-13T07:00:32Z sulami joined #lisp 2020-04-13T07:00:34Z vms14: https://plaster.tymoon.eu/view/1742#1742 seems to work 2020-04-13T07:01:40Z iAmDecim joined #lisp 2020-04-13T07:01:49Z no-defun-allowed: The client code shouldn't be able to see the counter, so I use an uninterned symbol created by GENSYM to create a variable it won't be able to access. 2020-04-13T07:02:03Z LdBeth: adlai: there're several algorithms that requires a Connect Machine or its simulator 2020-04-13T07:02:29Z vms14: oh, you're trying to avoid variable capture bugs 2020-04-13T07:02:31Z vms14: nice 2020-04-13T07:03:18Z adlai: LdBeth: that sounds more complex than what I seek 2020-04-13T07:03:40Z adlai: although, why would an algorithm care about the machine? 2020-04-13T07:04:25Z p_l: feasibility of given algorithm to be efficient solution to a problem depends on the underlying architecture's broad strokes 2020-04-13T07:05:45Z LdBeth: adlai: because it's about SIMD style processing, before GPU was available 2020-04-13T07:06:14Z ebrasca quit (Remote host closed the connection) 2020-04-13T07:06:48Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-13T07:07:28Z p_l: beach: huh, I thought that "habilitation" was pretty much nonexistant in the west 2020-04-13T07:07:28Z vms14: I've put weird names no one never will use 2020-04-13T07:07:41Z vms14: async-code-counter-for-case 2020-04-13T07:12:14Z KindOne quit (Ping timeout: 240 seconds) 2020-04-13T07:12:58Z slyrus__ joined #lisp 2020-04-13T07:13:55Z beach: p_l: I don't think there is a single "west" system. 2020-04-13T07:15:18Z slyrus_ quit (Ping timeout: 256 seconds) 2020-04-13T07:15:27Z p_l: I'm aware, but even discounting Bologna Process, "habilitation" doesn't seem to show up often when looking "to the west" 2020-04-13T07:16:04Z dale quit (Quit: My computer has gone to sleep) 2020-04-13T07:16:10Z p_l: (in Poland, it's a critical step on the road to being a professor) 2020-04-13T07:16:21Z beach: Here too. Though not a strict requirement. 2020-04-13T07:16:34Z beach: In practice it is mandatory. 2020-04-13T07:17:32Z p_l: Ah 2020-04-13T07:18:06Z p_l: In Poland, habilitation is generally required to lead independent research team 2020-04-13T07:18:23Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-13T07:18:28Z beach: That's the exact definition of it here. 2020-04-13T07:18:35Z p_l: And I don't think you can become even "extraordinary" (lower rank) professor without it 2020-04-13T07:19:42Z p_l: For ordinary professor (Higher rank than extraordinary) it's mandatory 2020-04-13T07:19:51Z beach: The full name of the title translates to "authorization to direct research". 2020-04-13T07:20:02Z adlai: if you habilitate at one campus, take a job at another campus, and then return to the first, do you need rehabilitation? 2020-04-13T07:20:26Z beach: adlai: It's a national title, so no. 2020-04-13T07:20:40Z p_l: adlai: not in Poland, habilitation is part of your doctoral title 2020-04-13T07:21:04Z p_l: That's the difference between "extraordinary" and "ordinary" professor in Poland 2020-04-13T07:21:05Z adlai: oh it's just part of your doctoral work? 2020-04-13T07:21:15Z adlai mentally equated this to 'postdoc' 2020-04-13T07:21:47Z beach: adlai: Not here. It takes many years of experience and an additional document to write after the PhD. 2020-04-13T07:22:02Z p_l: The naming comes from how a specific institution can "extraordinarily" name you a professor, but it can strip it and the title doesn't transfer 2020-04-13T07:22:37Z p_l: An "ordinary professor" in Poland has national title unrelated current employment 2020-04-13T07:22:50Z sulami quit (Remote host closed the connection) 2020-04-13T07:22:58Z jackdaniel: how is it related to the channel topic? 2020-04-13T07:23:11Z beach: Didier Verna is the relation. 2020-04-13T07:23:22Z beach: But I think we have exhausted that one. 2020-04-13T07:24:12Z jackdaniel: uhm 2020-04-13T07:26:08Z jonatack_ joined #lisp 2020-04-13T07:28:18Z kushal joined #lisp 2020-04-13T07:29:36Z jonatack quit (Ping timeout: 265 seconds) 2020-04-13T07:29:49Z kushal quit (Remote host closed the connection) 2020-04-13T07:31:27Z vms14: oh, just discovered (get-internal-run-time) will print a time depending on the statements executing 2020-04-13T07:31:44Z vms14: that's why my shit was behaving wrong in a loop 2020-04-13T07:31:56Z vms14: it just went faster XD 2020-04-13T07:32:06Z vms14: so I'll use get-internal-real-time 2020-04-13T07:32:26Z vms14: also pjb in your example I saw get-whatever-seconds function 2020-04-13T07:32:38Z vms14: but tried to use it and didn't exist 2020-04-13T07:34:21Z vms14: oh, wasn't a function 2020-04-13T07:34:23Z vms14: internal-time-units-per-second 2020-04-13T07:35:16Z vms14: why did you use that, will change between implementations? 2020-04-13T07:35:32Z Inline quit (Ping timeout: 246 seconds) 2020-04-13T07:36:23Z ukari quit (Ping timeout: 260 seconds) 2020-04-13T07:38:37Z vms14: now works fine :D 2020-04-13T07:39:13Z vms14: thanks to all for helping me and giving me hints, specially you no-defun-allowed you improved my shit a lot and now I don't need to use eval 2020-04-13T07:40:14Z no-defun-allowed: All good. 2020-04-13T07:41:59Z akoana joined #lisp 2020-04-13T07:46:54Z vms14 quit (Remote host closed the connection) 2020-04-13T07:50:48Z z147 joined #lisp 2020-04-13T08:02:49Z amerigo joined #lisp 2020-04-13T08:24:19Z gioyik quit (Quit: WeeChat 2.8) 2020-04-13T08:25:29Z decent-username joined #lisp 2020-04-13T08:40:09Z random-nick joined #lisp 2020-04-13T08:42:19Z pve joined #lisp 2020-04-13T09:02:34Z enrio joined #lisp 2020-04-13T09:07:27Z enrio quit (Read error: Connection reset by peer) 2020-04-13T09:25:15Z Lycurgus joined #lisp 2020-04-13T09:30:26Z Lycurgus quit (Remote host closed the connection) 2020-04-13T09:30:43Z z147 quit (Ping timeout: 240 seconds) 2020-04-13T09:33:21Z whiteline quit (Remote host closed the connection) 2020-04-13T09:33:50Z whiteline joined #lisp 2020-04-13T09:34:59Z Inline joined #lisp 2020-04-13T09:40:14Z adlai: phoe: here is an example of with-simple-restart, for your condition system guide: https://github.com/adlai/event-emitter/blob/master/src/event-emitter.lisp#L35-L38 2020-04-13T09:40:34Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-13T09:40:44Z Lord_of_Life_ joined #lisp 2020-04-13T09:42:03Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-13T09:43:25Z phoe: adlai: thanks! 2020-04-13T09:55:40Z z147 joined #lisp 2020-04-13T09:58:26Z lavaflow quit (Ping timeout: 256 seconds) 2020-04-13T10:13:06Z frgo quit (Read error: Connection reset by peer) 2020-04-13T10:13:43Z frgo joined #lisp 2020-04-13T10:17:51Z shifty quit (Ping timeout: 260 seconds) 2020-04-13T10:39:41Z ukari joined #lisp 2020-04-13T10:42:35Z narimiran quit (Ping timeout: 260 seconds) 2020-04-13T10:54:44Z SGASAU quit (Remote host closed the connection) 2020-04-13T10:54:46Z JohnMS joined #lisp 2020-04-13T10:55:31Z SGASAU joined #lisp 2020-04-13T10:55:56Z hhdave joined #lisp 2020-04-13T11:04:37Z iAmDecim joined #lisp 2020-04-13T11:07:34Z emys joined #lisp 2020-04-13T11:10:00Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-13T11:15:43Z emys quit (Ping timeout: 260 seconds) 2020-04-13T11:17:01Z scymtym quit (Ping timeout: 264 seconds) 2020-04-13T11:23:40Z emys joined #lisp 2020-04-13T11:27:01Z joels joined #lisp 2020-04-13T11:33:07Z emys quit (Ping timeout: 272 seconds) 2020-04-13T11:36:32Z jonatack_ quit (Ping timeout: 256 seconds) 2020-04-13T11:37:08Z jonatack_ joined #lisp 2020-04-13T11:38:05Z scymtym joined #lisp 2020-04-13T11:38:33Z JohnMS quit (Quit: Konversation terminated!) 2020-04-13T11:39:44Z emys joined #lisp 2020-04-13T11:48:52Z ljavorsk joined #lisp 2020-04-13T11:49:32Z hhdave quit (Quit: hhdave) 2020-04-13T11:50:37Z jamzattack quit (Quit: bedtime :) have fun patching erc) 2020-04-13T11:51:55Z Bike joined #lisp 2020-04-13T11:54:18Z dddddd joined #lisp 2020-04-13T11:55:25Z emys quit (Ping timeout: 264 seconds) 2020-04-13T11:56:32Z terpri quit (Ping timeout: 260 seconds) 2020-04-13T12:00:10Z Steinberg2010 joined #lisp 2020-04-13T12:03:16Z JetJej joined #lisp 2020-04-13T12:03:26Z emys joined #lisp 2020-04-13T12:14:25Z jonatack_ quit (Quit: jonatack_) 2020-04-13T12:14:43Z jonatack joined #lisp 2020-04-13T12:17:19Z emys quit (Ping timeout: 260 seconds) 2020-04-13T12:17:58Z joels quit (Ping timeout: 265 seconds) 2020-04-13T12:24:37Z emys joined #lisp 2020-04-13T12:25:54Z aindilis quit (Ping timeout: 240 seconds) 2020-04-13T12:30:17Z aindilis joined #lisp 2020-04-13T12:30:33Z SGASAU` joined #lisp 2020-04-13T12:31:18Z Steinberg2010 quit (Ping timeout: 246 seconds) 2020-04-13T12:31:34Z SGASAU` quit (Remote host closed the connection) 2020-04-13T12:32:54Z EvW joined #lisp 2020-04-13T12:33:52Z SGASAU` joined #lisp 2020-04-13T12:33:55Z emys quit (Ping timeout: 272 seconds) 2020-04-13T12:34:24Z SGASAU quit (Ping timeout: 265 seconds) 2020-04-13T12:37:39Z z0d: https://dl.acm.org/doi/abs/10.1145/1056786.1056787 2020-04-13T12:38:01Z SGASAU joined #lisp 2020-04-13T12:38:09Z z0d: via Rainer 2020-04-13T12:38:47Z SGASAU` quit (Ping timeout: 260 seconds) 2020-04-13T12:38:56Z Kundry_Wag joined #lisp 2020-04-13T12:40:24Z emys joined #lisp 2020-04-13T12:47:04Z aindilis quit (Read error: Connection reset by peer) 2020-04-13T12:49:02Z emys quit (Ping timeout: 260 seconds) 2020-04-13T12:56:55Z himmAllRight joined #lisp 2020-04-13T12:58:38Z decent-username quit (Remote host closed the connection) 2020-04-13T13:01:15Z emys joined #lisp 2020-04-13T13:05:29Z emys quit (Ping timeout: 250 seconds) 2020-04-13T13:09:12Z theosvoitha joined #lisp 2020-04-13T13:17:37Z narimiran joined #lisp 2020-04-13T13:21:38Z leo_song quit (Read error: Connection reset by peer) 2020-04-13T13:22:03Z leo_song joined #lisp 2020-04-13T13:39:40Z bitmapper joined #lisp 2020-04-13T13:45:24Z phoe: whole two pages 2020-04-13T13:45:29Z phoe: still, nice 2020-04-13T13:57:26Z amerigo quit (Quit: Connection closed for inactivity) 2020-04-13T13:57:43Z gxt quit (Ping timeout: 240 seconds) 2020-04-13T14:01:15Z joast quit (Quit: Leaving.) 2020-04-13T14:03:48Z shifty joined #lisp 2020-04-13T14:10:02Z joast joined #lisp 2020-04-13T14:20:20Z lucasb joined #lisp 2020-04-13T14:23:54Z ahungry joined #lisp 2020-04-13T14:26:41Z gxt joined #lisp 2020-04-13T14:27:00Z Lycurgus joined #lisp 2020-04-13T14:35:49Z EvW1 joined #lisp 2020-04-13T14:37:21Z EvW quit (Ping timeout: 265 seconds) 2020-04-13T14:37:33Z catalinbostan joined #lisp 2020-04-13T14:38:40Z _death: some slime trivia & rms "suggestion" in emacs-devel... 2020-04-13T14:38:43Z EvW1 quit (Read error: Connection reset by peer) 2020-04-13T14:39:02Z EvW joined #lisp 2020-04-13T14:41:08Z beach: _death: Link? 2020-04-13T14:41:17Z efm quit (Ping timeout: 256 seconds) 2020-04-13T14:41:51Z Zotan quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-13T14:41:59Z Zotan joined #lisp 2020-04-13T14:42:36Z dale_ joined #lisp 2020-04-13T14:42:40Z efm joined #lisp 2020-04-13T14:42:56Z dale_ is now known as dale 2020-04-13T14:45:17Z phoe: Yes, link please 2020-04-13T14:45:28Z axion: Presumably https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00627.html 2020-04-13T14:46:39Z phoe: rms complaining that "slime" is a bad name 2020-04-13T14:46:48Z phoe: what a curious time to live in 2020-04-13T14:47:42Z _death: guess he's not aware of the consequences of this name change.. in any case, he seems optimistic about the future of CL if it's "not too late" :) 2020-04-13T14:48:16Z phoe: haha 2020-04-13T14:48:43Z drainful: I didn't know SLIME was a backronym 2020-04-13T14:50:29Z beach: _death: I don't see any of that in the link that was posted. 2020-04-13T14:50:49Z beach: Oh, "not too late" I see it. 2020-04-13T14:50:49Z drainful: https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00694.html 2020-04-13T14:50:51Z _death: beach: check out the rest of the thread 2020-04-13T14:51:07Z hhdave joined #lisp 2020-04-13T14:51:40Z beach: I was kind of expecting more words from rms, given the reaction here. 2020-04-13T14:51:56Z asarch joined #lisp 2020-04-13T14:52:09Z beach: Storm in a teacup. 2020-04-13T14:52:32Z _death: the value of this discussion so far is mostly in the slime trivia 2020-04-13T14:54:30Z beach: Got it. Thanks. 2020-04-13T14:55:24Z Steinberg2010 joined #lisp 2020-04-13T14:55:37Z Steinberg2010 quit (Client Quit) 2020-04-13T14:58:28Z EvW quit (Remote host closed the connection) 2020-04-13T14:58:39Z EvW joined #lisp 2020-04-13T15:01:31Z EvW quit (Read error: Connection reset by peer) 2020-04-13T15:01:36Z EvW1 joined #lisp 2020-04-13T15:07:32Z hhdave quit (Quit: hhdave) 2020-04-13T15:11:36Z EvW1 quit (Read error: Connection reset by peer) 2020-04-13T15:12:49Z shifty quit (Ping timeout: 264 seconds) 2020-04-13T15:12:51Z rippa joined #lisp 2020-04-13T15:12:53Z EvW joined #lisp 2020-04-13T15:13:12Z shifty joined #lisp 2020-04-13T15:16:34Z scymtym quit (Ping timeout: 256 seconds) 2020-04-13T15:17:59Z pjb` joined #lisp 2020-04-13T15:18:07Z aindilis joined #lisp 2020-04-13T15:20:22Z pjb quit (Ping timeout: 265 seconds) 2020-04-13T15:20:54Z ayuce quit (Ping timeout: 240 seconds) 2020-04-13T15:21:07Z scymtym joined #lisp 2020-04-13T15:35:03Z EvW quit (Ping timeout: 272 seconds) 2020-04-13T15:38:53Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-13T15:39:26Z vms14 joined #lisp 2020-04-13T15:39:49Z mason: It'd be disappointing if it were given a boring new name. 2020-04-13T15:43:56Z Grue`: I can think of some GNU projects with worse names... 2020-04-13T15:44:51Z travv0: gnu itself is a worse name 2020-04-13T15:45:54Z ayuce joined #lisp 2020-04-13T15:47:03Z toorevitimirp quit (Quit: Konversation terminated!) 2020-04-13T15:50:04Z vms14: https://termbin.com/k1zt 2020-04-13T15:50:10Z vms14: this is what I have now 2020-04-13T15:50:38Z vms14: I'm kinda happy with that, but I guess I should change those two "remove" functions to only one 2020-04-13T15:53:36Z phoe: vms14: I'd get rid of EVAL 2020-04-13T15:53:48Z phoe: and replace "code" with actual pre-compiled function objects 2020-04-13T15:53:50Z vms14: phoe: we did 2020-04-13T15:53:51Z phoe: could be anonymous ones 2020-04-13T15:53:55Z phoe: no, you didn't 2020-04-13T15:54:04Z vms14: well, no defun helped to do that 2020-04-13T15:54:04Z phoe: DEFMACRO ASYNC-EVAL still has EVAL 2020-04-13T15:54:11Z vms14: yes, I've just removed that 2020-04-13T15:54:21Z vms14: it's replaced by async-code 2020-04-13T15:54:21Z phoe: then the link at https://termbin.com/k1zt that you just posted still has it 2020-04-13T15:54:25Z axion: your macro still has unwanted capturing 2020-04-13T15:54:27Z phoe: oooh! that's what you meant 2020-04-13T15:55:02Z vms14: she showed me how to do that with a case 2020-04-13T15:55:16Z vms14: I wanted to get rid of using eval, but didn't know how 2020-04-13T15:55:43Z vms14: axion: :O 2020-04-13T15:56:05Z vms14: yes, I should use gensym directly 2020-04-13T15:56:26Z vms14: I'm still having to learn how to use macros properly 2020-04-13T15:57:00Z travv0: Any time you introduce bindings in generated code the names should be gensymed 2020-04-13T15:57:28Z travv0: With rare exception 2020-04-13T15:57:38Z axion: Well your comment says how, but you don't do it 2020-04-13T15:58:26Z vms14: also I should comment my code 2020-04-13T15:58:39Z vms14: that comment is just to remember someone helped me 2020-04-13T15:58:52Z vms14: and it's the second time she helps me with a macro xD 2020-04-13T16:00:38Z iAmDecim joined #lisp 2020-04-13T16:01:02Z vms14: this was the first time https://gitlab.com/vms14/all/-/blob/master/lisp/html.lisp 2020-04-13T16:03:34Z shifty quit (Ping timeout: 240 seconds) 2020-04-13T16:04:24Z vms14: pjb`: it was you who told me to use defstruct? 2020-04-13T16:08:05Z vms14: and there is code you don't see in termbin, but I'm using perl with a socket and making it eval whatever I want xD 2020-04-13T16:09:18Z vms14: I have troubles to load libraries in netbsd, specially if they use ffi. Also tried to use sdl in slackware with quicklisp, but does not find the sdl .so, and it was installed 2020-04-13T16:09:39Z vms14: so I'll use perl as a library and "raw" sbcl 2020-04-13T16:09:45Z phoe: ahh, rare OSes 2020-04-13T16:10:35Z vms14: if slackware would work with lisp and sbcl maybe I'd stay with that, since it's obviously much better to have just lisp and not doing such abomination like what I do 2020-04-13T16:11:08Z vms14: but it seems it will be very deployable at least for unix, using perl sdl and sbcl 2020-04-13T16:11:21Z vms14: and for windows I just need to change unix sockets for pipes 2020-04-13T16:11:32Z vms14: I hope... 2020-04-13T16:11:35Z lavaflow joined #lisp 2020-04-13T16:15:28Z KindOne joined #lisp 2020-04-13T16:21:37Z efm quit (Remote host closed the connection) 2020-04-13T16:22:26Z pjb` left #lisp 2020-04-13T16:22:46Z pjb joined #lisp 2020-04-13T16:22:59Z pjb quit (Remote host closed the connection) 2020-04-13T16:23:15Z pjb joined #lisp 2020-04-13T16:24:54Z pjb: vms14: your async-code operators are not consistent. do-async takes a body, ie. a list of forms, whole process-async-code uses funcall (expecting a function designator, ie a function or a function name). 2020-04-13T16:25:32Z ATP7 joined #lisp 2020-04-13T16:26:02Z emys joined #lisp 2020-04-13T16:26:24Z pjb: vms14: you may have a look at: https://github.com/informatimago/lisp/blob/master/common-lisp/cesarum/activity.lisp https://github.com/informatimago/lisp/blob/master/common-lisp/cesarum/activity-test.lisp 2020-04-13T16:28:00Z efm joined #lisp 2020-04-13T16:28:44Z pjb: vms14: also, I would advise you to handle errors when calling the meat, and perhaps removing the activity when it produces errors. (or not, you could want to keep it in case the error is transitory). 2020-04-13T16:29:17Z xkapastel joined #lisp 2020-04-13T16:29:25Z Lycurgus quit (Remote host closed the connection) 2020-04-13T16:30:04Z gko quit (Ping timeout: 256 seconds) 2020-04-13T16:30:34Z jcowan: IMO the most important part of picking a name (other than that it's not insulting: few people love the name "Stalin" for an interprocedurally optimizimng compiler) is that Google doesn't find too many hits for it 2020-04-13T16:30:41Z Lycurgus joined #lisp 2020-04-13T16:30:46Z pjb: vms14: oh, sorry, I see your async-code now. It's ok. 2020-04-13T16:31:17Z emys quit (Ping timeout: 260 seconds) 2020-04-13T16:32:28Z pjb: vms14: also, have a look at bordeaux-threads. 2020-04-13T16:35:05Z emys joined #lisp 2020-04-13T16:35:17Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-13T16:36:17Z EvW1 joined #lisp 2020-04-13T16:38:23Z efm quit (Remote host closed the connection) 2020-04-13T16:39:56Z emys quit (Ping timeout: 265 seconds) 2020-04-13T16:40:58Z ATP7 quit (Quit: Leaving) 2020-04-13T16:45:32Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-13T16:45:59Z gravicappa joined #lisp 2020-04-13T16:47:37Z aindilis quit (Read error: Connection reset by peer) 2020-04-13T16:47:37Z vms14: pjb: thanks for the hints and for your code 2020-04-13T16:48:06Z vms14: I have no threads in lisp here, if you were telling me to use bordeaux threads to make async stuff or alike 2020-04-13T16:48:14Z vms14: unless you just want me to look at the code 2020-04-13T16:48:31Z pjb: vms14: ok, if you don't have threads, you must do it like that. 2020-04-13T16:48:33Z vms14: and you're right, it's inconsistent, also thought that 2020-04-13T16:48:55Z vms14: I see do-later as js setInterval 2020-04-13T16:49:32Z vms14: but, would be better if it's a macro and I don't have to go creating lambdas 2020-04-13T16:49:56Z vms14: so I guess I'll try to change that to be like do-async, taking a body instead of a function 2020-04-13T16:50:04Z pjb: vms14: then you may want to have a look at jwacs, which has a cps-transformer. https://github.com/chumsley/jwacs 2020-04-13T16:50:40Z pjb: vms14: it transforms a form into continuations, which let you split whole expressions into chunks that you can evaluate in turn as with async-code. 2020-04-13T16:50:50Z vms14: jwacs - Javascript With Advanced Continuation Support :O 2020-04-13T16:51:10Z vms14: I'll save those links 2020-04-13T16:53:14Z efm joined #lisp 2020-04-13T17:01:50Z iAmDecim joined #lisp 2020-04-13T17:06:30Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-13T17:15:04Z terpri joined #lisp 2020-04-13T17:19:14Z phoe: Does the standard define default condition reporters anywhere? 2020-04-13T17:23:20Z wsinatra joined #lisp 2020-04-13T17:26:52Z karayan joined #lisp 2020-04-13T17:28:27Z EvW1 quit (Ping timeout: 260 seconds) 2020-04-13T17:28:38Z pjb: phoe: if it mentions them, then it must say that they're implementation dependent. 2020-04-13T17:28:43Z gioyik joined #lisp 2020-04-13T17:28:54Z phoe: pjb: I've just noticed. All implementations do these differently. 2020-04-13T17:28:58Z pjb: phoe: basically, when an unhandled condition is signaled, the debugger is invoked, and the debugger s implementation dependent. 2020-04-13T17:29:13Z phoe: pjb: (let ((*print-escape* nil)) (write-to-string (make-condition 'condition))) 2020-04-13T17:29:18Z phoe: no debugger here 2020-04-13T17:29:31Z phoe: just the condition reporter for CONDITION 2020-04-13T17:29:40Z pjb: Oh, this. No, there's no specification of the message that will be printed. 2020-04-13T17:29:55Z phoe: OK 2020-04-13T17:30:31Z pjb: phoe: the standard condition classes are specified, of course, but you will notice that no reporter message is mentionned in those pages. 2020-04-13T17:30:41Z phoe: yes, I've noticed that 2020-04-13T17:30:54Z pjb: phoe: apart, perhaps the simple-error, since it takes a format-control-string and arguments ;-) 2020-04-13T17:31:11Z phoe: :D 2020-04-13T17:31:18Z pjb: Well, nope. 2020-04-13T17:31:36Z pjb: It only says: "The type simple-error consists of conditions that are signaled by error or cerror when a format control is supplied as the function's first argument." 2020-04-13T17:31:38Z ebrasca joined #lisp 2020-04-13T17:32:01Z phoe: clhs simple-condition 2020-04-13T17:32:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/e_smp_cn.htm 2020-04-13T17:32:04Z phoe: hmmm 2020-04-13T17:32:22Z phoe: no reporting info here either! 2020-04-13T17:32:50Z pjb: phoe: note for example, that clisp is localized, so the reporting can be done in different languages. 2020-04-13T17:32:57Z phoe: correct 2020-04-13T17:33:02Z iAmDecim joined #lisp 2020-04-13T17:34:59Z Bike: i know it's an ANSI standard and all, but ruling out reporting in languages other than english would still kinda blow. 2020-04-13T17:35:57Z pjb: All user interface questions are not specified, left up to the implementation. 2020-04-13T17:36:22Z pjb: Even the REPL, it's specified only if available. You can have a conforming implementation without a REPL (ie. a batch compiler). 2020-04-13T17:36:49Z pjb: And note that the prompt, how input is done, how output is presented, etc, are not specified. 2020-04-13T17:37:19Z pjb: On the other hand, there's DRIBBLE, and slime-repl doesn't respect it!!! slime-repl is not a conforming CL repl! :-) 2020-04-13T17:37:22Z Bike: phoe: i think the closest thing is the fiddly rules in 9.1.3.1 2020-04-13T17:37:57Z hiroaki joined #lisp 2020-04-13T17:41:09Z pjb left #lisp 2020-04-13T17:41:14Z pjb joined #lisp 2020-04-13T17:42:36Z jayspeer joined #lisp 2020-04-13T17:43:24Z phoe: clhs 9.1.3.1 2020-04-13T17:43:24Z specbot: Recommended Style in Condition Reporting: http://www.lispworks.com/reference/HyperSpec/Body/09_aca.htm 2020-04-13T17:44:03Z phoe: huh 2020-04-13T17:44:19Z ArthurStrong joined #lisp 2020-04-13T17:44:34Z phoe: can an argument be made that an implementation doesn't conform to 9.1.3.1 if (let ((*print-escape* nil)) (write-to-string (make-condition 'condition))) returns something that isn't a properly structured English sentence? 2020-04-13T17:44:49Z phoe: I can imagine implementation maintainers deciding to stone me if I ever make such an argument 2020-04-13T17:44:59Z pjb: Nope, English is not specified there. 2020-04-13T17:45:03Z phoe: these are only recommendations after all 2020-04-13T17:45:13Z phoe: s/English/natural language/ 2020-04-13T17:45:41Z pjb: Well, I guess as long as it's not binary, anything is acceptable. 2020-04-13T17:46:11Z Bike: i'm kind of surprised it doesn't even say simple conditions go through FORMAT, though 2020-04-13T17:46:17Z pjb: (but then, since most implementation have characters corresponding to ASCII control codes, even binary output as text would do). 2020-04-13T17:46:50Z Bike: i guess it might be weird to specify, since there are situations in which you want to report a condition in some limited way to avoid printer errors 2020-04-13T17:46:54Z pjb: Bike: it's a little implied by the use of format-control and format arguments. 2020-04-13T17:47:47Z pjb: Bike: but you can replace a call to format by a call to the formatter. (write-string (with-output-to-string (out) (funcall (formatter "~A~%") out "foo"))) 2020-04-13T17:48:24Z pjb: Bike: furthermore, an implementation doesn't have to call functions in the CL package. It can call internal functions. Even written not in CL!!! 2020-04-13T17:48:43Z cods joined #lisp 2020-04-13T17:51:12Z splittist: Displaying things in typeout windows on Genera... 2020-04-13T17:52:13Z mrcom joined #lisp 2020-04-13T17:53:24Z phoe: clhs *print-escape* 2020-04-13T17:53:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_pr_esc.htm 2020-04-13T17:55:01Z vms14 quit (Remote host closed the connection) 2020-04-13T17:55:12Z Lycurgus quit (Read error: Connection reset by peer) 2020-04-13T17:55:25Z Bike: hm, seems like it should say "similar" instead of "equal" to me 2020-04-13T17:56:34Z phoe: "an attempt is made" 2020-04-13T17:58:01Z Bike: yeah, unlike print-readably, print-escape can just give up 2020-04-13T18:00:17Z phoe: but yes, should be "similar" 2020-04-13T18:02:17Z jayspeer quit (Read error: No route to host) 2020-04-13T18:02:38Z aindilis joined #lisp 2020-04-13T18:08:07Z cosimone joined #lisp 2020-04-13T18:12:02Z sauvin quit (Read error: Connection reset by peer) 2020-04-13T18:12:33Z shka_ quit (Read error: Connection reset by peer) 2020-04-13T18:12:54Z shka_ joined #lisp 2020-04-13T18:19:25Z shangul quit (Quit: Leaving) 2020-04-13T18:20:39Z cosimone quit (Quit: Terminated!) 2020-04-13T18:24:16Z karayan quit (Ping timeout: 240 seconds) 2020-04-13T18:27:54Z efm quit (Ping timeout: 240 seconds) 2020-04-13T18:28:03Z jasom joined #lisp 2020-04-13T18:34:00Z ayuce left #lisp 2020-04-13T18:34:58Z gioyik quit (Ping timeout: 265 seconds) 2020-04-13T18:36:28Z jcowan: What are some standard use cases / applications for rationals other than integers? 2020-04-13T18:37:21Z cosimone joined #lisp 2020-04-13T18:38:32Z phoe: when you need to, uh, represent rationals in your program? 2020-04-13T18:38:47Z efm joined #lisp 2020-04-13T18:38:55Z phoe: they're infinite precision compared to floats, so perhaps that 2020-04-13T18:39:26Z phoe: Offtopic - which part of the standard specifies that globally SETQing a symbol that hasn't been proclaimed a global variable is UB? 2020-04-13T18:40:59Z jcowan: So fractions and arbitrary-precision floats are isomorphic? 2020-04-13T18:41:32Z phoe: sure they are, an infinite-precision float 0.001 is just 1/1000 2020-04-13T18:41:51Z phoe: as long as you don't care about normalization/denormalization and such cases, and compare via = 2020-04-13T18:41:56Z jackdaniel: what is an infinite-precision float? 2020-04-13T18:42:00Z jcowan: (modulo +inf.0, -inf.0, +nan.0, and -0.0 2020-04-13T18:42:17Z phoe: yes, other than these edge cases too 2020-04-13T18:42:37Z jcowan: A float whose mantissa is a bignum. Of course it is not truly infinite, any more than bignums are. 2020-04-13T18:42:54Z dddddd quit (Ping timeout: 240 seconds) 2020-04-13T18:43:37Z jasom: jcowan: fractions and arbitrary-precision floats are not completely isomorphic; they are only isomorphic to some arbitrarily small precision. 2020-04-13T18:43:49Z jcowan: Fair enough 2020-04-13T18:44:56Z jasom: you could implement an equality operator that would answer the question "is this float X the most accurate representation of this rational Y" at which point they would be isomorphic until you start doing math on them, at which point they can start drifiting 2020-04-13T18:45:15Z cosimone quit (Quit: Quit.) 2020-04-13T18:46:07Z travv0: phoe: i think it just fails to specify the behavior. the most relevant text i know of is "The following facilities allow the value of a variable (more specifically, the value associated with the current binding of the variable) to be altered. Such alteration is different from establishing a new binding. Constructs for establishing new bindings of variables are described in section 7.5." 2020-04-13T18:46:32Z travv0: oh that's from cltl2, not the spec 2020-04-13T18:48:21Z phoe: travv0: 2020-04-13T18:48:23Z phoe: clhs 5.1.2.1 2020-04-13T18:48:23Z specbot: Variable Names as Places: http://www.lispworks.com/reference/HyperSpec/Body/05_aba.htm 2020-04-13T18:48:26Z Bike: phoe: 3.1.2.1.1 defines various symbols as lexical, dynamic, or constant. a variable that has not been proclaimed special, defconstant'd, or lexically bound, is not included in any of the cases. so, it's undefined 2020-04-13T18:48:38Z phoe: if a symbol does not name a variable then it doesn't apply to 5.1.2.1 2020-04-13T18:48:47Z phoe: Bike: thanks. 2020-04-13T18:50:26Z Bike: it also says an unbound-variable error "should be" signaled if an unbound variable is referenced, so i suppose that could mean that in safe code implementations ought to signal an error 2020-04-13T18:51:04Z phoe: this would imply that (setq ksdjksgh 42) in safe code should signal an error 2020-04-13T18:51:16Z Bike: right. 2020-04-13T18:51:48Z travv0: that would make sense 2020-04-13T18:51:52Z Bike: well, maybe setq doesn't constitute a "reference", since it just writes 2020-04-13T18:51:53Z Bike: eh. 2020-04-13T18:52:11Z Bike: yeah, that must be true, since a variable that's proclaimed special but not bound can be setq'd fine. 2020-04-13T18:52:22Z cosimone joined #lisp 2020-04-13T18:52:44Z phoe: SBCL warns instead of erroring, just as usual 2020-04-13T18:53:14Z aeth: jcowan: an arbitrary, programmer-specified precision float is more useful for the sort of float-style compuations than rationals since rationals will just grow to 234/923489 and then 384978/234897529 and then 328794813489734835179/347918374893714891309143 over time 2020-04-13T18:53:33Z aeth: while rationals are more natural for what they're used for in the numeric tower 2020-04-13T18:54:09Z jasom: right; floats and rationals fill a different niche in computing. Rationals are less surprising in their results, but floats are less surprising in their performance. 2020-04-13T18:54:20Z gioyik joined #lisp 2020-04-13T18:54:25Z aeth: yeah, that's a better way of phrasing it 2020-04-13T18:54:47Z Lycurgus joined #lisp 2020-04-13T18:55:18Z jasom: also, fixed-point math can be very useful now that we have 64-bit machines; 64-bit fixed point values can fit a large number of real-world uses. 2020-04-13T18:55:18Z jonatack quit (Ping timeout: 256 seconds) 2020-04-13T18:55:18Z aeth: and then you have things like (* pi 42/3) or (sqrt 2) and if you want a rational result there, heh, you'd have to add a required precision to everything. 2020-04-13T18:55:28Z cosimone quit (Client Quit) 2020-04-13T18:55:42Z jasom: one might say it's not rational to use rational numbers for irrational calculations :P 2020-04-13T18:55:54Z jcowan: I'm dealing with someone who claims that exact fractions are pointless, so I want to point him to use cases 2020-04-13T18:56:34Z jasom: jcowan (loop repeat 100000 sum (- 1/3 10/31)) 2020-04-13T18:56:36Z aeth: (/ 4 3) 2020-04-13T18:56:39Z aeth: literally just (/ 4 3) 2020-04-13T18:57:08Z aeth: for 4 / 3, Python 2 gives you 1, Python 3 gives you 1.3333333333333333, and a proper Lisp for (/ 4 3) gives you 4/3 2020-04-13T18:57:09Z jonatack joined #lisp 2020-04-13T18:58:03Z gxt quit (Ping timeout: 240 seconds) 2020-04-13T18:58:07Z jcowan: Sure, but those are demonstrations of how fractions work, not use cases for them. No database I know of, for example, has fractions with arbitrary denominators, which suggests that (a) people don't need to store fractional data, or (b) it would be useful to do so, but because it's not available people don't think of it 2020-04-13T18:58:41Z aeth: You can get either behavior in CL, e.g. (floor 4 3) (or is it truncate?) for Python 2's behavior or, for Python 3's, (float (/ 4 3) 1d0) or (float (/ 4 (float 3 1d0)) or (/ 4 3d0) etc. 2020-04-13T18:59:00Z aeth: jcowan: No database is going to use fractions because they're built for performance 2020-04-13T18:59:15Z jasom: jcowan: with my example a 64-bit double has an error in the 13th digit, which is way less accurate than one might expect from doubles 2020-04-13T18:59:20Z aeth: If I'm doing a calculation where performance doesn't particularly matter, I'm going to stay in rationals until the end 2020-04-13T18:59:59Z aeth: Or at least until I have to use a float like with SQRT 2020-04-13T19:00:04Z Bike: maybe something in maths? but tragically, i'm not actually a mathematician 2020-04-13T19:00:04Z phoe: jcowan: same use cases as for infinite-precision integer arithmetic. a rational is just a pair of automatically GCD'd integers 2020-04-13T19:00:11Z Bike: determining the error of a floating point calculation, maybe 2020-04-13T19:00:23Z phoe: you only don't need to have rationals if you don't divide your integers. 2020-04-13T19:00:34Z jcowan notes that gcc depends on the mpfr library 2020-04-13T19:00:47Z jcowan: (arbitrary floats) 2020-04-13T19:00:50Z phoe: so that can be delegated to the question of "who needs infinite precision integers anyway" 2020-04-13T19:01:15Z jasom: jcowan: that's necessary for compiling for a target with different FP precisions than a host, if you want to do constant folding anyways 2020-04-13T19:01:32Z jcowan: Up to a point, Minister. A database with user-defined domains can store bignums and fractions, but query languages won't be able to cope with them as such. 2020-04-13T19:01:45Z jcowan: jasom: Just so 2020-04-13T19:02:07Z jcowan has always seen programming as a verbal, not a mathematical, activity 2020-04-13T19:03:54Z Lycurgus: Minister? 2020-04-13T19:04:02Z Lycurgus: ans in Yes .. ? 2020-04-13T19:04:07Z Lycurgus: *as in 2020-04-13T19:04:19Z pjb: jcowan: not enough APL ! :-) 2020-04-13T19:05:44Z jcowan: Lycurgus: Yes. It's how the sidekick disagrees 2020-04-13T19:05:53Z Lycurgus: ah 2020-04-13T19:06:32Z aeth: jcowan: imo floats are good for algorithms... because the algorithm author did the work already to (hopefully) prove that the algorithm won't be terribly unsurprising, but floats are still, essentially, surprising. 2020-04-13T19:06:54Z aeth: rationals should, more or less, work out exactly like they would if you had done things on paper. 2020-04-13T19:07:10Z jcowan: Assuming you have a sufficiently large sheet of paper! 2020-04-13T19:07:15Z aeth: If anything, the numeric tower should extend exactness past rationals and include symbols for sqrt, pi, etc. But that's certainly asking too much of implementors 2020-04-13T19:07:49Z Lycurgus: the real diff between now and when the choice was fixed or float is that you have well worked out gmp, usually incorporated in ur better stuffs 2020-04-13T19:08:26Z pjb: aeth: actually, no. Mathematical reals are surprising "unphysical". When you use reals in physics, you can't have present and distinguish future from past. You need intuitive numbers for that. 2020-04-13T19:09:02Z Lycurgus: the mapping of floats to reals was studied albeit obtrusely from the start, there's an ieee paper on it circa '59 or '60 2020-04-13T19:09:29Z drmeister: ASDF is driving me nuts at the moment. 2020-04-13T19:09:33Z Lycurgus: s/obtruse/arcane/ 2020-04-13T19:09:37Z aeth: jcowan: that is, imo this is less surprising in a sense: (sqrt 12) => 2\/3 (or using the actual unicode symbol, which my IRC doesn't want me to paste) 2020-04-13T19:09:45Z drmeister: I (asdf:load-system :something-that-im-developing) 2020-04-13T19:09:45Z jasom quit (Quit: WeeChat 2.5) 2020-04-13T19:09:50Z drmeister: I get this backtrace in slime... 2020-04-13T19:09:52Z drmeister: https://www.irccloud.com/pastebin/glK56Zyy/ 2020-04-13T19:10:02Z aeth: I think you would only have to extend the numeric tower to handle sqrt, e, and pi 2020-04-13T19:10:11Z jasom joined #lisp 2020-04-13T19:10:17Z drmeister: I have no idea what is wrong. Something in 'interpret.lisp' 2020-04-13T19:10:21Z aeth: (Possibly exact exponentials too) 2020-04-13T19:11:04Z drmeister: I C-c C-k the file and it generates lots of warnings - and I go through them looking for something that can break compile-file. 2020-04-13T19:11:14Z drmeister: Is that the best I can do? 2020-04-13T19:11:20Z jello_pudding quit (Ping timeout: 246 seconds) 2020-04-13T19:11:34Z aeth: pjb: we don't need reals, we just need computable numbers, but specific to exact numbers, we just need a way to express the operations symbolically that currently require us to "escape" into the floats even if we don't want to. That's e, pi, sqrt, and possibly a general expt 2020-04-13T19:11:54Z drmeister: Walking through 50 warnings looking for something that breaks compile-file is annoying. 2020-04-13T19:12:17Z phoe: drmeister: that is what I do myself, yes. 2020-04-13T19:12:18Z aeth: drmeister: I'd like to help, but I can't really figure out the control flow of ASDF, either 2020-04-13T19:12:39Z aeth: Things I think must execute don't (break) etc. 2020-04-13T19:13:31Z pjb: aeth: the strange thing is that with e pi and a few square roots, we have named enough reals to do most things. Imagine a universe where we would need to use hundreds of such numbers! 2020-04-13T19:13:37Z pjb: and i. 2020-04-13T19:14:11Z aeth: we do have i (and Scheme even does it like 4+3i instead of #C(4 3)) 2020-04-13T19:14:27Z pjb: e^-ipi +1 = 0 2020-04-13T19:14:41Z aeth: pjb: afaik, we need more physical constants mostly because we don't use natural units, but rather the arbitrary metric ones 2020-04-13T19:14:47Z aeth: but there might be some relations that still require constants anyway 2020-04-13T19:14:54Z pjb: aeth: physical constants are not reals. 2020-04-13T19:14:54Z aeth: at least in our current understanding 2020-04-13T19:15:22Z pjb: aeth: it looks like for physics, we don't need all the reals, but we can work in a subspace of R. 2020-04-13T19:15:56Z gxt joined #lisp 2020-04-13T19:17:17Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-13T19:17:23Z 7YUAAD074 is now known as ober 2020-04-13T19:18:06Z slyrus__ quit (Remote host closed the connection) 2020-04-13T19:18:53Z adlai: aren't most solutions to eigenvalue equations provably non-algebraic ? 2020-04-13T19:20:10Z jello_pudding joined #lisp 2020-04-13T19:20:22Z adlai always had this impression, maybe it's not true and physicists have only not yet found the closed-form algebraic expressions 2020-04-13T19:23:04Z iAmDecim joined #lisp 2020-04-13T19:24:31Z aeth: My impression as far as physical constants go, and I'm not a physicist, is that it's *possible* that some of the relations described in the constants are like pi... 2020-04-13T19:24:35Z Bike: transcendental numbers infinitely outnumber algebraic ones, no? 2020-04-13T19:25:00Z phoe: this is the most #lisp post I have read today 2020-04-13T19:25:14Z adlai: Bike, correct, the algebraic numbers are countable whereas transendentals are uncountable 2020-04-13T19:25:15Z libertyprime quit (Read error: No route to host) 2020-04-13T19:25:59Z Bike: drmeister: any actual warning other than a style-warning will cause compile-file to report failure. 2020-04-13T19:26:12Z jonatack_ joined #lisp 2020-04-13T19:26:43Z jasom: Bike: I agree with drmeister in that it's annoying to have 100s of style warnings and then a single warning or error *somewhere* in the output 2020-04-13T19:26:53Z Bike: oh, sure. i don't know what the hey asdf is doing. 2020-04-13T19:27:06Z phoe: jasom: that could perhaps be a slime issue 2020-04-13T19:27:08Z jasom: sbcl is fairly profligate with its style warnings when speed optimizations are enabled 2020-04-13T19:27:22Z phoe: to have the slime debugger report errors at the top of *slime-compilation-warnings* buffer, or something 2020-04-13T19:27:32Z phoe: that would be a good sieve IMO 2020-04-13T19:27:44Z phoe: drmeister: what do you think? 2020-04-13T19:28:07Z Bike: hm, we could probably sort the conditions we give to slime 2020-04-13T19:28:10Z jasom: yeah ,reporting in order of severity error,warning,style-warning (does lisp have anything less sever than style warnings?) 2020-04-13T19:28:11Z Bike: i don' 2020-04-13T19:28:16Z Bike: t know if slime would respect the order, though 2020-04-13T19:28:33Z Bike: lisp does not have anything less severe than style warnings, but it's reasonably common to have a compiler-note class that's less severe 2020-04-13T19:28:33Z _death: compiler-note? 2020-04-13T19:28:35Z phoe: Bike: I'd actually prefer slime to do it rather than submit changes to all the implementations 2020-04-13T19:28:39Z Bike: sbcl has it and swank supports it 2020-04-13T19:28:45Z phoe: _death: standard lisp 2020-04-13T19:28:49Z phoe: compiler-notes are a SBCL thing 2020-04-13T19:28:55Z _death: phoe: right 2020-04-13T19:28:58Z Bike: i think other implementations have them 2020-04-13T19:29:04Z Bike: if not, they probably ought to, it's useful 2020-04-13T19:29:10Z jonatack__ joined #lisp 2020-04-13T19:29:25Z jonatack quit (Ping timeout: 258 seconds) 2020-04-13T19:29:49Z Bike: standard situations can easily be compiler notes. off the top of my head, when the compiler attempts to use a compiler macro but it fails because an argument was not constant 2020-04-13T19:30:09Z Bike: that's not a style problem, it's just "hey, this could work better" 2020-04-13T19:30:50Z cosimone joined #lisp 2020-04-13T19:32:43Z jonatack_ quit (Ping timeout: 260 seconds) 2020-04-13T19:33:09Z oldtopman quit (Read error: Connection reset by peer) 2020-04-13T19:34:40Z phoe: yes 2020-04-13T19:34:44Z phoe: huh, sounds like a possible CDR 2020-04-13T19:34:56Z MightyJoe joined #lisp 2020-04-13T19:35:13Z drmeister: Hi - sorry - got called away for a bit. 2020-04-13T19:35:26Z Lycurgus quit (Quit: Exeunt) 2020-04-13T19:36:29Z pve: hello everyone 2020-04-13T19:36:55Z cyraxjoe quit (Ping timeout: 260 seconds) 2020-04-13T19:37:37Z pve: If I have a defclass in a file, and then later in that same file a defmacro with an &environment parameter, then should the environment parameter know about that class? (that could be passed to find-class when the macro is expanded) 2020-04-13T19:38:04Z Bike: this is unfortunately a bit of a mystery. 2020-04-13T19:38:21Z Bike: the clhs page on defclass says the type has to be noted as a type by the compiler, but whether that means find-class works... 2020-04-13T19:38:52Z drmeister: Ok - thanks folks - knowing that it annoys everyone else helps somewhat - it means I'm not missing something. 2020-04-13T19:41:12Z pve: the clhs page explicitly mentions find-class, but I can't get it to work on SBCL.. hence my confusion 2020-04-13T19:41:29Z akoana left #lisp 2020-04-13T19:42:02Z Bike: yes, well, there are some difficulties. for example if the class definition requires some methods on validate-superclass and mop things. 2020-04-13T19:42:05Z phoe: drmeister: I'd throw a pair of issues at ASDF and slime; the one at ASDF stating that the error signaled due to compile-file errors should contain the list of signaled errors in a slot; the one at slime, errors could be at the top of the slime-compilation-output buffer 2020-04-13T19:42:05Z jonatack__ quit (Read error: Connection reset by peer) 2020-04-13T19:42:16Z phoe: that should fix the issues for everyone 2020-04-13T19:42:20Z dtman34 joined #lisp 2020-04-13T19:43:11Z jonatack__ joined #lisp 2020-04-13T19:43:18Z jonatack__ quit (Client Quit) 2020-04-13T19:43:24Z pve: ok, thanks 2020-04-13T19:43:33Z Bike: phoe: looking at swank, sbcl, lispworks, and allegro all have compiler notes. (SCL and CMUCL also treat style warnings as notes, not sure what's going on there) 2020-04-13T19:44:10Z jonatack joined #lisp 2020-04-13T19:44:14Z defaultxr joined #lisp 2020-04-13T19:44:59Z jonatack quit (Read error: Connection reset by peer) 2020-04-13T19:46:43Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-13T19:47:13Z Bike: phoe: and while i'm at it, sbcl, clasp, and allegro have condition classes for noting a redefinition (also supported specially by swank) 2020-04-13T19:47:57Z shifty joined #lisp 2020-04-13T19:50:01Z shka_ quit (Ping timeout: 264 seconds) 2020-04-13T19:50:29Z Bike: implementation compilers are the heaviest users of weird condition shit i'm aware of, so it's interesting to see what they go with 2020-04-13T19:50:34Z jonatack joined #lisp 2020-04-13T19:53:03Z Grauwolf quit (Read error: Connection reset by peer) 2020-04-13T19:54:37Z iAmDecim joined #lisp 2020-04-13T19:55:08Z jackdaniel: ecl has compiler-note, compiler-style-warning, compiler-warning or something in this spirit 2020-04-13T19:55:42Z jackdaniel: mind that compiler-warning does not subclass/subcondition the warning condition 2020-04-13T19:56:18Z Bike: yeah, it's the same on sbcl. 2020-04-13T19:56:29Z Bike: swank/ecl.lisp doesn't know about any notes. sad 2020-04-13T19:56:39Z Bike: oh wait, misunderstood re compiler warning 2020-04-13T19:58:19Z jackdaniel dives right now in ecl's moppery, pcl is annoying 2020-04-13T20:05:12Z pjb: pve: AFAIUI, the defclass defines classes in the global environment (named NIL). The environment the macro gets will be a local (lexical) environment. You can define classes in that environment (using (setf find-class) !). But if you don't and call just find-class, it will find the class in the global environment. So you need to use the &environment only if you use (setf find-class) to define local classes. 2020-04-13T20:05:15Z choegusung joined #lisp 2020-04-13T20:06:43Z z147 quit (Ping timeout: 240 seconds) 2020-04-13T20:08:56Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-13T20:09:30Z asarch quit (Quit: Leaving) 2020-04-13T20:10:34Z pve: pjb: Thank you. Hmm, local classes.. that's a new one 2020-04-13T20:14:33Z pjb: pve: I'm not sure of the usefulness of this concept, though… 2020-04-13T20:16:47Z theseb joined #lisp 2020-04-13T20:16:51Z phoe: random question: which symbol from the CL package is the most obscure one? 2020-04-13T20:16:58Z phoe: note I'm not asking about useless; I'm asking about the most confusing, unknown, unused and/or underutilized one 2020-04-13T20:18:40Z phoe: so far I am thinking either WITH-CONDITION-RESTARTS or something from the pathname dictionary 2020-04-13T20:19:06Z jackdaniel: otherwise 2020-04-13T20:19:19Z phoe: oof, that's a good one 2020-04-13T20:19:45Z aeth: The most useless pair is RPLACA and RPLACD, basically just unwritable, unmemorable alternatives to (setf car) and (setf cdr) 2020-04-13T20:20:02Z jackdaniel: they are quite memorable to me 2020-04-13T20:20:17Z aeth: they're memorable in a sense, but I always look them up to make sure I didn't get a letter wrong, which I sometimes do 2020-04-13T20:20:27Z Bike: i remember this came up before and someone- maybe xach? found that OTHERWISE is the only cl symbol that doesn't fit a meaning classification 2020-04-13T20:20:34Z Bike: also, besides otherwise i'd pick STANDARD 2020-04-13T20:20:36Z Shinmera: phoe: dribble? 2020-04-13T20:20:38Z axion: under-used: dribble? 2020-04-13T20:20:42Z Shinmera: hah. 2020-04-13T20:20:45Z axion: ha 2020-04-13T20:21:19Z phoe: good ones too 2020-04-13T20:21:25Z scymtym: NRECONC 2020-04-13T20:21:33Z Shinmera: there's also ed 2020-04-13T20:21:33Z jackdaniel: both-case-p 2020-04-13T20:21:40Z jackdaniel: ed has potential 2020-04-13T20:22:08Z jackdaniel: cdaadr 2020-04-13T20:22:18Z aeth: PROG, PROG*, and PROG2 are things that people probably don't know exist, even though PROG2 is useful. (PROG and PROG*, not so much, since TAGBODY is almost always in a macro) 2020-04-13T20:22:28Z jackdaniel: with sufficiently elaborate c*r hierarch one could do morse with them 2020-04-13T20:22:31Z aeth: it looks like there's a PROGV as well 2020-04-13T20:22:49Z phoe: progv is actually useful, as obscure as it is 2020-04-13T20:23:13Z aeth: PROGV is the one I haven't heard of before, I knew I'd find one if I did "!l1sp prog" in DDG 2020-04-13T20:23:25Z phoe: it is the only operator that allows you to bind dynavars fully at runtime 2020-04-13T20:23:27Z Shinmera: ldiff? 2020-04-13T20:23:50Z Shinmera: lotsa weird stuff I never use. 2020-04-13T20:23:55Z emys joined #lisp 2020-04-13T20:24:11Z _death: ldiff is quite useful, especially in tandem with member 2020-04-13T20:24:23Z axion: sublis? Don't think I've ever seen that one used before. As for me, I never use DO/DO* and I always get confused about the control flow when I see it used by others, but that's just me probably. 2020-04-13T20:24:34Z aeth: The real strange things are extentions to things you use every day where you never use those features. I'm talking about e.g. &aux 2020-04-13T20:24:43Z aeth: it is a symbol in CL... 2020-04-13T20:24:59Z phoe: aeth: also a very good one 2020-04-13T20:25:02Z _death: I guess one way to find out is to write a program calculating the relative frequency of the symbols in the lisp codebase on your machine 2020-04-13T20:25:09Z wheelsucker joined #lisp 2020-04-13T20:25:21Z cyraxjoe joined #lisp 2020-04-13T20:26:19Z aeth: A weird feature (which I have found a use for) is ":allow-other-keys t" in the caller, but that's not in CL. This allows you to have a higher-order-function in your public API without making breaking changes when you add optional things. 2020-04-13T20:26:37Z aeth: (I mean, it's a keyword, not in the CL package) 2020-04-13T20:26:54Z MightyJoe quit (Ping timeout: 240 seconds) 2020-04-13T20:26:56Z phoe: aeth: &allow-other-keys 2020-04-13T20:27:09Z phoe: that is in CL though 2020-04-13T20:27:14Z theseb: Does EVERY expression need to return something? I tried "(if false 3)" and didn't see it return anything? 2020-04-13T20:27:16Z phoe: ...oh, you mean the caller side though 2020-04-13T20:27:24Z _death: clhs gentemp 2020-04-13T20:27:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_gentem.htm 2020-04-13T20:27:27Z phoe: theseb: what's "false"? 2020-04-13T20:27:28Z aeth: phoe: (defun foo (f) (funcall f :foo 42 :allow-other-keys t)) (foo (lambda (&key) (format t "Hello!~%"))) 2020-04-13T20:27:35Z aeth: phoe: incredibly obscure but you can see where it makes sense 2020-04-13T20:27:35Z phoe: aeth: yes, that's correct 2020-04-13T20:27:51Z theseb: phoe: oh ..ug i did it in an online web scheme thing 2020-04-13T20:28:02Z phoe: theseb: in Common Lisp, this returns NIL 2020-04-13T20:28:02Z theseb: phoe: but question still stands 2020-04-13T20:28:05Z _death: I guess the boole operators are also quite obscure 2020-04-13T20:28:07Z phoe: (if nil 3) ;=> nil 2020-04-13T20:28:18Z phoe: _death: boole operators actually make sense when you think about them 2020-04-13T20:28:19Z theseb: phoe: interesting 2020-04-13T20:28:19Z pjb: clhs if 2020-04-13T20:28:19Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_if.htm 2020-04-13T20:28:22Z pjb: theseb: ^ 2020-04-13T20:28:26Z phoe: but yes, they're underused 2020-04-13T20:28:29Z _death: phoe: Naggum had an interesting post about them 2020-04-13T20:28:43Z theseb: phoe: why something so basic is *different* between common lisp and scheme? 2020-04-13T20:29:12Z phoe: yes, https://www.xach.com/naggum/articles/search?q=boole 2020-04-13T20:29:14Z xuxuru joined #lisp 2020-04-13T20:29:15Z pjb: theseb: note how the else-form default is nil. Therefore (if nil 3) returns nil. It could have been (values) but since multiple values are a recent addition to lisp, they stayed with nil which was the original behavior. 2020-04-13T20:29:19Z phoe: theseb: because they're different languages 2020-04-13T20:29:30Z travv0: that's just the tip of the iceberg when it comes to basic things that are different between cl and scheme 2020-04-13T20:29:32Z pjb: theseb: Have a look at (intersection common-lisp emacs-lisp scheme) http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/intersection-r5rs-common-lisp-emacs-lisp/ 2020-04-13T20:29:43Z phoe: that's like asking why something so basic is different between C++ and Java 2020-04-13T20:30:03Z phoe: for any good enough value of "something so basic" 2020-04-13T20:30:26Z aeth: theseb: That's one of the few points where Common Lisp is more ideologically ideal than Scheme is. most Schemes take "unspecified" return values literally and return something like # or #, which your REPL might not show. Or maybe returning nothing, in a way that CL can't. 2020-04-13T20:30:30Z elderK joined #lisp 2020-04-13T20:30:32Z elderK quit (Changing host) 2020-04-13T20:30:32Z elderK joined #lisp 2020-04-13T20:31:01Z phoe: in theory Lisp can return (values) but that gets coerced to NIL anyway 2020-04-13T20:31:02Z aeth: theseb: In Common Lisp, things that would have a "useless" return still return something: NIL (which is false) 2020-04-13T20:31:12Z aeth: phoe: yes, except in multiple-value-call or multiple-value-list 2020-04-13T20:31:21Z aeth: so returning (values) is just asking for code to break in an edge case 2020-04-13T20:31:35Z phoe: yes 2020-04-13T20:31:43Z _death: GO and THROW for example do not return anything 2020-04-13T20:31:55Z phoe: _death: nice 2020-04-13T20:32:01Z phoe: neither does INVOKE-DEBUGGER 2020-04-13T20:32:33Z aeth: or your REPL's implementation-specific (exit) or (quit) 2020-04-13T20:33:32Z elderK: Hey all. I was wondering where I can find a list of defined character names. 2020-04-13T20:33:47Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-13T20:33:57Z elderK: Say, for |. Is it just #\| or is there another name, like pipe? 2020-04-13T20:34:07Z phoe: elderK: that's implementation-dependent 2020-04-13T20:34:22Z phoe: clhs 2.1.3 2020-04-13T20:34:22Z specbot: Standard Characters: http://www.lispworks.com/reference/HyperSpec/Body/02_ac.htm 2020-04-13T20:34:25Z phoe: the rest is up to the implementation 2020-04-13T20:34:25Z Shinmera: clhs 13.1.7 2020-04-13T20:34:25Z specbot: Character Names: http://www.lispworks.com/reference/HyperSpec/Body/13_ag.htm 2020-04-13T20:34:43Z elderK: phoe:Perhaps it would be better to match on unsigned integer values then. 2020-04-13T20:35:01Z phoe: elderK: some char-codes won't map to characters and instead return NIL. 2020-04-13T20:35:19Z choegusung quit (Quit: leaving) 2020-04-13T20:35:41Z Bike: elderK: many, hopefully most, implementations use the names defined by unicode. 2020-04-13T20:35:42Z emys quit (Ping timeout: 260 seconds) 2020-04-13T20:36:16Z Bike: which would make, e.g., (name-char "VERTICAL_LINE") work 2020-04-13T20:37:15Z aeth: Unicode is one of the few places where the implementation is lacking. 2020-04-13T20:37:21Z aeth: s/implementation/specification/ 2020-04-13T20:37:30Z aeth: Which is good. Implementations can use modern Unicode, not early 1990s 2020-04-13T20:37:48Z phoe: aeth: modern implementations specifically break the standard to use unicode 2020-04-13T20:38:26Z aeth: I wish they'd break the standard to add the IEEE short-float (too imprecise) 2020-04-13T20:38:47Z phoe: clhs 13.1.4.3 2020-04-13T20:38:47Z specbot: Characters With Case: http://www.lispworks.com/reference/HyperSpec/Body/13_adc.htm 2020-04-13T20:38:47Z aeth: https://en.wikipedia.org/wiki/Half-precision_floating-point_format 2020-04-13T20:38:51Z elderK: Are there any particular gotchas I should be aware of if I am parsing arbitrary input? 2020-04-13T20:38:54Z phoe: "Every character with case is in one-to-one correspondence with some other character with the opposite case." 2020-04-13T20:39:03Z pjb: aeth: an implementation can be an implementation of a superset of CL. 2020-04-13T20:39:04Z elderK: I am working on a small tool, originally written in C, reimplementing in Lisp for fun. 2020-04-13T20:39:06Z aeth: phoe: SBCL doesn't violate the standard here. SBCL has separate case rules in sb-unicode... 2020-04-13T20:39:18Z elderK: The tool reads a modified form of BNF, and lets me do a bunch of useful things. 2020-04-13T20:39:21Z phoe: this one is against unicode and so modern implementations knowingly break this 2020-04-13T20:39:24Z _death: aeth: couldn't an implementation just define a half-float type? 2020-04-13T20:39:25Z Shinmera: Work on CL started well before Unicode came out. 2020-04-13T20:39:25Z Kundry_W_ joined #lisp 2020-04-13T20:39:26Z phoe: aeth: oh! 2020-04-13T20:39:33Z phoe: I need to see it now then 2020-04-13T20:39:58Z aeth: phoe: It's actually a bit annoying because I #+sbcl sb-unicode things and then #-sbcl the standard CL things and hope they're like CCL and standards-violating to more closely match sb-unicode 2020-04-13T20:40:03Z aeth: no portability library here afaik 2020-04-13T20:40:23Z aeth: but there's no whitespacep 2020-04-13T20:40:35Z aeth: I don't think the standard anticipated all of the whitespace in Unicode 2020-04-13T20:40:55Z phoe: yes, that's correct 2020-04-13T20:40:59Z SGASAU quit (Remote host closed the connection) 2020-04-13T20:41:03Z pjb: aeth: as long as it's documented, you can define a half-float as a subtype of float. 2020-04-13T20:41:46Z SGASAU joined #lisp 2020-04-13T20:42:15Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-04-13T20:42:19Z aeth: pjb: it would be much better to have a the half-precision float as the short float, though, since (1) it's IEEE not some extension and (2) the linguistic/reader convenience is for short floats, which most implementations currently don't even support 2020-04-13T20:42:23Z aeth: (it's about 50/50 on long float) 2020-04-13T20:42:56Z aeth: (I mean, short-float is almost-universally single-float in modern CL) 2020-04-13T20:43:26Z Shinmera: probably because most processors don't operate on them. 2020-04-13T20:43:27Z emys joined #lisp 2020-04-13T20:44:24Z drmeister: phoe: Thank you very much! 2020-04-13T20:46:26Z pjb: aeth: but it would break programs that expect the 16 significant bit of the mantisa of a short-float… 2020-04-13T20:46:40Z phoe: drmeister: no problem; if ASDF and slime decide to implement that, it'll be a time-saver for all of us. 2020-04-13T20:46:52Z pjb: aeth: granted, there must not be a lot of programs using short-floats… 2020-04-13T20:48:23Z narimiran quit (Ping timeout: 258 seconds) 2020-04-13T20:50:18Z froggey: aeth: ok, you've convinced me. I'll implement short-float as IEEE half float 2020-04-13T20:50:56Z froggey: afaik the precision minimums are just recommendations, not requirements 2020-04-13T20:51:06Z aeth: great 2020-04-13T20:51:27Z emys quit (Ping timeout: 265 seconds) 2020-04-13T20:51:44Z aeth: it's only 11 instead of 13 bits... probably no one will notice 2020-04-13T20:51:47Z stylewarning: froggey: arbitrary precision floats for long floats! 2020-04-13T20:52:11Z froggey: that's considerably more complicated 2020-04-13T20:52:12Z aeth: froggey: you're right, it's a recommendation. http://www.lispworks.com/documentation/HyperSpec/Body/t_short_.htm 2020-04-13T20:52:25Z aeth: So it's conforming, it's just that no one is raising this issue around implementors 2020-04-13T20:53:27Z aeth: I guess it can't be required because hardware support isn't really something implementors have control over 2020-04-13T20:55:26Z karlosz joined #lisp 2020-04-13T20:55:39Z catalinbostan quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-13T20:55:43Z azimut__ quit (Remote host closed the connection) 2020-04-13T20:55:49Z pjb: Good point, the minimums are only recommendations! Great! 2020-04-13T20:56:26Z aeth: I think some GPUs support IEEE half-precision float these days so implementation support might be useful 2020-04-13T20:56:37Z luckless joined #lisp 2020-04-13T20:56:40Z aeth: (meanwhile, everyone will continue to do machine learning in Python) 2020-04-13T20:56:48Z pjb: aeth: definitely. 2020-04-13T20:57:04Z luckless is now known as azimut__ 2020-04-13T20:58:11Z aeth: Hopefully we can start a short-float effort like we did with package-local-nicknames 2020-04-13T20:58:25Z aeth: then languages that have a long-float will have four distinct floats 2020-04-13T20:59:00Z elderK: Hmm. Does CL define a "carriage return" character? 2020-04-13T20:59:39Z Bike: clhs 13.1.7 2020-04-13T20:59:39Z specbot: Character Names: http://www.lispworks.com/reference/HyperSpec/Body/13_ag.htm 2020-04-13T20:59:45Z Bike: so, kinda. 2020-04-13T20:59:50Z Shinmera: elderK: I linked you the answer already before 2020-04-13T21:00:08Z Bike: so you did 2020-04-13T21:00:23Z emys joined #lisp 2020-04-13T21:00:34Z elderK: Shinmera: You did indeed. 2020-04-13T21:01:04Z elderK: I am curious as to how lexing is often done in CL. Is it common to switch on the CL character names? Or is it common to switch on code-points? 2020-04-13T21:01:17Z elderK: Then when you know the code point, translate it to a character and push it into some buffer? 2020-04-13T21:01:18Z SGASAU quit (Remote host closed the connection) 2020-04-13T21:01:19Z ukari quit (Remote host closed the connection) 2020-04-13T21:01:33Z pve quit (Quit: leaving) 2020-04-13T21:02:00Z ukari joined #lisp 2020-04-13T21:02:04Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-13T21:03:00Z phoe: I'd personally switch from charcodes to characters as soon as I can; this way I will also get instant char-code validation, and any char-codes that are invalid can be mapped to something sane or used to signal a corrupted-file error of sorts 2020-04-13T21:04:23Z elderK: phoe: So, code-char ASAP? 2020-04-13T21:05:11Z aeth: char<, char<=, etc. give you basically everything you need... except for one thing 2020-04-13T21:05:33Z phoe: elderK: even better, don't read the files yourself; let babel/flexi-streams do that for you 2020-04-13T21:05:34Z aeth: I had to write my own char-dec and char-inc that goes to char-code and then back to code-char 2020-04-13T21:05:53Z aeth: that is, if I want the largest char char< but not char<= 2020-04-13T21:05:54Z Kundry_W_ quit (Remote host closed the connection) 2020-04-13T21:05:56Z aeth: (or the other way around) 2020-04-13T21:06:27Z elderK: phoe: What would babel / flexistreams do for me here? Eithey way, I still want to pump my lexer state machine. 2020-04-13T21:07:37Z aeth: The other thing where the integer representation makes more sense is, I don't think there's an "infinity" char that's char> all other chars 2020-04-13T21:07:55Z aeth: some things may want something like that, too 2020-04-13T21:08:18Z ahungry quit (Ping timeout: 256 seconds) 2020-04-13T21:08:52Z aeth: (you can just (1+ char-code-limit) if working with char-codes) 2020-04-13T21:09:17Z emys quit (Ping timeout: 246 seconds) 2020-04-13T21:09:34Z aeth: (then you have the advantage of an error if you try to use the "char infinity" outside of the reasonable context to use it, too) 2020-04-13T21:10:15Z aeth: technically, I think it might just be char-code-limit instead of (1+ char-code-limit), but unfortunately that's just a "might" 2020-04-13T21:10:37Z aeth: In SBCL (code-char (1- char-code-limit)) seems to be the largest valid 2020-04-13T21:13:47Z emys joined #lisp 2020-04-13T21:14:59Z aeth: hmm... in fact, char-code-limit isn't even required to be a fixnum so it might be most-positive-bignum. It just needs to be *an* upper bound. 2020-04-13T21:15:23Z phoe: elderK: portably taking care of character encoding for you. 2020-04-13T21:16:07Z elderK: phoe: It's a tool for myself so I can safely assume ASCII for now. 2020-04-13T21:16:31Z phoe: oooh, not even UTF-8? 2020-04-13T21:16:36Z phoe: well then 2020-04-13T21:17:15Z aeth: elderK: In that case, I'd just assume that code-char/char-code is valid Unicode 2020-04-13T21:18:53Z aeth: Implementations that break this assumption can be dealt with via #+foo later 2020-04-13T21:20:48Z theseb quit (Quit: Leaving) 2020-04-13T21:22:25Z emys quit (Ping timeout: 264 seconds) 2020-04-13T21:29:21Z elderK: Is there a way to clear a vector? Or reset a stringstream? 2020-04-13T21:30:02Z emys joined #lisp 2020-04-13T21:30:52Z Kundry_Wag joined #lisp 2020-04-13T21:31:00Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-04-13T21:31:21Z jasom: elderK: what do you mean by "clear" a vector? 2020-04-13T21:31:33Z jasom: elderK: for vectors with fill-pointers, you can set the fill-pointer to 0 2020-04-13T21:31:49Z Kundry_Wag joined #lisp 2020-04-13T21:31:53Z iAmDecim joined #lisp 2020-04-13T21:33:05Z jasom: and get-output-stream-string will reset a an string-output-stream (but per spec is not compatible with with-output-to-string) 2020-04-13T21:33:53Z pjb: jasom: setting the fill-pointer doesn't change the elments. it doesn't "clear" anything. 2020-04-13T21:34:17Z jasom: pjb: it makes it logically empty, which could be considered clearing 2020-04-13T21:34:35Z pjb: elderK: perhaps you want: (fill vector nil) (let ((v (vector 1 2 3))) (fill v nil) v) #| --> #(nil nil nil) |# 2020-04-13T21:35:32Z pjb: jasom: despite the name "fill-pointer", it doesn't mean that the remaining elements are less in the vector. You can count on them, and use the fill-pointer just as a cursor in the vector. 2020-04-13T21:36:14Z pjb: jasom: it's not logically empty. It's just a vector with a cursor at the start, so that if you push new elements, they will overwrite the old elements. 2020-04-13T21:36:21Z jasom: pjb: LENGTH will return 0; that sounds empty to me 2020-04-13T21:36:24Z elderK: pjb: Logically "cleared" is fine. I just want to reuse a buffer is all, and be able to translate the buffer into a string later :) 2020-04-13T21:36:40Z pjb: jasom: (array-dimension v 0) always return the same… 2020-04-13T21:36:53Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-13T21:37:02Z pjb: (array-dimension (make-array 10 :fill-pointer 0) 0) #| --> 10 |# 2020-04-13T21:37:14Z emys quit (Ping timeout: 240 seconds) 2020-04-13T21:37:27Z jasom: (alexandria:emptyp (make-array 10 :fill-pointer 0)) 2020-04-13T21:37:34Z jasom: (alexandria:emptyp (make-array 10 :fill-pointer 0)) ; => T 2020-04-13T21:37:45Z pjb: elderK: for a vector of characters, basically it wouldn't make a difference to fill it with #\null, so indeed, setting the fill-pointer will be enough. 2020-04-13T21:38:13Z pjb: elderK: but for a vector of non-number and non-character, filling it with nil would allow the objects to be garbage collected if no other references exist. 2020-04-13T21:38:22Z pjb: which would be a better clearing of the vector… 2020-04-13T21:38:27Z grobe0ba quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-04-13T21:38:40Z grobe0ba joined #lisp 2020-04-13T21:40:16Z Lord_of_Life_ joined #lisp 2020-04-13T21:40:52Z Grauwolf joined #lisp 2020-04-13T21:40:52Z Grauwolf quit (Changing host) 2020-04-13T21:40:52Z Grauwolf joined #lisp 2020-04-13T21:41:25Z cosimone quit (Remote host closed the connection) 2020-04-13T21:41:37Z wsinatra quit (Quit: WeeChat 2.8) 2020-04-13T21:42:13Z gravicappa quit (Ping timeout: 264 seconds) 2020-04-13T21:42:14Z cosimone joined #lisp 2020-04-13T21:42:55Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-04-13T21:43:03Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-13T21:43:15Z elderK: pjb: Thank you, pjb 2020-04-13T21:46:37Z modula2 joined #lisp 2020-04-13T21:46:47Z defaultxr quit (Ping timeout: 250 seconds) 2020-04-13T21:46:49Z modula2 is now known as defaultxr 2020-04-13T21:49:46Z defaultxr quit (Client Quit) 2020-04-13T21:51:58Z defaultxr joined #lisp 2020-04-13T21:53:14Z Kundry_Wag quit 2020-04-13T21:55:06Z phoe: woah 2020-04-13T21:55:22Z phoe: the optional arguments to CERROR are used *both* for the format control and for the datum? 2020-04-13T21:55:43Z iAmDecim joined #lisp 2020-04-13T21:56:15Z pjb: nope. cerror continue-format-control datum &rest arguments 2020-04-13T21:56:35Z Bike: you can use ~*... actually tne notes even say so, huh 2020-04-13T21:56:43Z pjb: If datum is a condition, arguments can be supplied, but are used only in conjunction with the continue-format-control. 2020-04-13T21:56:43Z phoe: (cerror "Frobnicate ~A ~A ~A ~A." 'simple-error :format-control "foo ~A" :format-arguments '(42)) 2020-04-13T21:56:54Z phoe: this causes a condition with report "foo 42" to be signaled 2020-04-13T21:57:11Z pjb: :-) 2020-04-13T21:57:12Z phoe: with a CONTINUE restart available, signaling "Frobnicate FORMAT-CONTROL foo ~A FORMAT-ARGUMENTS (42)." 2020-04-13T21:57:25Z phoe: this is the coolest thing I have learned today! crazy! 2020-04-13T22:00:03Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-13T22:02:55Z pjb: phoe: yes, I see. indeed, arguments is used to both initialize the condition, and to format the continue-format-control string, when datum is not itself a condition. 2020-04-13T22:03:16Z joast quit (Ping timeout: 256 seconds) 2020-04-13T22:03:31Z pjb: It is assumed that indeed, the arguments to the conditions are reused for the continue restart message. 2020-04-13T22:06:53Z phoe: And that is a very nice hack 2020-04-13T22:09:06Z defaultxr quit (Ping timeout: 256 seconds) 2020-04-13T22:09:25Z modula2 joined #lisp 2020-04-13T22:09:27Z modula2 is now known as defaultxr 2020-04-13T22:13:05Z frgo quit (Remote host closed the connection) 2020-04-13T22:13:41Z frgo joined #lisp 2020-04-13T22:18:27Z hhdave joined #lisp 2020-04-13T22:22:20Z efm quit (Remote host closed the connection) 2020-04-13T22:24:42Z efm joined #lisp 2020-04-13T22:30:22Z efm_ joined #lisp 2020-04-13T22:31:02Z efm quit (Ping timeout: 256 seconds) 2020-04-13T22:32:14Z X-Scale` joined #lisp 2020-04-13T22:32:46Z _jrjsmrtn joined #lisp 2020-04-13T22:33:34Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-04-13T22:34:42Z X-Scale quit (Ping timeout: 265 seconds) 2020-04-13T22:34:43Z X-Scale` is now known as X-Scale 2020-04-13T22:37:54Z asarch joined #lisp 2020-04-13T22:46:29Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-13T22:47:38Z smasta joined #lisp 2020-04-13T22:50:34Z random-nick quit (Ping timeout: 240 seconds) 2020-04-13T22:53:05Z elderK quit (Quit: WeeChat 2.8) 2020-04-13T22:56:59Z efm_ quit (Quit: Konversation terminated!) 2020-04-13T23:00:55Z dddddd joined #lisp 2020-04-13T23:06:20Z orivej quit (Ping timeout: 256 seconds) 2020-04-13T23:07:03Z orivej joined #lisp 2020-04-13T23:19:21Z ebrasca quit (Read error: Connection reset by peer) 2020-04-13T23:19:50Z smasta quit (Ping timeout: 246 seconds) 2020-04-13T23:20:25Z choegusung joined #lisp 2020-04-13T23:20:39Z joast joined #lisp 2020-04-13T23:21:00Z smasta joined #lisp 2020-04-13T23:21:05Z iAmDecim joined #lisp 2020-04-13T23:22:14Z ebrasca joined #lisp 2020-04-13T23:26:00Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-13T23:26:18Z lxbarbosa joined #lisp 2020-04-13T23:28:50Z orivej quit (Ping timeout: 265 seconds) 2020-04-13T23:34:17Z no-defun-allowed: Have named registers disappeared from cl-ppcre? 2020-04-13T23:35:30Z efm joined #lisp 2020-04-13T23:37:38Z no-defun-allowed: Hm, maybe not. The GitHub repository for cl-ppcre has named register support, but the Quicklisp version does not. 2020-04-13T23:39:59Z efm_ joined #lisp 2020-04-13T23:40:03Z efm quit (Ping timeout: 260 seconds) 2020-04-13T23:46:50Z ayuce joined #lisp 2020-04-13T23:47:16Z Oladon joined #lisp 2020-04-13T23:47:39Z emys joined #lisp 2020-04-13T23:49:13Z choegusung quit (Quit: leaving) 2020-04-13T23:51:33Z ayuce quit (Remote host closed the connection) 2020-04-13T23:52:39Z ayuce joined #lisp 2020-04-13T23:53:02Z azimut__ quit (Remote host closed the connection) 2020-04-13T23:53:14Z jasom quit (Quit: WeeChat 2.5) 2020-04-13T23:53:16Z azimut__ joined #lisp 2020-04-13T23:54:40Z karlosz quit (Quit: karlosz) 2020-04-13T23:58:17Z ayuce quit (Remote host closed the connection) 2020-04-13T23:59:54Z gabot quit (Ping timeout: 240 seconds) 2020-04-14T00:00:15Z KDr2 joined #lisp 2020-04-14T00:01:59Z KDr24 quit (Ping timeout: 250 seconds) 2020-04-14T00:02:54Z iAmDecim joined #lisp 2020-04-14T00:04:50Z SGASAU joined #lisp 2020-04-14T00:05:25Z efm_ quit (Quit: Konversation terminated!) 2020-04-14T00:06:24Z gabot joined #lisp 2020-04-14T00:08:03Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-14T00:08:11Z MightyJoe joined #lisp 2020-04-14T00:09:34Z cyraxjoe quit (Ping timeout: 256 seconds) 2020-04-14T00:11:24Z jasom joined #lisp 2020-04-14T00:13:05Z lxbarbos` joined #lisp 2020-04-14T00:13:19Z karlosz joined #lisp 2020-04-14T00:13:25Z emys quit (Ping timeout: 264 seconds) 2020-04-14T00:15:41Z karlosz quit (Client Quit) 2020-04-14T00:15:44Z adam4567 joined #lisp 2020-04-14T00:15:57Z karlosz joined #lisp 2020-04-14T00:16:05Z lxbarbos` quit (Remote host closed the connection) 2020-04-14T00:17:08Z karlosz quit (Read error: Connection reset by peer) 2020-04-14T00:17:14Z lxbarbosa quit (Ping timeout: 246 seconds) 2020-04-14T00:17:18Z gioyik quit (Ping timeout: 258 seconds) 2020-04-14T00:17:28Z karlosz joined #lisp 2020-04-14T00:17:30Z Bourne quit (Ping timeout: 256 seconds) 2020-04-14T00:18:37Z cyraxjoe joined #lisp 2020-04-14T00:18:56Z emys joined #lisp 2020-04-14T00:20:37Z MightyJoe quit (Ping timeout: 264 seconds) 2020-04-14T00:23:37Z ljavorsk quit (Ping timeout: 264 seconds) 2020-04-14T00:23:58Z emys quit (Ping timeout: 256 seconds) 2020-04-14T00:27:19Z libertyprime joined #lisp 2020-04-14T00:28:05Z emys joined #lisp 2020-04-14T00:32:49Z Xach: no-defun-allowed: which github repository? 2020-04-14T00:33:12Z no-defun-allowed: https://github.com/edicl/cl-ppcre 2020-04-14T00:33:23Z Xach: no-defun-allowed: that is the one i use in quicklisp 2020-04-14T00:33:41Z no-defun-allowed: Indeed it is. I don't know how my laptop got a different cl-ppcre then. 2020-04-14T00:35:38Z no-defun-allowed: Aha, the practical-common-lisp code has an old cl-ppcre in it. 2020-04-14T00:36:14Z ahungry joined #lisp 2020-04-14T00:36:50Z Xach: noooo! 2020-04-14T00:37:00Z emys quit (Ping timeout: 256 seconds) 2020-04-14T00:41:08Z emys joined #lisp 2020-04-14T00:44:43Z ayuce joined #lisp 2020-04-14T00:57:06Z X-Scale` joined #lisp 2020-04-14T00:58:56Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-14T00:58:57Z X-Scale` is now known as X-Scale 2020-04-14T01:01:08Z MightyJoe joined #lisp 2020-04-14T01:02:55Z cyraxjoe quit (Ping timeout: 258 seconds) 2020-04-14T01:05:12Z bitmapper quit (Ping timeout: 265 seconds) 2020-04-14T01:05:54Z jonatack quit (Ping timeout: 256 seconds) 2020-04-14T01:06:21Z cyraxjoe joined #lisp 2020-04-14T01:06:25Z jonatack joined #lisp 2020-04-14T01:07:51Z MightyJoe quit (Ping timeout: 250 seconds) 2020-04-14T01:08:11Z gioyik joined #lisp 2020-04-14T01:14:28Z ayuce quit (Remote host closed the connection) 2020-04-14T01:15:21Z emys quit (Ping timeout: 265 seconds) 2020-04-14T01:17:30Z Oladon quit (Quit: Leaving.) 2020-04-14T01:17:49Z iAmDecim joined #lisp 2020-04-14T01:18:46Z ebrasca quit (Remote host closed the connection) 2020-04-14T01:18:59Z gko joined #lisp 2020-04-14T01:25:10Z Oladon joined #lisp 2020-04-14T01:26:45Z ayuce joined #lisp 2020-04-14T01:35:57Z jamzattack joined #lisp 2020-04-14T01:37:07Z cosimone quit (Remote host closed the connection) 2020-04-14T01:37:38Z cosimone joined #lisp 2020-04-14T01:40:21Z cosimone quit (Excess Flood) 2020-04-14T01:40:59Z cosimone joined #lisp 2020-04-14T01:45:26Z cosimone_ joined #lisp 2020-04-14T01:45:35Z eschatologist quit (Remote host closed the connection) 2020-04-14T01:45:50Z Jeanne-Kamikaze joined #lisp 2020-04-14T01:46:02Z cosimone quit (Ping timeout: 260 seconds) 2020-04-14T01:46:17Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-14T01:47:32Z Oladon1 joined #lisp 2020-04-14T01:49:00Z Oladon quit (Ping timeout: 265 seconds) 2020-04-14T01:51:10Z Oladon joined #lisp 2020-04-14T01:53:30Z Oladon1 quit (Ping timeout: 256 seconds) 2020-04-14T01:56:34Z LdBeth: Ok I think I can spend some time add progressive decoding to cl-jpeg 2020-04-14T01:57:24Z smasta quit (Ping timeout: 265 seconds) 2020-04-14T02:01:05Z smasta joined #lisp 2020-04-14T02:02:54Z cosimone_ quit (Quit: Quit.) 2020-04-14T02:05:52Z smasta quit (Ping timeout: 260 seconds) 2020-04-14T02:08:12Z eschatologist joined #lisp 2020-04-14T02:08:43Z emys joined #lisp 2020-04-14T02:11:25Z Inline quit (Ping timeout: 265 seconds) 2020-04-14T02:13:21Z emys quit (Ping timeout: 265 seconds) 2020-04-14T02:13:25Z lavaflow quit (Ping timeout: 264 seconds) 2020-04-14T02:19:08Z asarch quit (Quit: Leaving) 2020-04-14T02:20:12Z monok quit (Remote host closed the connection) 2020-04-14T02:20:42Z iAmDecim joined #lisp 2020-04-14T02:21:22Z lavaflow joined #lisp 2020-04-14T02:23:21Z MightyJoe joined #lisp 2020-04-14T02:24:54Z cyraxjoe quit (Ping timeout: 240 seconds) 2020-04-14T02:40:56Z smasta joined #lisp 2020-04-14T02:42:23Z Oladon quit (Quit: Leaving.) 2020-04-14T02:46:42Z smasta quit (Ping timeout: 260 seconds) 2020-04-14T02:49:02Z GuerrillaMonkey joined #lisp 2020-04-14T02:51:42Z Jeanne-Kamikaze quit (Ping timeout: 256 seconds) 2020-04-14T03:00:50Z terpri quit (Remote host closed the connection) 2020-04-14T03:01:23Z terpri joined #lisp 2020-04-14T03:12:37Z smasta joined #lisp 2020-04-14T03:17:38Z smasta quit (Ping timeout: 265 seconds) 2020-04-14T03:22:50Z beach: Good morning everyone! 2020-04-14T03:23:54Z JetJej quit (Read error: Connection reset by peer) 2020-04-14T03:28:22Z LdBeth: morning beach 2020-04-14T03:30:26Z torbo joined #lisp 2020-04-14T03:30:28Z torbo quit (Remote host closed the connection) 2020-04-14T03:33:01Z shifty quit (Ping timeout: 250 seconds) 2020-04-14T03:33:43Z lemoinem quit (Killed (kornbluth.freenode.net (Nickname regained by services))) 2020-04-14T03:33:45Z lemoinem joined #lisp 2020-04-14T03:38:10Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-14T03:47:39Z torbo joined #lisp 2020-04-14T03:48:49Z GuerrillaMonkey quit (Quit: Leaving) 2020-04-14T03:48:58Z Jeanne-Kamikaze joined #lisp 2020-04-14T03:56:19Z vlatkoB joined #lisp 2020-04-14T04:06:23Z Bike quit (Quit: Lost terminal) 2020-04-14T04:06:50Z smasta joined #lisp 2020-04-14T04:08:24Z renzhi quit (Ping timeout: 260 seconds) 2020-04-14T04:11:46Z smasta quit (Ping timeout: 265 seconds) 2020-04-14T04:12:40Z GuerrillaMonkey joined #lisp 2020-04-14T04:14:34Z Oladon joined #lisp 2020-04-14T04:14:54Z Jeanne-Kamikaze quit (Ping timeout: 240 seconds) 2020-04-14T04:15:52Z Jeanne-Kamikaze joined #lisp 2020-04-14T04:17:54Z GuerrillaMonkey quit (Ping timeout: 240 seconds) 2020-04-14T04:21:08Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-04-14T04:21:48Z Oladon quit (Ping timeout: 256 seconds) 2020-04-14T04:23:58Z Oladon joined #lisp 2020-04-14T04:43:05Z ccl-logbot joined #lisp 2020-04-14T04:43:05Z 2020-04-14T04:43:05Z names: ccl-logbot pjb drainful kiboneu alandipert nefercheprure scal_ Oladon isoraqathedh_ peterhil CrunchyChewie_ zigpaw5 samebchase-2 penguwin vlatkoB torbo lemoinem terpri MightyJoe lavaflow eschatologist jamzattack ayuce gko gioyik jonatack X-Scale ahungry libertyprime karlosz adam4567 jasom gabot SGASAU KDr2 azimut__ joast dddddd _jrjsmrtn hhdave frgo defaultxr Grauwolf Lord_of_Life grobe0ba ukari xuxuru wheelsucker dtman34 jello_pudding gxt aindilis mrcom 2020-04-14T04:43:05Z names: cods ArthurStrong hiroaki KindOne scymtym dale Zotan leo_song himmAllRight whiteline dmiles vhost- Xach reggie__ axion v88m astronavt Jesin loli gabiruh Josh_2 srji Necktwi stepnem zaquest zymurgy quazimodo xlei zmt01 Jachy pilne vsync Kevslinger heredoc aeth grumble madage dilated_dinosaur cantstanya voidlily luis sz0 kilimanjaro jbgg creat vidak` abbe DGASAU` eagleflo APic specbot amnesic[m] LdBeth katco no-defun-allowed mhitchman[m] phadthai drmeister 2020-04-14T04:43:05Z names: beach jfrancis Yardanico Krystof niceplace xantoz swflint benjamin-l hdasch shinohai ski mason guna shymega Colleen nckx cylb drot _whitelogger flazh arbv eMBee q-u-a-n22 thonkpod Tordek vert2 Posterdati v0|d dvdmuckle CrazyEddy ark chipolux cracauer t3hyoshi fengshaun sh_zam datajerk kopiyka jsatk parisienne_ z0d jackdaniel manualcrank nitrix ravndal notzmv troydm larme froggey vaporatorius gingerale kim\ jackhill Oddity greaser|q stux|RC-only yang gigetoo 2020-04-14T04:43:05Z names: rumbler31 Kaisyu7 karstensrage cybercafe pent lonjil asedeno hydan mgsk Kemwer_ madand_ epony Lord_Nightmare clintm[m] cmatei wooden mathrick sjl SlashLife snits ft ecraven CommanderViral twelvemonkeys mjsir911 conjunctive ozzloy travv0 johs seisatsu remexre emacsomancer eta AdmiralBumbleBee copec ioa akkad Mandus Davd[m] davsebam1e mgr_ Nikotiini hjudt felideon acolarh Gnuxie[m] liambrown unl0ckd infra_red[m] tephra hiredman bmansurov theBlackDragon 2020-04-14T04:43:05Z names: sbryant_ Grue` tessier trn borodust adlai mgsk_ flip214 fouric simplegauss femi loke C-Keen aap chip2n rixard edgar-rft Demosthenex funnel narendraj9 nullman lowryder spal lieven rumpelszn _death boeg splittist entel lispyone_ thijso pok add^_ kingcons Ziemas MichaelRaskin markasoftware jxy xristos tumdum beaky cpape easye minion rotty nchambers payphone kmeow d4ryus Shinmera esotericalgo winny idxu fiddlerwoaroof brass [df] mood Kabriel ober ramus zerous 2020-04-14T04:43:05Z names: emma matijja bkst chewbranca banjiewen Balooga tfb p_l hvxgr glamas b0nn devrtz cg505 dxtr stux|RC cross ``Erik koenig HiRE MetaYan gko` jcowan ssake l1x lukego rvirding jlpeters billstclair mjl dlowe jfb4 cyberlard thecoffemaker HDurer null_ptr ult lbtjp Blkt Odin- cdegroot chrpape knobo phoe jcob jurov Ekho @fe[nl]ix shenghi otwieracz cwaydt justinmcp_ |3b| kini guaqua moon-child trufas jdz Snow-Man samebchase michalisko mrSpec dyelar saturn2 2020-04-14T04:43:05Z names: interruptinuse r3x5 tomaw jgkamat Firedancer_ cpt_nemo Patzy sveit ck_ zagura azrazalea Inoperable shrysr bhyde nydel mbrumlow Fade sgithens stylewarning tazjin jhei XachX gjnoonan jerme_ bytesighs fowlduck physpi avicenna Kaisyu CEnnis91 mpontillo rme gendl selwyn justache malm antoszka White_Flame bacterio wigust- kbtr_ ineiros Ankhers SumoSud0- drewc trittweiler spacedbat 2020-04-14T04:44:47Z cyraxjoe joined #lisp 2020-04-14T04:44:58Z libertyprime quit (Read error: Connection reset by peer) 2020-04-14T04:46:39Z MightyJoe quit (Ping timeout: 260 seconds) 2020-04-14T04:46:40Z alandipert quit (Quit: The Lounge - https://thelounge.chat) 2020-04-14T04:47:17Z sukaeto joined #lisp 2020-04-14T04:47:35Z nightfly joined #lisp 2020-04-14T04:48:06Z narimiran joined #lisp 2020-04-14T04:48:34Z alandipert joined #lisp 2020-04-14T04:50:15Z libertyprime joined #lisp 2020-04-14T05:00:42Z torbo quit (Remote host closed the connection) 2020-04-14T05:00:59Z smasta joined #lisp 2020-04-14T05:04:31Z isoraqathedh_ left #lisp 2020-04-14T05:05:54Z smasta quit (Ping timeout: 265 seconds) 2020-04-14T05:09:10Z ahungry quit (Remote host closed the connection) 2020-04-14T05:09:18Z Lycurgus joined #lisp 2020-04-14T05:12:00Z Oladon quit (Ping timeout: 265 seconds) 2020-04-14T05:13:23Z shka_ joined #lisp 2020-04-14T05:15:24Z Oladon joined #lisp 2020-04-14T05:15:38Z sauvin joined #lisp 2020-04-14T05:15:49Z keep_learning_M joined #lisp 2020-04-14T05:17:26Z keep_learning joined #lisp 2020-04-14T05:18:00Z keep_learning_M quit (Client Quit) 2020-04-14T05:18:00Z keep_learning quit (Remote host closed the connection) 2020-04-14T05:18:08Z gravicappa joined #lisp 2020-04-14T05:18:22Z keep_learning joined #lisp 2020-04-14T05:23:10Z Oladon quit (Quit: Leaving.) 2020-04-14T05:44:21Z ebrasca joined #lisp 2020-04-14T05:49:56Z Lycurgus quit (Quit: Exeunt) 2020-04-14T05:50:08Z gioyik quit (Ping timeout: 256 seconds) 2020-04-14T05:50:55Z ober quit (Remote host closed the connection) 2020-04-14T05:55:07Z smasta joined #lisp 2020-04-14T05:55:14Z gioyik joined #lisp 2020-04-14T05:59:53Z smasta quit (Ping timeout: 246 seconds) 2020-04-14T06:04:06Z orivej joined #lisp 2020-04-14T06:08:30Z phoe: morning 2020-04-14T06:08:39Z alandipert: hi phoe o/ 2020-04-14T06:11:14Z ebrasca: morning phoe! 2020-04-14T06:18:45Z theruran joined #lisp 2020-04-14T06:25:20Z phoe: hey ebrasca alandipert 2020-04-14T06:38:56Z random-nick joined #lisp 2020-04-14T06:39:06Z xuxuru quit (Quit: xuxuru) 2020-04-14T06:49:16Z smasta joined #lisp 2020-04-14T06:49:41Z shifty joined #lisp 2020-04-14T06:54:02Z smasta quit (Ping timeout: 260 seconds) 2020-04-14T06:59:57Z nefercheprure is now known as TMA 2020-04-14T07:01:17Z Cymew joined #lisp 2020-04-14T07:07:23Z ukari quit (Remote host closed the connection) 2020-04-14T07:09:42Z dddddd quit (Ping timeout: 256 seconds) 2020-04-14T07:10:36Z Cymew quit (Ping timeout: 256 seconds) 2020-04-14T07:11:57Z ggole joined #lisp 2020-04-14T07:22:27Z jprajzne joined #lisp 2020-04-14T07:27:19Z moon-child quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-04-14T07:32:39Z jonatack quit (Ping timeout: 250 seconds) 2020-04-14T07:34:24Z moon-child joined #lisp 2020-04-14T07:34:47Z jonatack joined #lisp 2020-04-14T07:37:26Z ukari joined #lisp 2020-04-14T07:40:35Z dale quit (Quit: My computer has gone to sleep) 2020-04-14T07:43:25Z smasta joined #lisp 2020-04-14T07:48:17Z smasta quit (Ping timeout: 260 seconds) 2020-04-14T07:54:57Z chipolux quit (Quit: chipolux) 2020-04-14T07:56:08Z chipolux joined #lisp 2020-04-14T07:57:08Z pve joined #lisp 2020-04-14T08:06:26Z cods quit (Changing host) 2020-04-14T08:06:26Z cods joined #lisp 2020-04-14T08:07:12Z Cymew joined #lisp 2020-04-14T08:17:18Z Bourne joined #lisp 2020-04-14T08:24:39Z gioyik quit (Quit: WeeChat 2.8) 2020-04-14T08:28:25Z redeemed joined #lisp 2020-04-14T08:30:39Z ebrasca quit (Ping timeout: 265 seconds) 2020-04-14T08:34:16Z z147 joined #lisp 2020-04-14T08:37:32Z smasta joined #lisp 2020-04-14T08:39:11Z infra_red[m] quit (Quit: killed) 2020-04-14T08:39:11Z Gnuxie[m] quit (Quit: killed) 2020-04-14T08:39:15Z Davd[m] quit (Quit: killed) 2020-04-14T08:39:22Z liambrown quit (Quit: killed) 2020-04-14T08:39:23Z clintm[m] quit (Quit: killed) 2020-04-14T08:39:26Z Jachy quit (Quit: killed) 2020-04-14T08:39:33Z no-defun-allowed quit (Quit: killed) 2020-04-14T08:39:33Z amnesic[m] quit (Quit: killed) 2020-04-14T08:39:33Z LdBeth quit (Quit: killed) 2020-04-14T08:39:36Z mhitchman[m] quit (Quit: killed) 2020-04-14T08:39:36Z katco quit (Quit: killed) 2020-04-14T08:39:38Z unl0ckd quit (Quit: killed) 2020-04-14T08:41:37Z nckx quit (Ping timeout: 264 seconds) 2020-04-14T08:41:37Z dvdmuckle quit (Ping timeout: 264 seconds) 2020-04-14T08:42:10Z nckx joined #lisp 2020-04-14T08:42:32Z smasta quit (Ping timeout: 260 seconds) 2020-04-14T08:44:19Z dvdmuckle joined #lisp 2020-04-14T08:44:41Z oldtopman joined #lisp 2020-04-14T08:58:50Z theBlackDragon quit (Remote host closed the connection) 2020-04-14T08:59:06Z ljavorsk joined #lisp 2020-04-14T09:01:17Z arbv quit (Ping timeout: 265 seconds) 2020-04-14T09:03:46Z theBlackDragon joined #lisp 2020-04-14T09:09:07Z ebrasca joined #lisp 2020-04-14T09:11:30Z jamzattack quit (Remote host closed the connection) 2020-04-14T09:12:30Z defaultxr quit (Ping timeout: 256 seconds) 2020-04-14T09:13:10Z defaultxr joined #lisp 2020-04-14T09:15:27Z karlosz quit (Quit: karlosz) 2020-04-14T09:20:31Z arbv joined #lisp 2020-04-14T09:27:39Z theruran quit (Quit: Connection closed for inactivity) 2020-04-14T09:31:44Z smasta joined #lisp 2020-04-14T09:36:06Z smasta quit (Ping timeout: 240 seconds) 2020-04-14T09:37:25Z Jachy joined #lisp 2020-04-14T09:37:25Z amnesic[m] joined #lisp 2020-04-14T09:37:25Z LdBeth joined #lisp 2020-04-14T09:37:25Z infra_red[m] joined #lisp 2020-04-14T09:37:25Z katco joined #lisp 2020-04-14T09:37:25Z liambrown joined #lisp 2020-04-14T09:37:26Z unl0ckd joined #lisp 2020-04-14T09:37:26Z Gnuxie[m] joined #lisp 2020-04-14T09:37:26Z Davd[m] joined #lisp 2020-04-14T09:37:26Z no-defun-allowed joined #lisp 2020-04-14T09:37:26Z mhitchman[m] joined #lisp 2020-04-14T09:37:32Z clintm[m] joined #lisp 2020-04-14T09:37:33Z v88m quit (Read error: Connection reset by peer) 2020-04-14T09:40:58Z Lord_of_Life_ joined #lisp 2020-04-14T09:42:20Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-04-14T09:42:21Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-14T09:49:42Z peterhil quit (Read error: Connection reset by peer) 2020-04-14T09:50:19Z peterhil joined #lisp 2020-04-14T09:52:23Z v88m joined #lisp 2020-04-14T10:13:08Z frgo quit (Remote host closed the connection) 2020-04-14T10:13:45Z frgo joined #lisp 2020-04-14T10:18:38Z peterhil quit (Quit: Must not waste too much time here...) 2020-04-14T10:19:35Z libertyprime quit (Ping timeout: 265 seconds) 2020-04-14T10:19:35Z jonatack quit (Read error: Connection reset by peer) 2020-04-14T10:19:50Z jonatack_ joined #lisp 2020-04-14T10:21:28Z phoe: TIL: I may not #'WARN non-WARNING conditions 2020-04-14T10:25:54Z smasta joined #lisp 2020-04-14T10:30:39Z smasta quit (Ping timeout: 252 seconds) 2020-04-14T10:37:32Z epony quit (Ping timeout: 258 seconds) 2020-04-14T10:50:19Z scymtym quit (Remote host closed the connection) 2020-04-14T10:54:55Z adam4567 quit (Remote host closed the connection) 2020-04-14T11:13:19Z catalinbostan joined #lisp 2020-04-14T11:14:37Z v88m quit (Ping timeout: 264 seconds) 2020-04-14T11:15:26Z jmercouris joined #lisp 2020-04-14T11:26:15Z jmercouris: let's say I have a symbol 'salmon, how can I check existence of class salmon? 2020-04-14T11:26:30Z jmercouris: find-clasS? 2020-04-14T11:26:58Z jmercouris: just want to know if there are any gotchas here 2020-04-14T11:27:52Z jmercouris: well, there are a few, I guess I have to specify a package... in other words, it won't search the whole image 2020-04-14T11:28:09Z jmercouris: I could recurse through all packages... 2020-04-14T11:28:12Z Lycurgus joined #lisp 2020-04-14T11:28:49Z jackdaniel: foo:salmon and bar:salmon are most likely two different classes 2020-04-14T11:28:59Z jmercouris: yes 2020-04-14T11:29:05Z jmercouris: I am just interested if there exists a class salmon 2020-04-14T11:29:11Z jackdaniel: did you mean: how can I find a class with the same name as a symbol salmon 2020-04-14T11:29:14Z jackdaniel: ? 2020-04-14T11:29:19Z jmercouris: yes 2020-04-14T11:29:26Z jackdaniel: that's very different question 2020-04-14T11:29:42Z jmercouris: I don't care to find the class, I want to know should such a class exist anywhere in the image in any namespace 2020-04-14T11:29:52Z jackdaniel: namespace? 2020-04-14T11:29:55Z jmercouris: package 2020-04-14T11:30:03Z epony joined #lisp 2020-04-14T11:30:23Z phoe: jmercouris: use do-all-symbols 2020-04-14T11:31:06Z jmercouris: ah, yes, thank you 2020-04-14T11:31:18Z phoe: (do-all-symbols (symbol) (when (and (string= symbol :salmon) (find-class symbol nil)) (return symbol))) 2020-04-14T11:31:44Z phoe: that'll return the first found symbol 2020-04-14T11:31:50Z phoe: modify as appropriate if you want to collect them instead. 2020-04-14T11:31:51Z shifty quit (Ping timeout: 250 seconds) 2020-04-14T11:32:35Z epony quit (Remote host closed the connection) 2020-04-14T11:33:03Z jmercouris: 1 2020-04-14T11:33:04Z jmercouris: thanks 2020-04-14T11:33:59Z joshcom joined #lisp 2020-04-14T11:36:23Z libertyprime joined #lisp 2020-04-14T11:39:50Z joshcom quit (Ping timeout: 256 seconds) 2020-04-14T11:46:25Z emys joined #lisp 2020-04-14T11:48:19Z scymtym joined #lisp 2020-04-14T11:54:47Z emys quit (Ping timeout: 246 seconds) 2020-04-14T11:54:49Z jmercouris quit (Ping timeout: 264 seconds) 2020-04-14T11:55:17Z emys joined #lisp 2020-04-14T11:59:35Z emys quit (Ping timeout: 250 seconds) 2020-04-14T12:03:16Z _death: would be more efficient to find-symbol in each package, or use apropos-list 2020-04-14T12:03:26Z jonatack_ quit (Quit: jonatack_) 2020-04-14T12:03:47Z phoe: _death: also a good solution 2020-04-14T12:04:02Z emys joined #lisp 2020-04-14T12:04:24Z jonatack joined #lisp 2020-04-14T12:08:40Z emys quit (Ping timeout: 256 seconds) 2020-04-14T12:09:32Z libertyprime quit (Ping timeout: 258 seconds) 2020-04-14T12:10:31Z libertyprime joined #lisp 2020-04-14T12:17:49Z pilne quit (Read error: Connection reset by peer) 2020-04-14T12:18:32Z Cymew quit (Ping timeout: 256 seconds) 2020-04-14T12:19:27Z pilne joined #lisp 2020-04-14T12:21:26Z cosimone joined #lisp 2020-04-14T12:22:17Z Lycurgus quit (Quit: Exeunt) 2020-04-14T12:24:46Z dddddd joined #lisp 2020-04-14T12:26:11Z MetaYan: phoe's "do-all-symbols" solution is very fast compared to using apropos-list, even when collecting all the found classes. At least on SBCL. 2020-04-14T12:31:39Z bitmapper joined #lisp 2020-04-14T12:31:58Z jmercouris joined #lisp 2020-04-14T12:32:08Z jmercouris: tutorial for closer-mop? I'm trying to find classes which inherit from a specific class 2020-04-14T12:36:37Z phoe: jmercouris: (ql:quickload :moptilities) (mopu:subclasses 'standard-object) 2020-04-14T12:40:22Z jmercouris: once again, thank you! 2020-04-14T12:40:27Z jmercouris: no tutorial though anywhere? 2020-04-14T12:40:36Z jmercouris: or documentation? only in source? 2020-04-14T12:42:25Z phoe: AMOP is the MOP tutorial 2020-04-14T12:42:29Z phoe: read it, it's an amazing book 2020-04-14T12:42:41Z jmercouris: ah, that one 2020-04-14T12:42:54Z jmercouris: I could only find physical copies 2020-04-14T12:42:58Z jmercouris: is it available anywhere digitally? 2020-04-14T12:43:11Z hjudt: has anyone trie to use parinfer/paredit together with ya-snippets and can give hints how to set them up so they don't conflict? 2020-04-14T12:44:38Z _death: MetaYan: you're right.. here do-all-symbols test takes around 1.7ms, apropos-list test takes around 62.5ms and find-symbol test around 0.033ms.. I guess nobody cared about making apropos-list efficient 2020-04-14T12:44:50Z hjudt: (in case this is the wrong place to ask, just tell me if i should go to #emacs with my question, but i thought some lispers might use these modes) 2020-04-14T12:46:15Z pilne quit (Read error: Connection reset by peer) 2020-04-14T12:46:22Z xkapastel joined #lisp 2020-04-14T12:47:38Z _death: MetaYan: on sbcl it uses search, pushnew, sort for each package, delete-duplicates, mapcan, sort for package names.. 2020-04-14T12:48:15Z jcowan: The definition of short-float looks outright bizarre. 2020-04-14T12:48:33Z jmercouris quit (Ping timeout: 250 seconds) 2020-04-14T12:48:40Z Bike joined #lisp 2020-04-14T12:48:58Z jcowan: As for 13.1.4.3.4, it reflects ignorance about the Real World, not about Unicode; it is simply not true that every character with inherent case is part of a casing pair 2020-04-14T12:49:59Z phoe: jcowan: yep 2020-04-14T12:50:20Z Bike: is there one of those "things programmers erroneously believe about scripts" to go with the ones on time and names 2020-04-14T12:50:20Z Colleen: Bike: drmeister said 8 hours, 43 minutes ago: lets sort out the backtrace stuff in the AM 2020-04-14T12:50:37Z jcowan: I thought at first that short-float was meant to fit into a PDP-10 halfword, but PDP-10 floats are sign-magnitude like IEEE, so it would require 19 bits. Weird, weird, weird 2020-04-14T12:50:40Z pilne joined #lisp 2020-04-14T12:51:17Z Bike: yeah eighteen bits is a weird minimum 2020-04-14T12:51:22Z Bike: i guess it's only a recommendation, though 2020-04-14T12:57:32Z libertyprime quit (Read error: Connection reset by peer) 2020-04-14T12:59:19Z jcowan: I note that on 32-bit LispWorks, short-float gets 19-bit precision, but that's all I know about it. 2020-04-14T13:01:03Z jcowan: LW internals docs seems to be lacking 2020-04-14T13:04:00Z mercourisj joined #lisp 2020-04-14T13:05:27Z heisig joined #lisp 2020-04-14T13:13:18Z mason left #lisp 2020-04-14T13:14:20Z iAmDecim joined #lisp 2020-04-14T13:15:50Z guna quit (Quit: ZNC 1.7.3 - https://znc.in) 2020-04-14T13:17:06Z p_l: jcowan: PDP-10 floating point was full-word anyway, iirc 2020-04-14T13:17:42Z jcowan: yes, but the CL group must have had something in mind when they set those limits 2020-04-14T13:19:21Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-14T13:24:26Z 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) 2020-04-14T13:25:48Z troydm joined #lisp 2020-04-14T13:30:56Z wsinatra joined #lisp 2020-04-14T13:36:38Z shangul joined #lisp 2020-04-14T13:37:34Z mercourisj quit (Ping timeout: 265 seconds) 2020-04-14T13:45:00Z smasta joined #lisp 2020-04-14T13:48:13Z jmercouris joined #lisp 2020-04-14T13:49:34Z smasta quit (Ping timeout: 240 seconds) 2020-04-14T13:50:11Z lispyone_ quit (Read error: Connection reset by peer) 2020-04-14T13:50:26Z lispyone_ joined #lisp 2020-04-14T13:50:27Z entel quit (Ping timeout: 240 seconds) 2020-04-14T13:50:27Z splittist quit (Read error: Connection reset by peer) 2020-04-14T13:50:38Z splittist joined #lisp 2020-04-14T13:51:37Z entel joined #lisp 2020-04-14T13:59:01Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-14T14:05:22Z asarch joined #lisp 2020-04-14T14:06:53Z iAmDecim joined #lisp 2020-04-14T14:19:15Z EvW joined #lisp 2020-04-14T14:21:22Z mangul joined #lisp 2020-04-14T14:23:46Z shangul quit (Ping timeout: 256 seconds) 2020-04-14T14:25:11Z jmercouris quit (Ping timeout: 250 seconds) 2020-04-14T14:30:01Z shifty joined #lisp 2020-04-14T14:31:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-14T14:36:00Z lisper29 joined #lisp 2020-04-14T14:39:24Z ukari quit (Remote host closed the connection) 2020-04-14T14:39:40Z dale_ joined #lisp 2020-04-14T14:39:58Z dale_ is now known as dale 2020-04-14T14:41:54Z shifty quit (Ping timeout: 240 seconds) 2020-04-14T14:42:23Z shifty joined #lisp 2020-04-14T14:43:20Z ukari joined #lisp 2020-04-14T14:47:00Z Necktwi quit (Read error: Connection reset by peer) 2020-04-14T14:49:44Z efm joined #lisp 2020-04-14T14:53:24Z EvW quit (Read error: Connection reset by peer) 2020-04-14T14:55:29Z Necktwi joined #lisp 2020-04-14T14:56:32Z EvW1 joined #lisp 2020-04-14T14:58:47Z iAmDecim joined #lisp 2020-04-14T15:03:34Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-14T15:04:43Z EvW1 quit (Ping timeout: 258 seconds) 2020-04-14T15:13:57Z tiwEllien joined #lisp 2020-04-14T15:16:44Z pilne quit (Read error: Connection reset by peer) 2020-04-14T15:22:03Z pilne joined #lisp 2020-04-14T15:25:06Z rippa joined #lisp 2020-04-14T15:29:02Z pilne quit (Read error: Connection reset by peer) 2020-04-14T15:33:07Z pilne joined #lisp 2020-04-14T15:34:11Z nika joined #lisp 2020-04-14T15:34:28Z catalinbostan quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-14T15:35:12Z pilne quit (Read error: Connection reset by peer) 2020-04-14T15:37:30Z jprajzne quit (Quit: Leaving.) 2020-04-14T15:37:31Z mangul is now known as shangul 2020-04-14T15:39:08Z pilne joined #lisp 2020-04-14T15:41:34Z phoe: fun stuff: http://www.nhplace.com/kent/CL/Revision-18.lisp compiles on modern CL with only minor minor issues 2020-04-14T15:41:54Z phoe: I'll ask Kent if I can polish this code a little, downcase all of it, and put it on Quicklisp as a loadable module. 2020-04-14T15:48:35Z heisig: phoe: Yes, that's an interesting read. Thanks for sharing! 2020-04-14T15:49:11Z efm quit (Ping timeout: 258 seconds) 2020-04-14T15:58:27Z jmercouris joined #lisp 2020-04-14T15:58:41Z CrunchyChewie_ is now known as CrunchyChewie 2020-04-14T15:59:03Z jmercouris: best way to edit or add value in plist? I have '(:salmon "chinook"), I want to add :potato if non-existent or set it's value to 20 2020-04-14T15:59:07Z jmercouris: something in Alexandria? 2020-04-14T15:59:19Z phoe: jmercouris: setf getf 2020-04-14T15:59:27Z jmercouris: giving me errors right now 2020-04-14T15:59:31Z jmercouris: (getf (list :NAME SOCKET-THREAD :INITARGS NIL :INITFORM 10) :INITFORM 20) 2020-04-14T15:59:33Z phoe: what sorta errors 2020-04-14T15:59:34Z jmercouris: how come? 2020-04-14T15:59:43Z jmercouris: ignore that it is unquoted 2020-04-14T15:59:45Z jmercouris: that is not the error 2020-04-14T15:59:52Z pilne quit (Read error: Connection reset by peer) 2020-04-14T16:00:08Z jmercouris: give me a second, I'll post 2020-04-14T16:00:08Z phoe: (getf (list :NAME 'SOCKET-THREAD :INITARGS NIL :INITFORM 10) :INITFORM 20) ;=> 10 2020-04-14T16:00:12Z phoe: can't see the error yet 2020-04-14T16:00:14Z jmercouris: yes, that is so far correct 2020-04-14T16:00:32Z jmercouris: (setf (getf '(:NAME "salmon" :INITARGS NIL :INITFORM NIL) :INITFORM) 20) 2020-04-14T16:00:50Z phoe: you are setfing a literal 2020-04-14T16:01:05Z phoe: (let ((plist (list :NAME 'SOCKET-THREAD :INITARGS NIL :INITFORM 10))) (setf (getf plist :foo) :bar) plist) ;=> (:FOO :BAR :NAME SOCKET-THREAD :INITARGS NIL :INITFORM 10) 2020-04-14T16:01:09Z beach: jmercouris: You can find the "free" chapters of the AMOP here: http://metamodular.com/CLOS-MOP/table-of-contents.html 2020-04-14T16:01:22Z phoe: you need to set a place, and '(...) is *not* a place 2020-04-14T16:01:28Z TMA: setf generally needs a place to set -- for a place of the form (getf ...) the ... needs to be a place too 2020-04-14T16:01:37Z phoe: that's like (setf "foo" ...) 2020-04-14T16:01:47Z jmercouris: OK, you are right, that was silly 2020-04-14T16:01:57Z jmercouris: is there a way to not SETF and maybe just return an edited form of the list? 2020-04-14T16:02:01Z epony joined #lisp 2020-04-14T16:02:09Z jmercouris: I don't actually care to edit the list itself, I just want a modified version of it 2020-04-14T16:02:09Z phoe: list* 2020-04-14T16:02:17Z phoe: (list* :foo :bar plist) 2020-04-14T16:02:31Z jmercouris: I already have the list 2020-04-14T16:02:34Z jmercouris: can I (list list*)? 2020-04-14T16:02:36Z phoe: due to how plists work, if :FOO is later on the plist, it will be ignored because a new :FOO is earlier there 2020-04-14T16:02:39Z jmercouris: sorry (list* list) 2020-04-14T16:02:51Z phoe: (list* list) === list 2020-04-14T16:03:03Z phoe: what do you mean, you already have the list? 2020-04-14T16:03:07Z phoe: you mean the modified one? 2020-04-14T16:03:12Z jmercouris: the unmodified one 2020-04-14T16:03:21Z jmercouris: I have a list X I want to transform to Y 2020-04-14T16:03:24Z phoe: then just return (list* :foo :bar '(:NAME "salmon" :INITARGS NIL :INITFORM NIL)) 2020-04-14T16:03:26Z jmercouris: the list X is given to me by someone else 2020-04-14T16:03:30Z beach: jmercouris: So do what phoe suggested. 2020-04-14T16:03:32Z phoe: (list* :foo :bar X) 2020-04-14T16:03:43Z jmercouris: X is a plist 2020-04-14T16:03:44Z TMA: jmercouris: you want to use (list* key-form value-form plist-form) for suitable forms 2020-04-14T16:03:46Z phoe: jmercouris: yes 2020-04-14T16:03:59Z dra joined #lisp 2020-04-14T16:04:11Z jmercouris: I can be a bit dense, let me look again :-D 2020-04-14T16:04:21Z beach: clhs list* 2020-04-14T16:04:21Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_list_.htm 2020-04-14T16:05:00Z pilne joined #lisp 2020-04-14T16:05:57Z jmercouris: why not (list* X)? 2020-04-14T16:06:02Z jmercouris: is there something I'm not getting here? 2020-04-14T16:06:23Z jmercouris: (defparameter x '(:NAME SOCKET-THREAD)) 2020-04-14T16:06:32Z _death: phoe: I don't think that's how plists work.. that is how alists work however 2020-04-14T16:06:34Z jmercouris: (list* x) -> (:NAME SOCKET-THREAD) 2020-04-14T16:06:46Z beach: *sigh* 2020-04-14T16:06:48Z phoe: _death: they work that way 2020-04-14T16:06:58Z phoe: jmercouris: yes, there is something you are not getting here 2020-04-14T16:07:05Z phoe: give more than one argument to LIST* 2020-04-14T16:07:10Z phoe: try (list* :foo :bar x) 2020-04-14T16:07:29Z jmercouris: right, why would I want that 2020-04-14T16:07:30Z beach: jmercouris: phoe is assuming X is the unmodified plist, and that you want to add :foo :bar to it. 2020-04-14T16:07:43Z jmercouris: ah, I see now what you are trying to do 2020-04-14T16:07:46Z jmercouris: Ah, very clever 2020-04-14T16:07:47Z phoe: jmercouris: because you want a modified plist 2020-04-14T16:07:50Z phoe: not the original one 2020-04-14T16:07:55Z jmercouris: yes, you are making sense 2020-04-14T16:07:58Z _death: phoe: for example, remf only removes the first property 2020-04-14T16:07:59Z phoe: _death: (defstruct foo bar) (make-foo :bar 42 :bar :forty-two :bar "42") ;=> #S(FOO :BAR 42) 2020-04-14T16:08:00Z jmercouris: and you are relying that getf gets the first one 2020-04-14T16:08:03Z jmercouris: I get it 2020-04-14T16:09:39Z jmercouris: now I am not sure that will work though 2020-04-14T16:09:39Z phoe: jmercouris here wants a plist that is an initialization plist - or that is at least what I assume 2020-04-14T16:09:39Z jmercouris: the plist is a slot actually 2020-04-14T16:09:39Z phoe: what sort of a slot? 2020-04-14T16:09:39Z jmercouris: (mopu:slot-properties (find-class 'xyz) 'qrt) 2020-04-14T16:09:39Z beach: jmercouris: A slot is a place, so why did you reject using a place. 2020-04-14T16:09:39Z jmercouris: and I'm trying to change the initform 2020-04-14T16:09:40Z jmercouris: I am actually making a new defclass form using the OLD slot as a template 2020-04-14T16:09:40Z jmercouris: I'm not changing the old class, that is why 2020-04-14T16:09:41Z beach: jmercouris: So the plist is *not* in a slot. It is in an initform. 2020-04-14T16:09:56Z phoe: jmercouris: wait, you cannot (SETF MOPU:SLOT-PROPERTIES) 2020-04-14T16:10:00Z jmercouris: No you cannot 2020-04-14T16:10:04Z jmercouris: you are all correct 2020-04-14T16:10:06Z jmercouris: let me shed some light here 2020-04-14T16:10:11Z phoe: what are you actually trying to do then 2020-04-14T16:10:13Z jmercouris: http://dpaste.com/1W3PVQC 2020-04-14T16:10:16Z jmercouris: this will clarify all 2020-04-14T16:10:19Z iAmDecim joined #lisp 2020-04-14T16:10:46Z jmercouris: here is the point: http://dpaste.com/0E58JK3 2020-04-14T16:11:00Z jmercouris: I'm trying to make a simple macro for users to define their own configuration in Next 2020-04-14T16:11:21Z _death: phoe: another example, if get-properties is used, a property may be processed more than once in such a list.. traditionally, alists are expected to have this traditional acons-to-shadow behavior, while property lists are expected to be modified in place 2020-04-14T16:11:55Z phoe: _death: huh! that's inconsistent 2020-04-14T16:13:34Z phoe: jmercouris: so you want to gut out the details of an existing plist 2020-04-14T16:13:38Z _death: so if you want to have a "functional" plist, a pcons operator could look like (list* key value (sans plist key)) 2020-04-14T16:13:48Z phoe: alexandria:remove-from-plist is better for that 2020-04-14T16:14:02Z jmercouris: _death: are you telling me there is no guarantee that list* will work because it may collect all of the values? 2020-04-14T16:14:04Z phoe: it accepts multiple keys 2020-04-14T16:14:11Z phoe: jmercouris: what do you mean, "not work" 2020-04-14T16:14:17Z phoe: list* is just a consing operator 2020-04-14T16:14:22Z phoe: it creates conses 2020-04-14T16:14:22Z jmercouris: (list* :initiform 30 x) 2020-04-14T16:14:32Z jmercouris: yes, but getf may retrieve ALL the initform values 2020-04-14T16:14:39Z jmercouris: if I understand _death correctly 2020-04-14T16:14:40Z phoe: clhs getf 2020-04-14T16:14:40Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_getf.htm 2020-04-14T16:14:47Z jmercouris: what was he saying about shadowing then? 2020-04-14T16:14:52Z phoe: "If there are multiple properties[1] with that property indicator, getf uses the first such property." 2020-04-14T16:14:58Z jmercouris: OK, so then no problem 2020-04-14T16:15:02Z jmercouris: I can use list* 2020-04-14T16:15:20Z jmercouris: I don't know however how defclass is actually implemented 2020-04-14T16:15:28Z jmercouris: maybe it will complain if there are multiple initforms 2020-04-14T16:15:32Z phoe: watch out though. 2020-04-14T16:15:35Z phoe: (defclass foo () ((bar :initform 42 :initform :forty-two :initform "42"))) is an error. 2020-04-14T16:15:44Z jmercouris: right, so I will have to use the alexandria function you've linked 2020-04-14T16:16:12Z _death: remove-from-plist used to be named sans (after Naggum's), did it not? 2020-04-14T16:16:38Z phoe: _death: in alexandria? I have no idea 2020-04-14T16:16:41Z _death: alexandria still contains it, but it's no longer exported.. 2020-04-14T16:17:24Z phoe: hah, correct 2020-04-14T16:18:53Z phoe: https://gitlab.common-lisp.net/alexandria/alexandria/-/commit/57badd5e7305474242b2a89226f93cf8485e34b9 2020-04-14T16:19:02Z phoe: 13 years ago 2020-04-14T16:19:10Z jmercouris: yay I did it! 2020-04-14T16:19:11Z jmercouris: http://dpaste.com/2GPDAJW 2020-04-14T16:19:16Z phoe: <3 2020-04-14T16:19:29Z redeemed quit (Ping timeout: 265 seconds) 2020-04-14T16:20:33Z Bike: if you're just customizing a slot that's defined in a superclass you don't need to copy the rest of the slot definition plist. 2020-04-14T16:20:48Z jmercouris: Bike: how not? 2020-04-14T16:21:16Z jmercouris: the accessor will be overwritten etc 2020-04-14T16:21:22Z phoe: jmercouris: the earlier key-value pairs will be taken from the superclass 2020-04-14T16:21:26Z jmercouris: are you sure? 2020-04-14T16:21:30Z jmercouris: I'm pretty sure that is not true 2020-04-14T16:21:31Z Bike: quite sure. 2020-04-14T16:21:37Z Bike: let me find the clhs page. 2020-04-14T16:21:42Z jmercouris: I swear I had this exact problem from a user 2020-04-14T16:22:04Z Bike: but you can also try (defclass foo () ((bar :accessor bar :initform 1))) (defclass foo2 (foo) ((bar :initform 2))), and then (bar (make-instance 'foo2)) => 2 2020-04-14T16:22:09Z Bike: so the accessor works fine. 2020-04-14T16:22:24Z jmercouris: damn 2020-04-14T16:22:27Z jmercouris: all that work for nothing 2020-04-14T16:22:27Z Bike: clhs 7.5.3 2020-04-14T16:22:27Z specbot: Inheritance of Slots and Slot Options: http://www.lispworks.com/reference/HyperSpec/Body/07_ec.htm 2020-04-14T16:22:29Z phoe: (defclass foo () ((bar :initform 42))) (defclass baz (foo) ((bar :accessor bar))) (bar (make-instance 'baz)) ;=> 42 2020-04-14T16:22:30Z Bike: Explains all the rules 2020-04-14T16:22:38Z phoe: jmercouris: not for nothing, your code is now simpler 2020-04-14T16:22:51Z jmercouris: that's true, it is nice 2020-04-14T16:23:05Z phoe: note how one defclass defines the initform but the other defines the accessor 2020-04-14T16:23:20Z phoe: and in the end everything is like "oh yeah it's all coming together" 2020-04-14T16:24:22Z jmercouris: right 2020-04-14T16:24:31Z Bike: mop also lets you customize these inheritance rules, if you need to 2020-04-14T16:25:36Z gko quit (Ping timeout: 258 seconds) 2020-04-14T16:26:40Z jmercouris: simplified: http://dpaste.com/3R8W3DS 2020-04-14T16:26:42Z jmercouris: et voila! 2020-04-14T16:30:27Z _death: careful.. your macro refers to a special variable *renderer-class*.. this means it may not be idempotent.. 2020-04-14T16:33:39Z jmercouris quit (Ping timeout: 258 seconds) 2020-04-14T16:36:14Z Yardanico quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-14T16:36:46Z Yardanico joined #lisp 2020-04-14T16:37:03Z Grue`: Xach: is Planet Lisp auto-updated? I've been wondering why my last blog post never showed up on it 2020-04-14T16:42:29Z kopiyka quit (Remote host closed the connection) 2020-04-14T16:43:00Z kopiyka joined #lisp 2020-04-14T16:52:56Z ahungry joined #lisp 2020-04-14T17:01:23Z phoe: I'm at 72 pages of my book; everything that is not related to the debugger and/or the book afterwords or the condition system reference appendix is more or less complete 2020-04-14T17:02:39Z phoe: it's funny how all of it happened because I got annoyed at a blogpost two weeks ago 2020-04-14T17:05:48Z jcowan: You were writing it to scratch your own itch, which is one of the best reasons for writing. 2020-04-14T17:06:03Z karlosz joined #lisp 2020-04-14T17:06:37Z phoe: jcowan: yes 2020-04-14T17:07:00Z jcowan lost the URL 2020-04-14T17:08:08Z phoe: https://gist.github.com/phoe/5659f8e5d8ff85e99565de17e39e4449 2020-04-14T17:08:23Z jcowan: Ta 2020-04-14T17:12:33Z asarch quit (Quit: Leaving) 2020-04-14T17:13:09Z jcowan: I like your calling C a lingua franca; it suggests that it is not only widely known but rather crude and limited 2020-04-14T17:13:19Z ATuin joined #lisp 2020-04-14T17:13:21Z phoe: ~ 2020-04-14T17:13:29Z jcowan: though of course nowadays full languages like English, French, Spanish, and Swahili are lingua francas too 2020-04-14T17:14:16Z phoe: I could also call it the lowest common denominator, I guess it'll achieve the same thing 2020-04-14T17:14:48Z ebrasca: jcowan: Spanish is very good language. 2020-04-14T17:15:16Z jcowan: Of course. 2020-04-14T17:17:45Z emys joined #lisp 2020-04-14T17:18:48Z jcowan: The historic Lingua Franca used throughout the Mediterranean had a very simplified Romance grammar and varying amounts of Portuguese, Spanish, Occitan, French, Arabic, Berber, Greek, and Turkish 2020-04-14T17:19:07Z gareppa joined #lisp 2020-04-14T17:19:35Z gareppa quit (Remote host closed the connection) 2020-04-14T17:21:08Z p_l: Some of those are partially derived from said lingua franca, let's not put cart before horse 2020-04-14T17:22:06Z jcowan: Here's a sample: "Se ti sabir / Ti respondir; / Se non sabir, / Tazir, tazir. / Mi star Mufti: / Ti qui star ti? / Non intendir: / Tazir, tazir." That should be pretty clear to any hispanohablante except for "tazir" = "callar". 2020-04-14T17:23:50Z ATuin: also "start" sounds weird for hispanohablantes :D 2020-04-14T17:23:59Z ATuin: but besides those it's pretty close to actual spanish 2020-04-14T17:24:10Z jcowan: star = estar 2020-04-14T17:24:13Z ATuin: *start sorry 2020-04-14T17:24:27Z ATuin: jcowan: yeah but there it means more like "ser" 2020-04-14T17:24:35Z jcowan: Yes, LF makes no distinction 2020-04-14T17:24:59Z phoe: I love how #lisp turns into #linguistics sometimes 2020-04-14T17:25:36Z ATuin: anyway, i think all the romace languages are quite similar, at least when reading them 2020-04-14T17:25:46Z jcowan: anywhere with jcowan in it turns into #linguistics sometimes 2020-04-14T17:26:34Z emys quit (Ping timeout: 256 seconds) 2020-04-14T17:26:50Z dra quit (Quit: Leaving) 2020-04-14T17:27:44Z pilne quit (Read error: Connection reset by peer) 2020-04-14T17:28:51Z jcowan: https://en.wikipedia.org/wiki/Mediterranean_Lingua_Franca#Example_of_%22Sabir%22 gives both word for word equivalents and actual translations into IT ES CA GL PT OC LA 2020-04-14T17:31:30Z emys joined #lisp 2020-04-14T17:31:53Z pilne joined #lisp 2020-04-14T17:34:30Z dale quit (Quit: dale) 2020-04-14T17:34:35Z Grue`: I'd argue that Javascript is more of a lingua franca these days 2020-04-14T17:35:06Z phoe: while you're technically correct, you will never force me to put javascript code in my book 2020-04-14T17:35:16Z lieven: kind of funny that the actual Frankish is a West Germanic language 2020-04-14T17:36:26Z izh_ joined #lisp 2020-04-14T17:38:26Z beach: Can we please stick to the channel topic? 2020-04-14T17:38:56Z phoe: ^ 2020-04-14T17:39:34Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-14T17:39:39Z emys quit (Ping timeout: 252 seconds) 2020-04-14T17:40:52Z dale joined #lisp 2020-04-14T17:41:41Z jcowan throws (in the nicest possible way) beach at the channel topic, where he sticks with great force. 2020-04-14T17:42:35Z phoe: that's... sticky 2020-04-14T17:43:00Z phoe throws (in the nicest possible way) jcowan at #lispcafe, where the topic of linguistics should most likely go 2020-04-14T17:44:16Z emys joined #lisp 2020-04-14T17:47:57Z voidlily quit (Ping timeout: 260 seconds) 2020-04-14T17:52:23Z Inline joined #lisp 2020-04-14T18:00:20Z Xach: Grue`: it is auto-updated 2020-04-14T18:00:56Z Xach: Grue`: what name is it under? (sorry, can't always keep nick->name mapping in my memory) 2020-04-14T18:01:59Z narimiran_ joined #lisp 2020-04-14T18:02:19Z narimiran quit (Ping timeout: 260 seconds) 2020-04-14T18:03:17Z karlosz quit (Quit: karlosz) 2020-04-14T18:08:46Z Xach: Grue`: email me about it if you like - i am afk for a while. 2020-04-14T18:09:13Z orivej quit (Ping timeout: 264 seconds) 2020-04-14T18:11:01Z sauvin quit (Read error: Connection reset by peer) 2020-04-14T18:15:29Z iAmDecim joined #lisp 2020-04-14T18:15:58Z smasta joined #lisp 2020-04-14T18:16:17Z ebrasca quit (Remote host closed the connection) 2020-04-14T18:17:22Z ebrasca joined #lisp 2020-04-14T18:20:13Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-14T18:20:28Z smasta quit (Ping timeout: 256 seconds) 2020-04-14T18:23:14Z ggole quit (Quit: Leaving) 2020-04-14T18:23:50Z slyrus joined #lisp 2020-04-14T18:24:35Z orivej joined #lisp 2020-04-14T18:31:18Z xuxuru joined #lisp 2020-04-14T18:32:21Z voidlily joined #lisp 2020-04-14T18:45:58Z ayuce quit (Remote host closed the connection) 2020-04-14T18:46:58Z mangul joined #lisp 2020-04-14T18:49:48Z shangul quit (Ping timeout: 265 seconds) 2020-04-14T18:50:17Z nika quit 2020-04-14T18:50:28Z iAmDecim joined #lisp 2020-04-14T18:50:57Z ayuce joined #lisp 2020-04-14T18:53:57Z amerlyq joined #lisp 2020-04-14T18:55:14Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-14T18:56:36Z ayuce quit (Remote host closed the connection) 2020-04-14T18:56:55Z emys quit (Ping timeout: 260 seconds) 2020-04-14T19:03:12Z emys joined #lisp 2020-04-14T19:05:59Z phoe: Got a reply from kmp. I'm free to use his implementation. 2020-04-14T19:06:20Z phoe: Time to downcase all the symbols... 2020-04-14T19:07:44Z xuxuru quit (Quit: xuxuru) 2020-04-14T19:07:53Z heisig: Great! 2020-04-14T19:08:08Z phoe: I'll likely also want to integrate that system with the standard CL one. 2020-04-14T19:09:01Z phoe: Like, (+ 2 "2") will #'CL:ERROR a CL:TYPE-ERROR. I need to actually somehow turn it into V18:ERRORing a V18:TYPE-ERROR instead if I want the piggybacking condition system to feel somewhat natural. 2020-04-14T19:09:21Z phoe: But I'll hack that later. Let's ASDFify this codebase first... 2020-04-14T19:09:27Z shifty quit (Ping timeout: 250 seconds) 2020-04-14T19:09:56Z shifty joined #lisp 2020-04-14T19:14:38Z ATuin: regarding ASDF, is there any way not to include the current directory into the source-registry 2020-04-14T19:15:03Z ATuin: seems that it's including my $HOME and it takes lot of time to resolve systems 2020-04-14T19:15:26Z ukari quit (Remote host closed the connection) 2020-04-14T19:15:59Z Josh_2: hmm asdf does not include my $HOME 2020-04-14T19:16:09Z ATuin: mmm strange then 2020-04-14T19:16:16Z ukari joined #lisp 2020-04-14T19:16:43Z ATuin: ahh i forgot to say that the program is created using scbl:save-lisp-and-die 2020-04-14T19:16:46Z ATuin: can that be related 2020-04-14T19:16:50Z heisig quit (Quit: Leaving) 2020-04-14T19:17:01Z redeemed joined #lisp 2020-04-14T19:17:21Z ATuin: indeed when using sbcl from the cli i dont see my home in the source-registry 2020-04-14T19:17:40Z ATuin: but when i run that program i can see that the current directory is added 2020-04-14T19:19:55Z ayuce joined #lisp 2020-04-14T19:21:22Z ntqz joined #lisp 2020-04-14T19:22:38Z phoe: Is there a way to tell emacs that it should downcase the whole file, except for the strings? 2020-04-14T19:22:46Z phoe: And possibly for the comments. 2020-04-14T19:23:06Z phoe: I basically want the Lisp symbols to stop screaming at me. 2020-04-14T19:24:45Z Grue`: is it perhaps possible to pretty-print this code to downcase it? 2020-04-14T19:25:39Z Grue`: it will strip the comments though... 2020-04-14T19:25:52Z ntqz quit (Client Quit) 2020-04-14T19:26:17Z ntqz joined #lisp 2020-04-14T19:27:43Z ntqz quit (Client Quit) 2020-04-14T19:29:32Z gendl: Hi, does anyone know how to use the :function option for setting up asdf output translations? 2020-04-14T19:29:59Z ntqz joined #lisp 2020-04-14T19:30:14Z ntqz quit (Remote host closed the connection) 2020-04-14T19:30:31Z gendl: I'd like just part of the relative path of the input file to end up in the output file, and under a root directory of my choosing. 2020-04-14T19:31:00Z ntqz joined #lisp 2020-04-14T19:31:20Z gendl: I'm not sure 1. where the :function (lambda(...) ...) is supposed to go within the call to initialize-output-translations, and 2. what is the second argument supposed to be ("directory designator"). 2020-04-14T19:31:43Z gendl: basically I just want to give a function which takes the source directory (or file), and transforms it to my desired output directory. 2020-04-14T19:32:29Z gendl: this is what I'm trying: 2020-04-14T19:32:36Z jonatack quit (Ping timeout: 256 seconds) 2020-04-14T19:32:39Z gendl: https://www.irccloud.com/pastebin/geGYcgU9/ 2020-04-14T19:33:18Z gendl: I have no idea what to do with the `dir' argument, and this gives error of "Invalid output translation" 2020-04-14T19:33:58Z ljavorsk quit (Ping timeout: 265 seconds) 2020-04-14T19:34:35Z jonatack joined #lisp 2020-04-14T19:36:37Z vlatkoB quit (Remote host closed the connection) 2020-04-14T19:44:37Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-04-14T19:49:32Z theruran joined #lisp 2020-04-14T19:51:01Z Lord_Nightmare joined #lisp 2020-04-14T19:51:19Z ljavorsk joined #lisp 2020-04-14T19:51:50Z gendl: phoe: have you tried setting (readtable-case *readtable* :invert) to stop the screaming symbols? 2020-04-14T19:54:35Z pjb: phoe: downcase-lisp and downcase-lisp-region 2020-04-14T19:54:46Z pjb: phoe: in github.com/informatimago/emacs 2020-04-14T19:54:50Z Xach: Grue`: thanks for the email. i found and fixed the problem. 2020-04-14T19:55:42Z phoe: gendl: I don't want to print all of it; I'll lose comments and formatting. 2020-04-14T19:55:44Z phoe: pjb: let me try. 2020-04-14T19:56:05Z pjb: in pjb-sources.el 2020-04-14T19:56:18Z emys quit (Quit: Leaving) 2020-04-14T19:56:39Z phoe: ooookay, now, let me figure out how to load elisp code... 2020-04-14T19:56:42Z phoe dives into ielm 2020-04-14T19:57:15Z gendl: nobody with any guidance on output-translations? 😰 2020-04-14T19:57:21Z pjb: check github.com/informatimago/rc starting from emacs.el 2020-04-14T19:57:27Z phoe: gendl: I know nothing about these, sadly 2020-04-14T20:00:23Z tiwEllien quit (Ping timeout: 240 seconds) 2020-04-14T20:00:53Z phoe: pjb: it's hard for me to only get the part that I want. It seems that I'll need to literally clone all of your emacs config and use it to be able to utilize downcase-lisp. 2020-04-14T20:01:39Z Xach: that is the Ironclad story 2020-04-14T20:02:04Z eta: hehehe 2020-04-14T20:02:16Z phoe: pjb: could you downcase-lisp https://plaster.tymoon.eu/view/1746#1746 and send it back to me? 2020-04-14T20:02:22Z eta: hey, lemme just sha1 this real quick 2020-04-14T20:02:29Z eta: *10 minutes of compiling later* 2020-04-14T20:02:41Z phoe: Sorry to ask - I'm just completely puzzled by how to utilize that function from your config. 2020-04-14T20:03:10Z Xach: eta: not only that, but it's impossible to use *just* the sha1 code in another project - it's all deeply intertwined. 2020-04-14T20:03:31Z Xach wound up writing a smaller, slower version instead 2020-04-14T20:03:53Z eta: ouch 2020-04-14T20:04:04Z eta: I mean for my WhatsApp library I needed the rest of ironclad anyway 2020-04-14T20:04:29Z phoe: perhaps we could write ironclad-penne 2020-04-14T20:04:42Z phoe: as opposed to the current ironclad-spaghetti 2020-04-14T20:08:49Z Grue`: Xach: nice, although the twitter bot wouldn't tweet it now I guess 2020-04-14T20:12:56Z cosimone quit (Quit: Quit.) 2020-04-14T20:14:47Z gendl: In case anyone cares, I got the syntax working finally: 2020-04-14T20:14:54Z gendl: https://www.irccloud.com/pastebin/T3oM6Xeg/ 2020-04-14T20:15:33Z gendl: So, that's how you can specify a lambda function to explicitly translate a source pathname to the output fasl pathname. 2020-04-14T20:16:04Z gendl: this is now doing what I need. Thanks for letting me talk to myself here... :) 2020-04-14T20:16:36Z phoe: gendl: please turn that into a small blogpost 2020-04-14T20:16:47Z phoe: this is rare information and might be of use to someone in the future 2020-04-14T20:17:02Z sz0 quit (Ping timeout: 246 seconds) 2020-04-14T20:17:07Z ebrasca quit (Remote host closed the connection) 2020-04-14T20:17:11Z ljavorsk quit (Ping timeout: 260 seconds) 2020-04-14T20:17:25Z gendl: phoe: will do. I'll try to resurrect my old blogger. It will be my second blog post in about 9 years. 2020-04-14T20:18:22Z z147 quit (Quit: z147) 2020-04-14T20:18:29Z Grue`: a fellow rare-blogging lisper! 2020-04-14T20:18:36Z banjiewen quit (Ping timeout: 256 seconds) 2020-04-14T20:18:42Z sz0 joined #lisp 2020-04-14T20:19:10Z tfb quit (Ping timeout: 256 seconds) 2020-04-14T20:20:18Z sz0 quit (Max SendQ exceeded) 2020-04-14T20:20:38Z cosimone joined #lisp 2020-04-14T20:21:40Z tfb joined #lisp 2020-04-14T20:21:43Z sz0 joined #lisp 2020-04-14T20:22:12Z banjiewen joined #lisp 2020-04-14T20:22:53Z phoe: pjb: managed to do it myself. Thanks for the link. 2020-04-14T20:23:54Z Xach: Grue`: oh, it will, but that takes time too 2020-04-14T20:26:44Z phoe: Xach: want to add another blog to planet lisp? 2020-04-14T20:27:04Z phoe: https://nl.movim.eu/?blog/phoe%40movim.eu 2020-04-14T20:31:25Z Xach: phoe: hmm, looks too high traffic for planet lisp 2020-04-14T20:33:16Z phoe: Xach: high traffic? 2020-04-14T20:33:51Z phoe: I wonder if this is ironic since the last post was today and the previous post happened on April 2019 2020-04-14T20:34:22Z Xach: it is ironic 2020-04-14T20:34:33Z Xach: Welcome...to Planet Lisp (in jurassic park guy voice) 2020-04-14T20:34:43Z eta gasps 2020-04-14T20:34:47Z eta: phoe, another XMPP users 2020-04-14T20:34:51Z eta: user* 2020-04-14T20:34:58Z phoe: yayyyy 2020-04-14T20:35:03Z phoe: eta: yes 2020-04-14T20:35:11Z Xach: Grue`: you got tweetinated 2020-04-14T20:35:23Z eta: we need to form a lisp xmpp community 2020-04-14T20:35:36Z eta: because there'll totally be people who'll go on board with that, 100% yes 2020-04-14T20:36:12Z mason joined #lisp 2020-04-14T20:36:33Z phoe: eta: IRC is good enough for many 2020-04-14T20:36:40Z eta nods 2020-04-14T20:36:45Z eta: for sure 2020-04-14T20:36:53Z Xach: sometimes people reply to https://twitter.com/newlisprepos and it makes me sad, since that is a bot and does not read any replies. 2020-04-14T20:37:10Z phoe: Xach: fix the bot then to forward the replies to you! 2020-04-14T20:37:18Z Shinmera: doesn't help that twitter shut down tweet streams :/ 2020-04-14T20:38:38Z Xach: Shinmera: thanks for chirp, it has been handy 2020-04-14T20:38:44Z mason: So, this is probably old news here, but: https://www.didierverna.net/blog/index.php?post/2020/04/14/ELS-2020-happening-online%2C-and-for-free 2020-04-14T20:38:53Z Xach: i power 100% of my twitter bots with chirp 2020-04-14T20:38:54Z Shinmera: Xach: Glad to hear! 2020-04-14T20:43:45Z pve quit (Quit: leaving) 2020-04-14T20:44:26Z ATuin quit (Quit: WeeChat 2.7.1) 2020-04-14T20:50:34Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-14T20:51:22Z ahungry quit (Remote host closed the connection) 2020-04-14T20:53:36Z izh_ quit (Quit: Leaving) 2020-04-14T20:54:01Z narimiran_ quit (Ping timeout: 265 seconds) 2020-04-14T20:57:24Z mangul quit (Ping timeout: 265 seconds) 2020-04-14T20:58:45Z Bike: I forget, does CL/MOP/whatever define what order effectuve slots appear in? Specifically for their locations... I'm thinking no, but I'm not sure. 2020-04-14T20:59:09Z amerlyq quit (Quit: amerlyq) 2020-04-14T21:02:42Z LdBeth: good morning 2020-04-14T21:03:43Z Josh_2: Mornin 2020-04-14T21:03:46Z phoe: evening 2020-04-14T21:06:29Z karlosz joined #lisp 2020-04-14T21:11:22Z lavaflow quit (Read error: Connection reset by peer) 2020-04-14T21:11:38Z lavaflow joined #lisp 2020-04-14T21:11:57Z lavaflow quit (Client Quit) 2020-04-14T21:17:05Z mgr_ quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-04-14T21:17:14Z mgr_ joined #lisp 2020-04-14T21:18:30Z Lord_of_Life quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) 2020-04-14T21:18:52Z gxt quit (Remote host closed the connection) 2020-04-14T21:19:32Z gxt joined #lisp 2020-04-14T21:20:23Z Lord_of_Life joined #lisp 2020-04-14T21:21:05Z shifty quit (Ping timeout: 265 seconds) 2020-04-14T21:21:31Z karlosz quit (Quit: karlosz) 2020-04-14T21:21:53Z shifty joined #lisp 2020-04-14T21:23:11Z redeemed quit (Quit: q) 2020-04-14T21:32:00Z shka_ quit (Ping timeout: 256 seconds) 2020-04-14T21:32:10Z lavaflow joined #lisp 2020-04-14T21:38:35Z Kundry_Wag joined #lisp 2020-04-14T21:39:24Z iAmDecim joined #lisp 2020-04-14T21:41:43Z Lord_of_Life_ joined #lisp 2020-04-14T21:43:34Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-14T21:44:34Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-14T21:44:54Z karlosz joined #lisp 2020-04-14T21:46:20Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-14T21:53:19Z wsinatra quit (Quit: WeeChat 2.8) 2020-04-14T21:54:28Z Yardanico_ joined #lisp 2020-04-14T21:55:52Z Yardanico quit (Read error: Connection reset by peer) 2020-04-14T21:56:22Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-14T21:57:06Z orivej quit (Ping timeout: 256 seconds) 2020-04-14T22:06:00Z White_Flame quit (Quit: No Ping reply in 180 seconds.) 2020-04-14T22:07:18Z White_Flame joined #lisp 2020-04-14T22:12:05Z frgo quit (Remote host closed the connection) 2020-04-14T22:12:38Z frgo joined #lisp 2020-04-14T22:22:22Z random-nick quit (Ping timeout: 256 seconds) 2020-04-14T22:22:52Z Xach: phoe: lispm replied on twitter to a bot about your post 2020-04-14T22:25:35Z xkapastel joined #lisp 2020-04-14T22:29:14Z shifty quit (Ping timeout: 265 seconds) 2020-04-14T22:40:14Z ukari quit (Ping timeout: 240 seconds) 2020-04-14T22:41:09Z ukari joined #lisp 2020-04-14T22:46:41Z smasta joined #lisp 2020-04-14T22:51:39Z smasta quit (Ping timeout: 260 seconds) 2020-04-14T22:51:54Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-14T22:58:24Z paul0 joined #lisp 2020-04-14T22:58:50Z Yardanico_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-14T22:58:55Z smasta joined #lisp 2020-04-14T22:59:00Z cosimone quit (Quit: Quit.) 2020-04-14T22:59:23Z Yardanico joined #lisp 2020-04-14T23:04:00Z ayuce quit (Remote host closed the connection) 2020-04-14T23:08:09Z ayuce joined #lisp 2020-04-14T23:11:00Z paul0 quit (Quit: Leaving) 2020-04-14T23:14:57Z libertyprime joined #lisp 2020-04-14T23:20:40Z iAmDecim joined #lisp 2020-04-14T23:25:14Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-14T23:26:21Z Oladon joined #lisp 2020-04-14T23:27:13Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-14T23:27:51Z iAmDecim joined #lisp 2020-04-14T23:30:27Z rpg joined #lisp 2020-04-14T23:32:13Z keep_learning joined #lisp 2020-04-14T23:33:55Z torbo joined #lisp 2020-04-14T23:34:37Z ArthurStrong quit (Quit: leaving) 2020-04-14T23:37:25Z markasoftware: How can I set the value of a lexical variable, given the symbol for it? 2020-04-14T23:37:40Z markasoftware: i can't use setq or setf because they're macros and i only have the symbol 2020-04-14T23:38:13Z Xach: markasoftware: you can't. 2020-04-14T23:38:40Z Xach: If that's what you got, you need to use something other than a lexical variable. 2020-04-14T23:38:46Z markasoftware: ok 2020-04-14T23:38:55Z Xach: markasoftware: what situation prompts the question? 2020-04-14T23:39:22Z markasoftware: i have a whole bunch of arguments to my function that aren't quite in the form I want them to be in. 2020-04-14T23:39:37Z anticrisis joined #lisp 2020-04-14T23:39:39Z markasoftware: eg, they can either be a number, representing seconds, or something like (75 :min), which i want to convert to seconds 2020-04-14T23:40:19Z markasoftware: there are many of these arguments, so I thought I would (dolist) over the symbols for the arguments, setting each one to the number of seconds it represents 2020-04-14T23:40:31Z markasoftware: so that i can use the same variable names throughout my function as specified in the lambda-list 2020-04-14T23:40:39Z Xach: markasoftware: ah. if i were in that situation, i would use macrolet 2020-04-14T23:41:08Z Xach: and expand into code to make the change 2020-04-14T23:41:42Z markasoftware: interesting 2020-04-14T23:41:46Z markasoftware: that could work 2020-04-14T23:43:00Z markasoftware: yep. Thanks! 2020-04-14T23:54:38Z Yardanico quit (Read error: Connection reset by peer) 2020-04-14T23:57:04Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-14T23:58:18Z devrtz quit (Read error: Connection reset by peer) 2020-04-14T23:59:51Z Yardanico joined #lisp 2020-04-15T00:03:28Z srji quit (Ping timeout: 256 seconds) 2020-04-15T00:04:23Z Bourne quit (Read error: Connection reset by peer) 2020-04-15T00:04:55Z karen-chan joined #lisp 2020-04-15T00:04:59Z karen-chan left #lisp 2020-04-15T00:09:56Z devrtz joined #lisp 2020-04-15T00:18:46Z rpg joined #lisp 2020-04-15T00:25:12Z akoana joined #lisp 2020-04-15T00:31:25Z voidlily quit (Ping timeout: 252 seconds) 2020-04-15T00:32:17Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-15T00:34:23Z SGASAU quit (Remote host closed the connection) 2020-04-15T00:34:35Z Oladon quit (Quit: Leaving.) 2020-04-15T00:36:55Z Oladon joined #lisp 2020-04-15T00:36:55Z SGASAU joined #lisp 2020-04-15T00:37:34Z zaquest quit (Quit: Leaving) 2020-04-15T00:38:31Z ayuce quit (Remote host closed the connection) 2020-04-15T00:38:55Z ayuce joined #lisp 2020-04-15T00:39:41Z zaquest joined #lisp 2020-04-15T00:43:45Z voidlily joined #lisp 2020-04-15T00:46:59Z Kundry_Wag joined #lisp 2020-04-15T00:49:48Z shukryzablah joined #lisp 2020-04-15T00:50:28Z shukryzablah: Is there another way to see quicklisp download stats other than the sporadic posts in blog.quicklisp.org? 2020-04-15T00:51:23Z ayuce quit (Remote host closed the connection) 2020-04-15T00:51:47Z ayuce joined #lisp 2020-04-15T00:54:01Z Xach: shukryzablah: no 2020-04-15T00:54:16Z Xach: shukryzablah: what stats info interests you? 2020-04-15T00:58:12Z akoana quit (Ping timeout: 256 seconds) 2020-04-15T00:58:59Z shukryzablah: i wanted to make a quick plot of daily downloads or monthly downloads, for specific packages, through time 2020-04-15T00:59:00Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-15T00:59:14Z iAmDecim joined #lisp 2020-04-15T00:59:47Z akoana joined #lisp 2020-04-15T00:59:48Z [X-Scale] joined #lisp 2020-04-15T00:59:58Z [X-Scale] is now known as X-Scale 2020-04-15T01:03:39Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-04-15T01:03:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-15T01:04:14Z shukryzablah: Xach: just wanted to check if there was an easier way to get them 2020-04-15T01:05:13Z bitmapper quit (Ping timeout: 250 seconds) 2020-04-15T01:15:58Z ntqz quit (Remote host closed the connection) 2020-04-15T01:16:05Z ahungry joined #lisp 2020-04-15T01:27:03Z madage quit (Ping timeout: 240 seconds) 2020-04-15T01:27:49Z madage joined #lisp 2020-04-15T01:29:46Z Jeanne-Kamikaze joined #lisp 2020-04-15T01:30:25Z MightyJoe joined #lisp 2020-04-15T01:32:11Z cyraxjoe quit (Ping timeout: 260 seconds) 2020-04-15T01:34:22Z renzhi joined #lisp 2020-04-15T01:38:08Z cyraxjoe joined #lisp 2020-04-15T01:39:27Z Inline quit (Ping timeout: 272 seconds) 2020-04-15T01:39:34Z MightyJoe quit (Ping timeout: 240 seconds) 2020-04-15T01:44:25Z MightyJoe joined #lisp 2020-04-15T01:44:59Z cyraxjoe quit (Ping timeout: 265 seconds) 2020-04-15T01:47:14Z efm joined #lisp 2020-04-15T01:47:29Z iAmDecim joined #lisp 2020-04-15T01:54:56Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-15T01:58:40Z slyrus_ joined #lisp 2020-04-15T02:01:20Z slyrus quit (Ping timeout: 256 seconds) 2020-04-15T02:02:59Z Kundry_Wag joined #lisp 2020-04-15T02:03:02Z Kundry_Wag quit (Remote host closed the connection) 2020-04-15T02:03:29Z Kundry_Wag joined #lisp 2020-04-15T02:16:15Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-15T02:20:23Z mangul joined #lisp 2020-04-15T02:20:34Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-15T02:20:49Z gko joined #lisp 2020-04-15T02:25:28Z alandipert: are there alternatives to asdf? 2020-04-15T02:25:36Z [rg] joined #lisp 2020-04-15T02:25:58Z [rg]: are you guys familiar with car and cdr origins? 2020-04-15T02:25:59Z Bike: nothing from this millenium, i think... maybe allegro or whoever has something? 2020-04-15T02:26:04Z Bike: [rg]: the names? sure 2020-04-15T02:26:24Z [rg]: what about the assembly code behind it 2020-04-15T02:26:39Z Bike: you mean on a PDP or on a modern machine? 2020-04-15T02:27:00Z [rg]: I'm reading ken thompsons regular expression paper and it's been hard to parse, folks in #asm have been kind enough though 2020-04-15T02:27:13Z [rg]: it was on an ibm acutally 2020-04-15T02:27:25Z no-defun-allowed: CAR and CDR refer to "contents of the address part of register" and "contents of the decrement part of register", which are names that refer to parts of a word on the IBM 704. 2020-04-15T02:27:37Z Bike: oh, my mmistake 2020-04-15T02:27:45Z Bike: ancient machines from before the beginning of time, as far as i'm concerned 2020-04-15T02:27:58Z [rg]: lol yeah :P 2020-04-15T02:28:03Z no-defun-allowed: "Type A instructions have, in sequence, a 3-bit prefix (instruction code), a 15-bit decrement field, a 3-bit tag field, and a 15-bit address field." I would presume those names refer to those two fields. 2020-04-15T02:28:51Z [rg]: hm, I assumed this channel would be full of compiler enthusiasts, is that true? 2020-04-15T02:29:03Z no-defun-allowed: There are a few, yes. 2020-04-15T02:29:08Z [rg]: no-defun-allowed yes I'm reading that now as well 2020-04-15T02:29:52Z [rg]: have you seen this technique implemented on x86? 2020-04-15T02:30:28Z [rg]: I also don't get the index by decrement 2020-04-15T02:30:34Z no-defun-allowed: On older machines, a word could fit two pointers, whereas now we usually have one pointer per word, so the representation is a bit different. 2020-04-15T02:30:36Z Bike: by "this technique" what do you mean? CAR? This paper about regular expressions? I'm sorry, it's hard to follow your point. 2020-04-15T02:30:49Z [rg]: car and cdr 2020-04-15T02:31:18Z Bike: usually they're just regular memory loads. 2020-04-15T02:31:35Z Bike: a cons consists of two words, both tagged pointers. 2020-04-15T02:31:47Z no-defun-allowed: A CONS is usually represented as a pointer (with the low bits set to something that tells us we have a CONS) to two words in memory next to each other. 2020-04-15T02:32:14Z Bike: x86 doesn't have dedicated tag bits or anything, but you can just use regular bit instructions to get the same effects 2020-04-15T02:32:26Z [rg]: so it's not a real pointer? 2020-04-15T02:32:37Z no-defun-allowed: To take the CAR or CDR of this CONS, you would want to take off the bits, and load the value at the pointer plus the offset from that value to the field you want. 2020-04-15T02:32:40Z [rg]: "low bits tells us its CONS" 2020-04-15T02:32:51Z Bike: Yeah, it'll be a pointer + 1, or something. 2020-04-15T02:33:02Z Bike: since pointers are generally word aligned anyway, the low bits would be all zeroes normally 2020-04-15T02:33:10Z no-defun-allowed: It's not usable directly, no. But after some simple bit manipulation, you can get a "real" pointer. 2020-04-15T02:33:25Z [rg]: interesting 2020-04-15T02:34:38Z no-defun-allowed: On a x86 machine, you can perform that manipulation in the load, eg MOV RAX, [RBX - 1] for a CAR or MOV RAX, [RBX + 7] for a CDR 2020-04-15T02:35:06Z [rg]: ok ok 2020-04-15T02:35:24Z [rg]: so it's just that this architecture was perfect for cons car and cdr 2020-04-15T02:35:28Z alandipert: also it doesn't have to be a pointer, it can be an integer for example, with the appropriate tag 2020-04-15T02:35:36Z ahungry quit (Remote host closed the connection) 2020-04-15T02:35:38Z [rg]: that makes more sense 2020-04-15T02:35:59Z Bike: x86 is an adequate lisp machine, as they say 2020-04-15T02:36:37Z Oladon quit (Quit: Leaving.) 2020-04-15T02:37:23Z [rg]: damn holding two address in one register move though 2020-04-15T02:37:57Z [rg]: when people do lisp in fpga are they aware of this? 2020-04-15T02:38:06Z no-defun-allowed: "Do you intend to hire your own engineers and buy your own machines to make a 7nm lispm", as they probably don't say. 2020-04-15T02:38:21Z Oladon joined #lisp 2020-04-15T02:38:42Z [rg]: also another unrelated question, how do you handle the cache in lisp when you use linked lists? 2020-04-15T02:38:58Z no-defun-allowed: I think Lisp machines had CONS representations in two words. One needs to be a pointer away to the values of a CONS to allow for mutation, anyway. 2020-04-15T02:38:59Z Bike: switch to vectors 2020-04-15T02:39:16Z LdBeth: CDR coding 2020-04-15T02:39:21Z no-defun-allowed: If you're lucky, you have a good garbage collector that allocates CONSes next to each other. 2020-04-15T02:39:29Z pjb: alandipert: yes, there is poiu; it's even better than asdf, since it can compile in parallel! 2020-04-15T02:39:33Z Bike: CDR coding is "switch to vectors" with extra steps 2020-04-15T02:39:38Z no-defun-allowed: s/a good garbage collector/a good memory system/ 2020-04-15T02:39:43Z pjb: alandipert: but it's not maintained anymore. no battery included. And quicklisp doesn't use it. 2020-04-15T02:39:54Z [rg]: interesting 2020-04-15T02:39:56Z [rg]: cool 2020-04-15T02:40:19Z alandipert: pjb thanks, i'll check it out. i'm interested in other paradigms too, whether contemporary or historical, abandoned or in use 2020-04-15T02:40:44Z pjb: alandipert: the precursor was the defsystem macro. There was several versions. They can be found in archives. 2020-04-15T02:44:02Z alandipert: consulting my notes i forgot i came across https://github.com/ruricolist/overlord but have yet to try it. curious if anyone else has 2020-04-15T02:44:02Z [rg]: no-defun-allowed do you get this? ... 2020-04-15T02:44:07Z [rg]: "Indexing was a subtractive process on the 704, hence the value to be loaded into an index register was called a "decrement". 2020-04-15T02:44:48Z Bike: i guess it means for an array you'd carry around a pointer to the final element, and get the other elements by subtracting from the address? 2020-04-15T02:44:50Z [rg]: I also haven't tried lisp yet, so there's gonna be a why lisp from me as well 2020-04-15T02:45:15Z [rg]: Bike wow 2020-04-15T02:45:22Z [rg]: you know what, I think that's it 2020-04-15T02:45:24Z no-defun-allowed: Nope, I don't really know anything about how Lisp was implemented back then. 2020-04-15T02:45:34Z [rg]: might explain these weird complement instructions 2020-04-15T02:47:21Z Bike: "The contents of the index registers are subtracted from the base address, " says wikipedia, so yeah 2020-04-15T02:50:03Z rpg joined #lisp 2020-04-15T02:52:01Z pjb: Bike: exact. This avoided buffer overflows!!! 2020-04-15T02:52:24Z pjb: (of course, you could have buffer underflows, but this was less probable, since the size was preset in the decrement register. 2020-04-15T02:54:03Z [rg]: ah thats clever 2020-04-15T02:56:11Z [rg]: ok so, is lisp better suited for a vm? 2020-04-15T02:56:23Z cantstanya quit (Ping timeout: 240 seconds) 2020-04-15T02:58:06Z Bike: real machines are perfectly fine. 2020-04-15T02:58:07Z pjb: You can implement a vm in lisp, indeed. 2020-04-15T02:58:17Z pjb: [rg]: define "better". 2020-04-15T02:58:25Z Bike: as no-defun-allowed said, x86 has very extensive addressing modes, and tag bits do not present a problem. 2020-04-15T02:58:40Z [rg]: oh ok 2020-04-15T02:59:04Z [rg]: I just thought you get to make something similar or better for implementing cons cdr and car 2020-04-15T02:59:15Z [rg]: but yeah wow 2020-04-15T03:00:15Z [rg]: I guess if I ever finish this paper I'm gonna implement it in lisp 2020-04-15T03:00:21Z [rg]: and x86 probably 2020-04-15T03:00:23Z cantstanya joined #lisp 2020-04-15T03:02:27Z Bike: oh, are you doing the NFA thing? 2020-04-15T03:02:33Z Bike: i did that myself the other day, it's fun 2020-04-15T03:02:51Z libertyprime quit (Read error: No route to host) 2020-04-15T03:02:58Z [rg]: it sure seems so 2020-04-15T03:03:02Z [rg]: not there yet 2020-04-15T03:03:04Z Bike: not being able to do capture groups is annoying though 2020-04-15T03:03:16Z Bike: there's some work on doing it but it gets weird since the automaton isn't really finite any more 2020-04-15T03:03:57Z [rg]: I thought the point of this was not to do capture groups 2020-04-15T03:04:04Z [rg]: that requires backtracking 2020-04-15T03:04:30Z [rg]: this just seemed like a really awesome application of regular expressions 2020-04-15T03:05:13Z [rg]: I did see something about PEGS and capture groups though 2020-04-15T03:05:14Z rwcom joined #lisp 2020-04-15T03:06:49Z buffergn0me joined #lisp 2020-04-15T03:08:50Z libertyprime joined #lisp 2020-04-15T03:08:54Z dddddd quit (Ping timeout: 240 seconds) 2020-04-15T03:11:16Z Bike: well, the point of it is to go really fast, mainly 2020-04-15T03:12:21Z ahungry joined #lisp 2020-04-15T03:12:29Z Bike: the paper for doing capture groups was uh... "Tagged Deterministic Finite Automata with Lookahead", Trofimovich 2017 2020-04-15T03:12:34Z Bike: i don't understand it very well, though 2020-04-15T03:12:40Z beach: Good morning everyone! 2020-04-15T03:12:49Z [rg]: hello beach 2020-04-15T03:14:19Z [rg]: 32 pages ... no 2020-04-15T03:14:22Z [rg]: lol 2020-04-15T03:22:17Z Bourne joined #lisp 2020-04-15T03:29:34Z renzhi quit (Ping timeout: 256 seconds) 2020-04-15T03:30:49Z libertyprime quit (Read error: Connection reset by peer) 2020-04-15T03:31:16Z no-defun-allowed: 32 pages is nothing. 2020-04-15T03:31:56Z [rg] quit (Ping timeout: 240 seconds) 2020-04-15T03:36:11Z LdBeth: Have you heard about the constructing Tetris using game of life thing 2020-04-15T03:36:13Z Oladon1 joined #lisp 2020-04-15T03:38:13Z vhost- quit (Quit: WeeChat 2.6) 2020-04-15T03:38:38Z Oladon quit (Ping timeout: 256 seconds) 2020-04-15T03:39:00Z orivej joined #lisp 2020-04-15T03:40:38Z pjb: LdBeth: Life is turing complete… There's even Life in Life! 2020-04-15T03:40:55Z pjb: https://www.youtube.com/watch?v=xP5-iIeKXE8 2020-04-15T03:41:45Z pjb: https://www.youtube.com/watch?v=8unMqSp0bFY 2020-04-15T03:42:40Z LdBeth: Sure, but they made Tetris by first construct a programmable computer and use DMA so there’s no actual display 2020-04-15T03:43:17Z aeth: life is also turing complete 2020-04-15T03:43:46Z LdBeth: Thus not very elegant. 2020-04-15T03:43:52Z aeth: has anyone implemented Life in life? 2020-04-15T03:44:06Z beach: aeth: pjb just showed you that. 2020-04-15T03:44:24Z beach: aeth: And also said that it is Turing complete. 2020-04-15T03:44:30Z aeth: beach: It was a joke. pjb posted "Life in Life" as in "The Game of Life in the Game of Life" 2020-04-15T03:44:42Z aeth: So I said "Life in life" as in, "The Game of Life in biological life" 2020-04-15T03:44:50Z beach: Ah. 2020-04-15T03:44:54Z beach: Sorry. 2020-04-15T03:45:19Z White_Flame: you could implement it on xkcd's field of stones 2020-04-15T03:45:36Z pjb: We'd have to implement microbiology in microbiology. This could be interesting, to probe molecules (and viruses) before they can infect the "real" life. 2020-04-15T03:45:45Z White_Flame: https://xkcd.com/505/ 2020-04-15T03:45:45Z aeth: and hwen you say a word enough (e.g. "life") it no longer looks like a real word, which is always odd when it happens. 2020-04-15T03:45:52Z pjb: Our cells could have cell simulators in them to try new molecues. 2020-04-15T03:45:55Z pjb: +l 2020-04-15T03:48:47Z drmeister: Hello folks. Bike: Thanks for the heads up that Warning's break compile-file in ASDF. 2020-04-15T03:49:11Z drmeister: That makes it a lot easier to deal with when ASDF throws up a compile-file error. 2020-04-15T03:49:30Z Bike: well, it's that compile-file conceptually fails if any warnings are signaled, independent of asdf 2020-04-15T03:49:40Z Bike: since a warning probably means that at runtime there will be an error 2020-04-15T03:50:24Z Bike: like an unbound variable. 2020-04-15T03:50:39Z smasta quit (Ping timeout: 265 seconds) 2020-04-15T03:54:27Z jcowan: Why does warn require that its argument be a warning condition? 2020-04-15T03:54:39Z jcowan: as opposed to error or cerror, which have no such requirements 2020-04-15T03:56:38Z aeth: (warn "hello") works on ECL and SBCL. Is this non-portable behavior? 2020-04-15T03:57:13Z jcowan: I think that's okay because it's cast to a condition rather than being one. 2020-04-15T03:58:09Z Bike: yes, in that case "hello" is a designator for a simple-warning. 2020-04-15T03:59:08Z aeth: Okay, good, because I use WARN in a few places in macros iirc. 2020-04-15T03:59:12Z drmeister: Ugh - I'm using Microsoft Excel as an editor for a language. 2020-04-15T03:59:13Z drmeister: https://usercontent.irccloud-cdn.com/file/4RLhfj77/image.png 2020-04-15T03:59:20Z drmeister: Somebody kill me. 2020-04-15T03:59:42Z Bike: i can't think of any reason warn is stricter. 2020-04-15T04:00:09Z aeth: e.g. if I have a macro language and it removes duplicates as part of its processing, then I'll put that as a WARN since the second, duplicate one won't ever result in executable code... an error would be overkill there since it still works. Sort of like the "deleting unreachable code" note or style-warning or whatever it is (might vary based on implementations, anyway) 2020-04-15T04:00:31Z Bike: it would be nice to know that a muffle-warning restart has been established if you handle a warning, but i guess that's not even true since error can signal a warning and not establish the restart. 2020-04-15T04:01:39Z Bike: a warning is probably a bit strong for unreachable code. 2020-04-15T04:02:11Z Bike: since, again, compile-file signaling (or returning in the extra values) a warning means it failed, and the runtime behavior will have undefined consequences or fail 2020-04-15T04:07:56Z Bike quit (Quit: Lost terminal) 2020-04-15T04:13:34Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-15T04:15:46Z no-defun-allowed: drmeister: but why? 2020-04-15T04:16:23Z drmeister: So other people can work with it. 2020-04-15T04:16:39Z drmeister: I'm implementing it in Common Lisp. 2020-04-15T04:19:51Z libertyprime joined #lisp 2020-04-15T04:25:05Z vlatkoB joined #lisp 2020-04-15T04:33:02Z _whitelogger quit (Remote host closed the connection) 2020-04-15T04:35:16Z _whitelogger joined #lisp 2020-04-15T04:39:31Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-15T04:40:30Z libertyprime quit (Read error: Connection reset by peer) 2020-04-15T04:43:07Z Kundry_Wag joined #lisp 2020-04-15T04:43:51Z no-defun-allowed: So the spreadsheet is some kind of template? 2020-04-15T04:45:53Z libertyprime joined #lisp 2020-04-15T04:46:43Z drmeister: Yeah - it's describing the chemistry that my company will be doing. 2020-04-15T04:47:10Z Intensity joined #lisp 2020-04-15T04:47:13Z no-defun-allowed: I see. Good luck with that. 2020-04-15T04:47:49Z iAmDecim joined #lisp 2020-04-15T04:48:30Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-15T04:51:47Z Bourne quit (Read error: Connection reset by peer) 2020-04-15T04:52:11Z ayuce quit (Remote host closed the connection) 2020-04-15T04:53:00Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-15T04:58:58Z phlim joined #lisp 2020-04-15T05:00:00Z phlim quit (Remote host closed the connection) 2020-04-15T05:03:13Z scymtym quit (Ping timeout: 264 seconds) 2020-04-15T05:04:13Z shka_ joined #lisp 2020-04-15T05:06:13Z sauvin joined #lisp 2020-04-15T05:11:54Z troydm quit (Ping timeout: 240 seconds) 2020-04-15T05:15:25Z phlim joined #lisp 2020-04-15T05:17:03Z ark quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-04-15T05:17:22Z ark joined #lisp 2020-04-15T05:19:22Z Kundry_Wag joined #lisp 2020-04-15T05:20:05Z Oladon1 quit (Quit: Leaving.) 2020-04-15T05:24:12Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-15T05:24:39Z shukryzablah: Are there any alternatives to data-table? I need something like a dataframe. 2020-04-15T05:24:55Z beach: What are those? 2020-04-15T05:26:55Z alandipert: sounds like R data structures, a dataframe in R is a list of columns that can carry metadata 2020-04-15T05:27:46Z aeth: dataframe sounds like something in Python machine learning... 2020-04-15T05:27:56Z efm quit (Read error: Connection reset by peer) 2020-04-15T05:28:02Z aeth: e.g. this: https://pandas.pydata.org/pandas-docs/stable/reference/frame.html 2020-04-15T05:28:08Z beach: I see. Well, I don't think I will invest in learning R or Python in order to answer the question. 2020-04-15T05:28:22Z shukryzablah: it's a concept in julia, python, and R from what I know. 2020-04-15T05:28:33Z beach: Nor Julia. 2020-04-15T05:28:45Z no-defun-allowed: Is it a 2d array where both "indices" are strings or some other value? 2020-04-15T05:28:46Z alandipert: yeah, numpy and pandas incorporate various R ideas. the closest thing in CL i believe is a list of arrays but you'd have to look to some (library i'm unaware of) for the relational operators you probably want 2020-04-15T05:29:46Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-04-15T05:30:31Z aeth: it probably exists because everything probably exists 2020-04-15T05:30:40Z aeth: but it also sounds like a lot of work to implement, from what I've encountered in Python 2020-04-15T05:30:52Z efm joined #lisp 2020-04-15T05:32:17Z Oladon joined #lisp 2020-04-15T05:35:12Z drmeister: Is all of this necessary in a PRINT-OBJECT method? 2020-04-15T05:35:13Z drmeister: (defmethod print-object ((obj iglobal) stream) (print-unreadable-object (obj stream) (format stream "~a ~a" (class-of (class-name obj)) (name obj)))) 2020-04-15T05:35:41Z drmeister: The (print-unreadable-object ...). The (class-name (class-of obj)) 2020-04-15T05:35:43Z no-defun-allowed: I think you can give PRINT-UNREADABLE-OBJECT :TYPE T to print the class name for you. 2020-04-15T05:36:05Z drmeister: I pasted a typo 2020-04-15T05:36:16Z pjb: drmeister: print-unreadable-object returns nil, but print-object must return the object. 2020-04-15T05:36:59Z Necktwi quit (Ping timeout: 265 seconds) 2020-04-15T05:37:08Z pjb: drmeister: you can also have a printable readably form of your object (for example, using #. or some custom reader macro), so you may have a if *print-readably* an use print-unreadable-object only in the else branch. 2020-04-15T05:37:52Z pjb: You can use: (print-unreadable-object (obj stream :identity t :type t) …) so you don't have to print the class-of yourself. 2020-04-15T05:38:18Z phlim quit (Remote host closed the connection) 2020-04-15T05:38:38Z Bourne joined #lisp 2020-04-15T05:38:52Z shukryzablah: tbh i would like to create the equivalent of R's dplyr, the core is a well thought out data manipulation interface that under the hood could be acting on a database, a spark dataframe, or other sources of data. but in all of this it seems i need to at least be able to start within a data structure in lisp itself, which is why i wanted a data frame 2020-04-15T05:39:34Z Necktwi joined #lisp 2020-04-15T05:40:01Z pjb: (let ((obj "foo")) (with-output-to-string (out) (print-unreadable-object (obj out :identity t :type t) (prin1 obj out)))) #| --> "#<(simple-base-string 3) \"foo\" #x30200247EACD>" |# 2020-04-15T05:41:40Z drmeister: :identity t and :type t aren't mentioned in the CLHS 2020-04-15T05:41:45Z drmeister: CLHS print-object 2020-04-15T05:41:45Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_pr_obj.htm 2020-04-15T05:41:55Z drmeister: I guess they are sbcl extensions 2020-04-15T05:42:21Z ahungry quit (Remote host closed the connection) 2020-04-15T05:42:22Z no-defun-allowed: Those are arguments to print-unreadable-object. 2020-04-15T05:42:30Z no-defun-allowed: clhs print-unreadable-object 2020-04-15T05:42:31Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_pr_unr.htm 2020-04-15T05:42:46Z no-defun-allowed: "print-unreadable-object (object stream &key type identity) form* => nil" 2020-04-15T05:43:12Z drmeister: Argh - ok. Sorry. I've been coding for several days for many hours each day. I'm getting bleary eyed. 2020-04-15T05:43:16Z narimiran_ joined #lisp 2020-04-15T05:43:54Z alandipert: shukryzablah i think that effort is equivalent to writing an in-memory database, so you may consider finding one and extending and/or using it. starting with a Lisp dataframe and implementing your own language/query engine atop it is another way. are you familiar with apache arrow btw? 2020-04-15T05:46:32Z Oladon quit (Quit: Leaving.) 2020-04-15T05:49:57Z Oladon joined #lisp 2020-04-15T05:56:01Z gravicappa joined #lisp 2020-04-15T05:56:50Z JohnMS_WORK joined #lisp 2020-04-15T05:57:43Z gko quit (Ping timeout: 260 seconds) 2020-04-15T05:58:44Z shukryzablah: i've only read about it. i felt it would be easier to first work with a lisp data frame instead of some other tool (like arrow) underneath. i'll look into it more 2020-04-15T06:04:49Z ober joined #lisp 2020-04-15T06:07:06Z alandipert: shukryzablah though it depends on your needs, i agree a lisp dataframe is almost probably the easiest way to get going. seems like a fun project, enjoy and good luck! 2020-04-15T06:08:06Z akoana left #lisp 2020-04-15T06:08:38Z shukryzablah: alandipert: thx! 2020-04-15T06:12:57Z buffergn0me quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-15T06:15:59Z shifty joined #lisp 2020-04-15T06:17:23Z torbo quit (Remote host closed the connection) 2020-04-15T06:17:24Z pjb: drmeister: clhs print-unreadable-object ! 2020-04-15T06:17:37Z pjb: ;-) 2020-04-15T06:24:20Z ATuin joined #lisp 2020-04-15T06:25:02Z iAmDecim joined #lisp 2020-04-15T06:30:21Z Cymew joined #lisp 2020-04-15T06:32:37Z phoe: Xach: wait what where 2020-04-15T06:33:02Z phoe: < Xach> phoe: lispm replied on twitter to a bot about your post 2020-04-15T06:37:38Z Kundry_Wag joined #lisp 2020-04-15T06:39:00Z phoe: oooooh, yes. I see. 2020-04-15T06:39:51Z random-nick joined #lisp 2020-04-15T06:42:35Z mangul is now known as shangul 2020-04-15T06:43:18Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-15T06:47:12Z msk joined #lisp 2020-04-15T06:47:17Z phoe: Fixed! Thanks. 2020-04-15T06:47:37Z phoe: (It worked on the kmp condition code, for what it's worth.) 2020-04-15T06:49:34Z Oladon quit (Quit: Leaving.) 2020-04-15T06:51:53Z msk quit (Remote host closed the connection) 2020-04-15T06:54:06Z mathrick quit (Remote host closed the connection) 2020-04-15T06:54:17Z revtintin joined #lisp 2020-04-15T06:54:35Z mathrick joined #lisp 2020-04-15T06:56:05Z ggole joined #lisp 2020-04-15T06:59:03Z Lycurgus joined #lisp 2020-04-15T06:59:33Z jonatack quit (Remote host closed the connection) 2020-04-15T06:59:47Z msk joined #lisp 2020-04-15T07:00:08Z jonatack joined #lisp 2020-04-15T07:03:56Z revtintin quit (Ping timeout: 256 seconds) 2020-04-15T07:09:04Z ebrasca joined #lisp 2020-04-15T07:14:50Z phoe: Xach: somewhat fixed. If possible, please edit the planetlisp post with the new content 2020-04-15T07:16:59Z Kundry_Wag joined #lisp 2020-04-15T07:17:33Z pve joined #lisp 2020-04-15T07:18:23Z Guest66872 joined #lisp 2020-04-15T07:18:59Z Guest66872 quit (Remote host closed the connection) 2020-04-15T07:21:50Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-15T07:23:28Z revtintin joined #lisp 2020-04-15T07:24:02Z varjag joined #lisp 2020-04-15T07:29:16Z jonatack_ joined #lisp 2020-04-15T07:31:02Z phoe: Is there any TRIVIAL-DEBUGGER library that allows one to define behaviour when the debugger is entered while *DEBUGGER-HOOK* is NIL? 2020-04-15T07:32:54Z jonatack quit (Ping timeout: 240 seconds) 2020-04-15T07:33:57Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-15T07:41:58Z anticrisis quit (Read error: Connection reset by peer) 2020-04-15T07:43:06Z Necktwi quit (Read error: Connection reset by peer) 2020-04-15T07:45:04Z Bourne quit (Ping timeout: 256 seconds) 2020-04-15T07:47:00Z Necktwi joined #lisp 2020-04-15T07:50:39Z ljavorsk joined #lisp 2020-04-15T07:56:26Z Bourne joined #lisp 2020-04-15T07:56:45Z jprajzne joined #lisp 2020-04-15T08:05:59Z SGASAU quit (Remote host closed the connection) 2020-04-15T08:06:54Z SGASAU joined #lisp 2020-04-15T08:09:06Z msk_ joined #lisp 2020-04-15T08:11:42Z msk quit (Ping timeout: 256 seconds) 2020-04-15T08:14:39Z revtintin quit (Ping timeout: 250 seconds) 2020-04-15T08:15:54Z Necktwi quit (Ping timeout: 256 seconds) 2020-04-15T08:20:56Z Lycurgus quit (Quit: Exeunt) 2020-04-15T08:22:45Z Necktwi joined #lisp 2020-04-15T08:26:05Z dddddd joined #lisp 2020-04-15T08:29:35Z ukari quit (Remote host closed the connection) 2020-04-15T08:30:45Z ukari joined #lisp 2020-04-15T08:30:47Z Kundry_Wag joined #lisp 2020-04-15T08:33:58Z phoe: let me make one, then, by gutting out swank... 2020-04-15T08:36:49Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-15T08:41:47Z revtintin joined #lisp 2020-04-15T08:49:37Z libertyprime quit (Ping timeout: 258 seconds) 2020-04-15T08:50:56Z dale quit (Quit: My computer has gone to sleep) 2020-04-15T08:51:33Z libertyprime joined #lisp 2020-04-15T08:56:21Z karlosz quit (Quit: karlosz) 2020-04-15T09:04:41Z Shinmera: Dissect was supposed to be able to deliver the basis for that. 2020-04-15T09:05:07Z phoe: But it was not implemented there yet, was it? 2020-04-15T09:05:13Z phoe: I might submit a PR that does so. 2020-04-15T09:05:16Z Shinmera: 'there'? 2020-04-15T09:05:21Z phoe: In Dissect, that is. 2020-04-15T09:05:28Z Shinmera: I don't understand. 2020-04-15T09:05:50Z Shinmera: Dissect provides a portability library for the stack and restarts (and in the future maybe eval-in-frame) 2020-04-15T09:05:57Z phoe: Dissect does not have a way to define my own debugger that will be invoked on #'error or #'break. Is that correct? 2020-04-15T09:05:58Z Shinmera: A portable debugger could be implemented on top of it. 2020-04-15T09:06:06Z Shinmera: That is correct. 2020-04-15T09:06:11Z phoe: OK - I'll work on that then. 2020-04-15T09:06:56Z Shinmera: I've been meaning to make a portable debugger (and a portable repl) for years now but you know how these things go. 2020-04-15T09:07:11Z phoe: oh yes I wholeheartedly do know 2020-04-15T09:07:59Z shangul quit (Remote host closed the connection) 2020-04-15T09:14:13Z aap_ joined #lisp 2020-04-15T09:14:46Z Josh_2` joined #lisp 2020-04-15T09:15:15Z Josh_2 quit (Read error: Connection reset by peer) 2020-04-15T09:15:16Z aap quit (Read error: Connection reset by peer) 2020-04-15T09:15:24Z mgr- joined #lisp 2020-04-15T09:15:27Z mgr_ quit (Read error: Connection reset by peer) 2020-04-15T09:15:38Z minion quit (Disconnected by services) 2020-04-15T09:15:41Z minion joined #lisp 2020-04-15T09:22:54Z heisig joined #lisp 2020-04-15T09:23:10Z revtintin quit (Ping timeout: 256 seconds) 2020-04-15T09:23:31Z shangul joined #lisp 2020-04-15T09:27:18Z revtintin joined #lisp 2020-04-15T09:30:02Z mgr- quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-04-15T09:31:16Z mgr_ joined #lisp 2020-04-15T09:32:23Z revtintin quit (Ping timeout: 260 seconds) 2020-04-15T09:35:10Z phoe: hey wait a second 2020-04-15T09:35:13Z phoe: https://github.com/sharplispers/conium 2020-04-15T09:35:51Z gko joined #lisp 2020-04-15T09:36:02Z phoe: I wonder how updated that is though... 2020-04-15T09:36:38Z iAmDecim joined #lisp 2020-04-15T09:38:18Z notzmv quit (Remote host closed the connection) 2020-04-15T09:38:39Z mrcom quit (Ping timeout: 265 seconds) 2020-04-15T09:40:40Z ukari quit (Remote host closed the connection) 2020-04-15T09:40:54Z igemnace joined #lisp 2020-04-15T09:41:24Z ukari joined #lisp 2020-04-15T09:42:09Z Lord_of_Life_ joined #lisp 2020-04-15T09:42:25Z Kundry_Wag joined #lisp 2020-04-15T09:42:55Z notzmv joined #lisp 2020-04-15T09:43:35Z troydm joined #lisp 2020-04-15T09:43:56Z aap_ is now known as aap 2020-04-15T09:44:05Z narimiran_ is now known as narimiran 2020-04-15T09:44:31Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-04-15T09:44:31Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-15T09:46:58Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-15T09:52:34Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-15T09:53:06Z phoe: it's mostly dead, sadly. I'll continue to gut out swank. 2020-04-15T09:55:10Z libertyprime quit (Remote host closed the connection) 2020-04-15T09:56:35Z iAmDecim joined #lisp 2020-04-15T10:00:41Z jackdaniel: how do you determine deadness of a library? 2020-04-15T10:00:55Z jackdaniel: does it smell funny? that only means that it is a lisp library ,-) 2020-04-15T10:02:32Z jackdaniel imagines a library which dies, screaming in agony 2020-04-15T10:04:45Z phoe: jackdaniel: it forked from swank at some point, but it seems that no one's been porting swank modifications to it. 2020-04-15T10:06:00Z jackdaniel: so how about libraries which are not forked from swank? are they immortal? 2020-04-15T10:07:04Z phoe: bleh 2020-04-15T10:07:26Z phoe: fine - compared to swank, conium has much less activity 2020-04-15T10:11:05Z frgo quit (Remote host closed the connection) 2020-04-15T10:11:37Z frgo joined #lisp 2020-04-15T10:12:29Z mrcom joined #lisp 2020-04-15T10:14:20Z Kundry_Wag joined #lisp 2020-04-15T10:15:11Z jonatack__ joined #lisp 2020-04-15T10:17:46Z msk_ quit (Remote host closed the connection) 2020-04-15T10:18:07Z msk_ joined #lisp 2020-04-15T10:18:35Z jonatack_ quit (Ping timeout: 260 seconds) 2020-04-15T10:19:03Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-15T10:21:11Z revtintin joined #lisp 2020-04-15T10:34:31Z LdBeth: find the book I ordered in email trashbin... 2020-04-15T10:35:12Z _jrjsmrtn quit (Ping timeout: 265 seconds) 2020-04-15T10:35:28Z __jrjsmrtn__ joined #lisp 2020-04-15T10:38:47Z joshcom joined #lisp 2020-04-15T10:44:32Z p_l: ok, where qt-libs standalone are built for commonqt? 2020-04-15T10:44:50Z Shinmera: eh? 2020-04-15T10:45:13Z jackdaniel: on trustme.example.com 2020-04-15T10:45:46Z p_l: Shinmera: I might gather enough anger at the world to channel it into fixes 2020-04-15T10:45:56Z Shinmera: I don't understand your question 2020-04-15T10:46:22Z phoe: p_l: built? what do you mean? I don't think they're built by any sort of CI 2020-04-15T10:46:25Z p_l: Shinmera: I need to change bits of how the dynamic libraries included in qt-libs downloads are built 2020-04-15T10:46:41Z p_l: cause they have hardcoded paths to /User/linus on macos 2020-04-15T10:46:47Z p_l: (as of latest QL dist) 2020-04-15T10:46:51Z Shinmera: They should not, that's a bug. 2020-04-15T10:47:34Z Shinmera: Anyway that fix does not require rebuilding 2020-04-15T10:47:36Z p_l: Shinmera: yeah, that's a bug. it's not the first time I hit it, and I was wondering where I should look for the build scripts so I could help fix it instead of being unpleasant complainer only 2020-04-15T10:48:01Z Shinmera: There are no build scripts because building Qt is a god damn nightmare on every platform and requires manual setup. 2020-04-15T10:48:02Z phoe: p_l: I'm using an earlier release, see https://github.com/phoe-trash/furcadia-post-splitter/blob/master/.travis.yml#L71 2020-04-15T10:48:42Z Shinmera: The fix is to make fix-dylib-collection work better. 2020-04-15T10:49:00Z p_l: Shinmera: at the very least, I need to grab the process that packages them into QL installable release tarball, and inject some changes to the packages 2020-04-15T10:49:05Z Shinmera: You can try running (fix-dylib-collection (uiop:directory-files standalone-dir (make-pathname :type "dylib" :defaults uiop:*wild-path*))) 2020-04-15T10:49:10Z Shinmera: first to see if that changes things. 2020-04-15T10:49:51Z Shinmera: But yes, rolling back to an earlier release for OS X is a fix. I think QL allows pinning packages to a certain release? 2020-04-15T10:50:32Z p_l: Shinmera: it's something that happened to me more than once, so while it would work as temporary fix, I really want to make it stable 2020-04-15T10:51:12Z Shinmera: The way to make it stable is 1) ensure fix-dylib-collection works 2) bother me to update the release binaries on github to include the ones with the properly fixed paths. 2020-04-15T10:51:20Z phoe: p_l: sounds like setting up build infrastructure for qt4 2020-04-15T10:51:29Z Shinmera: phoe: it is not necessary. 2020-04-15T10:51:29Z phoe: god sped you 2020-04-15T10:51:34Z phoe: Shinmera: OK 2020-04-15T10:51:55Z p_l: phoe: I built Qt4 in the past. I also binary patched qt-libs once in the past 2020-04-15T10:53:34Z Shinmera: There used to be build scripts in the past for everything but Qt4, but they were brittle, and now that Qt4 isn't readily available anymore either it's just a mess. 2020-04-15T10:55:21Z Kundry_Wag joined #lisp 2020-04-15T10:57:12Z scymtym joined #lisp 2020-04-15T11:00:49Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-15T11:00:50Z jonatack__ quit (Read error: Connection reset by peer) 2020-04-15T11:01:07Z jonatack__ joined #lisp 2020-04-15T11:22:20Z p_l: weeee, got binary patches for qtlibs working 2020-04-15T11:22:31Z p_l: now I'm failing on unknown class in qtools-ui 2020-04-15T11:24:47Z p_l: > There is no class named QTOOLS-UI:FIXED-QTEXTEDIT. 2020-04-15T11:25:11Z p_l: in file qtools-ui-20200218-git/fixed-qtextedit.lisp 2020-04-15T11:25:22Z Shinmera: That's a phoe thing 2020-04-15T11:25:46Z JohnMS joined #lisp 2020-04-15T11:26:13Z phoe: wait a second 2020-04-15T11:26:17Z phoe: that's a me thing 2020-04-15T11:26:17Z reggie_ joined #lisp 2020-04-15T11:26:49Z phoe: https://github.com/Shinmera/qtools-ui/blob/master/fixed-qtextedit.lisp#L10 that is where that class is defined 2020-04-15T11:26:59Z phoe: how can I reproduce it? 2020-04-15T11:27:28Z phoe: p_l: 2020-04-15T11:28:26Z v0|d quit (Read error: Connection reset by peer) 2020-04-15T11:28:28Z p_l: phoe: it fails for me when just quickloading qtools using SBCL on mac 2020-04-15T11:28:31Z p_l: 10.15 2020-04-15T11:28:41Z phoe: p_l: does qtools depend on qui? 2020-04-15T11:28:42Z JohnMS_WORK quit (Ping timeout: 258 seconds) 2020-04-15T11:28:42Z reggie__ quit (Ping timeout: 258 seconds) 2020-04-15T11:28:51Z Shinmera: Definitely not. 2020-04-15T11:28:51Z phoe: I seriously don't think so, it's the other way around 2020-04-15T11:29:16Z phoe: (ql:quickload :qtools) must not pull qtools-ui 2020-04-15T11:31:40Z phoe: qui doesn't seem to have any darwin- or osx-conditionalized code 2020-04-15T11:31:48Z p_l: fixed-textedit depends on qtools-ui-base 2020-04-15T11:31:58Z phoe: fixed-qtextedit is not a part of qtools 2020-04-15T11:32:02Z phoe: it's a part of qtools-ui 2020-04-15T11:32:35Z p_l: (ql:quickload '("qtools-ui" "hemlock.qt")) ;;; what I executed to get there 2020-04-15T11:32:44Z phoe: so you loaded qui, not qtools 2020-04-15T11:32:48Z phoe: that's clearer now 2020-04-15T11:33:06Z phoe: please give me a stacktrace of (ql:quickload :qtools-ui) 2020-04-15T11:33:12Z phoe: from a clean image, preferably 2020-04-15T11:35:31Z p_l: What I get in SLDB https://www.irccloud.com/pastebin/rarXyiEA/qtools-ui-stacktrace.txt 2020-04-15T11:36:37Z KDr21 joined #lisp 2020-04-15T11:36:52Z phoe: I am completely puzzled by that stacktrace 2020-04-15T11:37:05Z phoe: the class FIXED-QTEXTEDIT is defined at https://github.com/Shinmera/qtools-ui/blob/master/fixed-qtextedit.lisp#L10 2020-04-15T11:37:27Z p_l: welcome to my world :| 2020-04-15T11:37:49Z phoe: try loading all of that system's dependencies manually and then evaluating code from that file 2020-04-15T11:37:56Z phoe: it works on my Linux machine 2020-04-15T11:38:19Z KDr2 quit (Ping timeout: 250 seconds) 2020-04-15T11:38:28Z Kundry_Wag joined #lisp 2020-04-15T11:38:55Z phoe: it's erroring on the form (QTOOLS:DEFINE-SUBWIDGET (QTOOLS-UI:FIXED-QTEXTEDIT QTOOLS-UI::FIX-CONTEXT-MENU-WIDGET) ...) 2020-04-15T11:39:03Z p_l: yes 2020-04-15T11:39:04Z phoe: so it's as if that class was not defined at compile time 2020-04-15T11:39:08Z phoe: wtf 2020-04-15T11:39:11Z phoe: why 2020-04-15T11:39:17Z ukari quit (Remote host closed the connection) 2020-04-15T11:39:19Z p_l: an eval-when issue? 2020-04-15T11:40:05Z phoe: cannot be, https://github.com/Shinmera/qtools/blob/53d5b603dbff883ec50885d6efeaed92e57dcd26/widget.lisp#L174 2020-04-15T11:40:07Z ukari joined #lisp 2020-04-15T11:40:59Z phoe: no idea what's going on 2020-04-15T11:41:40Z phoe: again, (ql:quickload :qtools-ui) works on my machine 2020-04-15T11:42:50Z phoe: if it was an eval-when issue then it'd fail everywhere 2020-04-15T11:43:04Z joshcom quit (Ping timeout: 256 seconds) 2020-04-15T11:43:16Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-04-15T11:45:26Z p_l: curiouser and curiouser 2020-04-15T11:46:44Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-15T11:58:36Z EvW joined #lisp 2020-04-15T12:04:24Z ebrasca quit (Remote host closed the connection) 2020-04-15T12:05:44Z iAmDecim joined #lisp 2020-04-15T12:06:09Z kimq joined #lisp 2020-04-15T12:07:29Z ukari quit (Remote host closed the connection) 2020-04-15T12:09:27Z moewe joined #lisp 2020-04-15T12:09:35Z moewe: hey 2020-04-15T12:09:46Z moewe: So I have another issue which I can't seem to make sense of 2020-04-15T12:09:53Z phoe: sup 2020-04-15T12:09:59Z moewe: The value 2020-04-15T12:09:59Z moewe: (#) 2020-04-15T12:09:59Z moewe: is not of type 2020-04-15T12:09:59Z moewe: HASH-TABLE 2020-04-15T12:09:59Z moewe: when binding HASH-TABLE? 2020-04-15T12:10:05Z phoe: of course it isn't 2020-04-15T12:10:07Z phoe: it is a list 2020-04-15T12:10:10Z phoe: whose CAR is a hash table 2020-04-15T12:10:16Z moewe: CAR? 2020-04-15T12:10:17Z phoe: (note the extra pair of parens!) 2020-04-15T12:10:20Z sunwukong joined #lisp 2020-04-15T12:10:24Z phoe: yes, CAR 2020-04-15T12:10:31Z phoe: or rather, first element 2020-04-15T12:10:36Z moewe: ah thanks 2020-04-15T12:10:38Z phoe: are you aware of what a CAR and CDR is? 2020-04-15T12:10:39Z moewe: ohhh 2020-04-15T12:10:44Z moewe: that makes senbse acutally 2020-04-15T12:10:54Z moewe: No, but please tell me if you will 2020-04-15T12:10:57Z phoe: I suggest you do read up on cons cells if you don't - that knowledge will pay you well if you're using Lisp 2020-04-15T12:11:03Z phoe: Lisp lists are made of cons cells 2020-04-15T12:11:09Z phoe: every cons cell has two parts, a car and a cdr 2020-04-15T12:11:15Z phoe: each of these refers to a different Lisp objects. 2020-04-15T12:11:20Z phoe: s/objects/object/ 2020-04-15T12:11:26Z phoe: or rather - may refer to a different object 2020-04-15T12:11:46Z phoe: (#) is a cons cell whose CAR is a hash table and whose CDR is NIL 2020-04-15T12:11:50Z phoe: also known as the empty list. 2020-04-15T12:12:02Z phoe: (A B C) is a list made of three cons cells 2020-04-15T12:12:17Z phoe: in cons notation, (A . (B . (C . NIL))) 2020-04-15T12:12:30Z phoe: where the consing dot (the ".") separates the car from the cdr 2020-04-15T12:13:48Z moewe: aah thanks 2020-04-15T12:13:53Z phoe: <3 2020-04-15T12:13:58Z moewe: So why does C also have NIL? 2020-04-15T12:14:07Z phoe: NIL is the empty list 2020-04-15T12:14:09Z moewe: Because it is the final one? Is that like a rule for it? 2020-04-15T12:14:21Z phoe: yes, NIL is the "end" of every proper list 2020-04-15T12:14:32Z phoe: it is possible to have conses like (FOO . BAR) 2020-04-15T12:14:49Z phoe: but every proper list must have NIL as the CDR of its last cons 2020-04-15T12:15:28Z moewe: Ok, so car is the "first" element, but how did you find out from the error string that the CDR is nil? 2020-04-15T12:15:31Z phoe: also, if you want to - #clschool is a good channel for basic Lisp questions, especially if #lisp is busy with a different discussions 2020-04-15T12:15:49Z phoe: I read it from (#) 2020-04-15T12:15:55Z phoe: which was printed by your error stacktrace 2020-04-15T12:16:00Z phoe: (#) === (# . NIL) 2020-04-15T12:16:29Z phoe: (A) is a shorthand notation for (A . NIL) 2020-04-15T12:16:32Z Kundry_Wag joined #lisp 2020-04-15T12:16:56Z moewe: So if it would have lets say 2 elements it would be: (# (scnd . NIL))? 2020-04-15T12:17:00Z phoe: ;; and also the *MORE* popular one - you will rarely ever see the latter notation in practice 2020-04-15T12:17:03Z beach: phoe: Hey, you are getting good at explaining stuff! 2020-04-15T12:17:09Z phoe: it would be (a . (b . nil)) 2020-04-15T12:17:14Z moewe: oh, right 2020-04-15T12:17:16Z phoe: yours is (a (b . nil)) which is somewhat different 2020-04-15T12:17:25Z phoe: beach: thanks, trying my best! 2020-04-15T12:17:45Z moewe: thanks man, awesome explanation, really! next time I'll go to clschool ^^" 2020-04-15T12:19:22Z phoe: moewe: (a (b . nil)) is (a (b)) 2020-04-15T12:19:45Z phoe: which is (a . ((b . nil) . nil)) 2020-04-15T12:19:58Z phoe: basically the second element of that list is wrapped in one more list 2020-04-15T12:29:01Z revtintin quit (Ping timeout: 264 seconds) 2020-04-15T12:32:52Z bitmapper joined #lisp 2020-04-15T12:33:43Z jonatack__ quit (Quit: jonatack__) 2020-04-15T12:33:44Z revtintin joined #lisp 2020-04-15T12:34:16Z jonatack joined #lisp 2020-04-15T12:35:55Z rixard quit (Read error: Connection reset by peer) 2020-04-15T12:38:29Z rixard joined #lisp 2020-04-15T12:41:04Z scymtym quit (Remote host closed the connection) 2020-04-15T12:41:21Z scymtym joined #lisp 2020-04-15T12:42:01Z Kundry_Wag quit (Remote host closed the connection) 2020-04-15T12:42:17Z Kundry_Wag joined #lisp 2020-04-15T12:44:01Z revtintin quit (Ping timeout: 264 seconds) 2020-04-15T12:45:07Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-15T12:48:57Z jmercouris joined #lisp 2020-04-15T12:50:52Z pilne quit (Read error: Connection reset by peer) 2020-04-15T12:53:05Z revtintin joined #lisp 2020-04-15T12:55:39Z Josh_2` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-15T12:56:01Z pilne joined #lisp 2020-04-15T12:56:37Z Josh_2 joined #lisp 2020-04-15T12:58:54Z cosimone joined #lisp 2020-04-15T12:59:27Z azimut__ quit (Remote host closed the connection) 2020-04-15T12:59:47Z azimut__ joined #lisp 2020-04-15T13:04:11Z Bike joined #lisp 2020-04-15T13:04:22Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-15T13:05:57Z _death: another day, another use of PROGV 2020-04-15T13:07:11Z decent-username joined #lisp 2020-04-15T13:09:08Z jmercouris: progv? 2020-04-15T13:09:24Z Bike: how exotic. 2020-04-15T13:09:34Z jmercouris: what did you do with it 2020-04-15T13:09:42Z gargaml joined #lisp 2020-04-15T13:11:07Z _death: used it in a regression tester to bind the value of a *verbose* flag to nil in the testee (the regression tester does not directly reference symbols from the testee) 2020-04-15T13:12:03Z beach: jmercouris: Did you see the link I gave you to the freely available AMOP chapters? 2020-04-15T13:12:14Z Lycurgus joined #lisp 2020-04-15T13:13:53Z pilne quit (Read error: Connection reset by peer) 2020-04-15T13:15:17Z Xach: phoe: automagically updated 2020-04-15T13:15:31Z phoe: Xach: thankeeee 2020-04-15T13:15:50Z phoe: progv is useless in 99% of cases and unavoidable in 1% of cases 2020-04-15T13:16:05Z jmercouris: beach: yes, thank you! 2020-04-15T13:16:25Z phoe: I don't think there is any other part of the standard that allows you to bind dynavars fully at runtime where the user can dynamically specify both the dynavar name and the value for the new binding 2020-04-15T13:17:16Z jcowan: well, eval 2020-04-15T13:17:17Z _death: you could use SETs and hope for the best 2020-04-15T13:17:25Z Bike: you can do it yourself with symbol-value and unwind-protect 2020-04-15T13:17:34Z revtintin quit (Ping timeout: 258 seconds) 2020-04-15T13:17:34Z Bike: although local bindings are generally different on most implementations due to threading 2020-04-15T13:17:40Z Bike: don't think the language designers anticipated that 2020-04-15T13:18:24Z iAmDecim joined #lisp 2020-04-15T13:18:29Z pilne joined #lisp 2020-04-15T13:18:56Z phoe: Bike: eh, that's kinda cheating 2020-04-15T13:19:03Z phoe: it mutates old bindings instead of creating new ones 2020-04-15T13:19:11Z Bike: what's the difference? 2020-04-15T13:19:12Z phoe: functionally equivalent, but still 2020-04-15T13:19:20Z phoe: in practice? absolutely nothing 2020-04-15T13:19:21Z revtintin joined #lisp 2020-04-15T13:19:37Z Bike: even theoretically, what's the difference? other than the threading i mentioned. 2020-04-15T13:21:11Z _death: there was a LETF operator once... 2020-04-15T13:21:24Z jcowan: Dynavars are reliably reset without taking special precautions with unwind-protect, for one thing. 2020-04-15T13:21:33Z Lycurgus: was war einmal! 2020-04-15T13:21:46Z Bike: jcowan: i don't understand what you mean? 2020-04-15T13:22:27Z Xach: phoe: can you tell me why the indentation in the rss is what it is? 2020-04-15T13:22:28Z jcowan: If you want to do your own binding-equivalent using `set`, you have to make sure you always `set` it back using unwind-protect. 2020-04-15T13:22:54Z phoe: Xach: no idea, let me check. 2020-04-15T13:22:56Z Bike: sure. 2020-04-15T13:23:30Z Bike: but i mean, that's not different? i don't know what you're getting at. the implementation has to do something like unwind-protect for special bindings too. 2020-04-15T13:23:49Z phoe: Xach: it does seem okay in the atom feed - download and inspect the XML file from https://nl.movim.eu/?feed/phoe%40movim.eu 2020-04-15T13:24:58Z beach: Bike: Not with an explicit representation of the dynamic environment + deep binding. :) 2020-04-15T13:25:22Z Bike: mm... right... 2020-04-15T13:25:28Z cylb quit (Remote host closed the connection) 2020-04-15T13:25:55Z cosimone quit (Remote host closed the connection) 2020-04-15T13:26:15Z _death: I guess one difference is that it only works for special variables, so you lose uniformity 2020-04-15T13:26:28Z cosimone joined #lisp 2020-04-15T13:27:59Z jcowan: This is more or less why Scheme decided to give up on dynamic variables and go with bindable objects: (parameterize ((foo bar) (baz zam) ... (foo) ... (baz) ...) 2020-04-15T13:28:30Z jcowan: where foo and bar are not bound by the construct, rather their values (functions of a specialized kind) are bound. 2020-04-15T13:30:59Z cosimone_ joined #lisp 2020-04-15T13:31:12Z cosimone quit (Read error: Connection reset by peer) 2020-04-15T13:31:26Z EvW quit (Ping timeout: 240 seconds) 2020-04-15T13:33:18Z pilne quit (Read error: Connection reset by peer) 2020-04-15T13:34:29Z JohnMS quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-15T13:35:32Z parjanya joined #lisp 2020-04-15T13:36:37Z pilne joined #lisp 2020-04-15T13:37:03Z engblom joined #lisp 2020-04-15T13:37:10Z phoe: oookay 2020-04-15T13:37:20Z phoe: LispWorks is the only implementation whose debugger I have not enslaved yet 2020-04-15T13:38:01Z cosimone_ quit (Remote host closed the connection) 2020-04-15T13:38:27Z phoe: ...and I have no real idea how to achieve it 2020-04-15T13:38:28Z cosimone_ joined #lisp 2020-04-15T13:38:36Z engblom: Do you know about any dynamic tiling window manager written by any Lisp dialect (CL, scheme, Clojure, etc)? Something that would be similar to dwm or xmonad? 2020-04-15T13:38:43Z phoe: engblom: stumpwm? 2020-04-15T13:38:52Z ayuce joined #lisp 2020-04-15T13:39:02Z revtintin quit (Ping timeout: 258 seconds) 2020-04-15T13:39:12Z engblom: phoe: Stumpwm is not a dynamic tiling window manager. You have to take care of the tiling manually. 2020-04-15T13:39:24Z phoe: ooh, I see 2020-04-15T13:39:24Z phoe: TIL 2020-04-15T13:40:02Z gargaml quit (Ping timeout: 246 seconds) 2020-04-15T13:40:58Z engblom: phoe: With a dynamic you do not need to think about frames. You open a window and it will automatically take full screen. You open another one and the screen will automatically split in two. You open a third and it will again split according to the chosen layout. You close two windows and you are back again to fullscreen one window without needing to do anything yourself. 2020-04-15T13:41:11Z ayuce quit (Remote host closed the connection) 2020-04-15T13:41:39Z revtintin joined #lisp 2020-04-15T13:41:58Z lxbarbosa joined #lisp 2020-04-15T13:42:00Z ayuce joined #lisp 2020-04-15T13:44:39Z _death: maybe it shouldn't be hard to write a stumpwm contrib to do that.. 2020-04-15T13:46:19Z _death: stumpwm does have an "expose" that to auto tile current windows 2020-04-15T13:46:19Z engblom: Currently I am using xmonad and it works for me but it is also the only thing I need Haskell installed for. While diskspace is cheap, it is still many of extra Gb wasted and making upgrades slower and just a bit annoying to have around. This is why I am searching for an alternative. I do not not program much so I kind of wish to have a ready solution that I can just try to tweak to fit my needs. 2020-04-15T13:47:47Z _death: do you really need haskell installed to use xmonad? 2020-04-15T13:47:51Z Inline joined #lisp 2020-04-15T13:48:19Z Shinmera: this is well off-topic. 2020-04-15T13:48:30Z engblom: _death: Xmonad is more like a "window manager framework". You write the configuration in Haskell and it will compile a window manager for you. 2020-04-15T13:49:07Z beach: Shinmera: Thanks. There has been more off-topic stuff than usual here. 2020-04-15T13:49:08Z gargaml joined #lisp 2020-04-15T13:49:22Z Shinmera: Yeah. :/ 2020-04-15T13:49:27Z EvW joined #lisp 2020-04-15T13:49:53Z ahungry joined #lisp 2020-04-15T13:50:32Z Lycurgus: debian buster installs ghc 8.4 with xmonad 2020-04-15T13:51:02Z engblom: To take it back to Lisp topic, besides stumpwm and the clfswm fork of stumpwm, what other window managers are written in any lisp dialect? 2020-04-15T13:51:18Z beach: Eclipse is written in Common Lisp. 2020-04-15T13:51:30Z beach: engblom: This channel is dedicated to Common Lisp. 2020-04-15T13:51:39Z _death: there was ratpoison 2020-04-15T13:51:53Z Lycurgus: is or was xfce in cl? 2020-04-15T13:51:58Z beach: engblom: There is no widely agreed-upon definition of what language is a Lisp dialect. 2020-04-15T13:52:34Z _death: it's implemented in C but I think it had some lisp variant 2020-04-15T13:52:46Z Lycurgus: ah 2020-04-15T13:52:57Z engblom: beach: I am sorry, I thought it was a lisp in general channel. I thought the comment about offtopic was because of xmonad. I will not discuss this topic further here. 2020-04-15T13:53:16Z dlowe: ##lisp is a lisp in general channel 2020-04-15T13:57:24Z _death: (ah, I confused ratpoison with sawfish) 2020-04-15T14:04:47Z leo_song quit (Ping timeout: 250 seconds) 2020-04-15T14:06:17Z lxbarbosa quit (Remote host closed the connection) 2020-04-15T14:06:38Z pilne quit (Ping timeout: 258 seconds) 2020-04-15T14:06:40Z _death: engblom: if stumpwm's expose command is not too bad about persistence of windows already exposed, then a quick solution could be to call it on window creation and destruction (there are likely hooks for that, or they could be added).. I write this because it's somewhat Lisp related, but you likely want to visit the stumpwm channel if you have further questions 2020-04-15T14:07:06Z lxbarbosa joined #lisp 2020-04-15T14:08:16Z pilne joined #lisp 2020-04-15T14:10:55Z engblom: _death: When reading https://stumpwm.github.io/git/stumpwm-git_6.html it says that no window can exists outside of any frame. When reading the "expose" part, it says nothing about creating or destroying frames to satisfy the layout. Is this done automatically by expose? 2020-04-15T14:11:42Z _death: stumpwm channel is that way -> #stumpwm 2020-04-15T14:12:14Z engblom: _death: I am going there :) 2020-04-15T14:13:14Z ATuin quit (Ping timeout: 256 seconds) 2020-04-15T14:16:26Z moewe quit (Ping timeout: 240 seconds) 2020-04-15T14:18:09Z phoe: Do we have any Lispworks hackers here? I am trying to prevent entry into the system-provided debugger and instead invoke my own trivial one. My current slime-based code is at https://plaster.tymoon.eu/view/1747#1747 but I cannot reproduce what slime is doing. 2020-04-15T14:18:40Z drmeister: pjb: Thanks for the heads up on print-unreadable-object 2020-04-15T14:19:42Z efm quit (Ping timeout: 256 seconds) 2020-04-15T14:20:58Z Bike: why on earth does print-unreadable-object not return the object 2020-04-15T14:21:07Z cylb joined #lisp 2020-04-15T14:21:13Z _death: yes, it's a pet peeve 2020-04-15T14:21:33Z efm joined #lisp 2020-04-15T14:21:53Z Bike: phoe: i see it's ':debugger-hoook' in slime as well but like... is that seriously not a typo...? 2020-04-15T14:22:33Z phoe: Bike: yes, both in slime and sly!! 2020-04-15T14:22:45Z phoe: it makes sense because the typo is then repeated 2020-04-15T14:23:48Z sjl_ joined #lisp 2020-04-15T14:23:53Z pilne quit (Read error: Connection reset by peer) 2020-04-15T14:24:03Z kimq quit (Ping timeout: 260 seconds) 2020-04-15T14:25:43Z Bike: that's "sense", huh. 2020-04-15T14:25:54Z phoe: s/makes sense/works for whatever reason/ 2020-04-15T14:28:12Z pilne joined #lisp 2020-04-15T14:28:13Z rpg joined #lisp 2020-04-15T14:31:12Z engblom left #lisp 2020-04-15T14:39:17Z efm quit (Ping timeout: 265 seconds) 2020-04-15T14:41:15Z efm joined #lisp 2020-04-15T14:41:17Z efm quit (Client Quit) 2020-04-15T14:43:08Z Kundry_Wag quit (Remote host closed the connection) 2020-04-15T14:43:36Z Kundry_Wag joined #lisp 2020-04-15T14:43:52Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-15T14:44:34Z glamas quit (Ping timeout: 240 seconds) 2020-04-15T14:45:47Z glamas joined #lisp 2020-04-15T14:46:10Z Lycurgus quit (Quit: Exeunt) 2020-04-15T14:48:28Z revtintin quit (Ping timeout: 265 seconds) 2020-04-15T14:51:07Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-15T14:51:39Z rpg joined #lisp 2020-04-15T14:51:59Z rpg: I have been told we usually don't have a banner, but maybe we could announce that ELS 2020 has moved on-line? 2020-04-15T14:59:28Z EvW quit (Ping timeout: 256 seconds) 2020-04-15T15:01:58Z shifty quit (Ping timeout: 256 seconds) 2020-04-15T15:02:24Z retropikzel joined #lisp 2020-04-15T15:06:41Z pilne quit (Read error: Connection reset by peer) 2020-04-15T15:07:11Z revtintin joined #lisp 2020-04-15T15:10:48Z EvW joined #lisp 2020-04-15T15:10:50Z monokrom joined #lisp 2020-04-15T15:12:03Z pilne joined #lisp 2020-04-15T15:12:16Z notzmv quit (Read error: Connection reset by peer) 2020-04-15T15:13:24Z jfrancis_ joined #lisp 2020-04-15T15:13:25Z jfrancis quit (Read error: Connection reset by peer) 2020-04-15T15:17:09Z revtintin quit (Ping timeout: 250 seconds) 2020-04-15T15:17:40Z rippa joined #lisp 2020-04-15T15:18:49Z ljavorsk quit (Ping timeout: 264 seconds) 2020-04-15T15:24:05Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-15T15:26:35Z lxbarbosa quit (Ping timeout: 272 seconds) 2020-04-15T15:30:31Z cosimone_ is now known as cosimone 2020-04-15T15:31:55Z sunwukong quit (Quit: Leaving) 2020-04-15T15:32:52Z sahara3 joined #lisp 2020-04-15T15:34:51Z sahara3 left #lisp 2020-04-15T15:38:07Z notzmv joined #lisp 2020-04-15T15:41:40Z lisper29 left #lisp 2020-04-15T15:44:12Z revtintin joined #lisp 2020-04-15T15:44:53Z Bourne quit (Ping timeout: 250 seconds) 2020-04-15T15:45:35Z ArthurStrong joined #lisp 2020-04-15T16:01:59Z ayuce quit (Read error: Connection reset by peer) 2020-04-15T16:07:00Z revtintin quit (Ping timeout: 258 seconds) 2020-04-15T16:14:26Z EvW quit (Ping timeout: 240 seconds) 2020-04-15T16:15:05Z jmercouris quit (Remote host closed the connection) 2020-04-15T16:23:55Z vlatkoB quit (Remote host closed the connection) 2020-04-15T16:25:08Z vlatkoB joined #lisp 2020-04-15T16:31:35Z ljavorsk joined #lisp 2020-04-15T16:31:37Z Shinmera: Bike: regarding your question a while ago about slot order in mop, if I remember correctly the order needs to be as they appear in the list of effective slots. It does not say that slot locations have to be consecutive, however. 2020-04-15T16:32:06Z Bike: what determines the order of the list of effective slots? 2020-04-15T16:32:06Z Shinmera: Ah, yes: http://metamodular.com/CLOS-MOP/instance-structure-protocol.html "For a given class, the locations increase consecutively, in the order that the directly accessible slots appear in the list of effective slots." 2020-04-15T16:32:20Z Shinmera: I believe it's the return value of compute-slots. 2020-04-15T16:32:53Z Shinmera: Indeed, they show an example on the same page that reorders the slots 2020-04-15T16:33:12Z Bike: and compute-slots sorts by CPL order, i see 2020-04-15T16:33:12Z gko quit (Ping timeout: 256 seconds) 2020-04-15T16:33:53Z revtintin joined #lisp 2020-04-15T16:36:36Z Lycurgus joined #lisp 2020-04-15T16:39:44Z efm joined #lisp 2020-04-15T16:40:44Z Bike: ...okay, i'm missing something here. 2020-04-15T16:42:37Z Bike: no, i see. CPL order means that classes /later/ in the CPL have their slots /first/ 2020-04-15T16:42:56Z beach: Makes sense. 2020-04-15T16:43:06Z beach: Then slot locations are more likely to be shared. 2020-04-15T16:43:25Z Bike: mm, well, it's having confusing consequences for me with mixins. 2020-04-15T16:43:52Z Bike: i have a class with supers (instruction one-successor-mixin allocation-mixin). instruction and allocation-mixin both have slots. But allocation-mixin's slots come first, so the locations are different from a class that only has instruction as a super. 2020-04-15T16:44:40Z beach: What if you put the mixins first in the list? 2020-04-15T16:45:13Z Bike: yeah, i mean, that would do it. or have instruction be a superclass of the mixins. 2020-04-15T16:46:07Z shukryzablah quit (Quit: ERC (IRC client for Emacs 27.0.90)) 2020-04-15T16:48:44Z Cymew quit (Ping timeout: 256 seconds) 2020-04-15T16:50:24Z starcrATI joined #lisp 2020-04-15T16:54:57Z buffergn0me joined #lisp 2020-04-15T16:59:02Z slyrus__ joined #lisp 2020-04-15T17:01:26Z cosimone quit (Quit: Quit.) 2020-04-15T17:01:46Z slyrus_ quit (Ping timeout: 256 seconds) 2020-04-15T17:02:43Z cosimone joined #lisp 2020-04-15T17:02:45Z cosimone quit (Client Quit) 2020-04-15T17:04:06Z cosimone joined #lisp 2020-04-15T17:05:50Z Inline quit (Ping timeout: 246 seconds) 2020-04-15T17:05:56Z EvW joined #lisp 2020-04-15T17:07:35Z karlosz joined #lisp 2020-04-15T17:09:46Z ggole quit (Quit: Leaving) 2020-04-15T17:15:32Z retropikzel quit (Quit: Leaving) 2020-04-15T17:24:05Z retropikzel joined #lisp 2020-04-15T17:30:15Z revtintin quit (Ping timeout: 260 seconds) 2020-04-15T17:32:25Z panji joined #lisp 2020-04-15T17:32:30Z phoe: I guess I solved my LispWorks issue 2020-04-15T17:32:47Z phoe: ;; by setting internal symbols, as usual 2020-04-15T17:33:36Z EvW quit (Ping timeout: 256 seconds) 2020-04-15T17:34:33Z panji left #lisp 2020-04-15T17:34:54Z ayuce joined #lisp 2020-04-15T17:36:44Z _death: Bike: putting mixins first is actually a documented practice.. I think I read about it in Cannon's FLAVORS paper 2020-04-15T17:37:35Z revtintin joined #lisp 2020-04-15T17:41:53Z EvW joined #lisp 2020-04-15T17:42:47Z pjb: minion: memo for engblom: there's exwm written in emacs lisps. 2020-04-15T17:42:47Z minion: Remembered. I'll tell engblom when he/she/it next speaks. 2020-04-15T17:45:34Z Lycurgus quit (Ping timeout: 240 seconds) 2020-04-15T17:49:08Z retropikzel quit (Quit: Leaving) 2020-04-15T17:49:19Z retropikzel joined #lisp 2020-04-15T17:50:33Z Bike: i guess putting the mixin first means it'll specialize on methods first, too 2020-04-15T17:50:41Z Bike: so probably good to do 2020-04-15T17:53:50Z smazga joined #lisp 2020-04-15T17:54:09Z phoe: one of the greatest yak shaves of this mini-project has been me creating a true named-lambda macro 2020-04-15T17:54:16Z phoe: one of the greatest yak shaves of this mini-project has been me creating a true named-lambda macro 2020-04-15T17:54:21Z phoe: blah, wrong copypaste 2020-04-15T17:54:37Z phoe: https://plaster.tymoon.eu/view/1749#1749 2020-04-15T17:54:55Z phoe: it's true because it hurts my eyes to look at it, and truth always hurts 2020-04-15T17:55:02Z heisig quit (Quit: Leaving) 2020-04-15T17:56:14Z MichaelRaskin: You don't like (labels) ? 2020-04-15T17:56:51Z mathrick quit (Ping timeout: 260 seconds) 2020-04-15T17:56:53Z phoe: I do, and I'm well aware that e.g. alexandria has it 2020-04-15T17:57:30Z phoe: I just wanted to use the implementation internals for that one for no good reason whatsoever 2020-04-15T17:58:05Z MichaelRaskin: Grrr. 2020-04-15T17:58:15Z phoe ducks 2020-04-15T17:58:54Z MichaelRaskin: I guess for most implementations you could just macroexpand defun 2020-04-15T17:58:54Z pilne quit (Read error: Connection reset by peer) 2020-04-15T18:00:48Z EvW quit (Ping timeout: 256 seconds) 2020-04-15T18:02:07Z phoe: ;; that's what I did 2020-04-15T18:02:38Z phoe: the only weird thing is that ACL drops the function name after #'COMPILEing it 2020-04-15T18:02:43Z phoe: but I didn't care to dig deeper 2020-04-15T18:03:24Z vhost- joined #lisp 2020-04-15T18:03:24Z vhost- quit (Changing host) 2020-04-15T18:03:24Z vhost- joined #lisp 2020-04-15T18:03:31Z pilne joined #lisp 2020-04-15T18:04:11Z MichaelRaskin: I mean, automatically, in compile-time 2020-04-15T18:04:48Z phoe: on one hand, it's a dangerous idea 2020-04-15T18:05:13Z phoe: on the other hand, it's Michael "Codewalker" Raskin who proposes that 2020-04-15T18:05:23Z phoe: now I am somewhat tempted 2020-04-15T18:11:29Z EvW joined #lisp 2020-04-15T18:12:14Z gigetoo quit (Ping timeout: 240 seconds) 2020-04-15T18:13:28Z gigetoo joined #lisp 2020-04-15T18:14:59Z sauvin quit (Read error: Connection reset by peer) 2020-04-15T18:15:30Z luni joined #lisp 2020-04-15T18:23:42Z MichaelRaskin: phoe: it is an interesting approach! 2020-04-15T18:25:57Z mathrick joined #lisp 2020-04-15T18:30:14Z mathrick quit (Ping timeout: 240 seconds) 2020-04-15T18:32:50Z mathrick joined #lisp 2020-04-15T18:33:06Z vhost- quit (Quit: WeeChat 2.6) 2020-04-15T18:35:37Z orivej quit (Ping timeout: 264 seconds) 2020-04-15T18:38:38Z phoe: okay, time to yak shave 2020-04-15T18:38:52Z Aurora_iz_kosmos joined #lisp 2020-04-15T18:39:10Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-04-15T18:39:18Z phoe: Shinmera: will you be willing to accept https://plaster.tymoon.eu/view/1750#1750 into Dissect? (possibly without that NAMED-LAMBDA macro, since it's ugly.) 2020-04-15T18:40:27Z Shinmera: Hm, not sure. I'd have to rename Dissect into a general debugger thing rather than being limited to dealing with the stack. 2020-04-15T18:40:38Z phoe: OK - I'll create a separate package then. 2020-04-15T18:40:42Z phoe: s/package/system/ 2020-04-15T18:40:50Z Shinmera: Yeah, probably better. 2020-04-15T18:40:59Z phoe: does a name like CUSTOM-DEBUGGER sound well? 2020-04-15T18:41:02Z buffergn0me quit (Ping timeout: 256 seconds) 2020-04-15T18:41:58Z vhost- joined #lisp 2020-04-15T18:41:58Z vhost- quit (Changing host) 2020-04-15T18:41:58Z vhost- joined #lisp 2020-04-15T18:41:59Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-15T18:44:09Z Shinmera: sounds more like a trivial-debugger-hook or something in my opinion. 2020-04-15T18:44:19Z phoe: hmmm 2020-04-15T18:44:23Z phoe: that is a better name 2020-04-15T18:44:32Z phoe: but wait 2020-04-15T18:44:38Z phoe: debugger-hook is an already established name 2020-04-15T18:44:45Z kimq joined #lisp 2020-04-15T18:44:53Z jackdaniel: trivial-debugger-hack 2020-04-15T18:44:57Z phoe: and we aren't really doing much to the debugg-- 2020-04-15T18:45:00Z phoe: jackdaniel: tempting 2020-04-15T18:45:04Z dlowe: debugger-line-and-sinker 2020-04-15T18:45:26Z efm quit (Read error: Connection reset by peer) 2020-04-15T18:45:34Z phoe: trivial-custom-debugger it'll be then 2020-04-15T18:45:50Z jackdaniel: phoe: as of debugging, you may consider extending and contributing to clim-debugger 2020-04-15T18:45:58Z jackdaniel: currently it piggybacks to sldb 2020-04-15T18:46:03Z jackdaniel: s/to/on/ 2020-04-15T18:46:30Z jackdaniel: unless of course you want to be your own captain, ship and the sail 2020-04-15T18:46:37Z efm joined #lisp 2020-04-15T18:49:06Z phoe: jackdaniel: the goal of this particular library is supposed to be as small and as dependency-free as possible, since I don't think that someone who reads my WIP book will want to pull all of clim-debugger in order to play with a custom system debugger function 2020-04-15T18:49:15Z phoe: however, that's a very good idea - I'll put that on my TODO list 2020-04-15T18:50:00Z jackdaniel: you may write a backend system and a graphical frontend, the former would be simple in terms of dependencies 2020-04-15T18:50:33Z phoe: jackdaniel: the backend system sounds like trivial-custom-debugger 2020-04-15T18:50:52Z phoe: it might in the future get extended with things like backtraces, e.g. via Dissect 2020-04-15T18:51:15Z phoe: and other things that allow for a generally pleasant debugging experience 2020-04-15T18:54:31Z efm quit (Ping timeout: 258 seconds) 2020-04-15T18:55:26Z izh_ joined #lisp 2020-04-15T18:59:56Z Inline joined #lisp 2020-04-15T19:06:26Z ljavorsk quit (Ping timeout: 256 seconds) 2020-04-15T19:07:45Z efm joined #lisp 2020-04-15T19:08:08Z izh_ quit (Remote host closed the connection) 2020-04-15T19:08:44Z izh_ joined #lisp 2020-04-15T19:09:16Z shifty joined #lisp 2020-04-15T19:16:31Z phoe: hah 2020-04-15T19:16:41Z phoe: I need to find a test framework that does not mind unhandled errors 2020-04-15T19:18:15Z karlosz quit (Quit: karlosz) 2020-04-15T19:22:09Z Shinmera: 'does not mind'? 2020-04-15T19:23:08Z SGASAU quit (Remote host closed the connection) 2020-04-15T19:24:22Z SGASAU joined #lisp 2020-04-15T19:26:48Z SGASAU quit (Remote host closed the connection) 2020-04-15T19:27:22Z dale_ joined #lisp 2020-04-15T19:27:33Z SGASAU joined #lisp 2020-04-15T19:27:47Z dale_ is now known as dale 2020-04-15T19:28:17Z phoe: yes 2020-04-15T19:28:26Z phoe: does not have a global (handler-bind ((error ...)) ...) 2020-04-15T19:28:43Z phoe: I explicitly need an error to bubble all the way to toplevel and invoke the debugger 2020-04-15T19:28:52Z phoe: ...since it's the debugger that I am testing 2020-04-15T19:28:53Z Shinmera: you can do that with a custom parachute report. 2020-04-15T19:29:16Z phoe reads parachute source 2020-04-15T19:29:37Z Shinmera: the interactive report bubbles failures and introduces additional errors when the tests fail, for instance. 2020-04-15T19:29:47Z Shinmera: I often use it when I get a failure in a test and want the backtrace. 2020-04-15T19:30:05Z phoe: wait a second though 2020-04-15T19:30:15Z phoe: won't INTERACTIVE be fully enough 2020-04-15T19:30:24Z phoe: let me double-check... 2020-04-15T19:30:29Z Shinmera: depends. It'll signal an error if a test fails 2020-04-15T19:30:37Z Shinmera: rather than a test erroring. 2020-04-15T19:32:09Z lassy joined #lisp 2020-04-15T19:36:08Z izh_ quit (Remote host closed the connection) 2020-04-15T19:36:29Z iAmDecim joined #lisp 2020-04-15T19:36:44Z izh_ joined #lisp 2020-04-15T19:39:32Z EvW quit (Read error: Connection reset by peer) 2020-04-15T19:39:38Z EvW1 joined #lisp 2020-04-15T19:41:00Z shka_ quit (Ping timeout: 256 seconds) 2020-04-15T19:43:01Z karlosz joined #lisp 2020-04-15T19:45:14Z samebchase quit (Ping timeout: 265 seconds) 2020-04-15T19:45:37Z gargaml quit (Ping timeout: 272 seconds) 2020-04-15T19:45:56Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-15T19:46:01Z gargaml joined #lisp 2020-04-15T19:50:48Z gargaml quit (Client Quit) 2020-04-15T19:52:40Z izh_ quit (Quit: Leaving) 2020-04-15T19:52:47Z retropikzel quit (Quit: Leaving) 2020-04-15T19:54:59Z samebchase joined #lisp 2020-04-15T20:02:51Z shangul quit (Ping timeout: 260 seconds) 2020-04-15T20:05:10Z glamas quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-04-15T20:05:25Z glamas joined #lisp 2020-04-15T20:05:47Z revtintin quit (Quit: WeeChat 1.9.1) 2020-04-15T20:06:22Z phoe: https://github.com/phoe/trivial-custom-debugger 2020-04-15T20:06:31Z phoe: I've decided to use CL:ASSERT for the tests 2020-04-15T20:07:06Z cosimone quit (Quit: Quit.) 2020-04-15T20:09:53Z mrcom quit (Ping timeout: 265 seconds) 2020-04-15T20:13:34Z pve quit (Quit: leaving) 2020-04-15T20:14:03Z narimiran quit (Ping timeout: 260 seconds) 2020-04-15T20:26:14Z Lycurgus joined #lisp 2020-04-15T20:29:16Z decent-username quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-15T20:29:24Z cosimone joined #lisp 2020-04-15T20:29:31Z decent-username joined #lisp 2020-04-15T20:34:44Z ayuce quit (Remote host closed the connection) 2020-04-15T20:37:38Z mrcom joined #lisp 2020-04-15T20:37:58Z Lycurgus quit (Remote host closed the connection) 2020-04-15T20:40:07Z choegusung joined #lisp 2020-04-15T20:40:07Z choegusung quit (Client Quit) 2020-04-15T20:46:13Z anticrisis joined #lisp 2020-04-15T20:47:54Z SGASAU quit (Remote host closed the connection) 2020-04-15T20:48:42Z SGASAU joined #lisp 2020-04-15T20:53:08Z karlosz quit (Quit: karlosz) 2020-04-15T20:56:43Z Ven`` joined #lisp 2020-04-15T20:56:50Z phoe: Xach: I know why the formatting is so broken. Let me file a movim bugticket. 2020-04-15T21:04:55Z jonatack quit (Ping timeout: 260 seconds) 2020-04-15T21:05:09Z SGASAU quit (Remote host closed the connection) 2020-04-15T21:05:57Z SGASAU joined #lisp 2020-04-15T21:06:46Z jonatack joined #lisp 2020-04-15T21:16:34Z buffergn0me joined #lisp 2020-04-15T21:20:37Z decent-username quit (Ping timeout: 272 seconds) 2020-04-15T21:24:37Z kimq quit (Ping timeout: 250 seconds) 2020-04-15T21:24:37Z ayuce joined #lisp 2020-04-15T21:25:36Z ahungry quit (Remote host closed the connection) 2020-04-15T21:29:48Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-15T21:29:49Z scymtym quit (Read error: Connection reset by peer) 2020-04-15T21:33:51Z buffergn0me quit (Ping timeout: 252 seconds) 2020-04-15T21:38:19Z Xach: more like lessvim 2020-04-15T21:38:34Z shifty quit (Ping timeout: 240 seconds) 2020-04-15T21:38:58Z SGASAU quit (Remote host closed the connection) 2020-04-15T21:39:53Z SGASAU joined #lisp 2020-04-15T21:41:41Z phoe: nice 2020-04-15T21:43:21Z Lord_of_Life_ joined #lisp 2020-04-15T21:45:06Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-04-15T21:46:04Z Oladon joined #lisp 2020-04-15T21:46:11Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-15T21:49:02Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-15T21:50:27Z buffergn0me joined #lisp 2020-04-15T21:52:53Z luni quit (Quit: Connection closed) 2020-04-15T21:54:51Z efm quit (Read error: Connection reset by peer) 2020-04-15T21:55:34Z ayuce quit (Remote host closed the connection) 2020-04-15T21:55:44Z jonatack quit (Ping timeout: 265 seconds) 2020-04-15T21:55:59Z ayuce joined #lisp 2020-04-15T21:56:23Z jonatack joined #lisp 2020-04-15T22:01:27Z smasta joined #lisp 2020-04-15T22:04:16Z sjl_ quit (Ping timeout: 258 seconds) 2020-04-15T22:04:40Z joshcom joined #lisp 2020-04-15T22:10:39Z buffergn0me quit (Ping timeout: 272 seconds) 2020-04-15T22:11:06Z frgo quit (Remote host closed the connection) 2020-04-15T22:11:40Z frgo joined #lisp 2020-04-15T22:12:18Z joshcom quit (Ping timeout: 256 seconds) 2020-04-15T22:13:17Z kimq joined #lisp 2020-04-15T22:14:21Z Inline: asdf is buggy 2020-04-15T22:14:22Z jprajzne quit (Quit: jprajzne) 2020-04-15T22:14:29Z ArthurStrong left #lisp 2020-04-15T22:14:44Z Inline: exclusion for :tree via :exclude does not work 2020-04-15T22:20:55Z smazga quit (Quit: leaving) 2020-04-15T22:21:00Z equwal joined #lisp 2020-04-15T22:23:49Z equwal quit (Remote host closed the connection) 2020-04-15T22:27:51Z iAmDecim joined #lisp 2020-04-15T22:29:42Z kimq quit (Changing host) 2020-04-15T22:29:42Z kimq joined #lisp 2020-04-15T22:30:29Z Xach: Inline: i've found that the line between "asdf does not work as i expect" and "asdf is buggy" is hard to find 2020-04-15T22:31:54Z SGASAU quit (Remote host closed the connection) 2020-04-15T22:32:01Z Xach: i have not usually been able to inform my expectations with the documentation 2020-04-15T22:32:06Z starcrATI quit (Ping timeout: 240 seconds) 2020-04-15T22:32:43Z SGASAU joined #lisp 2020-04-15T22:33:33Z buffergn0me joined #lisp 2020-04-15T22:34:12Z rpg quit (Remote host closed the connection) 2020-04-15T22:34:42Z SGASAU quit (Remote host closed the connection) 2020-04-15T22:35:19Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-15T22:36:33Z SGASAU joined #lisp 2020-04-15T22:37:49Z Inline: no, the implementation even the release version of the git source here over, does not match it's spec 2020-04-15T22:37:57Z Inline: previously it all worked fine 2020-04-15T22:38:36Z Inline: then all of a sudden at some point changing asdf versions to higher and higher numbers something has gone wrong 2020-04-15T22:39:43Z Inline: when i specify an exclusion pattern, eithe before or after the :tree enty, the exclusion pattern does not have any effect on the outcome 2020-04-15T22:40:14Z Inline: that was not so previously, it all happened to work seemlessly 2020-04-15T22:41:54Z Inline: btw i'd like to be able to use 2 different caches for 2 different implementation of mcclim in my local-projects directory 2020-04-15T22:42:11Z Inline: not the same cache for both 2020-04-15T22:42:37Z Inline: but i suppose that's on my side to specify how and where etc 2020-04-15T22:43:13Z keep_learning joined #lisp 2020-04-15T22:43:32Z Inline: so what happens is when i load mcclim it loads the mcclim-git directory tho it's in the :exclusion entry 2020-04-15T22:43:49Z Inline: there's mcclim and mcclim-git both in local-projects 2020-04-15T22:44:02Z SGASAU quit (Remote host closed the connection) 2020-04-15T22:44:03Z Inline: i want to be able to load both from different repls 2020-04-15T22:44:41Z Inline: and i have configuration made for mutual exclusion 2020-04-15T22:44:43Z rpg joined #lisp 2020-04-15T22:44:47Z SGASAU joined #lisp 2020-04-15T22:44:57Z rpg: inline: if you have an ASDF bug report, please submit it through the common-lisp.net gitlab. 2020-04-15T22:45:03Z Inline: so one repl loads one and ignores the other, or so the idea but now asdf is not working anymore 2020-04-15T22:45:28Z keep_learning quit (Client Quit) 2020-04-15T22:45:47Z Inline: rpg: i don't have a bug report 2020-04-15T22:46:05Z Inline: rpg: and i won't submit anything 2020-04-15T22:51:44Z SGASAU quit (Remote host closed the connection) 2020-04-15T22:53:16Z SGASAU joined #lisp 2020-04-15T22:54:39Z Bourne joined #lisp 2020-04-15T22:57:52Z buffergn0me: Inline: It sounds like you have encountered a bug. You need to write down what it is, what ASDF version you are using, and steps to reproduce it 2020-04-15T22:57:58Z shukryzablah joined #lisp 2020-04-15T23:03:22Z keep_learning joined #lisp 2020-04-15T23:03:51Z X-Scale` joined #lisp 2020-04-15T23:03:54Z X-Scale quit (Ping timeout: 240 seconds) 2020-04-15T23:04:22Z X-Scale` is now known as X-Scale 2020-04-15T23:07:02Z SGASAU quit (Remote host closed the connection) 2020-04-15T23:08:30Z SGASAU` joined #lisp 2020-04-15T23:11:46Z Oladon quit (Quit: Leaving.) 2020-04-15T23:11:58Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-15T23:12:17Z Inline: oO 2020-04-15T23:12:22Z Inline: :exclude uses setf 2020-04-15T23:12:25Z Inline: bah 2020-04-15T23:12:34Z Inline: :also-exclude uses append 2020-04-15T23:12:36Z epony quit (Read error: Connection reset by peer) 2020-04-15T23:12:37Z Inline: heh 2020-04-15T23:12:40Z Inline: oh man 2020-04-15T23:14:55Z Inline: but that's not it, didn't change anything 2020-04-15T23:16:49Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-15T23:17:47Z SGASAU joined #lisp 2020-04-15T23:19:57Z karlosz joined #lisp 2020-04-15T23:21:27Z epony joined #lisp 2020-04-15T23:21:45Z epony quit (Remote host closed the connection) 2020-04-15T23:23:20Z leo_song joined #lisp 2020-04-15T23:29:51Z gxt quit (Remote host closed the connection) 2020-04-15T23:30:10Z gxt_ joined #lisp 2020-04-15T23:32:45Z SGASAU quit (Remote host closed the connection) 2020-04-15T23:33:59Z SGASAU joined #lisp 2020-04-15T23:34:15Z random-nick quit (Ping timeout: 260 seconds) 2020-04-15T23:34:41Z iAmDecim joined #lisp 2020-04-15T23:37:54Z epony joined #lisp 2020-04-15T23:38:07Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-15T23:40:53Z phlim joined #lisp 2020-04-15T23:41:50Z ebrasca joined #lisp 2020-04-15T23:42:14Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-15T23:42:58Z keep_learning joined #lisp 2020-04-15T23:44:45Z smasta quit (Ping timeout: 252 seconds) 2020-04-15T23:44:45Z torbo joined #lisp 2020-04-15T23:50:36Z cosimone quit (Quit: Quit.) 2020-04-16T00:08:34Z phlim quit (Remote host closed the connection) 2020-04-16T00:11:16Z ebrasca quit (Remote host closed the connection) 2020-04-16T00:12:30Z SGASAU quit (Remote host closed the connection) 2020-04-16T00:13:42Z SGASAU joined #lisp 2020-04-16T00:14:26Z iAmDecim joined #lisp 2020-04-16T00:15:41Z SGASAU quit (Remote host closed the connection) 2020-04-16T00:16:30Z SGASAU joined #lisp 2020-04-16T00:18:00Z Oladon joined #lisp 2020-04-16T00:18:58Z SGASAU quit (Remote host closed the connection) 2020-04-16T00:20:44Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-16T00:44:07Z leo_song quit (Ping timeout: 258 seconds) 2020-04-16T00:44:38Z jfrancis joined #lisp 2020-04-16T00:45:05Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-16T00:47:58Z jfrancis_ quit (Ping timeout: 256 seconds) 2020-04-16T00:48:09Z smasta joined #lisp 2020-04-16T00:49:47Z karlosz quit (Quit: karlosz) 2020-04-16T00:52:30Z lassy quit (Quit: Leaving) 2020-04-16T00:53:47Z smasta quit (Ping timeout: 265 seconds) 2020-04-16T00:54:05Z Bourne quit (Ping timeout: 265 seconds) 2020-04-16T00:54:06Z zaquest quit (Quit: Leaving) 2020-04-16T00:55:00Z zaquest joined #lisp 2020-04-16T00:56:32Z ``Erik_ joined #lisp 2020-04-16T00:56:57Z leo_song joined #lisp 2020-04-16T00:57:14Z ``Erik quit (Ping timeout: 240 seconds) 2020-04-16T00:59:28Z monokrom quit (Remote host closed the connection) 2020-04-16T01:04:03Z Jeanne-Kamikaze joined #lisp 2020-04-16T01:09:35Z gko joined #lisp 2020-04-16T01:12:34Z efm joined #lisp 2020-04-16T01:18:14Z Oladon quit (Quit: Leaving.) 2020-04-16T01:24:05Z smasta joined #lisp 2020-04-16T01:29:15Z smasta quit (Ping timeout: 252 seconds) 2020-04-16T01:35:37Z bitmapper quit (Ping timeout: 264 seconds) 2020-04-16T01:37:03Z buffergn0me joined #lisp 2020-04-16T01:37:24Z Oladon joined #lisp 2020-04-16T01:41:03Z ebzzry joined #lisp 2020-04-16T01:42:41Z mrrevolt joined #lisp 2020-04-16T01:44:40Z ebzzry_ joined #lisp 2020-04-16T01:44:48Z ebzzry quit (Remote host closed the connection) 2020-04-16T01:53:47Z ahungry joined #lisp 2020-04-16T01:56:05Z Kundry_Wag quit (Remote host closed the connection) 2020-04-16T01:56:58Z Kundry_Wag joined #lisp 2020-04-16T01:57:27Z karlosz joined #lisp 2020-04-16T01:58:34Z EvW1 quit (Ping timeout: 240 seconds) 2020-04-16T02:03:13Z muyinliu joined #lisp 2020-04-16T02:04:38Z muyinliu quit (Client Quit) 2020-04-16T02:08:09Z ebzzry_ quit (Read error: Connection reset by peer) 2020-04-16T02:11:34Z ebzzry_ joined #lisp 2020-04-16T02:15:03Z _whitelogger quit (Remote host closed the connection) 2020-04-16T02:17:15Z _whitelogger joined #lisp 2020-04-16T02:17:37Z cylb quit (Ping timeout: 264 seconds) 2020-04-16T02:19:36Z ebzzry_ left #lisp 2020-04-16T02:22:11Z iAmDecim joined #lisp 2020-04-16T02:22:14Z smasta joined #lisp 2020-04-16T02:26:53Z smasta quit (Ping timeout: 246 seconds) 2020-04-16T02:35:14Z paul0 joined #lisp 2020-04-16T02:35:17Z dddddd quit (Ping timeout: 258 seconds) 2020-04-16T02:40:27Z Inline quit (Ping timeout: 272 seconds) 2020-04-16T02:43:01Z akoana joined #lisp 2020-04-16T02:45:47Z ayuce quit (Remote host closed the connection) 2020-04-16T03:00:12Z shukryzablah quit (Quit: ERC (IRC client for Emacs 27.0.90)) 2020-04-16T03:04:25Z hiroaki quit (Ping timeout: 264 seconds) 2020-04-16T03:05:22Z buffergn0me quit (Ping timeout: 256 seconds) 2020-04-16T03:07:13Z EvW joined #lisp 2020-04-16T03:13:57Z beach: Good morning everyone! 2020-04-16T03:15:49Z cylb joined #lisp 2020-04-16T03:21:08Z cylb quit (Ping timeout: 256 seconds) 2020-04-16T03:22:32Z fe[nl]ix: good mornning beach :) 2020-04-16T03:24:40Z Bike quit (Quit: Lost terminal) 2020-04-16T03:26:37Z pilne quit (Quit: East bound and down, loaded up and truckin') 2020-04-16T03:29:24Z Lycurgus joined #lisp 2020-04-16T03:33:22Z beach: Hello fe[nl]ix. Where are you these days? 2020-04-16T03:34:19Z fe[nl]ix: in Montreal 2020-04-16T03:34:26Z fe[nl]ix: moved there a year ago 2020-04-16T03:34:51Z beach: Right. I was wondering about right now. But maybe you guys are confined as well? 2020-04-16T03:36:23Z fe[nl]ix: yes, it started a month ago 2020-04-16T03:36:29Z beach: Wow. 2020-04-16T03:36:57Z fe[nl]ix: things are fine, Quebec seems well managed 2020-04-16T03:37:14Z beach: Yeah, I like it very much myself. 2020-04-16T03:37:20Z fe[nl]ix: and I'm not complaining about being able to work quietly 2020-04-16T03:37:30Z beach: Can't agree more. 2020-04-16T03:39:18Z fe[nl]ix: how's Bordeaux ? we still have snow here :D 2020-04-16T03:40:32Z beach: Oh! We didn't get any this year. 2020-04-16T03:45:40Z beach: Anyway, aside from "distractions" such as ELS and Didier Verna's "habilitation", I am working hard to get a first executable of SICL going. I have some time left because I don't want to rush into wrong design decisions, and there is stuff that must be improved first. 2020-04-16T03:45:59Z beach: Progress is slow, but steady. 2020-04-16T03:50:42Z EvW quit (Ping timeout: 256 seconds) 2020-04-16T03:51:30Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-16T03:52:17Z smasta joined #lisp 2020-04-16T03:52:27Z mrrevolt quit (Quit: Connection closed for inactivity) 2020-04-16T03:52:29Z fe[nl]ix: that's wonderful 2020-04-16T03:52:55Z fe[nl]ix: are you aiming to present it next year ? 2020-04-16T03:53:15Z shukryzablah joined #lisp 2020-04-16T03:53:19Z beach: I haven't given it any thought. But that would be good, I guess. 2020-04-16T03:57:43Z smasta quit (Ping timeout: 272 seconds) 2020-04-16T04:03:12Z karlosz quit (Quit: karlosz) 2020-04-16T04:04:10Z karlosz joined #lisp 2020-04-16T04:05:58Z Jeanne-Kamikaze quit (Ping timeout: 265 seconds) 2020-04-16T04:06:09Z orivej joined #lisp 2020-04-16T04:06:56Z Jeanne-Kamikaze joined #lisp 2020-04-16T04:16:11Z cylb joined #lisp 2020-04-16T04:19:20Z karlosz quit (Quit: karlosz) 2020-04-16T04:19:38Z vlatkoB joined #lisp 2020-04-16T04:20:19Z karlosz joined #lisp 2020-04-16T04:21:28Z cylb quit (Ping timeout: 258 seconds) 2020-04-16T04:21:30Z Kundry_Wag joined #lisp 2020-04-16T04:25:45Z shka_ joined #lisp 2020-04-16T04:26:08Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-16T04:29:51Z smasta joined #lisp 2020-04-16T04:30:04Z shka_ quit (Read error: Connection reset by peer) 2020-04-16T04:30:23Z shka_ joined #lisp 2020-04-16T04:34:30Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-16T04:34:38Z smasta quit (Ping timeout: 246 seconds) 2020-04-16T04:39:06Z Oladon quit (Quit: Leaving.) 2020-04-16T04:41:46Z retropikzel joined #lisp 2020-04-16T04:46:19Z Guesr12345 joined #lisp 2020-04-16T04:48:32Z shifty joined #lisp 2020-04-16T04:56:06Z narimiran joined #lisp 2020-04-16T04:56:36Z Guesr12345 quit (Ping timeout: 240 seconds) 2020-04-16T04:58:07Z v88m joined #lisp 2020-04-16T05:01:11Z v88m quit (Remote host closed the connection) 2020-04-16T05:02:02Z twelvemonkeys quit (Ping timeout: 265 seconds) 2020-04-16T05:07:14Z twelvemonkeys joined #lisp 2020-04-16T05:07:52Z rtoy joined #lisp 2020-04-16T05:12:05Z rtoy quit (Client Quit) 2020-04-16T05:13:16Z ahungry quit (Remote host closed the connection) 2020-04-16T05:13:51Z sauvin joined #lisp 2020-04-16T05:19:58Z rtoy joined #lisp 2020-04-16T05:24:00Z smasta joined #lisp 2020-04-16T05:28:09Z Bourne joined #lisp 2020-04-16T05:28:32Z smasta quit (Ping timeout: 246 seconds) 2020-04-16T05:29:39Z Intensity quit (Read error: Connection reset by peer) 2020-04-16T05:30:13Z karlosz quit (Remote host closed the connection) 2020-04-16T05:30:40Z twelvemonkeys quit (Ping timeout: 256 seconds) 2020-04-16T05:30:49Z Intensity joined #lisp 2020-04-16T05:34:44Z EvW joined #lisp 2020-04-16T05:37:47Z twelvemonkeys joined #lisp 2020-04-16T05:38:30Z gravicappa joined #lisp 2020-04-16T05:48:02Z _whitelogger quit (Remote host closed the connection) 2020-04-16T05:50:16Z _whitelogger joined #lisp 2020-04-16T05:54:43Z JohnMS_WORK joined #lisp 2020-04-16T05:57:41Z kimq quit (Ping timeout: 258 seconds) 2020-04-16T06:06:42Z EvW quit (Ping timeout: 256 seconds) 2020-04-16T06:08:19Z Cymew joined #lisp 2020-04-16T06:10:16Z revtintin joined #lisp 2020-04-16T06:12:06Z dale quit (Quit: My computer has gone to sleep) 2020-04-16T06:16:06Z torbo quit (Remote host closed the connection) 2020-04-16T06:17:46Z shangul joined #lisp 2020-04-16T06:17:55Z _paul0 joined #lisp 2020-04-16T06:18:08Z smasta joined #lisp 2020-04-16T06:20:51Z paul0 quit (Ping timeout: 272 seconds) 2020-04-16T06:22:23Z Kundry_Wag joined #lisp 2020-04-16T06:22:46Z smasta quit (Ping timeout: 240 seconds) 2020-04-16T06:24:28Z gxt_ quit (Remote host closed the connection) 2020-04-16T06:25:08Z gxt_ joined #lisp 2020-04-16T06:27:06Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-16T06:32:40Z rixard quit (Remote host closed the connection) 2020-04-16T06:33:09Z rixard joined #lisp 2020-04-16T06:37:31Z rixard quit (Ping timeout: 260 seconds) 2020-04-16T06:42:14Z random-nick joined #lisp 2020-04-16T06:49:58Z GuerrillaMonkey joined #lisp 2020-04-16T06:50:35Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-16T06:50:49Z gabiruh joined #lisp 2020-04-16T06:52:14Z Jeanne-Kamikaze quit (Ping timeout: 265 seconds) 2020-04-16T06:56:35Z Necktwi quit (Read error: Connection reset by peer) 2020-04-16T06:57:41Z Lycurgus quit (Remote host closed the connection) 2020-04-16T06:58:48Z aeth quit (Quit: ...) 2020-04-16T07:01:43Z Necktwi joined #lisp 2020-04-16T07:02:12Z aeth joined #lisp 2020-04-16T07:04:33Z retropikzel quit (Quit: Leaving) 2020-04-16T07:09:59Z GuerrillaMonkey quit (Remote host closed the connection) 2020-04-16T07:13:14Z nckx quit (Quit: Updating my Guix System — https://guix.gnu.org) 2020-04-16T07:13:36Z nckx joined #lisp 2020-04-16T07:17:36Z smasta joined #lisp 2020-04-16T07:22:36Z heisig joined #lisp 2020-04-16T07:22:41Z greaser|q quit (Changing host) 2020-04-16T07:22:41Z greaser|q joined #lisp 2020-04-16T07:22:55Z smasta quit (Ping timeout: 272 seconds) 2020-04-16T07:24:24Z no-defun-allowed: This is #lisp, so you will most likely have people want to write Common Lisp. 2020-04-16T07:24:59Z no-defun-allowed: (And most people, upon receiving magical teletypes that can write lowercase letters, write the name of the language as Lisp, title-cased.) 2020-04-16T07:25:35Z beach: no-defun-allowed: Who are you talking to? 2020-04-16T07:26:20Z no-defun-allowed: Crikey! I'm talking to Davd who is participating from Matrix and they also do not get messages sent to Freenode somehow. 2020-04-16T07:26:34Z beach: Indeed. 2020-04-16T07:27:02Z no-defun-allowed: They wrote: "Hello lispers! I want to address a question for all French people using LISP: Who wants to participate to the next BattleDev (https://battledev.blogdumoderateur.com/) using LISP and which LISP would you like to use? For that, I created a small poll, so that we can gather answers: https://linkto.run/p/OMQFP7M5. Please answer the poll 🙂 The BattleDev is a French competition for programming algorithms and 2020-04-16T07:27:02Z no-defun-allowed: takes two hours, it is challenging and fun." 2020-04-16T07:27:38Z beach: Thanks. 2020-04-16T07:28:02Z beach: David might reach more people if the messages made it to this channel. 2020-04-16T07:28:54Z hvxgr quit (Ping timeout: 240 seconds) 2020-04-16T07:29:15Z p_l: Matrix-IRC integration breaks down daily in my experience 2020-04-16T07:30:11Z hvxgr joined #lisp 2020-04-16T07:30:25Z no-defun-allowed: Davd: I'm not very good at reading French (despite three years of lessons in high school); what kind of things are participants graded by? 2020-04-16T07:31:55Z no-defun-allowed: My understanding of the bridge server is that it maintains one connection to Freenode per Matrix user, and has to send Matrix→Freenode messages on the appropriate connection. Freenode→Matrix messages can, however, be received on any connection. You get into a limbo state if that connection doesn't work somehow. 2020-04-16T07:32:46Z no-defun-allowed: Sure, but what is used to decide on the winner? Development time, program runtime, lines of code, something like that? 2020-04-16T07:33:55Z no-defun-allowed: My opinion is Common Lisp is going to be the best choice for the first two. 2020-04-16T07:35:05Z aeth: if the rules don't permit libraries, then maybe 2020-04-16T07:35:44Z beach: no-defun-allowed: Is there a way you can tell David to try to fix the connection? 2020-04-16T07:35:51Z epony: program runtime, really? 2020-04-16T07:37:29Z frgo_ joined #lisp 2020-04-16T07:37:46Z no-defun-allowed: beach: I don't think that is controllable on our end, but I might be in a room with one of the maintainers and could ask him to take a peek. 2020-04-16T07:38:04Z anticrisis quit (Quit: Leaving) 2020-04-16T07:39:28Z no-defun-allowed: Davd: You can take a look at https://irclog.tymoon.eu/freenode/%23lisp to see if your message got to IRC. 2020-04-16T07:39:48Z no-defun-allowed: No, I don't think reloading the client would help. The IRC integration is managed by a server somewhere far, far away. 2020-04-16T07:40:01Z davd joined #lisp 2020-04-16T07:40:04Z adlai: maybe it's a channel mode issue? 2020-04-16T07:40:39Z frgo quit (Ping timeout: 272 seconds) 2020-04-16T07:41:50Z aeth: adlai: yes, the name isn't identified, I think, or else there would be an account line in the whois (or however it shows up on your client) 2020-04-16T07:41:51Z no-defun-allowed: Works for me. 2020-04-16T07:41:59Z aeth: compare a whois of no-defun-allowed to Davd[m] 2020-04-16T07:42:40Z adlai: "[no-defun-allowed] is logged in as no-defun-allowed" no similar line for Davd[m] 2020-04-16T07:42:50Z aeth: weird, I don't see that on my client, maybe it's a bug 2020-04-16T07:43:16Z no-defun-allowed: It happened once to LdBeth, but they have identified and all that from memory. 2020-04-16T07:46:26Z no-defun-allowed: I like some of the ideas the Matrix people put forward, but after...about 2 years of use I think the execution is not great. 2020-04-16T07:46:30Z ggole joined #lisp 2020-04-16T07:52:56Z phoe: minion: memo for jmercouris: one curious option about plists for slots is that they are not really plists. :reader/:writer/:accessor can be specified multiple times and *ALL* occurrences of these are used for creating functions. 2020-04-16T07:52:56Z minion: Remembered. I'll tell jmercouris when he/she/it next speaks. 2020-04-16T07:54:07Z phoe: minion: memo for jmercouris: they certainly look like plists, and they pretty much may formally be plists, but they are parsed differently than via the standard GETF function that's usually used for dealing with plists. 2020-04-16T07:54:07Z minion: Remembered. I'll tell jmercouris when he/she/it next speaks. 2020-04-16T07:56:22Z pve joined #lisp 2020-04-16T07:58:14Z revtintin quit (Ping timeout: 240 seconds) 2020-04-16T08:00:27Z jprajzne joined #lisp 2020-04-16T08:02:43Z v_m_v joined #lisp 2020-04-16T08:07:38Z Necktwi quit (Read error: Connection reset by peer) 2020-04-16T08:09:56Z decent-username joined #lisp 2020-04-16T08:10:39Z revtintin joined #lisp 2020-04-16T08:11:46Z smasta joined #lisp 2020-04-16T08:12:52Z Necktwi joined #lisp 2020-04-16T08:16:32Z smasta quit (Ping timeout: 246 seconds) 2020-04-16T08:19:49Z revtintin quit (Ping timeout: 250 seconds) 2020-04-16T08:29:09Z revtintin joined #lisp 2020-04-16T08:39:54Z revtintin quit (Ping timeout: 240 seconds) 2020-04-16T08:43:19Z gxt_ is now known as gxt 2020-04-16T08:43:23Z revtintin joined #lisp 2020-04-16T08:47:55Z rixard joined #lisp 2020-04-16T08:49:25Z revtintin quit (Ping timeout: 264 seconds) 2020-04-16T09:00:07Z Kundry_Wag joined #lisp 2020-04-16T09:04:22Z dddddd joined #lisp 2020-04-16T09:04:34Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-16T09:05:27Z narimiran quit (Ping timeout: 260 seconds) 2020-04-16T09:07:03Z jonatack quit (Ping timeout: 258 seconds) 2020-04-16T09:08:17Z Ven`` joined #lisp 2020-04-16T09:08:51Z jonatack joined #lisp 2020-04-16T09:17:45Z narimiran joined #lisp 2020-04-16T09:25:56Z revtintin joined #lisp 2020-04-16T09:29:02Z ljavorsk joined #lisp 2020-04-16T09:29:18Z shifty quit (Ping timeout: 256 seconds) 2020-04-16T09:43:18Z Lord_of_Life_ joined #lisp 2020-04-16T09:45:10Z SGASAU joined #lisp 2020-04-16T09:45:40Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-16T09:45:41Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-16T09:45:58Z retropikzel joined #lisp 2020-04-16T09:54:13Z jonatack quit (Ping timeout: 264 seconds) 2020-04-16T09:54:48Z jonatack joined #lisp 2020-04-16T09:55:13Z jonatack quit (Client Quit) 2020-04-16T09:55:32Z jonatack joined #lisp 2020-04-16T10:06:28Z parjanya quit (Remote host closed the connection) 2020-04-16T10:08:13Z akoana left #lisp 2020-04-16T10:20:34Z joshcom joined #lisp 2020-04-16T10:30:38Z gxt quit (Remote host closed the connection) 2020-04-16T10:31:15Z gxt joined #lisp 2020-04-16T10:43:02Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-16T10:45:52Z Kundry_Wag joined #lisp 2020-04-16T10:53:10Z SGASAU quit (Remote host closed the connection) 2020-04-16T10:53:57Z SGASAU joined #lisp 2020-04-16T10:54:21Z Ven`` joined #lisp 2020-04-16T10:54:48Z narimiran quit (Ping timeout: 256 seconds) 2020-04-16T10:59:35Z smasta joined #lisp 2020-04-16T11:04:30Z smasta quit (Ping timeout: 256 seconds) 2020-04-16T11:08:27Z v_m_v quit (Remote host closed the connection) 2020-04-16T11:09:22Z hlavaty joined #lisp 2020-04-16T11:25:22Z cosimone joined #lisp 2020-04-16T11:25:24Z joshcom quit (Ping timeout: 256 seconds) 2020-04-16T11:32:56Z Bourne quit (Read error: Connection reset by peer) 2020-04-16T11:42:51Z pve: hello everyone 2020-04-16T11:43:01Z jonatack quit (Quit: jonatack) 2020-04-16T11:43:42Z Bourne joined #lisp 2020-04-16T11:44:00Z pve: can a compiler choose to ignore compiler macros? 2020-04-16T11:44:14Z pve: that's the impression I get from the hyperspec 2020-04-16T11:46:56Z jackdaniel: pve: you probably see this: http://www.lispworks.com/documentation/HyperSpec/Body/03_bbac.htm, yes -- compiler may never invoke the compiler macro 2020-04-16T11:47:29Z jackdaniel: it is only specified when compiler macros must not be invoked 2020-04-16T11:48:44Z pve: jackdaniel: ok, thanks, just checking 2020-04-16T11:48:45Z Shinmera: You can even force it to ignore them by declaring the function notinline. 2020-04-16T11:49:12Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-04-16T11:49:37Z Xach: 2020-04-16T11:51:42Z bitmapper joined #lisp 2020-04-16T11:52:46Z phoe: pve: this, (locally (declare (notinline foo)) (foo ...)) prevents a compiler macro from being invoked 2020-04-16T11:53:25Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-16T11:53:25Z Bike joined #lisp 2020-04-16T11:53:25Z phoe: but you cannot force the compiler to actually use a compiler macro 2020-04-16T11:53:35Z pve: ok that's good to know 2020-04-16T11:54:18Z jackdaniel: so, given all the above, compiler macro may never be invoked and will never be invoked when function is declared not inline, so we make a fourth circle with reiterating the same information 2020-04-16T11:54:30Z jackdaniel waits for the fifth circle 2020-04-16T11:54:55Z phoe: it's at least good that all this stuff is consistent 2020-04-16T11:56:39Z jonatack joined #lisp 2020-04-16T12:01:09Z Lycurgus joined #lisp 2020-04-16T12:01:58Z beach: So you mean you can't force the compiler to invoke the compiler macro? 2020-04-16T12:03:19Z phoe: clhs 3.2.2.1.3 2020-04-16T12:03:19Z specbot: When Compiler Macros Are Used: http://www.lispworks.com/reference/HyperSpec/Body/03_bbac.htm 2020-04-16T12:03:27Z Bike: beach is joking, i'm pretty sure 2020-04-16T12:03:35Z ebrasca joined #lisp 2020-04-16T12:04:11Z phoe: well, technically, you can force it to invoke the compiler macro - if you explicitly call the compiler-macro-function yourself 2020-04-16T12:04:30Z beach: Bike: Indeed. 2020-04-16T12:05:01Z Bike: (defmacro cm (form &environment env) (if (and (consp form) (symbolp (car form)) (compiler-macro-function (car form) env)) (funcall (compiler-macro-function (car form) env) form env) form)) 2020-04-16T12:05:05Z Bike: bam 2020-04-16T12:05:35Z phoe: yep 2020-04-16T12:05:46Z Kundry_Wag joined #lisp 2020-04-16T12:08:01Z Josh_2: Is there gonna be a print edition of https://leanpub.com/progalgs ? 2020-04-16T12:08:25Z phoe: Josh_2: yes, Vsevolod mentioned that there will be a limited printed series. Contact him privately for that. 2020-04-16T12:08:41Z Josh_2: How do I contact him privately oof 2020-04-16T12:08:56Z Josh_2: Wait there is an "email the author" button 2020-04-16T12:09:01Z phoe: click his name on the page that you linked 2020-04-16T12:09:23Z phoe: there's twitter and there's mail on his github page 2020-04-16T12:10:29Z Josh_2: Okay done 2020-04-16T12:10:35Z Josh_2: Thanks phoe 2020-04-16T12:12:19Z narimiran joined #lisp 2020-04-16T12:14:21Z phoe: <3 2020-04-16T12:15:01Z bryane joined #lisp 2020-04-16T12:16:01Z EvW joined #lisp 2020-04-16T12:17:24Z azimut__ quit (Quit: Leaving) 2020-04-16T12:18:53Z v_m_v joined #lisp 2020-04-16T12:20:54Z Kundry_Wag quit (Remote host closed the connection) 2020-04-16T12:21:17Z Josh_2 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-16T12:21:21Z Kundry_Wag joined #lisp 2020-04-16T12:23:34Z iAmDecim joined #lisp 2020-04-16T12:25:24Z Josh_2 joined #lisp 2020-04-16T12:25:30Z luckless joined #lisp 2020-04-16T12:31:29Z Josh_2: Well he got back to me very quickly :D 2020-04-16T12:39:01Z rixard quit (Read error: Connection reset by peer) 2020-04-16T12:41:48Z rixard joined #lisp 2020-04-16T12:42:46Z phoe: hah, same here 2020-04-16T12:42:54Z phoe: except I sent him a tiny bugreport 2020-04-16T12:46:38Z Josh_2` joined #lisp 2020-04-16T12:47:10Z Josh_2` quit (Remote host closed the connection) 2020-04-16T12:48:31Z Josh_2 quit (Ping timeout: 260 seconds) 2020-04-16T12:49:09Z Josh_2 joined #lisp 2020-04-16T12:53:51Z Josh_2 quit (Read error: Connection reset by peer) 2020-04-16T12:56:21Z Josh_2 joined #lisp 2020-04-16T12:57:48Z Josh_2 quit (Client Quit) 2020-04-16T12:58:55Z rpg joined #lisp 2020-04-16T13:04:29Z msk_ quit (Remote host closed the connection) 2020-04-16T13:10:05Z Bourne quit (Ping timeout: 258 seconds) 2020-04-16T13:14:00Z hiroaki joined #lisp 2020-04-16T13:14:54Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-16T13:16:34Z Josh_2 joined #lisp 2020-04-16T13:37:50Z scymtym joined #lisp 2020-04-16T13:38:18Z v_m_v quit (Remote host closed the connection) 2020-04-16T13:38:22Z SGASAU quit (Remote host closed the connection) 2020-04-16T13:39:05Z SGASAU joined #lisp 2020-04-16T13:41:50Z v_m_v joined #lisp 2020-04-16T13:49:10Z smasta joined #lisp 2020-04-16T13:52:34Z v_m_v quit (Remote host closed the connection) 2020-04-16T13:53:14Z smasta quit (Ping timeout: 240 seconds) 2020-04-16T13:56:13Z v_m_v joined #lisp 2020-04-16T13:57:35Z orivej quit (Ping timeout: 260 seconds) 2020-04-16T13:57:54Z orivej joined #lisp 2020-04-16T13:59:15Z v_m_v quit (Remote host closed the connection) 2020-04-16T14:01:15Z ahungry joined #lisp 2020-04-16T14:01:50Z antaoiseach joined #lisp 2020-04-16T14:01:50Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-16T14:06:26Z hiroaki quit (Ping timeout: 258 seconds) 2020-04-16T14:07:52Z retropikzel quit (Quit: Leaving) 2020-04-16T14:08:57Z antaoiseach quit (Quit: leaving) 2020-04-16T14:18:01Z bryane quit (Quit: Leaving) 2020-04-16T14:18:41Z shifty joined #lisp 2020-04-16T14:19:02Z hiroaki joined #lisp 2020-04-16T14:24:16Z heisig quit (Quit: Leaving) 2020-04-16T14:27:23Z kimq joined #lisp 2020-04-16T14:28:59Z dtman34 quit (Ping timeout: 265 seconds) 2020-04-16T14:32:22Z iAmDecim joined #lisp 2020-04-16T14:38:10Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-16T14:40:14Z shukryzablah quit (Remote host closed the connection) 2020-04-16T14:40:28Z shukryzablah joined #lisp 2020-04-16T14:40:41Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-04-16T14:41:16Z rwcom joined #lisp 2020-04-16T14:48:47Z jfrancis quit (Remote host closed the connection) 2020-04-16T14:49:21Z jfrancis joined #lisp 2020-04-16T14:54:11Z Lycurgus quit (Remote host closed the connection) 2020-04-16T14:55:26Z man213 joined #lisp 2020-04-16T15:15:16Z Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-16T15:22:10Z monokrom joined #lisp 2020-04-16T15:26:10Z ``Erik_ quit (Ping timeout: 258 seconds) 2020-04-16T15:28:06Z ``Erik joined #lisp 2020-04-16T15:30:46Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-16T15:31:44Z rippa joined #lisp 2020-04-16T15:34:24Z hiroaki quit (Ping timeout: 256 seconds) 2020-04-16T15:41:58Z ``Erik quit (Ping timeout: 265 seconds) 2020-04-16T15:43:31Z ``Erik joined #lisp 2020-04-16T15:44:15Z ayuce joined #lisp 2020-04-16T15:44:41Z man213_ joined #lisp 2020-04-16T15:46:02Z man213_ quit (Client Quit) 2020-04-16T15:49:05Z Ven`` joined #lisp 2020-04-16T15:50:40Z Cymew quit (Ping timeout: 256 seconds) 2020-04-16T15:52:42Z smasta joined #lisp 2020-04-16T15:53:07Z EvW quit (Ping timeout: 252 seconds) 2020-04-16T15:57:26Z smasta quit (Ping timeout: 265 seconds) 2020-04-16T15:59:12Z random-nick quit (Quit: quit) 2020-04-16T16:00:29Z ``Erik_ joined #lisp 2020-04-16T16:01:19Z ``Erik quit (Ping timeout: 250 seconds) 2020-04-16T16:02:00Z TCZ joined #lisp 2020-04-16T16:02:38Z TCZ left #lisp 2020-04-16T16:02:46Z hlavaty quit (Remote host closed the connection) 2020-04-16T16:12:06Z efm quit (Remote host closed the connection) 2020-04-16T16:13:53Z Kevslinger joined #lisp 2020-04-16T16:14:04Z ``Erik_ quit (Ping timeout: 256 seconds) 2020-04-16T16:15:49Z ``Erik joined #lisp 2020-04-16T16:16:10Z gko quit (Ping timeout: 256 seconds) 2020-04-16T16:18:58Z jmercouris joined #lisp 2020-04-16T16:22:20Z KDr21 quit (Ping timeout: 256 seconds) 2020-04-16T16:34:25Z Inline joined #lisp 2020-04-16T16:36:13Z sjl_ joined #lisp 2020-04-16T16:40:24Z kam joined #lisp 2020-04-16T16:42:06Z z147 joined #lisp 2020-04-16T16:47:28Z phoe: Hmmm 2020-04-16T16:47:32Z dale_ joined #lisp 2020-04-16T16:47:39Z dale_ is now known as dale 2020-04-16T16:47:42Z Lycurgus joined #lisp 2020-04-16T16:48:09Z kam quit (Quit: Quit) 2020-04-16T16:48:30Z kam joined #lisp 2020-04-16T16:49:17Z kam quit (Client Quit) 2020-04-16T16:50:21Z retropikzel joined #lisp 2020-04-16T16:50:27Z KDr21 joined #lisp 2020-04-16T16:51:24Z kam1 joined #lisp 2020-04-16T16:51:48Z phoe: I need a good (meaning: possibly natural) example of nested debugger invocation in which I can demonstrate condition-restart association. 2020-04-16T16:52:44Z EvW joined #lisp 2020-04-16T16:52:45Z phoe: Which means that if the debugger is launched with condition A and then get an error B without leaving the debugger, the level-2 debugger will not show restarts relevant to handling condition A. 2020-04-16T16:53:05Z rpg joined #lisp 2020-04-16T16:54:00Z z147 quit (Remote host closed the connection) 2020-04-16T16:54:10Z phoe: RESTART-CASE and WITH-SIMPLE-RESTART cannot be used to bind restart A, since they immediately transfer control outside the scope in which their restarts are bound. 2020-04-16T16:54:26Z z147 joined #lisp 2020-04-16T16:56:02Z random-nick joined #lisp 2020-04-16T16:56:56Z phoe: This is so much of an edge case that I really need to think hard about how to describe this... 2020-04-16T16:58:53Z Bike: eh? edge case? just evaluate something wrong in the debugger, no? 2020-04-16T16:59:22Z Bike: get an error with whatever fancy restart, and then in the debugger repl enter (+ "h") by mistake 2020-04-16T17:01:37Z jmercouris quit (Ping timeout: 258 seconds) 2020-04-16T17:02:10Z phoe: oh right 2020-04-16T17:03:20Z Bike: having it occur programmatically might be an edge case, i guess. you'd need a condition handler to signal some other error 2020-04-16T17:03:33Z phoe: I can do it interactively. 2020-04-16T17:03:44Z Domaldel joined #lisp 2020-04-16T17:03:53Z Domaldel left #lisp 2020-04-16T17:07:34Z shifty quit (Ping timeout: 240 seconds) 2020-04-16T17:10:29Z z147 quit (Quit: z147) 2020-04-16T17:10:47Z z147 joined #lisp 2020-04-16T17:10:51Z kam1 quit (Quit: Quit) 2020-04-16T17:10:52Z karlosz joined #lisp 2020-04-16T17:11:07Z kam1 joined #lisp 2020-04-16T17:12:07Z shukryzablah quit (Quit: ERC (IRC client for Emacs 27.0.90)) 2020-04-16T17:13:22Z z147 quit (Client Quit) 2020-04-16T17:13:37Z z147 joined #lisp 2020-04-16T17:19:37Z phoe: Bike: thanks, I've got it. I remembered that at this point of my book I can freely use the debugger REPL. 2020-04-16T17:20:37Z Bike: for a programmatic example, i guess the obvious would be invocation 2020-04-16T17:20:40Z Bike: er 2020-04-16T17:20:41Z Bike: encapsulation 2020-04-16T17:21:17Z Bike: like (defun foo (f) (handler-bind ((error (e) (error 'encapsulated-condition :original e ...))) (funcall f)) 2020-04-16T17:21:40Z Bike: if the debugger or whatever gets the encapsulated condition, it will miss restarts associated to the original condition 2020-04-16T17:21:50Z phoe: thankfully I don't need a programmatic example 2020-04-16T17:22:04Z phoe: I have already constructed a toy debugger function and installed it in place of SBCL's original one 2020-04-16T17:22:43Z phoe: so once I have committed a mistake and entered my debugger, I can commit more mistakes inside it and get a nested debugger 2020-04-16T17:23:06Z phoe: and get a proper list of restarts. 2020-04-16T17:23:09Z shifty joined #lisp 2020-04-16T17:28:21Z z147 quit (Quit: z147) 2020-04-16T17:35:26Z Inline: is there any constructed named defmethod* in lisp terminology ? 2020-04-16T17:35:45Z Inline: no idea what that sharp star method is for 2020-04-16T17:36:05Z Bike: i can't parse your english 2020-04-16T17:37:10Z phoe: Inline: not in the standard 2020-04-16T17:37:18Z phoe: where have you found it? 2020-04-16T17:40:30Z scymtym: mcclim uses DEFMETHOD* for defining methods on (SETF FOO) generic functions that accept multiple values (with limitations) 2020-04-16T17:44:27Z xdccMule[7276IJ] joined #lisp 2020-04-16T17:44:44Z shifty quit (Ping timeout: 265 seconds) 2020-04-16T17:44:50Z Lycurgus quit (Quit: Exeunt) 2020-04-16T17:45:04Z shifty joined #lisp 2020-04-16T17:46:29Z z147 joined #lisp 2020-04-16T17:46:35Z kopiyka quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-16T17:47:01Z kopiyka joined #lisp 2020-04-16T17:47:05Z Inline: ah ok 2020-04-16T17:47:06Z Inline: thank you 2020-04-16T17:47:23Z phoe: huh! 2020-04-16T17:47:31Z phoe: I have found a weird behaviour in sldb 2020-04-16T17:47:45Z phoe: if I eval-in-frame and type (abort), then nothing happens 2020-04-16T17:47:56Z kopiyka quit (Client Quit) 2020-04-16T17:48:03Z phoe: that's because sldb binds a "return to sldb level 1" restart which is then invoked 2020-04-16T17:48:07Z phoe: for an effective no-op 2020-04-16T17:48:28Z kopiyka joined #lisp 2020-04-16T17:54:55Z Inline: does anyone have good book recommendations for oop in lisp not only wrt to clos but also general methodology and design stuff ? 2020-04-16T17:55:38Z iAmDecim joined #lisp 2020-04-16T17:55:52Z Inline: best practices etc 2020-04-16T17:57:12Z jackdaniel: fixing metastability issues in an implementation is the best way to get your feet wet (and get drowned) 2020-04-16T17:57:58Z Inline: found a histories for gf calls in horn for example 2020-04-16T17:58:03Z Inline: that's nice 2020-04-16T17:58:04Z Inline: heh 2020-04-16T17:58:44Z Inline: is esa meant to handle drei stuff even ? 2020-04-16T17:59:03Z jackdaniel: ? 2020-04-16T18:00:00Z JohnMS_WORK quit (Read error: Connection reset by peer) 2020-04-16T18:00:04Z Inline: package hierarchy wise drei depends on esa and also uses it, but i saw some code where we try to reach back into esa from drei giving objects on the way which are drei objects.... 2020-04-16T18:00:41Z man213 quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-16T18:01:27Z jackdaniel: this is probably more CLIM topic, but I have no idea what that means. Drei and ESA were used to implement climacs. 2020-04-16T18:01:41Z Inline: hmmm 2020-04-16T18:01:57Z EvW quit (Ping timeout: 272 seconds) 2020-04-16T18:02:05Z Inline: parallel and mutual ? 2020-04-16T18:02:15Z Inline: or intertwined ? 2020-04-16T18:03:49Z Inline: not sure if there' 2020-04-16T18:04:01Z Inline: s some other barrier imposed upon by tools like asdf 2020-04-16T18:05:09Z z147 quit (Quit: z147) 2020-04-16T18:05:31Z rpg quit (Remote host closed the connection) 2020-04-16T18:09:04Z shka_ quit (Read error: Connection reset by peer) 2020-04-16T18:09:16Z shka_ joined #lisp 2020-04-16T18:09:37Z sauvin quit (Read error: Connection reset by peer) 2020-04-16T18:11:47Z EvW1 joined #lisp 2020-04-16T18:19:12Z Josh_2: Inline: not sure if this is what you want but there is https://en.wikipedia.org/wiki/Object-Oriented_Programming_in_Common_Lisp:_A_Programmer%27s_Guide_to_CLOS 2020-04-16T18:19:37Z Inline: i already own that book 2020-04-16T18:19:42Z Inline: heh :) 2020-04-16T18:19:45Z Josh_2: well there ya go xD 2020-04-16T18:19:50Z Inline: also mop from kiczales 2020-04-16T18:20:46Z Inline: i rather meant something like a meta level facility for constrained oop systems construction with all the bells an whistles and the ability to tweak it exactly to your needs 2020-04-16T18:20:53Z Inline: heh 2020-04-16T18:21:44Z Inline: i suppose mop would be the only tool for the hierarchy down direction 2020-04-16T18:21:58Z Inline: otherwise i don't know 2020-04-16T18:23:30Z man213 joined #lisp 2020-04-16T18:24:40Z revtintin quit (Quit: WeeChat 1.9.1) 2020-04-16T18:30:48Z man213_ joined #lisp 2020-04-16T18:32:51Z man213 quit (Ping timeout: 258 seconds) 2020-04-16T18:33:15Z Josh_2: Inline: I do not know 2020-04-16T18:33:33Z Josh_2: I do know from building a system that was basically OO from top to bottom that is annoying 2020-04-16T18:33:39Z Josh_2: that it is* 2020-04-16T18:33:47Z Josh_2: I think that is why people prefer "data driven" 2020-04-16T18:33:54Z vaporatorius quit (Ping timeout: 240 seconds) 2020-04-16T18:33:58Z vap1 joined #lisp 2020-04-16T18:34:45Z rpg joined #lisp 2020-04-16T18:39:08Z shifty quit (Ping timeout: 256 seconds) 2020-04-16T18:40:21Z shifty joined #lisp 2020-04-16T18:41:51Z man213_ quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-16T18:45:38Z man213 joined #lisp 2020-04-16T18:46:08Z vlatkoB quit (Remote host closed the connection) 2020-04-16T18:56:45Z Inline: right 2020-04-16T18:56:55Z Inline: it's like black box gaming 2020-04-16T18:57:15Z Inline: you put your hands in the engine without knowing the engine fully.... 2020-04-16T18:59:52Z ``Erik quit (Ping timeout: 256 seconds) 2020-04-16T19:01:16Z ``Erik joined #lisp 2020-04-16T19:04:58Z SGASAU quit (Remote host closed the connection) 2020-04-16T19:06:20Z Lycurgus joined #lisp 2020-04-16T19:06:40Z SGASAU joined #lisp 2020-04-16T19:08:08Z ``Erik_ joined #lisp 2020-04-16T19:08:34Z ``Erik quit (Ping timeout: 240 seconds) 2020-04-16T19:09:07Z cylb joined #lisp 2020-04-16T19:15:06Z phoe: dear #lisp, I have a honest question 2020-04-16T19:15:30Z phoe: or rather, a set of questions 2020-04-16T19:15:48Z phoe: why does the condition system suck? why shouldn't it be used? how shouldn't it be used? what is it terrible for? what are its downsides? 2020-04-16T19:17:44Z jackdaniel: you seem to make some dubious assertions in your questions (most notably in the first two) 2020-04-16T19:18:03Z phoe: jackdaniel: that question *is* supposed to be biased 2020-04-16T19:18:28Z phoe: I'm basically looking for all nitpicks about the condition system, fair and somewhat unfair 2020-04-16T19:18:52Z jackdaniel: doesn't seem to be a "honest" question then 2020-04-16T19:18:59Z phoe: you are correct 2020-04-16T19:19:02Z phoe: s/honest// 2020-04-16T19:19:05Z Bike: the separation from clos sucks. 2020-04-16T19:20:08Z Bike: obscure one: a lot of things kind of have to parse types at runtime which makes it hard to do first class environment stuff 2020-04-16T19:20:33Z Bike: there could be more introspection, like dissect has to do implementation-specific junk to get properties of restarts that any implementation basically has to have on hand 2020-04-16T19:21:13Z Bike: several implementations have to define a separate "*invoke-debugger-hook*" or something because of the requirement that BREAK rebinds *debugger-hook* to NIL. 2020-04-16T19:21:50Z phoe: ;; several? I thought it's all of them - I was able to find one in every implementation when I was writing trivial-custom-debugger 2020-04-16T19:22:04Z Bike: i was hedging because i have not done that research 2020-04-16T19:22:14Z Bike: the language could stand to define the types of conditions signaled in various situations more, but that's not exactly a problem with the condition system 2020-04-16T19:22:27Z Bike: though it is missing compiler-note and a few things that could be useful like simple-program-error 2020-04-16T19:22:29Z cosimone quit (Remote host closed the connection) 2020-04-16T19:22:58Z cosimone joined #lisp 2020-04-16T19:23:25Z Bike: as jcowan brought up the other day, the fact WARN requires a condition of type warning seems pointless 2020-04-16T19:23:50Z Bike: the function that implementations probably define to coerce condition designators into a condition is not exposed 2020-04-16T19:24:15Z Bike: (which makes it slightly more annoying to define operators analogous to SIGNAL/WARN/ERROR) 2020-04-16T19:24:48Z Bike: handler-case versus handler-bind confuses every newbie, but i don't know how i'd fix that exactly 2020-04-16T19:25:33Z Bike: think that's about all i got. 2020-04-16T19:25:35Z phoe: coerce condition designators? you mean MAKE-CONDITION? 2020-04-16T19:25:41Z phoe: or did I not understand that one 2020-04-16T19:26:06Z Bike: make condition does not accept a condition designator. 2020-04-16T19:26:14Z phoe: it accepts more than that, yes 2020-04-16T19:26:22Z Bike: no, it accepts different things. 2020-04-16T19:26:24Z rpg: Bike: Did you mean like when you call ERROR and pass it a condition class designator? 2020-04-16T19:26:24Z phoe: a condition object, or a string, or a symbol 2020-04-16T19:26:33Z Bike: It doesn't accept a string. 2020-04-16T19:26:39Z Bike: or a condition, for that matter 2020-04-16T19:26:46Z phoe: wait - I got that wrong 2020-04-16T19:26:47Z Bike: It's analogous to make-instance. 2020-04-16T19:26:51Z phoe: make-condition accepts a symbol 2020-04-16T19:26:59Z Bike: it accepts a type specifier. 2020-04-16T19:27:00Z phoe: warn/error accepts strings/objects/symbols 2020-04-16T19:27:07Z Lycurgus quit (Quit: Exeunt) 2020-04-16T19:27:11Z phoe: oh right, (make-condition '(or foo bar)) 2020-04-16T19:27:18Z Bike: oh, yeah, the fact it's specified to accept "a subtype of condition" instead of a condition class name is also bad. 2020-04-16T19:27:26Z lucasb joined #lisp 2020-04-16T19:27:26Z Bike: rpg: more like format controls and stuff. 2020-04-16T19:27:48Z MechaPenguin joined #lisp 2020-04-16T19:28:34Z Bike: so, for example, sbcl has this: https://github.com/sbcl/sbcl/blob/master/src/code/error.lisp#L16-L43 2020-04-16T19:29:00Z kam1 quit (Ping timeout: 256 seconds) 2020-04-16T19:29:20Z Bike: see how it says it also works for compiler-notify, which is of course not a standard function? if someone else wants to write an operator like error too, they have to write this themselves. 2020-04-16T19:29:29Z jackdaniel: sbcl is an oddball because they indeed implement conditions which are not standard-class 2020-04-16T19:29:37Z Bike: i mean, it can be done portably, but still 2020-04-16T19:29:53Z Bike: jackdaniel: i mean, that's fine, the standard could just say there's a condition-class metaclass and who knows what it is, or something 2020-04-16T19:30:43Z jackdaniel: sure, I'm just saying that sbcl is not a good reference point, they have more kludges than some other implementations because of that 2020-04-16T19:31:09Z Bike: i don't think coerce-to-condition is related to their decision there, despite this condition-layout-flag gibberish 2020-04-16T19:31:44Z Bike: https://gitlab.common-lisp.net/ecl/ecl/-/blob/develop/src/clos/conditions.lsp#L423-450 ecl also has it, ofc 2020-04-16T19:32:54Z jackdaniel: you are right, point withdrawn ,) 2020-04-16T19:43:23Z mechanical-pengu joined #lisp 2020-04-16T19:43:34Z mechanical-pengu quit (Remote host closed the connection) 2020-04-16T19:43:34Z MechaPenguin quit (Quit: Leaving) 2020-04-16T19:43:53Z MechaPenguin joined #lisp 2020-04-16T19:45:26Z ggole quit (Quit: Leaving) 2020-04-16T19:47:26Z MechaPenguin quit (Client Quit) 2020-04-16T19:47:37Z shka_ quit (Ping timeout: 264 seconds) 2020-04-16T19:48:13Z payphone quit (Ping timeout: 264 seconds) 2020-04-16T19:48:37Z payphone joined #lisp 2020-04-16T19:48:39Z rpg quit (Remote host closed the connection) 2020-04-16T19:50:33Z ljavorsk quit (Ping timeout: 250 seconds) 2020-04-16T19:54:55Z abhixec joined #lisp 2020-04-16T20:02:41Z kam1 joined #lisp 2020-04-16T20:05:08Z dtman34 joined #lisp 2020-04-16T20:07:43Z Inline: i suppose in the near future our incomes will be pure statistics 2020-04-16T20:07:45Z Inline: lol 2020-04-16T20:24:47Z Grue`: phoe: (re: why condition system sucks) the fact that define-condition and defclass with some sort of condition metaclass are not the same thing. 2020-04-16T20:27:42Z shifty quit (Ping timeout: 256 seconds) 2020-04-16T20:27:56Z shifty joined #lisp 2020-04-16T20:28:15Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-16T20:30:19Z pjb: phoe: note that if you write your own implementation, you can make define-condition and defclass with some sort of condition metaclass be the same thing. 2020-04-16T20:30:48Z phoe: pjb: my own implementation of the condition system, you mean? 2020-04-16T20:30:50Z pjb: Right, it wouldn't be conforming, but it would be an improvement. And once all implementations do it too, we can have a trivial-condition package and be happy. 2020-04-16T20:30:54Z pjb: Yes. 2020-04-16T20:31:08Z phoe: yes, that's correct; I won't do it though 2020-04-16T20:31:21Z pjb: choices 2020-04-16T20:31:21Z phoe: I'll work on kmp's original implementation, which uses defstruct. it's much simpler to understand. 2020-04-16T20:31:28Z phoe: ayup, choices 2020-04-16T20:31:43Z v_m_v joined #lisp 2020-04-16T20:33:02Z narimiran quit (Ping timeout: 256 seconds) 2020-04-16T20:38:27Z shangul quit (Ping timeout: 260 seconds) 2020-04-16T20:40:30Z SGASAU quit (Ping timeout: 258 seconds) 2020-04-16T20:40:41Z rpg joined #lisp 2020-04-16T20:41:45Z rpg: Here's a question I was asking on the LW mailing list: In all the implementations I regularly use I can package qualify entire s-expressions, as in 'shop-user::(foo bar baz) On Lispworks this causes a reader error. Couldn't find a clear discussion of this in the CLHS. Is this legit CL, or just a common extension to the syntax? 2020-04-16T20:42:02Z phoe: rpg: nonstandard syntax extension 2020-04-16T20:42:03Z phoe: clhs 2.3.5 2020-04-16T20:42:03Z specbot: Valid Patterns for Tokens: http://www.lispworks.com/reference/HyperSpec/Body/02_ce.htm 2020-04-16T20:42:15Z rpg: Ah -- just got your email, phoe ! Thanks! 2020-04-16T20:42:19Z phoe: <3 2020-04-16T20:42:42Z rpg: Bah. Now I have to figure out how to find and fix in my text files. 2020-04-16T20:42:54Z rpg: s/text/test 2020-04-16T20:43:36Z phoe: rpg: wouldn't a simple grep for ::( be enough? 2020-04-16T20:43:59Z _death: rpg: did you write a paper about FRAIL3 many moons ago? 2020-04-16T20:44:06Z jackdaniel: :: is a syntax available in sbcl (and, I think, in allegro), but it is not a conforming reader use 2020-04-16T20:44:06Z Colleen: Unknown command. Possible matches: 8, time, set, say, mop, get, tell, roll, help, deny, 2020-04-16T20:45:05Z rpg: phoe: Yes, but the rewrite is cumbersome -- Need to do something like replace with (repackage ) and define tree-searching repackage. That needs to not repackage things that are themselves package-qualified. :-( 2020-04-16T20:45:41Z rpg: _death: Yes, indeed. Maybe two? ACL and UAI? 2020-04-16T20:46:12Z phoe: rpg: I got 13 hits in total in the shop3 repository. Not much for manual replacing. 2020-04-16T20:46:37Z rpg: phoe: Fair. 2020-04-16T20:46:39Z phoe: Oh, wait. In actual lisp files, just four hits. 2020-04-16T20:46:56Z rpg: phoe: I *think* that's all that's necessary. 2020-04-16T20:47:09Z phoe: ...all four of which are marked with #+nil. 2020-04-16T20:47:17Z phoe: :) 2020-04-16T20:47:44Z rpg: phoe: That's interesting! It means I never used it except on this topic branch! That makes it *much* easier. 2020-04-16T20:48:08Z phoe: rpg: glad to be of service 2020-04-16T20:48:23Z _death: rpg: cool.. IEEE it seems.. A Language for Construction of Belief Networks (with Charniak) 2020-04-16T20:48:39Z rpg: Still, what a *useful* syntax extension. 2020-04-16T20:48:53Z rpg: _death: Oh, yes. The two I remember were the conference papers. 2020-04-16T20:52:08Z retropikzel quit (Quit: Leaving) 2020-04-16T20:52:18Z _death: rpg: nice, read it today (recently I've implemented something like IDEAL, I guess..) 2020-04-16T20:52:51Z Ven`` quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-16T20:53:04Z rpg: _death: Oh, neat. IDEAL was really a lovely piece of software. I still have a copy of it, but I can't share it because it belongs to a company, and I haven't been able to persuade them to open source it. 2020-04-16T20:54:26Z _death: rpg: did it also contain methods for learning BNs? 2020-04-16T20:54:52Z rpg: _death: Yes, but they were very rudimentary. If I recall correctly, basically just support for Dirichlet priors. 2020-04-16T20:56:16Z _death: rpg: ah.. I implemented chow-liu/polytree/k2/mdl/pc 2020-04-16T20:56:53Z _death: rpg: no beta/dirichlet priors though 2020-04-16T20:57:01Z rpg: _death: Cool. I've been working on some stuff with continuous-valued bayes nets lately, but using Python and PyMC3. Hard to beat the numpy ecosystem. 2020-04-16T21:00:13Z _death: I guess :).. my stuff is just for (self) educational value for now 2020-04-16T21:01:07Z _death: so implementational efficiency was not a concern 2020-04-16T21:03:34Z cosimone quit (Read error: Connection reset by peer) 2020-04-16T21:03:35Z rpg: _death: Well, my knowledge of complex monte carlo methods for continuous distributions really wasn't up to doing anything like what PyMC3 does by myeslf. 2020-04-16T21:03:41Z cosimone_ joined #lisp 2020-04-16T21:05:37Z keep_learning joined #lisp 2020-04-16T21:05:38Z v_m_v quit (Read error: Connection reset by peer) 2020-04-16T21:06:07Z _death: rpg: yeah pymc3 seemed very cool when I checked it out.. maybe one day CL will have an analogue 2020-04-16T21:06:47Z rpg: Or if one wanted one's own PPL, reach straight from CL into TensorFlow... 2020-04-16T21:08:23Z ahungry quit (Remote host closed the connection) 2020-04-16T21:09:13Z shifty quit (Ping timeout: 264 seconds) 2020-04-16T21:09:35Z scymtym: https://github.com/melisgl/micmac has some of the mcmc methods 2020-04-16T21:09:59Z shifty joined #lisp 2020-04-16T21:10:36Z rpg: scymtym: Ah. That's mostly Monte Carlo tree search. The cool kids seem to be using Hamiltonian Monte Carlo for continuous-valued distributions. 2020-04-16T21:11:03Z rpg: scymtym: But that's still hugely useful, since I could use an implementation of MCTS.... Thanks! 2020-04-16T21:12:32Z _death: rpg: well, I only implemented discrete models.. most BN literature from the 80s/90s at least concentrates on that 2020-04-16T21:12:46Z scymtym: rpg: if i remember correctly, the tree search bits are built on top of more general mcmc machinery. i may be misremembering 2020-04-16T21:24:44Z monokrom quit (Remote host closed the connection) 2020-04-16T21:26:08Z leo_song quit (Ping timeout: 256 seconds) 2020-04-16T21:26:40Z leo_song joined #lisp 2020-04-16T21:28:29Z sjl_ quit (Ping timeout: 250 seconds) 2020-04-16T21:30:21Z rpg: _death: As an old AI guy, discrete random variables used to be just my thing. My continuous probability theory is pretty rusty (i.e., bad). Perhaps unsurprisingly, because the intuitions are so different, the solution techniques are also quite different. 2020-04-16T21:31:11Z pilne joined #lisp 2020-04-16T21:31:14Z leo_song quit (Ping timeout: 256 seconds) 2020-04-16T21:32:10Z rpg: scymtym: That looks right, but even so, for the applications I'm working on now, HMC seems way better. If you are at all interested, Michael Betancourt has written a fascinating paper that does a great job of giving the intuitions about why HMC works -- even to a person like me whose knowledge of more complex analysis and geometry is quite weak. 2020-04-16T21:33:43Z iAmDecim joined #lisp 2020-04-16T21:36:18Z scymtym: rpg: from a brief glance, HMC seems like a particular, more efficient way of doing the jump proposal step. reminds me a bit of reversible jump mcmc which i used like ten year ago. still interesting but not relevant to current work so i can't spend any time 2020-04-16T21:36:32Z _death: rpg: right, I basically just read a book and implemented most of what it talks about (reading papers as needed).. since it was light on the details for continuous variables, I decided not to delve into it at that time.. since then I've done the same with a reinforcement learning book (but that was much easier since it had some pseudocode hehe) 2020-04-16T21:38:13Z leo_song joined #lisp 2020-04-16T21:38:14Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-16T21:38:27Z rpg: scymtym: I think that's right. The notion is that HMC finds its way to a "typical set" which is a set of locations that hold most of the posterior probability mass, and then, because of complicated mumble geometry, the sampler "orbits" in a location that all has essentially the same mass, so it rapidly explores the most interesting part of the distribution. 2020-04-16T21:38:31Z xdccMule[7276IJ] quit (Quit: mIRC xdccMule v0.2.8.6 (0.7.5.4) [3] URL: http://xdccmule.org) 2020-04-16T21:39:06Z rpg: _death: I think there's a reason that the techniques for discrete and continuous distirbutions are so different. 2020-04-16T21:40:28Z spikemaster joined #lisp 2020-04-16T21:41:04Z spikemaster left #lisp 2020-04-16T21:41:04Z orivej quit (Ping timeout: 258 seconds) 2020-04-16T21:42:24Z _death: maybe it's the focus on methods for exact inference? 2020-04-16T21:43:02Z pve quit (Quit: leaving) 2020-04-16T21:44:22Z Lord_of_Life_ joined #lisp 2020-04-16T21:44:28Z rpg: _death: I don't know -- when I was working on discrete distributions I found that the best exact methods were fine for what I was doing -- indeed better than the approximate methods. That was particular to my problems, though, which weren't too huge, but had very extreme probabilities, and when I was doing things importance sampling didn't work well enough to get to low probability regions. 2020-04-16T21:44:31Z jeosol joined #lisp 2020-04-16T21:45:44Z decent-username quit (Ping timeout: 246 seconds) 2020-04-16T21:46:26Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-04-16T21:46:26Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-16T21:47:00Z orivej joined #lisp 2020-04-16T21:48:39Z _death: rpg: yes, that's also true in my (toy) experience.. exact methods also had issues with near-zero probabilities, but they were worked around 2020-04-16T21:51:10Z _death: (those issues were performance related.. unlike what you describe re approx methods) 2020-04-16T21:57:05Z davd quit (Ping timeout: 250 seconds) 2020-04-16T22:01:27Z cosimone_ is now known as cosimone 2020-04-16T22:03:49Z rpg: _death: Yes, the sampling methods would just never converge. 2020-04-16T22:06:36Z iAmDecim joined #lisp 2020-04-16T22:08:34Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-16T22:08:45Z cosimone quit (Quit: Quit.) 2020-04-16T22:10:34Z _death: rpg: anyway, thanks for the conversation :).. I guess we should return to being on-topic now 2020-04-16T22:10:48Z rpg: WFM! 2020-04-16T22:11:49Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-16T22:12:30Z orivej quit (Ping timeout: 258 seconds) 2020-04-16T22:16:04Z shukryzablah joined #lisp 2020-04-16T22:16:59Z smasta joined #lisp 2020-04-16T22:19:14Z man213 quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-16T22:20:51Z jeosol quit (Remote host closed the connection) 2020-04-16T22:27:41Z jeosol joined #lisp 2020-04-16T22:31:03Z jeosol: Good morning everyone 2020-04-16T22:32:02Z phoe: jeosol: good night 2020-04-16T22:36:20Z __jrjsmrtn__ quit (Ping timeout: 256 seconds) 2020-04-16T22:36:47Z __jrjsmrtn__ joined #lisp 2020-04-16T22:42:18Z jeosol: lol, night for you I guess, or has the official greeting changed. I haven't been here in a while. 2020-04-16T22:44:13Z phoe: no no, it hasn't changed 2020-04-16T22:44:19Z phoe: it's just almost 1am for me 2020-04-16T22:44:28Z phoe: and I still haven't run my unit tests for the night 2020-04-16T22:47:36Z phoe: wait a second 2020-04-16T22:47:41Z phoe: clhs 9.1.4 2020-04-16T22:47:42Z specbot: Signaling and Handling Conditions: http://www.lispworks.com/reference/HyperSpec/Body/09_ad.htm 2020-04-16T22:47:51Z phoe: > Once a handler in a handler binding form (such as handler-bind or handler-case) has been selected, all handlers in that form become inactive for the remainder of the signaling process. While the selected handler runs, no other handler established by that form is active. That is, if the handler declines, no other handler established by that form will be considered for possible invocation. 2020-04-16T22:48:28Z phoe: but this is not how it works 2020-04-16T22:48:30Z phoe: https://plaster.tymoon.eu/view/1752#1752 2020-04-16T22:49:19Z phoe: or does it mean that handlers from that cluster stop being visible to SIGNAL if it's called inside the handlers' bodies? 2020-04-16T22:50:04Z Bike: it's a bit confusing. It says "while the selected handler runs [...] That is, if the handler declines", but declining means the handler is done running. 2020-04-16T22:50:09Z phoe: yes 2020-04-16T22:50:12Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-16T22:50:14Z phoe: ohhh, I think I understand it 2020-04-16T22:51:23Z phoe: the handler cluster becomes inactive - meaning that they cannot be selected by SIGNAL 2020-04-16T22:51:39Z Bike: yeah, that would make sense to me. 2020-04-16T22:51:57Z phoe: while the handler runs, no other handler is active - it means that SIGNAL cannot call handlers from the handler cluster whose handlers it is currently invoking 2020-04-16T22:52:07Z Bike: a new signal from the handler. 2020-04-16T22:52:12Z phoe: yes 2020-04-16T22:52:25Z Bike: this also matches the usual implementation of handler-bind. 2020-04-16T22:52:29Z phoe: yep 2020-04-16T22:52:39Z phoe: glad to know that I understood clustering properly 2020-04-16T22:53:18Z phoe: see https://plaster.tymoon.eu/view/1753#1753 2020-04-16T22:55:17Z phoe: okay - good night 2020-04-16T22:55:49Z random-nick quit (Ping timeout: 258 seconds) 2020-04-16T22:55:50Z phoe: tomorrow I'mma complain about the Lisp condition system 2020-04-16T22:58:25Z KDr22 joined #lisp 2020-04-16T22:59:37Z KDr21 quit (Ping timeout: 264 seconds) 2020-04-16T23:02:39Z kam1 quit (Ping timeout: 260 seconds) 2020-04-16T23:03:37Z X-Scale` joined #lisp 2020-04-16T23:04:42Z X-Scale quit (Ping timeout: 265 seconds) 2020-04-16T23:04:44Z X-Scale` is now known as X-Scale 2020-04-16T23:05:18Z kimq quit (Ping timeout: 256 seconds) 2020-04-16T23:05:20Z jeosol: phoe: good night, get some rest. 2020-04-16T23:07:48Z efm joined #lisp 2020-04-16T23:10:03Z werpan joined #lisp 2020-04-16T23:11:50Z Inline quit (Ping timeout: 246 seconds) 2020-04-16T23:16:05Z kam1 joined #lisp 2020-04-16T23:17:09Z efm quit (Read error: Connection reset by peer) 2020-04-16T23:17:54Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-16T23:20:50Z ineiros quit (Ping timeout: 240 seconds) 2020-04-16T23:24:24Z efm_ joined #lisp 2020-04-16T23:27:34Z torbo joined #lisp 2020-04-16T23:32:25Z shukryzablah left #lisp 2020-04-16T23:32:59Z kam1 quit (Quit: Quit) 2020-04-16T23:33:16Z kam1 joined #lisp 2020-04-16T23:33:57Z kam1 quit (Client Quit) 2020-04-16T23:34:11Z kam1 joined #lisp 2020-04-16T23:42:47Z jeosol quit (Remote host closed the connection) 2020-04-16T23:52:13Z buffergn0me joined #lisp 2020-04-16T23:54:42Z Bourne joined #lisp 2020-04-17T00:12:32Z jfrancis_ joined #lisp 2020-04-17T00:14:50Z EvW1 quit (Ping timeout: 246 seconds) 2020-04-17T00:15:34Z jfrancis quit (Ping timeout: 240 seconds) 2020-04-17T00:15:48Z phlim joined #lisp 2020-04-17T00:32:30Z werpan quit (Quit: Leaving) 2020-04-17T00:33:38Z iAmDecim joined #lisp 2020-04-17T00:38:48Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-17T00:40:14Z jprajzne quit (Ping timeout: 240 seconds) 2020-04-17T00:44:07Z buffergn0me quit (Ping timeout: 272 seconds) 2020-04-17T00:44:29Z zaquest quit (Quit: Leaving) 2020-04-17T00:45:33Z zaquest joined #lisp 2020-04-17T00:48:30Z jfrancis_ quit 2020-04-17T00:50:34Z libertyprime joined #lisp 2020-04-17T00:58:06Z Josh_2 quit (Ping timeout: 258 seconds) 2020-04-17T01:00:58Z Jeanne-Kamikaze joined #lisp 2020-04-17T01:04:14Z bitmapper quit (Ping timeout: 258 seconds) 2020-04-17T01:04:30Z gioyik joined #lisp 2020-04-17T01:09:57Z abhixec quit (Remote host closed the connection) 2020-04-17T01:11:15Z abhixec joined #lisp 2020-04-17T01:13:41Z abhixec quit (Client Quit) 2020-04-17T01:23:51Z buffergn0me joined #lisp 2020-04-17T01:27:08Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-17T01:27:41Z renzhi joined #lisp 2020-04-17T01:30:58Z Oladon joined #lisp 2020-04-17T01:35:07Z shukryzablah joined #lisp 2020-04-17T01:49:51Z Blukunfando joined #lisp 2020-04-17T01:54:11Z kosmos_Aurora joined #lisp 2020-04-17T01:55:23Z Aurora_iz_kosmos quit (Ping timeout: 240 seconds) 2020-04-17T02:01:19Z iridioid joined #lisp 2020-04-17T02:03:32Z smasta quit (Ping timeout: 265 seconds) 2020-04-17T02:03:54Z dddddd quit (Ping timeout: 240 seconds) 2020-04-17T02:05:40Z abhixec joined #lisp 2020-04-17T02:08:02Z abhixec quit (Client Quit) 2020-04-17T02:08:21Z abhixec joined #lisp 2020-04-17T02:16:01Z kosmos_Aurora is now known as Aurora_iz_kosmos 2020-04-17T02:17:58Z troydm quit (Ping timeout: 256 seconds) 2020-04-17T02:18:33Z rpg joined #lisp 2020-04-17T02:21:39Z buffergn0me quit (Ping timeout: 272 seconds) 2020-04-17T02:25:30Z kam1 quit (Ping timeout: 256 seconds) 2020-04-17T02:26:06Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-17T02:26:20Z sfa joined #lisp 2020-04-17T02:27:03Z sfa quit (Client Quit) 2020-04-17T02:29:55Z sfa joined #lisp 2020-04-17T02:32:47Z iAmDecim joined #lisp 2020-04-17T02:34:25Z efm_ quit (Ping timeout: 264 seconds) 2020-04-17T02:36:11Z Kundry_W_ joined #lisp 2020-04-17T02:36:36Z efm joined #lisp 2020-04-17T02:38:20Z kam1 joined #lisp 2020-04-17T02:38:34Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-17T02:38:56Z renzhi quit (Ping timeout: 256 seconds) 2020-04-17T02:42:49Z iridioid quit (Ping timeout: 264 seconds) 2020-04-17T02:46:56Z hdasch quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) 2020-04-17T02:46:57Z Bourne quit (Read error: Connection reset by peer) 2020-04-17T02:47:07Z hdasch joined #lisp 2020-04-17T02:48:17Z sfa quit (Quit: leaving) 2020-04-17T03:01:26Z slyrus__ quit (Read error: Connection reset by peer) 2020-04-17T03:05:06Z iridioid joined #lisp 2020-04-17T03:09:02Z ahungry joined #lisp 2020-04-17T03:10:25Z iridioid quit (Ping timeout: 272 seconds) 2020-04-17T03:11:49Z rtoy quit (Ping timeout: 252 seconds) 2020-04-17T03:11:50Z rtoy1 joined #lisp 2020-04-17T03:17:00Z beach: Good morning everyone! 2020-04-17T03:25:06Z sfa joined #lisp 2020-04-17T03:26:49Z ayuce quit (Remote host closed the connection) 2020-04-17T03:28:04Z ayuce joined #lisp 2020-04-17T03:29:25Z abhixec quit (Quit: leaving) 2020-04-17T03:30:30Z kam1 quit (Ping timeout: 256 seconds) 2020-04-17T03:31:47Z pilne quit (Quit: Make it idiot proof and someone will make a better idiot.) 2020-04-17T03:34:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-17T03:38:30Z Bourne joined #lisp 2020-04-17T03:47:00Z troydm joined #lisp 2020-04-17T03:53:03Z Aurora_iz_kosmos is now known as Aurora_v_kosmose 2020-04-17T03:55:53Z iridioid joined #lisp 2020-04-17T03:56:18Z Bike quit (Quit: Lost terminal) 2020-04-17T04:00:56Z iridioid quit (Ping timeout: 246 seconds) 2020-04-17T04:04:15Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-04-17T04:08:27Z Kundry_W_ quit (Remote host closed the connection) 2020-04-17T04:09:02Z Kundry_Wag joined #lisp 2020-04-17T04:13:03Z kam1 joined #lisp 2020-04-17T04:14:01Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-17T04:15:40Z vlatkoB joined #lisp 2020-04-17T04:16:51Z orivej joined #lisp 2020-04-17T04:16:56Z shifty quit (Ping timeout: 265 seconds) 2020-04-17T04:27:05Z kam1 quit (Ping timeout: 265 seconds) 2020-04-17T04:30:51Z Kundry_Wag joined #lisp 2020-04-17T04:35:36Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-17T04:39:53Z Inline joined #lisp 2020-04-17T04:49:40Z Lycurgus joined #lisp 2020-04-17T04:51:38Z sfa quit (Quit: leaving) 2020-04-17T04:57:56Z ahungry quit (Ping timeout: 256 seconds) 2020-04-17T05:02:01Z specbot quit (Disconnected by services) 2020-04-17T05:02:05Z specbot joined #lisp 2020-04-17T05:04:00Z DGASAU` quit (Ping timeout: 240 seconds) 2020-04-17T05:04:52Z kam1 joined #lisp 2020-04-17T05:05:46Z modula2 joined #lisp 2020-04-17T05:05:47Z Kundry_Wag joined #lisp 2020-04-17T05:06:32Z defaultxr quit (Ping timeout: 256 seconds) 2020-04-17T05:06:32Z modula2 is now known as defaultxr 2020-04-17T05:10:14Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-17T05:10:26Z kopiyka quit (*.net *.split) 2020-04-17T05:10:26Z voidlily quit (*.net *.split) 2020-04-17T05:10:26Z arbv quit (*.net *.split) 2020-04-17T05:10:27Z felideon quit (*.net *.split) 2020-04-17T05:10:27Z markasoftware quit (*.net *.split) 2020-04-17T05:10:27Z xristos quit (*.net *.split) 2020-04-17T05:10:27Z beaky quit (*.net *.split) 2020-04-17T05:11:10Z rtoy1 quit (Quit: rtoy1) 2020-04-17T05:11:17Z beaky_ joined #lisp 2020-04-17T05:11:28Z gko joined #lisp 2020-04-17T05:13:49Z beaky_ is now known as beaky 2020-04-17T05:15:03Z kopiyka joined #lisp 2020-04-17T05:15:03Z voidlily joined #lisp 2020-04-17T05:15:03Z arbv joined #lisp 2020-04-17T05:15:03Z felideon joined #lisp 2020-04-17T05:15:03Z markasoftware joined #lisp 2020-04-17T05:15:03Z xristos joined #lisp 2020-04-17T05:15:19Z sauvin joined #lisp 2020-04-17T05:15:28Z markasoftware quit (Max SendQ exceeded) 2020-04-17T05:16:38Z markasoftware joined #lisp 2020-04-17T05:19:10Z narimiran joined #lisp 2020-04-17T05:20:08Z Inline quit (Quit: Leaving) 2020-04-17T05:43:50Z wooden quit (Ping timeout: 256 seconds) 2020-04-17T05:44:08Z shangul joined #lisp 2020-04-17T05:45:35Z wooden joined #lisp 2020-04-17T05:45:57Z ebrasca quit (Read error: Connection reset by peer) 2020-04-17T05:46:21Z ebrasca joined #lisp 2020-04-17T05:48:48Z karlosz quit (Quit: karlosz) 2020-04-17T05:49:57Z gravicappa joined #lisp 2020-04-17T05:51:20Z JohnMS_WORK joined #lisp 2020-04-17T06:00:58Z dale quit (Quit: My computer has gone to sleep) 2020-04-17T06:03:06Z karlosz joined #lisp 2020-04-17T06:04:12Z torbo quit (Remote host closed the connection) 2020-04-17T06:13:01Z shka_ joined #lisp 2020-04-17T06:18:03Z _paul0 quit (Remote host closed the connection) 2020-04-17T06:18:24Z paul0 joined #lisp 2020-04-17T06:23:15Z shka_ quit (Read error: No route to host) 2020-04-17T06:23:37Z shka_ joined #lisp 2020-04-17T06:32:52Z rwcom9 joined #lisp 2020-04-17T06:34:17Z rwcom quit (Ping timeout: 258 seconds) 2020-04-17T06:34:17Z rwcom9 is now known as rwcom 2020-04-17T06:37:29Z iridioid joined #lisp 2020-04-17T06:37:31Z ayuce quit (Ping timeout: 250 seconds) 2020-04-17T06:38:28Z akssri joined #lisp 2020-04-17T06:38:44Z Lycurgus quit (Quit: Exeunt) 2020-04-17T06:39:09Z ljavorsk joined #lisp 2020-04-17T06:39:25Z akssri left #lisp 2020-04-17T06:42:36Z iridioid quit (Ping timeout: 256 seconds) 2020-04-17T06:46:54Z phlim quit (Ping timeout: 240 seconds) 2020-04-17T06:52:46Z varjag joined #lisp 2020-04-17T06:58:13Z v_m_v joined #lisp 2020-04-17T07:03:41Z v_m_v quit (Ping timeout: 265 seconds) 2020-04-17T07:03:42Z jeosol joined #lisp 2020-04-17T07:04:14Z v_m_v joined #lisp 2020-04-17T07:06:42Z Kundry_Wag joined #lisp 2020-04-17T07:07:51Z jeosol: Good morning everyone 2020-04-17T07:08:52Z no-defun-allowed: jeosol: Here, you dropped a ! 2020-04-17T07:09:09Z Cymew joined #lisp 2020-04-17T07:09:21Z jeosol: no-defun-allowed: I didn't get that 2020-04-17T07:09:35Z jeosol: I get it 2020-04-17T07:09:40Z jeosol: Good morning everyone! 2020-04-17T07:10:06Z no-defun-allowed: DavdL: No, apparently not. I did message someone in control, and they sounded like they were going to fix it, but nothing happened evidently. When in doubt, blame timezones. 2020-04-17T07:10:54Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-17T07:11:16Z beach: Hello jeosol. 2020-04-17T07:11:26Z no-defun-allowed: (Then there was an argument about having to throw money at the programmers to get anything fixed, which also could have distracted them. Maybe I will have to ask again.) 2020-04-17T07:12:02Z jeosol: Hi beach. Been a while 2020-04-17T07:13:41Z jeosol: I wanted to see if anyone here is doing machine-learning type work with CL. I want to replicate an example using CL(SBCL) with jupyter notebook but the setups appear complicated and I gotten some error. 2020-04-17T07:14:26Z jeosol: I recently spent some hours replicating an example (linear regression) from a 2019 python book and ran into version problems, deprecated keywords, arguments, etc. It was a nightmare, just to run an example in a book that's recent. 2020-04-17T07:16:16Z jeosol: I am not trying to rant against python, it has it merits and have used it fairly, but I wonder how much is spent, trying to sort this type of things out. 2020-04-17T07:17:04Z jeosol: if reached out to Mike Maul who appears to be maintaining CLML and he also has plans to extend the toolkit to use connectionist methods in the CLML library 2020-04-17T07:19:52Z pjb: jeosol: python is not one language, but a family of languages, numbered, from 1.0 to 3.8.2 and increasing! 2020-04-17T07:20:00Z jprajzne joined #lisp 2020-04-17T07:20:42Z jeosol: hahah. Ok, that's true. And the massive divide between 2 and 3. Point taken 2020-04-17T07:21:49Z jeosol: That will help next time, and not expect same type of stability on the CL side. 2020-04-17T07:22:13Z jeosol: Usually, you have to hunt down the specific version for things to work. 2020-04-17T07:22:58Z pjb: exactly. Or be prepared to update the code. 2020-04-17T07:24:52Z jeosol: damn. I thought the issue is not that severe. 2020-04-17T07:25:47Z jeosol: I worked a project with some colleagues last here, the guy doing the backend said the code needs 3.6, and another machine for testing had 3.7. 2020-04-17T07:27:03Z jeosol: it makes sense now to have the different family of language mindset. 2020-04-17T07:28:38Z LdBeth: DavdL: identify via NickServ not working? 2020-04-17T07:32:03Z SGASAU joined #lisp 2020-04-17T07:33:59Z phoe: FYI, I can't see any posts for DavdL myself. 2020-04-17T07:35:43Z beach: phoe: It's a known problem, apparently. 2020-04-17T07:39:15Z retropikzel joined #lisp 2020-04-17T07:42:14Z v_m_v quit (Remote host closed the connection) 2020-04-17T07:42:15Z phoe: beach: yep 2020-04-17T07:42:22Z v_m_v joined #lisp 2020-04-17T07:49:12Z Oladon quit (Quit: Leaving.) 2020-04-17T07:59:14Z pve joined #lisp 2020-04-17T08:04:46Z retropikzel quit (Quit: Leaving) 2020-04-17T08:09:08Z flip214 quit (Remote host closed the connection) 2020-04-17T08:10:18Z decent-username joined #lisp 2020-04-17T08:12:46Z retropikzel joined #lisp 2020-04-17T08:14:43Z ljavorsk quit (Ping timeout: 258 seconds) 2020-04-17T08:36:38Z shifty joined #lisp 2020-04-17T08:37:27Z shangul quit (Ping timeout: 265 seconds) 2020-04-17T09:01:06Z gioyik quit (Quit: WeeChat 2.8) 2020-04-17T09:04:48Z v_m_v quit (Remote host closed the connection) 2020-04-17T09:07:24Z Kundry_Wag joined #lisp 2020-04-17T09:11:06Z dddddd joined #lisp 2020-04-17T09:11:50Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-04-17T09:18:04Z SGASAU quit (Remote host closed the connection) 2020-04-17T09:18:57Z SGASAU joined #lisp 2020-04-17T09:21:57Z SGASAU quit (Remote host closed the connection) 2020-04-17T09:22:44Z SGASAU joined #lisp 2020-04-17T09:30:05Z pyx joined #lisp 2020-04-17T09:30:15Z pyx quit (Client Quit) 2020-04-17T09:30:19Z random-nick joined #lisp 2020-04-17T09:36:06Z v_m_v joined #lisp 2020-04-17T09:41:06Z v_m_v quit (Ping timeout: 256 seconds) 2020-04-17T09:45:57Z Lord_of_Life_ joined #lisp 2020-04-17T09:46:42Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-17T09:47:16Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-17T09:47:58Z jprajzne quit (Quit: jprajzne) 2020-04-17T09:57:31Z karlosz quit (Quit: karlosz) 2020-04-17T10:06:38Z Lycurgus joined #lisp 2020-04-17T10:12:04Z jprajzne joined #lisp 2020-04-17T10:24:04Z libertyprime quit (Read error: Connection reset by peer) 2020-04-17T10:24:55Z Bourne quit (Ping timeout: 260 seconds) 2020-04-17T10:32:04Z Bourne joined #lisp 2020-04-17T10:34:08Z sunwukong joined #lisp 2020-04-17T10:37:12Z Lycurgus quit (Ping timeout: 256 seconds) 2020-04-17T10:41:48Z fivo joined #lisp 2020-04-17T10:44:59Z kam1 quit (Ping timeout: 260 seconds) 2020-04-17T10:45:39Z joshcom joined #lisp 2020-04-17T10:46:24Z Kundry_Wag joined #lisp 2020-04-17T10:47:18Z cosimone joined #lisp 2020-04-17T10:55:54Z shifty quit (Ping timeout: 240 seconds) 2020-04-17T10:55:57Z kam1 joined #lisp 2020-04-17T10:56:05Z shifty joined #lisp 2020-04-17T11:03:13Z narimiran quit (Ping timeout: 264 seconds) 2020-04-17T11:05:18Z retropikzel quit (Quit: Leaving) 2020-04-17T11:06:57Z shangul joined #lisp 2020-04-17T11:07:30Z cosimone quit (Quit: Terminated!) 2020-04-17T11:09:07Z cosimone joined #lisp 2020-04-17T11:14:11Z cosimone quit (Remote host closed the connection) 2020-04-17T11:16:09Z Bourne quit (Ping timeout: 250 seconds) 2020-04-17T11:24:51Z heisig joined #lisp 2020-04-17T11:26:18Z SGASAU quit (Remote host closed the connection) 2020-04-17T11:27:17Z SGASAU joined #lisp 2020-04-17T11:34:01Z retropikzel joined #lisp 2020-04-17T11:35:13Z jeosol quit (Remote host closed the connection) 2020-04-17T11:35:17Z Xach: darn it, postmodern is broken today. 2020-04-17T11:36:08Z vms14 joined #lisp 2020-04-17T11:39:01Z phoe: Xach: oh! 2020-04-17T11:39:09Z phoe: might be the last commits that sabrac has pushed to it 2020-04-17T11:39:19Z phoe: https://github.com/marijnh/Postmodern/pull/226 2020-04-17T11:39:23Z phoe: how exactly did it break? 2020-04-17T11:39:27Z Xach: duplicate definition 2020-04-17T11:39:33Z Xach: https://github.com/marijnh/Postmodern/commit/baef8ebec5fa3d7321e1d0d51d977755bb5fc82a#diff-f024881c70a1b45614e976e64aa236a0R902 2020-04-17T11:40:11Z Xach: list-installed-extensions is duplicated 2020-04-17T11:43:40Z wheelsucker quit (Ping timeout: 256 seconds) 2020-04-17T11:45:13Z phoe: Xach: made a more detailed issue on the repository. let's wait for Sabra. 2020-04-17T11:47:09Z Lycurgus joined #lisp 2020-04-17T11:47:16Z sunwukong quit (Quit: Leaving) 2020-04-17T11:48:54Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-17T11:49:03Z theruran quit (Quit: Connection closed for inactivity) 2020-04-17T11:52:32Z westerns joined #lisp 2020-04-17T11:52:55Z Bike joined #lisp 2020-04-17T11:53:04Z joshcom quit (Ping timeout: 256 seconds) 2020-04-17T11:59:05Z Lycurgus quit (Quit: Exeunt) 2020-04-17T12:00:17Z Xach can't wait, MUST POSTMODERN IMMEDIATELY 2020-04-17T12:01:48Z phoe: OMG 2020-04-17T12:01:57Z phoe: then just delete either of these 2020-04-17T12:02:15Z phoe: likely the one that is added last, since it breaks protocol with the previous version of the function 2020-04-17T12:02:42Z iridioid joined #lisp 2020-04-17T12:04:47Z Kundry_Wag joined #lisp 2020-04-17T12:07:13Z iridioid quit (Ping timeout: 265 seconds) 2020-04-17T12:09:50Z v_m_v joined #lisp 2020-04-17T12:14:57Z v_m_v quit (Ping timeout: 265 seconds) 2020-04-17T12:15:17Z SGASAU quit (Remote host closed the connection) 2020-04-17T12:16:05Z SGASAU joined #lisp 2020-04-17T12:16:23Z scymtym_ joined #lisp 2020-04-17T12:16:39Z narimiran joined #lisp 2020-04-17T12:17:41Z scymtym quit (Ping timeout: 250 seconds) 2020-04-17T12:18:13Z shangul quit (Ping timeout: 264 seconds) 2020-04-17T12:18:48Z phoe: Xach: done 2020-04-17T12:30:47Z vap1 quit (Quit: Leaving) 2020-04-17T12:31:02Z SGASAU quit (Remote host closed the connection) 2020-04-17T12:32:43Z Xach: i want faster than immediate gratification! 2020-04-17T12:32:53Z sabrac joined #lisp 2020-04-17T12:32:59Z SGASAU joined #lisp 2020-04-17T12:33:36Z sabrac: phoe: Xach: Thank you. 2020-04-17T12:33:44Z phoe: Xach: you must invent time travel for that 2020-04-17T12:33:52Z phoe: sabrac: no problem 2020-04-17T12:37:47Z Xach: sabrac: do you use rss? i have a feed of postmodern build failures 2020-04-17T12:37:51Z Xach: (rarely updated) 2020-04-17T12:38:12Z cosimone joined #lisp 2020-04-17T12:38:20Z Inline joined #lisp 2020-04-17T12:39:27Z Xach: http://report.quicklisp.org/feeds/project/postmodern.rss 2020-04-17T12:39:32Z Kundry_Wag quit (Remote host closed the connection) 2020-04-17T12:39:49Z sabrac: Xach: Thank you. Will look at it. 2020-04-17T12:40:00Z Kundry_Wag joined #lisp 2020-04-17T12:44:26Z decent-username quit (Remote host closed the connection) 2020-04-17T12:45:14Z chip2n quit (Ping timeout: 240 seconds) 2020-04-17T12:48:45Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-17T12:50:14Z iAmDecim joined #lisp 2020-04-17T12:51:17Z pilne joined #lisp 2020-04-17T12:54:04Z EvW joined #lisp 2020-04-17T13:01:00Z fivo quit (Quit: WeeChat 1.9.1) 2020-04-17T13:01:27Z davd joined #lisp 2020-04-17T13:02:23Z hiroaki joined #lisp 2020-04-17T13:02:53Z wxie joined #lisp 2020-04-17T13:03:49Z Josh_2 joined #lisp 2020-04-17T13:07:40Z flip214 joined #lisp 2020-04-17T13:10:28Z bitmapper joined #lisp 2020-04-17T13:12:24Z phoe: blah 2020-04-17T13:12:52Z Shinmera: halb 2020-04-17T13:12:56Z phoe: RESTART-CASE is one of the places where &KEY foo bar &REST forms would make sense in a destructuring lambda list 2020-04-17T13:21:19Z heisig quit (Quit: Leaving) 2020-04-17T13:31:26Z FreeBirdLjj joined #lisp 2020-04-17T13:32:58Z scymtym__ joined #lisp 2020-04-17T13:34:42Z scymtym_ quit (Ping timeout: 265 seconds) 2020-04-17T13:39:19Z westerns left #lisp 2020-04-17T13:40:54Z ayuce joined #lisp 2020-04-17T13:44:49Z monokrom joined #lisp 2020-04-17T13:46:10Z scymtym__ quit (Ping timeout: 256 seconds) 2020-04-17T13:46:47Z scymtym__ joined #lisp 2020-04-17T13:50:19Z wxie quit (Remote host closed the connection) 2020-04-17T13:51:16Z wxie joined #lisp 2020-04-17T13:51:25Z v_m_v joined #lisp 2020-04-17T13:52:01Z scymtym__ quit (Ping timeout: 252 seconds) 2020-04-17T13:55:11Z ahungry joined #lisp 2020-04-17T13:56:37Z v_m_v quit (Ping timeout: 264 seconds) 2020-04-17T13:59:55Z shukryzablah quit (Remote host closed the connection) 2020-04-17T14:00:22Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-17T14:04:22Z cosimone quit (Remote host closed the connection) 2020-04-17T14:04:49Z cosimone joined #lisp 2020-04-17T14:09:30Z easyAnalyst joined #lisp 2020-04-17T14:09:48Z easyAnalyst quit (Client Quit) 2020-04-17T14:11:13Z vms14 quit (Remote host closed the connection) 2020-04-17T14:14:21Z Bourne joined #lisp 2020-04-17T14:16:39Z davsebamse joined #lisp 2020-04-17T14:19:54Z davsebam1e quit (Ping timeout: 256 seconds) 2020-04-17T14:20:34Z Cymew quit (Ping timeout: 240 seconds) 2020-04-17T14:21:58Z SGASAU quit (Remote host closed the connection) 2020-04-17T14:22:54Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-17T14:23:20Z SGASAU joined #lisp 2020-04-17T14:25:58Z sjl_ joined #lisp 2020-04-17T14:26:42Z xlei quit (Ping timeout: 256 seconds) 2020-04-17T14:28:03Z wxie quit (Ping timeout: 265 seconds) 2020-04-17T14:32:43Z cosimone quit (Remote host closed the connection) 2020-04-17T14:33:09Z cosimone joined #lisp 2020-04-17T14:33:22Z xlei joined #lisp 2020-04-17T14:40:18Z FreeBirdLjj quit 2020-04-17T14:40:52Z efm quit (Ping timeout: 256 seconds) 2020-04-17T14:41:54Z phoe: well 2020-04-17T14:42:43Z phoe: I've just discovered a good reason why I actually want to rewrite Kent's v18 conditions using DEFCLASS 2020-04-17T14:43:02Z phoe: I have no multiple inheritance with DEFSTRUCT! 2020-04-17T14:43:13Z phoe: but - restarts first 2020-04-17T14:47:56Z efm joined #lisp 2020-04-17T14:48:07Z Bike: does it use defstruct for conditions too? 2020-04-17T14:48:18Z phoe: yes 2020-04-17T14:48:20Z Bike: clasp uses a descendent of kent's code but the conditions were classes when we got it from ECL 2020-04-17T14:48:26Z phoe: correct 2020-04-17T14:48:42Z phoe: it's a CLtL1 condition system and CLtL1 did not even have defclass 2020-04-17T14:48:45Z Bike: (restart was still a defstruct, but i changed that a few weeks ago) 2020-04-17T14:48:47Z Bike: oh. 2020-04-17T14:49:00Z Bike: condition system without multiple inheritance sounds annoying. 2020-04-17T14:49:08Z knicklux joined #lisp 2020-04-17T14:49:09Z theseb joined #lisp 2020-04-17T14:49:15Z phoe: it certainly did 2020-04-17T14:49:58Z phoe: I'll gut out the condition internals and use defclass instead - that solves all of my problems with defstruct 2020-04-17T14:50:16Z phoe: in the worst case, I'll write a paragraph or two about the basics of DEFSTRUCT 2020-04-17T14:50:27Z theseb: When you set a variable to a value, is that added to the current environment or is a NEW environment created? I believe you only get NEW environments when you call a function or something like that? 2020-04-17T14:50:35Z phoe: theseb: depends 2020-04-17T14:50:56Z phoe: in general, a variable must already exist *before* you set any new value to it 2020-04-17T14:51:01Z Bike: "setting" means changing an existing binding. implementations will sometimes implicitly add a binding first, but it's generally to the same environment. 2020-04-17T14:51:03Z phoe: anything otherwise is undefined behaviour 2020-04-17T14:51:34Z phoe: implementations will permit stuff like (setq foo 42) but that's formally UB and also damn dirty code anyway. 2020-04-17T14:51:55Z phoe: the important question is: *which* variable are you trying a set? have you declared it previously? 2020-04-17T14:52:13Z phoe: ;; sigh, I might want to write an article about variables in Lisp someday 2020-04-17T14:53:11Z theseb: phoe: I'm actually writing a little lisp and was planning to just have a "define" command that created new variables as well as reset existing ones 2020-04-17T14:53:26Z theseb: phoe: Maybe I'm nieve but it seems easier to not sweat the distinction? 2020-04-17T14:53:38Z theseb: naive* 2020-04-17T14:53:50Z theseb: phoe: why not just have one "define" func that does both? 2020-04-17T14:53:51Z SGASAU quit (Remote host closed the connection) 2020-04-17T14:54:03Z beach: theseb: That kind of thing is very error prone, which is why Common Lisp has different operators for creating and assigning to variables. 2020-04-17T14:54:15Z theseb: phoe: actually....regardless...I'm still not clear WHEN a lisp actually makes a new environment level 2020-04-17T14:54:34Z SGASAU joined #lisp 2020-04-17T14:54:43Z dale_ joined #lisp 2020-04-17T14:55:01Z dale_ is now known as dale 2020-04-17T14:55:10Z cosimone quit (Remote host closed the connection) 2020-04-17T14:55:38Z cosimone joined #lisp 2020-04-17T14:56:09Z beach: theseb: There is a distinction between global environments, lexical environments created by the compiler, and local run-time environments created by function enclosures. 2020-04-17T14:56:17Z Bike: theseb: Say you have (define FOO 4) (define FO0 5). You've defind two variables instead of defining one and then setting it. Having a separate (set FO0 5) could find the variable hasn't been defined and signal an error instead. 2020-04-17T14:57:32Z Bike: theseb: generally you make a new environment when you enter a lexical scope, like by entering a function or LET body. 2020-04-17T14:58:25Z theseb: Bike: do even simple func invocations like (+ 3 4) need a new env level to hold the arg values? i'm thinking yes 2020-04-17T14:58:42Z beach: theseb: Yes, that's what he said, entering a function. 2020-04-17T14:58:48Z theseb: ok 2020-04-17T14:58:50Z beach: Like + in this case. 2020-04-17T14:58:56Z theseb: thanks..i get it now 2020-04-17T15:01:00Z phoe: theseb: when I was implementing a tiny lisp, I used the paper Roots of Lisp 2020-04-17T15:01:07Z phoe: it has the concept of environments 2020-04-17T15:01:15Z beach: theseb: and (let (( )) ) is essentially equivalent to a function call, like ((lambda () ) ) 2020-04-17T15:01:39Z cosimone quit (Excess Flood) 2020-04-17T15:02:10Z cosimone joined #lisp 2020-04-17T15:02:20Z scymtym joined #lisp 2020-04-17T15:11:37Z phoe: another small enlightenment about the restart system! 2020-04-17T15:12:01Z beach: What's that? 2020-04-17T15:12:07Z phoe: with-condition-restarts accepts a list of restarts, right? 2020-04-17T15:12:51Z phoe: if the implementation does restarts via clusters - as it should - then it is able to pass (car *restart-clusters*) to it to associate all recently bound restarts (the last cluster) with a given condition 2020-04-17T15:12:57Z phoe: that's a very nice thing! 2020-04-17T15:14:28Z whiteline quit (Remote host closed the connection) 2020-04-17T15:14:37Z theseb: beach: make sense 2020-04-17T15:14:46Z theseb: phoe: yea i love that paper 2020-04-17T15:15:27Z theseb: phoe: i think a simple lisp is a nice way to understand even languages like python...some say python is like a lisp w/o parens 2020-04-17T15:16:01Z theseb: loosely speaking 2020-04-17T15:17:31Z travv0: word on the street is that python is an "acceptable lisp" 2020-04-17T15:18:18Z whiteline joined #lisp 2020-04-17T15:18:55Z whiteline quit (Remote host closed the connection) 2020-04-17T15:18:57Z beach: Yeah, for some reason, lots of people who invent new languages want to categorize them as "a Lisp". I don't understand why since Lisp is not very popular, and if they want Lisp they can just use Common Lisp. 2020-04-17T15:19:11Z _death: python is an acceptable lisp compiler 2020-04-17T15:20:34Z libertyprime joined #lisp 2020-04-17T15:20:42Z Josh_2 quit (Read error: Connection reset by peer) 2020-04-17T15:21:04Z whiteline joined #lisp 2020-04-17T15:21:30Z whiteline quit (Remote host closed the connection) 2020-04-17T15:25:09Z theseb: beach: I don't know the innards of the C implementation of Python but it would be very interesting to me if they basically created a sort of proto-lisp in C to do it right 2020-04-17T15:26:08Z _death: python is written in lisp 2020-04-17T15:26:15Z theseb: beach: to answer your question....it seems advisable and less error prone in language design to first create a Turing complete tiny lisp and then build the rest of your language from that core....but what do i know 2020-04-17T15:26:31Z theseb: _death: yes...common lisp even 2020-04-17T15:26:40Z theseb: _death: actually python has been implemented in many langs 2020-04-17T15:26:53Z phoe: ;; _death: means the common lisp compiler named Python, which has nothing to do with the whitespace-indented programming language 2020-04-17T15:26:56Z iAmDecim joined #lisp 2020-04-17T15:26:59Z theseb: _death: but I wonder if under the hood they all had to implement some kind of crude lisp we don't know about 2020-04-17T15:27:10Z _death: the "whitespace-indented programming language" is off topic 2020-04-17T15:27:17Z Josh_2 joined #lisp 2020-04-17T15:27:39Z Bike: also lisps have been written in C many times. imagining one in python is not necessary 2020-04-17T15:27:52Z flip214 quit (Read error: Connection reset by peer) 2020-04-17T15:27:59Z beach: theseb: Actually, when it comes to handling environments, most languages do it roughly the same way. There are not many alternatives really. 2020-04-17T15:28:11Z flip214 joined #lisp 2020-04-17T15:29:00Z whiteline joined #lisp 2020-04-17T15:29:15Z narimiran quit (Ping timeout: 265 seconds) 2020-04-17T15:31:12Z beach: So if handling environments the same way that Lisp does is a sufficient criterion for calling the language "a Lisp", then there are lots of them out there. 2020-04-17T15:35:37Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-17T15:36:13Z hiroaki quit (Ping timeout: 264 seconds) 2020-04-17T15:38:20Z theseb: I was surprised to read that Lisp isn't really based on lambda calculus....Yes McCarthy used the keyword "lambda" in his language but he says he didn't really understand lambda calculus at the beginning 2020-04-17T15:38:56Z theseb: So that sort of bugged me because it would have been elegant to me if Lisp could be understood as an extension of lambda cal 2020-04-17T15:39:00Z Bike: lambda calculus is usually expressed in terms of renaming, rather than environments per se. 2020-04-17T15:39:01Z theseb: is that right? 2020-04-17T15:39:05Z iridioid joined #lisp 2020-04-17T15:39:25Z beach: Renaming and outermost evaluation, a.k.a. "lazy" evaluation. 2020-04-17T15:39:55Z beach: theseb: If Lisp had been done that way, it would have been very slow. 2020-04-17T15:40:03Z theseb: Bike: yes you are right...lambda calculus has no concept of an environment 2020-04-17T15:40:16Z Lycurgus joined #lisp 2020-04-17T15:40:34Z Bike: i mean, renaming versus environments doesn't affect semantics so much (unlike evaluation order) 2020-04-17T15:40:53Z theseb: Bike: Did McCarthy invent the concept of an environment? if so that would be quite impressive 2020-04-17T15:41:03Z Bike: beats me. 2020-04-17T15:41:06Z theseb: imagine inventing a whole new way of doing languages 2020-04-17T15:42:07Z narimiran joined #lisp 2020-04-17T15:43:59Z iridioid quit (Ping timeout: 258 seconds) 2020-04-17T15:46:30Z phoe: eh, that's already deeply theoretical 2020-04-17T15:50:03Z theseb: phoe: huh? is that bad? 2020-04-17T15:52:50Z gko quit (Ping timeout: 256 seconds) 2020-04-17T15:54:45Z phoe: not necessarily 2020-04-17T15:55:40Z phoe: ;; just remember to keep something that holds you to the ground while theorizing 2020-04-17T15:59:12Z kartikay joined #lisp 2020-04-17T15:59:14Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-04-17T16:00:04Z emacsomancer quit (Read error: Connection reset by peer) 2020-04-17T16:00:29Z whiteline quit (Remote host closed the connection) 2020-04-17T16:01:23Z narimiran quit (Ping timeout: 260 seconds) 2020-04-17T16:02:23Z whiteline joined #lisp 2020-04-17T16:03:48Z emacsomancer joined #lisp 2020-04-17T16:05:58Z whiteline quit (Remote host closed the connection) 2020-04-17T16:06:21Z whiteline joined #lisp 2020-04-17T16:07:39Z libertyprime quit (Read error: Connection reset by peer) 2020-04-17T16:07:46Z phoe: well 2020-04-17T16:08:04Z phoe: working on kmp's code is mostly a pleasure 2020-04-17T16:08:37Z phoe: mostly when one realizes that a lot of his code can be simplified via modern wonders such as print-unreadable-object or destructuring-bind 2020-04-17T16:09:00Z Bike: yeah, clasp had that unique-id thing up until like last month when i noticed i should get rid of it 2020-04-17T16:09:18Z phoe: that was one of the first things I threw out 2020-04-17T16:10:09Z narimiran joined #lisp 2020-04-17T16:10:42Z cosimone quit (Remote host closed the connection) 2020-04-17T16:11:09Z cosimone joined #lisp 2020-04-17T16:12:53Z gko joined #lisp 2020-04-17T16:13:05Z phoe: oh, by the way - if you have clasp installed, could you check if trivial-custom-debugger works there? I assumed that it should work the same as in ECL 2020-04-17T16:13:19Z dilated_dinosaur joined #lisp 2020-04-17T16:14:07Z Bike: your repo? i'm rebuilding right now, but i'll check in a few minutes 2020-04-17T16:14:21Z phoe: yes, my repo 2020-04-17T16:14:34Z Bike: so this is basically invoke-debugger-hook the library? 2020-04-17T16:14:38Z phoe: yes 2020-04-17T16:15:04Z phoe: since literally everyone has it and literally everyone does it differently 2020-04-17T16:15:08Z phoe: business as usual in the Lisp world™ 2020-04-17T16:15:14Z Bike: i assume you just pulled this from swank. 2020-04-17T16:15:26Z phoe: Bike: not all of it 2020-04-17T16:16:03Z phoe: I had to work on clisp a little bit to hammer it into shape and I dug into ACL and LW on my own to find their hooks 2020-04-17T16:16:48Z phoe: the LW solution in swank works only if you are not using their CAPI frontend 2020-04-17T16:16:59Z Bike: hrm. well, in any case i'd be surprised if it didn't work, but i'll check anyway 2020-04-17T16:17:33Z phoe: which is because the LW code in swank is weird and for whatever reason it seems to hook into GUI-related code in order to display SLDB 2020-04-17T16:17:44Z phoe: I found a lower-level solution and opened a slime issue with details. 2020-04-17T16:18:01Z phoe: Bike: thanks a million 2020-04-17T16:18:33Z knicklux quit (Ping timeout: 265 seconds) 2020-04-17T16:19:35Z gko quit (Ping timeout: 260 seconds) 2020-04-17T16:20:19Z phoe: okay 2020-04-17T16:20:31Z phoe: the fun thing about the condition system is that there's already piles of code for testing it 2020-04-17T16:20:49Z phoe: I just need to gut ANSI-TEST out and run these against the kmp code that I work on 2020-04-17T16:23:05Z beach` joined #lisp 2020-04-17T16:23:26Z EvW quit (Ping timeout: 240 seconds) 2020-04-17T16:23:56Z beach quit (Disconnected by services) 2020-04-17T16:24:00Z beach` is now known as beach 2020-04-17T16:24:42Z narimiran quit (Remote host closed the connection) 2020-04-17T16:24:47Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-17T16:24:53Z gko joined #lisp 2020-04-17T16:31:10Z knicklux joined #lisp 2020-04-17T16:31:22Z samebchase quit (Ping timeout: 256 seconds) 2020-04-17T16:31:46Z samebchase joined #lisp 2020-04-17T16:33:44Z narimiran joined #lisp 2020-04-17T16:38:36Z iAmDecim joined #lisp 2020-04-17T16:40:07Z Lycurgus quit (Remote host closed the connection) 2020-04-17T16:42:46Z abhixec joined #lisp 2020-04-17T16:43:23Z gko quit (Ping timeout: 260 seconds) 2020-04-17T16:43:41Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-17T16:45:16Z Bike: phoe: the readme example works identically in clasp. 2020-04-17T16:45:21Z phoe: Bike: <3 2020-04-17T16:45:25Z phoe: perfect, thank you 2020-04-17T16:45:33Z Bike: no problemo 2020-04-17T16:46:02Z phoe: we have therefore successfully enslaved all standard debuggers in all alive Lisp implementations I'm aware of 2020-04-17T16:46:15Z ATuin joined #lisp 2020-04-17T16:46:17Z phoe: hm, except SICL 2020-04-17T16:46:34Z Bike: i don't think scil has a debugger, let alone invoke-debugger-hook. 2020-04-17T16:46:51Z phoe: https://github.com/robert-strandh/SICL/blob/e19613c61d8797a9ea586e3c513efdaeb0860d68/Code/Conditions/signaling.lisp#L131 2020-04-17T16:46:55Z phoe: it has the former but not the latter 2020-04-17T16:47:01Z narimiran quit (Ping timeout: 264 seconds) 2020-04-17T16:47:10Z Bike: why didn't that show up on github search... why is github search so bad... 2020-04-17T16:48:34Z Bike: this manages to not be standard conforming, because it can return normally, and because it ignores debugger-hook 2020-04-17T16:52:55Z phoe: clearly not yet complete 2020-04-17T16:53:44Z shukryzablah joined #lisp 2020-04-17T16:53:53Z phoe: the only two options in the debugger are printing "this should be some help" and returning from it 2020-04-17T16:54:23Z Bike: if it was only the first option that would be conforming. 2020-04-17T16:54:37Z phoe: well 2020-04-17T16:54:41Z phoe: technically, you're right 2020-04-17T16:54:54Z Bike: the best kind of right. 2020-04-17T17:00:43Z ATuin: what's the difference between directories "sbcl-bundle-systems" and "sbcl-source" for asdf files? 2020-04-17T17:01:01Z ATuin: i see safe ASDF files in both places so i'm a bit confused 2020-04-17T17:02:24Z cosimone quit (Quit: Terminated!) 2020-04-17T17:08:58Z karlosz joined #lisp 2020-04-17T17:11:37Z z147 joined #lisp 2020-04-17T17:18:11Z kartikay quit (Ping timeout: 265 seconds) 2020-04-17T17:19:02Z [rg] joined #lisp 2020-04-17T17:19:18Z [rg]: what happens when you create a cons cell? 2020-04-17T17:19:27Z [rg]: just a single one 2020-04-17T17:19:38Z [rg]: like `(cons 1 2)` 2020-04-17T17:19:42Z Bike: What do you mean what happens? A cons cell is made. 2020-04-17T17:19:51Z Bike: What reference frame are you asking from? 2020-04-17T17:20:10Z [rg]: what does the structure look like 2020-04-17T17:20:11Z kartikay joined #lisp 2020-04-17T17:20:20Z [rg]: does it just make a container to hold 1, 2 2020-04-17T17:20:29Z [rg]: or is it, 1, 2, NULL 2020-04-17T17:20:36Z Bike: Just 1 2. 2020-04-17T17:20:53Z Bike: You can get the 1 with CAR and the 2 with CDR. there's no way to get nil from that cons. 2020-04-17T17:22:01Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-04-17T17:22:02Z [rg]: ok, do you get nil when you use `list` 2020-04-17T17:22:07Z [rg]: ? 2020-04-17T17:22:18Z [rg]: `(list 1 2)` 2020-04-17T17:22:30Z phoe: (list 1 2) gives you (1 2) 2020-04-17T17:22:33Z phoe: which is (1 . (2 . NIL)) 2020-04-17T17:23:18Z [rg]: ok, are all elements in those list are "pointers" 2020-04-17T17:23:43Z EvW joined #lisp 2020-04-17T17:24:21Z jackdaniel: minion: tell [rg] about gentle 2020-04-17T17:24:21Z minion: [rg]: 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/ 2020-04-17T17:24:22Z Bike: this is what i meant by reference frame. 2020-04-17T17:24:36Z Bike: lisp does not have a concept of pointers. pointers might come up in the implementation, though. 2020-04-17T17:24:52Z kartikay quit (Client Quit) 2020-04-17T17:26:16Z ljavorsk joined #lisp 2020-04-17T17:26:17Z [rg]_ joined #lisp 2020-04-17T17:27:10Z [rg] quit (Read error: Connection reset by peer) 2020-04-17T17:27:10Z [rg]_ is now known as [rg] 2020-04-17T17:38:47Z abhixec quit (Ping timeout: 250 seconds) 2020-04-17T17:40:41Z rpg joined #lisp 2020-04-17T17:42:23Z EvW quit (Ping timeout: 246 seconds) 2020-04-17T17:42:54Z [rg] quit (Ping timeout: 240 seconds) 2020-04-17T17:43:11Z [rg] joined #lisp 2020-04-17T17:46:59Z davd quit (Remote host closed the connection) 2020-04-17T17:53:15Z v_m_v joined #lisp 2020-04-17T17:53:42Z [rg] quit (Ping timeout: 256 seconds) 2020-04-17T17:53:45Z cosimone joined #lisp 2020-04-17T17:55:41Z dddddd quit (Ping timeout: 250 seconds) 2020-04-17T17:55:42Z frgo_ quit (Remote host closed the connection) 2020-04-17T17:56:20Z frgo joined #lisp 2020-04-17T17:57:21Z Lord_Nightmare joined #lisp 2020-04-17T17:57:54Z v_m_v quit (Ping timeout: 240 seconds) 2020-04-17T18:01:26Z frgo quit (Ping timeout: 240 seconds) 2020-04-17T18:02:08Z frgo joined #lisp 2020-04-17T18:04:07Z narimiran joined #lisp 2020-04-17T18:04:21Z hhdave quit (Ping timeout: 250 seconds) 2020-04-17T18:04:56Z iAmDecim joined #lisp 2020-04-17T18:09:10Z narimiran quit (Quit: leaving) 2020-04-17T18:09:58Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-17T18:10:08Z sugarwren joined #lisp 2020-04-17T18:13:02Z retropikzel quit (Quit: Leaving) 2020-04-17T18:14:01Z retropikzel joined #lisp 2020-04-17T18:19:02Z sauvin quit (Ping timeout: 256 seconds) 2020-04-17T18:27:24Z hhdave joined #lisp 2020-04-17T18:27:35Z rpg quit (Remote host closed the connection) 2020-04-17T18:45:03Z phoe: Is thre a format control will print all of its arguments? 2020-04-17T18:45:28Z phoe: I want something that will allow me to print arbitrary args, from 0 to N. 2020-04-17T18:45:33Z phoe: Or should I not use FORMAT in that case? 2020-04-17T18:46:02Z EvW1 joined #lisp 2020-04-17T18:46:30Z Xach: (format t "~v@{~A~}" 2 'a 'b 'c) => AB 2020-04-17T18:52:27Z shka_ quit (Ping timeout: 250 seconds) 2020-04-17T18:56:34Z phoe: Xach: thanks! 2020-04-17T18:57:43Z phoe: clhs ~v 2020-04-17T18:57:43Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_c.htm 2020-04-17T19:02:01Z iAmDecim joined #lisp 2020-04-17T19:02:27Z Xach: phoe: v is a modifier 2020-04-17T19:03:07Z phoe: wait, really? 2020-04-17T19:03:13Z phoe: clhs ~{ 2020-04-17T19:03:13Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cgd.htm 2020-04-17T19:03:21Z Xach: yes. it took the 2 from the arg list as though i had written ~2@{...} 2020-04-17T19:03:36Z Xach: and that means iterate twice. 2020-04-17T19:03:38Z Bike: v is explained just above figure 22-6 in the page specbot came up with. 2020-04-17T19:03:49Z Bike: "In place of a prefix parameter to a directive, V (or v) can be used." and so on 2020-04-17T19:04:08Z phoe: oooooooh 2020-04-17T19:04:12Z Xach: i like to use lowercase v and uppercase format letters to distinguish them 2020-04-17T19:04:19Z phoe: woah 2020-04-17T19:06:47Z jackdaniel: format control strings look like obj-apl++ 2020-04-17T19:07:05Z jackdaniel: and are equally readable ,) 2020-04-17T19:09:35Z shukryzablah quit (Quit: ERC (IRC client for Emacs 27.0.90)) 2020-04-17T19:12:26Z antaoiseach joined #lisp 2020-04-17T19:12:33Z orivej quit (Ping timeout: 265 seconds) 2020-04-17T19:12:42Z antaoiseach: Whoa... quite a lot of folks in here. Good to see so many Lispers! 2020-04-17T19:15:39Z iridioid joined #lisp 2020-04-17T19:16:05Z phoe: antaoiseach: did you expect a cemetery? 2020-04-17T19:16:25Z phoe: I mean, it's nothing strange, given how some people say that Lisp is Dead™ 2020-04-17T19:17:11Z theseb: ( (lambda (a b) (car '(a b))) 8 9 ) <--- Why does this return 'a' instead of 8? 2020-04-17T19:17:24Z phoe: you quoted the cons 2020-04-17T19:17:38Z phoe: that's why it's passed as a literal 2020-04-17T19:17:42Z theseb: if do (car (8 9)) it crashes 2020-04-17T19:17:47Z phoe: yes 2020-04-17T19:17:47Z antaoiseach: phoe: *Groan*... why do I get comp.lang.lisp vibes? 2020-04-17T19:17:57Z phoe: because (8 9) is not a good function call 2020-04-17T19:18:04Z theseb: phoe: how fix? 2020-04-17T19:18:13Z phoe: antaoiseach: well, this place has fewer spammers 2020-04-17T19:18:20Z antaoiseach: Hah 2020-04-17T19:18:25Z phoe: and Naggum is also not around anymore 2020-04-17T19:18:33Z antaoiseach: Yeah, kinda miss his rants 2020-04-17T19:18:37Z phoe: theseb: ((lambda (a b) (car (cons a b))) 8 9) 2020-04-17T19:18:46Z theseb: oh my 2020-04-17T19:19:01Z phoe: antaoiseach: I don't. I wasn't around when he ranted, but I read lots of his mail 2020-04-17T19:19:07Z theseb: phoe: ok thanks 2020-04-17T19:19:26Z Aurora_v_kosmose: ( (lambda (a b) (car (list a b))) 8 9 ) 2020-04-17T19:19:45Z phoe: he was as much of a genius as he was an asshole, and I, personally, am thankful that most of the pearls from his mails have already been extracted and implemented elsewhere 2020-04-17T19:20:32Z phoe: nowadays it's rare when someone *really* needs to go cesspool diving into the archives of comp.lang.lisp.naggum 2020-04-17T19:20:33Z antaoiseach: ((lambda (a b) (car `(,a ,b))) 8 9) should work too 2020-04-17T19:20:39Z iridioid quit (Ping timeout: 260 seconds) 2020-04-17T19:21:15Z Bike: really advanced programmers might do ((lambda (a b) a) 8 9) 2020-04-17T19:21:33Z antaoiseach: phoe: Hmmm... he did seem to have some mental issues for sure, but it's fine by me... I enjoyed it at times! :D 2020-04-17T19:21:39Z phoe: Bike: that causes stylewarnings to occur though 2020-04-17T19:21:52Z Bike: advanced programmers know they're always in style 2020-04-17T19:21:55Z phoe: antaoiseach: `(,a ,b) is not a cons 2020-04-17T19:21:57Z antaoiseach: Bike: Hahaha 2020-04-17T19:22:18Z antaoiseach: phoe: yes, but OP just wanted the first element right? 2020-04-17T19:22:34Z Aurora_v_kosmose: lol 2020-04-17T19:22:47Z phoe: antaoiseach: oh I'm blind 2020-04-17T19:22:54Z phoe: that wasn't a cons, that was a two element list 2020-04-17T19:22:57Z phoe: yes, you are correct 2020-04-17T19:23:03Z antaoiseach: no worries! 2020-04-17T19:24:01Z v_m_v joined #lisp 2020-04-17T19:25:02Z antaoiseach: btw, is this for all Lisp "dialects" or only for CL? first time in here... 2020-04-17T19:25:29Z phoe: Common Lisp 2020-04-17T19:25:35Z Aurora_v_kosmose: It works for Elisp too 2020-04-17T19:25:50Z phoe: ##lisp is for general lisp, #emacs is for elisp, #lispcafe is for offtopic stuff 2020-04-17T19:26:12Z phoe: #clschool for newbies, #scheme for conspirators, #clojure for Java programmers, etc.. 2020-04-17T19:26:13Z antaoiseach: phoe: Oh, nice! 2020-04-17T19:26:52Z antaoiseach: phoe: Hahaha - that dig at Clojure... oh man! 2020-04-17T19:27:13Z phoe: antaoiseach: just playing towards your c.l.l vibes now 2020-04-17T19:27:29Z antaoiseach: hahaha 2020-04-17T19:29:00Z v_m_v quit (Ping timeout: 258 seconds) 2020-04-17T19:29:10Z antaoiseach left #lisp 2020-04-17T19:34:03Z z147 quit (Ping timeout: 240 seconds) 2020-04-17T19:34:03Z ebrasca quit (Read error: Connection reset by peer) 2020-04-17T19:34:19Z ebrasca joined #lisp 2020-04-17T19:37:11Z cosimone quit (Quit: Quit.) 2020-04-17T19:37:28Z ebrasca quit (Read error: Connection reset by peer) 2020-04-17T19:37:43Z ebrasca joined #lisp 2020-04-17T19:40:38Z ljavorsk quit (Ping timeout: 256 seconds) 2020-04-17T19:42:31Z alandipert: i made a simple website for JACL and also posted code in case anyone is interested: https://tailrecursion.com/JACL/ 2020-04-17T19:42:55Z alandipert is excited about ELS 2020-04-17T19:43:10Z phoe: alandipert: posted on Reddit, thank you for flying phoe airlines 2020-04-17T19:43:19Z arduo joined #lisp 2020-04-17T19:44:55Z phoe: will you consider eventually putting it on Quicklisp? 2020-04-17T19:45:31Z alandipert: my inclination is no but for reasons i haven't fully convinced myself of 2020-04-17T19:46:10Z Aurora_v_kosmose: So long as it's referenced on Cliki it's fine. 2020-04-17T19:46:45Z ardoc joined #lisp 2020-04-17T19:47:45Z alandipert: even once it's usable jacl's capabilities are severely limited compared to other CLs, so i want to be thoughtful about how to link jacl to the wider ecosystem 2020-04-17T19:48:17Z alandipert: otoh, it's MIT licensed, so if anyone else wanted to run with it in that direction i couldn't stop them :-) 2020-04-17T19:49:28Z rpg joined #lisp 2020-04-17T19:50:44Z arduo quit (Ping timeout: 265 seconds) 2020-04-17T19:53:14Z jprajzne quit (Quit: Leaving.) 2020-04-17T19:59:51Z sabrac quit (Quit: Konversation terminated!) 2020-04-17T20:00:38Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-17T20:01:38Z ayuce quit (Remote host closed the connection) 2020-04-17T20:05:37Z phoe: hmm 2020-04-17T20:05:49Z phoe: should I implement {e,c}{type,}case from scratch 2020-04-17T20:06:00Z phoe: or base them off case and typecase 2020-04-17T20:08:37Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-17T20:08:56Z alandipert: phoe is this related to your condition system alternative? 2020-04-17T20:09:03Z aeth: phoe: isn't an etypecase or ctypecase just a typecase with an implicit t clause at the end? 2020-04-17T20:09:24Z aeth: and probably the same for ecase/ccase 2020-04-17T20:09:28Z phoe: alandipert: yes 2020-04-17T20:09:32Z phoe: aeth: yes, it is 2020-04-17T20:09:40Z phoe: that's why I'm thinking of piggybacking the host's case/typecase implementation 2020-04-17T20:09:43Z aeth: yeah 2020-04-17T20:09:59Z aeth: it should be no different from the implementation, unless the implementation *really* cheats, as long as you base it on case/typecase 2020-04-17T20:10:19Z aeth: s/the implementation/the Lisp implementation/ 2020-04-17T20:10:23Z alandipert: phoe are you going for different semantics, or is this for pedagogical purposes? 2020-04-17T20:16:03Z phoe: alandipert: pure pedagogical purpose 2020-04-17T20:16:12Z phoe: I am reworking kmp's original CLCS implementation right now 2020-04-17T20:16:21Z phoe: cleaning it up and uplifting it from CLtL1 code into ANSI CL code 2020-04-17T20:17:15Z phoe: already got the restarts done and like 40% of conditions; remaining is 60% of conditions/handlers and the debugger 2020-04-17T20:19:35Z iridioid joined #lisp 2020-04-17T20:20:41Z shangul joined #lisp 2020-04-17T20:24:32Z ATuin quit (Quit: WeeChat 2.8) 2020-04-17T20:24:46Z iridioid quit (Ping timeout: 256 seconds) 2020-04-17T20:28:55Z alandipert: phoe that's awesome, i look forward to it. re: your earlier q. if i were you i'd try to focus on implementing exactly what's important to demonstrate and as little else as possible, a la Closette 2020-04-17T20:29:00Z karlosz quit (Quit: karlosz) 2020-04-17T20:29:25Z karlosz joined #lisp 2020-04-17T20:30:04Z phoe: alandipert: I was thinking of that, but that would mean that I skip things like condition-restart association which are not strictly necessary but a) nice to have, b) standard 2020-04-17T20:30:39Z pve quit (Quit: leaving) 2020-04-17T20:30:40Z phoe: I think it's doable to implement the full condition system while keeping it pedagogically viable 2020-04-17T20:31:18Z alandipert: very cool. well i'm excited to check it out, i would love to have a deep understanding of that stuff 2020-04-17T20:31:41Z phoe: alandipert: I have a mostly-ready WIP if you feel like giving it a review. 2020-04-17T20:31:48Z phoe: https://gist.github.com/phoe/5659f8e5d8ff85e99565de17e39e4449 2020-04-17T20:33:00Z phoe: it's mostly ready until the "Why not?" chapter 2020-04-17T20:33:25Z alandipert will read... eventually 2020-04-17T20:33:27Z phoe: which is a giant TODO that waits while I'm yak shaving a portable implementation of condition system 2020-04-17T20:37:02Z theBlackDragon quit (Ping timeout: 246 seconds) 2020-04-17T20:37:37Z shangul quit (Ping timeout: 258 seconds) 2020-04-17T20:38:59Z Codaraxis joined #lisp 2020-04-17T20:39:45Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-04-17T20:40:02Z Kundry_Wag joined #lisp 2020-04-17T20:42:05Z iAmDecim joined #lisp 2020-04-17T20:46:15Z theBlackDragon joined #lisp 2020-04-17T20:47:12Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-17T20:48:32Z ArthurStrong joined #lisp 2020-04-17T20:50:57Z TwoNotes joined #lisp 2020-04-17T20:53:03Z gxt quit (Ping timeout: 240 seconds) 2020-04-17T20:53:26Z TwoNotes: The LMDB package from quicklisp gets an "Unhandled memory fault at #x0" as soon as I do a PUT. Are there any other LMDB wrappers? Or is this still being maintained? 2020-04-17T20:54:29Z SGASAU quit (Remote host closed the connection) 2020-04-17T20:55:26Z SGASAU joined #lisp 2020-04-17T20:55:32Z gxt joined #lisp 2020-04-17T20:55:42Z phoe: TwoNotes: https://github.com/antimer/lmdb shows no commits since 2017 2020-04-17T20:56:03Z TwoNotes: I guess that answers that. 2020-04-17T20:56:30Z TwoNotes: I need a fast kay-value store from Lisp 2020-04-17T20:58:12Z TwoNotes: Looking at (ql:system-apropos "sql") I see just about all of them are quite old 2020-04-17T20:58:32Z Xach: 2017 is not so distant as to mean unmaintained! 2020-04-17T20:58:57Z Xach: old does not mean that it does not work well automatically 2020-04-17T20:59:09Z TwoNotes: Even the latest open issue for antimer/lmdb is form 2017 2020-04-17T21:00:12Z q-u-a-n2 joined #lisp 2020-04-17T21:00:17Z iridioid joined #lisp 2020-04-17T21:00:20Z q-u-a-n22 quit (Read error: Connection reset by peer) 2020-04-17T21:01:21Z p_l: TwoNotes: a lot of lisp code is very stable 2020-04-17T21:01:28Z TwoNotes: Still, the source code is only 600 lines - I supposed I could dig into it. But I hate debugging someone else's code when I am trying to get something done. 2020-04-17T21:01:41Z p_l: unless the external interface changes then usually there's no need to update 2020-04-17T21:01:53Z TwoNotes: It might be that the underlying liblmdb has changed in some inc,ompatible way 2020-04-17T21:05:24Z Xach: I use postmodern a lot but I don't know if it fits your need for a fast key-value store. 2020-04-17T21:06:36Z phoe: TwoNotes: I was about to suggest postgres 2020-04-17T21:07:00Z phoe: ;; it's a NoSQL database with its binary JSON support 2020-04-17T21:07:42Z TwoNotes: phoe as far as I know, postgres is a SQL database. Like MariahDB 2020-04-17T21:09:13Z Xach: Out of curiosity, what will you make with a fast key-value store? 2020-04-17T21:10:08Z sugarwren quit (Quit: Leaving) 2020-04-17T21:10:17Z TwoNotes: It is a backing store form some natural language processing. The data is a bunch of Merkle trees representing parses of text into b-trees. 2020-04-17T21:10:50Z TwoNotes: I am going to poke at this library a bit more though - perhaps I am using it wrong 2020-04-17T21:11:01Z TwoNotes: It never actually creates the disk files, which is suspicous 2020-04-17T21:12:23Z Xach: TwoNotes: i tried the example code and it worked ok for me. 2020-04-17T21:12:32Z TwoNotes: Aha 2020-04-17T21:12:40Z Xach: not an endorsement, but it did make some progress 2020-04-17T21:12:58Z TwoNotes: It may be I passed the wrong sort of pathname. I had not wrapped it in that system-relative-pathname thingy 2020-04-17T21:13:17Z TwoNotes: Now that I see how the test case works 2020-04-17T21:15:34Z ardoc quit (Ping timeout: 258 seconds) 2020-04-17T21:19:31Z iAmDecim joined #lisp 2020-04-17T21:19:57Z Xach: good luck with it! 2020-04-17T21:20:37Z kam1 quit (Ping timeout: 264 seconds) 2020-04-17T21:20:48Z ardoc joined #lisp 2020-04-17T21:23:08Z pjb: theseb: because of the Turing Equivalence, all TC languages are extensions of other TC languages! 2020-04-17T21:23:22Z ahungry quit (Remote host closed the connection) 2020-04-17T21:23:55Z pjb: theseb: the only thing, is that if you start from lambda calculus, you will have to simulate a whole universe to implement a complete CL, because CL has I/O and lambda-calculus none. 2020-04-17T21:24:54Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-17T21:25:05Z pjb: theseb: (you must at least implement a file system, and a terminal input/output, and of course, some entity "user" to read and type at the terminal; you may not have to simulate the Milky Way…). 2020-04-17T21:26:13Z bars0 joined #lisp 2020-04-17T21:26:15Z TwoNotes: You could take the view that I/O is merely a run-time library and not part of the language proper 2020-04-17T21:27:01Z TwoNotes: I include the XKCD episode about Lisp only be reference 2020-04-17T21:29:14Z kam1 joined #lisp 2020-04-17T21:29:39Z pjb: minion: memo for [rg]: (shadow '(cons consp car cdr)) (defstruct (cons (:constructor cons (car cdr)) (:conc-name nil) (:predicate consp)) car cdr) (cons 1 2) -> #S(cons :car 1 :cdr 2) 2020-04-17T21:29:39Z minion: Remembered. I'll tell [rg] when he/she/it next speaks. 2020-04-17T21:30:36Z pjb: minion: memo for [rg]: that said, on a lot of processors, storing the cdr before the car may be advantageous (optimizes cdr-following). 2020-04-17T21:30:36Z minion: Remembered. I'll tell [rg] when he/she/it next speaks. 2020-04-17T21:32:10Z phoe: https://github.com/sbcl/sbcl/blob/cb2f7b6ee1badd6df0c8b8e4dbc6e13ed6f16a53/src/code/macros.lisp#L458 2020-04-17T21:32:18Z phoe: How does PROGV help user debug lexical variables? 2020-04-17T21:32:27Z phoe: I don't understand that part of the code. 2020-04-17T21:34:53Z phoe: I can trace this code all the way back to kmp. 2020-04-17T21:35:13Z Bike: initial revision of sbcl, lol 2020-04-17T21:35:56Z phoe: it's older than that, that code is from 1988 2020-04-17T21:35:56Z Bike: i guess it means you have access to whatever the old value was 2020-04-17T21:36:42Z Bike: or well, maybe not, since if it's a lexical variable it's not actually declared special probably, so you'd have to use symbol-value 2020-04-17T21:37:03Z phoe: this PROGV is only effective inside READ-IT 2020-04-17T21:37:17Z phoe: so literally only for a single READ+EVAL 2020-04-17T21:37:23Z Bike: sure. 2020-04-17T21:37:36Z Bike: i mean that the user could do like (1+ x) if x is the place 2020-04-17T21:37:43Z phoe: so it grabs a lexical variable, proclaims it locally special--- 2020-04-17T21:37:45Z phoe: ooooooh 2020-04-17T21:37:46Z Bike: (except, again, not actually, unless x is a special variable) 2020-04-17T21:37:53Z Bike: it doesn't proclaim it locally special, it just binds it. 2020-04-17T21:38:08Z phoe: wait a second then 2020-04-17T21:38:27Z Bike: i think maybe this is _supposed_ to allow the (1+ x) thing but accidentally doesn't. 2020-04-17T21:38:27Z phoe: it binds a special variable... but then the user keeps on nonetheless using the lexical one for whatever reason? 2020-04-17T21:38:33Z Bike: i'm guessing, of course. 2020-04-17T21:38:45Z Bike: well, they won't have access to the lexical variable, the eval is done in a null lexical environment 2020-04-17T21:39:45Z phoe: I mean, if we have a symbol named X 2020-04-17T21:39:58Z phoe: PROGV causes X to be dynamically bound to, uhh, its previous value or something 2020-04-17T21:40:12Z Bike: it causes x to be bound but doesn't effect whether it is declared special. 2020-04-17T21:40:12Z phoe: but we still cannot use it without proclaiming it special 2020-04-17T21:40:18Z nchambers quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-17T21:40:37Z nchambers joined #lisp 2020-04-17T21:40:43Z phoe: why? 2020-04-17T21:40:50Z Bike: why what 2020-04-17T21:41:09Z phoe: what's the purpose of that? 2020-04-17T21:41:15Z Bike: of progv? 2020-04-17T21:41:23Z phoe: no, of that binding 2020-04-17T21:41:33Z phoe: of that particular progv in that particular place 2020-04-17T21:41:34Z Bike: well, like i said, i think they fucked it up 2020-04-17T21:42:50Z phoe: all that comes to my mind is SYMBOL-VALUE which will correctly fetch the bound dynavalue 2020-04-17T21:43:22Z phoe: but that in turn might screw up already bound dynamic variables 2020-04-17T21:43:25Z TwoNotes quit (Quit: Leaving) 2020-04-17T21:45:07Z bars0 quit (Quit: leaving) 2020-04-17T21:46:52Z SGASAU quit (Remote host closed the connection) 2020-04-17T21:47:23Z SGASAU` joined #lisp 2020-04-17T21:48:19Z Lord_of_Life_ joined #lisp 2020-04-17T21:48:32Z Lord_of_Life quit (Ping timeout: 258 seconds) 2020-04-17T21:49:29Z SGASAU` quit (Client Quit) 2020-04-17T21:50:13Z SGASAU joined #lisp 2020-04-17T21:51:06Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-17T21:52:45Z theseb: say pedantically speaking....(lambda (x) (+ x 3)) is actually a function *definition* rather than a function right? .....just like + is really not a function but rather a symbol that evaluates to a function yes? 2020-04-17T21:53:02Z phoe: theseb: (lambda ...) evaluates to a function object 2020-04-17T21:53:09Z phoe: if you use it as a form, that is 2020-04-17T21:53:34Z Xach: theseb: you can talk about what something reads as vs what it evaluates to, sure. 2020-04-17T21:53:41Z phoe: if you use it in instead of a function name, like ((lambda ...) ...), then it is a function definition, yes 2020-04-17T21:53:42Z theseb: phoe: exactly! but (lambda ...) itself is not a function! 2020-04-17T21:53:51Z theseb: phoe: ok 2020-04-17T21:53:52Z phoe: theseb: what do you mean, "is not a function" 2020-04-17T21:53:58Z phoe: it is a list 2020-04-17T21:54:02Z theseb: phoe: it is a function *definition* 2020-04-17T21:54:05Z Xach: theseb: sometimes the context implies evaluation, but it isn't always crystal clear. 2020-04-17T21:54:08Z theseb: phoe: ok..a function definition list 2020-04-17T21:54:12Z phoe: it is a list whose first element is the symbol LAMBDA 2020-04-17T21:54:21Z phoe: and what it means depends on the context in which it is used 2020-04-17T21:55:18Z Xach: sometimes it can be very helpful to be extra precise, sometimes not 2020-04-17T21:55:47Z phoe: if we want to be pedantic, then ((lambda ...) ...) is equivalent to (funcall (lambda ...) ...) and therefore the function "definition" is nonetheless reduced to a function object 2020-04-17T21:56:34Z sjl_ quit (Ping timeout: 256 seconds) 2020-04-17T21:57:37Z pjb: theseb: (lambda (x) (+ x 3)) is a sexp. It's a list. It's a cons cell. It contains the symbol, assumedly CL:LAMBDA, in its car, and the list ((x) (+ x 3)) in it's cdr. 2020-04-17T21:57:50Z pjb: theseb: ask your implementation! (inspect '(lambda (x) (+ x 3))) 2020-04-17T21:58:26Z Xach: theseb: what prompts the question? 2020-04-17T21:58:34Z iAmDecim joined #lisp 2020-04-17T21:58:57Z pjb: theseb: as phoe says, ((lambda (x) (+ x 3)) 4) has the same form as (sin 4) which shows that (lambda (x) (+ x 3)) can be considered as the "name" of the function (lambda (x) (+ x 3)). 2020-04-17T21:59:31Z LdBeth: Well lambda is a macro expends to (function (lambda (...) ...)) 2020-04-17T22:01:10Z LdBeth: For consistency, (foo ...) can be treat to be equivalent to (funcall #'foo ...) 2020-04-17T22:03:14Z iridioid quit (Ping timeout: 240 seconds) 2020-04-17T22:04:06Z trocado joined #lisp 2020-04-17T22:04:38Z efm quit (Ping timeout: 265 seconds) 2020-04-17T22:06:03Z dddddd joined #lisp 2020-04-17T22:14:54Z shifty quit (Ping timeout: 240 seconds) 2020-04-17T22:20:16Z v_m_v joined #lisp 2020-04-17T22:23:11Z penguwin quit (Quit: NO CARRIER) 2020-04-17T22:25:04Z ayuce joined #lisp 2020-04-17T22:26:22Z Inline quit (Quit: Leaving) 2020-04-17T22:28:15Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-17T22:28:23Z ayuce quit (Remote host closed the connection) 2020-04-17T22:28:45Z ayuce joined #lisp 2020-04-17T22:30:38Z akoana joined #lisp 2020-04-17T22:30:48Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-17T22:32:25Z penguwin joined #lisp 2020-04-17T22:33:24Z SGASAU quit (Ping timeout: 256 seconds) 2020-04-17T22:34:17Z knicklux quit (Ping timeout: 265 seconds) 2020-04-17T22:35:13Z iAmDecim joined #lisp 2020-04-17T22:43:15Z iridioid joined #lisp 2020-04-17T22:43:55Z theseb: Xach: i'm implementing my own little lisp and want to understand the low level details perfectly.....it is sort of a labor of love...that is why the question 2020-04-17T22:44:08Z Xach: ah 2020-04-17T22:44:51Z theseb: thanks all for the help..until next time 2020-04-17T22:44:55Z theseb quit (Quit: Leaving) 2020-04-17T22:47:09Z v_m_v quit (Remote host closed the connection) 2020-04-17T22:48:07Z iridioid quit (Ping timeout: 265 seconds) 2020-04-17T22:49:17Z pilne quit (Quit: Friends help you move. Real friends help you move bodies.) 2020-04-17T22:52:14Z iridioid joined #lisp 2020-04-17T22:53:37Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-17T23:00:29Z phoe: wait 2020-04-17T23:01:49Z phoe: I need to understand why (progv '(x) '(10) (eval 'x)) works 2020-04-17T23:02:09Z phoe: X is not proclaimed special anywhere 2020-04-17T23:02:13Z [rg] joined #lisp 2020-04-17T23:02:22Z xlei quit (Ping timeout: 256 seconds) 2020-04-17T23:03:35Z X-Scale` joined #lisp 2020-04-17T23:04:30Z phoe: ...I think I got it 2020-04-17T23:04:47Z keep_learning joined #lisp 2020-04-17T23:05:24Z pilne joined #lisp 2020-04-17T23:05:37Z X-Scale quit (Ping timeout: 264 seconds) 2020-04-17T23:05:38Z X-Scale` is now known as X-Scale 2020-04-17T23:10:14Z random-nick quit (Ping timeout: 240 seconds) 2020-04-17T23:10:31Z ardoc` joined #lisp 2020-04-17T23:13:45Z ardoc quit (Ping timeout: 250 seconds) 2020-04-17T23:14:58Z ayuce quit (Remote host closed the connection) 2020-04-17T23:17:28Z xlei joined #lisp 2020-04-17T23:18:17Z ayuce joined #lisp 2020-04-17T23:27:15Z Kundry_Wag joined #lisp 2020-04-17T23:31:05Z trocado quit (Ping timeout: 250 seconds) 2020-04-17T23:35:26Z Kundry_Wag quit (Remote host closed the connection) 2020-04-17T23:35:59Z Kundry_Wag joined #lisp 2020-04-17T23:37:51Z Kundry_Wag quit (Remote host closed the connection) 2020-04-17T23:38:29Z Kundry_Wag joined #lisp 2020-04-17T23:41:23Z LdBeth: phoe: so progv should implicitly declare special 2020-04-17T23:42:28Z greaser|q is now known as GreaseMonkey 2020-04-17T23:49:58Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-17T23:53:22Z luckless quit (Remote host closed the connection) 2020-04-17T23:53:37Z luckless joined #lisp 2020-04-17T23:55:49Z [rg] quit (Quit: [rg]) 2020-04-17T23:56:28Z pjb: phoe: because clhs progv says: progv creates new dynamic variable bindings and executes each form using those bindings. 2020-04-17T23:56:34Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-17T23:57:58Z pjb: phoe: it's equivalent to (let ((x 10)) (declare (special x)) (eval 'x)) but not to: (let ((x 10)) (locally (declare (special x)) (eval 'x))) #| ERROR: Unbound variable: x |# 2020-04-18T00:02:55Z Kundry_Wag joined #lisp 2020-04-18T00:03:52Z kam1 quit (Remote host closed the connection) 2020-04-18T00:11:54Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-04-18T00:14:07Z trocado joined #lisp 2020-04-18T00:14:10Z bitmapper quit (Read error: Connection reset by peer) 2020-04-18T00:17:39Z iAmDecim joined #lisp 2020-04-18T00:18:53Z bitmapper joined #lisp 2020-04-18T00:25:04Z Josh_2: Does Ironclad only support aes with 32byte keys instead of 128/256? 2020-04-18T00:25:07Z Josh_2: or am I missing something 2020-04-18T00:26:36Z ayuce quit (Remote host closed the connection) 2020-04-18T00:30:55Z choegusung joined #lisp 2020-04-18T00:31:34Z no-defun-allowed: Is AES defined for 128 or 256 bytes? 2020-04-18T00:32:04Z no-defun-allowed: "AES-256" refers to 256 bits (32 bytes), much like SHA-256 2020-04-18T00:32:25Z Josh_2: Well I was missing something then :P 2020-04-18T00:37:08Z Josh_2: I much prefer it when I missed something, instead of a feature being missing 2020-04-18T00:37:12Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-18T00:37:28Z choegusung left #lisp 2020-04-18T00:40:06Z renzhi joined #lisp 2020-04-18T00:43:14Z Bourne quit (Ping timeout: 240 seconds) 2020-04-18T00:48:54Z trocado quit (Ping timeout: 240 seconds) 2020-04-18T00:54:01Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-18T00:57:34Z ayuce joined #lisp 2020-04-18T00:57:45Z cgay joined #lisp 2020-04-18T00:59:42Z libertyprime joined #lisp 2020-04-18T01:01:39Z xlei quit (Ping timeout: 250 seconds) 2020-04-18T01:03:18Z xlei joined #lisp 2020-04-18T01:04:09Z benjamin-l quit (Quit: WeeChat 2.7.1) 2020-04-18T01:04:43Z gko joined #lisp 2020-04-18T01:07:36Z ardoc` quit (Ping timeout: 256 seconds) 2020-04-18T01:13:17Z ebrasca quit (Remote host closed the connection) 2020-04-18T01:15:54Z ahungry joined #lisp 2020-04-18T01:18:10Z Bourne joined #lisp 2020-04-18T01:31:18Z gko quit (Remote host closed the connection) 2020-04-18T01:32:04Z gko joined #lisp 2020-04-18T01:37:11Z bitmapper quit (Ping timeout: 250 seconds) 2020-04-18T01:40:44Z iAmDecim joined #lisp 2020-04-18T01:49:08Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-18T01:52:34Z Josh_2 quit (Ping timeout: 240 seconds) 2020-04-18T01:55:42Z Oladon joined #lisp 2020-04-18T01:56:22Z iAmDecim joined #lisp 2020-04-18T01:59:53Z Jeanne-Kamikaze joined #lisp 2020-04-18T02:02:25Z penguwin quit (Quit: NO CARRIER) 2020-04-18T02:02:57Z penguwin joined #lisp 2020-04-18T02:05:01Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-18T02:15:39Z penguwin quit (Quit: NO CARRIER) 2020-04-18T02:15:58Z ahungry quit (Remote host closed the connection) 2020-04-18T02:16:16Z penguwin joined #lisp 2020-04-18T02:16:48Z ahungry joined #lisp 2020-04-18T02:17:25Z gko_ joined #lisp 2020-04-18T02:20:18Z gko quit (Ping timeout: 265 seconds) 2020-04-18T02:20:57Z gko joined #lisp 2020-04-18T02:21:50Z gko_ quit (Ping timeout: 256 seconds) 2020-04-18T02:28:59Z mono joined #lisp 2020-04-18T02:31:23Z EvW1 quit (Ping timeout: 252 seconds) 2020-04-18T02:31:35Z White_Flame: is there a simple pattern or utility for testing if REMOVE successfully removed an item, without re-walking the sequence? 2020-04-18T02:31:38Z monokrom quit (Ping timeout: 256 seconds) 2020-04-18T02:32:03Z White_Flame: I guess sine I'm using lists, LENGTH would still have to walk it; could work for arrays 2020-04-18T02:32:31Z White_Flame: (actually, length would end up with 3 walks, old length, remove, new length) 2020-04-18T02:32:56Z White_Flame: the other option that comes to mind is setting a flag from inside the :test function 2020-04-18T02:33:36Z White_Flame: any others, besides writing your own REMOVE? 2020-04-18T02:34:39Z renzhi quit (Ping timeout: 260 seconds) 2020-04-18T02:41:57Z efm joined #lisp 2020-04-18T02:42:31Z Bike: you could use member, and avoid any redundant processing that way 2020-04-18T02:42:36Z Bike: kind of roudnabout though 2020-04-18T02:42:44Z Bike: also, only works for lists 2020-04-18T02:43:31Z Bike: oh, no, better 2020-04-18T02:43:37Z Bike: "If any elements need to be removed, the result will be a copy. The result of remove may share with sequence; the result may be identical to the input sequence if no elements need to be removed. " 2020-04-18T02:43:53Z Bike: i suppose that doesn't guarantee that it's identical, though 2020-04-18T02:45:26Z vhost- quit (Quit: WeeChat 2.6) 2020-04-18T02:49:53Z White_Flame: right 2020-04-18T02:50:07Z iAmDecim joined #lisp 2020-04-18T02:50:33Z White_Flame: for my PUSHNEW?, I simply do (eq ,place (pushnew ,val ,place...)) and it's fine 2020-04-18T02:51:30Z Bike: that will evaluate place's subforms twice... i guess it probably doesn't matter 2020-04-18T02:52:00Z White_Flame: yep. Is there a pattern for evaluating place's subforms only once? 2020-04-18T02:52:52Z Bike: use get-setf-expansion. that basically means reimplementing pushnew, but that's pretty easy since it's just adjoin 2020-04-18T02:52:54Z White_Flame: I mean, most updating forms have ,place twice 2020-04-18T02:53:19Z Bike: the standard ones only evaluate subforms once 2020-04-18T02:53:34Z White_Flame: right, I mean when writing read-mody-write macros on places 2020-04-18T02:54:03Z White_Flame: in any case, I'll write my REMOVE? with manual iteration 2020-04-18T02:54:05Z GuerrillaMonkey joined #lisp 2020-04-18T02:54:18Z Bike: define-modify-macro operators only evaluate them once too. all you have to do is use the get setf expansion and then you can put the reader form wherever 2020-04-18T02:56:31Z gko_ joined #lisp 2020-04-18T02:56:44Z Jeanne-Kamikaze quit (Ping timeout: 258 seconds) 2020-04-18T02:57:19Z Jeanne-Kamikaze joined #lisp 2020-04-18T02:57:28Z gko quit (Ping timeout: 256 seconds) 2020-04-18T02:59:01Z GuerrillaMonkey quit (Ping timeout: 264 seconds) 2020-04-18T03:12:46Z gko_ quit (Ping timeout: 256 seconds) 2020-04-18T03:13:33Z efm quit (Remote host closed the connection) 2020-04-18T03:13:55Z efm joined #lisp 2020-04-18T03:15:40Z gko joined #lisp 2020-04-18T03:15:48Z vhost- joined #lisp 2020-04-18T03:15:48Z vhost- quit (Changing host) 2020-04-18T03:15:48Z vhost- joined #lisp 2020-04-18T03:20:19Z libertyprime quit (Ping timeout: 250 seconds) 2020-04-18T03:20:31Z buffergn0me joined #lisp 2020-04-18T03:23:53Z shukryzablah joined #lisp 2020-04-18T03:48:06Z pilne quit (Quit: We be chillin' - IceChat style) 2020-04-18T03:49:26Z wxie joined #lisp 2020-04-18T03:51:20Z mathrick quit (Remote host closed the connection) 2020-04-18T03:51:31Z mathrick joined #lisp 2020-04-18T03:54:54Z mathrick quit (Remote host closed the connection) 2020-04-18T03:56:39Z libertyprime joined #lisp 2020-04-18T03:57:12Z mathrick joined #lisp 2020-04-18T04:01:37Z ivan4th joined #lisp 2020-04-18T04:01:57Z mathrick_ joined #lisp 2020-04-18T04:04:25Z mathrick quit (Ping timeout: 264 seconds) 2020-04-18T04:06:05Z beach: Good morning everyone! 2020-04-18T04:07:47Z jeosol joined #lisp 2020-04-18T04:13:57Z ArthurStrong left #lisp 2020-04-18T04:14:02Z wxie quit (Ping timeout: 256 seconds) 2020-04-18T04:18:35Z shukryzablah: good morning 2020-04-18T04:18:37Z vlatkoB joined #lisp 2020-04-18T04:21:48Z buffergn0me quit (Ping timeout: 265 seconds) 2020-04-18T04:27:20Z no-defun-allowed: Good morning shukryzablah 2020-04-18T04:42:52Z iridioid quit (Ping timeout: 256 seconds) 2020-04-18T04:45:53Z voidlily quit (Remote host closed the connection) 2020-04-18T04:48:20Z bjorkintosh joined #lisp 2020-04-18T04:48:57Z orivej joined #lisp 2020-04-18T04:51:08Z libertyprime quit (Read error: Connection reset by peer) 2020-04-18T04:57:49Z ahungry quit (Ping timeout: 250 seconds) 2020-04-18T04:58:14Z libertyprime joined #lisp 2020-04-18T04:59:20Z ahungry joined #lisp 2020-04-18T05:10:38Z sauvin joined #lisp 2020-04-18T05:13:26Z wxie joined #lisp 2020-04-18T05:13:28Z narimiran joined #lisp 2020-04-18T05:13:39Z iridioid joined #lisp 2020-04-18T05:19:08Z iridioid quit (Ping timeout: 265 seconds) 2020-04-18T05:21:09Z wxie quit (Ping timeout: 252 seconds) 2020-04-18T05:22:01Z akoana left #lisp 2020-04-18T05:25:22Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-18T05:25:25Z Oladon quit (Quit: Leaving.) 2020-04-18T05:27:37Z shifty joined #lisp 2020-04-18T05:29:54Z voidlily joined #lisp 2020-04-18T05:32:08Z Bike quit (Quit: leaving) 2020-04-18T05:33:13Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-18T05:40:20Z ayuce quit (Remote host closed the connection) 2020-04-18T05:40:42Z ayuce joined #lisp 2020-04-18T05:41:28Z ahungry quit (Remote host closed the connection) 2020-04-18T05:45:36Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-04-18T05:48:22Z ayuce quit (Remote host closed the connection) 2020-04-18T05:49:54Z narimiran quit (Quit: leaving) 2020-04-18T05:53:24Z iridioid joined #lisp 2020-04-18T05:56:25Z wxie joined #lisp 2020-04-18T05:57:40Z Kundry_Wag joined #lisp 2020-04-18T05:58:25Z iridioid quit (Ping timeout: 264 seconds) 2020-04-18T05:59:47Z ayuce joined #lisp 2020-04-18T06:02:23Z Kundry_Wag quit (Ping timeout: 250 seconds) 2020-04-18T06:02:55Z gravicappa joined #lisp 2020-04-18T06:07:54Z ivan4th quit (Ping timeout: 240 seconds) 2020-04-18T06:16:10Z mikecheck joined #lisp 2020-04-18T06:17:55Z _paul0 joined #lisp 2020-04-18T06:18:15Z shangul joined #lisp 2020-04-18T06:19:05Z shka_ joined #lisp 2020-04-18T06:19:48Z ayuce quit (Remote host closed the connection) 2020-04-18T06:20:42Z paul0 quit (Ping timeout: 265 seconds) 2020-04-18T06:20:44Z srji joined #lisp 2020-04-18T06:34:34Z iAmDecim joined #lisp 2020-04-18T06:37:03Z cosimone joined #lisp 2020-04-18T06:39:39Z EvW joined #lisp 2020-04-18T06:41:49Z wxie quit (Ping timeout: 252 seconds) 2020-04-18T06:46:20Z lambda-p joined #lisp 2020-04-18T06:47:23Z lambda-p quit (Client Quit) 2020-04-18T06:51:27Z narimiran joined #lisp 2020-04-18T06:52:34Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-18T06:56:59Z lambda-p joined #lisp 2020-04-18T07:02:50Z shangul quit (Ping timeout: 256 seconds) 2020-04-18T07:04:50Z lambda-p quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2020-04-18T07:05:47Z narimiran quit (Ping timeout: 260 seconds) 2020-04-18T07:07:37Z v_m_v joined #lisp 2020-04-18T07:08:44Z hylisper joined #lisp 2020-04-18T07:13:20Z heisig joined #lisp 2020-04-18T07:14:42Z shangul joined #lisp 2020-04-18T07:21:02Z _whitelogger quit (Remote host closed the connection) 2020-04-18T07:21:08Z pve joined #lisp 2020-04-18T07:23:16Z _whitelogger joined #lisp 2020-04-18T07:27:53Z phoe: pjb: thanks, I see. 2020-04-18T07:27:56Z phoe: Also good morning 2020-04-18T07:28:07Z no-defun-allowed: Good morning phoe 2020-04-18T07:33:52Z beach: Hello phoe. Thanks for the report on SICL conditions. I am not going to act upon it now, because those conditions are not final. They may change in the future. 2020-04-18T07:34:14Z phoe: beach: yes, I've noticed! The condition system in SICL looks like a big WIP. 2020-04-18T07:34:32Z beach: You are right. 2020-04-18T07:34:45Z beach: I am concentrating on solving problems that I consider fundamental. 2020-04-18T07:34:52Z beach: Bootstrapping is one such problem. 2020-04-18T07:34:57Z phoe: Yep, understandable. 2020-04-18T07:35:11Z beach: And, as of this morning, thanks to Bike, I am thinking more about thread safety too. 2020-04-18T07:39:54Z ATuin joined #lisp 2020-04-18T07:41:32Z iridioid joined #lisp 2020-04-18T07:42:52Z EvW quit (Ping timeout: 265 seconds) 2020-04-18T07:46:23Z iridioid quit (Ping timeout: 260 seconds) 2020-04-18T07:50:17Z dddddd quit (Ping timeout: 250 seconds) 2020-04-18T07:57:28Z hylisper quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2020-04-18T07:58:14Z hylisper joined #lisp 2020-04-18T07:58:45Z Kundry_Wag joined #lisp 2020-04-18T08:03:32Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-18T08:04:22Z ivan4th joined #lisp 2020-04-18T08:05:15Z ivan4th` joined #lisp 2020-04-18T08:06:49Z hylisper quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2020-04-18T08:08:47Z ivan4th quit (Ping timeout: 265 seconds) 2020-04-18T08:09:09Z iAmDecim joined #lisp 2020-04-18T08:10:50Z ivan4th` quit (Ping timeout: 256 seconds) 2020-04-18T08:13:00Z narimiran joined #lisp 2020-04-18T08:13:22Z Necktwi quit (Ping timeout: 258 seconds) 2020-04-18T08:13:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-18T08:16:32Z narimiran quit (Client Quit) 2020-04-18T08:21:49Z ivan4th` joined #lisp 2020-04-18T08:28:25Z ivan4th` quit (Ping timeout: 264 seconds) 2020-04-18T08:30:03Z cosimone quit (Remote host closed the connection) 2020-04-18T08:30:40Z cosimone joined #lisp 2020-04-18T08:33:27Z libertyprime quit (Remote host closed the connection) 2020-04-18T08:34:07Z narimiran joined #lisp 2020-04-18T08:36:39Z beach: phoe: Since you now know so much about the condition system, perhaps you should be the one implementing the SICL condition system? 2020-04-18T08:36:40Z cosimone quit (Remote host closed the connection) 2020-04-18T08:36:41Z dale quit (Quit: My computer has gone to sleep) 2020-04-18T08:37:07Z cosimone joined #lisp 2020-04-18T08:37:36Z phoe: beach: I was thinking about that, yes 2020-04-18T08:37:42Z beach: Great! 2020-04-18T08:38:06Z phoe: The code I am working on shall be placed into public domain; it's also implemented using portable CL. 2020-04-18T08:38:08Z jackdaniel: I imagine beach wouldn't want it to be defined in terms of defstruct (just saying) 2020-04-18T08:38:20Z phoe: Yes, that's the only thing that'll need adjustment - restarts using defstruct 2020-04-18T08:38:38Z phoe: conditions are already classes. 2020-04-18T08:38:45Z beach: It won't matter, since SICL DEFSTRUCT will be pretty much an alias for DEFCLASS. 2020-04-18T08:38:54Z phoe: Hah! 2020-04-18T08:39:03Z narimiran quit (Ping timeout: 258 seconds) 2020-04-18T08:45:02Z Necktwi joined #lisp 2020-04-18T08:45:07Z cosimone quit (Remote host closed the connection) 2020-04-18T08:45:22Z beach: phoe: There might be some adaptation to make for SICL. I was thinking of having dedicated entries in the dynamic environment for things like handlers, rather than using a special variable. 2020-04-18T08:45:39Z cosimone joined #lisp 2020-04-18T08:46:08Z phoe: beach: (define-symbol-macro *handler-clusters* (handler-clusters *current-environment*)) 2020-04-18T08:46:10Z beach: phoe: But my knowledge of the condition system tells me that most of it is totally portable either way, and that such adaptations can be isolated with a proper protocol. 2020-04-18T08:46:27Z v_m_v quit (Remote host closed the connection) 2020-04-18T08:46:44Z phoe: oh wait, it's *not* that simple - we need rebinding 2020-04-18T08:47:08Z phoe: and I don't think we should mutate the current environment, rather, we should return new ones. 2020-04-18T08:47:25Z darkstar314 joined #lisp 2020-04-18T08:47:29Z beach: I still haven't looked at the details of you code, but I am convinced that no major problems will be detected. 2020-04-18T08:47:37Z phoe: I don't think so either 2020-04-18T08:48:11Z phoe: if I can rebind a dynamic environment via rebinding a dynamic variable, then only minor adjustments are needed 2020-04-18T08:48:37Z phoe: instead of binding *handler-clusters* with (cons stuff *handler-clusters*), I can bind *env* with (env-add-handlers *env* stuff) 2020-04-18T08:48:38Z beach: And I think a totally fresh implementation of the condition system is a very good thing, especially by someone like you who have understood the importance of protocols, modularity, etc. 2020-04-18T08:49:02Z phoe: beach: it's not totally fresh, I'm standing on the shoulders of kmp whose code I'm working on 2020-04-18T08:49:20Z phoe: but, given the amount of work that I'm putting there... it's clearly a non-trivial modification that I am creating right now 2020-04-18T08:49:34Z beach: Indeed. 2020-04-18T08:49:47Z no-defun-allowed: Are you referring to http://www.nhplace.com/kent/CL/Revision-18.lisp? 2020-04-18T08:49:52Z phoe: no-defun-allowed: yes 2020-04-18T08:50:47Z phoe: one second, let me upload this all stuff to github 2020-04-18T08:51:20Z beach: phoe: I am not going to have time to look at it now. I must finish my ELS talks. 2020-04-18T08:51:40Z cosimone quit (Remote host closed the connection) 2020-04-18T08:52:06Z cosimone joined #lisp 2020-04-18T08:52:09Z phoe: beach: I know, but no-defun-allowed might 2020-04-18T08:52:18Z cosimone quit (Client Quit) 2020-04-18T08:52:18Z beach: Of course. Just saying. 2020-04-18T08:52:40Z phoe: Take your time! No rush anywhere 2020-04-18T08:52:48Z phoe: ...hmm, how should I name this project 2020-04-18T08:52:52Z beach: Right. 2020-04-18T08:53:09Z phoe: "kmp-condition-system" kind of isn't true anymore - this isn't KMP's original system now that it's been heavily modded 2020-04-18T08:55:16Z phoe: "condition-system" is like naming your child "Child" 2020-04-18T08:55:57Z beach: Yeah. I was looking for things like "exclusion". 2020-04-18T08:56:37Z beach: I looked for synonyms of "condition" and then "exception", in a way that I usually do. :) 2020-04-18T08:57:02Z beach: You need something short-ish for the package prefix. 2020-04-18T08:57:13Z Posterdati quit (Ping timeout: 264 seconds) 2020-04-18T08:58:01Z beach: I can't see myself typing SICL-KMP-CONDITION-SYSTEM:RESTARTS 2020-04-18T08:58:03Z phoe: beach: I don't necessarily do! Package-local nicknames exist nowadays. 2020-04-18T08:58:05Z jackdaniel: kpcs, cryptic names have a certain appeal 2020-04-18T08:58:20Z beach: phoe: Granted. 2020-04-18T08:58:29Z phoe: Are they implemented in SICL yet? 2020-04-18T08:58:39Z beach: No, but that should not be too hard. 2020-04-18T08:58:41Z knicklux joined #lisp 2020-04-18T08:58:58Z beach: I am working on the hard parts, and they are taking up all my time at the moment. 2020-04-18T08:59:16Z beach: As soon as I estimate some aspect to be "not too hard" I put it off. 2020-04-18T08:59:35Z phoe: OK. Let's discuss about nicknames another time then - I'll think of a proper long package name first. 2020-04-18T08:59:47Z beach: I agree. 2020-04-18T09:00:50Z no-defun-allowed: Good luck. I wanted to update it to ANSI Common Lisp a while ago, but I don't know enough about what I presume is CLtL1-era code. 2020-04-18T09:01:23Z no-defun-allowed: phoe: Sure, I could take a look at it soon. 2020-04-18T09:04:44Z phoe: no-defun-allowed: I am boring 2020-04-18T09:04:49Z phoe: https://github.com/phoe/portable-condition-system 2020-04-18T09:04:53Z phoe: I gave it a boring name 2020-04-18T09:05:05Z phoe: no-defun-allowed: everything but `debugger.lisp` is kind of done now 2020-04-18T09:07:29Z phoe: I've also broken up {RESTART,HANDLER}-CASE into smaller functions that can be individually tested. 2020-04-18T09:08:03Z no-defun-allowed: Right then. 2020-04-18T09:08:17Z phoe: The original implementations of these by kmp, as well as these commonly seen in Lisp impls, are giant blocks of clusterfsck code. 2020-04-18T09:08:27Z phoe: Not really readable whatsoever unless you spend a few minutes understanding them. 2020-04-18T09:08:30Z jackdaniel: are they? 2020-04-18T09:08:48Z phoe: jackdaniel: point taken, I have not seen ECL's 2020-04-18T09:08:50Z phoe: lemme check 2020-04-18T09:08:57Z jackdaniel: I mean: it is easy to assume that your code is understandable, because you wrote it 2020-04-18T09:10:11Z phoe: jackdaniel: https://github.com/rtoy/cmucl/blob/52a93a052ba57908d30861466fa5372e8fc1c0da/src/code/error.lisp#L1170 is pretty close to kmp's original code 2020-04-18T09:10:12Z Posterdati joined #lisp 2020-04-18T09:10:14Z phoe: so is https://github.com/Clozure/ccl/blob/b5233ade1423d4979b902bdc4b3d380cac9955b8/lib/macros.lisp#L427 2020-04-18T09:10:23Z jackdaniel: also, I think that you are very haste with dubbing things dead, unreadable or whatever 2020-04-18T09:10:26Z phoe: I cannot comment on ECL's one since it's written in C 2020-04-18T09:10:34Z phoe: jackdaniel: I think you are right, yes 2020-04-18T09:10:54Z phoe: I need to better my holding-my-horses ability 2020-04-18T09:11:05Z jackdaniel: it is first time I hear that ECL's condition system is written in C 2020-04-18T09:11:22Z jackdaniel: it is usable from C, but that is not the same thing 2020-04-18T09:11:42Z jackdaniel: see src/clos/conditions.lsp 2020-04-18T09:11:45Z phoe: one second... 2020-04-18T09:12:03Z jackdaniel: it is not about holding horses but rather about thinking before speaking 2020-04-18T09:12:23Z phoe: welp, I looked in the wrong place - *restart-clusters* is defined in C 2020-04-18T09:12:32Z phoe: the macros are in CL, correct 2020-04-18T09:12:44Z iAmDecim joined #lisp 2020-04-18T09:12:56Z jackdaniel: wrong again 2020-04-18T09:13:02Z jackdaniel: how is it defined in C? 2020-04-18T09:13:10Z xlei quit (Ping timeout: 256 seconds) 2020-04-18T09:13:50Z jackdaniel: this time by "it" I mean *restart-clusters* 2020-04-18T09:14:10Z jackdaniel: it is literally third form in conditions.lsp file 2020-04-18T09:14:13Z phoe: welp 2020-04-18T09:14:28Z jackdaniel disengages 2020-04-18T09:14:58Z phoe: #define ECL_RESTART_CLUSTERS ((cl_object)(cl_symbols+5)) didn't mean what I think it did. 2020-04-18T09:15:02Z phoe hides in shame 2020-04-18T09:15:30Z phoe: now that's a good example of not thinking before speaking that you were talking about 2020-04-18T09:16:03Z Inline joined #lisp 2020-04-18T09:18:26Z xlei joined #lisp 2020-04-18T09:18:34Z no-defun-allowed: So far, it's pretty good. HANDLER-CASE with a :NO-ERROR clause expands to something that contains a HANDLER-CASE* invocation that is never defined; should it just be HANDLER-CASE without the star suffix? 2020-04-18T09:19:11Z gko_ joined #lisp 2020-04-18T09:19:21Z Kundry_Wag joined #lisp 2020-04-18T09:20:15Z phoe: no-defun-allowed: that's a bug. 2020-04-18T09:20:24Z refpga joined #lisp 2020-04-18T09:20:55Z phoe: fixed 2020-04-18T09:21:00Z phoe: yes, it should be without a star 2020-04-18T09:21:06Z no-defun-allowed: Gotcha. 2020-04-18T09:22:28Z gko quit (Ping timeout: 256 seconds) 2020-04-18T09:23:13Z gko joined #lisp 2020-04-18T09:23:14Z gko_ quit (Ping timeout: 240 seconds) 2020-04-18T09:24:02Z no-defun-allowed: Would it be possible and preferable to move the condition type definitions to another file? Usually I put those in another file. 2020-04-18T09:24:16Z phoe: no-defun-allowed: sure, I can do that 2020-04-18T09:24:47Z beach: This is excellent! Another pair of eyes. The quality of the code can only be improved. :) 2020-04-18T09:25:45Z no-defun-allowed: Thanks. I think conditions.lisp is very good otherwise; I'm not so confident with restarts but I'll start reading restarts.lisp 2020-04-18T09:25:52Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-18T09:26:36Z phoe: there's still bugs in it but I'm squashing them right now 2020-04-18T09:29:17Z no-defun-allowed: Splitting out the parsing code from the macro definition in the macros that have some syntax like DEFINE-CONDITION and HANDLER-CASE is very nice, too. 2020-04-18T09:29:57Z iridioid joined #lisp 2020-04-18T09:34:14Z EvW joined #lisp 2020-04-18T09:34:15Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-18T09:34:39Z iridioid quit (Ping timeout: 260 seconds) 2020-04-18T09:35:03Z phoe: that's what I wanted to say I dislike in big long complex macros before I got a bucket of cold water to the head 2020-04-18T09:35:24Z phoe: anyway - I split condition definitions outside conditions.lisp and fixed some bugs, things now compile cleanly for me 2020-04-18T09:37:24Z no-defun-allowed: Cool. 2020-04-18T09:41:53Z no-defun-allowed: restarts.lisp looks fine, but I can't comment on if it's correct. 2020-04-18T09:42:27Z phoe: I'll ask ANSI-TEST for that last part 2020-04-18T09:46:41Z Lord_of_Life_ joined #lisp 2020-04-18T09:49:07Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-04-18T09:49:07Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-18T09:51:11Z retropikzel quit (Quit: Leaving) 2020-04-18T09:54:13Z niceplace quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-18T09:55:37Z Kundry_Wag joined #lisp 2020-04-18T09:56:41Z retropikzel joined #lisp 2020-04-18T09:57:08Z niceplace joined #lisp 2020-04-18T09:59:54Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-18T10:04:32Z gko quit (Ping timeout: 258 seconds) 2020-04-18T10:06:10Z karlosz quit (Quit: karlosz) 2020-04-18T10:07:25Z random-nick joined #lisp 2020-04-18T10:09:55Z iAmDecim joined #lisp 2020-04-18T10:13:35Z knicklux quit (Ping timeout: 246 seconds) 2020-04-18T10:14:47Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-18T10:18:58Z hylisper joined #lisp 2020-04-18T10:24:02Z ivan4th` joined #lisp 2020-04-18T10:30:13Z ivan4th` quit (Ping timeout: 258 seconds) 2020-04-18T10:34:55Z _jrjsmrtn joined #lisp 2020-04-18T10:35:23Z __jrjsmrtn__ quit (Ping timeout: 250 seconds) 2020-04-18T10:35:34Z snqazxsw joined #lisp 2020-04-18T10:40:25Z KDr22 quit (Ping timeout: 264 seconds) 2020-04-18T10:45:48Z Lycurgus joined #lisp 2020-04-18T10:53:16Z snqazxsw quit (Ping timeout: 240 seconds) 2020-04-18T10:53:54Z KDr22 joined #lisp 2020-04-18T11:02:32Z iAmDecim joined #lisp 2020-04-18T11:03:12Z Lycurgus quit (Remote host closed the connection) 2020-04-18T11:07:14Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-18T11:09:09Z u8t6 joined #lisp 2020-04-18T11:11:59Z hylisper quit (Remote host closed the connection) 2020-04-18T11:18:16Z iridioid joined #lisp 2020-04-18T11:22:36Z iAmDecim joined #lisp 2020-04-18T11:23:10Z iridioid quit (Ping timeout: 256 seconds) 2020-04-18T11:25:14Z Codaraxis_ joined #lisp 2020-04-18T11:26:20Z hylisper joined #lisp 2020-04-18T11:26:54Z Codaraxis quit (Ping timeout: 256 seconds) 2020-04-18T11:27:31Z theosvoitha joined #lisp 2020-04-18T11:48:43Z joshcom joined #lisp 2020-04-18T11:52:57Z u8t6 quit (Remote host closed the connection) 2020-04-18T11:53:02Z ATuin quit (Ping timeout: 256 seconds) 2020-04-18T11:59:01Z gko joined #lisp 2020-04-18T11:59:28Z ivan4th` joined #lisp 2020-04-18T12:05:01Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-18T12:09:13Z shangul quit (Quit: Leaving) 2020-04-18T12:09:14Z jcowan: How about calling it Fettle? 2020-04-18T12:09:34Z phoe: hmm 2020-04-18T12:09:35Z jcowan: (the condition system for Sicl) 2020-04-18T12:09:48Z phoe: why fettle? 2020-04-18T12:09:55Z jcowan: an old-fashioned synonym for condition, like "in fine fettle" = "in good condition'. 2020-04-18T12:10:07Z jcowan: but an unusual word 2020-04-18T12:10:08Z beach: Oh, nice! Never heard that. 2020-04-18T12:10:10Z phoe: hah 2020-04-18T12:10:45Z shka_: oh, we are discussing names now? awesome i am in need of cool names 2020-04-18T12:10:47Z beach: I love it! 2020-04-18T12:11:05Z shka_: i have data-frame library that i named cl-data-frames 2020-04-18T12:11:22Z beach: shka_: A bit boring perhaps. :) 2020-04-18T12:11:36Z shka_: not only that but there already is cl-data-frame library (singular) in the quicklisp 2020-04-18T12:11:40Z shka_: so imagine the confusion 2020-04-18T12:11:42Z phoe: i have a portable condition system that I named portable-condition-system 2020-04-18T12:12:15Z jcowan: Isn't a dataframe basically a SQL table? 2020-04-18T12:12:26Z iridioid joined #lisp 2020-04-18T12:13:24Z shka_: well, pretty much just a table (in this instance a sparse table because sparse data sets are results in giganils of memory) and some more elaborate operations 2020-04-18T12:13:41Z phoe: > giganil 2020-04-18T12:13:47Z phoe: now that is a fun term 2020-04-18T12:13:52Z MichaelRaskin: jcowan: looking in the dictionary, it looks like fettle is only used when it's fine (and the condition system should probably cover the cases where something is wrong…) 2020-04-18T12:14:30Z phoe: (not "in fine fettle") 2020-04-18T12:14:45Z jcowan: That's true: there are few perfect synonyms in natural language (though gorse, furze, and whin come close). 2020-04-18T12:14:59Z shka_: phoe: accurate description o situation where column is 99.99% empty and the table as a whole is 16gb 2020-04-18T12:15:23Z jcowan: The idea is to be (a) memorable as a name, (b) unlikely to conflict with anything (c) semantically related to the subject 2020-04-18T12:16:24Z shka_: jcowan: this sounds like a solid guidelines! 2020-04-18T12:16:29Z jcowan: There are two different HTML parsers called TagSoup, but fortunately their home pages are cross-linked 2020-04-18T12:16:36Z selwyn: i am reminded of the song 'just dropped in / to see what condition my condition was in' 2020-04-18T12:16:45Z selwyn: you could look to the lyrics for inspiration 2020-04-18T12:17:03Z Josh_2 joined #lisp 2020-04-18T12:17:10Z iridioid quit (Ping timeout: 258 seconds) 2020-04-18T12:17:29Z shka_: 'Avidity and lust controlled by hate.' 2020-04-18T12:17:49Z iridioid joined #lisp 2020-04-18T12:18:41Z jcowan: so if you want the Java parser and find the Haskell parser, or vice versa, it's just another click 2020-04-18T12:18:41Z z147 joined #lisp 2020-04-18T12:20:17Z shka_: phoe: i would call a condition system Gehenna :P 2020-04-18T12:20:35Z shka_: though perhaps better for debugger 2020-04-18T12:20:47Z phoe: shka_: you have a dark mind 2020-04-18T12:20:58Z phoe: I like it 2020-04-18T12:21:09Z shka_: no, i think that i have a very bright mind :P 2020-04-18T12:21:21Z shka_: but there are different opinions on the subject 2020-04-18T12:21:29Z phoe: I said dark, not dim 2020-04-18T12:21:46Z MichaelRaskin: Bright and full of sulfur? 2020-04-18T12:21:53Z phoe: definitely 2020-04-18T12:23:00Z iridioid quit (Ping timeout: 256 seconds) 2020-04-18T12:25:14Z darkstar3141 joined #lisp 2020-04-18T12:26:51Z darkstar314 quit (Ping timeout: 260 seconds) 2020-04-18T12:29:34Z jcowan notes the proof that Heaven is hotter than Hell 2020-04-18T12:30:49Z iAmDecim joined #lisp 2020-04-18T12:31:17Z Kundry_Wag joined #lisp 2020-04-18T12:31:50Z EvW quit (Ping timeout: 246 seconds) 2020-04-18T12:32:25Z frgo quit 2020-04-18T12:35:35Z frgo joined #lisp 2020-04-18T12:40:36Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-18T12:43:15Z darkstar3141 left #lisp 2020-04-18T12:47:01Z cosimone joined #lisp 2020-04-18T12:49:15Z EvW joined #lisp 2020-04-18T12:51:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-18T12:56:26Z X-Scale` joined #lisp 2020-04-18T12:57:04Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-18T12:57:05Z X-Scale` is now known as X-Scale 2020-04-18T12:59:05Z z147 quit (Quit: z147) 2020-04-18T13:04:21Z Bike joined #lisp 2020-04-18T13:05:00Z ivan4th` quit (Ping timeout: 256 seconds) 2020-04-18T13:07:31Z refpga` joined #lisp 2020-04-18T13:10:02Z refpga quit (Ping timeout: 256 seconds) 2020-04-18T13:10:36Z joshcom quit (Ping timeout: 256 seconds) 2020-04-18T13:11:16Z Shinmera: phoe: My name suggestion is: Unconditional 2020-04-18T13:11:44Z Shinmera goes back to working on the update for his lisp game 2020-04-18T13:13:33Z phoe: Shinmera: an unconditional condition system 2020-04-18T13:13:37Z phoe: :thonk: 2020-04-18T13:14:21Z Bike: well, if it's not metacircular, your condition system doesn't presume the existence of conditions, right? 2020-04-18T13:14:38Z Bike: un con di tion al 2020-04-18T13:15:31Z Bike: by the way, ecl's condition code is definitely derived from kmp. i mentioned yesterday (?) that clasp (which got it from ecl) still had that unique-id thing 2020-04-18T13:15:56Z glamas quit (Ping timeout: 256 seconds) 2020-04-18T13:16:09Z glamas joined #lisp 2020-04-18T13:20:33Z shangul joined #lisp 2020-04-18T13:26:46Z ccl-logbot joined #lisp 2020-04-18T13:26:46Z 2020-04-18T13:26:46Z names: ccl-logbot shangul glamas refpga` Bike X-Scale EvW cosimone frgo Kundry_Wag Josh_2 gko theosvoitha hylisper Codaraxis_ KDr22 _jrjsmrtn random-nick niceplace retropikzel Lord_of_Life xlei Inline Posterdati Necktwi _whitelogger pve heisig srji shka_ _paul0 mikecheck gravicappa voidlily shifty sauvin orivej bjorkintosh vlatkoB jeosol mathrick_ shukryzablah vhost- efm mono penguwin Bourne cgay luckless nchambers q-u-a-n2 gxt theBlackDragon hhdave Lord_Nightmare 2020-04-18T13:26:46Z names: samebchase beach dilated_dinosaur whiteline emacsomancer flip214 scymtym davsebamse rwcom wooden markasoftware xristos felideon arbv kopiyka beaky defaultxr specbot troydm hdasch Aurora_v_kosmose Blukunfando zaquest leo_song dtman34 payphone cylb ``Erik_ rixard jonatack hvxgr nckx aeth gabiruh twelvemonkeys Intensity epony mrcom gigetoo notzmv reggie_ igemnace mgr_ minion aap ober ark cantstanya MightyJoe madage Yardanico White_Flame lavaflow mason banjiewen 2020-04-18T13:26:46Z names: sz0 tfb entel splittist lispyone_ clintm[m] mhitchman[m] no-defun-allowed Davd[m] Gnuxie[m] unl0ckd liambrown katco infra_red[m] LdBeth amnesic[m] Jachy oldtopman dvdmuckle chipolux moon-child alandipert nightfly sukaeto pjb drainful kiboneu TMA scal_ CrunchyChewie zigpaw5 samebchase-2 lemoinem terpri eschatologist jasom gabot joast Grauwolf grobe0ba jello_pudding aindilis cods KindOne Zotan himmAllRight dmiles Xach axion astronavt Jesin loli stepnem zymurgy 2020-04-18T13:26:46Z names: quazimodo zmt01 vsync heredoc grumble luis kilimanjaro jbgg creat vidak` abbe eagleflo APic phadthai drmeister Krystof xantoz swflint shinohai ski shymega Colleen drot flazh eMBee thonkpod Tordek vert2 CrazyEddy cracauer t3hyoshi fengshaun sh_zam datajerk jsatk parisienne_ z0d jackdaniel manualcrank nitrix ravndal larme froggey gingerale kim\ jackhill Oddity GreaseMonkey stux|RC-only yang rumbler31 Kaisyu7 karstensrage cybercafe pent lonjil asedeno hydan mgsk 2020-04-18T13:26:46Z names: Kemwer_ madand_ cmatei sjl SlashLife snits ft ecraven CommanderViral mjsir911 conjunctive ozzloy travv0 johs seisatsu remexre eta AdmiralBumbleBee copec ioa akkad Mandus Nikotiini hjudt acolarh tephra hiredman bmansurov sbryant_ Grue` tessier trn borodust adlai mgsk_ fouric simplegauss femi loke C-Keen edgar-rft Demosthenex funnel narendraj9 nullman lowryder spal lieven rumpelszn _death boeg thijso pok add^_ kingcons Ziemas MichaelRaskin jxy tumdum cpape easye 2020-04-18T13:26:46Z names: rotty kmeow d4ryus Shinmera esotericalgo winny idxu fiddlerwoaroof brass [df] mood Kabriel ramus zerous emma matijja bkst chewbranca Balooga p_l b0nn cg505 dxtr stux|RC cross koenig HiRE MetaYan gko` cdegroot chrpape knobo phoe jcob jurov Ekho @fe[nl]ix shenghi otwieracz cwaydt justinmcp_ |3b| kini guaqua trufas jdz Snow-Man michalisko mrSpec dyelar saturn2 interruptinuse r3x5 tomaw jgkamat Firedancer_ cpt_nemo Patzy sveit ck_ zagura azrazalea Inoperable 2020-04-18T13:26:46Z names: shrysr bhyde nydel mbrumlow Fade sgithens stylewarning tazjin jhei XachX gjnoonan jerme_ bytesighs fowlduck physpi avicenna Kaisyu CEnnis91 mpontillo rme gendl selwyn justache malm antoszka bacterio wigust- kbtr_ Ankhers SumoSud0- drewc trittweiler spacedbat Odin- Blkt lbtjp ult null_ptr HDurer thecoffemaker cyberlard jfb4 dlowe mjl billstclair jlpeters rvirding lukego l1x ssake jcowan 2020-04-18T13:26:46Z iAmDecim joined #lisp 2020-04-18T13:26:53Z jcowan: I forgot to mention condition (d): short. 2020-04-18T13:27:15Z jcowan: Unconditional is problematic just because it is so common. 2020-04-18T13:28:14Z phoe: Bike: all nitpicks are good, this is code that I want to be as clean as possible since it'll be educational material 2020-04-18T13:28:25Z phoe: just pushed newest fixes to it, too. 2020-04-18T13:28:30Z Bike: phoe: define-condition :report lambdas are in the wrong lexical environment (also repeatedly evaluated, which kind of sucks but is probably allowed). coerce-to-condition should accept a function as datum since functions can be format controls. 2020-04-18T13:28:34Z Bike: that's all i see so far 2020-04-18T13:28:43Z phoe: Bike: nice catches 2020-04-18T13:30:07Z phoe: in COERCE-TO-CONDITION, you mean that if datum is a function, then I should call (make-condition default-type :format-control datum :format-arguments arguments) ? 2020-04-18T13:30:39Z devrtz joined #lisp 2020-04-18T13:31:30Z Bike: yea. 2020-04-18T13:32:08Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-18T13:33:25Z iAmDecim joined #lisp 2020-04-18T13:34:21Z phoe: I wonder what you mean about the lexical environment though - https://plaster.tymoon.eu/view/1757#1757 2020-04-18T13:34:34Z phoe: local lexical functions are properly captured 2020-04-18T13:34:53Z Bike: I mean like (let ((x ...)) (define-condition ... (:report (lambda (stream) ...x...))))) 2020-04-18T13:35:19Z Bike: er, condition stream, whatevs 2020-04-18T13:36:03Z jcowan: This led me to wonder about Vacietis, the Common Lisp C compiler; it's the Lithuanian word for 'German', but the two famous people who bore it are both Latvian. 2020-04-18T13:36:07Z phoe: Bike: https://plaster.tymoon.eu/view/1757#1758 2020-04-18T13:36:13Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-18T13:36:23Z Bike: oh, i see 2020-04-18T13:36:32Z Bike: yeah, i'm wrong, the defmethod is in the same lexical environment so it works 2020-04-18T13:36:40Z phoe: yes, the defmethod is embedded into the resulting macroexpansion 2020-04-18T13:36:59Z phoe: it expands into (PROGN (DEFCLASS ...) (DEFMETHOD ...) 'NAME) 2020-04-18T13:37:31Z phoe: both of these are toplevel if DEFINE-CONDITION is toplevel, which AFAIU is the intended way 2020-04-18T13:40:54Z phoe: Bike: C-T-C fixed and pushed. Thanks! 2020-04-18T13:41:43Z phoe: https://cdn.discordapp.com/attachments/297478350145060875/701061427854704680/Zrzut_ekranu_z_2020-04-18_15-27-44.png 2020-04-18T13:41:50Z phoe: Is this stylistically pleasing enough? 2020-04-18T13:42:16Z Bike: seems fine to me. What happens when printing a condition signals an error? 2020-04-18T13:42:26Z phoe: I don't handle this one yet. Let me fix it. 2020-04-18T13:46:21Z phoe: fixed, thanks. 2020-04-18T13:46:56Z TwoNotes joined #lisp 2020-04-18T13:54:55Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-18T13:55:07Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-18T13:55:32Z cosimone quit (Quit: Terminated!) 2020-04-18T13:57:04Z xlei quit (Ping timeout: 256 seconds) 2020-04-18T13:58:21Z iAmDecim joined #lisp 2020-04-18T13:59:52Z jayspeer joined #lisp 2020-04-18T14:02:05Z ATuin joined #lisp 2020-04-18T14:02:31Z cosimone joined #lisp 2020-04-18T14:03:54Z ayuce joined #lisp 2020-04-18T14:05:07Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-18T14:05:45Z xlei joined #lisp 2020-04-18T14:06:08Z iridioid joined #lisp 2020-04-18T14:06:30Z iAmDecim joined #lisp 2020-04-18T14:09:32Z cosimone quit (Remote host closed the connection) 2020-04-18T14:10:02Z cosimone joined #lisp 2020-04-18T14:10:54Z iridioid quit (Ping timeout: 256 seconds) 2020-04-18T14:15:07Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-18T14:17:05Z Lycurgus joined #lisp 2020-04-18T14:19:04Z narimiran joined #lisp 2020-04-18T14:20:25Z iAmDecim joined #lisp 2020-04-18T14:25:47Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-18T14:26:46Z narimiran quit (Quit: leaving) 2020-04-18T14:27:35Z TwoNotes: Packages COMMON-LISP and LMDB both contain a method GET. How do I :use :LMDB without getting a name conflict? Something about :shadow I think. 2020-04-18T14:27:54Z beach: Don't :USE the LMDB package. 2020-04-18T14:28:34Z scymtym: if you must, you can use (:shadowing-import-from #:lmdb #:get) in your package. but as beach says, better don't 2020-04-18T14:28:42Z Xach: TwoNotes: it depends on which symbol you want to refer to when you write GET without a prefix. 2020-04-18T14:28:52Z gko quit (Ping timeout: 256 seconds) 2020-04-18T14:29:02Z Xach: if you use (:shadow #:get), it refers to neither. otherwise you can chose with shadowing-import-from. 2020-04-18T14:29:09Z TwoNotes: I only reference it as (lmdb:get ...) 2020-04-18T14:29:30Z Xach: another option is not to use the package at all 2020-04-18T14:29:32Z Xach: as beach says 2020-04-18T14:29:48Z TwoNotes: So just the :depends-on in my ASD file is enough? 2020-04-18T14:30:00Z Xach: that will ensure it is loaded, yes 2020-04-18T14:30:09Z TwoNotes: ah ok. Thnak you 2020-04-18T14:30:38Z beach: TwoNotes: The package name is short enough that you can prefix all the symbols from the LMDB package. That way, your code automatically becomes more clear as well. 2020-04-18T14:30:49Z phoe: yes, four characters is short enough 2020-04-18T14:31:07Z Xach: i'm still intrigued by joe marshall's application structure, where no symbol is ever referred to by prefix. 2020-04-18T14:31:15Z Xach: i have never tried to seriously do that myself, though. 2020-04-18T14:32:08Z TwoNotes: All my LMDB references are in a single source file, so it is not a problem using the explicit lmdb: all the time. 2020-04-18T14:32:49Z EvW1 joined #lisp 2020-04-18T14:33:42Z EvW quit (Ping timeout: 265 seconds) 2020-04-18T14:37:58Z shka_: phoe: also: "Unhandled condition signaled, entering Gehenna." ;-) 2020-04-18T14:38:54Z phoe: shka_: if Gehenna is the condition system then the debugger should be named Day of Judgment 2020-04-18T14:41:09Z mangul joined #lisp 2020-04-18T14:41:45Z gko joined #lisp 2020-04-18T14:42:27Z shifty quit (Ping timeout: 258 seconds) 2020-04-18T14:42:58Z shangul quit (Ping timeout: 256 seconds) 2020-04-18T14:43:36Z shka_: phoe: debugger: gehenna, condition system: karma 2020-04-18T14:43:46Z shka_: because for the maximum effect, mix cultures 2020-04-18T14:45:50Z phoe: we don't have restarts, we have resurrection methods 2020-04-18T14:47:03Z shka_: also, fatal error may display "In this times you need more then an advice. You need Jesus." 2020-04-18T14:47:23Z shka_: ok, enough of fooling around, back to coding 2020-04-18T14:47:30Z phoe: yes 2020-04-18T14:49:15Z eta: is there a way to specify a maximum line length with READ-LINE? 2020-04-18T14:49:40Z Oladon joined #lisp 2020-04-18T14:51:21Z iAmDecim joined #lisp 2020-04-18T14:52:10Z phoe: eta: nope 2020-04-18T14:52:22Z phoe: it reads until a newline 2020-04-18T14:52:40Z eta: phoe, so if I want this functionality, I should roll my own READ-LINE with READ-BYTE or something? 2020-04-18T14:52:46Z phoe: READ-CHAR 2020-04-18T14:52:52Z eta: yeah, that :) 2020-04-18T14:52:56Z phoe: you can implement a version which reads until #\Newline or until it has read 80 characters or something 2020-04-18T14:53:14Z gko quit (Ping timeout: 256 seconds) 2020-04-18T14:54:16Z phoe: (with-output-to-string (loop with char = nil for i from 1 until (= i char-limit) do (setf char (read-char)) if (eql #\Newline char) do (loop-finish) else (write-char char))) 2020-04-18T14:54:22Z phoe: something like that, very roughly implementing 2020-04-18T14:54:23Z Shinmera: Could also do more complicated logic with read-sequence to avoid the char-by-char read. 2020-04-18T14:54:31Z eta: Shinmera, yeah, that's what I was thinking of 2020-04-18T14:54:32Z phoe: or what Shinmera says 2020-04-18T14:54:40Z eta: the problem is you'd end up reading too much 2020-04-18T14:55:39Z Shinmera: read seq, seek to eol, process up until that index, shift rest to front, read-sequence starting at that point, repeat. 2020-04-18T14:55:48Z Shinmera: Doubt it would end up faster though. 2020-04-18T14:55:57Z gko joined #lisp 2020-04-18T14:56:07Z eta: Shinmera, well read-sequence can probably use AVX or some other funky CPU instructions 2020-04-18T14:56:15Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-18T14:56:24Z Shinmera: at 80 characters you're not gonna save a lot. 2020-04-18T14:56:31Z phoe: also the question is if you're reading from string or if you're reading from a normal stream 2020-04-18T14:56:31Z eta: hmmm 2020-04-18T14:56:35Z eta: it's a usocket 2020-04-18T14:56:39Z phoe: yes, that's worse 2020-04-18T14:56:40Z Shinmera: but as always, measure. 2020-04-18T14:56:49Z eta: so I don't really want to call READ-CHAR a million times on it 2020-04-18T14:56:50Z phoe: if you read too much then you need to unread that stuff somehow 2020-04-18T14:56:59Z phoe: and that means buffering 2020-04-18T14:57:17Z phoe: which you're likely going to do anyway if you want to do your own socketing 2020-04-18T14:57:20Z eta googles for buffered streams 2020-04-18T14:57:30Z eta: well I think you have to do your own socketing, no? 2020-04-18T14:57:33Z phoe: ;; come to the zeromq side, we have cookies 2020-04-18T14:57:45Z phoe: ;; and messages instead of streams! 2020-04-18T14:57:57Z eta: phoe, it's an SMTP server 2020-04-18T14:58:03Z eta: I can't make all SMTP clients in the world use ZMQ, sadly :P 2020-04-18T14:58:05Z phoe: ouch! my condolences 2020-04-18T14:58:16Z eta: phoe, hey, this is supposed to be a fun side project >_< 2020-04-18T14:58:27Z Shinmera: internet protocols are never a fun side project. 2020-04-18T14:58:41Z Shinmera just published an rss/atom lib today 2020-04-18T14:58:57Z phoe: yeah, I don't mean to discourage you or anything 2020-04-18T14:58:57Z eta: Shinmera, ah, but RSS is a uniquely bad disaster 2020-04-18T14:59:11Z Shinmera: Pretty standard fare for internet, in my opinion. 2020-04-18T14:59:15Z phoe: it's just that mailservers are damn complicated because SMTP itself is damn complicated 2020-04-18T14:59:18Z Shinmera: You ain't seen HTTP specs yet 2020-04-18T14:59:28Z eta: phoe, nah, SMTP seems pretty easy 2020-04-18T14:59:33Z eta: the hard part seems like MIME 2020-04-18T15:00:01Z Shinmera: eta: have you looked at cl-smtp, the client implementation? 2020-04-18T15:00:08Z jackdaniel: https://www.youtube.com/watch?v=kV4vHpqrj6E 2020-04-18T15:00:11Z Shinmera: it seems very likely that you can re-use parts of it. 2020-04-18T15:00:19Z jackdaniel: (muppet singing "MIME") 2020-04-18T15:00:33Z eta: Shinmera, thanks for the link, but I'll probably implement it all myself for """fun""" :p 2020-04-18T15:00:46Z gko quit (Ping timeout: 256 seconds) 2020-04-18T15:00:49Z eta: Shinmera, (read: I'll probably use that when I get desperate, so thanks >_<) 2020-04-18T15:00:58Z Shinmera: Sure, I'm just saying it probably has solutions for problems you can adapt. 2020-04-18T15:01:16Z Shinmera: Using references always beats not 2020-04-18T15:01:35Z gko joined #lisp 2020-04-18T15:02:06Z eta: Shinmera, hmm, fair enough, I'll take a look :) 2020-04-18T15:02:59Z Lycurgus quit (Remote host closed the connection) 2020-04-18T15:04:13Z SGASAU joined #lisp 2020-04-18T15:05:24Z EvW1 quit (Ping timeout: 256 seconds) 2020-04-18T15:07:30Z Kundry_Wag joined #lisp 2020-04-18T15:11:58Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-04-18T15:15:25Z mangul quit (Ping timeout: 258 seconds) 2020-04-18T15:21:12Z bitmapper joined #lisp 2020-04-18T15:24:10Z shangul joined #lisp 2020-04-18T15:28:47Z mangul joined #lisp 2020-04-18T15:29:06Z shangul quit (Ping timeout: 256 seconds) 2020-04-18T15:29:07Z mangul quit (Read error: Connection reset by peer) 2020-04-18T15:31:31Z vidak` quit (Read error: Connection reset by peer) 2020-04-18T15:40:18Z efm quit (Read error: Connection reset by peer) 2020-04-18T15:42:32Z hdasch quit (Ping timeout: 256 seconds) 2020-04-18T15:46:15Z shangul joined #lisp 2020-04-18T15:47:57Z ATuin quit (Ping timeout: 265 seconds) 2020-04-18T15:49:20Z efm joined #lisp 2020-04-18T15:49:26Z hdasch joined #lisp 2020-04-18T15:49:32Z mangul joined #lisp 2020-04-18T15:52:18Z shangul quit (Ping timeout: 265 seconds) 2020-04-18T15:54:27Z iridioid joined #lisp 2020-04-18T15:57:54Z Kevslinger joined #lisp 2020-04-18T15:58:23Z retropikzel_ joined #lisp 2020-04-18T15:59:05Z iridioid quit (Ping timeout: 250 seconds) 2020-04-18T16:00:06Z retropikzel quit (Ping timeout: 240 seconds) 2020-04-18T16:01:42Z retropikzel_ quit (Client Quit) 2020-04-18T16:05:32Z farooqkz__ joined #lisp 2020-04-18T16:06:04Z abhixec joined #lisp 2020-04-18T16:08:15Z mangul quit (Ping timeout: 265 seconds) 2020-04-18T16:11:11Z gko_ joined #lisp 2020-04-18T16:11:14Z gko quit (Ping timeout: 240 seconds) 2020-04-18T16:14:07Z TwoNotes: Can a defclass inherit from a superclass in a different package? 2020-04-18T16:14:27Z phoe: yes 2020-04-18T16:14:35Z phoe: (defclass my-class (other-package:other-class) ()) 2020-04-18T16:14:53Z Shinmera: packages have nothing to do with classes. 2020-04-18T16:15:04Z TwoNotes: Great - thank you. I have a "database" and a "parser" view of certain concepts which differ slightly. 2020-04-18T16:15:50Z Shinmera: a class is not 'in' a package. it is named by a symbol, which may be in one or many packages. 2020-04-18T16:16:31Z mangul joined #lisp 2020-04-18T16:19:14Z farooqkz__ quit (Ping timeout: 240 seconds) 2020-04-18T16:22:07Z mangul quit (Ping timeout: 258 seconds) 2020-04-18T16:23:04Z beach: Shinmera: That attempt didn't seem to have worked. 2020-04-18T16:23:12Z shangul joined #lisp 2020-04-18T16:23:28Z Shinmera: beach: Hm? 2020-04-18T16:23:41Z beach: Your attempt to teach some package basics. 2020-04-18T16:23:49Z Shinmera: Ah. Well, I won't lose any sleep over it. 2020-04-18T16:23:57Z beach: Good. 2020-04-18T16:23:57Z phoe: if anything, I'd link http://index-of.es/Programming/Lisp/Lisp%20Mess/Erann%20Gat%20-%20Idiots%20Guide%20To%20Lisp%20Packages.pdf 2020-04-18T16:25:47Z eta: can I extend a vector with another vector? 2020-04-18T16:25:59Z eta: wait, never mind 2020-04-18T16:26:05Z eta: I just realised that's a really inefficient way of doing it 2020-04-18T16:26:57Z efm quit (Read error: Connection reset by peer) 2020-04-18T16:27:16Z TwoNotes: phoe, that Idiot's Guide looks useful. ty 2020-04-18T16:30:04Z efm joined #lisp 2020-04-18T16:30:27Z iAmDecim joined #lisp 2020-04-18T16:32:53Z jackdaniel: speaking of classes and their names, is it conforming to expect, that metaclass is available *by name* (find-class) immedietely after the primary method for finalize-inheritance is called? (i.e in the after method) 2020-04-18T16:32:58Z efm_ joined #lisp 2020-04-18T16:33:28Z shangul quit (Ping timeout: 256 seconds) 2020-04-18T16:33:33Z Kundry_Wag joined #lisp 2020-04-18T16:33:42Z jackdaniel: if finalization is performed in initialize-instanc, and name is associated after make-instance finishes (i.e in ensure-class), then that would fail 2020-04-18T16:33:53Z gko joined #lisp 2020-04-18T16:34:39Z efm quit (Ping timeout: 260 seconds) 2020-04-18T16:35:55Z retropikzel joined #lisp 2020-04-18T16:35:56Z shangul joined #lisp 2020-04-18T16:36:02Z beach: I find that I am too tired to even understand what you mean. If it can wait until tomorrow, I'll be in much better shape. 2020-04-18T16:36:10Z jackdaniel: alright, thank you 2020-04-18T16:36:17Z gko_ quit (Ping timeout: 265 seconds) 2020-04-18T16:36:19Z jackdaniel: if I don't crack it myself today I'll bother you :) 2020-04-18T16:36:28Z beach: Sounds good. 2020-04-18T16:36:53Z beach: I am off to fix dinner for my (admittedly small) family, and then spend time with her. I'll be back tomorrow morning (UTC+2). 2020-04-18T16:36:59Z efm_ quit (Client Quit) 2020-04-18T16:37:03Z jackdaniel: see you o/ 2020-04-18T16:38:16Z gko_ joined #lisp 2020-04-18T16:39:38Z Kundry_Wag quit (Remote host closed the connection) 2020-04-18T16:39:50Z mangul joined #lisp 2020-04-18T16:39:56Z efm joined #lisp 2020-04-18T16:40:06Z Kundry_Wag joined #lisp 2020-04-18T16:40:35Z mangul quit (Remote host closed the connection) 2020-04-18T16:40:41Z gko quit (Ping timeout: 250 seconds) 2020-04-18T16:41:33Z shangul quit (Ping timeout: 250 seconds) 2020-04-18T16:45:43Z shangul joined #lisp 2020-04-18T16:47:26Z mikecheck left #lisp 2020-04-18T16:49:36Z iridioid joined #lisp 2020-04-18T16:53:14Z shangul quit (Ping timeout: 240 seconds) 2020-04-18T16:53:48Z Jeanne-Kamikaze joined #lisp 2020-04-18T16:56:38Z shangul joined #lisp 2020-04-18T17:00:51Z mangul joined #lisp 2020-04-18T17:03:07Z shangul quit (Ping timeout: 260 seconds) 2020-04-18T17:03:07Z hylisper quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2020-04-18T17:03:19Z tutti joined #lisp 2020-04-18T17:06:45Z phoe: jackdaniel: http://metamodular.com/CLOS-MOP/ensure-class-using-class.html 2020-04-18T17:06:52Z phoe: jackdaniel: I think the class itself should be available by name only after ENSURE-CLASS is about to finish its operation 2020-04-18T17:07:23Z phoe: but let me dig into the MOP... 2020-04-18T17:07:42Z jackdaniel: that's my impression too 2020-04-18T17:07:51Z phoe: "The proper name of the newly created class metaobject is set to name." 2020-04-18T17:07:59Z phoe: what does it mean that "the proper name is set" 2020-04-18T17:08:14Z Xach: phoe: i never knew about *print-gensym*, thanks! 2020-04-18T17:08:15Z phoe: does it mean SETF FIND-CLASS is called with the name and the instance to associate the symbol and the instance? 2020-04-18T17:08:20Z phoe: Xach: ha! seriously? 2020-04-18T17:08:24Z Xach: seriously 2020-04-18T17:08:34Z Xach: just when you think you've seen most symbols... 2020-04-18T17:08:34Z phoe: well, glad to be of service 2020-04-18T17:08:53Z jackdaniel: phoe: class-name 2020-04-18T17:09:01Z phoe: jackdaniel: ooh, that. 2020-04-18T17:09:08Z phoe: Then this passage doesn't meant what I think it meant. 2020-04-18T17:09:14Z jackdaniel: afair it is defiend in defclass 2020-04-18T17:09:56Z phoe: but then again, it's not required to call DEFCLASS to have SETF FIND-CLASS called 2020-04-18T17:10:02Z phoe: user can call ENSURE-CLASS-USING-CLASS themselves 2020-04-18T17:10:54Z jackdaniel: class name is "proper" when (eq #1=(class-name class) (class-name (find-class #1# nil))) roughly speaking 2020-04-18T17:11:07Z q3d joined #lisp 2020-04-18T17:11:14Z phoe: I see! so this implies that FIND-CLASS must work at that moment 2020-04-18T17:11:23Z jackdaniel: no, see the second argument 2020-04-18T17:12:02Z phoe: hm 2020-04-18T17:12:46Z phoe: one second though 2020-04-18T17:12:49Z jackdaniel: if the class is associated with its name after creation, then it is not conforming to expect that it is accessible by its name immedietely after its metaclass is finalized 2020-04-18T17:13:14Z jackdaniel: I suppose I have my conclusion. I know why it works on SBCL, but that's beside the point. 2020-04-18T17:13:20Z phoe: "The proper name of the newly created class metaobject is set to name. The newly created class metaobject is returned." 2020-04-18T17:13:42Z phoe: if the proper name is set, then it means that both CLASS-NAME and FIND-CLASS of that name must work *after* proper name is set 2020-04-18T17:13:52Z phoe: but not earlier than that 2020-04-18T17:14:01Z jackdaniel: sure 2020-04-18T17:14:16Z phoe: and there are no steps defined in the MOP between setting the name and returning the class metaobject 2020-04-18T17:14:47Z jackdaniel: I think that my question was misunderstood, but I'm also tired after long time to try to rephrase 2020-04-18T17:15:09Z phoe: OK - you got your answer, I'll not push that further 2020-04-18T17:15:22Z hiroaki joined #lisp 2020-04-18T17:17:57Z phoe works on translating cl:conditions to pcs:conditions 2020-04-18T17:18:22Z rozenglass joined #lisp 2020-04-18T17:20:19Z cage_ joined #lisp 2020-04-18T17:21:30Z cage_ quit (Client Quit) 2020-04-18T17:22:22Z cage_ joined #lisp 2020-04-18T17:22:51Z cage_ quit (Client Quit) 2020-04-18T17:24:15Z buffergn0me joined #lisp 2020-04-18T17:25:34Z jcowan: phoe, shka: Doomsday would be better than Day of Judgment 2020-04-18T17:34:05Z g0d_shatter joined #lisp 2020-04-18T17:47:08Z gareppa joined #lisp 2020-04-18T17:48:56Z dddddd joined #lisp 2020-04-18T17:51:15Z gareppa quit (Remote host closed the connection) 2020-04-18T17:52:14Z rozenglass quit (Ping timeout: 240 seconds) 2020-04-18T17:52:44Z joshcom joined #lisp 2020-04-18T17:54:36Z q3d quit (Ping timeout: 240 seconds) 2020-04-18T17:55:34Z joshcom quit (Remote host closed the connection) 2020-04-18T17:55:59Z joshcom joined #lisp 2020-04-18T17:56:50Z mangul quit (Quit: Leaving) 2020-04-18T17:57:09Z mangul joined #lisp 2020-04-18T17:57:40Z tutti quit (Ping timeout: 256 seconds) 2020-04-18T17:57:53Z flip214: ESRAP is quite slower than CL-PPCRE - but much better to read! Using sprof reveals that 46% of time is spent in "LABELS ESRAP::RULE/TRANSFORM :IN ESRAP::COMPILE-RULE". 2020-04-18T17:58:11Z flip214: Is there some separate step to get the grammer compiled for good? 2020-04-18T17:59:00Z flip214: I'd have expected the rules to be compiled to simple functions that walk the input string... seems that there's much more going on 2020-04-18T17:59:40Z gko_ quit (Ping timeout: 256 seconds) 2020-04-18T18:03:00Z Blukunfando quit (Ping timeout: 256 seconds) 2020-04-18T18:03:51Z scymtym: flip214: one of the goals nikodemus had for esrap was to not COMPILE rules but use the "tree of closures" compilation technique. that's the reason a closure made in COMPILE-RULE is executed at runtime. i will make that part a bit more efficient, but the biggest time sinks are result structures and the cache anyway 2020-04-18T18:04:51Z joshcom quit (Remote host closed the connection) 2020-04-18T18:05:19Z joshcom joined #lisp 2020-04-18T18:11:29Z didi joined #lisp 2020-04-18T18:11:58Z didi: When should one use catch/throw instead of conditions? 2020-04-18T18:12:17Z flip214: scymtym: well, but parsing a file with 87000 lines takes 2.6 sec - and 46% of that time is in COMPILE-RULE? 2020-04-18T18:12:45Z flip214: scymtym: ah, I understand what you say. 2020-04-18T18:12:50Z phoe: flip214: IIUC it's not in COMPILE-RULE itself 2020-04-18T18:13:11Z phoe: it is inside some local function that was returned from COMPILE-RULE 2020-04-18T18:13:37Z phoe: didi: performance 2020-04-18T18:13:38Z jackdaniel: didi: when you want to implement a dynamic emergency exit 2020-04-18T18:13:46Z phoe: didi: https://gist.github.com/nikodemus/b461ab9146a3397dd93e 2020-04-18T18:14:08Z jackdaniel: (i.e you have recursive alpha-beta algorithm and you've found an answer with maximum score) 2020-04-18T18:14:40Z didi: phoe: Thank you. 2020-04-18T18:14:51Z flip214: well, is there some way to make it faster? I've got files with several million lines to parse as well... and CL-PPCRE "only" compiles to closures as well and is still much faster?! 2020-04-18T18:15:07Z didi: jackdaniel: Thank you. 2020-04-18T18:15:23Z eta: are there any buffered stream things? 2020-04-18T18:15:27Z phoe: technically speaking, a dynamic emergency exit like the one jackdaniel mentioned is possible to implement in conditions, (handler-case (some-form) (get-me-out-of-here ())) and then (signal 'get-me-out-of-here) anywhere in the dynamic extent of (some-form) 2020-04-18T18:15:40Z phoe: ;; and it even won't crash, unlike a throw with no matching catch tag 2020-04-18T18:15:44Z tutti joined #lisp 2020-04-18T18:15:48Z phoe: however, walking the handler stack is costly 2020-04-18T18:15:51Z didi: oic 2020-04-18T18:16:10Z phoe: that gist by nikodemus mentions the performance hit if you perform a *lot* of backtracking via condition handling 2020-04-18T18:16:27Z phoe: for a single transfer of control, the difference will likely be negligible 2020-04-18T18:17:24Z mangul quit (Ping timeout: 256 seconds) 2020-04-18T18:17:48Z phoe: for hundreds, thousands, millions - it'll stack and heavily slow your stuff down 2020-04-18T18:19:52Z jason_m joined #lisp 2020-04-18T18:20:05Z jackdaniel: how about billions? 2020-04-18T18:20:08Z jackdaniel: will it work fast? 2020-04-18T18:21:39Z jayspeer quit (Ping timeout: 265 seconds) 2020-04-18T18:21:45Z phoe: jackdaniel: if your implementation is 32-bit, then it might speed back up just after you pass four billion - 4294967296 to be exact 2020-04-18T18:21:58Z phoe: but, as always, measure 2020-04-18T18:25:10Z g0d_shatter quit (Quit: Leaving) 2020-04-18T18:25:20Z wheelsucker joined #lisp 2020-04-18T18:30:22Z joshcom quit (Remote host closed the connection) 2020-04-18T18:30:46Z joshcom joined #lisp 2020-04-18T18:36:19Z shukryzablah left #lisp 2020-04-18T18:38:49Z z147 joined #lisp 2020-04-18T18:43:11Z flip214: when TIME says (on sbcl) "269 lambdas converted", does that mean that these lambda were not compiled before? 2020-04-18T18:43:25Z igemnace quit (Ping timeout: 264 seconds) 2020-04-18T18:45:44Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-18T18:46:06Z igemnace joined #lisp 2020-04-18T18:50:50Z iridioid quit (Ping timeout: 256 seconds) 2020-04-18T18:51:50Z Oladon quit (Quit: Leaving.) 2020-04-18T18:58:43Z flip214: scymtym: just as a quick log of what I tried: https://github.com/phmarek/esrap 2020-04-18T18:58:59Z flip214: got me from ;; 9.995 seconds of real time 2020-04-18T18:59:07Z flip214: to ;; 7.486 seconds of real time 2020-04-18T18:59:12Z flip214: for my workload 2020-04-18T18:59:44Z flip214: 19.9G CPU cycles to 14.9G cycles 2020-04-18T19:02:28Z heisig quit (Quit: Leaving) 2020-04-18T19:06:09Z izh_ joined #lisp 2020-04-18T19:10:09Z Kundry_Wag joined #lisp 2020-04-18T19:12:32Z pcl joined #lisp 2020-04-18T19:13:30Z pcl quit (Remote host closed the connection) 2020-04-18T19:14:35Z jayspeer joined #lisp 2020-04-18T19:17:45Z refpga` quit (Remote host closed the connection) 2020-04-18T19:18:10Z refpga` joined #lisp 2020-04-18T19:26:16Z dale joined #lisp 2020-04-18T19:29:13Z karlosz joined #lisp 2020-04-18T19:30:58Z didi left #lisp 2020-04-18T19:31:11Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-18T19:31:37Z luni joined #lisp 2020-04-18T19:32:53Z buffergn0me quit (Ping timeout: 246 seconds) 2020-04-18T19:41:41Z test` joined #lisp 2020-04-18T19:42:28Z test` quit (Remote host closed the connection) 2020-04-18T19:46:25Z keep_learning joined #lisp 2020-04-18T19:51:27Z C-Keen quit (Quit: WeeChat 2.6) 2020-04-18T20:02:41Z Jesin quit (Quit: Leaving) 2020-04-18T20:19:51Z davd joined #lisp 2020-04-18T20:27:44Z Jesin joined #lisp 2020-04-18T20:28:06Z izh_ quit (Quit: Leaving) 2020-04-18T20:31:13Z wheelsucker quit (Ping timeout: 250 seconds) 2020-04-18T20:39:08Z arduo joined #lisp 2020-04-18T20:41:03Z davd quit (Remote host closed the connection) 2020-04-18T20:41:25Z davd joined #lisp 2020-04-18T20:43:02Z penguwin quit (Quit: NO CARRIER) 2020-04-18T20:43:37Z penguwin joined #lisp 2020-04-18T20:46:35Z davd quit (Remote host closed the connection) 2020-04-18T20:53:37Z joshcom quit (Ping timeout: 264 seconds) 2020-04-18T20:59:38Z TwoNotes quit (Quit: Leaving) 2020-04-18T21:02:36Z dmiles quit (Ping timeout: 265 seconds) 2020-04-18T21:05:33Z orivej quit (Ping timeout: 256 seconds) 2020-04-18T21:05:44Z orivej joined #lisp 2020-04-18T21:08:00Z Kundry_Wag quit (Remote host closed the connection) 2020-04-18T21:14:41Z shka_ quit (Ping timeout: 265 seconds) 2020-04-18T21:18:27Z fadieller joined #lisp 2020-04-18T21:18:43Z fadieller: how are m expressions different? they just use [] instead of ()? 2020-04-18T21:25:56Z scymtym: flip214: replying to "and cl-ppcre …": as i said, the "tree of closures" technique is /not/ the worst bottleneck, so "cl-ppcre is fast therefore esrap should be fast" is invalid 2020-04-18T21:26:28Z scymtym: esrap is a slow parser. partly due to its architecture and partly due to its implementation. i have been working on eliminating some of the reason on the implementation side, but the speedups have been moderate 2020-04-18T21:27:03Z fadieller quit (Quit: fadieller) 2020-04-18T21:29:44Z efm quit (Quit: Konversation terminated!) 2020-04-18T21:32:08Z scymtym: flip214: regarding "lambdas converted", since esrap does not call COMPILE, it has to be something else such as generic functions being called for the first time or after methods have changed. in case of compiler invocations within generic function dispatch, just rerunning the benchmark should make the compiler invocations disappear 2020-04-18T21:35:38Z scymtym: flip214: regarding the optimizations you tried: the cache can be disabled per-rule with the (:cache nil) option. esrap also disables the cache automatically if it can determine that it is safe to do so and the rule expression in question is simple enough. compiling things with (speed 3) may help, but that is a decision i would rather leave to the library user 2020-04-18T21:36:18Z jayspeer` joined #lisp 2020-04-18T21:37:50Z ym joined #lisp 2020-04-18T21:37:59Z jayspeer quit (Ping timeout: 258 seconds) 2020-04-18T21:39:21Z cosimone quit (Quit: Quit.) 2020-04-18T21:39:30Z jayspeer joined #lisp 2020-04-18T21:40:07Z cosimone joined #lisp 2020-04-18T21:40:50Z jayspeer` quit (Ping timeout: 256 seconds) 2020-04-18T21:40:52Z mr_yogurt joined #lisp 2020-04-18T21:41:51Z orivej quit (Ping timeout: 250 seconds) 2020-04-18T21:42:52Z Kundry_Wag joined #lisp 2020-04-18T21:43:35Z pilne joined #lisp 2020-04-18T21:45:12Z dmiles joined #lisp 2020-04-18T21:46:33Z Lord_of_Life_ joined #lisp 2020-04-18T21:46:40Z Kundry_Wag quit (Remote host closed the connection) 2020-04-18T21:46:55Z Kundry_Wag joined #lisp 2020-04-18T21:49:40Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-18T21:49:46Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-18T21:55:58Z notzmv quit (Ping timeout: 256 seconds) 2020-04-18T21:57:32Z retropikzel quit (Quit: Leaving) 2020-04-18T21:59:27Z karlosz quit (Ping timeout: 258 seconds) 2020-04-18T21:59:36Z notzmv joined #lisp 2020-04-18T21:59:54Z notzmv is now known as Guest52582 2020-04-18T22:05:08Z karlosz joined #lisp 2020-04-18T22:06:32Z mikecheck joined #lisp 2020-04-18T22:06:34Z jayspeer` joined #lisp 2020-04-18T22:07:52Z ardoc joined #lisp 2020-04-18T22:08:07Z frgo quit (Remote host closed the connection) 2020-04-18T22:08:34Z gravicappa quit (Ping timeout: 240 seconds) 2020-04-18T22:08:44Z frgo joined #lisp 2020-04-18T22:09:35Z jayspeer quit (Ping timeout: 250 seconds) 2020-04-18T22:11:26Z arduo quit (Ping timeout: 256 seconds) 2020-04-18T22:13:11Z ardoc` joined #lisp 2020-04-18T22:15:59Z pve quit (Quit: leaving) 2020-04-18T22:17:06Z ardoc quit (Ping timeout: 256 seconds) 2020-04-18T22:26:29Z jayspeer` quit (Ping timeout: 250 seconds) 2020-04-18T22:27:34Z whiteline quit (Remote host closed the connection) 2020-04-18T22:31:47Z z147 quit (Quit: z147) 2020-04-18T22:36:06Z whiteline joined #lisp 2020-04-18T22:48:31Z karlosz quit (Quit: karlosz) 2020-04-18T22:48:49Z karlosz joined #lisp 2020-04-18T22:51:13Z ardoc` quit (Ping timeout: 264 seconds) 2020-04-18T22:52:42Z karlosz quit (Client Quit) 2020-04-18T22:52:59Z karlosz joined #lisp 2020-04-18T22:53:27Z akoana joined #lisp 2020-04-18T22:53:47Z cosimone quit (Quit: Quit.) 2020-04-18T22:54:08Z rand_t joined #lisp 2020-04-18T22:54:54Z cosimone joined #lisp 2020-04-18T23:01:33Z KindTwo joined #lisp 2020-04-18T23:03:21Z KindTwo quit (Max SendQ exceeded) 2020-04-18T23:06:21Z iridioid joined #lisp 2020-04-18T23:06:55Z cosimone quit (Remote host closed the connection) 2020-04-18T23:07:24Z cosimone joined #lisp 2020-04-18T23:18:58Z refpga` quit (Remote host closed the connection) 2020-04-18T23:23:10Z KindTwo joined #lisp 2020-04-18T23:33:34Z cosimone quit (Quit: Quit.) 2020-04-18T23:33:52Z KindTwo quit (Max SendQ exceeded) 2020-04-18T23:34:39Z shifty joined #lisp 2020-04-18T23:35:17Z Oladon joined #lisp 2020-04-18T23:39:14Z Guest52582 is now known as notzmv 2020-04-18T23:50:32Z whiteline quit (Read error: Connection reset by peer) 2020-04-18T23:56:08Z whiteline joined #lisp 2020-04-18T23:56:38Z whiteline quit (Remote host closed the connection) 2020-04-18T23:57:02Z whiteline joined #lisp 2020-04-19T00:02:54Z SGASAU quit (Ping timeout: 240 seconds) 2020-04-19T00:03:00Z SGASAU` joined #lisp 2020-04-19T00:03:06Z Jesin quit (Quit: Leaving) 2020-04-19T00:05:09Z SGASAU` quit (Read error: Connection reset by peer) 2020-04-19T00:07:33Z SGASAU joined #lisp 2020-04-19T00:07:35Z Jesin joined #lisp 2020-04-19T00:07:38Z SGASAU quit (Remote host closed the connection) 2020-04-19T00:08:36Z SGASAU joined #lisp 2020-04-19T00:12:45Z zmt00 joined #lisp 2020-04-19T00:13:14Z tutti quit (Ping timeout: 258 seconds) 2020-04-19T00:15:42Z zmt01 quit (Ping timeout: 260 seconds) 2020-04-19T00:19:20Z random-nick quit (Ping timeout: 256 seconds) 2020-04-19T00:25:45Z luni quit (Quit: Connection closed) 2020-04-19T00:29:30Z renzhi joined #lisp 2020-04-19T00:41:23Z akoana left #lisp 2020-04-19T00:43:59Z SGASAU quit (Remote host closed the connection) 2020-04-19T00:45:34Z SGASAU` joined #lisp 2020-04-19T00:48:54Z iridioid quit (Quit: WeeChat 2.6) 2020-04-19T00:53:40Z SGASAU` quit (Remote host closed the connection) 2020-04-19T00:54:35Z SGASAU` joined #lisp 2020-04-19T00:59:36Z SGASAU` quit (Remote host closed the connection) 2020-04-19T01:00:20Z SGASAU` joined #lisp 2020-04-19T01:04:36Z bitmapper quit (Ping timeout: 256 seconds) 2020-04-19T01:12:40Z Inline quit (Ping timeout: 265 seconds) 2020-04-19T01:14:59Z Bourne quit (Ping timeout: 260 seconds) 2020-04-19T01:19:48Z gko joined #lisp 2020-04-19T01:27:58Z ahungry joined #lisp 2020-04-19T01:39:14Z renzhi quit (Ping timeout: 256 seconds) 2020-04-19T01:40:51Z SGASAU` quit (Remote host closed the connection) 2020-04-19T01:41:36Z SGASAU` joined #lisp 2020-04-19T01:42:00Z zaquest quit (Quit: Leaving) 2020-04-19T01:43:07Z zaquest joined #lisp 2020-04-19T01:46:29Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-19T01:47:18Z SGASAU joined #lisp 2020-04-19T01:56:38Z abhixec quit (Quit: reboot) 2020-04-19T02:09:02Z SGASAU quit (Ping timeout: 265 seconds) 2020-04-19T02:13:39Z SGASAU joined #lisp 2020-04-19T02:23:57Z SGASAU quit (Remote host closed the connection) 2020-04-19T02:24:49Z SGASAU joined #lisp 2020-04-19T02:26:07Z cylb quit (Ping timeout: 250 seconds) 2020-04-19T02:27:58Z monok joined #lisp 2020-04-19T02:30:49Z mono quit (Ping timeout: 264 seconds) 2020-04-19T02:32:23Z torbo joined #lisp 2020-04-19T02:48:15Z rand_t quit (Quit: rand_t) 2020-04-19T02:49:31Z dddddd quit (Ping timeout: 250 seconds) 2020-04-19T02:54:36Z Kundry_Wag quit (Remote host closed the connection) 2020-04-19T02:57:05Z beach: Good morning everyone! 2020-04-19T03:19:42Z buffergn0me joined #lisp 2020-04-19T03:32:25Z ayuce quit (Remote host closed the connection) 2020-04-19T03:33:08Z mrcom quit (Ping timeout: 265 seconds) 2020-04-19T03:34:41Z [rg] joined #lisp 2020-04-19T03:34:50Z [rg]: Bike hello 2020-04-19T03:34:51Z minion: [rg], memo from pjb: (shadow '(cons consp car cdr)) (defstruct (cons (:constructor cons (car cdr)) (:conc-name nil) (:predicate consp)) car cdr) (cons 1 2) -> #S(cons :car 1 :cdr 2) 2020-04-19T03:34:51Z minion: [rg], memo from pjb: that said, on a lot of processors, storing the cdr before the car may be advantageous (optimizes cdr-following). 2020-04-19T03:35:05Z Bike: um, hi? 2020-04-19T03:35:18Z Lycurgus joined #lisp 2020-04-19T03:35:37Z [rg]: pinged you since you read the ken thompson paper 2020-04-19T03:35:55Z [rg]: I suspect CLIST and NLIST where just arrays 2020-04-19T03:36:01Z [rg]: what do you think? 2020-04-19T03:39:38Z mrcom joined #lisp 2020-04-19T03:40:49Z beach: [rg] I am not Bike, but what paper are you talking about, and what is CLIST and NLIST? 2020-04-19T03:41:39Z [rg]: ken thompson's construction http://doi.acm.org/10.1145/363347.363387 (free for now) 2020-04-19T03:41:51Z [rg]: prompted my search into lisp implementation 2020-04-19T03:42:05Z Bike: acm being real slow today... 2020-04-19T03:42:22Z [rg]: do you like the new website? I don't 2020-04-19T03:42:35Z Bike: i think i like it better than the old website, but that's not saying much. 2020-04-19T03:43:20Z beach: [rg]: I must have missed the context. How is that paper related to Common Lisp? 2020-04-19T03:44:08Z [rg]: at first I thought that CLIST and NLIST where implemented using the same technique for cons cdr and car 2020-04-19T03:44:24Z beach: What is CLIST and NLIST? 2020-04-19T03:44:44Z [rg]: so I came here to find about original implementation details, and how those things work 2020-04-19T03:44:52Z Bike: two linked lists desribed by the paper. at least i think they're linked lists. 2020-04-19T03:45:01Z beach: I see. 2020-04-19T03:45:02Z [rg]: list's maintained by the program that have derivations of a regxp 2020-04-19T03:45:27Z Bike: the program is written in algol 60, so the connection is somewhat tenuous. i doubt this algorithm relies on specific machine details or anything 2020-04-19T03:45:34Z Bike: though it sure has a lot of assembly listings 2020-04-19T03:46:03Z Bike: oh, the program outputs machine code. i see. 2020-04-19T03:47:03Z [rg]: it also relies on CNODE and NNODE routines, which is the most complex part 2020-04-19T03:47:33Z Kundry_Wag joined #lisp 2020-04-19T03:49:55Z ahungry quit (Ping timeout: 260 seconds) 2020-04-19T03:51:32Z Bike: i'm not familiar with the IBM 7094, so I can't read this very well, but I suspect the "lists" might just be what i'd call arrays. i don't see anything that looks like dynamic memory allocation 2020-04-19T03:51:55Z Kundry_Wag quit (Ping timeout: 250 seconds) 2020-04-19T03:53:16Z [rg]: yes I got that feeling as well, it's just weird, how does if find the subroutines? and how did they say where to allocate memory 2020-04-19T03:53:29Z [rg]: oh well, thanks anyways Bike 2020-04-19T03:55:09Z [rg] quit (Remote host closed the connection) 2020-04-19T03:56:32Z mr_yogurt: is there an easy way to get the value in a slot with :allocation :class from the class itself? like (some-function (find-class 'my-class) 'my-slot) 2020-04-19T03:57:15Z Bike: not particularly. you can do (slot-value (mop:class-prototype (find-class 'my-class)) 'my-slot), though. 2020-04-19T04:01:09Z mr_yogurt: that works, thank you 2020-04-19T04:06:11Z buffergn0me quit (Ping timeout: 265 seconds) 2020-04-19T04:24:26Z asarch joined #lisp 2020-04-19T04:25:44Z Lycurgus quit (Remote host closed the connection) 2020-04-19T04:32:48Z Kundry_Wag joined #lisp 2020-04-19T04:37:25Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-19T04:43:06Z gravicappa joined #lisp 2020-04-19T04:51:00Z Oladon quit (Quit: Leaving.) 2020-04-19T04:55:04Z narimiran joined #lisp 2020-04-19T04:56:23Z Bike quit (Quit: Lost terminal) 2020-04-19T04:59:30Z narimiran quit (Client Quit) 2020-04-19T05:06:27Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-04-19T05:28:30Z Oladon joined #lisp 2020-04-19T05:28:32Z vlatkoB joined #lisp 2020-04-19T05:30:02Z lemoinem quit (Ping timeout: 256 seconds) 2020-04-19T05:30:09Z lemoinem joined #lisp 2020-04-19T05:36:39Z asarch quit (Quit: Leaving) 2020-04-19T06:09:03Z _whitelogger quit (Remote host closed the connection) 2020-04-19T06:10:03Z trufas quit (Ping timeout: 272 seconds) 2020-04-19T06:11:16Z _whitelogger joined #lisp 2020-04-19T06:13:30Z splittist quit (*.net *.split) 2020-04-19T06:13:30Z liambrown quit (*.net *.split) 2020-04-19T06:13:32Z amnesic[m] quit (*.net *.split) 2020-04-19T06:13:32Z LdBeth quit (*.net *.split) 2020-04-19T06:13:32Z APic quit (*.net *.split) 2020-04-19T06:13:32Z eagleflo quit (*.net *.split) 2020-04-19T06:13:32Z abbe quit (*.net *.split) 2020-04-19T06:15:23Z splittist joined #lisp 2020-04-19T06:15:23Z liambrown joined #lisp 2020-04-19T06:15:23Z LdBeth joined #lisp 2020-04-19T06:15:23Z amnesic[m] joined #lisp 2020-04-19T06:15:23Z APic joined #lisp 2020-04-19T06:15:23Z eagleflo joined #lisp 2020-04-19T06:15:23Z abbe joined #lisp 2020-04-19T06:16:05Z orivej joined #lisp 2020-04-19T06:18:03Z _paul0 quit (Remote host closed the connection) 2020-04-19T06:18:25Z paul0 joined #lisp 2020-04-19T06:21:44Z shka_ joined #lisp 2020-04-19T06:25:00Z shangul joined #lisp 2020-04-19T06:28:12Z Oladon quit (Quit: Leaving.) 2020-04-19T06:31:42Z Bourne joined #lisp 2020-04-19T06:33:36Z Kundry_Wag joined #lisp 2020-04-19T06:35:39Z akoana joined #lisp 2020-04-19T06:37:54Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-19T06:57:02Z ATP7 joined #lisp 2020-04-19T06:58:24Z pve joined #lisp 2020-04-19T06:58:55Z ATP7 left #lisp 2020-04-19T07:45:15Z no-defun-allowed: What do various implementations with threads on multiple processors provide as the return value of GET-INTERNAL-RUN-TIME? I understand that it's implementation dependent, but I'm curious as to how "run time" is interpreted by different people. 2020-04-19T07:46:00Z retropikzel joined #lisp 2020-04-19T07:46:01Z Inline joined #lisp 2020-04-19T07:47:17Z no-defun-allowed: SBCL interprets it to be the processor time used by all threads as it calls getrusage. 2020-04-19T07:48:43Z no-defun-allowed: Same with Clozure. Perhaps that question had more varied answers in my imagination. 2020-04-19T07:55:11Z flip214: scymtym: yeah, I know about :cache nil. I just wanted a quick test without _any_ caching. Perhaps a esrap:*default-cache* would be nice, so that the ~30 rules don't have to specify that each and every time? 2020-04-19T07:55:57Z flip214: scymtym: and having an optimization level for a library isn't uncommon... it shows confidence ;) 2020-04-19T08:01:40Z aeth: no-defun-allowed: is there a reason to use g-i-run-t over g-i-real-t? I guess g-i-run-t only goes up when computations are going up? 2020-04-19T08:01:51Z aeth: maybe useful for REPL benchmarking... 2020-04-19T08:02:50Z splittist: /me is happy with his new lisp workstation (slime+sbcl rpi4) 2020-04-19T08:03:07Z no-defun-allowed: aeth: That is how I interpret g-i-run-t, yes. However, if I had 12 (24 in your case) threads doing nothing very quickly, then -run- would increment faster than -real-. 2020-04-19T08:03:16Z torbo quit (Remote host closed the connection) 2020-04-19T08:04:16Z Soltex joined #lisp 2020-04-19T08:04:31Z aeth: yeah, only 24 2020-04-19T08:04:33Z mikecheck quit (Quit: quit) 2020-04-19T08:04:38Z no-defun-allowed: splittist: Have you tested threads on the Pi 4? I have meant to get a newer Pi lately, but for whatever reason they're more expensive than I recall. 2020-04-19T08:05:21Z retropikzel quit (Quit: Leaving) 2020-04-19T08:05:40Z no-defun-allowed: (What kind of douchebag vendor discontinues the 1GB version and tells people to get the 2GB version? That's more money.) 2020-04-19T08:06:13Z aeth: I still haven't set up my Pi 3 yet 2020-04-19T08:06:34Z aeth: setting up a machine takes time 2020-04-19T08:08:00Z Soltex quit (Client Quit) 2020-04-19T08:16:41Z SGASAU quit (Remote host closed the connection) 2020-04-19T08:17:27Z SGASAU joined #lisp 2020-04-19T08:19:27Z retropikzel joined #lisp 2020-04-19T08:22:38Z wxie joined #lisp 2020-04-19T08:27:37Z hhdave_ joined #lisp 2020-04-19T08:29:37Z hhdave quit (Ping timeout: 264 seconds) 2020-04-19T08:29:37Z hhdave_ is now known as hhdave 2020-04-19T08:34:30Z Kundry_Wag joined #lisp 2020-04-19T08:39:08Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-19T08:55:41Z shifty quit (Ping timeout: 250 seconds) 2020-04-19T08:56:21Z shifty joined #lisp 2020-04-19T09:04:22Z dale quit (Quit: My computer has gone to sleep) 2020-04-19T09:14:35Z arduo joined #lisp 2020-04-19T09:15:39Z vms14 joined #lisp 2020-04-19T09:16:12Z vms14: https://termbin.com/j40dq now I have this 2020-04-19T09:16:19Z vms14: but I dislike this code so much 2020-04-19T09:16:27Z vms14: I want to rewrite it entirely 2020-04-19T09:16:39Z vms14: I'm doing a lot of similar things again and again 2020-04-19T09:17:19Z beach: vms14: You should use three semicolons for top-level comments. 2020-04-19T09:17:31Z vms14: which top level comments? 2020-04-19T09:17:48Z beach: Anything that is not inside a top-level form. 2020-04-19T09:18:11Z beach: Like ;;; Two lists for having time based code. 2020-04-19T09:18:19Z beach: Like ;;; These structures... 2020-04-19T09:18:26Z vms14: and the following ones with ;; ? 2020-04-19T09:18:32Z vms14: like they start a block 2020-04-19T09:18:41Z phoe: vms14: let me show you an example 2020-04-19T09:18:55Z beach: clhs 2.4.4.2 2020-04-19T09:18:55Z specbot: Notes about Style for Semicolon: http://www.lispworks.com/reference/HyperSpec/Body/02_ddb.htm 2020-04-19T09:19:03Z beach: vms14: It is all written there. 2020-04-19T09:19:13Z beach: clhs 2.4.4.2.3 2020-04-19T09:19:13Z specbot: Use of Triple Semicolon: http://www.lispworks.com/reference/HyperSpec/Body/02_ddbc.htm 2020-04-19T09:20:00Z phoe: https://plaster.tymoon.eu/view/1762#1762 2020-04-19T09:20:00Z phoe: that 2020-04-19T09:20:05Z phoe: that is a *very* big tl;dr 2020-04-19T09:20:10Z beach: vms14: There is no particular reason to have a newline after LOOP. 2020-04-19T09:20:35Z phoe makes a quick fix up there, please F5 2020-04-19T09:22:56Z vms14: thanks to both for the hints 2020-04-19T09:23:03Z beach: Sure. 2020-04-19T09:23:39Z vms14: specially for the example, phoe. This way I can't get it wrong :D 2020-04-19T09:25:57Z phoe: CLHS also has an example at 2.4.4.2.5, but it doesn't contain an example for single semi 2020-04-19T09:28:50Z didi joined #lisp 2020-04-19T09:29:27Z didi: So TIL `read-char' can be slow even with a string stream. 2020-04-19T09:31:57Z SGASAU` joined #lisp 2020-04-19T09:33:24Z SGASAU` quit (Client Quit) 2020-04-19T09:34:15Z heisig joined #lisp 2020-04-19T09:34:26Z SGASAU quit (Ping timeout: 258 seconds) 2020-04-19T09:36:24Z dddddd joined #lisp 2020-04-19T09:37:13Z SGASAU` joined #lisp 2020-04-19T09:39:18Z hhdave quit (Quit: hhdave) 2020-04-19T09:45:37Z vms14 quit (Remote host closed the connection) 2020-04-19T09:46:55Z random-nick joined #lisp 2020-04-19T09:48:50Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-19T09:50:29Z Lord_of_Life joined #lisp 2020-04-19T09:52:32Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-19T09:53:32Z SGASAU joined #lisp 2020-04-19T09:55:11Z karlosz quit (Quit: karlosz) 2020-04-19T10:07:49Z SGASAU` joined #lisp 2020-04-19T10:08:04Z frgo quit (Remote host closed the connection) 2020-04-19T10:08:40Z frgo joined #lisp 2020-04-19T10:10:18Z SGASAU quit (Ping timeout: 256 seconds) 2020-04-19T10:16:16Z SGASAU` quit (Remote host closed the connection) 2020-04-19T10:17:55Z SGASAU`` joined #lisp 2020-04-19T10:20:01Z orivej quit (Ping timeout: 264 seconds) 2020-04-19T10:23:54Z SGASAU`` quit (Remote host closed the connection) 2020-04-19T10:27:16Z z147 joined #lisp 2020-04-19T10:29:05Z gaqwas joined #lisp 2020-04-19T10:37:47Z shifty quit (Ping timeout: 260 seconds) 2020-04-19T10:37:59Z wxie quit (Ping timeout: 246 seconds) 2020-04-19T10:38:12Z random-nick quit (Quit: quit) 2020-04-19T10:41:08Z arduo quit (Ping timeout: 258 seconds) 2020-04-19T10:51:28Z Kundry_Wag joined #lisp 2020-04-19T10:56:21Z Kundry_Wag quit (Ping timeout: 265 seconds) 2020-04-19T11:03:16Z tutti joined #lisp 2020-04-19T11:07:55Z tutti quit (Ping timeout: 252 seconds) 2020-04-19T11:08:34Z metallicus joined #lisp 2020-04-19T11:12:53Z orivej joined #lisp 2020-04-19T11:35:03Z pjb: didi: how can it be slow on a string stream? (I assume you mean a character stream opened on a string with with-input-from-string). 2020-04-19T11:36:53Z phoe: didi: do you have any TIME results you'd like to share? 2020-04-19T11:41:35Z Bike joined #lisp 2020-04-19T11:43:37Z izh_ joined #lisp 2020-04-19T11:45:04Z retropikzel quit (Quit: Leaving) 2020-04-19T11:46:31Z didi: Your skepticism helped. SPROF showed >60% of time spent in `read-char', even when running from a in-memory stream. But a simple `read-char' loop was fast. Now I think it's my playing with echo and concatenated streams. 2020-04-19T11:46:57Z didi: I do a lot of those. 2020-04-19T11:49:31Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-19T11:51:44Z keep_learning joined #lisp 2020-04-19T11:53:26Z xlei quit (Ping timeout: 256 seconds) 2020-04-19T11:55:09Z xlei joined #lisp 2020-04-19T12:01:06Z joshcom joined #lisp 2020-04-19T12:01:51Z random-nick joined #lisp 2020-04-19T12:09:00Z didi quit (Read error: Connection reset by peer) 2020-04-19T12:16:24Z phoe: minion: memo for pfdietz: Could you please add a LICENSE to ANSI-TEST? I would like to use some tests from it to test my portable condition system, but I cannot do that without knowing under what terms I can use ANSI-TEST contents. 2020-04-19T12:16:24Z minion: Remembered. I'll tell pfdietz when he/she/it next speaks. 2020-04-19T12:17:58Z ggole joined #lisp 2020-04-19T12:24:44Z metallicus quit (Quit: Leaving) 2020-04-19T12:25:50Z izh_ quit (Remote host closed the connection) 2020-04-19T12:26:20Z izh_ joined #lisp 2020-04-19T12:27:01Z phoe: Terminology question. 2020-04-19T12:27:20Z phoe: ASSERT signals a continuable error, because it binds a CONTINUE restart. 2020-04-19T12:27:34Z phoe: CHECK-TYPE does not signal a continuable error, because the restart is named STORE-VALUE. 2020-04-19T12:27:48Z phoe: Is the above correct? 2020-04-19T12:28:25Z Bike: based on the glossary, yeah, seems so 2020-04-19T12:28:38Z Bike: oh, i see, there's the more general "correctable" 2020-04-19T12:28:49Z phoe: ooooh! 2020-04-19T12:28:54Z phoe: That is the term that I was looking for 2020-04-19T12:29:05Z SGASAU joined #lisp 2020-04-19T12:30:54Z phoe: the back of my head knew there was a term that looked like "co...able" but the front of it couldn't remember it 2020-04-19T12:31:00Z phoe: Bike: thanks 2020-04-19T12:32:14Z baz76 joined #lisp 2020-04-19T12:33:44Z Bike: the page for check-type says its error is "correctable", see 2020-04-19T12:34:36Z zigpaw5 quit (Ping timeout: 258 seconds) 2020-04-19T12:37:26Z phoe: yes, I see that now 2020-04-19T12:38:36Z SGASAU quit (Remote host closed the connection) 2020-04-19T12:41:18Z SGASAU joined #lisp 2020-04-19T12:43:11Z mtzono joined #lisp 2020-04-19T12:47:22Z mtzono quit (Remote host closed the connection) 2020-04-19T12:51:44Z zigpaw5 joined #lisp 2020-04-19T12:52:09Z Kundry_Wag joined #lisp 2020-04-19T12:52:28Z izh_ quit (Quit: Leaving) 2020-04-19T12:55:24Z didi joined #lisp 2020-04-19T12:55:40Z didi: A silly example of concatenated streams and `read-char': https://paste.debian.net/hidden/4056cbea 2020-04-19T12:55:47Z X-Scale` joined #lisp 2020-04-19T12:56:37Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-19T12:57:28Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-19T12:57:29Z X-Scale` is now known as X-Scale 2020-04-19T12:57:40Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-19T12:57:40Z Codaraxis_ quit (Remote host closed the connection) 2020-04-19T12:57:40Z didi: Or if we want to isolate `read-char': https://paste.debian.net/hidden/e51ef1ce 2020-04-19T12:58:18Z Codaraxis_ joined #lisp 2020-04-19T12:59:22Z Bike: are you actually doing something like that in an application? 2020-04-19T12:59:45Z didi: Bike: Eeer, no, no... a friend of mine is doing it... 2020-04-19T12:59:56Z didi looks nervous 2020-04-19T13:00:56Z Bike: i wouldn't expect good performance, is all 2020-04-19T13:01:05Z didi: TIL 2020-04-19T13:02:13Z Bike: it looks like in sbcl, each read char will check all the streams in order, so in your example it'll usually find EOFs in a few thousand streams before getting to the actually open one 2020-04-19T13:02:34Z Bike: wait, no, it does alter the streams as it goes 2020-04-19T13:03:00Z didi: My overall idea was giving back to a stream more than a single character. I will think of something else. 2020-04-19T13:03:26Z Bike: like for unread-char? can you not change your algorithms to not need that? 2020-04-19T13:03:57Z didi: Bike: Yes, like `unread-char', but with more characters. I'll try to change it. 2020-04-19T13:06:09Z Shinmera: Bike: something like that is happening in qtools to do dynamic function generation when the function is called. 2020-04-19T13:06:58Z amerlyq joined #lisp 2020-04-19T13:07:57Z Shinmera: requires reader hacks to simulate a customisable intern 2020-04-19T13:08:14Z Shinmera: which in turn uses concatenated streams to simulate unreading more than one char. 2020-04-19T13:13:15Z cylb joined #lisp 2020-04-19T13:14:17Z didi: It's a good idea, isn't it? I expected the first stream would be dropped as soon as it was exhaust, but I don't think it's happening. 2020-04-19T13:15:50Z Bike: i was wrong, the standard actually requires it's dropped 2020-04-19T13:15:53Z rwcom1 joined #lisp 2020-04-19T13:15:54Z Bike: clhs concatenated-stream-streams 2020-04-19T13:15:54Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_conc_1.htm 2020-04-19T13:15:59Z rwcom quit (Ping timeout: 260 seconds) 2020-04-19T13:15:59Z rwcom1 is now known as rwcom 2020-04-19T13:16:31Z didi: oic 2020-04-19T13:16:41Z Shinmera: Bike: where do you see that? It says the list /may/ be empty. 2020-04-19T13:17:08Z Bike: "still has to read from" 2020-04-19T13:17:45Z Shinmera: hrm 2020-04-19T13:17:55Z cylb quit (Ping timeout: 258 seconds) 2020-04-19T13:18:05Z Shinmera: I wouldn't interpret that as a guarantee. 2020-04-19T13:18:29Z Shinmera: Especially since then it would have to be empty if there's nothing to read from anymore. 2020-04-19T13:18:37Z Shinmera: Rather than just 'may' 2020-04-19T13:21:45Z joshcom quit (Ping timeout: 258 seconds) 2020-04-19T13:21:46Z amerlyq: (grunts-of-old) The more I try different prg languages in real-world scenarios on "large enough" projects, the more I wonder why people are NOT using lisp in the first place, as the most natural way to interactively build bridge of abstractions between human perception and hardware details. Oh my... There is so much complexity people keep in their heads only to avoid using Lisp at all costs, even 2020-04-19T13:21:49Z amerlyq: preferring to cripple themselves or reinvent a pitiful semblance of its workflow... 2020-04-19T13:21:52Z ljavorsk joined #lisp 2020-04-19T13:22:26Z joshcom joined #lisp 2020-04-19T13:23:51Z Shinmera: productivity is hard to estimate, there's practically no trained lispers out there, and a never ending stream of java/c++/js/etc people, lisp has a bad rap, things are done for money first, etc. 2020-04-19T13:24:08Z Shinmera: I could name many reasons but they're all not very interesting and outside our control. 2020-04-19T13:26:21Z gaqwas quit (Remote host closed the connection) 2020-04-19T13:26:34Z MichaelRaskin: Building powerful abstractions means that you cannot randomly shuffle people between projects and give them standard-form specs for busywork, as there is more context to absorb before being able to do something useful 2020-04-19T13:30:28Z amerlyq: The problem I face regularly is how language itself influences the mind of people and creates their "boundaries" of thinking, which are obvious from their work. I come long way thinking how "prodigies" differ from regular people, and what exactly keeps me in awe looking at them. And you know, the conclusion I had -- is how much more complexity they keep to themselves over what is visible on the 2020-04-19T13:30:29Z baz76: Any less demanding books than SICP for getting into lisp or it's dialects? Fairly new to programming in general. 2020-04-19T13:30:31Z amerlyq: surface. 2020-04-19T13:31:44Z ljavorsk quit (Remote host closed the connection) 2020-04-19T13:31:56Z phoe: baz76: sure 2020-04-19T13:32:00Z phoe: minion: tell baz76 about gentle 2020-04-19T13:32:00Z minion: baz76: please 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/ 2020-04-19T13:32:07Z phoe: if you're new to programming altogether, gentle is the way to go 2020-04-19T13:32:26Z phoe: also, it will teach you the Common Lisp dialect of Lisp 2020-04-19T13:32:33Z phoe: SICP uses Scheme 2020-04-19T13:33:20Z baz76: Thanks. SICP is understandable but I just wanted a break for a day or two from interpreters to just make basic projects like you would in python to learn too. I'll be checking that out. 2020-04-19T13:33:55Z phoe: baz76: you could try Practical Common Lisp if you want small, concrete projects 2020-04-19T13:34:12Z baz76: I'll check that out too. 2020-04-19T13:34:18Z phoe: it's "practical" like that, as in, about 40% of the book is creating simple applications using standard CL functionality 2020-04-19T13:34:33Z ljavorsk joined #lisp 2020-04-19T13:34:43Z baz76: Sounds good, I was going to get burned out if all I did was SICP for weeks. 2020-04-19T13:38:31Z amerlyq: Last week I sat near my son, who wanted to create a little (Huge!) game and asked for some help after downloading UnrealEngine. And looking at its interface I felt the dread -- knowing how much of the meticulous project planning process required to convert the evolving idea of "game" or anything into precise actions done in the framework. It has inhumanly large gap in between what you think about and 2020-04-19T13:38:34Z amerlyq: what you actually must do to achieve it. I'm feeling too old for all this complexity and can only eat my hat looking at passionate youth able to do it without thinking, using only intuition. 2020-04-19T13:40:28Z shifty joined #lisp 2020-04-19T13:42:49Z baz76: amerlyq game engines are pretty insane in terms of learning curve, might be easier to start with modding. Bethesda's tools are really easy to use and people have made standalone modifications off of it. 2020-04-19T13:47:34Z amerlyq: Yes, game engines are insane :) Still, what I realized by combining all my experiences, is that every game and every program has a "story" to convey to the player and interact with -- not the narrative or lore, or life of main character, but the "story" of design, art, struggles, pains and inspirations of the developer, his ups and downs, his life experiences. And developing it through exploratory 2020-04-19T13:47:37Z amerlyq: programming is also some kind of a "story" of human growth and dreams -- the "story" which developer lives in and interacts with. Yes, it seems stories are the greatest asset of humans to pass experiences around, even if not expressed in a conventional media. 2020-04-19T13:50:10Z dddddd_ joined #lisp 2020-04-19T13:50:36Z cylb joined #lisp 2020-04-19T13:52:26Z grant_ joined #lisp 2020-04-19T13:52:30Z grant_ is now known as [rg] 2020-04-19T13:53:01Z [rg]: Bike: did you implement the ken thompson construction in lisp? 2020-04-19T13:53:01Z dddddd quit (Ping timeout: 264 seconds) 2020-04-19T13:53:23Z Bike: i've implemented regexes as DFAs, at least 2020-04-19T13:53:31Z Bike: i couldn't tell you if that's what he was doing 2020-04-19T13:54:29Z phoe: ;; offtopis: googling this landed me on http://www.kenthompsonconstruction.com and I was absolutely confused for a brief moment 2020-04-19T13:55:14Z cylb quit (Ping timeout: 240 seconds) 2020-04-19T13:55:31Z [rg] quit (Client Quit) 2020-04-19T13:56:03Z [rg] joined #lisp 2020-04-19T13:56:16Z [rg]: he builds an nfa 2020-04-19T13:56:21Z amerlyq: So, the point is... Lisp allows you to write your "story" directly from any high or low level, following your inspiration, and then add more juicy details to whatever you wish to elaborate or generalize, immediately looking at results at hand. It's almost like writing prose in natural language or sculpting the figurine: flexible narrative but with semantic strictness of the relationships. It requires 2020-04-19T13:56:24Z amerlyq: the same story-writing abilities as demanded from game designers, movie producers or authors, but expressed directly in the language body itself instead of on separate piece of the paper with project plans and designs. So... that leads to the initial question -- why using anything beside the Lisp if any other language can't express the "story" even near as smoothly? 2020-04-19T13:56:52Z [rg]: he seems to not worry about that since he manages to check all possible states 2020-04-19T13:57:01Z [rg]: amerlyq: was that a response to me? 2020-04-19T13:57:23Z amerlyq: [rg]: nope, you connected in-between :) 2020-04-19T13:57:42Z Bike: i had something to interpret the nfa directly too, i think 2020-04-19T13:57:43Z [rg]: I asked a question like it a few days ago :P 2020-04-19T13:57:45Z Bike: so i could follow what was going on 2020-04-19T13:58:50Z [rg]: I get the feeling you could do this construction and create lisp output 2020-04-19T13:59:00Z [rg]: as lambdas or something 2020-04-19T13:59:06Z Bike: well that's what i did, yeah. i wasn't outputting 7094 assembly. 2020-04-19T13:59:52Z joshcom quit (Ping timeout: 256 seconds) 2020-04-19T14:00:25Z [rg]: amerlyq: I suspect game devs don't like gc 2020-04-19T14:00:39Z [rg]: ;) 2020-04-19T14:00:43Z pjb: That's because they don't know real time gc… 2020-04-19T14:01:03Z [rg]: that's a thing? 2020-04-19T14:01:14Z amerlyq: pjb: +1, that's a thing? 2020-04-19T14:01:21Z pjb: Yes. 2020-04-19T14:01:30Z pjb: Also, parallel gc, incremental gc, etc… 2020-04-19T14:01:36Z [rg]: my prof always tells the mit story about the robot and baseball 2020-04-19T14:01:59Z [rg]: it basically missed the ball due to gc in lisp at the time 2020-04-19T14:02:09Z [rg]: interesting 2020-04-19T14:02:21Z Bike: [rg]: https://gist.github.com/Bike/44cb1285741356cbaae547f2d57b69d0 here's an example. 2020-04-19T14:02:30Z [rg]: can you swap the gc in lisp? 2020-04-19T14:02:42Z gaqwas joined #lisp 2020-04-19T14:02:44Z Bike: the garbage collector is not part of the language definition at all. 2020-04-19T14:02:47Z [rg]: Bike: gee, thanks 2020-04-19T14:02:55Z [rg]: oh really 2020-04-19T14:03:12Z [rg]: so what does it look like if you don't have one 2020-04-19T14:03:17Z [rg]: does any lisp do this? 2020-04-19T14:03:27Z Bike: probably not. it would kind of suck. 2020-04-19T14:03:45Z Bike: presumably after a while your CONS calls would start signaling out of memory errors. 2020-04-19T14:04:06Z Bike: but what i mean is that the language defines no interface to the gc at all, let alone something as complex as using a different gc. 2020-04-19T14:05:02Z amerlyq: and I hoped pjb mentioning "real time gc" hinted on some already existing reimplementation for lisp... 2020-04-19T14:05:32Z [rg] quit (Quit: [rg]) 2020-04-19T14:06:00Z [rg] joined #lisp 2020-04-19T14:06:20Z omar joined #lisp 2020-04-19T14:06:37Z pjb: amerlyq: the hint is: take your favorite implementation, and put a f.....g real-time gc in it! 2020-04-19T14:07:02Z pjb: then you will be able to sell it to game programmers. 2020-04-19T14:07:06Z Bike: in this example a*|bcd means like a[bc]*d, by the way. i didn't bother writing a PCRE parser 2020-04-19T14:09:12Z amerlyq: pjb, so always, everything in the world is mostly DIY, isn't it? :D 2020-04-19T14:09:22Z pjb: Exactly. 2020-04-19T14:09:37Z pjb: Take inspiration from Elon Musk! 2020-04-19T14:10:10Z amerlyq: Great demotivating example 2020-04-19T14:11:44Z [rg] quit (Read error: Connection reset by peer) 2020-04-19T14:12:00Z [rg] joined #lisp 2020-04-19T14:12:21Z pjb: He wanted to go to Mars, just millions of people. But HE took the steps to do it, instead if taking excuses (such as booo, the NASA doesn't want me as astronaut or such). He made paypal to make money, he made tesla to make solar panes and batteries, he made the boring company to make a submartian base, he made SpaceX to make his own rockets, and so on! 2020-04-19T14:12:51Z pjb: s/just millions/just like millions/ s/instead if/instead of/ 2020-04-19T14:13:40Z z147_ joined #lisp 2020-04-19T14:14:09Z [rg]: Bike: yeah that's fine, I'm personally only familiar with posix regex 2020-04-19T14:14:58Z amerlyq: I called the example "demotivating" considering the aspirations are greatly differing between the people. It very important how you define your immediate happiness, being it "I want to revel in exploratory programming" .vs. "I want to build and manage organization to achieve my goals". I'm not sure switching between these viewpoints without change of the heart will deem anything good. 2020-04-19T14:15:19Z omar quit (Remote host closed the connection) 2020-04-19T14:15:42Z pjb: amerlyq: you can always try to make other people do your thing. It usually costs a lot of money or a lot of blood… 2020-04-19T14:16:23Z z147 quit (Ping timeout: 240 seconds) 2020-04-19T14:16:34Z Bike: you should pretty much be able to figure out the dfa from the tagbody. it's start -a> 0, start -/> fail, 0 -> 2, 2 -d> success, 2 -/> 3, 3 -b> 0, 3 -c> 0, 3 -/> fail. 0/2 are redundant but oh well 2020-04-19T14:16:34Z pjb: programming, from newbie to boss: 10 print 'hello' -> Hey Mark, I want a program to great me! 2020-04-19T14:17:08Z MichaelRaskin: You often cannot make other people make your thing well, though 2020-04-19T14:17:27Z amerlyq: You often cannot make other people make even their thing well 2020-04-19T14:17:30Z dddddd_ is now known as dddddd 2020-04-19T14:18:37Z amerlyq: And it's a shame to acknowledge, but you often cannot make even your thing well 2020-04-19T14:19:46Z SGASAU quit (Remote host closed the connection) 2020-04-19T14:20:34Z SGASAU joined #lisp 2020-04-19T14:22:03Z amerlyq: pjb: yep, it sucks. So you are still forced to "build and manage organization" to earn a lot of money, to spent on somebody to do things you want, so you could "revel in exploratory programming". Kind of roundabout way to make your even life harder and less satisfactory, when your real goal and means to achieve the goal hinder each other. 2020-04-19T14:23:01Z akoana quit (Ping timeout: 264 seconds) 2020-04-19T14:23:55Z cylb joined #lisp 2020-04-19T14:25:09Z [rg] quit (Ping timeout: 265 seconds) 2020-04-19T14:26:02Z amerlyq: Whatever, I could sit and write gc instead of grumbling here -- such change of the pace is nice too. 2020-04-19T14:26:44Z pjb: amerlyq: you should also take into account the fact that anything to do, is to actually compete sexually. 2020-04-19T14:27:06Z pjb: Elon Musk included. See how he names his things. 2020-04-19T14:29:07Z amerlyq: Isn't it another groundless conspiracy theory, because people think accidental facts are less probable than they actually are? 2020-04-19T14:29:31Z SGASAU quit (Remote host closed the connection) 2020-04-19T14:29:53Z baz76: pjb pursuit of status is only the result of sexual competition, it's why technological progress doesn't actually make people happier 2020-04-19T14:30:15Z baz76: but best to leave that discussion elsewhere i think 2020-04-19T14:31:37Z SGASAU joined #lisp 2020-04-19T14:33:20Z amerlyq: Back on topic: Do you know about any "disillusionment" articles from someone who started big project in Lisp and then concluded Lisp is not fit for the work? Such experiences can provide invaluable insights in the actual limitations to overcome (or abandon Lisp too). Remember main aspiration from the above was "strive to write a story in the natural way... which can _accidentally_ become interactive 2020-04-19T14:33:23Z amerlyq: game". 2020-04-19T14:33:42Z amerlyq: * for the job 2020-04-19T14:34:16Z baz76 quit (Ping timeout: 240 seconds) 2020-04-19T14:35:37Z shifty quit (Ping timeout: 264 seconds) 2020-04-19T14:36:59Z shukryzablah joined #lisp 2020-04-19T14:38:12Z pjb: amerlyq: there are not a lot of them. 2020-04-19T14:38:55Z shukryzablah: what's the irc channel for lisp in general 2020-04-19T14:38:58Z pjb: amerlyq: there's redit that has been rewritten from lisp, but the postmorterm wasn't that negative on lisp IMO. 2020-04-19T14:39:04Z pjb: shukryzablah: ##lisp 2020-04-19T14:39:13Z pjb: shukryzablah: have a look at http://cliki.net/IRC 2020-04-19T14:39:37Z shukryzablah: pjb: good stuff, thx 2020-04-19T14:39:55Z pjb: amerlyq: but other examples, such as ViaWeb only demonstrated the inadequacy of the other programming language… 2020-04-19T14:42:08Z selwyn: amerlyq: in this post https://markkarpov.com/post/lisp-and-haskell.html the author gives up lisp for haskell and details why, though it doesn't concern any project in particular 2020-04-19T14:42:40Z bitmapper joined #lisp 2020-04-19T14:43:02Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-19T14:44:35Z iAmDecim joined #lisp 2020-04-19T14:49:32Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-19T14:50:02Z amerlyq: selwyn: thanks for link, it seems the last postmortem I read about Lisp deficiencies is already 18 years old: "Postmortem: Naughty Dog's Jak and Daxter: the Precursor Legacy" 2020-04-19T14:50:57Z X-Scale` joined #lisp 2020-04-19T14:51:50Z X-Scale quit (Ping timeout: 258 seconds) 2020-04-19T14:51:52Z X-Scale` is now known as X-Scale 2020-04-19T14:53:02Z Kundry_Wag joined #lisp 2020-04-19T14:57:31Z Kundry_Wag quit (Ping timeout: 250 seconds) 2020-04-19T15:04:51Z pilne_ joined #lisp 2020-04-19T15:05:36Z pilne quit (Ping timeout: 256 seconds) 2020-04-19T15:08:56Z Kundry_Wag joined #lisp 2020-04-19T15:13:35Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-19T15:21:03Z lukego: amerlyq: I've had a few disillusionments with lisp/scheme. Sometimes it's just that Lisp is great for writing a prototype and once that works it makes sense to port to another language. other times it's that some specific requirement is harder with Lisp e.g. having a lightweight runtime system with low latency. *shrug* every language/system has its strengths and weaknesses 2020-04-19T15:21:05Z iAmDecim joined #lisp 2020-04-19T15:21:53Z gaqwas quit (Remote host closed the connection) 2020-04-19T15:22:06Z phoe: amerlyq: this is only partially on topic, but I can give you a rant about how hardcore Lisp evangelists like Graham contribute to the bad vibe that Lisp-as-a-language has around the world. 2020-04-19T15:22:24Z cosimone joined #lisp 2020-04-19T15:23:29Z amerlyq: lukego: I talked above in lengths about "writing game story" in Lisp with focus on "human-oriented language". Of course, when you optimize for hardware, you usually pick something appropriate for hardware. 2020-04-19T15:23:55Z amerlyq: phoe: Oh, I'm hooked, please continue 2020-04-19T15:25:50Z phoe: amerlyq: https://irclog.tymoon.eu/freenode/%23lisp?around=1579010993#1579010993 2020-04-19T15:28:44Z shka_: i never used lisp for commercial product, still worth knowing 2020-04-19T15:32:37Z niceplaces joined #lisp 2020-04-19T15:33:52Z niceplace quit (Ping timeout: 256 seconds) 2020-04-19T15:35:13Z axion quit (Quit: WeeChat 2.8) 2020-04-19T15:37:23Z didi quit (Read error: Connection reset by peer) 2020-04-19T15:38:24Z amerlyq: phoe: read it, interesting rumbling nevertheless 2020-04-19T15:38:51Z phoe: amerlyq: glad to hear that 2020-04-19T15:39:06Z Bike: i'll post this here too - i'm writing up a hypothetical language extension for concurrency, focusing on atomics since bordeaux threads already exists. i'd appreciate comments. https://gist.github.com/Bike/a89cbfda64ace273b12eed8675dda632 2020-04-19T15:39:30Z shka_: Bike: !!! What a splendid idea! 2020-04-19T15:40:17Z ayuce joined #lisp 2020-04-19T15:40:32Z shka_: I will read it carefully but the idea itself is exactly what I would want to see in the CL. 2020-04-19T15:41:36Z rand_t joined #lisp 2020-04-19T15:41:43Z amerlyq: By the way, considering you can dump/load lisp image with all the state preserved -- how much of it impossible for opengl? It seems on restore it must reinitialize GPU and send everything again to be working. What has such problems beside opengl? 2020-04-19T15:42:30Z phoe: amerlyq: all foreign libraries must be closed/reopened on image freezing/thawing. Of course, it's a non-issue if you don't use FFI. 2020-04-19T15:43:10Z phoe: But, basically, when you freeze your image, you need to close all stuff that is invalidated by the freeze/thaw operation. And then the thawed image must reopen/reallocate/redo/reeverything all of these. 2020-04-19T15:43:21Z phoe: Same thing as with e.g. files. 2020-04-19T15:45:13Z phoe: Bike: as for the last part, wouldn't it be more beneficial to state semantics for DEFINE-MODIFY-MACRO itself rather than list some examples of DEFINE-MODIFY-MACRO-created macros? 2020-04-19T15:46:29Z Bike: the d-m-m semantics are defined by the part of the description of "atomic" that says read-modify-write operations on an atomic place are atomic. logandf and stuff are there for machines where those particular r-m-w operations can be done with special machine support. 2020-04-19T15:46:32Z phoe: now that I think about it, it wouldn't really be easy - either DEFINE-MODIFY-MACRO would need to recognize which functions can be called wait-free or we would need to predefine some known subset of modify macros that *we* know to be wait-free 2020-04-19T15:46:37Z Bike: read modify write is definitely the part i'm least sure about, though. 2020-04-19T15:46:47Z phoe: yes, that's what I'm thinking 2020-04-19T15:47:21Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-19T15:47:32Z phoe: but it's kind of weird for me to imagine #+amd64 (define-modify-macro logandf ...) 2020-04-19T15:47:58Z phoe: unless there's a slower fallback implementation for platforms that do not support fast wait-free logand 2020-04-19T15:48:52Z cosimone quit (Remote host closed the connection) 2020-04-19T15:48:54Z phoe: I guess that everything can fall back on locks if it cannot be implemented better; it's a slow but safe fallback 2020-04-19T15:49:21Z cosimone joined #lisp 2020-04-19T15:53:14Z devrtz quit (Ping timeout: 240 seconds) 2020-04-19T15:54:14Z devrtz joined #lisp 2020-04-19T15:54:16Z jmercouris joined #lisp 2020-04-19T15:54:34Z gabiruh_ joined #lisp 2020-04-19T15:55:03Z jmercouris: anyone know of something like Deploy, that also packages a CL program for various Linux distributions? 2020-04-19T15:55:03Z minion: jmercouris, memo from phoe: one curious option about plists for slots is that they are not really plists. :reader/:writer/:accessor can be specified multiple times and *ALL* occurrences of these are used for creating functions. 2020-04-19T15:55:04Z minion: jmercouris, memo from phoe: they certainly look like plists, and they pretty much may formally be plists, but they are parsed differently than via the standard GETF function that's usually used for dealing with plists. 2020-04-19T15:55:24Z gabiruh quit (Ping timeout: 256 seconds) 2020-04-19T15:55:34Z jmercouris: phoe: so in that case, it is definitely wise to make sure that :accessor is not duplicated! 2020-04-19T15:55:40Z Bike: actually, shower thought, the atomic rmw thing is bad since with the implicitly atomic places it means an implementation has to ensure (incf (svref ...)) is atomic even when the user doesn't care, which is probably frequent 2020-04-19T15:56:00Z jmercouris: in any case, you saw that in the end I went ahead and just extended the class without using moptilities to populate the slot with forms from the parent class 2020-04-19T15:56:19Z Bike: phoe: the intent is that logandf can be used so the implementation can _maybe_ do it wait-free. it's not required to do so, so it could fall back to a cas loop or something. 2020-04-19T15:56:33Z jmercouris: of if there is nothing like Deploy, anyone know a good way to get a program packaged for multiple Linux distributions with as little friction as possible? 2020-04-19T15:57:34Z tutti joined #lisp 2020-04-19T15:57:51Z Kundry_Wag joined #lisp 2020-04-19T15:57:53Z Bike: phoe: this is also the case since e.g. it's very unlikely an implementation could do logandf on bignums in any easy way 2020-04-19T16:02:24Z axion_ joined #lisp 2020-04-19T16:02:43Z cosimone quit (Ping timeout: 252 seconds) 2020-04-19T16:02:57Z cosimone_ joined #lisp 2020-04-19T16:03:43Z axion_ quit (Client Quit) 2020-04-19T16:04:21Z jmercouris quit (Remote host closed the connection) 2020-04-19T16:04:31Z iAmDecim joined #lisp 2020-04-19T16:05:05Z cosimone_ is now known as cosimone 2020-04-19T16:08:33Z frgo quit (Ping timeout: 272 seconds) 2020-04-19T16:08:53Z frgo joined #lisp 2020-04-19T16:09:38Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-19T16:10:33Z phoe: minion: memo for jmercouris: flatpak, appimage. 2020-04-19T16:10:33Z minion: Remembered. I'll tell jmercouris when he/she/it next speaks. 2020-04-19T16:15:36Z Lycurgus joined #lisp 2020-04-19T16:18:43Z EvW joined #lisp 2020-04-19T16:19:11Z Bike: actually if the implicit atomicity is unordered the rmw thing doesn't matter so much, i guess 2020-04-19T16:21:45Z jcowan: There was a Lisp machine (maybe not *the* Lisp Machine) that for a long time had no GC, because you typically crashed before running out of memory. 2020-04-19T16:23:38Z Bike: was it commonly mounted on missiles 2020-04-19T16:24:43Z jcowan: No, I just think this was before the idea that programs could be expected to run forever (i.e. servers) 2020-04-19T16:25:27Z jcowan: I've written many C programs that don't bother to properly free storage, because they are going to die long before they eat up even a measly megabyte. 2020-04-19T16:26:50Z jackdaniel: such approach pains my sense of aesthetics 2020-04-19T16:35:32Z axion joined #lisp 2020-04-19T16:36:38Z Lycurgus quit (Quit: Exeunt) 2020-04-19T16:37:04Z jcowan: The way I see it, in C the heap belongs to the programmer, not the implementation as in most languages (even C++). You get to use it any way you like, and malloc/free is just one approach, not necessarily optimal for your program. You can call sbrk() yourself and get however much memory as a big honking chunk, and then do whatever you want. 2020-04-19T16:37:11Z ljavorsk quit (Ping timeout: 250 seconds) 2020-04-19T16:37:16Z Josh_2: petition to change the name of anonymous functions to phantom functions 2020-04-19T16:37:23Z Josh_2: sounds much cooler 2020-04-19T16:37:30Z axion quit (Client Quit) 2020-04-19T16:37:44Z axion joined #lisp 2020-04-19T16:37:44Z axion quit (Changing host) 2020-04-19T16:37:44Z axion joined #lisp 2020-04-19T16:38:41Z jackdaniel: (λ () :lambda-is-so-much-much-cooler) 2020-04-19T16:39:00Z Josh_2: Yes 2020-04-19T16:39:04Z Josh_2: I agree 2020-04-19T16:39:13Z selwyn: i seem to remember an early build stage of clasp didn't have a GC, like 3 years ago (??) 2020-04-19T16:39:26Z jackdaniel: gc is a waste of time, isn't it? :) 2020-04-19T16:39:30Z phoe: Is it okay to (make-condition 'type-error) without passing any :DATUM or :EXPECTED-TYPE? 2020-04-19T16:39:33Z gxt quit (Quit: WeeChat 2.8) 2020-04-19T16:39:34Z Bike: just download more ram 2020-04-19T16:39:41Z jackdaniel: allocate 2020-04-19T16:39:47Z jackdaniel: (malloc :more-ram) 2020-04-19T16:40:12Z jackdaniel: (rammloc) 2020-04-19T16:40:23Z Bike: phoe: i don't think there's any guarantee that type-error-datum is bound 2020-04-19T16:40:44Z phoe: Bike: it's less about it being bound and more about that call being legal 2020-04-19T16:40:55Z phoe: I don't care if it's bound, I care if the above is defined 2020-04-19T16:41:10Z Bike: why would it not be? 2020-04-19T16:41:26Z axion quit (Client Quit) 2020-04-19T16:41:39Z phoe: because the slots are not provided, and the spec page makes them seem mandatory 2020-04-19T16:41:41Z axion joined #lisp 2020-04-19T16:41:51Z Bike: huh, hang on, is it defined what happens if you try to read a condition's slot and it's not bound? 2020-04-19T16:41:52Z phoe: but I cannot find any passage that would state so 2020-04-19T16:41:53Z man213 joined #lisp 2020-04-19T16:41:56Z Jeanne-Kamikaze joined #lisp 2020-04-19T16:41:58Z phoe: no, it's not defined 2020-04-19T16:41:59Z Bike: "If no slot form is supplied, the contents of the slot is initialized in an implementation-dependent way. " well that sounds dumb 2020-04-19T16:42:05Z phoe: note that I am not reading the slot 2020-04-19T16:42:34Z phoe: I see, so the implementation defines how these are filled 2020-04-19T16:42:53Z iAmDecim joined #lisp 2020-04-19T16:43:32Z phoe: so it's legal to (make-condition 'type-error) and the implementation should fill the slots in 2020-04-19T16:45:55Z tutti quit (Ping timeout: 272 seconds) 2020-04-19T16:48:10Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-19T16:52:59Z gko quit (Ping timeout: 260 seconds) 2020-04-19T16:53:28Z dorketch joined #lisp 2020-04-19T16:54:06Z EvW quit (Ping timeout: 256 seconds) 2020-04-19T16:54:21Z dorketch quit (Client Quit) 2020-04-19T17:01:06Z Aurora_v_kosmose: Elon Musk did none of those things. The employees he had did. 2020-04-19T17:01:17Z Aurora_v_kosmose: @ discussion 3 hours ago 2020-04-19T17:03:02Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-04-19T17:06:03Z Lord_Nightmare joined #lisp 2020-04-19T17:06:57Z EvW joined #lisp 2020-04-19T17:09:24Z joshcom joined #lisp 2020-04-19T17:12:21Z josvuk joined #lisp 2020-04-19T17:13:15Z retropikzel joined #lisp 2020-04-19T17:13:40Z joshcom quit (Ping timeout: 256 seconds) 2020-04-19T17:16:42Z rippa joined #lisp 2020-04-19T17:19:38Z retropikzel quit (Quit: Leaving) 2020-04-19T17:19:54Z retropikzel joined #lisp 2020-04-19T17:20:42Z retropikzel quit (Remote host closed the connection) 2020-04-19T17:20:46Z iAmDecim joined #lisp 2020-04-19T17:20:54Z retropikzel joined #lisp 2020-04-19T17:21:58Z TwoNotes joined #lisp 2020-04-19T17:23:48Z TwoNotes: Is there a way to add terminal input editing (command recall, etc) to SBCL? 2020-04-19T17:23:57Z jackdaniel: TwoNotes: see linedit 2020-04-19T17:24:11Z jackdaniel: https://www.common-lisp.net/project/linedit/ 2020-04-19T17:24:14Z phoe: TwoNotes: $ rlwrap sbcl 2020-04-19T17:24:28Z joshcom joined #lisp 2020-04-19T17:25:34Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-19T17:25:40Z TwoNotes: phoe Thanks! Works great 2020-04-19T17:26:13Z Lycurgus joined #lisp 2020-04-19T17:33:27Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-04-19T17:33:54Z Lord_of_Life joined #lisp 2020-04-19T17:34:46Z Lycurgus quit (Quit: Exeunt) 2020-04-19T17:39:30Z tutti joined #lisp 2020-04-19T17:42:53Z shangul quit (Read error: Connection reset by peer) 2020-04-19T17:45:55Z amerlyq: Aurora_v_kosmose: on surface you are right, but somebody must decide how the money are maid exactly and for what exactly they are paid. Therefore pjb is also not wrong attributing everything to Elon Musk. 2020-04-19T17:47:14Z shangul joined #lisp 2020-04-19T17:47:53Z Kundry_Wag quit (Remote host closed the connection) 2020-04-19T17:49:07Z zooey joined #lisp 2020-04-19T17:49:46Z iAmDecim joined #lisp 2020-04-19T17:50:33Z aamukastemato joined #lisp 2020-04-19T17:53:06Z vmhost joined #lisp 2020-04-19T17:54:34Z dddddd quit (Ping timeout: 240 seconds) 2020-04-19T17:56:04Z phoe: jeosol: nice 2020-04-19T17:59:31Z joshcom quit (Ping timeout: 250 seconds) 2020-04-19T18:00:03Z tutti quit (Ping timeout: 258 seconds) 2020-04-19T18:02:49Z cosimone quit (Quit: Terminated!) 2020-04-19T18:07:29Z karlosz joined #lisp 2020-04-19T18:08:16Z Aurora_v_kosmose: amerlyq: Such enterprises also require initial funds most people don't have. 2020-04-19T18:08:51Z Aurora_v_kosmose: (Funds which he did have) 2020-04-19T18:09:16Z Bike: please stop talking about elon musk in the lisp channel. 2020-04-19T18:09:32Z Aurora_v_kosmose: k 2020-04-19T18:10:22Z Shinmera: Aurora_v_kosmose: amerlyq: this is not the channel for this. 2020-04-19T18:11:32Z amerlyq: Shinmera: sorry, I know, it was simply follow up 2020-04-19T18:11:57Z Aurora_v_kosmose: It was indeed continuation of earlier offtopic. 2020-04-19T18:12:33Z Shinmera: I don't care, just stop it. 2020-04-19T18:12:58Z TwoNotes quit (Quit: Leaving) 2020-04-19T18:13:00Z Aurora_v_kosmose: We kinda did on first notice. 2020-04-19T18:19:11Z renzhi joined #lisp 2020-04-19T18:20:01Z jeosol: phoe: thanks for the info from reddit 2020-04-19T18:21:12Z phoe: jeosol: no problemn 2020-04-19T18:21:41Z phoe: ANSI-TEST is a really nice thing 2020-04-19T18:22:10Z phoe: I've run like 8% of all condition-system-related tests so far and already found six bugs in my implementation 2020-04-19T18:23:38Z jeosol: phoe: was the rest of that for me, or a previous discussion here? 2020-04-19T18:24:03Z phoe: it's completely unrelated 2020-04-19T18:24:07Z jeosol: oh ok 2020-04-19T18:25:45Z jeosol: I noticed something in my recent updates of SBCL, not sure maybe it was always there. If I am coding and changing things back and forth, e.g., using aref for list, I get warnings, which is nice and appropriating linting of the codes 2020-04-19T18:26:40Z jeosol: Also using various suggestions you have guys have given in the past, code is more stable now, normally my longer runs (2-3 weeks) don't hiccup at all. 2020-04-19T18:28:21Z Kundry_Wag joined #lisp 2020-04-19T18:30:18Z jeosol: merci 2020-04-19T18:31:14Z bars0 joined #lisp 2020-04-19T18:32:51Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-19T18:37:50Z cosimone joined #lisp 2020-04-19T18:45:11Z hiroaki quit (Ping timeout: 265 seconds) 2020-04-19T18:53:53Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-19T18:55:48Z grant_ joined #lisp 2020-04-19T18:58:41Z hiroaki joined #lisp 2020-04-19T18:59:12Z shangul quit (Ping timeout: 265 seconds) 2020-04-19T19:02:05Z SGASAU quit (Remote host closed the connection) 2020-04-19T19:02:24Z asarch joined #lisp 2020-04-19T19:03:51Z SGASAU joined #lisp 2020-04-19T19:04:47Z shifty joined #lisp 2020-04-19T19:04:50Z hiroaki quit (Ping timeout: 258 seconds) 2020-04-19T19:13:11Z Kundry_Wag joined #lisp 2020-04-19T19:13:56Z heisig quit (Quit: Leaving) 2020-04-19T19:24:16Z emys joined #lisp 2020-04-19T19:24:38Z emys: hi, how can I find out the recipe used for a package? 2020-04-19T19:25:28Z Bike: What do you mean by recipe? 2020-04-19T19:26:39Z emys: let's say i am interested in how `python-isort' was built 2020-04-19T19:26:51Z emys: I would assume that there is a corresponding guix.scm to that package 2020-04-19T19:27:22Z Bike: Is that an emacs library? you may be in the wrong channel, this place is for Common Lisp. 2020-04-19T19:28:26Z emys: oh I am sorry, you are right, wrong channel 2020-04-19T19:28:40Z Bike: no worries. 2020-04-19T19:29:28Z ayuce: i wonder which channel was targeted though. 2020-04-19T19:35:33Z Aurora_v_kosmose: #guix 2020-04-19T19:36:28Z Aurora_v_kosmose: It's a scheme-based (guile) reproducible source-based package manager. 2020-04-19T19:37:20Z Intensity quit (Read error: Connection reset by peer) 2020-04-19T19:39:08Z grant_ quit (Quit: grant_) 2020-04-19T19:39:54Z jackdaniel: uh oh, CL on iphone: https://www.reddit.com/r/lisp/comments/g4dj1u/cl_repl_for_iphoneipad_beta_port_of_eql5android/, not that I have such device 2020-04-19T19:39:55Z Intensity joined #lisp 2020-04-19T19:42:43Z random-nick quit (Quit: quit) 2020-04-19T19:44:54Z Codaraxis_ quit (Ping timeout: 256 seconds) 2020-04-19T19:45:42Z Aurora_v_kosmose: That's not a bad thing? Just likely to get intentionally broken by Apple. 2020-04-19T19:45:48Z grant_ joined #lisp 2020-04-19T19:45:59Z grant_ is now known as [rg] 2020-04-19T19:57:58Z [rg] quit (Quit: [rg]) 2020-04-19T20:00:09Z samlamamma joined #lisp 2020-04-19T20:03:26Z iAmDecim joined #lisp 2020-04-19T20:07:27Z terpri quit (Ping timeout: 260 seconds) 2020-04-19T20:08:24Z axion quit (Quit: quit) 2020-04-19T20:12:17Z choegusung joined #lisp 2020-04-19T20:12:17Z choegusung quit (Client Quit) 2020-04-19T20:12:34Z shka_ quit (Ping timeout: 240 seconds) 2020-04-19T20:15:00Z axion joined #lisp 2020-04-19T20:18:45Z Kundry_Wag quit (Remote host closed the connection) 2020-04-19T20:19:57Z Kundry_Wag joined #lisp 2020-04-19T20:22:55Z phoe: Aurora_v_kosmose: AFAIK as of late, compiler-shipping apps have been allowed on the App Store 2020-04-19T20:23:01Z phoe: this might mean that a CL repl might happen, too. 2020-04-19T20:23:50Z Aurora_v_kosmose: Huh, neat. 2020-04-19T20:26:52Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-19T20:28:33Z random-nick joined #lisp 2020-04-19T20:33:13Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-19T20:38:06Z dale joined #lisp 2020-04-19T20:38:14Z kobain joined #lisp 2020-04-19T20:39:35Z phoe: hmmmm 2020-04-19T20:42:51Z newbie joined #lisp 2020-04-19T20:42:56Z bars0 quit (Quit: leaving) 2020-04-19T20:45:02Z newbie quit (Client Quit) 2020-04-19T20:47:12Z iAmDecim joined #lisp 2020-04-19T20:49:06Z GuerrillaMonkey joined #lisp 2020-04-19T20:49:35Z GuerrillaMonkey quit (Remote host closed the connection) 2020-04-19T20:49:45Z GuerrillaMonkey joined #lisp 2020-04-19T20:51:49Z Jeanne-Kamikaze quit (Ping timeout: 265 seconds) 2020-04-19T20:54:36Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-19T20:58:14Z GuerrillaMonkey quit (Quit: Leaving) 2020-04-19T20:58:24Z Jeanne-Kamikaze joined #lisp 2020-04-19T20:59:35Z shukryzablah quit (Quit: ERC (IRC client for Emacs 27.0.90)) 2020-04-19T21:00:31Z pve quit (Quit: leaving) 2020-04-19T21:01:29Z ggole quit (Quit: Leaving) 2020-04-19T21:02:28Z aamukastemato quit (Quit: Leaving) 2020-04-19T21:04:07Z torbo joined #lisp 2020-04-19T21:07:16Z iAmDecim joined #lisp 2020-04-19T21:09:11Z jcowan: Apple's enforcement policy is very inconsistent anyway. It seems clear that you can download resources like new levels, and in an interpreted environment, code is just another resource. 2020-04-19T21:11:58Z mn3m joined #lisp 2020-04-19T21:13:03Z cosimone quit (Quit: Quit.) 2020-04-19T21:13:22Z keep_learning joined #lisp 2020-04-19T21:15:43Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-19T21:17:48Z iAmDecim joined #lisp 2020-04-19T21:18:23Z lxbarbosa joined #lisp 2020-04-19T21:21:14Z dale quit (Quit: My computer has gone to sleep) 2020-04-19T21:23:06Z SGASAU quit (Remote host closed the connection) 2020-04-19T21:24:02Z SGASAU joined #lisp 2020-04-19T21:27:28Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-19T21:29:08Z phoe: news: portable-condition-system now successfully passes the ANSI-TEST tests related to the condition system 2020-04-19T21:29:30Z phoe: may everyone who ever contributed to ANSI-TEST be happy and live a merry and peaceful life 2020-04-19T21:31:47Z dale joined #lisp 2020-04-19T21:32:59Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-19T21:33:55Z gravicappa quit (Ping timeout: 260 seconds) 2020-04-19T21:35:21Z cosimone joined #lisp 2020-04-19T21:36:06Z iAmDecim joined #lisp 2020-04-19T21:37:50Z jackdaniel: phoe: I've linked a CL repl, so 2020-04-19T21:42:49Z samlamamma: phoe:Is the goal to merge it with SICL? 2020-04-19T21:43:00Z phoe: jackdaniel: linked? sorry, I'm tired and didn't understand what you mean 2020-04-19T21:43:05Z phoe: samlamamma: that is a possibility, yes 2020-04-19T21:43:43Z jackdaniel: phoe: I've pasted a link to eql5 for iphone/ipad which has cl repl, then you say that "cl repl might happen" on these platforms 2020-04-19T21:43:58Z jackdaniel: so I don't understand your comment 2020-04-19T21:44:04Z phoe: jackdaniel: wait, on the app store? 2020-04-19T21:44:30Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-19T21:44:48Z jackdaniel urges phoe to click on the link before commenting. no, on the testflight 2020-04-19T21:45:12Z lalilulelo joined #lisp 2020-04-19T21:45:57Z phoe: what I meant is that there are applications already 100% published on the app store that implement language REPLs/compilers 2020-04-19T21:46:15Z phoe: s/might happen/might get 100% appstore-published/ 2020-04-19T21:46:36Z jackdaniel: to my knowledge it is forbidden to publish there applications which produce native code 2020-04-19T21:47:35Z samlamamma: phoe: jackdaniel: Sorry for butting in: This whole conversation sounds like you two agreeing with each other 2020-04-19T21:47:37Z phoe: huh?... https://apps.apple.com/pl/app/cppcode-offline-c-c-ide-compiler/id936694712?l=pl 2020-04-19T21:47:52Z phoe: jackdaniel: it was the case for a long time 2020-04-19T21:48:01Z phoe: but recently Apple has changed its stance on compilers on App Store 2020-04-19T21:48:14Z jackdaniel: uhm 2020-04-19T21:49:45Z Lord_of_Life_ joined #lisp 2020-04-19T21:50:55Z Lord_of_Life quit (Ping timeout: 250 seconds) 2020-04-19T21:51:33Z phoe: so it might be possible to publish this officially 2020-04-19T21:52:34Z renzhi quit (Ping timeout: 240 seconds) 2020-04-19T21:52:35Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-19T21:52:53Z phoe: I mean, toy lisp REPLs are already there - https://apps.apple.com/us/app/my-lisp/id1245341806 - dunno if they generate any native code there since it seems to be just an interpreter, but there are C++ compilers there that pretty surely compile down to assembly 2020-04-19T21:53:08Z phoe: so future looks bright for that project you linked :D 2020-04-19T21:54:10Z mrcom quit (Ping timeout: 265 seconds) 2020-04-19T21:55:08Z shifty quit (Ping timeout: 265 seconds) 2020-04-19T21:55:46Z iAmDecim joined #lisp 2020-04-19T21:56:11Z shifty joined #lisp 2020-04-19T21:58:14Z cosimone quit (Quit: Quit.) 2020-04-19T21:59:36Z dddddd joined #lisp 2020-04-19T22:01:05Z z147_ quit (Remote host closed the connection) 2020-04-19T22:01:32Z z147_ joined #lisp 2020-04-19T22:06:32Z KDr22 quit (Ping timeout: 258 seconds) 2020-04-19T22:07:42Z man213 quit (Ping timeout: 265 seconds) 2020-04-19T22:13:09Z KDr22 joined #lisp 2020-04-19T22:14:37Z nwoob joined #lisp 2020-04-19T22:14:42Z Kundry_Wag quit (Remote host closed the connection) 2020-04-19T22:15:32Z nwoob: is there some article I can read that shows some basic understanding in how cl oop is different from that of languages like java,c#? 2020-04-19T22:15:53Z jackdaniel: minion: tell nwoob about pcl 2020-04-19T22:15:53Z minion: nwoob: 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). 2020-04-19T22:19:14Z nwoob: I need to read the whole book to understand the answer to my question? 2020-04-19T22:21:11Z phoe: nwoob: tl;dr methods belong to generic functions, not to classes 2020-04-19T22:21:28Z phoe: and the object system is programmable, so you can define what it means to e.g. access a class slot 2020-04-19T22:21:29Z jackdaniel: you can skim the table of contents at least 2020-04-19T22:22:12Z jackdaniel: reading chapter 16. and 17. may be a good introduction 2020-04-19T22:22:43Z jackdaniel: (and you may treat examples as some esoteric pseudocode with parenthesis :) 2020-04-19T22:24:13Z phoe: also you can combine methods and their results in arbitrary ways thanks to CL method combinations 2020-04-19T22:25:07Z phoe: also you have basics aspect-oriented programming by default thanks to the default method combination and its :BEFORE/:AFTER/:AROUND methods 2020-04-19T22:25:12Z phoe: s/basics/basic 2020-04-19T22:26:13Z phoe: also CHANGE-CLASS is a thing, allowing you to change an object's class at runtime if you ever *really* need it 2020-04-19T22:26:27Z jason_m quit (Remote host closed the connection) 2020-04-19T22:26:46Z jackdaniel: nwoob: if you want something more informal, here is a very memorable (to me) post by Erik Naggum: https://www.xach.com/naggum/articles/3243735416407529@naggum.no.html 2020-04-19T22:27:02Z orivej quit (Ping timeout: 256 seconds) 2020-04-19T22:27:26Z phoe: also parts of the object system are themselves programmable, such as the generalized constructor duo called MAKE-INSTANCE + INITIALIZE-INSTANCE or the generalized printer called PRINT-OBJECT or even more details inside the so-called metaobjet protocol 2020-04-19T22:27:53Z hugbubby joined #lisp 2020-04-19T22:28:21Z phoe: also multiple inheritance that's *pleasant* to use when compared to java/c# interfaces and c++ virtual inheritance 2020-04-19T22:28:52Z phoe: these are the most notable/useful differences that I can remember right now 2020-04-19T22:28:57Z lalilulelo quit (Quit: Leaving) 2020-04-19T22:28:59Z jackdaniel: I think it is hard to communicate when many people talk at the same time, so I'm going to sleep. 2020-04-19T22:29:09Z phoe: just two of us talking at once 2020-04-19T22:29:13Z nwoob: whaaat? change the class of object at runtime? first time heard of something like that... but i also have very less exp with programming so 2020-04-19T22:30:20Z nwoob: anyway I'll start with the book, first i'll complete CL:gentle inroduction 2020-04-19T22:33:31Z Kundry_Wag joined #lisp 2020-04-19T22:33:50Z jcowan: CL MI cleverly avoids the pitfalls of "mainstream" MI by not trying to do to much and by working with generic functions, the best thing about OO. 2020-04-19T22:34:48Z Kundry_Wag quit (Remote host closed the connection) 2020-04-19T22:34:50Z phoe: MI? 2020-04-19T22:35:01Z Kundry_Wag joined #lisp 2020-04-19T22:35:07Z no-defun-allowed: multiple inheritance? 2020-04-19T22:35:12Z phoe: oh right, thanks 2020-04-19T22:35:39Z __jrjsmrtn__ joined #lisp 2020-04-19T22:36:54Z _jrjsmrtn quit (Ping timeout: 240 seconds) 2020-04-19T22:38:37Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-19T22:39:57Z grant_ joined #lisp 2020-04-19T22:40:05Z grant_ is now known as [rg] 2020-04-19T22:40:37Z emys quit (Quit: Leaving) 2020-04-19T22:44:15Z hhdave joined #lisp 2020-04-19T22:44:26Z nwoob quit (Ping timeout: 265 seconds) 2020-04-19T22:46:38Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-19T22:48:59Z SlashLife quit (Quit: Baking more cake ...) 2020-04-19T22:49:23Z keep_learning joined #lisp 2020-04-19T22:50:40Z SlashLife joined #lisp 2020-04-19T22:56:57Z mrcom joined #lisp 2020-04-19T22:59:42Z kdark joined #lisp 2020-04-19T22:59:45Z random-nick quit (Quit: quit) 2020-04-19T23:00:28Z iAmDecim joined #lisp 2020-04-19T23:01:21Z Bourne quit (Ping timeout: 265 seconds) 2020-04-19T23:03:14Z [rg] quit (Ping timeout: 256 seconds) 2020-04-19T23:04:42Z Grap3s0da joined #lisp 2020-04-19T23:04:53Z renzhi joined #lisp 2020-04-19T23:07:22Z Kundry_Wag quit (Remote host closed the connection) 2020-04-19T23:09:40Z Grap3s0da quit (Read error: Connection reset by peer) 2020-04-19T23:09:40Z kdark quit (Remote host closed the connection) 2020-04-19T23:10:10Z kdark joined #lisp 2020-04-19T23:19:56Z Kundry_Wag joined #lisp 2020-04-19T23:22:25Z terpri joined #lisp 2020-04-19T23:26:01Z ayuce quit (Remote host closed the connection) 2020-04-19T23:28:46Z Kundry_Wag quit (Remote host closed the connection) 2020-04-19T23:32:41Z Kundry_Wag joined #lisp 2020-04-19T23:33:48Z wxie joined #lisp 2020-04-19T23:34:18Z Inline quit (Quit: Leaving) 2020-04-19T23:38:55Z Oladon joined #lisp 2020-04-19T23:40:06Z Kundry_Wag quit (Remote host closed the connection) 2020-04-19T23:40:15Z [rg] joined #lisp 2020-04-19T23:40:32Z Kundry_Wag joined #lisp 2020-04-19T23:45:17Z gxt joined #lisp 2020-04-19T23:47:37Z wxie quit (Ping timeout: 264 seconds) 2020-04-19T23:49:21Z ealfonso joined #lisp 2020-04-19T23:50:01Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-19T23:53:21Z iAmDecim joined #lisp 2020-04-19T23:59:00Z [rg] quit (Ping timeout: 256 seconds) 2020-04-19T23:59:25Z josvuk left #lisp 2020-04-20T00:03:02Z [rg] joined #lisp 2020-04-20T00:03:23Z z147_ quit (Quit: z147_) 2020-04-20T00:05:09Z [rg] quit (Client Quit) 2020-04-20T00:13:02Z fradet joined #lisp 2020-04-20T00:14:27Z samlamamma quit (Ping timeout: 260 seconds) 2020-04-20T00:14:59Z jeosol quit (Remote host closed the connection) 2020-04-20T00:15:18Z amerlyq quit (Quit: amerlyq) 2020-04-20T00:16:24Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-20T00:17:35Z iAmDecim joined #lisp 2020-04-20T00:19:49Z rand_t quit (Quit: rand_t) 2020-04-20T00:40:44Z zaquest quit (Quit: Leaving) 2020-04-20T00:46:51Z ayuce joined #lisp 2020-04-20T00:50:50Z Bourne joined #lisp 2020-04-20T00:52:19Z zaquest joined #lisp 2020-04-20T00:56:52Z pilne_ quit (Ping timeout: 265 seconds) 2020-04-20T00:58:21Z pilne joined #lisp 2020-04-20T00:59:25Z bitmapper quit 2020-04-20T01:03:10Z monok quit (Quit: Leaving) 2020-04-20T01:08:04Z SGASAU quit (Remote host closed the connection) 2020-04-20T01:08:50Z SGASAU joined #lisp 2020-04-20T01:15:32Z akoana joined #lisp 2020-04-20T01:19:25Z hugbubby quit (Ping timeout: 264 seconds) 2020-04-20T01:21:48Z ayuce quit (Remote host closed the connection) 2020-04-20T01:22:17Z ayuce joined #lisp 2020-04-20T01:38:44Z fradet left #lisp 2020-04-20T01:41:05Z EvW quit (Ping timeout: 272 seconds) 2020-04-20T01:46:47Z mtzono joined #lisp 2020-04-20T01:49:25Z luis quit (Ping timeout: 264 seconds) 2020-04-20T02:03:03Z renzhi quit (Ping timeout: 258 seconds) 2020-04-20T02:08:38Z ealfonso quit (Ping timeout: 246 seconds) 2020-04-20T02:09:53Z shukryzablah joined #lisp 2020-04-20T02:18:08Z luis joined #lisp 2020-04-20T02:18:27Z Kundry_Wag quit 2020-04-20T02:19:57Z kdark` joined #lisp 2020-04-20T02:20:22Z quazimodo quit (Remote host closed the connection) 2020-04-20T02:20:37Z Josh_2 quit (Ping timeout: 264 seconds) 2020-04-20T02:21:34Z kdark quit (Ping timeout: 256 seconds) 2020-04-20T02:23:24Z quazimodo joined #lisp 2020-04-20T02:30:35Z ayuce quit (Remote host closed the connection) 2020-04-20T02:31:02Z ayuce joined #lisp 2020-04-20T02:33:52Z ayuce quit (Remote host closed the connection) 2020-04-20T02:34:12Z mtzono quit (Quit: Connection closed) 2020-04-20T02:34:17Z ayuce joined #lisp 2020-04-20T02:36:17Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-20T02:37:54Z ayuce quit (Remote host closed the connection) 2020-04-20T02:39:06Z ayuce joined #lisp 2020-04-20T02:39:12Z kdark` quit (Ping timeout: 256 seconds) 2020-04-20T02:42:55Z shifty quit (Ping timeout: 258 seconds) 2020-04-20T02:53:49Z cylb quit (Ping timeout: 250 seconds) 2020-04-20T02:58:01Z beach: Good morning everyone! 2020-04-20T03:02:50Z cylb joined #lisp 2020-04-20T03:03:25Z shifty joined #lisp 2020-04-20T03:08:37Z cylb quit (Ping timeout: 264 seconds) 2020-04-20T03:09:24Z shifty quit (Ping timeout: 256 seconds) 2020-04-20T03:22:01Z torbo quit (Remote host closed the connection) 2020-04-20T03:22:36Z Oladon quit (Quit: Leaving.) 2020-04-20T03:32:24Z shukryzablah: what's your timezone btw 2020-04-20T03:32:47Z restrobe joined #lisp 2020-04-20T03:33:19Z beach: shukryzablah: There are often a lot of people here. If everyone starts discussing time zones, there will be a lot of noise. 2020-04-20T03:34:17Z restrobe left #lisp 2020-04-20T03:36:35Z cortexman joined #lisp 2020-04-20T03:45:19Z White_Flame: beach's timezone is obviously somewhere where it's morning now 2020-04-20T03:45:23Z White_Flame: 2020-04-20T03:52:49Z SGASAU quit (Remote host closed the connection) 2020-04-20T03:53:21Z cortexman: https://www.flickr.com/photos/188105686@N08 2020-04-20T03:53:35Z SGASAU joined #lisp 2020-04-20T03:54:01Z cortexman quit (Remote host closed the connection) 2020-04-20T03:54:13Z no-defun-allowed: What does that have to do with Common Lisp? 2020-04-20T04:04:35Z ayuce quit (Read error: Connection reset by peer) 2020-04-20T04:09:34Z beach: no-defun-allowed: I always ask people to describe what the link is about before I click on it. 2020-04-20T04:12:11Z Bike quit (Quit: Lost terminal) 2020-04-20T04:14:03Z cylb joined #lisp 2020-04-20T04:19:40Z cylb quit (Ping timeout: 256 seconds) 2020-04-20T04:21:34Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-20T04:27:51Z pilne quit (Quit: I used to think I was indecisive, but now I'm not too sure.) 2020-04-20T04:45:52Z nwoob joined #lisp 2020-04-20T04:48:43Z axion quit (Quit: quit) 2020-04-20T04:49:02Z axion joined #lisp 2020-04-20T04:49:10Z ebrasca joined #lisp 2020-04-20T04:54:08Z drmeister: My terrible Microsoft Excel based programming language powered by Common Lisp is complete. 2020-04-20T04:54:27Z drmeister: https://usercontent.irccloud-cdn.com/file/vfBM8nfU/image.png 2020-04-20T04:54:58Z drmeister: Why? Because I need something synthetic organic chemists can work with. 2020-04-20T04:56:51Z drmeister: It predicts day by day how much of every reagent we use and every product we generate. It can predict ordering and generation of waste. 2020-04-20T04:58:25Z loke: drmeister: How do you communicate with CL from Excel? 2020-04-20T04:59:21Z drmeister: My third try used the Common Lisp system :xlsx 2020-04-20T04:59:35Z drmeister: First csv, then lisp-xl and then xlsx. 2020-04-20T04:59:52Z drmeister: It works well with the small sheets I'm using. 2020-04-20T04:59:59Z loke: So it's non-interactive? You save the excel and have a Lisp program process it? 2020-04-20T05:00:13Z drmeister: I write out both csv files but recently I started writing excel xml files. 2020-04-20T05:00:23Z loke: You could have a live connection using OLE. :-0 2020-04-20T05:00:25Z drmeister: Yes. 2020-04-20T05:00:31Z drmeister: I'm on a mac 2020-04-20T05:00:39Z loke: I think that works on OSX too? 2020-04-20T05:00:55Z loke: ALthough... It'll be painful :-) 2020-04-20T05:04:25Z narimiran joined #lisp 2020-04-20T05:08:02Z Oladon joined #lisp 2020-04-20T05:09:40Z drmeister: Not so interested in pain. 2020-04-20T05:09:40Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-04-20T05:16:13Z loke: Wow. You can actually do HTTP rest calls from Excel. I had no idea 2020-04-20T05:16:14Z loke: https://stackoverflow.com/questions/48133663/sending-json-post-request-in-vba 2020-04-20T05:16:38Z loke: Not saying you should do it. I just started looking at what's available because I got inspired. :-) 2020-04-20T05:18:54Z pjb: There are crazy people still using Excel? After all the pain and death it caused in the world? 2020-04-20T05:20:01Z loke: pjb: I work with banks. I can give you the answer to your questions: Yes, very much yes. :-) 2020-04-20T05:21:41Z pjb: drmeister: https://rooseveltinstitute.org/researchers-finally-replicated-reinhart-rogoff-and-there-are-serious-problems/ 2020-04-20T05:22:09Z pjb: drmeister: forbid your user to use Excel, pretty please! We don't want a chemical catastroph on Earth in addition to the pandemies! 2020-04-20T05:26:32Z loke: pjb: I'm reading the article. How can such a study even be accepted at all when they'r enot releaseing the data. It's insame. 2020-04-20T05:28:34Z mikecheck joined #lisp 2020-04-20T05:28:42Z pjb: loke: it's not really the point, since commercial products are also released without providing the data/sources/tests/whatever they used to create it. 2020-04-20T05:30:35Z lxbarbosa quit (Ping timeout: 246 seconds) 2020-04-20T05:30:40Z pjb: The point is if you base real-life decisions on Excel, you're screwed, and if you do that in a chemical plant, or a bank, you're screwing the fucking planet! 2020-04-20T05:31:21Z pjb: If Apple doesn't let nuclear power plants to use their toy computers, there's a reason! 2020-04-20T05:31:42Z pjb: (and the problem is not the hardware, and Microsoft is worse than Apple). 2020-04-20T05:41:27Z aeth: Yes, Excel is broken by design due to backwards compatibility. No, you can't get people to stop using Excel. And finally, it really should have been called "Excell". Pun opportunity missed. 2020-04-20T05:43:07Z vlatkoB joined #lisp 2020-04-20T05:44:06Z drmeister: What's nice about the xlsx system is I can color blocks of cells, change fonts and scale and still read everything into Common Lisp. 2020-04-20T05:45:46Z asarch quit (Quit: Leaving) 2020-04-20T05:54:11Z gravicappa joined #lisp 2020-04-20T05:57:19Z JohnMS_WORK joined #lisp 2020-04-20T05:59:52Z drmeister: Aaaaand the result... If we recycle one particularly nasty solvent - we can reduce its use by 40x. 2020-04-20T06:00:36Z pjb: drmeister: how can you be sure: you used Excel!!! 2020-04-20T06:01:23Z drmeister: No - I use excel as a user interface. It's a means to get the data into the 5500 lines of Common Lisp that run the simulation. 2020-04-20T06:01:38Z pjb: It's not reassuring at all. 2020-04-20T06:01:43Z pjb: GIGO 2020-04-20T06:02:05Z aeth: Excel as a data input method messed up some biology papers a few years ago iirc because it coerced some input into a different type (some gene names iirc) 2020-04-20T06:02:24Z drmeister: I'm using symbols and numbers. 2020-04-20T06:03:12Z phoe: morniiing 2020-04-20T06:03:32Z no-defun-allowed: Hello phoe 2020-04-20T06:04:04Z shifty joined #lisp 2020-04-20T06:04:57Z mwgkgk joined #lisp 2020-04-20T06:07:46Z Oladon quit (Quit: Leaving.) 2020-04-20T06:08:32Z phoe: Hey no-defun-allowed 2020-04-20T06:10:00Z dddddd quit (Ping timeout: 256 seconds) 2020-04-20T06:11:15Z Oladon joined #lisp 2020-04-20T06:13:41Z retropikzel quit (Quit: Leaving) 2020-04-20T06:16:02Z cylb joined #lisp 2020-04-20T06:16:24Z shka_ joined #lisp 2020-04-20T06:18:25Z _paul0 joined #lisp 2020-04-20T06:19:26Z orivej joined #lisp 2020-04-20T06:20:42Z cylb quit (Ping timeout: 265 seconds) 2020-04-20T06:21:01Z paul0 quit (Ping timeout: 272 seconds) 2020-04-20T06:21:06Z SGASAU quit (Remote host closed the connection) 2020-04-20T06:21:51Z SGASAU joined #lisp 2020-04-20T06:26:14Z hiroaki joined #lisp 2020-04-20T06:28:26Z Cymew joined #lisp 2020-04-20T06:28:57Z Blukunfando joined #lisp 2020-04-20T06:29:04Z shangul joined #lisp 2020-04-20T06:45:16Z mn3m quit (Read error: Connection reset by peer) 2020-04-20T06:45:18Z mtzono joined #lisp 2020-04-20T06:45:38Z mn3m joined #lisp 2020-04-20T06:46:24Z mtzono quit (Client Quit) 2020-04-20T06:53:49Z mikecheck left #lisp 2020-04-20T07:00:30Z epony quit (Quit: reconf) 2020-04-20T07:00:42Z dale quit (Quit: My computer has gone to sleep) 2020-04-20T07:06:56Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-20T07:07:15Z keep_learning joined #lisp 2020-04-20T07:09:37Z narimiran quit (Quit: leaving) 2020-04-20T07:10:55Z Oladon quit (Quit: Leaving.) 2020-04-20T07:11:06Z narimiran joined #lisp 2020-04-20T07:14:19Z jeosol joined #lisp 2020-04-20T07:17:49Z varjag joined #lisp 2020-04-20T07:29:31Z heisig joined #lisp 2020-04-20T07:34:51Z SGASAU quit (Read error: Connection reset by peer) 2020-04-20T07:35:36Z SGASAU joined #lisp 2020-04-20T07:44:50Z jprajzne joined #lisp 2020-04-20T07:57:59Z z147 joined #lisp 2020-04-20T08:00:27Z Lycurgus joined #lisp 2020-04-20T08:02:50Z pve joined #lisp 2020-04-20T08:10:18Z ljavorsk joined #lisp 2020-04-20T08:14:27Z mwgkgk quit (Quit: Connection closed for inactivity) 2020-04-20T08:16:38Z cylb joined #lisp 2020-04-20T08:22:32Z cylb quit (Ping timeout: 256 seconds) 2020-04-20T08:39:42Z nwoob_ joined #lisp 2020-04-20T08:41:18Z nwoob quit (Ping timeout: 256 seconds) 2020-04-20T08:41:43Z shifty quit (Ping timeout: 260 seconds) 2020-04-20T08:42:18Z jmercouris joined #lisp 2020-04-20T08:42:38Z shifty joined #lisp 2020-04-20T08:43:50Z duuqnd joined #lisp 2020-04-20T08:45:31Z JamesY joined #lisp 2020-04-20T08:48:55Z jmercouris: hello everyone 2020-04-20T08:48:55Z minion: jmercouris, memo from phoe: flatpak, appimage. 2020-04-20T08:49:31Z jmercouris: phoe: indeed, we have guix pack though, I'm looking to make debs, etc to get it mainlined into package managers 2020-04-20T08:49:58Z jmercouris: I've been thinking, is there a way to have an object of class X and turn it into an object of class Y? 2020-04-20T08:50:13Z phoe: jmercouris: 2020-04-20T08:50:15Z phoe: clhs change-class 2020-04-20T08:50:15Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_chg_cl.htm 2020-04-20T08:50:34Z phoe: don't abuse it though, it's easy to cause stuff to explode that way 2020-04-20T08:51:02Z jmercouris: OK :-) 2020-04-20T08:51:12Z jmercouris: I don't plan on using it, I was just thinking about it because of the conversation yesterday here 2020-04-20T08:51:49Z pjb: phoe: what would explode? 2020-04-20T08:52:08Z beach: pjb: A buggy implementation? 2020-04-20T08:52:15Z phoe: pjb: or buggy user code 2020-04-20T08:52:27Z no-defun-allowed: If you have a method on update-instance-for-new-class that causes an object to explode, it could well explode. 2020-04-20T08:52:29Z jmercouris: I can imagine many scenarios where it goes wrong 2020-04-20T08:52:29Z karlosz quit (Quit: karlosz) 2020-04-20T08:52:48Z karlosz joined #lisp 2020-04-20T08:52:55Z no-defun-allowed: Pardon me, update-instance-for-different-class. 2020-04-20T08:53:22Z pjb: jmercouris: what's in clhs should work, whether it's + or change-class! 2020-04-20T08:53:46Z phoe: if an object is assumed to be of class A and someone changes its class to B where B is not a subclass of A, that's e.g. a way to defeat typechecks 2020-04-20T08:53:48Z jmercouris: Absolutely, I'm pretty sure phoe meant that misusing it can be dangerous, like GOTO 2020-04-20T08:54:16Z pjb: phoe: not at all! 2020-04-20T08:54:29Z phoe: first stuff an A into a A-typed slot, then change-class it into B 2020-04-20T08:54:30Z JamesY quit (Ping timeout: 256 seconds) 2020-04-20T08:54:38Z aeth: pjb: yes, phoe is absolutely right 2020-04-20T08:54:52Z aeth: type checks are probably done when slots are modified. 2020-04-20T08:54:54Z pjb: (defclass a () ()) (defclass b () ()) (let ((o (make-instance 'a))) (check-type o a) (change-class o 'b) (check-type o b)) #| --> nil |# 2020-04-20T08:54:54Z phoe: unless the methods on u-i-f-d-c you've defined explicitly prevent such transformation, it is going to work 2020-04-20T08:55:00Z pjb: absolutely no problem. 2020-04-20T08:55:42Z jmercouris: OK, here is a scenario, someone writes a method expecting object A to have some properties 2020-04-20T08:55:54Z phoe: pjb: (defclass a () ()) (defclass foo ((a :initarg :a :accessor a :type a))) (defvar *foo* (make-instance 'foo :a (make-instance 'a))) 2020-04-20T08:55:55Z pjb: Or are you saying that if you call (+ 2 "foo") something will explode? 2020-04-20T08:55:57Z jmercouris: well, object A doesn't have those properties because it is a translated object 2020-04-20T08:56:10Z beach: jmercouris: You can't protect against programmers doing the wrong thing. 2020-04-20T08:56:11Z phoe: then you change-class the (a *foo*) into something that isn't an A 2020-04-20T08:56:20Z phoe: beach is correct 2020-04-20T08:56:32Z phoe: one cannot prevent the programmer from making bugs 2020-04-20T08:56:36Z jmercouris: people will find more creative and powerful ways to break your API :-D 2020-04-20T08:56:38Z pjb: phoe: then you have a bug in your update-instance-for-different-class method! 2020-04-20T08:56:49Z phoe: pjb: which method? I don't see any 2020-04-20T08:57:04Z pjb: phoe: my point! 2020-04-20T08:57:10Z phoe: yep, the lack of such method is the bug 2020-04-20T08:57:15Z pjb: phoe: you must find where your object is referenced with a type constraint and remove it from there! 2020-04-20T08:57:22Z pjb: phoe: ie YOU wrote the bug! 2020-04-20T08:57:35Z pjb: phoe: remember, YOU are the programmer, you are responsible for your code. 2020-04-20T08:57:47Z pjb: Also, just do not write any fucking type declarations! 2020-04-20T08:58:31Z aeth: phoe: Your example is almost correct, except :type doesn't have to be respected. I use a checked-type metaclass with :checked-type instead of :type here: https://gitlab.com/zombie-raptor/zr-utils/-/blob/c5a31d8bd536f827837ec7fafc0c1a95d0dcdc93/metaobject.lisp 2020-04-20T08:58:32Z jmercouris: could it be said that programmers are entomologists? 2020-04-20T08:58:39Z phoe: aeth: correct, that's what I meant 2020-04-20T08:58:41Z aeth: phoe: It will have the same weakness, though. It does type checks on slot setting 2020-04-20T08:58:54Z phoe: pjb: "just do not write any fucking type declarations" wtf 2020-04-20T08:58:57Z phoe: that's what type systems are for 2020-04-20T08:59:08Z jmercouris: I'm actually anti type checking 2020-04-20T08:59:15Z aeth: pjb: preconditions and postconditions are a pretty big part of programming. 2020-04-20T08:59:18Z aeth: Types or not. 2020-04-20T08:59:47Z jmercouris: type checking is too often touted as the magic bullet... 2020-04-20T08:59:47Z pjb: jmercouris: I embrace dynamic type checking! 2020-04-20T08:59:48Z aeth: I should probably change my checked-type into a general assert functionality before I finalize my utility library. I already implement it through ASSERT since CHECK-TYPE can't be used in the MOP 2020-04-20T09:00:08Z jmercouris: aeth: link to utility library? 2020-04-20T09:00:13Z pjb: phoe: for example, your bug may be in :type a instead of :type (or a b). 2020-04-20T09:00:16Z jmercouris: GitHub functional for everyone else? 2020-04-20T09:00:21Z aeth: jmercouris: https://gitlab.com/zombie-raptor/zr-utils 2020-04-20T09:00:38Z aeth: It's a bunch of things I spun out of my game engine 2020-04-20T09:00:45Z aeth: In varying degrees of completeness/polish 2020-04-20T09:00:47Z phoe: pjb: my point is that it's worth to mention that CHANGE-CLASS is a footgun. 2020-04-20T09:00:56Z ralt joined #lisp 2020-04-20T09:01:04Z pjb: phoe: yeah, just like + or any other lisp operator! 2020-04-20T09:01:06Z ralt: good morning 2020-04-20T09:01:11Z phoe: no 2020-04-20T09:01:14Z jmercouris: aeth: as compared to serapeum and alexandria, where does it fall? 2020-04-20T09:01:14Z phoe: it allows for things that are impossible in other languages at the cost of getting errors that are impossible in other languages 2020-04-20T09:01:19Z aeth: jmercouris: in between 2020-04-20T09:01:23Z ralt: I have started using (wild-)inferred-package-system 2020-04-20T09:01:25Z phoe: + is available in other languages, CHANGE-CLASS is not 2020-04-20T09:01:29Z ralt: it's pretty good, really 2020-04-20T09:01:38Z pjb: phoe: oh! you want to write programs in other programming languages… I see… 2020-04-20T09:01:43Z jmercouris: phoe: in python change-class is available 2020-04-20T09:01:47Z jmercouris: phoe: not literally, but you know 2020-04-20T09:02:02Z aeth: jmercouris: it has alexandriaish stuff like do-hash-table and yet another hash table constructor macro (e.g. (hash :foo 42 :bar 43)) but it doesn't do radical things like #h(:foo 42 :bar 43) 2020-04-20T09:02:03Z pjb: phoe: but if you want to code in C, it's easier to use C, than to use a subset of CL… 2020-04-20T09:02:12Z aeth: jmercouris: on the other hand it has some fairly large macros 2020-04-20T09:02:17Z phoe: pjb: yes, the original comment was a pointer to the discussion where someone asked for a comparison between CLOS and object systems of other languages 2020-04-20T09:02:27Z phoe: so it's relevant to compare CLOS to other languages' object systems 2020-04-20T09:02:41Z phoe: also, C doesn't have a standard object system 2020-04-20T09:02:47Z jmercouris: aeth: that's nice! :-) 2020-04-20T09:02:54Z aeth: jmercouris: Nearly everything there uses DEFINE-FUNCTION, which is a modification of DEFUN that helps with type declarations, inlines, and other things. It doesn't quite do everything DEFUN does yet, though. e.g. &aux 2020-04-20T09:03:01Z ralt: there's just one thing I'm a bit on the fence about: if I want to use a dep, I _have to_ use e.g. (:import-from :cl-ppcre #:scan) and (scan), I can't just do (invented) (:import :cl-ppcre) (ppcre:scan). Anyone knows if I'm missing something, or if I should just declare :cl-ppcre in the :depends-on of my .asd file and move on? 2020-04-20T09:03:26Z jmercouris: aeth: I bet ambrevar will love your library and will want to use it in Next :-D 2020-04-20T09:03:39Z jmercouris: aeth: I'm sure you've seen all the type declarations and checking in our source... 2020-04-20T09:03:40Z phoe: ralt: I suggest an explicit :depends-on 2020-04-20T09:04:21Z aeth: jmercouris: It needs to be cleaned up in places. e.g. I think do-hash-table needs to be put in a BLOCK NIL (iirc the conversation the other day) so that you can break early from it, and a few other things. 2020-04-20T09:04:22Z phoe: there are multiple cases where package- and system-names are mismatched, or there are multiple packages in a system 2020-04-20T09:04:26Z jmercouris: aeth: especially will want to use define-function 2020-04-20T09:04:27Z phoe: e.g. system "lparallel" 2020-04-20T09:04:41Z phoe: which has a package lparallel.queue 2020-04-20T09:04:47Z aeth: jmercouris: yeah, my utility library is like 95% random niche things of varying degrees of usefulness... and define-function 2020-04-20T09:04:57Z phoe: but ASDF loading "lparallel.queue" is going to explode because such a system doesn't exist 2020-04-20T09:05:00Z aeth: the idea of define-function being that everything you can do with a DEFUN (except the name itself) is more concise 2020-04-20T09:05:12Z ralt: phoe: ah, yeah, that's a fair point 2020-04-20T09:06:17Z jmercouris: aeth: oh typed lists even! 2020-04-20T09:06:20Z ralt: either way, I really like with wild-package-inferred-system, it's a really nice step up 2020-04-20T09:06:22Z jmercouris: flashbacks of java 2020-04-20T09:06:40Z jmercouris: the only thing we don't have is a operator syntax 2020-04-20T09:06:41Z phoe: I found it's much nicer to have explicit external dependencies listed in one place rather than implicitly define them all over the place 2020-04-20T09:07:03Z aeth: jmercouris: I mean, it's not surprisingly a big collection of everything that a game engine uses 2020-04-20T09:07:07Z ralt: my reasoning is that I'd rather have the dependencies defined as close to the code using them as possible 2020-04-20T09:07:21Z phoe: yep, so we're from two different camps :D 2020-04-20T09:07:23Z aeth: jmercouris: typed lists are mostly useless in CL (and they're slower!) but they're useful in a game engine because you only need to verify the contents once 2020-04-20T09:07:30Z ralt: ^^ 2020-04-20T09:07:44Z z147_ joined #lisp 2020-04-20T09:07:50Z karlosz quit (Quit: karlosz) 2020-04-20T09:08:09Z karlosz joined #lisp 2020-04-20T09:09:21Z aeth: if I get a random NIL somewhere (and it used to happen all of the time) it's really hard to tell where it came from because it shows up in the game loop, not when it first appeared 2020-04-20T09:09:21Z jmercouris: is github working for anyone else? 2020-04-20T09:09:46Z jmercouris: aeth: were you trying to make a no-cons game engine? 2020-04-20T09:09:58Z phoe: jmercouris: github is up for me. 2020-04-20T09:10:04Z ralt: I wonder if there's a joke with cons-less... 2020-04-20T09:10:18Z aeth: jmercouris: sort of... the engine itself doesn't cons during the game loop 2020-04-20T09:10:29Z aeth: jmercouris: in practice, anything that uses the engine conses a bit. 2020-04-20T09:10:31Z jmercouris: OK, I'm going to restart my network 2020-04-20T09:10:39Z aeth: s/during the game loop/during the game loop in SBCL/ 2020-04-20T09:10:43Z z147 quit (Quit: z147) 2020-04-20T09:11:39Z aeth: I don't think any other CL implementation provides enough information to tell if something is consing during a specific part of the program. If it does, it's nowhere near as straightforward as SBCL... and it probably does cons in the other CLs because SBCL is built more around that sort of thing. 2020-04-20T09:12:54Z aeth: e.g. SBCL will warn you if (declare (dynamic-extent foo)) fails, and will give you a note if a double-float conses if you're at (speed 3) 2020-04-20T09:13:13Z mercourisj joined #lisp 2020-04-20T09:13:28Z jmercouris quit (Disconnected by services) 2020-04-20T09:13:31Z mercourisj is now known as jmercouris 2020-04-20T09:17:34Z aeth: jmercouris: anyway, I wouldn't use zr-utils yet because there are a few rough edges so it doesn't quite represent a stable API yet, which is absolutely a deal breaker for a util library 2020-04-20T09:17:49Z aeth: I was tempted to split it into /stable and /unstable when I spun it off 2020-04-20T09:18:08Z jmercouris quit (Ping timeout: 256 seconds) 2020-04-20T09:20:38Z jmercouris joined #lisp 2020-04-20T09:20:50Z aeth: In particular, in array.lisp, I need to support offsets, either directly or with two new sets of functions/macros. I also need to rename with-2D-array-accessors because it supports 1D and 2D arrays. Also, read.lisp is entirely work-in-progress and util.lisp has a few incomplete things like with-bindings, which also needs elisp written so it's indented properly. 2020-04-20T09:23:19Z z147_ quit (Remote host closed the connection) 2020-04-20T09:25:10Z z147 joined #lisp 2020-04-20T09:26:19Z aeth: data-structures.lisp needs some cleanup for readability and I probably want to give the typed lists an optional dependency on trivial-extensible-sequences for an API that's nicer, but slower and less portable. (I suppose I could also implement a sequence API for queues as well.) 2020-04-20T09:49:14Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-20T09:53:06Z Lord_of_Life joined #lisp 2020-04-20T10:01:03Z SGASAU quit (Remote host closed the connection) 2020-04-20T10:01:49Z SGASAU joined #lisp 2020-04-20T10:13:27Z mn3m quit (Quit: mn3m) 2020-04-20T10:20:09Z ljavorsk quit (Ping timeout: 250 seconds) 2020-04-20T10:31:33Z jmercouris: Shinmera: I'm having some issues with deploy, can you help? 2020-04-20T10:33:30Z phoe: jmercouris: what sorta issues 2020-04-20T10:33:45Z jmercouris: phoe: you have macOS right? 2020-04-20T10:33:49Z phoe: jmercouris: nope 2020-04-20T10:33:52Z jmercouris: ah 2020-04-20T10:33:55Z jmercouris: OK well 2020-04-20T10:34:01Z jmercouris: it copies the shared libraries into the app bundle 2020-04-20T10:34:06Z jmercouris: that seems to work 2020-04-20T10:34:19Z jmercouris: however when my program launches, it looks for glib, but doesnt find it 2020-04-20T10:34:23Z jmercouris: despite it existing in the app bundle 2020-04-20T10:34:48Z jmercouris: I'll paste one second 2020-04-20T10:35:11Z jmercouris: http://dpaste.com/0B0JCE0 2020-04-20T10:35:23Z ljavorsk joined #lisp 2020-04-20T10:35:43Z joshcom joined #lisp 2020-04-20T10:36:50Z jmercouris: run-initializers is not a useful hint... 2020-04-20T10:37:01Z jmercouris: it just funcalls a list of functions 11 2020-04-20T10:37:07Z phoe: I don't think a hint is needed 2020-04-20T10:37:18Z phoe: the Lisp image cannot find the shared library where it expects to find them 2020-04-20T10:37:26Z jmercouris: I thought Deploy was supposed to handle this 2020-04-20T10:37:37Z phoe: which means in #p"../Resources/" 2020-04-20T10:37:53Z phoe: yes, from a brief glance this looks like a deploy issue 2020-04-20T10:38:36Z jmercouris: I demand my money back :-D 2020-04-20T10:39:27Z phoe: https://github.com/Shinmera/deploy/blob/master/osx.lisp#L19-L23 shows where ASDF is supposed to output the files during the deploy operation 2020-04-20T10:39:48Z jmercouris: it appears correct 2020-04-20T10:39:52Z jmercouris: they are in resources 2020-04-20T10:40:16Z phoe: yes - but the question is whose responsibility it is to inform the Lisp image that it is supposed to look for these dylibs there 2020-04-20T10:40:22Z phoe: is OSX supposed to do that 2020-04-20T10:40:25Z jmercouris: 2 2020-04-20T10:40:37Z jmercouris: so technically yes, but in this case no 2020-04-20T10:40:42Z phoe: or is it the program's responsibility to find these dylibs 2020-04-20T10:40:45Z jmercouris: that 2020-04-20T10:40:52Z jmercouris: normally you will use otool to set the rpath 2020-04-20T10:41:10Z jmercouris: but in the case of Lisp, since it is done at runtime 2020-04-20T10:41:15Z jmercouris: Lisp must do it itself 2020-04-20T10:41:28Z jmercouris: I thought deploy would edit the CFFI search paths 2020-04-20T10:41:43Z phoe: the latter means that deploy process isn't complete, and I guess that CFFI should be instructed to look for foreign libraries in #p"../Resources/" too 2020-04-20T10:41:46Z jmercouris: (pushnew "/opt/local/lib/" cffi:*foreign-library-directories* :test #'equal) 2020-04-20T10:41:52Z jmercouris: something like that but with the resources path 2020-04-20T10:42:46Z jmercouris: phoe: but does Lisp know its path on disk? can you push a relative path like taht? 2020-04-20T10:42:48Z jmercouris: s/taht/that 2020-04-20T10:42:56Z jmercouris: I can check arg0... of course 2020-04-20T10:43:13Z phoe: jmercouris: that's a big question! a relative path would be the best 2020-04-20T10:43:32Z phoe: but if CFFI doesn't handle those, then an absolute path will need to be constructed 2020-04-20T10:43:41Z jmercouris: son of a potato 2020-04-20T10:44:11Z jmercouris: I will wait for Shinmera to chime and say if it is supposed to be done by deploy or myself 2020-04-20T10:44:19Z jmercouris: I can do it si es necessario 2020-04-20T10:44:21Z phoe: or, you could try executing (pushnew #p"../Resources" cffi:*foreign-library-directories* :test #'equal) before foreign libs are loaded 2020-04-20T10:44:29Z phoe: to see it this perhaps fixes the issue 2020-04-20T10:44:36Z jmercouris: it's worth a potato try 2020-04-20T10:44:40Z jmercouris: let me potato try 2020-04-20T10:44:47Z phoe: I guess so, yes 2020-04-20T10:44:53Z jmercouris: ah, no wait, I don't think I can do it 2020-04-20T10:44:58Z phoe slices the potatoes, makes fries 2020-04-20T10:44:59Z jmercouris: my dependencies are potato loading them 2020-04-20T10:45:13Z jmercouris: I can make a new system that does that and depend on that 2020-04-20T10:45:14Z jmercouris: I guess 2020-04-20T10:45:22Z jmercouris: though is the order of depends-on guaranteed? 2020-04-20T10:45:25Z jmercouris: probably not 2020-04-20T10:45:27Z phoe: jmercouris: or just stuff that into deploy hooks 2020-04-20T10:45:35Z jmercouris: phoe: how would I do that? 2020-04-20T10:45:46Z phoe: jmercouris: DEFINE-HOOK, see deploy manual 2020-04-20T10:45:54Z jmercouris: 1 2020-04-20T10:46:25Z phoe: the only thing you need to take care of is https://github.com/Shinmera/deploy/issues/10 2020-04-20T10:46:35Z phoe: deploy doesn't yet allow the programmer to order the hooks 2020-04-20T10:46:57Z phoe: so if a hook tries to load GLIB before your hook tells CFFI where to look for GLIB, you are toast 2020-04-20T10:47:08Z jmercouris: I don't think that'll occur 2020-04-20T10:47:10Z jmercouris: i'm the only user 2020-04-20T10:47:30Z jmercouris: the define-hook can go right into my asd? 2020-04-20T10:47:52Z phoe: jmercouris: kinda shouldn't, it should go into code 2020-04-20T10:48:01Z jmercouris: OK 2020-04-20T10:48:08Z jmercouris: I'll put it in my package lisp 2020-04-20T10:49:32Z jmercouris: (deploy:define-hook :boot cffi-dir (pushnew #p"../Resources" cffi:*foreign-library-directories* :test #'equal)) 2020-04-20T10:49:35Z jmercouris: does that look OK? 2020-04-20T10:49:53Z Shinmera: it already does that. 2020-04-20T10:50:03Z jmercouris: Oh 2020-04-20T10:50:09Z jmercouris: Shinmera: tips on debugging then? 2020-04-20T10:50:16Z Shinmera: and my guess is that it /does/ find glib, but cannot load it. cffi cannot distinguish those cases, so it just says it doesn't exist. 2020-04-20T10:50:27Z Shinmera: and it probably can't load it because of missing or broken transitive dependencies. 2020-04-20T10:50:32Z jmercouris: I was about to ask about that 2020-04-20T10:50:33Z Shinmera: which is something deploy cannot handle. 2020-04-20T10:50:41Z jmercouris: so you mean the libraries that glib itself depends on 2020-04-20T10:50:45Z phoe: Shinmera: ooh, I misunderstood the defmethod asdf:output-files then 2020-04-20T10:50:45Z jmercouris: it mayhaps cannot load them? 2020-04-20T10:50:45Z Shinmera: yes 2020-04-20T10:50:57Z Shinmera: anyway, I'm off. 2020-04-20T10:51:01Z jmercouris: oh 2020-04-20T10:51:28Z phoe: that's good info 2020-04-20T10:51:41Z jmercouris: yes 2020-04-20T10:51:43Z jmercouris: so let me show you something 2020-04-20T10:51:44Z jmercouris: one second 2020-04-20T10:51:49Z phoe: jmercouris: try scanning the dependencies of the glib library and check if they are all included in the resource dir 2020-04-20T10:51:56Z jmercouris: they are not 2020-04-20T10:51:59Z phoe: if not, you'll need to manually copy them 2020-04-20T10:52:02Z jmercouris: I've already one an otool -l 2020-04-20T10:52:04Z phoe: ooooh, then that's a good hint 2020-04-20T10:52:13Z jmercouris: that was one of my first thoughts 2020-04-20T10:52:16Z jmercouris: but the paths they list ARE valid 2020-04-20T10:52:20Z jmercouris: one second 2020-04-20T10:53:01Z jmercouris: maybe it is a permissions issue 2020-04-20T10:54:28Z jmercouris: http://dpaste.com/1W1CAP0 2020-04-20T10:54:33Z jmercouris: those all exist though 2020-04-20T10:55:09Z jmercouris: ls -la /opt/local/lib/libiconv.2.dylib -> -rwxr-xr-x 1 root admin 1053108 2019-10-28 2019 /opt/local/lib/libiconv.2.dylib 2020-04-20T10:56:04Z phoe: they aren't copied to your app directory though 2020-04-20T10:56:11Z jmercouris: am I going to have to copy all libraries recursively? is there not a tool for this 2020-04-20T10:56:19Z phoe: they won't work for someone who doesn't have a /opt/local/lib/libiconv.2.dylib 2020-04-20T10:56:25Z jmercouris: I have it though 2020-04-20T10:56:30Z jmercouris: it is on my machine still 2020-04-20T10:56:39Z phoe: yes, so that's another issue 2020-04-20T10:56:56Z jmercouris: yeah, I know it will be a problem, but I want to get at least it to run here :-D 2020-04-20T10:57:48Z jmercouris: it's OK, thank you for your help with this 2020-04-20T10:57:50Z jmercouris: I'll get back to it later 2020-04-20T10:57:56Z jmercouris: I need a break from banging my head against a wall :-) 2020-04-20T10:58:06Z phoe: I wonder if you can try loading that library using some other tool that will tell you *why* glib cannot be loaded 2020-04-20T10:58:25Z jmercouris: that's a good question 2020-04-20T10:58:34Z jmercouris: you know, maybe I'll try with one dependency at a time 2020-04-20T10:58:38Z phoe: I have no idea what such a tool might be though, that's already OSX territory and not really lisp stuff 2020-04-20T10:58:40Z jmercouris: and debug the dependencies themselves 2020-04-20T10:58:47Z phoe: yep, sounds like an idea 2020-04-20T10:59:11Z jmercouris: I might write such a tool in Lisp 2020-04-20T10:59:14Z jmercouris: I've never seen it 2020-04-20T11:00:52Z shka_ quit (Ping timeout: 256 seconds) 2020-04-20T11:06:27Z phoe: there's no one to stop you then 2020-04-20T11:07:39Z jmercouris: 1 2020-04-20T11:08:06Z random-nick joined #lisp 2020-04-20T11:08:19Z phoe: what does 1 mean other than it is an integer 2020-04-20T11:09:12Z zerous quit (Quit: WeeChat 2.0.1) 2020-04-20T11:10:24Z jmercouris: 1 = yes, 2 = no 2020-04-20T11:10:27Z jmercouris: it's from age of empires, sorry 2020-04-20T11:12:20Z jmercouris: https://ageofempires.fandom.com/wiki/Taunts 2020-04-20T11:12:57Z aindilis quit (Remote host closed the connection) 2020-04-20T11:13:00Z flip214: jmercouris: "man ld.so" gives you "LD_DEBUG=files command" (or =all) 2020-04-20T11:13:20Z flip214: to find out which dependencies get solved where/how 2020-04-20T11:14:46Z aindilis joined #lisp 2020-04-20T11:20:08Z froggey quit (Ping timeout: 256 seconds) 2020-04-20T11:26:04Z cosimone joined #lisp 2020-04-20T11:33:52Z cosimone quit (Quit: Terminated!) 2020-04-20T11:38:29Z rand_t joined #lisp 2020-04-20T11:49:51Z joshcom quit (Ping timeout: 250 seconds) 2020-04-20T11:53:05Z Bike joined #lisp 2020-04-20T11:53:49Z SGASAU quit (Remote host closed the connection) 2020-04-20T11:57:00Z froggey joined #lisp 2020-04-20T11:58:34Z jmercouris quit (Ping timeout: 240 seconds) 2020-04-20T11:58:55Z SGASAU joined #lisp 2020-04-20T11:59:49Z dddddd joined #lisp 2020-04-20T12:05:51Z emys joined #lisp 2020-04-20T12:06:59Z cylb joined #lisp 2020-04-20T12:08:37Z Bike: phoe: can i ask why you closed that sicl issue? 2020-04-20T12:12:27Z phoe: Bike: I'm about to open one that suggests that my condition system could be plugged into SICL 2020-04-20T12:12:31Z Bike: ah. 2020-04-20T12:12:40Z phoe: I'm just finishing testing this thing and making last polishes 2020-04-20T12:14:50Z epony joined #lisp 2020-04-20T12:17:53Z shifty quit (Ping timeout: 265 seconds) 2020-04-20T12:18:56Z Lycurgus quit (Quit: Exeunt) 2020-04-20T12:19:00Z Bike: beach may have other ideas for the debugger part, though i'm sure your code is an improvement on what's there right now 2020-04-20T12:19:11Z Bike: plus a real debugger ought to be able to do backtrace stuff that can't be done portably 2020-04-20T12:19:50Z phoe: Bike: one can extend my debugger with a command that does (ql:quickload :dissect) 2020-04-20T12:19:56Z phoe: or (sicl-internals:backtrace) 2020-04-20T12:19:59Z phoe: or whatever 2020-04-20T12:20:01Z Bike: sure. 2020-04-20T12:20:17Z phoe: but yes, the debugger can be removed and replaced with any other function 2020-04-20T12:22:08Z beach: phoe: I think that using "debugger" for something that allows the programmer to stare at a backtrace when things go wrong, is a gross misrepresentation. 2020-04-20T12:22:35Z phoe: beach: sure 2020-04-20T12:23:02Z emys quit (Ping timeout: 256 seconds) 2020-04-20T12:23:48Z phoe: anyway, I could move my debugger to a fully separate ASDF system since it's currently modular enough 2020-04-20T12:24:07Z phoe: it's not much of an issue. 2020-04-20T12:24:22Z phoe: for now, lemme clean this thing up a bit more 2020-04-20T12:24:47Z beach: I haven't looked at what you are doing on the debugger part, so I currently have no opinion about it. 2020-04-20T12:25:03Z phoe: sure, no rush about it 2020-04-20T12:27:38Z emys joined #lisp 2020-04-20T12:33:46Z EvW joined #lisp 2020-04-20T12:34:27Z Josh_2 joined #lisp 2020-04-20T12:35:42Z Josh_2: Afternoon all 2020-04-20T12:36:10Z emys quit (Ping timeout: 256 seconds) 2020-04-20T12:36:18Z beach: Hello Josh_2. 2020-04-20T12:37:13Z Josh_2: Is there a way I can use the function (read-byte ..) in place of (fast-read-byte.. )? 2020-04-20T12:37:17Z Bourne quit (Remote host closed the connection) 2020-04-20T12:37:42Z phoe: Josh_2: you mean fast-io? 2020-04-20T12:37:51Z phoe: why use standard read-byte with it? 2020-04-20T12:37:53Z Josh_2: fast-io provides fast-read-byte 2020-04-20T12:38:01Z Josh_2: I don't want to actually use read-byte 2020-04-20T12:38:26Z phoe: the easy answer is "no, you can't use read-byte with fast-io buffers" 2020-04-20T12:39:29Z Josh_2: I don't want to use read-byte, just sorta overwrite the default functionality of read-byte in a specific circumstance, sorta like you can do (let ((x 1))(let ((x 2)) (print x))) -> 2 2020-04-20T12:40:04Z Bourne joined #lisp 2020-04-20T12:40:08Z phoe: you can do that only in lexical scope by doing (flet ((cl:read-byte ...)) ...) 2020-04-20T12:40:10Z pjb: Josh_2: override, for what body of code? 2020-04-20T12:40:19Z pjb: phoe: no, you cannot. 2020-04-20T12:40:25Z phoe: wait, can't you? 2020-04-20T12:40:31Z beach: Nope. 2020-04-20T12:40:37Z Josh_2: I have tried that phoe with something else 2020-04-20T12:40:40Z Josh_2: doesn't work 2020-04-20T12:40:56Z beach: Josh_2: That's not the point. The point is whether it is allowed by the standard. 2020-04-20T12:40:59Z phoe: oh wait. 2020-04-20T12:41:14Z phoe: yes, that's forbidden; binding these symbols as variables is OK, as functions - not OK 2020-04-20T12:41:19Z phoe: so, nope, you can't do that in general. 2020-04-20T12:41:35Z pjb: phoe: 11.1.2.1.2 2020-04-20T12:42:20Z phoe: oh right 2020-04-20T12:42:35Z phoe: "If an external symbol of the COMMON-LISP package is **NOT** defined as a standardized function, macro, or special operator..." 2020-04-20T12:42:38Z phoe: (emphasis mine) 2020-04-20T12:43:54Z jcowan: Does anyone know why? LISP-SYMBOL-REDEFINITION-AGAIN says not, and it makes little sense to me. 2020-04-20T12:44:02Z jcowan: s/not/it does not 2020-04-20T12:45:08Z pjb: why what? 2020-04-20T12:45:36Z jcowan: why CL: function symbols can't be lexically bound with flet or labels. 2020-04-20T12:45:52Z pjb: Because implementations are allowed to open-code all CL functions. 2020-04-20T12:45:57Z phoe: proposal, chapter 3 2020-04-20T12:46:01Z phoe: it's there 2020-04-20T12:46:06Z pjb: open-code ~= inline. 2020-04-20T12:46:19Z phoe: it's allowed to lexically bind it as a function only if it isn't globally bound as fun/mac/specop 2020-04-20T12:46:45Z pjb: jcowan: there's also the point that internally, CL functions can call other functions than CL functions to perform their job. 2020-04-20T12:46:47Z jcowan: phoe: I understand the rule but not the reasoning 2020-04-20T12:46:55Z Bike: cos it messes with macro hygeine. 2020-04-20T12:47:06Z jcowan: Bike: how is that? 2020-04-20T12:47:12Z pjb: jcowan: ie. even if you overriden a function such as CL:READ-CHAR, it could have no effect on say, CL:READ-LINE. 2020-04-20T12:47:40Z phoe: if you rebound it lexically then it would have no effect either though 2020-04-20T12:47:46Z Bike: you lexically bind CAR and now a million standard macros will do weird unpredictable things. 2020-04-20T12:47:54Z pjb: jcowan: the rule is also tere to protect the implementation, so you may not modify a CL function that is used by other CL functions. 2020-04-20T12:48:06Z Bike: i thought this was like, one of the main problems that led to scheme's macro system. 2020-04-20T12:48:29Z jcowan: pjb: That doesn't make sense: the definition of cl:read-line is not within some lexical scope of your program. 2020-04-20T12:48:58Z pjb: jcowan: indeed, global functions are not in a LEXICAL scope, but in a DYNAMIC scope. 2020-04-20T12:49:07Z pjb: this is not scheme… 2020-04-20T12:49:43Z jcowan: Bike: You are right, but in that case, lexically binding cl:car or cl:otherwise with let shouldn't be allowed either 2020-04-20T12:49:52Z SGASAU quit (Remote host closed the connection) 2020-04-20T12:50:01Z phoe: they aren't bound as variables though 2020-04-20T12:50:18Z Bike: yeah i don't see what you're getting at. 2020-04-20T12:50:21Z phoe: not by the standard 2020-04-20T12:50:34Z phoe: a macro cannot portably depend on the value of cl:car as a variable 2020-04-20T12:50:49Z jcowan: phoe: Ah. 2020-04-20T12:50:51Z pjb: jcowan: both are allowed, because 1- they are lexical, 2- a variable binding doesn't change the meaning of the code, weither there's open-coding or not of cl:car. 2020-04-20T12:53:00Z SGASAU joined #lisp 2020-04-20T12:57:38Z ljavorsk_ joined #lisp 2020-04-20T12:57:50Z ljavorsk quit (Quit: I'm out, bye) 2020-04-20T12:58:02Z ljavorsk_ quit (Client Quit) 2020-04-20T12:58:16Z ljavorsk joined #lisp 2020-04-20T13:00:03Z lemoinem quit (Ping timeout: 250 seconds) 2020-04-20T13:01:07Z v_m_v joined #lisp 2020-04-20T13:02:53Z emys joined #lisp 2020-04-20T13:04:54Z gko joined #lisp 2020-04-20T13:05:07Z asarch joined #lisp 2020-04-20T13:06:52Z lemoinem joined #lisp 2020-04-20T13:10:34Z emys quit (Ping timeout: 240 seconds) 2020-04-20T13:11:02Z samlamamma joined #lisp 2020-04-20T13:11:31Z emys joined #lisp 2020-04-20T13:19:14Z ljavorsk quit (Ping timeout: 240 seconds) 2020-04-20T13:19:34Z emys quit (Ping timeout: 240 seconds) 2020-04-20T13:26:02Z shka_ joined #lisp 2020-04-20T13:27:30Z shka_: hello 2020-04-20T13:27:40Z shka_: so i renamed cl-data-frames to vellum 2020-04-20T13:27:49Z shka_: which is unique, i hope :P 2020-04-20T13:29:43Z phoe: vellum doesn't need to be unique 2020-04-20T13:29:51Z phoe: #:vellum382 should, however 2020-04-20T13:30:55Z shka_: must, even 2020-04-20T13:33:23Z flip214: phoe: it's hard to get #\# and #\: in a domain name, though 2020-04-20T13:35:08Z phoenixj joined #lisp 2020-04-20T13:35:21Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-20T13:39:56Z phoenixj quit (Ping timeout: 240 seconds) 2020-04-20T13:40:03Z phoenixj74 joined #lisp 2020-04-20T13:40:35Z ayuce joined #lisp 2020-04-20T13:41:57Z SGASAU quit (Remote host closed the connection) 2020-04-20T13:42:41Z SGASAU joined #lisp 2020-04-20T13:45:17Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-20T13:45:20Z lxbarbosa joined #lisp 2020-04-20T13:47:06Z SGASAU quit (Remote host closed the connection) 2020-04-20T13:47:42Z sjl_ joined #lisp 2020-04-20T13:47:58Z SGASAU joined #lisp 2020-04-20T13:50:06Z emys joined #lisp 2020-04-20T13:53:42Z bitmapper joined #lisp 2020-04-20T14:01:56Z phoenixj74 quit (Ping timeout: 240 seconds) 2020-04-20T14:03:43Z emys quit (Ping timeout: 260 seconds) 2020-04-20T14:07:24Z shukryzablah: shka_: where can i get it 2020-04-20T14:08:59Z wheelsucker joined #lisp 2020-04-20T14:10:19Z edgar-rft: let's make Common Lisp more unique by renaming it to (gensym) 2020-04-20T14:14:34Z refpga joined #lisp 2020-04-20T14:18:37Z phoenixj joined #lisp 2020-04-20T14:27:12Z phoe: let's make it special 2020-04-20T14:28:17Z emys joined #lisp 2020-04-20T14:40:09Z gravicappa quit (Ping timeout: 250 seconds) 2020-04-20T14:42:24Z phoe: A handler function cannot "see" handlers that were established in the same cluster and handlers that were established inside the scope of its binding form 2020-04-20T14:42:29Z phoe: What about restarts? 2020-04-20T14:42:47Z Bike: you want to invoke a restart from a restart? 2020-04-20T14:43:20Z phoe: yes 2020-04-20T14:43:34Z phoe: the question is whether all restarts are visible 2020-04-20T14:43:40Z phoe: or only the one bound "earlier" 2020-04-20T14:43:50Z phoe: so whether restarts behave the same as handlers 2020-04-20T14:43:58Z Bike: "If invoke-restart is done on that restart, the function which resulted from evaluating function is called, in the dynamic environment of the invoke-restart, with the arguments given to invoke-restart." obviously the dynamic environment of the invoke-restart includes the restart being invoked and the rest of the restarts in the binding. 2020-04-20T14:44:07Z Bike: that's restart-bind, though. 2020-04-20T14:44:07Z phoe: OK, I see 2020-04-20T14:44:15Z phoe: restart-case is different because it transfers control 2020-04-20T14:44:24Z Bike: right. 2020-04-20T14:44:25Z lucasb joined #lisp 2020-04-20T14:44:28Z phoe: thanks! 2020-04-20T14:46:12Z Bike: i guess restart-bind is pretty much a dynamic flet, huh? 2020-04-20T14:46:15Z jmercouris joined #lisp 2020-04-20T14:46:46Z jmercouris: let's say I'm in package potato 2020-04-20T14:46:49Z jmercouris: and I execute LOAD 2020-04-20T14:46:57Z jmercouris: will whatever I LOAD be treated as if it is in potato? 2020-04-20T14:47:12Z Bike: yes, unless of course the code changes *package*. 2020-04-20T14:47:38Z jmercouris: I see 2020-04-20T14:48:19Z jmercouris: and how can I go about loading it and asking it to pretend it is in a different package? 2020-04-20T14:48:29Z jmercouris: WITHOUT the code having to do that itself 2020-04-20T14:48:31Z Bike: (let ((*package* whatever)) (load ...)) 2020-04-20T14:48:41Z jmercouris: ah 2020-04-20T14:48:42Z Bike: or just (in-package whatever) (load ...) 2020-04-20T14:48:44Z jmercouris: it is that simple huh 2020-04-20T14:48:49Z Bike: *package* is just a variable. it's not magic or anything. 2020-04-20T14:48:58Z jmercouris: I wonder why it did not work for that user... 2020-04-20T14:49:07Z beach: jmercouris: Your code *should* start with an (in-package ..) form though. 2020-04-20T14:49:09Z whiteline quit (Remote host closed the connection) 2020-04-20T14:49:17Z jmercouris: it definitely should 2020-04-20T14:49:21Z Bike: although note that load rebinds *package*, so any changes to *package* by the code will be undone once load returns. 2020-04-20T14:49:22Z jmercouris: I can't expect new users to do that though 2020-04-20T14:49:31Z jmercouris: I'm trying to make configuration as simple as possible for them 2020-04-20T14:49:38Z rippa joined #lisp 2020-04-20T14:49:45Z whiteline joined #lisp 2020-04-20T14:49:56Z jmercouris: Bike: I think that is OK 2020-04-20T14:50:13Z X-Scale` joined #lisp 2020-04-20T14:50:26Z beach: jmercouris: You expect your uses to program in Common Lisp, but you can't expect them to type tine (in-package...) form? 2020-04-20T14:50:37Z emys quit (Ping timeout: 265 seconds) 2020-04-20T14:50:47Z jmercouris: I give them training wheels 2020-04-20T14:51:01Z jmercouris: all they need to know to start configuring Next is (define-configuration xyz) 2020-04-20T14:51:05Z jmercouris: they shouldn't care about the details 2020-04-20T14:51:11Z jmercouris: as they get more invested, they can start learning Common Lisp 2020-04-20T14:52:04Z X-Scale quit (Ping timeout: 265 seconds) 2020-04-20T14:52:04Z X-Scale` is now known as X-Scale 2020-04-20T14:52:12Z beach: I see. 2020-04-20T14:52:34Z phoe: just load from inside NEXT-USER package 2020-04-20T14:52:54Z jmercouris: phoe even knew what I was trying to do... 2020-04-20T14:52:58Z jmercouris thinks phoe is a mind reader 2020-04-20T14:53:09Z phoe: define a NEXT-USER package that has all the DEFINE-CONFIGURATION macros and such 2020-04-20T14:53:12Z phoe: and load from there 2020-04-20T14:53:34Z jmercouris: we do: (uiop:define-package next-user (:use :common-lisp :trivia :next) (:import-from #:keymap #:define-key #:define-scheme) 2020-04-20T14:53:45Z jmercouris: they make their own init.lisp 2020-04-20T14:53:53Z jmercouris: they would still have to put an (in-packge :next-user) declaration at the top 2020-04-20T14:54:18Z z147 quit (Remote host closed the connection) 2020-04-20T14:55:11Z phoe: no 2020-04-20T14:55:23Z phoe: (let ((*package* (find-package :next-user))) (load ...)) 2020-04-20T14:55:43Z jmercouris: right, I'll do that now 2020-04-20T14:55:54Z phoe: look ma, no NEXT-PACKAGE 2020-04-20T14:58:12Z X-Scale` joined #lisp 2020-04-20T14:59:37Z X-Scale quit (Ping timeout: 264 seconds) 2020-04-20T14:59:38Z X-Scale` is now known as X-Scale 2020-04-20T15:00:58Z Josh_2: I'm getting some very strange behaviour from one of my functions, here you can see the effect https://imgur.com/wgKlhsg.png calling the same function twice but getting an 8000x speed decrease in one instance.. 2020-04-20T15:01:50Z Josh_2: I've seen as bad as 25 seconds for 1 call 2020-04-20T15:02:03Z gravicappa joined #lisp 2020-04-20T15:02:32Z Bike: you're going to have to tell us about the code if you want advice, you realize. 2020-04-20T15:02:40Z Josh_2: Yes 2020-04-20T15:02:46Z Josh_2: I'm doing that now, gimme a minute 2020-04-20T15:02:49Z Bike: oh ok. 2020-04-20T15:07:11Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-20T15:07:27Z didi joined #lisp 2020-04-20T15:08:16Z shifty joined #lisp 2020-04-20T15:08:35Z Josh_2: I know the cause of the problem but I don't understand why it is happening. Basically I have a function called "download-encrypted-packet" which reads from a byte array from a stream and then decrypts it, which causes no problem. However I have a parser which only accepts a stream as an input so I am attempting to use flexi-streams:make-in-memory-input-stream basically create a stream wrapper around the downloaded and decrypted byte 2020-04-20T15:08:35Z Josh_2: array. Now when I use my parser on the new stream, my function for reading bytes from the stream which is a simple wrapper around read-byte gets all jammed up, as you can see from the imgur link I just posted. The functions are in this paste https://plaster.tymoon.eu/view/1764#1764 2020-04-20T15:08:57Z emys joined #lisp 2020-04-20T15:09:05Z didi: Hey! I solved my problem with concatenated streams. Instead of (make-concatenated-stream stream concatenated-stream) I (apply #'make-concatenated-stream stream (concatenated-stream-streams concatenated-stream)). Cool! 2020-04-20T15:09:33Z Josh_2: I don't understand why sometimes the stream is read extremely fast, and the next it'll take half a second per non-block-read-byte call... 2020-04-20T15:09:53Z Josh_2: There is always something to read on the flexi stream so why it would get jammed up is beyond me 2020-04-20T15:10:09Z jmercouris: Josh_2: does it get jammed when you only read and do not decrypt? 2020-04-20T15:10:13Z Josh_2: No 2020-04-20T15:10:20Z didi: All hail `concatenated-stream-stream'! 2020-04-20T15:10:21Z jmercouris: Josh_2: then your answer is in the decryption 2020-04-20T15:10:30Z Josh_2: jmercouris: I don't think you are understanding 2020-04-20T15:10:35Z Josh_2: Let me explain better 2020-04-20T15:10:37Z jmercouris: Josh_2: OK 2020-04-20T15:13:08Z whiteline quit (Remote host closed the connection) 2020-04-20T15:13:48Z Josh_2: So I am sending for example 200 bytes which is an encrypted message over a socket using usocket. This arrives on the receiving side very fast, it is downloaded into an array and decrypted, this is not slow at all, I have tested this as an independent system. Now I am using the function (flexi-stream:make-memory-input-stream decrypted-byte-array) to create a NEW stream which is then put into the parser. It is only when the parser has to 2020-04-20T15:13:48Z Josh_2: work with the flexi-stream instead of the socket stream that is gets 'bound up'. 2020-04-20T15:13:51Z emys quit (Ping timeout: 252 seconds) 2020-04-20T15:14:00Z whiteline joined #lisp 2020-04-20T15:14:21Z Josh_2: But read-byte is the function that is supposed to be used on flexi-stream:memory-input-stream 2020-04-20T15:14:43Z Josh_2: That's why I posted my 3 wrapper functions, which are built on top of (listen.. ) and (read-byte ) 2020-04-20T15:15:18Z jmercouris: so the parser works slowly with in memory streams, but not slowly with socket streams? 2020-04-20T15:15:22Z jmercouris: s the parser your own code? 2020-04-20T15:15:23Z Josh_2: Yes 2020-04-20T15:15:26Z Josh_2: the parser is my own code yes 2020-04-20T15:15:37Z jmercouris: does your parser wait for a token or something to proceed causing potential lock? 2020-04-20T15:15:53Z Josh_2: It's the function non-block-read-byte that gets bound up, that is in the plaster link 2020-04-20T15:15:58Z Josh_2: nope 2020-04-20T15:16:11Z Josh_2: it simply reads the correct amount bytes which are basically preprogrammed 2020-04-20T15:16:11Z jmercouris: I'm saying I dont' believe it 2020-04-20T15:16:18Z jmercouris: I don't think that's the problem 2020-04-20T15:16:31Z Josh_2: hmm 2020-04-20T15:16:45Z Josh_2: one sec 2020-04-20T15:17:58Z jcowan left #lisp 2020-04-20T15:22:26Z emys joined #lisp 2020-04-20T15:27:12Z emys quit (Ping timeout: 256 seconds) 2020-04-20T15:27:42Z refpga quit (Remote host closed the connection) 2020-04-20T15:29:45Z logicmoo joined #lisp 2020-04-20T15:30:25Z dmiles quit (Ping timeout: 250 seconds) 2020-04-20T15:31:04Z emys joined #lisp 2020-04-20T15:37:38Z Josh_2: as an fyi I have 3 different parsers and each one has the same problem. Each of the parsers relies on those three functions 2020-04-20T15:37:41Z monokrom joined #lisp 2020-04-20T15:39:23Z jmercouris quit (Remote host closed the connection) 2020-04-20T15:41:22Z shka_ quit (Ping timeout: 265 seconds) 2020-04-20T15:42:20Z Cymew quit (Ping timeout: 265 seconds) 2020-04-20T15:44:52Z jmercouris joined #lisp 2020-04-20T15:45:20Z jmercouris: hello 2020-04-20T15:46:57Z Josh_2: Hey 2020-04-20T15:48:56Z jayspeer joined #lisp 2020-04-20T15:49:26Z phoenixj quit (Remote host closed the connection) 2020-04-20T15:55:52Z emys quit (Ping timeout: 265 seconds) 2020-04-20T15:57:27Z ayuce quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-04-20T15:58:06Z ayuce joined #lisp 2020-04-20T15:59:17Z libertyprime joined #lisp 2020-04-20T16:00:52Z Bike: the clhs page on the abort restart mentions the possibility of multiple processes. i ownder if t here's anything else in the standard that does 2020-04-20T16:01:21Z phoe: clhs abort 2020-04-20T16:01:21Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_abort.htm 2020-04-20T16:03:17Z phoe: Bike: https://github.com/antoszka/dpANS3/search?q=%22multi-processing%22&unscoped_q=%22multi-processing%22 2020-04-20T16:03:20Z phoe: seems not 2020-04-20T16:03:31Z Bike: weird. 2020-04-20T16:04:04Z antoszka: ugh, me, surprisingly 2020-04-20T16:04:40Z Bike: sldb assumes there's always a restart available, in that you get mildly confusing messages if there's not and you try to sldb-quit 2020-04-20T16:05:21Z phoe: Bike: "mplementors are encouraged to make sure that there is always a restart named abort around any user code so that user code can call abort at any time and expect something reasonable to happen" 2020-04-20T16:05:33Z Bike: right. 2020-04-20T16:06:15Z Bike: what sldb-quit actually does in threads is invoke the last restart returned by (compute-restarts), rather than specifically an abort restart, though. 2020-04-20T16:09:04Z Bike: threads other than the repl thread, i mean 2020-04-20T16:14:18Z Frobozz joined #lisp 2020-04-20T16:15:07Z Josh_2: I think I found the source of the problem 2020-04-20T16:16:48Z Josh_2: Yep 2020-04-20T16:16:56Z Josh_2: it was my encryption function... 2020-04-20T16:18:14Z gko quit (Ping timeout: 240 seconds) 2020-04-20T16:18:18Z EvW quit (Ping timeout: 256 seconds) 2020-04-20T16:19:07Z Josh_2: It was this function (ironclad:read-os-random-seed :random *prng*) ... 2020-04-20T16:22:10Z Josh_2: Well that was a frustrating few hours 2020-04-20T16:22:40Z Necktwi quit (Read error: Connection reset by peer) 2020-04-20T16:22:51Z Necktwi joined #lisp 2020-04-20T16:23:52Z patlv_ joined #lisp 2020-04-20T16:23:57Z patlv_ quit (Max SendQ exceeded) 2020-04-20T16:24:20Z iAmDecim joined #lisp 2020-04-20T16:24:26Z patlv joined #lisp 2020-04-20T16:26:31Z emys joined #lisp 2020-04-20T16:32:37Z phoenixj joined #lisp 2020-04-20T16:33:08Z cosimone joined #lisp 2020-04-20T16:33:56Z cosimone quit (Client Quit) 2020-04-20T16:34:43Z jonatack quit (Ping timeout: 272 seconds) 2020-04-20T16:35:27Z cosimone joined #lisp 2020-04-20T16:35:35Z phoe: Bike: that's weird 2020-04-20T16:35:36Z jayspeer` joined #lisp 2020-04-20T16:35:38Z jayspeer` quit (Remote host closed the connection) 2020-04-20T16:35:46Z phoe: that restart can be RETRY or anything 2020-04-20T16:36:42Z jonatack joined #lisp 2020-04-20T16:37:18Z jayspeer quit (Ping timeout: 256 seconds) 2020-04-20T16:37:59Z shukryzablah quit (Quit: ERC (IRC client for Emacs 27.0.90)) 2020-04-20T16:39:04Z emys quit (Ping timeout: 265 seconds) 2020-04-20T16:39:20Z nwoob joined #lisp 2020-04-20T16:39:30Z Intensity quit (Quit: Ping timeout (120 seconds)) 2020-04-20T16:41:18Z nwoob_ quit (Ping timeout: 265 seconds) 2020-04-20T16:42:05Z jayspeer joined #lisp 2020-04-20T16:42:29Z Bike: it is kind of weird, but practically speaking it will be a restart to abort the thread. 2020-04-20T16:42:42Z Bike: probably good to standardize that, ofc 2020-04-20T16:43:08Z v_m_v quit (Ping timeout: 256 seconds) 2020-04-20T16:44:46Z joast quit (Quit: Leaving.) 2020-04-20T16:46:35Z gravicappa quit (Ping timeout: 260 seconds) 2020-04-20T16:47:14Z gravicappa joined #lisp 2020-04-20T16:47:59Z buffergn0me joined #lisp 2020-04-20T16:51:32Z jmercouris: Josh_2: Aha! 2020-04-20T16:52:14Z joast joined #lisp 2020-04-20T16:53:50Z asarch quit (Remote host closed the connection) 2020-04-20T16:54:17Z asarch joined #lisp 2020-04-20T16:54:28Z selwyn quit (Ping timeout: 245 seconds) 2020-04-20T16:54:42Z dale_ joined #lisp 2020-04-20T16:54:56Z dale_ is now known as dale 2020-04-20T16:55:45Z selwyn joined #lisp 2020-04-20T16:59:24Z Intensity joined #lisp 2020-04-20T16:59:53Z didi quit (Read error: Connection reset by peer) 2020-04-20T17:03:32Z emys joined #lisp 2020-04-20T17:04:06Z EvW joined #lisp 2020-04-20T17:25:12Z z147 joined #lisp 2020-04-20T17:27:12Z zmt00 quit (Quit: Leaving) 2020-04-20T17:29:01Z emys quit (Ping timeout: 264 seconds) 2020-04-20T17:29:28Z rme quit (Ping timeout: 245 seconds) 2020-04-20T17:29:40Z rme joined #lisp 2020-04-20T17:31:58Z corpix joined #lisp 2020-04-20T17:36:58Z zmt00 joined #lisp 2020-04-20T17:37:22Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-20T17:43:07Z buffergn0me quit (Ping timeout: 272 seconds) 2020-04-20T17:44:19Z jonatack quit (Ping timeout: 265 seconds) 2020-04-20T17:44:43Z jonatack joined #lisp 2020-04-20T17:48:19Z didi joined #lisp 2020-04-20T17:49:34Z shifty quit (Ping timeout: 240 seconds) 2020-04-20T17:50:12Z shifty joined #lisp 2020-04-20T17:56:31Z phoenixj quit (Remote host closed the connection) 2020-04-20T17:57:46Z ayuce left #lisp 2020-04-20T18:00:17Z jeosol quit (Remote host closed the connection) 2020-04-20T18:04:26Z buffergn0me joined #lisp 2020-04-20T18:04:31Z frgo quit (Ping timeout: 260 seconds) 2020-04-20T18:06:46Z Intensity quit (Ping timeout: 256 seconds) 2020-04-20T18:08:28Z SGASAU quit (Remote host closed the connection) 2020-04-20T18:09:16Z SGASAU joined #lisp 2020-04-20T18:10:35Z Necktwi quit (Ping timeout: 258 seconds) 2020-04-20T18:12:50Z iAmDecim joined #lisp 2020-04-20T18:16:30Z frgo joined #lisp 2020-04-20T18:17:45Z frgo quit (Read error: Connection reset by peer) 2020-04-20T18:17:51Z frgo_ joined #lisp 2020-04-20T18:18:53Z tutti joined #lisp 2020-04-20T18:21:54Z sauvin quit (Read error: Connection reset by peer) 2020-04-20T18:23:37Z wsinatra joined #lisp 2020-04-20T18:24:43Z Lycurgus joined #lisp 2020-04-20T18:27:06Z bitmapper quit 2020-04-20T18:33:14Z libertyprime quit (Ping timeout: 240 seconds) 2020-04-20T18:38:15Z rpg joined #lisp 2020-04-20T18:38:40Z bitmapper joined #lisp 2020-04-20T18:39:14Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-20T18:39:18Z krid joined #lisp 2020-04-20T18:40:12Z libertyprime joined #lisp 2020-04-20T18:40:26Z shangul quit (Ping timeout: 256 seconds) 2020-04-20T18:47:01Z Intensity joined #lisp 2020-04-20T18:49:36Z krid quit (Remote host closed the connection) 2020-04-20T18:49:42Z jeosol joined #lisp 2020-04-20T18:51:53Z akflcar joined #lisp 2020-04-20T18:51:55Z akflcar: hi 2020-04-20T18:51:57Z akflcar: is there a notation for writings algorithms, similar to programming languages. but for pure algorithms. 2020-04-20T18:52:12Z phoe: akflcar: pseudocode 2020-04-20T18:52:35Z akflcar: a more formal representation of mathematical expressions. 2020-04-20T18:52:49Z akflcar: theorem checkers tend to use some of those 2020-04-20T18:53:07Z phoe: I think that'll depend on the theorem prover in question 2020-04-20T18:53:08Z bitmappe_ joined #lisp 2020-04-20T18:53:15Z phoe: e.g. ACL2 uses some lispy notation 2020-04-20T18:53:46Z bitmapper quit (Read error: Connection reset by peer) 2020-04-20T18:53:56Z bitmappe_ is now known as bitmapper 2020-04-20T18:56:28Z libertyprime quit (Read error: Connection reset by peer) 2020-04-20T18:59:27Z lacroixboy_ joined #lisp 2020-04-20T19:05:49Z phoe: hmm 2020-04-20T19:07:00Z phoe: usability question: let's assume that we have a form (with-debugger (#'debugger) ...) that intercepts the system debugger and instead calls #'debugger 2020-04-20T19:07:11Z phoe: what should be the value of *debugger-hook* inside the body of that form? 2020-04-20T19:07:43Z phoe: and what should be the value of *debugger-hook* bound around the call to #'debugger? 2020-04-20T19:07:51Z lavaflow quit (Quit: WeeChat 2.8) 2020-04-20T19:08:04Z jayspeer quit (Read error: Connection reset by peer) 2020-04-20T19:08:26Z v_m_v joined #lisp 2020-04-20T19:08:35Z jackdaniel: clim-debugger binds itself (so it assumes that no condition will be /its own/ fault) 2020-04-20T19:08:39Z jayspeer joined #lisp 2020-04-20T19:08:54Z travv0 quit (Ping timeout: 265 seconds) 2020-04-20T19:09:24Z phoe: I mean, let's assume that I control powers greater than *debugger-hook* itself 2020-04-20T19:09:33Z phoe: which allows me to e.g. control what (break) does 2020-04-20T19:09:41Z travv0 joined #lisp 2020-04-20T19:10:03Z jackdaniel: I don't know what that means 2020-04-20T19:10:31Z Bike: invoke-debugger-hook, probably 2020-04-20T19:10:32Z phoe: (with-debugger (#'debugger) (break)) calls #'debugger instead of entering the standard debugger 2020-04-20T19:10:35Z phoe: yes, that 2020-04-20T19:10:55Z phoe: ;; except it's called differently and works differently in many implementations, that's why I wanted to avoid calling it by name 2020-04-20T19:11:17Z jackdaniel: clim-debugger binds both 2020-04-20T19:11:20Z jackdaniel: afair 2020-04-20T19:11:36Z jackdaniel: (i'm not saying that's the right or wrong thing to do, just giving a reference point) 2020-04-20T19:11:51Z phoe: yep, I'm thinking about it now 2020-04-20T19:12:38Z phoe: one idea is that *debugger-hook* should stay the same, preferably, since it is allowed to be bound by the user, only if the debugger hook returns, the actual debugger installed by WITH-DEBUGGER is called 2020-04-20T19:14:19Z phoe: that'll also allow for code that, for whatever reason, depends on being able to bind the debugger hook itself?... is that even a thing in practice 2020-04-20T19:14:44Z jackdaniel: it is, portable debuggers do that ,) 2020-04-20T19:14:54Z sjl_ quit (Ping timeout: 240 seconds) 2020-04-20T19:15:03Z jackdaniel: but it doesn't matter, if it binds variables inside your own macro, then they will shadow your bindings 2020-04-20T19:15:08Z jackdaniel: so it is not a problem 2020-04-20T19:15:12Z phoe: yes, except portable debuggers can't deal with (break) unless they bind invoke-debugger-hook of sorts 2020-04-20T19:15:21Z phoe: at which point the debugger hook becomes pointless anyway 2020-04-20T19:15:22Z jackdaniel: yes, that's what portability layers are for 2020-04-20T19:15:33Z jackdaniel: (or feature conditions) 2020-04-20T19:15:42Z phoe: yes, I am currently working on such a portability layer 2020-04-20T19:15:53Z phoe: and I'm wondering how I should treat cl:*debugger-hook* 2020-04-20T19:16:11Z jackdaniel: my point is that it is not a rocket science and it is probable that there are other libraries doing exactly that (vide swank, clim debugger and probably more) 2020-04-20T19:16:32Z phoe: I know it's not rocket science, I'm just thinking about what would be a good default 2020-04-20T19:16:47Z jackdaniel: bind both, if someone want to rebind them it is not a problem 2020-04-20T19:16:53Z phoe: OK 2020-04-20T19:17:48Z jackdaniel: by saying that it is not a rocket science I don't mean that it is not a worthwhile project (I don't have opinion on that), I'm only saying that there is no need to think of it as something what other software won't do 2020-04-20T19:17:53Z Josh_2: jmercouris: in case you are curious this is what I was working on https://github.com/K1D77A/simple-secure-sockets/blob/finite-state-machine/src/encryption/encryption.lisp 2020-04-20T19:18:46Z phoe: jackdaniel: understood 2020-04-20T19:18:57Z jackdaniel: also, I think that the trendy term for that is now "it is not quantum physics", apparently space traviel is not very important anymore 2020-04-20T19:19:07Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-20T19:20:49Z lavaflow joined #lisp 2020-04-20T19:21:06Z theseb joined #lisp 2020-04-20T19:21:43Z theseb: Are there any limitations to symbol (variable) names? I mean...could you do stuff like redefine numbers and booleans? That sounds bad 2020-04-20T19:21:55Z phoe: theseb: you cannot redefine numbers 2020-04-20T19:22:02Z phoe: variable names must be symbols 2020-04-20T19:22:15Z jackdaniel: theseb: you may quote the symbol name, i.e '|42| 2020-04-20T19:22:25Z phoe: they also cannot be constant variables and they better not mix with anything defined in the CL package 2020-04-20T19:23:17Z jackdaniel: 'cl-user::42 :) 2020-04-20T19:23:25Z theseb: phoe: is that the only limitation.....that they cannot be numbers? 2020-04-20T19:23:37Z phoe: theseb: symbols cannot be numbers in general 2020-04-20T19:23:43Z phoe: they are distinct types 2020-04-20T19:23:44Z theseb: phoe: i imagine you also cannot have a *space* in a symbol name 2020-04-20T19:23:50Z phoe: '|But you can| 2020-04-20T19:23:54Z phoe: A symbol name is an arbitrary string 2020-04-20T19:24:13Z phoe: but the name of a symbol is not the symbol itself 2020-04-20T19:24:47Z theseb: phoe: ok...the name of the symbol...can it have spaces? 2020-04-20T19:24:51Z phoe: a symbol is first and foremost a piece of identity that is eql only to itself; it only happens to have a name because for programming convenience 2020-04-20T19:24:54Z phoe: theseb: yes 2020-04-20T19:25:00Z theseb: phoe: i don't see how you could specify that in lisp code 2020-04-20T19:25:13Z phoe: (symbol-name '|Spaces in the name|) ;=> "Spaces in the name" 2020-04-20T19:25:16Z jackdaniel: symbols are specified to be EQ, not only EQL 2020-04-20T19:25:20Z Bike: the || are escape characters. they say that what's in the middle is a symbol. 2020-04-20T19:25:36Z phoe: (symbol-name 'Spaces\ in\ the\ name) ;=> "SPACES IN THE NAME" 2020-04-20T19:25:45Z Bike: so they bypass the usual parsing rules where space ends a token. 2020-04-20T19:25:53Z theseb: just wow 2020-04-20T19:26:58Z theseb: what would be a good simple rule for a little lisp i'm writing for symbol names?.....I didn't realize distinguishing between strings and symbol names would be so subtle 2020-04-20T19:27:16Z phoe: how little are you thinking? 2020-04-20T19:27:30Z phoe: if it's tiny, you can just have a single global namespace, no packages or anything 2020-04-20T19:27:38Z theseb: I was considering only allowing alphanumerics but then you couldn't do stuff like define + to be add . 2020-04-20T19:27:51Z phoe: also, all of it ultimately depends on your reader algorithm 2020-04-20T19:27:53Z theseb: oy vey 2020-04-20T19:28:18Z phoe: that is what'll decide whether it has just read a symbol or not a symbol. 2020-04-20T19:29:08Z Bike: if you're just playing around, i.d either say there are no signed number literals, or symbols like + or - aren't allowed. CL distinguishes them fine, but it's a bit confusing. 2020-04-20T19:29:26Z jackdaniel: theseb: this is not Common Lisp question (and this channel is about Common Lisp). that said you may look into eulisp identifier decription (it describes its grammar: http://henry.github.io/EuLisp/Doc/EuLisp-0.991/eulisp.pdf#syntaxssclause.9.3.0.3 2020-04-20T19:29:49Z jackdaniel: ) 2020-04-20T19:29:54Z v_m_v quit (Ping timeout: 240 seconds) 2020-04-20T19:32:24Z theseb: jackdaniel: i shall thanks 2020-04-20T19:32:32Z emys joined #lisp 2020-04-20T19:33:53Z duuqnd quit (Quit: Leaving) 2020-04-20T19:34:55Z akflcar quit (Ping timeout: 258 seconds) 2020-04-20T19:45:01Z akflcar joined #lisp 2020-04-20T19:45:38Z jmercouris: for CFFI foreign library directories, what is the order? 2020-04-20T19:45:43Z jmercouris: first element in the list tried? 2020-04-20T19:45:53Z jmercouris: I'm trying to help a user with a compilation issue: https://github.com/atlas-engineer/next/issues/684#issuecomment-616767033 2020-04-20T19:46:02Z didi left #lisp 2020-04-20T19:46:38Z akflcar: p⊃ q= (p→ q,T→ T) is a boolean expression just like p∧ q stands for p and q 2020-04-20T19:47:07Z akflcar: so what is that twisted U symbol , which operation is it? 2020-04-20T19:47:18Z jmercouris: I believe that is a union symbol 2020-04-20T19:47:23Z jayspeer quit (Ping timeout: 250 seconds) 2020-04-20T19:47:28Z jmercouris: or some sort of set symbol, I can't remember 2020-04-20T19:47:43Z Bike: ⊃ is a material implication, but i don't understand why you're asking here 2020-04-20T19:47:56Z akflcar: i am reading the lisp paper 2020-04-20T19:48:23Z Bike: nowadays it's somewhat more common to write p → q 2020-04-20T19:49:05Z akflcar: but i think it's some boolean-like mathematical expression, just curious 2020-04-20T19:49:20Z Bike: yes, it's material implication. 2020-04-20T19:49:27Z akflcar: what's that 2020-04-20T19:49:31Z Bike: https://en.wikipedia.org/wiki/Material_conditional 2020-04-20T19:50:03Z akflcar: that is often symbolized by a forward arrow "→". The material conditional is used to form statements of the form p → q 2020-04-20T19:50:10Z jmercouris: ah right, I remember the symbol now 2020-04-20T19:50:15Z akflcar: I know if p then q... 2020-04-20T19:50:15Z jmercouris: yes, bike is correct 2020-04-20T19:50:51Z Bike: p → q is equivalent to ¬p ∨ q, as it says later in that article. 2020-04-20T19:51:03Z jmercouris: true, true 2020-04-20T19:51:17Z jackdaniel: jmercouris: did you look in the cffi source code? 2020-04-20T19:51:21Z jmercouris: I did 2020-04-20T19:51:30Z jmercouris: docstring did not reveal anything obvious 2020-04-20T19:51:34Z jackdaniel: did you navigate to load-foreign-library? 2020-04-20T19:51:41Z jmercouris: I did not 2020-04-20T19:51:56Z jackdaniel: that will lead you to %do-load-foreign-library 2020-04-20T19:52:20Z akflcar: if p is False then why is the output always True.. 2020-04-20T19:52:43Z Bike: i don't think any of us are prepared to teach you classical logic. 2020-04-20T19:52:52Z phoe: especially on #lisp 2020-04-20T19:53:17Z akflcar: I already know boolean logic. 2020-04-20T19:53:44Z akflcar: if p then q... ok so if p is true then q... but it says nothing if p is false... so the result is undefined. 2020-04-20T19:54:20Z phoe: akflcar: please move the topic to #lispcafe. 2020-04-20T19:54:36Z jackdaniel: which will lead you eventually to load-foreign-librar-path 2020-04-20T19:54:52Z jackdaniel: which, when you read it, will tell you what is the order 2020-04-20T19:54:52Z jmercouris: I was wondering why it was a single argument passed... 2020-04-20T19:55:36Z emys quit (Ping timeout: 265 seconds) 2020-04-20T19:55:59Z jmercouris: if-let, that's so useful! 2020-04-20T19:56:12Z jackdaniel: then there is when-let and when-let* 2020-04-20T19:56:16Z jackdaniel: s/is/are/ 2020-04-20T19:56:19Z jmercouris: i see yes 2020-04-20T19:56:22Z jmercouris: i'm now in alexandria 2020-04-20T19:56:43Z jackdaniel: don't get distracted, you are doing a due dilligence by looking for the solution for your problem! 2020-04-20T19:56:59Z turona joined #lisp 2020-04-20T19:57:00Z jmercouris: right 2020-04-20T19:57:06Z jmercouris: I'm going to look in parse-directories now... 2020-04-20T19:57:31Z jmercouris: seems that it goes from 0th element to nth element 2020-04-20T19:57:38Z jmercouris: so left to right 2020-04-20T19:58:00Z jackdaniel: bingo, and you did it all by yourself, congratulations 2020-04-20T19:58:12Z jmercouris awaits my award 2020-04-20T19:58:21Z jmercouris: thanks 2020-04-20T20:00:29Z Jesin quit (Quit: Leaving) 2020-04-20T20:01:29Z emys joined #lisp 2020-04-20T20:02:21Z v_m_v joined #lisp 2020-04-20T20:02:44Z efm joined #lisp 2020-04-20T20:03:43Z buffergn0me quit (Ping timeout: 272 seconds) 2020-04-20T20:04:58Z Jesin joined #lisp 2020-04-20T20:06:27Z emys quit (Ping timeout: 250 seconds) 2020-04-20T20:06:27Z bitmapper quit (Read error: Connection reset by peer) 2020-04-20T20:06:33Z bitmappe_ joined #lisp 2020-04-20T20:07:46Z turona quit (Read error: Connection reset by peer) 2020-04-20T20:09:10Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-20T20:10:28Z emys joined #lisp 2020-04-20T20:14:41Z emys quit (Ping timeout: 250 seconds) 2020-04-20T20:14:59Z sendai_ joined #lisp 2020-04-20T20:15:02Z luckless quit (Ping timeout: 246 seconds) 2020-04-20T20:19:22Z jasom quit (Ping timeout: 260 seconds) 2020-04-20T20:19:30Z bitmappe_ quit (Read error: Connection reset by peer) 2020-04-20T20:19:48Z jasom joined #lisp 2020-04-20T20:19:49Z bitmapper joined #lisp 2020-04-20T20:22:08Z izh_ joined #lisp 2020-04-20T20:22:57Z wsinatra quit (Quit: WeeChat 2.8) 2020-04-20T20:23:09Z sjl quit (Ping timeout: 265 seconds) 2020-04-20T20:23:18Z heisig quit (Quit: Leaving) 2020-04-20T20:24:39Z pve quit (Quit: leaving) 2020-04-20T20:30:47Z turona joined #lisp 2020-04-20T20:33:35Z _death: akflcar: look up vacuous truth 2020-04-20T20:35:01Z narimiran quit (Ping timeout: 264 seconds) 2020-04-20T20:37:19Z joshcom joined #lisp 2020-04-20T20:37:20Z slyrus joined #lisp 2020-04-20T20:37:47Z _death: this is why every/notany/and return true and some/notevery/or return false when no items are supplied 2020-04-20T20:39:44Z iAmDecim joined #lisp 2020-04-20T20:42:13Z joshcom quit (Ping timeout: 264 seconds) 2020-04-20T20:43:49Z phoe: aaaah 2020-04-20T20:44:00Z phoe: some implementations bind the debugger hook to NIL 2020-04-20T20:44:08Z phoe: some implementations bind the invoke debugger hook to NIL 2020-04-20T20:44:21Z phoe: some call the invoke-debugger-hook before debugger-hook 2020-04-20T20:44:29Z phoe: some call the debugger-hook before invoke-debugger-hook 2020-04-20T20:44:58Z phoe: nope, I'm going to sleep 2020-04-20T20:46:44Z phoe: and I'll likely define the debugger to be a function of one argument only - the condition; and say that it is undefined to set or rebind *debugger-hook* within WITH-DEBUGGER 2020-04-20T20:58:08Z akoana left #lisp 2020-04-20T21:08:13Z nckx quit (Quit: Updating my Guix System — https://guix.gnu.org) 2020-04-20T21:08:32Z nckx joined #lisp 2020-04-20T21:10:15Z shifty quit (Ping timeout: 260 seconds) 2020-04-20T21:13:15Z buffergn0me joined #lisp 2020-04-20T21:16:04Z bitmapper: i've been contemplating making a opengl backed ui toolkit for common lisp because none of the other options are portable or integrate well with cl 2020-04-20T21:25:51Z xristos: bitmapper: something like Factor's IDE would be great (and not at all like what most opengl toolkits for CL look like, since they're immediate mode and focused on games) 2020-04-20T21:26:07Z bitmapper: yeah i know 2020-04-20T21:26:08Z xristos: but it's a lot of work 2020-04-20T21:26:25Z xristos: i talked to slava years ago, actually spent time doing it myself 2020-04-20T21:27:10Z lxbarbosa quit (Remote host closed the connection) 2020-04-20T21:27:39Z xristos: it turned out a little better than my first attempt: http://xristos.sdf.org/opengl-lispm.mov 2020-04-20T21:27:58Z xristos: but it's bitrotting away since i abandoned it 2020-04-20T21:29:23Z nwoob quit (Ping timeout: 260 seconds) 2020-04-20T21:31:24Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-20T21:35:06Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-20T21:36:14Z torbo joined #lisp 2020-04-20T21:37:54Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-20T21:38:07Z buffergn0me quit (Ping timeout: 252 seconds) 2020-04-20T21:39:59Z izh_ quit (Quit: Leaving) 2020-04-20T21:41:42Z shukryzablah joined #lisp 2020-04-20T21:43:33Z shukryzablah quit (Client Quit) 2020-04-20T21:44:57Z Shinmera: bitmapper: I have been working on that since summer. 2020-04-20T21:45:05Z Shinmera: bitmapper: https://github.com/shirakumo/alloy 2020-04-20T21:46:10Z Shinmera: Some demos at the end of this here https://www.youtube.com/playlist?list=PLkDl6Irujx9Mh3BWdBmt4JtIrwYgihTWp 2020-04-20T21:46:31Z Shinmera: and https://www.youtube.com/watch?v=1jQKHBSwt6E&list=PLkDl6Irujx9NUeqnEkRsFZ6bLS24B-6lT&index=67 2020-04-20T21:47:30Z corpix quit (Quit: Leaving) 2020-04-20T21:49:28Z Lord_of_Life_ joined #lisp 2020-04-20T21:49:28Z Shinmera: progress has been slow because, surprise surprise, making a UI toolkit is a gargantuan task. 2020-04-20T21:49:52Z Shinmera: I'd appreciate any help or interest in Alloy. 2020-04-20T21:51:07Z v_m_v quit (Ping timeout: 265 seconds) 2020-04-20T21:51:27Z monokrom quit (Remote host closed the connection) 2020-04-20T21:52:25Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-04-20T21:52:26Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-20T21:52:38Z buffergn0me joined #lisp 2020-04-20T22:01:31Z cosimone quit (Quit: Quit.) 2020-04-20T22:01:56Z cosimone joined #lisp 2020-04-20T22:03:35Z theseb quit (Quit: Leaving) 2020-04-20T22:07:35Z cosimone quit (Quit: Quit.) 2020-04-20T22:09:13Z akflcar quit (Ping timeout: 264 seconds) 2020-04-20T22:10:03Z z147 quit (Ping timeout: 240 seconds) 2020-04-20T22:11:11Z rpg joined #lisp 2020-04-20T22:19:55Z buffergn0me quit (Ping timeout: 252 seconds) 2020-04-20T22:25:47Z samlamamma quit (Remote host closed the connection) 2020-04-20T22:27:08Z karlosz quit (Quit: karlosz) 2020-04-20T22:28:38Z ebrasca quit (Remote host closed the connection) 2020-04-20T22:29:27Z iAmDecim joined #lisp 2020-04-20T22:32:29Z random-nick quit (Ping timeout: 250 seconds) 2020-04-20T22:34:39Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-20T22:34:57Z asarch quit (Quit: Leaving) 2020-04-20T22:39:02Z logicmoo quit (Read error: Connection reset by peer) 2020-04-20T22:40:22Z buffergn0me joined #lisp 2020-04-20T22:41:06Z tutti quit (Ping timeout: 256 seconds) 2020-04-20T22:41:15Z dmiles joined #lisp 2020-04-20T22:45:47Z SGASAU quit (Remote host closed the connection) 2020-04-20T22:46:38Z SGASAU joined #lisp 2020-04-20T22:47:28Z karlosz joined #lisp 2020-04-20T22:49:45Z sjl joined #lisp 2020-04-20T22:51:59Z efm quit (Ping timeout: 250 seconds) 2020-04-20T23:03:00Z rixard quit (Read error: Connection reset by peer) 2020-04-20T23:09:27Z Aurora_iz_kosmos joined #lisp 2020-04-20T23:09:31Z Aurora_v_kosmose quit (Disconnected by services) 2020-04-20T23:09:37Z Aurora_iz_kosmos is now known as Aurora_v_kosmose 2020-04-20T23:10:23Z madage quit (Ping timeout: 240 seconds) 2020-04-20T23:11:30Z madage joined #lisp 2020-04-20T23:17:24Z slyrus_ joined #lisp 2020-04-20T23:19:08Z Codaraxis_ joined #lisp 2020-04-20T23:19:43Z slyrus quit (Ping timeout: 250 seconds) 2020-04-20T23:20:41Z rixard joined #lisp 2020-04-20T23:23:43Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-20T23:27:49Z corpix joined #lisp 2020-04-20T23:35:08Z keep_learning joined #lisp 2020-04-20T23:39:52Z buffergn0me quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-20T23:43:56Z corpix quit (Quit: corpix) 2020-04-20T23:50:02Z drewc quit (Ping timeout: 240 seconds) 2020-04-20T23:50:50Z corpix joined #lisp 2020-04-20T23:54:57Z shifty joined #lisp 2020-04-20T23:56:07Z SGASAU quit (Remote host closed the connection) 2020-04-20T23:56:50Z SGASAU` joined #lisp 2020-04-20T23:58:51Z SGASAU` quit (Client Quit) 2020-04-20T23:59:40Z SGASAU joined #lisp 2020-04-21T00:00:26Z iAmDecim joined #lisp 2020-04-21T00:02:15Z drewc joined #lisp 2020-04-21T00:04:34Z Bourne quit (Read error: Connection reset by peer) 2020-04-21T00:08:05Z zaquest quit (Quit: Leaving) 2020-04-21T00:09:31Z efm joined #lisp 2020-04-21T00:14:23Z Bourne joined #lisp 2020-04-21T00:16:23Z madage quit (Ping timeout: 240 seconds) 2020-04-21T00:21:26Z SGASAU quit (Ping timeout: 265 seconds) 2020-04-21T00:21:43Z madage joined #lisp 2020-04-21T00:22:56Z reggie_ quit (Read error: Connection reset by peer) 2020-04-21T00:23:19Z reggie_ joined #lisp 2020-04-21T00:25:01Z SGASAU joined #lisp 2020-04-21T00:26:10Z rand_t quit (Quit: rand_t) 2020-04-21T00:27:59Z mikecheck joined #lisp 2020-04-21T00:32:10Z pjb: minion: memo for akflcar: yes, there are several such notations. One that is quite purely mathematical is the notation used by Jacques Arsac, eg. in La Construction de programmes structurés, Dunod, 1977. But any programming language is a sufficient algorithmic notation. Including lambda-calculus or Haskell. 2020-04-21T00:32:10Z minion: Remembered. I'll tell akflcar when he/she/it next speaks. 2020-04-21T00:33:17Z zaquest joined #lisp 2020-04-21T00:34:12Z reggie__ joined #lisp 2020-04-21T00:34:22Z iAmDecim quit (Quit: WeeChat 2.8) 2020-04-21T00:36:02Z buffergn0me joined #lisp 2020-04-21T00:36:41Z reggie_ quit (Ping timeout: 252 seconds) 2020-04-21T00:56:32Z reggie__ quit (Ping timeout: 256 seconds) 2020-04-21T00:56:49Z reggie_ joined #lisp 2020-04-21T01:08:23Z libertyprime joined #lisp 2020-04-21T01:08:49Z karlosz quit (Quit: karlosz) 2020-04-21T01:09:26Z entel quit (Quit: Connection closed for inactivity) 2020-04-21T01:09:33Z karlosz joined #lisp 2020-04-21T01:09:41Z karlosz quit (Remote host closed the connection) 2020-04-21T01:12:14Z Josh_2 quit (Ping timeout: 240 seconds) 2020-04-21T01:13:56Z buffergn0me quit (Ping timeout: 246 seconds) 2020-04-21T01:16:40Z Aurora_v_kosmose: Should I bother with Maiden or simply make a raw tcp connection and conditionally answer regex-matches for a bot? 2020-04-21T01:18:28Z mikecheck quit (Ping timeout: 265 seconds) 2020-04-21T01:27:40Z iAmDecim joined #lisp 2020-04-21T01:30:06Z Samo_svoj joined #lisp 2020-04-21T01:30:23Z gko joined #lisp 2020-04-21T01:30:38Z ralt quit (Quit: Connection closed for inactivity) 2020-04-21T01:31:09Z no-defun-allowed: For IRC? I would rather use Maiden, or at least some IRC library like cl-irc. 2020-04-21T01:32:13Z pjb: Aurora_v_kosmose: type: /msg botihn sources 2020-04-21T01:32:25Z Aurora_v_kosmose: /msg botihn sources 2020-04-21T01:32:32Z Aurora_v_kosmose: Ignore that happened. 2020-04-21T01:33:08Z no-defun-allowed: Ignore what happened? 2020-04-21T01:33:15Z Aurora_v_kosmose: :p 2020-04-21T01:33:21Z pjb: Irc commands must not be prefixed with spaces! 2020-04-21T01:34:54Z bitmapper quit (Ping timeout: 240 seconds) 2020-04-21T01:35:48Z Aurora_v_kosmose: Oh that's nice. And the textfile with explanations. 2020-04-21T01:40:44Z Aurora_v_kosmose: Thanks for the hint 2020-04-21T01:40:46Z EvW quit (Ping timeout: 240 seconds) 2020-04-21T01:45:18Z pjb: Aurora_v_kosmose: There's also https://gitlab.com/com-informatimago/com-informatimago/-/tree/master/small-cl-pgms/botil with a more sophisticated architecture, and some diagrams. 2020-04-21T01:47:04Z Aurora_v_kosmose: Thanks. 2020-04-21T01:50:15Z buffergn0me joined #lisp 2020-04-21T01:58:06Z Oladon joined #lisp 2020-04-21T02:00:06Z libertyprime quit (Read error: Connection reset by peer) 2020-04-21T02:04:19Z asarch joined #lisp 2020-04-21T02:05:53Z efm quit (Quit: Konversation terminated!) 2020-04-21T02:09:40Z madage quit (Remote host closed the connection) 2020-04-21T02:09:58Z madage joined #lisp 2020-04-21T02:14:38Z Jesin quit (Quit: Leaving) 2020-04-21T02:15:21Z libertyprime joined #lisp 2020-04-21T02:22:52Z Frobozz quit (Quit: quit) 2020-04-21T02:25:35Z buffergn0me quit (Ping timeout: 252 seconds) 2020-04-21T02:28:21Z Lycurgus quit (Read error: Connection reset by peer) 2020-04-21T02:44:55Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-21T03:00:32Z beach: Good morning everyone! 2020-04-21T03:00:38Z turona quit (Ping timeout: 265 seconds) 2020-04-21T03:07:16Z leo_song quit (Remote host closed the connection) 2020-04-21T03:07:19Z turona joined #lisp 2020-04-21T03:08:05Z leo_song joined #lisp 2020-04-21T03:11:32Z patlv quit (Quit: patlv) 2020-04-21T03:18:36Z buffergn0me joined #lisp 2020-04-21T03:31:31Z soul11201 joined #lisp 2020-04-21T03:36:11Z pilne joined #lisp 2020-04-21T03:43:08Z vmhost quit (Ping timeout: 256 seconds) 2020-04-21T03:48:16Z pilne quit (Quit: Hello, 911? Yeah, it's caught in the window this time.) 2020-04-21T03:48:40Z ArthurStrong joined #lisp 2020-04-21T03:51:11Z Bike quit (Quit: Lost terminal) 2020-04-21T03:57:19Z buffergn0me quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-21T03:57:58Z shifty quit (Ping timeout: 265 seconds) 2020-04-21T03:59:19Z d4ryus1 joined #lisp 2020-04-21T04:01:56Z d4ryus2 joined #lisp 2020-04-21T04:02:19Z d4ryus quit (Ping timeout: 265 seconds) 2020-04-21T04:03:21Z torbo quit (Remote host closed the connection) 2020-04-21T04:04:11Z d4ryus1 quit (Ping timeout: 260 seconds) 2020-04-21T04:17:38Z dilated_dinosaur quit (Ping timeout: 256 seconds) 2020-04-21T04:21:40Z dddddd quit (Ping timeout: 256 seconds) 2020-04-21T04:27:45Z soul11201 quit (Ping timeout: 258 seconds) 2020-04-21T04:29:59Z asarch quit (Quit: Leaving) 2020-04-21T04:31:06Z Retropikzel joined #lisp 2020-04-21T04:36:52Z pjb` joined #lisp 2020-04-21T04:39:15Z pjb quit (Ping timeout: 272 seconds) 2020-04-21T04:39:16Z mr_yogurt: can i get a substring without copying? the equivalent of something like const char* my_substr = big_str + 10; (only need to remove a prefix) 2020-04-21T04:39:31Z Jesin joined #lisp 2020-04-21T04:40:18Z no-defun-allowed: You could make a string that is displaced to the other string. 2020-04-21T04:40:49Z no-defun-allowed: (make-array 3 :element-type 'character :displaced-to "Foo bar baz" :displaced-index-offset 4) ; ⇒ "bar" 2020-04-21T04:42:45Z Retropikzel quit (Quit: Konversation terminated!) 2020-04-21T04:43:54Z d4ryus2 is now known as d4ryus 2020-04-21T04:43:58Z mr_yogurt: cool, thanks 2020-04-21T04:55:22Z narimiran joined #lisp 2020-04-21T04:55:38Z aeth: mr_yogurt: generally, everything in CL provides a start and an end (or start1 start2 end1 end2 if it takes in two) 2020-04-21T04:56:02Z aeth: so there's rarely the need to work with a substring 2020-04-21T05:00:37Z mr_yogurt: uh, ppcre appeared to not match ^ if you didn't start at 0 but i was using it wrong 2020-04-21T05:00:47Z aeth: ah 2020-04-21T05:01:26Z aeth: if a library like that didn't support start/end properly, that would be a big bug since that's the only really efficient way to work with strings 2020-04-21T05:01:48Z mr_yogurt: is doing make-array like that expensive? 2020-04-21T05:02:28Z aeth: Iirc, it's probably cheaper than SUBSEQ, but it's not as cheap as start/end if you can use them 2020-04-21T05:02:36Z no-defun-allowed: No, but some overly subtyped code might not accept displaced arrays, because AREFing a displaced array is a bit slower than a non-displaced array. 2020-04-21T05:02:54Z aeth: "overly subtyped" eh 2020-04-21T05:02:58Z aeth: simple-array stuff is very common 2020-04-21T05:03:05Z aeth: and, yes, that's the other issue 2020-04-21T05:06:22Z soul11201 joined #lisp 2020-04-21T05:09:18Z aeth: and imo start/end is like the C idiom, except of course in C you only provide the end because the start is implicitly part of the pointer you pass in. 2020-04-21T05:12:19Z axion quit (Ping timeout: 260 seconds) 2020-04-21T05:17:14Z gravicappa joined #lisp 2020-04-21T05:19:00Z axion joined #lisp 2020-04-21T05:38:02Z soul11201 quit (Quit: No Ping reply in 180 seconds.) 2020-04-21T05:44:17Z soul11201 joined #lisp 2020-04-21T05:46:43Z sauvin joined #lisp 2020-04-21T05:49:15Z drmeister: What do folks do when you have a function defined with defun and you want to switch it to a generic function? 2020-04-21T05:49:33Z phoe: fmakunbound + defgeneric? 2020-04-21T05:50:00Z phoe: the defgeneric can have a :method without any specializers if you want to preserve the old defun body. 2020-04-21T05:51:04Z asarch joined #lisp 2020-04-21T05:51:28Z drmeister: fmakunbound - right - I was searching for several permutations of that symbol. 2020-04-21T05:51:55Z drmeister: "the defgeneric can have a :method without any specializers if you want to preserve the old defun body." - interesting - thank you. 2020-04-21T05:52:08Z phoe: lemme give you a quick example 2020-04-21T05:53:37Z phoe: drmeister: https://plaster.tymoon.eu/view/1765#1765 that oughtta work 2020-04-21T05:55:10Z JohnMS_WORK joined #lisp 2020-04-21T05:56:44Z drmeister: Got it - thank you. 2020-04-21T05:57:22Z vlatkoB joined #lisp 2020-04-21T06:13:20Z soul11201 quit (Remote host closed the connection) 2020-04-21T06:18:03Z _paul0 quit (Remote host closed the connection) 2020-04-21T06:18:22Z paul0 joined #lisp 2020-04-21T06:32:02Z shangul joined #lisp 2020-04-21T06:40:00Z random-nick joined #lisp 2020-04-21T06:40:08Z dale quit (Quit: My computer has gone to sleep) 2020-04-21T06:43:58Z libertyprime quit (Read error: Connection reset by peer) 2020-04-21T06:44:00Z rixard quit (Read error: Connection reset by peer) 2020-04-21T06:46:45Z rixard joined #lisp 2020-04-21T06:50:27Z ebrasca joined #lisp 2020-04-21T06:55:17Z Oladon quit (Quit: Leaving.) 2020-04-21T06:55:31Z Fare joined #lisp 2020-04-21T07:00:06Z asarch quit (Quit: Leaving) 2020-04-21T07:00:26Z libertyprime joined #lisp 2020-04-21T07:04:31Z jprajzne quit (Remote host closed the connection) 2020-04-21T07:11:52Z pve joined #lisp 2020-04-21T07:21:18Z Codaraxis_ quit (Ping timeout: 256 seconds) 2020-04-21T07:25:46Z libertyprime quit (Ping timeout: 256 seconds) 2020-04-21T07:31:31Z Cymew joined #lisp 2020-04-21T07:34:10Z White_Flame: does dynamic extent foil tail call optimization? 2020-04-21T07:34:10Z jprajzne joined #lisp 2020-04-21T07:34:22Z FareTower joined #lisp 2020-04-21T07:34:32Z beach: That could very well happen, sure. 2020-04-21T07:35:07Z beach: Depends on how the implementation allocates and deallocates objects defined that way. 2020-04-21T07:35:10Z White_Flame: doing some continuation-based stuff, but creating closures does a ton of little consing 2020-04-21T07:37:03Z libertyprime joined #lisp 2020-04-21T07:39:22Z FareTower quit (Remote host closed the connection) 2020-04-21T07:41:14Z davd joined #lisp 2020-04-21T07:42:54Z pjb` left #lisp 2020-04-21T07:43:20Z pjb joined #lisp 2020-04-21T07:44:35Z pjb: minion memo for amerlyq: I know more postmortem for C++ projects: Why should I have written ZeroMQ in C, not C++ 2020-04-21T07:44:38Z pjb: minion: memo for amerlyq: I know more postmortem for C++ projects: Why should I have written ZeroMQ in C, not C++ 2020-04-21T07:44:38Z minion: Remembered. I'll tell amerlyq when he/she/it next speaks. 2020-04-21T07:50:30Z SGASAU quit (Remote host closed the connection) 2020-04-21T07:51:56Z SGASAU joined #lisp 2020-04-21T07:54:25Z EvW1 joined #lisp 2020-04-21T07:54:57Z SGASAU quit (Remote host closed the connection) 2020-04-21T07:55:12Z ralt joined #lisp 2020-04-21T07:56:25Z SGASAU joined #lisp 2020-04-21T07:56:27Z shifty joined #lisp 2020-04-21T07:59:44Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-21T08:05:49Z techquila joined #lisp 2020-04-21T08:21:05Z vmhost joined #lisp 2020-04-21T08:25:20Z asarch joined #lisp 2020-04-21T08:27:03Z asarch: How do you open your web app to the LAN with Caveman2? 2020-04-21T08:28:49Z dilated_dinosaur joined #lisp 2020-04-21T08:29:41Z phoe: asarch: looks like https://github.com/fukamachi/caveman/blob/master/README.markdown#start-a-server 2020-04-21T08:30:05Z phoe: the started server should be available on the provided port on all network interfaces 2020-04-21T08:30:57Z sammich_ joined #lisp 2020-04-21T08:31:32Z sammich_ quit (Client Quit) 2020-04-21T08:31:32Z fe[nl]ix quit (Read error: Connection reset by peer) 2020-04-21T08:31:33Z Blkt quit (Read error: Connection reset by peer) 2020-04-21T08:31:49Z fe[nl]ix joined #lisp 2020-04-21T08:31:49Z Blkt joined #lisp 2020-04-21T08:31:49Z ChanServ has set mode +o fe[nl]ix 2020-04-21T08:32:26Z asarch: However, it is not. For example: (notebook:start :port 8000) I get "Hunchentoot server is started. Listening on 127.0.0.1:8000." but I get: "Firefox can’t establish a connection to the server at 192.168.1.101:8000" 2020-04-21T08:33:41Z no-defun-allowed: From memory, if it listens on 127.0.0.1 (localhost), then it'll only accept connections directly from localhost. 2020-04-21T08:34:01Z phoe: oooh 2020-04-21T08:34:10Z phoe: so caveman doesn't bind the host properly. 2020-04-21T08:34:29Z phoe: or rather, it *does* bind it properly - it binds it to localhost though. 2020-04-21T08:34:36Z no-defun-allowed: I would recommend adding :host "0.0.0.0" or something like that. 2020-04-21T08:35:00Z phoe: hunchentoot syntax is :address "0.0.0.0" 2020-04-21T08:35:46Z no-defun-allowed: I think I got bit in the backside by that (in NodeJS) when I had a "great wall of china" firewall set up for a school project five years ago. Then I had set up port forwarding and could access my server from home, but then it didn't work at school. Fun times. 2020-04-21T08:36:32Z asarch: Maybe a global set for production/development var? 2020-04-21T08:37:04Z asarch: (Mojolicious from Perl used to have this global set) 2020-04-21T08:37:30Z jasom quit (Ping timeout: 256 seconds) 2020-04-21T08:38:32Z asarch: Anyway, I will post this issue :-P 2020-04-21T08:40:58Z asarch: Thank you guys :-) 2020-04-21T08:41:06Z ljavorsk joined #lisp 2020-04-21T08:41:52Z jasom joined #lisp 2020-04-21T09:02:06Z shifty quit (Ping timeout: 256 seconds) 2020-04-21T09:02:56Z shifty joined #lisp 2020-04-21T09:05:25Z asarch quit (Quit: Leaving) 2020-04-21T09:12:48Z rixard_ joined #lisp 2020-04-21T09:15:13Z rixard quit (Ping timeout: 264 seconds) 2020-04-21T09:18:37Z varjag joined #lisp 2020-04-21T09:20:19Z KDr22 quit (Ping timeout: 250 seconds) 2020-04-21T09:23:58Z EvW1 quit (Ping timeout: 256 seconds) 2020-04-21T09:24:09Z cosimone joined #lisp 2020-04-21T09:24:23Z manualcrank quit (Quit: WeeChat 1.9.1) 2020-04-21T09:31:12Z KDr22 joined #lisp 2020-04-21T09:33:53Z CrazyEddy quit (Ping timeout: 265 seconds) 2020-04-21T09:33:53Z terpri quit (Quit: Leaving) 2020-04-21T09:33:58Z arduo joined #lisp 2020-04-21T09:34:20Z terpri joined #lisp 2020-04-21T09:34:30Z emys joined #lisp 2020-04-21T09:35:27Z terpri_ joined #lisp 2020-04-21T09:35:35Z emys quit (Client Quit) 2020-04-21T09:35:43Z emys joined #lisp 2020-04-21T09:36:25Z libertyprime quit (Remote host closed the connection) 2020-04-21T09:38:50Z dddddd joined #lisp 2020-04-21T09:42:02Z vlatkoB_ joined #lisp 2020-04-21T09:42:46Z terpri_ quit (Ping timeout: 240 seconds) 2020-04-21T09:42:46Z terpri quit (Ping timeout: 240 seconds) 2020-04-21T09:45:09Z vlatkoB quit (Ping timeout: 258 seconds) 2020-04-21T09:50:16Z Lord_of_Life_ joined #lisp 2020-04-21T09:51:40Z Fare quit (Ping timeout: 258 seconds) 2020-04-21T09:51:46Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-04-21T09:51:46Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-21T09:57:11Z emys quit (Ping timeout: 272 seconds) 2020-04-21T09:58:11Z cosimone quit (Quit: Terminated!) 2020-04-21T09:59:09Z Intensity quit (Read error: Connection reset by peer) 2020-04-21T10:00:21Z Intensity joined #lisp 2020-04-21T10:03:38Z emys joined #lisp 2020-04-21T10:09:26Z cosimone joined #lisp 2020-04-21T10:10:24Z cosimone quit (Client Quit) 2020-04-21T10:10:59Z davsebam1e joined #lisp 2020-04-21T10:13:01Z emys quit (Ping timeout: 272 seconds) 2020-04-21T10:13:54Z davsebamse quit (Ping timeout: 258 seconds) 2020-04-21T10:18:36Z emys joined #lisp 2020-04-21T10:22:31Z duuqnd joined #lisp 2020-04-21T10:22:40Z cosimone joined #lisp 2020-04-21T10:26:54Z emys quit (Ping timeout: 240 seconds) 2020-04-21T10:35:46Z _jrjsmrtn joined #lisp 2020-04-21T10:36:34Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-04-21T10:42:41Z EvW joined #lisp 2020-04-21T10:45:18Z davd quit (Ping timeout: 256 seconds) 2020-04-21T10:54:05Z emys joined #lisp 2020-04-21T10:54:07Z motersen joined #lisp 2020-04-21T10:59:08Z emys quit (Ping timeout: 265 seconds) 2020-04-21T11:02:34Z v_m_v joined #lisp 2020-04-21T11:03:39Z Bourne quit (Read error: Connection reset by peer) 2020-04-21T11:08:23Z emys joined #lisp 2020-04-21T11:12:40Z cosimone quit (Remote host closed the connection) 2020-04-21T11:13:09Z cosimone joined #lisp 2020-04-21T11:18:51Z tutti joined #lisp 2020-04-21T11:19:09Z cosimone quit (Excess Flood) 2020-04-21T11:19:39Z cosimone joined #lisp 2020-04-21T11:20:17Z phoe: Let's say I have a macro named DEFINE-FOO that immediately calls some function %FOO, and the actual form-computing happens inside that function. 2020-04-21T11:20:26Z phoe: s/%FOO/%DEFINE-FOO/ 2020-04-21T11:20:43Z phoe: How can I name %DEFINE-FOO if I want to avoid the percent sign? 2020-04-21T11:21:02Z phoe: Or rather, how *should* I name it? MAKE-DEFINE-FOO-EXPANSION? 2020-04-21T11:21:12Z phoe: Is there any other convention for that? 2020-04-21T11:22:04Z _death: define-foo-expand sounds ok 2020-04-21T11:22:38Z _death: if you're uncomfortable with "define" as prefix, expand-define-foo 2020-04-21T11:24:54Z emys quit (Ping timeout: 256 seconds) 2020-04-21T11:25:49Z adlai: phoe: -builder 2020-04-21T11:25:52Z phoe: _death: thanks, the second sounds okay 2020-04-21T11:26:12Z phoe: I'm kind of pet-peeved by using names starting with define- 2020-04-21T11:26:16Z phoe: build-define-foo also is good 2020-04-21T11:26:50Z adlai: further afield: blueprinter, designer, archictor 2020-04-21T11:26:56Z adlai: * architector 2020-04-21T11:29:37Z cosimone quit (Remote host closed the connection) 2020-04-21T11:30:16Z phoe: factory 2020-04-21T11:31:32Z adlai: -factory is also an option, although my interpretation of that suffix is that the function returns a closure rather than a form 2020-04-21T11:33:08Z motersen quit (Quit: rcirc on GNU Emacs 26.3) 2020-04-21T11:33:53Z terpri joined #lisp 2020-04-21T11:34:10Z pjb: phoe: (defmacro define-foo (name stuff) (generate-foo name stuff)) 2020-04-21T11:34:39Z pjb: phoe: (defmacro define-foo (name stuff) (generate-foo-definition name stuff)) ; if you have other foos. 2020-04-21T11:38:06Z Bike joined #lisp 2020-04-21T11:48:34Z heisig joined #lisp 2020-04-21T11:50:04Z Lycurgus joined #lisp 2020-04-21T11:54:25Z SGASAU quit (Remote host closed the connection) 2020-04-21T11:58:28Z SGASAU joined #lisp 2020-04-21T11:59:30Z phoe: CLHS DEFINE-CONDITION: "If the type being defined and some other type from which it inherits have a slot by the same name, only one slot is allocated in the condition, but the supplied slot form overrides any slot form that might otherwise have been inherited from a parent-type. If no slot form is supplied, the inherited slot form (if any) is still visible." 2020-04-21T11:59:49Z phoe: ewwww, that is such an ugly difference from DEFCLASS 2020-04-21T12:02:34Z phoe: or is it, one second... 2020-04-21T12:03:53Z pjb: Note that there's little point in overriding the generated accesors for subclasses… 2020-04-21T12:04:27Z Bike: err, does this say that you can use (slot-name initform) as a slot definition 2020-04-21T12:04:29Z Bike: that's news to me 2020-04-21T12:04:51Z phoe: "No implementation is permitted to extend the syntax of define-condition to allow (slot-name form) as an abbreviation for (slot-name :initform form). " 2020-04-21T12:05:26Z phoe: but what I meant is 2020-04-21T12:05:27Z phoe: (defclass foo () ((x :reader x :initform 42))) (defclass bar () (x)) (x (make-instance 'foo)) #| 42 |# (x (make-instance 'bar)) #| error |# 2020-04-21T12:05:41Z phoe: uhh wait 2020-04-21T12:06:02Z Bike: i'm confused. it says the slot-name part of the syntax is "a slot name (a symbol), the list of a slot name, or the list of slot name/slot form pairs" 2020-04-21T12:06:15Z Bike: rather than just a symbol 2020-04-21T12:06:15Z phoe: wait a second... 2020-04-21T12:06:32Z phoe: Bike: haha, right 2020-04-21T12:06:41Z phoe: it's not the part I am concerned about though 2020-04-21T12:06:41Z _death: without looking at clhs, does this imply no CLOS-like slot merging? I would guess so, to avoid having to drag CLOS complexity into the condition system 2020-04-21T12:06:53Z phoe: "the supplied slot form overrides any slot form that might otherwise have been inherited" 2020-04-21T12:07:08Z phoe: so one can expect: 2020-04-21T12:07:09Z phoe: (defclass foo () ((x :reader x :initform 42))) (defclass bar (foo) (x)) (x (make-instance 'foo)) #| 42 |# (x (make-instance 'bar)) #| 42 |# 2020-04-21T12:07:17Z phoe: (define-condition foo () ((x :reader x :initform 42))) (define-condition bar (foo) (x)) (x (make-instance 'foo)) #| 42 |# (x (make-instance 'bar)) #| error |# 2020-04-21T12:07:23Z phoe: but the latter doesn't really happen 2020-04-21T12:07:32Z Bike: i thought it was implementation defined, not an error. 2020-04-21T12:07:47Z phoe: the spec says "overrides" 2020-04-21T12:07:52Z phoe: what does it mean in this context? 2020-04-21T12:07:56Z _death: clhs define-condition 2020-04-21T12:07:56Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defi_5.htm 2020-04-21T12:08:32Z phoe: does it mean that X is an illegal reader for BAR conditions, even though that would violate Liskov's substitution principle? 2020-04-21T12:09:15Z phoe: but that would also mean that :initform 42 shouldn't be there, so not only we have an illegal reader but an illegal initialization 2020-04-21T12:09:19Z phoe: wtf, x3j13 2020-04-21T12:10:47Z phoe: this also means that DEFINE-CONDITION cannot be easily implemented via DEFCLASS + DEFMETHOD PRINT-OBJECT, because now we have to explicitly disable slot inheritance... 2020-04-21T12:11:29Z Bike: so the rule is that there's no initform the implementation can put whatever there, right? 2020-04-21T12:11:31Z _death: it also uses "slot form" (remember that forms are meant to be evaluated...) rather than "slot specification" ("slot-spec") ;) 2020-04-21T12:11:45Z phoe: Bike: it seems so 2020-04-21T12:11:56Z Bike: so the implementation just puts the inherited thing there 2020-04-21T12:11:57Z Bike: bam 2020-04-21T12:12:30Z phoe: it's not supposed to put the inherited thing there though, it's supposed to "override" the inherited slots 2020-04-21T12:12:46Z phoe: which I understand as "treat that name-colliding slot as if it inherited absolutely nothing" 2020-04-21T12:12:54Z Bike: but in this case it's overriding it with something implementation dependent. 2020-04-21T12:12:56Z cosimone joined #lisp 2020-04-21T12:13:00Z Bike: so the implementation does whatever. don't sweat it. 2020-04-21T12:13:02Z _death: oh, it defines "slot form" in an earlier paragraph 2020-04-21T12:13:03Z phoe: clhs glossary 0 2020-04-21T12:13:06Z phoe: clhs glossary o 2020-04-21T12:13:10Z phoe: gah 2020-04-21T12:13:31Z phoe: ..."override" is not even defined in the glossary 2020-04-21T12:13:39Z Bike: i really don't get the "slot form" thing. is it different from an initform? what's with the syntax? 2020-04-21T12:13:40Z adlai: _death, indeed, quite an exercise in compiler golf is to implement the condition system with lazy conditions 2020-04-21T12:14:10Z phoe: wait a second then 2020-04-21T12:14:23Z phoe: _death: where is it defined? 2020-04-21T12:16:20Z _death: it says "If a slot name/slot form pair is supplied, the slot form is a form that can be evaluated by make-condition to produce a default value when an explicit value is not provided. If no slot form is supplied, the contents of the slot is initialized in an implementation-dependent way." 2020-04-21T12:16:41Z _death: so now you have to figure out what is a slot name/slot form pair 2020-04-21T12:16:53Z _death: then there's "Slot-name -- a slot name (a symbol), the list of a slot name, or the list of slot name/slot form pairs." 2020-04-21T12:17:12Z Bike: i think this is all crap and it works like defclass. 2020-04-21T12:17:14Z phoe: .....this seems like a remaint from the times when slots were defined like (define-condition foo () ((x 42))) 2020-04-21T12:17:20Z scymtym_ joined #lisp 2020-04-21T12:17:23Z _death: which is a weird recursive definition 2020-04-21T12:17:28Z phoe: Bike: I'm so tempted to follow your advice 2020-04-21T12:17:49Z phoe: I just want to avoid a situation where I write something in a book and someone comes to me pointing at the standard and saying that I wrote bullshit stuff 2020-04-21T12:18:21Z cosimone quit (Read error: Connection reset by peer) 2020-04-21T12:18:26Z cosimone_ joined #lisp 2020-04-21T12:18:33Z Bike: just say the spec says weird things but implementations generally do it like defclass, which as far as i know, they do. 2020-04-21T12:18:39Z _death: cliki errata page says: "Issue DEFINE-CONDITION-SLOT-NAME: The syntax where slot-name is "the list of slot name/slot form pairs" seems redundant, given :initform. Was it left in by accident?" 2020-04-21T12:18:41Z phoe: yes, they do 2020-04-21T12:18:51Z scymtym quit (Ping timeout: 260 seconds) 2020-04-21T12:19:25Z phoe: _death: okay, now I am convinced 2020-04-21T12:19:27Z v_m_v quit (Remote host closed the connection) 2020-04-21T12:20:18Z _death: of what? 2020-04-21T12:20:45Z iAmDecim joined #lisp 2020-04-21T12:21:09Z _death: I would guess by "slot form" they indeed meant the initform 2020-04-21T12:21:38Z phoe: that would work, yes; you don't use superclass initforms if you have your own initform 2020-04-21T12:21:44Z wxie joined #lisp 2020-04-21T12:21:45Z _death: then you can have name/form pairs ((slot1 form1) (slot2 form2)) 2020-04-21T12:21:54Z SGASAU quit (Remote host closed the connection) 2020-04-21T12:22:02Z phoe: which are then explicitly not allowed by the spec 2020-04-21T12:22:09Z phoe: amazing stuff 2020-04-21T12:22:17Z phoe: but anyway, I am now convinced that I can go with Bike define-condition theorem 2020-04-21T12:22:28Z phoe: "i think this is all crap and it works like defclass." 2020-04-21T12:23:06Z Lycurgus quit (Remote host closed the connection) 2020-04-21T12:23:07Z _death: well, now the paragraph you initially quoted makes sense 2020-04-21T12:23:17Z _death: "the supplied slot form overrides any slot form that might otherwise have been inherited from a parent-type" 2020-04-21T12:23:38Z phoe: if we interpret slot forms as initforms, yeah 2020-04-21T12:24:30Z _death: so it's simply a restricted slot merging rule 2020-04-21T12:24:46Z cosimone_ quit (Ping timeout: 240 seconds) 2020-04-21T12:24:53Z adlai: Bike, that approach is valid as long as recursion of slot access failure terminates with fallback to non-clos 2020-04-21T12:24:56Z cosimone_ joined #lisp 2020-04-21T12:25:51Z adlai: otherwise, you're stuck with no middle ground between clos working, and having to use external debuggers (or at best, or worst, various LDBs) 2020-04-21T12:26:22Z SGASAU joined #lisp 2020-04-21T12:27:23Z Bike: i mean, look, there's a point where you have to decide the spec is being dumb and to do the obvious thing instead. especially for something minor like this. 2020-04-21T12:28:57Z Xach: also known as the "anti-sbcl stratagem" 2020-04-21T12:29:00Z adlai: phoe, have you considered a chapter/section specifically on implementation details? e.g., as starting points, see whether any of the less-common implementations have ANSI compliance failures, and explain briefly why each one happens 2020-04-21T12:29:37Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-21T12:30:14Z adlai: Xach, isn't it better to default as anti-specific ? then you can ~only~ resort to the spec 2020-04-21T12:30:25Z cosimone joined #lisp 2020-04-21T12:30:38Z Xach: i don't know 2020-04-21T12:30:46Z cosimone_ quit (Ping timeout: 240 seconds) 2020-04-21T12:31:48Z Bike: i thought xach was joking about how sbcl does things implied by the spec that people think are weird, like nil arrays or whiny defconstant. 2020-04-21T12:32:01Z _death: another issue is that of multiple inheritance.. if we inherit from two condition types that have slot specifiers with the same slot name, what happens? 2020-04-21T12:34:18Z _death: because define-condition sits on the clos-noclos fence, it misses out on complexities dealt by CLOS 2020-04-21T12:34:25Z adlai: _death, since the inheritors know of the ancestor condition's package, they probably intended for the various nostril sparks that ensue 2020-04-21T12:34:55Z SGASAU quit (Remote host closed the connection) 2020-04-21T12:35:37Z phoe: adlai: nope, I haven't considered that 2020-04-21T12:35:42Z SGASAU joined #lisp 2020-04-21T12:36:18Z ``Erik_ quit (Ping timeout: 256 seconds) 2020-04-21T12:37:34Z wxie quit (Remote host closed the connection) 2020-04-21T12:37:49Z wxie joined #lisp 2020-04-21T12:38:02Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-04-21T12:39:00Z rwcom joined #lisp 2020-04-21T12:40:19Z adlai: phoe, ideally there'd be no failures in any of the implementations, although the condition system is extensive enough that there can be ANSI compliance failures without rendering an implementation unusable 2020-04-21T12:41:03Z phoe: adlai: I'll write it only if someone will provide its content for me. I don't feel like manually checking all implementations for ANSI compliance details regarding the condition system. 2020-04-21T12:41:37Z SGASAU quit (Remote host closed the connection) 2020-04-21T12:41:42Z phoe: I think this stuff belongs to implementations themselves and to their bugtrackers/manuals, not to a book that treats about the standard condition system. 2020-04-21T12:41:47Z _death: adlai: it may be intentional.. for example with a mixin.. but the define-condition description does not specify slot merging behavior there 2020-04-21T12:42:32Z SGASAU joined #lisp 2020-04-21T12:43:18Z adlai: phoe, that is a sensible approach; wrt an earlier question of yours, my most hated part of the condition system is the fact that the relation between handler-case and handler-bind is nontrivially distinct from that between restart-case and restart-bind 2020-04-21T12:43:41Z adlai: ... and my favorite part of the condition system is, naturally, ignore-errors 2020-04-21T12:43:57Z _death: ignore-errors is a misnomer, since it doesn't really ignore them :) 2020-04-21T12:44:11Z phoe: adlai: is it really distinct? the only big distinct thing is :NO-ERRORS 2020-04-21T12:45:34Z phoe: I mean, :no-error 2020-04-21T12:46:04Z phoe: ;; which also should be named :no-condition since handler-case can be used for non-error conditions too 2020-04-21T12:46:39Z phoe: oh right, the other thing is handler clustering - a handler can only see handlers "older" than itself 2020-04-21T12:46:56Z phoe: right, these two already sum up to nontrivial 2020-04-21T12:46:59Z v_m_v joined #lisp 2020-04-21T12:47:17Z _death: do you explain restart-bind in your book? 2020-04-21T12:47:20Z SGASAU quit (Remote host closed the connection) 2020-04-21T12:47:21Z phoe: yes 2020-04-21T12:47:25Z phoe: want to take a peek? 2020-04-21T12:47:35Z Bike: the difference is that handler-bind is useful and common, unlike restart-bind 2020-04-21T12:47:47Z phoe: :( 2020-04-21T12:48:07Z _death: and with-condition-restarts? 2020-04-21T12:49:12Z adlai: phoe, when I first studied the condition system, my main conclusion was that handler-case has an implicit progn, while -bind doesn't; then, i realized that this neither incorrect, nor the strongest reason to ever use any one of the four macros 2020-04-21T12:49:20Z adlai used to optimise for "never use progn, ever" 2020-04-21T12:49:37Z Bike: that's... kind of a weird thing to optimize for? 2020-04-21T12:49:37Z phoe: adlai: same about restart-bind and restart-case, the latter has an implicit progn 2020-04-21T12:50:02Z Bike: restart-bind has an implicit progn, not -case 2020-04-21T12:50:16Z phoe: wait a second 2020-04-21T12:50:21Z Bike: i mean, it is the same as the handler macros, yeah 2020-04-21T12:50:22Z phoe: uh yes, I flipped them around, just like adlai 2020-04-21T12:50:24Z SGASAU joined #lisp 2020-04-21T12:50:31Z phoe: -bind have progns, -case don't 2020-04-21T12:50:40Z phoe: _death: with-condition-restarts is an operator used in edge cases so severe that if you notice that you need to use it, your program likely has bigger problems than needing to use with-condition-restarts 2020-04-21T12:50:51Z phoe: 2020-04-21T12:51:49Z v_m_v quit (Ping timeout: 264 seconds) 2020-04-21T12:51:56Z adlai: progn adds a nesting level, leading to excess newlines when you hit pprint-right-margin 2020-04-21T12:53:01Z Bourne joined #lisp 2020-04-21T12:53:08Z SGASAU quit (Remote host closed the connection) 2020-04-21T12:53:58Z SGASAU joined #lisp 2020-04-21T12:57:27Z cosimone quit (Remote host closed the connection) 2020-04-21T12:57:56Z cosimone joined #lisp 2020-04-21T12:58:19Z duuqnd quit (Remote host closed the connection) 2020-04-21T12:58:43Z duuqnd joined #lisp 2020-04-21T13:02:33Z phoe: adlai: anyway, want to see my way of describing restart-bind? 2020-04-21T13:03:08Z phoe: since that got lost in the discussion 2020-04-21T13:03:40Z phoe: asking because you sounded like you might have some valuable comments on the matter 2020-04-21T13:03:41Z adlai: sure, that is bound to be more pleasant than the unstandardized trash heap that awaits parsing, someday 2020-04-21T13:03:57Z phoe gets worried about the unstandardized trash heap 2020-04-21T13:03:59Z phoe: https://gist.github.com/phoe/5659f8e5d8ff85e99565de17e39e4449 2020-04-21T13:04:30Z v_m_v joined #lisp 2020-04-21T13:04:51Z adlai: nonono, do not worry about the heap of trash! just use a fibonacci heap, prioritized by char-code, and leave processing of twenty-first century 'standards' to idiots who hope to survive to see the 22nd 2020-04-21T13:05:58Z adlai opens that gist in a separate window, to facilitate ignoring programs that are so haphazard as to require multiple warnings that nobody even knows whether they're standardized or not, although nobody knows where the standard is located, if you had any doubts 2020-04-21T13:06:47Z adlai: phoe: should I jump to a specific heading? 2020-04-21T13:07:41Z phoe: adlai: "a simple system of restarts" has restarts 2020-04-21T13:07:48Z phoe: "a simple system of condition handlers" has handlers 2020-04-21T13:08:05Z phoe: the book is meant to be read linearly, but you should find your way around there 2020-04-21T13:08:33Z adlai: if it's meant to be read in sequence, then it should be read in sequence! 2020-04-21T13:08:35Z White_Flame used his very first TAGBODY/GO 2020-04-21T13:09:02Z White_Flame: to basically make something like a cond-let, as per alexandria's when-let etc 2020-04-21T13:09:15Z v_m_v quit (Ping timeout: 260 seconds) 2020-04-21T13:09:35Z adlai hits fork, `git clone ...` in shell, will read further; thank you for these efforts, phoe ! 2020-04-21T13:10:31Z _death: phoe: I will also put it on the queue 2020-04-21T13:10:38Z phoe: adlai: thanks! please delete your fork when you're done cloning 2020-04-21T13:10:54Z phoe: I'll want it to get forked when it's complete enough, since I keep on updating this current WIP version with new stuff. 2020-04-21T13:11:12Z phoe: _death: OK 2020-04-21T13:12:22Z Bourne quit (Read error: Connection reset by peer) 2020-04-21T13:12:26Z sendai_ quit (Quit: Leaving) 2020-04-21T13:12:32Z adlai: phoe, ah. the reason i forked is because i plan to send you edits, and i doubt github gists allow those other than the gist creator to push 2020-04-21T13:12:48Z phoe: adlai: ooh, OK - I'll gladly accept reviews 2020-04-21T13:12:57Z cosimone quit (Remote host closed the connection) 2020-04-21T13:13:26Z cosimone joined #lisp 2020-04-21T13:14:32Z SGASAU quit (Remote host closed the connection) 2020-04-21T13:15:16Z SGASAU joined #lisp 2020-04-21T13:17:12Z luckless joined #lisp 2020-04-21T13:19:34Z ljavorsk quit (Ping timeout: 240 seconds) 2020-04-21T13:21:19Z wxie quit (Quit: wxie) 2020-04-21T13:21:29Z wxie1 joined #lisp 2020-04-21T13:23:15Z pjb: armed bear: https://pasteboard.co/J4Q2H5s.png 2020-04-21T13:23:43Z jeosol quit (Remote host closed the connection) 2020-04-21T13:23:50Z wxie1 is now known as wxie 2020-04-21T13:25:46Z tutti quit (Ping timeout: 240 seconds) 2020-04-21T13:26:13Z ArthurStrong quit (Quit: leaving) 2020-04-21T13:27:34Z flazh quit (Read error: Connection reset by peer) 2020-04-21T13:28:05Z Josh_2 joined #lisp 2020-04-21T13:28:18Z SGASAU quit (Remote host closed the connection) 2020-04-21T13:28:21Z flazh joined #lisp 2020-04-21T13:29:20Z SGASAU joined #lisp 2020-04-21T13:29:38Z v_m_v joined #lisp 2020-04-21T13:35:52Z quazimodo quit (Ping timeout: 256 seconds) 2020-04-21T13:36:10Z quazimodo joined #lisp 2020-04-21T13:41:01Z quazimodo quit (Ping timeout: 264 seconds) 2020-04-21T13:41:08Z patlv joined #lisp 2020-04-21T13:42:50Z quazimodo joined #lisp 2020-04-21T13:44:47Z v_m_v quit (Remote host closed the connection) 2020-04-21T13:44:52Z Cymew quit (Ping timeout: 256 seconds) 2020-04-21T13:46:02Z scymtym__ joined #lisp 2020-04-21T13:46:16Z wsinatra joined #lisp 2020-04-21T13:46:32Z wsinatra quit (Client Quit) 2020-04-21T13:47:22Z scymtym_ quit (Ping timeout: 256 seconds) 2020-04-21T13:49:15Z Inline joined #lisp 2020-04-21T13:50:24Z ljavorsk joined #lisp 2020-04-21T13:50:24Z Bourne joined #lisp 2020-04-21T13:53:40Z xi joined #lisp 2020-04-21T13:54:27Z Cymew joined #lisp 2020-04-21T13:54:51Z SGASAU quit (Remote host closed the connection) 2020-04-21T13:55:34Z ljavorsk quit (Ping timeout: 240 seconds) 2020-04-21T13:55:50Z zooey_ joined #lisp 2020-04-21T13:56:03Z SGASAU joined #lisp 2020-04-21T13:56:24Z zooey quit (Quit: quit) 2020-04-21T13:59:46Z ahungry joined #lisp 2020-04-21T14:00:12Z Cymew quit (Ping timeout: 265 seconds) 2020-04-21T14:06:30Z jmercouris: I'm trying to understand an error: http://dpaste.com/3E78RYN 2020-04-21T14:06:40Z selwyn quit (Ping timeout: 265 seconds) 2020-04-21T14:06:42Z jmercouris: I have a load-lisp function where I can optionally specify a package 2020-04-21T14:06:43Z EvW quit (Ping timeout: 272 seconds) 2020-04-21T14:06:49Z jmercouris: when I do not specify a package, it works just fine 2020-04-21T14:07:00Z jmercouris: when I specify a package, it loses its mind, and gives me a most mysterious error, which is a lie 2020-04-21T14:07:10Z phoe: wait a second... 2020-04-21T14:07:14Z phoe: #P"..." is a pathname 2020-04-21T14:07:33Z jmercouris: Yes it is 2020-04-21T14:07:42Z jmercouris: why should it be OK with it if I do not specify a package but otherwise angry? 2020-04-21T14:08:03Z jmercouris: (load-lisp init-file :interactive t) == OK, (load-lisp init-file :interactive t :package (find-package :next)) == Deep rage 2020-04-21T14:08:29Z selwyn joined #lisp 2020-04-21T14:09:00Z phoe: your DECLAIM FTYPE seems broken 2020-04-21T14:09:08Z phoe: you state that :package is of type NIL 2020-04-21T14:09:14Z jmercouris: ah, shit, yes 2020-04-21T14:09:14Z pjb: jmercouris: you should not test (equal "" file) because 1- perhaps the file system would allow it, 2- if the file system doesn't allow it, you will already get an error from OPEN ! 2020-04-21T14:09:15Z phoe: which is a very bad declaration to make 2020-04-21T14:10:08Z wxie quit (Ping timeout: 256 seconds) 2020-04-21T14:10:14Z jmercouris: pjb: you can pass a string of "" to read from stdin 2020-04-21T14:10:25Z pjb: jmercouris: a good pattern would be to have a (load-lisp-stream stream …), and the (load-lisp designator …) function could call load-lisp-stream either on *standard-input* or on an opened stream. 2020-04-21T14:10:25Z scymtym__ quit (Ping timeout: 264 seconds) 2020-04-21T14:10:37Z jmercouris: that's a good idea 2020-04-21T14:10:43Z pjb: jmercouris: no, the doc says "-", not "". 2020-04-21T14:10:59Z jmercouris: right, you are right :-D 2020-04-21T14:10:59Z pjb: jmercouris: *package* must be of type PACKAGE. 2020-04-21T14:11:00Z Bike: that's a pretty unfortunate type error. is that coming froms bcl or from your handler there? 2020-04-21T14:11:21Z jmercouris: Bike: I can't say, I'm removing the declaration now, and we'll see 2020-04-21T14:11:38Z phoe: that should get you out of UB zone 2020-04-21T14:11:48Z pjb: jmercouris: if you allow package designators in the parameter package, then use (let ((*package* (if package (find-package package) *package*))) …) 2020-04-21T14:12:03Z phoe: a function whose argument is declared to be of type NIL is a function that cannot really be called, you know 2020-04-21T14:12:16Z jmercouris: it was but a typo :O 2020-04-21T14:13:07Z jmercouris: is there a package type? 2020-04-21T14:13:13Z Bike: sure. 2020-04-21T14:13:30Z pjb: jmercouris: you cannot name parameter with keywords, because keywords are constant variables! 2020-04-21T14:13:30Z jmercouris: what should I put there package? 2020-04-21T14:13:47Z jmercouris: pjb: I don't understand 2020-04-21T14:13:51Z pjb: Oh, sorry, wrong line. 2020-04-21T14:13:54Z Bike: (:package package) in the type. 2020-04-21T14:14:09Z Bike: that said, you might want to have it take a package designator instead, so you can do :package "NEXT-USER" or whatnot. 2020-04-21T14:14:10Z jmercouris: that will just work? that's crazy 2020-04-21T14:14:15Z Bike: that's crazy? 2020-04-21T14:14:20Z pjb: jmercouris: but your ftype doesn't seem right anyways for the keywords. 2020-04-21T14:14:23Z jmercouris: In a good way 2020-04-21T14:14:41Z phoe: jmercouris: a package designator is tl;dr a thing suitable to pass to FIND-PACKAGE 2020-04-21T14:14:41Z Bike: well, actually, you can't make it just package. that's false, since you can pass nil 2020-04-21T14:14:58Z jmercouris: how should I express that? 2020-04-21T14:15:02Z jmercouris: I'm not so good with ftype yet 2020-04-21T14:15:05Z Bike: (or null package) 2020-04-21T14:15:13Z Bike: or (or null package-designator), if you do that 2020-04-21T14:15:23Z pjb: jmercouris: you can also use (load *standard-input* …) 2020-04-21T14:15:46Z phoe: jmercouris: trivial-types:package-designator 2020-04-21T14:15:52Z Bike: then you'd bind package to like (if package (find-package package) *package*) i guess. 2020-04-21T14:16:03Z jmercouris: but if you pass a package to find-package 2020-04-21T14:16:06Z jmercouris: will it not get angry? 2020-04-21T14:16:10Z phoe: try it! 2020-04-21T14:16:14Z _death: don't try it 2020-04-21T14:16:17Z phoe: (find-package *package*) 2020-04-21T14:16:18Z _death: clhs find-package 2020-04-21T14:16:18Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_find_p.htm 2020-04-21T14:16:24Z Bike: if you pass find-package a package it returns the package, as it says in the standard. 2020-04-21T14:16:26Z pjb: jmercouris: also, don't test file-exists-p before load, since the file may be deleted by another process in between those calls!!! 2020-04-21T14:16:36Z jmercouris: pjb: uh oh :-D 2020-04-21T14:16:38Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-21T14:16:45Z jmercouris: wow, it actually works! 2020-04-21T14:16:51Z jmercouris: man oh man, every day a learning day 2020-04-21T14:16:56Z _death: since NIL is also a package designator, you may want to use the suppliedp syntax 2020-04-21T14:17:08Z phoe: also, (deftype package-designator () '(or string-designator package)) 2020-04-21T14:17:11Z jmercouris: I'm not too worried about people trying to use a nil package 2020-04-21T14:17:28Z phoe: ;; (defpackage #:nil (:use :cl)) 2020-04-21T14:17:47Z _death: or have a top-level :eof in a file.. ;) 2020-04-21T14:18:12Z jmercouris: lol 2020-04-21T14:18:13Z phoe: ;; or even better, (defpackage #:nil (:use :cl)) (find-package '()) ;=> works! 2020-04-21T14:18:23Z jmercouris: if people want to mess up their configuration, they can do so 2020-04-21T14:18:43Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-21T14:19:01Z _death: the idiom for that is (read stream nil stream) and then compare against the stream 2020-04-21T14:19:37Z pjb: So, basically: (let ((*package* (if package (find-package package) *package*))) (flet ((load-it () (load (if (equal "=" file) *standard-input* file)))) (case interactive ((t) (load-it)) ((:running) (handler-case (load-it) (err) (print err))) ((nil) (handler-case (load-it) (err) (print err) (uiop:quit 1)))))) 2020-04-21T14:20:20Z jmercouris: why not (or (find-package package) *package*)? 2020-04-21T14:20:28Z jmercouris: I had an if before but changed it to or 2020-04-21T14:20:48Z pjb: jmercouris: when you need to test for eof yourself: (loop with eof = (list 'eof) for o = (read stream nil eof) until (eq eof o) …) 2020-04-21T14:21:53Z pjb: jmercouris: yes, if you want to allow for a package named NIL. As said, you need to use (defun load-type (… &key (package nil packagep)) (let ((*package* (if packagep (find-package package) *package*))) …)) 2020-04-21T14:22:43Z jmercouris: package-supplied-p 2020-04-21T14:22:55Z jmercouris: i'll think about it, I don't think that's really necessary honestly 2020-04-21T14:23:12Z pjb: jmercouris: now, there's also the question whether (let ((*package* (find-package "MY-PACKAGE"))) (load file)) needs a wrapper (load-lisp file :package "MY-PACKAGE")… 2020-04-21T14:24:49Z sjl_ joined #lisp 2020-04-21T14:24:53Z _death: jmercouris: if you do (or (find-package package) *package*) then it's ok 2020-04-21T14:25:24Z jmercouris: OK, then it is fine :-) 2020-04-21T14:25:41Z jmercouris: what's what I ended up doing 2020-04-21T14:25:44Z jmercouris: (let ((*package* (or (find-package package) *package*))) 2020-04-21T14:27:18Z phoe: sure, sounds good 2020-04-21T14:30:03Z ljavorsk joined #lisp 2020-04-21T14:31:21Z adlai finds himself surprised there's not yet a "trivial-eof" library that fuzzes this out of walking code-char until most-positive-fixnum 2020-04-21T14:34:23Z efm joined #lisp 2020-04-21T14:34:54Z phoe: huh? fuzzes? what do you mean? 2020-04-21T14:35:02Z phoe: EOF is not a character 2020-04-21T14:40:05Z CrazyEddy joined #lisp 2020-04-21T14:40:27Z _death: DOS used to have an end-of-file indicator (ascii code 26, SUB, which is what you'd get if you typed C-z) 2020-04-21T14:40:48Z _death: but this is not relevant to READ 2020-04-21T14:42:08Z samlamamma joined #lisp 2020-04-21T14:42:44Z phoe: so does Linux shell, C-d 2020-04-21T14:42:54Z Bike: that's not a character, is it? 2020-04-21T14:42:57Z phoe: (code-char 4) 2020-04-21T14:43:08Z phoe: it doesn't cause an EOF though 2020-04-21T14:43:19Z phoe: it's just a standard ASCII/Unicode character, like all others. 2020-04-21T14:43:20Z _death: phoe: in ascii, 4 is code for end-of-transmission 2020-04-21T14:43:41Z arbv quit (Ping timeout: 252 seconds) 2020-04-21T14:43:53Z _death: phoe: but it's not really an eof indicator in the same way.. if a file had char 26, then the DOS "TYPE" command would stop there 2020-04-21T14:44:56Z _death: phoe: so some file began with a short human-readable message followed by this code, so that if a user TYPEd it, they see the message and no more jumble 2020-04-21T14:47:40Z _death: it also reminds me how the #\$ is used for end-of-string with AH=9, INT 21H 2020-04-21T14:50:37Z iAmDecim joined #lisp 2020-04-21T14:51:14Z ljavorsk quit (Ping timeout: 240 seconds) 2020-04-21T14:51:48Z grant joined #lisp 2020-04-21T14:52:04Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-21T14:53:25Z bitmapper joined #lisp 2020-04-21T14:55:14Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-21T14:56:41Z arbv joined #lisp 2020-04-21T14:58:09Z cosimone quit (Remote host closed the connection) 2020-04-21T14:58:37Z cosimone joined #lisp 2020-04-21T14:59:16Z X-Scale` joined #lisp 2020-04-21T14:59:44Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-21T14:59:51Z X-Scale` is now known as X-Scale 2020-04-21T15:02:34Z grant quit (Quit: grant) 2020-04-21T15:14:58Z bacterio quit (Ping timeout: 256 seconds) 2020-04-21T15:16:30Z rippa joined #lisp 2020-04-21T15:18:57Z lacroixboy__ joined #lisp 2020-04-21T15:19:16Z antidote joined #lisp 2020-04-21T15:20:14Z SGASAU` joined #lisp 2020-04-21T15:21:13Z antidote quit (Remote host closed the connection) 2020-04-21T15:21:17Z SGASAU quit (Ping timeout: 250 seconds) 2020-04-21T15:21:52Z dale_ joined #lisp 2020-04-21T15:21:58Z iAmDecim joined #lisp 2020-04-21T15:22:11Z dale_ is now known as dale 2020-04-21T15:22:20Z lacroixboy_ quit (Ping timeout: 256 seconds) 2020-04-21T15:23:14Z phoe: Bike: we were wrong 2020-04-21T15:23:25Z phoe: clhs 9.1.4.2 2020-04-21T15:23:25Z specbot: Restarts: http://www.lispworks.com/reference/HyperSpec/Body/09_adb.htm 2020-04-21T15:23:29Z phoe: "A restart function can itself invoke any other restart that was active at the time of establishment of the restart of which the function is part." 2020-04-21T15:24:01Z phoe: so the clustering mechanism also is in full effect for restarts 2020-04-21T15:25:20Z Bike: it doesn't say they can't invoke dynamically closer restarts. 2020-04-21T15:25:42Z EvW1 joined #lisp 2020-04-21T15:26:01Z Bike: restart functions in ecl/clasp and sbcl don't unwind that part of the dynamic environment, either. 2020-04-21T15:26:29Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-21T15:26:51Z phoe: it doesn't say it can invoke dynamically closer restarts either 2020-04-21T15:26:55Z phoe: sigh 2020-04-21T15:27:17Z phoe sings a song about yet another omission in the spec™ 2020-04-21T15:28:00Z Bike: i don't think reading this as meaning it has to unwind the restart clusters is very reasonable. 2020-04-21T15:28:19Z phoe: I mean, that would be consistent with how handlers work 2020-04-21T15:28:25Z Bike: i mean, like, say you invoke a restart and the restart then transfers control back to wherever. does it then have to RE wind the restart clusters? 2020-04-21T15:28:35Z Bike: how would that even be accomplished? 2020-04-21T15:28:39Z phoe: RE? 2020-04-21T15:28:43Z Bike: rewind. 2020-04-21T15:28:51Z Bike: but like, i'm saying the "re" part extra loud. 2020-04-21T15:29:22Z phoe: oh - you find the restart on the list of handler clusters, and you rebind *handler-clusters* to a particular CDR of the previous value of *handler-clusters* 2020-04-21T15:29:26Z phoe: and then you call the restart function 2020-04-21T15:30:10Z phoe: and then the NLToC happens... but I don't know how that affects that 2020-04-21T15:31:23Z phoe: ccl doesn't unwind the restart clusters either 2020-04-21T15:31:29Z phoe: oh well 2020-04-21T15:32:30Z Bike: this interpretation would also break code i've personally written, so like nah 2020-04-21T15:32:42Z Bike: for example a restart that does something and then invokes muffle warning or whatever 2020-04-21T15:32:58Z phoe: yes, I imagine that's handy 2020-04-21T15:33:49Z anlsh joined #lisp 2020-04-21T15:34:02Z jprajzne quit (Quit: Leaving.) 2020-04-21T15:36:49Z Oddity quit (Ping timeout: 264 seconds) 2020-04-21T15:37:57Z monokrom joined #lisp 2020-04-21T15:39:16Z bhyde left #lisp 2020-04-21T15:42:26Z bacterio joined #lisp 2020-04-21T15:48:18Z lxbarbosa joined #lisp 2020-04-21T15:51:36Z iAmDecim joined #lisp 2020-04-21T15:51:44Z msk joined #lisp 2020-04-21T15:56:26Z msk quit (Remote host closed the connection) 2020-04-21T15:58:25Z efm quit (Ping timeout: 264 seconds) 2020-04-21T16:02:11Z efm joined #lisp 2020-04-21T16:02:51Z ebrasca quit (Remote host closed the connection) 2020-04-21T16:03:58Z slyrus__ joined #lisp 2020-04-21T16:06:36Z slyrus_ quit (Ping timeout: 256 seconds) 2020-04-21T16:07:19Z msk joined #lisp 2020-04-21T16:09:16Z anlsh quit (Ping timeout: 240 seconds) 2020-04-21T16:12:28Z ayuce joined #lisp 2020-04-21T16:13:34Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-21T16:14:14Z gko quit (Ping timeout: 240 seconds) 2020-04-21T16:19:18Z grant joined #lisp 2020-04-21T16:19:34Z grant left #lisp 2020-04-21T16:22:31Z techquila quit (Read error: Connection reset by peer) 2020-04-21T16:22:56Z techquila joined #lisp 2020-04-21T16:24:31Z Fare joined #lisp 2020-04-21T16:29:43Z X-Scale` joined #lisp 2020-04-21T16:29:46Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-21T16:30:22Z X-Scale` is now known as X-Scale 2020-04-21T16:33:39Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-21T16:34:35Z SGASAU joined #lisp 2020-04-21T16:37:57Z drmeister quit (Ping timeout: 265 seconds) 2020-04-21T16:38:05Z fowlduck quit (Ping timeout: 272 seconds) 2020-04-21T16:38:43Z l1x quit (Ping timeout: 272 seconds) 2020-04-21T16:39:21Z billstclair quit (Ping timeout: 272 seconds) 2020-04-21T16:39:59Z Kemwer_ quit (Ping timeout: 272 seconds) 2020-04-21T16:39:59Z rvirding quit (Ping timeout: 272 seconds) 2020-04-21T16:40:14Z drmeister joined #lisp 2020-04-21T16:40:58Z l1x joined #lisp 2020-04-21T16:41:04Z billstclair joined #lisp 2020-04-21T16:41:05Z tfb quit (Ping timeout: 246 seconds) 2020-04-21T16:41:44Z fowlduck joined #lisp 2020-04-21T16:41:53Z lukego quit (Ping timeout: 272 seconds) 2020-04-21T16:41:53Z tazjin quit (Ping timeout: 272 seconds) 2020-04-21T16:42:13Z twelvemonkeys quit (Ping timeout: 264 seconds) 2020-04-21T16:42:19Z Kemwer_ joined #lisp 2020-04-21T16:42:31Z ralt quit (Ping timeout: 272 seconds) 2020-04-21T16:42:31Z pent quit (Ping timeout: 272 seconds) 2020-04-21T16:42:31Z justache quit (Ping timeout: 272 seconds) 2020-04-21T16:42:47Z fowlduck quit (Max SendQ exceeded) 2020-04-21T16:43:01Z twelvemonkeys joined #lisp 2020-04-21T16:43:17Z lukego joined #lisp 2020-04-21T16:43:26Z rvirding joined #lisp 2020-04-21T16:43:42Z Balooga quit (Ping timeout: 256 seconds) 2020-04-21T16:43:47Z jlpeters quit (Ping timeout: 272 seconds) 2020-04-21T16:44:08Z pent joined #lisp 2020-04-21T16:44:32Z ralt joined #lisp 2020-04-21T16:44:33Z tfb joined #lisp 2020-04-21T16:44:45Z tazjin joined #lisp 2020-04-21T16:44:51Z jlpeters joined #lisp 2020-04-21T16:44:58Z justache joined #lisp 2020-04-21T16:45:04Z nydel quit (Ping timeout: 256 seconds) 2020-04-21T16:45:41Z conjunctive quit (Ping timeout: 265 seconds) 2020-04-21T16:46:21Z jlpeters quit (Max SendQ exceeded) 2020-04-21T16:46:32Z p_l quit (Ping timeout: 256 seconds) 2020-04-21T16:47:06Z Balooga joined #lisp 2020-04-21T16:47:17Z jlpeters joined #lisp 2020-04-21T16:47:35Z fowlduck joined #lisp 2020-04-21T16:48:12Z jlpeters quit (Max SendQ exceeded) 2020-04-21T16:48:12Z conjunctive joined #lisp 2020-04-21T16:48:47Z p_l joined #lisp 2020-04-21T16:48:53Z jlpeters joined #lisp 2020-04-21T16:49:06Z lukego quit (Ping timeout: 240 seconds) 2020-04-21T16:49:51Z lukego joined #lisp 2020-04-21T16:56:55Z cosimone quit (Remote host closed the connection) 2020-04-21T16:57:24Z cosimone joined #lisp 2020-04-21T16:57:52Z EvW1 quit (Ping timeout: 256 seconds) 2020-04-21T16:58:46Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2020-04-21T17:00:51Z Lord_Nightmare joined #lisp 2020-04-21T17:01:46Z shangul quit (Ping timeout: 258 seconds) 2020-04-21T17:03:42Z phoe: hoo boy 2020-04-21T17:04:07Z adip joined #lisp 2020-04-21T17:04:53Z phoe: there's a total of 12 pure functions I have created for my implementation of restart-case 2020-04-21T17:05:09Z phoe: but then again, it's the most complex macro in the restart system 2020-04-21T17:11:24Z cosimone quit (Remote host closed the connection) 2020-04-21T17:11:51Z cosimone joined #lisp 2020-04-21T17:11:53Z nydel joined #lisp 2020-04-21T17:14:10Z madand_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-21T17:15:57Z madand joined #lisp 2020-04-21T17:17:05Z lxbarbos` joined #lisp 2020-04-21T17:20:59Z lxbarbosa quit (Ping timeout: 246 seconds) 2020-04-21T17:27:04Z iAmDecim joined #lisp 2020-04-21T17:28:13Z alandipert: phoe mostly code generation? or parsing 2020-04-21T17:29:55Z phoe: alandipert: kinda both 2020-04-21T17:30:11Z phoe: 1) we need to parse keyword differences between restart-bind and restart-case 2020-04-21T17:30:26Z phoe: 2) we need to extract keyword-value pairs from the case body 2020-04-21T17:30:51Z phoe: 3) we need to macroexpand and inspect the form to possibly transform it into a WITH-CONDITION-RESTARTS call 2020-04-21T17:31:56Z phoe: the first two are painful because they're stupid, and the third is painful because it's just painful 2020-04-21T17:33:48Z alandipert: phoe perhaps consider the parser combinator lib beach made for SICL LOOP 2020-04-21T17:34:04Z phoe: alandipert: that's like shooting a fly with a cannon 2020-04-21T17:34:24Z Bike: takes forever and it'll probably dodge anyway 2020-04-21T17:34:32Z phoe: the first two could perhaps have been avoided; there's no reason restart-bind couldn't have :test/:interactive/:report instead of :test-function/:interactive-function/:report-function or the other way around; and the keywords didn't need to be spliced into in the case body 2020-04-21T17:34:42Z phoe: but then again, this makes RESTART-CASE more consistent with HANDLER-CASE, kind of 2020-04-21T17:36:28Z alandipert: i like shooting flies with cannons, that's why i use lisp B-) 2020-04-21T17:36:50Z alandipert: and i know the cost of nothing yada yada 2020-04-21T17:37:22Z phoe: (defun cost-of-nothing () (time nil)) 2020-04-21T17:41:51Z cosimone quit (Remote host closed the connection) 2020-04-21T17:42:28Z cosimone joined #lisp 2020-04-21T17:44:29Z Oddity joined #lisp 2020-04-21T17:49:54Z v_m_v joined #lisp 2020-04-21T17:50:09Z sjl_: (time (values)) seems more appropriate 2020-04-21T17:51:17Z drainful- joined #lisp 2020-04-21T17:51:25Z drainful quit (Ping timeout: 265 seconds) 2020-04-21T17:52:26Z jeosol joined #lisp 2020-04-21T17:54:23Z Fare quit (Ping timeout: 260 seconds) 2020-04-21T17:54:31Z v_m_v quit (Remote host closed the connection) 2020-04-21T17:57:09Z Fare joined #lisp 2020-04-21T17:59:34Z AdmiralBumbleBee quit (Ping timeout: 240 seconds) 2020-04-21T18:00:50Z slyrus_ joined #lisp 2020-04-21T18:02:20Z AdmiralBumbleBee joined #lisp 2020-04-21T18:03:06Z slyrus__ quit (Ping timeout: 258 seconds) 2020-04-21T18:04:27Z cosimone quit (Remote host closed the connection) 2020-04-21T18:04:54Z cosimone joined #lisp 2020-04-21T18:07:35Z v_m_v joined #lisp 2020-04-21T18:13:31Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-21T18:15:22Z v_m_v quit (Remote host closed the connection) 2020-04-21T18:15:54Z cosimone quit (Remote host closed the connection) 2020-04-21T18:16:05Z v_m_v joined #lisp 2020-04-21T18:16:21Z cosimone joined #lisp 2020-04-21T18:17:02Z AdmiralBumbleBee quit (Quit: If I just put this here then...) 2020-04-21T18:26:35Z cosimone quit (Remote host closed the connection) 2020-04-21T18:27:19Z sauvin quit (Read error: Connection reset by peer) 2020-04-21T18:29:44Z jackdaniel: wasn't it about memory allocation (the quote)? 2020-04-21T18:31:15Z iAmDecim joined #lisp 2020-04-21T18:31:50Z watkinsr joined #lisp 2020-04-21T18:32:04Z watkinsr quit (Remote host closed the connection) 2020-04-21T18:32:17Z watkinsr joined #lisp 2020-04-21T18:35:20Z adlai wonders how many times (intern anystring-from-*standard-input* :nil)), after reading a tiny, tiny, teeeeeny amount of quicklisp-quickload sources 2020-04-21T18:35:49Z adlai: since there's a design decision there justifiable only by the citation of NIL as an implementation acronym. 2020-04-21T18:36:12Z Bike: why would you intern into the nil package? 2020-04-21T18:36:48Z adlai: not the () package, the (find-package ()) package 2020-04-21T18:37:00Z Bike: yes, the package called "NIL". 2020-04-21T18:37:10Z adlai: .clhs find-package 2020-04-21T18:37:31Z Bike: no dot. 2020-04-21T18:37:52Z adlai: clhs find-package 2020-04-21T18:37:52Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_find_p.htm 2020-04-21T18:38:30Z adlai is glad to read that an entire kind of error got abstracted out of compliant cl! 2020-04-21T18:38:54Z Bike: i have no idea what you're talking about. 2020-04-21T18:39:31Z iAmDecim quit (Ping timeout: 258 seconds) 2020-04-21T18:39:39Z adlai: https://en.wikipedia.org/wiki/NIL_(programming_language) 2020-04-21T18:39:52Z Bike: sure? 2020-04-21T18:39:57Z izh_ joined #lisp 2020-04-21T18:40:10Z adlai: its existence has been cited as justification for decisions avoiding certain corner cases. 2020-04-21T18:40:33Z Bike: look, i'm not very smart sometimes, if you're trying to make a point you need to tell me what it is 2020-04-21T18:40:44Z Bike: what does this have to do with intern? 2020-04-21T18:41:21Z Retropikzel joined #lisp 2020-04-21T18:41:54Z samlamamma quit (Ping timeout: 240 seconds) 2020-04-21T18:42:02Z adlai: that was a thinko 2020-04-21T18:43:38Z adlai: (get "human-readable-definition" "twenty-first-century-english:thinko") -> "idiot wanted to talk about a different thing, so different from thing actually talked about, as to not be excusable as merely a typo" 2020-04-21T18:43:58Z adlai: yes, yes, there's another missing call to find-symbol. 2020-04-21T18:44:11Z adlai left #lisp 2020-04-21T18:48:01Z iAmDecim joined #lisp 2020-04-21T18:48:23Z phoe: jackdaniel: it was, yes 2020-04-21T18:49:24Z phoe: also https://github.com/marcoheisig/the-cost-of-nothing 2020-04-21T18:55:28Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-21T19:05:26Z KindOne left #lisp 2020-04-21T19:10:11Z gareppa joined #lisp 2020-04-21T19:10:15Z iAmDecim joined #lisp 2020-04-21T19:12:12Z v_m_v quit (Remote host closed the connection) 2020-04-21T19:13:05Z heisig quit (Quit: Leaving) 2020-04-21T19:14:29Z ralt quit (Quit: Connection closed for inactivity) 2020-04-21T19:17:27Z duuqnd quit (Read error: Connection reset by peer) 2020-04-21T19:30:24Z gareppa quit (Quit: Leaving) 2020-04-21T19:41:01Z vlatkoB_ quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-21T19:50:30Z LdBeth: good morning 2020-04-21T19:51:44Z lxbarbos` quit (Remote host closed the connection) 2020-04-21T19:54:08Z cosimone joined #lisp 2020-04-21T19:56:56Z phoe: heyyy 2020-04-21T19:57:57Z z147 joined #lisp 2020-04-21T19:59:23Z corpix quit (Quit: corpix) 2020-04-21T20:01:38Z corpix joined #lisp 2020-04-21T20:02:19Z efm_ joined #lisp 2020-04-21T20:02:27Z efm quit (Read error: Connection reset by peer) 2020-04-21T20:05:54Z slyrus__ joined #lisp 2020-04-21T20:08:34Z slyrus_ quit (Ping timeout: 256 seconds) 2020-04-21T20:11:54Z gravicappa quit (Ping timeout: 240 seconds) 2020-04-21T20:11:57Z LdBeth run out of food 2020-04-21T20:12:17Z efm_ quit (Quit: Konversation terminated!) 2020-04-21T20:16:01Z z147 quit (Quit: z147) 2020-04-21T20:18:25Z jeosol quit (Remote host closed the connection) 2020-04-21T20:19:09Z Josh_2: should go to the shop 2020-04-21T20:26:31Z scymtym joined #lisp 2020-04-21T20:28:20Z izh_ quit (Quit: Leaving) 2020-04-21T20:35:50Z pilne joined #lisp 2020-04-21T20:38:29Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-21T20:41:26Z narimiran quit (Ping timeout: 256 seconds) 2020-04-21T20:50:13Z v_m_v joined #lisp 2020-04-21T20:56:07Z pve quit (Quit: leaving) 2020-04-21T21:02:49Z Samo_svoj quit (Read error: Connection reset by peer) 2020-04-21T21:06:50Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-21T21:11:06Z ahungry quit (Remote host closed the connection) 2020-04-21T21:15:05Z Andros joined #lisp 2020-04-21T21:28:26Z jeosol joined #lisp 2020-04-21T21:35:50Z Andros quit (Quit: Leaving) 2020-04-21T21:37:12Z lxbarbosa joined #lisp 2020-04-21T21:47:15Z sjl_ quit (Ping timeout: 260 seconds) 2020-04-21T21:50:38Z Lord_of_Life_ joined #lisp 2020-04-21T21:52:05Z SGASAU quit (Remote host closed the connection) 2020-04-21T21:52:53Z SGASAU joined #lisp 2020-04-21T21:52:54Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-21T21:53:26Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-21T21:56:31Z Samo_svoj joined #lisp 2020-04-21T21:58:35Z ayuce quit (Remote host closed the connection) 2020-04-21T21:58:55Z ayuce joined #lisp 2020-04-21T22:01:05Z adip: how can I add 2nd directory to source-registry using ~/.sbclrc file? I'm looking for something similar to PATH=$PATH:/additiona/dir 2020-04-21T22:01:23Z adip: sry if it's obvious, I'm a newbie 2020-04-21T22:01:42Z adip: (I don't want to edit system config, just append it in rc file) 2020-04-21T22:01:57Z SlashLife quit (Excess Flood) 2020-04-21T22:02:38Z SlashLife joined #lisp 2020-04-21T22:05:29Z SlashLife quit (Excess Flood) 2020-04-21T22:06:32Z SlashLife joined #lisp 2020-04-21T22:11:14Z rumbler31 quit (Ping timeout: 240 seconds) 2020-04-21T22:12:17Z _death: maybe ql:*local-project-directories* is a good alternative 2020-04-21T22:13:34Z random-nick quit (Ping timeout: 240 seconds) 2020-04-21T22:16:37Z adip: I don't have quicklisp intalled atm 2020-04-21T22:16:48Z adip: I'll look into that 2020-04-21T22:20:45Z rumbler31 joined #lisp 2020-04-21T22:28:06Z v_m_v quit (Remote host closed the connection) 2020-04-21T22:33:23Z gxt quit (Ping timeout: 240 seconds) 2020-04-21T22:35:58Z gxt joined #lisp 2020-04-21T22:37:20Z efm joined #lisp 2020-04-21T22:37:26Z efm quit (Client Quit) 2020-04-21T22:43:39Z orivej quit (Ping timeout: 265 seconds) 2020-04-21T22:45:28Z funnel quit (Ping timeout: 256 seconds) 2020-04-21T22:46:08Z funnel joined #lisp 2020-04-21T22:52:03Z cosimone quit (Quit: Quit.) 2020-04-21T22:53:54Z dtman34 quit (Ping timeout: 240 seconds) 2020-04-21T23:01:25Z shifty quit (Ping timeout: 264 seconds) 2020-04-21T23:05:39Z ayuce quit (Remote host closed the connection) 2020-04-21T23:07:16Z ayuce joined #lisp 2020-04-21T23:08:13Z v_m_v joined #lisp 2020-04-21T23:08:58Z Inline quit (Ping timeout: 265 seconds) 2020-04-21T23:11:56Z Oladon joined #lisp 2020-04-21T23:12:14Z v_m_v quit (Ping timeout: 240 seconds) 2020-04-21T23:21:09Z akoana joined #lisp 2020-04-21T23:23:44Z choegusung joined #lisp 2020-04-21T23:24:04Z choegusung quit (Client Quit) 2020-04-21T23:28:45Z monokrom quit (Remote host closed the connection) 2020-04-21T23:39:27Z slyrus__ quit (Remote host closed the connection) 2020-04-21T23:39:57Z slyrus__ joined #lisp 2020-04-21T23:40:06Z keep_learning joined #lisp 2020-04-21T23:40:21Z shangul joined #lisp 2020-04-21T23:41:53Z slyrus_ joined #lisp 2020-04-21T23:41:59Z lxbarbosa quit (Remote host closed the connection) 2020-04-21T23:45:02Z slyrus__ quit (Ping timeout: 265 seconds) 2020-04-21T23:53:08Z luckless quit (Remote host closed the connection) 2020-04-21T23:53:23Z luckless joined #lisp 2020-04-21T23:55:11Z iAmDecim joined #lisp 2020-04-21T23:59:50Z anlsh60 joined #lisp 2020-04-22T00:00:30Z edgar-rft quit (Ping timeout: 256 seconds) 2020-04-22T00:04:25Z wxie joined #lisp 2020-04-22T00:07:14Z wxie quit (Read error: Connection reset by peer) 2020-04-22T00:07:20Z wxie1 joined #lisp 2020-04-22T00:08:12Z wxie joined #lisp 2020-04-22T00:12:06Z wxie1 quit (Ping timeout: 265 seconds) 2020-04-22T00:12:11Z edgar-rft joined #lisp 2020-04-22T00:16:23Z wxie1 joined #lisp 2020-04-22T00:17:32Z wxie quit (Read error: Connection reset by peer) 2020-04-22T00:17:32Z wxie1 is now known as wxie 2020-04-22T00:20:25Z SGASAU quit (Remote host closed the connection) 2020-04-22T00:20:51Z Xach: http://report.quicklisp.org/2020-04-21/failure-report/trivial-custom-debugger.html#trivial-custom-debugger_test 2020-04-22T00:21:11Z SGASAU joined #lisp 2020-04-22T00:24:20Z Xach: (for phoe) 2020-04-22T00:29:45Z SGASAU` joined #lisp 2020-04-22T00:29:59Z edgar-rft quit (Ping timeout: 265 seconds) 2020-04-22T00:30:16Z SGASAU quit (Ping timeout: 258 seconds) 2020-04-22T00:30:16Z wxie quit (Read error: Connection reset by peer) 2020-04-22T00:30:43Z wxie joined #lisp 2020-04-22T00:32:39Z Bourne quit (Read error: Connection reset by peer) 2020-04-22T00:33:56Z jeosol quit (Ping timeout: 240 seconds) 2020-04-22T00:34:27Z wxie quit (Read error: Connection reset by peer) 2020-04-22T00:34:36Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-22T00:34:40Z wxie joined #lisp 2020-04-22T00:35:38Z SGASAU joined #lisp 2020-04-22T00:36:45Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-22T00:37:46Z edgar-rft joined #lisp 2020-04-22T00:38:16Z wxie quit (Read error: Connection reset by peer) 2020-04-22T00:38:22Z wxie1 joined #lisp 2020-04-22T00:39:18Z wxie1 quit (Read error: Connection reset by peer) 2020-04-22T00:39:24Z wxie joined #lisp 2020-04-22T00:39:39Z shangul quit (Ping timeout: 265 seconds) 2020-04-22T00:39:49Z techquila quit (Read error: Connection reset by peer) 2020-04-22T00:40:12Z techquila joined #lisp 2020-04-22T00:44:01Z igemnace quit (Quit: WeeChat 2.8) 2020-04-22T00:45:01Z Bourne joined #lisp 2020-04-22T00:49:54Z wxie quit (Ping timeout: 256 seconds) 2020-04-22T01:04:45Z madage quit (Remote host closed the connection) 2020-04-22T01:05:03Z madage joined #lisp 2020-04-22T01:06:45Z asarch joined #lisp 2020-04-22T01:10:38Z SGASAU quit (Remote host closed the connection) 2020-04-22T01:11:29Z SGASAU joined #lisp 2020-04-22T01:24:18Z jeosol joined #lisp 2020-04-22T01:29:08Z asarch quit (Ping timeout: 265 seconds) 2020-04-22T01:34:18Z efm joined #lisp 2020-04-22T01:36:34Z bitmapper quit (Ping timeout: 240 seconds) 2020-04-22T01:43:14Z torbo joined #lisp 2020-04-22T01:46:28Z anlsh60 quit (Remote host closed the connection) 2020-04-22T02:15:37Z defaultxr left #lisp 2020-04-22T02:24:15Z iAmDecim joined #lisp 2020-04-22T02:29:51Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-22T02:48:14Z dddddd quit (Ping timeout: 256 seconds) 2020-04-22T02:50:30Z Josh_2 quit (Ping timeout: 256 seconds) 2020-04-22T03:00:01Z turona quit (Ping timeout: 272 seconds) 2020-04-22T03:00:45Z turona joined #lisp 2020-04-22T03:00:52Z asarch joined #lisp 2020-04-22T03:11:39Z Fare quit (Ping timeout: 258 seconds) 2020-04-22T03:14:22Z pilne quit (Quit: Life without danger is a waste of oxygen) 2020-04-22T03:16:36Z wxie joined #lisp 2020-04-22T03:22:12Z Bourne quit (Read error: Connection reset by peer) 2020-04-22T03:37:24Z efm quit (Quit: Konversation terminated!) 2020-04-22T03:42:48Z White_Flame: finally wrote my own (do-mapcar (var list) ...) which can filter out elements and return multiple elements to be grafted in, as well as the common case 2020-04-22T03:44:49Z White_Flame: https://pastebin.com/23JWLAY4 2020-04-22T03:45:48Z aeth: Why "skip"? 2020-04-22T03:45:53Z aeth: I think Python uses "pass" 2020-04-22T03:45:59Z aeth: I might use "ignore" for something like that, though 2020-04-22T03:46:20Z White_Flame: nice that macrolets can define keyword-named macros for maximizing non-collisionality, I didn't expect that to work at first 2020-04-22T03:46:30Z Bike quit (Quit: Lost terminal) 2020-04-22T03:46:38Z White_Flame: eh, the output skips some of hte input intems 2020-04-22T03:46:46Z White_Flame: -n 2020-04-22T03:47:17Z jeosol: nice 2020-04-22T03:47:22Z beach: Good morning everyone! 2020-04-22T03:47:32Z jeosol: Good morning beach! 2020-04-22T03:49:08Z White_Flame: re 2020-04-22T04:04:16Z wxie quit (Ping timeout: 256 seconds) 2020-04-22T04:12:29Z wxie joined #lisp 2020-04-22T04:15:27Z asarch: One stupid question: from a list, how could I get a range of elements? e.g. mathematically the (nth, nth+nth) elements of (list ...)? 2020-04-22T04:16:06Z beach: clhs subseq 2020-04-22T04:16:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_subseq.htm 2020-04-22T04:16:13Z asarch: Thank you! 2020-04-22T04:16:16Z asarch: Thank you very much! 2020-04-22T04:16:17Z asarch: :-) 2020-04-22T04:17:19Z asarch: Using CL-DBI, how could I do this query (from PostgreSQL SQL dialect)?: SELECT * FROM student ORDER BY id DESC LIMIT (20-10+1) OFFSET 10; 2020-04-22T04:19:25Z Inline joined #lisp 2020-04-22T04:21:01Z xlei quit (Ping timeout: 256 seconds) 2020-04-22T04:23:33Z xlei joined #lisp 2020-04-22T04:24:00Z Lord_Nightmare quit (Ping timeout: 256 seconds) 2020-04-22T04:28:25Z Lord_Nightmare joined #lisp 2020-04-22T04:30:54Z wxie quit (Ping timeout: 256 seconds) 2020-04-22T04:30:55Z patlv quit (Quit: patlv) 2020-04-22T04:37:01Z dtman34 joined #lisp 2020-04-22T04:39:30Z vlatkoB joined #lisp 2020-04-22T04:54:07Z Oladon quit (Quit: Leaving.) 2020-04-22T04:56:32Z Inline quit (Quit: Leaving) 2020-04-22T05:02:15Z voidlily quit (Ping timeout: 272 seconds) 2020-04-22T05:02:19Z Oladon joined #lisp 2020-04-22T05:04:29Z pjb: asarch: also, you can use the :start and :end arguments of a lot of CL functions to avoid consing with SUBSEQ. 2020-04-22T05:04:31Z Oladon quit (Client Quit) 2020-04-22T05:05:02Z pjb: (position 0 '(0 1 2 3 4 0 1 2 3 4) :start 2 :end 6) #| --> 5 |# 2020-04-22T05:05:25Z pjb: (+ (position 0 (subseq '(0 1 2 3 4 0 1 2 3 4) 2 6)) 2) #| --> 5 |# 2020-04-22T05:10:43Z akoana left #lisp 2020-04-22T05:13:38Z iAmDecim joined #lisp 2020-04-22T05:14:16Z voidlily joined #lisp 2020-04-22T05:18:50Z voidlily quit (Ping timeout: 246 seconds) 2020-04-22T05:23:47Z White_Flame: if I have (progn (tagbody ... fail) (tagbody ... fail)), then (go fail) should only find the tag within the current tagbody, right? 2020-04-22T05:24:05Z beach: Right. 2020-04-22T05:24:23Z beach: And the innermost one in case they are nested. 2020-04-22T05:24:30Z White_Flame: hmm. because my execution is just disappearing after a filure in the 1st, and hte 2nd isn't running at all 2020-04-22T05:24:52Z ayuce quit (Read error: Connection reset by peer) 2020-04-22T05:25:18Z beach: Can we assume that your (go fail) is inside one of the TAGBODYs? 2020-04-22T05:25:39Z White_Flame: yes, and this is in macroexpansion 2020-04-22T05:28:45Z White_Flame: ah, there. rubber-duck debugging succeeded (it was something else, of course :-P) 2020-04-22T05:28:56Z beach: Heh. Great! 2020-04-22T05:29:06Z White_Flame: my 1st body was unexpectedly succeeding, and not running the 2nd 2020-04-22T05:29:26Z beach: I see. 2020-04-22T05:29:34Z drewc quit (Ping timeout: 256 seconds) 2020-04-22T05:29:47Z Bourne joined #lisp 2020-04-22T05:30:03Z White_Flame: it's how I implemented a sort of cond-let, using (go fail) if the bindings in the test didn't work out 2020-04-22T05:30:29Z White_Flame: while leaving the LETs intact for the body of the cond clause to execute within 2020-04-22T05:30:53Z voidlily joined #lisp 2020-04-22T05:33:34Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-22T05:33:34Z Bourne quit (Read error: Connection reset by peer) 2020-04-22T05:34:02Z sauvin joined #lisp 2020-04-22T05:35:20Z asarch: Thank you! 2020-04-22T05:35:27Z asarch: Thank you very much pjb! :-) 2020-04-22T05:37:57Z gravicappa joined #lisp 2020-04-22T05:40:17Z iAmDecim joined #lisp 2020-04-22T05:42:04Z drewc joined #lisp 2020-04-22T05:45:41Z phoe: Xach: thanks, fixed. 2020-04-22T05:46:04Z narimiran joined #lisp 2020-04-22T05:52:06Z jeosol: I want to check some style issue to see if I doing something wrong: 2020-04-22T05:53:16Z jeosol: I have a class and I create a constructor to create an instance, e.g., (defun constructor (&rest args &key :first-name :last-name) (apply #'make-instance 'class-name args)) 2020-04-22T05:53:50Z phoe: &key first name last-name 2020-04-22T05:53:55Z axion: You don't want to prepend colons to your keyword arguments in the lambda list. 2020-04-22T05:53:57Z jeosol: (defun constructor (&rest args &key :first-name :last-name) (apply #'make-instance 'class-name args)) 2020-04-22T05:53:58Z phoe: you cannot have keywords as variables 2020-04-22T05:53:59Z jeosol: corrected 2020-04-22T05:54:06Z jeosol: It was mistake, I corrected it 2020-04-22T05:54:07Z phoe: nope, not corrected 2020-04-22T05:54:17Z phoe: you still have colons in there 2020-04-22T05:54:26Z jeosol: but I get warnings that the keywords are not used, not sure if that's I should be using 2020-04-22T05:54:31Z phoe: (defun constructor (&rest args &key first-name last-name) (apply #'make-instance 'class-name args)) 2020-04-22T05:54:33Z jeosol: (defun constructor (&rest args &key first-name last-name) (apply #'make-instance 'class-name args)) 2020-04-22T05:54:38Z phoe: (declare (ignore first-name last-name)) 2020-04-22T05:55:22Z jeosol: but is that style bad? its legit I thought 2020-04-22T05:55:22Z axion: You only need the `&rest args` and the above declaration if you intend to pass additional arguments beyond those two. 2020-04-22T05:55:32Z phoe: you don't need to use first-name and last-name if you pass &rest args to another function 2020-04-22T05:55:42Z phoe: I have seen &rest + &keys in code where the keys are ignored 2020-04-22T05:56:00Z JohnMS_WORK joined #lisp 2020-04-22T05:56:09Z phoe: and I don't consider that style to be bad - it limits the user to these two keyword arguments by default 2020-04-22T05:56:11Z axion: It's perfectly fine style if you need it. 2020-04-22T05:56:20Z jeosol: but if I call that constructor with a different keyword it should complain right 2020-04-22T05:56:30Z phoe: yes, it will complain by default 2020-04-22T05:56:38Z jeosol: and it does complain 2020-04-22T05:57:04Z jeosol: I added it that way instead of just the args as part of documentation. 2020-04-22T05:58:01Z phoe: sure, it's a meaningful way of documenting what can go into the constructor 2020-04-22T05:58:40Z phoe: but then again, I wonder if there's much gain in the constructor function if all it does is call make-instance; slime shows keywords for make-instance as a part of its lambda list displaying 2020-04-22T05:58:43Z jeosol: phoe: that's my reason, but you still recommend adding the (ignore ...) to remove the style-warnings? 2020-04-22T05:58:49Z phoe: buuuut that's another reason 2020-04-22T05:58:50Z phoe: jeosol: yes 2020-04-22T05:59:07Z phoe: the keywords in there are purely for lambda list validation, you only use the &rest parameter 2020-04-22T05:59:14Z phoe: so you can ignore the keywords 2020-04-22T05:59:51Z jeosol: I agree, it's a bit redundant having a constructor. 2020-04-22T06:03:03Z _whitelogger quit (Remote host closed the connection) 2020-04-22T06:05:15Z _whitelogger joined #lisp 2020-04-22T06:06:34Z jeosol: I use it that way in some cases, when I create objects, I do a bunch of other that stuff/calculations. not just create an instance. Nothing rigid at all. 2020-04-22T06:11:04Z JohnMS_WORK quit (Read error: Connection reset by peer) 2020-04-22T06:13:20Z sth_ joined #lisp 2020-04-22T06:13:33Z beach: jeosol: Both the AMOP and CLIM often omit the explicit &key parameters in case the current function does not process them explicitly. By omitting them, its caller and its callee can communicate without the current function having explicit knowledge about this communication. 2020-04-22T06:13:50Z beach: This solution is sometimes better for the purpose of modularity and maintainability. 2020-04-22T06:15:50Z jeosol: beach: Thanks for that beach. I appreciate it. 2020-04-22T06:16:39Z torbo quit (Remote host closed the connection) 2020-04-22T06:16:49Z beach: Sure. 2020-04-22T06:17:12Z jeosol: So there is some merit to not add the parameters. I ran into some design issues, some of my functions take many arguments (but appropriately defaulted) because I am trying run many scenarios, e.g., change a few variables, leave others defaulted to 2020-04-22T06:17:21Z JohnMS_WORK joined #lisp 2020-04-22T06:17:33Z jeosol: I end up with code that only I understand or can work it. 2020-04-22T06:17:58Z beach: Yes, there are situations where it is better to omit those explicit &key parameters. 2020-04-22T06:18:05Z jeosol: I mean it's documented, I use long variable names, verbs for functions, etc, most of the recommendations in Pittmans style document 2020-04-22T06:18:25Z _paul0 joined #lisp 2020-04-22T06:19:24Z flip214: jeosol: perhaps it would make sense to split it up into some setup part (a "WITH-" macro) and a calculation part, each with fewer moving parts? 2020-04-22T06:20:05Z Cymew joined #lisp 2020-04-22T06:20:39Z jeosol: flip214: that's a good suggestion. I think leaving our the explicity key parameters will reduce the interface to the functions, and then I should look to splitting things up. 2020-04-22T06:21:04Z paul0 quit (Ping timeout: 265 seconds) 2020-04-22T06:22:24Z jeosol: Dependency is something else, I'll need to look into and Fare mentioned looking at POIU, I never got it to work first time around. 2020-04-22T06:25:40Z orivej joined #lisp 2020-04-22T06:30:42Z jeosol: I'll circle back to it later, and document my findings somewhere online. 2020-04-22T06:35:40Z aeth quit (Read error: Connection reset by peer) 2020-04-22T06:36:50Z aeth joined #lisp 2020-04-22T06:37:20Z flip214: scymtym: do you have any content for https://github.com/scymtym/clim.flamegraph? Is that just a placeholder, "Hier könnte Ihre Werbung stehen"? ;) 2020-04-22T06:38:32Z no-defun-allowed: flip214: Did you check the other branches of that repository? 2020-04-22T06:42:19Z random-nick joined #lisp 2020-04-22T06:43:38Z phoe: Are there any written resources that one can consult when dealing with multiple backquote? 2020-04-22T06:44:10Z phoe: I can see LOL does describe them. 2020-04-22T06:44:42Z phoe: Or rather, well. Mention. Not describe, unless I am not searching correctly. 2020-04-22T06:46:27Z beach: I try to avoid them as much as possible by factoring out some code. 2020-04-22T06:46:53Z hiroaki quit (Ping timeout: 250 seconds) 2020-04-22T06:47:41Z phoe: so do I, but it's present in actual code though - I'm looking at written resources that I can point someone to 2020-04-22T06:50:07Z pve joined #lisp 2020-04-22T06:51:46Z dale quit (Quit: My computer has gone to sleep) 2020-04-22T06:56:58Z Bourne joined #lisp 2020-04-22T07:09:28Z v_m_v joined #lisp 2020-04-22T07:12:03Z jprajzne joined #lisp 2020-04-22T07:14:41Z flip214: no-defun-allowed: no, I didn't 2020-04-22T07:19:11Z varjag joined #lisp 2020-04-22T07:22:33Z davsebamse joined #lisp 2020-04-22T07:25:55Z davsebam1e quit (Ping timeout: 260 seconds) 2020-04-22T07:29:59Z heisig joined #lisp 2020-04-22T07:35:59Z v_m_v quit (Remote host closed the connection) 2020-04-22T07:39:49Z KDr22 quit (Ping timeout: 264 seconds) 2020-04-22T07:41:01Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-22T07:57:26Z ralt joined #lisp 2020-04-22T07:59:01Z ljavorsk joined #lisp 2020-04-22T08:01:58Z ralt: good morning 2020-04-22T08:02:24Z beach: Hello ralt. 2020-04-22T08:02:39Z ralt: how does one debug a thread, in Lisp? Say, I have something that looks like a stuck thread, but I'm not exactly sure. In other languages I have tooling to grab stacks and stuff, but I don't know anything in Lisp. 2020-04-22T08:03:09Z jeosol quit (Remote host closed the connection) 2020-04-22T08:03:22Z ralt: slime-list-threads -> "d" on the relevant thread 2020-04-22T08:03:37Z ralt: C-h m in that mode helped 2020-04-22T08:03:40Z ralt: sorry everyone 2020-04-22T08:05:06Z ralt: I am a firm believer in rubber duck debugging 2020-04-22T08:05:52Z v_m_v joined #lisp 2020-04-22T08:07:06Z wheelsucker quit (Ping timeout: 256 seconds) 2020-04-22T08:07:37Z KDr22 joined #lisp 2020-04-22T08:21:40Z phoe: ralt: quack quack 2020-04-22T08:22:08Z asarch quit (Quit: Leaving) 2020-04-22T08:23:52Z ralt: trying to think of a silly answer but can't come up with one, so, hello phoe 2020-04-22T08:24:22Z phoe: ralt: quack https://github.com/phoe/quicklisp-quackload quack quack 2020-04-22T08:24:44Z phoe: I wonder if I should change the description of that system to "it aids with rubber-duck debugging of Quicklisp..." 2020-04-22T08:25:10Z ralt: That is beautiful 2020-04-22T08:31:19Z scymtym: flip214: there two relevant branches: the "future" branch contains basically a graphical user interface for sb-sprof, the "advice-backend" branch contains an unfinished hybrid statistical/deterministic profiling system, also with a graphical user interface. i have no intention of including advertisements 2020-04-22T08:36:47Z pjb: phoe: IIRC, there was some posts and discussions, and perhaps a blog, about multiple backquotes in cll 2020-04-22T08:37:20Z pjb: phoe: there's an occurence of a triple embedded backquote in a macro in some library… 2020-04-22T08:37:26Z phoe: ouch 2020-04-22T08:38:05Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-22T08:38:21Z pjb: Nothing strange about it, once you understand that ` is just constructing a sexp. 2020-04-22T08:41:18Z no-defun-allowed: Aw, alexandria:once-only only goes two levels deep. 2020-04-22T08:42:00Z SGASAU quit (Remote host closed the connection) 2020-04-22T08:42:53Z SGASAU joined #lisp 2020-04-22T08:45:05Z jeosol joined #lisp 2020-04-22T08:47:08Z JohnMS_WORK joined #lisp 2020-04-22T08:52:33Z v_m_v quit (Remote host closed the connection) 2020-04-22T08:52:47Z SGASAU quit (Remote host closed the connection) 2020-04-22T08:53:48Z SGASAU joined #lisp 2020-04-22T08:56:45Z techquila quit (Read error: Connection reset by peer) 2020-04-22T08:57:14Z techquila joined #lisp 2020-04-22T09:03:06Z jackdaniel: no-defun-allowed: what does it mean? 2020-04-22T09:04:34Z v_m_v joined #lisp 2020-04-22T09:06:15Z flip214: scymtym: thanks, will take a look 2020-04-22T09:06:40Z no-defun-allowed: jackdaniel: There are only two levels of quasiquotation, and I thought the macro had more. 2020-04-22T09:07:19Z jackdaniel: ah, you mean macro definition itself 2020-04-22T09:07:31Z jackdaniel: I thought your remark is about expansion and I did not understand it 2020-04-22T09:07:45Z no-defun-allowed: Yeah. 2020-04-22T09:09:07Z phoe: I wouldn't ever want a macro to expand into a quasiquoted form 2020-04-22T09:10:30Z no-defun-allowed: I think my cee-switch macro from a long time ago had a macro that expanded into a MACROLET which had a quasiquoted body. 2020-04-22T09:12:13Z no-defun-allowed: Huh, it's cee-case and I wrote it almost 1.5 years ago: https://pastebin.com/jPuXLRVe 2020-04-22T09:13:04Z shifty joined #lisp 2020-04-22T09:14:03Z phoe: what's cee-case? 2020-04-22T09:14:24Z phoe: it looks like alexandria:switch 2020-04-22T09:14:31Z no-defun-allowed: A switching construct, that you have to break out of yourself. 2020-04-22T09:14:39Z phoe: ooh, I see now 2020-04-22T09:15:19Z no-defun-allowed: As you do in C(ee). I think someone wanted to know if it was possible in #clschool. 2020-04-22T09:15:59Z phoe: ooh, you mean will fallthrough 2020-04-22T09:16:10Z phoe: s/will/with/ 2020-04-22T09:16:17Z no-defun-allowed: Yeah. 2020-04-22T09:24:11Z flip214: scymtym: for clim.flamegraph, is there a way to reduce the depth by not showing the function frames outside some limit, eg. above REPL-EVAL or so? 2020-04-22T09:24:28Z flip214: oh, a right mouse click does the trick 2020-04-22T09:24:29Z flip214: thanks 2020-04-22T09:36:28Z Shinmera: Anyone know of a library to fetch DNS records? 2020-04-22T09:36:46Z Shinmera: Preferably portable and pure lisp. 2020-04-22T09:37:15Z ralt: I always end up using getaddrinfo, sorry 2020-04-22T09:39:15Z Shinmera: I don't want to resolve the hostname, I need the actual records. 2020-04-22T09:39:35Z pjb: there's a dns library in cl, IIRC. 2020-04-22T09:40:08Z pjb: Have you tried cliki.net? 2020-04-22T09:40:18Z Shinmera: that was my first stop. 2020-04-22T09:40:49Z flip214: might be a fun project to learn https://cliki.net/Binary-types 2020-04-22T09:41:19Z ralt: https://github.com/fjames86/dragons seems to fit the bill 2020-04-22T09:41:26Z Shinmera: Yeah, but it's not on QL. 2020-04-22T09:41:31Z flip214: Shinmera: https://github.com/aerique/hello-dns-common-lisp 2020-04-22T09:41:47Z flip214: well, there's a local-projects that you can git clone into.... 2020-04-22T09:42:10Z Shinmera: Won't work for a library, my man. 2020-04-22T09:42:57Z flip214: I beg your pardon? 2020-04-22T09:43:25Z Shinmera: If I want to distribute a library that uses dragons, then dragons needs to be in a dist, too. 2020-04-22T09:43:34Z flip214: ah, okay. 2020-04-22T09:43:39Z Shinmera: along with the rest of... whatever it is it uses. 2020-04-22T09:43:42Z flip214: well, open an issue to have it in the next ql release 2020-04-22T09:44:04Z Shinmera: like fsocket. and pounds. and drx? 2020-04-22T09:44:46Z ralt: lot of interesting libraries on that github account 2020-04-22T09:45:02Z Shinmera: a lot of NIH, yeah. 2020-04-22T09:45:24Z flip214: there's no issue for fsocket, is there? https://github.com/quicklisp/quicklisp-projects/issues?q=is%3Aissue+fsocket 2020-04-22T09:45:26Z v_m_v quit (Remote host closed the connection) 2020-04-22T09:46:10Z flip214: and pounds is in QL 2020-04-22T09:46:39Z flip214: no issue for drx 2020-04-22T09:47:05Z flip214: well, you could always start a second, parallel QL dist 2020-04-22T09:47:22Z Shinmera: I could also just avoid the headache and write my own DNS client. 2020-04-22T09:47:54Z flip214: still need to get _that_ into QL.... and what was that right now about NIH? ;) 2020-04-22T09:47:55Z ralt: that sounds like the most headache-inducing option to me 2020-04-22T09:48:11Z Shinmera: flip214: I wouldn't be reinventing sockets, for instance. 2020-04-22T09:48:47Z Shinmera: ralt: dealing with other people's messes is much more of a headache to me than dealing with my own mess. 2020-04-22T09:48:55Z Shinmera: that's how I got to having over 100 messes in QL. 2020-04-22T09:50:04Z beach: Shinmera: That's the spirit! Keep it up! 2020-04-22T09:50:15Z pjb: I don't think it would be that difficult to implement a dns client in lisp. That could take 2 days at most, I'd guess. 2020-04-22T09:50:17Z flip214: Shinmera: that's one of the points we like about you! 2020-04-22T09:50:32Z pjb: Shinmera: you probably already ate 1/4 of that budget looking for it !!! 2020-04-22T09:50:39Z Shinmera: pjb: probably! 2020-04-22T09:51:20Z jackdaniel: there is nothing wrong with such strategy, but accusing them of NIH (what seems to be a pejorative term) doesn't have much weight given it (this strategy that is) 2020-04-22T09:51:42Z shangul joined #lisp 2020-04-22T09:52:20Z Shinmera: I have yet to write my own socket library. Maybe I'll get there some day. 2020-04-22T09:52:30Z Lord_of_Life_ joined #lisp 2020-04-22T09:53:34Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-22T09:53:49Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-22T09:53:50Z jackdaniel: s/given it/given the above/ 2020-04-22T09:58:54Z Bourne quit (Read error: Connection reset by peer) 2020-04-22T10:01:28Z MichaelRaskin: Hmm. Combination of Windows, FFI and 2015 in fsocket makes me think it might have been actually more reliable on Windows than the alternatives (when written) 2020-04-22T10:02:34Z v_m_v joined #lisp 2020-04-22T10:04:29Z Intensity quit (Ping timeout: 250 seconds) 2020-04-22T10:07:05Z v_m_v quit (Ping timeout: 265 seconds) 2020-04-22T10:09:00Z Bourne joined #lisp 2020-04-22T10:09:17Z igemnace joined #lisp 2020-04-22T10:13:58Z dra joined #lisp 2020-04-22T10:14:15Z shka_ joined #lisp 2020-04-22T10:17:53Z shka_: no-defun-allowed: yo, you there? 2020-04-22T10:19:23Z no-defun-allowed: shka_: Hello. 2020-04-22T10:19:46Z shka_: query? i have some non-lispy questions 2020-04-22T10:20:03Z no-defun-allowed: Sure. 2020-04-22T10:29:15Z gxt quit (Remote host closed the connection) 2020-04-22T10:29:53Z gxt joined #lisp 2020-04-22T10:29:56Z Retropikzel quit (Quit: Konversation terminated!) 2020-04-22T10:30:46Z jeosol quit (Remote host closed the connection) 2020-04-22T10:31:20Z Ekho quit (Quit: An alternate universe was just created where I didn't leave. But here, I left you. I'm sorry.) 2020-04-22T10:35:47Z Josh_2 joined #lisp 2020-04-22T10:45:53Z Josh_2: Can I just serve a static site with ningle? 2020-04-22T10:46:13Z Josh_2: I have managed to get the html to work but the CSS which I had to add an extra route for does not 2020-04-22T10:46:38Z Josh_2: firefox keeps saying "Style sheet could not be loaded"" 2020-04-22T10:46:54Z jeosol joined #lisp 2020-04-22T10:47:32Z rixard_ quit (Read error: Connection reset by peer) 2020-04-22T10:48:51Z Josh_2: https://plaster.tymoon.eu/view/1766#1766 2020-04-22T10:50:09Z Josh_2: I would generate the html with cl-who etc but I'm working on this site with someone else who does not know cl, so It's more convenient to just have a static page 2020-04-22T10:51:04Z Grue`: is /css/main.css accessible by itself? 2020-04-22T10:52:12Z sbryant_ quit (Quit: ZNC - http://znc.in) 2020-04-22T10:52:25Z rixard joined #lisp 2020-04-22T10:52:41Z sbryant joined #lisp 2020-04-22T10:52:56Z Ekho joined #lisp 2020-04-22T10:53:34Z Josh_2: it is when I just load the html straight into firefox 2020-04-22T10:53:37Z Josh_2: but not with ningle 2020-04-22T10:55:16Z seok joined #lisp 2020-04-22T10:55:21Z seok: Morning guys 2020-04-22T10:55:58Z scymtym quit (Ping timeout: 256 seconds) 2020-04-22T10:56:04Z phoe: morning 2020-04-22T10:59:32Z Josh_2: Grue`: I found the problem I was using the key :main-page-css instead of :main-css... 2020-04-22T11:01:58Z SGASAU quit (Remote host closed the connection) 2020-04-22T11:02:46Z hdasch quit (Ping timeout: 258 seconds) 2020-04-22T11:03:10Z SGASAU joined #lisp 2020-04-22T11:03:40Z hdasch joined #lisp 2020-04-22T11:04:18Z seok: Is Snooze the most used library for building a REST API 2020-04-22T11:04:53Z Xach: seok: i am not aware of any survey that would confirm or deny that question 2020-04-22T11:05:20Z seok: It was the only library listed on awesome-cl built specifically for REST 2020-04-22T11:05:43Z seok: I want something light, but having an issue with ningle 2020-04-22T11:06:08Z seok: I'm familiar with Caveman but feels like an overkill 2020-04-22T11:07:06Z seok: Eh, I could learn clack 2020-04-22T11:07:16Z Xach: seok: it is ok to make things too 2020-04-22T11:07:26Z seok: no.. I am still a newbie :( 2020-04-22T11:08:46Z boeg: anyone here using caveman2? Is the "start server and automatically rebuild as changes occur in codebase" feature that a lot of similar frameworks has built available in caveman2 too? I cannot seem to find it ... 2020-04-22T11:09:10Z seok: Yes 2020-04-22T11:09:30Z seok: I believe every web framework in CL works that way 2020-04-22T11:09:45Z boeg: so how do I use it? 2020-04-22T11:09:57Z boeg: doesn't seem to be "on" if I just :start my app 2020-04-22T11:10:00Z seok: just compile the routing s-exp 2020-04-22T11:10:18Z seok: What do you mean? 2020-04-22T11:10:28Z cosimone joined #lisp 2020-04-22T11:10:29Z boeg: just manually recompile it? 2020-04-22T11:10:29Z Xach: boeg: I am not familiar with caveman2, but in CL it is typical to recompile individual functions or data definitions to see changes. It is not usually based on file timestamp changes or things like that. 2020-04-22T11:10:36Z seok: You can access the page on your browser right? 2020-04-22T11:10:39Z boeg: Sure, I know I can do that, I was just wondering if I had to 2020-04-22T11:10:49Z Josh_2: Well I got it to work 2020-04-22T11:10:50Z seok: you don't have to restart the server 2020-04-22T11:10:51Z boeg: seok: indeed 2020-04-22T11:11:04Z Josh_2: Had to set the content type to "text/css" 2020-04-22T11:11:10Z seok: in caveman2, web.lisp in src/ folder 2020-04-22T11:11:14Z seok: contains the routing codes 2020-04-22T11:11:16Z boeg: Xach: correct, I was just wondering if caveman2 would do it for me like many webframeworks do 2020-04-22T11:11:23Z seok: edit that and just re-compile that line 2020-04-22T11:11:29Z seok: then refresh on your browser 2020-04-22T11:11:31Z Xach: boeg: i do not know about that, sorry. 2020-04-22T11:11:31Z boeg: seok: alright, thank you 2020-04-22T11:11:31Z seok: should work 2020-04-22T11:11:39Z boeg: Xach: no problem! 2020-04-22T11:11:47Z Xach: boeg: i'm curious - what would trigger the rebuild? 2020-04-22T11:12:13Z seok: It doesn't rebuild, but the server calls whatever lisp function it has in memory 2020-04-22T11:12:19Z boeg: Xach: I guess most webframeworks uses something like inotify? 2020-04-22T11:12:23Z Xach: boeg: ok 2020-04-22T11:12:28Z seok: which you can edit and compile while server is running 2020-04-22T11:12:38Z boeg: seok: indeed, like is the normal lisp way 2020-04-22T11:12:49Z boeg: seok: just wondered if caveman2 had that other thing also :P 2020-04-22T11:12:55Z boeg: its no problem that it doesnt though 2020-04-22T11:13:00Z boeg: seok: thank you for your help 2020-04-22T11:13:02Z seok: Am I answering your question right? Not sure if I understood it 2020-04-22T11:13:10Z boeg: seok: well, yes and no 2020-04-22T11:13:24Z boeg: I know I can just send a function to slime, thats how i usually do 2020-04-22T11:13:33Z boeg: but its not exactly the "watch for changes" 2020-04-22T11:13:41Z boeg: like is popular for many webframeworks 2020-04-22T11:13:49Z boeg: however its not a deal breaker in any way 2020-04-22T11:14:14Z boeg: seok: actually - how can I send a template change? 2020-04-22T11:14:20Z seok: You want to restart the server? 2020-04-22T11:14:21Z boeg: or does that just "work" out of the box? 2020-04-22T11:14:23Z boeg: ill try 2020-04-22T11:14:36Z seok: Still trying to figure out what you are trying to do 2020-04-22T11:14:53Z boeg: seok: sorry, let me explain 2020-04-22T11:14:57Z seok: No prob 2020-04-22T11:14:58Z seok: Sorry 2020-04-22T11:15:27Z seok: template change meaning you want to rewrite a particular web page right? 2020-04-22T11:15:28Z boeg: in many webframeworks in other languages, the usual way is that when you work on the codebase, you "start the server" and it will automatically watch for file changes in the project and recompile them 2020-04-22T11:16:16Z boeg: it seems that in caveman2 i should just send the changed code to sbcl per usual with lisp 2020-04-22T11:16:25Z boeg: regarding templates, it just seems to work somehow 2020-04-22T11:16:25Z SGASAU quit (Ping timeout: 264 seconds) 2020-04-22T11:16:29Z seok: You can do it either way 2020-04-22T11:16:29Z boeg: I dont have to recompile anything 2020-04-22T11:16:33Z seok: yeah 2020-04-22T11:16:43Z seok: You can do it like other languages, restart the server every time you edit 2020-04-22T11:16:47Z seok: but there is no need to do that 2020-04-22T11:16:50Z seok: that would be slower 2020-04-22T11:17:11Z boeg: i dont think the other frameworks restarts the server though, they just recompile the changes bits 2020-04-22T11:17:25Z boeg: not sure though 2020-04-22T11:17:29Z seok: Which frameworks are we talking about? 2020-04-22T11:17:34Z seok: like node? 2020-04-22T11:17:38Z boeg: for example flask and phoenix 2020-04-22T11:17:45Z seok: ok 2020-04-22T11:17:53Z seok: Don't you have to close the python application 2020-04-22T11:18:00Z seok: to apply the changes? 2020-04-22T11:18:11Z boeg: no it does that for me - i'm not sure if it actually restarts everything, but its very quick 2020-04-22T11:18:14Z boeg: miliseconds 2020-04-22T11:18:17Z jeosol quit (Remote host closed the connection) 2020-04-22T11:18:29Z seok: compiling the routing is even faster though 2020-04-22T11:18:34Z SGASAU` joined #lisp 2020-04-22T11:18:41Z seok: because it only recompiles that one function 2020-04-22T11:19:02Z boeg: yeah, as i said, it doesnt matter, i think its actually probably a feature that caveman2 doesnt do it because it just uses the "normal common lisp work flow" 2020-04-22T11:19:46Z boeg: the best kind of feature; the one where you leaving out stuff becomes a strength :D 2020-04-22T11:19:49Z seok: like when you write "flask run" on command line right? 2020-04-22T11:19:53Z boeg: indeed 2020-04-22T11:20:05Z seok: I believe that restarts the server 2020-04-22T11:20:08Z boeg: alright 2020-04-22T11:20:39Z boeg: ive done a lot of professional flask work, but i dont like python 2020-04-22T11:20:43Z seok: That is same as app:stop and app:start 2020-04-22T11:20:57Z boeg: i've come to like elisp and common lisp over the last couple of months and thought out try out caveman2 2020-04-22T11:21:03Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-22T11:21:08Z seok: Oh, I thought a lot of people liked working in flask 2020-04-22T11:21:14Z boeg: i like flask 2020-04-22T11:21:17Z boeg: i just dont like python 2020-04-22T11:21:21Z seok: Same here, I've moved from python 2020-04-22T11:21:29Z cosimone quit (Remote host closed the connection) 2020-04-22T11:21:31Z seok: Haven't done any web work in python though 2020-04-22T11:21:49Z boeg: alright - i see that i actually have to go pick up my kid now! 2020-04-22T11:21:51Z boeg: thank you for the help 2020-04-22T11:21:58Z cosimone joined #lisp 2020-04-22T11:22:00Z seok: Nw, hope it helped 2020-04-22T11:22:04Z boeg: bye! 2020-04-22T11:23:41Z dddddd joined #lisp 2020-04-22T11:23:48Z SGASAU joined #lisp 2020-04-22T11:25:55Z SGASAU` joined #lisp 2020-04-22T11:26:09Z seok quit (Remote host closed the connection) 2020-04-22T11:28:34Z SGASAU quit (Ping timeout: 240 seconds) 2020-04-22T11:31:49Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-22T11:32:35Z SGASAU joined #lisp 2020-04-22T11:51:59Z cosimone quit (Remote host closed the connection) 2020-04-22T11:52:27Z cosimone joined #lisp 2020-04-22T11:55:03Z SGASAU quit (Remote host closed the connection) 2020-04-22T11:55:56Z SGASAU joined #lisp 2020-04-22T11:58:34Z libre-man joined #lisp 2020-04-22T12:00:38Z libre-man left #lisp 2020-04-22T12:01:12Z cosimone quit (Quit: Terminated!) 2020-04-22T12:03:27Z SGASAU quit (Remote host closed the connection) 2020-04-22T12:04:04Z EvW joined #lisp 2020-04-22T12:04:15Z SGASAU joined #lisp 2020-04-22T12:09:33Z sunwukong joined #lisp 2020-04-22T12:11:58Z Bike joined #lisp 2020-04-22T12:15:48Z wxie joined #lisp 2020-04-22T12:18:46Z SGASAU quit (Remote host closed the connection) 2020-04-22T12:19:45Z SGASAU joined #lisp 2020-04-22T12:20:41Z q3d joined #lisp 2020-04-22T12:23:14Z SGASAU quit (Remote host closed the connection) 2020-04-22T12:24:03Z gko joined #lisp 2020-04-22T12:24:09Z SGASAU joined #lisp 2020-04-22T12:30:47Z wxie1 joined #lisp 2020-04-22T12:30:59Z iAmDecim joined #lisp 2020-04-22T12:32:05Z wxie quit (Ping timeout: 258 seconds) 2020-04-22T12:32:05Z wxie1 is now known as wxie 2020-04-22T12:37:39Z SGASAU quit (Remote host closed the connection) 2020-04-22T12:38:42Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-22T12:38:42Z SGASAU joined #lisp 2020-04-22T12:41:02Z Bourne quit (Read error: Connection reset by peer) 2020-04-22T12:46:19Z Bourne joined #lisp 2020-04-22T13:03:05Z q3d quit (Remote host closed the connection) 2020-04-22T13:06:38Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-22T13:06:52Z ljavorsk quit (Ping timeout: 256 seconds) 2020-04-22T13:09:59Z jonatack quit (Quit: jonatack) 2020-04-22T13:10:06Z Lycurgus joined #lisp 2020-04-22T13:10:47Z wxie1 joined #lisp 2020-04-22T13:11:05Z cosimone joined #lisp 2020-04-22T13:13:07Z Krystof quit (Ping timeout: 260 seconds) 2020-04-22T13:13:46Z wxie quit (Ping timeout: 240 seconds) 2020-04-22T13:13:47Z wxie1 is now known as wxie 2020-04-22T13:15:38Z patlv joined #lisp 2020-04-22T13:17:02Z jmercouris: let's say I'm calling a function which returns 2 values and I only want the second one, how can I do that? 2020-04-22T13:17:06Z jmercouris: right now I'm using multiple value bind 2020-04-22T13:17:13Z jmercouris: and ignoring the first arg, but that doesn't seem so right... 2020-04-22T13:17:33Z beach: clhs nth-value 2020-04-22T13:17:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_nth_va.htm 2020-04-22T13:17:37Z jmercouris: I tried that 2020-04-22T13:17:39Z jmercouris: Oh nth-value 2020-04-22T13:17:43Z jmercouris: damnit, always a couple characters off 2020-04-22T13:17:48Z jmercouris: thank you beach 2020-04-22T13:17:51Z beach: Sure. 2020-04-22T13:18:47Z beach: jmercouris: Here is a hint: go to the Common Lisp HyperSpec, use the Permuted Symbol Index, and search for "value". 2020-04-22T13:19:09Z beach: I mean, "value" is very likely to be part of the operator you are looking for. 2020-04-22T13:19:23Z jmercouris: I have the local hyperspec so I can fuzzy search it 2020-04-22T13:19:32Z jmercouris: I first searched and read multiple-value-bind maybe it would list a related function or so 2020-04-22T13:19:49Z beach: But a fuzzy search would likely give way too many hits. 2020-04-22T13:20:02Z jmercouris: it does :-D 2020-04-22T13:20:16Z beach: ... which is why I suggested the permuted index. 2020-04-22T13:20:49Z jmercouris: yes :-) next time I try 2020-04-22T13:21:35Z phoe: I have achieved a round number of pages: 128, to be exact 2020-04-22T13:21:38Z phoe: and I'm still not done 2020-04-22T13:21:41Z phoe sigh 2020-04-22T13:21:49Z jmercouris: it is a power of 2 though! 2020-04-22T13:22:01Z jmercouris: I believe in you phoe 2020-04-22T13:22:06Z phoe: that's why I said it is round, yes 2020-04-22T13:22:19Z jmercouris: round really doesn't mean anything in casual conversation 2020-04-22T13:22:32Z jmercouris: people often say intervals of 5 are a round number... 2020-04-22T13:22:57Z wxie quit (Ping timeout: 250 seconds) 2020-04-22T13:23:29Z phoe: mayhaps they use a quintary number base on a daily basis 2020-04-22T13:23:44Z jonatack joined #lisp 2020-04-22T13:25:13Z wxie joined #lisp 2020-04-22T13:25:14Z Josh_2: If I have this path #P"/home/josh/documents/website/site/css/milligram-1.3.0/package.js" and this #P"/home/josh/documents/website/site/" how can I just get the /css/milligram-1.3.0/package.js ? 2020-04-22T13:26:56Z jmercouris: you could convert the path to a string 2020-04-22T13:27:13Z jmercouris: if you are more comfortable working with strings 2020-04-22T13:27:16Z Josh_2: is there no default way to do this? 2020-04-22T13:27:21Z jmercouris: there are ways 2020-04-22T13:27:40Z Josh_2: does uiop have the ability? 2020-04-22T13:27:47Z phoe: Josh_2: 2020-04-22T13:27:49Z phoe: clhs enough-namestring 2020-04-22T13:27:49Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_namest.htm 2020-04-22T13:28:00Z phoe: I think that's the one 2020-04-22T13:28:10Z phoe: oh wait, no, that's a namestring function 2020-04-22T13:28:22Z pilne joined #lisp 2020-04-22T13:28:38Z jmercouris: what's tricky is that you want three layers 2020-04-22T13:28:50Z jmercouris: I can't think of a way to do it without looping 2020-04-22T13:30:00Z jmercouris: you know what would be cool? a function to convert a path to a list of subpaths forming that path 2020-04-22T13:30:19Z jmercouris: so if we had /location/something/salmon, we'd get a list of three elements "location" "something" "salmon" 2020-04-22T13:30:41Z phoe: found it 2020-04-22T13:30:47Z Bike: i thought pathname-directory did that. 2020-04-22T13:30:49Z phoe: (uiop/pathname:enough-pathname #p"/home/phoe/Downloads/099.jpg" #p"/home/phoe/") ;=> #P"Downloads/099.jpg" 2020-04-22T13:30:55Z phoe: uiop:enough-pathname is the one 2020-04-22T13:31:01Z v_m_v_ joined #lisp 2020-04-22T13:31:19Z jmercouris: Bike: seems so 2020-04-22T13:31:32Z Josh_2: phoe: that works 2020-04-22T13:31:35Z Josh_2: thanks 2020-04-22T13:32:13Z Shinmera: Colleen: look up pathname-utils relative-pathname 2020-04-22T13:32:13Z Colleen: Function pathname-utils:relative-pathname https://shinmera.github.io/pathname-utils#FUNCTION%20PATHNAME-UTILS%3ARELATIVE-PATHNAME 2020-04-22T13:33:06Z cosimone quit (Remote host closed the connection) 2020-04-22T13:33:34Z cosimone joined #lisp 2020-04-22T13:37:12Z SGASAU quit (Remote host closed the connection) 2020-04-22T13:38:00Z SGASAU joined #lisp 2020-04-22T13:39:01Z wxie1 joined #lisp 2020-04-22T13:39:15Z ljavorsk joined #lisp 2020-04-22T13:42:30Z wxie quit (Ping timeout: 256 seconds) 2020-04-22T13:42:31Z wxie1 is now known as wxie 2020-04-22T13:46:35Z cosimone quit (Remote host closed the connection) 2020-04-22T13:46:43Z gravicappa quit (Ping timeout: 260 seconds) 2020-04-22T13:47:05Z cosimone joined #lisp 2020-04-22T13:48:25Z wxie1 joined #lisp 2020-04-22T13:49:14Z wxie quit (Ping timeout: 240 seconds) 2020-04-22T13:49:15Z wxie1 is now known as wxie 2020-04-22T13:50:11Z ahungry joined #lisp 2020-04-22T13:52:32Z jmercouris: OK to use ironclad:random-data to suggest random passwords for users? 2020-04-22T13:54:05Z Kingsy joined #lisp 2020-04-22T13:54:11Z phoe: jmercouris: it should be cryptographically secure, yes. 2020-04-22T13:54:33Z Kingsy: does anyone know of any good video courses about lisp and learning lisp? I find its a really good way to learn. 2020-04-22T13:54:45Z phoe: about Common Lisp specifically? 2020-04-22T13:55:11Z jackdaniel: pushing pixels with lisp maybe? 2020-04-22T13:55:18Z gravicappa joined #lisp 2020-04-22T13:55:38Z jackdaniel: by baggers 2020-04-22T13:55:51Z phoe: ^ 2020-04-22T13:56:18Z Kingsy: phoe: I guess so, I am totally new to lisp in general, but I think common lisp is where to start right>? 2020-04-22T13:56:23Z jmercouris: phoe: thanks 2020-04-22T13:56:40Z v_m_v_ quit (Ping timeout: 265 seconds) 2020-04-22T13:57:48Z beach: Kingsy: Absolutely. 2020-04-22T13:58:08Z beach says that because that is what this channel is dedicated to. 2020-04-22T13:59:26Z wxie quit (Ping timeout: 240 seconds) 2020-04-22T14:00:06Z cosimone quit (Remote host closed the connection) 2020-04-22T14:00:31Z beach: Kingsy: I went to YouTube and typed Common Lisp, and there were some reasonable answers. 2020-04-22T14:00:51Z cosimone joined #lisp 2020-04-22T14:01:20Z phoe: Kingsy: sure - just remember that you're asking Common Lisp programmers whether Common Lisp is a good place to start ;) 2020-04-22T14:02:47Z jmercouris: get out while you still can 2020-04-22T14:02:52Z jmercouris: it is not too late for you 2020-04-22T14:03:28Z phoe: Kingsy: have you programmer before? if yes, how long? 2020-04-22T14:04:33Z phoe: s/how long/for how long/ 2020-04-22T14:06:49Z nullman quit (Ping timeout: 264 seconds) 2020-04-22T14:07:45Z fanta1 joined #lisp 2020-04-22T14:08:11Z nullman joined #lisp 2020-04-22T14:08:16Z Lycurgus: missing be participle 2020-04-22T14:08:39Z dalz joined #lisp 2020-04-22T14:08:59Z jmercouris: or russian 2020-04-22T14:09:23Z Lycurgus: slavic lang lang articles but they do inflect 2020-04-22T14:09:59Z Lycurgus: unclear about nominal stative 2020-04-22T14:10:07Z Lycurgus: which chinese is big on 2020-04-22T14:10:15Z Kingsy: phoe: quite a few years, I havea degree in computing science. I use php everyday 2020-04-22T14:10:43Z phoe: Kingsy: baggers' stream should be good for you then 2020-04-22T14:10:48Z Lycurgus: s/lang lang/lang/ 2020-04-22T14:11:01Z Lycurgus: *langs actually 2020-04-22T14:11:33Z phoe: you could also always watch the Sussman/Abelson SICP lectures if you want to refresh your programming basics while also learning the basics of Lisp 2020-04-22T14:12:18Z phoe: they use Scheme rather than Common Lisp, but the difference is not very big at the level of the lectures 2020-04-22T14:12:51Z Lycurgus: it's night and day uih 2020-04-22T14:12:59Z phoe: night and day? 2020-04-22T14:13:25Z phoe: later on, yes; just not at the beginnings where they describe the syntax, basic evaluation rules, the environment model and so on 2020-04-22T14:13:30Z Lycurgus: scheme vs cl 2020-04-22T14:13:40Z jmercouris: OoO! Scheme vs CL? man 2020-04-22T14:13:42Z phoe: closures, setters, all of that translates well between scheme and CL 2020-04-22T14:13:44Z jmercouris: Why didn't Phoe think of that? 2020-04-22T14:13:48Z phoe: only later the two diverge 2020-04-22T14:13:53Z jmercouris: That seems so obvious now that you point it out 2020-04-22T14:13:59Z jmercouris: I'm done being sarcastic now 2020-04-22T14:14:01Z phoe: wait what 2020-04-22T14:14:15Z jmercouris: I'm just saying I agree with phoe 2020-04-22T14:14:51Z phoe: ......that's a very *unique* way of saying that you agree with me 2020-04-22T14:15:10Z Lycurgus waits for the ##lisp nazi 2020-04-22T14:15:20Z phoe: I'm one of them, lol 2020-04-22T14:15:45Z phoe: I simply say that SICP lectures are good enough material for getting into Common Lisp, since they're good for getting into Lisp in general 2020-04-22T14:17:19Z Kingsy: phoe: could you chuck me across some links? 2020-04-22T14:17:52Z phoe: Kingsy: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/ 2020-04-22T14:18:22Z adip quit (Quit: Lost terminal) 2020-04-22T14:20:03Z sjl_ joined #lisp 2020-04-22T14:20:50Z Kingsy: omg wow! 2020-04-22T14:20:52Z cosimone quit (Remote host closed the connection) 2020-04-22T14:21:11Z Kingsy: are these the Sussman/Abelson SICP lectures you mentioned? 2020-04-22T14:21:19Z cosimone joined #lisp 2020-04-22T14:21:26Z phoe: yesssss 2020-04-22T14:21:57Z phoe: they teach basics of "computer" "science" in general, but you can also learn the very basics of Lisp by following them 2020-04-22T14:22:45Z Kingsy: phoe: ok cool, and whats baggers' stream ? 2020-04-22T14:23:04Z Lycurgus quit (Remote host closed the connection) 2020-04-22T14:23:21Z phoe: https://www.youtube.com/playlist?list=PL2VAYZE_4wRJi_vgpjsH75kMhN4KsuzR_ 2020-04-22T14:23:50Z phoe: he starts from the very beginning, too, and uses CL from the start - if SICP is too slow for you, you might enjoy that one 2020-04-22T14:23:53Z Kingsy: perrrrrrfect thanks 2020-04-22T14:24:50Z Kingsy: I'll be using vlime much to the absolute disgust of many I am sure! :D 2020-04-22T14:25:00Z phoe: no, not necessarily 2020-04-22T14:25:24Z Kingsy: oh. I thought LISP == EMACS most of the time. 2020-04-22T14:25:30Z frgo_ quit 2020-04-22T14:26:20Z phoe: I've heard that vlime/slimv are kind of good nowadays; still subpar to slime and sly, but doable 2020-04-22T14:27:35Z Kingsy: well I am a vim nut... so sue me :D 2020-04-22T14:27:54Z phoe: there's also slima for atom that is being actively developed. which is very good, because it's a jailbreak out of the ancient "emacs or vim" box that lispers were effectively confined in ever since lisp machines died. 2020-04-22T14:27:56Z frgo joined #lisp 2020-04-22T14:28:30Z jmercouris: also lem 2020-04-22T14:28:38Z Kingsy: oh nice! I don't currently have atom but that could be worth a look see 2020-04-22T14:28:38Z jmercouris: good luck running it 2020-04-22T14:28:44Z Kingsy: hah lem? 2020-04-22T14:29:00Z jmercouris: https://github.com/cxxxr/lem 2020-04-22T14:29:01Z phoe: also lem, hemlock, and climacs - editors developed within Common Lisp 2020-04-22T14:29:08Z phoe: ...and documentation, in case of lem. 2020-04-22T14:29:22Z phoe: https://github.com/cxxxr/lem/blob/master/docs/index.html is sort of a meme by now. 2020-04-22T14:29:41Z Kingsy: oh wow! cool 2020-04-22T14:30:01Z Kingsy: very nice. All dockered up and such. 2020-04-22T14:30:20Z Kingsy: hah! 2020-04-22T14:32:07Z Kingsy: so do all of you just do LISP for fun? like I am looking to do? or is it a job requirement? 2020-04-22T14:32:24Z jmercouris: both, frequently 2020-04-22T14:32:29Z beach: Indeed. 2020-04-22T14:32:46Z jmercouris: you'll find ways to incoroporate lisp into your job if you enjoy it 2020-04-22T14:32:58Z jmercouris: that's what many do when they can't find a lisp only position 2020-04-22T14:32:58Z phoe: there are some people who do Common Lisp professionally, some researchers, some hobbyists, some people who use it for writing their personal projects and utilities, some learners, some bookwriters, some people who don't easily fit into any of these categories too 2020-04-22T14:33:36Z Kingsy: yeah 2020-04-22T14:33:49Z phoe: we've a pretty varied kin, if I can even call #lisp a "kin" 2020-04-22T14:34:00Z Kingsy: My goal (I find it helpful to have a purpose when learning something) is to build a bulk file renaming tool. 2020-04-22T14:34:12Z Kingsy: and then after that, a server health check application 2020-04-22T14:34:31Z Kingsy: phoe: well it sounds like a good mix 2020-04-22T14:34:35Z dyelar quit (Remote host closed the connection) 2020-04-22T14:34:41Z phoe: so, basically, a Lisp version of https://packages.debian.org/sid/rename ? 2020-04-22T14:34:59Z Kingsy: exactly. 2020-04-22T14:35:08Z jmercouris: could integrate with mezzano 2020-04-22T14:35:10Z phoe: and then something that accesses some network resource every X milliseconds and executing some function if it dies? 2020-04-22T14:35:11Z Kingsy: well I havent decided on specific requirements 2020-04-22T14:35:29Z Kingsy: phoe: haha! exactly again 2020-04-22T14:35:30Z phoe: both seem simple enough and could be written in Lisp as first projects, sure 2020-04-22T14:35:46Z Kingsy: yeah super simple, but both are things I need. 2020-04-22T14:36:11Z Kingsy: and I don't want to use bash. I am sick of that and moved onto elvish, but I already have a project for that. 2020-04-22T14:36:35Z phoe: sure, you can use lisp for writing these tools. 2020-04-22T14:36:41Z Kingsy: good to hear :) 2020-04-22T14:36:50Z Kingsy: thanks so much for the introduction and the links. Appreciate it 2020-04-22T14:37:01Z phoe: #clschool is a channel dedicated to people who are learning the basic; in case #lisp is full with some other discussion, you could try moving there with your questions 2020-04-22T14:37:16Z Kingsy: excellent will do 2020-04-22T14:38:06Z dale_ joined #lisp 2020-04-22T14:38:31Z dale_ is now known as dale 2020-04-22T14:42:03Z ayuce joined #lisp 2020-04-22T14:43:17Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-22T14:44:26Z rippa joined #lisp 2020-04-22T14:45:39Z bitmapper joined #lisp 2020-04-22T14:45:57Z dra quit (Quit: Leaving) 2020-04-22T14:46:23Z madage quit (Ping timeout: 240 seconds) 2020-04-22T14:46:43Z gxt quit (Ping timeout: 240 seconds) 2020-04-22T14:46:43Z corpix quit (Ping timeout: 240 seconds) 2020-04-22T14:46:44Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-04-22T14:46:44Z cantstanya quit (Ping timeout: 240 seconds) 2020-04-22T14:47:03Z zooey_ quit (Ping timeout: 240 seconds) 2020-04-22T14:47:26Z jonatack quit (Ping timeout: 256 seconds) 2020-04-22T14:49:08Z jonatack joined #lisp 2020-04-22T14:49:50Z monokrom joined #lisp 2020-04-22T14:50:05Z ljavorsk quit (Ping timeout: 258 seconds) 2020-04-22T14:57:29Z Aurora_v_kosmose joined #lisp 2020-04-22T14:59:28Z corpix joined #lisp 2020-04-22T15:00:07Z madage joined #lisp 2020-04-22T15:00:19Z cosimone quit (Remote host closed the connection) 2020-04-22T15:00:22Z zooey joined #lisp 2020-04-22T15:00:51Z cosimone joined #lisp 2020-04-22T15:00:51Z cosimone quit (Client Quit) 2020-04-22T15:01:11Z cosimone joined #lisp 2020-04-22T15:03:53Z Josh_2: When saving with asdf:make how do I drop into the repl when the entry-point function is complete? 2020-04-22T15:04:05Z lucasb joined #lisp 2020-04-22T15:04:45Z gxt joined #lisp 2020-04-22T15:05:43Z cantstanya joined #lisp 2020-04-22T15:09:13Z jmercouris: if you don't have a program-op it will allow you to drop into the REPL 2020-04-22T15:09:49Z jmercouris: that is, :build-operation 2020-04-22T15:09:49Z Josh_2: So if I remove :program-op ? 2020-04-22T15:09:59Z Josh_2: sorry 2020-04-22T15:10:02Z jmercouris: remove line :build-operation "program-op" 2020-04-22T15:10:04Z Josh_2: so if I remove :build-operation 2020-04-22T15:10:06Z Josh_2: Okay 2020-04-22T15:10:09Z Josh_2: will do. Thanks 2020-04-22T15:10:12Z cosimone quit (Remote host closed the connection) 2020-04-22T15:10:14Z jmercouris: that should work 2020-04-22T15:10:35Z jmercouris: if not, keep removing, you can remove build pathname, entry point, and you can still asdf:make something 2020-04-22T15:10:41Z cosimone joined #lisp 2020-04-22T15:11:11Z ljavorsk joined #lisp 2020-04-22T15:16:11Z cosimone_ joined #lisp 2020-04-22T15:16:35Z cosimone quit (Read error: Connection reset by peer) 2020-04-22T15:17:56Z ljavorsk quit (Ping timeout: 256 seconds) 2020-04-22T15:19:53Z Bike: it s ounds like josh might want to just run some code before entering the repl? 2020-04-22T15:20:50Z ljavorsk joined #lisp 2020-04-22T15:23:01Z sjl_ quit (Quit: WeeChat 2.3-dev) 2020-04-22T15:23:36Z phoe: that sounds like a thawing hook 2020-04-22T15:23:50Z phoe: UIOP/IMAGE:*IMAGE-RESTORE-HOOK* to be precise 2020-04-22T15:24:48Z scymtym joined #lisp 2020-04-22T15:29:58Z sunwukong quit (Quit: Leaving) 2020-04-22T15:31:43Z ljavorsk quit (Ping timeout: 260 seconds) 2020-04-22T15:33:45Z jprajzne quit (Quit: Leaving.) 2020-04-22T15:39:14Z cosimone_ quit (Remote host closed the connection) 2020-04-22T15:39:45Z cosimone_ joined #lisp 2020-04-22T15:40:45Z Cymew quit (Ping timeout: 250 seconds) 2020-04-22T15:40:54Z cosimone_ is now known as cosimone 2020-04-22T15:43:02Z SGASAU quit (Remote host closed the connection) 2020-04-22T15:44:35Z Lycurgus joined #lisp 2020-04-22T15:45:12Z cosimone_ joined #lisp 2020-04-22T15:45:27Z cosimone quit (Read error: Connection reset by peer) 2020-04-22T15:47:01Z shka_ quit (Ping timeout: 264 seconds) 2020-04-22T15:51:26Z EvW quit (Ping timeout: 240 seconds) 2020-04-22T15:56:00Z cosimone_ quit (Ping timeout: 256 seconds) 2020-04-22T15:56:08Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-22T16:01:32Z cosimone joined #lisp 2020-04-22T16:12:00Z X-Scale` joined #lisp 2020-04-22T16:14:02Z X-Scale quit (Ping timeout: 258 seconds) 2020-04-22T16:14:03Z X-Scale` is now known as X-Scale 2020-04-22T16:25:07Z hiroaki joined #lisp 2020-04-22T16:28:36Z cosimone quit (Remote host closed the connection) 2020-04-22T16:29:06Z cosimone joined #lisp 2020-04-22T16:32:07Z fanta1 quit (Quit: fanta1) 2020-04-22T16:39:59Z SGASAU joined #lisp 2020-04-22T16:43:56Z gko quit (Ping timeout: 258 seconds) 2020-04-22T16:44:26Z Xach: phoe: in my experience, referring to symbols with their full home package can be fragile in asdf/uiop. it is safer to refer to their main package, UIOP (or ASDF). 2020-04-22T16:45:42Z phoe: Xach: correct 2020-04-22T16:45:53Z phoe: so, UIOP:*IMAGE-RESTORE-HOOK* to be even more precise 2020-04-22T16:46:19Z EvW joined #lisp 2020-04-22T16:46:45Z Xach: it is a pain when generating code, since that is how they print 2020-04-22T16:47:10Z Xach could use a pprint dispatch update to get sanity or something 2020-04-22T16:48:01Z easye quit (Remote host closed the connection) 2020-04-22T16:48:43Z easye joined #lisp 2020-04-22T16:49:07Z cosimone quit (Remote host closed the connection) 2020-04-22T16:49:34Z cosimone joined #lisp 2020-04-22T17:01:18Z scymtym_ joined #lisp 2020-04-22T17:03:17Z scymtym quit (Ping timeout: 252 seconds) 2020-04-22T17:04:31Z aeth: Another argument for hierarchical packages, I guess. 2020-04-22T17:04:56Z aeth: Symbols could appear under the "top level" package. 2020-04-22T17:05:26Z Xach: I would prefer to internn in the external package and import into implementation packages. 2020-04-22T17:05:41Z phoe: that would be kinda better for modularity, honestly 2020-04-22T17:05:49Z Xach: "external" in the colloquial, not spec, sense. 2020-04-22T17:05:51Z phoe: the external package defines the protocol, the internal ones implement it 2020-04-22T17:06:02Z Bike: kind of a pain to write out, tho. 2020-04-22T17:06:10Z phoe: but then again, one could argue that the current approach is better for modularity, too 2020-04-22T17:06:11Z Bike: but maybe not, since uiop has its own defpackage operator 2020-04-22T17:06:13Z Xach: Only through pain do we achieve purity 2020-04-22T17:06:30Z phoe: uiop modules are completely separate and do not depend on external packages 2020-04-22T17:06:35Z scymtym_ quit (Ping timeout: 252 seconds) 2020-04-22T17:06:45Z phoe: unless they explicitly specify that dependency, yadda yadda 2020-04-22T17:06:54Z phoe: they export their own symbols, hence modularity. 2020-04-22T17:06:56Z phoe: welp 2020-04-22T17:07:22Z phoe: I can actually imagine a useful library that defines pprint dispatch for such symbols, after accepting some package relationships 2020-04-22T17:09:45Z jackdaniel: modularity without merit is a root of all confusion 2020-04-22T17:10:47Z phoe: I do not think I am ready to start the debate about what is the merit of uiop's modularity 2020-04-22T17:12:17Z ym_ joined #lisp 2020-04-22T17:13:48Z techquila quit (Read error: Connection reset by peer) 2020-04-22T17:13:56Z ym quit (Ping timeout: 256 seconds) 2020-04-22T17:14:10Z iAmDecim joined #lisp 2020-04-22T17:14:10Z techquila joined #lisp 2020-04-22T17:14:12Z ym_ is now known as ym 2020-04-22T17:14:37Z aeth: one-package-per-file makes sense for absolutely huge projects because otherwise it becomes an absolute mess to work with imo 2020-04-22T17:14:53Z aeth: it's just that most projects are small, and are composed, and get modularity that way 2020-04-22T17:20:35Z cosimone quit (Remote host closed the connection) 2020-04-22T17:21:04Z cosimone joined #lisp 2020-04-22T17:24:01Z xlei quit (Ping timeout: 265 seconds) 2020-04-22T17:25:28Z xlei joined #lisp 2020-04-22T17:26:09Z asarch joined #lisp 2020-04-22T17:29:04Z srandon111 joined #lisp 2020-04-22T17:29:09Z srandon111: guys i am at the lecture about the henderson - escher example... (i think it's lecture 5), and i can't understand what the professor mean when he says that by building hiis data as a function (when talking about piictures) he has all the procedures for free and can create simply an embedded language... i didn't understand how implementing pictures as functions allows this... can somebody explain? 2020-04-22T17:31:50Z Xach: what lecture? 2020-04-22T17:31:55Z Xach: SICP, I guess? 2020-04-22T17:34:47Z srandon111: Xach, yes 2020-04-22T17:35:09Z Xach: srandon111: I don't know how to make it clear to you, sorry, but the topic of this channel is common lisp. If I could figure a way to relate it to CL i'd give a shot at clarifying, but I can't, sorry. 2020-04-22T17:35:12Z srandon111: Xach, i know it's not really lisp, but scheme, but still i thought this was the most appropriate channel to ask 2020-04-22T17:35:19Z Xach: No, this is not really a good one. 2020-04-22T17:35:28Z srandon111: Xach, i am trying to do all of his excercises in common lisp 2020-04-22T17:35:37Z srandon111: Xach, that's the connection :D 2020-04-22T17:35:50Z Xach: I don't remember the exercise well enough to help, but maybe someone else does. 2020-04-22T17:35:59Z srandon111: ook thanks Xach 2020-04-22T17:38:33Z SGASAU quit (Read error: Connection reset by peer) 2020-04-22T17:42:31Z SGASAU joined #lisp 2020-04-22T17:43:02Z _death: maybe you should read the book in addition to watching the video (those students had to read the book as well...) 2020-04-22T17:44:04Z shka_ joined #lisp 2020-04-22T17:47:20Z aeth: The book's online if you're not aware: https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html 2020-04-22T17:47:33Z aeth: There's even an unofficial, alternate HTML version: https://sarabander.github.io/sicp/ 2020-04-22T17:49:45Z EarwainBanadar joined #lisp 2020-04-22T17:55:09Z efm joined #lisp 2020-04-22T17:56:49Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-22T18:00:05Z cosimone quit (Remote host closed the connection) 2020-04-22T18:00:50Z cosimone joined #lisp 2020-04-22T18:04:00Z shka_ quit (Read error: Connection reset by peer) 2020-04-22T18:04:15Z shka_ joined #lisp 2020-04-22T18:04:22Z rumbler31: srandon111: while this might not be the channel for an abstract discussion of the topic, I think you need to provide some more context for your question 2020-04-22T18:07:51Z cosimone quit (Remote host closed the connection) 2020-04-22T18:08:19Z cosimone joined #lisp 2020-04-22T18:09:36Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-22T18:09:36Z shka_ quit (Read error: Connection reset by peer) 2020-04-22T18:10:04Z shka_ joined #lisp 2020-04-22T18:20:37Z SGASAU quit (Ping timeout: 264 seconds) 2020-04-22T18:23:20Z cosimone quit (Remote host closed the connection) 2020-04-22T18:23:47Z cosimone joined #lisp 2020-04-22T18:24:12Z phoe: Could someone double-check if the double-evaluation avoidance inside my CCASE implementation is correct? 2020-04-22T18:24:19Z phoe: https://plaster.tymoon.eu/view/1769#1769 2020-04-22T18:24:59Z phoe: I think I got it right. I bind the variable to the value of KEYFORM before entering tagbody; this will prevent the keyform from being evaluated multiple times. The keyform is only placed to WITH-STORE-VALUE-RESTART because it is passed to SETF there. 2020-04-22T18:26:37Z hiroaki quit (Ping timeout: 264 seconds) 2020-04-22T18:26:39Z sauvin quit (Read error: Connection reset by peer) 2020-04-22T18:27:14Z Bike: the standard explicitly allows subforms of the place to be evaluated again, so i think you're fine. 2020-04-22T18:27:24Z SGASAU joined #lisp 2020-04-22T18:27:59Z pve: aeth: I find one-package-per-folder (module) to be a decent middle ground 2020-04-22T18:29:28Z SierraSkye joined #lisp 2020-04-22T18:30:33Z phoe: oh! good. 2020-04-22T18:30:43Z shangul quit (Ping timeout: 265 seconds) 2020-04-22T18:32:28Z SierraSkye quit (Client Quit) 2020-04-22T18:38:51Z Josh_2: I can use (sb-impl::toplevel-init) to go straight to the top level with sbcl 2020-04-22T18:39:33Z jeosol joined #lisp 2020-04-22T18:40:48Z cosimone quit (Remote host closed the connection) 2020-04-22T18:40:56Z SGASAU quit (Remote host closed the connection) 2020-04-22T18:41:17Z cosimone joined #lisp 2020-04-22T18:41:38Z SGASAU` joined #lisp 2020-04-22T18:41:52Z SGASAU` quit (Remote host closed the connection) 2020-04-22T18:42:49Z frgo_ joined #lisp 2020-04-22T18:42:50Z SGASAU joined #lisp 2020-04-22T18:44:17Z choegusung joined #lisp 2020-04-22T18:45:06Z frgo quit (Ping timeout: 240 seconds) 2020-04-22T18:45:23Z ym quit (Ping timeout: 260 seconds) 2020-04-22T18:45:47Z cosimone_ joined #lisp 2020-04-22T18:46:38Z cosimone quit (Ping timeout: 246 seconds) 2020-04-22T18:48:58Z MightyJoe is now known as cyraxjoe 2020-04-22T18:51:06Z cosimone_ quit (Ping timeout: 240 seconds) 2020-04-22T18:51:19Z cosimone_ joined #lisp 2020-04-22T18:52:44Z gravicappa quit (Ping timeout: 258 seconds) 2020-04-22T18:58:41Z shangul joined #lisp 2020-04-22T19:02:34Z iAmDecim joined #lisp 2020-04-22T19:02:55Z boeg: Anyone here using caveman2? How/for what is the db/schema.sql file supposed to be used? It's not obvious to me since as far as I understand, there is no ORM built into caveman2 - no migrations and so on - but the file is part of the skeleton, so whats the idea with it? Just to define your database layout and manually apply it? 2020-04-22T19:04:29Z EvW quit (Ping timeout: 246 seconds) 2020-04-22T19:05:20Z markasoftware: Are (load)s evaluated at compile time? 2020-04-22T19:07:04Z phoe: markasoftware: nope 2020-04-22T19:07:36Z phoe: they're evaluated at execution time 2020-04-22T19:08:58Z shangul quit (Ping timeout: 256 seconds) 2020-04-22T19:09:23Z markasoftware: ok, thanks! 2020-04-22T19:10:00Z phoe: if you're looking into compile-time loads, you might instead want to look at system-defining software, such as ASDF 2020-04-22T19:10:21Z phoe: loading stuff at compile time is non-trivial 2020-04-22T19:15:37Z azrazalea quit (Quit: ZNC 1.6.2+deb2~bpo8+1 - http://znc.in) 2020-04-22T19:17:05Z azrazalea joined #lisp 2020-04-22T19:19:00Z EvW joined #lisp 2020-04-22T19:19:52Z AdmiralBumbleBee joined #lisp 2020-04-22T19:20:30Z hiroaki joined #lisp 2020-04-22T19:20:51Z iAmDecim quit (Ping timeout: 260 seconds) 2020-04-22T19:21:00Z dyelar joined #lisp 2020-04-22T19:23:24Z markasoftware: i was looking into executable builders like buildapp 2020-04-22T19:24:11Z markasoftware: it does seem to be mostly based on asdf now that i take a closer look 2020-04-22T19:24:57Z dyelar quit (Client Quit) 2020-04-22T19:26:48Z iAmDecim joined #lisp 2020-04-22T19:27:13Z v_m_v_ joined #lisp 2020-04-22T19:28:48Z Inline joined #lisp 2020-04-22T19:31:06Z phoe: myself, I use Shinmera's deploy, which is based on uiop:dump-image 2020-04-22T19:31:25Z phoe: and it's somewhat more lispy than buildapp from what I've investigated it 2020-04-22T19:31:27Z EarwainBanadar quit (Read error: Connection reset by peer) 2020-04-22T19:31:41Z akoana joined #lisp 2020-04-22T19:31:48Z EarwainBanadar joined #lisp 2020-04-22T19:32:03Z markasoftware: yeah, i don't like that buildapp is primarily a command line tool (though there's probably some way to use it from the repl that i'm not aware of) 2020-04-22T19:33:20Z cosimone_ quit (Remote host closed the connection) 2020-04-22T19:33:49Z cosimone_ joined #lisp 2020-04-22T19:35:47Z Xach: markasoftware: not really 2020-04-22T19:36:03Z Xach: markasoftware: except you can do (buildapp::command-line "--blah" "--blah" ...) as a hack, or similar 2020-04-22T19:36:07Z markasoftware: I suppose you would know :) 2020-04-22T19:36:09Z asarch: boeg, as far I understand, that is the place where you construct all your models from zero (in a blank new app) 2020-04-22T19:36:21Z Xach: see the source of buildapp:build-buildapp 2020-04-22T19:36:25Z markasoftware: i think sb-ext:save-lisp-and-die may actually be enough for my purposes 2020-04-22T19:38:22Z Lycurgus quit (Ping timeout: 256 seconds) 2020-04-22T19:40:06Z cosimone_ quit (Quit: Terminated!) 2020-04-22T19:41:58Z markasoftware: but i'll definitely take a look at the buildapp source code to see how to include systems properly and all that 2020-04-22T19:42:16Z cosimone joined #lisp 2020-04-22T19:42:58Z ralt: I use :build-operation "asdf:program-op" :build-pathname "foo" :entry-point "foo:main" and (asdf:make #:foo) 2020-04-22T19:47:47Z Xach: markasoftware: buildapp, imho, is pretty simple. it turns the CLI args into a sequence of function calls saved to a file, then spawns a new SBCL to load that file and dump the executable. 2020-04-22T19:48:23Z Xach: markasoftware: the calls do things like extend the asdf search path, load a system, load a file, eval an expression. nothing too fancy. 2020-04-22T19:48:42Z aeth: pve: One package per directory, one package per file, and one package per project all have different tradeoffs. I'd say the main disadvantage of the middle ground approach is that it's not automated, and it doesn't produce one system per directory, unlike package-inferred-system. Even with a package-inferred-system project, you probably only want to load at the directory level anyway. 2020-04-22T19:48:55Z aeth: Files aren't necessarily a stable interface, but directories almost always should be... 2020-04-22T19:48:58Z Xach: the tricky part is setting up an environment that crashes properly in case of a problem, and unloading itself just before dumping, but you don't have to get too fancy for a specific project. 2020-04-22T19:49:04Z z147 joined #lisp 2020-04-22T19:50:42Z thonkpod quit (Ping timeout: 260 seconds) 2020-04-22T19:51:41Z thonkpod joined #lisp 2020-04-22T19:58:29Z hhdave_ joined #lisp 2020-04-22T19:59:49Z hhdave quit (Ping timeout: 258 seconds) 2020-04-22T19:59:49Z hhdave_ is now known as hhdave 2020-04-22T20:03:08Z z147 quit (Quit: z147) 2020-04-22T20:06:18Z choegusung left #lisp 2020-04-22T20:06:28Z asarch: !quicksort 2020-04-22T20:06:54Z scymtym joined #lisp 2020-04-22T20:13:14Z KDr22 quit (Ping timeout: 240 seconds) 2020-04-22T20:15:26Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-22T20:17:52Z pve: aeth: you're right.. I kinda wish asdf had some automation for one-package-per-directory, like package-inferred-system 2020-04-22T20:19:16Z aeth: It might be possible to patch it in. 2020-04-22T20:21:20Z v_m_v_ quit (Remote host closed the connection) 2020-04-22T20:21:31Z SGASAU quit (Ping timeout: 260 seconds) 2020-04-22T20:21:48Z v_m_v_ joined #lisp 2020-04-22T20:23:21Z PuercoPope joined #lisp 2020-04-22T20:23:49Z PuercoPope is now known as PuercoPop 2020-04-22T20:25:55Z KDr22 joined #lisp 2020-04-22T20:26:12Z shka_ quit (Ping timeout: 256 seconds) 2020-04-22T20:26:19Z v_m_v_ quit (Ping timeout: 250 seconds) 2020-04-22T20:26:32Z PuercoPop: oi, when writing a cffi wrapper, do both const char * and char * map map to :string? Is it not important to reflect the const in the 'lisp type'? 2020-04-22T20:27:04Z phoe: "const" is a C thing; it's gone after compilation 2020-04-22T20:28:06Z phoe: it translates to undefined behaviour if const memory is ever altered by the program, which may cause a segfault or - worse - not cause a segfault 2020-04-22T20:28:46Z phoe: if a char* pointer is defined as const by C, then your CFFI code may only read from the data this pointer points to - never write to it. 2020-04-22T20:29:08Z _death: no, it doesn't say anything about the memory itself 2020-04-22T20:29:08Z SGASAU joined #lisp 2020-04-22T20:29:23Z _death: it only says something about access to that memory via that pointer 2020-04-22T20:29:56Z _death: consider char *p = get_some_string(); const char *q = p; 2020-04-22T20:30:23Z pve quit (Quit: leaving) 2020-04-22T20:30:54Z phoe: oh wait a second 2020-04-22T20:31:10Z phoe: welp, I confused const-declared data with const pointers 2020-04-22T20:35:02Z PuercoPop: in case the answer is it is not important when declaring the c function (defcfun), right? 2020-04-22T20:35:06Z zaquest quit (Ping timeout: 256 seconds) 2020-04-22T20:35:32Z phoe: yes; CFFI has no concept of C const 2020-04-22T20:35:33Z _death: PuercoPop: right, but the expectation is that you should not modify the memory 2020-04-22T20:35:48Z phoe: it is the user who needs to remember what is const and what is not 2020-04-22T20:36:13Z phoe: or it should be the above-C-API that does not expose writers for things that were defined to be const in C 2020-04-22T20:36:26Z SGASAU quit (Remote host closed the connection) 2020-04-22T20:37:16Z SGASAU joined #lisp 2020-04-22T20:38:50Z zaquest joined #lisp 2020-04-22T20:39:02Z heisig quit (Quit: Leaving) 2020-04-22T20:40:05Z SGASAU quit (Remote host closed the connection) 2020-04-22T20:40:09Z PuercoPop: thanks 2020-04-22T20:40:48Z SGASAU joined #lisp 2020-04-22T20:44:52Z SGASAU quit (Remote host closed the connection) 2020-04-22T20:44:54Z narimiran quit (Ping timeout: 240 seconds) 2020-04-22T20:45:38Z SGASAU joined #lisp 2020-04-22T20:49:16Z shifty quit (Ping timeout: 258 seconds) 2020-04-22T20:55:56Z keep_learning joined #lisp 2020-04-22T21:04:29Z verisimilitude joined #lisp 2020-04-22T21:05:39Z verisimilitude: I've a quick question regarding CLOS: Isn't COMPUTE-APPLICABLE-METHODS usable as a caching method to avoid extra dispatching; assuming this is a correct understanding, where could I perhaps find a nice example of using it for this, or otherwise see how to use its result well? 2020-04-22T21:07:21Z Bike: caching how? what do you mean? 2020-04-22T21:07:27Z v_m_v_ joined #lisp 2020-04-22T21:08:21Z verisimilitude: I want to compute the applicable methods once and then repeatedly use the result, since it should always be valid to do so, if possible. 2020-04-22T21:09:16Z phoe: verisimilitude: I think many CLOS implementations perform that optimization 2020-04-22T21:09:56Z phoe: the result of c-a-m for a given set of classes may be cached as long as no methods are added/removed; doing such invalidates the cache 2020-04-22T21:10:15Z phoe: or rather, a set of specializers - we need to take EQL-specializers into account 2020-04-22T21:10:24Z Bike: compute-applicable-methods gets you a list of methods. the actual behavior of the generic function is called the effective method, and you can get that with mop... kinda. 2020-04-22T21:10:36Z Bike: but yeah, usually the applicable methods aren't computed every call. that would be real expensive. 2020-04-22T21:10:37Z p_l: _death: isn't const a declaration on the value of the pointer, i.e. the address? 2020-04-22T21:11:10Z phoe: p_l: depends on where the const is placed I guess - see https://stackoverflow.com/questions/1143262/what-is-the-difference-between-const-int-const-int-const-and-int-const 2020-04-22T21:11:56Z phoe: CFFI doesn't deal with any of those on its own, it's up to the caller to remember and use these 2020-04-22T21:11:56Z verisimilitude: The main complication I'm facing is actually using the return value of COMPUTE-APPLICABLE-METHODS, as I've never needed to do so before and it seems to involve those queer local forms. 2020-04-22T21:12:18Z p_l: phoe: I'll just say *JESUS FUCK* 2020-04-22T21:12:40Z verisimilitude: Why are you needing to deal with C types anyway, p_l? 2020-04-22T21:13:08Z p_l: verisimilitude: not me, it was talked earlier in terms of dealing with CFFI 2020-04-22T21:13:33Z p_l: I'm personally of the opinion that operating systems and shared libraries should have language agnostic IDL specs 2020-04-22T21:13:47Z p_l: so that I can use them from Lisp without worry 2020-04-22T21:14:07Z verisimilitude: Oh, alright; I don't care to deal with CFFI at all, but using Ada has made me aware of how other languages do it much better, but Ada also has this standardized and embedded into its design from the start. 2020-04-22T21:14:34Z verisimilitude: Unfortunately, UNIX won out, but you'd like VMS, from what I've read. 2020-04-22T21:14:46Z phoe: verisimilitude: it seems that on SBCL the results of c-a-m are not cached, only the effective method function is 2020-04-22T21:15:05Z Bike: verisimilitude: you mean call-method and make-method? 2020-04-22T21:15:23Z verisimilitude: Yes, and I believe there's others, Bike. 2020-04-22T21:15:33Z Bike: no, should pretty much just be those... 2020-04-22T21:15:50Z Bike: those are part of the effective method, like i said. they make getting an actual function for the effective method difficult for the programmer. 2020-04-22T21:15:51Z verisimilitude: I could've continued playing with it, but thought I'd just ask here for advice, instead. 2020-04-22T21:16:17Z Bike: mop compute-effective-method 2020-04-22T21:16:17Z specbot: http://metamodular.com/CLOS-MOP/compute-effective-method.html 2020-04-22T21:16:28Z verisimilitude: I'll read this; I appreciate your help, Bike. 2020-04-22T21:16:49Z Bike: mhm. if i had more idea of what your endgoal is i could maybe be more helpful 2020-04-22T21:16:52Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-22T21:17:02Z verisimilitude: Is it necessary to use the MOP to get what I want? 2020-04-22T21:17:15Z Bike: well, i'm not sure precisely what it is that you want. 2020-04-22T21:17:27Z verisimilitude: This relates to a program of mine which is too slow and I want to optimize it. I'll link to it now. 2020-04-22T21:17:35Z verisimilitude: http://verisimilitudes.net/sha.lisp 2020-04-22T21:18:34Z iAmDecim joined #lisp 2020-04-22T21:18:37Z Bike: so you don't want blockhash to dispatch in the loop? 2020-04-22T21:18:50Z verisimilitude: I've a HASH generic function which internally uses my BLOCKHASH, which destructively modifies the object it dispatches on, and an obvious optimization is computing BLOCKHASH's dispatch once. 2020-04-22T21:18:55Z verisimilitude: Yes, Bike. 2020-04-22T21:19:33Z verisimilitude: If it's still too slow, I'll bother to use a profiler, but this is an optimization I wanted to do anyway. 2020-04-22T21:20:06Z Bike: You could avoid messing with the mop or anything by instead defining a "blockhasher" generic function, methods of which return a function that carries out the operation. 2020-04-22T21:20:25Z ahungry quit (Remote host closed the connection) 2020-04-22T21:20:36Z Bike: i think someone might have had a library for doing what you want, though... let me try to refresh my memory 2020-04-22T21:20:40Z verisimilitude: I've thought of that approach, yes, but was trying to salvage the current design, instead. 2020-04-22T21:20:46Z verisimilitude: You're thinking of Ironclad. 2020-04-22T21:20:57Z Bike: No, a library for this precomputation, I mean 2020-04-22T21:21:23Z verisimilitude: Oh; I wouldn't be interested in using the library, but I suppose I'd be interested in reading it. 2020-04-22T21:21:32Z phoe: Bike: https://heisig.xyz/sealable-metaobjects.pdf ? 2020-04-22T21:21:34Z Bike: https://github.com/marcoheisig/fast-generic-functions this one, maybe? 2020-04-22T21:21:38Z phoe: https://github.com/alex-gutev/static-dispatch ? 2020-04-22T21:21:44Z phoe: oh right, heisig's stuff 2020-04-22T21:22:08Z jackdaniel: inlined-generic-functions by guicho 2020-04-22T21:22:50Z phoe: these are all similar approaches, AFAIK heisig's and alex's stuff builds on guicho's i-g-f 2020-04-22T21:28:11Z Lord_of_Life quit (Excess Flood) 2020-04-22T21:28:36Z Lord_of_Life joined #lisp 2020-04-22T21:29:30Z hiroaki quit (Ping timeout: 256 seconds) 2020-04-22T21:30:47Z asarch quit (Ping timeout: 246 seconds) 2020-04-22T21:31:34Z efm quit (Ping timeout: 240 seconds) 2020-04-22T21:34:12Z vmhost quit (Ping timeout: 256 seconds) 2020-04-22T21:35:36Z EarwainBanadar quit (Read error: Connection reset by peer) 2020-04-22T21:37:05Z EarwainBanadar joined #lisp 2020-04-22T21:38:29Z efm joined #lisp 2020-04-22T21:39:38Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-22T21:43:53Z reggie_ quit (Remote host closed the connection) 2020-04-22T21:44:10Z Grue` quit (Quit: ZNC 1.7.2 - https://znc.in) 2020-04-22T21:44:16Z reggie_ joined #lisp 2020-04-22T21:44:26Z Grue` joined #lisp 2020-04-22T21:44:52Z wooden quit (Read error: Connection reset by peer) 2020-04-22T21:44:53Z lacroixboy_ joined #lisp 2020-04-22T21:44:59Z wooden joined #lisp 2020-04-22T21:44:59Z wooden quit (Changing host) 2020-04-22T21:44:59Z wooden joined #lisp 2020-04-22T21:45:28Z hhdave quit (Read error: Connection reset by peer) 2020-04-22T21:46:04Z hhdave joined #lisp 2020-04-22T21:46:57Z Mandus quit (Ping timeout: 265 seconds) 2020-04-22T21:47:26Z eMBee quit (Ping timeout: 265 seconds) 2020-04-22T21:47:31Z Mandus joined #lisp 2020-04-22T21:47:43Z eMBee joined #lisp 2020-04-22T21:47:55Z lemoinem quit (Ping timeout: 265 seconds) 2020-04-22T21:47:55Z flip214 quit (Ping timeout: 265 seconds) 2020-04-22T21:47:55Z Tordek quit (Ping timeout: 265 seconds) 2020-04-22T21:47:55Z ozzloy quit (Ping timeout: 265 seconds) 2020-04-22T21:47:55Z acolarh quit (Ping timeout: 265 seconds) 2020-04-22T21:47:55Z mason quit (Ping timeout: 265 seconds) 2020-04-22T21:48:08Z ayuce left #lisp 2020-04-22T21:48:18Z flip214 joined #lisp 2020-04-22T21:48:20Z lemoinem joined #lisp 2020-04-22T21:48:21Z mason joined #lisp 2020-04-22T21:48:24Z lacroixboy__ quit (Ping timeout: 265 seconds) 2020-04-22T21:48:34Z ozzloy joined #lisp 2020-04-22T21:48:34Z ozzloy quit (Changing host) 2020-04-22T21:48:34Z ozzloy joined #lisp 2020-04-22T21:49:12Z Tordek joined #lisp 2020-04-22T21:51:05Z acolarh joined #lisp 2020-04-22T21:51:46Z SGASAU quit (Remote host closed the connection) 2020-04-22T21:52:31Z SGASAU joined #lisp 2020-04-22T21:52:39Z Lord_of_Life_ joined #lisp 2020-04-22T21:53:33Z Xach: sha.lisp can't be compiled, and when compiled, it can't run. at least not in sbcl. 2020-04-22T21:53:54Z Xach: i was interested in trying it because i recently made some sha stuff and wanted to compare results, but i can't get it working. 2020-04-22T21:54:56Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-22T21:54:57Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-22T22:00:11Z Xach gets procmail flashbacks 2020-04-22T22:03:06Z SGASAU quit (Remote host closed the connection) 2020-04-22T22:03:29Z cosimone quit (Remote host closed the connection) 2020-04-22T22:03:55Z SGASAU joined #lisp 2020-04-22T22:03:57Z cosimone joined #lisp 2020-04-22T22:09:14Z iAmDecim joined #lisp 2020-04-22T22:12:36Z karlosz joined #lisp 2020-04-22T22:23:03Z madage quit (Ping timeout: 240 seconds) 2020-04-22T22:23:49Z Inline: i'm confused about the clos algorithm for class-precedence-list 2020-04-22T22:23:58Z Inline: hmmmm 2020-04-22T22:24:10Z Bike: what's the confusion 2020-04-22T22:25:26Z Inline: depth-first,left-to-right,up-to-joins, and then the descriptions in the amop with different sortings, my confusion is basically about the splits 2020-04-22T22:26:04Z Inline: so depth-first is depth-first-up-to-splits ? 2020-04-22T22:26:09Z Inline: right ? 2020-04-22T22:26:17Z fe[nl]ix: cgay: you have to manually download asdf and load it in your .sbclrc before loading quicklisp 2020-04-22T22:26:57Z Xach: fe[nl]ix: what is the context there? 2020-04-22T22:28:12Z fe[nl]ix: Xach: using ASDF3 with quicklisp 2020-04-22T22:28:34Z Inline: and saw a graph where it also looks like not left-to-right.... 2020-04-22T22:28:36Z Xach: fe[nl]ix: sbcl comes with asdf3, also cgay did not write anything recently (that i can see) 2020-04-22T22:29:36Z fe[nl]ix: at least, handling your own ASDF is my favorite solution because I can upgrade it faster than SBCL does 2020-04-22T22:30:28Z Xach: ok 2020-04-22T22:30:55Z fe[nl]ix: it's definitely true that using the latest SBCL release is sufficient in most cases 2020-04-22T22:31:00Z verisimilitude: I've not had any issue compiling it with ECL, and I don't see why SBCL would have the issue, so will you provide more detail, Xach? 2020-04-22T22:31:23Z Xach: verisimilitude: no, i won't. if you're curious, try it in sbcl. 2020-04-22T22:31:33Z verisimilitude: I try it in SBCL and it works fine. 2020-04-22T22:31:51Z verisimilitude: I'm using SBCL 1.3.7. 2020-04-22T22:34:28Z verisimilitude: I see now there's still an error with a class not yet existing; I'll work on a correction for this, if it's actually an error. 2020-04-22T22:36:23Z madage joined #lisp 2020-04-22T22:37:26Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-22T22:37:57Z __jrjsmrtn__ joined #lisp 2020-04-22T22:38:34Z _jrjsmrtn quit (Ping timeout: 256 seconds) 2020-04-22T22:39:25Z v_m_v_ quit (Remote host closed the connection) 2020-04-22T22:39:47Z efm quit (Ping timeout: 250 seconds) 2020-04-22T22:39:55Z v_m_v_ joined #lisp 2020-04-22T22:40:44Z iAmDecim joined #lisp 2020-04-22T22:42:40Z v_m_v_ quit (Read error: No route to host) 2020-04-22T22:43:05Z v_m_v_ joined #lisp 2020-04-22T22:46:19Z cosimone quit (Quit: Quit.) 2020-04-22T22:47:14Z random-nick quit (Ping timeout: 240 seconds) 2020-04-22T22:49:38Z whiteline quit (Read error: Connection reset by peer) 2020-04-22T22:51:28Z whiteline joined #lisp 2020-04-22T22:52:16Z v_m_v_ quit (Remote host closed the connection) 2020-04-22T22:52:26Z techquila quit (Remote host closed the connection) 2020-04-22T22:52:43Z v_m_v_ joined #lisp 2020-04-22T22:56:33Z Inline quit (Quit: Leaving) 2020-04-22T22:57:26Z SGASAU quit (Remote host closed the connection) 2020-04-22T22:57:30Z v_m_v_ quit (Ping timeout: 256 seconds) 2020-04-22T22:57:35Z pierpa joined #lisp 2020-04-22T22:57:53Z SGASAU` joined #lisp 2020-04-22T22:58:06Z msk quit (Remote host closed the connection) 2020-04-22T22:58:51Z msk joined #lisp 2020-04-22T22:59:43Z iAmDecim quit (Ping timeout: 250 seconds) 2020-04-22T22:59:56Z pilne_ joined #lisp 2020-04-22T23:00:05Z pilne_ quit (Client Quit) 2020-04-22T23:00:09Z verisimilitude: Dealing with SBCL reminds me of something, though; I was getting a queer macroexpansion error due to a malformed DECLARE, but this wasn't being evaluated, and so it seems this is a flaw. 2020-04-22T23:01:33Z verisimilitude: Now I seem to have corrected the SBCL compilation issue, by giving up on using DEFCONSTANT with my CLOS objects, using DEFVAR instead, but there's something else odd that prevents compilation; I've defined my SHA::F function in a way which could return NIL, but never actually will, and SBCL refuses to compile it due to this, but I won't be changing that function. 2020-04-22T23:02:01Z pilne quit (Ping timeout: 264 seconds) 2020-04-22T23:02:05Z fe[nl]ix: cgay: right :D 2020-04-22T23:02:09Z Bike: declarations are messages to the compiler. if the compiler can't interpret them it's a problem regardless of whether that code path is actually executed 2020-04-22T23:02:28Z SGASAU` quit (Remote host closed the connection) 2020-04-22T23:02:37Z verisimilitude: Since I was using MACROEXPAND-1, it should just be treated as a normal list. 2020-04-22T23:02:45Z Bike: as for that f function, looks like you could maybe just declare position to be an (integer 0 (80)) 2020-04-22T23:02:50Z verisimilitude: It wasn't actually being executed. 2020-04-22T23:02:56Z Xach: fe[nl]ix: Is cgay writing in this channel? 2020-04-22T23:03:19Z verisimilitude: I could, Bike, but I'm not going to make an unnecessary change just for SBCL. 2020-04-22T23:03:22Z SGASAU` joined #lisp 2020-04-22T23:03:42Z Bike: um, okay. 2020-04-22T23:03:45Z verisimilitude: You'd agree the issue here is with SBCL, right? 2020-04-22T23:03:58Z verisimilitude: I don't see a reason it shouldn't compile the code. 2020-04-22T23:04:07Z Bike: well, i don't know what you mean by refuse to compile. is it issuing you a type warning? 2020-04-22T23:04:16Z verisimilitude: Perhaps it's SLIME doing this. 2020-04-22T23:04:43Z verisimilitude: Yes, it was just SLIME doing that. 2020-04-22T23:05:05Z Bike: compile-file issuing an error conceptually means failure, still, so i guess that could work 2020-04-22T23:05:17Z verisimilitude: It's just warnings, not failures. 2020-04-22T23:05:27Z verisimilitude: Alright; I'll upload my changes and you can try testing again, if you care to, Xach. 2020-04-22T23:05:45Z Xach: verisimilitude: if i wanted to compute the sha256 value for a file, what is the right thing to run? 2020-04-22T23:05:59Z fe[nl]ix: Xach: yes, he is 2020-04-22T23:06:02Z verisimilitude: (SHA:HASH SHA:256 #p"file") 2020-04-22T23:06:27Z verisimilitude: I'll need a minute to upload this change, though. 2020-04-22T23:06:29Z Xach: fe[nl]ix: It's weird, but I don't see anything he writes either via this account and client or on another account and client. 2020-04-22T23:06:43Z SGASAU` quit (Remote host closed the connection) 2020-04-22T23:06:51Z Xach: Does anyone else see anything cgay writes? 2020-04-22T23:07:41Z verisimilitude: I'm not seeing anytihng from a cgay, and I don't ignore anyone. 2020-04-22T23:07:46Z SGASAU` joined #lisp 2020-04-22T23:07:47Z fe[nl]ix: is this a ghost movie ? 2020-04-22T23:07:53Z keep_learning joined #lisp 2020-04-22T23:07:55Z Xach: maybe? 2020-04-22T23:08:03Z Xach: I wonder if it's a channel or user mode coming into play? 2020-04-22T23:08:30Z Bike: no messages from cgay in any of the three logs. 2020-04-22T23:08:39Z Bike: ...or my client. 2020-04-22T23:08:42Z cgay: Xach: how about now? 2020-04-22T23:08:45Z Xach: fe[nl]ix: do you smell burnt toast or oranges? 2020-04-22T23:08:46Z Xach: hi cgay! 2020-04-22T23:08:56Z cgay: heh. I forgot to identify 2020-04-22T23:08:58Z Xach: cgay: what is happening? 2020-04-22T23:08:58Z edgar-rft: looks as if cgay is fe[nl]ix's imaginative friend, cannot see either 2020-04-22T23:09:03Z Xach: ah 2020-04-22T23:09:21Z Xach: mystery solved, thank you 2020-04-22T23:09:31Z edgar-rft: ah yes, now I see cgay 2020-04-22T23:09:57Z cgay: Xach: well I think I have a somewhat weird situation, which is that my sbcl doesn't have asdf in it, so it's using the old 2.26 (IIRC) asdf in Quicklisp. 2020-04-22T23:10:23Z cgay: and that was confusing for a while, but fe[nl]ix sorted me out. 2020-04-22T23:10:23Z Xach: cgay: ok. fe[nl]ix is right, then. you could copy asdf.lisp over sbcl's version also. 2020-04-22T23:10:33Z Xach: but loading in sbclrc is also fine 2020-04-22T23:11:07Z Xach: err, over quicklisp's version that is 2020-04-22T23:11:39Z cgay: roight...gotcha 2020-04-22T23:12:57Z cgay: Xach: but ... maybe upgrade the version of asdf in quicklisp? (probably there are reasons why it needs the older version?) 2020-04-22T23:13:19Z Xach: cgay: i'd rather have implementations provide the asdf version that works best for their users. 2020-04-22T23:13:37Z bitmapper: hmm 2020-04-22T23:13:43Z cgay: :thumbsup: 2020-04-22T23:13:49Z bitmapper: i cannot find a copy of allegro cl/lispworks 4.1 for irix 2020-04-22T23:13:56Z Xach: when quicklisp was starting, asdf2 seemed like a strong upgrade from asdf1 and worth pushing out with quicklisp simultaneously. 2020-04-22T23:14:15Z Xach: the asdf3 process has been much less clear cut to me 2020-04-22T23:14:49Z Xach: i am bummed by the confusion it causes when there's no implementation asdf but i haven't settled on a way out of that yet 2020-04-22T23:15:25Z Xach: bitmapper: if i had a nickel for every user coming to #lisp with that complaint... 2020-04-22T23:15:40Z bitmapper: you'd have two? 2020-04-22T23:16:19Z SGASAU` quit (Remote host closed the connection) 2020-04-22T23:16:33Z fe[nl]ix: I'm working on publishing my own SBCL binaries, with minimal patches 2020-04-22T23:16:58Z bitmapper: fe[nl]ix: ? 2020-04-22T23:17:00Z jason_m joined #lisp 2020-04-22T23:17:02Z SGASAU` joined #lisp 2020-04-22T23:17:08Z bitmapper: wait, for irix, or was that poor timing 2020-04-22T23:17:15Z fe[nl]ix: I figured out how to statically link it to libfixposix, and I'll bundle a newer ASDF and possibly Quicklisp too 2020-04-22T23:17:21Z fe[nl]ix: bitmapper: no, on Linux 2020-04-22T23:17:30Z bitmapper: yeah that makes sense lol 2020-04-22T23:19:40Z iAmDecim joined #lisp 2020-04-22T23:21:09Z Oladon joined #lisp 2020-04-22T23:24:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-22T23:24:04Z Xach: verisimilitude: does (SHA:HASH SHA:256 #p"file") work for you in sbcl? 2020-04-22T23:25:32Z verisimilitude: Well, I'm testing the FASL and now I'm getting another odd error, involving my SHA::COPY-STATUS-STATUS, because an array isn't of an (AND VECTOR (NOT SIMPLE-ARRAY)) type. 2020-04-22T23:25:48Z verisimilitude: So now I'm working on that. 2020-04-22T23:27:32Z verisimilitude: This is happening in multiple implementations, so it was somehow caused by changing the DEFCONSTANT to a DEFVAR. 2020-04-22T23:27:43Z Misha_B joined #lisp 2020-04-22T23:28:03Z verisimilitude: ECL has given a better error message I can use, so that's nice. 2020-04-22T23:28:57Z verisimilitude: I see it now, so I'll just need a few more minutes to correct this and upload the changes, Xach. 2020-04-22T23:30:05Z lxbarbosa joined #lisp 2020-04-22T23:39:12Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-22T23:39:13Z monokrom quit (Remote host closed the connection) 2020-04-22T23:43:32Z efm joined #lisp 2020-04-22T23:44:27Z cgay: So is ESL2020 free now that it's all online or is there some place I can give them $$? Didn't see anything on the website yesterday. 2020-04-22T23:49:57Z Xach: cgay: free - don't know about donating or otherwise paying https://twitter.com/elsconf/status/1249994741455949825 2020-04-22T23:51:08Z cgay: Thanks Xach 2020-04-22T23:55:25Z wxie joined #lisp 2020-04-23T00:03:41Z pilne joined #lisp 2020-04-23T00:13:19Z verisimilitude: Well, not only does it now work properly when compiled with SBCL, but it's leagues faster, fast enough for practical purposes. Due to that, I was able to test it on more files and uncovered an additional error I'd overlooked. 2020-04-23T00:13:30Z verisimilitude: It should be fine now, Xach, still at that URL. 2020-04-23T00:14:09Z verisimilitude: If you want to see it as a string, you could call it like this instead: 2020-04-23T00:14:09Z verisimilitude: (SHA:STRING (SHA:HASH SHA:256 #p"file")) 2020-04-23T00:17:52Z ArthurStrong joined #lisp 2020-04-23T00:20:13Z Lycurgus joined #lisp 2020-04-23T00:22:35Z wxie1 joined #lisp 2020-04-23T00:24:02Z wxie quit (Ping timeout: 265 seconds) 2020-04-23T00:24:02Z wxie1 is now known as wxie 2020-04-23T00:34:19Z Oladon quit (Quit: Leaving.) 2020-04-23T00:35:30Z SGASAU` quit (Remote host closed the connection) 2020-04-23T00:36:13Z SGASAU` joined #lisp 2020-04-23T00:42:07Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-23T00:44:01Z efm quit (Ping timeout: 264 seconds) 2020-04-23T00:45:30Z Bourne quit (Ping timeout: 256 seconds) 2020-04-23T00:46:00Z msk_ joined #lisp 2020-04-23T00:48:14Z msk quit (Ping timeout: 240 seconds) 2020-04-23T00:49:12Z Lycurgus quit (Remote host closed the connection) 2020-04-23T00:49:20Z patlv quit (Quit: patlv) 2020-04-23T00:50:46Z efm joined #lisp 2020-04-23T00:51:15Z orivej quit (Ping timeout: 260 seconds) 2020-04-23T00:54:22Z efm quit (Excess Flood) 2020-04-23T00:54:46Z efm joined #lisp 2020-04-23T00:55:50Z Oladon joined #lisp 2020-04-23T01:02:16Z EvW quit (Ping timeout: 256 seconds) 2020-04-23T01:04:12Z msk_ quit (Remote host closed the connection) 2020-04-23T01:04:30Z msk_ joined #lisp 2020-04-23T01:05:19Z SGASAU` quit (Remote host closed the connection) 2020-04-23T01:05:20Z bitmapper quit (Ping timeout: 256 seconds) 2020-04-23T01:06:07Z SGASAU` joined #lisp 2020-04-23T01:06:20Z ayuce joined #lisp 2020-04-23T01:08:25Z ayuce quit (Remote host closed the connection) 2020-04-23T01:08:54Z frgo_ quit (Ping timeout: 240 seconds) 2020-04-23T01:09:16Z asarch joined #lisp 2020-04-23T01:11:40Z ayuce joined #lisp 2020-04-23T01:14:28Z jonatack quit (Ping timeout: 256 seconds) 2020-04-23T01:16:27Z jonatack joined #lisp 2020-04-23T01:17:37Z zaquest quit (Quit: Leaving) 2020-04-23T01:22:10Z zaquest joined #lisp 2020-04-23T01:27:58Z lemoinem quit (Killed (barjavel.freenode.net (Nickname regained by services))) 2020-04-23T01:27:59Z lemoinem joined #lisp 2020-04-23T01:40:55Z aindilis quit (Ping timeout: 250 seconds) 2020-04-23T01:46:31Z iAmDecim joined #lisp 2020-04-23T01:47:22Z gko joined #lisp 2020-04-23T01:48:04Z ArthurStrong: Hi all. How 'describe' works? How it pulls a first string in function? 2020-04-23T01:48:27Z Xach: ArthurStrong: that string is called a docstring and it is generally available via the DOCUMENTATION function. 2020-04-23T01:48:45Z Xach: ArthurStrong: what DESCRIBE does is not very strictly specified. 2020-04-23T01:48:54Z Xach: it might show the docstring or it might not 2020-04-23T01:49:09Z ArthurStrong: I meant, if I'm writing toy LISP interpreter. How could I implement it? 2020-04-23T01:49:40Z no-defun-allowed: Attach a documentation string to each function object. 2020-04-23T01:50:00Z ArthurStrong: no-defun-allowed: ah, attach an additional string to a symbol? 2020-04-23T01:50:10Z Xach: ArthurStrong: what language are you writing your toy lisp in? 2020-04-23T01:50:10Z ArthurStrong: no-defun-allowed: and fill it while parsing? 2020-04-23T01:50:16Z ArthurStrong: Xach: pure C 2020-04-23T01:50:17Z no-defun-allowed: I would rather attach it to the function object. 2020-04-23T01:51:18Z no-defun-allowed: ArthurStrong: No, evaluate (lambda (args ...) "documentation string" body ...) to be a function with arguments ARGS, documentation "documentation string" and body BODY. 2020-04-23T01:51:20Z Xach: ArthurStrong: what reference works (aside from #lisp) are you using in your project? 2020-04-23T01:51:31Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-23T01:52:04Z no-defun-allowed: Rule 1 of Lisp interpreting: never preprocess anything in the reader. Everything is evaluated at eval-time (well, except for #.foo, which causes an eval-time in read-time). 2020-04-23T01:52:53Z aindilis joined #lisp 2020-04-23T01:53:46Z ArthurStrong: Is docstring evaluates at each execution or is skipped? 2020-04-23T01:54:19Z Xach oh boy 2020-04-23T01:54:42Z no-defun-allowed: A string, by definition, is self-evaluating. 2020-04-23T01:55:20Z ArthurStrong: Somehow, describe can fetch whatever string evaluates first :) 2020-04-23T01:55:24Z no-defun-allowed: There is no point to evaluating a documentation string. 2020-04-23T01:55:55Z no-defun-allowed: No, the documentation string is separate to the function body. It isn't evaluated. 2020-04-23T01:57:56Z no-defun-allowed: clhs LAMBDA 2020-04-23T01:57:56Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_lambda.htm 2020-04-23T01:58:11Z SGASAU` quit (Remote host closed the connection) 2020-04-23T01:58:39Z no-defun-allowed: The syntax definition tells us that the documentation is separate to the body of the function. 2020-04-23T01:58:48Z ArthurStrong: OK 2020-04-23T01:58:49Z ArthurStrong: thanks 2020-04-23T01:59:07Z SGASAU` joined #lisp 2020-04-23T01:59:48Z no-defun-allowed: "lambda lambda-list [[declaration* | documentation]] form*" means it starts with LAMBDA, then there are some (possibly zero) number of declarations and documentation strings (the first of which is the documentation), then there are forms that constitute the body. 2020-04-23T02:00:50Z no-defun-allowed: (Actually, no, if there are multiple documentation strings, "the consequences are unspecified". Picking the first would probably be the least surprising.) 2020-04-23T02:01:43Z kingcons quit (Ping timeout: 250 seconds) 2020-04-23T02:02:35Z karstensrage quit (Quit: ZNC - http://znc.in) 2020-04-23T02:02:49Z shinohai quit (Quit: If you are reading this then I have left the channel.) 2020-04-23T02:03:03Z shinohai joined #lisp 2020-04-23T02:03:34Z anlsh-nopass joined #lisp 2020-04-23T02:03:36Z HiRE quit (Quit: Later) 2020-04-23T02:04:00Z HiRE joined #lisp 2020-04-23T02:04:42Z Guest35635 joined #lisp 2020-04-23T02:05:12Z sveit quit (Ping timeout: 260 seconds) 2020-04-23T02:06:02Z Oladon quit (Quit: Leaving.) 2020-04-23T02:06:14Z sveit joined #lisp 2020-04-23T02:08:37Z efm quit (Ping timeout: 264 seconds) 2020-04-23T02:08:39Z kingcons joined #lisp 2020-04-23T02:09:48Z torbo joined #lisp 2020-04-23T02:13:57Z anlsh-nopass left #lisp 2020-04-23T02:14:01Z anlsh-nopass joined #lisp 2020-04-23T02:20:41Z iAmDecim joined #lisp 2020-04-23T02:26:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-23T02:27:37Z Oladon joined #lisp 2020-04-23T02:30:16Z anlsh-nopass quit (Ping timeout: 240 seconds) 2020-04-23T02:30:49Z torbo quit (Remote host closed the connection) 2020-04-23T02:31:00Z torbo joined #lisp 2020-04-23T02:35:49Z theosvoitha joined #lisp 2020-04-23T02:41:20Z Josh_2 quit (Ping timeout: 256 seconds) 2020-04-23T02:41:58Z wxie quit (Ping timeout: 265 seconds) 2020-04-23T02:41:58Z nightfly quit (Ping timeout: 265 seconds) 2020-04-23T02:44:14Z frgo joined #lisp 2020-04-23T02:44:52Z Xach quit (Ping timeout: 265 seconds) 2020-04-23T02:45:33Z Xach joined #lisp 2020-04-23T02:46:46Z nightfly joined #lisp 2020-04-23T02:49:03Z madage quit (Ping timeout: 240 seconds) 2020-04-23T02:52:06Z ahungry joined #lisp 2020-04-23T02:55:52Z iAmDecim joined #lisp 2020-04-23T02:58:57Z turona quit (Ping timeout: 272 seconds) 2020-04-23T03:00:03Z pierpa quit (Remote host closed the connection) 2020-04-23T03:00:06Z shifty joined #lisp 2020-04-23T03:00:11Z turona joined #lisp 2020-04-23T03:10:33Z madage joined #lisp 2020-04-23T03:28:26Z pilne quit (Quit: Few women admit their age. Few men act theirs.) 2020-04-23T03:29:58Z beach: Good morning everyone! 2020-04-23T03:47:45Z akoana quit (Quit: leaving) 2020-04-23T03:48:36Z EarwainBanadar quit (Remote host closed the connection) 2020-04-23T03:50:50Z EarwainBanadar joined #lisp 2020-04-23T03:52:51Z Samo_svoj: anyone knows microservices framework for lisp? 2020-04-23T03:52:59Z lxbarbosa quit (Ping timeout: 246 seconds) 2020-04-23T03:53:47Z loke: Samo_svoj: What would you expect such a framework to provide? I've built such things in the past, and the "framework" was really no mure than a few tens of lines of scaffolding around Hunchentoot. 2020-04-23T03:54:05Z Samo_svoj: ES/CQRS? 2020-04-23T03:54:46Z no-defun-allowed: What do those acronyms mean? 2020-04-23T03:54:52Z Aurora_v_kosmose: Those are design patterns afaik. 2020-04-23T03:55:01Z no-defun-allowed: Also, morning beach 2020-04-23T03:55:21Z Samo_svoj: loke: + good parallel features + graphql capacity + speed comparable to Rust :) 2020-04-23T03:55:48Z Samo_svoj: no-defun-allowed: event sourcing / command-query responsibility segragation 2020-04-23T03:55:51Z Aurora_v_kosmose: That's not generally a feature of microservices as a general thing. 2020-04-23T03:55:58Z no-defun-allowed: But what are they? (And we don't do design patterns in Lisp.) 2020-04-23T03:56:03Z no-defun-allowed: Okay. 2020-04-23T03:57:55Z Samo_svoj: no-defun-allowed: ES = it means that everything you do you have to write in database (db is append-only). After some time you do snapshot and if you restart microservice you do reply. 2020-04-23T03:58:52Z no-defun-allowed: Right, so everything is encoded as a change to something instead of replacement? 2020-04-23T03:59:35Z Samo_svoj: no-defun-allowed: CQRS - it means everything you do from client side has to be propagated through database, recorded, and then activity has to be done back. there is no update table only in web browser, for example. 2020-04-23T04:00:11Z Aurora_v_kosmose: So... blocking transactions. 2020-04-23T04:00:49Z drmeister: How do lispers feel about print-object methods that print objects over multiple lines? 2020-04-23T04:00:49Z Samo_svoj: Aurora_v_kosmose: maybe it is not but this is one highly bespoke microservice framework 2020-04-23T04:01:09Z drmeister: Good? Bad? Indifferent? 2020-04-23T04:01:27Z no-defun-allowed: Usually good. 2020-04-23T04:01:39Z Bike quit (Quit: Lost terminal) 2020-04-23T04:01:44Z Aurora_v_kosmose: Pretty-printing is good for readability. 2020-04-23T04:01:50Z drmeister: I have some that kinda go on... 2020-04-23T04:01:51Z drmeister: https://www.irccloud.com/pastebin/T3M1orZM/ 2020-04-23T04:02:24Z no-defun-allowed: I can't remember how my define-tuple macro (which does everything) invokes the pretty printer stuff exactly, but it does go on multiple lines. 2020-04-23T04:02:25Z drmeister: Should I be using the pretty printer better? 2020-04-23T04:02:30Z loke: drmeister: I usuallt find it to be a hassle if it's note done well. 2020-04-23T04:02:45Z drmeister: Any advice on doing it well? 2020-04-23T04:03:04Z loke: drmeister: Specifically, I often do stuff like: (format t "foo:~a, bar:~a~%" x y) 2020-04-23T04:03:25Z drmeister: I want to view these in terminals and slime buffers and sldb - you know the drill. 2020-04-23T04:03:51Z no-defun-allowed: (pprint-newline :miser) everything 2020-04-23T04:04:00Z drmeister: Commas and colons after the name? For shame! 2020-04-23T04:04:04Z drmeister is kidding. 2020-04-23T04:05:51Z drmeister: no-defun-allowed: How do you use (pprint-newline :miser)? In what context? 2020-04-23T04:08:43Z no-defun-allowed: I invoke it from a pprint-logical-block inside print-unreadable-object: https://gitlab.com/cal-coop/netfarm/netfarm/-/blob/master/Code/macros.lisp#L75 2020-04-23T04:08:55Z Samo_svoj: as far as I can see Hunchentoot is http/1.1 not 2.0 or 3.0 compliant? 2020-04-23T04:09:23Z no-defun-allowed: That file is ancient as far as I am concerned. 2020-04-23T04:09:35Z no-defun-allowed: Yeah, HTTPs 2 and 3 are much harder to implement than 1.1. 2020-04-23T04:11:46Z Aurora_v_kosmose: If it's a hard requirement, FFI-wrapping some lib that provides it may be a usable interim solution. 2020-04-23T04:12:14Z asarch: Bingo! SELECT * FROM student ORDER BY id DESC LIMIT (20-10+1) OFFSET 10; is (ql:quickload :sxql) (select :* (from (:student)) (order-by :id (:desc :id)) (limit (- 20 (+ 10 1))) (offset 10)) 2020-04-23T04:12:23Z loke: drmeister: I use that form in log outpit (log4cl) 2020-04-23T04:12:41Z loke: It coul dbe controversial yes :-) 2020-04-23T04:13:42Z no-defun-allowed: In my opinion, HTTP/2 is reasonable, and multiplexing and data pre-fetching are fair play, but additionally having to deal with congestion control with Google's QUIC transport protocol is just peak webshit. 2020-04-23T04:14:31Z Samo_svoj: no-defun-allowed: in mobile world it is not. 2020-04-23T04:15:05Z Aurora_v_kosmose: Eh, 5G will help with that nonsense. 2020-04-23T04:15:46Z Aurora_v_kosmose: But having to implement a secondary protocol on top of http does sound like a much larger workload. 2020-04-23T04:16:02Z loke: Samo_svoj: I usually put haproxy or ngnix in front of Hunchentoot and to TLS termination there. That's where the HTTP/2 is handled. 2020-04-23T04:16:17Z loke: It then calls hunchentoot using HTTP/1.1 on the backend. 2020-04-23T04:16:56Z Samo_svoj: loke: is there a library for session types? 2020-04-23T04:17:06Z loke: What do you mean by session types? 2020-04-23T04:17:12Z no-defun-allowed: To implement a HTTP/3 server, I understand one also has to implement the QUIC protocol; but otherwise there don't seem to be any more changes or advantages from HTTP/2 other than "haha version number is bigger". 2020-04-23T04:18:50Z Samo_svoj: loke: http://simonjf.com/2016/05/28/session-type-implementations.html 2020-04-23T04:19:54Z loke: Samo_svoj: What is the goal you want to achieve? (I'm sorry, but reading that blog post is not something I have time to do right now) 2020-04-23T04:20:22Z Aurora_v_kosmose: Type-checking or just type-dependent behavior? You can do the latter with CLOS. 2020-04-23T04:20:34Z EarwainBanadar quit (Remote host closed the connection) 2020-04-23T04:21:16Z torbo quit (Remote host closed the connection) 2020-04-23T04:21:17Z EarwainBanadar joined #lisp 2020-04-23T04:22:13Z Samo_svoj: lake: to write performant microservices and to reason about their communication. 2020-04-23T04:25:20Z Samo_svoj: lake: when I say 'performant', I mean 'speed comparable to C' 2020-04-23T04:25:29Z Aurora_v_kosmose: Samo_svoj: https://blog.30dor.com/2014/03/21/performance-and-types-in-lisp/ 2020-04-23T04:27:04Z Aurora_v_kosmose: Samo_svoj: You'd represent session types as CLOS classes & optimize methods based what you expect. 2020-04-23T04:31:47Z beach: Aurora_v_kosmose: The term "CLOS class" is meaningless, since all classes in Common Lisp are CLOS classes. 2020-04-23T04:32:31Z Aurora_v_kosmose: beach: Touche. It's redundant. 2020-04-23T04:33:04Z beach: Usually, when people use that term, they mean "standard classes" as in what you get by default when you use DEFCLASS to define one. 2020-04-23T04:33:17Z loke: Samo_svoj: SBCL has performance on the same order of magnitude as C, yes. It can in places be even faster. 2020-04-23T04:33:52Z Aurora_v_kosmose: beach: I was assuming unfamilarity with CL's object system and providing a keyword to lookup. 2020-04-23T04:34:06Z loke: Samo_svoj: I created a template parser that generates native code (it outputs Lisp forms and passes them through COMPILE). I'd argue that that template system is one of the fastest ever created. 2020-04-23T04:36:04Z loke: For sessions, most frameworks simply dynamically nind the session object for the duration of the handler. That makes the code pretty clean. Here's an example in a project I did: https://github.com/lokedhs/potato/blob/master/src/potato/api.lisp#L710 2020-04-23T04:36:17Z loke: REST API methods are defined using DEFINE-API-METHOD 2020-04-23T04:38:26Z no-defun-allowed: I would say it's possible to get (100 - small number)% of the speed of C in small number% of the time with Common Lisp; and there are optimisations that can be done that are just plain impossible with static languages. 2020-04-23T04:49:15Z gko quit (Ping timeout: 260 seconds) 2020-04-23T04:50:55Z asarch quit (Quit: Leaving) 2020-04-23T04:51:52Z Oladon quit (Quit: Leaving.) 2020-04-23T04:52:06Z vlatkoB joined #lisp 2020-04-23T04:58:49Z beach: Do we have any construct that would alter the result of get-setf-expansion in a non-null lexical environment? 2020-04-23T05:00:01Z dddddd quit (Ping timeout: 256 seconds) 2020-04-23T05:00:37Z beach: I am asking because get-setf-expansion takes an optional environment argument, and I am wondering whether it is used only to distinguish between the compilation environment and the run-time environment, or whether there can be any information in a lexical environment that can alter the expansion. 2020-04-23T05:10:46Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-23T05:16:02Z sauvin joined #lisp 2020-04-23T05:19:27Z drot quit (Ping timeout: 260 seconds) 2020-04-23T05:20:29Z drot joined #lisp 2020-04-23T05:21:18Z SDP joined #lisp 2020-04-23T05:22:32Z SDP left #lisp 2020-04-23T05:23:39Z gravicappa joined #lisp 2020-04-23T05:30:27Z ahungry quit (Remote host closed the connection) 2020-04-23T05:32:13Z narimiran joined #lisp 2020-04-23T05:34:02Z phoe: beach: the only thing that comes to my mind is the possibility of local macros 2020-04-23T05:34:14Z phoe: but does GET-SETF-EXPANSION expand macros at all? 2020-04-23T05:39:08Z shka_ joined #lisp 2020-04-23T05:39:37Z phoe: it does seem that it expands macros 2020-04-23T05:39:51Z phoe: therefore it'll need &env for MACROLET-defined ones 2020-04-23T05:39:53Z beach: I see. Let me check... 2020-04-23T05:42:05Z beach: Where did you see that it expands macros? 2020-04-23T05:42:46Z phoe: beach: https://plaster.tymoon.eu/view/1771#1771 2020-04-23T05:43:48Z shka_ quit (Ping timeout: 256 seconds) 2020-04-23T05:43:50Z beach: I see. I meant, where in the standard? 2020-04-23T05:44:32Z phoe: that is the hard pard, I'm reading 5.1.1 now 2020-04-23T05:44:39Z shka_ joined #lisp 2020-04-23T05:46:34Z phoe: clhs 5.1.2.7 2020-04-23T05:46:34Z specbot: Macro Forms as Places: http://www.lispworks.com/reference/HyperSpec/Body/05_abg.htm 2020-04-23T05:46:50Z phoe: a macro can be used as a place, which means that passing a macro form to GET-SETF-EXPANSION is valid 2020-04-23T05:47:01Z phoe: which means that a local macro is valid too, and for that, we need &env 2020-04-23T05:47:16Z beach: Excellent! Thanks! 2020-04-23T05:47:24Z phoe: no problem 2020-04-23T05:49:18Z beach: So if there is both a global setf expander and a macro for a form, the global setf expander is used if I understand things right. 2020-04-23T05:49:29Z beach: I should try an experiment for that. 2020-04-23T05:50:27Z phoe: it seems so 2020-04-23T05:50:39Z phoe: "Such macro expansion is attempted only after exhausting all other possibilities other than expanding into a call to a function named (setf reader)." 2020-04-23T05:50:56Z beach: Yes, that's the one I am trying to understand. 2020-04-23T05:50:59Z phoe: so other options are preferable 2020-04-23T05:51:23Z phoe: if you have a macro FOO, then a setf expander for (SETF FOO) will take precedence over macroexpanding FOO 2020-04-23T05:52:03Z JohnMS_WORK joined #lisp 2020-04-23T05:52:13Z beach: I think I understand. 2020-04-23T05:52:56Z phoe: like, you can define SETF FOO do perform some actual setting - you can't do that if your FOO expands into e.g. (let ((x 42)) ...) 2020-04-23T05:53:03Z phoe: that's because SETF LET is undefined 2020-04-23T05:53:20Z phoe: and you can work around this by defining a SETF FOO expansion yourself that will make actual sense 2020-04-23T05:55:11Z phoe: macroexpanding a form is SETF's next-to-last resort 2020-04-23T05:55:17Z beach: Yes, I think I get it. 2020-04-23T05:55:19Z phoe: the last resort is funcalling #'(SETF FOO) 2020-04-23T05:55:21Z beach: Thanks again. 2020-04-23T05:55:32Z phoe: no problem 2020-04-23T05:59:34Z beach: So I need to figure out the best way of checking whether some place would result in a setf expasion of funcalling #'(setf ). 2020-04-23T05:59:38Z Cymew joined #lisp 2020-04-23T05:59:59Z phoe: I think the place algorithm will give you that 2020-04-23T06:00:18Z phoe: when you exhaust all other options available to you, all that remains is #'(setf foo) 2020-04-23T06:00:38Z beach: But how do I go about exhausting all other options, is my question. 2020-04-23T06:00:42Z phoe: like, you can go through all the options of clhs 5.1.2 2020-04-23T06:01:05Z phoe: is it a varable? is it a function call? is it a VALUES call?... etc.. 2020-04-23T06:01:30Z phoe: until you hit 2020-04-23T06:01:33Z phoe: clhs 5.1.2.9 2020-04-23T06:01:33Z specbot: Other Compound Forms as Places: http://www.lispworks.com/reference/HyperSpec/Body/05_abi.htm 2020-04-23T06:02:25Z beach: I don't see how that can work. 2020-04-23T06:03:22Z beach: I am supposed to NOT consider macro forms and symbol macros until the very end. 2020-04-23T06:04:12Z phoe: yes - let's assume that you get a symbol to your SETF form 2020-04-23T06:04:36Z phoe: that'll either be a variable, 5.1.2.1, or a symbol macro, 5.1.2.8 2020-04-23T06:04:46Z beach: Right. 2020-04-23T06:05:26Z beach: Then I do the symbol macro first. 2020-04-23T06:05:53Z phoe: correct, but that's also because the two are mutually exclusive 2020-04-23T06:06:04Z jprajzne joined #lisp 2020-04-23T06:06:11Z phoe: a symbol can be either bound as a symbol macro or as a variable in the lexical environment 2020-04-23T06:06:20Z beach: Sure. 2020-04-23T06:06:35Z phoe: that leaves SETFing compound forms 2020-04-23T06:06:43Z phoe: if you get a compound form, you can immediately check for standard functions, VALUES, THE, and APPLY - that covers 5.1.2.2-5.1.2.5 2020-04-23T06:06:59Z phoe: for non-standard forms, you check if a setf expansion for it exists - 5.1.2.6 2020-04-23T06:07:11Z phoe: if not, you try to macroexpand it, 5.1.2.7 2020-04-23T06:07:21Z phoe: if not, it's time to #'(setf foo) - 5.1.2.9 applies 2020-04-23T06:07:35Z beach: OK, so how do I check whether a setf expander exists? 2020-04-23T06:07:51Z beach: I guess that is where I use my internal magic. 2020-04-23T06:08:29Z beach: I mean, I can't use get-setf-expansion, because that's the one I am coding up. 2020-04-23T06:08:48Z phoe: sure, you check your internal store for setf expansions 2020-04-23T06:08:50Z phoe: whatever that store is 2020-04-23T06:08:58Z beach: Yes, I think I get it. 2020-04-23T06:09:20Z beach: I'll go off and ponder this and see what happens. 2020-04-23T06:09:35Z beach: I am repeating myself, but thanks again! 2020-04-23T06:09:39Z phoe: sure, please keep me updated on that 2020-04-23T06:09:42Z phoe: it's interesting stuff 2020-04-23T06:09:45Z beach: Will do. 2020-04-23T06:11:10Z phoe: the SBCL comments have a bit of insight on the matter, https://github.com/sbcl/sbcl/blob/f91a81120579aeb010383182a8e9607c3bf0ad97/src/code/setf.lisp#L50 2020-04-23T06:12:04Z beach: Yeah, that's helpful. 2020-04-23T06:16:57Z orivej joined #lisp 2020-04-23T06:18:03Z _paul0 quit (Remote host closed the connection) 2020-04-23T06:18:25Z paul0 joined #lisp 2020-04-23T06:29:05Z karlosz quit (Quit: karlosz) 2020-04-23T06:38:01Z pve joined #lisp 2020-04-23T06:38:41Z random-nick joined #lisp 2020-04-23T06:40:41Z Bourne joined #lisp 2020-04-23T06:56:11Z SGASAU` quit (Remote host closed the connection) 2020-04-23T06:57:01Z SGASAU` joined #lisp 2020-04-23T07:03:37Z SvetaBilya joined #lisp 2020-04-23T07:06:39Z SvetaBilya quit (Client Quit) 2020-04-23T07:13:02Z Cymew quit (Quit: Konversation terminated!) 2020-04-23T07:17:00Z Cymew joined #lisp 2020-04-23T07:21:25Z wxie joined #lisp 2020-04-23T07:22:54Z boeg: Anyone have experience with caveman and mito? I'm not quite sure how to connect the two properly. Is all that needs to be edited found in the db.lisp file, or is there other places where I need to do something so caveman2 is configured properly with mito? 2020-04-23T07:35:56Z arbv quit (Quit: ZNC - https://znc.in) 2020-04-23T07:36:20Z arbv joined #lisp 2020-04-23T07:38:33Z nika joined #lisp 2020-04-23T07:42:16Z v_m_v_ joined #lisp 2020-04-23T07:43:56Z Necktwi joined #lisp 2020-04-23T07:47:28Z gko joined #lisp 2020-04-23T07:48:35Z Krystof joined #lisp 2020-04-23T07:54:19Z jdz quit (Quit: ZNC - http://znc.in) 2020-04-23T07:58:03Z jdz joined #lisp 2020-04-23T08:00:08Z wxie quit (Ping timeout: 256 seconds) 2020-04-23T08:21:20Z Cymew: It's Fukamachiware, which usually means it's not that well documented, and I get the impression you need to have done web development in ruby to understand what the code is trying to achieve. 2020-04-23T08:21:55Z Cymew: I don't even understand what mito is used for. There seems to be some kind of db support in caveman these days, but maybe you're interested in doing something more complex. 2020-04-23T08:28:56Z Zakkor_ joined #lisp 2020-04-23T08:29:12Z dale quit (Quit: My computer has gone to sleep) 2020-04-23T08:30:26Z Zakkor_ is now known as Zakkor 2020-04-23T08:31:58Z ljavorsk joined #lisp 2020-04-23T08:34:12Z v_m_v_ quit (Remote host closed the connection) 2020-04-23T08:34:15Z Ven`` joined #lisp 2020-04-23T08:34:38Z v_m_v_ joined #lisp 2020-04-23T08:35:06Z ArthurStrong quit (Ping timeout: 265 seconds) 2020-04-23T08:36:52Z ArthurStrong joined #lisp 2020-04-23T08:37:17Z jmercouris: what are monads? can someone explain them in a way I can understand? 2020-04-23T08:37:30Z jmercouris: I've been working with this question since university... 2020-04-23T08:38:10Z jmercouris: is it just a chain of funcall results??? 2020-04-23T08:39:18Z v_m_v_ quit (Ping timeout: 256 seconds) 2020-04-23T08:40:50Z aeth: jmercouris: https://stackoverflow.com/questions/3870088/a-monad-is-just-a-monoid-in-the-category-of-endofunctors-whats-the-problem 2020-04-23T08:40:51Z phoe: Lisp is a poor language to use monads in because Lisp has mutable state - see https://marijnhaverbeke.nl/monad.html 2020-04-23T08:41:09Z aeth: jmercouris: It's basically a thing that satisfies algebraic properties 2020-04-23T08:41:48Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-23T08:42:21Z TMA: jmercouris: generally, in order to understand monads you need to understand monads first. people who understand monads lose the ability to explain them to people that dont 2020-04-23T08:42:44Z SGASAU joined #lisp 2020-04-23T08:43:20Z phoe: I'll allow myself to post https://en.wikibooks.org/wiki/Haskell/Understanding_monads and route the discussion to #lispcafe since it clearly isn't about Lisp (since Lisp doesn't force you to understand monads in order to use the language in a sensible way) 2020-04-23T08:43:54Z msk_ quit (Remote host closed the connection) 2020-04-23T08:44:12Z cosimone joined #lisp 2020-04-23T08:45:28Z jmercouris: thanks for the links, maybe it will help to read marijn's post 2020-04-23T08:46:10Z pjb: jmercouris: In CL, method-combinations are monads. 2020-04-23T08:46:13Z phoe: or join #lispcafe 2020-04-23T08:46:41Z jmercouris: I left lispcafe sometime ago, because the discussion was not so friendly at times :-( 2020-04-23T08:47:24Z phoe: you can always escalate to the mods 2020-04-23T08:50:02Z phoe: like, e.g., me 2020-04-23T08:50:02Z choegusung joined #lisp 2020-04-23T08:50:02Z choegusung quit (Client Quit) 2020-04-23T08:50:26Z jmercouris: just read the Marijn article 2020-04-23T08:50:34Z jmercouris: very fascinating stuff, I'm glad we don't have that nonsense in CL 2020-04-23T08:50:48Z phoe: we don't need to, since CL allows imperative programming 2020-04-23T08:50:51Z jmercouris: this obsession with "purity" makes things unusable 2020-04-23T08:51:08Z jmercouris: what I like about CL is its pragmatism 2020-04-23T08:51:28Z jmercouris: it is not just a toy language, restricted to academic ivory towers 2020-04-23T08:51:45Z barodaret joined #lisp 2020-04-23T08:51:49Z phoe: neither is Haskell, but that's already off-topic 2020-04-23T08:51:49Z jmercouris: yet it is fully suitable for academic research as well due to some wonderful properties 2020-04-23T08:52:01Z phoe goes back to writing 2020-04-23T08:52:02Z jmercouris: I didn't bring up haskell, that was you :-D 2020-04-23T08:52:10Z jmercouris: I'm just preaching to the choir here :-D 2020-04-23T09:07:29Z pjb: jmercouris: if you need more links about monads: http://haskell.readscheme.org/monads.html http://dorophone.blogspot.com/2011/04/deep-emacs-part-1.html http://dorophone.blogspot.com/2011/05/hyperturtle-monad-makes-pretty-pictures.html 2020-04-23T09:07:29Z pjb: 2020-04-23T09:07:55Z pjb: jmercouris: notably the deep-emacs page explains monad to emacs lisp programmers, so it might be particularly understandable. 2020-04-23T09:17:58Z hhdave quit (Read error: Connection reset by peer) 2020-04-23T09:43:03Z madage quit (Ping timeout: 240 seconds) 2020-04-23T09:52:44Z Lord_of_Life_ joined #lisp 2020-04-23T09:53:53Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-04-23T09:54:04Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-23T10:02:05Z ym joined #lisp 2020-04-23T10:03:28Z v_m_v_ joined #lisp 2020-04-23T10:06:55Z v_m_v_ quit (Remote host closed the connection) 2020-04-23T10:07:23Z v_m_v_ joined #lisp 2020-04-23T10:12:15Z v_m_v_ quit (Ping timeout: 265 seconds) 2020-04-23T10:16:25Z v_m_v_ joined #lisp 2020-04-23T10:18:58Z amerlyq joined #lisp 2020-04-23T10:28:09Z EvW1 joined #lisp 2020-04-23T10:35:22Z SGASAU quit (Remote host closed the connection) 2020-04-23T10:35:24Z Shinmera: Just a note on yesterday's discussion :) https://shinmera.github.io/dns-client/ 2020-04-23T10:35:55Z phoe: holy cow you're fast 2020-04-23T10:36:04Z SGASAU joined #lisp 2020-04-23T10:36:23Z jackdaniel: and furious 2020-04-23T10:38:59Z phoe: when Shinmera gets angry he constructs a dns client in a day 2020-04-23T10:39:19Z Shinmera: I ain't even mad 2020-04-23T10:39:57Z phoe: at this rate you gotta get an animal groomer license 2020-04-23T10:40:21Z phoe: or the police might come knocking at your door with questions about all the yaks you have shaved 2020-04-23T10:43:24Z v_m_v_ quit (Remote host closed the connection) 2020-04-23T10:43:50Z v_m_v_ joined #lisp 2020-04-23T10:44:43Z v_m_v_ quit (Remote host closed the connection) 2020-04-23T10:44:51Z v_m_v_ joined #lisp 2020-04-23T10:46:48Z phoe: I gotta finish being angry myself 2020-04-23T10:47:09Z phoe: my angry is currently at 143 pages and 6 ASDF systems 2020-04-23T10:47:47Z jackdaniel: and what exactly are you angry at? perceived inconsistence between handler-case and handler-bind? 2020-04-23T10:51:54Z shifty quit (Ping timeout: 256 seconds) 2020-04-23T10:53:46Z phoe: nope, not really 2020-04-23T10:54:14Z phoe: I was originally angry at the fact that there's no "good" tutorial to the Lisp condition system that shows how to construct it from scratch 2020-04-23T10:54:39Z scymtym quit (Ping timeout: 260 seconds) 2020-04-23T10:55:07Z phoe: and now I'm angry at the fact that my tutorial turned into a book 2020-04-23T11:06:46Z entel joined #lisp 2020-04-23T11:07:11Z Xach: a book is ok 2020-04-23T11:07:43Z _death is concerned, not yet angry, about alexandria :/ 2020-04-23T11:08:30Z phoe: _death: which parts exactly? 2020-04-23T11:08:47Z v_m_v_ quit (Remote host closed the connection) 2020-04-23T11:11:39Z _death: not sure I want to go into it right now.. maybe it's better to ignore and hope for the best 2020-04-23T11:11:46Z v_m_v_ joined #lisp 2020-04-23T11:13:00Z dyelar joined #lisp 2020-04-23T11:13:13Z phoe: the only hopes that are valid for alexandria are hopes that it'll become as ossified as ANSI CL 2020-04-23T11:13:23Z phoe: ;; at least in my opinion 2020-04-23T11:22:23Z gxt quit (Ping timeout: 240 seconds) 2020-04-23T11:23:12Z gxt joined #lisp 2020-04-23T11:25:12Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-23T11:28:02Z pjb: Shinmera: told you… 2020-04-23T11:28:12Z Shinmera: I didn't doubt you! 2020-04-23T11:30:13Z pjb: DNS-PORT should not be a constant… 2020-04-23T11:32:47Z lemoinem is now known as Guest65992 2020-04-23T11:32:47Z Guest65992 quit (Killed (livingstone.freenode.net (Nickname regained by services))) 2020-04-23T11:32:48Z lemoinem joined #lisp 2020-04-23T11:33:20Z madage joined #lisp 2020-04-23T11:35:51Z v_m_v_ quit (Remote host closed the connection) 2020-04-23T11:36:24Z v_m_v_ joined #lisp 2020-04-23T11:38:20Z v_m_v_ quit (Read error: No route to host) 2020-04-23T11:38:47Z v_m_v_ joined #lisp 2020-04-23T11:39:56Z Xach feels a quicklisp dist shaping up 2020-04-23T11:41:50Z Zakkor quit (Quit: Connection closed for inactivity) 2020-04-23T11:44:11Z Shinmera: ! 2020-04-23T11:44:36Z v_m_v_ quit (Ping timeout: 256 seconds) 2020-04-23T11:46:55Z Necktwi quit (Ping timeout: 260 seconds) 2020-04-23T11:49:25Z v_m_v_ joined #lisp 2020-04-23T11:53:55Z Bike joined #lisp 2020-04-23T11:54:58Z v_m_v_ quit (Ping timeout: 256 seconds) 2020-04-23T11:55:09Z ardoc joined #lisp 2020-04-23T11:55:39Z phoe: yes, you feel something. I must know what you are feeling 2020-04-23T12:00:15Z sabrac joined #lisp 2020-04-23T12:01:47Z wxie joined #lisp 2020-04-23T12:05:43Z ljavorsk quit (Remote host closed the connection) 2020-04-23T12:06:02Z ljavorsk joined #lisp 2020-04-23T12:06:36Z SGASAU quit (Remote host closed the connection) 2020-04-23T12:07:14Z SGASAU joined #lisp 2020-04-23T12:09:57Z EvW1 quit (Ping timeout: 272 seconds) 2020-04-23T12:13:05Z ljavorsk quit (Ping timeout: 265 seconds) 2020-04-23T12:17:02Z ReginaRus joined #lisp 2020-04-23T12:17:12Z ljavorsk joined #lisp 2020-04-23T12:20:04Z ReginaRus quit (Client Quit) 2020-04-23T12:21:47Z ljavorsk quit (Ping timeout: 265 seconds) 2020-04-23T12:27:46Z shifty joined #lisp 2020-04-23T12:28:42Z Xach: the auspices and omens all tell the same tale 2020-04-23T12:28:55Z Xach: "nothing major is broken and it is almost the end of the month" 2020-04-23T12:29:07Z phoe: quick, time to break something! 2020-04-23T12:31:57Z Xach: don't you dare 2020-04-23T12:32:08Z phoe: okay 2020-04-23T12:40:03Z MichaelRaskin: Hm, looks like some of the disappeared packages are now reuploaded by other people (or at least clx-truetype is…) 2020-04-23T12:42:25Z Bike: beach: I didn't see anyone mention it - in a lexical environment with flet bindings for "f", the global setf expander for "f" doesn't apply 2020-04-23T12:42:55Z beach: Bike: I see. Thanks. 2020-04-23T12:43:23Z holycow joined #lisp 2020-04-23T12:43:24Z beach: Very important. 2020-04-23T12:46:59Z Bike: also, if it does end up being a macro form, you have to use macroexpand-1 rather than macroexpand, so that if the thing immediately expanded into has a setf expander, you use that instead of macroexpanding 2020-04-23T12:47:16Z pjb: (defun (setf f) (nv x) (print (list '(setf f) nv x)) x) (flet ((f (x) (print (list 'f x)) x)) (incf (f 2))) #| 2020-04-23T12:47:16Z pjb: (f 2) 2020-04-23T12:47:16Z pjb: ((setf f) 3 2) --> 2 |# 2020-04-23T12:47:27Z pjb: Bike: why do you say so? 2020-04-23T12:47:39Z dddddd joined #lisp 2020-04-23T12:47:44Z beach: Bike: Another good point, yes. 2020-04-23T12:47:56Z pjb: Bike: nothing is said in clhs about shadowing (setf f) by (flet ((f )) …)! 2020-04-23T12:48:15Z mrcom quit (Quit: This computer has gone to sleep) 2020-04-23T12:48:28Z pjb: (defun (setf f) (nv x) (print (list '(setf f) nv x)) x) (flet ((f (x) (print (list 'f x)) x) ((setf f) (nv x) (print (list '(new setf f) nv x)) x)) (incf (f 2))) #| 2020-04-23T12:48:28Z pjb: (f 2) 2020-04-23T12:48:28Z pjb: ((new setf f) 3 2) --> 2 |# 2020-04-23T12:48:40Z pjb: if you want to shadow it, you need to bind it in flet yourself! 2020-04-23T12:49:12Z Misha_B quit (Ping timeout: 256 seconds) 2020-04-23T13:02:27Z lieven: 5.1.2.9 seems to be applicable 2020-04-23T13:11:35Z jonatack_ joined #lisp 2020-04-23T13:14:42Z jonatack quit (Ping timeout: 256 seconds) 2020-04-23T13:22:26Z jonatack_ quit (Quit: jonatack_) 2020-04-23T13:22:56Z jonatack joined #lisp 2020-04-23T13:30:33Z ebrasca joined #lisp 2020-04-23T13:32:21Z SGASAU quit (Remote host closed the connection) 2020-04-23T13:33:14Z SGASAU joined #lisp 2020-04-23T13:36:22Z patlv joined #lisp 2020-04-23T13:38:24Z Ven`` quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-23T13:38:27Z holycow quit (Quit: Lost terminal) 2020-04-23T13:52:49Z v_m_v_ joined #lisp 2020-04-23T13:53:47Z ljavorsk joined #lisp 2020-04-23T13:57:13Z sz0 quit (Quit: Connection closed for inactivity) 2020-04-23T13:57:47Z nowhere_man joined #lisp 2020-04-23T13:58:34Z Cymew quit (Ping timeout: 240 seconds) 2020-04-23T14:04:12Z theosvoitha joined #lisp 2020-04-23T14:05:01Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-23T14:05:24Z bitmapper joined #lisp 2020-04-23T14:11:18Z efm joined #lisp 2020-04-23T14:15:12Z gabiruh_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-23T14:15:33Z gabiruh joined #lisp 2020-04-23T14:20:53Z samebchase-2 left #lisp 2020-04-23T14:26:13Z frgo quit 2020-04-23T14:35:06Z ljavorsk quit (Ping timeout: 256 seconds) 2020-04-23T14:39:14Z wxie quit (Ping timeout: 265 seconds) 2020-04-23T14:43:30Z v_m_v_ quit (Remote host closed the connection) 2020-04-23T14:44:15Z Bike: Shinmera: by the way, you could define a default single-float-bits and double-float-bits using integer-decode-float, assuming they're supposed to return the IEEE754 formats... it'll work, though it'll be slower than what the implementation can do, and I don't think you can do it the other way precisely 2020-04-23T14:44:26Z rippa joined #lisp 2020-04-23T14:45:02Z Shinmera: Hmm. 2020-04-23T14:46:12Z Shinmera: Not sure that's a good idea, since you said /assuming/ they return the IEEE formats. 2020-04-23T14:46:29Z Shinmera: So it would require testing per implementation, anyway. 2020-04-23T14:47:37Z ArthurStrong quit (Quit: leaving) 2020-04-23T14:51:07Z Bike: well, i meant, assuming that's what you want returned. you shoudl be able to tell from standard functions whether a single-float will fit. 2020-04-23T14:51:35Z Bike: like, check float-radix is 2, float-digits is 24 or less for a single, and the exponent is in range. 2020-04-23T14:51:50Z Bike: and if not you can do a not supported error. 2020-04-23T14:52:45Z Bike: there's also a standard feature for ieee754 conformance 2020-04-23T14:56:38Z shangul joined #lisp 2020-04-23T14:59:45Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-23T15:05:38Z Inline joined #lisp 2020-04-23T15:06:41Z cosimone quit (Remote host closed the connection) 2020-04-23T15:07:20Z cosimone joined #lisp 2020-04-23T15:14:50Z notzmv quit (Ping timeout: 256 seconds) 2020-04-23T15:15:35Z CrazyEddy quit (Ping timeout: 250 seconds) 2020-04-23T15:20:26Z Lycurgus joined #lisp 2020-04-23T15:21:55Z Josh_2 joined #lisp 2020-04-23T15:57:43Z Lycurgus quit (Remote host closed the connection) 2020-04-23T16:00:34Z whiteline quit (Remote host closed the connection) 2020-04-23T16:01:01Z whiteline joined #lisp 2020-04-23T16:02:04Z whiteline quit (Remote host closed the connection) 2020-04-23T16:03:31Z whiteline joined #lisp 2020-04-23T16:03:38Z whiteline quit (Remote host closed the connection) 2020-04-23T16:04:19Z whiteline joined #lisp 2020-04-23T16:05:06Z whiteline quit (Remote host closed the connection) 2020-04-23T16:05:33Z whiteline joined #lisp 2020-04-23T16:08:45Z whiteline quit (Read error: Connection reset by peer) 2020-04-23T16:08:58Z whiteline joined #lisp 2020-04-23T16:11:03Z Archenoth joined #lisp 2020-04-23T16:15:14Z X-Scale quit (Ping timeout: 265 seconds) 2020-04-23T16:17:13Z [X-Scale] joined #lisp 2020-04-23T16:17:28Z [X-Scale] is now known as X-Scale 2020-04-23T16:17:59Z Posterdati quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-04-23T16:29:15Z gko quit (Ping timeout: 265 seconds) 2020-04-23T16:37:53Z easye quit (Remote host closed the connection) 2020-04-23T16:38:15Z easye joined #lisp 2020-04-23T16:45:21Z anlsh joined #lisp 2020-04-23T16:55:12Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-23T16:56:46Z shka_ quit (Ping timeout: 256 seconds) 2020-04-23T17:00:53Z Posterdati joined #lisp 2020-04-23T17:01:45Z iAmDecim joined #lisp 2020-04-23T17:03:09Z unassuming-anlsh joined #lisp 2020-04-23T17:04:24Z anlsh left #lisp 2020-04-23T17:04:48Z SGASAU quit (Remote host closed the connection) 2020-04-23T17:04:53Z anlsh joined #lisp 2020-04-23T17:05:45Z SGASAU joined #lisp 2020-04-23T17:08:51Z EvW joined #lisp 2020-04-23T17:09:00Z Other-anlsh joined #lisp 2020-04-23T17:10:31Z karlosz joined #lisp 2020-04-23T17:13:22Z anlsh-2000 joined #lisp 2020-04-23T17:14:34Z Other-anlsh quit (Remote host closed the connection) 2020-04-23T17:15:08Z anlsh quit (Remote host closed the connection) 2020-04-23T17:16:36Z anlsh joined #lisp 2020-04-23T17:16:55Z anlsh-2000 left #lisp 2020-04-23T17:16:59Z anlsh-2000 joined #lisp 2020-04-23T17:20:49Z Bike quit (Ping timeout: 250 seconds) 2020-04-23T17:21:00Z ayuce left #lisp 2020-04-23T17:22:43Z CrazyEddy joined #lisp 2020-04-23T17:23:05Z Inline quit (Ping timeout: 265 seconds) 2020-04-23T17:24:23Z anlsh left #lisp 2020-04-23T17:24:33Z anlsh joined #lisp 2020-04-23T17:25:25Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-23T17:26:50Z duncan_ joined #lisp 2020-04-23T17:27:00Z testing-account- joined #lisp 2020-04-23T17:27:03Z PuercoPop quit (Remote host closed the connection) 2020-04-23T17:30:10Z quazimod1 joined #lisp 2020-04-23T17:32:10Z benjamin-l joined #lisp 2020-04-23T17:33:13Z quazimodo quit (Ping timeout: 264 seconds) 2020-04-23T17:33:19Z Rrrr joined #lisp 2020-04-23T17:34:29Z testing-account- left #lisp 2020-04-23T17:34:33Z testing-account- joined #lisp 2020-04-23T17:35:08Z quazimodo joined #lisp 2020-04-23T17:35:52Z quazimod1 quit (Ping timeout: 258 seconds) 2020-04-23T17:38:35Z Rrrr quit (Remote host closed the connection) 2020-04-23T17:42:12Z anlsh-2000 quit (Quit: Connection closed) 2020-04-23T17:43:16Z efm quit (Read error: Connection reset by peer) 2020-04-23T17:43:20Z iAmDecim joined #lisp 2020-04-23T17:47:26Z efm joined #lisp 2020-04-23T17:47:51Z efm quit (Client Quit) 2020-04-23T17:53:06Z testing-account- left #lisp 2020-04-23T17:55:10Z buffergn0me joined #lisp 2020-04-23T17:55:56Z Bike joined #lisp 2020-04-23T17:56:57Z anlsh quit (Quit: ERC (IRC client for Emacs 27.0.60)) 2020-04-23T17:58:01Z karlosz quit (Quit: karlosz) 2020-04-23T17:59:39Z unassuming-anlsh quit (Remote host closed the connection) 2020-04-23T18:00:34Z anlsh joined #lisp 2020-04-23T18:00:59Z anlsh: can anyone see thing? 2020-04-23T18:01:03Z anlsh: this* 2020-04-23T18:01:34Z Bike: hi. 2020-04-23T18:01:49Z nothingburger joined #lisp 2020-04-23T18:02:20Z anlsh: oh thank god, I've been trying to figure out the issue with erc for an hour :| 2020-04-23T18:03:13Z anlsh: Turns out I wasn't actually authenticating correctly, which prevented me from being able to see others' messages 2020-04-23T18:09:08Z hiroaki joined #lisp 2020-04-23T18:12:58Z lalilulelo joined #lisp 2020-04-23T18:23:07Z ebrasca quit (Remote host closed the connection) 2020-04-23T18:23:28Z shangul quit (Ping timeout: 256 seconds) 2020-04-23T18:25:07Z sauvin quit (Remote host closed the connection) 2020-04-23T18:25:47Z nothingburger quit (Remote host closed the connection) 2020-04-23T18:27:47Z Krystof quit (Ping timeout: 260 seconds) 2020-04-23T18:30:58Z phoe: anlsh: I see you, yes 2020-04-23T18:34:15Z nika quit 2020-04-23T18:35:53Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-23T18:36:34Z whiteline quit (Quit: Leaving) 2020-04-23T18:36:49Z whiteline joined #lisp 2020-04-23T18:39:47Z iAmDecim joined #lisp 2020-04-23T18:40:01Z anlsh: I started a small generics implementation, any comments? https://gist.github.com/anlsh/653cb92552063e9d209b6415b1bc01b1 2020-04-23T18:40:03Z jackdaniel: what do I spy, with my little eye? I spy anlsh with my little eye! 2020-04-23T18:41:04Z anlsh: Haha thanks guys, I can see you too :D 2020-04-23T18:43:39Z shangul joined #lisp 2020-04-23T18:45:06Z Oladon joined #lisp 2020-04-23T18:45:39Z asarch joined #lisp 2020-04-23T18:46:55Z asarch: What is #S? 2020-04-23T18:47:14Z asarch: String? 2020-04-23T18:47:16Z jackdaniel: when you kick the dollar sign, you get #S 2020-04-23T18:47:38Z asarch: ? 2020-04-23T18:48:05Z Shinmera: What is the hyperspec 2020-04-23T18:48:17Z buffergn0me quit (Ping timeout: 246 seconds) 2020-04-23T18:48:30Z jackdaniel: asarch: you stick here long enough to know what #s is, so either you are trolling us or you are not willing to put any effort to learn 2020-04-23T18:48:40Z jackdaniel: (or to listen) 2020-04-23T18:48:51Z emys joined #lisp 2020-04-23T18:49:09Z asarch: Sorry, sorry. I just couldn't find it on my notes 2020-04-23T18:49:35Z axion: Interesting. ironclad has lots of 32, 18, 256, and 512 digest functions, but 64 is mysteriously absent. 2020-04-23T18:49:45Z axion: 18 -> 128 2020-04-23T18:53:25Z asarch: It is not in my notes: https://pasteboard.co/J5b4eCB.jpg 2020-04-23T18:54:15Z shangul quit (Ping timeout: 265 seconds) 2020-04-23T18:54:26Z asarch: There is a list on HyperSpec but I can't remember the name (nor the address) 2020-04-23T18:54:30Z anlsh: Looks like you can find it here http://clhs.lisp.se/Front/X_Mast_9.htm 2020-04-23T18:54:45Z jackdaniel: asarch: look up symbols on l1sp.org 2020-04-23T18:54:56Z asarch: Thank you! 2020-04-23T18:55:02Z asarch: Thank you very much! :-) 2020-04-23T18:55:13Z anlsh: Something about structs, but I barely know what structs are so ~\(._._/~ 2020-04-23T18:55:36Z anlsh: or rather, how they work in cl 2020-04-23T18:55:56Z jackdaniel: anlsh: structures are instances of a class which metaclass is structure-class 2020-04-23T18:56:09Z jackdaniel: they are simplified version of standard-object instances 2020-04-23T18:56:16Z jackdaniel: (i.e accessors may be inlined) 2020-04-23T18:56:23Z EarwainBanadar quit (Remote host closed the connection) 2020-04-23T18:56:38Z jackdaniel: but you can't redefine the structure conformingly (unlike a "normal" class) 2020-04-23T18:56:51Z jackdaniel: they are basically a performance hack withdifferent semantics 2020-04-23T18:56:55Z jackdaniel: than defclass 2020-04-23T18:56:58Z anlsh: conformingly? 2020-04-23T18:57:32Z jackdaniel: there is ANSI standard for Common Lisp and common lisp implementations implement it 2020-04-23T18:57:42Z jackdaniel: (like C standard and gcc, clang, msvc etc) 2020-04-23T18:58:14Z jackdaniel: so standard specifies some behavior, but some is left as undefined (i.e implementation is free to do whatever it wants) 2020-04-23T18:58:29Z anlsh: oh, so the spec specifies that you can't redefine structs 2020-04-23T18:58:33Z phoe: yep 2020-04-23T18:58:49Z jackdaniel: no 2020-04-23T18:58:58Z phoe: uh wait 2020-04-23T18:59:01Z phoe: implementations may provide means for doing that (e.g. SBCL does that), but in the general case, the consequences are undefined 2020-04-23T18:59:03Z jackdaniel: spec specifies, that consequences of redefining a struct are not specified 2020-04-23T18:59:37Z jackdaniel: so the implementation may provide some protocol for redefining structures, it may signal a condition, or grow carrots in your nose 2020-04-23T18:59:48Z phoe: the spec specifies that you can't *portably* redefine structs 2020-04-23T19:00:08Z phoe: where "portably" means that if it works on your implementation, yay, but it doesn't have to work on another implementation 2020-04-23T19:00:20Z jackdaniel: phoe: I'm trying to explain that and you repeat what I try to communicate, it is annoying to be honest (very much like interrupting) 2020-04-23T19:00:27Z phoe goes quiet 2020-04-23T19:00:51Z jackdaniel: thank you 2020-04-23T19:04:39Z anlsh: Thanks for the explanation! 2020-04-23T19:05:07Z jackdaniel: sure 2020-04-23T19:05:58Z asarch quit (Quit: Leaving) 2020-04-23T19:06:51Z jackdaniel: anlsh: are you planning to learn Common Lisp? 2020-04-23T19:07:06Z jackdaniel: or joined to hang around for a while and see if you want to stick with the community? 2020-04-23T19:08:36Z anlsh: I've been looking at in on and off (mostly off) for a year or two now, I've been here before 2020-04-23T19:09:32Z anlsh: I'd still classify myself as a novice though I've been around to know what the more famous resources are (Let over lambda, PCL, On Lisp, etc.) 2020-04-23T19:10:03Z jackdaniel: ah OK, I was about to recommend them :) (to be precise, the second one) 2020-04-23T19:11:48Z anlsh: Yeah PCL was how I started out I like it a lot. I'm working through SICP rn 2020-04-23T19:12:28Z anlsh: The generic system I put up earlier is written mostly so that I could breeze through the relevant parts of ch 2 2020-04-23T19:13:02Z anlsh: hopefully anyways, I'll see if it's good enough shortly 2020-04-23T19:14:07Z jackdaniel: it is worth noting, that paip has been released on the internet recently 2020-04-23T19:14:14Z jackdaniel: minion: tell anlsh about paip 2020-04-23T19:14:14Z minion: anlsh: paip: Paradigms of Artificial Intelligence Programming. More about Common Lisp than Artificial Intelligence. Now freely available at https://github.com/norvig/paip-lisp 2020-04-23T19:14:57Z jackdaniel: just for the reference, it seems that you've already decided about your work schedule 2020-04-23T19:15:22Z mason quit (Quit: leaving) 2020-04-23T19:15:39Z anlsh: I'll probably tackle On Lisp next, but I'll keep it in mind :) 2020-04-23T19:16:38Z mason joined #lisp 2020-04-23T19:19:44Z phoe: On Lisp is a book that has a huge part about writing and analyzing all sorts of Lisp macros 2020-04-23T19:20:52Z EvW1 joined #lisp 2020-04-23T19:20:59Z EvW quit (Read error: Connection reset by peer) 2020-04-23T19:21:55Z bitmapper: why is it so hard to find a copy of allegro/lispworks for irix 2020-04-23T19:22:25Z iAmDecim quit (Ping timeout: 264 seconds) 2020-04-23T19:27:43Z buffergn0me joined #lisp 2020-04-23T19:28:04Z iAmDecim joined #lisp 2020-04-23T19:29:08Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-23T19:39:09Z phoe: has Common Music ever been cleaned up and ported to ASDF? 2020-04-23T19:41:44Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-23T19:42:54Z dale_ joined #lisp 2020-04-23T19:43:20Z dale_ is now known as dale 2020-04-23T19:50:24Z efm joined #lisp 2020-04-23T19:53:15Z iAmDecim joined #lisp 2020-04-23T19:54:20Z SGASAU quit (Remote host closed the connection) 2020-04-23T19:55:07Z SGASAU joined #lisp 2020-04-23T20:04:09Z Krystof joined #lisp 2020-04-23T20:05:10Z Jesin quit (Quit: Leaving) 2020-04-23T20:05:40Z SGASAU quit (Remote host closed the connection) 2020-04-23T20:06:16Z narimiran quit (Ping timeout: 256 seconds) 2020-04-23T20:06:21Z SGASAU joined #lisp 2020-04-23T20:07:14Z hiroaki quit (Ping timeout: 265 seconds) 2020-04-23T20:07:52Z pjb: phoe: that would be CM version 2, since CM version 3 has been rewritten in scheme. 2020-04-23T20:08:45Z Oladon quit (Quit: Leaving.) 2020-04-23T20:09:07Z pjb: well, in C++ and with a scheme layer. 2020-04-23T20:09:46Z pjb: phoe: in commonmusic/branches/cm2/src there's an asdf.lisp, so I'd say yes. 2020-04-23T20:10:40Z pjb: and commonmusic/branches/cm2/cm.asd 2020-04-23T20:11:26Z Jesin joined #lisp 2020-04-23T20:12:05Z pjb: originally, https://commonmusic.svn.sourceforge.net/svnroot/commonmusic/branches/cm2/cm.asd 2020-04-23T20:13:24Z phoe: pjb: thanks. 2020-04-23T20:14:18Z Xach: bitmapper: have you asked franz/lispworks ltd? 2020-04-23T20:14:35Z bitmapper: franz doesn't have the ability to make new licences anymore 2020-04-23T20:16:18Z phoe: so you're effectively searching for abandonware 2020-04-23T20:16:36Z emys quit (Ping timeout: 265 seconds) 2020-04-23T20:20:05Z Xach: bitmapper: out of curiosity, what is the project that involves allegro cl or lispworks for irix? 2020-04-23T20:20:13Z bitmapper: nothing 2020-04-23T20:20:28Z emys joined #lisp 2020-04-23T20:20:29Z bitmapper: i just have an octane sitting in my room doing nothing, and i'm stuck inside and bored 2020-04-23T20:20:39Z bitmapper: cmucl is broken 2020-04-23T20:22:22Z SGASAU quit (Remote host closed the connection) 2020-04-23T20:23:06Z SGASAU joined #lisp 2020-04-23T20:24:00Z nowhere_man quit (Read error: Connection reset by peer) 2020-04-23T20:25:04Z buffergn0me quit (Ping timeout: 256 seconds) 2020-04-23T20:33:26Z anlsh` joined #lisp 2020-04-23T20:37:32Z anlsh quit (Ping timeout: 256 seconds) 2020-04-23T20:46:50Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-04-23T20:46:50Z cantstanya quit (Remote host closed the connection) 2020-04-23T20:46:50Z zooey quit (Remote host closed the connection) 2020-04-23T20:46:50Z corpix quit (Remote host closed the connection) 2020-04-23T20:47:12Z zooey joined #lisp 2020-04-23T20:48:32Z Aurora_v_kosmose joined #lisp 2020-04-23T20:49:32Z karlosz joined #lisp 2020-04-23T20:49:50Z cantstanya joined #lisp 2020-04-23T20:54:18Z emys quit (Ping timeout: 265 seconds) 2020-04-23T20:55:08Z emys joined #lisp 2020-04-23T20:57:37Z pve quit (Quit: leaving) 2020-04-23T20:59:17Z lalilulelo quit (Quit: Leaving) 2020-04-23T21:07:21Z emys quit (Ping timeout: 265 seconds) 2020-04-23T21:14:18Z Intensity joined #lisp 2020-04-23T21:14:24Z scymtym joined #lisp 2020-04-23T21:21:25Z scymtym_ joined #lisp 2020-04-23T21:23:10Z scymtym quit (Ping timeout: 256 seconds) 2020-04-23T21:27:18Z shifty quit (Ping timeout: 256 seconds) 2020-04-23T21:30:37Z jeosol: Good morning guys 2020-04-23T21:30:55Z phoe: hey 2020-04-23T21:31:34Z jeosol: hi phoe 2020-04-23T21:31:52Z jeosol: I wanted to quickly confirm something, I get my lambdalist mixed up sometimes, my code is acting up now 2020-04-23T21:32:02Z jeosol: specifically with CLOS 2020-04-23T21:33:50Z asarch joined #lisp 2020-04-23T21:33:59Z jeosol: I want to declare method e.g., (defmethod run ((opt optimizer) &key ..) ()) but I want to be able to pass different values depending on object I have as that first argument. The defgeneric does not need to be spec out, does? 2020-04-23T21:34:31Z Bike: it's kind of hard to parse your sentences. The defgeneric's lambda list cannot have specializations, if that's what you mean. 2020-04-23T21:34:32Z jeosol: I meant pass additional parameters to the function for different objects 2020-04-23T21:34:36Z Bike: Or are you talking about the different keyword parameters? 2020-04-23T21:34:44Z jeosol: I am sorry, about that 2020-04-23T21:34:57Z jeosol: yeah, I am referring to different keyword parameters 2020-04-23T21:36:35Z Bike: You can give the different methods different keyword parameters without writing them in the defgeneric. The set of allowed keywords is defined by the methods that are actually used for the call. 2020-04-23T21:37:02Z Bike: clhs 7.6.5 2020-04-23T21:37:02Z specbot: Keyword Arguments in Generic Functions and Methods: http://www.lispworks.com/reference/HyperSpec/Body/07_fe.htm 2020-04-23T21:37:05Z Bike: that and 7.6.4. 2020-04-23T21:40:16Z keep_learning joined #lisp 2020-04-23T21:41:30Z jeosol: Ok. that resolves it. I was referring to the keyword part 2020-04-23T21:43:30Z gravicappa quit (Ping timeout: 258 seconds) 2020-04-23T21:45:16Z efm quit (Ping timeout: 256 seconds) 2020-04-23T21:46:08Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-23T21:53:18Z Lord_of_Life_ joined #lisp 2020-04-23T21:55:59Z Lord_of_Life quit (Ping timeout: 265 seconds) 2020-04-23T21:56:06Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-23T22:01:00Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-23T22:05:03Z dale quit (Quit: dale) 2020-04-23T22:05:08Z housel joined #lisp 2020-04-23T22:09:34Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-23T22:11:07Z anlsh` quit (Remote host closed the connection) 2020-04-23T22:12:29Z dale joined #lisp 2020-04-23T22:14:21Z duncan_ quit (Ping timeout: 265 seconds) 2020-04-23T22:18:24Z amerlyq quit (Quit: amerlyq) 2020-04-23T22:18:46Z Oladon joined #lisp 2020-04-23T22:22:42Z SGASAU quit (Remote host closed the connection) 2020-04-23T22:23:42Z SGASAU joined #lisp 2020-04-23T22:28:50Z verisimilitude: That's interesting, Shinmera, as I've also planned a DNS client, although I've made little progress on programming it, because I've not yet read all of the IETF RFCs for DNS; mine will only operate on messages, doing no actual sending, so it will be standard Common Lisp. I've given the parsing of the actual messages decent thought and wanted to see if you've stumbled across an idea I'd for nicely doing so, but this doesn't seem to be 2020-04-23T22:28:50Z verisimilitude: the case, by my glance. 2020-04-23T22:29:32Z verisimilitude: It seems to me your DECODE-HOST will fail on malicious DNS names which are compressed with cycles; is this a correct understanding, Shinmera? 2020-04-23T22:35:36Z keep_learning joined #lisp 2020-04-23T22:35:49Z iAmDecim joined #lisp 2020-04-23T22:38:27Z random-nick quit (Ping timeout: 250 seconds) 2020-04-23T22:40:11Z efm joined #lisp 2020-04-23T22:41:19Z SGASAU quit (Remote host closed the connection) 2020-04-23T22:41:56Z SGASAU joined #lisp 2020-04-23T22:54:01Z SGASAU quit (Remote host closed the connection) 2020-04-23T22:54:56Z SGASAU joined #lisp 2020-04-23T22:56:31Z cosimone quit (Read error: Connection reset by peer) 2020-04-23T22:57:02Z monokrom joined #lisp 2020-04-23T23:04:36Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-23T23:05:55Z Josh_2: How do I convert "97.35" to a number? 2020-04-23T23:07:16Z Bike: read-from-string. i think there are maybe parse number libraries around... 2020-04-23T23:07:37Z Bike: https://github.com/sharplispers/parse-number 2020-04-23T23:09:11Z Josh_2: Thanks 2020-04-23T23:15:32Z aeth: the laziest way to implement something like that would be to read until the . and then read after the . and then give the part after the . a denominator based on the substring length after the . and then convert that into a double or single float 2020-04-23T23:16:15Z aeth: A more elaborate way can read the . each time digit by digit in a loop, shifting one over each time. 2020-04-23T23:16:50Z aeth: that's using digit-char-p 2020-04-23T23:19:06Z Lord_of_Life joined #lisp 2020-04-23T23:24:08Z buffergn0me joined #lisp 2020-04-23T23:27:10Z wxie joined #lisp 2020-04-23T23:33:35Z anlsh joined #lisp 2020-04-23T23:42:29Z pilne joined #lisp 2020-04-23T23:51:35Z asarch: "SETQ" <- "Set qualifier" or "Set quoted object"? 2020-04-23T23:53:08Z Bike: set quoted, i think 2020-04-23T23:53:27Z no-defun-allowed: Definitely set quoted. 2020-04-23T23:53:33Z Bike: (setq x y) = (set 'x y), if x is special 2020-04-23T23:53:38Z asarch: Thank you! 2020-04-24T00:04:38Z cantstanya quit (Remote host closed the connection) 2020-04-24T00:06:32Z cantstanya joined #lisp 2020-04-24T00:20:28Z Oladon quit (Quit: Leaving.) 2020-04-24T00:31:45Z srandon111 quit (Quit: leaving) 2020-04-24T00:31:46Z corpix joined #lisp 2020-04-24T00:37:47Z quazimodo quit (Quit: leaving) 2020-04-24T00:38:45Z akoana joined #lisp 2020-04-24T00:38:48Z zaquest quit (Remote host closed the connection) 2020-04-24T00:39:21Z wxie quit (Ping timeout: 250 seconds) 2020-04-24T00:40:06Z gko joined #lisp 2020-04-24T00:40:30Z shangul joined #lisp 2020-04-24T00:41:23Z zaquest joined #lisp 2020-04-24T00:41:57Z sjl quit (Quit: WeeChat 2.2-dev) 2020-04-24T01:08:08Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-24T01:08:34Z iAmDecim joined #lisp 2020-04-24T01:14:09Z ayuce joined #lisp 2020-04-24T01:14:43Z jonatack quit (Ping timeout: 258 seconds) 2020-04-24T01:16:20Z |3b|: am i missing anything here, or is this an ecl bug? https://gist.github.com/3b/151f9b3bd2c982c2c1374fd75005e0b3 2020-04-24T01:16:56Z jonatack joined #lisp 2020-04-24T01:16:57Z |3b|: (and if someone has abcl installed, could you try it there and see which it gives? ) 2020-04-24T01:17:18Z no-defun-allowed: I think it is a bug. 2020-04-24T01:20:33Z no-defun-allowed: ABCL also does that, but only after compiling FOO 2020-04-24T01:22:43Z |3b|: ok, thanks, guess i get to file some bugs 2020-04-24T01:25:34Z Oladon joined #lisp 2020-04-24T01:27:13Z Oladon: Hrm. How can I export an object's accessor functions along with the object? When I try exporting the names of the accessors and using one, it of course says that the function is undefined... 2020-04-24T01:27:29Z no-defun-allowed: By exporting the symbols that name the accessors. 2020-04-24T01:27:51Z no-defun-allowed: Packages, and thus exporting, work on symbols, not on bindings (for better or worse). 2020-04-24T01:28:52Z Oladon: Is there no way to do it without specifying every accessor? I suppose I could just get in the habit of using slot-value everywhere, but... :/ 2020-04-24T01:29:26Z efm quit (Remote host closed the connection) 2020-04-24T01:29:50Z |3b|: slot-names are symbols just like function names, and handled exactly the same in packages 2020-04-24T01:30:10Z |3b|: so however you are using slot names should work for accessor names too, if slot-value works 2020-04-24T01:30:57Z |3b|: in slime (and presumably sly) C-c x exports the symbol under cursor 2020-04-24T01:31:19Z |3b|: which makes explicitly exporting a bunch of slot-names or accessors relatively easy 2020-04-24T01:31:29Z Oladon: Ooh, useful shortcut, thanks. 2020-04-24T01:31:47Z |3b|: actually, i guess there is slime-export-class too 2020-04-24T01:32:07Z Oladon: Whoa, it even adds it to my defpackage. So fancy... 2020-04-24T01:32:33Z |3b|: both in slime-package-fu contrib if you don't have that loaded already 2020-04-24T01:33:07Z Oladon: Hrm. What's going to happen with exporting if I have the same slot name on two different classes? 2020-04-24T01:33:18Z Oladon: Presumably they're methods? 2020-04-24T01:33:31Z |3b|: names are symbols, symbols are what gets exported 2020-04-24T01:33:56Z |3b|: packages don't care about any bindings named by a particular symbol, whether it is variable, function, slot names, types, whatever 2020-04-24T01:35:25Z no-defun-allowed: You would have to export slot names to get SLOT-VALUE to work, and people would not like you if you published code that used a lot of SLOT-VALUE. 2020-04-24T01:35:25Z efm joined #lisp 2020-04-24T01:35:26Z |3b|: and methods are a property of a generic function, so no matter how you call a generic function (by name imported from another package, by package-qualified name, directly by function object) all methods of that GF are always there 2020-04-24T01:35:49Z Oladon: Hmm... okay, so here's a question. I've exported #:created-at, but attempting to call that accessor says function is undefined. Others, like #:name, work fine. 2020-04-24T01:35:50Z bitmapper quit (Ping timeout: 256 seconds) 2020-04-24T01:36:12Z |3b|: is the code visible anywhere? 2020-04-24T01:36:28Z no-defun-allowed: Is the definition of that class preceded by an appropriate IN-PACKAGE form? 2020-04-24T01:36:33Z Oladon coughs 2020-04-24T01:36:37Z Oladon: Nevermind, user error... 2020-04-24T01:37:01Z Oladon: Kindly ignore the questions my cat types on my keyboard while I'm not looking. :) 2020-04-24T01:37:09Z Oladon: Er, dog. I don't have a cat. 2020-04-24T01:37:28Z Oladon: Cool -- thank you both for your help :) 2020-04-24T01:38:33Z notzmv joined #lisp 2020-04-24T01:39:46Z dddddd quit (Ping timeout: 265 seconds) 2020-04-24T01:39:54Z EvW1 quit (Ping timeout: 240 seconds) 2020-04-24T01:40:41Z efm_ joined #lisp 2020-04-24T01:40:59Z efm_ quit (Client Quit) 2020-04-24T01:41:32Z efm_ joined #lisp 2020-04-24T01:42:44Z efm_ quit (Client Quit) 2020-04-24T01:42:49Z efm quit (Ping timeout: 264 seconds) 2020-04-24T01:45:05Z efm joined #lisp 2020-04-24T01:53:50Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-04-24T01:54:48Z rwcom joined #lisp 2020-04-24T01:57:08Z buffergn0me quit (Ping timeout: 256 seconds) 2020-04-24T01:59:53Z pilne quit (Read error: Connection reset by peer) 2020-04-24T02:00:47Z Aurora_v_kosmose quit (Quit: later) 2020-04-24T02:02:19Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-04-24T02:03:10Z rwcom joined #lisp 2020-04-24T02:08:46Z rwcom quit (Ping timeout: 265 seconds) 2020-04-24T02:11:11Z orivej quit (Ping timeout: 265 seconds) 2020-04-24T02:17:35Z patlv quit (Quit: patlv) 2020-04-24T02:23:14Z mono joined #lisp 2020-04-24T02:23:43Z Josh_2 quit (Ping timeout: 258 seconds) 2020-04-24T02:25:00Z SGASAU quit (Remote host closed the connection) 2020-04-24T02:25:56Z monokrom quit (Ping timeout: 256 seconds) 2020-04-24T02:26:03Z SGASAU joined #lisp 2020-04-24T02:29:05Z aeth: Does CL do everything that the POSIX shell does? With the right library, could I replace my terminal's shell with, say, /usr/bin/sbcl instead? 2020-04-24T02:29:47Z aeth: I know there's uiop:launch-program as well as several alternatives that some people prefer 2020-04-24T02:31:56Z aeth: There are some things that might be trickier, though, like >, >>, <, |, etc. 2020-04-24T02:32:16Z aeth: I'm also not sure if you're allowed to just turn a REPL into a shell. 2020-04-24T02:32:39Z Oladon: I feel like I saw a Lisp shell on HN recently 2020-04-24T02:33:19Z aeth: well, a few have happened, most notably Scheme shell, which is its own Scheme implementation 2020-04-24T02:33:54Z aeth: Emacs also has an eshell, but it's not very feature-complete compared to running, say, zsh or bash inside Emacs (and there's at least two ways to do *that*, giving Emacs at least 3 shells built-in) 2020-04-24T02:34:03Z Oladon: yeah 2020-04-24T02:34:58Z aeth: iirc eshell can't run in-terminal apps like htop, mc, quite a few IRC clients, etc., but one of the two Emacs terminals runs those fine 2020-04-24T02:35:09Z aeth: but I'm not sure if that's a shell limitation or an Emacs limitation 2020-04-24T02:42:20Z Fare joined #lisp 2020-04-24T02:46:14Z Bike: the emacs "terminal" is unable to handle curses stuff, i guess. 2020-04-24T02:47:58Z no-defun-allowed: M-x term does proper terminal emulation, no? 2020-04-24T02:48:25Z no-defun-allowed: irssi and htop look like they work in that. 2020-04-24T02:48:42Z Bike: ooh, yeah. nice. 2020-04-24T02:49:33Z Bike: but now emacs keys don't work so well... whoops 2020-04-24T02:51:03Z no-defun-allowed: Yeah, the terminal eats most of the keys. I usually click the "char" in (Term: char run) to switch it to line input in a graphical Emacs session, do Emacs things, then switch it back. 2020-04-24T02:51:37Z buffergn0me joined #lisp 2020-04-24T02:57:53Z turona quit (Ping timeout: 272 seconds) 2020-04-24T03:00:12Z Aurora_v_kosmose joined #lisp 2020-04-24T03:00:38Z beach: Good morning everyone! 2020-04-24T03:00:47Z Oladon: Morning beach! 2020-04-24T03:02:19Z dyelar quit (Quit: Leaving.) 2020-04-24T03:04:58Z turona joined #lisp 2020-04-24T03:04:58Z Bourne quit (Read error: Connection reset by peer) 2020-04-24T03:07:42Z hdasch quit (Ping timeout: 256 seconds) 2020-04-24T03:08:03Z hdasch joined #lisp 2020-04-24T03:18:44Z niceplaces quit (Read error: Connection reset by peer) 2020-04-24T03:22:17Z niceplace joined #lisp 2020-04-24T03:24:26Z karlosz quit (Quit: karlosz) 2020-04-24T03:25:06Z karlosz joined #lisp 2020-04-24T03:25:19Z cylb quit (Ping timeout: 250 seconds) 2020-04-24T03:32:11Z theosvoitha joined #lisp 2020-04-24T03:47:08Z karlosz quit (Quit: karlosz) 2020-04-24T03:53:59Z torbo joined #lisp 2020-04-24T03:54:53Z vlatkoB joined #lisp 2020-04-24T03:58:34Z karlosz joined #lisp 2020-04-24T04:03:50Z pjb: aeth: you are confusing terminals with shells. 2020-04-24T04:04:20Z pjb: aeth: there's clash (clisp shell). https://clisp.sourceforge.io/clash.html 2020-04-24T04:05:52Z pjb: aeth: specifically, Common Lisp does NOT have all the features a POSIX shell has. For example, Common Lisp doesn't have ways to fork processes, or pipes. But implementations usually have enough extensions so that their REPL allow to do the equivalent of POSIX shells. 2020-04-24T04:07:23Z Bike quit (Quit: Lost terminal) 2020-04-24T04:07:27Z pjb: verisimilitude: good architecture. I've done the same for my implementation of the telnet protocol. 2020-04-24T04:08:11Z pjb: https://github.com/informatimago/lisp/tree/master/common-lisp/telnet 2020-04-24T04:23:20Z anlsh quit (Ping timeout: 256 seconds) 2020-04-24T04:35:10Z aeth: pjb: well, Emacs kind of confuses terminals with shells, at least with eshell 2020-04-24T04:35:38Z aeth: still, I'm not sure if a CL REPL has the ability to enter into curses apps like htop 2020-04-24T04:35:46Z aeth: that's pretty important for a shell 2020-04-24T04:44:47Z Oladon quit (Quit: Leaving.) 2020-04-24T04:55:28Z gravicappa joined #lisp 2020-04-24T04:55:30Z Fare: pjb: UIOP provides a portable-enough way to spawn processes on Common Lisp 2020-04-24T04:59:46Z pjb: Fare: not on Common Lisp. on #+(or abcl ccl clisp ecl sbcl …). 2020-04-24T05:00:37Z pjb: aeth: you're wrong and confused. Try to use htop on: https://www.youtube.com/watch?v=2XLZ4Z8LpEE 2020-04-24T05:01:08Z pjb: aeth: or even on the very modern: https://www.youtube.com/watch?v=-Ul-f3hPJQM 2020-04-24T05:02:41Z pjb: aeth: and early video terminals emulated those teletypes, so even if you have a video terminals, there's no guarantee that you can move around the screen and use htop! 2020-04-24T05:04:19Z buffergn0me: video terminal applications are antithetical to the only good idea in Unix shells, because the applications do not take input on stdin and do not produce output on stdout 2020-04-24T05:05:07Z pjb: exactly. This is why M-x shell works so well. 2020-04-24T05:05:59Z pjb: and you can always do: xterm -display :0.0 -e htop & in emacs shell… 2020-04-24T05:06:35Z buffergn0me: eshell does the equivalent of that, with Emacs term-mode 2020-04-24T05:07:24Z buffergn0me: Are there any terminal emulators written in Common Lisp? Lisp Machines had VT emulators, but I have not seen anything for CL 2020-04-24T05:10:19Z beach: buffergn0me: It sounds like you found yourself a project. 2020-04-24T05:10:20Z pjb: buffergn0me: perhaps in Mezzano? 2020-04-24T05:14:30Z Oladon joined #lisp 2020-04-24T05:14:49Z buffergn0me: beach: It is a good project! I am already doing a terrible job as maintainer of 5 CL Free Software projects, no more projects for me :( 2020-04-24T05:16:51Z beach: I see. 2020-04-24T05:16:53Z beach: Oh well. 2020-04-24T05:20:03Z sauvin joined #lisp 2020-04-24T05:23:50Z narimiran joined #lisp 2020-04-24T05:28:38Z Fare: buffergn0me, only 5? ha! 2020-04-24T05:35:28Z torbo quit (Remote host closed the connection) 2020-04-24T05:41:00Z no-defun-allowed: Depends on the size of the projects? 2020-04-24T05:41:17Z buffergn0me quit (Ping timeout: 272 seconds) 2020-04-24T05:44:23Z Cymew joined #lisp 2020-04-24T05:50:50Z JohnMS_WORK joined #lisp 2020-04-24T05:57:02Z _whitelogger quit (Remote host closed the connection) 2020-04-24T05:59:15Z _whitelogger joined #lisp 2020-04-24T06:01:43Z amerigo joined #lisp 2020-04-24T06:13:20Z jeosol quit (Remote host closed the connection) 2020-04-24T06:14:10Z Oladon quit (Quit: Leaving.) 2020-04-24T06:15:50Z __jrjsmrtn__ quit (Ping timeout: 256 seconds) 2020-04-24T06:17:30Z __jrjsmrtn__ joined #lisp 2020-04-24T06:18:21Z _paul0 joined #lisp 2020-04-24T06:21:11Z paul0 quit (Ping timeout: 272 seconds) 2020-04-24T06:22:48Z Fare quit (Ping timeout: 256 seconds) 2020-04-24T06:31:54Z asarch quit (Quit: Leaving) 2020-04-24T06:37:45Z ggole joined #lisp 2020-04-24T06:40:06Z pve joined #lisp 2020-04-24T06:43:20Z phoe: hellooo 2020-04-24T06:43:31Z beach: Hello phoe. 2020-04-24T06:43:33Z phoe: no-defun-allowed: and on their actual usage 2020-04-24T06:43:37Z phoe: good morning beach 2020-04-24T06:45:05Z no-defun-allowed: phoe: Indeed, and good morning. 2020-04-24T06:45:45Z phoe: actually regarding https://gist.github.com/3b/151f9b3bd2c982c2c1374fd75005e0b3 2020-04-24T06:46:14Z phoe: if SET-B is inlined, is the reference to B inside it shadowable? 2020-04-24T06:46:38Z no-defun-allowed: That would be the question, yes. 2020-04-24T06:47:37Z phoe: no, wait a second - the binding should *not* be shadowable 2020-04-24T06:48:03Z phoe: the lexical closure inside SET-B is closed over the outer binding 2020-04-24T06:48:15Z no-defun-allowed: I don't think it should be; INLINE shouldn't change the semantics? 2020-04-24T06:48:19Z phoe: so if we create an inner lexical binding, this should not affect the closure 2020-04-24T06:48:29Z phoe: yes - the compiler is always free to ignore DECLARE INLINE 2020-04-24T06:48:30Z beach: no-defun-allowed: Absolutely right. 2020-04-24T06:48:58Z random-nick joined #lisp 2020-04-24T06:48:58Z phoe: so that seems to be a bug in the last case 2020-04-24T06:49:47Z Fare joined #lisp 2020-04-24T06:55:25Z jackdaniel: are you recycling bug reported by 3b? 2020-04-24T06:55:48Z phoe: not recycling, I'm quoting it 2020-04-24T06:56:17Z phoe: it wasn't immediately obvious to me where the issue was 2020-04-24T06:58:22Z Nilby joined #lisp 2020-04-24T07:01:20Z KDr22 quit (Ping timeout: 256 seconds) 2020-04-24T07:02:18Z Mawile joined #lisp 2020-04-24T07:05:03Z bkst quit (Read error: Connection reset by peer) 2020-04-24T07:05:19Z bkst joined #lisp 2020-04-24T07:05:28Z Archenoth quit (Ping timeout: 258 seconds) 2020-04-24T07:07:24Z vsync quit (Quit: ZNC - http://znc.sourceforge.net) 2020-04-24T07:07:30Z vsync_ joined #lisp 2020-04-24T07:09:06Z nika joined #lisp 2020-04-24T07:09:45Z KDr22 joined #lisp 2020-04-24T07:20:37Z v_m_v joined #lisp 2020-04-24T07:22:25Z varjag joined #lisp 2020-04-24T07:25:10Z duncan_ joined #lisp 2020-04-24T07:32:38Z Bourne joined #lisp 2020-04-24T07:34:07Z amerlyq joined #lisp 2020-04-24T07:35:13Z dale quit (Quit: My computer has gone to sleep) 2020-04-24T07:42:05Z emys joined #lisp 2020-04-24T07:46:26Z emys quit (Ping timeout: 256 seconds) 2020-04-24T08:01:58Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-24T08:08:04Z shifty joined #lisp 2020-04-24T08:13:03Z shangul quit (Ping timeout: 250 seconds) 2020-04-24T08:26:40Z dddddd joined #lisp 2020-04-24T08:29:13Z eagleflo quit (Remote host closed the connection) 2020-04-24T08:31:06Z karlosz quit (Quit: karlosz) 2020-04-24T08:33:21Z akoana left #lisp 2020-04-24T08:41:10Z rogersm joined #lisp 2020-04-24T08:44:20Z ljavorsk joined #lisp 2020-04-24T08:44:37Z orivej joined #lisp 2020-04-24T08:47:25Z adam4567 joined #lisp 2020-04-24T08:51:16Z eagleflo joined #lisp 2020-04-24T08:52:02Z SGASAU quit (Remote host closed the connection) 2020-04-24T08:52:42Z SGASAU joined #lisp 2020-04-24T09:01:59Z shangul joined #lisp 2020-04-24T09:02:57Z wxie joined #lisp 2020-04-24T09:13:24Z v_m_v quit (Remote host closed the connection) 2020-04-24T09:13:52Z v_m_v joined #lisp 2020-04-24T09:16:45Z glamas quit (Ping timeout: 250 seconds) 2020-04-24T09:16:48Z SGASAU quit (Remote host closed the connection) 2020-04-24T09:18:03Z glamas joined #lisp 2020-04-24T09:18:06Z SGASAU joined #lisp 2020-04-24T09:18:18Z devrtz quit (Quit: ZNC - http://znc.in) 2020-04-24T09:18:29Z v_m_v quit (Ping timeout: 250 seconds) 2020-04-24T09:21:45Z devrtz joined #lisp 2020-04-24T09:22:26Z devrtz quit (Client Quit) 2020-04-24T09:23:19Z devrtz joined #lisp 2020-04-24T09:24:09Z devrtz quit (Client Quit) 2020-04-24T09:24:31Z devrtz joined #lisp 2020-04-24T09:24:49Z ebrasca joined #lisp 2020-04-24T09:27:37Z devrtz quit (Client Quit) 2020-04-24T09:27:54Z devrtz joined #lisp 2020-04-24T09:27:55Z devrtz quit (Remote host closed the connection) 2020-04-24T09:28:24Z devrtz joined #lisp 2020-04-24T09:37:16Z shangul quit (Ping timeout: 258 seconds) 2020-04-24T09:38:37Z v_m_v joined #lisp 2020-04-24T09:42:07Z Zakkor joined #lisp 2020-04-24T09:44:00Z boeg: Anyone here have experience with caveman2 and mito? What would I need to change to setup caveman2 to use mito instead of the database support that's built in? 2020-04-24T09:49:39Z phoe: boeg: maybe #lispweb can help 2020-04-24T09:50:17Z rogersm quit (Quit: rogersm) 2020-04-24T09:57:04Z heisig joined #lisp 2020-04-24T09:59:37Z wxie quit (Ping timeout: 264 seconds) 2020-04-24T10:01:00Z ebrasca: Hi , how to ignore some errors and continue execution? 2020-04-24T10:01:07Z phoe: clhs ignore-errors 2020-04-24T10:01:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_ignore.htm 2020-04-24T10:01:27Z phoe: that's likely not what you want though, since that'll perform a hard transfer of control and return NIL on an error 2020-04-24T10:01:46Z phoe: if the errors are correctable, you can use the available restarts to continue 2020-04-24T10:02:03Z phoe: if the errors are not correctable, you're in bigger trouble 2020-04-24T10:03:39Z phoe: so the concrete question is: *what* errors are you getting and what do you mean by continuing execution? 2020-04-24T10:04:21Z beach: (defun proper-list-p (list) (declare (optimize (safety 3))) (numberp (ignore-errors (list-length list)))) 2020-04-24T10:04:27Z ebrasca: Somo file not found , Simple-File-Error. 2020-04-24T10:04:37Z beach: That's one very good use of IGNORE-ERRORS. 2020-04-24T10:04:48Z jackdaniel: funnily enough ccl, abcl and ecl all have a release in a very short period of time 2020-04-24T10:05:28Z jackdaniel: (I'm not mentioning sbcl because it has regular ~monthly releases) 2020-04-24T10:06:54Z phoe: it's spring time, lisp flowers are blooming 2020-04-24T10:09:29Z boeg: phoe: yeah, maybe, ill give it a try, it seems rather vacant though 2020-04-24T10:10:54Z epony quit (Read error: Connection reset by peer) 2020-04-24T10:11:30Z phoe: in that case, I'd file issues at the original github pages; fukamachiware is very hard to find documentation for and sometimes even harder to understand due to how it's structured internally. 2020-04-24T10:11:41Z jmercouris: find-if on a hash table? without having to do like alexandria:hash-table-values or whatever it is 2020-04-24T10:11:55Z jmercouris: or find 2020-04-24T10:12:11Z jmercouris: I spent a whole day trying to understand clack 2020-04-24T10:12:23Z jmercouris: so much indirection :-D 2020-04-24T10:12:27Z beach: jmercouris: A hash table is not a sequence. 2020-04-24T10:12:38Z beach: clhs find 2020-04-24T10:12:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_find_.htm 2020-04-24T10:12:40Z phoe: jmercouris: find-if on a hash table? wait, why 2020-04-24T10:12:55Z phoe: do you want to iterate through all values of a hash table? or all keys? 2020-04-24T10:12:57Z jmercouris: I want to check the existence of a value, not a key 2020-04-24T10:13:03Z phoe: maphash 2020-04-24T10:13:12Z jmercouris: I don't want to maphash 2020-04-24T10:13:14Z jmercouris: I want find 2020-04-24T10:13:20Z jmercouris: no equivalent? 2020-04-24T10:13:31Z phoe: FIND accepts sequences, and as beach said, hashtables are no sequences 2020-04-24T10:13:38Z jmercouris: I know they are not :'( 2020-04-24T10:13:45Z jmercouris: which is why I said that bit about hash-table-values 2020-04-24T10:13:49Z phoe: you can use loop with its hashtable syntax 2020-04-24T10:14:04Z phoe: (loop for key being the hash-key of ht using (hash-value value) ...) 2020-04-24T10:14:05Z jmercouris: I could, indeed 2020-04-24T10:14:10Z phoe: that's equivalent to maphash 2020-04-24T10:14:13Z beach: phoe: Just value. 2020-04-24T10:14:16Z phoe: but with loopy syntax 2020-04-24T10:14:17Z phoe: beach: thanks 2020-04-24T10:14:36Z jackdaniel: maintain two hash tables key->val and val->key, then do gethash on the latter and check the second value 2020-04-24T10:14:51Z jmercouris: do we have a composite data structure like in java? 2020-04-24T10:14:54Z jackdaniel: of course that works for a limited number of predicates 2020-04-24T10:14:55Z jmercouris: linked hash table or something 2020-04-24T10:15:06Z jmercouris: I'm trying to remember the name... 2020-04-24T10:15:37Z phoe: if you mean https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html then nope, you'll need to implement it yourself 2020-04-24T10:15:53Z phoe: for standard hash tables, iteration order is unspecified. 2020-04-24T10:15:58Z jmercouris: that is what I mean 2020-04-24T10:16:04Z jmercouris: such a useful data structure 2020-04-24T10:16:10Z White_Flame: jmercouris: FIND-IF is an iteration of sequence values. MAPHASH is an iteration of values (and keys) of a hashtable. 2020-04-24T10:16:31Z White_Flame: just need 1 more step to actually do the same thing 2020-04-24T10:16:43Z jmercouris: 1 2020-04-24T10:16:46Z jmercouris: yes 2020-04-24T10:16:54Z sunwukong joined #lisp 2020-04-24T10:17:27Z aeth: the biggest thing Java or C++ has over CL is a bunch of built-in collections 2020-04-24T10:17:32Z aeth: and people call CL a big language. 2020-04-24T10:17:44Z jmercouris: the collections are really good though :-) 2020-04-24T10:17:50Z phoe: jmercouris: I remember that shka was working on something in that matter 2020-04-24T10:17:56Z beach: jmercouris: It's a one-liner: (loop for val being each hash-value of table thereis (eq val )) 2020-04-24T10:17:59Z phoe: you might want to ping him sometime in the future 2020-04-24T10:18:13Z epony joined #lisp 2020-04-24T10:18:14Z jmercouris: beach: I know, I've already iimplemented it 2020-04-24T10:18:18Z jmercouris: I"m just looking for something nicer 2020-04-24T10:18:18Z beach: Or some other equality predicate. 2020-04-24T10:18:23Z jmercouris: maybe I am wasting my time 2020-04-24T10:18:28Z jmercouris: optimizing such a trivial thing 2020-04-24T10:18:38Z jackdaniel: optimizing? 2020-04-24T10:18:41Z phoe: how big is your hash table going to be? 2020-04-24T10:18:46Z White_Flame: well, none of these are going to be optimized, except the dual hash table 2020-04-24T10:18:55Z White_Flame: and "nicer" is often opposite of "optmizied" 2020-04-24T10:19:01Z jmercouris: :-D, true 2020-04-24T10:19:41Z White_Flame: and even with the val->key reverse table, that still doesn't help a FIND-IF equivalent hit the correct value to test either 2020-04-24T10:19:42Z jackdaniel: if you look for a function find-hashval-if, then write it, then you'll have your "nice version" 2020-04-24T10:21:19Z White_Flame: I also don't see how a sorted treemap would help, unless you're not using a general FIND-IF style predicate, but rather only a particular predicate that would tend to find results earlier in the sort list 2020-04-24T10:22:10Z jmercouris: if you process the data beforehand and have a guranateed order of the linked list, you can avoid many tests and traversals 2020-04-24T10:22:22Z White_Flame: not with a generalized predicate 2020-04-24T10:22:25Z White_Flame: a la FIND-IF 2020-04-24T10:22:33Z jmercouris: I am using find 2020-04-24T10:23:13Z idurand joined #lisp 2020-04-24T10:23:14Z White_Flame: ah, FIND-IF is what you mentioned first, I believe 2020-04-24T10:23:17Z jmercouris: yes 2020-04-24T10:23:29Z White_Flame: so yeah, a reverse val->key hashtable, or just val->T one 2020-04-24T10:24:00Z v_m_v quit (Remote host closed the connection) 2020-04-24T10:24:28Z v_m_v joined #lisp 2020-04-24T10:27:19Z v_m_v quit (Read error: No route to host) 2020-04-24T10:27:30Z v_m_v joined #lisp 2020-04-24T10:34:33Z shangul joined #lisp 2020-04-24T10:35:27Z emys joined #lisp 2020-04-24T10:39:31Z ljavorsk quit (Ping timeout: 250 seconds) 2020-04-24T10:53:00Z scymtym joined #lisp 2020-04-24T10:54:47Z davsebam1e joined #lisp 2020-04-24T10:56:18Z v_m_v quit (Remote host closed the connection) 2020-04-24T10:57:09Z SGASAU quit (Remote host closed the connection) 2020-04-24T10:57:32Z scymtym_ quit (Ping timeout: 265 seconds) 2020-04-24T10:57:49Z corpix quit (Quit: corpix) 2020-04-24T10:57:52Z SGASAU joined #lisp 2020-04-24T10:57:58Z davsebamse quit (Ping timeout: 256 seconds) 2020-04-24T10:58:32Z adam4567 left #lisp 2020-04-24T11:00:01Z idurand left #lisp 2020-04-24T11:01:10Z v_m_v joined #lisp 2020-04-24T11:01:56Z scymtym quit (Ping timeout: 256 seconds) 2020-04-24T11:02:29Z scymtym__ joined #lisp 2020-04-24T11:03:21Z v_m_v quit (Remote host closed the connection) 2020-04-24T11:05:57Z v88m joined #lisp 2020-04-24T11:10:06Z scymtym__ quit (Ping timeout: 265 seconds) 2020-04-24T11:17:34Z mixfix41 joined #lisp 2020-04-24T11:18:36Z jackdaniel: ECL 20.4.24 released \o/ I'm going to grab my cider :) https://common-lisp.net/project/ecl/posts/ECL-20424-release.html 2020-04-24T11:19:07Z Lord_of_Life_ joined #lisp 2020-04-24T11:20:25Z phoe: :D 2020-04-24T11:21:49Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-04-24T11:21:54Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-24T11:24:27Z heisig: jackdaniel: Congratulations! 2020-04-24T11:24:39Z kpoeck joined #lisp 2020-04-24T11:25:04Z jackdaniel: thank you, I hope I didn't push a wrong branch or something :) 2020-04-24T11:25:04Z kpoeck: congratulations jackdaniel 2020-04-24T11:25:32Z heisig: You really deserve your cider. And, hopefully, some rest and recreation. 2020-04-24T11:25:51Z ljavorsk joined #lisp 2020-04-24T11:26:10Z phoe: jackdaniel: even if, that's correctable; making a stable ECL release after such a long time of maintenance and so many bugfixes is nonetheless a great achievement 2020-04-24T11:26:27Z phoe: so, yes, enjoy your cider, you deserve it 2020-04-24T11:26:28Z jackdaniel: sure, that's why I'm grabbing my cider 2020-04-24T11:26:32Z phoe: :D 2020-04-24T11:27:31Z heisig quit (Quit: Leaving) 2020-04-24T11:32:51Z SGASAU quit (Remote host closed the connection) 2020-04-24T11:33:37Z SGASAU joined #lisp 2020-04-24T11:37:18Z shangul quit (Ping timeout: 256 seconds) 2020-04-24T11:41:14Z amerigo quit (Quit: Connection closed for inactivity) 2020-04-24T11:49:00Z sunwukong quit (Quit: Leaving) 2020-04-24T11:50:07Z v_m_v joined #lisp 2020-04-24T12:02:44Z mixfix41 quit (Quit: leaving) 2020-04-24T12:10:11Z kpoeck quit (Remote host closed the connection) 2020-04-24T12:21:16Z ljavorsk quit (Ping timeout: 256 seconds) 2020-04-24T12:21:18Z wxie joined #lisp 2020-04-24T12:24:43Z Xach: uh oh 2020-04-24T12:24:50Z Xach: my texinfo is not digging ecl docs or something 2020-04-24T12:25:08Z _death: new ecl, cool.. but there are some breaking changes apparently 2020-04-24T12:25:13Z nowhere_man joined #lisp 2020-04-24T12:25:27Z Xach: world record for most simultaneous ecl builds in 24 hours 2020-04-24T12:27:53Z wxie quit (Read error: Connection reset by peer) 2020-04-24T12:28:17Z wxie joined #lisp 2020-04-24T12:28:52Z beach: phoe: For SICL conditions, I am thinking of defining a class CONDITION-CLASS parallel to STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS, and to make CONDITION a subclass of STANDARD-OBJECT. 2020-04-24T12:29:09Z beach: Then (DEFINE-CONDITION () ...) would expand to (DEFCLASS () ... (:METACLASS CONDITION-CLASS)). 2020-04-24T12:29:12Z beach: And instances if CONDITION-CLASS, i.e., the condition types would automatically include CONDITION as a superclass if there are no , much the way instances of STANDARD-CLASS automatically include STANDARD-OBJECT. 2020-04-24T12:30:09Z Bike joined #lisp 2020-04-24T12:30:22Z phoe: beach: I see' 2020-04-24T12:30:36Z beach: Does that sound reasonable to you? 2020-04-24T12:31:23Z phoe: It does sound okay, sure 2020-04-24T12:31:40Z phoe: it should also allow you to specify :REPORT directly for DEFCLASS 2020-04-24T12:32:31Z beach: Right. I suppose that would expand to a DEFMETHOD form. 2020-04-24T12:32:57Z phoe: I currently do DEFMETHOD PRINT-OBJECT specialized on that condition class 2020-04-24T12:33:12Z beach: That sounds right. 2020-04-24T12:33:15Z phoe: or, if no report is specified, FIND-METHOD and REMOVE-METHOD 2020-04-24T12:33:22Z phoe: (that is to handle redefinitions) 2020-04-24T12:33:32Z beach: Makes sense. 2020-04-24T12:33:51Z Bike: mop generic-function-name 2020-04-24T12:33:51Z specbot: http://metamodular.com/CLOS-MOP/generic-function-name.html 2020-04-24T12:33:54Z Fare quit (Ping timeout: 240 seconds) 2020-04-24T12:35:26Z _death: I'm guessing for calls to ecl_def_c_function_va the new narg_fixed should be -1 2020-04-24T12:36:00Z _death: or not.. 2020-04-24T12:36:24Z Bike: is there any guarantee that the generic-function-name and so on are actual slots? they don't have defined slot names or locations, do they? 2020-04-24T12:36:45Z emys quit (Ping timeout: 272 seconds) 2020-04-24T12:36:52Z jackdaniel: Xach: we depend on texinfo 6.x (which is not compatible with texinfo 4.x) 2020-04-24T12:37:26Z Xach: jackdaniel: ok 2020-04-24T12:37:29Z Xach: i have old 2020-04-24T12:37:30Z phoe: Bike: I don't think there's any concrete slot defined 2020-04-24T12:38:04Z phoe: http://metamodular.com/CLOS-MOP/generic-function-name-standard-generic-function.html needs to return the name, and that's all; no more implementation details are specified 2020-04-24T12:38:34Z phoe: if I read this correctly, this allows one to specify new methods that return class names differently; I utilize this functionality in my list-named-class system 2020-04-24T12:38:39Z Bike: right. i see. so if the implementation gives normal functions names and stuff through some not-clos-accessible mechanism that space ought to be usable for the generic function properties as well 2020-04-24T12:38:54Z jackdaniel: _death: narg_fixed should denote number of fixed arguments (i.e if you have two required arguments, it should be 2) 2020-04-24T12:40:22Z phoe: Bike: yes, I think this is correct 2020-04-24T12:41:02Z _death: jackdaniel: ouch.. so now I need to count required args for each function (that's a lot of functions...).. commit message indicates this change was due to arm64 calling convention, but passing 0 seems to work on x64 2020-04-24T12:41:19Z phoe: Bike: in particular, note that there is generic-function-name but also #'(setf generic-function-name) 2020-04-24T12:41:51Z phoe: so wherever the implementation does store the g-f-name, it also needs to be prepared to set new names in the same spot 2020-04-24T12:41:52Z jackdaniel: _death: correct, it will work everywhere but on iOS 2020-04-24T12:42:59Z Bike: phoe: yeah. 2020-04-24T12:43:41Z _death: I will add a todo and be done with it ;) 2020-04-24T12:43:41Z Josh_2 joined #lisp 2020-04-24T12:43:59Z emys joined #lisp 2020-04-24T12:46:16Z mathrick_ quit (Ping timeout: 256 seconds) 2020-04-24T12:48:38Z v_m_v quit (Remote host closed the connection) 2020-04-24T12:48:47Z emys quit (Ping timeout: 272 seconds) 2020-04-24T12:49:02Z phoe: beach: are your STANDARD-CLASS and CONDITION-CLASS going to be compatible? no real use case, just curious 2020-04-24T12:49:05Z v_m_v joined #lisp 2020-04-24T12:52:05Z beach: No, not compatible. But since conditions are standard objects, that compatibility should be enough in most cases. 2020-04-24T12:53:03Z phoe: yes, I see 2020-04-24T12:54:01Z v_m_v quit (Ping timeout: 265 seconds) 2020-04-24T12:55:37Z Nilby: drakma:http-request "https://news.ycombinator.com/" | plump:parse | (plump:get-elements-by-tag-name *input* "a") | opick (_ (equalp "StoryLink" (plump:attribute _ "class"))) |+ plump:text 2020-04-24T12:57:27Z Fare joined #lisp 2020-04-24T12:58:21Z phoe: Nilby: ummm 2020-04-24T12:58:28Z phoe: nice 2020-04-24T12:59:02Z v_m_v joined #lisp 2020-04-24T13:00:53Z v_m_v quit (Remote host closed the connection) 2020-04-24T13:04:24Z Nilby: An example of how cool plump is and how CL is better than Powershell (of course) 2020-04-24T13:04:24Z Shinmera: (lquery:$ (initialize (drakma:http-request ..)) "a.StoryLink" (text)) 2020-04-24T13:05:08Z Nilby: Thanks! Even better! 2020-04-24T13:05:57Z Nilby ... installing lquery 2020-04-24T13:06:05Z beach: phoe: Also, I have a common superclass of STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS which will also be a superclass of CONDITION-CLASS, so methods can be defined on that common superclass. 2020-04-24T13:07:48Z jackdaniel: pcl does that too (for standard-class and funcallable-standard-class that is) 2020-04-24T13:08:15Z mixfix41 joined #lisp 2020-04-24T13:08:16Z beach: Ah, good to know. It must be reasonable then. :) 2020-04-24T13:08:31Z mixfix411 joined #lisp 2020-04-24T13:12:12Z jonatack_ joined #lisp 2020-04-24T13:15:17Z jonatack quit (Ping timeout: 265 seconds) 2020-04-24T13:19:32Z bitmapper joined #lisp 2020-04-24T13:19:51Z Cymew quit (Ping timeout: 250 seconds) 2020-04-24T13:21:06Z SGASAU` joined #lisp 2020-04-24T13:21:12Z Bike: it has std-class as a super of standard- and funcallable-standard-, and then slot-class as a super of std-class, condition-class, and structure-class 2020-04-24T13:21:19Z Bike: there's also pcl-class. it seems complicated. 2020-04-24T13:24:35Z SGASAU quit (Ping timeout: 260 seconds) 2020-04-24T13:25:34Z ralt: Nilby: what are you using to support those pipes? 2020-04-24T13:28:39Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-24T13:29:19Z SGASAU joined #lisp 2020-04-24T13:32:34Z zulu-inuoe joined #lisp 2020-04-24T13:35:03Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-24T13:40:50Z narimiran quit (Ping timeout: 256 seconds) 2020-04-24T13:41:33Z shangul joined #lisp 2020-04-24T13:43:06Z dddddd quit (Ping timeout: 256 seconds) 2020-04-24T13:44:14Z gravicappa quit (Ping timeout: 240 seconds) 2020-04-24T13:44:39Z eta: can you rebind functions lexically? 2020-04-24T13:44:46Z phoe: eta: yes, just not all ones 2020-04-24T13:44:53Z eta: phoe, which ones can't be rebound? 2020-04-24T13:45:08Z eta: basically I want to call a function after replacing READ-SEQUENCE with a non-broken implementation 2020-04-24T13:45:16Z eta: (but only for that function) 2020-04-24T13:45:28Z jmercouris: eta: use a LET 2020-04-24T13:45:33Z eta: oh, that works? 2020-04-24T13:45:34Z eta: nifty 2020-04-24T13:45:48Z jackdaniel: jmercouris: what do you mean by that? 2020-04-24T13:45:56Z phoe: jmercouris: LET doesn't bind in the function namespace 2020-04-24T13:46:05Z phoe: to rebind #'foo you must use FLET or LABELS 2020-04-24T13:46:07Z jmercouris: oh I didn't read READ-SEQUENCE 2020-04-24T13:46:08Z eta: yeah, LET doesn't work 2020-04-24T13:46:09Z jackdaniel: jmercouris: not giving advice is strictly better than giving a misleading advice 2020-04-24T13:46:32Z jmercouris: jackdaniel: everyone makes mistakes 2020-04-24T13:46:33Z jackdaniel: eta: functions in CL package are locked, so you can't shadow them conformingly 2020-04-24T13:46:46Z eta: jackdaniel, can you unlock them? 2020-04-24T13:46:58Z jmercouris: jackdaniel: you gave misleading advice about shared libraries and g-object introspection, I didn't call you out on it 2020-04-24T13:47:07Z jackdaniel: non-portably -- yes. most implementations have a way to unlock package 2020-04-24T13:47:13Z jmercouris: but since you are acting like you don't give incorrect advice on occassion, here I am pointing it out 2020-04-24T13:47:13Z Bike: don't get into a fight thanks 2020-04-24T13:47:19Z eta: hmm, LABELS didn't seem to work 2020-04-24T13:47:24Z Bike: also, if you're binding read-sequence and then calling a function, the body of that function won't see a lexical definition anyway 2020-04-24T13:47:29Z phoe: eta: give us an example 2020-04-24T13:47:32Z Bike: on the other hand, read-sequence is customizable with gray streams 2020-04-24T13:47:39Z phoe: if you're trying to rebind #'cl:read-sequence then that's not going to be portable 2020-04-24T13:47:40Z eta: phoe, okay 2020-04-24T13:47:43Z Bike: i'm not sure what you mean by read-sequence being broken, though 2020-04-24T13:47:52Z eta: (defun test () 2020-04-24T13:47:52Z eta: (format t "test~%")) 2020-04-24T13:47:52Z eta: (defun uses-test () (test)) 2020-04-24T13:47:53Z eta: (labels ((test () t)) (uses-test)) 2020-04-24T13:47:58Z Bike: yeah no 2020-04-24T13:47:59Z jackdaniel: jmercouris: I did give you a lead, not incorrect advice, quite a difference 2020-04-24T13:48:01Z Bike: labels is lexical binding 2020-04-24T13:48:02Z wxie1 joined #lisp 2020-04-24T13:48:07Z eta: mm, that's what I suspected 2020-04-24T13:48:25Z eta: the other way to make this work would be if WEBSOCKET-DRIVER would fix their code >_< 2020-04-24T13:48:46Z eta: oh, I know 2020-04-24T13:48:48Z phoe: eta: fork, fix, pullrequest 2020-04-24T13:48:50Z eta: I could use HANDLER-BIND 2020-04-24T13:48:54Z eta: yeah, that'll work 2020-04-24T13:49:01Z Bike: this sounds sketchy. 2020-04-24T13:49:12Z eta: Bike, so look at https://github.com/fukamachi/websocket-driver/blob/2d20d81f5257111426873b9879795827e4625b83/src/ws/base.lisp#L216 2020-04-24T13:49:23Z eta: this stupid "if error then retry" thing causes it to infinite loop if the stream is closed 2020-04-24T13:49:32Z Bike: ah. i see. 2020-04-24T13:49:35Z phoe: this code is fucked up 2020-04-24T13:49:44Z eta: phoe, you can say that again 2020-04-24T13:49:45Z Bike: yeah, that sounds like this library is broken. 2020-04-24T13:49:47Z phoe: you should never handle all errors this way 2020-04-24T13:50:10Z Bike: and you can't intercept it abofe... 2020-04-24T13:50:17Z Bike: above 2020-04-24T13:50:23Z eta: Bike, my current workaround is BT:DESTROY-THREAD 2020-04-24T13:50:26Z eta: but it doesn't always work 2020-04-24T13:50:34Z wxie quit (Ping timeout: 256 seconds) 2020-04-24T13:50:34Z wxie1 is now known as wxie 2020-04-24T13:50:46Z Bike: yeah, i mean, this is pretty broken. any workaround will only be a stopgap at best 2020-04-24T13:51:00Z eta: the maintainer doesn't seem that responsive though 2020-04-24T13:51:53Z eta: so I guess I could use a HANDLER-BIND to catch an error being thrown? 2020-04-24T13:51:54Z corpix joined #lisp 2020-04-24T13:51:55Z phoe: you have encountered the famous fukamachiware™ - that's why I suggested that you should fork and fix it yourself. 2020-04-24T13:52:13Z eta: phoe, lol 2020-04-24T13:52:16Z Bike: i mean, if you want to fix the code, the fix is to replace 'error' with specifically whatever error an I/O timeout is 2020-04-24T13:52:16Z phoe: eta: https://github.com/fukamachi/websocket-driver/issues/51 - you could try commenting on this issue 2020-04-24T13:52:25Z SGASAU quit (Remote host closed the connection) 2020-04-24T13:52:27Z Bike: there's no real fix to this that doesn't involve changing the code, i think 2020-04-24T13:52:28Z phoe: HANDLER-BIND will not work, because the inner handler will execute first and cause a loop. 2020-04-24T13:52:32Z phoe: yes, what Bike said. 2020-04-24T13:52:33Z eta: phoe, look at https://github.com/fukamachi/websocket-driver/issues/49 2020-04-24T13:52:51Z gravicappa joined #lisp 2020-04-24T13:52:59Z _death: you could define your own stream, perhaps :d 2020-04-24T13:53:03Z eta wonders if there are other non-broken websocket libraries 2020-04-24T13:53:08Z SGASAU joined #lisp 2020-04-24T13:53:15Z eta: also fukamachi's EVENT-EMITTER is a fun one 2020-04-24T13:53:54Z jackdaniel: eta: I've used hunchensocket and it worked very well for me 2020-04-24T13:54:03Z eta: jackdaniel, that's a server-side thing though 2020-04-24T13:54:07Z eta: I need a client lib 2020-04-24T13:54:20Z jackdaniel: aha 2020-04-24T13:54:21Z _death: eta: just fork it and patch 2020-04-24T13:54:25Z phoe: ^ 2020-04-24T13:54:32Z eta: hm, okay 2020-04-24T13:54:38Z eta: but how do I get ASDF to use my version off github 2020-04-24T13:54:42Z eta: (slash other git host) 2020-04-24T13:54:46Z phoe: eta: clone it into local-projects 2020-04-24T13:54:47Z jmercouris: put in ~/common-lisp 2020-04-24T13:54:54Z eta: okay, lemme rephrase 2020-04-24T13:54:56Z _death: maybe the author is more responsive to pull requests than issues 2020-04-24T13:54:56Z jmercouris: also delete quicklisp version just to be safe 2020-04-24T13:55:05Z eta: I'm writing a library though 2020-04-24T13:55:10Z phoe: jmercouris: no need to delete the quicklisp version 2020-04-24T13:55:12Z eta: so how do I get other users of my library to use my patched version 2020-04-24T13:55:14Z jmercouris: your library can use systems on your machine 2020-04-24T13:55:23Z jmercouris: eta: tell them to use your forked version 2020-04-24T13:55:26Z eta: ah 2020-04-24T13:55:33Z phoe: eta: either fork it and submit to Quicklisp on a different name, or convince Xach to switch quicklisp to use your patched version 2020-04-24T13:55:39Z eta: phoe, makes sense 2020-04-24T13:55:45Z phoe: ...at which point, you'll effectively become the maintainer of that package 2020-04-24T13:55:49Z eta: oh no! 2020-04-24T13:55:53Z eta: :P 2020-04-24T13:56:05Z phoe: which would be good - I have heard many people complain about fukamachi's original version of ws-driver 2020-04-24T13:56:09Z ralt: I've been hit by this library as well... https://github.com/fukamachi/websocket-driver/issues/38 2020-04-24T13:56:15Z phoe: ha 2020-04-24T13:56:30Z eta: ralt, oh yeah, this library is full of fun 2020-04-24T13:56:43Z eta: ralt, the best part is if you try and use EVENT-EMITTER in a multi-threaded environment 2020-04-24T13:57:01Z eta: in which case, if things start throwing errors, it's anybody's guess as to which thread the errors appear on 2020-04-24T13:57:07Z TMA: eta: you can also monkey-patch that (i.e. put the (defun websocket-driver.ws.base::read-websocket-frame (...) ...) somewhere in your library 2020-04-24T13:57:13Z SGASAU quit (Remote host closed the connection) 2020-04-24T13:57:15Z jmercouris: you can have bordeaux print which thread it is 2020-04-24T13:57:59Z SGASAU joined #lisp 2020-04-24T13:58:34Z eta: jmercouris, true 2020-04-24T13:58:40Z eta: I mean I managed to deal with it, it's just funny 2020-04-24T14:00:11Z jmercouris: :-) 2020-04-24T14:00:31Z jonatack_ quit (Ping timeout: 260 seconds) 2020-04-24T14:02:08Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-24T14:02:21Z Samo_svoj quit (Quit: Leaving...) 2020-04-24T14:02:33Z jonatack_ joined #lisp 2020-04-24T14:05:34Z SGASAU quit (Remote host closed the connection) 2020-04-24T14:05:36Z eta: phoe, oh man, the fukamachiware(tm) is real 2020-04-24T14:05:50Z eta: SEND specifies a (&key callback) parameter 2020-04-24T14:05:59Z eta: ...which is just FUNCALLed immediately after sending 2020-04-24T14:06:17Z eta: it's like, why would you write (send ...) (do-other-thing) when you can write (send ... :callback #'do-other-thing) 2020-04-24T14:06:22Z eta: (the send isn't asynchronous at all) 2020-04-24T14:07:10Z SGASAU joined #lisp 2020-04-24T14:08:51Z _death: as event-emitter suggests, it's apeing javascript in interface, if not in implementation 2020-04-24T14:10:42Z Lycurgus joined #lisp 2020-04-24T14:12:54Z shifty quit (Ping timeout: 256 seconds) 2020-04-24T14:18:05Z jonatack_ quit (Quit: jonatack_) 2020-04-24T14:18:28Z jonatack joined #lisp 2020-04-24T14:21:37Z hiroaki joined #lisp 2020-04-24T14:22:39Z Bike: does anybody use change-class on funcallable instances? is that something that can be done? MOP says you can't change-class on generic functions... 2020-04-24T14:22:55Z wxie quit (Read error: Connection reset by peer) 2020-04-24T14:23:14Z Shinmera: I have yet to use funcallable instances at all :) 2020-04-24T14:23:50Z Bike: actually, yeah, just examples of using them at all might be good. i do have a few examples myself, but. 2020-04-24T14:33:28Z Lycurgus quit (Read error: Connection reset by peer) 2020-04-24T14:35:17Z phoe: Bike: not all funcallable instances are generic functions 2020-04-24T14:35:26Z Bike: i am aware. 2020-04-24T14:35:31Z phoe: but, huh, still a good question 2020-04-24T14:35:40Z phoe: mop change-class 2020-04-24T14:35:40Z specbot: Couldn't find anything for change-class. 2020-04-24T14:35:46Z phoe: clhs change-class 2020-04-24T14:35:47Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_chg_cl.htm 2020-04-24T14:36:26Z phoe: the standard defines nothing about methods on funcallable-standard-class 2020-04-24T14:36:28Z phoe: neither does the mop 2020-04-24T14:36:36Z phoe: so it's effectively unspecified, it seems? 2020-04-24T14:40:10Z Bike: well that would be mean. 2020-04-24T14:41:15Z phoe: Bike: well, regarding all the slot stuff and such, it could work effectively the same as for standard-class 2020-04-24T14:41:24Z phoe: the big question is what happens to the funcallable instance function 2020-04-24T14:41:43Z phoe: there is no protocol whatsoever for updating it, or even querying for it once it is set 2020-04-24T14:41:57Z phoe: just #'set-funcallable-instance-function, that's all 2020-04-24T14:42:04Z Bike: why would it need to be queried? 2020-04-24T14:42:18Z Bike: i understand why there's no query function, anyway 2020-04-24T14:42:33Z phoe: so do I, the funcallable instance then "becomes" the function 2020-04-24T14:42:34Z Bike: it's not really a slot 2020-04-24T14:43:15Z phoe: I can imagine where change-classing a f-in might break it 2020-04-24T14:43:26Z phoe: I guess these cases could be taken care of in u-i-f-d-c 2020-04-24T14:43:41Z beach: In SICL, there are two slots, the entry point and the static environment. I imagine others do the same. 2020-04-24T14:43:59Z Bike: right, so you can't get the actual function again. 2020-04-24T14:44:07Z beach: Right. 2020-04-24T14:44:30Z Bike: i guess hypothetically there could be an initarg for the function, but without a slot shared-initialize is funny 2020-04-24T14:45:48Z Bike: though incidentally, if there are two slots, is set-funcallable-instance-function non atomic? 2020-04-24T14:47:29Z beach: Good question. It is not, because they reside in the rack, so the rack has to be copied and installed with CAS. 2020-04-24T14:47:47Z Bike: oh, they're in the rack. alright. 2020-04-24T14:48:09Z Bike: ...er, so isn't it atomic, then? or does set-funcallable-instance-function not copy/CAS the rack. 2020-04-24T14:48:56Z beach: It is not "non atomic". 2020-04-24T14:49:05Z beach: So it is atomic. 2020-04-24T14:49:13Z Bike: right. 2020-04-24T14:49:25Z Bike: oh, i see. double negatives. my one weaknes.s 2020-04-24T14:49:52Z beach: It would be an exaggeration to say that I am not unconfused now. 2020-04-24T14:50:21Z Bike: >:/ 2020-04-24T14:50:55Z beach: I am sorry. I should not have answered your question so literally. 2020-04-24T14:51:04Z beach: Tired after a long day of work, I guess. 2020-04-24T14:52:32Z jmercouris: any performance difference between (funcall 'print "lol") and (funcall #'print "lol") ? 2020-04-24T14:52:53Z phoe: jmercouris: not for the symbol cl:format 2020-04-24T14:53:09Z jmercouris: how about for ANY symbol 2020-04-24T14:53:11Z phoe: uh I mean print 2020-04-24T14:53:19Z jmercouris: I figured as much 2020-04-24T14:53:22Z phoe: the implementation can safely assume that the function #'cl:print will never change and therefore open code that 2020-04-24T14:53:23Z beach: jmercouris: The first one is typically slower. 2020-04-24T14:53:36Z jmercouris: how many more operations, typically? 2020-04-24T14:53:39Z phoe: for other symbols, that doesn't need to be the case; the function cell of the symbol needs to be looked up 2020-04-24T14:53:47Z jmercouris: what is lisp doing in #' vs ' 2020-04-24T14:53:56Z beach: clhs fdefinition 2020-04-24T14:53:56Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_fdefin.htm 2020-04-24T14:53:57Z phoe: #' returns a function object, ' returns a symbol 2020-04-24T14:54:03Z jmercouris: like does having the function object really make it THAT much faster? 2020-04-24T14:54:08Z jmercouris: I know, I know 2020-04-24T14:54:12Z phoe: jmercouris: measure it yourself 2020-04-24T14:54:15Z jmercouris: OK 2020-04-24T14:54:29Z beach: jmercouris: You need to fetch the function object, given the symbol. That's the difference. 2020-04-24T14:54:33Z phoe: it's hard to answer questions as general and as implementation- and code-dependent as that one 2020-04-24T14:54:44Z jmercouris: yeah 2020-04-24T14:55:04Z Bike: well, it's generally true that it'll be slower with the symbol, though. 2020-04-24T14:55:06Z beach: jmercouris: They also mean different things when the name is lexically defined. 2020-04-24T14:55:30Z ralt: interestingly, sbcl's disassemble shows the same, i.e. the symbol is already dereferenced to the function object 2020-04-24T14:55:33Z jmercouris: I'm purely concerend with the performance difference 2020-04-24T14:55:53Z beach: ralt: It can do that only for functions that can't be redefined. 2020-04-24T14:56:08Z jmercouris: I was about to say what happens when you redefine 2020-04-24T14:56:10Z jmercouris: how would SBCL know 2020-04-24T14:56:20Z beach: You are not allowed to redefine system functions. 2020-04-24T14:56:38Z jmercouris: 1 2020-04-24T14:56:48Z beach: I mean "standard functions". 2020-04-24T14:56:50Z _death: there is a difference in performance, so code that repeatedly calls functions and takes a function designator should usually use something like alexandria:ensure-function 2020-04-24T14:57:39Z ralt: nope https://pastebin.com/N8KXZJCw 2020-04-24T14:58:08Z beach: ralt: Also, definitions within a compilation unit can be assumed not to change. 2020-04-24T14:58:55Z ralt: what is the exact definition of a compilation unit? typically a package? 2020-04-24T14:59:04Z beach: No, a file, typically. 2020-04-24T14:59:21Z beach: But if the implementation takes advantage of that, there can be some mysterious effects when the user wants to redefine a single function with (say) C-c C-c in slime. 2020-04-24T14:59:32Z ralt: ok, I tried this with the function of another system (so definitely not same compilation unit), and it did the same 2020-04-24T14:59:35Z jmercouris: so you could have a performance benefit by concatenating all of your code into a large file? 2020-04-24T14:59:54Z ralt: I can't actually figure out a way to not have this behavior 2020-04-24T15:00:37Z beach: clhs with-compilation-unit 2020-04-24T15:00:37Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_w_comp.htm 2020-04-24T15:00:37Z Nilby quit (Read error: Connection reset by peer) 2020-04-24T15:00:43Z phoe: jmercouris: this, and block compilation 2020-04-24T15:00:56Z beach: jmercouris: You should be able to achieve the same thing without changing your files. 2020-04-24T15:00:58Z phoe: see https://www.reddit.com/r/lisp/comments/fby38u/block_compilation_fresh_in_sbcl_202_misitimostenti/ 2020-04-24T15:01:01Z Lycurgus joined #lisp 2020-04-24T15:01:04Z _death: ralt: for example, declaim inline 2020-04-24T15:01:09Z Nilby joined #lisp 2020-04-24T15:01:34Z phoe: but that one is only viable if you're willing to sacrifice all of your code structure and redefinability for the sake of pushing 101% possible and available performance out of your code 2020-04-24T15:02:03Z jmercouris: you might as well drop down to assembler yourself then 2020-04-24T15:02:13Z phoe: not necessarily, but still, it's a pain 2020-04-24T15:02:19Z beach: And people who do that are typically the same as the ones who have no clue about algorithms and data structures. 2020-04-24T15:02:37Z shangul quit (Ping timeout: 264 seconds) 2020-04-24T15:03:00Z beach: So they gain a few percent this way, and lose an order of magnitude the other way. 2020-04-24T15:03:03Z phoe: profile first, optimize fourth. think and discuss what and how needs to be optimized second. 2020-04-24T15:03:13Z phoe: and possibly have a good night's sleep third, whatever floats your boat 2020-04-24T15:03:18Z beach: Profiling won't find bad data structures. 2020-04-24T15:04:20Z phoe: correct 2020-04-24T15:10:36Z jmercouris: how can I take over the debugger and have my own interface for restarts? 2020-04-24T15:10:40Z _death: ralt: sorry, not declaim inline.. consider for example (defun bar (fn) (loop repeat 1000000000 do (funcall fn))) (bar #'list) takes around 4.14 seconds here.. with ensure-function in the beginning, it takes around 3.55 seconds.. the number of iterations is large, but for other implementations or platforms could be smaller 2020-04-24T15:11:25Z phoe: jmercouris: depends 2020-04-24T15:11:59Z phoe: do you want to have a complete takeover, or do you want the user to allow to use e.g. BREAK to land in the standard debugger 2020-04-24T15:12:07Z phoe: in the second case, bind *debugger-hook* 2020-04-24T15:12:15Z phoe: in the first case, use trivial-custom-debugger 2020-04-24T15:12:18Z jmercouris: phoe: I want to show a buffer with the error, and the available restarts 2020-04-24T15:12:39Z phoe: if it's just from calling #'error or #'invoke-debuger, then *debugger-hook* will be okay for that 2020-04-24T15:12:42Z jmercouris: phoe: and allow the user to select a restart and view the trace etc 2020-04-24T15:12:52Z phoe: *debugger-hook* + dissect 2020-04-24T15:13:04Z jmercouris: what is dissect? 2020-04-24T15:13:06Z phoe: you basically seem to want to implement your own custom debugger 2020-04-24T15:13:10Z Oladon joined #lisp 2020-04-24T15:13:19Z phoe: dissect is a portability library for accessing stack information 2020-04-24T15:13:29Z jmercouris: I see 2020-04-24T15:13:38Z phoe: including the stacktrace, locals, blah blah 2020-04-24T15:13:41Z jmercouris: I want to implement my own custom debugger, yes 2020-04-24T15:13:52Z phoe: start with *debugger-hook* then 2020-04-24T15:13:58Z jmercouris: OK 2020-04-24T15:14:01Z phoe: and only go for trivial-custom-debugger if you need more than that 2020-04-24T15:14:02Z jmercouris: Thank you 2020-04-24T15:14:15Z phoe: there's a chapter of my WIP book that deals exactly with this issue 2020-04-24T15:14:16Z jmercouris: Will do 2020-04-24T15:14:26Z jmercouris: ah 2020-04-24T15:30:01Z jackdaniel quit (Remote host closed the connection) 2020-04-24T15:30:13Z jackdaniel joined #lisp 2020-04-24T15:41:42Z buffergn0me joined #lisp 2020-04-24T15:45:46Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-24T15:47:56Z Bike: i've dug into this and i'm a bit confused by the class hierarchy now. clos defines no methods specialized on generic-function except for one on ensure-generic-function. so, for example, if you have a generic-function that's not standard, generic-function-name has no defined behavior. 2020-04-24T15:48:02Z Bike: er, "mop defines" 2020-04-24T15:48:50Z phoe: Bike: wait a second 2020-04-24T15:49:07Z phoe: yes, I think that is correct 2020-04-24T15:49:35Z phoe: if you define a non-standard concrete class that subclasses generic-function, you are supposed to implement the required MOP behaviour yourself 2020-04-24T15:49:38Z Bike: i guess if you want to define your own non-standard generic-function you basically need to implement its entire behavior yourself. 2020-04-24T15:49:41Z Bike: yeah. 2020-04-24T15:49:42Z phoe: yes 2020-04-24T15:49:57Z phoe: same thing with non-standard-objects and non-standard-classes 2020-04-24T15:50:05Z phoe: the burden is all on you in such case 2020-04-24T15:50:14Z Bike: not sure i've ever seen that 2020-04-24T15:50:15Z phoe: I remember talking about it with beach a few years ago 2020-04-24T15:50:18Z Bike: i mean, mop isn't super widely used anyway 2020-04-24T15:50:25Z phoe: Bike: neither have I - it's possible, but not feasible 2020-04-24T15:52:03Z phoe: in other news: at 166 A4 pages, 3 published libraries and 6 ASDF systems in total, my upcoming book, Common Lisp Condition System, has reached its first beta version. 2020-04-24T15:52:07Z beach: The spirit of the MOP is definitely that the base class should be free for the user to subclass and create behavior for. 2020-04-24T15:52:11Z phoe: so I guess it's good for reviews now. 2020-04-24T15:52:20Z beach: Great! 2020-04-24T15:53:12Z vyorkin joined #lisp 2020-04-24T15:53:49Z frgo joined #lisp 2020-04-24T15:54:04Z vyorkin quit (Remote host closed the connection) 2020-04-24T15:54:17Z bor0 joined #lisp 2020-04-24T15:55:11Z vyorkin joined #lisp 2020-04-24T15:55:41Z bor0: I am working on deriving the Quine for Lisp: ((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x)))). my question is rather big so I was curious if I should even ask it here. I guess I can start with: has anyone been playing around with Quines in Lisp? 2020-04-24T15:56:01Z phoe: bor0: deriving? what do you mean? 2020-04-24T15:56:15Z phoe: there's a few of them at https://rosettacode.org/wiki/Quine#Common_Lisp 2020-04-24T15:57:06Z bor0: so I am reading through Smullyan's "The Gödelian Puzzle Book". he defines _diagonalization_ for an expression P in which x occurs (D(P(x)), to be the substitution of the variable x with the quoted expression P(x) 2020-04-24T15:57:26Z bor0: I am certain from this diagonalization definition we can follow and build that same Quine, but I am having some issues with that 2020-04-24T15:57:37Z bor0: (actually I am not that certain anymore!) 2020-04-24T15:58:05Z bor0: does it make sense so far? should I continue? 2020-04-24T15:58:29Z Bike: sure, i guess 2020-04-24T15:58:45Z Bike: if you look at that rosetta code page, your quine is basically the third one without the backquote syntax 2020-04-24T15:58:58Z bor0: here is what I have. I am using Racket but I don't think it matters much in this case 2020-04-24T15:58:59Z bor0: (define p (lambda (x) (list (list 'Boro 'is 'reading) x))) 2020-04-24T15:58:59Z bor0: (define d (lambda (p x) (p (list 'quote (p x))))) 2020-04-24T15:59:20Z bor0: `(p 'a-book)` will return `'((Boro is reading) a-book)` and `(d p 'a-book)` will return `'((Boro is reading) '((Boro is reading) a-book))`, as expected 2020-04-24T15:59:36Z bor0: I thought it would be possible to get from that definition of `d` to that actual Quine 2020-04-24T16:00:29Z bor0: that is, I don't see a way to go from `(lambda (p x) (p (list 'quote (p x))))` to the definition of that Quine. so it is either my definition of `d` that is wrong, or this is not possible 2020-04-24T16:00:43Z bor0: by the definition of that Quine I roughly mean `(lambda (x) (list x (list 'quote x)))` 2020-04-24T16:00:52Z bor0: (which is the first, un-quoted part of the lambda) 2020-04-24T16:02:09Z Bike: i guess you probably need to diagonize an expression that uses the diagonalization operator? 2020-04-24T16:02:51Z mathrick joined #lisp 2020-04-24T16:05:40Z bor0: yeah, that's true. that is how he builds self-reference in the book (applying diagonalization to diagonalization). I was thinking if I pattern match the `d` lambda `(lambda (p x) (p (list 'quote (p x))))` with the lambda of that Quine `(lambda (x) (list x (list 'quote x)))` I would find the connection but it is not possible to match them. e.g. I can't replace `p` with `identity` or anything 2020-04-24T16:07:15Z nowhere_man quit (Remote host closed the connection) 2020-04-24T16:07:39Z nowhere_man joined #lisp 2020-04-24T16:07:47Z bor0: I guess the question is, does that (or any Lisp) Quine follow directly from that diagonalization definition? or the only common thing those have is just self-reference 2020-04-24T16:09:07Z Bike: i couldn't guess how the quines were derived. 2020-04-24T16:09:21Z Lycurgus quit (Quit: Exeunt) 2020-04-24T16:16:24Z X-Scale` joined #lisp 2020-04-24T16:17:04Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-24T16:17:05Z X-Scale` is now known as X-Scale 2020-04-24T16:19:55Z Oladon quit (Quit: Leaving.) 2020-04-24T16:21:19Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-24T16:21:42Z buffergn0me joined #lisp 2020-04-24T16:23:17Z beach` joined #lisp 2020-04-24T16:24:18Z beach quit (Disconnected by services) 2020-04-24T16:24:22Z beach` is now known as beach 2020-04-24T16:24:53Z gko quit (Ping timeout: 250 seconds) 2020-04-24T16:28:54Z luckless quit (Ping timeout: 246 seconds) 2020-04-24T16:29:48Z Jeanne-Kamikaze joined #lisp 2020-04-24T16:30:49Z iAmDecim joined #lisp 2020-04-24T16:37:19Z Jeanne-Kamikaze quit (Quit: Leaving) 2020-04-24T16:42:10Z pjb: bor0: the smallest quine in the lisp REPL is: 0 2020-04-24T16:42:21Z pjb: bor0: another one is: "" 2020-04-24T16:42:34Z bor0: I avoid those because they are trivial. also, using IO is trivial and not fun :) 2020-04-24T16:42:49Z Nilby: I feel like the Lisp quine makes the minimal substitution machinery explicit, and so demonstrates elegantly the fundamental minimal essence of computation. 2020-04-24T16:43:20Z pjb: So your definition is: (defun quinep (x) (equal x (eval x))) (quinep '((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))) #| --> t |# 2020-04-24T16:43:30Z JetJej joined #lisp 2020-04-24T16:43:48Z Nilby: Unfortunately, even though we know a Lisp-2 is more practical, Lisp-1 quines are more elegant. 2020-04-24T16:44:28Z pjb: (quinep '(#1=(lambda (x) (list x (list 'quote x))) '#1#)) #| --> t |# 2020-04-24T16:44:36Z Nilby: You have to funcall this:((lambda (lambda) `(,lambda ',lambda)) '(lambda (lambda) `(,lambda ',lambda))) 2020-04-24T16:45:06Z pjb: (quinep '(#1=(lambda (x) `(,x ',x)) '#1#)) #| --> t |# 2020-04-24T16:46:11Z bor0: I was looking for a relation between that Lisp Quine and that diagonalization definition. I think the missing link in those two is Lisp's evaluation strategy. the Quine is simply `(list x (d x))` (which is really just `(list x (list 'quote x))`) where `d x` is the diagonalization of `x`. why do we need a list of both `x` and its diagonalization? because evaluating with its quoted version will return the same list 2020-04-24T16:46:51Z pjb: bor0: you may also use read-from-string and format. 2020-04-24T16:48:22Z shifty joined #lisp 2020-04-24T16:49:16Z LdBeth: Good morning 2020-04-24T16:49:42Z bor0: I have summarized everything here, in case anyone is interested in the whole story (for some reason): https://bor0.wordpress.com/2020/04/24/deriving-a-quine-in-a-lisp/ 2020-04-24T16:50:59Z motersen joined #lisp 2020-04-24T16:51:30Z Nilby: Are there any non-trivial quines that don't use quote? 2020-04-24T16:51:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-24T16:53:04Z bor0: I think it all depends on the evaluation strategy. for example PHP will output any text outside as plain-text, so that allows for some neat Quines in it 2020-04-24T16:54:44Z bor0: Quines by themselves are probably useless, but thinking about them uncovers a lot of things: self-reference (infinite loops, etc), evaluation strategies. (just a random thought) 2020-04-24T16:54:52Z Nilby: (let ((let '`(let ((let ',let)) ,let))) `(let ((let ',let)) ,let)) 2020-04-24T16:55:18Z phoe: nice one 2020-04-24T16:55:20Z bor0: that's `quote` in disguise though, right? 2020-04-24T16:55:26Z phoe: sure it is, yes 2020-04-24T16:55:27Z Nilby: Quines are quite effective at for driving me crazy. 2020-04-24T16:55:37Z antoszka: nice quine 2020-04-24T16:56:31Z bor0: Nilby, I know there is "print the contents of (read current file)" or "1" or "0" etc, but those are considered "cheating". I don't know if there is a universal definition of what cheating in a Quine means 2020-04-24T16:56:56Z bor0: but I would imagine it a hard problem without the usage of `quote`. probably with some crazy macros? 2020-04-24T16:57:26Z phoe: using side effects other than returning values (for languages which can do that) or printing to stdout (for languages which don't naturally return values, like C) 2020-04-24T16:58:13Z pjb: bor0: (quinep (eval '0)) #| --> t |# 2020-04-24T16:58:19Z pjb: no cheating at all. 2020-04-24T16:58:27Z bor0: `eval` and `quote`! 2020-04-24T16:58:28Z pjb: 0 is a lisp expression = a lisp program. 2020-04-24T16:58:33Z smazga joined #lisp 2020-04-24T16:58:40Z pjb: Oops, sorry: (quinep '0) #| --> t |# 2020-04-24T16:58:57Z pjb: this is by your definition of a quine. 2020-04-24T16:59:00Z bor0: I know :) I just said it is considered cheating somewhere. https://en.wikipedia.org/wiki/Quine_(computing)#%22Cheating%22_quines 2020-04-24T16:59:25Z buffergn0me quit (Ping timeout: 252 seconds) 2020-04-24T16:59:28Z smazga quit (Client Quit) 2020-04-24T17:01:33Z Nilby: Just 0 seems like a boring cheating quine, but I think - is a fairly weirdly cheating quine. 2020-04-24T17:01:50Z slyrus_ quit (Quit: Leaving) 2020-04-24T17:02:00Z pjb: Nilby: note that in C, 0 is not a quine. It's a compilation error. 2020-04-24T17:02:16Z pjb: Therefore I think it's not cheating, but an interesting property of the language, that 0 is a lisp quine. 2020-04-24T17:03:12Z Nilby: Minimal C quines do seem to share something with the normal Lisp quine though. 2020-04-24T17:03:15Z Nilby: main(){char *c="main(){char *c=%c%s%c;printf(c,34,c,34);}";printf(c,34,c,34);} 2020-04-24T17:03:27Z bor0: I agree. even Wikipedia starts with "A quine is a computer program which takes no input and produces a copy of its own source code as its only output." so that definition is perfectly valid for the program "0" 2020-04-24T17:03:35Z Nilby: has some structural similarity to 2020-04-24T17:03:37Z Nilby: ((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x)))) 2020-04-24T17:03:39Z phoe: pjb: so is the empty program 2020-04-24T17:03:42Z pjb: Nilby: note this is dead code. You need to work outside of C to run it! 2020-04-24T17:03:50Z phoe: note that "echo "" | sbcl --script" has no input and produces no output 2020-04-24T17:04:05Z Nilby: C is dead to me for sure. :) 2020-04-24T17:04:17Z phoe: ahh the ancient scrolls of the dead C 2020-04-24T17:04:57Z terpri quit (Quit: Leaving) 2020-04-24T17:05:24Z Nilby: Maybe it's not so dead in Zeta-C or Valceitus? 2020-04-24T17:05:44Z ATuin joined #lisp 2020-04-24T17:09:37Z sabrac quit (Quit: Konversation terminated!) 2020-04-24T17:10:46Z emys joined #lisp 2020-04-24T17:17:53Z karlosz joined #lisp 2020-04-24T17:24:04Z sz0 joined #lisp 2020-04-24T17:35:16Z shangul joined #lisp 2020-04-24T17:35:57Z noobineer joined #lisp 2020-04-24T17:44:06Z buffergn0me joined #lisp 2020-04-24T17:45:41Z terpri joined #lisp 2020-04-24T17:47:27Z motersen quit (Ping timeout: 252 seconds) 2020-04-24T17:51:14Z shangul quit (Ping timeout: 240 seconds) 2020-04-24T17:54:21Z karlosz quit (Quit: karlosz) 2020-04-24T17:58:41Z iAmDecim joined #lisp 2020-04-24T17:59:11Z EvW joined #lisp 2020-04-24T18:01:04Z shangul joined #lisp 2020-04-24T18:03:10Z ravndal quit (Quit: WeeChat 2.8) 2020-04-24T18:04:19Z iAmDecim quit (Ping timeout: 265 seconds) 2020-04-24T18:05:14Z dddddd joined #lisp 2020-04-24T18:06:17Z dale_ joined #lisp 2020-04-24T18:06:37Z dale_ is now known as dale 2020-04-24T18:06:53Z Inline joined #lisp 2020-04-24T18:08:03Z froggey: demonstrating mezzano's support for qemu's opengl passthrough device: https://www.youtube.com/watch?v=-dfawGj9Lok 2020-04-24T18:08:59Z vyorkin quit (Remote host closed the connection) 2020-04-24T18:09:59Z phoe: wait a second, is this rendered on the host and then sent back to mezzano for displaying? 2020-04-24T18:10:06Z phoe: how exactly does the passthrough work? 2020-04-24T18:12:25Z froggey: more or less. the guest & the host can exchange data (buffers, textures, etc), and the guest can send commands for the host to execute 2020-04-24T18:13:09Z phoe: awesome 2020-04-24T18:13:37Z karlosz joined #lisp 2020-04-24T18:13:43Z froggey: there I've sent some textures and a vertex buffer to the host, plus commands to render into another texture, then that texture is retrieved from the host and displayed as a normal window 2020-04-24T18:18:17Z Nilby: That's very impressive! That could be the fastest CL OS rendering in history. 2020-04-24T18:19:34Z froggey: well, genera did it on real hardware, so I've still got a bit of a way to go 2020-04-24T18:19:59Z p_l: Nilby: minimal obfuscated C quine had been for over 10 years a 0 lentgth file 2020-04-24T18:21:07Z Nilby: But I can't imagine Genera could match the speed of todays graphics hardware. 2020-04-24T18:21:57Z anlsh joined #lisp 2020-04-24T18:23:15Z Nilby: p_l: I'm not sure what file you mean? 2020-04-24T18:24:17Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-24T18:25:35Z shangul quit (Ping timeout: 265 seconds) 2020-04-24T18:25:41Z p_l: Nilby: when it comes to shortest C quine 2020-04-24T18:26:02Z Nilby: Ah, I see. 2020-04-24T18:26:05Z p_l: International Obfuscated C code contest had to impose a minimal length rule for quines 2020-04-24T18:26:23Z rpg joined #lisp 2020-04-24T18:27:36Z ravndal joined #lisp 2020-04-24T18:29:26Z even4void joined #lisp 2020-04-24T18:29:36Z anlsh: ir 2020-04-24T18:34:25Z iAmDecim joined #lisp 2020-04-24T18:35:11Z boro_ joined #lisp 2020-04-24T18:35:44Z even4void quit (Quit: WeeChat 2.8) 2020-04-24T18:37:14Z narimiran joined #lisp 2020-04-24T18:37:15Z Oladon joined #lisp 2020-04-24T18:38:20Z bor0 quit (Ping timeout: 256 seconds) 2020-04-24T18:38:54Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-24T18:41:47Z EvW quit (Read error: Connection reset by peer) 2020-04-24T18:42:02Z EvW joined #lisp 2020-04-24T18:42:43Z markasoftware: Nilby: is that the shortest known c quine? 2020-04-24T18:46:11Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-24T18:46:46Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-24T18:47:00Z gareppa joined #lisp 2020-04-24T18:47:12Z Nilby: I'm not sure. It was just sitting around in my quine file. 2020-04-24T18:48:18Z notzmv quit (Ping timeout: 265 seconds) 2020-04-24T18:48:24Z boro_ quit (Changing host) 2020-04-24T18:48:24Z boro_ joined #lisp 2020-04-24T18:48:28Z Nilby: It's a least a pretty short one. It get's warnings, but at least it still compiles. 2020-04-24T18:51:12Z patlv joined #lisp 2020-04-24T18:52:50Z patlv: hello all, can't get around an error with clsql when running: (clsql:query "select * from mytable"), getting the error: "[Microsoft][ODBC Driver 17 for SQL Server]Invalid Descriptor Index", while if I list the columns, all good 2020-04-24T18:53:06Z Nilby: It's interesting in that 34 is basicly quote in lisp. 2020-04-24T18:54:02Z gareppa quit (Remote host closed the connection) 2020-04-24T18:54:22Z markasoftware: well it's ascii quote 2020-04-24T18:54:31Z markasoftware: oh i see what you mean 2020-04-24T18:54:51Z Nilby: right, llike saying 34 is quoting quote " 2020-04-24T18:58:44Z phoe: Xach: what is kmr-git? I cannot see it defined in quicklisp-projects 2020-04-24T19:02:15Z Nilby: it's in quicklisp-controller/upstream-misc.lisp : http://git.kpe.io. I had to look it up the other day too. 2020-04-24T19:02:37Z Nilby: phoe: ^^ 2020-04-24T19:05:49Z phoe: Nilby: thanks. 2020-04-24T19:06:30Z phoe: patlv: I have no idea if clsql is maintained; the last commit on that repo is from four years ago. 2020-04-24T19:06:33Z phoe: http://git.kpe.io/?p=clsql.git;a=summary 2020-04-24T19:07:14Z patlv: phoe: didn't know it was an issue with lisp :) 2020-04-24T19:11:16Z patlv: is there anything more recent that is used to replace it? 2020-04-24T19:13:28Z nika quit (Ping timeout: 256 seconds) 2020-04-24T19:15:59Z duncan_ quit (Ping timeout: 260 seconds) 2020-04-24T19:19:53Z buffergn0me joined #lisp 2020-04-24T19:20:35Z phoe: patlv: for mssql? no idea 2020-04-24T19:21:50Z ebrasca quit (Remote host closed the connection) 2020-04-24T19:23:59Z iAmDecim joined #lisp 2020-04-24T19:24:37Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-04-24T19:24:47Z lucasb joined #lisp 2020-04-24T19:25:06Z zulu-inuoe joined #lisp 2020-04-24T19:26:47Z Nilby` joined #lisp 2020-04-24T19:26:54Z Nilby quit (Remote host closed the connection) 2020-04-24T19:26:55Z aindilis quit (Remote host closed the connection) 2020-04-24T19:26:58Z Bourne quit (Ping timeout: 265 seconds) 2020-04-24T19:31:06Z patlv: phoe: yes, mssql is a requirement for this project, gonna try plain-odbc, has been updated more recently. Thanks! 2020-04-24T19:33:29Z izh_ joined #lisp 2020-04-24T19:34:21Z aindilis joined #lisp 2020-04-24T19:40:29Z Oladon quit (Quit: Leaving.) 2020-04-24T19:40:57Z Grue`: patlv: there's also mito 2020-04-24T19:42:22Z patlv: Grue`: doesn't do mssql it seems 2020-04-24T19:42:39Z Grue`: ah sorry I read it as mysql 2020-04-24T19:44:09Z patlv: Grue`: no worries, thanks anyway 2020-04-24T19:45:13Z patlv: plain-odbc seems to be working fine so far, no huge issue popping out so far 2020-04-24T19:50:47Z pilne joined #lisp 2020-04-24T19:53:33Z srji quit (Ping timeout: 265 seconds) 2020-04-24T19:53:48Z srji joined #lisp 2020-04-24T19:57:16Z patlv quit (Remote host closed the connection) 2020-04-24T19:57:39Z patlv joined #lisp 2020-04-24T20:02:51Z Nilby` quit (Read error: Connection reset by peer) 2020-04-24T20:06:11Z karlosz quit (Quit: karlosz) 2020-04-24T20:06:57Z iAmDecim quit (Quit: WeeChat 2.8) 2020-04-24T20:07:17Z iAmDecim joined #lisp 2020-04-24T20:12:58Z izh_ quit (Quit: Leaving) 2020-04-24T20:18:44Z karlosz joined #lisp 2020-04-24T20:21:00Z buffergn0me quit (Ping timeout: 256 seconds) 2020-04-24T20:25:15Z Xach: patlv: i used the sybase / freetds driver successfully but it was a while ago 2020-04-24T20:25:16Z gxt quit (Remote host closed the connection) 2020-04-24T20:25:55Z gxt joined #lisp 2020-04-24T20:26:20Z KDr22 quit (Ping timeout: 256 seconds) 2020-04-24T20:29:14Z patlv: Xach: you remember the library name? 2020-04-24T20:29:41Z X-Scale` joined #lisp 2020-04-24T20:29:45Z patlv: maybe cl-mssql? 2020-04-24T20:30:18Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-24T20:30:21Z X-Scale` is now known as X-Scale 2020-04-24T20:32:11Z Xach: patlv: i thought it was via clsql. i might have the code handy, let me check. 2020-04-24T20:34:29Z Xach: patlv: looks like i don't, sorry. it did not involve mssql, it used only sybase-oriented libraries (which is the parent of mssql) 2020-04-24T20:35:22Z patlv: Xach: no worries, thanks anyway! 2020-04-24T20:37:29Z patlv: your message made me look and find cl-mssql, which gives me another option 2020-04-24T20:37:54Z Xach: cool! 2020-04-24T20:38:25Z efm quit (Read error: Connection reset by peer) 2020-04-24T20:39:14Z ggole quit (Quit: Leaving) 2020-04-24T20:39:14Z karlosz quit (Read error: Connection reset by peer) 2020-04-24T20:39:22Z narimiran quit (Quit: leaving) 2020-04-24T20:39:28Z karlosz joined #lisp 2020-04-24T20:41:04Z thonkpod quit (Quit: WeeChat 2.6) 2020-04-24T20:42:46Z thonkpod joined #lisp 2020-04-24T20:44:09Z cosimone joined #lisp 2020-04-24T20:44:20Z EvW1 joined #lisp 2020-04-24T20:45:06Z gxt quit (Remote host closed the connection) 2020-04-24T20:45:17Z EvW quit (Ping timeout: 252 seconds) 2020-04-24T20:45:26Z v_m_v joined #lisp 2020-04-24T20:45:32Z v_m_v quit (Remote host closed the connection) 2020-04-24T20:45:44Z v_m_v joined #lisp 2020-04-24T20:49:13Z boro_ quit (Quit: This computer has gone to sleep) 2020-04-24T20:51:07Z amerlyq quit (Quit: amerlyq) 2020-04-24T20:55:01Z scymtym joined #lisp 2020-04-24T20:57:27Z v88m quit (Ping timeout: 250 seconds) 2020-04-24T20:58:23Z boro_ joined #lisp 2020-04-24T21:00:01Z KDr22 joined #lisp 2020-04-24T21:00:26Z patlv quit (Ping timeout: 240 seconds) 2020-04-24T21:01:13Z boro_ quit (Client Quit) 2020-04-24T21:02:14Z ATuin quit (Ping timeout: 240 seconds) 2020-04-24T21:13:32Z notzmv joined #lisp 2020-04-24T21:13:52Z thonkpod quit (Quit: WeeChat 2.6) 2020-04-24T21:14:22Z thonkpod joined #lisp 2020-04-24T21:19:05Z pve quit (Quit: leaving) 2020-04-24T21:19:33Z cosimone quit (Quit: Quit.) 2020-04-24T21:19:54Z cosimone joined #lisp 2020-04-24T21:20:58Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-24T21:21:22Z patlv joined #lisp 2020-04-24T21:21:35Z ayuce quit (Remote host closed the connection) 2020-04-24T21:23:01Z ayuce joined #lisp 2020-04-24T21:24:22Z shifty quit (Ping timeout: 256 seconds) 2020-04-24T21:25:01Z shifty joined #lisp 2020-04-24T21:26:29Z emacsomancer quit (Ping timeout: 250 seconds) 2020-04-24T21:26:40Z cosimone quit (Quit: Quit.) 2020-04-24T21:26:44Z cosimone_ joined #lisp 2020-04-24T21:27:17Z ayuce quit (Remote host closed the connection) 2020-04-24T21:28:30Z ayuce joined #lisp 2020-04-24T21:30:33Z notzmv is now known as Miffo 2020-04-24T21:30:57Z Miffo is now known as notzmv 2020-04-24T21:31:00Z cosimone_ quit (Client Quit) 2020-04-24T21:34:26Z v88m joined #lisp 2020-04-24T21:37:10Z Inline quit (Ping timeout: 265 seconds) 2020-04-24T21:37:40Z karlosz quit (Quit: karlosz) 2020-04-24T21:37:57Z karlosz joined #lisp 2020-04-24T21:38:40Z MilenaDevi joined #lisp 2020-04-24T21:41:24Z MilenaDevi quit (Client Quit) 2020-04-24T21:43:22Z msk joined #lisp 2020-04-24T21:46:10Z v88m quit (Ping timeout: 265 seconds) 2020-04-24T21:47:09Z akoana joined #lisp 2020-04-24T21:50:40Z karlosz quit (Quit: karlosz) 2020-04-24T21:51:19Z ayuce quit (Remote host closed the connection) 2020-04-24T21:51:52Z Jeanne-Kamikaze joined #lisp 2020-04-24T21:53:16Z emys quit (Ping timeout: 258 seconds) 2020-04-24T21:57:10Z CrazyPython joined #lisp 2020-04-24T21:57:15Z patlv quit (Ping timeout: 240 seconds) 2020-04-24T21:58:19Z buffergn0me joined #lisp 2020-04-24T21:58:30Z emacsomancer joined #lisp 2020-04-24T22:02:28Z Oladon joined #lisp 2020-04-24T22:05:43Z mrcom joined #lisp 2020-04-24T22:07:15Z gxt joined #lisp 2020-04-24T22:11:39Z v_m_v quit (Remote host closed the connection) 2020-04-24T22:17:42Z patlv joined #lisp 2020-04-24T22:17:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-24T22:18:13Z v_m_v joined #lisp 2020-04-24T22:19:26Z zmt00 quit (Quit: Leaving) 2020-04-24T22:19:54Z msk quit (Ping timeout: 240 seconds) 2020-04-24T22:22:15Z patlv quit (Ping timeout: 240 seconds) 2020-04-24T22:23:04Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-24T22:24:07Z patlv joined #lisp 2020-04-24T22:25:16Z zmt00 joined #lisp 2020-04-24T22:26:15Z ArthurStrong joined #lisp 2020-04-24T22:32:21Z ljavorsk joined #lisp 2020-04-24T22:36:45Z ljavorsk quit (Ping timeout: 240 seconds) 2020-04-24T22:38:06Z iAmDecim joined #lisp 2020-04-24T22:38:45Z patlv quit (Ping timeout: 240 seconds) 2020-04-24T22:39:14Z v_m_v quit (Remote host closed the connection) 2020-04-24T22:40:12Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-04-24T22:42:03Z frgo quit (Remote host closed the connection) 2020-04-24T22:42:38Z frgo joined #lisp 2020-04-24T22:42:50Z v_m_v joined #lisp 2020-04-24T22:46:17Z niceplaces joined #lisp 2020-04-24T22:46:22Z niceplace quit (Ping timeout: 256 seconds) 2020-04-24T22:47:11Z ljavorsk joined #lisp 2020-04-24T22:51:12Z v_m_v quit (Remote host closed the connection) 2020-04-24T22:54:17Z |3b| should learn not to test things :( https://gist.github.com/3b/2bc8911f30ad6b0820d608205012e4f1 2020-04-24T22:54:45Z ljavorsk quit (Ping timeout: 240 seconds) 2020-04-24T22:55:06Z |3b|: i think that's 4 or 5 implementations broken while trying to test my code 2020-04-24T22:55:31Z phoe: did you just attempt to read into a zero-length vector 2020-04-24T22:55:37Z |3b|: yeah 2020-04-24T22:55:42Z phoe: evil 2020-04-24T22:55:48Z |3b|: which seems ok as far as i can tell from spec 2020-04-24T22:55:58Z phoe: clhs read-sequence 2020-04-24T22:55:58Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_rd_seq.htm 2020-04-24T22:56:14Z phoe: yes, it should be okay 2020-04-24T22:56:24Z |3b|: and happens easily when buffering chunked data from a file, which happens to have 0-sized chunks 2020-04-24T22:56:24Z phoe: it should read exactly zero elements 2020-04-24T22:56:27Z |3b|: right 2020-04-24T22:56:31Z |3b|: and not crash the GC 2020-04-24T22:56:48Z phoe: just one thing - you did load all patches into ACL before issuing, this, right? 2020-04-24T22:56:54Z |3b|: no idea 2020-04-24T22:57:03Z |3b|: i downloaded the free thing and ran alisp 2020-04-24T22:57:41Z |3b|: if you have a properly set up real version, i'd be curious if it works there or not 2020-04-24T22:57:47Z phoe: I don't 2020-04-24T22:57:56Z phoe: run sys:update-allegro and then try that again 2020-04-24T22:58:05Z phoe: if it's still broken, let Franz know that you broke it 2020-04-24T22:58:27Z |3b| has no idea how to use allegro properly, just added it to CI since roswell knew how to install it :p 2020-04-24T22:58:58Z phoe: okay, lemme check 2020-04-24T22:59:08Z |3b|: yeah, seems to still break with that 2020-04-24T22:59:41Z |3b|: ah, forgot the "need to rebuild image" part 2020-04-24T22:59:45Z SGASAU quit (Remote host closed the connection) 2020-04-24T23:00:26Z SGASAU joined #lisp 2020-04-24T23:00:49Z |3b|: ok, still broken after that, assuming it worked 2020-04-24T23:01:03Z phoe: lemme verify as well 2020-04-24T23:04:00Z phoe: woooooow 2020-04-24T23:04:02Z phoe: a segfault 2020-04-24T23:04:13Z |3b|: yeah, pretty random results in actual code 2020-04-24T23:04:14Z phoe: go ahead and report it :D 2020-04-24T23:04:30Z |3b|: segfault, unknown object type, stuff about object pointing into newspace, etc 2020-04-24T23:04:55Z phoe: obvious memory corruption stuff. 2020-04-24T23:07:49Z aeth: but the internet common wisdom told me that compilers never have bugs 2020-04-24T23:08:08Z |3b|: unless you use them, then they have lots of bugs :/ 2020-04-24T23:08:10Z aeth: Where are you coming up with these clever test cases? 2020-04-24T23:08:16Z |3b|: 3bz 2020-04-24T23:08:23Z |3b|: and pngload 2020-04-24T23:08:27Z aeth: And, yeah, I've spotted bugs before, but only when disassembling and seeing weird unoptimal things going on there 2020-04-24T23:08:34Z |3b|: (ecl/abcl bug from 3bz, this one from pngload) 2020-04-24T23:09:12Z |3b|: and clasp can't compile nibbles in parallel or something like that, found since it is a dependency of 3bz 2020-04-24T23:09:45Z |3b|: cmucl apparently gets confused by inlining struct accessors, not sure if that is a bug or not 2020-04-24T23:10:17Z |3b|: and lots of lisps object to local setf functions with names matching struct accessors, also probably not an actual bug 2020-04-24T23:10:35Z phoe: inline needs to preserve semantics, so anything inline-related that changes them is generally a bug 2020-04-24T23:10:36Z |3b|: (since fallback to calling #'(setf foo) is last option after all the expanders and macros and stuff) 2020-04-24T23:11:30Z |3b|: https://github.com/xach/skippy/issues/1 is what cmucl does with inlined struct accessors 2020-04-24T23:16:51Z ArthurStrong quit (Quit: leaving) 2020-04-24T23:20:02Z sth_ left #lisp 2020-04-24T23:21:34Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-24T23:22:06Z random-nick quit (Quit: quit) 2020-04-24T23:22:13Z Lord_of_Life joined #lisp 2020-04-24T23:22:58Z SGASAU quit (Remote host closed the connection) 2020-04-24T23:23:37Z SGASAU joined #lisp 2020-04-24T23:27:44Z iAmDecim quit (Ping timeout: 256 seconds) 2020-04-24T23:28:41Z Bourne joined #lisp 2020-04-24T23:33:47Z patlv joined #lisp 2020-04-24T23:33:55Z |3b|: hmm, only ~3h to find and report that bug, i guess that isn't too horrible :/ 2020-04-24T23:34:32Z iAmDecim joined #lisp 2020-04-24T23:34:44Z |3b|: easy to workaround at least, since i don't actually need to read those 0 bytes 2020-04-24T23:35:36Z rpg joined #lisp 2020-04-24T23:36:43Z v88m joined #lisp 2020-04-24T23:38:00Z ClaudiaSamp joined #lisp 2020-04-24T23:40:41Z ClaudiaSamp quit (Client Quit) 2020-04-24T23:41:45Z EvW1 quit (Ping timeout: 240 seconds) 2020-04-24T23:42:54Z sjl joined #lisp 2020-04-24T23:43:12Z patlv quit (Quit: Leaving) 2020-04-24T23:47:59Z ayuce joined #lisp 2020-04-24T23:49:55Z Kevslinger quit (Quit: Connection closed for inactivity) 2020-04-24T23:52:00Z keep_learning joined #lisp 2020-04-24T23:52:02Z shifty quit (Ping timeout: 256 seconds) 2020-04-24T23:52:22Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-25T00:08:07Z karlosz joined #lisp 2020-04-25T00:09:15Z Oladon: phoe: Did you ever get your bytea columns working in Postgres/CLSQL back in 2018? 2020-04-25T00:09:46Z Oladon: I've got a bytea column that just returns 0 when I select from it, even though there's definitely a byte array in there. 2020-04-25T00:16:12Z ayuce quit (Remote host closed the connection) 2020-04-25T00:33:11Z mixfix411 left #lisp 2020-04-25T00:39:04Z pilne_ joined #lisp 2020-04-25T00:39:39Z Zakkor quit (Quit: Connection closed for inactivity) 2020-04-25T00:41:34Z shifty joined #lisp 2020-04-25T00:41:43Z pilne quit (Ping timeout: 260 seconds) 2020-04-25T00:44:11Z pilne_ quit (Quit: I was standing in the park wondering why frisbees got bigger as they get closer. Then it hit me.) 2020-04-25T00:44:41Z pilne joined #lisp 2020-04-25T00:47:14Z shifty quit (Ping timeout: 260 seconds) 2020-04-25T00:55:14Z bleeeeeh joined #lisp 2020-04-25T01:11:09Z Oladon quit (Quit: Leaving.) 2020-04-25T01:12:47Z shifty joined #lisp 2020-04-25T01:15:13Z jonatack quit (Ping timeout: 264 seconds) 2020-04-25T01:17:00Z jonatack joined #lisp 2020-04-25T01:23:30Z karlosz quit (Remote host closed the connection) 2020-04-25T01:28:37Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-25T01:31:56Z iAmDecim is now known as cyberoctopi 2020-04-25T01:34:34Z bitmapper quit (Ping timeout: 240 seconds) 2020-04-25T01:40:50Z Josh_2 quit (Ping timeout: 256 seconds) 2020-04-25T01:45:13Z ardoc quit (Ping timeout: 264 seconds) 2020-04-25T01:48:16Z orivej quit (Ping timeout: 256 seconds) 2020-04-25T01:49:58Z Kundry_Wag joined #lisp 2020-04-25T01:55:49Z CrazyEddy quit (Remote host closed the connection) 2020-04-25T02:01:45Z phadthai quit (Quit: bbl) 2020-04-25T02:03:26Z buffergn0me joined #lisp 2020-04-25T02:06:24Z xlei quit (Ping timeout: 256 seconds) 2020-04-25T02:07:52Z karlosz joined #lisp 2020-04-25T02:09:41Z Oladon joined #lisp 2020-04-25T02:10:49Z wxie joined #lisp 2020-04-25T02:13:15Z CrazyPython quit (Ping timeout: 240 seconds) 2020-04-25T02:14:54Z cyberoctopi quit (Ping timeout: 265 seconds) 2020-04-25T02:16:50Z cyberoctopi joined #lisp 2020-04-25T02:20:57Z igemnace quit (Quit: WeeChat 2.8) 2020-04-25T02:21:08Z cyberoctopi quit (Ping timeout: 256 seconds) 2020-04-25T02:22:01Z JetJej quit (Read error: Connection reset by peer) 2020-04-25T02:22:12Z monok joined #lisp 2020-04-25T02:24:11Z SGASAU quit (Remote host closed the connection) 2020-04-25T02:24:42Z mono quit (Ping timeout: 256 seconds) 2020-04-25T02:24:51Z SGASAU joined #lisp 2020-04-25T02:26:10Z cyberoctopi joined #lisp 2020-04-25T02:28:56Z SGASAU quit (Remote host closed the connection) 2020-04-25T02:31:52Z SGASAU joined #lisp 2020-04-25T02:34:17Z SGASAU quit (Remote host closed the connection) 2020-04-25T02:37:46Z phadthai joined #lisp 2020-04-25T02:38:09Z SGASAU joined #lisp 2020-04-25T02:43:46Z xlei joined #lisp 2020-04-25T02:54:31Z slyrus joined #lisp 2020-04-25T02:55:35Z gko joined #lisp 2020-04-25T02:56:45Z beach: Good morning everyone! 2020-04-25T02:56:49Z turona quit (Ping timeout: 272 seconds) 2020-04-25T02:58:25Z turona joined #lisp 2020-04-25T02:59:08Z SGASAU quit (Remote host closed the connection) 2020-04-25T03:00:38Z Oladon: Morning beach! 2020-04-25T03:01:15Z SGASAU joined #lisp 2020-04-25T03:01:19Z Oladon: beach: What fun projects do you have going on these days? 2020-04-25T03:06:53Z decentsoup joined #lisp 2020-04-25T03:07:03Z beach: Only one active one right now: SICL. I think I finished code generation, so I am back to working on bootstrapping. I am trying to simplify it as much as I can before I turn my DAG into a cyclic graph of metaobjects. 2020-04-25T03:07:13Z beach: Oladon: What about yourself? 2020-04-25T03:09:38Z Oladon: Nice! Sounds like fun. 2020-04-25T03:09:57Z Fare: beach, nice. How does that interact with the use of parts of SICL by clasp? 2020-04-25T03:10:38Z Oladon: I'm working on a fairly "straightforward" web server thingy -- wrestling with trying to get clsql to process byte arrays properly at the moment. :) 2020-04-25T03:10:45Z beach: Clasp uses Cleavir, which is a compiler framework. And Cleavir is a separate sub-project of SICL. 2020-04-25T03:10:54Z Fare: beach, is there an overview of the passes of your compiler? 2020-04-25T03:11:01Z karlosz quit (Quit: karlosz) 2020-04-25T03:12:24Z no-defun-allowed: There are concrete syntax trees, abstract syntax trees, HIR (which I suppose explicates data and control flow), MIR (introducing memory), LIR (introducing registers) and Cluster assembler, from memory. 2020-04-25T03:12:24Z beach: Fare: Globally speaking, it is CST-to-AST, AST-to-HIR, HIR-to-MIR, MIR-to-LIR, LIR-to-Cluster (assembler), and Cluster code generation. There are not many optimization passes yet. Also the thing can be customized, so Clasp probably does its own. 2020-04-25T03:12:42Z beach: no-defun-allowed: Heh, thanks! 2020-04-25T03:12:52Z no-defun-allowed: (: 2020-04-25T03:13:26Z decentsoup quit (Quit: Quit) 2020-04-25T03:13:27Z beach: Fare: Clasp stops at HIR and then does HIR-to-LLVM. 2020-04-25T03:15:28Z karlosz joined #lisp 2020-04-25T03:19:42Z beach: Fare: We have code for several optimization passes, but each client can choose which ones to apply and how. For example, type inference is done in HIR. Value numbering can be done in several passes, etc. 2020-04-25T03:26:21Z nmg joined #lisp 2020-04-25T03:26:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-25T03:28:08Z Fare: CST is common-lisp syntax? 2020-04-25T03:28:41Z beach: It is S-expressions wrapped in standard objects for things like source tracking. 2020-04-25T03:29:29Z beach: The Eclector reader is able to read Common Lisp source code and return a CST. 2020-04-25T03:33:15Z beach: Many of the early passes are now in separate libraries. CST is separate, Eclector is separate, Trucler manages lexical compile-time environments, and that's separate too. We are working on extracting first-class global environments to a separate library. After that, it will be AST and CST-to-AST. 2020-04-25T03:36:55Z ebzzry joined #lisp 2020-04-25T03:38:45Z shifty quit (Ping timeout: 240 seconds) 2020-04-25T03:38:53Z SGASAU quit (Remote host closed the connection) 2020-04-25T03:39:34Z SGASAU joined #lisp 2020-04-25T03:41:01Z beach: Fare: Every pass is defined as a bunch of generic functions that take a CLIENT argument, so that client code can customize pretty much everything. 2020-04-25T03:41:37Z beach: That's why it's a "compiler framework" rather than a "compiler". 2020-04-25T03:47:17Z pilne quit (Quit: Call me a relic, call me what you will. Say I'm old fashioned, say I'm over the hill.) 2020-04-25T03:52:36Z Kundry_Wag quit (Remote host closed the connection) 2020-04-25T03:55:15Z wxie quit (Ping timeout: 240 seconds) 2020-04-25T03:55:19Z theosvoitha joined #lisp 2020-04-25T03:58:20Z ebzzry quit (Read error: Connection reset by peer) 2020-04-25T03:59:18Z wxie joined #lisp 2020-04-25T04:00:17Z Kundry_Wag joined #lisp 2020-04-25T04:03:05Z ayuce joined #lisp 2020-04-25T04:05:06Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-25T04:06:32Z lemoinem is now known as Guest84104 2020-04-25T04:06:32Z Guest84104 quit (Killed (egan.freenode.net (Nickname regained by services))) 2020-04-25T04:06:34Z lemoinem joined #lisp 2020-04-25T04:12:16Z Lycurgus joined #lisp 2020-04-25T04:13:03Z wxie quit (Remote host closed the connection) 2020-04-25T04:13:23Z wxie joined #lisp 2020-04-25T04:18:36Z bleeeeeh quit (Ping timeout: 240 seconds) 2020-04-25T04:24:35Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-04-25T04:34:47Z anlsh quit (Ping timeout: 246 seconds) 2020-04-25T04:35:26Z ebzzry joined #lisp 2020-04-25T04:36:07Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-04-25T04:36:58Z aeth_ joined #lisp 2020-04-25T04:38:04Z dddddd quit (Ping timeout: 258 seconds) 2020-04-25T04:38:37Z aeth quit (Ping timeout: 264 seconds) 2020-04-25T04:40:15Z cyberoctopi quit (Ping timeout: 240 seconds) 2020-04-25T04:41:25Z aeth_ is now known as aeth 2020-04-25T04:45:16Z cyberoctopi joined #lisp 2020-04-25T04:45:45Z Nilby` joined #lisp 2020-04-25T04:53:05Z vlatkoB joined #lisp 2020-04-25T04:59:29Z Bike quit (Quit: Lost terminal) 2020-04-25T05:01:29Z gravicappa joined #lisp 2020-04-25T05:06:03Z _whitelogger quit (Remote host closed the connection) 2020-04-25T05:08:16Z _whitelogger joined #lisp 2020-04-25T05:12:41Z jprajzne quit (Quit: jprajzne) 2020-04-25T05:13:06Z jprajzne joined #lisp 2020-04-25T05:13:46Z wxie quit (Ping timeout: 240 seconds) 2020-04-25T05:17:13Z jprajzne quit (Client Quit) 2020-04-25T05:17:39Z jprajzne joined #lisp 2020-04-25T05:20:45Z mason left #lisp 2020-04-25T05:26:21Z EvW joined #lisp 2020-04-25T05:30:10Z ebzzry quit (Quit: WeeChat 2.3) 2020-04-25T05:30:46Z asarch joined #lisp 2020-04-25T05:32:24Z Oladon quit (Quit: Leaving.) 2020-04-25T05:32:40Z asarch: One stupid question: how is better? (foo () (let ... (do-the-computation))) or (let ... (do-the-computation) (foo with-results))? 2020-04-25T05:33:46Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-25T05:35:42Z beach: It depends on the context. There is no universal answer. 2020-04-25T05:37:13Z asarch: Thank you! 2020-04-25T05:37:16Z Fare: asarch, I favor whichever form gives the programmer more context faster when reading left to right 2020-04-25T05:37:18Z asarch: Thank you very much :-) 2020-04-25T05:37:37Z asarch: Ok 2020-04-25T05:38:08Z v88m quit (Remote host closed the connection) 2020-04-25T05:38:09Z Fare: Sometimes it's even ((lambda (x) (foo x)) (some-computation)) 2020-04-25T05:38:33Z asarch: I suspect the second form is better because it let you to know all the vars in a glitch 2020-04-25T05:38:38Z Fare: What will best enlighten the reader? 2020-04-25T05:38:51Z asarch takes notes... 2020-04-25T05:38:58Z Fare: Is there a pattern followed throughout the file or codebase? 2020-04-25T05:39:21Z asarch: No, there isn't. That's my code 2020-04-25T05:39:23Z emys joined #lisp 2020-04-25T05:39:39Z asarch: I just writing the do's and don'ts in the language 2020-04-25T05:39:39Z beach: Fare: Did I answer your questions to your satisfaction? 2020-04-25T05:39:42Z Fare: What will help the reader understand what's going on, with most context and least misdirection? 2020-04-25T05:40:30Z aeth: CL doesn't have DONTs, only DOs... 2020-04-25T05:40:52Z Fare: Imagine that an older stupider more forgetful drunk yourself has to fix a bug or add a feature under a tight deadline a few years later after having forgotten all about it... how would he like the code to look like? 2020-04-25T05:42:05Z asarch: Good point 2020-04-25T05:42:24Z Fare: Also, go explain the code to your colleagues, or write documentation for the internals... do you have to simplify things? To introduce some concepts? To gloss over others? Then you need to refactor your code accordingly 2020-04-25T05:42:39Z aeth: asarch: When in doubt, break things up into as many functions as possible. But I'm not quite sure howt hat maps to your two styles. 2020-04-25T05:42:44Z aeth: *how that 2020-04-25T05:43:11Z beach: Fare: That is precisely how I try to write code these days. Because I am already older, more stupid, and more forgetful. Though I don't attempt to fix bugs when I am drunk, of course. 2020-04-25T05:43:40Z ayuce quit (Remote host closed the connection) 2020-04-25T05:44:41Z Fare: Matthias Felleisen likes to quote a saying (approx.) "Write your code as if it will be maintained by a psycopathic murderer who knows your address" 2020-04-25T05:44:59Z beach: Heh. 2020-04-25T05:45:51Z aeth: When I find myself commenting entire sections of code, I almost always notice that those sections break up pretty well into separate functions with names pretty close to the comments I made. I might have to have them return multiple values (via VALUES) and then MULTIPLE-VALUE-BIND the functions, though. 2020-04-25T05:46:04Z asarch: (let (....) (bar) (baz) ... (spam) (foo with-the-result)) 2020-04-25T05:46:19Z asarch: Much clear, isn't it? 2020-04-25T05:46:41Z Fare: beach: thanks for the answer. I'm trying to design my compiler, and though it has constraints very different from CL, there are commonalities too 2020-04-25T05:46:58Z beach: Fare: I see. Good luck. 2020-04-25T05:47:19Z asarch: Than: (foo (let (...) (bar) (baz) ... (spam)) 2020-04-25T05:50:08Z corpix quit (Remote host closed the connection) 2020-04-25T05:50:16Z corpix_ joined #lisp 2020-04-25T05:56:02Z aeth: asarch: let* might be the way to go 2020-04-25T05:56:20Z aeth: (let* ((x (foo)) (y (bar x)) ... 2020-04-25T05:57:06Z aeth: (I know, in your example your foo comes last, but I'm just too used to doing foo and then bar in my examples) 2020-04-25T05:58:14Z aeth: asarch: on the other hand if you do (foo (...)) then you could always do (foo (quux ...)) where QUUX now has the LET etc 2020-04-25T05:58:42Z shangul joined #lisp 2020-04-25T06:01:45Z aeth: Of course, (foo (bar (baz (quux ...)))) isn't very readable, so you can't compose them all in the parent function like this 2020-04-25T06:03:24Z asarch: I see 2020-04-25T06:06:10Z ArthurStrong joined #lisp 2020-04-25T06:07:33Z cyberoctopi joined #lisp 2020-04-25T06:09:24Z gltb joined #lisp 2020-04-25T06:12:54Z cyberoctopi quit (Ping timeout: 256 seconds) 2020-04-25T06:14:25Z nowhere_man quit (Ping timeout: 272 seconds) 2020-04-25T06:16:45Z EvW quit (Ping timeout: 240 seconds) 2020-04-25T06:18:33Z _paul0 quit (Remote host closed the connection) 2020-04-25T06:18:55Z paul0 joined #lisp 2020-04-25T06:27:39Z jprajzne quit (Quit: jprajzne) 2020-04-25T06:28:03Z jprajzne joined #lisp 2020-04-25T06:28:09Z Necktwi joined #lisp 2020-04-25T06:31:59Z Fare: clojure has popularized "threading macros". Maybe CLers should adopt them. 2020-04-25T06:32:10Z jprajzne quit (Client Quit) 2020-04-25T06:32:14Z watkinsr quit (Ping timeout: 240 seconds) 2020-04-25T06:32:20Z Fare: (One of these macros corresponds to the macro "NEST" that I export in POIU) 2020-04-25T06:32:33Z jprajzne joined #lisp 2020-04-25T06:32:37Z no-defun-allowed: There is cl-arrows. 2020-04-25T06:33:52Z no-defun-allowed: I probably have a right-way-around-arrows somewhere, because the "postfix" -> didn't feel right in prefix code. 2020-04-25T06:39:09Z Inline joined #lisp 2020-04-25T06:39:23Z asarch quit (Quit: Leaving) 2020-04-25T06:42:08Z Fare: I love postfix. I miss the HP RPL. 2020-04-25T06:42:27Z no-defun-allowed: Sure, but it still is the "other way around" in the context of Lisp. 2020-04-25T06:42:40Z jprajzne quit (Quit: jprajzne) 2020-04-25T06:43:02Z hdasch quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) 2020-04-25T06:43:26Z jprajzne joined #lisp 2020-04-25T06:43:41Z Lycurgus thought that would turn out to be something category theory related or the like 2020-04-25T06:43:53Z no-defun-allowed: The cool kids (OCaml, Javascript soon, etc) seem to do -> with the infix |> operator (eg x |> f = f x) 2020-04-25T06:45:11Z Fare: F# started the trend, IIRC. Of course, | is taken in CL, for escaping symbols. 2020-04-25T06:46:52Z markasoftware: When should I add an :after method to initialize-instance instead of making a constructor method that wraps make-instance? 2020-04-25T06:47:10Z jprajzne quit (Client Quit) 2020-04-25T06:47:33Z jprajzne joined #lisp 2020-04-25T06:48:04Z hdasch joined #lisp 2020-04-25T06:48:34Z dale quit (Ping timeout: 240 seconds) 2020-04-25T06:50:21Z beach: markasoftware: Sonja Keene favors constructors, but I find that it can get pretty complicated when the class hierarchy is not simple. So I always do the :AFTER method on INITIALIZE-INSTANCE. 2020-04-25T06:50:50Z markasoftware: beach: is this because, if you only add after to initialize-instance, initargs for a superclass still take effect? 2020-04-25T06:51:04Z gltb left #lisp 2020-04-25T06:51:22Z beach: markasoftware: I kind of follow the example of the CLIM specification, where the interface to a class is the :INITARGs and the generic functions that operate on its instances. 2020-04-25T06:51:32Z markasoftware: i see 2020-04-25T06:51:32Z pve joined #lisp 2020-04-25T06:51:51Z markasoftware: What if you need a custom argument to initialize your class, but you don't want to store that argument permanently? This is the case for me. 2020-04-25T06:52:05Z markasoftware: can you have an initarg that is not connected to a slot? 2020-04-25T06:52:11Z beach: Sure. 2020-04-25T06:52:30Z beach: Just capture them in your method on INITIALIZE-INSTANCE. 2020-04-25T06:55:20Z markasoftware: beach: how do you mean, "capture"? 2020-04-25T06:55:30Z beach: Define them as &key parameters. 2020-04-25T06:55:31Z markasoftware: make-instance throws an error if i try to pass an initarg that is not declared on any slot 2020-04-25T06:56:05Z markasoftware: oh huh that works 2020-04-25T06:56:08Z markasoftware: i am confusion 2020-04-25T06:56:50Z markasoftware: How does anyone know about the lambda-list to initialize-instance? 2020-04-25T06:57:08Z beach: Hold on, let me look for the relevant Common Lisp HyperSpec page... 2020-04-25T06:57:40Z jprajzne quit (Quit: jprajzne) 2020-04-25T06:57:54Z beach: clhs 7.1.2 2020-04-25T06:57:54Z specbot: Declaring the Validity of Initialization Arguments: http://www.lispworks.com/reference/HyperSpec/Body/07_ab.htm 2020-04-25T06:58:09Z jprajzne joined #lisp 2020-04-25T06:59:00Z beach: markasoftware: The first item in the list says that a keyword argument is valid for MAKE-INSTANCE if it is defined by INITIALIZE-INSTANCE. 2020-04-25T07:01:06Z beach: markasoftware: Technically, MAKE-INSTANCE is quite a complex operation in that it has to check the validity of those keyword arguments for every call. But in practice, there are tricks that your Common Lisp implementation can play to cache this information and make things fast. 2020-04-25T07:01:17Z dale joined #lisp 2020-04-25T07:01:23Z markasoftware: how do you even access the lambda list for a function? is that implementation specific? 2020-04-25T07:01:39Z beach: clhs function-lambda-expression 2020-04-25T07:01:39Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_fn_lam.htm 2020-04-25T07:02:07Z beach: But yeah, mostly implementation specific. Not so for generic functions though. 2020-04-25T07:02:07Z jellopudding joined #lisp 2020-04-25T07:02:10Z jprajzne quit (Client Quit) 2020-04-25T07:02:31Z beach: mop generic-function-lambda-list 2020-04-25T07:02:31Z specbot: http://metamodular.com/CLOS-MOP/generic-function-lambda-list.html 2020-04-25T07:02:32Z jprajzne joined #lisp 2020-04-25T07:02:49Z narimiran joined #lisp 2020-04-25T07:02:52Z beach: markasoftware: While it is not in the Common Lisp standard, it is in the MOP. 2020-04-25T07:04:06Z markasoftware: very interesting 2020-04-25T07:04:33Z beach: I agree. 2020-04-25T07:04:43Z markasoftware: so the "main" method may have a different lambda list than the :after method...how does lisp combine them? 2020-04-25T07:04:55Z markasoftware: does it find the &key for all of them, and take the union? 2020-04-25T07:05:09Z beach: Something like that. 2020-04-25T07:05:26Z beach: That's another Common Lisp HyperSpec page as I recall. 2020-04-25T07:05:36Z beach: Let me see if I can find it... 2020-04-25T07:05:47Z v_m_v joined #lisp 2020-04-25T07:06:25Z dale quit (Ping timeout: 258 seconds) 2020-04-25T07:06:48Z beach: clhs 7.6.4 2020-04-25T07:06:48Z specbot: Congruent Lambda-lists for all Methods of a Generic Function: http://www.lispworks.com/reference/HyperSpec/Body/07_fd.htm 2020-04-25T07:10:14Z markasoftware: does the default initialize-instance have &rest but not &key? 2020-04-25T07:10:38Z v_m_v quit (Ping timeout: 258 seconds) 2020-04-25T07:10:57Z markasoftware: the congruence page says that all keyword parameters specified on one method must be specified on all other methods, OR there must be &rest but not &key on other methods, OR there must be &allow-other-keys on other methods 2020-04-25T07:11:14Z beach: clhs initialize-instance 2020-04-25T07:11:15Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_init_i.htm 2020-04-25T07:11:46Z markasoftware: ok, so it has &allow-other-keys 2020-04-25T07:12:01Z markasoftware: but 7.1.2 says " The presence of &allow-other-keys in the lambda list of an applicable method disables validity checking of initialization arguments." 2020-04-25T07:12:19Z markasoftware: so why does validity checking work even though initialize-instance has &allow-other-keys? 2020-04-25T07:12:37Z beach: Yes, but make-instance also explicitly checks the validity of the keyword arguments according to the page I showed you. 2020-04-25T07:13:24Z beach: It has to take &allow-other-keys, because otherwise, it would signal an error before it has the opportunity to check the validity. 2020-04-25T07:15:17Z beach: These are very good questions. Perfect for #lisp. :) 2020-04-25T07:16:13Z markasoftware: (make-instance) does the checking, not (initialize-instance), right? 2020-04-25T07:16:20Z Bourne quit (Read error: Connection reset by peer) 2020-04-25T07:16:56Z gko_ joined #lisp 2020-04-25T07:17:56Z beach: Right. 2020-04-25T07:18:26Z beach: It doesn't say explicitly, but it says "Making an instance of a class..". 2020-04-25T07:18:49Z markasoftware: the make-instance clhs page does make it explicit, thankfully 2020-04-25T07:18:55Z gko quit (Ping timeout: 265 seconds) 2020-04-25T07:19:33Z markasoftware: Thank you, this has made a lot of things clearer for me. I'm mainly used to Java's excuse for an OOP system :) 2020-04-25T07:19:49Z beach: Heh. Glad I could help. 2020-04-25T07:20:20Z phoe: does (make-excuse 'oop-system ...) also check keyword validity? 2020-04-25T07:20:48Z Lycurgus quit (Quit: Exeunt) 2020-04-25T07:23:11Z Bourne joined #lisp 2020-04-25T07:23:15Z gko joined #lisp 2020-04-25T07:23:24Z phoe: I mean ummmm 2020-04-25T07:23:26Z phoe: good morning 2020-04-25T07:23:39Z no-defun-allowed: Good morning phoe. 2020-04-25T07:23:54Z beach: Hello phoe. 2020-04-25T07:25:54Z gko_ quit (Read error: Connection reset by peer) 2020-04-25T07:27:40Z jprajzne quit (Quit: jprajzne) 2020-04-25T07:27:50Z jellopudding quit (Quit: Quit Client) 2020-04-25T07:28:00Z phoe: hey hi you two 2020-04-25T07:28:04Z jprajzne joined #lisp 2020-04-25T07:29:58Z Bourne quit (Read error: Connection reset by peer) 2020-04-25T07:30:11Z gko quit (Ping timeout: 258 seconds) 2020-04-25T07:32:10Z jprajzne quit (Client Quit) 2020-04-25T07:32:34Z jprajzne joined #lisp 2020-04-25T07:36:40Z Inline: morning 2020-04-25T07:37:40Z no-defun-allowed: Hello Inline 2020-04-25T07:42:41Z jprajzne quit (Quit: jprajzne) 2020-04-25T07:43:09Z jprajzne joined #lisp 2020-04-25T07:47:10Z jprajzne quit (Client Quit) 2020-04-25T07:47:17Z dale joined #lisp 2020-04-25T07:47:35Z jprajzne joined #lisp 2020-04-25T07:52:43Z Bourne joined #lisp 2020-04-25T07:56:53Z wxie joined #lisp 2020-04-25T07:59:02Z dale quit (Ping timeout: 256 seconds) 2020-04-25T08:08:15Z Fare quit (Quit: Leaving) 2020-04-25T08:08:24Z v_m_v joined #lisp 2020-04-25T08:12:07Z cyberoctopi joined #lisp 2020-04-25T08:22:43Z cyberoctopi quit (Ping timeout: 265 seconds) 2020-04-25T08:31:54Z orivej joined #lisp 2020-04-25T08:33:21Z emys quit (Ping timeout: 265 seconds) 2020-04-25T08:34:29Z dale joined #lisp 2020-04-25T08:36:33Z jellopudding joined #lisp 2020-04-25T08:37:11Z emys joined #lisp 2020-04-25T08:39:37Z v_m_v quit (Remote host closed the connection) 2020-04-25T08:41:19Z jellopudding quit (Client Quit) 2020-04-25T08:41:22Z dale quit (Ping timeout: 256 seconds) 2020-04-25T08:41:45Z emys quit (Ping timeout: 240 seconds) 2020-04-25T08:42:01Z emys joined #lisp 2020-04-25T08:47:40Z v_m_v joined #lisp 2020-04-25T08:48:13Z v88m joined #lisp 2020-04-25T08:49:01Z duncan_ joined #lisp 2020-04-25T09:02:15Z v88m quit (Ping timeout: 240 seconds) 2020-04-25T09:02:48Z xuxuru joined #lisp 2020-04-25T09:03:01Z Inline quit (Ping timeout: 265 seconds) 2020-04-25T09:05:12Z pjb: aeth: I wouldn't be so confident about DONTs in CL… They're only a mere macro away! cf. http://groups.google.com/group/comp.lang.lisp/msg/c85442d46c643536 http://groups.google.com/group/comp.lang.lisp/msg/7490e28eec0c0ff5 for example… 2020-04-25T09:05:26Z xuxuru quit (Client Quit) 2020-04-25T09:07:38Z wxie quit (Read error: Connection reset by peer) 2020-04-25T09:07:55Z wxie joined #lisp 2020-04-25T09:13:25Z asarch joined #lisp 2020-04-25T09:13:43Z asarch: What does 'The value "2" is not of type NUMBER when binding SB-KERNEL::X' mean? 2020-04-25T09:14:06Z beach: It means it's a string. 2020-04-25T09:14:31Z no-defun-allowed: Exactly that. 2020-04-25T09:14:39Z asarch: Oh, then I simply cannot (let ((value (* 40 x))) ...), right? 2020-04-25T09:14:39Z beach: You are probably passing a string to some operator doing arithmetic. 2020-04-25T09:14:41Z no-defun-allowed: "2" denotes a string; you probably gave some numeric function a string instead of the appropriate number. 2020-04-25T09:14:54Z no-defun-allowed: You can, but X has to be a NUMBER, not a STRING. 2020-04-25T09:15:08Z wxie1 joined #lisp 2020-04-25T09:15:19Z asarch: Thank you guy! 2020-04-25T09:15:21Z asarch: *guys 2020-04-25T09:15:24Z wxie quit (Ping timeout: 265 seconds) 2020-04-25T09:15:24Z wxie1 is now known as wxie 2020-04-25T09:15:28Z asarch: Thank you very much! :-) 2020-04-25T09:15:44Z dale joined #lisp 2020-04-25T09:16:35Z asarch: Why (qsort ...) is not part of the STL? 2020-04-25T09:16:46Z asarch: *"STL" 2020-04-25T09:17:09Z no-defun-allowed: clhs sort 2020-04-25T09:17:09Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_sort_.htm 2020-04-25T09:18:07Z no-defun-allowed: (format nil "~{~a~^ ~}" (sort '("is..." "But it") #'string<)) 2020-04-25T09:18:35Z asarch: Bingo! 2020-04-25T09:19:11Z Inline joined #lisp 2020-04-25T09:20:02Z no-defun-allowed: The sorting algorithm that it uses isn't specified, but it's probably not a slow one. (Does qsort mean quicksort? I think that's also unspecified.) 2020-04-25T09:21:02Z dale quit (Ping timeout: 260 seconds) 2020-04-25T09:23:00Z asarch: Yeah, QuickSort (like C's qsort) 2020-04-25T09:23:29Z beach: asarch: Why do you care what sorting algorithm is used? 2020-04-25T09:23:58Z no-defun-allowed: qsort(3) doesn't specify what algorithm is used; but for lists I believe merge-sort is more efficient. 2020-04-25T09:24:14Z beach: That's correct. 2020-04-25T09:24:57Z asarch: Actually, I was doing a program in Assembly for x86 with GAS in the Intel Syntax and I just wonder how fast was Common Lisp's qsort 2020-04-25T09:25:25Z beach: asarch: Common Lisp doesn't have any function named QSORT. 2020-04-25T09:26:00Z pjb: And sort doesn't necessarily use the quicksort algorithm. There are faster algorithms… in some circumstances. 2020-04-25T09:26:21Z beach: asarch: Also, performance depends on the implementation, not on the language. 2020-04-25T09:27:11Z asarch: I see 2020-04-25T09:28:00Z asarch: I thought qsort was the fastest algorithm for sorting elements :-( 2020-04-25T09:28:34Z phoe: not always 2020-04-25T09:28:48Z phoe: the problem highly depends on what and how you want to sort 2020-04-25T09:29:01Z beach: asarch: It is not. Especially not on a list, as no-defun-allowed pointed out. 2020-04-25T09:29:24Z Grue`: does anybody know/use "popup buffers" in SLIME? trying to figure out how to make slime-media display an image in a separate buffer 2020-04-25T09:29:30Z beach: asarch: Bucket-sort is the fastest if your element domain permits it. 2020-04-25T09:29:53Z no-defun-allowed: I also recall that quicksort is also O(n^2) if your sequence is sorted the other way. 2020-04-25T09:30:26Z beach: no-defun-allowed: That depends on how the pivot element is chosen. 2020-04-25T09:30:58Z no-defun-allowed: Right. 2020-04-25T09:31:02Z Grue`: if the implementation is known, it's possible for an attacker to construct a sequence that's O(n^2) to sort 2020-04-25T09:31:30Z asarch: Wow! :-( 2020-04-25T09:33:33Z Grue`: all I figured out so far is that (swank::send-to-emacs '(:popup-buffer "aaa" "test" nil)) will kill Swank dead 2020-04-25T09:36:57Z asarch: Bingo! My Caveman2 web application has now pagination: http://localhost:5000/students?p=2 2020-04-25T09:36:58Z jackdaniel: Grue`: implementation may pick the element randomly from the appropriate set 2020-04-25T09:37:02Z asarch: Thank you guys! 2020-04-25T09:37:06Z asarch: Thank you very much! :-) 2020-04-25T09:37:22Z Grue`: that localhost link is not very helpful... 2020-04-25T09:37:46Z asarch: Sorry, sorry :-P 2020-04-25T09:38:07Z zaquest quit (Ping timeout: 265 seconds) 2020-04-25T09:39:50Z nika joined #lisp 2020-04-25T09:40:14Z pjb: Grue`: what about eval-in-emacs? https://github.com/informatimago/emacs/blob/master/slime-rpc.el 2020-04-25T09:40:18Z twelvemonkeys quit (Ping timeout: 256 seconds) 2020-04-25T09:40:20Z asarch: Take a look: http://paste.scsys.co.uk/588708 2020-04-25T09:42:07Z twelvemonkeys joined #lisp 2020-04-25T09:43:12Z Grue`: pjb: that requires setting special permissions in emacs, while sending an event does not 2020-04-25T09:43:24Z asarch: From all the web frameworks I know, Caveman2 is the only one where you only need to edit just two files to up application 2020-04-25T09:43:46Z Grue`: also now that I look at swank source, it doesn't seem like it can handle a :popup-buffer event at all 2020-04-25T09:44:16Z no-defun-allowed: Well, I mean, you could put as many forms as you wanted into one Lisp source file... 2020-04-25T09:44:32Z Shinmera: or you could not use any lisp source files at all. 2020-04-25T09:44:59Z Shinmera: though some frameworks seem to require file system stuff. 2020-04-25T09:45:40Z dddddd joined #lisp 2020-04-25T09:50:54Z emys quit (Ping timeout: 260 seconds) 2020-04-25T09:51:37Z asarch: Have a nice day :-) 2020-04-25T09:51:41Z asarch quit (Quit: Leaving) 2020-04-25T09:52:13Z aeth: pjb: I think a DONT would be more along the lines of (defmacro dont (&body body) (declare (ignore body)) nil) 2020-04-25T09:53:01Z no-defun-allowed: (dont nil) 2020-04-25T09:54:18Z aeth: no-defun-allowed: it doesn't nil, it just returns a different nil... you can use (values) instead in your DONT if you want, though 2020-04-25T09:54:42Z no-defun-allowed: (dont (values)) 2020-04-25T09:55:03Z emys joined #lisp 2020-04-25T09:55:33Z aeth: (if (eql body nil) (values) nil) 2020-04-25T09:55:49Z no-defun-allowed: :c 2020-04-25T09:56:16Z aeth: or, actually (and body (listp body) (endp (cadr body)) 2020-04-25T09:56:56Z aeth: s/cadr/cdr/ 2020-04-25T09:59:15Z emys quit (Ping timeout: 240 seconds) 2020-04-25T10:00:39Z aeth: no-defun-allowed: (defmacro dont (&body body) (if (and (consp body) (endp (cdr body)) (null (car body))) `(values) nil)) 2020-04-25T10:02:15Z wxie quit (Ping timeout: 240 seconds) 2020-04-25T10:02:33Z aeth: of course you can still (dont (progn nil)) etc. but that works as expected because it shouldn't attempt to evaluate it, it should just do nothing 2020-04-25T10:03:22Z random-nick joined #lisp 2020-04-25T10:04:17Z Shinmera: A much more interesting variant would be one that actually randomly constructs valid code and executes it. 2020-04-25T10:06:22Z aeth: technically all it has to do is something that is not provided, yes 2020-04-25T10:06:43Z pjb: Grue`: what is a popup-buffer event? 2020-04-25T10:07:16Z pjb: Grue`: how do I set special permissions in emacs? 2020-04-25T10:08:12Z aeth: and technically DONT is actually useful, as a way to essentially comment out entire s-expressions (assuming nothing fancy is going on, like with the reader). 2020-04-25T10:08:13Z gko joined #lisp 2020-04-25T10:08:49Z no-defun-allowed: #1=(dont #1#) 2020-04-25T10:09:36Z aeth: (dont #.(print "Hello")) ; of course, it's technically functioning, because it's returning NIL instead of "Hello" 2020-04-25T10:10:01Z Grue`: pjb: for eval-in-emacs to work, `slime-enable-evaluate-in-emacs' should be set to T on the Emacs side. It's a security feature, I think (though realistically running random CL code is as dangerous as running random Elisp code) 2020-04-25T10:13:43Z pjb: indeed, since you can always do emacsclient -e … 2020-04-25T10:15:36Z dale joined #lisp 2020-04-25T10:16:31Z pjb: (uiop:run-program "emacs-client -e '(setq slime-enable-evaluate-in-emacs t)'") (eval-in-emacs '(switch-to-buffer "HELLO")) 2020-04-25T10:17:33Z karlosz quit (Quit: karlosz) 2020-04-25T10:18:48Z v_m_v quit (Remote host closed the connection) 2020-04-25T10:20:10Z dale quit (Ping timeout: 265 seconds) 2020-04-25T10:21:48Z shifty joined #lisp 2020-04-25T10:22:34Z v_m_v joined #lisp 2020-04-25T10:27:16Z akoana left #lisp 2020-04-25T10:34:49Z wxie joined #lisp 2020-04-25T10:38:49Z Kundry_Wag joined #lisp 2020-04-25T10:41:12Z dale joined #lisp 2020-04-25T10:41:24Z frgo quit (Read error: Connection reset by peer) 2020-04-25T10:41:38Z frgo joined #lisp 2020-04-25T10:42:28Z Lycurgus joined #lisp 2020-04-25T10:43:12Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-25T10:45:58Z dale quit (Ping timeout: 256 seconds) 2020-04-25T10:46:19Z Kundry_Wag joined #lisp 2020-04-25T10:48:35Z RedMallet joined #lisp 2020-04-25T10:51:08Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-25T10:52:34Z Lycurgus quit (Remote host closed the connection) 2020-04-25T11:04:59Z cosimone joined #lisp 2020-04-25T11:08:13Z zaquest joined #lisp 2020-04-25T11:08:45Z wxie quit (Ping timeout: 240 seconds) 2020-04-25T11:08:50Z orivej quit (Ping timeout: 260 seconds) 2020-04-25T11:15:43Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-25T11:21:05Z Lord_of_Life_ joined #lisp 2020-04-25T11:23:39Z pragmaticdog joined #lisp 2020-04-25T11:23:56Z Lord_of_Life quit (Ping timeout: 256 seconds) 2020-04-25T11:24:01Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-25T11:38:11Z cosimone quit (Quit: Quit.) 2020-04-25T11:41:46Z pragmaticdog quit (Quit: Leaving) 2020-04-25T11:50:03Z Grue`: aw yes I figured it out https://gist.github.com/tshatrov/02e14ce32618f98705303812c2d427b2 2020-04-25T11:50:15Z dale joined #lisp 2020-04-25T11:50:33Z Grue`: very important to set buffer-file-name and not-modified because Emacs image mode is dumb 2020-04-25T11:51:08Z Bike joined #lisp 2020-04-25T11:51:21Z phoe: Grue`: please turn that into a blogpost 2020-04-25T11:51:46Z Grue`: I might do that 2020-04-25T11:54:45Z dale quit (Ping timeout: 240 seconds) 2020-04-25T11:55:35Z dale joined #lisp 2020-04-25T12:00:10Z dale quit (Ping timeout: 260 seconds) 2020-04-25T12:00:16Z gareppa joined #lisp 2020-04-25T12:04:51Z jonatack quit (Ping timeout: 250 seconds) 2020-04-25T12:05:26Z jonatack joined #lisp 2020-04-25T12:06:23Z pjb: Grue`: instead of view-file-slime, you can use (defmethod view-image (image-designator stream)) and have methods for pathname image 2d-array etc, and character-stream, binary-stream, swank/gray::slime-output-stream etc. 2020-04-25T12:06:47Z pjb: so (defmethod view-image (image-designator (stream swank/gray::slime-output-stream)) …) could call swank::eval-in-emacs. 2020-04-25T12:07:12Z pjb: but (defmethod view-image (image-designator (stream clim:stream-or-whatever)) …) would call clim. 2020-04-25T12:07:13Z pjb: etc. 2020-04-25T12:08:47Z shka_ joined #lisp 2020-04-25T12:08:55Z shka_ quit (Remote host closed the connection) 2020-04-25T12:09:17Z shka_ joined #lisp 2020-04-25T12:14:33Z Lycurgus joined #lisp 2020-04-25T12:18:40Z pfdietz joined #lisp 2020-04-25T12:19:46Z scymtym quit (Ping timeout: 260 seconds) 2020-04-25T12:21:34Z cosimone joined #lisp 2020-04-25T12:22:11Z RedMallet quit (Quit: WeeChat 2.8) 2020-04-25T12:22:50Z gareppa quit (Quit: Leaving) 2020-04-25T12:25:16Z v_m_v quit (Remote host closed the connection) 2020-04-25T12:31:07Z scymtym joined #lisp 2020-04-25T12:34:17Z Kundry_Wag joined #lisp 2020-04-25T12:39:11Z EvW joined #lisp 2020-04-25T12:40:46Z bor0 joined #lisp 2020-04-25T12:55:19Z Inline quit (Ping timeout: 272 seconds) 2020-04-25T12:55:31Z Myk267 joined #lisp 2020-04-25T12:55:47Z remexre quit (Ping timeout: 260 seconds) 2020-04-25T12:59:30Z gareppa joined #lisp 2020-04-25T13:03:20Z orivej joined #lisp 2020-04-25T13:06:18Z krid joined #lisp 2020-04-25T13:14:10Z Inline joined #lisp 2020-04-25T13:14:45Z jonatack quit (Ping timeout: 240 seconds) 2020-04-25T13:16:30Z Lycurgus quit (Remote host closed the connection) 2020-04-25T13:16:54Z jonatack joined #lisp 2020-04-25T13:18:57Z JohnMS_WORK joined #lisp 2020-04-25T13:21:21Z gareppa quit (Quit: Leaving) 2020-04-25T13:23:11Z msk joined #lisp 2020-04-25T13:25:20Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-25T13:26:46Z Josh_2 joined #lisp 2020-04-25T13:33:45Z EvW quit (Ping timeout: 240 seconds) 2020-04-25T13:33:46Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-25T13:37:17Z Kundry_Wag joined #lisp 2020-04-25T13:39:35Z Kundry_Wag quit (Read error: No route to host) 2020-04-25T13:46:41Z krid quit (Ping timeout: 250 seconds) 2020-04-25T13:51:15Z msk quit (Ping timeout: 240 seconds) 2020-04-25T13:52:20Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-25T13:54:12Z EvW joined #lisp 2020-04-25T13:56:29Z gko_ joined #lisp 2020-04-25T13:57:45Z gareppa joined #lisp 2020-04-25T13:59:45Z gko quit (Ping timeout: 240 seconds) 2020-04-25T14:00:03Z gko joined #lisp 2020-04-25T14:00:45Z gko_ quit (Ping timeout: 240 seconds) 2020-04-25T14:03:04Z cmatei quit (Remote host closed the connection) 2020-04-25T14:06:15Z EvW quit (Ping timeout: 272 seconds) 2020-04-25T14:10:45Z gareppa quit (Quit: Leaving) 2020-04-25T14:22:25Z cmatei joined #lisp 2020-04-25T14:28:12Z gko_ joined #lisp 2020-04-25T14:29:44Z gareppa joined #lisp 2020-04-25T14:29:54Z gko quit (Ping timeout: 240 seconds) 2020-04-25T14:32:59Z msk joined #lisp 2020-04-25T14:34:08Z jason_m quit (Remote host closed the connection) 2020-04-25T14:34:49Z jason_m joined #lisp 2020-04-25T14:35:10Z gareppa quit (Remote host closed the connection) 2020-04-25T14:37:44Z b0nn quit (Remote host closed the connection) 2020-04-25T14:41:29Z dale joined #lisp 2020-04-25T14:58:17Z stoneglass joined #lisp 2020-04-25T14:59:21Z asarch joined #lisp 2020-04-25T15:00:43Z HDurer quit (*.net *.split) 2020-04-25T15:00:43Z ult quit (*.net *.split) 2020-04-25T15:00:43Z null_ptr quit (*.net *.split) 2020-04-25T15:00:43Z spacedbat quit (*.net *.split) 2020-04-25T15:00:43Z trittweiler quit (*.net *.split) 2020-04-25T15:00:43Z ck_ quit (*.net *.split) 2020-04-25T15:00:43Z zagura quit (*.net *.split) 2020-04-25T15:00:53Z zagura joined #lisp 2020-04-25T15:00:58Z HDurer joined #lisp 2020-04-25T15:00:59Z trittweiler joined #lisp 2020-04-25T15:01:01Z ult joined #lisp 2020-04-25T15:01:01Z spacedbat joined #lisp 2020-04-25T15:01:15Z Myk267 quit (Ping timeout: 240 seconds) 2020-04-25T15:02:14Z null_ptr joined #lisp 2020-04-25T15:02:35Z Kundry_Wag joined #lisp 2020-04-25T15:03:13Z hdasch quit (Ping timeout: 264 seconds) 2020-04-25T15:03:33Z hdasch joined #lisp 2020-04-25T15:04:52Z ck_ joined #lisp 2020-04-25T15:06:09Z CEnnis91 quit (*.net *.split) 2020-04-25T15:06:09Z shenghi quit (*.net *.split) 2020-04-25T15:06:09Z otwieracz quit (*.net *.split) 2020-04-25T15:06:09Z cwaydt quit (*.net *.split) 2020-04-25T15:06:09Z justinmcp_ quit (*.net *.split) 2020-04-25T15:06:09Z |3b| quit (*.net *.split) 2020-04-25T15:06:32Z shenghi joined #lisp 2020-04-25T15:06:36Z cwaydt joined #lisp 2020-04-25T15:06:38Z otwieracz joined #lisp 2020-04-25T15:07:12Z CEnnis91 joined #lisp 2020-04-25T15:07:18Z justinmcp joined #lisp 2020-04-25T15:08:37Z simplegauss quit (Ping timeout: 264 seconds) 2020-04-25T15:08:51Z simplegauss joined #lisp 2020-04-25T15:12:49Z keep_learning joined #lisp 2020-04-25T15:24:13Z asarch quit (Quit: Leaving) 2020-04-25T15:24:59Z theseb joined #lisp 2020-04-25T15:27:41Z ebzzry joined #lisp 2020-04-25T15:28:02Z theseb: Is this right? I think I know why/when you'd want a DSL (domain specific language).....when you are solving a very complex problem!...In that case you can't tolerate *any* distractions from your language....even an easy readable language like Python isn't clean enough when you're pushing the envelope of complexity yes? 2020-04-25T15:28:25Z arbv quit (Ping timeout: 264 seconds) 2020-04-25T15:30:15Z beach: By "your language", do you mean the DSL? And what kind of "distraction" are you referring to? 2020-04-25T15:31:26Z sjl quit (Ping timeout: 265 seconds) 2020-04-25T15:32:04Z beach: theseb: There are different reasons for preferring a DSL over a general-purpose language. Once possible reason is that you don't want your language to be Turing complete, so that the compiler can do a complete analysis of the program. In that case, the programmer must be completely restricted to the DSL that is being available. 2020-04-25T15:33:13Z beach: theseb: But another possible reason might be that it is just more expressive for the domain in question, i.e., you need less code for a particular task. Then, you can make a DSL as an embedded language, and program in a mixture of the host language and the DSL. 2020-04-25T15:33:48Z beach: theseb: Common Lisp programmers use the second method all the time. Any complex macro can be thought of as a small DSL for a particular domain. 2020-04-25T15:34:02Z pfdietz quit (*.net *.split) 2020-04-25T15:34:27Z dale quit (Ping timeout: 260 seconds) 2020-04-25T15:34:30Z nmg quit (Remote host closed the connection) 2020-04-25T15:34:33Z krid joined #lisp 2020-04-25T15:35:19Z arbv joined #lisp 2020-04-25T15:36:14Z Davd[m] left #lisp 2020-04-25T15:38:10Z Davd[m] joined #lisp 2020-04-25T15:38:48Z scymtym_ joined #lisp 2020-04-25T15:40:03Z scymtym quit (Ping timeout: 260 seconds) 2020-04-25T15:40:06Z ebzzry quit (Read error: Connection reset by peer) 2020-04-25T15:44:59Z sjl joined #lisp 2020-04-25T15:46:03Z theseb: beach: right.... 2020-04-25T15:46:43Z theseb: beach: at first making a DSL sounded extreme....but if you are doing something "extreme" like some hardcore cutting edge machine language thingie...then it may be warranted! 2020-04-25T15:47:05Z theseb: i think i'm starting to "get" lisp ;) 2020-04-25T15:47:11Z varjag joined #lisp 2020-04-25T15:47:20Z theseb: beach: thanks for your help 2020-04-25T15:47:43Z Lycurgus joined #lisp 2020-04-25T15:49:58Z cmatei quit (Remote host closed the connection) 2020-04-25T15:50:04Z beach: Sure. 2020-04-25T15:50:16Z cmatei joined #lisp 2020-04-25T15:50:46Z varjag: could anyone point to an example of udp broadcast handling with usocket? 2020-04-25T15:50:54Z pfdietz joined #lisp 2020-04-25T15:51:35Z CrazyPython joined #lisp 2020-04-25T15:52:47Z theseb: beach: can i ask you about what seems an very elegant feature of lisp parsing? I think lisp can parse strings like this "abc"def" without escaping? (e.g. "abc\"def")?.....Because of the way s-expressions work it seems there isn't the ambiguity in "abc"def" you'd find in other languages...Is that right? 2020-04-25T15:55:32Z phoe: theseb: that's actually not how the reader works 2020-04-25T15:55:37Z phoe: "abc" gets read as a string 2020-04-25T15:55:44Z phoe: def gets read as a symbol DEF 2020-04-25T15:55:50Z phoe: " starts reading the next string 2020-04-25T15:55:51Z theseb: phoe: i just tested (print "hel"lo") and it bombed ;) 2020-04-25T15:55:54Z theseb: you are right' 2020-04-25T15:55:55Z phoe: yes 2020-04-25T15:57:08Z theseb: phoe: oh i think i get it....the reader doesn't know when string ends if we allow that 2020-04-25T15:57:13Z phoe: exactly 2020-04-25T15:58:03Z MichaelRaskin: Also, "asd""def" is a legal way to represent two strings 2020-04-25T16:00:50Z pjb: theseb: there's no point in asking the same question in different channels! 2020-04-25T16:01:01Z pjb: theseb: if you didn't care about CL or scheme, you could have used ##lisp ! 2020-04-25T16:03:39Z pjb: theseb: With the syntax you propose, how do you distinguish (list "good" morning" !") from (list "good" morning" !" ? ie a list of 1 string vs. a list of a string, a symbol and a string? 2020-04-25T16:03:50Z pjb: s/ ?/)?/ 2020-04-25T16:05:07Z anewuser joined #lisp 2020-04-25T16:07:11Z edgar-xyz joined #lisp 2020-04-25T16:09:27Z edgar-rft quit (Ping timeout: 260 seconds) 2020-04-25T16:11:26Z benjamin-l quit (Ping timeout: 240 seconds) 2020-04-25T16:11:52Z benjamin-l joined #lisp 2020-04-25T16:14:24Z theseb: pjb: hmmm...yea ...your example was ambiguous because you had a space after a "....weird that MY example is fine if you do NOT put a space after the " 2020-04-25T16:16:53Z Kevslinger joined #lisp 2020-04-25T16:19:24Z CrazyPython quit (Read error: Connection reset by peer) 2020-04-25T16:19:33Z EvW1 joined #lisp 2020-04-25T16:19:50Z anewuser quit (Ping timeout: 244 seconds) 2020-04-25T16:21:02Z amazoniantoad joined #lisp 2020-04-25T16:21:29Z amazoniantoad: How do I reference the second element of a simple-array? I tried using elt but it throws an error. Also aref doesn't work. 2020-04-25T16:21:38Z phoe: amazoniantoad: "doesn't work", what do you mean 2020-04-25T16:21:47Z phoe: (aref array 1) should do the trick 2020-04-25T16:21:54Z amazoniantoad: let me try real quick 2020-04-25T16:22:05Z Bike: of course, that's assuming your array is one dimensional. 2020-04-25T16:22:27Z amazoniantoad: Wrong number of subscripts, 1, for array of rank 2. 2020-04-25T16:22:30Z amazoniantoad: Yeah, it isn't 2020-04-25T16:22:53Z Bike: if it's not one dimensional than "second element" is a more ambiguous concept. 2020-04-25T16:22:56Z phoe: ^ 2020-04-25T16:23:05Z amazoniantoad: It's an array of arrays 2020-04-25T16:23:11Z Bike: No, it's a two dimensional array. 2020-04-25T16:23:11Z phoe: no, it's a two-dimensional array 2020-04-25T16:23:16Z amazoniantoad: Oh okay 2020-04-25T16:23:17Z phoe: an array of arrays is a different thing 2020-04-25T16:23:29Z phoe: try (aref array 0 0) 2020-04-25T16:23:39Z phoe: use more than one subscript, as many subscripts as many dimensions your array has 2020-04-25T16:23:45Z amazoniantoad: yeah that works 2020-04-25T16:23:49Z amazoniantoad: oh I see 2020-04-25T16:24:16Z phoe: you can't really refer to invidual "subarrays" in Lisp, mostly because they aren't individual 2020-04-25T16:24:57Z jackhill quit (Ping timeout: 272 seconds) 2020-04-25T16:24:58Z phoe: a 10x10 array is different than a 10-element array full of 10-element arrays 2020-04-25T16:25:54Z bitmapper joined #lisp 2020-04-25T16:25:58Z gko_ quit (Ping timeout: 256 seconds) 2020-04-25T16:26:06Z jackhill joined #lisp 2020-04-25T16:26:13Z amazoniantoad: I see 2020-04-25T16:27:09Z phoe: see https://plaster.tymoon.eu/view/1776#1776 2020-04-25T16:27:15Z phoe: the first is a vector of vectors 2020-04-25T16:27:18Z phoe: the latter is a 2D array 2020-04-25T16:28:45Z phoe: ...which, on SBCL, is nonetheless backed by a vector for storage - but that's an implementation detail 2020-04-25T16:29:26Z Kundry_Wag quit (Remote host closed the connection) 2020-04-25T16:30:42Z beach: phoe: Oh? I think the standard requires the elements to be stored in row-major order. 2020-04-25T16:31:11Z ayuce joined #lisp 2020-04-25T16:31:43Z Bike: technically they could be stored in some other way and row-major-aref and array-row-major-index could do translations 2020-04-25T16:31:53Z Bike: don't think anyone actually does that, though 2020-04-25T16:31:58Z Shinmera: you can access them in row-major order byr-m-a, but yeah, you could store it however. 2020-04-25T16:32:44Z beach: I guess, so, sure. 2020-04-25T16:33:02Z beach: Displaced arrays would be very hard to implement then. 2020-04-25T16:33:31Z jonatack quit (Ping timeout: 250 seconds) 2020-04-25T16:35:13Z phoe: beach: order, yes 2020-04-25T16:35:22Z dale joined #lisp 2020-04-25T16:35:23Z jonatack joined #lisp 2020-04-25T16:35:44Z phoe: I meant what Shinmera said though 2020-04-25T16:38:25Z edgar-xyz quit (Quit: Leaving) 2020-04-25T16:40:34Z dale quit (Ping timeout: 260 seconds) 2020-04-25T16:41:04Z CrazyPython joined #lisp 2020-04-25T16:42:22Z edgar-rft joined #lisp 2020-04-25T16:44:43Z Lycurgus quit (Remote host closed the connection) 2020-04-25T16:48:58Z pjb: theseb: actually, your example is no less ambiguous than mine. Notably, in CL, (length '("ab""cd"foo)) #| --> 3 |# 2020-04-25T16:50:03Z pjb: theseb: reader macros can be terminating or non-terminating: (mapcar 'identity '(foo"bar"#P"baz"quux#P"FOO")) #| --> (foo "bar" #P"baz" QUUX\#P "FOO") |# 2020-04-25T16:51:05Z anewuser joined #lisp 2020-04-25T16:55:34Z anewuser quit (Ping timeout: 260 seconds) 2020-04-25T16:56:10Z krid quit (Ping timeout: 246 seconds) 2020-04-25T16:57:20Z dale joined #lisp 2020-04-25T16:57:37Z jackhill quit (Quit: leaving) 2020-04-25T16:57:56Z jackhill joined #lisp 2020-04-25T16:59:37Z varjagg joined #lisp 2020-04-25T17:00:14Z shangul quit (Ping timeout: 260 seconds) 2020-04-25T17:01:20Z varjag quit (Ping timeout: 265 seconds) 2020-04-25T17:02:12Z theseb quit (Ping timeout: 244 seconds) 2020-04-25T17:04:15Z dale quit (Ping timeout: 240 seconds) 2020-04-25T17:05:04Z z0d: someone's writing a Diablo clone in SBCL 2020-04-25T17:05:06Z z0d: https://www.twitch.tv/awkravchuk 2020-04-25T17:06:59Z Kundry_Wag joined #lisp 2020-04-25T17:08:59Z bor0 quit (Quit: Leaving) 2020-04-25T17:11:13Z Kundry_Wag quit (Ping timeout: 246 seconds) 2020-04-25T17:20:29Z renzhi joined #lisp 2020-04-25T17:20:43Z ayuce quit (Read error: Connection reset by peer) 2020-04-25T17:27:02Z jonatack quit (Quit: jonatack) 2020-04-25T17:28:54Z Grue`: z0d: hopefully it has Kitten of Death as a monster 2020-04-25T17:33:20Z Lord_of_Life quit (Read error: Connection reset by peer) 2020-04-25T17:34:11Z dale joined #lisp 2020-04-25T17:34:34Z Lord_of_Life joined #lisp 2020-04-25T17:38:58Z dale quit (Ping timeout: 260 seconds) 2020-04-25T17:40:22Z zaquest quit (Ping timeout: 260 seconds) 2020-04-25T17:42:27Z jonatack joined #lisp 2020-04-25T17:43:05Z anlsh joined #lisp 2020-04-25T17:48:45Z renzhi quit (Ping timeout: 240 seconds) 2020-04-25T17:51:36Z emys joined #lisp 2020-04-25T17:52:20Z stoneglass quit (Read error: Connection reset by peer) 2020-04-25T17:56:32Z varjagg left #lisp 2020-04-25T17:57:02Z narimiran quit (Quit: leaving) 2020-04-25T17:57:11Z v_m_v joined #lisp 2020-04-25T18:04:40Z Intensity4 joined #lisp 2020-04-25T18:06:47Z EvW1 quit (Ping timeout: 244 seconds) 2020-04-25T18:06:49Z Intensity quit (Ping timeout: 264 seconds) 2020-04-25T18:06:50Z Intensity4 is now known as Intensity 2020-04-25T18:07:28Z anewuser joined #lisp 2020-04-25T18:09:01Z Kundry_Wag joined #lisp 2020-04-25T18:11:57Z anewuser quit (Ping timeout: 244 seconds) 2020-04-25T18:13:15Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-25T18:15:33Z dale joined #lisp 2020-04-25T18:18:04Z _jrjsmrtn joined #lisp 2020-04-25T18:18:14Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2020-04-25T18:19:49Z dale quit (Ping timeout: 246 seconds) 2020-04-25T18:20:11Z Necktwi_ joined #lisp 2020-04-25T18:21:06Z nika quit 2020-04-25T18:21:47Z EvW joined #lisp 2020-04-25T18:22:46Z Necktwi quit (Ping timeout: 256 seconds) 2020-04-25T18:24:11Z Kundry_Wag joined #lisp 2020-04-25T18:25:05Z ayuce joined #lisp 2020-04-25T18:30:14Z renzhi joined #lisp 2020-04-25T18:31:12Z cyberoctopi joined #lisp 2020-04-25T18:36:14Z cyberoctopi quit (Ping timeout: 244 seconds) 2020-04-25T18:39:00Z krid joined #lisp 2020-04-25T18:44:42Z v_m_v quit (Remote host closed the connection) 2020-04-25T18:52:42Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-25T18:52:54Z efm joined #lisp 2020-04-25T18:53:51Z v_m_v joined #lisp 2020-04-25T19:01:37Z cyberoctopi joined #lisp 2020-04-25T19:02:59Z |3b| joined #lisp 2020-04-25T19:05:43Z Grue`: !clhs 22.2.1.2 2020-04-25T19:06:26Z Grue`: what would be format alternative to (pprint-fill nil (alexandria:iota 100)) ? Can't figure it out... 2020-04-25T19:07:45Z cyberoctopi quit (Ping timeout: 244 seconds) 2020-04-25T19:13:24Z |3b|: Grue`: "~@<~a~:@>" or something like that? 2020-04-25T19:15:16Z |3b|: or "~:<~@{~a~^ ~}~:@>", depending on how much control you want over printing the list 2020-04-25T19:19:25Z |3b|: (assuming you mean the behavior of pprint-fill when *print-pretty* is t. if you want it to depend on *print-pretty* use "~:/pprint-fill/" format string) 2020-04-25T19:20:45Z Grue`: hmm I tried (format nil "~<~{~a ~}~:>" (list (alexandria:iota 100))) but it didn't work at all 2020-04-25T19:20:50Z Grue`: but "~<~@{~a~^ ~}~:@>" does what I want 2020-04-25T19:23:28Z Jesin quit (Quit: Leaving) 2020-04-25T19:23:46Z |3b|: yeah, body of ~< ... ~:> sees corresponding argument as if it were expanded, ~@{~} puts it back into a list and iterates over it 2020-04-25T19:25:25Z |3b|: so you could use ~{~a~^ ~} with (list (iota 100)) instead 2020-04-25T19:25:42Z |3b|: @ in ~:@> adds conditional newline after every space, so it matches pprint-fill 2020-04-25T19:26:26Z |3b|: and : in ~:< adds parens around it, if you want those 2020-04-25T19:29:00Z pve: hello 2020-04-25T19:29:04Z Grue`: well actually I have a list of pairs (key description) and I want to format each of them as "[~a] ~a". However if ~@{...~} is used, it gets (key description) on every iteration and can't be easily formatted. but if ~{... ~} is used then filling doesn't work 2020-04-25T19:29:38Z pve: Do you guys think it be cleaner to use dynamic variables in a situation such as this? Or some other approach? 2020-04-25T19:29:44Z pve: https://pastebin.com/QyM1DT3U 2020-04-25T19:29:57Z pve: I.e. communicating certain things from the top-level down to the lower levels. 2020-04-25T19:29:59Z Jesin joined #lisp 2020-04-25T19:31:22Z |3b|: Grue`: like '((a b) (c d) (e f))? 2020-04-25T19:31:30Z pjb: (format nil "~:{[~A] ~A ~}" '((k1 d1) (k2 d2) (k3 d3))) #| --> "[k1] d1 [k2] d2 [k3] d3 " |# 2020-04-25T19:31:32Z phoe: pve: you already are using dynamic variables under the hood 2020-04-25T19:32:01Z |3b|: "~<~@{~{~a=~a~}~^, ~}~:@>" prints that as A=B, C=D, E=F 2020-04-25T19:32:25Z phoe: you seem to use the convenient feature of handlers where, if they don't transfer control, they execute in order from newest to oldest, just like hooks 2020-04-25T19:33:16Z |3b|: or with ~{~a = ~a~}, can break before or after the = 2020-04-25T19:33:18Z sjl quit (Ping timeout: 260 seconds) 2020-04-25T19:33:27Z Grue`: oh yeah right, another level of iteration 2020-04-25T19:33:39Z Kundry_Wag quit (Remote host closed the connection) 2020-04-25T19:33:57Z Grue`: though I'd want the space between pairs to be unbreakable 2020-04-25T19:34:11Z |3b|: if you want spaces inside an item without breaking an individual item, "~<~@{~<~a = ~a~:>~^, ~}~:@>" 2020-04-25T19:34:14Z phoe: pve: I'd need more context about that issue; do you need to have multiple layers of communication and need it to be established in dynamic scope? 2020-04-25T19:35:00Z pjb: (format nil "~:{[~A] ~A~:^; ~}" '((k1 d1) (k2 d2) (k3 d3))) #| --> "[k1] d1; [k2] d2; [k3] d3" |# 2020-04-25T19:35:12Z jackdaniel quit (Remote host closed the connection) 2020-04-25T19:35:14Z pjb: Note: you need to use ~:^ instead of ~^ in that case. 2020-04-25T19:35:22Z jackdaniel joined #lisp 2020-04-25T19:35:41Z pve: phoe: yes to dynamic scope, and the layers in question are pretty disconnected so I'd like the coupling to be loose 2020-04-25T19:36:14Z Grue`: |3b|: oh now I'm starting to get it 2020-04-25T19:36:33Z pve: and somehow I feel that the condition approach gives me looser coupling.. although that could be an illusion 2020-04-25T19:36:38Z |3b|: pjb: does that do the pprint-fill style wrapping? 2020-04-25T19:36:44Z phoe: pve: you can use the condition system for that, sure, or you can construct your own dynamic hook system 2020-04-25T19:36:51Z pjb: |3b|: no, this is without the pretty-printer. 2020-04-25T19:37:01Z phoe: the condition approach is basically (let ((*hooks* (cons new-hooks *hooks*))) ...) 2020-04-25T19:37:18Z phoe: where new-hooks is the list of new hooks that you specify to fire for condition type ASK 2020-04-25T19:37:27Z Grue`: I need pretty printing though for pretty UI :) 2020-04-25T19:38:26Z phoe: or, if you don't need to cluster hooks together, (let ((*hooks* (append new-hooks *hooks*))) ...) 2020-04-25T19:38:50Z pve: phoe: I see, thanks.. I'll pick one approach now and see if it sticks. It should be easy to change later in this case 2020-04-25T19:39:00Z phoe: this is literally how the handler subsystem works under the hood, so you can either use it for your purpose or devise your own 2020-04-25T19:39:14Z heisig joined #lisp 2020-04-25T19:39:43Z man213 joined #lisp 2020-04-25T19:41:14Z Nilby` quit (Ping timeout: 260 seconds) 2020-04-25T19:41:55Z karlosz joined #lisp 2020-04-25T19:41:56Z dale joined #lisp 2020-04-25T19:42:42Z dale quit (Client Quit) 2020-04-25T19:43:03Z dale joined #lisp 2020-04-25T19:43:50Z lucasb joined #lisp 2020-04-25T19:44:31Z Kundry_Wag joined #lisp 2020-04-25T19:47:18Z sjl joined #lisp 2020-04-25T19:48:55Z CrazyPython quit (Read error: Connection reset by peer) 2020-04-25T19:49:06Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-25T19:51:15Z efm quit (Ping timeout: 240 seconds) 2020-04-25T19:52:55Z heisig quit (Quit: Leaving) 2020-04-25T19:55:37Z efm joined #lisp 2020-04-25T19:59:37Z karlosz quit (Quit: karlosz) 2020-04-25T20:01:57Z ArthurStrong left #lisp 2020-04-25T20:04:14Z v_m_v quit (Remote host closed the connection) 2020-04-25T20:10:11Z heisig joined #lisp 2020-04-25T20:14:43Z pfdietz: The place where I use hooks like that is the aptly named *macroexpand-hook*. Very handy for AOP-style things. 2020-04-25T20:14:55Z emys quit (Ping timeout: 244 seconds) 2020-04-25T20:18:36Z emys joined #lisp 2020-04-25T20:20:41Z ArthurStrong joined #lisp 2020-04-25T20:21:46Z ArthurStrong left #lisp 2020-04-25T20:23:41Z Kundry_Wag joined #lisp 2020-04-25T20:25:30Z pilne joined #lisp 2020-04-25T20:30:11Z X-Scale` joined #lisp 2020-04-25T20:30:39Z X-Scale quit (Ping timeout: 258 seconds) 2020-04-25T20:30:55Z X-Scale` is now known as X-Scale 2020-04-25T20:31:06Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-25T20:34:13Z grumble is now known as rawr 2020-04-25T20:37:45Z Lycurgus joined #lisp 2020-04-25T20:39:55Z Oladon joined #lisp 2020-04-25T20:41:27Z Inline quit (Ping timeout: 272 seconds) 2020-04-25T20:46:16Z karlosz joined #lisp 2020-04-25T20:46:49Z zooey quit (Remote host closed the connection) 2020-04-25T20:47:58Z shka_ quit (Ping timeout: 260 seconds) 2020-04-25T20:48:16Z Lycurgus quit (Remote host closed the connection) 2020-04-25T20:52:03Z _heisig joined #lisp 2020-04-25T20:53:40Z heisig quit (Ping timeout: 244 seconds) 2020-04-25T20:55:50Z zooey joined #lisp 2020-04-25T20:58:13Z heisig joined #lisp 2020-04-25T20:59:45Z _heisig quit (Ping timeout: 240 seconds) 2020-04-25T21:01:11Z sjl quit (Quit: WeeChat 2.2-dev) 2020-04-25T21:02:27Z heisig quit (Ping timeout: 244 seconds) 2020-04-25T21:03:42Z Myk267 joined #lisp 2020-04-25T21:06:35Z SGASAU quit (Remote host closed the connection) 2020-04-25T21:07:15Z SGASAU joined #lisp 2020-04-25T21:07:51Z ralt: it's my first time writing a recursive macro 2020-04-25T21:07:52Z ralt: it's fun 2020-04-25T21:08:16Z ralt: well, rather, it's my first time writing a macro that recurses into forms to generate the code 2020-04-25T21:08:39Z ralt: i.e. ((foo) (bar)) ends up as (foo (bar)) 2020-04-25T21:09:59Z karlosz quit (Read error: No route to host) 2020-04-25T21:10:18Z karlosz joined #lisp 2020-04-25T21:11:17Z CrazyPython joined #lisp 2020-04-25T21:12:52Z karlosz quit (Read error: No route to host) 2020-04-25T21:13:16Z karlosz joined #lisp 2020-04-25T21:20:49Z amazoniantoad quit (Quit: Connection closed for inactivity) 2020-04-25T21:26:22Z ayuce left #lisp 2020-04-25T21:26:40Z shifty quit (Remote host closed the connection) 2020-04-25T21:26:58Z shifty joined #lisp 2020-04-25T21:32:46Z shifty quit (Ping timeout: 260 seconds) 2020-04-25T21:33:13Z v_m_v joined #lisp 2020-04-25T21:33:26Z pve quit (Quit: leaving) 2020-04-25T21:45:50Z duncan_ quit (Ping timeout: 260 seconds) 2020-04-25T21:54:44Z SAL9000 joined #lisp 2020-04-25T21:55:48Z SAL9000: Hi everyone (long time no see...)! Does ELS 2020 have an IRC channel of its own, or will it be just Twitch chat? 2020-04-25T21:56:55Z Shinmera: Just Twitch. 2020-04-25T21:57:26Z Shinmera: Though you can chat on Twitch over IRC (they have a bridge for it) 2020-04-25T22:00:52Z rand_t joined #lisp 2020-04-25T22:03:25Z man213 quit (Ping timeout: 244 seconds) 2020-04-25T22:04:19Z sjl joined #lisp 2020-04-25T22:06:12Z adam4567 joined #lisp 2020-04-25T22:07:08Z add^_ quit (Read error: Connection reset by peer) 2020-04-25T22:21:53Z emys quit (Quit: Leaving) 2020-04-25T22:30:38Z Lycurgus joined #lisp 2020-04-25T22:32:50Z pfdietz: Can one log into twitch using gnome-twitch, or is that just for viewing? 2020-04-25T22:34:05Z anlsh: How can I accomplish something like (apply #'and list-of-conditions)? 2020-04-25T22:34:33Z |3b|: is list-of-conditions already evaluated? 2020-04-25T22:34:50Z anlsh: Yes 2020-04-25T22:35:04Z |3b|: (every 'identity list-of-conditions) maybe? 2020-04-25T22:35:14Z |3b|: or (loop for i in list-of-conditions always i) 2020-04-25T22:36:04Z anlsh: Thanks 2020-04-25T22:37:14Z v_m_v quit (Remote host closed the connection) 2020-04-25T22:38:35Z |3b|: or (not (member nil list-of-conditions)) 2020-04-25T22:39:13Z gravicappa quit (Ping timeout: 264 seconds) 2020-04-25T22:41:03Z frgo quit (Remote host closed the connection) 2020-04-25T22:41:35Z frgo joined #lisp 2020-04-25T22:41:36Z CrazyPython quit (Remote host closed the connection) 2020-04-25T22:42:38Z aeth: Heh, apparently loop has an always. I've never seen that one before. 2020-04-25T22:42:42Z |3b| isn't sure if (notany 'null list-of-conditions) is more or less clear than (every 'identity ...) 2020-04-25T22:43:00Z |3b|: more obvious test, but inverted sense of main function 2020-04-25T22:43:42Z |3b|: shorter if nothing else :p 2020-04-25T22:45:45Z xlei quit (Ping timeout: 240 seconds) 2020-04-25T22:46:03Z |3b|: (notany 'not ...) is probably less clear :) 2020-04-25T22:47:24Z |3b|: aeth: yeah, not one of the more common ones, but useful sometimes 2020-04-25T22:47:28Z tomaskral joined #lisp 2020-04-25T22:49:21Z |3b|: probably more common than INITIALLY or package symbol iteration at least 2020-04-25T22:50:17Z xlei joined #lisp 2020-04-25T22:50:29Z aeth: ":always foo" is a bit unusual/niche because it's just replacing ":unless foo :do (return nil) :finally (return t)" which, yeah, when written in IRC looks a lot longer, but it's not that much longer. 2020-04-25T22:50:37Z aeth: looks like it produces the same disassemble in SBCL, too 2020-04-25T22:52:13Z rgherdt joined #lisp 2020-04-25T22:52:34Z |3b|: annoying that LOOP's always,never,thereis don't match every,notany,some :/ 2020-04-25T22:53:37Z refusenick joined #lisp 2020-04-25T22:54:08Z |3b|: arguably COUNT foo just replaces SUM (if foo 1 0) too, but both are more clear, not just shorter 2020-04-25T22:55:03Z aeth: LOOP's always seems useful for a short-circuiting reduce if you want to e.g. implement something like char< 2020-04-25T22:55:10Z aeth: (char< is arbitrary-length) 2020-04-25T22:55:19Z refusenick: I started using StumpWM on my 2nd laptop because I wanted to try Emacs' experimental ELisp compiler without causing more EXWM crashes and because EXWM has bugs opening some apps. 2020-04-25T22:55:43Z aeth: I'm surprised people use Emacs for everything, e.g. IRC. 2020-04-25T22:55:45Z refusenick: However, while those apps work in StumpWM, others (notably Zoom, which I have to use) crash it entirely 2020-04-25T22:56:04Z refusenick: Is there a "mini Erlang" package for CL? 2020-04-25T22:56:29Z aeth: The only issue I've seen on StumpWM is Steam big picture mode, which crashes, it doesn't crash StumpWM. 2020-04-25T22:56:47Z refusenick: (open app in its own process, trust it won't modify everything else, monitor it for crashes and restart with attempted fixes) 2020-04-25T22:57:21Z cosimone quit (Remote host closed the connection) 2020-04-25T22:57:38Z cosimone joined #lisp 2020-04-25T22:57:57Z refusenick: aeth: It sucks too much to not have Emacs keys everywhere else. That's my one regret about learning Emacs instead of Vim - no one writes Emacs key overlays for Firefox, etc 2020-04-25T22:58:22Z akoana joined #lisp 2020-04-25T22:58:39Z Oladon quit (Quit: Leaving.) 2020-04-25T22:58:47Z aeth: I like Emacs keys everywhere (although you often get a readline-like subset of Emacs keys in a lot of places inside terminals, not just the shell itself) 2020-04-25T22:58:48Z refusenick: aeth: I think Zoom is the only one which has outright crashed StumpWM itself, which is a shame because I'm supposed to use that 2020-04-25T22:58:59Z anlsh: From my limited experience with emacs keybindings I have concluded they suck 2020-04-25T22:59:09Z anlsh: I use spacemacs myself :| 2020-04-25T22:59:28Z tomaskral left #lisp 2020-04-25T22:59:33Z refusenick: anlsh: You can get pretty fast with them if you rebind Control to Caps Lock 2020-04-25T22:59:47Z aeth: The basics like C-a, C-e, C-t, etc., are good and useful. Far easier than the typical alternatives (which are home and end for C-a and C-e... way harder to use and not accessible on all laptops) 2020-04-25T23:01:34Z aeth: The ergonomics in actual Emacs of some actual Emacs things I do all of the time are a bit awkward, like C-u M-! (i.e. C-u M-shift-1) for e.g. timestamping a text document via C-u M-! date -Iminutes RET 2020-04-25T23:01:53Z aeth: I guess I could configure that, but then it'll only work on a subset of my machines, not everywhere 2020-04-25T23:03:01Z aeth: And the worst thing about trying to make frequent things more ergonomic (which I've done in stumpwm) is finding a convenient, unused combination! Most convenient combinations are taken, even if I never use them intentionally! 2020-04-25T23:03:19Z refusenick: aeth: I've taken to rebinding certain keys (default query-replace is M-% - for me, it's C-c q q, and C-c q r for query-replace-regexp) 2020-04-25T23:04:38Z aeth: In stumpwm, I launch firefox with t or C-t because those aren't taken because stumpwm foolishly uses C-t as its default start of its key sequence (which is incredibly bad, and needs to be rebound to avoid having to C-t C-t every time you want to use C-t) 2020-04-25T23:04:47Z aeth: s/use C-t/use C-t in an app/ 2020-04-25T23:05:12Z aeth: But in general key combos are hard 2020-04-25T23:05:19Z refusenick: aeth: The global namespace and lack of (key) modes is part of the appeal, though. It's like Logo - one chord = one function, so macros can become bona fide procedures if you want. I feel like a lot of the "Emacs keys vs Vim keys" arguments miss that. 2020-04-25T23:06:16Z aeth: Emacs keys are a more powerful way of doing typical key bindings because the chording reduces the chance of collisions and gives you more available. 2020-04-25T23:06:23Z aeth: vim is just another mode of thinking 2020-04-25T23:08:05Z refusenick: Isn't it C-t t to send C-t? In any case, I rebound C-t to C-z. Not so many problems, except for that I still hit Emacs sequences (M-x, C-x, etc) in external apps thinking they'll pull up Emacs commands like in EXWM. 2020-04-25T23:08:08Z aeth: stumpwm here isn't that good because it has one "namespace" of sorts (by default, C-t foo), but there isn't really a good answer here because you don't have the luxury of GNU Emacs where you can just use every key combination. 2020-04-25T23:08:45Z verisimilitude: Well, there's the *TOP-MAP* and the *ROOT-MAP*. 2020-04-25T23:08:51Z aeth: Although this could be avoided by using the super key, which is usually assumed to be reserved to the window manager, which then lets you e.g. have s-z s-x s-c, etc., all available. Of course, stumpwm doesn't work like that so you can only choose one and that's your new prefix 2020-04-25T23:09:47Z aeth: refusenick: C-t t and C-t C-t are used to send C-t, but C-t is a terrible default (I rebound my stumpwm to use a combo involving the super key, for the reasons outlined above) so by removing that default, that means that I have C-t and t available for my personal use, i.e. Firefox 2020-04-25T23:10:12Z aeth: That saves me from having to use ! firefox RET 2020-04-25T23:11:26Z refusenick: verisimilitude: I like how stumpwm:define-remapped-keys lets you give a regex for which programs should have which top-level keys. If I could find how to bring up an Emacs posframe (child frame) without bringing a full visible frame behind it, I could issue M-x from whichever app in my background Emacs server. 2020-04-25T23:11:55Z aeth: Now, not every keyboard has super and having the key is kind of mandatory, but if I were to write my own CL WM, I would use a dozen super-key prefixes (s-z, s-x, s-c, etc.) which gives me namespaces like Emacs and means the user can define things they want with lower risk of that already being taken 2020-04-25T23:12:45Z refusenick: I tried using s-x for some time. Too clumsy for me (and it's on a laptop with a non-replaceable keyboard, so no custom LispM keys for me) 2020-04-25T23:12:54Z aeth: s-x and not s-z? 2020-04-25T23:13:04Z aeth: s-z is usually the most convenient 2020-04-25T23:13:14Z refusenick: In retrospect, that's what I should have done. C-z works fine, though. 2020-04-25T23:14:02Z aeth: On my laptop, super's right under z. On my desktop, the z is above both super and left alt (mostly, but not entirely, the left alt). 2020-04-25T23:14:08Z aeth: Either way, s-z is the easiest super-based key 2020-04-25T23:14:38Z refusenick: All the super-based keys are hard for me. I type like a moron. :) 2020-04-25T23:15:09Z aeth: s-z s-z is more convenient than alt tab, which is fun, although technically alt-tab equivalent would be the much harder s-z n in stumpwm 2020-04-25T23:15:24Z aeth: s-x would be a good M-x equivalent since it's harder 2020-04-25T23:15:31Z aeth: s-c for user defined things could be OK 2020-04-25T23:15:38Z man213 joined #lisp 2020-04-25T23:15:50Z refusenick: I never even knew about alt-tab until after I learned Emacs, I think 2020-04-25T23:15:52Z Lycurgus quit (Quit: Exeunt) 2020-04-25T23:17:16Z refusenick: In any case, is there an "Erlang processes" library for CL? I know it can't provide real isolation, but I'd like to isolate app failure from StumpWM's core functionality. 2020-04-25T23:18:30Z refusenick: When Zoom dies, I have to Ctrl+Alt+F2 and kill the X server from the TTY. It's a good thing I left one of the TTYs active. 2020-04-25T23:19:36Z refusenick: That, or I'll need to find a more reliable WM. 2020-04-25T23:21:49Z Lord_of_Life_ joined #lisp 2020-04-25T23:24:15Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-25T23:24:38Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-25T23:28:00Z MichaelRaskin: refusenick: I think #stumpwm is a better place for discussion; I think you can try triggering StumpWM soft-restart from the TTY; and also, just open the Zoom link in Chromium and press «doesn't work» three times, then «join in browser» appears. 2020-04-25T23:29:16Z refusenick: MichaelRaskin: Fair enough. That's what I've been doing, but I also haven't built ungoogled-chromium yet. I'd like it if I could run the app and just the app under as much virtualization and sandboxing as possible. Yuck. 2020-04-25T23:29:54Z refusenick: (Also, I was looking for library suggestions for process isolation) 2020-04-25T23:29:55Z refusenick: b 2020-04-25T23:43:39Z rgherdt quit (Ping timeout: 265 seconds) 2020-04-26T00:03:19Z man213 quit (Read error: Connection reset by peer) 2020-04-26T00:03:37Z man213 joined #lisp 2020-04-26T00:05:49Z man213 quit (Read error: Connection reset by peer) 2020-04-26T00:06:12Z man213 joined #lisp 2020-04-26T00:10:44Z cosimone quit (Remote host closed the connection) 2020-04-26T00:11:10Z cosimone joined #lisp 2020-04-26T00:13:17Z nowhere_man joined #lisp 2020-04-26T00:17:02Z random-nick quit (Ping timeout: 260 seconds) 2020-04-26T00:19:41Z man213 quit (Read error: Connection reset by peer) 2020-04-26T00:20:02Z man213 joined #lisp 2020-04-26T00:27:44Z zaquest joined #lisp 2020-04-26T00:29:58Z shangul joined #lisp 2020-04-26T00:30:00Z ebzzry joined #lisp 2020-04-26T00:35:17Z ebzzry quit (Read error: Connection reset by peer) 2020-04-26T00:39:26Z Oladon joined #lisp 2020-04-26T00:42:49Z man213 quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-26T00:43:25Z dlowe: So I'm poking at postmodern a bit for db stuff - does s-sql support SQL function calls? 2020-04-26T00:43:48Z dlowe: I can't find any examples or reference on how it would work 2020-04-26T00:48:45Z benjamin-l quit (Ping timeout: 240 seconds) 2020-04-26T00:49:43Z renzhi quit (Ping timeout: 246 seconds) 2020-04-26T00:53:20Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-26T00:57:08Z dlowe: never mind, I figured it out 2020-04-26T00:58:48Z benjamin-l joined #lisp 2020-04-26T01:02:56Z pfdietz quit (Ping timeout: 240 seconds) 2020-04-26T01:05:12Z ayuce joined #lisp 2020-04-26T01:08:48Z asarch joined #lisp 2020-04-26T01:12:02Z _whitelogger quit (Remote host closed the connection) 2020-04-26T01:14:15Z _whitelogger joined #lisp 2020-04-26T01:14:45Z jonatack quit (Ping timeout: 240 seconds) 2020-04-26T01:16:01Z torbo joined #lisp 2020-04-26T01:17:11Z jonatack joined #lisp 2020-04-26T01:18:45Z EvW quit (Ping timeout: 240 seconds) 2020-04-26T01:22:59Z xlei quit (Quit: ZNC - https://znc.in) 2020-04-26T01:26:25Z choegusung joined #lisp 2020-04-26T01:26:31Z choegusung quit (Client Quit) 2020-04-26T01:30:19Z zaquest quit (Quit: Leaving) 2020-04-26T01:34:16Z zaquest joined #lisp 2020-04-26T01:35:15Z bitmapper quit (Ping timeout: 244 seconds) 2020-04-26T01:38:31Z anlsh quit (Remote host closed the connection) 2020-04-26T01:39:56Z xlei joined #lisp 2020-04-26T01:44:58Z ayuce quit (Remote host closed the connection) 2020-04-26T01:45:36Z Oladon quit (Quit: Leaving.) 2020-04-26T01:49:05Z remexre joined #lisp 2020-04-26T01:49:15Z efm quit (Ping timeout: 240 seconds) 2020-04-26T01:51:16Z efm joined #lisp 2020-04-26T01:54:50Z CrazyPython joined #lisp 2020-04-26T02:04:52Z Fare joined #lisp 2020-04-26T02:09:58Z CrazyPyt_ joined #lisp 2020-04-26T02:10:54Z CrazyPython quit (Ping timeout: 244 seconds) 2020-04-26T02:15:13Z Josh_2 quit (Ping timeout: 264 seconds) 2020-04-26T02:20:58Z meepdeew joined #lisp 2020-04-26T02:21:16Z mono joined #lisp 2020-04-26T02:22:41Z cyberoctopi joined #lisp 2020-04-26T02:23:58Z monok quit (Ping timeout: 260 seconds) 2020-04-26T02:25:53Z CrazyPyt_ quit (Ping timeout: 244 seconds) 2020-04-26T02:31:48Z Bourne quit (Ping timeout: 256 seconds) 2020-04-26T02:32:30Z Bourne joined #lisp 2020-04-26T02:33:27Z cantstanya quit (Remote host closed the connection) 2020-04-26T02:34:03Z Myk267 quit (Quit: Leaving) 2020-04-26T02:35:31Z cosimone quit (Quit: Quit.) 2020-04-26T02:38:08Z cantstanya joined #lisp 2020-04-26T02:39:45Z Bourne quit (Read error: Connection reset by peer) 2020-04-26T02:45:23Z ayuce joined #lisp 2020-04-26T02:46:22Z wsinatra joined #lisp 2020-04-26T02:52:22Z orivej quit (Ping timeout: 256 seconds) 2020-04-26T02:53:20Z wsinatra quit (Quit: WeeChat 2.8) 2020-04-26T02:55:10Z ebzzry joined #lisp 2020-04-26T02:56:23Z turona quit (Ping timeout: 272 seconds) 2020-04-26T02:56:37Z beach: Good morning everyone! 2020-04-26T02:58:38Z ebzzry quit (Client Quit) 2020-04-26T03:00:30Z meepdeew quit (Ping timeout: 244 seconds) 2020-04-26T03:00:51Z Oladon joined #lisp 2020-04-26T03:04:06Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-26T03:04:32Z meepdeew joined #lisp 2020-04-26T03:07:03Z cyberoctopi joined #lisp 2020-04-26T03:07:46Z meepdeew quit (Client Quit) 2020-04-26T03:10:57Z ayuce left #lisp 2020-04-26T03:13:43Z Bourne joined #lisp 2020-04-26T03:16:38Z ayuce joined #lisp 2020-04-26T03:16:50Z turona joined #lisp 2020-04-26T03:17:01Z Bike quit (Quit: leaving) 2020-04-26T03:19:20Z hiroaki quit (Ping timeout: 256 seconds) 2020-04-26T03:21:16Z cyberoctopi quit (Ping timeout: 246 seconds) 2020-04-26T03:31:57Z hiroaki joined #lisp 2020-04-26T03:48:02Z Oladon: I feel like I'm missing something... can I specialize a method on a typed array? I can do (typep foo (array (unsigned-byte 8))), but that doesn't seem to be a valid parameter specializer. 2020-04-26T03:49:30Z Oladon: (er, insert a quote into the above, of course) 2020-04-26T03:50:43Z slyrus_ joined #lisp 2020-04-26T03:52:54Z slyrus quit (Ping timeout: 240 seconds) 2020-04-26T03:54:12Z beach: Oladon: You can only specialize to classes, not general types. 2020-04-26T03:54:50Z beach: Oladon: There are several libraries that can do what you want though. 2020-04-26T03:57:31Z ayuce quit (Remote host closed the connection) 2020-04-26T03:59:47Z ayuce joined #lisp 2020-04-26T04:03:52Z Guest35090 joined #lisp 2020-04-26T04:04:37Z aeth: Oladon: https://github.com/markcox80/specialization-store/ 2020-04-26T04:04:54Z aeth: It's going to be slower than a defgeneric/defmethod unless inline, though. 2020-04-26T04:05:01Z aeth: And it can online inline based on type declarations, not type inference. 2020-04-26T04:05:07Z aeth: s/online inline/only inline/ 2020-04-26T04:07:18Z aeth: Oladon: and it is probably actually called (simple-array (unsigned-byte 8) (*)) like e.g. (typep (make-array 2 :element-type '(unsigned-byte 8)) '(simple-array (unsigned-byte 8) (*))) 2020-04-26T04:07:53Z aeth: That's incredibly verbose but there are shortcuts you can do, like using DEFTYPE to create your own short names, e.g. (deftype octet () `(unsigned-byte 8)) is pretty common 2020-04-26T04:14:32Z dtman34 quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-26T04:14:50Z dtman34 joined #lisp 2020-04-26T04:19:45Z krid quit (Ping timeout: 240 seconds) 2020-04-26T04:35:04Z Oladon: Hrm, thanks aeth and beach 2020-04-26T04:35:17Z Oladon: I shall pursue these options :) 2020-04-26T04:50:08Z beach: Oladon: The system with classes was designed to be fast, it is going to be significantly slower to dispatch on arbitrary types. That might not be a problem for you of course. Just saying. 2020-04-26T04:57:32Z narimiran joined #lisp 2020-04-26T04:59:04Z beach: Am I understanding things right that the ELS presentations will be streamed, but that there is no audio nor video for the participants, including the presenters? 2020-04-26T05:02:08Z cyberoctopi joined #lisp 2020-04-26T05:02:20Z beach: ... so that Q&A will be through the associated "stream chat"? 2020-04-26T05:05:42Z beach: I am guessing that this "stream chat" will allow neither my usual spell checker, nor my abbrevs. 2020-04-26T05:05:54Z beach: That should be, er, amusing. 2020-04-26T05:12:06Z cyraxjoe quit (Ping timeout: 256 seconds) 2020-04-26T05:12:10Z MightyJoe joined #lisp 2020-04-26T05:13:09Z no-defun-allowed: beach: You can access the twitch chat via IRC. 2020-04-26T05:16:22Z lxbarbosa joined #lisp 2020-04-26T05:18:01Z no-defun-allowed: Although, that is a bit messy, and really designed for running bots. 2020-04-26T05:20:19Z beach: I'll just suffer without my usual tools. 2020-04-26T05:20:49Z narimiran_ joined #lisp 2020-04-26T05:20:49Z beach: I can't help wondering why people do this to themselves, though. 2020-04-26T05:21:02Z narimiran quit (Read error: Connection reset by peer) 2020-04-26T05:21:19Z beach: no-defun-allowed: Can you confirm that I have understood the format? 2020-04-26T05:25:24Z refusenick quit (Read error: Connection reset by peer) 2020-04-26T05:26:16Z no-defun-allowed: I think that is how twitch works, yes. 2020-04-26T05:26:27Z beach: OK, thanks! 2020-04-26T05:29:49Z no-defun-allowed: It is for the better for more popular streams with...people that have less need to be polite. 2020-04-26T05:30:47Z beach: As an alternative to what. I am not part of the set of "cool kids", so I am not following such things. Too busy with my projects I guess. 2020-04-26T05:32:04Z vlatkoB joined #lisp 2020-04-26T05:32:10Z cyberoctopi quit (Ping timeout: 246 seconds) 2020-04-26T05:37:02Z Oladon quit (Quit: Leaving.) 2020-04-26T05:37:52Z terpri quit (Remote host closed the connection) 2020-04-26T05:38:18Z terpri joined #lisp 2020-04-26T05:42:28Z no-defun-allowed: It's frequently used to stream games to a lot of viewers, and gamers are very noisy. Having some thousands of them screaming into microphones would be sickening for everyone involved. 2020-04-26T05:43:06Z beach: I see. Yes, I can very well imagine that. 2020-04-26T05:43:44Z no-defun-allowed: Or, I guess, the fundamental difference is that it is a one-to-many streaming system, unlike "conferencing" software which is many-to-many. 2020-04-26T05:44:23Z beach: Makes sense. 2020-04-26T05:51:30Z asarch quit (Quit: Leaving) 2020-04-26T05:51:53Z gko joined #lisp 2020-04-26T05:53:19Z dddddd quit (Remote host closed the connection) 2020-04-26T05:57:12Z gravicappa joined #lisp 2020-04-26T05:57:41Z Lycurgus joined #lisp 2020-04-26T05:59:28Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-26T06:00:25Z cyberoctopi joined #lisp 2020-04-26T06:04:59Z keep_learning joined #lisp 2020-04-26T06:18:25Z _paul0 joined #lisp 2020-04-26T06:20:57Z paul0 quit (Ping timeout: 265 seconds) 2020-04-26T06:26:28Z heisig joined #lisp 2020-04-26T06:39:33Z Inline joined #lisp 2020-04-26T06:42:52Z torbo quit (Remote host closed the connection) 2020-04-26T06:48:20Z shifty joined #lisp 2020-04-26T06:56:43Z KDr23 joined #lisp 2020-04-26T06:57:59Z KDr22 quit (Ping timeout: 265 seconds) 2020-04-26T06:58:08Z ayuce quit (Remote host closed the connection) 2020-04-26T07:11:50Z Intensity quit (Remote host closed the connection) 2020-04-26T07:16:33Z shka_ joined #lisp 2020-04-26T07:22:04Z Inline quit (Quit: Leaving) 2020-04-26T07:23:06Z Nilby` joined #lisp 2020-04-26T07:23:41Z Nilby` quit (Client Quit) 2020-04-26T07:24:11Z Nilby joined #lisp 2020-04-26T07:24:13Z Inline joined #lisp 2020-04-26T07:29:42Z pve joined #lisp 2020-04-26T07:33:49Z jayspeer joined #lisp 2020-04-26T07:42:24Z Lycurgus quit (Quit: Exeunt) 2020-04-26T07:53:38Z v_m_v joined #lisp 2020-04-26T07:55:42Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-26T08:05:43Z rgherdt joined #lisp 2020-04-26T08:05:51Z jayspeer quit (Ping timeout: 244 seconds) 2020-04-26T08:17:45Z dale quit (Quit: My computer has gone to sleep) 2020-04-26T08:24:10Z cyberoctopi joined #lisp 2020-04-26T08:27:17Z orivej joined #lisp 2020-04-26T08:31:35Z lxbarbosa quit (Remote host closed the connection) 2020-04-26T08:41:05Z rixard quit (Remote host closed the connection) 2020-04-26T08:42:10Z rixard joined #lisp 2020-04-26T08:47:45Z rixard quit (Ping timeout: 240 seconds) 2020-04-26T08:48:38Z rwcom joined #lisp 2020-04-26T08:52:06Z rogersm joined #lisp 2020-04-26T08:57:03Z _whitelogger quit (Remote host closed the connection) 2020-04-26T08:58:35Z rogersm quit (Quit: rogersm) 2020-04-26T08:58:56Z rogersm joined #lisp 2020-04-26T08:59:16Z _whitelogger joined #lisp 2020-04-26T09:01:15Z cyberoctopi quit (Ping timeout: 240 seconds) 2020-04-26T09:05:53Z nika joined #lisp 2020-04-26T09:14:01Z duncan_ joined #lisp 2020-04-26T09:17:35Z rogersm quit (Quit: rogersm) 2020-04-26T09:21:14Z rixard joined #lisp 2020-04-26T09:25:50Z rixard quit (Ping timeout: 260 seconds) 2020-04-26T09:26:39Z stepnem quit (Ping timeout: 250 seconds) 2020-04-26T09:27:33Z stepnem joined #lisp 2020-04-26T09:27:54Z Adamclisi joined #lisp 2020-04-26T09:29:35Z cyberoctopi joined #lisp 2020-04-26T09:34:38Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-26T09:40:51Z nowhere_man quit (Read error: Connection reset by peer) 2020-04-26T09:45:26Z Guest35090 quit (Read error: Connection reset by peer) 2020-04-26T09:49:31Z pi` joined #lisp 2020-04-26T09:58:39Z rixard joined #lisp 2020-04-26T09:59:02Z narimiran_ is now known as narimiran 2020-04-26T10:03:04Z rixard quit (Ping timeout: 246 seconds) 2020-04-26T10:04:28Z rixard joined #lisp 2020-04-26T10:08:49Z rixard quit (Ping timeout: 244 seconds) 2020-04-26T10:09:17Z pi` quit (Remote host closed the connection) 2020-04-26T10:11:45Z karlosz quit (Quit: karlosz) 2020-04-26T10:15:40Z cyberoctopi joined #lisp 2020-04-26T10:19:45Z cyberoctopi quit (Ping timeout: 240 seconds) 2020-04-26T10:25:42Z random-nick joined #lisp 2020-04-26T10:29:23Z karlosz joined #lisp 2020-04-26T10:32:41Z dddddd joined #lisp 2020-04-26T10:32:44Z Bourne quit (Read error: Connection reset by peer) 2020-04-26T10:46:45Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-04-26T10:47:38Z rwcom joined #lisp 2020-04-26T10:53:55Z adam4567 left #lisp 2020-04-26T10:56:05Z karlosz quit (Quit: karlosz) 2020-04-26T11:07:03Z akoana left #lisp 2020-04-26T11:16:10Z gxt quit (Quit: WeeChat 2.8) 2020-04-26T11:21:54Z Lord_of_Life_ joined #lisp 2020-04-26T11:22:21Z cyberoctopi joined #lisp 2020-04-26T11:24:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-26T11:24:51Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-26T11:26:42Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-26T11:27:15Z cyberoctopi joined #lisp 2020-04-26T11:29:25Z narimiran quit (Ping timeout: 244 seconds) 2020-04-26T11:37:58Z pfdietz joined #lisp 2020-04-26T11:48:27Z ebrasca joined #lisp 2020-04-26T11:48:34Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-26T11:54:03Z ggole joined #lisp 2020-04-26T11:56:56Z Bourne joined #lisp 2020-04-26T12:02:06Z jonatack quit (Ping timeout: 260 seconds) 2020-04-26T12:02:41Z jonatack joined #lisp 2020-04-26T12:04:08Z msk quit (Remote host closed the connection) 2020-04-26T12:05:21Z msk joined #lisp 2020-04-26T12:06:51Z ramHero joined #lisp 2020-04-26T12:11:52Z scymtym_ quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-04-26T12:12:25Z scymtym joined #lisp 2020-04-26T12:15:45Z scymtym_ joined #lisp 2020-04-26T12:17:15Z scymtym quit (Ping timeout: 240 seconds) 2020-04-26T12:18:50Z cyberoctopi joined #lisp 2020-04-26T12:20:02Z catalinbostan joined #lisp 2020-04-26T12:22:00Z ramHero quit (Ping timeout: 265 seconds) 2020-04-26T12:22:51Z SGASAU quit (Remote host closed the connection) 2020-04-26T12:23:34Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-26T12:23:42Z SGASAU joined #lisp 2020-04-26T12:31:20Z scymtym_ quit (Read error: Connection reset by peer) 2020-04-26T12:31:38Z scymtym joined #lisp 2020-04-26T12:34:34Z Achylles joined #lisp 2020-04-26T12:54:40Z Josh_2 joined #lisp 2020-04-26T12:57:17Z rawr quit (Quit: They're putting dbus in the kernel. For fairness, I want a Java RMI registry in the linux kernel too. dont @ me) 2020-04-26T13:00:54Z rawr joined #lisp 2020-04-26T13:09:46Z EvW joined #lisp 2020-04-26T13:14:41Z catalinbostan quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-26T13:14:45Z jonatack quit (Ping timeout: 240 seconds) 2020-04-26T13:16:10Z _heisig joined #lisp 2020-04-26T13:17:05Z jonatack joined #lisp 2020-04-26T13:17:41Z jprajzne quit (Quit: jprajzne) 2020-04-26T13:18:01Z heisig quit (Ping timeout: 246 seconds) 2020-04-26T13:18:11Z jprajzne joined #lisp 2020-04-26T13:18:54Z _heisig quit (Client Quit) 2020-04-26T13:20:23Z Bike joined #lisp 2020-04-26T13:22:02Z v_m_v quit (Remote host closed the connection) 2020-04-26T13:22:10Z jprajzne quit (Client Quit) 2020-04-26T13:22:34Z jprajzne joined #lisp 2020-04-26T13:24:21Z ayuce joined #lisp 2020-04-26T13:34:13Z rogersm joined #lisp 2020-04-26T13:35:01Z rixard joined #lisp 2020-04-26T13:35:14Z izh_ joined #lisp 2020-04-26T13:37:52Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-04-26T13:39:31Z rwcom joined #lisp 2020-04-26T13:39:38Z rixard quit (Ping timeout: 260 seconds) 2020-04-26T13:40:27Z man213 joined #lisp 2020-04-26T13:40:44Z man213 quit (Client Quit) 2020-04-26T13:42:17Z rogersm quit (Remote host closed the connection) 2020-04-26T13:43:41Z Inline quit (Ping timeout: 265 seconds) 2020-04-26T13:46:33Z rogersm joined #lisp 2020-04-26T13:47:04Z rogersm quit (Client Quit) 2020-04-26T13:53:30Z hiroaki quit (Remote host closed the connection) 2020-04-26T13:54:27Z Inline joined #lisp 2020-04-26T13:55:42Z hiroaki joined #lisp 2020-04-26T14:00:40Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-26T14:05:45Z v_m_v joined #lisp 2020-04-26T14:08:51Z bars0 joined #lisp 2020-04-26T14:12:15Z AmyWilleron joined #lisp 2020-04-26T14:12:54Z nowhere_man joined #lisp 2020-04-26T14:14:46Z AmyWilleron quit (Client Quit) 2020-04-26T14:15:52Z catalinbostan joined #lisp 2020-04-26T14:17:36Z arseniusz joined #lisp 2020-04-26T14:19:41Z ljavorsk joined #lisp 2020-04-26T14:22:44Z efm quit (Remote host closed the connection) 2020-04-26T14:23:06Z efm joined #lisp 2020-04-26T14:24:19Z rixard joined #lisp 2020-04-26T14:29:06Z rixard quit (Ping timeout: 260 seconds) 2020-04-26T14:30:27Z ljavorsk quit (Remote host closed the connection) 2020-04-26T14:30:41Z ljavorsk joined #lisp 2020-04-26T14:31:50Z cyberoctopi joined #lisp 2020-04-26T14:36:34Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-26T14:46:22Z ljavorsk quit (Ping timeout: 260 seconds) 2020-04-26T14:55:15Z arseniusz quit (Ping timeout: 240 seconds) 2020-04-26T14:55:17Z francogrex joined #lisp 2020-04-26T14:55:39Z francogrex: hi I am trying to sort this list (sort '((1 "spade") (2 "heart") (3 "spade") (4 "heart") (12 "heart") (6 "heart") (2 "spade")) #'string<= :key #'cadr) 2020-04-26T14:56:23Z Bike: sort can mutate the sequence, so you can't pass it a quoted list like that. 2020-04-26T14:56:54Z francogrex: i would like however to sort first on the cadr and then on the car, so that i have: ((1 "spade") (2 "spade") (3 "spade") (2 "heart") (4 "heart") (6 "heart") (12 "heart")) 2020-04-26T14:57:26Z francogrex: Bike: yes I know this is a sample, not the code that will be finally used, the issue is what I wrote next 2020-04-26T14:57:52Z beach: francogrex: Use stable-sort and sort first on the CAR then on the CADR. 2020-04-26T14:58:19Z Bike: or you could pass a lexicographic predicate. 2020-04-26T14:58:27Z beach: Or that. 2020-04-26T14:58:30Z Oladon joined #lisp 2020-04-26T15:00:38Z msk quit (Remote host closed the connection) 2020-04-26T15:00:51Z francogrex: 2020-04-26T15:00:51Z francogrex: (let* ((fst (stable-sort '((1 "spade") (2 "heart") (3 "spade") (4 "heart") (12 "heart") (6 "heart") (2 "spade")) #'<= :key #'car)) (sls (stable-sort fst #'string<= :key #'cadr))) sls) 2020-04-26T15:00:57Z francogrex: not the desired effect :( 2020-04-26T15:01:16Z v_m_v quit (Remote host closed the connection) 2020-04-26T15:01:18Z francogrex: ((12 "heart") (6 "heart") (4 "heart") (2 "heart") (3 "spade") (2 "spade") (1 "spade")) 2020-04-26T15:01:27Z beach: francogrex: You are still passing literal data to sort. 2020-04-26T15:01:42Z v_m_v joined #lisp 2020-04-26T15:02:17Z msk joined #lisp 2020-04-26T15:02:24Z phoe: use (stable-sort (copy-list '(...)) ...) 2020-04-26T15:02:25Z francogrex: beach, not the issue here 2020-04-26T15:02:34Z francogrex: is it? 2020-04-26T15:02:36Z beach: Maybe I got it the other way around with the two passes. 2020-04-26T15:02:36Z phoe: issue or not, it's undefined behaviour 2020-04-26T15:02:54Z phoe: it's hard to work with code that willingly invokes UB because implementations may do whatever at that point 2020-04-26T15:03:36Z francogrex: yeah. anyway why am I getting the list reversed? 2020-04-26T15:05:16Z francogrex: nope, inversing doesn't do the trick 2020-04-26T15:05:18Z Grue`: francogrex: https://github.com/tshatrov/ichiran/blob/a3e97abbd831d039386b58be2c8512634da138ca/dict-load.lisp#L34 here's a lexicographic sorter i wrote once 2020-04-26T15:05:33Z Grue`: sorry https://github.com/tshatrov/ichiran/blob/a3e97abbd831d039386b58be2c8512634da138ca/dict-load.lisp#L344 2020-04-26T15:05:52Z francogrex: (let* ((lst '((1 "spade") (2 "heart") (3 "spade") (4 "heart") (12 "heart") (6 "heart") (2 "spade"))) 2020-04-26T15:05:52Z francogrex: (fst (stable-sort lst #'string<= :key #'cadr)) 2020-04-26T15:05:52Z francogrex: (sls (stable-sort fst #'<= :key #'car))) 2020-04-26T15:05:55Z francogrex: sls) 2020-04-26T15:05:58Z v_m_v quit (Ping timeout: 260 seconds) 2020-04-26T15:06:19Z phoe: francogrex: please use pastebin 2020-04-26T15:06:30Z Grue`: though I guess it wouldn't work since you have two different predicates 2020-04-26T15:06:33Z phoe: https://plaster.tymoon.eu/view/1777#1777 2020-04-26T15:06:48Z bitmapper joined #lisp 2020-04-26T15:08:00Z francogrex: phoe, thanks but as you can see it's not what I asked for 2020-04-26T15:08:17Z francogrex: ((1 "spade") (2 "spade") (3 "spade") ... 2020-04-26T15:08:26Z beach: francogrex: You have several sketches of solutions. You just have to vary the parameters. 2020-04-26T15:08:55Z beach: francogrex: Experiment a bit. 2020-04-26T15:09:02Z francogrex: lisppaste is dead 2020-04-26T15:09:20Z beach: It has been for a long time. 2020-04-26T15:09:27Z francogrex: died long time ago and nobody revived it, although it was quite useful 2020-04-26T15:09:45Z ayuce quit (Read error: Connection reset by peer) 2020-04-26T15:10:15Z nowhere_man quit (Ping timeout: 240 seconds) 2020-04-26T15:10:33Z pjb: francogrex: what don't you understand in the concept of nasal daemons? 2020-04-26T15:11:21Z pjb: francogrex: use termbin.com; cat ~/bin/tb --> #!/bin/bash \n nc termbin.com 9999 | tr -d '\000' 2020-04-26T15:11:21Z pjb: 2020-04-26T15:11:21Z pjb: 2020-04-26T15:11:21Z pjb: 2020-04-26T15:11:52Z phoe: francogrex: one second then; you want to sort the second first 2020-04-26T15:12:25Z francogrex: phoe yes please I am trying to dick around with the code you provided, it's like beach said 2020-04-26T15:12:31Z Grue`: francogrex: you probably should just use bucket sort for suits and then sort each suit, it will be more efficient 2020-04-26T15:12:37Z efm quit (Ping timeout: 244 seconds) 2020-04-26T15:12:37Z phoe: https://plaster.tymoon.eu/view/1777#1778 2020-04-26T15:12:43Z nowhere_man joined #lisp 2020-04-26T15:13:17Z phoe: Grue`: if we're talking even about a full deck of cards which is 52 elements then we could probably care little about efficiency 2020-04-26T15:13:19Z pjb: francogrex: https://termbin.com/zfwi 2020-04-26T15:13:29Z francogrex: phoe: 👍 2020-04-26T15:13:39Z phoe: unless we're writing something that will sort cards for a living 2020-04-26T15:13:49Z francogrex: that was supposed to be a thumbs up emoji ... 2020-04-26T15:13:59Z phoe: it is, I can see it 2020-04-26T15:14:09Z pjb: francogrex: unless you want: https://termbin.com/t252 2020-04-26T15:14:25Z francogrex: ok :) on my emacs erc it's just garbled code... anyway yues thanks 2020-04-26T15:14:36Z pjb: francogrex: but I would rather use a more specific lessp function! 2020-04-26T15:16:04Z pjb: francogrex: https://termbin.com/397h 2020-04-26T15:16:17Z efm joined #lisp 2020-04-26T15:17:45Z _jrjsmrtn quit (Ping timeout: 240 seconds) 2020-04-26T15:17:47Z EvW quit (Ping timeout: 244 seconds) 2020-04-26T15:20:05Z __jrjsmrtn__ joined #lisp 2020-04-26T15:20:29Z francogrex: pjb: what i got from phoe next was exactly what I needed. thx 2020-04-26T15:29:32Z ayuce joined #lisp 2020-04-26T15:31:10Z shifty quit (Ping timeout: 260 seconds) 2020-04-26T15:36:29Z francogrex quit (Remote host closed the connection) 2020-04-26T15:38:14Z efm quit (Ping timeout: 260 seconds) 2020-04-26T15:41:12Z ebrasca quit (Remote host closed the connection) 2020-04-26T15:41:17Z efm joined #lisp 2020-04-26T15:45:19Z Achylles quit (Quit: Leaving) 2020-04-26T15:48:42Z bars0 quit (Quit: leaving) 2020-04-26T15:49:38Z narimiran joined #lisp 2020-04-26T15:51:05Z cyberoctopi joined #lisp 2020-04-26T15:55:45Z cyberoctopi quit (Ping timeout: 240 seconds) 2020-04-26T16:00:46Z ljavorsk joined #lisp 2020-04-26T16:02:45Z scymtym_ joined #lisp 2020-04-26T16:03:55Z scymtym quit (Ping timeout: 246 seconds) 2020-04-26T16:06:14Z ljavorsk quit (Ping timeout: 260 seconds) 2020-04-26T16:13:37Z EvW joined #lisp 2020-04-26T16:17:41Z jprajzne quit (Quit: jprajzne) 2020-04-26T16:18:37Z jprajzne joined #lisp 2020-04-26T16:18:50Z Fare quit (Ping timeout: 260 seconds) 2020-04-26T16:22:10Z jprajzne quit (Client Quit) 2020-04-26T16:22:34Z jprajzne joined #lisp 2020-04-26T16:25:23Z rixard joined #lisp 2020-04-26T16:27:05Z Lycurgus joined #lisp 2020-04-26T16:34:51Z SGASAU quit (Remote host closed the connection) 2020-04-26T16:35:16Z Inline quit (Ping timeout: 265 seconds) 2020-04-26T16:36:06Z SGASAU joined #lisp 2020-04-26T16:40:11Z SGASAU` joined #lisp 2020-04-26T16:41:46Z Inline joined #lisp 2020-04-26T16:43:55Z buffergn0me joined #lisp 2020-04-26T16:44:02Z SGASAU quit (Ping timeout: 260 seconds) 2020-04-26T16:47:30Z Fare joined #lisp 2020-04-26T16:48:05Z Oladon: slyrus_: Around? Wondering if you'd mind sharing your bytea code for clsql. 2020-04-26T16:48:38Z Josh_2: How do I make a function available for a macro at compile time? 2020-04-26T16:49:20Z Shinmera: define it in a separate compilation unit (file), or wrap it in (eval-when (:compile-toplevel :load-toplevel :execute) ...) and put it before the first macro use. 2020-04-26T16:49:33Z Shinmera: *somewhere before 2020-04-26T16:49:41Z abhixec joined #lisp 2020-04-26T16:51:27Z Josh_2: Shinmera: is this correct? https://plaster.tymoon.eu/view/1779#1779 2020-04-26T16:51:41Z Shinmera: no 2020-04-26T16:51:44Z Josh_2: rip 2020-04-26T16:51:56Z Shinmera: only the function needs to be in the eval-when. 2020-04-26T16:52:19Z Josh_2: Okay thanks 2020-04-26T16:52:21Z Josh_2: Got it 2020-04-26T16:54:12Z gareppa joined #lisp 2020-04-26T16:56:08Z gareppa quit (Remote host closed the connection) 2020-04-26T16:56:18Z phoe: the macro can be in the eval-when (:always), it'll just have no effect 2020-04-26T16:56:47Z phoe: so it's common to only put functions in there, and have macro definitions outside it 2020-04-26T16:56:54Z rippa joined #lisp 2020-04-26T16:56:58Z Shinmera: better to limit the scope of eval-when as much as possible. 2020-04-26T16:57:03Z phoe: ^ 2020-04-26T16:59:11Z Kundry_Wag joined #lisp 2020-04-26T17:00:02Z Oladon: phoe: Aha, it's you! Did you ever (~2018) get bytea working with clsql? 2020-04-26T17:00:22Z phoe: Oladon: wait who where 2020-04-26T17:00:38Z phoe: I don't remember this thing 2020-04-26T17:00:40Z Oladon: Back in 2018 you were asking about the bytea column type in Postgres 2020-04-26T17:00:57Z phoe: somewhere on github? 2020-04-26T17:01:00Z Oladon: IRC 2020-04-26T17:01:13Z Oladon: Lemme see if I left the log open 2020-04-26T17:01:15Z phoe: can't remember, show me the logs 2020-04-26T17:02:22Z Oladon: Bah, I misremembered. You were using Postmodern. https://irclog.whitequark.org/lisp/2018-04-08#21761747; 2020-04-26T17:03:10Z phoe: sounds more like it 2020-04-26T17:03:33Z phoe: and I know why that is the case 2020-04-26T17:04:02Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-26T17:04:07Z phoe: likely related to https://github.com/marijnh/Postmodern/issues/194 2020-04-26T17:04:12Z Oladon: ah 2020-04-26T17:08:14Z Guest35635 left #lisp 2020-04-26T17:14:19Z SGASAU` quit (Remote host closed the connection) 2020-04-26T17:22:11Z shifty joined #lisp 2020-04-26T17:24:20Z Lycurgus quit (Remote host closed the connection) 2020-04-26T17:26:48Z v_m_v joined #lisp 2020-04-26T17:29:38Z cosimone joined #lisp 2020-04-26T17:33:11Z Kundry_Wag joined #lisp 2020-04-26T17:35:59Z Necktwi joined #lisp 2020-04-26T17:37:15Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-26T17:39:06Z Necktwi_ quit (Ping timeout: 260 seconds) 2020-04-26T17:43:42Z gko quit (Ping timeout: 260 seconds) 2020-04-26T17:50:25Z izh_ quit (Quit: Leaving) 2020-04-26T17:51:34Z shangul quit (Remote host closed the connection) 2020-04-26T17:51:59Z shangul joined #lisp 2020-04-26T17:56:17Z jonatack quit (Ping timeout: 246 seconds) 2020-04-26T17:58:42Z zulu-inuoe joined #lisp 2020-04-26T18:00:17Z narimiran quit (Quit: leaving) 2020-04-26T18:02:24Z jonatack joined #lisp 2020-04-26T18:02:31Z efm quit (Read error: Connection reset by peer) 2020-04-26T18:07:39Z cosimone quit (Remote host closed the connection) 2020-04-26T18:08:05Z cosimone joined #lisp 2020-04-26T18:08:51Z efm joined #lisp 2020-04-26T18:12:14Z Oladon quit (Quit: Leaving.) 2020-04-26T18:15:02Z kpoeck joined #lisp 2020-04-26T18:15:11Z karlosz joined #lisp 2020-04-26T18:16:02Z jonatack quit (Ping timeout: 244 seconds) 2020-04-26T18:17:04Z shangul quit (Ping timeout: 244 seconds) 2020-04-26T18:17:42Z jonatack joined #lisp 2020-04-26T18:22:52Z Fare quit (Ping timeout: 246 seconds) 2020-04-26T18:25:46Z cyberoctopi joined #lisp 2020-04-26T18:26:31Z cosimone quit (Remote host closed the connection) 2020-04-26T18:27:00Z cosimone joined #lisp 2020-04-26T18:27:23Z Inline quit (Ping timeout: 272 seconds) 2020-04-26T18:28:28Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-26T18:30:26Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-26T18:31:59Z jonatack quit (Quit: jonatack) 2020-04-26T18:32:11Z jonatack joined #lisp 2020-04-26T18:34:46Z xkapastel joined #lisp 2020-04-26T18:35:37Z SGASAU joined #lisp 2020-04-26T18:39:02Z twelvemonkeys quit (Ping timeout: 256 seconds) 2020-04-26T18:40:22Z rand_t quit (Quit: rand_t) 2020-04-26T18:40:31Z twelvemonkeys joined #lisp 2020-04-26T18:40:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-26T18:44:40Z okflo joined #lisp 2020-04-26T19:11:43Z cosimone quit (Quit: Terminated!) 2020-04-26T19:11:50Z cosimone_ joined #lisp 2020-04-26T19:11:57Z cosimone_ is now known as cosimone 2020-04-26T19:16:33Z buffergn0me joined #lisp 2020-04-26T19:17:08Z okflo1 joined #lisp 2020-04-26T19:18:16Z MerlinTheWizard joined #lisp 2020-04-26T19:18:48Z RagnarDanneskjol joined #lisp 2020-04-26T19:19:09Z SGASAU quit (Remote host closed the connection) 2020-04-26T19:19:25Z jayde joined #lisp 2020-04-26T19:19:55Z SGASAU joined #lisp 2020-04-26T19:22:44Z okflo1 left #lisp 2020-04-26T19:23:16Z okflo quit (Quit: Leaving.) 2020-04-26T19:24:38Z okflo joined #lisp 2020-04-26T19:27:56Z bars0 joined #lisp 2020-04-26T19:30:42Z MerlinTheWizard: Hey, sorry for the simple question, but I'm having trouble getting an answer from google... 2020-04-26T19:31:03Z MerlinTheWizard: I just need to store a character in a variable in common lisp. 2020-04-26T19:31:25Z MerlinTheWizard: If anyone could help me figure out how to do this, I'd appreciate it. 2020-04-26T19:31:43Z luis: MerlinTheWizard: what have you tried so far? 2020-04-26T19:32:47Z MerlinTheWizard: (let (charchar) '#\a 2020-04-26T19:32:47Z MerlinTheWizard: charchar) 2020-04-26T19:32:58Z twelvemonkeys quit (Ping timeout: 260 seconds) 2020-04-26T19:33:00Z MerlinTheWizard: Oops, that didn't paste right 2020-04-26T19:33:38Z MerlinTheWizard: (let (charchar) #\a 2020-04-26T19:33:41Z lieven: (let ((charchar #\a)) charchar) 2020-04-26T19:33:42Z MerlinTheWizard: charchar) 2020-04-26T19:33:46Z luis: MerlinTheWizard: that let syntax is wrong. It should be (let ((var-name value)) ...) 2020-04-26T19:33:52Z Kundry_Wag joined #lisp 2020-04-26T19:34:00Z lieven: and chars are self evaluating so no need for the quote 2020-04-26T19:34:19Z MerlinTheWizard: ok, could you explain the extra parenthesis please? 2020-04-26T19:34:31Z luis: MerlinTheWizard: it's let's syntax. 2020-04-26T19:34:51Z twelvemonkeys joined #lisp 2020-04-26T19:34:52Z MerlinTheWizard: luis, yes. I would remember it better if I understood the reason for it. 2020-04-26T19:35:21Z luis: MerlinTheWizard: well, you can define multiple variables (let ((var1 x) (var2 y)) ...) and so on. 2020-04-26T19:35:24Z MerlinTheWizard: I mean I understand basically that it's differentiating something, I just don't know what. 2020-04-26T19:35:37Z MerlinTheWizard: Ah, I see. 2020-04-26T19:35:38Z luis: MerlinTheWizard: it's grouping multiple variable bindings 2020-04-26T19:36:37Z MerlinTheWizard: Ok, I forgot let could do that. 2020-04-26T19:36:39Z lieven: and they don't do (let (var1 val1 var2 val2 ...) ....) because you can also not supply an initial binding so (let ((val1 t) (val2 42) val3 (val4 nil)) ...) is possible 2020-04-26T19:38:00Z MerlinTheWizard: ok 2020-04-26T19:38:01Z _death: hmm weird.. planet.lisp.org does not respect Update-Insecure-Requests (and no HSTS).. it's also not on the HTTPS Everywhere list, had to add a rule 2020-04-26T19:38:34Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-26T19:40:49Z MerlinTheWizard: So is there a trick to learning the intricacies of common lisp syntax? Is it just 'keep going till you get it' or what? 2020-04-26T19:41:30Z Kundry_Wag joined #lisp 2020-04-26T19:41:34Z MerlinTheWizard: Maybe some exercises available online? 2020-04-26T19:42:11Z luis: MerlinTheWizard: books like Practical Common Lisp help! 2020-04-26T19:42:35Z MerlinTheWizard: luis, I'm reading that currently, feeling confused a lot... 2020-04-26T19:42:36Z pve quit (Quit: leaving) 2020-04-26T19:43:07Z MerlinTheWizard: I'm sure I'll get it. I guess I just have to persevere. 2020-04-26T19:45:24Z saturn2: MerlinTheWizard: you could also use an editor that reminds you 2020-04-26T19:45:43Z saturn2: or type (describe 'let) in the repl 2020-04-26T19:45:45Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-26T19:48:37Z MerlinTheWizard: saturn2, in my SLIME + SBCL in emacs (describe 'let) gives me this: 2020-04-26T19:48:40Z MerlinTheWizard: LET ({(var [value]) | var}*) declaration* form* 2020-04-26T19:48:57Z MerlinTheWizard: What do the curly braces mean? Does it just indicate an expression, or what? 2020-04-26T19:49:29Z phoe: they mean that you can use any number of what's inside 2020-04-26T19:49:30Z CrazyPython joined #lisp 2020-04-26T19:49:31Z saturn2: the curly braces indicate a section that can be repeated 2020-04-26T19:49:41Z phoe: or, in other words, that you can bind multiple variables in there 2020-04-26T19:49:48Z Bike: https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form 2020-04-26T19:49:53Z phoe: (let ((x 42) (y :forty-two) (z 42.0) ...) ...) 2020-04-26T19:50:07Z MerlinTheWizard: Oh, I see. 2020-04-26T19:51:17Z MerlinTheWizard: but I was under the impression that the '*' was what indicated possible repetition. Do the braces just group and then the '*' indicates repetition, or what? 2020-04-26T19:51:24Z torbo joined #lisp 2020-04-26T19:51:33Z MerlinTheWizard: Oh, EBNF, I'll have to look at that. 2020-04-26T19:51:58Z saturn2: yes, the braces just group, sorry 2020-04-26T19:52:12Z MerlinTheWizard: Ok, good to know. Thanks. 2020-04-26T19:52:12Z phoe: actually the wiki page says that {...} is repetition 2020-04-26T19:52:33Z MerlinTheWizard: Really? What the heck is '*' then? 2020-04-26T19:52:41Z phoe: the star in there seems like a pleonasm 2020-04-26T19:53:16Z phoe: so it might be confusing 2020-04-26T19:53:54Z MerlinTheWizard: phoe, so it's not really using EBNF? 2020-04-26T19:54:12Z MerlinTheWizard: Can I set it to just give me EBNF somehow? 2020-04-26T19:54:26Z phoe: it clearly attempts to, but I have no idea if it's 100% successful in compliance 2020-04-26T19:54:29Z phoe: clhs let 2020-04-26T19:54:29Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm 2020-04-26T19:54:31Z Bike: "set it"? it's just text. 2020-04-26T19:54:45Z kpoeck quit (Remote host closed the connection) 2020-04-26T19:54:46Z phoe: hah, CLHS does the same 2020-04-26T19:55:10Z MerlinTheWizard: Maybe it's a different Backus-Naur, or a different notation? 2020-04-26T19:55:18Z Bike: clhs 1.4.1.2 2020-04-26T19:55:18Z specbot: Modified BNF Syntax: http://www.lispworks.com/reference/HyperSpec/Body/01_dab.htm 2020-04-26T19:55:36Z saturn2: EBNF is just a convention, CLHS and SBCL use a slightly different version from the standard one 2020-04-26T19:55:48Z rogersm joined #lisp 2020-04-26T19:56:24Z saturn2: or the usual one, rather 2020-04-26T19:56:36Z saturn2: since there's no real standard 2020-04-26T19:56:59Z rogersm quit (Read error: Connection reset by peer) 2020-04-26T19:57:32Z rogersm joined #lisp 2020-04-26T19:59:56Z lucasb joined #lisp 2020-04-26T20:01:32Z rogersm quit (Client Quit) 2020-04-26T20:01:34Z MerlinTheWizard: Ok, so it looks like they all just use their own alternative to EBNF, but I guess they don't define it. 2020-04-26T20:03:05Z Bike: well, practically speaking it's generally unambiguous for a human reader. like the LET page has a bunch of examples. 2020-04-26T20:04:53Z CrazyPython quit (Read error: Connection reset by peer) 2020-04-26T20:06:10Z MerlinTheWizard: Bike, I'm just not sure why someone would create a rigorous syntax and not fully describe it anywhere. So maybe it's not a rigorous, formal system at all? 2020-04-26T20:06:32Z kpoeck joined #lisp 2020-04-26T20:06:38Z MerlinTheWizard: So like a pseudo-grammar or something? 2020-04-26T20:07:06Z Bike: it's not really that rigorous, no. the standard is intended for human readers and would not be suitable for formal use without a lot of work. 2020-04-26T20:07:38Z terpri quit (Ping timeout: 244 seconds) 2020-04-26T20:08:23Z MerlinTheWizard: Ok, well, I'll just do my best with what I've got then. Maybe I'll create my own hyperspec later once I get this stuff down. 2020-04-26T20:09:03Z Bike: feel free to ask more questions about confusing points. 2020-04-26T20:11:12Z saturn2: i suppose the main motivation for the difference is that usually EBNF uses parentheses for grouping, and that would be very inconvenient for describing lisp forms 2020-04-26T20:12:14Z Bike: tru 2020-04-26T20:12:59Z terpri joined #lisp 2020-04-26T20:13:50Z okflo quit (Quit: WeeChat 2.8) 2020-04-26T20:16:36Z MerlinTheWizard: Bike, thank you. I'm sure I will. 2020-04-26T20:16:50Z MerlinTheWizard: saturn2, I was just going to make a similar comment. 2020-04-26T20:17:19Z MerlinTheWizard: And it seems like EBNF was actually designed for human consumption to a certain extent: https://www.cl.cam.ac.uk/~mgk25/iso-14977-paper.pdf 2020-04-26T20:17:34Z Bike: to be honest, i'd say the syntax is usually pretty simple. i mean, it is lisp. the confusing points there are declarations and lambda lists, and they both have specific pages explaining them. 2020-04-26T20:18:01Z Bike: other than that there are only fairly minor irregularities, like restart-case. 2020-04-26T20:18:05Z buffergn0me: LOOP is the worst offender. 2020-04-26T20:18:13Z Bike: oh. right. also loop. 2020-04-26T20:18:49Z Bike: i've gotten to the point i can usually figure anything out just by looking at the grammar, but that could just be stockholm syndrome 2020-04-26T20:19:04Z MerlinTheWizard: Bike, CL syntax is confusing because analogous functions can differ in how arguments are ordered. 2020-04-26T20:19:14Z efm quit (Read error: Connection reset by peer) 2020-04-26T20:19:15Z MerlinTheWizard: Bike, Stockholm syndrome, that's funny. 2020-04-26T20:19:20Z Bike: like elt and nth? are there other ones? 2020-04-26T20:19:25Z Bike: i mean, elt and nth is definitely bad, though. 2020-04-26T20:19:58Z MerlinTheWizard: I'm not sure, I'm a noob. But it's confusing to me so far and I still haven't got the syntax even halfway through PCL. 2020-04-26T20:20:06Z MerlinTheWizard: Frustrating, but I'll figure it out. 2020-04-26T20:20:38Z selwyn: aref and nth 2020-04-26T20:21:03Z MerlinTheWizard: PCL should have been written better. I'm going to follow up with 'On Lisp'. 2020-04-26T20:21:25Z Josh_2: wat 2020-04-26T20:21:39Z Josh_2: what is confusing about ( ) ? 2020-04-26T20:21:41Z phoe: On Lisp is actually an advanced book 2020-04-26T20:21:42Z buffergn0me: Same. If I don't have SLIME giving the function signature in the message area, I have to go look up the argument order half the time 2020-04-26T20:21:47Z phoe: Josh_2: please read the context 2020-04-26T20:21:53Z Josh_2: reeeee 2020-04-26T20:21:55Z Bike: function call syntax is easy, but macros and special operators are nontrivial. 2020-04-26T20:22:06Z phoe: it's not about ( ), it's about in this case 2020-04-26T20:22:17Z phoe: and also what Bike said 2020-04-26T20:22:52Z MerlinTheWizard: phoe, 'On Lisp' was recommended by a reviewer on amazon as a second lisp book. 2020-04-26T20:22:57Z cosimone quit (Remote host closed the connection) 2020-04-26T20:23:08Z MerlinTheWizard: Just looking at the table of contents, it looks very appropriate for me after PCL. 2020-04-26T20:23:14Z phoe: hm, it sounds okay - it pays a lot of attention to Lisp macros 2020-04-26T20:23:21Z Bike: there's also https://www.cs.cmu.edu/~dst/LispBook/book.pdf, which is intended for people new to programming. I haven't read it myself. 2020-04-26T20:23:22Z cosimone joined #lisp 2020-04-26T20:23:28Z MerlinTheWizard: Yes, I need about 100 pages of lisp macros... 2020-04-26T20:23:47Z phoe: Gentle has a very very slow pace that might be frustrating for someone who's already programmed a bit 2020-04-26T20:23:48Z JessiStein joined #lisp 2020-04-26T20:23:52Z saturn2: it really should've been titled On Lisp Macros 2020-04-26T20:24:30Z Josh_2: Bike: It's a very good introduction to programming 2020-04-26T20:24:35Z Josh_2: Bike: it was my first programming book 2020-04-26T20:24:49Z buffergn0me: I read A Gentle Introduction last year, 15 years after starting programming and Common Lisp. Learned a couple of things. 2020-04-26T20:26:33Z JessiStein quit (Client Quit) 2020-04-26T20:28:36Z selwyn: is the style of 'on lisp' typical of common lisp of that era, or is it just trying to be scheme? i am thinking about the emphasis on recursion in particular 2020-04-26T20:29:16Z pennTeller joined #lisp 2020-04-26T20:29:27Z Bike: https://courses.cs.northwestern.edu/325/readings/graham/graham-notes.html 2020-04-26T20:29:37Z Bike: so no, i don't think it's normal 2020-04-26T20:29:42Z pennTeller left #lisp 2020-04-26T20:30:22Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-26T20:30:46Z selwyn: thanks for link 2020-04-26T20:31:24Z shka_ quit (Ping timeout: 244 seconds) 2020-04-26T20:31:26Z X-Scale quit (Ping timeout: 265 seconds) 2020-04-26T20:31:41Z [X-Scale] joined #lisp 2020-04-26T20:31:47Z bars0 quit (Quit: leaving) 2020-04-26T20:31:57Z [X-Scale] is now known as X-Scale 2020-04-26T20:33:20Z ggole quit (Quit: Leaving) 2020-04-26T20:33:34Z dale joined #lisp 2020-04-26T20:34:08Z Shinmera: getf/assoc/gethash. 2020-04-26T20:34:15Z Shinmera: ah fuck, was scrolled up, sorry. 2020-04-26T20:34:40Z Bike: oh, about argument order? you're right, though. 2020-04-26T20:34:49Z Shinmera: yes. 2020-04-26T20:36:29Z CrunchyChewie quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-04-26T20:39:54Z Grue`: i even mix up PUSH argument order all the time 2020-04-26T20:41:31Z v_m_v quit (Remote host closed the connection) 2020-04-26T20:42:28Z v_m_v joined #lisp 2020-04-26T20:42:43Z MerlinTheWizard joined #lisp 2020-04-26T20:44:04Z man213 joined #lisp 2020-04-26T20:44:29Z nika quit 2020-04-26T20:46:43Z gravicappa quit (Ping timeout: 246 seconds) 2020-04-26T20:46:48Z Grue`: is (boundp '*) guaranteed to be true even outside of REPL? 2020-04-26T20:47:41Z Bike: Hm. I suppose not. 2020-04-26T20:48:47Z efm joined #lisp 2020-04-26T20:49:17Z phoe: clhs * 2020-04-26T20:49:17Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_st.htm 2020-04-26T20:50:12Z Grue`: I'm thinking of defining a function with "&optional (some-arg *)" so that I can run it on previous REPL value but I wonder if it will freak out the compiler in some contexts 2020-04-26T20:50:16Z phoe: nothing seems to explicitly require it 2020-04-26T20:50:53Z Grue`: it says the initial value is "implementation-dependent" but doesn't say it can be unbound 2020-04-26T20:51:09Z phoe: it says it's "maintained by the REPL", whatever it means 2020-04-26T20:51:48Z phoe: nonetheless, I wouldn't do that; the REPL variables are supposed to stay in the REPL, and typing an additional " *" in the repl to turn (foo ...) into (foo ... *) seems cleaner and not much more effort-expensive to me 2020-04-26T20:54:23Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-26T20:55:10Z corpix_ quit (Quit: corpix_) 2020-04-26T20:55:31Z corpix joined #lisp 2020-04-26T21:03:38Z Bike: though the only way you're going to be outside a repl is something like --quit or in a different thread, in which case i don't know what (foo) would be expected to do anyway. 2020-04-26T21:03:45Z hiroaki quit (Ping timeout: 240 seconds) 2020-04-26T21:04:10Z Shinmera: I suppose stuff like --eval is also not necessarily 'in the repl' 2020-04-26T21:11:14Z jmercouris: how to prevent format from printing shortened version of long list? 2020-04-26T21:11:24Z jmercouris: you know how it does ... for very long things 2020-04-26T21:11:38Z phoe: clhs *print-length* 2020-04-26T21:11:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_pr_lev.htm 2020-04-26T21:11:52Z pjb: jmercouris: the default setting of the *print-…* variables is IMPLEMENTATION DEPENDENT! 2020-04-26T21:12:02Z pjb: jmercouris: therefore you are advised to set them yourself in your rc files! 2020-04-26T21:12:13Z jmercouris: I see 2020-04-26T21:12:18Z jmercouris: thanks for the tips 2020-04-26T21:13:18Z phoe: or to create your own with-* macro that mimics with-standard-io-syntax, except it has your own values for print-related dynavars (and possibly for read-related ones too) 2020-04-26T21:13:30Z efm quit (Remote host closed the connection) 2020-04-26T21:13:45Z pjb: Grue`: well, clhs * says that it has an initial-value that is implementation-dependent. I don't understand this to mean that it can be unbound. 2020-04-26T21:14:29Z pjb: Grue`: notably, after (values) * is specified to be bound to nil, not to be unbound. 2020-04-26T21:14:44Z pjb: Grue`: therefore I would think that it's conforming to expect it to be always bound. 2020-04-26T21:15:09Z pjb: Grue`: but this doesn't say anything about what it's value is when you're outside of the repl, or if it's the form to be evaluated in the repl. 2020-04-26T21:15:33Z efm joined #lisp 2020-04-26T21:15:56Z jmercouris: turns out I had set it in my rc file and that was causingp roblems in my program 2020-04-26T21:15:58Z jmercouris: so I let bound it to nil 2020-04-26T21:16:20Z jmercouris: don't remember why I had done that 2020-04-26T21:16:25Z jmercouris: probably didn't want masive lists printing in the REPL 2020-04-26T21:20:19Z Bike: yeah, i have that in my rc for that reason. 2020-04-26T21:22:11Z v_m_v quit (Remote host closed the connection) 2020-04-26T21:35:55Z MerlinTheWizard quit (Remote host closed the connection) 2020-04-26T21:36:19Z MerlinTheWizard joined #lisp 2020-04-26T21:37:50Z jprajzne quit (Quit: jprajzne) 2020-04-26T21:38:15Z ayuce left #lisp 2020-04-26T21:39:20Z pjb: yes, of course, the advice of setting them in your rc files implies that you REMEMBER that you've set them and to what values… 2020-04-26T21:42:14Z Kundry_Wag joined #lisp 2020-04-26T21:44:57Z efm quit (Read error: Connection reset by peer) 2020-04-26T21:46:53Z jmercouris: I know allegro and lisp works both have prolog extensions 2020-04-26T21:47:12Z jmercouris: anyone have experience with them? what can one do more easily with an expert system in lisp? 2020-04-26T21:47:18Z jmercouris: i’m looking for some inspiration 2020-04-26T21:47:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-26T21:49:14Z duncan_ quit (Ping timeout: 260 seconds) 2020-04-26T21:49:15Z Bike: i know sjl's prolog was for game AI. not really an expert system, i guess 2020-04-26T21:49:16Z Jesin quit (Quit: Leaving) 2020-04-26T21:49:33Z Bike: https://github.com/sjl/temperance that is 2020-04-26T21:50:46Z Kundry_Wag quit (Ping timeout: 246 seconds) 2020-04-26T21:51:34Z Jesin joined #lisp 2020-04-26T21:53:04Z jmercouris: that gif is very irritating 2020-04-26T21:53:07Z jmercouris: interesting project 2020-04-26T21:53:18Z Bike: the ELS talk was cool too. 2020-04-26T21:54:11Z jmercouris: maybe one could recreate clippy in prolog 2020-04-26T21:54:19Z jmercouris: or bonzai buddy lol 2020-04-26T21:55:17Z kpgiskpg joined #lisp 2020-04-26T21:55:21Z ayuce joined #lisp 2020-04-26T21:56:49Z kpgiskpg: Any suggestion for dealing with nickname conflicts between dependencies? 2020-04-26T21:57:55Z CrazyPython joined #lisp 2020-04-26T21:58:18Z phoe: kpgiskpg: RENAME-PACKAGE is working but ugly 2020-04-26T21:58:28Z phoe: do you mean dependencies as in quicklisp systems? 2020-04-26T21:59:19Z Shinmera: kpgiskpg: get the maintainers to change the names. 2020-04-26T21:59:21Z kpgiskpg: Dependencies I've defined in my asdf file. When I try to load my package in slime, it errors out saying "Q is already a nickname for RTG-MATH.QUATERNIONS". 2020-04-26T21:59:36Z phoe: kpgiskpg: ooh, so you control all the packages? 2020-04-26T21:59:51Z phoe: if so, use package-local nicknames instead of standard nicknames 2020-04-26T21:59:57Z kpgiskpg: Nope, I'm depending on 'cl-threadpool', which depends on 'queues'. 2020-04-26T22:00:19Z phoe: PLNs are still a choice then 2020-04-26T22:00:31Z phoe: AFAIR they're capable of shadowing standard nicknames 2020-04-26T22:01:24Z kpgiskpg: That still applies if all of the nicknames are defined in my dependencies? 2020-04-26T22:01:29Z SGASAU quit (Remote host closed the connection) 2020-04-26T22:02:16Z phoe: you'll want to drop the global Q nickname from your package and instead locally nickname that package in the package that uses it 2020-04-26T22:02:19Z SGASAU joined #lisp 2020-04-26T22:02:43Z kpgiskpg: Wow, that is indeed ugly. I'll give it a shot, thanks. 2020-04-26T22:02:52Z phoe: nah, it's the cleaner option 2020-04-26T22:03:13Z phoe: mutating global state via RENAME-PACKAGE is the uglier option 2020-04-26T22:03:50Z phoe: (defpackage foo (:use :cl) (:local-nicknames (:a :alexandria))) and suddenly I can do a:assoc-value 2020-04-26T22:10:59Z man213 quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-26T22:11:25Z SGASAU quit (Remote host closed the connection) 2020-04-26T22:11:29Z efm joined #lisp 2020-04-26T22:12:17Z SGASAU joined #lisp 2020-04-26T22:12:40Z jonatack quit (Ping timeout: 244 seconds) 2020-04-26T22:13:07Z jonatack joined #lisp 2020-04-26T22:13:18Z acolarh quit (Ping timeout: 256 seconds) 2020-04-26T22:14:07Z CrazyEddy joined #lisp 2020-04-26T22:16:23Z kpgiskpg: Do you have an example to hand of how add-package-local-nickname and remove-package-local-nickname would be incorporated into an asdf file? 2020-04-26T22:24:25Z kamid joined #lisp 2020-04-26T22:28:08Z cyberoctopi joined #lisp 2020-04-26T22:28:32Z buffergn0me joined #lisp 2020-04-26T22:29:54Z whiteline quit (Ping timeout: 256 seconds) 2020-04-26T22:30:58Z abhixec quit (Quit: leaving) 2020-04-26T22:32:25Z cyberoctopi quit (Ping timeout: 246 seconds) 2020-04-26T22:33:39Z Fare joined #lisp 2020-04-26T22:37:54Z whiteline joined #lisp 2020-04-26T22:41:06Z akoana joined #lisp 2020-04-26T22:44:03Z kpoeck left #lisp 2020-04-26T22:45:45Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-26T22:53:38Z rgherdt quit (Ping timeout: 260 seconds) 2020-04-26T22:53:45Z random-nick quit (Ping timeout: 240 seconds) 2020-04-26T22:54:44Z MerlinTheWizard joined #lisp 2020-04-26T22:55:02Z whiteline quit (Ping timeout: 244 seconds) 2020-04-26T22:57:09Z acolarh joined #lisp 2020-04-26T22:59:04Z zulu-inuoe quit (Read error: Connection reset by peer) 2020-04-26T22:59:24Z whiteline joined #lisp 2020-04-26T22:59:27Z zulu-inuoe joined #lisp 2020-04-26T23:04:15Z cosimone quit (Ping timeout: 240 seconds) 2020-04-26T23:04:22Z benjamin-l quit (Ping timeout: 260 seconds) 2020-04-26T23:11:03Z lxbarbosa joined #lisp 2020-04-26T23:21:37Z MerlinTheWizard quit (Remote host closed the connection) 2020-04-26T23:21:54Z MerlinTheWizard joined #lisp 2020-04-26T23:24:07Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-26T23:24:08Z kpgiskpg quit (Quit: Leaving) 2020-04-26T23:25:50Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-04-26T23:26:12Z Lord_of_Life joined #lisp 2020-04-26T23:26:15Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-26T23:30:16Z renzhi joined #lisp 2020-04-26T23:35:24Z davsebam1e quit (Ping timeout: 256 seconds) 2020-04-26T23:43:58Z orivej quit (Ping timeout: 260 seconds) 2020-04-26T23:46:03Z cyberoctopi joined #lisp 2020-04-26T23:48:51Z keep_learning joined #lisp 2020-04-26T23:49:39Z lucasb quit (Quit: Connection closed for inactivity) 2020-04-26T23:50:28Z cyberoctopi quit (Ping timeout: 246 seconds) 2020-04-26T23:53:11Z davsebamse joined #lisp 2020-04-26T23:59:18Z SGASAU quit (Remote host closed the connection) 2020-04-27T00:03:45Z rwcom quit (Read error: Connection reset by peer) 2020-04-27T00:05:08Z rwcom joined #lisp 2020-04-27T00:05:36Z SGASAU joined #lisp 2020-04-27T00:07:30Z karen-chan joined #lisp 2020-04-27T00:09:43Z karen-chan quit (Read error: Connection reset by peer) 2020-04-27T00:12:49Z Kundry_Wag joined #lisp 2020-04-27T00:14:51Z renzhi quit (Read error: Connection reset by peer) 2020-04-27T00:17:38Z shangul joined #lisp 2020-04-27T00:19:36Z epony quit (Remote host closed the connection) 2020-04-27T00:20:54Z shifty quit (Ping timeout: 260 seconds) 2020-04-27T00:22:18Z shangul quit (Ping timeout: 260 seconds) 2020-04-27T00:26:03Z Nilby quit (Read error: Connection reset by peer) 2020-04-27T00:27:17Z zaquest quit (Quit: Leaving) 2020-04-27T00:29:52Z zaquest joined #lisp 2020-04-27T00:42:02Z rwcom quit (Quit: Ping timeout (120 seconds)) 2020-04-27T00:42:36Z rwcom joined #lisp 2020-04-27T00:43:12Z mono quit (Remote host closed the connection) 2020-04-27T00:43:25Z Kundry_Wag quit (Remote host closed the connection) 2020-04-27T00:45:19Z efm quit (Read error: Connection reset by peer) 2020-04-27T00:49:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-27T00:51:26Z efm joined #lisp 2020-04-27T00:51:58Z Oladon joined #lisp 2020-04-27T00:58:20Z bitmapper: great 2020-04-27T00:58:21Z bitmapper: i literally cannot use the free version of lispworks/allegro cl because of macos catalina 2020-04-27T01:01:55Z buffergn0me joined #lisp 2020-04-27T01:02:31Z renzhi joined #lisp 2020-04-27T01:05:17Z SGASAU quit (Remote host closed the connection) 2020-04-27T01:07:07Z SGASAU joined #lisp 2020-04-27T01:07:42Z choegusung joined #lisp 2020-04-27T01:07:42Z choegusung quit (Client Quit) 2020-04-27T01:08:45Z renzhi quit (Ping timeout: 240 seconds) 2020-04-27T01:09:45Z bitmapper quit (Ping timeout: 240 seconds) 2020-04-27T01:27:14Z cyraxjoe joined #lisp 2020-04-27T01:28:58Z MightyJoe quit (Ping timeout: 260 seconds) 2020-04-27T01:33:13Z buffergn` joined #lisp 2020-04-27T01:33:13Z buffergn0me quit (Read error: Connection reset by peer) 2020-04-27T01:33:57Z buffergn` quit (Client Quit) 2020-04-27T01:34:12Z buffergn0me joined #lisp 2020-04-27T01:37:15Z CrazyPython quit (Ping timeout: 240 seconds) 2020-04-27T01:41:38Z pilne_ joined #lisp 2020-04-27T01:43:10Z pilne quit (Ping timeout: 246 seconds) 2020-04-27T01:43:45Z EvW quit (Ping timeout: 240 seconds) 2020-04-27T01:45:32Z Fare quit (Ping timeout: 244 seconds) 2020-04-27T01:49:19Z shangul joined #lisp 2020-04-27T01:58:34Z shangul quit (Ping timeout: 246 seconds) 2020-04-27T02:01:49Z renzhi joined #lisp 2020-04-27T02:12:11Z Fare joined #lisp 2020-04-27T02:12:47Z cyberoctopi joined #lisp 2020-04-27T02:19:33Z Jeanne-Kamikaze joined #lisp 2020-04-27T02:26:26Z acolarh quit (Ping timeout: 260 seconds) 2020-04-27T02:28:21Z pfdietz: I wonder if there should be a :standard-package-nicknames option, and a :use-standard-nicknames. The former attacjes a standard PLN to a package; the latter says use that package's standard PLNs as PLNs for it in this package. 2020-04-27T02:28:55Z pfdietz: If the standard PLNs ever collide in another package, the user can manually define different ones. 2020-04-27T02:29:38Z pfdietz: I really should get to sleep. ELS is soon. 2020-04-27T02:31:50Z ayuce left #lisp 2020-04-27T02:34:06Z cyberoctopi quit (Ping timeout: 244 seconds) 2020-04-27T02:36:24Z pilne_ quit (Quit: IceChat - Keeping PC's cool since 2000) 2020-04-27T02:41:15Z acolarh joined #lisp 2020-04-27T02:43:15Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-27T02:49:42Z lxbarbosa quit (Read error: Connection reset by peer) 2020-04-27T02:51:12Z shangul joined #lisp 2020-04-27T02:53:36Z pfdietz quit (Ping timeout: 240 seconds) 2020-04-27T02:54:54Z turona quit (Ping timeout: 265 seconds) 2020-04-27T02:59:34Z shangul quit (Ping timeout: 260 seconds) 2020-04-27T03:08:01Z cyberoctopi joined #lisp 2020-04-27T03:08:54Z turona joined #lisp 2020-04-27T03:10:21Z slyrus_: Oladon: hey 2020-04-27T03:13:06Z cyberoctopi quit (Ping timeout: 260 seconds) 2020-04-27T03:19:52Z buffergn0me joined #lisp 2020-04-27T03:27:17Z pjb quit (Ping timeout: 265 seconds) 2020-04-27T03:29:40Z beach: Good morning everyone! 2020-04-27T03:31:07Z nowhere_man quit (Remote host closed the connection) 2020-04-27T03:31:31Z nowhere_man joined #lisp 2020-04-27T03:33:33Z mwgkgk joined #lisp 2020-04-27T03:34:14Z shangul joined #lisp 2020-04-27T03:42:39Z cyberoctopi joined #lisp 2020-04-27T03:43:28Z Bike quit (Quit: Lost terminal) 2020-04-27T03:47:15Z cyberoctopi quit (Ping timeout: 240 seconds) 2020-04-27T03:54:11Z Bourne quit (Read error: Connection reset by peer) 2020-04-27T03:55:01Z terpri quit (Read error: Connection reset by peer) 2020-04-27T03:58:38Z torbo quit (Remote host closed the connection) 2020-04-27T04:14:52Z Codaraxis joined #lisp 2020-04-27T04:16:53Z cyberoctopi joined #lisp 2020-04-27T04:28:33Z epony joined #lisp 2020-04-27T04:28:34Z gxt joined #lisp 2020-04-27T04:29:15Z efm quit (Ping timeout: 240 seconds) 2020-04-27T04:30:45Z GuerrillaMonkey joined #lisp 2020-04-27T04:31:08Z efm joined #lisp 2020-04-27T04:33:15Z Jeanne-Kamikaze quit (Ping timeout: 240 seconds) 2020-04-27T04:42:01Z cyberoctopi quit (Ping timeout: 246 seconds) 2020-04-27T04:42:35Z MerlinTheWizard joined #lisp 2020-04-27T04:45:26Z dddddd quit (Ping timeout: 260 seconds) 2020-04-27T04:45:30Z MerlinTheWizard: Hey, so there should probably be a list of lisp resources in the channel banner. 2020-04-27T04:45:56Z MerlinTheWizard: And I'll put in my vote for the Common Lisp Quick Reference: http://clqr.boundp.org/ 2020-04-27T04:46:24Z MerlinTheWizard: It's beautifully laid out and designed for printing or reading on your computer. 2020-04-27T04:47:08Z vlatkoB joined #lisp 2020-04-27T04:47:53Z verisimilitude: You can specialize a method on those array specializations required, Oladon, such as BIT-VECTOR and STRING, but anything else is nonportable or bothersome. 2020-04-27T04:50:05Z p_l: MerlinTheWizard: due to how big the channel topic gets, I think I'd rather make a link to a minimal site listing such things, preferably one general to #lisp itself 2020-04-27T04:50:52Z verisimilitude: I've such a resource, but it's only intended for my Lisp group. 2020-04-27T04:51:39Z MerlinTheWizard: p_l, could you do that? 2020-04-27T04:53:36Z GuerrillaMonkey quit (Remote host closed the connection) 2020-04-27T04:53:36Z MerlinTheWizard: It seems common lisp is probably not getting as many users as it could be because information about the language just seems to be scattered around the internet mostly. A lot of the bigger "hubs' and "authorities" are weirdly formatted, ancient looking sites. 2020-04-27T04:54:19Z verisimilitude: Why would the number of people using Common Lisp be an issue? 2020-04-27T04:55:12Z brutalist joined #lisp 2020-04-27T04:56:46Z MerlinTheWizard: verisimilitude, with more users comes more resources for people wanting to use the language... I'm a new CL user and I need resources. CLHS is unfortunately proprietary and weirdly formatted. More users means CL will have more life on the internet and better support. 2020-04-27T04:57:17Z verisimilitude: I can read the CLHS in most any WWW browser ever made, so it's nice. 2020-04-27T04:57:31Z no-defun-allowed: I think having information being "scattered" is a good thing; in the sense that having fewer coherent outlets would require having fewer outlooks on the language and how to use it. 2020-04-27T04:58:07Z verisimilitude: I agree with no-defun-allowed; I usually ignore this channel, because I dislike Freenode and have my own entirely separate Lisp venues, as an example. 2020-04-27T04:58:32Z MerlinTheWizard: no-defun-allowed I would call that a non-sequitur. My use of "scattered" here means "disconnected", not "decentralized". 2020-04-27T04:59:02Z no-defun-allowed: In the vain of http://bettermotherfuckingwebsite.com/, it is also quite easy to make the CLHS look pretty nice with a few lines of CSS. 2020-04-27T04:59:03Z MerlinTheWizard: verisimilitude, you are preferring "private" to "public". I like "public" better. 2020-04-27T04:59:33Z MerlinTheWizard: no-defun-allowed, can you put it all on a single page with a little CSS? 2020-04-27T04:59:33Z verisimilitude: I like that Common Lisp is a standardized language without ``official'' resources. 2020-04-27T05:00:07Z verisimilitude: This channel is no more legitimate than my main IRC channel on a different network, and I like that. 2020-04-27T05:00:14Z MerlinTheWizard: No, it has official resources, who will sell you a badly scanned printout of the standard for $30. 2020-04-27T05:00:28Z verisimilitude: The standard document is clearly excluded. 2020-04-27T05:00:49Z verisimilitude: The opposite is garbage such as Rust where there's an official ``subreddit'' or whatever. 2020-04-27T05:00:53Z MerlinTheWizard: CLHS is based on the standard. 2020-04-27T05:01:03Z no-defun-allowed: A single page? Not easily, the CLHS is 2,300 hyperlinked documents, which was quite impressive when it was released. 2020-04-27T05:01:28Z MerlinTheWizard: no-defun-allowed, that's my main issue with it. 2020-04-27T05:01:53Z verisimilitude: I've a copy of ``ANSI Common Lisp'' I use as a reference at times. 2020-04-27T05:01:56Z no-defun-allowed: Yes, the standard costs money to access because it's a proper ANSI standard and all, and the CLHS is equivalent to the standard from what I have heard. 2020-04-27T05:02:55Z MerlinTheWizard: verisimilitude, the presence of one "authority" doesn't exclude the presence of any others: https://nlp.stanford.edu/IR-book/html/htmledition/hubs-and-authorities-1.html 2020-04-27T05:02:57Z no-defun-allowed: "M-x hyperspec-lookup RET cons" is probably the easiest way to search that document. 2020-04-27T05:03:23Z verisimilitude: Sure, MerlinTheWizard, but it does lessen the legitimacy of any others. 2020-04-27T05:03:29Z MerlinTheWizard: Nope 2020-04-27T05:03:31Z nowhere_man quit (Remote host closed the connection) 2020-04-27T05:03:33Z MerlinTheWizard: That's illogical 2020-04-27T05:03:54Z verisimilitude: I could be ostracized here, and I wouldn't even care; in other languages, being ostracized is effectively a ``death-sentence''. 2020-04-27T05:03:55Z nowhere_man joined #lisp 2020-04-27T05:04:34Z MerlinTheWizard: Ostracism has little to do with the connectivity properties of a network of information sources. 2020-04-27T05:04:56Z no-defun-allowed: If one service is more popular than the other, it will attract more users just by being more popular. Not that you use e-mail these days, but how much mail do you get from people that isn't from their ISP's email server or from gmail? 2020-04-27T05:04:58Z verisimilitude: We may not be understanding each other, perhaps. 2020-04-27T05:05:20Z p_l: I see silly political discussion centered about not doing things, where people talk past each other on completely unrelated topics that don't actually conflict 2020-04-27T05:05:23Z verisimilitude: Most of my mail doesn't come from gmail, once I delete the spam, almost all of which comes from gmail. 2020-04-27T05:06:31Z MerlinTheWizard: "authority" just means a good source of information as presented in the linked webpage. One good source of information does not cancel out another. 2020-04-27T05:06:45Z MerlinTheWizard: So, yeah. We're talking past each other. 2020-04-27T05:07:11Z beach: MerlinTheWizard: There are many theories about why Common Lisp is not as popular as some might want it to be. But I can assure you that having information that is less scattered will not have any significant impact on the popularity of the language. 2020-04-27T05:07:16Z no-defun-allowed: (And, well, our ISP's email server is horrible as it has tiny quotas, has a mediocre spam filter, and accepts mail from phony email addresses. Someone told the users of that "Here's your email!!" and they didn't bother to look for anything better.) 2020-04-27T05:07:29Z verisimilitude: Whatever; back to the beginning, Common Lisp being popular or not isn't going to have much of an impact, especially if most new people just want to write libraries that are actually C libraries or other such things. 2020-04-27T05:08:07Z no-defun-allowed: (In that sense, if we assert one platform to be "the" platform, then people are not going to look at alternatives, regardless of quality.) 2020-04-27T05:08:30Z MerlinTheWizard: beach, I don't know about that. If people go to the irc channel on freenode because they were looking for good info on CL, and they find one or more solid links right off the bat, it makes them more likely to use the language. 2020-04-27T05:08:48Z MerlinTheWizard: no-defun-allowed, different people are different. 2020-04-27T05:09:02Z rgherdt joined #lisp 2020-04-27T05:09:35Z no-defun-allowed: How does one find #lisp without looking for information on Lisp? I suppose it's possible you could guess the name, but it's not likely. 2020-04-27T05:09:57Z verisimilitude: Perhaps the user wants a channel for speach impediments. 2020-04-27T05:10:15Z MerlinTheWizard: My point exactly. If you came here, you were probably looking for something. 2020-04-27T05:10:23Z beach: MerlinTheWizard: I seriously doubt it would have any significant impact. There are some very strong psychological forces at play that prevent people from using Common Lisp. 2020-04-27T05:10:51Z verisimilitude: Why did you start learning CL, MerlinTheWizard? 2020-04-27T05:11:04Z no-defun-allowed: I don't think "if you came here, then you were looking for something" and "if you were looking for something, then you came here" are the same. 2020-04-27T05:11:14Z cyberoctopi joined #lisp 2020-04-27T05:11:21Z MerlinTheWizard: I'm interested in functional programming and I want a language that let's me do just about anything.] 2020-04-27T05:11:38Z beach: MerlinTheWizard: Well, Common Lisp is not a functional programming language in that sense. 2020-04-27T05:12:01Z no-defun-allowed gets back to making a lightning talk presentation. 2020-04-27T05:12:04Z beach: MerlinTheWizard: It is a multi-paradigm language. In particular, it has excellent support for object-oriented programming. 2020-04-27T05:12:09Z MerlinTheWizard: no-defun-allowed, most IRC channels that I've frequented were not "leaf nodes" in that sense. They had useful resources available. 2020-04-27T05:12:23Z saturn2: is cliki.net "weirdly formatted and ancient looking"? 2020-04-27T05:12:30Z p_l: cliki is mostly dead 2020-04-27T05:12:34Z p_l: that's bigger problem 2020-04-27T05:12:35Z MerlinTheWizard: I'm not that interested in the OO aspect. 2020-04-27T05:12:48Z MerlinTheWizard: ^ 2020-04-27T05:12:53Z beach: MerlinTheWizard: If you are interested in functional programming, then something like Haskell or Clojure might be better for you. 2020-04-27T05:13:04Z MerlinTheWizard: I'll check out haskell later. 2020-04-27T05:13:08Z verisimilitude: Well, cliki doesn't ask for my email or other information to make changes, display advertisements, and I presume it's not trying to track me, so it's outdated, yes. 2020-04-27T05:13:15Z no-defun-allowed: verisimilitude: Heh. 2020-04-27T05:13:43Z saturn2: it doesn't use bootstrap.js or material design so it must be bad 2020-04-27T05:13:59Z no-defun-allowed: I'm not good at writing long texts, but apparently I struggle to write short texts too. Fun stuff. 2020-04-27T05:14:33Z verisimilitude: Try doing something else until inspiration strikes you, no-defun-allowed; would you like some more in-depth writing advice from me? 2020-04-27T05:14:50Z p_l: saturn2: the issue is the content, not everything else 2020-04-27T05:15:25Z no-defun-allowed: Thanks, but there isn't really time. I'm almost done though. 2020-04-27T05:15:40Z verisimilitude: Alright. 2020-04-27T05:15:41Z MerlinTheWizard: Yeah, I like the cliki layout just fine. But the web of CL content should be larger, more well connected, more up to date, and less proprietary. 2020-04-27T05:15:42Z saturn2: p_l: what do you mean by "dead"? 2020-04-27T05:16:01Z verisimilitude: I prefer the distributed ``random guys website'' model, MerlinTheWizard. 2020-04-27T05:16:20Z verisimilitude: It's a shame so much CL is on github. 2020-04-27T05:16:22Z p_l: saturn2: It pretty much stopped being updated much, especially after ASDF-Install stopped being a thing 2020-04-27T05:16:29Z MerlinTheWizard: verisimilitude, how do you find the "random guys website"? Can you tell me how many of them there are? 2020-04-27T05:16:39Z verisimilitude: No, and that's part of the point. 2020-04-27T05:16:52Z MerlinTheWizard: So it's better if information is harder to find? 2020-04-27T05:16:55Z verisimilitude: One finds such websites by looking. 2020-04-27T05:17:09Z no-defun-allowed: You use a search engine. There's probably at least two or three at the very least. 2020-04-27T05:17:16Z Grauwolf quit (Read error: Connection reset by peer) 2020-04-27T05:17:17Z MerlinTheWizard: That knowledge I had before I even came to this IRC channel. 2020-04-27T05:17:26Z verisimilitude: Being scattered and distributed is better than everyone being on Facebook or similar filth, yes. 2020-04-27T05:17:33Z Grauwolf joined #lisp 2020-04-27T05:17:44Z MerlinTheWizard: I didn't say "put all the information on facebook" 2020-04-27T05:17:50Z MerlinTheWizard: Again, talking past each other. 2020-04-27T05:18:08Z MerlinTheWizard: Wrong comparison. Strawman. 2020-04-27T05:18:11Z verisimilitude: That's an example of centralization, is all. 2020-04-27T05:18:38Z verisimilitude: Anyway, good luck with finding a Common Lisp programmer who cares much about this issue, MerlinTheWizard. 2020-04-27T05:18:52Z MerlinTheWizard: And I told you, I wasn't arguing for more centralization. Just more and better "authorities" and "hubs", as defined in the linked page. 2020-04-27T05:19:19Z MerlinTheWizard: Obviously, you speak for all of them, king verisimilitude. 2020-04-27T05:19:53Z MerlinTheWizard: The people who built, cliki, I'm pretty sure they cared about this issue. 2020-04-27T05:20:12Z MerlinTheWizard: So you've been making nothing but ridiculous points this whole time. 2020-04-27T05:20:23Z verisimilitude: This is just the general attitude I've observed over time. 2020-04-27T05:20:44Z MerlinTheWizard: I'd guess your perspective is rather biased, not to mention short sighted. 2020-04-27T05:20:48Z verisimilitude: Also, if you want to deal in functional programming, also consider Scheme. 2020-04-27T05:20:56Z verisimilitude: I disagree with several of those here, yes. 2020-04-27T05:21:00Z MerlinTheWizard: I do. But I want to do stuff. 2020-04-27T05:21:11Z MerlinTheWizard: So it's CL for now. 2020-04-27T05:21:39Z p_l: MerlinTheWizard: there are some attempts to make "friendly" first contact website (for example, http://lisp-lang.org) but I think careful shepherding of Wikipedia might be of more benefit to people in first contact 2020-04-27T05:21:57Z dale quit (Quit: My computer has gone to sleep) 2020-04-27T05:22:08Z MerlinTheWizard: p_l, precisely. People need "hubs" so they can get started. 2020-04-27T05:22:25Z verisimilitude: I didn't need a ``hub''. 2020-04-27T05:22:43Z p_l: verisimilitude: great for you, Oh Great Gatekeeper 2020-04-27T05:22:44Z narimiran joined #lisp 2020-04-27T05:22:46Z verisimilitude: Or, at the least, I wouldn't look back on it like that. 2020-04-27T05:22:52Z MerlinTheWizard: LOL 2020-04-27T05:23:02Z saturn2: i think hubs are good 2020-04-27T05:23:03Z MerlinTheWizard: Admission of biased and skewed perspective. 2020-04-27T05:23:18Z MerlinTheWizard: A CL user thinks hubs are good? AMAZING! 2020-04-27T05:24:00Z frgo quit (Remote host closed the connection) 2020-04-27T05:24:12Z p_l: having a FAQ link in topic is, IMO, perfectly normal and could fulfill both easier ways to find #lisp (due to findability by web crawlers) as well as serve as good point to get people to jump further from 2020-04-27T05:24:31Z MerlinTheWizard: Yes, I agree. 2020-04-27T05:26:20Z saturn2: there aren't many rewards for creating beginner resources, i guess, without a source of capital that needs to grow the user base 2020-04-27T05:27:10Z frgo joined #lisp 2020-04-27T05:30:01Z emys joined #lisp 2020-04-27T05:30:48Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-27T05:31:50Z frgo quit (Ping timeout: 244 seconds) 2020-04-27T05:31:53Z jayde quit (Quit: too sleepy today) 2020-04-27T05:34:27Z Cymew joined #lisp 2020-04-27T05:38:54Z beach: So that was yet another "Here is what YOU should do to make Common Lisp more attractive". 2020-04-27T05:40:12Z verisimilitude: Oh, that happens often here? 2020-04-27T05:40:28Z beach: Regularly, but perhaps not often. 2020-04-27T05:40:28Z no-defun-allowed: Infrequently (or when I'm asleep and haven't checked the logs), yes. 2020-04-27T05:40:36Z verisimilitude: How amusing. 2020-04-27T05:41:54Z emys quit (Ping timeout: 260 seconds) 2020-04-27T05:42:28Z beach: They all claim some deep understanding as to why Common Lisp is not more popular, and it is always a single issue that is easy to fix if the person in charge would just put in a little more work. 2020-04-27T05:44:25Z beach: And, of course, they all assume that Common Lisp popularity is the main goal for everyone here, and that we are all quite puzzled as to why it is not more popular. 2020-04-27T05:45:24Z verisimilitude: While entertaining here, I'm glad to be free of such ignorance in my usual venue. 2020-04-27T05:46:22Z verisimilitude: Not a single language I know has me caring about anyone else using it. 2020-04-27T05:46:45Z verisimilitude: This is probably inconceivable for plenty of inexperienced newcomers. 2020-04-27T05:47:08Z gravicappa joined #lisp 2020-04-27T05:47:12Z verisimilitude: Just today I saw some idiot claiming everyone must copy and paste code from Stack Overflow. 2020-04-27T05:47:44Z no-defun-allowed: "How did they make Stack Overflow without using Stack Overflow?" but in an actually funny context. 2020-04-27T05:48:04Z verisimilitude: Oh, that was an actual question on the site? 2020-04-27T05:49:00Z verisimilitude: Imagine deriving any ego from programming, and then just copying and pasting or gluing together other people's code. 2020-04-27T05:49:18Z no-defun-allowed: No, it's just a joke that is repeated quite frequently in "mainstream" programming humour places; up there with having most-positive-fixnum compiler errors and trying to balance parens. 2020-04-27T05:49:40Z verisimilitude: Oh, alright. Stack Overflow can be a decent source of entertainment with such questions. 2020-04-27T05:49:58Z no-defun-allowed: I'm sure someone asked that, though. 2020-04-27T05:50:21Z p_l: beach: I felt it more as interested newbie, if little harsh at edges, asking based on something they found lacking 2020-04-27T05:50:26Z verisimilitude: My favorite is the C++ programmer whose family tree invariants were violated by incest. 2020-04-27T05:50:48Z no-defun-allowed: Wow. 2020-04-27T05:51:04Z verisimilitude: Oh, unaware; care for the link? 2020-04-27T05:51:59Z verisimilitude: https://stackoverflow.com/questions/6163683 2020-04-27T05:52:11Z no-defun-allowed: I meant that I haven't actually seen it, but it's likely someone asked that out of the however many questions that have been asked. 2020-04-27T05:53:00Z terpri joined #lisp 2020-04-27T05:53:10Z emys joined #lisp 2020-04-27T05:53:35Z brutalist quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-27T05:53:42Z beach: p_l: You mean MerlinTheWizard? Sure, but instead of humility, we often see this behavior, insisting that WE fix things so that the obvious problems of similar newbies will disappear. 2020-04-27T05:55:19Z frgo joined #lisp 2020-04-27T05:55:34Z p_l: beach: I didn't read it as "insisting that we do it" but asking if it wouldn't be useful. The discussion immediately derailed with push that not only it's not useful, it should be abhorred because 2020-04-27T05:55:58Z p_l: and this spiraled in vicious cycle further 2020-04-27T06:03:03Z buffergn0me quit (Quit: ERC (IRC client for Emacs 26.2)) 2020-04-27T06:03:17Z no-defun-allowed: How long should my lightning talk be? 2020-04-27T06:03:21Z shangul quit (Ping timeout: 244 seconds) 2020-04-27T06:03:39Z verisimilitude: What's a lightning talk; I take it by the name it's intended to be quick. 2020-04-27T06:04:19Z verisimilitude: If this is the only consideration, then I'd make it as short as I could, no-defun-allowed. 2020-04-27T06:04:23Z no-defun-allowed: A format of presentation that ELS has, which is pretty short. 2020-04-27T06:04:45Z no-defun-allowed: Someone suggested that I could write one for this year, given that it will be presented online. 2020-04-27T06:05:21Z beach: no-defun-allowed: 5 minutes max I think. 2020-04-27T06:05:25Z emys quit (Ping timeout: 244 seconds) 2020-04-27T06:05:33Z phoe: yes, a hard limit of 5 minutes 2020-04-27T06:05:40Z phoe: also good morning 2020-04-27T06:05:45Z no-defun-allowed: Got it. 2020-04-27T06:05:53Z p_l: no-defun-allowed: target 2 minutes 2020-04-27T06:05:54Z verisimilitude: Oh, that's right, conventions are being shuttered now; yes, considering this, make it as short as possible, no-defun-allowed. 2020-04-27T06:06:13Z p_l: the remaining 3 will be eaten by technical issues and/or heckling 2020-04-27T06:06:21Z verisimilitude: If you make the shortest one with useful information, it's an achievement. 2020-04-27T06:06:25Z no-defun-allowed: I see. 2020-04-27T06:06:41Z p_l: no-defun-allowed: especially given the broadcast nature of this year's ELS 2020-04-27T06:06:41Z phoe: verisimilitude: it's weird to hear "conventions are being shuttered" about something that has been going on unchanged for at least several ELSes 2020-04-27T06:06:58Z verisimilitude: Was this always an online event? 2020-04-27T06:07:10Z beach: No, first time. 2020-04-27T06:07:12Z shangul joined #lisp 2020-04-27T06:07:13Z p_l: my normal methods of estimation quickly go into negative time for lightning talks 2020-04-27T06:07:35Z verisimilitude: Why would it be strange to read, then? 2020-04-27T06:08:30Z beach: What do you mean? 2020-04-27T06:08:51Z verisimilitude: I ask phoe, to clarify. 2020-04-27T06:09:00Z emys joined #lisp 2020-04-27T06:09:50Z phoe: oh, you mean *that* sort of conventions - sorry, don't mind me, I'm waking up 2020-04-27T06:09:53Z beach: verisimilitude: phoe is just saying that 5-minute lightning talks have been a feature of ELS for many year. Perhaps since the beginning. 2020-04-27T06:10:11Z phoe: while also trying to read the sad stuff in the chat log up there 2020-04-27T06:10:12Z verisimilitude: Oh, I see the misunderstanding now. 2020-04-27T06:10:47Z verisimilitude: I referred to events and he practices, yes. 2020-04-27T06:10:58Z no-defun-allowed: Great, this looks like a ten-minute presentation so far. 2020-04-27T06:11:37Z verisimilitude: What's the topic? 2020-04-27T06:11:37Z beach: :( 2020-04-27T06:12:19Z no-defun-allowed: verisimilitude: I'm trying to give a high level introduction to my Netfarm distributed object system. It took me two minutes to explain the aim and the centralised/federated/distributed terms, which is 1/5 of my presentation. 2020-04-27T06:13:11Z verisimilitude: I suppose I can see why shortening that would be difficult. 2020-04-27T06:14:51Z beach: no-defun-allowed: The trick is to realize that you don't have to provide all the information. 2020-04-27T06:18:29Z cyberoctopi is now known as iAmDecim 2020-04-27T06:18:33Z _paul0 quit (Remote host closed the connection) 2020-04-27T06:18:53Z paul0 joined #lisp 2020-04-27T06:19:26Z terpri quit (Quit: Leaving) 2020-04-27T06:21:15Z emys quit (Ping timeout: 240 seconds) 2020-04-27T06:21:52Z MerlinTheWizard joined #lisp 2020-04-27T06:23:19Z terpri joined #lisp 2020-04-27T06:23:29Z no-defun-allowed: 8:20 for the whole presentation. 2020-04-27T06:24:29Z no-defun-allowed: beach: Yeah, I want to mention the "distributed hash table", "object system", "script machine" and some of the "other stuff" with some examples and definitions, which is tricky. 2020-04-27T06:24:50Z no-defun-allowed: It wouldn't be nice to throw new terms without explaining them at the audience though. 2020-04-27T06:25:36Z phoe: this certainly seems more like a full-size talk then 2020-04-27T06:26:22Z no-defun-allowed: Dammit. 2020-04-27T06:26:44Z shka_ joined #lisp 2020-04-27T06:26:57Z phoe: if anything, I'd do a lightning talk that only shows the examples and the most important practical parts *without* introducing the new terms at all - "I have several networked computers, if I do this on one computer, then this thing pops up on all these computers" three or four times 2020-04-27T06:27:12Z no-defun-allowed: Sure. 2020-04-27T06:27:25Z phoe: and/or do a full size 25-minute talk that actually explains the theoretical basics and then performs the examples 2020-04-27T06:28:12Z phoe: and/or just record this stuff and throw it at the ELS mailing list and Reddit; in a way, we have ELS all year long this year due to the current pandemic circumstances 2020-04-27T06:28:28Z no-defun-allowed: Right then. 2020-04-27T06:28:48Z easye chants "ELS ... All ... Year" 2020-04-27T06:29:26Z verisimilitude: An obvious suggestion is heavily compressing all of your sentences, no-defun-allowed. 2020-04-27T06:29:54Z verisimilitude: That could be bothersome to actually listen to, however. 2020-04-27T06:30:20Z phoe: verisimilitude: I tried that with my first ELS lightning talk ever 2020-04-27T06:30:25Z phoe: the effect was poor 2020-04-27T06:31:01Z phoe: I can't therefore really recommend it; human listening and understanding bandwidth isn't good enough for compression to be really viable 2020-04-27T06:32:02Z phoe: easye: every day is lisp day™ 2020-04-27T06:32:18Z verisimilitude: Using a language such as Lojban isn't an option, yes. 2020-04-27T06:32:27Z no-defun-allowed: Okay, I dropped the less interesting parts and it should be shorter now. 2020-04-27T06:33:11Z beach: no-defun-allowed: It's the hard part of any talk, knowing what not to say. 2020-04-27T06:33:11Z phoe: verisimilitude: neither is gzipping the stream of data you present and leaving uncompressing it as an exercise for the reader, or *even* just speaking faster 2020-04-27T06:36:23Z Shinmera: no-defun-allowed: Lightning talks traditionally are '5 minutes, and if you go one second more, Didier kills you live on stage' 2020-04-27T06:36:36Z no-defun-allowed: Haha, I'm immortal now! 2020-04-27T06:37:15Z verisimilitude: Hello, Shinmera. 2020-04-27T06:37:38Z verisimilitude: My notes on that dns-client were noticed, right? 2020-04-27T06:39:02Z Shinmera: Yeah 2020-04-27T06:39:07Z random-nick joined #lisp 2020-04-27T06:39:17Z Shinmera: Not doing anything about it at the moment though. 2020-04-27T06:40:15Z verisimilitude: I've further notes on that DECODE-HOST; I'd use DPB and LDB instead of your subtraction by a binary constant and I'd simplify it by making the increment conditional; the only reason I understand what that constant did was because I've read some of the DNS documents. 2020-04-27T06:40:56Z Shinmera: Sure. I just copied another implementation because I was in a hurry. 2020-04-27T06:41:17Z verisimilitude: Alright. 2020-04-27T06:42:16Z emys joined #lisp 2020-04-27T06:42:42Z verisimilitude: I don't want to unduly criticize, but the special variables specifically for Google and Cloudflare DNS servers is something I'd never write. 2020-04-27T06:42:47Z Bourne joined #lisp 2020-04-27T06:45:01Z no-defun-allowed: 7:00 now. If I extrapolate this, it should take me about 2 more takes to get it under 5 minutes. 2020-04-27T06:45:55Z Shinmera: you can just... not use them if you don't like them. 2020-04-27T06:46:14Z verisimilitude: Well, I'm going to write my own DNS library anyway; it's simply my final note on it. 2020-04-27T06:46:20Z Shinmera: no-defun-allowed: don't speak too fast, though... 2020-04-27T06:46:30Z Shinmera shrugs 2020-04-27T06:47:11Z SGASAU quit (Remote host closed the connection) 2020-04-27T06:47:20Z no-defun-allowed cuts out more stuff 2020-04-27T06:47:54Z SGASAU joined #lisp 2020-04-27T06:49:53Z orivej joined #lisp 2020-04-27T06:49:54Z barodaret quit (Read error: Connection reset by peer) 2020-04-27T06:52:06Z jprajzne joined #lisp 2020-04-27T06:54:40Z no-defun-allowed: 5:30 now. Maybe I can speak a tad faster. 2020-04-27T06:54:57Z verisimilitude: Remove any greetings. 2020-04-27T06:55:06Z beach: I don't think it will be rejected at that length. 2020-04-27T06:55:14Z orivej quit (Ping timeout: 260 seconds) 2020-04-27T06:55:23Z frgo quit (Remote host closed the connection) 2020-04-27T06:55:38Z emys quit (Ping timeout: 260 seconds) 2020-04-27T06:55:39Z heisig joined #lisp 2020-04-27T06:55:47Z beach: ... especially since there seem to be relatively few lightning talks today. 2020-04-27T06:56:03Z no-defun-allowed: Hm, I don't want to find out what the online equivalent of being killed live on stage is, nor take too long given the circumstances. 2020-04-27T06:56:04Z frgo joined #lisp 2020-04-27T06:56:19Z beach: I understand. 2020-04-27T06:56:27Z phoe: Didier used to get killed himself during one of his talks that went for, like, six and half a minute 2020-04-27T06:56:35Z verisimilitude: Just look at what happened to RMS, no-defun-allowed. 2020-04-27T06:56:37Z phoe: and look he's still around to organize ELS this year 2020-04-27T06:57:49Z Shinmera: Being dead ain't stopped nobody before 2020-04-27T06:58:49Z beach: Yeah, being alive is overrated anyway. 2020-04-27T06:58:58Z verisimilitude: I don't even like being alive. 2020-04-27T07:01:20Z frgo quit (Remote host closed the connection) 2020-04-27T07:02:15Z iAmDecim quit (Ping timeout: 240 seconds) 2020-04-27T07:02:59Z no-defun-allowed: Right, now it's pretty short. I can probably cut out :30 removing my stuttering. 2020-04-27T07:04:26Z beach: no-defun-allowed: Are you aiming for today or tomorrow (UTC+2) for your lightning talk? 2020-04-27T07:04:52Z no-defun-allowed: I'm not sure, I just need to do some quick editing now. 2020-04-27T07:05:15Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-27T07:05:20Z beach: It doesn't matter much I guess. Shinmera will fit it in when he can. 2020-04-27T07:05:56Z emys joined #lisp 2020-04-27T07:07:45Z iAmDecim joined #lisp 2020-04-27T07:10:16Z verisimilitude: What will Shinmera give a talk on? 2020-04-27T07:10:24Z Shinmera: nothing. 2020-04-27T07:10:28Z Shinmera: I'm organising. 2020-04-27T07:10:37Z phoe: How To Organize ELS Over the Internet: A Practical Approach 2020-04-27T07:10:42Z beach: Heh! 2020-04-27T07:10:44Z Shinmera: step 1: despair 2020-04-27T07:10:59Z beach: A lightning talk should be long enough for that, right? :) 2020-04-27T07:11:02Z emys quit (Ping timeout: 260 seconds) 2020-04-27T07:11:20Z Shinmera: Either that, or it's a life long experience :V 2020-04-27T07:11:35Z MerlinTheWizard joined #lisp 2020-04-27T07:12:08Z rwcom quit (Quit: The Lounge - https://thelounge.chat) 2020-04-27T07:12:28Z beach: MerlinTheWizard: You may find that today and tomorrow (UTC+2) many people here are busy attending the online ELS conference. 2020-04-27T07:13:00Z terpri quit (Remote host closed the connection) 2020-04-27T07:13:37Z terpri joined #lisp 2020-04-27T07:13:43Z no-defun-allowed: Right, it's rendering now. 2020-04-27T07:18:20Z emys joined #lisp 2020-04-27T07:20:56Z duncan_ joined #lisp 2020-04-27T07:22:57Z mwgkgk quit (Quit: Connection closed for inactivity) 2020-04-27T07:26:30Z emys quit (Ping timeout: 260 seconds) 2020-04-27T07:27:38Z Oladon quit (Quit: Leaving.) 2020-04-27T07:30:39Z frgo joined #lisp 2020-04-27T07:31:51Z v_m_v joined #lisp 2020-04-27T07:33:53Z emys joined #lisp 2020-04-27T07:35:18Z frgo quit (Ping timeout: 260 seconds) 2020-04-27T07:45:08Z emys quit (Ping timeout: 244 seconds) 2020-04-27T07:45:39Z nika joined #lisp 2020-04-27T07:51:44Z catalinbostan quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-27T07:52:25Z emys joined #lisp 2020-04-27T07:52:27Z pve joined #lisp 2020-04-27T07:56:59Z emys quit (Ping timeout: 265 seconds) 2020-04-27T08:02:06Z Lycurgus joined #lisp 2020-04-27T08:11:32Z pjb joined #lisp 2020-04-27T08:14:12Z Aurora_v_kosmose quit (Remote host closed the connection) 2020-04-27T08:14:23Z rgherdt quit (Ping timeout: 265 seconds) 2020-04-27T08:14:50Z Aurora_v_kosmose joined #lisp 2020-04-27T08:16:55Z shka_ quit (Ping timeout: 246 seconds) 2020-04-27T08:17:04Z shka_ joined #lisp 2020-04-27T08:17:15Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-27T08:17:55Z shifty joined #lisp 2020-04-27T08:22:46Z varjag joined #lisp 2020-04-27T08:26:14Z Blkt quit (Quit: No Ping reply in 180 seconds.) 2020-04-27T08:27:30Z Blkt joined #lisp 2020-04-27T08:31:41Z iAmDecim quit (Quit: WeeChat 2.8) 2020-04-27T08:32:20Z gjnoonan quit (Ping timeout: 272 seconds) 2020-04-27T08:32:59Z gjnoonan joined #lisp 2020-04-27T08:33:42Z HiRE quit (Quit: Later) 2020-04-27T08:34:32Z HiRE joined #lisp 2020-04-27T08:37:52Z interruptinuse quit (Quit: ZNC - https://znc.in -- bye bye!) 2020-04-27T08:38:04Z interruptinuse joined #lisp 2020-04-27T08:39:15Z easieste joined #lisp 2020-04-27T08:45:22Z easieste quit (Ping timeout: 260 seconds) 2020-04-27T08:48:41Z Necktwi quit (Ping timeout: 244 seconds) 2020-04-27T08:51:36Z ljavorsk joined #lisp 2020-04-27T08:52:32Z Toto33 joined #lisp 2020-04-27T08:56:37Z toorevitimirp joined #lisp 2020-04-27T08:58:44Z frgo joined #lisp 2020-04-27T09:00:36Z toorevitimirp quit (Remote host closed the connection) 2020-04-27T09:01:24Z toorevitimirp joined #lisp 2020-04-27T09:03:09Z frgo quit (Ping timeout: 244 seconds) 2020-04-27T09:05:11Z eagleflo quit (Remote host closed the connection) 2020-04-27T09:07:31Z Toto33 quit (Remote host closed the connection) 2020-04-27T09:07:41Z dmiles quit (Read error: Connection reset by peer) 2020-04-27T09:07:48Z msk quit (Ping timeout: 244 seconds) 2020-04-27T09:09:29Z pjb quit (Ping timeout: 265 seconds) 2020-04-27T09:10:30Z shangul quit (Ping timeout: 260 seconds) 2020-04-27T09:10:35Z dmiles joined #lisp 2020-04-27T09:11:22Z eagleflo joined #lisp 2020-04-27T09:15:22Z karlosz quit (Quit: karlosz) 2020-04-27T09:19:40Z toorevitimirp quit (Remote host closed the connection) 2020-04-27T09:21:02Z frgo joined #lisp 2020-04-27T09:25:47Z soul11201 joined #lisp 2020-04-27T09:30:44Z soul11201 quit (Remote host closed the connection) 2020-04-27T09:31:04Z soul11201 joined #lisp 2020-04-27T09:33:29Z Zakkor joined #lisp 2020-04-27T09:34:51Z orivej joined #lisp 2020-04-27T09:38:39Z sroh joined #lisp 2020-04-27T09:41:25Z Lycurgus quit (Remote host closed the connection) 2020-04-27T09:41:45Z Fare quit (Ping timeout: 240 seconds) 2020-04-27T09:42:00Z pjb joined #lisp 2020-04-27T09:44:07Z bendersteed joined #lisp 2020-04-27T09:49:23Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-04-27T09:54:26Z eagleflo quit (Remote host closed the connection) 2020-04-27T09:54:32Z Bourne quit (Read error: Connection reset by peer) 2020-04-27T09:58:12Z eagleflo joined #lisp 2020-04-27T09:59:39Z pjb quit (Ping timeout: 272 seconds) 2020-04-27T10:02:26Z dilated_dinosaur joined #lisp 2020-04-27T10:03:46Z easye: Marco's talk broke the Internet... 2020-04-27T10:04:09Z beach: Looks that way. 2020-04-27T10:04:17Z phoe: the amazing initial on the S letter was too much for the stream 2020-04-27T10:04:31Z easye: It is a very cool graphic riffing off the book, indeed. 2020-04-27T10:04:39Z phoe: as a calligrapher myself, I just burst into laughter 2020-04-27T10:13:12Z Gnuxie[m]: will we get to watch the talks after broadcast? my connection is too poor for the quality twitch is offering 2020-04-27T10:13:37Z beach: Yes, I am told they will be on the ELS site. 2020-04-27T10:14:26Z Gnuxie[m]: nice 2020-04-27T10:15:57Z Shinmera: Gnuxie[m]: https://twitch.tv/elsconf/videos/ 2020-04-27T10:16:25Z Shinmera: should be able to download the VODs, too. 2020-04-27T10:19:42Z Gnuxie[m]: Shinmera: thank you :) 2020-04-27T10:22:21Z v_m_v quit 2020-04-27T10:31:37Z milanj joined #lisp 2020-04-27T10:32:45Z terpri quit (Ping timeout: 240 seconds) 2020-04-27T10:36:22Z xantoz quit (Read error: Connection reset by peer) 2020-04-27T10:37:42Z Krystof: right, streaming at 1080p means I have to be very close to our router (and my wife must not be on a simultaneous call) 2020-04-27T10:37:52Z Krystof: I'm getting the gist of the talks though :-) 2020-04-27T10:38:22Z Shinmera: It's less the resolution, and more the bitrate. I thought twitch would offer rescaling options like it usually does, but they're not on for whatever reason. 2020-04-27T10:39:43Z easye: Krystof: if you have a tablet, I think there is a "Twitch App" which might do optimizations. 2020-04-27T10:40:08Z frgo quit (Remote host closed the connection) 2020-04-27T10:40:19Z mgr_: but the image quality is nice and shiny when it works :) 2020-04-27T10:40:39Z phoe: it's also nice and shiny when it doesn't work, except then also it doesn't move 2020-04-27T10:40:45Z frgo joined #lisp 2020-04-27T10:40:50Z Krystof: Shinmera: I think you have to be a "partner" for your viewers to get options 2020-04-27T10:41:15Z easye: Other than Marco's gorgeous presentation, 1080p has been mostly unneeded. 2020-04-27T10:41:17Z Shinmera: Possible that they changed that, but I thought my usual stream also got them. 2020-04-27T10:41:30Z Shinmera: and I'm not partnered 2020-04-27T10:43:32Z MichaelRaskin: It seems to be true that for a given target bitrate, higher starting resolution gives better results… 2020-04-27T10:44:14Z MichaelRaskin: But Shinmera did not even have enough wall-clock time between getting the videos and putting them up to recode anything 2020-04-27T10:44:25Z narimiran quit (Ping timeout: 244 seconds) 2020-04-27T10:46:26Z easye: Well, we could maybe get Krystof to give us a MAP/REDUCE instance to recode. 2020-04-27T10:46:48Z easye: (not a serious suggestion) 2020-04-27T10:46:56Z Krystof: *phew* :) 2020-04-27T10:48:54Z Shinmera: MichaelRaskin: I downloaded the last video for today this morning... 2020-04-27T10:49:21Z Krystof: that is entirely consistent with my usual timetable for writing slides 2020-04-27T10:49:58Z MichaelRaskin: Shinmera: even if it were yesterday, still not enough time in practice to recode… 2020-04-27T10:53:26Z Bourne joined #lisp 2020-04-27T10:55:51Z scymtym__ joined #lisp 2020-04-27T10:55:52Z cpape: Is a audio-only mode possible? My bandwidth is too limited for the 1080. 2020-04-27T10:57:26Z scymtym_ quit (Ping timeout: 260 seconds) 2020-04-27T10:58:49Z scymtym__ quit (Client Quit) 2020-04-27T10:59:02Z scymtym joined #lisp 2020-04-27T10:59:09Z sroh quit (Read error: Connection reset by peer) 2020-04-27T10:59:27Z milanj quit (Quit: This computer has gone to sleep) 2020-04-27T11:02:48Z emys joined #lisp 2020-04-27T11:03:37Z xantoz joined #lisp 2020-04-27T11:06:20Z Krystof: speaking as someone who has been a local organizer for a conference - I think the fact that we have anything at all in the way of ELS, let alone something that is as good as this is pretty cool 2020-04-27T11:06:27Z Shinmera: MichaelRaskin: yes, plus, as I said, I was doing this on the assumption that there would be live reencodes for people with worse connections. 2020-04-27T11:06:40Z Krystof: and even when my video cuts out, getting the twitch chat is great :) 2020-04-27T11:06:40Z Shinmera: Krystof: I think so too 2020-04-27T11:09:24Z luis: Shinmera: yes, thanks for this! 2020-04-27T11:09:26Z cpape: It is great, yes, thank you Shinmera! I follow the chat; will watch the videos async. 2020-04-27T11:24:48Z scymtym quit (Quit: ERC (IRC client for Emacs 28.0.50)) 2020-04-27T11:25:24Z Lord_of_Life_ joined #lisp 2020-04-27T11:25:45Z Lord_of_Life quit (Ping timeout: 240 seconds) 2020-04-27T11:26:33Z Lord_of_Life_ quit (Excess Flood) 2020-04-27T11:27:24Z shangul joined #lisp 2020-04-27T11:27:29Z Lord_of_Life joined #lisp 2020-04-27T11:27:52Z scymtym joined #lisp 2020-04-27T11:29:24Z Bike joined #lisp 2020-04-27T11:29:29Z phoe: (incf Shinmera) 2020-04-27T11:32:11Z monokrom joined #lisp 2020-04-27T11:40:18Z ljavorsk quit (Ping timeout: 260 seconds) 2020-04-27T11:45:57Z jmercouris: (decf Shinmera) 2020-04-27T11:46:12Z Bike: wow, rude. 2020-04-27T11:46:26Z White_Flame: (setf Shinmera #c(1 1)) 2020-04-27T11:46:33Z jmercouris: I'm just bringing Shinmera back to its original value 2020-04-27T11:47:09Z phoe: (complex-incf Shinmera) 2020-04-27T11:47:18Z EvW joined #lisp 2020-04-27T11:47:27Z jmercouris: (setf Shinmera (- 1 (+ 1 Shinmera))) 2020-04-27T11:47:27Z hiroaki joined #lisp 2020-04-27T11:47:51Z phoe: so you basically tumble him around for a moment and then set him back in his place 2020-04-27T11:47:54Z phoe: hmm 2020-04-27T11:47:57Z no-defun-allowed: (my-utility-library-that-totally-exists:overwrite-instance Shinmera (class-prototype (class-of Shinmera))) 2020-04-27T11:48:58Z phoe: watch out, he might have some unbound slots now 2020-04-27T11:49:13Z phoe: (reinitialize-instance Shinmera) 2020-04-27T11:49:27Z no-defun-allowed: My overwrite-instance checks for unbound slots, because I was bitten by not checking a few minutes after I wrote it the first time. 2020-04-27T11:49:39Z phoe: ooh, okay 2020-04-27T11:49:57Z jmercouris: the thing is this though 2020-04-27T11:50:02Z jmercouris: shinmera is an integer 2020-04-27T11:50:25Z Shinmera: everything is with the right indexing. 2020-04-27T11:50:37Z no-defun-allowed: In that case, shouldn't (- 1 (+ 1 #)) just create a new Shinmera + 1 and then a new Shinmera + 1 - 1 2020-04-27T11:51:04Z no-defun-allowed: (line 13 of netfarm/Code/Objects/MOP/rewrite-references.lisp) 2020-04-27T11:58:02Z heisig quit (Ping timeout: 260 seconds) 2020-04-27T11:59:57Z luis: This is not the kind of discussion we'd be having face to face, I don't think. :) 2020-04-27T12:00:15Z jmercouris: error : not bound in the keyword package 2020-04-27T12:01:55Z bjorkintosh quit (Read error: Connection reset by peer) 2020-04-27T12:03:06Z flip214: Can I download the ELS talks, or are they only available as a live-stream? 2020-04-27T12:03:20Z phoe: flip214: they should be available for download 2020-04-27T12:05:30Z SGASAU quit (Remote host closed the connection) 2020-04-27T12:05:36Z bendersteed quit (Remote host closed the connection) 2020-04-27T12:05:54Z bendersteed joined #lisp 2020-04-27T12:06:21Z SGASAU joined #lisp 2020-04-27T12:06:37Z flip214: don't see how to download in twitch right now 2020-04-27T12:06:44Z flip214: but perhaps I'll find it later on 2020-04-27T12:07:22Z phoe: flip214: it's available for streaming https://www.twitch.tv/videos/603969430 and will likely be made downloadable soon 2020-04-27T12:07:39Z phoe: AFAIR it requires some toggles in Twitch settingsd 2020-04-27T12:07:50Z emys quit (Ping timeout: 265 seconds) 2020-04-27T12:08:21Z Shinmera: you should be able to use youtube-dl to download the vods 2020-04-27T12:09:00Z roelj joined #lisp 2020-04-27T12:13:10Z soul11201 quit (Read error: Connection reset by peer) 2020-04-27T12:15:56Z emys joined #lisp 2020-04-27T12:16:17Z narimiran joined #lisp 2020-04-27T12:18:56Z gabiruh quit (Ping timeout: 256 seconds) 2020-04-27T12:19:56Z jdz: I'm using mpv to watch the stream (it uses youtube-dl underneath). 2020-04-27T12:20:32Z jdz: At least then I can pause and then watch at increased speed to catch up. 2020-04-27T12:21:20Z jdz: Hardware accelerated video (on Linux) as a bonus. 2020-04-27T12:25:35Z gabiruh joined #lisp 2020-04-27T12:27:15Z emys quit (Ping timeout: 240 seconds) 2020-04-27T12:31:08Z emys joined #lisp 2020-04-27T12:36:27Z flip214: Shinmera: youtube-dl needs a link to the video, but it doesn't seem possible to click on already-done streams? 2020-04-27T12:37:02Z Shinmera: Hm? First part: https://www.twitch.tv/videos/603969430 2020-04-27T12:37:10Z Shinmera: Current part: https://www.twitch.tv/videos/604032328 2020-04-27T12:38:56Z nika quit (Read error: Connection reset by peer) 2020-04-27T12:38:56Z ChantalZale joined #lisp 2020-04-27T12:39:06Z flip214: Oh, right... thanks. I don't see very well today, I tried clicking on TOC items in the livestream! 2020-04-27T12:39:35Z nika joined #lisp 2020-04-27T12:39:50Z Shinmera: There should be a link to 'videos' at the top of the stream page that gets you to the list of recordings. 2020-04-27T12:41:07Z ChantalZale quit (Client Quit) 2020-04-27T12:41:45Z flip214: yeah, found it after seeing your links... looked harder ;) 2020-04-27T12:42:24Z Shinmera: No problem :) 2020-04-27T12:46:48Z bendersteed quit (Read error: Connection reset by peer) 2020-04-27T12:47:21Z cosimone joined #lisp 2020-04-27T12:49:43Z zmt01 joined #lisp 2020-04-27T12:51:56Z ljavorsk joined #lisp 2020-04-27T12:52:45Z zmt00 quit (Ping timeout: 240 seconds) 2020-04-27T12:55:02Z amerlyq joined #lisp 2020-04-27T13:03:13Z dddddd joined #lisp 2020-04-27T13:03:19Z emys quit (Ping timeout: 272 seconds) 2020-04-27T13:05:08Z mangul joined #lisp 2020-04-27T13:07:32Z shangul quit (Ping timeout: 244 seconds) 2020-04-27T13:10:51Z emys joined #lisp 2020-04-27T13:12:42Z shifty quit (Ping timeout: 260 seconds) 2020-04-27T13:13:01Z shifty joined #lisp 2020-04-27T13:26:13Z makomo joined #lisp 2020-04-27T13:26:32Z akoana left #lisp 2020-04-27T13:26:55Z makomo: hello! 2020-04-27T13:28:25Z phoe: heyy 2020-04-27T13:29:05Z makomo: emacs reminded me that elsconf 2020 starts today :') 2020-04-27T13:29:13Z makomo: sadly i missed the "omnipresent application debugging" and "sealable metaobjects" talks 2020-04-27T13:29:42Z makomo: i assume all of the talks will be uploaded online after the broadcasts right? 2020-04-27T13:29:47Z MichaelRaskin: Well, there are recordings on the video tab 2020-04-27T13:29:51Z MichaelRaskin: On Twitch 2020-04-27T13:30:28Z makomo: oo, i forgot to check! 2020-04-27T13:30:35Z flip214: makomo: you need to click on the small "videos" header, top center 2020-04-27T13:30:46Z makomo: that's great :D 2020-04-27T13:30:53Z heisig joined #lisp 2020-04-27T13:30:58Z makomo: thanks :) 2020-04-27T13:31:04Z flip214: https://www.twitch.tv/elsconf/clips?filter=clips&range=24hr 2020-04-27T13:31:51Z makomo afk 2020-04-27T13:32:02Z emys quit (Ping timeout: 258 seconds) 2020-04-27T13:33:25Z bitmapper joined #lisp 2020-04-27T13:36:31Z emys joined #lisp 2020-04-27T13:38:16Z Kundry_Wag joined #lisp 2020-04-27T13:38:21Z Aurora_v_kosmose quit (Quit: Пока, мир.) 2020-04-27T13:38:24Z bitmapper: it taunts me https://franz.com/support/6.2/download/download.lhtml 2020-04-27T13:40:25Z Aurora_v_kosmose joined #lisp 2020-04-27T13:40:57Z Shinmera: flip214: clips are not the recordings! 2020-04-27T13:41:07Z efm quit (Ping timeout: 244 seconds) 2020-04-27T13:42:09Z beach: bitmapper: What seems to be the problem? 2020-04-27T13:42:17Z bitmapper: the links no longer work 2020-04-27T13:42:18Z gko joined #lisp 2020-04-27T13:42:49Z Kundry_Wag quit (Remote host closed the connection) 2020-04-27T13:43:42Z shifty quit (Ping timeout: 244 seconds) 2020-04-27T13:45:28Z Kundry_Wag joined #lisp 2020-04-27T13:47:31Z phoe: still the IRIX issue? 2020-04-27T13:48:48Z bitmapper: yeah lol 2020-04-27T13:49:01Z bitmapper: i've tried ECL and CMUCL, but neither work 2020-04-27T13:49:05Z bitmapper: and clisp, is 2020-04-27T13:49:06Z bitmapper: well 2020-04-27T13:49:07Z bitmapper: clisp 2020-04-27T13:50:34Z twelvemonkeys quit (Ping timeout: 260 seconds) 2020-04-27T13:50:37Z nullman quit (Ping timeout: 264 seconds) 2020-04-27T13:51:39Z ahungry joined #lisp 2020-04-27T13:52:11Z twelvemonkeys joined #lisp 2020-04-27T13:53:30Z emys quit (Ping timeout: 265 seconds) 2020-04-27T13:55:03Z patlv joined #lisp 2020-04-27T13:55:07Z emys joined #lisp 2020-04-27T13:56:03Z corpix quit (Ping timeout: 240 seconds) 2020-04-27T13:57:45Z corpix joined #lisp 2020-04-27T13:57:48Z luis: D'oh. ELS schedule is UTC+2. *facepalm* 2020-04-27T13:58:51Z phoe: luis: the talks are recorded, thankfully 2020-04-27T13:59:05Z phoe: except this time they're recorded by Twitch itself so they are also instantly available 2020-04-27T13:59:29Z pjb joined #lisp 2020-04-27T13:59:51Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-27T13:59:54Z easye: Everything is working pretty smoothly. 2020-04-27T14:00:01Z ArthurStrong joined #lisp 2020-04-27T14:01:29Z MichaelRaskin: phoe: well, Twitch _input_ is pre-recorded talks 2020-04-27T14:03:06Z flip214: Records in - records out.... 2020-04-27T14:03:11Z ljavorsk quit (Ping timeout: 260 seconds) 2020-04-27T14:09:36Z dyelar joined #lisp 2020-04-27T14:11:36Z Inline joined #lisp 2020-04-27T14:21:56Z emys quit (Ping timeout: 244 seconds) 2020-04-27T14:24:12Z lxbarbosa joined #lisp 2020-04-27T14:26:26Z emys joined #lisp 2020-04-27T14:29:56Z cylb joined #lisp 2020-04-27T14:32:03Z dale_ joined #lisp 2020-04-27T14:32:28Z dale_ is now known as dale 2020-04-27T14:38:08Z schjetne joined #lisp 2020-04-27T14:40:02Z emys quit (Ping timeout: 260 seconds) 2020-04-27T14:45:56Z anlsh joined #lisp 2020-04-27T14:46:44Z cosimone quit (Ping timeout: 244 seconds) 2020-04-27T14:48:06Z rippa joined #lisp 2020-04-27T14:52:19Z cosimone joined #lisp 2020-04-27T14:53:36Z okflo joined #lisp 2020-04-27T14:55:51Z MerlinTheWizard joined #lisp 2020-04-27T15:00:26Z ahungry quit (Remote host closed the connection) 2020-04-27T15:03:22Z okflo quit (Quit: WeeChat 2.8) 2020-04-27T15:12:26Z rgherdt joined #lisp 2020-04-27T15:23:09Z Shinmera: First day of ELS is over, phew! 2020-04-27T15:23:21Z Shinmera: For those that missed it, you can catch up here: https://twitch.tv/elsconf/videos/all 2020-04-27T15:23:31Z jfrancis joined #lisp 2020-04-27T15:23:42Z Shinmera: Or, actually a better link: https://www.twitch.tv/elsconf/videos?filter=archives&sort=time 2020-04-27T15:26:40Z beach: Great work, Shinmera. 2020-04-27T15:27:53Z phoe: very much amazing, yes 2020-04-27T15:34:16Z EvW quit (Ping timeout: 244 seconds) 2020-04-27T15:34:23Z Shinmera: Thank you! 2020-04-27T15:34:27Z makomo: Shinmera: good stuff! :) 2020-04-27T15:35:53Z EvW joined #lisp 2020-04-27T15:40:04Z travv0: looking forward to watching later 2020-04-27T15:49:03Z emys joined #lisp 2020-04-27T15:57:10Z elflng joined #lisp 2020-04-27T15:57:26Z Cymew quit (Ping timeout: 260 seconds) 2020-04-27T15:57:54Z emys quit (Ping timeout: 260 seconds) 2020-04-27T16:01:29Z Lycurgus joined #lisp 2020-04-27T16:04:10Z emys joined #lisp 2020-04-27T16:08:05Z rgherdt quit (Remote host closed the connection) 2020-04-27T16:12:59Z amerlyq quit (Quit: amerlyq) 2020-04-27T16:13:08Z splittist: Very well done Shinmera and presenters 2020-04-27T16:13:23Z akoana joined #lisp 2020-04-27T16:13:29Z thodg joined #lisp 2020-04-27T16:13:54Z thodg: hello 2020-04-27T16:13:56Z luckless joined #lisp 2020-04-27T16:14:05Z cgay: What's the relationship between ultralisp.org and quicklisp? "Ultralisp is a quicklisp distribution, which updates every 5 minutes" Does that mean it has the same stuff as quicklisp but it's updated more often? 2020-04-27T16:14:19Z thodg: you can push your own projects from github 2020-04-27T16:14:25Z phoe: cgay: quicklisp is actually two things 2020-04-27T16:14:34Z phoe: the first is quicklisp client, which is a piece of lisp stuff you run to download things 2020-04-27T16:14:48Z phoe: the second is quicklisp dist, which is a set of Lisp software updated ~once a month 2020-04-27T16:14:54Z phoe: the main quicklisp dist updates once a month 2020-04-27T16:15:13Z phoe: the main ultralisp dist updates on every change pushed to any of the ultralisp git projects 2020-04-27T16:15:28Z phoe: so it's "stable" versus "bleeding edge" 2020-04-27T16:15:41Z cgay: i see, thanks! 2020-04-27T16:16:42Z q-u-a-n23 joined #lisp 2020-04-27T16:16:45Z EvW quit (Ping timeout: 240 seconds) 2020-04-27T16:17:34Z ralt: the important thing about quicklisp dist is that all the dependencies are compiled together, i.e. the set of libraries in a given distribution are guaranteed to at least compile together with all the given versions 2020-04-27T16:17:43Z emys quit (Ping timeout: 265 seconds) 2020-04-27T16:18:13Z Inline quit (Remote host closed the connection) 2020-04-27T16:18:26Z phoe: and ultralisp makes no such guarantees 2020-04-27T16:19:15Z edgar-xyz joined #lisp 2020-04-27T16:19:23Z SGASAU` joined #lisp 2020-04-27T16:19:30Z roelj quit (Remote host closed the connection) 2020-04-27T16:19:34Z cgay: you mean they compile together without warnings, or what? because IME for Lisp code to "compile together" isn't a very strong guarantee. :) 2020-04-27T16:19:35Z housel: If it breaks you get to keep the pieces, as they say 2020-04-27T16:20:02Z cgay: :) 2020-04-27T16:20:15Z lonjil quit (Quit: No Ping reply in 180 seconds.) 2020-04-27T16:20:15Z Adamclisi quit (Ping timeout: 240 seconds) 2020-04-27T16:20:17Z phoe: cgay: they are loadable without ASDF going crazy 2020-04-27T16:20:18Z stepnem quit (Ping timeout: 260 seconds) 2020-04-27T16:20:20Z Shinmera: cgay: It means every system is loaded at least once before the dist is created. 2020-04-27T16:20:30Z Shinmera: each being loaded in its own fresh image. 2020-04-27T16:20:43Z gxt quit (Ping timeout: 240 seconds) 2020-04-27T16:20:46Z edgar-rft quit (Ping timeout: 244 seconds) 2020-04-27T16:20:49Z Shinmera: if errors happen during this, a bug is filed and the dist release delayed. 2020-04-27T16:20:52Z HDurer_ joined #lisp 2020-04-27T16:21:11Z stepnem joined #lisp 2020-04-27T16:21:14Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-04-27T16:21:14Z trittweiler quit (Ping timeout: 260 seconds) 2020-04-27T16:21:18Z froggey quit (Ping timeout: 256 seconds) 2020-04-27T16:21:24Z jprajzne quit (Ping timeout: 265 seconds) 2020-04-27T16:21:46Z duncan_ quit (Ping timeout: 260 seconds) 2020-04-27T16:21:48Z cmatei quit (Ping timeout: 244 seconds) 2020-04-27T16:21:59Z cgay: Tests? 2020-04-27T16:22:24Z lonjil joined #lisp 2020-04-27T16:22:34Z Shinmera: There's no standardised interface to run tests and get results from them, so they're not run. 2020-04-27T16:23:11Z gxt joined #lisp 2020-04-27T16:23:48Z emys joined #lisp 2020-04-27T16:23:53Z phoe: asdf:test-system attempted to be one, but even it admit that there's no standardization there 2020-04-27T16:23:54Z _heisig joined #lisp 2020-04-27T16:24:03Z jprajzne joined #lisp 2020-04-27T16:24:10Z roelj joined #lisp 2020-04-27T16:24:22Z Shinmera: it could have been one if it had taken the time to standardise the behaviour 2020-04-27T16:24:26Z Shinmera: oh well. 2020-04-27T16:25:58Z heisig quit (Ping timeout: 260 seconds) 2020-04-27T16:26:34Z thodg quit (*.net *.split) 2020-04-27T16:26:34Z Kundry_Wag quit (*.net *.split) 2020-04-27T16:26:34Z makomo quit (*.net *.split) 2020-04-27T16:26:34Z gabiruh quit (*.net *.split) 2020-04-27T16:26:34Z SGASAU quit (*.net *.split) 2020-04-27T16:26:35Z scymtym quit (*.net *.split) 2020-04-27T16:26:35Z whiteline quit (*.net *.split) 2020-04-27T16:26:35Z kamid quit (*.net *.split) 2020-04-27T16:26:35Z rixard quit (*.net *.split) 2020-04-27T16:26:35Z __jrjsmrtn__ quit (*.net *.split) 2020-04-27T16:26:35Z dtman34 quit (*.net *.split) 2020-04-27T16:26:36Z sjl quit (*.net *.split) 2020-04-27T16:26:36Z jackdaniel quit (*.net *.split) 2020-04-27T16:26:36Z HDurer quit (*.net *.split) 2020-04-27T16:26:36Z ck_ quit (*.net *.split) 2020-04-27T16:26:36Z Grue` quit (*.net *.split) 2020-04-27T16:26:36Z axion quit (*.net *.split) 2020-04-27T16:26:37Z Blukunfando quit (*.net *.split) 2020-04-27T16:26:37Z nchambers quit (*.net *.split) 2020-04-27T16:26:37Z q-u-a-n2 quit (*.net *.split) 2020-04-27T16:26:37Z scal_ quit (*.net *.split) 2020-04-27T16:26:37Z loli quit (*.net *.split) 2020-04-27T16:26:37Z jbgg quit (*.net *.split) 2020-04-27T16:26:37Z cracauer quit (*.net *.split) 2020-04-27T16:26:37Z fengshaun quit (*.net *.split) 2020-04-27T16:26:38Z copec quit (*.net *.split) 2020-04-27T16:26:38Z loke quit (*.net *.split) 2020-04-27T16:26:38Z pok quit (*.net *.split) 2020-04-27T16:26:38Z fiddlerwoaroof quit (*.net *.split) 2020-04-27T16:26:38Z brass quit (*.net *.split) 2020-04-27T16:26:38Z cg505 quit (*.net *.split) 2020-04-27T16:26:53Z heisig joined #lisp 2020-04-27T16:27:20Z Inline joined #lisp 2020-04-27T16:28:00Z ck_ joined #lisp 2020-04-27T16:28:02Z verisimilitude left #lisp 2020-04-27T16:28:27Z trittweiler joined #lisp 2020-04-27T16:28:28Z heisig quit (Client Quit) 2020-04-27T16:28:41Z duncan_ joined #lisp 2020-04-27T16:28:45Z cmatei joined #lisp 2020-04-27T16:28:49Z nchambers joined #lisp 2020-04-27T16:29:09Z fiddlerwoaroof joined #lisp 2020-04-27T16:29:10Z _heisig quit (Ping timeout: 260 seconds) 2020-04-27T16:30:03Z froggey joined #lisp 2020-04-27T16:30:41Z brass joined #lisp 2020-04-27T16:30:52Z Bike: what would a standard interface return? T for pass? NIL for pass and something else as a representation of failures? 2020-04-27T16:31:20Z phoe: Bike: primary value: true if everything is as expected, false if someone needs to take a look at the results 2020-04-27T16:31:41Z phoe: secondary value: test-dependent object that shows the test result(s) 2020-04-27T16:31:45Z Bike: mm. 2020-04-27T16:31:51Z thodg joined #lisp 2020-04-27T16:31:51Z Kundry_Wag joined #lisp 2020-04-27T16:31:51Z makomo joined #lisp 2020-04-27T16:31:51Z gabiruh joined #lisp 2020-04-27T16:31:51Z scymtym joined #lisp 2020-04-27T16:31:51Z whiteline joined #lisp 2020-04-27T16:31:51Z kamid joined #lisp 2020-04-27T16:31:51Z rixard joined #lisp 2020-04-27T16:31:51Z __jrjsmrtn__ joined #lisp 2020-04-27T16:31:51Z dtman34 joined #lisp 2020-04-27T16:31:51Z sjl joined #lisp 2020-04-27T16:31:51Z jackdaniel joined #lisp 2020-04-27T16:32:02Z phoe: that would work for me 2020-04-27T16:32:07Z Adamclisi joined #lisp 2020-04-27T16:32:44Z Grue` joined #lisp 2020-04-27T16:32:44Z axion joined #lisp 2020-04-27T16:32:44Z scal_ joined #lisp 2020-04-27T16:32:44Z loli joined #lisp 2020-04-27T16:32:44Z jbgg joined #lisp 2020-04-27T16:32:44Z cracauer joined #lisp 2020-04-27T16:32:44Z fengshaun joined #lisp 2020-04-27T16:32:44Z copec joined #lisp 2020-04-27T16:32:44Z loke joined #lisp 2020-04-27T16:32:44Z pok joined #lisp 2020-04-27T16:32:44Z cg505 joined #lisp 2020-04-27T16:34:12Z lonjil quit (Ping timeout: 244 seconds) 2020-04-27T16:34:42Z dilated_dinosaur joined #lisp 2020-04-27T16:38:08Z phoe: clhs ~[ 2020-04-27T16:38:08Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cgb.htm 2020-04-27T16:44:06Z gko quit (Ping timeout: 260 seconds) 2020-04-27T16:46:02Z gravicappa quit (Ping timeout: 260 seconds) 2020-04-27T16:46:13Z Lycurgus quit (Remote host closed the connection) 2020-04-27T16:46:21Z lonjil joined #lisp 2020-04-27T16:46:42Z rgherdt joined #lisp 2020-04-27T16:46:45Z gravicappa joined #lisp 2020-04-27T16:46:55Z shifty joined #lisp 2020-04-27T16:47:47Z jayde joined #lisp 2020-04-27T16:49:28Z Mawile quit (Quit: Leaving) 2020-04-27T16:49:43Z gxt quit (Quit: WeeChat 2.8) 2020-04-27T16:49:47Z Archenoth joined #lisp 2020-04-27T16:52:09Z nullman joined #lisp 2020-04-27T16:54:56Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-27T16:56:44Z EvW1 joined #lisp 2020-04-27T16:59:02Z schjetne quit (Ping timeout: 260 seconds) 2020-04-27T17:00:57Z scymtym_ joined #lisp 2020-04-27T17:02:06Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-27T17:02:16Z scymtym quit (Ping timeout: 246 seconds) 2020-04-27T17:03:34Z rixard quit (Remote host closed the connection) 2020-04-27T17:04:14Z rixard joined #lisp 2020-04-27T17:08:23Z Shinmera: Bike: you could go as far as standardising objects for test unit results. 2020-04-27T17:08:50Z rixard quit (Ping timeout: 260 seconds) 2020-04-27T17:13:03Z karlosz joined #lisp 2020-04-27T17:14:29Z karlosz quit (Client Quit) 2020-04-27T17:14:44Z karlosz joined #lisp 2020-04-27T17:16:27Z pfdietz joined #lisp 2020-04-27T17:16:45Z pfdietz: On the subject of test APIs, I have opinions. 2020-04-27T17:16:57Z phoe: please let me know it 2020-04-27T17:17:02Z phoe: s/it/them 2020-04-27T17:17:17Z cgay waits 2020-04-27T17:17:36Z pfdietz: It should be possible to decompose the test suite into individual tests that can be run separately. 2020-04-27T17:17:54Z shifty quit (Ping timeout: 256 seconds) 2020-04-27T17:18:09Z shifty joined #lisp 2020-04-27T17:18:27Z pfdietz: Results should include expected/unexpected passes and fails. That is, it should be possible to include tests that are expected to fail, without rendering the test suite failing. 2020-04-27T17:18:52Z pfdietz: There should be a standard way of reporting success/failure to ASDF. 2020-04-27T17:19:10Z emys quit (Ping timeout: 260 seconds) 2020-04-27T17:19:20Z phoe: I can wholeheartedly agree with this very last point 2020-04-27T17:20:15Z Adamclisi quit (Ping timeout: 240 seconds) 2020-04-27T17:20:15Z froggey quit (Ping timeout: 240 seconds) 2020-04-27T17:20:24Z dilated_dinosaur quit (Ping timeout: 256 seconds) 2020-04-27T17:20:39Z lonjil quit (Quit: No Ping reply in 180 seconds.) 2020-04-27T17:21:08Z pfdietz: There should be some sort of traceability between individual tests and parts of the system under test. This may not be part of the testing API per se, but I want to be able to answer questions like "to test X, run the tests in the set Y". 2020-04-27T17:21:26Z duncan_ quit (Ping timeout: 260 seconds) 2020-04-27T17:21:32Z cmatei quit (Ping timeout: 256 seconds) 2020-04-27T17:21:48Z lonjil joined #lisp 2020-04-27T17:21:54Z pfdietz: (asdf:test-system ) should load the tests if they are not already loaded. 2020-04-27T17:22:15Z phoe: pfdietz: you are already describing a unit test framework 2020-04-27T17:23:00Z pfdietz: There should be a way of describing how to generate tests. 2020-04-27T17:23:44Z emys joined #lisp 2020-04-27T17:24:03Z pfdietz: There should be a way to evaluate the adequacy of the tests. 2020-04-27T17:24:11Z scymtym__ joined #lisp 2020-04-27T17:24:46Z schjetne joined #lisp 2020-04-27T17:25:11Z pfdietz: I've been working on something for the latter that motivates some of those earlier points. 2020-04-27T17:26:12Z pfdietz: It's a mutation testing framework, something that mutates a function (or a set of methods) and runs tests against the mutated code. 2020-04-27T17:26:18Z karlosz quit (*.net *.split) 2020-04-27T17:26:18Z gravicappa quit (*.net *.split) 2020-04-27T17:26:18Z Grue` quit (*.net *.split) 2020-04-27T17:26:19Z axion quit (*.net *.split) 2020-04-27T17:26:19Z scal_ quit (*.net *.split) 2020-04-27T17:26:19Z loli quit (*.net *.split) 2020-04-27T17:26:19Z jbgg quit (*.net *.split) 2020-04-27T17:26:19Z cracauer quit (*.net *.split) 2020-04-27T17:26:19Z fengshaun quit (*.net *.split) 2020-04-27T17:26:20Z copec quit (*.net *.split) 2020-04-27T17:26:20Z loke quit (*.net *.split) 2020-04-27T17:26:20Z pok quit (*.net *.split) 2020-04-27T17:26:20Z cg505 quit (*.net *.split) 2020-04-27T17:26:20Z scymtym_ quit (*.net *.split) 2020-04-27T17:26:20Z nullman quit (*.net *.split) 2020-04-27T17:26:20Z thodg quit (*.net *.split) 2020-04-27T17:26:21Z Kundry_Wag quit (*.net *.split) 2020-04-27T17:26:21Z makomo quit (*.net *.split) 2020-04-27T17:26:21Z gabiruh quit (*.net *.split) 2020-04-27T17:26:21Z whiteline quit (*.net *.split) 2020-04-27T17:26:21Z kamid quit (*.net *.split) 2020-04-27T17:26:21Z __jrjsmrtn__ quit (*.net *.split) 2020-04-27T17:26:21Z dtman34 quit (*.net *.split) 2020-04-27T17:26:21Z sjl quit (*.net *.split) 2020-04-27T17:26:21Z jackdaniel quit (*.net *.split) 2020-04-27T17:26:30Z pfdietz: So, it needs a standardized way of determining if the tests passed. 2020-04-27T17:26:51Z pfdietz: It would benefit from only running the tests that exercise the mutated function/methods. 2020-04-27T17:28:20Z pfdietz: If tied with a test input generator, it could automatically look for inputs that kill mutants the test suite missed. This is beyond using that test input generator just for property based testing for properties derived from requirements. 2020-04-27T17:28:36Z duncan_ joined #lisp 2020-04-27T17:28:47Z edgar-xyz quit (Quit: Leaving) 2020-04-27T17:28:51Z dilated_dinosaur joined #lisp 2020-04-27T17:29:31Z froggey joined #lisp 2020-04-27T17:29:34Z karlosz joined #lisp 2020-04-27T17:29:34Z gravicappa joined #lisp 2020-04-27T17:29:34Z Grue` joined #lisp 2020-04-27T17:29:34Z axion joined #lisp 2020-04-27T17:29:34Z scal_ joined #lisp 2020-04-27T17:29:34Z loli joined #lisp 2020-04-27T17:29:34Z jbgg joined #lisp 2020-04-27T17:29:34Z cracauer joined #lisp 2020-04-27T17:29:34Z fengshaun joined #lisp 2020-04-27T17:29:34Z copec joined #lisp 2020-04-27T17:29:34Z loke joined #lisp 2020-04-27T17:29:34Z pok joined #lisp 2020-04-27T17:29:34Z cg505 joined #lisp 2020-04-27T17:29:38Z cmatei joined #lisp 2020-04-27T17:29:42Z nullman joined #lisp 2020-04-27T17:29:42Z thodg joined #lisp 2020-04-27T17:29:42Z Kundry_Wag joined #lisp 2020-04-27T17:29:42Z makomo joined #lisp 2020-04-27T17:29:42Z gabiruh joined #lisp 2020-04-27T17:29:42Z whiteline joined #lisp 2020-04-27T17:29:42Z kamid joined #lisp 2020-04-27T17:29:42Z __jrjsmrtn__ joined #lisp 2020-04-27T17:29:42Z dtman34 joined #lisp 2020-04-27T17:29:42Z sjl joined #lisp 2020-04-27T17:29:42Z jackdaniel joined #lisp 2020-04-27T17:30:02Z __jrjsmrtn__ quit (Max SendQ exceeded) 2020-04-27T17:30:02Z dtman34 quit (Max SendQ exceeded) 2020-04-27T17:30:41Z edgar-rft joined #lisp 2020-04-27T17:31:46Z pfdietz: I would like the suite to be multithreaded, or execute in multiple processes, if possible. 2020-04-27T17:32:06Z Adamclisi joined #lisp 2020-04-27T17:32:18Z dtman34 joined #lisp 2020-04-27T17:32:22Z pfdietz: I would like it to tell me how long individual tests take to run. 2020-04-27T17:32:47Z pfdietz: (That's important in the mutation tester, so a timeout can be set to detect looping in the mutants.) 2020-04-27T17:33:22Z phoe: this has escalated quickly from the point where we said that it's hard for ASDF to know if the test suite for a given project ran successfully or not 2020-04-27T17:33:33Z pfdietz: Yes, I have needs. :) 2020-04-27T17:33:41Z msk joined #lisp 2020-04-27T17:34:12Z pfdietz: I' 2020-04-27T17:34:32Z pfdietz: I'm driven here by a lack of adequate testing in many ql systems. 2020-04-27T17:35:45Z pfdietz: I want something that can check how well or poorly a system is tested, and help mass produce new tests if more are needed. 2020-04-27T17:35:52Z edgar-rft quit (Quit: Leaving) 2020-04-27T17:36:51Z edgar-rft joined #lisp 2020-04-27T17:37:20Z Shinmera: https://twitter.com/Shinmera/status/1254825458241286144 2020-04-27T17:38:23Z rixard joined #lisp 2020-04-27T17:39:59Z flip214: ugh, 13.4 GB for one of the ELS videos... 2020-04-27T17:40:03Z cgay: pfdietz: i am in favor of all the things on your list. what do you mean exactly by "there should be a way of describing how to generate tests"? 2020-04-27T17:40:12Z flip214: 13.7 even 2020-04-27T17:40:45Z Shinmera: cgay: I presume a grammar of sorts that can be randomly instantiated to create a valid test form. 2020-04-27T17:41:02Z Shinmera: Something I have been thinking about for Parachute, though not much yet. 2020-04-27T17:41:23Z Shinmera: flip214: I'm streaming at about 6Mbps, so yeah, it adds up quick. 2020-04-27T17:41:56Z pfdietz: What he said. 2020-04-27T17:42:11Z Shinmera: I'll probably lower it to 4Mbps for tomorrow in hopes it'll help for people with worse internet. 2020-04-27T17:42:32Z pfdietz: This would be used for two things. First, you can express a property of some function, then bombard it with random inputs and see if the property is ever violated. 2020-04-27T17:42:56Z flip214: Shinmera: I'd have hoped to find videos of individual talks... and perhaps in different sizes and/or compression formats 2020-04-27T17:42:58Z rixard quit (Ping timeout: 260 seconds) 2020-04-27T17:43:21Z Shinmera: someone has to put in the work for that. 2020-04-27T17:43:24Z pfdietz: Second, it can be used with some metric of coverage to generate test inputs that improve that metric. This is useful even if you don't have an oracle that tells you if the output is correct. 2020-04-27T17:43:35Z flip214: and while I'm posting wishes, why not include a slides+voice video channel as well? 2020-04-27T17:43:50Z Shinmera: eh? 2020-04-27T17:44:10Z Bike: the live ended, what, like a couple hours ago? these sound like things that take time even whe someone is actually doing them 2020-04-27T17:44:11Z flip214: Shinmera: I'm well aware of that. And we all (me, at the very least!) are very grateful to you! 2020-04-27T17:44:21Z __jrjsmrtn__ joined #lisp 2020-04-27T17:45:30Z Inline quit (Ping timeout: 265 seconds) 2020-04-27T17:45:30Z flip214: well, I haven't looked at the videos yet... but at that size I guess there are not that many slide pictures and more persons talking 2020-04-27T17:46:10Z edgar-rft quit (Quit: Leaving) 2020-04-27T17:46:18Z flip214: slides (as still pictures) plus a bit of sound can't be _that_ big, right? 2020-04-27T17:47:11Z Bike: would that not depend on the video compression 2020-04-27T17:47:56Z efm joined #lisp 2020-04-27T17:47:59Z MichaelRaskin: There seems to be no good video format for vector graphics + voice 2020-04-27T17:48:47Z flip214: well, the vector graphics shouldn't really matter - just put still pictures in every few seconds, won't take that much bandwidth 2020-04-27T17:49:31Z edgar-rft joined #lisp 2020-04-27T17:49:40Z flip214: MichaelRaskin: animated gif .... or animated SVG.... or just PDFs of the slides that can be clicked-through along to an audio-only stream 2020-04-27T17:49:57Z MichaelRaskin: PDFs are … getting there 2020-04-27T17:50:00Z sjl_ joined #lisp 2020-04-27T17:50:37Z MichaelRaskin: Note that it is not BigBlueButton where you would have a recording of slide change times + audio, here Shinmera receives videos as input 2020-04-27T17:51:04Z bitmapper: i contacted lispworks support, they said no to getting a version that will work on IRIX 2020-04-27T17:51:09Z bitmapper: hmm 2020-04-27T17:51:22Z MichaelRaskin: (and synchronised seek through SVG animation + audio is not a well-supported task in modern software, as far as I know) 2020-04-27T17:52:46Z frgo_ joined #lisp 2020-04-27T17:53:23Z CrazyPython joined #lisp 2020-04-27T17:54:48Z frgo quit (Ping timeout: 244 seconds) 2020-04-27T17:55:05Z KDr24 joined #lisp 2020-04-27T17:56:30Z KDr23 quit (Ping timeout: 260 seconds) 2020-04-27T17:58:16Z thodg quit (Remote host closed the connection) 2020-04-27T18:00:03Z karlosz quit (Quit: karlosz) 2020-04-27T18:01:08Z heisig joined #lisp 2020-04-27T18:05:17Z Kundry_Wag quit (Remote host closed the connection) 2020-04-27T18:05:46Z Kundry_Wag joined #lisp 2020-04-27T18:06:18Z mangul quit (Ping timeout: 260 seconds) 2020-04-27T18:07:07Z man213 joined #lisp 2020-04-27T18:10:25Z man213_ joined #lisp 2020-04-27T18:13:55Z karlosz joined #lisp 2020-04-27T18:17:02Z emys quit (Ping timeout: 260 seconds) 2020-04-27T18:17:52Z frgo joined #lisp 2020-04-27T18:18:43Z EvW1 quit (Ping timeout: 272 seconds) 2020-04-27T18:19:37Z rand_t joined #lisp 2020-04-27T18:19:58Z frgo_ quit (Ping timeout: 246 seconds) 2020-04-27T18:20:14Z edgar-rft quit (Ping timeout: 260 seconds) 2020-04-27T18:20:15Z Adamclisi quit (Ping timeout: 240 seconds) 2020-04-27T18:20:34Z froggey quit (Ping timeout: 240 seconds) 2020-04-27T18:20:42Z duncan_ quit (Ping timeout: 260 seconds) 2020-04-27T18:21:15Z cmatei quit (Ping timeout: 240 seconds) 2020-04-27T18:21:16Z jprajzne quit (Ping timeout: 265 seconds) 2020-04-27T18:21:42Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-04-27T18:21:52Z jprajzne joined #lisp 2020-04-27T18:23:45Z CrazyPython quit (Ping timeout: 240 seconds) 2020-04-27T18:25:17Z frgo_ joined #lisp 2020-04-27T18:25:50Z man213 quit (Ping timeout: 260 seconds) 2020-04-27T18:26:15Z frgo quit (Ping timeout: 240 seconds) 2020-04-27T18:26:54Z edgar-rft joined #lisp 2020-04-27T18:28:48Z duncan_ joined #lisp 2020-04-27T18:29:19Z schjetne quit (Remote host closed the connection) 2020-04-27T18:29:34Z efm quit (Quit: Konversation terminated!) 2020-04-27T18:29:38Z schjetne joined #lisp 2020-04-27T18:29:42Z dilated_dinosaur joined #lisp 2020-04-27T18:29:58Z froggey joined #lisp 2020-04-27T18:30:38Z cmatei joined #lisp 2020-04-27T18:31:27Z man213 joined #lisp 2020-04-27T18:32:03Z Adamclisi joined #lisp 2020-04-27T18:32:48Z EvW joined #lisp 2020-04-27T18:34:26Z rixard joined #lisp 2020-04-27T18:38:19Z Fare joined #lisp 2020-04-27T18:39:50Z rixard quit (Ping timeout: 260 seconds) 2020-04-27T18:40:33Z rixard joined #lisp 2020-04-27T18:40:48Z milanj joined #lisp 2020-04-27T18:41:17Z |Pirx| joined #lisp 2020-04-27T18:44:55Z rixard quit (Ping timeout: 244 seconds) 2020-04-27T18:45:54Z man213 quit (Ping timeout: 260 seconds) 2020-04-27T18:49:37Z ym quit (Quit: Leaving) 2020-04-27T18:50:10Z hiroaki quit (Ping timeout: 260 seconds) 2020-04-27T18:51:27Z pve: pfdietz: this mutation testing sounds interesting.. do you know if it is widely used? 2020-04-27T18:55:39Z pfdietz: It was invented decades ago (in Lisp!) but was mostly in fringe things like flight control software until recently. Now Google is using it as input to code reviews. 2020-04-27T18:56:52Z MerlinTheWizard joined #lisp 2020-04-27T18:56:55Z pfdietz: https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/46584.pdf 2020-04-27T19:00:23Z pve: thanks, super interesting 2020-04-27T19:01:38Z pve: there's no lisp testing framework that does that now, right? 2020-04-27T19:01:43Z brutalist joined #lisp 2020-04-27T19:02:02Z pfdietz: Well, none that's been made public yet. I have a prototype working. 2020-04-27T19:02:42Z hiroaki joined #lisp 2020-04-27T19:06:07Z Aurora_v_kosmose: How does mutation testing differ from formal modeling? 2020-04-27T19:06:20Z Aurora_v_kosmose: (Haven't read the linked paper, busy) 2020-04-27T19:06:50Z pve: and your prototype will become public at some point? 2020-04-27T19:06:55Z markasoftware: a lisp code optimizer could be written as a macro, right? 2020-04-27T19:06:59Z pfdietz: Very different. It's basically a way of estimating the adequacy of a test suite. 2020-04-27T19:07:06Z phoe: markasoftware: yes, although it *should* be written as a compiler macro instead. 2020-04-27T19:07:19Z phoe: Or, if possible, as an inlineable function. 2020-04-27T19:07:21Z Aurora_v_kosmose: pfdietz: Oh I see. That sounds like a rather different goal. 2020-04-27T19:07:34Z pfdietz: It's testing of testing. 2020-04-27T19:07:34Z markasoftware: is a compiler macro just a macro that's part of the compiler? 2020-04-27T19:07:53Z phoe: you can define a compiler macro for a function, that's a difference. 2020-04-27T19:07:58Z phoe: you can't do the same with standard macros. 2020-04-27T19:07:59Z shifty quit (Ping timeout: 260 seconds) 2020-04-27T19:08:01Z Aurora_v_kosmose: pfdietz: Ah, got it. Thanks. 2020-04-27T19:08:13Z Bike: it is not a macro that's part of the compiler, though the compiler can use them. 2020-04-27T19:08:13Z shifty joined #lisp 2020-04-27T19:09:17Z saturn2: a compiler macro is only for optimizing a function call though, not any lisp code in general 2020-04-27T19:12:49Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-27T19:13:34Z gigetoo quit (Ping timeout: 240 seconds) 2020-04-27T19:15:26Z pfdietz quit (Remote host closed the connection) 2020-04-27T19:15:36Z markasoftware: do you mainly write compiler macros for your own functions? 2020-04-27T19:16:03Z pfdietz joined #lisp 2020-04-27T19:16:05Z makomo quit (Quit: WeeChat 2.7.1) 2020-04-27T19:16:50Z leo_song quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-04-27T19:16:54Z saturn2: yes 2020-04-27T19:17:06Z leo_song joined #lisp 2020-04-27T19:17:18Z markasoftware: What power does it give you that you wouldn't get from just writing your original function in a more performant way? 2020-04-27T19:17:21Z karlosz quit (Quit: karlosz) 2020-04-27T19:18:10Z SAL9000: special-casing based on arguments 2020-04-27T19:18:29Z SAL9000: (or global state) 2020-04-27T19:18:34Z phoe: compile-time type inference 2020-04-27T19:19:49Z MerlinTheWizard joined #lisp 2020-04-27T19:20:04Z edgar-rft: Common Lisp - build with alien technology and tested by mutants 2020-04-27T19:22:28Z markasoftware: ah i see 2020-04-27T19:22:30Z markasoftware: thank you! 2020-04-27T19:24:04Z man213 joined #lisp 2020-04-27T19:27:51Z man213 quit (Client Quit) 2020-04-27T19:29:00Z gigetoo joined #lisp 2020-04-27T19:29:15Z clintm joined #lisp 2020-04-27T19:29:28Z clintm quit (Changing host) 2020-04-27T19:29:28Z clintm joined #lisp 2020-04-27T19:30:07Z cgay: I've found examples of define-compiler-macro for collection-related facilities (remove, find, etc.). They basically transform those calls at compile time into more efficient internal calls that don't use keyword arguments. 2020-04-27T19:31:25Z pve: pfdietz: in that paper, lisp has a suspiciously low survival rate (1%).. what could explain it? (they don't seem to give an explanation) 2020-04-27T19:31:27Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-27T19:33:15Z pfdietz: If I had to guess, they might already have been testing their lisp code very well. 2020-04-27T19:33:16Z Xach: markasoftware: i have used it to convert n-ary functions to their simpler binary equivalents 2020-04-27T19:34:19Z pve: that would certainly explain it 2020-04-27T19:35:29Z clintm quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-27T19:35:49Z clintm joined #lisp 2020-04-27T19:35:49Z clintm quit (Changing host) 2020-04-27T19:35:49Z clintm joined #lisp 2020-04-27T19:36:17Z milanj quit (Quit: This computer has gone to sleep) 2020-04-27T19:45:47Z buffergn0me joined #lisp 2020-04-27T19:48:45Z jonatack quit (Ping timeout: 240 seconds) 2020-04-27T19:54:36Z pfdietz quit (Ping timeout: 240 seconds) 2020-04-27T19:59:01Z schjetne quit (Ping timeout: 264 seconds) 2020-04-27T20:04:32Z karlosz joined #lisp 2020-04-27T20:05:10Z karlosz quit (Client Quit) 2020-04-27T20:05:25Z karlosz joined #lisp 2020-04-27T20:05:48Z Jesin quit (Quit: Leaving) 2020-04-27T20:06:38Z narimiran quit (Ping timeout: 260 seconds) 2020-04-27T20:08:44Z lxbarbosa quit (Remote host closed the connection) 2020-04-27T20:13:16Z shka_ quit (Ping timeout: 244 seconds) 2020-04-27T20:15:04Z efm joined #lisp 2020-04-27T20:15:54Z Jesin joined #lisp 2020-04-27T20:16:31Z brutalist quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2020-04-27T20:16:53Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-27T20:17:02Z nika quit 2020-04-27T20:17:34Z anlsh left #lisp 2020-04-27T20:17:49Z MerlinTheWizard joined #lisp 2020-04-27T20:18:45Z dilated_dinosaur quit (Ping timeout: 240 seconds) 2020-04-27T20:19:15Z duncan_ quit (Ping timeout: 240 seconds) 2020-04-27T20:19:51Z |3b|: Xach: can zpb-exif parse exif data from an octet buffer or similar? (without having a containing jpeg, trying to add exif support to pngload) 2020-04-27T20:19:57Z phoe quit (Ping timeout: 260 seconds) 2020-04-27T20:20:01Z Adamclisi quit (Ping timeout: 246 seconds) 2020-04-27T20:20:02Z froggey quit (Ping timeout: 246 seconds) 2020-04-27T20:20:49Z Xach: |3b|: the existing functionality is all stream-oriented 2020-04-27T20:21:09Z Xach: and pretty jpeg-oriented too...do pngs have exif data?? 2020-04-27T20:21:22Z |3b|: there is an extension to add it 2020-04-27T20:21:26Z Xach: i haven't looked at the code in quite a while 2020-04-27T20:21:34Z phoe joined #lisp 2020-04-27T20:21:41Z |3b|: ok, will poke at it and see if it can be added easily 2020-04-27T20:22:08Z |3b|: can dump it in a flexistream or something if needed, just need to be able to start it at the right point in parsing 2020-04-27T20:24:39Z karlosz: i have to join the choir and praise heisig's presentation theme 2020-04-27T20:27:46Z duncan_ joined #lisp 2020-04-27T20:29:05Z brutalist joined #lisp 2020-04-27T20:29:21Z froggey joined #lisp 2020-04-27T20:29:52Z z147 joined #lisp 2020-04-27T20:30:14Z choegusung joined #lisp 2020-04-27T20:31:19Z msk quit (Remote host closed the connection) 2020-04-27T20:31:58Z Adamclisi joined #lisp 2020-04-27T20:32:04Z tburdick joined #lisp 2020-04-27T20:32:04Z tburdick quit (Client Quit) 2020-04-27T20:32:31Z dilated_dinosaur joined #lisp 2020-04-27T20:33:01Z X-Scale` joined #lisp 2020-04-27T20:33:03Z phoe: I mean, it's inspiring enough for fan art to pop up already, so 2020-04-27T20:33:10Z tburdick joined #lisp 2020-04-27T20:33:19Z tburdick quit (Client Quit) 2020-04-27T20:33:27Z Shinmera: wha 2020-04-27T20:33:28Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-27T20:33:35Z X-Scale` is now known as X-Scale 2020-04-27T20:33:39Z phoe: wha 2020-04-27T20:34:45Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-27T20:35:10Z schjetne joined #lisp 2020-04-27T20:35:24Z xkapastel joined #lisp 2020-04-27T20:35:40Z Shinmera: what do you mean fan art 2020-04-27T20:35:47Z phoe: https://www.reddit.com/r/LispMemes/comments/g98thv/els2020_fan_art/ 2020-04-27T20:35:51Z phoe: obviously 2020-04-27T20:35:59Z Shinmera: I don't reddit, so 2020-04-27T20:36:03Z Shinmera: looking neat tho 2020-04-27T20:36:33Z Bike: oh, it's like the AMOP cover. cute. 2020-04-27T20:36:47Z phoe: I posted it once on twitch chat during a lunch break but might have easily been missed 2020-04-27T20:37:11Z Shinmera: I did miss that yes 2020-04-27T20:39:06Z milanj joined #lisp 2020-04-27T20:39:52Z z147 quit (Quit: z147) 2020-04-27T20:40:14Z schjetne quit (Ping timeout: 260 seconds) 2020-04-27T20:42:24Z phoe: there should be a special ELS prize for providing aesthetic input for the conference 2020-04-27T20:43:20Z phoe: right now I am torn between heisig raising the bar for the quality of the visual medium and Shinmera defining the quality of the European Lisp Symposium OST 2020-04-27T20:43:34Z Shinmera: lol 2020-04-27T20:43:42Z karlosz: what is the type? is it a german or gothic one? 2020-04-27T20:43:45Z selwyn: chill beats to lisp to 2020-04-27T20:47:06Z Lycurgus joined #lisp 2020-04-27T20:47:14Z femi quit (Ping timeout: 265 seconds) 2020-04-27T20:49:38Z MerlinTheWizard joined #lisp 2020-04-27T20:52:26Z tburdick joined #lisp 2020-04-27T20:52:43Z heisig blushes 2020-04-27T20:52:54Z tburdick quit (Remote host closed the connection) 2020-04-27T20:53:13Z tburdick joined #lisp 2020-04-27T20:53:27Z phoe: karlosz: neither, it's my custom invention that shamelessly mixes gothic texture, fraktur, humanist minuscule and a few other stuff into one rather freeform writing style 2020-04-27T20:53:35Z phoe: that's already #lispcafe matter though 2020-04-27T20:53:41Z tburdick quit (Remote host closed the connection) 2020-04-27T20:53:42Z heisig quit (Quit: Leaving) 2020-04-27T20:53:43Z |3b|: Xach: does https://github.com/3b/zpb-exif/commit/cbb9e6df4a7b8c0a5f5dba618a631c440e0206c5 look like something acceptable? (assuming it works etc, not tested yet) 2020-04-27T20:53:59Z tburdick joined #lisp 2020-04-27T20:54:13Z femi joined #lisp 2020-04-27T20:54:28Z tburdick quit (Remote host closed the connection) 2020-04-27T20:54:44Z tburdick joined #lisp 2020-04-27T20:55:10Z shifty quit (Ping timeout: 260 seconds) 2020-04-27T20:55:14Z tburdick quit (Remote host closed the connection) 2020-04-27T20:55:22Z phoe: that IGNORE-ERRORS is stingy 2020-04-27T20:55:31Z tburdick joined #lisp 2020-04-27T20:55:36Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-27T20:55:46Z Blukunfando joined #lisp 2020-04-27T20:55:52Z Bike: is in the original code tho. 2020-04-27T20:55:56Z phoe: yep 2020-04-27T20:55:57Z shifty joined #lisp 2020-04-27T20:56:01Z tburdick quit (Remote host closed the connection) 2020-04-27T20:56:15Z tburdick joined #lisp 2020-04-27T20:56:43Z zulu-inuoe_ joined #lisp 2020-04-27T20:56:48Z tburdick quit (Remote host closed the connection) 2020-04-27T20:57:34Z |3b|: yeah, CL lacks some "will this work without trying it?" predicates :/ 2020-04-27T20:58:06Z Xach: |3b|: looks good 2020-04-27T20:58:25Z |3b|: ok, will send a PR if it actually works :) 2020-04-27T20:59:01Z |3b|: hopefully we should have pngload/pngload-fast mess sorted out in time for next month's QL 2020-04-27T20:59:37Z |3b|: should work on pretty much anything (currently missing clasp, but planning to look at that soon) 2020-04-27T20:59:59Z |3b|: (and opticl doesn't use it there anyway, i think) 2020-04-27T21:00:16Z Xach: clasp! 2020-04-27T21:00:50Z zulu-inuoe quit (Ping timeout: 260 seconds) 2020-04-27T21:00:51Z Shinmera: speaking of clasp, it has been catching up really nicely on https://portability.cl/ 2020-04-27T21:01:41Z |3b|: ok, maybe not /anything/, i haven't tested on corman, jscl, mkcl, mocl or sicl :) 2020-04-27T21:01:49Z Shinmera: genera? :) 2020-04-27T21:01:58Z |3b|: or that 2020-04-27T21:02:11Z phoe: corman is actually alive nowadays, so might be possible to test on that 2020-04-27T21:02:12Z Shinmera: can't forget about scl and xcl! 2020-04-27T21:02:34Z Shinmera: or gcl 2020-04-27T21:02:35Z Xach: i wish scieneer was still doing stuff 2020-04-27T21:02:39Z phoe: scl is dead 2020-04-27T21:02:41Z phoe: sadly 2020-04-27T21:02:50Z phoe: .....also, isn't xcl just ABCL now? 2020-04-27T21:03:08Z p_l: wasn't xcl this weird fork of ecl that died immediately? 2020-04-27T21:03:20Z Xach: no 2020-04-27T21:03:21Z phoe: that's mankai common lisp though 2020-04-27T21:03:32Z Xach: xcl was by piso, iirc 2020-04-27T21:04:05Z Xach: i think of xcl every time i see a sign that says "piso mojado" 2020-04-27T21:04:09Z Shinmera: xcl was a c++ thingy, if I remember correctly? 2020-04-27T21:04:24Z jonatack joined #lisp 2020-04-27T21:04:36Z Xach: Yes - it came out of some older lisp 2020-04-27T21:04:56Z pfdietz joined #lisp 2020-04-27T21:05:27Z |3b|: https://github.com/3b/pngload/actions/runs/89437841 is what we have automatic tests for, + manual tests on x86 sbcl, mezzano, and lw 2020-04-27T21:06:02Z |3b|: (though the ccl and ccl32 there are actually sbcl, since roswell got confused by ccl package names and i didn't add a workaround in hopes it would be fixed soon) 2020-04-27T21:06:13Z Shinmera: |3b|: what about allegro? 2020-04-27T21:06:20Z axion: by we he means me also :) 2020-04-27T21:06:32Z axion: Allegro is in the actgions link above 2020-04-27T21:06:33Z Lycurgus: how complete is clasp as a cl at this point if current sbcl was 100%? 2020-04-27T21:06:37Z |3b|: Shinmera: thats in the CI 2020-04-27T21:06:47Z Shinmera: oh. I missed it, my bad 2020-04-27T21:06:49Z Shinmera is tired 2020-04-27T21:07:10Z Shinmera: Lycurgus: it's quite complete features wise, but still has rough edges 2020-04-27T21:07:15Z |3b|: and they are looking at the bug pngload found (which apparently only affects linux express edition, not windows or full version) 2020-04-27T21:07:17Z pfdietz: I liked the presentations, except when lips got out of sync with the sound. Uncanny valley. 2020-04-27T21:07:28Z schjetne joined #lisp 2020-04-27T21:07:40Z Lycurgus: Shinmera, so equivalent use wise to sbcl? 2020-04-27T21:07:59Z |3b| will probably add clasp to the CI once it works and i build some binaries the CI can use 2020-04-27T21:08:35Z |3b|: and windows ccl once ros figures out how to load it again, since i think 1.12 has the fix for windows hangs 2020-04-27T21:08:40Z Shinmera: Lycurgus: I don't know what you mean by that 2020-04-27T21:08:47Z Lycurgus: eg, I would say sbcl was 70% of acl to talk in a very loose manner 2020-04-27T21:08:59Z Shinmera: I still don't know what that means 2020-04-27T21:09:11Z Lycurgus: k 2020-04-27T21:10:05Z pve quit (Quit: leaving) 2020-04-27T21:10:35Z Lycurgus will wait for fewer "rough edges" 2020-04-27T21:12:56Z SGASAU` quit (Remote host closed the connection) 2020-04-27T21:13:39Z SGASAU` joined #lisp 2020-04-27T21:14:24Z Oskidosw joined #lisp 2020-04-27T21:14:26Z Oskidosw quit (K-Lined) 2020-04-27T21:14:46Z Dreaskeity joined #lisp 2020-04-27T21:14:50Z Dreaskeity left #lisp 2020-04-27T21:15:06Z milanj quit (Quit: Leaving) 2020-04-27T21:22:29Z ChanServ has set mode +o p_l 2020-04-27T21:22:57Z p_l: Preventive censorship commencing 2020-04-27T21:23:13Z p_l has set mode +m 2020-04-27T21:23:39Z p_l: (yes, fresh spam masquerading as freenode server ops) 2020-04-27T21:23:54Z p_l: Xach: same as last time, just without telling you to login to efnet 2020-04-27T21:24:51Z p_l: I hope I did the right mode this time (/mode #lisp +m $-a 2020-04-27T21:27:02Z p_l has set mode -m 2020-04-27T21:27:46Z tburdick joined #lisp 2020-04-27T21:28:40Z Cairn[m] joined #lisp 2020-04-27T21:29:15Z p_l: /mode #lisp +q $~a should work... dunno how I mixed up tilde and minus 2020-04-27T21:30:36Z Cairn[m]: Anyone have a set of timestamps for the ELS recording? 2020-04-27T21:31:06Z Cairn[m]: Or will I just have to be patient for the videos to be uploaded? 2020-04-27T21:31:53Z p_l: Cairn[m]: the vids should already be available as separate clips on twitch 2020-04-27T21:33:12Z SGASAU` quit (Remote host closed the connection) 2020-04-27T21:33:31Z p_l: ehhh, I seem to fail at twitch ultimately, they aren't 2020-04-27T21:33:35Z p_l: it just looked like it 2020-04-27T21:34:10Z SGASAU` joined #lisp 2020-04-27T21:34:50Z Cairn[m]: Yeah, I only see the full VODs 2020-04-27T21:34:52Z Shinmera: I think the clips are mostly people being confused by the twitch UI 2020-04-27T21:35:42Z Shinmera: the timestamps should be easy enough to figure out from the programme. 2020-04-27T21:37:56Z Cairn[m]: Yeah, I've just settled to watching it in order, but I just wanted to ask in case anyone had done timestamps yet. 2020-04-27T21:37:59Z Cairn[m]: Thanks! 2020-04-27T21:39:54Z LdBeth: Should be vaporwave 2020-04-27T21:41:37Z schjetne quit (Ping timeout: 244 seconds) 2020-04-27T21:41:54Z MerlinTheWizard quit (Remote host closed the connection) 2020-04-27T21:42:16Z Lycurgus quit (Quit: Exeunt) 2020-04-27T21:42:16Z cosimone quit (Quit: Quit.) 2020-04-27T21:42:16Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-27T21:42:18Z shifty quit (Ping timeout: 260 seconds) 2020-04-27T21:42:20Z MerlinTheWizard joined #lisp 2020-04-27T21:43:04Z shifty joined #lisp 2020-04-27T21:43:14Z SGASAU joined #lisp 2020-04-27T21:57:38Z krid joined #lisp 2020-04-27T22:01:22Z tburdick quit (Ping timeout: 265 seconds) 2020-04-27T22:02:22Z dddddd quit (Ping timeout: 260 seconds) 2020-04-27T22:02:31Z man213__ joined #lisp 2020-04-27T22:05:37Z man213_ quit (Ping timeout: 264 seconds) 2020-04-27T22:12:13Z gravicappa quit (Ping timeout: 264 seconds) 2020-04-27T22:13:46Z keep_learning joined #lisp 2020-04-27T22:14:35Z man213__ quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-27T22:15:23Z pjb quit (Ping timeout: 265 seconds) 2020-04-27T22:16:13Z sjl_ quit (Ping timeout: 246 seconds) 2020-04-27T22:18:49Z Adamclisi quit (Ping timeout: 244 seconds) 2020-04-27T22:19:38Z froggey quit (Ping timeout: 260 seconds) 2020-04-27T22:20:34Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-04-27T22:20:38Z duncan_ quit (Ping timeout: 260 seconds) 2020-04-27T22:22:01Z holycow joined #lisp 2020-04-27T22:22:54Z random-nick quit (Ping timeout: 260 seconds) 2020-04-27T22:28:01Z dilated_dinosaur joined #lisp 2020-04-27T22:28:47Z froggey joined #lisp 2020-04-27T22:30:44Z X-Scale` joined #lisp 2020-04-27T22:30:53Z Adamclisi joined #lisp 2020-04-27T22:31:10Z |Pirx| quit (Remote host closed the connection) 2020-04-27T22:31:29Z |Pirx| joined #lisp 2020-04-27T22:31:35Z markasoftware: in SLIME, waht's the shortcut ot access the result of the last expression? 2020-04-27T22:31:49Z markasoftware: i seem to remember there was something simple 2020-04-27T22:31:50Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-27T22:31:51Z X-Scale` is now known as X-Scale 2020-04-27T22:31:54Z jasom: markasoftware: * 2020-04-27T22:32:02Z markasoftware: huehuehue thank you 2020-04-27T22:32:05Z jasom: markasoftware: and that should work in any REPL, not just slime 2020-04-27T22:32:49Z |3b|: in slime repl, you can hit enter on previous printed results to get them as input 2020-04-27T22:34:13Z jasom: * ** ***, / // ///, + ++ +++ are respectively the first/second/third most recent primary-value, values as a list, forms 2020-04-27T22:34:14Z |3b| isn't sure exactly when that preserves identity or not though, so might need to use * when that matters 2020-04-27T22:34:39Z jasom: and - is the form currently being evaluated in the repl, though I haven't used that one before. 2020-04-27T22:34:54Z jasom: http://clhs.lisp.se/Body/25_aa.htm 2020-04-27T22:44:31Z toorevitimirp joined #lisp 2020-04-27T22:44:54Z papachan joined #lisp 2020-04-27T22:44:58Z anlsh joined #lisp 2020-04-27T22:45:22Z papachan left #lisp 2020-04-27T22:45:33Z anlsh: So what's the purpose of the alexandria-2 package? 2020-04-27T22:46:14Z papachan joined #lisp 2020-04-27T22:47:45Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-27T22:48:47Z SGASAU quit (Remote host closed the connection) 2020-04-27T22:49:28Z SGASAU joined #lisp 2020-04-27T22:49:42Z pjb joined #lisp 2020-04-27T22:50:52Z toorevitimirp quit (Remote host closed the connection) 2020-04-27T22:51:32Z SGASAU quit (Remote host closed the connection) 2020-04-27T22:51:36Z |Pirx| quit (Remote host closed the connection) 2020-04-27T22:52:17Z SGASAU joined #lisp 2020-04-27T22:53:28Z pfdietz: To not break systems that :use Alexandria by adding new exported symbols to that package. 2020-04-27T23:05:30Z |3b|: Xach: does quicklisp find .asd files in subdirectories of projects? 2020-04-27T23:06:42Z Xach: |3b|: yes 2020-04-27T23:07:30Z |3b|: ok, so would need to file an issue to avoid that if needed? 2020-04-27T23:07:42Z lxbarbosa joined #lisp 2020-04-27T23:07:51Z |3b| is considering some test systems that would be intentionally broken for example 2020-04-27T23:07:53Z Xach: to ignore a system file? like for a template asd file or something? 2020-04-27T23:08:06Z Xach: yeah, i can work with that. 2020-04-27T23:10:20Z tburdick joined #lisp 2020-04-27T23:12:03Z |3b|: ok, will do that if i end up adding them to a project in ql 2020-04-27T23:12:15Z brutalist quit (Ping timeout: 240 seconds) 2020-04-27T23:12:50Z Oladon joined #lisp 2020-04-27T23:13:35Z froggey quit (Ping timeout: 244 seconds) 2020-04-27T23:13:37Z Adamclisi quit (Ping timeout: 246 seconds) 2020-04-27T23:13:46Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2020-04-27T23:13:51Z froggey joined #lisp 2020-04-27T23:13:51Z Adamclisi joined #lisp 2020-04-27T23:14:00Z MerlinTheWizard joined #lisp 2020-04-27T23:15:25Z ArthurStrong quit (Quit: leaving) 2020-04-27T23:21:15Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-27T23:21:16Z pfdietz quit (Remote host closed the connection) 2020-04-27T23:22:38Z wxie joined #lisp 2020-04-27T23:22:43Z rgherdt quit (Ping timeout: 272 seconds) 2020-04-27T23:22:48Z rixard joined #lisp 2020-04-27T23:23:32Z Lord_of_Life_ joined #lisp 2020-04-27T23:23:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-27T23:26:50Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-04-27T23:26:53Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-27T23:26:55Z rixard quit (Ping timeout: 246 seconds) 2020-04-27T23:27:05Z dilated_dinosaur joined #lisp 2020-04-27T23:32:37Z shifty quit (Ping timeout: 264 seconds) 2020-04-27T23:32:42Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-27T23:33:33Z shifty joined #lisp 2020-04-27T23:34:09Z Xach: hmm 2020-04-27T23:37:43Z schjetne joined #lisp 2020-04-27T23:40:27Z anlsh: Making a new package only kicks the can down the road though doesn't it? 2020-04-27T23:40:58Z Xach: anlsh: how so? 2020-04-27T23:41:57Z anlsh: What would stop them from having to make an alexandria-3 years down the road 2020-04-27T23:42:27Z Xach: anlsh: Nothing - but the way you phrase the question suggests you think that is a problem? 2020-04-27T23:42:56Z Xach: people who want new things get new things, people who use the old do not break - seems ok to me? 2020-04-27T23:43:12Z aeth: it sounds like it would be better to build versioning into DEFPACKAGE so people who don't USE it can always go with the latest version, but people who USE it can lock to a version. 2020-04-27T23:43:50Z tburdick quit (Ping timeout: 265 seconds) 2020-04-27T23:44:36Z anlsh: It just doesn't seem like a good solution, having to add a new package every time you'd like to export a new symbol or set of symbols 2020-04-27T23:45:08Z torbo joined #lisp 2020-04-27T23:45:09Z Xach: anlsh: why? 2020-04-27T23:45:12Z aeth: the real solution is to not USE packages that aren't your own 2020-04-27T23:45:41Z aeth: you can IMPORT-FROM a symbol or two that you actually use, or you can give it a local nickname 2020-04-27T23:46:05Z choegusung quit (Quit: leaving) 2020-04-27T23:46:13Z Xach: Packages may change what they provide even if you import selectively, or reference with prefixes. 2020-04-27T23:46:27Z Xach: Committing to a set of supported symbols is one option and it seems reasonable to me. 2020-04-27T23:46:43Z |3b|: having things break randomly depending on what you load (because someone defined a function that clobbered a function they don't know about from a package they :use) doesn't seem like a good solution either :/ 2020-04-27T23:47:33Z remexre quit (Quit: WeeChat 2.7.1) 2020-04-27T23:47:41Z wxie quit (Ping timeout: 244 seconds) 2020-04-27T23:47:44Z |3b| agrees with "don't :use packages" as real solution, but suspects it is also an unlikely one, particularly for old, mostly unmaintained projects 2020-04-27T23:48:18Z |3b|: (but which are otherwise perfectly fine, as long as their :USEd packages don't change) 2020-04-27T23:49:15Z Kundry_Wag joined #lisp 2020-04-27T23:51:20Z aeth: The real fun thing is that if you use FLET, you can break macros by (perhaps locally) redefining functions you're not even aware of if you USE. 2020-04-27T23:51:23Z aeth: (defpackage #:foo (:use #:cl) (:export #:foo #:foobar)) (in-package #:foo) (defun foo (x) (1+ x)) (defmacro foobar (thing) `(foo ,thing)) (defpackage #:bar (:use #:cl #:foo)) (in-package #:bar) (defun bar () (flet ((foo (x) (* x x))) (foobar 2))) (bar) ;=> 4 instead of 3 2020-04-27T23:51:54Z Kundry_Wag quit (Remote host closed the connection) 2020-04-27T23:52:09Z Kundry_Wag joined #lisp 2020-04-27T23:52:43Z zooey quit (Ping timeout: 240 seconds) 2020-04-27T23:52:55Z zooey joined #lisp 2020-04-27T23:53:14Z anlsh: I agree that not :use'ing things is the best solution: what about including some sort of disclaimer that new symbols may be exported at any time? 2020-04-27T23:53:54Z anlsh: You can't stop people from :use'ing it, but it would at least make the breakages their fault 2020-04-27T23:54:55Z Xach: Where do you put the disclaimer? 2020-04-27T23:55:25Z |3b|: "their fault" doesn't help 3rd parties who get hit by it due to some dependency 3 levels down :p 2020-04-27T23:55:57Z anlsh: Well you couldn't do it with existing libraries obviously :| 2020-04-27T23:55:59Z MichaelRaskin: Ship with the dictionary and export random additional symbols on each import? 2020-04-27T23:56:20Z anlsh: but for instance, doing it with a new package would be feasible 2020-04-27T23:56:51Z MichaelRaskin: Well, blame-shifting doesn't help 2020-04-27T23:57:13Z |3b|: yeah, hoping for "don't :use this" to work is a bit more reasonable now that more lisps support p-l-n 2020-04-27T23:57:20Z MichaelRaskin: Exporting T and NIL not eq to CL:T and CL:NIL might, actually 2020-04-27T23:57:37Z remexre joined #lisp 2020-04-27T23:58:13Z anlsh: p-l-n? 2020-04-27T23:58:22Z anlsh: oh, package local nicks? 2020-04-27T23:58:44Z |3b|: yeah 2020-04-28T00:00:13Z loli quit (Quit: WeeChat 2.7.1) 2020-04-28T00:00:34Z corpix quit (Remote host closed the connection) 2020-04-28T00:00:51Z corpix joined #lisp 2020-04-28T00:01:43Z loli joined #lisp 2020-04-28T00:03:08Z anlsh: MichaelRaskin: blame-shifting wouldn't fix anyone's code, but it would provide an incentive to use better coding style (again, with newer packages) and make it easier to add functionality to libraries right? 2020-04-28T00:04:28Z terpri joined #lisp 2020-04-28T00:06:32Z MichaelRaskin: You say adding functionality to the existing libraries instead of new namespaces like it's a good thing 2020-04-28T00:08:02Z MichaelRaskin: And pure blameshifting provides no incentive 2020-04-28T00:09:16Z MerlinTheWizard joined #lisp 2020-04-28T00:09:20Z MichaelRaskin: I guess if you indeed export a NIL distinct from CL:NIL people are more likely to reconsider whether they want to :use such a library 2020-04-28T00:10:02Z buffergn0me joined #lisp 2020-04-28T00:11:55Z tburdick joined #lisp 2020-04-28T00:12:04Z schjetne quit (Ping timeout: 246 seconds) 2020-04-28T00:17:34Z anlsh: Well it's not exactly a *bad* thing, is it? For example, a while back I re-implemented alexandria's median function as a special case of the quick-select algorithm. I suggested that they might as well provide the quick-select function too, but the exporting issue got in the way 2020-04-28T00:22:55Z rixard joined #lisp 2020-04-28T00:24:48Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-28T00:27:34Z rixard quit (Ping timeout: 260 seconds) 2020-04-28T00:27:52Z pilne joined #lisp 2020-04-28T00:29:18Z efm quit (Quit: Konversation terminated!) 2020-04-28T00:32:25Z zaquest quit (Quit: Leaving) 2020-04-28T00:35:30Z akoana quit (Ping timeout: 260 seconds) 2020-04-28T00:36:09Z akoana joined #lisp 2020-04-28T00:37:35Z Jeanne-Kamikaze joined #lisp 2020-04-28T00:40:15Z shifty quit (Ping timeout: 240 seconds) 2020-04-28T00:42:42Z MichaelRaskin: Well, the idea of alexandria-2 that would include entire alexandria and then some more also makes sense 2020-04-28T00:45:42Z tburdick quit (Ping timeout: 265 seconds) 2020-04-28T00:49:10Z zaquest joined #lisp 2020-04-28T00:50:45Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-28T00:51:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-28T00:53:04Z MerlinTheWizard joined #lisp 2020-04-28T00:53:15Z cwaydt quit (Ping timeout: 265 seconds) 2020-04-28T00:56:11Z patlv quit (Quit: patlv) 2020-04-28T01:04:51Z bitmapper quit (Ping timeout: 265 seconds) 2020-04-28T01:18:04Z MerlinTheWizard quit (Remote host closed the connection) 2020-04-28T01:18:15Z emys joined #lisp 2020-04-28T01:18:29Z MerlinTheWizard joined #lisp 2020-04-28T01:21:24Z buffergn0me joined #lisp 2020-04-28T01:24:47Z shukryzablah joined #lisp 2020-04-28T01:28:37Z holycow quit (Quit: leaving) 2020-04-28T01:30:20Z ahungry joined #lisp 2020-04-28T01:31:37Z emys quit (Ping timeout: 265 seconds) 2020-04-28T01:33:08Z Zakkor quit (Quit: Connection closed for inactivity) 2020-04-28T01:35:05Z phoe quit (Ping timeout: 272 seconds) 2020-04-28T01:37:04Z phoe joined #lisp 2020-04-28T01:39:02Z emys joined #lisp 2020-04-28T01:41:03Z dmiles quit (Read error: No route to host) 2020-04-28T01:44:07Z dmiles joined #lisp 2020-04-28T01:44:49Z ralt quit (Quit: Connection closed for inactivity) 2020-04-28T01:45:45Z EvW quit (Ping timeout: 240 seconds) 2020-04-28T01:46:45Z lxbarbosa quit (Remote host closed the connection) 2020-04-28T01:47:37Z emys quit (Ping timeout: 246 seconds) 2020-04-28T01:55:00Z emys joined #lisp 2020-04-28T01:58:02Z Josh_2 quit (Ping timeout: 260 seconds) 2020-04-28T02:02:32Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-28T02:03:15Z emys quit (Ping timeout: 240 seconds) 2020-04-28T02:04:40Z terpri quit (Remote host closed the connection) 2020-04-28T02:07:26Z emys joined #lisp 2020-04-28T02:08:25Z schjetne joined #lisp 2020-04-28T02:08:31Z MerlinTheWizard joined #lisp 2020-04-28T02:13:41Z Demosthenex quit (Ping timeout: 250 seconds) 2020-04-28T02:15:36Z Demosthenex joined #lisp 2020-04-28T02:18:50Z mono joined #lisp 2020-04-28T02:20:06Z ahungry quit (Ping timeout: 244 seconds) 2020-04-28T02:21:22Z monokrom quit (Ping timeout: 260 seconds) 2020-04-28T02:27:15Z emys quit (Ping timeout: 240 seconds) 2020-04-28T02:31:01Z emys joined #lisp 2020-04-28T02:37:00Z tburdick joined #lisp 2020-04-28T02:39:10Z emys quit (Ping timeout: 260 seconds) 2020-04-28T02:42:45Z orivej quit (Ping timeout: 240 seconds) 2020-04-28T02:42:54Z schjetne quit (Ping timeout: 260 seconds) 2020-04-28T02:46:22Z emys joined #lisp 2020-04-28T02:47:34Z karlosz quit (Quit: karlosz) 2020-04-28T02:49:45Z anlsh quit (Ping timeout: 240 seconds) 2020-04-28T02:53:47Z turona quit (Ping timeout: 265 seconds) 2020-04-28T02:55:12Z turona joined #lisp 2020-04-28T02:55:36Z White_Flame: hmm, I have a relatively control-flow-twisted question to try to ask, as it's a bit difficult to make a simple test case for 2020-04-28T02:56:32Z White_Flame: will RETURN-FROM always return to the exact point in the call stack that its lexical block was established, even if there were intermediary blocks of the same name? 2020-04-28T02:56:56Z White_Flame: eg (block foo (do-cps-style (lambda () (return-from foo 3)))) 2020-04-28T02:57:12Z White_Flame: assumign that in do-cps-style, there are other recursive uses of block foo 2020-04-28T02:57:19Z White_Flame: from the same source code 2020-04-28T02:57:21Z karlosz joined #lisp 2020-04-28T02:57:58Z White_Flame: so, on the call stack, there are multiple places where this same code was called, establishing block foo's. The return-from will return to the exact stack frame it was established in, and not just the first found? 2020-04-28T02:59:28Z Bike: White_Flame: yes, it will return to the particular frame. 2020-04-28T02:59:56Z White_Flame: thank you veeeeery much 2020-04-28T03:00:25Z Bike: it's kind of a tricky point. 2020-04-28T03:00:31Z saturn2: block/return-from does the thing you want, and catch/throw does the thing you don't want 2020-04-28T03:00:40Z White_Flame: ah, k 2020-04-28T03:01:15Z White_Flame: I had tried catch/throw first, but it seemed less right 2020-04-28T03:01:57Z White_Flame: (without executing yet, the code I"m refactoring is quite large) 2020-04-28T03:02:33Z White_Flame: thanks 2020-04-28T03:03:22Z emys quit (Ping timeout: 260 seconds) 2020-04-28T03:07:00Z emys joined #lisp 2020-04-28T03:07:59Z terpri joined #lisp 2020-04-28T03:09:45Z dtman34 quit (Ping timeout: 240 seconds) 2020-04-28T03:10:42Z tburdick quit (Ping timeout: 265 seconds) 2020-04-28T03:11:12Z akoana left #lisp 2020-04-28T03:11:49Z karlosz: publickey denied 2020-04-28T03:15:28Z emys quit (Ping timeout: 246 seconds) 2020-04-28T03:16:11Z terpri quit (Remote host closed the connection) 2020-04-28T03:16:38Z terpri joined #lisp 2020-04-28T03:16:59Z Bike quit (Quit: Lost terminal) 2020-04-28T03:18:59Z pilne quit (Quit: Hard work pays off in the future, laziness pays off now) 2020-04-28T03:19:45Z terpri quit (Remote host closed the connection) 2020-04-28T03:20:24Z _jrjsmrtn joined #lisp 2020-04-28T03:21:35Z __jrjsmrtn__ quit (Ping timeout: 244 seconds) 2020-04-28T03:22:30Z terpri joined #lisp 2020-04-28T03:23:00Z emys joined #lisp 2020-04-28T03:23:10Z terpri quit (Remote host closed the connection) 2020-04-28T03:23:37Z terpri joined #lisp 2020-04-28T03:32:45Z terpri quit (Remote host closed the connection) 2020-04-28T03:33:12Z terpri joined #lisp 2020-04-28T03:35:13Z libertyprime joined #lisp 2020-04-28T03:35:18Z SGASAU quit (Remote host closed the connection) 2020-04-28T03:36:02Z SGASAU joined #lisp 2020-04-28T03:37:10Z terpri quit (Remote host closed the connection) 2020-04-28T03:37:39Z terpri joined #lisp 2020-04-28T03:39:22Z emys quit (Ping timeout: 260 seconds) 2020-04-28T03:41:01Z wsinatra joined #lisp 2020-04-28T03:41:14Z EvW1 joined #lisp 2020-04-28T03:41:56Z wsinatra quit (Client Quit) 2020-04-28T03:42:15Z terpri quit (Remote host closed the connection) 2020-04-28T03:42:42Z terpri joined #lisp 2020-04-28T03:43:33Z beach: Good morning everyone! 2020-04-28T03:52:12Z terpri quit (Remote host closed the connection) 2020-04-28T03:52:44Z terpri joined #lisp 2020-04-28T03:53:18Z libertyprime quit (Ping timeout: 260 seconds) 2020-04-28T03:56:11Z terpri quit (Remote host closed the connection) 2020-04-28T03:59:09Z libertyprime joined #lisp 2020-04-28T04:07:03Z emys joined #lisp 2020-04-28T04:10:05Z vhost- quit (Quit: WeeChat 2.6) 2020-04-28T04:15:19Z emys quit (Ping timeout: 244 seconds) 2020-04-28T04:16:10Z libertyprime quit (Ping timeout: 260 seconds) 2020-04-28T04:17:29Z Jeanne-Kamikaze quit (Remote host closed the connection) 2020-04-28T04:19:18Z emys joined #lisp 2020-04-28T04:24:26Z shka_ joined #lisp 2020-04-28T04:28:31Z emys quit (Ping timeout: 265 seconds) 2020-04-28T04:33:12Z mixfix41 quit (Read error: Connection reset by peer) 2020-04-28T04:35:07Z Bourne quit (Remote host closed the connection) 2020-04-28T04:36:15Z emys joined #lisp 2020-04-28T04:37:40Z jprajzne quit (Quit: jprajzne) 2020-04-28T04:38:05Z jprajzne joined #lisp 2020-04-28T04:38:57Z schjetne joined #lisp 2020-04-28T04:40:00Z torbo quit (Remote host closed the connection) 2020-04-28T04:42:10Z jprajzne quit (Client Quit) 2020-04-28T04:42:35Z jprajzne joined #lisp 2020-04-28T04:45:19Z dancynancy joined #lisp 2020-04-28T04:45:20Z Kundry_Wag quit (Read error: Connection reset by peer) 2020-04-28T04:46:41Z clintm quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-28T04:48:23Z EvW1 quit (Ping timeout: 244 seconds) 2020-04-28T04:53:51Z dancynancy left #lisp 2020-04-28T04:54:04Z renzhi quit (Ping timeout: 244 seconds) 2020-04-28T04:56:08Z emys quit (Ping timeout: 244 seconds) 2020-04-28T04:59:24Z terpri joined #lisp 2020-04-28T04:59:27Z terpri quit (Client Quit) 2020-04-28T04:59:47Z emys joined #lisp 2020-04-28T04:59:49Z terpri joined #lisp 2020-04-28T05:01:45Z Kundry_Wag joined #lisp 2020-04-28T05:02:37Z catalinbostan joined #lisp 2020-04-28T05:06:06Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-28T05:07:07Z tburdick joined #lisp 2020-04-28T05:07:41Z vhost- joined #lisp 2020-04-28T05:07:41Z vhost- quit (Changing host) 2020-04-28T05:07:41Z vhost- joined #lisp 2020-04-28T05:08:45Z emys quit (Ping timeout: 240 seconds) 2020-04-28T05:12:19Z stepnem quit (Ping timeout: 265 seconds) 2020-04-28T05:12:58Z orblu joined #lisp 2020-04-28T05:13:44Z vlatkoB joined #lisp 2020-04-28T05:14:01Z schjetne quit (Ping timeout: 264 seconds) 2020-04-28T05:14:29Z stepnem joined #lisp 2020-04-28T05:15:10Z emys joined #lisp 2020-04-28T05:29:43Z emys quit (Ping timeout: 244 seconds) 2020-04-28T05:30:15Z terpri quit (Remote host closed the connection) 2020-04-28T05:32:55Z terpri joined #lisp 2020-04-28T05:33:43Z emys joined #lisp 2020-04-28T05:35:55Z Kundry_Wag joined #lisp 2020-04-28T05:37:15Z terpri quit (Remote host closed the connection) 2020-04-28T05:37:43Z terpri joined #lisp 2020-04-28T05:38:22Z narimiran joined #lisp 2020-04-28T05:40:32Z tburdick quit (Ping timeout: 265 seconds) 2020-04-28T05:40:34Z Kundry_Wag quit (Ping timeout: 244 seconds) 2020-04-28T05:43:05Z Oladon quit (Quit: Leaving.) 2020-04-28T05:46:58Z frgo_ quit (Remote host closed the connection) 2020-04-28T05:49:45Z terpri quit (Remote host closed the connection) 2020-04-28T05:54:25Z gravicappa joined #lisp 2020-04-28T06:01:52Z Cymew joined #lisp 2020-04-28T06:03:18Z buffergn0me quit (Ping timeout: 244 seconds) 2020-04-28T06:06:18Z schjetne joined #lisp 2020-04-28T06:10:06Z jayde quit (Quit: +_+) 2020-04-28T06:10:11Z Kundry_Wag joined #lisp 2020-04-28T06:13:13Z frgo joined #lisp 2020-04-28T06:15:03Z frgo quit (Read error: Connection reset by peer) 2020-04-28T06:15:14Z orblu quit (Ping timeout: 260 seconds) 2020-04-28T06:15:18Z frgo joined #lisp 2020-04-28T06:16:06Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-28T06:16:30Z frgo quit (Read error: Connection reset by peer) 2020-04-28T06:16:49Z frgo joined #lisp 2020-04-28T06:16:54Z frgo quit (Remote host closed the connection) 2020-04-28T06:17:04Z frgo joined #lisp 2020-04-28T06:17:05Z orblu joined #lisp 2020-04-28T06:18:52Z _paul0 joined #lisp 2020-04-28T06:21:37Z paul0 quit (Ping timeout: 265 seconds) 2020-04-28T06:22:13Z pve joined #lisp 2020-04-28T06:28:40Z schjetne quit (Ping timeout: 246 seconds) 2020-04-28T06:30:46Z emys quit (Ping timeout: 246 seconds) 2020-04-28T06:33:54Z shka_ quit (Ping timeout: 260 seconds) 2020-04-28T06:35:00Z emys joined #lisp 2020-04-28T06:36:40Z schjetne joined #lisp 2020-04-28T06:39:45Z emys quit (Ping timeout: 240 seconds) 2020-04-28T06:41:22Z schjetne quit (Ping timeout: 260 seconds) 2020-04-28T06:42:44Z random-nick joined #lisp 2020-04-28T06:43:18Z emys joined #lisp 2020-04-28T06:46:19Z schjetne joined #lisp 2020-04-28T06:50:01Z Shinmera: Day two of ELS here we go 2020-04-28T06:52:41Z jprajzne quit (Quit: jprajzne) 2020-04-28T06:53:10Z jprajzne joined #lisp 2020-04-28T06:53:41Z flip214: Here we go again .... give a little bit of your lisp to me 2020-04-28T06:53:52Z dale quit (Quit: My computer has gone to sleep) 2020-04-28T06:53:58Z Shinmera: I can give you all of my lisp if you take over maintainership 2020-04-28T06:54:19Z HDurer_ quit (Remote host closed the connection) 2020-04-28T06:54:29Z nowhere_man quit (Ping timeout: 265 seconds) 2020-04-28T06:55:46Z flip214: I was mostly citing https://www.youtube.com/watch?v=J9JOut9yh5g, 0:09 and onwards 2020-04-28T06:57:10Z jprajzne quit (Client Quit) 2020-04-28T06:57:37Z jprajzne joined #lisp 2020-04-28T06:59:48Z emys quit (Ping timeout: 265 seconds) 2020-04-28T07:07:30Z orblu quit (Ping timeout: 260 seconds) 2020-04-28T07:07:41Z jprajzne quit (Quit: jprajzne) 2020-04-28T07:08:10Z jprajzne joined #lisp 2020-04-28T07:12:10Z jprajzne quit (Client Quit) 2020-04-28T07:12:21Z rgherdt joined #lisp 2020-04-28T07:12:35Z jprajzne joined #lisp 2020-04-28T07:14:36Z Oddity quit (Ping timeout: 265 seconds) 2020-04-28T07:20:12Z heisig joined #lisp 2020-04-28T07:20:42Z emys joined #lisp 2020-04-28T07:21:03Z Oddity joined #lisp 2020-04-28T07:21:59Z varjag joined #lisp 2020-04-28T07:23:38Z duncan_ joined #lisp 2020-04-28T07:25:25Z emys quit (Ping timeout: 265 seconds) 2020-04-28T07:27:15Z doomlist3 joined #lisp 2020-04-28T07:27:24Z doomlist3: is there CL to C transpilers 2020-04-28T07:27:34Z doomlist3: just like abcl is for java 2020-04-28T07:27:41Z jdz: doomlist3: There's ECL. 2020-04-28T07:28:00Z Shinmera: Neither are 'transpilers' really because they still require their own runtime to work. 2020-04-28T07:28:27Z Shinmera: Also I think ABCL emits JVM bytecode, not Java source. 2020-04-28T07:29:09Z emys joined #lisp 2020-04-28T07:33:43Z jonatack quit (Ping timeout: 244 seconds) 2020-04-28T07:35:52Z jonatack joined #lisp 2020-04-28T07:40:26Z emys quit (Ping timeout: 244 seconds) 2020-04-28T07:40:29Z Kundry_Wag joined #lisp 2020-04-28T07:41:33Z doomlist3: runtime is a software , so what is it 2020-04-28T07:43:39Z ralt joined #lisp 2020-04-28T07:45:52Z pfdietz joined #lisp 2020-04-28T07:46:14Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-28T07:46:24Z phoe: ECL, short for Embeddable Common Lisp 2020-04-28T07:46:37Z beach: doomlist3: Memory manager, garbage collector, etc. 2020-04-28T07:46:39Z phoe: that's the tool you seem to want to use 2020-04-28T07:47:20Z gxt joined #lisp 2020-04-28T07:47:52Z doomlist3: runtime is glibc for gcc? 2020-04-28T07:48:02Z beach: doomlist3: Sort of. 2020-04-28T07:48:13Z phoe: not in case of ECL; ECL's runtime is libecl 2020-04-28T07:48:39Z beach: doomlist3: But Common Lisp is way more complicated than C, so it needs a lot more run-time support. 2020-04-28T07:48:50Z phoe: ^ 2020-04-28T07:48:51Z Shinmera: the C runtime is your operating system, plus possibly glibc. 2020-04-28T07:49:33Z beach: doomlist3: The compiler is required to be present in Common Lisp at run-time. Not so in C. 2020-04-28T07:52:50Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-28T07:54:53Z orblu joined #lisp 2020-04-28T07:57:30Z doomlist3: (ql:quickload "system-name") what is system-name? 2020-04-28T07:57:39Z doomlist3: is it hostname? or username? 2020-04-28T07:57:48Z doomlist3: or something else entirely 2020-04-28T07:57:49Z jdz: It's the thing you want to load. 2020-04-28T07:57:58Z beach: It's the name of a system. 2020-04-28T07:58:24Z beach: A "system" in Common Lisp is what is called a "package" in most other languages. 2020-04-28T07:59:20Z flip214: perhaps "library" might be a synonym as well 2020-04-28T07:59:22Z phoe: doomlist3: sounds like you might want to enroll in #clschool 2020-04-28T07:59:31Z doomlist3: what do i need system-name to be to run (ql:system-apropos "vecto") 2020-04-28T08:00:06Z no-defun-allowed: (ql:quickload :vecto) ;; Do you want to load the vecto system? 2020-04-28T08:00:38Z Krystof quit (Ping timeout: 258 seconds) 2020-04-28T08:00:53Z doomlist3: no-defun-allowed: i just want to install quicklisp 2020-04-28T08:01:06Z doomlist3: i don't know what is vecto 2020-04-28T08:01:33Z no-defun-allowed: There are instructions on https://www.quicklisp.org/beta/ 2020-04-28T08:02:25Z doomlist3: yes 2020-04-28T08:02:33Z doomlist3: that's exactly what i was following before! 2020-04-28T08:05:34Z beach: Then you should have it installed. 2020-04-28T08:07:09Z doomlist3: i am installing common-lisp-jupyter, so should i activate venv and then install quicklisp and common-lisp-jupyter 2020-04-28T08:07:36Z doomlist3: image based , non-image based or quicklisp bundle? https://bpaste.net/ASLQ 2020-04-28T08:11:25Z phoe: I have no idea if cl-jupyter has an IRC channel; this is a highly specific question 2020-04-28T08:11:41Z doomlist3: i am always specific 2020-04-28T08:12:04Z doomlist3: don't you feel jupyter kernels are greatt 2020-04-28T08:12:37Z doomlist3: doesn't anyone here use jupyter kernels? 2020-04-28T08:12:53Z doomlist3: just curious i will ask on #jupyter if any problems persist. 2020-04-28T08:12:57Z White_Flame: if you're doing graphical output stuff, I think it would probably be very beneficial 2020-04-28T08:13:02Z White_Flame: but lisp already has a repl 2020-04-28T08:13:26Z White_Flame: so for what it takes to set up & initialize, not sure it's better to move to that workflow from SLIME 2020-04-28T08:13:29Z doomlist3: but notebooks are super-comfy, i do C stuff do there. 2020-04-28T08:15:07Z beach: Good to know. 2020-04-28T08:15:48Z White_Flame: from the little that I've used jupyter, it seemed less interactive than SLIME 2020-04-28T08:16:07Z White_Flame: and more of a usage testing environment than an actual software development environment 2020-04-28T08:16:24Z doomlist3: https://bpaste.net/CM4Q 2020-04-28T08:16:27Z beach: doomlist3: Try #clasp. They have been working with Jupyter, as I recall. 2020-04-28T08:16:28Z doomlist3: i am getting rekt 2020-04-28T08:16:56Z White_Flame: first lines: "To continue with installation, evaluate: (quicklisp-quickstart:install)" 2020-04-28T08:17:09Z White_Flame: next input: "(ql:quickload :common-lisp-jupyter)" :-P 2020-04-28T08:17:32Z White_Flame: the instructions are very well laid out, follow them step by step 2020-04-28T08:17:45Z no-defun-allowed: I think you would need to install the headers for zmq. The version has -debian- in the name, so I would guess it's in a libzmq-dev 2020-04-28T08:17:45Z jdz: doomlist3: You don't have the ZerqMQ development package installed (with C headers). 2020-04-28T08:18:20Z orblu quit (Ping timeout: 256 seconds) 2020-04-28T08:18:22Z orivej joined #lisp 2020-04-28T08:18:24Z White_Flame: (ah yeah, scrolling down this isn't a QL installation issue itself) 2020-04-28T08:18:33Z jdz: On Ubuntu I think it's 'libzmq3-dev'. 2020-04-28T08:20:56Z shifty joined #lisp 2020-04-28T08:21:47Z doomlist3: https://bpaste.net/QZTQ 2020-04-28T08:22:03Z toorevitimirp joined #lisp 2020-04-28T08:22:30Z White_Flame: filesystem permissions error? 2020-04-28T08:22:49Z White_Flame: or do you have some file already named like a directory it wants to create? 2020-04-28T08:23:12Z jdz: The former is more likely. 2020-04-28T08:23:31Z jdz: If the path was already there ENSURE-DIRECTORIES-EXIST would not have to do anything. 2020-04-28T08:23:52Z doomlist3: mkdir .local/share/jupyter/kernels/common-lisp 2020-04-28T08:23:54Z doomlist3: mkdir: cannot create directory ‘.local/share/jupyter/kernels/common-lisp’: Permission denied 2020-04-28T08:24:08Z doomlist3: using sudo it works but it's user becomes root, but i don't intend dto run it as root 2020-04-28T08:24:12Z jdz: doomlist3: Did you mean `mkdir -p ...`? 2020-04-28T08:24:24Z doomlist3: mkdir -p yes i fed the directory 2020-04-28T08:24:41Z doomlist3: jdz: ok i would like to add the path , but which file 2020-04-28T08:24:51Z jdz: It seems you've have done something as a root user already, so you should fix what's broken before proceeding. 2020-04-28T08:25:25Z doomlist3: but path which file to feed 2020-04-28T08:26:10Z White_Flame: erase whatever you made, so that the scripts can make their own directories 2020-04-28T08:28:10Z orivej quit (Ping timeout: 260 seconds) 2020-04-28T08:28:14Z doomlist3: i made kernels dir as root which has C kernel inside it 2020-04-28T08:28:24Z doomlist3: mkdir .local/share/jupyter/kernels/common-lisp 2020-04-28T08:28:26Z doomlist3: mkdir: cannot create directory ‘.local/share/jupyter/kernels/common-lisp’: Permission denied 2020-04-28T08:28:37Z doomlist3: sudo chown -R 755 user:user ~/.local/share/jupyter/kernels/ 2020-04-28T08:28:39Z doomlist3: chown: cannot access 'user:user': No such file or directory 2020-04-28T08:28:41Z doomlist3: sorry 2020-04-28T08:29:30Z jdz: doomlist3: Remove 755. 2020-04-28T08:31:38Z frgo quit (Remote host closed the connection) 2020-04-28T08:32:29Z frgo joined #lisp 2020-04-28T08:33:12Z doomlist3: https://bpaste.net/JRJQ let's just hope now it begins. i put a lot of effort into this 2020-04-28T08:33:39Z doomlist3: ahh finally happiness 2020-04-28T08:36:46Z frgo quit (Ping timeout: 246 seconds) 2020-04-28T08:38:15Z mangul joined #lisp 2020-04-28T08:38:16Z MerlinTheWizard joined #lisp 2020-04-28T08:40:40Z doomlist3: jdz: i am happy now. 2020-04-28T08:42:43Z toorevitimirp quit (Ping timeout: 246 seconds) 2020-04-28T08:42:51Z ljavorsk joined #lisp 2020-04-28T08:42:56Z rixard joined #lisp 2020-04-28T08:47:16Z Fare quit (Ping timeout: 246 seconds) 2020-04-28T08:48:28Z Fare joined #lisp 2020-04-28T08:49:09Z jdz: doomlist3: Great, I'm happy you got it working, too! 2020-04-28T08:52:10Z rixard quit (Ping timeout: 246 seconds) 2020-04-28T08:57:33Z rgherdt_ joined #lisp 2020-04-28T08:58:05Z Kundry_Wag joined #lisp 2020-04-28T09:01:05Z rogersm joined #lisp 2020-04-28T09:02:25Z rogersm quit (Client Quit) 2020-04-28T09:02:46Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-28T09:03:30Z momozor joined #lisp 2020-04-28T09:03:32Z momozor: Hi 2020-04-28T09:03:50Z rogersm joined #lisp 2020-04-28T09:04:11Z rogersm quit (Client Quit) 2020-04-28T09:04:14Z momozor: I wonder when should I choose to use declaim, declare and check-type? 2020-04-28T09:04:28Z rogersm joined #lisp 2020-04-28T09:04:40Z beach: momozor: Many of us are busy attending ELS. 2020-04-28T09:04:51Z momozor: Oh 2020-04-28T09:04:52Z momozor: sorry 2020-04-28T09:05:08Z jdz: momozor: You can do it too, at https://www.twitch.tv/elsconf 2020-04-28T09:05:15Z frgo_ joined #lisp 2020-04-28T09:05:23Z beach: Just explaining why some people are not very reactive right now. 2020-04-28T09:05:36Z momozor: jdz: thanks for the link 2020-04-28T09:05:56Z momozor: beach: also thanks for letting me know 2020-04-28T09:06:02Z beach: Sure. 2020-04-28T09:06:18Z ebrasca joined #lisp 2020-04-28T09:07:12Z no-defun-allowed: To my knowledge, the consequences are undefined if you (declare (type ty p)) and P is not of type TY. 2020-04-28T09:08:18Z no-defun-allowed: If you want to assert that a variable is bound to a value of some type, use CHECK-TYPE. 2020-04-28T09:09:49Z frgo_ quit (Ping timeout: 264 seconds) 2020-04-28T09:10:51Z phoe: momozor: CHECK-TYPE is for type assertions 2020-04-28T09:11:05Z phoe: DECLARE is for declarations that are not top-level 2020-04-28T09:11:20Z phoe: DECLAIM is for declarations that are toplevel - also called proclamations 2020-04-28T09:11:40Z phoe: like, (DECLARE ...) at toplevel is an error, but (DECLAIM ...) is not 2020-04-28T09:12:16Z momozor: no-defun-allowed, phoe: CHECK-TYPE will only assert at runtime. I believe? 2020-04-28T09:12:45Z phoe: momozor: depends on the compiler. SBCL tends to optimize it away and also warn if it detects a type mismatch at compile-time. 2020-04-28T09:13:09Z phoe: also, CHECK-TYPE actually prevents you against supplying an object of wrong type by means of signaling an error 2020-04-28T09:13:40Z phoe: type declarations are allowed to just proceed 2020-04-28T09:13:48Z phoe: and at that point, the behaviour is undefined. 2020-04-28T09:14:15Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-28T09:14:32Z beach observes that phoe is either not interested in his talk, or phoe is a much better multi-processor. :) 2020-04-28T09:15:15Z terpri joined #lisp 2020-04-28T09:16:31Z momozor: phoe: thanks! :D 2020-04-28T09:16:35Z nika joined #lisp 2020-04-28T09:21:35Z phoe: momozor: I am multitasking 2020-04-28T09:22:09Z phoe: I am currently listening the ELS talks, answering IRC, and handling people who are performing fixes in the flat I'm in 2020-04-28T09:22:53Z beach: Impressive! 2020-04-28T09:26:34Z shifty quit (Ping timeout: 260 seconds) 2020-04-28T09:27:19Z phoe: and annoying 2020-04-28T09:27:34Z phoe: but that's when things collide, I wish I could focus on my computer and therefore on Lisp-related things 2020-04-28T09:27:41Z shifty joined #lisp 2020-04-28T09:28:18Z selwyn: what are they fixing? 2020-04-28T09:29:02Z phoe: a pigeon-inflicted balcony malfunction 2020-04-28T09:29:42Z selwyn: :/ busy day for you then 2020-04-28T09:30:06Z easye: phoe: What the hell do you feed your pigeons in Poland? 2020-04-28T09:31:07Z phoe: easye: pierogi and bigos and vodka, they're a part of family 2020-04-28T09:31:10Z phoe moves to #lispcafe 2020-04-28T09:33:06Z Kundry_Wag joined #lisp 2020-04-28T09:33:57Z h11 joined #lisp 2020-04-28T09:34:33Z ArthurStrong joined #lisp 2020-04-28T09:40:25Z copec quit (Ping timeout: 264 seconds) 2020-04-28T09:40:58Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-28T09:47:41Z copec joined #lisp 2020-04-28T09:50:12Z orivej joined #lisp 2020-04-28T09:54:14Z Fare quit (Ping timeout: 240 seconds) 2020-04-28T09:55:40Z mangul is now known as shangul 2020-04-28T09:55:54Z Fare joined #lisp 2020-04-28T09:57:24Z rtvdenys joined #lisp 2020-04-28T09:57:38Z frgo joined #lisp 2020-04-28T10:00:57Z rtvdenys: Hi 2020-04-28T10:01:14Z beach: Hello rtvdenys. 2020-04-28T10:01:15Z ArthurStrong: Hi indeed 2020-04-28T10:01:20Z rixard joined #lisp 2020-04-28T10:01:24Z rtvdenys: I am compiling some code with SBCL via ASDF and I see a bunch of warnings 2020-04-28T10:01:45Z rtvdenys: However, the warnings do not mention the files and lines in the files where the problem is. 2020-04-28T10:02:12Z rtvdenys: Does anybody have recommendations on how to increase the verbosity? 2020-04-28T10:02:23Z beach: Try compiling from SLIME and you usually get the code underlined. 2020-04-28T10:02:42Z rtvdenys: Tried that but it does not show anything additional. 2020-04-28T10:02:48Z beach: And set the DEBUG quality to 3. It is not that high by default. 2020-04-28T10:03:22Z beach: Oh, I meant C-c C-k in the Emacs buffer. 2020-04-28T10:03:27Z rtvdenys: Is it something I can do without touching the source code? 2020-04-28T10:03:37Z beach: Yes, in your .sbclrc 2020-04-28T10:04:16Z rtvdenys: For C-c C-k I need to know which file is producing those warnings but I do not know even that. 2020-04-28T10:04:16Z beach: (proclaim '(optimize (debug 3) ...)) 2020-04-28T10:04:28Z beach: That's very strange. 2020-04-28T10:05:22Z rtvdenys: Tried a few things. Even in a fresh sbcl session I do not see much if I run this: 2020-04-28T10:05:24Z igemnace joined #lisp 2020-04-28T10:05:24Z rtvdenys: (proclaim '(optimize (debug 3))) 2020-04-28T10:05:27Z phoe: rtvdenys: (asdf:load-system :foo :verbose t :force t) should give you a log 2020-04-28T10:05:32Z rtvdenys: (asdf:compile-system "cl-async") 2020-04-28T10:05:46Z rixard quit (Ping timeout: 260 seconds) 2020-04-28T10:06:53Z phoe: see https://plaster.tymoon.eu/view/1781#1781 2020-04-28T10:07:15Z rtvdenys: (asdf:compile-system :cl-async :verbose t :force t) made it error and the error is quite unclear. I suspect it did not like those asdf options 2020-04-28T10:07:24Z phoe: post the error! 2020-04-28T10:07:30Z phoe: also, post (asdf:asdf-version) 2020-04-28T10:07:35Z phoe: and please use a pastebin 2020-04-28T10:08:10Z rtvdenys: "3.3.1" 2020-04-28T10:08:16Z phoe: OK, recent enough 2020-04-28T10:08:29Z rtvdenys: debugger invoked on a UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread 2020-04-28T10:08:29Z rtvdenys: #: 2020-04-28T10:08:29Z rtvdenys: COMPILE-FILE-ERROR while compiling # 2020-04-28T10:08:29Z rtvdenys: Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL. 2020-04-28T10:08:29Z rtvdenys: restarts (invokable by number or by possibly-abbreviated name): 2020-04-28T10:08:30Z rtvdenys: 0: [RETRY ] Retry 2020-04-28T10:08:32Z rtvdenys: compiling #. 2020-04-28T10:08:34Z rtvdenys: 1: [ACCEPT ] Continue, treating 2020-04-28T10:08:36Z rtvdenys: compiling # 2020-04-28T10:08:38Z rtvdenys: as having been successful. 2020-04-28T10:08:38Z Shinmera: sigh 2020-04-28T10:08:40Z rtvdenys: 2: Retry ASDF operation. 2020-04-28T10:08:42Z rtvdenys: 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the 2020-04-28T10:08:46Z rtvdenys: configuration. 2020-04-28T10:08:48Z rtvdenys: 4: Retry ASDF operation. 2020-04-28T10:08:50Z rtvdenys: 5: Retry ASDF operation after resetting the 2020-04-28T10:08:52Z rtvdenys: configuration. 2020-04-28T10:08:54Z rtvdenys: 6: [ABORT ] Exit debugger, returning to top level. 2020-04-28T10:08:56Z rtvdenys: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((# . #))) 2020-04-28T10:08:57Z ChanServ has set mode +o phoe 2020-04-28T10:08:59Z rtvdenys: source: (ERROR 'COMPILE-FILE-ERROR :CONTEXT-FORMAT CONTEXT-FORMAT 2020-04-28T10:09:01Z rtvdenys: :CONTEXT-ARGUMENTS CONTEXT-ARGUMENTS) 2020-04-28T10:09:03Z rtvdenys: Does it look like something decipherable? 2020-04-28T10:09:03Z rtvdenys [~phoe@2001:19f0:5:689f:5400:2ff:fe77:b1de] has been kicked from #lisp by phoe (rtvdenys) 2020-04-28T10:10:05Z ChanServ has set mode -o phoe 2020-04-28T10:10:32Z phoe reloads 2020-04-28T10:11:08Z rtvdenys joined #lisp 2020-04-28T10:11:19Z rtvdenys: https://plaster.tymoon.eu/view/1782#1782 2020-04-28T10:11:26Z Shinmera: rtvdenys: Check the REPL for warning messages 2020-04-28T10:11:42Z phoe: rtvdenys: basically, what happens, is: ASDF treats all* compile-time warnings as errors and signals an error 2020-04-28T10:11:43Z Shinmera: C-s WARNING 2020-04-28T10:12:13Z phoe: You also get the warning file name in the error message - so you know that cl-async/src/tcp.lisp is the faulting file 2020-04-28T10:12:18Z phoe: use that to debug your issue 2020-04-28T10:12:56Z rtvdenys: Ah.. Makes sense. I see lots of warnings. I guess I will try to identify them one by one and get rid of them. 2020-04-28T10:13:01Z rtvdenys: Thank you very much. 2020-04-28T10:13:38Z jello_pudding quit (Ping timeout: 246 seconds) 2020-04-28T10:13:54Z no-defun-allowed: Can we see a backtrace? 2020-04-28T10:14:06Z cosimone joined #lisp 2020-04-28T10:14:19Z no-defun-allowed: (:backtrace in the debugger will print that out) 2020-04-28T10:14:51Z phoe: rtvdenys: are you installing cl-async from quicklisp? 2020-04-28T10:14:56Z Blukunfando quit (Read error: Connection reset by peer) 2020-04-28T10:15:06Z phoe: it should work out of the box and compile 2020-04-28T10:15:55Z no-defun-allowed: Do you have libuv installed? 2020-04-28T10:16:00Z doomlist3: (defun hello-world () (list (3 45)) OUT: end of file on # 2020-04-28T10:16:03Z peterhil joined #lisp 2020-04-28T10:16:25Z rtvdenys: https://plaster.tymoon.eu/view/1783#1783 2020-04-28T10:16:38Z rtvdenys: Yes, I do have libuv. 2020-04-28T10:16:46Z beach: doomlist3: Count your parentheses. 2020-04-28T10:16:47Z pve: doomlist3: you need one more ")" 2020-04-28T10:17:06Z rtvdenys: I have checked out cl-async from github to figure out how it works and tried to compile it. 2020-04-28T10:17:24Z no-defun-allowed: Well, it doesn't appear you are grabbing the quicklisp version. That would probably fare better, 2020-04-28T10:17:26Z phoe: rtvdenys: which repo URL? 2020-04-28T10:17:46Z phoe: QL grabs it from https://github.com/orthecreedence/cl-async.git 2020-04-28T10:17:54Z rtvdenys: https://github.com/orthecreedence/cl-async.git 2020-04-28T10:17:59Z rtvdenys: That's the one I check out 2020-04-28T10:18:00Z doomlist3: https://bpaste.net/FCEQ 2020-04-28T10:18:01Z phoe: so it's the same 2020-04-28T10:18:19Z phoe: doomlist3: #clschool plus some programming books might benefit you more 2020-04-28T10:18:56Z phoe: rtvdenys: I have no idea why you get these warnings; cl-async is supposed to compile cleanly if it is on quicklisp 2020-04-28T10:18:57Z beach: doomlist3: This is elementary stuff. You need to grab a book and read it. 2020-04-28T10:18:59Z phoe: let me try to reproduce... 2020-04-28T10:20:03Z White_Flame: minion: tell doomlist3 about pcl 2020-04-28T10:20:04Z minion: doomlist3: please look at 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). 2020-04-28T10:20:20Z doomlist3: minion: i was reading exactly that! 2020-04-28T10:20:21Z minion: well, i've never been reading exactly that 2020-04-28T10:20:42Z no-defun-allowed: I can load it with (ql:quickload :cl-async) 2020-04-28T10:20:59Z Cymew: doomlist3: Learn to use an editor that helps you balance the parens, and it will be much easier. 2020-04-28T10:21:29Z Cymew: doomlist3: I don't remember if Peter talks about that, but there are options. 2020-04-28T10:21:46Z phoe: rtvdenys: can't reproduce, it compiles cleanly on my machine. What's your repository version and which commit is your repository at? 2020-04-28T10:21:48Z beach: doomlist3: Then you will know that ( ) means that is an operator that is applied to as an argument. 2020-04-28T10:21:54Z Cymew: doomlist3: emacs and slime is probably most commonly used on linux. 2020-04-28T10:21:57Z beach: doomlist3: And a number is not a valid operator. 2020-04-28T10:22:27Z rtvdenys: 1ea183a31fa6994129625e3ab2e87ff02458a0f2 <- git revision 2020-04-28T10:22:44Z phoe: rtvdenys: what does (asdf:system-relative-pathname :cl-async "") give you? 2020-04-28T10:22:52Z rtvdenys: oh... looks like my SBCL may be old 2020-04-28T10:22:55Z rtvdenys: SBCL 1.5.5.debian 2020-04-28T10:23:05Z phoe: rtvdenys: that's not exactly the newest, yep 2020-04-28T10:23:28Z rtvdenys: That's what is packaged in Ubuntu 19.10. :( 2020-04-28T10:23:31Z phoe: rtvdenys: just to be sure, please give me (asdf:system-relative-pathname :cl-async "") 2020-04-28T10:23:55Z rtvdenys: #P"/home/rtvd/src/ALIEN/cl-async/" 2020-04-28T10:24:06Z doomlist3: okay and i did (defun hello-world () (list 'bull' 3 "shit")) why is bull an atom and "shit" a string 2020-04-28T10:24:22Z rtvdenys: So I should try to get a fresh SBCL and see what happens. Maybe that will sort it out. 2020-04-28T10:24:36Z beach: doomlist3: Strings are atoms. 2020-04-28T10:24:46Z beach: doomlist3: This is really elementary stuff. 2020-04-28T10:25:06Z White_Flame: quote is a unary operator. It is not a string delimeter pair like doublequote 2020-04-28T10:25:29Z doomlist3: are double and single quotes the same 2020-04-28T10:25:33Z White_Flame: so you really have (list 'bull '3 ... 2020-04-28T10:25:36Z White_Flame: no, read the book 2020-04-28T10:25:50Z White_Flame: you should at least be able to get the basic syntax rules from reference 2020-04-28T10:26:01Z White_Flame: as opposed to just random questions filling in only bits of your understanding 2020-04-28T10:26:56Z doomlist3: by reference you mean gigamonkeys.com? 2020-04-28T10:27:07Z doomlist3: i am reading that book 2020-04-28T10:27:18Z White_Flame: yes, I believe it covers all that 2020-04-28T10:27:42Z _death: 'bull = (quote bull) 2020-04-28T10:27:45Z phoe: rtvdenys: that's good, the pathname to the system seems to be correct. 2020-04-28T10:27:58Z karlosz quit (Quit: karlosz) 2020-04-28T10:28:12Z emys joined #lisp 2020-04-28T10:28:21Z z147 joined #lisp 2020-04-28T10:28:26Z karlosz joined #lisp 2020-04-28T10:28:28Z phoe: let me know what happens after the SBCL update 2020-04-28T10:28:35Z karlosz quit (Remote host closed the connection) 2020-04-28T10:30:56Z specbot quit (Ping timeout: 256 seconds) 2020-04-28T10:32:04Z mgr_ quit (Ping timeout: 256 seconds) 2020-04-28T10:32:07Z corpix_ joined #lisp 2020-04-28T10:32:09Z jello_pudding joined #lisp 2020-04-28T10:32:23Z corpix quit (Ping timeout: 240 seconds) 2020-04-28T10:32:43Z gxt quit (Ping timeout: 240 seconds) 2020-04-28T10:32:57Z emys quit (Ping timeout: 265 seconds) 2020-04-28T10:34:12Z specbot joined #lisp 2020-04-28T10:34:58Z gxt joined #lisp 2020-04-28T10:35:41Z mgr_ joined #lisp 2020-04-28T10:36:06Z Oddity quit (Ping timeout: 260 seconds) 2020-04-28T10:36:30Z emys joined #lisp 2020-04-28T10:36:34Z Krystof joined #lisp 2020-04-28T10:39:09Z frgo quit (Remote host closed the connection) 2020-04-28T10:39:44Z frgo joined #lisp 2020-04-28T10:42:34Z rtvdenys: I've built sbcl 2.0.4 from source and it compiles differently but it still fails. Perhaps I should remove all .fasl files as they were compiled by the previous version? 2020-04-28T10:42:45Z Oddity joined #lisp 2020-04-28T10:43:15Z phoe: that won't really help, FASLs are already invalidated between SBCL versions 2020-04-28T10:43:16Z rtvdenys: It seems to be failing on static-vectors.asd at the moment. 2020-04-28T10:43:37Z phoe: which version of static-vectors do you have downloaded? 2020-04-28T10:43:51Z phoe: also, once again, why aren't you using quicklisp? 2020-04-28T10:45:20Z rtvdenys: 1.8.4 2020-04-28T10:45:45Z rtvdenys: I think I may have got this one from quicklisp but I am not sure. 2020-04-28T10:45:45Z phoe: you should be able to `cd ~/quicklisp/local-projects && git clone cl-async` and then just (ql:quickload :cl-async) 2020-04-28T10:46:27Z phoe: I mean, your issues are foreign to me, but then also you have a setup that doesn't resemble mine 2020-04-28T10:46:46Z narimiran quit (Ping timeout: 260 seconds) 2020-04-28T10:46:54Z phoe: I clone only the projects I edit or whose changes are not yet upstreamed to Quicklisp; the rest, QL pulls for me, including all the dependencies 2020-04-28T10:49:03Z Kundry_Wag joined #lisp 2020-04-28T10:49:33Z rtvdenys: (quicklisp:quickload :cl-async) works fine. But then it may be hiding some warnings, may it not? 2020-04-28T10:50:08Z phoe: rtvdenys: no, it still uses ASDF under the hood 2020-04-28T10:50:18Z phoe: ...but wait a second 2020-04-28T10:50:22Z _death: (setf ql:*quicklisp-verbose* t) in your rc file 2020-04-28T10:50:30Z phoe: again, (asdf:system-relative-pathname :cl-async "") 2020-04-28T10:50:56Z phoe: I want to double-check this one because this still looks like two different versions of cl-async 2020-04-28T10:50:59Z _death: that is, ql:*quickload-verbose* 2020-04-28T10:52:55Z rtvdenys: Hm.. I do not seem to have ql:*quicklisp-verbose* 2020-04-28T10:53:11Z rtvdenys: relative pathname of cl-async still points at the version I have checkout of from github 2020-04-28T10:54:19Z Xach: (ql:quickload :cl-async :verbose t) will show warnings as it builds - but if it's fasl cached already you won't see compilation warnings. 2020-04-28T10:54:32Z phoe: okay, I have no idea why now it compiled fine where previously it didn't compile fine 2020-04-28T10:54:38Z phoe: wat.asd 2020-04-28T10:54:45Z lemoinem quit (Ping timeout: 240 seconds) 2020-04-28T10:54:46Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-28T10:54:54Z doomlist3 quit (Ping timeout: 240 seconds) 2020-04-28T10:55:22Z lemoinem joined #lisp 2020-04-28T10:55:29Z rtvdenys: When I do it from quicklisp then I see no warnings reported. If I try to do it with asdf:load-system then I see a bunch of warnings 2020-04-28T10:56:04Z rtvdenys: Ah... 2020-04-28T10:56:27Z rtvdenys: In a fresh session (quicklisp:quickload :cl-async :verbose t) shows warnings 2020-04-28T10:57:12Z rtvdenys: https://plaster.tymoon.eu/view/1785#1785 2020-04-28T10:57:23Z scymtym joined #lisp 2020-04-28T10:58:06Z _death: unimportant warnings 2020-04-28T10:58:48Z rtvdenys: OK. Maybe they are unimportant. But still, how do I find out which file do they relate to? 2020-04-28T10:58:53Z ArthurStrong quit (Quit: leaving) 2020-04-28T10:59:16Z phoe: they don't seem like they come from cl-async 2020-04-28T10:59:34Z phoe: they come from CFFI, https://github.com/cffi/cffi/blob/5db779dae91945f9edb68552a2fa04e1484b4ac3/src/types.lisp#L620 2020-04-28T11:00:27Z scymtym__ quit (Ping timeout: 260 seconds) 2020-04-28T11:00:39Z _death: rtvdenys: it looks like you didn't compile from scratch.. 2020-04-28T11:01:11Z emys quit (Read error: Connection timed out) 2020-04-28T11:01:14Z phoe: rtvdenys: I'd try to (handler-bind ((style-warning #'break)) (ql:quickload ...)) to capture these style warnings 2020-04-28T11:01:38Z phoe: that'll enter the debugger every time a style-warning is signaled 2020-04-28T11:02:00Z _death: if you delete the cl-async fasls and load verbose, you'll be able to determine where the warnings come from 2020-04-28T11:11:12Z momozor quit (Quit: Lost terminal) 2020-04-28T11:11:34Z doomlist3 joined #lisp 2020-04-28T11:12:36Z rtvdenys: Found it. The warnings are reported in cl-libuv's grovel file 2020-04-28T11:13:40Z rtvdenys: For that I have removed all fasls and ran (quicklisp:quickload :cl-async :verbose t :force t), sending everything to a "less" program. 2020-04-28T11:14:35Z ark quit (Ping timeout: 272 seconds) 2020-04-28T11:15:32Z ark joined #lisp 2020-04-28T11:15:50Z phoe: ooooh 2020-04-28T11:16:36Z phoe: I see - then you'll perhaps want to submit a ticket for that 2020-04-28T11:16:39Z phoe: https://github.com/orthecreedence/cl-libuv/issues 2020-04-28T11:18:46Z rtvdenys: Thankyou 2020-04-28T11:19:06Z emys joined #lisp 2020-04-28T11:21:51Z Nilby joined #lisp 2020-04-28T11:22:25Z Bike joined #lisp 2020-04-28T11:23:38Z emys quit (Ping timeout: 244 seconds) 2020-04-28T11:23:43Z schjetne quit (Ping timeout: 246 seconds) 2020-04-28T11:24:32Z Lord_of_Life_ joined #lisp 2020-04-28T11:24:56Z Kundry_Wag joined #lisp 2020-04-28T11:27:15Z Lord_of_Life quit (Ping timeout: 244 seconds) 2020-04-28T11:27:21Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-28T11:29:22Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-28T11:29:59Z reggie__ joined #lisp 2020-04-28T11:30:13Z Nilby quit (Ping timeout: 264 seconds) 2020-04-28T11:30:40Z reggie_ quit (Ping timeout: 256 seconds) 2020-04-28T11:32:16Z doomlist3: hi 2020-04-28T11:32:17Z doomlist3: https://bpaste.net/HLZA 2020-04-28T11:32:30Z doomlist3: 200 or 2 it gives same spaces column width?? 2020-04-28T11:32:32Z doomlist3: what's wrong 2020-04-28T11:36:04Z ck_: doomlist3: "works for me" .. which lisp are you using? 2020-04-28T11:36:26Z doomlist3: common-lisp-jupyter notebook I see only the same spaces not 200 spaces 2020-04-28T11:36:32Z doomlist3: which would be a lot and would be visible. 2020-04-28T11:36:39Z doomlist3: ck_: can you show me the output 2020-04-28T11:36:46Z jdz: doomlist3: I bet it squashes all the spaces. 2020-04-28T11:37:16Z jdz: Maybe because that's how the HTML works if the content is not in any of the "pre-formatted" elements. 2020-04-28T11:37:57Z phoe: https://plaster.tymoon.eu/view/1786#1786 2020-04-28T11:38:05Z phoe: works for me in terminal 2020-04-28T11:38:47Z phoe: so that's likely the cl-jupyter bug 2020-04-28T11:38:57Z phoe: orrrr something in the config?... I dunno 2020-04-28T11:39:28Z phoe: I know nothing about Jupyter itself 2020-04-28T11:41:51Z schjetne joined #lisp 2020-04-28T11:43:10Z ck_: doomlist3: maybe take a look at the html source to see whether it's actually the browser that modfiies the output 2020-04-28T11:47:13Z ck_: also, try comparing the output of these: (format t "~a:~20,1,0@a" :format "test") and (format t "~a:~20,1,0'_@a" :format "test") 2020-04-28T11:49:15Z shifty quit (Ping timeout: 240 seconds) 2020-04-28T11:49:41Z shifty joined #lisp 2020-04-28T11:51:27Z ck_: sorry, the latter is missing a comma before the ' -- it should be (format t "~a:~20,1,0,'_@a" :format "test") 2020-04-28T11:55:25Z doomlist3 quit (Ping timeout: 265 seconds) 2020-04-28T11:59:47Z dddddd joined #lisp 2020-04-28T12:00:49Z EvW joined #lisp 2020-04-28T12:08:30Z dmiles quit (Ping timeout: 260 seconds) 2020-04-28T12:13:39Z dmiles joined #lisp 2020-04-28T12:14:13Z heisig quit (Quit: Leaving) 2020-04-28T12:21:04Z narimiran joined #lisp 2020-04-28T12:22:56Z schjetne quit (Read error: Connection reset by peer) 2020-04-28T12:23:31Z schjetne joined #lisp 2020-04-28T12:28:34Z ljavorsk quit (Ping timeout: 240 seconds) 2020-04-28T12:31:36Z Kundry_Wag joined #lisp 2020-04-28T12:32:05Z ljavorsk joined #lisp 2020-04-28T12:40:09Z SGASAU quit (Remote host closed the connection) 2020-04-28T12:40:57Z SGASAU joined #lisp 2020-04-28T12:42:40Z z147_ joined #lisp 2020-04-28T12:44:26Z ljavorsk quit (Ping timeout: 260 seconds) 2020-04-28T12:44:34Z shifty quit (Ping timeout: 246 seconds) 2020-04-28T12:45:23Z z147 quit (Ping timeout: 240 seconds) 2020-04-28T12:45:37Z shifty joined #lisp 2020-04-28T12:47:00Z bitmapper joined #lisp 2020-04-28T12:49:59Z scymtym quit (Remote host closed the connection) 2020-04-28T12:56:58Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-28T13:05:35Z kopiyka quit (Remote host closed the connection) 2020-04-28T13:07:25Z gko joined #lisp 2020-04-28T13:12:36Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-28T13:21:21Z amerlyq joined #lisp 2020-04-28T13:21:35Z Josh_2 joined #lisp 2020-04-28T13:23:50Z shifty quit (Ping timeout: 256 seconds) 2020-04-28T13:24:54Z shifty joined #lisp 2020-04-28T13:29:34Z tankman joined #lisp 2020-04-28T13:30:20Z Kundry_Wag joined #lisp 2020-04-28T13:50:54Z efm joined #lisp 2020-04-28T13:52:17Z scymtym joined #lisp 2020-04-28T14:00:05Z patlv joined #lisp 2020-04-28T14:02:12Z heisig joined #lisp 2020-04-28T14:05:25Z Kundry_Wag quit (Ping timeout: 246 seconds) 2020-04-28T14:05:46Z shifty quit (Ping timeout: 246 seconds) 2020-04-28T14:12:27Z rixard joined #lisp 2020-04-28T14:13:40Z kslt1 joined #lisp 2020-04-28T14:17:14Z rixard quit (Ping timeout: 260 seconds) 2020-04-28T14:17:55Z tankman quit (Quit: Leaving) 2020-04-28T14:18:10Z rixard joined #lisp 2020-04-28T14:21:46Z ahungry joined #lisp 2020-04-28T14:22:34Z rixard quit (Ping timeout: 246 seconds) 2020-04-28T14:22:51Z cosimone quit (Quit: Quit.) 2020-04-28T14:23:14Z cosimone joined #lisp 2020-04-28T14:25:34Z copec quit (Ping timeout: 240 seconds) 2020-04-28T14:49:55Z luckless quit (Ping timeout: 272 seconds) 2020-04-28T14:51:59Z efm quit (Remote host closed the connection) 2020-04-28T14:52:22Z efm joined #lisp 2020-04-28T14:52:26Z egao1980 joined #lisp 2020-04-28T14:54:36Z egao1980 quit (Remote host closed the connection) 2020-04-28T14:56:51Z sjl_ joined #lisp 2020-04-28T14:57:45Z EvW quit (Ping timeout: 240 seconds) 2020-04-28T15:02:56Z KorbenDallas joined #lisp 2020-04-28T15:03:13Z KorbenDallas left #lisp 2020-04-28T15:05:33Z rippa joined #lisp 2020-04-28T15:11:26Z egao1980 joined #lisp 2020-04-28T15:12:42Z catalinbostan quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-28T15:13:31Z emys joined #lisp 2020-04-28T15:16:02Z egao1980 quit (Ping timeout: 260 seconds) 2020-04-28T15:16:25Z Cymew quit (Ping timeout: 264 seconds) 2020-04-28T15:17:12Z Nilby joined #lisp 2020-04-28T15:17:14Z Cymew joined #lisp 2020-04-28T15:17:19Z Nilby: #els2020 2020-04-28T15:17:58Z beach: That works? 2020-04-28T15:18:01Z marcoxa joined #lisp 2020-04-28T15:19:41Z marcoxa quit (Client Quit) 2020-04-28T15:20:09Z kslt1 quit (Remote host closed the connection) 2020-04-28T15:20:57Z scymtym_ joined #lisp 2020-04-28T15:22:30Z Nilby quit (Quit: 👽愛🆑) 2020-04-28T15:23:15Z efm quit (Ping timeout: 240 seconds) 2020-04-28T15:24:07Z scymtym quit (Ping timeout: 260 seconds) 2020-04-28T15:24:45Z Kundry_Wag joined #lisp 2020-04-28T15:25:55Z Cymew quit (Ping timeout: 246 seconds) 2020-04-28T15:26:19Z Cymew joined #lisp 2020-04-28T15:28:05Z SGASAU quit (Remote host closed the connection) 2020-04-28T15:29:04Z SGASAU joined #lisp 2020-04-28T15:29:10Z Kundry_Wag quit (Ping timeout: 260 seconds) 2020-04-28T15:29:52Z arduo quit (Remote host closed the connection) 2020-04-28T15:30:01Z emys quit (Ping timeout: 265 seconds) 2020-04-28T15:31:24Z Kundry_Wag joined #lisp 2020-04-28T15:36:48Z scymtym_ quit (Remote host closed the connection) 2020-04-28T15:37:19Z scymtym joined #lisp 2020-04-28T15:37:51Z emys joined #lisp 2020-04-28T15:39:22Z theseb joined #lisp 2020-04-28T15:40:30Z theseb: So is it customary for an interpreter to only print the value of the LAST expression? (I'm writing my own little implementation) 2020-04-28T15:40:54Z theseb: is it ever normal/conventional to print ALL values of ALL the evaluated expressions? 2020-04-28T15:42:08Z beach: theseb: It depends on the context. 2020-04-28T15:42:25Z beach: theseb: Besides, it might not be an interpreter. 2020-04-28T15:43:21Z beach: theseb: Most modern Common Lisp implementations compile on the fly to native code. 2020-04-28T15:45:34Z phoe: theseb: is your Lisp going to have a REPL? 2020-04-28T15:46:20Z phoe: also, what do you mean, all values of all evaluated expressions 2020-04-28T15:46:37Z phoe: if you use a REPL, you talk with the REPL expression-after-expression 2020-04-28T15:46:41Z beach: Using LOAD, maybe? 2020-04-28T15:46:56Z phoe: if you load or compile a file, it's usually unnecessary to print the results 2020-04-28T15:47:08Z jcob quit (Quit: goodbye fellas!) 2020-04-28T15:47:41Z phoe: if you have several DEFUNs in there, for instance, I can't really find a use case for printing all the function names to the REPL 2020-04-28T15:56:05Z theseb: phoe: my interpreter reads a file of expressions and emits results 2020-04-28T15:56:23Z EvW1 joined #lisp 2020-04-28T15:56:57Z theseb: phoe: so if i read a file you recommend printing just the last value? 2020-04-28T15:59:43Z phoe: theseb: nope, I recommend printing only the result of LOAD 2020-04-28T15:59:45Z phoe: clhs load 2020-04-28T15:59:45Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_load.htm 2020-04-28T15:59:58Z phoe: only print if there are explicit PRINT calls in your code 2020-04-28T16:00:35Z beach: theseb: It is a Read-Eval-Print-Loop. 2020-04-28T16:00:50Z beach: theseb: Nothing is printed when the code is read. 2020-04-28T16:01:16Z theseb: beach: not when read but what about when *evaluted*? 2020-04-28T16:01:29Z beach: No, not when evaluated. 2020-04-28T16:01:40Z beach: The value of the evaluation is printed. 2020-04-28T16:01:55Z beach: If you load the file using LOAD, then the value stipulated by LOAD is printed. 2020-04-28T16:03:27Z beach: theseb: In the case of Common Lisp LOAD, a single generalized Boolean value is returned, so that is the one that is printed. 2020-04-28T16:04:28Z beach: theseb: EVAL is just a function that takes a form and returns a value. No printing there either. 2020-04-28T16:06:01Z efm joined #lisp 2020-04-28T16:12:19Z rogersm quit (Quit: Leaving...) 2020-04-28T16:13:26Z emys quit (Ping timeout: 260 seconds) 2020-04-28T16:15:52Z aeroful joined #lisp 2020-04-28T16:16:39Z mk2 joined #lisp 2020-04-28T16:17:17Z emys joined #lisp 2020-04-28T16:17:21Z milanj joined #lisp 2020-04-28T16:17:28Z vibs29 joined #lisp 2020-04-28T16:18:43Z axion: Xach: I am experiencing some strangeness with zpb-exif 2020-04-28T16:18:45Z Nilby joined #lisp 2020-04-28T16:20:33Z copec joined #lisp 2020-04-28T16:20:37Z Xach: wow, two people mentioning it in a week, that is a record for zpb-exif 2020-04-28T16:20:42Z axion: exif-alist works, but ifd-alist is giving a no applicable method error (zpb-exif::entries when called with an exif instance argument) 2020-04-28T16:20:52Z krid quit (Ping timeout: 246 seconds) 2020-04-28T16:20:54Z Xach: hmm 2020-04-28T16:20:58Z Xach: is it an image you can share? 2020-04-28T16:21:11Z aeroful left #lisp 2020-04-28T16:21:19Z axion: Well it's not jpeg. I'm using 3b's fork that allows parsing an octet vector rather than a file 2020-04-28T16:21:30Z axion: But it parses successfully. I can see all the key/values 2020-04-28T16:21:38Z Xach: oh 2020-04-28T16:21:40Z egao1980 joined #lisp 2020-04-28T16:23:34Z axion: https://gist.github.com/mfiano/8eb405670f35231689779b85773d6120 2020-04-28T16:24:57Z Xach: axion: ifd-alist is called on an ifd, not an exif... 2020-04-28T16:25:14Z axion: [Function] 2020-04-28T16:25:14Z axion: exif-alist exif &key parsedp => alist 2020-04-28T16:25:17Z axion: oops :) 2020-04-28T16:25:32Z axion: or rather 2020-04-28T16:25:33Z axion: [Function] 2020-04-28T16:25:34Z axion: ifd-alist exif &key parsedp => alist 2020-04-28T16:25:43Z axion: reading the docs :) 2020-04-28T16:26:05Z Xach: that is definitely a doc bug. it's meant to take one of the ifds in the exif, not the exif. 2020-04-28T16:26:51Z lemoinem quit (Ping timeout: 240 seconds) 2020-04-28T16:26:51Z lemoinem joined #lisp 2020-04-28T16:26:55Z Xach: like image-ifd, exif-ifd, gps-ifd 2020-04-28T16:27:24Z axion: I see, thanks 2020-04-28T16:29:37Z Cymew quit (Ping timeout: 246 seconds) 2020-04-28T16:29:45Z emys quit (Ping timeout: 240 seconds) 2020-04-28T16:29:45Z Cymew joined #lisp 2020-04-28T16:32:24Z axion: Xach: I get the same alist with (exif-alist exif :parsedp t) that i do with (ifd-alist (image-ifd exif) :parsedp t). Is that correct? I'm not very familiar with this format 2020-04-28T16:32:45Z Xach: axion: I don't remember, sorry. 2020-04-28T16:33:00Z axion: Ok 2020-04-28T16:33:06Z Xach: I *think* it might help to know the exif standard well before using zpb-exif, but I'm not sure. 2020-04-28T16:33:40Z Xach: I honestly can't remember why I wrote it. possibly for some graphics website or something. 2020-04-28T16:33:55Z emys joined #lisp 2020-04-28T16:34:45Z axion: Well regardless, it works and it's better than the only other parser, so thanks! pngload will soon have exif support 2020-04-28T16:34:56Z Xach: sweet 2020-04-28T16:39:36Z axion: I think 3b is going to send you a PR for reading from an octet vector (simple change, additional non-breaking API function) 2020-04-28T16:41:24Z dale_ joined #lisp 2020-04-28T16:41:36Z dale_ is now known as dale 2020-04-28T16:47:35Z davd joined #lisp 2020-04-28T16:50:06Z Xach: doc fix would be welcome too! 2020-04-28T16:53:38Z CrazyEddy quit (Ping timeout: 260 seconds) 2020-04-28T16:55:38Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-28T16:57:11Z |3b|: yeah, will send a PR for the exit octet-vector stuff after testing it a bit more. 2020-04-28T16:57:21Z rgherdt_ quit (Remote host closed the connection) 2020-04-28T16:57:57Z |3b|: i think exif-alist includes image-ifd and a few other common IFDs, but not all of them, so you need ifd-alist for the rest 2020-04-28T16:59:44Z stoneglass joined #lisp 2020-04-28T17:02:14Z Bourne joined #lisp 2020-04-28T17:06:44Z MerlinTheWizard joined #lisp 2020-04-28T17:07:09Z Lycurgus joined #lisp 2020-04-28T17:17:14Z flip214 quit (Ping timeout: 258 seconds) 2020-04-28T17:18:47Z flip214 joined #lisp 2020-04-28T17:23:08Z MerlinTheWizard: In PCL Chapter 20 - The Special Operators, under "Unwinding the Stack", Peter Seibel talks about 'closures' and uses the phrase 'closed over' to mean something that to me doesn't sound any different from 'referenced': 2020-04-28T17:23:14Z MerlinTheWizard: http://www.gigamonkeys.com/book/the-special-operators.html 2020-04-28T17:23:49Z MerlinTheWizard: What is the difference in that context between a 'closure' and a 'reference'? Can anyone tell me? 2020-04-28T17:24:19Z |3b|: if you have a variable binding (let ((x 1)) ...) the binding normally no longer exists after that LET form exits 2020-04-28T17:25:17Z |3b|: if it is (let ((x 1)) (lambda () x)), the function returned from the let continues to use that binding, so it continues to exist, and that is called a closure, and x is "closed over" 2020-04-28T17:25:24Z Xach: a closure is a function object. the references to enclosing lexical bindings distinguish a mundane function object from a closure. 2020-04-28T17:25:49Z Bike: it's a bit more complicated since in this context, rather than closing over a binding, it's closing over an exit point, which does actually cease being valid once the block exits 2020-04-28T17:26:09Z |3b|: in particular, if you have (let ((x 1)) (lambda () x) (lambda () (incf x))), both function continue to access the /same/ binding of X, so calling the 2nd will change the value returned by the first 2020-04-28T17:26:55Z MerlinTheWizard: |3b|, I very roughly understand that explanation of closure, but it doesn't seem to apply here in this context. 2020-04-28T17:27:00Z |3b|: ah, same thing applies to block names and tags, though you can't access those after it exits 2020-04-28T17:27:06Z MerlinTheWizard: It looks just like a normal reference to me. 2020-04-28T17:27:26Z MerlinTheWizard: Can you explain why? 2020-04-28T17:28:44Z |3b|: hmm, to some extent there might not be much difference in that case, since it is limited to the scope of the outer form 2020-04-28T17:28:44Z MerlinTheWizard: I mean in this context, BLOCK a just exists for its normal lexical scope. There's no modification of the scope of a reference. So how is it a closure? 2020-04-28T17:29:52Z |3b|: though it still has to maintain a reference to the containing environment in the function object 2020-04-28T17:30:10Z gko quit (Ping timeout: 246 seconds) 2020-04-28T17:30:16Z Bike: because it refers to the same block even if called in a context in which there's another block with the same name 2020-04-28T17:30:19Z MerlinTheWizard: 3b, like any ordinary lexical symbol, as far as I know. 2020-04-28T17:30:35Z Bike: well, yes, it's like any ordinary lexical variable in that respect 2020-04-28T17:30:42Z Bike: lexical variables are also closed over 2020-04-28T17:30:52Z |3b|: (lambda (x) x) contains its own environment, and doesn't reference anything outside that function 2020-04-28T17:31:12Z |3b|: (let ((x 1)) (lambda () x)) has to keep a ref to the containing environment 2020-04-28T17:31:16Z Bike: if you have (block nil (let ((f (lambda () (return-from nil)))) (block nil (funcall f)) (print "H")))), no H is printed 2020-04-28T17:31:18Z |3b|: block works the same way 2020-04-28T17:31:34Z Bike: since the function knows where it's supposed to return to - it's "closed over" that information 2020-04-28T17:31:39Z |3b|: yeah, that :) 2020-04-28T17:33:03Z Bike: if you do this with catch/throw (the operators explained a bit farther on in the text), nothing is closed over and H is printed 2020-04-28T17:33:06Z MerlinTheWizard: Bike, I need someone to draw me a picture or something. This concept is hard enough to grasp on it's own, but when the term 'closure' is used when 'reference' would do, it makes understanding this idea even harder. 2020-04-28T17:33:54Z MerlinTheWizard: Bike, Catch and throw, don't these usually kind of break the lexical environment? 2020-04-28T17:33:57Z phoe: MerlinTheWizard: what does "reference" mean in your internal language? 2020-04-28T17:34:01Z TMA: MerlinTheWizard: basically, there are two kinds of reference. 2020-04-28T17:34:04Z Bike: i don't know what you mean by "break the lexical environment". 2020-04-28T17:34:07Z phoe: MerlinTheWizard: lisp CATCH and THROW are dynamic, not lexical 2020-04-28T17:34:15Z TMA: MerlinTheWizard: a lexical and a dynamic 2020-04-28T17:34:27Z phoe: they are like BLOCK and RETURN-FROM except they work dynamically and can therefore be e.g. in separate functions 2020-04-28T17:34:45Z MerlinTheWizard: phoe, yes, that's kind of what I mean. 2020-04-28T17:34:53Z phoe: (defun foo () (throw 'shuriken 42)) (defun bar () (catch 'shuriken (foo))) 2020-04-28T17:35:01Z phoe: (bar) ;=> 42 2020-04-28T17:35:01Z MerlinTheWizard: I guess 'break' might be a harsh word there. 2020-04-28T17:35:16Z Aurora_v_kosmose quit (Quit: Пока, мир.) 2020-04-28T17:35:24Z phoe: BLOCK and RETURN-FROM work lexically 2020-04-28T17:36:02Z MerlinTheWizard: phoe, 'reference' is quite a broad term, a very fundamental term within semantics, and therefore hard to define. 2020-04-28T17:36:06Z Aurora_v_kosmose joined #lisp 2020-04-28T17:36:20Z Bike: and closure and reference mean different things. casually, i might say that a "closure" "closes over" a variable so that the correct one can be "referenced" when the function is called 2020-04-28T17:36:21Z MerlinTheWizard: Usually when a refers to b, a can stand in for b. 2020-04-28T17:36:57Z Bike: lisp has lots of side effects, so referential transparency like that isn't quite enough 2020-04-28T17:38:15Z MerlinTheWizard: Bike, in this case the semantics of the supposed 'closure' seems to refer to something that happens in any ordinary function return. 2020-04-28T17:38:31Z Grue`: what is the context where the word 'closure' can be replaced by 'reference'? seems like refer to completely different things 2020-04-28T17:38:33Z MerlinTheWizard: It seems like the 'BLOCK' could just be replaced by a function. 2020-04-28T17:38:41Z Bike: you say "ordinary" but this is like, not something that's possible in many languages. 2020-04-28T17:38:44Z phoe: MerlinTheWizard: which sort of function? 2020-04-28T17:38:57Z MerlinTheWizard: In PCL Chapter 20 - The Special Operators, under "Unwinding the Stack", Peter Seibel talks about 'closures' and uses the phrase 'closed over' to mean something that to me doesn't sound any different from 'referenced': 2020-04-28T17:38:57Z MerlinTheWizard: http://www.gigamonkeys.com/book/the-special-operators.html 2020-04-28T17:39:06Z Bike: yes, we know that part 2020-04-28T17:39:09Z Grue`: i saw that 2020-04-28T17:39:11Z phoe: BLOCK is a control flow operator that you can return values from 2020-04-28T17:39:16Z Grue`: but i still don't understand your point 2020-04-28T17:39:24Z MerlinTheWizard: phoe, precisely, just like a function. 2020-04-28T17:39:35Z Bike: huh? 2020-04-28T17:39:38Z phoe: MerlinTheWizard: I still don't understand 2020-04-28T17:39:42Z MerlinTheWizard: This could be replaced by a pure function with no side effects couldn't it? 2020-04-28T17:39:42Z phoe: can you give me a code example? 2020-04-28T17:39:52Z phoe: no, why? 2020-04-28T17:40:00Z phoe: the code inside the BLOCK can freely perform side effects 2020-04-28T17:40:01Z TMA: MerlinTheWizard: do you understand the difference between a dynamic binding and a lexical binding? 2020-04-28T17:40:01Z Bike: okay, so let's take the first example in that section of the book there. 2020-04-28T17:40:02Z shifty joined #lisp 2020-04-28T17:40:31Z phoe: (block nil (print 42) ... (when (foo-p) (return-from nil 42)) ...) 2020-04-28T17:40:34Z Bike: the point is that when bar is called, it calls that lambda, which immediately returns from (block a...), so the "Leaving BLOCK" is never executed. 2020-04-28T17:40:48Z MerlinTheWizard: TMA, yes. dynamic is sort of global - sort of. 2020-04-28T17:41:11Z Shinmera: Wha 2020-04-28T17:41:16Z Bike: you could like, rewrite this in continuation passing style or something and then it could be all pure functions. maybe that's what you mean? 2020-04-28T17:41:20Z TMA: MerlinTheWizard: if so then 'close over x' means 'keep reference to the lexical binding currently in effect' and closure is the result of that process 2020-04-28T17:41:45Z MerlinTheWizard: Bike, that's what happens with typical early 'return', which can happen in a pure function. 2020-04-28T17:42:07Z TMA: MerlinTheWizard: so closure is not something that is a reference, but something that keeps the reference inside itself intact 2020-04-28T17:42:14Z Bike: MerlinTheWizard: let's back up a moment. you say "typical". what is your reference frame for "typical"? are you thinking of some other programming language or what? 2020-04-28T17:42:24Z Grue`: A is "closed over" B is more like B is "referenced" by A. So it's kind of the opposite? 2020-04-28T17:42:42Z MerlinTheWizard: Bike, yeah, languages like 'C' and 'Bash' behave this way. 2020-04-28T17:42:58Z phoe: MerlinTheWizard: in Lisp you don't have to early-return from a pure function 2020-04-28T17:43:04Z phoe: you don't even have to return from a function 2020-04-28T17:43:09Z Bike: C does not have closures at all, so the example in the book is not possible. 2020-04-28T17:43:17Z Bike: I mean, there's nothing analogous to LAMBDA, right? 2020-04-28T17:43:19Z phoe: (if foo-p (block nil ...) (block another-nil ...)) is perfectly fine 2020-04-28T17:43:21Z MerlinTheWizard: phoe, there is an implicit return in lisp. 2020-04-28T17:43:43Z Bike: You can pass function pointers around, but when a "return" statement is executed, it returns only from the function the statement is in. 2020-04-28T17:45:04Z MerlinTheWizard: Bike, is the lambda in bar? 2020-04-28T17:45:39Z Bike: Again, I'm talking about the first example in the section you linked. Consider (bar #'(lambda () (return-from a))). How would you write that in C? 2020-04-28T17:45:40Z phoe: in the PCL example, an anonymous function is passed to bar as an argument 2020-04-28T17:45:43Z MerlinTheWizard: It looks like it's kind of tacked on to bar. 2020-04-28T17:45:46Z kopiyka joined #lisp 2020-04-28T17:45:53Z phoe: it's not really tacked on, it's a separate function 2020-04-28T17:46:00Z Bike: BAR is just a function. (bar #'(lambda () (return-from a))) is a function call with one argument. 2020-04-28T17:46:16Z toorevitimirp joined #lisp 2020-04-28T17:46:18Z phoe: this is equivalent to (let ((fn (lambda () (return-from a)))) (bar fn)) 2020-04-28T17:46:30Z MerlinTheWizard: Oh, bar takes a function argument, that's right. 2020-04-28T17:46:37Z Bike: right. 2020-04-28T17:46:53Z MerlinTheWizard: So the lambda makes bar close over the BLOCK? 2020-04-28T17:46:59Z Bike: yes. 2020-04-28T17:47:08Z Bike: this function's body is (return-from a). It returns from the (block a...), which is outside the function itself. 2020-04-28T17:47:20Z Bike: This is not something you can do in C (I mean there's longjmp, but it sucks) 2020-04-28T17:47:20Z MerlinTheWizard: Ok, so block captures the reference. I believe I'm sort of getting it now. 2020-04-28T17:47:50Z phoe: the block doesn't capture anything, it just stands there 2020-04-28T17:48:03Z phoe: it is the function that now "remembers" where it needs to return to 2020-04-28T17:48:04Z Bike: the block kind of is the thing being captured. 2020-04-28T17:48:10Z MerlinTheWizard: phoe, I got that. BLOCK is the object referred to. 2020-04-28T17:48:15Z phoe: yes 2020-04-28T17:48:35Z phoe: in Lisp, and not only, that is called "closing over" some things 2020-04-28T17:48:49Z phoe: a function can close over a block and then that function can go into other places 2020-04-28T17:48:51Z MerlinTheWizard: So, in a closure, a referenced symbol is always made available outside of it's normal scope? 2020-04-28T17:48:54Z copec quit (Ping timeout: 240 seconds) 2020-04-28T17:49:04Z schjetne quit (Ping timeout: 244 seconds) 2020-04-28T17:49:04Z phoe: it's not really a symbol that is being made available 2020-04-28T17:49:06Z JuxTApoze joined #lisp 2020-04-28T17:49:08Z Bike: It's still in scope. 2020-04-28T17:49:11Z JuxTApoze: o/ all 2020-04-28T17:49:15Z phoe: it is the block, in this case 2020-04-28T17:49:31Z phoe: JuxTApoze: helloooo 2020-04-28T17:50:12Z MerlinTheWizard: Right, so bar is running within that scope. I guess that's what threw me. 2020-04-28T17:50:39Z MerlinTheWizard: So why is it a closure then, if it's still in the same scope? 2020-04-28T17:51:14Z MerlinTheWizard: Because bar doesn't normally have that block as a thing to return from? 2020-04-28T17:51:16Z Bike: Why is the (lambda () (return-from a)) a closure? 2020-04-28T17:51:26Z MerlinTheWizard: Yeah. 2020-04-28T17:51:57Z phoe: because it refers to a block named by symbol A, even though that block is outside the body of that function 2020-04-28T17:52:02Z Bike: I gave an example a while ago. The closure has to "know" where it's returning from. For example, if the body of the BAR function had another (block a ...), that would have no relevance on where the closure would return from. 2020-04-28T17:53:09Z MerlinTheWizard: So bar's own lexical binding of 'block a' is shadowed, and that makes it a closure? 2020-04-28T17:53:27Z Bike: It's not that it's shadowed, it's just not relevant. 2020-04-28T17:53:57Z Bike: What makes (lambda () (return-from a)) a closure is that it refers to a kind of lexical binding outside the function body, so it has to carry information about that binding around. 2020-04-28T17:54:11Z Bike: a kind of lexical binding FROM outside* 2020-04-28T17:54:28Z Bike: is this not explained earlier in the book for variables? 2020-04-28T17:54:45Z ayuce joined #lisp 2020-04-28T17:54:59Z MerlinTheWizard: Bike, he might have briefly mentioned closures earlier, but I guess I didn't get it. 2020-04-28T17:55:12Z Bike: they're explained in chapter 6, "Variables", it seems 2020-04-28T17:55:29Z Bike: in the "Lexical Variables and Closures" section 2020-04-28T17:55:58Z MerlinTheWizard: Bike, I've read explanations of closures before. They were always confusing to me. 2020-04-28T17:56:41Z MerlinTheWizard: If they always referred to capture of a symbol outside of it's lexical scope, I guess it would make sense to me. 2020-04-28T17:57:24Z MerlinTheWizard: But in this case, the lexical scope is preserved from the perspective of the instance (although not from the definition of bar) 2020-04-28T17:58:20Z Cymew: MerlinTheWizard: This is a really good explanation of closures, if you don't mind the rust code: https://doc.rust-lang.org/book/ch13-01-closures.html 2020-04-28T17:58:45Z Bike: There's the example of (let ((count 0)) #'(lambda () (setf count (1+ count)))) in the Variables chapter. The point is that the function "closes over" the binding of COUNT, so if you call the function repeatedly it updates that same binding. 2020-04-28T17:59:18Z Bike: as it says, you can do (defparameter *fn* (let ((count 0)) #'(lambda () (setf count (1+ count))))), and then (funcall *fn*) => 1, (funcall *fn*) => 2, ... 2020-04-28T17:59:34Z MerlinTheWizard: Cymew, that looks good, thanks. 2020-04-28T17:59:44Z Bike: i would try to understand it with variables before going on to block/return-from, personally 2020-04-28T18:00:08Z phoe: yes, I'd go with the classical getter/setter example first 2020-04-28T18:00:29Z phoe: (let ((x 0)) (list (lambda () x) (lambda (y) (setf x y)))) 2020-04-28T18:00:47Z phoe: there, a closure is just a poor man's object 2020-04-28T18:02:01Z MerlinTheWizard: phoe, everything is an object in CL, so that's kind of a bad wording. 2020-04-28T18:02:52Z Bike: oh shit gottem 2020-04-28T18:02:57Z fourier joined #lisp 2020-04-28T18:03:01Z Xach: i like to think of a closure as a function that carries around (some of) its defining lexical environment 2020-04-28T18:03:09Z phoe: MerlinTheWizard: an object in the traditional OOP sense; something with slots that you can get and set 2020-04-28T18:03:21Z phoe: s/slots/fields/ ;; if we want to use more traditional terminology 2020-04-28T18:03:33Z fourier: hello all, just want to check if the crowd is here after the conference 2020-04-28T18:03:38Z MerlinTheWizard: Ok, that makes more sense. 2020-04-28T18:04:00Z phoe: fourier: here and in #els2020 2020-04-28T18:04:11Z fourier: oh that channel as well, thanks 2020-04-28T18:05:21Z fourier: anyone able to quickload osicat on LispWorks 32bit for Linux ? 2020-04-28T18:05:56Z MerlinTheWizard: phoe, yes, that makes sense, it just doesn't really apply to the current example, except that a reference is being carried by a function. 2020-04-28T18:06:07Z ark quit (Ping timeout: 244 seconds) 2020-04-28T18:06:08Z fourier: I would think the problem could be with any 32bit CL on Linux: Error: Unable to load any of the alternatives: ("librt.so.1" "librt.so") 2020-04-28T18:06:29Z MerlinTheWizard: Anyway, I'm probably getting it a little better now, so thanks everyone for your help. 2020-04-28T18:06:42Z phoe: MerlinTheWizard: that's the whole point - a reference to this place is carried around by these lambdas 2020-04-28T18:06:49Z fourier: while specifying the full path to 32bit variant of librt.so works.. 2020-04-28T18:07:24Z ark joined #lisp 2020-04-28T18:07:59Z cosimone quit (Remote host closed the connection) 2020-04-28T18:08:01Z MerlinTheWizard quit (Remote host closed the connection) 2020-04-28T18:08:24Z cosimone joined #lisp 2020-04-28T18:08:27Z MerlinTheWizard joined #lisp 2020-04-28T18:08:41Z schjetne joined #lisp 2020-04-28T18:14:26Z fourier: apparently some magic with how cffi searches for libraries 2020-04-28T18:15:47Z _death: phoe: cool @ https://i.redd.it/0wgtrq978fv41.jpg .. methinks heisig could put it in the sealable-metaobject repo :d 2020-04-28T18:16:39Z Josh_2 quit (Ping timeout: 258 seconds) 2020-04-28T18:17:09Z phoe: _death: I don't think JPEGs are supposed to be stuffed in git repos, but oh well 2020-04-28T18:17:38Z _death: it's ok if they're small enough and you don't modify them 2020-04-28T18:17:56Z phoe: could be good then 2020-04-28T18:19:08Z beach: MerlinTheWizard: Not everything in Common Lisp is an object. A comment is not an object for instance. Neither is a place. 2020-04-28T18:19:34Z emys quit (Ping timeout: 256 seconds) 2020-04-28T18:20:20Z emys joined #lisp 2020-04-28T18:22:03Z boeg: does anyone know if let over lambda is available somewhere as epub? 2020-04-28T18:22:25Z Lycurgus quit (Ping timeout: 264 seconds) 2020-04-28T18:23:19Z phoe: boeg: not in official distribution AFAIK 2020-04-28T18:23:45Z boeg: phoe: yeah, thats what i'm seeing too, too bad 2020-04-28T18:23:52Z Lycurgus joined #lisp 2020-04-28T18:25:01Z Lycurgus quit (Remote host closed the connection) 2020-04-28T18:25:31Z schjetne quit (Read error: Connection reset by peer) 2020-04-28T18:25:37Z sauvin quit (Read error: Connection reset by peer) 2020-04-28T18:25:49Z schjetne joined #lisp 2020-04-28T18:26:15Z Bourne quit (Ping timeout: 240 seconds) 2020-04-28T18:32:28Z emys quit (Ping timeout: 246 seconds) 2020-04-28T18:34:11Z himmAllRight quit (Remote host closed the connection) 2020-04-28T18:34:44Z himmAllRight joined #lisp 2020-04-28T18:34:49Z Cymew: That metaobject jpg is really neat. :) 2020-04-28T18:35:51Z merkur joined #lisp 2020-04-28T18:36:43Z merkur quit (Remote host closed the connection) 2020-04-28T18:37:09Z emys joined #lisp 2020-04-28T18:39:14Z himmAllRight quit (Remote host closed the connection) 2020-04-28T18:40:13Z fourier quit (Ping timeout: 244 seconds) 2020-04-28T18:42:49Z krid joined #lisp 2020-04-28T18:45:34Z fourier joined #lisp 2020-04-28T18:45:38Z emys quit (Ping timeout: 260 seconds) 2020-04-28T18:47:03Z Aurora_v_kosmose quit (Ping timeout: 240 seconds) 2020-04-28T18:47:38Z gendl: Hi, i just installed mysql on my mac with brew, set the root password, and quickloaded clsql in CCL. Can anyone give a quick pointer about how to connect to mysql from CL? And is clsql even what I should be using at this juncture? 2020-04-28T18:47:54Z shifty quit (Ping timeout: 260 seconds) 2020-04-28T18:48:13Z shifty joined #lisp 2020-04-28T18:48:29Z shangul quit (Ping timeout: 244 seconds) 2020-04-28T18:48:43Z gendl: The manual seems to be missing from here: http://clsql.kpe.io/documentation.html and although Kevin Rosenberg has done some great stuff it seems he's not active these days... 2020-04-28T18:48:45Z Aurora_v_kosmose joined #lisp 2020-04-28T18:49:50Z emys joined #lisp 2020-04-28T18:51:01Z gabiruh quit (Ping timeout: 246 seconds) 2020-04-28T18:51:55Z phoe: gendl: http://clsql.kpe.io/manual/ ? 2020-04-28T18:52:31Z phoe: the doc is in poor shape though 2020-04-28T18:52:38Z himmAllRight joined #lisp 2020-04-28T18:53:34Z gendl: i just got a connection working with cl-mysql 2020-04-28T18:53:53Z karlosz joined #lisp 2020-04-28T18:54:30Z schjetne quit (Ping timeout: 260 seconds) 2020-04-28T18:54:49Z karlosz quit (Client Quit) 2020-04-28T18:55:00Z himmAllRight quit (Remote host closed the connection) 2020-04-28T18:55:45Z bars0 joined #lisp 2020-04-28T18:56:43Z didi joined #lisp 2020-04-28T18:57:45Z didi: Does LOOP's `across' respect an array fill-pointer? 2020-04-28T18:58:24Z schjetne joined #lisp 2020-04-28T18:58:46Z phoe: clhs 6.1.2.1.5 2020-04-28T18:58:46Z specbot: The for-as-across subclause: http://www.lispworks.com/reference/HyperSpec/Body/06_abae.htm 2020-04-28T18:59:11Z phoe: I guess that it does because it makes no sense otherwise, but the LOOP reference is not clear about it... 2020-04-28T18:59:22Z didi: phoe: Thanks. 2020-04-28T18:59:41Z phoe: I mean, it makes no sense to iterate over vector elements that are not active 2020-04-28T18:59:51Z fourier quit (Ping timeout: 244 seconds) 2020-04-28T19:00:32Z didi: Can I change the fill-pointer during iteration? 2020-04-28T19:00:46Z milanj quit (Quit: This computer has gone to sleep) 2020-04-28T19:00:48Z phoe: didi: AFAIK you very much shouldn't 2020-04-28T19:00:56Z phoe: but then again, it's gut feeling 2020-04-28T19:01:05Z didi: phoe: I see. Thanks again. 2020-04-28T19:01:06Z phoe: let me dig into the spec... 2020-04-28T19:01:29Z himmAllRight joined #lisp 2020-04-28T19:01:52Z phoe: I can't see anything in the spec 2020-04-28T19:02:34Z emys quit (Ping timeout: 246 seconds) 2020-04-28T19:03:45Z phoe: didi: https://gitlab.common-lisp.net/ansi-test/ansi-test/-/blob/master/iteration/loop5.lsp#L146-150 2020-04-28T19:04:59Z didi: phoe: Cool. 2020-04-28T19:06:04Z didi: At least in practice, I can't change the fill-pointer. SBCL reads the array length only once. 2020-04-28T19:06:22Z phoe: and I guess that's expected 2020-04-28T19:06:36Z Bike: oh, if you're trying to _alter_ the fill pointer in the middle of a traversal, that's definitely not allowed. 2020-04-28T19:06:39Z Bike: clhs 3.6 2020-04-28T19:06:39Z specbot: Traversal Rules and Side Effects: http://www.lispworks.com/reference/HyperSpec/Body/03_f.htm 2020-04-28T19:06:45Z didi: Bike: I am. 2020-04-28T19:06:49Z didi: Oh well. 2020-04-28T19:07:00Z phoe: Bike: thanks 2020-04-28T19:07:02Z didi: oic 2020-04-28T19:08:03Z heisig: _death: https://github.com/marcoheisig/sealable-metaobjects#sealable-metaobjects :D 2020-04-28T19:08:21Z phoe: le gasp 2020-04-28T19:08:47Z phoe: nice, no repo pollution 2020-04-28T19:09:03Z anlsh joined #lisp 2020-04-28T19:09:06Z heisig: Yes, otherwise I wouldn't have added it. 2020-04-28T19:11:09Z emys joined #lisp 2020-04-28T19:11:50Z _death: awesome 2020-04-28T19:13:44Z alandipert: heisig that's so great! 2020-04-28T19:14:04Z rand_t quit (Quit: rand_t) 2020-04-28T19:15:05Z jasom quit (Ping timeout: 246 seconds) 2020-04-28T19:15:57Z didi left #lisp 2020-04-28T19:16:40Z Krystof quit (Read error: Connection reset by peer) 2020-04-28T19:16:44Z whiteline quit (Remote host closed the connection) 2020-04-28T19:17:12Z nika quit 2020-04-28T19:17:50Z whiteline joined #lisp 2020-04-28T19:18:14Z whiteline quit (Remote host closed the connection) 2020-04-28T19:18:39Z whiteline joined #lisp 2020-04-28T19:21:05Z Inline joined #lisp 2020-04-28T19:21:57Z karlosz joined #lisp 2020-04-28T19:22:19Z man213__ joined #lisp 2020-04-28T19:23:01Z ntqz joined #lisp 2020-04-28T19:24:15Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-28T19:26:36Z himmAllRight quit (Remote host closed the connection) 2020-04-28T19:27:09Z jasom joined #lisp 2020-04-28T19:28:30Z bars0 quit (Ping timeout: 260 seconds) 2020-04-28T19:29:13Z emys quit (Ping timeout: 272 seconds) 2020-04-28T19:30:51Z jonatack_ joined #lisp 2020-04-28T19:30:59Z ayuce quit (Remote host closed the connection) 2020-04-28T19:31:26Z ayuce joined #lisp 2020-04-28T19:32:23Z emys joined #lisp 2020-04-28T19:32:48Z ectlunya joined #lisp 2020-04-28T19:34:02Z jonatack quit (Ping timeout: 256 seconds) 2020-04-28T19:35:38Z renzhi joined #lisp 2020-04-28T19:35:52Z rixard joined #lisp 2020-04-28T19:37:00Z himmAllRight joined #lisp 2020-04-28T19:37:03Z heisig quit (Quit: Leaving) 2020-04-28T19:39:15Z Cymew quit (Ping timeout: 240 seconds) 2020-04-28T19:40:08Z Cymew joined #lisp 2020-04-28T19:40:14Z izh_ joined #lisp 2020-04-28T19:40:25Z emys quit (Ping timeout: 264 seconds) 2020-04-28T19:41:49Z pve quit (Quit: leaving) 2020-04-28T19:41:55Z fourier joined #lisp 2020-04-28T19:44:34Z bars0 joined #lisp 2020-04-28T19:45:27Z mk2 quit (Remote host closed the connection) 2020-04-28T19:45:37Z jonatack_ quit (Quit: jonatack_) 2020-04-28T19:45:59Z jonatack joined #lisp 2020-04-28T19:46:04Z emys joined #lisp 2020-04-28T19:47:38Z ebrasca quit (Remote host closed the connection) 2020-04-28T19:48:34Z _death: jackdaniel: I decided to put my ecl+imgui project on github: https://github.com/death/imcl 2020-04-28T19:49:02Z karlosz quit (Quit: karlosz) 2020-04-28T19:49:49Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-28T19:52:46Z shifty quit (Ping timeout: 260 seconds) 2020-04-28T19:53:18Z shifty joined #lisp 2020-04-28T19:54:23Z jprajzne quit (Quit: jprajzne) 2020-04-28T19:58:25Z emys quit (Ping timeout: 264 seconds) 2020-04-28T19:59:31Z emys joined #lisp 2020-04-28T20:00:55Z pilne joined #lisp 2020-04-28T20:02:25Z karlosz joined #lisp 2020-04-28T20:04:58Z emys quit (Ping timeout: 256 seconds) 2020-04-28T20:08:10Z amerlyq quit (Quit: amerlyq) 2020-04-28T20:09:29Z Krystof joined #lisp 2020-04-28T20:09:43Z emys joined #lisp 2020-04-28T20:10:34Z Cymew quit (Ping timeout: 260 seconds) 2020-04-28T20:11:27Z ectlunya quit (Remote host closed the connection) 2020-04-28T20:12:03Z fourier: _death: thats cool, I was thinking about connecting imgui to CL in some way but looks like you did it! 2020-04-28T20:12:50Z narimiran quit (Ping timeout: 260 seconds) 2020-04-28T20:13:00Z fourier: have you done all the bindings yourself? 2020-04-28T20:14:15Z _death: yeah 2020-04-28T20:15:13Z fourier: fantastic work. will check it out eventually, starred 2020-04-28T20:15:20Z p_l has set mode -q $~a 2020-04-28T20:16:06Z fourier: is it tightly bound to ECL or you can use to access it from another implementation eventually 2020-04-28T20:16:08Z fourier: ? 2020-04-28T20:16:25Z _death: it is tightly bound to ecl 2020-04-28T20:16:28Z p_l has set mode -q *2?!*@* 2020-04-28T20:16:33Z p_l has set mode -q *18!*@* 2020-04-28T20:16:36Z p_l has set mode -q *19!*@* 2020-04-28T20:16:40Z fourier: nice anyway 2020-04-28T20:16:42Z _death: you can check bindings.cpp.. 2020-04-28T20:16:56Z p_l has set mode -q *!*@109.201.154.199 2020-04-28T20:17:08Z fourier: yea im looking through them 2020-04-28T20:17:26Z _death: it's a total mess, like jackdaniel remarked in his talk, it's easy to make a difference 2020-04-28T20:18:26Z fourier: dont say mess, say "proof of concept" :) 2020-04-28T20:18:54Z efm quit (Ping timeout: 244 seconds) 2020-04-28T20:20:01Z ljavorsk joined #lisp 2020-04-28T20:20:18Z _death: a work of art.. between dadaism and surrealism 2020-04-28T20:21:14Z _death: there are some vids of me playing with it in https://adeht.org/dump/vids.html 2020-04-28T20:22:42Z emys quit (Ping timeout: 260 seconds) 2020-04-28T20:24:02Z schjetne quit (Ping timeout: 260 seconds) 2020-04-28T20:25:45Z renzhi quit (Ping timeout: 240 seconds) 2020-04-28T20:26:10Z fourier: which version of ECL its targeting ? can't compile with 16.1.2 2020-04-28T20:26:29Z _death: the latest.. https://github.com/death/imcl/commit/33fe59cbc4a3cb52b2ffc34bc92fd6e2a909387f 2020-04-28T20:26:47Z ljavorsk quit (Ping timeout: 265 seconds) 2020-04-28T20:26:57Z fourier: ah I see 2020-04-28T20:30:05Z _death: I suppose there could be an ifdef there.. but, good intentions and roads to hell 2020-04-28T20:32:01Z fourier: will try to compile latest ecl then before 2020-04-28T20:33:44Z jackdaniel: _death: thanks for sharing! I'll gladly play with it :) 2020-04-28T20:34:29Z jackdaniel: (and thank you for remembering my request for pinging me when you do that) 2020-04-28T20:35:38Z _death: thank you for keeping ECL alive :) 2020-04-28T20:37:20Z jasom quit (Ping timeout: 256 seconds) 2020-04-28T20:37:29Z karlosz quit (Quit: karlosz) 2020-04-28T20:37:30Z shifty quit (Ping timeout: 244 seconds) 2020-04-28T20:37:58Z karlosz joined #lisp 2020-04-28T20:38:03Z shifty joined #lisp 2020-04-28T20:42:00Z jayde joined #lisp 2020-04-28T20:44:15Z gabiruh joined #lisp 2020-04-28T20:50:03Z CrazyEddy joined #lisp 2020-04-28T20:50:10Z Oladon joined #lisp 2020-04-28T20:50:12Z buffergn0me joined #lisp 2020-04-28T20:53:13Z schjetne joined #lisp 2020-04-28T20:54:57Z ayuce quit (Read error: Connection reset by peer) 2020-04-28T20:55:30Z ayuce joined #lisp 2020-04-28T20:57:25Z copec joined #lisp 2020-04-28T20:57:54Z schjetne quit (Ping timeout: 256 seconds) 2020-04-28T20:59:35Z koenig left #lisp 2020-04-28T21:05:32Z efm joined #lisp 2020-04-28T21:05:34Z efm quit (Client Quit) 2020-04-28T21:07:20Z emys joined #lisp 2020-04-28T21:08:15Z theseb: Do people typically define their macros in a SEPARATE file or do they mix it with rest of their programs? 2020-04-28T21:08:37Z theseb: i'm guessing probably with something as elaborate as a DSL you want to squirrel it away in a separate file at least? 2020-04-28T21:08:57Z phoe: theseb: not all macros are worthy being called DSLs 2020-04-28T21:09:43Z phoe: e.g. if you have a WITH-FOO macro that expands into a CALL-WITH-FOO function or into a LET binding that binds some *FOO* variable, it's often not worth to define these in a separate file 2020-04-28T21:10:19Z duncan_ quit (Ping timeout: 246 seconds) 2020-04-28T21:10:45Z shifty quit (Ping timeout: 240 seconds) 2020-04-28T21:11:08Z efm joined #lisp 2020-04-28T21:11:33Z shifty joined #lisp 2020-04-28T21:12:01Z ahungry quit (Remote host closed the connection) 2020-04-28T21:12:45Z akoana joined #lisp 2020-04-28T21:14:25Z jasom joined #lisp 2020-04-28T21:15:41Z prefixt joined #lisp 2020-04-28T21:16:57Z prefixt: Hello! Is there an expedient means to generate a kind list of function calls for a program to be loaded in SBCL? 2020-04-28T21:17:24Z phoe: prefixt: I enjoyed reading that sentence but did not understand it 2020-04-28T21:17:39Z phoe: what program to be loaded? do you mean some Quicklisp system, or do you mean something else? 2020-04-28T21:19:26Z fourier: theseb: I even define them inside a function if I'm too lazy with macrolet 2020-04-28T21:19:51Z fourier: its a matter of taste, I guess 2020-04-28T21:20:12Z theseb: ok 2020-04-28T21:21:31Z prefixt: phoe, thank you! I have some lisp programs/scripts. I can read the source fine. I don't know exactly what SBCL is doing with the program internally, but if my program works, I can assume the the functions in my program/script have been executed at some point. I'd assume SBCL contain some of this information, like what functions were executed. 2020-04-28T21:21:58Z phoe: prefixt: this sounds like you want to use the TRACE facility 2020-04-28T21:21:58Z shifty quit (Ping timeout: 260 seconds) 2020-04-28T21:22:14Z shifty joined #lisp 2020-04-28T21:22:22Z keep_learning joined #lisp 2020-04-28T21:22:23Z prefixt searches TRACE 2020-04-28T21:22:31Z phoe: before your program gets executed, you might want to TRACE some functions inside it; you should then get a printout of which functions were called with which arguments and then returned which values 2020-04-28T21:22:35Z phoe: clhs trace 2020-04-28T21:22:35Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_tracec.htm 2020-04-28T21:23:07Z phoe: like, if you have (defun foo ...) and (defun bar ...) in your program, then, before executing (foo) or (bar) you might first want to (trace foo bar) 2020-04-28T21:24:25Z schjetne joined #lisp 2020-04-28T21:24:37Z prefixt: thank you phoe, that's extremely helpful and mostly what I was looking for. Let me look into this :-) 2020-04-28T21:25:02Z fourier quit (Ping timeout: 244 seconds) 2020-04-28T21:25:24Z phoe: <3 2020-04-28T21:25:28Z phoe goes afk for sleep 2020-04-28T21:29:24Z schjetne quit (Ping timeout: 256 seconds) 2020-04-28T21:30:37Z theBlackDragon quit (Ping timeout: 258 seconds) 2020-04-28T21:30:46Z emys quit (Ping timeout: 260 seconds) 2020-04-28T21:30:49Z bars0 quit (Ping timeout: 264 seconds) 2020-04-28T21:32:18Z theBlackDragon joined #lisp 2020-04-28T21:35:10Z emys joined #lisp 2020-04-28T21:35:10Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-28T21:36:07Z theseb: apparently in addition to the evaluator some people call the thing that expands macros and converts 'a to (quote a) the ''expander" ? 2020-04-28T21:36:26Z twelvemonkeys quit (Ping timeout: 260 seconds) 2020-04-28T21:36:33Z theseb: so reader -> expander -> evaluator -> printer yes? 2020-04-28T21:36:53Z theseb: REPL should be REEPL perhaps 2020-04-28T21:38:09Z twelvemonkeys joined #lisp 2020-04-28T21:39:15Z gravicappa quit (Ping timeout: 240 seconds) 2020-04-28T21:41:50Z efm quit (Remote host closed the connection) 2020-04-28T21:44:14Z Bike: 'a as (quote a) is just the reader 2020-04-28T21:45:04Z Inline quit (Remote host closed the connection) 2020-04-28T21:46:25Z Inline joined #lisp 2020-04-28T21:48:15Z shukryzablah quit (Remote host closed the connection) 2020-04-28T21:54:57Z shangul joined #lisp 2020-04-28T21:55:24Z theseb: Bike: what about the thing that expands macros? 2020-04-28T21:55:27Z theseb: reader too? 2020-04-28T21:55:49Z theseb: Bike: i guess we can fold the expansion function into the reader..all of it 2020-04-28T21:55:52Z Oladon quit (Quit: Leaving.) 2020-04-28T21:56:03Z Bike: uh, no. 2020-04-28T21:56:12Z LdBeth: Macro expansion is eval part 2020-04-28T21:56:28Z Bike: the reader converts text into s-expressions. macroexpansion converts s-expressions into other s-expressions. 2020-04-28T21:57:03Z theseb: ok 2020-04-28T21:57:07Z theseb: thanks 2020-04-28T21:58:53Z schjetne joined #lisp 2020-04-28T22:00:49Z emys quit (Ping timeout: 264 seconds) 2020-04-28T22:02:06Z orivej quit (Quit: orivej) 2020-04-28T22:03:30Z orivej joined #lisp 2020-04-28T22:04:09Z ayuce quit (Remote host closed the connection) 2020-04-28T22:04:40Z ayuce joined #lisp 2020-04-28T22:05:52Z pjb: theseb: it could be E^n, since in your macro, you could also call (defmacro moo () (funcall (compile nil (eval (macroexpand (read-from-string #|or elsehwhere|# "(foo (bar (baz)))")))))) 2020-04-28T22:05:56Z pjb: and so on. 2020-04-28T22:07:01Z sjl_ quit (Ping timeout: 246 seconds) 2020-04-28T22:07:23Z roelj quit (Remote host closed the connection) 2020-04-28T22:07:38Z hiroaki quit (Ping timeout: 260 seconds) 2020-04-28T22:13:36Z orivej quit (Ping timeout: 244 seconds) 2020-04-28T22:14:03Z ayuce quit (Remote host closed the connection) 2020-04-28T22:14:35Z ayuce joined #lisp 2020-04-28T22:15:01Z orivej joined #lisp 2020-04-28T22:19:17Z MerlinTheWizard joined #lisp 2020-04-28T22:19:50Z torbo joined #lisp 2020-04-28T22:21:18Z hiroaki joined #lisp 2020-04-28T22:21:59Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-28T22:22:40Z SGASAU quit (Remote host closed the connection) 2020-04-28T22:22:42Z didi joined #lisp 2020-04-28T22:23:30Z SGASAU joined #lisp 2020-04-28T22:24:43Z didi: How do I freeze the value of a dynamic value inside a lambda? For example, (defvar *foo* 42) (defun make-foo () (lambda () (freeze-now *foo*))) (let ((*foo* 7)) (funcall (make-foo))) => 42 # and not => 7 2020-04-28T22:25:56Z no-defun-allowed: You can't, that's why it's dynamic. 2020-04-28T22:26:09Z didi: no-defun-allowed: I see. 2020-04-28T22:26:38Z Bike: when is freeze-now supposed to do the freezing, exactly? 2020-04-28T22:26:53Z Bike: in your example, *foo* is bound to 7 even when the closure is created. 2020-04-28T22:26:58Z no-defun-allowed: You could bind the value to a lexical variable outside the LAMBDA and re-bind it to the dynamic variable inside the LAMBDA, though. 2020-04-28T22:27:02Z didi: Bike: During the creation of the lambda. 2020-04-28T22:27:23Z Bike: but then your example should still return 7, because the (make-foo) call is within the (let ((*foo* 7)) ...) 2020-04-28T22:27:33Z MerlinTheWizard quit (Remote host closed the connection) 2020-04-28T22:27:50Z didi: Bike: Right, but I want 42. I want the lambda to be independent of the value of *foo*. 2020-04-28T22:27:53Z MerlinTheWizard joined #lisp 2020-04-28T22:27:56Z didi: no-defun-allowed: Interesting. 2020-04-28T22:28:04Z shifty quit (Ping timeout: 244 seconds) 2020-04-28T22:28:05Z LdBeth: Well free-now is possible by doing local renaming 2020-04-28T22:28:08Z Bike: How could it possibly be 42? 2020-04-28T22:28:13Z LdBeth: Like rename foo to a gensym 2020-04-28T22:28:18Z Bike: You call make-foo and *foo* is 42 even then. 2020-04-28T22:28:23Z Bike: er, is 7. 2020-04-28T22:28:30Z didi: LdBeth: Thanks. 2020-04-28T22:28:43Z shifty joined #lisp 2020-04-28T22:28:50Z didi: Bike: I know it doesn't work. I want a way to make it work. 2020-04-28T22:28:57Z Bike: You could do (defun make-foo () (let ((foo *foo*)) (lambda () foo))) as no-defun-allowed alluded to, but your example would still return 7. 2020-04-28T22:29:09Z Bike: Because when make-foo is called, *foo* is 7, not 42. am i not being clear? 2020-04-28T22:29:15Z didi: Bike: You are. 2020-04-28T22:29:17Z Bike: even when the function is created, it's 7. 2020-04-28T22:29:46Z _death: likely he meant (let ((foo (make-foo)) (*foo* 7)) (funcall foo)) 2020-04-28T22:30:06Z LdBeth is confused 2020-04-28T22:30:08Z ayuce quit (Ping timeout: 244 seconds) 2020-04-28T22:30:13Z hiroaki quit (Ping timeout: 264 seconds) 2020-04-28T22:30:31Z didi: No no. I want to (make-foo) to always return the original value of *foo*. No time dependence. 2020-04-28T22:30:46Z Bike: What if you (setf *foo* 3) somewhere? 2020-04-28T22:30:57Z Bike: Why not just do (defun make-foo () (lambda () 42))? 2020-04-28T22:31:11Z X-Scale quit (Ping timeout: 258 seconds) 2020-04-28T22:31:36Z X-Scale` joined #lisp 2020-04-28T22:31:45Z didi: Oh, well. I will think of something. Thank you. 2020-04-28T22:32:04Z X-Scale` is now known as X-Scale 2020-04-28T22:32:29Z renzhi joined #lisp 2020-04-28T22:32:45Z davd quit (Ping timeout: 240 seconds) 2020-04-28T22:34:05Z Bike: i mean, really, if you want a value that never changes, do (defconstant +foo+ 42) (defvar *foo* +foo+), and then use +foo+ for the unchanging one. 2020-04-28T22:34:44Z izh_ quit (Quit: Leaving) 2020-04-28T22:35:13Z didi: Bike: I transverse a tree making lambdas. Some of these lambdas depend on a dynamic variable. 2020-04-28T22:35:47Z didi: I'm using `cond' to produce different lambdas, but it's not pretty. 2020-04-28T22:36:25Z Bike: you said you wanted the "original value". So even if you bind or set *foo*, the lambdas return the same value and ignore those bindings and sets. Or is that wrong? 2020-04-28T22:36:30Z Adamclisi quit (Quit: leaving) 2020-04-28T22:37:49Z random-nick quit (Ping timeout: 246 seconds) 2020-04-28T22:38:03Z frgo quit (Remote host closed the connection) 2020-04-28T22:38:16Z didi: Instead of doing (if *foo* (lambda () 42) (lambda () 7)), I wanted to do (let ((*foo* 42)) (list (lambda () *foo*) (let ((*foo* 7)) (lambda () *foo*)))). 2020-04-28T22:38:39Z frgo joined #lisp 2020-04-28T22:38:43Z Bike: and those functions return different things? 2020-04-28T22:38:46Z didi: Yes. 2020-04-28T22:38:53Z Bike: that would make it sensitive to bindings. it's not returning the original value. 2020-04-28T22:39:08Z didi: The binding at the time of `lambda' creation. 2020-04-28T22:39:42Z Bike: that's what (defun make-foo () (let ((foo *foo*)) (lambda () foo))) gets you, but that's not how it works with your earlier example. 2020-04-28T22:39:45Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-28T22:39:56Z Bike: (let ((*foo* 7)) (funcall (make-foo))) => 7. 2020-04-28T22:39:58Z didi: Bike: Thank you. 2020-04-28T22:40:25Z cosimone quit (Quit: Quit.) 2020-04-28T22:40:28Z shangul quit (Ping timeout: 244 seconds) 2020-04-28T22:52:43Z theseb quit (Quit: Leaving) 2020-04-28T22:53:24Z ayuce joined #lisp 2020-04-28T22:54:23Z Inline quit (Ping timeout: 265 seconds) 2020-04-28T22:56:47Z ayuce quit (Remote host closed the connection) 2020-04-28T22:59:10Z Lycurgus joined #lisp 2020-04-28T22:59:44Z ayuce joined #lisp 2020-04-28T23:00:26Z keep_learning joined #lisp 2020-04-28T23:01:07Z keep_learning quit (Remote host closed the connection) 2020-04-28T23:01:24Z man213__ quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-28T23:01:54Z zooey quit (Remote host closed the connection) 2020-04-28T23:02:12Z zooey joined #lisp 2020-04-28T23:02:58Z ayuce quit (Read error: Connection reset by peer) 2020-04-28T23:03:11Z emys joined #lisp 2020-04-28T23:04:03Z choegusung joined #lisp 2020-04-28T23:04:43Z rixard quit (Read error: Connection reset by peer) 2020-04-28T23:05:21Z rixard joined #lisp 2020-04-28T23:05:48Z X-Scale quit (Ping timeout: 265 seconds) 2020-04-28T23:05:51Z X-Scale` joined #lisp 2020-04-28T23:06:13Z azrazalea quit (Quit: ZNC 1.6.2+deb2~bpo8+1 - http://znc.in) 2020-04-28T23:06:26Z X-Scale` is now known as X-Scale 2020-04-28T23:06:56Z shifty quit (Ping timeout: 256 seconds) 2020-04-28T23:07:59Z azrazalea joined #lisp 2020-04-28T23:08:37Z choegusung quit (Ping timeout: 264 seconds) 2020-04-28T23:09:34Z choegusung joined #lisp 2020-04-28T23:13:03Z kristof joined #lisp 2020-04-28T23:14:40Z keep_learning joined #lisp 2020-04-28T23:15:04Z wxie joined #lisp 2020-04-28T23:19:15Z emys quit (Ping timeout: 240 seconds) 2020-04-28T23:19:39Z Lycurgus quit (Quit: Exeunt) 2020-04-28T23:24:52Z Lord_of_Life_ joined #lisp 2020-04-28T23:25:56Z ark quit (Ping timeout: 244 seconds) 2020-04-28T23:27:10Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-04-28T23:27:39Z emys joined #lisp 2020-04-28T23:27:45Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-28T23:28:13Z pjb quit (Ping timeout: 265 seconds) 2020-04-28T23:29:45Z ark joined #lisp 2020-04-28T23:30:19Z JuxTApoze quit (Ping timeout: 246 seconds) 2020-04-28T23:40:07Z emys quit (Ping timeout: 260 seconds) 2020-04-28T23:43:50Z ayuce joined #lisp 2020-04-28T23:44:45Z SlashLife quit (Quit: Baking more cake ...) 2020-04-28T23:45:55Z Lycurgus joined #lisp 2020-04-28T23:46:30Z SlashLife joined #lisp 2020-04-28T23:46:35Z wxie1 joined #lisp 2020-04-28T23:47:01Z wxie quit (Ping timeout: 264 seconds) 2020-04-28T23:47:04Z wxie1 is now known as wxie 2020-04-28T23:47:50Z emys joined #lisp 2020-04-28T23:48:47Z Kundry_Wag quit (Remote host closed the connection) 2020-04-28T23:48:53Z SlashLife quit (Max SendQ exceeded) 2020-04-28T23:49:31Z SlashLife joined #lisp 2020-04-28T23:49:49Z arbv_ joined #lisp 2020-04-28T23:50:18Z arbv quit (Ping timeout: 260 seconds) 2020-04-28T23:50:18Z arbv_ is now known as arbv 2020-04-28T23:51:15Z wxie quit (Ping timeout: 244 seconds) 2020-04-28T23:51:31Z wxie joined #lisp 2020-04-28T23:52:34Z borei joined #lisp 2020-04-28T23:56:25Z emys quit (Ping timeout: 244 seconds) 2020-04-29T00:00:17Z pjb joined #lisp 2020-04-29T00:00:20Z Lycurgus quit (Remote host closed the connection) 2020-04-29T00:01:55Z xkapastel joined #lisp 2020-04-29T00:03:41Z SlashLife quit (Max SendQ exceeded) 2020-04-29T00:04:25Z Kundry_Wag joined #lisp 2020-04-29T00:06:15Z wxie quit (Ping timeout: 240 seconds) 2020-04-29T00:06:23Z SlashLife joined #lisp 2020-04-29T00:09:13Z Kundry_Wag quit (Ping timeout: 264 seconds) 2020-04-29T00:12:41Z Nilby quit (Read error: Connection reset by peer) 2020-04-29T00:15:40Z emys joined #lisp 2020-04-29T00:20:01Z emys quit (Ping timeout: 246 seconds) 2020-04-29T00:21:08Z z147_ quit (Quit: z147_) 2020-04-29T00:24:51Z Kundry_Wag joined #lisp 2020-04-29T00:32:11Z choegusung quit (Quit: leaving) 2020-04-29T00:37:02Z xantoz quit (Ping timeout: 260 seconds) 2020-04-29T00:40:33Z zaquest quit (Quit: Leaving) 2020-04-29T00:43:58Z zaquest joined #lisp 2020-04-29T00:55:56Z EvW1 quit (Remote host closed the connection) 2020-04-29T00:56:16Z mono quit (Remote host closed the connection) 2020-04-29T01:06:37Z Oladon joined #lisp 2020-04-29T01:08:49Z man213__ joined #lisp 2020-04-29T01:10:04Z bitmapper quit (Ping timeout: 246 seconds) 2020-04-29T01:10:39Z SlashLife quit (Max SendQ exceeded) 2020-04-29T01:11:42Z SlashLife joined #lisp 2020-04-29T01:18:39Z wsinatra joined #lisp 2020-04-29T01:21:54Z vibs29 left #lisp 2020-04-29T01:25:43Z asarch joined #lisp 2020-04-29T01:28:37Z Kaisyu7 quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-29T01:31:19Z jeko joined #lisp 2020-04-29T01:32:29Z jeko quit (Client Quit) 2020-04-29T01:33:30Z shangul joined #lisp 2020-04-29T01:37:46Z mikecheck joined #lisp 2020-04-29T01:38:06Z pilne_ joined #lisp 2020-04-29T01:40:01Z xantoz joined #lisp 2020-04-29T01:40:10Z pilne quit (Ping timeout: 246 seconds) 2020-04-29T01:41:26Z SlashLife quit (Max SendQ exceeded) 2020-04-29T01:42:46Z pilne_ quit (Ping timeout: 260 seconds) 2020-04-29T01:44:03Z SlashLife joined #lisp 2020-04-29T01:46:33Z Kaisyu7 joined #lisp 2020-04-29T01:46:45Z westerns joined #lisp 2020-04-29T01:52:19Z jruiz joined #lisp 2020-04-29T01:57:42Z slyrus__ joined #lisp 2020-04-29T02:00:19Z stoneglass quit (Quit: stoneglass) 2020-04-29T02:00:30Z slyrus_ quit (Ping timeout: 260 seconds) 2020-04-29T02:00:58Z dale quit (Ping timeout: 260 seconds) 2020-04-29T02:08:11Z wsinatra quit (Quit: WeeChat 2.8) 2020-04-29T02:11:09Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-29T02:15:09Z dale joined #lisp 2020-04-29T02:19:52Z jruiz quit (Remote host closed the connection) 2020-04-29T02:21:00Z jruiz joined #lisp 2020-04-29T02:37:45Z orivej quit (Ping timeout: 240 seconds) 2020-04-29T02:46:46Z anlsh quit (Remote host closed the connection) 2020-04-29T02:49:05Z ayuce left #lisp 2020-04-29T02:52:33Z turona quit (Ping timeout: 272 seconds) 2020-04-29T02:54:13Z turona joined #lisp 2020-04-29T02:58:01Z beach: Good morning everyone! 2020-04-29T03:01:10Z kristof quit (Ping timeout: 260 seconds) 2020-04-29T03:01:38Z SlashLife quit (Ping timeout: 260 seconds) 2020-04-29T03:02:53Z jruiz: gm 2020-04-29T03:04:46Z SlashLife joined #lisp 2020-04-29T03:05:08Z beach: jruiz: Are you new here? I don't recognize your nick. 2020-04-29T03:05:45Z jruiz: beach: Yes, just joined 2020-04-29T03:05:56Z SlashLife quit (Max SendQ exceeded) 2020-04-29T03:05:58Z beach: Great! What brings you to #lisp? 2020-04-29T03:06:14Z SlashLife joined #lisp 2020-04-29T03:09:53Z jruiz: I've had some downtime lately and have started hacking common lisp again 2020-04-29T03:10:36Z beach: Good choice! 2020-04-29T03:13:01Z jruiz: Yes. Endless fun 2020-04-29T03:15:59Z pjb quit (Ping timeout: 272 seconds) 2020-04-29T03:16:45Z shangul quit (Ping timeout: 240 seconds) 2020-04-29T03:18:04Z Bike quit (Quit: leaving) 2020-04-29T03:18:08Z MerlinTheWizard joined #lisp 2020-04-29T03:19:34Z Oladon: Indeed, welcome! 2020-04-29T03:20:27Z tessier quit (Ping timeout: 260 seconds) 2020-04-29T03:21:07Z vhost- quit (Quit: WeeChat 2.6) 2020-04-29T03:21:10Z jruiz: Oladon: thank you 2020-04-29T03:22:01Z schjetne quit (Ping timeout: 246 seconds) 2020-04-29T03:22:07Z vhost- joined #lisp 2020-04-29T03:23:39Z JuxTApoze joined #lisp 2020-04-29T03:24:58Z gabiruh quit (Ping timeout: 260 seconds) 2020-04-29T03:26:15Z toorevitimirp quit (Ping timeout: 240 seconds) 2020-04-29T03:27:39Z gabiruh joined #lisp 2020-04-29T03:28:30Z pjb joined #lisp 2020-04-29T03:32:19Z Kundry_Wag quit (Remote host closed the connection) 2020-04-29T03:32:57Z Kundry_Wag joined #lisp 2020-04-29T03:33:50Z krid quit (Ping timeout: 260 seconds) 2020-04-29T03:37:15Z Kundry_Wag quit (Ping timeout: 240 seconds) 2020-04-29T03:40:41Z torbo quit (Remote host closed the connection) 2020-04-29T03:43:45Z slyrus_ joined #lisp 2020-04-29T03:45:47Z patlv quit (Quit: patlv) 2020-04-29T03:45:54Z SlashLife quit (Max SendQ exceeded) 2020-04-29T03:46:25Z slyrus__ quit (Ping timeout: 264 seconds) 2020-04-29T03:46:46Z asarch quit (Remote host closed the connection) 2020-04-29T03:47:45Z ahungry joined #lisp 2020-04-29T03:47:54Z karlosz quit (Quit: karlosz) 2020-04-29T03:48:25Z karlosz joined #lisp 2020-04-29T03:49:19Z schjetne joined #lisp 2020-04-29T03:51:43Z phax joined #lisp 2020-04-29T03:51:46Z phax quit (Read error: Connection reset by peer) 2020-04-29T03:55:45Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-29T03:59:39Z mathrick quit (Ping timeout: 260 seconds) 2020-04-29T04:05:21Z mathrick joined #lisp 2020-04-29T04:13:45Z MerlinTheWizard joined #lisp 2020-04-29T04:19:06Z jruiz quit (Ping timeout: 260 seconds) 2020-04-29T04:22:50Z shifty joined #lisp 2020-04-29T04:23:50Z schjetne quit (Ping timeout: 260 seconds) 2020-04-29T04:25:23Z Oladon quit (Quit: Leaving.) 2020-04-29T04:29:13Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-29T04:29:41Z slyrus__ joined #lisp 2020-04-29T04:31:11Z JuxTApoze quit (Quit: Leaving) 2020-04-29T04:32:37Z slyrus_ quit (Ping timeout: 264 seconds) 2020-04-29T04:38:29Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T04:38:45Z gabiruh joined #lisp 2020-04-29T04:39:17Z KDr2 joined #lisp 2020-04-29T04:40:46Z KDr24 quit (Ping timeout: 246 seconds) 2020-04-29T04:43:59Z MerlinTheWizard joined #lisp 2020-04-29T04:46:21Z gabiruh_ joined #lisp 2020-04-29T04:47:10Z gabiruh quit (Ping timeout: 260 seconds) 2020-04-29T04:48:11Z theosvoitha joined #lisp 2020-04-29T04:49:06Z SGASAU quit (Remote host closed the connection) 2020-04-29T04:49:44Z SGASAU joined #lisp 2020-04-29T04:50:05Z schjetne joined #lisp 2020-04-29T04:50:10Z slyrus_ joined #lisp 2020-04-29T04:50:45Z lemoinem quit (Killed (karatkievich.freenode.net (Nickname regained by services))) 2020-04-29T04:50:47Z lemoinem joined #lisp 2020-04-29T04:52:40Z slyrus__ quit (Ping timeout: 246 seconds) 2020-04-29T04:53:45Z _Posterdati_ joined #lisp 2020-04-29T04:54:15Z vlatkoB joined #lisp 2020-04-29T04:54:34Z schjetne quit (Ping timeout: 260 seconds) 2020-04-29T04:56:36Z pfdietz quit (Ping timeout: 240 seconds) 2020-04-29T04:57:18Z Posterdati quit (Ping timeout: 256 seconds) 2020-04-29T04:59:20Z gabiruh joined #lisp 2020-04-29T05:00:01Z gabiruh_ quit (Ping timeout: 246 seconds) 2020-04-29T05:00:28Z Oladon joined #lisp 2020-04-29T05:06:42Z Bourne joined #lisp 2020-04-29T05:08:40Z ahungry quit (Remote host closed the connection) 2020-04-29T05:09:43Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T05:10:00Z gabiruh joined #lisp 2020-04-29T05:11:24Z narimiran joined #lisp 2020-04-29T05:25:06Z schjetne joined #lisp 2020-04-29T05:28:34Z dale quit (Quit: My computer has gone to sleep) 2020-04-29T05:35:09Z dddddd quit (Ping timeout: 258 seconds) 2020-04-29T05:40:52Z pjb quit (Ping timeout: 265 seconds) 2020-04-29T05:48:45Z orblu joined #lisp 2020-04-29T05:49:24Z man213__ quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-29T05:51:58Z Cymew joined #lisp 2020-04-29T05:53:30Z JohnMS_WORK joined #lisp 2020-04-29T05:55:00Z SomeB joined #lisp 2020-04-29T05:59:13Z gravicappa joined #lisp 2020-04-29T05:59:38Z schjetne quit (Ping timeout: 244 seconds) 2020-04-29T06:00:14Z Oladon quit (Quit: Leaving.) 2020-04-29T06:00:30Z Aurora_v_kosmose quit (Quit: later...) 2020-04-29T06:08:56Z buffergn0me quit (Ping timeout: 244 seconds) 2020-04-29T06:09:45Z SGASAU quit (Remote host closed the connection) 2020-04-29T06:10:33Z SGASAU joined #lisp 2020-04-29T06:15:53Z buffergn0me joined #lisp 2020-04-29T06:16:50Z emys joined #lisp 2020-04-29T06:18:33Z _paul0 quit (Remote host closed the connection) 2020-04-29T06:18:55Z paul0 joined #lisp 2020-04-29T06:23:24Z emys quit (Ping timeout: 244 seconds) 2020-04-29T06:27:37Z emys joined #lisp 2020-04-29T06:30:08Z schjetne joined #lisp 2020-04-29T06:32:05Z phoe: good morning 2020-04-29T06:32:17Z no-defun-allowed: Good morning phoe 2020-04-29T06:32:37Z beach: Hello phoe. 2020-04-29T06:33:21Z phoe: heyy 2020-04-29T06:34:36Z schjetne quit (Ping timeout: 256 seconds) 2020-04-29T06:35:45Z emys quit (Ping timeout: 256 seconds) 2020-04-29T06:43:03Z random-nick joined #lisp 2020-04-29T06:43:58Z emys joined #lisp 2020-04-29T06:45:31Z schjetne joined #lisp 2020-04-29T06:47:10Z buffergn0me quit (Ping timeout: 244 seconds) 2020-04-29T06:48:23Z pve joined #lisp 2020-04-29T06:51:48Z mikecheck left #lisp 2020-04-29T06:53:30Z doomlist3 joined #lisp 2020-04-29T06:55:47Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T06:56:03Z gabiruh joined #lisp 2020-04-29T06:56:42Z doomlist3: hi 2020-04-29T06:57:01Z doomlist3: format is fine, but there is ~% instead of easy to type \n for newline? 2020-04-29T06:57:17Z doomlist3: infact does \n exit and \t for CL 2020-04-29T06:57:37Z phoe: doomlist3: if you want to do it outside FORMAT, then use 2020-04-29T06:57:39Z phoe: clhs terpri 2020-04-29T06:57:39Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_terpri.htm 2020-04-29T06:57:46Z phoe: clhs fresh-line 2020-04-29T06:57:46Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_terpri.htm 2020-04-29T06:58:00Z doomlist3: terpri is just \n but not \t? 2020-04-29T06:58:17Z phoe: terpri is ~%; fresh-line is a conditional ~% 2020-04-29T06:59:09Z SGASAU quit (Remote host closed the connection) 2020-04-29T06:59:16Z phoe: I don't know about tab characters, other than (princ #\Tab) perhaps 2020-04-29T06:59:49Z SGASAU joined #lisp 2020-04-29T07:01:14Z emys quit (Ping timeout: 240 seconds) 2020-04-29T07:04:37Z doomlist3 quit (Ping timeout: 246 seconds) 2020-04-29T07:05:40Z emys joined #lisp 2020-04-29T07:08:00Z emys quit (Client Quit) 2020-04-29T07:08:18Z egao1980 quit (Ping timeout: 258 seconds) 2020-04-29T07:08:37Z flip214: hmmm, too late. CL-INTERPOL has \n, \t, and so on. 2020-04-29T07:09:07Z phoe: I kinda wish newcomers stayed for more than just "hi, question, thanks, bye" - but I cannot really force it 2020-04-29T07:09:08Z flip214: minion: memo for doomlist3: CL-INTERPOL has \n, \t, and so on. http://edicl.github.io/cl-interpol/#backslash 2020-04-29T07:09:09Z minion: Remembered. I'll tell doomlist3 when he/she/it next speaks. 2020-04-29T07:09:24Z phoe: flip214: that's a good solution, too 2020-04-29T07:09:25Z flip214: phoe: just keep on talking 2020-04-29T07:09:43Z beach: flip214: I think this newcomer would want an update of the standard. 2020-04-29T07:10:36Z nightfly quit (Ping timeout: 258 seconds) 2020-04-29T07:10:43Z phoe: beach: honestly, so would I 2020-04-29T07:10:52Z nightfly joined #lisp 2020-04-29T07:11:09Z phoe: that's not going to happen without significant work though, so it needs to stay in the domain of dreams for now 2020-04-29T07:11:14Z beach: For \n? 2020-04-29T07:11:22Z beach: You must be joking. 2020-04-29T07:11:42Z phoe: oh! not for \n, in general 2020-04-29T07:12:44Z Cymew quit (Ping timeout: 256 seconds) 2020-04-29T07:13:09Z Shinmera: Whenever I learn new things I always wonder: man why isn't everything just the way I already knew?? 2020-04-29T07:13:10Z orblu quit (Ping timeout: 260 seconds) 2020-04-29T07:13:27Z Cymew joined #lisp 2020-04-29T07:14:33Z ark quit (Ping timeout: 244 seconds) 2020-04-29T07:18:04Z aeth: \n is pretty useful though 2020-04-29T07:18:27Z ark joined #lisp 2020-04-29T07:18:57Z aeth: Note that they're distinct, though. "Foo~%" is in a format string and is processed. "Foo\n" is part of the syntax of a string, and can be used anywhere without having to do something like #.(format nil "Foo~%") 2020-04-29T07:19:16Z boeg: What is a very good source to learn CLOS? 2020-04-29T07:19:25Z phoe: boeg: Sonja Keene's book 2020-04-29T07:19:37Z boeg: and is it pronounced C-LOS or KLOS? 2020-04-29T07:19:46Z beach: As you wish. 2020-04-29T07:20:13Z boeg: beach: well alright 2020-04-29T07:20:14Z boeg: :P 2020-04-29T07:20:25Z boeg: phoe: what was the title? 2020-04-29T07:20:42Z LdBeth: Komoon lisp 2020-04-29T07:20:46Z phoe: Object-Oriented Programming in COMMON LISP: A Programmer's Guide to CLOS 2020-04-29T07:20:53Z LdBeth: so klos 2020-04-29T07:20:54Z boeg: phoe: thank you 2020-04-29T07:21:13Z |SomeB| joined #lisp 2020-04-29T07:21:22Z beach: LdBeth: Both pronunciations exist. 2020-04-29T07:21:25Z flip214: Come-On Lisp, by C.O.Moon 2020-04-29T07:21:28Z boeg: LdBeth: alright, thats how i've been saying it, but i listened to a podcast where they said "c-los" and i thought it was weird but maybe correct :P 2020-04-29T07:21:42Z jayde quit (Quit: quit) 2020-04-29T07:22:15Z beach: I say C-loss myself. But I say Klimm (for CLIM) and some people say Kloss and C-limm. 2020-04-29T07:22:33Z rawr is now known as grumble 2020-04-29T07:23:05Z aeth: phoe: I'm not sure why you think that a new standard is hard, though. You don't need a new official Standard. Scheme has 1 official standard and like 7 unofficial ones, and the unofficial ones are the authoritative ones. 2020-04-29T07:23:19Z aeth: Although, seeing how long R7RS-large is taking to complete, it might take a decade... 2020-04-29T07:23:21Z boeg: beach: indeed, i'm all for letting people pronounce things as they wish, however I just wanted to get an idea about if there *are* infact people like me that says "klos" instead of "c-los". I dont mind people saying either, though :P 2020-04-29T07:23:21Z phoe: aeth: adoption. 2020-04-29T07:24:02Z beach: aeth: A standard is hard because it requires some smart, knowledgeable, and dedicated people with lots of time on their hands. 2020-04-29T07:24:04Z SomeB quit (Ping timeout: 256 seconds) 2020-04-29T07:24:22Z White_Flame: or just 1 person to do a lot of work 2020-04-29T07:24:29Z aeth: Or lots of time (see: R7RS-large) 2020-04-29T07:24:37Z no-defun-allowed: In a more perfect world with a less inconsistent English, CLOSOS being pronounced as "colossus" would suggest CLOS is pronounced /kə-ˈläs/ 2020-04-29T07:24:39Z aeth: I mean, a little bit of time over a long period of time 2020-04-29T07:24:43Z aeth: rather than a lot of time in a short period 2020-04-29T07:25:28Z beach: aeth: I don't think you can compare it to Scheme. Performance has traditionally not been a big deal for Scheme. It is a HUGE deal for Common Lisp. And if you get it wrong, you will ruin many possible compiler designs. 2020-04-29T07:25:31Z White_Flame: plus, the fad of ANSI/ISO languages is over 2020-04-29T07:25:36Z aeth: phoe: your point is pretty valid, though, because you need implementors on board or else you just reinvented CDRs, which never took off like SRFIs did 2020-04-29T07:26:26Z phoe: aeth: yes, if CDRs never really took off then how can CLtL4 take off 2020-04-29T07:26:36Z beach: SRFIs are much easier, because they started with such an impoverished language that it was easy to come up with additions. 2020-04-29T07:26:47Z boeg: phoe: oh, said state of affairs regarding Sonya Keenes book. Yet another thats only available in a terrible format digitally. It's too bad 2020-04-29T07:26:48Z phoe: ;; I am purposefully skipping CLtL3 because it already started and went nowhere 2020-04-29T07:27:04Z White_Flame: yeah, and any opinions on how to basically mutate CL instead of purely extend it is going to be problematic 2020-04-29T07:27:12Z White_Flame: and even extension runs into a large cartesian of integration issues 2020-04-29T07:27:17Z phoe: boeg: yes, it's an old book. I sometimes wish it was reworked and published anew, also using modern libraries for e.g. multiprocessing. 2020-04-29T07:27:18Z aeth: The base CL language is missing many things. It's pretty easy to find them. Look at portability libraries, like e.g. http://portability.cl/ 2020-04-29T07:27:24Z beach: Even extensions can be very tricky. 2020-04-29T07:27:44Z boeg: phoe: would you still say it is the best source to your knowledge? 2020-04-29T07:27:59Z |SomeB| quit (Ping timeout: 265 seconds) 2020-04-29T07:28:01Z aeth: White_Flame: "foo\n" is actually probably one of the hardest things to add because it requires modifying the reader. Most things would be pretty easily extensible through the existing package system. 2020-04-29T07:28:17Z beach: boeg: I learned object-oriented programming with CLOS from reading and implementing the CLIM specification. 2020-04-29T07:28:33Z White_Flame: yeah, I stopped using the reader for my stuff, and have my own lexer/parser. The fact that you can't have multi-character punctuators is really annoying to me, and that there's no unread-char past a 1 char buffer 2020-04-29T07:28:34Z phoe: boeg: yes, the knowledge there aged pretty well - compared to the way it is physically presented, sadly. 2020-04-29T07:28:37Z boeg: beach: i guess thats another way to go about it :) 2020-04-29T07:28:42Z White_Flame: I run the lexer/parser right on the lisp input stream 2020-04-29T07:28:44Z beach: boeg: That's how I really understood CLOS. Keene's book was not good for me. 2020-04-29T07:29:08Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T07:29:25Z gabiruh joined #lisp 2020-04-29T07:29:32Z boeg: beach, phoe: right, so either I should get a physical copy of the Keene book, or implement the CLIM specification :) 2020-04-29T07:29:55Z boeg: or stumble upon a third route to enlightenment regarding CLOS 2020-04-29T07:30:35Z beach: You just have to read it. 2020-04-29T07:30:47Z jonatack_ joined #lisp 2020-04-29T07:31:16Z boeg: beach: yes, it wasn't meant in a sarcastic tone, no offense meant 2020-04-29T07:31:50Z Cymew quit (Ping timeout: 260 seconds) 2020-04-29T07:32:01Z beach: Sure, I understand. 2020-04-29T07:32:39Z Cymew joined #lisp 2020-04-29T07:33:34Z momozor joined #lisp 2020-04-29T07:33:35Z momozor: hi 2020-04-29T07:33:44Z beach: Hello momozor. 2020-04-29T07:34:25Z jonatack quit (Ping timeout: 264 seconds) 2020-04-29T07:36:59Z aeth: phoe: there won't be a new standard until the major implementors want it... but if that's the main reason why people don't want one, then it enters the zeitgeist and discourages implementors from wanting one, thus becoming a self-fulfilling prophecy. 2020-04-29T07:37:29Z aeth: that being said, "foo\n" would probably be voted down because CL 2.0 (or 4.0?) would then have a separate reader 2020-04-29T07:38:02Z flip214: aeth: perhaps the readtable might be changed by a (in-package) line 2020-04-29T07:38:05Z pjb joined #lisp 2020-04-29T07:38:09Z momozor: So uh..I want to ask on how do you guys document your function and variable types? Is it by letting declare, check-type, and declaim to do the job for you or document them inside a function docstring, parameter, etc? 2020-04-29T07:38:30Z aeth: beach: Performance, yes, that's a major issue. It makes certain things very controversial in language design, like dependent types 2020-04-29T07:38:32Z momozor: I'm doing it this way - https://momozor.github.io/quaremain/index.html 2020-04-29T07:38:45Z momozor: but I'm not sure if this is the best practice 2020-04-29T07:38:48Z beach: aeth: But unless the committee consists of smart, knowledgeable people with lots of time on their hands, there are going to be tons of suggestions like that, which would then have to be voted on. And some of them would then likely pass. 2020-04-29T07:38:57Z momozor this makes me look obsessive with types 2020-04-29T07:38:59Z sam68 joined #lisp 2020-04-29T07:39:18Z momozor: *obsessed 2020-04-29T07:39:30Z phoe: momozor: not necessarily, docstrings like that are informative and I've seen them used around the Lisp world. 2020-04-29T07:39:48Z beach: momozor: Often, mentioning precise types can become a maintenance burden. 2020-04-29T07:39:50Z flip214: momozor: your [SRC] links use file:/// 2020-04-29T07:39:54Z phoe: momozor: I usually use CHECK-TYPE for verifying function arguments. 2020-04-29T07:40:07Z momozor: https://momozor.github.io/quaremain/index.html 2020-04-29T07:40:09Z momozor: oops 2020-04-29T07:40:19Z momozor: wait oh 2020-04-29T07:40:25Z no-defun-allowed: It's more common to use a documentation string for documentation than declared types in Lisp. 2020-04-29T07:40:29Z flip214: and there's a lone "ody>" at the end 2020-04-29T07:40:36Z aeth: CHECK-TYPE is safer, DECLARE is potentially faster/smoother. The issue is that implementations can (and SBCL with (safety 0) does) assume type declarations are valid rather than checking. 2020-04-29T07:41:03Z flip214: momozor: I suggest describing what it does in a docstring, and then to use check-type or an explicit function declaration for the types. 2020-04-29T07:41:09Z aeth: On the other hand, with a CHECK-TYPE instead of a DECLARE in SBCL, you have the situation where SBCL correctly type infers that any input is valid, up until the point of the CHECK-TYPE 2020-04-29T07:41:26Z aeth: so the parameters are correctly inferred to be T 2020-04-29T07:41:52Z aeth: So you can't really programmatically get that type information if it's in a CHECK-TYPE 2020-04-29T07:44:07Z phoe: aeth: even if CHECK-TYPE is at the toplevel of the function body? lemme check 2020-04-29T07:44:40Z phoe: huh!... correct 2020-04-29T07:44:50Z aeth: phoe: and beyond that, you can't access the inferred type... Although SLIME somehow does it for SBCL, so maybe I shouldn't say it's impossible. 2020-04-29T07:45:17Z boeg: also is there like a resource that takes you through actually implementing your own lisp so to get the enlightenment that i'm sure such an endeavor will reveal? 2020-04-29T07:45:25Z aeth: but for accessing types from DECLARE you have https://github.com/Bike/introspect-environment 2020-04-29T07:46:03Z beach: boeg: You may try "Lisp in Small Pieces". 2020-04-29T07:46:09Z jdz: boeg: You might start with an existing implementation. I've heard ECL is very approachable. 2020-04-29T07:46:52Z beach: boeg: But, depending on your objectives, even such a great book is only going to tell you about a very small part of what you need to know. 2020-04-29T07:46:54Z boeg: beach, jdz: thanks! 2020-04-29T07:47:04Z aeth: phoe: What I'm probably going to do with my DEFINE-FUNCTION macro is make the default behavior different on different implementations, i.e. only defaulting to using DECLARE on implementations where it is safe/good to do so. But with SBCL, that still leaves the (safety 0) problem. 2020-04-29T07:47:17Z no-defun-allowed: What Lisp? 2020-04-29T07:47:30Z aeth: And it's not hard (but it is a bit verbose) to manually set DEFINE-FUNCTION to CHECK-TYPE or DECLARE... 2020-04-29T07:47:46Z boeg: beach: I can imagine - but I guess you cannot answer the questions you yet haven't discovered. Maybe reading LiSP is a good starting place 2020-04-29T07:47:48Z no-defun-allowed: And I believe it's only yours if you pick the implementation techniques and semantics yourself, honestly. That's where the fun is. 2020-04-29T07:48:33Z beach: boeg: It is a great book, and the English translation is better than the original, thanks to the brilliant translator. 2020-04-29T07:48:39Z mathrick quit (Ping timeout: 244 seconds) 2020-04-29T07:48:45Z boeg: beach: good to know! 2020-04-29T07:49:06Z akoana left #lisp 2020-04-29T07:49:08Z boeg: there is also LISP System Implementation. Maybe that's a good second read 2020-04-29T07:49:24Z phoe: boeg: who's the author? 2020-04-29T07:49:33Z boeg: http://www.t3x.org/lsi/index.html 2020-04-29T07:49:39Z gxt quit (Remote host closed the connection) 2020-04-29T07:49:43Z boeg: Nils M Holm 2020-04-29T07:49:43Z beach: boeg: I absolutely can't recommend that book. 2020-04-29T07:49:46Z boeg: oh 2020-04-29T07:49:55Z boeg: how come? 2020-04-29T07:50:00Z no-defun-allowed: I think beach would have thought about "the questions [he] yet haven't discovered", having only written a great deal of the SICL Common Lisp implementation... 2020-04-29T07:50:28Z gxt joined #lisp 2020-04-29T07:50:30Z beach: boeg: It is basically a commented listing of a C implementation of a particular Lisp system that is implemented in ways that no other implementation follows, and for good reasons. 2020-04-29T07:50:52Z SGASAU quit (Remote host closed the connection) 2020-04-29T07:50:53Z gxt quit (Remote host closed the connection) 2020-04-29T07:50:57Z aeth: beach: That's the first time I'm hearing about criticism of the book! 2020-04-29T07:50:58Z boeg: no-defun-allowed: not to be snarky, but i don't think even beach can ask a question he hasn't yet discovered :) 2020-04-29T07:51:19Z beach: aeth: Have you read it? 2020-04-29T07:51:32Z gxt joined #lisp 2020-04-29T07:51:56Z aeth: beach: Unfortunately, no. It's expensive and rare. 2020-04-29T07:52:00Z SGASAU joined #lisp 2020-04-29T07:52:03Z beach: Oh? 2020-04-29T07:52:11Z duncan_ joined #lisp 2020-04-29T07:52:21Z beach: I don't think I paid that much for it. 2020-04-29T07:52:27Z no-defun-allowed: aeth: Are you thinking of Lisp in Small Pieces right now? 2020-04-29T07:53:46Z aeth: no-defun-allowed: oh, I see, I guess beach was talking about the other one there 2020-04-29T07:53:55Z no-defun-allowed: Yeah. 2020-04-29T07:53:57Z Kundry_Wag joined #lisp 2020-04-29T07:54:19Z phoe: it was Sonja's CLOS book, and then the t3x book 2020-04-29T07:54:34Z beach: aeth: Like I said, LiSP is great, and the translation is fantastic, due to an excellent translator. 2020-04-29T07:54:58Z aeth: ah, okay, sorry, I got confused 2020-04-29T07:55:02Z aeth: I haven't heard of the other book 2020-04-29T07:55:12Z no-defun-allowed: The source code is available at http://www.t3x.org/lisp9/lisp9-20200220.tgz, and I guess I might be able to glean some things from the 5.6 thousand line C file that the interpreter resides in. 2020-04-29T07:55:14Z aeth: What does it do unusually? 2020-04-29T07:55:36Z beach: Memory management is one thing. 2020-04-29T07:55:43Z beach: Object representation. 2020-04-29T07:55:55Z LdBeth: no-defun-allowed: it’s actually a native code compiler 2020-04-29T07:56:16Z no-defun-allowed: It has one vector of CARs and one of CDRs, which I guess make caches happy. 2020-04-29T07:56:32Z no-defun-allowed: LdBeth: Really? The "blurb" says "LISP9 compiles to abstract machine code". 2020-04-29T07:56:53Z aeth: no-defun-allowed: oh, wow, that's interesting 2020-04-29T07:57:02Z jdz: no-defun-allowed: how is two separate vectors for cars and cdrs cache-friendly? 2020-04-29T07:57:39Z no-defun-allowed: jdz: Sorry, I missed a (with-sarcasm ...) there. 2020-04-29T07:57:42Z LdBeth: Well, means you have to figure out abstract machine to native part ( 2020-04-29T07:58:03Z aeth: how is that cache-unfriendly? 2020-04-29T07:58:26Z aeth: A modern CPU is probably used to reading several vectors in parallel... 2020-04-29T07:58:28Z Kundry_Wag quit (Ping timeout: 256 seconds) 2020-04-29T07:59:39Z no-defun-allowed: I guess so. I was thinking that having the CDR next to the CAR in memory would be preferable for pre-fetching. 2020-04-29T07:59:44Z jdz: aeth: I'd expect processing two vectors (sequentially) to have twice the load on cache than one such vector. 2020-04-29T08:01:39Z no-defun-allowed: LdBeth: Maybe you're right, in the table of contents I see a "24.3 Compiling to Machine Code" in Part 3 of the book. 2020-04-29T08:01:41Z aeth: jdz: You could probably benchmark that with specialized arrays (e.g. :element-type single-float) where one function loops over one and one function loops over two, but half the size. 2020-04-29T08:01:55Z beach: The title of the book is highly misleading and suggests that there will be discussions about pros and cons of different ways of doing things like memory management, object representation, bootstrapping, evaluation, etc. 2020-04-29T08:03:06Z momozor: phoe, beach, flip214, no-defun-allowed, aeth: thanks! I guess describing the function to give a high-level POV and declaring types using CHECK-TYPE might be a good idea in my case. It's true that it can be a burden to maintain the precise types declaration in the docstring manually. 2020-04-29T08:03:16Z no-defun-allowed: There is also a lot of C in the book. 2020-04-29T08:03:33Z jdz: aeth: That would be a good exercise, yes. But I imagine these vectors being way bigger than the caches, so the size would not matter. 2020-04-29T08:03:40Z jprajzne joined #lisp 2020-04-29T08:04:21Z aeth: momozor: If you generate the CHECK-TYPE or DECLARE TYPE in a macro, you could have that macro scan for docstrings and append the type information at the end. 2020-04-29T08:04:52Z aeth: The docstring (afaik) has to be a literal string, so you can just do (concatenate 'string docstring ...) at replace it in the generated DEFUN 2020-04-29T08:05:18Z jdz: Allocating conses from pools specialized on the type of CAR contents seems mildly interesting. 2020-04-29T08:05:38Z beach: aeth: Sure you can. Use the #. reader macro. 2020-04-29T08:05:52Z aeth: jdz: I've considered doing that for a stack machine for an interpreter 2020-04-29T08:06:10Z SGASAU quit (Read error: Connection reset by peer) 2020-04-29T08:06:34Z jdz: Or even specialized on both CAR × CDR being pointer into the next cell (kind of CDR-coding). 2020-04-29T08:06:43Z beach: jdz: And what happens when you do a RPLACA? 2020-04-29T08:06:57Z no-defun-allowed: Iterating over one vector seems to be no faster or slower than two vectors of half the size in parallel. 2020-04-29T08:07:04Z SGASAU joined #lisp 2020-04-29T08:07:43Z flip214: no-defun-allowed: well, beware of cache performance ... lots of non-linearities there 2020-04-29T08:08:16Z jdz: beach: Maybe cooperate with GC and evacuate the cell. I said "mildly" interesting; sure smart people have thought about this and found the idea not worth the trouble. 2020-04-29T08:08:39Z SGASAU quit (Remote host closed the connection) 2020-04-29T08:08:49Z jdz: no-defun-allowed: I'm concerned about the "two vectors of half the size" part. 2020-04-29T08:08:49Z beach: jdz: Very likely, and that's what I would expect to see discussed in the book. 2020-04-29T08:08:50Z aeth: it sounds like one of those interesting things you might want to try in a language with immutable conses, which unfortunately, CL doesn't and never will have 2020-04-29T08:09:27Z beach: aeth: See, that's a typical suggestion that might come up in a standards committee! 2020-04-29T08:10:03Z beach: aeth: Now, figure out how to implement that efficiently without sacrificing performance in existing implementations. 2020-04-29T08:10:07Z aeth: beach: Immutable versions of every data structure would be very useful for compilers that want to optimize without forcing optimizations... which seems very CL to do. 2020-04-29T08:11:01Z SGASAU joined #lisp 2020-04-29T08:11:11Z pjb quit (Ping timeout: 265 seconds) 2020-04-29T08:11:11Z beach: aeth: Lots of stuff is useful. But you have to provide an efficient implementation technique that won't have any negative impact on existing techniques for mutable conses. 2020-04-29T08:11:25Z aeth: Immutable conses/vectors/strings wouldn't hurt anything, unless you reinterpret literal conses/vectors/strings to be the immutable versions, which would arguably help catch bugs, at the expensive of making everything a little bit more generic. 2020-04-29T08:11:29Z beach: aeth: And that is PRECISELY the problem with a new standard. 2020-04-29T08:11:30Z LdBeth: Why immutable then? 2020-04-29T08:11:31Z Bourne quit (Read error: Connection reset by peer) 2020-04-29T08:11:50Z momozor: aeth: that's a great idea! I will look into implementing such macro. 2020-04-29T08:12:19Z beach: aeth: OK, so suppose you pass sometimes and immutable CONS cell sometimes an immutable one, to arbitrary functions. 2020-04-29T08:12:41Z beach: And suppose somewhere down the line, some function does a RPLACA. 2020-04-29T08:12:55Z beach: aeth: How do you check that this function has the right to do that. 2020-04-29T08:13:07Z aeth: momozor: be careful, though, because detecting docstrings is harder than it looks. e.g. (defun foo () "foo") doesn't (afaik) have a docstring, it returns a string. And the other complication is that afaik docstrings and DECLARE are interchangable, e.g. (defun foo () (declare ...) "foo" 42) and (defun foo () "foo" (declare ...) 42) 2020-04-29T08:13:12Z aeth: momozor: probably a few more, too 2020-04-29T08:13:14Z beach: aeth: Without sacrificing the existing performance with only mutable CONS cells. 2020-04-29T08:13:14Z flip214: well, if data could be annotated (cough types cough) as being immutable that's something the compiler could already check for.... atleast a SSC in some cases ;) 2020-04-29T08:13:27Z orblu joined #lisp 2020-04-29T08:13:44Z phoe: you'd need another tag bit for that, most likely 2020-04-29T08:13:51Z flip214: beach: there'll be a segfault that'll be caught, of course ;) 2020-04-29T08:13:51Z beach: So another test? 2020-04-29T08:13:53Z LdBeth: I don’t think a immutable arrary would in anyway more performant then a mutable one 2020-04-29T08:14:19Z beach: aeth: And that is precisely what I mean by the people making decisions would have to be knowledgeable people who know how to evaluate stuff like that. 2020-04-29T08:14:23Z flip214: LdBeth: having immutable data means quite a few more optimizations for the compiler... 2020-04-29T08:14:35Z flip214: that's why fortran libraries are still in use 2020-04-29T08:15:02Z beach: flip214: You can't compare a static programming language to a dynamic one that way. 2020-04-29T08:15:19Z aeth: beach: Immutable conses would have to be their own sequence subtype, yes. As I said, you might want to reinterpret literal conses like '(1 2 3) to be immutable, but now you either break or slow down code that does (car l) where l is ultimately '(1 2 3) 2020-04-29T08:15:24Z momozor: aeth: ah I see.. 2020-04-29T08:16:06Z aeth: (It breaks if CAR only applies to mutable conses, and it's slowed down if CAR can apply to either cons type) 2020-04-29T08:16:14Z beach: aeth: So you are saying that YOU are willing to accept a performance penalty for this new feature? 2020-04-29T08:16:36Z LdBeth: flip214: if that just means data can copied 2020-04-29T08:16:50Z beach: aeth: Again, that is EXACTLY the problem with an updated standard. 2020-04-29T08:16:54Z White_Flame: LdBeth: immutable means you avoid copies 2020-04-29T08:17:30Z White_Flame: and rather share old versions of stuff taht didn't "change" 2020-04-29T08:17:33Z aeth: beach: Well, no, if you resist the temptation to redefine literals to be immutables (which is very tempting) then it would only potentially slow down already generic stuff, sequence-generic stuff. 2020-04-29T08:17:44Z beach: aeth: New features would have to be carefully considered in terms of possible implementation techniques. And that requires detailed knowledge about memory management, compiler techniques, computer architecture, etc. 2020-04-29T08:18:32Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T08:18:48Z LdBeth: White_Flame: maybe could reduce gc overhead, but in principle still the same as the mutable version. And there’s generational gc 2020-04-29T08:18:49Z narimiran quit (Ping timeout: 264 seconds) 2020-04-29T08:18:51Z gabiruh joined #lisp 2020-04-29T08:19:18Z White_Flame: GCs are FAR easier to write for immutable systems as well 2020-04-29T08:19:28Z White_Flame: since you never have to worry about the references changing during scan 2020-04-29T08:19:29Z beach: In other words, whenever I see a "this would be good to have in an updated standard" and that phrase is not accompanied by some serious research into how it would possibly break existing things and/or slow things down, I must ignore it. 2020-04-29T08:20:00Z beach: White_Flame: Provided every object is immutable, sure. 2020-04-29T08:20:00Z LdBeth: Although might be helpful to provide pragmas that instructs compiler how to allocate the data 2020-04-29T08:20:26Z beach: But that would be a very radical new Common Lisp version. 2020-04-29T08:20:36Z doomlist3 joined #lisp 2020-04-29T08:20:40Z LdBeth: White_Flame: even in GHC not everything in the heap is immutable 2020-04-29T08:20:57Z aeth: beach: It's a feature that people use often in similar programming languages and there's probably demand for it, and if implemented as a library it will be slower than at the implementation level, so there is specifically a demand for immutable conses. I think that's sufficient at this point. 2020-04-29T08:21:13Z aeth: beach: Obviously if we actually did Common Lisp 4.0 we'd have to research it, come up with the pros and cons, debate it, write a concrete proposal, etc. 2020-04-29T08:21:22Z aeth: And that's why a wishlist is so much faster than actually doing a new standard... 2020-04-29T08:21:23Z White_Flame: LdBeth: but do they separate areas of immutable data vs not? 2020-04-29T08:22:01Z LdBeth: Simple answer is then don’t 2020-04-29T08:22:03Z White_Flame: aeth: or make your own take on it, and screw consensus. But at least implement contentious ideas well 2020-04-29T08:22:12Z LdBeth: It involves update thunks due to lazy eval 2020-04-29T08:22:47Z White_Flame: the thing is, what is the "common" part of a new CL? 2020-04-29T08:23:04Z phoe: there's none 2020-04-29T08:23:11Z White_Flame: the most obvious things are standardization of the most common libraries, especially the trivial-* portability ones 2020-04-29T08:23:18Z aeth: Absolutely. 2020-04-29T08:23:23Z phoe: the new language doesn't have to be a compromise to unify existing dialects, hence it's not really "common" anymore 2020-04-29T08:23:27Z Bourne joined #lisp 2020-04-29T08:23:35Z aeth: And then the controversial things would be things like new sequence types... Or \n in strings. 2020-04-29T08:23:36Z White_Flame: but in terms of totally new features, not really much has congealed 2020-04-29T08:23:59Z phoe: if anything, it can do what you say - unify the various extensions to the standard that have then been covered by the various portability libraries 2020-04-29T08:24:01Z White_Flame: however 2020-04-29T08:24:01Z aeth: White_Flame: A new CL would be "common" if (most of) the major implementations agree to it. 2020-04-29T08:24:17Z White_Flame: pre-CL, there was fracturing and exploration within the Lisp space that CL brought together 2020-04-29T08:24:32Z White_Flame: that exploration with a language stops to some degree with the introduction of a standard 2020-04-29T08:24:40Z frgo_ joined #lisp 2020-04-29T08:24:49Z White_Flame: really, we need things that deviate from CL, such that those that seem good ideas could be reintegrated into the standard 2020-04-29T08:24:57Z White_Flame: the fear of deviating from it stops basic language innovation 2020-04-29T08:25:21Z Lycurgus joined #lisp 2020-04-29T08:25:24Z White_Flame: CL was not 100% compatible with the lisps that came before it, either 2020-04-29T08:25:25Z beach: aeth: Faster, but also a very discouraging read, because often the person has not done the slightest research into the feasibility. 2020-04-29T08:26:53Z mathrick joined #lisp 2020-04-29T08:26:53Z frgo quit (Ping timeout: 244 seconds) 2020-04-29T08:27:30Z aeth: beach: Idk, that seems a bit too negative. There are two phases: breadth then depth, and breadth is a higher priority early on because it doesn't matter how well-researched a feature is, no one's going to make a new standard just to add one thing. 2020-04-29T08:27:50Z aeth: Although I guess the "depth" approach gives it the chance of implementing it as a portability library over multiple implementations' implementations of it 2020-04-29T08:27:51Z White_Flame: I mean, lexical variables was a pretty breaking language feature, that violated the design of purely dyamically scoped lisps. But without that violation, the innovation wouldn't have happened 2020-04-29T08:28:22Z beach: aeth: That can't possibly be the way for a committee to work, i.e. wading through tons of uniformed proposals, and then have to write motivated rejection messages to each one. 2020-04-29T08:28:35Z beach: aeth: I for one would not participate in such a committee. 2020-04-29T08:28:35Z aeth: White_Flame: CL doesn't really need breaking changes. Ideally, you would just (:use #:cl2020) instead of (:use #:cl) although yes that does still restrict some things 2020-04-29T08:28:41Z flip214: White_Flame: but breaking backwards compatibility is awkward. look at perl5/perl6 (raku), python 2=>3, java 8 vs. 11 vs. 14 (standard libraries changed), C++, Go 1 => 2, ... 2020-04-29T08:28:54Z flip214: aeth: well, there's CL21 already, yes. 2020-04-29T08:29:03Z White_Flame: microsoft fears breaking backwards compatibility in many thigns, and they end up with a nightmare mudball 2020-04-29T08:29:31Z aeth: flip214: yes, CL21 is a terrible name for a library because names like "CL21" should be reserved for... if implementations want to make a new version of CL in 2021. 2020-04-29T08:29:32Z flip214: that's the other side of the story, right 2020-04-29T08:29:57Z White_Flame: aeth: that'd be y2.1k incompatible 2020-04-29T08:30:08Z aeth: C++ has no issue with that... 2020-04-29T08:30:09Z flip214: aeth: getting a new CL for the 21st _century_ would be good enough... then there could always be a CL22, CL2021, or whatever 2020-04-29T08:30:34Z beach: aeth: I think every proposal should be accompanied by documented research into how it can be implemented efficiently (among other things). 2020-04-29T08:30:40Z rgherdt_ joined #lisp 2020-04-29T08:30:50Z White_Flame: beach: or by being explored in non-CL compatible separate implementations 2020-04-29T08:30:53Z aeth: beach: I agree, but we're not at the stage of proposals yet, afaik. 2020-04-29T08:30:58Z White_Flame: or breaking forks to explore concepts 2020-04-29T08:31:22Z beach: White_Flame: Sure, if it is compatible with performance requirements in that implementation. 2020-04-29T08:31:36Z aeth: Or, rather, the only completed proposals for a new standard are things that already exist as portability libraries 2020-04-29T08:31:44Z aeth: Perhaps that's really the way to go, though. 2020-04-29T08:31:48Z beach: aeth: Oh, but I see frequent proposals like that here, with no research what so ever. 2020-04-29T08:31:58Z White_Flame: aeth: yep, that's the low hanging fruit for new versions (or even just addendums) 2020-04-29T08:32:02Z White_Flame: and should be taken 2020-04-29T08:32:28Z beach: aeth: And it is discouraging, because it is basically just noise, until the research is shown as well. 2020-04-29T08:32:35Z White_Flame: especially since the real CL implementations already have implemented tons of these things in extension packages 2020-04-29T08:33:09Z rixard quit (Read error: Connection reset by peer) 2020-04-29T08:33:10Z White_Flame: eg, extensible hash tables, package local nicknames, threading, networking, etc 2020-04-29T08:33:28Z beach: White_Flame: Now, that's a different story. I am all in favor of an updated standard that basically just documents what all implementations already do. 2020-04-29T08:33:50Z White_Flame: right, hence teh trivial-* portability sims exploring what the interfaces woul dbe 2020-04-29T08:33:51Z beach: Immutable CONSes is not one of them. 2020-04-29T08:33:57Z White_Flame: *shims 2020-04-29T08:34:13Z ljavorsk joined #lisp 2020-04-29T08:34:20Z rixard joined #lisp 2020-04-29T08:35:18Z beach: White_Flame: In fact, WSCL is such an idea. 2020-04-29T08:36:02Z sam68 quit (Quit: Connection closed) 2020-04-29T08:36:18Z shangul joined #lisp 2020-04-29T08:36:45Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T08:36:53Z aeth: beach: Unfortunately, extensible sequences is only supported by SBCL, ABCL, and Clasp, which is probably why we don't see a lot of experimentation in sequences. (And even that is probably going to be a performance loss) 2020-04-29T08:36:55Z flip214: beach: I guess such proposals without research are called "brainstorming" or "wishes" ;) 2020-04-29T08:37:04Z gabiruh joined #lisp 2020-04-29T08:38:10Z beach: flip214: Which is very tiresome when done by uninformed people, because of the large amount of work to refute the suggestions. 2020-04-29T08:38:38Z beach: aeth: No, there is no performance loss in extensible sequences. 2020-04-29T08:39:28Z beach: aeth: Typically, CONS and VECTOR are tested for first, and if it is neither, then, instead of calling error, a generic function is called. 2020-04-29T08:39:29Z flip214: beach: I understand that. quite a sizable part of my job is to say "no" to people as well 2020-04-29T08:39:37Z flip214: sadly that normally takes quite a lot more words 2020-04-29T08:39:46Z beach: Exactly. 2020-04-29T08:39:57Z beach: But you are paid to do that then. 2020-04-29T08:40:05Z beach: A committee would be working for free. 2020-04-29T08:40:49Z momozor quit (Quit: Lost terminal) 2020-04-29T08:41:03Z beach: aeth: Not only is there no performance loss. It is trivial to implement too. 2020-04-29T08:41:23Z beach: The hardest part is to decide the name of the package in which to stick the name of the generic function. 2020-04-29T08:42:54Z beach: Now, with the SICL fast generic-function dispatch technique, you would do the first two tests in the generic function as well, so you would simplify the implementation that way. And it is just as fast. 2020-04-29T08:47:42Z Fare: beach: I was thinking about doing a MOP for prototype OO and/or for class-on-top-of-prototype, or best-of-both-world, etc. 2020-04-29T08:48:09Z Fare: maybe having implemented MOP things in SICL gives you ideas about that. 2020-04-29T08:48:10Z beach: Sounds great! 2020-04-29T08:48:36Z beach: Not really. I think one would have to study what the Self people did. 2020-04-29T08:49:06Z beach: I have intended to do that in the past, but haven't found the time. 2020-04-29T08:49:22Z rgherdt quit (Ping timeout: 265 seconds) 2020-04-29T08:53:22Z roelj joined #lisp 2020-04-29T08:53:30Z shifty quit (Ping timeout: 260 seconds) 2020-04-29T08:54:22Z Fare: My reading list is super long 2020-04-29T08:54:34Z orivej joined #lisp 2020-04-29T08:56:20Z flip214: I've got a list of reading lists 2020-04-29T08:57:03Z aeth: I have a reading vector instead, for better cache performance. 2020-04-29T08:57:29Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T08:57:47Z gabiruh joined #lisp 2020-04-29T08:59:01Z stepnem quit (Ping timeout: 264 seconds) 2020-04-29T09:02:08Z shangul: Recommended ncurses library for Common Lisp supporting colors? 2020-04-29T09:02:10Z no-defun-allowed: I apparently have some kind of Bloom filter for reading, because I can't remember what to read, but when I find something I say "oh, I've been meaning to read that". 2020-04-29T09:03:29Z jmercouris: shangul: there is one but beware of the license 2020-04-29T09:03:36Z peterhil quit (Read error: Connection reset by peer) 2020-04-29T09:03:40Z shangul: Yeah that's a problem 2020-04-29T09:03:54Z shangul: MIT/X11 style is better for my application I guess 2020-04-29T09:04:27Z peterhil joined #lisp 2020-04-29T09:05:41Z jmercouris: I haven't tried this: https://github.com/McParen/croatoan/ but it looks promising 2020-04-29T09:06:43Z narimiran joined #lisp 2020-04-29T09:07:42Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-29T09:09:56Z shangul: I need a good tutorial and docs, too. I have never worked with ncurses before. 2020-04-29T09:10:15Z orblu quit (Ping timeout: 240 seconds) 2020-04-29T09:14:07Z doomlist3 quit (Ping timeout: 246 seconds) 2020-04-29T09:16:41Z heisig joined #lisp 2020-04-29T09:18:58Z Nilby joined #lisp 2020-04-29T09:21:35Z nika joined #lisp 2020-04-29T09:21:54Z jdz: jackdaniel is working on terminal backend for McCLIM, and I'm pretty sure he said he's doing that without curses by using a subset of escape sequences. 2020-04-29T09:22:29Z jdz: I'll probably need something like this in the near future, so I'm interested in the answers. 2020-04-29T09:22:33Z Lycurgus quit (Remote host closed the connection) 2020-04-29T09:23:20Z reggie__ quit (Read error: Connection reset by peer) 2020-04-29T09:23:46Z reggie__ joined #lisp 2020-04-29T09:24:06Z jdz: I found https://github.com/dkochmanski/charming-clim, and it seems I was mistaken. 2020-04-29T09:24:44Z jdz: Or maybe jackdaniel has found a way to do without cl-charms. 2020-04-29T09:24:52Z catalinbostan joined #lisp 2020-04-29T09:26:25Z jmercouris: shangul: there are apparently commented examples in the source 2020-04-29T09:26:42Z shangul: Yeah that's my hope 2020-04-29T09:30:54Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T09:31:09Z gabiruh joined #lisp 2020-04-29T09:31:35Z Lycurgus joined #lisp 2020-04-29T09:34:33Z gabiruh quit (Client Quit) 2020-04-29T09:34:43Z gabiruh joined #lisp 2020-04-29T09:35:37Z doomlist3 joined #lisp 2020-04-29T09:39:44Z gabiruh quit (Ping timeout: 244 seconds) 2020-04-29T09:41:20Z LdBeth: the point of using ncurse is it supports some old obscure terminal types 2020-04-29T09:41:39Z gabiruh joined #lisp 2020-04-29T09:46:51Z vlatkoB_ joined #lisp 2020-04-29T09:48:03Z jmarciano joined #lisp 2020-04-29T09:49:49Z vlatkoB quit (Ping timeout: 246 seconds) 2020-04-29T09:50:34Z pjb joined #lisp 2020-04-29T09:51:55Z Fare quit (Quit: Leaving) 2020-04-29T09:53:53Z jackdaniel: jdz: the current approach does it without ffi 2020-04-29T09:54:19Z jdz: jackdaniel: Is the code publicly available? 2020-04-29T09:54:31Z jackdaniel: no, it still needs some work 2020-04-29T09:54:37Z Kundry_Wag joined #lisp 2020-04-29T09:54:41Z jackdaniel: but I can share a funny screenshot from a few months back 2020-04-29T09:55:11Z jackdaniel: https://files.mastodon.social/media_attachments/files/018/592/253/original/5e402b25c32183cc.png line caps 2020-04-29T09:55:22Z doomlist3 quit (Ping timeout: 256 seconds) 2020-04-29T09:57:53Z jackdaniel: this one is fun too: https://files.mastodon.social/media_attachments/files/018/554/072/original/b580c24032c9c573.png 2020-04-29T09:58:43Z stepnem joined #lisp 2020-04-29T09:58:57Z jackdaniel: you could call these rendering algorithms implemented for characters an art;-) 2020-04-29T09:59:15Z jdz: I discovered yesterday that Unicode box drawing glyphs don't have arrows. 2020-04-29T09:59:16Z Kundry_Wag quit (Ping timeout: 258 seconds) 2020-04-29T09:59:31Z jackdaniel: brb 2020-04-29T09:59:46Z jdz: I.e., it's impossible to draw a box with an arrow pointing to it (to the edge). 2020-04-29T10:02:54Z karlosz quit (Quit: karlosz) 2020-04-29T10:03:34Z amerlyq joined #lisp 2020-04-29T10:03:53Z milanj joined #lisp 2020-04-29T10:04:15Z pjb: There's: ⁡ 2020-04-29T10:04:31Z pjb: but it's not a box element. 2020-04-29T10:04:33Z Nilby: This │←── isn't good enough? 2020-04-29T10:04:55Z jdz: Nope. 2020-04-29T10:05:28Z jdz: It's way worse for vertical axis. 2020-04-29T10:05:34Z White_Flame: and is horribly unaligned on my screen 2020-04-29T10:05:51Z jdz: Might be because of missing glyphs in your font. 2020-04-29T10:05:51Z White_Flame: the arrow stem doesn't align with the horizontal line 2020-04-29T10:05:55Z Nilby: Looks fine in mine. ☹ 2020-04-29T10:06:04Z no-defun-allowed: Not here, that ←is lower than the — 2020-04-29T10:06:24Z White_Flame: I doubt unicode defines them as needing to connect 2020-04-29T10:06:26Z jdz: But that is one of the problems with no arrows in box drawing page. 2020-04-29T10:06:52Z jdz: *block 2020-04-29T10:11:46Z jdz: Maybe they'll add a few "combining arrows" in a future version. 2020-04-29T10:11:52Z marcoxa joined #lisp 2020-04-29T10:12:42Z marcoxa: Hi... anybody here now? 2020-04-29T10:13:08Z phoe: marcoxa: yes 2020-04-29T10:13:15Z jdz: marcoxa: Do you want an answer from everybody? 2020-04-29T10:13:16Z leo_song quit (Ping timeout: 246 seconds) 2020-04-29T10:13:28Z phoe: and even if they aren't, they'll come back sooner or later and read the backlog 2020-04-29T10:13:34Z marcoxa: Nope. Just pinging... :) 2020-04-29T10:13:43Z phoe: therefore: pong 2020-04-29T10:13:53Z marcoxa: :) 2020-04-29T10:15:38Z SGASAU quit (Remote host closed the connection) 2020-04-29T10:16:41Z SGASAU joined #lisp 2020-04-29T10:17:11Z leo_song joined #lisp 2020-04-29T10:20:35Z gabiruh_ joined #lisp 2020-04-29T10:21:20Z gabiruh quit (Read error: Connection reset by peer) 2020-04-29T10:23:47Z jackdaniel: o/ 2020-04-29T10:23:51Z jackdaniel: I'm back 2020-04-29T10:24:05Z phoe: welcome back 2020-04-29T10:24:09Z jackdaniel: jdz: writing a console backend already resulted in numerous bugs fixed 2020-04-29T10:24:45Z jackdaniel: because when a pixel is not the square, you see plenty of invalid assumptions on the screen 2020-04-29T10:25:45Z jackdaniel: also it shows that measurement unit which depends on a device unit is very inadequate, because once 200px is around 3cm and once it is half of the 4k screen 2020-04-29T10:28:20Z gabiruh_ quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T10:28:26Z jackdaniel: (and that 100px x 100px is not always a square!) 2020-04-29T10:28:43Z gabiruh joined #lisp 2020-04-29T10:29:01Z ayuce joined #lisp 2020-04-29T10:29:28Z MichaelRaskin: Full (double) width characters in monospace fonts sometimes solve that latter problem, but this 100×100 square is usually still not what you would want 2020-04-29T10:29:56Z Nilby: I use (code-char #x2580) for terminal graphics. 2020-04-29T10:31:26Z jdz: Or use ultra wide font (like Inconsolata Ulra-Expanded). 2020-04-29T10:31:32Z jdz: *Ultra 2020-04-29T10:32:59Z Nilby: ▀ instantly makes things look better, but it makes rendering code a little more annoying. 2020-04-29T10:37:42Z scymtym quit (Ping timeout: 256 seconds) 2020-04-29T10:37:51Z ayuce quit (Remote host closed the connection) 2020-04-29T10:38:35Z Nilby: jackdaniel: You probably know that PDF/Postscript uses it's own device independent made up unit, and that browsers try to do that, but usually fail. 2020-04-29T10:39:31Z jdz: Nilby: Characters from "Block Elements" Unicode block can increase resolution two times; in case of upwards and rightwards growing blocks — eight times. 2020-04-29T10:40:54Z jdz: The braille block increases horizontal resolution two times, and vertical four times. 2020-04-29T10:40:55Z jackdaniel: the point is that it reveals problems, it is not a font what is at fault :) 2020-04-29T10:41:03Z Nilby: Hmmm. Using that upwards and rightwards would really complicate the rendering. 2020-04-29T10:41:31Z jackdaniel: Nilby: I do, but thanks for pointing this out. they use points, 1/72in 2020-04-29T10:41:49Z jdz: Nilby: it does not work for general rendering, only when drawing horizontal and vertical bar graphs with one end having higher resolution. 2020-04-29T10:42:18Z jackdaniel: there is also dp unit proposed by the material design guidelines, that is 1px on 160dpi screen, a physical size which maps well to the "average case" when assuming pixels are small squares on a monitor 2020-04-29T10:43:11Z jdz notices this is #lisp and not #clim 2020-04-29T10:46:04Z no-defun-allowed: An anti-climactic observation. 2020-04-29T10:46:28Z jackdaniel: clim is still ontopic on lisp luckily 2020-04-29T10:46:33Z jackdaniel: it is not that it is written in ruby 2020-04-29T10:47:04Z jdz: Now that you mentioned Ruby, I want to bring up the following issue: 2020-04-29T10:47:44Z jdz: (end of joke) 2020-04-29T10:48:00Z jackdaniel slowly starts laughing ;) 2020-04-29T10:48:29Z jdz: I added that so that people holding their breath stop doing that. 2020-04-29T10:50:06Z specbot quit (Read error: Connection reset by peer) 2020-04-29T10:50:06Z minion quit (Read error: Connection reset by peer) 2020-04-29T10:50:55Z minion joined #lisp 2020-04-29T10:50:55Z specbot joined #lisp 2020-04-29T10:51:04Z jmercouris: (end joke) 2020-04-29T10:51:27Z jmercouris: (with-joke ("How that you mentioned Ruby, I want to bring up the following issue:")) 2020-04-29T10:51:40Z peterhil quit (Read error: Connection reset by peer) 2020-04-29T10:52:02Z peterhil` joined #lisp 2020-04-29T10:54:54Z SGASAU quit (Ping timeout: 260 seconds) 2020-04-29T10:55:51Z scymtym joined #lisp 2020-04-29T10:56:09Z varjag joined #lisp 2020-04-29T10:59:10Z stoneglass joined #lisp 2020-04-29T11:02:35Z flip214: jdz: does that mean you see no issues with Ruby? Or that there aren't any? 2020-04-29T11:02:58Z jdz: It means discussing Ruby is off-topic. 2020-04-29T11:03:11Z flip214: right 2020-04-29T11:03:19Z no-defun-allowed: cl-ruby? 2020-04-29T11:03:19Z flip214: so ==> that way 2020-04-29T11:04:09Z no-defun-allowed: (specifically https://github.com/jgrant27/cl-ruby not the FFI package) 2020-04-29T11:10:19Z Lycurgus quit (Quit: Exeunt) 2020-04-29T11:10:22Z ayuce joined #lisp 2020-04-29T11:13:28Z ayuce quit (Remote host closed the connection) 2020-04-29T11:15:07Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T11:15:22Z gabiruh joined #lisp 2020-04-29T11:15:59Z schjetne quit (Ping timeout: 260 seconds) 2020-04-29T11:17:06Z ayuce joined #lisp 2020-04-29T11:21:58Z Bike joined #lisp 2020-04-29T11:22:23Z heisig quit (Quit: Leaving) 2020-04-29T11:24:59Z phoe: I'm bootstrapping a series of online Lisp meets that will hopefully gain traction, since the ELS formula this year turned out to be surprisingly nice. I'll try to kick the series off myself and talk about condition systems - more details at https://www.reddit.com/r/lisp/comments/ga7kfk/online_lisp_meeting_series/ 2020-04-29T11:25:22Z Lord_of_Life_ joined #lisp 2020-04-29T11:27:52Z theosvoitha quit (Quit: Connection closed for inactivity) 2020-04-29T11:28:30Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-04-29T11:28:32Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-29T11:31:56Z didi left #lisp 2020-04-29T11:33:48Z _Posterdati_ quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-04-29T11:34:10Z Posterdati joined #lisp 2020-04-29T11:34:59Z boeg: phoe: thats awesome! 2020-04-29T11:37:54Z beach: phoe: 18:00 is when I fix dinner, so I won't be able to participate. 2020-04-29T11:39:31Z beach: phoe: But don't change it for my sake. Just to let you know why I won't be there. 2020-04-29T11:39:45Z Nilby quit (Read error: No route to host) 2020-04-29T11:40:58Z schjetne joined #lisp 2020-04-29T11:42:06Z phoe: beach: OK. I can't do it earlier on weekdays because of my dayjob; there will be a recording though. 2020-04-29T11:45:07Z marcoxa: very good idea phoe 2020-04-29T11:45:56Z jonatack_ quit (Read error: Connection reset by peer) 2020-04-29T11:46:14Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T11:46:30Z gabiruh joined #lisp 2020-04-29T11:46:51Z jonatack joined #lisp 2020-04-29T11:47:08Z jonatack quit (Read error: Connection reset by peer) 2020-04-29T11:49:01Z grumble quit (Quit: Well, would you look at the time. I've almost missed my ambiguous, non-existent appointment that I have scheduled just when I start to lose interest in my current conversation.) 2020-04-29T11:49:26Z phoe: the only unknown is who would like to talk next 2020-04-29T11:49:43Z monokrom joined #lisp 2020-04-29T11:49:48Z phoe: _death suggested a very good idea, organizing lightning talk series with multiple short presentations 2020-04-29T11:53:20Z jonatack joined #lisp 2020-04-29T11:53:33Z Nilby joined #lisp 2020-04-29T11:54:02Z grumble joined #lisp 2020-04-29T11:57:57Z MichaelRaskin: phoe: I guess you can always up the level of crazy of the demos invited if you feel like not having enough talks? 2020-04-29T11:58:44Z jonatack quit (Ping timeout: 256 seconds) 2020-04-29T11:59:19Z phoe: MichaelRaskin: what do you mean, how crazy are you thinking, and why do I feel that you are about to propose something related to hardcore code walking 2020-04-29T11:59:20Z jonatack joined #lisp 2020-04-29T11:59:35Z phoe: I mean, I, personally, would like to see some of that 2020-04-29T12:00:32Z MichaelRaskin: I refuse to recognise code walking as crazy! We need to make it Lisp-mainstream to regain our talking points like «we can just build it on top of the language» 2020-04-29T12:00:44Z MichaelRaskin: For _all_ values of «it»! 2020-04-29T12:01:45Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T12:02:00Z gabiruh joined #lisp 2020-04-29T12:02:12Z phoe: I have to admit that I enjoy this attitude of yours 2020-04-29T12:02:19Z phoe: you're hired 2020-04-29T12:02:20Z MichaelRaskin: I dunno, I think QueryFS is kind of crazier, but apparently I need to wait a bit more with it. 2020-04-29T12:04:05Z Nilby: What's not to like about "crazy" Lisp demos? Even if you don't want to use it, it's fun to see. 2020-04-29T12:04:10Z MichaelRaskin: There seems to be some expansion of «come on, Swank ≠ Emacs» but not yet enough for people to recognise «random other stuff» as worth integrating with in a uniform way. (FS API is exactly the way of integrating with «randome other stuff» without specificity) 2020-04-29T12:04:24Z p_l is suddenly reminded of "json-metaclass go brrrr" 2020-04-29T12:04:56Z MichaelRaskin: Nilby: well, specifically with QueryFS there are too many people who think that everything is always inside Emacs, so of course the appeal is lost on them 2020-04-29T12:05:31Z luckless joined #lisp 2020-04-29T12:06:26Z Lycurgus joined #lisp 2020-04-29T12:06:39Z Nilby: Yeah, I don't even use swank/slime, I'm probably on the "crazy" side. 2020-04-29T12:06:40Z gabiruh quit (Ping timeout: 246 seconds) 2020-04-29T12:07:00Z gabiruh joined #lisp 2020-04-29T12:07:52Z MichaelRaskin: I write Common Lisp (but also POSIX shell) code in Vim, and I do not even use SLIM-V/VLIME. 2020-04-29T12:08:32Z monokrom quit (Remote host closed the connection) 2020-04-29T12:08:33Z phoe: madness 2020-04-29T12:08:39Z Lycurgus: "crazy" that's short for "thinks for themselves" innit 2020-04-29T12:08:54Z catalinbostan quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-29T12:09:23Z Lycurgus: also would tend to be the case if you used a commercial lisp with an ide 2020-04-29T12:11:42Z ayuce quit (Remote host closed the connection) 2020-04-29T12:15:58Z MichaelRaskin: Well, if one wants to expand Common Lisp usage, one needs to target people who want to use «also Common Lisp», not just people actually committed to focus on Common Lisp and do it right. 2020-04-29T12:16:29Z flip214 quit (Read error: Connection reset by peer) 2020-04-29T12:16:30Z phoe: right 2020-04-29T12:16:30Z monokrom joined #lisp 2020-04-29T12:18:54Z jruiz joined #lisp 2020-04-29T12:20:36Z flip214 joined #lisp 2020-04-29T12:24:59Z shangul: jmercouris, I just realized that "The API is not yet stable." 2020-04-29T12:27:44Z rgherdt joined #lisp 2020-04-29T12:28:16Z shangul: I still wait for an answer from people with experience with ncurses and CL together. 2020-04-29T12:28:59Z Lycurgus quit (Quit: Exeunt) 2020-04-29T12:30:10Z cosimone joined #lisp 2020-04-29T12:30:39Z Kundry_Wag joined #lisp 2020-04-29T12:31:36Z jmarciano quit (Ping timeout: 256 seconds) 2020-04-29T12:32:11Z dddddd joined #lisp 2020-04-29T12:39:00Z _death: did you see http://turtleware.eu/posts/cl-charms-crash-course.html 2020-04-29T12:39:26Z xkapastel joined #lisp 2020-04-29T12:44:34Z ljavorsk quit (Ping timeout: 240 seconds) 2020-04-29T12:44:49Z xantoz quit (Read error: Connection reset by peer) 2020-04-29T12:49:10Z lavaflow quit (Ping timeout: 256 seconds) 2020-04-29T12:50:03Z ljavorsk joined #lisp 2020-04-29T12:52:22Z shifty joined #lisp 2020-04-29T12:55:06Z IRC-Source_21 joined #lisp 2020-04-29T13:10:04Z xantoz joined #lisp 2020-04-29T13:11:28Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-04-29T13:11:46Z gabiruh joined #lisp 2020-04-29T13:13:03Z sunwukong joined #lisp 2020-04-29T13:15:22Z krid joined #lisp 2020-04-29T13:16:26Z gko joined #lisp 2020-04-29T13:19:48Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-29T13:21:43Z shangul: _death, Thanks but they are writing it. probably not stable enough, yet. 2020-04-29T13:23:50Z patlv joined #lisp 2020-04-29T13:23:54Z shangul: I want to create a window and treat each character as a cell or something and then write on cells directly(e.g. (write "#" 20 24)) 2020-04-29T13:24:07Z shangul: I wonder what library or module should I use. 2020-04-29T13:26:13Z flip214: shangul: https://www.cliki.net/console lists a few others, like cl-ansi-term and so on 2020-04-29T13:26:53Z Kundry_Wag quit (Remote host closed the connection) 2020-04-29T13:27:08Z Kundry_Wag joined #lisp 2020-04-29T13:32:34Z Xach: shangul: out of curiosity, what are you making for the terminal? 2020-04-29T13:36:14Z Kundry_Wag quit 2020-04-29T13:38:11Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-29T13:41:56Z peterhil` quit (Read error: Connection reset by peer) 2020-04-29T13:43:08Z stoneglass quit (Remote host closed the connection) 2020-04-29T13:43:36Z toorevitimirp joined #lisp 2020-04-29T13:43:45Z peterhil joined #lisp 2020-04-29T13:46:31Z stoneglass joined #lisp 2020-04-29T13:49:11Z _death: shangul: I wrote something for that, that uses acute-terminal-control 2020-04-29T13:51:31Z toorevitimirp quit (Remote host closed the connection) 2020-04-29T13:52:59Z toorevitimirp joined #lisp 2020-04-29T14:01:49Z rogersm joined #lisp 2020-04-29T14:06:16Z Domaldel joined #lisp 2020-04-29T14:06:27Z Domaldel quit (Remote host closed the connection) 2020-04-29T14:06:46Z shangul: flip214, Thank you. Will look into that 2020-04-29T14:06:54Z shangul: Xach, Cellular Automata 2020-04-29T14:07:24Z shangul: _death, For my purpose. Got link or something? 2020-04-29T14:09:14Z ahungry joined #lisp 2020-04-29T14:09:55Z sunwukong` joined #lisp 2020-04-29T14:10:27Z sunwukong quit (Read error: Connection reset by peer) 2020-04-29T14:13:01Z _death: shangul: it's part of a larger system that's not ready for publishing, but I updated a gist with code for the relevant mechanism.. it should not be hard to make it use cl-charms (or have multiple backends...) .. one thing I'm not sure about is how colors are represented (due to acute-terminal-control) 2020-04-29T14:13:12Z _death: the gist is https://gist.github.com/death/c08917417b7acef288dcd28e9eb2c440 2020-04-29T14:16:54Z EvW joined #lisp 2020-04-29T14:17:27Z _death: (what I mean about colors, is I'm not sure I like how they're represented at the moment) 2020-04-29T14:18:19Z amerlyq quit (Quit: amerlyq) 2020-04-29T14:18:31Z toorevitimirp quit (Remote host closed the connection) 2020-04-29T14:19:00Z shangul: _death, Thanks anyway. Will look into that soon 2020-04-29T14:23:43Z toorevitimirp joined #lisp 2020-04-29T14:24:55Z ljavorsk quit (Ping timeout: 246 seconds) 2020-04-29T14:32:14Z cantstanya quit (Remote host closed the connection) 2020-04-29T14:34:10Z cantstanya joined #lisp 2020-04-29T14:36:29Z sjl_ joined #lisp 2020-04-29T14:42:21Z reggie__ quit (Remote host closed the connection) 2020-04-29T14:42:46Z reggie__ joined #lisp 2020-04-29T14:43:51Z SGASAU joined #lisp 2020-04-29T14:44:17Z cosimone quit (Remote host closed the connection) 2020-04-29T14:44:46Z cosimone joined #lisp 2020-04-29T14:52:47Z cosimone quit (Remote host closed the connection) 2020-04-29T14:53:14Z cosimone joined #lisp 2020-04-29T15:01:56Z efm joined #lisp 2020-04-29T15:04:11Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-29T15:07:57Z bitmapper joined #lisp 2020-04-29T15:16:57Z amerlyq joined #lisp 2020-04-29T15:18:46Z SGASAU quit (Ping timeout: 256 seconds) 2020-04-29T15:19:32Z gko quit (Remote host closed the connection) 2020-04-29T15:21:31Z __jrjsmrtn__ joined #lisp 2020-04-29T15:22:48Z _jrjsmrtn quit (Ping timeout: 244 seconds) 2020-04-29T15:27:31Z toorevitimirp quit (Remote host closed the connection) 2020-04-29T15:28:03Z toorevitimirp joined #lisp 2020-04-29T15:40:50Z cmack joined #lisp 2020-04-29T15:42:51Z fourier joined #lisp 2020-04-29T15:44:26Z jprajzne quit (Quit: Leaving.) 2020-04-29T15:51:23Z rippa joined #lisp 2020-04-29T15:55:27Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-29T15:57:25Z fourier quit (Ping timeout: 244 seconds) 2020-04-29T16:00:03Z toorevitimirp quit (Remote host closed the connection) 2020-04-29T16:01:46Z roelj quit (Read error: Connection reset by peer) 2020-04-29T16:06:20Z sunwukong` quit (Quit: Leaving) 2020-04-29T16:11:26Z rogersm quit (Quit: Leaving...) 2020-04-29T16:12:13Z rgherdt_ quit (Remote host closed the connection) 2020-04-29T16:12:18Z ralt quit (Quit: Connection closed for inactivity) 2020-04-29T16:12:24Z EvW quit (Ping timeout: 244 seconds) 2020-04-29T16:13:12Z jprajzne joined #lisp 2020-04-29T16:15:11Z mgr_: asdf doesn't support good old logical-pathname-translations anymore? what a shame. I finally noticed why some packaged would load with my updated system because I set up my asdf:*central-registry* with logical pathnames... 2020-04-29T16:15:58Z mgr_: and that fails for asdf systems with dots, like cepl.build or com.gigamonkeys.binary-data 2020-04-29T16:16:25Z mgr_: *why some packages would NOT load* 2020-04-29T16:22:53Z mgr_: or is that an sbcl bug... I get a [Condition of type SB-KERNEL:NAMESTRING-PARSE-ERROR]: "parse error in namestring: logical namestring character which is not alphanumeric or hyphen #ß. com.gigamonkeys.binary-data" 2020-04-29T16:23:52Z mgr_: but http://www.lispworks.com/documentation/HyperSpec/Body/19_ca.htm specifies "name" as a "word" and "word" as "one or more uppercase letters, digits, and hyphens. " 2020-04-29T16:24:12Z mgr_: why does sbcl then complain about the digit? 2020-04-29T16:24:21Z mgr_: ah, sorry. :) digit not dot. 2020-04-29T16:25:19Z mgr_: so these names with dots cannot be described with logical pathnames it seems? 2020-04-29T16:29:49Z lavaflow joined #lisp 2020-04-29T16:30:39Z mgr_: hm, yes, the problem is really a filename like com.gigamonkeys.binary-data.asd or cepl.build.asd 2020-04-29T16:30:43Z dale_ joined #lisp 2020-04-29T16:31:08Z dale_ is now known as dale 2020-04-29T16:33:08Z jmercouris: so I have a restart 2020-04-29T16:33:17Z jmercouris: how can I etner some arbitrary code instead of selecting a restart? 2020-04-29T16:33:24Z jmercouris: I want to inexpect the value of some variable 2020-04-29T16:33:46Z jmercouris: I just type form instead of restart 2020-04-29T16:33:58Z beach: In SLIME? 2020-04-29T16:34:03Z jmercouris: in shell 2020-04-29T16:34:38Z jmercouris: Shinmera: I tried cffi:*foreign-library-directories* and I got NIL 2020-04-29T16:38:46Z gabiruh quit (Ping timeout: 260 seconds) 2020-04-29T16:44:34Z marcoxa quit (Ping timeout: 246 seconds) 2020-04-29T16:47:57Z MerlinTheWizard joined #lisp 2020-04-29T16:48:16Z rtvdenys quit (Quit: Leaving) 2020-04-29T16:49:15Z scymtym quit (Ping timeout: 240 seconds) 2020-04-29T16:52:42Z decent-username joined #lisp 2020-04-29T17:07:04Z hiroaki joined #lisp 2020-04-29T17:07:33Z asarch joined #lisp 2020-04-29T17:11:52Z EvW1 joined #lisp 2020-04-29T17:12:40Z jprajzne quit (Quit: jprajzne) 2020-04-29T17:13:36Z jprajzne joined #lisp 2020-04-29T17:17:10Z jprajzne quit (Client Quit) 2020-04-29T17:17:33Z jprajzne joined #lisp 2020-04-29T17:19:13Z schjetne quit (Ping timeout: 246 seconds) 2020-04-29T17:23:52Z SGASAU joined #lisp 2020-04-29T17:32:52Z shifty quit (Ping timeout: 246 seconds) 2020-04-29T17:33:33Z shifty joined #lisp 2020-04-29T17:39:50Z phoe: jmercouris: in shell? you should have a REPL 2020-04-29T17:40:02Z phoe: I mean, if you are in the debugger 2020-04-29T17:40:34Z vivit joined #lisp 2020-04-29T17:40:50Z vivit: Is there any way to inherit a class allocation? 2020-04-29T17:41:01Z Bike: what do you mean? 2020-04-29T17:41:08Z phoe: vivit: other than the fact that you inherit the whole slot? 2020-04-29T17:42:41Z jprajzne quit (Quit: jprajzne) 2020-04-29T17:43:31Z jprajzne joined #lisp 2020-04-29T17:44:05Z IRC-Source_21 quit (Quit: Connection closed) 2020-04-29T17:45:02Z vivit: If you have some class FOO and some class BAR which inherits FOO, can you have a slot A on both which is class-allocated, but individually for each class? So if I have objects *FOO-1*, *FOO-2*, *BAR-1*, and *BAR-2*, such that (A *FOO-1*) and (A *FOO-2*) reference the same thing, and (A *BAR-1*) and (A *BAR-2*) reference a different same thing 2020-04-29T17:46:10Z vivit: And can you do this without duplicating the slot definition 2020-04-29T17:46:15Z jackdaniel: you should name the slot differently and have the accessor of the same name 2020-04-29T17:46:22Z Bike: i think you need to duplicate the slot definition. 2020-04-29T17:46:39Z vivit: rats 2020-04-29T17:47:10Z jprajzne quit (Client Quit) 2020-04-29T17:47:31Z jprajzne joined #lisp 2020-04-29T17:49:40Z ntqz quit (Ping timeout: 246 seconds) 2020-04-29T17:51:05Z ntqz joined #lisp 2020-04-29T17:52:12Z theseb joined #lisp 2020-04-29T17:52:24Z ntqz quit (Remote host closed the connection) 2020-04-29T17:52:54Z theseb: Why are you able to define functions in any scope but macros can only be defined in the top level? 2020-04-29T17:53:13Z Bike: what do you mean? you can define macros at any scope. 2020-04-29T17:53:14Z theseb: i don't see hell will break loose if someone does defmacro in some random location 2020-04-29T17:53:22Z theseb: Bike: maybe i misunderstood 2020-04-29T17:53:36Z _death: clhs macrolet 2020-04-29T17:53:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_flet_.htm 2020-04-29T17:53:37Z theseb: Bike: i can look up the link but i read that macros must be in the "toplevel" 2020-04-29T17:53:54Z Bike: if you're compiling a file, the compiler won't notice macro definitions that aren't at top level. is that what you mean? 2020-04-29T17:54:04Z theseb: Bike: maybe that is what they meant 2020-04-29T17:54:25Z theseb: Bike: but why can't the compiler see macro defs anywhere? 2020-04-29T17:55:11Z Bike: for the compiler to be able to use a macro, it has to be able to define it at compile time. if your macro definition tries to close over a variable or something, the compiler couldn't use it anyway, since that variable doesn't exist at compile time. 2020-04-29T17:55:18Z kristof joined #lisp 2020-04-29T17:55:36Z Bike: and if a macro doesn't close over anything, it might as well be at top level 2020-04-29T17:55:54Z jackdaniel: it is to keep things sane for the compiler developers 2020-04-29T17:56:06Z emacsomancer quit (Read error: Connection reset by peer) 2020-04-29T17:56:12Z theseb: Bike: when you say "close" to you mean..."have access to the variable's value"? 2020-04-29T17:56:17Z theseb: s/to/do 2020-04-29T17:56:24Z Bike: like a closure. you know what a closure is, right? 2020-04-29T17:56:27Z theseb: no 2020-04-29T17:56:30Z jackdaniel: (let ((foo 42)) (defmacro bar …)) 2020-04-29T17:56:39Z jackdaniel: macro bar closes over a variable foo 2020-04-29T17:56:41Z Bike: you should figure that out first. it's a fundamental concept of the language. 2020-04-29T17:56:58Z buffergn0me joined #lisp 2020-04-29T17:57:17Z theseb: ok 2020-04-29T17:57:46Z theseb: Bike: how do you know if some expressions is "at the toplevel"? 2020-04-29T17:58:17Z ahungry quit (Read error: Connection reset by peer) 2020-04-29T17:58:22Z Bike: a complex set of rules defined in 3.2.3.1 2020-04-29T17:59:00Z Bike: to sum up, forms are not contained in another form are top level, as are subforms of operators such as progn, locally, and macrolet, but not let or flet 2020-04-29T17:59:11Z Bike: provided the operator form is itself toplevel 2020-04-29T17:59:19Z kristof: theseb: http://clhs.lisp.se/Body/s_flet_.htm 2020-04-29T17:59:23Z kristof: see "macrolet" 2020-04-29T17:59:44Z ahungry joined #lisp 2020-04-29T18:00:37Z ljavorsk joined #lisp 2020-04-29T18:01:25Z prefixt quit (Ping timeout: 264 seconds) 2020-04-29T18:02:18Z kristof: Oh, I see another person has already linked that. 2020-04-29T18:04:02Z emacsomancer joined #lisp 2020-04-29T18:06:12Z theseb: Bike: when you define a function with lambda it may have free variables....the values those free variables take must be defined using the environment WHEN THE FUNC DEF was evaluated if you are using lexical scoping 2020-04-29T18:06:39Z theseb: Bike: the func + necessary environment = closures! yes? 2020-04-29T18:06:45Z Bike: yeah. 2020-04-29T18:06:50Z theseb: w00t! 2020-04-29T18:06:52Z theseb: thanks 2020-04-29T18:07:12Z scymtym joined #lisp 2020-04-29T18:07:31Z Bike: so, the point is that when you do defmacro or whatever, you're defining a function in the same way, so it could be a closure 2020-04-29T18:07:54Z Bike: this is a pretty unusual thing to do, but it's allowed, and that's what a non toplevel defmacro would be like 2020-04-29T18:09:41Z rwcom joined #lisp 2020-04-29T18:11:25Z SGASAU` joined #lisp 2020-04-29T18:13:05Z prefixt joined #lisp 2020-04-29T18:13:05Z prefixt quit (Changing host) 2020-04-29T18:13:05Z prefixt joined #lisp 2020-04-29T18:15:00Z SGASAU quit (Ping timeout: 256 seconds) 2020-04-29T18:17:40Z kristof quit (Ping timeout: 246 seconds) 2020-04-29T18:23:51Z kristof joined #lisp 2020-04-29T18:24:22Z SGASAU` quit (Remote host closed the connection) 2020-04-29T18:25:17Z SGASAU` joined #lisp 2020-04-29T18:26:59Z dnaeon joined #lisp 2020-04-29T18:27:24Z SGASAU` quit (Remote host closed the connection) 2020-04-29T18:28:18Z dnaeon: hey Lispers! 2020-04-29T18:28:35Z kristof left #lisp 2020-04-29T18:28:43Z jprajzne quit (Quit: jprajzne) 2020-04-29T18:28:46Z dnaeon: Just got SBCL updated on my macOS Catalina to version 2.0.4 and got this error when trying to start the REPL 2020-04-29T18:28:51Z dnaeon: core was built for runtime "Mojave-2.local-brew-2019-04-04-00-24-50" but this is "dnaeon-a03.local-dnaeon-2020-04-29-21-24-19" 2020-04-29T18:28:58Z dnaeon: Anyone else got this, or is it just me? 2020-04-29T18:30:15Z dnaeon: For whatever reason it seems like I got a build from Mojave, while I'm actually on Catalina 2020-04-29T18:30:33Z dnaeon: Using `brew` to install it, first time I got this problem during update. 2020-04-29T18:30:36Z jprajzne joined #lisp 2020-04-29T18:31:17Z choegusung joined #lisp 2020-04-29T18:31:23Z SGASAU joined #lisp 2020-04-29T18:36:54Z schjetne joined #lisp 2020-04-29T18:37:11Z boeg: I have installed sbcl via roswell, and are now trying to build a project that looks for "sbcl" in $PATH in my shell, but there is none - is there a way to have roswell place a symlink or something for the default sbcl binary? 2020-04-29T18:38:31Z msk joined #lisp 2020-04-29T18:41:02Z hiroaki quit (Ping timeout: 260 seconds) 2020-04-29T18:42:07Z marcoxa joined #lisp 2020-04-29T18:43:31Z mgr_: poing 2020-04-29T18:43:58Z ay joined #lisp 2020-04-29T18:44:00Z Lycurgus joined #lisp 2020-04-29T18:44:26Z phoe: boeg: the easiest way I've found myself is to `apt install sbcl` that will drop a separate system-wide sbcl 2020-04-29T18:44:41Z phoe: dnaeon: which Lisp implementation? 2020-04-29T18:44:53Z mgr_: (sorry, wrong channel) 2020-04-29T18:44:56Z boeg: phoe: that just seems a bit weird to install sbcl twice :/ 2020-04-29T18:45:09Z dnaeon: phoe: SBCL 2020-04-29T18:45:12Z phoe: boeg: it is, but I have no idea how to configure roswell like that 2020-04-29T18:45:25Z boeg: phoe: alright :) 2020-04-29T18:45:51Z efm quit (Ping timeout: 244 seconds) 2020-04-29T18:46:14Z phoe: dnaeon: huh, it seems that cores got mixed up during upgrade?... I mean, it seems to try to load a core from the older version 2020-04-29T18:46:17Z phoe: https://github.com/sbcl/sbcl/blob/9227e85822535f2f97419479b2ecf299ac793434/src/runtime/coreparse.c#L1020 2020-04-29T18:47:09Z ay left #lisp 2020-04-29T18:47:15Z dnaeon: phoe: thanks, will try that out. 2020-04-29T18:47:25Z vlatkoB_ quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-29T18:47:29Z phoe: dnaeon: I mean, this is just a pointer to SBCL's source where this error happens 2020-04-29T18:47:46Z phoe: the main issue I see is that the newer C runtime tries to load an older Lisp core 2020-04-29T18:47:55Z phoe: since that is what it complains about 2020-04-29T18:48:09Z phoe: I'd try to figure out what brew did to end up in such a situation. 2020-04-29T18:48:27Z dnaeon: yep, will spend more time on that one, thanks for the pointers! 2020-04-29T18:50:00Z efm joined #lisp 2020-04-29T18:53:15Z schjetne quit (Ping timeout: 240 seconds) 2020-04-29T18:57:25Z hiroaki joined #lisp 2020-04-29T18:59:02Z schjetne joined #lisp 2020-04-29T19:01:19Z fourier joined #lisp 2020-04-29T19:01:34Z ljavorsk quit (Ping timeout: 265 seconds) 2020-04-29T19:01:41Z peterhil quit (Read error: Connection reset by peer) 2020-04-29T19:02:02Z peterhil` joined #lisp 2020-04-29T19:03:40Z man213__ joined #lisp 2020-04-29T19:04:02Z Fenix joined #lisp 2020-04-29T19:06:14Z dnaeon quit (Ping timeout: 260 seconds) 2020-04-29T19:10:05Z shangul quit (Remote host closed the connection) 2020-04-29T19:10:35Z shangul joined #lisp 2020-04-29T19:16:23Z dnaeon joined #lisp 2020-04-29T19:18:26Z shangul quit (Ping timeout: 260 seconds) 2020-04-29T19:20:34Z dnaeon quit (Ping timeout: 240 seconds) 2020-04-29T19:20:35Z choegusung quit (Quit: leaving) 2020-04-29T19:25:08Z rixard quit (Read error: Connection reset by peer) 2020-04-29T19:28:27Z dnaeon joined #lisp 2020-04-29T19:33:23Z jonatack quit (Ping timeout: 244 seconds) 2020-04-29T19:34:17Z rixard joined #lisp 2020-04-29T19:35:38Z jonatack joined #lisp 2020-04-29T19:36:29Z fourier quit (Ping timeout: 244 seconds) 2020-04-29T19:47:11Z shangul joined #lisp 2020-04-29T19:56:37Z shangul quit (Ping timeout: 264 seconds) 2020-04-29T20:03:01Z asarch quit (Quit: Leaving) 2020-04-29T20:04:18Z milanj quit (Quit: This computer has gone to sleep) 2020-04-29T20:07:30Z theseb quit (Quit: Leaving) 2020-04-29T20:07:52Z cosimone quit (Quit: Quit.) 2020-04-29T20:09:15Z CrazyEddy quit (Ping timeout: 240 seconds) 2020-04-29T20:10:09Z dnaeon quit (Quit: WeeChat 2.8) 2020-04-29T20:16:38Z entel quit (Quit: Connection closed for inactivity) 2020-04-29T20:19:16Z CrazyEddy joined #lisp 2020-04-29T20:22:03Z Lycurgus quit (Remote host closed the connection) 2020-04-29T20:22:25Z efm quit (Read error: Connection reset by peer) 2020-04-29T20:24:49Z phoe: clhs ~X 2020-04-29T20:24:49Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cbe.htm 2020-04-29T20:27:16Z z147 joined #lisp 2020-04-29T20:28:40Z buffergn0me quit (Ping timeout: 244 seconds) 2020-04-29T20:33:23Z narimiran quit (Quit: leaving) 2020-04-29T20:34:54Z jonatack quit (Quit: jonatack) 2020-04-29T20:36:15Z cosimone joined #lisp 2020-04-29T20:37:51Z schjetne quit (Ping timeout: 260 seconds) 2020-04-29T20:40:49Z cosimone quit (Ping timeout: 246 seconds) 2020-04-29T20:42:04Z pjb quit (Remote host closed the connection) 2020-04-29T20:42:33Z schjetne joined #lisp 2020-04-29T20:43:54Z efm joined #lisp 2020-04-29T20:44:40Z sugarwren joined #lisp 2020-04-29T20:45:58Z pjb joined #lisp 2020-04-29T20:46:19Z jonatack joined #lisp 2020-04-29T20:55:00Z SGASAU quit (Remote host closed the connection) 2020-04-29T20:55:38Z SGASAU joined #lisp 2020-04-29T20:55:56Z nika quit 2020-04-29T20:59:14Z pve quit (Quit: leaving) 2020-04-29T21:05:11Z karlosz joined #lisp 2020-04-29T21:06:50Z Jesin quit (Quit: Leaving) 2020-04-29T21:06:50Z SGASAU` joined #lisp 2020-04-29T21:10:26Z SGASAU quit (Ping timeout: 260 seconds) 2020-04-29T21:11:41Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2020-04-29T21:14:39Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-29T21:18:59Z buffergn0me joined #lisp 2020-04-29T21:19:04Z Jesin joined #lisp 2020-04-29T21:20:58Z rgherdt quit (Quit: Leaving) 2020-04-29T21:23:49Z ahungry quit (Remote host closed the connection) 2020-04-29T21:23:56Z MerlinTheWizard joined #lisp 2020-04-29T21:31:14Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-29T21:32:12Z SGASAU joined #lisp 2020-04-29T21:32:37Z sugarwren quit (Quit: Leaving) 2020-04-29T21:35:35Z z147 quit (Quit: z147) 2020-04-29T21:39:05Z karlosz quit (Quit: karlosz) 2020-04-29T21:40:42Z tessier joined #lisp 2020-04-29T21:40:42Z tessier quit (Changing host) 2020-04-29T21:40:42Z tessier joined #lisp 2020-04-29T21:41:32Z emacsomancer quit (Read error: Connection reset by peer) 2020-04-29T21:41:47Z decent-username quit (Ping timeout: 272 seconds) 2020-04-29T21:43:46Z tessier quit (Client Quit) 2020-04-29T21:45:02Z karlosz joined #lisp 2020-04-29T21:48:21Z emacsomancer joined #lisp 2020-04-29T21:48:51Z peterhil` quit (Quit: Must not waste too much time here...) 2020-04-29T21:49:56Z marcoxa quit (Quit: Time to go to bed.) 2020-04-29T21:50:12Z akoana_ joined #lisp 2020-04-29T21:51:34Z akoana_ quit (Client Quit) 2020-04-29T21:52:04Z akoana joined #lisp 2020-04-29T21:54:13Z man213_ joined #lisp 2020-04-29T21:57:06Z man213__ quit (Ping timeout: 260 seconds) 2020-04-29T21:59:20Z doomlist3 joined #lisp 2020-04-29T21:59:42Z SGASAU quit (Remote host closed the connection) 2020-04-29T22:00:24Z SGASAU joined #lisp 2020-04-29T22:02:21Z dvdmuckle quit (Quit: Bouncer Surgery) 2020-04-29T22:02:25Z EvW1 quit (Remote host closed the connection) 2020-04-29T22:02:47Z random-nick quit (Ping timeout: 260 seconds) 2020-04-29T22:07:15Z dvdmuckle joined #lisp 2020-04-29T22:11:01Z SGASAU quit (Remote host closed the connection) 2020-04-29T22:11:43Z SGASAU joined #lisp 2020-04-29T22:15:45Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-29T22:16:34Z gravicappa quit (Ping timeout: 256 seconds) 2020-04-29T22:23:12Z cantstanya quit (Remote host closed the connection) 2020-04-29T22:23:14Z SGASAU quit (Remote host closed the connection) 2020-04-29T22:23:53Z SGASAU joined #lisp 2020-04-29T22:24:08Z MerlinTheWizard joined #lisp 2020-04-29T22:25:07Z cantstanya joined #lisp 2020-04-29T22:25:59Z SGASAU quit (Remote host closed the connection) 2020-04-29T22:26:42Z SGASAU joined #lisp 2020-04-29T22:31:21Z keep_learning joined #lisp 2020-04-29T22:31:42Z doomlist3 quit (Ping timeout: 256 seconds) 2020-04-29T22:33:06Z doomlist3 joined #lisp 2020-04-29T22:40:42Z sjl_ quit (Ping timeout: 256 seconds) 2020-04-29T22:43:06Z choegusung joined #lisp 2020-04-29T22:43:08Z choegusung quit (Client Quit) 2020-04-29T22:43:25Z vivit quit (Ping timeout: 265 seconds) 2020-04-29T22:44:15Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-29T22:44:52Z duncan_ quit (Ping timeout: 265 seconds) 2020-04-29T22:46:58Z doomlist3 quit (Ping timeout: 260 seconds) 2020-04-29T22:47:29Z doomlist3 joined #lisp 2020-04-29T22:48:53Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-29T22:50:59Z man213_ quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-29T22:53:01Z doomlist3 quit (Ping timeout: 264 seconds) 2020-04-29T22:53:01Z schjetne quit (Ping timeout: 264 seconds) 2020-04-29T23:02:15Z jasom: Is there an efficient implemenation of byte-swapping? something like rotate-byte but for e.g. what C would call bswap_32 2020-04-29T23:03:22Z X-Scale` joined #lisp 2020-04-29T23:03:37Z aeth: sounds like a question for #sbcl 2020-04-29T23:04:39Z jasom: ah, found swap-bytes in quicklisp. 2020-04-29T23:05:06Z jasom: looks like it compiles down to a single bswap on sbcl/x86 2020-04-29T23:05:11Z wxie joined #lisp 2020-04-29T23:06:13Z X-Scale quit (Ping timeout: 264 seconds) 2020-04-29T23:06:15Z X-Scale` is now known as X-Scale 2020-04-29T23:14:02Z wooden quit (Read error: Connection reset by peer) 2020-04-29T23:14:30Z shifty quit (Ping timeout: 260 seconds) 2020-04-29T23:15:16Z shifty joined #lisp 2020-04-29T23:15:25Z MerlinTheWizard joined #lisp 2020-04-29T23:16:13Z vivit joined #lisp 2020-04-29T23:21:58Z shifty quit (Ping timeout: 260 seconds) 2020-04-29T23:22:09Z shifty joined #lisp 2020-04-29T23:28:25Z shifty quit (Ping timeout: 264 seconds) 2020-04-29T23:28:27Z Lord_of_Life_ joined #lisp 2020-04-29T23:28:39Z Lord_of_Life quit (Ping timeout: 260 seconds) 2020-04-29T23:31:15Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-29T23:37:12Z vivit: There's no way to get a macro to expand into a slot specification, is there? 2020-04-29T23:45:57Z wxie quit (Remote host closed the connection) 2020-04-29T23:46:16Z keep_learning joined #lisp 2020-04-29T23:46:47Z pjb: vivit: not if you want to use it in a defclass form. You have to write your own defclass macro. 2020-04-29T23:46:53Z Bike: no. slot specifications are not evaluated, so they are not macroexpanded either. 2020-04-29T23:47:49Z pjb: vivit: have a look at: com.informatimago.common-lisp.cesarum.utility:pjb-defclass in https://github.com/informatimago/lisp/blob/master/common-lisp/cesarum/utility.lisp 2020-04-29T23:50:00Z wxie joined #lisp 2020-04-30T00:02:46Z wxie quit (Ping timeout: 246 seconds) 2020-04-30T00:04:24Z gendl: Hi, I'm getting this error in SBCL again: 2020-04-30T00:04:58Z gendl: https://www.irccloud.com/pastebin/9wggSi4A/ 2020-04-30T00:05:19Z gendl: (sorry about that formatting). 2020-04-30T00:06:25Z gendl: stassats said it's because some concurrent code is setting stuff in a hash table. Probably I have to put a lock around whatever code is modifying that hash table. 2020-04-30T00:06:34Z gendl: But, how to track down what hash table it is? 2020-04-30T00:07:41Z gendl: this happens when running zaserve on zacl (a fork of allegroserve which runs on the zacl compatibility layer,https://gitlab.common-lisp.net/zbeane/zacl ) 2020-04-30T00:08:32Z gendl: and it happens if I do something like hit [Shift]-reload on a web page with several images, and it hits the server with a dozen or so requests simultaneously for all those image files. 2020-04-30T00:10:20Z gendl: I take it that things like (setf (gethash ... )) are not thread-safe in SBCL? 2020-04-30T00:11:08Z gendl: sorry i guess I should be posting this in #sbcl too.. 2020-04-30T00:14:32Z Bike: setf gethash is not thread safe on any implementation i know of... unless the make-hash-table that made the table is marked as synchronized/locked/etc in some implementation dependent way 2020-04-30T00:15:59Z gendl: Bike: Thanks. I think I just found the offending hash table, by turning on debugging in aserve. 2020-04-30T00:16:28Z turona quit (Quit: ...) 2020-04-30T00:17:40Z gendl: I forgot that by default aserve traps errors, prints them, and continues on its merry way without going into the debugger. Now I got a real debugger and I see a recognizable hash table from aserve being fiddled with in the backtrace... diving into it... 2020-04-30T00:17:57Z pilne joined #lisp 2020-04-30T00:18:09Z Bike: on sbcl it's :synchronized t, apparently 2020-04-30T00:22:19Z krid quit (Ping timeout: 260 seconds) 2020-04-30T00:23:14Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-30T00:24:17Z SGASAU quit (Remote host closed the connection) 2020-04-30T00:25:06Z gendl: Bike: Yay! that seems to fix it! 2020-04-30T00:25:15Z Bike: cool. 2020-04-30T00:25:25Z SGASAU joined #lisp 2020-04-30T00:26:05Z gendl: it's handling a few dozen simultaneous requests, anyway. 2020-04-30T00:26:09Z krid joined #lisp 2020-04-30T00:27:18Z gendl: it's not really the requests, it's that aserve is publishing files on the fly under the auspices of a `publish-directory` -- so it just accesses that hash table the first time the files are accessed after server startup. 2020-04-30T00:27:46Z gendl: but if a page is containing dozens of little images then it's hitting the hash table simultaneously with all those 2020-04-30T00:27:56Z gendl: i'm not sure why it doesn't crash Allegro or CCL though. 2020-04-30T00:27:59Z gendl: or LW 2020-04-30T00:28:34Z gendl: maybe they do have synchronous hash tables by default? Or maybe I've just been lucky. 2020-04-30T00:30:21Z Bike: allegro docs don't seem to mention thread safety. 2020-04-30T00:30:34Z gendl: now i have to figure out how to make the fix without touching aserve sources where that `make-hash-table` lives, as is our directive -- trying to make this work with pristine aserve sources. 2020-04-30T00:31:25Z gendl: maybe SBCL is doing a safety check which the other impls aren't doing - it seems it's auditing hash-table-count somehow 2020-04-30T00:32:12Z gendl: i don't think anything is accessing the same hash table slots at the same time -- it's just that the count might be fleetingly inconsistent - and somehow SBCL is picking that up and throwing an error. 2020-04-30T00:34:30Z gendl: anyway at least i'm happy that the crashes themselves are not a big mystery anymore -- thanks! 2020-04-30T00:34:39Z gendl: btw we met in London right? 2020-04-30T00:35:09Z Bike: me? i've never been to london. 2020-04-30T00:35:54Z gendl: ok sorry i have you confused. London ELS (2015?) i thought I met "bike" from here. but maybe was another nick from here. 2020-04-30T00:36:18Z sabrac joined #lisp 2020-04-30T00:37:59Z Fenix quit (Remote host closed the connection) 2020-04-30T00:38:12Z Fenix joined #lisp 2020-04-30T00:39:04Z turona joined #lisp 2020-04-30T00:42:09Z Fenix quit (Read error: No route to host) 2020-04-30T00:48:46Z schjetne joined #lisp 2020-04-30T00:50:45Z jprajzne quit (Quit: jprajzne) 2020-04-30T00:57:07Z sjl quit (Quit: WeeChat 2.2-dev) 2020-04-30T00:58:35Z ahungry joined #lisp 2020-04-30T00:58:57Z quazimodo joined #lisp 2020-04-30T00:59:28Z hiroaki quit (Ping timeout: 246 seconds) 2020-04-30T00:59:48Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-30T01:00:11Z keep_learning joined #lisp 2020-04-30T01:00:48Z MerlinTheWizard joined #lisp 2020-04-30T01:05:31Z bitmapper quit (Ping timeout: 265 seconds) 2020-04-30T01:06:14Z dddddd quit (Remote host closed the connection) 2020-04-30T01:07:15Z orivej quit (Ping timeout: 240 seconds) 2020-04-30T01:28:35Z shifty joined #lisp 2020-04-30T01:37:59Z hiroaki joined #lisp 2020-04-30T01:43:55Z shifty quit (Ping timeout: 246 seconds) 2020-04-30T01:47:45Z zaquest quit (Quit: Leaving) 2020-04-30T01:48:24Z torbo joined #lisp 2020-04-30T01:50:30Z zaquest joined #lisp 2020-04-30T02:17:13Z mono joined #lisp 2020-04-30T02:19:40Z monokrom quit (Ping timeout: 256 seconds) 2020-04-30T02:19:40Z Nilby quit (Read error: Connection reset by peer) 2020-04-30T02:23:57Z penguwin quit (Quit: NO CARRIER) 2020-04-30T02:24:26Z penguwin joined #lisp 2020-04-30T02:28:20Z orivej joined #lisp 2020-04-30T02:29:03Z pilne quit (Quit: Tis but a scratch) 2020-04-30T02:33:52Z penguwin quit (Quit: NO CARRIER) 2020-04-30T02:34:19Z penguwin joined #lisp 2020-04-30T02:34:55Z loli quit (Quit: WeeChat 2.7.1) 2020-04-30T02:35:11Z stoneglass quit (Quit: stoneglass) 2020-04-30T02:35:19Z loli joined #lisp 2020-04-30T02:52:07Z turona quit (Ping timeout: 272 seconds) 2020-04-30T02:53:41Z turona joined #lisp 2020-04-30T02:55:29Z beach: Good morning everyone! 2020-04-30T03:01:07Z torbo quit (Remote host closed the connection) 2020-04-30T03:09:14Z prefixt quit (Ping timeout: 260 seconds) 2020-04-30T03:09:33Z prefixt joined #lisp 2020-04-30T03:09:33Z prefixt quit (Changing host) 2020-04-30T03:09:33Z prefixt joined #lisp 2020-04-30T03:10:09Z anlsh joined #lisp 2020-04-30T03:10:16Z anlsh: Is there a portable condition for indexing an array out of bounds? I get an sb-int:array-invalid-index-error but that seems sbcl-specific 2020-04-30T03:11:15Z Bike: i don't think so. you can check beforehand with array-in-bounds-p. 2020-04-30T03:12:07Z jruiz quit (Ping timeout: 246 seconds) 2020-04-30T03:13:42Z phadthai: no special exceptions mentioned at http://www.lispworks.com/documentation/HyperSpec/Body/f_aref.htm or http://www.lispworks.com/documentation/HyperSpec/Body/f_svref.htm 2020-04-30T03:15:17Z jruiz joined #lisp 2020-04-30T03:19:30Z shangul joined #lisp 2020-04-30T03:22:21Z aeth: If only there was a portability library for things like this (if that's even possible) 2020-04-30T03:26:34Z edgar-rft: let's name it trivial-things-like-this 2020-04-30T03:28:52Z aeth: no, it needs to be trivial-array-invalid-index-error 2020-04-30T03:30:31Z edgar-rft: what kind of restarts would it offer? 2020-04-30T03:31:32Z aeth: Hmm, it would be tricky/impossible to implement even with a wrapper around AREF because in ECL (aref (list) 5) and (aref (make-array 5) 5) are both SIMPLE-TYPE-ERRORs. 2020-04-30T03:31:48Z aeth: Well, I mean, without resorting to the (probably) performance-destroying ARRAY-IN-BOUNDS-P 2020-04-30T03:32:50Z ahungry quit (Remote host closed the connection) 2020-04-30T03:34:00Z buffergn0me: This sounds like a CDR 2020-04-30T03:35:09Z buffergn0me: Also it would probably be pretty easy to patch ECL 2020-04-30T03:38:28Z phadthai: I think that ECL will silently refuse to access an array out of bounds without warning or error when compiled with a high optimization level (at least it used to), so there's probably no other portable way than array-in-bounds-p (or to make sure the array is large enough) 2020-04-30T03:39:07Z phadthai: (or other custom checks) 2020-04-30T03:41:39Z buffergn0me: Well that is true for a lot of other checks, in most CL compilers 2020-04-30T03:41:40Z phadthai: s/access/write to/ 2020-04-30T03:42:10Z Oladon joined #lisp 2020-04-30T03:44:02Z phadthai: and ECL itself has no idea what other code under does, i.e. one can make it call write(2) on the buffer of a vector of course 2020-04-30T03:44:20Z phadthai: or read(2) etc 2020-04-30T03:45:22Z red-dot joined #lisp 2020-04-30T03:45:24Z phadthai: so programmer judgment always necessary 2020-04-30T03:48:57Z phadthai: and in typical code where arrays must grow, user code tracks itself its size and ensures to grow it 2020-04-30T03:50:05Z Bike quit (Quit: Lost terminal) 2020-04-30T04:04:47Z anlsh quit (Remote host closed the connection) 2020-04-30T04:06:01Z dmiles quit (Read error: Connection reset by peer) 2020-04-30T04:06:24Z logicmoo joined #lisp 2020-04-30T04:06:45Z jruiz quit (Ping timeout: 240 seconds) 2020-04-30T04:10:32Z zmt00 joined #lisp 2020-04-30T04:12:45Z zmt01 quit (Ping timeout: 240 seconds) 2020-04-30T04:15:48Z schjetne` joined #lisp 2020-04-30T04:16:26Z keep_learning quit (Ping timeout: 260 seconds) 2020-04-30T04:16:26Z gigetoo quit (Ping timeout: 260 seconds) 2020-04-30T04:16:26Z ck_ quit (Ping timeout: 260 seconds) 2020-04-30T04:16:26Z acolarh quit (Ping timeout: 260 seconds) 2020-04-30T04:16:41Z ck_ joined #lisp 2020-04-30T04:16:54Z schjetne quit (Ping timeout: 260 seconds) 2020-04-30T04:16:54Z Bourne quit (Ping timeout: 260 seconds) 2020-04-30T04:17:11Z keep_learning joined #lisp 2020-04-30T04:18:02Z gigetoo joined #lisp 2020-04-30T04:18:11Z acolarh joined #lisp 2020-04-30T04:22:41Z zooey_ joined #lisp 2020-04-30T04:22:43Z zooey quit (Ping timeout: 240 seconds) 2020-04-30T04:25:06Z shangul quit (Remote host closed the connection) 2020-04-30T04:25:30Z shangul joined #lisp 2020-04-30T04:26:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-30T04:29:57Z narimiran joined #lisp 2020-04-30T04:31:10Z wooden joined #lisp 2020-04-30T04:31:35Z vlatkoB joined #lisp 2020-04-30T04:32:05Z zooey_ is now known as zooey 2020-04-30T04:36:13Z krid quit (Ping timeout: 264 seconds) 2020-04-30T04:45:15Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-30T04:47:33Z elflng_ joined #lisp 2020-04-30T04:48:23Z elflng quit (Read error: No route to host) 2020-04-30T04:49:06Z dxtr quit (Ping timeout: 256 seconds) 2020-04-30T04:59:26Z Oladon quit (Quit: Leaving.) 2020-04-30T05:01:46Z orivej quit (Ping timeout: 260 seconds) 2020-04-30T05:11:13Z patlv quit (Quit: patlv) 2020-04-30T05:11:54Z Bourne joined #lisp 2020-04-30T05:18:21Z shangul quit (Remote host closed the connection) 2020-04-30T05:28:11Z logicmoo is now known as dmiles 2020-04-30T05:35:31Z karlosz quit (Quit: karlosz) 2020-04-30T05:44:17Z karlosz joined #lisp 2020-04-30T05:46:31Z MerlinTheWizard joined #lisp 2020-04-30T05:46:50Z jackdaniel: adding appropriate condition should be easy (and call it instead of the simple error), please make a ticket on gitlab 2020-04-30T05:46:57Z jackdaniel: s/call/signal/ 2020-04-30T05:48:23Z jackdaniel: boundary checks are skipped only on extreme optimization settings like speed 3 debugging 0 2020-04-30T05:49:27Z red-dot quit (Read error: Connection reset by peer) 2020-04-30T05:49:47Z red-dot joined #lisp 2020-04-30T05:53:08Z gravicappa joined #lisp 2020-04-30T05:57:25Z JohnMS_WORK joined #lisp 2020-04-30T05:58:52Z SGASAU quit (Remote host closed the connection) 2020-04-30T05:59:32Z SGASAU joined #lisp 2020-04-30T05:59:38Z souron_the_evil joined #lisp 2020-04-30T06:02:42Z jruiz joined #lisp 2020-04-30T06:07:51Z jruiz quit (Ping timeout: 244 seconds) 2020-04-30T06:15:50Z rgherdt joined #lisp 2020-04-30T06:18:56Z _paul0 joined #lisp 2020-04-30T06:19:46Z aeth: hmm... Is there a way to have an efficient trivial-foo on top of the condition system if the conditions aren't exactly the same name? 2020-04-30T06:21:48Z paul0 quit (Ping timeout: 265 seconds) 2020-04-30T06:22:49Z renzhi_ joined #lisp 2020-04-30T06:22:52Z renzhi quit (Ping timeout: 246 seconds) 2020-04-30T06:23:11Z aeth: we might actually have a new trivial-foo out of this after all 2020-04-30T06:26:43Z zooey quit (Ping timeout: 240 seconds) 2020-04-30T06:27:17Z phoe: aeth: yes, deftype with reader conditionals 2020-04-30T06:27:43Z phoe: now, let's hope that it actually works... 2020-04-30T06:27:44Z IRC-Source_21 joined #lisp 2020-04-30T06:27:59Z phoe: clhs #+ 2020-04-30T06:27:59Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhq.htm 2020-04-30T06:29:31Z zooey joined #lisp 2020-04-30T06:30:16Z CrazyEddy quit (Remote host closed the connection) 2020-04-30T06:30:56Z vibs29 joined #lisp 2020-04-30T06:36:22Z aeth: phoe: so as long as we can convince implementors to use distinct conditions for things like array indices, we can make a portability library over it? 2020-04-30T06:36:33Z fbmnds joined #lisp 2020-04-30T06:37:03Z phoe: wait a second... 2020-04-30T06:37:10Z phoe: kind-of 2020-04-30T06:37:20Z phoe: you can use the deftype in handlers 2020-04-30T06:37:43Z phoe: but not for instantiation 2020-04-30T06:38:06Z beach: Wouldn't you just handle the implementation-specific condition and signal one that is specific to the trivial-??? library? 2020-04-30T06:39:15Z phoe: beach: that would mean that you need two handlers, one for the implementation-specific condition, and another for the trivial-array-out-of-bounds condition 2020-04-30T06:39:48Z beach: One would be inside the trivial-??? library, no? 2020-04-30T06:40:04Z beach: If so, what is the problem with that? 2020-04-30T06:40:08Z phoe: I don't yet understand, what would be the interface of that library? 2020-04-30T06:40:34Z phoe: a custom AREF that adds a handler around the array access? 2020-04-30T06:40:39Z beach: (with-trivial-??? (aref ...)) 2020-04-30T06:40:46Z phoe: oh, sure, that can be done 2020-04-30T06:41:19Z phoe: that'll require users to wrap all of their array accesors in a with-trivial-??? though - it's cumbersome 2020-04-30T06:41:27Z CrazyEddy joined #lisp 2020-04-30T06:41:28Z beach: But yeah, that would be prohibitive for single calls to AREF. 2020-04-30T06:41:42Z phoe: and error prone, unless one defines their own AREF 2020-04-30T06:41:54Z beach: Sure, yes. 2020-04-30T06:42:20Z aeth: there are a few others that would be good to handle here, like DESTRUCTURING-BIND 2020-04-30T06:42:29Z random-nick joined #lisp 2020-04-30T06:42:30Z aeth: and people can probably think of a few more that people want to handle but can't 2020-04-30T06:42:33Z phoe: aeth: https://github.com/phoe/destructuring-bind-star/ 2020-04-30T06:49:20Z asarch joined #lisp 2020-04-30T06:57:46Z krid joined #lisp 2020-04-30T06:58:55Z schjetne` quit (Ping timeout: 246 seconds) 2020-04-30T07:02:58Z asarch: If I have: (tacos 3), an easy way to get the number of tacos instead of (car (cdr '(tacos 3)))? 2020-04-30T07:03:21Z White_Flame: (second '(tacos 3))? 2020-04-30T07:03:22Z flip214: asarch: SECOND 2020-04-30T07:03:33Z asarch: Thank you! 2020-04-30T07:03:39Z White_Flame: or (cadr '(tacos 3)) 2020-04-30T07:04:00Z phadthai: now I want a taco 2020-04-30T07:04:24Z White_Flame: now I want pad thai 2020-04-30T07:04:33Z phadthai: why not both 2020-04-30T07:04:43Z White_Flame: \:D/ 2020-04-30T07:04:54Z krid quit (Ping timeout: 260 seconds) 2020-04-30T07:05:51Z asarch: Let's get some tacos with beer! 2020-04-30T07:06:26Z phoe serves'em all in #lispcafe 2020-04-30T07:06:45Z MerlinTheWizard quit (Ping timeout: 244 seconds) 2020-04-30T07:07:14Z pve joined #lisp 2020-04-30T07:13:58Z Guest35617 joined #lisp 2020-04-30T07:16:20Z akoana quit (Quit: leaving) 2020-04-30T07:19:30Z vibs29 left #lisp 2020-04-30T07:20:24Z karlosz quit (Quit: karlosz) 2020-04-30T07:30:03Z karlosz joined #lisp 2020-04-30T07:36:20Z asarch quit (Quit: Leaving) 2020-04-30T07:39:13Z jprajzne joined #lisp 2020-04-30T07:39:18Z froggey quit (Ping timeout: 244 seconds) 2020-04-30T07:40:33Z duncan_ joined #lisp 2020-04-30T07:41:13Z froggey joined #lisp 2020-04-30T07:41:32Z decent-username joined #lisp 2020-04-30T07:47:02Z karlosz quit (Quit: karlosz) 2020-04-30T07:50:44Z karlosz joined #lisp 2020-04-30T08:01:13Z ljavorsk joined #lisp 2020-04-30T08:02:25Z ralt joined #lisp 2020-04-30T08:15:29Z msk quit (Remote host closed the connection) 2020-04-30T08:15:33Z varjag joined #lisp 2020-04-30T08:20:46Z IRC-Source_21 quit (Quit: Connection closed) 2020-04-30T08:21:42Z dale quit (Quit: My computer has gone to sleep) 2020-04-30T08:39:22Z milanj joined #lisp 2020-04-30T08:44:17Z Grue` quit (Quit: ZNC 1.7.2 - https://znc.in) 2020-04-30T08:44:49Z Grue` joined #lisp 2020-04-30T08:48:09Z milanj quit (Quit: This computer has gone to sleep) 2020-04-30T08:49:37Z elflng_ is now known as elflng 2020-04-30T08:56:24Z katco quit (Quit: killed) 2020-04-30T08:56:24Z unl0ckd quit (Quit: killed) 2020-04-30T08:56:24Z no-defun-allowed quit (Quit: killed) 2020-04-30T08:56:30Z clintm[m] quit (Quit: killed) 2020-04-30T08:56:34Z LdBeth quit (Quit: killed) 2020-04-30T08:56:34Z dalz quit (Quit: killed) 2020-04-30T08:56:34Z amnesic[m] quit (Quit: killed) 2020-04-30T08:56:39Z liambrown quit (Quit: killed) 2020-04-30T08:56:39Z Cairn[m] quit (Quit: killed) 2020-04-30T08:56:40Z mhitchman[m] quit (Quit: killed) 2020-04-30T08:56:40Z Gnuxie[m] quit (Quit: killed) 2020-04-30T08:56:44Z justache quit (Max SendQ exceeded) 2020-04-30T08:56:54Z infra_red[m] quit (Quit: killed) 2020-04-30T08:56:56Z Jachy quit (Quit: killed) 2020-04-30T08:56:59Z Davd[m] quit (Quit: killed) 2020-04-30T08:57:21Z Necktwi joined #lisp 2020-04-30T08:58:17Z justache joined #lisp 2020-04-30T08:58:59Z Guest35617 quit (Ping timeout: 246 seconds) 2020-04-30T08:59:01Z Krystof quit (Ping timeout: 264 seconds) 2020-04-30T08:59:01Z femi quit (Ping timeout: 264 seconds) 2020-04-30T09:00:19Z Guest35617 joined #lisp 2020-04-30T09:01:21Z turona quit (Ping timeout: 272 seconds) 2020-04-30T09:02:46Z femi joined #lisp 2020-04-30T09:10:00Z turona joined #lisp 2020-04-30T09:10:23Z vivit quit (Ping timeout: 258 seconds) 2020-04-30T09:12:40Z dalz joined #lisp 2020-04-30T09:16:43Z orivej joined #lisp 2020-04-30T09:32:15Z prefixt quit (Ping timeout: 240 seconds) 2020-04-30T09:37:57Z rgherdt left #lisp 2020-04-30T09:43:30Z cosimone joined #lisp 2020-04-30T09:45:33Z prefixt joined #lisp 2020-04-30T09:45:33Z prefixt quit (Changing host) 2020-04-30T09:45:33Z prefixt joined #lisp 2020-04-30T09:48:46Z twelvemonkeys quit (Ping timeout: 260 seconds) 2020-04-30T09:49:15Z boeg: Is there a library that has utilities for things like taking a string and making it url safe? 2020-04-30T09:51:52Z jackdaniel: what is an url safe string? 2020-04-30T09:52:08Z jdz: There's drakma:url-encode, most probably cl-who or other HTML generation libraries have something. 2020-04-30T09:52:54Z Shinmera: It's called URL encoding and is a pretty trivial single function. 2020-04-30T09:52:55Z boeg: jdz: thanks, ill check it out 2020-04-30T09:53:33Z adlai joined #lisp 2020-04-30T09:53:58Z boeg: jackdaniel: its obviously a string thats safe for using in urls ¯\_(ツ)_/¯ 2020-04-30T09:54:10Z boeg: Shinmera: indeed! 2020-04-30T09:54:12Z Shinmera: not that obvious. 2020-04-30T09:54:19Z jackdaniel: it still doesn't make sense to me, but I'll stop at that 2020-04-30T09:54:45Z adlai: Xach: I have not previously received this specific complaint, however, it does weigh upon my mind: a few of "scalpl" project's ASDF systems perform external http requests, at load-time. problem? 2020-04-30T09:54:55Z amnesic[m] joined #lisp 2020-04-30T09:54:55Z mhitchman[m] joined #lisp 2020-04-30T09:54:55Z unl0ckd joined #lisp 2020-04-30T09:54:55Z no-defun-allowed joined #lisp 2020-04-30T09:54:55Z Cairn[m] joined #lisp 2020-04-30T09:54:55Z DavdL[m] joined #lisp 2020-04-30T09:54:55Z infra_red[m] joined #lisp 2020-04-30T09:54:55Z liambrown joined #lisp 2020-04-30T09:54:55Z LdBeth joined #lisp 2020-04-30T09:54:55Z katco joined #lisp 2020-04-30T09:54:56Z Jachy joined #lisp 2020-04-30T09:54:56Z Gnuxie[m] joined #lisp 2020-04-30T09:55:03Z clintm[m] joined #lisp 2020-04-30T09:55:05Z boeg: if you want to be pedantic, it's obviously not obvious, but I think it's easy to infer a meaning from the same statement i gave 2020-04-30T09:55:16Z boeg: simple statement* 2020-04-30T09:55:55Z flip214: adlai: that's a bad thing, right 2020-04-30T09:56:09Z jackdaniel: what are quantum particles? well, obviously that are particles, which are quantum, dummy! 2020-04-30T09:56:23Z adlai: it's not harmful to operation of the program, although it could cause undue headaches to the distributor 2020-04-30T09:56:29Z twelvemonkeys joined #lisp 2020-04-30T09:56:47Z beach: I agree with jackdaniel. For one thing, I don't know the definition of "safe" in this context. 2020-04-30T09:57:25Z jackdaniel: adlai: doing external http requests during load time may be problematic for few reasons: one is security, there is no guarantee, that resources loaded won't become malicious at some point of time. another is the fact, that some installations are air-gapped 2020-04-30T09:57:47Z mood: It's just escaping characters for use in a URL. For example, if you want to use "/" in a path component, you encode it as %2F instead 2020-04-30T09:58:22Z jackdaniel: mood: thank you, that makes more sense 2020-04-30T09:58:24Z beach: mood: What is the justification for using the word "safe" for such a transformation? 2020-04-30T09:58:27Z adlai sighs and wonders what sort of overly-helpful airgap could possibly think that forwarding such requests could be a good idea 2020-04-30T09:58:42Z fbmnds: @boeg I guess you are referring to url safetxý in this sense : https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html#validating-urls 2020-04-30T09:59:06Z adlai: the primary reason for doing requests at load-time is that there are APIs that change at a frequency significantly lower than the lifetime of an installation 2020-04-30T09:59:09Z no-defun-allowed: beach: It's "safe" in the sense that it can't break HTML syntax. 2020-04-30T09:59:11Z toorevitimirp joined #lisp 2020-04-30T09:59:34Z beach: no-defun-allowed: Thanks! 2020-04-30T09:59:49Z jdz: adlai: I wonder why the requests are not done in a setup or initialization function? 2020-04-30T09:59:51Z mood: beach: Encoding a string in that way allows it to be inserted into a URL without invoking the special meaning of certain characters. 2020-04-30T10:00:25Z mood: no-defun-allowed: That's not really correct. URLs and HTML are unrelated, and a & would still need to be escaped for use in HTML 2020-04-30T10:00:31Z beach: Thanks. I think I understand. 2020-04-30T10:00:35Z no-defun-allowed: Suppose I have the string "foo

bar" and just put it between ...; then I would get foo

bar. That's not correct; but it's very bad if that string encodes some JavaScript program. 2020-04-30T10:00:47Z no-defun-allowed: Oh, we're talking about URLs. My bad. 2020-04-30T10:01:20Z phoe: still, injection is possible in URLs as well; the idea is similar, just the encoding differs 2020-04-30T10:01:45Z boeg: beach, jackdaniel: i don't think there is anything to agree upon - I didn't provide more details, because they were not needed. Sufficient advice arrived swiftly, as I suspected, because it's a task that's used in a lot of places - I have done similar things in a lot of other languages, and suspected it would be easy to find a usable answer, which it was. If I was working on a quantum competer and needed an answer fitting my 2020-04-30T10:01:45Z boeg: exact 2020-04-30T10:01:45Z boeg: definition of a quantum particle, i would have gone into greater lengths with my question, alas i am not, although it would be exciting 2020-04-30T10:01:49Z no-defun-allowed: A better example would be that encoding the alist (("foo" . "&bar")) as a query string like ?foo=&bar has a different meaning to what was anticipated. 2020-04-30T10:02:05Z boeg: computer* 2020-04-30T10:02:52Z fbmnds left #lisp 2020-04-30T10:03:09Z adlai: jdz: good question, i'll have to meditate upon the reasons why anyone other than I would have such problems anyway 2020-04-30T10:03:10Z nika joined #lisp 2020-04-30T10:03:19Z _death: adlai: it may be a good idea to allow the user to choose the method of retrieval, for example to read from a file instead 2020-04-30T10:03:44Z q3d joined #lisp 2020-04-30T10:04:52Z jackdaniel: boeg: things which are obvious to you are not obvious to others. if everyone would assume that their knowledge is a common knowledge, then nobody would answer any question. I've asked because I was curious, and it seems to me that your answer was at least little condescending 2020-04-30T10:05:06Z adlai: _death: thank you, that is a good suggestion 2020-04-30T10:05:35Z adlai is also wondering about this whole 'swagger' nonsense, that almost asks for yet another #. 2020-04-30T10:07:55Z add^_ joined #lisp 2020-04-30T10:09:17Z boeg: jackdaniel: in regard to your first sentence, that is correct. 2020-04-30T10:10:04Z Shinmera: no-defun-allowed: It has nothing to do with HTML 2020-04-30T10:10:12Z Shinmera: ah fuck, was scrolled up 2020-04-30T10:12:26Z milanj joined #lisp 2020-04-30T10:12:34Z jackdaniel: I like to think that other sentences were also correct ;) 2020-04-30T10:14:03Z marcoxa joined #lisp 2020-04-30T10:14:13Z marcoxa: Hi 2020-04-30T10:16:07Z beach: Hello marcoxa. 2020-04-30T10:18:05Z beach: marcoxa: It looks like you are fairly new here. What brings you to #lisp? 2020-04-30T10:18:44Z marcoxa: The question is what brings me to IRC. I have been doing Lisp for a veeeeeeeeeeeeeeery long time. 2020-04-30T10:20:35Z beach: Great! Are you looking for a project to work on? I have plenty of suggestions. 2020-04-30T10:21:21Z beach: http://metamodular.com/Common-Lisp/suggested-projects.html 2020-04-30T10:21:43Z phoe: helloooo 2020-04-30T10:22:53Z dddddd joined #lisp 2020-04-30T10:23:21Z jackdaniel: beach: marcoxa presented the proposal for unifying float handling in common lisp implementations, I'm sure he has also other projects going on based on looking at CDR's 2020-04-30T10:23:34Z marcoxa: beach I haveplenty of suggestions :) 2020-04-30T10:23:41Z beach: Got it. 2020-04-30T10:23:51Z marcoxa: :) 2020-04-30T10:24:09Z phoe: oooh, it's you! hello, glad to have you around 2020-04-30T10:24:23Z beach: Oh, you are Marco Antoniotti? 2020-04-30T10:24:43Z jackdaniel tried to communicate that without spelling out names :) 2020-04-30T10:25:05Z aeth: What would unified float handling be? IEEE short-, single-, and double-float? And then what for long-float? Or am I way off? 2020-04-30T10:25:32Z jackdaniel: aeth: more like: what should happen when you add 1.0 to nan 2020-04-30T10:25:34Z Shinmera: I see someone didn't attend ELS 2020-04-30T10:25:39Z marcoxa: Yep. I figured out that by not hanging out here I was missing out a lot. So I am exploiting a lull in my day job and using ERC to lounge around. 2020-04-30T10:25:39Z phoe: ^ 2020-04-30T10:25:53Z aeth: jackdaniel: ah 2020-04-30T10:26:07Z beach: marcoxa: You are right about the missing-out part. 2020-04-30T10:26:17Z beach: I keep telling Didier Verna and Jim Newton that. 2020-04-30T10:26:31Z marcoxa: Yep. 2020-04-30T10:26:34Z no-defun-allowed: Shinmera: Indeed it does not. 2020-04-30T10:26:38Z White_Flame: what, are you saying comp.lang.lisp isn't the pinnacle of Lisp-oriented discussion? 2020-04-30T10:26:49Z jackdaniel have never joined usenet 2020-04-30T10:27:01Z jackdaniel: but I saw archived emails with plenty of fucks and personal insults 2020-04-30T10:27:05Z White_Flame throws a big "/s" in the air 2020-04-30T10:28:43Z marcoxa: Coming to the LIA Rabbit Hole I spoke about at ELS. If anybody is interested I can give access to the repository that contains the extremely raough draft of the LIA/CL spec. Also, now that I got the hang of this thing, I could set up a specialized channel on IRC. What do you think? 2020-04-30T10:29:41Z jackdaniel: I'd be interested in having access to the repository. at the very least I could make a pull request which adds missing information about ECL. 2020-04-30T10:30:05Z phoe: hmmm, easye would likely want to do the same regarding ABCL 2020-04-30T10:31:37Z jackdaniel: if you want to create a channel, I would suggest making it more general than LIA/CL, i.e #cdr, so other issues common for cl implementers could be discussed there 2020-04-30T10:31:50Z phoe: I would join #cdf 2020-04-30T10:31:54Z phoe: s/cdf/cdr/ 2020-04-30T10:34:59Z marcoxa: jackdaniel I think two channels would be in order. One thing is the CDR discussions, the discussion on the LIA spec is going to be quite detailed and it will require some form of consensu making. Remember that LW and Franz should come onboard. 2020-04-30T10:35:30Z jackdaniel: my point is that making too many channels would only impact the membership 2020-04-30T10:35:51Z jackdaniel: it is not that people would chat about cdr proposals all day long 2020-04-30T10:35:58Z marcoxa: Sorry guys, I have to leave for a couple of hours. Our fridge is empty :) Send me an email if you want access to the repo. 2020-04-30T10:36:09Z phoe: yes, I kinda wonder if there will be enough volume for a separate IRC channel 2020-04-30T10:36:15Z jackdaniel: and your email is? :) 2020-04-30T10:36:19Z phoe: marcoxa: bon appetit and good luck hunting 2020-04-30T10:37:01Z marcoxa: marco dot antoniotti at unimib.it will do. Ciao 2020-04-30T10:37:12Z jackdaniel: thanks, see you 2020-04-30T10:37:34Z marcoxa quit (Quit: Lunch time.) 2020-04-30T10:37:59Z emys joined #lisp 2020-04-30T10:38:36Z no-defun-allowed: Perhaps this is way too rude, but why the hell do some published libraries (declare (debug 0))? Are they trying to save the last few kilobytes that having lambda lists uses? 2020-04-30T10:39:14Z jackdaniel: having debug information may also influence a performance 2020-04-30T10:39:20Z _death: no-defun-allowed: maybe it's a claim of quality.. the code is perfect, no need for debugging 2020-04-30T10:39:33Z jackdaniel: usually optimization on/off is a function of speed/debug options 2020-04-30T10:40:02Z jackdaniel: i.e ecl pushes debugging frames onto the frame stack when the function is called 2020-04-30T10:40:25Z no-defun-allowed: Well, (debug 1) is the "alternative" here. That doesn't do much more, does it? 2020-04-30T10:40:39Z edgar-rft: no-defun-allowed: (declare (debug 0)) means they are not interested in seeing *your* bugs :-) 2020-04-30T10:40:41Z jackdaniel: well, if you have debug 0, ecl does not push said frames 2020-04-30T10:40:45Z jackdaniel: if you have debug 1, it does! 2020-04-30T10:41:00Z no-defun-allowed: Right. 2020-04-30T10:46:27Z phadthai: a mailing list would likely be better than an irc channel for CDR work (if it doesn't already exist) 2020-04-30T10:46:52Z phoe: https://mailman.common-lisp.net/listinfo/cdr-discuss 2020-04-30T10:47:27Z phadthai: cool 2020-04-30T10:47:44Z phoe: sounds worth reviving in this context 2020-04-30T10:47:46Z phadthai: then I'm unsure what irc would really add, as people are unlikely to be able to meet at the right time 2020-04-30T10:48:41Z phadthai: well, maybe still a good thing to have 2020-04-30T10:56:08Z emys quit (Ping timeout: 246 seconds) 2020-04-30T10:57:00Z emys joined #lisp 2020-04-30T10:59:44Z decent-u` joined #lisp 2020-04-30T11:00:41Z decent-username quit (Ping timeout: 265 seconds) 2020-04-30T11:02:42Z scymtym quit (Ping timeout: 256 seconds) 2020-04-30T11:04:46Z emys quit (Ping timeout: 240 seconds) 2020-04-30T11:05:59Z scymtym joined #lisp 2020-04-30T11:10:55Z Krystof joined #lisp 2020-04-30T11:13:06Z toorevitimirp quit (Remote host closed the connection) 2020-04-30T11:14:35Z toorevitimirp joined #lisp 2020-04-30T11:16:36Z q3d quit (Ping timeout: 240 seconds) 2020-04-30T11:17:44Z bendersteed joined #lisp 2020-04-30T11:22:07Z toorevitimirp quit (Remote host closed the connection) 2020-04-30T11:23:27Z toorevitimirp joined #lisp 2020-04-30T11:26:25Z hsaziz joined #lisp 2020-04-30T11:27:01Z Lord_of_Life_ joined #lisp 2020-04-30T11:27:12Z toorevitimirp quit (Remote host closed the connection) 2020-04-30T11:28:05Z karlosz quit (Quit: karlosz) 2020-04-30T11:29:20Z toorevitimirp joined #lisp 2020-04-30T11:29:37Z Lord_of_Life quit (Ping timeout: 264 seconds) 2020-04-30T11:29:50Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-30T11:31:41Z Bike joined #lisp 2020-04-30T11:32:37Z SGASAU quit (Remote host closed the connection) 2020-04-30T11:34:08Z SGASAU joined #lisp 2020-04-30T11:34:25Z emys joined #lisp 2020-04-30T11:34:40Z decent-u` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-30T11:35:08Z decent-username joined #lisp 2020-04-30T11:42:13Z toorevitimirp quit (Remote host closed the connection) 2020-04-30T11:42:52Z toorevitimirp joined #lisp 2020-04-30T11:43:02Z emys quit (Ping timeout: 260 seconds) 2020-04-30T11:43:34Z emys joined #lisp 2020-04-30T11:50:08Z jmercouris: any reason why slime is instantly disconnecting from swank? 2020-04-30T11:50:35Z phoe: jmercouris: what does the inferior-lisp buffer say? 2020-04-30T11:50:50Z jmercouris: I do not have an inferior lisp buffer, i am starting swank in a separate image 2020-04-30T11:50:57Z jmercouris: not starting it via slime 2020-04-30T11:51:07Z phoe: what does the terminal output of that separate image say? 2020-04-30T11:51:17Z jmercouris: I will launch it via terminal and tell you 2020-04-30T11:51:19Z jmercouris: one moment please 2020-04-30T11:51:28Z phoe: are there any hints in the emacs' *Messages* buffer? 2020-04-30T11:51:43Z jmercouris: Lisp connection closed unexpectedly: connection broken by remote peer when I kill the image 2020-04-30T11:51:58Z jmercouris: one second I'll start clean 2020-04-30T11:52:24Z jmercouris: so, terminal says: [13:52:17] "Swank server started at port 4006" 2020-04-30T11:52:31Z jmercouris: and; ;; Swank started at port: 4006. 2020-04-30T11:52:34Z jmercouris: which makes sense so far 2020-04-30T11:52:58Z jmercouris: then it says the following after I connect http://dpaste.com/3NW53X4 2020-04-30T11:52:59Z toorevitimirp quit (Remote host closed the connection) 2020-04-30T11:53:07Z phoe: that sounds good 2020-04-30T11:53:23Z jmercouris: then the following 2020-04-30T11:54:15Z jmercouris: messages show Connected. Are we consing yet? 2020-04-30T11:54:21Z jmercouris: then i will try something llike (print "lol") 2020-04-30T11:54:34Z jmercouris: and instantly : slime-connection: Connection closed. 2020-04-30T11:54:44Z jmercouris: in *Messages* 2020-04-30T11:54:56Z jmercouris: terminal reports no more output for the lisp image 2020-04-30T11:55:28Z phoe: huh, no idea 2020-04-30T11:55:41Z jmercouris: here is my sbclrc http://dpaste.com/2WDCTSS 2020-04-30T11:55:58Z phoe: should work 2020-04-30T11:56:10Z jmercouris: this is the only line in my .swank.lisp (setf swank:*globally-redirect-io* t) 2020-04-30T11:56:20Z OMGOMG joined #lisp 2020-04-30T11:56:26Z jmercouris: this is my settings for Lisp in Emacs http://dpaste.com/3K2QJY6 2020-04-30T11:57:00Z toorevitimirp joined #lisp 2020-04-30T11:57:11Z jmercouris: it was working yesterday 2020-04-30T11:57:16Z jmercouris: literally nothing changed 2020-04-30T11:57:36Z phoe: did you restart emacs? 2020-04-30T11:57:39Z jmercouris: yes 2020-04-30T11:57:54Z jmercouris: maybe I should try a -q 2020-04-30T11:58:08Z Nilby joined #lisp 2020-04-30T11:58:15Z phoe: I'm puzzled 2020-04-30T11:59:09Z jmercouris: as am I 2020-04-30T11:59:12Z jmercouris: because normal slime works 2020-04-30T11:59:22Z jmercouris: no wait 2020-04-30T11:59:24Z jmercouris: I take that back 2020-04-30T11:59:27Z jmercouris: normal slime crashes instantly 2020-04-30T11:59:27Z jmercouris: WHAT 2020-04-30T11:59:58Z jmercouris: I have a slime events buffer 2020-04-30T12:00:08Z jmercouris: does this give you an idea: http://dpaste.com/0SHH4WF 2020-04-30T12:00:08Z jmercouris: ? 2020-04-30T12:01:04Z phoe: nope, no idea yet. 2020-04-30T12:02:19Z shifty joined #lisp 2020-04-30T12:02:32Z jmercouris: WAS 2020-04-30T12:02:52Z vaporatorius joined #lisp 2020-04-30T12:02:52Z vaporatorius quit (Changing host) 2020-04-30T12:02:53Z vaporatorius joined #lisp 2020-04-30T12:03:01Z jmercouris: do you think emptying my cache would help? 2020-04-30T12:08:38Z Bourne quit (Read error: Connection reset by peer) 2020-04-30T12:10:45Z Grue`: jmercouris: try (setf sb-impl::*default-external-format* :utf-8) in .sbclrc 2020-04-30T12:11:53Z rogersm joined #lisp 2020-04-30T12:12:56Z jmercouris: phoe: it was one of the slime contribs acting up for some reason 2020-04-30T12:13:04Z phoe: jmercouris: oh! which one? 2020-04-30T12:13:05Z jmercouris: phoe: I haven't figured out which one, i'll figure it out later 2020-04-30T12:13:09Z phoe: OK 2020-04-30T12:13:14Z jmercouris: i just removed them for now, i have work to do 2020-04-30T12:17:04Z hsaziz quit (Ping timeout: 246 seconds) 2020-04-30T12:19:52Z v0|d joined #lisp 2020-04-30T12:22:42Z SGASAU quit (Remote host closed the connection) 2020-04-30T12:24:00Z SGASAU joined #lisp 2020-04-30T12:24:18Z toorevitimirp quit (Remote host closed the connection) 2020-04-30T12:26:11Z toorevitimirp joined #lisp 2020-04-30T12:26:31Z ljavorsk quit (Ping timeout: 246 seconds) 2020-04-30T12:31:47Z corpix joined #lisp 2020-04-30T12:32:03Z corpix_ quit (Remote host closed the connection) 2020-04-30T12:33:52Z pve quit (Ping timeout: 246 seconds) 2020-04-30T12:34:10Z pve joined #lisp 2020-04-30T12:36:09Z ggole joined #lisp 2020-04-30T12:40:42Z roelj joined #lisp 2020-04-30T12:41:21Z rogersm quit (Quit: Leaving...) 2020-04-30T12:41:22Z toorevitimirp quit (Remote host closed the connection) 2020-04-30T12:43:41Z krid joined #lisp 2020-04-30T12:44:11Z rwcom3 joined #lisp 2020-04-30T12:45:42Z corpix_ joined #lisp 2020-04-30T12:45:50Z rwcom quit (Ping timeout: 256 seconds) 2020-04-30T12:45:50Z rwcom3 is now known as rwcom 2020-04-30T12:45:58Z corpix quit (Remote host closed the connection) 2020-04-30T12:46:35Z SGASAU quit (Remote host closed the connection) 2020-04-30T12:46:42Z cosimone quit (Remote host closed the connection) 2020-04-30T12:47:06Z cosimone joined #lisp 2020-04-30T12:47:20Z SGASAU joined #lisp 2020-04-30T12:58:05Z corpix_ quit (Remote host closed the connection) 2020-04-30T13:00:19Z jruiz joined #lisp 2020-04-30T13:03:01Z corpix joined #lisp 2020-04-30T13:03:26Z patlv joined #lisp 2020-04-30T13:07:25Z jruiz quit (Ping timeout: 264 seconds) 2020-04-30T13:07:45Z jruiz__ joined #lisp 2020-04-30T13:17:30Z IRC-Source_21 joined #lisp 2020-04-30T13:26:57Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-30T13:28:18Z JohnMS_WORK quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2020-04-30T13:30:09Z red-dot joined #lisp 2020-04-30T13:31:58Z emys quit (Ping timeout: 246 seconds) 2020-04-30T13:33:49Z amerlyq quit (Quit: amerlyq) 2020-04-30T13:35:58Z emys joined #lisp 2020-04-30T13:36:32Z jmercouris left #lisp 2020-04-30T13:36:38Z jmercouris joined #lisp 2020-04-30T13:36:44Z jmercouris: I'm working with cl-cffi-gtk and I'm having a small issue 2020-04-30T13:36:48Z jmercouris: http://dpaste.com/040KR1M 2020-04-30T13:37:02Z jmercouris: not sure why it is not able to properly transform the g-error from a signal 2020-04-30T13:37:10Z gko joined #lisp 2020-04-30T13:37:39Z jmercouris: here's the signal: https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-load-failed 2020-04-30T13:38:01Z jmercouris: and here is my code, very simple: http://dpaste.com/22EGG97 2020-04-30T13:38:07Z jmercouris: so this is probably a bug in cl-cffi-gtk... 2020-04-30T13:40:17Z emys quit (Ping timeout: 246 seconds) 2020-04-30T13:51:29Z esotericalgo quit (Changing host) 2020-04-30T13:51:29Z esotericalgo joined #lisp 2020-04-30T13:51:45Z niceplaces quit (Ping timeout: 240 seconds) 2020-04-30T13:52:54Z turona quit (Ping timeout: 246 seconds) 2020-04-30T13:53:00Z niceplace joined #lisp 2020-04-30T13:53:52Z keep_learning quit (Quit: This computer has gone to sleep) 2020-04-30T13:54:12Z ahungry joined #lisp 2020-04-30T13:55:01Z choegusung joined #lisp 2020-04-30T13:55:12Z choegusung quit (Client Quit) 2020-04-30T14:05:07Z flip214: beach: just stumbled upon a Naggum post that referenced you, and found https://dept-info.labri.u-bordeaux.fr/~strandh/Teaching/MTP/Common/Strandh-Tutorial/psychology.html. JFI I get SSL warnings for that site, not that it matters much. 2020-04-30T14:07:43Z beach: Use the metamodular version instead. 2020-04-30T14:08:16Z beach: http://metamodular.com/Essays/psychology.html 2020-04-30T14:08:48Z beach: I had no idea that Naggum ever referred to me. I didn't even know he had ever heard of me. 2020-04-30T14:09:41Z varjag quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2020-04-30T14:11:21Z flip214: beach: https://www.xach.com/naggum/articles/3218108061814659@naggum.net.html 2020-04-30T14:11:50Z flip214: not directly, but that link came up in one of his replies 2020-04-30T14:12:16Z beach: Oh, I guess I even had some exchanges with him. 2020-04-30T14:12:25Z adlai wonders how long you gotta incubate an ulcer until it begins to tell you who's got good ideas 2020-04-30T14:13:10Z turona joined #lisp 2020-04-30T14:13:58Z beach: adlai: What would the "ulcer" be in this case? 2020-04-30T14:15:59Z orivej quit (Ping timeout: 246 seconds) 2020-04-30T14:22:51Z Inline joined #lisp 2020-04-30T14:25:24Z Josh_2 joined #lisp 2020-04-30T14:30:23Z adlai: unless i've been suffering from pervasive disinformation, Erik Naggum died of worrying too much about how to educate people to pick up his mantle after he was gone 2020-04-30T14:30:54Z beach: Oh, I see. 2020-04-30T14:31:01Z Bike: well, he died of ulcerative collitis, which is pretty nasty 2020-04-30T14:31:30Z sjl_ joined #lisp 2020-04-30T14:31:42Z orivej joined #lisp 2020-04-30T14:32:39Z adlai refrains from further discussion of the subject, at least until better understanding of the various literatures 2020-04-30T14:34:13Z emacsomancer quit (Read error: Connection reset by peer) 2020-04-30T14:36:47Z emacsomancer joined #lisp 2020-04-30T14:47:44Z _death: the treatment of UC inflammations can be very nasty as well 2020-04-30T14:48:14Z cosimone quit (Quit: Quit.) 2020-04-30T14:48:32Z entel joined #lisp 2020-04-30T14:50:02Z cosimone joined #lisp 2020-04-30T14:52:52Z MerlinTheWizard joined #lisp 2020-04-30T14:58:30Z bitmapper joined #lisp 2020-04-30T14:59:26Z gabiruh joined #lisp 2020-04-30T15:01:05Z theseb joined #lisp 2020-04-30T15:01:54Z theseb: I asked yesterday why macros must be defined in the toplevel.....but couldn't you define them anywhere and form a closure? i.e. just save the local environment with the macros and drag it around? 2020-04-30T15:02:01Z phoe: theseb: you can 2020-04-30T15:02:07Z theseb: phoe: oh good 2020-04-30T15:02:09Z theseb: thanks 2020-04-30T15:02:20Z phoe: that's a unique way of using them though 2020-04-30T15:02:28Z phoe: not many people do that 2020-04-30T15:03:06Z jdz: After all, a macro is just a function. 2020-04-30T15:03:58Z beach: theseb: For example (let ((x 0)) (defmacro m () (incf x))) 2020-04-30T15:04:14Z beach: theseb: (list (m) (m) (m)) => (1 2 3) 2020-04-30T15:04:52Z theseb: phoe: http://www.lispworks.com/documentation/HyperSpec/Issues/iss104_w.htm says "Compilers, for example, may not recognize these forms 2020-04-30T15:04:52Z theseb: properly in other than top-level contexts". At least one implementation 2020-04-30T15:04:52Z theseb: has interpreted this to mean that it is permissible to simply refuse 2020-04-30T15:04:52Z theseb: to compile defining macros that do not appear at top-level" 2020-04-30T15:05:44Z beach: theseb: The file compiler is limited in what it can represent in a FASL file, so there are limitations. 2020-04-30T15:05:59Z phoe: theseb: issues aren't a normative part of the standard. This text relates to pre-ANSI CL Lisp implementations. 2020-04-30T15:06:48Z phoe: this issue, also, explicitly permits for macros to be defined not in toplevel; see the "Proposal" part. 2020-04-30T15:08:45Z jonatack quit (Ping timeout: 240 seconds) 2020-04-30T15:08:54Z Bike: it's a quotation from Common Lisp the Language, even, which is definitely not normative 2020-04-30T15:11:07Z jonatack joined #lisp 2020-04-30T15:12:22Z jprajzne quit (Quit: Leaving.) 2020-04-30T15:14:14Z xallad joined #lisp 2020-04-30T15:24:29Z xallad left #lisp 2020-04-30T15:25:49Z frgo_ quit 2020-04-30T15:27:14Z Cymew quit (Ping timeout: 240 seconds) 2020-04-30T15:33:04Z gabiruh quit (Ping timeout: 246 seconds) 2020-04-30T15:40:54Z frgo joined #lisp 2020-04-30T15:43:36Z fbmnds joined #lisp 2020-04-30T15:44:13Z fbmnds left #lisp 2020-04-30T15:47:25Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-30T15:48:57Z IRC-Source_21 is now known as sam68 2020-04-30T15:50:05Z scymtym_ joined #lisp 2020-04-30T15:51:16Z scymtym quit (Ping timeout: 246 seconds) 2020-04-30T15:53:39Z fourier joined #lisp 2020-04-30T16:05:28Z SGASAU quit (Remote host closed the connection) 2020-04-30T16:06:27Z SGASAU joined #lisp 2020-04-30T16:08:56Z vivit joined #lisp 2020-04-30T16:09:28Z efm quit (Ping timeout: 246 seconds) 2020-04-30T16:14:11Z red-dot joined #lisp 2020-04-30T16:14:16Z KDr21 joined #lisp 2020-04-30T16:15:54Z femi quit (Ping timeout: 256 seconds) 2020-04-30T16:16:02Z KDr2 quit (Ping timeout: 260 seconds) 2020-04-30T16:23:40Z pjb: theseb: this is worse than what beach shown. (list (m) (m) (m)) could also return (2 4 6) or (12 7 2) or whatever actually. 2020-04-30T16:24:09Z femi joined #lisp 2020-04-30T16:24:25Z pjb: AFAICR, there's no left-to-right order of macroexpansion enforced. What's sure, is that a macro can be expanded more than once. Therefore the state of a macro that mutates state can be very different from what you would expect. 2020-04-30T16:25:44Z Bourne joined #lisp 2020-04-30T16:27:54Z scymtym_ quit (Remote host closed the connection) 2020-04-30T16:28:57Z scymtym joined #lisp 2020-04-30T16:34:18Z shifty quit (Ping timeout: 260 seconds) 2020-04-30T16:34:38Z ruricolist joined #lisp 2020-04-30T16:38:30Z gko quit (Ping timeout: 256 seconds) 2020-04-30T16:41:33Z kiwi_60 joined #lisp 2020-04-30T16:43:11Z kiwi_60 quit (Client Quit) 2020-04-30T16:55:47Z xkapastel joined #lisp 2020-04-30T17:02:41Z grabarz joined #lisp 2020-04-30T17:02:45Z fourier quit (Ping timeout: 240 seconds) 2020-04-30T17:13:56Z karlosz joined #lisp 2020-04-30T17:18:04Z orivej quit (Ping timeout: 246 seconds) 2020-04-30T17:18:48Z twelvemonkeys quit (Ping timeout: 256 seconds) 2020-04-30T17:20:38Z twelvemonkeys joined #lisp 2020-04-30T17:29:33Z ArthurStrong joined #lisp 2020-04-30T17:31:44Z grabarz quit (Quit: Textual IRC Client: www.textualapp.com) 2020-04-30T17:48:50Z karlosz quit (Quit: karlosz) 2020-04-30T17:52:41Z akoana joined #lisp 2020-04-30T17:53:49Z buffergn0me joined #lisp 2020-04-30T17:53:55Z SGASAU quit (Remote host closed the connection) 2020-04-30T17:54:23Z SGASAU` joined #lisp 2020-04-30T17:55:54Z lxbarbosa joined #lisp 2020-04-30T17:56:24Z davsebam1e joined #lisp 2020-04-30T17:59:14Z davsebamse quit (Ping timeout: 260 seconds) 2020-04-30T18:15:14Z souron_the_evil quit (Ping timeout: 240 seconds) 2020-04-30T18:15:44Z MerlinTheWizard quit (Ping timeout: 256 seconds) 2020-04-30T18:18:16Z fourier joined #lisp 2020-04-30T18:23:25Z izh_ joined #lisp 2020-04-30T18:25:14Z sam68 quit (Quit: Connection closed) 2020-04-30T18:30:01Z SGASAU` quit (Remote host closed the connection) 2020-04-30T18:30:44Z SGASAU` joined #lisp 2020-04-30T18:33:59Z efm joined #lisp 2020-04-30T18:35:10Z lalilulelo joined #lisp 2020-04-30T18:37:21Z theseb: If a lisp uses environments, instead of having a single variable lookup table, does that alone immediately imply it is lexically scoped? 2020-04-30T18:38:13Z efm quit (Ping timeout: 246 seconds) 2020-04-30T18:38:15Z fourier quit (Ping timeout: 240 seconds) 2020-04-30T18:40:43Z ayuce joined #lisp 2020-04-30T18:42:37Z decent-username: Can anyone even come up with a use case, where a having side effects during expansion is actually useful? 2020-04-30T18:45:04Z cosimone quit (Quit: Quit.) 2020-04-30T18:45:36Z Bike: quicklisp prints a dot whenever an expansion occurs while it's loading something. cheap progress note. 2020-04-30T18:46:04Z LdBeth: it might be useful to communicate with other macros so further macro expends of subexps can be controlled 2020-04-30T18:46:54Z theseb: oh wait....n/m....you have environments w/ dynamic scope too 2020-04-30T18:47:04Z Bike: you can do that with symbol-macrolet and stuff 2020-04-30T18:49:22Z buffergn0me: decent-username: https://oneofus.la/have-emacs-will-hack/2008-11-09-compile-time-intra-application-uri-link-checking.html 2020-04-30T18:49:46Z buffergn0me: Side-effects during macroexpansion are extremely useful for all kinds of compile-time checks 2020-04-30T18:51:23Z Bike: this pushnew's conses but with the default eql test, so it'll push teh same list on multiple times 2020-04-30T18:54:25Z buffergn0me: Bike: You are right. I need to fix that 2020-04-30T18:54:56Z _death: can be useful in debugging 2020-04-30T18:55:16Z dddddd_ joined #lisp 2020-04-30T18:55:43Z orivej joined #lisp 2020-04-30T18:56:07Z sugarwren joined #lisp 2020-04-30T18:56:43Z MerlinTheWizard joined #lisp 2020-04-30T18:57:15Z sz0 quit (Quit: Connection closed for inactivity) 2020-04-30T18:57:28Z dddddd quit (Ping timeout: 246 seconds) 2020-04-30T18:58:55Z dddddd__ joined #lisp 2020-04-30T19:00:23Z tinga joined #lisp 2020-04-30T19:00:30Z ggole quit (Quit: Leaving) 2020-04-30T19:00:49Z dddddd_ quit (Ping timeout: 264 seconds) 2020-04-30T19:03:49Z vlatkoB quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2020-04-30T19:05:06Z tinga: Are intrusive lists something one sometimes uses in Common Lisp? A possible advantage (aside of saving an indirection / separate allocation) is that data items still have all of their methods directly, but implicitly know their parent (and/or child). 2020-04-30T19:05:26Z Bike: what's an intrusive list 2020-04-30T19:05:51Z tinga: A list whose cells are stored inside of another data structure. 2020-04-30T19:06:35Z tinga: Instead of (cons (foo 1) (cons (foo 2) nil)) you'd create the list as (foo 1 (foo 2 nil)) 2020-04-30T19:06:55Z kpoeck joined #lisp 2020-04-30T19:07:08Z Bike: oh, sure, people do that sometimes. only example i can think of is the dynamic environments in sicl, though i think beach changed that 2020-04-30T19:07:17Z tinga: (This is done very commonly in C, e.g. in the Linux Kernel.) 2020-04-30T19:08:07Z Bike: probably because if you don't have dynamic typing, a general list is more annoying to deal with 2020-04-30T19:08:49Z tinga: Or equally annoying, whereas intrusive lists are more efficient. 2020-04-30T19:09:05Z lalilulelo quit (Quit: Leaving) 2020-04-30T19:09:35Z tinga: But I'm not really coming from the efficiency angle, but from an angle where you want to know the parent of an item while handling the item, so you don't have the surrounding cons to get to the parent; 2020-04-30T19:09:58Z tinga: and if I'd pass around the cons cell instead, it's annoying to extract the actual record each time I want to access it. 2020-04-30T19:10:16Z pjb: the big difference is that an element can belong only to one intrusive list, but it can belong to several lists. 2020-04-30T19:10:25Z tinga: Yep, sure. 2020-04-30T19:12:05Z Inline quit (Ping timeout: 246 seconds) 2020-04-30T19:12:33Z phoe: https://plaster.tymoon.eu/view/1790#1790 2020-04-30T19:12:38Z phoe: does this annoy no one else 2020-04-30T19:13:15Z _death: what about "Switching to the BALLAND2006 optimizer" 2020-04-30T19:13:22Z phoe: that too 2020-04-30T19:13:44Z phoe: I've made issues on both cxml and closure-common and they didn't get any response so far 2020-04-30T19:13:52Z Bike: is it loading twice? 2020-04-30T19:13:56Z phoe: nope 2020-04-30T19:13:59Z _death: or asdf warnings giving advice to the maintainer of cl-ppcre 2020-04-30T19:14:00Z phoe: two different systems 2020-04-30T19:14:04Z phoe: that too 2020-04-30T19:14:15Z _death: that's life 2020-04-30T19:14:44Z phoe: no, that's compile-time printing to *standard-output* 2020-04-30T19:16:19Z hiroaki quit (Ping timeout: 260 seconds) 2020-04-30T19:16:45Z buffergn0me quit (Ping timeout: 240 seconds) 2020-04-30T19:20:58Z milanj quit (Quit: This computer has gone to sleep) 2020-04-30T19:23:23Z Bike: probably a good time for a compiler note, come think 2020-04-30T19:24:01Z phoe: we don't have no compiler notes in standard though 2020-04-30T19:24:05Z phoe: and no trivial-compiler-note either 2020-04-30T19:28:33Z dalz left #lisp 2020-04-30T19:29:35Z hiroaki joined #lisp 2020-04-30T19:33:55Z dddddd__ is now known as dddddd 2020-04-30T19:34:42Z fourier joined #lisp 2020-04-30T19:34:52Z phoe: .......closure-common seems to have absolutely no tests whatsoever 2020-04-30T19:34:54Z phoe: aaaaaagh 2020-04-30T19:35:12Z Grue`: I never noticed the "yes, using code points" part before and now I won't be able to unsee it, thanks 2020-04-30T19:35:19Z dale_ joined #lisp 2020-04-30T19:35:37Z dale_ is now known as dale 2020-04-30T19:37:49Z phoe: huh 2020-04-30T19:37:58Z phoe: I just learned a beautiful hack while reading closure source code 2020-04-30T19:38:05Z phoe: (defun rt-white-space-p (char) (let ((stream (make-string-input-stream (string char)))) (eq :eof (peek-char t stream nil :eof)))) 2020-04-30T19:38:47Z Bike: there should really be a way to get the syntax type of a character. 2020-04-30T19:39:12Z phoe adds it to the ideas-for-cltl4 bucket 2020-04-30T19:39:46Z Bike: it's in eclector, at least 2020-04-30T19:40:10Z ruricolist quit (Ping timeout: 246 seconds) 2020-04-30T19:40:27Z ruricolist joined #lisp 2020-04-30T19:41:01Z sugarwren quit (Ping timeout: 272 seconds) 2020-04-30T19:41:15Z ruricolist left #lisp 2020-04-30T19:44:01Z Grue`: (rt-white-space-p #\IDEOGRAPHIC_SPACE) => nil 2020-04-30T19:44:48Z phoe: haha 2020-04-30T19:45:31Z buffergn0me joined #lisp 2020-04-30T19:45:47Z Bike: and if you try (read-from-string (format nil "A~cA" #\IDEOGRAPHIC_SPACE)), you will get one symbol with a three character name 2020-04-30T19:46:41Z Bike: so the function is consistent with the implementation. implementation might not be consistent with japanese, though. 2020-04-30T19:47:24Z Grue`: given it's a html parser, i think this method might be detecting for actual whitespace in html files, in which case the implementation is wrong 2020-04-30T19:48:08Z Grue`: for unicode definition of whitespace, this test works: (cl-unicode:has-property char "WhiteSpace") 2020-04-30T19:48:34Z Kingsy quit (Ping timeout: 240 seconds) 2020-04-30T19:48:46Z phoe: should closure-common depend on cl-unicode? 2020-04-30T19:52:15Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-30T19:53:05Z _death: is this the only case where it could use cl-unicode? 2020-04-30T19:53:47Z phoe: I honestly have no idea 2020-04-30T19:54:07Z phoe: I'm munching on its rune reading/writing logic 2020-04-30T19:54:28Z _death: many times introducing a dependency is overkill.. instead you can make it easy for the user to make the connection 2020-04-30T19:55:55Z phoe: yes, to make a toggle easy if cl-unicode is present 2020-04-30T19:57:18Z _death: maybe with a protocol or a function argument or a special.. extensibility as usual 2020-04-30T19:58:18Z eta quit (Quit: Gateway shutdown) 2020-04-30T19:58:57Z MerlinTheWizard joined #lisp 2020-04-30T20:01:18Z nika quit 2020-04-30T20:01:51Z Grue`: what is even closure-common? if it depends on cl-ppcre or cl-interpol like most things do, it already depends on cl-unicode 2020-04-30T20:02:00Z eta joined #lisp 2020-04-30T20:02:16Z buffergn0me quit (Ping timeout: 244 seconds) 2020-04-30T20:04:46Z _death: oh 2020-04-30T20:06:17Z phoe: Grue`: some code for the old closure browser 2020-04-30T20:06:32Z phoe: and no, it doesn't depend on them 2020-04-30T20:07:04Z denis__ joined #lisp 2020-04-30T20:09:15Z fourier quit (Ping timeout: 240 seconds) 2020-04-30T20:09:34Z izh_ quit (Ping timeout: 246 seconds) 2020-04-30T20:15:30Z aeth quit (Quit: Reconnecting) 2020-04-30T20:15:46Z aeth joined #lisp 2020-04-30T20:16:27Z red-dot quit (Quit: Going offline, see ya! (www.adiirc.com)) 2020-04-30T20:17:16Z SGASAU` quit (Remote host closed the connection) 2020-04-30T20:17:32Z rgherdt joined #lisp 2020-04-30T20:18:06Z SGASAU` joined #lisp 2020-04-30T20:20:31Z denis__ quit (Quit: Leaving) 2020-04-30T20:26:25Z pilne joined #lisp 2020-04-30T20:28:01Z pve quit (Quit: leaving) 2020-04-30T20:34:40Z shifty joined #lisp 2020-04-30T20:37:21Z Cymew joined #lisp 2020-04-30T20:38:46Z narimiran quit (Ping timeout: 260 seconds) 2020-04-30T20:42:13Z Cymew quit (Ping timeout: 264 seconds) 2020-04-30T20:43:12Z SGASAU` quit (Remote host closed the connection) 2020-04-30T20:43:57Z SGASAU` joined #lisp 2020-04-30T20:45:29Z xkapastel quit (Quit: Connection closed for inactivity) 2020-04-30T20:47:14Z scymtym: phoe: it is also for needed for cxml and xpath if i'm not mistaken 2020-04-30T20:47:43Z phoe: scymtym: yes 2020-04-30T20:47:56Z scymtym: (and i saw your issues but didn't have time (or a good solution) for a proper response) 2020-04-30T20:48:09Z phoe: yes, I guessed something like that; no problem 2020-04-30T20:49:35Z scymtym: huh, i seem to remember fixing SIMPLE-ROD at least once 2020-04-30T20:51:16Z kpoeck quit (Ping timeout: 240 seconds) 2020-04-30T20:53:32Z Xach quit (*.net *.split) 2020-04-30T20:53:32Z voidlily quit (*.net *.split) 2020-04-30T20:53:32Z bacterio quit (*.net *.split) 2020-04-30T20:53:32Z zigpaw5 quit (*.net *.split) 2020-04-30T20:53:32Z hvxgr quit (*.net *.split) 2020-04-30T20:53:33Z zymurgy quit (*.net *.split) 2020-04-30T20:53:33Z ft quit (*.net *.split) 2020-04-30T20:53:33Z johs quit (*.net *.split) 2020-04-30T20:53:33Z lowryder quit (*.net *.split) 2020-04-30T20:53:33Z rotty quit (*.net *.split) 2020-04-30T20:53:33Z tephra quit (*.net *.split) 2020-04-30T20:53:34Z cross quit (*.net *.split) 2020-04-30T20:53:34Z ssake quit (*.net *.split) 2020-04-30T20:53:34Z dlowe quit (*.net *.split) 2020-04-30T20:53:34Z jfb4 quit (*.net *.split) 2020-04-30T20:53:34Z cyberlard quit (*.net *.split) 2020-04-30T20:53:34Z thecoffemaker quit (*.net *.split) 2020-04-30T20:53:39Z Xach joined #lisp 2020-04-30T20:53:41Z ssake joined #lisp 2020-04-30T20:53:41Z tephra joined #lisp 2020-04-30T20:53:45Z hvxgr joined #lisp 2020-04-30T20:53:47Z ft joined #lisp 2020-04-30T20:53:50Z zigpaw5 joined #lisp 2020-04-30T20:53:52Z johs joined #lisp 2020-04-30T20:53:53Z karlosz joined #lisp 2020-04-30T20:53:58Z dlowe joined #lisp 2020-04-30T20:54:00Z cross joined #lisp 2020-04-30T20:54:15Z lowryder joined #lisp 2020-04-30T20:54:16Z rotty joined #lisp 2020-04-30T20:54:34Z bacterio joined #lisp 2020-04-30T20:54:37Z voidlily joined #lisp 2020-04-30T20:54:51Z scymtym: i don't remember how i was involved, but that instance was https://github.com/sharplispers/closure-common/commit/e3c5f5f454b72b01b89115e581c3c52a7e201e5c . closure-common is two steps ahead though and defines SIMPLE-ROD two more times 2020-04-30T20:54:59Z zymurgy joined #lisp 2020-04-30T20:55:24Z jfb4 joined #lisp 2020-04-30T20:56:05Z phoe: ...huh, how, why 2020-04-30T20:56:30Z cyberlard joined #lisp 2020-04-30T20:56:37Z phoe: twice in package :runes, once in :utf8-runes 2020-04-30T20:57:19Z thecoffemaker joined #lisp 2020-04-30T20:57:45Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-30T20:58:13Z phoe: nope, not touching that today 2020-04-30T20:58:14Z phoe goes to sleep 2020-04-30T20:59:22Z jonatack quit (Ping timeout: 260 seconds) 2020-04-30T21:01:15Z TwoNotes joined #lisp 2020-04-30T21:01:28Z jonatack joined #lisp 2020-04-30T21:02:24Z z147 joined #lisp 2020-04-30T21:02:56Z TwoNotes quit (Client Quit) 2020-04-30T21:06:06Z arbv quit (Quit: ZNC - https://znc.in) 2020-04-30T21:09:45Z buffergn0me joined #lisp 2020-04-30T21:12:16Z krid quit (Ping timeout: 256 seconds) 2020-04-30T21:17:34Z jfrancis_ joined #lisp 2020-04-30T21:17:35Z jfrancis quit (Read error: Connection reset by peer) 2020-04-30T21:18:29Z arbv joined #lisp 2020-04-30T21:23:59Z westerns quit (Quit: Connection closed for inactivity) 2020-04-30T21:24:57Z SGASAU` quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-04-30T21:25:40Z SGASAU joined #lisp 2020-04-30T21:27:11Z ahungry quit (Remote host closed the connection) 2020-04-30T21:32:47Z keep_learning joined #lisp 2020-04-30T21:38:44Z krid joined #lisp 2020-04-30T21:40:19Z Jesin quit (Quit: Leaving) 2020-04-30T21:44:06Z MerlinTheWizard joined #lisp 2020-04-30T21:50:51Z Aurora_v_kosmose joined #lisp 2020-04-30T21:58:52Z ym joined #lisp 2020-04-30T22:06:13Z sjl_ quit (Ping timeout: 264 seconds) 2020-04-30T22:08:24Z theseb: newb closure question...since closures are "functions + environments"......does EVERY language with lexical scoping and regular functions have closures? 2020-04-30T22:09:13Z pjb quit (Ping timeout: 272 seconds) 2020-04-30T22:09:47Z aeth: probably not, it needs to be built into the language 2020-04-30T22:09:56Z aeth: Closures allocate. 2020-04-30T22:11:03Z lxbarbosa quit (Remote host closed the connection) 2020-04-30T22:19:08Z torbo joined #lisp 2020-04-30T22:23:45Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-30T22:26:21Z Jesin joined #lisp 2020-04-30T22:26:35Z Necktwi_ joined #lisp 2020-04-30T22:27:06Z ayuce quit (Remote host closed the connection) 2020-04-30T22:29:54Z Necktwi quit (Ping timeout: 260 seconds) 2020-04-30T22:30:56Z MerlinTheWizard joined #lisp 2020-04-30T22:33:53Z ayuce joined #lisp 2020-04-30T22:35:03Z theseb: aeth: ok thanks 2020-04-30T22:35:05Z frgo quit (Remote host closed the connection) 2020-04-30T22:35:54Z frgo joined #lisp 2020-04-30T22:39:43Z pjb joined #lisp 2020-04-30T22:41:07Z duncan_ quit (Ping timeout: 246 seconds) 2020-04-30T22:42:56Z dddddd quit (Quit: dddddd) 2020-04-30T22:48:07Z gravicappa quit (Ping timeout: 244 seconds) 2020-04-30T22:50:56Z reggie__ quit (Remote host closed the connection) 2020-04-30T22:55:02Z decent-username quit (Ping timeout: 246 seconds) 2020-04-30T23:00:07Z MerlinTheWizard quit (Ping timeout: 240 seconds) 2020-04-30T23:02:14Z Oladon joined #lisp 2020-04-30T23:03:57Z X-Scale` joined #lisp 2020-04-30T23:06:10Z X-Scale quit (Ping timeout: 256 seconds) 2020-04-30T23:06:10Z X-Scale` is now known as X-Scale 2020-04-30T23:09:05Z karlosz quit (Quit: karlosz) 2020-04-30T23:09:22Z karlosz joined #lisp 2020-04-30T23:18:27Z z147 quit (Quit: z147) 2020-04-30T23:20:21Z MerlinTheWizard joined #lisp 2020-04-30T23:23:03Z realtimdunbar joined #lisp 2020-04-30T23:23:56Z realtimdunbar quit (Client Quit) 2020-04-30T23:26:34Z random-nick quit (Ping timeout: 256 seconds) 2020-04-30T23:27:39Z Lord_of_Life_ joined #lisp 2020-04-30T23:28:27Z theseb quit (Quit: Leaving) 2020-04-30T23:29:25Z Lord_of_Life quit (Ping timeout: 246 seconds) 2020-04-30T23:30:31Z Lord_of_Life_ is now known as Lord_of_Life 2020-04-30T23:38:10Z terpri quit (Remote host closed the connection) 2020-04-30T23:38:38Z terpri joined #lisp 2020-04-30T23:43:00Z westerns joined #lisp 2020-04-30T23:44:44Z pjb quit (Ping timeout: 246 seconds) 2020-04-30T23:47:33Z lxbarbosa joined #lisp 2020-04-30T23:52:37Z souron_the_evil joined #lisp 2020-04-30T23:57:08Z MerlinTheWizard quit (Remote host closed the connection) 2020-04-30T23:57:22Z MerlinTheWizard joined #lisp 2020-04-30T23:57:31Z rgherdt quit (Ping timeout: 272 seconds)