2021-05-01T00:00:17Z nij joined #lisp 2021-05-01T00:01:12Z kevingal quit (Remote host closed the connection) 2021-05-01T00:03:03Z xsperry quit (Remote host closed the connection) 2021-05-01T00:05:07Z hjudt joined #lisp 2021-05-01T00:05:50Z jcowan: pjb: Quite so. But if there is no indirection, then you have to find and change all existing references to the string if you are extending it past the original allocation. That is equivalent to GC. 2021-05-01T00:07:18Z Oladon quit (Quit: Leaving.) 2021-05-01T00:07:25Z zaquest quit (Quit: Leaving) 2021-05-01T00:10:33Z zaquest joined #lisp 2021-05-01T00:15:43Z lotuseater quit (Quit: ERC (IRC client for Emacs 27.1)) 2021-05-01T00:20:57Z perdent: no-defun-allowed: new link to socket_interface.py: https://pastebin.com/DdTx2dWs 2021-05-01T00:24:47Z pjb: jcowan: indeed. On Macintosh OS, most heap objects were referenced via Handlers which were indirect pointers. So the Memory Manager could move them updating only the pointer, and not the handle which could be copied in other objects or variables. 2021-05-01T00:25:44Z pjb: a lisp implementation could easily use handles to refer objects, instead of direct pointers, if that helped the memory manager/garbage collector. 2021-05-01T00:26:11Z hjudt quit (Ping timeout: 240 seconds) 2021-05-01T00:26:30Z White_Flame: and indirecting through symbols to find values/functions sort of does that already 2021-05-01T00:27:03Z pjb: yep 2021-05-01T00:31:35Z hjudt joined #lisp 2021-05-01T00:33:45Z andreyorst[m]: does anybody know any clever semi-nontrivial yet somewhat short examples of condition system usage? I'm porting CL's condition system to Lua, and wanted to make sure I got everything right. Example from the Practical common Lisp book works, and a bunch from the lisp wiki too, so if anyone can link some more examples it would be helpful. Thanks! 2021-05-01T00:35:49Z nij quit (Ping timeout: 276 seconds) 2021-05-01T00:36:21Z hjudt quit (Ping timeout: 260 seconds) 2021-05-01T00:37:40Z theBlackDragon quit (Ping timeout: 252 seconds) 2021-05-01T00:42:37Z hjudt joined #lisp 2021-05-01T00:42:57Z b3rb joined #lisp 2021-05-01T00:43:08Z b3rb left #lisp 2021-05-01T00:44:13Z contrapunctus left #lisp 2021-05-01T00:44:40Z contrapunctus joined #lisp 2021-05-01T00:49:13Z spaethnl quit (Ping timeout: 252 seconds) 2021-05-01T00:49:48Z raeda_ joined #lisp 2021-05-01T00:49:53Z ebrasca quit (Ping timeout: 246 seconds) 2021-05-01T00:50:01Z andreyorst[m] quit (Ping timeout: 268 seconds) 2021-05-01T00:50:50Z contrapunctus left #lisp 2021-05-01T00:51:31Z hjudt quit (Ping timeout: 260 seconds) 2021-05-01T00:52:04Z hjudt joined #lisp 2021-05-01T00:52:18Z raeda quit (Ping timeout: 252 seconds) 2021-05-01T00:55:01Z mindCrime_ quit (Ping timeout: 260 seconds) 2021-05-01T00:59:36Z Guester8 joined #lisp 2021-05-01T01:00:20Z hjudt quit (Remote host closed the connection) 2021-05-01T01:02:56Z contrapunctus joined #lisp 2021-05-01T01:06:58Z drl quit (Quit: Leaving) 2021-05-01T01:11:15Z hiroaki quit (Ping timeout: 260 seconds) 2021-05-01T01:14:40Z contrapunctus left #lisp 2021-05-01T01:19:22Z hypercube quit (Ping timeout: 276 seconds) 2021-05-01T01:21:37Z drl joined #lisp 2021-05-01T01:33:01Z pbaille joined #lisp 2021-05-01T01:37:37Z pbaille quit (Ping timeout: 252 seconds) 2021-05-01T01:42:40Z contrapunctus joined #lisp 2021-05-01T01:48:08Z hjudt joined #lisp 2021-05-01T01:56:51Z hjudt quit (Ping timeout: 260 seconds) 2021-05-01T01:58:41Z orivej quit (Ping timeout: 240 seconds) 2021-05-01T01:59:08Z contrapunctus left #lisp 2021-05-01T01:59:15Z orivej joined #lisp 2021-05-01T02:00:43Z raeda_ quit (Ping timeout: 252 seconds) 2021-05-01T02:02:11Z raeda joined #lisp 2021-05-01T02:04:58Z contrapunctus joined #lisp 2021-05-01T02:05:48Z elderK joined #lisp 2021-05-01T02:06:43Z KingRiver joined #lisp 2021-05-01T02:12:54Z hjudt joined #lisp 2021-05-01T02:13:21Z mindCrime_ joined #lisp 2021-05-01T02:16:10Z Oladon joined #lisp 2021-05-01T02:19:06Z KingRiver quit (Read error: Connection reset by peer) 2021-05-01T02:21:57Z jeosol: Recently discovered C-c x for slime-export-symbol-at-point and it updates the (:export ...) section of the package with the symbol 2021-05-01T02:22:13Z jeosol: Definitely beats going up and down and typing the symbols yourself ... :-) 2021-05-01T02:24:22Z gaqwas quit (Ping timeout: 252 seconds) 2021-05-01T02:24:24Z CrazyPython quit (Read error: Connection reset by peer) 2021-05-01T02:24:43Z gaqwas joined #lisp 2021-05-01T02:24:43Z gaqwas quit (Changing host) 2021-05-01T02:24:43Z gaqwas joined #lisp 2021-05-01T02:26:21Z stelleonard joined #lisp 2021-05-01T02:32:11Z sauvin_ is now known as Sauvin 2021-05-01T02:33:48Z gourdhen quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2021-05-01T02:37:11Z mindCrime_ quit (Ping timeout: 240 seconds) 2021-05-01T02:41:13Z hjudt quit (Ping timeout: 252 seconds) 2021-05-01T02:48:27Z myall quit (Quit: ZNC 1.7.5 - https://znc.in) 2021-05-01T02:49:30Z KingRiver joined #lisp 2021-05-01T02:50:28Z stylewarning: Do people use CLSQL for non-PG DBs? 2021-05-01T02:50:46Z stylewarning: jeosol: wow, how convenient 2021-05-01T02:52:14Z dieggsy: jeosol: sweet 2021-05-01T02:52:22Z astronavt: great idea 2021-05-01T02:53:04Z no-defun-allowed: stylewarning: I considered it once. Does that count? :) 2021-05-01T02:54:00Z stylewarning: no-defun-allowed: it counts as 5% of one vote 2021-05-01T02:54:01Z jeosol: stylewarning: I did use it with postgresql but with comments that it's bit-rotted, I moved away. I didn't have much problems though for my simple use-case 2021-05-01T02:54:30Z elderK quit (Quit: WeeChat 3.1) 2021-05-01T02:55:13Z sauvin_ joined #lisp 2021-05-01T02:55:41Z stylewarning: Maybe I’ll consider some NoSQL option. My use-case is lightweight 2021-05-01T02:56:24Z jeosol: btw, I was hoping to have a conversion with you guys about productivity coding with Lisp. It's a beauty working with slime and all. As some of you know, I am working a large physics application for a few years. I once described it to someone during a work meeting, he said there is no way I wrote all that code in the time I said. By the way, he is 2021-05-01T02:56:25Z jeosol: not so much a software person, but seems to think it's impossible to do 2021-05-01T02:56:54Z myall joined #lisp 2021-05-01T02:56:54Z myall quit (Changing host) 2021-05-01T02:56:54Z myall joined #lisp 2021-05-01T02:56:54Z hjudt joined #lisp 2021-05-01T02:58:10Z Sauvin quit (Ping timeout: 276 seconds) 2021-05-01T02:58:54Z no-defun-allowed: "Be realistic, demand the impossible!" 2021-05-01T02:59:40Z no-defun-allowed: (Unless it is undecidable, in which case you should rethink your project.) 2021-05-01T03:01:30Z jeosol: no-defun-allowed: was that in response to my comment: 2021-05-01T03:01:39Z no-defun-allowed: Yes. 2021-05-01T03:03:49Z jeosol: I have already written the code - using CLOS mostly. Thanks to working though Sonja's book early one. 2021-05-01T03:04:53Z jeosol: In my case, I was rewriting more robust versions of graduate school codes. Started with matlab, then C++, then finally to lisp 2021-05-01T03:06:06Z beach: Good morning everyone! 2021-05-01T03:07:49Z stelleonard: I do rather like lisp for symbol processing 2021-05-01T03:08:13Z moon-child quit (Quit: ZNC 1.8.2 - https://znc.in) 2021-05-01T03:08:15Z mister_m: Is it possible to use a parameter list like (:a 1 :b 2) as keyword arguments to an invocation of make-instance? 2021-05-01T03:09:53Z chipolux quit (Quit: chipolux) 2021-05-01T03:10:00Z no-defun-allowed: (apply #'make-instance 'some-class '(:a 1 :b 2)) 2021-05-01T03:10:20Z mister_m: very nice thanks 2021-05-01T03:10:47Z rumbler31 joined #lisp 2021-05-01T03:15:51Z KingRiver quit (Read error: Connection reset by peer) 2021-05-01T03:16:57Z semz quit (Ping timeout: 250 seconds) 2021-05-01T03:19:07Z moon-child joined #lisp 2021-05-01T03:21:45Z rumbler31 quit (Remote host closed the connection) 2021-05-01T03:22:13Z CrashTestDummy3 joined #lisp 2021-05-01T03:25:41Z CrashTestDummy2 quit (Ping timeout: 260 seconds) 2021-05-01T03:30:33Z semz joined #lisp 2021-05-01T03:30:33Z semz quit (Changing host) 2021-05-01T03:30:33Z semz joined #lisp 2021-05-01T03:32:37Z xkapastel quit (Quit: Connection closed for inactivity) 2021-05-01T03:32:46Z orivej quit (Ping timeout: 240 seconds) 2021-05-01T03:32:58Z drl quit (Quit: Leaving) 2021-05-01T03:35:55Z contrapunctus left #lisp 2021-05-01T03:36:02Z contrapunctus joined #lisp 2021-05-01T03:37:03Z Bike quit (Quit: Lost terminal) 2021-05-01T03:38:24Z mister_m: hm I am trying to create a property list to use with make-instance by reading input from a file, and using, for example, (list (make-symbol "input") "value") as a property list for the &rest portion of (apply #'make-instance 'my-class ...), but the resulting initarg is invalid. My class has a slot with an :initarg of :input, but the symbol I end up with as a result of make-symbol is #:|input| and doesn't seem to be compatible. How can I 2021-05-01T03:38:24Z mister_m: get a symbol compatible with my class's :initarg value? 2021-05-01T03:39:13Z KingRiver joined #lisp 2021-05-01T03:39:41Z beach: (intern (string-upcase "initarg") (find-package "KEYWORD")) 2021-05-01T03:39:47Z beach: Something like that. 2021-05-01T03:41:34Z beach: clhs make-symbol 2021-05-01T03:41:34Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_sym.htm 2021-05-01T03:42:07Z beach: mister_m: You have two problems. First, using make-symbol creates an uninterned symbol, but what you need is a symbol in the keyword package. 2021-05-01T03:42:36Z beach: mister_m: Second, even though you would write :input, the name of the symbol is in upper-case. 2021-05-01T03:42:54Z mister_m: I see, I didn't realize I couldn't use an uninterned symbol 2021-05-01T03:42:56Z beach: mister_m: So you first have to upcase the string and then intern it in the keyword package. 2021-05-01T03:43:10Z mister_m: makes sense, thank you 2021-05-01T03:43:16Z beach: Oh, you can use an uninterned symbol, but it won't be the symbol :input. 2021-05-01T03:43:32Z hjudt quit (Ping timeout: 240 seconds) 2021-05-01T03:43:54Z hjudt joined #lisp 2021-05-01T03:44:11Z KingRiver quit (Ping timeout: 246 seconds) 2021-05-01T03:44:13Z beach: When you write :input, that means a specific symbol in the keyword package, and trying a completely different one to pass to MAKE-INSTANCE just won't work. 2021-05-01T03:44:16Z Josh_2 quit (Ping timeout: 252 seconds) 2021-05-01T03:44:35Z pjb: and you would have the difficulty of using the same uninterned symbol: you'd have to keep a reference of it at compilation time (when the initarg is defined) and at run-time when it's used. 2021-05-01T03:45:48Z pjb: (let ((k (make-symbol "input"))) #|runtime class:|# (eval `(defclass koo () ((input :initarg ,k :accessor input)))) (let ((o (make-instance 'koo k 42) )) (input o))) #| --> 42 |# 2021-05-01T03:48:00Z drl joined #lisp 2021-05-01T03:51:33Z pjb is now known as Guest47260 2021-05-01T03:52:15Z Guest47260 quit (Ping timeout: 260 seconds) 2021-05-01T03:52:22Z hjudt quit (Ping timeout: 252 seconds) 2021-05-01T03:52:24Z pjb joined #lisp 2021-05-01T03:52:50Z hjudt joined #lisp 2021-05-01T03:56:57Z slyrus joined #lisp 2021-05-01T03:57:06Z hjudt quit (Ping timeout: 252 seconds) 2021-05-01T03:59:00Z bitmapper quit (Quit: Connection closed for inactivity) 2021-05-01T04:02:25Z slyrus quit (Ping timeout: 268 seconds) 2021-05-01T04:02:53Z hjudt joined #lisp 2021-05-01T04:05:35Z marusich joined #lisp 2021-05-01T04:06:29Z akoana left #lisp 2021-05-01T04:19:41Z hjudt quit (Ping timeout: 268 seconds) 2021-05-01T04:24:00Z tophullyte quit (Remote host closed the connection) 2021-05-01T04:24:05Z phossil joined #lisp 2021-05-01T04:24:34Z phossil quit (Client Quit) 2021-05-01T04:25:29Z oxum quit (Read error: Connection reset by peer) 2021-05-01T04:26:26Z tophullyte joined #lisp 2021-05-01T04:27:52Z oxum joined #lisp 2021-05-01T04:28:21Z oxum quit (Client Quit) 2021-05-01T04:31:55Z jeosol quit (Quit: Connection closed) 2021-05-01T04:35:47Z DateMasamune2000 joined #lisp 2021-05-01T04:36:22Z DateMasamune2000 left #lisp 2021-05-01T04:39:36Z cods quit (Ping timeout: 260 seconds) 2021-05-01T04:45:36Z cods joined #lisp 2021-05-01T04:55:04Z Guester8 quit (Ping timeout: 252 seconds) 2021-05-01T04:56:33Z bilegeek joined #lisp 2021-05-01T04:56:36Z shifty joined #lisp 2021-05-01T04:56:57Z pbaille joined #lisp 2021-05-01T05:00:33Z slyrus joined #lisp 2021-05-01T05:03:46Z sm2n_ joined #lisp 2021-05-01T05:03:48Z raeda_ joined #lisp 2021-05-01T05:07:37Z White__Flame joined #lisp 2021-05-01T05:11:03Z kingcons joined #lisp 2021-05-01T05:13:09Z slyrus quit (*.net *.split) 2021-05-01T05:13:09Z raeda quit (*.net *.split) 2021-05-01T05:13:09Z edgar-rft quit (*.net *.split) 2021-05-01T05:13:09Z Eoco quit (*.net *.split) 2021-05-01T05:13:09Z sm2n quit (*.net *.split) 2021-05-01T05:13:09Z White_Flame quit (*.net *.split) 2021-05-01T05:13:09Z xi quit (*.net *.split) 2021-05-01T05:13:09Z rixard quit (*.net *.split) 2021-05-01T05:13:09Z ravndal quit (*.net *.split) 2021-05-01T05:13:09Z astronavt quit (*.net *.split) 2021-05-01T05:13:09Z stux|RC quit (*.net *.split) 2021-05-01T05:13:09Z hiredman quit (*.net *.split) 2021-05-01T05:13:09Z kingcons_ quit (*.net *.split) 2021-05-01T05:13:09Z Mandus quit (*.net *.split) 2021-05-01T05:13:09Z terrorjack quit (*.net *.split) 2021-05-01T05:13:10Z copec quit (*.net *.split) 2021-05-01T05:13:10Z zagura quit (*.net *.split) 2021-05-01T05:13:10Z interruptinuse quit (*.net *.split) 2021-05-01T05:16:01Z Guest10524 quit (Quit: Reconnecting) 2021-05-01T05:17:57Z stux|RC joined #lisp 2021-05-01T05:17:58Z hjudt joined #lisp 2021-05-01T05:22:18Z rumbler31 joined #lisp 2021-05-01T05:23:55Z edgar-rft joined #lisp 2021-05-01T05:23:55Z Eoco joined #lisp 2021-05-01T05:23:55Z xi joined #lisp 2021-05-01T05:23:55Z rixard joined #lisp 2021-05-01T05:23:55Z ravndal joined #lisp 2021-05-01T05:23:55Z astronavt joined #lisp 2021-05-01T05:23:55Z hiredman joined #lisp 2021-05-01T05:23:55Z Mandus joined #lisp 2021-05-01T05:23:55Z terrorjack joined #lisp 2021-05-01T05:23:55Z copec joined #lisp 2021-05-01T05:23:55Z zagura joined #lisp 2021-05-01T05:23:55Z interruptinuse joined #lisp 2021-05-01T05:25:29Z Guest10524 joined #lisp 2021-05-01T05:26:58Z rumbler31 quit (Ping timeout: 252 seconds) 2021-05-01T05:35:22Z shifty quit (Ping timeout: 252 seconds) 2021-05-01T05:47:13Z mindCrime_ joined #lisp 2021-05-01T06:00:56Z xsperry joined #lisp 2021-05-01T06:04:20Z pbaille quit (Ping timeout: 252 seconds) 2021-05-01T06:04:46Z hjudt quit (Ping timeout: 260 seconds) 2021-05-01T06:13:18Z tophullyte quit (Quit: Leaving) 2021-05-01T06:13:50Z andreyorst[m] joined #lisp 2021-05-01T06:14:07Z tophullyte joined #lisp 2021-05-01T06:18:52Z andreyorst[m] quit (Ping timeout: 240 seconds) 2021-05-01T06:19:59Z andreyorst[m] joined #lisp 2021-05-01T06:22:51Z imode quit (Ping timeout: 260 seconds) 2021-05-01T06:27:24Z hjudt joined #lisp 2021-05-01T06:27:49Z stelleonard quit (Quit: Leaving) 2021-05-01T06:28:42Z Sheilong quit (Quit: Connection closed for inactivity) 2021-05-01T06:34:07Z andreyorst[m] quit (Ping timeout: 268 seconds) 2021-05-01T06:34:51Z skapata quit (Remote host closed the connection) 2021-05-01T06:35:51Z andreyorst[m] joined #lisp 2021-05-01T06:37:48Z skapata joined #lisp 2021-05-01T06:42:19Z andreyorst[m] quit (Ping timeout: 252 seconds) 2021-05-01T06:53:00Z pbaille joined #lisp 2021-05-01T06:54:27Z srji quit (Quit: leaving) 2021-05-01T06:56:21Z srji joined #lisp 2021-05-01T07:04:41Z waleee-cl quit (Quit: Connection closed for inactivity) 2021-05-01T07:10:51Z andreyorst[m] joined #lisp 2021-05-01T07:17:52Z tophullyte quit (Ping timeout: 240 seconds) 2021-05-01T07:17:52Z phossil joined #lisp 2021-05-01T07:18:36Z phossil quit (Client Quit) 2021-05-01T07:22:39Z orivej joined #lisp 2021-05-01T07:30:18Z nij joined #lisp 2021-05-01T07:31:16Z andreyorst[m] quit (Ping timeout: 252 seconds) 2021-05-01T07:31:46Z andreyorst[m] joined #lisp 2021-05-01T07:32:46Z hjudt quit (Ping timeout: 240 seconds) 2021-05-01T07:32:53Z lmm014 joined #lisp 2021-05-01T07:35:11Z orivej quit (Ping timeout: 240 seconds) 2021-05-01T07:38:22Z hjudt joined #lisp 2021-05-01T07:45:48Z lmm014 quit (Remote host closed the connection) 2021-05-01T07:46:06Z lmm014 joined #lisp 2021-05-01T07:47:52Z andreyorst[m] quit (Ping timeout: 240 seconds) 2021-05-01T07:48:15Z andreyorst[m] joined #lisp 2021-05-01T07:51:55Z bilegeek quit (Quit: Leaving) 2021-05-01T07:55:49Z Oladon quit (Quit: Leaving.) 2021-05-01T07:59:15Z OgutuMbeke joined #lisp 2021-05-01T07:59:16Z andreyorst[m] quit (Read error: Connection reset by peer) 2021-05-01T07:59:38Z andreyorst[m] joined #lisp 2021-05-01T07:59:42Z OgutuMbeke left #lisp 2021-05-01T08:04:01Z Duuqnd joined #lisp 2021-05-01T08:06:16Z andreyor1 joined #lisp 2021-05-01T08:08:11Z hendursaga joined #lisp 2021-05-01T08:09:42Z andreyorst[m] quit (Ping timeout: 268 seconds) 2021-05-01T08:10:21Z hendursa1 quit (Ping timeout: 240 seconds) 2021-05-01T08:11:28Z orivej joined #lisp 2021-05-01T08:11:29Z hineios quit (Quit: Ping timeout (120 seconds)) 2021-05-01T08:11:33Z luckless quit (Ping timeout: 240 seconds) 2021-05-01T08:12:38Z heisig joined #lisp 2021-05-01T08:14:07Z hineios joined #lisp 2021-05-01T08:15:16Z aartaka quit (Read error: Connection reset by peer) 2021-05-01T08:15:35Z aartaka joined #lisp 2021-05-01T08:16:24Z lmm014 quit (Remote host closed the connection) 2021-05-01T08:17:16Z lmm014 joined #lisp 2021-05-01T08:19:14Z varjag joined #lisp 2021-05-01T08:21:05Z andreyor1 quit (Quit: WeeChat 3.0.1) 2021-05-01T08:21:13Z surabax joined #lisp 2021-05-01T08:23:25Z lmm014 quit (Ping timeout: 260 seconds) 2021-05-01T08:23:59Z dickbarends quit 2021-05-01T08:24:59Z Inline joined #lisp 2021-05-01T08:28:41Z Nilby quit (Remote host closed the connection) 2021-05-01T08:29:04Z Nilby joined #lisp 2021-05-01T08:29:46Z mindCrime_ quit (Ping timeout: 240 seconds) 2021-05-01T08:33:20Z skapata quit (Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the IRC world.) 2021-05-01T08:33:55Z hypercube joined #lisp 2021-05-01T08:37:16Z lmm014 joined #lisp 2021-05-01T08:40:32Z vaporatorius quit (Ping timeout: 240 seconds) 2021-05-01T08:41:24Z vaporatorius joined #lisp 2021-05-01T08:41:24Z vaporatorius quit (Changing host) 2021-05-01T08:41:24Z vaporatorius joined #lisp 2021-05-01T08:42:21Z rogersm joined #lisp 2021-05-01T08:42:36Z shifty joined #lisp 2021-05-01T08:42:46Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-01T08:44:20Z lmm014 joined #lisp 2021-05-01T08:44:39Z rgherdt joined #lisp 2021-05-01T08:46:55Z vaporatorius quit (Read error: No route to host) 2021-05-01T08:47:23Z vaporatorius joined #lisp 2021-05-01T08:47:24Z vaporatorius quit (Changing host) 2021-05-01T08:47:24Z vaporatorius joined #lisp 2021-05-01T08:49:10Z amb007 quit (Ping timeout: 268 seconds) 2021-05-01T08:52:07Z amb007 joined #lisp 2021-05-01T08:53:07Z h4ck3r9696 joined #lisp 2021-05-01T08:53:20Z anticrisis quit (Read error: Connection reset by peer) 2021-05-01T08:53:35Z madrik joined #lisp 2021-05-01T08:53:50Z DHARMAKAYA quit (Quit: Turning off a portion of this simulation.) 2021-05-01T08:54:12Z Duuqnd quit (Read error: Connection reset by peer) 2021-05-01T08:54:48Z karlosz quit (Quit: karlosz) 2021-05-01T08:55:57Z lmm014 quit (Ping timeout: 268 seconds) 2021-05-01T08:56:41Z h4ck3r9696: is it possible to implement common lisp like exception handling with scheme continuations? 2021-05-01T08:57:44Z phoe: h4ck3r9696: you'd need to express the CL non-local jump operators with continuations 2021-05-01T08:57:54Z phoe: along with unwind-protect 2021-05-01T08:57:58Z phoe: everything else can be built on top of that 2021-05-01T08:58:00Z beach: h4ck3r9696: Read phoe's book. All you need is a construct for non-local control transfer, and perhaps special variables. 2021-05-01T08:58:50Z phoe: and/or watch https://www.youtube.com/watch?v=V4P9lFK79hQ 2021-05-01T08:58:52Z beach: I am pretty sure first-class continuations could be used for non-local control transfer. 2021-05-01T08:59:50Z beach: h4ck3r9696: And I really like the terminology that phoe created, i.e., calling it "exceptions" only when they are dumb like in most languages, and "conditions" when they are like those in Common Lisp. 2021-05-01T09:01:34Z nature joined #lisp 2021-05-01T09:01:59Z hypercube quit (Quit: WeeChat 3.1) 2021-05-01T09:02:09Z mindCrime_ joined #lisp 2021-05-01T09:02:30Z karlosz joined #lisp 2021-05-01T09:04:46Z hjudt quit (Ping timeout: 240 seconds) 2021-05-01T09:04:48Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T09:06:27Z amb007 joined #lisp 2021-05-01T09:07:56Z orivej quit (Ping timeout: 260 seconds) 2021-05-01T09:09:42Z h4ck3r9696: okay, thanks, i'll look into it! 2021-05-01T09:10:25Z ChoHag: h4ck3r9696: Bear in mind that scheme's continuations are undelimited and drag along the whole computation. 2021-05-01T09:11:14Z Nilby: In scheme terms, you need catch, throw, and dynmaic-wind. You could use continuations if you assume infinite stack or every function is pure and tail recursive. 2021-05-01T09:11:43Z h4ck3r9696: I know, i'm making myown scheme and i wanted to make it more lisp-like 2021-05-01T09:11:45Z shifty quit (Ping timeout: 265 seconds) 2021-05-01T09:12:18Z shifty joined #lisp 2021-05-01T09:14:54Z lmm014 joined #lisp 2021-05-01T09:15:28Z aartaka_d joined #lisp 2021-05-01T09:16:41Z beach: Oh, YAY, another implementation! 2021-05-01T09:17:27Z h4ck3r9696: it's just for fun 2021-05-01T09:17:37Z beach: Sure. A toy. 2021-05-01T09:17:40Z beach: Right? 2021-05-01T09:17:52Z h4ck3r9696: like anything that isn't SBCL 2021-05-01T09:18:18Z beach: Is there something wrong with SBCL? 2021-05-01T09:18:38Z h4ck3r9696: it's the only lisp implementation that matters 2021-05-01T09:18:57Z beach: That's a bold statement. 2021-05-01T09:19:01Z aartaka quit (Ping timeout: 260 seconds) 2021-05-01T09:20:21Z Nilby: Look at srfi-12 it says 2021-05-01T09:20:30Z Nilby: "This SRFI cannot be fully implemented in R5RS because it requires special support from the system," 2021-05-01T09:21:45Z h4ck3r9696: i can tweak the interpreter, so i don't think it will be problematic to implement 2021-05-01T09:22:44Z Nilby: but it also says: "defines an exception system whose essence can be implemented with CALL-WITH-CURRENT-CONTINUATION" 2021-05-01T09:22:50Z beach: h4ck3r9696: So your implementation is based on an interpreter? 2021-05-01T09:23:02Z h4ck3r9696: yes, a toy for now 2021-05-01T09:23:13Z lmm014 quit (Remote host closed the connection) 2021-05-01T09:23:30Z h4ck3r9696: but i'm planning to create a native compiler 2021-05-01T09:23:47Z lmm014 joined #lisp 2021-05-01T09:23:59Z h4ck3r9696: Nibly: Well, that's good 2021-05-01T09:24:24Z beach: h4ck3r9696: And you are doing this in order to learn how, yes? 2021-05-01T09:24:35Z h4ck3r9696: i'm making a game 2021-05-01T09:24:46Z h4ck3r9696: and i needed a scripting language 2021-05-01T09:25:04Z h4ck3r9696: so i thought, why not make my own? 2021-05-01T09:25:27Z beach: And what language is the game written in? 2021-05-01T09:25:32Z h4ck3r9696: in C 2021-05-01T09:25:42Z beach: Why not Common Lisp? 2021-05-01T09:25:56Z beach: Then you wouldn't need a separate scripting language. 2021-05-01T09:26:05Z h4ck3r9696: because i want a small memory footprint 2021-05-01T09:26:10Z Nilby: srfi-34 basically calls catch+sepcials=guard and throw->raise 2021-05-01T09:26:44Z v0|d: beach: another day another implementation :) 2021-05-01T09:26:56Z beach: h4ck3r9696: And why is that? And how small? 2021-05-01T09:27:16Z beach: v0|d: Yes, I am always curious about people's reasons for this kind of stuff. 2021-05-01T09:27:31Z v0|d: gambit-c was pretty small. 2021-05-01T09:27:41Z h4ck3r9696: beach: the less memory used by the language, the more can be used for other things 2021-05-01T09:27:57Z h4ck3r9696: but i'm really doing it to learn programming language desing 2021-05-01T09:28:07Z h4ck3r9696: *design 2021-05-01T09:28:14Z v0|d: h4ck3r9696: try reading the compilers source. 2021-05-01T09:28:14Z lmm014 quit (Ping timeout: 246 seconds) 2021-05-01T09:28:36Z v0|d: you'll have more fun and more to learn. 2021-05-01T09:28:52Z h4ck3r9696: i don't think i'm fluent enough in common lisp to read the sbcl source code 2021-05-01T09:29:03Z v0|d: h4ck3r9696: try ecl 2021-05-01T09:29:07Z v0|d: h4ck3r9696: if you are into C. 2021-05-01T09:29:11Z beach: v0|d: And more feelings of horror. :) 2021-05-01T09:29:25Z h4ck3r9696: i'll try that 2021-05-01T09:29:32Z phoe: >the more can be used for other things 2021-05-01T09:29:38Z v0|d: beach: yep only the horror belongs to somebody else :p 2021-05-01T09:29:44Z beach: True. 2021-05-01T09:29:52Z phoe: h4ck3r9696: the less time you spend writing your own code, the more can be used for other things too 2021-05-01T09:30:09Z phoe: and debugging implementations is a major pain in the butt, especially on the low level 2021-05-01T09:30:30Z v0|d: I can't make any of students read a codebase, everybody is into writing something. 2021-05-01T09:30:46Z infra_red[m] quit (*.net *.split) 2021-05-01T09:30:46Z Shinmera quit (*.net *.split) 2021-05-01T09:30:46Z TMA quit (*.net *.split) 2021-05-01T09:30:47Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T09:30:48Z beach: I think it's fine to write an implementation of something like Scheme in order to learn about compiler design. 2021-05-01T09:30:53Z rogersm quit (Quit: Leaving...) 2021-05-01T09:30:56Z amb007 joined #lisp 2021-05-01T09:30:56Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T09:31:12Z amb007 joined #lisp 2021-05-01T09:31:33Z h4ck3r9696: but common lisp might be too slow for what i want 2021-05-01T09:31:57Z h4ck3r9696: i need fast 3D matrix multiplication 2021-05-01T09:31:58Z beach: But the other reasons were not so convincing. 2021-05-01T09:32:20Z ChoHag: h4ck3r9696: There is cffi. 2021-05-01T09:32:23Z phoe: h4ck3r9696: then get a library that does fast matrix multiplication 2021-05-01T09:32:29Z v0|d: h4ck3r9696: fortran/lapack? 2021-05-01T09:32:36Z beach: h4ck3r9696: It would be way more efficient to write a C or assembly routine for a major Common Lisp implementation, than to resort to C for the entire thing. 2021-05-01T09:32:37Z phoe: mfiano wrote one of them AFAIK, and he's writing games in CL 2021-05-01T09:32:54Z Nilby: If you want small memory footprint you could use pdp1 lisp. It used about 8k. 2021-05-01T09:32:57Z phoe: which I guess is some definition for fast enough matrix multiplication 2021-05-01T09:33:04Z beach: h4ck3r9696: That is why I said that your "learning" reason is fine, but the others are way less convincing. 2021-05-01T09:33:16Z h4ck3r9696: yep, i guess so 2021-05-01T09:33:37Z h4ck3r9696: but for the moment, i'm not good enough at common lisp to make a big project 2021-05-01T09:33:47Z h4ck3r9696: that basically the main reason 2021-05-01T09:33:51Z h4ck3r9696: *that's 2021-05-01T09:34:10Z aartaka joined #lisp 2021-05-01T09:34:16Z phoe: time to learn then! 2021-05-01T09:34:27Z beach: h4ck3r9696: I say, don't let anyone tell you what you can and can not do. But also, don't fool yourself with bogus arguments. 2021-05-01T09:35:01Z aartaka_d quit (Ping timeout: 252 seconds) 2021-05-01T09:35:22Z beach: h4ck3r9696: I mean, it takes way less time to learn Common Lisp than to implement a scheme compiler for the purpose of scripting a C application. 2021-05-01T09:35:34Z mindCrime_ quit (Ping timeout: 252 seconds) 2021-05-01T09:35:40Z h4ck3r9696: i know, but this is all for fun 2021-05-01T09:35:50Z v0|d: beach: will you be presenting at els2021? 2021-05-01T09:36:00Z beach: Fun and learning are good arguments. Not knowing Common Lisp right now is less convincing. 2021-05-01T09:36:01Z phoe: v0|d: according to the program, he will 2021-05-01T09:36:09Z v0|d: mon or tue? 2021-05-01T09:36:10Z beach: v0|d: Yes, Tuesday 14:30. 2021-05-01T09:36:10Z phoe: and according to the contents of my hard drive, he will 2021-05-01T09:36:13Z v0|d: great. 2021-05-01T09:36:26Z joga: fast matrix stuff eh... use gpu? :) 2021-05-01T09:36:45Z beach: v0|d: But it's recorded, and I can give you a link to the recording if you prefer. :) 2021-05-01T09:37:05Z v0|d: beach: no worries, i'll be there, looking forward to listen, good luck 2021-05-01T09:37:06Z infra_red[m] joined #lisp 2021-05-01T09:37:06Z Shinmera joined #lisp 2021-05-01T09:37:06Z TMA joined #lisp 2021-05-01T09:37:11Z beach: Thanks. 2021-05-01T09:39:57Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T09:40:07Z random-nick joined #lisp 2021-05-01T09:40:10Z madrik: Should I #' lambda forms or not? Different sources tell me different things. Is it only esthetics? 2021-05-01T09:40:37Z beach: Don't use #' with lambda expressions as forms. 2021-05-01T09:40:51Z aartaka_d joined #lisp 2021-05-01T09:40:52Z amb007 joined #lisp 2021-05-01T09:41:14Z aartaka quit (Ping timeout: 265 seconds) 2021-05-01T09:41:38Z madrik: I know it's just a macro that expands into a FUNCTION form. 2021-05-01T09:41:52Z beach: You may consider #'(lambda ...) as obsolete and existing only for hysterical raisins. 2021-05-01T09:42:03Z pjb: I agree, normally you should not use #' with lambda. However depends on whether #' is the standard reader macro, of if you changed the read table. 2021-05-01T09:42:15Z madrik: The only argument I've heard for #' before lambda is that it expressly indicates the function-ness of the form. 2021-05-01T09:42:20Z pjb: And (lambda …) depends on whether it's cl:lambda or a lambda in another package. 2021-05-01T09:42:47Z madrik: Why would one shadow lambda? 2021-05-01T09:42:59Z pjb: (and then, even cl:lambda may depend on whether it's the standard read-table, or a read-table that has been changed to read in another package). 2021-05-01T09:43:01Z beach: madrik: That argument is not a very strong one. 2021-05-01T09:43:19Z pjb: madrik: for example, to implement instrumentation of the code. cf. eg. cl-stepper. 2021-05-01T09:43:58Z pjb: madrik: in https://github.com/informatimago/lisp/tree/master/common-lisp/lisp 2021-05-01T09:44:08Z kevingal joined #lisp 2021-05-01T09:44:20Z madrik: pjb: Thanks 2021-05-01T09:44:30Z pjb: https://github.com/informatimago/lisp/blob/master/common-lisp/lisp/stepper.lisp#L322 2021-05-01T09:45:22Z lmm014 joined #lisp 2021-05-01T09:45:35Z madrik: beach: Yep. That's the only one I've heard in favor of. 2021-05-01T09:45:39Z pjb: another example is ibcl: http://informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/ibcl/index.html 2021-05-01T09:46:23Z pjb: IBCL could use the readtable trick so that cl:lambda for user code is not the Common Lisp LAMBDA… But instead it only tricked on in-package. 2021-05-01T09:46:59Z karlosz quit (Quit: karlosz) 2021-05-01T09:47:15Z pjb: err, defpackage actually. 2021-05-01T09:47:57Z pjb: So if you write cl:defpackage you don't get ibcl:defpackage, but if you write defpackage, you get ibcl:defpackage. 2021-05-01T09:48:31Z pjb: It's important to keep in a corner of your mind the assumption with which you're working. Sometimes they're wrong. 2021-05-01T09:48:48Z madrik: pjb: Indeed. 2021-05-01T09:49:11Z pjb: What's called the application condition for theorems in maths and physics… 2021-05-01T09:49:23Z madrik: And on the subject of assumptions, how freely does one use CHECK-TYPE? 2021-05-01T09:49:52Z shifty quit (Ping timeout: 252 seconds) 2021-05-01T09:49:56Z pjb: For example people aways forget that entropy can only increase, but only in CLOSED systems. 1- we assume the whole universe is a closed system. 2- all the system with which we work ARE NOT closed systems! 2021-05-01T09:50:19Z pjb: madrik: you can be quite liberal with check-type. 2021-05-01T09:50:38Z pjb: madrik: personnaly, I would use it on API functions. Perhaps not on internal functions. 2021-05-01T09:51:33Z pjb: madrik: the reason why I may refrain using them on internal functions is because check-type invokes the interactive debugger to resolve problems. You may want to avoid that on inner functions. But you would definitely want that for API functions and in general, functions closer to the user. 2021-05-01T09:52:08Z pjb: Ie. definitely on functions receiving data from I/O. 2021-05-01T09:52:26Z monolithic joined #lisp 2021-05-01T09:52:28Z phoe: madrik: freely, as in? 2021-05-01T09:52:47Z phoe: everywhere you need a type-checking assertion, use check-type 2021-05-01T09:53:04Z madrik: phoe: frequently, liberally, but not quite wantonly. 2021-05-01T09:54:35Z phoe: pjb: a solution for internal functions is ASSERT TYPEP with an empty list of places 2021-05-01T09:54:44Z pjb: Basically also, I would use check-type before any type declaration. 2021-05-01T09:54:51Z madrik: E.g., I learned about DEFTYPE, and thought it was possible to go overboard defining such types as positive-integer, nonnegative-real-number, etc. 2021-05-01T09:55:29Z pjb: For example (check-type i fixnum) (locally (declare (type fixnum i) (the fixnum (truncate i 2)))) 2021-05-01T09:55:42Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-01T09:56:35Z pjb: The post assertion of check-type is that the place holds an object of that type, therefore you can tell the compiler that the object is of that type. (some compilers are dumb). 2021-05-01T09:57:24Z pyc: Is there an equivalent of C's "hello\n" (newline within a string) in CL? 2021-05-01T09:57:34Z pjb: pyc: not really. 2021-05-01T09:57:42Z pjb: pyc: you just insert a newline 2021-05-01T09:57:46Z pjb: "hello 2021-05-01T09:57:46Z pjb: world" 2021-05-01T09:58:05Z madrik: Maybe a format string to the effect? 2021-05-01T09:58:14Z hjudt joined #lisp 2021-05-01T09:58:15Z madrik: But not quite 2021-05-01T09:58:15Z pjb: pyc: now, with format you can use ~& or ~%: (format nil "hello~%world") but this is not a string literal. 2021-05-01T09:58:30Z pjb: pyc: You could use #.(format nil "hello~%world") to make it a string literal… 2021-05-01T09:58:34Z pyc: pjb: Oh, I want something like (let search-string "hello\n" ...) so that I can later do (search search-string my-string). 2021-05-01T09:58:48Z no-defun-allowed: I used funny-looking type specifiers for integers to let type inference avoid bounds checks on multiplication and all. 2021-05-01T09:59:09Z pjb: pyc: but actually we have the other, with ~newline: we can have newline in literal format control strings, and use ~newline to specify how this literal newline ust be interpreted: 2021-05-01T09:59:20Z pjb: (format nil "hello~ 2021-05-01T09:59:20Z pjb: world") #| --> "helloworld" |# 2021-05-01T09:59:21Z no-defun-allowed: Stuff like (mod #.(floor most-positive-fixnum 16)) 2021-05-01T09:59:28Z pjb: (format nil "hello~: 2021-05-01T09:59:28Z pjb: world") #| --> "hello world" |# 2021-05-01T09:59:41Z pjb: (format nil "hello~@ 2021-05-01T09:59:41Z pjb: world") #| --> "hello 2021-05-01T09:59:41Z pjb: world" |# 2021-05-01T10:00:01Z pjb: (format nil "hello~ 2021-05-01T10:00:01Z pjb: world") #| --> "helloworld" |# 2021-05-01T10:00:06Z vegansbane6963 quit (Quit: The Lounge - https://thelounge.chat) 2021-05-01T10:00:12Z no-defun-allowed: Use a paste? 2021-05-01T10:00:39Z pjb: Note that with ~newline, the prefix spaces on the following lines are ignored too. This let you indent nicely long string literals. 2021-05-01T10:02:20Z pjb: pyc: Using (format nil "hello~%") or #.(format nil "hello~%") wouldn't be too surprising. (let ((search-string (format nil "hello~%"))) (search search-string text)). 2021-05-01T10:03:14Z pjb: pyc: but you may also consider using cl-ppcre (cl-ppcre:scan (format nil "hello~%") (format nil "bonjour~% how do you hello~% world!")) #| --> 20 ; 26 ; #() ; #() |# 2021-05-01T10:05:45Z pjb: pyc: sorry, I meant: (cl-ppcre:scan "hello\\n" (format nil "bonjour~% how do you hello~% world!")) #| --> 20 ; 26 ; #() ; #() |# 2021-05-01T10:06:23Z pjb: pyc: cl-ppcre regexps are perl regexps, there "\\n" is interpreted as you want. (but it's not a newline character there, just a backslash and a n that is parsed by cl-ppcre. 2021-05-01T10:06:24Z rgherdt left #lisp 2021-05-01T10:06:44Z pyc: pjb: thanks! 2021-05-01T10:06:50Z pjb: pyc: finally, if you really need it (ie. you have a lot of strings with such escapes, you can of course define your own reader macro for #\" 2021-05-01T10:08:03Z frgo quit (Remote host closed the connection) 2021-05-01T10:08:04Z pjb: pyc: for example: https://ideone.com/Lw6yy3 2021-05-01T10:08:29Z frgo joined #lisp 2021-05-01T10:13:09Z h4ck3r9696 quit (Remote host closed the connection) 2021-05-01T10:13:36Z pjb: pyc: reload it, I added a defpackage definition. 2021-05-01T10:14:35Z pjb: So: (com.informatimago.common-lisp.c-string:enable-c-string-reader-macro) (write-string "hello\n\tworld!\n") 2021-05-01T10:14:35Z pjb: hello 2021-05-01T10:14:35Z pjb: world! 2021-05-01T10:15:38Z pjb: and: (com.informatimago.common-lisp.c-string:write-c-string "hello\n\tworld!\n") #| "hello\n\tworld!\n" --> nil |# 2021-05-01T10:16:30Z pjb: Well: (com.informatimago.common-lisp.c-string:write-c-string (format nil "hello~%~Cworld!~%~C" #\tab #\bel)) #| "hello\n\tworld!\n\a" --> nil |# 2021-05-01T10:17:14Z mindCrime_ joined #lisp 2021-05-01T10:21:23Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:21:45Z amb007 joined #lisp 2021-05-01T10:23:03Z rumbler31 joined #lisp 2021-05-01T10:25:37Z mindCrime_ quit (Ping timeout: 252 seconds) 2021-05-01T10:27:26Z lmm014 joined #lisp 2021-05-01T10:27:38Z rumbler31 quit (Ping timeout: 265 seconds) 2021-05-01T10:27:57Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:28:16Z amb007 joined #lisp 2021-05-01T10:28:16Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:28:36Z amb007 joined #lisp 2021-05-01T10:32:00Z andreyorst[m] joined #lisp 2021-05-01T10:32:00Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:32:11Z amb007 joined #lisp 2021-05-01T10:32:12Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:32:13Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-01T10:32:28Z amb007 joined #lisp 2021-05-01T10:34:58Z madrik quit (Ping timeout: 252 seconds) 2021-05-01T10:37:53Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:38:10Z amb007 joined #lisp 2021-05-01T10:42:27Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:42:58Z amb007 joined #lisp 2021-05-01T10:43:02Z mfiano: Yes, don't use #'(lambda ...). There is at least one place where a lambda expression is mandated by the standard, not a function, and it's more verbose anyway. 2021-05-01T10:44:53Z sm2n_ is now known as sm2n 2021-05-01T10:44:53Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:45:36Z amb007 joined #lisp 2021-05-01T10:47:41Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:48:16Z amb007 joined #lisp 2021-05-01T10:48:16Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:48:30Z amb007 joined #lisp 2021-05-01T10:48:31Z vegansbane6963 joined #lisp 2021-05-01T10:48:42Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T10:49:30Z amb007 joined #lisp 2021-05-01T10:59:07Z vv8 joined #lisp 2021-05-01T11:01:17Z waleee-cl joined #lisp 2021-05-01T11:01:58Z jeosol joined #lisp 2021-05-01T11:13:31Z lotuseater joined #lisp 2021-05-01T11:15:59Z vv8 is now known as undecidedvisrain 2021-05-01T11:16:12Z undecidedvisrain is now known as undvrainbowvital 2021-05-01T11:16:15Z undvrainbowvital is now known as undvrainbowvita8 2021-05-01T11:17:15Z lmm014 joined #lisp 2021-05-01T11:20:06Z hjudt quit (Ping timeout: 240 seconds) 2021-05-01T11:21:32Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-01T11:38:23Z lmm014 joined #lisp 2021-05-01T11:41:13Z hjudt joined #lisp 2021-05-01T11:48:11Z shifty joined #lisp 2021-05-01T11:49:45Z tlaxkit joined #lisp 2021-05-01T11:49:45Z pbaille quit (Read error: Connection reset by peer) 2021-05-01T11:49:50Z pbaille_ joined #lisp 2021-05-01T11:55:29Z hendursaga quit (Remote host closed the connection) 2021-05-01T11:56:06Z hendursaga joined #lisp 2021-05-01T11:58:10Z pbaille joined #lisp 2021-05-01T11:59:04Z cage_ joined #lisp 2021-05-01T11:59:25Z pbaille_ quit (Read error: Connection reset by peer) 2021-05-01T11:59:40Z pbaille_ joined #lisp 2021-05-01T12:00:37Z dm1les joined #lisp 2021-05-01T12:01:05Z lmm014 quit (Remote host closed the connection) 2021-05-01T12:02:46Z pbaille quit (Ping timeout: 240 seconds) 2021-05-01T12:05:51Z supercoven joined #lisp 2021-05-01T12:14:07Z pbaille joined #lisp 2021-05-01T12:16:46Z pbaille_ quit (Ping timeout: 240 seconds) 2021-05-01T12:16:52Z pbaille_ joined #lisp 2021-05-01T12:20:05Z shifty quit (Ping timeout: 246 seconds) 2021-05-01T12:20:26Z pbaille quit (Ping timeout: 260 seconds) 2021-05-01T12:21:05Z shifty joined #lisp 2021-05-01T12:27:06Z fourier joined #lisp 2021-05-01T12:28:45Z leeren quit (Quit: leeren) 2021-05-01T12:30:07Z leeren joined #lisp 2021-05-01T12:36:47Z leeren quit (Quit: leeren) 2021-05-01T12:43:56Z jeosol quit (Quit: Connection closed) 2021-05-01T12:44:55Z rumbler31 joined #lisp 2021-05-01T12:50:48Z rumbler31 quit (Remote host closed the connection) 2021-05-01T13:00:31Z orivej joined #lisp 2021-05-01T13:01:29Z pyc: In Common Lisp, the format specifier ~a is same as ~A, right? Similarly #\space is same as #\Space, right? is there any popular coding convention about which form to choose? 2021-05-01T13:02:13Z beach: I haven't seen any such convention. 2021-05-01T13:04:05Z Xach: I prefer ~A to ~a, I find it easier to read. I also prefer #\Caps to #\lowercase 2021-05-01T13:04:28Z Xach: If you wish to be friendly to readers, always use #\space or #\Space instead of #\ . 2021-05-01T13:04:44Z pyc: Xach: thanks! 2021-05-01T13:05:01Z pyc: Xach: I use #\space currently. Any disadvantage of using #\ ? 2021-05-01T13:05:04Z no-defun-allowed: I thought Norvig and Pitman said ~A sticks out more, but it could be anyone else. 2021-05-01T13:06:06Z shifty quit (Ping timeout: 240 seconds) 2021-05-01T13:06:24Z pyc: no-defun-allowed: thanks for the Norvig and Pitman reference. Found https://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf Invaluable resource for a Lisp beginner like me! 2021-05-01T13:07:34Z leeren joined #lisp 2021-05-01T13:07:59Z Xach: pyc: #\ is hard to read. 2021-05-01T13:08:10Z pyc: Xach: agree. thanks! 2021-05-01T13:11:28Z gourdhen joined #lisp 2021-05-01T13:24:02Z amk quit (Remote host closed the connection) 2021-05-01T13:24:12Z mrchampion quit (Ping timeout: 268 seconds) 2021-05-01T13:26:49Z hiroaki joined #lisp 2021-05-01T13:27:33Z CL-ASHOK joined #lisp 2021-05-01T13:28:04Z CL-ASHOK: Which would be better: (in-package :my-package) or (in-package 'my-package) 2021-05-01T13:28:22Z beach: (in-package #:my-package) 2021-05-01T13:28:28Z CL-ASHOK: ' is a symbol and : is a keyword... 2021-05-01T13:28:33Z CL-ASHOK: why #:? 2021-05-01T13:29:01Z p_l: ' is not a symbol 2021-05-01T13:29:14Z p_l: it's a macro for (quote ...) 2021-05-01T13:29:24Z beach: Because then you clearly indicate to the reader of your code that the package of the symbol you give is not important. Only the name. 2021-05-01T13:29:24Z CL-ASHOK: sorry you are right :) 2021-05-01T13:29:29Z pyc: CL-ASHOK: ' is most definitely not a symbol. why do you say that? 2021-05-01T13:29:38Z CL-ASHOK: @pyc just stupid :D 2021-05-01T13:30:02Z CL-ASHOK: @beach what does the "#" do? 2021-05-01T13:30:26Z pyc: reader macro 2021-05-01T13:30:29Z p_l: CL-ASHOK: : is similarly defined as reader macro that will read the symbol as one with no value and PACKAGE set to "KEYWORD" - so every time you use :, you'll always get the same symbol from the same package 2021-05-01T13:30:41Z beach: clhs #: 2021-05-01T13:30:41Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhe.htm 2021-05-01T13:31:15Z p_l: CL-ASHOK: #: is actually a separate reader macro, which creates uninterned symbol, so it's not a keyword 2021-05-01T13:31:24Z CL-ASHOK: ah 2021-05-01T13:31:26Z CL-ASHOK: makes sense 2021-05-01T13:31:28Z CL-ASHOK: thanks guys 2021-05-01T13:31:49Z beach: CL-ASHOK: The @ convention is not used on IRC. Just type the nick of the person followed by : and use completion for that. 2021-05-01T13:31:50Z CL-ASHOK: so : creates keyword (which can be accessed in code), while #: implies its not going to be used anywhere else 2021-05-01T13:32:06Z CL-ASHOK: beach: Thanks :) 2021-05-01T13:32:44Z beach: CL-ASHOK: It can be used elsewhere, but it means that it has no home package, so you clearly say that the package is not important. 2021-05-01T13:32:48Z p_l: #: will create a new "symbol object" every time you use it, but it won't attach it to any package 2021-05-01T13:32:55Z surabax_ joined #lisp 2021-05-01T13:33:49Z p_l: This is useful in various situations, for example you might want to use a symbol only for it's name value one time (used to be somewhat common in package definitions) to avoid polluting the namespace with it 2021-05-01T13:34:40Z beach: I consider the "pollution" argument as being a bit weaker. The argument that it is the most specific construct is better. 2021-05-01T13:35:55Z surabax quit (Ping timeout: 252 seconds) 2021-05-01T13:36:51Z amk joined #lisp 2021-05-01T13:37:25Z pyc: anyone knows what the name of the book "Let Over Lambda" means? is it a pun? if so I am not getting it. 2021-05-01T13:37:56Z beach: "LoL" 2021-05-01T13:38:46Z beach: Also referring to the fact that LET can be seen as a special case of a compound form with a lambda expression in its CAR. 2021-05-01T13:38:54Z CL-ASHOK: pyc: I think its because they use let a lot with lambda expressions 2021-05-01T13:39:02Z beach: ... which in fact is not true, but it is widely believed to be the case. 2021-05-01T13:39:20Z lmm014 joined #lisp 2021-05-01T13:40:15Z beach: One might think that (let (( )) ... ) would be the same as ((lambda () ... ) ) would always be equivalent. 2021-05-01T13:40:41Z surabax_ quit (Ping timeout: 240 seconds) 2021-05-01T13:41:44Z amk quit (Remote host closed the connection) 2021-05-01T13:42:49Z beach: But they aren't when is a lambda-list keyword. Try translating (let ((&rest 10)) (+ x 20)) to the other form. 2021-05-01T13:42:50Z CL-ASHOK: beach: "... it means that it has no home package..." --> If I use ":" then it will intern in the keyword package? Wouldn't that mean its a good thing, since a package name is like a keyword and it would not be good to have any clashes with other keywords with the same name (which may happen if its uninterned)? 2021-05-01T13:43:37Z beach: CL-ASHOK: Uninterned symbols never clash, because a new symbol is created every time. 2021-05-01T13:43:54Z Xach: Uninterned symbols never clash! 2021-05-01T13:48:57Z amk joined #lisp 2021-05-01T13:57:42Z CL-ASHOK quit (Ping timeout: 240 seconds) 2021-05-01T13:58:02Z saganman joined #lisp 2021-05-01T13:58:02Z saganman quit (Changing host) 2021-05-01T13:58:02Z saganman joined #lisp 2021-05-01T13:59:29Z Sheilong joined #lisp 2021-05-01T14:00:40Z CrazyPython joined #lisp 2021-05-01T14:02:52Z perrier-jouet joined #lisp 2021-05-01T14:04:56Z nij: I guess what CL-ASHOK is concerned with is that a package should correspond to a keyword. 2021-05-01T14:05:19Z nij: But if you use #:.. it creates a different keyword everytime that corresponds to the same package. 2021-05-01T14:05:36Z beach: WHAT? 2021-05-01T14:05:56Z nij: s/different keyword/different symbol/ 2021-05-01T14:06:20Z beach: Right, and what is this "same package" business? 2021-05-01T14:12:05Z amb007 quit (Ping timeout: 246 seconds) 2021-05-01T14:13:21Z amb007 joined #lisp 2021-05-01T14:17:21Z gendl__: beach: nij is saying it generates a separate symbol object but with the same symbol-name, so it refers to the same package object if used with e.g. defpackage or in-package. 2021-05-01T14:18:09Z beach: Oh, I see. Thanks. 2021-05-01T14:18:33Z beach: I am notorious for having difficulties understanding what people say/write, unless it is very precise. 2021-05-01T14:18:42Z beach can't "fill in the blanks". 2021-05-01T14:18:47Z gendl__: he’s talking about using e.g. #:my-package in one place in code, then #:my-package again in another place. 2021-05-01T14:19:25Z beach: I think I understand. 2021-05-01T14:19:52Z gendl__: I never actually thought about that. So from a memory storage point of view, :my-package would be more space-efficient. 2021-05-01T14:20:05Z pbaille_ quit (Remote host closed the connection) 2021-05-01T14:20:20Z leo_song quit (Read error: Connection reset by peer) 2021-05-01T14:20:40Z pbaille joined #lisp 2021-05-01T14:21:18Z beach: At least temporarily, sure. 2021-05-01T14:21:21Z gendl__: ... because these things actually get stored in fasls and in the code section of memory, right? 2021-05-01T14:21:54Z beach: I suppose. 2021-05-01T14:22:39Z phoe: note that gensyms are GCable if used only temporarily, so even if you allocate more of them then they get cleaned by the GC 2021-05-01T14:22:53Z leo_song joined #lisp 2021-05-01T14:22:56Z gendl__: I’m guessing intuitively that the difference would normally be negligible. But maybe it would be something fun to experiment around with on a rainy Sunday afternoon. 2021-05-01T14:22:59Z tlaxkit quit (Quit: Konversation terminated!) 2021-05-01T14:23:48Z mrchampion joined #lisp 2021-05-01T14:24:19Z raeda_: pyc: I have a copy of LOL. The title refers to creating a closure: the lambda captures the let's environment 2021-05-01T14:24:22Z surabax joined #lisp 2021-05-01T14:24:46Z pbaille quit (Ping timeout: 240 seconds) 2021-05-01T14:25:16Z CL-ASHOK joined #lisp 2021-05-01T14:28:16Z CL-ASHOK: gendl__: "he’s talking about using e.g. #:my-package in one place in code, then #:my-package again in another place." --> Precisely, since I would define it within (defpackage and then re-use it later in the package itself) 2021-05-01T14:28:41Z CL-ASHOK: beach: I'm unclear on it myself, so my words would only be confusing :) 2021-05-01T14:30:26Z pbaille joined #lisp 2021-05-01T14:30:26Z beach: CL-ASHOK: The main point is that (in-package #:my-package) is very close to (in-package "MY-PACKAGE") because IN-PACKAGE takes a string designator, so if the symbol is given, its name is used which is "MY-PACKAGE". 2021-05-01T14:30:39Z CL-ASHOK: beach and Xach: Wouldn't it be a good thing for the symbols to clash (hence interning them is good), since it forces less ambiguity when writing code? Perhaps its a question of how many programmers work on a project - a single programmer perhaps should intern his package name and a large group working together perhaps should not? 2021-05-01T14:30:56Z beach: But #:my-package looks less ugly, because you would typically use lower case when you define your package. 2021-05-01T14:32:03Z beach: CL-ASHOK: Whether you use an interned or an uninterned symbol has absolutely no effect on sharing. 2021-05-01T14:32:03Z aartaka_d quit (Read error: Connection reset by peer) 2021-05-01T14:32:22Z beach: CL-ASHOK: In both cases only the SYMBOL-NAME is used, so the result is the same. 2021-05-01T14:32:42Z beach: CL-ASHOK: The point here is not about semantics, but about the message you send to the person reading your code. 2021-05-01T14:32:50Z CL-ASHOK: beach: thanks, that's a good reminder. I remember reading that, but that explains it nicely 2021-05-01T14:33:26Z jonatack quit (Ping timeout: 260 seconds) 2021-05-01T14:33:28Z beach: CL-ASHOK: If you use an interned symbol, you may give the reader of your code the impression that the package of that symbol is somehow important in this context. 2021-05-01T14:33:58Z beach: CL-ASHOK: Maybe you have a tool that reads this code some other way than the compiler, and that tool requires the symbol to be in a particular package. 2021-05-01T14:34:12Z CL-ASHOK: beach: but isn't ":my-package" in the global keyword package or I misunderstood? 2021-05-01T14:34:37Z jonatack joined #lisp 2021-05-01T14:34:50Z beach: CL-ASHOK: Yes, and you are telling your maintainer "by the way, it has to be the keyword symbol here, because the package is important". 2021-05-01T14:34:55Z beach: So you are lying to your maintainer. 2021-05-01T14:35:07Z pbaille quit (Ping timeout: 268 seconds) 2021-05-01T14:35:20Z CL-ASHOK: beach: OK, yes I just got what you meant 2021-05-01T14:35:26Z hjudt quit (Ping timeout: 240 seconds) 2021-05-01T14:35:32Z ebrasca joined #lisp 2021-05-01T14:35:34Z CL-ASHOK: now it clicks 2021-05-01T14:35:37Z beach: CL-ASHOK: But if you use #:my-package, you are telling the maintainer "Yes, this is a symbol, but since it has no package, I can't possibly take advantage of its package" 2021-05-01T14:35:55Z hjudt joined #lisp 2021-05-01T14:36:59Z CL-ASHOK: beach: sorry to be obtuse, this I don't get "since it has no package, I can't possibly take advantage of its package" --> why would someone want to take advantage of the package? 2021-05-01T14:37:11Z beach: I just told you. 2021-05-01T14:37:32Z beach: Maybe you have a tool (the editor?) that reads the code and requires it to be a particular package. 2021-05-01T14:37:57Z CL-ASHOK: Ahhh 2021-05-01T14:37:59Z CL-ASHOK: Got it 2021-05-01T14:38:09Z CL-ASHOK: Thanks! 2021-05-01T14:38:24Z beach: "In this project of mine, all the arguments to IN-PACKAGE must be keyword symbols, because I have this tool that scans my code and extracts all those symbols" 2021-05-01T14:39:26Z CL-ASHOK: copying this chat for future reference :) 2021-05-01T14:39:47Z beach: No need. The channel is logged. 2021-05-01T14:40:35Z beach: Programmers often forget that the compiler is frequently just one of many tools that might be reading the code. 2021-05-01T14:40:39Z CL-ASHOK: is there a search tool to find Q&A answered previously in #lisp (over the last many years)? 2021-05-01T14:40:54Z beach: yes, click the "search" button on the log site. 2021-05-01T14:41:08Z CL-ASHOK: Nice! 2021-05-01T14:41:24Z jonatack_ joined #lisp 2021-05-01T14:41:35Z jonatack_ quit (Client Quit) 2021-05-01T14:42:02Z beach: The tymoon.eu log, that is. 2021-05-01T14:42:36Z CL-ASHOK: Cheers 2021-05-01T14:44:34Z jonatack quit (Read error: Connection reset by peer) 2021-05-01T14:45:18Z beach: Whew! That was taxing. :) 2021-05-01T14:47:27Z ebrasca: Hi 2021-05-01T14:47:41Z beach: Hello ebrasca. 2021-05-01T14:49:12Z CL-ASHOK: beach: Lisp has too many advanced concepts in it :) 2021-05-01T14:50:44Z beach: Well, most of this discussion was about communication with the maintainer. The semantics of Common Lisp are much simpler than those of most languages. 2021-05-01T14:51:10Z pbaille joined #lisp 2021-05-01T14:51:21Z rumbler31 joined #lisp 2021-05-01T14:51:39Z CL-ASHOK: That is true 2021-05-01T14:52:56Z jonatack joined #lisp 2021-05-01T14:55:26Z pbaille quit (Ping timeout: 240 seconds) 2021-05-01T14:55:53Z rumbler31 quit (Ping timeout: 260 seconds) 2021-05-01T14:57:01Z mparlaktuna joined #lisp 2021-05-01T14:57:03Z amb007 quit (Read error: Connection reset by peer) 2021-05-01T14:57:12Z jonatack quit (Ping timeout: 240 seconds) 2021-05-01T14:57:37Z jonatack joined #lisp 2021-05-01T14:57:45Z amb007 joined #lisp 2021-05-01T15:00:16Z lmm014 quit (Remote host closed the connection) 2021-05-01T15:02:32Z aartaka joined #lisp 2021-05-01T15:05:08Z dra joined #lisp 2021-05-01T15:08:58Z lmm014 joined #lisp 2021-05-01T15:09:51Z theBlackDragon joined #lisp 2021-05-01T15:11:44Z cosimone joined #lisp 2021-05-01T15:12:33Z lmm014 quit (Remote host closed the connection) 2021-05-01T15:13:07Z lmm014 joined #lisp 2021-05-01T15:13:44Z jcowan: beach: Has anyone written either a denotational or an operational semantics for a large part of CL? 2021-05-01T15:13:59Z beach: Not that I am aware of. 2021-05-01T15:14:06Z beach: Sounds like fun, though. 2021-05-01T15:15:25Z hypercube joined #lisp 2021-05-01T15:16:31Z lmm014_ joined #lisp 2021-05-01T15:18:12Z Nilby: Wow. Imagine the formal semantics for loop and format? 2021-05-01T15:18:52Z beach: LOOP should not be too hard. It can be specified in terms of expansion. 2021-05-01T15:19:12Z jcowan: Usually you do full macroexpansion and then provide the semantics of what's left. Format is another matter: arguably a different language altogether. 2021-05-01T15:19:19Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-01T15:19:28Z beach: Yes, FORMAT is different. 2021-05-01T15:20:03Z jcowan: In addition, some things like LET are treated as primitive in CL, but obviously need not be. 2021-05-01T15:21:08Z Nilby: Judging by every implemtation, I think LOOP is pretty hard. 2021-05-01T15:21:21Z beach: Except see my argument why LET can't be easily expanded to ((lambda ...)...). 2021-05-01T15:21:48Z Nilby: and yes I've looked at the new SICL LOOP 2021-05-01T15:22:06Z beach: Nilby: It's a tricky macro, and most implementations seem to use the (not so great) MIT LOOP. 2021-05-01T15:23:10Z Nilby: It's funny, recently looked at an old MIT LOOP and it seemed much more tractable than the current one in use. 2021-05-01T15:27:41Z jcowan: beach: pointer to this argument? 2021-05-01T15:28:16Z mparlaktuna quit (Ping timeout: 276 seconds) 2021-05-01T15:33:36Z dra quit (Quit: Leaving) 2021-05-01T15:39:26Z hypercube quit (Quit: WeeChat 3.1) 2021-05-01T15:39:54Z mparlaktuna joined #lisp 2021-05-01T15:45:39Z lukego: jcowan: it's not a large part of CL but I've recently been digging into ACL2 and wow that's an amazing system that's very strongly Common Lisp flavored. 2021-05-01T15:45:49Z jcowan: yes indeed 2021-05-01T15:46:04Z jcowan: I've never tried to use it, but I admire its rigor 2021-05-01T15:46:18Z skapata joined #lisp 2021-05-01T15:46:22Z jcowan: of course the most common type of rigor is rigor mortis. :-) 2021-05-01T15:46:55Z beach: jcowan: That it MIT LOOP is not so great? 2021-05-01T15:46:56Z lukego: yeah I was surprised to find that it seems to be alive and humming along, always assumed it would be something archaic and dying 2021-05-01T15:47:08Z jcowan: The same might be said of CL! 2021-05-01T15:47:10Z beach: jcowan: It allows for clause orders that are not conforming. 2021-05-01T15:47:29Z mparlaktuna quit (Ping timeout: 250 seconds) 2021-05-01T15:47:30Z beach: jcowan: And it assigns iteration variables out of range. 2021-05-01T15:47:50Z jcowan: What's an example, then? (I have a concrete-operational mind.) 2021-05-01T15:48:14Z jcowan: (To be clear, I am talking about LET expansion) 2021-05-01T15:48:14Z beach: Give me a few minutes... 2021-05-01T15:48:20Z beach: Oh, sorry. 2021-05-01T15:48:27Z phoe: (let ((&key 42)) (+ &key 24)) 2021-05-01T15:48:31Z beach: yes. 2021-05-01T15:48:39Z phoe: so basically, LLKs used as variables 2021-05-01T15:48:50Z phoe: a very hard-to-encounter edge case, but a nasty one 2021-05-01T15:48:58Z Nilby: So is sicl-loop ready such that I can load it on other implementations and put in a for-as-X clause for my pet generic sequence? 2021-05-01T15:49:49Z beach: Nilby: Yes, I think so. Xach has been using it to check for non-conforming LOOP constructs in Quicklisp projects. 2021-05-01T15:50:24Z jcowan: I admit that is awesome. (Most Schemes that have LLKs make sure they aren't identifiers by using #!key or the like.) 2021-05-01T15:50:26Z Nilby: beach: Cool! I'll try give it a spin. 2021-05-01T15:50:36Z beach: Nilby: In fact, nothing bad happens to you if you just load it into SBCL. You will trip the package lock, but if you accept, then it just works it seems. 2021-05-01T15:53:22Z pbaille joined #lisp 2021-05-01T15:54:22Z CL-ASHOK quit (Ping timeout: 240 seconds) 2021-05-01T15:56:08Z saganman quit (Quit: Leaving) 2021-05-01T15:59:59Z mparlaktuna joined #lisp 2021-05-01T16:00:03Z rodentrabies quit (Quit: Idle for 30+ days) 2021-05-01T16:00:11Z nature quit (Ping timeout: 240 seconds) 2021-05-01T16:03:04Z gourdhen quit (Ping timeout: 265 seconds) 2021-05-01T16:03:09Z gourdhen_ joined #lisp 2021-05-01T16:04:26Z long4mud quit (Ping timeout: 246 seconds) 2021-05-01T16:05:04Z lmm014_ quit (Remote host closed the connection) 2021-05-01T16:07:55Z mparlaktuna quit (Ping timeout: 276 seconds) 2021-05-01T16:07:56Z hjudt quit (Ping timeout: 246 seconds) 2021-05-01T16:08:04Z nij: Sorry I was away ~2hrs ago to help gardening. 2021-05-01T16:08:43Z nij: Yeah sorry for my sloppiness in using the right terminology. I understand it creates misunderstanding when I do that.. I will be more careful. 2021-05-01T16:09:43Z hypercube joined #lisp 2021-05-01T16:09:51Z hypercube quit (Remote host closed the connection) 2021-05-01T16:10:10Z hypercube joined #lisp 2021-05-01T16:12:35Z hypercube quit (Client Quit) 2021-05-01T16:13:42Z hypercube joined #lisp 2021-05-01T16:14:06Z hypercube quit (Client Quit) 2021-05-01T16:14:12Z dieggsy: so i much prefer quri, but it's someone else's codebase - what's the puri equivalent of quri:make-uri ? 2021-05-01T16:14:28Z dieggsy: ...i can't seem to find one lol 2021-05-01T16:14:51Z dukester joined #lisp 2021-05-01T16:17:01Z pjb: nij: in that case, packages are named by strings. package operators use: - package designators, which are either a package (itself), or string designators designating a package name, or - string designators (to designate symbols whose names are also strings). String designators are either characters designating a 1-char string containing it, symbols (whose name designates string equal to it), or strings. 2021-05-01T16:18:51Z pjb: nij: because of this designator hierarchy, you can (defpackage #\A (:use "CL" cl :cl #:cl #.(find-package "CL") #| <-- !! |# ) (:export #\F "F" f :f #:f)) 2021-05-01T16:19:55Z mparlaktuna joined #lisp 2021-05-01T16:21:26Z andreyorst[m] quit (Remote host closed the connection) 2021-05-01T16:23:12Z jcowan: pjb: What hair. I sketched out a runtime package system for Scheme once, and my first decision was to heave all that overboard and say that the argument to a package procedure is a package object, period. 2021-05-01T16:23:46Z hjudt joined #lisp 2021-05-01T16:26:48Z pjb: jcowan: yes, but in CL, packages are used at read-time, which occurs usually at compilation-time, therefore we must be able to declare things about packages possibly before or while they are defined. 2021-05-01T16:27:10Z pjb: Also, syntactically, it's easier to use symbols. 2021-05-01T16:28:01Z jcowan: That was another decision: don't attempt to integrate the package system with R[67]RS library system, which exists only at macroexpansion time. 2021-05-01T16:28:43Z mparlaktuna quit (Ping timeout: 276 seconds) 2021-05-01T16:29:19Z jcowan: Another blocker is that there just isn't enough demand for a symbol/package system used at runtime. 2021-05-01T16:32:42Z slyrus joined #lisp 2021-05-01T16:37:10Z gourdhen_ quit (Ping timeout: 276 seconds) 2021-05-01T16:37:15Z gourdhen joined #lisp 2021-05-01T16:38:46Z saganman joined #lisp 2021-05-01T16:40:06Z hjudt quit (Ping timeout: 240 seconds) 2021-05-01T16:42:30Z White__Flame is now known as White_Flame 2021-05-01T16:43:41Z heisig quit (Quit: Leaving) 2021-05-01T16:44:32Z josrr joined #lisp 2021-05-01T16:46:08Z josrr: dieggsy: I think you should use (make-instance 'puri:uri …) 2021-05-01T16:46:43Z dieggsy: josrr: you're exactly right, and now that you've said that it seems obvious heh. thanks! 2021-05-01T16:50:39Z hjudt joined #lisp 2021-05-01T16:58:28Z Nilby: So I managed to make an sbcl un-killable, not even a zombie. Is there even any O/S that isn't crap? 2021-05-01T17:04:12Z andreyorst[m] joined #lisp 2021-05-01T17:05:03Z Nilby quit (Ping timeout: 250 seconds) 2021-05-01T17:10:37Z zigpaw1076132 joined #lisp 2021-05-01T17:10:43Z Inoperable quit (Ping timeout: 260 seconds) 2021-05-01T17:12:35Z zigpaw107613 quit (Ping timeout: 260 seconds) 2021-05-01T17:12:55Z charles` quit (Ping timeout: 276 seconds) 2021-05-01T17:13:29Z pjb: If Nilby had stayed a tad longer, I would have advised a kill -9 2021-05-01T17:13:31Z pjb: or two. 2021-05-01T17:18:54Z slyrus_ joined #lisp 2021-05-01T17:19:06Z Inoperable joined #lisp 2021-05-01T17:20:45Z klltkr joined #lisp 2021-05-01T17:22:09Z jeosol joined #lisp 2021-05-01T17:23:11Z slyrus_ quit (Ping timeout: 240 seconds) 2021-05-01T17:31:29Z nij: pjb i see, thanks :) 2021-05-01T17:37:37Z lmm014 joined #lisp 2021-05-01T17:40:07Z lmm014_ joined #lisp 2021-05-01T17:41:50Z thrashdin joined #lisp 2021-05-01T17:43:28Z thrashdin is now known as aun 2021-05-01T17:43:50Z lmm014 quit (Ping timeout: 246 seconds) 2021-05-01T17:51:42Z rumbler31 joined #lisp 2021-05-01T17:56:04Z rumbler31 quit (Ping timeout: 252 seconds) 2021-05-01T17:57:03Z luckless joined #lisp 2021-05-01T18:02:10Z dukester left #lisp 2021-05-01T18:03:03Z shifty joined #lisp 2021-05-01T18:09:26Z hjudt quit (Ping timeout: 240 seconds) 2021-05-01T18:11:21Z raeda joined #lisp 2021-05-01T18:13:07Z raeda_ quit (Ping timeout: 252 seconds) 2021-05-01T18:16:26Z hjudt joined #lisp 2021-05-01T18:17:56Z mindCrime_ joined #lisp 2021-05-01T18:19:21Z theothornhill joined #lisp 2021-05-01T18:20:48Z imode joined #lisp 2021-05-01T18:29:56Z aun quit (Quit: Connection closed) 2021-05-01T18:34:07Z cosimone quit (Remote host closed the connection) 2021-05-01T18:38:48Z hypercube joined #lisp 2021-05-01T18:39:14Z saganman quit (Quit: Leaving) 2021-05-01T18:41:40Z hypercube quit (Client Quit) 2021-05-01T18:42:11Z hypercube joined #lisp 2021-05-01T18:43:52Z oxum joined #lisp 2021-05-01T18:43:55Z nij quit (Ping timeout: 276 seconds) 2021-05-01T18:46:20Z oxum quit (Client Quit) 2021-05-01T18:47:52Z DHARMAKAYA joined #lisp 2021-05-01T18:51:30Z nature joined #lisp 2021-05-01T18:55:56Z mindCrime_ quit (Ping timeout: 260 seconds) 2021-05-01T19:00:44Z CrashTestDummy2 joined #lisp 2021-05-01T19:01:25Z cage_ quit (Quit: Leaving) 2021-05-01T19:04:06Z CrashTestDummy3 quit (Ping timeout: 260 seconds) 2021-05-01T19:05:15Z mindCrime_ joined #lisp 2021-05-01T19:06:53Z johnjay quit (Ping timeout: 240 seconds) 2021-05-01T19:07:58Z hypercube quit (Ping timeout: 276 seconds) 2021-05-01T19:10:01Z hypercube joined #lisp 2021-05-01T19:21:11Z hypercube quit (Quit: WeeChat 3.1) 2021-05-01T19:25:48Z nij joined #lisp 2021-05-01T19:30:02Z nij: Hi beach! Which parts of COMMONDOC aren't you convinced yet? And, when you mean to parse dpANS, do you want the macro to stay as they are, or you don't mind if it's parsed with all macros unwinded? 2021-05-01T19:36:01Z _jrjsmrtn joined #lisp 2021-05-01T19:37:11Z __jrjsmrtn__ quit (Ping timeout: 240 seconds) 2021-05-01T19:46:28Z lmm014_ quit (Remote host closed the connection) 2021-05-01T19:53:00Z shifty quit (Ping timeout: 252 seconds) 2021-05-01T19:53:31Z shifty joined #lisp 2021-05-01T19:55:00Z lmm014 joined #lisp 2021-05-01T19:55:25Z mindCrime_ quit (Ping timeout: 252 seconds) 2021-05-01T19:55:55Z lmm014 quit (Remote host closed the connection) 2021-05-01T19:56:28Z lmm014 joined #lisp 2021-05-01T19:57:17Z sm2n: huh, this is kind of interesting. Apparently a researcher who was trying to make a formal model for OOP ended up reinventing generic functions a la CLOS independently via theory 2021-05-01T19:58:54Z Inline: there are still some beef in OOP 2021-05-01T19:58:56Z sm2n: this was while trying to give a nicer foundation to more "traditional" class-based message-passing OOP 2021-05-01T19:59:11Z sm2n: book in question: https://www.springer.com/gp/book/9780817639051 2021-05-01T19:59:12Z Nilby joined #lisp 2021-05-01T19:59:25Z Inline: i saw some objections to some defaults or some such on some websites 2021-05-01T19:59:36Z sm2n: defaults? 2021-05-01T19:59:53Z ChoHag quit (Read error: Connection reset by peer) 2021-05-01T20:00:03Z Inline: erm, peter gabriel, dreamsongs.com, hexsoft.com etc.. 2021-05-01T20:00:38Z sm2n: while I know who these people are, I don't follow what you are trying to say 2021-05-01T20:00:46Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-01T20:00:57Z Inline: welp, there are some objections to the standard as far as i understand 2021-05-01T20:01:04Z sm2n: oh 2021-05-01T20:01:18Z sm2n: well everyone has their pet peeves, that's normal 2021-05-01T20:01:21Z Inline: with respect to standard-class and standard-object etc... 2021-05-01T20:01:29Z Inline: yah 2021-05-01T20:01:49Z Inline: not sure how much would be affected by such a thing in user-code 2021-05-01T20:02:22Z Inline: even the adaption implementation wise is not clear 2021-05-01T20:04:11Z shifty quit (Ping timeout: 260 seconds) 2021-05-01T20:04:29Z mindCrime_ joined #lisp 2021-05-01T20:04:52Z shifty joined #lisp 2021-05-01T20:05:27Z ChoHag joined #lisp 2021-05-01T20:05:58Z Nilby: pjb: it was for real stuck. no amount of -9 could kill it "D" status in ps. But I've given up unix and now I'm just gonna run Mezzano 2021-05-01T20:06:52Z Inline: erm, i get some non ok exit codes from some parts in sbcl 2021-05-01T20:07:45Z Inline: while compiling sbcl on voidlinux, it's mostly either threads-impure.lisp or so or something relating to mutexes 2021-05-01T20:08:04Z Lord_of_Life quit (Ping timeout: 252 seconds) 2021-05-01T20:08:20Z Lord_of_Life joined #lisp 2021-05-01T20:08:25Z Inline: not sure if the installed ones resolved that problem, while the git version still seems to have that problem 2021-05-01T20:08:33Z Inline: heh 2021-05-01T20:09:03Z ChoHag quit (Remote host closed the connection) 2021-05-01T20:09:53Z lmm014 joined #lisp 2021-05-01T20:10:02Z drl quit (Quit: Leaving) 2021-05-01T20:10:46Z shifty quit (Ping timeout: 240 seconds) 2021-05-01T20:11:05Z shifty joined #lisp 2021-05-01T20:11:43Z Inline: Nilby: when the exit codes are not ok maybe that's why it stalls instead of terminating cleanly 2021-05-01T20:12:41Z Inline: exit code| return code| exit status 2021-05-01T20:13:15Z Nilby: no it was wedged inside the kernel, nothing to do with exit codes 2021-05-01T20:13:47Z actuallybatman joined #lisp 2021-05-01T20:14:04Z jcowan: pjb: even kill -9 does not work with a process holding a "short-term" lock such as a file. Normally that's okay, but if the open() is taking a long time (NFS especially, but also some Fuse file systems), you are SOL. Reboot. 2021-05-01T20:14:11Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-01T20:14:55Z nij quit (Ping timeout: 276 seconds) 2021-05-01T20:17:07Z Nilby: There was no NFS, i couldn't even connect with gdb, but it's okay, since I'm going to no only use stupid unix as a bootloader for Mezzano 2021-05-01T20:26:29Z shifty quit (Ping timeout: 265 seconds) 2021-05-01T20:27:35Z ChoHag joined #lisp 2021-05-01T20:28:54Z lmm014 joined #lisp 2021-05-01T20:37:43Z lmm014 quit (Ping timeout: 268 seconds) 2021-05-01T20:44:03Z travv0 quit (Ping timeout: 246 seconds) 2021-05-01T20:44:03Z spikhoff quit (Ping timeout: 246 seconds) 2021-05-01T20:44:18Z palter quit (Ping timeout: 180 seconds) 2021-05-01T20:44:19Z p_l quit (Ping timeout: 250 seconds) 2021-05-01T20:44:27Z entel quit (Ping timeout: 260 seconds) 2021-05-01T20:44:27Z jcowan quit (Ping timeout: 260 seconds) 2021-05-01T20:44:34Z chewbranca quit (Ping timeout: 245 seconds) 2021-05-01T20:44:42Z XachX quit (Ping timeout: 180 seconds) 2021-05-01T20:44:46Z brownxoat quit (Read error: Connection reset by peer) 2021-05-01T20:44:54Z p_l joined #lisp 2021-05-01T20:44:56Z brownxoat joined #lisp 2021-05-01T20:44:59Z IIsi50MHz quit (Ping timeout: 245 seconds) 2021-05-01T20:45:23Z chewbranca joined #lisp 2021-05-01T20:45:33Z spikhoff joined #lisp 2021-05-01T20:45:47Z IIsi50MHz joined #lisp 2021-05-01T20:45:56Z entel joined #lisp 2021-05-01T20:46:03Z waleee-cl quit (Ping timeout: 250 seconds) 2021-05-01T20:46:05Z rme quit (Ping timeout: 180 seconds) 2021-05-01T20:46:29Z johnjay joined #lisp 2021-05-01T20:47:04Z travv0 joined #lisp 2021-05-01T20:47:08Z jcowan joined #lisp 2021-05-01T20:47:25Z spikhoff quit (Max SendQ exceeded) 2021-05-01T20:47:27Z waleee-cl joined #lisp 2021-05-01T20:47:59Z supercoven quit (Read error: Connection reset by peer) 2021-05-01T20:48:13Z mindCrime_ quit (Ping timeout: 260 seconds) 2021-05-01T20:49:14Z XachX quit (Ping timeout: 180 seconds) 2021-05-01T20:49:40Z waleee-cl quit (Max SendQ exceeded) 2021-05-01T20:49:57Z jladd quit (Ping timeout: 250 seconds) 2021-05-01T20:49:57Z dbotton quit (Ping timeout: 250 seconds) 2021-05-01T20:49:57Z lmm014 joined #lisp 2021-05-01T20:50:27Z entel quit (Max SendQ exceeded) 2021-05-01T20:50:35Z spikhoff joined #lisp 2021-05-01T20:50:39Z waleee-cl joined #lisp 2021-05-01T20:50:49Z drmeister quit (Ping timeout: 245 seconds) 2021-05-01T20:51:11Z dbotton joined #lisp 2021-05-01T20:51:11Z jladd joined #lisp 2021-05-01T20:51:14Z entel joined #lisp 2021-05-01T20:51:41Z jlpeters quit (Ping timeout: 250 seconds) 2021-05-01T20:52:45Z karlosz joined #lisp 2021-05-01T20:53:37Z XachX quit (Ping timeout: 180 seconds) 2021-05-01T20:53:50Z jladd quit (Max SendQ exceeded) 2021-05-01T20:54:06Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-01T20:54:12Z rvirding quit (Ping timeout: 246 seconds) 2021-05-01T20:54:13Z waleee-cl quit (Max SendQ exceeded) 2021-05-01T20:54:17Z CEnnis91 quit (Ping timeout: 250 seconds) 2021-05-01T20:54:34Z dunk quit (Ping timeout: 245 seconds) 2021-05-01T20:54:34Z pent quit (Ping timeout: 245 seconds) 2021-05-01T20:54:42Z grfn quit (Ping timeout: 258 seconds) 2021-05-01T20:54:43Z mpontillo quit (Ping timeout: 260 seconds) 2021-05-01T20:54:43Z gendl__ quit (Ping timeout: 260 seconds) 2021-05-01T20:54:43Z alanz quit (Ping timeout: 260 seconds) 2021-05-01T20:54:43Z b20n quit (Ping timeout: 260 seconds) 2021-05-01T20:54:53Z dnm quit (Ping timeout: 258 seconds) 2021-05-01T20:55:11Z dnm joined #lisp 2021-05-01T20:55:11Z parisienne quit (Ping timeout: 260 seconds) 2021-05-01T20:55:15Z drmeister joined #lisp 2021-05-01T20:55:21Z mpontillo joined #lisp 2021-05-01T20:55:23Z b20n joined #lisp 2021-05-01T20:55:23Z jlpeters joined #lisp 2021-05-01T20:55:26Z waleee-cl joined #lisp 2021-05-01T20:55:35Z Balooga quit (Ping timeout: 250 seconds) 2021-05-01T20:55:39Z billstclair quit (Ping timeout: 258 seconds) 2021-05-01T20:55:45Z CEnnis91 joined #lisp 2021-05-01T20:56:11Z grfn joined #lisp 2021-05-01T20:56:11Z spikhoff quit (Ping timeout: 240 seconds) 2021-05-01T20:56:13Z rvirding joined #lisp 2021-05-01T20:56:17Z dunk joined #lisp 2021-05-01T20:56:18Z parisienne joined #lisp 2021-05-01T20:56:24Z alanz joined #lisp 2021-05-01T20:56:27Z buoy49 quit (Ping timeout: 250 seconds) 2021-05-01T20:56:36Z pent joined #lisp 2021-05-01T20:56:44Z gendl__ joined #lisp 2021-05-01T20:57:11Z ebrasca: Can we make a better Lisp? Why let don't hendle multiple values? Like (let ((a b (function args)))... 2021-05-01T20:57:13Z jladd joined #lisp 2021-05-01T20:57:13Z spikhoff joined #lisp 2021-05-01T20:57:15Z billstclair joined #lisp 2021-05-01T20:57:28Z Balooga joined #lisp 2021-05-01T20:57:38Z no-defun-allowed: Do you really need a new standard for that? 2021-05-01T20:57:59Z buoy49 joined #lisp 2021-05-01T20:58:08Z ebrasca: I am sure there ara other things we can make better. 2021-05-01T20:58:16Z kevingal: Tear it all down!! Or just do (let ((a (function args)) (b a)) ...) 2021-05-01T20:58:19Z gigamonkey: ebrasca: knock yourself out. you can even build on Common Lisp. (defpackage better-lisp ...) and go to town. See if it catches on. 2021-05-01T20:58:24Z kevingal: Wait, that should be let*. 2021-05-01T20:59:03Z ebrasca: let* does mean something else. 2021-05-01T20:59:43Z ebrasca: (let* ((a 1) (b (1+ a)))... 2021-05-01T20:59:55Z kevingal: You mean, if (function args) returns multiple values? 2021-05-01T21:00:05Z ebrasca: Yes 2021-05-01T21:00:17Z ebrasca: you get a and b 2021-05-01T21:00:47Z kevingal: (multiple-value-bind (a b) (function args) ...) might do the trick? 2021-05-01T21:01:34Z ebrasca: But it leads you into nesting. 2021-05-01T21:02:02Z ebrasca: And you can have 1 function with both of the funtionality. 2021-05-01T21:02:53Z anticrisis joined #lisp 2021-05-01T21:02:56Z CL-ASHOK joined #lisp 2021-05-01T21:03:38Z ebrasca: What if you like (let* ((a b (funtion0 args)) (c d (function1 args)) (e (+ a b c d))) body) ? 2021-05-01T21:04:42Z theothornhill: Why not create your own multiple-value-bind* ? 2021-05-01T21:05:03Z theothornhill: If nesting is a concern, I mean 2021-05-01T21:05:34Z ebrasca: Because it complicate things. Instead of making things more easy , I am adding complexity. 2021-05-01T21:05:58Z ebrasca: Now there is let , m-v-b and my let. 2021-05-01T21:06:24Z ebrasca: Instead of 1 function making it more easy to learn. 2021-05-01T21:07:21Z theothornhill: I can agree on destructuring by itself though - would be nice to have something like the js syntax (It exists in macros, doesn't it)? 2021-05-01T21:07:26Z hjudt quit (Remote host closed the connection) 2021-05-01T21:07:27Z gigamonkey: Bad news: you'd be adding complexity either way. Because there will still be old implementations that only support old-style LET. Maybe if you can come up with a backwards compatible syntax for the new LET it could catch on. But the world isn't goin to suddenly throw away all old code and old implementations even if there's a "better" new thing. 2021-05-01T21:07:42Z theothornhill: Yeah 2021-05-01T21:08:07Z theothornhill: But lots of people add their own utility libs 2021-05-01T21:08:31Z gigamonkey: Totally. And if you get benefit from them, they may even catch on with others. 2021-05-01T21:08:42Z gigamonkey: But that's very different from changing the definition of CL:LET. 2021-05-01T21:08:47Z theothornhill: Yeah, like Steve Losh https://hg.stevelosh.com/cl-losh/ 2021-05-01T21:09:23Z kevingal: Suggested name for your new macro: 'bet'. 2021-05-01T21:09:38Z kevingal: (stands for better). 2021-05-01T21:09:41Z ebrasca: gigamonkey: I think my idea is compatible with old code , old let rune the same on the new let. 2021-05-01T21:09:47Z gigamonkey: I was recently reminded of this talk I gave a decade+ ago about Lisp standardization: https://soundcloud.com/zach-beane/peter-seibel-common-lisp I'd humbly suggest that anyone who wants to make a "new, better Lisp" might want to take a listen. 2021-05-01T21:10:58Z theothornhill: Absolutely. Speaking of the definition of things in lisp - I've been looking into renewing the dpans spec, and creating a new latex version of the whole spec, with all macros removed. Any ideas for how I'd convert that afterwards to something usable in say, commondoc? 2021-05-01T21:11:03Z hjudt joined #lisp 2021-05-01T21:11:11Z ebrasca: Normal let binds 1 to 1 (a 1) , new let allow you to multiple bind (a b (function0 args)). 2021-05-01T21:12:00Z theothornhill: I found a wild perl-script buried in archive.org from 1996 that expands tex-macros automatically, so it suddenly is feasible 2021-05-01T21:12:52Z pbaille quit (Remote host closed the connection) 2021-05-01T21:12:56Z kevingal: What's the dpans spec? 2021-05-01T21:13:03Z theothornhill: But not really sure if that gets more maintainable than creating a parser dedicated to the dpans spec... 2021-05-01T21:13:28Z pbaille joined #lisp 2021-05-01T21:13:31Z White_Flame quit (Ping timeout: 252 seconds) 2021-05-01T21:13:58Z theothornhill: If I'm not mistaken it is the draft for ANSI standardization of common lisp. It is needed to use that since the hyperspec is proprietary. So if we want to improve that, we have to start from scratch 2021-05-01T21:14:02Z ebrasca: My idea is to have CL with the same overall funtionality but with less duplication and easy to learn. 2021-05-01T21:14:03Z gigamonkey: theothornhill: beware of the extremely unclear copyright ownership dragons that lurk there. not saying don't do it but beware. 2021-05-01T21:14:52Z gigamonkey: theothornhill: I don't think there is any 'from scratch' as you don't have right to start from that draft and make derived works any more than you can start from the HyperSpec. 2021-05-01T21:14:58Z theothornhill: gigamonkey: Yeah, I've heard things... It seemed to me the spec itself though was "safe" to use, considering it isn't derived from the hyperspec 2021-05-01T21:15:19Z theothornhill: Hmm. So that draft is also licensed? 2021-05-01T21:15:22Z kevingal: Do I remember beach talking about a similar project the other day? 2021-05-01T21:15:26Z CL-ASHOK: But CL already has a reasonably large eco system around it, I think its too much effort to reinvent the wheel 2021-05-01T21:15:43Z gigamonkey: I mean, it's copywritten by whoever wrote it. It wasn't placed into the public domain, as far as I know. 2021-05-01T21:16:23Z CL-ASHOK: Wow, so the actual CL spec is not open source and freely available for all? 2021-05-01T21:16:50Z gigamonkey: No, it's an ANSI standard that you can buy from ANSI. 2021-05-01T21:17:06Z gigamonkey: Though don't because they seem to have lost the original postscript or whatever and what you get is like a bad photocopy. 2021-05-01T21:17:26Z theothornhill: gigamonkey: amazing 2021-05-01T21:17:33Z pbaille quit (Ping timeout: 240 seconds) 2021-05-01T21:17:42Z theothornhill: So that means the project is dead already. Nice. 2021-05-01T21:17:45Z gigamonkey: Seriously, you'd actually probably enjoy that talk I linked above. It's about a lot of this. 2021-05-01T21:18:07Z theothornhill: I've already bookmarked it :) 2021-05-01T21:18:12Z gigamonkey: Including some thoughts (now ten years old, of course) about how we can, nonetheless, proceed. 2021-05-01T21:18:36Z CL-ASHOK: Thanks. I wonder if it goes into the public domain eventually? It would be an interesting copyright case if derivative works would be allowed 2021-05-01T21:18:50Z theothornhill: Well everything does at some point 2021-05-01T21:18:58Z saturn2: ebrasca: you can just make your own package to use in place of COMMON-LISP 2021-05-01T21:19:19Z gigamonkey: Well, everything older than Mickey Mouse likely does at some point. 2021-05-01T21:19:25Z White_Flame joined #lisp 2021-05-01T21:19:46Z theothornhill: Hehe 2021-05-01T21:20:45Z CL-ASHOK: Its a very interesting topic, but I guess I'm going too much off topic now 2021-05-01T21:20:55Z theothornhill: Well, one thing I discovered while wasting time on this was that there are two prominent lispers that uses sjl as initials 2021-05-01T21:21:03Z ebrasca: saturn2: Thanks, I think I first like to make other things! ( I only have 1 or 2 things that I thing can be better ) 2021-05-01T21:22:16Z gigamonkey: dude, get back to us when you have at least 100. (I kept a list when I was writing PCL and it was probably way longer than that.) 2021-05-01T21:23:13Z theothornhill: gigamonkey: you could make a parser for the dpans spec that generates a new HyperSpec for PCL2. (I saw you requested ideas for binary formats O:-) ) 2021-05-01T21:24:06Z gigamonkey: 359 items. ;-) 2021-05-01T21:25:15Z andreyorst[m] quit (Remote host closed the connection) 2021-05-01T21:25:53Z gourdhen quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2021-05-01T21:26:39Z kevingal quit (Remote host closed the connection) 2021-05-01T21:27:04Z jcowan: gigamonkey: is there a transcript for that talk anywhere? 2021-05-01T21:27:44Z ebrasca: Why we don't make a new CL? Can a new CL bring new people in? 2021-05-01T21:27:55Z pbaille joined #lisp 2021-05-01T21:28:02Z CL-ASHOK quit (Ping timeout: 240 seconds) 2021-05-01T21:28:25Z ebrasca: I am sure it is not hard to make a compatibility layer for old CL. 2021-05-01T21:28:48Z theothornhill: ebrasca: There have been a lot of efforts to that end already 2021-05-01T21:28:51Z jcowan: That's been being tried for 25 years with no success 2021-05-01T21:29:47Z theothornhill: Some of the "simpler" attempts: https://github.com/vseloved/rutils https://github.com/cl21/cl21 2021-05-01T21:33:13Z pbaille quit (Ping timeout: 268 seconds) 2021-05-01T21:33:19Z White_Flame quit (Ping timeout: 252 seconds) 2021-05-01T21:33:26Z Volt_ joined #lisp 2021-05-01T21:35:37Z White_Flame joined #lisp 2021-05-01T21:35:59Z lotuseater: what's the critical point about it? 2021-05-01T21:37:53Z pjb: People like straightjackets. 2021-05-01T21:38:28Z lotuseater: ah ok ^^ 2021-05-01T21:41:36Z gigamonkey: jcowan: not that I'm aware of. 2021-05-01T21:42:49Z White_Flame quit (Ping timeout: 260 seconds) 2021-05-01T21:44:11Z nij joined #lisp 2021-05-01T21:46:31Z pbaille joined #lisp 2021-05-01T21:46:42Z nij: Here's a copy of dpANS https://github.com/xach/dpans 2021-05-01T21:47:07Z nij: Here's a paused attempt to parse dpANS: https://github.com/robert-strandh/dpANS-parser 2021-05-01T21:47:26Z gaqwas quit (Ping timeout: 260 seconds) 2021-05-01T21:48:19Z nij: Here's beach guessing CommonDoc could be a great start: https://irclog.tymoon.eu/freenode/%23lisp?around=1619602936#1619602936 2021-05-01T21:49:24Z nij: theotho..? gigamonkey beach ^^^ 2021-05-01T21:49:43Z ebrasca: I don't like cl21, why Regular Expression. How Running external programs is going to help OS writen in CL21? 2021-05-01T21:50:18Z hypercube joined #lisp 2021-05-01T21:50:28Z nij: 2021-05-01T21:50:28Z nij: ebrasca: I don't understand.. 2021-05-01T21:51:15Z ebrasca: Why CL need to run other not CL programs? 2021-05-01T21:51:54Z theothornhill: nij: nice! I found this script buried deep in the nineties - perhaps it could be of use? I've experimented a little with recreating the whole spec as one file with all macros expanded, and it can be done with that script https://hg.sr.ht/~theo/clms/browse/tme.pl?rev=tip 2021-05-01T21:53:31Z theothornhill: nij: With tme.pl and texexpander the whole spec can easily be turned into a single document 2021-05-01T21:54:13Z xkapastel joined #lisp 2021-05-01T21:54:56Z nij: theothornhill: Have you tried to turn that into the format of CommonDoc?! 2021-05-01T21:55:06Z nij: I'm also hoping that CLHS can be freed. 2021-05-01T21:55:52Z nij: But if gigamonkey is right, we should beware of the copyright issue of dpANS... there's a copy but I dont know. I'm a #lisp noob and a legal noob as well. 2021-05-01T21:55:55Z theothornhill: Not yet into commondoc. Only a single latex document. Was able to parse it to html using pandoc, so should be doable 2021-05-01T21:56:27Z theothornhill: nij: Yeah - I was encouraged couple of days ago, but now I'm sad 2021-05-01T21:56:37Z nij: Why sad? Cuz of the legal issue? 2021-05-01T21:56:40Z White_Flame joined #lisp 2021-05-01T21:57:22Z theothornhill: Yeah. Felt like we were onto something, but now it seems a little futile. I guess it is impossible to legally copy the dpans 2021-05-01T21:57:30Z nij: We need a safe way to find out. But how? Isn't there a license with dpANS? 2021-05-01T21:58:12Z theothornhill: I didn't see one. That just means its licensed to all the authors, if I'm not mistaken. Which makes it hard, since I guess not all are easy to get hold of 2021-05-01T21:58:33Z nij: Now there's at least a copy posted online by a non-author: https://github.com/xach/dpans 2021-05-01T21:58:59Z theothornhill: Yeah there are many 2021-05-01T21:59:03Z nij: So where and how did xach get a copy? 2021-05-01T21:59:37Z theothornhill: no idea 2021-05-01T21:59:51Z nij: Maybe we can email Pitman and ask him too? 2021-05-01T22:00:03Z lotuseater: how many people were involved in the final formulation of the ANSI standard? 2021-05-01T22:01:10Z nij` joined #lisp 2021-05-01T22:01:32Z nij`: Dunno. 2021-05-01T22:01:42Z theothornhill: https://github.com/xach/dpans/blob/master/Change-Log.text 2021-05-01T22:01:49Z theothornhill: lotuseater: 2021-05-01T22:01:57Z nij`: As Pitman made CLHS, he must have known the legal issue.. 2021-05-01T22:02:19Z theothornhill: lotuseater: Didn't count, but there are quite a few 2021-05-01T22:02:19Z mfiano: There was plans to place dPANS3 into the public domain, but it was never finished 2021-05-01T22:02:36Z lotuseater: ah cool 2021-05-01T22:02:41Z mfiano: Therefor it is copyrighted by all those involved 2021-05-01T22:03:06Z nij`: mfiano: how does dpANS3 differ from the one we posted? (in xach's github) 2021-05-01T22:03:17Z mfiano: They are the same 2021-05-01T22:04:43Z varjag quit (Remote host closed the connection) 2021-05-01T22:04:55Z nij quit (Ping timeout: 250 seconds) 2021-05-01T22:04:57Z nij`: But.. it is placed in the public domain.. no? In xach's repo. 2021-05-01T22:05:06Z nij`: s/in the/in a/ 2021-05-01T22:05:17Z Volt_ quit (Ping timeout: 268 seconds) 2021-05-01T22:06:00Z mfiano: Some people believe it is because of its intention to be, but with no formal notice, it cannot be. 2021-05-01T22:06:40Z White_Flame: best way to find out the legal status of something is to copy it and wait for a takedown notice 2021-05-01T22:06:45Z nij` feels like he should get a local copy asap.. 2021-05-01T22:07:06Z nij`: White_Flame: Can they sue legally right away? 2021-05-01T22:07:34Z White_Flame: the thing is, it costs money to do that. _would_ somebody bother sinking money into a real lawsuit for something like the CL spec? 2021-05-01T22:07:45Z White_Flame: at best, you'd get a notice 2021-05-01T22:07:47Z theothornhill: I'm guessing no 2021-05-01T22:07:56Z Volt_ joined #lisp 2021-05-01T22:08:28Z mfiano: I would guess that depends on the claimed losses 2021-05-01T22:08:31Z nij`: Or maybe someone should put a copy on some site like b-ok.org 2021-05-01T22:08:52Z nij`: I dunno if that's legal. But even if it is.. it should be hard to catch (?) 2021-05-01T22:08:54Z lotuseater: oh i like that site 2021-05-01T22:09:09Z nij`: lotuseater: gotcha! you should be put to jail :D 2021-05-01T22:09:17Z White_Flame: and xach has already copied the stuff in question 2021-05-01T22:09:26Z White_Flame: in a much more publicly findable way 2021-05-01T22:10:00Z nij`: theothornhill: with the parsed version you have, do you think it's easy to create hyperlinks? 2021-05-01T22:10:00Z karlosz quit (Quit: karlosz) 2021-05-01T22:10:00Z lotuseater: no why that nij`? ^^ 2021-05-01T22:10:24Z nij`: Oh haha nvm lotuseater we all know you just love it but never use it :) 2021-05-01T22:10:36Z nij`: Here's another one I love but never used :| http://libgen.rs/ 2021-05-01T22:10:39Z lotuseater: ehm .. 2021-05-01T22:10:53Z nij`: It's a sin! No one should use it. 2021-05-01T22:10:54Z lotuseater: I like open knowledge 2021-05-01T22:11:00Z nij`: Hehehe 2021-05-01T22:11:38Z lotuseater: even worse is if a company thinks it can "own" mathematics 2021-05-01T22:11:42Z nij`: theothornhill: like.. how far do you think you can turn it into a CommonDoc version, with a great Master Index :D? 2021-05-01T22:12:14Z theothornhill: nij`: That's where I'm a little unclear as to what's the best way to link. Now the expander just expands all the way to be tex primitives, and it might be better to attach links to something a little less generic. Not sure 2021-05-01T22:12:47Z theothornhill: I think we can go pretty far. My first instinct was to go to markdown or something similar 2021-05-01T22:13:15Z nij`: Some how related - what a crazy world - https://news.ycombinator.com/item?id=27004577 2021-05-01T22:13:32Z lotuseater: hm or as an org file? :D 2021-05-01T22:13:33Z theothornhill: I'm working now on some ways to do it reproducible. Right now there are some manual steps to get things right 2021-05-01T22:13:34Z aartaka quit (Read error: Connection reset by peer) 2021-05-01T22:13:50Z theothornhill: lotuseater: yeah, could be 2021-05-01T22:13:52Z nij`: theothornhill - I think there are some special macros used that are intended to create links? 2021-05-01T22:14:00Z nij`: Or did Pitman add the links by himself in CLHS? 2021-05-01T22:14:17Z lotuseater: hm ok, pandoc helps if another format is needed 2021-05-01T22:14:34Z nij`: I'd say if we can parse it in CommonDoc then it'd be awesome.. something that has a programmatic structures. 2021-05-01T22:14:38Z theothornhill: Not sure. If so, I think I need to rewrite the perlscript to account for those cases, and yuck 2021-05-01T22:14:52Z Nilby quit (Remote host closed the connection) 2021-05-01T22:14:54Z aartaka joined #lisp 2021-05-01T22:14:57Z theothornhill: nij`: Yeah I agree 2021-05-01T22:15:08Z nij`: Then it will be truly freed. Weeeeee 2021-05-01T22:15:36Z theothornhill: Yeah! If legal :P 2021-05-01T22:15:37Z nij`: theothornhill: :( I guess you just have to alter a few cases. 2021-05-01T22:16:07Z nij`: We can see how xach views this? xach had a copy on github so that's a progress. 2021-05-01T22:16:12Z nij`: Maybe it's just some work undone. 2021-05-01T22:16:24Z jcowan: gigamonkey: I wish you could get the derivative rights to PCL back, so that other P-books could be written. 2021-05-01T22:16:40Z theothornhill: nij`: maybe. It's a pretty gnarly script. Doable, of course, but I'd rather do it in lisp than perl 2021-05-01T22:18:58Z lotuseater: with the power of FORMAT? :) 2021-05-01T22:19:51Z theothornhill: I love format 2021-05-01T22:20:01Z nij`: I now worry that if all macros are expanded.. then some sementic meaning goes away. 2021-05-01T22:20:46Z pbaille quit (Ping timeout: 240 seconds) 2021-05-01T22:20:52Z theothornhill: nij`: Yea, it does. That's what I'm looking into right now 2021-05-01T22:21:32Z lotuseater: or replacing complex TeX macros with lisp 2021-05-01T22:21:51Z White_Flame quit (Ping timeout: 260 seconds) 2021-05-01T22:22:00Z lotuseater: ok, no correlation, sry 2021-05-01T22:22:58Z White_Flame joined #lisp 2021-05-01T22:24:13Z nij`: We need help from phoe and beach :-) They have thought about this before iirc. 2021-05-01T22:24:26Z jonatack quit (Quit: jonatack) 2021-05-01T22:24:46Z jonatack joined #lisp 2021-05-01T22:25:59Z jeosol quit (Quit: Connection closed) 2021-05-01T22:26:58Z dieggsy: jcowan: what happened with the PCL rights ? 2021-05-01T22:28:11Z josrr quit (Quit: rcirc on GNU Emacs 27.2) 2021-05-01T22:29:26Z fourier quit (Ping timeout: 246 seconds) 2021-05-01T22:30:54Z theothornhill: nij`: I think getting some input from phoe on whats needed from the macro expander to fit in nicely with CLUS. I think I remember him speaking about the macros being hard to deal with since they are all over the place 2021-05-01T22:31:25Z jcowan: Apress has them 2021-05-01T22:31:48Z aartaka quit (Ping timeout: 268 seconds) 2021-05-01T22:33:04Z andreyorst[m] joined #lisp 2021-05-01T22:33:11Z varjag joined #lisp 2021-05-01T22:33:24Z pbaille joined #lisp 2021-05-01T22:36:57Z gigamonkey: jcowan: what do you mean by "other P-books"? 2021-05-01T22:37:27Z gigamonkey: I mean, I still own the copyright to PCL but have licensed most publication rights to Apress. 2021-05-01T22:37:27Z jcowan: Practical Scheme, Practical Interlisp, Practical Java, .... 2021-05-01T22:37:32Z varjag quit (Ping timeout: 240 seconds) 2021-05-01T22:37:41Z gigamonkey: I mean, it's not like you'd start from the text of PCL to write any of those. 2021-05-01T22:37:52Z jcowan: the first two would obviously be nnn-commercial 2021-05-01T22:37:57Z gigamonkey: There was a Practical Python that came out before PCL. 2021-05-01T22:38:00Z pbaille quit (Ping timeout: 252 seconds) 2021-05-01T22:38:21Z gigamonkey: And a Practical O'Caml that came out after and got thoroughly, and publicly, roasted by the tech reviewer. 2021-05-01T22:38:25Z jcowan: I think I would for Lisps. 2021-05-01T22:39:02Z dieggsy: gigamonkey: do you have a link to this roasting 2021-05-01T22:39:18Z gigamonkey: In theory if Apress ever lets PCL go "out of print" all the rights revert back to me but I'm not sure what that means in a world of Print On Demand books. 2021-05-01T22:39:44Z jcowan: It talks about the right things in the right order, and we now have enough Scheme de facto standardized to make it usable, perhaps with some chapters missing 2021-05-01T22:41:20Z gigamonkey: dieggsy: I think the thing linked in this Redddit post was it but that link is dead. https://www.reddit.com/r/programming/comments/q7kh/practical_ocaml_good_idea_bad_book_by_its_tech/ 2021-05-01T22:41:45Z jcowan: Your contract with Apress should define "out of print" 2021-05-01T22:42:10Z gigamonkey: Yeah, well, it was written before P.O.D. was a big thing. I don't think it really does. 2021-05-01T22:42:38Z gigamonkey: like in the days when they actually paid, in advance to print copies that sat in inventory somewhere, it was out of print when they stopped printing new copies. 2021-05-01T22:42:46Z jcowan: https://web.archive.org/web/20120608181620/http://blog.merjis.com/2006/11/08/practical-ocaml/ 2021-05-01T22:43:16Z dieggsy: heh, i just went there too 2021-05-01T22:43:40Z gigamonkey: oh, duh. of course. 2021-05-01T22:44:45Z jcowan: I have a Chrome plugin that redirects 404s to the IA. 2021-05-01T22:45:25Z dieggsy: jcowan: oh that sounds great.. wonder if there's a firefox one. 2021-05-01T22:45:27Z dieggsy: what's it called ? 2021-05-01T22:46:31Z jcowan: "Wayback Machine" 2021-05-01T22:46:33Z jcowan: https://chrome.google.com/webstore/detail/wayback-machine/fpnmgdkabkmnadcjpehmlllkndpkmiak?hl=en-US 2021-05-01T22:47:07Z jcowan: the FF one is https://addons.mozilla.org/en-US/firefox/addon/wayback-machine_new/ 2021-05-01T22:47:38Z jcowan: sometimes it tries to redirect you if a POST is running very slowly, I think 2021-05-01T22:47:41Z amb007 quit (Remote host closed the connection) 2021-05-01T22:48:29Z aartaka joined #lisp 2021-05-01T22:48:33Z jcowan: it's reasonable to redirect a GET timeout 2021-05-01T22:49:14Z jcowan: gigamonkey: If you feel like doing a favor for the non-CL Lisp communities, you can certainly ask for the rights back even if you are not legally entitled to them. 2021-05-01T22:49:26Z pbaille joined #lisp 2021-05-01T22:49:33Z dieggsy: huh, it might not be working for me because my stupid internet provider tries to handle not found on its own 2021-05-01T22:49:41Z dieggsy: it serves some "verizon - not found" page instead. that's annoying 2021-05-01T22:53:05Z surabax quit (Quit: Leaving) 2021-05-01T22:54:27Z pbaille quit (Ping timeout: 240 seconds) 2021-05-01T22:55:27Z shifty joined #lisp 2021-05-01T22:57:10Z nij` quit (Quit: ERC (IRC client for Emacs 27.1)) 2021-05-01T22:57:21Z amb007 joined #lisp 2021-05-01T22:59:08Z gigamonkey: jcowan: Apress loves putting out derivitive works. I'm sure if someone wants to write a Practical Scheme they could talk to Apress about it. And if they really want to start from PCL I guess they'd have to do a deal with me. But I doubt Apress is just going to let go of the rights. 2021-05-01T23:00:20Z jcowan: The PO'C comments say that APress turned down a later proposal for Practical C 2021-05-01T23:00:52Z shifty quit (Ping timeout: 240 seconds) 2021-05-01T23:02:15Z gigamonkey: Oh, found my contract "The Work shall be deemed out-of-print if it is not available for sale in reasonable quantities in normal trade channels". 2021-05-01T23:02:33Z gigamonkey: So as long as the P.O.D. folks keep doing their thing, it will never go "out of print". 2021-05-01T23:05:27Z akoana joined #lisp 2021-05-01T23:07:55Z hjudt quit (Ping timeout: 265 seconds) 2021-05-01T23:16:06Z theothornhill quit (Ping timeout: 260 seconds) 2021-05-01T23:17:40Z edgar-rft: as long as the "demand" folks will not fail doing their job :-) 2021-05-01T23:18:16Z saturn2: gigamonkey: very interesting talk, thank you 2021-05-01T23:23:57Z hjudt joined #lisp 2021-05-01T23:32:40Z random-nick quit (Ping timeout: 252 seconds) 2021-05-01T23:34:19Z Inline quit (Ping timeout: 260 seconds) 2021-05-01T23:39:20Z jcowan: I read the other essays at your site, and I'm extremely impressed with all of them. 2021-05-01T23:40:12Z jcowan: I also looked a little bit into the old blog and the "forgotten ~U". Scheme's format is based on combinators rather than a stringly DSL, and it supports both 2^10 and 10^3 prefix scaling. 2021-05-01T23:43:23Z gigamonkey: jcowan: thanks! 2021-05-01T23:43:59Z andreyorst[m] quit (Remote host closed the connection) 2021-05-01T23:44:30Z jeosol joined #lisp 2021-05-01T23:44:39Z slyrus_ joined #lisp 2021-05-01T23:47:06Z _paul0 quit (Quit: Leaving) 2021-05-01T23:47:19Z paul0 joined #lisp 2021-05-01T23:49:21Z slyrus_ quit (Ping timeout: 260 seconds) 2021-05-01T23:55:28Z gigamonkey: jcowan: link to Scheme's format that you're talking about? All the docs I can find seem to be for something lifted from CL. 2021-05-01T23:56:21Z jcowan: https://srfi.schemers.org/srfi-166/srfi-166.html 2021-05-01T23:57:34Z jcowan: see the "Implementation" section for links to three implementations. 2021-05-01T23:57:55Z jcowan: Bug me or #scheme if you are readimng the code and find anything obscure. 2021-05-01T23:58:07Z gigamonkey: Yeah, I get the urge. On the other hand I actually think sometimes it's better to have the format be just a bunch of maximally concise line noise. 2021-05-01T23:59:02Z jcowan: Until six months from now. 2021-05-01T23:59:22Z jcowan: Granted, you can ram all that into your head, but once you reach the limit of what cl:format does, that's it. 2021-05-01T23:59:44Z jcowan: join #posix 2021-05-01T23:59:53Z jcowan: oops 2021-05-02T00:00:10Z gigamonkey: E_BAD_JOIN 2021-05-02T00:00:17Z nij joined #lisp 2021-05-02T00:00:31Z slyrus_ joined #lisp 2021-05-02T00:01:41Z gigamonkey: Yeah, in my dream Lisp there might be a *formatter* special variable that would get passed the format string and would return a function that generates the output. So if you wanted you could do (let ((*formatter* #'my-funky-dsl-parser)) (format t "whatever you want here" stuff more-stuff)) 2021-05-02T00:02:11Z gigamonkey: Thought that's more about extensibility than readabiliy. 2021-05-02T00:03:12Z no-defun-allowed: You can use any function which acts like one returned from FORMATTER as format control. 2021-05-02T00:03:43Z xsperry quit (Remote host closed the connection) 2021-05-02T00:04:02Z gigamonkey: Yeah, that's similar. 2021-05-02T00:04:09Z no-defun-allowed: That makes it (format t (dsl-parser "some notation") stuff more-stuff) 2021-05-02T00:04:31Z gigamonkey: And I guess with a read macro or two you're most of the way there. 2021-05-02T00:05:06Z mparlaktuna joined #lisp 2021-05-02T00:06:14Z gigamonkey: Or maybe a *format-table* that maps chars to functions so you can add characters that have meaning after a ~ 2021-05-02T00:06:20Z mindCrime_ joined #lisp 2021-05-02T00:06:23Z pjb: So something like: (defvar *formatter* (function formatter)) (format t (funcall *formatter* "whatever you want here") stuff more-stuff) 2021-05-02T00:06:32Z pjb: but you would not want to see the (funcall *formatter* ? 2021-05-02T00:06:58Z pjb: (defun my-formatter-with-my-~-escapes (string) (lambda …)) 2021-05-02T00:06:58Z lmm014 joined #lisp 2021-05-02T00:07:10Z gigamonkey: Well, I want to be able to see the string at the FORMAT call site. 2021-05-02T00:07:18Z pjb: (setf *formatter* (function my-formatter-with-my-~-escapes)) 2021-05-02T00:07:32Z pjb: (format t (funcall *formatter* "whatever with my ~escapes here") stuff more-stuff) 2021-05-02T00:07:37Z gigamonkey: So (format t "I love UNIX %f%%" 100.0) 2021-05-02T00:07:55Z gigamonkey: Where the format string was obviously processed by a different parser than the default CL format string parser. 2021-05-02T00:08:05Z pjb: or directly: (format t (unix-formatter "I love UNIX %f%%") 100) 2021-05-02T00:08:25Z gigamonkey: Yup. That would get the same effect. 2021-05-02T00:08:31Z pjb: gigamonkey: format control n. a format string, or a function that obeys the argument conventions for a function returned by the formatter macro. See Section 22.2.1.3 (Compiling Format Strings). 2021-05-02T00:08:55Z gigamonkey: Though I like my *format-table* idea better, now. Because then I could implement the lost ~U directive without having to rewrite everything else. 2021-05-02T00:09:03Z pjb: Possibly you could hide your formatter function in a reader macro. 2021-05-02T00:09:10Z gigamonkey: Yes, as I said above. 2021-05-02T00:09:10Z slyrus_ quit (Remote host closed the connection) 2021-05-02T00:09:13Z jcowan: 166 does have explicit extension: see "Higher Order Formatters and State" 2021-05-02T00:09:16Z pjb: and of course you can go thru all the indirections and tables you want! 2021-05-02T00:09:33Z pjb: format has enough extensibility as it is! 2021-05-02T00:09:57Z jcowan: Having a format-table is reasonable for stringly formatters 2021-05-02T00:10:07Z gigamonkey: the extensibility is kinda gross though due to the package issue. 2021-05-02T00:10:11Z hjudt quit (Ping timeout: 240 seconds) 2021-05-02T00:10:26Z gigamonkey: imo 2021-05-02T00:11:11Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-02T00:15:01Z hypercube quit (Quit: WeeChat 3.1) 2021-05-02T00:15:43Z hjudt joined #lisp 2021-05-02T00:18:04Z lotuseater quit (Quit: ERC (IRC client for Emacs 27.1)) 2021-05-02T00:23:06Z shifty joined #lisp 2021-05-02T00:24:10Z mparlaktuna quit (Remote host closed the connection) 2021-05-02T00:24:11Z rumbler31 joined #lisp 2021-05-02T00:25:08Z slyrus_ joined #lisp 2021-05-02T00:32:19Z hiroaki quit (Ping timeout: 248 seconds) 2021-05-02T00:33:42Z monolithic quit (Remote host closed the connection) 2021-05-02T00:33:54Z slyrus_ quit (Ping timeout: 268 seconds) 2021-05-02T00:35:34Z nij quit (Ping timeout: 276 seconds) 2021-05-02T00:41:26Z yottabyte quit (Quit: Connection closed for inactivity) 2021-05-02T00:46:22Z shifty quit (Ping timeout: 252 seconds) 2021-05-02T00:47:11Z shifty joined #lisp 2021-05-02T00:48:56Z jcowan: Unlike readtables, format tables would typically not matter at compile time. 2021-05-02T00:51:52Z pbaille joined #lisp 2021-05-02T00:56:49Z pbaille quit (Ping timeout: 252 seconds) 2021-05-02T00:57:57Z hjudt quit (Ping timeout: 268 seconds) 2021-05-02T01:04:40Z theothornhill joined #lisp 2021-05-02T01:05:49Z theothornhill quit (Remote host closed the connection) 2021-05-02T01:09:41Z undvrainbowvita8 is now known as swamps 2021-05-02T01:29:27Z jeosol quit (Quit: Connection closed) 2021-05-02T01:33:37Z ryanbw quit (Quit: I'll be back.) 2021-05-02T01:33:50Z ryanbw joined #lisp 2021-05-02T01:40:48Z Sheilong quit 2021-05-02T01:41:24Z marusich quit (Quit: Leaving) 2021-05-02T01:41:34Z terpri_ joined #lisp 2021-05-02T01:42:17Z terpri quit (Remote host closed the connection) 2021-05-02T01:42:32Z White_Flame: jcowan: format is often used to create symbol names in macros 2021-05-02T01:44:31Z raeda quit (Remote host closed the connection) 2021-05-02T01:45:07Z hjudt joined #lisp 2021-05-02T01:45:31Z raeda joined #lisp 2021-05-02T01:46:48Z raeda_ joined #lisp 2021-05-02T01:51:49Z raeda quit (Ping timeout: 252 seconds) 2021-05-02T01:54:03Z ntr quit (Quit: ZNC - https://znc.in) 2021-05-02T01:54:03Z fiddlerwoaroof: White_Flame: yeah, and when I run with *print-case* :downcase, I find all those libraries 2021-05-02T01:54:39Z ntr joined #lisp 2021-05-02T01:55:19Z fiddlerwoaroof: Those sorts of macros should use WITH-STANDARD-IO-SYNTAX 2021-05-02T01:55:27Z semz quit (Ping timeout: 250 seconds) 2021-05-02T01:57:01Z White_Flame: yeah, print & read being divergent is not great 2021-05-02T01:57:35Z White_Flame: at least I use symbols as input when concatenating text for new symbol names 2021-05-02T01:58:11Z fiddlerwoaroof: Yeah, that's what I tend to do too, but it doesn't solve the *print-case* issue 2021-05-02T01:58:17Z White_Flame: yep 2021-05-02T01:58:32Z fiddlerwoaroof: Wrapping your macro definition with WITH-STANDARD-IO-SYNTAX should, because it's defined to rebind print=case 2021-05-02T01:58:38Z fiddlerwoaroof: clhs Erik Naggum 2021-05-02T01:58:41Z fiddlerwoaroof: clhs Erik Naggum 2021-05-02T01:58:46Z fiddlerwoaroof: clhs Erik Naggum 2021-05-02T01:58:56Z fiddlerwoaroof: clhs WITH-STANDARD-IO-SYNTAX 2021-05-02T01:58:57Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_w_std_.htm 2021-05-02T01:59:04Z fiddlerwoaroof: (emacs fail) 2021-05-02T01:59:57Z no-defun-allowed: If you say "clhs Erik Naggum" in the mirror three times at midnight... 2021-05-02T02:00:19Z fiddlerwoaroof: I know Erik Naggum was involved in the SGML standardization efforts, are there any reasonably complete lisp implementations of SGML? 2021-05-02T02:00:41Z hjudt quit (Ping timeout: 240 seconds) 2021-05-02T02:03:41Z lmm014 joined #lisp 2021-05-02T02:07:46Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-02T02:08:54Z semz joined #lisp 2021-05-02T02:08:54Z semz quit (Changing host) 2021-05-02T02:08:54Z semz joined #lisp 2021-05-02T02:11:05Z CrazyPython quit (Read error: Connection reset by peer) 2021-05-02T02:11:39Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-02T02:17:45Z waleee-cl: emacs has some sgml stuff in a menu somewhere at least 2021-05-02T02:24:36Z Oladon joined #lisp 2021-05-02T02:33:04Z Volt_ quit (Quit: ) 2021-05-02T02:40:33Z notzmv quit (Ping timeout: 260 seconds) 2021-05-02T02:41:44Z rumbler31 quit (Remote host closed the connection) 2021-05-02T02:42:26Z rumbler31 joined #lisp 2021-05-02T02:54:04Z pbaille joined #lisp 2021-05-02T02:57:12Z DHARMAKAYA quit (Quit: Turning off a portion of this simulation.) 2021-05-02T02:58:12Z pbaille quit (Ping timeout: 240 seconds) 2021-05-02T02:59:19Z sauvin_ is now known as Sauvin 2021-05-02T03:02:13Z notzmv joined #lisp 2021-05-02T03:02:43Z beach: Good morning everyone! 2021-05-02T03:03:50Z xkapastel quit (Quit: Connection closed for inactivity) 2021-05-02T03:08:27Z hjudt joined #lisp 2021-05-02T03:09:24Z fiddlerwoaroof: morning, beach! 2021-05-02T03:12:47Z beach: nij: With respect to CommonDoc, I see some design decisions that I would have done differently. 2021-05-02T03:13:15Z beach: nij: For parsing the dpANS, I really haven't thought about it. But I guess it's moot, since it seems to be done now. 2021-05-02T03:14:20Z White_Flame: where is the latest on that parse? 2021-05-02T03:15:11Z beach: Looks like theothornhill did it. 2021-05-02T03:17:04Z johnjay quit (Ping timeout: 252 seconds) 2021-05-02T03:19:34Z dieggsy: re: my earlier question about a hunchentoot server that does block, you can just (make-instance 'hunchentoot:easy-acceptor :taskmaster (make-instance 'hunchentoot:single-threaded-taskmaster) ...) 2021-05-02T03:20:04Z no-defun-allowed: Yes, then a. it is single threaded and b. how are you supposed to stop it properly? 2021-05-02T03:20:22Z White_Flame quit (Ping timeout: 252 seconds) 2021-05-02T03:20:37Z White_Flame joined #lisp 2021-05-02T03:20:56Z dieggsy: *no-defun-allowed*: i'm storing the acceptor in a variable and defining an easy handler that stops it, since all i need is a server that handles a single request 2021-05-02T03:20:58Z dieggsy: it seems to work 2021-05-02T03:21:22Z dieggsy: so the handler takes the request, does something with the info, then stops the acceptor 2021-05-02T03:21:37Z VincentVega joined #lisp 2021-05-02T03:21:47Z johnjay joined #lisp 2021-05-02T03:22:33Z VincentVega quit (Client Quit) 2021-05-02T03:22:38Z vsync quit (Read error: Connection reset by peer) 2021-05-02T03:23:49Z vsync joined #lisp 2021-05-02T03:25:37Z pbaille joined #lisp 2021-05-02T03:26:27Z semz quit (Ping timeout: 250 seconds) 2021-05-02T03:30:16Z pbaille quit (Ping timeout: 252 seconds) 2021-05-02T03:33:36Z charles` joined #lisp 2021-05-02T03:39:53Z semz joined #lisp 2021-05-02T03:39:53Z semz quit (Changing host) 2021-05-02T03:39:53Z semz joined #lisp 2021-05-02T03:41:30Z drl joined #lisp 2021-05-02T03:45:07Z VincentVega joined #lisp 2021-05-02T03:47:14Z hjudt quit (Ping timeout: 246 seconds) 2021-05-02T03:47:50Z hjudt joined #lisp 2021-05-02T03:48:01Z elderK joined #lisp 2021-05-02T03:57:15Z jeosol joined #lisp 2021-05-02T03:57:24Z pbaille joined #lisp 2021-05-02T04:01:56Z pbaille quit (Ping timeout: 260 seconds) 2021-05-02T04:05:54Z drl quit (Quit: Leaving) 2021-05-02T04:10:34Z johnjay quit (Ping timeout: 252 seconds) 2021-05-02T04:12:31Z elderK quit (Quit: WeeChat 3.1) 2021-05-02T04:12:53Z johnjay joined #lisp 2021-05-02T04:15:11Z skapate joined #lisp 2021-05-02T04:17:06Z hjudt quit (Ping timeout: 260 seconds) 2021-05-02T04:18:31Z skapata quit (Ping timeout: 260 seconds) 2021-05-02T04:28:57Z pbaille joined #lisp 2021-05-02T04:31:21Z akoana left #lisp 2021-05-02T04:33:13Z pbaille quit (Ping timeout: 240 seconds) 2021-05-02T04:34:04Z orivej quit (Ping timeout: 252 seconds) 2021-05-02T04:36:15Z natter quit (Read error: Connection reset by peer) 2021-05-02T04:36:54Z VincentVega quit (Quit: Connection closed) 2021-05-02T04:37:53Z jlarocco quit (Remote host closed the connection) 2021-05-02T04:38:52Z hjudt joined #lisp 2021-05-02T04:41:50Z gabiruh quit (Quit: ZNC 1.7.5 - https://znc.in) 2021-05-02T04:42:05Z gabiruh joined #lisp 2021-05-02T04:46:19Z pbaille joined #lisp 2021-05-02T04:47:47Z slyrus_ joined #lisp 2021-05-02T04:48:29Z theothor` joined #lisp 2021-05-02T04:48:49Z theothor` quit (Client Quit) 2021-05-02T04:50:37Z dukester joined #lisp 2021-05-02T04:52:13Z slyrus_ quit (Ping timeout: 252 seconds) 2021-05-02T04:52:18Z lmm014 joined #lisp 2021-05-02T04:54:10Z charles` quit (Quit: Leaving.) 2021-05-02T04:56:32Z lmm014 quit (Ping timeout: 246 seconds) 2021-05-02T04:56:41Z hjudt quit (Ping timeout: 240 seconds) 2021-05-02T04:57:09Z hjudt joined #lisp 2021-05-02T05:03:08Z dukester left #lisp 2021-05-02T05:06:42Z beach: Suppose we had a documentation system based on (say) "chunks", and each chunk is a standard object that can be read and written using READ and PRINT perhaps with one or two additional reader macros. Suppose further that each chunk has a unique identifier based on Common Lisp universal time plus some random number. 2021-05-02T05:06:52Z beach: In other words, chunk identifiers can be created by the person creating the chunk and we are reasonably sure it is going to be unique. Also, suppose these chunks can either be inlined into other chunks or referred to from other chunks. We could even go so far as to have each individual words be a separate chunk. 2021-05-02T05:07:04Z beach: Such word chunks could then be used in other applications such as spell checkers and grammar checkers. So far so good. However, I would like some input on the process of creating the "database" of chunks. First of all, we can't assume that every word in English (let's start with English) has been turned into a chunk. So we probably need to allow for a Common Lisp string to replace a word chunk. 2021-05-02T05:07:12Z beach: I can see an interactive (CLIM-based?) editor that would allow people to create chunks, and perhaps also taking strings and substituting word chunks in the data base. This process could be "manual" but supported by the tool. For example, a string that has a word chunk in the data base could be highlighted, and the user could examine the possible chunks and select one. 2021-05-02T05:07:13Z beach: But here is where I need a discussion: How do we maintain the "database" of chunks? Individual users will create chunks and store them locally, but how do we merge individual "databases"? Also, we might want to merge updates to a chunk from different users. Should we then create a tool that checks for conflicts and such? And who is in charge of the merge? 2021-05-02T05:08:05Z beach will probably regret having started this thread. 2021-05-02T05:10:19Z hjudt quit (Read error: Connection reset by peer) 2021-05-02T05:12:17Z slyrus_ joined #lisp 2021-05-02T05:13:14Z xsperry joined #lisp 2021-05-02T05:17:05Z beach: Maybe I am exaggerating the problem? Maybe each chunk would belong to some "library" that would be managed just like code libraries are, i.e., there will be one or more maintainers for a GIT repository and people will submit pull requests. 2021-05-02T05:19:15Z saganman joined #lisp 2021-05-02T05:19:17Z notzmv quit (Ping timeout: 246 seconds) 2021-05-02T05:25:46Z lmm014 joined #lisp 2021-05-02T05:30:02Z beach: I should perhaps give some examples of chunk types, so that the idea becomes more clear. The lowest level chunks would be morpheme chunks, word chunks, phrase chunks, sentence chunks, paragraph chunks. Then there would be inline chunks, reference chunks for inserting or referring to other chunks. 2021-05-02T05:30:03Z beach: There would be bibliography chunks, figure chunks, math formula chunks, etc. And there would be specific chunks for documenting code, like chunks corresponding to the different DOCUMENTATION methods, chunks for referring to names in programs like class names, function names, etc. I don't have a complete list of chunk types yet, of course. 2021-05-02T05:33:14Z DHARMAKAYA joined #lisp 2021-05-02T05:36:14Z ebrasca quit (Remote host closed the connection) 2021-05-02T05:36:28Z hjudt joined #lisp 2021-05-02T05:47:13Z hjudt quit (Ping timeout: 252 seconds) 2021-05-02T05:49:51Z tessier quit (Ping timeout: 260 seconds) 2021-05-02T05:53:20Z elflng quit (Ping timeout: 268 seconds) 2021-05-02T06:09:37Z slyrus_ quit (Remote host closed the connection) 2021-05-02T06:16:11Z fe[nl]ix: beach: this sounds like RDF ontologies 2021-05-02T06:19:44Z waleee-cl quit (Quit: Connection closed for inactivity) 2021-05-02T06:19:51Z easye perks up at the mention of RDF ontologies. 2021-05-02T06:19:58Z easye waves to fe[nl]ix 2021-05-02T06:20:03Z easye nods morning to beach. 2021-05-02T06:21:47Z skapate quit (Remote host closed the connection) 2021-05-02T06:21:58Z fiddlerwoaroof: That's another thing I've never been able to find a practical use for 2021-05-02T06:22:05Z easye: Strictly speaking, RDF only has the simplest possible scaffolding for ontologies. One usually layers in something like OWL2 for any real ontological reasoning. OWL2 happens to have an RDF serialization, which might confuse things. 2021-05-02T06:22:24Z fiddlerwoaroof: And/or lisp tools with decent documentation 2021-05-02T06:23:06Z easye: One can get pretty far with abcl by using W3C RDF stacks which tend to have a JVM implementation. 2021-05-02T06:23:37Z easye: c.f. for a several decade long project that takes this approach. 2021-05-02T06:25:45Z beach: fe[nl]ix: I don't see any ontology in there at all. 2021-05-02T06:25:51Z hjudt joined #lisp 2021-05-02T06:26:26Z easye: We will be having an ELS2021 dress rehearsal today sometime after 1000 UTC in which we could use people to help smoke test the participatory a/v infrastructure we have been preparing. Join #elsconf for details if you are interested. 2021-05-02T06:27:16Z slyrus_ joined #lisp 2021-05-02T06:31:41Z slyrus_ quit (Ping timeout: 240 seconds) 2021-05-02T06:35:34Z fe[nl]ix: beach: "morpheme chunks, word chunks, phrase chunks, sentence chunks, paragraph chunks" <- those are ontologies 2021-05-02T06:36:38Z beach: Fair enough. 2021-05-02T06:36:43Z fe[nl]ix: beach: the problem I see there is that most people who write documentation don't want to accurately annotate what they're writing 2021-05-02T06:37:05Z fe[nl]ix: it's much more convenient to just write text and rely on the readers to figure out the context 2021-05-02T06:37:11Z beach: And they won't have to because of the strings. 2021-05-02T06:39:13Z gaqwas joined #lisp 2021-05-02T06:39:13Z gaqwas quit (Changing host) 2021-05-02T06:39:13Z gaqwas joined #lisp 2021-05-02T06:39:19Z asarch joined #lisp 2021-05-02T06:40:17Z phoe: /21 2021-05-02T06:40:31Z phoe: oops 2021-05-02T06:46:31Z frost-lab joined #lisp 2021-05-02T06:46:57Z slyrus_ joined #lisp 2021-05-02T06:47:45Z slyrus_ quit (Remote host closed the connection) 2021-05-02T06:50:28Z aartaka quit (Ping timeout: 252 seconds) 2021-05-02T06:55:30Z slyrus_ joined #lisp 2021-05-02T06:56:26Z maxwilliamson joined #lisp 2021-05-02T06:57:48Z lmm014 quit (Remote host closed the connection) 2021-05-02T06:59:26Z slyrus_ quit (Ping timeout: 240 seconds) 2021-05-02T07:08:49Z andreyorst[m] joined #lisp 2021-05-02T07:09:59Z lmm014 joined #lisp 2021-05-02T07:22:45Z splittist: beach: I'm missing the point of having a shared database of chunks. Is this for collaborating on public documentation, or ... ? 2021-05-02T07:24:06Z shifty quit (Ping timeout: 240 seconds) 2021-05-02T07:24:31Z shifty joined #lisp 2021-05-02T07:26:50Z notzmv joined #lisp 2021-05-02T07:26:50Z zaquest quit (Read error: Connection reset by peer) 2021-05-02T07:27:28Z beach: splittist: It would be good if low-level chunks such as words, bibliography entries, etc. were shared. 2021-05-02T07:27:55Z beach: splittist: But I guess that's not terribly important. 2021-05-02T07:28:43Z beach: splittist: Also, for the purpose of cross references, like if the documentation for one system would like to refer to the documentation of another system. 2021-05-02T07:30:20Z DHARMAKAYA quit (Quit: Turning off a portion of this simulation.) 2021-05-02T07:30:21Z nij joined #lisp 2021-05-02T07:30:34Z saganman: Morning beach 2021-05-02T07:30:41Z saganman: Morning #lisp 2021-05-02T07:30:43Z beach: Hello saganman. 2021-05-02T07:31:04Z saganman: Happy Weekend! 2021-05-02T07:33:05Z beach: nij: See the logs for ideas on the kind of documentation system I might want to see. As you can see, CommonDoc is not quite it. Also, don't expect me to be present between 19:00 and 05:00. And, try to avoid private messages for subjects that are interesting to more than you and me. 2021-05-02T07:33:12Z hjudt quit (Ping timeout: 240 seconds) 2021-05-02T07:33:29Z hjudt joined #lisp 2021-05-02T07:34:26Z beach: I guess I would have to create some kind of demo of the "chunk" system to see whether it is technically feasible. 2021-05-02T07:38:21Z Oladon quit (Quit: Leaving.) 2021-05-02T07:42:54Z Inline joined #lisp 2021-05-02T07:43:47Z lmm014 quit (Remote host closed the connection) 2021-05-02T07:44:27Z lmm014 joined #lisp 2021-05-02T07:46:32Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T07:46:49Z amb007 joined #lisp 2021-05-02T07:49:50Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-02T07:50:54Z splittist: beach: OK. I keep thinking about # and # etc. 2021-05-02T07:53:52Z zaquest joined #lisp 2021-05-02T07:57:29Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T07:57:55Z amb007 joined #lisp 2021-05-02T08:02:13Z imode quit (Ping timeout: 268 seconds) 2021-05-02T08:02:56Z hjudt quit (Quit: leaving) 2021-05-02T08:03:45Z lmm014 joined #lisp 2021-05-02T08:08:06Z shifty quit (Ping timeout: 240 seconds) 2021-05-02T08:08:20Z shifty joined #lisp 2021-05-02T08:08:35Z beach: splittist: Sharing would not be an obligation, if that's what you think. 2021-05-02T08:09:15Z jdz: There's also the #. 2021-05-02T08:10:21Z hendursaga quit (Ping timeout: 240 seconds) 2021-05-02T08:11:36Z jdz: beach: This reminds me of https://en.wikipedia.org/wiki/Project_Xanadu. 2021-05-02T08:12:19Z jdz: Heh, "zippered lists" sound much cooler than "chunks." 2021-05-02T08:12:42Z jdz: At least in this channel. 2021-05-02T08:12:42Z hendursaga joined #lisp 2021-05-02T08:12:58Z Inline quit (Quit: Leaving) 2021-05-02T08:13:22Z asarch quit (Quit: Leaving) 2021-05-02T08:13:43Z Inline joined #lisp 2021-05-02T08:14:41Z notzmv quit (Ping timeout: 240 seconds) 2021-05-02T08:15:32Z lmm014 quit (Ping timeout: 265 seconds) 2021-05-02T08:28:08Z jeosol quit (Quit: Connection closed) 2021-05-02T08:33:53Z varjag joined #lisp 2021-05-02T08:34:42Z anticrisis quit (Read error: Connection reset by peer) 2021-05-02T08:37:31Z lmm014 joined #lisp 2021-05-02T08:38:49Z mindCrime_ quit (Ping timeout: 252 seconds) 2021-05-02T08:39:04Z cognemo quit (Quit: cognemo) 2021-05-02T08:39:23Z cognemo joined #lisp 2021-05-02T08:39:56Z aartaka joined #lisp 2021-05-02T08:42:18Z lmm014 quit (Ping timeout: 268 seconds) 2021-05-02T08:50:27Z supercoven joined #lisp 2021-05-02T08:50:57Z notzmv joined #lisp 2021-05-02T08:51:03Z RED971 joined #lisp 2021-05-02T08:51:12Z notzmv is now known as Guest96063 2021-05-02T08:52:47Z RED971 left #lisp 2021-05-02T08:54:36Z theothornhill joined #lisp 2021-05-02T08:55:54Z lmm014 joined #lisp 2021-05-02T08:58:04Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T08:58:58Z surabax joined #lisp 2021-05-02T09:00:12Z amb007 joined #lisp 2021-05-02T09:00:36Z lmm014 quit (Ping timeout: 260 seconds) 2021-05-02T09:10:55Z heisig joined #lisp 2021-05-02T09:14:56Z theothornhill quit (Read error: Connection reset by peer) 2021-05-02T09:15:04Z theothornhill joined #lisp 2021-05-02T09:20:41Z attila_lendvai joined #lisp 2021-05-02T09:20:41Z attila_lendvai quit (Changing host) 2021-05-02T09:20:41Z attila_lendvai joined #lisp 2021-05-02T09:28:34Z nij quit (Ping timeout: 276 seconds) 2021-05-02T09:28:47Z lmm014 joined #lisp 2021-05-02T09:29:06Z pve joined #lisp 2021-05-02T09:29:18Z lmm014 quit (Remote host closed the connection) 2021-05-02T09:29:33Z lmm014 joined #lisp 2021-05-02T09:36:18Z theothornhill: I mailed Kent Pitman about the dpANS to see if he knows the status with regards to copyrights for the hyperspec and the dpans. Hopefully he knows something about it and is willing to share 2021-05-02T09:37:10Z beach: Good idea! 2021-05-02T09:38:01Z theothornhill: Worth a try, at least 2021-05-02T09:38:17Z beach: Absolutely. 2021-05-02T09:38:44Z aartaka quit (Read error: Connection reset by peer) 2021-05-02T09:39:06Z theothornhill: beach: as for the document, how do you envision I handle the macros? I can expand everything now using this perl script, but I lose a lot of semantics doing that 2021-05-02T09:39:36Z beach: Good question. I haven't given it enough thought. 2021-05-02T09:39:54Z theothornhill: I think it might be better to expand all the "\input foo" and concatenate everything and use the macros as parsable items 2021-05-02T09:40:09Z beach: I take your word for it. 2021-05-02T09:40:16Z lmm014 quit (Remote host closed the connection) 2021-05-02T09:40:26Z beach: We could also contact ANSI. They do not seem to make any money from this particular standard. 2021-05-02T09:40:52Z theothornhill: Now it is simple to grab the two \displaythree{Foo}{Bar}, rather than 75 lines of tex primitives 2021-05-02T09:40:52Z lmm014 joined #lisp 2021-05-02T09:45:49Z lmm014 quit (Ping timeout: 268 seconds) 2021-05-02T09:46:15Z Guest96063 quit (Remote host closed the connection) 2021-05-02T09:46:45Z notzmv- joined #lisp 2021-05-02T09:47:19Z theothornhill: beach: I'll pop a mail to a few of them :P 2021-05-02T09:47:30Z beach: "them"? 2021-05-02T09:47:59Z theothornhill: https://www.ansi.org/about/staff#sort=%40titlecomputed%20ascending 2021-05-02T09:48:07Z theothornhill: Not sure who's in charge 2021-05-02T09:48:18Z theothornhill: I'm guessing Anne Caldas 2021-05-02T09:48:28Z aartaka joined #lisp 2021-05-02T09:48:30Z beach: I see. 2021-05-02T09:52:26Z saganman quit (Quit: Leaving) 2021-05-02T09:54:51Z Krystof quit (Ping timeout: 260 seconds) 2021-05-02T09:57:09Z andreyorst[m] quit (Remote host closed the connection) 2021-05-02T10:00:06Z vegansbane6963 quit (Quit: The Lounge - https://thelounge.chat) 2021-05-02T10:04:22Z lmm014 joined #lisp 2021-05-02T10:08:00Z jonatack quit (Quit: jonatack) 2021-05-02T10:08:06Z frgo quit (Remote host closed the connection) 2021-05-02T10:08:31Z frgo joined #lisp 2021-05-02T10:09:34Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-02T10:13:32Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-02T10:16:16Z theothornhill joined #lisp 2021-05-02T10:16:38Z lmm014 joined #lisp 2021-05-02T10:16:51Z orivej joined #lisp 2021-05-02T10:17:13Z random-nick joined #lisp 2021-05-02T10:21:06Z lmm014 quit (Ping timeout: 260 seconds) 2021-05-02T10:23:32Z lmm014 joined #lisp 2021-05-02T10:23:40Z lotuseater joined #lisp 2021-05-02T10:29:20Z jonatack joined #lisp 2021-05-02T10:30:57Z monolithic joined #lisp 2021-05-02T10:32:07Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-02T10:32:10Z mindCrime_ joined #lisp 2021-05-02T10:33:06Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T10:33:18Z amb007 joined #lisp 2021-05-02T10:35:47Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T10:37:58Z amb007 joined #lisp 2021-05-02T10:42:33Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T10:42:49Z amb007 joined #lisp 2021-05-02T10:43:07Z mindCrime_ quit (Ping timeout: 252 seconds) 2021-05-02T10:43:11Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T10:43:22Z amb007 joined #lisp 2021-05-02T10:43:22Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T10:43:29Z ukari quit (Remote host closed the connection) 2021-05-02T10:43:39Z amb007 joined #lisp 2021-05-02T10:47:21Z saganman joined #lisp 2021-05-02T10:47:46Z saganman is now known as Guest97227 2021-05-02T10:48:51Z Guest97227 is now known as blackadder 2021-05-02T10:49:04Z blackadder quit (Changing host) 2021-05-02T10:49:04Z blackadder joined #lisp 2021-05-02T10:49:31Z vegansbane6963 joined #lisp 2021-05-02T10:51:21Z jeosol joined #lisp 2021-05-02T10:58:37Z ukari joined #lisp 2021-05-02T11:04:13Z hiroaki joined #lisp 2021-05-02T11:07:44Z lmm014 joined #lisp 2021-05-02T11:11:29Z frost-lab quit (Quit: Connection closed) 2021-05-02T11:12:06Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-02T11:14:42Z Krystof joined #lisp 2021-05-02T11:15:54Z aindilis quit (Remote host closed the connection) 2021-05-02T11:16:59Z aindilis` joined #lisp 2021-05-02T11:23:23Z akanouras joined #lisp 2021-05-02T11:26:55Z hiroaki quit (Ping timeout: 260 seconds) 2021-05-02T11:32:37Z attila_lendvai quit (Ping timeout: 252 seconds) 2021-05-02T11:34:22Z lmm014 joined #lisp 2021-05-02T11:38:40Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-02T11:39:20Z hiroaki joined #lisp 2021-05-02T11:43:11Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-02T11:44:31Z lmm014 joined #lisp 2021-05-02T11:46:25Z theothornhill joined #lisp 2021-05-02T11:46:39Z phoe: theothornhill: the consensus is that dpANS3 is public domain 2021-05-02T11:46:46Z phoe: and the standard is a copyrighted rendition of that 2021-05-02T11:50:47Z phoe: http://nhplace.com/kent/Papers/cl-untold-story.html 6.2 2021-05-02T11:51:00Z theothornhill quit (Ping timeout: 268 seconds) 2021-05-02T11:52:17Z phoe: "We, as a community, expect to continue to own the spec." is the particular quote I am interested in 2021-05-02T11:52:45Z phoe: in this context, I can infer that the specification is public domain but a standard that's based on it to the point of being identical is ANSI-copyrighted 2021-05-02T11:54:50Z phoe: and ANSI copyrights the fact that it has "the standard", along with the graphical rendition of it 2021-05-02T11:55:19Z phoe: but it can't copyright the sources behind it, which is dpANS3, the result of X3J13 2021-05-02T11:55:56Z Inline: the xerox group 2021-05-02T11:56:08Z Inline: in palo alto yeah ? 2021-05-02T11:57:01Z theothornhill joined #lisp 2021-05-02T11:58:13Z phoe: https://en.wikipedia.org/wiki/X3J13 2021-05-02T12:01:43Z Wikipedia[m] joined #lisp 2021-05-02T12:01:59Z elflng joined #lisp 2021-05-02T12:02:19Z MrtnDk[m]: !wikipedia X3J13 2021-05-02T12:02:21Z Wikipedia[m]:#lisp- *X3J13* is the name of a technical committee which was part of the International Committee for Information Technology Standards (INCITS, then named X3 ). The X3J13 committee was formed in 1986 to draw up an American National Standards Institute (ANSI) Common Lisp standard based on the first edition of the book Common Lisp the Language (also termed CLtL , or CLtL1 ), by Guy L. Steele Jr., which was formerly a de facto 2021-05-02T12:02:21Z Wikipedia[m]:#lisp- standard for the language. The primary output of X3J13 was an American National Standard for programming language Common Lisp (X3.226/1994), approved December 8, 1994. X3J13 later worked with International Organization for Standardization (ISO) working group SC22/WG16 on an internationally standardised dialect of Lisp named ISLISP. 2021-05-02T12:02:21Z Wikipedia[m]:#lisp- ------------ 2021-05-02T12:02:21Z Wikipedia[m]:#lisp- Organisation 2021-05-02T12:02:21Z Wikipedia[m]:#lisp- ------------ 2021-05-02T12:02:21Z Wikipedia[m]:#lisp- The original chair of the committee was Doctor Robert Mathis of Ohio State University, with Mary van Deusen as secretary. Guy L. Steele Jr. was originally the vice-chair. In later years, Mathis stepped down as chair and Steele a... 2021-05-02T12:02:21Z Wikipedia[m]:#lisp- http://en.wikipedia.org/?curid=2057519 2021-05-02T12:02:40Z phoe: nice 2021-05-02T12:02:50Z theothornhill quit (Ping timeout: 246 seconds) 2021-05-02T12:03:01Z no-defun-allowed: Thankyou for taking a bot to #lisp. Though if it makes okay output on IRC it'd be nice. 2021-05-02T12:03:17Z Inline: ah sorry 2021-05-02T12:03:49Z no-defun-allowed: Okay, so the bot says nothing on IRC and Mrtn Dk looks like they are talking to the wind. 2021-05-02T12:03:54Z MrtnDk[m]: Oh, this is the IRC-lisp room. Sorry. 2021-05-02T12:04:19Z phoe: no-defun-allowed: I actually can't see the bot output in the tymoon log, which is decent 2021-05-02T12:04:34Z phoe: but I see the output in my IRC client 2021-05-02T12:04:55Z no-defun-allowed: Just " sent a long message" or something else? 2021-05-02T12:05:47Z phoe: a whole big snippet of the article; I'll send a screenshot on query 2021-05-02T12:06:39Z no-defun-allowed: Does that bother you? Don't read it as if I'm saying it should, I'm just wondering. 2021-05-02T12:07:59Z no-defun-allowed: Suppose saying "nice" suggests it doesn't. I'll be more awake in 46 hours surely. 2021-05-02T12:09:59Z phoe: doesn't bother me 2021-05-02T12:10:15Z phoe: if it was used multiple times a day it probably would but it's the first time I ever saw it here, so nah 2021-05-02T12:10:58Z _death: I don't think bots should generate multiple messages given a single command 2021-05-02T12:13:12Z blackadder quit (Quit: WeeChat 2.3) 2021-05-02T12:13:25Z _death: even if there are other means of rate control, it's just clutter and I'll likely /ignore it 2021-05-02T12:17:32Z phoe: that too 2021-05-02T12:22:35Z notzmv- quit (Remote host closed the connection) 2021-05-02T12:23:04Z notzmv joined #lisp 2021-05-02T12:24:16Z MrtnDk[m]: I guess if an @ on IRC side kicks the bot, it will be kicked on the matrix side as well. fe[nl]ix 2021-05-02T12:31:52Z lotuseater quit (Ping timeout: 276 seconds) 2021-05-02T12:32:08Z kevingal joined #lisp 2021-05-02T12:33:35Z jeosol: phoe: I realized you are one of the contributors listed on cl:yesql. Is it possible to somehow issue multiple commands, e.g., a create extension command, then a CREATE table command, and possible an index later on. See this paste: https://pastebin.ubuntu.com/p/BZfhCVMGMC/ 2021-05-02T12:34:14Z jeosol: So far, i get errors that "cannot insert multipe commands into a prepared statement". 2021-05-02T12:35:35Z jeosol: I am doing small tests, the issues i sometimes get with ORM's makes me want to explore the alternative and write the sql queries. So I started looking at alternatives 2021-05-02T12:36:17Z phoe: jeosol: https://stackoverflow.com/questions/19589841/pg-prepare-cannot-insert-multiple-commands-into-a-prepared-statement 2021-05-02T12:36:23Z phoe: that's a postgres limitation, not a yesql one 2021-05-02T12:36:59Z jeosol: Thanks. for clearning that up. When I split the command into separate function calls, it works. Closed 2021-05-02T12:37:15Z phoe: perfect 2021-05-02T12:37:24Z lotuseater joined #lisp 2021-05-02T12:38:04Z jeosol: so what's your take and experience on the ORM use 2021-05-02T12:38:29Z phoe: I actually found cl-yesql really useful to be able to avoid ORMs in general 2021-05-02T12:38:39Z phoe: (since that's my take, and a bit of experience) 2021-05-02T12:38:59Z jeosol: Yeah, I agree with that, which is why I started learning it 2021-05-02T12:39:03Z phoe: it's a really really nice wrapper that allows me to treat SQL statements as Lisp functions 2021-05-02T12:39:32Z phoe: and it just works™ - I only had trouble with the initial setup and overlord/vernacular when combo'd with some EVAL-ALWAYS situations, but afterwards, it works 2021-05-02T12:39:56Z jeosol: I am no postmodern or mito expert, but sometimes, the lack of transparency and need for more complex operations, I start having problems 2021-05-02T12:40:41Z jeosol: I understand SQL more so using the queries directly seems to present less issues. And then you get the statement as functions. 2021-05-02T12:40:59Z jeosol: Yes, I did benefit from those examples to get the initial setup to work 2021-05-02T12:41:01Z phoe: and you get to write unit tests in Lisp for those that treat these functions as API 2021-05-02T12:41:07Z phoe: I really like this 2021-05-02T12:41:57Z jeosol: phoe: I do agree. cent pourcent 2021-05-02T12:42:20Z theBlackDragon quit (Ping timeout: 265 seconds) 2021-05-02T12:42:34Z jeosol: I haven't been here much; have some abstracts that are due and trying to finish some of the work; crazy days 2021-05-02T12:42:52Z phoe: yes 2021-05-02T12:43:04Z phoe: and here I'm busy with #.*dayjob* and ELS prep work 2021-05-02T12:43:17Z phoe: things are looking good for the latter and not very good for the former, but that's business as usual 2021-05-02T12:43:50Z lmm014 quit (Remote host closed the connection) 2021-05-02T12:44:06Z jeosol: Regarding ELS, do you guys accept paper about application, e.g., describing the use of CL to build an application? 2021-05-02T12:44:27Z lmm014 joined #lisp 2021-05-02T12:45:08Z jeosol: great work by the way. I'll get to support you guys soon. My task is coming to an end, once I get the web thingy going 2021-05-02T12:45:32Z phoe: jeosol: I think we generally accept those, yes 2021-05-02T12:45:36Z phoe: heisig will be able to confirm 2021-05-02T12:45:58Z phoe: (though I personally think it would be a welcome submission next year) 2021-05-02T12:47:00Z jeosol: I'll like to contribute something along those lines. I know it's closed for this year 2021-05-02T12:47:06Z heisig: jeosol: Yes, ELS accepts both classical academic papers of up to eight pages, and software demonstrations of up to four pages. 2021-05-02T12:48:32Z phoe: jeosol: please do, then! 2021-05-02T12:49:16Z lmm014 quit (Ping timeout: 260 seconds) 2021-05-02T12:50:12Z jeosol: phoe, heisig: Thanks for confirmation; I like to contribute something. 2021-05-02T12:51:15Z jeosol: I benefitted a lot from the answers to my earlier questions here. Great job guys 2021-05-02T12:51:24Z phoe: :D 2021-05-02T12:53:57Z theBlackDragon joined #lisp 2021-05-02T13:01:09Z lmm014 joined #lisp 2021-05-02T13:02:20Z orivej quit (Ping timeout: 246 seconds) 2021-05-02T13:04:17Z orivej joined #lisp 2021-05-02T13:04:37Z klltkr joined #lisp 2021-05-02T13:11:12Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-02T13:12:26Z shifty quit (Ping timeout: 240 seconds) 2021-05-02T13:13:19Z shifty joined #lisp 2021-05-02T13:18:26Z orivej quit (Ping timeout: 240 seconds) 2021-05-02T13:19:18Z cage_ joined #lisp 2021-05-02T13:20:48Z seok joined #lisp 2021-05-02T13:21:36Z seok: anyone experience latency using libraries which use winhttp? 2021-05-02T13:21:42Z oxum joined #lisp 2021-05-02T13:22:02Z oxum quit (Client Quit) 2021-05-02T13:22:05Z seok: I often get timeout error on dexador from winhttp, and is also quite slow 2021-05-02T13:22:36Z seok: When I run the same piece of code on a linux machine on the same network it's blazingly fast, no problem 2021-05-02T13:24:07Z lmm014 joined #lisp 2021-05-02T13:28:11Z theothornhill joined #lisp 2021-05-02T13:28:38Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-02T13:30:46Z theothornhill quit (Remote host closed the connection) 2021-05-02T13:32:55Z Inline quit (Ping timeout: 260 seconds) 2021-05-02T13:33:13Z Inline joined #lisp 2021-05-02T13:41:23Z shifty quit (Ping timeout: 268 seconds) 2021-05-02T13:41:42Z shifty joined #lisp 2021-05-02T13:47:22Z shifty quit (Ping timeout: 252 seconds) 2021-05-02T13:49:25Z shifty joined #lisp 2021-05-02T13:54:24Z theothor` joined #lisp 2021-05-02T13:56:52Z theothor` quit (Remote host closed the connection) 2021-05-02T13:58:34Z lmm014 joined #lisp 2021-05-02T14:02:46Z lmm014 quit (Ping timeout: 240 seconds) 2021-05-02T14:03:09Z pbaille quit (Remote host closed the connection) 2021-05-02T14:08:16Z shifty quit (Ping timeout: 252 seconds) 2021-05-02T14:08:55Z raeda_ quit (Remote host closed the connection) 2021-05-02T14:10:20Z lotuseater: why does the disassemble of functions with TAGBODY gets so big? ^^ 2021-05-02T14:10:35Z flip214 quit (Read error: Connection reset by peer) 2021-05-02T14:10:51Z loke[m]: lotuseater: Do they? 2021-05-02T14:10:55Z loke[m]: Which Lisp impementation? 2021-05-02T14:11:07Z flip214 joined #lisp 2021-05-02T14:11:33Z lotuseater: on SBCL 2021-05-02T14:11:40Z lotuseater: yeah i wondered too 2021-05-02T14:11:55Z loke[m]: Do you have a specific example? 2021-05-02T14:12:05Z lotuseater: i have here a TAGBODY with four labels and it gets 1100 bytes big 2021-05-02T14:12:26Z lotuseater: yes an algorithm from TAOCP volume 4 2021-05-02T14:13:01Z CrazyPython joined #lisp 2021-05-02T14:14:02Z loke[m]: I just did this, and I don't think it's any bigger than you'd expect: 2021-05-02T14:14:02Z loke[m]: (disassemble #'(lambda (x) (tagbody a (print 1) (go c) b (print 2) (go d) c (print 3) (go b) d (print 4)))) 2021-05-02T14:14:42Z loke[m]: All I can tell from that is that there seems to be nothing special about TAGBODY. You'll have to come up with an example we can run so we have something to analyse. 2021-05-02T14:15:16Z lotuseater: https://paste.ofcode.org/3aMi9ybC2kjJXgbZxg2FL8r 2021-05-02T14:15:35Z lotuseater: it compiles, but at some point there's a fail with indexing by -1 2021-05-02T14:15:49Z lotuseater: yeah okay 2021-05-02T14:17:12Z lotuseater: the indexing is most times mathematically done, starting by 1 2021-05-02T14:17:25Z madage: 3 2021-05-02T14:17:31Z madage: ops 2021-05-02T14:18:17Z xkapastel joined #lisp 2021-05-02T14:18:17Z lotuseater: madage :) 2021-05-02T14:19:02Z loke[m]: lotuseater: Well, if that thing is bigger than you expect, it's not because of TAGBODy 2021-05-02T14:19:12Z beach: lotuseater: How did you determine the size is due to TAGBODY? 2021-05-02T14:19:22Z loke[m]: If you want to optimise it, the first thing you need to do is add type declarations. 2021-05-02T14:19:25Z lotuseater: yes, but the 1100bytes is ok, i just wondered 2021-05-02T14:19:58Z lotuseater: beach: i didn't explicitely (and can't read the assembly output) 2021-05-02T14:20:17Z loke[m]: Am I missing something by the way? L2, L3 and L4 don't seem to be used. This is just an infinite loop, no? 2021-05-02T14:20:40Z lotuseater: yes loke[m], i will, but first it should work correctly and 1:1 as the algorithm is given 2021-05-02T14:20:57Z lotuseater: no, it terminates when j=0 2021-05-02T14:20:58Z beach: lotuseater: That size doesn't sound unreasonable to me. 2021-05-02T14:21:15Z loke[m]: beach: Same to me. 2021-05-02T14:21:21Z lotuseater: i didn't mean unreasonable, just wanted to ask if it's normal :) 2021-05-02T14:21:25Z loke[m]: Also, no optimisations nor type decalarations. 2021-05-02T14:21:30Z contrapunctus left #lisp 2021-05-02T14:21:53Z lotuseater: so what optimisations you would make beside the obvious? 2021-05-02T14:22:14Z contrapunctus joined #lisp 2021-05-02T14:22:46Z beach: What makes you think the loop terminates? 2021-05-02T14:22:57Z lotuseater: why "think"? 2021-05-02T14:23:12Z lotuseater: because the algorithm is given this way 2021-05-02T14:23:17Z lmm014 joined #lisp 2021-05-02T14:23:23Z beach: Oh, return-from. OK. 2021-05-02T14:23:30Z lotuseater: yes in L2 2021-05-02T14:24:27Z beach: Do you take remarks on the programming style? 2021-05-02T14:25:23Z lotuseater: how do you mean that? 2021-05-02T14:25:33Z lotuseater: it's basically this (one page): https://trash.randomerror.de/ev4tw/algorithm-k.pdf 2021-05-02T14:25:57Z beach: Like for instance: (let (... perms) ...) means "I am not initializing perms explicitly because I intend to assign to it before it is used" But then you use it before you assign to it. 2021-05-02T14:26:47Z lotuseater: ah hm this part is for prototyping, it's an empty list at the beginning 2021-05-02T14:26:58Z beach: And (= j 0) is better expressed as (zerop j). There is a general rule in programming that you should use the most specific construct that will do the work. 2021-05-02T14:27:35Z beach: lotuseater: Semantically, it's an empty list, but it is not an empty list in the message that you send to the person reading your code. 2021-05-02T14:27:35Z lotuseater: yes you're right of course :) 2021-05-02T14:27:44Z lotuseater: yes 2021-05-02T14:28:37Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-02T14:31:34Z pbaille joined #lisp 2021-05-02T14:40:58Z ssbnxx quit (Quit: Connection closed for inactivity) 2021-05-02T14:46:14Z hypercube joined #lisp 2021-05-02T14:50:33Z vms14 joined #lisp 2021-05-02T14:53:18Z dieggsy: beach: wait, so what's the difference between (let ((this) ...) ...) and (let (this ...) ...)) 2021-05-02T14:54:13Z Sheilong joined #lisp 2021-05-02T14:54:38Z lotuseater: hm the former wouldn't work in this form, will it? 2021-05-02T14:54:49Z lotuseater: the latter initializes with NIL 2021-05-02T14:54:54Z slyrus_ joined #lisp 2021-05-02T14:55:20Z TMA: dieggsy: just stylistic 2021-05-02T14:55:34Z TMA: lotuseater: both will bind this to nil 2021-05-02T14:55:43Z beach: dieggsy: Semantically, there is no difference, but I see no use for (let ((this) 2021-05-02T14:55:52Z beach: TMA: "just"? 2021-05-02T14:55:56Z lotuseater: ah okay 2021-05-02T14:55:58Z dieggsy: lotuseater: the former is actually what i use lol, only because i didn't realize (let (this ...) ...) is alllowed 2021-05-02T14:56:11Z lotuseater: haha and for me vice versa :) 2021-05-02T14:56:45Z beach: If you write a compiler for Common Lisp, you will have to know all the variants. :) 2021-05-02T14:57:01Z TMA: beach: I have written a (part of a) compiler, I am prone to dismiss differences that have no effect on the resulting code. 2021-05-02T14:57:12Z vms14: must be hard to write a common lisp compiler 2021-05-02T14:57:26Z beach: TMA: I am sorry to hear that. You are giving your maintainer a hard time. 2021-05-02T14:57:27Z lotuseater: but with this now I even once more get the feeling I can become at anything and that makes me sad, but it's too offtopic 2021-05-02T14:57:46Z vms14: don't even know how abcl devs wanted to use java for writing a lisp compiler 2021-05-02T14:57:51Z vms14: that must be a real pain 2021-05-02T14:57:53Z lotuseater: *good 2021-05-02T14:58:33Z vms14: I suppose the way is to write minimal stuff in the "host language" and much as possible in your lisp implementation 2021-05-02T14:58:37Z lotuseater: yeah but after a certain point you can write most stuff in lisp 2021-05-02T15:00:01Z orivej joined #lisp 2021-05-02T15:00:01Z dieggsy: beach: which compiler did you write ? 2021-05-02T15:00:04Z beach: vms14: Is ABCL written in Java? I am asking because there is no particular reason to do that. 2021-05-02T15:00:05Z TMA: beach: I am my own maintainer, mostly (the rest of my work no longer maintained). But I do have rather strong style preferences. I just resigned trying to enforce them on others or explaining them. 2021-05-02T15:00:44Z beach: TMA: I see. I find that even if I am the maintainer of my own code, I have to be very disciplined, or else I won't forget it some weeks later. 2021-05-02T15:01:04Z beach: minion: Please tell dieggsy about SICL. 2021-05-02T15:01:05Z minion: dieggsy: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL 2021-05-02T15:01:10Z beach: minion: Please tell dieggsy about Cleavir. 2021-05-02T15:01:10Z minion: dieggsy: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future 2021-05-02T15:01:26Z lotuseater: hehe 2021-05-02T15:01:49Z lotuseater: and then the new McCLIM 2021-05-02T15:01:56Z beach: vms14: There is no particular reason to use any "host language" at all, as the SICL bootstrapping technique shows. 2021-05-02T15:02:02Z vms14: beach: it seems https://github.com/armedbear/abcl/tree/master/src/org/armedbear/lisp 2021-05-02T15:02:23Z dieggsy: beach: ah, sweet 2021-05-02T15:02:30Z beach: vms14: I see. :( 2021-05-02T15:03:18Z TMA: beach: I do have quite consistent style, I think. I use it when not under undue time pressure. In the other case anything goes. It makes me sad, though less sad than missed deadline. 2021-05-02T15:03:37Z vms14: my technique is to use s7 scheme, which is a .h and a .c file and you can just add your own stuff in it, but it's scheme not cl, which meh. I really prefer cl, I guess just because it's the lisp I used 2021-05-02T15:03:42Z beach: TMA: I see, yes. 2021-05-02T15:04:04Z beach: dieggsy: The compiler framework is in use production in Clasp, and the SICL compiler is of course based on it too. 2021-05-02T15:04:05Z TMA: Consistent and sensible style is very good otherwise. 2021-05-02T15:04:08Z vms14: and don't like that define is also defun 2021-05-02T15:05:23Z beach: dieggsy: Oh, and I should add that, even though I started it, Bike and karlosz have done a lot of work on Cleavir lately. 2021-05-02T15:06:49Z beach: vms14: So it is hard to write a Common Lisp compiler, but it is an order of magnitude harder to write an implementation-independent compiler framework. :) 2021-05-02T15:08:32Z lotuseater has high respect for things like that and asks how he can ever catch up to this expertise 2021-05-02T15:09:22Z vms14: to write lisp you first write lisp so it helps you writing lisp 2021-05-02T15:09:26Z beach: lotuseater: It has taken me the better part of a lifetime, because I am not particularly smart; just stubborn. 2021-05-02T15:10:12Z lotuseater: haha ok, so also training :) and good advises by the wise people 2021-05-02T15:10:27Z vms14: lispers are so used to recursion that they use recursion in they whole design 2021-05-02T15:10:57Z vms14: their* 2021-05-02T15:15:21Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T15:15:49Z amb007 joined #lisp 2021-05-02T15:16:12Z lmm014 joined #lisp 2021-05-02T15:16:17Z gareppa joined #lisp 2021-05-02T15:18:47Z gareppa quit (Remote host closed the connection) 2021-05-02T15:18:47Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T15:19:01Z amb007 joined #lisp 2021-05-02T15:20:52Z lmm014 quit (Ping timeout: 265 seconds) 2021-05-02T15:25:08Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T15:25:19Z amb007 joined #lisp 2021-05-02T15:31:51Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T15:32:29Z amb007 joined #lisp 2021-05-02T15:36:10Z attila_lendvai joined #lisp 2021-05-02T15:36:10Z attila_lendvai quit (Changing host) 2021-05-02T15:36:10Z attila_lendvai joined #lisp 2021-05-02T15:36:46Z White_Flame quit (Ping timeout: 240 seconds) 2021-05-02T15:38:27Z ecraven: thanks for pointing out cl-yesql, this finally seems like a sane approach to "sql as a dsl" 2021-05-02T15:38:45Z mrchampion quit (Ping timeout: 265 seconds) 2021-05-02T15:41:22Z mrchampion joined #lisp 2021-05-02T15:42:24Z White_Flame joined #lisp 2021-05-02T15:50:42Z lmm014 joined #lisp 2021-05-02T15:53:07Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T15:53:47Z amb007 joined #lisp 2021-05-02T15:54:10Z nij joined #lisp 2021-05-02T15:55:17Z lmm014 quit (Ping timeout: 260 seconds) 2021-05-02T15:56:04Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T15:56:27Z seok quit (Quit: Connection closed) 2021-05-02T15:56:42Z amb007 joined #lisp 2021-05-02T15:56:43Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T15:57:04Z engblom: When building up a plist, is it ok to first push value and then push key? Or could I push both at the same time? 2021-05-02T15:58:23Z nij: How are you going to build a plist? 2021-05-02T15:58:39Z amb007 joined #lisp 2021-05-02T15:59:36Z vms14: engblom: for symbol property lists I always used (set) for any property 2021-05-02T15:59:41Z vms14: even made a macro named setp 2021-05-02T15:59:52Z vms14: (defun setp (symbol property value) 2021-05-02T15:59:54Z vms14: (setf (get symbol property) value)) 2021-05-02T16:00:17Z engblom: nij: It will be something like (:key1 :value1 :key2 :value2 :key3 :value3 ...) and I will begin with an empty list, and then adding one pair at the time 2021-05-02T16:00:17Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T16:00:49Z beach: engblom: You can push the value and then the key, provided you don't use the list between the two operations. 2021-05-02T16:00:49Z amb007 joined #lisp 2021-05-02T16:00:56Z beach: engblom: Why would it not be OK? 2021-05-02T16:01:25Z Jesin joined #lisp 2021-05-02T16:01:34Z engblom: beach: Thanks, then I will do so. I am just asking if it is OK, as I am still very new to lisp and somtimes there are better ways to do things that what I know about. 2021-05-02T16:01:54Z beach: It might not be the best way. It depends. 2021-05-02T16:02:35Z beach: clhs get 2021-05-02T16:02:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_get.htm 2021-05-02T16:02:44Z aartaka_d joined #lisp 2021-05-02T16:02:47Z beach: engblom: You can use SETF with GET. 2021-05-02T16:03:16Z nij: There are many ways. At the end just make sure you get something you want. Then it's ok. 2021-05-02T16:03:17Z vms14: engblom: usually defstruct is recommended over plists don't really know why 2021-05-02T16:03:29Z beach: Er, GETF, I mean. 2021-05-02T16:03:45Z nij: But I've heard someone saying it's better to only use plist operations.. aka we should live on top of the abstraction.. 2021-05-02T16:04:27Z beach: engblom: You can use SETF with GETF. 2021-05-02T16:04:30Z beach: clhs getf 2021-05-02T16:04:31Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_getf.htm 2021-05-02T16:04:35Z nij: minion, tell theothornhill that I've read the log and am glad to know if there's any news back from the people you mail. 2021-05-02T16:04:38Z minion: theothornhill: and if not? 2021-05-02T16:04:42Z vms14: pjb: recommended me to use defstruct over plist, I've just obeyed without no reasoning about 2021-05-02T16:05:00Z nij: Is minion sane? Should I trust if minion will really deliver my message :-(? 2021-05-02T16:05:02Z aartaka quit (Ping timeout: 246 seconds) 2021-05-02T16:05:20Z aartaka joined #lisp 2021-05-02T16:05:22Z aartaka quit (Read error: Connection reset by peer) 2021-05-02T16:05:24Z beach: minion: Are you sane? 2021-05-02T16:05:24Z minion: no 2021-05-02T16:05:36Z vms14: https://termbin.com/hj0w 2021-05-02T16:05:37Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T16:05:39Z nij: shoot 2021-05-02T16:05:47Z vms14: that's the proof he told me that xD 2021-05-02T16:06:06Z vms14: ;; Those structures will go on the lists ;; pjb recommended me to use defstruct ;; instead of property values of symbols ;; 2020-04-13 2021-05-02T16:06:08Z aartaka joined #lisp 2021-05-02T16:06:12Z engblom: beach: I tested it. I did not know you can use (setf (getf plist :key) "foo") when :key do not exist yet, but it does what I want 2021-05-02T16:06:14Z amb007 joined #lisp 2021-05-02T16:06:56Z ebrasca joined #lisp 2021-05-02T16:07:02Z nij: setf is magic 2021-05-02T16:07:04Z aartaka_d quit (Ping timeout: 252 seconds) 2021-05-02T16:07:54Z phoe: minion: memo for nij: the syntax looks like this 2021-05-02T16:07:54Z minion: Remembered. I'll tell nij when he/she/it next speaks. 2021-05-02T16:07:59Z ebrasca: How to customize mahogany? 2021-05-02T16:08:21Z nij: I remember there's a CL system that allows you to get access to a specific place of a highly nested object easily.. is it called accessor? 2021-05-02T16:08:21Z minion: nij, memo from phoe: the syntax looks like this 2021-05-02T16:09:31Z nij: minion: memo for theothornhill: I've read the log and am glad to know if there's any news back from the people you mail. 2021-05-02T16:09:31Z minion: Remembered. I'll tell theothornhill when he/she/it next speaks. 2021-05-02T16:09:33Z _death: teach minion on (tell (? recipient) that (?? note)) do (add-memo recipient note) 2021-05-02T16:10:02Z nij: _death: it'd be insanely nice if we can teach minion like this 2021-05-02T16:10:14Z nij: can someone hack minion for it to follow instructions like this :)? 2021-05-02T16:10:22Z _death: you can :) 2021-05-02T16:10:29Z _death: (hack minion to do that) 2021-05-02T16:10:55Z nij: and minion should be able to dump its internal state to a paste bin easily 2021-05-02T16:11:02Z nij: so all people know who have taught it what 2021-05-02T16:12:51Z nij: ebrasca: if it's enough stumpwm-like, you should be able to add a config file for it to read at startup 2021-05-02T16:13:06Z nij: the config file is yet a file with lisp forms to be evaluated 2021-05-02T16:13:18Z nij: so if you can write in CL, you can hack it. 2021-05-02T16:13:57Z phoe: nij: file a PR at https://github.com/stassats/lisp-bots/ 2021-05-02T16:14:40Z nij: ebrasca: here's a config example for stumpwm that I learned a lot from. Its starting point is init.lisp : https://github.com/alezost/stumpwm-config/blob/master/init.lisp 2021-05-02T16:14:51Z phoe: n 2021-05-02T16:14:53Z phoe: (oops) 2021-05-02T16:15:19Z Bike joined #lisp 2021-05-02T16:15:22Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T16:15:31Z ebrasca: nij: I have a stumpwm config file. 2021-05-02T16:15:33Z amb007 joined #lisp 2021-05-02T16:15:34Z amb007 quit (Read error: Connection reset by peer) 2021-05-02T16:15:58Z nij: I'm not sure however how much stumpwm differs from mahogany. 2021-05-02T16:15:58Z amb007 joined #lisp 2021-05-02T16:16:36Z nij: ebrasca: does it work for your stumpwm? 2021-05-02T16:17:04Z ebrasca: nij: I am usin it rigth now. 2021-05-02T16:17:04Z long4mud joined #lisp 2021-05-02T16:17:41Z ebrasca: My stumpwm don't give me any error at start but somethimes it dies. 2021-05-02T16:17:52Z aindilis` quit (Remote host closed the connection) 2021-05-02T16:18:05Z nij: Do you use both floating and tiling groups? 2021-05-02T16:18:26Z bitmapper joined #lisp 2021-05-02T16:18:32Z ebrasca: Only tilisg. 2021-05-02T16:18:48Z ebrasca: Only tiling. 2021-05-02T16:19:08Z nij: I never understand the logic behind tiling.. 2021-05-02T16:19:22Z nij: ANyway.. i cannot find a manual for mahogany.. do you have a copy? 2021-05-02T16:19:26Z ebrasca: Weel you start a app and it is full screen 2021-05-02T16:19:32Z ebrasca: or half of it 2021-05-02T16:19:38Z ebrasca: and it is all I need 2021-05-02T16:21:08Z nij: Yeah I mean sometimes it breaks and I never found why. 2021-05-02T16:21:22Z nij: Have been using the floating groups and so far so good. 2021-05-02T16:23:02Z imode joined #lisp 2021-05-02T16:23:12Z lmm014 joined #lisp 2021-05-02T16:27:58Z lmm014 quit (Ping timeout: 252 seconds) 2021-05-02T16:33:30Z engblom: Is there something as simple as (dotimes (i 4) ... ), but allowing you to specify the starting point? 2021-05-02T16:33:53Z jeosol: you don't want loop? 2021-05-02T16:34:19Z Bike: there is not a standard macro like dotimes that lets you specify a starting point. you can use addition or loop though. 2021-05-02T16:34:47Z jeosol: or some macro that's based on do 2021-05-02T16:34:54Z jeosol: "do" 2021-05-02T16:35:29Z engblom: I will use loop then 2021-05-02T16:35:36Z nij: http://www.gigamonkeys.com/book/loop-for-black-belts.html engblom search "from" in this page 2021-05-02T16:35:49Z nij: oh.. loop isn't simple enough? 2021-05-02T16:35:59Z jeosol: engblom: I second that, it will get the job done quickly 2021-05-02T16:36:47Z nij: I wonder if (dotimes (i 4) (setf i (+ i 2)) ...) works? (Untested) 2021-05-02T16:36:55Z Bike: don't do that 2021-05-02T16:36:59Z nij: Why not?! 2021-05-02T16:38:23Z Bike: you shouldn't modify an iteration variable. also, even if it did work, it might only loop twice - i = 0, then i = 3, then i = 5 so it quits 2021-05-02T16:38:50Z nij: Indeed: (dotimes (i 6) (setf i (+ i 3)) (format t "~a" i)) ;; => 37 2021-05-02T16:39:10Z Bike: that is also implementation dependent 2021-05-02T16:39:34Z Bike: since dotimes might just establish a new binding each iteration 2021-05-02T16:39:36Z nij: However, this works: (dotimes (i 6) (let (( i (+ i 3) )) (format t "~a" i))) ;; => 345678 2021-05-02T16:39:36Z _death: you can use LET instead 2021-05-02T16:39:46Z Bike: yes, just use let 2021-05-02T16:39:56Z nij: let is also magic 2021-05-02T16:39:59Z nij: I like LET! 2021-05-02T16:43:01Z nij: Suppose I'm to hack minion as a toy, for a random user to let it evaluate random codes.. what's a good strategy to blacklist malicious codes? 2021-05-02T16:43:27Z nij: It seems like whitelisting is always easier than blacklisting.. 2021-05-02T16:45:37Z pjb: engblom: you can use list* to push both at the same time: (list* :new-key 'new-val plist) 2021-05-02T16:45:38Z _death: whitelist is a better solution.. so you can have a package where only allowed symbols are present 2021-05-02T16:45:50Z pjb: engblom: well: (setf plist (list* :new-key 'new-val plist)) 2021-05-02T16:46:23Z pjb: engblom: of course, list* can be used for any number of new elements. 2021-05-02T16:47:43Z nij: _death: but it's less flexible :-( 2021-05-02T16:47:43Z lmm014 joined #lisp 2021-05-02T16:48:12Z nij: Btw, is there a de facto way to help access to places deeply nested? Something like 2021-05-02T16:48:16Z pjb: vms14: there are always exceptions and circumstances. If the set of fields is fixed, it may be better to use structures than plists. If the set of keys is variable and you want to accept keys not known at compilation-time, then plists are better. 2021-05-02T16:48:54Z nij: (setf (get-nested nij (pants pocket wallet note)) "Do this, do that!") 2021-05-02T16:49:13Z lmm014 quit (Client Quit) 2021-05-02T16:49:39Z pjb: nij: tiling let's you prevent a certain class of cockpit error: the case where something is displayed in a window, but you cannot see it because that window is hidden behind another window. 2021-05-02T16:50:01Z pjb: nij: therefore tiling is important on control panel applications where you want to be sure that the information is visible to the operator. 2021-05-02T16:50:16Z _death: nij: anyway, check out cl-eval-bot 2021-05-02T16:51:46Z rumbler31 quit (Ping timeout: 252 seconds) 2021-05-02T16:51:48Z semz: Is there a way to get access to an internal function (generally but in CCL is fine too) as an object? DISASSEMBLE will only give me the outer function's code and pulling it out would be rather annoying. 2021-05-02T16:52:00Z pjb: nij: it's simply not specified how and when the loop variables are bound. Even (let ((fs '())) (dotimes (i 6) (push (lambda () i) fs)) (mapcar (function funcall) fs)) is not conforming. So mutating the variable i is even conforming. 2021-05-02T16:55:12Z pjb: Instead, you can write either: (let ((fs '())) (let (k) (dotimes (i 6) (setf k i) (push (lambda () k) fs)) (mapcar (function funcall) fs))) #| --> (5 5 5 5 5 5) |# 2021-05-02T16:55:12Z pjb: or: (let ((fs '())) (dotimes (i 6) (let ((k i)) (push (lambda () k) fs))) (mapcar (function funcall) fs)) #| --> (5 4 3 2 1 0) |# 2021-05-02T16:55:17Z pjb: to receive conforming results. 2021-05-02T16:56:52Z pjb: and of course, if you want to modify your loop variable: (loop with i = 0 while (< i 10) collect i do (incf i (1+ (random 3)))) #| --> (0 3 5 6 8) |# 2021-05-02T17:05:20Z thrashdin joined #lisp 2021-05-02T17:05:27Z thrashdin is now known as aun 2021-05-02T17:09:15Z nij: got it :) 2021-05-02T17:09:35Z nij left #lisp 2021-05-02T17:15:45Z slyrus_ quit (Remote host closed the connection) 2021-05-02T17:18:45Z skapata joined #lisp 2021-05-02T17:19:33Z theothornhill joined #lisp 2021-05-02T17:25:19Z theothornhill: beach: So Kent Pitman came back to me, with an enthusiastic reply. Nice! He says that the dpANS is the way to go, and a suit is unlikely. He'd _not_ recommend making a CLHS 2.0, and would rather focus on creating a "WikiSpec" starting from the dpANS, allowing the spec to be alive, without requiring to go through a committee for every typo, not to mention real bigger changes 2021-05-02T17:25:19Z minion: theothornhill, memo from nij: I've read the log and am glad to know if there's any news back from the people you mail. 2021-05-02T17:26:38Z phoe: :D 2021-05-02T17:27:15Z theothornhill: nij: I think this sounds smart. We could then start by displaying the spec as it is, then work incrementally on creating a live, documented and annotated spec that caters to more modern needs 2021-05-02T17:30:05Z slyrus_ joined #lisp 2021-05-02T17:30:18Z theothornhill: (If we allow a feature to disable every annotation we'd avoid the need to go through some uncoordinated committee, since the real, trusted spec is only one click away) 2021-05-02T17:31:42Z theothornhill: His reply is way too long to post here, so I'll ask him if I could publish some or all of it for posterity. 2021-05-02T17:33:19Z phoe: this is like the UltraSpec except done correctly this time 2021-05-02T17:34:26Z slyrus_ quit (Ping timeout: 240 seconds) 2021-05-02T17:35:45Z theothornhill: phoe: I say we try. I'll start work on htmlizing the spec this evening. I also have done some initial work on making the transition from dpANS to something else reproducible, so we don't have to worry about keeping things verbatim, which would be super important as a first step should this work 2021-05-02T17:36:01Z ym joined #lisp 2021-05-02T17:36:22Z ym quit (Client Quit) 2021-05-02T17:36:28Z vms14: can minion save a memo for itself? 2021-05-02T17:36:59Z vms14: minion: memo for minion: :O 2021-05-02T17:37:00Z minion: Buzz off. 2021-05-02T17:37:02Z vms14: meh 2021-05-02T17:37:26Z slyrus_ joined #lisp 2021-05-02T17:42:41Z slyrus_ quit (Ping timeout: 240 seconds) 2021-05-02T17:44:00Z slyrus_ joined #lisp 2021-05-02T17:45:12Z phoe: theothornhill: any method that turns dpANS into something lispy is going to work 2021-05-02T17:45:26Z phoe: I was ogling AsTeR as a TeX parser written in Lisp - I told you about that, right? 2021-05-02T17:45:41Z phoe: https://github.com/tvraman/aster-math/ 2021-05-02T17:46:40Z theothornhill: phoe: no, but you did now :) I'll look into that 2021-05-02T17:47:19Z phoe: OK 2021-05-02T17:47:26Z phoe: basically, AsTeR solves a different problem 2021-05-02T17:47:43Z phoe: tvraman is not capable of seeing, so he wanted a way to translate TeX papers into audio 2021-05-02T17:48:02Z vms14 quit (Remote host closed the connection) 2021-05-02T17:48:03Z theothornhill: wild 2021-05-02T17:48:05Z phoe: and he did that by parsing TeX into Lisp and then serializing Lisp objects into commands sent to a TTS device 2021-05-02T17:48:16Z phoe: I think we'd be interested in that first part 2021-05-02T17:48:40Z slyrus_ quit (Ping timeout: 268 seconds) 2021-05-02T17:48:43Z phoe: it seems that this code mostly loads and works even on modern lisp implementations, though it needs to get some overall polishing 2021-05-02T17:49:48Z theothornhill: Do you know if he's open to PRs and maintaining AsTeR? 2021-05-02T17:50:03Z theothornhill: In getting it into quicklisp etc 2021-05-02T17:50:13Z phoe: yes 2021-05-02T17:50:18Z phoe: I mailed him and he's open to that 2021-05-02T17:50:37Z theothornhill: Nice 2021-05-02T17:50:48Z phoe: there is a C module in there called "lex" that should be rewritten in Lisp 2021-05-02T17:51:09Z phoe: oh wait, not a C module - it's a C program, a lexer 2021-05-02T17:51:54Z theothornhill: Pitman also told me to be sure to organize such an effort with other people, to make sure we don't double the work, considering it's a small community 2021-05-02T17:56:46Z White_Flame quit (Remote host closed the connection) 2021-05-02T17:58:01Z White_Flame joined #lisp 2021-05-02T17:58:27Z slyrus_ joined #lisp 2021-05-02T18:02:18Z mindCrime_ joined #lisp 2021-05-02T18:03:07Z slyrus_ quit (Ping timeout: 252 seconds) 2021-05-02T18:03:57Z jeosol quit (Quit: Connection closed) 2021-05-02T18:04:12Z jeosol joined #lisp 2021-05-02T18:04:15Z rumbler31 joined #lisp 2021-05-02T18:05:35Z cosimone joined #lisp 2021-05-02T18:06:32Z gourdhen joined #lisp 2021-05-02T18:06:56Z theothornhill quit (Remote host closed the connection) 2021-05-02T18:07:04Z theothornhill joined #lisp 2021-05-02T18:09:02Z cosimone quit (Client Quit) 2021-05-02T18:09:08Z White_Flame quit (Ping timeout: 252 seconds) 2021-05-02T18:09:25Z cosimone joined #lisp 2021-05-02T18:12:14Z DHARMAKAYA joined #lisp 2021-05-02T18:16:06Z mindCrime_ quit (Ping timeout: 252 seconds) 2021-05-02T18:18:20Z Bike quit (Quit: Connection closed) 2021-05-02T18:21:09Z White_Flame joined #lisp 2021-05-02T18:23:58Z oxum joined #lisp 2021-05-02T18:23:59Z oxum quit (Client Quit) 2021-05-02T18:26:30Z raeda joined #lisp 2021-05-02T18:28:29Z indathrone joined #lisp 2021-05-02T18:28:34Z slyrus_ joined #lisp 2021-05-02T18:34:44Z phoe: yes 2021-05-02T18:35:13Z slyrus_ quit (Ping timeout: 240 seconds) 2021-05-02T18:47:09Z engblom: I did my first try with a macro, but failed: I tried to put both the macro and some kind of explanation of what I want here: https://pastebin.com/snBdwRdE 2021-05-02T18:48:03Z flip214: engblom: first thing, you'll want to learn backquote. 2021-05-02T18:48:59Z theothornhill: engblom: ^ this 2021-05-02T18:49:22Z phoe: engblom: second thing, what do you want the resulting, macroexpanded code to look like? 2021-05-02T18:49:25Z flip214: second, there are some things missing... some declarations (what is set-on-change?), and the problem you have. 2021-05-02T18:49:39Z flip214: do you get an error, a warning, does it do something unexpected, ...? 2021-05-02T18:50:39Z engblom: It compiles, but when I run it I end up in debugger with: 2021-05-02T18:50:44Z engblom: There is no applicable method for the generic function # 2021-05-02T18:50:49Z engblom: when called with arguments (NIL). 2021-05-02T18:51:34Z engblom: (set-on-change ...) is a function from clog library and service-type is a clog object 2021-05-02T18:52:12Z engblom: https://rabbibotton.github.io/clog/clog-manual.html#x-28CLOG-3ASET-ON-CHANGE-20GENERIC-FUNCTION-29 2021-05-02T18:55:25Z engblom: Is it OK that set-service-paramaters is a local function made with label? 2021-05-02T18:55:48Z _death: engblom: I suggest to replace "defmacro" with "defun" and try to get (custom-set 'set-service-parameters 'p) to result in the form you want 2021-05-02T18:56:31Z waleee-cl joined #lisp 2021-05-02T18:57:45Z notzmv quit (Ping timeout: 260 seconds) 2021-05-02T18:58:29Z _death: oh, I missed the problem description.. the issue you may have is one discussed today in this channel.. 2021-05-02T19:00:46Z _death: where a binding is changed in a loop.. perhaps an expansion like (let ((p-var p)) (lambda (obj) (declare (ignore obj)) (set-service-parameters p-var))) will work (note that I use "p-var" but in your macro you should generate a symbol each time, say using GENSYM) 2021-05-02T19:01:11Z engblom: _death: So I have a loop that creates a lot of clog objects, and each clog object needs its own function that should be run when they are changed. In this case the only difference that should be in the function is the argument to set-service-parameters. The p binding is changed in the loop, so I tried to use a macro to generate the function. 2021-05-02T19:03:09Z _death: well, you can just use a function to generate the function.. you'll pass #'set-service-parameters to it instead 2021-05-02T19:04:22Z engblom: _death: I do not understand how. The problem is that the clog obj will always be passed to whatever I give (set-on-change ...) 2021-05-02T19:05:12Z _death: engblom: do you understand (defun foo (x) (lambda (y) (+ x y))) ? 2021-05-02T19:06:23Z engblom: _death: Yes, I think so 2021-05-02T19:06:46Z _death: engblom: good, so what would be the analogous form in your case? 2021-05-02T19:08:35Z engblom: I do not what you mean with "analogous form" 2021-05-02T19:08:38Z _death: you need a function that takes f and x, and returns a function that takes an obj (and ignores it) and calls f with x 2021-05-02T19:09:12Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-02T19:10:11Z theothornhill joined #lisp 2021-05-02T19:10:39Z contrapunctus left #lisp 2021-05-02T19:11:37Z _death: so that for example (funcall (custom-set #'- 123) 42) => -123 2021-05-02T19:13:49Z engblom: _death: I got it to work now! 2021-05-02T19:13:55Z engblom: _death: Thank you very much! 2021-05-02T19:14:27Z _death: so you write that function? 2021-05-02T19:14:44Z contrapunctus joined #lisp 2021-05-02T19:14:45Z _death: *wrote 2021-05-02T19:16:35Z engblom: _death: Yes, I wrote the function 2021-05-02T19:18:15Z kiwichap joined #lisp 2021-05-02T19:18:21Z kiwichap: hello 2021-05-02T19:19:09Z _death: so now you can change the name to a more general name, say ALWAYS and have it take &rest parameters instead of just (f x) or (obj).. or you could call it say ALWAYS-FN and have an ALWAYS macro that expands to `(always-fn (function ,function-name) ,@args) 2021-05-02T19:19:56Z kiwichap: how hard is it going to be to learn lisp? 2021-05-02T19:20:18Z _death: so that you can write (always (set-service-parameters p)) ;; inner parentheses are stylistic 2021-05-02T19:21:46Z slyrus_ joined #lisp 2021-05-02T19:23:04Z kiwichap: basically I want to write a website that can access a database 2021-05-02T19:23:26Z kiwichap: so like there's certain parts involved like authentication, session, different users 2021-05-02T19:24:02Z kiwichap: is lisp the right language? first off or I should be using something else? 2021-05-02T19:25:42Z theothornhill: kiwichap: lisp can do that for sure. I guess it depends on what you'd be interested in focusing on. If just getting that app up and running, I'm sure some python, ruby og js frameworks will be quicker 2021-05-02T19:26:08Z slyrus_ quit (Ping timeout: 252 seconds) 2021-05-02T19:26:34Z kiwichap: I never did any of them and haven't done all the much programming but I somehow got a degree in it if that makes sense 2021-05-02T19:26:35Z Bike joined #lisp 2021-05-02T19:26:55Z Xach: Yeah, there are other environments where tasks like that are a matter of filling in some blanks. Common Lisp isn't one of them, mostly. 2021-05-02T19:27:15Z kiwichap: I don't even know where to start really 2021-05-02T19:28:06Z kiwichap: I did a little bit of Java in school , so much complications there, then I did some php on my own, I did my first cgi scripts and a hello world or 2 in lisp 2021-05-02T19:28:25Z kiwichap: and I have c++ school experience 2021-05-02T19:28:29Z Shinmera: here's a start then: https://github.com/Shirakumo/radiance-tutorial/blob/master/Part%200.md 2021-05-02T19:28:54Z theothornhill: If you are motivated, lisp is super fun though 2021-05-02T19:29:01Z ft quit (Ping timeout: 260 seconds) 2021-05-02T19:29:24Z kiwichap: thanks 2021-05-02T19:30:25Z kiwichap: I'll give it a go my friend's father used to program lisp when he worked for Bell 2021-05-02T19:33:13Z cage_ quit (Quit: Leaving) 2021-05-02T19:45:12Z slyrus_ joined #lisp 2021-05-02T19:47:31Z Spawns_Carpeting quit (Ping timeout: 260 seconds) 2021-05-02T19:47:52Z Spawns_Carpeting joined #lisp 2021-05-02T19:54:26Z jonatack quit (Ping timeout: 265 seconds) 2021-05-02T19:55:29Z rumbler31: phoe: I'm looking at running your ansi-tests branch of ccl. I'd like to reproduce your results. How did you go about building that branch? 2021-05-02T19:55:53Z jonatack joined #lisp 2021-05-02T19:56:43Z phoe: rumbler31: that is a very bad time to ask this question 2021-05-02T19:57:08Z phoe: I will be able to help you build that on Thursday or later - right now I'm 100% in ELS-local-chairing mindset 2021-05-02T19:57:18Z phoe: please leave an issue on the repo and I will try to come back to you 2021-05-02T19:57:31Z rumbler31: oh right that's coming up 2021-05-02T19:57:41Z phoe: if I don't, please mercilessly remind me that I allowed you to mercilessly remind me 2021-05-02T19:57:47Z rumbler31: lol will do 2021-05-02T19:59:50Z gitgood quit (Quit: Probably away to do something really awesome) 2021-05-02T20:00:57Z jcowan: ABCL is partly written in Java 2021-05-02T20:02:28Z slyrus_ quit (Ping timeout: 252 seconds) 2021-05-02T20:02:43Z phoe: rumbler31: "that's coming up" is a pretty neutral way to put it 2021-05-02T20:03:14Z CrashTestDummy3 joined #lisp 2021-05-02T20:03:23Z rumbler31: yea I bet. I'm disappointed because I was looking forward to watching it live, but this is the week I have to go into the office and I won't be able to watch 2021-05-02T20:05:33Z aindilis joined #lisp 2021-05-02T20:06:12Z CrashTestDummy2 quit (Ping timeout: 240 seconds) 2021-05-02T20:08:35Z jcowan: 3000 java files (540 KLOC), 700 lisp files (290 KLOC) 2021-05-02T20:08:40Z jcowan: these are raw counts 2021-05-02T20:08:48Z theothornhill quit (Remote host closed the connection) 2021-05-02T20:08:57Z theothornhill joined #lisp 2021-05-02T20:10:54Z _death: how much of it is generated? 2021-05-02T20:14:46Z _death: I asked because I never looked at abcl.. but I just cloned it and cloc gives about 60kloc in each language 2021-05-02T20:15:29Z _death: that includes asdf 2021-05-02T20:26:06Z slyrus_ joined #lisp 2021-05-02T20:29:19Z LispSporks joined #lisp 2021-05-02T20:30:40Z slyrus_ quit (Ping timeout: 252 seconds) 2021-05-02T20:32:26Z orivej quit (Ping timeout: 240 seconds) 2021-05-02T20:35:41Z cosimone quit (Remote host closed the connection) 2021-05-02T20:35:45Z Spawns_Carpeting quit (Remote host closed the connection) 2021-05-02T20:36:05Z Bike quit (Quit: Connection closed) 2021-05-02T20:36:08Z Spawns_Carpeting joined #lisp 2021-05-02T20:42:04Z mathrick_ quit (Ping timeout: 252 seconds) 2021-05-02T20:42:31Z mathrick_ joined #lisp 2021-05-02T20:43:10Z monolithic quit (Remote host closed the connection) 2021-05-02T20:43:11Z supercoven quit (Ping timeout: 268 seconds) 2021-05-02T20:43:17Z gaqwas quit (Ping timeout: 246 seconds) 2021-05-02T20:45:12Z monolithic joined #lisp 2021-05-02T20:49:11Z ebrasca: Can you upload files to hunchentoot? 2021-05-02T20:49:31Z ebrasca: Like images 2021-05-02T20:50:24Z LispSporks: ebrasca Yes, it's described in the docs 2021-05-02T20:50:25Z slyrus_ joined #lisp 2021-05-02T20:52:31Z ebrasca: LispSporks: Do you know some example? 2021-05-02T20:57:10Z Sheilong quit 2021-05-02T20:58:53Z LispSporks: ebrasca I found this after a brief googling B982PUQFCjq@gqz4 2021-05-02T20:59:10Z LispSporks: https://blog.uxul.de/e?e=mt-442 oops 2021-05-02T20:59:23Z akoana joined #lisp 2021-05-02T21:00:26Z ebrasca: I have see it, it does not show how to get the file data. 2021-05-02T21:00:35Z ebrasca: I get this (#P"/tmp/hunchentoot/hunchentoot-6" "tmp.html" "text/html") 2021-05-02T21:02:21Z notzmv joined #lisp 2021-05-02T21:03:10Z LispSporks: Yeah you can take the CAR of that to get the file name 2021-05-02T21:04:13Z ebrasca: I get it , hunchentoot did save the file to the first place. 2021-05-02T21:04:47Z anticrisis joined #lisp 2021-05-02T21:08:23Z ebrasca: couldn't rename a to b Invalid cross-device link 2021-05-02T21:09:19Z LispSporks: Probably means where it saved it and where you tried to rename it too, are on different filesystems. Try a file copy instead. 2021-05-02T21:09:46Z rumbler31 quit (Remote host closed the connection) 2021-05-02T21:10:34Z rumbler31 joined #lisp 2021-05-02T21:11:08Z orivej joined #lisp 2021-05-02T21:11:13Z nature quit (Ping timeout: 260 seconds) 2021-05-02T21:11:28Z Bike joined #lisp 2021-05-02T21:18:25Z Inline quit (Remote host closed the connection) 2021-05-02T21:19:05Z Inline joined #lisp 2021-05-02T21:24:41Z ebrasca: It does work , thanks! 2021-05-02T21:27:11Z elderK joined #lisp 2021-05-02T21:32:01Z seok joined #lisp 2021-05-02T21:40:06Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-02T21:42:06Z engblom: How would you loop over a plist where you want each pair? 2021-05-02T21:44:00Z igemnace joined #lisp 2021-05-02T21:44:45Z Bike: (loop for (key val) on plist by #'cddr ...) 2021-05-02T21:45:39Z slyrus_ quit (Remote host closed the connection) 2021-05-02T21:46:00Z engblom: Bike: Thanks! 2021-05-02T21:47:15Z phoe: sleep time for me 2021-05-02T21:47:21Z phoe: see you tomorrow at the symposium 2021-05-02T21:48:34Z pbaille quit (Remote host closed the connection) 2021-05-02T21:51:23Z LispSporks quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-02T21:52:03Z engblom: phoe: Good night! 2021-05-02T21:56:06Z slyrus_ joined #lisp 2021-05-02T21:56:47Z jeosol quit (Quit: Connection closed) 2021-05-02T21:58:46Z Krystof quit (Ping timeout: 260 seconds) 2021-05-02T21:59:51Z pjb: Does anybody know how to use Nathan Froyd's diff system? 2021-05-02T22:00:29Z pjb: There doesn't seem to be any example, and the reference doc is useless. 2021-05-02T22:00:35Z slyrus_ quit (Ping timeout: 265 seconds) 2021-05-02T22:00:58Z karlosz joined #lisp 2021-05-02T22:07:15Z igemnace quit (Ping timeout: 248 seconds) 2021-05-02T22:08:08Z frgo quit (Remote host closed the connection) 2021-05-02T22:08:34Z frgo joined #lisp 2021-05-02T22:10:40Z jeosol joined #lisp 2021-05-02T22:14:38Z |3b| wonders if slime's receive-if (on sbcl) should bind *break-on-signals* to NIL, since it seems to get confused if condition-wait SIGNALs a deadline, causing it to try to run a debugger-loop inside the with-mutex, which does receive-if, which gets recursive lock error in with-mutex, which runs debugger, etc 2021-05-02T22:15:32Z |3b|: or if there is some better way to handle things, or if that isn't what's happening in the first place 2021-05-02T22:17:12Z pve_ joined #lisp 2021-05-02T22:18:39Z koolkat332 joined #lisp 2021-05-02T22:19:05Z pbaille joined #lisp 2021-05-02T22:20:06Z pve quit (Ping timeout: 240 seconds) 2021-05-02T22:22:08Z kiwichap quit (Ping timeout: 252 seconds) 2021-05-02T22:22:20Z varjag quit (Ping timeout: 265 seconds) 2021-05-02T22:22:28Z luna_is_here quit (Quit: luna_is_here) 2021-05-02T22:23:53Z luna_is_here joined #lisp 2021-05-02T22:24:12Z pbaille quit (Ping timeout: 240 seconds) 2021-05-02T22:32:15Z rumbler31 quit (Remote host closed the connection) 2021-05-02T22:32:32Z rumbler31 joined #lisp 2021-05-02T22:36:16Z karlosz quit (Quit: karlosz) 2021-05-02T22:37:26Z pbaille joined #lisp 2021-05-02T22:37:31Z Inline quit (Ping timeout: 260 seconds) 2021-05-02T22:39:30Z |3b|: or alternately, if force-output on slime-output-stream shouldn't use deadlines in the first place 2021-05-02T22:40:32Z aun quit (Quit: Connection closed) 2021-05-02T22:42:18Z pbaille quit (Ping timeout: 252 seconds) 2021-05-02T22:43:45Z |3b|: (let ((*break-on-signals* t)) (loop repeat 10000 do (format t "~c" (code-char (random 1000000))) (force-output))) seems to reproduce it reliably (random characters so emacs has to go digging for fonts slowing it down enough to trigger the 0.1 sec deadline) 2021-05-02T22:46:04Z |3b|: and rebinding *break-on-signals* around connection-wait seems to fix it 2021-05-02T22:46:31Z mister_m: is there a way to check for the presence of a value of a slot in an object without tripping an UNBOUND-SLOT condition? I was using (slot-value ...) when I ran into this, thinking I could test with (null ...) 2021-05-02T22:47:12Z |3b|: clhs slot-boundp 2021-05-02T22:47:12Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_slt_bo.htm 2021-05-02T22:47:47Z mister_m: thanks 2021-05-02T22:48:23Z surabax quit (Quit: Leaving) 2021-05-02T22:49:44Z Oladon joined #lisp 2021-05-02T22:56:05Z shifty joined #lisp 2021-05-02T22:57:07Z hiroaki quit (Ping timeout: 260 seconds) 2021-05-02T23:01:29Z shifty quit (Ping timeout: 265 seconds) 2021-05-02T23:07:55Z pve_ quit (Quit: leaving) 2021-05-02T23:08:40Z attila_lendvai_ joined #lisp 2021-05-02T23:08:45Z attila_lendvai quit (Read error: Connection reset by peer) 2021-05-02T23:08:49Z random-nick quit (Ping timeout: 260 seconds) 2021-05-02T23:12:45Z |3b| files https://github.com/slime/slime/issues/617 for it 2021-05-02T23:13:21Z pbaille joined #lisp 2021-05-02T23:14:13Z epony quit (Ping timeout: 240 seconds) 2021-05-02T23:14:48Z rumbler31 quit (Remote host closed the connection) 2021-05-02T23:15:36Z rumbler31 joined #lisp 2021-05-02T23:16:18Z indathrone quit (Quit: Leaving) 2021-05-02T23:17:09Z igemnace joined #lisp 2021-05-02T23:18:09Z pbaille quit (Ping timeout: 260 seconds) 2021-05-02T23:23:58Z shifty joined #lisp 2021-05-02T23:25:20Z aartaka quit (Read error: Connection reset by peer) 2021-05-02T23:25:25Z aartaka_d joined #lisp 2021-05-02T23:38:16Z karlosz joined #lisp 2021-05-02T23:42:06Z mathrick_ quit (Ping timeout: 240 seconds) 2021-05-02T23:42:31Z mathrick_ joined #lisp 2021-05-02T23:45:32Z kevingal quit (Remote host closed the connection) 2021-05-02T23:50:48Z gourdhen quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2021-05-02T23:51:07Z lotuseater quit (Ping timeout: 276 seconds) 2021-05-02T23:52:31Z slyrus_ joined #lisp 2021-05-02T23:53:11Z perrier-jouet quit (Quit: WeeChat 3.1) 2021-05-02T23:54:10Z rumbler31 quit (Ping timeout: 252 seconds) 2021-05-03T00:02:22Z zaquest quit (Quit: Leaving) 2021-05-03T00:03:20Z seok quit (Quit: Connection closed) 2021-05-03T00:03:46Z Bike quit (Quit: Connection closed) 2021-05-03T00:05:34Z slyrus_ quit (Remote host closed the connection) 2021-05-03T00:06:05Z zaquest joined #lisp 2021-05-03T00:09:46Z zulu-inuoe joined #lisp 2021-05-03T00:20:07Z mindCrime_ joined #lisp 2021-05-03T00:22:08Z slyrus_ joined #lisp 2021-05-03T00:26:20Z mister_m: using slime, is there a way to recompile a function in a manner like C-c C-c, but with `(declare (optimize debug))`? I can add that to the function and recompile as normal, but I am wondering if slime can do this for me. 2021-05-03T00:26:50Z no-defun-allowed: I think C-u C-c C-c will compile with debug optimisations. 2021-05-03T00:27:00Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2021-05-03T00:27:26Z no-defun-allowed: See the documentation (i.e. when in a Lisp buffer, type C-h k C-c C-c): "With (positive) prefix argument the form is compiled with maximal debug settings (‘C-u’). With negative prefix argument it is compiled for speed (‘M--’)." 2021-05-03T00:31:24Z mister_m: thanks no-defun-allowed 2021-05-03T00:31:25Z shifty quit (Ping timeout: 252 seconds) 2021-05-03T00:31:41Z shifty joined #lisp 2021-05-03T00:32:19Z pbaille joined #lisp 2021-05-03T00:34:43Z attila_lendvai_ quit (Ping timeout: 252 seconds) 2021-05-03T00:36:30Z Xach: I didn't know about M--, that's cool 2021-05-03T00:36:33Z pbaille quit (Ping timeout: 240 seconds) 2021-05-03T00:36:47Z Xach: (I wrote the original C-u thing long ago) 2021-05-03T00:37:05Z epony joined #lisp 2021-05-03T00:38:57Z dukester joined #lisp 2021-05-03T00:44:01Z irc_user joined #lisp 2021-05-03T00:44:26Z Lord_Nightmare joined #lisp 2021-05-03T00:46:33Z mister_m: I didn't even realize the "universal argument" C-u existed 2021-05-03T00:46:41Z mister_m: cool 2021-05-03T00:51:35Z DHARMAKAYA quit (Quit: Turning off a portion of this simulation.) 2021-05-03T01:06:40Z aartaka_d quit (Ping timeout: 265 seconds) 2021-05-03T01:08:44Z monolithic quit (Remote host closed the connection) 2021-05-03T01:21:37Z nij joined #lisp 2021-05-03T01:26:39Z slyrus_ quit (Remote host closed the connection) 2021-05-03T01:26:57Z rumbler31 joined #lisp 2021-05-03T01:30:07Z gumman quit (Read error: Connection reset by peer) 2021-05-03T01:30:32Z gumman joined #lisp 2021-05-03T01:30:39Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2021-05-03T01:30:58Z LispSporks joined #lisp 2021-05-03T01:31:19Z frost-lab joined #lisp 2021-05-03T01:33:00Z pbaille joined #lisp 2021-05-03T01:34:05Z Lord_Nightmare joined #lisp 2021-05-03T01:38:12Z nij: minion: memo for theothornhill: I've read the log again.. and I melted. Thanks so much :-D Let me know if I can help any.. (beware i'm just a noob)! 2021-05-03T01:38:12Z minion: Remembered. I'll tell theothornhill when he/she/it next speaks. 2021-05-03T01:38:36Z nij: minion: memo for beach: Good news from theothornhill! Seems like UltraSpec is going to come back alive :-D 2021-05-03T01:38:36Z minion: Remembered. I'll tell beach when he/she/it next speaks. 2021-05-03T01:38:37Z pbaille quit (Ping timeout: 260 seconds) 2021-05-03T01:48:11Z mathrick joined #lisp 2021-05-03T01:48:41Z mathrick_ quit (Read error: Connection reset by peer) 2021-05-03T01:52:57Z dukester left #lisp 2021-05-03T01:53:26Z pbaille joined #lisp 2021-05-03T01:59:06Z pbaille quit (Ping timeout: 260 seconds) 2021-05-03T02:04:49Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2021-05-03T02:05:29Z zulu-inuoe quit (Read error: Connection reset by peer) 2021-05-03T02:07:30Z Lord_Nightmare joined #lisp 2021-05-03T02:11:42Z dukester joined #lisp 2021-05-03T02:24:27Z akoana quit (Quit: leaving) 2021-05-03T02:28:06Z bitmapper quit (Quit: Connection closed for inactivity) 2021-05-03T02:44:40Z LispSporks quit (Ping timeout: 276 seconds) 2021-05-03T02:48:15Z mindCrime_ quit (Ping timeout: 268 seconds) 2021-05-03T02:48:45Z mindCrime_ joined #lisp 2021-05-03T02:54:55Z jeosol quit (Quit: Connection closed) 2021-05-03T02:59:05Z tessier joined #lisp 2021-05-03T02:59:05Z tessier quit (Changing host) 2021-05-03T02:59:05Z tessier joined #lisp 2021-05-03T03:01:34Z skapate joined #lisp 2021-05-03T03:02:07Z skapata quit (Ping timeout: 260 seconds) 2021-05-03T03:04:12Z rumbler31 quit (Remote host closed the connection) 2021-05-03T03:04:18Z beach: Good morning everyone! 2021-05-03T03:04:18Z minion: beach, memo from nij: Good news from theothornhill! Seems like UltraSpec is going to come back alive :-D 2021-05-03T03:07:22Z White_Flame quit (Ping timeout: 268 seconds) 2021-05-03T03:09:08Z ebrasca quit (Remote host closed the connection) 2021-05-03T03:12:11Z White_Flame joined #lisp 2021-05-03T03:13:51Z pbaille joined #lisp 2021-05-03T03:16:46Z mindCrime_ quit (Ping timeout: 240 seconds) 2021-05-03T03:18:12Z pbaille quit (Ping timeout: 240 seconds) 2021-05-03T03:25:07Z semz quit (Ping timeout: 250 seconds) 2021-05-03T03:38:43Z semz joined #lisp 2021-05-03T03:38:43Z semz quit (Changing host) 2021-05-03T03:38:43Z semz joined #lisp 2021-05-03T03:40:35Z remby96 joined #lisp 2021-05-03T03:45:01Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-03T03:48:19Z orivej quit (Ping timeout: 252 seconds) 2021-05-03T03:49:57Z orivej joined #lisp 2021-05-03T03:50:05Z nij quit (Quit: ERC (IRC client for Emacs 27.2)) 2021-05-03T03:54:15Z dukester left #lisp 2021-05-03T04:01:32Z klltkr joined #lisp 2021-05-03T04:01:38Z klltkr quit (Client Quit) 2021-05-03T04:03:41Z Spawns_Carpeting quit (Ping timeout: 240 seconds) 2021-05-03T04:04:59Z nij joined #lisp 2021-05-03T04:05:00Z nij: sp 2021-05-03T04:05:11Z nij: (oops) 2021-05-03T04:07:31Z nij: How is an ffi designed? In particular, if I want to call a foreign abstract object (and play with it) in lisp, what should I do? Must I write a wrapper that models the foreign object in terms of a lisp object? Are there some known cases that won't work in lisp? 2021-05-03T04:08:06Z Spawns_Carpeting joined #lisp 2021-05-03T04:09:11Z remby96: just need the map the calling conventions to what ever language you want right? 2021-05-03T04:11:11Z jcowan: THere are two ways to do it: write the C (or Blub) function using a specific signature that Lisp uses, or write a Lisp function that provides a C signature. In other words, either weird C glue or weird Lisp glue. 2021-05-03T04:13:40Z nij: remby96: what do you mean? 2021-05-03T04:13:44Z orivej quit (Ping timeout: 246 seconds) 2021-05-03T04:13:59Z nij: jcowan: it's not just for C.. i'm thinking for all kinds of foreign lang. 2021-05-03T04:14:26Z moon-child: most languages that are willing to speak to other languages do so using the c abi 2021-05-03T04:14:33Z pbaille joined #lisp 2021-05-03T04:14:43Z nij: how about those that are non-willing? 2021-05-03T04:14:44Z moon-child: the primary exception being java, and there is abcl 2021-05-03T04:15:22Z White_Flame: FFIs are pretty complicated, in terms of GC walking the stack and knowing what's lisp vs C (or other), as well as needing native pointers & allocations represented in with lisp tagged values 2021-05-03T04:15:29Z moon-child: c++ abi has been implemented by non-c++ compilers twice as far as I know (d and raku). Both implementations are incomplete. C++ abi is huge and horrible. That's not a road you want to go down 2021-05-03T04:15:31Z White_Flame: then there's interaction with threads, too, and all sorts of balls of wax 2021-05-03T04:15:35Z moon-child: other compiled languages tend not to have stable abis 2021-05-03T04:16:34Z nij: in summary - it's damn complicated.. don't touch it? ;; <= correct? 2021-05-03T04:16:52Z nij: instead - learn the lang and write in terms of it.. it makes life easier? 2021-05-03T04:16:55Z remby96: moon-child any idea why not? 2021-05-03T04:17:13Z White_Flame: you asked how it's _designed_. feel free to use them. don't try to design them as some introductory project 2021-05-03T04:17:20Z nij: Very interesting.. I wonder why languages are so hard to translate.. even in the realm of computer science. 2021-05-03T04:17:48Z remby96: popular languages reflect industry more I think 2021-05-03T04:18:09Z White_Flame: every language has its own notion of memory allocation, how strings are structured, etc 2021-05-03T04:18:24Z moon-child: most languages' semantics are generally incommensurable 2021-05-03T04:18:32Z moon-child: appearances notwithstanding 2021-05-03T04:18:40Z White_Flame: their ABIs are tailored to the strengths of the language 2021-05-03T04:18:50Z moon-child: even languages with very similar type systems, like lua and js, you would probably run into trouble with 2021-05-03T04:19:06Z pbaille quit (Ping timeout: 260 seconds) 2021-05-03T04:19:40Z remby96: makes me wonder how graal works now 2021-05-03T04:20:01Z White_Flame: they have a single ur-language underneath that everything compiles to, afaik 2021-05-03T04:20:18Z White_Flame: and then the various languages share compiler infrastructure 2021-05-03T04:20:47Z White_Flame: so nothing is truly foreign there 2021-05-03T04:21:03Z loli: IRs/Abstract machines are rather nice at that 2021-05-03T04:21:26Z moon-child: remby96: _compiling_ one language to another isn't difficult. What's difficult is retaining the language-level semantics and type system as you do so in a way that makes interoperation practical 2021-05-03T04:22:00Z Nilby joined #lisp 2021-05-03T04:22:01Z remby96: ah I see 2021-05-03T04:22:18Z nij: right 2021-05-03T04:22:33Z nij: i see. thanks :) 2021-05-03T04:24:09Z White_Flame: and what's difficult is sharing a single process address space with a different language's running binary stuff 2021-05-03T04:24:26Z loli: The type theory bit shouldn't be too bad, you are taking one formal mathematical system and compiling it to a stronger or weaker one. Idris, and Agda both compile down to Haskell this way 2021-05-03T04:24:47Z loli: Haskell and other languages compile down to eventually remove their type theory, or compile it down to an IR with weaker type theory 2021-05-03T04:25:44Z White_Flame: in fact, on the symbolics lisp machines, they had a C compiler that generated lisp processor machine code and played nicely with the system (if slow) 2021-05-03T04:25:58Z nij: > moon-child: "What's difficult is retaining the language-level semantics and type system as you do so in a way that makes interoperation practical" ;; <= this! 2021-05-03T04:26:14Z Guester8 joined #lisp 2021-05-03T04:27:14Z CrashTestDummy2 joined #lisp 2021-05-03T04:27:57Z loli: there is interesting research with graded model types, where you can get a system F system out of it, so you could program in such a system and use languages with type systems in System F, or export to them in this way 2021-05-03T04:28:15Z saturn2: C programs on the lisp machine created a lisp byte-vector to function as the C program's "memory" 2021-05-03T04:28:29Z White_Flame: yep, and it didn't have a native char* 2021-05-03T04:29:30Z loli: where the C programs a subset of C on those lisp machines? 2021-05-03T04:29:44Z moon-child: loli: interesting, have a link to that? 2021-05-03T04:30:06Z CrashTestDummy3 quit (Ping timeout: 240 seconds) 2021-05-03T04:30:18Z loli: moon-child: I'd have to drudge that up, but it comes out of better way to do QTT (think linear types on steroids) 2021-05-03T04:30:56Z pyc: Is it possible to do string interpolation within format using variable names, e.g. something along the lines of (format t "hello, {{name}}") ? 2021-05-03T04:32:37Z no-defun-allowed: The CL-INTERPOL library lets you do that. 2021-05-03T04:33:09Z loli: does CL-INTERPOL change the " reader macro, or does it define a custom define function? 2021-05-03T04:33:19Z no-defun-allowed: It is #?"hello, ${name}" but it's the same general concept. 2021-05-03T04:33:21Z loli: a custom format8 2021-05-03T04:33:25Z no-defun-allowed: It defines a #? reader macro. 2021-05-03T04:35:20Z pyc: thanks! 2021-05-03T04:35:33Z no-defun-allowed: I heard that they could run TeX on a Lisp machine using the C implementation, so it probably worked well enough. 2021-05-03T04:36:50Z no-defun-allowed: ...though TeX is written in literate Pascal, and a conversion program generates the C code. 2021-05-03T04:37:17Z loli: why the conversion, do more systems just run C, or is it due to performance or maintainability concerns? 2021-05-03T04:37:46Z no-defun-allowed: Yeah, there are more systems with C compilers than Pascal - Lisp machines had both though. 2021-05-03T04:38:15Z loli: Is there a lot of literature on the Lisp machine, it seems a lot of that knowledge was lost with time 2021-05-03T04:40:09Z narimiran joined #lisp 2021-05-03T04:46:17Z pbaille joined #lisp 2021-05-03T04:47:20Z remby96: yeah I think pretty much everything supports the cabi 2021-05-03T04:49:07Z PuercoPop joined #lisp 2021-05-03T04:49:41Z PuercoPop quit (Client Quit) 2021-05-03T04:50:26Z pbaille quit (Ping timeout: 240 seconds) 2021-05-03T05:00:42Z pbaille joined #lisp 2021-05-03T05:00:59Z Oladon quit (Quit: Leaving.) 2021-05-03T05:04:47Z rumbler31 joined #lisp 2021-05-03T05:06:16Z beach: loli: I think it is fairly well documented. 2021-05-03T05:08:37Z phoe: good morning 2021-05-03T05:08:51Z beach: Hello phoe. 2021-05-03T05:09:02Z rumbler31 quit (Ping timeout: 246 seconds) 2021-05-03T05:10:24Z phoe: hey hi 2021-05-03T05:10:30Z White_Flame: as far as symbolics goes, there's a lot of scans of both manuals & internal documents that are online now 2021-05-03T05:11:09Z White_Flame: there's no complete description of everything from the ground up, though, especially in terms of making a bootable image from scratch 2021-05-03T05:11:39Z White_Flame: not sure about LMI's stuff or others 2021-05-03T05:12:46Z loli: I guess i haven't been looking too hard then. I've found image literature lacking in general. Factor and MIT Scheme have some bits, but not much besides that 2021-05-03T05:13:04Z remby96: there was some website that had a lot ... I had to use it to get some info on the ibm 7094 2021-05-03T05:14:09Z gaqwas joined #lisp 2021-05-03T05:14:09Z gaqwas quit (Changing host) 2021-05-03T05:14:09Z gaqwas joined #lisp 2021-05-03T05:14:16Z White_Flame: probably bitsavers: http://bitsavers.org/pdf/ 2021-05-03T05:16:26Z remby96: ah it was this one http://www.frobenius.com/index.htm 2021-05-03T05:17:02Z remby96: univac lisp source here http://www.frobenius.com/source.htm 2021-05-03T05:18:55Z remby96: I used bitsavers to get the manual 2021-05-03T05:23:06Z loli: thanks remby96 and White_Flame 2021-05-03T05:23:14Z remby96: np 2021-05-03T05:27:40Z koolkat332 quit (Ping timeout: 265 seconds) 2021-05-03T05:32:47Z slyrus_ joined #lisp 2021-05-03T05:33:53Z Guester8 quit (Ping timeout: 240 seconds) 2021-05-03T05:37:13Z slyrus_ quit (Ping timeout: 252 seconds) 2021-05-03T05:37:49Z imode quit (Ping timeout: 265 seconds) 2021-05-03T05:54:22Z theruran quit (Quit: Connection closed for inactivity) 2021-05-03T05:55:46Z theruran joined #lisp 2021-05-03T05:56:15Z xkapastel quit (Quit: Connection closed for inactivity) 2021-05-03T06:03:12Z CrazyPython quit (Read error: Connection reset by peer) 2021-05-03T06:04:10Z pbaille quit (Ping timeout: 252 seconds) 2021-05-03T06:06:44Z monolithic joined #lisp 2021-05-03T06:09:40Z gaqwas quit (Ping timeout: 252 seconds) 2021-05-03T06:11:22Z skapate quit (Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the IRC world.) 2021-05-03T06:16:58Z varjag joined #lisp 2021-05-03T06:18:40Z waleee-cl quit (Quit: Connection closed for inactivity) 2021-05-03T06:19:06Z sernamar joined #lisp 2021-05-03T06:26:45Z Shinmera: ELS is starting in half an hour. 2021-05-03T06:26:48Z cranium_ joined #lisp 2021-05-03T06:32:22Z slyrus_ joined #lisp 2021-05-03T06:34:23Z slyrus_ quit (Remote host closed the connection) 2021-05-03T06:35:17Z saganman joined #lisp 2021-05-03T06:35:48Z varjag quit (Ping timeout: 268 seconds) 2021-05-03T06:37:19Z slyrus_ joined #lisp 2021-05-03T06:41:34Z slyrus_ quit (Ping timeout: 252 seconds) 2021-05-03T06:42:30Z momozor joined #lisp 2021-05-03T06:44:34Z susam: Thanks, Shinmera! 2021-05-03T06:46:08Z remby96: what is ELS? 2021-05-03T06:47:32Z remby96 quit (Quit: Connection closed) 2021-05-03T06:48:32Z momozor left #lisp 2021-05-03T06:48:59Z fourier joined #lisp 2021-05-03T06:49:45Z jeosol joined #lisp 2021-05-03T06:50:44Z susam: remby96: European Lisp Symposium - https://european-lisp-symposium.org/2021/index.html / https://www.twitch.tv/elsconf 2021-05-03T06:52:39Z hypercube quit (Ping timeout: 260 seconds) 2021-05-03T06:55:52Z pbaille joined #lisp 2021-05-03T06:57:31Z Nilby quit (Ping timeout: 276 seconds) 2021-05-03T06:59:58Z pve joined #lisp 2021-05-03T07:06:15Z saganman quit (Quit: Leaving) 2021-05-03T07:08:06Z sernamar quit (Quit: ERC (IRC client for Emacs 26.1)) 2021-05-03T07:13:54Z testuser joined #lisp 2021-05-03T07:14:30Z testuser quit (Client Quit) 2021-05-03T07:14:58Z pve quit (Ping timeout: 265 seconds) 2021-05-03T07:16:33Z pve joined #lisp 2021-05-03T07:18:48Z mhd2018 joined #lisp 2021-05-03T07:22:11Z catalinbostan joined #lisp 2021-05-03T07:23:58Z theothornhill joined #lisp 2021-05-03T07:26:07Z elflng quit (Ping timeout: 252 seconds) 2021-05-03T07:27:47Z elflng joined #lisp 2021-05-03T07:35:30Z OlCe joined #lisp 2021-05-03T07:36:12Z __jrjsmrtn__ joined #lisp 2021-05-03T07:37:13Z _jrjsmrtn quit (Ping timeout: 240 seconds) 2021-05-03T07:38:44Z CrashTestDummy3 joined #lisp 2021-05-03T07:41:33Z CrashTestDummy2 quit (Ping timeout: 240 seconds) 2021-05-03T07:47:00Z jeosol quit (Quit: Connection closed) 2021-05-03T07:50:17Z swamps quit (Quit: EXIT) 2021-05-03T07:50:41Z undvrainbowvita8 joined #lisp 2021-05-03T07:52:24Z ljavorsk joined #lisp 2021-05-03T07:55:16Z pbaille quit (Quit: Leaving...) 2021-05-03T07:55:17Z mhd2018 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2021-05-03T08:00:00Z varjag joined #lisp 2021-05-03T08:04:50Z jeosol joined #lisp 2021-05-03T08:05:03Z rumbler31 joined #lisp 2021-05-03T08:07:23Z anticrisis quit (Read error: Connection reset by peer) 2021-05-03T08:07:26Z hendursa1 joined #lisp 2021-05-03T08:09:33Z hendursaga quit (Ping timeout: 240 seconds) 2021-05-03T08:09:34Z rumbler31 quit (Ping timeout: 252 seconds) 2021-05-03T08:13:42Z jeosol quit (Ping timeout: 240 seconds) 2021-05-03T08:14:09Z jeosol joined #lisp 2021-05-03T08:22:17Z aartaka joined #lisp 2021-05-03T08:24:04Z aartaka_d joined #lisp 2021-05-03T08:26:33Z Oddity quit (Ping timeout: 240 seconds) 2021-05-03T08:26:37Z aartaka quit (Ping timeout: 252 seconds) 2021-05-03T08:27:13Z aartaka joined #lisp 2021-05-03T08:28:21Z aartaka_d quit (Ping timeout: 260 seconds) 2021-05-03T08:35:52Z actuallybatman quit (Ping timeout: 240 seconds) 2021-05-03T08:36:13Z Oddity joined #lisp 2021-05-03T08:44:32Z lotuseater joined #lisp 2021-05-03T08:44:41Z shifty quit (Ping timeout: 260 seconds) 2021-05-03T08:44:56Z beach: theothornhill: Got your message! That's great news! 2021-05-03T08:44:59Z shifty joined #lisp 2021-05-03T08:45:12Z attila_lendvai_ joined #lisp 2021-05-03T08:48:01Z theothornhill: beach: Great - yeah! 2021-05-03T08:48:01Z minion: theothornhill, memo from nij: I've read the log again.. and I melted. Thanks so much :-D Let me know if I can help any.. (beware i'm just a noob)! 2021-05-03T08:50:41Z leo_song quit (Read error: Connection reset by peer) 2021-05-03T08:52:44Z theothornhill: nij: I'm sure I'll need a lot of help down the line. I'll try to set up some infrastructure. My general goal would be to make it as collaborative as possible, since making a single source of truth shouldn't happen again. 2021-05-03T08:53:22Z beach: Beware of giving just anyone arbitrary access though. 2021-05-03T08:54:26Z Colleen quit (Ping timeout: 246 seconds) 2021-05-03T08:55:47Z shifty quit (Ping timeout: 268 seconds) 2021-05-03T08:56:03Z shifty joined #lisp 2021-05-03T08:57:07Z Colleen joined #lisp 2021-05-03T08:57:37Z orivej joined #lisp 2021-05-03T09:00:02Z arcontethegreat[ quit (Quit: Idle for 30+ days) 2021-05-03T09:00:11Z theothornhill: beach: yeah 2021-05-03T09:00:47Z leo_song joined #lisp 2021-05-03T09:01:51Z drl joined #lisp 2021-05-03T09:03:45Z catalinbostan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-03T09:04:28Z cracauer` joined #lisp 2021-05-03T09:04:33Z cracauer quit (Read error: Connection reset by peer) 2021-05-03T09:05:41Z catalinbostan joined #lisp 2021-05-03T09:09:46Z random-nick joined #lisp 2021-05-03T09:12:18Z pyc: Is (let ((solutions nil) (metadata nil)) ...) a common coding style? Or do you prefer to write (let (solutions metadata) ...) 2021-05-03T09:12:56Z no-defun-allowed: Yes, the latter makes it look like SOLUTIONS and METADATA are not set to interesting values. 2021-05-03T09:13:57Z beach: pyc: More explicitly, the first means that you initialize those to some default values, or possibly to Boolean false. 2021-05-03T09:14:13Z beach: pyc: The second means that you intend to assign to them before you use them. 2021-05-03T09:14:21Z supercoven joined #lisp 2021-05-03T09:14:55Z pyc: thanks no-defun-allowed , beach 2021-05-03T09:15:23Z splittist: pyc: to indicate that SOLUTIONS is an initially empty list, you'd say ...((solutions '())... 2021-05-03T09:15:24Z drl quit (Quit: Leaving) 2021-05-03T09:15:30Z theBlackDragon quit (Quit: Boom.) 2021-05-03T09:15:45Z beach: Right. 2021-05-03T09:29:15Z mindCrime_ joined #lisp 2021-05-03T09:34:11Z mindCrime_ quit (Ping timeout: 240 seconds) 2021-05-03T09:38:02Z catalinbostan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-03T09:39:57Z catalinbostan joined #lisp 2021-05-03T09:41:26Z phoe: theothornhill: let's talk after the ELS 2021-05-03T09:46:57Z theothornhill: phoe: anytime 2021-05-03T09:47:03Z phoe: <3 2021-05-03T09:47:11Z orivej quit (Ping timeout: 240 seconds) 2021-05-03T09:54:04Z attila_lendvai_ quit (Ping timeout: 252 seconds) 2021-05-03T09:54:58Z orivej joined #lisp 2021-05-03T10:00:07Z vegansbane6963 quit (Quit: The Lounge - https://thelounge.chat) 2021-05-03T10:06:02Z surabax joined #lisp 2021-05-03T10:06:17Z saganman joined #lisp 2021-05-03T10:06:17Z saganman quit (Changing host) 2021-05-03T10:06:17Z saganman joined #lisp 2021-05-03T10:07:03Z frgo quit (Remote host closed the connection) 2021-05-03T10:07:28Z frgo joined #lisp 2021-05-03T10:12:29Z lotuseater: maybe a dumb question again, what does ELS stand for? 2021-05-03T10:12:54Z beach: European Lisp Symposium 2021-05-03T10:13:24Z no-defun-allowed: minion: what does ELS stand for? 2021-05-03T10:13:24Z minion: Epigenous Limnimeter Schlenter 2021-05-03T10:16:11Z lotuseater: ah 2021-05-03T10:16:32Z lotuseater: no-defun-allowed: did you expect that? ^^ 2021-05-03T10:16:42Z andreyorst[m] joined #lisp 2021-05-03T10:16:56Z no-defun-allowed: I know minion comes up with something, but never what. 2021-05-03T10:17:29Z _death: minion: what does SBCL stand for? 2021-05-03T10:17:29Z minion: Sloppage Bepelt Common Lisp 2021-05-03T10:18:14Z no-defun-allowed: minion: what does SICL stand for? 2021-05-03T10:18:14Z minion: Soldado Interparoxysmal Common Lisp 2021-05-03T10:20:27Z amb007 quit (Read error: Connection reset by peer) 2021-05-03T10:21:03Z trokotech quit (Ping timeout: 265 seconds) 2021-05-03T10:21:23Z no-defun-allowed: Following a test in private messages, I think the -CL suffix → Common Lisp rule isn't random. 2021-05-03T10:21:42Z amb007 joined #lisp 2021-05-03T10:26:25Z beach: That's right. 2021-05-03T10:27:42Z beach: lotuseater: ELS is currently the only international Lisp forum. There used to be an International Lisp Conference, it it might happen again, organized by the ALU (Association of Lisp Users). But I think the ALU is having problems recruiting (unpaid) staff. 2021-05-03T10:28:39Z frost-lab quit (Quit: Connection closed) 2021-05-03T10:29:33Z beach: lotuseater: It doesn't matter much if there is one or two, nor what they are called. The only potentially problematic thing about the current situation is that ELS is always held in Europe, when it is a physical gathering. So people from other parts of the world are always the ones who have to travel far. 2021-05-03T10:30:23Z beach: lotuseater: But ELS (when it is in a physical place) has regular participants from Japan, USA, etc. 2021-05-03T10:31:54Z beach now suspects this was way more information than what lotuseater has in mind. 2021-05-03T10:32:59Z lotuseater: no thank you :) 2021-05-03T10:32:59Z nij: Ah ELS is happening.. these two days are the two most busiest in this semester.. :-( it will be uploaded later? 2021-05-03T10:33:07Z phoe: yes 2021-05-03T10:33:23Z plisp2 quit (Ping timeout: 260 seconds) 2021-05-03T10:33:38Z lotuseater: and yes, i downloaded some pdfs from the last years and last year saw your some older talk about LOOP beach 2021-05-03T10:33:57Z beach: I guess a conference held in North America would have most participants take a flight, whereas in Europe, there are these things known as "trains", so it is probably better for the environment to hold conferences in Europe. 2021-05-03T10:34:29Z beach: lotuseater: Oh, OK. That one was a few years back. :) 2021-05-03T10:35:25Z nij: Oh there are lots of historical data available :D! I will have to binge them soon. 2021-05-03T10:35:52Z nij: beach: probably the best for environment if it's held on twitch 2021-05-03T10:36:34Z beach: That's not the only consideration though. 2021-05-03T10:36:40Z nij: By the way.. why do the keynote talks seem unrelated to lisp to me? i'm too noobie? 2021-05-03T10:37:20Z phoe: nij: the first keynote was actually about Lisp in practice! 2021-05-03T10:37:43Z phoe: live and interactive programming using Lisp, interacting with music generators or video presentations or robots 2021-05-03T10:39:13Z nij: mmmhm that one seems closer to lisp, at least "symbolic" is used in the topic 2021-05-03T10:39:13Z lotuseater: or debugging satellites from far away? :D 2021-05-03T10:39:16Z nij: but the others..? 2021-05-03T10:39:39Z nij: Where can I find the past videos? 2021-05-03T10:40:04Z karlosz quit (Quit: karlosz) 2021-05-03T10:41:49Z phoe: like from previous year? 2021-05-03T10:41:53Z phoe: https://www.youtube.com/channel/UC55S8D_44ge2cV10aQmxNVQ/videos 2021-05-03T10:45:52Z nij: Yeah, I'm aware of this. But it doesn't have all of them. 2021-05-03T10:46:07Z nij: By the way, I've watched first-class global env.. how does that go? 2021-05-03T10:47:12Z shifty quit (Ping timeout: 252 seconds) 2021-05-03T10:47:19Z jackdaniel: nij: https://github.com/s-expressionists/Clostrum 2021-05-03T10:47:31Z shifty joined #lisp 2021-05-03T10:47:38Z theothornhill quit (Ping timeout: 265 seconds) 2021-05-03T10:47:56Z paul0 quit (Quit: Leaving) 2021-05-03T10:49:26Z vegansbane6963 joined #lisp 2021-05-03T10:50:36Z nij: It's done? 2021-05-03T10:51:40Z nij: Btw, is there a way to get the place of a nested object? Something like 2021-05-03T10:51:49Z jmercouris: nij: something like...? 2021-05-03T10:52:00Z jmercouris: I'm here on the edge of my seat 2021-05-03T10:52:08Z nij: (setf (get-nested (nij pants pocket wallet note content)) "Do this do that") 2021-05-03T10:52:20Z phoe: sounds like a use case for alexandria:compose 2021-05-03T10:52:24Z nij: jmercouris: it took me time to balance the parens.. 2021-05-03T10:52:32Z jackdaniel: you may need to define a setf expander for that 2021-05-03T10:52:37Z nij: phoe: oh? How do you d othat!? 2021-05-03T10:52:39Z jmercouris: defmethod setf 2021-05-03T10:52:43Z no-defun-allowed: I wonder if (setf (arbitrary-arrows-library:-> nij pants pocket wallet note content) "Do this do that") works. 2021-05-03T10:52:48Z nij: jackdaniel: i dunno maybe some macro suffices. 2021-05-03T10:52:50Z phoe: it should work! 2021-05-03T10:53:14Z phoe: no-defun-allowed: binding-arrows should work, I've paid attention to define setf expanders that should work 2021-05-03T10:53:15Z nij: phoe: how?!?! 2021-05-03T10:53:20Z lotuseater: when I updated my quicklisp I saw now there is also ALEXANDRIA-2 o.O 2021-05-03T10:53:27Z jmercouris: WHAT? another Alexandria? 2021-05-03T10:53:29Z jmercouris: This cannot be 2021-05-03T10:53:36Z jmercouris: What is the remote for this? 2021-05-03T10:53:43Z jackdaniel: it is the same alexandria 2021-05-03T10:53:44Z phoe: alexandria-2 is defined by alexandria 2021-05-03T10:53:48Z jackdaniel: but it has another package 2021-05-03T10:53:50Z jmercouris: an extension? 2021-05-03T10:53:54Z lotuseater: don't know, but seems to have the same set of symbols 2021-05-03T10:53:55Z phoe: just for new symbols that cannot be added to the old alexandria package 2021-05-03T10:53:57Z jackdaniel: to not break existing libraries by i.e adding a new symbol 2021-05-03T10:54:08Z jmercouris: very conservative. 2021-05-03T10:54:12Z lotuseater: ah :) 2021-05-03T10:54:17Z jmercouris: what kinds of symbols cannot be added? 2021-05-03T10:54:21Z phoe: any 2021-05-03T10:54:23Z jmercouris: are there people :USEing Alexandria or something? 2021-05-03T10:54:27Z phoe: yes 2021-05-03T10:54:28Z phoe: tons of them 2021-05-03T10:54:31Z jmercouris: Ay yai yai! 2021-05-03T10:54:48Z jmercouris: Dangerous! 2021-05-03T10:54:50Z lotuseater: hm i thought :IMPORT-FROM is better 2021-05-03T10:54:57Z jmercouris: It definitely is 2021-05-03T10:55:07Z jmercouris: you should only :USE internal packages in my opinion 2021-05-03T10:55:29Z no-defun-allowed: Yes, arrows work. 2021-05-03T10:55:37Z nij: no-defun-allowed: hmm your method works? To get the content of note, we need (getf note 'content)? 2021-05-03T10:55:48Z catalinbostan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-03T10:55:49Z no-defun-allowed: Some parts elided: (setf (arrows:-> *hayley* pocket note) "Test this code") *hayley* ⇒ #S(PERSON :POCKET #S(PAPER :NOTE "Test this code")) 2021-05-03T10:55:55Z no-defun-allowed: GETF? 2021-05-03T10:55:58Z nij: So a level above is (getf (getf pocket 'note) 'content') 2021-05-03T10:56:01Z jackdaniel: lotuseater: adding a nickname for the package and not importing anything is even better 2021-05-03T10:56:11Z jackdaniel: i.e (a:ensure-list …) seems to be concise 2021-05-03T10:56:14Z jmercouris: makes refactoring easier 2021-05-03T10:56:16Z _death: nij: there are libraries for that, like "access".. or you could just write your own.. but I think this pointer chasing is not a good sign.. check out Law of Demeter 2021-05-03T10:56:19Z no-defun-allowed: The elided part was precisely (defstruct (person (:conc-name "")) pocket) (defstruct (paper (:conc-name "")) note) (defvar *hayley* (make-person :pocket (make-paper :note ""))) 2021-05-03T10:56:21Z jmercouris: I agree with Mr. Kochmanski 2021-05-03T10:56:45Z no-defun-allowed: You're set if the accessors are actual functions, as in the arrow example. 2021-05-03T10:56:47Z jackdaniel: you got the spelling wrong 2021-05-03T10:57:07Z nij: _death: EXXACTLY! 2021-05-03T10:57:14Z nij: the thing i want, thanks :D 2021-05-03T10:57:26Z jmercouris: I agree with Mr. Kochmański 2021-05-03T10:57:27Z nij: =>(setf (accesses place '(:a :type :alist) '(2 :type array) '(:b :type 'hash-table)) 3) 2021-05-03T10:57:31Z nij: https://github.com/AccelerationNet/access 2021-05-03T10:57:32Z no-defun-allowed slow claps 2021-05-03T10:57:46Z lotuseater: ok jackdaniel, I'll try to remember :) 2021-05-03T10:57:51Z jmercouris: I wonder if you have German heritage 2021-05-03T10:58:02Z jmercouris: now that I am thinking about it your last name looks like "Kochman", which is German 2021-05-03T10:58:13Z jmercouris: you just added "ski" to it at some time and Polishified it 2021-05-03T10:58:26Z jackdaniel: uhm 2021-05-03T10:58:27Z catalinbostan joined #lisp 2021-05-03T10:59:48Z lotuseater: i find that feature in the DrRacket IDE useful, it points to where a symbol comes from 2021-05-03T11:00:02Z nij: I wonder how access is implemented in principle. It doesn't use much macro.. but it doesn't seem to hack setf-expander either 2021-05-03T11:00:45Z saganman quit (Read error: Connection reset by peer) 2021-05-03T11:01:01Z lotuseater: so the nicknames for other used libs goes to the .asd file? 2021-05-03T11:01:09Z phoe: nope 2021-05-03T11:01:09Z saganman joined #lisp 2021-05-03T11:01:09Z saganman quit (Changing host) 2021-05-03T11:01:09Z saganman joined #lisp 2021-05-03T11:01:13Z phoe: nicknames go into package definition 2021-05-03T11:01:17Z phoe: both global and local 2021-05-03T11:01:31Z lotuseater: yeah for the package itself 2021-05-03T11:01:38Z lotuseater: so also for other used ones? 2021-05-03T11:01:48Z phoe: what do you mean, other used ones? 2021-05-03T11:02:03Z lotuseater: makes sense, better interaction without having to build the entire system 2021-05-03T11:02:23Z lotuseater: hm when i want to use ALEXANDRIA with the nickname A 2021-05-03T11:03:51Z nij: ? 2021-05-03T11:04:28Z nij: lotuseater: https://gist.github.com/phoe/2b63f33a2a4727a437403eceb7a6b4a3 this could b helpful 2021-05-03T11:05:02Z lotuseater: haha "this is a rant" :D 2021-05-03T11:06:18Z nij: phoe in your example, it doesn't make sense to call golden-utils:a:alist-get, right? 2021-05-03T11:06:19Z lotuseater: ah with local-nicknames 2021-05-03T11:06:34Z nij: And it wouldn't make sense to make it make sense? 2021-05-03T11:07:02Z nij: I wonder why CL doesn't support nested name space.. something like a:b:c:d:alist-get 2021-05-03T11:07:16Z no-defun-allowed: Crikey, even the README for ACCESS shows off bad programming style, butchering the values of unexported symbols and slots. 2021-05-03T11:09:23Z shifty quit (Ping timeout: 265 seconds) 2021-05-03T11:09:43Z no-defun-allowed: "It should however allow you to prototype more rapidly and change the backing data stores without having to change their access (ie I can switch from a plist to an alist and everything will continue to work)" 2021-05-03T11:09:47Z no-defun-allowed: Let me tell you about DEFUN... 2021-05-03T11:09:54Z shifty joined #lisp 2021-05-03T11:10:31Z nij: uh.. 2021-05-03T11:10:58Z no-defun-allowed: Yes, it is allowed this time. 2021-05-03T11:12:00Z Krystof joined #lisp 2021-05-03T11:16:25Z _death: there are libraries in other languages that do similar things, like lens (haskell) or specter (clojure).. but again, I think it's suspect 2021-05-03T11:17:25Z pyc: Is there no standard library function to do what (getf *map* (intern (string-upcase key) :keyword))) does, i.e. given a key as a string, look that up in plist and return its value? 2021-05-03T11:17:48Z pyc: that makes me think if I am misusing plist. perhaps plist is not meant for lookups where my lookup key is a string? 2021-05-03T11:20:39Z _death: pyc: interning should usually not be done willy-nilly.. sometimes a hash table mapping strings to whatever will do 2021-05-03T11:22:02Z pyc: My *map* is a quoted plist that has configuration data. It plays the role of what JSON or YAML might play in another language. Is it possible to create a hash as a literal in CL? With plist I have the advantage that I can create it as a single literal (quoted plist, e.g., '((:name "harry" :age 20) (:name "sally" :age 21) ...) 2021-05-03T11:23:23Z _death: pyc: for a single plist, there's alexandria:plist-hash-table.. you can always write a small function to translate from a form with nice syntax to whatever representation 2021-05-03T11:24:25Z theBlackDragon joined #lisp 2021-05-03T11:24:26Z nij: so.. is access (cl) bad style? it's hard for newb to tell us cl stuff are usually under documented 2021-05-03T11:25:31Z orivej quit (Ping timeout: 260 seconds) 2021-05-03T11:25:35Z pyc: _death: thanks. let me revisit Practical Common Lisp. I think it has an example of what I am trying to do in its 2nd chapter (a simple database). The author did it without using any external lib, so it may have something helpful for my situation. 2021-05-03T11:26:24Z _death: pyc: sure, you can easily write plist-hash-table.. I just gave a reference so you can look it up 2021-05-03T11:26:45Z pyc: okay, let me read alexandria code too 2021-05-03T11:27:06Z no-defun-allowed: Very much so - if you want to get at or set some value in an object, then you should define an accessor function. That makes it actually possible to replace the representation, and to read e.g. (pocket nij) instead of (getf nij 'pocket). 2021-05-03T11:27:42Z no-defun-allowed: And then POCKET can signal an error if the input is malformed, whereas (getf '() 'pocket) would return NIL and the error would be blamed on another function. 2021-05-03T11:32:06Z kevingal joined #lisp 2021-05-03T11:32:07Z kevingal quit (Read error: Connection reset by peer) 2021-05-03T11:35:16Z pyc: _death: Do you have an opinion on this way of solving the problem: (defvar *map* '(:a "apple" :b "ball")) (getf *map* (find-symbol (string-upcase "a") "KEYWORD")) ? 2021-05-03T11:37:21Z shifty quit (Ping timeout: 268 seconds) 2021-05-03T11:38:09Z _death: pyc: when I need to translate from "external" strings to a fixed set of keywords, I don't use something as general as find-symbol 2021-05-03T11:39:51Z Krystof quit (Read error: Connection reset by peer) 2021-05-03T11:40:08Z raeda quit (Quit: Leaving) 2021-05-03T11:43:08Z Krystof joined #lisp 2021-05-03T11:44:24Z amb007 quit (Read error: Connection reset by peer) 2021-05-03T11:44:42Z amb007 joined #lisp 2021-05-03T11:46:46Z hypercube joined #lisp 2021-05-03T11:47:11Z amb007 quit (Read error: Connection reset by peer) 2021-05-03T11:47:48Z saganman left #lisp 2021-05-03T11:47:51Z amb007 joined #lisp 2021-05-03T11:48:44Z rodriga joined #lisp 2021-05-03T11:52:26Z amb007 quit (Read error: Connection reset by peer) 2021-05-03T11:53:06Z amb007 joined #lisp 2021-05-03T11:53:38Z irc_user quit (Quit: Connection closed for inactivity) 2021-05-03T11:55:06Z amb007 quit (Read error: Connection reset by peer) 2021-05-03T11:56:07Z amb007 joined #lisp 2021-05-03T12:07:55Z theothornhill joined #lisp 2021-05-03T12:11:43Z jeosol quit (Ping timeout: 240 seconds) 2021-05-03T12:13:33Z engblom: I have a long string with line-feed (so actually several lines of text). Now I need to find the first word on the line containing a string I searching for. Are there any ready functions I can use for this? 2021-05-03T12:15:02Z engblom: So what I basically would use |grep and |cut in shell for. 2021-05-03T12:15:03Z flip214: engblom: there are string-trim functions to remove whitespace. If you like regular expressions, there's a library CL-PPCRE. 2021-05-03T12:34:56Z beach: engblom: I would probably start by splitting the string using SPLIT-SEQUENCE (library). Then I would use SEARCH to determine whether the substring is present. Finally, I would use SUBSEQ to extract the string you want. 2021-05-03T12:40:11Z johnjay quit (Ping timeout: 240 seconds) 2021-05-03T12:43:48Z johnjay joined #lisp 2021-05-03T12:46:41Z klltkr joined #lisp 2021-05-03T12:46:57Z pjb: engblom: yes: (let* ((pos (search target text)) (bol (position #\linefeed text :end pos :from-end t))) (subseq text bol (position-if-not (function alpha-char-p) text :start bol))) 2021-05-03T12:47:29Z beach: Nice! 2021-05-03T12:49:16Z engblom: I am trying to use (string-trim '(#\Space #\Tab #\Newline) " ... a string with extra spaces and line feeds ...") but for some reason it does not trim anything. 2021-05-03T12:49:27Z pjb: Oops, I missed: (1+ bol) for the :start. 2021-05-03T12:49:36Z engblom: pjb: Thanks, I will try it 2021-05-03T12:49:39Z pjb: there: https://termbin.com/xqpac 2021-05-03T12:51:49Z pjb: engblom: note: there are two ASCII control codes: Carriage Return CR = 13, and Line Feed LF = 10. They are used to indicate new lines: CR alone on Macintosh, CR LF on MS-DOS and MS-Windows, LF alone on unix systems. Common Lisp abstract this away, by defining a #\newline character that is normally used to separate lines. 2021-05-03T12:52:44Z pjb: engblom: now, it is possible that a given implementation uses (eql #\newline #\return) or (eq #\newline #\linefeed) (or some other characters, for example, in ISO-8859-1 there's a NEL control code, and in unicode there are several code points that can be used. 2021-05-03T12:52:59Z pjb: engblom: so you said linefeed, so I used ~C to insert a line feed in the string. 2021-05-03T12:53:36Z pjb: engblom: but you probably meant a newline, and then ~% could be used with format or a literal new line could be inserted in a multi-line string literal. 2021-05-03T12:54:31Z pjb: engblom: this is why it is important to have a precise terminology, that you can acquire by reading the Hyperspec. http://www.lispworks.com/documentation/HyperSpec/Body/13_ag.htm 2021-05-03T12:54:42Z pjb: engblom: http://www.lispworks.com/documentation/HyperSpec/Body/13_ah.htm 2021-05-03T12:58:02Z pjb: engblom: note that only #\space, and #\newline are standard character names. The other non-graphic character names #\rubout #\page #\tab #\backspace #\return #\linefeed are only semi-standard: they may not exist if the implementation doesn't have the codes representing them. For example, in EBCDIC, some of them wouldn't exist (on the other hand, EBCDIC has a NEL code too, for a direct mapping to #\newline). 2021-05-03T12:58:37Z pjb: So my code above, using #\linefeed, is not conforming: on an implementation without #\linefeed, it would fail. 2021-05-03T12:58:58Z pjb: I should have written something like #+has-line-feed #\linefeed #-has-line-feed #\newline perhaps? 2021-05-03T13:00:38Z Bike joined #lisp 2021-05-03T13:00:53Z pjb: engblom: see https://github.com/informatimago/lisp/blob/master/common-lisp/cesarum/character.lisp 2021-05-03T13:02:19Z frodef joined #lisp 2021-05-03T13:02:41Z Adamclisi quit (Quit: leaving) 2021-05-03T13:04:44Z andreyor1 joined #lisp 2021-05-03T13:04:55Z engblom: I tried it, but sadly it fails: it gives an empty string in my case. I wonder if it is because of the linefeed being strange. When I use print on the string it puts ^M where the linefeeds are. 2021-05-03T13:05:21Z engblom: Also, somtimes there is extra whitespace before the first word. 2021-05-03T13:05:29Z beach: You must be using some weird OS, like Windows or something like that. 2021-05-03T13:05:51Z engblom: beach: Nope, but this is information fetched through telnet out of some network equipment. 2021-05-03T13:05:51Z splittist: EBCDIC performs two vital functions: (a) keeping IBM's Big Iron functioning into its nth decade; and (b) giving CL language lawyers something to talk about. 2021-05-03T13:07:01Z beach: engblom: I think you really need to take the two or more suggestions and experiment with them. It is hard to give you all the details for all the variations of the problem here on IRC. 2021-05-03T13:07:52Z engblom: Yes, I will have to experiment myself. The strange thing is that split-sequence with #\Linefeed works well. 2021-05-03T13:08:32Z andreyorst[m] quit (Ping timeout: 246 seconds) 2021-05-03T13:09:13Z cage_ joined #lisp 2021-05-03T13:10:01Z engblom: It is probably using linefeed + carrige return. 2021-05-03T13:10:37Z pjb: engblom: try the paste. 2021-05-03T13:10:47Z pjb: of course, you can s/linefeed/newline 2021-05-03T13:11:22Z pjb: engblom: like this: https://termbin.com/ibax 2021-05-03T13:12:11Z pjb: engblom: engblom it's improbable that your lisp strings contain both return and linefeed. Usually they're converted into a newline when reading, and converted back when writing. 2021-05-03T13:12:32Z pjb: engblom: note that ^M is not linefeed, it's carriage return! 2021-05-03T13:13:12Z pjb: If your string contains them I would suggest 1- select the right :external-format to avoid reading them. 2- removing them from your string (if you have newlines with them), or 3- replace them with newlines. 2021-05-03T13:13:48Z pjb: telnet, like most internet protocols, uses CR LF. 2021-05-03T13:14:17Z pjb: If you receive the data in binary and convert it to strings, then you need to handle the 13 10 bytes yourself and replace them with a #\newline character. 2021-05-03T13:15:55Z jcowan: White_Flame: Vacietis is a C compiler in the style of the Lisp Machine C compiler. 2021-05-03T13:21:11Z mrchampion quit (Ping timeout: 240 seconds) 2021-05-03T13:22:13Z shifty joined #lisp 2021-05-03T13:22:43Z engblom: pjb: Thank you, I will try to remove them from the string 2021-05-03T13:27:30Z pjb: engblom: https://termbin.com/pwf0 2021-05-03T13:29:21Z pjb: engblom: or just use com.informatimago.common-lisp.cesarum.ascii:ascii-string https://termbin.com/x9bv2 2021-05-03T13:31:44Z aggin joined #lisp 2021-05-03T13:34:24Z aggin quit (Client Quit) 2021-05-03T13:39:37Z wsinatra joined #lisp 2021-05-03T13:46:59Z brownxoat quit (Quit: Connection closed for inactivity) 2021-05-03T13:49:43Z scm joined #lisp 2021-05-03T13:50:12Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-03T13:54:35Z kevingal joined #lisp 2021-05-03T13:56:42Z Inline joined #lisp 2021-05-03T14:00:00Z shifty quit (Ping timeout: 265 seconds) 2021-05-03T14:00:19Z shifty joined #lisp 2021-05-03T14:00:45Z Inline quit (Client Quit) 2021-05-03T14:02:22Z Inline joined #lisp 2021-05-03T14:04:57Z ebrasca joined #lisp 2021-05-03T14:05:51Z thomasb06 joined #lisp 2021-05-03T14:07:43Z koolkat332 joined #lisp 2021-05-03T14:08:15Z jeosol joined #lisp 2021-05-03T14:09:41Z skapata joined #lisp 2021-05-03T14:17:32Z contrapunctus left #lisp 2021-05-03T14:17:36Z contrapunctus joined #lisp 2021-05-03T14:21:26Z cage_ quit (Quit: Leaving) 2021-05-03T14:22:34Z v88m joined #lisp 2021-05-03T14:22:44Z srhm joined #lisp 2021-05-03T14:25:00Z contrapunctus left #lisp 2021-05-03T14:25:13Z contrapunctus joined #lisp 2021-05-03T14:28:58Z brandflake11 joined #lisp 2021-05-03T14:31:14Z CrashTestDummy3 quit (Read error: Connection reset by peer) 2021-05-03T14:31:39Z CrashTestDummy3 joined #lisp 2021-05-03T14:34:05Z theothornhill joined #lisp 2021-05-03T14:35:55Z renzhi quit (Ping timeout: 250 seconds) 2021-05-03T14:36:22Z lukego: hey are the lightning demo slots all booked for ELS tomorrow? if there's space I could do a couple of minutes' demo of my SLIME backend for McCLIM. This is a new project that I'm hoping to finish and ship quickly. 2021-05-03T14:41:32Z koolkat332 quit (Ping timeout: 240 seconds) 2021-05-03T14:41:49Z yitzi joined #lisp 2021-05-03T14:43:23Z beach: Ask in #elsconf. 2021-05-03T14:43:30Z lukego: I'll wait for a lull e.g. tonight 2021-05-03T14:43:44Z lukego: (thanks) 2021-05-03T14:47:05Z jeosol: beach: are you here? 2021-05-03T14:47:08Z imode joined #lisp 2021-05-03T14:47:25Z beach: I am. 2021-05-03T14:47:38Z jeosol: Good references to your work that aided implementations of CLOS related functionality in several implementations; Congrats 2021-05-03T14:47:47Z andreyor1 quit (Remote host closed the connection) 2021-05-03T14:47:49Z jeosol: I think you are probably listening to the discussion now 2021-05-03T14:47:52Z jeosol: Very nice 2021-05-03T14:48:30Z renzhi joined #lisp 2021-05-03T14:48:31Z beach: Thanks. 2021-05-03T14:50:03Z nature joined #lisp 2021-05-03T14:51:58Z jeosol: I don't recall which particular one that Chris said, not a compiler guy 2021-05-03T14:52:01Z shifty quit (Ping timeout: 260 seconds) 2021-05-03T14:53:00Z shifty joined #lisp 2021-05-03T15:01:29Z ghard joined #lisp 2021-05-03T15:06:06Z attila_lendvai joined #lisp 2021-05-03T15:06:06Z attila_lendvai quit (Changing host) 2021-05-03T15:06:06Z attila_lendvai joined #lisp 2021-05-03T15:06:48Z aeth quit (Ping timeout: 252 seconds) 2021-05-03T15:08:02Z ilshad joined #lisp 2021-05-03T15:08:03Z nij quit (Quit: ERC (IRC client for Emacs 27.2)) 2021-05-03T15:08:07Z brandflake11: Hello all, there is a small function I am working on that is not making sense to me. I think it stems from my understanding of how variables work inside DEFUN and LOOP. Would anyone be interested in looking at the code?: https://pastebin.com/TMNvKvc7 2021-05-03T15:08:14Z brandflake11: I can explain more too if needed 2021-05-03T15:08:41Z aeth joined #lisp 2021-05-03T15:09:31Z beach: My addblocker doesn't allow me to view it. 2021-05-03T15:09:44Z beach: Could you use tymoon.eu/plaster instead. 2021-05-03T15:09:50Z ChoHag: Your ad blocker tells you what to do? 2021-05-03T15:09:55Z brandflake11: beach: Sure, I can do that! 2021-05-03T15:10:05Z ChoHag: Or do you just mean pastebin.com is crap? :P 2021-05-03T15:10:32Z beach: pastebin encourages me to disable my addblocker. 2021-05-03T15:10:48Z theothornhill quit (Remote host closed the connection) 2021-05-03T15:10:51Z ChoHag: (It's ad btw, they don't block maths...) 2021-05-03T15:11:06Z brandflake11: beach: Wait, tymoon.eu/plaster leads me to a blog website 2021-05-03T15:11:32Z jackdaniel: try https://plaster.tymoon.eu/edit# 2021-05-03T15:11:55Z brandflake11: jackdaniel: Thanks! 2021-05-03T15:12:23Z cer-0 joined #lisp 2021-05-03T15:12:30Z jackdaniel: your indentation is wrong (i.f when you use IF operator) 2021-05-03T15:12:41Z Spawns_Carpeting quit (Ping timeout: 240 seconds) 2021-05-03T15:13:41Z brandflake11: beach: Here it is on plaster: https://plaster.tymoon.eu/view/2425#2425 2021-05-03T15:13:47Z Bike: brandflake11: i don't see any point at which you add elements to loop-list? 2021-05-03T15:13:53Z semz: fwiw you can insert raw/ into the url to get the raw text, like this https://pastebin.com/raw/TMNvKvc7 2021-05-03T15:14:17Z Bike: you just keep pushing to the 0th element of it 2021-05-03T15:14:34Z brandflake11: Bike: Oh, so push doesn't append? 2021-05-03T15:14:49Z Bike: I mean, look, you do (push loop-var (nth 0 loop-list))] 2021-05-03T15:14:54Z Bike: so you're pushing to the zeroth element of loop-list 2021-05-03T15:14:58Z Bike: you never push to loop-list itself. 2021-05-03T15:16:26Z brandflake11: Bike: When I do use push outside of a loop though, I can do that and it will append and make a list 2021-05-03T15:17:18Z Bike: It won't. try (let ((x (list nil))) (push 1 (nth 0 x)) (push 2 (nth 0 x)) x) 2021-05-03T15:17:28Z Bike: x will still be a list of one element at the end. 2021-05-03T15:17:32Z Bike: It's just that that element is itself a list. 2021-05-03T15:18:55Z brandflake11: Bike: Interesting. It works with this: (defparameter listy '(nil)) and then (push 1 (nth 0 listy)) 2021-05-03T15:19:48Z booaa joined #lisp 2021-05-03T15:19:51Z Bike: No, it doesn't. Try doing (push 2 (nth 0 *listy*)) afterwards. You again end up with a list of one element. 2021-05-03T15:20:02Z Bike: *listy* => ((2 1)) 2021-05-03T15:21:05Z Bike: What you probably want to do in your code is bind loop-list to nil instead of '(nil), and do (push loop-var loop-list) instead of the nth. Why are you doing the nth? 2021-05-03T15:21:36Z brandflake11: Bike: If I run (push 2 (nth 0 *listy*)) multiple times, I do get '(2 2 2 1). 2021-05-03T15:21:51Z Bike: No, you don't. Look at the value of *listy*. Type *listy* into your repl and see what its value is. 2021-05-03T15:22:16Z Bike: PUSH returns the new list, i.e. _the element of *listy* that you pushed to_, rather than *listy* itself. 2021-05-03T15:22:17Z brandflake11: Bike: It's this: ((2 2 2 2 2 1)) 2021-05-03T15:22:22Z Bike: Yes. A list of one element. 2021-05-03T15:22:33Z Bike: (length *listy*) => 1 2021-05-03T15:22:54Z brandflake11: Bike: Oh, I see 2021-05-03T15:23:22Z splittist: brandflake11: although people say you stop seeing the parens after you get used to lisp, but they're still important (: (nil) is different from () (= nil ) 2021-05-03T15:23:31Z brandflake11: Bike: I didn't know you could just do (push loop-var loop-list) 2021-05-03T15:23:53Z Bike: (push x y) = (setf y (cons x y)), basically 2021-05-03T15:23:54Z splittist: brandflake11: try macroexpanding 2021-05-03T15:24:07Z Bike: so you can push to anything that is a modifiable place, and variables are places 2021-05-03T15:25:00Z OlCe quit (Remote host closed the connection) 2021-05-03T15:25:03Z waleee-cl joined #lisp 2021-05-03T15:25:57Z OlCe joined #lisp 2021-05-03T15:26:32Z Bike: other things in your code... it still doesn't work with the fix i suggest, because the last length is not pushed; you probably want a finally clause in there 2021-05-03T15:26:44Z splittist: lukego: Soon we 2021-05-03T15:26:59Z splittist: 'll be able to run Second Climacs inside Emacs (: 2021-05-03T15:27:23Z Bike: ip-list doesn't need to print. Actually, you don't need a list at all. You can just do (loop for i across ip-address ...) and it will iterate through the characters of the string directly. 2021-05-03T15:28:03Z slyrus_ joined #lisp 2021-05-03T15:28:35Z Bike: maybe you just put in the print for debugging though. 2021-05-03T15:28:56Z brandflake11: Bike: Thank you for your suggestions. I will play around with these and see what I can come up with. 2021-05-03T15:29:10Z lukego: splittist: with Drei for command input editing? :-) 2021-05-03T15:29:13Z gigetoo quit (Ping timeout: 240 seconds) 2021-05-03T15:29:24Z Bike: good luck 2021-05-03T15:29:48Z brandflake11: Bike: Thanks! I am still learning lisp, so some things are still a bit fuzzy for me, so it's so great to be able to discuss why certain things happen. 2021-05-03T15:30:17Z Bike: mhm. i am happy to help. there is also a newbies channel though i don't remember the name. #clschool maybe 2021-05-03T15:30:45Z beach: Yes. 2021-05-03T15:31:01Z brandflake11: Bike: I'll check that out then. I wasn't aware of it. 2021-05-03T15:31:30Z beach: Bike: Thanks for taking care of that. I meant to help, but then it turns out I was way too tired after a long day to be of any help. 2021-05-03T15:31:52Z Bike: no problem 2021-05-03T15:33:07Z theothornhill joined #lisp 2021-05-03T15:38:37Z theothornhill quit (Ping timeout: 260 seconds) 2021-05-03T15:42:51Z mindCrime_ joined #lisp 2021-05-03T15:43:28Z slyrus_ quit (Remote host closed the connection) 2021-05-03T15:45:20Z thomasb06 quit (Remote host closed the connection) 2021-05-03T15:46:52Z nij joined #lisp 2021-05-03T15:47:05Z choegusung joined #lisp 2021-05-03T15:48:28Z choegusung quit (Client Quit) 2021-05-03T15:50:23Z ukari quit (Remote host closed the connection) 2021-05-03T15:51:11Z splittist: Anyone have a suggestion for a good but simple custom reader macro to look at? My undernumber implementation isn't quite right, and I'm not sure why. 2021-05-03T15:51:17Z ukari joined #lisp 2021-05-03T15:52:24Z jcowan: What are undernumbers? 2021-05-03T15:52:53Z lotuseater: splittist: i learned a lot from this: https://gist.github.com/chaitanyagupta/9324402 2021-05-03T15:53:12Z splittist: #_123_456 #_xFACE_CAFE #_b1001_0110 etc. 2021-05-03T15:53:46Z nij quit (Quit: ERC (IRC client for Emacs 27.2)) 2021-05-03T15:53:50Z Bike: i always just read the implementation reader macros 2021-05-03T15:53:54Z mrchampion joined #lisp 2021-05-03T15:54:00Z Bike: what is #_123_456 supposed to be 2021-05-03T15:54:49Z phoe: ELS2021 Day 1 is over - feel free to join us in https://els2021.common-lisp.net/meet/cdr for chat and virtual beer 2021-05-03T15:54:53Z splittist: 123456 with natural breaks for easier reading, as in python, rust etc. 2021-05-03T15:55:11Z lotuseater: oh ELS is TODAY :D 2021-05-03T15:55:18Z phoe: and tomorrow! 2021-05-03T15:55:29Z phoe: we have a full Twitch recording of today 2021-05-03T15:55:34Z lotuseater: yes, two days you said :) 2021-05-03T15:55:53Z Bike: oh, so you just ignore them? i see 2021-05-03T15:56:32Z ark quit (Read error: Connection reset by peer) 2021-05-03T15:56:39Z Bike: that does seem a little bit involved as a reader macro since you can't just use READ 2021-05-03T15:57:37Z ark joined #lisp 2021-05-03T15:58:46Z splittist: Bike: I snarf up everything until a whitespace or terminating macro char into a string with the _s removed, and READ-FROM-STRING (broadly). 2021-05-03T15:58:55Z Bike: yeah, makes sense. 2021-05-03T16:00:40Z jcowan: that's quite nice 2021-05-03T16:00:56Z splittist: It works, but it seems to be waiting for extra input when READing from *standard-input*. I'll look at some implementation macros to see what might be happening. 2021-05-03T16:01:58Z jcowan: READ doesn't read a terminating newline (it will be ignored by the next READ), which may be your problem in simple REPL testing. 2021-05-03T16:02:32Z splittist: jcowan: you can even #44_123,456,789 . (I think I decided to disallow #32_123 456 789 (: ) 2021-05-03T16:02:54Z splittist: jcowan: ah. Good point. 2021-05-03T16:03:38Z long4mud quit (Ping timeout: 252 seconds) 2021-05-03T16:05:08Z lotuseater: so one of the complement things that are possible with FORMAT's ~d (not just grouping in parts of three digits) 2021-05-03T16:06:56Z hendursa1 quit (Quit: hendursa1) 2021-05-03T16:07:30Z hendursaga joined #lisp 2021-05-03T16:10:40Z jcowan: Before the Unixifcation of Lisp, READ read characters in raw mode (which was all there was) so as soon as you typed the matching ) it took off. That accounts for the references to "rubout handlers", since deleting a character meant unparsing. It also explains why PRINT prints a newline first instead of last. 2021-05-03T16:11:22Z nature quit (Ping timeout: 252 seconds) 2021-05-03T16:11:24Z jcowan: the order was read up to last ), evaluate, print CRLF, print value 2021-05-03T16:11:29Z splittist: lotuseater: yeah. (format t "~:,,'_,4d" rupees) 2021-05-03T16:12:59Z actuallybatman joined #lisp 2021-05-03T16:15:32Z theothornhill joined #lisp 2021-05-03T16:15:46Z pjb: jcowan: well, right, but print with terpri first, was foremost a legacy of line printer and punched cards. 2021-05-03T16:16:26Z jcowan: How is that? When you read a card, you get an implied terminator 2021-05-03T16:16:35Z pjb: (format nil "~:,,'_,4d" 123456.789) #| ERROR: Unknown directive , |# 2021-05-03T16:17:15Z pjb: (format nil "~,,'_,4:d" 123456.789) #| --> "123456.79" |# 2021-05-03T16:17:17Z jcowan: Makes sense. |# is recognized directly by #|, not by the readtable. 2021-05-03T16:17:50Z jcowan: oh wait, nm 2021-05-03T16:18:21Z cantstanya quit (Ping timeout: 240 seconds) 2021-05-03T16:18:23Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-03T16:18:29Z pjb: I don't know any standard CL format specifier that will do unregular groupping as needed for indian numbers. 2021-05-03T16:18:31Z splittist: Works on my phone :P 2021-05-03T16:19:13Z pjb: 3,00,00,000 ₹ 2021-05-03T16:19:59Z theothornhill quit (Remote host closed the connection) 2021-05-03T16:20:09Z lotuseater: oh interesting, didn't know there's unregular grouping 2021-05-03T16:20:12Z theothornhill joined #lisp 2021-05-03T16:21:08Z mindCrime_ quit (Ping timeout: 265 seconds) 2021-05-03T16:21:19Z jeosol quit (Quit: Connection closed) 2021-05-03T16:22:07Z pjb: you could write a format function to do it (format nil "~20,2/indian-grouping/" 30000000) --> " 3,00,00,000.00" 2021-05-03T16:22:12Z cantstanya joined #lisp 2021-05-03T16:23:43Z beach: lukego: If you like to discuss implementation techniques, a lot of discussions happen in #sicl. 2021-05-03T16:24:00Z beach: lukego: And we take questions, too. :) 2021-05-03T16:25:07Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-03T16:25:29Z aeth quit (Ping timeout: 265 seconds) 2021-05-03T16:25:54Z theothornhill joined #lisp 2021-05-03T16:26:06Z aartaka_d joined #lisp 2021-05-03T16:26:22Z srandon111 joined #lisp 2021-05-03T16:26:53Z aeth joined #lisp 2021-05-03T16:27:13Z remby joined #lisp 2021-05-03T16:27:17Z jcowan: lotuseater: It matches the pattern of Indian numeral words: a lakh is 100 thousand and a crore is 100 lakh (names vary in different Indian languages, but these are the ones used in "I have a doubt" English. :-) 2021-05-03T16:29:01Z lotuseater: :) 2021-05-03T16:29:08Z mhd2018 joined #lisp 2021-05-03T16:29:18Z orivej joined #lisp 2021-05-03T16:29:30Z Nilby joined #lisp 2021-05-03T16:29:57Z aartaka quit (Ping timeout: 260 seconds) 2021-05-03T16:30:46Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-03T16:32:15Z jeosol joined #lisp 2021-05-03T16:32:51Z phoe: I remember that there was a recent discussion about the commercial version of OpenGenera and how it works at the moment - could someone help me look for it? 2021-05-03T16:33:14Z phoe: and about its current licensing state and the commercial VLM code 2021-05-03T16:35:09Z shifty quit (Ping timeout: 265 seconds) 2021-05-03T16:35:30Z shifty joined #lisp 2021-05-03T16:38:47Z renzhi quit (Ping timeout: 260 seconds) 2021-05-03T16:42:39Z theothornhill joined #lisp 2021-05-03T16:45:21Z amb007 quit (Read error: Connection reset by peer) 2021-05-03T16:45:42Z amb007 joined #lisp 2021-05-03T16:50:08Z amb007 quit (Read error: Connection reset by peer) 2021-05-03T16:50:27Z amb007 joined #lisp 2021-05-03T16:50:47Z remby9 joined #lisp 2021-05-03T16:52:08Z amb007 quit (Read error: Connection reset by peer) 2021-05-03T16:52:22Z remby quit (Ping timeout: 240 seconds) 2021-05-03T16:52:58Z amb007 joined #lisp 2021-05-03T16:54:16Z jonatack quit (Ping timeout: 252 seconds) 2021-05-03T16:55:45Z skami joined #lisp 2021-05-03T16:56:16Z jonatack joined #lisp 2021-05-03T16:56:50Z xkapastel joined #lisp 2021-05-03T17:00:53Z skami: Hello everyone. I had some weird bug today that when I did `(somesymbol somethingelse) I would get some garbage at the end on the list on subsequent execution of the function. I managed to find that this was caused by a call to mapcan somewhere else. Would have there been a way to track this kind of bug like setting a watchpoint or something like that on the cddr of the original two element list ? Thanks in advance 2021-05-03T17:01:42Z White_Flame: phoe: there was some talk here https://irclog.tymoon.eu/freenode/%23lisp?around=1617252886 2021-05-03T17:01:57Z White_Flame: palter's the one working on it, still online 2021-05-03T17:03:38Z palter: Yes, I'm still working on it. Licensing is in limbo right now. 2021-05-03T17:04:32Z phoe: White_Flame: yes! thank you! 2021-05-03T17:04:43Z phoe: there is a post-ELS-day-1 discussion about it 2021-05-03T17:04:53Z phoe: palter: do you have a while? maybe you could join us on voice/video and talk a little bit about it 2021-05-03T17:05:34Z palter: Sorry but I don't have time right now. 2021-05-03T17:05:39Z phoe: palter: OK, no problem 2021-05-03T17:06:02Z phoe: I've linked to this part of #lisp log - it'll do for now. 2021-05-03T17:06:39Z White_Flame: it's not a link to the start of hte conversation, though. just what happened to pop up on websearch 2021-05-03T17:06:39Z booaa quit (Ping timeout: 268 seconds) 2021-05-03T17:07:43Z phoe: White_Flame: it's the part I was thinking of though 2021-05-03T17:09:31Z nature joined #lisp 2021-05-03T17:20:14Z LispSporks joined #lisp 2021-05-03T17:26:02Z kevingal: skami: this might help: https://lisp-journey.gitlab.io/blog/debugging-in-common-lisp/ 2021-05-03T17:26:35Z phoe: skami: I don't think you can set watchpoints on when concrete objects are modified 2021-05-03T17:26:41Z shifty quit (Ping timeout: 240 seconds) 2021-05-03T17:26:46Z phoe: I'm not aware of any implementation that does that 2021-05-03T17:26:49Z shifty joined #lisp 2021-05-03T17:28:08Z skami: kevingal: Thanks, interesting read 2021-05-03T17:28:21Z ukari quit (Remote host closed the connection) 2021-05-03T17:28:28Z skami: phoe: Ha, that's a bummer. That would be a useful feature 2021-05-03T17:28:37Z ukari joined #lisp 2021-05-03T17:28:43Z LispSporks quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-03T17:29:10Z kevingal: According to that article, ADVISE and WATCH are available in LispWorks, but not SBCL. 2021-05-03T17:29:54Z phoe: ! 2021-05-03T17:29:58Z phoe: so LW has it! 2021-05-03T17:32:03Z skami: That's cool, I might try to push for a LispWorks licence at work 2021-05-03T17:32:24Z sm2n: I'm not sure if this is what you want, but sly has something called stickers 2021-05-03T17:35:21Z hiroaki joined #lisp 2021-05-03T17:36:20Z skami: It's an interesting feature. If sly can add breakpoints like I wonder if it could be possible to simply setup for sly to break and check if a variable was modified every call and return. 2021-05-03T17:36:46Z ljavorsk quit (Ping timeout: 240 seconds) 2021-05-03T17:43:38Z Sheilong joined #lisp 2021-05-03T17:47:42Z remby9 quit (Ping timeout: 240 seconds) 2021-05-03T18:00:42Z shifty quit (Ping timeout: 265 seconds) 2021-05-03T18:08:43Z jeosol quit (Ping timeout: 240 seconds) 2021-05-03T18:08:49Z kevingal quit (Read error: Connection reset by peer) 2021-05-03T18:11:56Z remby joined #lisp 2021-05-03T18:14:01Z notzmv quit (Ping timeout: 252 seconds) 2021-05-03T18:20:16Z zeroish- joined #lisp 2021-05-03T18:21:21Z irc_user joined #lisp 2021-05-03T18:23:25Z Sauvin quit (Ping timeout: 265 seconds) 2021-05-03T18:24:33Z CrashTestDummy joined #lisp 2021-05-03T18:27:46Z CrashTestDummy3 quit (Ping timeout: 265 seconds) 2021-05-03T18:34:49Z attila_lendvai_ joined #lisp 2021-05-03T18:36:50Z attila_lendvai quit (Ping timeout: 246 seconds) 2021-05-03T18:41:00Z andreyorst[m] joined #lisp 2021-05-03T18:42:27Z Inline quit (Ping timeout: 260 seconds) 2021-05-03T18:45:03Z koolkat332 joined #lisp 2021-05-03T18:46:59Z wowzersbrain joined #lisp 2021-05-03T18:50:06Z koolkat332 quit (Ping timeout: 252 seconds) 2021-05-03T19:03:58Z gaqwas joined #lisp 2021-05-03T19:03:58Z gaqwas quit (Changing host) 2021-05-03T19:03:58Z gaqwas joined #lisp 2021-05-03T19:05:49Z theothornhill quit (Ping timeout: 260 seconds) 2021-05-03T19:08:43Z theothornhill joined #lisp 2021-05-03T19:17:09Z albusp joined #lisp 2021-05-03T19:17:13Z verdammelt joined #lisp 2021-05-03T19:22:46Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-03T19:25:06Z bilegeek joined #lisp 2021-05-03T19:26:11Z wowzersbrain quit (Ping timeout: 240 seconds) 2021-05-03T19:31:54Z ilshad` joined #lisp 2021-05-03T19:32:06Z zeroish- quit (Ping timeout: 240 seconds) 2021-05-03T19:33:52Z theothornhill joined #lisp 2021-05-03T19:34:02Z ilshad quit (Ping timeout: 268 seconds) 2021-05-03T19:35:25Z anticrisis joined #lisp 2021-05-03T19:37:10Z frgo quit 2021-05-03T19:38:56Z caret joined #lisp 2021-05-03T19:41:16Z andreyorst` joined #lisp 2021-05-03T19:47:59Z ilshad`` joined #lisp 2021-05-03T19:49:38Z cosimone joined #lisp 2021-05-03T19:51:26Z Inline joined #lisp 2021-05-03T19:51:26Z bjorkintosh joined #lisp 2021-05-03T19:53:21Z ilshad` quit (*.net *.split) 2021-05-03T19:53:21Z ukari quit (*.net *.split) 2021-05-03T19:53:21Z amb007 quit (*.net *.split) 2021-05-03T19:53:21Z actuallybatman quit (*.net *.split) 2021-05-03T19:53:21Z imode quit (*.net *.split) 2021-05-03T19:53:21Z yitzi quit (*.net *.split) 2021-05-03T19:53:21Z v88m quit (*.net *.split) 2021-05-03T19:53:21Z ebrasca quit (*.net *.split) 2021-05-03T19:53:21Z scm quit (*.net *.split) 2021-05-03T19:53:21Z rodriga quit (*.net *.split) 2021-05-03T19:53:21Z gumman quit (*.net *.split) 2021-05-03T19:53:21Z zaquest quit (*.net *.split) 2021-05-03T19:53:21Z cods quit (*.net *.split) 2021-05-03T19:53:21Z kslt1 quit (*.net *.split) 2021-05-03T19:53:22Z acolarh quit (*.net *.split) 2021-05-03T19:53:22Z add^_ quit (*.net *.split) 2021-05-03T19:53:22Z tgbugs quit (*.net *.split) 2021-05-03T19:53:22Z phadthai quit (*.net *.split) 2021-05-03T19:53:22Z Ziemas quit (*.net *.split) 2021-05-03T19:53:22Z d4ryus quit (*.net *.split) 2021-05-03T19:53:22Z X-Scale quit (*.net *.split) 2021-05-03T19:53:22Z joast quit (*.net *.split) 2021-05-03T19:54:12Z nature quit (Ping timeout: 240 seconds) 2021-05-03T19:54:39Z v88m joined #lisp 2021-05-03T19:55:05Z andreyorst[m] quit (Remote host closed the connection) 2021-05-03T19:55:06Z ukari joined #lisp 2021-05-03T19:55:06Z amb007 joined #lisp 2021-05-03T19:55:06Z actuallybatman joined #lisp 2021-05-03T19:55:06Z imode joined #lisp 2021-05-03T19:55:06Z yitzi joined #lisp 2021-05-03T19:55:06Z ebrasca joined #lisp 2021-05-03T19:55:06Z scm joined #lisp 2021-05-03T19:55:06Z rodriga joined #lisp 2021-05-03T19:55:06Z gumman joined #lisp 2021-05-03T19:55:06Z zaquest joined #lisp 2021-05-03T19:55:06Z cods joined #lisp 2021-05-03T19:55:06Z kslt1 joined #lisp 2021-05-03T19:55:06Z acolarh joined #lisp 2021-05-03T19:55:06Z add^_ joined #lisp 2021-05-03T19:55:06Z tgbugs joined #lisp 2021-05-03T19:55:06Z phadthai joined #lisp 2021-05-03T19:55:06Z Ziemas joined #lisp 2021-05-03T19:55:06Z d4ryus joined #lisp 2021-05-03T19:55:06Z X-Scale joined #lisp 2021-05-03T19:55:06Z joast joined #lisp 2021-05-03T19:55:19Z jeosol joined #lisp 2021-05-03T19:56:11Z undvrainbowvita8 quit (Ping timeout: 240 seconds) 2021-05-03T19:57:11Z Krystof quit (Ping timeout: 265 seconds) 2021-05-03T19:57:58Z X-Scale quit (Ping timeout: 252 seconds) 2021-05-03T19:58:12Z Krystof joined #lisp 2021-05-03T19:59:22Z caret quit (Read error: Connection reset by peer) 2021-05-03T20:03:30Z X-Scale joined #lisp 2021-05-03T20:07:09Z madage quit (Ping timeout: 240 seconds) 2021-05-03T20:10:24Z phoe: nice 2021-05-03T20:10:50Z phoe: I received a bugticket on p-c-s tests because the people reimplementing it in clojure found a bug that was not caught by the test suite 2021-05-03T20:11:19Z phoe: but the test suite is actually ANSI-TEST so I get to add another test to it while fixing the p-c-s ticket! 2021-05-03T20:11:25Z DHARMAKAYA joined #lisp 2021-05-03T20:13:55Z madage joined #lisp 2021-05-03T20:14:44Z attila_lendvai_ quit (Ping timeout: 268 seconds) 2021-05-03T20:19:45Z paul0 joined #lisp 2021-05-03T20:23:25Z mh__ joined #lisp 2021-05-03T20:23:26Z narimiran quit (Quit: leaving) 2021-05-03T20:24:25Z notzmv joined #lisp 2021-05-03T20:24:38Z notzmv is now known as Guest50015 2021-05-03T20:27:04Z supercoven quit (Ping timeout: 268 seconds) 2021-05-03T20:33:19Z pve quit (Quit: leaving) 2021-05-03T20:35:42Z frgo joined #lisp 2021-05-03T20:38:38Z orivej quit (Ping timeout: 252 seconds) 2021-05-03T20:40:46Z verdammelt quit (Ping timeout: 240 seconds) 2021-05-03T20:43:03Z contrapunctus left #lisp 2021-05-03T20:43:37Z rodriga quit (Ping timeout: 252 seconds) 2021-05-03T20:50:19Z hiroaki quit (Ping timeout: 260 seconds) 2021-05-03T20:52:14Z contrapunctus joined #lisp 2021-05-03T20:55:10Z mindCrime_ joined #lisp 2021-05-03T20:59:54Z remby quit (Quit: Connection closed) 2021-05-03T21:01:53Z karlosz joined #lisp 2021-05-03T21:01:53Z catalinbostan quit (Quit: Textual IRC Client: www.textualapp.com) 2021-05-03T21:02:19Z hiroaki joined #lisp 2021-05-03T21:05:22Z Lycurgus joined #lisp 2021-05-03T21:07:44Z nick3000 quit (Remote host closed the connection) 2021-05-03T21:10:13Z mindCrime_ quit (Ping timeout: 240 seconds) 2021-05-03T21:11:46Z bilegeek_ joined #lisp 2021-05-03T21:13:31Z verdammelt joined #lisp 2021-05-03T21:14:09Z bilegeek quit (Ping timeout: 245 seconds) 2021-05-03T21:15:50Z Lycurgus quit (Quit: Exeunt) 2021-05-03T21:17:35Z kevingal joined #lisp 2021-05-03T21:17:51Z dyelar joined #lisp 2021-05-03T21:18:17Z gendl__: does anyone know what it means when Swank/Slime crashes the lisp instead of giving a debugger? 2021-05-03T21:18:52Z verdammelt quit (Ping timeout: 268 seconds) 2021-05-03T21:19:02Z wsinatra quit (Quit: WeeChat 3.1) 2021-05-03T21:19:25Z Bike: slime crashes? you know it's not just your lisp crashing? 2021-05-03T21:19:46Z gendl__: when I connect to a container at home, it works fine, proper debugger. When tunneling to a remote server, it just crashes lisp instead of giving a debugger. And it spews some nonsensical error. (I can paste the error later but just in case this is some obvious common thing -- I seem to think I've had it and fixed it before... but once again apparently I didn't formalize the fix...) 2021-05-03T21:19:57Z opcode: i've had sly crash all of emacs when using sly and company-mode together 2021-05-03T21:19:59Z gendl__: well it is Lisp crashing but with some swank/slime errors 2021-05-03T21:20:00Z opcode: i switched back to slime 2021-05-03T21:21:28Z gendl__: I think the lisp is just exiting because it sees end-of-file on the input or something... anyway it's kinda dangerous to slime in to a production server to try to monkey-patch it when any slip of the keyboard will crash the lisp... kinda defeats the purpose.. I have to fix other stuff first though unless this is something common and obivous 2021-05-03T21:22:30Z theo[m]: Is it the cl+ssl issue? 2021-05-03T21:22:50Z kevingal quit (Remote host closed the connection) 2021-05-03T21:23:37Z brandflake11 quit (Quit: ERC (IRC client for Emacs 27.2)) 2021-05-03T21:26:06Z aartaka joined #lisp 2021-05-03T21:28:13Z whosit quit (Read error: Connection reset by peer) 2021-05-03T21:28:20Z aartaka_d quit (Ping timeout: 246 seconds) 2021-05-03T21:34:38Z DHARMAKAYA quit (Quit: Turning off a portion of this simulation.) 2021-05-03T21:36:19Z cranium_ quit (Quit: Leaving) 2021-05-03T21:36:58Z aartaka quit (Ping timeout: 252 seconds) 2021-05-03T21:37:03Z gigamonkey: (* 2000 2) 2021-05-03T21:37:28Z gigamonkey: Heh. a) wrong buffer b) duh, of course I can multiply that in my head. 2021-05-03T21:40:45Z luckless quit (Ping timeout: 240 seconds) 2021-05-03T21:41:54Z gendl__: theo[m]: I don't think it has to do anything with ssl. Slime/swank are not using ssl are they? 2021-05-03T21:43:34Z Guest50015 is now known as notzmv 2021-05-03T21:43:44Z theothornhill quit (Ping timeout: 246 seconds) 2021-05-03T21:44:57Z theo[m]: gendl__: no, but sometimes hunhentoot and drakma breaks when loading, halting on cl+ssl 2021-05-03T21:45:23Z theo[m]: Not sure if you load some libraries that load it transitively 2021-05-03T21:46:12Z theo[m]: https://github.com/cl-plus-ssl/cl-plus-ssl/issues/114 2021-05-03T21:46:49Z gaqwas quit (Ping timeout: 260 seconds) 2021-05-03T21:47:02Z gendl__: https://www.irccloud.com/pastebin/q2XvPmKZ/ 2021-05-03T21:47:24Z gendl__: enough speculation. 👆 there's the error. 2021-05-03T21:47:44Z drl joined #lisp 2021-05-03T21:47:45Z gendl__: the first error is from my (load-glime) which (rightly) throws an error because of a NIL pathname. 2021-05-03T21:49:06Z gendl__: but then it disgorges some unholy mess from the bowels of swank and the lisp exits (then restarts in this case because the server is running it in an infinite loop). 2021-05-03T21:49:45Z gendl__: is it a stream thing? Do I need to set some stream parameters after connecting? 2021-05-03T21:50:17Z gigamonkey quit (Ping timeout: 265 seconds) 2021-05-03T21:51:26Z gendl__: looks like it's trying to show the backtrace from my legit error but it's mixed with a bunch of swank stream stuff 2021-05-03T21:51:38Z verdammelt joined #lisp 2021-05-03T21:53:53Z undvrainbowvita8 joined #lisp 2021-05-03T21:54:01Z luckless joined #lisp 2021-05-03T21:54:27Z drl quit (Ping timeout: 250 seconds) 2021-05-03T21:57:23Z gigamonkey joined #lisp 2021-05-03T21:58:54Z luis: gendl__: dispatch-loop in swank.lisp calls the ABORT restart if anything goes wrong with the connection, hopefully that's only aborting the swank thread rather than the whole Lisp? 2021-05-03T21:59:32Z gendl__: I'm pretty sure it's exiting the lisp. but I'll confirm that. 2021-05-03T22:00:10Z luis: gendl__: it could also be that some unhandled error is killing your lisp if you have the debugger disabled 2021-05-03T22:00:31Z luckless quit (Remote host closed the connection) 2021-05-03T22:00:47Z gendl__: oooh. maybe I'm not building the debugger into my build 2021-05-03T22:01:02Z cosimone quit (Remote host closed the connection) 2021-05-03T22:01:17Z luckless joined #lisp 2021-05-03T22:01:49Z gendl__: I'm using (ccl:save-application :prepend-kernel t ... ) 2021-05-03T22:02:09Z gendl__: maybe I have to tell it to include the dev environment and debugger when I do that? 2021-05-03T22:02:16Z gendl__: I need to rtfm more... 2021-05-03T22:02:47Z akoana joined #lisp 2021-05-03T22:03:04Z luis: gendl__: you can test this hypothesis with something simpler like (error "foo") 2021-05-03T22:03:16Z aartaka joined #lisp 2021-05-03T22:04:01Z gendl__: https://www.irccloud.com/pastebin/JVRsl7Cd/ 2021-05-03T22:04:30Z phoe: this looks like executing with debugger disabled 2021-05-03T22:04:45Z hendursaga quit (Ping timeout: 240 seconds) 2021-05-03T22:05:26Z gigamonkey quit (Ping timeout: 260 seconds) 2021-05-03T22:06:51Z gendl__: but, https://ccl.clozure.com/manual/chapter4.9.html doesn't mention anything about a switch to include the debugger in the saved application. 2021-05-03T22:07:10Z hendursaga joined #lisp 2021-05-03T22:07:47Z gendl__: I'm used to Allegro CL where you can include or exclude things on a fairly fine-grained basis. 2021-05-03T22:07:49Z phoe: :error-handler :listener 2021-05-03T22:07:51Z phoe: seems like this 2021-05-03T22:07:57Z gendl__: oh? 2021-05-03T22:08:14Z phoe: grep the page for error-handler 2021-05-03T22:08:21Z phoe: it's a kwarg to save-application 2021-05-03T22:08:31Z akoana: hi, I'm a bit confused by Peter Norvig's GPS example, he uses (defvar *state* ...) and (defvar *ops* ...) then (defun GPS (*state* goals *ops*) ...) as shown on https://github.com/norvig/paip-lisp/blob/master/docs/chapter4.md under 4.3 Stage 3: Implementation. Why does he use earmuffs in the defun lambda-list, is that anything special? 2021-05-03T22:08:52Z Bike: so that they're the same variables? 2021-05-03T22:08:55Z gendl__: yes but it defaults to :listener 2021-05-03T22:08:59Z phoe: oh 2021-05-03T22:09:00Z Bike: when you call gps it will bind those special variables 2021-05-03T22:09:01Z gendl__: anyway I'll try specifying it 2021-05-03T22:09:04Z phoe: hm 2021-05-03T22:09:23Z phoe: I'll crash asleep instead then 2021-05-03T22:09:27Z ntqz joined #lisp 2021-05-03T22:09:45Z gendl__: yep, beddy time. 2021-05-03T22:09:46Z White_Flame: akoana: (defun GPS (*state* ...) ..) has the same effect as (let ((*state* ...)) ...) regarding the parameter 2021-05-03T22:09:52Z nullman` joined #lisp 2021-05-03T22:10:32Z White_Flame: and (defun foo (params &optional (*var* *var*)) ...) is another pattern I've seen 2021-05-03T22:10:39Z lotuseater quit (Quit: ERC (IRC client for Emacs 27.1)) 2021-05-03T22:11:11Z nullman quit (Ping timeout: 240 seconds) 2021-05-03T22:11:29Z drl joined #lisp 2021-05-03T22:11:44Z Posterdati quit (Ping timeout: 246 seconds) 2021-05-03T22:12:25Z flazh joined #lisp 2021-05-03T22:13:06Z klltkr joined #lisp 2021-05-03T22:14:06Z akoana: thanks, hmm, not sure if I understand that, I'm quite new to Common Lisp... and I've not seen that anywhere else before (reading Practical Common Lisp too)... 2021-05-03T22:15:24Z akoana: at least not in a defun lambda-list... 2021-05-03T22:16:54Z saturn2: you can establish a dynamic binding on a special variable anywhere you can establish a lexical binding, including a function call 2021-05-03T22:17:17Z akoana: ah, ok now I see, thanks! 2021-05-03T22:20:00Z akoana: thank you Bike, White_Flame and saturn2 2021-05-03T22:20:27Z rumbler31 joined #lisp 2021-05-03T22:24:08Z gaqwas joined #lisp 2021-05-03T22:24:09Z gaqwas quit (Changing host) 2021-05-03T22:24:09Z gaqwas joined #lisp 2021-05-03T22:25:05Z Posterdati joined #lisp 2021-05-03T22:26:59Z White_Flame: the earmuffs are of course just a naming convention. It's the defvar/defparameter that declares that the variable is "special", and thus (let ((*var* ...)) ...) is visible from anywhere in the same thread during the lifetime of that scope 2021-05-03T22:27:33Z White_Flame: (defun foo (&optional (*var* *var*)) ..) means that (foo) rebinds the variable to its existing value, and (foo 3) would rebind it to 3 within that scope 2021-05-03T22:28:21Z White_Flame: which is a syntactically short way to have it optionally redefined 2021-05-03T22:30:12Z akoana: yes, the &optional example was the clue for me :) 2021-05-03T22:32:54Z andreyorst[m] joined #lisp 2021-05-03T22:32:54Z andreyorst` quit (Quit: andreyorst`) 2021-05-03T22:34:14Z gigamonkey joined #lisp 2021-05-03T22:35:15Z akoana: White_Flame: nevertheless, your excellent explanation was very insightful for me, thanks 2021-05-03T22:39:27Z akoana: (before I was wondering why *state* and *ops* weren't used at all in the body of gps, lol) 2021-05-03T22:41:54Z anticrisis_ joined #lisp 2021-05-03T22:44:35Z gaqwas quit (Ping timeout: 268 seconds) 2021-05-03T22:44:46Z anticrisis quit (Ping timeout: 240 seconds) 2021-05-03T22:49:26Z surabax quit (Quit: Leaving) 2021-05-03T22:49:33Z random-nick quit (Ping timeout: 240 seconds) 2021-05-03T22:51:53Z akoana: so (let ((*state* state-value) (*ops* ops-value) (gps goals))) would have the same effect as 2021-05-03T22:51:56Z akoana: (gps (state-value goals ops-value)) 2021-05-03T22:53:38Z akoana: ... assuming two versions of gps 2021-05-03T22:54:22Z akoana: just trying to make sure I got it right? 2021-05-03T22:55:42Z shifty joined #lisp 2021-05-03T22:56:50Z akoana: sorry, got the parens wrong: (let ((*state* state-value) (*ops* ops-value)) (gps goals)) 2021-05-03T23:00:03Z irc_user quit (Quit: Connection closed for inactivity) 2021-05-03T23:01:51Z shifty quit (Ping timeout: 268 seconds) 2021-05-03T23:02:10Z zeroish joined #lisp 2021-05-03T23:09:16Z Nilby quit (Ping timeout: 276 seconds) 2021-05-03T23:11:13Z k-stz joined #lisp 2021-05-03T23:12:43Z k-stz left #lisp 2021-05-03T23:14:59Z Spawns_Carpetin- joined #lisp 2021-05-03T23:16:14Z orivej joined #lisp 2021-05-03T23:21:31Z Inline quit (Ping timeout: 260 seconds) 2021-05-03T23:24:29Z renzhi joined #lisp 2021-05-03T23:25:01Z monolithic quit (Ping timeout: 265 seconds) 2021-05-03T23:25:52Z imode quit (Ping timeout: 252 seconds) 2021-05-03T23:28:58Z mindCrime_ joined #lisp 2021-05-03T23:30:10Z monolithic joined #lisp 2021-05-03T23:30:52Z Spawns_Carpetin- quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2021-05-03T23:31:46Z Spawns_Carpetin- joined #lisp 2021-05-03T23:32:17Z igemnace quit (Quit: WeeChat 3.1) 2021-05-03T23:33:19Z Oladon joined #lisp 2021-05-03T23:33:26Z pjb: skami: So, you understand now that the problem is that the backquote reader macros reads an expression that may return some literal data, that must be considered immutable, but that you have modified with mapcan. The way to avoid it, is to remember that mapcan mutates the results of the mapped function. 2021-05-03T23:34:21Z pjb: skami: In those cases, you may use copy-list in the mapped function: (mapcan (lambda (x) (copy-list `(…))) …) 2021-05-03T23:35:20Z pjb: skami: or to use concatenate, if the mapped list is short (less than call-arguments-limit -2): (apply (function concatenate) 'list (mapcaR (lambda (x) `(…)))) 2021-05-03T23:35:41Z pjb: skami: beware: don't use append, since append does not copy the last list! 2021-05-03T23:36:22Z pjb: skami: in general, beware with the mututating functions (non-consing functions, and other functions that modify the objects passed in parameter). 2021-05-03T23:38:47Z pjb: skami: now, there is not a lot of option to debug it (apart trying to locate where it's modified, by looking at the modified data), because while literal data is theorically immutable, in practice there's no difference between literal objects and normal objects, notably when you work at the REPL. 2021-05-03T23:38:53Z pjb: skami: The compiler could arrange things to put the literal data in a read-only segment, but since most implementation use lisp images, they dont save file formats with read-only data segments. Only ecl does that (compiling to elf files using gcc), but I don't know if it takes advantage of that to arrange for literal data to be read-only. 2021-05-03T23:38:56Z andreyorst[m] quit (Quit: WeeChat 3.0.1) 2021-05-03T23:39:13Z pjb: skami: some scheme implementations have immutable pairs, but this is quite inconvenient… 2021-05-03T23:40:13Z drl quit (Quit: Leaving) 2021-05-03T23:40:14Z pjb: skami: that said, nothing would prevent you to patch your implementation to add such a feature. We could have a (ext:set-read-only object) extension such that if a mutator is applied later on the object, an error condition is signaled. 2021-05-03T23:40:23Z pjb: skami: it would be an interesting project to do that. 2021-05-03T23:41:05Z pjb: skami: then you could add calls to EXT:SET-READ-ONLY in reader macros, and in the QUOTE operator. 2021-05-03T23:47:12Z Sheilong quit 2021-05-03T23:47:29Z Josh_2 joined #lisp 2021-05-03T23:48:22Z Josh_2 quit (Remote host closed the connection) 2021-05-03T23:50:36Z monolithic quit (Remote host closed the connection) 2021-05-03T23:57:05Z drl joined #lisp 2021-05-03T23:59:46Z Spawns_Carpetin- quit (Ping timeout: 260 seconds) 2021-05-03T23:59:53Z zaquest quit (Remote host closed the connection) 2021-05-04T00:00:56Z Spawns_Carpetin- joined #lisp 2021-05-04T00:02:12Z irc_user joined #lisp 2021-05-04T00:07:02Z akoana left #lisp 2021-05-04T00:07:15Z ebrasca quit (Remote host closed the connection) 2021-05-04T00:15:17Z Spawns_Carpetin| joined #lisp 2021-05-04T00:16:28Z Spawns_Carpetin- quit (Ping timeout: 268 seconds) 2021-05-04T00:22:03Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-04T00:23:04Z mister_m: What causes (subseq "a" 1) to result in ""? If I try to access the character at that same position, it would result in an out of bounds error. 2021-05-04T00:26:17Z aeth: (elt (subseq "a" 0) 0) => #\a 2021-05-04T00:26:21Z aeth: (elt (subseq "a" 1) 0) ; errors 2021-05-04T00:26:26Z aeth: So it's consistent with that behavior 2021-05-04T00:27:19Z srhm quit (Remote host closed the connection) 2021-05-04T00:27:23Z xkapastel quit (Quit: Connection closed for inactivity) 2021-05-04T00:27:29Z aeth: It's probably permitted to allow iteration that ends with "", which is sort of like list processing (a lot of those algorithms end on NIL) 2021-05-04T00:27:53Z mister_m: I see, that makes sense to me 2021-05-04T00:28:09Z Josh_2 joined #lisp 2021-05-04T00:28:14Z White_Flame quit (Ping timeout: 246 seconds) 2021-05-04T00:29:12Z aeth: This whole way of thinking kind of parallels car/cdr, except that it's not efficient (since SUBSEQ is consing up a new string each time) 2021-05-04T00:30:10Z Nilby joined #lisp 2021-05-04T00:32:25Z gigamonkey quit (Ping timeout: 252 seconds) 2021-05-04T00:33:05Z saturn2: it's permitted for the start of a sequence bounding index to equal the length of the sequence 2021-05-04T00:33:46Z saturn2: the result is simply an empty sequence 2021-05-04T00:35:29Z aeth: it makes sense because it's sequence-generic including lists, e.g. (subseq (list #\a) 1) or (subseq (list #\a #\b #\c) 1) not just (subseq "a" 1) or (subseq "abc" 1) 2021-05-04T00:36:20Z aeth: So it really is just a generalization of CDR 2021-05-04T00:36:47Z zaquest joined #lisp 2021-05-04T00:36:55Z aeth: (conceptually, at least... concretely, it copies!) 2021-05-04T00:37:14Z drl quit (Remote host closed the connection) 2021-05-04T00:37:25Z saturn2: i would say it avoids a class of special cases you'd otherwise need to check for, and just makes logical sense 2021-05-04T00:37:46Z saturn2: similar to how (+) is 0 2021-05-04T00:38:19Z Spawns_Carpeting joined #lisp 2021-05-04T00:39:06Z Spawns_Carpetin| quit (Ping timeout: 240 seconds) 2021-05-04T00:40:00Z saturn2: the length of a subsequence is always (- end start), whether or not start and end are equal 2021-05-04T00:40:17Z mister_m: thanks for the clarification; I've been doing a lot of car/cdr iteration lately and that sort of jumped out as a "huh" moment 2021-05-04T00:46:29Z gigamonkey joined #lisp 2021-05-04T00:47:48Z ghard quit (Read error: Connection reset by peer) 2021-05-04T00:51:29Z White_Flame joined #lisp 2021-05-04T00:55:19Z Spawns_Carpetin- joined #lisp 2021-05-04T00:55:33Z gigamonkey quit (Ping timeout: 240 seconds) 2021-05-04T00:57:26Z Spawns_Carpeting quit (Ping timeout: 240 seconds) 2021-05-04T00:59:29Z White_Flame quit (Ping timeout: 250 seconds) 2021-05-04T01:02:46Z Spawns_Carpetin- quit (Ping timeout: 240 seconds) 2021-05-04T01:03:38Z Spawns_Carpeting joined #lisp 2021-05-04T01:11:16Z imode joined #lisp 2021-05-04T01:12:37Z shifty joined #lisp 2021-05-04T01:16:36Z Oladon quit (Quit: Leaving.) 2021-05-04T01:20:26Z xkapastel joined #lisp 2021-05-04T01:26:09Z bitmapper joined #lisp 2021-05-04T01:26:15Z gigamonkey joined #lisp 2021-05-04T01:28:00Z notzmv quit (Ping timeout: 268 seconds) 2021-05-04T01:30:52Z shifty quit (Ping timeout: 252 seconds) 2021-05-04T01:31:05Z shifty joined #lisp 2021-05-04T01:31:46Z gigamonkey quit (Ping timeout: 240 seconds) 2021-05-04T01:36:00Z zeroish quit (Ping timeout: 252 seconds) 2021-05-04T01:40:21Z shifty quit (Ping timeout: 265 seconds) 2021-05-04T01:40:32Z skami: pjb: Thanks for the clarification ! That would indeed be a fun projet to add such a read-only feature 2021-05-04T01:40:55Z shifty joined #lisp 2021-05-04T01:42:11Z skami: I'm surprised to learn that append doesn't copy the last list, but it does make sense 2021-05-04T01:50:31Z stylewarning: APPEND, like most lisp functions, prefers to get the job done with the fewest copies 2021-05-04T01:51:29Z no-defun-allowed: APPEND could get confused if it tried to copy something that isn't a list, e.g. in (append '(1 2 3) 'a) 2021-05-04T01:51:58Z no-defun-allowed: (or at least, as if it used COPY-LIST to copy.) 2021-05-04T01:52:19Z mh__ quit (Remote host closed the connection) 2021-05-04T01:56:13Z _jrjsmrtn joined #lisp 2021-05-04T01:56:59Z __jrjsmrtn__ quit (Ping timeout: 268 seconds) 2021-05-04T01:59:12Z ilshad`` quit (Ping timeout: 265 seconds) 2021-05-04T01:59:19Z shifty quit (Ping timeout: 252 seconds) 2021-05-04T01:59:30Z shifty joined #lisp 2021-05-04T02:04:15Z luckless_ joined #lisp 2021-05-04T02:04:45Z luckless quit (Ping timeout: 240 seconds) 2021-05-04T02:04:48Z mh__ joined #lisp 2021-05-04T02:05:39Z mh___ joined #lisp 2021-05-04T02:09:06Z mh__ quit (Ping timeout: 240 seconds) 2021-05-04T02:10:19Z _jrjsmrtn quit (Ping timeout: 252 seconds) 2021-05-04T02:13:02Z __jrjsmrtn__ joined #lisp 2021-05-04T02:14:08Z shifty quit (Ping timeout: 252 seconds) 2021-05-04T02:14:10Z contrapunctus left #lisp 2021-05-04T02:14:28Z shifty joined #lisp 2021-05-04T02:22:07Z stylewarning: no-defun-allowed https://usercontent.irccloud-cdn.com/file/oVbhetyu/1620094917.JPG 2021-05-04T02:22:32Z no-defun-allowed: BANNED from the Common Lisp HyperSpec gang 2021-05-04T02:28:13Z gigamonkey joined #lisp 2021-05-04T02:28:13Z shifty quit (Ping timeout: 260 seconds) 2021-05-04T02:28:25Z shifty joined #lisp 2021-05-04T02:31:39Z Oladon joined #lisp 2021-05-04T02:33:32Z aeth quit (Ping timeout: 246 seconds) 2021-05-04T02:34:43Z ilshad`` joined #lisp 2021-05-04T02:35:43Z aeth joined #lisp 2021-05-04T02:39:29Z LispSporks joined #lisp 2021-05-04T02:42:06Z shifty quit (Ping timeout: 240 seconds) 2021-05-04T02:47:30Z skami quit (Remote host closed the connection) 2021-05-04T02:48:43Z bilegeek joined #lisp 2021-05-04T02:49:33Z renzhi quit (Ping timeout: 250 seconds) 2021-05-04T02:49:59Z bilegeek_ quit (Ping timeout: 250 seconds) 2021-05-04T02:52:02Z White_Flame joined #lisp 2021-05-04T02:52:34Z theca joined #lisp 2021-05-04T02:52:38Z LispSporks quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-04T02:53:49Z LispSporks joined #lisp 2021-05-04T02:57:37Z hineios3 joined #lisp 2021-05-04T02:58:33Z hineios quit (Ping timeout: 260 seconds) 2021-05-04T02:58:34Z hineios3 is now known as hineios 2021-05-04T02:59:31Z mh___ quit (Remote host closed the connection) 2021-05-04T03:01:50Z irc_user quit (Quit: Connection closed for inactivity) 2021-05-04T03:03:04Z scm quit (Quit: Leaving) 2021-05-04T03:03:26Z theca quit (Quit: leaving) 2021-05-04T03:06:47Z beach: Good morning everyone! 2021-05-04T03:08:32Z ilshad`` quit (Ping timeout: 246 seconds) 2021-05-04T03:08:49Z LispSporks quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-04T03:10:30Z LispSporks joined #lisp 2021-05-04T03:12:51Z verdammelt quit (Ping timeout: 260 seconds) 2021-05-04T03:14:29Z gigamonkey quit (Ping timeout: 246 seconds) 2021-05-04T03:17:15Z irc_user joined #lisp 2021-05-04T03:19:20Z rumbler31 quit (Remote host closed the connection) 2021-05-04T03:19:46Z Mandus quit (Ping timeout: 240 seconds) 2021-05-04T03:20:07Z rumbler31 joined #lisp 2021-05-04T03:21:36Z liberliver quit (Ping timeout: 260 seconds) 2021-05-04T03:23:05Z liberliver joined #lisp 2021-05-04T03:24:34Z LispSporks quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-04T03:24:43Z semz quit (Ping timeout: 276 seconds) 2021-05-04T03:25:06Z orivej quit (Ping timeout: 240 seconds) 2021-05-04T03:25:22Z LispSporks joined #lisp 2021-05-04T03:25:22Z LispSporks quit (Client Quit) 2021-05-04T03:27:01Z Mandus joined #lisp 2021-05-04T03:27:07Z verdammelt joined #lisp 2021-05-04T03:28:17Z notzmv joined #lisp 2021-05-04T03:29:58Z LispSporks joined #lisp 2021-05-04T03:31:22Z Oladon quit (Quit: Leaving.) 2021-05-04T03:32:25Z yonkunas quit (Quit: Connection closed for inactivity) 2021-05-04T03:35:23Z gumman quit (Read error: Connection reset by peer) 2021-05-04T03:35:46Z gumman joined #lisp 2021-05-04T03:36:52Z semz joined #lisp 2021-05-04T03:36:52Z semz quit (Changing host) 2021-05-04T03:36:52Z semz joined #lisp 2021-05-04T03:37:56Z karlosz quit (Ping timeout: 246 seconds) 2021-05-04T03:39:58Z mh__ joined #lisp 2021-05-04T03:40:44Z mh___ joined #lisp 2021-05-04T03:44:11Z mh__ quit (Ping timeout: 240 seconds) 2021-05-04T03:48:19Z Nilby quit (Ping timeout: 245 seconds) 2021-05-04T03:49:13Z LispSporks quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2021-05-04T03:51:17Z verdammelt quit (Ping timeout: 260 seconds) 2021-05-04T03:56:32Z long4mud joined #lisp 2021-05-04T04:02:07Z contrapunctus joined #lisp 2021-05-04T04:05:58Z gigamonkey joined #lisp 2021-05-04T04:07:46Z mh___ quit 2021-05-04T04:08:32Z mindCrime_ quit (Ping timeout: 240 seconds) 2021-05-04T04:15:15Z mindCrime_ joined #lisp 2021-05-04T04:16:31Z Bike quit (Quit: Lost terminal) 2021-05-04T04:16:53Z dukester joined #lisp 2021-05-04T04:18:28Z dukester left #lisp 2021-05-04T04:20:26Z verdammelt joined #lisp 2021-05-04T04:27:41Z mindCrime_ quit (Ping timeout: 260 seconds) 2021-05-04T04:28:20Z verdammelt quit (Ping timeout: 252 seconds) 2021-05-04T04:37:23Z xkapastel quit (Quit: Connection closed for inactivity) 2021-05-04T04:46:04Z andreyorst[m] joined #lisp 2021-05-04T04:50:35Z srandon111 quit (Quit: leaving) 2021-05-04T04:51:55Z narimiran joined #lisp 2021-05-04T04:53:54Z bilegeek quit (Quit: Leaving) 2021-05-04T04:54:47Z shifty joined #lisp 2021-05-04T04:55:46Z gigamonkey quit (Ping timeout: 240 seconds) 2021-05-04T04:58:19Z srandon111 joined #lisp 2021-05-04T05:02:46Z monolithic joined #lisp 2021-05-04T05:04:58Z ilshad`` joined #lisp 2021-05-04T05:09:47Z jeosol quit (Quit: Connection closed) 2021-05-04T05:14:57Z srandon111 quit (Quit: leaving) 2021-05-04T05:19:31Z shifty quit (Ping timeout: 252 seconds) 2021-05-04T05:20:21Z shifty joined #lisp 2021-05-04T05:21:35Z retropikzel joined #lisp 2021-05-04T05:25:08Z ljavorsk joined #lisp 2021-05-04T05:25:31Z srandon111 joined #lisp 2021-05-04T05:28:49Z attila_lendvai_ joined #lisp 2021-05-04T05:36:50Z waleee-cl quit (Quit: Connection closed for inactivity) 2021-05-04T05:37:53Z sauvin joined #lisp 2021-05-04T05:38:46Z actuallybatman quit (Ping timeout: 252 seconds) 2021-05-04T05:38:59Z ilshad`` quit (Ping timeout: 268 seconds) 2021-05-04T05:41:21Z gaqwas joined #lisp 2021-05-04T05:41:22Z gaqwas quit (Changing host) 2021-05-04T05:41:22Z gaqwas joined #lisp 2021-05-04T05:48:34Z rumbler31 quit (Remote host closed the connection) 2021-05-04T05:48:52Z rumbler31 joined #lisp 2021-05-04T05:54:32Z shifty quit (Ping timeout: 240 seconds) 2021-05-04T05:56:26Z andreyorst` joined #lisp 2021-05-04T05:58:28Z andreyorst` quit (Client Quit) 2021-05-04T05:59:51Z ilshad`` joined #lisp 2021-05-04T06:03:29Z aartaka_d joined #lisp 2021-05-04T06:06:14Z aartaka quit (Ping timeout: 252 seconds) 2021-05-04T06:15:49Z cer-0 quit (Quit: leaving) 2021-05-04T06:18:40Z orivej joined #lisp 2021-05-04T06:22:48Z jeosol joined #lisp 2021-05-04T06:34:09Z ilshad`` quit (Ping timeout: 260 seconds) 2021-05-04T06:38:05Z Mandus left #lisp 2021-05-04T06:38:10Z Mandus joined #lisp 2021-05-04T06:42:03Z cranium_ joined #lisp 2021-05-04T06:45:50Z gaqwas quit (Ping timeout: 252 seconds) 2021-05-04T06:47:52Z imode quit (Ping timeout: 240 seconds) 2021-05-04T06:52:43Z retropikzel quit (Ping timeout: 276 seconds) 2021-05-04T06:58:06Z verdammelt joined #lisp 2021-05-04T07:00:47Z ilshad`` joined #lisp 2021-05-04T07:01:47Z theothornhill joined #lisp 2021-05-04T07:02:01Z retropikzel joined #lisp 2021-05-04T07:04:38Z andreyorst` joined #lisp 2021-05-04T07:05:11Z verdammelt quit (Ping timeout: 240 seconds) 2021-05-04T07:08:07Z skapata quit (Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the IRC world.) 2021-05-04T07:16:11Z orivej quit (Ping timeout: 240 seconds) 2021-05-04T07:19:25Z OlCe quit (Remote host closed the connection) 2021-05-04T07:27:14Z pve joined #lisp 2021-05-04T07:27:48Z OlCe joined #lisp 2021-05-04T07:27:52Z srandon111 quit (Ping timeout: 265 seconds) 2021-05-04T07:28:47Z shifty joined #lisp 2021-05-04T07:28:54Z surabax joined #lisp 2021-05-04T07:39:52Z srandon111 joined #lisp 2021-05-04T07:40:18Z cosimone joined #lisp 2021-05-04T07:43:03Z cosimone quit (Remote host closed the connection) 2021-05-04T07:43:32Z cosimone joined #lisp 2021-05-04T07:52:18Z gigamonkey joined #lisp 2021-05-04T07:54:09Z srji quit (Remote host closed the connection) 2021-05-04T07:56:45Z gigamonkey quit (Ping timeout: 260 seconds) 2021-05-04T07:58:12Z schjetne joined #lisp 2021-05-04T07:59:01Z retropikzel quit (Ping timeout: 276 seconds) 2021-05-04T07:59:33Z skapata joined #lisp 2021-05-04T08:04:36Z ilshad`` quit (Ping timeout: 265 seconds) 2021-05-04T08:06:02Z lottaquestions joined #lisp 2021-05-04T08:07:29Z lottaquestions_ quit (Ping timeout: 245 seconds) 2021-05-04T08:10:21Z hendursaga quit (Ping timeout: 240 seconds) 2021-05-04T08:10:22Z lottaquestions quit (Read error: Connection reset by peer) 2021-05-04T08:10:47Z lottaquestions joined #lisp 2021-05-04T08:14:11Z hendursaga joined #lisp 2021-05-04T08:16:49Z kevingal joined #lisp 2021-05-04T08:17:41Z zacts joined #lisp 2021-05-04T08:20:29Z ghard joined #lisp 2021-05-04T08:21:58Z madrik joined #lisp 2021-05-04T08:22:50Z IPmonger quit (Ping timeout: 246 seconds) 2021-05-04T08:23:25Z andreyorst[m] quit (Remote host closed the connection) 2021-05-04T08:24:18Z IPmonger joined #lisp 2021-05-04T08:33:20Z OlCe quit (Ping timeout: 246 seconds) 2021-05-04T08:39:50Z anticrisis_ quit (Read error: Connection reset by peer) 2021-05-04T08:40:44Z retropikzel joined #lisp 2021-05-04T08:40:46Z shifty quit (Ping timeout: 240 seconds) 2021-05-04T08:41:07Z shifty joined #lisp 2021-05-04T08:42:13Z lotuseater joined #lisp 2021-05-04T08:48:58Z supercoven joined #lisp 2021-05-04T08:51:08Z cosimone quit (Remote host closed the connection) 2021-05-04T08:51:50Z irc_user quit (Quit: Connection closed for inactivity) 2021-05-04T08:54:05Z zacts quit (Quit: bbl) 2021-05-04T08:57:08Z OlCe joined #lisp 2021-05-04T08:57:52Z cage_ joined #lisp 2021-05-04T09:03:25Z madrik: Why are older versions of quicklisp-installed packages kept around after upgrading? 2021-05-04T09:04:36Z theothornhill quit (Ping timeout: 260 seconds) 2021-05-04T09:05:54Z makomo joined #lisp 2021-05-04T09:06:59Z makomo: hello \o 2021-05-04T09:07:33Z zacts joined #lisp 2021-05-04T09:07:55Z beach: Hello makomo. 2021-05-04T09:08:16Z makomo: hi beach :) 2021-05-04T09:08:49Z marcoxa joined #lisp 2021-05-04T09:12:04Z madrik: By 'older versions', I meant the archives. 2021-05-04T09:12:11Z alendvai__ joined #lisp 2021-05-04T09:12:11Z attila_lendvai_ quit (Ping timeout: 246 seconds) 2021-05-04T09:12:43Z shifty quit (Ping timeout: 252 seconds) 2021-05-04T09:13:00Z shifty joined #lisp 2021-05-04T09:15:24Z skapata quit (Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the IRC world.) 2021-05-04T09:22:59Z theothornhill joined #lisp 2021-05-04T09:27:41Z shifty quit (Ping timeout: 240 seconds) 2021-05-04T09:27:52Z shifty joined #lisp 2021-05-04T09:28:24Z zooey quit (Remote host closed the connection) 2021-05-04T09:28:49Z zooey joined #lisp 2021-05-04T09:29:35Z hiroaki quit (Ping timeout: 260 seconds) 2021-05-04T09:30:52Z ilshad`` joined #lisp 2021-05-04T09:31:17Z klltkr joined #lisp 2021-05-04T09:31:20Z alendvai__ quit (Remote host closed the connection) 2021-05-04T09:31:47Z alendvai__ joined #lisp 2021-05-04T09:35:16Z ilshad`` quit (Ping timeout: 252 seconds) 2021-05-04T09:35:57Z shifty quit (Ping timeout: 265 seconds) 2021-05-04T09:41:09Z hiroaki joined #lisp 2021-05-04T09:41:21Z aindilis quit (Remote host closed the connection) 2021-05-04T09:42:06Z alendvai__ quit (Ping timeout: 240 seconds) 2021-05-04T09:42:50Z aindilis joined #lisp 2021-05-04T09:56:38Z Oddity quit (Ping timeout: 246 seconds) 2021-05-04T10:00:06Z vegansbane6963 quit (Quit: The Lounge - https://thelounge.chat) 2021-05-04T10:00:57Z cosimone joined #lisp 2021-05-04T10:01:19Z cosimone quit (Remote host closed the connection) 2021-05-04T10:01:28Z cranium_ quit (Quit: Leaving) 2021-05-04T10:02:01Z cosimone joined #lisp 2021-05-04T10:04:55Z Oddity joined #lisp 2021-05-04T10:08:23Z luis: madrik: well, you can go back if the upgrade broke your software, or you can have different software on different versions of the quicklisp distribution 2021-05-04T10:09:45Z luis: madrik: http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html 2021-05-04T10:11:48Z cosimone quit (Remote host closed the connection) 2021-05-04T10:13:14Z cosimone joined #lisp 2021-05-04T10:15:16Z aartaka joined #lisp 2021-05-04T10:17:41Z aartaka_d quit (Ping timeout: 260 seconds) 2021-05-04T10:19:53Z orivej joined #lisp 2021-05-04T10:20:01Z marcoxa quit (Ping timeout: 260 seconds) 2021-05-04T10:22:51Z kevingal quit (Ping timeout: 246 seconds) 2021-05-04T10:27:19Z Xach: madrik: you can also use ql-dist:clean to clean them up 2021-05-04T10:29:33Z random-nick joined #lisp 2021-05-04T10:29:44Z marcoxa joined #lisp 2021-05-04T10:35:12Z zacts quit (Quit: bbl) 2021-05-04T10:38:21Z andrei-n joined #lisp 2021-05-04T10:40:31Z AroPar joined #lisp 2021-05-04T10:46:34Z madrik: luis: Thanks for the link. 2021-05-04T10:47:56Z madrik: Xach: Thanks for that. 2021-05-04T10:50:37Z vegansbane6963 joined #lisp 2021-05-04T10:50:42Z ilshad`` joined #lisp 2021-05-04T10:51:17Z Nilby joined #lisp 2021-05-04T10:52:21Z ghard quit (Read error: Connection reset by peer) 2021-05-04T10:54:31Z andrei-n quit (Read error: Connection reset by peer) 2021-05-04T10:59:27Z ukari quit (Remote host closed the connection) 2021-05-04T10:59:43Z ukari joined #lisp 2021-05-04T11:02:57Z madrik quit (Ping timeout: 260 seconds) 2021-05-04T11:02:58Z AroPar quit (Quit: Leaving) 2021-05-04T11:13:16Z alendvai__ joined #lisp 2021-05-04T11:14:36Z andrei-n joined #lisp 2021-05-04T11:16:51Z rumbler31 quit (Remote host closed the connection) 2021-05-04T11:16:55Z ilshad`` quit (Ping timeout: 268 seconds) 2021-05-04T11:17:18Z nij joined #lisp 2021-05-04T11:17:37Z rumbler31 joined #lisp 2021-05-04T11:19:18Z srji joined #lisp 2021-05-04T11:30:20Z verdammelt joined #lisp 2021-05-04T11:35:37Z shifty joined #lisp 2021-05-04T11:43:16Z retropikzel quit (Ping timeout: 276 seconds) 2021-05-04T11:51:17Z nicktick quit (Ping timeout: 265 seconds) 2021-05-04T11:52:50Z supercoven_ joined #lisp 2021-05-04T11:52:51Z supercoven_ quit (Max SendQ exceeded) 2021-05-04T11:53:05Z supercoven_ joined #lisp 2021-05-04T11:55:46Z supercoven quit (Ping timeout: 240 seconds) 2021-05-04T11:56:28Z drmeister: Hello 2021-05-04T11:57:08Z drmeister: Xach: We've been running a "quickclasp" server to distribute stuff specific to clasp - it's been working well. 2021-05-04T11:57:34Z srandon111 quit (Ping timeout: 265 seconds) 2021-05-04T11:57:59Z Xach: drmeister: nice 2021-05-04T11:59:06Z Spawns_Carpeting quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2021-05-04T11:59:25Z Spawns_Carpeting joined #lisp 2021-05-04T12:04:45Z f4r5983 quit (Remote host closed the connection) 2021-05-04T12:07:42Z nij left #lisp 2021-05-04T12:09:06Z rumbler31 quit (Remote host closed the connection) 2021-05-04T12:09:22Z rumbler31 joined #lisp 2021-05-04T12:10:35Z srandon111 joined #lisp 2021-05-04T12:15:32Z alendvai__ is now known as attila_lendvai 2021-05-04T12:15:39Z attila_lendvai quit (Changing host) 2021-05-04T12:15:39Z attila_lendvai joined #lisp 2021-05-04T12:21:03Z shifty quit (Ping timeout: 268 seconds) 2021-05-04T12:21:39Z shifty joined #lisp 2021-05-04T12:22:18Z phoe: drmeister: very nice 2021-05-04T12:24:57Z ghard joined #lisp 2021-05-04T12:26:34Z entre-parenteses joined #lisp 2021-05-04T12:29:36Z sp41 joined #lisp 2021-05-04T12:29:58Z rumbler31 quit (Remote host closed the connection) 2021-05-04T12:30:11Z Bike joined #lisp 2021-05-04T12:30:24Z nij joined #lisp 2021-05-04T12:30:48Z rumbler31 joined #lisp 2021-05-04T12:30:59Z nij: Anyone knows how to use this library? In particular, how to use #'digit? to parse a digit? https://github.com/Ramarren/cl-parser-combinators/blob/9c7569a4f6af5e60c0d3a51d9c15c16d1714c845/token-parsers.lisp 2021-05-04T12:32:54Z lotuseater: ah (monadic) parser combinators are powerful :) 2021-05-04T12:33:02Z nij: I know I want to learn it. 2021-05-04T12:47:16Z jeosol quit (Quit: Connection closed) 2021-05-04T12:48:05Z sp41 quit (Quit: leaving) 2021-05-04T12:48:32Z sp41 joined #lisp 2021-05-04T12:52:30Z yonkunas joined #lisp 2021-05-04T12:59:31Z splittist: nij: you mean beyond (parse-string* (seq-list? (digit?) (digit?) (digit?)) "123") ? 2021-05-04T13:00:50Z splittist: (which yields (#\1 #\2 #\3); nil; t; nil; and a hash-table ) 2021-05-04T13:01:52Z dm1les quit (Ping timeout: 240 seconds) 2021-05-04T13:02:00Z nij: oh wow 2021-05-04T13:02:02Z nij: lemme try 2021-05-04T13:03:18Z PuercoPop joined #lisp 2021-05-04T13:05:57Z nij: Cool. It works. Next is to try to learn how it's implemented.. I feel like it's more advanced than my level. 2021-05-04T13:08:42Z nij: splittist: Do you happen to know if cl-parser-combinators can parse sexprs? 2021-05-04T13:08:54Z rogersm joined #lisp 2021-05-04T13:10:22Z madrik joined #lisp 2021-05-04T13:13:09Z shifty quit (Ping timeout: 260 seconds) 2021-05-04T13:13:25Z shifty joined #lisp 2021-05-04T13:14:40Z Stim joined #lisp 2021-05-04T13:15:00Z Stim left #lisp 2021-05-04T13:16:02Z splittist: Built in? I don't know. As a general parsing lib it must be able to if set up. I guess you'd define atom? (or whatever your language requires) then match on an open paren, any number of sexps and a close paren. Not quite like this: (parse-string* (bracket? #\( (sepby? (int?) #\Space) #\)) "(1 2 3)") 2021-05-04T13:16:46Z wsinatra joined #lisp 2021-05-04T13:19:23Z entre-parenteses quit (Remote host closed the connection) 2021-05-04T13:20:05Z nij: Thanks for the hint. I'm not capable of building that up yet. But I've taken notes. 2021-05-04T13:20:16Z nij: Now I'm very curious about one other thing.. not quite related. 2021-05-04T13:20:33Z nij: From functional parsers, we see that its syntax is quite like a DSL. 2021-05-04T13:20:41Z ljavorsk quit (Ping timeout: 260 seconds) 2021-05-04T13:20:49Z nij: What's different is that the components of the DSL are functions! 2021-05-04T13:21:11Z nij: Many articles I read about lisp only says that macro helps you create DSLs a lot easier. 2021-05-04T13:21:33Z nij: But.. can macros also be useful when it comes to this sort of "functional DSLs"? 2021-05-04T13:24:54Z vegansbane6963 quit (Quit: The Lounge - https://thelounge.chat) 2021-05-04T13:25:21Z beach: nij: Macros are useful for introducing "syntactic abstractions", i.e., new syntax. You don't need macros if you can express your DSL as a collection of functions with normal function-call semantics. And in cases like that, you can write your DSL in any language you like. 2021-05-04T13:25:23Z entre-parenteses joined #lisp 2021-05-04T13:26:20Z vegansbane6963 joined #lisp 2021-05-04T13:26:38Z zeroish joined #lisp 2021-05-04T13:27:24Z nij: I see. That's my impression yeah. I don't see why macros and DSLs are tided together so much.. at least in many introductory articles. 2021-05-04T13:27:41Z nij: Afterall, macros are for and only for syntactic abstractions. 2021-05-04T13:27:49Z beach: Because, when people say "DSL", they usually mean specific syntax. 2021-05-04T13:28:06Z nicktick joined #lisp 2021-05-04T13:28:31Z nij: Oh, and macros can be nice tools to rewrite the syntax into more lispier ones? 2021-05-04T13:28:46Z nij: Ah, then it makes sense. 2021-05-04T13:29:00Z paul0 quit (Quit: Leaving) 2021-05-04T13:29:55Z lotuseater: yes, they can take anything and transform it :) or when you just not want having to type in so much quotes 2021-05-04T13:32:29Z lotuseater: or eg look at FORMAT, it's a function, that calls the macro FORMATTER, which takes the control-string and transforms that to the corresponding form for using the args 2021-05-04T13:33:40Z nij: I see. 2021-05-04T13:33:56Z nij is in awe. 2021-05-04T13:34:00Z beach: nij: The use of macros to implement a DSL in Common Lisp would be used precisely to make the syntax less Lisp-y. If you want Lisp syntax, just use Common Lisp. 2021-05-04T13:34:06Z lotuseater: or telling you that a symbol can't go into a slot with ~D 2021-05-04T13:35:57Z pjb: beach: in general. But in the case of format, it could be used to make it lispier :-) (format (formatter "Name: (a :width 20) Age: (d :width 3) year(p :with-previous-arg t)(newline)") 'john 99) 2021-05-04T13:36:06Z pjb: s/formatter/lispy-formatter/ 2021-05-04T13:36:35Z beach: Sure. 2021-05-04T13:38:07Z nij: pjb is this a real example? It doesn't work for me 2021-05-04T13:39:35Z theothornhill quit (Ping timeout: 246 seconds) 2021-05-04T13:40:36Z undvrainbowvita8 quit (Ping timeout: 268 seconds) 2021-05-04T13:44:08Z pjb: nij: no, it's wishfull programming. 2021-05-04T13:44:36Z pjb: nij: but you can pass your own formatting function to format instead of a format control (format t (function my-formatter) a b c) 2021-05-04T13:45:12Z pjb: format control n. a format string, or a function that obeys the argument conventions for a function returned by the formatter macro. See Section 22.2.1.3 (Compiling Format Strings). 2021-05-04T13:45:31Z shifty quit (Ping timeout: 252 seconds) 2021-05-04T13:46:25Z shifty joined #lisp 2021-05-04T13:47:41Z pjb: nij: https://termbin.com/uttrn 2021-05-04T13:49:09Z lotuseater: oh yes, useful if one does not know how to do it with control-strings :) 2021-05-04T13:50:43Z pjb: nij: https://termbin.com/k4mny 2021-05-04T13:50:50Z pjb: You can use it with ~? too. 2021-05-04T13:50:55Z entre-parenteses quit (Quit: ERC (IRC client for Emacs 27.2)) 2021-05-04T13:51:14Z pjb: Or of course, you can also use ~/custom-format-specifier-function/ 2021-05-04T13:51:55Z theothornhill joined #lisp 2021-05-04T13:52:28Z nij : =-O 2021-05-04T13:52:46Z orivej quit (Ping timeout: 260 seconds) 2021-05-04T13:53:06Z pjb: the trick of the formatter macro, is to let the macro generate the function itself, from a new description of what is to be formatted. 2021-05-04T13:54:13Z nij: I just learned that #'format is highly hackable. 2021-05-04T13:54:14Z splittist: (defun printformatter (control-string) (lambda (stream &rest args) (apply #'printfcl:fprintf stream control-string args))) (printformatter "%d %d %d") (format t * 1 2 3) => 1 2 3 (: 2021-05-04T13:54:15Z nij: Thanks!!!! 2021-05-04T13:55:14Z kevingal joined #lisp 2021-05-04T13:57:26Z CrazyPython joined #lisp 2021-05-04T13:59:32Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-04T14:01:18Z attila_lendvai quit (Ping timeout: 265 seconds) 2021-05-04T14:03:50Z yottabyte joined #lisp 2021-05-04T14:10:33Z narimiran quit (Ping timeout: 260 seconds) 2021-05-04T14:13:01Z theothornhill joined #lisp 2021-05-04T14:15:48Z aeth quit (Ping timeout: 265 seconds) 2021-05-04T14:16:56Z cranium_ joined #lisp 2021-05-04T14:17:15Z aeth joined #lisp 2021-05-04T14:17:58Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T14:29:25Z theothornhill joined #lisp 2021-05-04T14:30:30Z madrik left #lisp 2021-05-04T14:30:54Z xkapastel joined #lisp 2021-05-04T14:33:24Z orivej joined #lisp 2021-05-04T14:37:06Z theothornhill quit (Ping timeout: 260 seconds) 2021-05-04T14:40:21Z actuallybatman joined #lisp 2021-05-04T14:42:36Z varjag quit (Quit: ERC (IRC client for Emacs 26.3)) 2021-05-04T14:47:06Z shifty quit (Ping timeout: 240 seconds) 2021-05-04T14:48:00Z shifty joined #lisp 2021-05-04T14:49:28Z theothornhill joined #lisp 2021-05-04T14:54:14Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T14:55:33Z theothornhill joined #lisp 2021-05-04T14:58:09Z aartaka_d joined #lisp 2021-05-04T14:59:52Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-04T15:02:11Z aartaka quit (Ping timeout: 260 seconds) 2021-05-04T15:03:15Z hypercube quit (Ping timeout: 260 seconds) 2021-05-04T15:05:06Z ebrasca joined #lisp 2021-05-04T15:12:29Z theothornhill joined #lisp 2021-05-04T15:16:51Z toorevitimirp joined #lisp 2021-05-04T15:17:22Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T15:18:38Z OlCe quit (Ping timeout: 265 seconds) 2021-05-04T15:22:11Z theothornhill joined #lisp 2021-05-04T15:22:40Z rumbler31 quit (Remote host closed the connection) 2021-05-04T15:22:59Z rumbler31 joined #lisp 2021-05-04T15:25:54Z OlCe joined #lisp 2021-05-04T15:28:46Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-04T15:28:47Z yitzi quit (Quit: yitzi) 2021-05-04T15:29:15Z long4mud quit (Quit: WeeChat 3.0.1) 2021-05-04T15:30:20Z imode joined #lisp 2021-05-04T15:30:57Z Sheilong joined #lisp 2021-05-04T15:34:41Z shifty quit (Ping timeout: 240 seconds) 2021-05-04T15:34:59Z shifty joined #lisp 2021-05-04T15:37:44Z andreyorst` quit (Quit: andreyorst`) 2021-05-04T15:38:16Z andreyorst` joined #lisp 2021-05-04T15:39:25Z fengshaun quit (Ping timeout: 265 seconds) 2021-05-04T15:41:13Z theothornhill joined #lisp 2021-05-04T15:42:11Z nij left #lisp 2021-05-04T15:44:59Z toorevitimirp quit (Quit: Konversation terminated!) 2021-05-04T15:45:52Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-04T15:46:32Z andreyorst` quit (Quit: andreyorst`) 2021-05-04T15:46:46Z toorevitimirp joined #lisp 2021-05-04T15:47:48Z toorevitimirp quit (Client Quit) 2021-05-04T15:52:18Z toorevitimirp joined #lisp 2021-05-04T15:57:47Z toorevitimirp quit (Quit: Konversation terminated!) 2021-05-04T15:58:02Z theothornhill joined #lisp 2021-05-04T16:00:28Z theothornhill quit (Remote host closed the connection) 2021-05-04T16:00:39Z theothornhill joined #lisp 2021-05-04T16:01:03Z MIF is now known as DarthMIF 2021-05-04T16:05:13Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T16:06:38Z retropikzel joined #lisp 2021-05-04T16:06:48Z theothornhill joined #lisp 2021-05-04T16:07:30Z phoe: European Lisp Symposium 2021 is now over and heisig, easye, SAL9000, flip214, and ehuelsmann all deserve a beer! thanks for their support!! 2021-05-04T16:07:38Z SAL9000: <3 2021-05-04T16:08:06Z beach: Thanks to everyone. Fantastic work!!!!! 2021-05-04T16:08:47Z beach: Do we know how many participants there were in the chat(s)? 2021-05-04T16:09:25Z beach: It seemed to me that several new people attended. Perhaps because of the virtual access. But it is good publicity for ELS anyway. 2021-05-04T16:09:58Z heisig: The peak was at 178 participants, I think. Most of the time, we had 120-130 participants. 2021-05-04T16:10:31Z beach: That's very good. 2021-05-04T16:10:39Z theothornhill quit (Remote host closed the connection) 2021-05-04T16:10:50Z theothornhill joined #lisp 2021-05-04T16:10:58Z Nilby: Great job everyone. 2021-05-04T16:13:15Z zeroish quit (Ping timeout: 265 seconds) 2021-05-04T16:13:32Z thrashdin joined #lisp 2021-05-04T16:13:34Z phoe: heisig: this does not include non-logged-in-people 2021-05-04T16:13:40Z phoe: or people who viewed via VLC/MPV 2021-05-04T16:13:47Z thrashdin is now known as aun 2021-05-04T16:14:00Z phoe: so it might be closer to 150 people, though we won't know that for sure 2021-05-04T16:14:29Z Gnuxie[m]: wouldn't you think there are more people who aren't logged in? 2021-05-04T16:14:38Z MichaelRaskin: Is this sum of Twitch + IRC membership? 2021-05-04T16:15:03Z phoe: Gnuxie[m]: I would 2021-05-04T16:15:08Z phoe: but I want to be conservative in my estimates 2021-05-04T16:15:20Z phoe: MichaelRaskin: that's the Twitch viewer count I think 2021-05-04T16:15:27Z Gnuxie[m]: fair 2021-05-04T16:15:40Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T16:16:25Z heisig: Yes, that was the Twitch viewer count shown below the video. 2021-05-04T16:17:34Z housel joined #lisp 2021-05-04T16:19:43Z theothornhill joined #lisp 2021-05-04T16:23:38Z theothornhill quit (Read error: Connection reset by peer) 2021-05-04T16:23:49Z theothornhill joined #lisp 2021-05-04T16:23:51Z verdammelt quit (Ping timeout: 260 seconds) 2021-05-04T16:23:53Z aeth quit (Ping timeout: 265 seconds) 2021-05-04T16:24:32Z fengshaun joined #lisp 2021-05-04T16:25:18Z aeth joined #lisp 2021-05-04T16:26:14Z theothornhill quit (Remote host closed the connection) 2021-05-04T16:26:25Z theothornhill joined #lisp 2021-05-04T16:30:27Z long4mud joined #lisp 2021-05-04T16:30:41Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-04T16:31:17Z aun quit (Quit: Connection closed) 2021-05-04T16:31:57Z zeroish joined #lisp 2021-05-04T16:32:36Z Nilby quit (Quit: [deleted]) 2021-05-04T16:33:21Z narimiran joined #lisp 2021-05-04T16:35:32Z thrashdin joined #lisp 2021-05-04T16:35:57Z thrashdin is now known as aun 2021-05-04T16:36:16Z aun left #lisp 2021-05-04T16:37:06Z entre-parenteses joined #lisp 2021-05-04T16:38:21Z theothornhill joined #lisp 2021-05-04T16:39:08Z mhd2018 quit (Ping timeout: 246 seconds) 2021-05-04T16:39:49Z Nilby joined #lisp 2021-05-04T16:40:00Z rogersm_ joined #lisp 2021-05-04T16:40:01Z rogersm quit (Read error: Connection reset by peer) 2021-05-04T16:40:54Z jeosol joined #lisp 2021-05-04T16:41:30Z rogersm_ quit (Client Quit) 2021-05-04T16:43:08Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T16:51:34Z andreyorst[m] joined #lisp 2021-05-04T16:52:45Z mrchampion quit (Read error: Connection reset by peer) 2021-05-04T16:53:02Z gigamonkey joined #lisp 2021-05-04T16:53:03Z f4r5983 joined #lisp 2021-05-04T16:54:26Z theothornhill joined #lisp 2021-05-04T16:54:31Z jmercouris: is there a way to run SBCL and have it ignore ~/.config/common-lisp/source-registry.conf.d/user-lisp.conf ? 2021-05-04T16:54:46Z andreyorst` joined #lisp 2021-05-04T16:55:36Z loli: jmercouris: --no-userinit maybe? I know in script mode it does not read the user default config 2021-05-04T16:56:13Z verdammelt joined #lisp 2021-05-04T16:56:29Z jeosol quit (Quit: Connection closed) 2021-05-04T16:57:10Z mrchampion joined #lisp 2021-05-04T16:57:18Z jmercouris: hm, I think that will just ignore ~/.sbclrc 2021-05-04T16:57:38Z jdz: There's also --no-sysinit 2021-05-04T16:57:56Z gigamonkey quit (Ping timeout: 268 seconds) 2021-05-04T16:57:56Z shifty quit (Ping timeout: 268 seconds) 2021-05-04T16:58:05Z shifty joined #lisp 2021-05-04T16:58:17Z jmercouris: I see, thank you 2021-05-04T16:59:06Z jdz: And I'm pretty sure the source registry thing is use by ASDF. 2021-05-04T16:59:07Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T16:59:41Z jdz: In other words you should look at ASDF documentation about how to control it. 2021-05-04T17:01:01Z cranium_ quit (Quit: Leaving) 2021-05-04T17:01:11Z jmercouris: OK 2021-05-04T17:02:19Z jdz: But in general why do you have ~/.config/common-lisp/source-registry.conf.d/ if you don't want it? 2021-05-04T17:02:28Z jmercouris: I'm trying to figure out how to make a NixOS tool work 2021-05-04T17:02:37Z jmercouris: I like having this file, and use it personally 2021-05-04T17:02:50Z jmercouris: however, the tool 'quicklisp-to-nix' breaks when this file is present and populated 2021-05-04T17:03:02Z loli: is it finding the wrong asdf package? 2021-05-04T17:03:09Z jmercouris: Correct, and it is trying to recompile it 2021-05-04T17:03:12Z loli: ahh 2021-05-04T17:03:19Z loli: I've had similar issues with ros 2021-05-04T17:03:21Z jmercouris: and it cannot, because it is trying to recompile in a non-writable directory 2021-05-04T17:03:35Z loli: if you want the right one I often have 2021-05-04T17:03:37Z loli: (push #p"./" asdf:*central-registry*) 2021-05-04T17:03:41Z jdz: Pretty sure for reproducible builds you do not want to read any system or user initfiles, and provide everything on the command line. 2021-05-04T17:03:42Z rogersm joined #lisp 2021-05-04T17:03:55Z ebrasca quit (Remote host closed the connection) 2021-05-04T17:04:16Z MichaelRaskin: The reproducible part does not see the $HOME in the first place 2021-05-04T17:04:34Z jdz: Too bad this will not help with ASDF automatically looking at user initfiles. 2021-05-04T17:08:37Z v88m quit (Remote host closed the connection) 2021-05-04T17:09:04Z nij joined #lisp 2021-05-04T17:09:43Z nij: Hello! What's the best timer you've used before? I just realize today that a robust timer isn't very easy to design.. currently the best I have is systemd.timer, but it isn't lispy at all. 2021-05-04T17:10:08Z v88m joined #lisp 2021-05-04T17:11:22Z theothornhill joined #lisp 2021-05-04T17:11:46Z mathrick quit (Ping timeout: 240 seconds) 2021-05-04T17:11:51Z mathrick_ joined #lisp 2021-05-04T17:17:13Z theothornhill quit (Ping timeout: 260 seconds) 2021-05-04T17:20:51Z jmercouris: nij: (bt:make-thread (lambda () (sleep 10) (make-loud-noise))) 2021-05-04T17:23:12Z makomo quit (Quit: WeeChat 3.0.1) 2021-05-04T17:25:26Z marcoxa quit (Ping timeout: 240 seconds) 2021-05-04T17:25:37Z PuercoPop quit (Quit: PuercoPop) 2021-05-04T17:26:07Z nij: I should say systemd.timer supports scheduling a job at a certain time, e.g. [2022-01-01 10:53:46]. It saves a comprehensive backlog of states and outputs/errors from the program. If the machine misses, by being off for example, the job, it will launch the job immediately next time the timer starts. 2021-05-04T17:26:40Z nij: (I don't like the last feature by the way.. I think it's better for the system to inform the user.. but not force it happens at a time the user wasn't even aware of.') 2021-05-04T17:26:41Z hypercube joined #lisp 2021-05-04T17:27:20Z rumbler31 quit (Remote host closed the connection) 2021-05-04T17:27:56Z rumbler31 joined #lisp 2021-05-04T17:28:43Z theothornhill joined #lisp 2021-05-04T17:33:26Z theothornhill quit (Ping timeout: 240 seconds) 2021-05-04T17:36:04Z marcoxa joined #lisp 2021-05-04T17:37:39Z ghard quit (Read error: Connection reset by peer) 2021-05-04T17:37:40Z ghard` joined #lisp 2021-05-04T17:45:08Z theothornhill joined #lisp 2021-05-04T17:49:06Z shifty quit (Ping timeout: 240 seconds) 2021-05-04T17:49:45Z shifty joined #lisp 2021-05-04T17:49:55Z theothornhill quit (Ping timeout: 265 seconds) 2021-05-04T17:51:32Z verdammelt quit (Ping timeout: 240 seconds) 2021-05-04T17:51:34Z DHARMAKAYA joined #lisp 2021-05-04T17:52:45Z Duuqnd joined #lisp 2021-05-04T17:59:33Z spikhoff quit (Ping timeout: 250 seconds) 2021-05-04T17:59:39Z dunk quit (Ping timeout: 260 seconds) 2021-05-04T17:59:39Z b20n quit (Ping timeout: 260 seconds) 2021-05-04T18:00:34Z theothornhill joined #lisp 2021-05-04T18:01:57Z b20n joined #lisp 2021-05-04T18:02:07Z spikhoff joined #lisp 2021-05-04T18:02:22Z dunk joined #lisp 2021-05-04T18:06:13Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T18:08:17Z shifty quit (Ping timeout: 265 seconds) 2021-05-04T18:13:55Z cage_ quit (Quit: Leaving) 2021-05-04T18:13:59Z theothornhill joined #lisp 2021-05-04T18:14:35Z jdz: nij: Pretty sure there's an option to control that. 2021-05-04T18:15:02Z schjetne quit (Ping timeout: 246 seconds) 2021-05-04T18:15:19Z skapata joined #lisp 2021-05-04T18:15:33Z jdz: nij: Persistent. 2021-05-04T18:16:21Z jdz: Actually defaults to false. See systemd.timer(5). 2021-05-04T18:18:28Z theothornhill quit (Ping timeout: 252 seconds) 2021-05-04T18:18:46Z andreyorst` quit (Ping timeout: 240 seconds) 2021-05-04T18:19:10Z theothornhill joined #lisp 2021-05-04T18:20:28Z andreyorst` joined #lisp 2021-05-04T18:22:09Z akoana joined #lisp 2021-05-04T18:22:35Z andreyorst` quit (Client Quit) 2021-05-04T18:22:44Z andreyorst` joined #lisp 2021-05-04T18:23:46Z nij: Yes, "Persistent" was what I meant. 2021-05-04T18:24:01Z nij: But.. I hope there's a lispier version of systemd.timer ;) 2021-05-04T18:24:14Z theothornhill quit (Ping timeout: 265 seconds) 2021-05-04T18:25:00Z jdz: What do you mean by that? What does it have to do with lisp? 2021-05-04T18:25:34Z lotuseater: nij: or checkout mcron 2021-05-04T18:25:49Z nij: lotuseater: mcron only recovers from suspended state. 2021-05-04T18:25:59Z nij: afaik it doesn't take care of other edge cases 2021-05-04T18:26:09Z nij: i dunno if it logs everything.. but based on its manual.. no 2021-05-04T18:26:17Z nij: https://www.gnu.org/software/mcron/manual/mcron.html#Behaviour-on-laptops 2021-05-04T18:27:02Z nij: mcron is more like crontab.. which is small and cool, but not robust: https://opensource.com/article/20/7/systemd-timers 2021-05-04T18:27:21Z sauvin quit (Ping timeout: 268 seconds) 2021-05-04T18:28:03Z theothornhill joined #lisp 2021-05-04T18:28:51Z jdz: nij: And what your imagined lispy solution would be like? 2021-05-04T18:29:43Z nij: log should be a clos object.. not just a bunch of text, for example. 2021-05-04T18:29:56Z nij: syntax too.. lemme give you an example 2021-05-04T18:30:53Z nij: config should be in lisp as well. 2021-05-04T18:31:15Z jdz: You mean config should be code? 2021-05-04T18:31:24Z nij: example: 2021-05-04T18:31:24Z nij: [Install] 2021-05-04T18:31:24Z nij: WantedBy=multi-user.target 2021-05-04T18:31:31Z jdz: Don't paste stuff here. 2021-05-04T18:31:43Z nij: This should be (install (:wantedby "multi-user.target")) 2021-05-04T18:32:06Z nij: (infinitely better) 2021-05-04T18:32:11Z jdz: That sounds like re-writing systemd configuration using s-expressions. 2021-05-04T18:32:21Z nij: This is on the config side only. 2021-05-04T18:32:45Z nij: When reviewing the log.. it would be less painful as well. 2021-05-04T18:33:51Z jdz: nij: Maybe you want https://www.gnu.org/software/shepherd/ ? 2021-05-04T18:34:01Z nij: shepherd afaik doesn't have the timer part 2021-05-04T18:34:09Z nij: shepherd is more like systemd 2021-05-04T18:34:23Z nij: Both of them manage many services. 2021-05-04T18:34:42Z nij: But systemd.timer is something that's "not really needed for service management, but helpful". 2021-05-04T18:34:52Z gurmble joined #lisp 2021-05-04T18:34:54Z jdz: All you talk about here is how you want systemd with lispy syntax, and now object that shepherd is a service manager? 2021-05-04T18:35:05Z grumble is now known as Guest31287 2021-05-04T18:35:05Z Guest31287 quit (Killed (card.freenode.net (Nickname regained by services))) 2021-05-04T18:35:05Z gurmble is now known as grumble 2021-05-04T18:35:17Z jdz: How is starting (and cleaning up after) services not related to service management? 2021-05-04T18:35:20Z nij: no, not a lispy systemd, but a lispy systemd.timer. 2021-05-04T18:35:49Z nij: (not (eq 'systemd 'systemd.timer)) ;=> t 2021-05-04T18:36:16Z jdz: You can't have "systemd.timer" without "systemd". 2021-05-04T18:36:45Z nij: That's right. But with systemd, you do not really need a systemd.timer. And that's, afaik, the case for shepherd. 2021-05-04T18:36:57Z jdz: You don't really need an OS. 2021-05-04T18:37:00Z nij: It doesn't have a dedicated timer like systemd. 2021-05-04T18:37:17Z nij: jdz: yeah, all i need is pencils and papers! 2021-05-04T18:37:46Z jdz: This does not seem like anything lisp related, so I'll just stop. 2021-05-04T18:39:33Z cosimone quit (Remote host closed the connection) 2021-05-04T18:39:44Z Nilby: nij: It sounds like you want an unix operating system controled and configured by Lisp, which is great, but you can't execpt that someone has done it for you already. The closest might be Guix with guile scheme. 2021-05-04T18:40:04Z nij: Nilby: no.. not a unix OS, but a timer. 2021-05-04T18:40:49Z nij: There are actually many attempts out there, including mcron (scheme), cl-cron, clerk.. But they are not a full-fledge timer. 2021-05-04T18:40:59Z Nilby: On the other hand if you just want something to happen at a certain time inside a lisp process, that is not hard. Just use sleep or the system interval timer. 2021-05-04T18:41:20Z nij: But I agree, I cannot expect that someone has done that. I might write my own once I'm convinced there isn't any. 2021-05-04T18:41:57Z Nilby: As far as I know there isn't a Lisp "cron" like thing. 2021-05-04T18:42:17Z nij: mcron, clerk, cl-cron are crons in Lisp. 2021-05-04T18:43:01Z verdammelt joined #lisp 2021-05-04T18:45:59Z v88m quit (Ping timeout: 265 seconds) 2021-05-04T18:47:17Z Nilby: nij: Then you've probably already researched it more than most. It sounds like you might then have, fix up, or make the next best Lisp cron. 2021-05-04T18:49:29Z Nilby: When I want just a simple timer inside a lisp image, I just use a simple macro: (do-at