2017-06-06T00:01:10Z attila_lendvai quit (Ping timeout: 255 seconds) 2017-06-06T00:01:12Z jack_rabbit joined #lisp 2017-06-06T00:10:03Z ryanwatkins quit (Remote host closed the connection) 2017-06-06T00:10:57Z whartung quit (Quit: whartung) 2017-06-06T00:13:47Z whartung joined #lisp 2017-06-06T00:13:49Z ryanwatkins joined #lisp 2017-06-06T00:17:45Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-06T00:19:32Z varjag quit (Ping timeout: 260 seconds) 2017-06-06T00:20:28Z RedEight quit (Quit: leaving) 2017-06-06T00:22:17Z Bock joined #lisp 2017-06-06T00:23:35Z Bocaneri quit (Read error: Connection reset by peer) 2017-06-06T00:25:35Z neoncontrails quit (Remote host closed the connection) 2017-06-06T00:25:35Z slyrus quit (Ping timeout: 268 seconds) 2017-06-06T00:26:10Z neoncontrails joined #lisp 2017-06-06T00:27:18Z neoncontrails quit (Read error: Connection reset by peer) 2017-06-06T00:27:57Z neoncontrails joined #lisp 2017-06-06T00:29:33Z sellout- joined #lisp 2017-06-06T00:32:56Z sz0 quit (Quit: Connection closed for inactivity) 2017-06-06T00:34:25Z dcluna joined #lisp 2017-06-06T00:37:14Z rumbler31 joined #lisp 2017-06-06T00:37:18Z deba5e12 quit (Ping timeout: 268 seconds) 2017-06-06T00:37:41Z deba5e12 joined #lisp 2017-06-06T00:38:12Z al-damiri joined #lisp 2017-06-06T00:40:11Z rpg joined #lisp 2017-06-06T00:41:12Z serviteur quit (Remote host closed the connection) 2017-06-06T00:42:15Z ryanwatkins quit (Remote host closed the connection) 2017-06-06T00:42:18Z deba5e12 quit (Ping timeout: 240 seconds) 2017-06-06T00:42:23Z rumbler31 quit (Ping timeout: 260 seconds) 2017-06-06T00:43:36Z quazimodo joined #lisp 2017-06-06T00:45:08Z ryanwatkins joined #lisp 2017-06-06T00:45:22Z deba5e12 joined #lisp 2017-06-06T00:45:40Z segmond joined #lisp 2017-06-06T00:50:15Z JuanDaugherty joined #lisp 2017-06-06T00:50:15Z rumbler31 joined #lisp 2017-06-06T00:51:07Z deba5e12 quit (Ping timeout: 255 seconds) 2017-06-06T00:54:48Z rumbler31 quit (Ping timeout: 258 seconds) 2017-06-06T01:03:54Z gabriel_laddel_p joined #lisp 2017-06-06T01:04:11Z gabriel_laddel_p quit (Changing host) 2017-06-06T01:04:11Z gabriel_laddel_p joined #lisp 2017-06-06T01:04:11Z gabriel_laddel_p quit (Changing host) 2017-06-06T01:04:11Z gabriel_laddel_p joined #lisp 2017-06-06T01:06:09Z gabriel_laddel_p quit (Client Quit) 2017-06-06T01:07:00Z deba5e12 joined #lisp 2017-06-06T01:12:43Z dcluna quit (Ping timeout: 260 seconds) 2017-06-06T01:17:02Z rpg quit (Ping timeout: 258 seconds) 2017-06-06T01:21:23Z EvW joined #lisp 2017-06-06T01:34:22Z yangby joined #lisp 2017-06-06T01:38:21Z rumbler31 joined #lisp 2017-06-06T01:39:08Z c0dehero quit (Ping timeout: 240 seconds) 2017-06-06T01:39:39Z rumbler31 quit (Remote host closed the connection) 2017-06-06T01:40:29Z Cthulhux quit (Ping timeout: 255 seconds) 2017-06-06T01:41:06Z rumbler31 joined #lisp 2017-06-06T01:41:32Z heurist` quit (Ping timeout: 246 seconds) 2017-06-06T01:42:38Z rumbler3_ joined #lisp 2017-06-06T01:42:51Z Cthulhux joined #lisp 2017-06-06T01:42:52Z orivej joined #lisp 2017-06-06T01:43:23Z p9s_ joined #lisp 2017-06-06T01:43:50Z p9s quit (Read error: Connection reset by peer) 2017-06-06T01:45:05Z rumbler31 quit (Ping timeout: 240 seconds) 2017-06-06T01:48:16Z peterhil quit (Ping timeout: 255 seconds) 2017-06-06T01:49:35Z whoman quit (Ping timeout: 260 seconds) 2017-06-06T01:50:16Z whoman joined #lisp 2017-06-06T01:50:28Z arescorpio joined #lisp 2017-06-06T01:51:17Z peterhil joined #lisp 2017-06-06T01:54:05Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-06-06T01:54:29Z ryanwatk` joined #lisp 2017-06-06T01:55:20Z ryanwatkins quit (Remote host closed the connection) 2017-06-06T01:58:09Z tristero joined #lisp 2017-06-06T02:01:14Z ryanwatkins joined #lisp 2017-06-06T02:02:38Z quazimodo quit (Read error: Connection reset by peer) 2017-06-06T02:05:01Z quazimodo joined #lisp 2017-06-06T02:05:13Z Jesin joined #lisp 2017-06-06T02:05:29Z mrottenkolber quit (Ping timeout: 268 seconds) 2017-06-06T02:06:08Z Jesin quit (Remote host closed the connection) 2017-06-06T02:06:23Z Jesin joined #lisp 2017-06-06T02:08:21Z ryanwatkins quit (Remote host closed the connection) 2017-06-06T02:08:50Z heurist` joined #lisp 2017-06-06T02:11:33Z netizen9285 joined #lisp 2017-06-06T02:15:18Z ryanwatkins joined #lisp 2017-06-06T02:21:47Z ryanwatkins quit (Remote host closed the connection) 2017-06-06T02:25:04Z deba5e12 quit (Quit: leaving) 2017-06-06T02:26:20Z Bratishka joined #lisp 2017-06-06T02:26:34Z ryanwatkins joined #lisp 2017-06-06T02:33:13Z Jesin quit (Quit: Leaving) 2017-06-06T02:33:41Z ryanwatkins quit (Ping timeout: 246 seconds) 2017-06-06T02:33:41Z ryanwatk` quit (Ping timeout: 246 seconds) 2017-06-06T02:36:55Z neoncontrails quit (Remote host closed the connection) 2017-06-06T02:37:35Z neoncontrails joined #lisp 2017-06-06T02:39:05Z ryanwatkins joined #lisp 2017-06-06T02:40:12Z teggi joined #lisp 2017-06-06T02:41:49Z neoncontrails quit (Ping timeout: 255 seconds) 2017-06-06T02:42:47Z EvW quit (Ping timeout: 246 seconds) 2017-06-06T02:44:06Z ryanwatkins quit (Read error: No route to host) 2017-06-06T02:50:25Z netizen9285 quit (Quit: Textual IRC Client: www.textualapp.com) 2017-06-06T02:51:39Z netizen9285 joined #lisp 2017-06-06T02:52:00Z rpg joined #lisp 2017-06-06T02:52:08Z c0dehero joined #lisp 2017-06-06T03:08:36Z netizen9285 quit (Quit: Textual IRC Client: www.textualapp.com) 2017-06-06T03:12:50Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2017-06-06T03:13:06Z sjl joined #lisp 2017-06-06T03:19:31Z test1600 joined #lisp 2017-06-06T03:19:50Z catern: hey #lisp people, what do you think of implicit parameters? http://docs.scala-lang.org/tutorials/tour/implicit-parameters.html basically they're implicit arguments to functions that are automatically picked up from the surrounding environment based on type. do you think this could be a viable replacement for dynamically scoped variables? you could implement e.g. exception handling with this, without having the pain of dynamic scope 2017-06-06T03:22:29Z rumbler31 joined #lisp 2017-06-06T03:22:58Z Bike: this doesn't seem particularly less worse, and lisp is doesn't really have compiler semantics depend on type 2017-06-06T03:26:02Z Bike: also, this particular example is kind of type-level, and we just do dumb but easy things to do the same thing. i mean, (defgeneric add (x1 x2)), methods for string and int, (reduce #'add '(1 2 3)) (reduce #'add '("a" "b" "c")) 2017-06-06T03:26:45Z neoncontrails joined #lisp 2017-06-06T03:26:55Z whoman: erm closures? 2017-06-06T03:27:08Z rumbler31 quit (Ping timeout: 255 seconds) 2017-06-06T03:29:14Z slyrus joined #lisp 2017-06-06T03:33:28Z sellout-1 joined #lisp 2017-06-06T03:33:52Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- s0 d4Mn l33t |t'z 5c4rY!) 2017-06-06T03:35:05Z sellout- quit (Ping timeout: 240 seconds) 2017-06-06T03:35:59Z whoman quit (Ping timeout: 246 seconds) 2017-06-06T03:39:56Z Jesin joined #lisp 2017-06-06T03:40:37Z nicdev` is now known as nicdev 2017-06-06T03:46:46Z safe joined #lisp 2017-06-06T03:48:27Z dcluna joined #lisp 2017-06-06T03:49:03Z teggi quit (Quit: Leaving...) 2017-06-06T03:50:40Z yangby quit (Quit: Go out for a walk and buy a drink.) 2017-06-06T03:52:42Z whoman joined #lisp 2017-06-06T03:53:01Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-06-06T03:53:25Z brendyn joined #lisp 2017-06-06T04:03:30Z dcluna quit (Ping timeout: 240 seconds) 2017-06-06T04:04:37Z Bike quit (Ping timeout: 255 seconds) 2017-06-06T04:07:05Z jack_rabbit quit (Read error: Connection reset by peer) 2017-06-06T04:09:46Z jack_rabbit joined #lisp 2017-06-06T04:12:05Z rumbler3_ quit (Remote host closed the connection) 2017-06-06T04:12:18Z Cthulhux quit (Ping timeout: 240 seconds) 2017-06-06T04:14:33Z Cthulhux joined #lisp 2017-06-06T04:17:20Z neoncontrails quit (Remote host closed the connection) 2017-06-06T04:17:57Z neoncontrails joined #lisp 2017-06-06T04:21:50Z quazimodo quit (Ping timeout: 246 seconds) 2017-06-06T04:22:23Z neoncontrails quit (Ping timeout: 268 seconds) 2017-06-06T04:34:50Z test1600 quit (Quit: Leaving) 2017-06-06T04:41:30Z Jesin quit (Quit: Leaving) 2017-06-06T04:41:53Z beach: Good morning everyone! 2017-06-06T04:43:11Z sjl quit (Ping timeout: 246 seconds) 2017-06-06T04:44:18Z slyrus_ joined #lisp 2017-06-06T04:44:24Z Jesin joined #lisp 2017-06-06T04:46:06Z test1600 joined #lisp 2017-06-06T04:46:08Z slyrus quit (Ping timeout: 240 seconds) 2017-06-06T04:46:12Z slyrus_ is now known as slyrus 2017-06-06T04:47:58Z arescorpio quit (Quit: Leaving.) 2017-06-06T04:53:51Z damke joined #lisp 2017-06-06T04:55:01Z butterthebuddha joined #lisp 2017-06-06T04:55:30Z neoncontrails joined #lisp 2017-06-06T05:00:30Z brendyn quit (Ping timeout: 240 seconds) 2017-06-06T05:02:54Z butterthebuddha quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-06T05:03:48Z enzuru quit (Ping timeout: 240 seconds) 2017-06-06T05:04:39Z butterthebuddha joined #lisp 2017-06-06T05:06:22Z vlatkoB joined #lisp 2017-06-06T05:09:25Z jleija quit (Quit: leaving) 2017-06-06T05:10:21Z pierpa quit (Remote host closed the connection) 2017-06-06T05:12:12Z vtomole joined #lisp 2017-06-06T05:12:57Z rumbler31 joined #lisp 2017-06-06T05:13:26Z butterthebuddha quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-06T05:13:30Z shka_ joined #lisp 2017-06-06T05:15:24Z quazimodo joined #lisp 2017-06-06T05:16:20Z vtomole: How do i evaluate a list that contains a variable without using eval? I have '(-1/sqrt2) which i have defined as: (defvar -1/sqrt2 (/ -1 (sqrt 2))) 2017-06-06T05:17:15Z khisanth_ quit (Ping timeout: 260 seconds) 2017-06-06T05:17:22Z rumbler31 quit (Ping timeout: 246 seconds) 2017-06-06T05:17:57Z beach: Do you mean that the value of the variable is the form? 2017-06-06T05:18:15Z beach: I don't see a variable in that form. 2017-06-06T05:18:47Z beach: Oh, I see. 2017-06-06T05:19:30Z beach: vtomole: Is the list always going to be a singleton with a single variable in it? 2017-06-06T05:19:45Z beach: clhs symbol-value 2017-06-06T05:19:46Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_symb_5.htm 2017-06-06T05:21:43Z vtomole: It's always going to have 2 elements. I'm trying to define a way to represent complex numbers that i can give symbols, because #c(1 -1/sqrt2) is illegal. 2017-06-06T05:22:08Z Devon joined #lisp 2017-06-06T05:22:11Z beach: clhs complex 2017-06-06T05:22:11Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_comple.htm 2017-06-06T05:22:39Z beach: (complex 1 -1/sqrt2) 2017-06-06T05:24:37Z adolf_st_ joined #lisp 2017-06-06T05:24:38Z beach: Or, if it is a constant at read time: #(1 #.-1/sqrt2) 2017-06-06T05:25:28Z Harag joined #lisp 2017-06-06T05:26:35Z adolf_stalin quit (Ping timeout: 246 seconds) 2017-06-06T05:29:16Z vtomole: beach: ahh '#c' is at read time? And 'complex' is at runtime? 2017-06-06T05:30:24Z orivej quit (Read error: Connection reset by peer) 2017-06-06T05:30:27Z khisanth_ joined #lisp 2017-06-06T05:31:07Z mishoo joined #lisp 2017-06-06T05:32:40Z beach: Yes. 2017-06-06T05:32:44Z butterthebuddha joined #lisp 2017-06-06T05:32:56Z beach: #c is a reader macro. COMPLEX is a function. 2017-06-06T05:33:46Z FreeBirdLjj joined #lisp 2017-06-06T05:35:31Z Karl_Dscc joined #lisp 2017-06-06T05:37:35Z yangby joined #lisp 2017-06-06T05:38:12Z FreeBirdLjj quit (Ping timeout: 255 seconds) 2017-06-06T05:38:34Z butterthebuddha quit (Max SendQ exceeded) 2017-06-06T05:40:55Z dcluna joined #lisp 2017-06-06T05:41:33Z Devon quit (Ping timeout: 260 seconds) 2017-06-06T05:44:21Z yrk quit (Read error: Connection reset by peer) 2017-06-06T05:44:26Z borei quit (Ping timeout: 246 seconds) 2017-06-06T05:45:08Z dcluna quit (Ping timeout: 240 seconds) 2017-06-06T05:45:26Z damke quit (Read error: Connection reset by peer) 2017-06-06T05:45:39Z damke_ joined #lisp 2017-06-06T05:51:54Z Devon joined #lisp 2017-06-06T05:52:32Z shdeng joined #lisp 2017-06-06T05:53:14Z safe quit (Quit: Leaving) 2017-06-06T05:54:08Z segmond quit (Quit: l8r) 2017-06-06T05:54:34Z slyrus quit (Ping timeout: 258 seconds) 2017-06-06T05:54:38Z dcluna joined #lisp 2017-06-06T05:56:50Z slyrus joined #lisp 2017-06-06T06:01:27Z Devon quit (Ping timeout: 240 seconds) 2017-06-06T06:01:43Z oleo quit (Quit: irc client terminated!) 2017-06-06T06:03:34Z pjb` joined #lisp 2017-06-06T06:05:22Z damke_ quit (Ping timeout: 268 seconds) 2017-06-06T06:05:56Z marusich joined #lisp 2017-06-06T06:06:07Z pjb quit (Ping timeout: 255 seconds) 2017-06-06T06:06:59Z damke_ joined #lisp 2017-06-06T06:07:25Z shka_ quit (Ping timeout: 246 seconds) 2017-06-06T06:08:49Z dcluna quit (Ping timeout: 255 seconds) 2017-06-06T06:12:19Z Karl_Dscc quit (Remote host closed the connection) 2017-06-06T06:13:08Z holycow joined #lisp 2017-06-06T06:14:32Z Bratishka quit (Ping timeout: 246 seconds) 2017-06-06T06:18:05Z Kawakaze joined #lisp 2017-06-06T06:20:31Z reinuseslisp joined #lisp 2017-06-06T06:26:48Z shifty joined #lisp 2017-06-06T06:28:00Z ceevusee quit (Remote host closed the connection) 2017-06-06T06:31:13Z Suzuran quit (Ping timeout: 246 seconds) 2017-06-06T06:31:16Z Suzuran42 joined #lisp 2017-06-06T06:31:16Z Suzuran42 is now known as Suzuran 2017-06-06T06:35:23Z reinuseslisp quit (Quit: Leaving) 2017-06-06T06:37:10Z sellout- joined #lisp 2017-06-06T06:37:22Z butterthebuddha joined #lisp 2017-06-06T06:38:39Z sellout-1 quit (Ping timeout: 258 seconds) 2017-06-06T06:46:13Z angavrilov joined #lisp 2017-06-06T06:46:19Z mingus1 quit (Read error: Connection reset by peer) 2017-06-06T06:46:35Z mingus joined #lisp 2017-06-06T06:49:18Z duckqlz joined #lisp 2017-06-06T06:49:37Z ecraven quit (Ping timeout: 245 seconds) 2017-06-06T06:50:33Z ecraven joined #lisp 2017-06-06T06:54:07Z knobo joined #lisp 2017-06-06T06:55:45Z zooey quit (Ping timeout: 248 seconds) 2017-06-06T06:57:04Z zooey joined #lisp 2017-06-06T06:59:56Z Bratishka joined #lisp 2017-06-06T07:03:22Z Suzuran42 joined #lisp 2017-06-06T07:03:25Z Suzuran quit (Ping timeout: 246 seconds) 2017-06-06T07:03:36Z Suzuran42 is now known as Suzuran 2017-06-06T07:04:09Z varjag joined #lisp 2017-06-06T07:04:28Z Kawakaze quit (Ping timeout: 246 seconds) 2017-06-06T07:06:07Z Devon joined #lisp 2017-06-06T07:08:40Z arduo joined #lisp 2017-06-06T07:10:04Z damke joined #lisp 2017-06-06T07:12:35Z damke_ quit (Ping timeout: 268 seconds) 2017-06-06T07:13:39Z Kawakaze joined #lisp 2017-06-06T07:13:47Z rumbler31 joined #lisp 2017-06-06T07:16:24Z vtomole quit (Ping timeout: 260 seconds) 2017-06-06T07:17:57Z rumbler31 quit (Ping timeout: 240 seconds) 2017-06-06T07:21:29Z marusich quit (Quit: Leaving) 2017-06-06T07:21:40Z brendyn joined #lisp 2017-06-06T07:29:26Z defaultxr quit (Ping timeout: 246 seconds) 2017-06-06T07:29:52Z gingerale joined #lisp 2017-06-06T07:32:32Z MrWoohoo joined #lisp 2017-06-06T07:34:22Z dcluna joined #lisp 2017-06-06T07:36:47Z Merv_ joined #lisp 2017-06-06T07:37:03Z mathrick quit (Read error: Connection reset by peer) 2017-06-06T07:43:16Z redeemed joined #lisp 2017-06-06T07:45:52Z Kawakaze quit (Ping timeout: 245 seconds) 2017-06-06T07:48:28Z dcluna quit (Ping timeout: 260 seconds) 2017-06-06T07:49:11Z salv0 joined #lisp 2017-06-06T07:50:53Z gxt quit (Quit: WeeChat 1.8) 2017-06-06T07:51:44Z anaumov quit (Ping timeout: 260 seconds) 2017-06-06T07:53:50Z _cosmonaut_ joined #lisp 2017-06-06T07:54:44Z dcluna joined #lisp 2017-06-06T07:57:26Z jack_rabbit quit (Ping timeout: 246 seconds) 2017-06-06T07:57:47Z Devon quit (Ping timeout: 240 seconds) 2017-06-06T08:01:46Z dcluna quit (Ping timeout: 255 seconds) 2017-06-06T08:05:11Z neoncontrails quit 2017-06-06T08:08:08Z let42 joined #lisp 2017-06-06T08:10:19Z knobo quit (Ping timeout: 255 seconds) 2017-06-06T08:10:58Z whoman quit (Read error: Connection reset by peer) 2017-06-06T08:11:07Z nirved joined #lisp 2017-06-06T08:11:07Z hhdave joined #lisp 2017-06-06T08:11:24Z whoman joined #lisp 2017-06-06T08:21:18Z neoncontrails joined #lisp 2017-06-06T08:26:03Z attila_lendvai joined #lisp 2017-06-06T08:26:51Z raynold quit (Quit: Connection closed for inactivity) 2017-06-06T08:27:37Z let42 quit (Quit: Konversation terminated!) 2017-06-06T08:27:52Z scymtym joined #lisp 2017-06-06T08:30:29Z butterthebuddha quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-06T08:31:27Z knobo joined #lisp 2017-06-06T08:36:39Z damke_ joined #lisp 2017-06-06T08:37:08Z Bratishka quit (Read error: No route to host) 2017-06-06T08:37:48Z knobo quit (Ping timeout: 240 seconds) 2017-06-06T08:39:32Z damke quit (Ping timeout: 268 seconds) 2017-06-06T08:43:27Z jack_rabbit joined #lisp 2017-06-06T08:43:28Z arduo quit (Read error: Connection reset by peer) 2017-06-06T08:43:41Z arduo joined #lisp 2017-06-06T08:51:35Z jack_rabbit quit (Ping timeout: 255 seconds) 2017-06-06T09:02:27Z damke joined #lisp 2017-06-06T09:04:12Z damke_ quit (Ping timeout: 268 seconds) 2017-06-06T09:11:18Z rtmpdavid quit (Remote host closed the connection) 2017-06-06T09:11:20Z mazoe joined #lisp 2017-06-06T09:16:05Z knobo joined #lisp 2017-06-06T09:16:54Z attila_lendvai quit (Ping timeout: 255 seconds) 2017-06-06T09:17:48Z dcluna joined #lisp 2017-06-06T09:17:56Z m00natic joined #lisp 2017-06-06T09:20:23Z knobo quit (Ping timeout: 246 seconds) 2017-06-06T09:20:51Z Bratishka joined #lisp 2017-06-06T09:23:51Z attila_lendvai joined #lisp 2017-06-06T09:24:34Z dcluna quit (Ping timeout: 255 seconds) 2017-06-06T09:31:46Z attila_lendvai quit (Ping timeout: 255 seconds) 2017-06-06T09:33:00Z Bratishka quit (Ping timeout: 260 seconds) 2017-06-06T09:36:04Z orivej joined #lisp 2017-06-06T09:47:55Z tapioco: hi 2017-06-06T09:48:59Z tapioco: please I've got a problem with poll on linux, it uses pollpri with timeout -1 but returns suddenly with errno = 2 2017-06-06T09:49:26Z loke___ joined #lisp 2017-06-06T09:49:35Z tapioco: I created a thread spinning on poll 2017-06-06T10:00:03Z p9s_ quit (Remote host closed the connection) 2017-06-06T10:00:36Z anaumov joined #lisp 2017-06-06T10:00:36Z p9s joined #lisp 2017-06-06T10:05:11Z p9s quit (Ping timeout: 260 seconds) 2017-06-06T10:06:46Z dcluna joined #lisp 2017-06-06T10:10:06Z Bratishka joined #lisp 2017-06-06T10:12:10Z shdeng quit (Quit: Leaving) 2017-06-06T10:13:37Z loke___ quit (Ping timeout: 255 seconds) 2017-06-06T10:14:51Z Bratishka left #lisp 2017-06-06T10:16:57Z dcluna quit (Ping timeout: 240 seconds) 2017-06-06T10:21:08Z sjl joined #lisp 2017-06-06T10:21:38Z flip214: tapioco: what's the return value of poll? 2017-06-06T10:21:53Z tapioco: -1 2017-06-06T10:22:25Z flip214: errno == ENOENT, right? that's not a documented return value for poll.... 2017-06-06T10:22:34Z tapioco: errno = 2 2017-06-06T10:24:54Z knobo joined #lisp 2017-06-06T10:25:55Z yangby quit (Quit: Go out for a walk and buy a drink.) 2017-06-06T10:26:12Z dtornabene joined #lisp 2017-06-06T10:26:13Z damke quit (Ping timeout: 268 seconds) 2017-06-06T10:27:51Z damke joined #lisp 2017-06-06T10:30:03Z flip214: yeah, but is 2 == ENOENT on your machine? 2017-06-06T10:30:12Z flip214: on your architecture? etc. 2017-06-06T10:30:21Z flip214: perhaps post the code... 2017-06-06T10:33:11Z p9s joined #lisp 2017-06-06T10:33:27Z pjb` is now known as pjb 2017-06-06T10:34:27Z pjb: check /usr/include/sys/errno.h 2017-06-06T10:34:52Z pjb: Use strerror to display the error message. 2017-06-06T10:36:51Z flip214: pjb: 2 will most certainly be ENOENT... but that's not in the list of error codes from poll. 2017-06-06T10:37:21Z p9s quit (Remote host closed the connection) 2017-06-06T10:38:05Z p9s joined #lisp 2017-06-06T10:38:55Z p9s quit (Remote host closed the connection) 2017-06-06T10:39:28Z tapioco: pjb: no such file or directory, but the file is opened correctly! 2017-06-06T10:39:30Z p9s joined #lisp 2017-06-06T10:42:52Z flip214: tapioco: showing the code might allow us to help... 2017-06-06T10:45:07Z tapioco: here we go! --> http://paste.lisp.org/display/348233 2017-06-06T10:45:28Z knobo quit (Ping timeout: 260 seconds) 2017-06-06T10:46:32Z papachan` joined #lisp 2017-06-06T10:46:38Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-06-06T10:53:52Z yrk joined #lisp 2017-06-06T10:56:15Z test1600 quit (Quit: Leaving) 2017-06-06T10:57:30Z flip214: tapioco: which implementation are you using? are c-poll etc. the glibc functions? how do you import them? 2017-06-06T10:57:38Z knobo joined #lisp 2017-06-06T10:58:15Z flip214: and where do you see errno==2? 2017-06-06T10:59:36Z pjb: tapioco: well, the exact path may vary, it's /usr/include/errno.h, but it includes usually sys/errno.h 2017-06-06T10:59:46Z tapioco: flip214: wait 2017-06-06T11:01:06Z Harag1 joined #lisp 2017-06-06T11:01:37Z tapioco: flip --> http://paste.lisp.org/display/348233#1 2017-06-06T11:01:48Z Harag quit (Ping timeout: 260 seconds) 2017-06-06T11:01:48Z Harag1 is now known as Harag 2017-06-06T11:02:07Z knobo quit (Ping timeout: 245 seconds) 2017-06-06T11:02:23Z _cosmonaut_ joined #lisp 2017-06-06T11:03:10Z flip214: tapioco: which implementation? 2017-06-06T11:03:20Z tapioco: ecl 2017-06-06T11:03:38Z holycow quit (Quit: leaving) 2017-06-06T11:05:30Z flip214: please run "strace" against that, so we can see what really happens on the userspace/kernel boundary 2017-06-06T11:05:48Z flip214: I like these options: # strace -f -tt -s 200 -o /tmp/my-trace-file -p 2017-06-06T11:06:15Z dtornabene quit (Ping timeout: 255 seconds) 2017-06-06T11:06:56Z tapioco: flip214: attached to ecl? 2017-06-06T11:07:05Z flip214: yes, please 2017-06-06T11:07:41Z pve joined #lisp 2017-06-06T11:07:58Z flip214: c-poll, c-open, c-seek etc. are not in that paste... let's hope they're correct 2017-06-06T11:09:27Z flip214: if you like that better, I can PM you my email address as well 2017-06-06T11:11:03Z tapioco: ok 2017-06-06T11:12:17Z dtornabene joined #lisp 2017-06-06T11:12:17Z dtornabene quit (Client Quit) 2017-06-06T11:12:31Z dtornabene joined #lisp 2017-06-06T11:13:53Z EvW joined #lisp 2017-06-06T11:13:58Z dtornabene quit (Client Quit) 2017-06-06T11:14:26Z dtornabene joined #lisp 2017-06-06T11:19:26Z damke_ joined #lisp 2017-06-06T11:20:36Z dcluna joined #lisp 2017-06-06T11:21:43Z damke quit (Ping timeout: 268 seconds) 2017-06-06T11:21:56Z orivej quit (Ping timeout: 258 seconds) 2017-06-06T11:21:56Z p9s quit (Remote host closed the connection) 2017-06-06T11:25:22Z arquebus joined #lisp 2017-06-06T11:26:55Z nowhere_man quit (Ping timeout: 255 seconds) 2017-06-06T11:27:58Z quazimodo quit (Read error: Connection reset by peer) 2017-06-06T11:28:33Z Bike joined #lisp 2017-06-06T11:29:51Z wildbartty_ quit (Remote host closed the connection) 2017-06-06T11:30:07Z dcluna quit (Ping timeout: 246 seconds) 2017-06-06T11:30:19Z wildbartty joined #lisp 2017-06-06T11:31:33Z wildbartty quit (Read error: Connection reset by peer) 2017-06-06T11:32:26Z arquebus quit (Quit: konversation disconnects) 2017-06-06T11:37:27Z rumbler31 joined #lisp 2017-06-06T11:41:13Z dtornabene quit (Read error: Connection reset by peer) 2017-06-06T11:41:35Z dtornabene joined #lisp 2017-06-06T11:43:54Z dtornabene quit (Remote host closed the connection) 2017-06-06T11:44:20Z dtornabene joined #lisp 2017-06-06T11:45:49Z papachan` quit (Ping timeout: 255 seconds) 2017-06-06T11:50:42Z froggey_ is now known as froggey 2017-06-06T11:51:33Z dtornabene quit (Remote host closed the connection) 2017-06-06T11:53:27Z shifty quit (Remote host closed the connection) 2017-06-06T11:55:44Z papachan` joined #lisp 2017-06-06T11:57:37Z dtornabene joined #lisp 2017-06-06T11:58:31Z phoe: I am trying to use BKNR.DATASTORE's DEFINE-PERSISTENT-CLASS but the indentation is off for me. 2017-06-06T11:58:34Z phoe: https://i.imgtc.com/R1Rg0lJ.png 2017-06-06T12:00:08Z tapioco: I was wondering if cl-async would fit better in this case 2017-06-06T12:00:24Z phoe: Could anyone quickload it and confirm if they also have this issue? 2017-06-06T12:00:37Z jackdaniel: is your define-persistent-class accessible in the file package? if yes - is the fourth argument declared as &body in macro? 2017-06-06T12:00:56Z jackdaniel: is your file saved to disk? 2017-06-06T12:01:04Z phoe: jackdaniel: let me save it 2017-06-06T12:01:07Z jackdaniel: (slime has issue with indentation of buffer-only files) 2017-06-06T12:01:16Z phoe: yes, it is saved. 2017-06-06T12:01:28Z phoe: yes, define-persistent-class is correctly recognized in slime, the lambda list shows on the bottom. 2017-06-06T12:01:35Z p9s joined #lisp 2017-06-06T12:01:56Z phoe: and no, the fourth argument is &rest but it is the same case in my defclass 2017-06-06T12:02:39Z jackdaniel: I'm just talking about heuristics used by slime. it treats &rest argument in custom macros as ordinary arguments 2017-06-06T12:02:56Z jackdaniel: that is – the same level as the previous one 2017-06-06T12:03:04Z jackdaniel: try to put slots in separate line 2017-06-06T12:03:07Z phoe: https://i.imgtc.com/cTjNIMJ.png 2017-06-06T12:03:10Z jackdaniel: it should look better 2017-06-06T12:03:36Z phoe: the arguments are all indented at 4 spaces 2017-06-06T12:04:06Z mrottenkolber joined #lisp 2017-06-06T12:04:39Z phoe: ...I had to modify the lambda list 2017-06-06T12:05:00Z phoe: (defmacro define-persistent-class (class (&rest superclasses) slots &rest class-options) ...) 2017-06-06T12:05:06Z flip214: tapioco: what exactly are you trying to to? poll() on a fd can be done in ECL. 2017-06-06T12:05:09Z phoe: (defmacro define-persistent-class (class superclasses slots &body class-options) ...) 2017-06-06T12:05:40Z _cosmonaut_ quit (Ping timeout: 255 seconds) 2017-06-06T12:05:41Z jackdaniel: as I've said, you may simply put `slots' in a new line, then class-options will be aligned as you desire as well 2017-06-06T12:05:45Z jackdaniel: without modifying original software 2017-06-06T12:05:53Z phoe: not really, jackdaniel 2017-06-06T12:06:01Z phoe: I've put them all on separate lines 2017-06-06T12:06:05Z phoe: and all are aligned at 4 spaces. 2017-06-06T12:06:20Z tapioco: flip214: I'm trying to poll /sys/class/gpio/gpio17/value 2017-06-06T12:06:56Z jackdaniel: phoe: all works fine here: http://imgur.com/0ZmLs14l.png 2017-06-06T12:07:03Z tapioco: flip214: when the value pass from 1 to 0 (falling edge) the value file should trigger a poll event (POLLPRI) 2017-06-06T12:07:31Z jackdaniel: tapioco: did you consider using serve-event contrib instead of polling? 2017-06-06T12:07:50Z phoe: jackdaniel: wtf. I have no idea why it does this here. 2017-06-06T12:07:56Z tapioco: does it look at the file change? 2017-06-06T12:08:27Z pierpa joined #lisp 2017-06-06T12:08:34Z jackdaniel: save the file, select region, press tab 2017-06-06T12:08:35Z flip214: jackdaniel: epoll is the kernel api used to wake up userspace. 2017-06-06T12:08:59Z flip214: not sure whether select() works too 2017-06-06T12:09:24Z jackdaniel: yeah, I'm not sure if it is suitable and I don't have time to investiage it, but it might be an option 2017-06-06T12:09:32Z jackdaniel: that's why I have asked if he were aware about such possibility 2017-06-06T12:09:38Z jackdaniel: s/were/is/ 2017-06-06T12:10:30Z flip214: tapioco: how about doing a 10-line test with sb-unix:unix-poll in SBCL? 2017-06-06T12:10:36Z flip214: no need to do FFI there 2017-06-06T12:10:42Z pjb: on "files" in /sys, I wouldn't be surprised it if didn't work. 2017-06-06T12:10:50Z rumbler31 quit (Remote host closed the connection) 2017-06-06T12:11:14Z jackdaniel: phoe: regarding your screen, as I have mentioned, put new line after class name and before the second argument 2017-06-06T12:11:21Z flip214: well, perhaps select() and epoll() have some common ground inside the kernel for that 2017-06-06T12:11:29Z pjb: Are they devices? I'd bet not. In that case, polling would depend on the module implementation. 2017-06-06T12:12:06Z pjb: On the other hand, if you had a character device /dev/gpio17 you'd have a chance poll() would work there. 2017-06-06T12:12:09Z tapioco: flip214: no usable sbcl on raspberry 2017-06-06T12:13:18Z flip214: tapioco: oh yeah, you need threads. my bad. 2017-06-06T12:14:01Z flip214: I've done 2 sbcl instances, talking via a file on a tmpfs... that was good enough 2017-06-06T12:15:22Z damke_ quit (Ping timeout: 268 seconds) 2017-06-06T12:15:27Z tapioco: pjb: is stated on sysfs.txt doc that you can poll value file 2017-06-06T12:15:37Z pjb: ok then. 2017-06-06T12:16:07Z tapioco: https://github.com/torvalds/linux/blob/master/Documentation/gpio/sysfs.txt 2017-06-06T12:16:28Z tapioco: Write these strings to select the signal edge(s) that will make poll(2) on the "value" file return. 2017-06-06T12:16:40Z dcluna joined #lisp 2017-06-06T12:16:41Z pjb: Did you configure the pin to be interrupt-generating? 2017-06-06T12:16:48Z damke_ joined #lisp 2017-06-06T12:17:51Z pjb: ie, did you write to edge "rising" or "falling"?A 2017-06-06T12:19:59Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-06-06T12:20:36Z tapioco: pjb: yes 2017-06-06T12:20:51Z tapioco: pjb: the gpio library I did is able to do that 2017-06-06T12:21:09Z deba5e12 joined #lisp 2017-06-06T12:21:13Z tapioco: pjb: (setf (gpio:edge *pin*) "falling") 2017-06-06T12:21:17Z dcluna quit (Ping timeout: 255 seconds) 2017-06-06T12:21:50Z nzambe joined #lisp 2017-06-06T12:22:07Z Bike quit (Ping timeout: 258 seconds) 2017-06-06T12:22:46Z _cosmonaut_ joined #lisp 2017-06-06T12:24:29Z damke joined #lisp 2017-06-06T12:26:28Z damke_ quit (Ping timeout: 268 seconds) 2017-06-06T12:26:56Z tapioco: pjb: what is the sense to have a generic interface /sys/class/gpio/... if it is different from machine to machine? 2017-06-06T12:29:50Z pjb: the question is not whether it's able to do it, but whether you did it! the doc sysfs.txt says that polls works only if the gpio is configured as interrupt-generating! 2017-06-06T12:30:08Z pjb: So you MUST do it! Not just be able to do it! 2017-06-06T12:34:25Z FreeBirdLjj joined #lisp 2017-06-06T12:35:42Z nowhere_man joined #lisp 2017-06-06T12:36:18Z papachan` quit (Ping timeout: 260 seconds) 2017-06-06T12:36:56Z quazimodo joined #lisp 2017-06-06T12:38:43Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-06-06T12:42:06Z carlosda1 joined #lisp 2017-06-06T12:42:52Z pierpa quit (Remote host closed the connection) 2017-06-06T12:44:12Z Lowl3v3l quit (Quit: Leaving.) 2017-06-06T12:47:26Z impulse quit (Ping timeout: 268 seconds) 2017-06-06T12:48:12Z dtornabene quit (Read error: Connection reset by peer) 2017-06-06T12:53:38Z tapioco: pjb: I expected /sys/class/gpio to be responsible to enable the interrupt 2017-06-06T12:55:06Z tapioco: pjb: /sys/class/gpio/gpioX/edge 2017-06-06T12:55:26Z pjb: No devices are not responsible to manage themselves. 2017-06-06T12:55:48Z pjb: type: cat /sys/class/gpio/gpio17/edge 2017-06-06T12:57:08Z tapioco: falling 2017-06-06T12:57:17Z tapioco: I setted that before 2017-06-06T12:57:35Z tapioco: so it should work 2017-06-06T13:03:00Z pjb: yes, it should. 2017-06-06T13:03:58Z tapioco: pjb: now they provide a /dev/gpiomem too 2017-06-06T13:06:08Z carlosda1 quit (Ping timeout: 246 seconds) 2017-06-06T13:11:20Z rumbler31 joined #lisp 2017-06-06T13:15:58Z dcluna joined #lisp 2017-06-06T13:16:31Z rumbler31 quit (Ping timeout: 260 seconds) 2017-06-06T13:27:50Z ttt72 joined #lisp 2017-06-06T13:28:51Z tapioco: pjb: /dev/gpiomem is quite unusable with common lisp 2017-06-06T13:30:16Z dcluna quit (Ping timeout: 255 seconds) 2017-06-06T13:31:09Z schaeffer left #lisp 2017-06-06T13:31:41Z Bike joined #lisp 2017-06-06T13:31:42Z pjb: Why? 2017-06-06T13:32:14Z tapioco: mmap and so on, too much overhead and cffi 2017-06-06T13:32:43Z nowhere_man quit (Read error: Connection reset by peer) 2017-06-06T13:32:45Z pjb: ok 2017-06-06T13:35:17Z nowhere_man joined #lisp 2017-06-06T13:38:05Z oleo joined #lisp 2017-06-06T13:41:28Z dcluna joined #lisp 2017-06-06T13:42:14Z cromachina quit (Read error: Connection reset by peer) 2017-06-06T13:42:23Z Oladon quit (Read error: Connection reset by peer) 2017-06-06T13:43:45Z Oladon joined #lisp 2017-06-06T13:43:55Z arduo quit (Remote host closed the connection) 2017-06-06T13:48:47Z butterthebuddha joined #lisp 2017-06-06T13:49:21Z Colleen quit (Read error: Connection reset by peer) 2017-06-06T13:49:32Z catern: whoman: ohhhhhh I finally understand your response to my question 2017-06-06T13:49:39Z catern: yeah, I guess closures are the solution! 2017-06-06T13:50:00Z Colleen joined #lisp 2017-06-06T13:50:06Z catern: but wait, how do you do exception handling ergonomically with closures? 2017-06-06T13:51:25Z dlowe: There's nothing different about it 2017-06-06T13:51:27Z shka: catern: ergonomically? 2017-06-06T13:51:29Z phoe: is quickdocs down again? 2017-06-06T13:52:45Z dlowe: Signaling a condition will unwind the dynamic call stack. Whether the call has a lexical closure doesn't have an effect on it. 2017-06-06T13:52:56Z Bike: the usual way of implementing signaling (which is what we call it instead of "exception handling") is that you have a dynamic variable for the handlers, and handlers are just closures 2017-06-06T13:53:01Z dispersed: sigh.. how do ppl never get the point when someone asks a question on irc 2017-06-06T13:53:14Z Bike: what are you talking about. who are you 2017-06-06T13:53:15Z dlowe: communication is hard 2017-06-06T13:54:12Z shka: sooo 2017-06-06T13:54:34Z shka: there was guy around interested in implementing erlang style user land threads using sicl 2017-06-06T13:54:44Z shka: any idea how this went? 2017-06-06T13:54:46Z phoe: green threads? 2017-06-06T13:54:53Z shka: yup 2017-06-06T13:54:58Z Bike: so when you do (handler-bind ((my-error-class my-handler)) ...) that macroexpands into like (let ((*handlers* (acons my-error-class my-handler))) ...), and then when you call (signal my-error-class ...) it does like (funcall (cdr (find my-error-class *handlers* :key #'car)).) 2017-06-06T13:55:08Z shka: or fibers, as they are called now 2017-06-06T13:55:20Z Bike: using SICL? 2017-06-06T13:56:04Z shka: yup 2017-06-06T13:56:12Z dlowe: sadly, they're called "processes" in lispland 2017-06-06T13:56:15Z Bike: like... how? for what? 2017-06-06T13:56:19Z MrBismuth quit (Ping timeout: 255 seconds) 2017-06-06T13:56:25Z dlowe: cmucl has support for them already 2017-06-06T13:56:51Z shka: Bike: well, i don't need to argue with "for what" but i was wondering about "how" part 2017-06-06T13:57:15Z milanj joined #lisp 2017-06-06T13:57:21Z beach: dlowe: Signaling a condition will NOT unwind the stack. 2017-06-06T13:57:22Z Bike: how is basically waht i mean yeah 2017-06-06T13:58:16Z shka: well, don't ask me 2017-06-06T13:58:16Z phoe: dlowe: (progn (signal (make-condition 'condition)) 2) ;=> 2 2017-06-06T13:58:17Z catern: Bike: yes, but dynamic variables are not great 2017-06-06T13:58:26Z malice joined #lisp 2017-06-06T13:58:27Z shka: i'm trying to figure out how that would be possible 2017-06-06T13:58:41Z Bike: catern: why not? 2017-06-06T13:58:43Z dlowe: beach: CAN unwind the stack 2017-06-06T13:58:56Z Bike: dlowe: no, only handlers do that 2017-06-06T13:58:59Z phoe: dlowe: signaling alone cannot unwind the stack 2017-06-06T13:59:08Z beach: dlowe: No, that would require a non-local transfer of control. 2017-06-06T13:59:09Z malice: How do I list all the files matching the wildcard in CL? I've tried #'uiop:directory-files, but it looks like it returns all the files in the directory 2017-06-06T13:59:21Z dlowe: thank you for that IRC tacklepile 2017-06-06T13:59:23Z phoe: only if you decide to handle a condition by a nonlocal transfer of control, a portion of the stack gets unwound 2017-06-06T13:59:32Z Bike: catern: i mean, i find the ability to confuse with lexical variables unfortunate, but that would mostly be a syntactic change. 2017-06-06T13:59:35Z dlowe: \s 2017-06-06T13:59:42Z phoe: malice: matching the wildcard? can you give me an example? 2017-06-06T13:59:54Z Bike: also as far as i understood the implicit arguments in scala (which don't seem to be like the haskell ones i'm vaguely aware of) it still does that. 2017-06-06T14:00:09Z dlowe: can a handler unwind the stack without a condition being signaled? 2017-06-06T14:00:17Z phoe: looks like (cl:directory "/tmp/**") works for me 2017-06-06T14:00:27Z Bike: well, if a condition isn't signaled the handler wouldn't be called 2017-06-06T14:00:35Z phoe: dlowe: no, a handler only activates when its matching condition is signaled 2017-06-06T14:00:47Z dlowe: right, so I think a little moderation is called for :p 2017-06-06T14:00:50Z phoe: also if and only if any other handlers before it decline to handle the condition 2017-06-06T14:01:32Z malice: phoe: equivalent of "ls *something*" 2017-06-06T14:01:35Z dlowe: I've only been here for a couple of decades :p 2017-06-06T14:01:46Z phoe: malice: CL:DIRECTORY 2017-06-06T14:01:49Z malice: are there any cases when directory does not work? 2017-06-06T14:01:55Z malice: phoe: strange 2017-06-06T14:01:58Z phoe: it is very implementation-dependent 2017-06-06T14:02:17Z phoe: I have no idea if UIOP has anything that can give you consistent behaviour across implementations 2017-06-06T14:02:20Z malice: because directory gives me expected result(list of al the files) when I call it like (directory "/home/user/*") 2017-06-06T14:02:38Z malice: but (directory "/home/user/some/more/files/*") returns NIL 2017-06-06T14:02:51Z malice: when I copy and paste the directory pathname to terminal and use LS, I get list of files. 2017-06-06T14:02:57Z phoe: malice: what is inside /home/user/some/more/files/? 2017-06-06T14:03:01Z dlowe: try using "/home/user/some/more/files/*.*" 2017-06-06T14:03:01Z phoe: files? directories? 2017-06-06T14:03:12Z phoe: or ** 2017-06-06T14:03:14Z malice: I want files 2017-06-06T14:03:23Z phoe: *.* then 2017-06-06T14:03:26Z dlowe: the "filename" and the "type" are separate in lisp, and sometimes that makes string pathnames a bit weird. 2017-06-06T14:03:32Z malice: dlowe: thanks, that worked. Why didn't * work initially? 2017-06-06T14:03:39Z dlowe: ^ 2017-06-06T14:03:48Z malice: yeah, I see. 2017-06-06T14:03:57Z malice: Okay, it works now 2017-06-06T14:04:00Z malice: Thank you guys. 2017-06-06T14:10:14Z madrik joined #lisp 2017-06-06T14:13:18Z mrottenkolber: jackdaniel: phoe: It’s published: http://mr.gy/blog/erlangen-explore-kademlia-dht.html Thanks again guys! 2017-06-06T14:13:36Z madrik: Greetings. 2017-06-06T14:14:29Z beach: Hello madrik. 2017-06-06T14:15:03Z madrik: beach: Hello. 2017-06-06T14:15:49Z jackdaniel: mrottenkolber: congrats :) 2017-06-06T14:17:14Z madrik: beach: I was thumbing through /Winston and Horn/, and they discuss a simple mark-and-sweep garbage collector. That seems pretty advanced for an introductory book. 2017-06-06T14:17:30Z beach: It does, yes. 2017-06-06T14:17:37Z madrik: You said yesterday that you didn't like the book very much. Could you elaborate why. 2017-06-06T14:18:11Z beach: I have the second edition. The code is in all capital letter. They use stuff like SET that we don't use much anymore. 2017-06-06T14:18:23Z beach: Also PROG which is also not used much. 2017-06-06T14:18:36Z oleo: ah 2017-06-06T14:18:48Z oleo: i got the 3rd edition i think and my codes are not upcase 2017-06-06T14:19:00Z beach: OK, so maybe that one is better. 2017-06-06T14:19:05Z oleo: ya 2017-06-06T14:19:16Z madrik: beach: Like oleo, I have a 3rd edition. 2017-06-06T14:19:19Z beach: But, still, if it is pre-ansi, there won't be much about generic functions in it. 2017-06-06T14:19:27Z beach: madrik: Yes, I remember your saying that. 2017-06-06T14:21:15Z shka: mrottenkolber: that looks quite interesting! 2017-06-06T14:21:16Z madrik: But here's the fun thing: it's pre-ANSI. I remember reading about a 1997, post-ANSI edition. 2017-06-06T14:21:19Z beach: Do they still use SET and PROG in the third edition? 2017-06-06T14:21:50Z madrik: beach: I haven't seen SET too often, only SETQ and SETF. 2017-06-06T14:22:10Z beach: OK, maybe there is nothing particularly wrong about the third edition then. 2017-06-06T14:22:30Z beach: I would have to see it to determine that. Not worth ordering at this point, though. :) 2017-06-06T14:22:50Z madrik: I'm looking for the 3rd ed. which is "Reprinted with corrections". _That_ one is post-ANSI. 2017-06-06T14:23:11Z madrik: I have a 3rd ed., which is not "Reprinted with corrections". :( 2017-06-06T14:23:19Z beach: I see. 2017-06-06T14:23:20Z madrik: Here is one link: http://trove.nla.gov.au/work/9789802?q&sort=holdings+desc&_=1496758893821&versionId=213914219 2017-06-06T14:23:22Z Xach: I liked the third edition 2017-06-06T14:23:46Z Xach: It was one of the last CL books I ever bought so it didn't hold much new info, so perhaps I didn't read it closely enough to criticize or praise. 2017-06-06T14:24:00Z Xach: I do remember thinking that it covered CLOS in a reasonable way 2017-06-06T14:24:20Z beach: Great! 2017-06-06T14:25:51Z madrik: Xach: It has one chapter on Classes and Generic Functions (Ch. 14) 2017-06-06T14:26:21Z oleo: i've only skipped a few chapters which seemed too basic but...... 2017-06-06T14:26:35Z oleo: have to read the rest sometime too 2017-06-06T14:26:40Z madrik: But they use those things in the rest of the book, as far as I can tell. 2017-06-06T14:26:58Z dlowe: I like the Keene book for CLOS 2017-06-06T14:27:58Z madrik: dlowe: How are CLTL1 and the HyperSpec as references/tutorials on CLOS and/or MOP? 2017-06-06T14:28:30Z dlowe: The hyperspec doesn't have MOP at all 2017-06-06T14:28:36Z dlowe: it's a later addition 2017-06-06T14:28:50Z madrik: dlowe: Sorry. 2017-06-06T14:28:59Z madrik: What about just CLOS? 2017-06-06T14:29:07Z beach: madrik: You may want to look at this site for the MOP: http://metamodular.com/CLOS-MOP/ 2017-06-06T14:29:18Z onehrxn joined #lisp 2017-06-06T14:29:23Z dlowe: The spec is the final authority on CLOS, but it's not great for learning it. 2017-06-06T14:29:34Z dlowe: I think I mostly learned from example and from the Keene book 2017-06-06T14:29:41Z beach: madrik: The Common Lisp HyperSpec is considered to be THE standard, so it has everything about CLOS that the standard defines. 2017-06-06T14:30:39Z madrik: beach: Oh, of course. I meant to ask with regard to pedagogy. Is it introductory, or more for deep-diving, as they say? 2017-06-06T14:30:59Z beach: Oh, that! :) 2017-06-06T14:31:29Z beach: The Common Lisp HyperSpec is definitely not great in that respect. 2017-06-06T14:32:02Z madrik: beach: Okay. :) 2017-06-06T14:32:14Z beach: The AMOP book is not bad, in that the first part of it is meant to be pedagogical with all the implications of that. 2017-06-06T14:33:56Z beach: I didn't like Keene's book very much. The examples turned me off. 2017-06-06T14:34:16Z madrik: beach: Okay. 2017-06-06T14:34:31Z beach: One was about processes which are not in the standard, and one was about software distribution for different platforms. 2017-06-06T14:34:52Z beach: Those examples did not seem relevant to me, at least not at the time I read that book. 2017-06-06T14:35:03Z pjb quit (Ping timeout: 255 seconds) 2017-06-06T14:35:50Z madrik: beach: What would you have liked Keene to have included? 2017-06-06T14:36:05Z scymtym quit (Ping timeout: 246 seconds) 2017-06-06T14:36:09Z madrik: Things within the Standard? 2017-06-06T14:36:19Z beach: More "normal" examples, like data structures. 2017-06-06T14:36:40Z Bike: beach: where are your definitions in sicl for generic function dispatch? the CLOS directory has really a lot of stuff in it 2017-06-06T14:36:51Z mrottenkolber: shka: nice to hear! :-) 2017-06-06T14:37:29Z beach: Bike: Give me a second... 2017-06-06T14:37:50Z beach: Bike: In fact, give me a minute. I need to go turn off the stove... 2017-06-06T14:38:05Z Bike: yeah no rush. 2017-06-06T14:38:24Z rumbler31 joined #lisp 2017-06-06T14:39:46Z madrik: I'm a bit new to this: Winston and Horn mention that mark-and-sweep is an old idea. 2017-06-06T14:39:52Z madrik: And that some newer (in 1989-1990) garbage collectors do GC incrementally. 2017-06-06T14:40:07Z madrik: Quote: "They never stop for a complete purge. Consequently, they are better suited to situations for which" 2017-06-06T14:40:10Z borei joined #lisp 2017-06-06T14:40:17Z madrik: "it would be distastrous to stop processing for seconds or minutes to collect garbage." 2017-06-06T14:40:26Z madrik: Do most current Common Lisp implementations use incremental GC? And have Lisps worked in real-time situations? 2017-06-06T14:40:58Z jdz: I don't know of any CL implementation with an incremental GC. 2017-06-06T14:41:09Z beach: Bike: discriminating-automaton is one. 2017-06-06T14:41:11Z jdz: I'd be happy to learn there is one. 2017-06-06T14:41:24Z beach: Bike: discriminating-tagbody. 2017-06-06T14:41:58Z Bike: thanks 2017-06-06T14:42:03Z oleo quit (Quit: irc client terminated!) 2017-06-06T14:42:44Z beach: I think that's basically it. 2017-06-06T14:42:49Z Oladon quit (Read error: Connection reset by peer) 2017-06-06T14:43:12Z Bike: figure i should see how this all works finally 2017-06-06T14:43:36Z beach: madrik: As far as I know, no free implementation of Common Lisp includes an incremental garbage collector. 2017-06-06T14:43:50Z rumbler31 quit (Ping timeout: 240 seconds) 2017-06-06T14:43:53Z beach: Bike: Sure. You might want to start with the paper, though. 2017-06-06T14:44:02Z Bike: probably smart 2017-06-06T14:44:09Z madrik: CMUCL says it uses a 'generational conservative garbage collector' 2017-06-06T14:44:12Z Oladon joined #lisp 2017-06-06T14:44:32Z beach: madrik: That does not imply that it's incremental. 2017-06-06T14:44:35Z madrik: Allegro CL's is a 'two-space, generation-scavenging system' 2017-06-06T14:44:40Z madrik: beach: I know. 2017-06-06T14:44:50Z madrik: Those are the one's I just looked up 2017-06-06T14:45:51Z beach: madrik: If you are interested in garbage collection, this book is a must: http://dl.acm.org/citation.cfm?id=2025255 2017-06-06T14:46:38Z madrik: Oh boy. That looks fantastic! Thanks. 2017-06-06T14:46:56Z beach: It is not terribly well written, but it contains all the information. 2017-06-06T14:48:58Z madrik: Hmm. Apparently Emacs uses mark-and-sweep. 2017-06-06T14:50:39Z beach: Emacs Lisp was not designed with performance as its most important goal. 2017-06-06T14:51:37Z onehrxn quit (Remote host closed the connection) 2017-06-06T14:52:12Z madrik: Wasn't Emacs Lisp originally designed to be dynamically scoped because of performance issues? 2017-06-06T14:52:24Z onehrxn joined #lisp 2017-06-06T14:53:08Z Xach: madrik: I don't know, but lexical scope performance and implications were certainly poorly understood by many when it first appeared. 2017-06-06T14:53:13Z beach: That would have been strange. Dynamic scoping is slower than static. 2017-06-06T14:53:25Z Xach: The debates on net.lang.lisp are funny with hindsight 2017-06-06T14:53:38Z kimpira: madrik: if you're interested in an example of someone tuning an existing GC implementation for use in production, grammarly had a pretty interesting article that mentions it: https://web.archive.org/web/20170219060304/http://tech.grammarly.com/blog/posts/Running-Lisp-in-Production.html 2017-06-06T14:54:02Z Bike: someone in this channel last year was convinced that dynamic scoping would obviously be faster, it was surreal 2017-06-06T14:54:12Z Xach: beach: for example https://groups.google.com/forum/#!msg/net.lang.lisp/P7W_1ISJ-sU/GAo6w-0B7oQJ 2017-06-06T14:54:19Z beach: madrik: I just think RMS wanted something simple that he knew how to implement. 2017-06-06T14:54:35Z Xach: from 1986 2017-06-06T14:55:10Z beach: Xach: Interesting! Thanks! 2017-06-06T14:55:19Z Xach: beach: I think that underestimates the distrust for the technique when it was "new" 2017-06-06T14:55:26Z Bike: "Well written LISP code should be almost completely independent of lexical or dynamic scoping considerations" i like how this is true if you always use lexical scoping 2017-06-06T14:55:31Z mathrick joined #lisp 2017-06-06T14:56:47Z Bike: it seems like the confusion is that if you just have an interpreter, dynamic scoping is one lookup, whereas for lexical scope you have to trawl the nested environments 2017-06-06T14:57:24Z beach: Sure, that would depend on the degree of interpretation and preprocessing. 2017-06-06T14:57:27Z Bike: oh, is that shivers 2017-06-06T14:57:35Z Bike: yep. go fig. 2017-06-06T14:57:50Z rippa joined #lisp 2017-06-06T14:58:43Z madrik: kimpira: Thanks for the pointer. 2017-06-06T14:59:10Z beach: Bike: Also, dynamic scoping is one lookup only if you use shallow binding, and shallow binding is difficult in the presence of threads. 2017-06-06T14:59:27Z rumbler31 joined #lisp 2017-06-06T14:59:56Z madrik: Xach: ease of implementation might be it. 2017-06-06T15:00:03Z Bike: shallow binding is what i meant, yeah. but could you just check thread local storage and then global, so two lookups? 2017-06-06T15:00:26Z Xach: shivers is always good stuff 2017-06-06T15:00:52Z beach: Bike: The trick is to find the thread-local storage for a particular variable. 2017-06-06T15:00:59Z madrik: By the way, does anyone know of plans to multithread Emacs? Like the Electrolysis project has done for Firefox? 2017-06-06T15:01:07Z butterthebuddha quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-06T15:01:47Z beach: Bike: Each thread must have a map from symbols to places where values are stored. 2017-06-06T15:01:50Z Bike: what would that mean? each buffer gets a process? 2017-06-06T15:01:55Z Bike: beach: right 2017-06-06T15:02:49Z carlosda1 joined #lisp 2017-06-06T15:03:15Z Bike: i mean, i can already have slime running a thing in one buffer, a shell doing something else, and be editing a third 2017-06-06T15:03:25Z dlowe: yeah, but any one of those can hang all of emacs 2017-06-06T15:03:41Z dlowe: there are no serious projects, AFAIK 2017-06-06T15:03:45Z dlowe: you might ask on #emacs 2017-06-06T15:03:57Z FreeBirdLjj joined #lisp 2017-06-06T15:04:00Z Bike: i guess when i do complicated stuff i do it in other processes, like the inferior lisp or the shell 2017-06-06T15:04:04Z madrik: dlowe: I'll try. 2017-06-06T15:04:46Z oleo joined #lisp 2017-06-06T15:05:10Z dlowe: concurrency is so hard to add after-the-fact, though, that it wouldn't surprise me if it wouldn't require a ground-up rewrite. 2017-06-06T15:05:18Z madrik: It is my naive understanding that the current Emacs is like the pre-e10s Firefox. 2017-06-06T15:05:32Z dlowe: Maybe the guile-emacs project would make it easier. 2017-06-06T15:06:04Z madrik: Whereas one heavy tab can grind things to a halt in Firefox, running code in one buffer can freeze Emacs. 2017-06-06T15:06:24Z Bike: plus elisp is kind of... time abyss ancient 2017-06-06T15:06:34Z madrik: This seems not at all the case with Chrome/Chromium. 2017-06-06T15:06:41Z Bike: I think it still does that thing where it dumps the entire malloc arena? 2017-06-06T15:06:49Z Bike: i mean, CLs do that too a lot 2017-06-06T15:06:51Z Ichimusai: Oi! Careful with that. eLISP is wonderful. 2017-06-06T15:07:09Z madrik: Bike: Maybe that's why most people (require 'cl) first thing. 2017-06-06T15:07:28Z Bike: i like colossal squids too, but i wouldn't want to... pair program... nah forget this analogy 2017-06-06T15:07:46Z orivej joined #lisp 2017-06-06T15:08:07Z madrik: I'll be out for a while (dinner). It's been a fun experience! I hope I can learn more. 2017-06-06T15:08:14Z p9s quit (Remote host closed the connection) 2017-06-06T15:08:30Z p9s joined #lisp 2017-06-06T15:09:03Z p9s quit (Remote host closed the connection) 2017-06-06T15:09:20Z p9s joined #lisp 2017-06-06T15:09:49Z p9s quit (Remote host closed the connection) 2017-06-06T15:10:05Z p9s joined #lisp 2017-06-06T15:10:38Z p9s quit (Remote host closed the connection) 2017-06-06T15:10:56Z p9s joined #lisp 2017-06-06T15:11:26Z p9s quit (Remote host closed the connection) 2017-06-06T15:11:41Z p9s joined #lisp 2017-06-06T15:12:13Z p9s quit (Remote host closed the connection) 2017-06-06T15:15:33Z carlosda1 quit (Ping timeout: 260 seconds) 2017-06-06T15:16:28Z Bike: mop compute-discriminating-function 2017-06-06T15:16:28Z specbot: http://metamodular.com/CLOS-MOP/compute-discriminating-function.html 2017-06-06T15:18:33Z ttt72 quit (Quit: ttt72) 2017-06-06T15:19:28Z beach: Bike: If you have questions, don't hesitate to ask. I am in charge of cooking today, so I'll be off a lot, but I'll read the logs. 2017-06-06T15:20:34Z Bike: yeah. just wondering about what to improve in clasp. it's not what i ought to be doing right now though. 2017-06-06T15:20:45Z brendyn quit (Ping timeout: 258 seconds) 2017-06-06T15:21:10Z beach: Well, if you ask me, anything that improves Cleavir will improve Clasp. :) 2017-06-06T15:22:02Z Bike: quite possible 2017-06-06T15:22:34Z Bike: well, the reason i'm wondering is meister showed me in a backtrace that the ffective method is called with the same apply_method that the methods proper are, which i don't think i get 2017-06-06T15:22:34Z beach: ... but I am not paying your salary, so I can't make decisions like that. 2017-06-06T15:23:23Z beach: The underscore makes me think it's not Common Lisp. 2017-06-06T15:23:52Z beach: An "ordinary" effective method is called with the list of arguments to the generic function, and a list of next methods. 2017-06-06T15:24:16Z Bike: it's not, but i mean, it's called like that, yeah. 2017-06-06T15:24:18Z EvW quit (Remote host closed the connection) 2017-06-06T15:24:36Z beach: But, since you can do what you want with the standard stuff (client code must subclass to specialize), you can optimize certain cases. 2017-06-06T15:25:05Z Bike: I mean, that's how the method functions are called as well, right? 2017-06-06T15:25:15Z beach: So for a standard-generic-function, if you have only required parameters, you know in advance the number of arguments, so you can use a different protocol. 2017-06-06T15:25:44Z beach: No, I think method functions are called with individual arguments. 2017-06-06T15:26:07Z beach: wait... 2017-06-06T15:26:16Z beach: Maybe so, yes. 2017-06-06T15:26:37Z Bike: https://github.com/robert-strandh/SICL/blob/master/Code/CLOS/make-method-lambda-support.lisp#L56-L74 like this 2017-06-06T15:26:54Z beach: Yes, you are right. 2017-06-06T15:27:11Z Bike: i think the first return value is the (code for the) method function anyway. 2017-06-06T15:27:20Z damke_ joined #lisp 2017-06-06T15:27:30Z beach: Sounds right. 2017-06-06T15:27:52Z EvW1 joined #lisp 2017-06-06T15:28:00Z beach: If you have only required parameters, you could just add the next methods at the end of the list. 2017-06-06T15:28:14Z beach: And if you have accessors only, you can skip that one too. 2017-06-06T15:28:42Z beach: In fact, you can put the access directly in the discriminating function in some cases. 2017-06-06T15:29:21Z LiamH joined #lisp 2017-06-06T15:30:14Z damke quit (Ping timeout: 268 seconds) 2017-06-06T15:32:10Z pjb joined #lisp 2017-06-06T15:36:05Z Kaisyu joined #lisp 2017-06-06T15:37:56Z kmb joined #lisp 2017-06-06T15:38:27Z Fare joined #lisp 2017-06-06T15:38:44Z EvW1 quit (Ping timeout: 246 seconds) 2017-06-06T15:38:52Z damke_ quit (Ping timeout: 268 seconds) 2017-06-06T15:40:47Z damke_ joined #lisp 2017-06-06T15:41:04Z tanuzzo quit (Ping timeout: 246 seconds) 2017-06-06T15:43:55Z damke_ quit (Read error: Connection reset by peer) 2017-06-06T15:44:00Z knobo joined #lisp 2017-06-06T15:44:18Z damke_ joined #lisp 2017-06-06T15:44:20Z milanj quit (Quit: This computer has gone to sleep) 2017-06-06T15:45:00Z onehrxn quit (Quit: Leave for a while) 2017-06-06T15:46:28Z knobo: I can not compile iolib now :( 2017-06-06T15:46:40Z redeemed quit (Ping timeout: 246 seconds) 2017-06-06T15:46:52Z knobo: I guess I'm missing kernel headers. 2017-06-06T15:47:17Z knobo: downloading at 20kb/s :( 2017-06-06T15:51:07Z pjb quit (Ping timeout: 255 seconds) 2017-06-06T15:51:19Z specbot quit (Remote host closed the connection) 2017-06-06T15:51:20Z minion quit (Remote host closed the connection) 2017-06-06T15:51:28Z easye quit (Read error: Connection reset by peer) 2017-06-06T15:54:10Z knobo: no, it wasn't it. 2017-06-06T15:54:10Z specbot joined #lisp 2017-06-06T15:54:11Z minion joined #lisp 2017-06-06T15:54:33Z knobo: [package iolib/syscalls]...; g++ -m64 -Wno-write-strings ....... 2017-06-06T15:54:36Z knobo: ; Evaluation aborted on #