2017-05-02T00:02:00Z adolf_stalin joined #lisp 2017-05-02T00:05:01Z oleo quit (Quit: irc client terminated!) 2017-05-02T00:09:00Z ghard`` joined #lisp 2017-05-02T00:09:46Z tocky joined #lisp 2017-05-02T00:13:36Z ghard`` quit (Ping timeout: 245 seconds) 2017-05-02T00:25:07Z p9s joined #lisp 2017-05-02T00:27:01Z sellout- quit (Quit: Leaving.) 2017-05-02T00:28:20Z tocky quit (Ping timeout: 276 seconds) 2017-05-02T00:29:00Z al-damiri quit (Quit: Connection closed for inactivity) 2017-05-02T00:29:50Z Fare: ASDF 3.2.1's source-registry's :tree directive should now be using an algorithm compatible with Quicklisp's algorithm for local-projects. 2017-05-02T00:30:10Z Fare: (but quicklisp's local-project isn't in asdf's default source-registry) 2017-05-02T00:30:53Z Fare: Xach: can you please kill ASDF 2.26 ? It's totally unsupported and a lot of systems won't build with it. 2017-05-02T00:34:32Z Xach: No. 2017-05-02T00:35:21Z Fare: :-( 2017-05-02T00:36:41Z scottj quit (Quit: leaving) 2017-05-02T00:40:26Z Fare: ASDF 2.26 is 4.5 years old. The much improved ASDF 3.0.1 is 4 years old. What's magic about 2.26 ? 2017-05-02T00:41:13Z Fare: Certainly it was "Our best ASDF so far", but... 2017-05-02T00:43:17Z Dotcra joined #lisp 2017-05-02T00:43:52Z cromachina joined #lisp 2017-05-02T00:45:46Z jleija joined #lisp 2017-05-02T00:46:59Z smoon joined #lisp 2017-05-02T00:47:16Z jameser joined #lisp 2017-05-02T00:47:40Z scottj joined #lisp 2017-05-02T00:53:13Z Draz joined #lisp 2017-05-02T00:54:16Z rumbler31: er, if quicklisp doesn't use ASDF how can Xach kill it? 2017-05-02T00:54:46Z bigos quit (Remote host closed the connection) 2017-05-02T00:55:31Z Ukari joined #lisp 2017-05-02T00:58:50Z knusbaum quit (Quit: BYE) 2017-05-02T01:04:48Z bigos joined #lisp 2017-05-02T01:07:52Z quazimodo joined #lisp 2017-05-02T01:09:54Z kobain joined #lisp 2017-05-02T01:09:58Z knusbaum joined #lisp 2017-05-02T01:11:30Z quazimodo quit (Read error: Connection reset by peer) 2017-05-02T01:12:57Z knusbaum quit (Quit: BYE) 2017-05-02T01:13:08Z DingoSaar_ quit (Remote host closed the connection) 2017-05-02T01:13:21Z hazz quit (Quit: Leaving) 2017-05-02T01:13:25Z MrBismuth quit (Ping timeout: 246 seconds) 2017-05-02T01:14:04Z knusbaum joined #lisp 2017-05-02T01:14:32Z quazimodo joined #lisp 2017-05-02T01:14:40Z DingoSaar_ joined #lisp 2017-05-02T01:15:26Z DingoSaar_ quit (Client Quit) 2017-05-02T01:15:32Z knusbaum quit (Client Quit) 2017-05-02T01:15:39Z drcode quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-05-02T01:16:48Z holycow joined #lisp 2017-05-02T01:17:48Z drcode joined #lisp 2017-05-02T01:18:06Z bigos quit (Quit: Leaving) 2017-05-02T01:19:44Z Draz quit (Ping timeout: 260 seconds) 2017-05-02T01:19:44Z DrazOne joined #lisp 2017-05-02T01:20:27Z Dotcra quit (Ping timeout: 240 seconds) 2017-05-02T01:24:54Z oleo_ joined #lisp 2017-05-02T01:25:08Z drcode quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-05-02T01:25:17Z _rumbler31 joined #lisp 2017-05-02T01:25:37Z knusbaum joined #lisp 2017-05-02T01:26:07Z Tristam joined #lisp 2017-05-02T01:26:07Z Tristam quit (Changing host) 2017-05-02T01:26:07Z Tristam joined #lisp 2017-05-02T01:27:19Z DrazOne quit (Quit: Leaving) 2017-05-02T01:29:09Z drcode joined #lisp 2017-05-02T01:29:31Z _rumbler31 quit (Ping timeout: 246 seconds) 2017-05-02T01:30:03Z knusbaum quit (Quit: BYE) 2017-05-02T01:31:15Z drcode quit (Remote host closed the connection) 2017-05-02T01:31:37Z chens joined #lisp 2017-05-02T01:31:50Z oleo_ quit (Changing host) 2017-05-02T01:31:50Z oleo_ joined #lisp 2017-05-02T01:36:57Z oleo_ is now known as oleo 2017-05-02T01:38:35Z Fare: rumbler31, Quicklisp distributes ASDF 2.26 as the "fallback" ASDF if you use an implementation so ancient that it doesn't provide ASDF (or one even more antique). 2017-05-02T01:40:06Z Fare: All implementations have included ASDF 3 for years, most of them ASDF 3.1, even. 2017-05-02T01:41:50Z Fare: (with the caveat that clisp hasn't been *released* since 2010 and no release included ASDF, but even it had asdf 3 in 2013 and 3.1 in 2016) 2017-05-02T01:42:15Z drcode joined #lisp 2017-05-02T01:42:30Z Fare: (also, Lispworks only includes ASDF 3.1 since 2015) 2017-05-02T01:42:34Z Bike: so what quicklisp has shouldn't matter unless you're using your dad's copy of genera, then? 2017-05-02T01:43:00Z Fare: It still means potential old version to support. 2017-05-02T01:43:39Z Fare: and also it means that using quicklisp on my dad's copy of genera, plenty of systems won't work because they really want asdf 3. 2017-05-02T01:43:54Z jack_rabbit joined #lisp 2017-05-02T01:44:40Z Fare: and if "it shouldn't matter", why not upgrade? 2017-05-02T01:45:22Z dddddd quit (Remote host closed the connection) 2017-05-02T01:47:17Z Fare: I suggest adopting 3.1.7 from March 2016. It's pretty stable, much more featureful than 2.26, the last in the 3.1 series (just like 2.26 was the last in the 2.x series). No major known incompatibilities (unlike current 3.2 series that required some systems to be upgraded). 2017-05-02T01:49:20Z thinkpad quit (Ping timeout: 258 seconds) 2017-05-02T01:51:29Z Fare: Xach: ^ 2017-05-02T01:52:05Z thinkpad joined #lisp 2017-05-02T01:52:33Z ebrasca is now known as ebrasca-afk 2017-05-02T01:53:50Z chens quit (Remote host closed the connection) 2017-05-02T01:55:57Z zacts quit (Quit: WeeChat 1.7.1) 2017-05-02T01:59:58Z djeis joined #lisp 2017-05-02T02:06:11Z djeis is now known as djeis97 2017-05-02T02:07:21Z djeis97 is now known as djeis 2017-05-02T02:08:27Z jibanes_ is now known as jibanes 2017-05-02T02:08:39Z space_otter joined #lisp 2017-05-02T02:08:51Z rumbler31 quit (Remote host closed the connection) 2017-05-02T02:09:54Z ghard`` joined #lisp 2017-05-02T02:12:48Z stardiviner joined #lisp 2017-05-02T02:12:59Z kobain quit (Ping timeout: 276 seconds) 2017-05-02T02:14:47Z ghard`` quit (Ping timeout: 240 seconds) 2017-05-02T02:16:35Z SpikeMaster joined #lisp 2017-05-02T02:16:56Z nicdev` is now known as nicdev 2017-05-02T02:19:33Z SpikeMaster quit (Quit: ERC (IRC client for Emacs 26.0.50)) 2017-05-02T02:22:25Z djeis quit (Quit: Mutter: www.mutterirc.com) 2017-05-02T02:25:11Z djeis joined #lisp 2017-05-02T02:27:46Z Draz joined #lisp 2017-05-02T02:34:37Z djeis quit (Quit: Mutter: www.mutterirc.com) 2017-05-02T02:36:50Z rumbler31 joined #lisp 2017-05-02T02:39:53Z djeis joined #lisp 2017-05-02T02:41:55Z rumbler31 quit (Ping timeout: 260 seconds) 2017-05-02T02:42:36Z djeis quit (Client Quit) 2017-05-02T02:50:51Z TDT quit (Quit: TDT) 2017-05-02T02:52:39Z knusbaum joined #lisp 2017-05-02T02:53:10Z stardiviner quit (Ping timeout: 240 seconds) 2017-05-02T02:54:04Z stardiviner joined #lisp 2017-05-02T02:56:09Z djeis joined #lisp 2017-05-02T02:56:37Z djeis quit (Client Quit) 2017-05-02T02:57:49Z knusbaum quit (Quit: BYE) 2017-05-02T02:58:24Z smoon quit (Quit: smoon) 2017-05-02T03:03:50Z knusbaum joined #lisp 2017-05-02T03:04:27Z anaximander quit (Quit: Page closed) 2017-05-02T03:13:14Z pilne quit (Quit: Quitting!) 2017-05-02T03:18:27Z aeth quit (Ping timeout: 240 seconds) 2017-05-02T03:20:25Z schoppenhauer quit (Ping timeout: 260 seconds) 2017-05-02T03:21:41Z Draz quit (Quit: Leaving) 2017-05-02T03:22:18Z schoppenhauer joined #lisp 2017-05-02T03:26:28Z brendyn joined #lisp 2017-05-02T03:39:21Z drcode quit (Remote host closed the connection) 2017-05-02T03:42:05Z kamog quit (Remote host closed the connection) 2017-05-02T03:52:57Z Ukari quit (Ping timeout: 240 seconds) 2017-05-02T03:53:36Z Ukari joined #lisp 2017-05-02T03:54:40Z drcode joined #lisp 2017-05-02T03:57:28Z drcode quit (Remote host closed the connection) 2017-05-02T04:00:51Z drcode joined #lisp 2017-05-02T04:03:33Z rumbler31 joined #lisp 2017-05-02T04:03:52Z kamog joined #lisp 2017-05-02T04:08:11Z rumbler31 quit (Ping timeout: 245 seconds) 2017-05-02T04:10:49Z ghard`` joined #lisp 2017-05-02T04:16:08Z ghard`` quit (Ping timeout: 260 seconds) 2017-05-02T04:17:22Z stardiviner quit (Quit: WeeChat 1.7.1) 2017-05-02T04:21:26Z knusbaum quit (Remote host closed the connection) 2017-05-02T04:25:39Z knusbaum joined #lisp 2017-05-02T04:35:20Z quazimodo quit (Ping timeout: 276 seconds) 2017-05-02T04:39:27Z brendyn quit (Ping timeout: 240 seconds) 2017-05-02T04:39:34Z rumbler31 joined #lisp 2017-05-02T04:43:02Z shenghi quit (Quit: WeeChat 1.7.1) 2017-05-02T04:43:16Z shenghi joined #lisp 2017-05-02T04:44:08Z rumbler31 quit (Ping timeout: 260 seconds) 2017-05-02T04:46:12Z shenghi quit (Client Quit) 2017-05-02T04:46:29Z shenghi joined #lisp 2017-05-02T04:54:48Z Ukari quit (Ping timeout: 240 seconds) 2017-05-02T04:55:25Z quazimodo joined #lisp 2017-05-02T04:57:03Z Guest62443 is now known as kushal 2017-05-02T04:57:12Z kushal quit (Changing host) 2017-05-02T04:57:12Z kushal joined #lisp 2017-05-02T05:00:39Z akkad quit (Quit: Emacs must have died) 2017-05-02T05:01:06Z MONODA joined #lisp 2017-05-02T05:01:45Z dec0n joined #lisp 2017-05-02T05:02:03Z Ukari joined #lisp 2017-05-02T05:10:34Z Bock joined #lisp 2017-05-02T05:10:35Z Bock quit (Max SendQ exceeded) 2017-05-02T05:11:47Z holycow quit (Quit: Lost terminal) 2017-05-02T05:12:20Z jleija quit (Quit: leaving) 2017-05-02T05:13:18Z Bock joined #lisp 2017-05-02T05:17:24Z teggi joined #lisp 2017-05-02T05:22:19Z spos joined #lisp 2017-05-02T05:22:29Z beach: Good morning everyone! 2017-05-02T05:23:16Z knusbaum: o/ 2017-05-02T05:30:05Z jackdaniel: asdf 2.26 works, later versions brings many incompatibilities, more code (and bugs) and compile longer. newer versions bring also new features (and bugfixes), but it's not that everybody looks for new features 2017-05-02T05:31:27Z jackdaniel: Fare: nothing to be sorry about, I hope you have enjoyed els 2017-05-02T05:31:49Z beach: I'll introduce you two in Marbella. 2017-05-02T05:33:37Z mhd joined #lisp 2017-05-02T05:38:44Z Ukari quit (Ping timeout: 260 seconds) 2017-05-02T05:42:36Z Karl_Dscc joined #lisp 2017-05-02T05:44:22Z jackdaniel: cool :) thanks 2017-05-02T05:47:20Z mbuf joined #lisp 2017-05-02T05:50:57Z shka joined #lisp 2017-05-02T05:51:21Z rumbler31 joined #lisp 2017-05-02T05:53:27Z vlatkoB joined #lisp 2017-05-02T05:56:06Z rumbler31 quit (Ping timeout: 245 seconds) 2017-05-02T05:56:15Z Harag joined #lisp 2017-05-02T05:59:50Z dec0n quit (Read error: Connection reset by peer) 2017-05-02T06:06:20Z shka quit (Ping timeout: 276 seconds) 2017-05-02T06:07:46Z mishoo joined #lisp 2017-05-02T06:11:32Z scymtym quit (Ping timeout: 258 seconds) 2017-05-02T06:11:40Z ghard`` joined #lisp 2017-05-02T06:11:55Z aeth joined #lisp 2017-05-02T06:13:25Z zymurgy joined #lisp 2017-05-02T06:14:07Z dec0n joined #lisp 2017-05-02T06:16:31Z ghard`` quit (Ping timeout: 258 seconds) 2017-05-02T06:22:00Z angavrilov joined #lisp 2017-05-02T06:22:15Z Guest82128 joined #lisp 2017-05-02T06:22:53Z marusich quit (Quit: Leaving) 2017-05-02T06:24:39Z Ober quit (Ping timeout: 260 seconds) 2017-05-02T06:24:47Z Ober joined #lisp 2017-05-02T06:25:10Z milanj quit (Quit: This computer has gone to sleep) 2017-05-02T06:27:28Z rumbler31 joined #lisp 2017-05-02T06:28:12Z Karl_Dscc quit (Remote host closed the connection) 2017-05-02T06:28:54Z safe quit (Read error: Connection reset by peer) 2017-05-02T06:30:57Z thijso quit (Ping timeout: 240 seconds) 2017-05-02T06:32:10Z rumbler31 quit (Ping timeout: 255 seconds) 2017-05-02T06:35:59Z MoALTz joined #lisp 2017-05-02T06:43:14Z space_otter quit (Remote host closed the connection) 2017-05-02T06:45:40Z adolf_stalin quit (Quit: Leaving...) 2017-05-02T06:49:36Z orivej joined #lisp 2017-05-02T06:50:02Z bumblehead joined #lisp 2017-05-02T06:50:52Z bumblehead: i sometimes visit this channel for general advice on algorithms and data structures 2017-05-02T06:50:59Z bumblehead: i'm looking for a suggestion 2017-05-02T06:51:04Z bumblehead: i have a directed graph 2017-05-02T06:51:44Z drcode quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-05-02T06:52:21Z mishoo quit (Quit: (save-lisp-and-die)) 2017-05-02T06:52:27Z jackdaniel: cl-digraph is one of the possibilities 2017-05-02T06:52:34Z bumblehead: i would like update the graph with a sequence of events that takes a certain 'long' amount of time to complete 2017-05-02T06:52:57Z Ukari joined #lisp 2017-05-02T06:52:58Z bumblehead: and during that time update the graph with events that take a 'short' amount of time to complete 2017-05-02T06:53:37Z bumblehead: but when the 'long' update completes i would like to have the result of the short and long updates in the result 2017-05-02T06:54:08Z bumblehead: and i'm wondering if there is a known solution to this problem 2017-05-02T06:54:51Z bumblehead: the long update touches and replaces many node hierarchies 2017-05-02T06:55:15Z bumblehead: the short update only touches a few nodes 2017-05-02T06:56:36Z flip214: froggey: with respect to Mezzano, http://www.xach.com/naggum/articles/3125927560875222@naggum.no.html ? 2017-05-02T06:57:04Z jackdaniel: not sure what do you want, but your notion of propagating events reminds me of cells 2017-05-02T06:57:14Z pillton: bumblehead: Are node replacements expensive? 2017-05-02T06:58:13Z bumblehead: pillton: they are only time-expensive 2017-05-02T06:59:07Z flip214: bumblehead: so you need to "lock" parts of the graph against simultaneous modification? 2017-05-02T07:00:24Z pillton: bumblehead: Is it expensive because of the data structure used to represent the graph or the replacement operator? 2017-05-02T07:00:29Z bumblehead: if possible i would the short updates to appear in the graph right away 2017-05-02T07:00:38Z mishoo joined #lisp 2017-05-02T07:00:54Z bumblehead: pillton: the replacement operator 2017-05-02T07:01:38Z pillton: Well then I'm struggling to understand why (progn (update-graph/long graph) (update-graph/short graph)) is not a valid solution. 2017-05-02T07:02:23Z knusbaum quit (Remote host closed the connection) 2017-05-02T07:02:26Z Fare: jackdaniel, 2.26 doesn't work that well, and ever less so as more systems drop backward compatibility with it and depend on asdf3 cleanups. 2017-05-02T07:02:56Z bumblehead: pillton thank you 2017-05-02T07:03:19Z rumbler31 joined #lisp 2017-05-02T07:03:24Z Fare: I'm not aware that asdf compilation time is a blocker for anyone. It happens only once per implementation per asdf version, too. 2017-05-02T07:03:28Z bumblehead: i don't want to make the channel cringe but the environment is a javascript one :/ 2017-05-02T07:03:57Z koisoke quit (Ping timeout: 240 seconds) 2017-05-02T07:06:01Z Fare: asdf 3.2.1 does take more code than 2.26, but asdf has grown noticeably slower than Moore's law, so if asdf 2.26 was acceptable in 2012, asdf 3.2.1 is all the more so in 2017. 2017-05-02T07:06:03Z pve joined #lisp 2017-05-02T07:07:11Z Fare: and I look forward to removing all traces of backward compatibility layers for asdf 2.26 (and frankly, also for asdf < 3.1.2) 2017-05-02T07:07:31Z thijso joined #lisp 2017-05-02T07:07:34Z Fare: do you support 5-year old variants of ECL ??? 2017-05-02T07:07:53Z rumbler31 quit (Ping timeout: 258 seconds) 2017-05-02T07:08:01Z jackdaniel: I do support 20-year old variant of Lisp 2017-05-02T07:08:06Z Fare: what do you say to people who today ship 5-year old versions of ECL? 2017-05-02T07:08:23Z Fare: the way to support the language is to update the implementation. 2017-05-02T07:08:30Z jackdaniel: I'm not nudging them to drop use features which won't work with old ECL 2017-05-02T07:08:41Z jackdaniel: s/drop// 2017-05-02T07:09:08Z Fare: you probably don't even know which features were buggy 5 years ago. 2017-05-02T07:09:27Z varjag joined #lisp 2017-05-02T07:09:59Z jackdaniel: probably not, I'll leave at this point to have breakfast, have a nice day 2017-05-02T07:13:42Z vlatkoB_ joined #lisp 2017-05-02T07:16:44Z MONODA quit (Ping timeout: 260 seconds) 2017-05-02T07:17:50Z vlatkoB quit (Ping timeout: 276 seconds) 2017-05-02T07:22:02Z jack_rabbit quit (Ping timeout: 255 seconds) 2017-05-02T07:27:08Z easye quit (Ping timeout: 240 seconds) 2017-05-02T07:27:53Z bumblehead left #lisp 2017-05-02T07:28:11Z drcode joined #lisp 2017-05-02T07:28:58Z easye joined #lisp 2017-05-02T07:34:34Z ogamita joined #lisp 2017-05-02T07:34:43Z f32ff quit (Quit: leaving) 2017-05-02T07:36:50Z gingerale joined #lisp 2017-05-02T07:42:41Z ebrasca-afk is now known as ebrasca 2017-05-02T07:44:59Z scymtym joined #lisp 2017-05-02T07:45:18Z brendyn joined #lisp 2017-05-02T07:51:31Z Bike quit (Quit: sicken) 2017-05-02T07:59:22Z specbot quit (Disconnected by services) 2017-05-02T07:59:52Z dwrngr quit (Read error: Connection reset by peer) 2017-05-02T08:00:08Z specbot joined #lisp 2017-05-02T08:01:29Z dwrngr joined #lisp 2017-05-02T08:03:27Z Mandus quit (Ping timeout: 240 seconds) 2017-05-02T08:03:35Z koisoke joined #lisp 2017-05-02T08:05:27Z vert2 quit (Ping timeout: 240 seconds) 2017-05-02T08:05:29Z borodust: Fare: is there a way to tell asdf (by means of defsystem) to load certain dependency first, before any other? 2017-05-02T08:05:34Z vert2 joined #lisp 2017-05-02T08:08:13Z shka joined #lisp 2017-05-02T08:09:10Z borodust: I think, specifying it first in the dependency list works, but I'm not sure this is actually guarateed 2017-05-02T08:12:27Z ghard`` joined #lisp 2017-05-02T08:14:54Z rumbler31 joined #lisp 2017-05-02T08:15:11Z Beetny joined #lisp 2017-05-02T08:17:25Z ghard`` quit (Ping timeout: 240 seconds) 2017-05-02T08:19:15Z hhdave joined #lisp 2017-05-02T08:19:25Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-02T08:20:03Z |3b|: borodust: can't just specify a dependency on it from whatever it needs to be before 2017-05-02T08:20:05Z |3b|: ? 2017-05-02T08:29:05Z defaultxr quit (Ping timeout: 240 seconds) 2017-05-02T08:39:35Z phoe: Is there any sort of TRIVIAL-QUIT library? 2017-05-02T08:40:28Z jdz: phoe: that's loser talk! One never quits! 2017-05-02T08:41:32Z |3b|: uiop has a quit 2017-05-02T08:41:47Z |3b|: not trivial, but pretty common to already have 2017-05-02T08:42:06Z phoe: UIOP, I already depend on it. Thanks! 2017-05-02T08:42:07Z ghard`` joined #lisp 2017-05-02T08:43:45Z flip214: why not just use FFI to kill -9 the task? sounds foolproof, after all ;P 2017-05-02T08:45:40Z borodust: |3b|: nope, because i can't control those 2017-05-02T08:46:15Z ghard`` quit (Client Quit) 2017-05-02T08:46:20Z borodust: e.g. i want to load smth before someone else's library specifically 2017-05-02T08:49:04Z borodust: if there's a reliable way to inject a dependency into the dag, that would work too 2017-05-02T08:59:28Z loke``: phoe: trivial-shell also has quit 2017-05-02T09:00:31Z phoe: loke``: thanks 2017-05-02T09:01:15Z EvW joined #lisp 2017-05-02T09:01:54Z flip214: borodust: set the ASDF search path to one that includes your (identically named) wrapper first 2017-05-02T09:02:17Z flip214: and within the wrapper load the "right" library? 2017-05-02T09:02:40Z borodust: flip214: solution should work across machines w/o additional configuration 2017-05-02T09:02:58Z borodust: if there 2017-05-02T09:03:02Z borodust: *if there's one 2017-05-02T09:03:40Z |3b|: flip214: how would the wrapper load them in the correct order though? 2017-05-02T09:04:32Z borodust: so far the only reliable way i thought of is to require users to load systems in specific order, which is not ideal 2017-05-02T09:05:59Z |3b|: libs that do different things depending on what else is loaded are bad anyway though 2017-05-02T09:06:17Z borodust: |3b|: that's how all wrappers/bindings/shims work :) 2017-05-02T09:06:26Z |3b|: what if somebody loaded something else that depended on it but not the optional thing? (doesn't even have to be same image with caching) 2017-05-02T09:06:41Z azzamsa joined #lisp 2017-05-02T09:06:48Z borodust: |3b|: it just won't work in this case) 2017-05-02T09:07:59Z borodust: not really even optional 2017-05-02T09:08:30Z borodust: i'm thinking of the way to bring dynamic libraries with asdf system 2017-05-02T09:08:52Z borodust: i'm basically did so, but i wonder if i could make it easy by "injecting" the dependency in some way 2017-05-02T09:09:53Z rumbler31 joined #lisp 2017-05-02T09:10:30Z flip214: borodust: did you know http://fare.livejournal.com/188940.html ? 2017-05-02T09:10:33Z borodust: so i can load this dynamic library into process address space before actual wrapper will try to do that 2017-05-02T09:11:08Z borodust: flip214: what is it of it that would help with finding solution to my problem?) 2017-05-02T09:11:40Z flip214: borodust: talks about ASDF, dependencies, and shared objects too 2017-05-02T09:11:48Z flip214: so perhaps you find some ideas or even solutions 2017-05-02T09:12:40Z borodust: i know Fare did awesome work with static linking, didn't hear about anything dynamically linked though 2017-05-02T09:14:09Z borodust: flip214: seems like there's nothing about shared objects/dynamic libraries there 2017-05-02T09:14:24Z rumbler31 quit (Ping timeout: 260 seconds) 2017-05-02T09:21:13Z teggi quit (Quit: Leaving...) 2017-05-02T09:22:39Z l04m33 quit (Ping timeout: 260 seconds) 2017-05-02T09:24:48Z bigos joined #lisp 2017-05-02T09:27:35Z quazimodo quit (Ping timeout: 240 seconds) 2017-05-02T09:28:51Z l04m33 joined #lisp 2017-05-02T09:29:23Z o1e9 joined #lisp 2017-05-02T09:29:36Z m00natic joined #lisp 2017-05-02T09:39:04Z gargaml joined #lisp 2017-05-02T09:39:57Z l04m33 quit (Remote host closed the connection) 2017-05-02T09:43:31Z knicklux joined #lisp 2017-05-02T09:43:46Z l1x quit (Remote host closed the connection) 2017-05-02T09:43:46Z velvetcore_ quit (Remote host closed the connection) 2017-05-02T09:43:46Z zkat quit (Remote host closed the connection) 2017-05-02T09:43:46Z raynold quit (Read error: Connection reset by peer) 2017-05-02T09:43:47Z sz0 quit (Read error: Connection reset by peer) 2017-05-02T09:43:47Z jerme_ quit (Remote host closed the connection) 2017-05-02T09:43:47Z banjiewen quit (Remote host closed the connection) 2017-05-02T09:43:47Z asedeno quit (Remote host closed the connection) 2017-05-02T09:43:47Z tfb quit (Remote host closed the connection) 2017-05-02T09:43:49Z kilimanjaro quit (Remote host closed the connection) 2017-05-02T09:45:02Z attila_lendvai joined #lisp 2017-05-02T09:45:58Z asedeno joined #lisp 2017-05-02T09:46:29Z Ukari quit (Ping timeout: 255 seconds) 2017-05-02T09:46:36Z neoncontrails joined #lisp 2017-05-02T09:47:20Z l1x joined #lisp 2017-05-02T09:49:05Z mingus1 joined #lisp 2017-05-02T09:50:30Z kilimanjaro joined #lisp 2017-05-02T09:50:32Z mingus quit (Ping timeout: 255 seconds) 2017-05-02T09:50:33Z mingus1 is now known as mingus 2017-05-02T09:50:40Z zkat joined #lisp 2017-05-02T09:50:56Z banjiewen joined #lisp 2017-05-02T09:51:17Z l04m33 joined #lisp 2017-05-02T09:52:07Z velvetcore_ joined #lisp 2017-05-02T09:57:51Z tfb joined #lisp 2017-05-02T10:01:09Z nirved joined #lisp 2017-05-02T10:02:06Z easieste joined #lisp 2017-05-02T10:02:16Z EvW quit (Ping timeout: 246 seconds) 2017-05-02T10:02:20Z p9s quit (Remote host closed the connection) 2017-05-02T10:02:56Z p9s joined #lisp 2017-05-02T10:07:34Z p9s quit (Ping timeout: 264 seconds) 2017-05-02T10:08:01Z Mandus joined #lisp 2017-05-02T10:12:50Z milanj joined #lisp 2017-05-02T10:13:31Z jerme_ joined #lisp 2017-05-02T10:14:47Z sz0 joined #lisp 2017-05-02T10:18:06Z raynold joined #lisp 2017-05-02T10:25:48Z azzamsa quit (Read error: Connection reset by peer) 2017-05-02T10:27:27Z knicklux quit (Quit: Leaving) 2017-05-02T10:33:17Z kamog quit (Remote host closed the connection) 2017-05-02T10:34:21Z milanj quit (Quit: This computer has gone to sleep) 2017-05-02T10:39:54Z Xach: |3b|: classimp fails for me today 2017-05-02T10:40:09Z Xach: http://report.quicklisp.org/2017-05-02/failure-report/classimp.html#classimp 2017-05-02T10:40:20Z Xach: maybe it's fixed though? I pulled a couple hours ago 2017-05-02T10:40:39Z |3b|: yeah, i think it is fixed (assuming i pushed it) 2017-05-02T10:41:02Z Xach: i'll try again 2017-05-02T10:41:29Z |3b|: yeah, looks like same thing, and should be fixed 2017-05-02T10:41:50Z |3b| apparently forgot to test compilation in fresh image :( 2017-05-02T10:42:14Z |3b|: (a few days ago that is) 2017-05-02T10:44:52Z Fare quit (Ping timeout: 260 seconds) 2017-05-02T10:48:49Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-02T10:48:57Z hexfive quit (Ping timeout: 240 seconds) 2017-05-02T10:49:43Z tocky joined #lisp 2017-05-02T10:50:11Z X-Scale joined #lisp 2017-05-02T10:51:51Z Ukari joined #lisp 2017-05-02T10:52:31Z tocky left #lisp 2017-05-02T10:54:39Z Xach: hmm, can you hg clone https://matthias.benkard.de/hg/cl-json-template/? 2017-05-02T10:54:50Z Xach: I get an ssl error 2017-05-02T10:54:51Z milanj joined #lisp 2017-05-02T10:56:53Z Ukari quit (Ping timeout: 276 seconds) 2017-05-02T10:58:16Z Subfusc is now known as Subfusc_ 2017-05-02T10:58:27Z Subfusc_ is now known as Subfusc 2017-05-02T11:01:08Z EvW1 joined #lisp 2017-05-02T11:01:26Z |3b| doesn't have hg installed, but it looks like that site is using let's encrypt, maybe your machine doesn't know about that yet? 2017-05-02T11:02:23Z loke``: hg clone fails for me too 2017-05-02T11:02:33Z loke``: while using a normal browser works. 2017-05-02T11:02:49Z xaotuk joined #lisp 2017-05-02T11:03:15Z |3b|: wget/curl is probably a better choice, browser might have its own certs and/or update more often 2017-05-02T11:03:29Z |3b|: (better choice for testing to compare with hg) 2017-05-02T11:03:30Z loke``: curl works too 2017-05-02T11:03:44Z loke``: Why is it trying to use sslv3? 2017-05-02T11:04:04Z Xach: I get: abort: error: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:581) 2017-05-02T11:04:14Z loke``: Googling reveals mentions of a known problem in hg version 2.something, but I'm using 4.1.3 2017-05-02T11:04:23Z |3b|: ah, that sounds like something else then 2017-05-02T11:04:26Z loke``: I get this: 2017-05-02T11:04:28Z loke``: abort: error: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:661) 2017-05-02T11:06:06Z Xach: hmm 2017-05-02T11:06:28Z loke``: Xach: What version of hg are you using? 2017-05-02T11:07:36Z Xach: 3.1.2 2017-05-02T11:08:35Z _paul0 joined #lisp 2017-05-02T11:09:53Z xaotuk quit (Ping timeout: 276 seconds) 2017-05-02T11:10:49Z Xach: also 2017-05-02T11:11:20Z |3b|: yeah, curl gets also 'wrong version' if it tries to use ssl3 2017-05-02T11:11:41Z Xach: when i try to build the "lisp-binary" project with the latest sbcl, it runs out of heap 2017-05-02T11:11:57Z paul0 quit (Ping timeout: 240 seconds) 2017-05-02T11:14:58Z quazimodo joined #lisp 2017-05-02T11:19:38Z easieste_ joined #lisp 2017-05-02T11:23:11Z easieste quit (Ping timeout: 258 seconds) 2017-05-02T11:23:11Z easieste_ is now known as easieste 2017-05-02T11:24:38Z easieste quit (Quit: easieste) 2017-05-02T11:31:08Z SlashLife quit (Ping timeout: 240 seconds) 2017-05-02T11:34:24Z EvW1 quit (Ping timeout: 240 seconds) 2017-05-02T11:38:45Z oleo quit (Quit: Konversation terminated!) 2017-05-02T11:40:51Z knicklux joined #lisp 2017-05-02T11:41:56Z SlashLife joined #lisp 2017-05-02T11:44:47Z EvW joined #lisp 2017-05-02T11:47:14Z oleo_ joined #lisp 2017-05-02T11:59:34Z scymtym_ joined #lisp 2017-05-02T12:02:20Z scymtym quit (Ping timeout: 260 seconds) 2017-05-02T12:04:01Z oleo_ quit (Changing host) 2017-05-02T12:04:01Z oleo_ joined #lisp 2017-05-02T12:04:16Z p9s joined #lisp 2017-05-02T12:04:42Z hvxgr joined #lisp 2017-05-02T12:05:57Z Guest51121 quit (Ping timeout: 240 seconds) 2017-05-02T12:08:29Z Guest77232 joined #lisp 2017-05-02T12:18:42Z oleo_ is now known as oleo 2017-05-02T12:18:56Z bigos quit (Remote host closed the connection) 2017-05-02T12:19:00Z Guest77232 is now known as CrazyEddy 2017-05-02T12:20:54Z Fare joined #lisp 2017-05-02T12:22:12Z raynold quit (Quit: Connection closed for inactivity) 2017-05-02T12:29:11Z knicklux quit (Ping timeout: 276 seconds) 2017-05-02T12:31:43Z Beetny quit (Ping timeout: 255 seconds) 2017-05-02T12:39:02Z milanj quit (Quit: This computer has gone to sleep) 2017-05-02T12:45:08Z stardiviner joined #lisp 2017-05-02T12:46:44Z attila_lendvai quit (Ping timeout: 276 seconds) 2017-05-02T12:47:13Z knicklux joined #lisp 2017-05-02T12:47:46Z attila_lendvai joined #lisp 2017-05-02T12:47:46Z Harag quit (Ping timeout: 245 seconds) 2017-05-02T12:48:17Z TDT joined #lisp 2017-05-02T12:52:27Z hhdave quit (Ping timeout: 240 seconds) 2017-05-02T12:52:40Z rk[ghost] quit (Ping timeout: 240 seconds) 2017-05-02T12:54:32Z attila_lendvai quit (Ping timeout: 276 seconds) 2017-05-02T12:54:40Z shrdlu68 joined #lisp 2017-05-02T12:58:10Z burtons joined #lisp 2017-05-02T12:58:46Z burtons_ joined #lisp 2017-05-02T12:59:51Z yCrazyEdd joined #lisp 2017-05-02T13:00:04Z CrazyEddy quit (Ping timeout: 246 seconds) 2017-05-02T13:00:05Z yCrazyEdd is now known as CrazyEddy 2017-05-02T13:01:42Z scymtym_ quit (Remote host closed the connection) 2017-05-02T13:02:14Z EvW quit (Remote host closed the connection) 2017-05-02T13:02:26Z EvW joined #lisp 2017-05-02T13:02:32Z burtons quit (Ping timeout: 260 seconds) 2017-05-02T13:08:13Z scymtym_ joined #lisp 2017-05-02T13:08:18Z scymtym__ joined #lisp 2017-05-02T13:08:19Z yrk joined #lisp 2017-05-02T13:08:54Z yrk quit (Changing host) 2017-05-02T13:08:54Z yrk joined #lisp 2017-05-02T13:10:44Z jameser joined #lisp 2017-05-02T13:14:43Z jameser quit (Client Quit) 2017-05-02T13:18:46Z splittist: Woot. Lemonodor-fame is but a hack away on my new development laptop! 2017-05-02T13:21:47Z LiamH joined #lisp 2017-05-02T13:24:48Z jameser joined #lisp 2017-05-02T13:26:10Z stardiviner quit (Ping timeout: 264 seconds) 2017-05-02T13:26:39Z jameser quit (Read error: Connection reset by peer) 2017-05-02T13:29:46Z phoe: How can I get the path to a given system's .ASD file? 2017-05-02T13:29:56Z phoe: I need to load a file relative to the system's location. 2017-05-02T13:30:32Z knicklux quit (Quit: Leaving) 2017-05-02T13:30:40Z phoe: Like - I have a .png image that's in the same folder as the .asd file, but I need to know the path to the .asd file in order to find the .png file. 2017-05-02T13:31:01Z borodust: phoe: https://borodust.org/delivering-common-lisp#accessing-assets 2017-05-02T13:31:02Z borodust: ;p 2017-05-02T13:31:11Z phoe: borodust: smug 2017-05-02T13:31:13Z stardiviner joined #lisp 2017-05-02T13:31:17Z phoe (incf borodust) 2017-05-02T13:32:32Z beach: phoe: asdf:system-relative-pathname 2017-05-02T13:32:57Z phoe: beach: yes, I saw it in borodust's article. Thanks! 2017-05-02T13:33:07Z beach: Oh, OK. Sorry. 2017-05-02T13:33:18Z phoe: beach: no problem! 2017-05-02T13:33:40Z borodust: no probs, hope it helps) 2017-05-02T13:37:07Z hhdave joined #lisp 2017-05-02T13:38:22Z bigos joined #lisp 2017-05-02T13:39:56Z scymtym__ quit (Ping timeout: 240 seconds) 2017-05-02T13:40:09Z scymtym joined #lisp 2017-05-02T13:40:41Z scymtym_ quit (Ping timeout: 276 seconds) 2017-05-02T13:41:07Z mbuf quit (Quit: Leaving) 2017-05-02T13:41:18Z jdz: phoe: also http://xach.livejournal.com/294639.html 2017-05-02T13:46:29Z gacepa joined #lisp 2017-05-02T13:47:48Z myrkraverk quit (Remote host closed the connection) 2017-05-02T13:52:39Z stardiviner quit (Ping timeout: 260 seconds) 2017-05-02T13:52:54Z cromachina quit (Read error: Connection reset by peer) 2017-05-02T13:55:44Z stardiviner joined #lisp 2017-05-02T13:57:50Z discardedes joined #lisp 2017-05-02T14:01:16Z bigos quit (Remote host closed the connection) 2017-05-02T14:01:20Z stardiviner quit (Ping timeout: 260 seconds) 2017-05-02T14:10:37Z dec0n quit (Read error: Connection reset by peer) 2017-05-02T14:17:46Z dwrngr quit (Remote host closed the connection) 2017-05-02T14:19:10Z kobain joined #lisp 2017-05-02T14:23:40Z jerme joined #lisp 2017-05-02T14:25:12Z sondr3 joined #lisp 2017-05-02T14:29:24Z whiteline quit (Read error: Connection reset by peer) 2017-05-02T14:30:07Z whiteline joined #lisp 2017-05-02T14:30:56Z whiteline quit (Max SendQ exceeded) 2017-05-02T14:31:19Z whiteline joined #lisp 2017-05-02T14:33:42Z shrdlu68: OPenssl source is horribly cryptic. 2017-05-02T14:34:10Z shrdlu68: Or have I been spoilt by lisp? 2017-05-02T14:34:42Z phoe: it's a security library 2017-05-02T14:34:51Z phoe: its source is unclear so no one can reverse engineer it 2017-05-02T14:35:25Z phoe ba don tsssssss 2017-05-02T14:35:34Z shrdlu68: Security by obscurity? Are you serious? 2017-05-02T14:36:21Z shrdlu68: Hehe, I should whip up a macro to obfuscate cl-tls code, then. 2017-05-02T14:37:37Z bigos joined #lisp 2017-05-02T14:37:49Z eazar001 joined #lisp 2017-05-02T14:41:16Z phoe: Lisp is pretty trivial to obfuscate 2017-05-02T14:42:26Z quazimodo quit (Ping timeout: 276 seconds) 2017-05-02T14:42:40Z phoe: ...even so with the final pass being some crazy reader macros that have lots of side effects 2017-05-02T14:42:58Z splittist quit (Ping timeout: 264 seconds) 2017-05-02T14:43:00Z White_Flame: hmm, "too bad" symbol-name is not setf'able 2017-05-02T14:43:15Z phoe: White_Flame: no, it's not 2017-05-02T14:43:19Z phoe: and should never be 2017-05-02T14:43:25Z phoe: because of undefined behaviour stuff 2017-05-02T14:43:27Z tiago quit (Ping timeout: 240 seconds) 2017-05-02T14:43:29Z zooey quit (Ping timeout: 248 seconds) 2017-05-02T14:43:29Z jself quit (Ping timeout: 255 seconds) 2017-05-02T14:43:34Z tobel quit (Ping timeout: 264 seconds) 2017-05-02T14:43:34Z gz_ quit (Ping timeout: 264 seconds) 2017-05-02T14:43:40Z sellout- joined #lisp 2017-05-02T14:43:41Z dan64 quit (Ping timeout: 240 seconds) 2017-05-02T14:43:41Z pent quit (Ping timeout: 240 seconds) 2017-05-02T14:43:44Z frodef` joined #lisp 2017-05-02T14:43:44Z gacepa quit (Ping timeout: 276 seconds) 2017-05-02T14:43:44Z jerme_ quit (Ping timeout: 276 seconds) 2017-05-02T14:43:46Z Reinisch: don't be afraid of the unknown 2017-05-02T14:43:56Z jerme quit (Ping timeout: 255 seconds) 2017-05-02T14:44:00Z White_Flame: obfuscation would love such a thing 2017-05-02T14:44:01Z tfb quit (Ping timeout: 255 seconds) 2017-05-02T14:44:12Z vhost- quit (Ping timeout: 241 seconds) 2017-05-02T14:44:23Z eazar001 quit (Ping timeout: 276 seconds) 2017-05-02T14:44:23Z banjiewen quit (Ping timeout: 276 seconds) 2017-05-02T14:44:26Z p_l: shrdlu68: openssl has a history of people writing really weird code, and sometimes without a clue about what they were doing (that aspect seems to be continued in libressl at times) 2017-05-02T14:44:35Z brandonz quit (Ping timeout: 240 seconds) 2017-05-02T14:44:36Z phoe: White_Flame: no need to do that 2017-05-02T14:44:37Z libreman: Does anybody know why this way to create a condition does not work? http://paste.lisp.org/display/345656 2017-05-02T14:44:39Z djuber` joined #lisp 2017-05-02T14:44:44Z jself joined #lisp 2017-05-02T14:44:44Z phoe: just replace symbols with gensyms 2017-05-02T14:44:46Z rjeli quit (Ping timeout: 264 seconds) 2017-05-02T14:44:46Z baroncharlus quit (Ping timeout: 264 seconds) 2017-05-02T14:44:46Z ec\_ quit (Ping timeout: 264 seconds) 2017-05-02T14:44:51Z justinmcp quit (Ping timeout: 255 seconds) 2017-05-02T14:44:53Z splittist joined #lisp 2017-05-02T14:44:56Z ramus quit (Ping timeout: 255 seconds) 2017-05-02T14:44:56Z mjl quit (Ping timeout: 255 seconds) 2017-05-02T14:44:59Z justinmcp joined #lisp 2017-05-02T14:45:02Z asedeno quit (Ping timeout: 276 seconds) 2017-05-02T14:45:13Z jerme_ joined #lisp 2017-05-02T14:45:17Z shpx_ quit (Ping timeout: 255 seconds) 2017-05-02T14:45:22Z anachrome quit (Ping timeout: 264 seconds) 2017-05-02T14:45:22Z joeygibson quit (Ping timeout: 264 seconds) 2017-05-02T14:45:26Z White_Flame: libreman: "does not work" is never a good description of what's going on. what error do you get? 2017-05-02T14:45:41Z CrazyEddy quit (Ping timeout: 276 seconds) 2017-05-02T14:45:48Z rjeli joined #lisp 2017-05-02T14:45:58Z aaronjensen quit (Ping timeout: 264 seconds) 2017-05-02T14:45:58Z kjak_ quit (Ping timeout: 264 seconds) 2017-05-02T14:45:58Z XachX quit (Ping timeout: 264 seconds) 2017-05-02T14:45:58Z beach: libreman: You should definitely use the accessor rather than WITH-SLOTS. 2017-05-02T14:46:00Z libreman: Sorry, I get a unbound-slot error when trying to print the error. However when I inspect the object in SLIME I do see a NAME slot 2017-05-02T14:46:00Z phoe: libreman: where in the condition do you set the NAME slot? 2017-05-02T14:46:08Z Tordek quit (Ping timeout: 260 seconds) 2017-05-02T14:46:08Z nydel quit (Ping timeout: 260 seconds) 2017-05-02T14:46:10Z pent joined #lisp 2017-05-02T14:46:16Z xristos quit (Ping timeout: 255 seconds) 2017-05-02T14:46:20Z p9s quit (Ping timeout: 276 seconds) 2017-05-02T14:46:21Z Intensity quit (Ping timeout: 258 seconds) 2017-05-02T14:46:21Z beach: libreman: with-slots and slot-value are not guaranteed to work on condition types. 2017-05-02T14:46:23Z tfb joined #lisp 2017-05-02T14:46:25Z tiago joined #lisp 2017-05-02T14:46:25Z tiago quit (Changing host) 2017-05-02T14:46:25Z tiago joined #lisp 2017-05-02T14:46:26Z libreman: Well the parent condition (undefined-function) has a name slot 2017-05-02T14:46:26Z ec\ joined #lisp 2017-05-02T14:46:36Z libreman: Ah, well that explains it. Thanks! 2017-05-02T14:46:38Z djuber quit (Ping timeout: 255 seconds) 2017-05-02T14:46:39Z anachrome joined #lisp 2017-05-02T14:46:51Z beach: Anytime. 2017-05-02T14:46:51Z phoe: libreman: the only way of accessing slots on conditions is through accessor functions. 2017-05-02T14:47:00Z nydel joined #lisp 2017-05-02T14:47:03Z ramus joined #lisp 2017-05-02T14:47:04Z libreman: Does undefined-function have an accessor function according to ANSI? 2017-05-02T14:47:10Z shpx joined #lisp 2017-05-02T14:47:10Z shpx quit (Changing host) 2017-05-02T14:47:10Z shpx joined #lisp 2017-05-02T14:47:19Z rumbler31 joined #lisp 2017-05-02T14:47:20Z phoe: no 2017-05-02T14:47:23Z phoe: because you have not declared it 2017-05-02T14:47:23Z banjiewen joined #lisp 2017-05-02T14:47:29Z phoe: oh, wait 2017-05-02T14:47:33Z kjak_ joined #lisp 2017-05-02T14:47:36Z phoe: clhs undefined-function 2017-05-02T14:47:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/e_undefi.htm 2017-05-02T14:47:38Z zkat quit (Ping timeout: 276 seconds) 2017-05-02T14:47:39Z p9s joined #lisp 2017-05-02T14:47:41Z p_l still recalls OpenSSL doing probabilistic behaviour in memory allocation because someone didn't read the docs and claimed it was system bug, and libressl parrotting the statement about a bug 2017-05-02T14:47:53Z frodef quit (Ping timeout: 258 seconds) 2017-05-02T14:47:55Z phoe: yes, cell-error-name 2017-05-02T14:48:05Z sbryant quit (Ping timeout: 240 seconds) 2017-05-02T14:48:11Z phoe: so substitute name with (cell-error-name condition) and get rid of that with-slots 2017-05-02T14:48:15Z doby162 joined #lisp 2017-05-02T14:48:17Z CrazyEddy joined #lisp 2017-05-02T14:48:22Z drmeister quit (Ping timeout: 264 seconds) 2017-05-02T14:48:26Z groovy2shoes quit (Ping timeout: 255 seconds) 2017-05-02T14:48:31Z libreman: Ah super, that works awesome :) 2017-05-02T14:48:35Z phoe: good. <3 2017-05-02T14:48:42Z vhost- joined #lisp 2017-05-02T14:48:48Z beach: phoe: Replace A by B or substitute B for A, but not substitute A with B. 2017-05-02T14:48:58Z _paul0 quit (Ping timeout: 255 seconds) 2017-05-02T14:49:04Z tobel joined #lisp 2017-05-02T14:49:05Z phoe: beach: thanks. 2017-05-02T14:49:21Z phoe gains one experience point in English. 2017-05-02T14:49:37Z joeygibson joined #lisp 2017-05-02T14:50:12Z zkat joined #lisp 2017-05-02T14:50:40Z dan64 joined #lisp 2017-05-02T14:50:46Z trn quit (Ping timeout: 255 seconds) 2017-05-02T14:52:56Z daemoz quit (Remote host closed the connection) 2017-05-02T14:53:16Z daemoz joined #lisp 2017-05-02T14:53:23Z sbryant joined #lisp 2017-05-02T14:53:44Z asedeno joined #lisp 2017-05-02T14:54:15Z Reinisch: beach: I tried a quick google, but I'm bad at searching for grammar rules. Is there a reason or rule that "Replace A by B" is correct? I could see "A is replaced by B," but "replace A by B," still sounds really weird to me. (I'm an Amurican, so I probably don't know English rules as well as I should.) 2017-05-02T14:55:18Z beach: There are usually no particular reason for grammar rules, other than historical. 2017-05-02T14:55:32Z zooey joined #lisp 2017-05-02T14:55:58Z Reinisch: okie dokie :) 2017-05-02T14:56:06Z Tordek joined #lisp 2017-05-02T14:56:10Z Guest82550 joined #lisp 2017-05-02T14:56:25Z beach: You can also say "Replace A WITH B" 2017-05-02T14:56:31Z beach: Does that sound better to you? 2017-05-02T14:56:45Z Intensity joined #lisp 2017-05-02T14:56:58Z beach: http://queens-english-society.org/qes-useful-guides-to-english/substitute-replace/ 2017-05-02T14:57:07Z brandonz joined #lisp 2017-05-02T14:57:22Z _paul0 joined #lisp 2017-05-02T14:57:26Z groovy2shoes joined #lisp 2017-05-02T14:57:39Z xaotuk joined #lisp 2017-05-02T14:57:59Z Reinisch: Yes, that sounds better to me. But then I'm confused by your "but not 'substitute A with B.'" Perhaps you are making a distinction between "replace" and "substitute?" 2017-05-02T14:58:03Z gacepa joined #lisp 2017-05-02T14:58:04Z Reinisch: ooh, linky! 2017-05-02T14:58:12Z eazar001 joined #lisp 2017-05-02T14:58:37Z beach: That page recommends never to use WITH. 2017-05-02T14:58:46Z beach: For reasons of precision. 2017-05-02T14:59:15Z baroncharlus joined #lisp 2017-05-02T14:59:44Z sellout- quit (Quit: Leaving.) 2017-05-02T15:00:05Z shrdlu68: I think this is one of those superficial features of language that have nothing to do with communication. Like the who/whom business. 2017-05-02T15:00:47Z aaronjensen joined #lisp 2017-05-02T15:00:47Z beach: shrdlu68: I don't think that's true in this case, since the meaning crucially depends on choosing the right formula. 2017-05-02T15:01:37Z beach: shrdlu68: Look at what phoe wrote: "so substitute name with (cell-error-name condition)" 2017-05-02T15:02:38Z beach: shrdlu68: Wither you trust the SUBSTITUTE and the advice was to get rid of (CELL-ERROR-NAME CONDITION) in favor of just NAME, or you trust the WITH and it's the other way around. 2017-05-02T15:02:55Z beach: s/Wither/Either/ 2017-05-02T15:04:04Z doby162 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-05-02T15:05:23Z gz_ joined #lisp 2017-05-02T15:05:58Z mjl joined #lisp 2017-05-02T15:06:28Z Reinisch: weird! Among 'muricans in the midwest of USA, I've not run into this issue. How queer! I feel I can confidently say that we interpret, "substitute NAME with (LISP)," to unambiguously mean something like, "change NAME to (LISP)." 2017-05-02T15:06:37Z XachX joined #lisp 2017-05-02T15:06:42Z shrdlu68: beach: I didn't see any ambiguity there. 2017-05-02T15:07:13Z beach: Reinisch: Sorry to hear that. :) 2017-05-02T15:07:25Z beach: shrdlu68: Sorry to hear that. :) 2017-05-02T15:07:26Z Reinisch: I agree that the other suggestions beach made are also unambiguous and clear, so there is no harm in taking that advice 2017-05-02T15:08:32Z shifty quit (Ping timeout: 260 seconds) 2017-05-02T15:09:01Z spos: I don't think there's going to be much confusion for 'replace with,' which is also very significantly more common than 'replace by.' Avoiding 'subsitute with' makes sense to me 2017-05-02T15:09:57Z ebrasca: English is hard. 2017-05-02T15:10:59Z rippa joined #lisp 2017-05-02T15:11:09Z shrdlu68: For me 'substitute' is synonymous with 'replace', so it makes no differennce if someone uses either with 'with' 2017-05-02T15:11:22Z beach: shrdlu68: Sorry to hear that. :) 2017-05-02T15:11:36Z ebrasca: shrdlu68: 1+ 2017-05-02T15:13:27Z al-damiri joined #lisp 2017-05-02T15:17:34Z Reinisch: this is interesting.. in order to get at the other meaning I would have to use FOR or IN-PLACE-OF. 2017-05-02T15:17:51Z stardiviner joined #lisp 2017-05-02T15:17:54Z Reinisch: "substitute A for B" means keep A 2017-05-02T15:18:13Z Reinisch: "substitute A in place of B" means keep A 2017-05-02T15:18:31Z Reinisch: but "substitute A with B" sure sounds like keep B to me 2017-05-02T15:18:33Z doby162 joined #lisp 2017-05-02T15:18:59Z Reinisch: thanks for bringing this up beach! I never would have thought about it. 2017-05-02T15:20:16Z beach: Reinisch: No problem. I spend a lot of time writing (books, documentation, papers) and I am married to a woman with a PhD in English and who was trained as a copy editor, so I opt for precision whenever possible. 2017-05-02T15:21:22Z Reinisch: that's so cool! awesome 2017-05-02T15:21:36Z trn joined #lisp 2017-05-02T15:21:37Z o1e9 quit (Quit: Ex-Chat) 2017-05-02T15:22:40Z stardiviner quit (Ping timeout: 268 seconds) 2017-05-02T15:23:01Z beach: Each individual is of course free to use any word as he or she sees fit. But if you are writing a text to be consumed by an unknown audience, it is best to choose phrases that are acceptable to the widest audience possible. Otherwise, you end up distracting your readers from the subject. 2017-05-02T15:23:20Z jerme joined #lisp 2017-05-02T15:24:14Z stardiviner joined #lisp 2017-05-02T15:24:52Z EvW quit (Ping timeout: 260 seconds) 2017-05-02T15:25:53Z jerme quit (Client Quit) 2017-05-02T15:25:59Z rumbler31 quit (Ping timeout: 276 seconds) 2017-05-02T15:26:22Z beach: I do recommend the book "A Sense of Style" by Steven Pinker, for those who are interested in good writing. 2017-05-02T15:26:42Z doby162 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-05-02T15:27:13Z beach: It's the first style guide I have read that is not based on dogmatic (and often wrong) personal preference. 2017-05-02T15:27:46Z prole joined #lisp 2017-05-02T15:28:03Z beach: Split infinitives are fine, and it is OK to end a phrase with a preposition, for example. 2017-05-02T15:29:00Z shka quit (Quit: Konversation terminated!) 2017-05-02T15:29:46Z shrdlu68 quit (Ping timeout: 264 seconds) 2017-05-02T15:29:55Z hazz joined #lisp 2017-05-02T15:29:58Z Reinisch: I don't know where we got that from. lololol 2017-05-02T15:30:31Z beach: The "rules" about infinitives and prepositions? 2017-05-02T15:30:32Z doby162 joined #lisp 2017-05-02T15:30:41Z beach: Both are from Latin, I believe. 2017-05-02T15:30:43Z velo-alien joined #lisp 2017-05-02T15:31:06Z beach: ... as if rules in Latin should apply to English. Go figure. 2017-05-02T15:31:50Z xaotuk quit (Ping timeout: 276 seconds) 2017-05-02T15:31:57Z Reinisch: I was trying to use "from" as a sentence ending preposition while joking that the rule concerning ending sentences with prepositions was silly. 2017-05-02T15:32:19Z beach: Ah, missed. Nice one! :) 2017-05-02T15:32:33Z Reinisch: ;) 2017-05-02T15:32:46Z stardiviner quit (Quit: WeeChat 1.7.1) 2017-05-02T15:35:11Z Bike joined #lisp 2017-05-02T15:36:14Z TMA: beach: rules of Latin already apply to English - while it is naïve to consider English (and Latin) free from diacritics, they are rare enough as not to be noticeable. the only languages using the 26 letters almost exclusively are Latin, Indonesian and English 2017-05-02T15:36:46Z spos: It's kind of ironic how in English it's fine to place a pre-position after its noun 2017-05-02T15:37:31Z Bike: i was running the dog house around? 2017-05-02T15:38:16Z beach: TMA: Interesting about the alphabets. 2017-05-02T15:40:50Z shrdlu68 joined #lisp 2017-05-02T15:42:36Z aeth: TMA: One "rule" of English is just about any Latin word is "valid" English, and most French words too. Just about all of the exceptions to the diacritics rule come from the second, although a few of those French words/phrases (déjà vu, naÍve, résumé, etc.) actually caught on. 2017-05-02T15:43:03Z aeth: *naïve 2017-05-02T15:44:42Z TMA: aeth: there's established priority: if the word can be picked from Latin, do not pick it from French ; prefer Latin ortography 2017-05-02T15:45:17Z aeth: Yes. 2017-05-02T15:46:07Z aeth: Of course, most of these loan words just serve as quiz/test/etc. questions to high schoolers and were never used except a few times in the 19th century. :-p 2017-05-02T15:47:16Z TMA: wait! uxoricide is not used? blimey... 2017-05-02T15:48:01Z velo-alien quit (Quit: Leaving) 2017-05-02T15:49:05Z shrdlu68 quit (Ping timeout: 240 seconds) 2017-05-02T15:49:23Z bigos quit (Ping timeout: 276 seconds) 2017-05-02T15:49:24Z aeth: I'm not sure how bad it is in other countries, but in the US it's pretty bad, all of these "vocabulary" words that literally no one uses in English classes. My mom found my papers from 12th grade the other day, and one of the "vocabulary words" was literally just a French phrase. 2017-05-02T15:49:40Z aeth: Like déjà vu, but one no one has ever heard of or used. Too bad I already forgot (again) what it was. 2017-05-02T15:50:08Z Bike: you had to do vocabulary in high school? 2017-05-02T15:50:09Z gacepa quit (Quit: Connection closed for inactivity) 2017-05-02T15:50:25Z Fare quit (Ping timeout: 268 seconds) 2017-05-02T15:50:26Z aeth: Yes! Every year until the last! 2017-05-02T15:50:40Z Bike: your school sucked 2017-05-02T15:50:54Z aeth: Yes! 2017-05-02T15:51:10Z spos: We stopped doing vocabulary at some point in elementary school 2017-05-02T15:51:22Z aeth: But *everyone* has to do vocabulary on the SAT, don't they? And that's... 11th grade? 2017-05-02T15:51:28Z aeth: Or did they fix that, too? 2017-05-02T15:51:37Z foom: I had a vocabulary list that I had to learn for the SAT, and it was SUPER useful. 2017-05-02T15:51:43Z TMA: we did too. but English is second language here 2017-05-02T15:51:55Z foom: It improved my day-to-day usable vocabulary immensely. 2017-05-02T15:52:58Z Bike: SAT was so boring i don't remember a single thing about it, but my english classes were more about criticism 2017-05-02T15:53:21Z TMA: the thing that helped me most was to start reading books 2017-05-02T15:53:35Z aeth: I think if they're looking for obscure words to teach as vocabulary words, they should use functional programming terms. Function. Monad. Monoid. Functor. Monomorphism. Etc. 2017-05-02T15:54:01Z p_l: ehh, I only had to sit SAT Math and Physics :) 2017-05-02T15:54:15Z p_l: unfortunately I forgot to learn the vocab for geometry, so my result in math was... bad 2017-05-02T15:54:38Z aeth: Actually, "monomorphism" looks like the kind of word I had to know in high school. 2017-05-02T15:54:57Z p_l: (still, maybe it was good for me, not leaving my parents or myself with >150k USD in debt) 2017-05-02T15:58:03Z _death: btw this is also why CL:SUBSTITUTE has that order of parameters.. substitute new for old in sequence 2017-05-02T15:58:03Z varjag: monomorphism is banana of maths 2017-05-02T15:58:21Z TMA: every field of endeavor has its own peculiar vocabulary (term like haberdashery, weft, distaff, ...) 2017-05-02T15:59:02Z p_l: USA universities are horribly expensive 2017-05-02T16:01:10Z shrdlu68 joined #lisp 2017-05-02T16:01:28Z burtons_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-02T16:02:00Z p9s quit (Remote host closed the connection) 2017-05-02T16:02:35Z p9s joined #lisp 2017-05-02T16:02:47Z p9s quit (Read error: Connection reset by peer) 2017-05-02T16:03:15Z p9s joined #lisp 2017-05-02T16:03:30Z doby162 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-05-02T16:03:38Z sorressean joined #lisp 2017-05-02T16:03:50Z p9s quit (Remote host closed the connection) 2017-05-02T16:04:09Z sorressean: I just wrote a lisp file (learning to write binary trees), etc. Is there a way to include that file from another file? Not sure how this usually works. 2017-05-02T16:04:31Z seg_ quit (Ping timeout: 246 seconds) 2017-05-02T16:04:59Z kobain quit (Ping timeout: 276 seconds) 2017-05-02T16:06:23Z ebrasca: sorressean: maybe with " with-open-file " 2017-05-02T16:06:32Z p9s_ joined #lisp 2017-05-02T16:06:43Z p9s_ quit (Remote host closed the connection) 2017-05-02T16:06:47Z sorressean: ebrasca: is that how it's usually done? 2017-05-02T16:06:56Z Xach: sorressean: if you have a project that is organized into multiple files, it's normal to define a "system" that can be loaded as a unit. 2017-05-02T16:07:00Z _death: sorressean: no, usually you'd write a system definition 2017-05-02T16:07:06Z sorressean: ebrasca: like if I have different modules (if that's what they're called) do you just bring them in like that? 2017-05-02T16:07:21Z Xach: ebrasca's musing is off-track. 2017-05-02T16:07:25Z p9s joined #lisp 2017-05-02T16:07:27Z sorressean: awesome, I'll look for examples on google. thanks, just wasn't sure what the terminology was 2017-05-02T16:07:45Z sellout- joined #lisp 2017-05-02T16:08:25Z Xach: i wrote http://xach.livejournal.com/278047.html a long time ago about it. 2017-05-02T16:08:31Z Xach: i think there may be newer, better things 2017-05-02T16:08:46Z ebrasca: Xach: Access Denied 2017-05-02T16:08:59Z shrdlu68: sorressean: If it's simple project, it's enough to just use "load". i.e (load "~/my/file.lisp") 2017-05-02T16:09:27Z sorressean: also it's livejournal :o 2017-05-02T16:09:36Z sorressean: shrdlu68: sweet, thanks 2017-05-02T16:09:41Z shrdlu68: sorressean: This works well enough if it's a small project that you won't be distributing. 2017-05-02T16:09:46Z Reinisch: sorressean: Here's some evolving documentation on what "packages" and "systems" are in lisp http://lispmethods.com/libraries.html 2017-05-02T16:09:49Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-05-02T16:10:13Z seg joined #lisp 2017-05-02T16:10:19Z Reinisch: that might help with terminology/definitions 2017-05-02T16:10:34Z sorressean: thanks all for the info, appreciate it. :) 2017-05-02T16:11:46Z ebrasca: sorressean: are you mean write/read data to file? 2017-05-02T16:12:51Z shrdlu68: ebrasca: I think he/she/it means loading code from different file(s). 2017-05-02T16:12:52Z sorressean: ur, one final question. I want to publish this code as I work through it so others can learn. Is there a good styler for lisp? I'm blind so I dont' really care about formatting, but I'd like to make it easy on the eyeballs of others reading. 2017-05-02T16:13:10Z pipping: Xach: Hi. I'm wondering. It seems you haven't touched buildapp since late '15. There's a few open bugs and pull requests, that you haven't commented on. Are you just too busy in general, is buildapp not a priority anymore, or is xach/buildapp on github not where I should be looking? 2017-05-02T16:13:26Z ebrasca: sorressean: github ? 2017-05-02T16:13:51Z sorressean: ebrasca: github doesn't do auto styling? 2017-05-02T16:14:39Z ebrasca: sorressean: https://github.com/ebrasca/l-system/blob/master/src/l-system.lisp 2017-05-02T16:14:56Z shrdlu68: sorressean: You can paste at paste.lisp.org 2017-05-02T16:15:31Z sorressean: shrdlu68: I'm looking for something like um for example astyle for c++ 2017-05-02T16:15:35Z MONODA joined #lisp 2017-05-02T16:15:47Z MONODA: good morning everyone! 2017-05-02T16:16:15Z shrdlu68: MONODA: Good evening. 2017-05-02T16:16:26Z Bike: usually if you write stuff in emacs it will handle tabulation and all for you, though it won't touch things like putting closing parentheses on new lines 2017-05-02T16:16:41Z Xach: pipping: I have started a substantial rewrite that I think will substantially improve portability. I have put other changes on hold until it is complete. But I have not had much time to work on it in a while. 2017-05-02T16:16:55Z maarhart_ joined #lisp 2017-05-02T16:16:56Z Xach: pipping: I have been pretty unhappy with the ccl support as time goes on. 2017-05-02T16:16:57Z aeth: p_l: Math vocabulary only gets harder. At some level, you have to stop using words in your definitions. 2017-05-02T16:17:25Z p_l: aeth: yeah, but it was SAT - nothing special, just some triangles et al 2017-05-02T16:17:59Z ogamita quit (Ping timeout: 276 seconds) 2017-05-02T16:18:24Z p_l: oh well, I will never know if it was what made me fail the MIT entrance qualifications (it could just as well be my total lack of understanding of what they wanted with "percentile" on the forms...) 2017-05-02T16:19:44Z aeth: People have asked me before why I didn't go to MIT, lol. Apparently I "act" in that sort of MIT style. 2017-05-02T16:19:45Z shrdlu68: sorressean: Most people who work with Lisp use emacs. It handles auto-indentation and syntax highlighting. If you want to publish the code online privately, there exist css/javascript syntax highlighters for lisp. 2017-05-02T16:19:53Z _death: sorressean: in Emacs, C-x h C-M-\ will indent the whole buffer.. you could also use emacs in batch mode to indent code in files 2017-05-02T16:19:55Z aeth: It was a lot less close for me. I didn't have a good high school. 2017-05-02T16:20:12Z aeth: The only reason I'm using Linux and programming is because I didn't have a good high school experience. I mostly escaped to computers. 2017-05-02T16:20:20Z shrdlu68: sorressean: Google "lisp code syntax highlighter css" 2017-05-02T16:20:27Z pipping: p_l: I'm not sure I agree. Research-level math doesn't have to look like a garden of quantifiers and sets. 2017-05-02T16:20:48Z vaporatorius quit (Remote host closed the connection) 2017-05-02T16:20:53Z shrdlu68: sorressean: This is one: https://github.com/orthecreedence/highlight-lisp 2017-05-02T16:21:05Z aeth: pipping: But it should 2017-05-02T16:21:23Z p_l: aeth: I was once asked if I went to MIT in 1990s... I was born in 1980s -_- 2017-05-02T16:21:29Z sorressean: shrdlu68: thanks :) 2017-05-02T16:22:46Z shrdlu68: sorressean: You're welcome. 2017-05-02T16:23:01Z defaultxr joined #lisp 2017-05-02T16:23:28Z maarhart_ quit (Ping timeout: 255 seconds) 2017-05-02T16:24:50Z pipping: aeth: I don't think so. Or maybe we're misunderstanding each other. To me, one of the primary abilities one needs to acquire over the course of the first few semesters is to translate seemlessly back and forth between an oral description (like the sequence (x_n) is weakly continuous), a formal definition, (in some cases) an intuition, and (in some cases) an illustration 2017-05-02T16:25:02Z pipping: aeth: where the formal definition is really rather something that you need to be able to unroll further and further if prompted 2017-05-02T16:26:16Z pipping: (that's what happens when you switch between the examples "weakly convergent" and "equicontinuous": you get weakly continuous. which doesn't make sense for sequences, really, gah) 2017-05-02T16:28:53Z shka joined #lisp 2017-05-02T16:29:28Z phoe: whew 2017-05-02T16:29:32Z phoe: just debugged a scary bug 2017-05-02T16:29:43Z phoe: that happened because I used MAPCAN instead of MAPPEND 2017-05-02T16:31:02Z otjura joined #lisp 2017-05-02T16:33:15Z otjura: assure me I'm absolutely correct on this one: all macros, functions, variables, special forms, types, and loop clauses are all symbols 2017-05-02T16:35:27Z shrdlu68: otjura: Not sure what you mean. 2017-05-02T16:35:38Z Bike: those things are all named by symbols. 2017-05-02T16:35:46Z phoe: ^ 2017-05-02T16:35:54Z otjura: shrdlu68: that they are all collectively known as symbols, yes? 2017-05-02T16:36:01Z phoe: they? no 2017-05-02T16:36:03Z shrdlu68: otjura: No. 2017-05-02T16:36:06Z phoe: their names are symbols, with a few exceptions 2017-05-02T16:36:11Z l04m33 quit (Ping timeout: 276 seconds) 2017-05-02T16:36:17Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2017-05-02T16:36:18Z Bike: you know how it is. the song's name is called haddocks' eyes 2017-05-02T16:36:20Z phoe: like function can be named by a list (SETF FOO) where FOO is a symbol 2017-05-02T16:36:25Z shrdlu68: otjura: They are all objects of different kinds. 2017-05-02T16:36:40Z phoe: and type specifiers can be lists, too. 2017-05-02T16:37:05Z d4ryus joined #lisp 2017-05-02T16:37:57Z shrdlu68: otjura: The concept of a symbol is somewhat complex in Common Lisp. 2017-05-02T16:38:47Z vap1 joined #lisp 2017-05-02T16:38:47Z vaporatorius joined #lisp 2017-05-02T16:39:48Z otjura: I've been under impression that everything is a symbol, including sexps 2017-05-02T16:40:06Z Bike: well, that's wrong. 2017-05-02T16:40:13Z Bike: simple. 2017-05-02T16:40:13Z otjura: s/everything/everything named 2017-05-02T16:40:27Z Bike: symbols are names. names are distinct from the things they name, generally. 2017-05-02T16:40:38Z Bike: "horse" is not a horse. 2017-05-02T16:43:08Z phoe: I have a list of alists. Inside each alist, there is a cell (:NAME . x), where x is some string. I want to get a fresh list of fresh alists, where each x is substituted for (fn x). 2017-05-02T16:43:37Z shrdlu68: otjura: A symbol is an object with "cells". The cells are of different kinds, there is a value cell and a function cell. 2017-05-02T16:43:57Z hhdave quit (Ping timeout: 240 seconds) 2017-05-02T16:44:41Z drmeister joined #lisp 2017-05-02T16:44:50Z Bike: (loop for alist in alists collect (loop for (key . value) in alist when (eq key :name) collect (cons key (fn value)) else collect (cons key value)))? 2017-05-02T16:44:51Z shrdlu68: otjura: These "cells" are "places" that hold contents. 2017-05-02T16:45:25Z phoe: Bike: ...goodness, LOOP is both amazing and terrible at the same time 2017-05-02T16:46:21Z pjb joined #lisp 2017-05-02T16:46:31Z Bike: (mapcar (lambda (alist) (mapcar (lambda (cons) (if (eq (car key) :name) (cons :name (fn (cdr key))) (cons (car cons) (cdr cons)))) alist)) alists) is basically the same 2017-05-02T16:53:28Z l04m33 joined #lisp 2017-05-02T16:53:50Z edgar-rft quit (Quit: edgar-rft) 2017-05-02T16:54:15Z phoe: ayup - thanks 2017-05-02T16:55:21Z araujo joined #lisp 2017-05-02T16:55:58Z araujo quit (Max SendQ exceeded) 2017-05-02T16:56:26Z araujo joined #lisp 2017-05-02T16:56:51Z Grue`` joined #lisp 2017-05-02T16:57:56Z l04m33 quit (Ping timeout: 240 seconds) 2017-05-02T16:58:01Z JuanDaugherty joined #lisp 2017-05-02T16:58:55Z l04m33 joined #lisp 2017-05-02T17:01:42Z bigos joined #lisp 2017-05-02T17:02:46Z micro_ joined #lisp 2017-05-02T17:03:09Z micro_ is now known as Guest51477 2017-05-02T17:04:04Z MONODA quit (Ping timeout: 260 seconds) 2017-05-02T17:04:19Z Guest51477 is now known as `micro 2017-05-02T17:05:20Z l04m33 quit (Ping timeout: 255 seconds) 2017-05-02T17:05:35Z m00natic quit (Remote host closed the connection) 2017-05-02T17:05:40Z gargaml quit (Ping timeout: 260 seconds) 2017-05-02T17:05:56Z l04m33 joined #lisp 2017-05-02T17:07:55Z srcerer_ is now known as srcerer 2017-05-02T17:08:32Z burtons joined #lisp 2017-05-02T17:13:50Z _death: phoe: this reminds me of a recent blog post with an idea that may be interesting to implement in CL.. http://nathanmarz.com/blog/clojures-missing-piece.html 2017-05-02T17:16:14Z user3 joined #lisp 2017-05-02T17:16:51Z milanj joined #lisp 2017-05-02T17:17:37Z user3: I'm trying to run this old LISP program. can someome tell me which version of lisp this is http://computing.dcu.ie/~humphrys/Eliza/mgonz.lsp.html 2017-05-02T17:18:38Z user3: It says it is "in LISP for VM/CMS" 2017-05-02T17:19:10Z user3: is there a lisp interpreter/compiler that can still run it 2017-05-02T17:19:21Z mazoe_ joined #lisp 2017-05-02T17:19:30Z _death: user3: yes.. it looks like an old dialect (there are plenty of those).. but from the looks of it, shouldn't be too hard to port into common lisp 2017-05-02T17:19:53Z user3: I tried common lisp and I got error messages for restore and putd 2017-05-02T17:21:08Z shrdlu68: user3: Because those are not standard common lisp operators/macros/functions. 2017-05-02T17:21:29Z user3: I've already programmed in lisp but that was 20 years ago 2017-05-02T17:21:36Z _death: user3: yep.. you'll already need to implement a pattern matcher.. if you're interested in ELIZA, perhaps you'll be interested in a book called Paradigms of AI Programming.. it develops an ELIZA-like program in Common Lisp 2017-05-02T17:21:37Z user3: i've forgotten most of it 2017-05-02T17:22:01Z user3: that program is esp good 2017-05-02T17:22:11Z user3: even if old 2017-05-02T17:23:04Z mazoe_: does anyone have any experience + advice to offer about deploying CL web applications? 2017-05-02T17:23:05Z dlowe: That's most of lisp :D 2017-05-02T17:24:19Z mazoe_: (specifically the packaging and server setup side of things :D) 2017-05-02T17:24:33Z shrdlu68: user3: It looks like putd does what symbol-value and symbol-function do in Common Lisp. 2017-05-02T17:24:59Z dlowe: mazoe_: Ignore fastcgi - use a reverse proxy and a lisp web server like hunchentoot to serve requests 2017-05-02T17:25:22Z dlowe: mazoe_: if you want to go the relational db route, postmodern is an excellent interface to postgresql 2017-05-02T17:25:24Z shrdlu68: user3: Hold on, this looks fun, let me try to port it to Common Lisp. 2017-05-02T17:25:31Z Bike: it looks like this should basically run in CL. you could define restore as a no-op, and (defun putd (name type lexp) (declare (ignore type)) (setf fdefinition name (coerce lexp 'function))) 2017-05-02T17:25:33Z user3: :) 2017-05-02T17:25:39Z mazoe_: dlowe: ok, thanks 2017-05-02T17:26:12Z mazoe_: dlowe: I’m using clack, although I’m not convinced of the benefits yet… 2017-05-02T17:26:30Z dlowe: mazoe_: it's been a while since I actually put something up, so some things might be out of date :) 2017-05-02T17:26:30Z _death: Bike: I also spotted a MATCH operator 2017-05-02T17:26:36Z Bike: that's defined 2017-05-02T17:26:38Z mazoe_: however the bigger questions I have are about how to do deployment (packaging the application and making it live) 2017-05-02T17:26:54Z mazoe_: dlowe: fair enough, thanks anyway :) 2017-05-02T17:27:00Z Bike: i was worried by that too though 2017-05-02T17:27:13Z dlowe: mazoe_: depends on what your contraints are. 2017-05-02T17:27:16Z _death: Bike: ah, now I see 2017-05-02T17:27:50Z Bike: googling "VM/CMS lisp putd" turns up nothing relevant but this page 2017-05-02T17:27:52Z dlowe: mazoe_: if you don't care about a few seconds of downtime, just turning it off and on again will be fine, especially if you configure your reverse proxy to wait 2017-05-02T17:28:10Z dlowe: *constraints 2017-05-02T17:28:16Z Bike: seems like it's probably pretty obscure. putd is the kind of thing i'd expect from a hasty port or a quick project, too 2017-05-02T17:28:19Z pilne joined #lisp 2017-05-02T17:28:56Z mazoe_: dlowe: very true 2017-05-02T17:28:58Z dlowe: mazoe_: if you want better than that, you can start up another image and ping your proxy to transfer the load over 2017-05-02T17:29:13Z dlowe: 10% at first, then ramping up to 100% 2017-05-02T17:29:26Z dlowe: this assumes it's designed to survive such a thing 2017-05-02T17:29:55Z dlowe: in the large, you can start working with containers and docker 2017-05-02T17:30:02Z mazoe_: dlowe: yep, nice advice. This is great (devops not my day job…) 2017-05-02T17:30:10Z dlowe: but that's outside of my expertise 2017-05-02T17:30:43Z mazoe_: dlowe: fair enough. At this point I don’t think I care enough about having slightly different dev / deployment setups, there isn’t enough going on to cause I problem 2017-05-02T17:30:46Z MoALTz quit (Quit: Leaving) 2017-05-02T17:30:50Z mazoe_: but maybe that’s my inexperience showing 2017-05-02T17:32:14Z dlowe: mazoe_: look, just get it working, and if you get popular enough to have performance problems, you'll be able to rewrite it anyway 2017-05-02T17:32:16Z beach: phoe: s/where each x is substituted for (fn x)/where each x is replaced by (fn x)/ 2017-05-02T17:32:23Z mazoe_: dlowe: absolutely :D 2017-05-02T17:32:40Z mazoe_: dlowe: thanks 2017-05-02T17:33:19Z gingerale quit (Remote host closed the connection) 2017-05-02T17:34:05Z MrBusiness joined #lisp 2017-05-02T17:35:46Z _death: looks like it's Lisp/370 2017-05-02T17:36:18Z user3: _death: is that for me? 2017-05-02T17:36:58Z phoe: beach: hahahahah, correct. 2017-05-02T17:37:01Z phoe: I'll learn, eventualy. 2017-05-02T17:37:22Z _death: user3: yeah 2017-05-02T17:37:57Z user3: it looks quite old then, like IBM370... 2017-05-02T17:38:12Z user3: it's a program of the 1980s I think 2017-05-02T17:38:23Z Karl_Dscc joined #lisp 2017-05-02T17:38:25Z _death: http://www.softwarepreservation.org/projects/LISP/ibm/SH20_2076_0-LISP_370_Program_Description-1978.pdf 2017-05-02T17:38:56Z shrdlu68: This is fun. Pretty weird way to define functions. 2017-05-02T17:39:27Z user3: ... 2017-05-02T17:39:36Z shrdlu68: (putd 'random2 'expr '(lambda (n)... instead of (defun random2 (n)... 2017-05-02T17:40:01Z gingerale joined #lisp 2017-05-02T17:40:20Z _death: it has a SUPERMAN function.. "This function is actually a continuation of the initialization performed by HIGHLORD." 2017-05-02T17:40:53Z shrdlu68: Haha 2017-05-02T17:41:12Z shrdlu68: And using progn with setq instead of let* 2017-05-02T17:41:58Z jack_rabbit joined #lisp 2017-05-02T17:42:30Z _death: old Lisp had PUT, which in Common Lisp is expressed as (setf (get ...) ...) .. likely similar function 2017-05-02T17:42:48Z _death: or PUTPROP 2017-05-02T17:43:18Z shrdlu68: (setf (symbol-function ... 2017-05-02T17:43:37Z _death: shrdlu68: this is if the property is EXPR 2017-05-02T17:44:17Z shrdlu68: Yes. 2017-05-02T17:44:44Z shrdlu68: Haha, so retro. 2017-05-02T17:46:13Z _death: it even had obarrays :) 2017-05-02T17:47:24Z _death: and defined LAP language 2017-05-02T17:50:21Z zaquest quit (Quit: Leaving) 2017-05-02T17:52:00Z akkad joined #lisp 2017-05-02T17:52:04Z dmiles quit (Read error: Connection reset by peer) 2017-05-02T17:52:26Z logicmoo joined #lisp 2017-05-02T17:55:39Z zaquest joined #lisp 2017-05-02T18:00:44Z brendyn quit (Ping timeout: 260 seconds) 2017-05-02T18:14:57Z Ukari joined #lisp 2017-05-02T18:15:30Z modula joined #lisp 2017-05-02T18:16:34Z defaultxr quit (Ping timeout: 264 seconds) 2017-05-02T18:16:34Z modula is now known as defaultxr 2017-05-02T18:17:24Z strykerkkd joined #lisp 2017-05-02T18:23:22Z Bock quit (Read error: Connection reset by peer) 2017-05-02T18:28:39Z mazoe_ quit (Quit: mazoe_) 2017-05-02T18:29:05Z mazoe_ joined #lisp 2017-05-02T18:29:25Z mazoe_ quit (Client Quit) 2017-05-02T18:29:51Z mazoe_ joined #lisp 2017-05-02T18:30:12Z mazoe_ quit (Client Quit) 2017-05-02T18:30:19Z EvW joined #lisp 2017-05-02T18:30:33Z mazoe_ joined #lisp 2017-05-02T18:31:01Z mazoe_ quit (Client Quit) 2017-05-02T18:31:20Z mazoe_ joined #lisp 2017-05-02T18:31:48Z mazoe_ quit (Client Quit) 2017-05-02T18:32:09Z mazoe_ joined #lisp 2017-05-02T18:32:37Z mazoe_ quit (Client Quit) 2017-05-02T18:38:56Z otjura quit (Quit: Konversation terminated!) 2017-05-02T18:41:02Z varjag joined #lisp 2017-05-02T18:41:29Z MrWoohoo quit (Ping timeout: 260 seconds) 2017-05-02T18:43:08Z SlashLife quit (Ping timeout: 240 seconds) 2017-05-02T18:52:18Z SlashLife joined #lisp 2017-05-02T18:52:50Z hazz quit (Quit: Leaving) 2017-05-02T19:00:08Z warweasle joined #lisp 2017-05-02T19:01:58Z eschatologist quit (Excess Flood) 2017-05-02T19:02:08Z eschatologist joined #lisp 2017-05-02T19:19:40Z scymtym quit (Ping timeout: 258 seconds) 2017-05-02T19:36:01Z rumbler31 joined #lisp 2017-05-02T19:37:48Z moei quit (Quit: Leaving...) 2017-05-02T19:38:29Z Ven joined #lisp 2017-05-02T19:38:52Z Ven is now known as Guest85489 2017-05-02T19:39:27Z thebored quit (Ping timeout: 240 seconds) 2017-05-02T19:40:15Z kobain joined #lisp 2017-05-02T19:40:22Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-02T19:43:36Z sellout-1 joined #lisp 2017-05-02T19:45:58Z sellout- quit (Ping timeout: 264 seconds) 2017-05-02T19:47:40Z sellout- joined #lisp 2017-05-02T19:48:08Z sellout-1 quit (Ping timeout: 255 seconds) 2017-05-02T19:49:02Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2017-05-02T19:56:57Z PSEUDO_SUE joined #lisp 2017-05-02T20:05:04Z vap1 quit (Quit: Leaving) 2017-05-02T20:05:07Z PSEUDO_SUE: hey, I've got a really basic question about macro writing, if anyone has a moment: suppose I want to write a macro that composes function definitions using a template, using information referenced by a variable. how do i 'unpack' that information in the macro's definition, as opposed to just using the variable's symbol? 2017-05-02T20:05:39Z PSEUDO_SUE: pared down example (which doesn't work): (defmacro somemacro (a-struct-or-something) 2017-05-02T20:05:54Z PSEUDO_SUE: (let ((sym (something-sym a-struct-or-something))) 2017-05-02T20:06:03Z PSEUDO_SUE: `(defun ,sym () (print 'hello-world)))) 2017-05-02T20:06:36Z PSEUDO_SUE: something like that is what i have in mind, but, you know, done properly, so that something-sym takes the struct itself as a parameter, and not just the symbol naming the struct. 2017-05-02T20:06:44Z scymtym joined #lisp 2017-05-02T20:07:28Z shrdlu68: PSEUDO_SUE: Paste what you have so far on paste.lisp.org 2017-05-02T20:07:37Z PSEUDO_SUE: sure. 2017-05-02T20:09:33Z PSEUDO_SUE: http://paste.lisp.org/display/345684 2017-05-02T20:09:35Z PSEUDO_SUE: thanks 2017-05-02T20:10:23Z shrdlu68: user3: I've made it into Common Lisp, but it's not complete. Some variables are undefined so it won't run. http://paste.lisp.org/+7EQB 2017-05-02T20:10:27Z edgar-rft joined #lisp 2017-05-02T20:11:59Z dlowe: PSEUDO_SUE: I think that you don't actually want a macro for that. 2017-05-02T20:12:21Z dlowe: if the variable is available at compile time, what you want is possible, but it sounds like maybe you want run-time compilation 2017-05-02T20:12:27Z dlowe: and you don't need a macro for that. 2017-05-02T20:13:20Z user3: shrdlu68: thank you very much! 2017-05-02T20:13:54Z phoe: (compile nil (lambda () ...)) 2017-05-02T20:14:04Z phoe: (compile nil (lambda (...) ...)) actually 2017-05-02T20:14:28Z PSEUDO_SUE: how'd you suggest tackling it? the trick seems to be in passing a list of symbols to cffi:with-foreign-slots at compile time (or read time?); the symbols are mangled internally by the with-foreign-slots macro, iirc, so i can't just pass the list of symbols directly. 2017-05-02T20:15:09Z dlowe: PSEUDO_SUE: well, if you know the list of symbols at compile time, you can pass them as arguments to the macro 2017-05-02T20:15:12Z PSEUDO_SUE: the information i need to build these funcs is already going to be known at compile time. it's just a matter of getting a bit of code reuse 2017-05-02T20:15:48Z PSEUDO_SUE: dlowe: that's sort of what i'm trying to do -- the list of symbols i need to build the func are all inside the layout struct. 2017-05-02T20:15:59Z PSEUDO_SUE is reading over shrdlu68's paste now 2017-05-02T20:16:24Z dlowe: (eval-when (:compile-toplevel etc) (defvar *sym-lookup* '(a b c)) ...) 2017-05-02T20:16:31Z PSEUDO_SUE: nice 2017-05-02T20:16:36Z PSEUDO_SUE: yeah, that looks about right. 2017-05-02T20:16:53Z PSEUDO_SUE: basic intuition here is that there should be some generalized form of ,@ 2017-05-02T20:17:03Z PSEUDO_SUE: like, an ,@ for arbitrary data structures and unpacking operations 2017-05-02T20:17:11Z dlowe: ,@(unpack-my-data-structure) 2017-05-02T20:17:12Z PSEUDO_SUE: if that makes sense 2017-05-02T20:17:15Z dlowe: which returns a list :) 2017-05-02T20:17:25Z PSEUDO_SUE: bingo 2017-05-02T20:17:27Z dlowe: you can call ordinary functions in macros 2017-05-02T20:17:46Z dlowe: it's very common to have functions that generate code and then have a macro call the function 2017-05-02T20:17:53Z dlowe: just because it's so much easier to debug 2017-05-02T20:18:12Z gingerale quit (Remote host closed the connection) 2017-05-02T20:18:13Z phoe: ^ 2017-05-02T20:18:31Z PSEUDO_SUE: ok, so, it's a matter of allowing the unpacking operation to reach the data structure named "layout", and not the symbol |layout|. but i think the eval-when suggestion covers that base, if i understand it 2017-05-02T20:18:33Z dlowe: you have to wrap the definitions in eval-when, though, or they won't be available for the macro to use 2017-05-02T20:18:36Z Draz joined #lisp 2017-05-02T20:18:41Z phoe: only make sure to wrap the functions that you call inside macros in (eval-when (:compile-toplevel :load-toplevel :execute) ...) 2017-05-02T20:18:52Z Marumarsu joined #lisp 2017-05-02T20:18:54Z phoe: or load them in a file before 2017-05-02T20:18:58Z PSEUDO_SUE: that's awesome. the eval-when is just what i'm looking for. 2017-05-02T20:19:33Z user3 quit (Quit: ChatZilla 0.9.93 [Firefox 53.0/20170420084331]) 2017-05-02T20:19:46Z PSEUDO_SUE: i was just thinking: eval comes too late, #. comes too soon. 2017-05-02T20:19:52Z PSEUDO_SUE: so, yeah 2017-05-02T20:19:53Z PSEUDO_SUE: thanks 2017-05-02T20:21:28Z phoe: #. is read-time, in theory it might save you 2017-05-02T20:21:36Z phoe: but in practice - it's for other uses 2017-05-02T20:22:41Z dlowe: Like making READ unsafe 2017-05-02T20:22:46Z White_Flame: if you're using #. often, best to step back and consider if you should put things into a prior-loaded file 2017-05-02T20:23:43Z PSEUDO_SUE: I've mostly just found #. handy for things like putting expressions in place of literal integers or symbols in a defcenum, etc. 2017-05-02T20:24:15Z neoncontrails quit (Read error: Connection reset by peer) 2017-05-02T20:24:18Z PSEUDO_SUE: (defcenum thing (someflag #.(ash 1 8))), that sort of thing 2017-05-02T20:24:23Z pipping: Xach: I see. Thanks for the reply. 2017-05-02T20:24:23Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-05-02T20:25:01Z neoncontrails joined #lisp 2017-05-02T20:25:54Z prxq joined #lisp 2017-05-02T20:27:09Z Uneliasmarsu joined #lisp 2017-05-02T20:27:43Z vlatkoB_ quit (Remote host closed the connection) 2017-05-02T20:29:05Z Marumarsu quit (Ping timeout: 255 seconds) 2017-05-02T20:33:26Z Uneliasmarsu quit (Ping timeout: 276 seconds) 2017-05-02T20:36:13Z PSEUDO_SUE: w00t, it works! 2017-05-02T20:39:32Z PSEUDO_SUE: here's the (working, i think) version, and one of the functions it's built: http://paste.lisp.org/display/345686 2017-05-02T20:42:28Z PSEUDO_SUE: (still a little broken, but not in any essential way.) 2017-05-02T20:43:07Z MoALTz joined #lisp 2017-05-02T20:48:49Z akkad gives up on trying to get manardb speed on lmdb 2017-05-02T20:49:36Z lerax__ quit (Quit: Leaving) 2017-05-02T20:53:10Z Guest85489 quit (Ping timeout: 264 seconds) 2017-05-02T20:54:01Z Ven joined #lisp 2017-05-02T20:54:14Z Bike: that eval-when won't do anything, of course 2017-05-02T20:54:24Z Ven is now known as Guest35405 2017-05-02T20:57:53Z PSEUDO_SUE: Bike: there's a non-neglible chance that the eval-when is there for purely cargo-cultish reasons. i'll see if i can sacrifice it. 2017-05-02T20:59:12Z Draz quit (Quit: Leaving) 2017-05-02T20:59:13Z PSEUDO_SUE: yup, seems redundant after all. thanks for catching that 2017-05-02T20:59:22Z Bike: dlowe and phoe were saying to use eval-when for the definitions. in this case, something like (eval-when ... (defvar *my-layout* ...)) (make-header-writer foo *my-layout*) 2017-05-02T20:59:45Z PSEUDO_SUE: ah 2017-05-02T20:59:49Z Bike: eval-when is just a marker for the file compiler to do something special there, but the file compiler only looks at top level forms, and this is obviously pretty nested 2017-05-02T21:00:05Z PSEUDO_SUE: gotcha. thanks. 2017-05-02T21:02:54Z hvxgr quit (Quit: leaving) 2017-05-02T21:03:11Z pve quit (Ping timeout: 245 seconds) 2017-05-02T21:06:42Z jasom: of course defvar *also* loses much of its utility when not a toplevel form. 2017-05-02T21:07:20Z hvxgr joined #lisp 2017-05-02T21:08:25Z attila_lendvai joined #lisp 2017-05-02T21:08:25Z attila_lendvai quit (Changing host) 2017-05-02T21:08:25Z attila_lendvai joined #lisp 2017-05-02T21:08:52Z xaotuk joined #lisp 2017-05-02T21:15:40Z shrdlu68: p_l: Do you contribute to Openssl? 2017-05-02T21:16:39Z phoe: Does Common Lisp have a portable LZMA library? 2017-05-02T21:16:46Z nirved quit (Quit: Leaving) 2017-05-02T21:17:39Z shrdlu68: p_l: This is almost unbelievable. How is the code even auditable? 2017-05-02T21:18:52Z strykerkkd quit (Quit: Leaving) 2017-05-02T21:19:36Z p_l: shrdlu68: (un)fortunately I'm not contributor to openssl 2017-05-02T21:19:41Z p_l: but I did look through some of it 2017-05-02T21:21:06Z shrdlu68 is thinking CL should step in as a replacement for C in security-critical software. 2017-05-02T21:21:23Z shrdlu68 It's prime time. 2017-05-02T21:23:04Z phoe is thinking ANYTHING THAT'S MEMORY SAFE should step in as a replacement for C in security-critical software. 2017-05-02T21:23:14Z phoe: And CL is a pretty damn good candidate.~ 2017-05-02T21:23:40Z shrdlu68: What's amazing about a protocol like TLS is that implementing it is almost like implementing an algorithm. 2017-05-02T21:23:57Z shrdlu68: The inputs are well-defined, the outputs as well, and the steps. 2017-05-02T21:24:29Z shrdlu68: And the spec is very explicit about potential pitfalls. 2017-05-02T21:25:30Z White_Flame: one large issue about crypto libraries is ensuring that multiple paths take the exact same processing time. That's why people like sticking to basic C or even asm for those sorts of assurances 2017-05-02T21:25:40Z shrdlu68: Anywhere where there is opportunity for a side-channel attacks, the spec points it out. As long as you follow the specs and use a memory-safe language, there's very little room for security vulnerabilities. 2017-05-02T21:25:41Z p_l: phoe: depends on how critical we are talking about. A lot of safety-critical software is not in C 2017-05-02T21:25:51Z White_Flame: however, one could assume that that would apply to inner loops but not necessarily stuff like the initial memory allocations and such 2017-05-02T21:25:53Z phoe: shrdlu68: so what's preventing you? You grab GCC and use it to compile the security library you've just finished wriSegmentation fault (core dumped) 2017-05-02T21:26:12Z p_l: White_Flame: allocations also count 2017-05-02T21:26:17Z White_Flame: true 2017-05-02T21:26:29Z Grue`: also in CL you can't tell it to not have a certain value in memory anymore, which can be bad for security 2017-05-02T21:26:46Z p_l: well, kinda doable 2017-05-02T21:26:55Z p_l: and then you have non-portable extensions 2017-05-02T21:27:08Z p_l: as pkhuong said, "Common Lisp - when C is too high level" 2017-05-02T21:27:09Z shrdlu68: Grue`: You overwrite the memory. 2017-05-02T21:27:18Z akkad: no way to invalidate a key 2017-05-02T21:27:20Z akkad: like java 2017-05-02T21:27:27Z oleo quit (Quit: irc client terminated!) 2017-05-02T21:27:43Z phoe: Grue`: you also do not have buffer under/overflows in CL when you use at least basic safety optimize setting 2017-05-02T21:27:52Z akkad: just gc stalls 2017-05-02T21:27:52Z shrdlu68: White_Flame: As long as a Common Lisp compiler follows compiler directives like (optimize 0), CL would have no problem with side-channel attacks. 2017-05-02T21:27:55Z phoe: akkad: what do you mean, invalidate a key? 2017-05-02T21:28:13Z p_l: akkad: non-consing code in without-interrupts block 2017-05-02T21:28:17Z akkad: overwrite the physical represenation in memory at a given address 2017-05-02T21:28:23Z akkad: representation 2017-05-02T21:28:33Z p_l: akkad: and yes, you can overwrite the buffers involved 2017-05-02T21:28:37Z phoe: akkad: uh, you can 2017-05-02T21:28:47Z p_l: allocate them as arrays, then overwrite them 2017-05-02T21:28:50Z phoe: as long as you have an array, you can SETF its AREFs 2017-05-02T21:28:52Z akkad: can you be sure you can gc it at a given time? 2017-05-02T21:28:54Z phoe: to something like 0 2017-05-02T21:28:58Z shrdlu68: Which is one of the things I have to research for cl-tls. I need to know how different implementations handle (optimize 0) 2017-05-02T21:29:00Z Guest35405 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-02T21:29:08Z akkad: so what is Grue` saying that is true? 2017-05-02T21:29:11Z aeth: CL is not especially object oriented in the Java sense. You don't need to idomatically create garbage-creating instances and then GC them. 2017-05-02T21:29:16Z Younder: Well sharing a HTML server among several clients could be unsafe if you could execute arbitrary code. Then you could read the heap others were using. 2017-05-02T21:29:19Z aeth: Allocate an array or a struct, etc., ahead of time. Afterwards, 0 it. 2017-05-02T21:29:42Z phoe: ^ 2017-05-02T21:30:12Z shrdlu68: Most of the time you work with octet vectors, for example in tls. So you just overwrite it. 2017-05-02T21:30:13Z ebrasca is now known as ebrasca-afk 2017-05-02T21:30:32Z aeth: I write decently low-level CL all the time. You basically just avoid CLOS in the low-level parts, and you pre-allocate everything. 2017-05-02T21:30:42Z aeth: And afterwards, if you needed to, sure, 0 it all out. 2017-05-02T21:30:53Z aeth: Then it'll be an array/struct/whatever of 0s, waiting to be GCed 2017-05-02T21:31:06Z akkad: is this something that is possible in scheme at all? 2017-05-02T21:31:09Z aeth: (Avoid CLOS *and* non-macro lists) 2017-05-02T21:31:17Z phoe: akkad: uh, are we talking about Scheme here? 2017-05-02T21:31:40Z nacci quit (Ping timeout: 260 seconds) 2017-05-02T21:31:43Z aeth: akkad: Scheme doesn't have structs, and its arrays aren't as rich as CL's, so it's harder. 2017-05-02T21:32:00Z phoe: I'm sure that some Scheme implementations have mutable arrays, and if they have them, then one can 1) create it, 2) use it, 3) overwrite it with 0s afterwards, 4) drop all references to it so it can be collected. 2017-05-02T21:32:02Z aeth: Especially if you're e.g. just writing for SBCL and CCL, you can make some assumptions about the nature of arrays and structs. 2017-05-02T21:32:07Z Guest82550 is now known as xristos 2017-05-02T21:32:08Z aeth: (afaik) 2017-05-02T21:32:16Z xristos quit (Changing host) 2017-05-02T21:32:16Z xristos joined #lisp 2017-05-02T21:32:43Z shrdlu68: My experience so far while working on cl-tls is that placing unwarranted trust on (large) projects like Openssl is unwise. 2017-05-02T21:33:54Z aeth: phoe: Scheme has vectors, at least in r7rs, but it doesn't have the richness of most modern CLs (afaik, only clisp is missing some really key array types like for floats). 2017-05-02T21:34:26Z pipping: phoe: what do you mean by an LZMA library? something that can compress streams? something that can read/write .lzma, .xz, or .lz files? 2017-05-02T21:34:40Z spos: phoe: Scheme has had mutable arrays since at least R3RS 2017-05-02T21:35:19Z Younder: You don't get safety by assuming things a bullet-proof. You do it by limiting the damage they can cause. Like using separate virtual machines for safe and unsafe activities. 2017-05-02T21:35:44Z aeth: Younder: you do get a lot of safety for free just by using a GCed language, though 2017-05-02T21:35:54Z aeth: GC does have its drawbacks, but that's a huge advantage. 2017-05-02T21:35:54Z shrdlu68: ^ 2017-05-02T21:36:06Z Younder: aetch how so? 2017-05-02T21:36:26Z shrdlu68: The dizzying complexity of specs like x509 plus manual memory management is just a recipe for trouble. 2017-05-02T21:36:58Z aeth: You take away a lot of memory related bugs. Bounds checking will take away more, but for the most part, good luck guessing what something out of bounds is doing in a GCed language, especially one with multiple implementations with potentially very different GCs. 2017-05-02T21:37:21Z prole quit (Remote host closed the connection) 2017-05-02T21:37:23Z shrdlu68: Younder: Go through the Openssl security advisories. A considerable number of them have to do with manual memory management issues. 2017-05-02T21:37:51Z foom: Younder: what makes you think virtual machines are are suitable safety boundary? 2017-05-02T21:37:58Z aeth: With a GC you move the burden of memory from the application/library developers (literally all programmers using the language) to the GC developers who hopefully know what they're doing 2017-05-02T21:38:20Z Younder: shrdlu68, Yes because they implemented their own. Hence that heart-bleed bug I assume you are referring to. 2017-05-02T21:39:04Z aeth: GC isn't the only solution, btw. 2017-05-02T21:39:19Z Younder: Of course if you implemented your own memory management in Lisp you would get the same problems.. 2017-05-02T21:39:27Z shrdlu68: Younder: Not just heartbleed. A significant number of openssl bugs are malloc/free/memcpy related. 2017-05-02T21:39:48Z shrdlu68: There are only a handful that have anything to do with crypto. 2017-05-02T21:39:54Z aeth: Younder: Lisp has the with-foo idiom, which should avoid some memory issues afaik. 2017-05-02T21:40:26Z Karl_Dscc quit (Remote host closed the connection) 2017-05-02T21:40:30Z Younder: shrdlu68, I mean the implemented their own memory management so the problem wasn't in the C libs. (if I remember correctly.) 2017-05-02T21:40:38Z foom: Declaring values as dynamic-extent is a good way to shoot yourself in the foot in CL, if you want to. :) 2017-05-02T21:41:00Z phoe: pipping: yes, a library that implements LZMA (de)compression. 2017-05-02T21:41:11Z aeth: foom: Depends on the implementation. 2017-05-02T21:41:26Z aeth: SBCL checks and warns. 2017-05-02T21:41:34Z nacci joined #lisp 2017-05-02T21:41:35Z aeth: (On the other hand, the check can create infinite compile times!) 2017-05-02T21:41:41Z foom: aeth: ?? 2017-05-02T21:41:57Z shrdlu68: Younder: I think it's more than that. GnuTLS has an even worse record, and I don;t think they implement their own memeory management. 2017-05-02T21:42:06Z aeth: foom: SBCL checks and warns when it can't follow the dynamic-extent declaration 2017-05-02T21:42:29Z DeadTrickster: I think the thing with manual memory management is that you control when sensitive data is voided. Not when GC/lib finally decides to do it. Makes memory dumping less useful 2017-05-02T21:42:53Z shrdlu68: Does anyone know a write-up that addresses writing CL with security in mind? 2017-05-02T21:44:05Z oleo joined #lisp 2017-05-02T21:44:10Z foom: aeth: no it doesn't...what makes you think it does that? 2017-05-02T21:44:21Z aeth: foom: because I've gotten warnings before? 2017-05-02T21:44:36Z aeth: and infinite compiles before 2017-05-02T21:44:55Z foom: (defun foo () (let ((l (list 1 2 3))) (declare (dynamic-extent l)) l)) 2017-05-02T21:45:17Z foom: have fun corrupting your stack 2017-05-02T21:45:46Z shka quit (Ping timeout: 246 seconds) 2017-05-02T21:45:50Z shrdlu68: DeadTrickster: You overwrite it and then wait for the GC to get rid of it. 2017-05-02T21:47:15Z Younder: But deallocated element's aren't zeroed out and there is no protection from on thread reading the heap contents of another. 2017-05-02T21:47:29Z aeth: foom: It doesn't check for that, but it does seem to check for other things, with a warning that it cannot stack allocate 2017-05-02T21:47:37Z Bike: if dynamic extent declarations could always be checked there wouldn't be any point in having a declaration. 2017-05-02T21:48:25Z PSEUDO_SUE quit (Quit: leaving) 2017-05-02T21:49:05Z foom: aeth: those are warnings when it can't figure out HOW to do the stack allocation, not because it figured out it was unsafe. 2017-05-02T21:49:38Z xaotuk1 joined #lisp 2017-05-02T21:49:46Z sacculina joined #lisp 2017-05-02T21:51:38Z eschatologist quit (Excess Flood) 2017-05-02T21:51:47Z xaotuk quit (Ping timeout: 268 seconds) 2017-05-02T21:51:47Z xaotuk1 is now known as xaotuk 2017-05-02T21:52:17Z eschatologist joined #lisp 2017-05-02T21:52:43Z shrdlu68: This code is really bad. I'm gonna write me a rant. 2017-05-02T21:53:36Z neoncontrails quit (Remote host closed the connection) 2017-05-02T21:54:07Z shrdlu68: How do I trick people into contributing to cl-tls? 2017-05-02T21:55:12Z Bike: money 2017-05-02T21:55:42Z aeth: cartoon mascot? 2017-05-02T21:56:19Z Bike: drugs 2017-05-02T21:58:44Z shrdlu68: Cartoon mascot is a good idea. 2017-05-02T21:59:15Z shrdlu68: I have little money, and no access to drugs. 2017-05-02T22:00:05Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-02T22:00:18Z shrdlu68: How do I trick people into giving me money and drugs? 2017-05-02T22:00:50Z burtons joined #lisp 2017-05-02T22:01:04Z aeth: call 1-800-TOTALLY-NOT-FBI 2017-05-02T22:01:33Z shrdlu68 is reminded of the extortionist in The Godfather 2 2017-05-02T22:04:01Z Tordek quit (Ping timeout: 245 seconds) 2017-05-02T22:05:27Z burtons quit (Ping timeout: 240 seconds) 2017-05-02T22:06:49Z oleo: i'm trying to build my sbcl image with mcclim, but this time i'm on a new system, anyway somehow the font-path tries to find "/usr/share/fonts/DejaVuSans.ttf" and it's in /usr/share/fonts/truetype/ actually.... 2017-05-02T22:06:57Z oleo: such an annoying thing 2017-05-02T22:08:13Z MoALTz quit (Quit: Leaving) 2017-05-02T22:08:29Z Tordek joined #lisp 2017-05-02T22:10:47Z ironChicken: in clsql, when defining slots in my view-class, what options do i have for :type if i want to store date/time values? 2017-05-02T22:11:55Z nydel quit (Remote host closed the connection) 2017-05-02T22:12:03Z nydel joined #lisp 2017-05-02T22:14:26Z Jesin quit (Quit: Leaving) 2017-05-02T22:16:21Z vert2 quit (Ping timeout: 240 seconds) 2017-05-02T22:17:14Z nydel quit (Ping timeout: 260 seconds) 2017-05-02T22:17:30Z nydel joined #lisp 2017-05-02T22:17:46Z mishoo quit (Ping timeout: 245 seconds) 2017-05-02T22:19:23Z kobain quit (Ping timeout: 276 seconds) 2017-05-02T22:20:16Z moei joined #lisp 2017-05-02T22:21:05Z shrdlu68: I'm seriously beginning to think Openssl code is deliberately obfuscated. 2017-05-02T22:21:28Z zaquest quit (Quit: Leaving) 2017-05-02T22:22:00Z zaquest joined #lisp 2017-05-02T22:22:02Z Tordek quit (Ping timeout: 255 seconds) 2017-05-02T22:22:37Z Tordek joined #lisp 2017-05-02T22:23:30Z vert2 joined #lisp 2017-05-02T22:25:07Z prxq quit (Remote host closed the connection) 2017-05-02T22:32:56Z neoncontrails joined #lisp 2017-05-02T22:36:26Z akkad: ironChicken: you can leave it typeless 2017-05-02T22:36:35Z akkad: and it will just work things out on assignment 2017-05-02T22:39:40Z varjag quit (Ping timeout: 240 seconds) 2017-05-02T22:46:33Z LiamH quit (Quit: Leaving.) 2017-05-02T22:50:18Z raynold joined #lisp 2017-05-02T22:52:59Z bigos quit (Remote host closed the connection) 2017-05-02T22:54:48Z burtons joined #lisp 2017-05-02T22:57:12Z mhd quit (Quit: Textual IRC Client: www.textualapp.com) 2017-05-02T22:57:12Z mhd quit (Quit: Textual IRC Client: www.textualapp.com) 2017-05-02T22:58:57Z burtons quit (Ping timeout: 240 seconds) 2017-05-02T23:02:12Z oleo quit (Quit: irc client terminated!) 2017-05-02T23:03:24Z logicmoo is now known as dmiles 2017-05-02T23:03:36Z eazar001 quit (Ping timeout: 260 seconds) 2017-05-02T23:04:11Z neoncontrails quit (Remote host closed the connection) 2017-05-02T23:07:19Z oleo joined #lisp 2017-05-02T23:08:47Z xaotuk quit (Ping timeout: 276 seconds) 2017-05-02T23:12:22Z p9s quit (Remote host closed the connection) 2017-05-02T23:12:38Z p9s joined #lisp 2017-05-02T23:13:55Z Trystam joined #lisp 2017-05-02T23:16:35Z Tristam quit (Ping timeout: 276 seconds) 2017-05-02T23:16:49Z Trystam is now known as Tristam 2017-05-02T23:18:36Z safe joined #lisp 2017-05-02T23:22:26Z jleija joined #lisp 2017-05-02T23:24:03Z sellout- quit (Quit: Leaving.) 2017-05-02T23:25:54Z moei quit (Quit: Leaving...) 2017-05-02T23:27:10Z moei joined #lisp 2017-05-02T23:31:37Z kobain joined #lisp 2017-05-02T23:31:38Z shrdlu68: There was a discussion here about declaring types, and the advice was not to declare types because they impact readability and maintainability, and also make the compiler generate unsafe code because it's difficult to guarantee types (if I got all that correctly). Does this apply to the :type argument in defclass? 2017-05-02T23:32:43Z shrdlu68: And more importantly, did I get anything right? 2017-05-02T23:33:03Z Bike: yeah but less so cos those are harder to use because of how often they're redefined. 2017-05-02T23:34:14Z EvW quit (Ping timeout: 260 seconds) 2017-05-02T23:35:06Z shrdlu68: I see. 2017-05-02T23:36:37Z rumbler31 joined #lisp 2017-05-02T23:36:39Z p9s quit (Read error: Connection reset by peer) 2017-05-02T23:40:20Z burtons joined #lisp 2017-05-02T23:41:17Z rumbler31 quit (Ping timeout: 276 seconds) 2017-05-02T23:44:46Z burtons quit (Ping timeout: 264 seconds) 2017-05-02T23:47:35Z Jesin joined #lisp 2017-05-02T23:48:29Z hexfive joined #lisp 2017-05-02T23:50:53Z _death: I think it's acceptable if the slot types are to be considered stable, but then there's the issue of useful error messages and restarts when there's a type mismatch. 2017-05-02T23:52:12Z akkad: clos slot types definition seems to just be a type mismatch waiting to happen 2017-05-02T23:52:20Z p9s joined #lisp 2017-05-02T23:52:43Z _death: depends on your programming style, I guess 2017-05-02T23:58:53Z Jesin quit (Quit: Leaving)