2016-08-14T00:00:04Z cagomez joined #lisp 2016-08-14T00:03:05Z cagomez quit (Remote host closed the connection) 2016-08-14T00:04:35Z _sjs joined #lisp 2016-08-14T00:10:03Z cagomez joined #lisp 2016-08-14T00:13:36Z s3mi0 joined #lisp 2016-08-14T00:14:30Z DeadTrickster quit (Ping timeout: 244 seconds) 2016-08-14T00:14:40Z elpatron joined #lisp 2016-08-14T00:16:19Z phax joined #lisp 2016-08-14T00:18:26Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-14T00:28:18Z pierpa quit (Ping timeout: 258 seconds) 2016-08-14T00:29:28Z Fare joined #lisp 2016-08-14T00:32:51Z MoALTz quit (Quit: Leaving) 2016-08-14T00:37:17Z Fare: Hi. 2016-08-14T00:37:21Z Fare: Hi. I'm trying to give name to things, and it's hard. --- As always, regarding computational reflection. 2016-08-14T00:37:21Z Fare: I'm distinguishing two axes of reflection, and I'm not sure what name to give them. 2016-08-14T00:37:22Z Fare: For concrete vs abstract, I've chosen the prefixes hypo- and hyper-, and the function names interpret and represent. I'm considering calling that the vertical axis, or the semantic axis. 2016-08-14T00:37:25Z Fare: For compile-time vs runtime, I've chosen the prefixes ante- and post-, and the function names perform and record. I'm considering calling that the horizontal axis, or the evaluative axis. 2016-08-14T00:37:28Z Fare: Vertical reflection vs horizontal reflection? Semantic reflection vs evaluative reflection? Does that sound right? 2016-08-14T00:37:53Z quazimodo joined #lisp 2016-08-14T00:39:39Z quazimod1 joined #lisp 2016-08-14T00:42:16Z sweater joined #lisp 2016-08-14T00:50:37Z oleo_ joined #lisp 2016-08-14T00:51:29Z elpatron` joined #lisp 2016-08-14T00:53:03Z elpatron quit (Ping timeout: 276 seconds) 2016-08-14T00:53:06Z eivarv quit (Quit: Sleep) 2016-08-14T00:54:07Z oleo quit (Ping timeout: 244 seconds) 2016-08-14T00:55:34Z eSVG quit (Ping timeout: 258 seconds) 2016-08-14T00:56:26Z elpatron` quit (Remote host closed the connection) 2016-08-14T00:56:30Z VitoVan joined #lisp 2016-08-14T00:56:54Z VitoVan: Hi~ Morning Sunshine~ 2016-08-14T00:57:28Z VitoVan: I am playing around with clx's xtest extention: https://github.com/sharplispers/clx/blob/master/extensions/xtest.lisp 2016-08-14T00:57:38Z arescorpio joined #lisp 2016-08-14T00:57:40Z Fare: what does xtest do? 2016-08-14T00:57:54Z asc232 joined #lisp 2016-08-14T00:58:12Z VitoVan: simulate some keyboard or mouse event 2016-08-14T00:58:40Z VitoVan: Fare: it has some function like `fake-key-event` and `fake-button-event` 2016-08-14T00:59:14Z VitoVan: But, this does not work at all: `(xtest:fake-button-event (open-default-display) 1 t)` 2016-08-14T00:59:29Z VitoVan: or this: 2016-08-14T00:59:30Z VitoVan: (xtest:fake-button-event (open-default-display) 1 nil) 2016-08-14T01:00:30Z VitoVan: I am wondering if I am missing something about xlib, I am not familiar with xlib stuff. 2016-08-14T01:07:30Z |3b|: how does it fail? 2016-08-14T01:07:50Z VitoVan: |3b|: just nothing happened. 2016-08-14T01:08:05Z |3b|: tried running xev? 2016-08-14T01:08:06Z VitoVan: I expect it will fire a mouse click event. 2016-08-14T01:08:31Z VitoVan: |3b|: trying xev... 2016-08-14T01:09:26Z Fare: I've distinguished two axes of Reflection: hypo↔hyper for navigating levels of semantical abstraction from more concrete to more abstract. And ante↔post for navigating stages of evaluation from earlier at compile-time to later at runtime. 2016-08-14T01:09:27Z Fare: What shall I call these two axes? Abstractive vs Evaluative? Semantical vs Temporal? Static vs Dynamic? Vertical vs Horizontal? 2016-08-14T01:10:26Z heddwch: crap vs bullshit 2016-08-14T01:10:28Z heddwch ducks 2016-08-14T01:10:48Z wtetzner quit (Remote host closed the connection) 2016-08-14T01:10:49Z |3b|: static vs dynamic sounds like compile-time vs runtime versions of same thing (your semantic if i understand correctly) to me 2016-08-14T01:11:11Z VitoVan: |3b|: still nothing happened, the event has never fired. 2016-08-14T01:11:38Z eSVG joined #lisp 2016-08-14T01:11:50Z |3b|: VitoVan: did you query the extension? 2016-08-14T01:11:56Z VitoVan: |3b|: I check some source code from python, they call something like _display.sync() after fake the event, but I don't find one in CLX 2016-08-14T01:12:47Z VitoVan: |3b|: Yes, I have done the list and query 2016-08-14T01:12:51Z VitoVan: |3b|: (list-extensions (open-default-display)) 2016-08-14T01:12:55Z VitoVan: ("Generic Event Extension" "SHAPE" "MIT-SHM" "XInputExtension" "XTEST" 2016-08-14T01:12:55Z VitoVan: "BIG-REQUESTS" "SYNC" "XKEYBOARD" "XC-MISC" "XFIXES" "RENDER" "RANDR" 2016-08-14T01:12:55Z VitoVan: "XINERAMA" "Composite" "DAMAGE" "MIT-SCREEN-SAVER" "DOUBLE-BUFFER" "RECORD" 2016-08-14T01:12:55Z VitoVan: "DPMS" "Present" "DRI3" "X-Resource" "XVideo" "XFree86-VidModeExtension" 2016-08-14T01:12:55Z VitoVan: "XFree86-DGA" "DRI2" "GLX" "SGI-GLX") 2016-08-14T01:13:13Z VitoVan: (query-extension (open-default-display) "XTEST") shows: 132 0 0 2016-08-14T01:14:09Z |3b|: try (xtest:get-version) then try the fake event 2016-08-14T01:14:12Z cagomez quit (Ping timeout: 240 seconds) 2016-08-14T01:14:21Z Fare: |3b|, kind of indeed. The "abstractive/semantical/static/vertical" axis would be about changing your point of view and zooming in or out on frozen static computations which often happens at compile-time. 2016-08-14T01:14:48Z VitoVan: |3b|: (xtest:get-version (open-default-display)) returns: (values 2 2) 2016-08-14T01:15:26Z lnostdal joined #lisp 2016-08-14T01:16:19Z VitoVan: |3b|: then tried fake event, and still nothing happend, will this be related with _display.sync() like I saw in Python code? 2016-08-14T01:17:00Z Fare: The "evaluative/temporal/dynamic/horizontal" axis would be about recording computations or performing pre-recorded computations (often synthetized or modified according to other axis) which usually happens at someone's runtime (which might be someone else's compile-time, or log-analysis time, etc.) 2016-08-14T01:17:00Z wtetzner joined #lisp 2016-08-14T01:17:33Z |3b|: VitoVan: yeah, could be 2016-08-14T01:17:49Z VitoVan: |3b|: should I do something to make the event-queue be read and processed? 2016-08-14T01:18:08Z VitoVan: |3b|: I've checked this: https://common-lisp.net/project/cmucl/doc/clx/12_3_Processing_Events.html 2016-08-14T01:18:25Z VitoVan: |3b|: But have no idea how to make that happen. 2016-08-14T01:19:15Z TRUMP-PENCE quit (Quit: TRUMP-PENCE 2016 #AllLivesForTrump #TrumpNation #TrumpTrain #teamtrump #TrumpPence #NeverHillary #maga #MakeAmericaGreatAgain #HumaTheHoneyPot #BarackBinLaden #CaliphateClinton) 2016-08-14T01:20:03Z phax quit (Quit: phax) 2016-08-14T01:21:44Z cagomez joined #lisp 2016-08-14T01:22:11Z |3b|: VitoVan: my only other guess is make sure it is actually going somewhere, maybe send the event in a loop a few times with a sleep in between so you can try moving mouse,changing focus etc before it sends the event 2016-08-14T01:22:52Z VitoVan: |3b|: Thank you, trying wrapping sleep. 2016-08-14T01:23:38Z asc232 quit (Remote host closed the connection) 2016-08-14T01:25:00Z pmc joined #lisp 2016-08-14T01:29:04Z karswell` is now known as karswell 2016-08-14T01:31:31Z sweater quit (Read error: Connection reset by peer) 2016-08-14T01:32:19Z pmc quit (Quit: Leaving) 2016-08-14T01:33:43Z VitoVan: |3b|: Still nothing, I am wondering if the xtest extention really works. 2016-08-14T01:34:26Z VitoVan: |3b|: Trying to construct a event manully and send. 2016-08-14T01:37:34Z EvW quit (Ping timeout: 250 seconds) 2016-08-14T01:44:14Z prole quit (Remote host closed the connection) 2016-08-14T01:50:10Z wccoder joined #lisp 2016-08-14T01:50:33Z klltkr quit (Read error: Connection reset by peer) 2016-08-14T01:50:53Z cagomez quit (Remote host closed the connection) 2016-08-14T01:52:04Z cagomez joined #lisp 2016-08-14T01:54:36Z wccoder quit (Ping timeout: 258 seconds) 2016-08-14T02:03:47Z Polyphony joined #lisp 2016-08-14T02:04:15Z VitoVan: |3b|: I am gonna add an issue now, still can't fire any event. 2016-08-14T02:06:07Z l22 joined #lisp 2016-08-14T02:06:32Z fe[nl]ix quit (Remote host closed the connection) 2016-08-14T02:06:32Z Blkt quit (Read error: Connection reset by peer) 2016-08-14T02:06:45Z Blkt joined #lisp 2016-08-14T02:06:47Z fe[nl]ix joined #lisp 2016-08-14T02:08:28Z cagomez quit (Remote host closed the connection) 2016-08-14T02:11:49Z Karl_Dscc quit (Remote host closed the connection) 2016-08-14T02:17:59Z Khisanth quit (Ping timeout: 244 seconds) 2016-08-14T02:18:19Z Fare: I've setup a voting booth on twitter: https://twitter.com/Ngnghm/status/764626710935375872 2016-08-14T02:26:39Z Velveeta_Chef quit (Ping timeout: 276 seconds) 2016-08-14T02:30:09Z jerme joined #lisp 2016-08-14T02:31:29Z Khisanth joined #lisp 2016-08-14T02:31:47Z quazimodo quit (Ping timeout: 258 seconds) 2016-08-14T02:32:10Z quazimod1 quit (Ping timeout: 250 seconds) 2016-08-14T02:33:07Z smokeink joined #lisp 2016-08-14T02:33:36Z Firedancer quit (Quit: ZNC - 1.6.0 - http://znc.in) 2016-08-14T02:34:30Z jerme left #lisp 2016-08-14T02:37:32Z s3mi0 quit (Remote host closed the connection) 2016-08-14T02:37:47Z Trystam is now known as Tristam 2016-08-14T02:39:11Z Velveeta_Chef joined #lisp 2016-08-14T02:48:32Z zygentoma^zwokz quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-14T02:59:37Z VitoVan: |3b|: Problem solved by this: https://raw.githubusercontent.com/quek/cl-xsands/master/cl-xsands.lisp 2016-08-14T02:59:46Z VitoVan: |3b|: Haven't figure out why, but it works. 2016-08-14T03:07:46Z wildlander quit (Quit: Saliendo) 2016-08-14T03:11:21Z VitoVan: |3b|: The final solution and reason is here: https://github.com/sharplispers/clx/issues/40#issuecomment-239653413 2016-08-14T03:12:25Z euphoria- quit (Remote host closed the connection) 2016-08-14T03:14:35Z asc232 joined #lisp 2016-08-14T03:15:57Z euphoria- joined #lisp 2016-08-14T03:18:46Z |3b|: ah, i guess that makes sense 2016-08-14T03:19:39Z phax joined #lisp 2016-08-14T03:22:52Z Oladon quit (Read error: Connection reset by peer) 2016-08-14T03:23:45Z Oladon joined #lisp 2016-08-14T03:29:14Z asc232 quit (Quit: Saliendo) 2016-08-14T03:29:15Z lemoinem quit (Ping timeout: 264 seconds) 2016-08-14T03:29:31Z lemoinem joined #lisp 2016-08-14T03:34:29Z jleija quit (Quit: leaving) 2016-08-14T03:37:50Z Velveeta_Chef quit (Ping timeout: 265 seconds) 2016-08-14T03:44:14Z l22 quit (Ping timeout: 264 seconds) 2016-08-14T04:02:21Z wtetzner quit (Remote host closed the connection) 2016-08-14T04:04:53Z karswell quit (Remote host closed the connection) 2016-08-14T04:05:15Z karswell` joined #lisp 2016-08-14T04:10:25Z phax left #lisp 2016-08-14T04:12:12Z Fare quit (Ping timeout: 240 seconds) 2016-08-14T04:33:55Z rme quit (Quit: rme) 2016-08-14T04:33:55Z rme quit (Quit: rme) 2016-08-14T04:40:00Z beach: Good morning everyone! 2016-08-14T04:40:53Z beach: McCLIM crowdfunding now has 1729 USD!!! 2016-08-14T04:41:07Z Bike: good ol sum of cubes 2016-08-14T04:41:43Z beach: How so? 2016-08-14T04:42:06Z Bike: «I remember once going to see him (Ramanujan) when he was lying ill at Putney. I had ridden in taxi-cab No. 1729, and remarked that the number seemed to be rather a dull one, and that I hoped it was not an unfavourable omen. "No", he replied, "it is a very interesting number; it is the smallest number expressible as the sum of two [positive] cubes in two different ways."» 2016-08-14T04:42:40Z beach: Wow! 2016-08-14T04:43:00Z beach: And you just remembered that? 2016-08-14T04:44:04Z Bike: it's sort of like immediately remembering that 65536 is a power of two, yeah. 2016-08-14T04:44:41Z beach: Heh! Yes, I see. 2016-08-14T04:46:39Z Arathnim: Speaking of which, mcclim doesn't load from quicklisp any more. For me, at least. Complains that swank isn't a package, so it probably isn't loaded. 2016-08-14T04:46:39Z smokeink quit (Ping timeout: 264 seconds) 2016-08-14T04:47:30Z jackdaniel: Arathnim: that's weird, what system do you load? 2016-08-14T04:47:32Z beach: Arathnim: That is clearly a defect. Can you make it an issue on my GitHub repository? 2016-08-14T04:47:41Z jackdaniel: also, what operating system do you use? 2016-08-14T04:47:53Z beach: ... or wait until jackdaniel figures it out. :) 2016-08-14T04:48:16Z jackdaniel: it will be more effective /after/ a coffee, but I'll try my best ;) 2016-08-14T04:48:22Z jackdaniel: s/a/the/ 2016-08-14T04:48:45Z Arathnim: linux, SBCL 1.3.7, (ql:quickload 'mcclim) 2016-08-14T04:48:52Z beach: Yes, coffee is essential. 2016-08-14T04:49:33Z defaultxr quit (Quit: gnight) 2016-08-14T04:50:12Z Arathnim: (asdf:load-system 'mcclim) works perfectly, though. Oh, and mcclim-20160318. 2016-08-14T04:50:55Z al-damiri quit (Quit: Connection closed for inactivity) 2016-08-14T04:52:33Z Bike: that's pretty unusual, the former should just do the latter if you already have mcclim around. 2016-08-14T04:54:07Z Arathnim: The first time I tried loading from quicklisp, it worked, but all attempts after that fail with the same error. 2016-08-14T04:54:07Z arescorpio quit (Quit: Leaving.) 2016-08-14T04:54:14Z jackdaniel: and that error is? 2016-08-14T04:54:44Z Arathnim: Error finding package for symbol "SWANK-REQUIRE": The name "SWANK" does not designate any package. 2016-08-14T04:55:08Z beach: It looks like it has nothing to do with McCLIM. 2016-08-14T04:55:30Z jackdaniel: well, some systems do depend on swank (at least loosely) 2016-08-14T04:55:50Z beach: Hmm. 2016-08-14T04:56:03Z harish_ quit (Ping timeout: 240 seconds) 2016-08-14T04:56:04Z Arathnim: It only happens if mcclim is the first package to be loaded by quicklisp. 2016-08-14T04:56:54Z jackdaniel: Arathnim: hang on, I'll run sbcl in the separate (clean of local-projects and cache) account 2016-08-14T04:57:14Z jackdaniel: and try to reproduce that 2016-08-14T04:58:29Z Arathnim: Thanks, this is quite an odd bug. It looks like it might have more to do with quicklisp than mcclim. 2016-08-14T04:59:03Z jackdaniel: that is unlikely – never encountered quicklisp's bug :) 2016-08-14T05:00:14Z akkad: hey jd 2016-08-14T05:00:19Z jackdaniel: o/ 2016-08-14T05:01:44Z tmtwd joined #lisp 2016-08-14T05:02:10Z Arathnim quit (Quit: Lost terminal) 2016-08-14T05:02:23Z jackdaniel: Arathnim: can't reproduce it, I have a fresh dists version though (#) 2016-08-14T05:02:43Z Arathnim joined #lisp 2016-08-14T05:02:54Z jackdaniel: I've tried to load it as a first system on clean sbcl instance with no prior quicklisp usage etc 2016-08-14T05:03:11Z jackdaniel: maybe you could try with new dist? (ql:update-all-dists) 2016-08-14T05:03:14Z wtetzner joined #lisp 2016-08-14T05:03:19Z jackdaniel: or (ql:update-client) first 2016-08-14T05:04:44Z Arathnim: Wow, one of the examples crashed X. 2016-08-14T05:05:10Z Arathnim: Looks like updating worked, thanks for the help. 2016-08-14T05:05:47Z milanj quit (Quit: This computer has gone to sleep) 2016-08-14T05:06:58Z jackdaniel: Arathnim: sure 2016-08-14T05:07:10Z jackdaniel sips his coffee ;) 2016-08-14T05:07:46Z harish_ joined #lisp 2016-08-14T05:08:31Z eSVG quit (Ping timeout: 258 seconds) 2016-08-14T05:09:00Z wtetzner quit (Ping timeout: 244 seconds) 2016-08-14T05:12:20Z VitoVan 2016-08-14T05:13:02Z eSVG joined #lisp 2016-08-14T05:14:46Z cibs quit (Ping timeout: 240 seconds) 2016-08-14T05:16:54Z cibs joined #lisp 2016-08-14T05:17:53Z harish_ quit (Ping timeout: 265 seconds) 2016-08-14T05:30:08Z jackdaniel: beach: we have to think, what will be the first bounty :) 2016-08-14T05:33:15Z beach: OK. 2016-08-14T05:33:34Z beach: Maybe the bug when the layout is changed? 2016-08-14T05:34:18Z _sjs quit (Ping timeout: 244 seconds) 2016-08-14T05:34:20Z beach: It is well defined and reasonably small. 2016-08-14T05:34:22Z jackdaniel: keyboard layout you mean? 2016-08-14T05:34:35Z beach: No. 2016-08-14T05:34:57Z jackdaniel: https://github.com/robert-strandh/McCLIM/issues/23 ? 2016-08-14T05:35:00Z beach: If you have more than one pane layout in the frame definition and try to switch between them. 2016-08-14T05:36:00Z beach: It is related to that one, yes. 2016-08-14T05:36:39Z jackdaniel: OK, I think that we'll have to create a separate issue for that problem with a clear explanation 2016-08-14T05:36:48Z beach: Sure. 2016-08-14T05:37:06Z beach: I suggest you write a demo that exposes the problem. 2016-08-14T05:37:15Z jackdaniel: yes 2016-08-14T05:37:32Z beach: Make a frame with two panes and have two layouts. And write a command to switch between them. 2016-08-14T05:37:40Z beach: You'll see the problem immediately. 2016-08-14T05:38:06Z jackdaniel: OK, I'll be on it tomorrow 2016-08-14T05:38:33Z wccoder joined #lisp 2016-08-14T05:43:03Z wccoder quit (Ping timeout: 240 seconds) 2016-08-14T05:43:06Z BlueRavenGT quit (Ping timeout: 244 seconds) 2016-08-14T05:53:07Z harish_ joined #lisp 2016-08-14T05:59:37Z Polyphony quit (Quit: WeeChat 1.5) 2016-08-14T06:05:10Z fourier joined #lisp 2016-08-14T06:09:07Z VitoVan quit (Remote host closed the connection) 2016-08-14T06:09:24Z ggole joined #lisp 2016-08-14T06:09:58Z harish_ quit (Ping timeout: 244 seconds) 2016-08-14T06:11:52Z yeticry quit (Ping timeout: 244 seconds) 2016-08-14T06:12:58Z yeticry joined #lisp 2016-08-14T06:18:13Z gingerale joined #lisp 2016-08-14T06:21:27Z mishoo joined #lisp 2016-08-14T06:22:03Z harish_ joined #lisp 2016-08-14T06:28:28Z s3mi0 joined #lisp 2016-08-14T06:32:13Z DeadTrickster joined #lisp 2016-08-14T06:32:32Z smokeink joined #lisp 2016-08-14T06:33:23Z quazimodo joined #lisp 2016-08-14T06:33:26Z quazimod1 joined #lisp 2016-08-14T06:38:59Z andrei-n quit (Ping timeout: 258 seconds) 2016-08-14T06:41:41Z Velveeta_Chef joined #lisp 2016-08-14T06:44:40Z Arathnim quit (Quit: Lost terminal) 2016-08-14T06:53:38Z andrei-n joined #lisp 2016-08-14T06:57:20Z smokeink quit (Ping timeout: 244 seconds) 2016-08-14T07:01:40Z araujo quit (Ping timeout: 252 seconds) 2016-08-14T07:02:36Z araujo joined #lisp 2016-08-14T07:03:10Z faheem quit (Quit: Connection closed for inactivity) 2016-08-14T07:04:24Z araujo quit (Max SendQ exceeded) 2016-08-14T07:05:19Z araujo joined #lisp 2016-08-14T07:06:16Z fourier quit (Ping timeout: 244 seconds) 2016-08-14T07:08:30Z mathi_aihtam joined #lisp 2016-08-14T07:13:54Z oleo_ quit (Quit: Leaving) 2016-08-14T07:14:23Z s3mi0 quit 2016-08-14T07:20:07Z pierpa joined #lisp 2016-08-14T07:20:42Z oleo joined #lisp 2016-08-14T07:21:58Z quazimod1 quit (Ping timeout: 258 seconds) 2016-08-14T07:22:01Z quazimodo quit (Ping timeout: 252 seconds) 2016-08-14T07:25:50Z ezjones joined #lisp 2016-08-14T07:29:12Z yeticry quit (Read error: Connection reset by peer) 2016-08-14T07:29:12Z yeticry_ quit (Read error: Connection reset by peer) 2016-08-14T07:35:16Z yeticry_ joined #lisp 2016-08-14T07:36:04Z yeticry joined #lisp 2016-08-14T07:39:18Z angavrilov joined #lisp 2016-08-14T07:41:13Z SamSkulls quit (Remote host closed the connection) 2016-08-14T07:45:14Z ezjones` joined #lisp 2016-08-14T07:46:00Z ezjones` left #lisp 2016-08-14T07:46:55Z ezjones quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2016-08-14T07:47:42Z ezjones joined #lisp 2016-08-14T07:48:45Z Atarian joined #lisp 2016-08-14T07:49:15Z vito`` joined #lisp 2016-08-14T07:49:18Z shka_ joined #lisp 2016-08-14T07:49:23Z vito`` is now known as VitoVan 2016-08-14T07:49:38Z VitoVan left #lisp 2016-08-14T07:49:41Z VitoVan joined #lisp 2016-08-14T07:59:19Z mishoo quit (Ping timeout: 265 seconds) 2016-08-14T08:02:23Z kokonaisluku joined #lisp 2016-08-14T08:04:05Z srcerer quit (Ping timeout: 258 seconds) 2016-08-14T08:05:28Z sswords quit (Ping timeout: 252 seconds) 2016-08-14T08:06:59Z Atarian quit (Remote host closed the connection) 2016-08-14T08:09:16Z Atarian joined #lisp 2016-08-14T08:12:01Z ezjones left #lisp 2016-08-14T08:12:48Z puchka joined #lisp 2016-08-14T08:16:39Z mishoo joined #lisp 2016-08-14T08:24:49Z mishoo quit (Ping timeout: 244 seconds) 2016-08-14T08:26:45Z tmtwd quit (Ping timeout: 276 seconds) 2016-08-14T08:33:18Z vlatkoB joined #lisp 2016-08-14T08:33:53Z carleos joined #lisp 2016-08-14T08:36:24Z Bike quit (Quit: leaving) 2016-08-14T08:37:22Z mathi_aihtam quit (Quit: mathi_aihtam) 2016-08-14T08:41:08Z impulse joined #lisp 2016-08-14T08:46:27Z mishoo joined #lisp 2016-08-14T08:48:31Z rumbler31 joined #lisp 2016-08-14T08:53:25Z iskander quit (Max SendQ exceeded) 2016-08-14T08:55:45Z iskander joined #lisp 2016-08-14T08:56:33Z mishoo quit (Ping timeout: 240 seconds) 2016-08-14T08:58:19Z iskander quit (Max SendQ exceeded) 2016-08-14T08:59:38Z iskander joined #lisp 2016-08-14T09:00:22Z VitoVan: Hey guys, I've wrote some code for gui automation (X11 only), it's here: 2016-08-14T09:00:22Z VitoVan: https://gist.github.com/VitoVan/abeeb79da01298855692153f1830360e 2016-08-14T09:00:51Z VitoVan: Maybe someday will endup like a real package, just like pyautogui. 2016-08-14T09:02:18Z iskander quit (Max SendQ exceeded) 2016-08-14T09:02:35Z iskander joined #lisp 2016-08-14T09:02:50Z varjag joined #lisp 2016-08-14T09:04:21Z beach: What do you mean by "gui automation"? 2016-08-14T09:05:07Z VitoVan: beach: It is copied from pyautogui, "A cross-platform GUI automation Python module for human beings". 2016-08-14T09:05:31Z beach: That doesn't help my understanding what "gui automation" means. 2016-08-14T09:05:39Z ASau quit (Ping timeout: 250 seconds) 2016-08-14T09:06:15Z VitoVan: beach: Emm... you can do thins like this: (progn (x-move 100 100) (x-click)) 2016-08-14T09:06:19Z iskander quit (Max SendQ exceeded) 2016-08-14T09:07:48Z beach: I think I see. 2016-08-14T09:07:55Z beach: Your code needs some work. 2016-08-14T09:08:06Z iskander joined #lisp 2016-08-14T09:08:31Z beach: Your spacing is inconsistent and does not conform to conventions for Common Lisp. 2016-08-14T09:08:35Z VitoVan: beach: I supposed it is, haven't finished reading . 2016-08-14T09:09:05Z beach: There should be a space before the first opening parenthesis in a group, in particular between the name of a function or a macro and its argument list. 2016-08-14T09:09:20Z jackdaniel: ah, automated managament of mouse and keyboard – sounds like a potentialy useful feature 2016-08-14T09:10:01Z VitoVan: jackdaniel: smile~ :-) 2016-08-14T09:10:14Z VitoVan: beach: Try understanding your words. 2016-08-14T09:10:25Z VitoVan: beach: I mean Trying understand your words. 2016-08-14T09:10:25Z beach: VitoVan: Sometimes you have a blank line after an ABBREV top-level form, sometimes not. 2016-08-14T09:10:28Z jackdaniel: VitoVan: (defun xxx(a b c) …) vs (defun xxx (a b c) …) 2016-08-14T09:10:41Z jackdaniel: the latter is commonly agreed convention, while former isn't 2016-08-14T09:11:38Z VitoVan: Ah~ I see. 2016-08-14T09:11:40Z beach: VitoVan: In X-MOVE, you do nothing if X or Y is NIL. That is not typically how one programs. 2016-08-14T09:12:15Z beach: VitoVan: First of all, you have no guarantee that they will be integers. 2016-08-14T09:13:02Z beach: VitoVan: In order to be helpful to your client, you should signal an error if they are not number. Doing nothing will mask defects in client code. 2016-08-14T09:13:49Z kokonaisluku quit (Ping timeout: 260 seconds) 2016-08-14T09:14:01Z VitoVan: beach: awesome! try fixing... 2016-08-14T09:15:20Z jackdaniel: https://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf this is very nice read about Lisp style (I like it a lot) 2016-08-14T09:15:27Z jackdaniel: s/very/a very/ 2016-08-14T09:15:59Z VitoVan: jackdaniel: Thank you jd~ 2016-08-14T09:16:56Z beach: VitoVan: There is no particular reason to make x-mouse-up and x-mouse-down macros. Macros should only be used when the evaluation rule of functions is not possible. 2016-08-14T09:19:33Z VitoVan: beach: I make x-mouse-up macro for making `key (button 1) (x nil) (y nil)` => ,@args 2016-08-14T09:19:55Z VitoVan: beach: Maybe it is a bad idea... 2016-08-14T09:20:34Z beach: You can make it a function and do (apply #'perform-mouse-action nil args) 2016-08-14T09:20:50Z beach: Same thing for x-key-down/up. 2016-08-14T09:21:03Z VitoVan: beach: fixing... 2016-08-14T09:21:14Z DeadTrickster quit (Read error: Connection reset by peer) 2016-08-14T09:23:29Z ASau joined #lisp 2016-08-14T09:23:33Z beach: Your abbreviations don't serve any real purpose. 2016-08-14T09:23:48Z beach: They just add an indirection for the maintainer to understand. 2016-08-14T09:24:17Z beach: In particular, with-dw is used only once so by making it an abbreviation, you have more code than if you remove it. 2016-08-14T09:25:03Z beach: You can use completion in order to avoid typing full names if that is the problem you are trying to solve. 2016-08-14T09:25:25Z VitoVan: beach: I am thinking about it.. 2016-08-14T09:25:37Z jackdaniel: I think that long names /may/ add cognitive effort 2016-08-14T09:25:57Z DeadTrickster joined #lisp 2016-08-14T09:25:58Z jackdaniel: ie I'm more likely to use let* over destructuring-bind, because it's name is shorter 2016-08-14T09:26:16Z beach: jackdaniel: Incomprehensible names as well, such as WITH-DW. 2016-08-14T09:27:05Z VitoVan: beach: I am reading recently, the author said: "A program, like printed text, is easiest to read when it contains no more than about 70 characters per line. We begin at a disadvantage when the lengths of individual names are a quarter of that." 2016-08-14T09:27:07Z jackdaniel: yes, I'm not defending with-dw or whatsover, just saying that such macro (abbrev) may be very useful, ie to rename destructuring-bind to dbind 2016-08-14T09:28:18Z jackdaniel: I'll be back later o/ 2016-08-14T09:28:30Z VitoVan: page 226: http://ep.yimg.com/ty/cdn/paulgraham/onlisp.pdf 2016-08-14T09:28:33Z beach: VitoVan: There is some truth to that, at least when it comes to the number of characters per line. 2016-08-14T09:28:41Z edgar-rft: VitoVan: That's probably the reason why nobody can remember his crypticism-obsessed variable and function names. 2016-08-14T09:29:09Z beach: VitoVan: But you should be a bit careful with the style of Paul Graham. It often does not correspond to what the community is practicing. 2016-08-14T09:29:44Z pierpa likes ling names with no dumb abbreviations 2016-08-14T09:29:53Z pierpa: and even long ones 2016-08-14T09:30:00Z VitoVan: beach: I am new to Lisp, and the only book I ever read (not finished) is , seems I need to read more~ 2016-08-14T09:30:32Z beach: VitoVan: I recommend Norvig's PAIP. 2016-08-14T09:30:42Z pierpa: On Lisp is not really a good *introduction* 2016-08-14T09:30:43Z beach: minion: Please tell VitoVan about PAIP. 2016-08-14T09:30:43Z minion: VitoVan: PAIP: Paradigms of Artificial Intelligence Programming 2016-08-14T09:30:48Z pierpa: it is good for later 2016-08-14T09:31:54Z beach: mop camuc 2016-08-14T09:31:54Z specbot: Couldn't find anything for camuc. 2016-08-14T09:31:56Z VitoVan: minion: Searching... PAIP 2016-08-14T09:31:58Z minion: does torturing a poor bot with things beyond its comprehension please you? 2016-08-14T09:32:03Z beach: mop c-a-m-u-c 2016-08-14T09:32:03Z specbot: compute-applicable-methods-using-classes: http://metamodular.com/CLOS-MOP/compute-applicable-methods-using-classes.html 2016-08-14T09:34:26Z rumbler31 quit 2016-08-14T09:34:32Z VitoVan: beach: I've updated the gist, https://gist.github.com/VitoVan/abeeb79da01298855692153f1830360e 2016-08-14T09:35:02Z VitoVan: beach: Haven't remove the abbrev stuff 2016-08-14T09:35:38Z VitoVan: beach: I wonder what if I just name the macro with-default-display => with-dd ? Should I do this? 2016-08-14T09:36:11Z beach: I think with-default-display is fine as it is. 2016-08-14T09:36:33Z beach: with-dd is not. 2016-08-14T09:36:57Z VitoVan: beach: I use to program in Java a lot, and hate the long-function-names like this one: AbstractJsonpResponseBodyAdvice 2016-08-14T09:37:17Z ggole: Abbreviations are only really nice when everybody sees them all the time 2016-08-14T09:37:18Z VitoVan: beach: But I think with-default-display is not long enough to be disturbing. 2016-08-14T09:37:34Z VitoVan: ggole: I think you have made a good point. 2016-08-14T09:37:44Z beach: VitoVan: Sure, but that is because it is visually difficult to parse when they use CamelCase. 2016-08-14T09:38:05Z H4ns: also, all the AbstractFactoryGetterNonsense 2016-08-14T09:38:22Z rumbler31 joined #lisp 2016-08-14T09:38:29Z shka_ actually likes those long names 2016-08-14T09:39:36Z beach: Like clim:command-line-read-remaining-arguments-for-partial-command ? 2016-08-14T09:40:03Z wccoder joined #lisp 2016-08-14T09:40:06Z VitoVan: beach: I have updated the gist, and removed the abbrev. https://gist.github.com/VitoVan/abeeb79da01298855692153f1830360e 2016-08-14T09:40:13Z ggole: It's nicer to read a long name than to try to guess wtf a short one stands for, that's for sure. 2016-08-14T09:40:38Z beach agrees with ggole. 2016-08-14T09:41:52Z beach: VitoVan: I still see two calls to ABBREV in there. 2016-08-14T09:42:03Z VitoVan: beach: Fixing error... miss type.. 2016-08-14T09:42:10Z beach: Three, actually. 2016-08-14T09:42:38Z VitoVan: beach: I am kind of careless... 2016-08-14T09:42:56Z beach: VitoVan: You should work on that. It is not a good quality for a programmer. 2016-08-14T09:44:34Z wccoder quit (Ping timeout: 258 seconds) 2016-08-14T09:45:10Z VitoVan: beach: Thank you very much beach, I think there's a long way to go for me. 2016-08-14T09:45:12Z MoALTz joined #lisp 2016-08-14T09:45:16Z eivarv joined #lisp 2016-08-14T09:45:26Z VitoVan: beach: updated once again, https://gist.github.com/VitoVan/abeeb79da01298855692153f1830360e 2016-08-14T09:45:38Z beach: You are on the right track. Some people refuse to listen to advice. 2016-08-14T09:46:23Z VitoVan: beach: Your advices encourage me alot. 2016-08-14T09:46:31Z VitoVan: alot => a lot 2016-08-14T09:46:59Z beach: Thanks! I am sure other #lisp participants would do the same. I just happened to be around and not too busy. 2016-08-14T09:48:06Z Anselmo quit (Quit: WeeChat 1.5) 2016-08-14T09:49:19Z mathi_aihtam joined #lisp 2016-08-14T09:49:54Z VitoVan: I've had the answers I need from #lisp many times, this is a wonderful place, I hope someday I can be helpful here. 2016-08-14T09:52:05Z beach: I am sure that will be the case. 2016-08-14T09:53:05Z milanj joined #lisp 2016-08-14T09:56:52Z VitoVan: beach: Thank you~ 2016-08-14T09:57:46Z ovenpasta joined #lisp 2016-08-14T10:02:49Z kokonaisluku joined #lisp 2016-08-14T10:07:01Z mathi_aihtam quit (Quit: mathi_aihtam) 2016-08-14T10:07:08Z eSVG quit (Ping timeout: 258 seconds) 2016-08-14T10:07:54Z mishoo joined #lisp 2016-08-14T10:10:03Z iskander quit (Quit: Quit) 2016-08-14T10:16:43Z d4ryus quit (Ping timeout: 258 seconds) 2016-08-14T10:19:33Z d4ryus joined #lisp 2016-08-14T10:21:38Z phoe joined #lisp 2016-08-14T10:23:06Z VitoVan: jackdaniel: This really fit my appetite, https://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf 2016-08-14T10:23:41Z VitoVan: jackdaniel: "Elegance is not optional", like it 2016-08-14T10:36:19Z zygentoma joined #lisp 2016-08-14T10:36:49Z phoe: VitoVan: remember that some things are no longer valid 2016-08-14T10:37:20Z phoe: e.g. many comments in code can now be elsewhere because we have versioning systems and issue debates can take place outside of the source code 2016-08-14T10:37:56Z phoe: (which actually matters in all sorts of programming, not just Lisp) 2016-08-14T10:39:01Z VitoVan: phoe: I see. 2016-08-14T10:39:30Z sjl quit (Ping timeout: 244 seconds) 2016-08-14T10:41:11Z VitoVan left #lisp 2016-08-14T10:46:04Z andrei-n quit (Ping timeout: 252 seconds) 2016-08-14T10:47:09Z puchka quit (Ping timeout: 276 seconds) 2016-08-14T10:48:31Z puchka joined #lisp 2016-08-14T10:51:42Z rme joined #lisp 2016-08-14T10:51:45Z sweater joined #lisp 2016-08-14T10:52:28Z phoe: You might also want to see Google's Lisp Style Guide. 2016-08-14T10:55:31Z fourier joined #lisp 2016-08-14T10:59:31Z lnostdal quit (Quit: lnostdal) 2016-08-14T11:01:52Z andrei-n joined #lisp 2016-08-14T11:04:35Z mathrick joined #lisp 2016-08-14T11:05:35Z kokonaisluku quit (Quit: ChatZilla 0.9.92 [Firefox 45.3.0/20160803111628]) 2016-08-14T11:08:42Z sweater quit (Ping timeout: 250 seconds) 2016-08-14T11:08:46Z phoe quit (Quit: Lost terminal) 2016-08-14T11:12:27Z attila_lendvai joined #lisp 2016-08-14T11:24:29Z puchka quit (Ping timeout: 260 seconds) 2016-08-14T11:26:37Z Karl_Dscc joined #lisp 2016-08-14T11:28:03Z carleos quit (Ping timeout: 240 seconds) 2016-08-14T11:44:50Z Fare joined #lisp 2016-08-14T11:46:28Z puchacz joined #lisp 2016-08-14T11:52:30Z Logbot1984 joined #lisp 2016-08-14T11:53:37Z Logbot1984 quit (Read error: Connection reset by peer) 2016-08-14T11:54:33Z prole joined #lisp 2016-08-14T11:54:58Z Logbot1984 joined #lisp 2016-08-14T11:55:16Z Logbot1984 quit (Read error: Connection reset by peer) 2016-08-14T11:56:08Z lnostdal joined #lisp 2016-08-14T11:58:18Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-14T11:58:46Z prole: Hie, do someone have tried to use shsc to script? 2016-08-14T12:04:44Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-08-14T12:05:02Z ovenpasta quit (Ping timeout: 250 seconds) 2016-08-14T12:06:08Z prole: I know common lisp, but for scripting, there is a lot outthere: scheme, shsc, guile, eshell... 2016-08-14T12:10:24Z knobo: I forgot if we have a good library to encode/decode html strings: "<&" => "<&" etc... 2016-08-14T12:10:54Z knobo: prole: you can make scripts with the help of roswell 2016-08-14T12:10:54Z rumbler31: prole: you can script in anything 2016-08-14T12:11:07Z knobo: prole: ros init myscript 2016-08-14T12:11:17Z knobo: very easy. 2016-08-14T12:11:53Z prole: all right, thanks, i'll look at it 2016-08-14T12:17:33Z LiamH joined #lisp 2016-08-14T12:23:12Z mishoo quit (Ping timeout: 240 seconds) 2016-08-14T12:23:41Z Logbot1984 joined #lisp 2016-08-14T12:25:37Z grimsley joined #lisp 2016-08-14T12:31:55Z Logbot1984 quit (Read error: Connection reset by peer) 2016-08-14T12:32:01Z knobo: hmmm. looks like every other programming languages have a library for that.. Maybe I can find a c library and use cffi 2016-08-14T12:32:11Z jackdaniel: prole: also check cl-launch, which is my personal favourite 2016-08-14T12:38:37Z fourier: knobo: check html-encode 2016-08-14T12:39:26Z SumoSudo joined #lisp 2016-08-14T12:40:28Z mishoo joined #lisp 2016-08-14T12:41:01Z rumbler31 quit (Ping timeout: 252 seconds) 2016-08-14T12:41:43Z milanj quit (Quit: This computer has gone to sleep) 2016-08-14T12:42:13Z attila_lendvai joined #lisp 2016-08-14T12:42:13Z attila_lendvai quit (Changing host) 2016-08-14T12:42:13Z attila_lendvai joined #lisp 2016-08-14T12:44:17Z rumbler31 joined #lisp 2016-08-14T12:45:03Z holly2 quit (Ping timeout: 265 seconds) 2016-08-14T12:45:17Z knobo: fourier: it does not decode html 2016-08-14T12:45:39Z prole: jackdaniel: this is what I was searching for. thanks a lot. Starting a script with SBCL is so slow... 2016-08-14T12:47:23Z knobo: https://github.com/massung/markup does what I want. 2016-08-14T12:47:28Z knobo: But I'm not able to compile it. 2016-08-14T12:47:33Z mishoo quit (Ping timeout: 240 seconds) 2016-08-14T12:48:33Z fourier: aah then probably you need to look inside some xml parser 2016-08-14T12:48:46Z fourier: most likely they have an appopriate functions... 2016-08-14T12:50:13Z holly2 joined #lisp 2016-08-14T12:52:11Z thomas quit (Quit: Restarting.) 2016-08-14T12:53:15Z Mon_Ouie quit (Ping timeout: 276 seconds) 2016-08-14T12:53:26Z rme quit (Quit: rme) 2016-08-14T12:53:38Z thomas joined #lisp 2016-08-14T12:56:22Z thomas quit (Changing host) 2016-08-14T12:56:22Z thomas joined #lisp 2016-08-14T12:57:00Z jackdaniel: prole: you're welcome :) 2016-08-14T12:57:11Z ovenpasta joined #lisp 2016-08-14T12:57:29Z prole: (: 2016-08-14T13:04:07Z DeadTrickster quit (Ping timeout: 252 seconds) 2016-08-14T13:18:27Z Mon_Ouie joined #lisp 2016-08-14T13:20:03Z dilated_dinosaur quit (Ping timeout: 250 seconds) 2016-08-14T13:23:33Z mishoo joined #lisp 2016-08-14T13:26:13Z DeadTrickster joined #lisp 2016-08-14T13:26:43Z bdr3552 joined #lisp 2016-08-14T13:28:52Z eSVG joined #lisp 2016-08-14T13:32:39Z thomas quit (Quit: leaving) 2016-08-14T13:38:28Z rumbler31 quit (Remote host closed the connection) 2016-08-14T13:41:37Z wccoder joined #lisp 2016-08-14T13:42:32Z fourier quit (Ping timeout: 240 seconds) 2016-08-14T13:45:55Z wccoder quit (Ping timeout: 252 seconds) 2016-08-14T13:47:47Z ggole_ joined #lisp 2016-08-14T13:50:18Z ggole quit (Ping timeout: 265 seconds) 2016-08-14T13:50:46Z smokeink joined #lisp 2016-08-14T13:51:08Z pierpa quit (Remote host closed the connection) 2016-08-14T13:51:34Z pierpa joined #lisp 2016-08-14T13:52:59Z smokeink quit (Client Quit) 2016-08-14T14:05:41Z EvW joined #lisp 2016-08-14T14:17:44Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-08-14T14:17:59Z dilated_dinosaur joined #lisp 2016-08-14T14:19:14Z mishoo quit (Ping timeout: 244 seconds) 2016-08-14T14:20:34Z pierpa quit (Ping timeout: 258 seconds) 2016-08-14T14:22:36Z bdr3553 joined #lisp 2016-08-14T14:22:37Z bdr3552 quit (Read error: Connection reset by peer) 2016-08-14T14:23:11Z EvW quit (Remote host closed the connection) 2016-08-14T14:23:12Z bdr3553 quit (Read error: Connection reset by peer) 2016-08-14T14:23:31Z bdr3552 joined #lisp 2016-08-14T14:25:28Z dto joined #lisp 2016-08-14T14:26:28Z dto: hi. the New England Lisp Games Conference was a success. video 1 here, other videos to follow and will be linked from this page. https://www.youtube.com/watch?v=1VyTd_Wf0qA 2016-08-14T14:29:19Z EvW joined #lisp 2016-08-14T14:29:27Z beach: dto: Congratulations! 2016-08-14T14:30:02Z dto: :) thanku beach 2016-08-14T14:30:17Z strelox joined #lisp 2016-08-14T14:30:59Z dto: there will be three more tech talks and then a mini tournament of people playing 3x0ng :) for a total of five episodes over the next couple days. 2016-08-14T14:33:05Z dto: how you doing beach? 2016-08-14T14:34:02Z smandy` quit (Remote host closed the connection) 2016-08-14T14:39:12Z beach: I am fine thank you. I am on to something; fast, maintainable, and portable sequence functions! 2016-08-14T14:39:27Z fourier joined #lisp 2016-08-14T14:39:32Z beach: My portable versions are faster than the native SBCL versions. 2016-08-14T14:39:44Z karswell` is now known as karswell 2016-08-14T14:39:48Z beach: I'll submit a paper to ELS 2017 once I am done. 2016-08-14T14:39:55Z ania123 joined #lisp 2016-08-14T14:40:37Z dto: wow beach that sounds exciting. 2016-08-14T14:43:38Z fourier quit (Ping timeout: 250 seconds) 2016-08-14T14:44:13Z beach: I have been working on this problem for years now. I already had "fast" and "portable", but the code was not maintainable. Now I know how to do it, provided the compiler to use is "sufficiently smart", so that it does constant propagation also of arguments to EQ. The SBCL compiler definitely seems to work. 2016-08-14T14:45:58Z dto: co0l :) ! 2016-08-14T14:46:29Z beach: I'll definitely watch the video later. 2016-08-14T14:47:14Z yang_ quit (Ping timeout: 264 seconds) 2016-08-14T14:47:33Z beach: dto: So this conference is going to be an annual event? 2016-08-14T14:48:21Z dto: sure i guess. 2016-08-14T14:48:40Z dto: i bet next year we'll have nice android stuff to fool with and possibly some 3d gaming 2016-08-14T14:51:45Z wildlander joined #lisp 2016-08-14T14:52:35Z blackwolf joined #lisp 2016-08-14T14:54:03Z andrei-n quit (Ping timeout: 240 seconds) 2016-08-14T14:55:15Z Patzy quit (Ping timeout: 244 seconds) 2016-08-14T14:57:14Z Patzy joined #lisp 2016-08-14T14:57:16Z bdr3552 quit (Read error: Connection reset by peer) 2016-08-14T14:57:17Z bdr3553 joined #lisp 2016-08-14T14:57:18Z cagomez joined #lisp 2016-08-14T14:57:58Z impaktor: Are the notes from the talk available anywhere? 2016-08-14T14:58:01Z attila_lendvai joined #lisp 2016-08-14T14:58:01Z attila_lendvai quit (Changing host) 2016-08-14T14:58:01Z attila_lendvai joined #lisp 2016-08-14T15:01:27Z holly2 quit (Ping timeout: 244 seconds) 2016-08-14T15:01:27Z bdr3553 quit (Read error: Connection reset by peer) 2016-08-14T15:01:34Z bdr3552 joined #lisp 2016-08-14T15:01:36Z dto: impaktor: https://gitlab.com/dto/nelgc2016/raw/master/conference.org 2016-08-14T15:04:06Z impaktor: Thanks. 2016-08-14T15:04:17Z dto: i added that link to the video description just now. 2016-08-14T15:04:22Z dto: np :) 2016-08-14T15:04:23Z impaktor: dto: Listened to the talk. 2016-08-14T15:04:49Z impaktor: Too bad with the retarded kids in the background. Guess I'm spoiled with audio quality. 2016-08-14T15:05:19Z dto: i thought the wireless mic system did well in picking up an intelligible voice in some pretty extreme circumstances 2016-08-14T15:06:02Z impaktor: Where you in a library, or a cafeteria? 2016-08-14T15:06:33Z dto: no its a video arcade tournament space http://www.game-underground.com/#!arcade/c1sc4 2016-08-14T15:06:53Z dto: there was pizza and free arcade tokens 2016-08-14T15:07:08Z despoil joined #lisp 2016-08-14T15:07:41Z dto: maybe next year we'll do it at Lazer Zone :) 2016-08-14T15:07:49Z bdr3552 quit (Read error: Connection reset by peer) 2016-08-14T15:07:54Z impaktor: So, as someone who is interested in getting into Cl and SDL, forgive my stupid questions, but is there some reason to not use CL-SDL2? 2016-08-14T15:08:19Z bdr3553 joined #lisp 2016-08-14T15:08:24Z holly2 joined #lisp 2016-08-14T15:08:27Z EvW quit (Ping timeout: 276 seconds) 2016-08-14T15:08:36Z impaktor: I'm seeing there are many options for moving sprites around. I had planned to look at CL-SDL2. 2016-08-14T15:08:36Z fourier joined #lisp 2016-08-14T15:08:44Z JuanDaugherty: SDL? 2016-08-14T15:09:17Z EvW joined #lisp 2016-08-14T15:09:24Z andrei-n joined #lisp 2016-08-14T15:09:37Z dto: impaktor: CL-SDL2 is a good default choice in my opinion. SDL2 is the current mainstream SDL. the accessory libraries (MIXER, TTF and so on) are now well supported. 2016-08-14T15:09:44Z dto: CL-SDL2 is maintained. 2016-08-14T15:10:46Z JuanDaugherty: directed media layer 2016-08-14T15:10:51Z impaktor: So lispbuilder-sdl is now just old cruft? 2016-08-14T15:10:53Z dto: LISPBUILDER-SDL targets SDL 1.2, which is legacy but still widely used and supported. the LISPBUILDER bindings haven't bitrotted, but it doesn't have a current maintainer. i've made a fix or two 2016-08-14T15:11:01Z dto: for the android prot 2016-08-14T15:11:02Z dto: port 2016-08-14T15:11:09Z impaktor: OK. 2016-08-14T15:11:14Z dto: impaktor: for a new project i'd suggest using SDL2 2016-08-14T15:11:27Z JuanDaugherty: dos: most people don't use/deprecate/only use if paid 2016-08-14T15:11:33Z wtetzner joined #lisp 2016-08-14T15:11:41Z dto: cruft is an emotionally laden term :) 2016-08-14T15:11:55Z dto: i'm planning to convert my engine to sdl2 as well. 2016-08-14T15:12:31Z impaktor: dto: Using CL-SDL2 I can update the program through the REPL while it's running, or is that where CEPL comes in? 2016-08-14T15:12:51Z dto: you can do the repl stuff via slime with any of them 2016-08-14T15:13:28Z impaktor: Nice, thansk. 2016-08-14T15:13:37Z impaktor: *thanks 2016-08-14T15:14:02Z eivarv quit (Quit: Sleep) 2016-08-14T15:15:19Z wtetzner quit (Remote host closed the connection) 2016-08-14T15:21:05Z EvW quit (Ping timeout: 265 seconds) 2016-08-14T15:22:39Z harish_ quit (Ping timeout: 250 seconds) 2016-08-14T15:25:06Z dto: episode 2 almost ready. 2016-08-14T15:26:27Z quazimodo joined #lisp 2016-08-14T15:26:33Z quazimod1 joined #lisp 2016-08-14T15:30:45Z waterdrop joined #lisp 2016-08-14T15:30:50Z eivarv joined #lisp 2016-08-14T15:31:03Z waterdrop: Why does quoting and then using eval prevent lexical scope? 2016-08-14T15:31:56Z beach: waterdrop: For reasons of performance. 2016-08-14T15:32:22Z beach: waterdrop: The compiler can do lots of optimization if the lexical variables are known at compile time. 2016-08-14T15:32:38Z waterdrop: beach: I see. So basically eval executes in the global environment because making it execute with lexical scope would be really time costly? 2016-08-14T15:32:49Z beach: If you allow EVAL to access lexical variables, many such optimizations become impossible. 2016-08-14T15:32:57Z beach: Yes. 2016-08-14T15:33:39Z puchacz quit (Read error: Connection reset by peer) 2016-08-14T15:33:51Z beach: waterdrop: The Common Lisp language was designed so that it would be possible, using the compiler technology of the day, to generate very fast code. 2016-08-14T15:33:52Z waterdrop: Got it, thanks. 2016-08-14T15:34:04Z puchacz joined #lisp 2016-08-14T15:36:02Z harish_ joined #lisp 2016-08-14T15:40:13Z kn-928 joined #lisp 2016-08-14T15:43:59Z FreeBirdLjj joined #lisp 2016-08-14T15:45:14Z beach: waterdrop: Your questions are very good (I read the logs as well). They are at the very center of programming-language design. And Common Lisp is a very good example of how one can push the design of a programming language very far, while still making it possible to generate fast code. 2016-08-14T15:45:23Z beach: Some so-called "scripting languages" went too far and made it nearly impossible to generate fast code. They didn't care, since the language was supposed to be used only for scripting. 2016-08-14T15:45:24Z beach: But here is the catch: If an application is written in a static language and uses a dynamic language for scripting (it has to be dynamic), then users are going to start writing a lot of code using the scripting language. The combination of the two makes the resulting program slower than if the entire thing had been written in a well designed dynamic language such as Common Lisp. 2016-08-14T15:46:03Z quazimod1 quit (Ping timeout: 244 seconds) 2016-08-14T15:46:39Z quazimodo quit (Ping timeout: 264 seconds) 2016-08-14T15:46:41Z angavrilov_ joined #lisp 2016-08-14T15:46:53Z waterdrop: beach: Interesting. Why do you say that a scripting language has to be dynamic? 2016-08-14T15:47:29Z beach: waterdrop: By definition, the scripting code must be possible to add at runtime, which makes the language dynamic. 2016-08-14T15:47:54Z beach: By "dynamic" language, I mean a language that does not have a sharp distinction between compile time and run time. 2016-08-14T15:48:42Z waterdrop: beach: I see. So more or less an interpreted language? 2016-08-14T15:49:21Z waterdrop: hmm I think I'm a little confused about how you're talking about scripting code 2016-08-14T15:49:22Z beach: There is no such thing as compiled or interpreted LANGUAGE. Only implementations of a language are either compiled, interpreted, or a combination of those. 2016-08-14T15:49:42Z waterdrop: beach: right 2016-08-14T15:49:55Z Jesin quit (Quit: Leaving) 2016-08-14T15:50:06Z shka_: waterdrop: you can compile dynamic language just fine 2016-08-14T15:50:40Z shka_: basicly, late binding vs early binding 2016-08-14T15:50:40Z beach: waterdrop: Suppose I have an application written in C++. Suppose also I have a .apprc file containing scripting code. By definition, the scripting code is loaded into the application after the application starts its execution. 2016-08-14T15:51:21Z angavrilov quit (Ping timeout: 276 seconds) 2016-08-14T15:51:36Z beach: waterdrop: That means that the scripting code was processed (compiled, interpreted, whatever) after the application started running. Therefore, there is no sharp distinction between compile time and run time. Therefore it is a dynamic language. 2016-08-14T15:53:02Z waterdrop: beach: Hmm okay. Yeah I think you're using a much more precise definition of scripting code than the vague one I usually use 2016-08-14T15:53:17Z beach: What is your definition of scripting code? 2016-08-14T15:53:40Z waterdrop: beach: But what if I write code in some language Y, compile that down to some language X, and then just load the file containing language X into my C++ application? 2016-08-14T15:54:20Z beach: Can you give an example of language X? 2016-08-14T15:54:36Z beach: I am asking because C++ does not allow for anything to be loaded at runtime. 2016-08-14T15:54:55Z waterdrop: beach: Yeah I'm not familiar with C++. I only said C++ because you used that in your example. 2016-08-14T15:55:09Z beach: Because it is the stereotypical static language. 2016-08-14T15:55:15Z waterdrop: But maybe Y is some high level language that compiles to JVM bytecode? 2016-08-14T15:55:24Z waterdrop: So the JVM bytecode is language X 2016-08-14T15:55:40Z beach: You can't load JVM bytecodes into a C++ application. 2016-08-14T15:55:42Z cagomez quit (Remote host closed the connection) 2016-08-14T15:55:47Z waterdrop: beach: Yeah I know 2016-08-14T15:55:53Z akkad: the jvm IS a c++ application 2016-08-14T15:56:10Z beach: waterdrop: You can have an interpreter for JVM written in C++ of course. 2016-08-14T15:56:24Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2016-08-14T15:56:28Z waterdrop: I'm not talking about C++ anymore, just trying to get clear about your distinction about why scripting languages have to be dynamic 2016-08-14T15:56:45Z beach: waterdrop: I see. Well, you are technically right. It doesn't have to be. 2016-08-14T15:56:47Z shka_: waterdrop: because they can… 2016-08-14T15:57:06Z shka_: dynamic is just vastly superior to static 2016-08-14T15:57:11Z cagomez joined #lisp 2016-08-14T15:57:21Z beach: waterdrop: But the main attraction of scripting languages is exactly that, i.e. that you don't have to first compile them and then execute the result. 2016-08-14T15:57:22Z jackdaniel: beach: not entirely true – you may use dlopen in C++ – that's what ECL does 2016-08-14T15:57:33Z shka_: at least until performance is not any issue 2016-08-14T15:57:41Z beach: jackdaniel: I am pretty sure C++ does not define dlopen. 2016-08-14T15:57:48Z jackdaniel: I plan to write a blog post about that – how to recompile C/C++ functions during running C application 2016-08-14T15:58:00Z shka_: jackdaniel: cool, write it 2016-08-14T15:58:13Z jackdaniel: C/C++ application° 2016-08-14T15:58:20Z shka_: but dlopen is not part of the C++ standard technically speaking 2016-08-14T15:58:26Z jackdaniel: beach: yes, in the same sense as Common Lisp doesn't have threads 2016-08-14T15:58:32Z beach: Yes. 2016-08-14T15:58:38Z EvW joined #lisp 2016-08-14T15:59:07Z beach: jackdaniel: You are right in that it is possible to use a static language to extend an application written in a static language. 2016-08-14T15:59:15Z waterdrop: beach: I see 2016-08-14T15:59:39Z jackdaniel: yes, and I agree with you in essense, just added my 2 cents :) C++ isn't dynamic language 2016-08-14T15:59:40Z beach: jackdaniel: But I don't call that "scripting". It is a matter of taste what you call it of course. 2016-08-14T16:00:24Z shka_: waterdrop: what is scripting language anyway? 2016-08-14T16:00:42Z fourier: static/dynamic should have better definition here. C++ is statically typed(but not strongly staticallly typed), but have dynamic polymorphism 2016-08-14T16:00:42Z shka_: is it defined by interpreted nature, build system or...? 2016-08-14T16:00:43Z beach: jackdaniel: Interesting discussion that relates to what we discussed the other day: An extension loaded this way has full access to the process of the initial application, so it can do arbitrary damage. 2016-08-14T16:01:04Z beach: fourier: Nobody said anything about typing. 2016-08-14T16:02:04Z fourier: beach: but what do you mean by static here then? what is the definition. typically when people discuss languages as static/dynamic they mean typing 2016-08-14T16:02:18Z ggole_: There are multiple possible meanings. 2016-08-14T16:02:22Z jackdaniel: yes, but I think loading arbitrary code to *anything*, even lisp, may do that (CL doesn't have directo pointer operations, but "ordinary" applications have limited privigiles) 2016-08-14T16:02:35Z beach: fourier: I already said that: A static language has a clear distinction between compile time and run time. A dynamic language does not. 2016-08-14T16:02:58Z axion: Is there a way to get the current package name as a keyword without interning such as (intern (package-name *package*) :keyword) 2016-08-14T16:03:12Z ggole_: None of the distinctions are particularly hard and fast anyway 2016-08-14T16:03:22Z fourier: beach: ok. 2016-08-14T16:03:44Z beach: axion: No because package names are strings, and not symbols. 2016-08-14T16:04:08Z axion: Ok 2016-08-14T16:04:37Z jackdaniel: lisp games conference has started, some nice videos already posted :) 2016-08-14T16:06:35Z Bike joined #lisp 2016-08-14T16:06:53Z waterdrop: beach: Okay, I have another question. The top answer at http://stackoverflow.com/questions/4980520/what-can-you-do-with-lisp-macros-that-you-cant-do-with-first-class-functions gives an example of using a macro called reverse_function 2016-08-14T16:07:38Z waterdrop: That example seems bizarre to me. You could only use reverse-function on anonymous functions, right? (because if I just define a function elsewhere with incorrect syntax, I'll still get an error) 2016-08-14T16:07:52Z cagomez quit (Remote host closed the connection) 2016-08-14T16:08:16Z waterdrop: And since it can only be used on inline functions, it seems to make more sense to just pass the body of the function as lists instead of wrapping it in a lambda? 2016-08-14T16:08:28Z jackdaniel: waterdrop: reverse-function as a macro is meant as a construct which creates a function 2016-08-14T16:09:07Z dto quit (Remote host closed the connection) 2016-08-14T16:09:33Z waterdrop: jackdaniel: Okay. But then why not just pass in lists to the macro? What's the point of passing in a lambda instead of just passing in the body of the function and letting the macro construct the function that's returned? 2016-08-14T16:09:44Z jackdaniel: like: def f(): a; b; c; and rev_def f(): c; b; a; would produce the function doing the same (using pythonish syntax) 2016-08-14T16:10:03Z fourier quit (Ping timeout: 240 seconds) 2016-08-14T16:10:12Z |3b|: macros operate on chunks of code. wrapping the chunk of code in an anonymous function limits your access to the contents. passing the code as a list at runtime limits your ability to compile/optimize it in advance of running it 2016-08-14T16:11:06Z waterdrop: |3b|: But if I'm passing in the code as a list to a macro, won't it get macroexpanded and then compiled? So the compiler should still be able to optimize it 2016-08-14T16:11:16Z |3b|: right, if it is a macro 2016-08-14T16:11:18Z waterdrop: Since the macroexpansion all happens during compile time, right? 2016-08-14T16:11:31Z |3b|: that example is showing why it wouldn't work with just functions 2016-08-14T16:12:02Z |3b|: you can write a reverse-function macro in CL, but you can't write that reverse_function as a function 2016-08-14T16:12:09Z fiddlerwoaroof: beach: with dlopen, couldn't you compile something to an .so with the appropriate entry points and then dynamically load it at runtime into your c++ program? 2016-08-14T16:12:10Z Anselmo joined #lisp 2016-08-14T16:12:27Z fiddlerwoaroof: ah, jackdaniel beat me to it :) 2016-08-14T16:13:10Z waterdrop: |3b|: Sure, that makes sense. But then my question is why write reverse_function so that it's input is a function? Since it's a macro, why not just pass it a list and have it return the function created by reversing that list? 2016-08-14T16:13:26Z waterdrop: Since it's a macro, that should be just as efficient. 2016-08-14T16:13:42Z |3b|: you would only try to write it as a function if you are giving examples of why you can't write it as a function :p 2016-08-14T16:13:58Z jackdaniel: waterdrop: basically macros work that way, you pass a list of instructions, macro reverses the instructions and contructs a function from that 2016-08-14T16:14:12Z Bike: waterdrop: it's a silly example. they probably didn't think about it very hard. 2016-08-14T16:14:15Z jackdaniel: constructs° 2016-08-14T16:14:36Z loke joined #lisp 2016-08-14T16:14:55Z |3b|: the example in the answer where it passed a lambda was an example of the hypothetical version that is a function that accepts a function instead of using a macro 2016-08-14T16:15:31Z |3b|: in cl, using a macro, it would look like (reverse-function ("hello world" print)) 2016-08-14T16:16:09Z waterdrop: |3b|: Okay. Yeah, it just seems that they' 2016-08-14T16:17:13Z waterdrop: *that they'd have gotten the same point across if they just defined reverse-function as taking in a list that makes up the body of the function to be constructed, and then said we can't do this with a regular function because of efficiency issues 2016-08-14T16:17:28Z waterdrop: So yeah, I just got confused about why they defined reverse-function as taking in a function instead of just a list 2016-08-14T16:17:33Z waterdrop: thanks for the help 2016-08-14T16:17:50Z |3b|: "efficiency issues" is a lot less convincing, and also not really answering the question 2016-08-14T16:18:02Z Bike: well if reverse-function was a regular function, it would have to take a function as an argument, and then it can't be introspected to reverse the code 2016-08-14T16:18:29Z beach: waterdrop: reverse_function is indeed a silly example. 2016-08-14T16:18:32Z DeadTrickster quit (Ping timeout: 240 seconds) 2016-08-14T16:18:47Z beach: waterdrop: I suggest you read On Lisp by Paul Graham. It is entirely dedicated to macros. 2016-08-14T16:19:06Z waterdrop: beach: Yeah I've been planning to do that when I have some more free time 2016-08-14T16:19:15Z |3b|: particularly since (like the part about loading code into running c++), you pretty quickly fall into the turing tarpit, where everything is technically possible :) 2016-08-14T16:19:29Z iskander joined #lisp 2016-08-14T16:19:39Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-08-14T16:19:47Z fiddlerwoaroof: One problem with lisp advocacy is that a lot of the example answers to questions about Lisp are either trivial or of dubious value 2016-08-14T16:20:02Z |3b|: you don't /really/ need macros (or any compiler construct beyond NAND or whatever), until you add some constraints 2016-08-14T16:20:05Z jackdaniel: waterdrop: On Lisp is a very nice lecture, but I'd suggest reading Practical Common-Lisp if you want to learn the language, after that On Lisp 2016-08-14T16:20:05Z fiddlerwoaroof: But, it's often really difficult to come up with a good example on the spot 2016-08-14T16:20:24Z kn-928 quit (Quit: bye) 2016-08-14T16:20:36Z |3b|: yeah, LOOP is a better example 2016-08-14T16:20:41Z rme joined #lisp 2016-08-14T16:20:50Z waterdrop: Bike: Hmm okay. But then this is really more of a general point about being able to pass lists that are not valid code to macros because args to macros don't get evaluated immediately, and then the macro can rewrite them 2016-08-14T16:20:53Z waterdrop: I see 2016-08-14T16:20:55Z gargaml joined #lisp 2016-08-14T16:21:06Z waterdrop: I was actually planning to learn Clojure and try working through On Lisp using Clojure 2016-08-14T16:21:08Z waterdrop: Is that a bad idea? 2016-08-14T16:21:16Z Bike: it sounds less than great 2016-08-14T16:21:21Z beach: jackdaniel: You can't use "lecture" that way in English. :) 2016-08-14T16:21:23Z fiddlerwoaroof: Does Clojure force macros to be hygienic? 2016-08-14T16:21:33Z jackdaniel: beach: right, you already told me that! :) 2016-08-14T16:21:35Z waterdrop: fiddlerwoaroof: Not sure 2016-08-14T16:21:37Z fiddlerwoaroof: because that won't work with some of the examples in On Lisp 2016-08-14T16:21:49Z jackdaniel: fiddlerwoaroof: I usually present how easy it is to write "labeled" while, so you can break the loop i.e three levels up (in case of nested whiles), it's easy to explain to C/C++ programmers 2016-08-14T16:21:51Z Bike: like, you know, i'm going to learn french with this spanish phrasebook 2016-08-14T16:22:09Z waterdrop: hmm okay 2016-08-14T16:22:10Z jackdaniel: fiddlerwoaroof: and shows for them some immediate value 2016-08-14T16:22:15Z waterdrop: Do you guys have any thoughts on Clojure? 2016-08-14T16:22:33Z beach: waterdrop: I am sure some people here do, but it would be off topic. 2016-08-14T16:22:51Z waterdrop: okay 2016-08-14T16:22:52Z fiddlerwoaroof: waterdrop: in Common Lisp you can (but usually shouldn't) write a macro that binds a variable and makes it available to the body of the macro 2016-08-14T16:22:52Z jackdaniel: waterdrop: I've heard it has strong community. Also they have good marketing. That said I'd suggest channels ##lisp, #lispcafe or #clojure for that 2016-08-14T16:23:03Z iskander_ joined #lisp 2016-08-14T16:23:36Z Velveeta_Chef quit (Ping timeout: 244 seconds) 2016-08-14T16:24:07Z |3b|: jackdaniel: do you need to write that? seems like BLOCK/RETURN-FROM and/or GO lets you do that already 2016-08-14T16:24:12Z fiddlerwoaroof: I think that clojure and scheme prevent that, which makes their macros somewhat easier to use at the cost of a certain amount of power 2016-08-14T16:24:26Z iskander_ quit (Remote host closed the connection) 2016-08-14T16:24:40Z eivarv quit (Quit: Sleep) 2016-08-14T16:24:45Z jackdaniel: |3b|: yes, I mean – I write such a macro as an example, what cool stuff can be done/abstracted with macros 2016-08-14T16:25:01Z |3b|: ah, ok 2016-08-14T16:25:02Z jackdaniel: on an example of something C/C++ programmers can immedietely understand 2016-08-14T16:25:26Z jackdaniel: (I often had such problem in C language – nested loops, and how to break 3-levels up) 2016-08-14T16:25:51Z iskander quit (Ping timeout: 265 seconds) 2016-08-14T16:25:52Z fiddlerwoaroof: try/except + exceptions :) 2016-08-14T16:26:06Z |3b|: i guess you have goto in C as well 2016-08-14T16:26:10Z grublet joined #lisp 2016-08-14T16:26:19Z shka_: exactly 2016-08-14T16:26:33Z jackdaniel: yes, but it's often bashed as bad practice, also you cant abstract goto, you have to actually write it 2016-08-14T16:26:39Z jackdaniel: since you don't have macros 2016-08-14T16:26:43Z |3b|: right 2016-08-14T16:26:59Z shka_ is ashamed, but he is ok with goto 2016-08-14T16:27:10Z shka_: in fact i prefer goto over exceptions 2016-08-14T16:27:17Z gargaml quit (Quit: WeeChat 1.5) 2016-08-14T16:27:20Z shka_: lesser evil :P 2016-08-14T16:27:27Z |3b|: question is whether you are OK with the way it was used when those papers were written :) 2016-08-14T16:28:28Z fiddlerwoaroof: https://en.wikipedia.org/wiki/Duff%27s_device 2016-08-14T16:29:29Z eivarv joined #lisp 2016-08-14T16:29:33Z iskander joined #lisp 2016-08-14T16:37:06Z Velveeta_Chef joined #lisp 2016-08-14T16:40:17Z FreeBirdLjj quit (Remote host closed the connection) 2016-08-14T16:41:52Z EvW quit (Ping timeout: 240 seconds) 2016-08-14T16:44:33Z gargaml joined #lisp 2016-08-14T16:45:13Z EvW joined #lisp 2016-08-14T16:45:23Z m00natic joined #lisp 2016-08-14T16:46:07Z srcerer joined #lisp 2016-08-14T16:56:51Z kobain joined #lisp 2016-08-14T17:02:11Z phax joined #lisp 2016-08-14T17:03:54Z EvW quit (Ping timeout: 244 seconds) 2016-08-14T17:06:47Z gargaml quit (Quit: WeeChat 1.5) 2016-08-14T17:09:52Z waterdrop left #lisp 2016-08-14T17:11:08Z mathi_aihtam joined #lisp 2016-08-14T17:13:31Z eivarv quit (Quit: Sleep) 2016-08-14T17:13:44Z axion: does UIOP have a implementation-portable way to obtain sb-ext*core-pathname*, ccl:*HEAP-IMAGE-NAME*, etc? 2016-08-14T17:15:20Z akkad: are there any fasl decoders? 2016-08-14T17:18:29Z Fare: axion: see in uiop/image.lisp if what there is satisfies you 2016-08-14T17:18:38Z axion: Fare: I checked, to no avail 2016-08-14T17:20:22Z Fare: or uiop/filesystem.lisp 2016-08-14T17:20:24Z axion: Fare: I'm trying to switch this code to UIOP, so that my game can read assets relative to the directory it was started from in the case of a standalone executable image: http://paste.lisp.org/display/323152 2016-08-14T17:20:44Z Fare: what about lisp-implementation-directory ? 2016-08-14T17:20:50Z axion: it returns NIL strangely 2016-08-14T17:21:43Z eivarv joined #lisp 2016-08-14T17:22:05Z Fare: :-( 2016-08-14T17:22:46Z Fare: akkad: it's called LOAD 2016-08-14T17:23:18Z Grue``: wouldn't the current directory at the time the executable is started that very directory? 2016-08-14T17:23:52Z Fare: which implementation on which OS? How is the directory supposed to be found? 2016-08-14T17:24:20Z tmtwd joined #lisp 2016-08-14T17:24:34Z Fare: if you want the dirname of $0, you can do just that: (pathname-directory-pathname (argv0)) 2016-08-14T17:25:39Z jdtest2 joined #lisp 2016-08-14T17:26:29Z axion: Grue`` is correct. I can probably use *default-pathname-defaults* here 2016-08-14T17:26:51Z jdtest quit (Ping timeout: 264 seconds) 2016-08-14T17:28:10Z axion: Although that assumes it is started from that directory all the time 2016-08-14T17:30:03Z jdtest2 quit (Read error: Connection reset by peer) 2016-08-14T17:30:05Z axion: Fare: I think your solution is the best here, considering lisp-implementation-directory does not seem to work when *image-dumped-p* is non-NIL 2016-08-14T17:31:15Z jdtest joined #lisp 2016-08-14T17:31:24Z Fare is glad to see people using UIOP after all. 2016-08-14T17:32:33Z EvW joined #lisp 2016-08-14T17:33:16Z eivarv quit (Quit: Sleep) 2016-08-14T17:33:52Z axion: :) btw any news on that awful performance issue with DIRECTORY-FILES? 2016-08-14T17:34:04Z axion: perhaps I am watching the wrong repository (github) 2016-08-14T17:39:54Z EvW quit (Ping timeout: 276 seconds) 2016-08-14T17:43:01Z wccoder joined #lisp 2016-08-14T17:47:34Z wccoder quit (Ping timeout: 258 seconds) 2016-08-14T17:48:05Z al-damiri joined #lisp 2016-08-14T17:51:01Z eivarv joined #lisp 2016-08-14T17:51:08Z Davidbrcz joined #lisp 2016-08-14T17:56:42Z hhdave joined #lisp 2016-08-14T17:56:44Z EvW joined #lisp 2016-08-14T18:00:41Z angavrilov_ is now known as angavrilov 2016-08-14T18:07:12Z test1600_ quit (Remote host closed the connection) 2016-08-14T18:07:40Z test1600_ joined #lisp 2016-08-14T18:11:34Z tmtwd quit (Ping timeout: 252 seconds) 2016-08-14T18:14:14Z ania123 quit (Ping timeout: 264 seconds) 2016-08-14T18:30:27Z hhdave quit (Quit: hhdave) 2016-08-14T18:31:53Z zacharias joined #lisp 2016-08-14T18:32:25Z Jesin joined #lisp 2016-08-14T18:33:27Z rme quit (Quit: rme) 2016-08-14T18:33:27Z EvW quit (Ping timeout: 264 seconds) 2016-08-14T18:33:28Z rme quit (Quit: rme) 2016-08-14T18:40:09Z sjl joined #lisp 2016-08-14T18:40:42Z knobo: is it ok to do (map-into " " 'identity (list (code-char 8594))), or is the " " string a literal that should not be changed? 2016-08-14T18:43:45Z euphoria- quit (Ping timeout: 250 seconds) 2016-08-14T18:45:05Z shka_: knobo: why not just (map 'string ... anyway? 2016-08-14T18:46:09Z phax quit (Quit: phax) 2016-08-14T18:46:51Z euphoria- joined #lisp 2016-08-14T18:49:14Z knobo: Can we delete questions on irc? 2016-08-14T18:49:51Z knobo: :P 2016-08-14T18:50:03Z shka_: i don't think so 2016-08-14T18:50:11Z shka_: also 2016-08-14T18:50:21Z shka_: #'identity 2016-08-14T18:50:28Z shka_: not 'identity 2016-08-14T18:52:24Z Bike: knobo: it's true that you shouldn't modify literals though, yes. 2016-08-14T18:53:02Z knobo: '(do not modefy) 2016-08-14T18:53:31Z knobo: I'm just too tired. 2016-08-14T18:53:43Z shka_: rest 2016-08-14T18:53:58Z knobo: Have you ever tried to modify a numerical literal? That's not easy. 2016-08-14T18:54:14Z shka_: heh 2016-08-14T18:54:28Z shka_: knobo: can you start promoting something safer? 2016-08-14T18:54:35Z kobain quit (Read error: Connection reset by peer) 2016-08-14T18:54:35Z shka_: like heroine? ;-) 2016-08-14T18:54:41Z kobain joined #lisp 2016-08-14T18:55:05Z shka_: standard does not define what happens when you modify literal 2016-08-14T18:56:50Z oleo: fewww 2016-08-14T18:56:52Z oleo: http://paste.lisp.org/display/323169 2016-08-14T18:57:14Z milanj joined #lisp 2016-08-14T18:57:28Z shka_: oleo: ok i guess 2016-08-14T18:57:45Z shka_: alghorithmic code -_- 2016-08-14T18:57:56Z oleo: ya i had the maxima version, and trying to translate it to common lisp was fewwww, got me so long.... 2016-08-14T18:58:29Z oleo: especially the passages dealing with mutable stuff.....where i had to use (copy-list...) etc 2016-08-14T18:58:46Z shka_: what does it do, anyway? 2016-08-14T18:58:48Z oleo: or structure sharing 2016-08-14T18:59:12Z oleo: huh ? 2016-08-14T18:59:25Z Bike: it says that it detects whether a subset of a set is a topology for that set. 2016-08-14T18:59:46Z oleo: ya 2016-08-14T18:59:52Z shka_: ok 2016-08-14T19:00:08Z shka_: i won't pretend that i understand 2016-08-14T19:00:08Z Bike: i.e. https://en.wikipedia.org/wiki/Topology#Topologies_on_sets 2016-08-14T19:00:23Z Bike: anyway, you could rewrite that better in a lot of ways. don't need to nest all those labelses, for one. 2016-08-14T19:01:08Z Karl_Dscc quit (Remote host closed the connection) 2016-08-14T19:01:25Z shka_: wow, nested mapcars 2016-08-14T19:01:52Z andrei-n quit (Ping timeout: 244 seconds) 2016-08-14T19:01:55Z shka_: and apply 2016-08-14T19:02:10Z shka_: oleo: usually, it is adviced to use reduce 2016-08-14T19:02:17Z shka_: it has :key 2016-08-14T19:02:40Z shka_: so you can write stuff like 2016-08-14T19:02:58Z oleo: Bike: how ? 2016-08-14T19:03:29Z Bike: (labels ((makelist ...) (subsets ...) (powerset-subset ...) (ksubset-lex-successor ...)) ...) 2016-08-14T19:03:38Z Bike: all the functions are available to each other's bodies, so no problem. 2016-08-14T19:03:53Z oleo: aah 2016-08-14T19:04:02Z oleo: ok, so i can regroup them 2016-08-14T19:04:02Z shka_: (reduce #'* interns :key (lambda (x) (subst 1 t (subst 0 nil x)) :init-value 1) 2016-08-14T19:04:34Z shka_: sorry, initial-value 2016-08-14T19:04:39Z shka_: not :init-value 2016-08-14T19:05:27Z shka_: oleo: not sure about all those lists of 1 and 0 2016-08-14T19:05:35Z commonlisp_win joined #lisp 2016-08-14T19:05:37Z shka_: can't you use some bit-vectors 2016-08-14T19:05:42Z shka_: or something 2016-08-14T19:07:57Z commonlisp_win: HI. Im going through the book Common Lisp: An Interactive Approach im on the 37 page, when i type in (in-package 'user) it give me an error, and I go directly to the debugger. I'm using lispSTICK IDE for windows.Thanks. 2016-08-14T19:08:30Z Bike: commonlisp_win: have you defined a package called "user"? is it not "(in-package 'cl-user)"? 2016-08-14T19:08:32Z justinabrahms quit (Ping timeout: 240 seconds) 2016-08-14T19:08:43Z fluxit quit (Quit: ...) 2016-08-14T19:08:46Z sigjuice quit (Ping timeout: 252 seconds) 2016-08-14T19:08:54Z quazimodo joined #lisp 2016-08-14T19:08:54Z commonlisp_win: I think that the built in package for sbcl 2016-08-14T19:08:59Z commonlisp_win: *thats 2016-08-14T19:09:05Z Bike: There is no built in package called "user" on sbcl. 2016-08-14T19:09:12Z commonlisp_win: hmm 2016-08-14T19:09:21Z Bike: well, looks like the book is online, let's check it. 2016-08-14T19:09:23Z fluxit joined #lisp 2016-08-14T19:09:36Z Bike: ...oh, this is really old. 2016-08-14T19:09:40Z justinmcp quit (Quit: No Ping reply in 180 seconds.) 2016-08-14T19:09:46Z commonlisp_win: When you start running Common Lisp, you should also be in the user package, although the printed representation your Lisp uses may be slightly different from the one mine uses.1 2016-08-14T19:09:48Z Bike: Okay, see how on page thirty six there's a footnote? 2016-08-14T19:09:57Z Bike: "The new Common Lisp standard will use common-lisp-user instead of user." 2016-08-14T19:10:17Z Bike: so do that. 2016-08-14T19:10:23Z EvW joined #lisp 2016-08-14T19:10:25Z tippenein quit (Ping timeout: 252 seconds) 2016-08-14T19:10:30Z Bike: also, you should be aware that the "new standard" referred to is, like, twenty something years old? 2016-08-14T19:10:31Z samjonson joined #lisp 2016-08-14T19:10:46Z samjonson: can someone help me with walking through a game puzzle please? :) 2016-08-14T19:10:51Z commonlisp_win: Oh well I thought user was the short form for common-lisp-user 2016-08-14T19:10:56Z justinmcp joined #lisp 2016-08-14T19:11:00Z Bike: No, the short form for common-lisp-user is cl-user. 2016-08-14T19:11:01Z justinabrahms joined #lisp 2016-08-14T19:11:09Z tippenein joined #lisp 2016-08-14T19:11:32Z Bike: samjonson: assuming it's lisp-related, you should just start explaining, and maybe someone will pick it up 2016-08-14T19:11:36Z sigjuice joined #lisp 2016-08-14T19:11:42Z commonlisp_win: thanks Bike, I think the author uses the common lisp standard 2 2016-08-14T19:11:53Z Bike: probably. that's from the eighties. 2016-08-14T19:11:53Z commonlisp_win: which is still used I hope 2016-08-14T19:12:04Z samjonson: it's sort of lisp related, but it's not really lisp related.... it's a logical game with functions and it's really hard 2016-08-14T19:12:08Z Bike: No, but the "new standard" is fairly close. Not perfectly close, as you can see. 2016-08-14T19:12:23Z Bike: The "lisp" package has been replaced with "common-lisp", as well, for one. 2016-08-14T19:12:41Z samjonson: http://imgur.com/a/eV2jY 2016-08-14T19:12:49Z samjonson: the idea is to get the arrow to the star 2016-08-14T19:12:59Z samjonson: but that function only gets the arrow to the first green box 2016-08-14T19:13:27Z samjonson: f1 repeats all the previous commands 2016-08-14T19:13:40Z Bike: it looks like f1 calsl the f1 function, rather. 2016-08-14T19:13:53Z quazimod1 joined #lisp 2016-08-14T19:13:57Z Bike: can you have it do different commands if it hits a differently colored square? 2016-08-14T19:14:02Z Bike: also, this has nothing to do with lisp at all. 2016-08-14T19:14:48Z samjonson: i thought it had something to do with programming and logical thinking required by everyone who wants to learn lisp 2016-08-14T19:14:48Z oleo: ok http://paste.lisp.org/display/323169#1 2016-08-14T19:14:53Z oleo: regrouped the labels..... 2016-08-14T19:15:31Z samjonson: wow lisp is really complicated! 2016-08-14T19:15:47Z shka_: sophisticated i would say 2016-08-14T19:16:03Z Bike: oleo: you can move the functions from the labels in the powerset-subset body as well. also, your indentation is kind of fucked up, also a bunch of other problems bla bla bla 2016-08-14T19:16:04Z andrei-n joined #lisp 2016-08-14T19:16:24Z commonlisp_win: Which standard should I follow then, ANSI Common Lisp or CLtL2 (which the author uses)? 2016-08-14T19:16:27Z shka_: oleo: what's up with all those remove-duplicates? 2016-08-14T19:16:54Z Bike: samjonson: this looks like you're supposed to be able to have different command sets based on the color of the square the cursor is at. You need to make f1 follow the diagonal, and then when you hit the green square, reorient the cursor and again call f1 to follow the diagonal. 2016-08-14T19:17:03Z Bike: commonlisp_win: as far as i am aware, all implementations use ANSI. 2016-08-14T19:17:15Z oleo: Bike: ya bike i'm using climacs, somehow the indentation in climacs is different than in my clim-listener 2016-08-14T19:17:19Z shka_: oleo: can't you, dunno, use hashtable for this? 2016-08-14T19:17:42Z samjonson: Bike: the only problem is that i am limited to 5 commands 2016-08-14T19:17:44Z oleo: shka_: welp, shka, i just wanted it working first..... 2016-08-14T19:17:53Z shka_: right 2016-08-14T19:18:13Z commonlisp_win: Ok, I will.Thanks Bike for the help, back to my outdated book :( 2016-08-14T19:18:19Z Bike: samjonson: if you have no ability to discriminate on colors, which seems quite unlikely to me, you cannot do this in five commands. 2016-08-14T19:18:28Z oleo: Bike: and i don't know how to set them right...... 2016-08-14T19:18:29Z samjonson: okay thank you 2016-08-14T19:18:36Z shka_: commonlisp_win: perhaps grab practical common lisp? 2016-08-14T19:18:39Z shka_: it is really good 2016-08-14T19:18:41Z samjonson: i just wanted some confirmation because i have been at this for over an hour 2016-08-14T19:18:42Z shka_: or land of lisp 2016-08-14T19:18:44Z lemoinem quit (Ping timeout: 260 seconds) 2016-08-14T19:18:47Z samjonson: land of lisp is great 2016-08-14T19:18:55Z samjonson: i recommend it as it's fun and hard 2016-08-14T19:19:01Z Bike: commonlisp_win: pcl and "Common Lisp: A gentle introduction" are free online and should not have this problem. 2016-08-14T19:19:14Z samjonson: i have a hard copy of land of lisp 2016-08-14T19:19:28Z samjonson: i just don't feel like i am ready for that book and i feel like i need to learn a lot more 2016-08-14T19:19:38Z commonlisp_win: Will check it out.Thanks once again appreciate it.:) 2016-08-14T19:19:49Z samjonson: you make games in that book :) 2016-08-14T19:21:33Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-14T19:25:55Z commonlisp_win quit (Quit: Page closed) 2016-08-14T19:26:08Z Davidbrcz quit (Quit: Leaving) 2016-08-14T19:27:55Z jacopo_belbo joined #lisp 2016-08-14T19:28:06Z oleo: good http://paste.lisp.org/display/323169#2 2016-08-14T19:29:22Z gingerale quit (Remote host closed the connection) 2016-08-14T19:29:28Z jacopo_belbo quit (Client Quit) 2016-08-14T19:30:26Z jacopo_belbo joined #lisp 2016-08-14T19:30:30Z Grue``: jesus 2016-08-14T19:32:15Z Bike: sad, isn't it? 2016-08-14T19:33:23Z oleo: erm, sad, what is sad ? 2016-08-14T19:35:09Z shka_: oleo: list abuse and code duplication 2016-08-14T19:35:41Z Grue``: that's the least of the problems with that code 2016-08-14T19:36:01Z Grue``: mostly, one-letter variables 2016-08-14T19:36:26Z Grue``: hard to understand what it does past that 2016-08-14T19:37:55Z shka_: nah 2016-08-14T19:38:15Z shka_: key problem is lack of some dedicated set class 2016-08-14T19:38:17Z shka_: with proper methods 2016-08-14T19:38:51Z iskander quit (Ping timeout: 276 seconds) 2016-08-14T19:40:51Z axion: my eyes 2016-08-14T19:41:03Z shka_: don't be rude ;] 2016-08-14T19:42:34Z Grue``: there's no reason all of this should be encapsulated in one function 2016-08-14T19:42:41Z shka_: oleo: just try to make reusable set class 2016-08-14T19:42:44Z Grue``: unless there was some sort of requirement 2016-08-14T19:43:06Z shka_: it should make this code reasonable 2016-08-14T19:43:51Z iskander joined #lisp 2016-08-14T19:43:55Z oleo: shka_: i'm not good in OOP..... 2016-08-14T19:44:06Z shka_: oleo: so what? 2016-08-14T19:44:14Z shka_: JUST DO IT! 2016-08-14T19:44:20Z oleo: lol 2016-08-14T19:44:28Z shka_: NOTHING IS IMPOSSIBLE 2016-08-14T19:44:38Z shka_: seriously though 2016-08-14T19:44:48Z shka_: you have your basic operations right there 2016-08-14T19:45:01Z shka_: you have hashtable in the lisp standard 2016-08-14T19:45:30Z shka_: it is not beyond you 2016-08-14T19:46:17Z oleo: i think i don't get what you mean for now 2016-08-14T19:46:46Z oleo: ah to work with sets instead of lists you mean ? 2016-08-14T19:46:58Z shka_: yeah 2016-08-14T19:47:18Z shka_: you don't have anything called set in cl standard, but it is not hard to make something like it 2016-08-14T19:47:39Z oleo: ya i wonder too, there's a set-difference tho.... 2016-08-14T19:47:41Z oleo: lol 2016-08-14T19:48:13Z shka_: iterate on one hashtable, search for key in the second hashtable 2016-08-14T19:48:16Z bdr3553 quit (Remote host closed the connection) 2016-08-14T19:48:28Z shka_: linear time everywhere 2016-08-14T19:48:39Z shka_: no need to sort 2016-08-14T19:49:12Z shka_: or remove-duplicates 2016-08-14T19:49:17Z oleo: ok 2016-08-14T19:49:36Z samjonson: how do you read all of that? 2016-08-14T19:49:37Z oleo: ya hash-tables are unique 2016-08-14T19:49:40Z samjonson: doesn't it get confusing? 2016-08-14T19:49:51Z oleo: no, it doesn't 2016-08-14T19:50:07Z samjonson: i'm confused, like very confused 2016-08-14T19:51:02Z samjonson: what is j what is k what are these terse naming conventions and why are they so hard for me to follow? 2016-08-14T19:51:05Z oleo: hmmm, i will think about what you said shka_ 2016-08-14T19:51:10Z Xach: samjonson: practice 2016-08-14T19:51:14Z samjonson: jesus christ 2016-08-14T19:51:26Z samjonson: that's like torture 2016-08-14T19:51:29Z oleo: samjonson: some of that code is from maxima actually..... 2016-08-14T19:51:36Z Bike: samjonson: this is quickly translated from a different system 2016-08-14T19:51:36Z samjonson: what's a maxima? 2016-08-14T19:51:41Z Bike: a computer algebra system 2016-08-14T19:51:43Z SamSkulls joined #lisp 2016-08-14T19:51:55Z oleo: samjonson: i could have done it my way, i know howto, but i was in a hurry and just adapted some code from there..... 2016-08-14T19:52:09Z samjonson: ouch 2016-08-14T19:52:10Z eSVG quit (Ping timeout: 250 seconds) 2016-08-14T19:52:14Z samjonson: i don't think i'm smart enough for lisp 2016-08-14T19:52:14Z oleo: like the powerset-subset 2016-08-14T19:52:22Z samjonson: i'm glad you get it though :) 2016-08-14T19:52:42Z samjonson: i'm having a hard time with javascript as it is 2016-08-14T19:53:13Z samjonson: i'm not sure if you know, but in javascript they encourage you to name variables according to what they do 2016-08-14T19:53:42Z Bike: that's good advice for anyone 2016-08-14T19:53:44Z grimsley quit (Quit: Leaving) 2016-08-14T19:53:54Z Grue``: and then it's minified and then you have to debug minified javascript with one-letter variable names 2016-08-14T19:54:09Z shka_: :D 2016-08-14T19:54:10Z samjonson: Grue``: i've never done that 2016-08-14T19:54:21Z samjonson: now i see why programmers get paid a lot of money 2016-08-14T19:54:27Z Grue``: well yeah, usually you can run a local unminified copy 2016-08-14T19:54:42Z shka_: samjonson: you have a wrong impression 2016-08-14T19:54:46Z samjonson: of 2016-08-14T19:54:49Z samjonson: ? 2016-08-14T19:54:53Z Grue``: but a minifier can have bugs too... 2016-08-14T19:54:53Z shka_: it is just oleo doing complicated thing 2016-08-14T19:54:59Z shka_: in hackish way 2016-08-14T19:55:20Z Grue``: no, if the code is copy-pasted from maxima then it can be understood 2016-08-14T19:55:31Z Davidbrcz joined #lisp 2016-08-14T19:55:47Z Grue``: because they probably used short variable names to save memory or something, back in the 80s 2016-08-14T19:56:15Z oleo: ya even there it is all short names...... 2016-08-14T19:56:18Z shka_: terminal screens had limited line lenght, right? 2016-08-14T19:56:35Z samjonson: did programmers make more money back then? 2016-08-14T19:57:28Z oleo: way more than today or ? 2016-08-14T19:57:59Z oleo: wasn't there a decline in income for programmers since those days ? 2016-08-14T19:58:02Z varjag quit (Ping timeout: 265 seconds) 2016-08-14T19:58:24Z samjonson: i just don't understand who in their mind would subject themselves to that kind of torture 2016-08-14T19:58:54Z samjonson: only a sadist makes someone debug minified code imo 2016-08-14T19:58:57Z starfighter joined #lisp 2016-08-14T20:01:23Z carleos joined #lisp 2016-08-14T20:02:25Z phax joined #lisp 2016-08-14T20:05:28Z kobain joined #lisp 2016-08-14T20:10:27Z puchacz quit (Quit: Konversation terminated!) 2016-08-14T20:13:34Z attila_lendvai joined #lisp 2016-08-14T20:13:34Z attila_lendvai quit (Changing host) 2016-08-14T20:13:34Z attila_lendvai joined #lisp 2016-08-14T20:13:42Z kn-928 joined #lisp 2016-08-14T20:16:24Z starfighter quit (Quit: Leaving) 2016-08-14T20:17:27Z EvW quit (Ping timeout: 258 seconds) 2016-08-14T20:20:55Z al-damiri quit (Quit: Connection closed for inactivity) 2016-08-14T20:26:58Z EvW joined #lisp 2016-08-14T20:28:54Z fiddlerwoaroof: Is subclassing builtin classes like sequence and integer defined? 2016-08-14T20:29:19Z andrei-n quit (Remote host closed the connection) 2016-08-14T20:29:55Z fiddlerwoaroof: I guess not 2016-08-14T20:30:55Z shka_: fiddlerwoaroof: sorry, i don't know 2016-08-14T20:31:07Z fiddlerwoaroof: Just looked at the glossary under "system class" 2016-08-14T20:31:12Z Bike: fiddlerwoaroof: there is an extension for subclassing sequence in particular. 2016-08-14T20:31:20Z fiddlerwoaroof: "system class n. a class that may be of type built-in-class in a conforming implementation and hence cannot be inherited by classes defined by conforming programs. 2016-08-14T20:31:36Z shka_: i would not think about subclassing vector myself 2016-08-14T20:31:42Z shka_: would rather compose it 2016-08-14T20:31:44Z Bike: i don't think subclassing integer would do you much good, but subclassing number would be ok. 2016-08-14T20:32:27Z fiddlerwoaroof: I was just wondering, in general, if there was some standard-compliant way to extend some of these classes 2016-08-14T20:32:37Z Bike: if an implementation supported that, i mean, i don't know if any do. 2016-08-14T20:32:51Z Bike: not from the standard alone, but there are unconservative extensions. 2016-08-14T20:33:03Z Bike: the sequence one is in sbcl and i think ccl, and maybe a few others. 2016-08-14T20:33:39Z fiddlerwoaroof: Yeah, and there are things like the gray-streams protocol for other such classes 2016-08-14T20:34:30Z bdr3552 joined #lisp 2016-08-14T20:34:53Z Bike: in general it's kind of tricky. MAP is rare enough that calling a generic function might be okay, but doing that with arithmetic would be problematic. 2016-08-14T20:35:49Z fiddlerwoaroof: Something like this could solve that problem: https://github.com/guicho271828/inlined-generic-function 2016-08-14T20:36:31Z Bike: yes. 2016-08-14T20:36:33Z fiddlerwoaroof: But, yeah, those things make sense 2016-08-14T20:37:22Z Bike: in sbcl, stream and sequence functions are partitioned, so that there's a path for "ANSI streams" and lists and vectors, and a slow path for gray streams and other sequences. 2016-08-14T20:37:50Z fiddlerwoaroof: Although, since modifying the cl: package is non-conforming, an implementation could do any number of tricks to the code once everything is defined. 2016-08-14T20:43:19Z zygentoma joined #lisp 2016-08-14T20:43:54Z Davidbrcz quit (Ping timeout: 260 seconds) 2016-08-14T20:44:39Z AntiSpamMeta quit (Read error: Connection reset by peer) 2016-08-14T20:44:54Z AntiSpamMeta joined #lisp 2016-08-14T20:45:01Z shka_ quit (Ping timeout: 252 seconds) 2016-08-14T20:45:23Z strelox quit (Ping timeout: 258 seconds) 2016-08-14T20:47:45Z EvW quit (Ping timeout: 276 seconds) 2016-08-14T20:48:41Z noffle joined #lisp 2016-08-14T20:49:23Z EvW joined #lisp 2016-08-14T20:50:24Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-14T20:52:44Z Polyphony joined #lisp 2016-08-14T20:52:52Z reepca quit (Read error: Connection reset by peer) 2016-08-14T20:55:13Z Karl_Dscc joined #lisp 2016-08-14T20:55:19Z Polyphony: is there somewhere in the clhs that shows all of the built-in reader macros like #'foo and #+bar ? 2016-08-14T20:55:34Z fiddlerwoaroof: Next question, is there a good way to only define a method if a certain package is loaded and/or if a certain generic function exists? 2016-08-14T20:55:52Z fiddlerwoaroof: I suppose, I could check for the package in :eval-when and push something into *features* 2016-08-14T20:56:37Z fiddlerwoaroof: clhs 2.4 2016-08-14T20:56:37Z specbot: Standard Macro Characters: http://www.lispworks.com/reference/HyperSpec/Body/02_d.htm 2016-08-14T20:56:47Z fiddlerwoaroof: Polyphony: That might be a good start? 2016-08-14T20:57:07Z samjonson quit (Quit: Page closed) 2016-08-14T20:57:11Z Polyphony: thanks, I'll take a look 2016-08-14T21:00:03Z vlatkoB quit (Remote host closed the connection) 2016-08-14T21:00:50Z rme joined #lisp 2016-08-14T21:03:21Z Bike: you can also use clhs lookup 2016-08-14T21:03:23Z Bike: clhs #' 2016-08-14T21:03:23Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhb.htm 2016-08-14T21:04:04Z Polyphony: nice, this helps a lot 2016-08-14T21:04:42Z fiddlerwoaroof: you can also use /query specbot #' if you have a bunch of lookups to do 2016-08-14T21:04:50Z fiddlerwoaroof: Keeps the noiselevel down 2016-08-14T21:05:09Z fiddlerwoaroof: that is /query specbot clhs #' 2016-08-14T21:06:27Z Polyphony: thanks, it's kind of hard to google something containing "#+nil" 2016-08-14T21:07:11Z Bike: #+nil is an idiom meaning the next form should be ignored. kind of a form-comment instead of a line-comment like ; 2016-08-14T21:07:14Z phax quit (Ping timeout: 258 seconds) 2016-08-14T21:08:26Z Polyphony: that's what I gathered, I guess it makes sense. I was reading somebody else's code and I had never seen it used before 2016-08-14T21:09:11Z fiddlerwoaroof: #+ and #- let you prevent the reader from reading a form 2016-08-14T21:10:20Z fiddlerwoaroof: clhs #+ 2016-08-14T21:10:20Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhq.htm 2016-08-14T21:10:23Z fiddlerwoaroof: clhs #- 2016-08-14T21:10:23Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhr.htm 2016-08-14T21:11:17Z mathi_aihtam quit (Quit: mathi_aihtam) 2016-08-14T21:11:58Z DeadTrickster joined #lisp 2016-08-14T21:17:51Z SumoSudo quit (Ping timeout: 264 seconds) 2016-08-14T21:26:07Z kobain quit (Remote host closed the connection) 2016-08-14T21:28:09Z Anselmo is now known as nselmo 2016-08-14T21:39:29Z zygentoma joined #lisp 2016-08-14T21:39:34Z dto joined #lisp 2016-08-14T21:39:46Z dto: Xach: conf was a success! 2016-08-14T21:41:44Z strykerkkd joined #lisp 2016-08-14T21:41:51Z dto: Xach: http://xelf.me/nelgc.html videos here and more being added 2016-08-14T21:43:59Z ggole_ quit 2016-08-14T21:43:59Z TMA joined #lisp 2016-08-14T21:44:40Z wccoder joined #lisp 2016-08-14T21:49:04Z wccoder quit (Ping timeout: 258 seconds) 2016-08-14T21:49:56Z Arathnim joined #lisp 2016-08-14T21:52:18Z adolf_stalin joined #lisp 2016-08-14T21:53:38Z phadthai quit (Read error: Connection reset by peer) 2016-08-14T21:55:17Z eSVG joined #lisp 2016-08-14T21:57:04Z eivarv quit (Quit: Sleep) 2016-08-14T21:58:27Z phadthai joined #lisp 2016-08-14T22:06:46Z Polyphony quit (Quit: WeeChat 1.5) 2016-08-14T22:07:32Z Xach: dto: cool! 2016-08-14T22:07:45Z k-stz joined #lisp 2016-08-14T22:08:53Z diotallevi joined #lisp 2016-08-14T22:10:17Z jacopo_belbo quit (Ping timeout: 244 seconds) 2016-08-14T22:11:49Z jacopo_belbo joined #lisp 2016-08-14T22:12:15Z ovenpasta quit (Ping timeout: 276 seconds) 2016-08-14T22:15:36Z diotallevi quit (Ping timeout: 250 seconds) 2016-08-14T22:15:37Z DeadTrickster quit (Read error: Connection reset by peer) 2016-08-14T22:20:02Z Polyphony joined #lisp 2016-08-14T22:28:22Z jacopo_belbo quit (Read error: Connection reset by peer) 2016-08-14T22:28:54Z angavrilov quit (Remote host closed the connection) 2016-08-14T22:29:37Z DavidGu joined #lisp 2016-08-14T22:41:04Z DavidGu quit (Quit: DavidGu) 2016-08-14T22:41:24Z DavidGu joined #lisp 2016-08-14T22:43:24Z Petit_Dejeuner joined #lisp 2016-08-14T22:43:50Z unbalancedparen joined #lisp 2016-08-14T22:45:18Z Fare: dto: congrats 2016-08-14T22:45:30Z unbalancedparen quit (Client Quit) 2016-08-14T22:46:01Z DavidGu quit (Ping timeout: 252 seconds) 2016-08-14T22:52:30Z Polyphony quit (Quit: WeeChat 1.5) 2016-08-14T22:54:00Z k-stz quit (Remote host closed the connection) 2016-08-14T23:01:26Z rme quit (Quit: rme) 2016-08-14T23:01:26Z rme quit (Quit: rme) 2016-08-14T23:17:30Z jleija joined #lisp 2016-08-14T23:25:35Z knobo: does anyone use bknr? 2016-08-14T23:26:39Z carleos quit (Ping timeout: 260 seconds) 2016-08-14T23:27:35Z fiddlerwoaroof: It's author is, I think, H4ns 2016-08-14T23:27:42Z fiddlerwoaroof: He's here from time to time 2016-08-14T23:31:37Z kn-928 quit (Quit: bye) 2016-08-14T23:34:49Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-08-14T23:35:54Z mathi_aihtam joined #lisp 2016-08-14T23:38:16Z adolf_stalin quit (Remote host closed the connection) 2016-08-14T23:39:00Z Velveeta_Chef quit (Ping timeout: 265 seconds) 2016-08-14T23:41:42Z mathi_aihtam quit (Quit: mathi_aihtam) 2016-08-14T23:51:11Z p_l quit (Ping timeout: 244 seconds) 2016-08-14T23:52:08Z p_l joined #lisp 2016-08-14T23:55:55Z knobo: 2016-08-14T23:57:22Z harish_ quit (Ping timeout: 265 seconds) 2016-08-14T23:57:33Z EvW quit (Ping timeout: 276 seconds)